From ee759bc5ed124fc223bdf4290a5ee966ea832316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Jun 2023 15:14:48 -0700 Subject: [PATCH 001/244] Initial implementation of resistor-color (#7) --- config.json | 9 +++++ .../resistor-color/.docs/instructions.md | 39 +++++++++++++++++++ .../practice/resistor-color/.meta/config.json | 19 +++++++++ .../practice/resistor-color/.meta/example.arr | 34 ++++++++++++++++ .../practice/resistor-color/.meta/tests.toml | 22 +++++++++++ .../resistor-color/resistor-color-test.arr | 28 +++++++++++++ .../resistor-color/resistor-color.arr | 9 +++++ 7 files changed, 160 insertions(+) create mode 100644 exercises/practice/resistor-color/.docs/instructions.md create mode 100644 exercises/practice/resistor-color/.meta/config.json create mode 100644 exercises/practice/resistor-color/.meta/example.arr create mode 100644 exercises/practice/resistor-color/.meta/tests.toml create mode 100644 exercises/practice/resistor-color/resistor-color-test.arr create mode 100644 exercises/practice/resistor-color/resistor-color.arr diff --git a/config.json b/config.json index a73785c..1d5dc03 100644 --- a/config.json +++ b/config.json @@ -46,6 +46,15 @@ "strings" ] }, + { + "slug": "resistor-color", + "name": "Resistor Color", + "uuid": "57bc4302-4c4b-43a7-9abb-2378dd6ef70e", + "practices": [], + "prerequisites": [], + "difficulty": 1, + "topics": null + }, { "slug": "darts", "name": "Darts", diff --git a/exercises/practice/resistor-color/.docs/instructions.md b/exercises/practice/resistor-color/.docs/instructions.md new file mode 100644 index 0000000..646c143 --- /dev/null +++ b/exercises/practice/resistor-color/.docs/instructions.md @@ -0,0 +1,39 @@ +# Instructions + +If you want to build something using a Raspberry Pi, you'll probably use _resistors_. +For this exercise, you need to know two things about them: + +- Each resistor has a resistance value. +- Resistors are small - so small in fact that if you printed the resistance value on them, it would be hard to read. + +To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. +Each band has a position and a numeric value. + +The first 2 bands of a resistor have a simple encoding scheme: each color maps to a single number. + +In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. + +These colors are encoded as follows: + +- Black: 0 +- Brown: 1 +- Red: 2 +- Orange: 3 +- Yellow: 4 +- Green: 5 +- Blue: 6 +- Violet: 7 +- Grey: 8 +- White: 9 + +The goal of this exercise is to create a way: + +- to look up the numerical value associated with a particular color band +- to list the different band colors + +Mnemonics map the colors to the numbers, that, when stored as an array, happen to map to their index in the array: +Better Be Right Or Your Great Big Values Go Wrong. + +More information on the color encoding of resistors can be found in the [Electronic color code Wikipedia article][e-color-code]. + +[e-color-code]: https://en.wikipedia.org/wiki/Electronic_color_code diff --git a/exercises/practice/resistor-color/.meta/config.json b/exercises/practice/resistor-color/.meta/config.json new file mode 100644 index 0000000..3796bb0 --- /dev/null +++ b/exercises/practice/resistor-color/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "resistor-color.arr" + ], + "test": [ + "resistor-color-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Convert a resistor band's color to its numeric representation.", + "source": "Maud de Vries, Erik Schierboom", + "source_url": "https://github.com/exercism/problem-specifications/issues/1458" +} diff --git a/exercises/practice/resistor-color/.meta/example.arr b/exercises/practice/resistor-color/.meta/example.arr new file mode 100644 index 0000000..c99a83e --- /dev/null +++ b/exercises/practice/resistor-color/.meta/example.arr @@ -0,0 +1,34 @@ +provide: color-code, colors end + +RESISTOR-COLORS = [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] + +fun color-code(color): + fun index-of(l, elem): + if not(l.member(elem)): + -1 + else: + cases (List) l: + | empty => 0 + | link(f, r) => if f == elem: 0 else: 1 + index-of(r, elem) end + end + end + end + + index-of(RESISTOR-COLORS, color) +end + + +fun colors(): + RESISTOR-COLORS +end diff --git a/exercises/practice/resistor-color/.meta/tests.toml b/exercises/practice/resistor-color/.meta/tests.toml new file mode 100644 index 0000000..9d4ee97 --- /dev/null +++ b/exercises/practice/resistor-color/.meta/tests.toml @@ -0,0 +1,22 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[49eb31c5-10a8-4180-9f7f-fea632ab87ef] +description = "Color codes -> Black" + +[0a4df94b-92da-4579-a907-65040ce0b3fc] +description = "Color codes -> White" + +[5f81608d-f36f-4190-8084-f45116b6f380] +description = "Color codes -> Orange" + +[581d68fa-f968-4be2-9f9d-880f2fb73cf7] +description = "Colors" diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr new file mode 100644 index 0000000..8266e1d --- /dev/null +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -0,0 +1,28 @@ +include file("resistor-color.arr") + +check "Color codes -> Black": + color-code("black") is 0 +end + +check "Color codes -> White": + color-code("white") is 9 +end + +check "Color codes -> Orange": + color-code("orange") is 3 +end + +check "Colors": + colors() is [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] +end diff --git a/exercises/practice/resistor-color/resistor-color.arr b/exercises/practice/resistor-color/resistor-color.arr new file mode 100644 index 0000000..2c98e34 --- /dev/null +++ b/exercises/practice/resistor-color/resistor-color.arr @@ -0,0 +1,9 @@ +provide: color-code, colors end + +fun color-code(color): + raise("Please implement the color-code function") +end + +fun colors(): + raise("Please implement the colors function") +end From fc58ed6a349a0b3b9c297794f72c27a01dc47789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Jun 2023 15:17:06 -0700 Subject: [PATCH 002/244] Initial commit of the triangle exercise (#11) --- config.json | 9 ++ .../practice/triangle/.docs/instructions.md | 29 +++++++ exercises/practice/triangle/.meta/config.json | 19 +++++ exercises/practice/triangle/.meta/example.arr | 36 ++++++++ exercises/practice/triangle/.meta/tests.toml | 73 ++++++++++++++++ exercises/practice/triangle/triangle-test.arr | 85 +++++++++++++++++++ exercises/practice/triangle/triangle.arr | 13 +++ 7 files changed, 264 insertions(+) create mode 100644 exercises/practice/triangle/.docs/instructions.md create mode 100644 exercises/practice/triangle/.meta/config.json create mode 100644 exercises/practice/triangle/.meta/example.arr create mode 100644 exercises/practice/triangle/.meta/tests.toml create mode 100644 exercises/practice/triangle/triangle-test.arr create mode 100644 exercises/practice/triangle/triangle.arr diff --git a/config.json b/config.json index 1d5dc03..d08b910 100644 --- a/config.json +++ b/config.json @@ -46,6 +46,15 @@ "strings" ] }, + { + "slug": "triangle", + "name": "Triangle", + "uuid": "aab55f24-e31a-4e99-8c6c-12e69de7ce7c", + "practices": [], + "prerequisites": [], + "difficulty": 1, + "topics": null + }, { "slug": "resistor-color", "name": "Resistor Color", diff --git a/exercises/practice/triangle/.docs/instructions.md b/exercises/practice/triangle/.docs/instructions.md new file mode 100644 index 0000000..ac39008 --- /dev/null +++ b/exercises/practice/triangle/.docs/instructions.md @@ -0,0 +1,29 @@ +# Instructions + +Determine if a triangle is equilateral, isosceles, or scalene. + +An _equilateral_ triangle has all three sides the same length. + +An _isosceles_ triangle has at least two sides the same length. +(It is sometimes specified as having exactly two sides the same length, but for the purposes of this exercise we'll say at least two.) + +A _scalene_ triangle has all sides of different lengths. + +## Note + +For a shape to be a triangle at all, all sides have to be of length > 0, and the sum of the lengths of any two sides must be greater than or equal to the length of the third side. + +In equations: + +Let `a`, `b`, and `c` be sides of the triangle. +Then all three of the following expressions must be true: + +```text +a + b ≥ c +b + c ≥ a +a + c ≥ b +``` + +See [Triangle Inequality][triangle-inequality] + +[triangle-inequality]: https://en.wikipedia.org/wiki/Triangle_inequality diff --git a/exercises/practice/triangle/.meta/config.json b/exercises/practice/triangle/.meta/config.json new file mode 100644 index 0000000..200e4c6 --- /dev/null +++ b/exercises/practice/triangle/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "triangle.arr" + ], + "test": [ + "triangle-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Determine if a triangle is equilateral, isosceles, or scalene.", + "source": "The Ruby Koans triangle project, parts 1 & 2", + "source_url": "https://web.archive.org/web/20220831105330/http://rubykoans.com" +} diff --git a/exercises/practice/triangle/.meta/example.arr b/exercises/practice/triangle/.meta/example.arr new file mode 100644 index 0000000..f4fa360 --- /dev/null +++ b/exercises/practice/triangle/.meta/example.arr @@ -0,0 +1,36 @@ +provide: equilateral, isosceles, scalene end + +import lists as L +import sets as S + +fun equilateral(sides): + valid = is_triangle(sides) + ask: + | valid == true then: S.list-to-list-set(sides).size() == 1 + | otherwise: false + end +end + +fun isosceles(sides): + valid = is_triangle(sides) + ask: + | valid == true then: S.list-to-list-set(sides).size() <= 2 + | otherwise: false + end +end + +fun scalene(sides): + valid = is_triangle(sides) + ask: + | valid == true then: S.list-to-list-set(sides).size() == 3 + | otherwise: false + end +end + +fun is_triangle(sides): + sorted = sides.sort() + a = sorted.get(0) + b = sorted.get(1) + c = sorted.get(2) + ((a + b) > c) and L.all(lam(side): not(num-equal(side, 0)) end, sides) +end diff --git a/exercises/practice/triangle/.meta/tests.toml b/exercises/practice/triangle/.meta/tests.toml new file mode 100644 index 0000000..7db0916 --- /dev/null +++ b/exercises/practice/triangle/.meta/tests.toml @@ -0,0 +1,73 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[8b2c43ac-7257-43f9-b552-7631a91988af] +description = "equilateral triangle -> all sides are equal" + +[33eb6f87-0498-4ccf-9573-7f8c3ce92b7b] +description = "equilateral triangle -> any side is unequal" + +[c6585b7d-a8c0-4ad8-8a34-e21d36f7ad87] +description = "equilateral triangle -> no sides are equal" + +[16e8ceb0-eadb-46d1-b892-c50327479251] +description = "equilateral triangle -> all zero sides is not a triangle" + +[3022f537-b8e5-4cc1-8f12-fd775827a00c] +description = "equilateral triangle -> sides may be floats" + +[cbc612dc-d75a-4c1c-87fc-e2d5edd70b71] +description = "isosceles triangle -> last two sides are equal" + +[e388ce93-f25e-4daf-b977-4b7ede992217] +description = "isosceles triangle -> first two sides are equal" + +[d2080b79-4523-4c3f-9d42-2da6e81ab30f] +description = "isosceles triangle -> first and last sides are equal" + +[8d71e185-2bd7-4841-b7e1-71689a5491d8] +description = "isosceles triangle -> equilateral triangles are also isosceles" + +[840ed5f8-366f-43c5-ac69-8f05e6f10bbb] +description = "isosceles triangle -> no sides are equal" + +[2eba0cfb-6c65-4c40-8146-30b608905eae] +description = "isosceles triangle -> first triangle inequality violation" + +[278469cb-ac6b-41f0-81d4-66d9b828f8ac] +description = "isosceles triangle -> second triangle inequality violation" + +[90efb0c7-72bb-4514-b320-3a3892e278ff] +description = "isosceles triangle -> third triangle inequality violation" + +[adb4ee20-532f-43dc-8d31-e9271b7ef2bc] +description = "isosceles triangle -> sides may be floats" + +[e8b5f09c-ec2e-47c1-abec-f35095733afb] +description = "scalene triangle -> no sides are equal" + +[2510001f-b44d-4d18-9872-2303e7977dc1] +description = "scalene triangle -> all sides are equal" + +[c6e15a92-90d9-4fb3-90a2-eef64f8d3e1e] +description = "scalene triangle -> first and second sides are equal" + +[3da23a91-a166-419a-9abf-baf4868fd985] +description = "scalene triangle -> first and third sides are equal" + +[b6a75d98-1fef-4c42-8e9a-9db854ba0a4d] +description = "scalene triangle -> second and third sides are equal" + +[70ad5154-0033-48b7-af2c-b8d739cd9fdc] +description = "scalene triangle -> may not violate triangle inequality" + +[26d9d59d-f8f1-40d3-ad58-ae4d54123d7d] +description = "scalene triangle -> sides may be floats" diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr new file mode 100644 index 0000000..e6e7071 --- /dev/null +++ b/exercises/practice/triangle/triangle-test.arr @@ -0,0 +1,85 @@ +include file("triangle.arr") + +check "equilateral triangle -> all sides are equal": + equilateral([list: 2, 2, 2]) is true +end + +check "equilateral triangle -> any side is unequal": + equilateral([list: 2, 3, 2]) is-not true +end + +check "equilateral triangle -> no sides are equal": + equilateral([list: 5, 4, 6]) is-not true +end + +check "equilateral triangle -> all zero sides is not a triangle": + equilateral([list: 0, 0, 0]) is-not true +end + +check "equilateral triangle -> sides may be floats": + equilateral([list: 0.5, 0.5, 0.5]) is true +end + +check "isosceles triangle -> last two sides are equal": + isosceles([list: 3, 4, 4]) is true +end + +check "isosceles triangle -> first two sides are equal": + isosceles([list: 4, 4, 3]) is true +end + +check "isosceles triangle -> first and last sides are equal": + isosceles([list: 4, 3, 4]) is true +end + +check "isosceles triangle -> equilateral triangles are also isosceles": + isosceles([list: 4, 4, 4]) is true +end + +check "isosceles triangle -> no sides are equal": + isosceles([list: 2, 3, 4]) is-not true +end + +check "isosceles triangle -> first triangle inequality violation": + isosceles([list: 1, 1, 3]) is-not true +end + +check "isosceles triangle -> second triangle inequality violation": + isosceles([list: 1, 3, 1]) is-not true +end + +check "isosceles triangle -> third triangle inequality violation": + isosceles([list: 3, 1, 1]) is-not true +end + +check "isosceles triangle -> sides may be floats": + isosceles([list: 0.5, 0.4, 0.5]) is true +end + +check "scalene triangle -> no sides are equal": + scalene([list: 5, 4, 6]) is true +end + +check "scalene triangle -> all sides are equal": + scalene([list: 4, 4, 4]) is-not true +end + +check "scalene triangle -> first and second sides are equal": + scalene([list: 4, 4, 3]) is-not true +end + +check "scalene triangle -> first and third sides are equal": + scalene([list: 3, 4, 3]) is-not true +end + +check "scalene triangle -> second and third sides are equal": + scalene([list: 4, 3, 3]) is-not true +end + +check "scalene triangle -> may not violate triangle inequality": + scalene([list: 7, 3, 2]) is-not true +end + +check "scalene triangle -> sides may be floats": + scalene([list: 0.5, 0.4, 0.6]) is true +end diff --git a/exercises/practice/triangle/triangle.arr b/exercises/practice/triangle/triangle.arr new file mode 100644 index 0000000..2b14dc0 --- /dev/null +++ b/exercises/practice/triangle/triangle.arr @@ -0,0 +1,13 @@ +provide: equilateral, isosceles, scalene end + +fun equilateral(sides): + raise("Please implement the equilateral function") +end + +fun isosceles(sides): + raise("Please implement the isosceles function") +end + +fun scalene(sides): + raise("Please implement the scalene function") +end From 3fc8d205c2dc253d090a2db4a8bdafefbc054c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Jun 2023 15:18:32 -0700 Subject: [PATCH 003/244] Initial implementation of isogram exercise (#9) --- config.json | 14 +++++ .../practice/isogram/.docs/instructions.md | 14 +++++ exercises/practice/isogram/.meta/config.json | 19 +++++++ exercises/practice/isogram/.meta/example.arr | 9 +++ exercises/practice/isogram/.meta/tests.toml | 52 +++++++++++++++++ exercises/practice/isogram/isogram-test.arr | 57 +++++++++++++++++++ exercises/practice/isogram/isogram.arr | 5 ++ 7 files changed, 170 insertions(+) create mode 100644 exercises/practice/isogram/.docs/instructions.md create mode 100644 exercises/practice/isogram/.meta/config.json create mode 100644 exercises/practice/isogram/.meta/example.arr create mode 100644 exercises/practice/isogram/.meta/tests.toml create mode 100644 exercises/practice/isogram/isogram-test.arr create mode 100644 exercises/practice/isogram/isogram.arr diff --git a/config.json b/config.json index d08b910..a0bc603 100644 --- a/config.json +++ b/config.json @@ -46,6 +46,20 @@ "strings" ] }, + { + "slug": "isogram", + "name": "Isogram", + "uuid": "dff46c06-d8be-48e0-8158-4c6c484a3cbc", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "topics": [ + "algorithms", + "conditionals", + "loops", + "strings" + ] + }, { "slug": "triangle", "name": "Triangle", diff --git a/exercises/practice/isogram/.docs/instructions.md b/exercises/practice/isogram/.docs/instructions.md new file mode 100644 index 0000000..5e48844 --- /dev/null +++ b/exercises/practice/isogram/.docs/instructions.md @@ -0,0 +1,14 @@ +# Instructions + +Determine if a word or phrase is an isogram. + +An isogram (also known as a "non-pattern word") is a word or phrase without a repeating letter, however spaces and hyphens are allowed to appear multiple times. + +Examples of isograms: + +- lumberjacks +- background +- downstream +- six-year-old + +The word *isograms*, however, is not an isogram, because the s repeats. diff --git a/exercises/practice/isogram/.meta/config.json b/exercises/practice/isogram/.meta/config.json new file mode 100644 index 0000000..a3f477e --- /dev/null +++ b/exercises/practice/isogram/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "isogram.arr" + ], + "test": [ + "isogram-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Determine if a word or phrase is an isogram.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Isogram" +} diff --git a/exercises/practice/isogram/.meta/example.arr b/exercises/practice/isogram/.meta/example.arr new file mode 100644 index 0000000..6c25d23 --- /dev/null +++ b/exercises/practice/isogram/.meta/example.arr @@ -0,0 +1,9 @@ +provide: is-isogram end + +import sets as S + +fun is-isogram(phrase): + lowered = string-to-lower(phrase) + chars = string-to-code-points(lowered).filter(lam(c): (c >= 61) and (c <= 122) end) + chars.length() == S.list-to-list-set(chars).size() +end diff --git a/exercises/practice/isogram/.meta/tests.toml b/exercises/practice/isogram/.meta/tests.toml new file mode 100644 index 0000000..ba04c66 --- /dev/null +++ b/exercises/practice/isogram/.meta/tests.toml @@ -0,0 +1,52 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[a0e97d2d-669e-47c7-8134-518a1e2c4555] +description = "empty string" + +[9a001b50-f194-4143-bc29-2af5ec1ef652] +description = "isogram with only lower case characters" + +[8ddb0ca3-276e-4f8b-89da-d95d5bae78a4] +description = "word with one duplicated character" + +[6450b333-cbc2-4b24-a723-0b459b34fe18] +description = "word with one duplicated character from the end of the alphabet" + +[a15ff557-dd04-4764-99e7-02cc1a385863] +description = "longest reported english isogram" + +[f1a7f6c7-a42f-4915-91d7-35b2ea11c92e] +description = "word with duplicated character in mixed case" + +[14a4f3c1-3b47-4695-b645-53d328298942] +description = "word with duplicated character in mixed case, lowercase first" + +[423b850c-7090-4a8a-b057-97f1cadd7c42] +description = "hypothetical isogrammic word with hyphen" + +[93dbeaa0-3c5a-45c2-8b25-428b8eacd4f2] +description = "hypothetical word with duplicated character following hyphen" + +[36b30e5c-173f-49c6-a515-93a3e825553f] +description = "isogram with duplicated hyphen" + +[cdabafa0-c9f4-4c1f-b142-689c6ee17d93] +description = "made-up name that is an isogram" + +[5fc61048-d74e-48fd-bc34-abfc21552d4d] +description = "duplicated character in the middle" + +[310ac53d-8932-47bc-bbb4-b2b94f25a83e] +description = "same first and last characters" + +[0d0b8644-0a1e-4a31-a432-2b3ee270d847] +description = "word with duplicated character and with two hyphens" diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr new file mode 100644 index 0000000..b431a27 --- /dev/null +++ b/exercises/practice/isogram/isogram-test.arr @@ -0,0 +1,57 @@ +include file("isogram.arr") + +check "empty string": + is-isogram("") is true +end + +check "isogram with only lower case characters": + is-isogram("isogram") is true +end + +check "word with one duplicated character": + is-isogram("eleven") is-not true +end + +check "word with one duplicated character from the end of the alphabet": + is-isogram("zzyzx") is-not true +end + +check "longest reported english isogram": + is-isogram("subdermatoglyphic") is true +end + +check "word with duplicated character in mixed case": + is-isogram("Alphabet") is-not true +end + +check "word with duplicated character in mixed case, lowercase first": + is-isogram("alphAbet") is-not true +end + +check "hypothetical isogrammic word with hyphen": + is-isogram("thumbscrew-japingly") is true +end + +check "hypothetical word with duplicated character following hyphen": + is-isogram("thumbscrew-jappingly") is-not true +end + +check "isogram with duplicated hyphen": + is-isogram("six-year-old") is true +end + +check "made-up name that is an isogram": + is-isogram("Emily Jung Schwartzkopf") is true +end + +check "duplicated character in the middle": + is-isogram("accentor") is-not true +end + +check "same first and last characters": + is-isogram("angola") is-not true +end + +check "word with duplicated character and with two hyphens": + is-isogram("up-to-date") is-not true +end diff --git a/exercises/practice/isogram/isogram.arr b/exercises/practice/isogram/isogram.arr new file mode 100644 index 0000000..0c56df5 --- /dev/null +++ b/exercises/practice/isogram/isogram.arr @@ -0,0 +1,5 @@ +provide: is-isogram end + +fun is-isogram(phrase): + raise("Please implement the is-isogram function") +end From a18a9c825118e25b91e2adf614c1676dd995f12f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Jun 2023 15:20:18 -0700 Subject: [PATCH 004/244] Initial implementation of leap exercise (#10) --- config.json | 9 +++++ exercises/practice/leap/.docs/instructions.md | 22 +++++++++++ exercises/practice/leap/.meta/config.json | 19 ++++++++++ exercises/practice/leap/.meta/example.arr | 9 +++++ exercises/practice/leap/.meta/tests.toml | 37 +++++++++++++++++++ exercises/practice/leap/leap-test.arr | 37 +++++++++++++++++++ exercises/practice/leap/leap.arr | 5 +++ 7 files changed, 138 insertions(+) create mode 100644 exercises/practice/leap/.docs/instructions.md create mode 100644 exercises/practice/leap/.meta/config.json create mode 100644 exercises/practice/leap/.meta/example.arr create mode 100644 exercises/practice/leap/.meta/tests.toml create mode 100644 exercises/practice/leap/leap-test.arr create mode 100644 exercises/practice/leap/leap.arr diff --git a/config.json b/config.json index a0bc603..5d21307 100644 --- a/config.json +++ b/config.json @@ -78,6 +78,15 @@ "difficulty": 1, "topics": null }, + { + "slug": "leap", + "name": "Leap", + "uuid": "c67175ca-9706-4aec-a45b-040a23ef25c7", + "practices": [], + "prerequisites": [], + "difficulty": 1, + "topics": null + }, { "slug": "darts", "name": "Darts", diff --git a/exercises/practice/leap/.docs/instructions.md b/exercises/practice/leap/.docs/instructions.md new file mode 100644 index 0000000..a83826b --- /dev/null +++ b/exercises/practice/leap/.docs/instructions.md @@ -0,0 +1,22 @@ +# Instructions + +Given a year, report if it is a leap year. + +The tricky thing here is that a leap year in the Gregorian calendar occurs: + +```text +on every year that is evenly divisible by 4 + except every year that is evenly divisible by 100 + unless the year is also evenly divisible by 400 +``` + +For example, 1997 is not a leap year, but 1996 is. +1900 is not a leap year, but 2000 is. + +## Notes + +Though our exercise adopts some very simple rules, there is more to learn! + +For a delightful, four minute explanation of the whole leap year phenomenon, go watch [this youtube video][video]. + +[video]: https://www.youtube.com/watch?v=xX96xng7sAE diff --git a/exercises/practice/leap/.meta/config.json b/exercises/practice/leap/.meta/config.json new file mode 100644 index 0000000..72141b2 --- /dev/null +++ b/exercises/practice/leap/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "leap.arr" + ], + "test": [ + "leap-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a year, report if it is a leap year.", + "source": "CodeRanch Cattle Drive, Assignment 3", + "source_url": "https://coderanch.com/t/718816/Leap" +} diff --git a/exercises/practice/leap/.meta/example.arr b/exercises/practice/leap/.meta/example.arr new file mode 100644 index 0000000..6b588cc --- /dev/null +++ b/exercises/practice/leap/.meta/example.arr @@ -0,0 +1,9 @@ +provide: leap end + +fun leap(year): + fun year-is-divisible-by(divisor): + num-equal(num-modulo(year, divisor), 0) + end + + year-is-divisible-by(4) and (not(year-is-divisible-by(100)) or year-is-divisible-by(400)) +end diff --git a/exercises/practice/leap/.meta/tests.toml b/exercises/practice/leap/.meta/tests.toml new file mode 100644 index 0000000..ce6ba32 --- /dev/null +++ b/exercises/practice/leap/.meta/tests.toml @@ -0,0 +1,37 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[6466b30d-519c-438e-935d-388224ab5223] +description = "year not divisible by 4 in common year" + +[ac227e82-ee82-4a09-9eb6-4f84331ffdb0] +description = "year divisible by 2, not divisible by 4 in common year" + +[4fe9b84c-8e65-489e-970b-856d60b8b78e] +description = "year divisible by 4, not divisible by 100 in leap year" + +[7fc6aed7-e63c-48f5-ae05-5fe182f60a5d] +description = "year divisible by 4 and 5 is still a leap year" + +[78a7848f-9667-4192-ae53-87b30c9a02dd] +description = "year divisible by 100, not divisible by 400 in common year" + +[9d70f938-537c-40a6-ba19-f50739ce8bac] +description = "year divisible by 100 but not by 3 is still not a leap year" + +[42ee56ad-d3e6-48f1-8e3f-c84078d916fc] +description = "year divisible by 400 is leap year" + +[57902c77-6fe9-40de-8302-587b5c27121e] +description = "year divisible by 400 but not by 125 is still a leap year" + +[c30331f6-f9f6-4881-ad38-8ca8c12520c1] +description = "year divisible by 200, not divisible by 400 in common year" diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr new file mode 100644 index 0000000..fdd2871 --- /dev/null +++ b/exercises/practice/leap/leap-test.arr @@ -0,0 +1,37 @@ +include file("leap.arr") + +check "year not divisible by 4 in common year": + leap(2015) is-not true +end + +check "year divisible by 2, not divisible by 4 in common year": + leap(1970) is-not true +end + +check "year divisible by 4, not divisible by 100 in leap year": + leap(1996) is true +end + +check "year divisible by 4 and 5 is still a leap year": + leap(1960) is true +end + +check "year divisible by 100, not divisible by 400 in common year": + leap(2100) is-not true +end + +check "year divisible by 100 but not by 3 is still not a leap year": + leap(1900) is-not true +end + +check "year divisible by 400 is leap year": + leap(2000) is true +end + +check "year divisible by 400 but not by 125 is still a leap year": + leap(2400) is true +end + +check "year divisible by 200, not divisible by 400 in common year": + leap(1800) is-not true +end diff --git a/exercises/practice/leap/leap.arr b/exercises/practice/leap/leap.arr new file mode 100644 index 0000000..96d3482 --- /dev/null +++ b/exercises/practice/leap/leap.arr @@ -0,0 +1,5 @@ +provide: leap end + +fun leap(year): + raise("Please implement this function") +end From a50d5ead2efe2d480eb41dbfe15b07176e0248ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Jun 2023 15:21:27 -0700 Subject: [PATCH 005/244] Initial implementation of add-resistor-color-duo exercise (#12) --- config.json | 9 +++++ .../resistor-color-duo/.docs/instructions.md | 33 +++++++++++++++++++ .../resistor-color-duo/.meta/config.json | 19 +++++++++++ .../resistor-color-duo/.meta/example.arr | 29 ++++++++++++++++ .../resistor-color-duo/.meta/tests.toml | 31 +++++++++++++++++ .../resistor-color-duo-test.arr | 29 ++++++++++++++++ .../resistor-color-duo/resistor-color-duo.arr | 5 +++ 7 files changed, 155 insertions(+) create mode 100644 exercises/practice/resistor-color-duo/.docs/instructions.md create mode 100644 exercises/practice/resistor-color-duo/.meta/config.json create mode 100644 exercises/practice/resistor-color-duo/.meta/example.arr create mode 100644 exercises/practice/resistor-color-duo/.meta/tests.toml create mode 100644 exercises/practice/resistor-color-duo/resistor-color-duo-test.arr create mode 100644 exercises/practice/resistor-color-duo/resistor-color-duo.arr diff --git a/config.json b/config.json index 5d21307..479110f 100644 --- a/config.json +++ b/config.json @@ -87,6 +87,15 @@ "difficulty": 1, "topics": null }, + { + "slug": "resistor-color-duo", + "name": "Resistor Color Duo", + "uuid": "3f897d66-6f49-49ca-a6ab-a168d6ef5e68", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "topics": null + }, { "slug": "darts", "name": "Darts", diff --git a/exercises/practice/resistor-color-duo/.docs/instructions.md b/exercises/practice/resistor-color-duo/.docs/instructions.md new file mode 100644 index 0000000..bdcd549 --- /dev/null +++ b/exercises/practice/resistor-color-duo/.docs/instructions.md @@ -0,0 +1,33 @@ +# Instructions + +If you want to build something using a Raspberry Pi, you'll probably use _resistors_. +For this exercise, you need to know two things about them: + +- Each resistor has a resistance value. +- Resistors are small - so small in fact that if you printed the resistance value on them, it would be hard to read. + +To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. +Each band has a position and a numeric value. + +The first 2 bands of a resistor have a simple encoding scheme: each color maps to a single number. +For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15. + +In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. +The program will take color names as input and output a two digit number, even if the input is more than two colors! + +The band colors are encoded as follows: + +- Black: 0 +- Brown: 1 +- Red: 2 +- Orange: 3 +- Yellow: 4 +- Green: 5 +- Blue: 6 +- Violet: 7 +- Grey: 8 +- White: 9 + +From the example above: +brown-green should return 15 +brown-green-violet should return 15 too, ignoring the third color. diff --git a/exercises/practice/resistor-color-duo/.meta/config.json b/exercises/practice/resistor-color-duo/.meta/config.json new file mode 100644 index 0000000..9d691b2 --- /dev/null +++ b/exercises/practice/resistor-color-duo/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "resistor-color-duo.arr" + ], + "test": [ + "resistor-color-duo-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Convert color codes, as used on resistors, to a numeric value.", + "source": "Maud de Vries, Erik Schierboom", + "source_url": "https://github.com/exercism/problem-specifications/issues/1464" +} diff --git a/exercises/practice/resistor-color-duo/.meta/example.arr b/exercises/practice/resistor-color-duo/.meta/example.arr new file mode 100644 index 0000000..d64881d --- /dev/null +++ b/exercises/practice/resistor-color-duo/.meta/example.arr @@ -0,0 +1,29 @@ +provide: color-code end + +RESISTOR-COLORS = [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] + +fun color-code(colors): + fun index-of(l, elem): + if not(l.member(elem)): + -1 + else: + cases (List) l: + | empty => 0 + | link(f, r) => if f == elem: 0 else: 1 + index-of(r, elem) end + end + end + end + + (index-of(RESISTOR-COLORS, colors.get(0)) * 10) + index-of(RESISTOR-COLORS, colors.get(1)) +end diff --git a/exercises/practice/resistor-color-duo/.meta/tests.toml b/exercises/practice/resistor-color-duo/.meta/tests.toml new file mode 100644 index 0000000..9036fc7 --- /dev/null +++ b/exercises/practice/resistor-color-duo/.meta/tests.toml @@ -0,0 +1,31 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[ce11995a-5b93-4950-a5e9-93423693b2fc] +description = "Brown and black" + +[7bf82f7a-af23-48ba-a97d-38d59406a920] +description = "Blue and grey" + +[f1886361-fdfd-4693-acf8-46726fe24e0c] +description = "Yellow and violet" + +[b7a6cbd2-ae3c-470a-93eb-56670b305640] +description = "White and red" + +[77a8293d-2a83-4016-b1af-991acc12b9fe] +description = "Orange and orange" + +[0c4fb44f-db7c-4d03-afa8-054350f156a8] +description = "Ignore additional colors" + +[4a8ceec5-0ab4-4904-88a4-daf953a5e818] +description = "Black and brown, one-digit" diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr new file mode 100644 index 0000000..3b8a2c2 --- /dev/null +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -0,0 +1,29 @@ +include file("resistor-color-duo.arr") + +check "Brown and black": + color-code([list: "brown", "black"]) is 10 +end + +check "Blue and grey": + color-code([list: "blue", "grey"]) is 68 +end + +check "Yellow and violet": + color-code([list: "yellow", "violet"]) is 47 +end + +check "White and red": + color-code([list: "white", "red"]) is 92 +end + +check "Orange and orange": + color-code([list: "orange", "orange"]) is 33 +end + +check "Ignore additional colors": + color-code([list: "green", "brown", "orange"]) is 51 +end + +check "Black and brown, one-digit": + color-code([list: "black", "brown"]) is 1 +end diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo.arr b/exercises/practice/resistor-color-duo/resistor-color-duo.arr new file mode 100644 index 0000000..b55b865 --- /dev/null +++ b/exercises/practice/resistor-color-duo/resistor-color-duo.arr @@ -0,0 +1,5 @@ +provide: color-code end + +fun color-code(colors): + raise("Please implement the color-code function") +end From 18967cd7adc6247eeae991623c8861df24ef9953 Mon Sep 17 00:00:00 2001 From: Andras Nagy Date: Tue, 27 Jun 2023 11:17:22 -0700 Subject: [PATCH 006/244] Update config.json to avoid configlet lint warnings --- config.json | 51 +++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/config.json b/config.json index 479110f..69a09b9 100644 --- a/config.json +++ b/config.json @@ -8,7 +8,7 @@ "representer": false, "analyzer": false }, - "blurb": "A programming language explicitly designed to introduce students to computer science, Pyret plays a central role in 'A Data-Centric Introduction to Computing', an introductory college textbook, and is currently being taught in U.S. high schools", + "blurb": "Designed in part to ease students into computer science fundamentals, Pyret plays a central role in 'A Data-Centric Introduction to Computing', an introductory college textbook, and is currently being taught in U.S. high schools.", "version": 3, "online_editor": { "indent_style": "space", @@ -41,10 +41,7 @@ "uuid": "21cb7132-eb7a-41cc-b100-4655288c3c98", "practices": [], "prerequisites": [], - "difficulty": 1, - "topics": [ - "strings" - ] + "difficulty": 1 }, { "slug": "isogram", @@ -53,12 +50,7 @@ "practices": [], "prerequisites": [], "difficulty": 3, - "topics": [ - "algorithms", - "conditionals", - "loops", - "strings" - ] + "status": "beta" }, { "slug": "triangle", @@ -66,8 +58,8 @@ "uuid": "aab55f24-e31a-4e99-8c6c-12e69de7ce7c", "practices": [], "prerequisites": [], - "difficulty": 1, - "topics": null + "difficulty": 3, + "status": "beta" }, { "slug": "resistor-color", @@ -75,8 +67,8 @@ "uuid": "57bc4302-4c4b-43a7-9abb-2378dd6ef70e", "practices": [], "prerequisites": [], - "difficulty": 1, - "topics": null + "difficulty": 2, + "status": "beta" }, { "slug": "leap", @@ -84,8 +76,8 @@ "uuid": "c67175ca-9706-4aec-a45b-040a23ef25c7", "practices": [], "prerequisites": [], - "difficulty": 1, - "topics": null + "difficulty": 3, + "status": "beta" }, { "slug": "resistor-color-duo", @@ -94,7 +86,7 @@ "practices": [], "prerequisites": [], "difficulty": 3, - "topics": null + "status": "beta" }, { "slug": "darts", @@ -103,7 +95,7 @@ "practices": [], "prerequisites": [], "difficulty": 1, - "topics": null + "status": "beta" } ] }, @@ -112,16 +104,31 @@ { "title": "Simplified syntax", "content": "As a teaching language, Pyret prioritizes readability using clean and straight-forward syntax", - "icon": "readable" + "icon": "easy" + }, + { + "title": "Runs almost everywhere", + "content": "Pyret is available wherever npm can be installed or online at https://code.pyret.org/editor", + "icon": "cross-platform" }, { "title": "Pedagogical design", - "content": "Pyret was explicitly designed for a gradual learning curve, focusing on general programming practices", + "content": "Pyret was designed to have a gradual learning curve, focusing on general programming practices", "icon": "easy" }, + { + "title": "Lightweight", + "content": "Entire toolchain is about 100 MB download", + "icon": "small" + }, + { + "title": "Tooling", + "content": "Pyret provides a built-in test runner, making testing a natural part of the development process", + "icon": "tooling" + }, { "title": "Innovative", - "content": "Pyret is an actively-developed testbed for pedagogy in high school and college computer science.", + "content": "Pyret is an actively-developed testbed for advancements in teaching computer science fundamentals", "icon": "evolving" } ], From c9e5c957eef6e0c802219e7595966ed84a40a5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 27 Jun 2023 12:11:36 -0700 Subject: [PATCH 007/244] Add collatz conjecture exercise (#17) Initial implementation of the Collatz Conjecture exercise --- config.json | 9 +++++ .../collatz-conjecture/.docs/instructions.md | 29 ++++++++++++++ .../collatz-conjecture/.meta/config.json | 19 ++++++++++ .../collatz-conjecture/.meta/example.arr | 21 ++++++++++ .../collatz-conjecture/.meta/tests.toml | 38 +++++++++++++++++++ .../collatz-conjecture-test.arr | 25 ++++++++++++ .../collatz-conjecture/collatz-conjecture.arr | 5 +++ 7 files changed, 146 insertions(+) create mode 100644 exercises/practice/collatz-conjecture/.docs/instructions.md create mode 100644 exercises/practice/collatz-conjecture/.meta/config.json create mode 100644 exercises/practice/collatz-conjecture/.meta/example.arr create mode 100644 exercises/practice/collatz-conjecture/.meta/tests.toml create mode 100644 exercises/practice/collatz-conjecture/collatz-conjecture-test.arr create mode 100644 exercises/practice/collatz-conjecture/collatz-conjecture.arr diff --git a/config.json b/config.json index 69a09b9..9651b1b 100644 --- a/config.json +++ b/config.json @@ -79,6 +79,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "collatz-conjecture", + "name": "Collatz Conjecture", + "uuid": "00a0a185-0b05-4f83-a840-80070635255a", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "resistor-color-duo", "name": "Resistor Color Duo", diff --git a/exercises/practice/collatz-conjecture/.docs/instructions.md b/exercises/practice/collatz-conjecture/.docs/instructions.md new file mode 100644 index 0000000..ba06048 --- /dev/null +++ b/exercises/practice/collatz-conjecture/.docs/instructions.md @@ -0,0 +1,29 @@ +# Instructions + +The Collatz Conjecture or 3x+1 problem can be summarized as follows: + +Take any positive integer n. +If n is even, divide n by 2 to get n / 2. +If n is odd, multiply n by 3 and add 1 to get 3n + 1. +Repeat the process indefinitely. +The conjecture states that no matter which number you start with, you will always reach 1 eventually. + +Given a number n, return the number of steps required to reach 1. + +## Examples + +Starting with n = 12, the steps would be as follows: + +0. 12 +1. 6 +2. 3 +3. 10 +4. 5 +5. 16 +6. 8 +7. 4 +8. 2 +9. 1 + +Resulting in 9 steps. +So for input n = 12, the return value would be 9. diff --git a/exercises/practice/collatz-conjecture/.meta/config.json b/exercises/practice/collatz-conjecture/.meta/config.json new file mode 100644 index 0000000..5fd176f --- /dev/null +++ b/exercises/practice/collatz-conjecture/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "collatz-conjecture.arr" + ], + "test": [ + "collatz-conjecture-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Calculate the number of steps to reach 1 using the Collatz conjecture.", + "source": "An unsolved problem in mathematics named after mathematician Lothar Collatz", + "source_url": "https://en.wikipedia.org/wiki/3x_%2B_1_problem" +} diff --git a/exercises/practice/collatz-conjecture/.meta/example.arr b/exercises/practice/collatz-conjecture/.meta/example.arr new file mode 100644 index 0000000..b6c237d --- /dev/null +++ b/exercises/practice/collatz-conjecture/.meta/example.arr @@ -0,0 +1,21 @@ +provide: steps end + +fun steps(n): + if n > 0: + steps-recurse(n, 0) + else: + raise("Only positive numbers are allowed") + end +end + +fun is-even(num): + num-modulo(num, 2) == 0 +end + +fun steps-recurse(current, acc): + ask: + | current == 1 then: acc + | is-even(current) then: steps-recurse(current / 2, acc + 1) + | otherwise: steps-recurse((3 * current) + 1, acc + 1) + end +end diff --git a/exercises/practice/collatz-conjecture/.meta/tests.toml b/exercises/practice/collatz-conjecture/.meta/tests.toml new file mode 100644 index 0000000..cc34e16 --- /dev/null +++ b/exercises/practice/collatz-conjecture/.meta/tests.toml @@ -0,0 +1,38 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[540a3d51-e7a6-47a5-92a3-4ad1838f0bfd] +description = "zero steps for one" + +[3d76a0a6-ea84-444a-821a-f7857c2c1859] +description = "divide if even" + +[754dea81-123c-429e-b8bc-db20b05a87b9] +description = "even and odd steps" + +[ecfd0210-6f85-44f6-8280-f65534892ff6] +description = "large number of even and odd steps" + +[7d4750e6-def9-4b86-aec7-9f7eb44f95a3] +description = "zero is an error" +include = false + +[2187673d-77d6-4543-975e-66df6c50e2da] +description = "zero is an error" +reimplements = "7d4750e6-def9-4b86-aec7-9f7eb44f95a3" + +[c6c795bf-a288-45e9-86a1-841359ad426d] +description = "negative value is an error" +include = false + +[ec11f479-56bc-47fd-a434-bcd7a31a7a2e] +description = "negative value is an error" +reimplements = "c6c795bf-a288-45e9-86a1-841359ad426d" diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr new file mode 100644 index 0000000..48de159 --- /dev/null +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -0,0 +1,25 @@ +include file("collatz-conjecture.arr") + +check "zero steps for one": + steps(1) is 0 +end + +check "divide if even": + steps(16) is 4 +end + +check "even and odd steps": + steps(12) is 9 +end + +check "large number of even and odd steps": + steps(1000000) is 152 +end + +check "zero is an error": + steps(0) raises "Only positive numbers are allowed" +end + +check "negative value is an error": + steps(-15) raises "Only positive numbers are allowed" +end diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture.arr b/exercises/practice/collatz-conjecture/collatz-conjecture.arr new file mode 100644 index 0000000..d399a43 --- /dev/null +++ b/exercises/practice/collatz-conjecture/collatz-conjecture.arr @@ -0,0 +1,5 @@ +provide: steps end + +fun steps(n): + raise("Please implement the steps function") +end From 6dd66561f99e1a642b79ed1e289271a1d9e98f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 27 Jun 2023 20:44:49 -0700 Subject: [PATCH 008/244] Initial implementation of protein translation exercise (#18) --- config.json | 9 ++ .../protein-translation/.docs/instructions.md | 45 +++++++ .../protein-translation/.meta/config.json | 18 +++ .../protein-translation/.meta/example.arr | 53 ++++++++ .../protein-translation/.meta/tests.toml | 100 +++++++++++++++ .../protein-translation-test.arr | 121 ++++++++++++++++++ .../protein-translation.arr | 5 + 7 files changed, 351 insertions(+) create mode 100644 exercises/practice/protein-translation/.docs/instructions.md create mode 100644 exercises/practice/protein-translation/.meta/config.json create mode 100644 exercises/practice/protein-translation/.meta/example.arr create mode 100644 exercises/practice/protein-translation/.meta/tests.toml create mode 100644 exercises/practice/protein-translation/protein-translation-test.arr create mode 100644 exercises/practice/protein-translation/protein-translation.arr diff --git a/config.json b/config.json index 9651b1b..26671ab 100644 --- a/config.json +++ b/config.json @@ -97,6 +97,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "protein-translation", + "name": "Protein Translation", + "uuid": "29563d5a-a703-43c8-953e-3fde7daae3b0", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "topics": null + }, { "slug": "darts", "name": "Darts", diff --git a/exercises/practice/protein-translation/.docs/instructions.md b/exercises/practice/protein-translation/.docs/instructions.md new file mode 100644 index 0000000..d9b9054 --- /dev/null +++ b/exercises/practice/protein-translation/.docs/instructions.md @@ -0,0 +1,45 @@ +# Instructions + +Translate RNA sequences into proteins. + +RNA can be broken into three nucleotide sequences called codons, and then translated to a polypeptide like so: + +RNA: `"AUGUUUUCU"` => translates to + +Codons: `"AUG", "UUU", "UCU"` +=> which become a polypeptide with the following sequence => + +Protein: `"Methionine", "Phenylalanine", "Serine"` + +There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. +If it works for one codon, the program should work for all of them. +However, feel free to expand the list in the test suite to include them all. + +There are also three terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated. + +All subsequent codons after are ignored, like this: + +RNA: `"AUGUUUUCUUAAAUG"` => + +Codons: `"AUG", "UUU", "UCU", "UAA", "AUG"` => + +Protein: `"Methionine", "Phenylalanine", "Serine"` + +Note the stop codon `"UAA"` terminates the translation and the final methionine is not translated into the protein sequence. + +Below are the codons and resulting Amino Acids needed for the exercise. + +Codon | Protein +:--- | :--- +AUG | Methionine +UUU, UUC | Phenylalanine +UUA, UUG | Leucine +UCU, UCC, UCA, UCG | Serine +UAU, UAC | Tyrosine +UGU, UGC | Cysteine +UGG | Tryptophan +UAA, UAG, UGA | STOP + +Learn more about [protein translation on Wikipedia][protein-translation]. + +[protein-translation]: https://en.wikipedia.org/wiki/Translation_(biology) diff --git a/exercises/practice/protein-translation/.meta/config.json b/exercises/practice/protein-translation/.meta/config.json new file mode 100644 index 0000000..34bb7fd --- /dev/null +++ b/exercises/practice/protein-translation/.meta/config.json @@ -0,0 +1,18 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "protein-translation.arr" + ], + "test": [ + "protein-translation-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Translate RNA sequences into proteins.", + "source": "Tyler Long" +} diff --git a/exercises/practice/protein-translation/.meta/example.arr b/exercises/practice/protein-translation/.meta/example.arr new file mode 100644 index 0000000..3708298 --- /dev/null +++ b/exercises/practice/protein-translation/.meta/example.arr @@ -0,0 +1,53 @@ +provide: proteins end + +include string-dict +import lists as L + +codon_mappings = [mutable-string-dict: + "AUG", "Methionine", + "UUU", "Phenylalanine", + "UUC", "Phenylalanine", + "UUA", "Leucine", + "UUG", "Leucine", + "UCU", "Serine", + "UCC", "Serine", + "UCA", "Serine", + "UCG", "Serine", + "UAU", "Tyrosine", + "UAC", "Tyrosine", + "UGU", "Cysteine", + "UGC", "Cysteine", + "UGG", "Tryptophan", + "UAA", "STOP", + "UAG", "STOP", + "UGA", "STOP"] + +fun proteins(strand): + proteins-recursive(string-explode(strand), [list: ]) +end + +fun proteins-recursive(current, acc): + ask: + | current.length() == 0 then: acc + | current.length() < 3 then: raise("Invalid codon") + | otherwise: + block: + codon = current.take(3).join-str("") + protein = translate-codon(codon) + ask: + | protein == "STOP" then: acc + | otherwise: + rest = split-at(3, current).suffix + L.append([list: protein], proteins-recursive(rest, acc)) + end + end + end +end + + +fun translate-codon(codon): + cases(Option) codon_mappings.get-now(codon): + | some(a) => a + | none => raise("Invalid codon") + end +end diff --git a/exercises/practice/protein-translation/.meta/tests.toml b/exercises/practice/protein-translation/.meta/tests.toml new file mode 100644 index 0000000..5fb1890 --- /dev/null +++ b/exercises/practice/protein-translation/.meta/tests.toml @@ -0,0 +1,100 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[2c44f7bf-ba20-43f7-a3bf-f2219c0c3f98] +description = "Empty RNA sequence results in no proteins" + +[96d3d44f-34a2-4db4-84cd-fff523e069be] +description = "Methionine RNA sequence" + +[1b4c56d8-d69f-44eb-be0e-7b17546143d9] +description = "Phenylalanine RNA sequence 1" + +[81b53646-bd57-4732-b2cb-6b1880e36d11] +description = "Phenylalanine RNA sequence 2" + +[42f69d4f-19d2-4d2c-a8b0-f0ae9ee1b6b4] +description = "Leucine RNA sequence 1" + +[ac5edadd-08ed-40a3-b2b9-d82bb50424c4] +description = "Leucine RNA sequence 2" + +[8bc36e22-f984-44c3-9f6b-ee5d4e73f120] +description = "Serine RNA sequence 1" + +[5c3fa5da-4268-44e5-9f4b-f016ccf90131] +description = "Serine RNA sequence 2" + +[00579891-b594-42b4-96dc-7ff8bf519606] +description = "Serine RNA sequence 3" + +[08c61c3b-fa34-4950-8c4a-133945570ef6] +description = "Serine RNA sequence 4" + +[54e1e7d8-63c0-456d-91d2-062c72f8eef5] +description = "Tyrosine RNA sequence 1" + +[47bcfba2-9d72-46ad-bbce-22f7666b7eb1] +description = "Tyrosine RNA sequence 2" + +[3a691829-fe72-43a7-8c8e-1bd083163f72] +description = "Cysteine RNA sequence 1" + +[1b6f8a26-ca2f-43b8-8262-3ee446021767] +description = "Cysteine RNA sequence 2" + +[1e91c1eb-02c0-48a0-9e35-168ad0cb5f39] +description = "Tryptophan RNA sequence" + +[e547af0b-aeab-49c7-9f13-801773a73557] +description = "STOP codon RNA sequence 1" + +[67640947-ff02-4f23-a2ef-816f8a2ba72e] +description = "STOP codon RNA sequence 2" + +[9c2ad527-ebc9-4ace-808b-2b6447cb54cb] +description = "STOP codon RNA sequence 3" + +[f4d9d8ee-00a8-47bf-a1e3-1641d4428e54] +description = "Sequence of two protein codons translates into proteins" + +[dd22eef3-b4f1-4ad6-bb0b-27093c090a9d] +description = "Sequence of two different protein codons translates into proteins" + +[d0f295df-fb70-425c-946c-ec2ec185388e] +description = "Translate RNA strand into correct protein list" + +[e30e8505-97ec-4e5f-a73e-5726a1faa1f4] +description = "Translation stops if STOP codon at beginning of sequence" + +[5358a20b-6f4c-4893-bce4-f929001710f3] +description = "Translation stops if STOP codon at end of two-codon sequence" + +[ba16703a-1a55-482f-bb07-b21eef5093a3] +description = "Translation stops if STOP codon at end of three-codon sequence" + +[4089bb5a-d5b4-4e71-b79e-b8d1f14a2911] +description = "Translation stops if STOP codon in middle of three-codon sequence" + +[2c2a2a60-401f-4a80-b977-e0715b23b93d] +description = "Translation stops if STOP codon in middle of six-codon sequence" + +[1e75ea2a-f907-4994-ae5c-118632a1cb0f] +description = "Non-existing codon can't translate" + +[9eac93f3-627a-4c90-8653-6d0a0595bc6f] +description = "Unknown amino acids, not part of a codon, can't translate" + +[9d73899f-e68e-4291-b1e2-7bf87c00f024] +description = "Incomplete RNA sequence can't translate" + +[43945cf7-9968-402d-ab9f-b8a28750b050] +description = "Incomplete RNA sequence can translate if valid until a STOP codon" diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr new file mode 100644 index 0000000..0663f5b --- /dev/null +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -0,0 +1,121 @@ +include file("protein-translation.arr") + +check "Empty RNA sequence results in no proteins": + proteins("") is [list: ] +end + +check "Methionine RNA sequence": + proteins("AUG") is [list: "Methionine"] +end + +check "Phenylalanine RNA sequence 1": + proteins("UUU") is [list: "Phenylalanine"] +end + +check "Phenylalanine RNA sequence 2": + proteins("UUC") is [list: "Phenylalanine"] +end + +check "Leucine RNA sequence 1": + proteins("UUA") is [list: "Leucine"] +end + +check "Leucine RNA sequence 2": + proteins("UUG") is [list: "Leucine"] +end + +check "Serine RNA sequence 1": + proteins("UCU") is [list: "Serine"] +end + +check "Serine RNA sequence 2": + proteins("UCC") is [list: "Serine"] +end + +check "Serine RNA sequence 3": + proteins("UCA") is [list: "Serine"] +end + +check "Serine RNA sequence 4": + proteins("UCG") is [list: "Serine"] +end + +check "Tyrosine RNA sequence 1": + proteins("UAU") is [list: "Tyrosine"] +end + +check "Tyrosine RNA sequence 2": + proteins("UAC") is [list: "Tyrosine"] +end + +check "Cysteine RNA sequence 1": + proteins("UGU") is [list: "Cysteine"] +end + +check "Cysteine RNA sequence 2": + proteins("UGC") is [list: "Cysteine"] +end + +check "Tryptophan RNA sequence": + proteins("UGG") is [list: "Tryptophan"] +end + +check "STOP codon RNA sequence 1": + proteins("UAA") is [list: ] +end + +check "STOP codon RNA sequence 2": + proteins("UAG") is [list: ] +end + +check "STOP codon RNA sequence 3": + proteins("UGA") is [list: ] +end + +check "Sequence of two protein codons translates into proteins": + proteins("UUUUUU") is [list: "Phenylalanine", "Phenylalanine"] +end + +check "Sequence of two different protein codons translates into proteins": + proteins("UUAUUG") is [list: "Leucine", "Leucine"] +end + +check "Translate RNA strand into correct protein list": + proteins("AUGUUUUGG") is [list: "Methionine", "Phenylalanine", "Tryptophan"] +end + +check "Translation stops if STOP codon at beginning of sequence": + proteins("UAGUGG") is [list: ] +end + +check "Translation stops if STOP codon at end of two-codon sequence": + proteins("UGGUAG") is [list: "Tryptophan"] +end + +check "Translation stops if STOP codon at end of three-codon sequence": + proteins("AUGUUUUAA") is [list: "Methionine", "Phenylalanine"] +end + +check "Translation stops if STOP codon in middle of three-codon sequence": + proteins("UGGUAGUGG") is [list: "Tryptophan"] +end + +check "Translation stops if STOP codon in middle of six-codon sequence": + proteins("UGGUGUUAUUAAUGGUUU") is [list: "Tryptophan", "Cysteine", "Tyrosine"] +end + +check "Non-existing codon can't translate": + proteins("AAA") raises "Invalid codon" +end + +check "Unknown amino acids, not part of a codon, can't translate": + proteins("XYZ") raises "Invalid codon" +end + +check "Incomplete RNA sequence can't translate": + proteins("AUGU") raises "Invalid codon" +end + +check "Incomplete RNA sequence can translate if valid until a STOP codon": + proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] +end diff --git a/exercises/practice/protein-translation/protein-translation.arr b/exercises/practice/protein-translation/protein-translation.arr new file mode 100644 index 0000000..65de694 --- /dev/null +++ b/exercises/practice/protein-translation/protein-translation.arr @@ -0,0 +1,5 @@ +provide: proteins end + +fun proteins(strand): + raise("Please implement the proteins function") +end From 0f2457115c4a45218452b9cf38d4e7882d0c96b5 Mon Sep 17 00:00:00 2001 From: meatball <69751659+meatball133@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:08:54 +0000 Subject: [PATCH 009/244] Add ETL --- config.json | 9 + exercises/practice/etl/.docs/instructions.md | 27 + exercises/practice/etl/.docs/introduction.md | 16 + exercises/practice/etl/.meta/config.json | 17 + exercises/practice/etl/.meta/example.arr | 11 + exercises/practice/etl/.meta/tests.toml | 22 + exercises/practice/etl/etl-test.arr | 34 + exercises/practice/etl/etl-test.jarr | 171382 ++++++++++++++++ exercises/practice/etl/etl.arr | 6 + 9 files changed, 171524 insertions(+) create mode 100644 exercises/practice/etl/.docs/instructions.md create mode 100644 exercises/practice/etl/.docs/introduction.md create mode 100644 exercises/practice/etl/.meta/config.json create mode 100644 exercises/practice/etl/.meta/example.arr create mode 100644 exercises/practice/etl/.meta/tests.toml create mode 100644 exercises/practice/etl/etl-test.arr create mode 100644 exercises/practice/etl/etl-test.jarr create mode 100644 exercises/practice/etl/etl.arr diff --git a/config.json b/config.json index 26671ab..6ede45b 100644 --- a/config.json +++ b/config.json @@ -70,6 +70,15 @@ "difficulty": 2, "status": "beta" }, + { + "slug": "etl", + "name": "Etl", + "uuid": "a86c1654-da80-46c9-aba5-a2eec3f66262", + "practices": [], + "prerequisites": [], + "difficulty": 2, + "status": "beta" + }, { "slug": "leap", "name": "Leap", diff --git a/exercises/practice/etl/.docs/instructions.md b/exercises/practice/etl/.docs/instructions.md new file mode 100644 index 0000000..802863b --- /dev/null +++ b/exercises/practice/etl/.docs/instructions.md @@ -0,0 +1,27 @@ +# Instructions + +Your task is to change the data format of letters and their point values in the game. + +Currently, letters are stored in groups based on their score, in a one-to-many mapping. + +- 1 point: "A", "E", "I", "O", "U", "L", "N", "R", "S", "T", +- 2 points: "D", "G", +- 3 points: "B", "C", "M", "P", +- 4 points: "F", "H", "V", "W", "Y", +- 5 points: "K", +- 8 points: "J", "X", +- 10 points: "Q", "Z", + +This needs to be changed to store each individual letter with its score in a one-to-one mapping. + +- "a" is worth 1 point. +- "b" is worth 3 points. +- "c" is worth 3 points. +- "d" is worth 2 points. +- etc. + +As part of this change, the team has also decided to change the letters to be lower-case rather than upper-case. + +~~~~exercism/note +If you want to look at how the data was previously structured and how it needs to change, take a look at the examples in the test suite. +~~~~ diff --git a/exercises/practice/etl/.docs/introduction.md b/exercises/practice/etl/.docs/introduction.md new file mode 100644 index 0000000..5be6514 --- /dev/null +++ b/exercises/practice/etl/.docs/introduction.md @@ -0,0 +1,16 @@ +# Introduction + +You work for a company that makes an online multiplayer game called Lexiconia. + +To play the game, each player is given 13 letters, which they must rearrange to create words. +Different letters have different point values, since it's easier to create words with some letters than others. + +The game was originally launched in English, but it is very popular, and now the company wants to expand to other languages as well. + +Different languages need to support different point values for letters. +The point values are determined by how often letters are used, compared to other letters in that language. + +For example, the letter 'C' is quite common in English, and is only worth 3 points. +But in Norwegian it's a very rare letter, and is worth 10 points. + +To make it easier to add new languages, your team needs to change the way letters and their point values are stored in the game. diff --git a/exercises/practice/etl/.meta/config.json b/exercises/practice/etl/.meta/config.json new file mode 100644 index 0000000..0529f62 --- /dev/null +++ b/exercises/practice/etl/.meta/config.json @@ -0,0 +1,17 @@ +{ + "authors": ["meatball133"], + "files": { + "solution": [ + "etl.arr" + ], + "test": [ + "etl-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Change the data format for scoring a game to more easily add other languages.", + "source": "Based on an exercise by the JumpstartLab team for students at The Turing School of Software and Design.", + "source_url": "https://turing.edu" +} diff --git a/exercises/practice/etl/.meta/example.arr b/exercises/practice/etl/.meta/example.arr new file mode 100644 index 0000000..4e8cbf8 --- /dev/null +++ b/exercises/practice/etl/.meta/example.arr @@ -0,0 +1,11 @@ +provide: translate end +include string-dict + +fun translate(legacy): + result = block: + var result = [mutable-string-dict:] + (legacy.keys().to-list()).each(lam(n): legacy.get-value(n).each(lam(letter): result.set-now(string-to-lower(letter), n) end) end) + result + end + result +end diff --git a/exercises/practice/etl/.meta/tests.toml b/exercises/practice/etl/.meta/tests.toml new file mode 100644 index 0000000..e937107 --- /dev/null +++ b/exercises/practice/etl/.meta/tests.toml @@ -0,0 +1,22 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[78a7a9f9-4490-4a47-8ee9-5a38bb47d28f] +description = "single letter" + +[60dbd000-451d-44c7-bdbb-97c73ac1f497] +description = "single score with multiple letters" + +[f5c5de0c-301f-4fdd-a0e5-df97d4214f54] +description = "multiple scores with multiple letters" + +[5db8ea89-ecb4-4dcd-902f-2b418cc87b9d] +description = "multiple scores with differing numbers of letters" diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr new file mode 100644 index 0000000..b58d740 --- /dev/null +++ b/exercises/practice/etl/etl-test.arr @@ -0,0 +1,34 @@ +include file("etl.arr") +include string-dict + +check "single letter": + translate([string-dict: "1", [list: "A"]]) is [mutable-string-dict: "a", "1"] +end + +check "single score with multiple letters": + translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] +end + +check "multiple scores with multiple letters": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] + expected = [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] + translate(input) is expected +end + +check "multiple scores with multiple letters and multiple scores": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], + "2", [list: "D", "G"], + "3", [list: "B", "C", "M", "P"], + "4", [list: "F", "H", "V", "W", "Y"], + "5", [list: "K"], + "8", [list: "J", "X"], + "10", [list: "Q", "Z"]] + expected = [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", + "d", "2", "g", "2", + "b", "3", "c", "3", "m", "3", "p", "3", + "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", + "k", "5", + "j", "8", "x", "8", + "q", "10", "z", "10"] + translate(input) is expected +end \ No newline at end of file diff --git a/exercises/practice/etl/etl-test.jarr b/exercises/practice/etl/etl-test.jarr new file mode 100644 index 0000000..d4e3593 --- /dev/null +++ b/exercises/practice/etl/etl-test.jarr @@ -0,0 +1,171382 @@ +var define, requirejs; + +// NOTE(joe): this is defined for use in dependency bundles. Even though it +// isn't used in this file, it's an important definition +if(typeof require === "function") { + var nodeRequire = require; +} + +(function () { + var isArray = function(arg) { + return Object.prototype.toString.call(arg) === '[object Array]'; + }; + + var nodeRequire = (typeof require != "undefined") ? require : null; + + function isAvailableNodeModule(name) { + try { + require.resolve(name); + isNodeModuleAvailable = true; + } + catch(e) { + isNodeModuleAvailable = false; + } + return isNodeModuleAvailable; + } + + + // module name -> module object + var moduleTable = {}; + + function moduleResolved(modName) { + return (modName in moduleTable) && (moduleTable[modName].resolved); + } + + function buildCallbackArgs(deps) { + return deps.map(function(depName) { + if (moduleResolved(depName)) { + return moduleTable[depName].val; + } else { + throw new Error("Module " + depName + " not yet resolved"); + } + }); + } + + function evaluateModuleFn(moduleObj) { + + if (moduleObj.val != null) { + throw new Error("Already evaluated " + moduleObj.name); + } + + if(isAvailableNodeModule(moduleObj.name)) { + moduleObj.val = require(moduleObj.name); + moduleObj.resolved = true; + return; + } + + var callbackArgs = buildCallbackArgs(moduleObj.deps); + + // NOTE(joe): This is independent of Pyret code running, so calling + // this function doesn't interact with stack management in any way + moduleObj.val = moduleObj.callback.apply(null, callbackArgs); + moduleObj.resolved = true; } + + define = function(name, deps, callback) { + //This module might have no dependencies + if (!isArray(deps)) { + callback = deps; + deps = null; + } + + if (callback === undefined) { + throw new Error("no callback for " + name); + } + + if (name in moduleTable) { + throw new Error("Module " + name + " already defined"); + } + + moduleTable[name] = { + callback: callback, + name: name, + deps: deps != null ? deps : [], + val: null, + + // Since module functions might return weird values like undefined + // we separately keep track of whether we've resolved it or not. + resolved: false, + }; + }; + + function getLoadOrder(deps) { + // Do DFS + topsort in one pass over the graph without destroying it + var topsorted = []; + + var toVisit = {}; // Nodes we haven't touched + var currentlyVisitedNodes = {}; // Nodes we're currently working on (used to find cycles) + var visitedNodes = {}; // Nodes we're done with + + function visitNode(node) { + if (isAvailableNodeModule(node)) { + topsorted.push(node); + visitedNodes[node] = true; + delete toVisit[node]; + return; + } + + if (!(node in moduleTable)) { + throw new Error("Unknown module : " + node); + } + if (node in currentlyVisitedNodes) { + throw new Error("We have a cycle, which includes " + node); + } + if (node in visitedNodes) { + // already visited it + return; + } + + // It's unvisited, so mark it as currently being visited + currentlyVisitedNodes[node] = true; + if (node in toVisit) { + delete toVisit[node]; + } + + // Now visit its children + for (var i = 0; i < moduleTable[node].deps.length; i++) { + var child = moduleTable[node].deps[i]; + visitNode(child); + } + + // Now all of node's dependencies have been added to the list + // so we're safe to add it + topsorted.push(node); + delete currentlyVisitedNodes[node]; + visitedNodes[node] = true; + }; + + for (var i = 0; i < deps.length; i++) { + toVisit[deps[i]] = true; + } + + while (Object.keys(toVisit).length > 0) { + var node = Object.keys(toVisit)[0]; + visitNode(node); + } + + return topsorted; + } + + requirejs = function(deps, callback) { + if (typeof deps === 'string') { + // Trying to require("somemodule"). It needs to be in our table, or + // we have to be in node with a synchronous require() function + if ((deps in moduleTable) && moduleTable[deps].val) { + return moduleTable[deps].val; + } + + if (nodeRequire) { + return require(deps); + } + + // It's not in our table and we don't have require() so it's unknown. + throw new Error("Unresolved module " + deps + "...use require([], callback)"); + } + + var loadOrder = getLoadOrder(deps); + + for (var i = 0; i < loadOrder.length; i++) { + var modName = loadOrder[i]; + if (!moduleTable[modName] && isAvailableNodeModule(modName)) { + moduleTable[modName] = { + callback: null, + name: modName, + deps: [], + val: null, + resolved: false, + }; + } + if (!moduleTable[modName].resolved) { + evaluateModuleFn(moduleTable[modName]); + } + } + + var callbackArgs = buildCallbackArgs(deps); + callback.apply(null, callbackArgs); + }; +}()); +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i> 6]; + var primitive = (tag & 0x20) === 0; + + // Multi-octet tag - load + if ((tag & 0x1f) === 0x1f) { + var oct = tag; + tag = 0; + while ((oct & 0x80) === 0x80) { + oct = buf.readUInt8(fail); + if (buf.isError(oct)) + return oct; + + tag <<= 7; + tag |= oct & 0x7f; + } + } else { + tag &= 0x1f; + } + var tagStr = der.tag[tag]; + + return { + cls: cls, + primitive: primitive, + tag: tag, + tagStr: tagStr + }; +} + +function derDecodeLen(buf, primitive, fail) { + var len = buf.readUInt8(fail); + if (buf.isError(len)) + return len; + + // Indefinite form + if (!primitive && len === 0x80) + return null; + + // Definite form + if ((len & 0x80) === 0) { + // Short form + return len; + } + + // Long form + var num = len & 0x7f; + if (num > 4) + return buf.error('length octect is too long'); + + len = 0; + for (var i = 0; i < num; i++) { + len <<= 8; + var j = buf.readUInt8(fail); + if (buf.isError(j)) + return j; + len |= j; + } + + return len; +} + +},{"../../asn1":1,"inherits":117}],10:[function(require,module,exports){ +var decoders = exports; + +decoders.der = require('./der'); +decoders.pem = require('./pem'); + +},{"./der":9,"./pem":11}],11:[function(require,module,exports){ +var inherits = require('inherits'); +var Buffer = require('buffer').Buffer; + +var DERDecoder = require('./der'); + +function PEMDecoder(entity) { + DERDecoder.call(this, entity); + this.enc = 'pem'; +}; +inherits(PEMDecoder, DERDecoder); +module.exports = PEMDecoder; + +PEMDecoder.prototype.decode = function decode(data, options) { + var lines = data.toString().split(/[\r\n]+/g); + + var label = options.label.toUpperCase(); + + var re = /^-----(BEGIN|END) ([^-]+)-----$/; + var start = -1; + var end = -1; + for (var i = 0; i < lines.length; i++) { + var match = lines[i].match(re); + if (match === null) + continue; + + if (match[2] !== label) + continue; + + if (start === -1) { + if (match[1] !== 'BEGIN') + break; + start = i; + } else { + if (match[1] !== 'END') + break; + end = i; + break; + } + } + if (start === -1 || end === -1) + throw new Error('PEM section not found for: ' + label); + + var base64 = lines.slice(start + 1, end).join(''); + // Remove excessive symbols + base64.replace(/[^a-z0-9\+\/=]+/gi, ''); + + var input = new Buffer(base64, 'base64'); + return DERDecoder.prototype.decode.call(this, input, options); +}; + +},{"./der":9,"buffer":47,"inherits":117}],12:[function(require,module,exports){ +var inherits = require('inherits'); +var Buffer = require('buffer').Buffer; + +var asn1 = require('../../asn1'); +var base = asn1.base; + +// Import DER constants +var der = asn1.constants.der; + +function DEREncoder(entity) { + this.enc = 'der'; + this.name = entity.name; + this.entity = entity; + + // Construct base tree + this.tree = new DERNode(); + this.tree._init(entity.body); +}; +module.exports = DEREncoder; + +DEREncoder.prototype.encode = function encode(data, reporter) { + return this.tree._encode(data, reporter).join(); +}; + +// Tree methods + +function DERNode(parent) { + base.Node.call(this, 'der', parent); +} +inherits(DERNode, base.Node); + +DERNode.prototype._encodeComposite = function encodeComposite(tag, + primitive, + cls, + content) { + var encodedTag = encodeTag(tag, primitive, cls, this.reporter); + + // Short form + if (content.length < 0x80) { + var header = new Buffer(2); + header[0] = encodedTag; + header[1] = content.length; + return this._createEncoderBuffer([ header, content ]); + } + + // Long form + // Count octets required to store length + var lenOctets = 1; + for (var i = content.length; i >= 0x100; i >>= 8) + lenOctets++; + + var header = new Buffer(1 + 1 + lenOctets); + header[0] = encodedTag; + header[1] = 0x80 | lenOctets; + + for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8) + header[i] = j & 0xff; + + return this._createEncoderBuffer([ header, content ]); +}; + +DERNode.prototype._encodeStr = function encodeStr(str, tag) { + if (tag === 'bitstr') { + return this._createEncoderBuffer([ str.unused | 0, str.data ]); + } else if (tag === 'bmpstr') { + var buf = new Buffer(str.length * 2); + for (var i = 0; i < str.length; i++) { + buf.writeUInt16BE(str.charCodeAt(i), i * 2); + } + return this._createEncoderBuffer(buf); + } else if (tag === 'numstr') { + if (!this._isNumstr(str)) { + return this.reporter.error('Encoding of string type: numstr supports ' + + 'only digits and space'); + } + return this._createEncoderBuffer(str); + } else if (tag === 'printstr') { + if (!this._isPrintstr(str)) { + return this.reporter.error('Encoding of string type: printstr supports ' + + 'only latin upper and lower case letters, ' + + 'digits, space, apostrophe, left and rigth ' + + 'parenthesis, plus sign, comma, hyphen, ' + + 'dot, slash, colon, equal sign, ' + + 'question mark'); + } + return this._createEncoderBuffer(str); + } else if (/str$/.test(tag)) { + return this._createEncoderBuffer(str); + } else if (tag === 'objDesc') { + return this._createEncoderBuffer(str); + } else { + return this.reporter.error('Encoding of string type: ' + tag + + ' unsupported'); + } +}; + +DERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) { + if (typeof id === 'string') { + if (!values) + return this.reporter.error('string objid given, but no values map found'); + if (!values.hasOwnProperty(id)) + return this.reporter.error('objid not found in values map'); + id = values[id].split(/[\s\.]+/g); + for (var i = 0; i < id.length; i++) + id[i] |= 0; + } else if (Array.isArray(id)) { + id = id.slice(); + for (var i = 0; i < id.length; i++) + id[i] |= 0; + } + + if (!Array.isArray(id)) { + return this.reporter.error('objid() should be either array or string, ' + + 'got: ' + JSON.stringify(id)); + } + + if (!relative) { + if (id[1] >= 40) + return this.reporter.error('Second objid identifier OOB'); + id.splice(0, 2, id[0] * 40 + id[1]); + } + + // Count number of octets + var size = 0; + for (var i = 0; i < id.length; i++) { + var ident = id[i]; + for (size++; ident >= 0x80; ident >>= 7) + size++; + } + + var objid = new Buffer(size); + var offset = objid.length - 1; + for (var i = id.length - 1; i >= 0; i--) { + var ident = id[i]; + objid[offset--] = ident & 0x7f; + while ((ident >>= 7) > 0) + objid[offset--] = 0x80 | (ident & 0x7f); + } + + return this._createEncoderBuffer(objid); +}; + +function two(num) { + if (num < 10) + return '0' + num; + else + return num; +} + +DERNode.prototype._encodeTime = function encodeTime(time, tag) { + var str; + var date = new Date(time); + + if (tag === 'gentime') { + str = [ + two(date.getFullYear()), + two(date.getUTCMonth() + 1), + two(date.getUTCDate()), + two(date.getUTCHours()), + two(date.getUTCMinutes()), + two(date.getUTCSeconds()), + 'Z' + ].join(''); + } else if (tag === 'utctime') { + str = [ + two(date.getFullYear() % 100), + two(date.getUTCMonth() + 1), + two(date.getUTCDate()), + two(date.getUTCHours()), + two(date.getUTCMinutes()), + two(date.getUTCSeconds()), + 'Z' + ].join(''); + } else { + this.reporter.error('Encoding ' + tag + ' time is not supported yet'); + } + + return this._encodeStr(str, 'octstr'); +}; + +DERNode.prototype._encodeNull = function encodeNull() { + return this._createEncoderBuffer(''); +}; + +DERNode.prototype._encodeInt = function encodeInt(num, values) { + if (typeof num === 'string') { + if (!values) + return this.reporter.error('String int or enum given, but no values map'); + if (!values.hasOwnProperty(num)) { + return this.reporter.error('Values map doesn\'t contain: ' + + JSON.stringify(num)); + } + num = values[num]; + } + + // Bignum, assume big endian + if (typeof num !== 'number' && !Buffer.isBuffer(num)) { + var numArray = num.toArray(); + if (!num.sign && numArray[0] & 0x80) { + numArray.unshift(0); + } + num = new Buffer(numArray); + } + + if (Buffer.isBuffer(num)) { + var size = num.length; + if (num.length === 0) + size++; + + var out = new Buffer(size); + num.copy(out); + if (num.length === 0) + out[0] = 0 + return this._createEncoderBuffer(out); + } + + if (num < 0x80) + return this._createEncoderBuffer(num); + + if (num < 0x100) + return this._createEncoderBuffer([0, num]); + + var size = 1; + for (var i = num; i >= 0x100; i >>= 8) + size++; + + var out = new Array(size); + for (var i = out.length - 1; i >= 0; i--) { + out[i] = num & 0xff; + num >>= 8; + } + if(out[0] & 0x80) { + out.unshift(0); + } + + return this._createEncoderBuffer(new Buffer(out)); +}; + +DERNode.prototype._encodeBool = function encodeBool(value) { + return this._createEncoderBuffer(value ? 0xff : 0); +}; + +DERNode.prototype._use = function use(entity, obj) { + if (typeof entity === 'function') + entity = entity(obj); + return entity._getEncoder('der').tree; +}; + +DERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) { + var state = this._baseState; + var i; + if (state['default'] === null) + return false; + + var data = dataBuffer.join(); + if (state.defaultBuffer === undefined) + state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join(); + + if (data.length !== state.defaultBuffer.length) + return false; + + for (i=0; i < data.length; i++) + if (data[i] !== state.defaultBuffer[i]) + return false; + + return true; +}; + +// Utility methods + +function encodeTag(tag, primitive, cls, reporter) { + var res; + + if (tag === 'seqof') + tag = 'seq'; + else if (tag === 'setof') + tag = 'set'; + + if (der.tagByName.hasOwnProperty(tag)) + res = der.tagByName[tag]; + else if (typeof tag === 'number' && (tag | 0) === tag) + res = tag; + else + return reporter.error('Unknown tag: ' + tag); + + if (res >= 0x1f) + return reporter.error('Multi-octet tag encoding unsupported'); + + if (!primitive) + res |= 0x20; + + res |= (der.tagClassByName[cls || 'universal'] << 6); + + return res; +} + +},{"../../asn1":1,"buffer":47,"inherits":117}],13:[function(require,module,exports){ +var encoders = exports; + +encoders.der = require('./der'); +encoders.pem = require('./pem'); + +},{"./der":12,"./pem":14}],14:[function(require,module,exports){ +var inherits = require('inherits'); + +var DEREncoder = require('./der'); + +function PEMEncoder(entity) { + DEREncoder.call(this, entity); + this.enc = 'pem'; +}; +inherits(PEMEncoder, DEREncoder); +module.exports = PEMEncoder; + +PEMEncoder.prototype.encode = function encode(data, options) { + var buf = DEREncoder.prototype.encode.call(this, data); + + var p = buf.toString('base64'); + var out = [ '-----BEGIN ' + options.label + '-----' ]; + for (var i = 0; i < p.length; i += 64) + out.push(p.slice(i, i + 64)); + out.push('-----END ' + options.label + '-----'); + return out.join('\n'); +}; + +},{"./der":12,"inherits":117}],15:[function(require,module,exports){ +'use strict' + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk( + uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) + )) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + +},{}],16:[function(require,module,exports){ +(function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + Buffer = require('buffer').Buffer; + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + } + + if (base === 16) { + this._parseHex(number, start); + } else { + this._parseBase(number, base, start); + } + + if (number[0] === '-') { + this.negative = 1; + } + + this.strip(); + + if (endian !== 'le') return; + + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex (str, start, end) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r <<= 4; + + // 'a' - 'f' + if (c >= 49 && c <= 54) { + r |= c - 49 + 0xa; + + // 'A' - 'F' + } else if (c >= 17 && c <= 22) { + r |= c - 17 + 0xa; + + // '0' - '9' + } else { + r |= c & 0xf; + } + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + // Scan 24-bit chunks and add them to the number + var off = 0; + for (i = number.length - 6, j = 0; i >= start; i -= 6) { + w = parseHex(number, i, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + if (i + 6 !== start) { + w = parseHex(number, start, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + } + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + r.strip(); + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1).toRed(this); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; +})(typeof module === 'undefined' || module, this); + +},{"buffer":18}],17:[function(require,module,exports){ +var r; + +module.exports = function rand(len) { + if (!r) + r = new Rand(null); + + return r.generate(len); +}; + +function Rand(rand) { + this.rand = rand; +} +module.exports.Rand = Rand; + +Rand.prototype.generate = function generate(len) { + return this._rand(len); +}; + +// Emulate crypto API using randy +Rand.prototype._rand = function _rand(n) { + if (this.rand.getBytes) + return this.rand.getBytes(n); + + var res = new Uint8Array(n); + for (var i = 0; i < res.length; i++) + res[i] = this.rand.getByte(); + return res; +}; + +if (typeof self === 'object') { + if (self.crypto && self.crypto.getRandomValues) { + // Modern browsers + Rand.prototype._rand = function _rand(n) { + var arr = new Uint8Array(n); + self.crypto.getRandomValues(arr); + return arr; + }; + } else if (self.msCrypto && self.msCrypto.getRandomValues) { + // IE + Rand.prototype._rand = function _rand(n) { + var arr = new Uint8Array(n); + self.msCrypto.getRandomValues(arr); + return arr; + }; + + // Safari's WebWorkers do not have `crypto` + } else if (typeof window === 'object') { + // Old junk + Rand.prototype._rand = function() { + throw new Error('Not implemented yet'); + }; + } +} else { + // Node.js or Web worker with no crypto support + try { + var crypto = require('crypto'); + if (typeof crypto.randomBytes !== 'function') + throw new Error('Not supported'); + + Rand.prototype._rand = function _rand(n) { + return crypto.randomBytes(n); + }; + } catch (e) { + } +} + +},{"crypto":18}],18:[function(require,module,exports){ + +},{}],19:[function(require,module,exports){ +// based on the aes implimentation in triple sec +// https://github.com/keybase/triplesec +// which is in turn based on the one from crypto-js +// https://code.google.com/p/crypto-js/ + +var Buffer = require('safe-buffer').Buffer + +function asUInt32Array (buf) { + if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf) + + var len = (buf.length / 4) | 0 + var out = new Array(len) + + for (var i = 0; i < len; i++) { + out[i] = buf.readUInt32BE(i * 4) + } + + return out +} + +function scrubVec (v) { + for (var i = 0; i < v.length; v++) { + v[i] = 0 + } +} + +function cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) { + var SUB_MIX0 = SUB_MIX[0] + var SUB_MIX1 = SUB_MIX[1] + var SUB_MIX2 = SUB_MIX[2] + var SUB_MIX3 = SUB_MIX[3] + + var s0 = M[0] ^ keySchedule[0] + var s1 = M[1] ^ keySchedule[1] + var s2 = M[2] ^ keySchedule[2] + var s3 = M[3] ^ keySchedule[3] + var t0, t1, t2, t3 + var ksRow = 4 + + for (var round = 1; round < nRounds; round++) { + t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++] + t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++] + t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++] + t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++] + s0 = t0 + s1 = t1 + s2 = t2 + s3 = t3 + } + + t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++] + t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++] + t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++] + t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++] + t0 = t0 >>> 0 + t1 = t1 >>> 0 + t2 = t2 >>> 0 + t3 = t3 >>> 0 + + return [t0, t1, t2, t3] +} + +// AES constants +var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36] +var G = (function () { + // Compute double table + var d = new Array(256) + for (var j = 0; j < 256; j++) { + if (j < 128) { + d[j] = j << 1 + } else { + d[j] = (j << 1) ^ 0x11b + } + } + + var SBOX = [] + var INV_SBOX = [] + var SUB_MIX = [[], [], [], []] + var INV_SUB_MIX = [[], [], [], []] + + // Walk GF(2^8) + var x = 0 + var xi = 0 + for (var i = 0; i < 256; ++i) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4) + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63 + SBOX[x] = sx + INV_SBOX[sx] = x + + // Compute multiplication + var x2 = d[x] + var x4 = d[x2] + var x8 = d[x4] + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100) + SUB_MIX[0][x] = (t << 24) | (t >>> 8) + SUB_MIX[1][x] = (t << 16) | (t >>> 16) + SUB_MIX[2][x] = (t << 8) | (t >>> 24) + SUB_MIX[3][x] = t + + // Compute inv sub bytes, inv mix columns tables + t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100) + INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8) + INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16) + INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24) + INV_SUB_MIX[3][sx] = t + + if (x === 0) { + x = xi = 1 + } else { + x = x2 ^ d[d[d[x8 ^ x2]]] + xi ^= d[d[xi]] + } + } + + return { + SBOX: SBOX, + INV_SBOX: INV_SBOX, + SUB_MIX: SUB_MIX, + INV_SUB_MIX: INV_SUB_MIX + } +})() + +function AES (key) { + this._key = asUInt32Array(key) + this._reset() +} + +AES.blockSize = 4 * 4 +AES.keySize = 256 / 8 +AES.prototype.blockSize = AES.blockSize +AES.prototype.keySize = AES.keySize +AES.prototype._reset = function () { + var keyWords = this._key + var keySize = keyWords.length + var nRounds = keySize + 6 + var ksRows = (nRounds + 1) * 4 + + var keySchedule = [] + for (var k = 0; k < keySize; k++) { + keySchedule[k] = keyWords[k] + } + + for (k = keySize; k < ksRows; k++) { + var t = keySchedule[k - 1] + + if (k % keySize === 0) { + t = (t << 8) | (t >>> 24) + t = + (G.SBOX[t >>> 24] << 24) | + (G.SBOX[(t >>> 16) & 0xff] << 16) | + (G.SBOX[(t >>> 8) & 0xff] << 8) | + (G.SBOX[t & 0xff]) + + t ^= RCON[(k / keySize) | 0] << 24 + } else if (keySize > 6 && k % keySize === 4) { + t = + (G.SBOX[t >>> 24] << 24) | + (G.SBOX[(t >>> 16) & 0xff] << 16) | + (G.SBOX[(t >>> 8) & 0xff] << 8) | + (G.SBOX[t & 0xff]) + } + + keySchedule[k] = keySchedule[k - keySize] ^ t + } + + var invKeySchedule = [] + for (var ik = 0; ik < ksRows; ik++) { + var ksR = ksRows - ik + var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)] + + if (ik < 4 || ksR <= 4) { + invKeySchedule[ik] = tt + } else { + invKeySchedule[ik] = + G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ + G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^ + G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^ + G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]] + } + } + + this._nRounds = nRounds + this._keySchedule = keySchedule + this._invKeySchedule = invKeySchedule +} + +AES.prototype.encryptBlockRaw = function (M) { + M = asUInt32Array(M) + return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds) +} + +AES.prototype.encryptBlock = function (M) { + var out = this.encryptBlockRaw(M) + var buf = Buffer.allocUnsafe(16) + buf.writeUInt32BE(out[0], 0) + buf.writeUInt32BE(out[1], 4) + buf.writeUInt32BE(out[2], 8) + buf.writeUInt32BE(out[3], 12) + return buf +} + +AES.prototype.decryptBlock = function (M) { + M = asUInt32Array(M) + + // swap + var m1 = M[1] + M[1] = M[3] + M[3] = m1 + + var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds) + var buf = Buffer.allocUnsafe(16) + buf.writeUInt32BE(out[0], 0) + buf.writeUInt32BE(out[3], 4) + buf.writeUInt32BE(out[2], 8) + buf.writeUInt32BE(out[1], 12) + return buf +} + +AES.prototype.scrub = function () { + scrubVec(this._keySchedule) + scrubVec(this._invKeySchedule) + scrubVec(this._key) +} + +module.exports.AES = AES + +},{"safe-buffer":163}],20:[function(require,module,exports){ +var aes = require('./aes') +var Buffer = require('safe-buffer').Buffer +var Transform = require('cipher-base') +var inherits = require('inherits') +var GHASH = require('./ghash') +var xor = require('buffer-xor') +var incr32 = require('./incr32') + +function xorTest (a, b) { + var out = 0 + if (a.length !== b.length) out++ + + var len = Math.min(a.length, b.length) + for (var i = 0; i < len; ++i) { + out += (a[i] ^ b[i]) + } + + return out +} + +function calcIv (self, iv, ck) { + if (iv.length === 12) { + self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])]) + return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])]) + } + var ghash = new GHASH(ck) + var len = iv.length + var toPad = len % 16 + ghash.update(iv) + if (toPad) { + toPad = 16 - toPad + ghash.update(Buffer.alloc(toPad, 0)) + } + ghash.update(Buffer.alloc(8, 0)) + var ivBits = len * 8 + var tail = Buffer.alloc(8) + tail.writeUIntBE(ivBits, 0, 8) + ghash.update(tail) + self._finID = ghash.state + var out = Buffer.from(self._finID) + incr32(out) + return out +} +function StreamCipher (mode, key, iv, decrypt) { + Transform.call(this) + + var h = Buffer.alloc(4, 0) + + this._cipher = new aes.AES(key) + var ck = this._cipher.encryptBlock(h) + this._ghash = new GHASH(ck) + iv = calcIv(this, iv, ck) + + this._prev = Buffer.from(iv) + this._cache = Buffer.allocUnsafe(0) + this._secCache = Buffer.allocUnsafe(0) + this._decrypt = decrypt + this._alen = 0 + this._len = 0 + this._mode = mode + + this._authTag = null + this._called = false +} + +inherits(StreamCipher, Transform) + +StreamCipher.prototype._update = function (chunk) { + if (!this._called && this._alen) { + var rump = 16 - (this._alen % 16) + if (rump < 16) { + rump = Buffer.alloc(rump, 0) + this._ghash.update(rump) + } + } + + this._called = true + var out = this._mode.encrypt(this, chunk) + if (this._decrypt) { + this._ghash.update(chunk) + } else { + this._ghash.update(out) + } + this._len += chunk.length + return out +} + +StreamCipher.prototype._final = function () { + if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data') + + var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID)) + if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data') + + this._authTag = tag + this._cipher.scrub() +} + +StreamCipher.prototype.getAuthTag = function getAuthTag () { + if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state') + + return this._authTag +} + +StreamCipher.prototype.setAuthTag = function setAuthTag (tag) { + if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state') + + this._authTag = tag +} + +StreamCipher.prototype.setAAD = function setAAD (buf) { + if (this._called) throw new Error('Attempting to set AAD in unsupported state') + + this._ghash.update(buf) + this._alen += buf.length +} + +module.exports = StreamCipher + +},{"./aes":19,"./ghash":24,"./incr32":25,"buffer-xor":46,"cipher-base":48,"inherits":117,"safe-buffer":163}],21:[function(require,module,exports){ +var ciphers = require('./encrypter') +var deciphers = require('./decrypter') +var modes = require('./modes/list.json') + +function getCiphers () { + return Object.keys(modes) +} + +exports.createCipher = exports.Cipher = ciphers.createCipher +exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv +exports.createDecipher = exports.Decipher = deciphers.createDecipher +exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv +exports.listCiphers = exports.getCiphers = getCiphers + +},{"./decrypter":22,"./encrypter":23,"./modes/list.json":33}],22:[function(require,module,exports){ +var AuthCipher = require('./authCipher') +var Buffer = require('safe-buffer').Buffer +var MODES = require('./modes') +var StreamCipher = require('./streamCipher') +var Transform = require('cipher-base') +var aes = require('./aes') +var ebtk = require('evp_bytestokey') +var inherits = require('inherits') + +function Decipher (mode, key, iv) { + Transform.call(this) + + this._cache = new Splitter() + this._last = void 0 + this._cipher = new aes.AES(key) + this._prev = Buffer.from(iv) + this._mode = mode + this._autopadding = true +} + +inherits(Decipher, Transform) + +Decipher.prototype._update = function (data) { + this._cache.add(data) + var chunk + var thing + var out = [] + while ((chunk = this._cache.get(this._autopadding))) { + thing = this._mode.decrypt(this, chunk) + out.push(thing) + } + return Buffer.concat(out) +} + +Decipher.prototype._final = function () { + var chunk = this._cache.flush() + if (this._autopadding) { + return unpad(this._mode.decrypt(this, chunk)) + } else if (chunk) { + throw new Error('data not multiple of block length') + } +} + +Decipher.prototype.setAutoPadding = function (setTo) { + this._autopadding = !!setTo + return this +} + +function Splitter () { + this.cache = Buffer.allocUnsafe(0) +} + +Splitter.prototype.add = function (data) { + this.cache = Buffer.concat([this.cache, data]) +} + +Splitter.prototype.get = function (autoPadding) { + var out + if (autoPadding) { + if (this.cache.length > 16) { + out = this.cache.slice(0, 16) + this.cache = this.cache.slice(16) + return out + } + } else { + if (this.cache.length >= 16) { + out = this.cache.slice(0, 16) + this.cache = this.cache.slice(16) + return out + } + } + + return null +} + +Splitter.prototype.flush = function () { + if (this.cache.length) return this.cache +} + +function unpad (last) { + var padded = last[15] + if (padded < 1 || padded > 16) { + throw new Error('unable to decrypt data') + } + var i = -1 + while (++i < padded) { + if (last[(i + (16 - padded))] !== padded) { + throw new Error('unable to decrypt data') + } + } + if (padded === 16) return + + return last.slice(0, 16 - padded) +} + +function createDecipheriv (suite, password, iv) { + var config = MODES[suite.toLowerCase()] + if (!config) throw new TypeError('invalid suite type') + + if (typeof iv === 'string') iv = Buffer.from(iv) + if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length) + + if (typeof password === 'string') password = Buffer.from(password) + if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length) + + if (config.type === 'stream') { + return new StreamCipher(config.module, password, iv, true) + } else if (config.type === 'auth') { + return new AuthCipher(config.module, password, iv, true) + } + + return new Decipher(config.module, password, iv) +} + +function createDecipher (suite, password) { + var config = MODES[suite.toLowerCase()] + if (!config) throw new TypeError('invalid suite type') + + var keys = ebtk(password, false, config.key, config.iv) + return createDecipheriv(suite, keys.key, keys.iv) +} + +exports.createDecipher = createDecipher +exports.createDecipheriv = createDecipheriv + +},{"./aes":19,"./authCipher":20,"./modes":32,"./streamCipher":35,"cipher-base":48,"evp_bytestokey":84,"inherits":117,"safe-buffer":163}],23:[function(require,module,exports){ +var MODES = require('./modes') +var AuthCipher = require('./authCipher') +var Buffer = require('safe-buffer').Buffer +var StreamCipher = require('./streamCipher') +var Transform = require('cipher-base') +var aes = require('./aes') +var ebtk = require('evp_bytestokey') +var inherits = require('inherits') + +function Cipher (mode, key, iv) { + Transform.call(this) + + this._cache = new Splitter() + this._cipher = new aes.AES(key) + this._prev = Buffer.from(iv) + this._mode = mode + this._autopadding = true +} + +inherits(Cipher, Transform) + +Cipher.prototype._update = function (data) { + this._cache.add(data) + var chunk + var thing + var out = [] + + while ((chunk = this._cache.get())) { + thing = this._mode.encrypt(this, chunk) + out.push(thing) + } + + return Buffer.concat(out) +} + +var PADDING = Buffer.alloc(16, 0x10) + +Cipher.prototype._final = function () { + var chunk = this._cache.flush() + if (this._autopadding) { + chunk = this._mode.encrypt(this, chunk) + this._cipher.scrub() + return chunk + } + + if (!chunk.equals(PADDING)) { + this._cipher.scrub() + throw new Error('data not multiple of block length') + } +} + +Cipher.prototype.setAutoPadding = function (setTo) { + this._autopadding = !!setTo + return this +} + +function Splitter () { + this.cache = Buffer.allocUnsafe(0) +} + +Splitter.prototype.add = function (data) { + this.cache = Buffer.concat([this.cache, data]) +} + +Splitter.prototype.get = function () { + if (this.cache.length > 15) { + var out = this.cache.slice(0, 16) + this.cache = this.cache.slice(16) + return out + } + return null +} + +Splitter.prototype.flush = function () { + var len = 16 - this.cache.length + var padBuff = Buffer.allocUnsafe(len) + + var i = -1 + while (++i < len) { + padBuff.writeUInt8(len, i) + } + + return Buffer.concat([this.cache, padBuff]) +} + +function createCipheriv (suite, password, iv) { + var config = MODES[suite.toLowerCase()] + if (!config) throw new TypeError('invalid suite type') + + if (typeof password === 'string') password = Buffer.from(password) + if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length) + + if (typeof iv === 'string') iv = Buffer.from(iv) + if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length) + + if (config.type === 'stream') { + return new StreamCipher(config.module, password, iv) + } else if (config.type === 'auth') { + return new AuthCipher(config.module, password, iv) + } + + return new Cipher(config.module, password, iv) +} + +function createCipher (suite, password) { + var config = MODES[suite.toLowerCase()] + if (!config) throw new TypeError('invalid suite type') + + var keys = ebtk(password, false, config.key, config.iv) + return createCipheriv(suite, keys.key, keys.iv) +} + +exports.createCipheriv = createCipheriv +exports.createCipher = createCipher + +},{"./aes":19,"./authCipher":20,"./modes":32,"./streamCipher":35,"cipher-base":48,"evp_bytestokey":84,"inherits":117,"safe-buffer":163}],24:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer +var ZEROES = Buffer.alloc(16, 0) + +function toArray (buf) { + return [ + buf.readUInt32BE(0), + buf.readUInt32BE(4), + buf.readUInt32BE(8), + buf.readUInt32BE(12) + ] +} + +function fromArray (out) { + var buf = Buffer.allocUnsafe(16) + buf.writeUInt32BE(out[0] >>> 0, 0) + buf.writeUInt32BE(out[1] >>> 0, 4) + buf.writeUInt32BE(out[2] >>> 0, 8) + buf.writeUInt32BE(out[3] >>> 0, 12) + return buf +} + +function GHASH (key) { + this.h = key + this.state = Buffer.alloc(16, 0) + this.cache = Buffer.allocUnsafe(0) +} + +// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html +// by Juho Vähä-Herttua +GHASH.prototype.ghash = function (block) { + var i = -1 + while (++i < block.length) { + this.state[i] ^= block[i] + } + this._multiply() +} + +GHASH.prototype._multiply = function () { + var Vi = toArray(this.h) + var Zi = [0, 0, 0, 0] + var j, xi, lsbVi + var i = -1 + while (++i < 128) { + xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0 + if (xi) { + // Z_i+1 = Z_i ^ V_i + Zi[0] ^= Vi[0] + Zi[1] ^= Vi[1] + Zi[2] ^= Vi[2] + Zi[3] ^= Vi[3] + } + + // Store the value of LSB(V_i) + lsbVi = (Vi[3] & 1) !== 0 + + // V_i+1 = V_i >> 1 + for (j = 3; j > 0; j--) { + Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31) + } + Vi[0] = Vi[0] >>> 1 + + // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R + if (lsbVi) { + Vi[0] = Vi[0] ^ (0xe1 << 24) + } + } + this.state = fromArray(Zi) +} + +GHASH.prototype.update = function (buf) { + this.cache = Buffer.concat([this.cache, buf]) + var chunk + while (this.cache.length >= 16) { + chunk = this.cache.slice(0, 16) + this.cache = this.cache.slice(16) + this.ghash(chunk) + } +} + +GHASH.prototype.final = function (abl, bl) { + if (this.cache.length) { + this.ghash(Buffer.concat([this.cache, ZEROES], 16)) + } + + this.ghash(fromArray([0, abl, 0, bl])) + return this.state +} + +module.exports = GHASH + +},{"safe-buffer":163}],25:[function(require,module,exports){ +function incr32 (iv) { + var len = iv.length + var item + while (len--) { + item = iv.readUInt8(len) + if (item === 255) { + iv.writeUInt8(0, len) + } else { + item++ + iv.writeUInt8(item, len) + break + } + } +} +module.exports = incr32 + +},{}],26:[function(require,module,exports){ +var xor = require('buffer-xor') + +exports.encrypt = function (self, block) { + var data = xor(block, self._prev) + + self._prev = self._cipher.encryptBlock(data) + return self._prev +} + +exports.decrypt = function (self, block) { + var pad = self._prev + + self._prev = block + var out = self._cipher.decryptBlock(block) + + return xor(out, pad) +} + +},{"buffer-xor":46}],27:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer +var xor = require('buffer-xor') + +function encryptStart (self, data, decrypt) { + var len = data.length + var out = xor(data, self._cache) + self._cache = self._cache.slice(len) + self._prev = Buffer.concat([self._prev, decrypt ? data : out]) + return out +} + +exports.encrypt = function (self, data, decrypt) { + var out = Buffer.allocUnsafe(0) + var len + + while (data.length) { + if (self._cache.length === 0) { + self._cache = self._cipher.encryptBlock(self._prev) + self._prev = Buffer.allocUnsafe(0) + } + + if (self._cache.length <= data.length) { + len = self._cache.length + out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]) + data = data.slice(len) + } else { + out = Buffer.concat([out, encryptStart(self, data, decrypt)]) + break + } + } + + return out +} + +},{"buffer-xor":46,"safe-buffer":163}],28:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer + +function encryptByte (self, byteParam, decrypt) { + var pad + var i = -1 + var len = 8 + var out = 0 + var bit, value + while (++i < len) { + pad = self._cipher.encryptBlock(self._prev) + bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0 + value = pad[0] ^ bit + out += ((value & 0x80) >> (i % 8)) + self._prev = shiftIn(self._prev, decrypt ? bit : value) + } + return out +} + +function shiftIn (buffer, value) { + var len = buffer.length + var i = -1 + var out = Buffer.allocUnsafe(buffer.length) + buffer = Buffer.concat([buffer, Buffer.from([value])]) + + while (++i < len) { + out[i] = buffer[i] << 1 | buffer[i + 1] >> (7) + } + + return out +} + +exports.encrypt = function (self, chunk, decrypt) { + var len = chunk.length + var out = Buffer.allocUnsafe(len) + var i = -1 + + while (++i < len) { + out[i] = encryptByte(self, chunk[i], decrypt) + } + + return out +} + +},{"safe-buffer":163}],29:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer + +function encryptByte (self, byteParam, decrypt) { + var pad = self._cipher.encryptBlock(self._prev) + var out = pad[0] ^ byteParam + + self._prev = Buffer.concat([ + self._prev.slice(1), + Buffer.from([decrypt ? byteParam : out]) + ]) + + return out +} + +exports.encrypt = function (self, chunk, decrypt) { + var len = chunk.length + var out = Buffer.allocUnsafe(len) + var i = -1 + + while (++i < len) { + out[i] = encryptByte(self, chunk[i], decrypt) + } + + return out +} + +},{"safe-buffer":163}],30:[function(require,module,exports){ +var xor = require('buffer-xor') +var Buffer = require('safe-buffer').Buffer +var incr32 = require('../incr32') + +function getBlock (self) { + var out = self._cipher.encryptBlockRaw(self._prev) + incr32(self._prev) + return out +} + +var blockSize = 16 +exports.encrypt = function (self, chunk) { + var chunkNum = Math.ceil(chunk.length / blockSize) + var start = self._cache.length + self._cache = Buffer.concat([ + self._cache, + Buffer.allocUnsafe(chunkNum * blockSize) + ]) + for (var i = 0; i < chunkNum; i++) { + var out = getBlock(self) + var offset = start + i * blockSize + self._cache.writeUInt32BE(out[0], offset + 0) + self._cache.writeUInt32BE(out[1], offset + 4) + self._cache.writeUInt32BE(out[2], offset + 8) + self._cache.writeUInt32BE(out[3], offset + 12) + } + var pad = self._cache.slice(0, chunk.length) + self._cache = self._cache.slice(chunk.length) + return xor(chunk, pad) +} + +},{"../incr32":25,"buffer-xor":46,"safe-buffer":163}],31:[function(require,module,exports){ +exports.encrypt = function (self, block) { + return self._cipher.encryptBlock(block) +} + +exports.decrypt = function (self, block) { + return self._cipher.decryptBlock(block) +} + +},{}],32:[function(require,module,exports){ +var modeModules = { + ECB: require('./ecb'), + CBC: require('./cbc'), + CFB: require('./cfb'), + CFB8: require('./cfb8'), + CFB1: require('./cfb1'), + OFB: require('./ofb'), + CTR: require('./ctr'), + GCM: require('./ctr') +} + +var modes = require('./list.json') + +for (var key in modes) { + modes[key].module = modeModules[modes[key].mode] +} + +module.exports = modes + +},{"./cbc":26,"./cfb":27,"./cfb1":28,"./cfb8":29,"./ctr":30,"./ecb":31,"./list.json":33,"./ofb":34}],33:[function(require,module,exports){ +module.exports={ + "aes-128-ecb": { + "cipher": "AES", + "key": 128, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-192-ecb": { + "cipher": "AES", + "key": 192, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-256-ecb": { + "cipher": "AES", + "key": 256, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-128-cbc": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-192-cbc": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-256-cbc": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes128": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes192": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes256": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-128-cfb": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-192-cfb": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-256-cfb": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-128-cfb8": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-192-cfb8": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-256-cfb8": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-128-cfb1": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-192-cfb1": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-256-cfb1": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-128-ofb": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-192-ofb": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-256-ofb": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-128-ctr": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-192-ctr": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-256-ctr": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-128-gcm": { + "cipher": "AES", + "key": 128, + "iv": 12, + "mode": "GCM", + "type": "auth" + }, + "aes-192-gcm": { + "cipher": "AES", + "key": 192, + "iv": 12, + "mode": "GCM", + "type": "auth" + }, + "aes-256-gcm": { + "cipher": "AES", + "key": 256, + "iv": 12, + "mode": "GCM", + "type": "auth" + } +} + +},{}],34:[function(require,module,exports){ +(function (Buffer){ +var xor = require('buffer-xor') + +function getBlock (self) { + self._prev = self._cipher.encryptBlock(self._prev) + return self._prev +} + +exports.encrypt = function (self, chunk) { + while (self._cache.length < chunk.length) { + self._cache = Buffer.concat([self._cache, getBlock(self)]) + } + + var pad = self._cache.slice(0, chunk.length) + self._cache = self._cache.slice(chunk.length) + return xor(chunk, pad) +} + +}).call(this,require("buffer").Buffer) +},{"buffer":47,"buffer-xor":46}],35:[function(require,module,exports){ +var aes = require('./aes') +var Buffer = require('safe-buffer').Buffer +var Transform = require('cipher-base') +var inherits = require('inherits') + +function StreamCipher (mode, key, iv, decrypt) { + Transform.call(this) + + this._cipher = new aes.AES(key) + this._prev = Buffer.from(iv) + this._cache = Buffer.allocUnsafe(0) + this._secCache = Buffer.allocUnsafe(0) + this._decrypt = decrypt + this._mode = mode +} + +inherits(StreamCipher, Transform) + +StreamCipher.prototype._update = function (chunk) { + return this._mode.encrypt(this, chunk, this._decrypt) +} + +StreamCipher.prototype._final = function () { + this._cipher.scrub() +} + +module.exports = StreamCipher + +},{"./aes":19,"cipher-base":48,"inherits":117,"safe-buffer":163}],36:[function(require,module,exports){ +var DES = require('browserify-des') +var aes = require('browserify-aes/browser') +var aesModes = require('browserify-aes/modes') +var desModes = require('browserify-des/modes') +var ebtk = require('evp_bytestokey') + +function createCipher (suite, password) { + suite = suite.toLowerCase() + + var keyLen, ivLen + if (aesModes[suite]) { + keyLen = aesModes[suite].key + ivLen = aesModes[suite].iv + } else if (desModes[suite]) { + keyLen = desModes[suite].key * 8 + ivLen = desModes[suite].iv + } else { + throw new TypeError('invalid suite type') + } + + var keys = ebtk(password, false, keyLen, ivLen) + return createCipheriv(suite, keys.key, keys.iv) +} + +function createDecipher (suite, password) { + suite = suite.toLowerCase() + + var keyLen, ivLen + if (aesModes[suite]) { + keyLen = aesModes[suite].key + ivLen = aesModes[suite].iv + } else if (desModes[suite]) { + keyLen = desModes[suite].key * 8 + ivLen = desModes[suite].iv + } else { + throw new TypeError('invalid suite type') + } + + var keys = ebtk(password, false, keyLen, ivLen) + return createDecipheriv(suite, keys.key, keys.iv) +} + +function createCipheriv (suite, key, iv) { + suite = suite.toLowerCase() + if (aesModes[suite]) return aes.createCipheriv(suite, key, iv) + if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite }) + + throw new TypeError('invalid suite type') +} + +function createDecipheriv (suite, key, iv) { + suite = suite.toLowerCase() + if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv) + if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true }) + + throw new TypeError('invalid suite type') +} + +function getCiphers () { + return Object.keys(desModes).concat(aes.getCiphers()) +} + +exports.createCipher = exports.Cipher = createCipher +exports.createCipheriv = exports.Cipheriv = createCipheriv +exports.createDecipher = exports.Decipher = createDecipher +exports.createDecipheriv = exports.Decipheriv = createDecipheriv +exports.listCiphers = exports.getCiphers = getCiphers + +},{"browserify-aes/browser":21,"browserify-aes/modes":32,"browserify-des":37,"browserify-des/modes":38,"evp_bytestokey":84}],37:[function(require,module,exports){ +var CipherBase = require('cipher-base') +var des = require('des.js') +var inherits = require('inherits') +var Buffer = require('safe-buffer').Buffer + +var modes = { + 'des-ede3-cbc': des.CBC.instantiate(des.EDE), + 'des-ede3': des.EDE, + 'des-ede-cbc': des.CBC.instantiate(des.EDE), + 'des-ede': des.EDE, + 'des-cbc': des.CBC.instantiate(des.DES), + 'des-ecb': des.DES +} +modes.des = modes['des-cbc'] +modes.des3 = modes['des-ede3-cbc'] +module.exports = DES +inherits(DES, CipherBase) +function DES (opts) { + CipherBase.call(this) + var modeName = opts.mode.toLowerCase() + var mode = modes[modeName] + var type + if (opts.decrypt) { + type = 'decrypt' + } else { + type = 'encrypt' + } + var key = opts.key + if (!Buffer.isBuffer(key)) { + key = Buffer.from(key) + } + if (modeName === 'des-ede' || modeName === 'des-ede-cbc') { + key = Buffer.concat([key, key.slice(0, 8)]) + } + var iv = opts.iv + if (!Buffer.isBuffer(iv)) { + iv = Buffer.from(iv) + } + this._des = mode.create({ + key: key, + iv: iv, + type: type + }) +} +DES.prototype._update = function (data) { + return Buffer.from(this._des.update(data)) +} +DES.prototype._final = function () { + return Buffer.from(this._des.final()) +} + +},{"cipher-base":48,"des.js":56,"inherits":117,"safe-buffer":163}],38:[function(require,module,exports){ +exports['des-ecb'] = { + key: 8, + iv: 0 +} +exports['des-cbc'] = exports.des = { + key: 8, + iv: 8 +} +exports['des-ede3-cbc'] = exports.des3 = { + key: 24, + iv: 8 +} +exports['des-ede3'] = { + key: 24, + iv: 0 +} +exports['des-ede-cbc'] = { + key: 16, + iv: 8 +} +exports['des-ede'] = { + key: 16, + iv: 0 +} + +},{}],39:[function(require,module,exports){ +(function (Buffer){ +var bn = require('bn.js'); +var randomBytes = require('randombytes'); +module.exports = crt; +function blind(priv) { + var r = getr(priv); + var blinder = r.toRed(bn.mont(priv.modulus)) + .redPow(new bn(priv.publicExponent)).fromRed(); + return { + blinder: blinder, + unblinder:r.invm(priv.modulus) + }; +} +function crt(msg, priv) { + var blinds = blind(priv); + var len = priv.modulus.byteLength(); + var mod = bn.mont(priv.modulus); + var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus); + var c1 = blinded.toRed(bn.mont(priv.prime1)); + var c2 = blinded.toRed(bn.mont(priv.prime2)); + var qinv = priv.coefficient; + var p = priv.prime1; + var q = priv.prime2; + var m1 = c1.redPow(priv.exponent1); + var m2 = c2.redPow(priv.exponent2); + m1 = m1.fromRed(); + m2 = m2.fromRed(); + var h = m1.isub(m2).imul(qinv).umod(p); + h.imul(q); + m2.iadd(h); + return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len)); +} +crt.getr = getr; +function getr(priv) { + var len = priv.modulus.byteLength(); + var r = new bn(randomBytes(len)); + while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) { + r = new bn(randomBytes(len)); + } + return r; +} + +}).call(this,require("buffer").Buffer) +},{"bn.js":16,"buffer":47,"randombytes":144}],40:[function(require,module,exports){ +module.exports = require('./browser/algorithms.json') + +},{"./browser/algorithms.json":41}],41:[function(require,module,exports){ +module.exports={ + "sha224WithRSAEncryption": { + "sign": "rsa", + "hash": "sha224", + "id": "302d300d06096086480165030402040500041c" + }, + "RSA-SHA224": { + "sign": "ecdsa/rsa", + "hash": "sha224", + "id": "302d300d06096086480165030402040500041c" + }, + "sha256WithRSAEncryption": { + "sign": "rsa", + "hash": "sha256", + "id": "3031300d060960864801650304020105000420" + }, + "RSA-SHA256": { + "sign": "ecdsa/rsa", + "hash": "sha256", + "id": "3031300d060960864801650304020105000420" + }, + "sha384WithRSAEncryption": { + "sign": "rsa", + "hash": "sha384", + "id": "3041300d060960864801650304020205000430" + }, + "RSA-SHA384": { + "sign": "ecdsa/rsa", + "hash": "sha384", + "id": "3041300d060960864801650304020205000430" + }, + "sha512WithRSAEncryption": { + "sign": "rsa", + "hash": "sha512", + "id": "3051300d060960864801650304020305000440" + }, + "RSA-SHA512": { + "sign": "ecdsa/rsa", + "hash": "sha512", + "id": "3051300d060960864801650304020305000440" + }, + "RSA-SHA1": { + "sign": "rsa", + "hash": "sha1", + "id": "3021300906052b0e03021a05000414" + }, + "ecdsa-with-SHA1": { + "sign": "ecdsa", + "hash": "sha1", + "id": "" + }, + "sha256": { + "sign": "ecdsa", + "hash": "sha256", + "id": "" + }, + "sha224": { + "sign": "ecdsa", + "hash": "sha224", + "id": "" + }, + "sha384": { + "sign": "ecdsa", + "hash": "sha384", + "id": "" + }, + "sha512": { + "sign": "ecdsa", + "hash": "sha512", + "id": "" + }, + "DSA-SHA": { + "sign": "dsa", + "hash": "sha1", + "id": "" + }, + "DSA-SHA1": { + "sign": "dsa", + "hash": "sha1", + "id": "" + }, + "DSA": { + "sign": "dsa", + "hash": "sha1", + "id": "" + }, + "DSA-WITH-SHA224": { + "sign": "dsa", + "hash": "sha224", + "id": "" + }, + "DSA-SHA224": { + "sign": "dsa", + "hash": "sha224", + "id": "" + }, + "DSA-WITH-SHA256": { + "sign": "dsa", + "hash": "sha256", + "id": "" + }, + "DSA-SHA256": { + "sign": "dsa", + "hash": "sha256", + "id": "" + }, + "DSA-WITH-SHA384": { + "sign": "dsa", + "hash": "sha384", + "id": "" + }, + "DSA-SHA384": { + "sign": "dsa", + "hash": "sha384", + "id": "" + }, + "DSA-WITH-SHA512": { + "sign": "dsa", + "hash": "sha512", + "id": "" + }, + "DSA-SHA512": { + "sign": "dsa", + "hash": "sha512", + "id": "" + }, + "DSA-RIPEMD160": { + "sign": "dsa", + "hash": "rmd160", + "id": "" + }, + "ripemd160WithRSA": { + "sign": "rsa", + "hash": "rmd160", + "id": "3021300906052b2403020105000414" + }, + "RSA-RIPEMD160": { + "sign": "rsa", + "hash": "rmd160", + "id": "3021300906052b2403020105000414" + }, + "md5WithRSAEncryption": { + "sign": "rsa", + "hash": "md5", + "id": "3020300c06082a864886f70d020505000410" + }, + "RSA-MD5": { + "sign": "rsa", + "hash": "md5", + "id": "3020300c06082a864886f70d020505000410" + } +} + +},{}],42:[function(require,module,exports){ +module.exports={ + "1.3.132.0.10": "secp256k1", + "1.3.132.0.33": "p224", + "1.2.840.10045.3.1.1": "p192", + "1.2.840.10045.3.1.7": "p256", + "1.3.132.0.34": "p384", + "1.3.132.0.35": "p521" +} + +},{}],43:[function(require,module,exports){ +(function (Buffer){ +var createHash = require('create-hash') +var stream = require('stream') +var inherits = require('inherits') +var sign = require('./sign') +var verify = require('./verify') + +var algorithms = require('./algorithms.json') +Object.keys(algorithms).forEach(function (key) { + algorithms[key].id = new Buffer(algorithms[key].id, 'hex') + algorithms[key.toLowerCase()] = algorithms[key] +}) + +function Sign (algorithm) { + stream.Writable.call(this) + + var data = algorithms[algorithm] + if (!data) throw new Error('Unknown message digest') + + this._hashType = data.hash + this._hash = createHash(data.hash) + this._tag = data.id + this._signType = data.sign +} +inherits(Sign, stream.Writable) + +Sign.prototype._write = function _write (data, _, done) { + this._hash.update(data) + done() +} + +Sign.prototype.update = function update (data, enc) { + if (typeof data === 'string') data = new Buffer(data, enc) + + this._hash.update(data) + return this +} + +Sign.prototype.sign = function signMethod (key, enc) { + this.end() + var hash = this._hash.digest() + var sig = sign(hash, key, this._hashType, this._signType, this._tag) + + return enc ? sig.toString(enc) : sig +} + +function Verify (algorithm) { + stream.Writable.call(this) + + var data = algorithms[algorithm] + if (!data) throw new Error('Unknown message digest') + + this._hash = createHash(data.hash) + this._tag = data.id + this._signType = data.sign +} +inherits(Verify, stream.Writable) + +Verify.prototype._write = function _write (data, _, done) { + this._hash.update(data) + done() +} + +Verify.prototype.update = function update (data, enc) { + if (typeof data === 'string') data = new Buffer(data, enc) + + this._hash.update(data) + return this +} + +Verify.prototype.verify = function verifyMethod (key, sig, enc) { + if (typeof sig === 'string') sig = new Buffer(sig, enc) + + this.end() + var hash = this._hash.digest() + return verify(sig, hash, key, this._signType, this._tag) +} + +function createSign (algorithm) { + return new Sign(algorithm) +} + +function createVerify (algorithm) { + return new Verify(algorithm) +} + +module.exports = { + Sign: createSign, + Verify: createVerify, + createSign: createSign, + createVerify: createVerify +} + +}).call(this,require("buffer").Buffer) +},{"./algorithms.json":41,"./sign":44,"./verify":45,"buffer":47,"create-hash":51,"inherits":117,"stream":184}],44:[function(require,module,exports){ +(function (Buffer){ +// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js +var createHmac = require('create-hmac') +var crt = require('browserify-rsa') +var EC = require('elliptic').ec +var BN = require('bn.js') +var parseKeys = require('parse-asn1') +var curves = require('./curves.json') + +function sign (hash, key, hashType, signType, tag) { + var priv = parseKeys(key) + if (priv.curve) { + // rsa keys can be interpreted as ecdsa ones in openssl + if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type') + return ecSign(hash, priv) + } else if (priv.type === 'dsa') { + if (signType !== 'dsa') throw new Error('wrong private key type') + return dsaSign(hash, priv, hashType) + } else { + if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type') + } + hash = Buffer.concat([tag, hash]) + var len = priv.modulus.byteLength() + var pad = [ 0, 1 ] + while (hash.length + pad.length + 1 < len) pad.push(0xff) + pad.push(0x00) + var i = -1 + while (++i < hash.length) pad.push(hash[i]) + + var out = crt(pad, priv) + return out +} + +function ecSign (hash, priv) { + var curveId = curves[priv.curve.join('.')] + if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.')) + + var curve = new EC(curveId) + var key = curve.keyFromPrivate(priv.privateKey) + var out = key.sign(hash) + + return new Buffer(out.toDER()) +} + +function dsaSign (hash, priv, algo) { + var x = priv.params.priv_key + var p = priv.params.p + var q = priv.params.q + var g = priv.params.g + var r = new BN(0) + var k + var H = bits2int(hash, q).mod(q) + var s = false + var kv = getKey(x, q, hash, algo) + while (s === false) { + k = makeKey(q, kv, algo) + r = makeR(g, k, p, q) + s = k.invm(q).imul(H.add(x.mul(r))).mod(q) + if (s.cmpn(0) === 0) { + s = false + r = new BN(0) + } + } + return toDER(r, s) +} + +function toDER (r, s) { + r = r.toArray() + s = s.toArray() + + // Pad values + if (r[0] & 0x80) r = [ 0 ].concat(r) + if (s[0] & 0x80) s = [ 0 ].concat(s) + + var total = r.length + s.length + 4 + var res = [ 0x30, total, 0x02, r.length ] + res = res.concat(r, [ 0x02, s.length ], s) + return new Buffer(res) +} + +function getKey (x, q, hash, algo) { + x = new Buffer(x.toArray()) + if (x.length < q.byteLength()) { + var zeros = new Buffer(q.byteLength() - x.length) + zeros.fill(0) + x = Buffer.concat([ zeros, x ]) + } + var hlen = hash.length + var hbits = bits2octets(hash, q) + var v = new Buffer(hlen) + v.fill(1) + var k = new Buffer(hlen) + k.fill(0) + k = createHmac(algo, k).update(v).update(new Buffer([ 0 ])).update(x).update(hbits).digest() + v = createHmac(algo, k).update(v).digest() + k = createHmac(algo, k).update(v).update(new Buffer([ 1 ])).update(x).update(hbits).digest() + v = createHmac(algo, k).update(v).digest() + return { k: k, v: v } +} + +function bits2int (obits, q) { + var bits = new BN(obits) + var shift = (obits.length << 3) - q.bitLength() + if (shift > 0) bits.ishrn(shift) + return bits +} + +function bits2octets (bits, q) { + bits = bits2int(bits, q) + bits = bits.mod(q) + var out = new Buffer(bits.toArray()) + if (out.length < q.byteLength()) { + var zeros = new Buffer(q.byteLength() - out.length) + zeros.fill(0) + out = Buffer.concat([ zeros, out ]) + } + return out +} + +function makeKey (q, kv, algo) { + var t + var k + + do { + t = new Buffer(0) + + while (t.length * 8 < q.bitLength()) { + kv.v = createHmac(algo, kv.k).update(kv.v).digest() + t = Buffer.concat([ t, kv.v ]) + } + + k = bits2int(t, q) + kv.k = createHmac(algo, kv.k).update(kv.v).update(new Buffer([ 0 ])).digest() + kv.v = createHmac(algo, kv.k).update(kv.v).digest() + } while (k.cmp(q) !== -1) + + return k +} + +function makeR (g, k, p, q) { + return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q) +} + +module.exports = sign +module.exports.getKey = getKey +module.exports.makeKey = makeKey + +}).call(this,require("buffer").Buffer) +},{"./curves.json":42,"bn.js":16,"browserify-rsa":39,"buffer":47,"create-hmac":53,"elliptic":66,"parse-asn1":129}],45:[function(require,module,exports){ +(function (Buffer){ +// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js +var BN = require('bn.js') +var EC = require('elliptic').ec +var parseKeys = require('parse-asn1') +var curves = require('./curves.json') + +function verify (sig, hash, key, signType, tag) { + var pub = parseKeys(key) + if (pub.type === 'ec') { + // rsa keys can be interpreted as ecdsa ones in openssl + if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') + return ecVerify(sig, hash, pub) + } else if (pub.type === 'dsa') { + if (signType !== 'dsa') throw new Error('wrong public key type') + return dsaVerify(sig, hash, pub) + } else { + if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') + } + hash = Buffer.concat([tag, hash]) + var len = pub.modulus.byteLength() + var pad = [ 1 ] + var padNum = 0 + while (hash.length + pad.length + 2 < len) { + pad.push(0xff) + padNum++ + } + pad.push(0x00) + var i = -1 + while (++i < hash.length) { + pad.push(hash[i]) + } + pad = new Buffer(pad) + var red = BN.mont(pub.modulus) + sig = new BN(sig).toRed(red) + + sig = sig.redPow(new BN(pub.publicExponent)) + sig = new Buffer(sig.fromRed().toArray()) + var out = padNum < 8 ? 1 : 0 + len = Math.min(sig.length, pad.length) + if (sig.length !== pad.length) out = 1 + + i = -1 + while (++i < len) out |= sig[i] ^ pad[i] + return out === 0 +} + +function ecVerify (sig, hash, pub) { + var curveId = curves[pub.data.algorithm.curve.join('.')] + if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')) + + var curve = new EC(curveId) + var pubkey = pub.data.subjectPrivateKey.data + + return curve.verify(hash, sig, pubkey) +} + +function dsaVerify (sig, hash, pub) { + var p = pub.data.p + var q = pub.data.q + var g = pub.data.g + var y = pub.data.pub_key + var unpacked = parseKeys.signature.decode(sig, 'der') + var s = unpacked.s + var r = unpacked.r + checkValue(s, q) + checkValue(r, q) + var montp = BN.mont(p) + var w = s.invm(q) + var v = g.toRed(montp) + .redPow(new BN(hash).mul(w).mod(q)) + .fromRed() + .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()) + .mod(p) + .mod(q) + return v.cmp(r) === 0 +} + +function checkValue (b, q) { + if (b.cmpn(0) <= 0) throw new Error('invalid sig') + if (b.cmp(q) >= q) throw new Error('invalid sig') +} + +module.exports = verify + +}).call(this,require("buffer").Buffer) +},{"./curves.json":42,"bn.js":16,"buffer":47,"elliptic":66,"parse-asn1":129}],46:[function(require,module,exports){ +(function (Buffer){ +module.exports = function xor (a, b) { + var length = Math.min(a.length, b.length) + var buffer = new Buffer(length) + + for (var i = 0; i < length; ++i) { + buffer[i] = a[i] ^ b[i] + } + + return buffer +} + +}).call(this,require("buffer").Buffer) +},{"buffer":47}],47:[function(require,module,exports){ +(function (Buffer){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/* eslint-disable no-proto */ + +'use strict' + +var base64 = require('base64-js') +var ieee754 = require('ieee754') +var customInspectSymbol = + (typeof Symbol === 'function' && typeof Symbol.for === 'function') + ? Symbol.for('nodejs.util.inspect.custom') + : null + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 + +var K_MAX_LENGTH = 0x7fffffff +exports.kMaxLength = K_MAX_LENGTH + +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Print warning and recommend using `buffer` v4.x which has an Object + * implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * We report that the browser does not support typed arrays if the are not subclassable + * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` + * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support + * for __proto__ and has a buggy typed array implementation. + */ +Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() + +if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && + typeof console.error === 'function') { + console.error( + 'This browser lacks typed array (Uint8Array) support which is required by ' + + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' + ) +} + +function typedArraySupport () { + // Can typed array instances can be augmented? + try { + var arr = new Uint8Array(1) + var proto = { foo: function () { return 42 } } + Object.setPrototypeOf(proto, Uint8Array.prototype) + Object.setPrototypeOf(arr, proto) + return arr.foo() === 42 + } catch (e) { + return false + } +} + +Object.defineProperty(Buffer.prototype, 'parent', { + enumerable: true, + get: function () { + if (!Buffer.isBuffer(this)) return undefined + return this.buffer + } +}) + +Object.defineProperty(Buffer.prototype, 'offset', { + enumerable: true, + get: function () { + if (!Buffer.isBuffer(this)) return undefined + return this.byteOffset + } +}) + +function createBuffer (length) { + if (length > K_MAX_LENGTH) { + throw new RangeError('The value "' + length + '" is invalid for option "size"') + } + // Return an augmented `Uint8Array` instance + var buf = new Uint8Array(length) + Object.setPrototypeOf(buf, Buffer.prototype) + return buf +} + +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + +function Buffer (arg, encodingOrOffset, length) { + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new TypeError( + 'The "string" argument must be of type string. Received type number' + ) + } + return allocUnsafe(arg) + } + return from(arg, encodingOrOffset, length) +} + +Buffer.poolSize = 8192 // not used by this implementation + +function from (value, encodingOrOffset, length) { + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + if (ArrayBuffer.isView(value)) { + return fromArrayLike(value) + } + + if (value == null) { + throw new TypeError( + 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + + 'or Array-like Object. Received type ' + (typeof value) + ) + } + + if (isInstance(value, ArrayBuffer) || + (value && isInstance(value.buffer, ArrayBuffer))) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof SharedArrayBuffer !== 'undefined' && + (isInstance(value, SharedArrayBuffer) || + (value && isInstance(value.buffer, SharedArrayBuffer)))) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'number') { + throw new TypeError( + 'The "value" argument must not be of type number. Received type number' + ) + } + + var valueOf = value.valueOf && value.valueOf() + if (valueOf != null && valueOf !== value) { + return Buffer.from(valueOf, encodingOrOffset, length) + } + + var b = fromObject(value) + if (b) return b + + if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && + typeof value[Symbol.toPrimitive] === 'function') { + return Buffer.from( + value[Symbol.toPrimitive]('string'), encodingOrOffset, length + ) + } + + throw new TypeError( + 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + + 'or Array-like Object. Received type ' + (typeof value) + ) +} + +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ +Buffer.from = function (value, encodingOrOffset, length) { + return from(value, encodingOrOffset, length) +} + +// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: +// https://github.com/feross/buffer/pull/148 +Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype) +Object.setPrototypeOf(Buffer, Uint8Array) + +function assertSize (size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be of type number') + } else if (size < 0) { + throw new RangeError('The value "' + size + '" is invalid for option "size"') + } +} + +function alloc (size, fill, encoding) { + assertSize(size) + if (size <= 0) { + return createBuffer(size) + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' + ? createBuffer(size).fill(fill, encoding) + : createBuffer(size).fill(fill) + } + return createBuffer(size) +} + +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ +Buffer.alloc = function (size, fill, encoding) { + return alloc(size, fill, encoding) +} + +function allocUnsafe (size) { + assertSize(size) + return createBuffer(size < 0 ? 0 : checked(size) | 0) +} + +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ +Buffer.allocUnsafe = function (size) { + return allocUnsafe(size) +} +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(size) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + + var length = byteLength(string, encoding) | 0 + var buf = createBuffer(length) + + var actual = buf.write(string, encoding) + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + buf = buf.slice(0, actual) + } + + return buf +} + +function fromArrayLike (array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0 + var buf = createBuffer(length) + for (var i = 0; i < length; i += 1) { + buf[i] = array[i] & 255 + } + return buf +} + +function fromArrayBuffer (array, byteOffset, length) { + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('"offset" is outside of buffer bounds') + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('"length" is outside of buffer bounds') + } + + var buf + if (byteOffset === undefined && length === undefined) { + buf = new Uint8Array(array) + } else if (length === undefined) { + buf = new Uint8Array(array, byteOffset) + } else { + buf = new Uint8Array(array, byteOffset, length) + } + + // Return an augmented `Uint8Array` instance + Object.setPrototypeOf(buf, Buffer.prototype) + + return buf +} + +function fromObject (obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0 + var buf = createBuffer(len) + + if (buf.length === 0) { + return buf + } + + obj.copy(buf, 0, 0, len) + return buf + } + + if (obj.length !== undefined) { + if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { + return createBuffer(0) + } + return fromArrayLike(obj) + } + + if (obj.type === 'Buffer' && Array.isArray(obj.data)) { + return fromArrayLike(obj.data) + } +} + +function checked (length) { + // Note: cannot use `length < K_MAX_LENGTH` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= K_MAX_LENGTH) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (length) { + if (+length != length) { // eslint-disable-line eqeqeq + length = 0 + } + return Buffer.alloc(+length) +} + +Buffer.isBuffer = function isBuffer (b) { + return b != null && b._isBuffer === true && + b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false +} + +Buffer.compare = function compare (a, b) { + if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength) + if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength) + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' + ) + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i] + y = b[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + + if (list.length === 0) { + return Buffer.alloc(0) + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; ++i) { + length += list[i].length + } + } + + var buffer = Buffer.allocUnsafe(length) + var pos = 0 + for (i = 0; i < list.length; ++i) { + var buf = list[i] + if (isInstance(buf, Uint8Array)) { + buf = Buffer.from(buf) + } + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + buf.copy(buffer, pos) + pos += buf.length + } + return buffer +} + +function byteLength (string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length + } + if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { + return string.byteLength + } + if (typeof string !== 'string') { + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + + 'Received type ' + typeof string + ) + } + + var len = string.length + var mustMatch = (arguments.length > 2 && arguments[2] === true) + if (!mustMatch && len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len + case 'utf8': + case 'utf-8': + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) { + return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8 + } + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +function slowToString (encoding, start, end) { + var loweredCase = false + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0 + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return '' + } + + if (end === undefined || end > this.length) { + end = this.length + } + + if (end <= 0) { + return '' + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0 + start >>>= 0 + + if (end <= start) { + return '' + } + + if (!encoding) encoding = 'utf8' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} + +// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) +// to detect a Buffer instance. It's not possible to use `instanceof Buffer` +// reliably in a browserify context because there could be multiple different +// copies of the 'buffer' package in use. This method works even for Buffer +// instances that were created from another copy of the `buffer` package. +// See: https://github.com/feross/buffer/issues/154 +Buffer.prototype._isBuffer = true + +function swap (b, n, m) { + var i = b[n] + b[n] = b[m] + b[m] = i +} + +Buffer.prototype.swap16 = function swap16 () { + var len = this.length + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits') + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1) + } + return this +} + +Buffer.prototype.swap32 = function swap32 () { + var len = this.length + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits') + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3) + swap(this, i + 1, i + 2) + } + return this +} + +Buffer.prototype.swap64 = function swap64 () { + var len = this.length + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits') + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7) + swap(this, i + 1, i + 6) + swap(this, i + 2, i + 5) + swap(this, i + 3, i + 4) + } + return this +} + +Buffer.prototype.toString = function toString () { + var length = this.length + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} + +Buffer.prototype.toLocaleString = Buffer.prototype.toString + +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} + +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim() + if (this.length > max) str += ' ... ' + return '' +} +if (customInspectSymbol) { + Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect +} + +Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { + if (isInstance(target, Uint8Array)) { + target = Buffer.from(target, target.offset, target.byteLength) + } + if (!Buffer.isBuffer(target)) { + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. ' + + 'Received type ' + (typeof target) + ) + } + + if (start === undefined) { + start = 0 + } + if (end === undefined) { + end = target ? target.length : 0 + } + if (thisStart === undefined) { + thisStart = 0 + } + if (thisEnd === undefined) { + thisEnd = this.length + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index') + } + + if (thisStart >= thisEnd && start >= end) { + return 0 + } + if (thisStart >= thisEnd) { + return -1 + } + if (start >= end) { + return 1 + } + + start >>>= 0 + end >>>= 0 + thisStart >>>= 0 + thisEnd >>>= 0 + + if (this === target) return 0 + + var x = thisEnd - thisStart + var y = end - start + var len = Math.min(x, y) + + var thisCopy = this.slice(thisStart, thisEnd) + var targetCopy = target.slice(start, end) + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i] + y = targetCopy[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf +function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1 + + // Normalize byteOffset + if (typeof byteOffset === 'string') { + encoding = byteOffset + byteOffset = 0 + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000 + } + byteOffset = +byteOffset // Coerce to Number. + if (numberIsNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : (buffer.length - 1) + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset + if (byteOffset >= buffer.length) { + if (dir) return -1 + else byteOffset = buffer.length - 1 + } else if (byteOffset < 0) { + if (dir) byteOffset = 0 + else return -1 + } + + // Normalize val + if (typeof val === 'string') { + val = Buffer.from(val, encoding) + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1 + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir) + } else if (typeof val === 'number') { + val = val & 0xFF // Search for a byte value [0-255] + if (typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir) + } + + throw new TypeError('val must be string, number or Buffer') +} + +function arrayIndexOf (arr, val, byteOffset, encoding, dir) { + var indexSize = 1 + var arrLength = arr.length + var valLength = val.length + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase() + if (encoding === 'ucs2' || encoding === 'ucs-2' || + encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1 + } + indexSize = 2 + arrLength /= 2 + valLength /= 2 + byteOffset /= 2 + } + } + + function read (buf, i) { + if (indexSize === 1) { + return buf[i] + } else { + return buf.readUInt16BE(i * indexSize) + } + } + + var i + if (dir) { + var foundIndex = -1 + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize + } else { + if (foundIndex !== -1) i -= i - foundIndex + foundIndex = -1 + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength + for (i = byteOffset; i >= 0; i--) { + var found = true + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false + break + } + } + if (found) return i + } + } + + return -1 +} + +Buffer.prototype.includes = function includes (val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1 +} + +Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true) +} + +Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + var strLen = string.length + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (numberIsNaN(parsed)) return i + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function latin1Write (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset >>> 0 + if (isFinite(length)) { + length = length >>> 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + } else { + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ) + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } + + res.push(codePoint) + i += bytesPerSequence + } + + return decodeCodePointsArray(res) +} + +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function latin1Slice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; ++i) { + out += hexSliceLookupTable[buf[i]] + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256)) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf = this.subarray(start, end) + // Return an augmented `Uint8Array` instance + Object.setPrototypeOf(newBuf, Buffer.prototype) + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + offset = offset >>> 0 + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') + if (offset + ext > buf.length) throw new RangeError('Index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset >>> 0 + byteLength = byteLength >>> 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + return offset + 2 +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = (value & 0xff) + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) { + var limit = Math.pow(2, (8 * byteLength) - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) { + var limit = Math.pow(2, (8 * byteLength) - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (value < 0) value = 0xff + value + 1 + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range') + if (offset < 0) throw new RangeError('Index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + value = +value + offset = offset >>> 0 + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer') + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('Index out of range') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + + if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { + // Use built-in when available, missing from IE11 + this.copyWithin(targetStart, start, end) + } else if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (var i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start] + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, end), + targetStart + ) + } + + return len +} + +// Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) +Buffer.prototype.fill = function fill (val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start + start = 0 + end = this.length + } else if (typeof end === 'string') { + encoding = end + end = this.length + } + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string') + } + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + if (val.length === 1) { + var code = val.charCodeAt(0) + if ((encoding === 'utf8' && code < 128) || + encoding === 'latin1') { + // Fast path: If `val` fits into a single byte, use that numeric value. + val = code + } + } + } else if (typeof val === 'number') { + val = val & 255 + } else if (typeof val === 'boolean') { + val = Number(val) + } + + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index') + } + + if (end <= start) { + return this + } + + start = start >>> 0 + end = end === undefined ? this.length : end >>> 0 + + if (!val) val = 0 + + var i + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val + } + } else { + var bytes = Buffer.isBuffer(val) + ? val + : Buffer.from(val, encoding) + var len = bytes.length + if (len === 0) { + throw new TypeError('The value "' + val + + '" is invalid for argument "value"') + } + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len] + } + } + + return this +} + +// HELPER FUNCTIONS +// ================ + +var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node takes equal signs as end of the Base64 encoding + str = str.split('=')[0] + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = str.trim().replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass +// the `instanceof` check but they should be treated as of that type. +// See: https://github.com/feross/buffer/issues/166 +function isInstance (obj, type) { + return obj instanceof type || + (obj != null && obj.constructor != null && obj.constructor.name != null && + obj.constructor.name === type.name) +} +function numberIsNaN (obj) { + // For IE11 support + return obj !== obj // eslint-disable-line no-self-compare +} + +// Create lookup table for `toString('hex')` +// See: https://github.com/feross/buffer/issues/219 +var hexSliceLookupTable = (function () { + var alphabet = '0123456789abcdef' + var table = new Array(256) + for (var i = 0; i < 16; ++i) { + var i16 = i * 16 + for (var j = 0; j < 16; ++j) { + table[i16 + j] = alphabet[i] + alphabet[j] + } + } + return table +})() + +}).call(this,require("buffer").Buffer) +},{"base64-js":15,"buffer":47,"ieee754":115}],48:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer +var Transform = require('stream').Transform +var StringDecoder = require('string_decoder').StringDecoder +var inherits = require('inherits') + +function CipherBase (hashMode) { + Transform.call(this) + this.hashMode = typeof hashMode === 'string' + if (this.hashMode) { + this[hashMode] = this._finalOrDigest + } else { + this.final = this._finalOrDigest + } + if (this._final) { + this.__final = this._final + this._final = null + } + this._decoder = null + this._encoding = null +} +inherits(CipherBase, Transform) + +CipherBase.prototype.update = function (data, inputEnc, outputEnc) { + if (typeof data === 'string') { + data = Buffer.from(data, inputEnc) + } + + var outData = this._update(data) + if (this.hashMode) return this + + if (outputEnc) { + outData = this._toString(outData, outputEnc) + } + + return outData +} + +CipherBase.prototype.setAutoPadding = function () {} +CipherBase.prototype.getAuthTag = function () { + throw new Error('trying to get auth tag in unsupported state') +} + +CipherBase.prototype.setAuthTag = function () { + throw new Error('trying to set auth tag in unsupported state') +} + +CipherBase.prototype.setAAD = function () { + throw new Error('trying to set aad in unsupported state') +} + +CipherBase.prototype._transform = function (data, _, next) { + var err + try { + if (this.hashMode) { + this._update(data) + } else { + this.push(this._update(data)) + } + } catch (e) { + err = e + } finally { + next(err) + } +} +CipherBase.prototype._flush = function (done) { + var err + try { + this.push(this.__final()) + } catch (e) { + err = e + } + + done(err) +} +CipherBase.prototype._finalOrDigest = function (outputEnc) { + var outData = this.__final() || Buffer.alloc(0) + if (outputEnc) { + outData = this._toString(outData, outputEnc, true) + } + return outData +} + +CipherBase.prototype._toString = function (value, enc, fin) { + if (!this._decoder) { + this._decoder = new StringDecoder(enc) + this._encoding = enc + } + + if (this._encoding !== enc) throw new Error('can\'t switch encodings') + + var out = this._decoder.write(value) + if (fin) { + out += this._decoder.end() + } + + return out +} + +module.exports = CipherBase + +},{"inherits":117,"safe-buffer":163,"stream":184,"string_decoder":185}],49:[function(require,module,exports){ +(function (Buffer){ +// 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. + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. + +function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); + } + return objectToString(arg) === '[object Array]'; +} +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 objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return (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 = Buffer.isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + +}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) +},{"../../is-buffer/index.js":118}],50:[function(require,module,exports){ +(function (Buffer){ +var elliptic = require('elliptic') +var BN = require('bn.js') + +module.exports = function createECDH (curve) { + return new ECDH(curve) +} + +var aliases = { + secp256k1: { + name: 'secp256k1', + byteLength: 32 + }, + secp224r1: { + name: 'p224', + byteLength: 28 + }, + prime256v1: { + name: 'p256', + byteLength: 32 + }, + prime192v1: { + name: 'p192', + byteLength: 24 + }, + ed25519: { + name: 'ed25519', + byteLength: 32 + }, + secp384r1: { + name: 'p384', + byteLength: 48 + }, + secp521r1: { + name: 'p521', + byteLength: 66 + } +} + +aliases.p224 = aliases.secp224r1 +aliases.p256 = aliases.secp256r1 = aliases.prime256v1 +aliases.p192 = aliases.secp192r1 = aliases.prime192v1 +aliases.p384 = aliases.secp384r1 +aliases.p521 = aliases.secp521r1 + +function ECDH (curve) { + this.curveType = aliases[curve] + if (!this.curveType) { + this.curveType = { + name: curve + } + } + this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap + this.keys = void 0 +} + +ECDH.prototype.generateKeys = function (enc, format) { + this.keys = this.curve.genKeyPair() + return this.getPublicKey(enc, format) +} + +ECDH.prototype.computeSecret = function (other, inenc, enc) { + inenc = inenc || 'utf8' + if (!Buffer.isBuffer(other)) { + other = new Buffer(other, inenc) + } + var otherPub = this.curve.keyFromPublic(other).getPublic() + var out = otherPub.mul(this.keys.getPrivate()).getX() + return formatReturnValue(out, enc, this.curveType.byteLength) +} + +ECDH.prototype.getPublicKey = function (enc, format) { + var key = this.keys.getPublic(format === 'compressed', true) + if (format === 'hybrid') { + if (key[key.length - 1] % 2) { + key[0] = 7 + } else { + key[0] = 6 + } + } + return formatReturnValue(key, enc) +} + +ECDH.prototype.getPrivateKey = function (enc) { + return formatReturnValue(this.keys.getPrivate(), enc) +} + +ECDH.prototype.setPublicKey = function (pub, enc) { + enc = enc || 'utf8' + if (!Buffer.isBuffer(pub)) { + pub = new Buffer(pub, enc) + } + this.keys._importPublic(pub) + return this +} + +ECDH.prototype.setPrivateKey = function (priv, enc) { + enc = enc || 'utf8' + if (!Buffer.isBuffer(priv)) { + priv = new Buffer(priv, enc) + } + + var _priv = new BN(priv) + _priv = _priv.toString(16) + this.keys = this.curve.genKeyPair() + this.keys._importPrivate(_priv) + return this +} + +function formatReturnValue (bn, enc, len) { + if (!Array.isArray(bn)) { + bn = bn.toArray() + } + var buf = new Buffer(bn) + if (len && buf.length < len) { + var zeros = new Buffer(len - buf.length) + zeros.fill(0) + buf = Buffer.concat([zeros, buf]) + } + if (!enc) { + return buf + } else { + return buf.toString(enc) + } +} + +}).call(this,require("buffer").Buffer) +},{"bn.js":16,"buffer":47,"elliptic":66}],51:[function(require,module,exports){ +'use strict' +var inherits = require('inherits') +var MD5 = require('md5.js') +var RIPEMD160 = require('ripemd160') +var sha = require('sha.js') +var Base = require('cipher-base') + +function Hash (hash) { + Base.call(this, 'digest') + + this._hash = hash +} + +inherits(Hash, Base) + +Hash.prototype._update = function (data) { + this._hash.update(data) +} + +Hash.prototype._final = function () { + return this._hash.digest() +} + +module.exports = function createHash (alg) { + alg = alg.toLowerCase() + if (alg === 'md5') return new MD5() + if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160() + + return new Hash(sha(alg)) +} + +},{"cipher-base":48,"inherits":117,"md5.js":121,"ripemd160":161,"sha.js":166}],52:[function(require,module,exports){ +var MD5 = require('md5.js') + +module.exports = function (buffer) { + return new MD5().update(buffer).digest() +} + +},{"md5.js":121}],53:[function(require,module,exports){ +'use strict' +var inherits = require('inherits') +var Legacy = require('./legacy') +var Base = require('cipher-base') +var Buffer = require('safe-buffer').Buffer +var md5 = require('create-hash/md5') +var RIPEMD160 = require('ripemd160') + +var sha = require('sha.js') + +var ZEROS = Buffer.alloc(128) + +function Hmac (alg, key) { + Base.call(this, 'digest') + if (typeof key === 'string') { + key = Buffer.from(key) + } + + var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64 + + this._alg = alg + this._key = key + if (key.length > blocksize) { + var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg) + key = hash.update(key).digest() + } else if (key.length < blocksize) { + key = Buffer.concat([key, ZEROS], blocksize) + } + + var ipad = this._ipad = Buffer.allocUnsafe(blocksize) + var opad = this._opad = Buffer.allocUnsafe(blocksize) + + for (var i = 0; i < blocksize; i++) { + ipad[i] = key[i] ^ 0x36 + opad[i] = key[i] ^ 0x5C + } + this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg) + this._hash.update(ipad) +} + +inherits(Hmac, Base) + +Hmac.prototype._update = function (data) { + this._hash.update(data) +} + +Hmac.prototype._final = function () { + var h = this._hash.digest() + var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg) + return hash.update(this._opad).update(h).digest() +} + +module.exports = function createHmac (alg, key) { + alg = alg.toLowerCase() + if (alg === 'rmd160' || alg === 'ripemd160') { + return new Hmac('rmd160', key) + } + if (alg === 'md5') { + return new Legacy(md5, key) + } + return new Hmac(alg, key) +} + +},{"./legacy":54,"cipher-base":48,"create-hash/md5":52,"inherits":117,"ripemd160":161,"safe-buffer":163,"sha.js":166}],54:[function(require,module,exports){ +'use strict' +var inherits = require('inherits') +var Buffer = require('safe-buffer').Buffer + +var Base = require('cipher-base') + +var ZEROS = Buffer.alloc(128) +var blocksize = 64 + +function Hmac (alg, key) { + Base.call(this, 'digest') + if (typeof key === 'string') { + key = Buffer.from(key) + } + + this._alg = alg + this._key = key + + if (key.length > blocksize) { + key = alg(key) + } else if (key.length < blocksize) { + key = Buffer.concat([key, ZEROS], blocksize) + } + + var ipad = this._ipad = Buffer.allocUnsafe(blocksize) + var opad = this._opad = Buffer.allocUnsafe(blocksize) + + for (var i = 0; i < blocksize; i++) { + ipad[i] = key[i] ^ 0x36 + opad[i] = key[i] ^ 0x5C + } + + this._hash = [ipad] +} + +inherits(Hmac, Base) + +Hmac.prototype._update = function (data) { + this._hash.push(data) +} + +Hmac.prototype._final = function () { + var h = this._alg(Buffer.concat(this._hash)) + return this._alg(Buffer.concat([this._opad, h])) +} +module.exports = Hmac + +},{"cipher-base":48,"inherits":117,"safe-buffer":163}],55:[function(require,module,exports){ +'use strict' + +exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes') +exports.createHash = exports.Hash = require('create-hash') +exports.createHmac = exports.Hmac = require('create-hmac') + +var algos = require('browserify-sign/algos') +var algoKeys = Object.keys(algos) +var hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys) +exports.getHashes = function () { + return hashes +} + +var p = require('pbkdf2') +exports.pbkdf2 = p.pbkdf2 +exports.pbkdf2Sync = p.pbkdf2Sync + +var aes = require('browserify-cipher') + +exports.Cipher = aes.Cipher +exports.createCipher = aes.createCipher +exports.Cipheriv = aes.Cipheriv +exports.createCipheriv = aes.createCipheriv +exports.Decipher = aes.Decipher +exports.createDecipher = aes.createDecipher +exports.Decipheriv = aes.Decipheriv +exports.createDecipheriv = aes.createDecipheriv +exports.getCiphers = aes.getCiphers +exports.listCiphers = aes.listCiphers + +var dh = require('diffie-hellman') + +exports.DiffieHellmanGroup = dh.DiffieHellmanGroup +exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup +exports.getDiffieHellman = dh.getDiffieHellman +exports.createDiffieHellman = dh.createDiffieHellman +exports.DiffieHellman = dh.DiffieHellman + +var sign = require('browserify-sign') + +exports.createSign = sign.createSign +exports.Sign = sign.Sign +exports.createVerify = sign.createVerify +exports.Verify = sign.Verify + +exports.createECDH = require('create-ecdh') + +var publicEncrypt = require('public-encrypt') + +exports.publicEncrypt = publicEncrypt.publicEncrypt +exports.privateEncrypt = publicEncrypt.privateEncrypt +exports.publicDecrypt = publicEncrypt.publicDecrypt +exports.privateDecrypt = publicEncrypt.privateDecrypt + +// the least I can do is make error messages for the rest of the node.js/crypto api. +// ;[ +// 'createCredentials' +// ].forEach(function (name) { +// exports[name] = function () { +// throw new Error([ +// 'sorry, ' + name + ' is not implemented yet', +// 'we accept pull requests', +// 'https://github.com/crypto-browserify/crypto-browserify' +// ].join('\n')) +// } +// }) + +var rf = require('randomfill') + +exports.randomFill = rf.randomFill +exports.randomFillSync = rf.randomFillSync + +exports.createCredentials = function () { + throw new Error([ + 'sorry, createCredentials is not implemented yet', + 'we accept pull requests', + 'https://github.com/crypto-browserify/crypto-browserify' + ].join('\n')) +} + +exports.constants = { + 'DH_CHECK_P_NOT_SAFE_PRIME': 2, + 'DH_CHECK_P_NOT_PRIME': 1, + 'DH_UNABLE_TO_CHECK_GENERATOR': 4, + 'DH_NOT_SUITABLE_GENERATOR': 8, + 'NPN_ENABLED': 1, + 'ALPN_ENABLED': 1, + 'RSA_PKCS1_PADDING': 1, + 'RSA_SSLV23_PADDING': 2, + 'RSA_NO_PADDING': 3, + 'RSA_PKCS1_OAEP_PADDING': 4, + 'RSA_X931_PADDING': 5, + 'RSA_PKCS1_PSS_PADDING': 6, + 'POINT_CONVERSION_COMPRESSED': 2, + 'POINT_CONVERSION_UNCOMPRESSED': 4, + 'POINT_CONVERSION_HYBRID': 6 +} + +},{"browserify-cipher":36,"browserify-sign":43,"browserify-sign/algos":40,"create-ecdh":50,"create-hash":51,"create-hmac":53,"diffie-hellman":62,"pbkdf2":130,"public-encrypt":137,"randombytes":144,"randomfill":145}],56:[function(require,module,exports){ +'use strict'; + +exports.utils = require('./des/utils'); +exports.Cipher = require('./des/cipher'); +exports.DES = require('./des/des'); +exports.CBC = require('./des/cbc'); +exports.EDE = require('./des/ede'); + +},{"./des/cbc":57,"./des/cipher":58,"./des/des":59,"./des/ede":60,"./des/utils":61}],57:[function(require,module,exports){ +'use strict'; + +var assert = require('minimalistic-assert'); +var inherits = require('inherits'); + +var proto = {}; + +function CBCState(iv) { + assert.equal(iv.length, 8, 'Invalid IV length'); + + this.iv = new Array(8); + for (var i = 0; i < this.iv.length; i++) + this.iv[i] = iv[i]; +} + +function instantiate(Base) { + function CBC(options) { + Base.call(this, options); + this._cbcInit(); + } + inherits(CBC, Base); + + var keys = Object.keys(proto); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + CBC.prototype[key] = proto[key]; + } + + CBC.create = function create(options) { + return new CBC(options); + }; + + return CBC; +} + +exports.instantiate = instantiate; + +proto._cbcInit = function _cbcInit() { + var state = new CBCState(this.options.iv); + this._cbcState = state; +}; + +proto._update = function _update(inp, inOff, out, outOff) { + var state = this._cbcState; + var superProto = this.constructor.super_.prototype; + + var iv = state.iv; + if (this.type === 'encrypt') { + for (var i = 0; i < this.blockSize; i++) + iv[i] ^= inp[inOff + i]; + + superProto._update.call(this, iv, 0, out, outOff); + + for (var i = 0; i < this.blockSize; i++) + iv[i] = out[outOff + i]; + } else { + superProto._update.call(this, inp, inOff, out, outOff); + + for (var i = 0; i < this.blockSize; i++) + out[outOff + i] ^= iv[i]; + + for (var i = 0; i < this.blockSize; i++) + iv[i] = inp[inOff + i]; + } +}; + +},{"inherits":117,"minimalistic-assert":123}],58:[function(require,module,exports){ +'use strict'; + +var assert = require('minimalistic-assert'); + +function Cipher(options) { + this.options = options; + + this.type = this.options.type; + this.blockSize = 8; + this._init(); + + this.buffer = new Array(this.blockSize); + this.bufferOff = 0; +} +module.exports = Cipher; + +Cipher.prototype._init = function _init() { + // Might be overrided +}; + +Cipher.prototype.update = function update(data) { + if (data.length === 0) + return []; + + if (this.type === 'decrypt') + return this._updateDecrypt(data); + else + return this._updateEncrypt(data); +}; + +Cipher.prototype._buffer = function _buffer(data, off) { + // Append data to buffer + var min = Math.min(this.buffer.length - this.bufferOff, data.length - off); + for (var i = 0; i < min; i++) + this.buffer[this.bufferOff + i] = data[off + i]; + this.bufferOff += min; + + // Shift next + return min; +}; + +Cipher.prototype._flushBuffer = function _flushBuffer(out, off) { + this._update(this.buffer, 0, out, off); + this.bufferOff = 0; + return this.blockSize; +}; + +Cipher.prototype._updateEncrypt = function _updateEncrypt(data) { + var inputOff = 0; + var outputOff = 0; + + var count = ((this.bufferOff + data.length) / this.blockSize) | 0; + var out = new Array(count * this.blockSize); + + if (this.bufferOff !== 0) { + inputOff += this._buffer(data, inputOff); + + if (this.bufferOff === this.buffer.length) + outputOff += this._flushBuffer(out, outputOff); + } + + // Write blocks + var max = data.length - ((data.length - inputOff) % this.blockSize); + for (; inputOff < max; inputOff += this.blockSize) { + this._update(data, inputOff, out, outputOff); + outputOff += this.blockSize; + } + + // Queue rest + for (; inputOff < data.length; inputOff++, this.bufferOff++) + this.buffer[this.bufferOff] = data[inputOff]; + + return out; +}; + +Cipher.prototype._updateDecrypt = function _updateDecrypt(data) { + var inputOff = 0; + var outputOff = 0; + + var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1; + var out = new Array(count * this.blockSize); + + // TODO(indutny): optimize it, this is far from optimal + for (; count > 0; count--) { + inputOff += this._buffer(data, inputOff); + outputOff += this._flushBuffer(out, outputOff); + } + + // Buffer rest of the input + inputOff += this._buffer(data, inputOff); + + return out; +}; + +Cipher.prototype.final = function final(buffer) { + var first; + if (buffer) + first = this.update(buffer); + + var last; + if (this.type === 'encrypt') + last = this._finalEncrypt(); + else + last = this._finalDecrypt(); + + if (first) + return first.concat(last); + else + return last; +}; + +Cipher.prototype._pad = function _pad(buffer, off) { + if (off === 0) + return false; + + while (off < buffer.length) + buffer[off++] = 0; + + return true; +}; + +Cipher.prototype._finalEncrypt = function _finalEncrypt() { + if (!this._pad(this.buffer, this.bufferOff)) + return []; + + var out = new Array(this.blockSize); + this._update(this.buffer, 0, out, 0); + return out; +}; + +Cipher.prototype._unpad = function _unpad(buffer) { + return buffer; +}; + +Cipher.prototype._finalDecrypt = function _finalDecrypt() { + assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt'); + var out = new Array(this.blockSize); + this._flushBuffer(out, 0); + + return this._unpad(out); +}; + +},{"minimalistic-assert":123}],59:[function(require,module,exports){ +'use strict'; + +var assert = require('minimalistic-assert'); +var inherits = require('inherits'); + +var utils = require('./utils'); +var Cipher = require('./cipher'); + +function DESState() { + this.tmp = new Array(2); + this.keys = null; +} + +function DES(options) { + Cipher.call(this, options); + + var state = new DESState(); + this._desState = state; + + this.deriveKeys(state, options.key); +} +inherits(DES, Cipher); +module.exports = DES; + +DES.create = function create(options) { + return new DES(options); +}; + +var shiftTable = [ + 1, 1, 2, 2, 2, 2, 2, 2, + 1, 2, 2, 2, 2, 2, 2, 1 +]; + +DES.prototype.deriveKeys = function deriveKeys(state, key) { + state.keys = new Array(16 * 2); + + assert.equal(key.length, this.blockSize, 'Invalid key length'); + + var kL = utils.readUInt32BE(key, 0); + var kR = utils.readUInt32BE(key, 4); + + utils.pc1(kL, kR, state.tmp, 0); + kL = state.tmp[0]; + kR = state.tmp[1]; + for (var i = 0; i < state.keys.length; i += 2) { + var shift = shiftTable[i >>> 1]; + kL = utils.r28shl(kL, shift); + kR = utils.r28shl(kR, shift); + utils.pc2(kL, kR, state.keys, i); + } +}; + +DES.prototype._update = function _update(inp, inOff, out, outOff) { + var state = this._desState; + + var l = utils.readUInt32BE(inp, inOff); + var r = utils.readUInt32BE(inp, inOff + 4); + + // Initial Permutation + utils.ip(l, r, state.tmp, 0); + l = state.tmp[0]; + r = state.tmp[1]; + + if (this.type === 'encrypt') + this._encrypt(state, l, r, state.tmp, 0); + else + this._decrypt(state, l, r, state.tmp, 0); + + l = state.tmp[0]; + r = state.tmp[1]; + + utils.writeUInt32BE(out, l, outOff); + utils.writeUInt32BE(out, r, outOff + 4); +}; + +DES.prototype._pad = function _pad(buffer, off) { + var value = buffer.length - off; + for (var i = off; i < buffer.length; i++) + buffer[i] = value; + + return true; +}; + +DES.prototype._unpad = function _unpad(buffer) { + var pad = buffer[buffer.length - 1]; + for (var i = buffer.length - pad; i < buffer.length; i++) + assert.equal(buffer[i], pad); + + return buffer.slice(0, buffer.length - pad); +}; + +DES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) { + var l = lStart; + var r = rStart; + + // Apply f() x16 times + for (var i = 0; i < state.keys.length; i += 2) { + var keyL = state.keys[i]; + var keyR = state.keys[i + 1]; + + // f(r, k) + utils.expand(r, state.tmp, 0); + + keyL ^= state.tmp[0]; + keyR ^= state.tmp[1]; + var s = utils.substitute(keyL, keyR); + var f = utils.permute(s); + + var t = r; + r = (l ^ f) >>> 0; + l = t; + } + + // Reverse Initial Permutation + utils.rip(r, l, out, off); +}; + +DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) { + var l = rStart; + var r = lStart; + + // Apply f() x16 times + for (var i = state.keys.length - 2; i >= 0; i -= 2) { + var keyL = state.keys[i]; + var keyR = state.keys[i + 1]; + + // f(r, k) + utils.expand(l, state.tmp, 0); + + keyL ^= state.tmp[0]; + keyR ^= state.tmp[1]; + var s = utils.substitute(keyL, keyR); + var f = utils.permute(s); + + var t = l; + l = (r ^ f) >>> 0; + r = t; + } + + // Reverse Initial Permutation + utils.rip(l, r, out, off); +}; + +},{"./cipher":58,"./utils":61,"inherits":117,"minimalistic-assert":123}],60:[function(require,module,exports){ +'use strict'; + +var assert = require('minimalistic-assert'); +var inherits = require('inherits'); + +var Cipher = require('./cipher'); +var DES = require('./des'); + +function EDEState(type, key) { + assert.equal(key.length, 24, 'Invalid key length'); + + var k1 = key.slice(0, 8); + var k2 = key.slice(8, 16); + var k3 = key.slice(16, 24); + + if (type === 'encrypt') { + this.ciphers = [ + DES.create({ type: 'encrypt', key: k1 }), + DES.create({ type: 'decrypt', key: k2 }), + DES.create({ type: 'encrypt', key: k3 }) + ]; + } else { + this.ciphers = [ + DES.create({ type: 'decrypt', key: k3 }), + DES.create({ type: 'encrypt', key: k2 }), + DES.create({ type: 'decrypt', key: k1 }) + ]; + } +} + +function EDE(options) { + Cipher.call(this, options); + + var state = new EDEState(this.type, this.options.key); + this._edeState = state; +} +inherits(EDE, Cipher); + +module.exports = EDE; + +EDE.create = function create(options) { + return new EDE(options); +}; + +EDE.prototype._update = function _update(inp, inOff, out, outOff) { + var state = this._edeState; + + state.ciphers[0]._update(inp, inOff, out, outOff); + state.ciphers[1]._update(out, outOff, out, outOff); + state.ciphers[2]._update(out, outOff, out, outOff); +}; + +EDE.prototype._pad = DES.prototype._pad; +EDE.prototype._unpad = DES.prototype._unpad; + +},{"./cipher":58,"./des":59,"inherits":117,"minimalistic-assert":123}],61:[function(require,module,exports){ +'use strict'; + +exports.readUInt32BE = function readUInt32BE(bytes, off) { + var res = (bytes[0 + off] << 24) | + (bytes[1 + off] << 16) | + (bytes[2 + off] << 8) | + bytes[3 + off]; + return res >>> 0; +}; + +exports.writeUInt32BE = function writeUInt32BE(bytes, value, off) { + bytes[0 + off] = value >>> 24; + bytes[1 + off] = (value >>> 16) & 0xff; + bytes[2 + off] = (value >>> 8) & 0xff; + bytes[3 + off] = value & 0xff; +}; + +exports.ip = function ip(inL, inR, out, off) { + var outL = 0; + var outR = 0; + + for (var i = 6; i >= 0; i -= 2) { + for (var j = 0; j <= 24; j += 8) { + outL <<= 1; + outL |= (inR >>> (j + i)) & 1; + } + for (var j = 0; j <= 24; j += 8) { + outL <<= 1; + outL |= (inL >>> (j + i)) & 1; + } + } + + for (var i = 6; i >= 0; i -= 2) { + for (var j = 1; j <= 25; j += 8) { + outR <<= 1; + outR |= (inR >>> (j + i)) & 1; + } + for (var j = 1; j <= 25; j += 8) { + outR <<= 1; + outR |= (inL >>> (j + i)) & 1; + } + } + + out[off + 0] = outL >>> 0; + out[off + 1] = outR >>> 0; +}; + +exports.rip = function rip(inL, inR, out, off) { + var outL = 0; + var outR = 0; + + for (var i = 0; i < 4; i++) { + for (var j = 24; j >= 0; j -= 8) { + outL <<= 1; + outL |= (inR >>> (j + i)) & 1; + outL <<= 1; + outL |= (inL >>> (j + i)) & 1; + } + } + for (var i = 4; i < 8; i++) { + for (var j = 24; j >= 0; j -= 8) { + outR <<= 1; + outR |= (inR >>> (j + i)) & 1; + outR <<= 1; + outR |= (inL >>> (j + i)) & 1; + } + } + + out[off + 0] = outL >>> 0; + out[off + 1] = outR >>> 0; +}; + +exports.pc1 = function pc1(inL, inR, out, off) { + var outL = 0; + var outR = 0; + + // 7, 15, 23, 31, 39, 47, 55, 63 + // 6, 14, 22, 30, 39, 47, 55, 63 + // 5, 13, 21, 29, 39, 47, 55, 63 + // 4, 12, 20, 28 + for (var i = 7; i >= 5; i--) { + for (var j = 0; j <= 24; j += 8) { + outL <<= 1; + outL |= (inR >> (j + i)) & 1; + } + for (var j = 0; j <= 24; j += 8) { + outL <<= 1; + outL |= (inL >> (j + i)) & 1; + } + } + for (var j = 0; j <= 24; j += 8) { + outL <<= 1; + outL |= (inR >> (j + i)) & 1; + } + + // 1, 9, 17, 25, 33, 41, 49, 57 + // 2, 10, 18, 26, 34, 42, 50, 58 + // 3, 11, 19, 27, 35, 43, 51, 59 + // 36, 44, 52, 60 + for (var i = 1; i <= 3; i++) { + for (var j = 0; j <= 24; j += 8) { + outR <<= 1; + outR |= (inR >> (j + i)) & 1; + } + for (var j = 0; j <= 24; j += 8) { + outR <<= 1; + outR |= (inL >> (j + i)) & 1; + } + } + for (var j = 0; j <= 24; j += 8) { + outR <<= 1; + outR |= (inL >> (j + i)) & 1; + } + + out[off + 0] = outL >>> 0; + out[off + 1] = outR >>> 0; +}; + +exports.r28shl = function r28shl(num, shift) { + return ((num << shift) & 0xfffffff) | (num >>> (28 - shift)); +}; + +var pc2table = [ + // inL => outL + 14, 11, 17, 4, 27, 23, 25, 0, + 13, 22, 7, 18, 5, 9, 16, 24, + 2, 20, 12, 21, 1, 8, 15, 26, + + // inR => outR + 15, 4, 25, 19, 9, 1, 26, 16, + 5, 11, 23, 8, 12, 7, 17, 0, + 22, 3, 10, 14, 6, 20, 27, 24 +]; + +exports.pc2 = function pc2(inL, inR, out, off) { + var outL = 0; + var outR = 0; + + var len = pc2table.length >>> 1; + for (var i = 0; i < len; i++) { + outL <<= 1; + outL |= (inL >>> pc2table[i]) & 0x1; + } + for (var i = len; i < pc2table.length; i++) { + outR <<= 1; + outR |= (inR >>> pc2table[i]) & 0x1; + } + + out[off + 0] = outL >>> 0; + out[off + 1] = outR >>> 0; +}; + +exports.expand = function expand(r, out, off) { + var outL = 0; + var outR = 0; + + outL = ((r & 1) << 5) | (r >>> 27); + for (var i = 23; i >= 15; i -= 4) { + outL <<= 6; + outL |= (r >>> i) & 0x3f; + } + for (var i = 11; i >= 3; i -= 4) { + outR |= (r >>> i) & 0x3f; + outR <<= 6; + } + outR |= ((r & 0x1f) << 1) | (r >>> 31); + + out[off + 0] = outL >>> 0; + out[off + 1] = outR >>> 0; +}; + +var sTable = [ + 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, + 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, + 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7, + 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13, + + 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, + 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, + 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2, + 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9, + + 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, + 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, + 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7, + 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12, + + 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, + 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, + 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8, + 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14, + + 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, + 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, + 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13, + 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3, + + 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, + 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, + 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10, + 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13, + + 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, + 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, + 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7, + 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12, + + 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, + 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, + 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13, + 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11 +]; + +exports.substitute = function substitute(inL, inR) { + var out = 0; + for (var i = 0; i < 4; i++) { + var b = (inL >>> (18 - i * 6)) & 0x3f; + var sb = sTable[i * 0x40 + b]; + + out <<= 4; + out |= sb; + } + for (var i = 0; i < 4; i++) { + var b = (inR >>> (18 - i * 6)) & 0x3f; + var sb = sTable[4 * 0x40 + i * 0x40 + b]; + + out <<= 4; + out |= sb; + } + return out >>> 0; +}; + +var permuteTable = [ + 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, + 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7 +]; + +exports.permute = function permute(num) { + var out = 0; + for (var i = 0; i < permuteTable.length; i++) { + out <<= 1; + out |= (num >>> permuteTable[i]) & 0x1; + } + return out >>> 0; +}; + +exports.padSplit = function padSplit(num, size, group) { + var str = num.toString(2); + while (str.length < size) + str = '0' + str; + + var out = []; + for (var i = 0; i < size; i += group) + out.push(str.slice(i, i + group)); + return out.join(' '); +}; + +},{}],62:[function(require,module,exports){ +(function (Buffer){ +var generatePrime = require('./lib/generatePrime') +var primes = require('./lib/primes.json') + +var DH = require('./lib/dh') + +function getDiffieHellman (mod) { + var prime = new Buffer(primes[mod].prime, 'hex') + var gen = new Buffer(primes[mod].gen, 'hex') + + return new DH(prime, gen) +} + +var ENCODINGS = { + 'binary': true, 'hex': true, 'base64': true +} + +function createDiffieHellman (prime, enc, generator, genc) { + if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) { + return createDiffieHellman(prime, 'binary', enc, generator) + } + + enc = enc || 'binary' + genc = genc || 'binary' + generator = generator || new Buffer([2]) + + if (!Buffer.isBuffer(generator)) { + generator = new Buffer(generator, genc) + } + + if (typeof prime === 'number') { + return new DH(generatePrime(prime, generator), generator, true) + } + + if (!Buffer.isBuffer(prime)) { + prime = new Buffer(prime, enc) + } + + return new DH(prime, generator, true) +} + +exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman +exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman + +}).call(this,require("buffer").Buffer) +},{"./lib/dh":63,"./lib/generatePrime":64,"./lib/primes.json":65,"buffer":47}],63:[function(require,module,exports){ +(function (Buffer){ +var BN = require('bn.js'); +var MillerRabin = require('miller-rabin'); +var millerRabin = new MillerRabin(); +var TWENTYFOUR = new BN(24); +var ELEVEN = new BN(11); +var TEN = new BN(10); +var THREE = new BN(3); +var SEVEN = new BN(7); +var primes = require('./generatePrime'); +var randomBytes = require('randombytes'); +module.exports = DH; + +function setPublicKey(pub, enc) { + enc = enc || 'utf8'; + if (!Buffer.isBuffer(pub)) { + pub = new Buffer(pub, enc); + } + this._pub = new BN(pub); + return this; +} + +function setPrivateKey(priv, enc) { + enc = enc || 'utf8'; + if (!Buffer.isBuffer(priv)) { + priv = new Buffer(priv, enc); + } + this._priv = new BN(priv); + return this; +} + +var primeCache = {}; +function checkPrime(prime, generator) { + var gen = generator.toString('hex'); + var hex = [gen, prime.toString(16)].join('_'); + if (hex in primeCache) { + return primeCache[hex]; + } + var error = 0; + + if (prime.isEven() || + !primes.simpleSieve || + !primes.fermatTest(prime) || + !millerRabin.test(prime)) { + //not a prime so +1 + error += 1; + + if (gen === '02' || gen === '05') { + // we'd be able to check the generator + // it would fail so +8 + error += 8; + } else { + //we wouldn't be able to test the generator + // so +4 + error += 4; + } + primeCache[hex] = error; + return error; + } + if (!millerRabin.test(prime.shrn(1))) { + //not a safe prime + error += 2; + } + var rem; + switch (gen) { + case '02': + if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) { + // unsuidable generator + error += 8; + } + break; + case '05': + rem = prime.mod(TEN); + if (rem.cmp(THREE) && rem.cmp(SEVEN)) { + // prime mod 10 needs to equal 3 or 7 + error += 8; + } + break; + default: + error += 4; + } + primeCache[hex] = error; + return error; +} + +function DH(prime, generator, malleable) { + this.setGenerator(generator); + this.__prime = new BN(prime); + this._prime = BN.mont(this.__prime); + this._primeLen = prime.length; + this._pub = undefined; + this._priv = undefined; + this._primeCode = undefined; + if (malleable) { + this.setPublicKey = setPublicKey; + this.setPrivateKey = setPrivateKey; + } else { + this._primeCode = 8; + } +} +Object.defineProperty(DH.prototype, 'verifyError', { + enumerable: true, + get: function () { + if (typeof this._primeCode !== 'number') { + this._primeCode = checkPrime(this.__prime, this.__gen); + } + return this._primeCode; + } +}); +DH.prototype.generateKeys = function () { + if (!this._priv) { + this._priv = new BN(randomBytes(this._primeLen)); + } + this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(); + return this.getPublicKey(); +}; + +DH.prototype.computeSecret = function (other) { + other = new BN(other); + other = other.toRed(this._prime); + var secret = other.redPow(this._priv).fromRed(); + var out = new Buffer(secret.toArray()); + var prime = this.getPrime(); + if (out.length < prime.length) { + var front = new Buffer(prime.length - out.length); + front.fill(0); + out = Buffer.concat([front, out]); + } + return out; +}; + +DH.prototype.getPublicKey = function getPublicKey(enc) { + return formatReturnValue(this._pub, enc); +}; + +DH.prototype.getPrivateKey = function getPrivateKey(enc) { + return formatReturnValue(this._priv, enc); +}; + +DH.prototype.getPrime = function (enc) { + return formatReturnValue(this.__prime, enc); +}; + +DH.prototype.getGenerator = function (enc) { + return formatReturnValue(this._gen, enc); +}; + +DH.prototype.setGenerator = function (gen, enc) { + enc = enc || 'utf8'; + if (!Buffer.isBuffer(gen)) { + gen = new Buffer(gen, enc); + } + this.__gen = gen; + this._gen = new BN(gen); + return this; +}; + +function formatReturnValue(bn, enc) { + var buf = new Buffer(bn.toArray()); + if (!enc) { + return buf; + } else { + return buf.toString(enc); + } +} + +}).call(this,require("buffer").Buffer) +},{"./generatePrime":64,"bn.js":16,"buffer":47,"miller-rabin":122,"randombytes":144}],64:[function(require,module,exports){ +var randomBytes = require('randombytes'); +module.exports = findPrime; +findPrime.simpleSieve = simpleSieve; +findPrime.fermatTest = fermatTest; +var BN = require('bn.js'); +var TWENTYFOUR = new BN(24); +var MillerRabin = require('miller-rabin'); +var millerRabin = new MillerRabin(); +var ONE = new BN(1); +var TWO = new BN(2); +var FIVE = new BN(5); +var SIXTEEN = new BN(16); +var EIGHT = new BN(8); +var TEN = new BN(10); +var THREE = new BN(3); +var SEVEN = new BN(7); +var ELEVEN = new BN(11); +var FOUR = new BN(4); +var TWELVE = new BN(12); +var primes = null; + +function _getPrimes() { + if (primes !== null) + return primes; + + var limit = 0x100000; + var res = []; + res[0] = 2; + for (var i = 1, k = 3; k < limit; k += 2) { + var sqrt = Math.ceil(Math.sqrt(k)); + for (var j = 0; j < i && res[j] <= sqrt; j++) + if (k % res[j] === 0) + break; + + if (i !== j && res[j] <= sqrt) + continue; + + res[i++] = k; + } + primes = res; + return res; +} + +function simpleSieve(p) { + var primes = _getPrimes(); + + for (var i = 0; i < primes.length; i++) + if (p.modn(primes[i]) === 0) { + if (p.cmpn(primes[i]) === 0) { + return true; + } else { + return false; + } + } + + return true; +} + +function fermatTest(p) { + var red = BN.mont(p); + return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0; +} + +function findPrime(bits, gen) { + if (bits < 16) { + // this is what openssl does + if (gen === 2 || gen === 5) { + return new BN([0x8c, 0x7b]); + } else { + return new BN([0x8c, 0x27]); + } + } + gen = new BN(gen); + + var num, n2; + + while (true) { + num = new BN(randomBytes(Math.ceil(bits / 8))); + while (num.bitLength() > bits) { + num.ishrn(1); + } + if (num.isEven()) { + num.iadd(ONE); + } + if (!num.testn(1)) { + num.iadd(TWO); + } + if (!gen.cmp(TWO)) { + while (num.mod(TWENTYFOUR).cmp(ELEVEN)) { + num.iadd(FOUR); + } + } else if (!gen.cmp(FIVE)) { + while (num.mod(TEN).cmp(THREE)) { + num.iadd(FOUR); + } + } + n2 = num.shrn(1); + if (simpleSieve(n2) && simpleSieve(num) && + fermatTest(n2) && fermatTest(num) && + millerRabin.test(n2) && millerRabin.test(num)) { + return num; + } + } + +} + +},{"bn.js":16,"miller-rabin":122,"randombytes":144}],65:[function(require,module,exports){ +module.exports={ + "modp1": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff" + }, + "modp2": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff" + }, + "modp5": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff" + }, + "modp14": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff" + }, + "modp15": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff" + }, + "modp16": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff" + }, + "modp17": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff" + }, + "modp18": { + "gen": "02", + "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff" + } +} +},{}],66:[function(require,module,exports){ +'use strict'; + +var elliptic = exports; + +elliptic.version = require('../package.json').version; +elliptic.utils = require('./elliptic/utils'); +elliptic.rand = require('brorand'); +elliptic.curve = require('./elliptic/curve'); +elliptic.curves = require('./elliptic/curves'); + +// Protocols +elliptic.ec = require('./elliptic/ec'); +elliptic.eddsa = require('./elliptic/eddsa'); + +},{"../package.json":82,"./elliptic/curve":69,"./elliptic/curves":72,"./elliptic/ec":73,"./elliptic/eddsa":76,"./elliptic/utils":80,"brorand":17}],67:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); +var utils = require('../utils'); +var getNAF = utils.getNAF; +var getJSF = utils.getJSF; +var assert = utils.assert; + +function BaseCurve(type, conf) { + this.type = type; + this.p = new BN(conf.p, 16); + + // Use Montgomery, when there is no fast reduction for the prime + this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p); + + // Useful for many curves + this.zero = new BN(0).toRed(this.red); + this.one = new BN(1).toRed(this.red); + this.two = new BN(2).toRed(this.red); + + // Curve configuration, optional + this.n = conf.n && new BN(conf.n, 16); + this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); + + // Temporary arrays + this._wnafT1 = new Array(4); + this._wnafT2 = new Array(4); + this._wnafT3 = new Array(4); + this._wnafT4 = new Array(4); + + this._bitLength = this.n ? this.n.bitLength() : 0; + + // Generalized Greg Maxwell's trick + var adjustCount = this.n && this.p.div(this.n); + if (!adjustCount || adjustCount.cmpn(100) > 0) { + this.redN = null; + } else { + this._maxwellTrick = true; + this.redN = this.n.toRed(this.red); + } +} +module.exports = BaseCurve; + +BaseCurve.prototype.point = function point() { + throw new Error('Not implemented'); +}; + +BaseCurve.prototype.validate = function validate() { + throw new Error('Not implemented'); +}; + +BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) { + assert(p.precomputed); + var doubles = p._getDoubles(); + + var naf = getNAF(k, 1, this._bitLength); + var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1); + I /= 3; + + // Translate into more windowed form + var repr = []; + var j; + var nafW; + for (j = 0; j < naf.length; j += doubles.step) { + nafW = 0; + for (var l = j + doubles.step - 1; l >= j; l--) + nafW = (nafW << 1) + naf[l]; + repr.push(nafW); + } + + var a = this.jpoint(null, null, null); + var b = this.jpoint(null, null, null); + for (var i = I; i > 0; i--) { + for (j = 0; j < repr.length; j++) { + nafW = repr[j]; + if (nafW === i) + b = b.mixedAdd(doubles.points[j]); + else if (nafW === -i) + b = b.mixedAdd(doubles.points[j].neg()); + } + a = a.add(b); + } + return a.toP(); +}; + +BaseCurve.prototype._wnafMul = function _wnafMul(p, k) { + var w = 4; + + // Precompute window + var nafPoints = p._getNAFPoints(w); + w = nafPoints.wnd; + var wnd = nafPoints.points; + + // Get NAF form + var naf = getNAF(k, w, this._bitLength); + + // Add `this`*(N+1) for every w-NAF index + var acc = this.jpoint(null, null, null); + for (var i = naf.length - 1; i >= 0; i--) { + // Count zeroes + for (var l = 0; i >= 0 && naf[i] === 0; i--) + l++; + if (i >= 0) + l++; + acc = acc.dblp(l); + + if (i < 0) + break; + var z = naf[i]; + assert(z !== 0); + if (p.type === 'affine') { + // J +- P + if (z > 0) + acc = acc.mixedAdd(wnd[(z - 1) >> 1]); + else + acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg()); + } else { + // J +- J + if (z > 0) + acc = acc.add(wnd[(z - 1) >> 1]); + else + acc = acc.add(wnd[(-z - 1) >> 1].neg()); + } + } + return p.type === 'affine' ? acc.toP() : acc; +}; + +BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, + points, + coeffs, + len, + jacobianResult) { + var wndWidth = this._wnafT1; + var wnd = this._wnafT2; + var naf = this._wnafT3; + + // Fill all arrays + var max = 0; + var i; + var j; + var p; + for (i = 0; i < len; i++) { + p = points[i]; + var nafPoints = p._getNAFPoints(defW); + wndWidth[i] = nafPoints.wnd; + wnd[i] = nafPoints.points; + } + + // Comb small window NAFs + for (i = len - 1; i >= 1; i -= 2) { + var a = i - 1; + var b = i; + if (wndWidth[a] !== 1 || wndWidth[b] !== 1) { + naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength); + naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength); + max = Math.max(naf[a].length, max); + max = Math.max(naf[b].length, max); + continue; + } + + var comb = [ + points[a], /* 1 */ + null, /* 3 */ + null, /* 5 */ + points[b], /* 7 */ + ]; + + // Try to avoid Projective points, if possible + if (points[a].y.cmp(points[b].y) === 0) { + comb[1] = points[a].add(points[b]); + comb[2] = points[a].toJ().mixedAdd(points[b].neg()); + } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) { + comb[1] = points[a].toJ().mixedAdd(points[b]); + comb[2] = points[a].add(points[b].neg()); + } else { + comb[1] = points[a].toJ().mixedAdd(points[b]); + comb[2] = points[a].toJ().mixedAdd(points[b].neg()); + } + + var index = [ + -3, /* -1 -1 */ + -1, /* -1 0 */ + -5, /* -1 1 */ + -7, /* 0 -1 */ + 0, /* 0 0 */ + 7, /* 0 1 */ + 5, /* 1 -1 */ + 1, /* 1 0 */ + 3, /* 1 1 */ + ]; + + var jsf = getJSF(coeffs[a], coeffs[b]); + max = Math.max(jsf[0].length, max); + naf[a] = new Array(max); + naf[b] = new Array(max); + for (j = 0; j < max; j++) { + var ja = jsf[0][j] | 0; + var jb = jsf[1][j] | 0; + + naf[a][j] = index[(ja + 1) * 3 + (jb + 1)]; + naf[b][j] = 0; + wnd[a] = comb; + } + } + + var acc = this.jpoint(null, null, null); + var tmp = this._wnafT4; + for (i = max; i >= 0; i--) { + var k = 0; + + while (i >= 0) { + var zero = true; + for (j = 0; j < len; j++) { + tmp[j] = naf[j][i] | 0; + if (tmp[j] !== 0) + zero = false; + } + if (!zero) + break; + k++; + i--; + } + if (i >= 0) + k++; + acc = acc.dblp(k); + if (i < 0) + break; + + for (j = 0; j < len; j++) { + var z = tmp[j]; + p; + if (z === 0) + continue; + else if (z > 0) + p = wnd[j][(z - 1) >> 1]; + else if (z < 0) + p = wnd[j][(-z - 1) >> 1].neg(); + + if (p.type === 'affine') + acc = acc.mixedAdd(p); + else + acc = acc.add(p); + } + } + // Zeroify references + for (i = 0; i < len; i++) + wnd[i] = null; + + if (jacobianResult) + return acc; + else + return acc.toP(); +}; + +function BasePoint(curve, type) { + this.curve = curve; + this.type = type; + this.precomputed = null; +} +BaseCurve.BasePoint = BasePoint; + +BasePoint.prototype.eq = function eq(/*other*/) { + throw new Error('Not implemented'); +}; + +BasePoint.prototype.validate = function validate() { + return this.curve.validate(this); +}; + +BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) { + bytes = utils.toArray(bytes, enc); + + var len = this.p.byteLength(); + + // uncompressed, hybrid-odd, hybrid-even + if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) && + bytes.length - 1 === 2 * len) { + if (bytes[0] === 0x06) + assert(bytes[bytes.length - 1] % 2 === 0); + else if (bytes[0] === 0x07) + assert(bytes[bytes.length - 1] % 2 === 1); + + var res = this.point(bytes.slice(1, 1 + len), + bytes.slice(1 + len, 1 + 2 * len)); + + return res; + } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) && + bytes.length - 1 === len) { + return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03); + } + throw new Error('Unknown point format'); +}; + +BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) { + return this.encode(enc, true); +}; + +BasePoint.prototype._encode = function _encode(compact) { + var len = this.curve.p.byteLength(); + var x = this.getX().toArray('be', len); + + if (compact) + return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x); + + return [ 0x04 ].concat(x, this.getY().toArray('be', len)); +}; + +BasePoint.prototype.encode = function encode(enc, compact) { + return utils.encode(this._encode(compact), enc); +}; + +BasePoint.prototype.precompute = function precompute(power) { + if (this.precomputed) + return this; + + var precomputed = { + doubles: null, + naf: null, + beta: null, + }; + precomputed.naf = this._getNAFPoints(8); + precomputed.doubles = this._getDoubles(4, power); + precomputed.beta = this._getBeta(); + this.precomputed = precomputed; + + return this; +}; + +BasePoint.prototype._hasDoubles = function _hasDoubles(k) { + if (!this.precomputed) + return false; + + var doubles = this.precomputed.doubles; + if (!doubles) + return false; + + return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step); +}; + +BasePoint.prototype._getDoubles = function _getDoubles(step, power) { + if (this.precomputed && this.precomputed.doubles) + return this.precomputed.doubles; + + var doubles = [ this ]; + var acc = this; + for (var i = 0; i < power; i += step) { + for (var j = 0; j < step; j++) + acc = acc.dbl(); + doubles.push(acc); + } + return { + step: step, + points: doubles, + }; +}; + +BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) { + if (this.precomputed && this.precomputed.naf) + return this.precomputed.naf; + + var res = [ this ]; + var max = (1 << wnd) - 1; + var dbl = max === 1 ? null : this.dbl(); + for (var i = 1; i < max; i++) + res[i] = res[i - 1].add(dbl); + return { + wnd: wnd, + points: res, + }; +}; + +BasePoint.prototype._getBeta = function _getBeta() { + return null; +}; + +BasePoint.prototype.dblp = function dblp(k) { + var r = this; + for (var i = 0; i < k; i++) + r = r.dbl(); + return r; +}; + +},{"../utils":80,"bn.js":81}],68:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var BN = require('bn.js'); +var inherits = require('inherits'); +var Base = require('./base'); + +var assert = utils.assert; + +function EdwardsCurve(conf) { + // NOTE: Important as we are creating point in Base.call() + this.twisted = (conf.a | 0) !== 1; + this.mOneA = this.twisted && (conf.a | 0) === -1; + this.extended = this.mOneA; + + Base.call(this, 'edwards', conf); + + this.a = new BN(conf.a, 16).umod(this.red.m); + this.a = this.a.toRed(this.red); + this.c = new BN(conf.c, 16).toRed(this.red); + this.c2 = this.c.redSqr(); + this.d = new BN(conf.d, 16).toRed(this.red); + this.dd = this.d.redAdd(this.d); + + assert(!this.twisted || this.c.fromRed().cmpn(1) === 0); + this.oneC = (conf.c | 0) === 1; +} +inherits(EdwardsCurve, Base); +module.exports = EdwardsCurve; + +EdwardsCurve.prototype._mulA = function _mulA(num) { + if (this.mOneA) + return num.redNeg(); + else + return this.a.redMul(num); +}; + +EdwardsCurve.prototype._mulC = function _mulC(num) { + if (this.oneC) + return num; + else + return this.c.redMul(num); +}; + +// Just for compatibility with Short curve +EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) { + return this.point(x, y, z, t); +}; + +EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) { + x = new BN(x, 16); + if (!x.red) + x = x.toRed(this.red); + + var x2 = x.redSqr(); + var rhs = this.c2.redSub(this.a.redMul(x2)); + var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)); + + var y2 = rhs.redMul(lhs.redInvm()); + var y = y2.redSqrt(); + if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) + throw new Error('invalid point'); + + var isOdd = y.fromRed().isOdd(); + if (odd && !isOdd || !odd && isOdd) + y = y.redNeg(); + + return this.point(x, y); +}; + +EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) { + y = new BN(y, 16); + if (!y.red) + y = y.toRed(this.red); + + // x^2 = (y^2 - c^2) / (c^2 d y^2 - a) + var y2 = y.redSqr(); + var lhs = y2.redSub(this.c2); + var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a); + var x2 = lhs.redMul(rhs.redInvm()); + + if (x2.cmp(this.zero) === 0) { + if (odd) + throw new Error('invalid point'); + else + return this.point(this.zero, y); + } + + var x = x2.redSqrt(); + if (x.redSqr().redSub(x2).cmp(this.zero) !== 0) + throw new Error('invalid point'); + + if (x.fromRed().isOdd() !== odd) + x = x.redNeg(); + + return this.point(x, y); +}; + +EdwardsCurve.prototype.validate = function validate(point) { + if (point.isInfinity()) + return true; + + // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2) + point.normalize(); + + var x2 = point.x.redSqr(); + var y2 = point.y.redSqr(); + var lhs = x2.redMul(this.a).redAdd(y2); + var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2))); + + return lhs.cmp(rhs) === 0; +}; + +function Point(curve, x, y, z, t) { + Base.BasePoint.call(this, curve, 'projective'); + if (x === null && y === null && z === null) { + this.x = this.curve.zero; + this.y = this.curve.one; + this.z = this.curve.one; + this.t = this.curve.zero; + this.zOne = true; + } else { + this.x = new BN(x, 16); + this.y = new BN(y, 16); + this.z = z ? new BN(z, 16) : this.curve.one; + this.t = t && new BN(t, 16); + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.y.red) + this.y = this.y.toRed(this.curve.red); + if (!this.z.red) + this.z = this.z.toRed(this.curve.red); + if (this.t && !this.t.red) + this.t = this.t.toRed(this.curve.red); + this.zOne = this.z === this.curve.one; + + // Use extended coordinates + if (this.curve.extended && !this.t) { + this.t = this.x.redMul(this.y); + if (!this.zOne) + this.t = this.t.redMul(this.z.redInvm()); + } + } +} +inherits(Point, Base.BasePoint); + +EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) { + return Point.fromJSON(this, obj); +}; + +EdwardsCurve.prototype.point = function point(x, y, z, t) { + return new Point(this, x, y, z, t); +}; + +Point.fromJSON = function fromJSON(curve, obj) { + return new Point(curve, obj[0], obj[1], obj[2]); +}; + +Point.prototype.inspect = function inspect() { + if (this.isInfinity()) + return ''; + return ''; +}; + +Point.prototype.isInfinity = function isInfinity() { + // XXX This code assumes that zero is always zero in red + return this.x.cmpn(0) === 0 && + (this.y.cmp(this.z) === 0 || + (this.zOne && this.y.cmp(this.curve.c) === 0)); +}; + +Point.prototype._extDbl = function _extDbl() { + // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html + // #doubling-dbl-2008-hwcd + // 4M + 4S + + // A = X1^2 + var a = this.x.redSqr(); + // B = Y1^2 + var b = this.y.redSqr(); + // C = 2 * Z1^2 + var c = this.z.redSqr(); + c = c.redIAdd(c); + // D = a * A + var d = this.curve._mulA(a); + // E = (X1 + Y1)^2 - A - B + var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b); + // G = D + B + var g = d.redAdd(b); + // F = G - C + var f = g.redSub(c); + // H = D - B + var h = d.redSub(b); + // X3 = E * F + var nx = e.redMul(f); + // Y3 = G * H + var ny = g.redMul(h); + // T3 = E * H + var nt = e.redMul(h); + // Z3 = F * G + var nz = f.redMul(g); + return this.curve.point(nx, ny, nz, nt); +}; + +Point.prototype._projDbl = function _projDbl() { + // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html + // #doubling-dbl-2008-bbjlp + // #doubling-dbl-2007-bl + // and others + // Generally 3M + 4S or 2M + 4S + + // B = (X1 + Y1)^2 + var b = this.x.redAdd(this.y).redSqr(); + // C = X1^2 + var c = this.x.redSqr(); + // D = Y1^2 + var d = this.y.redSqr(); + + var nx; + var ny; + var nz; + var e; + var h; + var j; + if (this.curve.twisted) { + // E = a * C + e = this.curve._mulA(c); + // F = E + D + var f = e.redAdd(d); + if (this.zOne) { + // X3 = (B - C - D) * (F - 2) + nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)); + // Y3 = F * (E - D) + ny = f.redMul(e.redSub(d)); + // Z3 = F^2 - 2 * F + nz = f.redSqr().redSub(f).redSub(f); + } else { + // H = Z1^2 + h = this.z.redSqr(); + // J = F - 2 * H + j = f.redSub(h).redISub(h); + // X3 = (B-C-D)*J + nx = b.redSub(c).redISub(d).redMul(j); + // Y3 = F * (E - D) + ny = f.redMul(e.redSub(d)); + // Z3 = F * J + nz = f.redMul(j); + } + } else { + // E = C + D + e = c.redAdd(d); + // H = (c * Z1)^2 + h = this.curve._mulC(this.z).redSqr(); + // J = E - 2 * H + j = e.redSub(h).redSub(h); + // X3 = c * (B - E) * J + nx = this.curve._mulC(b.redISub(e)).redMul(j); + // Y3 = c * E * (C - D) + ny = this.curve._mulC(e).redMul(c.redISub(d)); + // Z3 = E * J + nz = e.redMul(j); + } + return this.curve.point(nx, ny, nz); +}; + +Point.prototype.dbl = function dbl() { + if (this.isInfinity()) + return this; + + // Double in extended coordinates + if (this.curve.extended) + return this._extDbl(); + else + return this._projDbl(); +}; + +Point.prototype._extAdd = function _extAdd(p) { + // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html + // #addition-add-2008-hwcd-3 + // 8M + + // A = (Y1 - X1) * (Y2 - X2) + var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)); + // B = (Y1 + X1) * (Y2 + X2) + var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)); + // C = T1 * k * T2 + var c = this.t.redMul(this.curve.dd).redMul(p.t); + // D = Z1 * 2 * Z2 + var d = this.z.redMul(p.z.redAdd(p.z)); + // E = B - A + var e = b.redSub(a); + // F = D - C + var f = d.redSub(c); + // G = D + C + var g = d.redAdd(c); + // H = B + A + var h = b.redAdd(a); + // X3 = E * F + var nx = e.redMul(f); + // Y3 = G * H + var ny = g.redMul(h); + // T3 = E * H + var nt = e.redMul(h); + // Z3 = F * G + var nz = f.redMul(g); + return this.curve.point(nx, ny, nz, nt); +}; + +Point.prototype._projAdd = function _projAdd(p) { + // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html + // #addition-add-2008-bbjlp + // #addition-add-2007-bl + // 10M + 1S + + // A = Z1 * Z2 + var a = this.z.redMul(p.z); + // B = A^2 + var b = a.redSqr(); + // C = X1 * X2 + var c = this.x.redMul(p.x); + // D = Y1 * Y2 + var d = this.y.redMul(p.y); + // E = d * C * D + var e = this.curve.d.redMul(c).redMul(d); + // F = B - E + var f = b.redSub(e); + // G = B + E + var g = b.redAdd(e); + // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D) + var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d); + var nx = a.redMul(f).redMul(tmp); + var ny; + var nz; + if (this.curve.twisted) { + // Y3 = A * G * (D - a * C) + ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))); + // Z3 = F * G + nz = f.redMul(g); + } else { + // Y3 = A * G * (D - C) + ny = a.redMul(g).redMul(d.redSub(c)); + // Z3 = c * F * G + nz = this.curve._mulC(f).redMul(g); + } + return this.curve.point(nx, ny, nz); +}; + +Point.prototype.add = function add(p) { + if (this.isInfinity()) + return p; + if (p.isInfinity()) + return this; + + if (this.curve.extended) + return this._extAdd(p); + else + return this._projAdd(p); +}; + +Point.prototype.mul = function mul(k) { + if (this._hasDoubles(k)) + return this.curve._fixedNafMul(this, k); + else + return this.curve._wnafMul(this, k); +}; + +Point.prototype.mulAdd = function mulAdd(k1, p, k2) { + return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false); +}; + +Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) { + return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true); +}; + +Point.prototype.normalize = function normalize() { + if (this.zOne) + return this; + + // Normalize coordinates + var zi = this.z.redInvm(); + this.x = this.x.redMul(zi); + this.y = this.y.redMul(zi); + if (this.t) + this.t = this.t.redMul(zi); + this.z = this.curve.one; + this.zOne = true; + return this; +}; + +Point.prototype.neg = function neg() { + return this.curve.point(this.x.redNeg(), + this.y, + this.z, + this.t && this.t.redNeg()); +}; + +Point.prototype.getX = function getX() { + this.normalize(); + return this.x.fromRed(); +}; + +Point.prototype.getY = function getY() { + this.normalize(); + return this.y.fromRed(); +}; + +Point.prototype.eq = function eq(other) { + return this === other || + this.getX().cmp(other.getX()) === 0 && + this.getY().cmp(other.getY()) === 0; +}; + +Point.prototype.eqXToP = function eqXToP(x) { + var rx = x.toRed(this.curve.red).redMul(this.z); + if (this.x.cmp(rx) === 0) + return true; + + var xc = x.clone(); + var t = this.curve.redN.redMul(this.z); + for (;;) { + xc.iadd(this.curve.n); + if (xc.cmp(this.curve.p) >= 0) + return false; + + rx.redIAdd(t); + if (this.x.cmp(rx) === 0) + return true; + } +}; + +// Compatibility with BaseCurve +Point.prototype.toP = Point.prototype.normalize; +Point.prototype.mixedAdd = Point.prototype.add; + +},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],69:[function(require,module,exports){ +'use strict'; + +var curve = exports; + +curve.base = require('./base'); +curve.short = require('./short'); +curve.mont = require('./mont'); +curve.edwards = require('./edwards'); + +},{"./base":67,"./edwards":68,"./mont":70,"./short":71}],70:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); +var inherits = require('inherits'); +var Base = require('./base'); + +var utils = require('../utils'); + +function MontCurve(conf) { + Base.call(this, 'mont', conf); + + this.a = new BN(conf.a, 16).toRed(this.red); + this.b = new BN(conf.b, 16).toRed(this.red); + this.i4 = new BN(4).toRed(this.red).redInvm(); + this.two = new BN(2).toRed(this.red); + this.a24 = this.i4.redMul(this.a.redAdd(this.two)); +} +inherits(MontCurve, Base); +module.exports = MontCurve; + +MontCurve.prototype.validate = function validate(point) { + var x = point.normalize().x; + var x2 = x.redSqr(); + var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x); + var y = rhs.redSqrt(); + + return y.redSqr().cmp(rhs) === 0; +}; + +function Point(curve, x, z) { + Base.BasePoint.call(this, curve, 'projective'); + if (x === null && z === null) { + this.x = this.curve.one; + this.z = this.curve.zero; + } else { + this.x = new BN(x, 16); + this.z = new BN(z, 16); + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.z.red) + this.z = this.z.toRed(this.curve.red); + } +} +inherits(Point, Base.BasePoint); + +MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) { + return this.point(utils.toArray(bytes, enc), 1); +}; + +MontCurve.prototype.point = function point(x, z) { + return new Point(this, x, z); +}; + +MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) { + return Point.fromJSON(this, obj); +}; + +Point.prototype.precompute = function precompute() { + // No-op +}; + +Point.prototype._encode = function _encode() { + return this.getX().toArray('be', this.curve.p.byteLength()); +}; + +Point.fromJSON = function fromJSON(curve, obj) { + return new Point(curve, obj[0], obj[1] || curve.one); +}; + +Point.prototype.inspect = function inspect() { + if (this.isInfinity()) + return ''; + return ''; +}; + +Point.prototype.isInfinity = function isInfinity() { + // XXX This code assumes that zero is always zero in red + return this.z.cmpn(0) === 0; +}; + +Point.prototype.dbl = function dbl() { + // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3 + // 2M + 2S + 4A + + // A = X1 + Z1 + var a = this.x.redAdd(this.z); + // AA = A^2 + var aa = a.redSqr(); + // B = X1 - Z1 + var b = this.x.redSub(this.z); + // BB = B^2 + var bb = b.redSqr(); + // C = AA - BB + var c = aa.redSub(bb); + // X3 = AA * BB + var nx = aa.redMul(bb); + // Z3 = C * (BB + A24 * C) + var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c))); + return this.curve.point(nx, nz); +}; + +Point.prototype.add = function add() { + throw new Error('Not supported on Montgomery curve'); +}; + +Point.prototype.diffAdd = function diffAdd(p, diff) { + // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3 + // 4M + 2S + 6A + + // A = X2 + Z2 + var a = this.x.redAdd(this.z); + // B = X2 - Z2 + var b = this.x.redSub(this.z); + // C = X3 + Z3 + var c = p.x.redAdd(p.z); + // D = X3 - Z3 + var d = p.x.redSub(p.z); + // DA = D * A + var da = d.redMul(a); + // CB = C * B + var cb = c.redMul(b); + // X5 = Z1 * (DA + CB)^2 + var nx = diff.z.redMul(da.redAdd(cb).redSqr()); + // Z5 = X1 * (DA - CB)^2 + var nz = diff.x.redMul(da.redISub(cb).redSqr()); + return this.curve.point(nx, nz); +}; + +Point.prototype.mul = function mul(k) { + var t = k.clone(); + var a = this; // (N / 2) * Q + Q + var b = this.curve.point(null, null); // (N / 2) * Q + var c = this; // Q + + for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1)) + bits.push(t.andln(1)); + + for (var i = bits.length - 1; i >= 0; i--) { + if (bits[i] === 0) { + // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q + a = a.diffAdd(b, c); + // N * Q = 2 * ((N / 2) * Q + Q)) + b = b.dbl(); + } else { + // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q) + b = a.diffAdd(b, c); + // N * Q + Q = 2 * ((N / 2) * Q + Q) + a = a.dbl(); + } + } + return b; +}; + +Point.prototype.mulAdd = function mulAdd() { + throw new Error('Not supported on Montgomery curve'); +}; + +Point.prototype.jumlAdd = function jumlAdd() { + throw new Error('Not supported on Montgomery curve'); +}; + +Point.prototype.eq = function eq(other) { + return this.getX().cmp(other.getX()) === 0; +}; + +Point.prototype.normalize = function normalize() { + this.x = this.x.redMul(this.z.redInvm()); + this.z = this.curve.one; + return this; +}; + +Point.prototype.getX = function getX() { + // Normalize coordinates + this.normalize(); + + return this.x.fromRed(); +}; + +},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],71:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var BN = require('bn.js'); +var inherits = require('inherits'); +var Base = require('./base'); + +var assert = utils.assert; + +function ShortCurve(conf) { + Base.call(this, 'short', conf); + + this.a = new BN(conf.a, 16).toRed(this.red); + this.b = new BN(conf.b, 16).toRed(this.red); + this.tinv = this.two.redInvm(); + + this.zeroA = this.a.fromRed().cmpn(0) === 0; + this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0; + + // If the curve is endomorphic, precalculate beta and lambda + this.endo = this._getEndomorphism(conf); + this._endoWnafT1 = new Array(4); + this._endoWnafT2 = new Array(4); +} +inherits(ShortCurve, Base); +module.exports = ShortCurve; + +ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { + // No efficient endomorphism + if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) + return; + + // Compute beta and lambda, that lambda * P = (beta * Px; Py) + var beta; + var lambda; + if (conf.beta) { + beta = new BN(conf.beta, 16).toRed(this.red); + } else { + var betas = this._getEndoRoots(this.p); + // Choose the smallest beta + beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1]; + beta = beta.toRed(this.red); + } + if (conf.lambda) { + lambda = new BN(conf.lambda, 16); + } else { + // Choose the lambda that is matching selected beta + var lambdas = this._getEndoRoots(this.n); + if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) { + lambda = lambdas[0]; + } else { + lambda = lambdas[1]; + assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0); + } + } + + // Get basis vectors, used for balanced length-two representation + var basis; + if (conf.basis) { + basis = conf.basis.map(function(vec) { + return { + a: new BN(vec.a, 16), + b: new BN(vec.b, 16), + }; + }); + } else { + basis = this._getEndoBasis(lambda); + } + + return { + beta: beta, + lambda: lambda, + basis: basis, + }; +}; + +ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { + // Find roots of for x^2 + x + 1 in F + // Root = (-1 +- Sqrt(-3)) / 2 + // + var red = num === this.p ? this.red : BN.mont(num); + var tinv = new BN(2).toRed(red).redInvm(); + var ntinv = tinv.redNeg(); + + var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv); + + var l1 = ntinv.redAdd(s).fromRed(); + var l2 = ntinv.redSub(s).fromRed(); + return [ l1, l2 ]; +}; + +ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { + // aprxSqrt >= sqrt(this.n) + var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); + + // 3.74 + // Run EGCD, until r(L + 1) < aprxSqrt + var u = lambda; + var v = this.n.clone(); + var x1 = new BN(1); + var y1 = new BN(0); + var x2 = new BN(0); + var y2 = new BN(1); + + // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n) + var a0; + var b0; + // First vector + var a1; + var b1; + // Second vector + var a2; + var b2; + + var prevR; + var i = 0; + var r; + var x; + while (u.cmpn(0) !== 0) { + var q = v.div(u); + r = v.sub(q.mul(u)); + x = x2.sub(q.mul(x1)); + var y = y2.sub(q.mul(y1)); + + if (!a1 && r.cmp(aprxSqrt) < 0) { + a0 = prevR.neg(); + b0 = x1; + a1 = r.neg(); + b1 = x; + } else if (a1 && ++i === 2) { + break; + } + prevR = r; + + v = u; + u = r; + x2 = x1; + x1 = x; + y2 = y1; + y1 = y; + } + a2 = r.neg(); + b2 = x; + + var len1 = a1.sqr().add(b1.sqr()); + var len2 = a2.sqr().add(b2.sqr()); + if (len2.cmp(len1) >= 0) { + a2 = a0; + b2 = b0; + } + + // Normalize signs + if (a1.negative) { + a1 = a1.neg(); + b1 = b1.neg(); + } + if (a2.negative) { + a2 = a2.neg(); + b2 = b2.neg(); + } + + return [ + { a: a1, b: b1 }, + { a: a2, b: b2 }, + ]; +}; + +ShortCurve.prototype._endoSplit = function _endoSplit(k) { + var basis = this.endo.basis; + var v1 = basis[0]; + var v2 = basis[1]; + + var c1 = v2.b.mul(k).divRound(this.n); + var c2 = v1.b.neg().mul(k).divRound(this.n); + + var p1 = c1.mul(v1.a); + var p2 = c2.mul(v2.a); + var q1 = c1.mul(v1.b); + var q2 = c2.mul(v2.b); + + // Calculate answer + var k1 = k.sub(p1).sub(p2); + var k2 = q1.add(q2).neg(); + return { k1: k1, k2: k2 }; +}; + +ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { + x = new BN(x, 16); + if (!x.red) + x = x.toRed(this.red); + + var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b); + var y = y2.redSqrt(); + if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) + throw new Error('invalid point'); + + // XXX Is there any way to tell if the number is odd without converting it + // to non-red form? + var isOdd = y.fromRed().isOdd(); + if (odd && !isOdd || !odd && isOdd) + y = y.redNeg(); + + return this.point(x, y); +}; + +ShortCurve.prototype.validate = function validate(point) { + if (point.inf) + return true; + + var x = point.x; + var y = point.y; + + var ax = this.a.redMul(x); + var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b); + return y.redSqr().redISub(rhs).cmpn(0) === 0; +}; + +ShortCurve.prototype._endoWnafMulAdd = + function _endoWnafMulAdd(points, coeffs, jacobianResult) { + var npoints = this._endoWnafT1; + var ncoeffs = this._endoWnafT2; + for (var i = 0; i < points.length; i++) { + var split = this._endoSplit(coeffs[i]); + var p = points[i]; + var beta = p._getBeta(); + + if (split.k1.negative) { + split.k1.ineg(); + p = p.neg(true); + } + if (split.k2.negative) { + split.k2.ineg(); + beta = beta.neg(true); + } + + npoints[i * 2] = p; + npoints[i * 2 + 1] = beta; + ncoeffs[i * 2] = split.k1; + ncoeffs[i * 2 + 1] = split.k2; + } + var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult); + + // Clean-up references to points and coefficients + for (var j = 0; j < i * 2; j++) { + npoints[j] = null; + ncoeffs[j] = null; + } + return res; + }; + +function Point(curve, x, y, isRed) { + Base.BasePoint.call(this, curve, 'affine'); + if (x === null && y === null) { + this.x = null; + this.y = null; + this.inf = true; + } else { + this.x = new BN(x, 16); + this.y = new BN(y, 16); + // Force redgomery representation when loading from JSON + if (isRed) { + this.x.forceRed(this.curve.red); + this.y.forceRed(this.curve.red); + } + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.y.red) + this.y = this.y.toRed(this.curve.red); + this.inf = false; + } +} +inherits(Point, Base.BasePoint); + +ShortCurve.prototype.point = function point(x, y, isRed) { + return new Point(this, x, y, isRed); +}; + +ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) { + return Point.fromJSON(this, obj, red); +}; + +Point.prototype._getBeta = function _getBeta() { + if (!this.curve.endo) + return; + + var pre = this.precomputed; + if (pre && pre.beta) + return pre.beta; + + var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); + if (pre) { + var curve = this.curve; + var endoMul = function(p) { + return curve.point(p.x.redMul(curve.endo.beta), p.y); + }; + pre.beta = beta; + beta.precomputed = { + beta: null, + naf: pre.naf && { + wnd: pre.naf.wnd, + points: pre.naf.points.map(endoMul), + }, + doubles: pre.doubles && { + step: pre.doubles.step, + points: pre.doubles.points.map(endoMul), + }, + }; + } + return beta; +}; + +Point.prototype.toJSON = function toJSON() { + if (!this.precomputed) + return [ this.x, this.y ]; + + return [ this.x, this.y, this.precomputed && { + doubles: this.precomputed.doubles && { + step: this.precomputed.doubles.step, + points: this.precomputed.doubles.points.slice(1), + }, + naf: this.precomputed.naf && { + wnd: this.precomputed.naf.wnd, + points: this.precomputed.naf.points.slice(1), + }, + } ]; +}; + +Point.fromJSON = function fromJSON(curve, obj, red) { + if (typeof obj === 'string') + obj = JSON.parse(obj); + var res = curve.point(obj[0], obj[1], red); + if (!obj[2]) + return res; + + function obj2point(obj) { + return curve.point(obj[0], obj[1], red); + } + + var pre = obj[2]; + res.precomputed = { + beta: null, + doubles: pre.doubles && { + step: pre.doubles.step, + points: [ res ].concat(pre.doubles.points.map(obj2point)), + }, + naf: pre.naf && { + wnd: pre.naf.wnd, + points: [ res ].concat(pre.naf.points.map(obj2point)), + }, + }; + return res; +}; + +Point.prototype.inspect = function inspect() { + if (this.isInfinity()) + return ''; + return ''; +}; + +Point.prototype.isInfinity = function isInfinity() { + return this.inf; +}; + +Point.prototype.add = function add(p) { + // O + P = P + if (this.inf) + return p; + + // P + O = P + if (p.inf) + return this; + + // P + P = 2P + if (this.eq(p)) + return this.dbl(); + + // P + (-P) = O + if (this.neg().eq(p)) + return this.curve.point(null, null); + + // P + Q = O + if (this.x.cmp(p.x) === 0) + return this.curve.point(null, null); + + var c = this.y.redSub(p.y); + if (c.cmpn(0) !== 0) + c = c.redMul(this.x.redSub(p.x).redInvm()); + var nx = c.redSqr().redISub(this.x).redISub(p.x); + var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); + return this.curve.point(nx, ny); +}; + +Point.prototype.dbl = function dbl() { + if (this.inf) + return this; + + // 2P = O + var ys1 = this.y.redAdd(this.y); + if (ys1.cmpn(0) === 0) + return this.curve.point(null, null); + + var a = this.curve.a; + + var x2 = this.x.redSqr(); + var dyinv = ys1.redInvm(); + var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv); + + var nx = c.redSqr().redISub(this.x.redAdd(this.x)); + var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); + return this.curve.point(nx, ny); +}; + +Point.prototype.getX = function getX() { + return this.x.fromRed(); +}; + +Point.prototype.getY = function getY() { + return this.y.fromRed(); +}; + +Point.prototype.mul = function mul(k) { + k = new BN(k, 16); + if (this.isInfinity()) + return this; + else if (this._hasDoubles(k)) + return this.curve._fixedNafMul(this, k); + else if (this.curve.endo) + return this.curve._endoWnafMulAdd([ this ], [ k ]); + else + return this.curve._wnafMul(this, k); +}; + +Point.prototype.mulAdd = function mulAdd(k1, p2, k2) { + var points = [ this, p2 ]; + var coeffs = [ k1, k2 ]; + if (this.curve.endo) + return this.curve._endoWnafMulAdd(points, coeffs); + else + return this.curve._wnafMulAdd(1, points, coeffs, 2); +}; + +Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) { + var points = [ this, p2 ]; + var coeffs = [ k1, k2 ]; + if (this.curve.endo) + return this.curve._endoWnafMulAdd(points, coeffs, true); + else + return this.curve._wnafMulAdd(1, points, coeffs, 2, true); +}; + +Point.prototype.eq = function eq(p) { + return this === p || + this.inf === p.inf && + (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0); +}; + +Point.prototype.neg = function neg(_precompute) { + if (this.inf) + return this; + + var res = this.curve.point(this.x, this.y.redNeg()); + if (_precompute && this.precomputed) { + var pre = this.precomputed; + var negate = function(p) { + return p.neg(); + }; + res.precomputed = { + naf: pre.naf && { + wnd: pre.naf.wnd, + points: pre.naf.points.map(negate), + }, + doubles: pre.doubles && { + step: pre.doubles.step, + points: pre.doubles.points.map(negate), + }, + }; + } + return res; +}; + +Point.prototype.toJ = function toJ() { + if (this.inf) + return this.curve.jpoint(null, null, null); + + var res = this.curve.jpoint(this.x, this.y, this.curve.one); + return res; +}; + +function JPoint(curve, x, y, z) { + Base.BasePoint.call(this, curve, 'jacobian'); + if (x === null && y === null && z === null) { + this.x = this.curve.one; + this.y = this.curve.one; + this.z = new BN(0); + } else { + this.x = new BN(x, 16); + this.y = new BN(y, 16); + this.z = new BN(z, 16); + } + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.y.red) + this.y = this.y.toRed(this.curve.red); + if (!this.z.red) + this.z = this.z.toRed(this.curve.red); + + this.zOne = this.z === this.curve.one; +} +inherits(JPoint, Base.BasePoint); + +ShortCurve.prototype.jpoint = function jpoint(x, y, z) { + return new JPoint(this, x, y, z); +}; + +JPoint.prototype.toP = function toP() { + if (this.isInfinity()) + return this.curve.point(null, null); + + var zinv = this.z.redInvm(); + var zinv2 = zinv.redSqr(); + var ax = this.x.redMul(zinv2); + var ay = this.y.redMul(zinv2).redMul(zinv); + + return this.curve.point(ax, ay); +}; + +JPoint.prototype.neg = function neg() { + return this.curve.jpoint(this.x, this.y.redNeg(), this.z); +}; + +JPoint.prototype.add = function add(p) { + // O + P = P + if (this.isInfinity()) + return p; + + // P + O = P + if (p.isInfinity()) + return this; + + // 12M + 4S + 7A + var pz2 = p.z.redSqr(); + var z2 = this.z.redSqr(); + var u1 = this.x.redMul(pz2); + var u2 = p.x.redMul(z2); + var s1 = this.y.redMul(pz2.redMul(p.z)); + var s2 = p.y.redMul(z2.redMul(this.z)); + + var h = u1.redSub(u2); + var r = s1.redSub(s2); + if (h.cmpn(0) === 0) { + if (r.cmpn(0) !== 0) + return this.curve.jpoint(null, null, null); + else + return this.dbl(); + } + + var h2 = h.redSqr(); + var h3 = h2.redMul(h); + var v = u1.redMul(h2); + + var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); + var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); + var nz = this.z.redMul(p.z).redMul(h); + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype.mixedAdd = function mixedAdd(p) { + // O + P = P + if (this.isInfinity()) + return p.toJ(); + + // P + O = P + if (p.isInfinity()) + return this; + + // 8M + 3S + 7A + var z2 = this.z.redSqr(); + var u1 = this.x; + var u2 = p.x.redMul(z2); + var s1 = this.y; + var s2 = p.y.redMul(z2).redMul(this.z); + + var h = u1.redSub(u2); + var r = s1.redSub(s2); + if (h.cmpn(0) === 0) { + if (r.cmpn(0) !== 0) + return this.curve.jpoint(null, null, null); + else + return this.dbl(); + } + + var h2 = h.redSqr(); + var h3 = h2.redMul(h); + var v = u1.redMul(h2); + + var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); + var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); + var nz = this.z.redMul(h); + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype.dblp = function dblp(pow) { + if (pow === 0) + return this; + if (this.isInfinity()) + return this; + if (!pow) + return this.dbl(); + + var i; + if (this.curve.zeroA || this.curve.threeA) { + var r = this; + for (i = 0; i < pow; i++) + r = r.dbl(); + return r; + } + + // 1M + 2S + 1A + N * (4S + 5M + 8A) + // N = 1 => 6M + 6S + 9A + var a = this.curve.a; + var tinv = this.curve.tinv; + + var jx = this.x; + var jy = this.y; + var jz = this.z; + var jz4 = jz.redSqr().redSqr(); + + // Reuse results + var jyd = jy.redAdd(jy); + for (i = 0; i < pow; i++) { + var jx2 = jx.redSqr(); + var jyd2 = jyd.redSqr(); + var jyd4 = jyd2.redSqr(); + var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); + + var t1 = jx.redMul(jyd2); + var nx = c.redSqr().redISub(t1.redAdd(t1)); + var t2 = t1.redISub(nx); + var dny = c.redMul(t2); + dny = dny.redIAdd(dny).redISub(jyd4); + var nz = jyd.redMul(jz); + if (i + 1 < pow) + jz4 = jz4.redMul(jyd4); + + jx = nx; + jz = nz; + jyd = dny; + } + + return this.curve.jpoint(jx, jyd.redMul(tinv), jz); +}; + +JPoint.prototype.dbl = function dbl() { + if (this.isInfinity()) + return this; + + if (this.curve.zeroA) + return this._zeroDbl(); + else if (this.curve.threeA) + return this._threeDbl(); + else + return this._dbl(); +}; + +JPoint.prototype._zeroDbl = function _zeroDbl() { + var nx; + var ny; + var nz; + // Z = 1 + if (this.zOne) { + // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html + // #doubling-mdbl-2007-bl + // 1M + 5S + 14A + + // XX = X1^2 + var xx = this.x.redSqr(); + // YY = Y1^2 + var yy = this.y.redSqr(); + // YYYY = YY^2 + var yyyy = yy.redSqr(); + // S = 2 * ((X1 + YY)^2 - XX - YYYY) + var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + s = s.redIAdd(s); + // M = 3 * XX + a; a = 0 + var m = xx.redAdd(xx).redIAdd(xx); + // T = M ^ 2 - 2*S + var t = m.redSqr().redISub(s).redISub(s); + + // 8 * YYYY + var yyyy8 = yyyy.redIAdd(yyyy); + yyyy8 = yyyy8.redIAdd(yyyy8); + yyyy8 = yyyy8.redIAdd(yyyy8); + + // X3 = T + nx = t; + // Y3 = M * (S - T) - 8 * YYYY + ny = m.redMul(s.redISub(t)).redISub(yyyy8); + // Z3 = 2*Y1 + nz = this.y.redAdd(this.y); + } else { + // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html + // #doubling-dbl-2009-l + // 2M + 5S + 13A + + // A = X1^2 + var a = this.x.redSqr(); + // B = Y1^2 + var b = this.y.redSqr(); + // C = B^2 + var c = b.redSqr(); + // D = 2 * ((X1 + B)^2 - A - C) + var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c); + d = d.redIAdd(d); + // E = 3 * A + var e = a.redAdd(a).redIAdd(a); + // F = E^2 + var f = e.redSqr(); + + // 8 * C + var c8 = c.redIAdd(c); + c8 = c8.redIAdd(c8); + c8 = c8.redIAdd(c8); + + // X3 = F - 2 * D + nx = f.redISub(d).redISub(d); + // Y3 = E * (D - X3) - 8 * C + ny = e.redMul(d.redISub(nx)).redISub(c8); + // Z3 = 2 * Y1 * Z1 + nz = this.y.redMul(this.z); + nz = nz.redIAdd(nz); + } + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype._threeDbl = function _threeDbl() { + var nx; + var ny; + var nz; + // Z = 1 + if (this.zOne) { + // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html + // #doubling-mdbl-2007-bl + // 1M + 5S + 15A + + // XX = X1^2 + var xx = this.x.redSqr(); + // YY = Y1^2 + var yy = this.y.redSqr(); + // YYYY = YY^2 + var yyyy = yy.redSqr(); + // S = 2 * ((X1 + YY)^2 - XX - YYYY) + var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + s = s.redIAdd(s); + // M = 3 * XX + a + var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a); + // T = M^2 - 2 * S + var t = m.redSqr().redISub(s).redISub(s); + // X3 = T + nx = t; + // Y3 = M * (S - T) - 8 * YYYY + var yyyy8 = yyyy.redIAdd(yyyy); + yyyy8 = yyyy8.redIAdd(yyyy8); + yyyy8 = yyyy8.redIAdd(yyyy8); + ny = m.redMul(s.redISub(t)).redISub(yyyy8); + // Z3 = 2 * Y1 + nz = this.y.redAdd(this.y); + } else { + // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b + // 3M + 5S + + // delta = Z1^2 + var delta = this.z.redSqr(); + // gamma = Y1^2 + var gamma = this.y.redSqr(); + // beta = X1 * gamma + var beta = this.x.redMul(gamma); + // alpha = 3 * (X1 - delta) * (X1 + delta) + var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta)); + alpha = alpha.redAdd(alpha).redIAdd(alpha); + // X3 = alpha^2 - 8 * beta + var beta4 = beta.redIAdd(beta); + beta4 = beta4.redIAdd(beta4); + var beta8 = beta4.redAdd(beta4); + nx = alpha.redSqr().redISub(beta8); + // Z3 = (Y1 + Z1)^2 - gamma - delta + nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta); + // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2 + var ggamma8 = gamma.redSqr(); + ggamma8 = ggamma8.redIAdd(ggamma8); + ggamma8 = ggamma8.redIAdd(ggamma8); + ggamma8 = ggamma8.redIAdd(ggamma8); + ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8); + } + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype._dbl = function _dbl() { + var a = this.curve.a; + + // 4M + 6S + 10A + var jx = this.x; + var jy = this.y; + var jz = this.z; + var jz4 = jz.redSqr().redSqr(); + + var jx2 = jx.redSqr(); + var jy2 = jy.redSqr(); + + var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); + + var jxd4 = jx.redAdd(jx); + jxd4 = jxd4.redIAdd(jxd4); + var t1 = jxd4.redMul(jy2); + var nx = c.redSqr().redISub(t1.redAdd(t1)); + var t2 = t1.redISub(nx); + + var jyd8 = jy2.redSqr(); + jyd8 = jyd8.redIAdd(jyd8); + jyd8 = jyd8.redIAdd(jyd8); + jyd8 = jyd8.redIAdd(jyd8); + var ny = c.redMul(t2).redISub(jyd8); + var nz = jy.redAdd(jy).redMul(jz); + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype.trpl = function trpl() { + if (!this.curve.zeroA) + return this.dbl().add(this); + + // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl + // 5M + 10S + ... + + // XX = X1^2 + var xx = this.x.redSqr(); + // YY = Y1^2 + var yy = this.y.redSqr(); + // ZZ = Z1^2 + var zz = this.z.redSqr(); + // YYYY = YY^2 + var yyyy = yy.redSqr(); + // M = 3 * XX + a * ZZ2; a = 0 + var m = xx.redAdd(xx).redIAdd(xx); + // MM = M^2 + var mm = m.redSqr(); + // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM + var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + e = e.redIAdd(e); + e = e.redAdd(e).redIAdd(e); + e = e.redISub(mm); + // EE = E^2 + var ee = e.redSqr(); + // T = 16*YYYY + var t = yyyy.redIAdd(yyyy); + t = t.redIAdd(t); + t = t.redIAdd(t); + t = t.redIAdd(t); + // U = (M + E)^2 - MM - EE - T + var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t); + // X3 = 4 * (X1 * EE - 4 * YY * U) + var yyu4 = yy.redMul(u); + yyu4 = yyu4.redIAdd(yyu4); + yyu4 = yyu4.redIAdd(yyu4); + var nx = this.x.redMul(ee).redISub(yyu4); + nx = nx.redIAdd(nx); + nx = nx.redIAdd(nx); + // Y3 = 8 * Y1 * (U * (T - U) - E * EE) + var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee))); + ny = ny.redIAdd(ny); + ny = ny.redIAdd(ny); + ny = ny.redIAdd(ny); + // Z3 = (Z1 + E)^2 - ZZ - EE + var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee); + + return this.curve.jpoint(nx, ny, nz); +}; + +JPoint.prototype.mul = function mul(k, kbase) { + k = new BN(k, kbase); + + return this.curve._wnafMul(this, k); +}; + +JPoint.prototype.eq = function eq(p) { + if (p.type === 'affine') + return this.eq(p.toJ()); + + if (this === p) + return true; + + // x1 * z2^2 == x2 * z1^2 + var z2 = this.z.redSqr(); + var pz2 = p.z.redSqr(); + if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) + return false; + + // y1 * z2^3 == y2 * z1^3 + var z3 = z2.redMul(this.z); + var pz3 = pz2.redMul(p.z); + return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0; +}; + +JPoint.prototype.eqXToP = function eqXToP(x) { + var zs = this.z.redSqr(); + var rx = x.toRed(this.curve.red).redMul(zs); + if (this.x.cmp(rx) === 0) + return true; + + var xc = x.clone(); + var t = this.curve.redN.redMul(zs); + for (;;) { + xc.iadd(this.curve.n); + if (xc.cmp(this.curve.p) >= 0) + return false; + + rx.redIAdd(t); + if (this.x.cmp(rx) === 0) + return true; + } +}; + +JPoint.prototype.inspect = function inspect() { + if (this.isInfinity()) + return ''; + return ''; +}; + +JPoint.prototype.isInfinity = function isInfinity() { + // XXX This code assumes that zero is always zero in red + return this.z.cmpn(0) === 0; +}; + +},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],72:[function(require,module,exports){ +'use strict'; + +var curves = exports; + +var hash = require('hash.js'); +var curve = require('./curve'); +var utils = require('./utils'); + +var assert = utils.assert; + +function PresetCurve(options) { + if (options.type === 'short') + this.curve = new curve.short(options); + else if (options.type === 'edwards') + this.curve = new curve.edwards(options); + else + this.curve = new curve.mont(options); + this.g = this.curve.g; + this.n = this.curve.n; + this.hash = options.hash; + + assert(this.g.validate(), 'Invalid curve'); + assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O'); +} +curves.PresetCurve = PresetCurve; + +function defineCurve(name, options) { + Object.defineProperty(curves, name, { + configurable: true, + enumerable: true, + get: function() { + var curve = new PresetCurve(options); + Object.defineProperty(curves, name, { + configurable: true, + enumerable: true, + value: curve, + }); + return curve; + }, + }); +} + +defineCurve('p192', { + type: 'short', + prime: 'p192', + p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff', + a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc', + b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1', + n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831', + hash: hash.sha256, + gRed: false, + g: [ + '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012', + '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811', + ], +}); + +defineCurve('p224', { + type: 'short', + prime: 'p224', + p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001', + a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe', + b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4', + n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d', + hash: hash.sha256, + gRed: false, + g: [ + 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21', + 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34', + ], +}); + +defineCurve('p256', { + type: 'short', + prime: null, + p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff', + a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc', + b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b', + n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551', + hash: hash.sha256, + gRed: false, + g: [ + '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296', + '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5', + ], +}); + +defineCurve('p384', { + type: 'short', + prime: null, + p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'fffffffe ffffffff 00000000 00000000 ffffffff', + a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'fffffffe ffffffff 00000000 00000000 fffffffc', + b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' + + '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef', + n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' + + 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973', + hash: hash.sha384, + gRed: false, + g: [ + 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' + + '5502f25d bf55296c 3a545e38 72760ab7', + '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' + + '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f', + ], +}); + +defineCurve('p521', { + type: 'short', + prime: null, + p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'ffffffff ffffffff ffffffff ffffffff ffffffff', + a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'ffffffff ffffffff ffffffff ffffffff fffffffc', + b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' + + '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' + + '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00', + n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + + 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' + + 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409', + hash: hash.sha512, + gRed: false, + g: [ + '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' + + '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' + + 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66', + '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' + + '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' + + '3fad0761 353c7086 a272c240 88be9476 9fd16650', + ], +}); + +defineCurve('curve25519', { + type: 'mont', + prime: 'p25519', + p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', + a: '76d06', + b: '1', + n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', + hash: hash.sha256, + gRed: false, + g: [ + '9', + ], +}); + +defineCurve('ed25519', { + type: 'edwards', + prime: 'p25519', + p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', + a: '-1', + c: '1', + // -121665 * (121666^(-1)) (mod P) + d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3', + n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', + hash: hash.sha256, + gRed: false, + g: [ + '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a', + + // 4/5 + '6666666666666666666666666666666666666666666666666666666666666658', + ], +}); + +var pre; +try { + pre = require('./precomputed/secp256k1'); +} catch (e) { + pre = undefined; +} + +defineCurve('secp256k1', { + type: 'short', + prime: 'k256', + p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f', + a: '0', + b: '7', + n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141', + h: '1', + hash: hash.sha256, + + // Precomputed endomorphism + beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee', + lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72', + basis: [ + { + a: '3086d221a7d46bcde86c90e49284eb15', + b: '-e4437ed6010e88286f547fa90abfe4c3', + }, + { + a: '114ca50f7a8e2f3f657c1108d9d44cfd8', + b: '3086d221a7d46bcde86c90e49284eb15', + }, + ], + + gRed: false, + g: [ + '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', + '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8', + pre, + ], +}); + +},{"./curve":69,"./precomputed/secp256k1":79,"./utils":80,"hash.js":102}],73:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); +var HmacDRBG = require('hmac-drbg'); +var utils = require('../utils'); +var curves = require('../curves'); +var rand = require('brorand'); +var assert = utils.assert; + +var KeyPair = require('./key'); +var Signature = require('./signature'); + +function EC(options) { + if (!(this instanceof EC)) + return new EC(options); + + // Shortcut `elliptic.ec(curve-name)` + if (typeof options === 'string') { + assert(Object.prototype.hasOwnProperty.call(curves, options), + 'Unknown curve ' + options); + + options = curves[options]; + } + + // Shortcut for `elliptic.ec(elliptic.curves.curveName)` + if (options instanceof curves.PresetCurve) + options = { curve: options }; + + this.curve = options.curve.curve; + this.n = this.curve.n; + this.nh = this.n.ushrn(1); + this.g = this.curve.g; + + // Point on curve + this.g = options.curve.g; + this.g.precompute(options.curve.n.bitLength() + 1); + + // Hash for function for DRBG + this.hash = options.hash || options.curve.hash; +} +module.exports = EC; + +EC.prototype.keyPair = function keyPair(options) { + return new KeyPair(this, options); +}; + +EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) { + return KeyPair.fromPrivate(this, priv, enc); +}; + +EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) { + return KeyPair.fromPublic(this, pub, enc); +}; + +EC.prototype.genKeyPair = function genKeyPair(options) { + if (!options) + options = {}; + + // Instantiate Hmac_DRBG + var drbg = new HmacDRBG({ + hash: this.hash, + pers: options.pers, + persEnc: options.persEnc || 'utf8', + entropy: options.entropy || rand(this.hash.hmacStrength), + entropyEnc: options.entropy && options.entropyEnc || 'utf8', + nonce: this.n.toArray(), + }); + + var bytes = this.n.byteLength(); + var ns2 = this.n.sub(new BN(2)); + for (;;) { + var priv = new BN(drbg.generate(bytes)); + if (priv.cmp(ns2) > 0) + continue; + + priv.iaddn(1); + return this.keyFromPrivate(priv); + } +}; + +EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) { + var delta = msg.byteLength() * 8 - this.n.bitLength(); + if (delta > 0) + msg = msg.ushrn(delta); + if (!truncOnly && msg.cmp(this.n) >= 0) + return msg.sub(this.n); + else + return msg; +}; + +EC.prototype.sign = function sign(msg, key, enc, options) { + if (typeof enc === 'object') { + options = enc; + enc = null; + } + if (!options) + options = {}; + + key = this.keyFromPrivate(key, enc); + msg = this._truncateToN(new BN(msg, 16)); + + // Zero-extend key to provide enough entropy + var bytes = this.n.byteLength(); + var bkey = key.getPrivate().toArray('be', bytes); + + // Zero-extend nonce to have the same byte size as N + var nonce = msg.toArray('be', bytes); + + // Instantiate Hmac_DRBG + var drbg = new HmacDRBG({ + hash: this.hash, + entropy: bkey, + nonce: nonce, + pers: options.pers, + persEnc: options.persEnc || 'utf8', + }); + + // Number of bytes to generate + var ns1 = this.n.sub(new BN(1)); + + for (var iter = 0; ; iter++) { + var k = options.k ? + options.k(iter) : + new BN(drbg.generate(this.n.byteLength())); + k = this._truncateToN(k, true); + if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) + continue; + + var kp = this.g.mul(k); + if (kp.isInfinity()) + continue; + + var kpX = kp.getX(); + var r = kpX.umod(this.n); + if (r.cmpn(0) === 0) + continue; + + var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg)); + s = s.umod(this.n); + if (s.cmpn(0) === 0) + continue; + + var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | + (kpX.cmp(r) !== 0 ? 2 : 0); + + // Use complement of `s`, if it is > `n / 2` + if (options.canonical && s.cmp(this.nh) > 0) { + s = this.n.sub(s); + recoveryParam ^= 1; + } + + return new Signature({ r: r, s: s, recoveryParam: recoveryParam }); + } +}; + +EC.prototype.verify = function verify(msg, signature, key, enc) { + msg = this._truncateToN(new BN(msg, 16)); + key = this.keyFromPublic(key, enc); + signature = new Signature(signature, 'hex'); + + // Perform primitive values validation + var r = signature.r; + var s = signature.s; + if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) + return false; + if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) + return false; + + // Validate signature + var sinv = s.invm(this.n); + var u1 = sinv.mul(msg).umod(this.n); + var u2 = sinv.mul(r).umod(this.n); + var p; + + if (!this.curve._maxwellTrick) { + p = this.g.mulAdd(u1, key.getPublic(), u2); + if (p.isInfinity()) + return false; + + return p.getX().umod(this.n).cmp(r) === 0; + } + + // NOTE: Greg Maxwell's trick, inspired by: + // https://git.io/vad3K + + p = this.g.jmulAdd(u1, key.getPublic(), u2); + if (p.isInfinity()) + return false; + + // Compare `p.x` of Jacobian point with `r`, + // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the + // inverse of `p.z^2` + return p.eqXToP(r); +}; + +EC.prototype.recoverPubKey = function(msg, signature, j, enc) { + assert((3 & j) === j, 'The recovery param is more than two bits'); + signature = new Signature(signature, enc); + + var n = this.n; + var e = new BN(msg); + var r = signature.r; + var s = signature.s; + + // A set LSB signifies that the y-coordinate is odd + var isYOdd = j & 1; + var isSecondKey = j >> 1; + if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) + throw new Error('Unable to find sencond key candinate'); + + // 1.1. Let x = r + jn. + if (isSecondKey) + r = this.curve.pointFromX(r.add(this.curve.n), isYOdd); + else + r = this.curve.pointFromX(r, isYOdd); + + var rInv = signature.r.invm(n); + var s1 = n.sub(e).mul(rInv).umod(n); + var s2 = s.mul(rInv).umod(n); + + // 1.6.1 Compute Q = r^-1 (sR - eG) + // Q = r^-1 (sR + -eG) + return this.g.mulAdd(s1, r, s2); +}; + +EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { + signature = new Signature(signature, enc); + if (signature.recoveryParam !== null) + return signature.recoveryParam; + + for (var i = 0; i < 4; i++) { + var Qprime; + try { + Qprime = this.recoverPubKey(e, signature, i); + } catch (e) { + continue; + } + + if (Qprime.eq(Q)) + return i; + } + throw new Error('Unable to find valid recovery factor'); +}; + +},{"../curves":72,"../utils":80,"./key":74,"./signature":75,"bn.js":81,"brorand":17,"hmac-drbg":114}],74:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); +var utils = require('../utils'); +var assert = utils.assert; + +function KeyPair(ec, options) { + this.ec = ec; + this.priv = null; + this.pub = null; + + // KeyPair(ec, { priv: ..., pub: ... }) + if (options.priv) + this._importPrivate(options.priv, options.privEnc); + if (options.pub) + this._importPublic(options.pub, options.pubEnc); +} +module.exports = KeyPair; + +KeyPair.fromPublic = function fromPublic(ec, pub, enc) { + if (pub instanceof KeyPair) + return pub; + + return new KeyPair(ec, { + pub: pub, + pubEnc: enc, + }); +}; + +KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) { + if (priv instanceof KeyPair) + return priv; + + return new KeyPair(ec, { + priv: priv, + privEnc: enc, + }); +}; + +KeyPair.prototype.validate = function validate() { + var pub = this.getPublic(); + + if (pub.isInfinity()) + return { result: false, reason: 'Invalid public key' }; + if (!pub.validate()) + return { result: false, reason: 'Public key is not a point' }; + if (!pub.mul(this.ec.curve.n).isInfinity()) + return { result: false, reason: 'Public key * N != O' }; + + return { result: true, reason: null }; +}; + +KeyPair.prototype.getPublic = function getPublic(compact, enc) { + // compact is optional argument + if (typeof compact === 'string') { + enc = compact; + compact = null; + } + + if (!this.pub) + this.pub = this.ec.g.mul(this.priv); + + if (!enc) + return this.pub; + + return this.pub.encode(enc, compact); +}; + +KeyPair.prototype.getPrivate = function getPrivate(enc) { + if (enc === 'hex') + return this.priv.toString(16, 2); + else + return this.priv; +}; + +KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { + this.priv = new BN(key, enc || 16); + + // Ensure that the priv won't be bigger than n, otherwise we may fail + // in fixed multiplication method + this.priv = this.priv.umod(this.ec.curve.n); +}; + +KeyPair.prototype._importPublic = function _importPublic(key, enc) { + if (key.x || key.y) { + // Montgomery points only have an `x` coordinate. + // Weierstrass/Edwards points on the other hand have both `x` and + // `y` coordinates. + if (this.ec.curve.type === 'mont') { + assert(key.x, 'Need x coordinate'); + } else if (this.ec.curve.type === 'short' || + this.ec.curve.type === 'edwards') { + assert(key.x && key.y, 'Need both x and y coordinate'); + } + this.pub = this.ec.curve.point(key.x, key.y); + return; + } + this.pub = this.ec.curve.decodePoint(key, enc); +}; + +// ECDH +KeyPair.prototype.derive = function derive(pub) { + if(!pub.validate()) { + assert(pub.validate(), 'public point not validated'); + } + return pub.mul(this.priv).getX(); +}; + +// ECDSA +KeyPair.prototype.sign = function sign(msg, enc, options) { + return this.ec.sign(msg, this, enc, options); +}; + +KeyPair.prototype.verify = function verify(msg, signature) { + return this.ec.verify(msg, signature, this); +}; + +KeyPair.prototype.inspect = function inspect() { + return ''; +}; + +},{"../utils":80,"bn.js":81}],75:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); + +var utils = require('../utils'); +var assert = utils.assert; + +function Signature(options, enc) { + if (options instanceof Signature) + return options; + + if (this._importDER(options, enc)) + return; + + assert(options.r && options.s, 'Signature without r or s'); + this.r = new BN(options.r, 16); + this.s = new BN(options.s, 16); + if (options.recoveryParam === undefined) + this.recoveryParam = null; + else + this.recoveryParam = options.recoveryParam; +} +module.exports = Signature; + +function Position() { + this.place = 0; +} + +function getLength(buf, p) { + var initial = buf[p.place++]; + if (!(initial & 0x80)) { + return initial; + } + var octetLen = initial & 0xf; + + // Indefinite length or overflow + if (octetLen === 0 || octetLen > 4) { + return false; + } + + var val = 0; + for (var i = 0, off = p.place; i < octetLen; i++, off++) { + val <<= 8; + val |= buf[off]; + val >>>= 0; + } + + // Leading zeroes + if (val <= 0x7f) { + return false; + } + + p.place = off; + return val; +} + +function rmPadding(buf) { + var i = 0; + var len = buf.length - 1; + while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) { + i++; + } + if (i === 0) { + return buf; + } + return buf.slice(i); +} + +Signature.prototype._importDER = function _importDER(data, enc) { + data = utils.toArray(data, enc); + var p = new Position(); + if (data[p.place++] !== 0x30) { + return false; + } + var len = getLength(data, p); + if (len === false) { + return false; + } + if ((len + p.place) !== data.length) { + return false; + } + if (data[p.place++] !== 0x02) { + return false; + } + var rlen = getLength(data, p); + if (rlen === false) { + return false; + } + var r = data.slice(p.place, rlen + p.place); + p.place += rlen; + if (data[p.place++] !== 0x02) { + return false; + } + var slen = getLength(data, p); + if (slen === false) { + return false; + } + if (data.length !== slen + p.place) { + return false; + } + var s = data.slice(p.place, slen + p.place); + if (r[0] === 0) { + if (r[1] & 0x80) { + r = r.slice(1); + } else { + // Leading zeroes + return false; + } + } + if (s[0] === 0) { + if (s[1] & 0x80) { + s = s.slice(1); + } else { + // Leading zeroes + return false; + } + } + + this.r = new BN(r); + this.s = new BN(s); + this.recoveryParam = null; + + return true; +}; + +function constructLength(arr, len) { + if (len < 0x80) { + arr.push(len); + return; + } + var octets = 1 + (Math.log(len) / Math.LN2 >>> 3); + arr.push(octets | 0x80); + while (--octets) { + arr.push((len >>> (octets << 3)) & 0xff); + } + arr.push(len); +} + +Signature.prototype.toDER = function toDER(enc) { + var r = this.r.toArray(); + var s = this.s.toArray(); + + // Pad values + if (r[0] & 0x80) + r = [ 0 ].concat(r); + // Pad values + if (s[0] & 0x80) + s = [ 0 ].concat(s); + + r = rmPadding(r); + s = rmPadding(s); + + while (!s[0] && !(s[1] & 0x80)) { + s = s.slice(1); + } + var arr = [ 0x02 ]; + constructLength(arr, r.length); + arr = arr.concat(r); + arr.push(0x02); + constructLength(arr, s.length); + var backHalf = arr.concat(s); + var res = [ 0x30 ]; + constructLength(res, backHalf.length); + res = res.concat(backHalf); + return utils.encode(res, enc); +}; + +},{"../utils":80,"bn.js":81}],76:[function(require,module,exports){ +'use strict'; + +var hash = require('hash.js'); +var curves = require('../curves'); +var utils = require('../utils'); +var assert = utils.assert; +var parseBytes = utils.parseBytes; +var KeyPair = require('./key'); +var Signature = require('./signature'); + +function EDDSA(curve) { + assert(curve === 'ed25519', 'only tested with ed25519 so far'); + + if (!(this instanceof EDDSA)) + return new EDDSA(curve); + + curve = curves[curve].curve; + this.curve = curve; + this.g = curve.g; + this.g.precompute(curve.n.bitLength() + 1); + + this.pointClass = curve.point().constructor; + this.encodingLength = Math.ceil(curve.n.bitLength() / 8); + this.hash = hash.sha512; +} + +module.exports = EDDSA; + +/** +* @param {Array|String} message - message bytes +* @param {Array|String|KeyPair} secret - secret bytes or a keypair +* @returns {Signature} - signature +*/ +EDDSA.prototype.sign = function sign(message, secret) { + message = parseBytes(message); + var key = this.keyFromSecret(secret); + var r = this.hashInt(key.messagePrefix(), message); + var R = this.g.mul(r); + var Rencoded = this.encodePoint(R); + var s_ = this.hashInt(Rencoded, key.pubBytes(), message) + .mul(key.priv()); + var S = r.add(s_).umod(this.curve.n); + return this.makeSignature({ R: R, S: S, Rencoded: Rencoded }); +}; + +/** +* @param {Array} message - message bytes +* @param {Array|String|Signature} sig - sig bytes +* @param {Array|String|Point|KeyPair} pub - public key +* @returns {Boolean} - true if public key matches sig of message +*/ +EDDSA.prototype.verify = function verify(message, sig, pub) { + message = parseBytes(message); + sig = this.makeSignature(sig); + var key = this.keyFromPublic(pub); + var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message); + var SG = this.g.mul(sig.S()); + var RplusAh = sig.R().add(key.pub().mul(h)); + return RplusAh.eq(SG); +}; + +EDDSA.prototype.hashInt = function hashInt() { + var hash = this.hash(); + for (var i = 0; i < arguments.length; i++) + hash.update(arguments[i]); + return utils.intFromLE(hash.digest()).umod(this.curve.n); +}; + +EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) { + return KeyPair.fromPublic(this, pub); +}; + +EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) { + return KeyPair.fromSecret(this, secret); +}; + +EDDSA.prototype.makeSignature = function makeSignature(sig) { + if (sig instanceof Signature) + return sig; + return new Signature(this, sig); +}; + +/** +* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2 +* +* EDDSA defines methods for encoding and decoding points and integers. These are +* helper convenience methods, that pass along to utility functions implied +* parameters. +* +*/ +EDDSA.prototype.encodePoint = function encodePoint(point) { + var enc = point.getY().toArray('le', this.encodingLength); + enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0; + return enc; +}; + +EDDSA.prototype.decodePoint = function decodePoint(bytes) { + bytes = utils.parseBytes(bytes); + + var lastIx = bytes.length - 1; + var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80); + var xIsOdd = (bytes[lastIx] & 0x80) !== 0; + + var y = utils.intFromLE(normed); + return this.curve.pointFromY(y, xIsOdd); +}; + +EDDSA.prototype.encodeInt = function encodeInt(num) { + return num.toArray('le', this.encodingLength); +}; + +EDDSA.prototype.decodeInt = function decodeInt(bytes) { + return utils.intFromLE(bytes); +}; + +EDDSA.prototype.isPoint = function isPoint(val) { + return val instanceof this.pointClass; +}; + +},{"../curves":72,"../utils":80,"./key":77,"./signature":78,"hash.js":102}],77:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var assert = utils.assert; +var parseBytes = utils.parseBytes; +var cachedProperty = utils.cachedProperty; + +/** +* @param {EDDSA} eddsa - instance +* @param {Object} params - public/private key parameters +* +* @param {Array} [params.secret] - secret seed bytes +* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms) +* @param {Array} [params.pub] - public key point encoded as bytes +* +*/ +function KeyPair(eddsa, params) { + this.eddsa = eddsa; + this._secret = parseBytes(params.secret); + if (eddsa.isPoint(params.pub)) + this._pub = params.pub; + else + this._pubBytes = parseBytes(params.pub); +} + +KeyPair.fromPublic = function fromPublic(eddsa, pub) { + if (pub instanceof KeyPair) + return pub; + return new KeyPair(eddsa, { pub: pub }); +}; + +KeyPair.fromSecret = function fromSecret(eddsa, secret) { + if (secret instanceof KeyPair) + return secret; + return new KeyPair(eddsa, { secret: secret }); +}; + +KeyPair.prototype.secret = function secret() { + return this._secret; +}; + +cachedProperty(KeyPair, 'pubBytes', function pubBytes() { + return this.eddsa.encodePoint(this.pub()); +}); + +cachedProperty(KeyPair, 'pub', function pub() { + if (this._pubBytes) + return this.eddsa.decodePoint(this._pubBytes); + return this.eddsa.g.mul(this.priv()); +}); + +cachedProperty(KeyPair, 'privBytes', function privBytes() { + var eddsa = this.eddsa; + var hash = this.hash(); + var lastIx = eddsa.encodingLength - 1; + + var a = hash.slice(0, eddsa.encodingLength); + a[0] &= 248; + a[lastIx] &= 127; + a[lastIx] |= 64; + + return a; +}); + +cachedProperty(KeyPair, 'priv', function priv() { + return this.eddsa.decodeInt(this.privBytes()); +}); + +cachedProperty(KeyPair, 'hash', function hash() { + return this.eddsa.hash().update(this.secret()).digest(); +}); + +cachedProperty(KeyPair, 'messagePrefix', function messagePrefix() { + return this.hash().slice(this.eddsa.encodingLength); +}); + +KeyPair.prototype.sign = function sign(message) { + assert(this._secret, 'KeyPair can only verify'); + return this.eddsa.sign(message, this); +}; + +KeyPair.prototype.verify = function verify(message, sig) { + return this.eddsa.verify(message, sig, this); +}; + +KeyPair.prototype.getSecret = function getSecret(enc) { + assert(this._secret, 'KeyPair is public only'); + return utils.encode(this.secret(), enc); +}; + +KeyPair.prototype.getPublic = function getPublic(enc) { + return utils.encode(this.pubBytes(), enc); +}; + +module.exports = KeyPair; + +},{"../utils":80}],78:[function(require,module,exports){ +'use strict'; + +var BN = require('bn.js'); +var utils = require('../utils'); +var assert = utils.assert; +var cachedProperty = utils.cachedProperty; +var parseBytes = utils.parseBytes; + +/** +* @param {EDDSA} eddsa - eddsa instance +* @param {Array|Object} sig - +* @param {Array|Point} [sig.R] - R point as Point or bytes +* @param {Array|bn} [sig.S] - S scalar as bn or bytes +* @param {Array} [sig.Rencoded] - R point encoded +* @param {Array} [sig.Sencoded] - S scalar encoded +*/ +function Signature(eddsa, sig) { + this.eddsa = eddsa; + + if (typeof sig !== 'object') + sig = parseBytes(sig); + + if (Array.isArray(sig)) { + sig = { + R: sig.slice(0, eddsa.encodingLength), + S: sig.slice(eddsa.encodingLength), + }; + } + + assert(sig.R && sig.S, 'Signature without R or S'); + + if (eddsa.isPoint(sig.R)) + this._R = sig.R; + if (sig.S instanceof BN) + this._S = sig.S; + + this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded; + this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded; +} + +cachedProperty(Signature, 'S', function S() { + return this.eddsa.decodeInt(this.Sencoded()); +}); + +cachedProperty(Signature, 'R', function R() { + return this.eddsa.decodePoint(this.Rencoded()); +}); + +cachedProperty(Signature, 'Rencoded', function Rencoded() { + return this.eddsa.encodePoint(this.R()); +}); + +cachedProperty(Signature, 'Sencoded', function Sencoded() { + return this.eddsa.encodeInt(this.S()); +}); + +Signature.prototype.toBytes = function toBytes() { + return this.Rencoded().concat(this.Sencoded()); +}; + +Signature.prototype.toHex = function toHex() { + return utils.encode(this.toBytes(), 'hex').toUpperCase(); +}; + +module.exports = Signature; + +},{"../utils":80,"bn.js":81}],79:[function(require,module,exports){ +module.exports = { + doubles: { + step: 4, + points: [ + [ + 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a', + 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821', + ], + [ + '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508', + '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf', + ], + [ + '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739', + 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695', + ], + [ + '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640', + '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9', + ], + [ + '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c', + '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36', + ], + [ + '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda', + '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f', + ], + [ + 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa', + '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999', + ], + [ + '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0', + 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09', + ], + [ + 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d', + '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d', + ], + [ + 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d', + 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088', + ], + [ + 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1', + '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d', + ], + [ + '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0', + '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8', + ], + [ + '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047', + '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a', + ], + [ + '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862', + '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453', + ], + [ + '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7', + '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160', + ], + [ + '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd', + '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0', + ], + [ + '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83', + '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6', + ], + [ + '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a', + '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589', + ], + [ + '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8', + 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17', + ], + [ + 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d', + '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda', + ], + [ + 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725', + '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd', + ], + [ + '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754', + '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2', + ], + [ + '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c', + '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6', + ], + [ + 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6', + '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f', + ], + [ + '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39', + 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01', + ], + [ + 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891', + '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3', + ], + [ + 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b', + 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f', + ], + [ + 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03', + '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7', + ], + [ + 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d', + 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78', + ], + [ + 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070', + '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1', + ], + [ + '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4', + 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150', + ], + [ + '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da', + '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82', + ], + [ + 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11', + '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc', + ], + [ + '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e', + 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b', + ], + [ + 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41', + '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51', + ], + [ + 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef', + '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45', + ], + [ + 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8', + 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120', + ], + [ + '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d', + '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84', + ], + [ + '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96', + '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d', + ], + [ + '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd', + 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d', + ], + [ + '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5', + '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8', + ], + [ + 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266', + '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8', + ], + [ + '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71', + '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac', + ], + [ + '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac', + 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f', + ], + [ + '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751', + '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962', + ], + [ + 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e', + '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907', + ], + [ + '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241', + 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec', + ], + [ + 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3', + 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d', + ], + [ + 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f', + '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414', + ], + [ + '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19', + 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd', + ], + [ + '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be', + 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0', + ], + [ + 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9', + '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811', + ], + [ + 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2', + '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1', + ], + [ + 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13', + '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c', + ], + [ + '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c', + 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73', + ], + [ + '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba', + '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd', + ], + [ + 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151', + 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405', + ], + [ + '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073', + 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589', + ], + [ + '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458', + '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e', + ], + [ + '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b', + '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27', + ], + [ + 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366', + 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1', + ], + [ + '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa', + '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482', + ], + [ + '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0', + '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945', + ], + [ + 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787', + '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573', + ], + [ + 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e', + 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82', + ], + ], + }, + naf: { + wnd: 7, + points: [ + [ + 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9', + '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672', + ], + [ + '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4', + 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6', + ], + [ + '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc', + '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da', + ], + [ + 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe', + 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37', + ], + [ + '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb', + 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b', + ], + [ + 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8', + 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81', + ], + [ + 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e', + '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58', + ], + [ + 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34', + '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77', + ], + [ + '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c', + '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a', + ], + [ + '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5', + '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c', + ], + [ + '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f', + '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67', + ], + [ + '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714', + '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402', + ], + [ + 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729', + 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55', + ], + [ + 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db', + '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482', + ], + [ + '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4', + 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82', + ], + [ + '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5', + 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396', + ], + [ + '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479', + '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49', + ], + [ + '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d', + '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf', + ], + [ + '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f', + '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a', + ], + [ + '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb', + 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7', + ], + [ + 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9', + 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933', + ], + [ + '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963', + '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a', + ], + [ + '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74', + '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6', + ], + [ + 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530', + 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37', + ], + [ + '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b', + '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e', + ], + [ + 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247', + 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6', + ], + [ + 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1', + 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476', + ], + [ + '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120', + '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40', + ], + [ + '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435', + '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61', + ], + [ + '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18', + '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683', + ], + [ + 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8', + '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5', + ], + [ + '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb', + '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b', + ], + [ + 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f', + '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417', + ], + [ + '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143', + 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868', + ], + [ + '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba', + 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a', + ], + [ + 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45', + 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6', + ], + [ + '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a', + '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996', + ], + [ + '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e', + 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e', + ], + [ + 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8', + 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d', + ], + [ + '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c', + '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2', + ], + [ + '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519', + 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e', + ], + [ + '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab', + '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437', + ], + [ + '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca', + 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311', + ], + [ + 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf', + '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4', + ], + [ + '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610', + '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575', + ], + [ + '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4', + 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d', + ], + [ + '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c', + 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d', + ], + [ + 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940', + 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629', + ], + [ + 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980', + 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06', + ], + [ + '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3', + '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374', + ], + [ + '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf', + '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee', + ], + [ + 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63', + '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1', + ], + [ + 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448', + 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b', + ], + [ + '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf', + '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661', + ], + [ + '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5', + '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6', + ], + [ + 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6', + '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e', + ], + [ + '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5', + '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d', + ], + [ + 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99', + 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc', + ], + [ + '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51', + 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4', + ], + [ + '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5', + '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c', + ], + [ + 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5', + '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b', + ], + [ + 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997', + '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913', + ], + [ + '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881', + '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154', + ], + [ + '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5', + '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865', + ], + [ + '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66', + 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc', + ], + [ + '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726', + 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224', + ], + [ + '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede', + '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e', + ], + [ + '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94', + '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6', + ], + [ + '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31', + '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511', + ], + [ + '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51', + 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b', + ], + [ + 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252', + 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2', + ], + [ + '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5', + 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c', + ], + [ + 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b', + '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3', + ], + [ + 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4', + '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d', + ], + [ + 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f', + '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700', + ], + [ + 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889', + '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4', + ], + [ + '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246', + 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196', + ], + [ + '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984', + '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4', + ], + [ + '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a', + 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257', + ], + [ + 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030', + 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13', + ], + [ + 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197', + '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096', + ], + [ + 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593', + 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38', + ], + [ + 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef', + '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f', + ], + [ + '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38', + '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448', + ], + [ + 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a', + '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a', + ], + [ + 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111', + '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4', + ], + [ + '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502', + '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437', + ], + [ + '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea', + 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7', + ], + [ + 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26', + '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d', + ], + [ + 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986', + '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a', + ], + [ + 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e', + '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54', + ], + [ + '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4', + '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77', + ], + [ + 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda', + 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517', + ], + [ + '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859', + 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10', + ], + [ + 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f', + 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125', + ], + [ + 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c', + '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e', + ], + [ + '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942', + 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1', + ], + [ + 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a', + '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2', + ], + [ + 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80', + '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423', + ], + [ + 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d', + '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8', + ], + [ + '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1', + 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758', + ], + [ + '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63', + 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375', + ], + [ + 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352', + '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d', + ], + [ + '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193', + 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec', + ], + [ + '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00', + '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0', + ], + [ + '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58', + 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c', + ], + [ + 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7', + 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4', + ], + [ + '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8', + 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f', + ], + [ + '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e', + '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649', + ], + [ + '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d', + 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826', + ], + [ + '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b', + '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5', + ], + [ + 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f', + 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87', + ], + [ + '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6', + '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b', + ], + [ + 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297', + '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc', + ], + [ + '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a', + '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c', + ], + [ + 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c', + 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f', + ], + [ + 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52', + '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a', + ], + [ + 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb', + 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46', + ], + [ + '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065', + 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f', + ], + [ + '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917', + '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03', + ], + [ + '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9', + 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08', + ], + [ + '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3', + '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8', + ], + [ + '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57', + '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373', + ], + [ + '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66', + 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3', + ], + [ + '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8', + '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8', + ], + [ + '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721', + '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1', + ], + [ + '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180', + '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9', + ], + ], + }, +}; + +},{}],80:[function(require,module,exports){ +'use strict'; + +var utils = exports; +var BN = require('bn.js'); +var minAssert = require('minimalistic-assert'); +var minUtils = require('minimalistic-crypto-utils'); + +utils.assert = minAssert; +utils.toArray = minUtils.toArray; +utils.zero2 = minUtils.zero2; +utils.toHex = minUtils.toHex; +utils.encode = minUtils.encode; + +// Represent num in a w-NAF form +function getNAF(num, w, bits) { + var naf = new Array(Math.max(num.bitLength(), bits) + 1); + naf.fill(0); + + var ws = 1 << (w + 1); + var k = num.clone(); + + for (var i = 0; i < naf.length; i++) { + var z; + var mod = k.andln(ws - 1); + if (k.isOdd()) { + if (mod > (ws >> 1) - 1) + z = (ws >> 1) - mod; + else + z = mod; + k.isubn(z); + } else { + z = 0; + } + + naf[i] = z; + k.iushrn(1); + } + + return naf; +} +utils.getNAF = getNAF; + +// Represent k1, k2 in a Joint Sparse Form +function getJSF(k1, k2) { + var jsf = [ + [], + [], + ]; + + k1 = k1.clone(); + k2 = k2.clone(); + var d1 = 0; + var d2 = 0; + var m8; + while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) { + // First phase + var m14 = (k1.andln(3) + d1) & 3; + var m24 = (k2.andln(3) + d2) & 3; + if (m14 === 3) + m14 = -1; + if (m24 === 3) + m24 = -1; + var u1; + if ((m14 & 1) === 0) { + u1 = 0; + } else { + m8 = (k1.andln(7) + d1) & 7; + if ((m8 === 3 || m8 === 5) && m24 === 2) + u1 = -m14; + else + u1 = m14; + } + jsf[0].push(u1); + + var u2; + if ((m24 & 1) === 0) { + u2 = 0; + } else { + m8 = (k2.andln(7) + d2) & 7; + if ((m8 === 3 || m8 === 5) && m14 === 2) + u2 = -m24; + else + u2 = m24; + } + jsf[1].push(u2); + + // Second phase + if (2 * d1 === u1 + 1) + d1 = 1 - d1; + if (2 * d2 === u2 + 1) + d2 = 1 - d2; + k1.iushrn(1); + k2.iushrn(1); + } + + return jsf; +} +utils.getJSF = getJSF; + +function cachedProperty(obj, name, computer) { + var key = '_' + name; + obj.prototype[name] = function cachedProperty() { + return this[key] !== undefined ? this[key] : + this[key] = computer.call(this); + }; +} +utils.cachedProperty = cachedProperty; + +function parseBytes(bytes) { + return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') : + bytes; +} +utils.parseBytes = parseBytes; + +function intFromLE(bytes) { + return new BN(bytes, 'hex', 'le'); +} +utils.intFromLE = intFromLE; + + +},{"bn.js":81,"minimalistic-assert":123,"minimalistic-crypto-utils":124}],81:[function(require,module,exports){ +(function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') { + Buffer = window.Buffer; + } else { + Buffer = require('buffer').Buffer; + } + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + this.negative = 1; + } + + if (start < number.length) { + if (base === 16) { + this._parseHex(number, start, endian); + } else { + this._parseBase(number, base, start); + if (endian === 'le') { + this._initArray(this.toArray(), base, endian); + } + } + } + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex4Bits (string, index) { + var c = string.charCodeAt(index); + // 'A' - 'F' + if (c >= 65 && c <= 70) { + return c - 55; + // 'a' - 'f' + } else if (c >= 97 && c <= 102) { + return c - 87; + // '0' - '9' + } else { + return (c - 48) & 0xf; + } + } + + function parseHexByte (string, lowerBound, index) { + var r = parseHex4Bits(string, index); + if (index - 1 >= lowerBound) { + r |= parseHex4Bits(string, index - 1) << 4; + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start, endian) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + // 24-bits chunks + var off = 0; + var j = 0; + + var w; + if (endian === 'be') { + for (i = number.length - 1; i >= start; i -= 2) { + w = parseHexByte(number, start, i) << off; + this.words[j] |= w & 0x3ffffff; + if (off >= 18) { + off -= 18; + j += 1; + this.words[j] |= w >>> 26; + } else { + off += 8; + } + } + } else { + var parseLength = number.length - start; + for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { + w = parseHexByte(number, start, i) << off; + this.words[j] |= w & 0x3ffffff; + if (off >= 18) { + off -= 18; + j += 1; + this.words[j] |= w >>> 26; + } else { + off += 8; + } + } + } + + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + this.strip(); + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1).toRed(this); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; +})(typeof module === 'undefined' || module, this); + +},{"buffer":18}],82:[function(require,module,exports){ +module.exports={ + "_args": [ + [ + "elliptic@6.5.4", + "/home/travis/build/brownplt/pyret-npm/pyret-lang" + ] + ], + "_from": "elliptic@6.5.4", + "_id": "elliptic@6.5.4", + "_inBundle": false, + "_integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "_location": "/elliptic", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "elliptic@6.5.4", + "name": "elliptic", + "escapedName": "elliptic", + "rawSpec": "6.5.4", + "saveSpec": null, + "fetchSpec": "6.5.4" + }, + "_requiredBy": [ + "/browserify-sign", + "/create-ecdh" + ], + "_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "_spec": "6.5.4", + "_where": "/home/travis/build/brownplt/pyret-npm/pyret-lang", + "author": { + "name": "Fedor Indutny", + "email": "fedor@indutny.com" + }, + "bugs": { + "url": "https://github.com/indutny/elliptic/issues" + }, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "description": "EC cryptography", + "devDependencies": { + "brfs": "^2.0.2", + "coveralls": "^3.1.0", + "eslint": "^7.6.0", + "grunt": "^1.2.1", + "grunt-browserify": "^5.3.0", + "grunt-cli": "^1.3.2", + "grunt-contrib-connect": "^3.0.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-uglify": "^5.0.0", + "grunt-mocha-istanbul": "^5.0.2", + "grunt-saucelabs": "^9.0.1", + "istanbul": "^0.4.5", + "mocha": "^8.0.1" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/indutny/elliptic", + "keywords": [ + "EC", + "Elliptic", + "curve", + "Cryptography" + ], + "license": "MIT", + "main": "lib/elliptic.js", + "name": "elliptic", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/indutny/elliptic.git" + }, + "scripts": { + "lint": "eslint lib test", + "lint:fix": "npm run lint -- --fix", + "test": "npm run lint && npm run unit", + "unit": "istanbul test _mocha --reporter=spec test/index.js", + "version": "grunt dist && git add dist/" + }, + "version": "6.5.4" +} + +},{}],83:[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 + } else { + // At least give some kind of context to the user + var err = new Error('Uncaught, unspecified "error" event. (' + er + ')'); + err.context = er; + throw err; + } + } + } + + 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: + args = Array.prototype.slice.call(arguments, 1); + handler.apply(this, args); + } + } else if (isObject(handler)) { + args = Array.prototype.slice.call(arguments, 1); + 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) { + 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 if (listeners) { + // 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.prototype.listenerCount = function(type) { + if (this._events) { + var evlistener = this._events[type]; + + if (isFunction(evlistener)) + return 1; + else if (evlistener) + return evlistener.length; + } + return 0; +}; + +EventEmitter.listenerCount = function(emitter, type) { + return emitter.listenerCount(type); +}; + +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; +} + +},{}],84:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer +var MD5 = require('md5.js') + +/* eslint-disable camelcase */ +function EVP_BytesToKey (password, salt, keyBits, ivLen) { + if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary') + if (salt) { + if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary') + if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length') + } + + var keyLen = keyBits / 8 + var key = Buffer.alloc(keyLen) + var iv = Buffer.alloc(ivLen || 0) + var tmp = Buffer.alloc(0) + + while (keyLen > 0 || ivLen > 0) { + var hash = new MD5() + hash.update(tmp) + hash.update(password) + if (salt) hash.update(salt) + tmp = hash.digest() + + var used = 0 + + if (keyLen > 0) { + var keyStart = key.length - keyLen + used = Math.min(keyLen, tmp.length) + tmp.copy(key, keyStart, 0, used) + keyLen -= used + } + + if (used < tmp.length && ivLen > 0) { + var ivStart = iv.length - ivLen + var length = Math.min(ivLen, tmp.length - used) + tmp.copy(iv, ivStart, used, used + length) + ivLen -= length + } + } + + tmp.fill(0) + return { key: key, iv: iv } +} + +module.exports = EVP_BytesToKey + +},{"md5.js":121,"safe-buffer":163}],85:[function(require,module,exports){ +'use strict' +var Buffer = require('safe-buffer').Buffer +var Transform = require('readable-stream').Transform +var inherits = require('inherits') + +function throwIfNotStringOrBuffer (val, prefix) { + if (!Buffer.isBuffer(val) && typeof val !== 'string') { + throw new TypeError(prefix + ' must be a string or a buffer') + } +} + +function HashBase (blockSize) { + Transform.call(this) + + this._block = Buffer.allocUnsafe(blockSize) + this._blockSize = blockSize + this._blockOffset = 0 + this._length = [0, 0, 0, 0] + + this._finalized = false +} + +inherits(HashBase, Transform) + +HashBase.prototype._transform = function (chunk, encoding, callback) { + var error = null + try { + this.update(chunk, encoding) + } catch (err) { + error = err + } + + callback(error) +} + +HashBase.prototype._flush = function (callback) { + var error = null + try { + this.push(this.digest()) + } catch (err) { + error = err + } + + callback(error) +} + +HashBase.prototype.update = function (data, encoding) { + throwIfNotStringOrBuffer(data, 'Data') + if (this._finalized) throw new Error('Digest already called') + if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding) + + // consume data + var block = this._block + var offset = 0 + while (this._blockOffset + data.length - offset >= this._blockSize) { + for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++] + this._update() + this._blockOffset = 0 + } + while (offset < data.length) block[this._blockOffset++] = data[offset++] + + // update length + for (var j = 0, carry = data.length * 8; carry > 0; ++j) { + this._length[j] += carry + carry = (this._length[j] / 0x0100000000) | 0 + if (carry > 0) this._length[j] -= 0x0100000000 * carry + } + + return this +} + +HashBase.prototype._update = function () { + throw new Error('_update is not implemented') +} + +HashBase.prototype.digest = function (encoding) { + if (this._finalized) throw new Error('Digest already called') + this._finalized = true + + var digest = this._digest() + if (encoding !== undefined) digest = digest.toString(encoding) + + // reset state + this._block.fill(0) + this._blockOffset = 0 + for (var i = 0; i < 4; ++i) this._length[i] = 0 + + return digest +} + +HashBase.prototype._digest = function () { + throw new Error('_digest is not implemented') +} + +module.exports = HashBase + +},{"inherits":117,"readable-stream":100,"safe-buffer":163}],86:[function(require,module,exports){ +'use strict'; + +function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + +var codes = {}; + +function createErrorType(code, message, Base) { + if (!Base) { + Base = Error; + } + + function getMessage(arg1, arg2, arg3) { + if (typeof message === 'string') { + return message; + } else { + return message(arg1, arg2, arg3); + } + } + + var NodeError = + /*#__PURE__*/ + function (_Base) { + _inheritsLoose(NodeError, _Base); + + function NodeError(arg1, arg2, arg3) { + return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; + } + + return NodeError; + }(Base); + + NodeError.prototype.name = Base.name; + NodeError.prototype.code = code; + codes[code] = NodeError; +} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js + + +function oneOf(expected, thing) { + if (Array.isArray(expected)) { + var len = expected.length; + expected = expected.map(function (i) { + return String(i); + }); + + if (len > 2) { + return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1]; + } else if (len === 2) { + return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); + } else { + return "of ".concat(thing, " ").concat(expected[0]); + } + } else { + return "of ".concat(thing, " ").concat(String(expected)); + } +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + + +function startsWith(str, search, pos) { + return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith + + +function endsWith(str, search, this_len) { + if (this_len === undefined || this_len > str.length) { + this_len = str.length; + } + + return str.substring(this_len - search.length, this_len) === search; +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + + +function includes(str, search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > str.length) { + return false; + } else { + return str.indexOf(search, start) !== -1; + } +} + +createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { + return 'The value "' + value + '" is invalid for option "' + name + '"'; +}, TypeError); +createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { + // determiner: 'must be' or 'must not be' + var determiner; + + if (typeof expected === 'string' && startsWith(expected, 'not ')) { + determiner = 'must not be'; + expected = expected.replace(/^not /, ''); + } else { + determiner = 'must be'; + } + + var msg; + + if (endsWith(name, ' argument')) { + // For cases like 'first argument' + msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); + } else { + var type = includes(name, '.') ? 'property' : 'argument'; + msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); + } + + msg += ". Received type ".concat(typeof actual); + return msg; +}, TypeError); +createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); +createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { + return 'The ' + name + ' method is not implemented'; +}); +createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); +createErrorType('ERR_STREAM_DESTROYED', function (name) { + return 'Cannot call ' + name + ' after a stream was destroyed'; +}); +createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); +createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); +createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); +createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); +createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { + return 'Unknown encoding: ' + arg; +}, TypeError); +createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); +module.exports.codes = codes; + +},{}],87:[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. +// a duplex stream is just a stream that is both readable and writable. +// Since JS doesn't have multiple prototypal inheritance, this class +// prototypally inherits from Readable, and then parasitically from +// Writable. +'use strict'; +/**/ + +var objectKeys = Object.keys || function (obj) { + var keys = []; + + for (var key in obj) { + keys.push(key); + } + + return keys; +}; +/**/ + + +module.exports = Duplex; + +var Readable = require('./_stream_readable'); + +var Writable = require('./_stream_writable'); + +require('inherits')(Duplex, Readable); + +{ + // Allow the keys array to be GC'ed. + var keys = objectKeys(Writable.prototype); + + for (var v = 0; v < keys.length; v++) { + var method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } +} + +function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + this.allowHalfOpen = true; + + if (options) { + if (options.readable === false) this.readable = false; + if (options.writable === false) this.writable = false; + + if (options.allowHalfOpen === false) { + this.allowHalfOpen = false; + this.once('end', onend); + } + } +} + +Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + } +}); +Object.defineProperty(Duplex.prototype, 'writableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + } +}); +Object.defineProperty(Duplex.prototype, 'writableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + } +}); // the no-half-open enforcer + +function onend() { + // If the writable side ended, then we're ok. + if (this._writableState.ended) return; // no more data can be written. + // But allow more writes to happen in this tick. + + process.nextTick(onEndNT, this); +} + +function onEndNT(self) { + self.end(); +} + +Object.defineProperty(Duplex.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined || this._writableState === undefined) { + return false; + } + + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (this._readableState === undefined || this._writableState === undefined) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } +}); +}).call(this,require('_process')) +},{"./_stream_readable":89,"./_stream_writable":91,"_process":136,"inherits":117}],88:[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. +// a passthrough stream. +// basically just the most minimal sort of Transform stream. +// Every written chunk gets output as-is. +'use strict'; + +module.exports = PassThrough; + +var Transform = require('./_stream_transform'); + +require('inherits')(PassThrough, Transform); + +function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); +} + +PassThrough.prototype._transform = function (chunk, encoding, cb) { + cb(null, chunk); +}; +},{"./_stream_transform":90,"inherits":117}],89:[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. +'use strict'; + +module.exports = Readable; +/**/ + +var Duplex; +/**/ + +Readable.ReadableState = ReadableState; +/**/ + +var EE = require('events').EventEmitter; + +var EElistenerCount = function EElistenerCount(emitter, type) { + return emitter.listeners(type).length; +}; +/**/ + +/**/ + + +var Stream = require('./internal/streams/stream'); +/**/ + + +var Buffer = require('buffer').Buffer; + +var OurUint8Array = global.Uint8Array || function () {}; + +function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); +} + +function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; +} +/**/ + + +var debugUtil = require('util'); + +var debug; + +if (debugUtil && debugUtil.debuglog) { + debug = debugUtil.debuglog('stream'); +} else { + debug = function debug() {}; +} +/**/ + + +var BufferList = require('./internal/streams/buffer_list'); + +var destroyImpl = require('./internal/streams/destroy'); + +var _require = require('./internal/streams/state'), + getHighWaterMark = _require.getHighWaterMark; + +var _require$codes = require('../errors').codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. + + +var StringDecoder; +var createReadableStreamAsyncIterator; +var from; + +require('inherits')(Readable, Stream); + +var errorOrDestroy = destroyImpl.errorOrDestroy; +var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; + +function prependListener(emitter, event, fn) { + // Sadly this is not cacheable as some libraries bundle their own + // event emitter implementation with them. + if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any + // userland ones. NEVER DO THIS. This is here only because this code needs + // to continue to work with older versions of Node.js that do not include + // the prependListener() method. The goal is to eventually remove this hack. + + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; +} + +function ReadableState(options, stream, isDuplex) { + Duplex = Duplex || require('./_stream_duplex'); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream. + // These options can be provided separately as readableXXX and writableXXX. + + if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + + this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the + // linked list can remove elements from the beginning faster than + // array.shift() + + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. + + this.sync = true; // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + this.paused = true; // Should close be emitted on destroy. Defaults to true. + + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') + + this.autoDestroy = !!options.autoDestroy; // has it been destroyed + + this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + + this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s + + this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled + + this.readingMore = false; + this.decoder = null; + this.encoding = null; + + if (options.encoding) { + if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } +} + +function Readable(options) { + Duplex = Duplex || require('./_stream_duplex'); + if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside + // the ReadableState constructor, at least with V8 6.5 + + var isDuplex = this instanceof Duplex; + this._readableState = new ReadableState(options, this, isDuplex); // legacy + + this.readable = true; + + if (options) { + if (typeof options.read === 'function') this._read = options.read; + if (typeof options.destroy === 'function') this._destroy = options.destroy; + } + + Stream.call(this); +} + +Object.defineProperty(Readable.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined) { + return false; + } + + return this._readableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._readableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._readableState.destroyed = value; + } +}); +Readable.prototype.destroy = destroyImpl.destroy; +Readable.prototype._undestroy = destroyImpl.undestroy; + +Readable.prototype._destroy = function (err, cb) { + cb(err); +}; // Manually shove something into the read() buffer. +// This returns true if the highWaterMark has not been hit yet, +// similar to how Writable.write() returns true if you should +// write() some more. + + +Readable.prototype.push = function (chunk, encoding) { + var state = this._readableState; + var skipChunkCheck; + + if (!state.objectMode) { + if (typeof chunk === 'string') { + encoding = encoding || state.defaultEncoding; + + if (encoding !== state.encoding) { + chunk = Buffer.from(chunk, encoding); + encoding = ''; + } + + skipChunkCheck = true; + } + } else { + skipChunkCheck = true; + } + + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); +}; // Unshift should *always* be something directly out of read() + + +Readable.prototype.unshift = function (chunk) { + return readableAddChunk(this, chunk, null, true, false); +}; + +function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + debug('readableAddChunk', chunk); + var state = stream._readableState; + + if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + + if (er) { + errorOrDestroy(stream, er); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { + chunk = _uint8ArrayToBuffer(chunk); + } + + if (addToFront) { + if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed) { + return false; + } else { + state.reading = false; + + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } + } + } else if (!addToFront) { + state.reading = false; + maybeReadMore(stream, state); + } + } // We can push more data if we are below the highWaterMark. + // Also, if we have no data yet, we can stand some more bytes. + // This is to work around cases where hwm=0, such as the repl. + + + return !state.ended && (state.length < state.highWaterMark || state.length === 0); +} + +function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + state.awaitDrain = 0; + stream.emit('data', chunk); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); + if (state.needReadable) emitReadable(stream); + } + + maybeReadMore(stream, state); +} + +function chunkInvalid(state, chunk) { + var er; + + if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk); + } + + return er; +} + +Readable.prototype.isPaused = function () { + return this._readableState.flowing === false; +}; // backwards compatibility. + + +Readable.prototype.setEncoding = function (enc) { + if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; + var decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 + + this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: + + var p = this._readableState.buffer.head; + var content = ''; + + while (p !== null) { + content += decoder.write(p.data); + p = p.next; + } + + this._readableState.buffer.clear(); + + if (content !== '') this._readableState.buffer.push(content); + this._readableState.length = content.length; + return this; +}; // Don't raise the hwm > 1GB + + +var MAX_HWM = 0x40000000; + +function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. + n = MAX_HWM; + } else { + // Get the next highest power of 2 to prevent increasing hwm excessively in + // tiny amounts + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; + } + + return n; +} // This function is designed to be inlinable, so please take care when making +// changes to the function body. + + +function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if (state.objectMode) return 1; + + if (n !== n) { + // Only flow one buffer at a time + if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; + } // If we're asking for more than the current hwm, then raise the hwm. + + + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; // Don't have enough + + if (!state.ended) { + state.needReadable = true; + return 0; + } + + return state.length; +} // you can override either this method, or the async _read(n) below. + + +Readable.prototype.read = function (n) { + debug('read', n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + + if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { + debug('read: emitReadable', state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); + return null; + } + + n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. + + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + // if we need a readable event, then we need to do some reading. + + + var doRead = state.needReadable; + debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some + + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug('length less than watermark', doRead); + } // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + + + if (state.ended || state.reading) { + doRead = false; + debug('reading or ended', doRead); + } else if (doRead) { + debug('do read'); + state.reading = true; + state.sync = true; // if the length is currently zero, then we *need* a readable event. + + if (state.length === 0) state.needReadable = true; // call internal read method + + this._read(state.highWaterMark); + + state.sync = false; // If _read pushed data synchronously, then `reading` will be false, + // and we need to re-evaluate how much data we can return to the user. + + if (!state.reading) n = howMuchToRead(nOrig, state); + } + + var ret; + if (n > 0) ret = fromList(n, state);else ret = null; + + if (ret === null) { + state.needReadable = state.length <= state.highWaterMark; + n = 0; + } else { + state.length -= n; + state.awaitDrain = 0; + } + + if (state.length === 0) { + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. + + if (nOrig !== n && state.ended) endReadable(this); + } + + if (ret !== null) this.emit('data', ret); + return ret; +}; + +function onEofChunk(stream, state) { + debug('onEofChunk'); + if (state.ended) return; + + if (state.decoder) { + var chunk = state.decoder.end(); + + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + + state.ended = true; + + if (state.sync) { + // if we are sync, wait until next tick to emit the data. + // Otherwise we risk emitting data in the flow() + // the readable code triggers during a read() call + emitReadable(stream); + } else { + // emit 'readable' now to make sure it gets picked up. + state.needReadable = false; + + if (!state.emittedReadable) { + state.emittedReadable = true; + emitReadable_(stream); + } + } +} // Don't emit readable right away in sync mode, because this can trigger +// another read() call => stack overflow. This way, it might trigger +// a nextTick recursion warning, but that's not so bad. + + +function emitReadable(stream) { + var state = stream._readableState; + debug('emitReadable', state.needReadable, state.emittedReadable); + state.needReadable = false; + + if (!state.emittedReadable) { + debug('emitReadable', state.flowing); + state.emittedReadable = true; + process.nextTick(emitReadable_, stream); + } +} + +function emitReadable_(stream) { + var state = stream._readableState; + debug('emitReadable_', state.destroyed, state.length, state.ended); + + if (!state.destroyed && (state.length || state.ended)) { + stream.emit('readable'); + state.emittedReadable = false; + } // The stream needs another readable event if + // 1. It is not flowing, as the flow mechanism will take + // care of it. + // 2. It is not ended. + // 3. It is below the highWaterMark, so we can schedule + // another readable later. + + + state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; + flow(stream); +} // at this point, the user has presumably seen the 'readable' event, +// and called read() to consume some data. that may have triggered +// in turn another _read(n) call, in which case reading = true if +// it's in progress. +// However, if we're not ended, or reading, and the length < hwm, +// then go ahead and try to read some more preemptively. + + +function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + process.nextTick(maybeReadMore_, stream, state); + } +} + +function maybeReadMore_(stream, state) { + // Attempt to read more data if we should. + // + // The conditions for reading more data are (one of): + // - Not enough data buffered (state.length < state.highWaterMark). The loop + // is responsible for filling the buffer with enough data if such data + // is available. If highWaterMark is 0 and we are not in the flowing mode + // we should _not_ attempt to buffer any extra data. We'll get more data + // when the stream consumer calls read() instead. + // - No data in the buffer, and the stream is in flowing mode. In this mode + // the loop below is responsible for ensuring read() is called. Failing to + // call read here would abort the flow and there's no other mechanism for + // continuing the flow if the stream consumer has just subscribed to the + // 'data' event. + // + // In addition to the above conditions to keep reading data, the following + // conditions prevent the data from being read: + // - The stream has ended (state.ended). + // - There is already a pending 'read' operation (state.reading). This is a + // case where the the stream has called the implementation defined _read() + // method, but they are processing the call asynchronously and have _not_ + // called push() with new data. In this case we skip performing more + // read()s. The execution ends in this method again after the _read() ends + // up calling push() with more data. + while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { + var len = state.length; + debug('maybeReadMore read 0'); + stream.read(0); + if (len === state.length) // didn't get any data, stop spinning. + break; + } + + state.readingMore = false; +} // abstract method. to be overridden in specific implementation classes. +// call cb(er, data) where data is <= n in length. +// for virtual (non-string, non-buffer) streams, "length" is somewhat +// arbitrary, and perhaps not very meaningful. + + +Readable.prototype._read = function (n) { + errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); +}; + +Readable.prototype.pipe = function (dest, pipeOpts) { + var src = this; + var state = this._readableState; + + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + + case 1: + state.pipes = [state.pipes, dest]; + break; + + default: + state.pipes.push(dest); + break; + } + + state.pipesCount += 1; + debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn); + dest.on('unpipe', onunpipe); + + function onunpipe(readable, unpipeInfo) { + debug('onunpipe'); + + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); + } + } + } + + function onend() { + debug('onend'); + dest.end(); + } // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + + + var ondrain = pipeOnDrain(src); + dest.on('drain', ondrain); + var cleanedUp = false; + + function cleanup() { + debug('cleanup'); // cleanup event handlers once the pipe is broken + + dest.removeListener('close', onclose); + dest.removeListener('finish', onfinish); + dest.removeListener('drain', ondrain); + dest.removeListener('error', onerror); + dest.removeListener('unpipe', onunpipe); + src.removeListener('end', onend); + src.removeListener('end', unpipe); + src.removeListener('data', ondata); + cleanedUp = true; // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } + + src.on('data', ondata); + + function ondata(chunk) { + debug('ondata'); + var ret = dest.write(chunk); + debug('dest.write', ret); + + if (ret === false) { + // If the user unpiped during `dest.write()`, it is possible + // to get stuck in a permanently paused state if that write + // also returned false. + // => Check whether `dest` is still a piping destination. + if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { + debug('false write response, pause', state.awaitDrain); + state.awaitDrain++; + } + + src.pause(); + } + } // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. + + + function onerror(er) { + debug('onerror', er); + unpipe(); + dest.removeListener('error', onerror); + if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); + } // Make sure our error handler is attached before userland ones. + + + prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once. + + function onclose() { + dest.removeListener('finish', onfinish); + unpipe(); + } + + dest.once('close', onclose); + + function onfinish() { + debug('onfinish'); + dest.removeListener('close', onclose); + unpipe(); + } + + dest.once('finish', onfinish); + + function unpipe() { + debug('unpipe'); + src.unpipe(dest); + } // tell the dest that it's being piped to + + + dest.emit('pipe', src); // start the flow if it hasn't been started already. + + if (!state.flowing) { + debug('pipe resume'); + src.resume(); + } + + return dest; +}; + +function pipeOnDrain(src) { + return function pipeOnDrainFunctionResult() { + var state = src._readableState; + debug('pipeOnDrain', state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; + + if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { + state.flowing = true; + flow(src); + } + }; +} + +Readable.prototype.unpipe = function (dest) { + var state = this._readableState; + var unpipeInfo = { + hasUnpiped: false + }; // if we're not piping anywhere, then do nothing. + + if (state.pipesCount === 0) return this; // just one destination. most common case. + + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) return this; + if (!dest) dest = state.pipes; // got a match. + + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit('unpipe', this, unpipeInfo); + return this; + } // slow case. multiple pipe destinations. + + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + + for (var i = 0; i < len; i++) { + dests[i].emit('unpipe', this, { + hasUnpiped: false + }); + } + + return this; + } // try to find the right one. + + + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + dest.emit('unpipe', this, unpipeInfo); + return this; +}; // set up data events if they are asked for +// Ensure readable listeners eventually get something + + +Readable.prototype.on = function (ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + var state = this._readableState; + + if (ev === 'data') { + // update readableListening so that resume() may be a no-op + // a few lines down. This is needed to support once('readable'). + state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused + + if (state.flowing !== false) this.resume(); + } else if (ev === 'readable') { + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.flowing = false; + state.emittedReadable = false; + debug('on readable', state.length, state.reading); + + if (state.length) { + emitReadable(this); + } else if (!state.reading) { + process.nextTick(nReadingNextTick, this); + } + } + } + + return res; +}; + +Readable.prototype.addListener = Readable.prototype.on; + +Readable.prototype.removeListener = function (ev, fn) { + var res = Stream.prototype.removeListener.call(this, ev, fn); + + if (ev === 'readable') { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } + + return res; +}; + +Readable.prototype.removeAllListeners = function (ev) { + var res = Stream.prototype.removeAllListeners.apply(this, arguments); + + if (ev === 'readable' || ev === undefined) { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } + + return res; +}; + +function updateReadableListening(self) { + var state = self._readableState; + state.readableListening = self.listenerCount('readable') > 0; + + if (state.resumeScheduled && !state.paused) { + // flowing needs to be set to true now, otherwise + // the upcoming resume will not flow. + state.flowing = true; // crude way to check if we should resume + } else if (self.listenerCount('data') > 0) { + self.resume(); + } +} + +function nReadingNextTick(self) { + debug('readable nexttick read 0'); + self.read(0); +} // pause() and resume() are remnants of the legacy readable stream API +// If the user uses them, then switch into old mode. + + +Readable.prototype.resume = function () { + var state = this._readableState; + + if (!state.flowing) { + debug('resume'); // we flow only if there is no one listening + // for readable, but we still have to call + // resume() + + state.flowing = !state.readableListening; + resume(this, state); + } + + state.paused = false; + return this; +}; + +function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process.nextTick(resume_, stream, state); + } +} + +function resume_(stream, state) { + debug('resume', state.reading); + + if (!state.reading) { + stream.read(0); + } + + state.resumeScheduled = false; + stream.emit('resume'); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); +} + +Readable.prototype.pause = function () { + debug('call pause flowing=%j', this._readableState.flowing); + + if (this._readableState.flowing !== false) { + debug('pause'); + this._readableState.flowing = false; + this.emit('pause'); + } + + this._readableState.paused = true; + return this; +}; + +function flow(stream) { + var state = stream._readableState; + debug('flow', state.flowing); + + while (state.flowing && stream.read() !== null) { + ; + } +} // wrap an old-style stream as the async data source. +// This is *not* part of the readable stream interface. +// It is an ugly unfortunate mess of history. + + +Readable.prototype.wrap = function (stream) { + var _this = this; + + var state = this._readableState; + var paused = false; + stream.on('end', function () { + debug('wrapped end'); + + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) _this.push(chunk); + } + + _this.push(null); + }); + stream.on('data', function (chunk) { + debug('wrapped data'); + if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode + + if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; + + var ret = _this.push(chunk); + + if (!ret) { + paused = true; + stream.pause(); + } + }); // proxy all the other methods. + // important when wrapping filters and duplexes. + + for (var i in stream) { + if (this[i] === undefined && typeof stream[i] === 'function') { + this[i] = function methodWrap(method) { + return function methodWrapReturnFunction() { + return stream[method].apply(stream, arguments); + }; + }(i); + } + } // proxy certain important events. + + + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); + } // when we try to consume some more bytes, simply unpause the + // underlying stream. + + + this._read = function (n) { + debug('wrapped _read', n); + + if (paused) { + paused = false; + stream.resume(); + } + }; + + return this; +}; + +if (typeof Symbol === 'function') { + Readable.prototype[Symbol.asyncIterator] = function () { + if (createReadableStreamAsyncIterator === undefined) { + createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); + } + + return createReadableStreamAsyncIterator(this); + }; +} + +Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.highWaterMark; + } +}); +Object.defineProperty(Readable.prototype, 'readableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState && this._readableState.buffer; + } +}); +Object.defineProperty(Readable.prototype, 'readableFlowing', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.flowing; + }, + set: function set(state) { + if (this._readableState) { + this._readableState.flowing = state; + } + } +}); // exposed for testing purposes only. + +Readable._fromList = fromList; +Object.defineProperty(Readable.prototype, 'readableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.length; + } +}); // Pluck off n bytes from an array of buffers. +// Length is the combined lengths of all the buffers in the list. +// This function is designed to be inlinable, so please take care when making +// changes to the function body. + +function fromList(n, state) { + // nothing buffered + if (state.length === 0) return null; + var ret; + if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { + // read it all, truncate the list + if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + // read part of list + ret = state.buffer.consume(n, state.decoder); + } + return ret; +} + +function endReadable(stream) { + var state = stream._readableState; + debug('endReadable', state.endEmitted); + + if (!state.endEmitted) { + state.ended = true; + process.nextTick(endReadableNT, state, stream); + } +} + +function endReadableNT(state, stream) { + debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift. + + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit('end'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the writable side is ready for autoDestroy as well + var wState = stream._writableState; + + if (!wState || wState.autoDestroy && wState.finished) { + stream.destroy(); + } + } + } +} + +if (typeof Symbol === 'function') { + Readable.from = function (iterable, opts) { + if (from === undefined) { + from = require('./internal/streams/from'); + } + + return from(Readable, iterable, opts); + }; +} + +function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } + + return -1; +} +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../errors":86,"./_stream_duplex":87,"./internal/streams/async_iterator":92,"./internal/streams/buffer_list":93,"./internal/streams/destroy":94,"./internal/streams/from":96,"./internal/streams/state":98,"./internal/streams/stream":99,"_process":136,"buffer":47,"events":83,"inherits":117,"string_decoder/":101,"util":18}],90:[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. +// a transform stream is a readable/writable stream where you do +// something with the data. Sometimes it's called a "filter", +// but that's not a great name for it, since that implies a thing where +// some bits pass through, and others are simply ignored. (That would +// be a valid example of a transform, of course.) +// +// While the output is causally related to the input, it's not a +// necessarily symmetric or synchronous transformation. For example, +// a zlib stream might take multiple plain-text writes(), and then +// emit a single compressed chunk some time in the future. +// +// Here's how this works: +// +// The Transform stream has all the aspects of the readable and writable +// stream classes. When you write(chunk), that calls _write(chunk,cb) +// internally, and returns false if there's a lot of pending writes +// buffered up. When you call read(), that calls _read(n) until +// there's enough pending readable data buffered up. +// +// In a transform stream, the written data is placed in a buffer. When +// _read(n) is called, it transforms the queued up data, calling the +// buffered _write cb's as it consumes chunks. If consuming a single +// written chunk would result in multiple output chunks, then the first +// outputted bit calls the readcb, and subsequent chunks just go into +// the read buffer, and will cause it to emit 'readable' if necessary. +// +// This way, back-pressure is actually determined by the reading side, +// since _read has to be called to start processing a new chunk. However, +// a pathological inflate type of transform can cause excessive buffering +// here. For example, imagine a stream where every byte of input is +// interpreted as an integer from 0-255, and then results in that many +// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in +// 1kb of data being output. In this case, you could write a very small +// amount of input, and end up with a very large amount of output. In +// such a pathological inflating mechanism, there'd be no way to tell +// the system to stop doing the transform. A single 4MB write could +// cause the system to run out of memory. +// +// However, even in such a pathological case, only a single written chunk +// would be consumed, and then the rest would wait (un-transformed) until +// the results of the previous transformed chunk were consumed. +'use strict'; + +module.exports = Transform; + +var _require$codes = require('../errors').codes, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, + ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; + +var Duplex = require('./_stream_duplex'); + +require('inherits')(Transform, Duplex); + +function afterTransform(er, data) { + var ts = this._transformState; + ts.transforming = false; + var cb = ts.writecb; + + if (cb === null) { + return this.emit('error', new ERR_MULTIPLE_CALLBACK()); + } + + ts.writechunk = null; + ts.writecb = null; + if (data != null) // single equals check for both `null` and `undefined` + this.push(data); + cb(er); + var rs = this._readableState; + rs.reading = false; + + if (rs.needReadable || rs.length < rs.highWaterMark) { + this._read(rs.highWaterMark); + } +} + +function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + Duplex.call(this, options); + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null + }; // start out asking for a readable event once data is transformed. + + this._readableState.needReadable = true; // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. + + this._readableState.sync = false; + + if (options) { + if (typeof options.transform === 'function') this._transform = options.transform; + if (typeof options.flush === 'function') this._flush = options.flush; + } // When the writable side finishes, then flush out anything remaining. + + + this.on('prefinish', prefinish); +} + +function prefinish() { + var _this = this; + + if (typeof this._flush === 'function' && !this._readableState.destroyed) { + this._flush(function (er, data) { + done(_this, er, data); + }); + } else { + done(this, null, null); + } +} + +Transform.prototype.push = function (chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); +}; // This is the part where you do stuff! +// override this function in implementation classes. +// 'chunk' is an input chunk. +// +// Call `push(newChunk)` to pass along transformed output +// to the readable side. You may call 'push' zero or more times. +// +// Call `cb(err)` when you are done with this chunk. If you pass +// an error, then that'll put the hurt on the whole operation. If you +// never call cb(), then you'll never get another chunk. + + +Transform.prototype._transform = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()')); +}; + +Transform.prototype._write = function (chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); + } +}; // Doesn't matter what the args are here. +// _transform does all the work. +// That we got here means that the readable side wants more data. + + +Transform.prototype._read = function (n) { + var ts = this._transformState; + + if (ts.writechunk !== null && !ts.transforming) { + ts.transforming = true; + + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } +}; + +Transform.prototype._destroy = function (err, cb) { + Duplex.prototype._destroy.call(this, err, function (err2) { + cb(err2); + }); +}; + +function done(stream, er, data) { + if (er) return stream.emit('error', er); + if (data != null) // single equals check for both `null` and `undefined` + stream.push(data); // TODO(BridgeAR): Write a test for these two error cases + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + + if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); + if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); + return stream.push(null); +} +},{"../errors":86,"./_stream_duplex":87,"inherits":117}],91:[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. +// A bit simpler than readable streams. +// Implement an async ._write(chunk, encoding, cb), and it'll handle all +// the drain event emission and buffering. +'use strict'; + +module.exports = Writable; +/* */ + +function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; +} // It seems a linked list but it is not +// there will be only 2 of these for each stream + + +function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + + this.finish = function () { + onCorkedFinish(_this, state); + }; +} +/* */ + +/**/ + + +var Duplex; +/**/ + +Writable.WritableState = WritableState; +/**/ + +var internalUtil = { + deprecate: require('util-deprecate') +}; +/**/ + +/**/ + +var Stream = require('./internal/streams/stream'); +/**/ + + +var Buffer = require('buffer').Buffer; + +var OurUint8Array = global.Uint8Array || function () {}; + +function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); +} + +function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; +} + +var destroyImpl = require('./internal/streams/destroy'); + +var _require = require('./internal/streams/state'), + getHighWaterMark = _require.getHighWaterMark; + +var _require$codes = require('../errors').codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, + ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; + +var errorOrDestroy = destroyImpl.errorOrDestroy; + +require('inherits')(Writable, Stream); + +function nop() {} + +function WritableState(options, stream, isDuplex) { + Duplex = Duplex || require('./_stream_duplex'); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream, + // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. + + if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream + // contains buffers or objects. + + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + + this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called + + this.finalCalled = false; // drain event flag. + + this.needDrain = false; // at the start of calling end() + + this.ending = false; // when end() has been called, and returned + + this.ended = false; // when 'finish' is emitted + + this.finished = false; // has it been destroyed + + this.destroyed = false; // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + + this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + + this.length = 0; // a flag to see when we're in the middle of a write. + + this.writing = false; // when true all writes will be buffered until .uncork() call + + this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + + this.sync = true; // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + + this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) + + this.onwrite = function (er) { + onwrite(stream, er); + }; // the callback that the user supplies to write(chunk,encoding,cb) + + + this.writecb = null; // the amount that is being written when _write is called. + + this.writelen = 0; + this.bufferedRequest = null; + this.lastBufferedRequest = null; // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted + + this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams + + this.prefinished = false; // True if the error was already emitted and should not be thrown again + + this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. + + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') + + this.autoDestroy = !!options.autoDestroy; // count buffered requests + + this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always + // one allocated and free to use, and we maintain at most two + + this.corkedRequestsFree = new CorkedRequest(this); +} + +WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; + + while (current) { + out.push(current); + current = current.next; + } + + return out; +}; + +(function () { + try { + Object.defineProperty(WritableState.prototype, 'buffer', { + get: internalUtil.deprecate(function writableStateBufferGetter() { + return this.getBuffer(); + }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') + }); + } catch (_) {} +})(); // Test _writableState for inheritance to account for Duplex streams, +// whose prototype chain only points to Readable. + + +var realHasInstance; + +if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function value(object) { + if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; + } + }); +} else { + realHasInstance = function realHasInstance(object) { + return object instanceof this; + }; +} + +function Writable(options) { + Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too. + // `realHasInstance` is necessary because using plain `instanceof` + // would return false, as no `_writableState` property is attached. + // Trying to use the custom `instanceof` for Writable here will also break the + // Node.js LazyTransform implementation, which has a non-trivial getter for + // `_writableState` that would lead to infinite recursion. + // Checking for a Stream.Duplex instance is faster here instead of inside + // the WritableState constructor, at least with V8 6.5 + + var isDuplex = this instanceof Duplex; + if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); + this._writableState = new WritableState(options, this, isDuplex); // legacy. + + this.writable = true; + + if (options) { + if (typeof options.write === 'function') this._write = options.write; + if (typeof options.writev === 'function') this._writev = options.writev; + if (typeof options.destroy === 'function') this._destroy = options.destroy; + if (typeof options.final === 'function') this._final = options.final; + } + + Stream.call(this); +} // Otherwise people can pipe Writable streams, which is just wrong. + + +Writable.prototype.pipe = function () { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); +}; + +function writeAfterEnd(stream, cb) { + var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb + + errorOrDestroy(stream, er); + process.nextTick(cb, er); +} // Checks that a user-supplied chunk is valid, especially for the particular +// mode the stream is in. Currently this means that `null` is never accepted +// and undefined/non-string values are only allowed in object mode. + + +function validChunk(stream, state, chunk, cb) { + var er; + + if (chunk === null) { + er = new ERR_STREAM_NULL_VALUES(); + } else if (typeof chunk !== 'string' && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); + } + + if (er) { + errorOrDestroy(stream, er); + process.nextTick(cb, er); + return false; + } + + return true; +} + +Writable.prototype.write = function (chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + var isBuf = !state.objectMode && _isUint8Array(chunk); + + if (isBuf && !Buffer.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); + } + + if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; + if (typeof cb !== 'function') cb = nop; + if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); + } + return ret; +}; + +Writable.prototype.cork = function () { + this._writableState.corked++; +}; + +Writable.prototype.uncork = function () { + var state = this._writableState; + + if (state.corked) { + state.corked--; + if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); + } +}; + +Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + // node::ParseEncoding() requires lower case. + if (typeof encoding === 'string') encoding = encoding.toLowerCase(); + if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding); + this._writableState.defaultEncoding = encoding; + return this; +}; + +Object.defineProperty(Writable.prototype, 'writableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + } +}); + +function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { + chunk = Buffer.from(chunk, encoding); + } + + return chunk; +} + +Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + } +}); // if we're already writing something, then just put this +// in the queue, and wait our turn. Otherwise, call _write +// If we return false, then we need a drain event, so set that flag. + +function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + + if (chunk !== newChunk) { + isBuf = true; + encoding = 'buffer'; + chunk = newChunk; + } + } + + var len = state.objectMode ? 1 : chunk.length; + state.length += len; + var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. + + if (!ret) state.needDrain = true; + + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = { + chunk: chunk, + encoding: encoding, + isBuf: isBuf, + callback: cb, + next: null + }; + + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; + } + + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + + return ret; +} + +function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); + state.sync = false; +} + +function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + + if (sync) { + // defer the callback if we are being called synchronously + // to avoid piling up things on the stack + process.nextTick(cb, er); // this can emit finish, and it will always happen + // after error + + process.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); + } else { + // the caller expect this to happen before if + // it is async + cb(er); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); // this can emit finish, but finish must + // always follow error + + finishMaybe(stream, state); + } +} + +function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; +} + +function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK(); + onwriteStateUpdate(state); + if (er) onwriteError(stream, state, sync, er, cb);else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(state) || stream.destroyed; + + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); + } + + if (sync) { + process.nextTick(afterWrite, stream, state, finished, cb); + } else { + afterWrite(stream, state, finished, cb); + } + } +} + +function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); +} // Must force callback to be called on nextTick, so that we don't +// emit 'drain' before the write() consumer gets the 'false' return +// value, and has a chance to attach a 'drain' listener. + + +function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } +} // if there's something in the buffer waiting, then process it + + +function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + + if (stream._writev && entry && entry.next) { + // Fast case, write everything using _writev() + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + var count = 0; + var allBuffers = true; + + while (entry) { + buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; + entry = entry.next; + count += 1; + } + + buffer.allBuffers = allBuffers; + doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time + // as the hot path ends with doWrite + + state.pendingcb++; + state.lastBufferedRequest = null; + + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); + } + + state.bufferedRequestCount = 0; + } else { + // Slow case, write chunks one-by-one + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + + if (state.writing) { + break; + } + } + + if (entry === null) state.lastBufferedRequest = null; + } + + state.bufferedRequest = entry; + state.bufferProcessing = false; +} + +Writable.prototype._write = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()')); +}; + +Writable.prototype._writev = null; + +Writable.prototype.end = function (chunk, encoding, cb) { + var state = this._writableState; + + if (typeof chunk === 'function') { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks + + if (state.corked) { + state.corked = 1; + this.uncork(); + } // ignore unnecessary end() calls. + + + if (!state.ending) endWritable(this, state, cb); + return this; +}; + +Object.defineProperty(Writable.prototype, 'writableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + } +}); + +function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; +} + +function callFinal(stream, state) { + stream._final(function (err) { + state.pendingcb--; + + if (err) { + errorOrDestroy(stream, err); + } + + state.prefinished = true; + stream.emit('prefinish'); + finishMaybe(stream, state); + }); +} + +function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === 'function' && !state.destroyed) { + state.pendingcb++; + state.finalCalled = true; + process.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit('prefinish'); + } + } +} + +function finishMaybe(stream, state) { + var need = needFinish(state); + + if (need) { + prefinish(stream, state); + + if (state.pendingcb === 0) { + state.finished = true; + stream.emit('finish'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the readable side is ready for autoDestroy as well + var rState = stream._readableState; + + if (!rState || rState.autoDestroy && rState.endEmitted) { + stream.destroy(); + } + } + } + } + + return need; +} + +function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + + if (cb) { + if (state.finished) process.nextTick(cb);else stream.once('finish', cb); + } + + state.ended = true; + stream.writable = false; +} + +function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; + + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } // reuse the free corkReq. + + + state.corkedRequestsFree.next = corkReq; +} + +Object.defineProperty(Writable.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._writableState === undefined) { + return false; + } + + return this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._writableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._writableState.destroyed = value; + } +}); +Writable.prototype.destroy = destroyImpl.destroy; +Writable.prototype._undestroy = destroyImpl.undestroy; + +Writable.prototype._destroy = function (err, cb) { + cb(err); +}; +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../errors":86,"./_stream_duplex":87,"./internal/streams/destroy":94,"./internal/streams/state":98,"./internal/streams/stream":99,"_process":136,"buffer":47,"inherits":117,"util-deprecate":188}],92:[function(require,module,exports){ +(function (process){ +'use strict'; + +var _Object$setPrototypeO; + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var finished = require('./end-of-stream'); + +var kLastResolve = Symbol('lastResolve'); +var kLastReject = Symbol('lastReject'); +var kError = Symbol('error'); +var kEnded = Symbol('ended'); +var kLastPromise = Symbol('lastPromise'); +var kHandlePromise = Symbol('handlePromise'); +var kStream = Symbol('stream'); + +function createIterResult(value, done) { + return { + value: value, + done: done + }; +} + +function readAndResolve(iter) { + var resolve = iter[kLastResolve]; + + if (resolve !== null) { + var data = iter[kStream].read(); // we defer if data is null + // we can be expecting either 'end' or + // 'error' + + if (data !== null) { + iter[kLastPromise] = null; + iter[kLastResolve] = null; + iter[kLastReject] = null; + resolve(createIterResult(data, false)); + } + } +} + +function onReadable(iter) { + // we wait for the next tick, because it might + // emit an error with process.nextTick + process.nextTick(readAndResolve, iter); +} + +function wrapForNext(lastPromise, iter) { + return function (resolve, reject) { + lastPromise.then(function () { + if (iter[kEnded]) { + resolve(createIterResult(undefined, true)); + return; + } + + iter[kHandlePromise](resolve, reject); + }, reject); + }; +} + +var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); +var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { + get stream() { + return this[kStream]; + }, + + next: function next() { + var _this = this; + + // if we have detected an error in the meanwhile + // reject straight away + var error = this[kError]; + + if (error !== null) { + return Promise.reject(error); + } + + if (this[kEnded]) { + return Promise.resolve(createIterResult(undefined, true)); + } + + if (this[kStream].destroyed) { + // We need to defer via nextTick because if .destroy(err) is + // called, the error will be emitted via nextTick, and + // we cannot guarantee that there is no error lingering around + // waiting to be emitted. + return new Promise(function (resolve, reject) { + process.nextTick(function () { + if (_this[kError]) { + reject(_this[kError]); + } else { + resolve(createIterResult(undefined, true)); + } + }); + }); + } // if we have multiple next() calls + // we will wait for the previous Promise to finish + // this logic is optimized to support for await loops, + // where next() is only called once at a time + + + var lastPromise = this[kLastPromise]; + var promise; + + if (lastPromise) { + promise = new Promise(wrapForNext(lastPromise, this)); + } else { + // fast path needed to support multiple this.push() + // without triggering the next() queue + var data = this[kStream].read(); + + if (data !== null) { + return Promise.resolve(createIterResult(data, false)); + } + + promise = new Promise(this[kHandlePromise]); + } + + this[kLastPromise] = promise; + return promise; + } +}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { + return this; +}), _defineProperty(_Object$setPrototypeO, "return", function _return() { + var _this2 = this; + + // destroy(err, cb) is a private API + // we can guarantee we have that here, because we control the + // Readable class this is attached to + return new Promise(function (resolve, reject) { + _this2[kStream].destroy(null, function (err) { + if (err) { + reject(err); + return; + } + + resolve(createIterResult(undefined, true)); + }); + }); +}), _Object$setPrototypeO), AsyncIteratorPrototype); + +var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { + var _Object$create; + + var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { + value: stream, + writable: true + }), _defineProperty(_Object$create, kLastResolve, { + value: null, + writable: true + }), _defineProperty(_Object$create, kLastReject, { + value: null, + writable: true + }), _defineProperty(_Object$create, kError, { + value: null, + writable: true + }), _defineProperty(_Object$create, kEnded, { + value: stream._readableState.endEmitted, + writable: true + }), _defineProperty(_Object$create, kHandlePromise, { + value: function value(resolve, reject) { + var data = iterator[kStream].read(); + + if (data) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(data, false)); + } else { + iterator[kLastResolve] = resolve; + iterator[kLastReject] = reject; + } + }, + writable: true + }), _Object$create)); + iterator[kLastPromise] = null; + finished(stream, function (err) { + if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') { + var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise + // returned by next() and store the error + + if (reject !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + reject(err); + } + + iterator[kError] = err; + return; + } + + var resolve = iterator[kLastResolve]; + + if (resolve !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(undefined, true)); + } + + iterator[kEnded] = true; + }); + stream.on('readable', onReadable.bind(null, iterator)); + return iterator; +}; + +module.exports = createReadableStreamAsyncIterator; +}).call(this,require('_process')) +},{"./end-of-stream":95,"_process":136}],93:[function(require,module,exports){ +'use strict'; + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _require = require('buffer'), + Buffer = _require.Buffer; + +var _require2 = require('util'), + inspect = _require2.inspect; + +var custom = inspect && inspect.custom || 'inspect'; + +function copyBuffer(src, target, offset) { + Buffer.prototype.copy.call(src, target, offset); +} + +module.exports = +/*#__PURE__*/ +function () { + function BufferList() { + _classCallCheck(this, BufferList); + + this.head = null; + this.tail = null; + this.length = 0; + } + + _createClass(BufferList, [{ + key: "push", + value: function push(v) { + var entry = { + data: v, + next: null + }; + if (this.length > 0) this.tail.next = entry;else this.head = entry; + this.tail = entry; + ++this.length; + } + }, { + key: "unshift", + value: function unshift(v) { + var entry = { + data: v, + next: this.head + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + } + }, { + key: "shift", + value: function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; + --this.length; + return ret; + } + }, { + key: "clear", + value: function clear() { + this.head = this.tail = null; + this.length = 0; + } + }, { + key: "join", + value: function join(s) { + if (this.length === 0) return ''; + var p = this.head; + var ret = '' + p.data; + + while (p = p.next) { + ret += s + p.data; + } + + return ret; + } + }, { + key: "concat", + value: function concat(n) { + if (this.length === 0) return Buffer.alloc(0); + var ret = Buffer.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; + } + + return ret; + } // Consumes a specified amount of bytes or characters from the buffered data. + + }, { + key: "consume", + value: function consume(n, hasStrings) { + var ret; + + if (n < this.head.data.length) { + // `slice` is the same for buffers and strings. + ret = this.head.data.slice(0, n); + this.head.data = this.head.data.slice(n); + } else if (n === this.head.data.length) { + // First chunk is a perfect match. + ret = this.shift(); + } else { + // Result spans more than one buffer. + ret = hasStrings ? this._getString(n) : this._getBuffer(n); + } + + return ret; + } + }, { + key: "first", + value: function first() { + return this.head.data; + } // Consumes a specified amount of characters from the buffered data. + + }, { + key: "_getString", + value: function _getString(n) { + var p = this.head; + var c = 1; + var ret = p.data; + n -= ret.length; + + while (p = p.next) { + var str = p.data; + var nb = n > str.length ? str.length : n; + if (nb === str.length) ret += str;else ret += str.slice(0, n); + n -= nb; + + if (n === 0) { + if (nb === str.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = str.slice(nb); + } + + break; + } + + ++c; + } + + this.length -= c; + return ret; + } // Consumes a specified amount of bytes from the buffered data. + + }, { + key: "_getBuffer", + value: function _getBuffer(n) { + var ret = Buffer.allocUnsafe(n); + var p = this.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = buf.slice(nb); + } + + break; + } + + ++c; + } + + this.length -= c; + return ret; + } // Make sure the linked list only shows the minimal necessary information. + + }, { + key: custom, + value: function value(_, options) { + return inspect(this, _objectSpread({}, options, { + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false + })); + } + }]); + + return BufferList; +}(); +},{"buffer":47,"util":18}],94:[function(require,module,exports){ +(function (process){ +'use strict'; // undocumented cb() API, needed for core, not for public API + +function destroy(err, cb) { + var _this = this; + + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; + + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err) { + if (!this._writableState) { + process.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + process.nextTick(emitErrorNT, this, err); + } + } + + return this; + } // we set destroyed to true before firing error callbacks in order + // to make it re-entrance safe in case destroy() is called within callbacks + + + if (this._readableState) { + this._readableState.destroyed = true; + } // if this is a duplex stream mark the writable part as destroyed as well + + + if (this._writableState) { + this._writableState.destroyed = true; + } + + this._destroy(err || null, function (err) { + if (!cb && err) { + if (!_this._writableState) { + process.nextTick(emitErrorAndCloseNT, _this, err); + } else if (!_this._writableState.errorEmitted) { + _this._writableState.errorEmitted = true; + process.nextTick(emitErrorAndCloseNT, _this, err); + } else { + process.nextTick(emitCloseNT, _this); + } + } else if (cb) { + process.nextTick(emitCloseNT, _this); + cb(err); + } else { + process.nextTick(emitCloseNT, _this); + } + }); + + return this; +} + +function emitErrorAndCloseNT(self, err) { + emitErrorNT(self, err); + emitCloseNT(self); +} + +function emitCloseNT(self) { + if (self._writableState && !self._writableState.emitClose) return; + if (self._readableState && !self._readableState.emitClose) return; + self.emit('close'); +} + +function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; + } + + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finalCalled = false; + this._writableState.prefinished = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; + } +} + +function emitErrorNT(self, err) { + self.emit('error', err); +} + +function errorOrDestroy(stream, err) { + // We have tests that rely on errors being emitted + // in the same tick, so changing this is semver major. + // For now when you opt-in to autoDestroy we allow + // the error to be emitted nextTick. In a future + // semver major update we should change the default to this. + var rState = stream._readableState; + var wState = stream._writableState; + if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); +} + +module.exports = { + destroy: destroy, + undestroy: undestroy, + errorOrDestroy: errorOrDestroy +}; +}).call(this,require('_process')) +},{"_process":136}],95:[function(require,module,exports){ +// Ported from https://github.com/mafintosh/end-of-stream with +// permission from the author, Mathias Buus (@mafintosh). +'use strict'; + +var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE; + +function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + callback.apply(this, args); + }; +} + +function noop() {} + +function isRequest(stream) { + return stream.setHeader && typeof stream.abort === 'function'; +} + +function eos(stream, opts, callback) { + if (typeof opts === 'function') return eos(stream, null, opts); + if (!opts) opts = {}; + callback = once(callback || noop); + var readable = opts.readable || opts.readable !== false && stream.readable; + var writable = opts.writable || opts.writable !== false && stream.writable; + + var onlegacyfinish = function onlegacyfinish() { + if (!stream.writable) onfinish(); + }; + + var writableEnded = stream._writableState && stream._writableState.finished; + + var onfinish = function onfinish() { + writable = false; + writableEnded = true; + if (!readable) callback.call(stream); + }; + + var readableEnded = stream._readableState && stream._readableState.endEmitted; + + var onend = function onend() { + readable = false; + readableEnded = true; + if (!writable) callback.call(stream); + }; + + var onerror = function onerror(err) { + callback.call(stream, err); + }; + + var onclose = function onclose() { + var err; + + if (readable && !readableEnded) { + if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } + + if (writable && !writableEnded) { + if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } + }; + + var onrequest = function onrequest() { + stream.req.on('finish', onfinish); + }; + + if (isRequest(stream)) { + stream.on('complete', onfinish); + stream.on('abort', onclose); + if (stream.req) onrequest();else stream.on('request', onrequest); + } else if (writable && !stream._writableState) { + // legacy streams + stream.on('end', onlegacyfinish); + stream.on('close', onlegacyfinish); + } + + stream.on('end', onend); + stream.on('finish', onfinish); + if (opts.error !== false) stream.on('error', onerror); + stream.on('close', onclose); + return function () { + stream.removeListener('complete', onfinish); + stream.removeListener('abort', onclose); + stream.removeListener('request', onrequest); + if (stream.req) stream.req.removeListener('finish', onfinish); + stream.removeListener('end', onlegacyfinish); + stream.removeListener('close', onlegacyfinish); + stream.removeListener('finish', onfinish); + stream.removeListener('end', onend); + stream.removeListener('error', onerror); + stream.removeListener('close', onclose); + }; +} + +module.exports = eos; +},{"../../../errors":86}],96:[function(require,module,exports){ +module.exports = function () { + throw new Error('Readable.from is not available in the browser') +}; + +},{}],97:[function(require,module,exports){ +// Ported from https://github.com/mafintosh/pump with +// permission from the author, Mathias Buus (@mafintosh). +'use strict'; + +var eos; + +function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + callback.apply(void 0, arguments); + }; +} + +var _require$codes = require('../../../errors').codes, + ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; + +function noop(err) { + // Rethrow the error if it exists to avoid swallowing it + if (err) throw err; +} + +function isRequest(stream) { + return stream.setHeader && typeof stream.abort === 'function'; +} + +function destroyer(stream, reading, writing, callback) { + callback = once(callback); + var closed = false; + stream.on('close', function () { + closed = true; + }); + if (eos === undefined) eos = require('./end-of-stream'); + eos(stream, { + readable: reading, + writable: writing + }, function (err) { + if (err) return callback(err); + closed = true; + callback(); + }); + var destroyed = false; + return function (err) { + if (closed) return; + if (destroyed) return; + destroyed = true; // request.destroy just do .end - .abort is what we want + + if (isRequest(stream)) return stream.abort(); + if (typeof stream.destroy === 'function') return stream.destroy(); + callback(err || new ERR_STREAM_DESTROYED('pipe')); + }; +} + +function call(fn) { + fn(); +} + +function pipe(from, to) { + return from.pipe(to); +} + +function popCallback(streams) { + if (!streams.length) return noop; + if (typeof streams[streams.length - 1] !== 'function') return noop; + return streams.pop(); +} + +function pipeline() { + for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { + streams[_key] = arguments[_key]; + } + + var callback = popCallback(streams); + if (Array.isArray(streams[0])) streams = streams[0]; + + if (streams.length < 2) { + throw new ERR_MISSING_ARGS('streams'); + } + + var error; + var destroys = streams.map(function (stream, i) { + var reading = i < streams.length - 1; + var writing = i > 0; + return destroyer(stream, reading, writing, function (err) { + if (!error) error = err; + if (err) destroys.forEach(call); + if (reading) return; + destroys.forEach(call); + callback(error); + }); + }); + return streams.reduce(pipe); +} + +module.exports = pipeline; +},{"../../../errors":86,"./end-of-stream":95}],98:[function(require,module,exports){ +'use strict'; + +var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; + +function highWaterMarkFrom(options, isDuplex, duplexKey) { + return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; +} + +function getHighWaterMark(state, options, duplexKey, isDuplex) { + var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); + + if (hwm != null) { + if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { + var name = isDuplex ? duplexKey : 'highWaterMark'; + throw new ERR_INVALID_OPT_VALUE(name, hwm); + } + + return Math.floor(hwm); + } // Default value + + + return state.objectMode ? 16 : 16 * 1024; +} + +module.exports = { + getHighWaterMark: getHighWaterMark +}; +},{"../../../errors":86}],99:[function(require,module,exports){ +module.exports = require('events').EventEmitter; + +},{"events":83}],100:[function(require,module,exports){ +exports = module.exports = require('./lib/_stream_readable.js'); +exports.Stream = exports; +exports.Readable = exports; +exports.Writable = require('./lib/_stream_writable.js'); +exports.Duplex = require('./lib/_stream_duplex.js'); +exports.Transform = require('./lib/_stream_transform.js'); +exports.PassThrough = require('./lib/_stream_passthrough.js'); +exports.finished = require('./lib/internal/streams/end-of-stream.js'); +exports.pipeline = require('./lib/internal/streams/pipeline.js'); + +},{"./lib/_stream_duplex.js":87,"./lib/_stream_passthrough.js":88,"./lib/_stream_readable.js":89,"./lib/_stream_transform.js":90,"./lib/_stream_writable.js":91,"./lib/internal/streams/end-of-stream.js":95,"./lib/internal/streams/pipeline.js":97}],101:[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. + +'use strict'; + +/**/ + +var Buffer = require('safe-buffer').Buffer; +/**/ + +var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; + } +}; + +function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } +}; + +// Do not cache `Buffer.isEncoding` when checking encoding names as some +// modules monkey-patch it to support additional encodings +function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; +} + +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. +exports.StringDecoder = StringDecoder; +function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); +} + +StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; +}; + +StringDecoder.prototype.end = utf8End; + +// Returns only complete characters in a Buffer +StringDecoder.prototype.text = utf8Text; + +// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer +StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; +}; + +// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a +// continuation byte. If an invalid byte is detected, -2 is returned. +function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return byte >> 6 === 0x02 ? -1 : -2; +} + +// Checks at most 3 bytes at the end of a Buffer in order to detect an +// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) +// needed to complete the UTF-8 character (if applicable) are returned. +function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; +} + +// Validates as many continuation bytes for a multi-byte UTF-8 character as +// needed or are available. If we see a non-continuation byte where we expect +// one, we "replace" the validated continuation bytes we've seen so far with +// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding +// behavior. The continuation byte check is included three times in the case +// where all of the continuation bytes for a character exist in the same buffer. +// It is also done this way as a slight performance increase instead of using a +// loop. +function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\ufffd'; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\ufffd'; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\ufffd'; + } + } + } +} + +// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. +function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; +} + +// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a +// partial character, the character's bytes are buffered until the required +// number of bytes are available. +function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); +} + +// For UTF-8, a replacement character is added when ending on a partial +// character. +function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\ufffd'; + return r; +} + +// UTF-16LE typically needs two bytes per character, but even if we have an even +// number of bytes available, we need to check if we end on a leading/high +// surrogate. In that case, we need to wait for the next two bytes in order to +// decode the last character properly. +function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); +} + +// For UTF-16LE we do not explicitly append special replacement characters if we +// end on a partial character, we simply let v8 handle that. +function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); + } + return r; +} + +function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); +} + +function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; +} + +// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) +function simpleWrite(buf) { + return buf.toString(this.encoding); +} + +function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; +} +},{"safe-buffer":163}],102:[function(require,module,exports){ +var hash = exports; + +hash.utils = require('./hash/utils'); +hash.common = require('./hash/common'); +hash.sha = require('./hash/sha'); +hash.ripemd = require('./hash/ripemd'); +hash.hmac = require('./hash/hmac'); + +// Proxy hash functions to the main object +hash.sha1 = hash.sha.sha1; +hash.sha256 = hash.sha.sha256; +hash.sha224 = hash.sha.sha224; +hash.sha384 = hash.sha.sha384; +hash.sha512 = hash.sha.sha512; +hash.ripemd160 = hash.ripemd.ripemd160; + +},{"./hash/common":103,"./hash/hmac":104,"./hash/ripemd":105,"./hash/sha":106,"./hash/utils":113}],103:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var assert = require('minimalistic-assert'); + +function BlockHash() { + this.pending = null; + this.pendingTotal = 0; + this.blockSize = this.constructor.blockSize; + this.outSize = this.constructor.outSize; + this.hmacStrength = this.constructor.hmacStrength; + this.padLength = this.constructor.padLength / 8; + this.endian = 'big'; + + this._delta8 = this.blockSize / 8; + this._delta32 = this.blockSize / 32; +} +exports.BlockHash = BlockHash; + +BlockHash.prototype.update = function update(msg, enc) { + // Convert message to array, pad it, and join into 32bit blocks + msg = utils.toArray(msg, enc); + if (!this.pending) + this.pending = msg; + else + this.pending = this.pending.concat(msg); + this.pendingTotal += msg.length; + + // Enough data, try updating + if (this.pending.length >= this._delta8) { + msg = this.pending; + + // Process pending data in blocks + var r = msg.length % this._delta8; + this.pending = msg.slice(msg.length - r, msg.length); + if (this.pending.length === 0) + this.pending = null; + + msg = utils.join32(msg, 0, msg.length - r, this.endian); + for (var i = 0; i < msg.length; i += this._delta32) + this._update(msg, i, i + this._delta32); + } + + return this; +}; + +BlockHash.prototype.digest = function digest(enc) { + this.update(this._pad()); + assert(this.pending === null); + + return this._digest(enc); +}; + +BlockHash.prototype._pad = function pad() { + var len = this.pendingTotal; + var bytes = this._delta8; + var k = bytes - ((len + this.padLength) % bytes); + var res = new Array(k + this.padLength); + res[0] = 0x80; + for (var i = 1; i < k; i++) + res[i] = 0; + + // Append length + len <<= 3; + if (this.endian === 'big') { + for (var t = 8; t < this.padLength; t++) + res[i++] = 0; + + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = (len >>> 24) & 0xff; + res[i++] = (len >>> 16) & 0xff; + res[i++] = (len >>> 8) & 0xff; + res[i++] = len & 0xff; + } else { + res[i++] = len & 0xff; + res[i++] = (len >>> 8) & 0xff; + res[i++] = (len >>> 16) & 0xff; + res[i++] = (len >>> 24) & 0xff; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + + for (t = 8; t < this.padLength; t++) + res[i++] = 0; + } + + return res; +}; + +},{"./utils":113,"minimalistic-assert":123}],104:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var assert = require('minimalistic-assert'); + +function Hmac(hash, key, enc) { + if (!(this instanceof Hmac)) + return new Hmac(hash, key, enc); + this.Hash = hash; + this.blockSize = hash.blockSize / 8; + this.outSize = hash.outSize / 8; + this.inner = null; + this.outer = null; + + this._init(utils.toArray(key, enc)); +} +module.exports = Hmac; + +Hmac.prototype._init = function init(key) { + // Shorten key, if needed + if (key.length > this.blockSize) + key = new this.Hash().update(key).digest(); + assert(key.length <= this.blockSize); + + // Add padding to key + for (var i = key.length; i < this.blockSize; i++) + key.push(0); + + for (i = 0; i < key.length; i++) + key[i] ^= 0x36; + this.inner = new this.Hash().update(key); + + // 0x36 ^ 0x5c = 0x6a + for (i = 0; i < key.length; i++) + key[i] ^= 0x6a; + this.outer = new this.Hash().update(key); +}; + +Hmac.prototype.update = function update(msg, enc) { + this.inner.update(msg, enc); + return this; +}; + +Hmac.prototype.digest = function digest(enc) { + this.outer.update(this.inner.digest()); + return this.outer.digest(enc); +}; + +},{"./utils":113,"minimalistic-assert":123}],105:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var common = require('./common'); + +var rotl32 = utils.rotl32; +var sum32 = utils.sum32; +var sum32_3 = utils.sum32_3; +var sum32_4 = utils.sum32_4; +var BlockHash = common.BlockHash; + +function RIPEMD160() { + if (!(this instanceof RIPEMD160)) + return new RIPEMD160(); + + BlockHash.call(this); + + this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ]; + this.endian = 'little'; +} +utils.inherits(RIPEMD160, BlockHash); +exports.ripemd160 = RIPEMD160; + +RIPEMD160.blockSize = 512; +RIPEMD160.outSize = 160; +RIPEMD160.hmacStrength = 192; +RIPEMD160.padLength = 64; + +RIPEMD160.prototype._update = function update(msg, start) { + var A = this.h[0]; + var B = this.h[1]; + var C = this.h[2]; + var D = this.h[3]; + var E = this.h[4]; + var Ah = A; + var Bh = B; + var Ch = C; + var Dh = D; + var Eh = E; + for (var j = 0; j < 80; j++) { + var T = sum32( + rotl32( + sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), + s[j]), + E); + A = E; + E = D; + D = rotl32(C, 10); + C = B; + B = T; + T = sum32( + rotl32( + sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), + sh[j]), + Eh); + Ah = Eh; + Eh = Dh; + Dh = rotl32(Ch, 10); + Ch = Bh; + Bh = T; + } + T = sum32_3(this.h[1], C, Dh); + this.h[1] = sum32_3(this.h[2], D, Eh); + this.h[2] = sum32_3(this.h[3], E, Ah); + this.h[3] = sum32_3(this.h[4], A, Bh); + this.h[4] = sum32_3(this.h[0], B, Ch); + this.h[0] = T; +}; + +RIPEMD160.prototype._digest = function digest(enc) { + if (enc === 'hex') + return utils.toHex32(this.h, 'little'); + else + return utils.split32(this.h, 'little'); +}; + +function f(j, x, y, z) { + if (j <= 15) + return x ^ y ^ z; + else if (j <= 31) + return (x & y) | ((~x) & z); + else if (j <= 47) + return (x | (~y)) ^ z; + else if (j <= 63) + return (x & z) | (y & (~z)); + else + return x ^ (y | (~z)); +} + +function K(j) { + if (j <= 15) + return 0x00000000; + else if (j <= 31) + return 0x5a827999; + else if (j <= 47) + return 0x6ed9eba1; + else if (j <= 63) + return 0x8f1bbcdc; + else + return 0xa953fd4e; +} + +function Kh(j) { + if (j <= 15) + return 0x50a28be6; + else if (j <= 31) + return 0x5c4dd124; + else if (j <= 47) + return 0x6d703ef3; + else if (j <= 63) + return 0x7a6d76e9; + else + return 0x00000000; +} + +var r = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 +]; + +var rh = [ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 +]; + +var s = [ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 +]; + +var sh = [ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 +]; + +},{"./common":103,"./utils":113}],106:[function(require,module,exports){ +'use strict'; + +exports.sha1 = require('./sha/1'); +exports.sha224 = require('./sha/224'); +exports.sha256 = require('./sha/256'); +exports.sha384 = require('./sha/384'); +exports.sha512 = require('./sha/512'); + +},{"./sha/1":107,"./sha/224":108,"./sha/256":109,"./sha/384":110,"./sha/512":111}],107:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var common = require('../common'); +var shaCommon = require('./common'); + +var rotl32 = utils.rotl32; +var sum32 = utils.sum32; +var sum32_5 = utils.sum32_5; +var ft_1 = shaCommon.ft_1; +var BlockHash = common.BlockHash; + +var sha1_K = [ + 0x5A827999, 0x6ED9EBA1, + 0x8F1BBCDC, 0xCA62C1D6 +]; + +function SHA1() { + if (!(this instanceof SHA1)) + return new SHA1(); + + BlockHash.call(this); + this.h = [ + 0x67452301, 0xefcdab89, 0x98badcfe, + 0x10325476, 0xc3d2e1f0 ]; + this.W = new Array(80); +} + +utils.inherits(SHA1, BlockHash); +module.exports = SHA1; + +SHA1.blockSize = 512; +SHA1.outSize = 160; +SHA1.hmacStrength = 80; +SHA1.padLength = 64; + +SHA1.prototype._update = function _update(msg, start) { + var W = this.W; + + for (var i = 0; i < 16; i++) + W[i] = msg[start + i]; + + for(; i < W.length; i++) + W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1); + + var a = this.h[0]; + var b = this.h[1]; + var c = this.h[2]; + var d = this.h[3]; + var e = this.h[4]; + + for (i = 0; i < W.length; i++) { + var s = ~~(i / 20); + var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]); + e = d; + d = c; + c = rotl32(b, 30); + b = a; + a = t; + } + + this.h[0] = sum32(this.h[0], a); + this.h[1] = sum32(this.h[1], b); + this.h[2] = sum32(this.h[2], c); + this.h[3] = sum32(this.h[3], d); + this.h[4] = sum32(this.h[4], e); +}; + +SHA1.prototype._digest = function digest(enc) { + if (enc === 'hex') + return utils.toHex32(this.h, 'big'); + else + return utils.split32(this.h, 'big'); +}; + +},{"../common":103,"../utils":113,"./common":112}],108:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var SHA256 = require('./256'); + +function SHA224() { + if (!(this instanceof SHA224)) + return new SHA224(); + + SHA256.call(this); + this.h = [ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ]; +} +utils.inherits(SHA224, SHA256); +module.exports = SHA224; + +SHA224.blockSize = 512; +SHA224.outSize = 224; +SHA224.hmacStrength = 192; +SHA224.padLength = 64; + +SHA224.prototype._digest = function digest(enc) { + // Just truncate output + if (enc === 'hex') + return utils.toHex32(this.h.slice(0, 7), 'big'); + else + return utils.split32(this.h.slice(0, 7), 'big'); +}; + + +},{"../utils":113,"./256":109}],109:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var common = require('../common'); +var shaCommon = require('./common'); +var assert = require('minimalistic-assert'); + +var sum32 = utils.sum32; +var sum32_4 = utils.sum32_4; +var sum32_5 = utils.sum32_5; +var ch32 = shaCommon.ch32; +var maj32 = shaCommon.maj32; +var s0_256 = shaCommon.s0_256; +var s1_256 = shaCommon.s1_256; +var g0_256 = shaCommon.g0_256; +var g1_256 = shaCommon.g1_256; + +var BlockHash = common.BlockHash; + +var sha256_K = [ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, + 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, + 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, + 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, + 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, + 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, + 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, + 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, + 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +]; + +function SHA256() { + if (!(this instanceof SHA256)) + return new SHA256(); + + BlockHash.call(this); + this.h = [ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, + 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 + ]; + this.k = sha256_K; + this.W = new Array(64); +} +utils.inherits(SHA256, BlockHash); +module.exports = SHA256; + +SHA256.blockSize = 512; +SHA256.outSize = 256; +SHA256.hmacStrength = 192; +SHA256.padLength = 64; + +SHA256.prototype._update = function _update(msg, start) { + var W = this.W; + + for (var i = 0; i < 16; i++) + W[i] = msg[start + i]; + for (; i < W.length; i++) + W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]); + + var a = this.h[0]; + var b = this.h[1]; + var c = this.h[2]; + var d = this.h[3]; + var e = this.h[4]; + var f = this.h[5]; + var g = this.h[6]; + var h = this.h[7]; + + assert(this.k.length === W.length); + for (i = 0; i < W.length; i++) { + var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]); + var T2 = sum32(s0_256(a), maj32(a, b, c)); + h = g; + g = f; + f = e; + e = sum32(d, T1); + d = c; + c = b; + b = a; + a = sum32(T1, T2); + } + + this.h[0] = sum32(this.h[0], a); + this.h[1] = sum32(this.h[1], b); + this.h[2] = sum32(this.h[2], c); + this.h[3] = sum32(this.h[3], d); + this.h[4] = sum32(this.h[4], e); + this.h[5] = sum32(this.h[5], f); + this.h[6] = sum32(this.h[6], g); + this.h[7] = sum32(this.h[7], h); +}; + +SHA256.prototype._digest = function digest(enc) { + if (enc === 'hex') + return utils.toHex32(this.h, 'big'); + else + return utils.split32(this.h, 'big'); +}; + +},{"../common":103,"../utils":113,"./common":112,"minimalistic-assert":123}],110:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); + +var SHA512 = require('./512'); + +function SHA384() { + if (!(this instanceof SHA384)) + return new SHA384(); + + SHA512.call(this); + this.h = [ + 0xcbbb9d5d, 0xc1059ed8, + 0x629a292a, 0x367cd507, + 0x9159015a, 0x3070dd17, + 0x152fecd8, 0xf70e5939, + 0x67332667, 0xffc00b31, + 0x8eb44a87, 0x68581511, + 0xdb0c2e0d, 0x64f98fa7, + 0x47b5481d, 0xbefa4fa4 ]; +} +utils.inherits(SHA384, SHA512); +module.exports = SHA384; + +SHA384.blockSize = 1024; +SHA384.outSize = 384; +SHA384.hmacStrength = 192; +SHA384.padLength = 128; + +SHA384.prototype._digest = function digest(enc) { + if (enc === 'hex') + return utils.toHex32(this.h.slice(0, 12), 'big'); + else + return utils.split32(this.h.slice(0, 12), 'big'); +}; + +},{"../utils":113,"./512":111}],111:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var common = require('../common'); +var assert = require('minimalistic-assert'); + +var rotr64_hi = utils.rotr64_hi; +var rotr64_lo = utils.rotr64_lo; +var shr64_hi = utils.shr64_hi; +var shr64_lo = utils.shr64_lo; +var sum64 = utils.sum64; +var sum64_hi = utils.sum64_hi; +var sum64_lo = utils.sum64_lo; +var sum64_4_hi = utils.sum64_4_hi; +var sum64_4_lo = utils.sum64_4_lo; +var sum64_5_hi = utils.sum64_5_hi; +var sum64_5_lo = utils.sum64_5_lo; + +var BlockHash = common.BlockHash; + +var sha512_K = [ + 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, + 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, + 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, + 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, + 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, + 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, + 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, + 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, + 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, + 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, + 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, + 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, + 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, + 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, + 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, + 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, + 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, + 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, + 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, + 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, + 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, + 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, + 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, + 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, + 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, + 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, + 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, + 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, + 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, + 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, + 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, + 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, + 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, + 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, + 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, + 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, + 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, + 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, + 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, + 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 +]; + +function SHA512() { + if (!(this instanceof SHA512)) + return new SHA512(); + + BlockHash.call(this); + this.h = [ + 0x6a09e667, 0xf3bcc908, + 0xbb67ae85, 0x84caa73b, + 0x3c6ef372, 0xfe94f82b, + 0xa54ff53a, 0x5f1d36f1, + 0x510e527f, 0xade682d1, + 0x9b05688c, 0x2b3e6c1f, + 0x1f83d9ab, 0xfb41bd6b, + 0x5be0cd19, 0x137e2179 ]; + this.k = sha512_K; + this.W = new Array(160); +} +utils.inherits(SHA512, BlockHash); +module.exports = SHA512; + +SHA512.blockSize = 1024; +SHA512.outSize = 512; +SHA512.hmacStrength = 192; +SHA512.padLength = 128; + +SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) { + var W = this.W; + + // 32 x 32bit words + for (var i = 0; i < 32; i++) + W[i] = msg[start + i]; + for (; i < W.length; i += 2) { + var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2 + var c0_lo = g1_512_lo(W[i - 4], W[i - 3]); + var c1_hi = W[i - 14]; // i - 7 + var c1_lo = W[i - 13]; + var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15 + var c2_lo = g0_512_lo(W[i - 30], W[i - 29]); + var c3_hi = W[i - 32]; // i - 16 + var c3_lo = W[i - 31]; + + W[i] = sum64_4_hi( + c0_hi, c0_lo, + c1_hi, c1_lo, + c2_hi, c2_lo, + c3_hi, c3_lo); + W[i + 1] = sum64_4_lo( + c0_hi, c0_lo, + c1_hi, c1_lo, + c2_hi, c2_lo, + c3_hi, c3_lo); + } +}; + +SHA512.prototype._update = function _update(msg, start) { + this._prepareBlock(msg, start); + + var W = this.W; + + var ah = this.h[0]; + var al = this.h[1]; + var bh = this.h[2]; + var bl = this.h[3]; + var ch = this.h[4]; + var cl = this.h[5]; + var dh = this.h[6]; + var dl = this.h[7]; + var eh = this.h[8]; + var el = this.h[9]; + var fh = this.h[10]; + var fl = this.h[11]; + var gh = this.h[12]; + var gl = this.h[13]; + var hh = this.h[14]; + var hl = this.h[15]; + + assert(this.k.length === W.length); + for (var i = 0; i < W.length; i += 2) { + var c0_hi = hh; + var c0_lo = hl; + var c1_hi = s1_512_hi(eh, el); + var c1_lo = s1_512_lo(eh, el); + var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl); + var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl); + var c3_hi = this.k[i]; + var c3_lo = this.k[i + 1]; + var c4_hi = W[i]; + var c4_lo = W[i + 1]; + + var T1_hi = sum64_5_hi( + c0_hi, c0_lo, + c1_hi, c1_lo, + c2_hi, c2_lo, + c3_hi, c3_lo, + c4_hi, c4_lo); + var T1_lo = sum64_5_lo( + c0_hi, c0_lo, + c1_hi, c1_lo, + c2_hi, c2_lo, + c3_hi, c3_lo, + c4_hi, c4_lo); + + c0_hi = s0_512_hi(ah, al); + c0_lo = s0_512_lo(ah, al); + c1_hi = maj64_hi(ah, al, bh, bl, ch, cl); + c1_lo = maj64_lo(ah, al, bh, bl, ch, cl); + + var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo); + var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo); + + hh = gh; + hl = gl; + + gh = fh; + gl = fl; + + fh = eh; + fl = el; + + eh = sum64_hi(dh, dl, T1_hi, T1_lo); + el = sum64_lo(dl, dl, T1_hi, T1_lo); + + dh = ch; + dl = cl; + + ch = bh; + cl = bl; + + bh = ah; + bl = al; + + ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo); + al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo); + } + + sum64(this.h, 0, ah, al); + sum64(this.h, 2, bh, bl); + sum64(this.h, 4, ch, cl); + sum64(this.h, 6, dh, dl); + sum64(this.h, 8, eh, el); + sum64(this.h, 10, fh, fl); + sum64(this.h, 12, gh, gl); + sum64(this.h, 14, hh, hl); +}; + +SHA512.prototype._digest = function digest(enc) { + if (enc === 'hex') + return utils.toHex32(this.h, 'big'); + else + return utils.split32(this.h, 'big'); +}; + +function ch64_hi(xh, xl, yh, yl, zh) { + var r = (xh & yh) ^ ((~xh) & zh); + if (r < 0) + r += 0x100000000; + return r; +} + +function ch64_lo(xh, xl, yh, yl, zh, zl) { + var r = (xl & yl) ^ ((~xl) & zl); + if (r < 0) + r += 0x100000000; + return r; +} + +function maj64_hi(xh, xl, yh, yl, zh) { + var r = (xh & yh) ^ (xh & zh) ^ (yh & zh); + if (r < 0) + r += 0x100000000; + return r; +} + +function maj64_lo(xh, xl, yh, yl, zh, zl) { + var r = (xl & yl) ^ (xl & zl) ^ (yl & zl); + if (r < 0) + r += 0x100000000; + return r; +} + +function s0_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 28); + var c1_hi = rotr64_hi(xl, xh, 2); // 34 + var c2_hi = rotr64_hi(xl, xh, 7); // 39 + + var r = c0_hi ^ c1_hi ^ c2_hi; + if (r < 0) + r += 0x100000000; + return r; +} + +function s0_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 28); + var c1_lo = rotr64_lo(xl, xh, 2); // 34 + var c2_lo = rotr64_lo(xl, xh, 7); // 39 + + var r = c0_lo ^ c1_lo ^ c2_lo; + if (r < 0) + r += 0x100000000; + return r; +} + +function s1_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 14); + var c1_hi = rotr64_hi(xh, xl, 18); + var c2_hi = rotr64_hi(xl, xh, 9); // 41 + + var r = c0_hi ^ c1_hi ^ c2_hi; + if (r < 0) + r += 0x100000000; + return r; +} + +function s1_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 14); + var c1_lo = rotr64_lo(xh, xl, 18); + var c2_lo = rotr64_lo(xl, xh, 9); // 41 + + var r = c0_lo ^ c1_lo ^ c2_lo; + if (r < 0) + r += 0x100000000; + return r; +} + +function g0_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 1); + var c1_hi = rotr64_hi(xh, xl, 8); + var c2_hi = shr64_hi(xh, xl, 7); + + var r = c0_hi ^ c1_hi ^ c2_hi; + if (r < 0) + r += 0x100000000; + return r; +} + +function g0_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 1); + var c1_lo = rotr64_lo(xh, xl, 8); + var c2_lo = shr64_lo(xh, xl, 7); + + var r = c0_lo ^ c1_lo ^ c2_lo; + if (r < 0) + r += 0x100000000; + return r; +} + +function g1_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 19); + var c1_hi = rotr64_hi(xl, xh, 29); // 61 + var c2_hi = shr64_hi(xh, xl, 6); + + var r = c0_hi ^ c1_hi ^ c2_hi; + if (r < 0) + r += 0x100000000; + return r; +} + +function g1_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 19); + var c1_lo = rotr64_lo(xl, xh, 29); // 61 + var c2_lo = shr64_lo(xh, xl, 6); + + var r = c0_lo ^ c1_lo ^ c2_lo; + if (r < 0) + r += 0x100000000; + return r; +} + +},{"../common":103,"../utils":113,"minimalistic-assert":123}],112:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var rotr32 = utils.rotr32; + +function ft_1(s, x, y, z) { + if (s === 0) + return ch32(x, y, z); + if (s === 1 || s === 3) + return p32(x, y, z); + if (s === 2) + return maj32(x, y, z); +} +exports.ft_1 = ft_1; + +function ch32(x, y, z) { + return (x & y) ^ ((~x) & z); +} +exports.ch32 = ch32; + +function maj32(x, y, z) { + return (x & y) ^ (x & z) ^ (y & z); +} +exports.maj32 = maj32; + +function p32(x, y, z) { + return x ^ y ^ z; +} +exports.p32 = p32; + +function s0_256(x) { + return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22); +} +exports.s0_256 = s0_256; + +function s1_256(x) { + return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25); +} +exports.s1_256 = s1_256; + +function g0_256(x) { + return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3); +} +exports.g0_256 = g0_256; + +function g1_256(x) { + return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10); +} +exports.g1_256 = g1_256; + +},{"../utils":113}],113:[function(require,module,exports){ +'use strict'; + +var assert = require('minimalistic-assert'); +var inherits = require('inherits'); + +exports.inherits = inherits; + +function isSurrogatePair(msg, i) { + if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) { + return false; + } + if (i < 0 || i + 1 >= msg.length) { + return false; + } + return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00; +} + +function toArray(msg, enc) { + if (Array.isArray(msg)) + return msg.slice(); + if (!msg) + return []; + var res = []; + if (typeof msg === 'string') { + if (!enc) { + // Inspired by stringToUtf8ByteArray() in closure-library by Google + // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143 + // Apache License 2.0 + // https://github.com/google/closure-library/blob/master/LICENSE + var p = 0; + for (var i = 0; i < msg.length; i++) { + var c = msg.charCodeAt(i); + if (c < 128) { + res[p++] = c; + } else if (c < 2048) { + res[p++] = (c >> 6) | 192; + res[p++] = (c & 63) | 128; + } else if (isSurrogatePair(msg, i)) { + c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF); + res[p++] = (c >> 18) | 240; + res[p++] = ((c >> 12) & 63) | 128; + res[p++] = ((c >> 6) & 63) | 128; + res[p++] = (c & 63) | 128; + } else { + res[p++] = (c >> 12) | 224; + res[p++] = ((c >> 6) & 63) | 128; + res[p++] = (c & 63) | 128; + } + } + } else if (enc === 'hex') { + msg = msg.replace(/[^a-z0-9]+/ig, ''); + if (msg.length % 2 !== 0) + msg = '0' + msg; + for (i = 0; i < msg.length; i += 2) + res.push(parseInt(msg[i] + msg[i + 1], 16)); + } + } else { + for (i = 0; i < msg.length; i++) + res[i] = msg[i] | 0; + } + return res; +} +exports.toArray = toArray; + +function toHex(msg) { + var res = ''; + for (var i = 0; i < msg.length; i++) + res += zero2(msg[i].toString(16)); + return res; +} +exports.toHex = toHex; + +function htonl(w) { + var res = (w >>> 24) | + ((w >>> 8) & 0xff00) | + ((w << 8) & 0xff0000) | + ((w & 0xff) << 24); + return res >>> 0; +} +exports.htonl = htonl; + +function toHex32(msg, endian) { + var res = ''; + for (var i = 0; i < msg.length; i++) { + var w = msg[i]; + if (endian === 'little') + w = htonl(w); + res += zero8(w.toString(16)); + } + return res; +} +exports.toHex32 = toHex32; + +function zero2(word) { + if (word.length === 1) + return '0' + word; + else + return word; +} +exports.zero2 = zero2; + +function zero8(word) { + if (word.length === 7) + return '0' + word; + else if (word.length === 6) + return '00' + word; + else if (word.length === 5) + return '000' + word; + else if (word.length === 4) + return '0000' + word; + else if (word.length === 3) + return '00000' + word; + else if (word.length === 2) + return '000000' + word; + else if (word.length === 1) + return '0000000' + word; + else + return word; +} +exports.zero8 = zero8; + +function join32(msg, start, end, endian) { + var len = end - start; + assert(len % 4 === 0); + var res = new Array(len / 4); + for (var i = 0, k = start; i < res.length; i++, k += 4) { + var w; + if (endian === 'big') + w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3]; + else + w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k]; + res[i] = w >>> 0; + } + return res; +} +exports.join32 = join32; + +function split32(msg, endian) { + var res = new Array(msg.length * 4); + for (var i = 0, k = 0; i < msg.length; i++, k += 4) { + var m = msg[i]; + if (endian === 'big') { + res[k] = m >>> 24; + res[k + 1] = (m >>> 16) & 0xff; + res[k + 2] = (m >>> 8) & 0xff; + res[k + 3] = m & 0xff; + } else { + res[k + 3] = m >>> 24; + res[k + 2] = (m >>> 16) & 0xff; + res[k + 1] = (m >>> 8) & 0xff; + res[k] = m & 0xff; + } + } + return res; +} +exports.split32 = split32; + +function rotr32(w, b) { + return (w >>> b) | (w << (32 - b)); +} +exports.rotr32 = rotr32; + +function rotl32(w, b) { + return (w << b) | (w >>> (32 - b)); +} +exports.rotl32 = rotl32; + +function sum32(a, b) { + return (a + b) >>> 0; +} +exports.sum32 = sum32; + +function sum32_3(a, b, c) { + return (a + b + c) >>> 0; +} +exports.sum32_3 = sum32_3; + +function sum32_4(a, b, c, d) { + return (a + b + c + d) >>> 0; +} +exports.sum32_4 = sum32_4; + +function sum32_5(a, b, c, d, e) { + return (a + b + c + d + e) >>> 0; +} +exports.sum32_5 = sum32_5; + +function sum64(buf, pos, ah, al) { + var bh = buf[pos]; + var bl = buf[pos + 1]; + + var lo = (al + bl) >>> 0; + var hi = (lo < al ? 1 : 0) + ah + bh; + buf[pos] = hi >>> 0; + buf[pos + 1] = lo; +} +exports.sum64 = sum64; + +function sum64_hi(ah, al, bh, bl) { + var lo = (al + bl) >>> 0; + var hi = (lo < al ? 1 : 0) + ah + bh; + return hi >>> 0; +} +exports.sum64_hi = sum64_hi; + +function sum64_lo(ah, al, bh, bl) { + var lo = al + bl; + return lo >>> 0; +} +exports.sum64_lo = sum64_lo; + +function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) { + var carry = 0; + var lo = al; + lo = (lo + bl) >>> 0; + carry += lo < al ? 1 : 0; + lo = (lo + cl) >>> 0; + carry += lo < cl ? 1 : 0; + lo = (lo + dl) >>> 0; + carry += lo < dl ? 1 : 0; + + var hi = ah + bh + ch + dh + carry; + return hi >>> 0; +} +exports.sum64_4_hi = sum64_4_hi; + +function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) { + var lo = al + bl + cl + dl; + return lo >>> 0; +} +exports.sum64_4_lo = sum64_4_lo; + +function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { + var carry = 0; + var lo = al; + lo = (lo + bl) >>> 0; + carry += lo < al ? 1 : 0; + lo = (lo + cl) >>> 0; + carry += lo < cl ? 1 : 0; + lo = (lo + dl) >>> 0; + carry += lo < dl ? 1 : 0; + lo = (lo + el) >>> 0; + carry += lo < el ? 1 : 0; + + var hi = ah + bh + ch + dh + eh + carry; + return hi >>> 0; +} +exports.sum64_5_hi = sum64_5_hi; + +function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { + var lo = al + bl + cl + dl + el; + + return lo >>> 0; +} +exports.sum64_5_lo = sum64_5_lo; + +function rotr64_hi(ah, al, num) { + var r = (al << (32 - num)) | (ah >>> num); + return r >>> 0; +} +exports.rotr64_hi = rotr64_hi; + +function rotr64_lo(ah, al, num) { + var r = (ah << (32 - num)) | (al >>> num); + return r >>> 0; +} +exports.rotr64_lo = rotr64_lo; + +function shr64_hi(ah, al, num) { + return ah >>> num; +} +exports.shr64_hi = shr64_hi; + +function shr64_lo(ah, al, num) { + var r = (ah << (32 - num)) | (al >>> num); + return r >>> 0; +} +exports.shr64_lo = shr64_lo; + +},{"inherits":117,"minimalistic-assert":123}],114:[function(require,module,exports){ +'use strict'; + +var hash = require('hash.js'); +var utils = require('minimalistic-crypto-utils'); +var assert = require('minimalistic-assert'); + +function HmacDRBG(options) { + if (!(this instanceof HmacDRBG)) + return new HmacDRBG(options); + this.hash = options.hash; + this.predResist = !!options.predResist; + + this.outLen = this.hash.outSize; + this.minEntropy = options.minEntropy || this.hash.hmacStrength; + + this._reseed = null; + this.reseedInterval = null; + this.K = null; + this.V = null; + + var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex'); + var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex'); + var pers = utils.toArray(options.pers, options.persEnc || 'hex'); + assert(entropy.length >= (this.minEntropy / 8), + 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); + this._init(entropy, nonce, pers); +} +module.exports = HmacDRBG; + +HmacDRBG.prototype._init = function init(entropy, nonce, pers) { + var seed = entropy.concat(nonce).concat(pers); + + this.K = new Array(this.outLen / 8); + this.V = new Array(this.outLen / 8); + for (var i = 0; i < this.V.length; i++) { + this.K[i] = 0x00; + this.V[i] = 0x01; + } + + this._update(seed); + this._reseed = 1; + this.reseedInterval = 0x1000000000000; // 2^48 +}; + +HmacDRBG.prototype._hmac = function hmac() { + return new hash.hmac(this.hash, this.K); +}; + +HmacDRBG.prototype._update = function update(seed) { + var kmac = this._hmac() + .update(this.V) + .update([ 0x00 ]); + if (seed) + kmac = kmac.update(seed); + this.K = kmac.digest(); + this.V = this._hmac().update(this.V).digest(); + if (!seed) + return; + + this.K = this._hmac() + .update(this.V) + .update([ 0x01 ]) + .update(seed) + .digest(); + this.V = this._hmac().update(this.V).digest(); +}; + +HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) { + // Optional entropy enc + if (typeof entropyEnc !== 'string') { + addEnc = add; + add = entropyEnc; + entropyEnc = null; + } + + entropy = utils.toArray(entropy, entropyEnc); + add = utils.toArray(add, addEnc); + + assert(entropy.length >= (this.minEntropy / 8), + 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); + + this._update(entropy.concat(add || [])); + this._reseed = 1; +}; + +HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { + if (this._reseed > this.reseedInterval) + throw new Error('Reseed is required'); + + // Optional encoding + if (typeof enc !== 'string') { + addEnc = add; + add = enc; + enc = null; + } + + // Optional additional data + if (add) { + add = utils.toArray(add, addEnc || 'hex'); + this._update(add); + } + + var temp = []; + while (temp.length < len) { + this.V = this._hmac().update(this.V).digest(); + temp = temp.concat(this.V); + } + + var res = temp.slice(0, len); + this._update(add); + this._reseed++; + return utils.encode(res, enc); +}; + +},{"hash.js":102,"minimalistic-assert":123,"minimalistic-crypto-utils":124}],115:[function(require,module,exports){ +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = ((value * c) - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + +},{}],116:[function(require,module,exports){ + +var indexOf = [].indexOf; + +module.exports = function(arr, obj){ + if (indexOf) return arr.indexOf(obj); + for (var i = 0; i < arr.length; ++i) { + if (arr[i] === obj) return i; + } + return -1; +}; +},{}],117:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (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) { + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } +} + +},{}],118:[function(require,module,exports){ +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +// The _isBuffer check is for Safari 5-7 support, because it's missing +// Object.prototype.constructor. Remove this eventually +module.exports = function (obj) { + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) +} + +function isBuffer (obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +} + +// For Node v0.10 support. Remove this eventually. +function isSlowBuffer (obj) { + return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) +} + +},{}],119:[function(require,module,exports){ +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + +},{}],120:[function(require,module,exports){ +(function (process,global){ +/** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.5.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + */ +/*jslint bitwise: true */ +(function () { + 'use strict'; + + var root = typeof window === 'object' ? window : {}; + var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process == 'object' && process.versions && process.versions.node; + if (NODE_JS) { + root = global; + } + var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports; + var AMD = typeof define === 'function' && define.amd; + var ARRAY_BUFFER = typeof ArrayBuffer !== 'undefined'; + var HEX_CHARS = '0123456789abcdef'.split(''); + var EXTRA = [-2147483648, 8388608, 32768, 128]; + var SHIFT = [24, 16, 8, 0]; + var K = [ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 + ]; + var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer']; + + var blocks = []; + + var createOutputMethod = function (outputType, is224) { + return function (message) { + return new Sha256(is224, true).update(message)[outputType](); + }; + }; + + var createMethod = function (is224) { + var method = createOutputMethod('hex', is224); + if (NODE_JS) { + method = nodeWrap(method, is224); + } + method.create = function () { + return new Sha256(is224); + }; + method.update = function (message) { + return method.create().update(message); + }; + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method[type] = createOutputMethod(type, is224); + } + return method; + }; + + var nodeWrap = function (method, is224) { + var crypto = require('crypto'); + var Buffer = require('buffer').Buffer; + var algorithm = is224 ? 'sha224' : 'sha256'; + var nodeMethod = function (message) { + if (typeof message === 'string') { + return crypto.createHash(algorithm).update(message, 'utf8').digest('hex'); + } else if (ARRAY_BUFFER && message instanceof ArrayBuffer) { + message = new Uint8Array(message); + } else if (message.length === undefined) { + return method(message); + } + return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex'); + }; + return nodeMethod; + }; + + function Sha256(is224, sharedMemory) { + if (sharedMemory) { + blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = + blocks[4] = blocks[5] = blocks[6] = blocks[7] = + blocks[8] = blocks[9] = blocks[10] = blocks[11] = + blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; + this.blocks = blocks; + } else { + this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + } + + if (is224) { + this.h0 = 0xc1059ed8; + this.h1 = 0x367cd507; + this.h2 = 0x3070dd17; + this.h3 = 0xf70e5939; + this.h4 = 0xffc00b31; + this.h5 = 0x68581511; + this.h6 = 0x64f98fa7; + this.h7 = 0xbefa4fa4; + } else { // 256 + this.h0 = 0x6a09e667; + this.h1 = 0xbb67ae85; + this.h2 = 0x3c6ef372; + this.h3 = 0xa54ff53a; + this.h4 = 0x510e527f; + this.h5 = 0x9b05688c; + this.h6 = 0x1f83d9ab; + this.h7 = 0x5be0cd19; + } + + this.block = this.start = this.bytes = 0; + this.finalized = this.hashed = false; + this.first = true; + this.is224 = is224; + } + + Sha256.prototype.update = function (message) { + if (this.finalized) { + return; + } + var notString = typeof(message) !== 'string'; + if (notString && ARRAY_BUFFER && message instanceof root.ArrayBuffer) { + message = new Uint8Array(message); + } + var code, index = 0, i, length = message.length || 0, blocks = this.blocks; + + while (index < length) { + if (this.hashed) { + this.hashed = false; + blocks[0] = this.block; + blocks[16] = blocks[1] = blocks[2] = blocks[3] = + blocks[4] = blocks[5] = blocks[6] = blocks[7] = + blocks[8] = blocks[9] = blocks[10] = blocks[11] = + blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; + } + + if(notString) { + for (i = this.start; index < length && i < 64; ++index) { + blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; + } + } else { + for (i = this.start; index < length && i < 64; ++index) { + code = message.charCodeAt(index); + if (code < 0x80) { + blocks[i >> 2] |= code << SHIFT[i++ & 3]; + } else if (code < 0x800) { + blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } else if (code < 0xd800 || code >= 0xe000) { + blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } else { + code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff)); + blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } + } + } + + this.lastByteIndex = i; + this.bytes += i - this.start; + if (i >= 64) { + this.block = blocks[16]; + this.start = i - 64; + this.hash(); + this.hashed = true; + } else { + this.start = i; + } + } + return this; + }; + + Sha256.prototype.finalize = function () { + if (this.finalized) { + return; + } + this.finalized = true; + var blocks = this.blocks, i = this.lastByteIndex; + blocks[16] = this.block; + blocks[i >> 2] |= EXTRA[i & 3]; + this.block = blocks[16]; + if (i >= 56) { + if (!this.hashed) { + this.hash(); + } + blocks[0] = this.block; + blocks[16] = blocks[1] = blocks[2] = blocks[3] = + blocks[4] = blocks[5] = blocks[6] = blocks[7] = + blocks[8] = blocks[9] = blocks[10] = blocks[11] = + blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; + } + blocks[15] = this.bytes << 3; + this.hash(); + }; + + Sha256.prototype.hash = function () { + var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6, + h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc; + + for (j = 16; j < 64; ++j) { + // rightrotate + t1 = blocks[j - 15]; + s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3); + t1 = blocks[j - 2]; + s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10); + blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0; + } + + bc = b & c; + for (j = 0; j < 64; j += 4) { + if (this.first) { + if (this.is224) { + ab = 300032; + t1 = blocks[0] - 1413257819; + h = t1 - 150054599 << 0; + d = t1 + 24177077 << 0; + } else { + ab = 704751109; + t1 = blocks[0] - 210244248; + h = t1 - 1521486534 << 0; + d = t1 + 143694565 << 0; + } + this.first = false; + } else { + s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10)); + s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7)); + ab = a & b; + maj = ab ^ (a & c) ^ bc; + ch = (e & f) ^ (~e & g); + t1 = h + s1 + ch + K[j] + blocks[j]; + t2 = s0 + maj; + h = d + t1 << 0; + d = t1 + t2 << 0; + } + s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10)); + s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7)); + da = d & a; + maj = da ^ (d & b) ^ ab; + ch = (h & e) ^ (~h & f); + t1 = g + s1 + ch + K[j + 1] + blocks[j + 1]; + t2 = s0 + maj; + g = c + t1 << 0; + c = t1 + t2 << 0; + s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10)); + s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7)); + cd = c & d; + maj = cd ^ (c & a) ^ da; + ch = (g & h) ^ (~g & e); + t1 = f + s1 + ch + K[j + 2] + blocks[j + 2]; + t2 = s0 + maj; + f = b + t1 << 0; + b = t1 + t2 << 0; + s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10)); + s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7)); + bc = b & c; + maj = bc ^ (b & d) ^ cd; + ch = (f & g) ^ (~f & h); + t1 = e + s1 + ch + K[j + 3] + blocks[j + 3]; + t2 = s0 + maj; + e = a + t1 << 0; + a = t1 + t2 << 0; + } + + this.h0 = this.h0 + a << 0; + this.h1 = this.h1 + b << 0; + this.h2 = this.h2 + c << 0; + this.h3 = this.h3 + d << 0; + this.h4 = this.h4 + e << 0; + this.h5 = this.h5 + f << 0; + this.h6 = this.h6 + g << 0; + this.h7 = this.h7 + h << 0; + }; + + Sha256.prototype.hex = function () { + this.finalize(); + + var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, + h6 = this.h6, h7 = this.h7; + + var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] + + HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] + + HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] + + HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] + + HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] + + HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] + + HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] + + HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] + + HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] + + HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] + + HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] + + HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] + + HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] + + HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] + + HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] + + HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] + + HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] + + HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] + + HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] + + HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] + + HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] + + HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] + + HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] + + HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] + + HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] + + HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] + + HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] + + HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F]; + if (!this.is224) { + hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] + + HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] + + HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] + + HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F]; + } + return hex; + }; + + Sha256.prototype.toString = Sha256.prototype.hex; + + Sha256.prototype.digest = function () { + this.finalize(); + + var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, + h6 = this.h6, h7 = this.h7; + + var arr = [ + (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF, + (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF, + (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF, + (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF, + (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF, + (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF, + (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF + ]; + if (!this.is224) { + arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF); + } + return arr; + }; + + Sha256.prototype.array = Sha256.prototype.digest; + + Sha256.prototype.arrayBuffer = function () { + this.finalize(); + + var buffer = new ArrayBuffer(this.is224 ? 28 : 32); + var dataView = new DataView(buffer); + dataView.setUint32(0, this.h0); + dataView.setUint32(4, this.h1); + dataView.setUint32(8, this.h2); + dataView.setUint32(12, this.h3); + dataView.setUint32(16, this.h4); + dataView.setUint32(20, this.h5); + dataView.setUint32(24, this.h6); + if (!this.is224) { + dataView.setUint32(28, this.h7); + } + return buffer; + }; + + var exports = createMethod(); + exports.sha256 = exports; + exports.sha224 = createMethod(true); + + if (COMMON_JS) { + module.exports = exports; + } else { + root.sha256 = exports.sha256; + root.sha224 = exports.sha224; + if (AMD) { + define(function () { + return exports; + }); + } + } +})(); + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"_process":136,"buffer":47,"crypto":55}],121:[function(require,module,exports){ +'use strict' +var inherits = require('inherits') +var HashBase = require('hash-base') +var Buffer = require('safe-buffer').Buffer + +var ARRAY16 = new Array(16) + +function MD5 () { + HashBase.call(this, 64) + + // state + this._a = 0x67452301 + this._b = 0xefcdab89 + this._c = 0x98badcfe + this._d = 0x10325476 +} + +inherits(MD5, HashBase) + +MD5.prototype._update = function () { + var M = ARRAY16 + for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4) + + var a = this._a + var b = this._b + var c = this._c + var d = this._d + + a = fnF(a, b, c, d, M[0], 0xd76aa478, 7) + d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12) + c = fnF(c, d, a, b, M[2], 0x242070db, 17) + b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22) + a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7) + d = fnF(d, a, b, c, M[5], 0x4787c62a, 12) + c = fnF(c, d, a, b, M[6], 0xa8304613, 17) + b = fnF(b, c, d, a, M[7], 0xfd469501, 22) + a = fnF(a, b, c, d, M[8], 0x698098d8, 7) + d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12) + c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17) + b = fnF(b, c, d, a, M[11], 0x895cd7be, 22) + a = fnF(a, b, c, d, M[12], 0x6b901122, 7) + d = fnF(d, a, b, c, M[13], 0xfd987193, 12) + c = fnF(c, d, a, b, M[14], 0xa679438e, 17) + b = fnF(b, c, d, a, M[15], 0x49b40821, 22) + + a = fnG(a, b, c, d, M[1], 0xf61e2562, 5) + d = fnG(d, a, b, c, M[6], 0xc040b340, 9) + c = fnG(c, d, a, b, M[11], 0x265e5a51, 14) + b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20) + a = fnG(a, b, c, d, M[5], 0xd62f105d, 5) + d = fnG(d, a, b, c, M[10], 0x02441453, 9) + c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14) + b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20) + a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5) + d = fnG(d, a, b, c, M[14], 0xc33707d6, 9) + c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14) + b = fnG(b, c, d, a, M[8], 0x455a14ed, 20) + a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5) + d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9) + c = fnG(c, d, a, b, M[7], 0x676f02d9, 14) + b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20) + + a = fnH(a, b, c, d, M[5], 0xfffa3942, 4) + d = fnH(d, a, b, c, M[8], 0x8771f681, 11) + c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16) + b = fnH(b, c, d, a, M[14], 0xfde5380c, 23) + a = fnH(a, b, c, d, M[1], 0xa4beea44, 4) + d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11) + c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16) + b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23) + a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4) + d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11) + c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16) + b = fnH(b, c, d, a, M[6], 0x04881d05, 23) + a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4) + d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11) + c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16) + b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23) + + a = fnI(a, b, c, d, M[0], 0xf4292244, 6) + d = fnI(d, a, b, c, M[7], 0x432aff97, 10) + c = fnI(c, d, a, b, M[14], 0xab9423a7, 15) + b = fnI(b, c, d, a, M[5], 0xfc93a039, 21) + a = fnI(a, b, c, d, M[12], 0x655b59c3, 6) + d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10) + c = fnI(c, d, a, b, M[10], 0xffeff47d, 15) + b = fnI(b, c, d, a, M[1], 0x85845dd1, 21) + a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6) + d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10) + c = fnI(c, d, a, b, M[6], 0xa3014314, 15) + b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21) + a = fnI(a, b, c, d, M[4], 0xf7537e82, 6) + d = fnI(d, a, b, c, M[11], 0xbd3af235, 10) + c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15) + b = fnI(b, c, d, a, M[9], 0xeb86d391, 21) + + this._a = (this._a + a) | 0 + this._b = (this._b + b) | 0 + this._c = (this._c + c) | 0 + this._d = (this._d + d) | 0 +} + +MD5.prototype._digest = function () { + // create padding and handle blocks + this._block[this._blockOffset++] = 0x80 + if (this._blockOffset > 56) { + this._block.fill(0, this._blockOffset, 64) + this._update() + this._blockOffset = 0 + } + + this._block.fill(0, this._blockOffset, 56) + this._block.writeUInt32LE(this._length[0], 56) + this._block.writeUInt32LE(this._length[1], 60) + this._update() + + // produce result + var buffer = Buffer.allocUnsafe(16) + buffer.writeInt32LE(this._a, 0) + buffer.writeInt32LE(this._b, 4) + buffer.writeInt32LE(this._c, 8) + buffer.writeInt32LE(this._d, 12) + return buffer +} + +function rotl (x, n) { + return (x << n) | (x >>> (32 - n)) +} + +function fnF (a, b, c, d, m, k, s) { + return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0 +} + +function fnG (a, b, c, d, m, k, s) { + return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0 +} + +function fnH (a, b, c, d, m, k, s) { + return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0 +} + +function fnI (a, b, c, d, m, k, s) { + return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0 +} + +module.exports = MD5 + +},{"hash-base":85,"inherits":117,"safe-buffer":163}],122:[function(require,module,exports){ +var bn = require('bn.js'); +var brorand = require('brorand'); + +function MillerRabin(rand) { + this.rand = rand || new brorand.Rand(); +} +module.exports = MillerRabin; + +MillerRabin.create = function create(rand) { + return new MillerRabin(rand); +}; + +MillerRabin.prototype._randbelow = function _randbelow(n) { + var len = n.bitLength(); + var min_bytes = Math.ceil(len / 8); + + // Generage random bytes until a number less than n is found. + // This ensures that 0..n-1 have an equal probability of being selected. + do + var a = new bn(this.rand.generate(min_bytes)); + while (a.cmp(n) >= 0); + + return a; +}; + +MillerRabin.prototype._randrange = function _randrange(start, stop) { + // Generate a random number greater than or equal to start and less than stop. + var size = stop.sub(start); + return start.add(this._randbelow(size)); +}; + +MillerRabin.prototype.test = function test(n, k, cb) { + var len = n.bitLength(); + var red = bn.mont(n); + var rone = new bn(1).toRed(red); + + if (!k) + k = Math.max(1, (len / 48) | 0); + + // Find d and s, (n - 1) = (2 ^ s) * d; + var n1 = n.subn(1); + for (var s = 0; !n1.testn(s); s++) {} + var d = n.shrn(s); + + var rn1 = n1.toRed(red); + + var prime = true; + for (; k > 0; k--) { + var a = this._randrange(new bn(2), n1); + if (cb) + cb(a); + + var x = a.toRed(red).redPow(d); + if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) + continue; + + for (var i = 1; i < s; i++) { + x = x.redSqr(); + + if (x.cmp(rone) === 0) + return false; + if (x.cmp(rn1) === 0) + break; + } + + if (i === s) + return false; + } + + return prime; +}; + +MillerRabin.prototype.getDivisor = function getDivisor(n, k) { + var len = n.bitLength(); + var red = bn.mont(n); + var rone = new bn(1).toRed(red); + + if (!k) + k = Math.max(1, (len / 48) | 0); + + // Find d and s, (n - 1) = (2 ^ s) * d; + var n1 = n.subn(1); + for (var s = 0; !n1.testn(s); s++) {} + var d = n.shrn(s); + + var rn1 = n1.toRed(red); + + for (; k > 0; k--) { + var a = this._randrange(new bn(2), n1); + + var g = n.gcd(a); + if (g.cmpn(1) !== 0) + return g; + + var x = a.toRed(red).redPow(d); + if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) + continue; + + for (var i = 1; i < s; i++) { + x = x.redSqr(); + + if (x.cmp(rone) === 0) + return x.fromRed().subn(1).gcd(n); + if (x.cmp(rn1) === 0) + break; + } + + if (i === s) { + x = x.redSqr(); + return x.fromRed().subn(1).gcd(n); + } + } + + return false; +}; + +},{"bn.js":16,"brorand":17}],123:[function(require,module,exports){ +module.exports = assert; + +function assert(val, msg) { + if (!val) + throw new Error(msg || 'Assertion failed'); +} + +assert.equal = function assertEqual(l, r, msg) { + if (l != r) + throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); +}; + +},{}],124:[function(require,module,exports){ +'use strict'; + +var utils = exports; + +function toArray(msg, enc) { + if (Array.isArray(msg)) + return msg.slice(); + if (!msg) + return []; + var res = []; + if (typeof msg !== 'string') { + for (var i = 0; i < msg.length; i++) + res[i] = msg[i] | 0; + return res; + } + if (enc === 'hex') { + msg = msg.replace(/[^a-z0-9]+/ig, ''); + if (msg.length % 2 !== 0) + msg = '0' + msg; + for (var i = 0; i < msg.length; i += 2) + res.push(parseInt(msg[i] + msg[i + 1], 16)); + } else { + for (var i = 0; i < msg.length; i++) { + var c = msg.charCodeAt(i); + var hi = c >> 8; + var lo = c & 0xff; + if (hi) + res.push(hi, lo); + else + res.push(lo); + } + } + return res; +} +utils.toArray = toArray; + +function zero2(word) { + if (word.length === 1) + return '0' + word; + else + return word; +} +utils.zero2 = zero2; + +function toHex(msg) { + var res = ''; + for (var i = 0; i < msg.length; i++) + res += zero2(msg[i].toString(16)); + return res; +} +utils.toHex = toHex; + +utils.encode = function encode(arr, enc) { + if (enc === 'hex') + return toHex(arr); + else + return arr; +}; + +},{}],125:[function(require,module,exports){ +module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", +"2.16.840.1.101.3.4.1.2": "aes-128-cbc", +"2.16.840.1.101.3.4.1.3": "aes-128-ofb", +"2.16.840.1.101.3.4.1.4": "aes-128-cfb", +"2.16.840.1.101.3.4.1.21": "aes-192-ecb", +"2.16.840.1.101.3.4.1.22": "aes-192-cbc", +"2.16.840.1.101.3.4.1.23": "aes-192-ofb", +"2.16.840.1.101.3.4.1.24": "aes-192-cfb", +"2.16.840.1.101.3.4.1.41": "aes-256-ecb", +"2.16.840.1.101.3.4.1.42": "aes-256-cbc", +"2.16.840.1.101.3.4.1.43": "aes-256-ofb", +"2.16.840.1.101.3.4.1.44": "aes-256-cfb" +} +},{}],126:[function(require,module,exports){ +// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js +// Fedor, you are amazing. +'use strict' + +var asn1 = require('asn1.js') + +exports.certificate = require('./certificate') + +var RSAPrivateKey = asn1.define('RSAPrivateKey', function () { + this.seq().obj( + this.key('version').int(), + this.key('modulus').int(), + this.key('publicExponent').int(), + this.key('privateExponent').int(), + this.key('prime1').int(), + this.key('prime2').int(), + this.key('exponent1').int(), + this.key('exponent2').int(), + this.key('coefficient').int() + ) +}) +exports.RSAPrivateKey = RSAPrivateKey + +var RSAPublicKey = asn1.define('RSAPublicKey', function () { + this.seq().obj( + this.key('modulus').int(), + this.key('publicExponent').int() + ) +}) +exports.RSAPublicKey = RSAPublicKey + +var PublicKey = asn1.define('SubjectPublicKeyInfo', function () { + this.seq().obj( + this.key('algorithm').use(AlgorithmIdentifier), + this.key('subjectPublicKey').bitstr() + ) +}) +exports.PublicKey = PublicKey + +var AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () { + this.seq().obj( + this.key('algorithm').objid(), + this.key('none').null_().optional(), + this.key('curve').objid().optional(), + this.key('params').seq().obj( + this.key('p').int(), + this.key('q').int(), + this.key('g').int() + ).optional() + ) +}) + +var PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () { + this.seq().obj( + this.key('version').int(), + this.key('algorithm').use(AlgorithmIdentifier), + this.key('subjectPrivateKey').octstr() + ) +}) +exports.PrivateKey = PrivateKeyInfo +var EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () { + this.seq().obj( + this.key('algorithm').seq().obj( + this.key('id').objid(), + this.key('decrypt').seq().obj( + this.key('kde').seq().obj( + this.key('id').objid(), + this.key('kdeparams').seq().obj( + this.key('salt').octstr(), + this.key('iters').int() + ) + ), + this.key('cipher').seq().obj( + this.key('algo').objid(), + this.key('iv').octstr() + ) + ) + ), + this.key('subjectPrivateKey').octstr() + ) +}) + +exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo + +var DSAPrivateKey = asn1.define('DSAPrivateKey', function () { + this.seq().obj( + this.key('version').int(), + this.key('p').int(), + this.key('q').int(), + this.key('g').int(), + this.key('pub_key').int(), + this.key('priv_key').int() + ) +}) +exports.DSAPrivateKey = DSAPrivateKey + +exports.DSAparam = asn1.define('DSAparam', function () { + this.int() +}) + +var ECPrivateKey = asn1.define('ECPrivateKey', function () { + this.seq().obj( + this.key('version').int(), + this.key('privateKey').octstr(), + this.key('parameters').optional().explicit(0).use(ECParameters), + this.key('publicKey').optional().explicit(1).bitstr() + ) +}) +exports.ECPrivateKey = ECPrivateKey + +var ECParameters = asn1.define('ECParameters', function () { + this.choice({ + namedCurve: this.objid() + }) +}) + +exports.signature = asn1.define('signature', function () { + this.seq().obj( + this.key('r').int(), + this.key('s').int() + ) +}) + +},{"./certificate":127,"asn1.js":1}],127:[function(require,module,exports){ +// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js +// thanks to @Rantanen + +'use strict' + +var asn = require('asn1.js') + +var Time = asn.define('Time', function () { + this.choice({ + utcTime: this.utctime(), + generalTime: this.gentime() + }) +}) + +var AttributeTypeValue = asn.define('AttributeTypeValue', function () { + this.seq().obj( + this.key('type').objid(), + this.key('value').any() + ) +}) + +var AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () { + this.seq().obj( + this.key('algorithm').objid(), + this.key('parameters').optional(), + this.key('curve').objid().optional() + ) +}) + +var SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () { + this.seq().obj( + this.key('algorithm').use(AlgorithmIdentifier), + this.key('subjectPublicKey').bitstr() + ) +}) + +var RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () { + this.setof(AttributeTypeValue) +}) + +var RDNSequence = asn.define('RDNSequence', function () { + this.seqof(RelativeDistinguishedName) +}) + +var Name = asn.define('Name', function () { + this.choice({ + rdnSequence: this.use(RDNSequence) + }) +}) + +var Validity = asn.define('Validity', function () { + this.seq().obj( + this.key('notBefore').use(Time), + this.key('notAfter').use(Time) + ) +}) + +var Extension = asn.define('Extension', function () { + this.seq().obj( + this.key('extnID').objid(), + this.key('critical').bool().def(false), + this.key('extnValue').octstr() + ) +}) + +var TBSCertificate = asn.define('TBSCertificate', function () { + this.seq().obj( + this.key('version').explicit(0).int().optional(), + this.key('serialNumber').int(), + this.key('signature').use(AlgorithmIdentifier), + this.key('issuer').use(Name), + this.key('validity').use(Validity), + this.key('subject').use(Name), + this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo), + this.key('issuerUniqueID').implicit(1).bitstr().optional(), + this.key('subjectUniqueID').implicit(2).bitstr().optional(), + this.key('extensions').explicit(3).seqof(Extension).optional() + ) +}) + +var X509Certificate = asn.define('X509Certificate', function () { + this.seq().obj( + this.key('tbsCertificate').use(TBSCertificate), + this.key('signatureAlgorithm').use(AlgorithmIdentifier), + this.key('signatureValue').bitstr() + ) +}) + +module.exports = X509Certificate + +},{"asn1.js":1}],128:[function(require,module,exports){ +// adapted from https://github.com/apatil/pemstrip +var findProc = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m +var startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m +var fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m +var evp = require('evp_bytestokey') +var ciphers = require('browserify-aes') +var Buffer = require('safe-buffer').Buffer +module.exports = function (okey, password) { + var key = okey.toString() + var match = key.match(findProc) + var decrypted + if (!match) { + var match2 = key.match(fullRegex) + decrypted = new Buffer(match2[2].replace(/[\r\n]/g, ''), 'base64') + } else { + var suite = 'aes' + match[1] + var iv = Buffer.from(match[2], 'hex') + var cipherText = Buffer.from(match[3].replace(/[\r\n]/g, ''), 'base64') + var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key + var out = [] + var cipher = ciphers.createDecipheriv(suite, cipherKey, iv) + out.push(cipher.update(cipherText)) + out.push(cipher.final()) + decrypted = Buffer.concat(out) + } + var tag = key.match(startRegex)[1] + return { + tag: tag, + data: decrypted + } +} + +},{"browserify-aes":21,"evp_bytestokey":84,"safe-buffer":163}],129:[function(require,module,exports){ +var asn1 = require('./asn1') +var aesid = require('./aesid.json') +var fixProc = require('./fixProc') +var ciphers = require('browserify-aes') +var compat = require('pbkdf2') +var Buffer = require('safe-buffer').Buffer +module.exports = parseKeys + +function parseKeys (buffer) { + var password + if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) { + password = buffer.passphrase + buffer = buffer.key + } + if (typeof buffer === 'string') { + buffer = Buffer.from(buffer) + } + + var stripped = fixProc(buffer, password) + + var type = stripped.tag + var data = stripped.data + var subtype, ndata + switch (type) { + case 'CERTIFICATE': + ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo + // falls through + case 'PUBLIC KEY': + if (!ndata) { + ndata = asn1.PublicKey.decode(data, 'der') + } + subtype = ndata.algorithm.algorithm.join('.') + switch (subtype) { + case '1.2.840.113549.1.1.1': + return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der') + case '1.2.840.10045.2.1': + ndata.subjectPrivateKey = ndata.subjectPublicKey + return { + type: 'ec', + data: ndata + } + case '1.2.840.10040.4.1': + ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der') + return { + type: 'dsa', + data: ndata.algorithm.params + } + default: throw new Error('unknown key id ' + subtype) + } + throw new Error('unknown key type ' + type) + case 'ENCRYPTED PRIVATE KEY': + data = asn1.EncryptedPrivateKey.decode(data, 'der') + data = decrypt(data, password) + // falls through + case 'PRIVATE KEY': + ndata = asn1.PrivateKey.decode(data, 'der') + subtype = ndata.algorithm.algorithm.join('.') + switch (subtype) { + case '1.2.840.113549.1.1.1': + return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der') + case '1.2.840.10045.2.1': + return { + curve: ndata.algorithm.curve, + privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey + } + case '1.2.840.10040.4.1': + ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der') + return { + type: 'dsa', + params: ndata.algorithm.params + } + default: throw new Error('unknown key id ' + subtype) + } + throw new Error('unknown key type ' + type) + case 'RSA PUBLIC KEY': + return asn1.RSAPublicKey.decode(data, 'der') + case 'RSA PRIVATE KEY': + return asn1.RSAPrivateKey.decode(data, 'der') + case 'DSA PRIVATE KEY': + return { + type: 'dsa', + params: asn1.DSAPrivateKey.decode(data, 'der') + } + case 'EC PRIVATE KEY': + data = asn1.ECPrivateKey.decode(data, 'der') + return { + curve: data.parameters.value, + privateKey: data.privateKey + } + default: throw new Error('unknown key type ' + type) + } +} +parseKeys.signature = asn1.signature +function decrypt (data, password) { + var salt = data.algorithm.decrypt.kde.kdeparams.salt + var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10) + var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')] + var iv = data.algorithm.decrypt.cipher.iv + var cipherText = data.subjectPrivateKey + var keylen = parseInt(algo.split('-')[1], 10) / 8 + var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1') + var cipher = ciphers.createDecipheriv(algo, key, iv) + var out = [] + out.push(cipher.update(cipherText)) + out.push(cipher.final()) + return Buffer.concat(out) +} + +},{"./aesid.json":125,"./asn1":126,"./fixProc":128,"browserify-aes":21,"pbkdf2":130,"safe-buffer":163}],130:[function(require,module,exports){ +exports.pbkdf2 = require('./lib/async') +exports.pbkdf2Sync = require('./lib/sync') + +},{"./lib/async":131,"./lib/sync":134}],131:[function(require,module,exports){ +(function (process,global){ +var checkParameters = require('./precondition') +var defaultEncoding = require('./default-encoding') +var sync = require('./sync') +var Buffer = require('safe-buffer').Buffer + +var ZERO_BUF +var subtle = global.crypto && global.crypto.subtle +var toBrowser = { + 'sha': 'SHA-1', + 'sha-1': 'SHA-1', + 'sha1': 'SHA-1', + 'sha256': 'SHA-256', + 'sha-256': 'SHA-256', + 'sha384': 'SHA-384', + 'sha-384': 'SHA-384', + 'sha-512': 'SHA-512', + 'sha512': 'SHA-512' +} +var checks = [] +function checkNative (algo) { + if (global.process && !global.process.browser) { + return Promise.resolve(false) + } + if (!subtle || !subtle.importKey || !subtle.deriveBits) { + return Promise.resolve(false) + } + if (checks[algo] !== undefined) { + return checks[algo] + } + ZERO_BUF = ZERO_BUF || Buffer.alloc(8) + var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo) + .then(function () { + return true + }).catch(function () { + return false + }) + checks[algo] = prom + return prom +} + +function browserPbkdf2 (password, salt, iterations, length, algo) { + return subtle.importKey( + 'raw', password, {name: 'PBKDF2'}, false, ['deriveBits'] + ).then(function (key) { + return subtle.deriveBits({ + name: 'PBKDF2', + salt: salt, + iterations: iterations, + hash: { + name: algo + } + }, key, length << 3) + }).then(function (res) { + return Buffer.from(res) + }) +} + +function resolvePromise (promise, callback) { + promise.then(function (out) { + process.nextTick(function () { + callback(null, out) + }) + }, function (e) { + process.nextTick(function () { + callback(e) + }) + }) +} +module.exports = function (password, salt, iterations, keylen, digest, callback) { + if (typeof digest === 'function') { + callback = digest + digest = undefined + } + + digest = digest || 'sha1' + var algo = toBrowser[digest.toLowerCase()] + + if (!algo || typeof global.Promise !== 'function') { + return process.nextTick(function () { + var out + try { + out = sync(password, salt, iterations, keylen, digest) + } catch (e) { + return callback(e) + } + callback(null, out) + }) + } + + checkParameters(password, salt, iterations, keylen) + if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2') + if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) + if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) + + resolvePromise(checkNative(algo).then(function (resp) { + if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo) + + return sync(password, salt, iterations, keylen, digest) + }), callback) +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./default-encoding":132,"./precondition":133,"./sync":134,"_process":136,"safe-buffer":163}],132:[function(require,module,exports){ +(function (process){ +var defaultEncoding +/* istanbul ignore next */ +if (process.browser) { + defaultEncoding = 'utf-8' +} else { + var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10) + + defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary' +} +module.exports = defaultEncoding + +}).call(this,require('_process')) +},{"_process":136}],133:[function(require,module,exports){ +(function (Buffer){ +var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs + +function checkBuffer (buf, name) { + if (typeof buf !== 'string' && !Buffer.isBuffer(buf)) { + throw new TypeError(name + ' must be a buffer or string') + } +} + +module.exports = function (password, salt, iterations, keylen) { + checkBuffer(password, 'Password') + checkBuffer(salt, 'Salt') + + if (typeof iterations !== 'number') { + throw new TypeError('Iterations not a number') + } + + if (iterations < 0) { + throw new TypeError('Bad iterations') + } + + if (typeof keylen !== 'number') { + throw new TypeError('Key length not a number') + } + + if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */ + throw new TypeError('Bad key length') + } +} + +}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) +},{"../../is-buffer/index.js":118}],134:[function(require,module,exports){ +var md5 = require('create-hash/md5') +var RIPEMD160 = require('ripemd160') +var sha = require('sha.js') + +var checkParameters = require('./precondition') +var defaultEncoding = require('./default-encoding') +var Buffer = require('safe-buffer').Buffer +var ZEROS = Buffer.alloc(128) +var sizes = { + md5: 16, + sha1: 20, + sha224: 28, + sha256: 32, + sha384: 48, + sha512: 64, + rmd160: 20, + ripemd160: 20 +} + +function Hmac (alg, key, saltLen) { + var hash = getDigest(alg) + var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64 + + if (key.length > blocksize) { + key = hash(key) + } else if (key.length < blocksize) { + key = Buffer.concat([key, ZEROS], blocksize) + } + + var ipad = Buffer.allocUnsafe(blocksize + sizes[alg]) + var opad = Buffer.allocUnsafe(blocksize + sizes[alg]) + for (var i = 0; i < blocksize; i++) { + ipad[i] = key[i] ^ 0x36 + opad[i] = key[i] ^ 0x5C + } + + var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4) + ipad.copy(ipad1, 0, 0, blocksize) + this.ipad1 = ipad1 + this.ipad2 = ipad + this.opad = opad + this.alg = alg + this.blocksize = blocksize + this.hash = hash + this.size = sizes[alg] +} + +Hmac.prototype.run = function (data, ipad) { + data.copy(ipad, this.blocksize) + var h = this.hash(ipad) + h.copy(this.opad, this.blocksize) + return this.hash(this.opad) +} + +function getDigest (alg) { + function shaFunc (data) { + return sha(alg).update(data).digest() + } + function rmd160Func (data) { + return new RIPEMD160().update(data).digest() + } + + if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func + if (alg === 'md5') return md5 + return shaFunc +} + +function pbkdf2 (password, salt, iterations, keylen, digest) { + checkParameters(password, salt, iterations, keylen) + + if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) + if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) + + digest = digest || 'sha1' + + var hmac = new Hmac(digest, password, salt.length) + + var DK = Buffer.allocUnsafe(keylen) + var block1 = Buffer.allocUnsafe(salt.length + 4) + salt.copy(block1, 0, 0, salt.length) + + var destPos = 0 + var hLen = sizes[digest] + var l = Math.ceil(keylen / hLen) + + for (var i = 1; i <= l; i++) { + block1.writeUInt32BE(i, salt.length) + + var T = hmac.run(block1, hmac.ipad1) + var U = T + + for (var j = 1; j < iterations; j++) { + U = hmac.run(U, hmac.ipad2) + for (var k = 0; k < hLen; k++) T[k] ^= U[k] + } + + T.copy(DK, destPos) + destPos += hLen + } + + return DK +} + +module.exports = pbkdf2 + +},{"./default-encoding":132,"./precondition":133,"create-hash/md5":52,"ripemd160":161,"safe-buffer":163,"sha.js":166}],135:[function(require,module,exports){ +(function (process){ +'use strict'; + +if (typeof process === 'undefined' || + !process.version || + process.version.indexOf('v0.') === 0 || + process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { + module.exports = { nextTick: nextTick }; +} else { + module.exports = process +} + +function nextTick(fn, arg1, arg2, arg3) { + if (typeof fn !== 'function') { + throw new TypeError('"callback" argument must be a function'); + } + var len = arguments.length; + var args, i; + switch (len) { + case 0: + case 1: + return process.nextTick(fn); + case 2: + return process.nextTick(function afterTickOne() { + fn.call(null, arg1); + }); + case 3: + return process.nextTick(function afterTickTwo() { + fn.call(null, arg1, arg2); + }); + case 4: + return process.nextTick(function afterTickThree() { + fn.call(null, arg1, arg2, arg3); + }); + default: + args = new Array(len - 1); + i = 0; + while (i < args.length) { + args[i++] = arguments[i]; + } + return process.nextTick(function afterTick() { + fn.apply(null, args); + }); + } +} + + +}).call(this,require('_process')) +},{"_process":136}],136:[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; }; + +},{}],137:[function(require,module,exports){ +exports.publicEncrypt = require('./publicEncrypt') +exports.privateDecrypt = require('./privateDecrypt') + +exports.privateEncrypt = function privateEncrypt (key, buf) { + return exports.publicEncrypt(key, buf, true) +} + +exports.publicDecrypt = function publicDecrypt (key, buf) { + return exports.privateDecrypt(key, buf, true) +} + +},{"./privateDecrypt":139,"./publicEncrypt":140}],138:[function(require,module,exports){ +var createHash = require('create-hash') +var Buffer = require('safe-buffer').Buffer + +module.exports = function (seed, len) { + var t = Buffer.alloc(0) + var i = 0 + var c + while (t.length < len) { + c = i2ops(i++) + t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()]) + } + return t.slice(0, len) +} + +function i2ops (c) { + var out = Buffer.allocUnsafe(4) + out.writeUInt32BE(c, 0) + return out +} + +},{"create-hash":51,"safe-buffer":163}],139:[function(require,module,exports){ +var parseKeys = require('parse-asn1') +var mgf = require('./mgf') +var xor = require('./xor') +var BN = require('bn.js') +var crt = require('browserify-rsa') +var createHash = require('create-hash') +var withPublic = require('./withPublic') +var Buffer = require('safe-buffer').Buffer + +module.exports = function privateDecrypt (privateKey, enc, reverse) { + var padding + if (privateKey.padding) { + padding = privateKey.padding + } else if (reverse) { + padding = 1 + } else { + padding = 4 + } + + var key = parseKeys(privateKey) + var k = key.modulus.byteLength() + if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) { + throw new Error('decryption error') + } + var msg + if (reverse) { + msg = withPublic(new BN(enc), key) + } else { + msg = crt(enc, key) + } + var zBuffer = Buffer.alloc(k - msg.length) + msg = Buffer.concat([zBuffer, msg], k) + if (padding === 4) { + return oaep(key, msg) + } else if (padding === 1) { + return pkcs1(key, msg, reverse) + } else if (padding === 3) { + return msg + } else { + throw new Error('unknown padding') + } +} + +function oaep (key, msg) { + var k = key.modulus.byteLength() + var iHash = createHash('sha1').update(Buffer.alloc(0)).digest() + var hLen = iHash.length + if (msg[0] !== 0) { + throw new Error('decryption error') + } + var maskedSeed = msg.slice(1, hLen + 1) + var maskedDb = msg.slice(hLen + 1) + var seed = xor(maskedSeed, mgf(maskedDb, hLen)) + var db = xor(maskedDb, mgf(seed, k - hLen - 1)) + if (compare(iHash, db.slice(0, hLen))) { + throw new Error('decryption error') + } + var i = hLen + while (db[i] === 0) { + i++ + } + if (db[i++] !== 1) { + throw new Error('decryption error') + } + return db.slice(i) +} + +function pkcs1 (key, msg, reverse) { + var p1 = msg.slice(0, 2) + var i = 2 + var status = 0 + while (msg[i++] !== 0) { + if (i >= msg.length) { + status++ + break + } + } + var ps = msg.slice(2, i - 1) + + if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) { + status++ + } + if (ps.length < 8) { + status++ + } + if (status) { + throw new Error('decryption error') + } + return msg.slice(i) +} +function compare (a, b) { + a = Buffer.from(a) + b = Buffer.from(b) + var dif = 0 + var len = a.length + if (a.length !== b.length) { + dif++ + len = Math.min(a.length, b.length) + } + var i = -1 + while (++i < len) { + dif += (a[i] ^ b[i]) + } + return dif +} + +},{"./mgf":138,"./withPublic":141,"./xor":142,"bn.js":16,"browserify-rsa":39,"create-hash":51,"parse-asn1":129,"safe-buffer":163}],140:[function(require,module,exports){ +var parseKeys = require('parse-asn1') +var randomBytes = require('randombytes') +var createHash = require('create-hash') +var mgf = require('./mgf') +var xor = require('./xor') +var BN = require('bn.js') +var withPublic = require('./withPublic') +var crt = require('browserify-rsa') +var Buffer = require('safe-buffer').Buffer + +module.exports = function publicEncrypt (publicKey, msg, reverse) { + var padding + if (publicKey.padding) { + padding = publicKey.padding + } else if (reverse) { + padding = 1 + } else { + padding = 4 + } + var key = parseKeys(publicKey) + var paddedMsg + if (padding === 4) { + paddedMsg = oaep(key, msg) + } else if (padding === 1) { + paddedMsg = pkcs1(key, msg, reverse) + } else if (padding === 3) { + paddedMsg = new BN(msg) + if (paddedMsg.cmp(key.modulus) >= 0) { + throw new Error('data too long for modulus') + } + } else { + throw new Error('unknown padding') + } + if (reverse) { + return crt(paddedMsg, key) + } else { + return withPublic(paddedMsg, key) + } +} + +function oaep (key, msg) { + var k = key.modulus.byteLength() + var mLen = msg.length + var iHash = createHash('sha1').update(Buffer.alloc(0)).digest() + var hLen = iHash.length + var hLen2 = 2 * hLen + if (mLen > k - hLen2 - 2) { + throw new Error('message too long') + } + var ps = Buffer.alloc(k - mLen - hLen2 - 2) + var dblen = k - hLen - 1 + var seed = randomBytes(hLen) + var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen)) + var maskedSeed = xor(seed, mgf(maskedDb, hLen)) + return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k)) +} +function pkcs1 (key, msg, reverse) { + var mLen = msg.length + var k = key.modulus.byteLength() + if (mLen > k - 11) { + throw new Error('message too long') + } + var ps + if (reverse) { + ps = Buffer.alloc(k - mLen - 3, 0xff) + } else { + ps = nonZero(k - mLen - 3) + } + return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k)) +} +function nonZero (len) { + var out = Buffer.allocUnsafe(len) + var i = 0 + var cache = randomBytes(len * 2) + var cur = 0 + var num + while (i < len) { + if (cur === cache.length) { + cache = randomBytes(len * 2) + cur = 0 + } + num = cache[cur++] + if (num) { + out[i++] = num + } + } + return out +} + +},{"./mgf":138,"./withPublic":141,"./xor":142,"bn.js":16,"browserify-rsa":39,"create-hash":51,"parse-asn1":129,"randombytes":144,"safe-buffer":163}],141:[function(require,module,exports){ +var BN = require('bn.js') +var Buffer = require('safe-buffer').Buffer + +function withPublic (paddedMsg, key) { + return Buffer.from(paddedMsg + .toRed(BN.mont(key.modulus)) + .redPow(new BN(key.publicExponent)) + .fromRed() + .toArray()) +} + +module.exports = withPublic + +},{"bn.js":16,"safe-buffer":163}],142:[function(require,module,exports){ +module.exports = function xor (a, b) { + var len = a.length + var i = -1 + while (++i < len) { + a[i] ^= b[i] + } + return a +} + +},{}],143:[function(require,module,exports){ +(function (process,setImmediate){ +// vim:ts=4:sts=4:sw=4: +/*! + * + * Copyright 2009-2012 Kris Kowal under the terms of the MIT + * license found at http://github.com/kriskowal/q/raw/master/LICENSE + * + * With parts by Tyler Close + * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found + * at http://www.opensource.org/licenses/mit-license.html + * Forked at ref_send.js version: 2009-05-11 + * + * With parts by Mark Miller + * Copyright (C) 2011 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (definition) { + // Turn off strict mode for this function so we can assign to global.Q + /* jshint strict: false */ + + // This file will function properly as a + +// Sets Math.random to a PRNG initialized using the given explicit seed. +Math.seedrandom('hello.'); +console.log(Math.random()); // Always 0.9282578795792454 +console.log(Math.random()); // Always 0.3752569768646784 + +// Sets Math.random to an ARC4-based PRNG that is autoseeded using the +// current time, dom state, and other accumulated local entropy. +// The generated seed string is returned. +Math.seedrandom(); +console.log(Math.random()); // Reasonably unpredictable. + +// Seeds using the given explicit seed mixed with accumulated entropy. +Math.seedrandom('added entropy.', { entropy: true }); +console.log(Math.random()); // As unpredictable as added entropy. + +// Use "new" to create a local prng without altering Math.random. +var myrng = new Math.seedrandom('hello.'); +console.log(myrng()); // Always 0.9282578795792454 + + +Node.js usage +------------- + +npm install seedrandom + +// Local PRNG: does not affect Math.random. +var seedrandom = require('seedrandom'); +var rng = seedrandom('hello.'); +console.log(rng()); // Always 0.9282578795792454 + +// Autoseeded ARC4-based PRNG. +rng = seedrandom(); +console.log(rng()); // Reasonably unpredictable. + +// Global PRNG: set Math.random. +seedrandom('hello.', { global: true }); +console.log(Math.random()); // Always 0.9282578795792454 + +// Mixing accumulated entropy. +rng = seedrandom('added entropy.', { entropy: true }); +console.log(rng()); // As unpredictable as added entropy. + + +Require.js usage +---------------- + +Similar to node.js usage: + +bower install seedrandom + +require(['seedrandom'], function(seedrandom) { + var rng = seedrandom('hello.'); + console.log(rng()); // Always 0.9282578795792454 +}); + + +Network seeding +--------------- + + + + + + + + + +Reseeding using user input +-------------------------- + +var seed = Math.seedrandom(); // Use prng with an automatic seed. +document.write(Math.random()); // Pretty much unpredictable x. + +var rng = new Math.seedrandom(seed); // A new prng with the same seed. +document.write(rng()); // Repeat the 'unpredictable' x. + +function reseed(event, count) { // Define a custom entropy collector. + var t = []; + function w(e) { + t.push([e.pageX, e.pageY, +new Date]); + if (t.length < count) { return; } + document.removeEventListener(event, w); + Math.seedrandom(t, { entropy: true }); + } + document.addEventListener(event, w); +} +reseed('mousemove', 100); // Reseed after 100 mouse moves. + +The "pass" option can be used to get both the prng and the seed. +The following returns both an autoseeded prng and the seed as an object, +without mutating Math.random: + +var obj = Math.seedrandom(null, { pass: function(prng, seed) { + return { random: prng, seed: seed }; +}}); + + +Saving and Restoring PRNG state +------------------------------- + +var seedrandom = Math.seedrandom; +var saveable = seedrandom("secret-seed", {state: true}); +for (var j = 0; j < 1e5; ++j) saveable(); +var saved = saveable.state(); +var replica = seedrandom("", {state: saved}); +assert(replica() == saveable()); + +In normal use the prng is opaque and its internal state cannot be accessed. +However, if the "state" option is specified, the prng gets a state() method +that returns a plain object the can be used to reconstruct a prng later in +the same state (by passing that saved object back as the state option). + + +Version notes +------------- + +The random number sequence is the same as version 1.0 for string seeds. +* Version 2.0 changed the sequence for non-string seeds. +* Version 2.1 speeds seeding and uses window.crypto to autoseed if present. +* Version 2.2 alters non-crypto autoseeding to sweep up entropy from plugins. +* Version 2.3 adds support for "new", module loading, and a null seed arg. +* Version 2.3.1 adds a build environment, module packaging, and tests. +* Version 2.3.4 fixes bugs on IE8, and switches to MIT license. +* Version 2.3.6 adds a readable options object argument. +* Version 2.3.10 adds support for node.js crypto (contributed by ctd1500). +* Version 2.3.11 adds an option to load and save internal state. + +The standard ARC4 key scheduler cycles short keys, which means that +seedrandom('ab') is equivalent to seedrandom('abab') and 'ababab'. +Therefore it is a good idea to add a terminator to avoid trivial +equivalences on short string seeds, e.g., Math.seedrandom(str + '\0'). +Starting with version 2.0, a terminator is added automatically for +non-string seeds, so seeding with the number 111 is the same as seeding +with '111\0'. + +When seedrandom() is called with zero args or a null seed, it uses a +seed drawn from the browser crypto object if present. If there is no +crypto support, seedrandom() uses the current time, the native rng, +and a walk of several DOM objects to collect a few bits of entropy. + +Each time the one- or two-argument forms of seedrandom are called, +entropy from the passed seed is accumulated in a pool to help generate +future seeds for the zero- and two-argument forms of seedrandom. + +On speed - This javascript implementation of Math.random() is several +times slower than the built-in Math.random() because it is not native +code, but that is typically fast enough. Some details (timings on +Chrome 25 on a 2010 vintage macbook): + +* seeded Math.random() - avg less than 0.0002 milliseconds per call +* seedrandom('explicit.') - avg less than 0.2 milliseconds per call +* seedrandom('explicit.', true) - avg less than 0.2 milliseconds per call +* seedrandom() with crypto - avg less than 0.2 milliseconds per call + +Autoseeding without crypto is somewhat slower, about 20-30 milliseconds on +a 2012 windows 7 1.5ghz i5 laptop, as seen on Firefox 19, IE 10, and Opera. +Seeded rng calls themselves are fast across these browsers, with slowest +numbers on Opera at about 0.0005 ms per seeded Math.random(). + + +LICENSE (MIT) +------------- + +Copyright 2014 David Bau. + +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. + +*/ + +/** + * All code is in an anonymous closure to keep the global namespace clean. + */ +(function ( + global, pool, math, width, chunks, digits, module, define, rngname) { + +// +// The following constants are related to IEEE 754 limits. +// +var startdenom = math.pow(width, chunks), + significance = math.pow(2, digits), + overflow = significance * 2, + mask = width - 1, + nodecrypto; + +// +// seedrandom() +// This is the seedrandom function described above. +// +var impl = math['seed' + rngname] = function(seed, options, callback) { + var key = []; + options = (options == true) ? { entropy: true } : (options || {}); + + // Flatten the seed string or build one from local entropy if needed. + var shortseed = mixkey(flatten( + options.entropy ? [seed, tostring(pool)] : + (seed == null) ? autoseed() : seed, 3), key); + + // Use the seed to initialize an ARC4 generator. + var arc4 = new ARC4(key); + + // Mix the randomness into accumulated entropy. + mixkey(tostring(arc4.S), pool); + + // Calling convention: what to return as a function of prng, seed, is_math. + return (options.pass || callback || + function(prng, seed, is_math_call, state) { + if (state) { + // Load the arc4 state from the given state if it has an S array. + if (state.S) { copy(state, arc4); } + // Only provide the .state method if requested via options.state. + prng.state = function() { return copy(arc4, {}); } + } + + // If called as a method of Math (Math.seedrandom()), mutate + // Math.random because that is how seedrandom.js has worked since v1.0. + if (is_math_call) { math[rngname] = prng; return seed; } + + // Otherwise, it is a newer calling convention, so return the + // prng directly. + else return prng; + })( + + // This function returns a random double in [0, 1) that contains + // randomness in every bit of the mantissa of the IEEE 754 value. + function() { + var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48 + d = startdenom, // and denominator d = 2 ^ 48. + x = 0; // and no 'extra last byte'. + while (n < significance) { // Fill up all significant digits by + n = (n + x) * width; // shifting numerator and + d *= width; // denominator and generating a + x = arc4.g(1); // new least-significant-byte. + } + while (n >= overflow) { // To avoid rounding up, before adding + n /= 2; // last byte, shift everything + d /= 2; // right using integer math until + x >>>= 1; // we have exactly the desired bits. + } + return (n + x) / d; // Form the number within [0, 1). + }, + shortseed, + 'global' in options ? options.global : (this == math), + options.state); +}; + +// +// ARC4 +// +// An ARC4 implementation. The constructor takes a key in the form of +// an array of at most (width) integers that should be 0 <= x < (width). +// +// The g(count) method returns a pseudorandom integer that concatenates +// the next (count) outputs from ARC4. Its return value is a number x +// that is in the range 0 <= x < (width ^ count). +// +/** @constructor */ +function ARC4(key) { + var t, keylen = key.length, + me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; + + // The empty key [] is treated as [0]. + if (!keylen) { key = [keylen++]; } + + // Set up S using the standard key scheduling algorithm. + while (i < width) { + s[i] = i++; + } + for (i = 0; i < width; i++) { + s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))]; + s[j] = t; + } + + // The "g" method returns the next (count) outputs as one number. + (me.g = function(count) { + // Using instance members instead of closure state nearly doubles speed. + var t, r = 0, + i = me.i, j = me.j, s = me.S; + while (count--) { + t = s[i = mask & (i + 1)]; + r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))]; + } + me.i = i; me.j = j; + return r; + // For robust unpredictability, the function call below automatically + // discards an initial batch of values. This is called RC4-drop[256]. + // See http://google.com/search?q=rsa+fluhrer+response&btnI + })(width); +} + +// +// copy() +// Copies internal state of ARC4 to or from a plain object. +// +function copy(f, t) { + t.i = f.i; + t.j = f.j; + t.S = f.S.slice(); + return t; +}; + +// +// flatten() +// Converts an object tree to nested arrays of strings. +// +function flatten(obj, depth) { + var result = [], typ = (typeof obj), prop; + if (depth && typ == 'object') { + for (prop in obj) { + try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {} + } + } + return (result.length ? result : typ == 'string' ? obj : obj + '\0'); +} + +// +// mixkey() +// Mixes a string seed into a key that is an array of integers, and +// returns a shortened string seed that is equivalent to the result key. +// +function mixkey(seed, key) { + var stringseed = seed + '', smear, j = 0; + while (j < stringseed.length) { + key[mask & j] = + mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++)); + } + return tostring(key); +} + +// +// autoseed() +// Returns an object for autoseeding, using window.crypto if available. +// +/** @param {Uint8Array|Navigator=} seed */ +function autoseed(seed) { + try { + if (nodecrypto) return tostring(nodecrypto.randomBytes(width)); + global.crypto.getRandomValues(seed = new Uint8Array(width)); + return tostring(seed); + } catch (e) { + return [+new Date, global, (seed = global.navigator) && seed.plugins, + global.screen, tostring(pool)]; + } +} + +// +// tostring() +// Converts an array of charcodes to a string +// +function tostring(a) { + return String.fromCharCode.apply(0, a); +} + +// +// When seedrandom.js is loaded, we immediately mix a few bits +// from the built-in RNG into the entropy pool. Because we do +// not want to interfere with deterministic PRNG state later, +// seedrandom will not call math.random on its own again after +// initialization. +// +mixkey(math[rngname](), pool); + +// +// Nodejs and AMD support: export the implementation as a module using +// either convention. +// +if (module && module.exports) { + module.exports = impl; + try { + // When in node.js, try using crypto package for autoseeding. + nodecrypto = require('crypto'); + } catch (ex) {} +} else if (define && define.amd) { + define(function() { return impl; }); +} + +// +// Node.js native crypto support. +// + +// End anonymous scope, and pass initial values. +})( + this, // global window object + [], // pool: entropy pool starts empty + Math, // math: package containing random, pow, and seedrandom + 256, // width: each RC4 output is 0 <= x < 256 + 6, // chunks: at least six RC4 outputs for each double + 52, // digits: there are 52 significant digits in a double + (typeof module) == 'object' && module, // present in node.js + (typeof define) == 'function' && define, // present with an AMD loader + 'random'// rngname: name for Math.random and Math.seedrandom +); + +},{"crypto":55}],165:[function(require,module,exports){ +var Buffer = require('safe-buffer').Buffer + +// prototype class for hash functions +function Hash (blockSize, finalSize) { + this._block = Buffer.alloc(blockSize) + this._finalSize = finalSize + this._blockSize = blockSize + this._len = 0 +} + +Hash.prototype.update = function (data, enc) { + if (typeof data === 'string') { + enc = enc || 'utf8' + data = Buffer.from(data, enc) + } + + var block = this._block + var blockSize = this._blockSize + var length = data.length + var accum = this._len + + for (var offset = 0; offset < length;) { + var assigned = accum % blockSize + var remainder = Math.min(length - offset, blockSize - assigned) + + for (var i = 0; i < remainder; i++) { + block[assigned + i] = data[offset + i] + } + + accum += remainder + offset += remainder + + if ((accum % blockSize) === 0) { + this._update(block) + } + } + + this._len += length + return this +} + +Hash.prototype.digest = function (enc) { + var rem = this._len % this._blockSize + + this._block[rem] = 0x80 + + // zero (rem + 1) trailing bits, where (rem + 1) is the smallest + // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize + this._block.fill(0, rem + 1) + + if (rem >= this._finalSize) { + this._update(this._block) + this._block.fill(0) + } + + var bits = this._len * 8 + + // uint32 + if (bits <= 0xffffffff) { + this._block.writeUInt32BE(bits, this._blockSize - 4) + + // uint64 + } else { + var lowBits = (bits & 0xffffffff) >>> 0 + var highBits = (bits - lowBits) / 0x100000000 + + this._block.writeUInt32BE(highBits, this._blockSize - 8) + this._block.writeUInt32BE(lowBits, this._blockSize - 4) + } + + this._update(this._block) + var hash = this._hash() + + return enc ? hash.toString(enc) : hash +} + +Hash.prototype._update = function () { + throw new Error('_update must be implemented by subclass') +} + +module.exports = Hash + +},{"safe-buffer":163}],166:[function(require,module,exports){ +var exports = module.exports = function SHA (algorithm) { + algorithm = algorithm.toLowerCase() + + var Algorithm = exports[algorithm] + if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)') + + return new Algorithm() +} + +exports.sha = require('./sha') +exports.sha1 = require('./sha1') +exports.sha224 = require('./sha224') +exports.sha256 = require('./sha256') +exports.sha384 = require('./sha384') +exports.sha512 = require('./sha512') + +},{"./sha":167,"./sha1":168,"./sha224":169,"./sha256":170,"./sha384":171,"./sha512":172}],167:[function(require,module,exports){ +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined + * in FIPS PUB 180-1 + * This source code is derived from sha1.js of the same repository. + * The difference between SHA-0 and SHA-1 is just a bitwise rotate left + * operation was added. + */ + +var inherits = require('inherits') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var K = [ + 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 +] + +var W = new Array(80) + +function Sha () { + this.init() + this._w = W + + Hash.call(this, 64, 56) +} + +inherits(Sha, Hash) + +Sha.prototype.init = function () { + this._a = 0x67452301 + this._b = 0xefcdab89 + this._c = 0x98badcfe + this._d = 0x10325476 + this._e = 0xc3d2e1f0 + + return this +} + +function rotl5 (num) { + return (num << 5) | (num >>> 27) +} + +function rotl30 (num) { + return (num << 30) | (num >>> 2) +} + +function ft (s, b, c, d) { + if (s === 0) return (b & c) | ((~b) & d) + if (s === 2) return (b & c) | (b & d) | (c & d) + return b ^ c ^ d +} + +Sha.prototype._update = function (M) { + var W = this._w + + var a = this._a | 0 + var b = this._b | 0 + var c = this._c | 0 + var d = this._d | 0 + var e = this._e | 0 + + for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) + for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16] + + for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20) + var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0 + + e = d + d = c + c = rotl30(b) + b = a + a = t + } + + this._a = (a + this._a) | 0 + this._b = (b + this._b) | 0 + this._c = (c + this._c) | 0 + this._d = (d + this._d) | 0 + this._e = (e + this._e) | 0 +} + +Sha.prototype._hash = function () { + var H = Buffer.allocUnsafe(20) + + H.writeInt32BE(this._a | 0, 0) + H.writeInt32BE(this._b | 0, 4) + H.writeInt32BE(this._c | 0, 8) + H.writeInt32BE(this._d | 0, 12) + H.writeInt32BE(this._e | 0, 16) + + return H +} + +module.exports = Sha + +},{"./hash":165,"inherits":117,"safe-buffer":163}],168:[function(require,module,exports){ +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS PUB 180-1 + * Version 2.1a Copyright Paul Johnston 2000 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ + +var inherits = require('inherits') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var K = [ + 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 +] + +var W = new Array(80) + +function Sha1 () { + this.init() + this._w = W + + Hash.call(this, 64, 56) +} + +inherits(Sha1, Hash) + +Sha1.prototype.init = function () { + this._a = 0x67452301 + this._b = 0xefcdab89 + this._c = 0x98badcfe + this._d = 0x10325476 + this._e = 0xc3d2e1f0 + + return this +} + +function rotl1 (num) { + return (num << 1) | (num >>> 31) +} + +function rotl5 (num) { + return (num << 5) | (num >>> 27) +} + +function rotl30 (num) { + return (num << 30) | (num >>> 2) +} + +function ft (s, b, c, d) { + if (s === 0) return (b & c) | ((~b) & d) + if (s === 2) return (b & c) | (b & d) | (c & d) + return b ^ c ^ d +} + +Sha1.prototype._update = function (M) { + var W = this._w + + var a = this._a | 0 + var b = this._b | 0 + var c = this._c | 0 + var d = this._d | 0 + var e = this._e | 0 + + for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) + for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]) + + for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20) + var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0 + + e = d + d = c + c = rotl30(b) + b = a + a = t + } + + this._a = (a + this._a) | 0 + this._b = (b + this._b) | 0 + this._c = (c + this._c) | 0 + this._d = (d + this._d) | 0 + this._e = (e + this._e) | 0 +} + +Sha1.prototype._hash = function () { + var H = Buffer.allocUnsafe(20) + + H.writeInt32BE(this._a | 0, 0) + H.writeInt32BE(this._b | 0, 4) + H.writeInt32BE(this._c | 0, 8) + H.writeInt32BE(this._d | 0, 12) + H.writeInt32BE(this._e | 0, 16) + + return H +} + +module.exports = Sha1 + +},{"./hash":165,"inherits":117,"safe-buffer":163}],169:[function(require,module,exports){ +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ + +var inherits = require('inherits') +var Sha256 = require('./sha256') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var W = new Array(64) + +function Sha224 () { + this.init() + + this._w = W // new Array(64) + + Hash.call(this, 64, 56) +} + +inherits(Sha224, Sha256) + +Sha224.prototype.init = function () { + this._a = 0xc1059ed8 + this._b = 0x367cd507 + this._c = 0x3070dd17 + this._d = 0xf70e5939 + this._e = 0xffc00b31 + this._f = 0x68581511 + this._g = 0x64f98fa7 + this._h = 0xbefa4fa4 + + return this +} + +Sha224.prototype._hash = function () { + var H = Buffer.allocUnsafe(28) + + H.writeInt32BE(this._a, 0) + H.writeInt32BE(this._b, 4) + H.writeInt32BE(this._c, 8) + H.writeInt32BE(this._d, 12) + H.writeInt32BE(this._e, 16) + H.writeInt32BE(this._f, 20) + H.writeInt32BE(this._g, 24) + + return H +} + +module.exports = Sha224 + +},{"./hash":165,"./sha256":170,"inherits":117,"safe-buffer":163}],170:[function(require,module,exports){ +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ + +var inherits = require('inherits') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var K = [ + 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, + 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, + 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, + 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, + 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, + 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, + 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, + 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, + 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, + 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, + 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, + 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, + 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, + 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, + 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, + 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2 +] + +var W = new Array(64) + +function Sha256 () { + this.init() + + this._w = W // new Array(64) + + Hash.call(this, 64, 56) +} + +inherits(Sha256, Hash) + +Sha256.prototype.init = function () { + this._a = 0x6a09e667 + this._b = 0xbb67ae85 + this._c = 0x3c6ef372 + this._d = 0xa54ff53a + this._e = 0x510e527f + this._f = 0x9b05688c + this._g = 0x1f83d9ab + this._h = 0x5be0cd19 + + return this +} + +function ch (x, y, z) { + return z ^ (x & (y ^ z)) +} + +function maj (x, y, z) { + return (x & y) | (z & (x | y)) +} + +function sigma0 (x) { + return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10) +} + +function sigma1 (x) { + return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7) +} + +function gamma0 (x) { + return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3) +} + +function gamma1 (x) { + return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10) +} + +Sha256.prototype._update = function (M) { + var W = this._w + + var a = this._a | 0 + var b = this._b | 0 + var c = this._c | 0 + var d = this._d | 0 + var e = this._e | 0 + var f = this._f | 0 + var g = this._g | 0 + var h = this._h | 0 + + for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) + for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0 + + for (var j = 0; j < 64; ++j) { + var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0 + var T2 = (sigma0(a) + maj(a, b, c)) | 0 + + h = g + g = f + f = e + e = (d + T1) | 0 + d = c + c = b + b = a + a = (T1 + T2) | 0 + } + + this._a = (a + this._a) | 0 + this._b = (b + this._b) | 0 + this._c = (c + this._c) | 0 + this._d = (d + this._d) | 0 + this._e = (e + this._e) | 0 + this._f = (f + this._f) | 0 + this._g = (g + this._g) | 0 + this._h = (h + this._h) | 0 +} + +Sha256.prototype._hash = function () { + var H = Buffer.allocUnsafe(32) + + H.writeInt32BE(this._a, 0) + H.writeInt32BE(this._b, 4) + H.writeInt32BE(this._c, 8) + H.writeInt32BE(this._d, 12) + H.writeInt32BE(this._e, 16) + H.writeInt32BE(this._f, 20) + H.writeInt32BE(this._g, 24) + H.writeInt32BE(this._h, 28) + + return H +} + +module.exports = Sha256 + +},{"./hash":165,"inherits":117,"safe-buffer":163}],171:[function(require,module,exports){ +var inherits = require('inherits') +var SHA512 = require('./sha512') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var W = new Array(160) + +function Sha384 () { + this.init() + this._w = W + + Hash.call(this, 128, 112) +} + +inherits(Sha384, SHA512) + +Sha384.prototype.init = function () { + this._ah = 0xcbbb9d5d + this._bh = 0x629a292a + this._ch = 0x9159015a + this._dh = 0x152fecd8 + this._eh = 0x67332667 + this._fh = 0x8eb44a87 + this._gh = 0xdb0c2e0d + this._hh = 0x47b5481d + + this._al = 0xc1059ed8 + this._bl = 0x367cd507 + this._cl = 0x3070dd17 + this._dl = 0xf70e5939 + this._el = 0xffc00b31 + this._fl = 0x68581511 + this._gl = 0x64f98fa7 + this._hl = 0xbefa4fa4 + + return this +} + +Sha384.prototype._hash = function () { + var H = Buffer.allocUnsafe(48) + + function writeInt64BE (h, l, offset) { + H.writeInt32BE(h, offset) + H.writeInt32BE(l, offset + 4) + } + + writeInt64BE(this._ah, this._al, 0) + writeInt64BE(this._bh, this._bl, 8) + writeInt64BE(this._ch, this._cl, 16) + writeInt64BE(this._dh, this._dl, 24) + writeInt64BE(this._eh, this._el, 32) + writeInt64BE(this._fh, this._fl, 40) + + return H +} + +module.exports = Sha384 + +},{"./hash":165,"./sha512":172,"inherits":117,"safe-buffer":163}],172:[function(require,module,exports){ +var inherits = require('inherits') +var Hash = require('./hash') +var Buffer = require('safe-buffer').Buffer + +var K = [ + 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, + 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, + 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, + 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, + 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, + 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, + 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, + 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, + 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, + 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, + 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, + 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, + 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, + 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, + 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, + 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, + 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, + 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, + 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, + 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, + 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, + 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, + 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, + 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, + 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, + 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, + 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, + 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, + 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, + 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, + 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, + 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, + 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, + 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, + 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, + 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, + 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, + 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, + 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, + 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 +] + +var W = new Array(160) + +function Sha512 () { + this.init() + this._w = W + + Hash.call(this, 128, 112) +} + +inherits(Sha512, Hash) + +Sha512.prototype.init = function () { + this._ah = 0x6a09e667 + this._bh = 0xbb67ae85 + this._ch = 0x3c6ef372 + this._dh = 0xa54ff53a + this._eh = 0x510e527f + this._fh = 0x9b05688c + this._gh = 0x1f83d9ab + this._hh = 0x5be0cd19 + + this._al = 0xf3bcc908 + this._bl = 0x84caa73b + this._cl = 0xfe94f82b + this._dl = 0x5f1d36f1 + this._el = 0xade682d1 + this._fl = 0x2b3e6c1f + this._gl = 0xfb41bd6b + this._hl = 0x137e2179 + + return this +} + +function Ch (x, y, z) { + return z ^ (x & (y ^ z)) +} + +function maj (x, y, z) { + return (x & y) | (z & (x | y)) +} + +function sigma0 (x, xl) { + return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25) +} + +function sigma1 (x, xl) { + return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23) +} + +function Gamma0 (x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7) +} + +function Gamma0l (x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25) +} + +function Gamma1 (x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6) +} + +function Gamma1l (x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26) +} + +function getCarry (a, b) { + return (a >>> 0) < (b >>> 0) ? 1 : 0 +} + +Sha512.prototype._update = function (M) { + var W = this._w + + var ah = this._ah | 0 + var bh = this._bh | 0 + var ch = this._ch | 0 + var dh = this._dh | 0 + var eh = this._eh | 0 + var fh = this._fh | 0 + var gh = this._gh | 0 + var hh = this._hh | 0 + + var al = this._al | 0 + var bl = this._bl | 0 + var cl = this._cl | 0 + var dl = this._dl | 0 + var el = this._el | 0 + var fl = this._fl | 0 + var gl = this._gl | 0 + var hl = this._hl | 0 + + for (var i = 0; i < 32; i += 2) { + W[i] = M.readInt32BE(i * 4) + W[i + 1] = M.readInt32BE(i * 4 + 4) + } + for (; i < 160; i += 2) { + var xh = W[i - 15 * 2] + var xl = W[i - 15 * 2 + 1] + var gamma0 = Gamma0(xh, xl) + var gamma0l = Gamma0l(xl, xh) + + xh = W[i - 2 * 2] + xl = W[i - 2 * 2 + 1] + var gamma1 = Gamma1(xh, xl) + var gamma1l = Gamma1l(xl, xh) + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7h = W[i - 7 * 2] + var Wi7l = W[i - 7 * 2 + 1] + + var Wi16h = W[i - 16 * 2] + var Wi16l = W[i - 16 * 2 + 1] + + var Wil = (gamma0l + Wi7l) | 0 + var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0 + Wil = (Wil + gamma1l) | 0 + Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0 + Wil = (Wil + Wi16l) | 0 + Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0 + + W[i] = Wih + W[i + 1] = Wil + } + + for (var j = 0; j < 160; j += 2) { + Wih = W[j] + Wil = W[j + 1] + + var majh = maj(ah, bh, ch) + var majl = maj(al, bl, cl) + + var sigma0h = sigma0(ah, al) + var sigma0l = sigma0(al, ah) + var sigma1h = sigma1(eh, el) + var sigma1l = sigma1(el, eh) + + // t1 = h + sigma1 + ch + K[j] + W[j] + var Kih = K[j] + var Kil = K[j + 1] + + var chh = Ch(eh, fh, gh) + var chl = Ch(el, fl, gl) + + var t1l = (hl + sigma1l) | 0 + var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0 + t1l = (t1l + chl) | 0 + t1h = (t1h + chh + getCarry(t1l, chl)) | 0 + t1l = (t1l + Kil) | 0 + t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0 + t1l = (t1l + Wil) | 0 + t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0 + + // t2 = sigma0 + maj + var t2l = (sigma0l + majl) | 0 + var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0 + + hh = gh + hl = gl + gh = fh + gl = fl + fh = eh + fl = el + el = (dl + t1l) | 0 + eh = (dh + t1h + getCarry(el, dl)) | 0 + dh = ch + dl = cl + ch = bh + cl = bl + bh = ah + bl = al + al = (t1l + t2l) | 0 + ah = (t1h + t2h + getCarry(al, t1l)) | 0 + } + + this._al = (this._al + al) | 0 + this._bl = (this._bl + bl) | 0 + this._cl = (this._cl + cl) | 0 + this._dl = (this._dl + dl) | 0 + this._el = (this._el + el) | 0 + this._fl = (this._fl + fl) | 0 + this._gl = (this._gl + gl) | 0 + this._hl = (this._hl + hl) | 0 + + this._ah = (this._ah + ah + getCarry(this._al, al)) | 0 + this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0 + this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0 + this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0 + this._eh = (this._eh + eh + getCarry(this._el, el)) | 0 + this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0 + this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0 + this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0 +} + +Sha512.prototype._hash = function () { + var H = Buffer.allocUnsafe(64) + + function writeInt64BE (h, l, offset) { + H.writeInt32BE(h, offset) + H.writeInt32BE(l, offset + 4) + } + + writeInt64BE(this._ah, this._al, 0) + writeInt64BE(this._bh, this._bl, 8) + writeInt64BE(this._ch, this._cl, 16) + writeInt64BE(this._dh, this._dl, 24) + writeInt64BE(this._eh, this._el, 32) + writeInt64BE(this._fh, this._fl, 40) + writeInt64BE(this._gh, this._gl, 48) + writeInt64BE(this._hh, this._hl, 56) + + return H +} + +module.exports = Sha512 + +},{"./hash":165,"inherits":117,"safe-buffer":163}],173:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; + +},{"./util":182}],174:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = require('./base64'); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + +},{"./base64":175}],175:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + +},{}],176:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + +},{}],177:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.MappingList = MappingList; + +},{"./util":182}],178:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + +},{}],179:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var binarySearch = require('./binary-search'); +var ArraySet = require('./array-set').ArraySet; +var base64VLQ = require('./base64-vlq'); +var quickSort = require('./quick-sort').quickSort; + +function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap) + : new BasicSourceMapConsumer(sourceMap); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + if (source != null && sourceRoot != null) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: Optional. the column number in the original source. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + if (this.sourceRoot != null) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + if (!this._sources.has(needle.source)) { + return []; + } + needle.source = this._sources.indexOf(needle.source); + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; + }, this); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + if (this.sourceRoot != null) { + source = util.join(this.sourceRoot, source); + } + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot != null) { + aSource = util.relative(this.sourceRoot, aSource); + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + if (this.sourceRoot != null) { + source = util.relative(this.sourceRoot, source); + } + if (!this._sources.has(source)) { + return { + line: null, + column: null, + lastColumn: null + }; + } + source = this._sources.indexOf(source); + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The only parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map')) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + if (section.consumer.sourceRoot !== null) { + source = util.join(section.consumer.sourceRoot, source); + } + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + +},{"./array-set":173,"./base64-vlq":174,"./binary-search":176,"./quick-sort":178,"./util":182}],180:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = require('./base64-vlq'); +var util = require('./util'); +var ArraySet = require('./array-set').ArraySet; +var MappingList = require('./mapping-list').MappingList; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; + +},{"./array-set":173,"./base64-vlq":174,"./mapping-list":177,"./util":182}],181:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; +var util = require('./util'); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex]; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; + +},{"./source-map-generator":180,"./util":182}],182:[function(require,module,exports){ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return mappingA.name - mappingB.name; +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return mappingA.name - mappingB.name; +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +},{}],183:[function(require,module,exports){ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; + +},{"./lib/source-map-consumer":179,"./lib/source-map-generator":180,"./lib/source-node":181}],184:[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. + +module.exports = Stream; + +var EE = require('events').EventEmitter; +var inherits = require('inherits'); + +inherits(Stream, EE); +Stream.Readable = require('readable-stream/readable.js'); +Stream.Writable = require('readable-stream/writable.js'); +Stream.Duplex = require('readable-stream/duplex.js'); +Stream.Transform = require('readable-stream/transform.js'); +Stream.PassThrough = require('readable-stream/passthrough.js'); + +// Backwards-compat with node 0.4.x +Stream.Stream = Stream; + + + +// old-style streams. Note that the pipe method (the only relevant +// part of this class) is overridden in the Readable class. + +function Stream() { + EE.call(this); +} + +Stream.prototype.pipe = function(dest, options) { + var source = this; + + function ondata(chunk) { + if (dest.writable) { + if (false === dest.write(chunk) && source.pause) { + source.pause(); + } + } + } + + source.on('data', ondata); + + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } + } + + dest.on('drain', ondrain); + + // If the 'end' option is not supplied, dest.end() will be called when + // source gets the 'end' or 'close' events. Only dest.end() once. + if (!dest._isStdio && (!options || options.end !== false)) { + source.on('end', onend); + source.on('close', onclose); + } + + var didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; + + dest.end(); + } + + + function onclose() { + if (didOnEnd) return; + didOnEnd = true; + + if (typeof dest.destroy === 'function') dest.destroy(); + } + + // don't leave dangling pipes when there are errors. + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, 'error') === 0) { + throw er; // Unhandled stream error in pipe. + } + } + + source.on('error', onerror); + dest.on('error', onerror); + + // remove all the event listeners that were added. + function cleanup() { + source.removeListener('data', ondata); + dest.removeListener('drain', ondrain); + + source.removeListener('end', onend); + source.removeListener('close', onclose); + + source.removeListener('error', onerror); + dest.removeListener('error', onerror); + + source.removeListener('end', cleanup); + source.removeListener('close', cleanup); + + dest.removeListener('close', cleanup); + } + + source.on('end', cleanup); + source.on('close', cleanup); + + dest.on('close', cleanup); + + dest.emit('pipe', source); + + // Allow for unix-like usage: A.pipe(B).pipe(C) + return dest; +}; + +},{"events":83,"inherits":117,"readable-stream/duplex.js":146,"readable-stream/passthrough.js":157,"readable-stream/readable.js":158,"readable-stream/transform.js":159,"readable-stream/writable.js":160}],185:[function(require,module,exports){ +'use strict'; + +var Buffer = require('safe-buffer').Buffer; + +var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; + } +}; + +function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } +}; + +// Do not cache `Buffer.isEncoding` when checking encoding names as some +// modules monkey-patch it to support additional encodings +function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; +} + +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. +exports.StringDecoder = StringDecoder; +function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); +} + +StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; +}; + +StringDecoder.prototype.end = utf8End; + +// Returns only complete characters in a Buffer +StringDecoder.prototype.text = utf8Text; + +// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer +StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; +}; + +// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a +// continuation byte. +function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return -1; +} + +// Checks at most 3 bytes at the end of a Buffer in order to detect an +// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) +// needed to complete the UTF-8 character (if applicable) are returned. +function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; + } + if (--j < i) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; + } + if (--j < i) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; +} + +// Validates as many continuation bytes for a multi-byte UTF-8 character as +// needed or are available. If we see a non-continuation byte where we expect +// one, we "replace" the validated continuation bytes we've seen so far with +// UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding +// behavior. The continuation byte check is included three times in the case +// where all of the continuation bytes for a character exist in the same buffer. +// It is also done this way as a slight performance increase instead of using a +// loop. +function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\ufffd'.repeat(p); + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\ufffd'.repeat(p + 1); + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\ufffd'.repeat(p + 2); + } + } + } +} + +// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. +function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; +} + +// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a +// partial character, the character's bytes are buffered until the required +// number of bytes are available. +function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); +} + +// For UTF-8, a replacement character for each buffered byte of a (partial) +// character needs to be added to the output. +function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\ufffd'.repeat(this.lastTotal - this.lastNeed); + return r; +} + +// UTF-16LE typically needs two bytes per character, but even if we have an even +// number of bytes available, we need to check if we end on a leading/high +// surrogate. In that case, we need to wait for the next two bytes in order to +// decode the last character properly. +function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); +} + +// For UTF-16LE we do not explicitly append special replacement characters if we +// end on a partial character, we simply let v8 handle that. +function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); + } + return r; +} + +function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); +} + +function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; +} + +// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) +function simpleWrite(buf) { + return buf.toString(this.encoding); +} + +function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; +} +},{"safe-buffer":186}],186:[function(require,module,exports){ +arguments[4][155][0].apply(exports,arguments) +},{"buffer":47,"dup":155}],187:[function(require,module,exports){ +(function (setImmediate,clearImmediate){ +var nextTick = require('process/browser.js').nextTick; +var apply = Function.prototype.apply; +var slice = Array.prototype.slice; +var immediateIds = {}; +var nextImmediateId = 0; + +// DOM APIs, for completeness + +exports.setTimeout = function() { + return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); +}; +exports.setInterval = function() { + return new Timeout(apply.call(setInterval, window, arguments), clearInterval); +}; +exports.clearTimeout = +exports.clearInterval = function(timeout) { timeout.close(); }; + +function Timeout(id, clearFn) { + this._id = id; + this._clearFn = clearFn; +} +Timeout.prototype.unref = Timeout.prototype.ref = function() {}; +Timeout.prototype.close = function() { + this._clearFn.call(window, this._id); +}; + +// Does not start the time, just sets up the members needed. +exports.enroll = function(item, msecs) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = msecs; +}; + +exports.unenroll = function(item) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = -1; +}; + +exports._unrefActive = exports.active = function(item) { + clearTimeout(item._idleTimeoutId); + + var msecs = item._idleTimeout; + if (msecs >= 0) { + item._idleTimeoutId = setTimeout(function onTimeout() { + if (item._onTimeout) + item._onTimeout(); + }, msecs); + } +}; + +// That's not how node.js implements it but the exposed api is the same. +exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { + var id = nextImmediateId++; + var args = arguments.length < 2 ? false : slice.call(arguments, 1); + + immediateIds[id] = true; + + nextTick(function onNextTick() { + if (immediateIds[id]) { + // fn.call() is faster so we optimize for the common use-case + // @see http://jsperf.com/call-apply-segu + if (args) { + fn.apply(null, args); + } else { + fn.call(null); + } + // Prevent ids from leaking + exports.clearImmediate(id); + } + }); + + return id; +}; + +exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { + delete immediateIds[id]; +}; +}).call(this,require("timers").setImmediate,require("timers").clearImmediate) +},{"process/browser.js":136,"timers":187}],188:[function(require,module,exports){ +(function (global){ + +/** + * Module exports. + */ + +module.exports = deprecate; + +/** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ + +function deprecate (fn, msg) { + if (config('noDeprecation')) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +} + +/** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ + +function config (name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],189:[function(require,module,exports){ +var indexOf = require('indexof'); + +var Object_keys = function (obj) { + if (Object.keys) return Object.keys(obj) + else { + var res = []; + for (var key in obj) res.push(key) + return res; + } +}; + +var forEach = function (xs, fn) { + if (xs.forEach) return xs.forEach(fn) + else for (var i = 0; i < xs.length; i++) { + fn(xs[i], i, xs); + } +}; + +var defineProp = (function() { + try { + Object.defineProperty({}, '_', {}); + return function(obj, name, value) { + Object.defineProperty(obj, name, { + writable: true, + enumerable: false, + configurable: true, + value: value + }) + }; + } catch(e) { + return function(obj, name, value) { + obj[name] = value; + }; + } +}()); + +var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', +'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', +'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', +'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', +'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; + +function Context() {} +Context.prototype = {}; + +var Script = exports.Script = function NodeScript (code) { + if (!(this instanceof Script)) return new Script(code); + this.code = code; +}; + +Script.prototype.runInContext = function (context) { + if (!(context instanceof Context)) { + throw new TypeError("needs a 'context' argument."); + } + + var iframe = document.createElement('iframe'); + if (!iframe.style) iframe.style = {}; + iframe.style.display = 'none'; + + document.body.appendChild(iframe); + + var win = iframe.contentWindow; + var wEval = win.eval, wExecScript = win.execScript; + + if (!wEval && wExecScript) { + // win.eval() magically appears when this is called in IE: + wExecScript.call(win, 'null'); + wEval = win.eval; + } + + forEach(Object_keys(context), function (key) { + win[key] = context[key]; + }); + forEach(globals, function (key) { + if (context[key]) { + win[key] = context[key]; + } + }); + + var winKeys = Object_keys(win); + + var res = wEval.call(win, this.code); + + forEach(Object_keys(win), function (key) { + // Avoid copying circular objects like `top` and `window` by only + // updating existing context properties or new properties in the `win` + // that was only introduced after the eval. + if (key in context || indexOf(winKeys, key) === -1) { + context[key] = win[key]; + } + }); + + forEach(globals, function (key) { + if (!(key in context)) { + defineProp(context, key, win[key]); + } + }); + + document.body.removeChild(iframe); + + return res; +}; + +Script.prototype.runInThisContext = function () { + return eval(this.code); // maybe... +}; + +Script.prototype.runInNewContext = function (context) { + var ctx = Script.createContext(context); + var res = this.runInContext(ctx); + + forEach(Object_keys(ctx), function (key) { + context[key] = ctx[key]; + }); + + return res; +}; + +forEach(Object_keys(Script.prototype), function (name) { + exports[name] = Script[name] = function (code) { + var s = Script(code); + return s[name].apply(s, [].slice.call(arguments, 1)); + }; +}); + +exports.createScript = function (code) { + return exports.Script(code); +}; + +exports.createContext = Script.createContext = function (context) { + var copy = new Context(); + if(typeof context === 'object') { + forEach(Object_keys(context), function (key) { + copy[key] = context[key]; + }); + } + return copy; +}; + +},{"indexof":116}],190:[function(require,module,exports){ +// +// When building a standalone, browserify will parse this file +// and produce a version which include each dependency that is required() +// +sexpr = require("s-expression"); +define("s-expression", [], function() {return sexpr;}); + +q = require("q"); +define("q", [], function() {return q;}); + +seedrandom = require("seedrandom"); +define("seedrandom", [], function() {return seedrandom;}); + +sourcemap = require("source-map"); +define("source-map", [], function () { return sourcemap; }); + +jssha256 = require("js-sha256"); +define("js-sha256", [], function () { return jssha256; }); + +fs = nodeRequire("fs"); +define("fs", [], function () { return fs; }); + +path = nodeRequire("path"); +define("path", [], function () { return path; }); + +http = nodeRequire("http"); +define("http", [], function () {return http;}); + + +},{"js-sha256":120,"q":143,"s-expression":162,"seedrandom":164,"source-map":183}]},{},[190]); +// Modifications to Danny Yoo's js-numbers library, whose LICENSE is: + +/* + +Licensing +--------- + +This software is covered under the following copyright: + + * + * Copyright (c) 2010 Danny Yoo + * All Rights Reserved. + * + * 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" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + * + +====================================================================== + +js-numbers uses code from the jsbn library. The LICENSE to it is: + +Licensing +--------- + +This software is covered under the following copyright: + + * + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * 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" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + * + +Address all questions regarding this license to: + + Tom Wu + tjw@cs.Stanford.EDU + +*/ + +/* + +No notion of levels (complex, exact, inexact, flonum). + +No complex numbers. + +Added roughnums. + +pyretnum := fixnum | boxnum + +A fixnum is simply a JS double, and we prefer to use them +whenever possible, viz., for integers that are small enough. + +boxnum := BigInteger | Rational | Roughnum. + +An integer is either a fixnum or a BigInteger. + +*/ + +define("pyret-base/js/js-numbers", function() { + 'use strict'; + // Abbreviation + var Numbers = {}; + + // makeNumericBinop: (fixnum fixnum -> any) (pyretnum pyretnum -> any) -> (pyretnum pyretnum) X + // Creates a binary function that works either on fixnums or boxnums. + // Applies the appropriate binary function, ensuring that both pyretnums are + // coerced to be the same kind. + var makeNumericBinop = function(onFixnums, onBoxednums, options) { + options = options || {}; + return function(x, y, errbacks) { + + if (options.isXSpecialCase && options.isXSpecialCase(x, errbacks)) + return options.onXSpecialCase(x, y, errbacks); + if (options.isYSpecialCase && options.isYSpecialCase(y, errbacks)) + return options.onYSpecialCase(x, y, errbacks); + + if (typeof(x) === 'number' && + typeof(y) === 'number') { + return onFixnums(x, y, errbacks); + } + + if (typeof(x) === 'number') { + x = liftFixnumInteger(x, y); + } + if (typeof(y) === 'number') { + y = liftFixnumInteger(y, x); + } + + if (x instanceof Roughnum) { + // y is rough, rat or bigint + if (!(y instanceof Roughnum)) { + // y is rat or bigint + y = y.toRoughnum(errbacks); + } + } else if (y instanceof Roughnum) { + // x is rat or bigint + x = x.toRoughnum(errbacks); + } else if (x instanceof Rational) { + // y is rat or bigint + if (!(y instanceof Rational)) { + // y is bigint + y = new Rational(y, 1); + } + } else if (y instanceof Rational) { + // x is bigint + x = new Rational(x, 1); + } + + return onBoxednums(x, y, errbacks); + }; + }; + + // fromFixnum: fixnum -> pyretnum + var fromFixnum = function(x, errbacks) { + if (!isFinite(x)) { + return Roughnum.makeInstance(x, errbacks); + } + var nf = Math.floor(x); + if (nf === x) { + if (isOverflow(nf)) { + return makeBignum(expandExponent(x+'')); + } else { + return nf; + } + } else { + // used to return float, now rational + var stringRep = x.toString(); + var match = stringRep.match(/^(.*)\.(.*)$/); + if (match) { + var afterDecimal = parseInt(match[2]); + var factorToInt = Math.pow(10, match[2].length); + var extraFactor = _integerGcd(factorToInt, afterDecimal); + var multFactor = factorToInt / extraFactor; + return Rational.makeInstance(Math.round(x*multFactor), Math.round(factorToInt/extraFactor), errbacks); + } else { + return Rational.makeInstance(x, 1, errbacks); + } + + } + }; + + var expandExponent = function(s) { + var match = s.match(scientificPattern), mantissaChunks, exponent; + if (match) { + mantissaChunks = match[1].match(/^([^.]*)(.*)$/); + exponent = Number(match[2]); + + if (mantissaChunks[2].length === 0) { + return mantissaChunks[1] + zfill(exponent); + } + + if (exponent >= mantissaChunks[2].length - 1) { + return (mantissaChunks[1] + + mantissaChunks[2].substring(1) + + zfill(exponent - (mantissaChunks[2].length - 1))); + } else { + return (mantissaChunks[1] + + mantissaChunks[2].substring(1, 1+exponent)); + } + } else { + return s; + } + }; + + // zfill: integer -> string + // builds a string of "0"'s of length n. + var zfill = function(n) { + var buffer = []; + buffer.length = n; + for (var i = 0; i < n; i++) { + buffer[i] = '0'; + } + return buffer.join(''); + }; + + // liftFixnumInteger: fixnum-integer boxed-pyretnum -> boxed-pyretnum + // Lifts up fixnum integers to a boxed type. + + var liftFixnumInteger = function(x, other, errbacks) { + if (other instanceof Roughnum) + return new Roughnum(x, errbacks); + else if (other instanceof BigInteger) + return makeBignum(x); + else + return new Rational(x, 1, errbacks); + }; + + + // isPyretNumber: any -> boolean + // Returns true if the thing is a pyretnum + var isPyretNumber = function(thing) { + return (typeof(thing) === 'number' + || (thing instanceof Rational || + thing instanceof Roughnum || + thing instanceof BigInteger)); + }; + + // isRational: pyretnum -> boolean + var isRational = function(n) { + return (typeof(n) === 'number' || + (isPyretNumber(n) && n.isRational())); + }; + + var isExact = isRational; + + // isReal: pyretnum -> boolean + var isReal = function(n) { + return (typeof(n) === 'number' || + (isPyretNumber(n) && n.isReal())); + }; + + // isInteger: pyretnum -> boolean + var isInteger = function(n) { + return (typeof(n) === 'number' || + (isPyretNumber(n) && n.isInteger())); + }; + + var isRoughnum = function(n) { + if (typeof(n) === 'number') { + return false; + } else { + return (isPyretNumber(n) && n.isRoughnum()); + } + }; + + var isPositive = function(n) { + if (typeof(n) === 'number') { + return n > 0; + } else { + return (isPyretNumber(n) && n.isPositive()); + } + }; + + var isNonPositive = function(n) { + if (typeof(n) === 'number') { + return n <= 0; + } else { + return (isPyretNumber(n) && n.isNonPositive()); + } + }; + + var isNegative = function(n) { + if (typeof(n) === 'number') { + return n < 0; + } else { + return (isPyretNumber(n) && n.isNegative()); + } + }; + + var isNonNegative = function(n) { + if (typeof(n) === 'number') { + return n >= 0; + } else { + return (isPyretNumber(n) && n.isNonNegative()); + } + }; + + // toFixnum: pyretnum -> javascript-number + var toFixnum = function(n) { + if (typeof(n) === 'number') + return n; + return n.toFixnum(); + }; + + // toRational: pyretnum -> pyretnum + var toRational = function(n, errbacks) { + if (typeof(n) === 'number') + return n; + return n.toRational(errbacks); + }; + + var toExact = toRational; + + // toRoughnum: pyretnum -> pyretnum + + var toRoughnum = function(n, errbacks) { + if (typeof(n) === 'number') { + return Roughnum.makeInstance(n, errbacks); + } else { + return n.toRoughnum(errbacks); + } + }; + + ////////////////////////////////////////////////////////////////////// + + // add: pyretnum pyretnum -> pyretnum + var add = function(x, y, errbacks) { + var sum; + if (typeof(x) === 'number' && typeof(y) === 'number') { + sum = x + y; + if (isOverflow(sum)) { + return (makeBignum(x)).add(makeBignum(y)); + } + else { + return sum; + } + } + return addSlow(x, y, errbacks); + }; + + var addSlow = makeNumericBinop( + function(x, y, errbacks) { + var sum = x + y; + if (isOverflow(sum)) { + return (makeBignum(x)).add(makeBignum(y)); + } else { + return sum; + } + }, + function(x, y, errbacks) { + return x.add(y); + }, + {isXSpecialCase: function(x, errbacks) { + return isInteger(x) && _integerIsZero(x) }, + onXSpecialCase: function(x, y, errbacks) { return y; }, + isYSpecialCase: function(y, errbacks) { + return isInteger(y) && _integerIsZero(y) }, + onYSpecialCase: function(x, y, errbacks) { return x; } + }); + + var subtract = function(x, y, errbacks) { + if (typeof(x) === 'number' && typeof(y) === 'number') { + var diff = x - y; + if (isOverflow(diff)) { + return (makeBignum(x)).subtract(makeBignum(y)); + } else { + return diff; + } + } + return subtractSlow(x, y, errbacks); + }; + + // subtract: pyretnum pyretnum -> pyretnum + var subtractSlow = makeNumericBinop( + function(x, y, errbacks) { + var diff = x - y; + if (isOverflow(diff)) { + return (makeBignum(x)).subtract(makeBignum(y)); + } else { + return diff; + } + }, + function(x, y, errbacks) { + return x.subtract(y); + }, + {isXSpecialCase: function(x, errbacks) { + return isInteger(x) && _integerIsZero(x) }, + onXSpecialCase: function(x, y, errbacks) { return negate(y, errbacks); }, + isYSpecialCase: function(y, errbacks) { + return isInteger(y) && _integerIsZero(y) }, + onYSpecialCase: function(x, y, errbacks) { return x; } + }); + + // mulitply: pyretnum pyretnum -> pyretnum + var multiply = function(x, y, errbacks) { + var prod; + if (typeof(x) === 'number' && typeof(y) === 'number') { + prod = x * y; + if (isOverflow(prod)) { + return (makeBignum(x)).multiply(makeBignum(y)); + } else { + return prod; + } + } + return multiplySlow(x, y, errbacks); + }; + var multiplySlow = makeNumericBinop( + function(x, y, errbacks) { + var prod = x * y; + if (isOverflow(prod)) { + return (makeBignum(x)).multiply(makeBignum(y), errbacks); + } else { + return prod; + } + }, + function(x, y, errbacks) { + return x.multiply(y, errbacks); + }, + {isXSpecialCase: function(x, errbacks) { + return (isInteger(x) && + (_integerIsZero(x) || _integerIsOne(x) || _integerIsNegativeOne(x))) }, + onXSpecialCase: function(x, y, errbacks) { + if (_integerIsZero(x)) + return 0; + if (_integerIsOne(x)) + return y; + if (_integerIsNegativeOne(x)) + return negate(y, errbacks); + }, + isYSpecialCase: function(y, errbacks) { + return (isInteger(y) && + (_integerIsZero(y) || _integerIsOne(y) || _integerIsNegativeOne(y)))}, + onYSpecialCase: function(x, y, errbacks) { + if (_integerIsZero(y)) + return 0; + if (_integerIsOne(y)) + return x; + if (_integerIsNegativeOne(y)) + return negate(x, errbacks); + } + }); + + // divide: pyretnum pyretnum -> pyretnum + var divide = makeNumericBinop( + function(x, y, errbacks) { + if (_integerIsZero(y)) + errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); + var div = x / y; + if (isOverflow(div)) { + return (makeBignum(x)).divide(makeBignum(y), errbacks); + } else if (Math.floor(div) !== div) { + return Rational.makeInstance(x, y, errbacks); + } else { + return div; + } + }, + function(x, y, errbacks) { + if (equalsAnyZero(y, errbacks)) { + errbacks.throwDivByZero('/: division by zero, ' + x + ' ' + y); + } + return x.divide(y, errbacks); + }, + { + isXSpecialCase: function(x, errbacks) { + return equalsAnyZero(x, errbacks); + }, + onXSpecialCase: function(x, y, errbacks) { + if (equalsAnyZero(y, errbacks)) { + errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); + } + return 0; + }, + isYSpecialCase: function(y, errbacks) { + return equalsAnyZero(y, errbacks); + }, + onYSpecialCase: function(x, y, errbacks) { + errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); + } + }); + + var equals = function(x, y, errbacks) { + if (x === y) { return true; } + else { + if (typeof x === "number" && typeof y === "number") { return false; } + else { + return equalsSlow(x, y, errbacks); + } + } + }; + // equals: pyretnum pyretnum -> boolean + var equalsSlow = makeNumericBinop( + function(x, y, errbacks) { + return x === y; + }, + function(x, y, errbacks) { + return x.equals(y, errbacks); + }); + + var equalsAnyZero = function(x, errbacks) { + if (typeof(x) === 'number') return x === 0; + if (isRoughnum(x)) return x.n === 0; + return x.equals(0, errbacks); + }; + + // eqv: pyretnum pyretnum -> boolean + var eqv = function(x, y, errbacks) { + if (x === y) + return true; + if (typeof(x) === 'number' && typeof(y) === 'number') + return x === y; + var ex = isRational(x), ey = isRational(y); + return (((ex && ey) || (!ex && !ey)) && equals(x, y, errbacks)); + }; + + // approxEqual: pyretnum pyretnum pyretnum -> boolean + var approxEquals = function(x, y, delta, errbacks) { + return lessThanOrEqual(abs(subtract(x, y, errbacks), errbacks), + delta, errbacks); + }; + + // used for within + var roughlyEquals = function(x, y, delta, errbacks) { + if (isNegative(delta)) { + errbacks.throwToleranceError("negative tolerance " + delta); + } + + if (x === y) return true; + + if (isRoughnum(delta) && delta.n === Number.MIN_VALUE) { + if ((isRoughnum(x) || isRoughnum(y)) && + (Math.abs(subtract(x,y).n) === Number.MIN_VALUE)) { + errbacks.throwToleranceError("roughnum tolerance too small for meaningful comparison, " + x + ' ' + y + ' ' + delta); + } + } + + var ratx = isRoughnum(x) ? x.toRational(errbacks) : x; + var raty = isRoughnum(y) ? y.toRational(errbacks) : y; + + var ratdelta = isRoughnum(delta) ? delta.toRational(errbacks) : delta; + return approxEquals(ratx, raty, ratdelta, errbacks); + }; + + var roughlyEqualsRel = function(computedValue, trueValue, delta, errbacks) { + if (isNegative(delta)) { + errbacks.throwRelToleranceError('negative relative tolerance ' + delta) + } + + if (computedValue === trueValue) { + return true + } + + var deltaIsRough = isRoughnum(delta) + var argNumsAreRough = isRoughnum(computedValue) || isRoughnum(trueValue) + + var ratCv = isRoughnum(computedValue) ? computedValue.toRational(errbacks) : computedValue + var ratTv = isRoughnum(trueValue) ? trueValue.toRational(errbacks) : trueValue + + var ratDelta = isRoughnum(delta) ? delta.toRational(errbacks): delta + + var err = abs(subtract(ratCv, ratTv, errbacks), errbacks) + + if (lessThanOrEqual(ratDelta, 1, errbacks)) { + var absDelta = multiply(ratDelta, abs(ratTv, errbacks), errbacks) + if (deltaIsRough && toRoughnum(absDelta, errbacks).n === Number.MIN_VALUE) { + if (argNumsAreRough && Math.abs(toRoughnum(err, errbacks).n) === Number.MIN_VALUE) { + errbacks.throwRelToleranceError('roughnum tolerance too small for meaningful comparison, ' + + computedValue + ' ' + trueValue + ' ' + delta) + } + } + + return lessThanOrEqual(err, absDelta, errbacks) + } else { + var errRatio = divide(err, abs(ratTv, errbacks), errbacks) + + if (deltaIsRough && delta.n === Number.MIN_VALUE) { + if (argNumsAreRough && Math.abs(toRoughnum(errRatio, errbacks).n) === Number.MIN_VALUE) { + errbacks.throwRelToleranceError('roughnum tolerance too small for meaningful comparison, ' + + computedValue + ' ' + trueValue + ' ' + delta) + } + } + + return lessThanOrEqual(errRatio, ratDelta, errbacks) + } + } + + // greaterThanOrEqual: pyretnum pyretnum -> boolean + var greaterThanOrEqual = function(x, y, errbacks) { + if(typeof x === "number" && typeof y === "number") { + return x >= y; + } + return makeNumericBinop(undefined, function(x, y, errbacks) { + return x.greaterThanOrEqual(y); + })(x, y, errbacks); + } + + // lessThanOrEqual: pyretnum pyretnum -> boolean + var lessThanOrEqual = function(x, y, errbacks) { + if(typeof x === "number" && typeof y === "number") { + return x <= y; + } + return makeNumericBinop(undefined, function(x, y, errbacks) { + return x.lessThanOrEqual(y); + })(x, y, errbacks); + }; + + // greaterThan: pyretnum pyretnum -> boolean + var greaterThan = function(x, y, errbacks) { + if(typeof x === "number" && typeof y === "number") { + return x > y; + } + return makeNumericBinop(undefined, function(x, y, errbacks) { + return x.greaterThan(y); + })(x, y, errbacks); + }; + + // lessThan: pyretnum pyretnum -> boolean + var lessThan = function(x, y, errbacks) { + if(typeof x === "number" && typeof y === "number") { + return x < y; + } + return makeNumericBinop(undefined, function(x, y, errbacks) { + return x.lessThan(y); + })(x, y, errbacks); + }; + + // expt: pyretnum pyretnum -> pyretnum + var expt = makeNumericBinop( + function(x, y, errbacks) { + var pow = Math.pow(x, y); + if (isOverflow(pow)) { + return (makeBignum(x)).expt(makeBignum(y)); + } else { + return pow; + } + }, + function(x, y, errbacks) { + return x.expt(y, errbacks); + }, + { + isXSpecialCase: function(x, errbacks) { + return eqv(x, 0, errbacks) || eqv(x, 1, errbacks); + }, + onXSpecialCase: function(x, y, errbacks) { + if (eqv(x, 0, errbacks)) { + if (eqv(y, 0, errbacks)) { + return 1; + } else if (lessThan(y, 0, errbacks)) { + errbacks.throwDivByZero("expt: division by zero"); + } else { + return 0; + } + } else { // i.e., x is 1 + return 1; + } + }, + + isYSpecialCase: function(y, errbacks) { + return eqv(y, 0, errbacks) || lessThan(y, 0, errbacks); + }, + onYSpecialCase: function(x, y, errbacks) { + if (eqv(y, 0, errbacks)) { + return 1; + } else { // i.e., y is negative + return expt(divide(1, x, errbacks), negate(y, errbacks), errbacks); + } + } + }); + + // exp: pyretnum -> pyretnum + var exp = function(n, errbacks) { + if ( eqv(n, 0, errbacks) ) { + return 1; + } + if (typeof(n) === 'number') { + var res = Math.exp(n); + if (!isFinite(res)) + errbacks.throwGeneralError('exp: argument too large: ' + n); + return Roughnum.makeInstance(res, errbacks); + } + return n.exp(errbacks); + }; + + // modulo: pyretnum pyretnum -> pyretnum + var modulo = function(m, n, errbacks) { + if (! isInteger(m)) { + errbacks.throwDomainError('modulo: the first argument ' + + m + " is not an integer.", m, n); + } + if (! isInteger(n)) { + errbacks.throwDomainError('modulo: the second argument ' + + n + " is not an integer.", m, n); + } + if (_integerIsZero(n)) { + errbacks.throwDomainError('modulo: the second argument is zero'); + } + var result; + if (typeof(m) === 'number') { + result = m % n; + if (n < 0) { + if (result <= 0) + return result; + else + return result + n; + } else { + if (result < 0) + return result + n; + else + return result; + } + } + result = _integerModulo(floor(m), floor(n)); + // The sign of the result should match the sign of n. + if (lessThan(n, 0, errbacks)) { + if (lessThanOrEqual(result, 0, errbacks)) { + return result; + } + return add(result, n, errbacks); + + } else { + if (lessThan(result, 0, errbacks)) { + return add(result, n, errbacks); + } + return result; + } + }; + + // numerator: pyretnum -> pyretnum + var numerator = function(n, errbacks) { + if (typeof(n) === 'number') + return n; + return n.numerator(); + }; + + // denominator: pyretnum -> pyretnum + var denominator = function(n, errbacks) { + if (typeof(n) === 'number') + return 1; + return n.denominator(); + }; + + // sqrt: pyretnum -> pyretnum + var sqrt = function(n, errbacks) { + if (lessThan(n, 0, errbacks)) { + errbacks.throwSqrtNegative('sqrt: negative argument ' + n); + } + if (typeof(n) === 'number') { + var result = Math.sqrt(n); + if (Math.floor(result) === result) { + return result; + } else { + return Roughnum.makeInstance(result, errbacks); + } + } + return n.sqrt(errbacks); + }; + + // abs: pyretnum -> pyretnum + var abs = function(n, errbacks) { + if (typeof(n) === 'number') { + return Math.abs(n); + } + return n.abs(errbacks); + }; + + // floor: pyretnum -> pyretnum + var floor = function(n, errbacks) { + if (typeof(n) === 'number') + return Math.floor(n); + return n.floor(errbacks); + }; + + // ceiling: pyretnum -> pyretnum + var ceiling = function(n, errbacks) { + if (typeof(n) === 'number') + return Math.ceil(n); + return n.ceiling(errbacks); + }; + + // round: pyretnum -> pyretnum + var round = function(n, errbacks) { + if (typeof(n) === 'number') { + return n; + } + return n.round(errbacks); + }; + + var roundEven = function(n, errbacks) { + if (typeof(n) === 'number') return n; + return n.roundEven(errbacks); + }; + + // NB: all of these trig-gy generic functions should now return roughnum rather than float + // (except for an arg of 0, etc) + + // log: pyretnum -> pyretnum + var log = function(n, errbacks) { + if ( eqv(n, 1, errbacks) ) { + return 0; + } + if (lessThanOrEqual(n, 0, errbacks)) { + errbacks.throwLogNonPositive('log: non-positive argument ' + n); + } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.log(n), errbacks); + } + return n.log(errbacks); + }; + + // tan: pyretnum -> pyretnum + var tan = function(n, errbacks) { + if (eqv(n, 0, errbacks)) { return 0; } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.tan(n), errbacks); + } + return n.tan(errbacks); + }; + + // atan: pyretnum -> pyretnum + var atan = function(n, errbacks) { + if (eqv(n, 0, errbacks)) { return 0; } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.atan(n), errbacks); + } + return n.atan(errbacks); + }; + + var atan2 = function(y, x, errbacks) { + if (eqv(x, 0, errbacks)) { // x = 0 + if (eqv(y, 0, errbacks)) { // x = 0, y = 0 + //return Roughnum.makeInstance(Infinity, errbacks); + errbacks.throwDomainError('atan2: out of domain argument (0, 0)'); + } else if (greaterThan(y, 0, errbacks)) { // x = 0, y > 0 + return Roughnum.makeInstance(Math.PI/2, errbacks); + } else { // x = 0, y < 0 + return Roughnum.makeInstance(3*Math.PI/2, errbacks); + } + } else if (greaterThan(x, 0, errbacks)) { // x > 0 + if (greaterThanOrEqual(y, 0, errbacks)) { // x > 0, y >= 0, 1st qdt + // atan(y/x) is already in the right qdt + return atan(divide(y, x, errbacks), errbacks); + } else { // x > 0, y < 0, 4th qdt + // atan(y/x) is the 4th qdt and negative, so make it positive by adding 2pi + return add(atan(divide(y, x, errbacks), errbacks), 2*Math.PI, errbacks); + } + } else { // x < 0 + // either x < 0, y >= 0 (2nd qdt), in which case + // atan(y/x) must be reflected from 4th to 2nd qdt, by adding pi + // or x < 0, y < 0 (3rd qdt), in which case + // atan(y/x) must be reflected from 1st to 3rd qdt, again by adding pi + return add(atan(divide(y, x, errbacks), errbacks), Math.PI, errbacks); + } + }; + + // cos: pyretnum -> pyretnum + var cos = function(n, errbacks) { + if (eqv(n, 0, errbacks)) { return 1; } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.cos(n), errbacks); + } + return n.cos(errbacks); + }; + + // sin: pyretnum -> pyretnum + var sin = function(n, errbacks) { + if (eqv(n, 0, errbacks)) { return 0; } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.sin(n), errbacks); + } + return n.sin(errbacks); + }; + + // acos: pyretnum -> pyretnum + var acos = function(n, errbacks) { + if (eqv(n, 1, errbacks)) { return 0; } + if (lessThan(n, -1, errbacks) || greaterThan(n, 1, errbacks)) { + errbacks.throwDomainError('acos: out of domain argument ' + n); + } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.acos(n), errbacks); + } + return n.acos(errbacks); + }; + + // asin: pyretnum -> pyretnum + var asin = function(n, errbacks) { + if (eqv(n, 0, errbacks)) { return 0; } + if (lessThan(n, -1, errbacks) || greaterThan(n, 1, errbacks)) { + errbacks.throwDomainError('asin: out of domain argument ' + n); + } + if (typeof(n) === 'number') { + return Roughnum.makeInstance(Math.asin(n), errbacks); + } + return n.asin(errbacks); + }; + + // sqr: pyretnum -> pyretnum + var sqr = function(x, errbacks) { + return multiply(x, x, errbacks); + }; + + // integerSqrt: pyretnum -> pyretnum + var integerSqrt = function(x, errbacks) { + if (! isInteger(x)) { + errbacks.throwDomainError('integer-sqrt: the argument ' + x.toString() + + " is not an integer.", x); + } + if (typeof (x) === 'number') { + if(x < 0) { + errbacks.throwSqrtNegative('integerSqrt of negative number', x); + } else { + return Math.floor(Math.sqrt(x)); + } + } + return x.integerSqrt(errbacks); + }; + + // gcd: pyretnum [pyretnum ...] -> pyretnum + var gcd = function(first, rest, errbacks) { + if (! isInteger(first)) { + errbacks.throwDomainError('gcd: the argument ' + first.toString() + + " is not an integer.", first); + } + var a = abs(first, errbacks), t, b; + for(var i = 0; i < rest.length; i++) { + b = abs(rest[i], errbacks); + if (! isInteger(b)) { + errbacks.throwDomainError('gcd: the argument ' + b.toString() + + " is not an integer.", b); + } + while (! _integerIsZero(b)) { + t = a; + a = b; + b = _integerModulo(t, b); + } + } + return a; + }; + + // lcm: pyretnum [pyretnum ...] -> pyretnum + var lcm = function(first, rest, errbacks) { + if (! isInteger(first)) { + errbacks.throwDomainError('lcm: the argument ' + first.toString() + + " is not an integer.", first); + } + var result = abs(first, errbacks); + if (_integerIsZero(result)) { return 0; } + for (var i = 0; i < rest.length; i++) { + if (! isInteger(rest[i])) { + errbacks.throwDomainError('lcm: the argument ' + rest[i].toString() + + " is not an integer.", rest[i]); + } + var divisor = _integerGcd(result, rest[i]); + if (_integerIsZero(divisor)) { + return 0; + } + result = divide(multiply(result, rest[i], errbacks), divisor, errbacks); + } + return result; + }; + + var quotient = function(x, y, errbacks) { + if (! isInteger(x)) { + errbacks.throwDomainError('quotient: the first argument ' + x.toString() + + " is not an integer.", x); + } + if (! isInteger(y)) { + errbacks.throwDomainError('quotient: the second argument ' + y.toString() + + " is not an integer.", y); + } + return _integerQuotient(x, y); + }; + + var remainder = function(x, y, errbacks) { + if (isInteger(x) && isInteger(y)) { + return _integerRemainder(x, y); + } else if (isRational(x) && isRational(y)) { + var xn = numerator(x); var xd = denominator(x); + var yn = numerator(y); var yd = denominator(y); + var new_d = lcm(xd, [yd], errbacks); + var new_xn = multiply(xn, divide(new_d, xd, errbacks), errbacks); + var new_yn = multiply(yn, divide(new_d, yd, errbacks), errbacks); + return divide(remainder(new_xn, new_yn, errbacks), new_d, errbacks); + } else { + var res = toFixnum(x) % toFixnum(y); + return Roughnum.makeInstance(res, errbacks); + } + }; + + ////////////////////////////////////////////////////////////////////// + + // Helpers + + // isOverflow: javascript-number -> boolean + // Returns true if we consider the number an overflow. + var MIN_FIXNUM = -(9e15); + var MAX_FIXNUM = (9e15); + var isOverflow = function(n) { + return (n < MIN_FIXNUM || MAX_FIXNUM < n); + }; + + // negate: pyretnum -> pyretnum + // multiplies a number times -1. + var negate = function(n, errbacks) { + if (typeof(n) === 'number') { + return -n; + } + return n.negate(errbacks); + }; + + // halve: pyretnum -> pyretnum + // Divide a number by 2. + var halve = function(n, errbacks) { + return divide(n, 2, errbacks); + }; + + // fastExpt: computes n^k by squaring. + // n^k = (n^2)^(k/2) + // Assumes k is non-negative integer. + var fastExpt = function(n, k, errbacks) { + var acc = 1; + while (true) { + if (_integerIsZero(k)) { + return acc; + } + if (equals(modulo(k, 2, errbacks), 0, errbacks)) { + n = multiply(n, n, errbacks); + k = divide(k, 2, errbacks); + } else { + acc = multiply(acc, n, errbacks); + k = subtract(k, 1, errbacks); + } + } + }; + + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + + // Integer operations + // Integers are either represented as fixnums or as BigIntegers. + + // makeIntegerBinop: (fixnum fixnum -> X) (BigInteger BigInteger -> X) -> X + // Helper to collect the common logic for coercing integer fixnums or bignums to a + // common type before doing an operation. + var makeIntegerBinop = function(onFixnums, onBignums, options) { + options = options || {}; + return (function(m, n) { + if (m instanceof Rational) { + m = numerator(m); + } + + if (n instanceof Rational) { + n = numerator(n); + } + + if (typeof(m) === 'number' && typeof(n) === 'number') { + var result = onFixnums(m, n); + if (! isOverflow(result) || + (options.ignoreOverflow)) { + return result; + } + } + if (m instanceof Roughnum || n instanceof Roughnum) { + return Roughnum.makeInstance( + onFixnums(toFixnum(m), toFixnum(n)), errbacks); + } + if (typeof(m) === 'number') { + m = makeBignum(m); + } + if (typeof(n) === 'number') { + n = makeBignum(n); + } + return onBignums(m, n); + }); + }; + + var makeIntegerUnOp = function(onFixnums, onBignums, options, errbacks) { + options = options || {}; + return (function(m) { + if (m instanceof Rational) { + m = numerator(m); + } + + if (typeof(m) === 'number') { + var result = onFixnums(m); + if (! isOverflow(result) || + (options.ignoreOverflow)) { + return result; + } + } + if (m instanceof Roughnum) { + return Roughnum.makeInstance(onFixnums(toFixnum(m)), errbacks); + } + if (typeof(m) === 'number') { + m = makeBignum(m); + } + return onBignums(m); + }); + }; + + // _integerModulo: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerModulo = makeIntegerBinop( + function(m, n) { + return m % n; + }, + function(m, n) { + return bnMod.call(m, n); + }); + + // _integerGcd: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerGcd = makeIntegerBinop( + function(a, b) { + var t; + while (b !== 0) { + t = a; + a = b; + b = t % b; + } + return a; + }, + function(m, n) { + return bnGCD.call(m, n); + }); + + // _integerIsZero: integer-pyretnum -> boolean + // Returns true if the number is zero. + var _integerIsZero = makeIntegerUnOp( + function(n){ + return n === 0; + }, + function(n) { + return bnEquals.call(n, BigInteger.ZERO); + } + ); + + // _integerIsOne: integer-pyretnum -> boolean + var _integerIsOne = makeIntegerUnOp( + function(n) { + return n === 1; + }, + function(n) { + return bnEquals.call(n, BigInteger.ONE); + }); + + // _integerIsNegativeOne: integer-pyretnum -> boolean + var _integerIsNegativeOne = makeIntegerUnOp( + function(n) { + return n === -1; + }, + function(n) { + return bnEquals.call(n, BigInteger.NEGATIVE_ONE); + }); + + // _integerAdd: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerAdd = makeIntegerBinop( + function(m, n) { + return m + n; + }, + function(m, n) { + return bnAdd.call(m, n); + }); + + // _integerSubtract: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerSubtract = makeIntegerBinop( + function(m, n) { + return m - n; + }, + function(m, n) { + return bnSubtract.call(m, n); + }); + + // _integerMultiply: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerMultiply = makeIntegerBinop( + function(m, n) { + return m * n; + }, + function(m, n) { + return bnMultiply.call(m, n); + }); + + //_integerQuotient: integer-pyretnum integer-pyretnum -> integer-pyretnum + var _integerQuotient = makeIntegerBinop( + function(m, n) { + return ((m - (m % n))/ n); + }, + function(m, n) { + return bnDivide.call(m, n); + }); + + var _integerRemainder = makeIntegerBinop( + function(m, n) { + return m % n; + }, + function(m, n) { + return bnRemainder.call(m, n); + }); + + // splitIntIntoMantissaExpt: integer-pyretnum -> [JS-double, JS-int] + // + // splitIntIntoMantissaExpt takes an integer s (either unboxed or BigInteger) + // and returns [mantissa, exponent] + // such that s ~= mantissa * 10^exponent. + // mantissa is a JS-double, and is chosen to have one non-zero digit + // to the left of the decimal point. + // Because mantissa is a JS-double, there is in general a loss of precision. + // splitIntIntoMantissaExpt is used to create a best-possible JS-double version + // of its argument arbitrarily precise integer. + // E.g., splitIntIntoMantissaExpt(256) returns + // [2.56, 2] + // splitIntIntoMantissaExpt(111222333444555666777888999) returns + // [1.1122233344455567, 26] + // + var splitIntIntoMantissaExpt = function(s) { + var str = s.toString(); + var c0 = str[0]; + var sign = ''; + + if (c0 === '-' || c0 === '+') { + str = str.substring(1); + if (c0 === '-') { + sign = '-'; + } + } + + var d0 = str[0]; + str = str.substring(1); + + var mantissa = Number(sign + d0 + '.' + str); + var expt = str.length; + + return [mantissa, expt]; + }; + + // _integerDivideToFixnum: integer-pyretnum integer-pyretnum -> fixnum + // + // _integerDivideToFixnum takes two integers (possibly BigIntegers) and + // returns the best fixnum representing their quotient. + // If the args are both JS-doubles, the JS quotient is returned if it + // doesn't overflow. + // If it does overflow, or if at least one of the args is a BigInt, then + // splitIntIntoMantissaExpt is used to convert the args to + // [mantissa, exponent] form. The result a*10^b, where + // a = the mantissae's quotient, and + // b = the exponents' difference + // + var _integerDivideToFixnum = makeIntegerBinop( + function(m, n) { + return m / n; + }, + function(m, n) { + var xm = splitIntIntoMantissaExpt(m); + var xn = splitIntIntoMantissaExpt(n); + var r = Number(String(xm[0] / xn[0]) + 'e' + + String(xm[1] - xn[1])); + return r; + }, + { ignoreOverflow: false, + doNotCoerceToFloating: true + } + ); + + // _integerEquals: integer-pyretnum integer-pyretnum -> boolean + var _integerEquals = makeIntegerBinop( + function(m, n) { + return m === n; + }, + function(m, n) { + return bnEquals.call(m, n); + }, + {doNotCoerceToFloating: true}); + + // _integerGreaterThan: integer-pyretnum integer-pyretnum -> boolean + var _integerGreaterThan = makeIntegerBinop( + function(m, n) { + return m > n; + }, + function(m, n) { + return bnCompareTo.call(m, n) > 0; + }, + {doNotCoerceToFloating: true}); + + // _integerLessThan: integer-pyretnum integer-pyretnum -> boolean + var _integerLessThan = makeIntegerBinop( + function(m, n) { + return m < n; + }, + function(m, n) { + return bnCompareTo.call(m, n) < 0; + }, + {doNotCoerceToFloating: true}); + + // _integerGreaterThanOrEqual: integer-pyretnum integer-pyretnum -> boolean + var _integerGreaterThanOrEqual = makeIntegerBinop( + function(m, n) { + return m >= n; + }, + function(m, n) { + return bnCompareTo.call(m, n) >= 0; + }, + {doNotCoerceToFloating: true}); + + // _integerLessThanOrEqual: integer-pyretnum integer-pyretnum -> boolean + var _integerLessThanOrEqual = makeIntegerBinop( + function(m, n) { + return m <= n; + }, + function(m, n) { + return bnCompareTo.call(m, n) <= 0; + }, + {doNotCoerceToFloating: true}); + + ////////////////////////////////////////////////////////////////////// + // The boxed number types are expected to implement the following + // interface. + // + // toString: -> string + + // isFinite: -> boolean + + // isInteger: -> boolean + // Produce true if this number can be coerced into an integer. + + // isRational: -> boolean + // Produce true if the number is rational. + + // isExact === isRational + + // isReal: -> boolean + // Produce true if the number is real. + + // toRational: -> pyretnum + // Produce an exact number. + + // toExact === toRational + + // toRoughnum: -> pyretnum + // Produce a roughnum. + + // toFixnum: -> fixnum + // Produce a javascript number. + + // greaterThan: pyretnum -> boolean + // Compare against instance of the same type. + + // greaterThanOrEqual: pyretnum -> boolean + // Compare against instance of the same type. + + // lessThan: pyretnum -> boolean + // Compare against instance of the same type. + + // lessThanOrEqual: pyretnum -> boolean + // Compare against instance of the same type. + + // add: pyretnum -> pyretnum + // Add with an instance of the same type. + + // subtract: pyretnum -> pyretnum + // Subtract with an instance of the same type. + + // multiply: pyretnum -> pyretnum + // Multiply with an instance of the same type. + + // divide: pyretnum -> pyretnum + // Divide with an instance of the same type. + + // numerator: -> pyretnum + // Return the numerator. + + // denominator: -> pyretnum + // Return the denominator. + + // integerSqrt: -> pyretnum + // Produce the integer square root. + + // sqrt: -> pyretnum + // Produce the square root. + + // abs: -> pyretnum + // Produce the absolute value. + + // floor: -> pyretnum + // Produce the floor. + + // ceiling: -> pyretnum + // Produce the ceiling. + + // log: -> pyretnum + // Produce the log. + + // atan: -> pyretnum + // Produce the arc tangent. + + // cos: -> pyretnum + // Produce the cosine. + + // sin: -> pyretnum + // Produce the sine. + + // expt: pyretnum -> pyretnum + // Produce the power to the input. + + // exp: -> pyretnum + // Produce e raised to the given power. + + // acos: -> pyretnum + // Produce the arc cosine. + + // asin: -> pyretnum + // Produce the arc sine. + + // round: -> pyretnum + // Round to the nearest integer. + + // equals: pyretnum -> boolean + // Produce true if the given number of the same type is equal. + + ////////////////////////////////////////////////////////////////////// + + // Rationals + + var Rational = function(n, d) { + this.n = n; + this.d = d; + }; + + Rational.makeInstance = function(n, d, errbacks) { + if (n === undefined) + errbacks.throwUndefinedValue("n undefined", n, d); + + if (d === undefined) { d = 1; } + + if (_integerLessThan(d, 0)) { + n = negate(n, errbacks); + d = negate(d, errbacks); + } + + var divisor = _integerGcd(abs(n, errbacks), abs(d, errbacks)); + n = _integerQuotient(n, divisor); + d = _integerQuotient(d, divisor); + + // Optimization: if we can get around construction the rational + // in favor of just returning n, do it: + if (_integerIsOne(d) || _integerIsZero(n)) { + return n; + } + + return new Rational(n, d); + }; + + Rational.prototype.toString = function() { + if (_integerIsOne(this.d)) { + return this.n.toString() + ""; + } else { + return this.n.toString() + "/" + this.d.toString(); + } + }; + + Rational.prototype.isFinite = function() { + return true; + }; + + Rational.prototype.equals = function(other, errbacks) { + return (other instanceof Rational && + _integerEquals(this.n, other.n) && + _integerEquals(this.d, other.d)); + }; + + Rational.prototype.isInteger = function() { + return _integerIsOne(this.d); + }; + + Rational.prototype.isRational = function() { + return true; + }; + + Rational.prototype.isExact = Rational.prototype.isRational; + + Rational.prototype.isReal = function() { + return true; + }; + + Rational.prototype.isRoughnum = function() { + return false; + }; + + Rational.prototype.isPositive = function() { + // don't care about this.d + return this.n > 0; + }; + + Rational.prototype.isNonNegative = function() { + return this.n >= 0; + }; + + Rational.prototype.isNegative = function() { + return this.n < 0; + }; + + Rational.prototype.isNonPositive = function() { + return this.n <= 0; + }; + + Rational.prototype.add = function(other, errbacks) { + return Rational.makeInstance(_integerAdd(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)), + _integerMultiply(this.d, other.d), errbacks); + }; + + Rational.prototype.subtract = function(other, errbacks) { + return Rational.makeInstance(_integerSubtract(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)), + _integerMultiply(this.d, other.d), errbacks); + }; + + Rational.prototype.negate = function(errbacks) { + return Rational.makeInstance(negate(this.n, errbacks), this.d, errbacks) + }; + + Rational.prototype.multiply = function(other, errbacks) { + return Rational.makeInstance(_integerMultiply(this.n, other.n), + _integerMultiply(this.d, other.d), errbacks); + }; + + Rational.prototype.divide = function(other, errbacks) { + if (_integerIsZero(this.d) || _integerIsZero(other.n)) { // dead code! + errbacks.throwDivByZero("/: division by zero", this, other); + } + return Rational.makeInstance(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n), errbacks); + }; + + Rational.prototype.toRational = function() { + return this; + }; + + Rational.prototype.toExact = Rational.prototype.toRational; + + + Rational.prototype.toFixnum = function() { + return _integerDivideToFixnum(this.n, this.d); + }; + + Rational.prototype.toRoughnum = function(errbacks) { + return Roughnum.makeInstance(this.toFixnum(), errbacks); + }; + + Rational.prototype.numerator = function() { + return this.n; + }; + + Rational.prototype.denominator = function() { + return this.d; + }; + + Rational.prototype.greaterThan = function(other, errbacks) { + return _integerGreaterThan(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)); + }; + + Rational.prototype.greaterThanOrEqual = function(other, errbacks) { + return _integerGreaterThanOrEqual(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)); + }; + + Rational.prototype.lessThan = function(other, errbacks) { + return _integerLessThan(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)); + }; + + Rational.prototype.lessThanOrEqual = function(other, errbacks) { + return _integerLessThanOrEqual(_integerMultiply(this.n, other.d), + _integerMultiply(this.d, other.n)); + }; + + Rational.prototype.integerSqrt = function(errbacks) { + var result = sqrt(this); + return toRational(floor(result, errbacks), errbacks); + }; + + Rational.prototype.sqrt = function(errbacks) { + var newN = sqrt(this.n); + var newD = sqrt(this.d); + if (isRational(newN) && isRational(newD) && + equals(floor(newN), newN) && + equals(floor(newD), newD)) { + return Rational.makeInstance(newN, newD, errbacks); + } else { + return divide(newN, newD, errbacks); + } + }; + + Rational.prototype.abs = function(errbacks) { + return Rational.makeInstance(abs(this.n, errbacks), + this.d, errbacks); + }; + + Rational.prototype.floor = function(errbacks) { + var quotient = _integerQuotient(this.n, this.d); + if (_integerLessThan(this.n, 0)) { + return subtract(quotient, 1, errbacks); + } else { + return quotient; + } + }; + + Rational.prototype.ceiling = function(errbacks) { + var quotient = _integerQuotient(this.n, this.d); + if (_integerLessThan(this.n, 0)) { + return quotient; + } else { + return add(quotient, 1, errbacks); + } + }; + + Rational.prototype.round = function(errbacks) { + var halfintp = equals(this.d, 2); + var negativep = _integerLessThan(this.n, 0); + var n = this.n; + if (negativep) { + n = negate(n, errbacks); + } + var quo = _integerQuotient(n, this.d); + if (halfintp) { + // rounding half to away from 0 + // uncomment following if rounding half to even + // if (_integerIsOne(_integerModulo(quo, 2))) + quo = add(quo, 1, errbacks); + } else { + var rem = _integerRemainder(n, this.d); + if (greaterThan(multiply(rem, 2, errbacks), this.d, errbacks)) { + quo = add(quo, 1, errbacks); + } + } + if (negativep) { + quo = negate(quo, errbacks); + } + return quo; + }; + + Rational.prototype.roundEven = function(errbacks) { + // rounds half-integers to even + var halfintp = equals(this.d, 2, errbacks); + var negativep = _integerLessThan(this.n, 0); + var n = this.n; + if (negativep) n = negate(n, errbacks); + var quo = _integerQuotient(n, this.d); + if (halfintp) { + if (_integerIsOne(_integerModulo(quo, 2))) + quo = add(quo, 1, errbacks); + } else { + var rem = _integerRemainder(n, this.d); + if (greaterThan(multiply(rem, 2, errbacks), this.d, errbacks)) + quo = add(quo, 1, errbacks); + } + if (negativep) quo = negate(quo, errbacks); + return quo; + }; + + Rational.prototype.log = function(errbacks){ + return Roughnum.makeInstance(Math.log(this.toFixnum()), errbacks); + }; + + Rational.prototype.tan = function(errbacks){ + return Roughnum.makeInstance(Math.tan(this.toFixnum()), errbacks); + }; + + Rational.prototype.atan = function(errbacks){ + return Roughnum.makeInstance(Math.atan(this.toFixnum()), errbacks); + }; + + Rational.prototype.cos = function(errbacks){ + return Roughnum.makeInstance(Math.cos(this.toFixnum()), errbacks); + }; + + Rational.prototype.sin = function(errbacks){ + return Roughnum.makeInstance(Math.sin(this.toFixnum()), errbacks); + }; + + var integerNthRoot = function(n, m, errbacks) { + var guessPrev, guessToTheN; + var guess = m; + + // find closest integral zero of x^n - m = 0 using Newton-Raphson. + // if k'th guess is x_k, then + // x_{k+1} = floor( x_k - [(x_k)^n - m]/[n (x_k)^(n-1)] ). + // Stop iteration if (x_k)^n is close enough to m, or + // if x_k stops evolving + + while(true) { + guessToTheN = expt(guess, n, errbacks); + if (lessThanOrEqual(guessToTheN, m, errbacks) && + lessThan(m, expt(add(guess, 1, errbacks), n, errbacks), errbacks)) break; + guessPrev = guess; + guess = floor(subtract(guess, divide(subtract(guessToTheN, m, errbacks), + multiply(n, divide(guessToTheN, guess, errbacks), errbacks), errbacks), errbacks), errbacks); + if (equals(guess, guessPrev, errbacks)) break; + } + + return guess; + }; + + var nthRoot = function(n, m, errbacks) { + var mNeg = (sign(m) < 0); + var mAbs = (mNeg ? abs(m, errbacks) : m); + var approx; + + if (mNeg && _integerModulo(n, 2) === 0) + errbacks.throwDomainError('expt: taking even (' + n + ') root of negative integer ' + m); + + approx = integerNthRoot(n, mAbs, errbacks); + if (mNeg) approx = negate(approx, errbacks); + if (eqv(expt(approx, n, errbacks), m, errbacks)) return approx; + + approx = Roughnum.makeInstance(Math.pow(toFixnum(mAbs), + toFixnum(divide(1,n, errbacks))), errbacks); + return (mNeg ? negate(approx, errbacks) : approx); + }; + + Rational.prototype.expt = function(a, errbacks) { + if (isInteger(a) && greaterThanOrEqual(a, 0, errbacks)) { + return fastExpt(this, a, errbacks); + } else if (_integerLessThanOrEqual(a.d, 8)) { + var nRaisedToAn = expt(this.n, a.n, errbacks); + var dRaisedToAn = expt(this.d, a.n, errbacks); + var newN = nthRoot(a.d, nRaisedToAn, errbacks); + var newD = nthRoot(a.d, dRaisedToAn, errbacks); + if (isRational(newN) && isRational(newD) && + equals(floor(newN), newN, errbacks) && + equals(floor(newD), newD, errbacks)) { + return Rational.makeInstance(newN, newD, errbacks); + } else { + return divide(newN, newD, errbacks); + } + } else { + if (this.isNegative() && !a.isInteger()) + errbacks.throwDomainError('expt: raising negative number ' + this + ' to nonintegral power ' + a); + return Roughnum.makeInstance(Math.pow(this.toFixnum(), a.toFixnum()), errbacks); + } + }; + + Rational.prototype.exp = function(errbacks){ + var res = Math.exp(this.toFixnum()); + if (!isFinite(res)) + errbacks.throwDomainError('exp: argument too large: ' + this); + return Roughnum.makeInstance(res, errbacks); + }; + + Rational.prototype.acos = function(errbacks){ + return acos(this.toFixnum(), errbacks); + }; + + Rational.prototype.asin = function(errbacks){ + return asin(this.toFixnum(), errbacks); + }; + + // sign: Number -> {-1, 0, 1} + var sign = function(n, errbacks) { + if (lessThan(n, 0, errbacks)) { + return -1; + } else if (greaterThan(n, 0, errbacks)) { + return 1; + } else { + return 0; + } + }; + + // Roughnums + + var Roughnum = function(n, errbacks) { + if (!(typeof(n) === 'number')) + errbacks.throwGeneralError('roughnum constructor got unsuitable arg ' + n); + this.n = n; + }; + + Roughnum.makeInstance = function(n, errbacks) { + if (typeof(n) === 'number' && !isFinite(n)) { + errbacks.throwDomainError('roughnum overflow error'); + } + return new Roughnum(n, errbacks); + }; + + Roughnum.prototype.isFinite = function() { + //actually always true, as we don't store overflows + return (isFinite(this.n)); + }; + + Roughnum.prototype.toRational = function(errbacks) { + if (!isFinite(this.n)) { + // this _should_ be dead, as we don't store overflows + errbacks.throwInternalError("toRational: no exact representation for " + this); + } + + return fromString(this.n.toString(), errbacks); + }; + + Roughnum.prototype.toExact = Roughnum.prototype.toRational; + + Roughnum.prototype.toString = function() { + return '~' + this.n.toString(); + }; + + Roughnum.prototype.equals = function(other, errbacks) { + errbacks.throwIncomparableValues("roughnums cannot be compared for equality"); + }; + + Roughnum.prototype.isRational = function() { + return false; + }; + + Roughnum.prototype.isExact = Roughnum.prototype.isRational; + + Roughnum.prototype.isInteger = function() { + return false; + }; + + Roughnum.prototype.isReal = function() { + return true; + }; + + Roughnum.prototype.isRoughnum = function() { + return true; + }; + + Roughnum.prototype.isPositive = function() { + return this.n > 0; + }; + + Roughnum.prototype.isNonNegative = function() { + return this.n >= 0; + }; + + Roughnum.prototype.isNegative = function() { + return this.n < 0; + }; + + Roughnum.prototype.isNonPositive = function() { + return this.n <= 0; + }; + + Roughnum.prototype.add = function(other, errbacks) { + return Roughnum.makeInstance(this.n + other.n, errbacks); + }; + + Roughnum.prototype.subtract = function(other, errbacks) { + return Roughnum.makeInstance(this.n - other.n, errbacks); + }; + + Roughnum.prototype.negate = function(errbacks) { + return Roughnum.makeInstance(-this.n, errbacks); + }; + + Roughnum.prototype.multiply = function(other, errbacks) { + return Roughnum.makeInstance(this.n * other.n, errbacks); + }; + + Roughnum.prototype.divide = function(other, errbacks) { + return Roughnum.makeInstance(this.n / other.n, errbacks); + }; + + Roughnum.prototype.toFixnum = function() { + return this.n; + }; + + Roughnum.prototype.toRoughnum = function(errbacks) { + return this; + }; + + Roughnum.prototype.numerator = function() { + var stringRep = this.n.toString(); + var match = stringRep.match(/^(.*)\.(.*)$/); + if (match) { + var afterDecimal = parseInt(match[2]); + var factorToInt = Math.pow(10, match[2].length); + var extraFactor = _integerGcd(factorToInt, afterDecimal); + var multFactor = factorToInt / extraFactor; + return Roughnum.makeInstance( Math.round(this.n * multFactor) ); + } else { + return this; + } + }; + + Roughnum.prototype.denominator = function() { + var stringRep = this.n.toString(); + var match = stringRep.match(/^(.*)\.(.*)$/); + if (match) { + var afterDecimal = parseInt(match[2]); + var factorToInt = Math.pow(10, match[2].length); + var extraFactor = _integerGcd(factorToInt, afterDecimal); + return Roughnum.makeInstance( Math.round(factorToInt/extraFactor) ); + } else { + return Roughnum.makeInstance(1); + } + }; + + Roughnum.prototype.floor = function(errbacks) { + return Math.floor(this.n); + }; + + Roughnum.prototype.ceiling = function(errbacks) { + return Math.ceil(this.n); + }; + + Roughnum.prototype.round = function(errbacks){ + var negativep = (this.n < 0); + var n = this.n; + if (negativep) n = -n; + var res = Math.round(n); + if (negativep) res = -res; + return res; + }; + + Roughnum.prototype.roundEven = function(errbacks) { + var negativep = (this.n < 0); + var n = this.n; + if (negativep) n = -n; + var res = Math.round(n); + if ((Math.abs(n - res) === 0.5) && (res % 2 === 1)) + res -= 1; + return res; + }; + + Roughnum.prototype.greaterThan = function(other, errbacks) { + return this.n > other.n; + }; + + Roughnum.prototype.greaterThanOrEqual = function(other, errbacks) { + return this.n >= other.n; + }; + + Roughnum.prototype.lessThan = function(other, errbacks) { + return this.n < other.n; + }; + + Roughnum.prototype.lessThanOrEqual = function(other, errbacks) { + return this.n <= other.n; + }; + + Roughnum.prototype.integerSqrt = function(errbacks) { + if (isInteger(this)) { + if(this.n >= 0) { + return Roughnum.makeInstance(Math.floor(Math.sqrt(this.n)), errbacks); + } else { + errbacks.throwDomainError('integerSqrt of negative roughnum', this.n); + } + } else { + errbacks.throwDomainError("integerSqrt: can only be applied to an integer", this); + } + }; + + Roughnum.prototype.sqrt = function(errbacks) { + return Roughnum.makeInstance(Math.sqrt(this.n), errbacks); + }; + + Roughnum.prototype.abs = function(errbacks) { + return Roughnum.makeInstance(Math.abs(this.n), errbacks); + }; + + Roughnum.prototype.log = function(errbacks){ + if (this.n < 0) + errbacks.throwDomainError('log of negative roughnum', this.n); + else + return Roughnum.makeInstance(Math.log(this.n), errbacks); + }; + + Roughnum.prototype.tan = function(errbacks){ + return Roughnum.makeInstance(Math.tan(this.n), errbacks); + }; + + Roughnum.prototype.atan = function(errbacks){ + return Roughnum.makeInstance(Math.atan(this.n), errbacks); + }; + + Roughnum.prototype.cos = function(errbacks){ + return Roughnum.makeInstance(Math.cos(this.n), errbacks); + }; + + Roughnum.prototype.sin = function(errbacks){ + return Roughnum.makeInstance(Math.sin(this.n), errbacks); + }; + + Roughnum.prototype.expt = function(a, errbacks){ + if (this.n === 1) { + return this; + } else { + return Roughnum.makeInstance(Math.pow(this.n, a.n), errbacks); + } + }; + + Roughnum.prototype.exp = function(errbacks){ + var res = Math.exp(this.n); + if (!isFinite(res)) + errbacks.throwDomainError('exp: argument too large: ' + this); + return Roughnum.makeInstance(res); + }; + + Roughnum.prototype.acos = function(errbacks){ + return acos(this.n, errbacks); + }; + + Roughnum.prototype.asin = function(errbacks){ + return asin(this.n, errbacks); + }; + + var rationalRegexp = new RegExp("^([+-]?\\d+)/(\\d+)$"); + var digitRegexp = new RegExp("^[+-]?\\d+$"); + var flonumRegexp = new RegExp("^([-+]?)(\\d+\)((?:\\.\\d+)?)((?:[Ee][-+]?\\d+)?)$"); + + + var roughnumDecRegexp = new RegExp("^~([-+]?\\d+(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)$"); + + var roughnumRatRegexp = new RegExp("^~([+-]?\\d+)/(\\d+)$"); + + + var scientificPattern = new RegExp("^([+-]?\\d*\\.?\\d*)[Ee]([+]?\\d+)$"); + + // fromString: string -> (pyretnum | false) + var fromString = function(x, errbacks) { + if (x.match(digitRegexp)) { + var n = Number(x); + if (isOverflow(n)) { + return makeBignum(x); + } else { + return n; + } + } + + var aMatch = x.match(rationalRegexp); + if (aMatch) { + return Rational.makeInstance(fromString(aMatch[1]), + fromString(aMatch[2]), errbacks); + } + + aMatch = x.match(flonumRegexp); + if (aMatch) { + var negativeP = (aMatch[1] === "-"); + // + var beforeDecimalString = aMatch[2]; + var beforeDecimal = 0; + if (beforeDecimalString !== '') { + beforeDecimal = makeBignum(beforeDecimalString); + } + // + var afterDecimalString = aMatch[3]; + var denominatorTen = 1; + var afterDecimal = 0; + if (afterDecimalString !== '') { + afterDecimalString = afterDecimalString.substring(1); + denominatorTen = makeBignum('1' + new Array(afterDecimalString.length + 1).join('0')); + if (afterDecimalString !== '') { + afterDecimal = makeBignum(afterDecimalString); + } + } + // + var exponentString = aMatch[4]; + var exponentNegativeP = false; + var exponent = 1; + if (exponentString !== '') { + exponentString = exponentString.substring(1); + var exponentSign = exponentString.charAt(0); + exponentNegativeP = (exponentSign === '-'); + if (exponentSign === '-' || exponentSign === '+') { + exponentString = exponentString.substring(1); + } + exponent = makeBignum('1' + new Array(Number(exponentString) + 1).join('0')); + } + + var finalDen = denominatorTen; + var finalNum = _integerAdd(_integerMultiply(beforeDecimal, denominatorTen), afterDecimal); + if (negativeP) { + finalNum = negate(finalNum, errbacks); + } + // + if (!equals(exponent, 1)) { + if (exponentNegativeP) { + finalDen = _integerMultiply(finalDen, exponent); + } else { + finalNum = _integerMultiply(finalNum, exponent); + } + } + return Rational.makeInstance(finalNum, finalDen, errbacks); + } + + aMatch = x.match(roughnumRatRegexp); + if (aMatch) { + return toRoughnum(Rational.makeInstance(fromString(aMatch[1]), fromString(aMatch[2])), + errbacks); + } + + aMatch = x.match(roughnumDecRegexp); + if (aMatch) { + return Roughnum.makeInstance(Number(aMatch[1]), errbacks); + } + + return false; // if all else fails + + }; + + /////////////////////////////////////////////////////////// + + // recognizing numbers in (We)Scheme syntax: + + var hashModifiersRegexp = new RegExp("^(#[ei]#[bodx]|#[bodx]#[ei]|#[bodxei])(.*)$") + + function schemeRationalRegexp(digits) { return new RegExp("^([+-]?["+digits+"]+)/(["+digits+"]+)$"); } + + function matchComplexRegexp(radix, x, errbacks) { + var sign = "[+-]"; + var maybeSign = "[+-]?"; + var digits = digitsForRadix(radix, errbacks) + var expmark = "["+expMarkForRadix(radix, errbacks)+"]" + var digitSequence = "["+digits+"]+" + + var unsignedRational = digitSequence+"/"+digitSequence + var rational = maybeSign + unsignedRational + + var noDecimal = digitSequence + var decimalNumOnRight = "["+digits+"]*\\.["+digits+"]+" + var decimalNumOnLeft = "["+digits+"]+\\.["+digits+"]*" + + var unsignedDecimal = "(?:" + noDecimal + "|" + decimalNumOnRight + "|" + decimalNumOnLeft + ")" + + var special = "(?:inf\.0|nan\.0|inf\.f|nan\.f)" + + var unsignedRealNoExp = "(?:" + unsignedDecimal + "|" + unsignedRational + ")" + var unsignedReal = unsignedRealNoExp + "(?:" + expmark + maybeSign + digitSequence + ")?" + var unsignedRealOrSpecial = "(?:" + unsignedReal + "|" + special + ")" + var real = "(?:" + maybeSign + unsignedReal + "|" + sign + special + ")" + + var alt1 = new RegExp("^(" + rational + ")" + + "(" + sign + unsignedRational + "?)" + + "i$"); + var alt2 = new RegExp("^(" + real + ")?" + + "(" + sign + unsignedRealOrSpecial + "?)" + + "i$"); + var alt3 = new RegExp("^(" + real + ")@(" + real + ")$"); + + var match1 = x.match(alt1) + var match2 = x.match(alt2) + var match3 = x.match(alt3) + + return match1 ? match1 : + match2 ? match2 : + match3 ? match3 : + /* else */ false + } + + function schemeDigitRegexp(digits) { return new RegExp("^[+-]?["+digits+"]+$"); } + /** + /* NB: !!!! flonum regexp only matches "X.", ".X", or "X.X", NOT "X", this + /* must be separately checked with schemeDigitRegexp. + /* I know this seems dumb, but the alternative would be that this regexp + /* returns six matches, which also seems dumb. + /***/ + function schemeFlonumRegexp(digits) { + var decimalNumOnRight = "(["+digits+"]*)\\.(["+digits+"]+)" + var decimalNumOnLeft = "(["+digits+"]+)\\.(["+digits+"]*)" + return new RegExp("^(?:([+-]?)(" + + decimalNumOnRight+"|"+decimalNumOnLeft + + "))$"); + } + function schemeScientificPattern(digits, exp_mark) { + var noDecimal = "["+digits+"]+" + var decimalNumOnRight = "["+digits+"]*\\.["+digits+"]+" + var decimalNumOnLeft = "["+digits+"]+\\.["+digits+"]*" + return new RegExp("^(?:([+-]?" + + "(?:"+noDecimal+"|"+decimalNumOnRight+"|"+decimalNumOnLeft+")" + + ")["+exp_mark+"]([+-]?["+digits+"]+))$"); + } + + function digitsForRadix(radix, errbacks) { + return radix === 2 ? "01" : + radix === 8 ? "0-7" : + radix === 10 ? "0-9" : + radix === 16 ? "0-9a-fA-F" : + errbacks.throwInternalError("digitsForRadix: invalid radix", this, radix) + } + function expMarkForRadix(radix, errbacks) { + return (radix === 2 || radix === 8 || radix === 10) ? "defsl" : + (radix === 16) ? "sl" : + errbacks.throwInternalError("expMarkForRadix: invalid radix", this, radix) + } + + function Exactness(i) { + this.defaultp = function () { return i == 0; } + this.exactp = function () { return i == 1; } + this.inexactp = function () { return i == 2; } + } + + Exactness.def = new Exactness(0); + Exactness.on = new Exactness(1); + Exactness.off = new Exactness(2); + + Exactness.prototype.intAsExactp = function () { return this.defaultp() || this.exactp(); }; + Exactness.prototype.floatAsInexactp = function () { return this.defaultp() || this.inexactp(); }; + + // fromSchemeString: string boolean -> (scheme-number | false) + var fromSchemeString = function(x, exactness, errbacks) { + + var radix = 10 + var exactness = typeof exactness === 'undefined' ? Exactness.def : + exactness === true ? Exactness.on : + exactness === false ? Exactness.off : + /* else */ errbacks.throwInternalError( "exactness must be true or false" + , this + , r) ; + + var hMatch = x.toLowerCase().match(hashModifiersRegexp) + if (hMatch) { + var modifierString = hMatch[1].toLowerCase(); + + var exactFlag = modifierString.match(new RegExp("(#[ei])")) + var radixFlag = modifierString.match(new RegExp("(#[bodx])")) + + if (exactFlag) { + var f = exactFlag[1].charAt(1) + exactness = f === 'e' ? Exactness.on : + f === 'i' ? Exactness.off : + // this case is unreachable + errbacks.throwInternalError("invalid exactness flag", this, r) + } + if (radixFlag) { + var f = radixFlag[1].charAt(1) + radix = f === 'b' ? 2 : + f === 'o' ? 8 : + f === 'd' ? 10 : + f === 'x' ? 16 : + // this case is unreachable + errbacks.throwInternalError("invalid radix flag", this, r) + } + } + + var numberString = hMatch ? hMatch[2] : x + // if the string begins with a hash modifier, then it must parse as a + // number, an invalid parse is an error, not false. False is returned + // when the item could potentially have been read as a symbol. + var mustBeANumberp = hMatch ? true : false + + return fromSchemeStringRaw(numberString, radix, exactness, mustBeANumberp, errbacks) + }; + + function fromSchemeStringRaw(x, radix, exactness, mustBeANumberp, errbacks) { + var cMatch = matchComplexRegexp(radix, x, errbacks); + if (cMatch) { + throw "Complex Numbers are not supported in Pyret"; + } + + return fromSchemeStringRawNoComplex(x, radix, exactness, mustBeANumberp, errbacks) + } + + function fromSchemeStringRawNoComplex(x, radix, exactness, mustBeANumberp, errbacks) { + var aMatch = x.match(schemeRationalRegexp(digitsForRadix(radix, errbacks))); + if (aMatch) { + return Rational.makeInstance( fromSchemeStringRawNoComplex( aMatch[1] + , radix + , exactness + , errbacks + ) + , fromSchemeStringRawNoComplex( aMatch[2] + , radix + , exactness + , errbacks + ) + , errbacks); + } + + if (x === '+nan.0' || + x === '-nan.0' || + x === '+inf.0' || + x === '-inf.0' || + x === '-0.0') { + return Roughnum.makeInstance(Infinity); + } + + var fMatch = x.match(schemeFlonumRegexp(digitsForRadix(radix, errbacks))) + if (fMatch) { + var integralPart = fMatch[3] !== undefined ? fMatch[3] : fMatch[5]; + var fractionalPart = fMatch[4] !== undefined ? fMatch[4] : fMatch[6]; + return parseFloat( fMatch[1] + , integralPart + , fractionalPart + , radix + , exactness + , errbacks + ) + } + + var sMatch = x.match(schemeScientificPattern( digitsForRadix(radix, errbacks) + , expMarkForRadix(radix, errbacks) + )) + if (sMatch) { + var coefficient = fromSchemeStringRawNoComplex(sMatch[1], radix, exactness, errbacks) + var exponent = fromSchemeStringRawNoComplex(sMatch[2], radix, exactness, errbacks) + return multiply(coefficient, expt(radix, exponent, errbacks), errbacks); + } + + // Finally, integer tests. + if (x.match(schemeDigitRegexp(digitsForRadix(radix, errbacks)))) { + var n = parseInt(x, radix); + if (isOverflow(n)) { + return makeBignum(x); + } else if (exactness.intAsExactp()) { + return n; + } else { + return Roughnum.makeInstance(n) + } + } else if (mustBeANumberp) { + if(x.length===0) errbacks.throwGeneralError("no digits"); + errbacks.throwGeneralError("bad number: " + x, this); + } else { + return false; + } + }; + + function parseFloat(sign, integralPart, fractionalPart, radix, exactness, errbacks) { + var sign = (sign == "-" ? -1 : 1); + var integralPartValue = integralPart === "" ? 0 : + exactness.intAsExactp() ? parseExactInt(integralPart, radix, errbacks) : + parseInt(integralPart, radix) + + var fractionalNumerator = fractionalPart === "" ? 0 : + exactness.intAsExactp() ? parseExactInt(fractionalPart, radix, errbacks) : + parseInt(fractionalPart, radix) + /* unfortunately, for these next two calculations, `expt` and `divide` */ + /* will promote to Bignum and Rational, respectively, but we only want */ + /* these if we're parsing in exact mode */ + var fractionalDenominator = exactness.intAsExactp() ? expt(radix, fractionalPart.length, errbacks) : + Math.pow(radix, fractionalPart.length) + var fractionalPartValue = fractionalPart === "" ? 0 : + exactness.intAsExactp() ? divide(fractionalNumerator, fractionalDenominator, errbacks) : + fractionalNumerator / fractionalDenominator + + var forceInexact = function(o) { + return typeof o === "number" ? Roughnum.makeInstance(o, errbacks) : + o.toRoughnum(errbacks); + } + + return exactness.floatAsInexactp() ? forceInexact(multiply(sign, add( integralPartValue, fractionalPartValue))) : + multiply(sign, add(integralPartValue, fractionalPartValue)); + } + + function parseExactInt(str, radix, errbacks) { + return fromSchemeStringRawNoComplex(str, radix, Exactness.on, true, errbacks); + } + + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + + // The code below comes from Tom Wu's BigInteger implementation: + + // Copyright (c) 2005 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Basic JavaScript BN library - subset useful for RSA encryption. + + // Bits per digit + var dbits; + + // JavaScript engine analysis + var canary = 0xdeadbeefcafe; + var j_lm = ((canary&0xffffff)==0xefcafe); + + // (public) Constructor + function BigInteger(a,b,c) { + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); + } + + // return new, unset BigInteger + function nbi() { return new BigInteger(null); } + + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. + + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1(i,x,w,j,c,n) { + while(--n >= 0) { + var v = x*this[i++]+w[j]+c; + c = Math.floor(v/0x4000000); + w[j++] = v&0x3ffffff; + } + return c; + } + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2(i,x,w,j,c,n) { + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this[i]&0x7fff; + var h = this[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w[j++] = l&0x3fffffff; + } + return c; + } + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + function am3(i,x,w,j,c,n) { + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this[i]&0x3fff; + var h = this[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w[j++] = l&0xfffffff; + } + return c; + } + if(j_lm && (typeof(navigator) !== 'undefined' && navigator.appName == "Microsoft Internet Explorer")) { + BigInteger.prototype.am = am2; + dbits = 30; + } + else if(j_lm && (typeof(navigator) !== 'undefined' && navigator.appName != "Netscape")) { + BigInteger.prototype.am = am1; + dbits = 26; + } + else { // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; + } + + BigInteger.prototype.DB = dbits; + BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; + r.t = this.t; + r.s = this.s; + } + + // (protected) set from integer value x, -DV <= x < DV + function bnpFromInt(x) { + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this[0] = x; + else if(x < -1) this[0] = x+DV; + else this.t = 0; + } + + // return bigint initialized to value + function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + + // (protected) set from string and radix + function bnpFromString(s,b) { + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this[this.t++] = x; + else if(sh+k > this.DB) { + this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); + } + else + this[this.t-1] |= x<= this.DB) sh -= this.DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; + } + + // (public) return string representation in given radix + function bnToString(b) { + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r.push(int2char(d)); } + while(i >= 0) { + if(p < k) { + d = (this[i]&((1<>(p+=this.DB-k); + } + else { + d = (this[i]>>(p-=k))&km; + if(p <= 0) { p += this.DB; --i; } + } + if(d > 0) m = true; + if(m) r.push(int2char(d)); + } + } + return m?r.join(""):"0"; + } + + // (public) -this + function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + + // (public) |this| + function bnAbs() { return (this.s<0)?this.negate():this; } + + // (public) return + if this > a, - if this < a, 0 if equal + function bnCompareTo(a) { + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + if ( this.s < 0 ) { + r = a.t - i; + } + else { + r = i - a.t; + } + if(r != 0) return r; + while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; + return 0; + } + + // returns bit length of the integer x + function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; + } + + // (public) return the number of bits in "this" + function bnBitLength() { + if(this.t <= 0) return 0; + return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); + } + + // (protected) r = this << n*DB + function bnpDLShiftTo(n,r) { + var i; + for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; + for(i = n-1; i >= 0; --i) r[i] = 0; + r.t = this.t+n; + r.s = this.s; + } + + // (protected) r = this >> n*DB + function bnpDRShiftTo(n,r) { + for(var i = n; i < this.t; ++i) r[i-n] = this[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; + } + + // (protected) r = this << n + function bnpLShiftTo(n,r) { + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<= 0; --i) { + r[i+ds+1] = (this[i]>>cbs)|c; + c = (this[i]&bm)<= 0; --i) r[i] = 0; + r[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); + } + + // (protected) r = this >> n + function bnpRShiftTo(n,r) { + r.s = this.s; + var ds = Math.floor(n/this.DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r[i-ds-1] |= (this[i]&bm)<>bs; + } + if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c -= a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r[i++] = this.DV+c; + else if(c > 0) r[i++] = c; + r.t = i; + r.clamp(); + } + + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + function bnpMultiplyTo(a,r) { + var x = this.abs(), y = a.abs(); + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); + } + + // (protected) r = this^2, r != this (HAC 14.16) + function bnpSquareTo(r) { + var x = this.abs(); + var i = r.t = 2*x.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x[i],r,2*i,0,1); + if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { + r[i+x.t] -= x.DV; + r[i+x.t+1] = 1; + } + } + if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); + r.s = 0; + r.clamp(); + } + + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } + else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + var y0 = y[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y[ys-2]>>this.F2:0); + var d1 = this.FV/yt, d2 = (1<= 0) { + r[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); + if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); + } + + // (public) this mod a + function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; + } + + // Modular reduction using "classic" algorithm + function Classic(m) { this.m = m; } + function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; + } + function cRevert(x) { return x; } + function cReduce(x) { x.divRemTo(this.m,null,x); } + function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + Classic.prototype.convert = cConvert; + Classic.prototype.revert = cRevert; + Classic.prototype.reduce = cReduce; + Classic.prototype.mulTo = cMulTo; + Classic.prototype.sqrTo = cSqrTo; + + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + function bnpInvDigit() { + if(this.t < 1) return 0; + var x = this[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?this.DV-y:-y; + } + + // Montgomery reduction + function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(m.DB-15))-1; + this.mt2 = 2*m.t; + } + + // xR mod m + function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; + } + + // x/R mod m + function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + + // x = x/R mod m (HAC 14.32) + function montReduce(x) { + while(x.t <= this.mt2) // pad x so am has enough room later + x[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = "x^2/R mod m"; x != r + function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = "xy/R mod m"; x,y != r + function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Montgomery.prototype.convert = montConvert; + Montgomery.prototype.revert = montRevert; + Montgomery.prototype.reduce = montReduce; + Montgomery.prototype.mulTo = montMulTo; + Montgomery.prototype.sqrTo = montSqrTo; + + // (protected) true iff this is even + function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } + + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); + } + + // (public) this^e % m, 0 <= e < 2^32 + function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.bnpExp(e,z); + } + + // protected + BigInteger.prototype.copyTo = bnpCopyTo; + BigInteger.prototype.fromInt = bnpFromInt; + BigInteger.prototype.fromString = bnpFromString; + BigInteger.prototype.clamp = bnpClamp; + BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + BigInteger.prototype.drShiftTo = bnpDRShiftTo; + BigInteger.prototype.lShiftTo = bnpLShiftTo; + BigInteger.prototype.rShiftTo = bnpRShiftTo; + BigInteger.prototype.subTo = bnpSubTo; + BigInteger.prototype.multiplyTo = bnpMultiplyTo; + BigInteger.prototype.squareTo = bnpSquareTo; + BigInteger.prototype.divRemTo = bnpDivRemTo; + BigInteger.prototype.invDigit = bnpInvDigit; + BigInteger.prototype.isEven = bnpIsEven; + BigInteger.prototype.bnpExp = bnpExp; // renamed from exp, because we need the latter for Pyret + + // public + BigInteger.prototype.toString = bnToString; + BigInteger.prototype.negate = bnNegate; + BigInteger.prototype.abs = bnAbs; + BigInteger.prototype.compareTo = bnCompareTo; + BigInteger.prototype.bitLength = bnBitLength; + BigInteger.prototype.mod = bnMod; + BigInteger.prototype.modPowInt = bnModPowInt; + + // "constants" + BigInteger.ZERO = nbv(0); + BigInteger.ONE = nbv(1); + + // Copyright (c) 2005-2009 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Extended JavaScript BN functions, required for RSA private ops. + + // Version 1.1: new BigInteger("0", 10) returns "proper" zero + + // (public) + function bnClone() { var r = nbi(); this.copyTo(r); return r; } + + // (public) return value as integer + function bnIntValue() { + if(this.s < 0) { + if(this.t == 1) return this[0]-this.DV; + else if(this.t == 0) return -1; + } + else if(this.t == 1) return this[0]; + else if(this.t == 0) return 0; + // assumes 16 < DB < 32 + return ((this[1]&((1<<(32-this.DB))-1))<>24; } + + // (public) return value as short (assumes DB>=16) + function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; } + + // (protected) return x s.t. r^x < DV + function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } + + // (public) 0 if this == 0, 1 if this > 0 + function bnSigNum() { + if(this.s < 0) return -1; + else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; + else return 1; + } + + // (protected) convert to radix string + function bnpToRadix(b) { + if(b == null) b = 10; + if(this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b,cs); + var d = nbv(a), y = nbi(), z = nbi(), r = ""; + this.divRemTo(d,y,z); + while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); + } + return z.intValue().toString(b) + r; + } + + // (protected) convert from radix string + function bnpFromRadix(s,b) { + this.fromInt(0); + if(b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b,cs), mi = false, j = 0, w = 0; + for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } + } + if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); + } + if(mi) BigInteger.ZERO.subTo(this,this); + } + + // (protected) alternate constructor + function bnpFromNumber(a,b,c) { + if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } + } + else { + // new BigInteger(int,RNG) + var x = [], t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p) + r[k++] = d|(this.s<<(this.DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this[i]&((1<>(p+=this.DB-8); + } + else { + d = (this[i]>>(p-=8))&0xff; + if(p <= 0) { p += this.DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } + } + return r; + } + + function bnEquals(a) { return(this.compareTo(a)==0); } + function bnMin(a) { return(this.compareTo(a)<0)?this:a; } + function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + + // (protected) r = this op a (bitwise) + function bnpBitwiseTo(a,op,r) { + var i, f, m = Math.min(a.t,this.t); + for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]); + if(a.t < this.t) { + f = a.s&this.DM; + for(i = m; i < this.t; ++i) r[i] = op(this[i],f); + r.t = this.t; + } + else { + f = this.s&this.DM; + for(i = m; i < a.t; ++i) r[i] = op(f,a[i]); + r.t = a.t; + } + r.s = op(this.s,a.s); + r.clamp(); + } + + // (public) this & a + function op_and(x,y) { return x&y; } + function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + + // (public) this | a + function op_or(x,y) { return x|y; } + function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + + // (public) this ^ a + function op_xor(x,y) { return x^y; } + function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + + // (public) this & ~a + function op_andnot(x,y) { return x&~y; } + function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + + // (public) ~this + function bnNot() { + var r = nbi(); + for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i]; + r.t = this.t; + r.s = ~this.s; + return r; + } + + // (public) this << n + function bnShiftLeft(n) { + var r = nbi(); + if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); + return r; + } + + // (public) this >> n + function bnShiftRight(n) { + var r = nbi(); + if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); + return r; + } + + // return index of lowest 1-bit in x, x < 2^31 + function lbit(x) { + if(x == 0) return -1; + var r = 0; + if((x&0xffff) == 0) { x >>= 16; r += 16; } + if((x&0xff) == 0) { x >>= 8; r += 8; } + if((x&0xf) == 0) { x >>= 4; r += 4; } + if((x&3) == 0) { x >>= 2; r += 2; } + if((x&1) == 0) ++r; + return r; + } + + // (public) returns index of lowest 1-bit (or -1 if none) + function bnGetLowestSetBit() { + for(var i = 0; i < this.t; ++i) + if(this[i] != 0) return i*this.DB+lbit(this[i]); + if(this.s < 0) return this.t*this.DB; + return -1; + } + + // return number of 1 bits in x + function cbit(x) { + var r = 0; + while(x != 0) { x &= x-1; ++r; } + return r; + } + + // (public) return number of set bits + function bnBitCount() { + var r = 0, x = this.s&this.DM; + for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x); + return r; + } + + // (public) true iff nth bit is set + function bnTestBit(n) { + var j = Math.floor(n/this.DB); + if(j >= this.t) return(this.s!=0); + return((this[j]&(1<<(n%this.DB)))!=0); + } + + // (protected) this op (1<>= this.DB; + } + if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c += a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = (c<0)?-1:0; + if(c > 0) r[i++] = c; + else if(c < -1) r[i++] = this.DV+c; + r.t = i; + r.clamp(); + } + + // (public) this + a + function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + + // (public) this - a + function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + + // (public) this * a + function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + + // (public) this / a + function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + + // (public) this % a + function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + + // (public) [this/a,this%a] + function bnDivideAndRemainder(a) { + var q = nbi(), r = nbi(); + this.divRemTo(a,q,r); + return [q,r]; + } + + // (protected) this *= n, this >= 0, 1 < n < DV + function bnpDMultiply(n) { + this[this.t] = this.am(0,n-1,this,0,0,this.t); + ++this.t; + this.clamp(); + } + + // (protected) this += n << w words, this >= 0 + function bnpDAddOffset(n,w) { + if(n == 0) return; + while(this.t <= w) this[this.t++] = 0; + this[w] += n; + while(this[w] >= this.DV) { + this[w] -= this.DV; + if(++w >= this.t) this[this.t++] = 0; + ++this[w]; + } + } + + // A "null" reducer + function NullExp() {} + function nNop(x) { return x; } + function nMulTo(x,y,r) { x.multiplyTo(y,r); } + function nSqrTo(x,r) { x.squareTo(r); } + + NullExp.prototype.convert = nNop; + NullExp.prototype.revert = nNop; + NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.sqrTo = nSqrTo; + + // (public) this^e + function bnPow(e) { return this.bnpExp(e,new NullExp()); } + + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + function bnpMultiplyLowerTo(a,n,r) { + var i = Math.min(this.t+a.t,n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while(i > 0) r[--i] = 0; + var j; + for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t); + for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i); + r.clamp(); + } + + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + function bnpMultiplyUpperTo(a,n,r) { + --n; + var i = r.t = this.t+a.t-n; + r.s = 0; // assumes a,this >= 0 + while(--i >= 0) r[i] = 0; + for(i = Math.max(n-this.t,0); i < a.t; ++i) + r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n); + r.clamp(); + r.drShiftTo(1,r); + } + + // Barrett modular reduction + function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2*m.t,this.r2); + this.mu = this.r2.divide(m); + this.m = m; + } + + function barrettConvert(x) { + if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); + else if(x.compareTo(this.m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } + } + + function barrettRevert(x) { return x; } + + // x = x mod m (HAC 14.42) + function barrettReduce(x) { + x.drShiftTo(this.m.t-1,this.r2); + if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } + this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); + this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); + while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); + x.subTo(this.r2,x); + while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = x^2 mod m; x != r + function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = x*y mod m; x,y != r + function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Barrett.prototype.convert = barrettConvert; + Barrett.prototype.revert = barrettRevert; + Barrett.prototype.reduce = barrettReduce; + Barrett.prototype.mulTo = barrettMulTo; + Barrett.prototype.sqrTo = barrettSqrTo; + + // (public) this^e % m (HAC 14.85) + function bnModPow(e,m) { + var i = e.bitLength(), k, r = nbv(1), z; + if(i <= 0) return r; + else if(i < 18) k = 1; + else if(i < 48) k = 3; + else if(i < 144) k = 4; + else if(i < 768) k = 5; + else k = 6; + if(i < 8) + z = new Classic(m); + else if(m.isEven()) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = [], n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } + } + + var j = e.t-1, w, is1 = true, r2 = nbi(), t; + i = nbits(e[j])-1; + while(j >= 0) { + if(i >= k1) w = (e[j]>>(i-k1))&km; + else { + w = (e[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e[j-1]>>(this.DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += this.DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); + } + while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } + else { + y.subTo(x,y); + y.rShiftTo(1,y); + } + } + if(g > 0) y.lShiftTo(g,y); + return y; + } + + // (protected) this % n, n < 2^26 + function bnpModInt(n) { + if(n <= 0) return 0; + var d = this.DV%n, r = (this.s<0)?n-1:0; + if(this.t > 0) + if(d == 0) r = this[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n; + return r; + } + + // (public) 1/this % m (HAC 14.61) + function bnModInverse(m) { + var ac = m.isEven(); + if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), v = this.clone(); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } + else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } + else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } + else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } + } + if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if(d.compareTo(m) >= 0) return d.subtract(m); + if(d.signum() < 0) d.addTo(m,d); else return d; + if(d.signum() < 0) return d.add(m); else return d; + } + + var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509]; + var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + + // (public) test primality with certainty >= 1-.5^t + function bnIsProbablePrime(t) { + var i, x = this.abs(); + if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x[0] == lowprimes[i]) return true; + return false; + } + if(x.isEven()) return false; + i = 1; + while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); + } + + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if(k <= 0) return false; + var r = n1.shiftRight(k); + t = (t+1)>>1; + if(t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for(var i = 0; i < t; ++i) { + a.fromInt(lowprimes[i]); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } + } + return true; + } + + // protected + BigInteger.prototype.chunkSize = bnpChunkSize; + BigInteger.prototype.toRadix = bnpToRadix; + BigInteger.prototype.fromRadix = bnpFromRadix; + BigInteger.prototype.fromNumber = bnpFromNumber; + BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + BigInteger.prototype.changeBit = bnpChangeBit; + BigInteger.prototype.addTo = bnpAddTo; + BigInteger.prototype.dMultiply = bnpDMultiply; + BigInteger.prototype.dAddOffset = bnpDAddOffset; + BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + BigInteger.prototype.modInt = bnpModInt; + BigInteger.prototype.millerRabin = bnpMillerRabin; + + // public + BigInteger.prototype.clone = bnClone; + BigInteger.prototype.intValue = bnIntValue; + BigInteger.prototype.byteValue = bnByteValue; + BigInteger.prototype.shortValue = bnShortValue; + BigInteger.prototype.signum = bnSigNum; + BigInteger.prototype.toByteArray = bnToByteArray; + BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.min = bnMin; + BigInteger.prototype.max = bnMax; + BigInteger.prototype.and = bnAnd; + BigInteger.prototype.or = bnOr; + BigInteger.prototype.xor = bnXor; + BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.not = bnNot; + BigInteger.prototype.shiftLeft = bnShiftLeft; + BigInteger.prototype.shiftRight = bnShiftRight; + BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + BigInteger.prototype.bitCount = bnBitCount; + BigInteger.prototype.testBit = bnTestBit; + BigInteger.prototype.setBit = bnSetBit; + BigInteger.prototype.clearBit = bnClearBit; + BigInteger.prototype.flipBit = bnFlipBit; + BigInteger.prototype.add = bnAdd; + BigInteger.prototype.subtract = bnSubtract; + BigInteger.prototype.multiply = bnMultiply; + BigInteger.prototype.divide = bnDivide; + BigInteger.prototype.remainder = bnRemainder; + BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; + BigInteger.prototype.modPow = bnModPow; + BigInteger.prototype.modInverse = bnModInverse; + BigInteger.prototype.pow = bnPow; + BigInteger.prototype.gcd = bnGCD; + BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + + // BigInteger interfaces not implemented in jsbn: + + // BigInteger(int signum, byte[] magnitude) + // double doubleValue() + // float floatValue() + // int hashCode() + // long longValue() + // static BigInteger valueOf(long val) + + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////// + // END OF copy-and-paste of jsbn. + + BigInteger.NEGATIVE_ONE = BigInteger.ONE.negate(); + + // Other methods we need to add for compatibilty with js-numbers numeric tower. + + // add is implemented above. + // subtract is implemented above. + // multiply is implemented above. + // equals is implemented above. + // abs is implemented above. + // negate is defined above. + + // makeBignum: string -> BigInteger + var makeBignum = function(s) { + if (typeof(s) === 'number') { s = s + ''; } + s = expandExponent(s); + return new BigInteger(s, 10); + }; + + var zerostring = function(n) { + var buf = []; + for (var i = 0; i < n; i++) { + buf.push('0'); + } + return buf.join(''); + }; + + BigInteger.prototype.isFinite = function() { + return true; + }; + + BigInteger.prototype.isInteger = function() { + return true; + }; + + BigInteger.prototype.isRational = function() { + return true; + }; + + BigInteger.prototype.isExact = BigInteger.prototype.isRational; + + BigInteger.prototype.isReal = function() { + return true; + }; + + BigInteger.prototype.isRoughnum = function() { + return false; + }; + + BigInteger.prototype.isPositive = function() { + return this.compareTo(BigInteger.ZERO) > 0; + }; + + BigInteger.prototype.isNonNegative = function() { + return this.compareTo(BigInteger.ZERO) >= 0; + }; + + BigInteger.prototype.isNegative = function() { + return this.compareTo(BigInteger.ZERO) < 0; + }; + + BigInteger.prototype.isNonPositive = function() { + return this.compareTo(BigInteger.ZERO) <= 0; + }; + + BigInteger.prototype.toRational = function() { + return this; + }; + + BigInteger.prototype.toExact = BigInteger.prototype.toRational; + + BigInteger.prototype.toFixnum = function() { + var a = splitIntIntoMantissaExpt(this); + //console.log('bigint.tofixnum of', this); + //console.log('split = ', a); + var r = Number(String(a[0]) + 'e' + String(a[1])); + //console.log('returning', r); + return r; + } + + BigInteger.prototype.toRoughnum = function(errbacks) { + return Roughnum.makeInstance(this.toFixnum(), errbacks); + }; + + BigInteger.prototype.greaterThan = function(other, errbacks) { + return this.compareTo(other, errbacks) > 0; + }; + + BigInteger.prototype.greaterThanOrEqual = function(other, errbacks) { + return this.compareTo(other, errbacks) >= 0; + }; + + BigInteger.prototype.lessThan = function(other, errbacks) { + return this.compareTo(other, errbacks) < 0; + }; + + BigInteger.prototype.lessThanOrEqual = function(other, errbacks) { + return this.compareTo(other, errbacks) <= 0; + }; + + // divide: pyretnum -> pyretnum + // WARNING NOTE: we override the old version of divide. + BigInteger.prototype.divide = function(other, errbacks) { + var quotientAndRemainder = bnDivideAndRemainder.call(this, other); + if (quotientAndRemainder[1].compareTo(BigInteger.ZERO) === 0) { + return quotientAndRemainder[0]; + } else { + var result = add(quotientAndRemainder[0], + Rational.makeInstance(quotientAndRemainder[1], other, errbacks), errbacks); + return result; + } + }; + + BigInteger.prototype.numerator = function() { + return this; + }; + + BigInteger.prototype.denominator = function() { + return 1; + }; + + (function() { + // Classic implementation of Newton-Raphson square-root search, + // adapted for integer-sqrt. + // http://en.wikipedia.org/wiki/Newton's_method#Square_root_of_a_number + var searchIter = function(n, guess, errbacks) { + while(!(lessThanOrEqual(sqr(guess),n, errbacks) && + lessThan(n,sqr(add(guess, 1, errbacks), errbacks), errbacks))) { + guess = floor(divide(add(guess, + floor(divide(n, guess, errbacks), errbacks), errbacks), + 2, errbacks), errbacks); + } + return guess; + }; + + // integerSqrt: -> pyretnum + BigInteger.prototype.integerSqrt = function(errbacks) { + var n; + if(sign(this) >= 0) { + return searchIter(this, this, errbacks); + } else { + errbacks.throwDomainError('integerSqrt of negative bignum ' + this); + } + }; + })(); + + (function() { + // Get an approximation using integerSqrt, and then start another + // Newton-Raphson search if necessary. + BigInteger.prototype.sqrt = function(errbacks) { + var approx = this.integerSqrt(errbacks), fix; + if (eqv(sqr(approx, errbacks), this, errbacks)) { + return approx; + } + fix = toFixnum(this); + if (isFinite(fix)) { + return Roughnum.makeInstance(Math.sqrt(fix), errbacks); + } else { + return approx; + } + }; + })(); + + // sqrt: -> pyretnum + // http://en.wikipedia.org/wiki/Newton's_method#Square_root_of_a_number + // Produce the square root. + + // floor: -> pyretnum + // Produce the floor. + BigInteger.prototype.floor = function(errbacks) { + return this; + } + + // ceiling: -> pyretnum + // Produce the ceiling. + BigInteger.prototype.ceiling = function(errbacks) { + return this; + } + + // round: -> pyretnum + // Round to the nearest integer. + BigInteger.prototype.round = function(n, errbacks) { + return this; + }; + + BigInteger.prototype.roundEven = function(n, errbacks) { + return this; + }; + + // log: -> pyretnum + // Produce the log. + BigInteger.prototype.log = function(n, errbacks) { + return log(this.toFixnum(), errbacks); + }; + + // tan: -> pyretnum + // Produce the tan. + BigInteger.prototype.tan = function(n, errbacks) { + return tan(this.toFixnum(), errbacks); + }; + + // atan: -> pyretnum + // Produce the arc tangent. + BigInteger.prototype.atan = function(n, errbacks) { + return atan(this.toFixnum(), errbacks); + }; + + // cos: -> pyretnum + // Produce the cosine. + BigInteger.prototype.cos = function(n, errbacks) { + return cos(this.toFixnum(), errbacks); + }; + + // sin: -> pyretnum + // Produce the sine. + BigInteger.prototype.sin = function(n, errbacks) { + return sin(this.toFixnum(), errbacks); + }; + + // expt: pyretnum -> pyretnum + // Produce the power to the input. + BigInteger.prototype.expt = function(n, errbacks) { + return bnPow.call(this, n); + }; + + // exp: -> pyretnum + // Produce e raised to the given power. + BigInteger.prototype.exp = function(errbacks) { + var res = Math.exp(this.toFixnum()); + if (!isFinite(res)) + errbacks.throwDomainError('exp: argument too large: ' + this); + return Roughnum.makeInstance(res, errbacks); + }; + + // acos: -> pyretnum + // Produce the arc cosine. + BigInteger.prototype.acos = function(n, errbacks) { + return acos(this.toFixnum(), errbacks); + }; + + // asin: -> pyretnum + // Produce the arc sine. + BigInteger.prototype.asin = function(n, errbacks) { + return asin(this.toFixnum(), errbacks); + }; + + ////////////////////////////////////////////////////////////////////// + // toRepeatingDecimal: jsnum jsnum {limit: number}? -> [string, string, string] + // + // Given the numerator and denominator parts of a rational, + // produces the repeating-decimal representation, where the first + // part are the digits before the decimal, the second are the + // non-repeating digits after the decimal, and the third are the + // remaining repeating decimals. + // + // An optional limit on the decimal expansion can be provided, in which + // case the search cuts off if we go past the limit. + // If this happens, the third argument returned becomes '...' to indicate + // that the search was prematurely cut off. + var toRepeatingDecimal = (function() { + var getResidue = function(r, d, limit, errbacks) { + var digits = []; + var seenRemainders = {}; + seenRemainders[r] = true; + while(true) { + if (limit-- <= 0) { + return [digits.join(''), '...'] + } + + var nextDigit = quotient( + multiply(r, 10, errbacks), d, errbacks); + var nextRemainder = remainder( + multiply(r, 10, errbacks), + d, errbacks); + digits.push(nextDigit.toString()); + if (seenRemainders[nextRemainder]) { + r = nextRemainder; + break; + } else { + seenRemainders[nextRemainder] = true; + r = nextRemainder; + } + } + + var firstRepeatingRemainder = r; + var repeatingDigits = []; + while (true) { + var nextDigit = quotient(multiply(r, 10, errbacks), d, errbacks); + var nextRemainder = remainder( + multiply(r, 10, errbacks), + d, errbacks); + repeatingDigits.push(nextDigit.toString()); + if (equals(nextRemainder, firstRepeatingRemainder)) { + break; + } else { + r = nextRemainder; + } + }; + + var digitString = digits.join(''); + var repeatingDigitString = repeatingDigits.join(''); + + while (digitString.length >= repeatingDigitString.length && + (digitString.substring( + digitString.length - repeatingDigitString.length) + === repeatingDigitString)) { + digitString = digitString.substring( + 0, digitString.length - repeatingDigitString.length); + } + + return [digitString, repeatingDigitString]; + + }; + + return function(n, d, options, errbacks) { + // default limit on decimal expansion; can be overridden + var limit = 512; + if (options && typeof(options.limit) !== 'undefined') { + limit = options.limit; + } + if (! isInteger(n)) { + errbacks.throwDomainError('toRepeatingDecimal: n ' + n.toString() + + " is not an integer."); + } + if (! isInteger(d)) { + errbacks.throwDomainError('toRepeatingDecimal: d ' + d.toString() + + " is not an integer."); + } + if (equals(d, 0, errbacks)) { + errbacks.throwDomainError('toRepeatingDecimal: d equals 0'); + } + if (lessThan(d, 0, errbacks)) { + errbacks.throwDomainError('toRepeatingDecimal: d < 0'); + } + var sign = (lessThan(n, 0) ? "-" : ""); + n = abs(n, errbacks); + var beforeDecimalPoint = sign + quotient(n, d, errbacks); + var afterDecimals = getResidue(remainder(n, d, errbacks), d, limit, errbacks); + return [beforeDecimalPoint].concat(afterDecimals); + }; + })(); + ////////////////////////////////////////////////////////////////////// + // toStringDigits: jsnum jsnum -> string + // Converts the number to a string, providing digits precision in the + // output. If digits is positive, provides that many digits to the right + // of the decimal point (including adding zeroes beyond the actual precision of + // the number). If digits is negative, rounds that many positions to the + // left of the decimal, replacing them with zeroes. + // + // Note that num-to-string-digits is only for formatting, and its + // output's apparent precision may be unrelated to the actual precision of the + // input number, which may have been an approximation, or unrepresentable in + // decimal. + function toStringDigits(n, digits, errbacks) { + if (!isInteger(digits)) { + errbacks.throwDomainError('num-to-string-digits: digits should be an integer'); + } + var tenDigits = expt(10, digits, errbacks); + var d = toFixnum(digits); + n = divide(round(multiply(n, tenDigits, errbacks), errbacks), tenDigits, errbacks); + if (isInteger(n)) { + var ans = n.toString(); + if (d >= 1) { + ans += '.'; + for (var i = 0; i < d; i++) { + ans += '0'; + } + } + return ans; + } + // n is not an integer implies that d >= 1 + var decimal = toRepeatingDecimal(n.numerator(), n.denominator(), undefined, errbacks); + var ans = decimal[1].toString(); + while (ans.length < d) { + ans += decimal[2]; + } + return decimal[0] + '.' + ans.substring(0, d); + } + ////////////////////////////////////////////////////////////////////// + + // External interface of js-numbers: + + Numbers['fromFixnum'] = fromFixnum; + Numbers['fromString'] = fromString; + Numbers['fromSchemeString'] = fromSchemeString; + Numbers['makeBignum'] = makeBignum; + Numbers['makeRational'] = Rational.makeInstance; + Numbers['makeRoughnum'] = Roughnum.makeInstance; + + Numbers['isPyretNumber'] = isPyretNumber; + Numbers['isRational'] = isRational; + Numbers['isReal'] = isReal; + Numbers['isExact'] = isExact; + Numbers['isInteger'] = isInteger; + Numbers['isRoughnum'] = isRoughnum; + Numbers['isPositive'] = isPositive; + Numbers['isNegative'] = isNegative; + Numbers['isNonPositive'] = isNonPositive; + Numbers['isNonNegative'] = isNonNegative; + + Numbers['toFixnum'] = toFixnum; + Numbers['toExact'] = toExact; + Numbers['toRational'] = toRational; + Numbers['toRoughnum'] = toRoughnum; + + Numbers['add'] = add; + Numbers['subtract'] = subtract; + Numbers['multiply'] = multiply; + Numbers['divide'] = divide; + Numbers['equals'] = equals; + Numbers['equalsAnyZero'] = equalsAnyZero; + Numbers['eqv'] = eqv; // why is this being exported? + Numbers['roughlyEquals'] = roughlyEquals; + Numbers['roughlyEqualsRel'] = roughlyEqualsRel; + Numbers['greaterThanOrEqual'] = greaterThanOrEqual; + Numbers['lessThanOrEqual'] = lessThanOrEqual; + Numbers['greaterThan'] = greaterThan; + Numbers['lessThan'] = lessThan; + Numbers['expt'] = expt; + Numbers['exp'] = exp; + Numbers['modulo'] = modulo; + Numbers['numerator'] = numerator; + Numbers['denominator'] = denominator; + Numbers['integerSqrt'] = integerSqrt; + Numbers['sqrt'] = sqrt; + Numbers['abs'] = abs; + Numbers['quotient'] = quotient; + Numbers['remainder'] = remainder; + Numbers['floor'] = floor; + Numbers['ceiling'] = ceiling; + Numbers['round'] = round; + Numbers['roundEven'] = roundEven; + Numbers['log'] = log; + Numbers['tan'] = tan; + Numbers['atan'] = atan; + Numbers['atan2'] = atan2; + Numbers['cos'] = cos; + Numbers['sin'] = sin; + Numbers['tan'] = tan; + Numbers['acos'] = acos; + Numbers['asin'] = asin; + Numbers['sqr'] = sqr; + Numbers['gcd'] = gcd; + Numbers['lcm'] = lcm; + + Numbers['toRepeatingDecimal'] = toRepeatingDecimal; + Numbers['toStringDigits'] = toStringDigits; + + // The following exposes the class representations for easier + // integration with other projects. + Numbers['BigInteger'] = BigInteger; + Numbers['Rational'] = Rational; + Numbers['Roughnum'] = Roughnum; + Numbers['FloatPoint'] = Roughnum; //FIXME + Numbers['Complex'] = Roughnum; //FIXME + + Numbers['MIN_FIXNUM'] = MIN_FIXNUM; + Numbers['MAX_FIXNUM'] = MAX_FIXNUM; + + return Numbers; +}); +define("jglr/rnglr", ["jglr/cyclicJSON"], function(cycle) { + function SrcLoc(startRow, startCol, startChar, endRow, endCol, endChar) { + this.startRow = startRow; + this.startCol = startCol; + this.startChar = startChar; + this.endRow = endRow; + this.endCol = endCol; + this.endChar = endChar; + } + SrcLoc.cache = {}; + SrcLoc.reset = function() { SrcLoc.cache = {}; } + SrcLoc.make = function(startRow, startCol, startChar, endRow, endCol, endChar) { + var byStartChar = SrcLoc.cache[startChar]; + if (byStartChar === undefined) + byStartChar = SrcLoc.cache[startChar] = {}; + var byEndChar = byStartChar[endChar]; + if (byEndChar === undefined) + byEndChar = byStartChar[endChar] = new SrcLoc(startRow, startCol, startChar, endRow, endCol, endChar); + return byEndChar; + } + SrcLoc.prototype.toString = function(show_span) { + var ret = this.startRow + ":" + this.startCol; + if (show_span) + ret += "-" + this.endRow + ":" + this.endCol; + return ret; + } + SrcLoc.prototype.combine = function(that) { + if (this.startChar < that.startChar) { + if (this.endChar < that.endChar) { + return SrcLoc.make(this.startRow, this.startCol, this.startChar, that.endRow, that.endCol, that.endChar); + } else { + return SrcLoc.make(this.startRow, this.startCol, this.startChar, this.endRow, this.endCol, this.endChar); + } + } else { + if (this.endChar < that.endChar) { + return SrcLoc.make(that.startRow, that.startCol, that.startChar, that.endRow, that.endCol, that.endChar); + } else { + return SrcLoc.make(that.startRow, that.startCol, that.startChar, this.endRow, this.endCol, this.endChar); + } + } + } + SrcLoc.prototype.posAtStart = function() { + return SrcLoc.make(this.startRow, this.startCol, this.startChar, this.startRow, this.startCol, this.startChar); + } + SrcLoc.prototype.posAtEnd = function() { + return SrcLoc.make(this.endRow, this.endCol, this.endChar, this.endRow, this.endCol, this.endChar); + } + + ////////////////////////////////// + ////////// Various Sets ////////// + ////////////////////////////////// + function IntSet(items) { + this.elements = {}; + this.ordered = []; + if (items instanceof IntSet) { + for (var i = 0; i < items.ordered.length; i++) + this.add(items.ordered[i]); + } else if (items) { + for (var i = 0; i < items.length; i++) + this.add(items[i]); + } + } + IntSet.prototype.add = function(item) { + if (this.elements[item] === undefined) { + this.elements[item] = item; + this.ordered.push(item); + return true; + } + return false; + } + IntSet.prototype.contains = function(item) { return this.elements[item] !== undefined; } + IntSet.prototype.size = function() { return this.ordered.length; } + IntSet.prototype.get = function(index) { return this.ordered[index]; } + IntSet.prototype.toString = function() { + var items = this.ordered.slice(0); + items.sort(); + return "{" + JSON.stringify(items) + "}"; + } + IntSet.prototype.equals = function(that) { + if (this.size() !== that.size()) return false; + if (!(that instanceof IntSet)) return false; + for (var i = 0; i < this.ordered.length; i++) + if (that.elements[this.ordered[i]] === undefined) + return false; + return true; + } + + + function KeyedSet(key, items) { + this.elements = {}; + this.ordered = []; + this.uniqueId = "KS" + (++KeyedSet.nextSetId); + this.byKey = key; + if (key instanceof KeyedSet) { + items = key; + this.byKey = items.byKey; + for (var i = 0; i < items.ordered.length; i++) + this.add(items.ordered[i]); + } else if (items) { + for (var i = 0; i < items.length; i++) + this.add(items[i]); + } + } + KeyedSet.nextSetId = 0; + KeyedSet.equals = function(thiz, that) { return thiz.equals(that); } + KeyedSet.prototype.add = function(item) { + var key = item[this.byKey]; + if (this.elements[key] === undefined) { + this.elements[key] = item; + this.ordered.push(item); + return true; + } + return false; + } + KeyedSet.prototype.size = function() { return this.ordered.length; } + KeyedSet.prototype.contains = function(item) { return this.elements[item[this.byKey]] !== undefined; } + KeyedSet.prototype.equals = function(that) { + if (this.size() !== that.size()) return false; + if (this.byKey !== that.byKey) return false; + for (var i = 0; i < this.ordered.length; i++) + if (that.elements[this.ordered[i][this.byKey]] === undefined) + return false; + return true; + } + KeyedSet.prototype.get = function(index) { return this.ordered[index]; } + KeyedSet.prototype.itemForKey = function(key) { return this.elements[key]; } + KeyedSet.prototype.merge = function(that) { + var ret = false; + for (var i = 0; i < that.ordered.length; i++) + ret = this.add(that.ordered[i]) || ret; + return ret; + } + KeyedSet.prototype.toString = function() { + var keys = []; + for (var i = 0; i < this.ordered.length; i++) + keys.push(this.ordered[i][this.byKey]); + keys.sort(); + var s = ""; + for (var i = 0; i < keys.length; i++) { + if (s !== "") s += ", "; + var elt = this.elements[keys[i]]; + s += elt.asString ? elt.asString : elt.toString(); + } + return "{" + s + "}"; + } + + function LR1Set(rules) { + this.uniqueId = "LR" + ++LR1Set.nextId; + this.ruleIdx = {}; // maps rules-as-strings to indices in coreRules + this.coreRules = []; // array of core rules + this.core = []; // maps indices to sets of lookahead tokens + this.noLook = []; // true iff we have an LR0 item in this set + if (rules instanceof KeyedSet) { + for (var i = 0; i < rules.size(); i++) + this.addRule(rules.get(i)); + } else if (rules instanceof Array) { + for (var i = 0; i < rules.length; i++) + this.addRule(rules[i]); + } else if (rules instanceof LR1Set) { + this.coreRules = rules.coreRules.slice(0); + this.noLook = rules.noLook.slice(0); + for (var r in rules.ruleIdx) + this.ruleIdx[r] = rules.ruleIdx[r]; + for (var i = 0; i < rules.core.length; i++) + this.core[i] = new KeyedSet(rules.core[i]); + } + } + LR1Set.nextId = 0; + LR1Set.prototype.exhaustive = function() { + var ret = []; + for (var i = 0; i < this.coreRules.length; i++) { + if (this.noLook[i]) + ret.push(this.coreRules[i]); + for (var j = 0; j < this.core[i].size(); j++) { + ret.push(this.coreRules[i].withLookahead(this.core[i].get(j))); + } + } + return ret; + } + LR1Set.prototype.coreSize = function() { return this.coreRules.length; } + LR1Set.prototype.getCore = function(i) { return this.coreRules[i]; } + LR1Set.prototype.getLookaheads = function(i) { return this.core[i]; } + LR1Set.prototype.addRule = function(rule) { + var ret = false; + var noLookahead = rule.withLookahead(undefined); + ruleKey = noLookahead.toString(); + var idx = this.ruleIdx[ruleKey]; + if (idx === undefined) { + ret = true; + idx = this.ruleIdx[ruleKey] = this.coreRules.push(noLookahead) - 1; + } + if (rule.lookahead === undefined) { + ret = ret || !this.noLook[idx]; + this.noLook[idx] = true; + } else { + if (this.core[idx] === undefined) + this.core[idx] = new KeyedSet("key"); + ret = this.core[idx].add(rule.lookahead) || ret; + } + return ret; // Return true if something's been added + } + LR1Set.prototype.addRuleWithLookaheads = function(rule, lookaheads) { + var noLookahead = rule.withLookahead(undefined); + ruleKey = noLookahead.toString(); + var idx = this.ruleIdx[ruleKey]; + if (idx === undefined) { + idx = this.ruleIdx[ruleKey] = this.coreRules.push(noLookahead) - 1; + } + if (lookaheads.size() === 0) { + this.noLook[idx] = true; + } else { + if (this.core[idx] === undefined) + this.core[idx] = new KeyedSet("key"); + this.core[idx].merge(lookaheads); + } + } + LR1Set.prototype.toString = function(multiLine) { + var s = ""; + var sep = (multiLine ? "\n" : ", "); + var leader = (multiLine ? " " : ""); + for (var i = 0; i < this.coreRules.length; i++) { + if (this.noLook[i]) { + if (s !== "") s += sep; + s += leader + this.coreRules[i].toString(); + } + if (this.core[i] !== undefined) { + if (s !== "") s += sep; + s += leader + "[" + this.coreRules[i].toString() + ", " + this.core[i].toString() + "]"; + } + } + return "{" + (multiLine ? "\n" : "") + s + "}"; + } + LR1Set.equals = function(thiz, that) { return thiz.equalsCore(that); } + LR1Set.prototype.equalsCore = function(that) { + ret = true + if (this.core.length !== that.core.length) ret = false; + for (var r in this.ruleIdx) + if (that.ruleIdx[r] === undefined) ret = false; + return ret; + } + + + function SetOfSets(items, comparison) { + this.ordered = []; + this.comparison = comparison + if (items instanceof SetOfSets) { + if (!this.comparison) + this.comparison = items.comparison; + for (var i = 0; i < items.ordered.length; i++) + this.add(items.ordered[i]); + } else if (items) { + for (var i = 0; i < items.length; i++) + this.add(items[i]); + } + } + SetOfSets.prototype.toString = function(sep_lines, sorted) { + var s = ""; + var items_strs = [] + for (var i = 0; i < this.ordered.length; i++) + items_strs[i] = this.ordered[i].toString(); + if (sorted) + items_strs.sort(); + for (var i = 0; i < items_strs.length; i++) { + if (s == "") + s += "{" + items_strs[i] + else + s += (sep_lines ? ",\n " : ", ") + items_strs[i]; + } + if (s == "") + return "{}"; + return s + "}"; + } + SetOfSets.prototype.add = function(item) { + var key = item.toString(); + if (this.indexOf(item) === -1) { + this.ordered.push(item); + return true; + } + return false; + } + SetOfSets.prototype.indexOf = function(item) { + return this.indexOfHelp(this.ordered, item); + } + SetOfSets.prototype.indexOfHelp = function(items, item) { + for (var i = 0; i < items.length; i++) { + if ((this.comparison && this.comparison(items[i], item)) || + ((!this.comparison) && (items[i] == item))) { + return i; + } + } + return -1; + } + SetOfSets.prototype.size = function() { return this.ordered.length; } + SetOfSets.prototype.get = function(index) { return this.ordered[index]; } + + ////////////////////////////////// + ///////////// Queues ///////////// + ////////////////////////////////// + + function Queue(items) { + this.items = items.slice(0); + this.start = 0; + this.end = items.length; + this.length = items.length; + } + Queue.prototype.push = function(item) { + this.items[this.end] = item; + this.end++; + this.length++; + } + Queue.prototype.shift = function() { + if (this.length === 0) return undefined; + var ret = this.items[this.start]; + this.start++; + this.length--; + return ret; + } + Queue.prototype.get = function(idx) { + if (this.start + idx < this.end) return this.items[this.start + idx]; + return undefined; + } + Queue.prototype.insertAt = function(idx, item) { + if (this.start + idx < this.end) { + this.items.splice(this.start + idx, 0, item); + this.end++; + this.length++; + } else + this.push(item); + } + Queue.prototype.debugPrint = function() { + console.log("********** Debug print of queue: start = " + this.start + ", end = " + this.end + ", length = " + this.length); + for (var i = this.start; i < this.end; i++) { + if (this.end === i) console.log("<<-- END"); + if (this.start === i) console.log("-->> START"); + if (this.items[i].hasOwnProperty("debugPrint")) + console.log(i + ": " + this.items[i].debugPrint()); + else + console.log(i + ": " + this.items[i].toString(true)); + } + if (this.items.length === this.start) console.log("-->> START"); + if (this.items.length === this.end) console.log("<<-- END"); + } + + + ////////////////////////////////// + ///////////// Atoms ////////////// + ////////////////////////////////// + + function Atom() {} + Atom.equals = function(thiz, that) { + if (thiz === that) return true; + if ((thiz instanceof Nonterm) && (that instanceof Nonterm) && (thiz.name == that.name)) return true; + if ((thiz instanceof Token) && (that instanceof Token) && (thiz.name == that.name)) return true; + return false; + } + Atom.equals.toString = function() { return "Atom.equals" }; + Atom.fromSerializable = function(obj) { + if (obj === undefined) return undefined; + if (typeof obj === "string") { + if (obj === "EOF") return EOF; + if (obj === "EPSILON") return EPSILON; + if (obj === "HASH") return HASH; + var c = obj.charAt(0); + if (c === "'") return new Token(obj.substring(1)); + if (c === "@") return new Nonterm(obj.substring(1)); + } + if (obj.type === "Nonterm") return new Nonterm(obj.name); + if (obj.type === "Token") return new Token(obj.name, obj.value); + if (obj.type === "EOF") return EOF; + if (obj.type === "EPSILON") return EPSILON; + if (obj.type === "HASH") return HASH; + return null; + } + function Nonterm(name) { + this.name = name; + this.key = "@" + this.name; + this.asString = this.name; + } + Nonterm.prototype = Object.create(Atom.prototype); + Nonterm.prototype.toString = function() { /*throw new Error("Don't call me!");*/ return this.name; } + Nonterm.prototype.toSerializable = function() { return this.key; } + function Token(name, value) { + this.name = name; + if (value !== undefined) { + this.value = value; + this.key = "'" + this.name + ":" + this.value; + this.asString = "'" + this.name; + } else { + this.value = name; + this.key = "'" + this.name; + this.asString = this.key; + } + } + Token.prototype = Object.create(Atom.prototype); + Token.prototype.toRepr = function(showVal) { + if (showVal && this.name !== this.value) + return "('" + this.name + " " + JSON.stringify(this.value) + ")"; + else + return this.asString; + } + Token.prototype.toString = function() { /*throw new Error("Don't call me!");*/ return this.asString; } + Token.prototype.toSerializable = function() { + if (this.name !== this.value) + return {type: "Token", name: this.name, value: this.value}; + else + return "'" + this.name; + } + + const EOF = Object.create(Token.prototype, + {name: {enumerable: true, value: "EOF"}, + asString: {enumerable: true, value: "$"}, + toString: {value: function() { /*throw new Error("Don't call me!");*/ return "$"; }}, + toRepr: {value: function(showVal) { + if (showVal) return ""; + return "$"; + }}, + key: {enumerable: true, value: "$"}, + toSerializable: {value: function() { return "EOF"; } }}); + const EPSILON = Object.create(Atom.prototype, + {name: {enumerable: true, value: "EPSILON"}, + asString: {enumerable: true, value: "ε"}, + toString: {value: function() { /*throw new Error("Don't call me!");*/ return this.key; }}, + toRepr: {value: function() { return "ε"; }}, + key: {enumerable: true, value: "ε"}, + toSerializable: {value: function() { return "EPSILON"; } }}); + const HASH = Object.create(Atom.prototype, + {name: {enumerable: true, value: "HASH"}, + asString: {enumerable: true, value: "#"}, + toString: {value: function() { /*throw new Error("Don't call me!");*/ return "#"; }}, + toRepr: {value: function() { return "#"; }}, + key: {enumerable: true, value: "#"}, + toSerializable: {value: function() { return "HASH"; } }}); + + ////////////////////////////////// + //////////// Actions ///////////// + ////////////////////////////////// + + function Action() { } + Action.equals = function actionEquals(thiz, that) { + return (thiz.type === that.type && Rule.equals(thiz.rule, that.rule) && thiz.dest == that.dest); + } + Action.equals.toString = function() { return "Action.equals"; } + function ReduceAction(rule, f) { + this.type = "Reduce"; + this.rule = rule; + this.f = f; + //assert.notEqual(f, undefined, "Bad f value for rule " + rule); + this.key = rule.id + "#" + f + } + ReduceAction.prototype = Object.create(Action.prototype); + ReduceAction.prototype.toString = function(hideRule) { + if (hideRule) + return "Reduce " + this.rule.id; + else + return "Reduce(" + this.rule.id + ":" + this.rule.asString + ", m" + this.rule.position + ", f" + this.f + ")"; + } + ReduceAction.prototype.equals = function(that) { return (that instanceof ReduceAction) && (this.rule == that.rule); } + + ////////////////////////////////// + ///////////// Rules ////////////// + ////////////////////////////////// + + // name :: string + // symbols :: array of Atoms + // lookahead :: Atom or undefined + // position :: Number or undefined + function Rule(name, symbols, lookahead, position) { + this.id = Rule.NextRuleId++; + this.name = name; + this.symbols = symbols; + this.lookahead = lookahead + this.position = position || 0; + var s = this.name.toString() + " =>"; + var c = s + for (var i = 0; i < this.symbols.length; i++) { + if (i === this.position) + s += " ."; + s += " " + this.symbols[i].asString; + c += " " + this.symbols[i].asString; + } + this.coreString = c; + if (this.position === this.symbols.length) + s += " ."; + if (this.lookahead) + s = "[" + s + ", " + this.lookahead.asString + "]"; + this.asString = s; + } + Rule.semanticActions = {}; + Rule.defaultASTToString = function(show_pos) { + var toStr = "(" + this.name; + if (show_pos) + toStr += "@" + this.pos.toString(true); + for (var i = 0; i < this.kids.length; i++) { + if (this.kids[i].toRepr) + toStr += " " + this.kids[i].toRepr(true); + else if (this.kids[i].asString) + toStr += " " + this.kids[i].asString + else + toStr += " " + this.kids[i].toString(true); + } + toStr += ")"; + return toStr; + } + Rule.defaultAction = function(kids, curPos, semActions) { + var useful_kids = []; + for (var i = 0; i < kids.length; i++) { + if (kids[i].shouldInline === true) useful_kids = useful_kids.concat(kids[i].kids); + else useful_kids.push(kids[i]); + } + var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); + if (semActions !== undefined && semActions[this.name] !== undefined) + return semActions[this.name](useful_kids, pos); + else + return { name: this.name, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos }; + } + Rule.defaultAction.toString = function() { return "Rule.defaultAction"; } + Rule.defaultAction.toSerializable = function() { return "dA"; } + Rule.semanticActions["dA"] = Rule.defaultAction; + + Rule.ListSnoc = function(tl, hd, shouldInline) { + var ret = function(kids, curPos, ignoredSemActions) { + var useful_kids = []; + for (var i = 0; i < kids.length; i++) { + if (kids[i].name === hd) { + if (kids[i].shouldInline === true) + useful_kids = useful_kids.concat(kids[i].kids); + else + useful_kids.push(kids[i]); + } else if (kids[i].name === tl) useful_kids = useful_kids.concat(kids[i].kids); + } + var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); + return { name: tl, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos, + shouldInline: shouldInline }; + } + if (shouldInline) { + ret.toString = function() { return "Rule.ListSnoc(" + JSON.stringify(tl) + ", " + JSON.stringify(hd) + ", true)"; } + } + else { + ret.toString = function() { return "Rule.ListSnoc(" + JSON.stringify(tl) + ", " + JSON.stringify(hd) + ")"; } + } + ret.toSerializable = function() { return ["ListSnoc", tl, hd, shouldInline]; } + return ret; + } + Rule.semanticActions["ListSnoc"] = Rule.ListSnoc; + + Rule.Inline = function(kids, curPos, semActions) { + var ret = Rule.defaultAction.call(this, kids, curPos, semActions); + ret.shouldInline = true; + return ret; + } + Rule.Inline.toString = function() { return "Rule.Inline"; } + Rule.Inline.toSerializable = function() { return "Inline"; } + Rule.semanticActions["Inline"] = Rule.Inline; + + Rule.KeepOnly = function(names, shouldInline) { + var name_dict = {}; + for (var i = 0; i < names.length; i++) + name_dict[names[i]] = true; + var ret = function(kids, curPos, ignoredSemActions) { + var useful_kids = []; + for (var i = 0; i < kids.length; i++) { + if (name_dict[kids[i].name] === true) { + if (kids[i].shouldInline === true) + useful_kids = useful_kids.concat(kids[i].kids); + else + useful_kids.push(kids[i]); + } + } + var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); + return { name: this.name, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos, + shouldInline: shouldInline }; + } + if (shouldInline) { + ret.toString = function() { return "Rule.KeepOnly(" + JSON.stringify(names) + ", true)"; }; + } else { + ret.toString = function() { return "Rule.KeepOnly(" + JSON.stringify(names) + ")"; }; + } + ret.toSerializable = function() { return ["KeepOnly", names, shouldInline]; } + return ret; + } + Rule.semanticActions["KeepOnly"] = Rule.KeepOnly; + + var RuleFactory = {}; + RuleFactory.cache = {}; + RuleFactory.byId = {}; + RuleFactory.make = function(name, symbols, lookahead, pos) { + pos = pos || 0; + var findByName = RuleFactory.cache[name]; + var symbolsStr = "" + symbols.map((s) => s.asString); + if (findByName) { + var findBySymbols = findByName[symbolsStr]; + if (findBySymbols) { + var findByLookahead = findBySymbols[lookahead ? lookahead.asString : undefined]; + if (findByLookahead) { + var findByPos = findByLookahead[pos]; + if (findByPos) return findByPos; + else { + var rule = new Rule(name, symbols, lookahead, pos); + RuleFactory.byId[rule.id] = rule; + findByLookahead[pos] = rule; + return rule; + } + } else { + var rule = new Rule(name, symbols, lookahead, pos); + RuleFactory.byId[rule.id] = rule; + var byPos = {}; byPos[pos] = rule; + findBySymbols[lookahead ? lookahead.asString : undefined] = byPos; + return rule; + } + } else { + var rule = new Rule(name, symbols, lookahead, pos); + RuleFactory.byId[rule.id] = rule; + var byPos = {}; byPos[pos] = rule; + var byLookahead = {}; byLookahead[lookahead ? lookahead.asString : undefined] = byPos; + findByName[symbolsStr] = byLookahead; + return rule; + } + } else { + var rule = new Rule(name, symbols, lookahead, pos); + RuleFactory.byId[rule.id] = rule; + var byPos = {}; byPos[pos] = rule; + var byLookahead = {}; byLookahead[lookahead ? lookahead.asString : undefined] = byPos; + var bySymbols = {}; bySymbols[symbolsStr] = byLookahead; + RuleFactory.cache[name] = {}; RuleFactory.cache[name] = bySymbols; + return rule; + } + } + Rule.fromSerializable = function(rulesByOldId, id) { + var obj = rulesByOldId[id]; + if (obj.hasOwnProperty("like")) { + var base = Rule.fromSerializable(rulesByOldId, obj.like); + var lookahead = obj.lookahead; + var pos = obj.position; + return RuleFactory.make(base.name, base.symbols, Atom.fromSerializable(lookahead), pos); + } else { + var sym = []; + for (var i = 0; i < obj.symbols.length; i++) { + sym[i] = Atom.fromSerializable(obj.symbols[i]); + } + return RuleFactory.make(obj.name, sym, Atom.fromSerializable(obj.lookahead), obj.position); + } + } + + Rule.NextRuleId = 0; + Rule.equals = function(thiz, that) { + if (thiz === that) return true; + if (thiz === undefined || that === undefined) return false; + if (thiz.id === that.id) return true; + if (!(thiz.name == that.name && + thiz.symbols == that.symbols && + thiz.lookahead == that.lookahead && + thiz.position == that.position)) return false; + return true; + } + Rule.equalsCore = function(thiz, that) { + if (thiz === that) return true; + if (thiz === undefined || that === undefined) return false; + if (!(thiz.name == that.name && + thiz.symbols == that.symbols && + thiz.position == that.position)) return false; + return true; + } + Rule.prototype = { + toString: function() { return this.asString; }, + withPosition: function(pos) { + return RuleFactory.make(this.name, this.symbols, this.lookahead, pos); + }, + withLookahead: function(lookahead) { + return RuleFactory.make(this.name, this.symbols, lookahead, this.position); + }, + withLookaheadPosition: function(lookahead, pos) { + return RuleFactory.make(this.name, this.symbols, lookahead, pos); + }, + toSerializable: function() { + var ret = {}; + if (this.lookahead || this.position) { + if (this.lookahead) + ret.lookahead = this.lookahead.toSerializable(); + if (this.position) + ret.position = this.position; + ret.like = this.withLookaheadPosition(undefined, 0).id; + return ret; + } + ret.name = this.name; + if (this.position) + ret.position = this.position; + ret.symbols = []; + for (var i = 0; i < this.symbols.length; i++) + ret.symbols[i] = this.symbols[i].toSerializable(); + return ret; + } + } + + + + function Link(prev, val) { + this.prev = prev; + this.val = val; + this.linkId = Link.NextLinkId++; + } + Link.NextLinkId = 0; + Link.prototype.toString = function() { + return this.prev.state + "<-(" + this.linkId + (this.reduced ? "r" : "") + ")-" + this.val; + } + + + + function ShiftPair(gssNode, state) { + this.gssNode = gssNode; + this.state = state; + } + ShiftPair.prototype.toString = function() { return "Shift(" + this.gssNode.toString() + ", " + this.state + ")"; } + function ReductionItem(gssNode, rule, m, f, label) { + this.gssNode = gssNode; + this.rule = rule; + this.m = m; + this.f = f; + this.label = label; + } + ReductionItem.prototype.toString = function() { + return "RedItem(" + this.gssNode + ", " + this.rule + ", " + this.m + ", " + this.f + ", " + this.label + ")"; + } + function GSSNode(label) { + this.gssId = GSSNode.NextNodeId++; + this.label = label; + this.links = []; + // GSSNode.allNodes.push(this); + } + GSSNode.NextNodeId = 0; + // GSSNode.allNodes = []; + // GSSNode.reset = function() { + // GSSNode.NextNodeId = 0; + // GSSNode.allNodes = []; + // } + GSSNode.prototype.toString = function() { + return "GSSNode(#" + this.gssId + ",s" + this.parentSetId + ":st" + this.label + ")"; + } + GSSNode.prototype.forPathsOfLength = function(len, callback) { + if (len === 0) { + callback({labels: [], leftSib: this}); + } else { + //assert(this.links.length > 0, "Can't find any paths of length " + len + " from " + this) + for (var i = 0; i < this.links.length; i++) + pathLengthHelp(this.links[i], len, [], /*[this.toString()], */callback); + } + } + function pathLengthHelp(link, len, labels, /*stack, */callback) { + labels[len - 1] = link.val; + //stack.push(link.prev.toString()); + if (len == 1) { + // console.log("Constructed path via [" + stack + "]"); + // console.log("Calling callback with [" + labels + "] and leftSib.state " + link.prev.label); + callback({labels: labels, leftSib: link.prev}); + } else { + var prev_links = link.prev.links; + //assert(prev_links.length > 0, "Can't find any paths of length " + len + " from " + this) + for (var i = 0; i < prev_links.length; i++) + pathLengthHelp(prev_links[i], len - 1, labels, /*stack, */callback); + } + //stack.pop(); + } + + + + var allowNull = false; + function SPPFNode(label, pos) { + //if (!allowNull) + //assert(pos !== undefined && pos !== null); + this.sppfId = SPPFNode.NextId++; + this.label = label; + this.pos = pos; + this.rule = undefined; + this.kids = undefined; + this.ambig = undefined; + // SPPFNode.allNodes.push(this); + } + SPPFNode.NextId = 0; + // SPPFNode.allNodes = []; + // SPPFNode.reset = function() { + // SPPFNode.NextId = 0; + // SPPFNode.allNodes = []; + // } + SPPFNode.prototype.toString = function() { + var posString = "null"; + if (this.pos) + posString = this.pos.toString(true); + var ruleAmbig = ""; + if (this.rule) + ruleAmbig = this.rule.toString(); + else if (this.ambig) + ruleAmbig = "ambig"; + else if (this.label instanceof Token) + ruleAmbig = ""; + else + ruleAmbig = ""; + return "SPPFNode(" + this.sppfId + ", " + this.label.toString(true) + "@" + posString + " " + ruleAmbig + ")"; + } + SPPFNode.prototype.addChildren = function(rule, kids, grammar) { + if (this.kids === undefined && this.ambig === undefined) { + this.kids = kids; + this.rule = rule; + } else if (this.ambig === undefined) { + this.ambig = []; + this.ambig.push({kids: this.kids, rule: this.rule}); + this.ambig.push({kids: kids, rule: rule}); + delete this.kids; delete this.rule; + } else { + var ruleFlags = grammar.getFlags(rule); + var sortingFlag = grammar.ambiguitySortingFlag; + if (sortingFlag === undefined || ruleFlags === undefined || ruleFlags[sortingFlag] === undefined) { + this.ambig.push({kids: kids, rule: rule}); + } else { + var newFlag = ruleFlags[sortingFlag]; + for (var i = 0; i < this.ambig.length; i++) { + var flags = grammar.getFlags(this.ambig[i].rule); + var relevantFlag = flags ? flags[sortingFlag] : undefined; + if (relevantFlag > newFlag) { + this.ambig.splice(i, 0, {kids: kids, rule: rule}); + return; + } + } + this.ambig.push({kids: kids, rule: rule}); + } + } + } + + ////////////////////////////////// + //////////// Grammars //////////// + ////////////////////////////////// + + function Grammar(name, start) { + this.name = name; + this.rules = {}; + this.actions = {}; + this.flags = {}; + this.start = start; + this.rnTable = []; + this.acceptStates = []; + this.atoms = new KeyedSet("key", [EOF, EPSILON]); + this.tokens = new KeyedSet("key", [EOF, EPSILON]); + this.nonterms = new KeyedSet("key"); + } + + Grammar.fromSerializable = function(obj) { + switch(obj.version || 0) { + case 1: return Grammar.fromSerializableV1(obj); + case 0: + default: return Grammar.fromSerializableV0(obj); + } + } + Grammar.fromSerializableV1 = function(obj) { + const rawTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime + : (((typeof performance !== "undefined") && performance.now) ? performance.now.bind(performance) : Date.now); + var startTime = rawTime(); + function getTime() { return rawTime(startTime); } + var times = [] + times.push({"Start ": getTime()}); + var g = new Grammar(obj.name, obj.start); + times.push({"Constr ": getTime()}); + var rulesByOldId = {}; + var actionsByOldId = {}; + var flagsByOldId = {}; + GSSNode.NextNodeId = 0; + Link.NextLinkId = 0; + SPPFNode.NextId = 0 + for (var id in obj.rulesByOldId) { + rulesByOldId[id] = Rule.fromSerializable(obj.rulesByOldId, id); + var action = obj.actionsByOldId[id] + if (typeof action === "string" || action instanceof String) { + actionsByOldId[id] = Rule.semanticActions[action]; + } else if (action instanceof Array) { + var actionMaker = Rule.semanticActions[action.shift()]; + actionsByOldId[id] = actionMaker.apply(Rule, action); + } + flagsByOldId[id] = obj.flagsByOldId[id]; + } + times.push({"rulesByOldId ": getTime()}); + for (var i = 0; i < obj.rules.length; i++) { + g.addRule(rulesByOldId[obj.rules[i]], actionsByOldId[obj.rules[i]], flagsByOldId[obj.rules[i]]); + } + times.push({"addRules ": getTime()}); + g.rnTable = []; + var reduceActions = []; + for (var i = 0; i < obj.reduceActions.length; i += 2) + reduceActions[i] = new ReduceAction(rulesByOldId[obj.reduceActions[i]], obj.reduceActions[i + 1]); + times.push({"new redActs ": getTime(), numRedActs: reduceActions.length}); + var emptyActions = {push: undefined, reductions: new Set()}; + for (var i = 0; i < obj.rnTable.length; i++) { + var tableRow = obj.rnTable[i]; + var newRow = g.rnTable[i] = {}; + for (var j = 0; j < g.atoms.size(); j++) { + var atom = g.atoms.get(j).asString; + if (atom in tableRow) { + var nr = newRow[atom] = {push: undefined, reductions: new Set()}; + var tr = tableRow[atom]; + if (tr[0] >= 0) + nr.push = tr[0]; + var last = tr.length; + if (tr.length > 1 && tr[tr.length - 1] === -1) { + last--; + nr.accept = true; + } + for (var k = 1; k < last; k++) { + nr.reductions.add(reduceActions[tr[k]]); + } + } else { + newRow[atom] = emptyActions; + } + } + } + times.push({"rnTable ": getTime(), numAtoms: g.atoms.size(), tableLen: obj.rnTable.length}); + g.acceptStates = []; + for (var i = 0; i < obj.acceptStates.length; i++) + g.acceptStates[obj.acceptStates[i]] = true; + g.ambiguitySortingFlag = obj.ambiguitySortingFlag; + g.mode = obj.mode; + g.eSPPFs = []; + g.I = obj.I; + allowNull = true; + for (var i = 0; i < obj.eSPPFs.length; i++) { + var label = obj.eSPPFs[i].label; + if (label === "EPSILON") + label = EPSILON; + g.eSPPFs[i] = {null: new SPPFNode(label, null)}; + } + times.push({"bareSPPFs ": getTime()}); + allowNull = false; + for (var i = 0; i < obj.eSPPFs.length; i++) { + var src = obj.eSPPFs[i]; + var dest = g.eSPPFs[i].null; + if (src.kids) { + var kids = []; + for (var j = 0; j < src.kids.length; j++) + kids.push(g.eSPPFs[src.kids[j]].null); + dest.addChildren(rulesByOldId[src.rule], kids, this); + } + } + times.push({"finished ": getTime()}); + var end = rawTime(startTime); + const NS_PER_SEC = 1e9; + var cur = 0; + for (var i = 0; i < times.length; i++) { + for (var k in times[i]) { + if (times[i][k] instanceof Array) { + var next = (times[i][k][0] * NS_PER_SEC + times[i][k][1]) / NS_PER_SEC; + times[i][k] = (next - cur).toFixed(10); + cur = next; + } + } + } + times.push({"TOTAL ": ((end[0] * NS_PER_SEC + end[1]) / NS_PER_SEC).toFixed(10)}); + //console.log(times); + return g; + } + + Grammar.fromSerializableV0 = function(obj) { + const rawTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime + : (((typeof performance !== "undefined") && performance.now) ? performance.now.bind(performance) : Date.now); + var startTime = rawTime(); + function getTime() { return rawTime(startTime); } + var g = new Grammar(obj.name, obj.start); + var rulesByOldId = {}; + var actionsByOldId = {}; + var flagsByOldId = {}; + GSSNode.NextNodeId = 0; + Link.NextLinkId = 0; + SPPFNode.NextId = 0 + for (var id in obj.rulesByOldId) { + rulesByOldId[id] = Rule.fromSerializable(obj.rulesByOldId, id); + actionsByOldId[id] = obj.actionsByOldId[id] ? eval(obj.actionsByOldId[id]) : undefined; + flagsByOldId[id] = obj.flagsByOldId[id]; + } + for (var i = 0; i < obj.rules.length; i++) { + g.addRule(rulesByOldId[obj.rules[i]], actionsByOldId[obj.rules[i]], flagsByOldId[obj.rules[i]]); + } + g.rnTable = []; + for (var i = 0; i < obj.rnTable.length; i++) { + var tableRow = obj.rnTable[i]; + var newRow = g.rnTable[i] = {}; + for (var j = 0; j < g.atoms.size(); j++) { + var atom = g.atoms.get(j); + newRow[atom] = {push: undefined, reductions: new Set()}; + if (atom in tableRow) { + if (tableRow[atom].accept) + newRow[atom].accept = true; + if (tableRow[atom].push) { + //assert.equal(newRow[atom].push, undefined, "Already have a push action for atom " + atom); + newRow[atom].push = tableRow[atom].push; + } + if (tableRow[atom].reductions) { + for (var k = 0; k < tableRow[atom].reductions.length; k++) { + var red = tableRow[atom].reductions[k]; + newRow[atom].reductions.add(new ReduceAction(rulesByOldId[red[0]], red[1])); + } + } + } + } + } + g.acceptStates = []; + for (var i = 0; i < obj.acceptStates.length; i++) + g.acceptStates[obj.acceptStates[i]] = true; + g.derivable = {}; + for (var name in obj.derivable) { + g.derivable[name] = {}; + for (var i = 0; i < obj.derivable[name].length; i++) + g.derivable[name][obj.derivable[name][i]] = true; + } + g.ambiguitySortingFlag = obj.ambiguitySortingFlag; + g.mode = obj.mode; + g.eSPPFs = []; + g.I = obj.I; + allowNull = true; + for (var i = 0; i < obj.eSPPFs.length; i++) { + var label = obj.eSPPFs[i].label; + if (label === "EPSILON") + label = EPSILON; + g.eSPPFs[i] = {null: new SPPFNode(label, null)}; + } + allowNull = false; + for (var i = 0; i < obj.eSPPFs.length; i++) { + var src = obj.eSPPFs[i]; + var dest = g.eSPPFs[i].null; + if (src.kids) { + var kids = []; + for (var j = 0; j < src.kids.length; j++) + kids.push(g.eSPPFs[src.kids[j]].null); + dest.addChildren(rulesByOldId[src.rule], kids, this); + } + } + var end = rawTime(startTime); + const NS_PER_SEC = 1e9; + var cur = 0; + console.log({"TOTAL ": ((end[0] * NS_PER_SEC + end[1]) / NS_PER_SEC).toFixed(10)}); + return g; + } + + + + Grammar.prototype = { + resetParser: function() { + this.rnTable = []; + this.acceptStates = []; + delete this.first; + delete this.nontermFirst; + delete this.states; + this.firstStringCache = {}; + this.closureCache = {}; + }, + initializeParser: function(verbose) { + console.log("Initializing " + this.name); + var new_start; + if (!this.initialized) { + new_start = "START"; + while (this.rules.hasOwnProperty(new_start)) + new_start += "_"; + this.addRule(new_start, [new Nonterm(this.start)]); + this.start = new_start; + this.initialized = true; + } + var orig_start = this.rules[this.start][0].symbols[0]; + if (verbose) { + console.log("Grammar productions:"); + for (var name in this.rules) + for (var i = 0; i < this.rules[name].length; i++) + console.log(" " + this.rules[name][i].toString(true)); + } + console.log("Computing first sets"); + this.resetParser(); + this.computeFirstSets(); + console.log("Computing derivability"); + this.computeDerivability(); + console.log("Computing states"); + this.computeStateKernels(); + console.log("Computing required nullable parts"); + this.computeRequiredNullableParts(); + console.log("Computing RN Table"); + this.computeRNTable(); + // console.log(this.printTables()); + this.mode = "RNGLR"; + console.log("Done initializing " + this.name); + }, + parse: function(token_stream) { + this.resetESPPFs(); + if (this.mode === "RNGLR") + return this.parseRNGLR(token_stream); + return "Unknown parsing mode -- can't actually parse!" + }, + toString: function() { + var s = "Grammar " + this.name + ": (initial rule " + this.start + ")\n"; + for (var name in this.rules) { + var rules = this.rules[name]; + for (var i = 0; i < rules.length; i++) + s += rules[i].toString() + "\n"; + } + return s; + }, + sortAmbiguitiesBy: function(s) { + this.ambiguitySortingFlag = s; + }, + toSerializable: function(version) { + switch(version || 0) { + case 1: return this.toSerializableV1(); + case 0: + default: return this.toSerializableV0(); + } + }, + + + toSerializableV1: function() { + var ret = {}; + ret.version = 1; + ret.start = this.start; + ret.name = this.name; + ret.acceptStates = []; + for (var i = 0; i < this.acceptStates.length; i++) + if (this.acceptStates[i]) + ret.acceptStates.push(i); + if (this.ambiguitySortingFlag) + ret.ambiguitySortingFlag = this.ambiguitySortingFlag; + ret.mode = this.mode; + ret.rulesByOldId = {}; + ret.actionsByOldId = {}; + ret.flagsByOldId = {}; + ret.rules = []; + for (var name in this.rules) { + for (var i = 0; i < this.rules[name].length; i++) { + var rule = this.rules[name][i]; + var id = rule.id; + ret.rulesByOldId[id] = rule.toSerializable(); + ret.rules.push(id); + var rule_noLookahead = rule.withLookahead(undefined); + ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); + ret.actionsByOldId[rule_noLookahead.id] = this.getAction(rule_noLookahead); + if (ret.actionsByOldId[rule_noLookahead.id] !== undefined) { + ret.actionsByOldId[rule_noLookahead.id] = ret.actionsByOldId[rule_noLookahead.id].toSerializable(); + } + ret.flagsByOldId[rule_noLookahead.id] = this.getFlags(rule_noLookahead); + } + } + ret.reduceActions = []; + var reduceActionsCache = {}; + ret.rnTable = []; // TODO: Fix this + for (var i = 0; i < this.rnTable.length; i++) { + var tableRow = this.rnTable[i]; + ret.rnTable[i] = {}; + for (var name in tableRow) { + if (tableRow[name].push === undefined && !tableRow[name].accept && tableRow[name].reductions.size === 0) { + //ret.rnTable[i][name] = "empty"; + } else { + var entry = tableRow[name]; + var dest = ret.rnTable[i][name] = []; + dest.push(entry.push === undefined ? -1 : entry.push); + entry.reductions.forEach(function(red) { + if (reduceActionsCache[red.rule.id] === undefined) + reduceActionsCache[red.rule.id] = {}; + if (reduceActionsCache[red.rule.id][red.f] === undefined) { + reduceActionsCache[red.rule.id][red.f] = ret.reduceActions.length; + ret.reduceActions.push(red.rule.id, red.f); + } + dest.push(reduceActionsCache[red.rule.id][red.f]); + ret.rulesByOldId[red.rule.id] = red.rule.toSerializable(); + var rule_noLookahead = red.rule.withLookahead(undefined); + ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); + }); + if (entry.accept) dest.push(-1); + } + } + } + ret.I = this.I; + ret.eSPPFs = []; + for (var i = 0; i < this.eSPPFs.length; i++) { + var null_eSPPF = this.eSPPFs[i].null; + var label = null_eSPPF.label; + if (label === EPSILON) { + label = "EPSILON"; + } + if (null_eSPPF.kids) { + var kids = []; + for (var j = 0; j < null_eSPPF.kids.length; j++) + kids.push(null_eSPPF.kids[j].sppfId); + if (null_eSPPF.rule) + ret.eSPPFs[i] = {label: label, kids: kids, rule: null_eSPPF.rule.id}; + else + ret.eSPPFs[i] = {label: label, kids: kids}; + } else { + if (null_eSPPF.rule) + ret.eSPPFs[i] = {label: label, rule: null_eSPPF.rule.id}; + else + ret.eSPPFs[i] = {label: label}; + } + } + return ret; + }, + + + toSerializableV0: function() { + var ret = {}; + ret.start = this.start; + ret.name = this.name; + ret.acceptStates = []; + for (var i = 0; i < this.acceptStates.length; i++) + if (this.acceptStates[i]) + ret.acceptStates.push(i); + if (this.ambiguitySortingFlag) + ret.ambiguitySortingFlag = this.ambiguitySortingFlag; + ret.mode = this.mode; + ret.derivable = {}; + for (var name in this.derivable) { + ret.derivable[name] = []; + for (var der in this.derivable[name]) + ret.derivable[name].push(der); + } + ret.rulesByOldId = {}; + ret.actionsByOldId = {}; + ret.flagsByOldId = {}; + ret.rules = []; + for (var name in this.rules) { + for (var i = 0; i < this.rules[name].length; i++) { + var rule = this.rules[name][i]; + var id = rule.id; + ret.rulesByOldId[id] = rule.toSerializable(); + ret.rules.push(id); + var rule_noLookahead = rule.withLookahead(undefined); + ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); + ret.actionsByOldId[rule_noLookahead.id] = this.getAction(rule_noLookahead); + if (ret.actionsByOldId[rule_noLookahead.id] !== undefined) { + ret.actionsByOldId[rule_noLookahead.id] = ret.actionsByOldId[rule_noLookahead.id].toString(); + } + ret.flagsByOldId[rule_noLookahead.id] = this.getFlags(rule_noLookahead); + } + } + ret.rnTable = []; // TODO: Fix this + for (var i = 0; i < this.rnTable.length; i++) { + var tableRow = this.rnTable[i]; + ret.rnTable[i] = {}; + for (var name in tableRow) { + if (tableRow[name].push === undefined && !tableRow[name].accept && tableRow[name].reductions.size === 0) { + //ret.rnTable[i][name] = "empty"; + } else { + var entry = tableRow[name]; + var dest = ret.rnTable[i][name] = {}; + if (entry.accept) dest.accept = true; + if (entry.push !== undefined) { + dest.push = entry.push; + } + if (entry.reductions.size > 0) { + dest.reductions = []; + entry.reductions.forEach(function(red) { + dest.reductions.push([red.rule.id, red.f]); + ret.rulesByOldId[red.rule.id] = red.rule.toSerializable(); + var rule_noLookahead = red.rule.withLookahead(undefined); + ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); + }); + } + } + } + } + ret.I = this.I; + ret.eSPPFs = []; + for (var i = 0; i < this.eSPPFs.length; i++) { + var null_eSPPF = this.eSPPFs[i].null; + var label = null_eSPPF.label; + if (label === EPSILON) { + label = "EPSILON"; + } + if (null_eSPPF.kids) { + var kids = []; + for (var j = 0; j < null_eSPPF.kids.length; j++) + kids.push(null_eSPPF.kids[j].sppfId); + if (null_eSPPF.rule) + ret.eSPPFs[i] = {label: label, kids: kids, rule: null_eSPPF.rule.id}; + else + ret.eSPPFs[i] = {label: label, kids: kids}; + } else { + if (null_eSPPF.rule) + ret.eSPPFs[i] = {label: label, rule: null_eSPPF.rule.id}; + else + ret.eSPPFs[i] = {label: label}; + } + } + return ret; + }, + + addRule: function(name, symbols, action, flags) { + var new_rule; + if (name instanceof Rule) { + new_rule = name; + name = new_rule.name; + flags = action; // slide arguments over by one + action = symbols; + symbols = new_rule.symbols; + } else { + new_rule = RuleFactory.make(name, symbols, undefined, undefined); + } + if (action === undefined) + action = Rule.defaultAction; + this.actions[new_rule.id] = action; + this.flags[new_rule.id] = flags; + if (!(this.rules.hasOwnProperty(name))) + this.rules[name] = []; + this.rules[name].push(new_rule); + this.atoms.add(new Nonterm(name)); + this.nonterms.add(new Nonterm(name)); + for (var i = 0; i < symbols.length; i++) { + this.atoms.add(symbols[i]); + if (symbols[i] instanceof Nonterm) + this.nonterms.add(symbols[i]) + else + this.tokens.add(symbols[i]) + } + return new_rule; + }, + + getAction: function(rule) { + var baseRule = rule.withLookaheadPosition(undefined, 0); + var action = this.actions[baseRule.id]; + return action; + }, + applyAction: function(rule, kids, pos, semActions) { + var action = this.getAction(rule); + return action.call(rule, kids, pos, semActions); + }, + getFlags: function(rule) { + return this.flags[rule.withLookaheadPosition(undefined, 0).id]; + }, + + ////////////////////////////////// + // Computes what nonterminals can derive other nonterminals in one or more steps, + // i.e. A ->+ B for two nonterminals A and B (possibly the same) + ////////////////////////////////// + computeDerivability: function() { + this.derivable = {} + for (var i = 0; i < this.nonterms.size(); i++) + this.derivable[this.nonterms.get(i).asString] = {}; + var changed = true; + while(changed) { + changed = false; + // console.log("\nNew loop..."); + for (var name in this.rules) { + var rules = this.rules[name] + for (var i = 0; i < rules.length; i++) { + var rule = rules[i]; + // console.log("Processing rule [" + rule + "]"); + if (rule.symbols.length === 0) { + // if (!this.derivable[name][EPSILON.asString]) + // console.log(" " + name + " can derive EPSILON via rule " + rule); + changed = changed || (!this.derivable[name][EPSILON.asString]); + this.derivable[name][EPSILON.asString] = true; // Rule is nullable + } + for (var j = 0; j < rule.symbols.length; j++) { + var sym = rule.symbols[j] + if ((sym instanceof Token) && (sym !== EOF)) { + // console.log(" Rule [" + rule + "] isn't nullable due to " + sym.asString + " so skipping rest"); + break; // A token in the RHS of a rule means it can't derive a nonterminal on its own + } + var restNullable = true; + for (var k = j + 1; k < rule.symbols.length; k++) { + if (rule.symbols[k] === EOF) continue; + if ((rule.symbols[k] instanceof Token) || + (this.derivable[rule.symbols[k].asString][EPSILON.asString] !== true)) { + restNullable = false; + break; + } + } + if (restNullable) { + // if (!this.derivable[name][sym.asString]) + // console.log(" " + name + " can derive " + sym.asString + " via [" + rule + "]"); + changed = changed || (!this.derivable[name][sym.asString]); + this.derivable[name][sym.asString] = true; + } + if ((!this.derivable[sym.asString]) || this.derivable[sym.asString][EPSILON.asString] !== true) { + // console.log("Rule [" + rule + "] isn't nullable after " + sym.asString + " so skipping rest"); + break; // This nonterminal isn't nullable, so skip the rest of the rule + } + } + } + } + + for (var i = 0; i < this.nonterms.size(); i++) { + var term_i = this.nonterms.get(i).asString; + for (var j = 0; j < this.nonterms.size(); j++) { + var term_j = this.nonterms.get(j).asString; + if (i == j || !this.derivable[term_i][term_j]) continue; + if (this.derivable[term_j][EPSILON.asString] && !this.derivable[term_i][EPSILON.asString]) { + // console.log(term_i + " can derive EPSILON via " + term_j); + this.derivable[term_i][EPSILON.asString] = true; + } + for (var k = 0; k < this.nonterms.size(); k++) { + var term_k = this.nonterms.get(k); + if (j == k || !this.derivable[term_j][term_k]) continue; + // if (!this.derivable[term_i][term_k]) + // console.log(term_i + " can derive " + term_k + " via " + term_j); + changed = changed || (!this.derivable[term_i][term_k]) + this.derivable[term_i][term_k] = true; + } + } + } + } + // console.log("Done"); + }, + + ////////////////////////////////// + // Computes the set of first tokens in a rule + // If a rule is nullable, then EPSILON is one possible token + ////////////////////////////////// + computeFirstSets: function() { + var thiz = this; + var changed = true; + function addFirst(name, token) { + var ret = !(token.asString in thiz.first[name]) + thiz.first[name][token.asString] = token; + return ret; + } + function merge(dest, source) { + var ret = false; + for (var tok in thiz.first[source]) + if (thiz.first[source][tok] !== EPSILON) + ret = addFirst(dest, thiz.first[source][tok]) || ret; + return ret; + } + this.first = {}; + this.nontermFirst = {}; + for (var name in this.rules) { + if (this.rules.hasOwnProperty(name)) { + this.first[name] = {}; + this.nontermFirst[name] = new KeyedSet("key", [new Nonterm(name)]); + for (var i = 0; i < this.rules[name].length; i++) + if (this.rules[name][i].symbols.length === 0) + addFirst(name, EPSILON); + } + } + while (changed) { + changed = false; + for (var name in this.rules) { + var name_rules = this.rules[name]; + for (var i = 0; i < name_rules.length; i++) { + var name_rule = name_rules[i]; + var allNullable = true; + for (var j = 0; j < name_rule.symbols.length; j++) { + if (name_rule.symbols[j] instanceof Nonterm) { + changed = merge(name, name_rule.symbols[j].asString) || changed; + //if (this.nontermFirst[name_rule.symbols[j]] === undefined) + //assert(false, "Couldn't find a nontermFirst for " + name_rule.symbols[j]); + this.nontermFirst[name].merge(this.nontermFirst[name_rule.symbols[j].asString]); + if (this.first[name_rule.symbols[j].asString][EPSILON.asString] !== EPSILON) { + allNullable = false; + break; + } + } else { + changed = addFirst(name, name_rule.symbols[j]) || changed; + allNullable = false; + break; + } + } + if (allNullable) { + addFirst(name, EPSILON); + } + } + } + } + }, + + + ////////////////////////////////// + // Computes the tokens that can immediately follow the specified position + // in the current rule. This is a subset of the Follow set for the given + // nonterminal, and is therefore more precise and less prone to producing + // parsing conflicts. + ////////////////////////////////// + computeFollowAtPosition: function(rule, pos) { + if (rule.lookahead) + return this.computeFirstOfStrings(rule.symbols.slice(pos).concat(rule.lookahead)); + else + return this.computeFirstOfStrings(rule.symbols.slice(pos)); + }, + + ////////////////////////////////// + // Lifts the first relation from non-terminals to strings of grammar symbols + computeFirstOfStrings: function(string) { + var joinedStrings = "" + string.map((s) => s.asString); + var ret = this.firstStringCache[joinedStrings]; + if (ret !== undefined) return ret; + ret = this.firstStringCache[joinedStrings] = new KeyedSet("key"); + var nullable = true; + // console.log("syms[" + i + "] = [" + string + "], length = " + string.length); + for (var j = 0; j < string.length; j++) { + if (string[j] instanceof Token || string[j] === HASH) { // Tokens aren't nullable, so we're done + ret.add(string[j]); + nullable = false; + break; + } else { + var first = this.first[string[j].asString]; + if (first === undefined) { + console.log("Internal error! string[j] = " + JSON.stringify(string[j]) + " but first is undefined"); + } + for (var name in first) { + if (first[name] !== EPSILON) + ret.add(first[name]); + } + if (first[EPSILON.asString] === undefined) { // This nonterminal isn't nullable, so we're done + nullable = false; + break; + } + } + } + if (nullable) + ret.add(EPSILON); + return ret; + }, + + ////////////////////////////////// + // Computes the LR(1) closure of a rule set: + // For a given rule [A -> a.Bb, x] in the set, it adds [B -> .g, y] + // for all [B -> g] in the grammar, and all y in FIRST(bx). + // + // If inline = true, then it mutates the provided argument + // otherwise it constructs a new set and returns that. + // Dragon book 2ed, p261 + completeClosure: function(lrSet, inline) { + var ret = inline ? lrSet : new LR1Set(lrSet); + var worklist = new Queue(ret.exhaustive()); + while (worklist.length > 0) { + var rule = worklist.shift(); + if (rule.position < rule.symbols.length) { + var next_symbol = rule.symbols[rule.position]; + if (next_symbol instanceof Nonterm) { + var next = this.computeFollowAtPosition(rule, rule.position + 1); + // console.log(" next(" + rule + ") = " + next); + var rules_to_add = this.rules[next_symbol.asString] + if (rules_to_add === undefined) { + throw("No rules known for symbol " + next_symbol.asString); + } + for (var j = 0; j < rules_to_add.length; j++) { + var rule_to_add = rules_to_add[j]; + for (var k = 0; k < next.size(); k++) { + var new_rule = RuleFactory.make(rule_to_add.name, rule_to_add.symbols, next.get(k), 0) + if (ret.addRule(new_rule)) { + worklist.push(new_rule); + } + } + } + } + } + } + return ret; + }, + + ////////////////////////////////// + // Computes the kernel of the LR(1) Goto set for a given kernel and symbol + // Dragon book 2ed, p261 + computeGotoKernel: function(setNum, lrSet, symbol) { + // console.log("--> Rule_set #" + setNum + " = " + lrSet + ", symbol = " + symbol); + var ret = new LR1Set(); + for (var i = 0; i < lrSet.coreSize(); i++) { + var rule = lrSet.getCore(i); + // console.log(" Processing rule " + rule); + if (rule.position < rule.symbols.length && rule.symbols[rule.position].asString == symbol.asString) { + // console.log(" Pushing " + symbol + " over in rule " + rule); + var new_rule = rule.withPosition(rule.position + 1); + // console.log(" new_rule = " + new_rule + " and lookaheads = " + lrSet.getLookaheads(i)); + ret.addRuleWithLookaheads(new_rule, lrSet.getLookaheads(i)); + } + } + this.completeClosure(ret, true); + // console.log("<-- Result = " + ret); + return ret; + }, + + reducer: function(U, R, Q, N, i, cur_tok, skipped_WS_loc) { + // cur_tok = token #i+1: i starts at index 0, and tokens start at index 1 + // U is an array of sets of GSS nodes + // R is the worklist of pending reductions + // Q is the set of (GSS node, token) pairs of pending shifts + // N is the set of SPPF nodes created in this step + // cur_tok is the current token + var item = R.shift(); + // console.log("In reducer, i = " + i + ", cur_tok = " + cur_tok.toString(true) + ", and item = " + item); + var v = item.gssNode; // GSS node from which the reduction is to be applied + var X = item.rule.name; // the name of the reduction rule + var m = item.m; // the length of the RHS of the reduction rule (maybe just item.rule.position?) + var f = item.f; // the index of the required nullable part at the righthand end of the reduction + // or 0 if the reduction isn't right-nullable + var y = item.label; // the SPPF node labels the first edge of the path down which the reduction is applied + // (if m = 0 then y = epsilon) [sic] + var y_m = (m !== 0 ? y : undefined) + var U_i = U[i] + const thiz = this; + v.forPathsOfLength(m > 0 ? (m - 1) : 0, function(p) { + // console.log("Found path " + JSON.stringify(p, null, " ")); + // p.labels contain the edge labels of the path + var u = p.leftSib; + var k = u.label; + var l = thiz.rnTable[k][X].push; + if (l !== undefined) { + // console.log("k = " + k + ", X = " + X + ", l = " + l); + var z = undefined; + if (m === 0) + z = thiz.getEpsilonSPPF(f, cur_tok.pos.posAtStart()); + else { + var c = u.parentSetId; + var nodes_X = N[X]; + if (nodes_X === undefined) + nodes_X = N[X] = {}; + z = nodes_X[c]; + if (z === undefined) { + var pos; + if (skipped_WS_loc !== undefined) { + pos = skipped_WS_loc.posAtStart(); + } else { + pos = cur_tok.pos; + } + if (p.labels.length > 0) { + pos = pos.combine(p.labels[0].pos); + } + z = nodes_X[c] = new SPPFNode(X, pos); + } + } + // console.log("z = " + z); // XXX Serializing of eSPPFs isn't working + var w = U_i.itemForKey(l); + if (w !== undefined) { + // console.log("1. Adding link from " + w + " to " + u + " labelled " + z); + if (thiz.addLink(/*from*/w, /*to*/u, /*labelled*/z)) { + if (m !== 0) { + var actions = thiz.getActions(l, cur_tok); + if (actions !== undefined) { + var reductions = actions.reductions; + reductions.forEach(function(red) { + if (red.rule.position !== 0) + R.push(new ReductionItem(u, red.rule, red.rule.position, red.f, z)); + }); + } else { + // Possibly shouldn't throw? + // throw("No actions found in state " + l + " for token " + next_tok.toString(true) + " at " + + // next_tok.pos.toString(true)); + } + } + } + } else { + w = new GSSNode(/*labelled*/l); + w.parentSetId = U_i.id; + U_i.add(w); + // console.log("Added " + w + " to U[" + i + "] ==> " + U_i); + // console.log("2. Adding link from " + w + " to " + u + " labelled " + z); + thiz.addLink(/*from*/w,/*to*/u,/*labelled*/z); + var actions = thiz.getActions(l, cur_tok); + if (actions !== undefined) { + var ph = actions.push; + if (ph !== undefined) + Q.push(new ShiftPair(w, ph)); + var reductions = actions.reductions; + // console.log("reductions(" + l + ", " + cur_tok.toString(true) + ") = " + reductions); + reductions.forEach(function(red) { + if (red.rule.position === 0) + // the label here is irrelevant, because m == 0 means the rest of the rule derives EPSILON + R.push(new ReductionItem(w, red.rule, 0, red.f, EPSILON)); + }); + if (m !== 0) { + reductions.forEach(function(red) { + if (red.rule.position !== 0) + R.push(new ReductionItem(u, red.rule, red.rule.position, red.f, z)); + }); + } + } else { + // Possibly shouldn't throw? + // throw("No actions found in state " + l + " for token " + next_tok.toString(true) + " at " + + // next_tok.pos.toString(true)); + } + } + // console.log("R.length = " + R.length); + // R.debugPrint(); + if (m !== 0) { + var labels = p.labels.slice(0); + labels.push(y_m); + thiz.addChildren(item.rule, z, labels, f, skipped_WS_loc !== undefined ? skipped_WS_loc.posAtStart() : cur_tok.pos.posAtStart()); + } + } + }); + }, + + addLink: function(rightSib, leftSib, val) { + var link = undefined; + for (var i = 0; i < rightSib.links.length; i++) { + if (rightSib.links[i].prev === leftSib) { + link = rightSib.links[i]; + break; + } + } + if (link === undefined) { + link = new Link(leftSib, val); + rightSib.links.push(link); + // console.log("Linking " + leftSib.toString() + " <-- " + rightSib.toString() + " with val " + val + "@" + val.pos); + return link; + } else { + // console.log("Link already exists between " + leftSib.toString() + " <-- " + rightSib.toString()); + return undefined; + } + }, + + shifter: function(U, R, Q, N, i, cur_tok, next_tok) { + // cur_tok = token #i+1: i starts at index 0, and tokens start at index 1 + // next_tok = token #i+2 + // U is an array of sets of GSS nodes + // R is the worklist of pending reductions + // Q is the set of (GSS node, token) pairs of pending shifts + // N is the set of SPPF nodes created in this step + var success = false; + if (cur_tok !== EOF) { // if i != d, in the paper, where d is the last token number + // Q.debugPrint(); + var Qprime = new Queue([]); + var z = new SPPFNode(cur_tok, cur_tok.pos); + var U_i1 = U[i+1] = new KeyedSet("label"); + U_i1.id = i + 1; + while (Q.length > 0) { + var item = Q.shift(); + var v = item.gssNode; + var k = item.state; + var w = U_i1.itemForKey(k); + // console.log("item = " + item + ", k = " + k + " and therefore w = " + w); + if (w !== undefined) { + success = true; + this.addLink(/*from*/w, /*to*/v, /*labelled*/z); + var actions = this.getActions(k, next_tok); + if (actions !== undefined) { + var reductions = actions.reductions; + reductions.forEach(function(red) { + if (red.rule.position !== 0) + R.push(new ReductionItem(v, red.rule, red.rule.position, red.f, z)); + }); + } else { + // Possibly shouldn't throw? + // throw("No actions found in state " + k + " for token " + next_tok.toString(true) + " at " + + // next_tok.pos.toString(true)); + } + } else { + w = new GSSNode(/*labelled*/k); + w.parentSetId = U_i1.id; + U_i1.add(w); + // console.log("Added " + w + " to U[" + (i + 1) + "] ==> " + U_i1); + this.addLink(/*from*/w, /*to*/v, /*labelled*/z); + + var actions = this.getActions(k, next_tok); + // console.log("next_tok = " + next_tok.toString(true) + ", k = " + k + ", actions = " + JSON.stringify(actions)); + if (actions !== undefined) { + success = true; + var ph = actions.push; + if (ph !== undefined) { + var sp = new ShiftPair(w, ph); + // console.log("Pushing " + sp + " onto Q'"); + Qprime.push(sp); + } + var reductions = actions.reductions; + // console.log("Reductions for k = " + k + " next_tok = " + next_tok + " are " + reductions); + reductions.forEach(function(red) { + // console.log("red.f = " + red.f + ", red.rule.position = " + red.rule.position); + if (red.rule.position !== 0) { + R.push(new ReductionItem(v, red.rule, red.rule.position, red.f, z)); + } + }); + reductions.forEach(function(red) { + if (red.rule.position === 0) { + // the label here is irrelevant, because m == 0 means the rest of the rule derives EPSILON + R.push(new ReductionItem(w, red.rule, 0, red.f, EPSILON)); + } + }); + // console.log("R = "); + // R.debugPrint(); + } else { + // Possibly shouldn't throw? + // throw("No actions found in state " + k + " for token " + next_tok.toString(true) + " at " + + // next_tok.pos.toString(true)); + } + } + } + while (Qprime.length > 0) + Q.push(Qprime.shift()); + // console.log("At the end of shifter(" + i + "), Q = "); + // Q.debugPrint(); + } + return success; + }, + + addChildren: function(rule, y, kids, f, pos) { + var lambda = kids.slice(0); + if (f !== 0) + lambda.push(this.getEpsilonSPPF(f, pos)); + // Find lambda in the kids of y + function examine(y_rule, y_kids) { + if (y_rule !== rule) return false; + if (y_kids.length !== lambda.length) return false; + for (var i = 0; i < y_kids.length; i++) + if (y_kids[i] !== lambda[i]) return false; + return true; + } + var found = false; + if (y.kids) { + found = examine(y.rule, y.kids); + } else if (y.ambig) { + for (var i = 0; i < y.ambig.length; i++) + if (examine(y.ambig[i].rule, y.ambig[i].kids)) { + found = true; + break; + } + } + if (!found) + y.addChildren(rule, lambda, this); + }, + + getActions: function(state, tok) { + var tableRow = this.rnTable[state]; + var actions1 = tableRow[tok.asString]; + return actions1; + }, + /* + printSPPFasDot: function() { + var ret = []; + ret.push("digraph " + this.name + "_SPPF {"); + ret.push(" rankdir=RL; clusterrank=local;"); + ret.push(" // Nodes"); + for (var i = 0; i < SPPFNode.allNodes.length; i++) { + var node = SPPFNode.allNodes[i]; + var style = ""; + if (node.inline) + style = ", style=dashed"; + var label = "SPPFNode #" + node.sppfId; + if (node.inline) + label += "\nInlined e-SPPF for " + node.label; + else + label += "\nLabel: " + node.label.toString(true); + if (node.rule) + label += "\nRule: " + node.rule.toString(); + else if (node.ambig) + label += "\nMultiple derivations"; + + ret.push(" " + node.sppfId + " [label=" + JSON.stringify(label) + style + "];"); + if (node.ambig !== undefined) { + for (var j = 0; j < node.ambig.length; j++) { + ret.push(" \"" + node.sppfId + "_" + j + + "\" [label=" + JSON.stringify(node.ambig[j].rule.toString()) +", shape=box];"); + } + } + } + ret.push(" // Edges"); + for (var i = 0; i < SPPFNode.allNodes.length; i++) { + var node = SPPFNode.allNodes[i]; + if (node.kids !== undefined) + for (var j = 0; j < node.kids.length; j++) + ret.push(" " + node.sppfId + " -> " + node.kids[j].sppfId + + " [label=\"" + j + "\"];"); + else if (node.ambig !== undefined) { + for (var j = 0; j < node.ambig.length; j++) { + ret.push(" " + node.sppfId + " -> \"" + node.sppfId + "_" + j + "\";"); + for (var k = 0; k < node.ambig[j].kids.length; k++) + ret.push(" \"" + node.sppfId + "_" + j + "\" -> " + node.ambig[j].kids[k].sppfId + + " [label=\"" + k + "\"];"); + } + } + } + ret.push("}"); + return ret.join("\n"); + }, + + printGSSasDot: function() { + var ret = []; + ret.push("digraph " + this.name + "_GSS {"); + ret.push(" rankdir=RL; clusterrank=local;"); + ret.push(" // Nodes"); + for (var i = 0; i < GSSNode.allNodes.length; i++) { + var node = GSSNode.allNodes[i]; + ret.push(" " + node.gssId + "[label=" + JSON.stringify(node.toString()) + "];"); + } + ret.push(" // Ranks"); + for (var i = 0; i < this.U.length; i++) { + var s = ""; + for (var j = 0; j < this.U[i].size(); j++) + s += " " + this.U[i].get(j).gssId + ";"; + ret.push(" subgraph cluster" + i + " {"); + ret.push(" rank = same; color=black;"); + if (i > 0) + ret.push(" label=\"Token " + i + "\""); + ret.push(" " + s); + ret.push(" }"); + } + ret.push(" // Edges"); + for (var i = 0; i < GSSNode.allNodes.length; i++) { + var node = GSSNode.allNodes[i]; + for (var j = 0; j < node.links.length; j++) + ret.push(" " + node.gssId + " -> " + node.links[j].prev.gssId + + "[label=" + JSON.stringify(node.links[j].val.toString()) + "]" + //+ "[label=" + JSON.stringify(JSON.decycle(node.links[j].val), null, " ") + "]" + + ";"); + } + ret.push("}"); + return ret.join("\n"); + }, + */ + + ////////////////////////////////// + // The RNGLR algorithm + // Following Scott & Johnstone '06, TOPLAS 28:4 + ////////////////////////////////// + parseRNGLR: function(token_source) { + if (token_source.isEmpty()) { + if (this.acceptStates[0]) + return this.getEpsilonSPPF(this.I[this.start.asString], SrcLoc.make(0,0,0,0,0,0)); + else { + console.log("There are zero tokens available, but the grammar does not accept the empty string"); + return undefined; + } + } else { + var v0 = new GSSNode(0); + var U0 = new KeyedSet("label", [v0]); + U0.id = 0; + v0.parentSetId = U0.id; + this.U = []; + this.U[0] = U0; + var R = new Queue([]); + var Q = new Queue([]); + var hasNext = true; + var cur_tok = token_source.next(); // need to peek at first token + var actions = this.getActions(0, cur_tok); + // console.log("Actions[0][" + cur_tok.toRepr(true) + "] = " + JSON.stringify(actions)); + if (actions !== undefined) { + var pk = actions.push; + if (pk !== undefined) + Q.push(new ShiftPair(v0, pk)); + // console.log("Q = "); + // Q.debugPrint(); + var reductions = actions.reductions; + reductions.forEach(function(red) { + if (red.rule.position === 0) + // Again, label shouldn't matter because length is 0 + R.push(new ReductionItem(v0, red.rule, 0, red.f, EPSILON)); + }); + } + // console.log("R = "); + // R.debugPrint(); + var i = 0; + // try { + while (hasNext && this.U[i].size() > 0) { + var N = new Queue([]); + // console.log("Phase 1: reducing due to token #" + i + ": " + cur_tok.toRepr(true)); + while (R.length > 0) { + this.reducer(this.U, R, Q, N, i, cur_tok, token_source.skippedWhitespace); + } + hasNext = token_source.hasNext(); + var next_tok = hasNext ? token_source.next() : undefined; + // console.log("Phase 2: shifting token #" + i + ": " + cur_tok.toRepr(true)); + hasNext = this.shifter(this.U, R, Q, N, i, cur_tok, next_tok) && hasNext; + if (hasNext) { + cur_tok = next_tok; + } else { + token_source.unshiftToken(cur_tok); + } + i++; + } + // console.log("DONE WITH LOOP, i = " + i + // + ", last token = " + cur_tok.toString(true) + "@" + cur_tok.pos.toString(true) + // + ", hasNext = " + hasNext + ", final set emptied out: " + (this.U[i].size() == 0)); + if (!hasNext) i--; + // console.log("Finalizing: i = " + i + " and U[i] = " + this.U[i]); + for (var acc = 0; acc < this.acceptStates.length; acc++) { + if (this.acceptStates[acc]) { + //console.log("Searching for " + acc); + var t = this.U[i].itemForKey(acc); + if (t !== undefined) { + //console.log("Parse success!"); + var link = undefined; + for (var j = 0; j < t.links.length; j++) { + if (t.links[j].prev === v0) { + link = t.links[j]; + break; + } + } + if (link !== undefined) { + return link.val; + } else + console.log("Couldn't find correct link in " + JSON.stringify(JSON.decycle(t), null, " ")); + } else { + //console.log("Parse failure"); + } + } + } + // // Collect error information + // if (i > 0) { + // var acc = undefined; + // for (var j = 0; j < this.U[i - 1].size(); j++) { + // var head = this.U[i - 1].get(j); + // console.log("For token " + i + ", " + cur_tok + ", head is in state " + head.label); + // acc = this.plausibleTokensForState(head.label, acc); + // } + // throw(acc); + // } + // } catch(e) { + // console.log(e); + // return undefined; + // } + } + }, + + plausibleTokensForState: function(state, ret) { + if (ret === undefined) + ret = {}; + for (var j = 0; j < this.tokens.size(); j++) { + var tok = this.tokens.get(j); + var actions = this.getActions(state, tok); + if (tok !== EPSILON && actions !== undefined && + (actions.push !== undefined || (actions.reductions !== undefined && actions.reductions.size > 0))) { + console.log("In state " + state + " for token " + tok + ", actions = " + JSON.stringify([...actions.reductions])); + ret[tok] = true; + } + } + return ret; + }, + + constructAllParses: function(sppfNode, semActions) { + if (sppfNode === undefined) return undefined; + if (sppfNode.label instanceof Token) { + return [sppfNode.label]; + } + var options = undefined; + if (sppfNode.ambig) + options = sppfNode.ambig; + else + options = [{kids: sppfNode.kids, rule: sppfNode.rule}]; + var ret = []; + for (var i = 0; i < options.length; i++) { + var kids = options[i].kids; + var rule = options[i].rule; + var kidsParses = []; + for (var j = 0; j < kids.length; j++) { + if (kids[j].rule === undefined && kids[j].ambig === undefined && kids[j].inline === true) { + for (var k = 0; k < kids[j].kids.length; k++) { + kidsParses.push([this.applyAction(kids[j].kids[k].rule, kids[j].kids[k].kids, kids[j].kids[k].pos, semActions)]); + } + } else if (kids[j].rule === undefined && kids[j].kids !== undefined && kids[j].label.indexOf(',') > -1) { + for (var k = 0; k < kids[j].kids.length; k++) { + kidsParses.push(this.constructAllParses(kids[j].kids[k], semActions)); + } + } else { + kidsParses.push(this.constructAllParses(kids[j], semActions)); + } + } + const thiz = this; + ret = ret.concat(this.cartesian(kidsParses, 0, [], + function(kids) { return thiz.applyAction(rule, kids, sppfNode.pos, semActions); })); + } + return ret; + }, + cartesian: function(arrays, idx, arr, callback) { + if (arrays.length == idx) return callback(arr); + var ret = []; + for (var i = 0; i < arrays[idx].length; i++) { + ret = ret.concat(this.cartesian(arrays, idx+1, arr.concat(arrays[idx][i]), callback)); + } + return ret; + }, + + countAllParses: function(sppfNode) { + if (sppfNode === undefined) return 0; + var todo = [[[sppfNode]]]; // stack of alternate lists of children + var count = [[[]], [[]]]; // stack of sums of factors + while (todo.length > 0) { + var top = todo[todo.length - 1]; + var topCount = count[count.length - 1]; + if (top.length === 0) { // done with all parses of a given node + todo.pop(); + count.pop(); + var tot = 0; + for (var i = 0; i < topCount.length; i++) { + var prod = 1; + for (var j = 0; j < topCount[i].length; j++) + prod *= topCount[i][j]; + tot += prod; + } + var newTopCount = count[count.length - 1]; + newTopCount[newTopCount.length - 1].push(tot); + } else if (top[top.length - 1].length === 0) { // done with one alternative + top.pop(); + if (top.length > 0) { + topCount.push([]); + } + } else { + var node = top[top.length - 1].pop(); + if (node.label instanceof Token) { + topCount[topCount.length - 1].push(1); + } else if (node.ambig && node.ambig.length > 0) { + count.push([[]]); + todo.push(node.ambig.map(function(d) { return d.kids.slice(0); })); + } else if (node.kids && node.kids.length > 0) { + count.push([[]]); + todo.push([node.kids.slice(0)]); + } + } + } + if (count.length > 0 && count[0].length > 0 && count[0][0].length > 0) + return count[0][0][0]; + else + throw count; + }, + + constructUniqueParse: function(sppfNode, semActions) { + if (sppfNode === undefined) return undefined; + // Each stack item is a pair {todo, done}, where todo is a list of children + // in reverse order (so that pop goes from left-to-right in actual tree order) + // and done is a list of children in tree order + // If there are nodes todo: + // We examine the pop()ed node from stack[TOP].todo: + // if it has kids, we push a new stack item + // otherwise, we move it over + // Otherwise we reduce + var stack = [{todo: [sppfNode], done: []}]; + while (stack.length > 0 && stack[0].todo.length > 0) { + var curr = stack[stack.length - 1]; + if (curr.todo.length > 0) { + var next = curr.todo[curr.todo.length - 1]; + if (next.label instanceof Token) { + curr.todo.pop(); + curr.done.push(next.label); + } else if (next.ambig) { + throw("Not a unique parse"); + } else if (next.rule === undefined && next.label.indexOf(',') > -1) { + curr.todo.pop(); + for (var k = next.kids.length - 1; k >= 0; k--) + curr.todo.unshift(next.kids[k]); + } else if (next.kids.length == 0) { + // Optimization for nullary nonterminals + curr.todo.pop(); + var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; + curr.done.push(this.applyAction(next.rule, [], pos, semActions)) + } else { + stack.push({todo: next.kids.slice(0).reverse(), done: []}); + } + } else { + if (stack.length > 1) { + stack.pop(); + var prev = stack[stack.length - 1]; + var toReduce = prev.todo.pop(); + if (toReduce.rule === undefined) { + function jsonPos(key, value) { + if (key === "pos") { return "SrcLoc(" + value.toString(true) + ")"; } + else { return value; } + } + throw("Cannot find a reduction rule on " + JSON.stringify(toReduce, jsonPos, " ")); + } else { + prev.done.push(this.applyAction(toReduce.rule, curr.done, toReduce.pos, semActions)); + } + } + } + } + return stack[0].done[0]; + }, + + constructNextParse: function(sppfNode, semActions, directions) { + if (sppfNode === undefined) return undefined; + // Directions contains an array of pairs {choice, of} + // saying which index choice (out of how many choices) at an ambig node + // was taken by the previous parse. + // To compute the next parse, remove all trailing pairs for which choice == of, + // then increment the last remaining choice + var newDirs = []; + if (directions) { + var lastIndex = directions.length - 1; + while (lastIndex >= directions[lastIndex].choice == directions[lastIndex].of) + lastIndex--; + if (lastIndex < 0) return undefined; + for (var i = 0; i < lastIndex; i++) + newDirs[i] = directions[i]; + newDirs[lastIndex] = {choice: directions[i].choice + 1, of: directions[i].of}; + } + var stack = [{todo: [sppfNode], done: []}]; + var curDir = 0; + while (stack.length > 0 && stack[0].todo.length > 0) { + var curr = stack[stack.length - 1]; + if (curr.todo.length > 0) { + var next = curr.todo[curr.todo.length - 1]; + if (next.label instanceof Token) { + curr.todo.pop(); + curr.done.push(next.label); + } else if (next.rule === undefined && next.label.indexOf(',') > -1) { + curr.todo.pop(); + for (var k = next.kids.length - 1; k >= 0; k--) + curr.todo.unshift(next.kids[k]); + } else if (next.ambig) { + if (curDir < newDirs.length) { + next = next.ambig[newDirs[curDir++].choice]; + } else { + newDirs.push({choice: 0, of: next.ambig.length}) + next = next.ambig[0]; + } + if (next.kids.length == 0) { + // Optimization for nullary nonterminals + curr.todo.pop(); + var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; + curr.done.push(this.applyAction(next.rule, [], pos, semActions)) + } else { + stack.push({todo: next.kids.slice(0).reverse(), done: []}); + } + } else if (next.kids.length == 0) { + // Optimization for nullary nonterminals + curr.todo.pop(); + var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; + curr.done.push(this.applyAction(next.rule, [], pos, semActions)) + } else { + stack.push({todo: next.kids.slice(0).reverse(), done: []}); + } + } else { + if (stack.length > 1) { + stack.pop(); + var prev = stack[stack.length - 1]; + var toReduce = prev.todo.pop(); + if (toReduce.rule === undefined) { + function jsonPos(key, value) { + if (key === "pos") { return "SrcLoc(" + value.toString(true) + ")"; } + else { return value; } + } + throw("Cannot find a reduction rule on " + JSON.stringify(toReduce, jsonPos, " ")); + } else { + prev.done.push(this.applyAction(toReduce.rule, curr.done, toReduce.pos, semActions)); + } + } + } + } + return {parse: stack[0].done[0], directions: newDirs}; + }, + checkPositionContainment: function(sppfNode) { + if (sppfNode === undefined) return undefined; + var violations = []; + //var worklist = [sppfNode]; + function helper(node) { + var pos = node.pos; + if (node.kids) { + for (var i = 0; i < node.kids.length; i++) { + var kidPos = node.kids[i].pos; + if (kidPos.startChar < pos.startChar || kidPos.endChar > pos.endChar) { + violations.push(node); + break; + } + } + } else if (node.ambig) { + for (var i = 0; i < node.ambig.length; i++) { + var kids = node.ambig[i].kids; + var shouldBreak = false + for (var j = 0; j < kids.length; j++) { + var kidPos = kids[j].pos; + if (kidPos.startChar < pos.startChar || kidPos.endChar > pos.endChar) { + violations.push(node); + shouldBreak = true; + break; + } + } + if (shouldBreak) break; + } + } + } + helper(sppfNode); + if (violations.length > 0) return violations; + return false; + }, + + computeRequiredNullableParts: function() { + // The I dictionary is an index of all nullable nonterminals and (nonempty) strings of + // nonterminals that appear as right-hand tails in rules in the grammar. + // The eSPPFs table is a dictionary indexed first by I value and second by position. + // We already ensure that position objects are singletons, and this second-level + // dictionary ensures that e-SPPFs are singletons too, for each position in the + // parse tree for which they are needed. This helps ensure that finding existing links + // doesn't create duplicates and therefore does't cause duplicate parses, later. + allowNull = true; + this.I = {}; + this.I[EPSILON.asString] = 0; + this.eSPPFs = []; + this.eSPPFs[0] = {null: new SPPFNode(EPSILON, null)}; + // Initialize all eSPPFs to empty nodes + for (var name in this.rules) { + if (this.derivable[name][EPSILON.asString] !== true) continue; + var name_eSPPF = new SPPFNode(name, null); + this.I[name] = this.eSPPFs.length; + this.eSPPFs.push({null: name_eSPPF}); + } + // Compute the e-closure of the rules + for (var name in this.rules) { + if (this.derivable[name][EPSILON.asString] !== true) continue; + var rules_name = this.rules[name]; + var name_eSPPF = this.eSPPFs[this.I[name]].null; + for (var i = 0; i < rules_name.length; i++) { + var rule = rules_name[i]; + if (this.computeFirstOfStrings(rule.symbols).contains(EPSILON)) { + var kids = []; + for (var j = 0; j < rule.symbols.length; j++) { + kids.push(this.eSPPFs[this.I[rule.symbols[j].asString]].null); + } + name_eSPPF.addChildren(rule, kids, this); + } + } + } + // Compute required nullable parts + for (var name in this.rules) { + var rules_name = this.rules[name]; + for (var i = 0; i < rules_name.length; i++) { + var rule = rules_name[i]; + for (var j = 1/*note: not 0*/; j < rule.symbols.length; j++) { + var slice = rule.symbols.slice(j); + var sliceStrs = slice.map((s) => s.asString); + var sliceStr = "" + sliceStrs; + if (this.computeFirstOfStrings(slice).contains(EPSILON) && this.I[sliceStr] === undefined) { + var eSPPF_slice = new SPPFNode(sliceStr, null); + eSPPF_slice.inline = true; + var kids = []; + for (var k = 0; k < slice.length; k++) + kids[k] = this.eSPPFs[this.I[sliceStrs[k]]].null; + eSPPF_slice.kids = kids; + this.I[sliceStrs] = this.eSPPFs.length; + this.eSPPFs.push({null: eSPPF_slice}); + } + } + } + } + allowNull = false; + }, + getI: function(rule) { + var ret = undefined; + if (rule.position === 0) ret = this.I[rule.name]; + else if (rule.position === rule.symbols.length) ret = this.I[EPSILON.asString]; + else ret = this.I[rule.symbols.slice(rule.position).map((s) => s.asString)]; + return ret; + }, + getEpsilonSPPF: function(i, pos) { + function find(node, cache) { + for (var i = 0; i < cache.length; i++) { + if (cache[i].key === node) { + return cache[i].value; + } + } + return undefined; + } + function clone(node, cache) { + var ret = find(node, cache); + if (ret !== undefined) return ret; + ret = {}; + cache.push({key: node, value: ret}); + ret.sppfId = node.sppfId; + ret.name = node.name; + ret.label = node.label; + ret.pos = pos; + ret.toString = node.toString; + ret.rule = node.rule; + ret.inline = node.inline; + if (node.kids !== undefined) { + ret.kids = []; + for (var i = 0; i < node.kids.length; i++) { + ret.kids[i] = clone(node.kids[i], cache); + } + } else if (node.ambig !== undefined) { + ret.ambig = []; + for (var i = 0; i < node.ambig.length; i++) { + var kids = []; + ret.ambig.push({kids: kids, rule: node.ambig[i].rule}); + for (var j = 0; j < node.ambig[i].kids.length; j++) { + kids[j] = clone(node.ambig[i].kids[j], cache); + } + } + } + return ret; + } + var byI = this.eSPPFs[i]; + var ret = byI[pos]; + if (ret === undefined) + ret = byI[pos] = clone(byI[null], []); + return ret; + }, + resetESPPFs: function() { + for (var i = 0; i < this.eSPPFs.length; i++) { + this.eSPPFs[i] = {null: this.eSPPFs[i].null}; + } + }, + + computeRNTable: function() { + const thiz = this; + function initTables(index) { + var tableRow = thiz.rnTable[index]; + if (tableRow === undefined) + tableRow = thiz.rnTable[index] = {}; + for (var k = 0; k < thiz.atoms.size(); k++) { + if (tableRow[thiz.atoms.get(k).asString] === undefined) + tableRow[thiz.atoms.get(k).asString] = {push: undefined, reductions: new Set()}; + } + } + + + initTables(0); + // This doesn't seem to be needed, because we always explicitly shift the EOF token + // if (this.derivable[this.start][EPSILON] === true) { + // this.acceptStates[0] = true; + // this.rnTable[0][EOF].accept = true; + // } + for (var i = 0; i < this.states.size(); i++) { + var state_i = this.states.get(i); + initTables(i); + // console.log("State " + i + " = " + state_i.toString()); + var full_state = this.completeClosure(state_i); + // console.log("FullState " + i + " = " + full_state.toString()); + for (var j = 0; j < full_state.coreSize(); j++) { + var rule_j = full_state.getCore(j); + if (rule_j.name === this.start) { + if (rule_j.position === rule_j.symbols.length && full_state.getLookaheads(j).contains(EOF)) { + this.acceptStates[i] = true; + this.rnTable[i][EOF.asString].accept = true; + } + } else { + if (this.computeFollowAtPosition(rule_j, rule_j.position).contains(EPSILON)) { + var lookaheads = full_state.getLookaheads(j); + for (var k = 0; k < lookaheads.size(); k++) { + if (this.rnTable[i][lookaheads.get(k).asString] === undefined) { + throw("Can't get rnTable actions for i = " + i + " and symbol = " + lookaheads.get(k).asString + " in rule " + rule_j.toString(true)); + } + this.rnTable[i][lookaheads.get(k).asString].reductions.add(new ReduceAction(rule_j, this.getI(rule_j))); + } + } + } + } + } + }, + + ////////////////////////////////// + // + + + ////////////////////////////////// + // Algorithm 4.13 (p242-243) in Dragon book + computeStateKernels: function() { + var init_rule = this.rules[this.start][0].withLookahead(EOF); + this.init_set = new LR1Set([init_rule]); + this.completeClosure(this.init_set, true); + var kernelStates = new SetOfSets([this.init_set], LR1Set.equals); + this.rnTable = []; + // Step 1 + var worklist = new Queue([this.init_set]); + var state_num = -1; + while (worklist.length > 0) { + var set = worklist.shift(); + state_num++; + this.rnTable[state_num] = undefined; + for (var j = 0; j < this.atoms.size(); j++) { + var atom_j = this.atoms.get(j); + var new_set = this.computeGotoKernel(state_num, set, atom_j); + if (new_set.coreSize() > 0) { + var gotoStateNum = undefined; + if (kernelStates.add(new_set)) { + gotoStateNum = kernelStates.size() - 1; + // console.log("\nAdded new_set at index " + gotoStateNum + ": " + new_set.toString() + "\n"); + // console.log("Added new_set at index " + gotoStateNum); + worklist.push(new_set); + } else { + gotoStateNum = kernelStates.indexOf(new_set); + // console.log("Set already exists at index " + gotoStateNum + ": " + new_set.toString()); + } + // console.log(state_num + ":" + set + " goes to " + gotoStateNum + ":" + new_set + " via symbol " + atom_j); + var tableRow = this.rnTable[state_num]; + if (tableRow === undefined) + tableRow = this.rnTable[state_num] = {}; + var tableCell = tableRow[atom_j.asString]; + if (tableCell === undefined) + tableCell = tableRow[atom_j.asString] = {push: undefined, reductions: new Set()}; + if (tableCell.push !== undefined && tableCell.push !== gotoStateNum) + throw ("Already have a push action for atom " + atom_j.asString + " in state " + state_num + ": supposed to goto state " + tableCell.push + " and now need to go to " + gotoStateNum); + tableCell.push = gotoStateNum; + } + } + } + console.log("Done with step 1"); + // console.log("There are " + kernelStates.size() + " kernel states"); + // console.log(kernelStates.toString(true)); + // Step 2 + this.states = []; + var spontLookaheads = {}; // Map from goto state number -> rule id -> setOf(lookaheads) + var propLookaheads = {}; // Map from state number -> goto state num -> rule id -> setOf(rule ids) + for (var i = 0; i < kernelStates.size(); i++) { + this.states.push(new LR1Set()); + spontLookaheads[i] = {}; + propLookaheads[i] = {}; + } + init_rule = this.rules[this.start][0]; + spontLookaheads[0][init_rule.id] = new KeyedSet("key", [EOF]); + for (var i = 0; i < kernelStates.size(); i++) { + // if (i > 0 && i % 100 == 0) { console.log("Processing state " + i); } + this.applyLookaheads(spontLookaheads, propLookaheads, kernelStates.get(i), i, this.atoms.get(j)); + } + console.log("Done with step 2"); + // Step 3 + var allLookaheads = {}; // Map from goto state num -> rule id -> setOf(lookaheads) + for (var i = 0; i < kernelStates.size(); i++) { + allLookaheads[i] = {}; + for (var j in spontLookaheads[i]) { + // console.log("i = " + i + ", j = " + j + ", spontLookaheads[i][j] = " + spontLookaheads[i][j]); + allLookaheads[i][j] = new KeyedSet(spontLookaheads[i][j]); + } + } + console.log("Done with step 3"); + // Step 4 + // console.log("\n\n\n"); + function printSets(k, v) { + if (v instanceof KeyedSet || v instanceof IntSet || v instanceof LR1Set) + return v.toString(); + else + return v; + } + // console.log("spontLookaheads = " + JSON.stringify(spontLookaheads, printSets, " ")); + // console.log("propLookaheads = " + JSON.stringify(propLookaheads, printSets, " ")); + var changed = true; + var pass = 0; + while (changed) { + changed = false; + pass++; + for (var i = 0; i < kernelStates.size(); i++) { + var state_i = kernelStates.get(i); + var rnTable_i = this.rnTable[i]; + for (var x in rnTable_i) { + var gotoState = rnTable_i[x].push; + if (gotoState !== undefined) { + for (var j = 0; j < state_i.coreSize(); j++) { + var rule_j = state_i.getCore(j); + var prop = propLookaheads[i][gotoState] ? propLookaheads[i][gotoState][rule_j.id] : undefined; + var look = allLookaheads[i][rule_j.id]; + if (prop !== undefined && look !== undefined) { + // console.log("Propagating " + look + " from state " + i + " to all rules " + prop.toString() + " in state " + gotoState); + for (var k = 0; k < prop.size(); k++) { + var id_k = prop.get(k); + if (allLookaheads[gotoState][id_k] === undefined) + allLookaheads[gotoState][id_k] = new KeyedSet("key"); + changed = allLookaheads[gotoState][id_k].merge(look) || changed; + } + } + } + } + } + } + } + console.log("Done with step 4"); + // console.log("allLookaheads = " + JSON.stringify(allLookaheads, printSets, " ")); + // console.log("All rules:") + // for (var r in RuleFactory.byId) + // console.log(r + ": " + RuleFactory.byId[r]); + // Step 5 -- expand + for (var i = 0; i < kernelStates.size(); i++) { + var kernelState_i = kernelStates.get(i); + var state_i = this.states[i]; + for (var j = 0; j < kernelState_i.coreSize(); j++) { + var rule_j = kernelState_i.getCore(j); + var lookahead = allLookaheads[i][rule_j.id]; + // console.log("Lookaheads in state " + i + " for rule #" + rule_j.id + " " + rule_j.toString(true) + ": " + lookahead); + if (lookahead) { + state_i.addRuleWithLookaheads(rule_j, lookahead); + // for (var k = 0; k < lookahead.size(); k++) + // state_i.addRule(RuleFactory.make(rule_j.name, rule_j.symbols, lookahead.get(k), rule_j.position)); + } + } + } + this.states = new SetOfSets(this.states, LR1Set.equals); + }, + + ////////////////////////////////// + // Algorithm 4.12 (p242) in Dragon book + applyLookaheads: function(spont, prop, rule_set, set_num) { + // console.log("-----------------------------\nRuleSet #" + set_num + " = " + rule_set); + for (var i = 0; i < rule_set.coreSize(); i++) { + var rule = rule_set.getCore(i); + var jPrime_rule = RuleFactory.make(rule.name, rule.symbols, HASH, rule.position); + var jPrime = this.closureCache[jPrime_rule]; + if (jPrime === undefined) + jPrime = this.closureCache[jPrime_rule] = this.completeClosure(new LR1Set([jPrime_rule]), true); + // console.log("\nClosure(" + jPrime_rule.toString(true) + ") = " + jPrime.toString()); + for (var a = 0; a < this.atoms.size(); a++) { + var symbol = this.atoms.get(a); + if (this.rnTable[set_num] === undefined || this.rnTable[set_num][symbol.asString] === undefined) { + continue; + } + var goto_set_num = this.rnTable[set_num][symbol.asString].push; + // console.log("GOTO(" + set_num + ", " + symbol + ") = " + goto_set_num); + + for (var j = 0; j < jPrime.coreSize(); j++) { + var rule_j = jPrime.getCore(j); + if (rule_j.position < rule_j.symbols.length && rule_j.symbols[rule_j.position].asString == symbol.asString) { + var lookaheads = jPrime.getLookaheads(j); + if (lookaheads !== undefined) { + for (var k = 0; k < lookaheads.size(); k++) { + if (lookaheads.get(k) !== HASH) { + var new_rule = RuleFactory.make(rule_j.name, rule_j.symbols, undefined, rule_j.position + 1); + if (spont[goto_set_num][new_rule.id] === undefined) + spont[goto_set_num][new_rule.id] = new KeyedSet("key"); + if (spont[goto_set_num][new_rule.id].add(lookaheads.get(k))) { + // console.log("Added " + lookaheads.get(k) + " to rule " + new_rule + " in set " + goto_set_num); + } + } else { + var new_rule = RuleFactory.make(rule_j.name, rule_j.symbols, undefined, rule_j.position + 1); + if (prop[set_num][goto_set_num] === undefined) + prop[set_num][goto_set_num] = {}; + if (prop[set_num][goto_set_num][rule.id] === undefined) + prop[set_num][goto_set_num][rule.id] = new IntSet(); + if (prop[set_num][goto_set_num][rule.id].add(new_rule.id)) { + // console.log("Propagating from " + rule + " in state " + set_num + " to " + new_rule + " in state " + goto_set_num); + } + } + } + } + } + } + } + } + }, + + + + + printTables: function() { + var ret = ""; + for (var i = 0; i < this.rnTable.length; i++) { + var str_action = "" + rnTable_i = this.rnTable[i]; + if (rnTable_i === undefined) { + var state = this.states.get(i); + ret += "No actions in state #" + i + ":" + (state ? state.toString() : "undefined!") + "\n"; + continue; + } + for (var j = 0; j < this.atoms.size(); j++) { + actions = this.rnTable[i][this.atoms.get(j)] + if (actions.accept) + str_action += "\n On " + this.atoms.get(j) + ", accept"; + if (actions.push !== undefined) + str_action += "\n On " + this.atoms.get(j) + ", " + actions.push; + if (actions.reductions && actions.reductions.size > 0) + str_action += "\n On " + this.atoms.get(j) + ", " + [...actions.reductions]; + } + var s = "In state #" + i + ":" + this.states.get(i).toString(); + if (this.acceptStates[i]) + s += " (ACCEPT STATE)"; + if (str_action) + s += "\n Actions:" + str_action; + if (s !== "") s += "\n"; + ret += s; + } + return ret; + }, + + checkForCycles: function() { + var cyclic = [] + for (var name in this.rules) + if (this.derivable[name][name]) + cyclic.push(name); + if (cyclic.length === 0) return false; + return cyclic; + } + + // ////////////////////////////////// + // // A LALR(1) ambiguity is a state/token pair that has multiple enabled actions + // // Returns a list of warning messages + // ////////////////////////////////// + // checkForLALRAmbiguity: function() { + // var ambiguities = [] + // for (var i = 0; i < this.rnTable.length; i++) { + // var tableRow = this.rnTable[i]; + // for (var name in tableRow) { + // if (tableRow.hasOwnProperty(name)) { + // var actions = tableRow[name]; + // if (actions.size() > 1) { + // ambiguities.push("In state #" + i + ", conflicting actions on token " + name + ": " + actions); + // } + // } + // } + // } + // return ambiguities; + // }, + + } + + + return { + Atom: Atom, + Nonterm: Nonterm, + Token: Token, + Rule: Rule, + Grammar: Grammar, + SetOfSets: SetOfSets, + EOF: EOF, + EPSILON: EPSILON, + SrcLoc: SrcLoc + }; +}); +define("pyret-base/js/pyret-tokenizer", ["jglr/jglr"], function(E) { + const SrcLoc = E.SrcLoc + const GenTokenizer = E.Tokenizer2; + const IGNORED_WS = {name: "WS"}; + + function Tokenizer(spec) { + [spec.keywords, spec.comments, spec.symbols].forEach(function(specs) { + for (var first in specs) + specs[first].forEach(function(s) { + if (s.parenIsForExp === true) + s.parenIsForExp = "PARENSPACE"; + else if (!s.parenIsForExp) + s.parenIsForExp = false; + }); + }); + for (var first in spec.keywords) { + spec.keywords[first].forEach(function(s) { s.noFollow = spec.keywordsNoFollow; }) + } + GenTokenizer.call(this, spec); + this.parenIsForExp = "PARENSPACE"; + } + Tokenizer.prototype = Object.create(GenTokenizer.prototype); + Tokenizer.prototype.tokenizeFrom = function(str) { + GenTokenizer.prototype.tokenizeFrom.call(this, str); + this.parenIsForExp = "PARENSPACE"; + } + Tokenizer.prototype.makeToken = function makeToken(tok_name, s, pos, tok_spec) { + var t = new E.Token(tok_name, s); + t.pos = pos; + this.parenIsForExp = tok_spec && tok_spec.parenIsForExp; + this.priorWhitespace = false; + return t; + }; + Tokenizer.prototype.makeWSToken = function makeWSToken(startLine, startCol, startPos) { + this.parenIsForExp = true; + this.priorWhitespace = true; + this.addWhitespace(SrcLoc.make(startLine, startCol, startPos, this.line, this.col, this.pos)); + return IGNORED_WS; + // var t = new E.Token("WS", this.str.slice(startPos, this.pos)); + // t.pos = SrcLoc.make(startLine, startCol, startPos, this.line, this.col, this.pos); + // // Note: do not change parenIsForExp at all + // return t; + } + + const escapes = new RegExp("^(.*?)\\\\([\\\\\"\'nrt]|u[0-9A-Fa-f]{1,4}|x[0-9A-Fa-f]{1,2}|[0-7]{1,3}|[\r\n]{1,2})"); + function fixEscapes(s) { + var ret = ""; + var match = escapes.exec(s); + while (match !== null) { + var esc = match[2]; + ret += match[1]; + s = s.slice(match[0].length); + if (esc === "\n") {} + else if (esc === "\r") {} + else if (esc === "\n\r") {} + else if (esc === "\r\n") {} + else if (esc === "n") { ret += "\n"; } + else if (esc === "r") { ret += "\r"; } + else if (esc === "t") { ret += "\t"; } + else if (esc === "\"") { ret += "\""; } + else if (esc === "'") { ret += "'"; } + else if (esc === "\\") { ret += "\\"; } + else if (esc[0] === 'u') { ret += String.fromCharCode(parseInt(esc.slice(1), 16)); } + else if (esc[0] === 'x') { ret += String.fromCharCode(parseInt(esc.slice(1), 16)); } + else { ret += String.fromCharCode(parseInt(esc, 8)); } + match = escapes.exec(s); + } + ret += s; + return ret; + } + + function makeTrie(kwds) { + var ans = Object.create(null); + for (var i = 0; i < kwds.length; i++) { + var firsts = kwds[i].firsts || [kwds[i].val[0]]; + firsts.forEach(function(first) { + var byFirst = ans[first]; + if (byFirst === undefined) + byFirst = ans[first] = []; + byFirst.push(kwds[i]); + }) + } + return ans; + } + function makeDict(str) { + var ans = {}; + for (var i = 0; i < str.length; i++) { + ans[str[i]] = true; + } + return ans; + } + + var keywords = makeTrie([ + {name: "AND", val: "and", parenIsForExp: true}, + {name: "AS", val: "as"}, + {name: "ASCENDING", val: "ascending"}, + {name: "ASK", val: "ask", parenIsForExp: true}, + {name: "BY", val: "by"}, + {name: "CASES", val: "cases"}, + {name: "CHECK", val: "check"}, + {name: "DATA", val: "data"}, + {name: "DESCENDING", val: "descending"}, + {name: "DO", val: "do"}, + {name: "RAISESNOT", val: "does-not-raise", parenIsForExp: true}, + {name: "ELSE", val: "else"}, + {name: "ELSEIF", val: "else if"}, + {name: "END", val: "end"}, + {name: "EXAMPLES", val: "examples", parenIsForExp: true}, + {name: "TABLE-EXTEND", val: "extend"}, + {name: "TABLE-EXTRACT", val: "extract"}, + {name: "FALSE", val: "false"}, + {name: "FOR", val: "for"}, + {name: "FROM", val: "from"}, + {name: "FUN", val: "fun"}, + {name: "HIDING", val: "hiding"}, + {name: "IF", val: "if"}, + {name: "IMPORT", val: "import"}, + {name: "INCLUDE", val: "include"}, + {name: "IS", val: "is", parenIsForExp: true}, + {name: "ISEQUALEQUAL", val: "is==", parenIsForExp: true}, + {name: "ISEQUALTILDE", val: "is=~", parenIsForExp: true}, + {name: "ISNOT", val: "is-not", parenIsForExp: true}, + {name: "ISNOTEQUALEQUAL", val: "is-not==", parenIsForExp: true}, + {name: "ISNOTEQUALTILDE", val: "is-not=~", parenIsForExp: true}, + {name: "ISNOTSPACESHIP", val: "is-not<=>", parenIsForExp: true}, + {name: "ISROUGHLY", val: "is-roughly", parenIsForExp: true}, + {name: "ISSPACESHIP", val: "is<=>", parenIsForExp: true}, + {name: "BECAUSE", val: "because", parenIsForExp: true}, + {name: "LAM", val: "lam"}, + {name: "LAZY", val: "lazy"}, + {name: "LET", val: "let"}, + {name: "LETREC", val: "letrec"}, + {name: "LOAD-TABLE", val: "load-table"}, + {name: "METHOD", val: "method"}, + {name: "MODULE", val: "module"}, + {name: "NEWTYPE", val: "newtype"}, + {name: "OF", val: "of"}, + {name: "OR", val: "or", parenIsForExp: true}, + {name: "PROVIDE", val: "provide"}, + {name: "PROVIDE-TYPES", val: "provide-types"}, + {name: "RAISES", val: "raises", parenIsForExp: true}, + {name: "RAISESOTHER", val: "raises-other-than", parenIsForExp: true}, + {name: "RAISESSATISFIES", val: "raises-satisfies", parenIsForExp: true}, + {name: "RAISESVIOLATES", val: "raises-violates", parenIsForExp: true}, + {name: "REACTOR", val: "reactor"}, + {name: "REC", val: "rec"}, + {name: "REF", val: "ref"}, + {name: "SANITIZE", val: "sanitize"}, + {name: "SATISFIES", val: "satisfies", parenIsForExp: true}, + {name: "TABLE-SELECT", val: "select"}, + {name: "SHADOW", val: "shadow"}, + {name: "TABLE-FILTER", val: "sieve"}, + {name: "SPY", val: "spy"}, + {name: "TABLE-ORDER", val: "order"}, + {name: "TABLE-UPDATE", val: "transform"}, + {name: "TRUE", val: "true"}, + {name: "TYPE", val: "type"}, + {name: "TYPE-LET", val: "type-let"}, + {name: "USING", val: "using"}, + {name: "USE", val: "use"}, + {name: "VAR", val: "var"}, + {name: "SATISFIESNOT", val: "violates", parenIsForExp: true}, + {name: "WHEN", val: "when", parenIsForExp: true} + ]); + const keywordsNoFollow = new Set("-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"); + + const wsString = " \f\n\r\t\v\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff"; + const whitespace = makeDict(wsString); + + const wsMustFollow = new Set(wsString); wsMustFollow.add("#"); wsMustFollow.add(undefined); // EOF + + //const identChars = new RegExp("[_a-zA-Z][_a-zA-Z0-9]*(?:-+[_a-zA-Z0-9]+)*", "g"); + const identChars = makeDict("_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); + + + // const unsigned_decimal_part = "[0-9]+(?:\\.[0-9]+)?(?:[eE][-+]?[0-9]+)?"; + // const unsigned_rational_part = "[0-9]+/[0-9]+"; + + // const number = new RegExp("[-+]?" + unsigned_decimal_part, "g"); + + const badNumber = new RegExp("~?[+-]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?", "g"); + + // const roughnum = new RegExp("~[-+]?" + unsigned_decimal_part, "g"); + + // const rational = new RegExp("[-+]?" + unsigned_rational_part, "g"); + + // const roughrational = new RegExp("~[-+]?" + unsigned_rational_part, "g"); + + const badOp = new RegExp("(?:\\^|\\+|-|\\*|/|<=|>=|<=>|>=|==|=~|<>|<|>|<-)", "g"); + + const tquot_str = + new RegExp("```(?:" + + "\\\\[01234567]{1,3}" + + "|\\\\x[0-9a-fA-F]{1,2}" + + "|\\\\u[0-9a-fA-F]{1,4}" + + "|\\\\[\\\\nrt\"\'`]" + + "|`{1,2}(?!`)" + + "|[^`\\\\])*```", "g"); // NOTE: Allow unescaped newlines + const dquot_str = + new RegExp("\"(?:" + + "\\\\[01234567]{1,3}" + + "|\\\\x[0-9a-fA-F]{1,2}" + + "|\\\\u[0-9a-fA-F]{1,4}" + + "|\\\\[\\\\nrt\"\']" + + "|[^\\\\\"\n\r])*\"", "g"); + const squot_str = + new RegExp("\'(?:" + + "\\\\[01234567]{1,3}" + + "|\\\\x[0-9a-fA-F]{1,2}" + + "|\\\\u[0-9a-fA-F]{1,4}" + + "|\\\\[\\\\nrt\"\']" + + "|[^\\\\\'\n\r])*\'", "g"); + + const unterminated_string = new RegExp("(?:[\"\']|```).*", "g"); + const octit = makeDict("01234567"); + const digit = makeDict("0123456789"); + const hexit = makeDict("0123456789abcdefABCDEF"); + + var symbols = makeTrie([ + {name: "BLOCK", val: "block:", parenIsForExp: true}, + {name: "CHECKCOLON", val: "check:", parenIsForExp: true}, + {name: "DOC", val: "doc:", parenIsForExp: true}, + {name: "ELSECOLON", val: "else:", parenIsForExp: true}, + {name: "EXAMPLESCOLON", val: "examples:", parenIsForExp: true}, + {name: "OTHERWISECOLON", val: "otherwise:", parenIsForExp: true}, + {name: "PROVIDECOLON", val: "provide:", parenIsForExp: true}, + {name: "ROW", val: "row:"}, + {name: "SHARING", val: "sharing:", parenIsForExp: true}, + {name: "SOURCECOLON", val: "source:"}, + {name: "TABLE", val: "table:"}, + {name: "THENCOLON", val: "then:", parenIsForExp: true}, + {name: "WHERE", val: "where:", parenIsForExp: true}, + {name: "WITH", val: "with:", parenIsForExp: true}, + {name: "LBRACK", val: "[", parenIsForExp: true}, + {name: "RBRACK", val: "]"}, + {name: "LBRACE", val: "{", parenIsForExp: "PARENAFTERBRACE"}, + {name: "RBRACE", val: "}"}, + { name: "LPAREN", val: "(", parenIsForExp: true, + process: function processLParen(tok_spec) { + var tok_type = this.parenIsForExp || "PARENNOSPACE"; + if (this.priorWhitespace) + tok_type = "PARENSPACE"; + var line = this.curLine, col = this.curCol, pos = this.pos; + this.curCol++; + this.pos++; + return this.makeToken(tok_type, "(", + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + }}, + {name: "RPAREN", val: ")"}, + {name: "SEMI", val: ";"}, + {name: "BACKSLASH", val: "\\"}, + {name: "DOTDOTDOT", val: "..."}, + {name: "DOT", val: ".", noFollow: new Set("1234567890")}, + {name: "BANG", val: "!"}, + {name: "PERCENT", val: "%"}, + {name: "COMMA", val: ",", parenIsForExp: true}, + {name: "THINARROW", val: "->"}, + {name: "COLONEQUALS", val: ":=", parenIsForExp: true}, + {name: "COLON", val: ":", parenIsForExp: true}, + {name: "BAR", val: "|", parenIsForExp: true}, + {name: "EQUALS", val: "=", noFollow: new Set("~"), parenIsForExp: true}, + {name: "LANGLE", val: "<", noFollow: new Set(">=")}, + {name: "STAR", val: "*", noFollow: new Set(wsString), needsWs: true, parenIsForExp: true}, + {name: "RANGLE", val: ">", noFollow: new Set("=")}, + { name: "NUMBER", val: "", firsts: new Set("~-+1234567890"), + process: function tokenizeNumber(tok_spec) { + var match = undefined; + var line = this.curLine, col = this.curCol, pos = this.pos; + var tok_type = ""; + var rough = false; + if (this.str[this.pos] === "~") { + rough = true; + this.pos++; this.curCol++; + } + if (this.str[this.pos] === "-" || this.str[this.pos] === "+") { + this.pos++; this.curCol++; + } + if (this.str[this.pos] === ".") { // BAD-NUMBER + this.pos = pos; this.curCol = col; + return undefined; + } + if (digit[this.str[this.pos]]) { + // Integer portion, or numerator + this.pos++; this.curCol++; + while (digit[this.str[this.pos]]) { + this.pos++; this.curCol++; + } + if (this.str[this.pos] === "/") { // fraction + this.pos++; this.curCol++; + if (digit[this.str[this.pos]]) { + this.pos++; this.curCol++; + while (digit[this.str[this.pos]]) { + this.pos++; this.curCol++; + } + this.parenIsForExp = false; + this.priorWhitespace = false; + return this.makeToken(rough ? "ROUGHRATIONAL" : "RATIONAL", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } else { + this.pos = pos; this.curCol = col; + return undefined; + } + } + if (this.str[this.pos] === ".") { + this.pos++; this.curCol++; + // decimal portion + if (digit[this.str[this.pos]]) { + this.pos++; this.curCol++; + while (digit[this.str[this.pos]]) { + this.pos++; this.curCol++; + } + } else { + this.pos--; this.curCol--; + this.parenIsForExp = false; + this.priorWhitespace = false; + return this.makeToken("NUMBER", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + } + if (this.str[this.pos] === "e" || this.str[this.pos] === "E") { + var advance = this.pos + 1; + if (this.str[advance] === "+" || this.str[advance] === "-") { + advance++; + } + if (digit[this.str[advance]]) { + advance++; + while (digit[this.str[advance]]) { + advance++; + } + this.curCol += (advance - this.pos); + this.pos = advance; + this.parenIsForExp = false; + this.priorWhitespace = false; + return this.makeToken("NUMBER", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + } + this.parenIsForExp = false; + this.priorWhitespace = false; + return this.makeToken("NUMBER", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + // BAD-NUMBER + this.pos = pos; this.curCol = col; + return undefined; + } + + /*function tokenizeNumber(tok_spec) { + var match = undefined; + var line = this.curLine, col = this.curCol, pos = this.pos; + var tok_type = ""; + number.lastIndex = this.pos; + roughnum.lastIndex = this.pos; + rational.lastIndex = this.pos; + roughrational.lastIndex = this.pos; + var rough = (this.str[this.pos] === "~") + if (rough) { + if ((this.str[this.pos + 1] === ".") || + ((this.str[this.pos + 1] === "-" || this.str[this.pos + 1] === "+") && this.str[this.pos + 2] === ".")) { + return undefined; + } else if ((match = roughrational.exec(this.str)) && match.index === this.pos) { + tok_type = "ROUGHRATIONAL"; + } else if ((match = rational.exec(this.str)) && match.index === this.pos) { + tok_type = "RATIONAL"; + } + } else if ((match = roughnum.exec(this.str)) && match.index === this.pos) { + tok_type = "NUMBER"; + } else if ((match = number.exec(this.str)) && match.index === this.pos) { + tok_type = "NUMBER"; + } else { + return undefined; + } + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken(tok_type, match[0], + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + }*/ + }, + { name: "BAD-NUMBER", val: "", firsts: new Set("~-+."), + process: function tokenizeNumber(tok_spec) { + var match = undefined; + var line = this.curLine, col = this.curCol, pos = this.pos; + var tok_type = ""; + badNumber.lastIndex = this.pos; + if ((match = badNumber.exec(this.str))) { + tok_type = "BAD-NUMBER"; + } else { + return undefined; + } + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken(tok_type, match[0], + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + }}, + { name: "NAME", val: "", firsts: new Set("_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), + process: function tokenizeName(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + this.pos++; this.curCol++; + while (this.pos < this.len) { + if (identChars[this.str[this.pos]]) { + this.pos++; this.curCol++; + } else if (this.str[this.pos] === "-") { + var front = this.pos + 1; + while (this.str[front] === "-") + front++; + if (identChars[this.str[front]]) { + this.curCol += (front - this.pos); + this.pos = front; + } else { + break; + } + } else { + break; + } + } + return this.makeToken("NAME", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + }}, + { name: "STRING", val: "\"", + process: function tokenizeDQString(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + dquot_str.lastIndex = this.pos; + unterminated_string.lastIndex = this.pos; + if ((match = dquot_str.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } else if ((match = unterminated_string.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + }}, + { name: "STRING", val: "'", + process: function tokenizeSQString(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + squot_str.lastIndex = this.pos; + unterminated_string.lastIndex = this.pos; + if ((match = squot_str.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos)); + } else if ((match = unterminated_string.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + }}, + { name: "STRING", val: "```", + process: function tokenizeTQString(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + tquot_str.lastIndex = this.pos; + unterminated_string.lastIndex = this.pos; + if ((match = tquot_str.exec(this.str))) { + this.pos += match[0].length; + var lines = match[0].split("\n"); // From jsPerf, this is UNBELIEVABLY much faster than the prior implementation + this.curLine += lines.length - 1; + if (lines.length === 1) + this.curCol += match[0].length; + else + this.curCol = lines[lines.length - 1].length; + return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } else if ((match = unterminated_string.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } + }}, + {name: "CARET", val: "^", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "PLUS", val: "+", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "DASH", val: "-", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "TIMES", val: "*", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "SLASH", val: "/", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "SPACESHIP", val: "<=>", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "LEQ", val: "<=", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "GEQ", val: ">=", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "EQUALEQUAL", val: "==", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "EQUALTILDE", val: "=~", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "NEQ", val: "<>", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "LT", val: "<", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "GT", val: ">", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, + {name: "THICKARROW", val: "=>", mustFollow: wsMustFollow, parenIsForExp: true}, + {name: "COLONCOLON", val: "::", mustFollow: wsMustFollow, parenIsForExp: true}, + { name: "BAD-OPER", val: "", firsts: new Set("^+-*/\<>="), + process: function tokenizeBadOper(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + badOp.lastIndex = this.pos; + var match; + if ((match = badOp.exec(this.str))) { + this.pos += match[0].length; + this.curCol += match[0].length; + this.parenIsForExp = false; + this.priorWhitespace = false; + return this.makeToken("BAD-OPER", this.str.slice(pos, this.pos), + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + tok_spec); + } else { + return undefined; + } + }} + ]); + + + const comments = makeTrie([ + { name: "BLOCKCOMMENT", val: "#|", + process: function tokenizeBlockComment(tok_spec) { + var nestingDepth = 1; + var line = this.curLine, col = this.curCol, pos = this.pos; + this.pos += 2; this.curCol += 2; + while (nestingDepth > 0 && this.pos < this.len) { + if (this.str.startsWith("#|", this.pos)) { + nestingDepth++; + this.pos += 2; + this.curCol += 2; + } else if (this.str.startsWith("|#", this.pos)) { + nestingDepth--; + this.pos += 2; + this.curCol += 2; + } else if (this.str[this.pos] === "\n") { + this.curLine++; + this.curCol = 0; + this.pos++; + } else { + this.pos++; + this.curCol++; + } + } + if (nestingDepth === 0) { + return this.makeWSToken(line, col, pos); + } else { + var ws_loc = SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos); + return this.makeToken("UNTERMINATED-BLOCK-COMMENT", this.str.slice(pos, this.pos), ws_loc, tok_spec); + } + }}, + { name: "COMMENT", val: "#", + process: function tokenizeLineComment(tok_spec) { + var line = this.curLine, col = this.curCol, pos = this.pos; + while (this.pos < this.len && this.str[this.pos] !== "\n" && this.str[this.pos] !== "\r") { + this.pos++; + this.curCol++; + } + return this.makeToken("COMMENT", ""/*this.str.slice(pos, this.pos)*/, line, col, pos); + }} + ]); + + const spec = { + keywords, + keywordsNoFollow, + symbols, + whitespace, + comments, + ignore: new Set(["WS", "COMMENT"]) + }; + + + return { + 'Tokenizer': new Tokenizer(spec) + }; +}); +"use strict"; +define("pyret-base/js/codePoint", [], function() { + + /* NOTE(joe): Polyfills for Unicode, from + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt + * + * *Not* adding them as methods on String because that breaks sandbox guarantees + * in things like Caja, so just make them functions available in this scope + */ + /*! http://mths.be/codepointat v0.1.0 by @mathias */ + var codePointAt = function(string, position) { + var size = string.length; + // `ToInteger` + var index = position ? Number(position) : 0; + if (index != index) { // better `isNaN` + index = 0; + } + // Account for out-of-bounds indices: + if (index < 0 || index >= size) { + return undefined; + } + // Get the first code unit + var first = string.charCodeAt(index); + var second; + if ( // check if it is the start of a surrogate pair + first >= 0xD800 && first <= 0xDBFF && // high surrogate + size > index + 1 // there is a next code unit + ) { + second = string.charCodeAt(index + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; + }; + + /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ + var stringFromCharCode = String.fromCharCode; + var floor = Math.floor; + var fromCodePoint = function(codePoints) { + var MAX_SIZE = 0x4000; + var codeUnits = []; + var highSurrogate; + var lowSurrogate; + var index = -1; + var length = arguments.length; + if (!length) { + return ''; + } + var result = ''; + while (++index < length) { + var codePoint = Number(arguments[index]); + if ( + !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` + codePoint < 0 || // not a valid Unicode code point + codePoint > 0x10FFFF || // not a valid Unicode code point + floor(codePoint) != codePoint // not an integer + ) { + throw RangeError('Invalid code point: ' + codePoint); + } + if (codePoint <= 0xFFFF) { // BMP code point + codeUnits.push(codePoint); + } else { // Astral code point; split in surrogate halves + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + codePoint -= 0x10000; + highSurrogate = (codePoint >> 10) + 0xD800; + lowSurrogate = (codePoint % 0x400) + 0xDC00; + codeUnits.push(highSurrogate, lowSurrogate); + } + if (index + 1 == length || codeUnits.length > MAX_SIZE) { + result += stringFromCharCode.apply(null, codeUnits); + codeUnits.length = 0; + } + } + return result; + }; + + return { + codePointAt: codePointAt, + fromCodePoint: fromCodePoint + }; +}); +define("pyret-base/js/secure-loader", ["q", "pyret-base/js/runtime-util"], function(Q, util) { + function compileInNewScriptContext(src) { + var promise = Q.defer(); + var loader_callback_count = 0; + if(util.isBrowser()) { + loader_callback_count += 1 + var callback = "loader_callback_" + loader_callback_count; + window[callback] = function(result) { + document.body.removeChild(script); + delete window[callback]; + promise.resolve(result); + } + var script = document.createElement("script"); + script.innerHTML = "(window['" + callback + "'](" + src + "));"; + document.body.appendChild(script); + return promise.promise; + } + else { + var VM = require("vm"); + } + } + var ourCajaVM; + function unsafeCaja() { + var compileExpr = function(src) { + return function(env) { + var define = env.define; + return Function("define", src)(define); + } + }; + ourCajaVM = { compileExpr: compileExpr }; + } + if(util.isBrowser()) { + // caja.js had better be on the page already + if(typeof caja === "undefined") { + console.warn("Page was loaded without SES, so evals will be unguarded. Does this page load https://caja.appspot.com/caja.js?"); + unsafeCaja(); + } + else { + caja.initialize({ + debug: true, + forceES5Mode: true + }); + caja.load(undefined, undefined, function(frame) { + ourCajaVM = { + compileExpr: function(s) { + return function(env) { frame.code("https://", "application/javascript", s).api(env).run(); } + } + }; + }); + } + } + else { + var FS = require("fs"); + var VM = require("vm"); + + var RUN_SES = false; // NOTE(joe): skipping on servers for now; SES isn't really there yet + if(RUN_SES) { + var source = FS.readFileSync(require.nodeRequire.resolve("ses/initSES.js")); + var oldLog = console.log; + console.log = function() { /* intentional no-op to suppress SES logging */ } + var script = new VM.Script(source); + script.runInThisContext(); + ourCajaVM = cajaVM; + console.log = oldLog; + } else { + unsafeCaja(); + } + } + + function safeEval(string, env) { + var f = ourCajaVM.compileExpr(string); + return f(env); + } + + function loadClosure(runtime, mod, dependencies) { + var deferred = Q.defer(); + try { + var answer = mod.apply(null, dependencies); + deferred.resolve(answer); + } catch(e) { + deferred.reject(e); + } + return deferred.promise; + } + + + function loadSingle(runtime, src, dependencies) { + var deferred = Q.defer(); + try { + safeEval(src, { + define: function(_, body) { + try { + // NOTE(joe): dependencies should be empty list, or the whole + // object should just be passed in here + var moduleAsObject = body.apply(null, dependencies); + // NOTE(joe): modules should be objects, but old ones are + // functions + if(typeof moduleAsObject === "function") { + deferred.resolve(moduleAsObject); + } + else { + deferred.resolve(moduleAsObject.theModule.apply(null, dependencies)); + } + } catch(e) { + deferred.reject(e); + } + } + }); + } + catch(e) { + deferred.reject(e); + } + return deferred.promise; + } + + function goodIdea(runtime, name, src) { + var deferred = Q.defer(); + require.undef(name); + try { + safeEval(src, { define: function(deps, body) { + define(name, deps, body); + function success(val) { + deferred.resolve(val); + } + // Since requirejs seems to not call our errback, use its global + // error handler. + var oldOnError = require.onError; + require.onError = function(err) { + require.onError = oldOnError; + var names = []; + for(var i = 0; i < err.requireModules.length; i++) { + require.undef(err.requireModules[i]); + names.push(err.requireModules[i]); + } + deferred.reject(runtime.makePyretFailException(runtime.ffi.makeModuleLoadFailureL(names))); + }; + require([name], success); + } + }); + } + catch(e) { + deferred.reject(e); + } + return deferred.promise; + } + + return { + safeEval: safeEval, + goodIdea: goodIdea, + loadSingle: loadSingle, + loadClosure: loadClosure, + compileInNewScriptContext: compileInNewScriptContext, + } +}); +define("jglr/cyclicJSON", [], function() { +/* + cycle.js + 2013-02-19 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. +*/ + +/*jslint evil: true, regexp: true */ + +/*members $ref, apply, call, decycle, hasOwnProperty, length, prototype, push, + retrocycle, stringify, test, toString +*/ +////////////////////////////////// +if (typeof JSON.decycle !== 'function') { + JSON.decycle = function decycle(object) { + 'use strict'; + + // Make a deep copy of an object or array, assuring that there is at most + // one instance of each object or array in the resulting structure. The + // duplicate references (which might be forming cycles) are replaced with + // an object of the form + // {$ref: PATH} + // where the PATH is a JSONPath string that locates the first occurance. + // So, + // var a = []; + // a[0] = a; + // return JSON.stringify(JSON.decycle(a)); + // produces the string '[{"$ref":"$"}]'. + + // JSONPath is used to locate the unique object. $ indicates the top level of + // the object or array. [NUMBER] or [STRING] indicates a child member or + // property. + + var objects = [], // Keep a reference to each unique object or array + paths = []; // Keep the path to each unique object or array + + return (function derez(value, path) { + + // The derez recurses through the object, producing the deep copy. + + var i, // The loop counter + name, // Property name + nu; // The new object or array + + // typeof null === 'object', so go on if this value is really an object but not + // one of the weird builtin objects. + + if (typeof value === 'object' && value !== null && + !(value instanceof Boolean) && + !(value instanceof Date) && + !(value instanceof Number) && + !(value instanceof RegExp) && + !(value instanceof String)) { + + // If the value is an object or array, look to see if we have already + // encountered it. If so, return a $ref/path object. This is a hard way, + // linear search that will get slower as the number of unique objects grows. + + for (i = 0; i < objects.length; i += 1) { + if (objects[i] === value) { + return {$ref: paths[i]}; + } + } + + // Otherwise, accumulate the unique value and its path. + + objects.push(value); + paths.push(path); + + // If it is an array, replicate the array. + + if (Object.prototype.toString.apply(value) === '[object Array]') { + nu = []; + for (i = 0; i < value.length; i += 1) { + nu[i] = derez(value[i], path + '[' + i + ']'); + } + } else { + + // If it is an object, replicate the object. + + nu = {}; + for (name in value) { + if (Object.prototype.hasOwnProperty.call(value, name)) { + nu[name] = derez(value[name], + path + '[' + JSON.stringify(name) + ']'); + } + } + } + return nu; + } + return value; + }(object, '$')); + }; +} + + +if (typeof JSON.retrocycle !== 'function') { + JSON.retrocycle = function retrocycle($) { + 'use strict'; + + // Restore an object that was reduced by decycle. Members whose values are + // objects of the form + // {$ref: PATH} + // are replaced with references to the value found by the PATH. This will + // restore cycles. The object will be mutated. + + // The eval function is used to locate the values described by a PATH. The + // root object is kept in a $ variable. A regular expression is used to + // assure that the PATH is extremely well formed. The regexp contains nested + // * quantifiers. That has been known to have extremely bad performance + // problems on some browsers for very long strings. A PATH is expected to be + // reasonably short. A PATH is allowed to belong to a very restricted subset of + // Goessner's JSONPath. + + // So, + // var s = '[{"$ref":"$"}]'; + // return JSON.retrocycle(JSON.parse(s)); + // produces an array containing a single element which is the array itself. + + var px = + /^\$(?:\[(?:\d+|\"(?:[^\\\"\u0000-\u001f]|\\([\\\"\/bfnrt]|u[0-9a-zA-Z]{4}))*\")\])*$/; + + (function rez(value) { + + // The rez function walks recursively through the object looking for $ref + // properties. When it finds one that has a value that is a path, then it + // replaces the $ref object with a reference to the value that is found by + // the path. + + var i, item, name, path; + + if (value && typeof value === 'object') { + if (Object.prototype.toString.apply(value) === '[object Array]') { + for (i = 0; i < value.length; i += 1) { + item = value[i]; + if (item && typeof item === 'object') { + path = item.$ref; + if (typeof path === 'string' && px.test(path)) { + value[i] = eval(path); + } else { + rez(item); + } + } + } + } else { + for (name in value) { + if (typeof value[name] === 'object') { + item = value[name]; + if (item) { + path = item.$ref; + if (typeof path === 'string' && px.test(path)) { + value[name] = eval(path); + } else { + rez(item); + } + } + } + } + } + } + }($)); + return $; + }; +} +}); +define("jglr/jglr", ["jglr/rnglr"], function(E) { + const SrcLoc = E.SrcLoc + const NS_PER_SEC = 1e9; + var start; + function startTimer() { + if (typeof window !== "undefined" && window.performance) { + start = window.performance.now(); + } else if (typeof process !== "undefined" && process.hrtime) { + start = process.hrtime(); + } + } + function endTimer() { + if (typeof window !== "undefined" && window.performance) { + return window.performance.now() - start; + } else if (typeof process !== "undefined" && process.hrtime) { + return process.hrtime(start); + } + } + + /*! https://mths.be/startswith v0.2.0 by @mathias */ + if (!String.prototype.startsWith) { + (function() { + 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` + var defineProperty = (function() { + // IE 8 only supports `Object.defineProperty` on DOM elements + try { + var object = {}; + var $defineProperty = Object.defineProperty; + var result = $defineProperty(object, object, object) && $defineProperty; + } catch(error) {} + return result; + }()); + var toString = {}.toString; + var startsWith = function(search) { + if (this == null) { + throw TypeError(); + } + var string = String(this); + if (search && toString.call(search) == '[object RegExp]') { + throw TypeError(); + } + var stringLength = string.length; + var searchString = String(search); + var searchLength = searchString.length; + var position = arguments.length > 1 ? arguments[1] : undefined; + // `ToInteger` + var pos = position ? Number(position) : 0; + if (pos != pos) { // better `isNaN` + pos = 0; + } + var start = Math.min(Math.max(pos, 0), stringLength); + // Avoid the `indexOf` call if no match is possible + if (searchLength + start > stringLength) { + return false; + } + var index = -1; + while (++index < searchLength) { + if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) { + return false; + } + } + return true; + }; + if (defineProperty) { + defineProperty(String.prototype, 'startsWith', { + 'value': startsWith, + 'configurable': true, + 'writable': true + }); + } else { + String.prototype.startsWith = startsWith; + } + }()); + } + + + + + ////////////////////////////////////////////////// + ///////////////////////// Old Tokenizer + ////////////////////////////////////////////////// + + var Tokenizer = (function() { + function Tokenizer(ignore_ws, Tokens) { + this.ignore_ws = ignore_ws; + this.Tokens = Tokens; + } + Tokenizer.prototype.isEOF = function(tok) { return tok === E.EOF; } + Tokenizer.prototype.tokenizeFrom = function(str) { + this.str = str; + this.curLine = 1; + this.curCol = 0; + this.pos = 0; + this.len = str.length; + delete this.curTok; + delete E.EOF.pos; + SrcLoc.reset(); + this.times = {}; + } + const STICKY_REGEXP = ''; //(function() { try { new RegExp("", 'y'); return 'y' } catch(e) { return ''; }})(); + + Tokenizer.prototype.hasNext = function() { return this.pos <= this.len; } + Tokenizer.prototype.isEmpty = function() { return this.length == 0; } + if (STICKY_REGEXP === 'y') { + Tokenizer.prototype.positionTokenRegexp = function(tok) { tok.val.lastIndex = this.pos; }; + Tokenizer.prototype.updateString = function(match) { }; + Tokenizer.prototype.updatePosition = function(tok, match) { this.pos = tok.val.lastIndex; }; + } else { + Tokenizer.prototype.positionTokenRegexp = function(tok) { }; + Tokenizer.prototype.updateString = function(match) { this.str = this.str.slice(match[0].length); }; + Tokenizer.prototype.updatePosition = function(tok, match) { this.pos += match[0].length; }; + } + Tokenizer.prototype.makeToken = function (tok_type, s, pos) { + var t = new E.Token(tok_type, s); + t.pos = pos; + return t; + } + Tokenizer.prototype.postProcessMatch = function(tok, match, str) { return tok.name; } + Tokenizer.prototype.unshiftToken = function(prev_tok) { this.curTok = prev_tok; } + Tokenizer.prototype.next = function() { + delete this.skippedWhitespace; + startTimer(); + while (this.hasNext()) { // Surround the tokenizer loop... + if (this.pos == this.len) { + this.pos++; + E.EOF.pos = SrcLoc.make(this.curLine, this.curCol, this.pos, this.curLine, this.curCol, this.pos); + this.curTok = E.EOF; + return E.EOF; + } + for (var i = 0; i < this.Tokens.length; i++) { + var tok = this.Tokens[i]; + this.positionTokenRegexp(tok); + var match = tok.val.exec(this.str); + if (match !== null) { + var tok_type = this.postProcessMatch(tok, match, this.str); + this.updateString(match); + var p = this.pos; + var l = this.curLine; + var c = this.curCol; + var s = match[0]; + var lines = s.split("\n").length - 1; // From jsPerf, this is UNBELIEVABLY much faster than the prior implementation + this.updatePosition(tok, match); + this.curLine += lines; + if (lines === 0) + this.curCol += s.length; + else + this.curCol = s.length - s.lastIndexOf("\n") - 1; + if (this.ignore_ws && (tok_type === "WS" || tok_type === "COMMENT")) { + // ... in case we're ignoring whitespace + var endT = endTimer(); + if (this.times[tok_type] === undefined) this.times[tok_type] = []; + this.times[tok_type].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); + var newWS = SrcLoc.make(l, c, p, this.curLine, this.curCol, this.pos); + if (this.skippedWhitespace === undefined) + this.skippedWhitespace = newWS; + else + this.skippedWhitespace = this.skippedWhitespace.combine(newWS); + break; + } + var t = this.makeToken(tok_type, s, SrcLoc.make(l, c, p, this.curLine, this.curCol, this.pos)); + this.curTok = t; + var endT = endTimer(); + if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; + this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); + return t; + } + } + } + } + + return Tokenizer; + })(); + + ////////////////////////////////////////////////// + ///////////////////////// New Tokenizer + ////////////////////////////////////////////////// + + var Tokenizer2 = (function() { + const ws = new RegExp("\\s+", "g"); + + function merge(dest, src) { + for (var first in src) { + var cur = dest[first]; + if (cur === undefined) + cur = dest[first] = []; + var ext = src[first]; + for (var i = 0; i < ext.length; i++) { + cur.push(ext[i]); + } + } + } + + function Tokenizer(spec) { + this.ignore = spec.ignore; + + this.whitespace = spec.whitespace; + this.keywords = Object.create(null); + merge(this.keywords, spec.symbols); + merge(this.keywords, spec.comments); + merge(this.keywords, spec.keywords); + for (var first in this.keywords) { + this.keywords[first].sort(function(a, b) { + // sort in descending length, then by which needs priorWhitespace, then alphabetically + if (b.val.length === a.val.length) { + if (a.needsWs && !b.needsWs) return -1; + if (b.needsWs && !a.needsWs) return 1; + return (a < b) ? -1 : 0; + } + return b.val.length - a.val.length; + }); + } + } + Tokenizer.prototype.tokenizeFrom = function(str) { + if (typeof str.normalize === "function") + this.str = str.normalize("NFC"); + else + this.str = str; + + this.len = str.length; // XXX Not necessarily unicode-aware + this.curCol = 0; + this.curLine = 1; + this.pos = 0; + this.priorWhitespace = true; + delete this.curTok; + delete E.EOF.pos; + SrcLoc.reset(); + this.times = {}; + } + Tokenizer.prototype.isEOF = function(tok) { return tok === E.EOF; } + Tokenizer.prototype.isEmpty = function() { return this.length == 0; } + Tokenizer.prototype.hasNext = function() { return this.pos <= this.len; } + Tokenizer.prototype.unshiftToken = function(prev_tok) { this.curTok = prev_tok; } + Tokenizer.prototype.addWhitespace = function(ws_loc) { + if (this.skippedWhitespace === undefined) + this.skippedWhitespace = ws_loc; + else + this.skippedWhitespace = this.skippedWhitespace.combine(ws_loc); + } + Tokenizer.prototype.next = function() { + delete this.skippedWhitespace; + this.curTok = undefined; + var startT = startTimer(); + while (this.curTok === undefined && this.hasNext()) { + if (this.pos == this.len) { + this.pos++; + this.curCol++; + E.EOF.pos = SrcLoc.make(this.curLine, this.curCol, this.pos, this.curLine, this.curCol, this.pos); + this.curTok = E.EOF; + return E.EOF; + } + var c = this.str[this.pos]; // XXX not unicode aware + var candidates = this.keywords[c]; + var line = this.curLine, col = this.curCol, pos = this.pos; + if (candidates) { + for (var i = 0; i < candidates.length; i++) { + var candidate = candidates[i]; + if (this.str.startsWith(candidate.val, this.pos)) { + if (candidate.process) { + this.curTok = candidate.process.call(this, candidate); + if (this.curTok) break; + } else { + var noFollow = candidate.noFollow; + var mustFollow = candidate.mustFollow; + var match = false; + if (candidate.needsWs && !this.priorWhitespace) { + match = false; + } else if (!noFollow && !mustFollow) { + match = true; + } else if (noFollow && !noFollow.has(this.str[this.pos + candidate.val.length])) { + match = true; + } else if (mustFollow && mustFollow.has(this.str[this.pos + candidate.val.length])) { + match = true; + } + if (match) { + this.curCol += candidate.val.length; + this.pos += candidate.val.length; + var t = this.makeToken(candidate.name, candidate.val, + SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), + candidate); + this.priorWhitespace = false; + this.curTok = t; + break; + } + } + } + } + } + // Handle whitespace + if (this.curTok === undefined && this.whitespace[c]) { + this.priorWhitespace = true; + while (this.whitespace[c]) { + this.pos++; + this.curCol++; + if (c === "\n") { + this.curLine++; + this.curCol = 0; + } + c = this.str[this.pos]; // XXX not unicode aware + } + this.curTok = this.makeWSToken(line, col, pos); + } + if (this.curTok === undefined) { + // FAILOVER + var t = this.makeToken("UNKNOWN", this.str[this.pos], + SrcLoc.make(line, col, pos, line, col + 1, pos + 1)); + this.curCol++; + this.pos++; + this.curTok = t; + } + + if (this.ignore.has(this.curTok.name)) { + var endT = endTimer(); + if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; + this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); + this.curTok = undefined; + } + } + var endT = endTimer(); + if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; + this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); + return this.curTok; + } + + return Tokenizer; + })(); + + return { + 'Tokenizer': Tokenizer, + 'Tokenizer2': Tokenizer2, + 'STICKY_REGEXP': '', + 'Atom': E.Atom, + 'Nonterm': E.Nonterm, + 'Token': E.Token, + 'Rule': E.Rule, + 'Grammar': E.Grammar, + 'SetOfSets': E.SetOfSets, + 'EOF': E.EOF, + 'EPSILON': E.EPSILON, + 'SrcLoc': E.SrcLoc + }; +}); +define('pyret-base/js/pyret-parser', ['jglr/jglr'], +/** @param {{Grammar : {fromSerializable : !Function}, Nonterm : !Object, Token : !Object, Rule : !Object}} E */ +function(E) { + const Grammar = E.Grammar; + const Nonterm = E.Nonterm; + const Token = E.Token; + const Rule = E.Rule; + + var g_json = { + "version": 1, + "start": "START", + "name": "PyretGrammar", + "acceptStates": [ + 1 + ], + "mode": "RNGLR", + "rulesByOldId": { + "0": { + "name": "program", + "symbols": [ + "@prelude", + "@block" + ] + }, + "1": { + "name": "prelude", + "symbols": [ + "@prelude_I0?", + "@prelude_I1*" + ] + }, + "2": { + "name": "prelude_I0?", + "symbols": [] + }, + "3": { + "name": "prelude_I0?", + "symbols": [ + "@prelude_I0" + ] + }, + "4": { + "name": "prelude_I0", + "symbols": [ + "@use-stmt" + ] + }, + "5": { + "name": "prelude_I1*", + "symbols": [] + }, + "6": { + "name": "prelude_I1*", + "symbols": [ + "@prelude_I1*", + "@prelude_I1" + ] + }, + "7": { + "name": "prelude_I1", + "symbols": [ + "@provide-stmt" + ] + }, + "8": { + "name": "prelude_I1", + "symbols": [ + "@import-stmt" + ] + }, + "9": { + "name": "use-stmt", + "symbols": [ + "'USE", + "'NAME", + "@import-source" + ] + }, + "10": { + "name": "import-stmt", + "symbols": [ + "'INCLUDE", + "@import-source" + ] + }, + "11": { + "name": "import-stmt", + "symbols": [ + "'INCLUDE", + "'FROM", + "@module-ref", + "'COLON", + "@import-stmt_A1_I4?", + "'END" + ] + }, + "12": { + "name": "import-stmt_A1_I4?", + "symbols": [] + }, + "13": { + "name": "import-stmt_A1_I4?", + "symbols": [ + "@import-stmt_A1_I4" + ] + }, + "14": { + "name": "import-stmt_A1_I4", + "symbols": [ + "@include-spec", + "@import-stmt_A1_I4_I1*", + "@import-stmt_A1_I4_I2?" + ] + }, + "15": { + "name": "import-stmt_A1_I4_I1*", + "symbols": [] + }, + "16": { + "name": "import-stmt_A1_I4_I1*", + "symbols": [ + "@import-stmt_A1_I4_I1*", + "@import-stmt_A1_I4_I1" + ] + }, + "17": { + "name": "import-stmt_A1_I4_I1", + "symbols": [ + "'COMMA", + "@include-spec" + ] + }, + "18": { + "name": "import-stmt_A1_I4_I2?", + "symbols": [] + }, + "19": { + "name": "import-stmt_A1_I4_I2?", + "symbols": [ + "@import-stmt_A1_I4_I2" + ] + }, + "20": { + "name": "import-stmt_A1_I4_I2", + "symbols": [ + "'COMMA" + ] + }, + "21": { + "name": "import-stmt", + "symbols": [ + "'IMPORT", + "@import-source", + "'AS", + "'NAME" + ] + }, + "22": { + "name": "import-stmt", + "symbols": [ + "'IMPORT", + "@comma-names", + "'FROM", + "@import-source" + ] + }, + "23": { + "name": "import-source", + "symbols": [ + "@import-special" + ] + }, + "24": { + "name": "import-source", + "symbols": [ + "@import-name" + ] + }, + "25": { + "name": "import-special", + "symbols": [ + "'NAME", + "'PARENNOSPACE", + "'STRING", + "@import-special_I3*", + "'RPAREN" + ] + }, + "26": { + "name": "import-special_I3*", + "symbols": [] + }, + "27": { + "name": "import-special_I3*", + "symbols": [ + "@import-special_I3*", + "@import-special_I3" + ] + }, + "28": { + "name": "import-special_I3", + "symbols": [ + "'COMMA", + "'STRING" + ] + }, + "29": { + "name": "import-name", + "symbols": [ + "'NAME" + ] + }, + "30": { + "name": "include-spec", + "symbols": [ + "@include-name-spec" + ] + }, + "31": { + "name": "include-spec", + "symbols": [ + "@include-type-spec" + ] + }, + "32": { + "name": "include-spec", + "symbols": [ + "@include-data-spec" + ] + }, + "33": { + "name": "include-spec", + "symbols": [ + "@include-module-spec" + ] + }, + "34": { + "name": "include-name-spec", + "symbols": [ + "@name-spec" + ] + }, + "35": { + "name": "include-type-spec", + "symbols": [ + "'TYPE", + "@name-spec" + ] + }, + "36": { + "name": "include-data-spec", + "symbols": [ + "'DATA", + "@data-name-spec", + "@include-data-spec_I2?" + ] + }, + "37": { + "name": "include-data-spec_I2?", + "symbols": [] + }, + "38": { + "name": "include-data-spec_I2?", + "symbols": [ + "@include-data-spec_I2" + ] + }, + "39": { + "name": "include-data-spec_I2", + "symbols": [ + "@hiding-spec" + ] + }, + "40": { + "name": "include-module-spec", + "symbols": [ + "'MODULE", + "@name-spec" + ] + }, + "41": { + "name": "provide-stmt", + "symbols": [ + "@provide-vals-stmt" + ] + }, + "42": { + "name": "provide-stmt", + "symbols": [ + "@provide-types-stmt" + ] + }, + "43": { + "name": "provide-stmt", + "symbols": [ + "@provide-block" + ] + }, + "44": { + "name": "provide-vals-stmt", + "symbols": [ + "'PROVIDE", + "@stmt", + "'END" + ] + }, + "45": { + "name": "provide-vals-stmt", + "symbols": [ + "'PROVIDE", + "@provide-vals-stmt_A1_I1" + ] + }, + "46": { + "name": "provide-vals-stmt_A1_I1", + "symbols": [ + "'STAR" + ] + }, + "47": { + "name": "provide-vals-stmt_A1_I1", + "symbols": [ + "'TIMES" + ] + }, + "48": { + "name": "provide-types-stmt", + "symbols": [ + "'PROVIDE-TYPES", + "@record-ann" + ] + }, + "49": { + "name": "provide-types-stmt", + "symbols": [ + "'PROVIDE-TYPES", + "@provide-types-stmt_A1_I1" + ] + }, + "50": { + "name": "provide-types-stmt_A1_I1", + "symbols": [ + "'STAR" + ] + }, + "51": { + "name": "provide-types-stmt_A1_I1", + "symbols": [ + "'TIMES" + ] + }, + "52": { + "name": "provide-block", + "symbols": [ + "'PROVIDECOLON", + "@provide-block_A0_I1?", + "'END" + ] + }, + "53": { + "name": "provide-block_A0_I1?", + "symbols": [] + }, + "54": { + "name": "provide-block_A0_I1?", + "symbols": [ + "@provide-block_A0_I1" + ] + }, + "55": { + "name": "provide-block_A0_I1", + "symbols": [ + "@provide-spec", + "@provide-block_A0_I1_I1*", + "@provide-block_A0_I1_I2?" + ] + }, + "56": { + "name": "provide-block_A0_I1_I1*", + "symbols": [] + }, + "57": { + "name": "provide-block_A0_I1_I1*", + "symbols": [ + "@provide-block_A0_I1_I1*", + "@provide-block_A0_I1_I1" + ] + }, + "58": { + "name": "provide-block_A0_I1_I1", + "symbols": [ + "'COMMA", + "@provide-spec" + ] + }, + "59": { + "name": "provide-block_A0_I1_I2?", + "symbols": [] + }, + "60": { + "name": "provide-block_A0_I1_I2?", + "symbols": [ + "@provide-block_A0_I1_I2" + ] + }, + "61": { + "name": "provide-block_A0_I1_I2", + "symbols": [ + "'COMMA" + ] + }, + "62": { + "name": "provide-block", + "symbols": [ + "'PROVIDE", + "'FROM", + "@module-ref", + "'COLON", + "@provide-block_A1_I4?", + "'END" + ] + }, + "63": { + "name": "provide-block_A1_I4?", + "symbols": [] + }, + "64": { + "name": "provide-block_A1_I4?", + "symbols": [ + "@provide-block_A1_I4" + ] + }, + "65": { + "name": "provide-block_A1_I4", + "symbols": [ + "@provide-spec", + "@provide-block_A1_I4_I1*", + "@provide-block_A1_I4_I2?" + ] + }, + "66": { + "name": "provide-block_A1_I4_I1*", + "symbols": [] + }, + "67": { + "name": "provide-block_A1_I4_I1*", + "symbols": [ + "@provide-block_A1_I4_I1*", + "@provide-block_A1_I4_I1" + ] + }, + "68": { + "name": "provide-block_A1_I4_I1", + "symbols": [ + "'COMMA", + "@provide-spec" + ] + }, + "69": { + "name": "provide-block_A1_I4_I2?", + "symbols": [] + }, + "70": { + "name": "provide-block_A1_I4_I2?", + "symbols": [ + "@provide-block_A1_I4_I2" + ] + }, + "71": { + "name": "provide-block_A1_I4_I2", + "symbols": [ + "'COMMA" + ] + }, + "72": { + "name": "provide-spec", + "symbols": [ + "@provide-name-spec" + ] + }, + "73": { + "name": "provide-spec", + "symbols": [ + "@provide-type-spec" + ] + }, + "74": { + "name": "provide-spec", + "symbols": [ + "@provide-data-spec" + ] + }, + "75": { + "name": "provide-spec", + "symbols": [ + "@provide-module-spec" + ] + }, + "76": { + "name": "name-spec", + "symbols": [ + "@name-spec_A0_I0", + "@name-spec_A0_I1?" + ] + }, + "77": { + "name": "name-spec_A0_I0", + "symbols": [ + "'STAR" + ] + }, + "78": { + "name": "name-spec_A0_I0", + "symbols": [ + "'TIMES" + ] + }, + "79": { + "name": "name-spec_A0_I1?", + "symbols": [] + }, + "80": { + "name": "name-spec_A0_I1?", + "symbols": [ + "@name-spec_A0_I1" + ] + }, + "81": { + "name": "name-spec_A0_I1", + "symbols": [ + "@hiding-spec" + ] + }, + "82": { + "name": "name-spec", + "symbols": [ + "@module-ref" + ] + }, + "83": { + "name": "name-spec", + "symbols": [ + "@module-ref", + "'AS", + "'NAME" + ] + }, + "84": { + "name": "data-name-spec", + "symbols": [ + "@data-name-spec_A0_I0" + ] + }, + "85": { + "name": "data-name-spec_A0_I0", + "symbols": [ + "'STAR" + ] + }, + "86": { + "name": "data-name-spec_A0_I0", + "symbols": [ + "'TIMES" + ] + }, + "87": { + "name": "data-name-spec", + "symbols": [ + "@module-ref" + ] + }, + "88": { + "name": "provide-name-spec", + "symbols": [ + "@name-spec" + ] + }, + "89": { + "name": "provide-type-spec", + "symbols": [ + "'TYPE", + "@name-spec" + ] + }, + "90": { + "name": "provide-data-spec", + "symbols": [ + "'DATA", + "@data-name-spec", + "@provide-data-spec_I2?" + ] + }, + "91": { + "name": "provide-data-spec_I2?", + "symbols": [] + }, + "92": { + "name": "provide-data-spec_I2?", + "symbols": [ + "@provide-data-spec_I2" + ] + }, + "93": { + "name": "provide-data-spec_I2", + "symbols": [ + "@hiding-spec" + ] + }, + "94": { + "name": "provide-module-spec", + "symbols": [ + "'MODULE", + "@name-spec" + ] + }, + "95": { + "name": "hiding-spec", + "symbols": [ + "'HIDING", + "@hiding-spec_I1", + "@hiding-spec_I2?", + "'RPAREN" + ] + }, + "96": { + "name": "hiding-spec_I1", + "symbols": [ + "'PARENSPACE" + ] + }, + "97": { + "name": "hiding-spec_I1", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "98": { + "name": "hiding-spec_I2?", + "symbols": [] + }, + "99": { + "name": "hiding-spec_I2?", + "symbols": [ + "@hiding-spec_I2" + ] + }, + "100": { + "name": "hiding-spec_I2", + "symbols": [ + "@hiding-spec_I2_I0*", + "'NAME" + ] + }, + "101": { + "name": "hiding-spec_I2_I0*", + "symbols": [] + }, + "102": { + "name": "hiding-spec_I2_I0*", + "symbols": [ + "@hiding-spec_I2_I0*", + "@hiding-spec_I2_I0" + ] + }, + "103": { + "name": "hiding-spec_I2_I0", + "symbols": [ + "'NAME", + "'COMMA" + ] + }, + "104": { + "name": "module-ref", + "symbols": [ + "@module-ref_I0*", + "'NAME" + ] + }, + "105": { + "name": "module-ref_I0*", + "symbols": [] + }, + "106": { + "name": "module-ref_I0*", + "symbols": [ + "@module-ref_I0*", + "@module-ref_I0" + ] + }, + "107": { + "name": "module-ref_I0", + "symbols": [ + "'NAME", + "'DOT" + ] + }, + "108": { + "name": "comma-names", + "symbols": [ + "'NAME", + "@comma-names_I1*" + ] + }, + "109": { + "name": "comma-names_I1*", + "symbols": [] + }, + "110": { + "name": "comma-names_I1*", + "symbols": [ + "@comma-names_I1*", + "@comma-names_I1" + ] + }, + "111": { + "name": "comma-names_I1", + "symbols": [ + "'COMMA", + "'NAME" + ] + }, + "112": { + "name": "block", + "symbols": [ + "@block_I0*" + ] + }, + "113": { + "name": "block_I0*", + "symbols": [] + }, + "114": { + "name": "block_I0*", + "symbols": [ + "@block_I0*", + "@block_I0" + ] + }, + "115": { + "name": "block_I0", + "symbols": [ + "@stmt" + ] + }, + "116": { + "name": "stmt", + "symbols": [ + "@type-expr" + ] + }, + "117": { + "name": "stmt", + "symbols": [ + "@newtype-expr" + ] + }, + "118": { + "name": "stmt", + "symbols": [ + "@spy-stmt" + ] + }, + "119": { + "name": "stmt", + "symbols": [ + "@let-expr" + ] + }, + "120": { + "name": "stmt", + "symbols": [ + "@fun-expr" + ] + }, + "121": { + "name": "stmt", + "symbols": [ + "@data-expr" + ] + }, + "122": { + "name": "stmt", + "symbols": [ + "@when-expr" + ] + }, + "123": { + "name": "stmt", + "symbols": [ + "@var-expr" + ] + }, + "124": { + "name": "stmt", + "symbols": [ + "@rec-expr" + ] + }, + "125": { + "name": "stmt", + "symbols": [ + "@assign-expr" + ] + }, + "126": { + "name": "stmt", + "symbols": [ + "@check-test" + ] + }, + "127": { + "name": "stmt", + "symbols": [ + "@check-expr" + ] + }, + "128": { + "name": "stmt", + "symbols": [ + "@contract-stmt" + ] + }, + "129": { + "name": "spy-stmt", + "symbols": [ + "'SPY", + "@spy-stmt_I1?", + "'COLON", + "@spy-stmt_I3?", + "'END" + ] + }, + "130": { + "name": "spy-stmt_I1?", + "symbols": [] + }, + "131": { + "name": "spy-stmt_I1?", + "symbols": [ + "@spy-stmt_I1" + ] + }, + "132": { + "name": "spy-stmt_I1", + "symbols": [ + "@binop-expr" + ] + }, + "133": { + "name": "spy-stmt_I3?", + "symbols": [] + }, + "134": { + "name": "spy-stmt_I3?", + "symbols": [ + "@spy-stmt_I3" + ] + }, + "135": { + "name": "spy-stmt_I3", + "symbols": [ + "@spy-contents" + ] + }, + "136": { + "name": "spy-contents", + "symbols": [ + "@spy-field", + "@spy-contents_I1*" + ] + }, + "137": { + "name": "spy-contents_I1*", + "symbols": [] + }, + "138": { + "name": "spy-contents_I1*", + "symbols": [ + "@spy-contents_I1*", + "@spy-contents_I1" + ] + }, + "139": { + "name": "spy-contents_I1", + "symbols": [ + "'COMMA", + "@spy-field" + ] + }, + "140": { + "name": "spy-field", + "symbols": [ + "@id-expr" + ] + }, + "141": { + "name": "spy-field", + "symbols": [ + "'NAME", + "'COLON", + "@binop-expr" + ] + }, + "142": { + "name": "type-expr", + "symbols": [ + "'TYPE", + "'NAME", + "@ty-params", + "'EQUALS", + "@ann" + ] + }, + "143": { + "name": "newtype-expr", + "symbols": [ + "'NEWTYPE", + "'NAME", + "'AS", + "'NAME" + ] + }, + "144": { + "name": "let-expr", + "symbols": [ + "@toplevel-binding", + "'EQUALS", + "@binop-expr" + ] + }, + "145": { + "name": "binding", + "symbols": [ + "@name-binding" + ] + }, + "146": { + "name": "binding", + "symbols": [ + "@tuple-binding" + ] + }, + "147": { + "name": "tuple-binding", + "symbols": [ + "'LBRACE", + "@tuple-binding_I1*", + "@binding", + "@tuple-binding_I3?", + "'RBRACE", + "@tuple-binding_I5?" + ] + }, + "148": { + "name": "tuple-binding_I1*", + "symbols": [] + }, + "149": { + "name": "tuple-binding_I1*", + "symbols": [ + "@tuple-binding_I1*", + "@tuple-binding_I1" + ] + }, + "150": { + "name": "tuple-binding_I1", + "symbols": [ + "@binding", + "'SEMI" + ] + }, + "151": { + "name": "tuple-binding_I3?", + "symbols": [] + }, + "152": { + "name": "tuple-binding_I3?", + "symbols": [ + "@tuple-binding_I3" + ] + }, + "153": { + "name": "tuple-binding_I3", + "symbols": [ + "'SEMI" + ] + }, + "154": { + "name": "tuple-binding_I5?", + "symbols": [] + }, + "155": { + "name": "tuple-binding_I5?", + "symbols": [ + "@tuple-binding_I5" + ] + }, + "156": { + "name": "tuple-binding_I5", + "symbols": [ + "'AS", + "@name-binding" + ] + }, + "157": { + "name": "name-binding", + "symbols": [ + "@name-binding_I0?", + "'NAME", + "@name-binding_I2?" + ] + }, + "158": { + "name": "name-binding_I0?", + "symbols": [] + }, + "159": { + "name": "name-binding_I0?", + "symbols": [ + "@name-binding_I0" + ] + }, + "160": { + "name": "name-binding_I0", + "symbols": [ + "'SHADOW" + ] + }, + "161": { + "name": "name-binding_I2?", + "symbols": [] + }, + "162": { + "name": "name-binding_I2?", + "symbols": [ + "@name-binding_I2" + ] + }, + "163": { + "name": "name-binding_I2", + "symbols": [ + "'COLONCOLON", + "@ann" + ] + }, + "164": { + "name": "toplevel-binding", + "symbols": [ + "@binding" + ] + }, + "165": { + "name": "multi-let-expr", + "symbols": [ + "'LET", + "@let-binding", + "@multi-let-expr_I2*", + "@multi-let-expr_I3", + "@block", + "'END" + ] + }, + "166": { + "name": "multi-let-expr_I2*", + "symbols": [] + }, + "167": { + "name": "multi-let-expr_I2*", + "symbols": [ + "@multi-let-expr_I2*", + "@multi-let-expr_I2" + ] + }, + "168": { + "name": "multi-let-expr_I2", + "symbols": [ + "'COMMA", + "@let-binding" + ] + }, + "169": { + "name": "multi-let-expr_I3", + "symbols": [ + "'BLOCK" + ] + }, + "170": { + "name": "multi-let-expr_I3", + "symbols": [ + "'COLON" + ] + }, + "171": { + "name": "let-binding", + "symbols": [ + "@let-expr" + ] + }, + "172": { + "name": "let-binding", + "symbols": [ + "@var-expr" + ] + }, + "173": { + "name": "letrec-expr", + "symbols": [ + "'LETREC", + "@let-expr", + "@letrec-expr_I2*", + "@letrec-expr_I3", + "@block", + "'END" + ] + }, + "174": { + "name": "letrec-expr_I2*", + "symbols": [] + }, + "175": { + "name": "letrec-expr_I2*", + "symbols": [ + "@letrec-expr_I2*", + "@letrec-expr_I2" + ] + }, + "176": { + "name": "letrec-expr_I2", + "symbols": [ + "'COMMA", + "@let-expr" + ] + }, + "177": { + "name": "letrec-expr_I3", + "symbols": [ + "'BLOCK" + ] + }, + "178": { + "name": "letrec-expr_I3", + "symbols": [ + "'COLON" + ] + }, + "179": { + "name": "type-bind", + "symbols": [ + "'NAME", + "@ty-params", + "'EQUALS", + "@ann" + ] + }, + "180": { + "name": "newtype-bind", + "symbols": [ + "'NEWTYPE", + "'NAME", + "'AS", + "'NAME" + ] + }, + "181": { + "name": "type-let-bind", + "symbols": [ + "@type-bind" + ] + }, + "182": { + "name": "type-let-bind", + "symbols": [ + "@newtype-bind" + ] + }, + "183": { + "name": "type-let-expr", + "symbols": [ + "'TYPE-LET", + "@type-let-bind", + "@type-let-expr_I2*", + "@type-let-expr_I3", + "@block", + "'END" + ] + }, + "184": { + "name": "type-let-expr_I2*", + "symbols": [] + }, + "185": { + "name": "type-let-expr_I2*", + "symbols": [ + "@type-let-expr_I2*", + "@type-let-expr_I2" + ] + }, + "186": { + "name": "type-let-expr_I2", + "symbols": [ + "'COMMA", + "@type-let-bind" + ] + }, + "187": { + "name": "type-let-expr_I3", + "symbols": [ + "'BLOCK" + ] + }, + "188": { + "name": "type-let-expr_I3", + "symbols": [ + "'COLON" + ] + }, + "189": { + "name": "contract-stmt", + "symbols": [ + "'NAME", + "'COLONCOLON", + "@ty-params", + "@contract-stmt_I3" + ] + }, + "190": { + "name": "contract-stmt_I3", + "symbols": [ + "@ann" + ] + }, + "191": { + "name": "contract-stmt_I3", + "symbols": [ + "@noparen-arrow-ann" + ] + }, + "192": { + "name": "fun-expr", + "symbols": [ + "'FUN", + "'NAME", + "@fun-header", + "@fun-expr_I3", + "@doc-string", + "@block", + "@where-clause", + "'END" + ] + }, + "193": { + "name": "fun-expr_I3", + "symbols": [ + "'BLOCK" + ] + }, + "194": { + "name": "fun-expr_I3", + "symbols": [ + "'COLON" + ] + }, + "195": { + "name": "fun-header", + "symbols": [ + "@ty-params", + "@args", + "@return-ann" + ] + }, + "196": { + "name": "fun-header", + "symbols": [ + "@ty-params", + "@bad-args", + "@return-ann" + ] + }, + "197": { + "name": "ty-params", + "symbols": [ + "@ty-params_I0?" + ] + }, + "198": { + "name": "ty-params_I0?", + "symbols": [] + }, + "199": { + "name": "ty-params_I0?", + "symbols": [ + "@ty-params_I0" + ] + }, + "200": { + "name": "ty-params_I0", + "symbols": [ + "@ty-params_I0_I0", + "@comma-names", + "@ty-params_I0_I2" + ] + }, + "201": { + "name": "ty-params_I0_I0", + "symbols": [ + "'LANGLE" + ] + }, + "202": { + "name": "ty-params_I0_I0", + "symbols": [ + "'LT" + ] + }, + "203": { + "name": "ty-params_I0_I2", + "symbols": [ + "'RANGLE" + ] + }, + "204": { + "name": "ty-params_I0_I2", + "symbols": [ + "'GT" + ] + }, + "205": { + "name": "args", + "symbols": [ + "@args_I0", + "@args_I1?", + "'RPAREN" + ] + }, + "206": { + "name": "args_I0", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "207": { + "name": "args_I0", + "symbols": [ + "'PARENAFTERBRACE" + ] + }, + "208": { + "name": "args_I1?", + "symbols": [] + }, + "209": { + "name": "args_I1?", + "symbols": [ + "@args_I1" + ] + }, + "210": { + "name": "args_I1", + "symbols": [ + "@binding", + "@args_I1_I1*" + ] + }, + "211": { + "name": "args_I1_I1*", + "symbols": [] + }, + "212": { + "name": "args_I1_I1*", + "symbols": [ + "@args_I1_I1*", + "@args_I1_I1" + ] + }, + "213": { + "name": "args_I1_I1", + "symbols": [ + "'COMMA", + "@binding" + ] + }, + "214": { + "name": "bad-args", + "symbols": [ + "'PARENSPACE", + "@bad-args_I1?", + "'RPAREN" + ] + }, + "215": { + "name": "bad-args_I1?", + "symbols": [] + }, + "216": { + "name": "bad-args_I1?", + "symbols": [ + "@bad-args_I1" + ] + }, + "217": { + "name": "bad-args_I1", + "symbols": [ + "@binding", + "@bad-args_I1_I1*" + ] + }, + "218": { + "name": "bad-args_I1_I1*", + "symbols": [] + }, + "219": { + "name": "bad-args_I1_I1*", + "symbols": [ + "@bad-args_I1_I1*", + "@bad-args_I1_I1" + ] + }, + "220": { + "name": "bad-args_I1_I1", + "symbols": [ + "'COMMA", + "@binding" + ] + }, + "221": { + "name": "return-ann", + "symbols": [ + "@return-ann_I0?" + ] + }, + "222": { + "name": "return-ann_I0?", + "symbols": [] + }, + "223": { + "name": "return-ann_I0?", + "symbols": [ + "@return-ann_I0" + ] + }, + "224": { + "name": "return-ann_I0", + "symbols": [ + "'THINARROW", + "@ann" + ] + }, + "225": { + "name": "doc-string", + "symbols": [ + "@doc-string_I0?" + ] + }, + "226": { + "name": "doc-string_I0?", + "symbols": [] + }, + "227": { + "name": "doc-string_I0?", + "symbols": [ + "@doc-string_I0" + ] + }, + "228": { + "name": "doc-string_I0", + "symbols": [ + "'DOC", + "'STRING" + ] + }, + "229": { + "name": "where-clause", + "symbols": [ + "@where-clause_I0?" + ] + }, + "230": { + "name": "where-clause_I0?", + "symbols": [] + }, + "231": { + "name": "where-clause_I0?", + "symbols": [ + "@where-clause_I0" + ] + }, + "232": { + "name": "where-clause_I0", + "symbols": [ + "'WHERE", + "@block" + ] + }, + "233": { + "name": "check-expr", + "symbols": [ + "@check-expr_A0_I0", + "'STRING", + "'COLON", + "@block", + "'END" + ] + }, + "234": { + "name": "check-expr_A0_I0", + "symbols": [ + "'CHECK" + ] + }, + "235": { + "name": "check-expr_A0_I0", + "symbols": [ + "'EXAMPLES" + ] + }, + "236": { + "name": "check-expr", + "symbols": [ + "@check-expr_A1_I0", + "@block", + "'END" + ] + }, + "237": { + "name": "check-expr_A1_I0", + "symbols": [ + "'CHECKCOLON" + ] + }, + "238": { + "name": "check-expr_A1_I0", + "symbols": [ + "'EXAMPLESCOLON" + ] + }, + "239": { + "name": "check-test", + "symbols": [ + "@binop-expr", + "@check-op", + "@check-test_A0_I2?", + "@binop-expr", + "@check-test_A0_I4?" + ] + }, + "240": { + "name": "check-test_A0_I2?", + "symbols": [] + }, + "241": { + "name": "check-test_A0_I2?", + "symbols": [ + "@check-test_A0_I2" + ] + }, + "242": { + "name": "check-test_A0_I2", + "symbols": [ + "'PERCENT", + "@check-test_A0_I2_I1", + "@binop-expr", + "'RPAREN" + ] + }, + "243": { + "name": "check-test_A0_I2_I1", + "symbols": [ + "'PARENSPACE" + ] + }, + "244": { + "name": "check-test_A0_I2_I1", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "245": { + "name": "check-test_A0_I4?", + "symbols": [] + }, + "246": { + "name": "check-test_A0_I4?", + "symbols": [ + "@check-test_A0_I4" + ] + }, + "247": { + "name": "check-test_A0_I4", + "symbols": [ + "'BECAUSE", + "@binop-expr" + ] + }, + "248": { + "name": "check-test", + "symbols": [ + "@binop-expr", + "@check-op-postfix", + "@check-test_A1_I2?" + ] + }, + "249": { + "name": "check-test_A1_I2?", + "symbols": [] + }, + "250": { + "name": "check-test_A1_I2?", + "symbols": [ + "@check-test_A1_I2" + ] + }, + "251": { + "name": "check-test_A1_I2", + "symbols": [ + "'BECAUSE", + "@binop-expr" + ] + }, + "252": { + "name": "check-test", + "symbols": [ + "@binop-expr" + ] + }, + "253": { + "name": "data-expr", + "symbols": [ + "'DATA", + "'NAME", + "@ty-params", + "'COLON", + "@data-expr_I4?", + "@data-expr_I5*", + "@data-sharing", + "@where-clause", + "'END" + ] + }, + "254": { + "name": "data-expr_I4?", + "symbols": [] + }, + "255": { + "name": "data-expr_I4?", + "symbols": [ + "@data-expr_I4" + ] + }, + "256": { + "name": "data-expr_I4", + "symbols": [ + "@first-data-variant" + ] + }, + "257": { + "name": "data-expr_I5*", + "symbols": [] + }, + "258": { + "name": "data-expr_I5*", + "symbols": [ + "@data-expr_I5*", + "@data-expr_I5" + ] + }, + "259": { + "name": "data-expr_I5", + "symbols": [ + "@data-variant" + ] + }, + "260": { + "name": "variant-constructor", + "symbols": [ + "'NAME", + "@variant-members" + ] + }, + "261": { + "name": "first-data-variant", + "symbols": [ + "@variant-constructor", + "@data-with" + ] + }, + "262": { + "name": "first-data-variant", + "symbols": [ + "'NAME", + "@data-with" + ] + }, + "263": { + "name": "data-variant", + "symbols": [ + "'BAR", + "@variant-constructor", + "@data-with" + ] + }, + "264": { + "name": "data-variant", + "symbols": [ + "'BAR", + "'NAME", + "@data-with" + ] + }, + "265": { + "name": "variant-members", + "symbols": [ + "'PARENNOSPACE", + "@variant-members_I1?", + "'RPAREN" + ] + }, + "266": { + "name": "variant-members_I1?", + "symbols": [] + }, + "267": { + "name": "variant-members_I1?", + "symbols": [ + "@variant-members_I1" + ] + }, + "268": { + "name": "variant-members_I1", + "symbols": [ + "@variant-member", + "@variant-members_I1_I1*" + ] + }, + "269": { + "name": "variant-members_I1_I1*", + "symbols": [] + }, + "270": { + "name": "variant-members_I1_I1*", + "symbols": [ + "@variant-members_I1_I1*", + "@variant-members_I1_I1" + ] + }, + "271": { + "name": "variant-members_I1_I1", + "symbols": [ + "'COMMA", + "@variant-member" + ] + }, + "272": { + "name": "variant-member", + "symbols": [ + "@variant-member_I0?", + "@binding" + ] + }, + "273": { + "name": "variant-member_I0?", + "symbols": [] + }, + "274": { + "name": "variant-member_I0?", + "symbols": [ + "@variant-member_I0" + ] + }, + "275": { + "name": "variant-member_I0", + "symbols": [ + "'REF" + ] + }, + "276": { + "name": "data-with", + "symbols": [ + "@data-with_I0?" + ] + }, + "277": { + "name": "data-with_I0?", + "symbols": [] + }, + "278": { + "name": "data-with_I0?", + "symbols": [ + "@data-with_I0" + ] + }, + "279": { + "name": "data-with_I0", + "symbols": [ + "'WITH", + "@fields" + ] + }, + "280": { + "name": "data-sharing", + "symbols": [ + "@data-sharing_I0?" + ] + }, + "281": { + "name": "data-sharing_I0?", + "symbols": [] + }, + "282": { + "name": "data-sharing_I0?", + "symbols": [ + "@data-sharing_I0" + ] + }, + "283": { + "name": "data-sharing_I0", + "symbols": [ + "'SHARING", + "@fields" + ] + }, + "284": { + "name": "var-expr", + "symbols": [ + "'VAR", + "@toplevel-binding", + "'EQUALS", + "@binop-expr" + ] + }, + "285": { + "name": "rec-expr", + "symbols": [ + "'REC", + "@toplevel-binding", + "'EQUALS", + "@binop-expr" + ] + }, + "286": { + "name": "assign-expr", + "symbols": [ + "'NAME", + "'COLONEQUALS", + "@binop-expr" + ] + }, + "287": { + "name": "when-expr", + "symbols": [ + "'WHEN", + "@binop-expr", + "@when-expr_I2", + "@block", + "'END" + ] + }, + "288": { + "name": "when-expr_I2", + "symbols": [ + "'BLOCK" + ] + }, + "289": { + "name": "when-expr_I2", + "symbols": [ + "'COLON" + ] + }, + "290": { + "name": "binop-expr", + "symbols": [ + "@expr", + "@binop-expr_I1*" + ] + }, + "291": { + "name": "binop-expr_I1*", + "symbols": [] + }, + "292": { + "name": "binop-expr_I1*", + "symbols": [ + "@binop-expr_I1*", + "@binop-expr_I1" + ] + }, + "293": { + "name": "binop-expr_I1", + "symbols": [ + "@binop", + "@expr" + ] + }, + "294": { + "name": "binop", + "symbols": [ + "'PLUS" + ] + }, + "295": { + "name": "binop", + "symbols": [ + "'DASH" + ] + }, + "296": { + "name": "binop", + "symbols": [ + "'TIMES" + ] + }, + "297": { + "name": "binop", + "symbols": [ + "'SLASH" + ] + }, + "298": { + "name": "binop", + "symbols": [ + "'LEQ" + ] + }, + "299": { + "name": "binop", + "symbols": [ + "'GEQ" + ] + }, + "300": { + "name": "binop", + "symbols": [ + "'EQUALEQUAL" + ] + }, + "301": { + "name": "binop", + "symbols": [ + "'SPACESHIP" + ] + }, + "302": { + "name": "binop", + "symbols": [ + "'EQUALTILDE" + ] + }, + "303": { + "name": "binop", + "symbols": [ + "'NEQ" + ] + }, + "304": { + "name": "binop", + "symbols": [ + "'LT" + ] + }, + "305": { + "name": "binop", + "symbols": [ + "'GT" + ] + }, + "306": { + "name": "binop", + "symbols": [ + "'AND" + ] + }, + "307": { + "name": "binop", + "symbols": [ + "'OR" + ] + }, + "308": { + "name": "binop", + "symbols": [ + "'CARET" + ] + }, + "309": { + "name": "check-op", + "symbols": [ + "'IS" + ] + }, + "310": { + "name": "check-op", + "symbols": [ + "'ISEQUALEQUAL" + ] + }, + "311": { + "name": "check-op", + "symbols": [ + "'ISEQUALTILDE" + ] + }, + "312": { + "name": "check-op", + "symbols": [ + "'ISSPACESHIP" + ] + }, + "313": { + "name": "check-op", + "symbols": [ + "'ISROUGHLY" + ] + }, + "314": { + "name": "check-op", + "symbols": [ + "'ISNOT" + ] + }, + "315": { + "name": "check-op", + "symbols": [ + "'ISNOTEQUALEQUAL" + ] + }, + "316": { + "name": "check-op", + "symbols": [ + "'ISNOTEQUALTILDE" + ] + }, + "317": { + "name": "check-op", + "symbols": [ + "'ISNOTSPACESHIP" + ] + }, + "318": { + "name": "check-op", + "symbols": [ + "'RAISES" + ] + }, + "319": { + "name": "check-op", + "symbols": [ + "'RAISESOTHER" + ] + }, + "320": { + "name": "check-op", + "symbols": [ + "'SATISFIES" + ] + }, + "321": { + "name": "check-op", + "symbols": [ + "'SATISFIESNOT" + ] + }, + "322": { + "name": "check-op", + "symbols": [ + "'RAISESSATISFIES" + ] + }, + "323": { + "name": "check-op", + "symbols": [ + "'RAISESVIOLATES" + ] + }, + "324": { + "name": "check-op-postfix", + "symbols": [ + "'RAISESNOT" + ] + }, + "325": { + "name": "expr", + "symbols": [ + "@paren-expr" + ] + }, + "326": { + "name": "expr", + "symbols": [ + "@id-expr" + ] + }, + "327": { + "name": "expr", + "symbols": [ + "@prim-expr" + ] + }, + "328": { + "name": "expr", + "symbols": [ + "@lambda-expr" + ] + }, + "329": { + "name": "expr", + "symbols": [ + "@method-expr" + ] + }, + "330": { + "name": "expr", + "symbols": [ + "@app-expr" + ] + }, + "331": { + "name": "expr", + "symbols": [ + "@obj-expr" + ] + }, + "332": { + "name": "expr", + "symbols": [ + "@tuple-expr" + ] + }, + "333": { + "name": "expr", + "symbols": [ + "@tuple-get" + ] + }, + "334": { + "name": "expr", + "symbols": [ + "@dot-expr" + ] + }, + "335": { + "name": "expr", + "symbols": [ + "@template-expr" + ] + }, + "336": { + "name": "expr", + "symbols": [ + "@bracket-expr" + ] + }, + "337": { + "name": "expr", + "symbols": [ + "@get-bang-expr" + ] + }, + "338": { + "name": "expr", + "symbols": [ + "@update-expr" + ] + }, + "339": { + "name": "expr", + "symbols": [ + "@extend-expr" + ] + }, + "340": { + "name": "expr", + "symbols": [ + "@if-expr" + ] + }, + "341": { + "name": "expr", + "symbols": [ + "@if-pipe-expr" + ] + }, + "342": { + "name": "expr", + "symbols": [ + "@cases-expr" + ] + }, + "343": { + "name": "expr", + "symbols": [ + "@for-expr" + ] + }, + "344": { + "name": "expr", + "symbols": [ + "@user-block-expr" + ] + }, + "345": { + "name": "expr", + "symbols": [ + "@inst-expr" + ] + }, + "346": { + "name": "expr", + "symbols": [ + "@multi-let-expr" + ] + }, + "347": { + "name": "expr", + "symbols": [ + "@letrec-expr" + ] + }, + "348": { + "name": "expr", + "symbols": [ + "@type-let-expr" + ] + }, + "349": { + "name": "expr", + "symbols": [ + "@construct-expr" + ] + }, + "350": { + "name": "expr", + "symbols": [ + "@table-select" + ] + }, + "351": { + "name": "expr", + "symbols": [ + "@table-extend" + ] + }, + "352": { + "name": "expr", + "symbols": [ + "@table-filter" + ] + }, + "353": { + "name": "expr", + "symbols": [ + "@table-order" + ] + }, + "354": { + "name": "expr", + "symbols": [ + "@table-extract" + ] + }, + "355": { + "name": "expr", + "symbols": [ + "@table-update" + ] + }, + "356": { + "name": "expr", + "symbols": [ + "@table-expr" + ] + }, + "357": { + "name": "expr", + "symbols": [ + "@load-table-expr" + ] + }, + "358": { + "name": "expr", + "symbols": [ + "@reactor-expr" + ] + }, + "359": { + "name": "template-expr", + "symbols": [ + "'DOTDOTDOT" + ] + }, + "360": { + "name": "bad-expr", + "symbols": [ + "'UNTERMINATED-STRING" + ] + }, + "361": { + "name": "bad-expr", + "symbols": [ + "'UNTERMINATED-BLOCK-COMMENT" + ] + }, + "362": { + "name": "bad-expr", + "symbols": [ + "'BAD-OPER" + ] + }, + "363": { + "name": "bad-expr", + "symbols": [ + "'BAD-NUMBER" + ] + }, + "364": { + "name": "bad-expr", + "symbols": [ + "'UNKNOWN" + ] + }, + "365": { + "name": "paren-expr", + "symbols": [ + "@paren-expr_I0", + "@binop-expr", + "'RPAREN" + ] + }, + "366": { + "name": "paren-expr_I0", + "symbols": [ + "'PARENSPACE" + ] + }, + "367": { + "name": "paren-expr_I0", + "symbols": [ + "'PARENAFTERBRACE" + ] + }, + "368": { + "name": "id-expr", + "symbols": [ + "'NAME" + ] + }, + "369": { + "name": "prim-expr", + "symbols": [ + "@num-expr" + ] + }, + "370": { + "name": "prim-expr", + "symbols": [ + "@frac-expr" + ] + }, + "371": { + "name": "prim-expr", + "symbols": [ + "@rfrac-expr" + ] + }, + "372": { + "name": "prim-expr", + "symbols": [ + "@bool-expr" + ] + }, + "373": { + "name": "prim-expr", + "symbols": [ + "@string-expr" + ] + }, + "374": { + "name": "num-expr", + "symbols": [ + "'NUMBER" + ] + }, + "375": { + "name": "frac-expr", + "symbols": [ + "'RATIONAL" + ] + }, + "376": { + "name": "rfrac-expr", + "symbols": [ + "'ROUGHRATIONAL" + ] + }, + "377": { + "name": "bool-expr", + "symbols": [ + "'TRUE" + ] + }, + "378": { + "name": "bool-expr", + "symbols": [ + "'FALSE" + ] + }, + "379": { + "name": "string-expr", + "symbols": [ + "'STRING" + ] + }, + "380": { + "name": "lambda-expr", + "symbols": [ + "'LAM", + "@fun-header", + "@lambda-expr_A0_I2", + "@doc-string", + "@block", + "@where-clause", + "'END" + ] + }, + "381": { + "name": "lambda-expr_A0_I2", + "symbols": [ + "'BLOCK" + ] + }, + "382": { + "name": "lambda-expr_A0_I2", + "symbols": [ + "'COLON" + ] + }, + "383": { + "name": "lambda-expr", + "symbols": [ + "'LBRACE", + "@fun-header", + "@lambda-expr_A1_I2", + "@doc-string", + "@block", + "@where-clause", + "'RBRACE" + ] + }, + "384": { + "name": "lambda-expr_A1_I2", + "symbols": [ + "'BLOCK" + ] + }, + "385": { + "name": "lambda-expr_A1_I2", + "symbols": [ + "'COLON" + ] + }, + "386": { + "name": "method-expr", + "symbols": [ + "'METHOD", + "@fun-header", + "@method-expr_I2", + "@doc-string", + "@block", + "@where-clause", + "'END" + ] + }, + "387": { + "name": "method-expr_I2", + "symbols": [ + "'BLOCK" + ] + }, + "388": { + "name": "method-expr_I2", + "symbols": [ + "'COLON" + ] + }, + "389": { + "name": "app-expr", + "symbols": [ + "@expr", + "@app-args" + ] + }, + "390": { + "name": "app-expr", + "symbols": [ + "@expr", + "'PARENSPACE", + "'RPAREN" + ] + }, + "391": { + "name": "app-expr", + "symbols": [ + "@expr", + "'PARENSPACE", + "@binop-expr", + "'COMMA", + "@binop-expr", + "@app-expr_A2_I5*", + "'RPAREN" + ] + }, + "392": { + "name": "app-expr_A2_I5*", + "symbols": [] + }, + "393": { + "name": "app-expr_A2_I5*", + "symbols": [ + "@app-expr_A2_I5*", + "@app-expr_A2_I5" + ] + }, + "394": { + "name": "app-expr_A2_I5", + "symbols": [ + "'COMMA", + "@binop-expr" + ] + }, + "395": { + "name": "app-args", + "symbols": [ + "'PARENNOSPACE", + "@opt-comma-binops", + "'RPAREN" + ] + }, + "396": { + "name": "opt-comma-binops", + "symbols": [ + "@opt-comma-binops_I0?" + ] + }, + "397": { + "name": "opt-comma-binops_I0?", + "symbols": [] + }, + "398": { + "name": "opt-comma-binops_I0?", + "symbols": [ + "@opt-comma-binops_I0" + ] + }, + "399": { + "name": "opt-comma-binops_I0", + "symbols": [ + "@comma-binops" + ] + }, + "400": { + "name": "comma-binops", + "symbols": [ + "@binop-expr", + "@comma-binops_I1*" + ] + }, + "401": { + "name": "comma-binops_I1*", + "symbols": [] + }, + "402": { + "name": "comma-binops_I1*", + "symbols": [ + "@comma-binops_I1*", + "@comma-binops_I1" + ] + }, + "403": { + "name": "comma-binops_I1", + "symbols": [ + "'COMMA", + "@binop-expr" + ] + }, + "404": { + "name": "trailing-opt-comma-binops", + "symbols": [ + "@trailing-opt-comma-binops_I0" + ] + }, + "405": { + "name": "trailing-opt-comma-binops_I0", + "symbols": [ + "@comma-binops", + "@trailing-opt-comma-binops_I0_A0_I1?" + ] + }, + "406": { + "name": "trailing-opt-comma-binops_I0_A0_I1?", + "symbols": [] + }, + "407": { + "name": "trailing-opt-comma-binops_I0_A0_I1?", + "symbols": [ + "@trailing-opt-comma-binops_I0_A0_I1" + ] + }, + "408": { + "name": "trailing-opt-comma-binops_I0_A0_I1", + "symbols": [ + "'COMMA" + ] + }, + "409": { + "name": "trailing-opt-comma-binops_I0", + "symbols": [] + }, + "410": { + "name": "inst-expr", + "symbols": [ + "@expr", + "'LANGLE", + "@ann", + "@inst-expr_I3*", + "@inst-expr_I4" + ] + }, + "411": { + "name": "inst-expr_I3*", + "symbols": [] + }, + "412": { + "name": "inst-expr_I3*", + "symbols": [ + "@inst-expr_I3*", + "@inst-expr_I3" + ] + }, + "413": { + "name": "inst-expr_I3", + "symbols": [ + "'COMMA", + "@ann" + ] + }, + "414": { + "name": "inst-expr_I4", + "symbols": [ + "'RANGLE" + ] + }, + "415": { + "name": "inst-expr_I4", + "symbols": [ + "'GT" + ] + }, + "416": { + "name": "tuple-expr", + "symbols": [ + "'LBRACE", + "@tuple-fields", + "'RBRACE" + ] + }, + "417": { + "name": "tuple-fields", + "symbols": [ + "@binop-expr", + "@tuple-fields_I1*", + "@tuple-fields_I2?" + ] + }, + "418": { + "name": "tuple-fields_I1*", + "symbols": [] + }, + "419": { + "name": "tuple-fields_I1*", + "symbols": [ + "@tuple-fields_I1*", + "@tuple-fields_I1" + ] + }, + "420": { + "name": "tuple-fields_I1", + "symbols": [ + "'SEMI", + "@binop-expr" + ] + }, + "421": { + "name": "tuple-fields_I2?", + "symbols": [] + }, + "422": { + "name": "tuple-fields_I2?", + "symbols": [ + "@tuple-fields_I2" + ] + }, + "423": { + "name": "tuple-fields_I2", + "symbols": [ + "'SEMI" + ] + }, + "424": { + "name": "tuple-get", + "symbols": [ + "@expr", + "'DOT", + "'LBRACE", + "'NUMBER", + "'RBRACE" + ] + }, + "425": { + "name": "obj-expr", + "symbols": [ + "'LBRACE", + "@obj-fields", + "'RBRACE" + ] + }, + "426": { + "name": "obj-expr", + "symbols": [ + "'LBRACE", + "'RBRACE" + ] + }, + "427": { + "name": "obj-fields", + "symbols": [ + "@obj-field", + "@obj-fields_I1*", + "@obj-fields_I2?" + ] + }, + "428": { + "name": "obj-fields_I1*", + "symbols": [] + }, + "429": { + "name": "obj-fields_I1*", + "symbols": [ + "@obj-fields_I1*", + "@obj-fields_I1" + ] + }, + "430": { + "name": "obj-fields_I1", + "symbols": [ + "'COMMA", + "@obj-field" + ] + }, + "431": { + "name": "obj-fields_I2?", + "symbols": [] + }, + "432": { + "name": "obj-fields_I2?", + "symbols": [ + "@obj-fields_I2" + ] + }, + "433": { + "name": "obj-fields_I2", + "symbols": [ + "'COMMA" + ] + }, + "434": { + "name": "obj-field", + "symbols": [ + "@key", + "'COLON", + "@binop-expr" + ] + }, + "435": { + "name": "obj-field", + "symbols": [ + "'REF", + "@key", + "@obj-field_A1_I2?", + "'COLON", + "@binop-expr" + ] + }, + "436": { + "name": "obj-field_A1_I2?", + "symbols": [] + }, + "437": { + "name": "obj-field_A1_I2?", + "symbols": [ + "@obj-field_A1_I2" + ] + }, + "438": { + "name": "obj-field_A1_I2", + "symbols": [ + "'COLONCOLON", + "@ann" + ] + }, + "439": { + "name": "obj-field", + "symbols": [ + "'METHOD", + "@key", + "@fun-header", + "@obj-field_A2_I3", + "@doc-string", + "@block", + "@where-clause", + "'END" + ] + }, + "440": { + "name": "obj-field_A2_I3", + "symbols": [ + "'BLOCK" + ] + }, + "441": { + "name": "obj-field_A2_I3", + "symbols": [ + "'COLON" + ] + }, + "442": { + "name": "fields", + "symbols": [ + "@field", + "@fields_I1*", + "@fields_I2?" + ] + }, + "443": { + "name": "fields_I1*", + "symbols": [] + }, + "444": { + "name": "fields_I1*", + "symbols": [ + "@fields_I1*", + "@fields_I1" + ] + }, + "445": { + "name": "fields_I1", + "symbols": [ + "'COMMA", + "@field" + ] + }, + "446": { + "name": "fields_I2?", + "symbols": [] + }, + "447": { + "name": "fields_I2?", + "symbols": [ + "@fields_I2" + ] + }, + "448": { + "name": "fields_I2", + "symbols": [ + "'COMMA" + ] + }, + "449": { + "name": "field", + "symbols": [ + "@key", + "'COLON", + "@binop-expr" + ] + }, + "450": { + "name": "field", + "symbols": [ + "'METHOD", + "@key", + "@fun-header", + "@field_A1_I3", + "@doc-string", + "@block", + "@where-clause", + "'END" + ] + }, + "451": { + "name": "field_A1_I3", + "symbols": [ + "'BLOCK" + ] + }, + "452": { + "name": "field_A1_I3", + "symbols": [ + "'COLON" + ] + }, + "453": { + "name": "key", + "symbols": [ + "'NAME" + ] + }, + "454": { + "name": "construct-expr", + "symbols": [ + "'LBRACK", + "@construct-modifier", + "@binop-expr", + "'COLON", + "@trailing-opt-comma-binops", + "'RBRACK" + ] + }, + "455": { + "name": "construct-modifier", + "symbols": [] + }, + "456": { + "name": "construct-modifier", + "symbols": [ + "'LAZY" + ] + }, + "457": { + "name": "table-expr", + "symbols": [ + "'TABLE", + "@table-headers", + "@table-rows", + "'END" + ] + }, + "458": { + "name": "table-headers", + "symbols": [ + "@table-headers_I0?" + ] + }, + "459": { + "name": "table-headers_I0?", + "symbols": [] + }, + "460": { + "name": "table-headers_I0?", + "symbols": [ + "@table-headers_I0" + ] + }, + "461": { + "name": "table-headers_I0", + "symbols": [ + "@table-headers_I0_I0*", + "@table-header" + ] + }, + "462": { + "name": "table-headers_I0_I0*", + "symbols": [] + }, + "463": { + "name": "table-headers_I0_I0*", + "symbols": [ + "@table-headers_I0_I0*", + "@table-headers_I0_I0" + ] + }, + "464": { + "name": "table-headers_I0_I0", + "symbols": [ + "@list-table-header" + ] + }, + "465": { + "name": "list-table-header", + "symbols": [ + "@table-header", + "'COMMA" + ] + }, + "466": { + "name": "table-header", + "symbols": [ + "'NAME", + "@table-header_I1?" + ] + }, + "467": { + "name": "table-header_I1?", + "symbols": [] + }, + "468": { + "name": "table-header_I1?", + "symbols": [ + "@table-header_I1" + ] + }, + "469": { + "name": "table-header_I1", + "symbols": [ + "'COLONCOLON", + "@ann" + ] + }, + "470": { + "name": "table-rows", + "symbols": [ + "@table-rows_I0?" + ] + }, + "471": { + "name": "table-rows_I0?", + "symbols": [] + }, + "472": { + "name": "table-rows_I0?", + "symbols": [ + "@table-rows_I0" + ] + }, + "473": { + "name": "table-rows_I0", + "symbols": [ + "@table-rows_I0_I0*", + "@table-row" + ] + }, + "474": { + "name": "table-rows_I0_I0*", + "symbols": [] + }, + "475": { + "name": "table-rows_I0_I0*", + "symbols": [ + "@table-rows_I0_I0*", + "@table-rows_I0_I0" + ] + }, + "476": { + "name": "table-rows_I0_I0", + "symbols": [ + "@table-row" + ] + }, + "477": { + "name": "table-row", + "symbols": [ + "'ROW", + "@table-items" + ] + }, + "478": { + "name": "table-items", + "symbols": [ + "@table-items_I0?" + ] + }, + "479": { + "name": "table-items_I0?", + "symbols": [] + }, + "480": { + "name": "table-items_I0?", + "symbols": [ + "@table-items_I0" + ] + }, + "481": { + "name": "table-items_I0", + "symbols": [ + "@table-items_I0_I0*", + "@binop-expr" + ] + }, + "482": { + "name": "table-items_I0_I0*", + "symbols": [] + }, + "483": { + "name": "table-items_I0_I0*", + "symbols": [ + "@table-items_I0_I0*", + "@table-items_I0_I0" + ] + }, + "484": { + "name": "table-items_I0_I0", + "symbols": [ + "@list-table-item" + ] + }, + "485": { + "name": "list-table-item", + "symbols": [ + "@binop-expr", + "'COMMA" + ] + }, + "486": { + "name": "reactor-expr", + "symbols": [ + "'REACTOR", + "'COLON", + "@fields", + "'END" + ] + }, + "487": { + "name": "dot-expr", + "symbols": [ + "@expr", + "'DOT", + "'NAME" + ] + }, + "488": { + "name": "bracket-expr", + "symbols": [ + "@expr", + "'LBRACK", + "@binop-expr", + "'RBRACK" + ] + }, + "489": { + "name": "get-bang-expr", + "symbols": [ + "@expr", + "'BANG", + "'NAME" + ] + }, + "490": { + "name": "extend-expr", + "symbols": [ + "@expr", + "'DOT", + "'LBRACE", + "@fields", + "'RBRACE" + ] + }, + "491": { + "name": "update-expr", + "symbols": [ + "@expr", + "'BANG", + "'LBRACE", + "@fields", + "'RBRACE" + ] + }, + "492": { + "name": "if-expr", + "symbols": [ + "'IF", + "@binop-expr", + "@if-expr_I2", + "@block", + "@if-expr_I4*", + "@if-expr_I5?", + "'END" + ] + }, + "493": { + "name": "if-expr_I2", + "symbols": [ + "'BLOCK" + ] + }, + "494": { + "name": "if-expr_I2", + "symbols": [ + "'COLON" + ] + }, + "495": { + "name": "if-expr_I4*", + "symbols": [] + }, + "496": { + "name": "if-expr_I4*", + "symbols": [ + "@if-expr_I4*", + "@if-expr_I4" + ] + }, + "497": { + "name": "if-expr_I4", + "symbols": [ + "@else-if" + ] + }, + "498": { + "name": "if-expr_I5?", + "symbols": [] + }, + "499": { + "name": "if-expr_I5?", + "symbols": [ + "@if-expr_I5" + ] + }, + "500": { + "name": "if-expr_I5", + "symbols": [ + "'ELSECOLON", + "@block" + ] + }, + "501": { + "name": "else-if", + "symbols": [ + "'ELSEIF", + "@binop-expr", + "'COLON", + "@block" + ] + }, + "502": { + "name": "if-pipe-expr", + "symbols": [ + "'ASK", + "@if-pipe-expr_I1", + "@if-pipe-expr_I2*", + "@if-pipe-expr_I3?", + "'END" + ] + }, + "503": { + "name": "if-pipe-expr_I1", + "symbols": [ + "'BLOCK" + ] + }, + "504": { + "name": "if-pipe-expr_I1", + "symbols": [ + "'COLON" + ] + }, + "505": { + "name": "if-pipe-expr_I2*", + "symbols": [] + }, + "506": { + "name": "if-pipe-expr_I2*", + "symbols": [ + "@if-pipe-expr_I2*", + "@if-pipe-expr_I2" + ] + }, + "507": { + "name": "if-pipe-expr_I2", + "symbols": [ + "@if-pipe-branch" + ] + }, + "508": { + "name": "if-pipe-expr_I3?", + "symbols": [] + }, + "509": { + "name": "if-pipe-expr_I3?", + "symbols": [ + "@if-pipe-expr_I3" + ] + }, + "510": { + "name": "if-pipe-expr_I3", + "symbols": [ + "'BAR", + "'OTHERWISECOLON", + "@block" + ] + }, + "511": { + "name": "if-pipe-branch", + "symbols": [ + "'BAR", + "@binop-expr", + "'THENCOLON", + "@block" + ] + }, + "512": { + "name": "cases-binding", + "symbols": [ + "@cases-binding_I0?", + "@binding" + ] + }, + "513": { + "name": "cases-binding_I0?", + "symbols": [] + }, + "514": { + "name": "cases-binding_I0?", + "symbols": [ + "@cases-binding_I0" + ] + }, + "515": { + "name": "cases-binding_I0", + "symbols": [ + "'REF" + ] + }, + "516": { + "name": "cases-args", + "symbols": [ + "'PARENNOSPACE", + "@cases-args_I1?", + "'RPAREN" + ] + }, + "517": { + "name": "cases-args_I1?", + "symbols": [] + }, + "518": { + "name": "cases-args_I1?", + "symbols": [ + "@cases-args_I1" + ] + }, + "519": { + "name": "cases-args_I1", + "symbols": [ + "@cases-binding", + "@cases-args_I1_I1*" + ] + }, + "520": { + "name": "cases-args_I1_I1*", + "symbols": [] + }, + "521": { + "name": "cases-args_I1_I1*", + "symbols": [ + "@cases-args_I1_I1*", + "@cases-args_I1_I1" + ] + }, + "522": { + "name": "cases-args_I1_I1", + "symbols": [ + "'COMMA", + "@cases-binding" + ] + }, + "523": { + "name": "cases-expr", + "symbols": [ + "'CASES", + "@cases-expr_I1", + "@ann", + "'RPAREN", + "@binop-expr", + "@cases-expr_I5", + "@cases-expr_I6*", + "@cases-expr_I7?", + "'END" + ] + }, + "524": { + "name": "cases-expr_I1", + "symbols": [ + "'PARENSPACE" + ] + }, + "525": { + "name": "cases-expr_I1", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "526": { + "name": "cases-expr_I5", + "symbols": [ + "'BLOCK" + ] + }, + "527": { + "name": "cases-expr_I5", + "symbols": [ + "'COLON" + ] + }, + "528": { + "name": "cases-expr_I6*", + "symbols": [] + }, + "529": { + "name": "cases-expr_I6*", + "symbols": [ + "@cases-expr_I6*", + "@cases-expr_I6" + ] + }, + "530": { + "name": "cases-expr_I6", + "symbols": [ + "@cases-branch" + ] + }, + "531": { + "name": "cases-expr_I7?", + "symbols": [] + }, + "532": { + "name": "cases-expr_I7?", + "symbols": [ + "@cases-expr_I7" + ] + }, + "533": { + "name": "cases-expr_I7", + "symbols": [ + "'BAR", + "'ELSE", + "'THICKARROW", + "@block" + ] + }, + "534": { + "name": "cases-branch", + "symbols": [ + "'BAR", + "'NAME", + "@cases-branch_I2?", + "'THICKARROW", + "@block" + ] + }, + "535": { + "name": "cases-branch_I2?", + "symbols": [] + }, + "536": { + "name": "cases-branch_I2?", + "symbols": [ + "@cases-branch_I2" + ] + }, + "537": { + "name": "cases-branch_I2", + "symbols": [ + "@cases-args" + ] + }, + "538": { + "name": "for-bind", + "symbols": [ + "@binding", + "'FROM", + "@binop-expr" + ] + }, + "539": { + "name": "for-expr", + "symbols": [ + "'FOR", + "@expr", + "'PARENNOSPACE", + "@for-expr_I3?", + "'RPAREN", + "@return-ann", + "@for-expr_I6", + "@block", + "'END" + ] + }, + "540": { + "name": "for-expr_I3?", + "symbols": [] + }, + "541": { + "name": "for-expr_I3?", + "symbols": [ + "@for-expr_I3" + ] + }, + "542": { + "name": "for-expr_I3", + "symbols": [ + "@for-bind", + "@for-expr_I3_I1*" + ] + }, + "543": { + "name": "for-expr_I3_I1*", + "symbols": [] + }, + "544": { + "name": "for-expr_I3_I1*", + "symbols": [ + "@for-expr_I3_I1*", + "@for-expr_I3_I1" + ] + }, + "545": { + "name": "for-expr_I3_I1", + "symbols": [ + "'COMMA", + "@for-bind" + ] + }, + "546": { + "name": "for-expr_I6", + "symbols": [ + "'BLOCK" + ] + }, + "547": { + "name": "for-expr_I6", + "symbols": [ + "'COLON" + ] + }, + "548": { + "name": "column-order", + "symbols": [ + "'NAME", + "@column-order_I1" + ] + }, + "549": { + "name": "column-order_I1", + "symbols": [ + "'ASCENDING" + ] + }, + "550": { + "name": "column-order_I1", + "symbols": [ + "'DESCENDING" + ] + }, + "551": { + "name": "table-select", + "symbols": [ + "'TABLE-SELECT", + "'NAME", + "@table-select_I2*", + "'FROM", + "@expr", + "'END" + ] + }, + "552": { + "name": "table-select_I2*", + "symbols": [] + }, + "553": { + "name": "table-select_I2*", + "symbols": [ + "@table-select_I2*", + "@table-select_I2" + ] + }, + "554": { + "name": "table-select_I2", + "symbols": [ + "'COMMA", + "'NAME" + ] + }, + "555": { + "name": "table-filter", + "symbols": [ + "'TABLE-FILTER", + "@expr", + "@table-filter_I2?", + "'COLON", + "@binop-expr", + "'END" + ] + }, + "556": { + "name": "table-filter_I2?", + "symbols": [] + }, + "557": { + "name": "table-filter_I2?", + "symbols": [ + "@table-filter_I2" + ] + }, + "558": { + "name": "table-filter_I2", + "symbols": [ + "'USING", + "@binding", + "@table-filter_I2_I2*" + ] + }, + "559": { + "name": "table-filter_I2_I2*", + "symbols": [] + }, + "560": { + "name": "table-filter_I2_I2*", + "symbols": [ + "@table-filter_I2_I2*", + "@table-filter_I2_I2" + ] + }, + "561": { + "name": "table-filter_I2_I2", + "symbols": [ + "'COMMA", + "@binding" + ] + }, + "562": { + "name": "table-order", + "symbols": [ + "'TABLE-ORDER", + "@expr", + "'COLON", + "@column-order", + "@table-order_I4*", + "'END" + ] + }, + "563": { + "name": "table-order_I4*", + "symbols": [] + }, + "564": { + "name": "table-order_I4*", + "symbols": [ + "@table-order_I4*", + "@table-order_I4" + ] + }, + "565": { + "name": "table-order_I4", + "symbols": [ + "'COMMA", + "@column-order" + ] + }, + "566": { + "name": "table-extract", + "symbols": [ + "'TABLE-EXTRACT", + "'NAME", + "'FROM", + "@expr", + "'END" + ] + }, + "567": { + "name": "table-update", + "symbols": [ + "'TABLE-UPDATE", + "@expr", + "@table-update_I2?", + "'COLON", + "@obj-fields", + "'END" + ] + }, + "568": { + "name": "table-update_I2?", + "symbols": [] + }, + "569": { + "name": "table-update_I2?", + "symbols": [ + "@table-update_I2" + ] + }, + "570": { + "name": "table-update_I2", + "symbols": [ + "'USING", + "@binding", + "@table-update_I2_I2*" + ] + }, + "571": { + "name": "table-update_I2_I2*", + "symbols": [] + }, + "572": { + "name": "table-update_I2_I2*", + "symbols": [ + "@table-update_I2_I2*", + "@table-update_I2_I2" + ] + }, + "573": { + "name": "table-update_I2_I2", + "symbols": [ + "'COMMA", + "@binding" + ] + }, + "574": { + "name": "table-extend", + "symbols": [ + "'TABLE-EXTEND", + "@expr", + "@table-extend_I2?", + "'COLON", + "@table-extend-fields", + "'END" + ] + }, + "575": { + "name": "table-extend_I2?", + "symbols": [] + }, + "576": { + "name": "table-extend_I2?", + "symbols": [ + "@table-extend_I2" + ] + }, + "577": { + "name": "table-extend_I2", + "symbols": [ + "'USING", + "@binding", + "@table-extend_I2_I2*" + ] + }, + "578": { + "name": "table-extend_I2_I2*", + "symbols": [] + }, + "579": { + "name": "table-extend_I2_I2*", + "symbols": [ + "@table-extend_I2_I2*", + "@table-extend_I2_I2" + ] + }, + "580": { + "name": "table-extend_I2_I2", + "symbols": [ + "'COMMA", + "@binding" + ] + }, + "581": { + "name": "table-extend-fields", + "symbols": [ + "@table-extend-fields_I0*", + "@table-extend-field", + "@table-extend-fields_I2?" + ] + }, + "582": { + "name": "table-extend-fields_I0*", + "symbols": [] + }, + "583": { + "name": "table-extend-fields_I0*", + "symbols": [ + "@table-extend-fields_I0*", + "@table-extend-fields_I0" + ] + }, + "584": { + "name": "table-extend-fields_I0", + "symbols": [ + "@list-table-extend-field" + ] + }, + "585": { + "name": "table-extend-fields_I2?", + "symbols": [] + }, + "586": { + "name": "table-extend-fields_I2?", + "symbols": [ + "@table-extend-fields_I2" + ] + }, + "587": { + "name": "table-extend-fields_I2", + "symbols": [ + "'COMMA" + ] + }, + "588": { + "name": "list-table-extend-field", + "symbols": [ + "@table-extend-field", + "'COMMA" + ] + }, + "589": { + "name": "table-extend-field", + "symbols": [ + "@key", + "@table-extend-field_A0_I1?", + "'COLON", + "@binop-expr" + ] + }, + "590": { + "name": "table-extend-field_A0_I1?", + "symbols": [] + }, + "591": { + "name": "table-extend-field_A0_I1?", + "symbols": [ + "@table-extend-field_A0_I1" + ] + }, + "592": { + "name": "table-extend-field_A0_I1", + "symbols": [ + "'COLONCOLON", + "@ann" + ] + }, + "593": { + "name": "table-extend-field", + "symbols": [ + "@key", + "@table-extend-field_A1_I1?", + "'COLON", + "@expr", + "'OF", + "'NAME" + ] + }, + "594": { + "name": "table-extend-field_A1_I1?", + "symbols": [] + }, + "595": { + "name": "table-extend-field_A1_I1?", + "symbols": [ + "@table-extend-field_A1_I1" + ] + }, + "596": { + "name": "table-extend-field_A1_I1", + "symbols": [ + "'COLONCOLON", + "@ann" + ] + }, + "597": { + "name": "load-table-expr", + "symbols": [ + "'LOAD-TABLE", + "'COLON", + "@table-headers", + "@load-table-expr_I3?", + "'END" + ] + }, + "598": { + "name": "load-table-expr_I3?", + "symbols": [] + }, + "599": { + "name": "load-table-expr_I3?", + "symbols": [ + "@load-table-expr_I3" + ] + }, + "600": { + "name": "load-table-expr_I3", + "symbols": [ + "@load-table-specs" + ] + }, + "601": { + "name": "load-table-specs", + "symbols": [ + "@load-table-specs_I0*", + "@load-table-spec" + ] + }, + "602": { + "name": "load-table-specs_I0*", + "symbols": [] + }, + "603": { + "name": "load-table-specs_I0*", + "symbols": [ + "@load-table-specs_I0*", + "@load-table-specs_I0" + ] + }, + "604": { + "name": "load-table-specs_I0", + "symbols": [ + "@load-table-spec" + ] + }, + "605": { + "name": "load-table-spec", + "symbols": [ + "'SOURCECOLON", + "@expr" + ] + }, + "606": { + "name": "load-table-spec", + "symbols": [ + "'SANITIZE", + "'NAME", + "'USING", + "@expr" + ] + }, + "607": { + "name": "user-block-expr", + "symbols": [ + "'BLOCK", + "@block", + "'END" + ] + }, + "608": { + "name": "ann", + "symbols": [ + "@name-ann" + ] + }, + "609": { + "name": "ann", + "symbols": [ + "@record-ann" + ] + }, + "610": { + "name": "ann", + "symbols": [ + "@arrow-ann" + ] + }, + "611": { + "name": "ann", + "symbols": [ + "@app-ann" + ] + }, + "612": { + "name": "ann", + "symbols": [ + "@pred-ann" + ] + }, + "613": { + "name": "ann", + "symbols": [ + "@dot-ann" + ] + }, + "614": { + "name": "ann", + "symbols": [ + "@tuple-ann" + ] + }, + "615": { + "name": "name-ann", + "symbols": [ + "'NAME" + ] + }, + "616": { + "name": "comma-ann-field", + "symbols": [ + "@ann-field", + "@comma-ann-field_I1*" + ] + }, + "617": { + "name": "comma-ann-field_I1*", + "symbols": [] + }, + "618": { + "name": "comma-ann-field_I1*", + "symbols": [ + "@comma-ann-field_I1*", + "@comma-ann-field_I1" + ] + }, + "619": { + "name": "comma-ann-field_I1", + "symbols": [ + "'COMMA", + "@ann-field" + ] + }, + "620": { + "name": "trailing-opt-comma-ann-field", + "symbols": [ + "@trailing-opt-comma-ann-field_I0" + ] + }, + "621": { + "name": "trailing-opt-comma-ann-field_I0", + "symbols": [ + "@comma-ann-field", + "@trailing-opt-comma-ann-field_I0_A0_I1?" + ] + }, + "622": { + "name": "trailing-opt-comma-ann-field_I0_A0_I1?", + "symbols": [] + }, + "623": { + "name": "trailing-opt-comma-ann-field_I0_A0_I1?", + "symbols": [ + "@trailing-opt-comma-ann-field_I0_A0_I1" + ] + }, + "624": { + "name": "trailing-opt-comma-ann-field_I0_A0_I1", + "symbols": [ + "'COMMA" + ] + }, + "625": { + "name": "trailing-opt-comma-ann-field_I0", + "symbols": [] + }, + "626": { + "name": "record-ann", + "symbols": [ + "'LBRACE", + "@trailing-opt-comma-ann-field", + "'RBRACE" + ] + }, + "627": { + "name": "ann-field", + "symbols": [ + "'NAME", + "'COLONCOLON", + "@ann" + ] + }, + "628": { + "name": "tuple-ann", + "symbols": [ + "'LBRACE", + "@ann", + "@tuple-ann_I2*", + "@tuple-ann_I3?", + "'RBRACE" + ] + }, + "629": { + "name": "tuple-ann_I2*", + "symbols": [] + }, + "630": { + "name": "tuple-ann_I2*", + "symbols": [ + "@tuple-ann_I2*", + "@tuple-ann_I2" + ] + }, + "631": { + "name": "tuple-ann_I2", + "symbols": [ + "'SEMI", + "@ann" + ] + }, + "632": { + "name": "tuple-ann_I3?", + "symbols": [] + }, + "633": { + "name": "tuple-ann_I3?", + "symbols": [ + "@tuple-ann_I3" + ] + }, + "634": { + "name": "tuple-ann_I3", + "symbols": [ + "'SEMI" + ] + }, + "635": { + "name": "noparen-arrow-ann", + "symbols": [ + "@noparen-arrow-ann_I0?", + "'THINARROW", + "@ann" + ] + }, + "636": { + "name": "noparen-arrow-ann_I0?", + "symbols": [] + }, + "637": { + "name": "noparen-arrow-ann_I0?", + "symbols": [ + "@noparen-arrow-ann_I0" + ] + }, + "638": { + "name": "noparen-arrow-ann_I0", + "symbols": [ + "@arrow-ann-args" + ] + }, + "639": { + "name": "arrow-ann-args", + "symbols": [ + "@comma-anns" + ] + }, + "640": { + "name": "arrow-ann-args", + "symbols": [ + "@arrow-ann-args_A1_I0", + "@comma-ann-field", + "'RPAREN" + ] + }, + "641": { + "name": "arrow-ann-args_A1_I0", + "symbols": [ + "'PARENSPACE" + ] + }, + "642": { + "name": "arrow-ann-args_A1_I0", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "643": { + "name": "arrow-ann-args_A1_I0", + "symbols": [ + "'PARENAFTERBRACE" + ] + }, + "644": { + "name": "arrow-ann", + "symbols": [ + "@arrow-ann_I0", + "@arrow-ann_I1?", + "'THINARROW", + "@ann", + "'RPAREN" + ] + }, + "645": { + "name": "arrow-ann_I0", + "symbols": [ + "'PARENSPACE" + ] + }, + "646": { + "name": "arrow-ann_I0", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "647": { + "name": "arrow-ann_I0", + "symbols": [ + "'PARENAFTERBRACE" + ] + }, + "648": { + "name": "arrow-ann_I1?", + "symbols": [] + }, + "649": { + "name": "arrow-ann_I1?", + "symbols": [ + "@arrow-ann_I1" + ] + }, + "650": { + "name": "arrow-ann_I1", + "symbols": [ + "@arrow-ann-args" + ] + }, + "651": { + "name": "app-ann", + "symbols": [ + "@app-ann_I0", + "'LANGLE", + "@comma-anns", + "@app-ann_I3" + ] + }, + "652": { + "name": "app-ann_I0", + "symbols": [ + "@name-ann" + ] + }, + "653": { + "name": "app-ann_I0", + "symbols": [ + "@dot-ann" + ] + }, + "654": { + "name": "app-ann_I3", + "symbols": [ + "'RANGLE" + ] + }, + "655": { + "name": "app-ann_I3", + "symbols": [ + "'GT" + ] + }, + "656": { + "name": "comma-anns", + "symbols": [ + "@ann", + "@comma-anns_I1*" + ] + }, + "657": { + "name": "comma-anns_I1*", + "symbols": [] + }, + "658": { + "name": "comma-anns_I1*", + "symbols": [ + "@comma-anns_I1*", + "@comma-anns_I1" + ] + }, + "659": { + "name": "comma-anns_I1", + "symbols": [ + "'COMMA", + "@ann" + ] + }, + "660": { + "name": "pred-ann", + "symbols": [ + "@ann", + "'PERCENT", + "@pred-ann_I2", + "@id-expr", + "'RPAREN" + ] + }, + "661": { + "name": "pred-ann_I2", + "symbols": [ + "'PARENSPACE" + ] + }, + "662": { + "name": "pred-ann_I2", + "symbols": [ + "'PARENNOSPACE" + ] + }, + "663": { + "name": "dot-ann", + "symbols": [ + "'NAME", + "'DOT", + "'NAME" + ] + }, + "664": { + "name": "START", + "symbols": [ + "@program" + ] + }, + "914": { + "position": 1, + "like": 0 + }, + "1007": { + "position": 1, + "like": 1 + }, + "1153": { + "position": 1, + "like": 3 + }, + "1204": { + "position": 1, + "like": 4 + }, + "1306": { + "position": 2, + "like": 0 + }, + "1308": { + "position": 1, + "like": 112 + }, + "9489": { + "position": 2, + "like": 1 + }, + "10589": { + "position": 1, + "like": 368 + }, + "10760": { + "position": 1, + "like": 379 + }, + "10933": { + "position": 1, + "like": 115 + }, + "10979": { + "position": 1, + "like": 366 + }, + "11011": { + "position": 2, + "like": 114 + }, + "11057": { + "position": 1, + "like": 116 + }, + "11103": { + "position": 1, + "like": 117 + }, + "11149": { + "position": 1, + "like": 118 + }, + "11195": { + "position": 1, + "like": 119 + }, + "11241": { + "position": 1, + "like": 120 + }, + "11287": { + "position": 1, + "like": 121 + }, + "11333": { + "position": 1, + "like": 122 + }, + "11379": { + "position": 1, + "like": 123 + }, + "11425": { + "position": 1, + "like": 124 + }, + "11471": { + "position": 1, + "like": 125 + }, + "11517": { + "position": 1, + "like": 126 + }, + "11563": { + "position": 1, + "like": 127 + }, + "11609": { + "position": 1, + "like": 128 + }, + "11789": { + "position": 1, + "like": 252 + }, + "12451": { + "position": 1, + "like": 326 + }, + "12624": { + "position": 1, + "like": 164 + }, + "12626": { + "position": 1, + "like": 145 + }, + "12628": { + "position": 1, + "like": 146 + }, + "13157": { + "position": 1, + "like": 159 + }, + "13159": { + "position": 1, + "like": 160 + }, + "13161": { + "position": 1, + "like": 346 + }, + "13417": { + "position": 1, + "like": 347 + }, + "13579": { + "position": 1, + "like": 348 + }, + "13799": { + "position": 1, + "like": 367 + }, + "13877": { + "position": 1, + "like": 234 + }, + "13879": { + "position": 1, + "like": 235 + }, + "13927": { + "position": 1, + "like": 237 + }, + "13973": { + "position": 1, + "like": 238 + }, + "14157": { + "position": 1, + "like": 290 + }, + "15261": { + "position": 1, + "like": 325 + }, + "15342": { + "position": 1, + "like": 327 + }, + "15423": { + "position": 1, + "like": 328 + }, + "15504": { + "position": 1, + "like": 329 + }, + "15585": { + "position": 1, + "like": 330 + }, + "15666": { + "position": 1, + "like": 331 + }, + "15747": { + "position": 1, + "like": 332 + }, + "15828": { + "position": 1, + "like": 333 + }, + "15909": { + "position": 1, + "like": 334 + }, + "15990": { + "position": 1, + "like": 335 + }, + "16071": { + "position": 1, + "like": 336 + }, + "16152": { + "position": 1, + "like": 337 + }, + "16233": { + "position": 1, + "like": 338 + }, + "16314": { + "position": 1, + "like": 339 + }, + "16395": { + "position": 1, + "like": 340 + }, + "16476": { + "position": 1, + "like": 341 + }, + "16557": { + "position": 1, + "like": 342 + }, + "16638": { + "position": 1, + "like": 343 + }, + "16719": { + "position": 1, + "like": 344 + }, + "16800": { + "position": 1, + "like": 345 + }, + "16881": { + "position": 1, + "like": 349 + }, + "16962": { + "position": 1, + "like": 350 + }, + "17043": { + "position": 1, + "like": 351 + }, + "17124": { + "position": 1, + "like": 352 + }, + "17205": { + "position": 1, + "like": 353 + }, + "17286": { + "position": 1, + "like": 354 + }, + "17367": { + "position": 1, + "like": 355 + }, + "17448": { + "position": 1, + "like": 356 + }, + "17529": { + "position": 1, + "like": 357 + }, + "17610": { + "position": 1, + "like": 358 + }, + "17691": { + "position": 1, + "like": 359 + }, + "17936": { + "position": 1, + "like": 369 + }, + "18017": { + "position": 1, + "like": 370 + }, + "18098": { + "position": 1, + "like": 371 + }, + "18179": { + "position": 1, + "like": 372 + }, + "18260": { + "position": 1, + "like": 373 + }, + "18341": { + "position": 1, + "like": 374 + }, + "18422": { + "position": 1, + "like": 375 + }, + "18503": { + "position": 1, + "like": 376 + }, + "18584": { + "position": 1, + "like": 377 + }, + "18665": { + "position": 1, + "like": 378 + }, + "20210": { + "position": 2, + "like": 6 + }, + "20261": { + "position": 1, + "like": 7 + }, + "20312": { + "position": 1, + "like": 8 + }, + "20572": { + "position": 1, + "like": 41 + }, + "20623": { + "position": 1, + "like": 42 + }, + "20674": { + "position": 1, + "like": 43 + }, + "21430": { + "position": 1, + "like": 29 + }, + "21531": { + "position": 3, + "like": 9 + }, + "21582": { + "position": 1, + "like": 23 + }, + "21633": { + "position": 1, + "like": 24 + }, + "21936": { + "position": 1, + "like": 131 + }, + "21938": { + "position": 1, + "like": 132 + }, + "22163": { + "position": 2, + "like": 248 + }, + "22344": { + "position": 1, + "like": 309 + }, + "22377": { + "position": 1, + "like": 310 + }, + "22410": { + "position": 1, + "like": 311 + }, + "22443": { + "position": 1, + "like": 312 + }, + "22476": { + "position": 1, + "like": 313 + }, + "22509": { + "position": 1, + "like": 314 + }, + "22542": { + "position": 1, + "like": 315 + }, + "22575": { + "position": 1, + "like": 316 + }, + "22608": { + "position": 1, + "like": 317 + }, + "22641": { + "position": 1, + "like": 318 + }, + "22674": { + "position": 1, + "like": 319 + }, + "22707": { + "position": 1, + "like": 320 + }, + "22740": { + "position": 1, + "like": 321 + }, + "22773": { + "position": 1, + "like": 322 + }, + "22806": { + "position": 1, + "like": 323 + }, + "22839": { + "position": 1, + "like": 324 + }, + "22978": { + "position": 1, + "like": 453 + }, + "22984": { + "position": 1, + "like": 417 + }, + "23037": { + "position": 2, + "like": 426 + }, + "23307": { + "position": 1, + "like": 197 + }, + "23311": { + "position": 1, + "like": 199 + }, + "23321": { + "position": 1, + "like": 201 + }, + "23323": { + "position": 1, + "like": 202 + }, + "23615": { + "position": 1, + "like": 427 + }, + "23652": { + "position": 2, + "like": 157 + }, + "23657": { + "position": 1, + "like": 171 + }, + "23661": { + "position": 1, + "like": 172 + }, + "23935": { + "position": 1, + "like": 181 + }, + "23939": { + "position": 1, + "like": 182 + }, + "25129": { + "position": 2, + "like": 290 + }, + "25809": { + "position": 2, + "like": 389 + }, + "26814": { + "position": 1, + "like": 456 + }, + "26933": { + "position": 1, + "like": 458 + }, + "26936": { + "position": 1, + "like": 460 + }, + "27210": { + "position": 1, + "like": 504 + }, + "27213": { + "position": 1, + "like": 503 + }, + "27301": { + "position": 1, + "like": 525 + }, + "27307": { + "position": 1, + "like": 524 + }, + "28160": { + "position": 2, + "like": 10 + }, + "28263": { + "position": 1, + "like": 108 + }, + "28483": { + "position": 2, + "like": 45 + }, + "28534": { + "position": 1, + "like": 46 + }, + "28585": { + "position": 1, + "like": 47 + }, + "28746": { + "position": 1, + "like": 50 + }, + "28797": { + "position": 1, + "like": 51 + }, + "28848": { + "position": 2, + "like": 48 + }, + "28899": { + "position": 2, + "like": 49 + }, + "29008": { + "position": 1, + "like": 82 + }, + "29014": { + "position": 1, + "like": 88 + }, + "29039": { + "position": 1, + "like": 77 + }, + "29043": { + "position": 1, + "like": 78 + }, + "29098": { + "position": 1, + "like": 54 + }, + "29100": { + "position": 1, + "like": 55 + }, + "29106": { + "position": 1, + "like": 72 + }, + "29109": { + "position": 1, + "like": 73 + }, + "29112": { + "position": 1, + "like": 74 + }, + "29115": { + "position": 1, + "like": 75 + }, + "29118": { + "position": 1, + "like": 76 + }, + "29985": { + "position": 3, + "like": 286 + }, + "30316": { + "position": 1, + "like": 241 + }, + "30488": { + "position": 3, + "like": 248 + }, + "30534": { + "position": 1, + "like": 250 + }, + "30626": { + "position": 3, + "like": 144 + }, + "30672": { + "position": 2, + "like": 417 + }, + "30682": { + "position": 1, + "like": 206 + }, + "30702": { + "position": 2, + "like": 195 + }, + "30713": { + "position": 2, + "like": 196 + }, + "30723": { + "position": 1, + "like": 207 + }, + "30743": { + "position": 2, + "like": 149 + }, + "30749": { + "position": 1, + "like": 385 + }, + "30797": { + "position": 1, + "like": 384 + }, + "31143": { + "position": 3, + "like": 416 + }, + "31224": { + "position": 3, + "like": 425 + }, + "31305": { + "position": 2, + "like": 427 + }, + "31318": { + "position": 3, + "like": 157 + }, + "31320": { + "position": 1, + "like": 162 + }, + "31516": { + "position": 3, + "like": 607 + }, + "32147": { + "position": 3, + "like": 236 + }, + "32285": { + "position": 1, + "like": 289 + }, + "32331": { + "position": 1, + "like": 288 + }, + "32425": { + "position": 1, + "like": 400 + }, + "32582": { + "position": 1, + "like": 396 + }, + "32584": { + "position": 1, + "like": 398 + }, + "32586": { + "position": 1, + "like": 399 + }, + "32602": { + "position": 3, + "like": 390 + }, + "32764": { + "position": 3, + "like": 487 + }, + "33010": { + "position": 1, + "like": 615 + }, + "33022": { + "position": 1, + "like": 646 + }, + "33029": { + "position": 1, + "like": 609 + }, + "33034": { + "position": 1, + "like": 645 + }, + "33170": { + "position": 1, + "like": 647 + }, + "33177": { + "position": 1, + "like": 608 + }, + "33178": { + "position": 1, + "like": 652 + }, + "33184": { + "position": 1, + "like": 610 + }, + "33189": { + "position": 1, + "like": 611 + }, + "33194": { + "position": 1, + "like": 612 + }, + "33199": { + "position": 1, + "like": 613 + }, + "33200": { + "position": 1, + "like": 653 + }, + "33206": { + "position": 1, + "like": 614 + }, + "33224": { + "position": 1, + "like": 296 + }, + "33256": { + "position": 1, + "like": 304 + }, + "33288": { + "position": 1, + "like": 305 + }, + "33320": { + "position": 2, + "like": 292 + }, + "33474": { + "position": 1, + "like": 294 + }, + "33506": { + "position": 1, + "like": 295 + }, + "33538": { + "position": 1, + "like": 297 + }, + "33570": { + "position": 1, + "like": 298 + }, + "33602": { + "position": 1, + "like": 299 + }, + "33634": { + "position": 1, + "like": 300 + }, + "33666": { + "position": 1, + "like": 301 + }, + "33698": { + "position": 1, + "like": 302 + }, + "33730": { + "position": 1, + "like": 303 + }, + "33762": { + "position": 1, + "like": 306 + }, + "33794": { + "position": 1, + "like": 307 + }, + "33826": { + "position": 1, + "like": 308 + }, + "34025": { + "position": 3, + "like": 489 + }, + "34187": { + "position": 3, + "like": 365 + }, + "34268": { + "position": 1, + "like": 382 + }, + "34316": { + "position": 1, + "like": 381 + }, + "34449": { + "position": 1, + "like": 388 + }, + "34497": { + "position": 1, + "like": 387 + }, + "34788": { + "position": 1, + "like": 470 + }, + "34790": { + "position": 1, + "like": 472 + }, + "34799": { + "position": 1, + "like": 466 + }, + "34812": { + "position": 2, + "like": 461 + }, + "34817": { + "position": 2, + "like": 463 + }, + "34819": { + "position": 1, + "like": 464 + }, + "34908": { + "position": 1, + "like": 442 + }, + "34914": { + "position": 1, + "like": 494 + }, + "34962": { + "position": 1, + "like": 493 + }, + "35562": { + "position": 1, + "like": 557 + }, + "35817": { + "position": 1, + "like": 569 + }, + "35902": { + "position": 1, + "like": 576 + }, + "36054": { + "position": 2, + "like": 108 + }, + "36214": { + "position": 3, + "like": 44 + }, + "36268": { + "position": 1, + "like": 621 + }, + "36273": { + "position": 1, + "like": 616 + }, + "36331": { + "position": 1, + "like": 620 + }, + "36336": { + "position": 2, + "like": 89 + }, + "36339": { + "position": 1, + "like": 87 + }, + "36343": { + "position": 2, + "like": 90 + }, + "36352": { + "position": 1, + "like": 85 + }, + "36356": { + "position": 1, + "like": 86 + }, + "36360": { + "position": 1, + "like": 84 + }, + "36365": { + "position": 2, + "like": 94 + }, + "36368": { + "position": 3, + "like": 52 + }, + "36419": { + "position": 2, + "like": 55 + }, + "36429": { + "position": 1, + "like": 81 + }, + "36432": { + "position": 2, + "like": 76 + }, + "36435": { + "position": 1, + "like": 80 + }, + "36445": { + "position": 2, + "like": 104 + }, + "36451": { + "position": 2, + "like": 106 + }, + "36600": { + "position": 1, + "like": 642 + }, + "36648": { + "position": 1, + "like": 641 + }, + "36650": { + "position": 1, + "like": 190 + }, + "36651": { + "position": 1, + "like": 656 + }, + "36795": { + "position": 4, + "like": 189 + }, + "36841": { + "position": 1, + "like": 191 + }, + "36887": { + "position": 1, + "like": 643 + }, + "37211": { + "position": 1, + "like": 637 + }, + "37213": { + "position": 1, + "like": 638 + }, + "37215": { + "position": 1, + "like": 639 + }, + "37479": { + "position": 1, + "like": 134 + }, + "37481": { + "position": 1, + "like": 135 + }, + "37483": { + "position": 1, + "like": 136 + }, + "37489": { + "position": 1, + "like": 140 + }, + "37494": { + "position": 4, + "like": 239 + }, + "37759": { + "position": 1, + "like": 244 + }, + "37791": { + "position": 1, + "like": 243 + }, + "37855": { + "position": 2, + "like": 251 + }, + "37901": { + "position": 4, + "like": 143 + }, + "37948": { + "position": 1, + "like": 423 + }, + "37952": { + "position": 3, + "like": 417 + }, + "37954": { + "position": 2, + "like": 419 + }, + "37957": { + "position": 1, + "like": 422 + }, + "37959": { + "position": 1, + "like": 217 + }, + "37977": { + "position": 1, + "like": 216 + }, + "37979": { + "position": 3, + "like": 195 + }, + "37982": { + "position": 1, + "like": 221 + }, + "37985": { + "position": 1, + "like": 223 + }, + "38005": { + "position": 3, + "like": 196 + }, + "38008": { + "position": 1, + "like": 210 + }, + "38018": { + "position": 1, + "like": 209 + }, + "38022": { + "position": 2, + "like": 150 + }, + "38023": { + "position": 1, + "like": 153 + }, + "38028": { + "position": 1, + "like": 152 + }, + "38117": { + "position": 1, + "like": 225 + }, + "38164": { + "position": 1, + "like": 227 + }, + "38264": { + "position": 3, + "like": 200 + }, + "38268": { + "position": 1, + "like": 203 + }, + "38272": { + "position": 1, + "like": 204 + }, + "38281": { + "position": 1, + "like": 437 + }, + "38381": { + "position": 1, + "like": 433 + }, + "38385": { + "position": 3, + "like": 427 + }, + "38387": { + "position": 2, + "like": 429 + }, + "38390": { + "position": 1, + "like": 432 + }, + "38392": { + "position": 3, + "like": 434 + }, + "38398": { + "position": 2, + "like": 163 + }, + "38411": { + "position": 1, + "like": 170 + }, + "38542": { + "position": 2, + "like": 167 + }, + "38546": { + "position": 1, + "like": 169 + }, + "38592": { + "position": 1, + "like": 178 + }, + "38642": { + "position": 1, + "like": 177 + }, + "38769": { + "position": 2, + "like": 175 + }, + "38781": { + "position": 1, + "like": 188 + }, + "38831": { + "position": 1, + "like": 187 + }, + "38958": { + "position": 2, + "like": 185 + }, + "38962": { + "position": 1, + "like": 194 + }, + "39010": { + "position": 1, + "like": 193 + }, + "39150": { + "position": 4, + "like": 284 + }, + "39196": { + "position": 4, + "like": 285 + }, + "39288": { + "position": 2, + "like": 400 + }, + "39295": { + "position": 3, + "like": 395 + }, + "39926": { + "position": 1, + "like": 650 + }, + "39933": { + "position": 1, + "like": 649 + }, + "39942": { + "position": 2, + "like": 293 + }, + "40019": { + "position": 4, + "like": 488 + }, + "40432": { + "position": 4, + "like": 457 + }, + "40513": { + "position": 2, + "like": 473 + }, + "40514": { + "position": 1, + "like": 476 + }, + "40517": { + "position": 2, + "like": 475 + }, + "40519": { + "position": 1, + "like": 477 + }, + "40624": { + "position": 2, + "like": 466 + }, + "40628": { + "position": 1, + "like": 468 + }, + "40632": { + "position": 2, + "like": 465 + }, + "40634": { + "position": 4, + "like": 486 + }, + "40721": { + "position": 2, + "like": 442 + }, + "41217": { + "position": 2, + "like": 506 + }, + "41220": { + "position": 1, + "like": 507 + }, + "41223": { + "position": 1, + "like": 509 + }, + "41314": { + "position": 1, + "like": 542 + }, + "41401": { + "position": 1, + "like": 541 + }, + "41487": { + "position": 2, + "like": 553 + }, + "41571": { + "position": 2, + "like": 558 + }, + "41754": { + "position": 2, + "like": 570 + }, + "41845": { + "position": 2, + "like": 577 + }, + "42016": { + "position": 1, + "like": 599 + }, + "42018": { + "position": 1, + "like": 600 + }, + "42106": { + "position": 2, + "like": 110 + }, + "42109": { + "position": 4, + "like": 21 + }, + "42160": { + "position": 4, + "like": 22 + }, + "42268": { + "position": 1, + "like": 624 + }, + "42270": { + "position": 2, + "like": 621 + }, + "42272": { + "position": 1, + "like": 623 + }, + "42274": { + "position": 2, + "like": 616 + }, + "42282": { + "position": 3, + "like": 626 + }, + "42333": { + "position": 3, + "like": 83 + }, + "42336": { + "position": 1, + "like": 93 + }, + "42339": { + "position": 3, + "like": 90 + }, + "42342": { + "position": 1, + "like": 92 + }, + "42346": { + "position": 1, + "like": 61 + }, + "42350": { + "position": 3, + "like": 55 + }, + "42352": { + "position": 2, + "like": 57 + }, + "42355": { + "position": 1, + "like": 60 + }, + "42357": { + "position": 1, + "like": 97 + }, + "42368": { + "position": 1, + "like": 96 + }, + "42371": { + "position": 2, + "like": 107 + }, + "42475": { + "position": 2, + "like": 656 + }, + "42534": { + "position": 5, + "like": 142 + }, + "42580": { + "position": 1, + "like": 262 + }, + "42666": { + "position": 1, + "like": 255 + }, + "42671": { + "position": 1, + "like": 256 + }, + "42676": { + "position": 1, + "like": 261 + }, + "42684": { + "position": 5, + "like": 129 + }, + "42730": { + "position": 2, + "like": 136 + }, + "42737": { + "position": 5, + "like": 239 + }, + "42783": { + "position": 1, + "like": 246 + }, + "42907": { + "position": 2, + "like": 420 + }, + "42910": { + "position": 2, + "like": 217 + }, + "42917": { + "position": 3, + "like": 214 + }, + "42924": { + "position": 2, + "like": 224 + }, + "42938": { + "position": 2, + "like": 210 + }, + "42945": { + "position": 3, + "like": 205 + }, + "42949": { + "position": 5, + "like": 147 + }, + "43186": { + "position": 2, + "like": 228 + }, + "43233": { + "position": 2, + "like": 438 + }, + "43238": { + "position": 1, + "like": 441 + }, + "43286": { + "position": 1, + "like": 440 + }, + "43337": { + "position": 2, + "like": 430 + }, + "43341": { + "position": 2, + "like": 168 + }, + "43426": { + "position": 2, + "like": 176 + }, + "43511": { + "position": 4, + "like": 179 + }, + "43515": { + "position": 4, + "like": 180 + }, + "43519": { + "position": 2, + "like": 186 + }, + "43650": { + "position": 5, + "like": 233 + }, + "43696": { + "position": 5, + "like": 287 + }, + "43745": { + "position": 2, + "like": 402 + }, + "43833": { + "position": 5, + "like": 490 + }, + "43914": { + "position": 5, + "like": 424 + }, + "43995": { + "position": 3, + "like": 663 + }, + "44001": { + "position": 1, + "like": 662 + }, + "44003": { + "position": 1, + "like": 661 + }, + "44014": { + "position": 1, + "like": 414 + }, + "44095": { + "position": 1, + "like": 415 + }, + "44176": { + "position": 5, + "like": 410 + }, + "44257": { + "position": 2, + "like": 412 + }, + "44302": { + "position": 5, + "like": 491 + }, + "44553": { + "position": 1, + "like": 405 + }, + "44639": { + "position": 1, + "like": 404 + }, + "44641": { + "position": 2, + "like": 477 + }, + "44644": { + "position": 1, + "like": 478 + }, + "44647": { + "position": 1, + "like": 480 + }, + "44836": { + "position": 2, + "like": 469 + }, + "44959": { + "position": 3, + "like": 449 + }, + "44963": { + "position": 1, + "like": 448 + }, + "44967": { + "position": 3, + "like": 442 + }, + "44969": { + "position": 2, + "like": 444 + }, + "44972": { + "position": 1, + "like": 447 + }, + "45148": { + "position": 2, + "like": 510 + }, + "45159": { + "position": 5, + "like": 502 + }, + "45328": { + "position": 2, + "like": 542 + }, + "45497": { + "position": 2, + "like": 554 + }, + "45581": { + "position": 3, + "like": 558 + }, + "45588": { + "position": 2, + "like": 548 + }, + "45591": { + "position": 1, + "like": 549 + }, + "45594": { + "position": 1, + "like": 550 + }, + "45683": { + "position": 5, + "like": 566 + }, + "45775": { + "position": 3, + "like": 570 + }, + "45869": { + "position": 3, + "like": 577 + }, + "45967": { + "position": 5, + "like": 597 + }, + "46048": { + "position": 2, + "like": 601 + }, + "46049": { + "position": 1, + "like": 604 + }, + "46053": { + "position": 2, + "like": 603 + }, + "46279": { + "position": 1, + "like": 13 + }, + "46281": { + "position": 1, + "like": 14 + }, + "46287": { + "position": 1, + "like": 30 + }, + "46290": { + "position": 1, + "like": 31 + }, + "46293": { + "position": 1, + "like": 32 + }, + "46296": { + "position": 1, + "like": 33 + }, + "46299": { + "position": 1, + "like": 34 + }, + "46311": { + "position": 2, + "like": 111 + }, + "46314": { + "position": 1, + "like": 65 + }, + "46371": { + "position": 1, + "like": 64 + }, + "46373": { + "position": 3, + "like": 627 + }, + "46379": { + "position": 2, + "like": 618 + }, + "46382": { + "position": 2, + "like": 58 + }, + "46388": { + "position": 1, + "like": 99 + }, + "46398": { + "position": 5, + "like": 25 + }, + "46449": { + "position": 2, + "like": 27 + }, + "46455": { + "position": 2, + "like": 658 + }, + "46458": { + "position": 3, + "like": 635 + }, + "46504": { + "position": 3, + "like": 640 + }, + "46526": { + "position": 2, + "like": 260 + }, + "46532": { + "position": 2, + "like": 262 + }, + "46537": { + "position": 1, + "like": 276 + }, + "46542": { + "position": 1, + "like": 278 + }, + "46632": { + "position": 2, + "like": 261 + }, + "46637": { + "position": 3, + "like": 141 + }, + "46643": { + "position": 2, + "like": 138 + }, + "46646": { + "position": 2, + "like": 247 + }, + "46692": { + "position": 4, + "like": 242 + }, + "46727": { + "position": 2, + "like": 219 + }, + "46734": { + "position": 2, + "like": 212 + }, + "46739": { + "position": 6, + "like": 147 + }, + "46741": { + "position": 1, + "like": 155 + }, + "46824": { + "position": 1, + "like": 229 + }, + "46826": { + "position": 1, + "like": 231 + }, + "46828": { + "position": 1, + "like": 232 + }, + "46830": { + "position": 5, + "like": 435 + }, + "46836": { + "position": 6, + "like": 165 + }, + "46917": { + "position": 6, + "like": 173 + }, + "46998": { + "position": 6, + "like": 183 + }, + "47125": { + "position": 2, + "like": 403 + }, + "47219": { + "position": 2, + "like": 413 + }, + "47224": { + "position": 1, + "like": 634 + }, + "47233": { + "position": 2, + "like": 630 + }, + "47236": { + "position": 1, + "like": 633 + }, + "47243": { + "position": 1, + "like": 654 + }, + "47248": { + "position": 1, + "like": 655 + }, + "47253": { + "position": 4, + "like": 651 + }, + "47423": { + "position": 1, + "like": 408 + }, + "47425": { + "position": 2, + "like": 405 + }, + "47427": { + "position": 1, + "like": 407 + }, + "47429": { + "position": 6, + "like": 454 + }, + "47512": { + "position": 2, + "like": 481 + }, + "47619": { + "position": 2, + "like": 483 + }, + "47651": { + "position": 1, + "like": 484 + }, + "47697": { + "position": 1, + "like": 452 + }, + "47745": { + "position": 1, + "like": 451 + }, + "47796": { + "position": 2, + "like": 445 + }, + "47880": { + "position": 2, + "like": 496 + }, + "47884": { + "position": 1, + "like": 497 + }, + "47888": { + "position": 1, + "like": 499 + }, + "47890": { + "position": 1, + "like": 500 + }, + "47896": { + "position": 3, + "like": 511 + }, + "47902": { + "position": 3, + "like": 510 + }, + "47904": { + "position": 1, + "like": 527 + }, + "47907": { + "position": 1, + "like": 526 + }, + "47995": { + "position": 3, + "like": 538 + }, + "48001": { + "position": 2, + "like": 544 + }, + "48175": { + "position": 6, + "like": 551 + }, + "48256": { + "position": 6, + "like": 555 + }, + "48340": { + "position": 2, + "like": 560 + }, + "48343": { + "position": 6, + "like": 562 + }, + "48427": { + "position": 2, + "like": 564 + }, + "48433": { + "position": 2, + "like": 572 + }, + "48436": { + "position": 6, + "like": 567 + }, + "48520": { + "position": 2, + "like": 579 + }, + "48523": { + "position": 6, + "like": 574 + }, + "48616": { + "position": 2, + "like": 581 + }, + "48623": { + "position": 2, + "like": 583 + }, + "48625": { + "position": 1, + "like": 584 + }, + "48655": { + "position": 2, + "like": 605 + }, + "48801": { + "position": 6, + "like": 11 + }, + "48852": { + "position": 2, + "like": 14 + }, + "48862": { + "position": 2, + "like": 35 + }, + "48865": { + "position": 2, + "like": 36 + }, + "48874": { + "position": 2, + "like": 40 + }, + "48877": { + "position": 2, + "like": 65 + }, + "48887": { + "position": 6, + "like": 62 + }, + "48938": { + "position": 2, + "like": 619 + }, + "48941": { + "position": 4, + "like": 95 + }, + "48944": { + "position": 2, + "like": 100 + }, + "48948": { + "position": 2, + "like": 102 + }, + "48950": { + "position": 2, + "like": 28 + }, + "48953": { + "position": 2, + "like": 659 + }, + "48962": { + "position": 1, + "like": 267 + }, + "48964": { + "position": 1, + "like": 268 + }, + "48973": { + "position": 1, + "like": 274 + }, + "48977": { + "position": 1, + "like": 275 + }, + "48981": { + "position": 2, + "like": 279 + }, + "49047": { + "position": 2, + "like": 258 + }, + "49052": { + "position": 1, + "like": 259 + }, + "49067": { + "position": 1, + "like": 280 + }, + "49070": { + "position": 1, + "like": 282 + }, + "49076": { + "position": 2, + "like": 139 + }, + "49079": { + "position": 2, + "like": 220 + }, + "49082": { + "position": 2, + "like": 213 + }, + "49085": { + "position": 2, + "like": 156 + }, + "49087": { + "position": 7, + "like": 383 + }, + "49168": { + "position": 2, + "like": 232 + }, + "49222": { + "position": 7, + "like": 391 + }, + "49303": { + "position": 2, + "like": 393 + }, + "49306": { + "position": 5, + "like": 660 + }, + "49311": { + "position": 2, + "like": 631 + }, + "49314": { + "position": 5, + "like": 628 + }, + "49319": { + "position": 5, + "like": 644 + }, + "49324": { + "position": 7, + "like": 380 + }, + "49405": { + "position": 7, + "like": 386 + }, + "49486": { + "position": 2, + "like": 485 + }, + "49521": { + "position": 7, + "like": 492 + }, + "49602": { + "position": 2, + "like": 500 + }, + "49608": { + "position": 4, + "like": 511 + }, + "49817": { + "position": 2, + "like": 545 + }, + "49820": { + "position": 1, + "like": 547 + }, + "49866": { + "position": 1, + "like": 546 + }, + "49993": { + "position": 2, + "like": 561 + }, + "49996": { + "position": 2, + "like": 565 + }, + "49999": { + "position": 2, + "like": 573 + }, + "50002": { + "position": 2, + "like": 580 + }, + "50012": { + "position": 1, + "like": 591 + }, + "50017": { + "position": 1, + "like": 595 + }, + "50019": { + "position": 2, + "like": 588 + }, + "50020": { + "position": 1, + "like": 587 + }, + "50023": { + "position": 3, + "like": 581 + }, + "50025": { + "position": 1, + "like": 586 + }, + "50053": { + "position": 3, + "like": 14 + }, + "50055": { + "position": 2, + "like": 16 + }, + "50059": { + "position": 1, + "like": 20 + }, + "50063": { + "position": 1, + "like": 19 + }, + "50065": { + "position": 3, + "like": 36 + }, + "50068": { + "position": 1, + "like": 38 + }, + "50071": { + "position": 1, + "like": 39 + }, + "50075": { + "position": 1, + "like": 71 + }, + "50079": { + "position": 3, + "like": 65 + }, + "50081": { + "position": 2, + "like": 67 + }, + "50084": { + "position": 1, + "like": 70 + }, + "50086": { + "position": 2, + "like": 103 + }, + "50088": { + "position": 3, + "like": 265 + }, + "50094": { + "position": 2, + "like": 268 + }, + "50101": { + "position": 2, + "like": 272 + }, + "50150": { + "position": 2, + "like": 264 + }, + "50155": { + "position": 2, + "like": 263 + }, + "50160": { + "position": 2, + "like": 283 + }, + "50166": { + "position": 8, + "like": 192 + }, + "50212": { + "position": 2, + "like": 394 + }, + "50218": { + "position": 3, + "like": 501 + }, + "50308": { + "position": 2, + "like": 529 + }, + "50311": { + "position": 1, + "like": 530 + }, + "50314": { + "position": 1, + "like": 532 + }, + "50397": { + "position": 2, + "like": 592 + }, + "50398": { + "position": 2, + "like": 596 + }, + "50489": { + "position": 4, + "like": 606 + }, + "50493": { + "position": 2, + "like": 17 + }, + "50496": { + "position": 2, + "like": 68 + }, + "50502": { + "position": 2, + "like": 270 + }, + "50505": { + "position": 9, + "like": 253 + }, + "50551": { + "position": 3, + "like": 264 + }, + "50556": { + "position": 3, + "like": 263 + }, + "50561": { + "position": 8, + "like": 439 + }, + "50567": { + "position": 4, + "like": 501 + }, + "50580": { + "position": 9, + "like": 523 + }, + "50661": { + "position": 9, + "like": 539 + }, + "50742": { + "position": 4, + "like": 589 + }, + "50831": { + "position": 2, + "like": 271 + }, + "50834": { + "position": 8, + "like": 450 + }, + "50853": { + "position": 1, + "like": 537 + }, + "50858": { + "position": 1, + "like": 536 + }, + "50860": { + "position": 3, + "like": 533 + }, + "50876": { + "position": 1, + "like": 515 + }, + "50880": { + "position": 1, + "like": 519 + }, + "50889": { + "position": 1, + "like": 514 + }, + "50895": { + "position": 1, + "like": 518 + }, + "50897": { + "position": 4, + "like": 534 + }, + "50900": { + "position": 4, + "like": 533 + }, + "50902": { + "position": 6, + "like": 593 + }, + "50905": { + "position": 2, + "like": 519 + }, + "50912": { + "position": 2, + "like": 512 + }, + "50915": { + "position": 3, + "like": 516 + }, + "50917": { + "position": 5, + "like": 534 + }, + "50923": { + "position": 2, + "like": 521 + }, + "50926": { + "position": 2, + "like": 522 + } + }, + "actionsByOldId": { + "0": "dA", + "1": "dA", + "2": "Inline", + "3": "Inline", + "4": "Inline", + "5": "Inline", + "6": [ + "ListSnoc", + "prelude_I1*", + "prelude_I1", + true + ], + "7": "Inline", + "8": "Inline", + "9": "dA", + "10": "dA", + "11": "dA", + "12": "Inline", + "13": "Inline", + "14": "Inline", + "15": "Inline", + "16": [ + "ListSnoc", + "import-stmt_A1_I4_I1*", + "import-stmt_A1_I4_I1", + true + ], + "17": "Inline", + "18": "Inline", + "19": "Inline", + "20": "Inline", + "21": "dA", + "22": "dA", + "23": "dA", + "24": "dA", + "25": "dA", + "26": "Inline", + "27": [ + "ListSnoc", + "import-special_I3*", + "import-special_I3", + true + ], + "28": "Inline", + "29": "dA", + "30": "dA", + "31": "dA", + "32": "dA", + "33": "dA", + "34": "dA", + "35": "dA", + "36": "dA", + "37": "Inline", + "38": "Inline", + "39": "Inline", + "40": "dA", + "41": "dA", + "42": "dA", + "43": "dA", + "44": "dA", + "45": "dA", + "46": "Inline", + "47": "Inline", + "48": "dA", + "49": "dA", + "50": "Inline", + "51": "Inline", + "52": "dA", + "53": "Inline", + "54": "Inline", + "55": "Inline", + "56": "Inline", + "57": [ + "ListSnoc", + "provide-block_A0_I1_I1*", + "provide-block_A0_I1_I1", + true + ], + "58": "Inline", + "59": "Inline", + "60": "Inline", + "61": "Inline", + "62": "dA", + "63": "Inline", + "64": "Inline", + "65": "Inline", + "66": "Inline", + "67": [ + "ListSnoc", + "provide-block_A1_I4_I1*", + "provide-block_A1_I4_I1", + true + ], + "68": "Inline", + "69": "Inline", + "70": "Inline", + "71": "Inline", + "72": "dA", + "73": "dA", + "74": "dA", + "75": "dA", + "76": "dA", + "77": "Inline", + "78": "Inline", + "79": "Inline", + "80": "Inline", + "81": "Inline", + "82": "dA", + "83": "dA", + "84": "dA", + "85": "Inline", + "86": "Inline", + "87": "dA", + "88": "dA", + "89": "dA", + "90": "dA", + "91": "Inline", + "92": "Inline", + "93": "Inline", + "94": "dA", + "95": "dA", + "96": "Inline", + "97": "Inline", + "98": "Inline", + "99": "Inline", + "100": "Inline", + "101": "Inline", + "102": [ + "ListSnoc", + "hiding-spec_I2_I0*", + "hiding-spec_I2_I0", + true + ], + "103": "Inline", + "104": "dA", + "105": "Inline", + "106": [ + "ListSnoc", + "module-ref_I0*", + "module-ref_I0", + true + ], + "107": "Inline", + "108": "dA", + "109": "Inline", + "110": [ + "ListSnoc", + "comma-names_I1*", + "comma-names_I1", + true + ], + "111": "Inline", + "112": "dA", + "113": "Inline", + "114": [ + "ListSnoc", + "block_I0*", + "block_I0", + true + ], + "115": "Inline", + "116": "dA", + "117": "dA", + "118": "dA", + "119": "dA", + "120": "dA", + "121": "dA", + "122": "dA", + "123": "dA", + "124": "dA", + "125": "dA", + "126": "dA", + "127": "dA", + "128": "dA", + "129": "dA", + "130": "Inline", + "131": "Inline", + "132": "Inline", + "133": "Inline", + "134": "Inline", + "135": "Inline", + "136": "dA", + "137": "Inline", + "138": [ + "ListSnoc", + "spy-contents_I1*", + "spy-contents_I1", + true + ], + "139": "Inline", + "140": "dA", + "141": "dA", + "142": "dA", + "143": "dA", + "144": "dA", + "145": "dA", + "146": "dA", + "147": "dA", + "148": "Inline", + "149": [ + "ListSnoc", + "tuple-binding_I1*", + "tuple-binding_I1", + true + ], + "150": "Inline", + "151": "Inline", + "152": "Inline", + "153": "Inline", + "154": "Inline", + "155": "Inline", + "156": "Inline", + "157": "dA", + "158": "Inline", + "159": "Inline", + "160": "Inline", + "161": "Inline", + "162": "Inline", + "163": "Inline", + "164": "dA", + "165": "dA", + "166": "Inline", + "167": [ + "ListSnoc", + "multi-let-expr_I2*", + "multi-let-expr_I2", + true + ], + "168": "Inline", + "169": "Inline", + "170": "Inline", + "171": "dA", + "172": "dA", + "173": "dA", + "174": "Inline", + "175": [ + "ListSnoc", + "letrec-expr_I2*", + "letrec-expr_I2", + true + ], + "176": "Inline", + "177": "Inline", + "178": "Inline", + "179": "dA", + "180": "dA", + "181": "dA", + "182": "dA", + "183": "dA", + "184": "Inline", + "185": [ + "ListSnoc", + "type-let-expr_I2*", + "type-let-expr_I2", + true + ], + "186": "Inline", + "187": "Inline", + "188": "Inline", + "189": "dA", + "190": "Inline", + "191": "Inline", + "192": "dA", + "193": "Inline", + "194": "Inline", + "195": "dA", + "196": "dA", + "197": "dA", + "198": "Inline", + "199": "Inline", + "200": "Inline", + "201": "Inline", + "202": "Inline", + "203": "Inline", + "204": "Inline", + "205": "dA", + "206": "Inline", + "207": "Inline", + "208": "Inline", + "209": "Inline", + "210": "Inline", + "211": "Inline", + "212": [ + "ListSnoc", + "args_I1_I1*", + "args_I1_I1", + true + ], + "213": "Inline", + "214": "dA", + "215": "Inline", + "216": "Inline", + "217": "Inline", + "218": "Inline", + "219": [ + "ListSnoc", + "bad-args_I1_I1*", + "bad-args_I1_I1", + true + ], + "220": "Inline", + "221": "dA", + "222": "Inline", + "223": "Inline", + "224": "Inline", + "225": "dA", + "226": "Inline", + "227": "Inline", + "228": "Inline", + "229": "dA", + "230": "Inline", + "231": "Inline", + "232": "Inline", + "233": "dA", + "234": "Inline", + "235": "Inline", + "236": "dA", + "237": "Inline", + "238": "Inline", + "239": "dA", + "240": "Inline", + "241": "Inline", + "242": "Inline", + "243": "Inline", + "244": "Inline", + "245": "Inline", + "246": "Inline", + "247": "Inline", + "248": "dA", + "249": "Inline", + "250": "Inline", + "251": "Inline", + "252": "dA", + "253": "dA", + "254": "Inline", + "255": "Inline", + "256": "Inline", + "257": "Inline", + "258": [ + "ListSnoc", + "data-expr_I5*", + "data-expr_I5", + true + ], + "259": "Inline", + "260": "dA", + "261": "dA", + "262": "dA", + "263": "dA", + "264": "dA", + "265": "dA", + "266": "Inline", + "267": "Inline", + "268": "Inline", + "269": "Inline", + "270": [ + "ListSnoc", + "variant-members_I1_I1*", + "variant-members_I1_I1", + true + ], + "271": "Inline", + "272": "dA", + "273": "Inline", + "274": "Inline", + "275": "Inline", + "276": "dA", + "277": "Inline", + "278": "Inline", + "279": "Inline", + "280": "dA", + "281": "Inline", + "282": "Inline", + "283": "Inline", + "284": "dA", + "285": "dA", + "286": "dA", + "287": "dA", + "288": "Inline", + "289": "Inline", + "290": "dA", + "291": "Inline", + "292": [ + "ListSnoc", + "binop-expr_I1*", + "binop-expr_I1", + true + ], + "293": "Inline", + "294": "dA", + "295": "dA", + "296": "dA", + "297": "dA", + "298": "dA", + "299": "dA", + "300": "dA", + "301": "dA", + "302": "dA", + "303": "dA", + "304": "dA", + "305": "dA", + "306": "dA", + "307": "dA", + "308": "dA", + "309": "dA", + "310": "dA", + "311": "dA", + "312": "dA", + "313": "dA", + "314": "dA", + "315": "dA", + "316": "dA", + "317": "dA", + "318": "dA", + "319": "dA", + "320": "dA", + "321": "dA", + "322": "dA", + "323": "dA", + "324": "dA", + "325": "dA", + "326": "dA", + "327": "dA", + "328": "dA", + "329": "dA", + "330": "dA", + "331": "dA", + "332": "dA", + "333": "dA", + "334": "dA", + "335": "dA", + "336": "dA", + "337": "dA", + "338": "dA", + "339": "dA", + "340": "dA", + "341": "dA", + "342": "dA", + "343": "dA", + "344": "dA", + "345": "dA", + "346": "dA", + "347": "dA", + "348": "dA", + "349": "dA", + "350": "dA", + "351": "dA", + "352": "dA", + "353": "dA", + "354": "dA", + "355": "dA", + "356": "dA", + "357": "dA", + "358": "dA", + "359": "dA", + "360": "dA", + "361": "dA", + "362": "dA", + "363": "dA", + "364": "dA", + "365": "dA", + "366": "Inline", + "367": "Inline", + "368": "dA", + "369": "dA", + "370": "dA", + "371": "dA", + "372": "dA", + "373": "dA", + "374": "dA", + "375": "dA", + "376": "dA", + "377": "dA", + "378": "dA", + "379": "dA", + "380": "dA", + "381": "Inline", + "382": "Inline", + "383": "dA", + "384": "Inline", + "385": "Inline", + "386": "dA", + "387": "Inline", + "388": "Inline", + "389": "dA", + "390": "dA", + "391": "dA", + "392": "Inline", + "393": [ + "ListSnoc", + "app-expr_A2_I5*", + "app-expr_A2_I5", + true + ], + "394": "Inline", + "395": "dA", + "396": "dA", + "397": "Inline", + "398": "Inline", + "399": "Inline", + "400": "dA", + "401": "Inline", + "402": [ + "ListSnoc", + "comma-binops_I1*", + "comma-binops_I1", + true + ], + "403": "Inline", + "404": "dA", + "405": "Inline", + "406": "Inline", + "407": "Inline", + "408": "Inline", + "409": "Inline", + "410": "dA", + "411": "Inline", + "412": [ + "ListSnoc", + "inst-expr_I3*", + "inst-expr_I3", + true + ], + "413": "Inline", + "414": "Inline", + "415": "Inline", + "416": "dA", + "417": "dA", + "418": "Inline", + "419": [ + "ListSnoc", + "tuple-fields_I1*", + "tuple-fields_I1", + true + ], + "420": "Inline", + "421": "Inline", + "422": "Inline", + "423": "Inline", + "424": "dA", + "425": "dA", + "426": "dA", + "427": "dA", + "428": "Inline", + "429": [ + "ListSnoc", + "obj-fields_I1*", + "obj-fields_I1", + true + ], + "430": "Inline", + "431": "Inline", + "432": "Inline", + "433": "Inline", + "434": "dA", + "435": "dA", + "436": "Inline", + "437": "Inline", + "438": "Inline", + "439": "dA", + "440": "Inline", + "441": "Inline", + "442": "dA", + "443": "Inline", + "444": [ + "ListSnoc", + "fields_I1*", + "fields_I1", + true + ], + "445": "Inline", + "446": "Inline", + "447": "Inline", + "448": "Inline", + "449": "dA", + "450": "dA", + "451": "Inline", + "452": "Inline", + "453": "dA", + "454": "dA", + "455": "dA", + "456": "dA", + "457": "dA", + "458": "dA", + "459": "Inline", + "460": "Inline", + "461": "Inline", + "462": "Inline", + "463": [ + "ListSnoc", + "table-headers_I0_I0*", + "table-headers_I0_I0", + true + ], + "464": "Inline", + "465": "dA", + "466": "dA", + "467": "Inline", + "468": "Inline", + "469": "Inline", + "470": "dA", + "471": "Inline", + "472": "Inline", + "473": "Inline", + "474": "Inline", + "475": [ + "ListSnoc", + "table-rows_I0_I0*", + "table-rows_I0_I0", + true + ], + "476": "Inline", + "477": "dA", + "478": "dA", + "479": "Inline", + "480": "Inline", + "481": "Inline", + "482": "Inline", + "483": [ + "ListSnoc", + "table-items_I0_I0*", + "table-items_I0_I0", + true + ], + "484": "Inline", + "485": "dA", + "486": "dA", + "487": "dA", + "488": "dA", + "489": "dA", + "490": "dA", + "491": "dA", + "492": "dA", + "493": "Inline", + "494": "Inline", + "495": "Inline", + "496": [ + "ListSnoc", + "if-expr_I4*", + "if-expr_I4", + true + ], + "497": "Inline", + "498": "Inline", + "499": "Inline", + "500": "Inline", + "501": "dA", + "502": "dA", + "503": "Inline", + "504": "Inline", + "505": "Inline", + "506": [ + "ListSnoc", + "if-pipe-expr_I2*", + "if-pipe-expr_I2", + true + ], + "507": "Inline", + "508": "Inline", + "509": "Inline", + "510": "Inline", + "511": "dA", + "512": "dA", + "513": "Inline", + "514": "Inline", + "515": "Inline", + "516": "dA", + "517": "Inline", + "518": "Inline", + "519": "Inline", + "520": "Inline", + "521": [ + "ListSnoc", + "cases-args_I1_I1*", + "cases-args_I1_I1", + true + ], + "522": "Inline", + "523": "dA", + "524": "Inline", + "525": "Inline", + "526": "Inline", + "527": "Inline", + "528": "Inline", + "529": [ + "ListSnoc", + "cases-expr_I6*", + "cases-expr_I6", + true + ], + "530": "Inline", + "531": "Inline", + "532": "Inline", + "533": "Inline", + "534": "dA", + "535": "Inline", + "536": "Inline", + "537": "Inline", + "538": "dA", + "539": "dA", + "540": "Inline", + "541": "Inline", + "542": "Inline", + "543": "Inline", + "544": [ + "ListSnoc", + "for-expr_I3_I1*", + "for-expr_I3_I1", + true + ], + "545": "Inline", + "546": "Inline", + "547": "Inline", + "548": "dA", + "549": "Inline", + "550": "Inline", + "551": "dA", + "552": "Inline", + "553": [ + "ListSnoc", + "table-select_I2*", + "table-select_I2", + true + ], + "554": "Inline", + "555": "dA", + "556": "Inline", + "557": "Inline", + "558": "Inline", + "559": "Inline", + "560": [ + "ListSnoc", + "table-filter_I2_I2*", + "table-filter_I2_I2", + true + ], + "561": "Inline", + "562": "dA", + "563": "Inline", + "564": [ + "ListSnoc", + "table-order_I4*", + "table-order_I4", + true + ], + "565": "Inline", + "566": "dA", + "567": "dA", + "568": "Inline", + "569": "Inline", + "570": "Inline", + "571": "Inline", + "572": [ + "ListSnoc", + "table-update_I2_I2*", + "table-update_I2_I2", + true + ], + "573": "Inline", + "574": "dA", + "575": "Inline", + "576": "Inline", + "577": "Inline", + "578": "Inline", + "579": [ + "ListSnoc", + "table-extend_I2_I2*", + "table-extend_I2_I2", + true + ], + "580": "Inline", + "581": "dA", + "582": "Inline", + "583": [ + "ListSnoc", + "table-extend-fields_I0*", + "table-extend-fields_I0", + true + ], + "584": "Inline", + "585": "Inline", + "586": "Inline", + "587": "Inline", + "588": "dA", + "589": "dA", + "590": "Inline", + "591": "Inline", + "592": "Inline", + "593": "dA", + "594": "Inline", + "595": "Inline", + "596": "Inline", + "597": "dA", + "598": "Inline", + "599": "Inline", + "600": "Inline", + "601": "dA", + "602": "Inline", + "603": [ + "ListSnoc", + "load-table-specs_I0*", + "load-table-specs_I0", + true + ], + "604": "Inline", + "605": "dA", + "606": "dA", + "607": "dA", + "608": "dA", + "609": "dA", + "610": "dA", + "611": "dA", + "612": "dA", + "613": "dA", + "614": "dA", + "615": "dA", + "616": "dA", + "617": "Inline", + "618": [ + "ListSnoc", + "comma-ann-field_I1*", + "comma-ann-field_I1", + true + ], + "619": "Inline", + "620": "dA", + "621": "Inline", + "622": "Inline", + "623": "Inline", + "624": "Inline", + "625": "Inline", + "626": "dA", + "627": "dA", + "628": "dA", + "629": "Inline", + "630": [ + "ListSnoc", + "tuple-ann_I2*", + "tuple-ann_I2", + true + ], + "631": "Inline", + "632": "Inline", + "633": "Inline", + "634": "Inline", + "635": "dA", + "636": "Inline", + "637": "Inline", + "638": "Inline", + "639": "dA", + "640": "dA", + "641": "Inline", + "642": "Inline", + "643": "Inline", + "644": "dA", + "645": "Inline", + "646": "Inline", + "647": "Inline", + "648": "Inline", + "649": "Inline", + "650": "Inline", + "651": "dA", + "652": "Inline", + "653": "Inline", + "654": "Inline", + "655": "Inline", + "656": "dA", + "657": "Inline", + "658": [ + "ListSnoc", + "comma-anns_I1*", + "comma-anns_I1", + true + ], + "659": "Inline", + "660": "dA", + "661": "Inline", + "662": "Inline", + "663": "dA", + "664": "dA" + }, + "flagsByOldId": {}, + "rules": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 21, + 22, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 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, + 62, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 82, + 83, + 77, + 78, + 79, + 80, + 81, + 84, + 87, + 85, + 86, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 236, + 234, + 235, + 237, + 238, + 239, + 248, + 252, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 249, + 250, + 251, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 383, + 381, + 382, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 409, + 406, + 407, + 408, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 439, + 436, + 437, + 438, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 593, + 590, + 591, + 592, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 625, + 622, + 623, + 624, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664 + ], + "reduceActions": [ + 0, + 1, + 1, + 2, + 2, + 3, + 914, + 22, + 112, + 22, + 113, + 23, + 1007, + 4, + 5, + 4, + 1153, + 0, + 1204, + 0, + 1306, + 0, + 158, + 30, + 1308, + 0, + 9489, + 0, + 10589, + 0, + 10760, + 0, + 10933, + 0, + 10979, + 0, + 11011, + 0, + 11057, + 0, + 11103, + 0, + 11149, + 0, + 11195, + 0, + 11241, + 0, + 11287, + 0, + 11333, + 0, + 11379, + 0, + 11425, + 0, + 11471, + 0, + 11517, + 0, + 11563, + 0, + 11609, + 0, + 130, + 24, + 11789, + 0, + 12451, + 0, + 12624, + 0, + 12626, + 0, + 12628, + 0, + 148, + 27, + 197, + 35, + 198, + 36, + 13157, + 0, + 13159, + 0, + 13161, + 0, + 13417, + 0, + 13579, + 0, + 13799, + 0, + 13877, + 0, + 13879, + 0, + 13927, + 0, + 13973, + 0, + 14157, + 59, + 291, + 59, + 15261, + 0, + 15342, + 0, + 15423, + 0, + 15504, + 0, + 15585, + 0, + 15666, + 0, + 15747, + 0, + 15828, + 0, + 15909, + 0, + 15990, + 0, + 16071, + 0, + 16152, + 0, + 16233, + 0, + 16314, + 0, + 16395, + 0, + 16476, + 0, + 16557, + 0, + 16638, + 0, + 16719, + 0, + 16800, + 0, + 16881, + 0, + 16962, + 0, + 17043, + 0, + 17124, + 0, + 17205, + 0, + 17286, + 0, + 17367, + 0, + 17448, + 0, + 17529, + 0, + 17610, + 0, + 17691, + 0, + 17936, + 0, + 18017, + 0, + 18098, + 0, + 18179, + 0, + 18260, + 0, + 18341, + 0, + 18422, + 0, + 18503, + 0, + 18584, + 0, + 18665, + 0, + 455, + 75, + 462, + 78, + 458, + 76, + 459, + 77, + 20210, + 0, + 20261, + 0, + 20312, + 0, + 20572, + 0, + 20623, + 0, + 20674, + 0, + 105, + 20, + 53, + 10, + 21430, + 0, + 21531, + 0, + 21582, + 0, + 21633, + 0, + 21936, + 0, + 21938, + 0, + 240, + 47, + 22163, + 49, + 249, + 49, + 22344, + 0, + 22377, + 0, + 22410, + 0, + 22443, + 0, + 22476, + 0, + 22509, + 0, + 22542, + 0, + 22575, + 0, + 22608, + 0, + 22641, + 0, + 22674, + 0, + 22707, + 0, + 22740, + 0, + 22773, + 0, + 22806, + 0, + 22839, + 0, + 22978, + 0, + 22984, + 125, + 418, + 68, + 23037, + 0, + 23307, + 0, + 23311, + 0, + 23321, + 0, + 23323, + 0, + 23615, + 126, + 428, + 70, + 23652, + 31, + 161, + 31, + 23657, + 0, + 23661, + 0, + 166, + 32, + 174, + 33, + 23935, + 0, + 23939, + 0, + 184, + 34, + 396, + 61, + 397, + 62, + 25129, + 0, + 25809, + 0, + 26814, + 0, + 470, + 80, + 471, + 81, + 474, + 82, + 26933, + 0, + 26936, + 0, + 27210, + 0, + 27213, + 0, + 505, + 88, + 27301, + 0, + 27307, + 0, + 552, + 98, + 556, + 99, + 568, + 102, + 575, + 104, + 28160, + 0, + 28263, + 21, + 109, + 21, + 28483, + 0, + 28534, + 0, + 28585, + 0, + 28746, + 0, + 28797, + 0, + 28848, + 0, + 28899, + 0, + 620, + 113, + 625, + 114, + 29008, + 0, + 29014, + 0, + 29039, + 0, + 29043, + 0, + 29098, + 0, + 29100, + 123, + 56, + 11, + 29106, + 0, + 29109, + 0, + 29112, + 0, + 29115, + 0, + 29118, + 16, + 79, + 16, + 636, + 118, + 29985, + 0, + 133, + 25, + 30316, + 0, + 30488, + 0, + 30534, + 0, + 30626, + 0, + 30672, + 69, + 421, + 69, + 30682, + 0, + 215, + 39, + 30702, + 41, + 221, + 41, + 222, + 42, + 30713, + 41, + 208, + 37, + 30723, + 0, + 151, + 28, + 30743, + 0, + 30749, + 0, + 30797, + 0, + 225, + 43, + 226, + 44, + 436, + 72, + 31143, + 0, + 31224, + 0, + 31305, + 71, + 431, + 71, + 31318, + 0, + 31320, + 0, + 31516, + 0, + 32147, + 0, + 32285, + 0, + 32331, + 0, + 32425, + 63, + 401, + 63, + 32582, + 0, + 32584, + 0, + 32586, + 0, + 32602, + 0, + 32764, + 0, + 33010, + 0, + 33022, + 0, + 33029, + 0, + 33034, + 0, + 411, + 67, + 33170, + 0, + 33177, + 0, + 33178, + 0, + 33184, + 0, + 33189, + 0, + 33194, + 0, + 33199, + 0, + 33200, + 0, + 33206, + 0, + 648, + 119, + 33224, + 0, + 33256, + 0, + 33288, + 0, + 33320, + 0, + 33474, + 0, + 33506, + 0, + 33538, + 0, + 33570, + 0, + 33602, + 0, + 33634, + 0, + 33666, + 0, + 33698, + 0, + 33730, + 0, + 33762, + 0, + 33794, + 0, + 33826, + 0, + 34025, + 0, + 34187, + 0, + 34268, + 0, + 34316, + 0, + 34449, + 0, + 34497, + 0, + 34788, + 0, + 34790, + 0, + 34799, + 79, + 467, + 79, + 34812, + 0, + 34817, + 0, + 34819, + 0, + 34908, + 127, + 443, + 73, + 34914, + 0, + 34962, + 0, + 508, + 89, + 540, + 96, + 35562, + 0, + 35817, + 0, + 35902, + 0, + 598, + 110, + 602, + 111, + 36054, + 0, + 36214, + 0, + 36268, + 115, + 622, + 115, + 36273, + 112, + 617, + 112, + 36331, + 0, + 36336, + 0, + 36339, + 0, + 36343, + 17, + 91, + 17, + 36352, + 0, + 36356, + 0, + 36360, + 0, + 36365, + 0, + 36368, + 0, + 36419, + 12, + 59, + 12, + 36429, + 0, + 36432, + 0, + 36435, + 0, + 36445, + 0, + 36451, + 0, + 26, + 8, + 36600, + 0, + 36648, + 0, + 36650, + 0, + 657, + 120, + 36651, + 120, + 36795, + 0, + 36841, + 0, + 36887, + 0, + 37211, + 0, + 37213, + 0, + 37215, + 0, + 254, + 50, + 37479, + 0, + 37481, + 0, + 37483, + 26, + 137, + 26, + 37489, + 0, + 37494, + 48, + 245, + 48, + 37759, + 0, + 37791, + 0, + 37855, + 0, + 37901, + 0, + 37948, + 0, + 37952, + 0, + 37954, + 0, + 37957, + 0, + 218, + 40, + 37959, + 40, + 37977, + 0, + 37979, + 0, + 37982, + 0, + 37985, + 0, + 38005, + 0, + 211, + 38, + 38008, + 38, + 38018, + 0, + 38022, + 0, + 38023, + 0, + 38028, + 0, + 38117, + 0, + 38164, + 0, + 38264, + 0, + 38268, + 0, + 38272, + 0, + 38281, + 0, + 38381, + 0, + 38385, + 0, + 38387, + 0, + 38390, + 0, + 38392, + 0, + 38398, + 0, + 38411, + 0, + 38542, + 0, + 38546, + 0, + 38592, + 0, + 38642, + 0, + 38769, + 0, + 38781, + 0, + 38831, + 0, + 38958, + 0, + 38962, + 0, + 39010, + 0, + 39150, + 0, + 39196, + 0, + 39288, + 0, + 39295, + 0, + 629, + 116, + 39926, + 0, + 39933, + 0, + 39942, + 0, + 40019, + 0, + 404, + 64, + 409, + 65, + 40432, + 0, + 40513, + 0, + 40514, + 0, + 40517, + 0, + 482, + 85, + 40519, + 83, + 478, + 83, + 479, + 84, + 40624, + 0, + 40628, + 0, + 40632, + 0, + 40634, + 0, + 40721, + 74, + 446, + 74, + 495, + 86, + 41217, + 0, + 41220, + 0, + 41223, + 0, + 543, + 97, + 41314, + 97, + 41401, + 0, + 41487, + 0, + 41571, + 100, + 559, + 100, + 563, + 101, + 41754, + 103, + 571, + 103, + 41845, + 105, + 578, + 105, + 582, + 106, + 42016, + 0, + 42018, + 0, + 12, + 5, + 42106, + 0, + 42109, + 0, + 42160, + 0, + 63, + 13, + 42268, + 0, + 42270, + 0, + 42272, + 0, + 42274, + 0, + 42282, + 0, + 42333, + 0, + 42336, + 0, + 42339, + 0, + 42342, + 0, + 42346, + 0, + 42350, + 0, + 42352, + 0, + 42355, + 0, + 42357, + 0, + 101, + 19, + 98, + 18, + 42368, + 0, + 42371, + 0, + 42475, + 0, + 42534, + 0, + 42580, + 55, + 276, + 55, + 277, + 56, + 257, + 51, + 42666, + 0, + 42671, + 0, + 42676, + 55, + 42684, + 0, + 42730, + 0, + 42737, + 0, + 42783, + 0, + 42907, + 0, + 42910, + 0, + 42917, + 0, + 42924, + 0, + 42938, + 0, + 42945, + 0, + 42949, + 29, + 154, + 29, + 229, + 45, + 230, + 46, + 43186, + 0, + 43233, + 0, + 43238, + 0, + 43286, + 0, + 43337, + 0, + 43341, + 0, + 43426, + 0, + 43511, + 0, + 43515, + 0, + 43519, + 0, + 43650, + 0, + 43696, + 0, + 43745, + 0, + 392, + 60, + 43833, + 0, + 43914, + 0, + 43995, + 0, + 44001, + 0, + 44003, + 0, + 44014, + 0, + 44095, + 0, + 44176, + 0, + 44257, + 0, + 632, + 117, + 44302, + 0, + 44553, + 66, + 406, + 66, + 44639, + 0, + 44641, + 0, + 44644, + 0, + 44647, + 0, + 44836, + 0, + 44959, + 0, + 44963, + 0, + 44967, + 0, + 44969, + 0, + 44972, + 0, + 498, + 87, + 45148, + 22, + 45159, + 0, + 45328, + 0, + 45497, + 0, + 45581, + 0, + 45588, + 0, + 45591, + 0, + 45594, + 0, + 45683, + 0, + 45775, + 0, + 45869, + 0, + 45967, + 0, + 46048, + 0, + 46049, + 0, + 46053, + 0, + 46279, + 0, + 46281, + 122, + 15, + 6, + 46287, + 0, + 46290, + 0, + 46293, + 0, + 46296, + 0, + 46299, + 0, + 46311, + 0, + 46314, + 124, + 66, + 14, + 46371, + 0, + 46373, + 0, + 46379, + 0, + 46382, + 0, + 46388, + 0, + 46398, + 0, + 46449, + 0, + 46455, + 0, + 46458, + 0, + 46504, + 0, + 273, + 54, + 266, + 52, + 46526, + 0, + 46532, + 0, + 46537, + 0, + 46542, + 0, + 280, + 57, + 281, + 58, + 46632, + 0, + 46637, + 0, + 46643, + 0, + 46646, + 0, + 46692, + 0, + 46727, + 0, + 46734, + 0, + 46739, + 0, + 46741, + 0, + 46824, + 0, + 46826, + 0, + 46828, + 22, + 46830, + 0, + 46836, + 0, + 46917, + 0, + 46998, + 0, + 47125, + 0, + 47219, + 0, + 47224, + 0, + 47233, + 0, + 47236, + 0, + 47243, + 0, + 47248, + 0, + 47253, + 0, + 47423, + 0, + 47425, + 0, + 47427, + 0, + 47429, + 0, + 47512, + 0, + 47619, + 0, + 47651, + 0, + 47697, + 0, + 47745, + 0, + 47796, + 0, + 47880, + 0, + 47884, + 0, + 47888, + 0, + 47890, + 22, + 47896, + 22, + 47902, + 0, + 47904, + 0, + 47907, + 0, + 528, + 93, + 47995, + 0, + 48001, + 0, + 48175, + 0, + 48256, + 0, + 48340, + 0, + 48343, + 0, + 48427, + 0, + 48433, + 0, + 48436, + 0, + 48520, + 0, + 48523, + 0, + 590, + 108, + 594, + 109, + 48616, + 107, + 585, + 107, + 48623, + 0, + 48625, + 0, + 48655, + 0, + 48801, + 0, + 48852, + 7, + 18, + 7, + 48862, + 0, + 48865, + 9, + 37, + 9, + 48874, + 0, + 48877, + 15, + 69, + 15, + 48887, + 0, + 48938, + 0, + 48941, + 0, + 48944, + 0, + 48948, + 0, + 48950, + 0, + 48953, + 0, + 48962, + 0, + 269, + 53, + 48964, + 53, + 48973, + 0, + 48977, + 0, + 48981, + 0, + 49047, + 0, + 49052, + 0, + 49067, + 0, + 49070, + 0, + 49076, + 0, + 49079, + 0, + 49082, + 0, + 49085, + 0, + 49087, + 0, + 49168, + 0, + 49222, + 0, + 49303, + 0, + 49306, + 0, + 49311, + 0, + 49314, + 0, + 49319, + 0, + 49324, + 0, + 49405, + 0, + 49486, + 0, + 49521, + 0, + 49602, + 0, + 49608, + 0, + 531, + 94, + 49817, + 0, + 49820, + 0, + 49866, + 0, + 49993, + 0, + 49996, + 0, + 49999, + 0, + 50002, + 0, + 50012, + 0, + 50017, + 0, + 50019, + 0, + 50020, + 0, + 50023, + 0, + 50025, + 0, + 50053, + 0, + 50055, + 0, + 50059, + 0, + 50063, + 0, + 50065, + 0, + 50068, + 0, + 50071, + 0, + 50075, + 0, + 50079, + 0, + 50081, + 0, + 50084, + 0, + 50086, + 0, + 50088, + 0, + 50094, + 0, + 50101, + 0, + 50150, + 55, + 50155, + 55, + 50160, + 0, + 50166, + 0, + 50212, + 0, + 50218, + 22, + 50308, + 0, + 50311, + 0, + 50314, + 0, + 50397, + 0, + 50398, + 0, + 50489, + 0, + 50493, + 0, + 50496, + 0, + 50502, + 0, + 50505, + 0, + 50551, + 0, + 50556, + 0, + 50561, + 0, + 50567, + 0, + 535, + 95, + 50580, + 0, + 50661, + 0, + 50742, + 0, + 50831, + 0, + 50834, + 0, + 513, + 90, + 517, + 91, + 50853, + 0, + 50858, + 0, + 50860, + 22, + 50876, + 0, + 520, + 92, + 50880, + 92, + 50889, + 0, + 50895, + 0, + 50897, + 22, + 50900, + 0, + 50902, + 0, + 50905, + 0, + 50912, + 0, + 50915, + 0, + 50917, + 0, + 50923, + 0, + 50926, + 0 + ], + "rnTable": [ + { + "program": [ + 1 + ], + "prelude": [ + 2 + ], + "prelude_I0?": [ + 3 + ], + "prelude_I0": [ + 4 + ], + "use-stmt": [ + 5 + ], + "'USE": [ + 6 + ], + "$": [ + -1, + 0, + 2, + 4 + ], + "'NAME": [ + -1, + 2, + 4 + ], + "'INCLUDE": [ + -1, + 4 + ], + "'IMPORT": [ + -1, + 4 + ], + "'STRING": [ + -1, + 2, + 4 + ], + "'TYPE": [ + -1, + 2, + 4 + ], + "'DATA": [ + -1, + 2, + 4 + ], + "'PROVIDE": [ + -1, + 4 + ], + "'PROVIDE-TYPES": [ + -1, + 4 + ], + "'PROVIDECOLON": [ + -1, + 4 + ], + "'PARENSPACE": [ + -1, + 2, + 4 + ], + "'SPY": [ + -1, + 2, + 4 + ], + "'NEWTYPE": [ + -1, + 2, + 4 + ], + "'LBRACE": [ + -1, + 2, + 4 + ], + "'SHADOW": [ + -1, + 2, + 4 + ], + "'LET": [ + -1, + 2, + 4 + ], + "'BLOCK": [ + -1, + 2, + 4 + ], + "'LETREC": [ + -1, + 2, + 4 + ], + "'TYPE-LET": [ + -1, + 2, + 4 + ], + "'FUN": [ + -1, + 2, + 4 + ], + "'PARENAFTERBRACE": [ + -1, + 2, + 4 + ], + "'CHECK": [ + -1, + 2, + 4 + ], + "'EXAMPLES": [ + -1, + 2, + 4 + ], + "'CHECKCOLON": [ + -1, + 2, + 4 + ], + "'EXAMPLESCOLON": [ + -1, + 2, + 4 + ], + "'VAR": [ + -1, + 2, + 4 + ], + "'REC": [ + -1, + 2, + 4 + ], + "'WHEN": [ + -1, + 2, + 4 + ], + "'DOTDOTDOT": [ + -1, + 2, + 4 + ], + "'NUMBER": [ + -1, + 2, + 4 + ], + "'RATIONAL": [ + -1, + 2, + 4 + ], + "'ROUGHRATIONAL": [ + -1, + 2, + 4 + ], + "'TRUE": [ + -1, + 2, + 4 + ], + "'FALSE": [ + -1, + 2, + 4 + ], + "'LAM": [ + -1, + 2, + 4 + ], + "'METHOD": [ + -1, + 2, + 4 + ], + "'LBRACK": [ + -1, + 2, + 4 + ], + "'TABLE": [ + -1, + 2, + 4 + ], + "'REACTOR": [ + -1, + 2, + 4 + ], + "'IF": [ + -1, + 2, + 4 + ], + "'ASK": [ + -1, + 2, + 4 + ], + "'CASES": [ + -1, + 2, + 4 + ], + "'FOR": [ + -1, + 2, + 4 + ], + "'TABLE-SELECT": [ + -1, + 2, + 4 + ], + "'TABLE-FILTER": [ + -1, + 2, + 4 + ], + "'TABLE-ORDER": [ + -1, + 2, + 4 + ], + "'TABLE-EXTRACT": [ + -1, + 2, + 4 + ], + "'TABLE-UPDATE": [ + -1, + 2, + 4 + ], + "'TABLE-EXTEND": [ + -1, + 2, + 4 + ], + "'LOAD-TABLE": [ + -1, + 2, + 4 + ] + }, + { + "$": [ + -1, + -1 + ] + }, + { + "block": [ + 7 + ], + "block_I0*": [ + 8 + ], + "$": [ + -1, + 6, + 8, + 10 + ], + "'NAME": [ + -1, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "prelude_I1*": [ + 9 + ], + "$": [ + -1, + 12, + 14 + ], + "'NAME": [ + -1, + 12, + 14 + ], + "'INCLUDE": [ + -1, + 14 + ], + "'IMPORT": [ + -1, + 14 + ], + "'STRING": [ + -1, + 12, + 14 + ], + "'TYPE": [ + -1, + 12, + 14 + ], + "'DATA": [ + -1, + 12, + 14 + ], + "'PROVIDE": [ + -1, + 14 + ], + "'PROVIDE-TYPES": [ + -1, + 14 + ], + "'PROVIDECOLON": [ + -1, + 14 + ], + "'PARENSPACE": [ + -1, + 12, + 14 + ], + "'SPY": [ + -1, + 12, + 14 + ], + "'NEWTYPE": [ + -1, + 12, + 14 + ], + "'LBRACE": [ + -1, + 12, + 14 + ], + "'SHADOW": [ + -1, + 12, + 14 + ], + "'LET": [ + -1, + 12, + 14 + ], + "'BLOCK": [ + -1, + 12, + 14 + ], + "'LETREC": [ + -1, + 12, + 14 + ], + "'TYPE-LET": [ + -1, + 12, + 14 + ], + "'FUN": [ + -1, + 12, + 14 + ], + "'PARENAFTERBRACE": [ + -1, + 12, + 14 + ], + "'CHECK": [ + -1, + 12, + 14 + ], + "'EXAMPLES": [ + -1, + 12, + 14 + ], + "'CHECKCOLON": [ + -1, + 12, + 14 + ], + "'EXAMPLESCOLON": [ + -1, + 12, + 14 + ], + "'VAR": [ + -1, + 12, + 14 + ], + "'REC": [ + -1, + 12, + 14 + ], + "'WHEN": [ + -1, + 12, + 14 + ], + "'DOTDOTDOT": [ + -1, + 12, + 14 + ], + "'NUMBER": [ + -1, + 12, + 14 + ], + "'RATIONAL": [ + -1, + 12, + 14 + ], + "'ROUGHRATIONAL": [ + -1, + 12, + 14 + ], + "'TRUE": [ + -1, + 12, + 14 + ], + "'FALSE": [ + -1, + 12, + 14 + ], + "'LAM": [ + -1, + 12, + 14 + ], + "'METHOD": [ + -1, + 12, + 14 + ], + "'LBRACK": [ + -1, + 12, + 14 + ], + "'TABLE": [ + -1, + 12, + 14 + ], + "'REACTOR": [ + -1, + 12, + 14 + ], + "'IF": [ + -1, + 12, + 14 + ], + "'ASK": [ + -1, + 12, + 14 + ], + "'CASES": [ + -1, + 12, + 14 + ], + "'FOR": [ + -1, + 12, + 14 + ], + "'TABLE-SELECT": [ + -1, + 12, + 14 + ], + "'TABLE-FILTER": [ + -1, + 12, + 14 + ], + "'TABLE-ORDER": [ + -1, + 12, + 14 + ], + "'TABLE-EXTRACT": [ + -1, + 12, + 14 + ], + "'TABLE-UPDATE": [ + -1, + 12, + 14 + ], + "'TABLE-EXTEND": [ + -1, + 12, + 14 + ], + "'LOAD-TABLE": [ + -1, + 12, + 14 + ] + }, + { + "$": [ + -1, + 16 + ], + "'NAME": [ + -1, + 16 + ], + "'INCLUDE": [ + -1, + 16 + ], + "'IMPORT": [ + -1, + 16 + ], + "'STRING": [ + -1, + 16 + ], + "'TYPE": [ + -1, + 16 + ], + "'DATA": [ + -1, + 16 + ], + "'PROVIDE": [ + -1, + 16 + ], + "'PROVIDE-TYPES": [ + -1, + 16 + ], + "'PROVIDECOLON": [ + -1, + 16 + ], + "'PARENSPACE": [ + -1, + 16 + ], + "'SPY": [ + -1, + 16 + ], + "'NEWTYPE": [ + -1, + 16 + ], + "'LBRACE": [ + -1, + 16 + ], + "'SHADOW": [ + -1, + 16 + ], + "'LET": [ + -1, + 16 + ], + "'BLOCK": [ + -1, + 16 + ], + "'LETREC": [ + -1, + 16 + ], + "'TYPE-LET": [ + -1, + 16 + ], + "'FUN": [ + -1, + 16 + ], + "'PARENAFTERBRACE": [ + -1, + 16 + ], + "'CHECK": [ + -1, + 16 + ], + "'EXAMPLES": [ + -1, + 16 + ], + "'CHECKCOLON": [ + -1, + 16 + ], + "'EXAMPLESCOLON": [ + -1, + 16 + ], + "'VAR": [ + -1, + 16 + ], + "'REC": [ + -1, + 16 + ], + "'WHEN": [ + -1, + 16 + ], + "'DOTDOTDOT": [ + -1, + 16 + ], + "'NUMBER": [ + -1, + 16 + ], + "'RATIONAL": [ + -1, + 16 + ], + "'ROUGHRATIONAL": [ + -1, + 16 + ], + "'TRUE": [ + -1, + 16 + ], + "'FALSE": [ + -1, + 16 + ], + "'LAM": [ + -1, + 16 + ], + "'METHOD": [ + -1, + 16 + ], + "'LBRACK": [ + -1, + 16 + ], + "'TABLE": [ + -1, + 16 + ], + "'REACTOR": [ + -1, + 16 + ], + "'IF": [ + -1, + 16 + ], + "'ASK": [ + -1, + 16 + ], + "'CASES": [ + -1, + 16 + ], + "'FOR": [ + -1, + 16 + ], + "'TABLE-SELECT": [ + -1, + 16 + ], + "'TABLE-FILTER": [ + -1, + 16 + ], + "'TABLE-ORDER": [ + -1, + 16 + ], + "'TABLE-EXTRACT": [ + -1, + 16 + ], + "'TABLE-UPDATE": [ + -1, + 16 + ], + "'TABLE-EXTEND": [ + -1, + 16 + ], + "'LOAD-TABLE": [ + -1, + 16 + ] + }, + { + "$": [ + -1, + 18 + ], + "'NAME": [ + -1, + 18 + ], + "'INCLUDE": [ + -1, + 18 + ], + "'IMPORT": [ + -1, + 18 + ], + "'STRING": [ + -1, + 18 + ], + "'TYPE": [ + -1, + 18 + ], + "'DATA": [ + -1, + 18 + ], + "'PROVIDE": [ + -1, + 18 + ], + "'PROVIDE-TYPES": [ + -1, + 18 + ], + "'PROVIDECOLON": [ + -1, + 18 + ], + "'PARENSPACE": [ + -1, + 18 + ], + "'SPY": [ + -1, + 18 + ], + "'NEWTYPE": [ + -1, + 18 + ], + "'LBRACE": [ + -1, + 18 + ], + "'SHADOW": [ + -1, + 18 + ], + "'LET": [ + -1, + 18 + ], + "'BLOCK": [ + -1, + 18 + ], + "'LETREC": [ + -1, + 18 + ], + "'TYPE-LET": [ + -1, + 18 + ], + "'FUN": [ + -1, + 18 + ], + "'PARENAFTERBRACE": [ + -1, + 18 + ], + "'CHECK": [ + -1, + 18 + ], + "'EXAMPLES": [ + -1, + 18 + ], + "'CHECKCOLON": [ + -1, + 18 + ], + "'EXAMPLESCOLON": [ + -1, + 18 + ], + "'VAR": [ + -1, + 18 + ], + "'REC": [ + -1, + 18 + ], + "'WHEN": [ + -1, + 18 + ], + "'DOTDOTDOT": [ + -1, + 18 + ], + "'NUMBER": [ + -1, + 18 + ], + "'RATIONAL": [ + -1, + 18 + ], + "'ROUGHRATIONAL": [ + -1, + 18 + ], + "'TRUE": [ + -1, + 18 + ], + "'FALSE": [ + -1, + 18 + ], + "'LAM": [ + -1, + 18 + ], + "'METHOD": [ + -1, + 18 + ], + "'LBRACK": [ + -1, + 18 + ], + "'TABLE": [ + -1, + 18 + ], + "'REACTOR": [ + -1, + 18 + ], + "'IF": [ + -1, + 18 + ], + "'ASK": [ + -1, + 18 + ], + "'CASES": [ + -1, + 18 + ], + "'FOR": [ + -1, + 18 + ], + "'TABLE-SELECT": [ + -1, + 18 + ], + "'TABLE-FILTER": [ + -1, + 18 + ], + "'TABLE-ORDER": [ + -1, + 18 + ], + "'TABLE-EXTRACT": [ + -1, + 18 + ], + "'TABLE-UPDATE": [ + -1, + 18 + ], + "'TABLE-EXTEND": [ + -1, + 18 + ], + "'LOAD-TABLE": [ + -1, + 18 + ] + }, + { + "'NAME": [ + 10 + ] + }, + { + "$": [ + -1, + 20 + ] + }, + { + "'NAME": [ + 11, + 22 + ], + "'STRING": [ + 12 + ], + "'TYPE": [ + 13 + ], + "'DATA": [ + 14 + ], + "stmt": [ + 15 + ], + "'PARENSPACE": [ + 16 + ], + "block_I0": [ + 17 + ], + "type-expr": [ + 18 + ], + "newtype-expr": [ + 19 + ], + "spy-stmt": [ + 20 + ], + "let-expr": [ + 21 + ], + "fun-expr": [ + 22 + ], + "data-expr": [ + 23 + ], + "when-expr": [ + 24 + ], + "var-expr": [ + 25 + ], + "rec-expr": [ + 26 + ], + "assign-expr": [ + 27 + ], + "check-test": [ + 28 + ], + "check-expr": [ + 29 + ], + "contract-stmt": [ + 30 + ], + "'SPY": [ + 31 + ], + "binop-expr": [ + 32 + ], + "id-expr": [ + 33 + ], + "'NEWTYPE": [ + 34 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 39 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'FUN": [ + 50 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "check-expr_A0_I0": [ + 52 + ], + "'CHECK": [ + 53 + ], + "'EXAMPLES": [ + 54 + ], + "check-expr_A1_I0": [ + 55 + ], + "'CHECKCOLON": [ + 56 + ], + "'EXAMPLESCOLON": [ + 57 + ], + "'VAR": [ + 58 + ], + "'REC": [ + 59 + ], + "'WHEN": [ + 60 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "$": [ + -1, + 24 + ], + "'END": [ + -1, + 24 + ], + "'RBRACE": [ + -1, + 24 + ], + "'WHERE": [ + -1, + 24 + ], + "'BAR": [ + -1, + 24 + ], + "'ELSECOLON": [ + -1, + 24 + ], + "'ELSEIF": [ + -1, + 24 + ] + }, + { + "prelude_I1": [ + 120 + ], + "provide-stmt": [ + 121 + ], + "import-stmt": [ + 122 + ], + "'INCLUDE": [ + 123 + ], + "'IMPORT": [ + 124 + ], + "provide-vals-stmt": [ + 125 + ], + "provide-types-stmt": [ + 126 + ], + "provide-block": [ + 127 + ], + "'PROVIDE": [ + 128 + ], + "'PROVIDE-TYPES": [ + 129 + ], + "'PROVIDECOLON": [ + 130 + ], + "$": [ + -1, + 26 + ], + "'NAME": [ + -1, + 26 + ], + "'STRING": [ + -1, + 26 + ], + "'TYPE": [ + -1, + 26 + ], + "'DATA": [ + -1, + 26 + ], + "'PARENSPACE": [ + -1, + 26 + ], + "'SPY": [ + -1, + 26 + ], + "'NEWTYPE": [ + -1, + 26 + ], + "'LBRACE": [ + -1, + 26 + ], + "'SHADOW": [ + -1, + 26 + ], + "'LET": [ + -1, + 26 + ], + "'BLOCK": [ + -1, + 26 + ], + "'LETREC": [ + -1, + 26 + ], + "'TYPE-LET": [ + -1, + 26 + ], + "'FUN": [ + -1, + 26 + ], + "'PARENAFTERBRACE": [ + -1, + 26 + ], + "'CHECK": [ + -1, + 26 + ], + "'EXAMPLES": [ + -1, + 26 + ], + "'CHECKCOLON": [ + -1, + 26 + ], + "'EXAMPLESCOLON": [ + -1, + 26 + ], + "'VAR": [ + -1, + 26 + ], + "'REC": [ + -1, + 26 + ], + "'WHEN": [ + -1, + 26 + ], + "'DOTDOTDOT": [ + -1, + 26 + ], + "'NUMBER": [ + -1, + 26 + ], + "'RATIONAL": [ + -1, + 26 + ], + "'ROUGHRATIONAL": [ + -1, + 26 + ], + "'TRUE": [ + -1, + 26 + ], + "'FALSE": [ + -1, + 26 + ], + "'LAM": [ + -1, + 26 + ], + "'METHOD": [ + -1, + 26 + ], + "'LBRACK": [ + -1, + 26 + ], + "'TABLE": [ + -1, + 26 + ], + "'REACTOR": [ + -1, + 26 + ], + "'IF": [ + -1, + 26 + ], + "'ASK": [ + -1, + 26 + ], + "'CASES": [ + -1, + 26 + ], + "'FOR": [ + -1, + 26 + ], + "'TABLE-SELECT": [ + -1, + 26 + ], + "'TABLE-FILTER": [ + -1, + 26 + ], + "'TABLE-ORDER": [ + -1, + 26 + ], + "'TABLE-EXTRACT": [ + -1, + 26 + ], + "'TABLE-UPDATE": [ + -1, + 26 + ], + "'TABLE-EXTEND": [ + -1, + 26 + ], + "'LOAD-TABLE": [ + -1, + 26 + ] + }, + { + "'NAME": [ + 131 + ], + "import-source": [ + 132 + ], + "import-special": [ + 133 + ], + "import-name": [ + 134 + ] + }, + { + "'COLONCOLON": [ + 135 + ], + "'COLONEQUALS": [ + 136 + ], + "$": [ + -1, + 28 + ], + "'NAME": [ + -1, + 28 + ], + "'END": [ + -1, + 28 + ], + "'PARENNOSPACE": [ + -1, + 28 + ], + "'STRING": [ + -1, + 28 + ], + "'TYPE": [ + -1, + 28 + ], + "'DATA": [ + -1, + 28 + ], + "'TIMES": [ + -1, + 28 + ], + "'PARENSPACE": [ + -1, + 28 + ], + "'DOT": [ + -1, + 28 + ], + "'SPY": [ + -1, + 28 + ], + "'NEWTYPE": [ + -1, + 28 + ], + "'LBRACE": [ + -1, + 28 + ], + "'RBRACE": [ + -1, + 28 + ], + "'SHADOW": [ + -1, + 28 + ], + "'LET": [ + -1, + 28 + ], + "'BLOCK": [ + -1, + 28 + ], + "'LETREC": [ + -1, + 28 + ], + "'TYPE-LET": [ + -1, + 28 + ], + "'FUN": [ + -1, + 28 + ], + "'LANGLE": [ + -1, + 28 + ], + "'LT": [ + -1, + 28 + ], + "'GT": [ + -1, + 28 + ], + "'PARENAFTERBRACE": [ + -1, + 28 + ], + "'WHERE": [ + -1, + 28 + ], + "'CHECK": [ + -1, + 28 + ], + "'EXAMPLES": [ + -1, + 28 + ], + "'CHECKCOLON": [ + -1, + 28 + ], + "'EXAMPLESCOLON": [ + -1, + 28 + ], + "'BAR": [ + -1, + 28 + ], + "'VAR": [ + -1, + 28 + ], + "'REC": [ + -1, + 28 + ], + "'WHEN": [ + -1, + 28 + ], + "'PLUS": [ + -1, + 28 + ], + "'DASH": [ + -1, + 28 + ], + "'SLASH": [ + -1, + 28 + ], + "'LEQ": [ + -1, + 28 + ], + "'GEQ": [ + -1, + 28 + ], + "'EQUALEQUAL": [ + -1, + 28 + ], + "'SPACESHIP": [ + -1, + 28 + ], + "'EQUALTILDE": [ + -1, + 28 + ], + "'NEQ": [ + -1, + 28 + ], + "'AND": [ + -1, + 28 + ], + "'OR": [ + -1, + 28 + ], + "'CARET": [ + -1, + 28 + ], + "'IS": [ + -1, + 28 + ], + "'ISEQUALEQUAL": [ + -1, + 28 + ], + "'ISEQUALTILDE": [ + -1, + 28 + ], + "'ISSPACESHIP": [ + -1, + 28 + ], + "'ISROUGHLY": [ + -1, + 28 + ], + "'ISNOT": [ + -1, + 28 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 28 + ], + "'ISNOTEQUALTILDE": [ + -1, + 28 + ], + "'ISNOTSPACESHIP": [ + -1, + 28 + ], + "'RAISES": [ + -1, + 28 + ], + "'RAISESOTHER": [ + -1, + 28 + ], + "'SATISFIES": [ + -1, + 28 + ], + "'SATISFIESNOT": [ + -1, + 28 + ], + "'RAISESSATISFIES": [ + -1, + 28 + ], + "'RAISESVIOLATES": [ + -1, + 28 + ], + "'RAISESNOT": [ + -1, + 28 + ], + "'DOTDOTDOT": [ + -1, + 28 + ], + "'NUMBER": [ + -1, + 28 + ], + "'RATIONAL": [ + -1, + 28 + ], + "'ROUGHRATIONAL": [ + -1, + 28 + ], + "'TRUE": [ + -1, + 28 + ], + "'FALSE": [ + -1, + 28 + ], + "'LAM": [ + -1, + 28 + ], + "'METHOD": [ + -1, + 28 + ], + "'LBRACK": [ + -1, + 28 + ], + "'TABLE": [ + -1, + 28 + ], + "'REACTOR": [ + -1, + 28 + ], + "'BANG": [ + -1, + 28 + ], + "'IF": [ + -1, + 28 + ], + "'ELSECOLON": [ + -1, + 28 + ], + "'ELSEIF": [ + -1, + 28 + ], + "'ASK": [ + -1, + 28 + ], + "'CASES": [ + -1, + 28 + ], + "'FOR": [ + -1, + 28 + ], + "'TABLE-SELECT": [ + -1, + 28 + ], + "'TABLE-FILTER": [ + -1, + 28 + ], + "'TABLE-ORDER": [ + -1, + 28 + ], + "'TABLE-EXTRACT": [ + -1, + 28 + ], + "'TABLE-UPDATE": [ + -1, + 28 + ], + "'TABLE-EXTEND": [ + -1, + 28 + ], + "'LOAD-TABLE": [ + -1, + 28 + ] + }, + { + "$": [ + -1, + 30 + ], + "'NAME": [ + -1, + 30 + ], + "'COLON": [ + -1, + 30 + ], + "'END": [ + -1, + 30 + ], + "'COMMA": [ + -1, + 30 + ], + "'PARENNOSPACE": [ + -1, + 30 + ], + "'STRING": [ + -1, + 30 + ], + "'RPAREN": [ + -1, + 30 + ], + "'TYPE": [ + -1, + 30 + ], + "'DATA": [ + -1, + 30 + ], + "'TIMES": [ + -1, + 30 + ], + "'PARENSPACE": [ + -1, + 30 + ], + "'DOT": [ + -1, + 30 + ], + "'SPY": [ + -1, + 30 + ], + "'NEWTYPE": [ + -1, + 30 + ], + "'LBRACE": [ + -1, + 30 + ], + "'RBRACE": [ + -1, + 30 + ], + "'SEMI": [ + -1, + 30 + ], + "'SHADOW": [ + -1, + 30 + ], + "'LET": [ + -1, + 30 + ], + "'BLOCK": [ + -1, + 30 + ], + "'LETREC": [ + -1, + 30 + ], + "'TYPE-LET": [ + -1, + 30 + ], + "'FUN": [ + -1, + 30 + ], + "'LANGLE": [ + -1, + 30 + ], + "'LT": [ + -1, + 30 + ], + "'GT": [ + -1, + 30 + ], + "'PARENAFTERBRACE": [ + -1, + 30 + ], + "'WHERE": [ + -1, + 30 + ], + "'CHECK": [ + -1, + 30 + ], + "'EXAMPLES": [ + -1, + 30 + ], + "'CHECKCOLON": [ + -1, + 30 + ], + "'EXAMPLESCOLON": [ + -1, + 30 + ], + "'BECAUSE": [ + -1, + 30 + ], + "'BAR": [ + -1, + 30 + ], + "'SHARING": [ + -1, + 30 + ], + "'VAR": [ + -1, + 30 + ], + "'REC": [ + -1, + 30 + ], + "'WHEN": [ + -1, + 30 + ], + "'PLUS": [ + -1, + 30 + ], + "'DASH": [ + -1, + 30 + ], + "'SLASH": [ + -1, + 30 + ], + "'LEQ": [ + -1, + 30 + ], + "'GEQ": [ + -1, + 30 + ], + "'EQUALEQUAL": [ + -1, + 30 + ], + "'SPACESHIP": [ + -1, + 30 + ], + "'EQUALTILDE": [ + -1, + 30 + ], + "'NEQ": [ + -1, + 30 + ], + "'AND": [ + -1, + 30 + ], + "'OR": [ + -1, + 30 + ], + "'CARET": [ + -1, + 30 + ], + "'IS": [ + -1, + 30 + ], + "'ISEQUALEQUAL": [ + -1, + 30 + ], + "'ISEQUALTILDE": [ + -1, + 30 + ], + "'ISSPACESHIP": [ + -1, + 30 + ], + "'ISROUGHLY": [ + -1, + 30 + ], + "'ISNOT": [ + -1, + 30 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 30 + ], + "'ISNOTEQUALTILDE": [ + -1, + 30 + ], + "'ISNOTSPACESHIP": [ + -1, + 30 + ], + "'RAISES": [ + -1, + 30 + ], + "'RAISESOTHER": [ + -1, + 30 + ], + "'SATISFIES": [ + -1, + 30 + ], + "'SATISFIESNOT": [ + -1, + 30 + ], + "'RAISESSATISFIES": [ + -1, + 30 + ], + "'RAISESVIOLATES": [ + -1, + 30 + ], + "'RAISESNOT": [ + -1, + 30 + ], + "'DOTDOTDOT": [ + -1, + 30 + ], + "'NUMBER": [ + -1, + 30 + ], + "'RATIONAL": [ + -1, + 30 + ], + "'ROUGHRATIONAL": [ + -1, + 30 + ], + "'TRUE": [ + -1, + 30 + ], + "'FALSE": [ + -1, + 30 + ], + "'LAM": [ + -1, + 30 + ], + "'METHOD": [ + -1, + 30 + ], + "'LBRACK": [ + -1, + 30 + ], + "'RBRACK": [ + -1, + 30 + ], + "'TABLE": [ + -1, + 30 + ], + "'ROW": [ + -1, + 30 + ], + "'REACTOR": [ + -1, + 30 + ], + "'BANG": [ + -1, + 30 + ], + "'IF": [ + -1, + 30 + ], + "'ELSECOLON": [ + -1, + 30 + ], + "'ELSEIF": [ + -1, + 30 + ], + "'ASK": [ + -1, + 30 + ], + "'THENCOLON": [ + -1, + 30 + ], + "'CASES": [ + -1, + 30 + ], + "'FOR": [ + -1, + 30 + ], + "'TABLE-SELECT": [ + -1, + 30 + ], + "'TABLE-FILTER": [ + -1, + 30 + ], + "'USING": [ + -1, + 30 + ], + "'TABLE-ORDER": [ + -1, + 30 + ], + "'TABLE-EXTRACT": [ + -1, + 30 + ], + "'TABLE-UPDATE": [ + -1, + 30 + ], + "'TABLE-EXTEND": [ + -1, + 30 + ], + "'OF": [ + -1, + 30 + ], + "'LOAD-TABLE": [ + -1, + 30 + ], + "'SOURCECOLON": [ + -1, + 30 + ], + "'SANITIZE": [ + -1, + 30 + ] + }, + { + "'NAME": [ + 137 + ] + }, + { + "'NAME": [ + 138 + ] + }, + { + "$": [ + -1, + 32 + ], + "'NAME": [ + -1, + 32 + ], + "'END": [ + -1, + 32 + ], + "'STRING": [ + -1, + 32 + ], + "'TYPE": [ + -1, + 32 + ], + "'DATA": [ + -1, + 32 + ], + "'PARENSPACE": [ + -1, + 32 + ], + "'SPY": [ + -1, + 32 + ], + "'NEWTYPE": [ + -1, + 32 + ], + "'LBRACE": [ + -1, + 32 + ], + "'RBRACE": [ + -1, + 32 + ], + "'SHADOW": [ + -1, + 32 + ], + "'LET": [ + -1, + 32 + ], + "'BLOCK": [ + -1, + 32 + ], + "'LETREC": [ + -1, + 32 + ], + "'TYPE-LET": [ + -1, + 32 + ], + "'FUN": [ + -1, + 32 + ], + "'PARENAFTERBRACE": [ + -1, + 32 + ], + "'WHERE": [ + -1, + 32 + ], + "'CHECK": [ + -1, + 32 + ], + "'EXAMPLES": [ + -1, + 32 + ], + "'CHECKCOLON": [ + -1, + 32 + ], + "'EXAMPLESCOLON": [ + -1, + 32 + ], + "'BAR": [ + -1, + 32 + ], + "'VAR": [ + -1, + 32 + ], + "'REC": [ + -1, + 32 + ], + "'WHEN": [ + -1, + 32 + ], + "'DOTDOTDOT": [ + -1, + 32 + ], + "'NUMBER": [ + -1, + 32 + ], + "'RATIONAL": [ + -1, + 32 + ], + "'ROUGHRATIONAL": [ + -1, + 32 + ], + "'TRUE": [ + -1, + 32 + ], + "'FALSE": [ + -1, + 32 + ], + "'LAM": [ + -1, + 32 + ], + "'METHOD": [ + -1, + 32 + ], + "'LBRACK": [ + -1, + 32 + ], + "'TABLE": [ + -1, + 32 + ], + "'REACTOR": [ + -1, + 32 + ], + "'IF": [ + -1, + 32 + ], + "'ELSECOLON": [ + -1, + 32 + ], + "'ELSEIF": [ + -1, + 32 + ], + "'ASK": [ + -1, + 32 + ], + "'CASES": [ + -1, + 32 + ], + "'FOR": [ + -1, + 32 + ], + "'TABLE-SELECT": [ + -1, + 32 + ], + "'TABLE-FILTER": [ + -1, + 32 + ], + "'TABLE-ORDER": [ + -1, + 32 + ], + "'TABLE-EXTRACT": [ + -1, + 32 + ], + "'TABLE-UPDATE": [ + -1, + 32 + ], + "'TABLE-EXTEND": [ + -1, + 32 + ], + "'LOAD-TABLE": [ + -1, + 32 + ] + }, + { + "'NAME": [ + -1, + 34 + ], + "'STRING": [ + -1, + 34 + ], + "'PARENSPACE": [ + -1, + 34 + ], + "'LBRACE": [ + -1, + 34 + ], + "'LET": [ + -1, + 34 + ], + "'BLOCK": [ + -1, + 34 + ], + "'LETREC": [ + -1, + 34 + ], + "'TYPE-LET": [ + -1, + 34 + ], + "'PARENAFTERBRACE": [ + -1, + 34 + ], + "'DOTDOTDOT": [ + -1, + 34 + ], + "'NUMBER": [ + -1, + 34 + ], + "'RATIONAL": [ + -1, + 34 + ], + "'ROUGHRATIONAL": [ + -1, + 34 + ], + "'TRUE": [ + -1, + 34 + ], + "'FALSE": [ + -1, + 34 + ], + "'LAM": [ + -1, + 34 + ], + "'METHOD": [ + -1, + 34 + ], + "'LBRACK": [ + -1, + 34 + ], + "'TABLE": [ + -1, + 34 + ], + "'REACTOR": [ + -1, + 34 + ], + "'IF": [ + -1, + 34 + ], + "'ASK": [ + -1, + 34 + ], + "'CASES": [ + -1, + 34 + ], + "'FOR": [ + -1, + 34 + ], + "'TABLE-SELECT": [ + -1, + 34 + ], + "'TABLE-FILTER": [ + -1, + 34 + ], + "'TABLE-ORDER": [ + -1, + 34 + ], + "'TABLE-EXTRACT": [ + -1, + 34 + ], + "'TABLE-UPDATE": [ + -1, + 34 + ], + "'TABLE-EXTEND": [ + -1, + 34 + ], + "'LOAD-TABLE": [ + -1, + 34 + ] + }, + { + "$": [ + -1, + 36 + ], + "'NAME": [ + -1, + 36 + ], + "'END": [ + -1, + 36 + ], + "'STRING": [ + -1, + 36 + ], + "'TYPE": [ + -1, + 36 + ], + "'DATA": [ + -1, + 36 + ], + "'PARENSPACE": [ + -1, + 36 + ], + "'SPY": [ + -1, + 36 + ], + "'NEWTYPE": [ + -1, + 36 + ], + "'LBRACE": [ + -1, + 36 + ], + "'RBRACE": [ + -1, + 36 + ], + "'SHADOW": [ + -1, + 36 + ], + "'LET": [ + -1, + 36 + ], + "'BLOCK": [ + -1, + 36 + ], + "'LETREC": [ + -1, + 36 + ], + "'TYPE-LET": [ + -1, + 36 + ], + "'FUN": [ + -1, + 36 + ], + "'PARENAFTERBRACE": [ + -1, + 36 + ], + "'WHERE": [ + -1, + 36 + ], + "'CHECK": [ + -1, + 36 + ], + "'EXAMPLES": [ + -1, + 36 + ], + "'CHECKCOLON": [ + -1, + 36 + ], + "'EXAMPLESCOLON": [ + -1, + 36 + ], + "'BAR": [ + -1, + 36 + ], + "'VAR": [ + -1, + 36 + ], + "'REC": [ + -1, + 36 + ], + "'WHEN": [ + -1, + 36 + ], + "'DOTDOTDOT": [ + -1, + 36 + ], + "'NUMBER": [ + -1, + 36 + ], + "'RATIONAL": [ + -1, + 36 + ], + "'ROUGHRATIONAL": [ + -1, + 36 + ], + "'TRUE": [ + -1, + 36 + ], + "'FALSE": [ + -1, + 36 + ], + "'LAM": [ + -1, + 36 + ], + "'METHOD": [ + -1, + 36 + ], + "'LBRACK": [ + -1, + 36 + ], + "'TABLE": [ + -1, + 36 + ], + "'REACTOR": [ + -1, + 36 + ], + "'IF": [ + -1, + 36 + ], + "'ELSECOLON": [ + -1, + 36 + ], + "'ELSEIF": [ + -1, + 36 + ], + "'ASK": [ + -1, + 36 + ], + "'CASES": [ + -1, + 36 + ], + "'FOR": [ + -1, + 36 + ], + "'TABLE-SELECT": [ + -1, + 36 + ], + "'TABLE-FILTER": [ + -1, + 36 + ], + "'TABLE-ORDER": [ + -1, + 36 + ], + "'TABLE-EXTRACT": [ + -1, + 36 + ], + "'TABLE-UPDATE": [ + -1, + 36 + ], + "'TABLE-EXTEND": [ + -1, + 36 + ], + "'LOAD-TABLE": [ + -1, + 36 + ] + }, + { + "$": [ + -1, + 38 + ], + "'NAME": [ + -1, + 38 + ], + "'END": [ + -1, + 38 + ], + "'STRING": [ + -1, + 38 + ], + "'TYPE": [ + -1, + 38 + ], + "'DATA": [ + -1, + 38 + ], + "'PARENSPACE": [ + -1, + 38 + ], + "'SPY": [ + -1, + 38 + ], + "'NEWTYPE": [ + -1, + 38 + ], + "'LBRACE": [ + -1, + 38 + ], + "'RBRACE": [ + -1, + 38 + ], + "'SHADOW": [ + -1, + 38 + ], + "'LET": [ + -1, + 38 + ], + "'BLOCK": [ + -1, + 38 + ], + "'LETREC": [ + -1, + 38 + ], + "'TYPE-LET": [ + -1, + 38 + ], + "'FUN": [ + -1, + 38 + ], + "'PARENAFTERBRACE": [ + -1, + 38 + ], + "'WHERE": [ + -1, + 38 + ], + "'CHECK": [ + -1, + 38 + ], + "'EXAMPLES": [ + -1, + 38 + ], + "'CHECKCOLON": [ + -1, + 38 + ], + "'EXAMPLESCOLON": [ + -1, + 38 + ], + "'BAR": [ + -1, + 38 + ], + "'VAR": [ + -1, + 38 + ], + "'REC": [ + -1, + 38 + ], + "'WHEN": [ + -1, + 38 + ], + "'DOTDOTDOT": [ + -1, + 38 + ], + "'NUMBER": [ + -1, + 38 + ], + "'RATIONAL": [ + -1, + 38 + ], + "'ROUGHRATIONAL": [ + -1, + 38 + ], + "'TRUE": [ + -1, + 38 + ], + "'FALSE": [ + -1, + 38 + ], + "'LAM": [ + -1, + 38 + ], + "'METHOD": [ + -1, + 38 + ], + "'LBRACK": [ + -1, + 38 + ], + "'TABLE": [ + -1, + 38 + ], + "'REACTOR": [ + -1, + 38 + ], + "'IF": [ + -1, + 38 + ], + "'ELSECOLON": [ + -1, + 38 + ], + "'ELSEIF": [ + -1, + 38 + ], + "'ASK": [ + -1, + 38 + ], + "'CASES": [ + -1, + 38 + ], + "'FOR": [ + -1, + 38 + ], + "'TABLE-SELECT": [ + -1, + 38 + ], + "'TABLE-FILTER": [ + -1, + 38 + ], + "'TABLE-ORDER": [ + -1, + 38 + ], + "'TABLE-EXTRACT": [ + -1, + 38 + ], + "'TABLE-UPDATE": [ + -1, + 38 + ], + "'TABLE-EXTEND": [ + -1, + 38 + ], + "'LOAD-TABLE": [ + -1, + 38 + ] + }, + { + "$": [ + -1, + 40 + ], + "'NAME": [ + -1, + 40 + ], + "'END": [ + -1, + 40 + ], + "'STRING": [ + -1, + 40 + ], + "'TYPE": [ + -1, + 40 + ], + "'DATA": [ + -1, + 40 + ], + "'PARENSPACE": [ + -1, + 40 + ], + "'SPY": [ + -1, + 40 + ], + "'NEWTYPE": [ + -1, + 40 + ], + "'LBRACE": [ + -1, + 40 + ], + "'RBRACE": [ + -1, + 40 + ], + "'SHADOW": [ + -1, + 40 + ], + "'LET": [ + -1, + 40 + ], + "'BLOCK": [ + -1, + 40 + ], + "'LETREC": [ + -1, + 40 + ], + "'TYPE-LET": [ + -1, + 40 + ], + "'FUN": [ + -1, + 40 + ], + "'PARENAFTERBRACE": [ + -1, + 40 + ], + "'WHERE": [ + -1, + 40 + ], + "'CHECK": [ + -1, + 40 + ], + "'EXAMPLES": [ + -1, + 40 + ], + "'CHECKCOLON": [ + -1, + 40 + ], + "'EXAMPLESCOLON": [ + -1, + 40 + ], + "'BAR": [ + -1, + 40 + ], + "'VAR": [ + -1, + 40 + ], + "'REC": [ + -1, + 40 + ], + "'WHEN": [ + -1, + 40 + ], + "'DOTDOTDOT": [ + -1, + 40 + ], + "'NUMBER": [ + -1, + 40 + ], + "'RATIONAL": [ + -1, + 40 + ], + "'ROUGHRATIONAL": [ + -1, + 40 + ], + "'TRUE": [ + -1, + 40 + ], + "'FALSE": [ + -1, + 40 + ], + "'LAM": [ + -1, + 40 + ], + "'METHOD": [ + -1, + 40 + ], + "'LBRACK": [ + -1, + 40 + ], + "'TABLE": [ + -1, + 40 + ], + "'REACTOR": [ + -1, + 40 + ], + "'IF": [ + -1, + 40 + ], + "'ELSECOLON": [ + -1, + 40 + ], + "'ELSEIF": [ + -1, + 40 + ], + "'ASK": [ + -1, + 40 + ], + "'CASES": [ + -1, + 40 + ], + "'FOR": [ + -1, + 40 + ], + "'TABLE-SELECT": [ + -1, + 40 + ], + "'TABLE-FILTER": [ + -1, + 40 + ], + "'TABLE-ORDER": [ + -1, + 40 + ], + "'TABLE-EXTRACT": [ + -1, + 40 + ], + "'TABLE-UPDATE": [ + -1, + 40 + ], + "'TABLE-EXTEND": [ + -1, + 40 + ], + "'LOAD-TABLE": [ + -1, + 40 + ] + }, + { + "$": [ + -1, + 42 + ], + "'NAME": [ + -1, + 42 + ], + "'END": [ + -1, + 42 + ], + "'STRING": [ + -1, + 42 + ], + "'TYPE": [ + -1, + 42 + ], + "'DATA": [ + -1, + 42 + ], + "'PARENSPACE": [ + -1, + 42 + ], + "'SPY": [ + -1, + 42 + ], + "'NEWTYPE": [ + -1, + 42 + ], + "'LBRACE": [ + -1, + 42 + ], + "'RBRACE": [ + -1, + 42 + ], + "'SHADOW": [ + -1, + 42 + ], + "'LET": [ + -1, + 42 + ], + "'BLOCK": [ + -1, + 42 + ], + "'LETREC": [ + -1, + 42 + ], + "'TYPE-LET": [ + -1, + 42 + ], + "'FUN": [ + -1, + 42 + ], + "'PARENAFTERBRACE": [ + -1, + 42 + ], + "'WHERE": [ + -1, + 42 + ], + "'CHECK": [ + -1, + 42 + ], + "'EXAMPLES": [ + -1, + 42 + ], + "'CHECKCOLON": [ + -1, + 42 + ], + "'EXAMPLESCOLON": [ + -1, + 42 + ], + "'BAR": [ + -1, + 42 + ], + "'VAR": [ + -1, + 42 + ], + "'REC": [ + -1, + 42 + ], + "'WHEN": [ + -1, + 42 + ], + "'DOTDOTDOT": [ + -1, + 42 + ], + "'NUMBER": [ + -1, + 42 + ], + "'RATIONAL": [ + -1, + 42 + ], + "'ROUGHRATIONAL": [ + -1, + 42 + ], + "'TRUE": [ + -1, + 42 + ], + "'FALSE": [ + -1, + 42 + ], + "'LAM": [ + -1, + 42 + ], + "'METHOD": [ + -1, + 42 + ], + "'LBRACK": [ + -1, + 42 + ], + "'TABLE": [ + -1, + 42 + ], + "'REACTOR": [ + -1, + 42 + ], + "'IF": [ + -1, + 42 + ], + "'ELSECOLON": [ + -1, + 42 + ], + "'ELSEIF": [ + -1, + 42 + ], + "'ASK": [ + -1, + 42 + ], + "'CASES": [ + -1, + 42 + ], + "'FOR": [ + -1, + 42 + ], + "'TABLE-SELECT": [ + -1, + 42 + ], + "'TABLE-FILTER": [ + -1, + 42 + ], + "'TABLE-ORDER": [ + -1, + 42 + ], + "'TABLE-EXTRACT": [ + -1, + 42 + ], + "'TABLE-UPDATE": [ + -1, + 42 + ], + "'TABLE-EXTEND": [ + -1, + 42 + ], + "'LOAD-TABLE": [ + -1, + 42 + ] + }, + { + "$": [ + -1, + 44 + ], + "'NAME": [ + -1, + 44 + ], + "'END": [ + -1, + 44 + ], + "'STRING": [ + -1, + 44 + ], + "'TYPE": [ + -1, + 44 + ], + "'DATA": [ + -1, + 44 + ], + "'PARENSPACE": [ + -1, + 44 + ], + "'SPY": [ + -1, + 44 + ], + "'NEWTYPE": [ + -1, + 44 + ], + "'LBRACE": [ + -1, + 44 + ], + "'RBRACE": [ + -1, + 44 + ], + "'SHADOW": [ + -1, + 44 + ], + "'LET": [ + -1, + 44 + ], + "'BLOCK": [ + -1, + 44 + ], + "'LETREC": [ + -1, + 44 + ], + "'TYPE-LET": [ + -1, + 44 + ], + "'FUN": [ + -1, + 44 + ], + "'PARENAFTERBRACE": [ + -1, + 44 + ], + "'WHERE": [ + -1, + 44 + ], + "'CHECK": [ + -1, + 44 + ], + "'EXAMPLES": [ + -1, + 44 + ], + "'CHECKCOLON": [ + -1, + 44 + ], + "'EXAMPLESCOLON": [ + -1, + 44 + ], + "'BAR": [ + -1, + 44 + ], + "'VAR": [ + -1, + 44 + ], + "'REC": [ + -1, + 44 + ], + "'WHEN": [ + -1, + 44 + ], + "'DOTDOTDOT": [ + -1, + 44 + ], + "'NUMBER": [ + -1, + 44 + ], + "'RATIONAL": [ + -1, + 44 + ], + "'ROUGHRATIONAL": [ + -1, + 44 + ], + "'TRUE": [ + -1, + 44 + ], + "'FALSE": [ + -1, + 44 + ], + "'LAM": [ + -1, + 44 + ], + "'METHOD": [ + -1, + 44 + ], + "'LBRACK": [ + -1, + 44 + ], + "'TABLE": [ + -1, + 44 + ], + "'REACTOR": [ + -1, + 44 + ], + "'IF": [ + -1, + 44 + ], + "'ELSECOLON": [ + -1, + 44 + ], + "'ELSEIF": [ + -1, + 44 + ], + "'ASK": [ + -1, + 44 + ], + "'CASES": [ + -1, + 44 + ], + "'FOR": [ + -1, + 44 + ], + "'TABLE-SELECT": [ + -1, + 44 + ], + "'TABLE-FILTER": [ + -1, + 44 + ], + "'TABLE-ORDER": [ + -1, + 44 + ], + "'TABLE-EXTRACT": [ + -1, + 44 + ], + "'TABLE-UPDATE": [ + -1, + 44 + ], + "'TABLE-EXTEND": [ + -1, + 44 + ], + "'LOAD-TABLE": [ + -1, + 44 + ] + }, + { + "$": [ + -1, + 46 + ], + "'NAME": [ + -1, + 46 + ], + "'END": [ + -1, + 46 + ], + "'STRING": [ + -1, + 46 + ], + "'TYPE": [ + -1, + 46 + ], + "'DATA": [ + -1, + 46 + ], + "'PARENSPACE": [ + -1, + 46 + ], + "'SPY": [ + -1, + 46 + ], + "'NEWTYPE": [ + -1, + 46 + ], + "'LBRACE": [ + -1, + 46 + ], + "'RBRACE": [ + -1, + 46 + ], + "'SHADOW": [ + -1, + 46 + ], + "'LET": [ + -1, + 46 + ], + "'BLOCK": [ + -1, + 46 + ], + "'LETREC": [ + -1, + 46 + ], + "'TYPE-LET": [ + -1, + 46 + ], + "'FUN": [ + -1, + 46 + ], + "'PARENAFTERBRACE": [ + -1, + 46 + ], + "'WHERE": [ + -1, + 46 + ], + "'CHECK": [ + -1, + 46 + ], + "'EXAMPLES": [ + -1, + 46 + ], + "'CHECKCOLON": [ + -1, + 46 + ], + "'EXAMPLESCOLON": [ + -1, + 46 + ], + "'BAR": [ + -1, + 46 + ], + "'VAR": [ + -1, + 46 + ], + "'REC": [ + -1, + 46 + ], + "'WHEN": [ + -1, + 46 + ], + "'DOTDOTDOT": [ + -1, + 46 + ], + "'NUMBER": [ + -1, + 46 + ], + "'RATIONAL": [ + -1, + 46 + ], + "'ROUGHRATIONAL": [ + -1, + 46 + ], + "'TRUE": [ + -1, + 46 + ], + "'FALSE": [ + -1, + 46 + ], + "'LAM": [ + -1, + 46 + ], + "'METHOD": [ + -1, + 46 + ], + "'LBRACK": [ + -1, + 46 + ], + "'TABLE": [ + -1, + 46 + ], + "'REACTOR": [ + -1, + 46 + ], + "'IF": [ + -1, + 46 + ], + "'ELSECOLON": [ + -1, + 46 + ], + "'ELSEIF": [ + -1, + 46 + ], + "'ASK": [ + -1, + 46 + ], + "'CASES": [ + -1, + 46 + ], + "'FOR": [ + -1, + 46 + ], + "'TABLE-SELECT": [ + -1, + 46 + ], + "'TABLE-FILTER": [ + -1, + 46 + ], + "'TABLE-ORDER": [ + -1, + 46 + ], + "'TABLE-EXTRACT": [ + -1, + 46 + ], + "'TABLE-UPDATE": [ + -1, + 46 + ], + "'TABLE-EXTEND": [ + -1, + 46 + ], + "'LOAD-TABLE": [ + -1, + 46 + ] + }, + { + "$": [ + -1, + 48 + ], + "'NAME": [ + -1, + 48 + ], + "'END": [ + -1, + 48 + ], + "'STRING": [ + -1, + 48 + ], + "'TYPE": [ + -1, + 48 + ], + "'DATA": [ + -1, + 48 + ], + "'PARENSPACE": [ + -1, + 48 + ], + "'SPY": [ + -1, + 48 + ], + "'NEWTYPE": [ + -1, + 48 + ], + "'LBRACE": [ + -1, + 48 + ], + "'RBRACE": [ + -1, + 48 + ], + "'SHADOW": [ + -1, + 48 + ], + "'LET": [ + -1, + 48 + ], + "'BLOCK": [ + -1, + 48 + ], + "'LETREC": [ + -1, + 48 + ], + "'TYPE-LET": [ + -1, + 48 + ], + "'FUN": [ + -1, + 48 + ], + "'PARENAFTERBRACE": [ + -1, + 48 + ], + "'WHERE": [ + -1, + 48 + ], + "'CHECK": [ + -1, + 48 + ], + "'EXAMPLES": [ + -1, + 48 + ], + "'CHECKCOLON": [ + -1, + 48 + ], + "'EXAMPLESCOLON": [ + -1, + 48 + ], + "'BAR": [ + -1, + 48 + ], + "'VAR": [ + -1, + 48 + ], + "'REC": [ + -1, + 48 + ], + "'WHEN": [ + -1, + 48 + ], + "'DOTDOTDOT": [ + -1, + 48 + ], + "'NUMBER": [ + -1, + 48 + ], + "'RATIONAL": [ + -1, + 48 + ], + "'ROUGHRATIONAL": [ + -1, + 48 + ], + "'TRUE": [ + -1, + 48 + ], + "'FALSE": [ + -1, + 48 + ], + "'LAM": [ + -1, + 48 + ], + "'METHOD": [ + -1, + 48 + ], + "'LBRACK": [ + -1, + 48 + ], + "'TABLE": [ + -1, + 48 + ], + "'REACTOR": [ + -1, + 48 + ], + "'IF": [ + -1, + 48 + ], + "'ELSECOLON": [ + -1, + 48 + ], + "'ELSEIF": [ + -1, + 48 + ], + "'ASK": [ + -1, + 48 + ], + "'CASES": [ + -1, + 48 + ], + "'FOR": [ + -1, + 48 + ], + "'TABLE-SELECT": [ + -1, + 48 + ], + "'TABLE-FILTER": [ + -1, + 48 + ], + "'TABLE-ORDER": [ + -1, + 48 + ], + "'TABLE-EXTRACT": [ + -1, + 48 + ], + "'TABLE-UPDATE": [ + -1, + 48 + ], + "'TABLE-EXTEND": [ + -1, + 48 + ], + "'LOAD-TABLE": [ + -1, + 48 + ] + }, + { + "$": [ + -1, + 50 + ], + "'NAME": [ + -1, + 50 + ], + "'END": [ + -1, + 50 + ], + "'STRING": [ + -1, + 50 + ], + "'TYPE": [ + -1, + 50 + ], + "'DATA": [ + -1, + 50 + ], + "'PARENSPACE": [ + -1, + 50 + ], + "'SPY": [ + -1, + 50 + ], + "'NEWTYPE": [ + -1, + 50 + ], + "'LBRACE": [ + -1, + 50 + ], + "'RBRACE": [ + -1, + 50 + ], + "'SHADOW": [ + -1, + 50 + ], + "'LET": [ + -1, + 50 + ], + "'BLOCK": [ + -1, + 50 + ], + "'LETREC": [ + -1, + 50 + ], + "'TYPE-LET": [ + -1, + 50 + ], + "'FUN": [ + -1, + 50 + ], + "'PARENAFTERBRACE": [ + -1, + 50 + ], + "'WHERE": [ + -1, + 50 + ], + "'CHECK": [ + -1, + 50 + ], + "'EXAMPLES": [ + -1, + 50 + ], + "'CHECKCOLON": [ + -1, + 50 + ], + "'EXAMPLESCOLON": [ + -1, + 50 + ], + "'BAR": [ + -1, + 50 + ], + "'VAR": [ + -1, + 50 + ], + "'REC": [ + -1, + 50 + ], + "'WHEN": [ + -1, + 50 + ], + "'DOTDOTDOT": [ + -1, + 50 + ], + "'NUMBER": [ + -1, + 50 + ], + "'RATIONAL": [ + -1, + 50 + ], + "'ROUGHRATIONAL": [ + -1, + 50 + ], + "'TRUE": [ + -1, + 50 + ], + "'FALSE": [ + -1, + 50 + ], + "'LAM": [ + -1, + 50 + ], + "'METHOD": [ + -1, + 50 + ], + "'LBRACK": [ + -1, + 50 + ], + "'TABLE": [ + -1, + 50 + ], + "'REACTOR": [ + -1, + 50 + ], + "'IF": [ + -1, + 50 + ], + "'ELSECOLON": [ + -1, + 50 + ], + "'ELSEIF": [ + -1, + 50 + ], + "'ASK": [ + -1, + 50 + ], + "'CASES": [ + -1, + 50 + ], + "'FOR": [ + -1, + 50 + ], + "'TABLE-SELECT": [ + -1, + 50 + ], + "'TABLE-FILTER": [ + -1, + 50 + ], + "'TABLE-ORDER": [ + -1, + 50 + ], + "'TABLE-EXTRACT": [ + -1, + 50 + ], + "'TABLE-UPDATE": [ + -1, + 50 + ], + "'TABLE-EXTEND": [ + -1, + 50 + ], + "'LOAD-TABLE": [ + -1, + 50 + ] + }, + { + "$": [ + -1, + 52 + ], + "'NAME": [ + -1, + 52 + ], + "'END": [ + -1, + 52 + ], + "'STRING": [ + -1, + 52 + ], + "'TYPE": [ + -1, + 52 + ], + "'DATA": [ + -1, + 52 + ], + "'PARENSPACE": [ + -1, + 52 + ], + "'SPY": [ + -1, + 52 + ], + "'NEWTYPE": [ + -1, + 52 + ], + "'LBRACE": [ + -1, + 52 + ], + "'RBRACE": [ + -1, + 52 + ], + "'SHADOW": [ + -1, + 52 + ], + "'LET": [ + -1, + 52 + ], + "'BLOCK": [ + -1, + 52 + ], + "'LETREC": [ + -1, + 52 + ], + "'TYPE-LET": [ + -1, + 52 + ], + "'FUN": [ + -1, + 52 + ], + "'PARENAFTERBRACE": [ + -1, + 52 + ], + "'WHERE": [ + -1, + 52 + ], + "'CHECK": [ + -1, + 52 + ], + "'EXAMPLES": [ + -1, + 52 + ], + "'CHECKCOLON": [ + -1, + 52 + ], + "'EXAMPLESCOLON": [ + -1, + 52 + ], + "'BAR": [ + -1, + 52 + ], + "'VAR": [ + -1, + 52 + ], + "'REC": [ + -1, + 52 + ], + "'WHEN": [ + -1, + 52 + ], + "'DOTDOTDOT": [ + -1, + 52 + ], + "'NUMBER": [ + -1, + 52 + ], + "'RATIONAL": [ + -1, + 52 + ], + "'ROUGHRATIONAL": [ + -1, + 52 + ], + "'TRUE": [ + -1, + 52 + ], + "'FALSE": [ + -1, + 52 + ], + "'LAM": [ + -1, + 52 + ], + "'METHOD": [ + -1, + 52 + ], + "'LBRACK": [ + -1, + 52 + ], + "'TABLE": [ + -1, + 52 + ], + "'REACTOR": [ + -1, + 52 + ], + "'IF": [ + -1, + 52 + ], + "'ELSECOLON": [ + -1, + 52 + ], + "'ELSEIF": [ + -1, + 52 + ], + "'ASK": [ + -1, + 52 + ], + "'CASES": [ + -1, + 52 + ], + "'FOR": [ + -1, + 52 + ], + "'TABLE-SELECT": [ + -1, + 52 + ], + "'TABLE-FILTER": [ + -1, + 52 + ], + "'TABLE-ORDER": [ + -1, + 52 + ], + "'TABLE-EXTRACT": [ + -1, + 52 + ], + "'TABLE-UPDATE": [ + -1, + 52 + ], + "'TABLE-EXTEND": [ + -1, + 52 + ], + "'LOAD-TABLE": [ + -1, + 52 + ] + }, + { + "$": [ + -1, + 54 + ], + "'NAME": [ + -1, + 54 + ], + "'END": [ + -1, + 54 + ], + "'STRING": [ + -1, + 54 + ], + "'TYPE": [ + -1, + 54 + ], + "'DATA": [ + -1, + 54 + ], + "'PARENSPACE": [ + -1, + 54 + ], + "'SPY": [ + -1, + 54 + ], + "'NEWTYPE": [ + -1, + 54 + ], + "'LBRACE": [ + -1, + 54 + ], + "'RBRACE": [ + -1, + 54 + ], + "'SHADOW": [ + -1, + 54 + ], + "'LET": [ + -1, + 54 + ], + "'BLOCK": [ + -1, + 54 + ], + "'LETREC": [ + -1, + 54 + ], + "'TYPE-LET": [ + -1, + 54 + ], + "'FUN": [ + -1, + 54 + ], + "'PARENAFTERBRACE": [ + -1, + 54 + ], + "'WHERE": [ + -1, + 54 + ], + "'CHECK": [ + -1, + 54 + ], + "'EXAMPLES": [ + -1, + 54 + ], + "'CHECKCOLON": [ + -1, + 54 + ], + "'EXAMPLESCOLON": [ + -1, + 54 + ], + "'BAR": [ + -1, + 54 + ], + "'VAR": [ + -1, + 54 + ], + "'REC": [ + -1, + 54 + ], + "'WHEN": [ + -1, + 54 + ], + "'DOTDOTDOT": [ + -1, + 54 + ], + "'NUMBER": [ + -1, + 54 + ], + "'RATIONAL": [ + -1, + 54 + ], + "'ROUGHRATIONAL": [ + -1, + 54 + ], + "'TRUE": [ + -1, + 54 + ], + "'FALSE": [ + -1, + 54 + ], + "'LAM": [ + -1, + 54 + ], + "'METHOD": [ + -1, + 54 + ], + "'LBRACK": [ + -1, + 54 + ], + "'TABLE": [ + -1, + 54 + ], + "'REACTOR": [ + -1, + 54 + ], + "'IF": [ + -1, + 54 + ], + "'ELSECOLON": [ + -1, + 54 + ], + "'ELSEIF": [ + -1, + 54 + ], + "'ASK": [ + -1, + 54 + ], + "'CASES": [ + -1, + 54 + ], + "'FOR": [ + -1, + 54 + ], + "'TABLE-SELECT": [ + -1, + 54 + ], + "'TABLE-FILTER": [ + -1, + 54 + ], + "'TABLE-ORDER": [ + -1, + 54 + ], + "'TABLE-EXTRACT": [ + -1, + 54 + ], + "'TABLE-UPDATE": [ + -1, + 54 + ], + "'TABLE-EXTEND": [ + -1, + 54 + ], + "'LOAD-TABLE": [ + -1, + 54 + ] + }, + { + "$": [ + -1, + 56 + ], + "'NAME": [ + -1, + 56 + ], + "'END": [ + -1, + 56 + ], + "'STRING": [ + -1, + 56 + ], + "'TYPE": [ + -1, + 56 + ], + "'DATA": [ + -1, + 56 + ], + "'PARENSPACE": [ + -1, + 56 + ], + "'SPY": [ + -1, + 56 + ], + "'NEWTYPE": [ + -1, + 56 + ], + "'LBRACE": [ + -1, + 56 + ], + "'RBRACE": [ + -1, + 56 + ], + "'SHADOW": [ + -1, + 56 + ], + "'LET": [ + -1, + 56 + ], + "'BLOCK": [ + -1, + 56 + ], + "'LETREC": [ + -1, + 56 + ], + "'TYPE-LET": [ + -1, + 56 + ], + "'FUN": [ + -1, + 56 + ], + "'PARENAFTERBRACE": [ + -1, + 56 + ], + "'WHERE": [ + -1, + 56 + ], + "'CHECK": [ + -1, + 56 + ], + "'EXAMPLES": [ + -1, + 56 + ], + "'CHECKCOLON": [ + -1, + 56 + ], + "'EXAMPLESCOLON": [ + -1, + 56 + ], + "'BAR": [ + -1, + 56 + ], + "'VAR": [ + -1, + 56 + ], + "'REC": [ + -1, + 56 + ], + "'WHEN": [ + -1, + 56 + ], + "'DOTDOTDOT": [ + -1, + 56 + ], + "'NUMBER": [ + -1, + 56 + ], + "'RATIONAL": [ + -1, + 56 + ], + "'ROUGHRATIONAL": [ + -1, + 56 + ], + "'TRUE": [ + -1, + 56 + ], + "'FALSE": [ + -1, + 56 + ], + "'LAM": [ + -1, + 56 + ], + "'METHOD": [ + -1, + 56 + ], + "'LBRACK": [ + -1, + 56 + ], + "'TABLE": [ + -1, + 56 + ], + "'REACTOR": [ + -1, + 56 + ], + "'IF": [ + -1, + 56 + ], + "'ELSECOLON": [ + -1, + 56 + ], + "'ELSEIF": [ + -1, + 56 + ], + "'ASK": [ + -1, + 56 + ], + "'CASES": [ + -1, + 56 + ], + "'FOR": [ + -1, + 56 + ], + "'TABLE-SELECT": [ + -1, + 56 + ], + "'TABLE-FILTER": [ + -1, + 56 + ], + "'TABLE-ORDER": [ + -1, + 56 + ], + "'TABLE-EXTRACT": [ + -1, + 56 + ], + "'TABLE-UPDATE": [ + -1, + 56 + ], + "'TABLE-EXTEND": [ + -1, + 56 + ], + "'LOAD-TABLE": [ + -1, + 56 + ] + }, + { + "$": [ + -1, + 58 + ], + "'NAME": [ + -1, + 58 + ], + "'END": [ + -1, + 58 + ], + "'STRING": [ + -1, + 58 + ], + "'TYPE": [ + -1, + 58 + ], + "'DATA": [ + -1, + 58 + ], + "'PARENSPACE": [ + -1, + 58 + ], + "'SPY": [ + -1, + 58 + ], + "'NEWTYPE": [ + -1, + 58 + ], + "'LBRACE": [ + -1, + 58 + ], + "'RBRACE": [ + -1, + 58 + ], + "'SHADOW": [ + -1, + 58 + ], + "'LET": [ + -1, + 58 + ], + "'BLOCK": [ + -1, + 58 + ], + "'LETREC": [ + -1, + 58 + ], + "'TYPE-LET": [ + -1, + 58 + ], + "'FUN": [ + -1, + 58 + ], + "'PARENAFTERBRACE": [ + -1, + 58 + ], + "'WHERE": [ + -1, + 58 + ], + "'CHECK": [ + -1, + 58 + ], + "'EXAMPLES": [ + -1, + 58 + ], + "'CHECKCOLON": [ + -1, + 58 + ], + "'EXAMPLESCOLON": [ + -1, + 58 + ], + "'BAR": [ + -1, + 58 + ], + "'VAR": [ + -1, + 58 + ], + "'REC": [ + -1, + 58 + ], + "'WHEN": [ + -1, + 58 + ], + "'DOTDOTDOT": [ + -1, + 58 + ], + "'NUMBER": [ + -1, + 58 + ], + "'RATIONAL": [ + -1, + 58 + ], + "'ROUGHRATIONAL": [ + -1, + 58 + ], + "'TRUE": [ + -1, + 58 + ], + "'FALSE": [ + -1, + 58 + ], + "'LAM": [ + -1, + 58 + ], + "'METHOD": [ + -1, + 58 + ], + "'LBRACK": [ + -1, + 58 + ], + "'TABLE": [ + -1, + 58 + ], + "'REACTOR": [ + -1, + 58 + ], + "'IF": [ + -1, + 58 + ], + "'ELSECOLON": [ + -1, + 58 + ], + "'ELSEIF": [ + -1, + 58 + ], + "'ASK": [ + -1, + 58 + ], + "'CASES": [ + -1, + 58 + ], + "'FOR": [ + -1, + 58 + ], + "'TABLE-SELECT": [ + -1, + 58 + ], + "'TABLE-FILTER": [ + -1, + 58 + ], + "'TABLE-ORDER": [ + -1, + 58 + ], + "'TABLE-EXTRACT": [ + -1, + 58 + ], + "'TABLE-UPDATE": [ + -1, + 58 + ], + "'TABLE-EXTEND": [ + -1, + 58 + ], + "'LOAD-TABLE": [ + -1, + 58 + ] + }, + { + "$": [ + -1, + 60 + ], + "'NAME": [ + -1, + 60 + ], + "'END": [ + -1, + 60 + ], + "'STRING": [ + -1, + 60 + ], + "'TYPE": [ + -1, + 60 + ], + "'DATA": [ + -1, + 60 + ], + "'PARENSPACE": [ + -1, + 60 + ], + "'SPY": [ + -1, + 60 + ], + "'NEWTYPE": [ + -1, + 60 + ], + "'LBRACE": [ + -1, + 60 + ], + "'RBRACE": [ + -1, + 60 + ], + "'SHADOW": [ + -1, + 60 + ], + "'LET": [ + -1, + 60 + ], + "'BLOCK": [ + -1, + 60 + ], + "'LETREC": [ + -1, + 60 + ], + "'TYPE-LET": [ + -1, + 60 + ], + "'FUN": [ + -1, + 60 + ], + "'PARENAFTERBRACE": [ + -1, + 60 + ], + "'WHERE": [ + -1, + 60 + ], + "'CHECK": [ + -1, + 60 + ], + "'EXAMPLES": [ + -1, + 60 + ], + "'CHECKCOLON": [ + -1, + 60 + ], + "'EXAMPLESCOLON": [ + -1, + 60 + ], + "'BAR": [ + -1, + 60 + ], + "'VAR": [ + -1, + 60 + ], + "'REC": [ + -1, + 60 + ], + "'WHEN": [ + -1, + 60 + ], + "'DOTDOTDOT": [ + -1, + 60 + ], + "'NUMBER": [ + -1, + 60 + ], + "'RATIONAL": [ + -1, + 60 + ], + "'ROUGHRATIONAL": [ + -1, + 60 + ], + "'TRUE": [ + -1, + 60 + ], + "'FALSE": [ + -1, + 60 + ], + "'LAM": [ + -1, + 60 + ], + "'METHOD": [ + -1, + 60 + ], + "'LBRACK": [ + -1, + 60 + ], + "'TABLE": [ + -1, + 60 + ], + "'REACTOR": [ + -1, + 60 + ], + "'IF": [ + -1, + 60 + ], + "'ELSECOLON": [ + -1, + 60 + ], + "'ELSEIF": [ + -1, + 60 + ], + "'ASK": [ + -1, + 60 + ], + "'CASES": [ + -1, + 60 + ], + "'FOR": [ + -1, + 60 + ], + "'TABLE-SELECT": [ + -1, + 60 + ], + "'TABLE-FILTER": [ + -1, + 60 + ], + "'TABLE-ORDER": [ + -1, + 60 + ], + "'TABLE-EXTRACT": [ + -1, + 60 + ], + "'TABLE-UPDATE": [ + -1, + 60 + ], + "'TABLE-EXTEND": [ + -1, + 60 + ], + "'LOAD-TABLE": [ + -1, + 60 + ] + }, + { + "$": [ + -1, + 62 + ], + "'NAME": [ + -1, + 62 + ], + "'END": [ + -1, + 62 + ], + "'STRING": [ + -1, + 62 + ], + "'TYPE": [ + -1, + 62 + ], + "'DATA": [ + -1, + 62 + ], + "'PARENSPACE": [ + -1, + 62 + ], + "'SPY": [ + -1, + 62 + ], + "'NEWTYPE": [ + -1, + 62 + ], + "'LBRACE": [ + -1, + 62 + ], + "'RBRACE": [ + -1, + 62 + ], + "'SHADOW": [ + -1, + 62 + ], + "'LET": [ + -1, + 62 + ], + "'BLOCK": [ + -1, + 62 + ], + "'LETREC": [ + -1, + 62 + ], + "'TYPE-LET": [ + -1, + 62 + ], + "'FUN": [ + -1, + 62 + ], + "'PARENAFTERBRACE": [ + -1, + 62 + ], + "'WHERE": [ + -1, + 62 + ], + "'CHECK": [ + -1, + 62 + ], + "'EXAMPLES": [ + -1, + 62 + ], + "'CHECKCOLON": [ + -1, + 62 + ], + "'EXAMPLESCOLON": [ + -1, + 62 + ], + "'BAR": [ + -1, + 62 + ], + "'VAR": [ + -1, + 62 + ], + "'REC": [ + -1, + 62 + ], + "'WHEN": [ + -1, + 62 + ], + "'DOTDOTDOT": [ + -1, + 62 + ], + "'NUMBER": [ + -1, + 62 + ], + "'RATIONAL": [ + -1, + 62 + ], + "'ROUGHRATIONAL": [ + -1, + 62 + ], + "'TRUE": [ + -1, + 62 + ], + "'FALSE": [ + -1, + 62 + ], + "'LAM": [ + -1, + 62 + ], + "'METHOD": [ + -1, + 62 + ], + "'LBRACK": [ + -1, + 62 + ], + "'TABLE": [ + -1, + 62 + ], + "'REACTOR": [ + -1, + 62 + ], + "'IF": [ + -1, + 62 + ], + "'ELSECOLON": [ + -1, + 62 + ], + "'ELSEIF": [ + -1, + 62 + ], + "'ASK": [ + -1, + 62 + ], + "'CASES": [ + -1, + 62 + ], + "'FOR": [ + -1, + 62 + ], + "'TABLE-SELECT": [ + -1, + 62 + ], + "'TABLE-FILTER": [ + -1, + 62 + ], + "'TABLE-ORDER": [ + -1, + 62 + ], + "'TABLE-EXTRACT": [ + -1, + 62 + ], + "'TABLE-UPDATE": [ + -1, + 62 + ], + "'TABLE-EXTEND": [ + -1, + 62 + ], + "'LOAD-TABLE": [ + -1, + 62 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "spy-stmt_I1?": [ + 140 + ], + "spy-stmt_I1": [ + 141 + ], + "binop-expr": [ + 142 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'COLON": [ + -1, + 64 + ] + }, + { + "check-op": [ + 144 + ], + "check-op-postfix": [ + 145 + ], + "'IS": [ + 146 + ], + "'ISEQUALEQUAL": [ + 147 + ], + "'ISEQUALTILDE": [ + 148 + ], + "'ISSPACESHIP": [ + 149 + ], + "'ISROUGHLY": [ + 150 + ], + "'ISNOT": [ + 151 + ], + "'ISNOTEQUALEQUAL": [ + 152 + ], + "'ISNOTEQUALTILDE": [ + 153 + ], + "'ISNOTSPACESHIP": [ + 154 + ], + "'RAISES": [ + 155 + ], + "'RAISESOTHER": [ + 156 + ], + "'SATISFIES": [ + 157 + ], + "'SATISFIESNOT": [ + 158 + ], + "'RAISESSATISFIES": [ + 159 + ], + "'RAISESVIOLATES": [ + 160 + ], + "'RAISESNOT": [ + 161 + ], + "$": [ + -1, + 66 + ], + "'NAME": [ + -1, + 66 + ], + "'END": [ + -1, + 66 + ], + "'STRING": [ + -1, + 66 + ], + "'TYPE": [ + -1, + 66 + ], + "'DATA": [ + -1, + 66 + ], + "'PARENSPACE": [ + -1, + 66 + ], + "'SPY": [ + -1, + 66 + ], + "'NEWTYPE": [ + -1, + 66 + ], + "'LBRACE": [ + -1, + 66 + ], + "'RBRACE": [ + -1, + 66 + ], + "'SHADOW": [ + -1, + 66 + ], + "'LET": [ + -1, + 66 + ], + "'BLOCK": [ + -1, + 66 + ], + "'LETREC": [ + -1, + 66 + ], + "'TYPE-LET": [ + -1, + 66 + ], + "'FUN": [ + -1, + 66 + ], + "'PARENAFTERBRACE": [ + -1, + 66 + ], + "'WHERE": [ + -1, + 66 + ], + "'CHECK": [ + -1, + 66 + ], + "'EXAMPLES": [ + -1, + 66 + ], + "'CHECKCOLON": [ + -1, + 66 + ], + "'EXAMPLESCOLON": [ + -1, + 66 + ], + "'BAR": [ + -1, + 66 + ], + "'VAR": [ + -1, + 66 + ], + "'REC": [ + -1, + 66 + ], + "'WHEN": [ + -1, + 66 + ], + "'DOTDOTDOT": [ + -1, + 66 + ], + "'NUMBER": [ + -1, + 66 + ], + "'RATIONAL": [ + -1, + 66 + ], + "'ROUGHRATIONAL": [ + -1, + 66 + ], + "'TRUE": [ + -1, + 66 + ], + "'FALSE": [ + -1, + 66 + ], + "'LAM": [ + -1, + 66 + ], + "'METHOD": [ + -1, + 66 + ], + "'LBRACK": [ + -1, + 66 + ], + "'TABLE": [ + -1, + 66 + ], + "'REACTOR": [ + -1, + 66 + ], + "'IF": [ + -1, + 66 + ], + "'ELSECOLON": [ + -1, + 66 + ], + "'ELSEIF": [ + -1, + 66 + ], + "'ASK": [ + -1, + 66 + ], + "'CASES": [ + -1, + 66 + ], + "'FOR": [ + -1, + 66 + ], + "'TABLE-SELECT": [ + -1, + 66 + ], + "'TABLE-FILTER": [ + -1, + 66 + ], + "'TABLE-ORDER": [ + -1, + 66 + ], + "'TABLE-EXTRACT": [ + -1, + 66 + ], + "'TABLE-UPDATE": [ + -1, + 66 + ], + "'TABLE-EXTEND": [ + -1, + 66 + ], + "'LOAD-TABLE": [ + -1, + 66 + ] + }, + { + "$": [ + -1, + 68 + ], + "'NAME": [ + -1, + 68 + ], + "'COLON": [ + -1, + 68 + ], + "'END": [ + -1, + 68 + ], + "'COMMA": [ + -1, + 68 + ], + "'PARENNOSPACE": [ + -1, + 68 + ], + "'STRING": [ + -1, + 68 + ], + "'RPAREN": [ + -1, + 68 + ], + "'TYPE": [ + -1, + 68 + ], + "'DATA": [ + -1, + 68 + ], + "'TIMES": [ + -1, + 68 + ], + "'PARENSPACE": [ + -1, + 68 + ], + "'DOT": [ + -1, + 68 + ], + "'SPY": [ + -1, + 68 + ], + "'NEWTYPE": [ + -1, + 68 + ], + "'LBRACE": [ + -1, + 68 + ], + "'RBRACE": [ + -1, + 68 + ], + "'SEMI": [ + -1, + 68 + ], + "'SHADOW": [ + -1, + 68 + ], + "'LET": [ + -1, + 68 + ], + "'BLOCK": [ + -1, + 68 + ], + "'LETREC": [ + -1, + 68 + ], + "'TYPE-LET": [ + -1, + 68 + ], + "'FUN": [ + -1, + 68 + ], + "'LANGLE": [ + -1, + 68 + ], + "'LT": [ + -1, + 68 + ], + "'GT": [ + -1, + 68 + ], + "'PARENAFTERBRACE": [ + -1, + 68 + ], + "'WHERE": [ + -1, + 68 + ], + "'CHECK": [ + -1, + 68 + ], + "'EXAMPLES": [ + -1, + 68 + ], + "'CHECKCOLON": [ + -1, + 68 + ], + "'EXAMPLESCOLON": [ + -1, + 68 + ], + "'BECAUSE": [ + -1, + 68 + ], + "'BAR": [ + -1, + 68 + ], + "'SHARING": [ + -1, + 68 + ], + "'VAR": [ + -1, + 68 + ], + "'REC": [ + -1, + 68 + ], + "'WHEN": [ + -1, + 68 + ], + "'PLUS": [ + -1, + 68 + ], + "'DASH": [ + -1, + 68 + ], + "'SLASH": [ + -1, + 68 + ], + "'LEQ": [ + -1, + 68 + ], + "'GEQ": [ + -1, + 68 + ], + "'EQUALEQUAL": [ + -1, + 68 + ], + "'SPACESHIP": [ + -1, + 68 + ], + "'EQUALTILDE": [ + -1, + 68 + ], + "'NEQ": [ + -1, + 68 + ], + "'AND": [ + -1, + 68 + ], + "'OR": [ + -1, + 68 + ], + "'CARET": [ + -1, + 68 + ], + "'IS": [ + -1, + 68 + ], + "'ISEQUALEQUAL": [ + -1, + 68 + ], + "'ISEQUALTILDE": [ + -1, + 68 + ], + "'ISSPACESHIP": [ + -1, + 68 + ], + "'ISROUGHLY": [ + -1, + 68 + ], + "'ISNOT": [ + -1, + 68 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 68 + ], + "'ISNOTEQUALTILDE": [ + -1, + 68 + ], + "'ISNOTSPACESHIP": [ + -1, + 68 + ], + "'RAISES": [ + -1, + 68 + ], + "'RAISESOTHER": [ + -1, + 68 + ], + "'SATISFIES": [ + -1, + 68 + ], + "'SATISFIESNOT": [ + -1, + 68 + ], + "'RAISESSATISFIES": [ + -1, + 68 + ], + "'RAISESVIOLATES": [ + -1, + 68 + ], + "'RAISESNOT": [ + -1, + 68 + ], + "'DOTDOTDOT": [ + -1, + 68 + ], + "'NUMBER": [ + -1, + 68 + ], + "'RATIONAL": [ + -1, + 68 + ], + "'ROUGHRATIONAL": [ + -1, + 68 + ], + "'TRUE": [ + -1, + 68 + ], + "'FALSE": [ + -1, + 68 + ], + "'LAM": [ + -1, + 68 + ], + "'METHOD": [ + -1, + 68 + ], + "'LBRACK": [ + -1, + 68 + ], + "'RBRACK": [ + -1, + 68 + ], + "'TABLE": [ + -1, + 68 + ], + "'ROW": [ + -1, + 68 + ], + "'REACTOR": [ + -1, + 68 + ], + "'BANG": [ + -1, + 68 + ], + "'IF": [ + -1, + 68 + ], + "'ELSECOLON": [ + -1, + 68 + ], + "'ELSEIF": [ + -1, + 68 + ], + "'ASK": [ + -1, + 68 + ], + "'THENCOLON": [ + -1, + 68 + ], + "'CASES": [ + -1, + 68 + ], + "'FOR": [ + -1, + 68 + ], + "'TABLE-SELECT": [ + -1, + 68 + ], + "'TABLE-FILTER": [ + -1, + 68 + ], + "'USING": [ + -1, + 68 + ], + "'TABLE-ORDER": [ + -1, + 68 + ], + "'TABLE-EXTRACT": [ + -1, + 68 + ], + "'TABLE-UPDATE": [ + -1, + 68 + ], + "'TABLE-EXTEND": [ + -1, + 68 + ], + "'OF": [ + -1, + 68 + ], + "'LOAD-TABLE": [ + -1, + 68 + ], + "'SOURCECOLON": [ + -1, + 68 + ], + "'SANITIZE": [ + -1, + 68 + ] + }, + { + "'NAME": [ + 162 + ] + }, + { + "'EQUALS": [ + 163 + ] + }, + { + "'EQUALS": [ + -1, + 70 + ] + }, + { + "'FROM": [ + -1, + 72 + ], + "'COLON": [ + -1, + 72 + ], + "'COMMA": [ + -1, + 72 + ], + "'RPAREN": [ + -1, + 72 + ], + "'EQUALS": [ + -1, + 72 + ], + "'RBRACE": [ + -1, + 72 + ], + "'SEMI": [ + -1, + 72 + ] + }, + { + "'FROM": [ + -1, + 74 + ], + "'COLON": [ + -1, + 74 + ], + "'COMMA": [ + -1, + 74 + ], + "'RPAREN": [ + -1, + 74 + ], + "'EQUALS": [ + -1, + 74 + ], + "'RBRACE": [ + -1, + 74 + ], + "'SEMI": [ + -1, + 74 + ] + }, + { + "'NAME": [ + 164, + 76 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16, + 78, + 80 + ], + "binop-expr": [ + 165 + ], + "id-expr": [ + 33 + ], + "ty-params": [ + 166 + ], + "'LBRACE": [ + 143, + 76 + ], + "tuple-binding_I1*": [ + 167 + ], + "'RBRACE": [ + 168 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "fun-header": [ + 169 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENAFTERBRACE": [ + 51, + 78, + 80 + ], + "'REF": [ + 175 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 176 + ], + "tuple-fields": [ + 177 + ], + "obj-fields": [ + 178 + ], + "obj-field": [ + 179 + ], + "key": [ + 180 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'SHADOW": [ + -1, + 76 + ] + }, + { + "'NAME": [ + 181 + ] + }, + { + "'NAME": [ + -1, + 82 + ] + }, + { + "'NAME": [ + -1, + 84 + ] + }, + { + "$": [ + -1, + 86 + ], + "'NAME": [ + -1, + 86 + ], + "'COLON": [ + -1, + 86 + ], + "'END": [ + -1, + 86 + ], + "'COMMA": [ + -1, + 86 + ], + "'PARENNOSPACE": [ + -1, + 86 + ], + "'STRING": [ + -1, + 86 + ], + "'RPAREN": [ + -1, + 86 + ], + "'TYPE": [ + -1, + 86 + ], + "'DATA": [ + -1, + 86 + ], + "'TIMES": [ + -1, + 86 + ], + "'PARENSPACE": [ + -1, + 86 + ], + "'DOT": [ + -1, + 86 + ], + "'SPY": [ + -1, + 86 + ], + "'NEWTYPE": [ + -1, + 86 + ], + "'LBRACE": [ + -1, + 86 + ], + "'RBRACE": [ + -1, + 86 + ], + "'SEMI": [ + -1, + 86 + ], + "'SHADOW": [ + -1, + 86 + ], + "'LET": [ + -1, + 86 + ], + "'BLOCK": [ + -1, + 86 + ], + "'LETREC": [ + -1, + 86 + ], + "'TYPE-LET": [ + -1, + 86 + ], + "'FUN": [ + -1, + 86 + ], + "'LANGLE": [ + -1, + 86 + ], + "'LT": [ + -1, + 86 + ], + "'GT": [ + -1, + 86 + ], + "'PARENAFTERBRACE": [ + -1, + 86 + ], + "'WHERE": [ + -1, + 86 + ], + "'CHECK": [ + -1, + 86 + ], + "'EXAMPLES": [ + -1, + 86 + ], + "'CHECKCOLON": [ + -1, + 86 + ], + "'EXAMPLESCOLON": [ + -1, + 86 + ], + "'BECAUSE": [ + -1, + 86 + ], + "'BAR": [ + -1, + 86 + ], + "'SHARING": [ + -1, + 86 + ], + "'VAR": [ + -1, + 86 + ], + "'REC": [ + -1, + 86 + ], + "'WHEN": [ + -1, + 86 + ], + "'PLUS": [ + -1, + 86 + ], + "'DASH": [ + -1, + 86 + ], + "'SLASH": [ + -1, + 86 + ], + "'LEQ": [ + -1, + 86 + ], + "'GEQ": [ + -1, + 86 + ], + "'EQUALEQUAL": [ + -1, + 86 + ], + "'SPACESHIP": [ + -1, + 86 + ], + "'EQUALTILDE": [ + -1, + 86 + ], + "'NEQ": [ + -1, + 86 + ], + "'AND": [ + -1, + 86 + ], + "'OR": [ + -1, + 86 + ], + "'CARET": [ + -1, + 86 + ], + "'IS": [ + -1, + 86 + ], + "'ISEQUALEQUAL": [ + -1, + 86 + ], + "'ISEQUALTILDE": [ + -1, + 86 + ], + "'ISSPACESHIP": [ + -1, + 86 + ], + "'ISROUGHLY": [ + -1, + 86 + ], + "'ISNOT": [ + -1, + 86 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 86 + ], + "'ISNOTEQUALTILDE": [ + -1, + 86 + ], + "'ISNOTSPACESHIP": [ + -1, + 86 + ], + "'RAISES": [ + -1, + 86 + ], + "'RAISESOTHER": [ + -1, + 86 + ], + "'SATISFIES": [ + -1, + 86 + ], + "'SATISFIESNOT": [ + -1, + 86 + ], + "'RAISESSATISFIES": [ + -1, + 86 + ], + "'RAISESVIOLATES": [ + -1, + 86 + ], + "'RAISESNOT": [ + -1, + 86 + ], + "'DOTDOTDOT": [ + -1, + 86 + ], + "'NUMBER": [ + -1, + 86 + ], + "'RATIONAL": [ + -1, + 86 + ], + "'ROUGHRATIONAL": [ + -1, + 86 + ], + "'TRUE": [ + -1, + 86 + ], + "'FALSE": [ + -1, + 86 + ], + "'LAM": [ + -1, + 86 + ], + "'METHOD": [ + -1, + 86 + ], + "'LBRACK": [ + -1, + 86 + ], + "'RBRACK": [ + -1, + 86 + ], + "'TABLE": [ + -1, + 86 + ], + "'ROW": [ + -1, + 86 + ], + "'REACTOR": [ + -1, + 86 + ], + "'BANG": [ + -1, + 86 + ], + "'IF": [ + -1, + 86 + ], + "'ELSECOLON": [ + -1, + 86 + ], + "'ELSEIF": [ + -1, + 86 + ], + "'ASK": [ + -1, + 86 + ], + "'THENCOLON": [ + -1, + 86 + ], + "'CASES": [ + -1, + 86 + ], + "'FOR": [ + -1, + 86 + ], + "'TABLE-SELECT": [ + -1, + 86 + ], + "'TABLE-FILTER": [ + -1, + 86 + ], + "'USING": [ + -1, + 86 + ], + "'TABLE-ORDER": [ + -1, + 86 + ], + "'TABLE-EXTRACT": [ + -1, + 86 + ], + "'TABLE-UPDATE": [ + -1, + 86 + ], + "'TABLE-EXTEND": [ + -1, + 86 + ], + "'OF": [ + -1, + 86 + ], + "'LOAD-TABLE": [ + -1, + 86 + ], + "'SOURCECOLON": [ + -1, + 86 + ], + "'SANITIZE": [ + -1, + 86 + ] + }, + { + "let-expr": [ + 182 + ], + "var-expr": [ + 183 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "let-binding": [ + 185 + ], + "'VAR": [ + 58 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "block": [ + 186 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 88 + ], + "'NAME": [ + -1, + 88 + ], + "'COLON": [ + -1, + 88 + ], + "'END": [ + -1, + 88 + ], + "'COMMA": [ + -1, + 88 + ], + "'PARENNOSPACE": [ + -1, + 88 + ], + "'STRING": [ + -1, + 88 + ], + "'RPAREN": [ + -1, + 88 + ], + "'TYPE": [ + -1, + 88 + ], + "'DATA": [ + -1, + 88 + ], + "'TIMES": [ + -1, + 88 + ], + "'PARENSPACE": [ + -1, + 88 + ], + "'DOT": [ + -1, + 88 + ], + "'SPY": [ + -1, + 88 + ], + "'NEWTYPE": [ + -1, + 88 + ], + "'LBRACE": [ + -1, + 88 + ], + "'RBRACE": [ + -1, + 88 + ], + "'SEMI": [ + -1, + 88 + ], + "'SHADOW": [ + -1, + 88 + ], + "'LET": [ + -1, + 88 + ], + "'BLOCK": [ + -1, + 88 + ], + "'LETREC": [ + -1, + 88 + ], + "'TYPE-LET": [ + -1, + 88 + ], + "'FUN": [ + -1, + 88 + ], + "'LANGLE": [ + -1, + 88 + ], + "'LT": [ + -1, + 88 + ], + "'GT": [ + -1, + 88 + ], + "'PARENAFTERBRACE": [ + -1, + 88 + ], + "'WHERE": [ + -1, + 88 + ], + "'CHECK": [ + -1, + 88 + ], + "'EXAMPLES": [ + -1, + 88 + ], + "'CHECKCOLON": [ + -1, + 88 + ], + "'EXAMPLESCOLON": [ + -1, + 88 + ], + "'BECAUSE": [ + -1, + 88 + ], + "'BAR": [ + -1, + 88 + ], + "'SHARING": [ + -1, + 88 + ], + "'VAR": [ + -1, + 88 + ], + "'REC": [ + -1, + 88 + ], + "'WHEN": [ + -1, + 88 + ], + "'PLUS": [ + -1, + 88 + ], + "'DASH": [ + -1, + 88 + ], + "'SLASH": [ + -1, + 88 + ], + "'LEQ": [ + -1, + 88 + ], + "'GEQ": [ + -1, + 88 + ], + "'EQUALEQUAL": [ + -1, + 88 + ], + "'SPACESHIP": [ + -1, + 88 + ], + "'EQUALTILDE": [ + -1, + 88 + ], + "'NEQ": [ + -1, + 88 + ], + "'AND": [ + -1, + 88 + ], + "'OR": [ + -1, + 88 + ], + "'CARET": [ + -1, + 88 + ], + "'IS": [ + -1, + 88 + ], + "'ISEQUALEQUAL": [ + -1, + 88 + ], + "'ISEQUALTILDE": [ + -1, + 88 + ], + "'ISSPACESHIP": [ + -1, + 88 + ], + "'ISROUGHLY": [ + -1, + 88 + ], + "'ISNOT": [ + -1, + 88 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 88 + ], + "'ISNOTEQUALTILDE": [ + -1, + 88 + ], + "'ISNOTSPACESHIP": [ + -1, + 88 + ], + "'RAISES": [ + -1, + 88 + ], + "'RAISESOTHER": [ + -1, + 88 + ], + "'SATISFIES": [ + -1, + 88 + ], + "'SATISFIESNOT": [ + -1, + 88 + ], + "'RAISESSATISFIES": [ + -1, + 88 + ], + "'RAISESVIOLATES": [ + -1, + 88 + ], + "'RAISESNOT": [ + -1, + 88 + ], + "'DOTDOTDOT": [ + -1, + 88 + ], + "'NUMBER": [ + -1, + 88 + ], + "'RATIONAL": [ + -1, + 88 + ], + "'ROUGHRATIONAL": [ + -1, + 88 + ], + "'TRUE": [ + -1, + 88 + ], + "'FALSE": [ + -1, + 88 + ], + "'LAM": [ + -1, + 88 + ], + "'METHOD": [ + -1, + 88 + ], + "'LBRACK": [ + -1, + 88 + ], + "'RBRACK": [ + -1, + 88 + ], + "'TABLE": [ + -1, + 88 + ], + "'ROW": [ + -1, + 88 + ], + "'REACTOR": [ + -1, + 88 + ], + "'BANG": [ + -1, + 88 + ], + "'IF": [ + -1, + 88 + ], + "'ELSECOLON": [ + -1, + 88 + ], + "'ELSEIF": [ + -1, + 88 + ], + "'ASK": [ + -1, + 88 + ], + "'THENCOLON": [ + -1, + 88 + ], + "'CASES": [ + -1, + 88 + ], + "'FOR": [ + -1, + 88 + ], + "'TABLE-SELECT": [ + -1, + 88 + ], + "'TABLE-FILTER": [ + -1, + 88 + ], + "'USING": [ + -1, + 88 + ], + "'TABLE-ORDER": [ + -1, + 88 + ], + "'TABLE-EXTRACT": [ + -1, + 88 + ], + "'TABLE-UPDATE": [ + -1, + 88 + ], + "'TABLE-EXTEND": [ + -1, + 88 + ], + "'OF": [ + -1, + 88 + ], + "'LOAD-TABLE": [ + -1, + 88 + ], + "'SOURCECOLON": [ + -1, + 88 + ], + "'SANITIZE": [ + -1, + 88 + ] + }, + { + "let-expr": [ + 187 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "$": [ + -1, + 90 + ], + "'NAME": [ + -1, + 90 + ], + "'COLON": [ + -1, + 90 + ], + "'END": [ + -1, + 90 + ], + "'COMMA": [ + -1, + 90 + ], + "'PARENNOSPACE": [ + -1, + 90 + ], + "'STRING": [ + -1, + 90 + ], + "'RPAREN": [ + -1, + 90 + ], + "'TYPE": [ + -1, + 90 + ], + "'DATA": [ + -1, + 90 + ], + "'TIMES": [ + -1, + 90 + ], + "'PARENSPACE": [ + -1, + 90 + ], + "'DOT": [ + -1, + 90 + ], + "'SPY": [ + -1, + 90 + ], + "'NEWTYPE": [ + -1, + 90 + ], + "'LBRACE": [ + -1, + 90 + ], + "'RBRACE": [ + -1, + 90 + ], + "'SEMI": [ + -1, + 90 + ], + "'SHADOW": [ + -1, + 90 + ], + "'LET": [ + -1, + 90 + ], + "'BLOCK": [ + -1, + 90 + ], + "'LETREC": [ + -1, + 90 + ], + "'TYPE-LET": [ + -1, + 90 + ], + "'FUN": [ + -1, + 90 + ], + "'LANGLE": [ + -1, + 90 + ], + "'LT": [ + -1, + 90 + ], + "'GT": [ + -1, + 90 + ], + "'PARENAFTERBRACE": [ + -1, + 90 + ], + "'WHERE": [ + -1, + 90 + ], + "'CHECK": [ + -1, + 90 + ], + "'EXAMPLES": [ + -1, + 90 + ], + "'CHECKCOLON": [ + -1, + 90 + ], + "'EXAMPLESCOLON": [ + -1, + 90 + ], + "'BECAUSE": [ + -1, + 90 + ], + "'BAR": [ + -1, + 90 + ], + "'SHARING": [ + -1, + 90 + ], + "'VAR": [ + -1, + 90 + ], + "'REC": [ + -1, + 90 + ], + "'WHEN": [ + -1, + 90 + ], + "'PLUS": [ + -1, + 90 + ], + "'DASH": [ + -1, + 90 + ], + "'SLASH": [ + -1, + 90 + ], + "'LEQ": [ + -1, + 90 + ], + "'GEQ": [ + -1, + 90 + ], + "'EQUALEQUAL": [ + -1, + 90 + ], + "'SPACESHIP": [ + -1, + 90 + ], + "'EQUALTILDE": [ + -1, + 90 + ], + "'NEQ": [ + -1, + 90 + ], + "'AND": [ + -1, + 90 + ], + "'OR": [ + -1, + 90 + ], + "'CARET": [ + -1, + 90 + ], + "'IS": [ + -1, + 90 + ], + "'ISEQUALEQUAL": [ + -1, + 90 + ], + "'ISEQUALTILDE": [ + -1, + 90 + ], + "'ISSPACESHIP": [ + -1, + 90 + ], + "'ISROUGHLY": [ + -1, + 90 + ], + "'ISNOT": [ + -1, + 90 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 90 + ], + "'ISNOTEQUALTILDE": [ + -1, + 90 + ], + "'ISNOTSPACESHIP": [ + -1, + 90 + ], + "'RAISES": [ + -1, + 90 + ], + "'RAISESOTHER": [ + -1, + 90 + ], + "'SATISFIES": [ + -1, + 90 + ], + "'SATISFIESNOT": [ + -1, + 90 + ], + "'RAISESSATISFIES": [ + -1, + 90 + ], + "'RAISESVIOLATES": [ + -1, + 90 + ], + "'RAISESNOT": [ + -1, + 90 + ], + "'DOTDOTDOT": [ + -1, + 90 + ], + "'NUMBER": [ + -1, + 90 + ], + "'RATIONAL": [ + -1, + 90 + ], + "'ROUGHRATIONAL": [ + -1, + 90 + ], + "'TRUE": [ + -1, + 90 + ], + "'FALSE": [ + -1, + 90 + ], + "'LAM": [ + -1, + 90 + ], + "'METHOD": [ + -1, + 90 + ], + "'LBRACK": [ + -1, + 90 + ], + "'RBRACK": [ + -1, + 90 + ], + "'TABLE": [ + -1, + 90 + ], + "'ROW": [ + -1, + 90 + ], + "'REACTOR": [ + -1, + 90 + ], + "'BANG": [ + -1, + 90 + ], + "'IF": [ + -1, + 90 + ], + "'ELSECOLON": [ + -1, + 90 + ], + "'ELSEIF": [ + -1, + 90 + ], + "'ASK": [ + -1, + 90 + ], + "'THENCOLON": [ + -1, + 90 + ], + "'CASES": [ + -1, + 90 + ], + "'FOR": [ + -1, + 90 + ], + "'TABLE-SELECT": [ + -1, + 90 + ], + "'TABLE-FILTER": [ + -1, + 90 + ], + "'USING": [ + -1, + 90 + ], + "'TABLE-ORDER": [ + -1, + 90 + ], + "'TABLE-EXTRACT": [ + -1, + 90 + ], + "'TABLE-UPDATE": [ + -1, + 90 + ], + "'TABLE-EXTEND": [ + -1, + 90 + ], + "'OF": [ + -1, + 90 + ], + "'LOAD-TABLE": [ + -1, + 90 + ], + "'SOURCECOLON": [ + -1, + 90 + ], + "'SANITIZE": [ + -1, + 90 + ] + }, + { + "'NAME": [ + 188 + ], + "'NEWTYPE": [ + 189 + ], + "type-bind": [ + 190 + ], + "newtype-bind": [ + 191 + ], + "type-let-bind": [ + 192 + ] + }, + { + "'NAME": [ + 193 + ] + }, + { + "'NAME": [ + -1, + 92 + ], + "'STRING": [ + -1, + 92 + ], + "'PARENSPACE": [ + -1, + 92 + ], + "'LBRACE": [ + -1, + 92 + ], + "'LET": [ + -1, + 92 + ], + "'BLOCK": [ + -1, + 92 + ], + "'LETREC": [ + -1, + 92 + ], + "'TYPE-LET": [ + -1, + 92 + ], + "'PARENAFTERBRACE": [ + -1, + 92 + ], + "'DOTDOTDOT": [ + -1, + 92 + ], + "'NUMBER": [ + -1, + 92 + ], + "'RATIONAL": [ + -1, + 92 + ], + "'ROUGHRATIONAL": [ + -1, + 92 + ], + "'TRUE": [ + -1, + 92 + ], + "'FALSE": [ + -1, + 92 + ], + "'LAM": [ + -1, + 92 + ], + "'METHOD": [ + -1, + 92 + ], + "'LBRACK": [ + -1, + 92 + ], + "'TABLE": [ + -1, + 92 + ], + "'REACTOR": [ + -1, + 92 + ], + "'IF": [ + -1, + 92 + ], + "'ASK": [ + -1, + 92 + ], + "'CASES": [ + -1, + 92 + ], + "'FOR": [ + -1, + 92 + ], + "'TABLE-SELECT": [ + -1, + 92 + ], + "'TABLE-FILTER": [ + -1, + 92 + ], + "'TABLE-ORDER": [ + -1, + 92 + ], + "'TABLE-EXTRACT": [ + -1, + 92 + ], + "'TABLE-UPDATE": [ + -1, + 92 + ], + "'TABLE-EXTEND": [ + -1, + 92 + ], + "'LOAD-TABLE": [ + -1, + 92 + ] + }, + { + "'STRING": [ + 194 + ] + }, + { + "'STRING": [ + -1, + 94 + ] + }, + { + "'STRING": [ + -1, + 96 + ] + }, + { + "block": [ + 195 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + -1, + 98 + ], + "'END": [ + -1, + 98 + ], + "'STRING": [ + -1, + 98 + ], + "'TYPE": [ + -1, + 98 + ], + "'DATA": [ + -1, + 98 + ], + "'PARENSPACE": [ + -1, + 98 + ], + "'SPY": [ + -1, + 98 + ], + "'NEWTYPE": [ + -1, + 98 + ], + "'LBRACE": [ + -1, + 98 + ], + "'SHADOW": [ + -1, + 98 + ], + "'LET": [ + -1, + 98 + ], + "'BLOCK": [ + -1, + 98 + ], + "'LETREC": [ + -1, + 98 + ], + "'TYPE-LET": [ + -1, + 98 + ], + "'FUN": [ + -1, + 98 + ], + "'PARENAFTERBRACE": [ + -1, + 98 + ], + "'CHECK": [ + -1, + 98 + ], + "'EXAMPLES": [ + -1, + 98 + ], + "'CHECKCOLON": [ + -1, + 98 + ], + "'EXAMPLESCOLON": [ + -1, + 98 + ], + "'VAR": [ + -1, + 98 + ], + "'REC": [ + -1, + 98 + ], + "'WHEN": [ + -1, + 98 + ], + "'DOTDOTDOT": [ + -1, + 98 + ], + "'NUMBER": [ + -1, + 98 + ], + "'RATIONAL": [ + -1, + 98 + ], + "'ROUGHRATIONAL": [ + -1, + 98 + ], + "'TRUE": [ + -1, + 98 + ], + "'FALSE": [ + -1, + 98 + ], + "'LAM": [ + -1, + 98 + ], + "'METHOD": [ + -1, + 98 + ], + "'LBRACK": [ + -1, + 98 + ], + "'TABLE": [ + -1, + 98 + ], + "'REACTOR": [ + -1, + 98 + ], + "'IF": [ + -1, + 98 + ], + "'ASK": [ + -1, + 98 + ], + "'CASES": [ + -1, + 98 + ], + "'FOR": [ + -1, + 98 + ], + "'TABLE-SELECT": [ + -1, + 98 + ], + "'TABLE-FILTER": [ + -1, + 98 + ], + "'TABLE-ORDER": [ + -1, + 98 + ], + "'TABLE-EXTRACT": [ + -1, + 98 + ], + "'TABLE-UPDATE": [ + -1, + 98 + ], + "'TABLE-EXTEND": [ + -1, + 98 + ], + "'LOAD-TABLE": [ + -1, + 98 + ] + }, + { + "'NAME": [ + -1, + 100 + ], + "'END": [ + -1, + 100 + ], + "'STRING": [ + -1, + 100 + ], + "'TYPE": [ + -1, + 100 + ], + "'DATA": [ + -1, + 100 + ], + "'PARENSPACE": [ + -1, + 100 + ], + "'SPY": [ + -1, + 100 + ], + "'NEWTYPE": [ + -1, + 100 + ], + "'LBRACE": [ + -1, + 100 + ], + "'SHADOW": [ + -1, + 100 + ], + "'LET": [ + -1, + 100 + ], + "'BLOCK": [ + -1, + 100 + ], + "'LETREC": [ + -1, + 100 + ], + "'TYPE-LET": [ + -1, + 100 + ], + "'FUN": [ + -1, + 100 + ], + "'PARENAFTERBRACE": [ + -1, + 100 + ], + "'CHECK": [ + -1, + 100 + ], + "'EXAMPLES": [ + -1, + 100 + ], + "'CHECKCOLON": [ + -1, + 100 + ], + "'EXAMPLESCOLON": [ + -1, + 100 + ], + "'VAR": [ + -1, + 100 + ], + "'REC": [ + -1, + 100 + ], + "'WHEN": [ + -1, + 100 + ], + "'DOTDOTDOT": [ + -1, + 100 + ], + "'NUMBER": [ + -1, + 100 + ], + "'RATIONAL": [ + -1, + 100 + ], + "'ROUGHRATIONAL": [ + -1, + 100 + ], + "'TRUE": [ + -1, + 100 + ], + "'FALSE": [ + -1, + 100 + ], + "'LAM": [ + -1, + 100 + ], + "'METHOD": [ + -1, + 100 + ], + "'LBRACK": [ + -1, + 100 + ], + "'TABLE": [ + -1, + 100 + ], + "'REACTOR": [ + -1, + 100 + ], + "'IF": [ + -1, + 100 + ], + "'ASK": [ + -1, + 100 + ], + "'CASES": [ + -1, + 100 + ], + "'FOR": [ + -1, + 100 + ], + "'TABLE-SELECT": [ + -1, + 100 + ], + "'TABLE-FILTER": [ + -1, + 100 + ], + "'TABLE-ORDER": [ + -1, + 100 + ], + "'TABLE-EXTRACT": [ + -1, + 100 + ], + "'TABLE-UPDATE": [ + -1, + 100 + ], + "'TABLE-EXTEND": [ + -1, + 100 + ], + "'LOAD-TABLE": [ + -1, + 100 + ] + }, + { + "toplevel-binding": [ + 196 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "toplevel-binding": [ + 197 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 198 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200, + 102, + 104 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "binop-expr_I1*": [ + 203 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205, + 102, + 104 + ], + "'BANG": [ + 206 + ], + "$": [ + -1, + 102, + 104 + ], + "'NAME": [ + -1, + 102, + 104 + ], + "'COLON": [ + -1, + 102, + 104 + ], + "'END": [ + -1, + 102, + 104 + ], + "'COMMA": [ + -1, + 102, + 104 + ], + "'STRING": [ + -1, + 102, + 104 + ], + "'RPAREN": [ + -1, + 102, + 104 + ], + "'TYPE": [ + -1, + 102, + 104 + ], + "'DATA": [ + -1, + 102, + 104 + ], + "'TIMES": [ + -1, + 104 + ], + "'SPY": [ + -1, + 102, + 104 + ], + "'NEWTYPE": [ + -1, + 102, + 104 + ], + "'LBRACE": [ + -1, + 102, + 104 + ], + "'RBRACE": [ + -1, + 102, + 104 + ], + "'SEMI": [ + -1, + 102, + 104 + ], + "'SHADOW": [ + -1, + 102, + 104 + ], + "'LET": [ + -1, + 102, + 104 + ], + "'BLOCK": [ + -1, + 102, + 104 + ], + "'LETREC": [ + -1, + 102, + 104 + ], + "'TYPE-LET": [ + -1, + 102, + 104 + ], + "'FUN": [ + -1, + 102, + 104 + ], + "'LT": [ + -1, + 104 + ], + "'GT": [ + -1, + 104 + ], + "'PARENAFTERBRACE": [ + -1, + 102, + 104 + ], + "'WHERE": [ + -1, + 102, + 104 + ], + "'CHECK": [ + -1, + 102, + 104 + ], + "'EXAMPLES": [ + -1, + 102, + 104 + ], + "'CHECKCOLON": [ + -1, + 102, + 104 + ], + "'EXAMPLESCOLON": [ + -1, + 102, + 104 + ], + "'BECAUSE": [ + -1, + 102, + 104 + ], + "'BAR": [ + -1, + 102, + 104 + ], + "'SHARING": [ + -1, + 102, + 104 + ], + "'VAR": [ + -1, + 102, + 104 + ], + "'REC": [ + -1, + 102, + 104 + ], + "'WHEN": [ + -1, + 102, + 104 + ], + "'PLUS": [ + -1, + 104 + ], + "'DASH": [ + -1, + 104 + ], + "'SLASH": [ + -1, + 104 + ], + "'LEQ": [ + -1, + 104 + ], + "'GEQ": [ + -1, + 104 + ], + "'EQUALEQUAL": [ + -1, + 104 + ], + "'SPACESHIP": [ + -1, + 104 + ], + "'EQUALTILDE": [ + -1, + 104 + ], + "'NEQ": [ + -1, + 104 + ], + "'AND": [ + -1, + 104 + ], + "'OR": [ + -1, + 104 + ], + "'CARET": [ + -1, + 104 + ], + "'IS": [ + -1, + 102, + 104 + ], + "'ISEQUALEQUAL": [ + -1, + 102, + 104 + ], + "'ISEQUALTILDE": [ + -1, + 102, + 104 + ], + "'ISSPACESHIP": [ + -1, + 102, + 104 + ], + "'ISROUGHLY": [ + -1, + 102, + 104 + ], + "'ISNOT": [ + -1, + 102, + 104 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 102, + 104 + ], + "'ISNOTEQUALTILDE": [ + -1, + 102, + 104 + ], + "'ISNOTSPACESHIP": [ + -1, + 102, + 104 + ], + "'RAISES": [ + -1, + 102, + 104 + ], + "'RAISESOTHER": [ + -1, + 102, + 104 + ], + "'SATISFIES": [ + -1, + 102, + 104 + ], + "'SATISFIESNOT": [ + -1, + 102, + 104 + ], + "'RAISESSATISFIES": [ + -1, + 102, + 104 + ], + "'RAISESVIOLATES": [ + -1, + 102, + 104 + ], + "'RAISESNOT": [ + -1, + 102, + 104 + ], + "'DOTDOTDOT": [ + -1, + 102, + 104 + ], + "'NUMBER": [ + -1, + 102, + 104 + ], + "'RATIONAL": [ + -1, + 102, + 104 + ], + "'ROUGHRATIONAL": [ + -1, + 102, + 104 + ], + "'TRUE": [ + -1, + 102, + 104 + ], + "'FALSE": [ + -1, + 102, + 104 + ], + "'LAM": [ + -1, + 102, + 104 + ], + "'METHOD": [ + -1, + 102, + 104 + ], + "'RBRACK": [ + -1, + 102, + 104 + ], + "'TABLE": [ + -1, + 102, + 104 + ], + "'ROW": [ + -1, + 102, + 104 + ], + "'REACTOR": [ + -1, + 102, + 104 + ], + "'IF": [ + -1, + 102, + 104 + ], + "'ELSECOLON": [ + -1, + 102, + 104 + ], + "'ELSEIF": [ + -1, + 102, + 104 + ], + "'ASK": [ + -1, + 102, + 104 + ], + "'THENCOLON": [ + -1, + 102, + 104 + ], + "'CASES": [ + -1, + 102, + 104 + ], + "'FOR": [ + -1, + 102, + 104 + ], + "'TABLE-SELECT": [ + -1, + 102, + 104 + ], + "'TABLE-FILTER": [ + -1, + 102, + 104 + ], + "'TABLE-ORDER": [ + -1, + 102, + 104 + ], + "'TABLE-EXTRACT": [ + -1, + 102, + 104 + ], + "'TABLE-UPDATE": [ + -1, + 102, + 104 + ], + "'TABLE-EXTEND": [ + -1, + 102, + 104 + ], + "'LOAD-TABLE": [ + -1, + 102, + 104 + ] + }, + { + "$": [ + -1, + 106 + ], + "'NAME": [ + -1, + 106 + ], + "'COLON": [ + -1, + 106 + ], + "'END": [ + -1, + 106 + ], + "'COMMA": [ + -1, + 106 + ], + "'PARENNOSPACE": [ + -1, + 106 + ], + "'STRING": [ + -1, + 106 + ], + "'RPAREN": [ + -1, + 106 + ], + "'TYPE": [ + -1, + 106 + ], + "'DATA": [ + -1, + 106 + ], + "'TIMES": [ + -1, + 106 + ], + "'PARENSPACE": [ + -1, + 106 + ], + "'DOT": [ + -1, + 106 + ], + "'SPY": [ + -1, + 106 + ], + "'NEWTYPE": [ + -1, + 106 + ], + "'LBRACE": [ + -1, + 106 + ], + "'RBRACE": [ + -1, + 106 + ], + "'SEMI": [ + -1, + 106 + ], + "'SHADOW": [ + -1, + 106 + ], + "'LET": [ + -1, + 106 + ], + "'BLOCK": [ + -1, + 106 + ], + "'LETREC": [ + -1, + 106 + ], + "'TYPE-LET": [ + -1, + 106 + ], + "'FUN": [ + -1, + 106 + ], + "'LANGLE": [ + -1, + 106 + ], + "'LT": [ + -1, + 106 + ], + "'GT": [ + -1, + 106 + ], + "'PARENAFTERBRACE": [ + -1, + 106 + ], + "'WHERE": [ + -1, + 106 + ], + "'CHECK": [ + -1, + 106 + ], + "'EXAMPLES": [ + -1, + 106 + ], + "'CHECKCOLON": [ + -1, + 106 + ], + "'EXAMPLESCOLON": [ + -1, + 106 + ], + "'BECAUSE": [ + -1, + 106 + ], + "'BAR": [ + -1, + 106 + ], + "'SHARING": [ + -1, + 106 + ], + "'VAR": [ + -1, + 106 + ], + "'REC": [ + -1, + 106 + ], + "'WHEN": [ + -1, + 106 + ], + "'PLUS": [ + -1, + 106 + ], + "'DASH": [ + -1, + 106 + ], + "'SLASH": [ + -1, + 106 + ], + "'LEQ": [ + -1, + 106 + ], + "'GEQ": [ + -1, + 106 + ], + "'EQUALEQUAL": [ + -1, + 106 + ], + "'SPACESHIP": [ + -1, + 106 + ], + "'EQUALTILDE": [ + -1, + 106 + ], + "'NEQ": [ + -1, + 106 + ], + "'AND": [ + -1, + 106 + ], + "'OR": [ + -1, + 106 + ], + "'CARET": [ + -1, + 106 + ], + "'IS": [ + -1, + 106 + ], + "'ISEQUALEQUAL": [ + -1, + 106 + ], + "'ISEQUALTILDE": [ + -1, + 106 + ], + "'ISSPACESHIP": [ + -1, + 106 + ], + "'ISROUGHLY": [ + -1, + 106 + ], + "'ISNOT": [ + -1, + 106 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 106 + ], + "'ISNOTEQUALTILDE": [ + -1, + 106 + ], + "'ISNOTSPACESHIP": [ + -1, + 106 + ], + "'RAISES": [ + -1, + 106 + ], + "'RAISESOTHER": [ + -1, + 106 + ], + "'SATISFIES": [ + -1, + 106 + ], + "'SATISFIESNOT": [ + -1, + 106 + ], + "'RAISESSATISFIES": [ + -1, + 106 + ], + "'RAISESVIOLATES": [ + -1, + 106 + ], + "'RAISESNOT": [ + -1, + 106 + ], + "'DOTDOTDOT": [ + -1, + 106 + ], + "'NUMBER": [ + -1, + 106 + ], + "'RATIONAL": [ + -1, + 106 + ], + "'ROUGHRATIONAL": [ + -1, + 106 + ], + "'TRUE": [ + -1, + 106 + ], + "'FALSE": [ + -1, + 106 + ], + "'LAM": [ + -1, + 106 + ], + "'METHOD": [ + -1, + 106 + ], + "'LBRACK": [ + -1, + 106 + ], + "'RBRACK": [ + -1, + 106 + ], + "'TABLE": [ + -1, + 106 + ], + "'ROW": [ + -1, + 106 + ], + "'REACTOR": [ + -1, + 106 + ], + "'BANG": [ + -1, + 106 + ], + "'IF": [ + -1, + 106 + ], + "'ELSECOLON": [ + -1, + 106 + ], + "'ELSEIF": [ + -1, + 106 + ], + "'ASK": [ + -1, + 106 + ], + "'THENCOLON": [ + -1, + 106 + ], + "'CASES": [ + -1, + 106 + ], + "'FOR": [ + -1, + 106 + ], + "'TABLE-SELECT": [ + -1, + 106 + ], + "'TABLE-FILTER": [ + -1, + 106 + ], + "'USING": [ + -1, + 106 + ], + "'TABLE-ORDER": [ + -1, + 106 + ], + "'TABLE-EXTRACT": [ + -1, + 106 + ], + "'TABLE-UPDATE": [ + -1, + 106 + ], + "'TABLE-EXTEND": [ + -1, + 106 + ], + "'OF": [ + -1, + 106 + ], + "'LOAD-TABLE": [ + -1, + 106 + ], + "'SOURCECOLON": [ + -1, + 106 + ], + "'SANITIZE": [ + -1, + 106 + ] + }, + { + "$": [ + -1, + 108 + ], + "'NAME": [ + -1, + 108 + ], + "'COLON": [ + -1, + 108 + ], + "'END": [ + -1, + 108 + ], + "'COMMA": [ + -1, + 108 + ], + "'PARENNOSPACE": [ + -1, + 108 + ], + "'STRING": [ + -1, + 108 + ], + "'RPAREN": [ + -1, + 108 + ], + "'TYPE": [ + -1, + 108 + ], + "'DATA": [ + -1, + 108 + ], + "'TIMES": [ + -1, + 108 + ], + "'PARENSPACE": [ + -1, + 108 + ], + "'DOT": [ + -1, + 108 + ], + "'SPY": [ + -1, + 108 + ], + "'NEWTYPE": [ + -1, + 108 + ], + "'LBRACE": [ + -1, + 108 + ], + "'RBRACE": [ + -1, + 108 + ], + "'SEMI": [ + -1, + 108 + ], + "'SHADOW": [ + -1, + 108 + ], + "'LET": [ + -1, + 108 + ], + "'BLOCK": [ + -1, + 108 + ], + "'LETREC": [ + -1, + 108 + ], + "'TYPE-LET": [ + -1, + 108 + ], + "'FUN": [ + -1, + 108 + ], + "'LANGLE": [ + -1, + 108 + ], + "'LT": [ + -1, + 108 + ], + "'GT": [ + -1, + 108 + ], + "'PARENAFTERBRACE": [ + -1, + 108 + ], + "'WHERE": [ + -1, + 108 + ], + "'CHECK": [ + -1, + 108 + ], + "'EXAMPLES": [ + -1, + 108 + ], + "'CHECKCOLON": [ + -1, + 108 + ], + "'EXAMPLESCOLON": [ + -1, + 108 + ], + "'BECAUSE": [ + -1, + 108 + ], + "'BAR": [ + -1, + 108 + ], + "'SHARING": [ + -1, + 108 + ], + "'VAR": [ + -1, + 108 + ], + "'REC": [ + -1, + 108 + ], + "'WHEN": [ + -1, + 108 + ], + "'PLUS": [ + -1, + 108 + ], + "'DASH": [ + -1, + 108 + ], + "'SLASH": [ + -1, + 108 + ], + "'LEQ": [ + -1, + 108 + ], + "'GEQ": [ + -1, + 108 + ], + "'EQUALEQUAL": [ + -1, + 108 + ], + "'SPACESHIP": [ + -1, + 108 + ], + "'EQUALTILDE": [ + -1, + 108 + ], + "'NEQ": [ + -1, + 108 + ], + "'AND": [ + -1, + 108 + ], + "'OR": [ + -1, + 108 + ], + "'CARET": [ + -1, + 108 + ], + "'IS": [ + -1, + 108 + ], + "'ISEQUALEQUAL": [ + -1, + 108 + ], + "'ISEQUALTILDE": [ + -1, + 108 + ], + "'ISSPACESHIP": [ + -1, + 108 + ], + "'ISROUGHLY": [ + -1, + 108 + ], + "'ISNOT": [ + -1, + 108 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 108 + ], + "'ISNOTEQUALTILDE": [ + -1, + 108 + ], + "'ISNOTSPACESHIP": [ + -1, + 108 + ], + "'RAISES": [ + -1, + 108 + ], + "'RAISESOTHER": [ + -1, + 108 + ], + "'SATISFIES": [ + -1, + 108 + ], + "'SATISFIESNOT": [ + -1, + 108 + ], + "'RAISESSATISFIES": [ + -1, + 108 + ], + "'RAISESVIOLATES": [ + -1, + 108 + ], + "'RAISESNOT": [ + -1, + 108 + ], + "'DOTDOTDOT": [ + -1, + 108 + ], + "'NUMBER": [ + -1, + 108 + ], + "'RATIONAL": [ + -1, + 108 + ], + "'ROUGHRATIONAL": [ + -1, + 108 + ], + "'TRUE": [ + -1, + 108 + ], + "'FALSE": [ + -1, + 108 + ], + "'LAM": [ + -1, + 108 + ], + "'METHOD": [ + -1, + 108 + ], + "'LBRACK": [ + -1, + 108 + ], + "'RBRACK": [ + -1, + 108 + ], + "'TABLE": [ + -1, + 108 + ], + "'ROW": [ + -1, + 108 + ], + "'REACTOR": [ + -1, + 108 + ], + "'BANG": [ + -1, + 108 + ], + "'IF": [ + -1, + 108 + ], + "'ELSECOLON": [ + -1, + 108 + ], + "'ELSEIF": [ + -1, + 108 + ], + "'ASK": [ + -1, + 108 + ], + "'THENCOLON": [ + -1, + 108 + ], + "'CASES": [ + -1, + 108 + ], + "'FOR": [ + -1, + 108 + ], + "'TABLE-SELECT": [ + -1, + 108 + ], + "'TABLE-FILTER": [ + -1, + 108 + ], + "'USING": [ + -1, + 108 + ], + "'TABLE-ORDER": [ + -1, + 108 + ], + "'TABLE-EXTRACT": [ + -1, + 108 + ], + "'TABLE-UPDATE": [ + -1, + 108 + ], + "'TABLE-EXTEND": [ + -1, + 108 + ], + "'OF": [ + -1, + 108 + ], + "'LOAD-TABLE": [ + -1, + 108 + ], + "'SOURCECOLON": [ + -1, + 108 + ], + "'SANITIZE": [ + -1, + 108 + ] + }, + { + "$": [ + -1, + 110 + ], + "'NAME": [ + -1, + 110 + ], + "'COLON": [ + -1, + 110 + ], + "'END": [ + -1, + 110 + ], + "'COMMA": [ + -1, + 110 + ], + "'PARENNOSPACE": [ + -1, + 110 + ], + "'STRING": [ + -1, + 110 + ], + "'RPAREN": [ + -1, + 110 + ], + "'TYPE": [ + -1, + 110 + ], + "'DATA": [ + -1, + 110 + ], + "'TIMES": [ + -1, + 110 + ], + "'PARENSPACE": [ + -1, + 110 + ], + "'DOT": [ + -1, + 110 + ], + "'SPY": [ + -1, + 110 + ], + "'NEWTYPE": [ + -1, + 110 + ], + "'LBRACE": [ + -1, + 110 + ], + "'RBRACE": [ + -1, + 110 + ], + "'SEMI": [ + -1, + 110 + ], + "'SHADOW": [ + -1, + 110 + ], + "'LET": [ + -1, + 110 + ], + "'BLOCK": [ + -1, + 110 + ], + "'LETREC": [ + -1, + 110 + ], + "'TYPE-LET": [ + -1, + 110 + ], + "'FUN": [ + -1, + 110 + ], + "'LANGLE": [ + -1, + 110 + ], + "'LT": [ + -1, + 110 + ], + "'GT": [ + -1, + 110 + ], + "'PARENAFTERBRACE": [ + -1, + 110 + ], + "'WHERE": [ + -1, + 110 + ], + "'CHECK": [ + -1, + 110 + ], + "'EXAMPLES": [ + -1, + 110 + ], + "'CHECKCOLON": [ + -1, + 110 + ], + "'EXAMPLESCOLON": [ + -1, + 110 + ], + "'BECAUSE": [ + -1, + 110 + ], + "'BAR": [ + -1, + 110 + ], + "'SHARING": [ + -1, + 110 + ], + "'VAR": [ + -1, + 110 + ], + "'REC": [ + -1, + 110 + ], + "'WHEN": [ + -1, + 110 + ], + "'PLUS": [ + -1, + 110 + ], + "'DASH": [ + -1, + 110 + ], + "'SLASH": [ + -1, + 110 + ], + "'LEQ": [ + -1, + 110 + ], + "'GEQ": [ + -1, + 110 + ], + "'EQUALEQUAL": [ + -1, + 110 + ], + "'SPACESHIP": [ + -1, + 110 + ], + "'EQUALTILDE": [ + -1, + 110 + ], + "'NEQ": [ + -1, + 110 + ], + "'AND": [ + -1, + 110 + ], + "'OR": [ + -1, + 110 + ], + "'CARET": [ + -1, + 110 + ], + "'IS": [ + -1, + 110 + ], + "'ISEQUALEQUAL": [ + -1, + 110 + ], + "'ISEQUALTILDE": [ + -1, + 110 + ], + "'ISSPACESHIP": [ + -1, + 110 + ], + "'ISROUGHLY": [ + -1, + 110 + ], + "'ISNOT": [ + -1, + 110 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 110 + ], + "'ISNOTEQUALTILDE": [ + -1, + 110 + ], + "'ISNOTSPACESHIP": [ + -1, + 110 + ], + "'RAISES": [ + -1, + 110 + ], + "'RAISESOTHER": [ + -1, + 110 + ], + "'SATISFIES": [ + -1, + 110 + ], + "'SATISFIESNOT": [ + -1, + 110 + ], + "'RAISESSATISFIES": [ + -1, + 110 + ], + "'RAISESVIOLATES": [ + -1, + 110 + ], + "'RAISESNOT": [ + -1, + 110 + ], + "'DOTDOTDOT": [ + -1, + 110 + ], + "'NUMBER": [ + -1, + 110 + ], + "'RATIONAL": [ + -1, + 110 + ], + "'ROUGHRATIONAL": [ + -1, + 110 + ], + "'TRUE": [ + -1, + 110 + ], + "'FALSE": [ + -1, + 110 + ], + "'LAM": [ + -1, + 110 + ], + "'METHOD": [ + -1, + 110 + ], + "'LBRACK": [ + -1, + 110 + ], + "'RBRACK": [ + -1, + 110 + ], + "'TABLE": [ + -1, + 110 + ], + "'ROW": [ + -1, + 110 + ], + "'REACTOR": [ + -1, + 110 + ], + "'BANG": [ + -1, + 110 + ], + "'IF": [ + -1, + 110 + ], + "'ELSECOLON": [ + -1, + 110 + ], + "'ELSEIF": [ + -1, + 110 + ], + "'ASK": [ + -1, + 110 + ], + "'THENCOLON": [ + -1, + 110 + ], + "'CASES": [ + -1, + 110 + ], + "'FOR": [ + -1, + 110 + ], + "'TABLE-SELECT": [ + -1, + 110 + ], + "'TABLE-FILTER": [ + -1, + 110 + ], + "'USING": [ + -1, + 110 + ], + "'TABLE-ORDER": [ + -1, + 110 + ], + "'TABLE-EXTRACT": [ + -1, + 110 + ], + "'TABLE-UPDATE": [ + -1, + 110 + ], + "'TABLE-EXTEND": [ + -1, + 110 + ], + "'OF": [ + -1, + 110 + ], + "'LOAD-TABLE": [ + -1, + 110 + ], + "'SOURCECOLON": [ + -1, + 110 + ], + "'SANITIZE": [ + -1, + 110 + ] + }, + { + "$": [ + -1, + 112 + ], + "'NAME": [ + -1, + 112 + ], + "'COLON": [ + -1, + 112 + ], + "'END": [ + -1, + 112 + ], + "'COMMA": [ + -1, + 112 + ], + "'PARENNOSPACE": [ + -1, + 112 + ], + "'STRING": [ + -1, + 112 + ], + "'RPAREN": [ + -1, + 112 + ], + "'TYPE": [ + -1, + 112 + ], + "'DATA": [ + -1, + 112 + ], + "'TIMES": [ + -1, + 112 + ], + "'PARENSPACE": [ + -1, + 112 + ], + "'DOT": [ + -1, + 112 + ], + "'SPY": [ + -1, + 112 + ], + "'NEWTYPE": [ + -1, + 112 + ], + "'LBRACE": [ + -1, + 112 + ], + "'RBRACE": [ + -1, + 112 + ], + "'SEMI": [ + -1, + 112 + ], + "'SHADOW": [ + -1, + 112 + ], + "'LET": [ + -1, + 112 + ], + "'BLOCK": [ + -1, + 112 + ], + "'LETREC": [ + -1, + 112 + ], + "'TYPE-LET": [ + -1, + 112 + ], + "'FUN": [ + -1, + 112 + ], + "'LANGLE": [ + -1, + 112 + ], + "'LT": [ + -1, + 112 + ], + "'GT": [ + -1, + 112 + ], + "'PARENAFTERBRACE": [ + -1, + 112 + ], + "'WHERE": [ + -1, + 112 + ], + "'CHECK": [ + -1, + 112 + ], + "'EXAMPLES": [ + -1, + 112 + ], + "'CHECKCOLON": [ + -1, + 112 + ], + "'EXAMPLESCOLON": [ + -1, + 112 + ], + "'BECAUSE": [ + -1, + 112 + ], + "'BAR": [ + -1, + 112 + ], + "'SHARING": [ + -1, + 112 + ], + "'VAR": [ + -1, + 112 + ], + "'REC": [ + -1, + 112 + ], + "'WHEN": [ + -1, + 112 + ], + "'PLUS": [ + -1, + 112 + ], + "'DASH": [ + -1, + 112 + ], + "'SLASH": [ + -1, + 112 + ], + "'LEQ": [ + -1, + 112 + ], + "'GEQ": [ + -1, + 112 + ], + "'EQUALEQUAL": [ + -1, + 112 + ], + "'SPACESHIP": [ + -1, + 112 + ], + "'EQUALTILDE": [ + -1, + 112 + ], + "'NEQ": [ + -1, + 112 + ], + "'AND": [ + -1, + 112 + ], + "'OR": [ + -1, + 112 + ], + "'CARET": [ + -1, + 112 + ], + "'IS": [ + -1, + 112 + ], + "'ISEQUALEQUAL": [ + -1, + 112 + ], + "'ISEQUALTILDE": [ + -1, + 112 + ], + "'ISSPACESHIP": [ + -1, + 112 + ], + "'ISROUGHLY": [ + -1, + 112 + ], + "'ISNOT": [ + -1, + 112 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 112 + ], + "'ISNOTEQUALTILDE": [ + -1, + 112 + ], + "'ISNOTSPACESHIP": [ + -1, + 112 + ], + "'RAISES": [ + -1, + 112 + ], + "'RAISESOTHER": [ + -1, + 112 + ], + "'SATISFIES": [ + -1, + 112 + ], + "'SATISFIESNOT": [ + -1, + 112 + ], + "'RAISESSATISFIES": [ + -1, + 112 + ], + "'RAISESVIOLATES": [ + -1, + 112 + ], + "'RAISESNOT": [ + -1, + 112 + ], + "'DOTDOTDOT": [ + -1, + 112 + ], + "'NUMBER": [ + -1, + 112 + ], + "'RATIONAL": [ + -1, + 112 + ], + "'ROUGHRATIONAL": [ + -1, + 112 + ], + "'TRUE": [ + -1, + 112 + ], + "'FALSE": [ + -1, + 112 + ], + "'LAM": [ + -1, + 112 + ], + "'METHOD": [ + -1, + 112 + ], + "'LBRACK": [ + -1, + 112 + ], + "'RBRACK": [ + -1, + 112 + ], + "'TABLE": [ + -1, + 112 + ], + "'ROW": [ + -1, + 112 + ], + "'REACTOR": [ + -1, + 112 + ], + "'BANG": [ + -1, + 112 + ], + "'IF": [ + -1, + 112 + ], + "'ELSECOLON": [ + -1, + 112 + ], + "'ELSEIF": [ + -1, + 112 + ], + "'ASK": [ + -1, + 112 + ], + "'THENCOLON": [ + -1, + 112 + ], + "'CASES": [ + -1, + 112 + ], + "'FOR": [ + -1, + 112 + ], + "'TABLE-SELECT": [ + -1, + 112 + ], + "'TABLE-FILTER": [ + -1, + 112 + ], + "'USING": [ + -1, + 112 + ], + "'TABLE-ORDER": [ + -1, + 112 + ], + "'TABLE-EXTRACT": [ + -1, + 112 + ], + "'TABLE-UPDATE": [ + -1, + 112 + ], + "'TABLE-EXTEND": [ + -1, + 112 + ], + "'OF": [ + -1, + 112 + ], + "'LOAD-TABLE": [ + -1, + 112 + ], + "'SOURCECOLON": [ + -1, + 112 + ], + "'SANITIZE": [ + -1, + 112 + ] + }, + { + "$": [ + -1, + 114 + ], + "'NAME": [ + -1, + 114 + ], + "'COLON": [ + -1, + 114 + ], + "'END": [ + -1, + 114 + ], + "'COMMA": [ + -1, + 114 + ], + "'PARENNOSPACE": [ + -1, + 114 + ], + "'STRING": [ + -1, + 114 + ], + "'RPAREN": [ + -1, + 114 + ], + "'TYPE": [ + -1, + 114 + ], + "'DATA": [ + -1, + 114 + ], + "'TIMES": [ + -1, + 114 + ], + "'PARENSPACE": [ + -1, + 114 + ], + "'DOT": [ + -1, + 114 + ], + "'SPY": [ + -1, + 114 + ], + "'NEWTYPE": [ + -1, + 114 + ], + "'LBRACE": [ + -1, + 114 + ], + "'RBRACE": [ + -1, + 114 + ], + "'SEMI": [ + -1, + 114 + ], + "'SHADOW": [ + -1, + 114 + ], + "'LET": [ + -1, + 114 + ], + "'BLOCK": [ + -1, + 114 + ], + "'LETREC": [ + -1, + 114 + ], + "'TYPE-LET": [ + -1, + 114 + ], + "'FUN": [ + -1, + 114 + ], + "'LANGLE": [ + -1, + 114 + ], + "'LT": [ + -1, + 114 + ], + "'GT": [ + -1, + 114 + ], + "'PARENAFTERBRACE": [ + -1, + 114 + ], + "'WHERE": [ + -1, + 114 + ], + "'CHECK": [ + -1, + 114 + ], + "'EXAMPLES": [ + -1, + 114 + ], + "'CHECKCOLON": [ + -1, + 114 + ], + "'EXAMPLESCOLON": [ + -1, + 114 + ], + "'BECAUSE": [ + -1, + 114 + ], + "'BAR": [ + -1, + 114 + ], + "'SHARING": [ + -1, + 114 + ], + "'VAR": [ + -1, + 114 + ], + "'REC": [ + -1, + 114 + ], + "'WHEN": [ + -1, + 114 + ], + "'PLUS": [ + -1, + 114 + ], + "'DASH": [ + -1, + 114 + ], + "'SLASH": [ + -1, + 114 + ], + "'LEQ": [ + -1, + 114 + ], + "'GEQ": [ + -1, + 114 + ], + "'EQUALEQUAL": [ + -1, + 114 + ], + "'SPACESHIP": [ + -1, + 114 + ], + "'EQUALTILDE": [ + -1, + 114 + ], + "'NEQ": [ + -1, + 114 + ], + "'AND": [ + -1, + 114 + ], + "'OR": [ + -1, + 114 + ], + "'CARET": [ + -1, + 114 + ], + "'IS": [ + -1, + 114 + ], + "'ISEQUALEQUAL": [ + -1, + 114 + ], + "'ISEQUALTILDE": [ + -1, + 114 + ], + "'ISSPACESHIP": [ + -1, + 114 + ], + "'ISROUGHLY": [ + -1, + 114 + ], + "'ISNOT": [ + -1, + 114 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 114 + ], + "'ISNOTEQUALTILDE": [ + -1, + 114 + ], + "'ISNOTSPACESHIP": [ + -1, + 114 + ], + "'RAISES": [ + -1, + 114 + ], + "'RAISESOTHER": [ + -1, + 114 + ], + "'SATISFIES": [ + -1, + 114 + ], + "'SATISFIESNOT": [ + -1, + 114 + ], + "'RAISESSATISFIES": [ + -1, + 114 + ], + "'RAISESVIOLATES": [ + -1, + 114 + ], + "'RAISESNOT": [ + -1, + 114 + ], + "'DOTDOTDOT": [ + -1, + 114 + ], + "'NUMBER": [ + -1, + 114 + ], + "'RATIONAL": [ + -1, + 114 + ], + "'ROUGHRATIONAL": [ + -1, + 114 + ], + "'TRUE": [ + -1, + 114 + ], + "'FALSE": [ + -1, + 114 + ], + "'LAM": [ + -1, + 114 + ], + "'METHOD": [ + -1, + 114 + ], + "'LBRACK": [ + -1, + 114 + ], + "'RBRACK": [ + -1, + 114 + ], + "'TABLE": [ + -1, + 114 + ], + "'ROW": [ + -1, + 114 + ], + "'REACTOR": [ + -1, + 114 + ], + "'BANG": [ + -1, + 114 + ], + "'IF": [ + -1, + 114 + ], + "'ELSECOLON": [ + -1, + 114 + ], + "'ELSEIF": [ + -1, + 114 + ], + "'ASK": [ + -1, + 114 + ], + "'THENCOLON": [ + -1, + 114 + ], + "'CASES": [ + -1, + 114 + ], + "'FOR": [ + -1, + 114 + ], + "'TABLE-SELECT": [ + -1, + 114 + ], + "'TABLE-FILTER": [ + -1, + 114 + ], + "'USING": [ + -1, + 114 + ], + "'TABLE-ORDER": [ + -1, + 114 + ], + "'TABLE-EXTRACT": [ + -1, + 114 + ], + "'TABLE-UPDATE": [ + -1, + 114 + ], + "'TABLE-EXTEND": [ + -1, + 114 + ], + "'OF": [ + -1, + 114 + ], + "'LOAD-TABLE": [ + -1, + 114 + ], + "'SOURCECOLON": [ + -1, + 114 + ], + "'SANITIZE": [ + -1, + 114 + ] + }, + { + "$": [ + -1, + 116 + ], + "'NAME": [ + -1, + 116 + ], + "'COLON": [ + -1, + 116 + ], + "'END": [ + -1, + 116 + ], + "'COMMA": [ + -1, + 116 + ], + "'PARENNOSPACE": [ + -1, + 116 + ], + "'STRING": [ + -1, + 116 + ], + "'RPAREN": [ + -1, + 116 + ], + "'TYPE": [ + -1, + 116 + ], + "'DATA": [ + -1, + 116 + ], + "'TIMES": [ + -1, + 116 + ], + "'PARENSPACE": [ + -1, + 116 + ], + "'DOT": [ + -1, + 116 + ], + "'SPY": [ + -1, + 116 + ], + "'NEWTYPE": [ + -1, + 116 + ], + "'LBRACE": [ + -1, + 116 + ], + "'RBRACE": [ + -1, + 116 + ], + "'SEMI": [ + -1, + 116 + ], + "'SHADOW": [ + -1, + 116 + ], + "'LET": [ + -1, + 116 + ], + "'BLOCK": [ + -1, + 116 + ], + "'LETREC": [ + -1, + 116 + ], + "'TYPE-LET": [ + -1, + 116 + ], + "'FUN": [ + -1, + 116 + ], + "'LANGLE": [ + -1, + 116 + ], + "'LT": [ + -1, + 116 + ], + "'GT": [ + -1, + 116 + ], + "'PARENAFTERBRACE": [ + -1, + 116 + ], + "'WHERE": [ + -1, + 116 + ], + "'CHECK": [ + -1, + 116 + ], + "'EXAMPLES": [ + -1, + 116 + ], + "'CHECKCOLON": [ + -1, + 116 + ], + "'EXAMPLESCOLON": [ + -1, + 116 + ], + "'BECAUSE": [ + -1, + 116 + ], + "'BAR": [ + -1, + 116 + ], + "'SHARING": [ + -1, + 116 + ], + "'VAR": [ + -1, + 116 + ], + "'REC": [ + -1, + 116 + ], + "'WHEN": [ + -1, + 116 + ], + "'PLUS": [ + -1, + 116 + ], + "'DASH": [ + -1, + 116 + ], + "'SLASH": [ + -1, + 116 + ], + "'LEQ": [ + -1, + 116 + ], + "'GEQ": [ + -1, + 116 + ], + "'EQUALEQUAL": [ + -1, + 116 + ], + "'SPACESHIP": [ + -1, + 116 + ], + "'EQUALTILDE": [ + -1, + 116 + ], + "'NEQ": [ + -1, + 116 + ], + "'AND": [ + -1, + 116 + ], + "'OR": [ + -1, + 116 + ], + "'CARET": [ + -1, + 116 + ], + "'IS": [ + -1, + 116 + ], + "'ISEQUALEQUAL": [ + -1, + 116 + ], + "'ISEQUALTILDE": [ + -1, + 116 + ], + "'ISSPACESHIP": [ + -1, + 116 + ], + "'ISROUGHLY": [ + -1, + 116 + ], + "'ISNOT": [ + -1, + 116 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 116 + ], + "'ISNOTEQUALTILDE": [ + -1, + 116 + ], + "'ISNOTSPACESHIP": [ + -1, + 116 + ], + "'RAISES": [ + -1, + 116 + ], + "'RAISESOTHER": [ + -1, + 116 + ], + "'SATISFIES": [ + -1, + 116 + ], + "'SATISFIESNOT": [ + -1, + 116 + ], + "'RAISESSATISFIES": [ + -1, + 116 + ], + "'RAISESVIOLATES": [ + -1, + 116 + ], + "'RAISESNOT": [ + -1, + 116 + ], + "'DOTDOTDOT": [ + -1, + 116 + ], + "'NUMBER": [ + -1, + 116 + ], + "'RATIONAL": [ + -1, + 116 + ], + "'ROUGHRATIONAL": [ + -1, + 116 + ], + "'TRUE": [ + -1, + 116 + ], + "'FALSE": [ + -1, + 116 + ], + "'LAM": [ + -1, + 116 + ], + "'METHOD": [ + -1, + 116 + ], + "'LBRACK": [ + -1, + 116 + ], + "'RBRACK": [ + -1, + 116 + ], + "'TABLE": [ + -1, + 116 + ], + "'ROW": [ + -1, + 116 + ], + "'REACTOR": [ + -1, + 116 + ], + "'BANG": [ + -1, + 116 + ], + "'IF": [ + -1, + 116 + ], + "'ELSECOLON": [ + -1, + 116 + ], + "'ELSEIF": [ + -1, + 116 + ], + "'ASK": [ + -1, + 116 + ], + "'THENCOLON": [ + -1, + 116 + ], + "'CASES": [ + -1, + 116 + ], + "'FOR": [ + -1, + 116 + ], + "'TABLE-SELECT": [ + -1, + 116 + ], + "'TABLE-FILTER": [ + -1, + 116 + ], + "'USING": [ + -1, + 116 + ], + "'TABLE-ORDER": [ + -1, + 116 + ], + "'TABLE-EXTRACT": [ + -1, + 116 + ], + "'TABLE-UPDATE": [ + -1, + 116 + ], + "'TABLE-EXTEND": [ + -1, + 116 + ], + "'OF": [ + -1, + 116 + ], + "'LOAD-TABLE": [ + -1, + 116 + ], + "'SOURCECOLON": [ + -1, + 116 + ], + "'SANITIZE": [ + -1, + 116 + ] + }, + { + "$": [ + -1, + 118 + ], + "'NAME": [ + -1, + 118 + ], + "'COLON": [ + -1, + 118 + ], + "'END": [ + -1, + 118 + ], + "'COMMA": [ + -1, + 118 + ], + "'PARENNOSPACE": [ + -1, + 118 + ], + "'STRING": [ + -1, + 118 + ], + "'RPAREN": [ + -1, + 118 + ], + "'TYPE": [ + -1, + 118 + ], + "'DATA": [ + -1, + 118 + ], + "'TIMES": [ + -1, + 118 + ], + "'PARENSPACE": [ + -1, + 118 + ], + "'DOT": [ + -1, + 118 + ], + "'SPY": [ + -1, + 118 + ], + "'NEWTYPE": [ + -1, + 118 + ], + "'LBRACE": [ + -1, + 118 + ], + "'RBRACE": [ + -1, + 118 + ], + "'SEMI": [ + -1, + 118 + ], + "'SHADOW": [ + -1, + 118 + ], + "'LET": [ + -1, + 118 + ], + "'BLOCK": [ + -1, + 118 + ], + "'LETREC": [ + -1, + 118 + ], + "'TYPE-LET": [ + -1, + 118 + ], + "'FUN": [ + -1, + 118 + ], + "'LANGLE": [ + -1, + 118 + ], + "'LT": [ + -1, + 118 + ], + "'GT": [ + -1, + 118 + ], + "'PARENAFTERBRACE": [ + -1, + 118 + ], + "'WHERE": [ + -1, + 118 + ], + "'CHECK": [ + -1, + 118 + ], + "'EXAMPLES": [ + -1, + 118 + ], + "'CHECKCOLON": [ + -1, + 118 + ], + "'EXAMPLESCOLON": [ + -1, + 118 + ], + "'BECAUSE": [ + -1, + 118 + ], + "'BAR": [ + -1, + 118 + ], + "'SHARING": [ + -1, + 118 + ], + "'VAR": [ + -1, + 118 + ], + "'REC": [ + -1, + 118 + ], + "'WHEN": [ + -1, + 118 + ], + "'PLUS": [ + -1, + 118 + ], + "'DASH": [ + -1, + 118 + ], + "'SLASH": [ + -1, + 118 + ], + "'LEQ": [ + -1, + 118 + ], + "'GEQ": [ + -1, + 118 + ], + "'EQUALEQUAL": [ + -1, + 118 + ], + "'SPACESHIP": [ + -1, + 118 + ], + "'EQUALTILDE": [ + -1, + 118 + ], + "'NEQ": [ + -1, + 118 + ], + "'AND": [ + -1, + 118 + ], + "'OR": [ + -1, + 118 + ], + "'CARET": [ + -1, + 118 + ], + "'IS": [ + -1, + 118 + ], + "'ISEQUALEQUAL": [ + -1, + 118 + ], + "'ISEQUALTILDE": [ + -1, + 118 + ], + "'ISSPACESHIP": [ + -1, + 118 + ], + "'ISROUGHLY": [ + -1, + 118 + ], + "'ISNOT": [ + -1, + 118 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 118 + ], + "'ISNOTEQUALTILDE": [ + -1, + 118 + ], + "'ISNOTSPACESHIP": [ + -1, + 118 + ], + "'RAISES": [ + -1, + 118 + ], + "'RAISESOTHER": [ + -1, + 118 + ], + "'SATISFIES": [ + -1, + 118 + ], + "'SATISFIESNOT": [ + -1, + 118 + ], + "'RAISESSATISFIES": [ + -1, + 118 + ], + "'RAISESVIOLATES": [ + -1, + 118 + ], + "'RAISESNOT": [ + -1, + 118 + ], + "'DOTDOTDOT": [ + -1, + 118 + ], + "'NUMBER": [ + -1, + 118 + ], + "'RATIONAL": [ + -1, + 118 + ], + "'ROUGHRATIONAL": [ + -1, + 118 + ], + "'TRUE": [ + -1, + 118 + ], + "'FALSE": [ + -1, + 118 + ], + "'LAM": [ + -1, + 118 + ], + "'METHOD": [ + -1, + 118 + ], + "'LBRACK": [ + -1, + 118 + ], + "'RBRACK": [ + -1, + 118 + ], + "'TABLE": [ + -1, + 118 + ], + "'ROW": [ + -1, + 118 + ], + "'REACTOR": [ + -1, + 118 + ], + "'BANG": [ + -1, + 118 + ], + "'IF": [ + -1, + 118 + ], + "'ELSECOLON": [ + -1, + 118 + ], + "'ELSEIF": [ + -1, + 118 + ], + "'ASK": [ + -1, + 118 + ], + "'THENCOLON": [ + -1, + 118 + ], + "'CASES": [ + -1, + 118 + ], + "'FOR": [ + -1, + 118 + ], + "'TABLE-SELECT": [ + -1, + 118 + ], + "'TABLE-FILTER": [ + -1, + 118 + ], + "'USING": [ + -1, + 118 + ], + "'TABLE-ORDER": [ + -1, + 118 + ], + "'TABLE-EXTRACT": [ + -1, + 118 + ], + "'TABLE-UPDATE": [ + -1, + 118 + ], + "'TABLE-EXTEND": [ + -1, + 118 + ], + "'OF": [ + -1, + 118 + ], + "'LOAD-TABLE": [ + -1, + 118 + ], + "'SOURCECOLON": [ + -1, + 118 + ], + "'SANITIZE": [ + -1, + 118 + ] + }, + { + "$": [ + -1, + 120 + ], + "'NAME": [ + -1, + 120 + ], + "'COLON": [ + -1, + 120 + ], + "'END": [ + -1, + 120 + ], + "'COMMA": [ + -1, + 120 + ], + "'PARENNOSPACE": [ + -1, + 120 + ], + "'STRING": [ + -1, + 120 + ], + "'RPAREN": [ + -1, + 120 + ], + "'TYPE": [ + -1, + 120 + ], + "'DATA": [ + -1, + 120 + ], + "'TIMES": [ + -1, + 120 + ], + "'PARENSPACE": [ + -1, + 120 + ], + "'DOT": [ + -1, + 120 + ], + "'SPY": [ + -1, + 120 + ], + "'NEWTYPE": [ + -1, + 120 + ], + "'LBRACE": [ + -1, + 120 + ], + "'RBRACE": [ + -1, + 120 + ], + "'SEMI": [ + -1, + 120 + ], + "'SHADOW": [ + -1, + 120 + ], + "'LET": [ + -1, + 120 + ], + "'BLOCK": [ + -1, + 120 + ], + "'LETREC": [ + -1, + 120 + ], + "'TYPE-LET": [ + -1, + 120 + ], + "'FUN": [ + -1, + 120 + ], + "'LANGLE": [ + -1, + 120 + ], + "'LT": [ + -1, + 120 + ], + "'GT": [ + -1, + 120 + ], + "'PARENAFTERBRACE": [ + -1, + 120 + ], + "'WHERE": [ + -1, + 120 + ], + "'CHECK": [ + -1, + 120 + ], + "'EXAMPLES": [ + -1, + 120 + ], + "'CHECKCOLON": [ + -1, + 120 + ], + "'EXAMPLESCOLON": [ + -1, + 120 + ], + "'BECAUSE": [ + -1, + 120 + ], + "'BAR": [ + -1, + 120 + ], + "'SHARING": [ + -1, + 120 + ], + "'VAR": [ + -1, + 120 + ], + "'REC": [ + -1, + 120 + ], + "'WHEN": [ + -1, + 120 + ], + "'PLUS": [ + -1, + 120 + ], + "'DASH": [ + -1, + 120 + ], + "'SLASH": [ + -1, + 120 + ], + "'LEQ": [ + -1, + 120 + ], + "'GEQ": [ + -1, + 120 + ], + "'EQUALEQUAL": [ + -1, + 120 + ], + "'SPACESHIP": [ + -1, + 120 + ], + "'EQUALTILDE": [ + -1, + 120 + ], + "'NEQ": [ + -1, + 120 + ], + "'AND": [ + -1, + 120 + ], + "'OR": [ + -1, + 120 + ], + "'CARET": [ + -1, + 120 + ], + "'IS": [ + -1, + 120 + ], + "'ISEQUALEQUAL": [ + -1, + 120 + ], + "'ISEQUALTILDE": [ + -1, + 120 + ], + "'ISSPACESHIP": [ + -1, + 120 + ], + "'ISROUGHLY": [ + -1, + 120 + ], + "'ISNOT": [ + -1, + 120 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 120 + ], + "'ISNOTEQUALTILDE": [ + -1, + 120 + ], + "'ISNOTSPACESHIP": [ + -1, + 120 + ], + "'RAISES": [ + -1, + 120 + ], + "'RAISESOTHER": [ + -1, + 120 + ], + "'SATISFIES": [ + -1, + 120 + ], + "'SATISFIESNOT": [ + -1, + 120 + ], + "'RAISESSATISFIES": [ + -1, + 120 + ], + "'RAISESVIOLATES": [ + -1, + 120 + ], + "'RAISESNOT": [ + -1, + 120 + ], + "'DOTDOTDOT": [ + -1, + 120 + ], + "'NUMBER": [ + -1, + 120 + ], + "'RATIONAL": [ + -1, + 120 + ], + "'ROUGHRATIONAL": [ + -1, + 120 + ], + "'TRUE": [ + -1, + 120 + ], + "'FALSE": [ + -1, + 120 + ], + "'LAM": [ + -1, + 120 + ], + "'METHOD": [ + -1, + 120 + ], + "'LBRACK": [ + -1, + 120 + ], + "'RBRACK": [ + -1, + 120 + ], + "'TABLE": [ + -1, + 120 + ], + "'ROW": [ + -1, + 120 + ], + "'REACTOR": [ + -1, + 120 + ], + "'BANG": [ + -1, + 120 + ], + "'IF": [ + -1, + 120 + ], + "'ELSECOLON": [ + -1, + 120 + ], + "'ELSEIF": [ + -1, + 120 + ], + "'ASK": [ + -1, + 120 + ], + "'THENCOLON": [ + -1, + 120 + ], + "'CASES": [ + -1, + 120 + ], + "'FOR": [ + -1, + 120 + ], + "'TABLE-SELECT": [ + -1, + 120 + ], + "'TABLE-FILTER": [ + -1, + 120 + ], + "'USING": [ + -1, + 120 + ], + "'TABLE-ORDER": [ + -1, + 120 + ], + "'TABLE-EXTRACT": [ + -1, + 120 + ], + "'TABLE-UPDATE": [ + -1, + 120 + ], + "'TABLE-EXTEND": [ + -1, + 120 + ], + "'OF": [ + -1, + 120 + ], + "'LOAD-TABLE": [ + -1, + 120 + ], + "'SOURCECOLON": [ + -1, + 120 + ], + "'SANITIZE": [ + -1, + 120 + ] + }, + { + "$": [ + -1, + 122 + ], + "'NAME": [ + -1, + 122 + ], + "'COLON": [ + -1, + 122 + ], + "'END": [ + -1, + 122 + ], + "'COMMA": [ + -1, + 122 + ], + "'PARENNOSPACE": [ + -1, + 122 + ], + "'STRING": [ + -1, + 122 + ], + "'RPAREN": [ + -1, + 122 + ], + "'TYPE": [ + -1, + 122 + ], + "'DATA": [ + -1, + 122 + ], + "'TIMES": [ + -1, + 122 + ], + "'PARENSPACE": [ + -1, + 122 + ], + "'DOT": [ + -1, + 122 + ], + "'SPY": [ + -1, + 122 + ], + "'NEWTYPE": [ + -1, + 122 + ], + "'LBRACE": [ + -1, + 122 + ], + "'RBRACE": [ + -1, + 122 + ], + "'SEMI": [ + -1, + 122 + ], + "'SHADOW": [ + -1, + 122 + ], + "'LET": [ + -1, + 122 + ], + "'BLOCK": [ + -1, + 122 + ], + "'LETREC": [ + -1, + 122 + ], + "'TYPE-LET": [ + -1, + 122 + ], + "'FUN": [ + -1, + 122 + ], + "'LANGLE": [ + -1, + 122 + ], + "'LT": [ + -1, + 122 + ], + "'GT": [ + -1, + 122 + ], + "'PARENAFTERBRACE": [ + -1, + 122 + ], + "'WHERE": [ + -1, + 122 + ], + "'CHECK": [ + -1, + 122 + ], + "'EXAMPLES": [ + -1, + 122 + ], + "'CHECKCOLON": [ + -1, + 122 + ], + "'EXAMPLESCOLON": [ + -1, + 122 + ], + "'BECAUSE": [ + -1, + 122 + ], + "'BAR": [ + -1, + 122 + ], + "'SHARING": [ + -1, + 122 + ], + "'VAR": [ + -1, + 122 + ], + "'REC": [ + -1, + 122 + ], + "'WHEN": [ + -1, + 122 + ], + "'PLUS": [ + -1, + 122 + ], + "'DASH": [ + -1, + 122 + ], + "'SLASH": [ + -1, + 122 + ], + "'LEQ": [ + -1, + 122 + ], + "'GEQ": [ + -1, + 122 + ], + "'EQUALEQUAL": [ + -1, + 122 + ], + "'SPACESHIP": [ + -1, + 122 + ], + "'EQUALTILDE": [ + -1, + 122 + ], + "'NEQ": [ + -1, + 122 + ], + "'AND": [ + -1, + 122 + ], + "'OR": [ + -1, + 122 + ], + "'CARET": [ + -1, + 122 + ], + "'IS": [ + -1, + 122 + ], + "'ISEQUALEQUAL": [ + -1, + 122 + ], + "'ISEQUALTILDE": [ + -1, + 122 + ], + "'ISSPACESHIP": [ + -1, + 122 + ], + "'ISROUGHLY": [ + -1, + 122 + ], + "'ISNOT": [ + -1, + 122 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 122 + ], + "'ISNOTEQUALTILDE": [ + -1, + 122 + ], + "'ISNOTSPACESHIP": [ + -1, + 122 + ], + "'RAISES": [ + -1, + 122 + ], + "'RAISESOTHER": [ + -1, + 122 + ], + "'SATISFIES": [ + -1, + 122 + ], + "'SATISFIESNOT": [ + -1, + 122 + ], + "'RAISESSATISFIES": [ + -1, + 122 + ], + "'RAISESVIOLATES": [ + -1, + 122 + ], + "'RAISESNOT": [ + -1, + 122 + ], + "'DOTDOTDOT": [ + -1, + 122 + ], + "'NUMBER": [ + -1, + 122 + ], + "'RATIONAL": [ + -1, + 122 + ], + "'ROUGHRATIONAL": [ + -1, + 122 + ], + "'TRUE": [ + -1, + 122 + ], + "'FALSE": [ + -1, + 122 + ], + "'LAM": [ + -1, + 122 + ], + "'METHOD": [ + -1, + 122 + ], + "'LBRACK": [ + -1, + 122 + ], + "'RBRACK": [ + -1, + 122 + ], + "'TABLE": [ + -1, + 122 + ], + "'ROW": [ + -1, + 122 + ], + "'REACTOR": [ + -1, + 122 + ], + "'BANG": [ + -1, + 122 + ], + "'IF": [ + -1, + 122 + ], + "'ELSECOLON": [ + -1, + 122 + ], + "'ELSEIF": [ + -1, + 122 + ], + "'ASK": [ + -1, + 122 + ], + "'THENCOLON": [ + -1, + 122 + ], + "'CASES": [ + -1, + 122 + ], + "'FOR": [ + -1, + 122 + ], + "'TABLE-SELECT": [ + -1, + 122 + ], + "'TABLE-FILTER": [ + -1, + 122 + ], + "'USING": [ + -1, + 122 + ], + "'TABLE-ORDER": [ + -1, + 122 + ], + "'TABLE-EXTRACT": [ + -1, + 122 + ], + "'TABLE-UPDATE": [ + -1, + 122 + ], + "'TABLE-EXTEND": [ + -1, + 122 + ], + "'OF": [ + -1, + 122 + ], + "'LOAD-TABLE": [ + -1, + 122 + ], + "'SOURCECOLON": [ + -1, + 122 + ], + "'SANITIZE": [ + -1, + 122 + ] + }, + { + "$": [ + -1, + 124 + ], + "'NAME": [ + -1, + 124 + ], + "'COLON": [ + -1, + 124 + ], + "'END": [ + -1, + 124 + ], + "'COMMA": [ + -1, + 124 + ], + "'PARENNOSPACE": [ + -1, + 124 + ], + "'STRING": [ + -1, + 124 + ], + "'RPAREN": [ + -1, + 124 + ], + "'TYPE": [ + -1, + 124 + ], + "'DATA": [ + -1, + 124 + ], + "'TIMES": [ + -1, + 124 + ], + "'PARENSPACE": [ + -1, + 124 + ], + "'DOT": [ + -1, + 124 + ], + "'SPY": [ + -1, + 124 + ], + "'NEWTYPE": [ + -1, + 124 + ], + "'LBRACE": [ + -1, + 124 + ], + "'RBRACE": [ + -1, + 124 + ], + "'SEMI": [ + -1, + 124 + ], + "'SHADOW": [ + -1, + 124 + ], + "'LET": [ + -1, + 124 + ], + "'BLOCK": [ + -1, + 124 + ], + "'LETREC": [ + -1, + 124 + ], + "'TYPE-LET": [ + -1, + 124 + ], + "'FUN": [ + -1, + 124 + ], + "'LANGLE": [ + -1, + 124 + ], + "'LT": [ + -1, + 124 + ], + "'GT": [ + -1, + 124 + ], + "'PARENAFTERBRACE": [ + -1, + 124 + ], + "'WHERE": [ + -1, + 124 + ], + "'CHECK": [ + -1, + 124 + ], + "'EXAMPLES": [ + -1, + 124 + ], + "'CHECKCOLON": [ + -1, + 124 + ], + "'EXAMPLESCOLON": [ + -1, + 124 + ], + "'BECAUSE": [ + -1, + 124 + ], + "'BAR": [ + -1, + 124 + ], + "'SHARING": [ + -1, + 124 + ], + "'VAR": [ + -1, + 124 + ], + "'REC": [ + -1, + 124 + ], + "'WHEN": [ + -1, + 124 + ], + "'PLUS": [ + -1, + 124 + ], + "'DASH": [ + -1, + 124 + ], + "'SLASH": [ + -1, + 124 + ], + "'LEQ": [ + -1, + 124 + ], + "'GEQ": [ + -1, + 124 + ], + "'EQUALEQUAL": [ + -1, + 124 + ], + "'SPACESHIP": [ + -1, + 124 + ], + "'EQUALTILDE": [ + -1, + 124 + ], + "'NEQ": [ + -1, + 124 + ], + "'AND": [ + -1, + 124 + ], + "'OR": [ + -1, + 124 + ], + "'CARET": [ + -1, + 124 + ], + "'IS": [ + -1, + 124 + ], + "'ISEQUALEQUAL": [ + -1, + 124 + ], + "'ISEQUALTILDE": [ + -1, + 124 + ], + "'ISSPACESHIP": [ + -1, + 124 + ], + "'ISROUGHLY": [ + -1, + 124 + ], + "'ISNOT": [ + -1, + 124 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 124 + ], + "'ISNOTEQUALTILDE": [ + -1, + 124 + ], + "'ISNOTSPACESHIP": [ + -1, + 124 + ], + "'RAISES": [ + -1, + 124 + ], + "'RAISESOTHER": [ + -1, + 124 + ], + "'SATISFIES": [ + -1, + 124 + ], + "'SATISFIESNOT": [ + -1, + 124 + ], + "'RAISESSATISFIES": [ + -1, + 124 + ], + "'RAISESVIOLATES": [ + -1, + 124 + ], + "'RAISESNOT": [ + -1, + 124 + ], + "'DOTDOTDOT": [ + -1, + 124 + ], + "'NUMBER": [ + -1, + 124 + ], + "'RATIONAL": [ + -1, + 124 + ], + "'ROUGHRATIONAL": [ + -1, + 124 + ], + "'TRUE": [ + -1, + 124 + ], + "'FALSE": [ + -1, + 124 + ], + "'LAM": [ + -1, + 124 + ], + "'METHOD": [ + -1, + 124 + ], + "'LBRACK": [ + -1, + 124 + ], + "'RBRACK": [ + -1, + 124 + ], + "'TABLE": [ + -1, + 124 + ], + "'ROW": [ + -1, + 124 + ], + "'REACTOR": [ + -1, + 124 + ], + "'BANG": [ + -1, + 124 + ], + "'IF": [ + -1, + 124 + ], + "'ELSECOLON": [ + -1, + 124 + ], + "'ELSEIF": [ + -1, + 124 + ], + "'ASK": [ + -1, + 124 + ], + "'THENCOLON": [ + -1, + 124 + ], + "'CASES": [ + -1, + 124 + ], + "'FOR": [ + -1, + 124 + ], + "'TABLE-SELECT": [ + -1, + 124 + ], + "'TABLE-FILTER": [ + -1, + 124 + ], + "'USING": [ + -1, + 124 + ], + "'TABLE-ORDER": [ + -1, + 124 + ], + "'TABLE-EXTRACT": [ + -1, + 124 + ], + "'TABLE-UPDATE": [ + -1, + 124 + ], + "'TABLE-EXTEND": [ + -1, + 124 + ], + "'OF": [ + -1, + 124 + ], + "'LOAD-TABLE": [ + -1, + 124 + ], + "'SOURCECOLON": [ + -1, + 124 + ], + "'SANITIZE": [ + -1, + 124 + ] + }, + { + "$": [ + -1, + 126 + ], + "'NAME": [ + -1, + 126 + ], + "'COLON": [ + -1, + 126 + ], + "'END": [ + -1, + 126 + ], + "'COMMA": [ + -1, + 126 + ], + "'PARENNOSPACE": [ + -1, + 126 + ], + "'STRING": [ + -1, + 126 + ], + "'RPAREN": [ + -1, + 126 + ], + "'TYPE": [ + -1, + 126 + ], + "'DATA": [ + -1, + 126 + ], + "'TIMES": [ + -1, + 126 + ], + "'PARENSPACE": [ + -1, + 126 + ], + "'DOT": [ + -1, + 126 + ], + "'SPY": [ + -1, + 126 + ], + "'NEWTYPE": [ + -1, + 126 + ], + "'LBRACE": [ + -1, + 126 + ], + "'RBRACE": [ + -1, + 126 + ], + "'SEMI": [ + -1, + 126 + ], + "'SHADOW": [ + -1, + 126 + ], + "'LET": [ + -1, + 126 + ], + "'BLOCK": [ + -1, + 126 + ], + "'LETREC": [ + -1, + 126 + ], + "'TYPE-LET": [ + -1, + 126 + ], + "'FUN": [ + -1, + 126 + ], + "'LANGLE": [ + -1, + 126 + ], + "'LT": [ + -1, + 126 + ], + "'GT": [ + -1, + 126 + ], + "'PARENAFTERBRACE": [ + -1, + 126 + ], + "'WHERE": [ + -1, + 126 + ], + "'CHECK": [ + -1, + 126 + ], + "'EXAMPLES": [ + -1, + 126 + ], + "'CHECKCOLON": [ + -1, + 126 + ], + "'EXAMPLESCOLON": [ + -1, + 126 + ], + "'BECAUSE": [ + -1, + 126 + ], + "'BAR": [ + -1, + 126 + ], + "'SHARING": [ + -1, + 126 + ], + "'VAR": [ + -1, + 126 + ], + "'REC": [ + -1, + 126 + ], + "'WHEN": [ + -1, + 126 + ], + "'PLUS": [ + -1, + 126 + ], + "'DASH": [ + -1, + 126 + ], + "'SLASH": [ + -1, + 126 + ], + "'LEQ": [ + -1, + 126 + ], + "'GEQ": [ + -1, + 126 + ], + "'EQUALEQUAL": [ + -1, + 126 + ], + "'SPACESHIP": [ + -1, + 126 + ], + "'EQUALTILDE": [ + -1, + 126 + ], + "'NEQ": [ + -1, + 126 + ], + "'AND": [ + -1, + 126 + ], + "'OR": [ + -1, + 126 + ], + "'CARET": [ + -1, + 126 + ], + "'IS": [ + -1, + 126 + ], + "'ISEQUALEQUAL": [ + -1, + 126 + ], + "'ISEQUALTILDE": [ + -1, + 126 + ], + "'ISSPACESHIP": [ + -1, + 126 + ], + "'ISROUGHLY": [ + -1, + 126 + ], + "'ISNOT": [ + -1, + 126 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 126 + ], + "'ISNOTEQUALTILDE": [ + -1, + 126 + ], + "'ISNOTSPACESHIP": [ + -1, + 126 + ], + "'RAISES": [ + -1, + 126 + ], + "'RAISESOTHER": [ + -1, + 126 + ], + "'SATISFIES": [ + -1, + 126 + ], + "'SATISFIESNOT": [ + -1, + 126 + ], + "'RAISESSATISFIES": [ + -1, + 126 + ], + "'RAISESVIOLATES": [ + -1, + 126 + ], + "'RAISESNOT": [ + -1, + 126 + ], + "'DOTDOTDOT": [ + -1, + 126 + ], + "'NUMBER": [ + -1, + 126 + ], + "'RATIONAL": [ + -1, + 126 + ], + "'ROUGHRATIONAL": [ + -1, + 126 + ], + "'TRUE": [ + -1, + 126 + ], + "'FALSE": [ + -1, + 126 + ], + "'LAM": [ + -1, + 126 + ], + "'METHOD": [ + -1, + 126 + ], + "'LBRACK": [ + -1, + 126 + ], + "'RBRACK": [ + -1, + 126 + ], + "'TABLE": [ + -1, + 126 + ], + "'ROW": [ + -1, + 126 + ], + "'REACTOR": [ + -1, + 126 + ], + "'BANG": [ + -1, + 126 + ], + "'IF": [ + -1, + 126 + ], + "'ELSECOLON": [ + -1, + 126 + ], + "'ELSEIF": [ + -1, + 126 + ], + "'ASK": [ + -1, + 126 + ], + "'THENCOLON": [ + -1, + 126 + ], + "'CASES": [ + -1, + 126 + ], + "'FOR": [ + -1, + 126 + ], + "'TABLE-SELECT": [ + -1, + 126 + ], + "'TABLE-FILTER": [ + -1, + 126 + ], + "'USING": [ + -1, + 126 + ], + "'TABLE-ORDER": [ + -1, + 126 + ], + "'TABLE-EXTRACT": [ + -1, + 126 + ], + "'TABLE-UPDATE": [ + -1, + 126 + ], + "'TABLE-EXTEND": [ + -1, + 126 + ], + "'OF": [ + -1, + 126 + ], + "'LOAD-TABLE": [ + -1, + 126 + ], + "'SOURCECOLON": [ + -1, + 126 + ], + "'SANITIZE": [ + -1, + 126 + ] + }, + { + "$": [ + -1, + 128 + ], + "'NAME": [ + -1, + 128 + ], + "'COLON": [ + -1, + 128 + ], + "'END": [ + -1, + 128 + ], + "'COMMA": [ + -1, + 128 + ], + "'PARENNOSPACE": [ + -1, + 128 + ], + "'STRING": [ + -1, + 128 + ], + "'RPAREN": [ + -1, + 128 + ], + "'TYPE": [ + -1, + 128 + ], + "'DATA": [ + -1, + 128 + ], + "'TIMES": [ + -1, + 128 + ], + "'PARENSPACE": [ + -1, + 128 + ], + "'DOT": [ + -1, + 128 + ], + "'SPY": [ + -1, + 128 + ], + "'NEWTYPE": [ + -1, + 128 + ], + "'LBRACE": [ + -1, + 128 + ], + "'RBRACE": [ + -1, + 128 + ], + "'SEMI": [ + -1, + 128 + ], + "'SHADOW": [ + -1, + 128 + ], + "'LET": [ + -1, + 128 + ], + "'BLOCK": [ + -1, + 128 + ], + "'LETREC": [ + -1, + 128 + ], + "'TYPE-LET": [ + -1, + 128 + ], + "'FUN": [ + -1, + 128 + ], + "'LANGLE": [ + -1, + 128 + ], + "'LT": [ + -1, + 128 + ], + "'GT": [ + -1, + 128 + ], + "'PARENAFTERBRACE": [ + -1, + 128 + ], + "'WHERE": [ + -1, + 128 + ], + "'CHECK": [ + -1, + 128 + ], + "'EXAMPLES": [ + -1, + 128 + ], + "'CHECKCOLON": [ + -1, + 128 + ], + "'EXAMPLESCOLON": [ + -1, + 128 + ], + "'BECAUSE": [ + -1, + 128 + ], + "'BAR": [ + -1, + 128 + ], + "'SHARING": [ + -1, + 128 + ], + "'VAR": [ + -1, + 128 + ], + "'REC": [ + -1, + 128 + ], + "'WHEN": [ + -1, + 128 + ], + "'PLUS": [ + -1, + 128 + ], + "'DASH": [ + -1, + 128 + ], + "'SLASH": [ + -1, + 128 + ], + "'LEQ": [ + -1, + 128 + ], + "'GEQ": [ + -1, + 128 + ], + "'EQUALEQUAL": [ + -1, + 128 + ], + "'SPACESHIP": [ + -1, + 128 + ], + "'EQUALTILDE": [ + -1, + 128 + ], + "'NEQ": [ + -1, + 128 + ], + "'AND": [ + -1, + 128 + ], + "'OR": [ + -1, + 128 + ], + "'CARET": [ + -1, + 128 + ], + "'IS": [ + -1, + 128 + ], + "'ISEQUALEQUAL": [ + -1, + 128 + ], + "'ISEQUALTILDE": [ + -1, + 128 + ], + "'ISSPACESHIP": [ + -1, + 128 + ], + "'ISROUGHLY": [ + -1, + 128 + ], + "'ISNOT": [ + -1, + 128 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 128 + ], + "'ISNOTEQUALTILDE": [ + -1, + 128 + ], + "'ISNOTSPACESHIP": [ + -1, + 128 + ], + "'RAISES": [ + -1, + 128 + ], + "'RAISESOTHER": [ + -1, + 128 + ], + "'SATISFIES": [ + -1, + 128 + ], + "'SATISFIESNOT": [ + -1, + 128 + ], + "'RAISESSATISFIES": [ + -1, + 128 + ], + "'RAISESVIOLATES": [ + -1, + 128 + ], + "'RAISESNOT": [ + -1, + 128 + ], + "'DOTDOTDOT": [ + -1, + 128 + ], + "'NUMBER": [ + -1, + 128 + ], + "'RATIONAL": [ + -1, + 128 + ], + "'ROUGHRATIONAL": [ + -1, + 128 + ], + "'TRUE": [ + -1, + 128 + ], + "'FALSE": [ + -1, + 128 + ], + "'LAM": [ + -1, + 128 + ], + "'METHOD": [ + -1, + 128 + ], + "'LBRACK": [ + -1, + 128 + ], + "'RBRACK": [ + -1, + 128 + ], + "'TABLE": [ + -1, + 128 + ], + "'ROW": [ + -1, + 128 + ], + "'REACTOR": [ + -1, + 128 + ], + "'BANG": [ + -1, + 128 + ], + "'IF": [ + -1, + 128 + ], + "'ELSECOLON": [ + -1, + 128 + ], + "'ELSEIF": [ + -1, + 128 + ], + "'ASK": [ + -1, + 128 + ], + "'THENCOLON": [ + -1, + 128 + ], + "'CASES": [ + -1, + 128 + ], + "'FOR": [ + -1, + 128 + ], + "'TABLE-SELECT": [ + -1, + 128 + ], + "'TABLE-FILTER": [ + -1, + 128 + ], + "'USING": [ + -1, + 128 + ], + "'TABLE-ORDER": [ + -1, + 128 + ], + "'TABLE-EXTRACT": [ + -1, + 128 + ], + "'TABLE-UPDATE": [ + -1, + 128 + ], + "'TABLE-EXTEND": [ + -1, + 128 + ], + "'OF": [ + -1, + 128 + ], + "'LOAD-TABLE": [ + -1, + 128 + ], + "'SOURCECOLON": [ + -1, + 128 + ], + "'SANITIZE": [ + -1, + 128 + ] + }, + { + "$": [ + -1, + 130 + ], + "'NAME": [ + -1, + 130 + ], + "'COLON": [ + -1, + 130 + ], + "'END": [ + -1, + 130 + ], + "'COMMA": [ + -1, + 130 + ], + "'PARENNOSPACE": [ + -1, + 130 + ], + "'STRING": [ + -1, + 130 + ], + "'RPAREN": [ + -1, + 130 + ], + "'TYPE": [ + -1, + 130 + ], + "'DATA": [ + -1, + 130 + ], + "'TIMES": [ + -1, + 130 + ], + "'PARENSPACE": [ + -1, + 130 + ], + "'DOT": [ + -1, + 130 + ], + "'SPY": [ + -1, + 130 + ], + "'NEWTYPE": [ + -1, + 130 + ], + "'LBRACE": [ + -1, + 130 + ], + "'RBRACE": [ + -1, + 130 + ], + "'SEMI": [ + -1, + 130 + ], + "'SHADOW": [ + -1, + 130 + ], + "'LET": [ + -1, + 130 + ], + "'BLOCK": [ + -1, + 130 + ], + "'LETREC": [ + -1, + 130 + ], + "'TYPE-LET": [ + -1, + 130 + ], + "'FUN": [ + -1, + 130 + ], + "'LANGLE": [ + -1, + 130 + ], + "'LT": [ + -1, + 130 + ], + "'GT": [ + -1, + 130 + ], + "'PARENAFTERBRACE": [ + -1, + 130 + ], + "'WHERE": [ + -1, + 130 + ], + "'CHECK": [ + -1, + 130 + ], + "'EXAMPLES": [ + -1, + 130 + ], + "'CHECKCOLON": [ + -1, + 130 + ], + "'EXAMPLESCOLON": [ + -1, + 130 + ], + "'BECAUSE": [ + -1, + 130 + ], + "'BAR": [ + -1, + 130 + ], + "'SHARING": [ + -1, + 130 + ], + "'VAR": [ + -1, + 130 + ], + "'REC": [ + -1, + 130 + ], + "'WHEN": [ + -1, + 130 + ], + "'PLUS": [ + -1, + 130 + ], + "'DASH": [ + -1, + 130 + ], + "'SLASH": [ + -1, + 130 + ], + "'LEQ": [ + -1, + 130 + ], + "'GEQ": [ + -1, + 130 + ], + "'EQUALEQUAL": [ + -1, + 130 + ], + "'SPACESHIP": [ + -1, + 130 + ], + "'EQUALTILDE": [ + -1, + 130 + ], + "'NEQ": [ + -1, + 130 + ], + "'AND": [ + -1, + 130 + ], + "'OR": [ + -1, + 130 + ], + "'CARET": [ + -1, + 130 + ], + "'IS": [ + -1, + 130 + ], + "'ISEQUALEQUAL": [ + -1, + 130 + ], + "'ISEQUALTILDE": [ + -1, + 130 + ], + "'ISSPACESHIP": [ + -1, + 130 + ], + "'ISROUGHLY": [ + -1, + 130 + ], + "'ISNOT": [ + -1, + 130 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 130 + ], + "'ISNOTEQUALTILDE": [ + -1, + 130 + ], + "'ISNOTSPACESHIP": [ + -1, + 130 + ], + "'RAISES": [ + -1, + 130 + ], + "'RAISESOTHER": [ + -1, + 130 + ], + "'SATISFIES": [ + -1, + 130 + ], + "'SATISFIESNOT": [ + -1, + 130 + ], + "'RAISESSATISFIES": [ + -1, + 130 + ], + "'RAISESVIOLATES": [ + -1, + 130 + ], + "'RAISESNOT": [ + -1, + 130 + ], + "'DOTDOTDOT": [ + -1, + 130 + ], + "'NUMBER": [ + -1, + 130 + ], + "'RATIONAL": [ + -1, + 130 + ], + "'ROUGHRATIONAL": [ + -1, + 130 + ], + "'TRUE": [ + -1, + 130 + ], + "'FALSE": [ + -1, + 130 + ], + "'LAM": [ + -1, + 130 + ], + "'METHOD": [ + -1, + 130 + ], + "'LBRACK": [ + -1, + 130 + ], + "'RBRACK": [ + -1, + 130 + ], + "'TABLE": [ + -1, + 130 + ], + "'ROW": [ + -1, + 130 + ], + "'REACTOR": [ + -1, + 130 + ], + "'BANG": [ + -1, + 130 + ], + "'IF": [ + -1, + 130 + ], + "'ELSECOLON": [ + -1, + 130 + ], + "'ELSEIF": [ + -1, + 130 + ], + "'ASK": [ + -1, + 130 + ], + "'THENCOLON": [ + -1, + 130 + ], + "'CASES": [ + -1, + 130 + ], + "'FOR": [ + -1, + 130 + ], + "'TABLE-SELECT": [ + -1, + 130 + ], + "'TABLE-FILTER": [ + -1, + 130 + ], + "'USING": [ + -1, + 130 + ], + "'TABLE-ORDER": [ + -1, + 130 + ], + "'TABLE-EXTRACT": [ + -1, + 130 + ], + "'TABLE-UPDATE": [ + -1, + 130 + ], + "'TABLE-EXTEND": [ + -1, + 130 + ], + "'OF": [ + -1, + 130 + ], + "'LOAD-TABLE": [ + -1, + 130 + ], + "'SOURCECOLON": [ + -1, + 130 + ], + "'SANITIZE": [ + -1, + 130 + ] + }, + { + "$": [ + -1, + 132 + ], + "'NAME": [ + -1, + 132 + ], + "'COLON": [ + -1, + 132 + ], + "'END": [ + -1, + 132 + ], + "'COMMA": [ + -1, + 132 + ], + "'PARENNOSPACE": [ + -1, + 132 + ], + "'STRING": [ + -1, + 132 + ], + "'RPAREN": [ + -1, + 132 + ], + "'TYPE": [ + -1, + 132 + ], + "'DATA": [ + -1, + 132 + ], + "'TIMES": [ + -1, + 132 + ], + "'PARENSPACE": [ + -1, + 132 + ], + "'DOT": [ + -1, + 132 + ], + "'SPY": [ + -1, + 132 + ], + "'NEWTYPE": [ + -1, + 132 + ], + "'LBRACE": [ + -1, + 132 + ], + "'RBRACE": [ + -1, + 132 + ], + "'SEMI": [ + -1, + 132 + ], + "'SHADOW": [ + -1, + 132 + ], + "'LET": [ + -1, + 132 + ], + "'BLOCK": [ + -1, + 132 + ], + "'LETREC": [ + -1, + 132 + ], + "'TYPE-LET": [ + -1, + 132 + ], + "'FUN": [ + -1, + 132 + ], + "'LANGLE": [ + -1, + 132 + ], + "'LT": [ + -1, + 132 + ], + "'GT": [ + -1, + 132 + ], + "'PARENAFTERBRACE": [ + -1, + 132 + ], + "'WHERE": [ + -1, + 132 + ], + "'CHECK": [ + -1, + 132 + ], + "'EXAMPLES": [ + -1, + 132 + ], + "'CHECKCOLON": [ + -1, + 132 + ], + "'EXAMPLESCOLON": [ + -1, + 132 + ], + "'BECAUSE": [ + -1, + 132 + ], + "'BAR": [ + -1, + 132 + ], + "'SHARING": [ + -1, + 132 + ], + "'VAR": [ + -1, + 132 + ], + "'REC": [ + -1, + 132 + ], + "'WHEN": [ + -1, + 132 + ], + "'PLUS": [ + -1, + 132 + ], + "'DASH": [ + -1, + 132 + ], + "'SLASH": [ + -1, + 132 + ], + "'LEQ": [ + -1, + 132 + ], + "'GEQ": [ + -1, + 132 + ], + "'EQUALEQUAL": [ + -1, + 132 + ], + "'SPACESHIP": [ + -1, + 132 + ], + "'EQUALTILDE": [ + -1, + 132 + ], + "'NEQ": [ + -1, + 132 + ], + "'AND": [ + -1, + 132 + ], + "'OR": [ + -1, + 132 + ], + "'CARET": [ + -1, + 132 + ], + "'IS": [ + -1, + 132 + ], + "'ISEQUALEQUAL": [ + -1, + 132 + ], + "'ISEQUALTILDE": [ + -1, + 132 + ], + "'ISSPACESHIP": [ + -1, + 132 + ], + "'ISROUGHLY": [ + -1, + 132 + ], + "'ISNOT": [ + -1, + 132 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 132 + ], + "'ISNOTEQUALTILDE": [ + -1, + 132 + ], + "'ISNOTSPACESHIP": [ + -1, + 132 + ], + "'RAISES": [ + -1, + 132 + ], + "'RAISESOTHER": [ + -1, + 132 + ], + "'SATISFIES": [ + -1, + 132 + ], + "'SATISFIESNOT": [ + -1, + 132 + ], + "'RAISESSATISFIES": [ + -1, + 132 + ], + "'RAISESVIOLATES": [ + -1, + 132 + ], + "'RAISESNOT": [ + -1, + 132 + ], + "'DOTDOTDOT": [ + -1, + 132 + ], + "'NUMBER": [ + -1, + 132 + ], + "'RATIONAL": [ + -1, + 132 + ], + "'ROUGHRATIONAL": [ + -1, + 132 + ], + "'TRUE": [ + -1, + 132 + ], + "'FALSE": [ + -1, + 132 + ], + "'LAM": [ + -1, + 132 + ], + "'METHOD": [ + -1, + 132 + ], + "'LBRACK": [ + -1, + 132 + ], + "'RBRACK": [ + -1, + 132 + ], + "'TABLE": [ + -1, + 132 + ], + "'ROW": [ + -1, + 132 + ], + "'REACTOR": [ + -1, + 132 + ], + "'BANG": [ + -1, + 132 + ], + "'IF": [ + -1, + 132 + ], + "'ELSECOLON": [ + -1, + 132 + ], + "'ELSEIF": [ + -1, + 132 + ], + "'ASK": [ + -1, + 132 + ], + "'THENCOLON": [ + -1, + 132 + ], + "'CASES": [ + -1, + 132 + ], + "'FOR": [ + -1, + 132 + ], + "'TABLE-SELECT": [ + -1, + 132 + ], + "'TABLE-FILTER": [ + -1, + 132 + ], + "'USING": [ + -1, + 132 + ], + "'TABLE-ORDER": [ + -1, + 132 + ], + "'TABLE-EXTRACT": [ + -1, + 132 + ], + "'TABLE-UPDATE": [ + -1, + 132 + ], + "'TABLE-EXTEND": [ + -1, + 132 + ], + "'OF": [ + -1, + 132 + ], + "'LOAD-TABLE": [ + -1, + 132 + ], + "'SOURCECOLON": [ + -1, + 132 + ], + "'SANITIZE": [ + -1, + 132 + ] + }, + { + "$": [ + -1, + 134 + ], + "'NAME": [ + -1, + 134 + ], + "'COLON": [ + -1, + 134 + ], + "'END": [ + -1, + 134 + ], + "'COMMA": [ + -1, + 134 + ], + "'PARENNOSPACE": [ + -1, + 134 + ], + "'STRING": [ + -1, + 134 + ], + "'RPAREN": [ + -1, + 134 + ], + "'TYPE": [ + -1, + 134 + ], + "'DATA": [ + -1, + 134 + ], + "'TIMES": [ + -1, + 134 + ], + "'PARENSPACE": [ + -1, + 134 + ], + "'DOT": [ + -1, + 134 + ], + "'SPY": [ + -1, + 134 + ], + "'NEWTYPE": [ + -1, + 134 + ], + "'LBRACE": [ + -1, + 134 + ], + "'RBRACE": [ + -1, + 134 + ], + "'SEMI": [ + -1, + 134 + ], + "'SHADOW": [ + -1, + 134 + ], + "'LET": [ + -1, + 134 + ], + "'BLOCK": [ + -1, + 134 + ], + "'LETREC": [ + -1, + 134 + ], + "'TYPE-LET": [ + -1, + 134 + ], + "'FUN": [ + -1, + 134 + ], + "'LANGLE": [ + -1, + 134 + ], + "'LT": [ + -1, + 134 + ], + "'GT": [ + -1, + 134 + ], + "'PARENAFTERBRACE": [ + -1, + 134 + ], + "'WHERE": [ + -1, + 134 + ], + "'CHECK": [ + -1, + 134 + ], + "'EXAMPLES": [ + -1, + 134 + ], + "'CHECKCOLON": [ + -1, + 134 + ], + "'EXAMPLESCOLON": [ + -1, + 134 + ], + "'BECAUSE": [ + -1, + 134 + ], + "'BAR": [ + -1, + 134 + ], + "'SHARING": [ + -1, + 134 + ], + "'VAR": [ + -1, + 134 + ], + "'REC": [ + -1, + 134 + ], + "'WHEN": [ + -1, + 134 + ], + "'PLUS": [ + -1, + 134 + ], + "'DASH": [ + -1, + 134 + ], + "'SLASH": [ + -1, + 134 + ], + "'LEQ": [ + -1, + 134 + ], + "'GEQ": [ + -1, + 134 + ], + "'EQUALEQUAL": [ + -1, + 134 + ], + "'SPACESHIP": [ + -1, + 134 + ], + "'EQUALTILDE": [ + -1, + 134 + ], + "'NEQ": [ + -1, + 134 + ], + "'AND": [ + -1, + 134 + ], + "'OR": [ + -1, + 134 + ], + "'CARET": [ + -1, + 134 + ], + "'IS": [ + -1, + 134 + ], + "'ISEQUALEQUAL": [ + -1, + 134 + ], + "'ISEQUALTILDE": [ + -1, + 134 + ], + "'ISSPACESHIP": [ + -1, + 134 + ], + "'ISROUGHLY": [ + -1, + 134 + ], + "'ISNOT": [ + -1, + 134 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 134 + ], + "'ISNOTEQUALTILDE": [ + -1, + 134 + ], + "'ISNOTSPACESHIP": [ + -1, + 134 + ], + "'RAISES": [ + -1, + 134 + ], + "'RAISESOTHER": [ + -1, + 134 + ], + "'SATISFIES": [ + -1, + 134 + ], + "'SATISFIESNOT": [ + -1, + 134 + ], + "'RAISESSATISFIES": [ + -1, + 134 + ], + "'RAISESVIOLATES": [ + -1, + 134 + ], + "'RAISESNOT": [ + -1, + 134 + ], + "'DOTDOTDOT": [ + -1, + 134 + ], + "'NUMBER": [ + -1, + 134 + ], + "'RATIONAL": [ + -1, + 134 + ], + "'ROUGHRATIONAL": [ + -1, + 134 + ], + "'TRUE": [ + -1, + 134 + ], + "'FALSE": [ + -1, + 134 + ], + "'LAM": [ + -1, + 134 + ], + "'METHOD": [ + -1, + 134 + ], + "'LBRACK": [ + -1, + 134 + ], + "'RBRACK": [ + -1, + 134 + ], + "'TABLE": [ + -1, + 134 + ], + "'ROW": [ + -1, + 134 + ], + "'REACTOR": [ + -1, + 134 + ], + "'BANG": [ + -1, + 134 + ], + "'IF": [ + -1, + 134 + ], + "'ELSECOLON": [ + -1, + 134 + ], + "'ELSEIF": [ + -1, + 134 + ], + "'ASK": [ + -1, + 134 + ], + "'THENCOLON": [ + -1, + 134 + ], + "'CASES": [ + -1, + 134 + ], + "'FOR": [ + -1, + 134 + ], + "'TABLE-SELECT": [ + -1, + 134 + ], + "'TABLE-FILTER": [ + -1, + 134 + ], + "'USING": [ + -1, + 134 + ], + "'TABLE-ORDER": [ + -1, + 134 + ], + "'TABLE-EXTRACT": [ + -1, + 134 + ], + "'TABLE-UPDATE": [ + -1, + 134 + ], + "'TABLE-EXTEND": [ + -1, + 134 + ], + "'OF": [ + -1, + 134 + ], + "'LOAD-TABLE": [ + -1, + 134 + ], + "'SOURCECOLON": [ + -1, + 134 + ], + "'SANITIZE": [ + -1, + 134 + ] + }, + { + "$": [ + -1, + 136 + ], + "'NAME": [ + -1, + 136 + ], + "'COLON": [ + -1, + 136 + ], + "'END": [ + -1, + 136 + ], + "'COMMA": [ + -1, + 136 + ], + "'PARENNOSPACE": [ + -1, + 136 + ], + "'STRING": [ + -1, + 136 + ], + "'RPAREN": [ + -1, + 136 + ], + "'TYPE": [ + -1, + 136 + ], + "'DATA": [ + -1, + 136 + ], + "'TIMES": [ + -1, + 136 + ], + "'PARENSPACE": [ + -1, + 136 + ], + "'DOT": [ + -1, + 136 + ], + "'SPY": [ + -1, + 136 + ], + "'NEWTYPE": [ + -1, + 136 + ], + "'LBRACE": [ + -1, + 136 + ], + "'RBRACE": [ + -1, + 136 + ], + "'SEMI": [ + -1, + 136 + ], + "'SHADOW": [ + -1, + 136 + ], + "'LET": [ + -1, + 136 + ], + "'BLOCK": [ + -1, + 136 + ], + "'LETREC": [ + -1, + 136 + ], + "'TYPE-LET": [ + -1, + 136 + ], + "'FUN": [ + -1, + 136 + ], + "'LANGLE": [ + -1, + 136 + ], + "'LT": [ + -1, + 136 + ], + "'GT": [ + -1, + 136 + ], + "'PARENAFTERBRACE": [ + -1, + 136 + ], + "'WHERE": [ + -1, + 136 + ], + "'CHECK": [ + -1, + 136 + ], + "'EXAMPLES": [ + -1, + 136 + ], + "'CHECKCOLON": [ + -1, + 136 + ], + "'EXAMPLESCOLON": [ + -1, + 136 + ], + "'BECAUSE": [ + -1, + 136 + ], + "'BAR": [ + -1, + 136 + ], + "'SHARING": [ + -1, + 136 + ], + "'VAR": [ + -1, + 136 + ], + "'REC": [ + -1, + 136 + ], + "'WHEN": [ + -1, + 136 + ], + "'PLUS": [ + -1, + 136 + ], + "'DASH": [ + -1, + 136 + ], + "'SLASH": [ + -1, + 136 + ], + "'LEQ": [ + -1, + 136 + ], + "'GEQ": [ + -1, + 136 + ], + "'EQUALEQUAL": [ + -1, + 136 + ], + "'SPACESHIP": [ + -1, + 136 + ], + "'EQUALTILDE": [ + -1, + 136 + ], + "'NEQ": [ + -1, + 136 + ], + "'AND": [ + -1, + 136 + ], + "'OR": [ + -1, + 136 + ], + "'CARET": [ + -1, + 136 + ], + "'IS": [ + -1, + 136 + ], + "'ISEQUALEQUAL": [ + -1, + 136 + ], + "'ISEQUALTILDE": [ + -1, + 136 + ], + "'ISSPACESHIP": [ + -1, + 136 + ], + "'ISROUGHLY": [ + -1, + 136 + ], + "'ISNOT": [ + -1, + 136 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 136 + ], + "'ISNOTEQUALTILDE": [ + -1, + 136 + ], + "'ISNOTSPACESHIP": [ + -1, + 136 + ], + "'RAISES": [ + -1, + 136 + ], + "'RAISESOTHER": [ + -1, + 136 + ], + "'SATISFIES": [ + -1, + 136 + ], + "'SATISFIESNOT": [ + -1, + 136 + ], + "'RAISESSATISFIES": [ + -1, + 136 + ], + "'RAISESVIOLATES": [ + -1, + 136 + ], + "'RAISESNOT": [ + -1, + 136 + ], + "'DOTDOTDOT": [ + -1, + 136 + ], + "'NUMBER": [ + -1, + 136 + ], + "'RATIONAL": [ + -1, + 136 + ], + "'ROUGHRATIONAL": [ + -1, + 136 + ], + "'TRUE": [ + -1, + 136 + ], + "'FALSE": [ + -1, + 136 + ], + "'LAM": [ + -1, + 136 + ], + "'METHOD": [ + -1, + 136 + ], + "'LBRACK": [ + -1, + 136 + ], + "'RBRACK": [ + -1, + 136 + ], + "'TABLE": [ + -1, + 136 + ], + "'ROW": [ + -1, + 136 + ], + "'REACTOR": [ + -1, + 136 + ], + "'BANG": [ + -1, + 136 + ], + "'IF": [ + -1, + 136 + ], + "'ELSECOLON": [ + -1, + 136 + ], + "'ELSEIF": [ + -1, + 136 + ], + "'ASK": [ + -1, + 136 + ], + "'THENCOLON": [ + -1, + 136 + ], + "'CASES": [ + -1, + 136 + ], + "'FOR": [ + -1, + 136 + ], + "'TABLE-SELECT": [ + -1, + 136 + ], + "'TABLE-FILTER": [ + -1, + 136 + ], + "'USING": [ + -1, + 136 + ], + "'TABLE-ORDER": [ + -1, + 136 + ], + "'TABLE-EXTRACT": [ + -1, + 136 + ], + "'TABLE-UPDATE": [ + -1, + 136 + ], + "'TABLE-EXTEND": [ + -1, + 136 + ], + "'OF": [ + -1, + 136 + ], + "'LOAD-TABLE": [ + -1, + 136 + ], + "'SOURCECOLON": [ + -1, + 136 + ], + "'SANITIZE": [ + -1, + 136 + ] + }, + { + "$": [ + -1, + 138 + ], + "'NAME": [ + -1, + 138 + ], + "'COLON": [ + -1, + 138 + ], + "'END": [ + -1, + 138 + ], + "'COMMA": [ + -1, + 138 + ], + "'PARENNOSPACE": [ + -1, + 138 + ], + "'STRING": [ + -1, + 138 + ], + "'RPAREN": [ + -1, + 138 + ], + "'TYPE": [ + -1, + 138 + ], + "'DATA": [ + -1, + 138 + ], + "'TIMES": [ + -1, + 138 + ], + "'PARENSPACE": [ + -1, + 138 + ], + "'DOT": [ + -1, + 138 + ], + "'SPY": [ + -1, + 138 + ], + "'NEWTYPE": [ + -1, + 138 + ], + "'LBRACE": [ + -1, + 138 + ], + "'RBRACE": [ + -1, + 138 + ], + "'SEMI": [ + -1, + 138 + ], + "'SHADOW": [ + -1, + 138 + ], + "'LET": [ + -1, + 138 + ], + "'BLOCK": [ + -1, + 138 + ], + "'LETREC": [ + -1, + 138 + ], + "'TYPE-LET": [ + -1, + 138 + ], + "'FUN": [ + -1, + 138 + ], + "'LANGLE": [ + -1, + 138 + ], + "'LT": [ + -1, + 138 + ], + "'GT": [ + -1, + 138 + ], + "'PARENAFTERBRACE": [ + -1, + 138 + ], + "'WHERE": [ + -1, + 138 + ], + "'CHECK": [ + -1, + 138 + ], + "'EXAMPLES": [ + -1, + 138 + ], + "'CHECKCOLON": [ + -1, + 138 + ], + "'EXAMPLESCOLON": [ + -1, + 138 + ], + "'BECAUSE": [ + -1, + 138 + ], + "'BAR": [ + -1, + 138 + ], + "'SHARING": [ + -1, + 138 + ], + "'VAR": [ + -1, + 138 + ], + "'REC": [ + -1, + 138 + ], + "'WHEN": [ + -1, + 138 + ], + "'PLUS": [ + -1, + 138 + ], + "'DASH": [ + -1, + 138 + ], + "'SLASH": [ + -1, + 138 + ], + "'LEQ": [ + -1, + 138 + ], + "'GEQ": [ + -1, + 138 + ], + "'EQUALEQUAL": [ + -1, + 138 + ], + "'SPACESHIP": [ + -1, + 138 + ], + "'EQUALTILDE": [ + -1, + 138 + ], + "'NEQ": [ + -1, + 138 + ], + "'AND": [ + -1, + 138 + ], + "'OR": [ + -1, + 138 + ], + "'CARET": [ + -1, + 138 + ], + "'IS": [ + -1, + 138 + ], + "'ISEQUALEQUAL": [ + -1, + 138 + ], + "'ISEQUALTILDE": [ + -1, + 138 + ], + "'ISSPACESHIP": [ + -1, + 138 + ], + "'ISROUGHLY": [ + -1, + 138 + ], + "'ISNOT": [ + -1, + 138 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 138 + ], + "'ISNOTEQUALTILDE": [ + -1, + 138 + ], + "'ISNOTSPACESHIP": [ + -1, + 138 + ], + "'RAISES": [ + -1, + 138 + ], + "'RAISESOTHER": [ + -1, + 138 + ], + "'SATISFIES": [ + -1, + 138 + ], + "'SATISFIESNOT": [ + -1, + 138 + ], + "'RAISESSATISFIES": [ + -1, + 138 + ], + "'RAISESVIOLATES": [ + -1, + 138 + ], + "'RAISESNOT": [ + -1, + 138 + ], + "'DOTDOTDOT": [ + -1, + 138 + ], + "'NUMBER": [ + -1, + 138 + ], + "'RATIONAL": [ + -1, + 138 + ], + "'ROUGHRATIONAL": [ + -1, + 138 + ], + "'TRUE": [ + -1, + 138 + ], + "'FALSE": [ + -1, + 138 + ], + "'LAM": [ + -1, + 138 + ], + "'METHOD": [ + -1, + 138 + ], + "'LBRACK": [ + -1, + 138 + ], + "'RBRACK": [ + -1, + 138 + ], + "'TABLE": [ + -1, + 138 + ], + "'ROW": [ + -1, + 138 + ], + "'REACTOR": [ + -1, + 138 + ], + "'BANG": [ + -1, + 138 + ], + "'IF": [ + -1, + 138 + ], + "'ELSECOLON": [ + -1, + 138 + ], + "'ELSEIF": [ + -1, + 138 + ], + "'ASK": [ + -1, + 138 + ], + "'THENCOLON": [ + -1, + 138 + ], + "'CASES": [ + -1, + 138 + ], + "'FOR": [ + -1, + 138 + ], + "'TABLE-SELECT": [ + -1, + 138 + ], + "'TABLE-FILTER": [ + -1, + 138 + ], + "'USING": [ + -1, + 138 + ], + "'TABLE-ORDER": [ + -1, + 138 + ], + "'TABLE-EXTRACT": [ + -1, + 138 + ], + "'TABLE-UPDATE": [ + -1, + 138 + ], + "'TABLE-EXTEND": [ + -1, + 138 + ], + "'OF": [ + -1, + 138 + ], + "'LOAD-TABLE": [ + -1, + 138 + ], + "'SOURCECOLON": [ + -1, + 138 + ], + "'SANITIZE": [ + -1, + 138 + ] + }, + { + "$": [ + -1, + 140 + ], + "'NAME": [ + -1, + 140 + ], + "'COLON": [ + -1, + 140 + ], + "'END": [ + -1, + 140 + ], + "'COMMA": [ + -1, + 140 + ], + "'PARENNOSPACE": [ + -1, + 140 + ], + "'STRING": [ + -1, + 140 + ], + "'RPAREN": [ + -1, + 140 + ], + "'TYPE": [ + -1, + 140 + ], + "'DATA": [ + -1, + 140 + ], + "'TIMES": [ + -1, + 140 + ], + "'PARENSPACE": [ + -1, + 140 + ], + "'DOT": [ + -1, + 140 + ], + "'SPY": [ + -1, + 140 + ], + "'NEWTYPE": [ + -1, + 140 + ], + "'LBRACE": [ + -1, + 140 + ], + "'RBRACE": [ + -1, + 140 + ], + "'SEMI": [ + -1, + 140 + ], + "'SHADOW": [ + -1, + 140 + ], + "'LET": [ + -1, + 140 + ], + "'BLOCK": [ + -1, + 140 + ], + "'LETREC": [ + -1, + 140 + ], + "'TYPE-LET": [ + -1, + 140 + ], + "'FUN": [ + -1, + 140 + ], + "'LANGLE": [ + -1, + 140 + ], + "'LT": [ + -1, + 140 + ], + "'GT": [ + -1, + 140 + ], + "'PARENAFTERBRACE": [ + -1, + 140 + ], + "'WHERE": [ + -1, + 140 + ], + "'CHECK": [ + -1, + 140 + ], + "'EXAMPLES": [ + -1, + 140 + ], + "'CHECKCOLON": [ + -1, + 140 + ], + "'EXAMPLESCOLON": [ + -1, + 140 + ], + "'BECAUSE": [ + -1, + 140 + ], + "'BAR": [ + -1, + 140 + ], + "'SHARING": [ + -1, + 140 + ], + "'VAR": [ + -1, + 140 + ], + "'REC": [ + -1, + 140 + ], + "'WHEN": [ + -1, + 140 + ], + "'PLUS": [ + -1, + 140 + ], + "'DASH": [ + -1, + 140 + ], + "'SLASH": [ + -1, + 140 + ], + "'LEQ": [ + -1, + 140 + ], + "'GEQ": [ + -1, + 140 + ], + "'EQUALEQUAL": [ + -1, + 140 + ], + "'SPACESHIP": [ + -1, + 140 + ], + "'EQUALTILDE": [ + -1, + 140 + ], + "'NEQ": [ + -1, + 140 + ], + "'AND": [ + -1, + 140 + ], + "'OR": [ + -1, + 140 + ], + "'CARET": [ + -1, + 140 + ], + "'IS": [ + -1, + 140 + ], + "'ISEQUALEQUAL": [ + -1, + 140 + ], + "'ISEQUALTILDE": [ + -1, + 140 + ], + "'ISSPACESHIP": [ + -1, + 140 + ], + "'ISROUGHLY": [ + -1, + 140 + ], + "'ISNOT": [ + -1, + 140 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 140 + ], + "'ISNOTEQUALTILDE": [ + -1, + 140 + ], + "'ISNOTSPACESHIP": [ + -1, + 140 + ], + "'RAISES": [ + -1, + 140 + ], + "'RAISESOTHER": [ + -1, + 140 + ], + "'SATISFIES": [ + -1, + 140 + ], + "'SATISFIESNOT": [ + -1, + 140 + ], + "'RAISESSATISFIES": [ + -1, + 140 + ], + "'RAISESVIOLATES": [ + -1, + 140 + ], + "'RAISESNOT": [ + -1, + 140 + ], + "'DOTDOTDOT": [ + -1, + 140 + ], + "'NUMBER": [ + -1, + 140 + ], + "'RATIONAL": [ + -1, + 140 + ], + "'ROUGHRATIONAL": [ + -1, + 140 + ], + "'TRUE": [ + -1, + 140 + ], + "'FALSE": [ + -1, + 140 + ], + "'LAM": [ + -1, + 140 + ], + "'METHOD": [ + -1, + 140 + ], + "'LBRACK": [ + -1, + 140 + ], + "'RBRACK": [ + -1, + 140 + ], + "'TABLE": [ + -1, + 140 + ], + "'ROW": [ + -1, + 140 + ], + "'REACTOR": [ + -1, + 140 + ], + "'BANG": [ + -1, + 140 + ], + "'IF": [ + -1, + 140 + ], + "'ELSECOLON": [ + -1, + 140 + ], + "'ELSEIF": [ + -1, + 140 + ], + "'ASK": [ + -1, + 140 + ], + "'THENCOLON": [ + -1, + 140 + ], + "'CASES": [ + -1, + 140 + ], + "'FOR": [ + -1, + 140 + ], + "'TABLE-SELECT": [ + -1, + 140 + ], + "'TABLE-FILTER": [ + -1, + 140 + ], + "'USING": [ + -1, + 140 + ], + "'TABLE-ORDER": [ + -1, + 140 + ], + "'TABLE-EXTRACT": [ + -1, + 140 + ], + "'TABLE-UPDATE": [ + -1, + 140 + ], + "'TABLE-EXTEND": [ + -1, + 140 + ], + "'OF": [ + -1, + 140 + ], + "'LOAD-TABLE": [ + -1, + 140 + ], + "'SOURCECOLON": [ + -1, + 140 + ], + "'SANITIZE": [ + -1, + 140 + ] + }, + { + "$": [ + -1, + 142 + ], + "'NAME": [ + -1, + 142 + ], + "'COLON": [ + -1, + 142 + ], + "'END": [ + -1, + 142 + ], + "'COMMA": [ + -1, + 142 + ], + "'PARENNOSPACE": [ + -1, + 142 + ], + "'STRING": [ + -1, + 142 + ], + "'RPAREN": [ + -1, + 142 + ], + "'TYPE": [ + -1, + 142 + ], + "'DATA": [ + -1, + 142 + ], + "'TIMES": [ + -1, + 142 + ], + "'PARENSPACE": [ + -1, + 142 + ], + "'DOT": [ + -1, + 142 + ], + "'SPY": [ + -1, + 142 + ], + "'NEWTYPE": [ + -1, + 142 + ], + "'LBRACE": [ + -1, + 142 + ], + "'RBRACE": [ + -1, + 142 + ], + "'SEMI": [ + -1, + 142 + ], + "'SHADOW": [ + -1, + 142 + ], + "'LET": [ + -1, + 142 + ], + "'BLOCK": [ + -1, + 142 + ], + "'LETREC": [ + -1, + 142 + ], + "'TYPE-LET": [ + -1, + 142 + ], + "'FUN": [ + -1, + 142 + ], + "'LANGLE": [ + -1, + 142 + ], + "'LT": [ + -1, + 142 + ], + "'GT": [ + -1, + 142 + ], + "'PARENAFTERBRACE": [ + -1, + 142 + ], + "'WHERE": [ + -1, + 142 + ], + "'CHECK": [ + -1, + 142 + ], + "'EXAMPLES": [ + -1, + 142 + ], + "'CHECKCOLON": [ + -1, + 142 + ], + "'EXAMPLESCOLON": [ + -1, + 142 + ], + "'BECAUSE": [ + -1, + 142 + ], + "'BAR": [ + -1, + 142 + ], + "'SHARING": [ + -1, + 142 + ], + "'VAR": [ + -1, + 142 + ], + "'REC": [ + -1, + 142 + ], + "'WHEN": [ + -1, + 142 + ], + "'PLUS": [ + -1, + 142 + ], + "'DASH": [ + -1, + 142 + ], + "'SLASH": [ + -1, + 142 + ], + "'LEQ": [ + -1, + 142 + ], + "'GEQ": [ + -1, + 142 + ], + "'EQUALEQUAL": [ + -1, + 142 + ], + "'SPACESHIP": [ + -1, + 142 + ], + "'EQUALTILDE": [ + -1, + 142 + ], + "'NEQ": [ + -1, + 142 + ], + "'AND": [ + -1, + 142 + ], + "'OR": [ + -1, + 142 + ], + "'CARET": [ + -1, + 142 + ], + "'IS": [ + -1, + 142 + ], + "'ISEQUALEQUAL": [ + -1, + 142 + ], + "'ISEQUALTILDE": [ + -1, + 142 + ], + "'ISSPACESHIP": [ + -1, + 142 + ], + "'ISROUGHLY": [ + -1, + 142 + ], + "'ISNOT": [ + -1, + 142 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 142 + ], + "'ISNOTEQUALTILDE": [ + -1, + 142 + ], + "'ISNOTSPACESHIP": [ + -1, + 142 + ], + "'RAISES": [ + -1, + 142 + ], + "'RAISESOTHER": [ + -1, + 142 + ], + "'SATISFIES": [ + -1, + 142 + ], + "'SATISFIESNOT": [ + -1, + 142 + ], + "'RAISESSATISFIES": [ + -1, + 142 + ], + "'RAISESVIOLATES": [ + -1, + 142 + ], + "'RAISESNOT": [ + -1, + 142 + ], + "'DOTDOTDOT": [ + -1, + 142 + ], + "'NUMBER": [ + -1, + 142 + ], + "'RATIONAL": [ + -1, + 142 + ], + "'ROUGHRATIONAL": [ + -1, + 142 + ], + "'TRUE": [ + -1, + 142 + ], + "'FALSE": [ + -1, + 142 + ], + "'LAM": [ + -1, + 142 + ], + "'METHOD": [ + -1, + 142 + ], + "'LBRACK": [ + -1, + 142 + ], + "'RBRACK": [ + -1, + 142 + ], + "'TABLE": [ + -1, + 142 + ], + "'ROW": [ + -1, + 142 + ], + "'REACTOR": [ + -1, + 142 + ], + "'BANG": [ + -1, + 142 + ], + "'IF": [ + -1, + 142 + ], + "'ELSECOLON": [ + -1, + 142 + ], + "'ELSEIF": [ + -1, + 142 + ], + "'ASK": [ + -1, + 142 + ], + "'THENCOLON": [ + -1, + 142 + ], + "'CASES": [ + -1, + 142 + ], + "'FOR": [ + -1, + 142 + ], + "'TABLE-SELECT": [ + -1, + 142 + ], + "'TABLE-FILTER": [ + -1, + 142 + ], + "'USING": [ + -1, + 142 + ], + "'TABLE-ORDER": [ + -1, + 142 + ], + "'TABLE-EXTRACT": [ + -1, + 142 + ], + "'TABLE-UPDATE": [ + -1, + 142 + ], + "'TABLE-EXTEND": [ + -1, + 142 + ], + "'OF": [ + -1, + 142 + ], + "'LOAD-TABLE": [ + -1, + 142 + ], + "'SOURCECOLON": [ + -1, + 142 + ], + "'SANITIZE": [ + -1, + 142 + ] + }, + { + "$": [ + -1, + 144 + ], + "'NAME": [ + -1, + 144 + ], + "'COLON": [ + -1, + 144 + ], + "'END": [ + -1, + 144 + ], + "'COMMA": [ + -1, + 144 + ], + "'PARENNOSPACE": [ + -1, + 144 + ], + "'STRING": [ + -1, + 144 + ], + "'RPAREN": [ + -1, + 144 + ], + "'TYPE": [ + -1, + 144 + ], + "'DATA": [ + -1, + 144 + ], + "'TIMES": [ + -1, + 144 + ], + "'PARENSPACE": [ + -1, + 144 + ], + "'DOT": [ + -1, + 144 + ], + "'SPY": [ + -1, + 144 + ], + "'NEWTYPE": [ + -1, + 144 + ], + "'LBRACE": [ + -1, + 144 + ], + "'RBRACE": [ + -1, + 144 + ], + "'SEMI": [ + -1, + 144 + ], + "'SHADOW": [ + -1, + 144 + ], + "'LET": [ + -1, + 144 + ], + "'BLOCK": [ + -1, + 144 + ], + "'LETREC": [ + -1, + 144 + ], + "'TYPE-LET": [ + -1, + 144 + ], + "'FUN": [ + -1, + 144 + ], + "'LANGLE": [ + -1, + 144 + ], + "'LT": [ + -1, + 144 + ], + "'GT": [ + -1, + 144 + ], + "'PARENAFTERBRACE": [ + -1, + 144 + ], + "'WHERE": [ + -1, + 144 + ], + "'CHECK": [ + -1, + 144 + ], + "'EXAMPLES": [ + -1, + 144 + ], + "'CHECKCOLON": [ + -1, + 144 + ], + "'EXAMPLESCOLON": [ + -1, + 144 + ], + "'BECAUSE": [ + -1, + 144 + ], + "'BAR": [ + -1, + 144 + ], + "'SHARING": [ + -1, + 144 + ], + "'VAR": [ + -1, + 144 + ], + "'REC": [ + -1, + 144 + ], + "'WHEN": [ + -1, + 144 + ], + "'PLUS": [ + -1, + 144 + ], + "'DASH": [ + -1, + 144 + ], + "'SLASH": [ + -1, + 144 + ], + "'LEQ": [ + -1, + 144 + ], + "'GEQ": [ + -1, + 144 + ], + "'EQUALEQUAL": [ + -1, + 144 + ], + "'SPACESHIP": [ + -1, + 144 + ], + "'EQUALTILDE": [ + -1, + 144 + ], + "'NEQ": [ + -1, + 144 + ], + "'AND": [ + -1, + 144 + ], + "'OR": [ + -1, + 144 + ], + "'CARET": [ + -1, + 144 + ], + "'IS": [ + -1, + 144 + ], + "'ISEQUALEQUAL": [ + -1, + 144 + ], + "'ISEQUALTILDE": [ + -1, + 144 + ], + "'ISSPACESHIP": [ + -1, + 144 + ], + "'ISROUGHLY": [ + -1, + 144 + ], + "'ISNOT": [ + -1, + 144 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 144 + ], + "'ISNOTEQUALTILDE": [ + -1, + 144 + ], + "'ISNOTSPACESHIP": [ + -1, + 144 + ], + "'RAISES": [ + -1, + 144 + ], + "'RAISESOTHER": [ + -1, + 144 + ], + "'SATISFIES": [ + -1, + 144 + ], + "'SATISFIESNOT": [ + -1, + 144 + ], + "'RAISESSATISFIES": [ + -1, + 144 + ], + "'RAISESVIOLATES": [ + -1, + 144 + ], + "'RAISESNOT": [ + -1, + 144 + ], + "'DOTDOTDOT": [ + -1, + 144 + ], + "'NUMBER": [ + -1, + 144 + ], + "'RATIONAL": [ + -1, + 144 + ], + "'ROUGHRATIONAL": [ + -1, + 144 + ], + "'TRUE": [ + -1, + 144 + ], + "'FALSE": [ + -1, + 144 + ], + "'LAM": [ + -1, + 144 + ], + "'METHOD": [ + -1, + 144 + ], + "'LBRACK": [ + -1, + 144 + ], + "'RBRACK": [ + -1, + 144 + ], + "'TABLE": [ + -1, + 144 + ], + "'ROW": [ + -1, + 144 + ], + "'REACTOR": [ + -1, + 144 + ], + "'BANG": [ + -1, + 144 + ], + "'IF": [ + -1, + 144 + ], + "'ELSECOLON": [ + -1, + 144 + ], + "'ELSEIF": [ + -1, + 144 + ], + "'ASK": [ + -1, + 144 + ], + "'THENCOLON": [ + -1, + 144 + ], + "'CASES": [ + -1, + 144 + ], + "'FOR": [ + -1, + 144 + ], + "'TABLE-SELECT": [ + -1, + 144 + ], + "'TABLE-FILTER": [ + -1, + 144 + ], + "'USING": [ + -1, + 144 + ], + "'TABLE-ORDER": [ + -1, + 144 + ], + "'TABLE-EXTRACT": [ + -1, + 144 + ], + "'TABLE-UPDATE": [ + -1, + 144 + ], + "'TABLE-EXTEND": [ + -1, + 144 + ], + "'OF": [ + -1, + 144 + ], + "'LOAD-TABLE": [ + -1, + 144 + ], + "'SOURCECOLON": [ + -1, + 144 + ], + "'SANITIZE": [ + -1, + 144 + ] + }, + { + "$": [ + -1, + 146 + ], + "'NAME": [ + -1, + 146 + ], + "'COLON": [ + -1, + 146 + ], + "'END": [ + -1, + 146 + ], + "'COMMA": [ + -1, + 146 + ], + "'PARENNOSPACE": [ + -1, + 146 + ], + "'STRING": [ + -1, + 146 + ], + "'RPAREN": [ + -1, + 146 + ], + "'TYPE": [ + -1, + 146 + ], + "'DATA": [ + -1, + 146 + ], + "'TIMES": [ + -1, + 146 + ], + "'PARENSPACE": [ + -1, + 146 + ], + "'DOT": [ + -1, + 146 + ], + "'SPY": [ + -1, + 146 + ], + "'NEWTYPE": [ + -1, + 146 + ], + "'LBRACE": [ + -1, + 146 + ], + "'RBRACE": [ + -1, + 146 + ], + "'SEMI": [ + -1, + 146 + ], + "'SHADOW": [ + -1, + 146 + ], + "'LET": [ + -1, + 146 + ], + "'BLOCK": [ + -1, + 146 + ], + "'LETREC": [ + -1, + 146 + ], + "'TYPE-LET": [ + -1, + 146 + ], + "'FUN": [ + -1, + 146 + ], + "'LANGLE": [ + -1, + 146 + ], + "'LT": [ + -1, + 146 + ], + "'GT": [ + -1, + 146 + ], + "'PARENAFTERBRACE": [ + -1, + 146 + ], + "'WHERE": [ + -1, + 146 + ], + "'CHECK": [ + -1, + 146 + ], + "'EXAMPLES": [ + -1, + 146 + ], + "'CHECKCOLON": [ + -1, + 146 + ], + "'EXAMPLESCOLON": [ + -1, + 146 + ], + "'BECAUSE": [ + -1, + 146 + ], + "'BAR": [ + -1, + 146 + ], + "'SHARING": [ + -1, + 146 + ], + "'VAR": [ + -1, + 146 + ], + "'REC": [ + -1, + 146 + ], + "'WHEN": [ + -1, + 146 + ], + "'PLUS": [ + -1, + 146 + ], + "'DASH": [ + -1, + 146 + ], + "'SLASH": [ + -1, + 146 + ], + "'LEQ": [ + -1, + 146 + ], + "'GEQ": [ + -1, + 146 + ], + "'EQUALEQUAL": [ + -1, + 146 + ], + "'SPACESHIP": [ + -1, + 146 + ], + "'EQUALTILDE": [ + -1, + 146 + ], + "'NEQ": [ + -1, + 146 + ], + "'AND": [ + -1, + 146 + ], + "'OR": [ + -1, + 146 + ], + "'CARET": [ + -1, + 146 + ], + "'IS": [ + -1, + 146 + ], + "'ISEQUALEQUAL": [ + -1, + 146 + ], + "'ISEQUALTILDE": [ + -1, + 146 + ], + "'ISSPACESHIP": [ + -1, + 146 + ], + "'ISROUGHLY": [ + -1, + 146 + ], + "'ISNOT": [ + -1, + 146 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 146 + ], + "'ISNOTEQUALTILDE": [ + -1, + 146 + ], + "'ISNOTSPACESHIP": [ + -1, + 146 + ], + "'RAISES": [ + -1, + 146 + ], + "'RAISESOTHER": [ + -1, + 146 + ], + "'SATISFIES": [ + -1, + 146 + ], + "'SATISFIESNOT": [ + -1, + 146 + ], + "'RAISESSATISFIES": [ + -1, + 146 + ], + "'RAISESVIOLATES": [ + -1, + 146 + ], + "'RAISESNOT": [ + -1, + 146 + ], + "'DOTDOTDOT": [ + -1, + 146 + ], + "'NUMBER": [ + -1, + 146 + ], + "'RATIONAL": [ + -1, + 146 + ], + "'ROUGHRATIONAL": [ + -1, + 146 + ], + "'TRUE": [ + -1, + 146 + ], + "'FALSE": [ + -1, + 146 + ], + "'LAM": [ + -1, + 146 + ], + "'METHOD": [ + -1, + 146 + ], + "'LBRACK": [ + -1, + 146 + ], + "'RBRACK": [ + -1, + 146 + ], + "'TABLE": [ + -1, + 146 + ], + "'ROW": [ + -1, + 146 + ], + "'REACTOR": [ + -1, + 146 + ], + "'BANG": [ + -1, + 146 + ], + "'IF": [ + -1, + 146 + ], + "'ELSECOLON": [ + -1, + 146 + ], + "'ELSEIF": [ + -1, + 146 + ], + "'ASK": [ + -1, + 146 + ], + "'THENCOLON": [ + -1, + 146 + ], + "'CASES": [ + -1, + 146 + ], + "'FOR": [ + -1, + 146 + ], + "'TABLE-SELECT": [ + -1, + 146 + ], + "'TABLE-FILTER": [ + -1, + 146 + ], + "'USING": [ + -1, + 146 + ], + "'TABLE-ORDER": [ + -1, + 146 + ], + "'TABLE-EXTRACT": [ + -1, + 146 + ], + "'TABLE-UPDATE": [ + -1, + 146 + ], + "'TABLE-EXTEND": [ + -1, + 146 + ], + "'OF": [ + -1, + 146 + ], + "'LOAD-TABLE": [ + -1, + 146 + ], + "'SOURCECOLON": [ + -1, + 146 + ], + "'SANITIZE": [ + -1, + 146 + ] + }, + { + "$": [ + -1, + 148 + ], + "'NAME": [ + -1, + 148 + ], + "'COLON": [ + -1, + 148 + ], + "'END": [ + -1, + 148 + ], + "'COMMA": [ + -1, + 148 + ], + "'PARENNOSPACE": [ + -1, + 148 + ], + "'STRING": [ + -1, + 148 + ], + "'RPAREN": [ + -1, + 148 + ], + "'TYPE": [ + -1, + 148 + ], + "'DATA": [ + -1, + 148 + ], + "'TIMES": [ + -1, + 148 + ], + "'PARENSPACE": [ + -1, + 148 + ], + "'DOT": [ + -1, + 148 + ], + "'SPY": [ + -1, + 148 + ], + "'NEWTYPE": [ + -1, + 148 + ], + "'LBRACE": [ + -1, + 148 + ], + "'RBRACE": [ + -1, + 148 + ], + "'SEMI": [ + -1, + 148 + ], + "'SHADOW": [ + -1, + 148 + ], + "'LET": [ + -1, + 148 + ], + "'BLOCK": [ + -1, + 148 + ], + "'LETREC": [ + -1, + 148 + ], + "'TYPE-LET": [ + -1, + 148 + ], + "'FUN": [ + -1, + 148 + ], + "'LANGLE": [ + -1, + 148 + ], + "'LT": [ + -1, + 148 + ], + "'GT": [ + -1, + 148 + ], + "'PARENAFTERBRACE": [ + -1, + 148 + ], + "'WHERE": [ + -1, + 148 + ], + "'CHECK": [ + -1, + 148 + ], + "'EXAMPLES": [ + -1, + 148 + ], + "'CHECKCOLON": [ + -1, + 148 + ], + "'EXAMPLESCOLON": [ + -1, + 148 + ], + "'BECAUSE": [ + -1, + 148 + ], + "'BAR": [ + -1, + 148 + ], + "'SHARING": [ + -1, + 148 + ], + "'VAR": [ + -1, + 148 + ], + "'REC": [ + -1, + 148 + ], + "'WHEN": [ + -1, + 148 + ], + "'PLUS": [ + -1, + 148 + ], + "'DASH": [ + -1, + 148 + ], + "'SLASH": [ + -1, + 148 + ], + "'LEQ": [ + -1, + 148 + ], + "'GEQ": [ + -1, + 148 + ], + "'EQUALEQUAL": [ + -1, + 148 + ], + "'SPACESHIP": [ + -1, + 148 + ], + "'EQUALTILDE": [ + -1, + 148 + ], + "'NEQ": [ + -1, + 148 + ], + "'AND": [ + -1, + 148 + ], + "'OR": [ + -1, + 148 + ], + "'CARET": [ + -1, + 148 + ], + "'IS": [ + -1, + 148 + ], + "'ISEQUALEQUAL": [ + -1, + 148 + ], + "'ISEQUALTILDE": [ + -1, + 148 + ], + "'ISSPACESHIP": [ + -1, + 148 + ], + "'ISROUGHLY": [ + -1, + 148 + ], + "'ISNOT": [ + -1, + 148 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 148 + ], + "'ISNOTEQUALTILDE": [ + -1, + 148 + ], + "'ISNOTSPACESHIP": [ + -1, + 148 + ], + "'RAISES": [ + -1, + 148 + ], + "'RAISESOTHER": [ + -1, + 148 + ], + "'SATISFIES": [ + -1, + 148 + ], + "'SATISFIESNOT": [ + -1, + 148 + ], + "'RAISESSATISFIES": [ + -1, + 148 + ], + "'RAISESVIOLATES": [ + -1, + 148 + ], + "'RAISESNOT": [ + -1, + 148 + ], + "'DOTDOTDOT": [ + -1, + 148 + ], + "'NUMBER": [ + -1, + 148 + ], + "'RATIONAL": [ + -1, + 148 + ], + "'ROUGHRATIONAL": [ + -1, + 148 + ], + "'TRUE": [ + -1, + 148 + ], + "'FALSE": [ + -1, + 148 + ], + "'LAM": [ + -1, + 148 + ], + "'METHOD": [ + -1, + 148 + ], + "'LBRACK": [ + -1, + 148 + ], + "'RBRACK": [ + -1, + 148 + ], + "'TABLE": [ + -1, + 148 + ], + "'ROW": [ + -1, + 148 + ], + "'REACTOR": [ + -1, + 148 + ], + "'BANG": [ + -1, + 148 + ], + "'IF": [ + -1, + 148 + ], + "'ELSECOLON": [ + -1, + 148 + ], + "'ELSEIF": [ + -1, + 148 + ], + "'ASK": [ + -1, + 148 + ], + "'THENCOLON": [ + -1, + 148 + ], + "'CASES": [ + -1, + 148 + ], + "'FOR": [ + -1, + 148 + ], + "'TABLE-SELECT": [ + -1, + 148 + ], + "'TABLE-FILTER": [ + -1, + 148 + ], + "'USING": [ + -1, + 148 + ], + "'TABLE-ORDER": [ + -1, + 148 + ], + "'TABLE-EXTRACT": [ + -1, + 148 + ], + "'TABLE-UPDATE": [ + -1, + 148 + ], + "'TABLE-EXTEND": [ + -1, + 148 + ], + "'OF": [ + -1, + 148 + ], + "'LOAD-TABLE": [ + -1, + 148 + ], + "'SOURCECOLON": [ + -1, + 148 + ], + "'SANITIZE": [ + -1, + 148 + ] + }, + { + "$": [ + -1, + 150 + ], + "'NAME": [ + -1, + 150 + ], + "'COLON": [ + -1, + 150 + ], + "'END": [ + -1, + 150 + ], + "'COMMA": [ + -1, + 150 + ], + "'PARENNOSPACE": [ + -1, + 150 + ], + "'STRING": [ + -1, + 150 + ], + "'RPAREN": [ + -1, + 150 + ], + "'TYPE": [ + -1, + 150 + ], + "'DATA": [ + -1, + 150 + ], + "'TIMES": [ + -1, + 150 + ], + "'PARENSPACE": [ + -1, + 150 + ], + "'DOT": [ + -1, + 150 + ], + "'SPY": [ + -1, + 150 + ], + "'NEWTYPE": [ + -1, + 150 + ], + "'LBRACE": [ + -1, + 150 + ], + "'RBRACE": [ + -1, + 150 + ], + "'SEMI": [ + -1, + 150 + ], + "'SHADOW": [ + -1, + 150 + ], + "'LET": [ + -1, + 150 + ], + "'BLOCK": [ + -1, + 150 + ], + "'LETREC": [ + -1, + 150 + ], + "'TYPE-LET": [ + -1, + 150 + ], + "'FUN": [ + -1, + 150 + ], + "'LANGLE": [ + -1, + 150 + ], + "'LT": [ + -1, + 150 + ], + "'GT": [ + -1, + 150 + ], + "'PARENAFTERBRACE": [ + -1, + 150 + ], + "'WHERE": [ + -1, + 150 + ], + "'CHECK": [ + -1, + 150 + ], + "'EXAMPLES": [ + -1, + 150 + ], + "'CHECKCOLON": [ + -1, + 150 + ], + "'EXAMPLESCOLON": [ + -1, + 150 + ], + "'BECAUSE": [ + -1, + 150 + ], + "'BAR": [ + -1, + 150 + ], + "'SHARING": [ + -1, + 150 + ], + "'VAR": [ + -1, + 150 + ], + "'REC": [ + -1, + 150 + ], + "'WHEN": [ + -1, + 150 + ], + "'PLUS": [ + -1, + 150 + ], + "'DASH": [ + -1, + 150 + ], + "'SLASH": [ + -1, + 150 + ], + "'LEQ": [ + -1, + 150 + ], + "'GEQ": [ + -1, + 150 + ], + "'EQUALEQUAL": [ + -1, + 150 + ], + "'SPACESHIP": [ + -1, + 150 + ], + "'EQUALTILDE": [ + -1, + 150 + ], + "'NEQ": [ + -1, + 150 + ], + "'AND": [ + -1, + 150 + ], + "'OR": [ + -1, + 150 + ], + "'CARET": [ + -1, + 150 + ], + "'IS": [ + -1, + 150 + ], + "'ISEQUALEQUAL": [ + -1, + 150 + ], + "'ISEQUALTILDE": [ + -1, + 150 + ], + "'ISSPACESHIP": [ + -1, + 150 + ], + "'ISROUGHLY": [ + -1, + 150 + ], + "'ISNOT": [ + -1, + 150 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 150 + ], + "'ISNOTEQUALTILDE": [ + -1, + 150 + ], + "'ISNOTSPACESHIP": [ + -1, + 150 + ], + "'RAISES": [ + -1, + 150 + ], + "'RAISESOTHER": [ + -1, + 150 + ], + "'SATISFIES": [ + -1, + 150 + ], + "'SATISFIESNOT": [ + -1, + 150 + ], + "'RAISESSATISFIES": [ + -1, + 150 + ], + "'RAISESVIOLATES": [ + -1, + 150 + ], + "'RAISESNOT": [ + -1, + 150 + ], + "'DOTDOTDOT": [ + -1, + 150 + ], + "'NUMBER": [ + -1, + 150 + ], + "'RATIONAL": [ + -1, + 150 + ], + "'ROUGHRATIONAL": [ + -1, + 150 + ], + "'TRUE": [ + -1, + 150 + ], + "'FALSE": [ + -1, + 150 + ], + "'LAM": [ + -1, + 150 + ], + "'METHOD": [ + -1, + 150 + ], + "'LBRACK": [ + -1, + 150 + ], + "'RBRACK": [ + -1, + 150 + ], + "'TABLE": [ + -1, + 150 + ], + "'ROW": [ + -1, + 150 + ], + "'REACTOR": [ + -1, + 150 + ], + "'BANG": [ + -1, + 150 + ], + "'IF": [ + -1, + 150 + ], + "'ELSECOLON": [ + -1, + 150 + ], + "'ELSEIF": [ + -1, + 150 + ], + "'ASK": [ + -1, + 150 + ], + "'THENCOLON": [ + -1, + 150 + ], + "'CASES": [ + -1, + 150 + ], + "'FOR": [ + -1, + 150 + ], + "'TABLE-SELECT": [ + -1, + 150 + ], + "'TABLE-FILTER": [ + -1, + 150 + ], + "'USING": [ + -1, + 150 + ], + "'TABLE-ORDER": [ + -1, + 150 + ], + "'TABLE-EXTRACT": [ + -1, + 150 + ], + "'TABLE-UPDATE": [ + -1, + 150 + ], + "'TABLE-EXTEND": [ + -1, + 150 + ], + "'OF": [ + -1, + 150 + ], + "'LOAD-TABLE": [ + -1, + 150 + ], + "'SOURCECOLON": [ + -1, + 150 + ], + "'SANITIZE": [ + -1, + 150 + ] + }, + { + "$": [ + -1, + 152 + ], + "'NAME": [ + -1, + 152 + ], + "'COLON": [ + -1, + 152 + ], + "'END": [ + -1, + 152 + ], + "'COMMA": [ + -1, + 152 + ], + "'PARENNOSPACE": [ + -1, + 152 + ], + "'STRING": [ + -1, + 152 + ], + "'RPAREN": [ + -1, + 152 + ], + "'TYPE": [ + -1, + 152 + ], + "'DATA": [ + -1, + 152 + ], + "'TIMES": [ + -1, + 152 + ], + "'PARENSPACE": [ + -1, + 152 + ], + "'DOT": [ + -1, + 152 + ], + "'SPY": [ + -1, + 152 + ], + "'NEWTYPE": [ + -1, + 152 + ], + "'LBRACE": [ + -1, + 152 + ], + "'RBRACE": [ + -1, + 152 + ], + "'SEMI": [ + -1, + 152 + ], + "'SHADOW": [ + -1, + 152 + ], + "'LET": [ + -1, + 152 + ], + "'BLOCK": [ + -1, + 152 + ], + "'LETREC": [ + -1, + 152 + ], + "'TYPE-LET": [ + -1, + 152 + ], + "'FUN": [ + -1, + 152 + ], + "'LANGLE": [ + -1, + 152 + ], + "'LT": [ + -1, + 152 + ], + "'GT": [ + -1, + 152 + ], + "'PARENAFTERBRACE": [ + -1, + 152 + ], + "'WHERE": [ + -1, + 152 + ], + "'CHECK": [ + -1, + 152 + ], + "'EXAMPLES": [ + -1, + 152 + ], + "'CHECKCOLON": [ + -1, + 152 + ], + "'EXAMPLESCOLON": [ + -1, + 152 + ], + "'BECAUSE": [ + -1, + 152 + ], + "'BAR": [ + -1, + 152 + ], + "'SHARING": [ + -1, + 152 + ], + "'VAR": [ + -1, + 152 + ], + "'REC": [ + -1, + 152 + ], + "'WHEN": [ + -1, + 152 + ], + "'PLUS": [ + -1, + 152 + ], + "'DASH": [ + -1, + 152 + ], + "'SLASH": [ + -1, + 152 + ], + "'LEQ": [ + -1, + 152 + ], + "'GEQ": [ + -1, + 152 + ], + "'EQUALEQUAL": [ + -1, + 152 + ], + "'SPACESHIP": [ + -1, + 152 + ], + "'EQUALTILDE": [ + -1, + 152 + ], + "'NEQ": [ + -1, + 152 + ], + "'AND": [ + -1, + 152 + ], + "'OR": [ + -1, + 152 + ], + "'CARET": [ + -1, + 152 + ], + "'IS": [ + -1, + 152 + ], + "'ISEQUALEQUAL": [ + -1, + 152 + ], + "'ISEQUALTILDE": [ + -1, + 152 + ], + "'ISSPACESHIP": [ + -1, + 152 + ], + "'ISROUGHLY": [ + -1, + 152 + ], + "'ISNOT": [ + -1, + 152 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 152 + ], + "'ISNOTEQUALTILDE": [ + -1, + 152 + ], + "'ISNOTSPACESHIP": [ + -1, + 152 + ], + "'RAISES": [ + -1, + 152 + ], + "'RAISESOTHER": [ + -1, + 152 + ], + "'SATISFIES": [ + -1, + 152 + ], + "'SATISFIESNOT": [ + -1, + 152 + ], + "'RAISESSATISFIES": [ + -1, + 152 + ], + "'RAISESVIOLATES": [ + -1, + 152 + ], + "'RAISESNOT": [ + -1, + 152 + ], + "'DOTDOTDOT": [ + -1, + 152 + ], + "'NUMBER": [ + -1, + 152 + ], + "'RATIONAL": [ + -1, + 152 + ], + "'ROUGHRATIONAL": [ + -1, + 152 + ], + "'TRUE": [ + -1, + 152 + ], + "'FALSE": [ + -1, + 152 + ], + "'LAM": [ + -1, + 152 + ], + "'METHOD": [ + -1, + 152 + ], + "'LBRACK": [ + -1, + 152 + ], + "'RBRACK": [ + -1, + 152 + ], + "'TABLE": [ + -1, + 152 + ], + "'ROW": [ + -1, + 152 + ], + "'REACTOR": [ + -1, + 152 + ], + "'BANG": [ + -1, + 152 + ], + "'IF": [ + -1, + 152 + ], + "'ELSECOLON": [ + -1, + 152 + ], + "'ELSEIF": [ + -1, + 152 + ], + "'ASK": [ + -1, + 152 + ], + "'THENCOLON": [ + -1, + 152 + ], + "'CASES": [ + -1, + 152 + ], + "'FOR": [ + -1, + 152 + ], + "'TABLE-SELECT": [ + -1, + 152 + ], + "'TABLE-FILTER": [ + -1, + 152 + ], + "'USING": [ + -1, + 152 + ], + "'TABLE-ORDER": [ + -1, + 152 + ], + "'TABLE-EXTRACT": [ + -1, + 152 + ], + "'TABLE-UPDATE": [ + -1, + 152 + ], + "'TABLE-EXTEND": [ + -1, + 152 + ], + "'OF": [ + -1, + 152 + ], + "'LOAD-TABLE": [ + -1, + 152 + ], + "'SOURCECOLON": [ + -1, + 152 + ], + "'SANITIZE": [ + -1, + 152 + ] + }, + { + "$": [ + -1, + 154 + ], + "'NAME": [ + -1, + 154 + ], + "'COLON": [ + -1, + 154 + ], + "'END": [ + -1, + 154 + ], + "'COMMA": [ + -1, + 154 + ], + "'PARENNOSPACE": [ + -1, + 154 + ], + "'STRING": [ + -1, + 154 + ], + "'RPAREN": [ + -1, + 154 + ], + "'TYPE": [ + -1, + 154 + ], + "'DATA": [ + -1, + 154 + ], + "'TIMES": [ + -1, + 154 + ], + "'PARENSPACE": [ + -1, + 154 + ], + "'DOT": [ + -1, + 154 + ], + "'SPY": [ + -1, + 154 + ], + "'NEWTYPE": [ + -1, + 154 + ], + "'LBRACE": [ + -1, + 154 + ], + "'RBRACE": [ + -1, + 154 + ], + "'SEMI": [ + -1, + 154 + ], + "'SHADOW": [ + -1, + 154 + ], + "'LET": [ + -1, + 154 + ], + "'BLOCK": [ + -1, + 154 + ], + "'LETREC": [ + -1, + 154 + ], + "'TYPE-LET": [ + -1, + 154 + ], + "'FUN": [ + -1, + 154 + ], + "'LANGLE": [ + -1, + 154 + ], + "'LT": [ + -1, + 154 + ], + "'GT": [ + -1, + 154 + ], + "'PARENAFTERBRACE": [ + -1, + 154 + ], + "'WHERE": [ + -1, + 154 + ], + "'CHECK": [ + -1, + 154 + ], + "'EXAMPLES": [ + -1, + 154 + ], + "'CHECKCOLON": [ + -1, + 154 + ], + "'EXAMPLESCOLON": [ + -1, + 154 + ], + "'BECAUSE": [ + -1, + 154 + ], + "'BAR": [ + -1, + 154 + ], + "'SHARING": [ + -1, + 154 + ], + "'VAR": [ + -1, + 154 + ], + "'REC": [ + -1, + 154 + ], + "'WHEN": [ + -1, + 154 + ], + "'PLUS": [ + -1, + 154 + ], + "'DASH": [ + -1, + 154 + ], + "'SLASH": [ + -1, + 154 + ], + "'LEQ": [ + -1, + 154 + ], + "'GEQ": [ + -1, + 154 + ], + "'EQUALEQUAL": [ + -1, + 154 + ], + "'SPACESHIP": [ + -1, + 154 + ], + "'EQUALTILDE": [ + -1, + 154 + ], + "'NEQ": [ + -1, + 154 + ], + "'AND": [ + -1, + 154 + ], + "'OR": [ + -1, + 154 + ], + "'CARET": [ + -1, + 154 + ], + "'IS": [ + -1, + 154 + ], + "'ISEQUALEQUAL": [ + -1, + 154 + ], + "'ISEQUALTILDE": [ + -1, + 154 + ], + "'ISSPACESHIP": [ + -1, + 154 + ], + "'ISROUGHLY": [ + -1, + 154 + ], + "'ISNOT": [ + -1, + 154 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 154 + ], + "'ISNOTEQUALTILDE": [ + -1, + 154 + ], + "'ISNOTSPACESHIP": [ + -1, + 154 + ], + "'RAISES": [ + -1, + 154 + ], + "'RAISESOTHER": [ + -1, + 154 + ], + "'SATISFIES": [ + -1, + 154 + ], + "'SATISFIESNOT": [ + -1, + 154 + ], + "'RAISESSATISFIES": [ + -1, + 154 + ], + "'RAISESVIOLATES": [ + -1, + 154 + ], + "'RAISESNOT": [ + -1, + 154 + ], + "'DOTDOTDOT": [ + -1, + 154 + ], + "'NUMBER": [ + -1, + 154 + ], + "'RATIONAL": [ + -1, + 154 + ], + "'ROUGHRATIONAL": [ + -1, + 154 + ], + "'TRUE": [ + -1, + 154 + ], + "'FALSE": [ + -1, + 154 + ], + "'LAM": [ + -1, + 154 + ], + "'METHOD": [ + -1, + 154 + ], + "'LBRACK": [ + -1, + 154 + ], + "'RBRACK": [ + -1, + 154 + ], + "'TABLE": [ + -1, + 154 + ], + "'ROW": [ + -1, + 154 + ], + "'REACTOR": [ + -1, + 154 + ], + "'BANG": [ + -1, + 154 + ], + "'IF": [ + -1, + 154 + ], + "'ELSECOLON": [ + -1, + 154 + ], + "'ELSEIF": [ + -1, + 154 + ], + "'ASK": [ + -1, + 154 + ], + "'THENCOLON": [ + -1, + 154 + ], + "'CASES": [ + -1, + 154 + ], + "'FOR": [ + -1, + 154 + ], + "'TABLE-SELECT": [ + -1, + 154 + ], + "'TABLE-FILTER": [ + -1, + 154 + ], + "'USING": [ + -1, + 154 + ], + "'TABLE-ORDER": [ + -1, + 154 + ], + "'TABLE-EXTRACT": [ + -1, + 154 + ], + "'TABLE-UPDATE": [ + -1, + 154 + ], + "'TABLE-EXTEND": [ + -1, + 154 + ], + "'OF": [ + -1, + 154 + ], + "'LOAD-TABLE": [ + -1, + 154 + ], + "'SOURCECOLON": [ + -1, + 154 + ], + "'SANITIZE": [ + -1, + 154 + ] + }, + { + "$": [ + -1, + 156 + ], + "'NAME": [ + -1, + 156 + ], + "'COLON": [ + -1, + 156 + ], + "'END": [ + -1, + 156 + ], + "'COMMA": [ + -1, + 156 + ], + "'PARENNOSPACE": [ + -1, + 156 + ], + "'STRING": [ + -1, + 156 + ], + "'RPAREN": [ + -1, + 156 + ], + "'TYPE": [ + -1, + 156 + ], + "'DATA": [ + -1, + 156 + ], + "'TIMES": [ + -1, + 156 + ], + "'PARENSPACE": [ + -1, + 156 + ], + "'DOT": [ + -1, + 156 + ], + "'SPY": [ + -1, + 156 + ], + "'NEWTYPE": [ + -1, + 156 + ], + "'LBRACE": [ + -1, + 156 + ], + "'RBRACE": [ + -1, + 156 + ], + "'SEMI": [ + -1, + 156 + ], + "'SHADOW": [ + -1, + 156 + ], + "'LET": [ + -1, + 156 + ], + "'BLOCK": [ + -1, + 156 + ], + "'LETREC": [ + -1, + 156 + ], + "'TYPE-LET": [ + -1, + 156 + ], + "'FUN": [ + -1, + 156 + ], + "'LANGLE": [ + -1, + 156 + ], + "'LT": [ + -1, + 156 + ], + "'GT": [ + -1, + 156 + ], + "'PARENAFTERBRACE": [ + -1, + 156 + ], + "'WHERE": [ + -1, + 156 + ], + "'CHECK": [ + -1, + 156 + ], + "'EXAMPLES": [ + -1, + 156 + ], + "'CHECKCOLON": [ + -1, + 156 + ], + "'EXAMPLESCOLON": [ + -1, + 156 + ], + "'BECAUSE": [ + -1, + 156 + ], + "'BAR": [ + -1, + 156 + ], + "'SHARING": [ + -1, + 156 + ], + "'VAR": [ + -1, + 156 + ], + "'REC": [ + -1, + 156 + ], + "'WHEN": [ + -1, + 156 + ], + "'PLUS": [ + -1, + 156 + ], + "'DASH": [ + -1, + 156 + ], + "'SLASH": [ + -1, + 156 + ], + "'LEQ": [ + -1, + 156 + ], + "'GEQ": [ + -1, + 156 + ], + "'EQUALEQUAL": [ + -1, + 156 + ], + "'SPACESHIP": [ + -1, + 156 + ], + "'EQUALTILDE": [ + -1, + 156 + ], + "'NEQ": [ + -1, + 156 + ], + "'AND": [ + -1, + 156 + ], + "'OR": [ + -1, + 156 + ], + "'CARET": [ + -1, + 156 + ], + "'IS": [ + -1, + 156 + ], + "'ISEQUALEQUAL": [ + -1, + 156 + ], + "'ISEQUALTILDE": [ + -1, + 156 + ], + "'ISSPACESHIP": [ + -1, + 156 + ], + "'ISROUGHLY": [ + -1, + 156 + ], + "'ISNOT": [ + -1, + 156 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 156 + ], + "'ISNOTEQUALTILDE": [ + -1, + 156 + ], + "'ISNOTSPACESHIP": [ + -1, + 156 + ], + "'RAISES": [ + -1, + 156 + ], + "'RAISESOTHER": [ + -1, + 156 + ], + "'SATISFIES": [ + -1, + 156 + ], + "'SATISFIESNOT": [ + -1, + 156 + ], + "'RAISESSATISFIES": [ + -1, + 156 + ], + "'RAISESVIOLATES": [ + -1, + 156 + ], + "'RAISESNOT": [ + -1, + 156 + ], + "'DOTDOTDOT": [ + -1, + 156 + ], + "'NUMBER": [ + -1, + 156 + ], + "'RATIONAL": [ + -1, + 156 + ], + "'ROUGHRATIONAL": [ + -1, + 156 + ], + "'TRUE": [ + -1, + 156 + ], + "'FALSE": [ + -1, + 156 + ], + "'LAM": [ + -1, + 156 + ], + "'METHOD": [ + -1, + 156 + ], + "'LBRACK": [ + -1, + 156 + ], + "'RBRACK": [ + -1, + 156 + ], + "'TABLE": [ + -1, + 156 + ], + "'ROW": [ + -1, + 156 + ], + "'REACTOR": [ + -1, + 156 + ], + "'BANG": [ + -1, + 156 + ], + "'IF": [ + -1, + 156 + ], + "'ELSECOLON": [ + -1, + 156 + ], + "'ELSEIF": [ + -1, + 156 + ], + "'ASK": [ + -1, + 156 + ], + "'THENCOLON": [ + -1, + 156 + ], + "'CASES": [ + -1, + 156 + ], + "'FOR": [ + -1, + 156 + ], + "'TABLE-SELECT": [ + -1, + 156 + ], + "'TABLE-FILTER": [ + -1, + 156 + ], + "'USING": [ + -1, + 156 + ], + "'TABLE-ORDER": [ + -1, + 156 + ], + "'TABLE-EXTRACT": [ + -1, + 156 + ], + "'TABLE-UPDATE": [ + -1, + 156 + ], + "'TABLE-EXTEND": [ + -1, + 156 + ], + "'OF": [ + -1, + 156 + ], + "'LOAD-TABLE": [ + -1, + 156 + ], + "'SOURCECOLON": [ + -1, + 156 + ], + "'SANITIZE": [ + -1, + 156 + ] + }, + { + "$": [ + -1, + 158 + ], + "'NAME": [ + -1, + 158 + ], + "'COLON": [ + -1, + 158 + ], + "'END": [ + -1, + 158 + ], + "'COMMA": [ + -1, + 158 + ], + "'PARENNOSPACE": [ + -1, + 158 + ], + "'STRING": [ + -1, + 158 + ], + "'RPAREN": [ + -1, + 158 + ], + "'TYPE": [ + -1, + 158 + ], + "'DATA": [ + -1, + 158 + ], + "'TIMES": [ + -1, + 158 + ], + "'PARENSPACE": [ + -1, + 158 + ], + "'DOT": [ + -1, + 158 + ], + "'SPY": [ + -1, + 158 + ], + "'NEWTYPE": [ + -1, + 158 + ], + "'LBRACE": [ + -1, + 158 + ], + "'RBRACE": [ + -1, + 158 + ], + "'SEMI": [ + -1, + 158 + ], + "'SHADOW": [ + -1, + 158 + ], + "'LET": [ + -1, + 158 + ], + "'BLOCK": [ + -1, + 158 + ], + "'LETREC": [ + -1, + 158 + ], + "'TYPE-LET": [ + -1, + 158 + ], + "'FUN": [ + -1, + 158 + ], + "'LANGLE": [ + -1, + 158 + ], + "'LT": [ + -1, + 158 + ], + "'GT": [ + -1, + 158 + ], + "'PARENAFTERBRACE": [ + -1, + 158 + ], + "'WHERE": [ + -1, + 158 + ], + "'CHECK": [ + -1, + 158 + ], + "'EXAMPLES": [ + -1, + 158 + ], + "'CHECKCOLON": [ + -1, + 158 + ], + "'EXAMPLESCOLON": [ + -1, + 158 + ], + "'BECAUSE": [ + -1, + 158 + ], + "'BAR": [ + -1, + 158 + ], + "'SHARING": [ + -1, + 158 + ], + "'VAR": [ + -1, + 158 + ], + "'REC": [ + -1, + 158 + ], + "'WHEN": [ + -1, + 158 + ], + "'PLUS": [ + -1, + 158 + ], + "'DASH": [ + -1, + 158 + ], + "'SLASH": [ + -1, + 158 + ], + "'LEQ": [ + -1, + 158 + ], + "'GEQ": [ + -1, + 158 + ], + "'EQUALEQUAL": [ + -1, + 158 + ], + "'SPACESHIP": [ + -1, + 158 + ], + "'EQUALTILDE": [ + -1, + 158 + ], + "'NEQ": [ + -1, + 158 + ], + "'AND": [ + -1, + 158 + ], + "'OR": [ + -1, + 158 + ], + "'CARET": [ + -1, + 158 + ], + "'IS": [ + -1, + 158 + ], + "'ISEQUALEQUAL": [ + -1, + 158 + ], + "'ISEQUALTILDE": [ + -1, + 158 + ], + "'ISSPACESHIP": [ + -1, + 158 + ], + "'ISROUGHLY": [ + -1, + 158 + ], + "'ISNOT": [ + -1, + 158 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 158 + ], + "'ISNOTEQUALTILDE": [ + -1, + 158 + ], + "'ISNOTSPACESHIP": [ + -1, + 158 + ], + "'RAISES": [ + -1, + 158 + ], + "'RAISESOTHER": [ + -1, + 158 + ], + "'SATISFIES": [ + -1, + 158 + ], + "'SATISFIESNOT": [ + -1, + 158 + ], + "'RAISESSATISFIES": [ + -1, + 158 + ], + "'RAISESVIOLATES": [ + -1, + 158 + ], + "'RAISESNOT": [ + -1, + 158 + ], + "'DOTDOTDOT": [ + -1, + 158 + ], + "'NUMBER": [ + -1, + 158 + ], + "'RATIONAL": [ + -1, + 158 + ], + "'ROUGHRATIONAL": [ + -1, + 158 + ], + "'TRUE": [ + -1, + 158 + ], + "'FALSE": [ + -1, + 158 + ], + "'LAM": [ + -1, + 158 + ], + "'METHOD": [ + -1, + 158 + ], + "'LBRACK": [ + -1, + 158 + ], + "'RBRACK": [ + -1, + 158 + ], + "'TABLE": [ + -1, + 158 + ], + "'ROW": [ + -1, + 158 + ], + "'REACTOR": [ + -1, + 158 + ], + "'BANG": [ + -1, + 158 + ], + "'IF": [ + -1, + 158 + ], + "'ELSECOLON": [ + -1, + 158 + ], + "'ELSEIF": [ + -1, + 158 + ], + "'ASK": [ + -1, + 158 + ], + "'THENCOLON": [ + -1, + 158 + ], + "'CASES": [ + -1, + 158 + ], + "'FOR": [ + -1, + 158 + ], + "'TABLE-SELECT": [ + -1, + 158 + ], + "'TABLE-FILTER": [ + -1, + 158 + ], + "'USING": [ + -1, + 158 + ], + "'TABLE-ORDER": [ + -1, + 158 + ], + "'TABLE-EXTRACT": [ + -1, + 158 + ], + "'TABLE-UPDATE": [ + -1, + 158 + ], + "'TABLE-EXTEND": [ + -1, + 158 + ], + "'OF": [ + -1, + 158 + ], + "'LOAD-TABLE": [ + -1, + 158 + ], + "'SOURCECOLON": [ + -1, + 158 + ], + "'SANITIZE": [ + -1, + 158 + ] + }, + { + "$": [ + -1, + 160 + ], + "'NAME": [ + -1, + 160 + ], + "'COLON": [ + -1, + 160 + ], + "'END": [ + -1, + 160 + ], + "'COMMA": [ + -1, + 160 + ], + "'PARENNOSPACE": [ + -1, + 160 + ], + "'STRING": [ + -1, + 160 + ], + "'RPAREN": [ + -1, + 160 + ], + "'TYPE": [ + -1, + 160 + ], + "'DATA": [ + -1, + 160 + ], + "'TIMES": [ + -1, + 160 + ], + "'PARENSPACE": [ + -1, + 160 + ], + "'DOT": [ + -1, + 160 + ], + "'SPY": [ + -1, + 160 + ], + "'NEWTYPE": [ + -1, + 160 + ], + "'LBRACE": [ + -1, + 160 + ], + "'RBRACE": [ + -1, + 160 + ], + "'SEMI": [ + -1, + 160 + ], + "'SHADOW": [ + -1, + 160 + ], + "'LET": [ + -1, + 160 + ], + "'BLOCK": [ + -1, + 160 + ], + "'LETREC": [ + -1, + 160 + ], + "'TYPE-LET": [ + -1, + 160 + ], + "'FUN": [ + -1, + 160 + ], + "'LANGLE": [ + -1, + 160 + ], + "'LT": [ + -1, + 160 + ], + "'GT": [ + -1, + 160 + ], + "'PARENAFTERBRACE": [ + -1, + 160 + ], + "'WHERE": [ + -1, + 160 + ], + "'CHECK": [ + -1, + 160 + ], + "'EXAMPLES": [ + -1, + 160 + ], + "'CHECKCOLON": [ + -1, + 160 + ], + "'EXAMPLESCOLON": [ + -1, + 160 + ], + "'BECAUSE": [ + -1, + 160 + ], + "'BAR": [ + -1, + 160 + ], + "'SHARING": [ + -1, + 160 + ], + "'VAR": [ + -1, + 160 + ], + "'REC": [ + -1, + 160 + ], + "'WHEN": [ + -1, + 160 + ], + "'PLUS": [ + -1, + 160 + ], + "'DASH": [ + -1, + 160 + ], + "'SLASH": [ + -1, + 160 + ], + "'LEQ": [ + -1, + 160 + ], + "'GEQ": [ + -1, + 160 + ], + "'EQUALEQUAL": [ + -1, + 160 + ], + "'SPACESHIP": [ + -1, + 160 + ], + "'EQUALTILDE": [ + -1, + 160 + ], + "'NEQ": [ + -1, + 160 + ], + "'AND": [ + -1, + 160 + ], + "'OR": [ + -1, + 160 + ], + "'CARET": [ + -1, + 160 + ], + "'IS": [ + -1, + 160 + ], + "'ISEQUALEQUAL": [ + -1, + 160 + ], + "'ISEQUALTILDE": [ + -1, + 160 + ], + "'ISSPACESHIP": [ + -1, + 160 + ], + "'ISROUGHLY": [ + -1, + 160 + ], + "'ISNOT": [ + -1, + 160 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 160 + ], + "'ISNOTEQUALTILDE": [ + -1, + 160 + ], + "'ISNOTSPACESHIP": [ + -1, + 160 + ], + "'RAISES": [ + -1, + 160 + ], + "'RAISESOTHER": [ + -1, + 160 + ], + "'SATISFIES": [ + -1, + 160 + ], + "'SATISFIESNOT": [ + -1, + 160 + ], + "'RAISESSATISFIES": [ + -1, + 160 + ], + "'RAISESVIOLATES": [ + -1, + 160 + ], + "'RAISESNOT": [ + -1, + 160 + ], + "'DOTDOTDOT": [ + -1, + 160 + ], + "'NUMBER": [ + -1, + 160 + ], + "'RATIONAL": [ + -1, + 160 + ], + "'ROUGHRATIONAL": [ + -1, + 160 + ], + "'TRUE": [ + -1, + 160 + ], + "'FALSE": [ + -1, + 160 + ], + "'LAM": [ + -1, + 160 + ], + "'METHOD": [ + -1, + 160 + ], + "'LBRACK": [ + -1, + 160 + ], + "'RBRACK": [ + -1, + 160 + ], + "'TABLE": [ + -1, + 160 + ], + "'ROW": [ + -1, + 160 + ], + "'REACTOR": [ + -1, + 160 + ], + "'BANG": [ + -1, + 160 + ], + "'IF": [ + -1, + 160 + ], + "'ELSECOLON": [ + -1, + 160 + ], + "'ELSEIF": [ + -1, + 160 + ], + "'ASK": [ + -1, + 160 + ], + "'THENCOLON": [ + -1, + 160 + ], + "'CASES": [ + -1, + 160 + ], + "'FOR": [ + -1, + 160 + ], + "'TABLE-SELECT": [ + -1, + 160 + ], + "'TABLE-FILTER": [ + -1, + 160 + ], + "'USING": [ + -1, + 160 + ], + "'TABLE-ORDER": [ + -1, + 160 + ], + "'TABLE-EXTRACT": [ + -1, + 160 + ], + "'TABLE-UPDATE": [ + -1, + 160 + ], + "'TABLE-EXTEND": [ + -1, + 160 + ], + "'OF": [ + -1, + 160 + ], + "'LOAD-TABLE": [ + -1, + 160 + ], + "'SOURCECOLON": [ + -1, + 160 + ], + "'SANITIZE": [ + -1, + 160 + ] + }, + { + "$": [ + -1, + 162 + ], + "'NAME": [ + -1, + 162 + ], + "'COLON": [ + -1, + 162 + ], + "'END": [ + -1, + 162 + ], + "'COMMA": [ + -1, + 162 + ], + "'PARENNOSPACE": [ + -1, + 162 + ], + "'STRING": [ + -1, + 162 + ], + "'RPAREN": [ + -1, + 162 + ], + "'TYPE": [ + -1, + 162 + ], + "'DATA": [ + -1, + 162 + ], + "'TIMES": [ + -1, + 162 + ], + "'PARENSPACE": [ + -1, + 162 + ], + "'DOT": [ + -1, + 162 + ], + "'SPY": [ + -1, + 162 + ], + "'NEWTYPE": [ + -1, + 162 + ], + "'LBRACE": [ + -1, + 162 + ], + "'RBRACE": [ + -1, + 162 + ], + "'SEMI": [ + -1, + 162 + ], + "'SHADOW": [ + -1, + 162 + ], + "'LET": [ + -1, + 162 + ], + "'BLOCK": [ + -1, + 162 + ], + "'LETREC": [ + -1, + 162 + ], + "'TYPE-LET": [ + -1, + 162 + ], + "'FUN": [ + -1, + 162 + ], + "'LANGLE": [ + -1, + 162 + ], + "'LT": [ + -1, + 162 + ], + "'GT": [ + -1, + 162 + ], + "'PARENAFTERBRACE": [ + -1, + 162 + ], + "'WHERE": [ + -1, + 162 + ], + "'CHECK": [ + -1, + 162 + ], + "'EXAMPLES": [ + -1, + 162 + ], + "'CHECKCOLON": [ + -1, + 162 + ], + "'EXAMPLESCOLON": [ + -1, + 162 + ], + "'BECAUSE": [ + -1, + 162 + ], + "'BAR": [ + -1, + 162 + ], + "'SHARING": [ + -1, + 162 + ], + "'VAR": [ + -1, + 162 + ], + "'REC": [ + -1, + 162 + ], + "'WHEN": [ + -1, + 162 + ], + "'PLUS": [ + -1, + 162 + ], + "'DASH": [ + -1, + 162 + ], + "'SLASH": [ + -1, + 162 + ], + "'LEQ": [ + -1, + 162 + ], + "'GEQ": [ + -1, + 162 + ], + "'EQUALEQUAL": [ + -1, + 162 + ], + "'SPACESHIP": [ + -1, + 162 + ], + "'EQUALTILDE": [ + -1, + 162 + ], + "'NEQ": [ + -1, + 162 + ], + "'AND": [ + -1, + 162 + ], + "'OR": [ + -1, + 162 + ], + "'CARET": [ + -1, + 162 + ], + "'IS": [ + -1, + 162 + ], + "'ISEQUALEQUAL": [ + -1, + 162 + ], + "'ISEQUALTILDE": [ + -1, + 162 + ], + "'ISSPACESHIP": [ + -1, + 162 + ], + "'ISROUGHLY": [ + -1, + 162 + ], + "'ISNOT": [ + -1, + 162 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 162 + ], + "'ISNOTEQUALTILDE": [ + -1, + 162 + ], + "'ISNOTSPACESHIP": [ + -1, + 162 + ], + "'RAISES": [ + -1, + 162 + ], + "'RAISESOTHER": [ + -1, + 162 + ], + "'SATISFIES": [ + -1, + 162 + ], + "'SATISFIESNOT": [ + -1, + 162 + ], + "'RAISESSATISFIES": [ + -1, + 162 + ], + "'RAISESVIOLATES": [ + -1, + 162 + ], + "'RAISESNOT": [ + -1, + 162 + ], + "'DOTDOTDOT": [ + -1, + 162 + ], + "'NUMBER": [ + -1, + 162 + ], + "'RATIONAL": [ + -1, + 162 + ], + "'ROUGHRATIONAL": [ + -1, + 162 + ], + "'TRUE": [ + -1, + 162 + ], + "'FALSE": [ + -1, + 162 + ], + "'LAM": [ + -1, + 162 + ], + "'METHOD": [ + -1, + 162 + ], + "'LBRACK": [ + -1, + 162 + ], + "'RBRACK": [ + -1, + 162 + ], + "'TABLE": [ + -1, + 162 + ], + "'ROW": [ + -1, + 162 + ], + "'REACTOR": [ + -1, + 162 + ], + "'BANG": [ + -1, + 162 + ], + "'IF": [ + -1, + 162 + ], + "'ELSECOLON": [ + -1, + 162 + ], + "'ELSEIF": [ + -1, + 162 + ], + "'ASK": [ + -1, + 162 + ], + "'THENCOLON": [ + -1, + 162 + ], + "'CASES": [ + -1, + 162 + ], + "'FOR": [ + -1, + 162 + ], + "'TABLE-SELECT": [ + -1, + 162 + ], + "'TABLE-FILTER": [ + -1, + 162 + ], + "'USING": [ + -1, + 162 + ], + "'TABLE-ORDER": [ + -1, + 162 + ], + "'TABLE-EXTRACT": [ + -1, + 162 + ], + "'TABLE-UPDATE": [ + -1, + 162 + ], + "'TABLE-EXTEND": [ + -1, + 162 + ], + "'OF": [ + -1, + 162 + ], + "'LOAD-TABLE": [ + -1, + 162 + ], + "'SOURCECOLON": [ + -1, + 162 + ], + "'SANITIZE": [ + -1, + 162 + ] + }, + { + "$": [ + -1, + 164 + ], + "'NAME": [ + -1, + 164 + ], + "'COLON": [ + -1, + 164 + ], + "'END": [ + -1, + 164 + ], + "'COMMA": [ + -1, + 164 + ], + "'PARENNOSPACE": [ + -1, + 164 + ], + "'STRING": [ + -1, + 164 + ], + "'RPAREN": [ + -1, + 164 + ], + "'TYPE": [ + -1, + 164 + ], + "'DATA": [ + -1, + 164 + ], + "'TIMES": [ + -1, + 164 + ], + "'PARENSPACE": [ + -1, + 164 + ], + "'DOT": [ + -1, + 164 + ], + "'SPY": [ + -1, + 164 + ], + "'NEWTYPE": [ + -1, + 164 + ], + "'LBRACE": [ + -1, + 164 + ], + "'RBRACE": [ + -1, + 164 + ], + "'SEMI": [ + -1, + 164 + ], + "'SHADOW": [ + -1, + 164 + ], + "'LET": [ + -1, + 164 + ], + "'BLOCK": [ + -1, + 164 + ], + "'LETREC": [ + -1, + 164 + ], + "'TYPE-LET": [ + -1, + 164 + ], + "'FUN": [ + -1, + 164 + ], + "'LANGLE": [ + -1, + 164 + ], + "'LT": [ + -1, + 164 + ], + "'GT": [ + -1, + 164 + ], + "'PARENAFTERBRACE": [ + -1, + 164 + ], + "'WHERE": [ + -1, + 164 + ], + "'CHECK": [ + -1, + 164 + ], + "'EXAMPLES": [ + -1, + 164 + ], + "'CHECKCOLON": [ + -1, + 164 + ], + "'EXAMPLESCOLON": [ + -1, + 164 + ], + "'BECAUSE": [ + -1, + 164 + ], + "'BAR": [ + -1, + 164 + ], + "'SHARING": [ + -1, + 164 + ], + "'VAR": [ + -1, + 164 + ], + "'REC": [ + -1, + 164 + ], + "'WHEN": [ + -1, + 164 + ], + "'PLUS": [ + -1, + 164 + ], + "'DASH": [ + -1, + 164 + ], + "'SLASH": [ + -1, + 164 + ], + "'LEQ": [ + -1, + 164 + ], + "'GEQ": [ + -1, + 164 + ], + "'EQUALEQUAL": [ + -1, + 164 + ], + "'SPACESHIP": [ + -1, + 164 + ], + "'EQUALTILDE": [ + -1, + 164 + ], + "'NEQ": [ + -1, + 164 + ], + "'AND": [ + -1, + 164 + ], + "'OR": [ + -1, + 164 + ], + "'CARET": [ + -1, + 164 + ], + "'IS": [ + -1, + 164 + ], + "'ISEQUALEQUAL": [ + -1, + 164 + ], + "'ISEQUALTILDE": [ + -1, + 164 + ], + "'ISSPACESHIP": [ + -1, + 164 + ], + "'ISROUGHLY": [ + -1, + 164 + ], + "'ISNOT": [ + -1, + 164 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 164 + ], + "'ISNOTEQUALTILDE": [ + -1, + 164 + ], + "'ISNOTSPACESHIP": [ + -1, + 164 + ], + "'RAISES": [ + -1, + 164 + ], + "'RAISESOTHER": [ + -1, + 164 + ], + "'SATISFIES": [ + -1, + 164 + ], + "'SATISFIESNOT": [ + -1, + 164 + ], + "'RAISESSATISFIES": [ + -1, + 164 + ], + "'RAISESVIOLATES": [ + -1, + 164 + ], + "'RAISESNOT": [ + -1, + 164 + ], + "'DOTDOTDOT": [ + -1, + 164 + ], + "'NUMBER": [ + -1, + 164 + ], + "'RATIONAL": [ + -1, + 164 + ], + "'ROUGHRATIONAL": [ + -1, + 164 + ], + "'TRUE": [ + -1, + 164 + ], + "'FALSE": [ + -1, + 164 + ], + "'LAM": [ + -1, + 164 + ], + "'METHOD": [ + -1, + 164 + ], + "'LBRACK": [ + -1, + 164 + ], + "'RBRACK": [ + -1, + 164 + ], + "'TABLE": [ + -1, + 164 + ], + "'ROW": [ + -1, + 164 + ], + "'REACTOR": [ + -1, + 164 + ], + "'BANG": [ + -1, + 164 + ], + "'IF": [ + -1, + 164 + ], + "'ELSECOLON": [ + -1, + 164 + ], + "'ELSEIF": [ + -1, + 164 + ], + "'ASK": [ + -1, + 164 + ], + "'THENCOLON": [ + -1, + 164 + ], + "'CASES": [ + -1, + 164 + ], + "'FOR": [ + -1, + 164 + ], + "'TABLE-SELECT": [ + -1, + 164 + ], + "'TABLE-FILTER": [ + -1, + 164 + ], + "'USING": [ + -1, + 164 + ], + "'TABLE-ORDER": [ + -1, + 164 + ], + "'TABLE-EXTRACT": [ + -1, + 164 + ], + "'TABLE-UPDATE": [ + -1, + 164 + ], + "'TABLE-EXTEND": [ + -1, + 164 + ], + "'OF": [ + -1, + 164 + ], + "'LOAD-TABLE": [ + -1, + 164 + ], + "'SOURCECOLON": [ + -1, + 164 + ], + "'SANITIZE": [ + -1, + 164 + ] + }, + { + "$": [ + -1, + 166 + ], + "'NAME": [ + -1, + 166 + ], + "'COLON": [ + -1, + 166 + ], + "'END": [ + -1, + 166 + ], + "'COMMA": [ + -1, + 166 + ], + "'PARENNOSPACE": [ + -1, + 166 + ], + "'STRING": [ + -1, + 166 + ], + "'RPAREN": [ + -1, + 166 + ], + "'TYPE": [ + -1, + 166 + ], + "'DATA": [ + -1, + 166 + ], + "'TIMES": [ + -1, + 166 + ], + "'PARENSPACE": [ + -1, + 166 + ], + "'DOT": [ + -1, + 166 + ], + "'SPY": [ + -1, + 166 + ], + "'NEWTYPE": [ + -1, + 166 + ], + "'LBRACE": [ + -1, + 166 + ], + "'RBRACE": [ + -1, + 166 + ], + "'SEMI": [ + -1, + 166 + ], + "'SHADOW": [ + -1, + 166 + ], + "'LET": [ + -1, + 166 + ], + "'BLOCK": [ + -1, + 166 + ], + "'LETREC": [ + -1, + 166 + ], + "'TYPE-LET": [ + -1, + 166 + ], + "'FUN": [ + -1, + 166 + ], + "'LANGLE": [ + -1, + 166 + ], + "'LT": [ + -1, + 166 + ], + "'GT": [ + -1, + 166 + ], + "'PARENAFTERBRACE": [ + -1, + 166 + ], + "'WHERE": [ + -1, + 166 + ], + "'CHECK": [ + -1, + 166 + ], + "'EXAMPLES": [ + -1, + 166 + ], + "'CHECKCOLON": [ + -1, + 166 + ], + "'EXAMPLESCOLON": [ + -1, + 166 + ], + "'BECAUSE": [ + -1, + 166 + ], + "'BAR": [ + -1, + 166 + ], + "'SHARING": [ + -1, + 166 + ], + "'VAR": [ + -1, + 166 + ], + "'REC": [ + -1, + 166 + ], + "'WHEN": [ + -1, + 166 + ], + "'PLUS": [ + -1, + 166 + ], + "'DASH": [ + -1, + 166 + ], + "'SLASH": [ + -1, + 166 + ], + "'LEQ": [ + -1, + 166 + ], + "'GEQ": [ + -1, + 166 + ], + "'EQUALEQUAL": [ + -1, + 166 + ], + "'SPACESHIP": [ + -1, + 166 + ], + "'EQUALTILDE": [ + -1, + 166 + ], + "'NEQ": [ + -1, + 166 + ], + "'AND": [ + -1, + 166 + ], + "'OR": [ + -1, + 166 + ], + "'CARET": [ + -1, + 166 + ], + "'IS": [ + -1, + 166 + ], + "'ISEQUALEQUAL": [ + -1, + 166 + ], + "'ISEQUALTILDE": [ + -1, + 166 + ], + "'ISSPACESHIP": [ + -1, + 166 + ], + "'ISROUGHLY": [ + -1, + 166 + ], + "'ISNOT": [ + -1, + 166 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 166 + ], + "'ISNOTEQUALTILDE": [ + -1, + 166 + ], + "'ISNOTSPACESHIP": [ + -1, + 166 + ], + "'RAISES": [ + -1, + 166 + ], + "'RAISESOTHER": [ + -1, + 166 + ], + "'SATISFIES": [ + -1, + 166 + ], + "'SATISFIESNOT": [ + -1, + 166 + ], + "'RAISESSATISFIES": [ + -1, + 166 + ], + "'RAISESVIOLATES": [ + -1, + 166 + ], + "'RAISESNOT": [ + -1, + 166 + ], + "'DOTDOTDOT": [ + -1, + 166 + ], + "'NUMBER": [ + -1, + 166 + ], + "'RATIONAL": [ + -1, + 166 + ], + "'ROUGHRATIONAL": [ + -1, + 166 + ], + "'TRUE": [ + -1, + 166 + ], + "'FALSE": [ + -1, + 166 + ], + "'LAM": [ + -1, + 166 + ], + "'METHOD": [ + -1, + 166 + ], + "'LBRACK": [ + -1, + 166 + ], + "'RBRACK": [ + -1, + 166 + ], + "'TABLE": [ + -1, + 166 + ], + "'ROW": [ + -1, + 166 + ], + "'REACTOR": [ + -1, + 166 + ], + "'BANG": [ + -1, + 166 + ], + "'IF": [ + -1, + 166 + ], + "'ELSECOLON": [ + -1, + 166 + ], + "'ELSEIF": [ + -1, + 166 + ], + "'ASK": [ + -1, + 166 + ], + "'THENCOLON": [ + -1, + 166 + ], + "'CASES": [ + -1, + 166 + ], + "'FOR": [ + -1, + 166 + ], + "'TABLE-SELECT": [ + -1, + 166 + ], + "'TABLE-FILTER": [ + -1, + 166 + ], + "'USING": [ + -1, + 166 + ], + "'TABLE-ORDER": [ + -1, + 166 + ], + "'TABLE-EXTRACT": [ + -1, + 166 + ], + "'TABLE-UPDATE": [ + -1, + 166 + ], + "'TABLE-EXTEND": [ + -1, + 166 + ], + "'OF": [ + -1, + 166 + ], + "'LOAD-TABLE": [ + -1, + 166 + ], + "'SOURCECOLON": [ + -1, + 166 + ], + "'SANITIZE": [ + -1, + 166 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 207 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "$": [ + -1, + 168 + ], + "'NAME": [ + -1, + 168 + ], + "'COLON": [ + -1, + 168 + ], + "'END": [ + -1, + 168 + ], + "'COMMA": [ + -1, + 168 + ], + "'PARENNOSPACE": [ + -1, + 168 + ], + "'STRING": [ + -1, + 168 + ], + "'RPAREN": [ + -1, + 168 + ], + "'TYPE": [ + -1, + 168 + ], + "'DATA": [ + -1, + 168 + ], + "'TIMES": [ + -1, + 168 + ], + "'PARENSPACE": [ + -1, + 168 + ], + "'DOT": [ + -1, + 168 + ], + "'SPY": [ + -1, + 168 + ], + "'NEWTYPE": [ + -1, + 168 + ], + "'LBRACE": [ + -1, + 168 + ], + "'RBRACE": [ + -1, + 168 + ], + "'SEMI": [ + -1, + 168 + ], + "'SHADOW": [ + -1, + 168 + ], + "'LET": [ + -1, + 168 + ], + "'BLOCK": [ + -1, + 168 + ], + "'LETREC": [ + -1, + 168 + ], + "'TYPE-LET": [ + -1, + 168 + ], + "'FUN": [ + -1, + 168 + ], + "'LANGLE": [ + -1, + 168 + ], + "'LT": [ + -1, + 168 + ], + "'GT": [ + -1, + 168 + ], + "'PARENAFTERBRACE": [ + -1, + 168 + ], + "'WHERE": [ + -1, + 168 + ], + "'CHECK": [ + -1, + 168 + ], + "'EXAMPLES": [ + -1, + 168 + ], + "'CHECKCOLON": [ + -1, + 168 + ], + "'EXAMPLESCOLON": [ + -1, + 168 + ], + "'BECAUSE": [ + -1, + 168 + ], + "'BAR": [ + -1, + 168 + ], + "'SHARING": [ + -1, + 168 + ], + "'VAR": [ + -1, + 168 + ], + "'REC": [ + -1, + 168 + ], + "'WHEN": [ + -1, + 168 + ], + "'PLUS": [ + -1, + 168 + ], + "'DASH": [ + -1, + 168 + ], + "'SLASH": [ + -1, + 168 + ], + "'LEQ": [ + -1, + 168 + ], + "'GEQ": [ + -1, + 168 + ], + "'EQUALEQUAL": [ + -1, + 168 + ], + "'SPACESHIP": [ + -1, + 168 + ], + "'EQUALTILDE": [ + -1, + 168 + ], + "'NEQ": [ + -1, + 168 + ], + "'AND": [ + -1, + 168 + ], + "'OR": [ + -1, + 168 + ], + "'CARET": [ + -1, + 168 + ], + "'IS": [ + -1, + 168 + ], + "'ISEQUALEQUAL": [ + -1, + 168 + ], + "'ISEQUALTILDE": [ + -1, + 168 + ], + "'ISSPACESHIP": [ + -1, + 168 + ], + "'ISROUGHLY": [ + -1, + 168 + ], + "'ISNOT": [ + -1, + 168 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 168 + ], + "'ISNOTEQUALTILDE": [ + -1, + 168 + ], + "'ISNOTSPACESHIP": [ + -1, + 168 + ], + "'RAISES": [ + -1, + 168 + ], + "'RAISESOTHER": [ + -1, + 168 + ], + "'SATISFIES": [ + -1, + 168 + ], + "'SATISFIESNOT": [ + -1, + 168 + ], + "'RAISESSATISFIES": [ + -1, + 168 + ], + "'RAISESVIOLATES": [ + -1, + 168 + ], + "'RAISESNOT": [ + -1, + 168 + ], + "'DOTDOTDOT": [ + -1, + 168 + ], + "'NUMBER": [ + -1, + 168 + ], + "'RATIONAL": [ + -1, + 168 + ], + "'ROUGHRATIONAL": [ + -1, + 168 + ], + "'TRUE": [ + -1, + 168 + ], + "'FALSE": [ + -1, + 168 + ], + "'LAM": [ + -1, + 168 + ], + "'METHOD": [ + -1, + 168 + ], + "'LBRACK": [ + -1, + 168 + ], + "'RBRACK": [ + -1, + 168 + ], + "'TABLE": [ + -1, + 168 + ], + "'ROW": [ + -1, + 168 + ], + "'REACTOR": [ + -1, + 168 + ], + "'BANG": [ + -1, + 168 + ], + "'IF": [ + -1, + 168 + ], + "'ELSECOLON": [ + -1, + 168 + ], + "'ELSEIF": [ + -1, + 168 + ], + "'ASK": [ + -1, + 168 + ], + "'THENCOLON": [ + -1, + 168 + ], + "'CASES": [ + -1, + 168 + ], + "'FOR": [ + -1, + 168 + ], + "'TABLE-SELECT": [ + -1, + 168 + ], + "'TABLE-FILTER": [ + -1, + 168 + ], + "'USING": [ + -1, + 168 + ], + "'TABLE-ORDER": [ + -1, + 168 + ], + "'TABLE-EXTRACT": [ + -1, + 168 + ], + "'TABLE-UPDATE": [ + -1, + 168 + ], + "'TABLE-EXTEND": [ + -1, + 168 + ], + "'OF": [ + -1, + 168 + ], + "'LOAD-TABLE": [ + -1, + 168 + ], + "'SOURCECOLON": [ + -1, + 168 + ], + "'SANITIZE": [ + -1, + 168 + ] + }, + { + "$": [ + -1, + 170 + ], + "'NAME": [ + -1, + 170 + ], + "'COLON": [ + -1, + 170 + ], + "'END": [ + -1, + 170 + ], + "'COMMA": [ + -1, + 170 + ], + "'PARENNOSPACE": [ + -1, + 170 + ], + "'STRING": [ + -1, + 170 + ], + "'RPAREN": [ + -1, + 170 + ], + "'TYPE": [ + -1, + 170 + ], + "'DATA": [ + -1, + 170 + ], + "'TIMES": [ + -1, + 170 + ], + "'PARENSPACE": [ + -1, + 170 + ], + "'DOT": [ + -1, + 170 + ], + "'SPY": [ + -1, + 170 + ], + "'NEWTYPE": [ + -1, + 170 + ], + "'LBRACE": [ + -1, + 170 + ], + "'RBRACE": [ + -1, + 170 + ], + "'SEMI": [ + -1, + 170 + ], + "'SHADOW": [ + -1, + 170 + ], + "'LET": [ + -1, + 170 + ], + "'BLOCK": [ + -1, + 170 + ], + "'LETREC": [ + -1, + 170 + ], + "'TYPE-LET": [ + -1, + 170 + ], + "'FUN": [ + -1, + 170 + ], + "'LANGLE": [ + -1, + 170 + ], + "'LT": [ + -1, + 170 + ], + "'GT": [ + -1, + 170 + ], + "'PARENAFTERBRACE": [ + -1, + 170 + ], + "'WHERE": [ + -1, + 170 + ], + "'CHECK": [ + -1, + 170 + ], + "'EXAMPLES": [ + -1, + 170 + ], + "'CHECKCOLON": [ + -1, + 170 + ], + "'EXAMPLESCOLON": [ + -1, + 170 + ], + "'BECAUSE": [ + -1, + 170 + ], + "'BAR": [ + -1, + 170 + ], + "'SHARING": [ + -1, + 170 + ], + "'VAR": [ + -1, + 170 + ], + "'REC": [ + -1, + 170 + ], + "'WHEN": [ + -1, + 170 + ], + "'PLUS": [ + -1, + 170 + ], + "'DASH": [ + -1, + 170 + ], + "'SLASH": [ + -1, + 170 + ], + "'LEQ": [ + -1, + 170 + ], + "'GEQ": [ + -1, + 170 + ], + "'EQUALEQUAL": [ + -1, + 170 + ], + "'SPACESHIP": [ + -1, + 170 + ], + "'EQUALTILDE": [ + -1, + 170 + ], + "'NEQ": [ + -1, + 170 + ], + "'AND": [ + -1, + 170 + ], + "'OR": [ + -1, + 170 + ], + "'CARET": [ + -1, + 170 + ], + "'IS": [ + -1, + 170 + ], + "'ISEQUALEQUAL": [ + -1, + 170 + ], + "'ISEQUALTILDE": [ + -1, + 170 + ], + "'ISSPACESHIP": [ + -1, + 170 + ], + "'ISROUGHLY": [ + -1, + 170 + ], + "'ISNOT": [ + -1, + 170 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 170 + ], + "'ISNOTEQUALTILDE": [ + -1, + 170 + ], + "'ISNOTSPACESHIP": [ + -1, + 170 + ], + "'RAISES": [ + -1, + 170 + ], + "'RAISESOTHER": [ + -1, + 170 + ], + "'SATISFIES": [ + -1, + 170 + ], + "'SATISFIESNOT": [ + -1, + 170 + ], + "'RAISESSATISFIES": [ + -1, + 170 + ], + "'RAISESVIOLATES": [ + -1, + 170 + ], + "'RAISESNOT": [ + -1, + 170 + ], + "'DOTDOTDOT": [ + -1, + 170 + ], + "'NUMBER": [ + -1, + 170 + ], + "'RATIONAL": [ + -1, + 170 + ], + "'ROUGHRATIONAL": [ + -1, + 170 + ], + "'TRUE": [ + -1, + 170 + ], + "'FALSE": [ + -1, + 170 + ], + "'LAM": [ + -1, + 170 + ], + "'METHOD": [ + -1, + 170 + ], + "'LBRACK": [ + -1, + 170 + ], + "'RBRACK": [ + -1, + 170 + ], + "'TABLE": [ + -1, + 170 + ], + "'ROW": [ + -1, + 170 + ], + "'REACTOR": [ + -1, + 170 + ], + "'BANG": [ + -1, + 170 + ], + "'IF": [ + -1, + 170 + ], + "'ELSECOLON": [ + -1, + 170 + ], + "'ELSEIF": [ + -1, + 170 + ], + "'ASK": [ + -1, + 170 + ], + "'THENCOLON": [ + -1, + 170 + ], + "'CASES": [ + -1, + 170 + ], + "'FOR": [ + -1, + 170 + ], + "'TABLE-SELECT": [ + -1, + 170 + ], + "'TABLE-FILTER": [ + -1, + 170 + ], + "'USING": [ + -1, + 170 + ], + "'TABLE-ORDER": [ + -1, + 170 + ], + "'TABLE-EXTRACT": [ + -1, + 170 + ], + "'TABLE-UPDATE": [ + -1, + 170 + ], + "'TABLE-EXTEND": [ + -1, + 170 + ], + "'OF": [ + -1, + 170 + ], + "'LOAD-TABLE": [ + -1, + 170 + ], + "'SOURCECOLON": [ + -1, + 170 + ], + "'SANITIZE": [ + -1, + 170 + ] + }, + { + "$": [ + -1, + 172 + ], + "'NAME": [ + -1, + 172 + ], + "'COLON": [ + -1, + 172 + ], + "'END": [ + -1, + 172 + ], + "'COMMA": [ + -1, + 172 + ], + "'PARENNOSPACE": [ + -1, + 172 + ], + "'STRING": [ + -1, + 172 + ], + "'RPAREN": [ + -1, + 172 + ], + "'TYPE": [ + -1, + 172 + ], + "'DATA": [ + -1, + 172 + ], + "'TIMES": [ + -1, + 172 + ], + "'PARENSPACE": [ + -1, + 172 + ], + "'DOT": [ + -1, + 172 + ], + "'SPY": [ + -1, + 172 + ], + "'NEWTYPE": [ + -1, + 172 + ], + "'LBRACE": [ + -1, + 172 + ], + "'RBRACE": [ + -1, + 172 + ], + "'SEMI": [ + -1, + 172 + ], + "'SHADOW": [ + -1, + 172 + ], + "'LET": [ + -1, + 172 + ], + "'BLOCK": [ + -1, + 172 + ], + "'LETREC": [ + -1, + 172 + ], + "'TYPE-LET": [ + -1, + 172 + ], + "'FUN": [ + -1, + 172 + ], + "'LANGLE": [ + -1, + 172 + ], + "'LT": [ + -1, + 172 + ], + "'GT": [ + -1, + 172 + ], + "'PARENAFTERBRACE": [ + -1, + 172 + ], + "'WHERE": [ + -1, + 172 + ], + "'CHECK": [ + -1, + 172 + ], + "'EXAMPLES": [ + -1, + 172 + ], + "'CHECKCOLON": [ + -1, + 172 + ], + "'EXAMPLESCOLON": [ + -1, + 172 + ], + "'BECAUSE": [ + -1, + 172 + ], + "'BAR": [ + -1, + 172 + ], + "'SHARING": [ + -1, + 172 + ], + "'VAR": [ + -1, + 172 + ], + "'REC": [ + -1, + 172 + ], + "'WHEN": [ + -1, + 172 + ], + "'PLUS": [ + -1, + 172 + ], + "'DASH": [ + -1, + 172 + ], + "'SLASH": [ + -1, + 172 + ], + "'LEQ": [ + -1, + 172 + ], + "'GEQ": [ + -1, + 172 + ], + "'EQUALEQUAL": [ + -1, + 172 + ], + "'SPACESHIP": [ + -1, + 172 + ], + "'EQUALTILDE": [ + -1, + 172 + ], + "'NEQ": [ + -1, + 172 + ], + "'AND": [ + -1, + 172 + ], + "'OR": [ + -1, + 172 + ], + "'CARET": [ + -1, + 172 + ], + "'IS": [ + -1, + 172 + ], + "'ISEQUALEQUAL": [ + -1, + 172 + ], + "'ISEQUALTILDE": [ + -1, + 172 + ], + "'ISSPACESHIP": [ + -1, + 172 + ], + "'ISROUGHLY": [ + -1, + 172 + ], + "'ISNOT": [ + -1, + 172 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 172 + ], + "'ISNOTEQUALTILDE": [ + -1, + 172 + ], + "'ISNOTSPACESHIP": [ + -1, + 172 + ], + "'RAISES": [ + -1, + 172 + ], + "'RAISESOTHER": [ + -1, + 172 + ], + "'SATISFIES": [ + -1, + 172 + ], + "'SATISFIESNOT": [ + -1, + 172 + ], + "'RAISESSATISFIES": [ + -1, + 172 + ], + "'RAISESVIOLATES": [ + -1, + 172 + ], + "'RAISESNOT": [ + -1, + 172 + ], + "'DOTDOTDOT": [ + -1, + 172 + ], + "'NUMBER": [ + -1, + 172 + ], + "'RATIONAL": [ + -1, + 172 + ], + "'ROUGHRATIONAL": [ + -1, + 172 + ], + "'TRUE": [ + -1, + 172 + ], + "'FALSE": [ + -1, + 172 + ], + "'LAM": [ + -1, + 172 + ], + "'METHOD": [ + -1, + 172 + ], + "'LBRACK": [ + -1, + 172 + ], + "'RBRACK": [ + -1, + 172 + ], + "'TABLE": [ + -1, + 172 + ], + "'ROW": [ + -1, + 172 + ], + "'REACTOR": [ + -1, + 172 + ], + "'BANG": [ + -1, + 172 + ], + "'IF": [ + -1, + 172 + ], + "'ELSECOLON": [ + -1, + 172 + ], + "'ELSEIF": [ + -1, + 172 + ], + "'ASK": [ + -1, + 172 + ], + "'THENCOLON": [ + -1, + 172 + ], + "'CASES": [ + -1, + 172 + ], + "'FOR": [ + -1, + 172 + ], + "'TABLE-SELECT": [ + -1, + 172 + ], + "'TABLE-FILTER": [ + -1, + 172 + ], + "'USING": [ + -1, + 172 + ], + "'TABLE-ORDER": [ + -1, + 172 + ], + "'TABLE-EXTRACT": [ + -1, + 172 + ], + "'TABLE-UPDATE": [ + -1, + 172 + ], + "'TABLE-EXTEND": [ + -1, + 172 + ], + "'OF": [ + -1, + 172 + ], + "'LOAD-TABLE": [ + -1, + 172 + ], + "'SOURCECOLON": [ + -1, + 172 + ], + "'SANITIZE": [ + -1, + 172 + ] + }, + { + "$": [ + -1, + 174 + ], + "'NAME": [ + -1, + 174 + ], + "'COLON": [ + -1, + 174 + ], + "'END": [ + -1, + 174 + ], + "'COMMA": [ + -1, + 174 + ], + "'PARENNOSPACE": [ + -1, + 174 + ], + "'STRING": [ + -1, + 174 + ], + "'RPAREN": [ + -1, + 174 + ], + "'TYPE": [ + -1, + 174 + ], + "'DATA": [ + -1, + 174 + ], + "'TIMES": [ + -1, + 174 + ], + "'PARENSPACE": [ + -1, + 174 + ], + "'DOT": [ + -1, + 174 + ], + "'SPY": [ + -1, + 174 + ], + "'NEWTYPE": [ + -1, + 174 + ], + "'LBRACE": [ + -1, + 174 + ], + "'RBRACE": [ + -1, + 174 + ], + "'SEMI": [ + -1, + 174 + ], + "'SHADOW": [ + -1, + 174 + ], + "'LET": [ + -1, + 174 + ], + "'BLOCK": [ + -1, + 174 + ], + "'LETREC": [ + -1, + 174 + ], + "'TYPE-LET": [ + -1, + 174 + ], + "'FUN": [ + -1, + 174 + ], + "'LANGLE": [ + -1, + 174 + ], + "'LT": [ + -1, + 174 + ], + "'GT": [ + -1, + 174 + ], + "'PARENAFTERBRACE": [ + -1, + 174 + ], + "'WHERE": [ + -1, + 174 + ], + "'CHECK": [ + -1, + 174 + ], + "'EXAMPLES": [ + -1, + 174 + ], + "'CHECKCOLON": [ + -1, + 174 + ], + "'EXAMPLESCOLON": [ + -1, + 174 + ], + "'BECAUSE": [ + -1, + 174 + ], + "'BAR": [ + -1, + 174 + ], + "'SHARING": [ + -1, + 174 + ], + "'VAR": [ + -1, + 174 + ], + "'REC": [ + -1, + 174 + ], + "'WHEN": [ + -1, + 174 + ], + "'PLUS": [ + -1, + 174 + ], + "'DASH": [ + -1, + 174 + ], + "'SLASH": [ + -1, + 174 + ], + "'LEQ": [ + -1, + 174 + ], + "'GEQ": [ + -1, + 174 + ], + "'EQUALEQUAL": [ + -1, + 174 + ], + "'SPACESHIP": [ + -1, + 174 + ], + "'EQUALTILDE": [ + -1, + 174 + ], + "'NEQ": [ + -1, + 174 + ], + "'AND": [ + -1, + 174 + ], + "'OR": [ + -1, + 174 + ], + "'CARET": [ + -1, + 174 + ], + "'IS": [ + -1, + 174 + ], + "'ISEQUALEQUAL": [ + -1, + 174 + ], + "'ISEQUALTILDE": [ + -1, + 174 + ], + "'ISSPACESHIP": [ + -1, + 174 + ], + "'ISROUGHLY": [ + -1, + 174 + ], + "'ISNOT": [ + -1, + 174 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 174 + ], + "'ISNOTEQUALTILDE": [ + -1, + 174 + ], + "'ISNOTSPACESHIP": [ + -1, + 174 + ], + "'RAISES": [ + -1, + 174 + ], + "'RAISESOTHER": [ + -1, + 174 + ], + "'SATISFIES": [ + -1, + 174 + ], + "'SATISFIESNOT": [ + -1, + 174 + ], + "'RAISESSATISFIES": [ + -1, + 174 + ], + "'RAISESVIOLATES": [ + -1, + 174 + ], + "'RAISESNOT": [ + -1, + 174 + ], + "'DOTDOTDOT": [ + -1, + 174 + ], + "'NUMBER": [ + -1, + 174 + ], + "'RATIONAL": [ + -1, + 174 + ], + "'ROUGHRATIONAL": [ + -1, + 174 + ], + "'TRUE": [ + -1, + 174 + ], + "'FALSE": [ + -1, + 174 + ], + "'LAM": [ + -1, + 174 + ], + "'METHOD": [ + -1, + 174 + ], + "'LBRACK": [ + -1, + 174 + ], + "'RBRACK": [ + -1, + 174 + ], + "'TABLE": [ + -1, + 174 + ], + "'ROW": [ + -1, + 174 + ], + "'REACTOR": [ + -1, + 174 + ], + "'BANG": [ + -1, + 174 + ], + "'IF": [ + -1, + 174 + ], + "'ELSECOLON": [ + -1, + 174 + ], + "'ELSEIF": [ + -1, + 174 + ], + "'ASK": [ + -1, + 174 + ], + "'THENCOLON": [ + -1, + 174 + ], + "'CASES": [ + -1, + 174 + ], + "'FOR": [ + -1, + 174 + ], + "'TABLE-SELECT": [ + -1, + 174 + ], + "'TABLE-FILTER": [ + -1, + 174 + ], + "'USING": [ + -1, + 174 + ], + "'TABLE-ORDER": [ + -1, + 174 + ], + "'TABLE-EXTRACT": [ + -1, + 174 + ], + "'TABLE-UPDATE": [ + -1, + 174 + ], + "'TABLE-EXTEND": [ + -1, + 174 + ], + "'OF": [ + -1, + 174 + ], + "'LOAD-TABLE": [ + -1, + 174 + ], + "'SOURCECOLON": [ + -1, + 174 + ], + "'SANITIZE": [ + -1, + 174 + ] + }, + { + "$": [ + -1, + 176 + ], + "'NAME": [ + -1, + 176 + ], + "'COLON": [ + -1, + 176 + ], + "'END": [ + -1, + 176 + ], + "'COMMA": [ + -1, + 176 + ], + "'PARENNOSPACE": [ + -1, + 176 + ], + "'STRING": [ + -1, + 176 + ], + "'RPAREN": [ + -1, + 176 + ], + "'TYPE": [ + -1, + 176 + ], + "'DATA": [ + -1, + 176 + ], + "'TIMES": [ + -1, + 176 + ], + "'PARENSPACE": [ + -1, + 176 + ], + "'DOT": [ + -1, + 176 + ], + "'SPY": [ + -1, + 176 + ], + "'NEWTYPE": [ + -1, + 176 + ], + "'LBRACE": [ + -1, + 176 + ], + "'RBRACE": [ + -1, + 176 + ], + "'SEMI": [ + -1, + 176 + ], + "'SHADOW": [ + -1, + 176 + ], + "'LET": [ + -1, + 176 + ], + "'BLOCK": [ + -1, + 176 + ], + "'LETREC": [ + -1, + 176 + ], + "'TYPE-LET": [ + -1, + 176 + ], + "'FUN": [ + -1, + 176 + ], + "'LANGLE": [ + -1, + 176 + ], + "'LT": [ + -1, + 176 + ], + "'GT": [ + -1, + 176 + ], + "'PARENAFTERBRACE": [ + -1, + 176 + ], + "'WHERE": [ + -1, + 176 + ], + "'CHECK": [ + -1, + 176 + ], + "'EXAMPLES": [ + -1, + 176 + ], + "'CHECKCOLON": [ + -1, + 176 + ], + "'EXAMPLESCOLON": [ + -1, + 176 + ], + "'BECAUSE": [ + -1, + 176 + ], + "'BAR": [ + -1, + 176 + ], + "'SHARING": [ + -1, + 176 + ], + "'VAR": [ + -1, + 176 + ], + "'REC": [ + -1, + 176 + ], + "'WHEN": [ + -1, + 176 + ], + "'PLUS": [ + -1, + 176 + ], + "'DASH": [ + -1, + 176 + ], + "'SLASH": [ + -1, + 176 + ], + "'LEQ": [ + -1, + 176 + ], + "'GEQ": [ + -1, + 176 + ], + "'EQUALEQUAL": [ + -1, + 176 + ], + "'SPACESHIP": [ + -1, + 176 + ], + "'EQUALTILDE": [ + -1, + 176 + ], + "'NEQ": [ + -1, + 176 + ], + "'AND": [ + -1, + 176 + ], + "'OR": [ + -1, + 176 + ], + "'CARET": [ + -1, + 176 + ], + "'IS": [ + -1, + 176 + ], + "'ISEQUALEQUAL": [ + -1, + 176 + ], + "'ISEQUALTILDE": [ + -1, + 176 + ], + "'ISSPACESHIP": [ + -1, + 176 + ], + "'ISROUGHLY": [ + -1, + 176 + ], + "'ISNOT": [ + -1, + 176 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 176 + ], + "'ISNOTEQUALTILDE": [ + -1, + 176 + ], + "'ISNOTSPACESHIP": [ + -1, + 176 + ], + "'RAISES": [ + -1, + 176 + ], + "'RAISESOTHER": [ + -1, + 176 + ], + "'SATISFIES": [ + -1, + 176 + ], + "'SATISFIESNOT": [ + -1, + 176 + ], + "'RAISESSATISFIES": [ + -1, + 176 + ], + "'RAISESVIOLATES": [ + -1, + 176 + ], + "'RAISESNOT": [ + -1, + 176 + ], + "'DOTDOTDOT": [ + -1, + 176 + ], + "'NUMBER": [ + -1, + 176 + ], + "'RATIONAL": [ + -1, + 176 + ], + "'ROUGHRATIONAL": [ + -1, + 176 + ], + "'TRUE": [ + -1, + 176 + ], + "'FALSE": [ + -1, + 176 + ], + "'LAM": [ + -1, + 176 + ], + "'METHOD": [ + -1, + 176 + ], + "'LBRACK": [ + -1, + 176 + ], + "'RBRACK": [ + -1, + 176 + ], + "'TABLE": [ + -1, + 176 + ], + "'ROW": [ + -1, + 176 + ], + "'REACTOR": [ + -1, + 176 + ], + "'BANG": [ + -1, + 176 + ], + "'IF": [ + -1, + 176 + ], + "'ELSECOLON": [ + -1, + 176 + ], + "'ELSEIF": [ + -1, + 176 + ], + "'ASK": [ + -1, + 176 + ], + "'THENCOLON": [ + -1, + 176 + ], + "'CASES": [ + -1, + 176 + ], + "'FOR": [ + -1, + 176 + ], + "'TABLE-SELECT": [ + -1, + 176 + ], + "'TABLE-FILTER": [ + -1, + 176 + ], + "'USING": [ + -1, + 176 + ], + "'TABLE-ORDER": [ + -1, + 176 + ], + "'TABLE-EXTRACT": [ + -1, + 176 + ], + "'TABLE-UPDATE": [ + -1, + 176 + ], + "'TABLE-EXTEND": [ + -1, + 176 + ], + "'OF": [ + -1, + 176 + ], + "'LOAD-TABLE": [ + -1, + 176 + ], + "'SOURCECOLON": [ + -1, + 176 + ], + "'SANITIZE": [ + -1, + 176 + ] + }, + { + "$": [ + -1, + 178 + ], + "'NAME": [ + -1, + 178 + ], + "'COLON": [ + -1, + 178 + ], + "'END": [ + -1, + 178 + ], + "'COMMA": [ + -1, + 178 + ], + "'PARENNOSPACE": [ + -1, + 178 + ], + "'STRING": [ + -1, + 178 + ], + "'RPAREN": [ + -1, + 178 + ], + "'TYPE": [ + -1, + 178 + ], + "'DATA": [ + -1, + 178 + ], + "'TIMES": [ + -1, + 178 + ], + "'PARENSPACE": [ + -1, + 178 + ], + "'DOT": [ + -1, + 178 + ], + "'SPY": [ + -1, + 178 + ], + "'NEWTYPE": [ + -1, + 178 + ], + "'LBRACE": [ + -1, + 178 + ], + "'RBRACE": [ + -1, + 178 + ], + "'SEMI": [ + -1, + 178 + ], + "'SHADOW": [ + -1, + 178 + ], + "'LET": [ + -1, + 178 + ], + "'BLOCK": [ + -1, + 178 + ], + "'LETREC": [ + -1, + 178 + ], + "'TYPE-LET": [ + -1, + 178 + ], + "'FUN": [ + -1, + 178 + ], + "'LANGLE": [ + -1, + 178 + ], + "'LT": [ + -1, + 178 + ], + "'GT": [ + -1, + 178 + ], + "'PARENAFTERBRACE": [ + -1, + 178 + ], + "'WHERE": [ + -1, + 178 + ], + "'CHECK": [ + -1, + 178 + ], + "'EXAMPLES": [ + -1, + 178 + ], + "'CHECKCOLON": [ + -1, + 178 + ], + "'EXAMPLESCOLON": [ + -1, + 178 + ], + "'BECAUSE": [ + -1, + 178 + ], + "'BAR": [ + -1, + 178 + ], + "'SHARING": [ + -1, + 178 + ], + "'VAR": [ + -1, + 178 + ], + "'REC": [ + -1, + 178 + ], + "'WHEN": [ + -1, + 178 + ], + "'PLUS": [ + -1, + 178 + ], + "'DASH": [ + -1, + 178 + ], + "'SLASH": [ + -1, + 178 + ], + "'LEQ": [ + -1, + 178 + ], + "'GEQ": [ + -1, + 178 + ], + "'EQUALEQUAL": [ + -1, + 178 + ], + "'SPACESHIP": [ + -1, + 178 + ], + "'EQUALTILDE": [ + -1, + 178 + ], + "'NEQ": [ + -1, + 178 + ], + "'AND": [ + -1, + 178 + ], + "'OR": [ + -1, + 178 + ], + "'CARET": [ + -1, + 178 + ], + "'IS": [ + -1, + 178 + ], + "'ISEQUALEQUAL": [ + -1, + 178 + ], + "'ISEQUALTILDE": [ + -1, + 178 + ], + "'ISSPACESHIP": [ + -1, + 178 + ], + "'ISROUGHLY": [ + -1, + 178 + ], + "'ISNOT": [ + -1, + 178 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 178 + ], + "'ISNOTEQUALTILDE": [ + -1, + 178 + ], + "'ISNOTSPACESHIP": [ + -1, + 178 + ], + "'RAISES": [ + -1, + 178 + ], + "'RAISESOTHER": [ + -1, + 178 + ], + "'SATISFIES": [ + -1, + 178 + ], + "'SATISFIESNOT": [ + -1, + 178 + ], + "'RAISESSATISFIES": [ + -1, + 178 + ], + "'RAISESVIOLATES": [ + -1, + 178 + ], + "'RAISESNOT": [ + -1, + 178 + ], + "'DOTDOTDOT": [ + -1, + 178 + ], + "'NUMBER": [ + -1, + 178 + ], + "'RATIONAL": [ + -1, + 178 + ], + "'ROUGHRATIONAL": [ + -1, + 178 + ], + "'TRUE": [ + -1, + 178 + ], + "'FALSE": [ + -1, + 178 + ], + "'LAM": [ + -1, + 178 + ], + "'METHOD": [ + -1, + 178 + ], + "'LBRACK": [ + -1, + 178 + ], + "'RBRACK": [ + -1, + 178 + ], + "'TABLE": [ + -1, + 178 + ], + "'ROW": [ + -1, + 178 + ], + "'REACTOR": [ + -1, + 178 + ], + "'BANG": [ + -1, + 178 + ], + "'IF": [ + -1, + 178 + ], + "'ELSECOLON": [ + -1, + 178 + ], + "'ELSEIF": [ + -1, + 178 + ], + "'ASK": [ + -1, + 178 + ], + "'THENCOLON": [ + -1, + 178 + ], + "'CASES": [ + -1, + 178 + ], + "'FOR": [ + -1, + 178 + ], + "'TABLE-SELECT": [ + -1, + 178 + ], + "'TABLE-FILTER": [ + -1, + 178 + ], + "'USING": [ + -1, + 178 + ], + "'TABLE-ORDER": [ + -1, + 178 + ], + "'TABLE-EXTRACT": [ + -1, + 178 + ], + "'TABLE-UPDATE": [ + -1, + 178 + ], + "'TABLE-EXTEND": [ + -1, + 178 + ], + "'OF": [ + -1, + 178 + ], + "'LOAD-TABLE": [ + -1, + 178 + ], + "'SOURCECOLON": [ + -1, + 178 + ], + "'SANITIZE": [ + -1, + 178 + ] + }, + { + "$": [ + -1, + 180 + ], + "'NAME": [ + -1, + 180 + ], + "'COLON": [ + -1, + 180 + ], + "'END": [ + -1, + 180 + ], + "'COMMA": [ + -1, + 180 + ], + "'PARENNOSPACE": [ + -1, + 180 + ], + "'STRING": [ + -1, + 180 + ], + "'RPAREN": [ + -1, + 180 + ], + "'TYPE": [ + -1, + 180 + ], + "'DATA": [ + -1, + 180 + ], + "'TIMES": [ + -1, + 180 + ], + "'PARENSPACE": [ + -1, + 180 + ], + "'DOT": [ + -1, + 180 + ], + "'SPY": [ + -1, + 180 + ], + "'NEWTYPE": [ + -1, + 180 + ], + "'LBRACE": [ + -1, + 180 + ], + "'RBRACE": [ + -1, + 180 + ], + "'SEMI": [ + -1, + 180 + ], + "'SHADOW": [ + -1, + 180 + ], + "'LET": [ + -1, + 180 + ], + "'BLOCK": [ + -1, + 180 + ], + "'LETREC": [ + -1, + 180 + ], + "'TYPE-LET": [ + -1, + 180 + ], + "'FUN": [ + -1, + 180 + ], + "'LANGLE": [ + -1, + 180 + ], + "'LT": [ + -1, + 180 + ], + "'GT": [ + -1, + 180 + ], + "'PARENAFTERBRACE": [ + -1, + 180 + ], + "'WHERE": [ + -1, + 180 + ], + "'CHECK": [ + -1, + 180 + ], + "'EXAMPLES": [ + -1, + 180 + ], + "'CHECKCOLON": [ + -1, + 180 + ], + "'EXAMPLESCOLON": [ + -1, + 180 + ], + "'BECAUSE": [ + -1, + 180 + ], + "'BAR": [ + -1, + 180 + ], + "'SHARING": [ + -1, + 180 + ], + "'VAR": [ + -1, + 180 + ], + "'REC": [ + -1, + 180 + ], + "'WHEN": [ + -1, + 180 + ], + "'PLUS": [ + -1, + 180 + ], + "'DASH": [ + -1, + 180 + ], + "'SLASH": [ + -1, + 180 + ], + "'LEQ": [ + -1, + 180 + ], + "'GEQ": [ + -1, + 180 + ], + "'EQUALEQUAL": [ + -1, + 180 + ], + "'SPACESHIP": [ + -1, + 180 + ], + "'EQUALTILDE": [ + -1, + 180 + ], + "'NEQ": [ + -1, + 180 + ], + "'AND": [ + -1, + 180 + ], + "'OR": [ + -1, + 180 + ], + "'CARET": [ + -1, + 180 + ], + "'IS": [ + -1, + 180 + ], + "'ISEQUALEQUAL": [ + -1, + 180 + ], + "'ISEQUALTILDE": [ + -1, + 180 + ], + "'ISSPACESHIP": [ + -1, + 180 + ], + "'ISROUGHLY": [ + -1, + 180 + ], + "'ISNOT": [ + -1, + 180 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 180 + ], + "'ISNOTEQUALTILDE": [ + -1, + 180 + ], + "'ISNOTSPACESHIP": [ + -1, + 180 + ], + "'RAISES": [ + -1, + 180 + ], + "'RAISESOTHER": [ + -1, + 180 + ], + "'SATISFIES": [ + -1, + 180 + ], + "'SATISFIESNOT": [ + -1, + 180 + ], + "'RAISESSATISFIES": [ + -1, + 180 + ], + "'RAISESVIOLATES": [ + -1, + 180 + ], + "'RAISESNOT": [ + -1, + 180 + ], + "'DOTDOTDOT": [ + -1, + 180 + ], + "'NUMBER": [ + -1, + 180 + ], + "'RATIONAL": [ + -1, + 180 + ], + "'ROUGHRATIONAL": [ + -1, + 180 + ], + "'TRUE": [ + -1, + 180 + ], + "'FALSE": [ + -1, + 180 + ], + "'LAM": [ + -1, + 180 + ], + "'METHOD": [ + -1, + 180 + ], + "'LBRACK": [ + -1, + 180 + ], + "'RBRACK": [ + -1, + 180 + ], + "'TABLE": [ + -1, + 180 + ], + "'ROW": [ + -1, + 180 + ], + "'REACTOR": [ + -1, + 180 + ], + "'BANG": [ + -1, + 180 + ], + "'IF": [ + -1, + 180 + ], + "'ELSECOLON": [ + -1, + 180 + ], + "'ELSEIF": [ + -1, + 180 + ], + "'ASK": [ + -1, + 180 + ], + "'THENCOLON": [ + -1, + 180 + ], + "'CASES": [ + -1, + 180 + ], + "'FOR": [ + -1, + 180 + ], + "'TABLE-SELECT": [ + -1, + 180 + ], + "'TABLE-FILTER": [ + -1, + 180 + ], + "'USING": [ + -1, + 180 + ], + "'TABLE-ORDER": [ + -1, + 180 + ], + "'TABLE-EXTRACT": [ + -1, + 180 + ], + "'TABLE-UPDATE": [ + -1, + 180 + ], + "'TABLE-EXTEND": [ + -1, + 180 + ], + "'OF": [ + -1, + 180 + ], + "'LOAD-TABLE": [ + -1, + 180 + ], + "'SOURCECOLON": [ + -1, + 180 + ], + "'SANITIZE": [ + -1, + 180 + ] + }, + { + "$": [ + -1, + 182 + ], + "'NAME": [ + -1, + 182 + ], + "'COLON": [ + -1, + 182 + ], + "'END": [ + -1, + 182 + ], + "'COMMA": [ + -1, + 182 + ], + "'PARENNOSPACE": [ + -1, + 182 + ], + "'STRING": [ + -1, + 182 + ], + "'RPAREN": [ + -1, + 182 + ], + "'TYPE": [ + -1, + 182 + ], + "'DATA": [ + -1, + 182 + ], + "'TIMES": [ + -1, + 182 + ], + "'PARENSPACE": [ + -1, + 182 + ], + "'DOT": [ + -1, + 182 + ], + "'SPY": [ + -1, + 182 + ], + "'NEWTYPE": [ + -1, + 182 + ], + "'LBRACE": [ + -1, + 182 + ], + "'RBRACE": [ + -1, + 182 + ], + "'SEMI": [ + -1, + 182 + ], + "'SHADOW": [ + -1, + 182 + ], + "'LET": [ + -1, + 182 + ], + "'BLOCK": [ + -1, + 182 + ], + "'LETREC": [ + -1, + 182 + ], + "'TYPE-LET": [ + -1, + 182 + ], + "'FUN": [ + -1, + 182 + ], + "'LANGLE": [ + -1, + 182 + ], + "'LT": [ + -1, + 182 + ], + "'GT": [ + -1, + 182 + ], + "'PARENAFTERBRACE": [ + -1, + 182 + ], + "'WHERE": [ + -1, + 182 + ], + "'CHECK": [ + -1, + 182 + ], + "'EXAMPLES": [ + -1, + 182 + ], + "'CHECKCOLON": [ + -1, + 182 + ], + "'EXAMPLESCOLON": [ + -1, + 182 + ], + "'BECAUSE": [ + -1, + 182 + ], + "'BAR": [ + -1, + 182 + ], + "'SHARING": [ + -1, + 182 + ], + "'VAR": [ + -1, + 182 + ], + "'REC": [ + -1, + 182 + ], + "'WHEN": [ + -1, + 182 + ], + "'PLUS": [ + -1, + 182 + ], + "'DASH": [ + -1, + 182 + ], + "'SLASH": [ + -1, + 182 + ], + "'LEQ": [ + -1, + 182 + ], + "'GEQ": [ + -1, + 182 + ], + "'EQUALEQUAL": [ + -1, + 182 + ], + "'SPACESHIP": [ + -1, + 182 + ], + "'EQUALTILDE": [ + -1, + 182 + ], + "'NEQ": [ + -1, + 182 + ], + "'AND": [ + -1, + 182 + ], + "'OR": [ + -1, + 182 + ], + "'CARET": [ + -1, + 182 + ], + "'IS": [ + -1, + 182 + ], + "'ISEQUALEQUAL": [ + -1, + 182 + ], + "'ISEQUALTILDE": [ + -1, + 182 + ], + "'ISSPACESHIP": [ + -1, + 182 + ], + "'ISROUGHLY": [ + -1, + 182 + ], + "'ISNOT": [ + -1, + 182 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 182 + ], + "'ISNOTEQUALTILDE": [ + -1, + 182 + ], + "'ISNOTSPACESHIP": [ + -1, + 182 + ], + "'RAISES": [ + -1, + 182 + ], + "'RAISESOTHER": [ + -1, + 182 + ], + "'SATISFIES": [ + -1, + 182 + ], + "'SATISFIESNOT": [ + -1, + 182 + ], + "'RAISESSATISFIES": [ + -1, + 182 + ], + "'RAISESVIOLATES": [ + -1, + 182 + ], + "'RAISESNOT": [ + -1, + 182 + ], + "'DOTDOTDOT": [ + -1, + 182 + ], + "'NUMBER": [ + -1, + 182 + ], + "'RATIONAL": [ + -1, + 182 + ], + "'ROUGHRATIONAL": [ + -1, + 182 + ], + "'TRUE": [ + -1, + 182 + ], + "'FALSE": [ + -1, + 182 + ], + "'LAM": [ + -1, + 182 + ], + "'METHOD": [ + -1, + 182 + ], + "'LBRACK": [ + -1, + 182 + ], + "'RBRACK": [ + -1, + 182 + ], + "'TABLE": [ + -1, + 182 + ], + "'ROW": [ + -1, + 182 + ], + "'REACTOR": [ + -1, + 182 + ], + "'BANG": [ + -1, + 182 + ], + "'IF": [ + -1, + 182 + ], + "'ELSECOLON": [ + -1, + 182 + ], + "'ELSEIF": [ + -1, + 182 + ], + "'ASK": [ + -1, + 182 + ], + "'THENCOLON": [ + -1, + 182 + ], + "'CASES": [ + -1, + 182 + ], + "'FOR": [ + -1, + 182 + ], + "'TABLE-SELECT": [ + -1, + 182 + ], + "'TABLE-FILTER": [ + -1, + 182 + ], + "'USING": [ + -1, + 182 + ], + "'TABLE-ORDER": [ + -1, + 182 + ], + "'TABLE-EXTRACT": [ + -1, + 182 + ], + "'TABLE-UPDATE": [ + -1, + 182 + ], + "'TABLE-EXTEND": [ + -1, + 182 + ], + "'OF": [ + -1, + 182 + ], + "'LOAD-TABLE": [ + -1, + 182 + ], + "'SOURCECOLON": [ + -1, + 182 + ], + "'SANITIZE": [ + -1, + 182 + ] + }, + { + "$": [ + -1, + 184 + ], + "'NAME": [ + -1, + 184 + ], + "'COLON": [ + -1, + 184 + ], + "'END": [ + -1, + 184 + ], + "'COMMA": [ + -1, + 184 + ], + "'PARENNOSPACE": [ + -1, + 184 + ], + "'STRING": [ + -1, + 184 + ], + "'RPAREN": [ + -1, + 184 + ], + "'TYPE": [ + -1, + 184 + ], + "'DATA": [ + -1, + 184 + ], + "'TIMES": [ + -1, + 184 + ], + "'PARENSPACE": [ + -1, + 184 + ], + "'DOT": [ + -1, + 184 + ], + "'SPY": [ + -1, + 184 + ], + "'NEWTYPE": [ + -1, + 184 + ], + "'LBRACE": [ + -1, + 184 + ], + "'RBRACE": [ + -1, + 184 + ], + "'SEMI": [ + -1, + 184 + ], + "'SHADOW": [ + -1, + 184 + ], + "'LET": [ + -1, + 184 + ], + "'BLOCK": [ + -1, + 184 + ], + "'LETREC": [ + -1, + 184 + ], + "'TYPE-LET": [ + -1, + 184 + ], + "'FUN": [ + -1, + 184 + ], + "'LANGLE": [ + -1, + 184 + ], + "'LT": [ + -1, + 184 + ], + "'GT": [ + -1, + 184 + ], + "'PARENAFTERBRACE": [ + -1, + 184 + ], + "'WHERE": [ + -1, + 184 + ], + "'CHECK": [ + -1, + 184 + ], + "'EXAMPLES": [ + -1, + 184 + ], + "'CHECKCOLON": [ + -1, + 184 + ], + "'EXAMPLESCOLON": [ + -1, + 184 + ], + "'BECAUSE": [ + -1, + 184 + ], + "'BAR": [ + -1, + 184 + ], + "'SHARING": [ + -1, + 184 + ], + "'VAR": [ + -1, + 184 + ], + "'REC": [ + -1, + 184 + ], + "'WHEN": [ + -1, + 184 + ], + "'PLUS": [ + -1, + 184 + ], + "'DASH": [ + -1, + 184 + ], + "'SLASH": [ + -1, + 184 + ], + "'LEQ": [ + -1, + 184 + ], + "'GEQ": [ + -1, + 184 + ], + "'EQUALEQUAL": [ + -1, + 184 + ], + "'SPACESHIP": [ + -1, + 184 + ], + "'EQUALTILDE": [ + -1, + 184 + ], + "'NEQ": [ + -1, + 184 + ], + "'AND": [ + -1, + 184 + ], + "'OR": [ + -1, + 184 + ], + "'CARET": [ + -1, + 184 + ], + "'IS": [ + -1, + 184 + ], + "'ISEQUALEQUAL": [ + -1, + 184 + ], + "'ISEQUALTILDE": [ + -1, + 184 + ], + "'ISSPACESHIP": [ + -1, + 184 + ], + "'ISROUGHLY": [ + -1, + 184 + ], + "'ISNOT": [ + -1, + 184 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 184 + ], + "'ISNOTEQUALTILDE": [ + -1, + 184 + ], + "'ISNOTSPACESHIP": [ + -1, + 184 + ], + "'RAISES": [ + -1, + 184 + ], + "'RAISESOTHER": [ + -1, + 184 + ], + "'SATISFIES": [ + -1, + 184 + ], + "'SATISFIESNOT": [ + -1, + 184 + ], + "'RAISESSATISFIES": [ + -1, + 184 + ], + "'RAISESVIOLATES": [ + -1, + 184 + ], + "'RAISESNOT": [ + -1, + 184 + ], + "'DOTDOTDOT": [ + -1, + 184 + ], + "'NUMBER": [ + -1, + 184 + ], + "'RATIONAL": [ + -1, + 184 + ], + "'ROUGHRATIONAL": [ + -1, + 184 + ], + "'TRUE": [ + -1, + 184 + ], + "'FALSE": [ + -1, + 184 + ], + "'LAM": [ + -1, + 184 + ], + "'METHOD": [ + -1, + 184 + ], + "'LBRACK": [ + -1, + 184 + ], + "'RBRACK": [ + -1, + 184 + ], + "'TABLE": [ + -1, + 184 + ], + "'ROW": [ + -1, + 184 + ], + "'REACTOR": [ + -1, + 184 + ], + "'BANG": [ + -1, + 184 + ], + "'IF": [ + -1, + 184 + ], + "'ELSECOLON": [ + -1, + 184 + ], + "'ELSEIF": [ + -1, + 184 + ], + "'ASK": [ + -1, + 184 + ], + "'THENCOLON": [ + -1, + 184 + ], + "'CASES": [ + -1, + 184 + ], + "'FOR": [ + -1, + 184 + ], + "'TABLE-SELECT": [ + -1, + 184 + ], + "'TABLE-FILTER": [ + -1, + 184 + ], + "'USING": [ + -1, + 184 + ], + "'TABLE-ORDER": [ + -1, + 184 + ], + "'TABLE-EXTRACT": [ + -1, + 184 + ], + "'TABLE-UPDATE": [ + -1, + 184 + ], + "'TABLE-EXTEND": [ + -1, + 184 + ], + "'OF": [ + -1, + 184 + ], + "'LOAD-TABLE": [ + -1, + 184 + ], + "'SOURCECOLON": [ + -1, + 184 + ], + "'SANITIZE": [ + -1, + 184 + ] + }, + { + "$": [ + -1, + 186 + ], + "'NAME": [ + -1, + 186 + ], + "'COLON": [ + -1, + 186 + ], + "'END": [ + -1, + 186 + ], + "'COMMA": [ + -1, + 186 + ], + "'PARENNOSPACE": [ + -1, + 186 + ], + "'STRING": [ + -1, + 186 + ], + "'RPAREN": [ + -1, + 186 + ], + "'TYPE": [ + -1, + 186 + ], + "'DATA": [ + -1, + 186 + ], + "'TIMES": [ + -1, + 186 + ], + "'PARENSPACE": [ + -1, + 186 + ], + "'DOT": [ + -1, + 186 + ], + "'SPY": [ + -1, + 186 + ], + "'NEWTYPE": [ + -1, + 186 + ], + "'LBRACE": [ + -1, + 186 + ], + "'RBRACE": [ + -1, + 186 + ], + "'SEMI": [ + -1, + 186 + ], + "'SHADOW": [ + -1, + 186 + ], + "'LET": [ + -1, + 186 + ], + "'BLOCK": [ + -1, + 186 + ], + "'LETREC": [ + -1, + 186 + ], + "'TYPE-LET": [ + -1, + 186 + ], + "'FUN": [ + -1, + 186 + ], + "'LANGLE": [ + -1, + 186 + ], + "'LT": [ + -1, + 186 + ], + "'GT": [ + -1, + 186 + ], + "'PARENAFTERBRACE": [ + -1, + 186 + ], + "'WHERE": [ + -1, + 186 + ], + "'CHECK": [ + -1, + 186 + ], + "'EXAMPLES": [ + -1, + 186 + ], + "'CHECKCOLON": [ + -1, + 186 + ], + "'EXAMPLESCOLON": [ + -1, + 186 + ], + "'BECAUSE": [ + -1, + 186 + ], + "'BAR": [ + -1, + 186 + ], + "'SHARING": [ + -1, + 186 + ], + "'VAR": [ + -1, + 186 + ], + "'REC": [ + -1, + 186 + ], + "'WHEN": [ + -1, + 186 + ], + "'PLUS": [ + -1, + 186 + ], + "'DASH": [ + -1, + 186 + ], + "'SLASH": [ + -1, + 186 + ], + "'LEQ": [ + -1, + 186 + ], + "'GEQ": [ + -1, + 186 + ], + "'EQUALEQUAL": [ + -1, + 186 + ], + "'SPACESHIP": [ + -1, + 186 + ], + "'EQUALTILDE": [ + -1, + 186 + ], + "'NEQ": [ + -1, + 186 + ], + "'AND": [ + -1, + 186 + ], + "'OR": [ + -1, + 186 + ], + "'CARET": [ + -1, + 186 + ], + "'IS": [ + -1, + 186 + ], + "'ISEQUALEQUAL": [ + -1, + 186 + ], + "'ISEQUALTILDE": [ + -1, + 186 + ], + "'ISSPACESHIP": [ + -1, + 186 + ], + "'ISROUGHLY": [ + -1, + 186 + ], + "'ISNOT": [ + -1, + 186 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 186 + ], + "'ISNOTEQUALTILDE": [ + -1, + 186 + ], + "'ISNOTSPACESHIP": [ + -1, + 186 + ], + "'RAISES": [ + -1, + 186 + ], + "'RAISESOTHER": [ + -1, + 186 + ], + "'SATISFIES": [ + -1, + 186 + ], + "'SATISFIESNOT": [ + -1, + 186 + ], + "'RAISESSATISFIES": [ + -1, + 186 + ], + "'RAISESVIOLATES": [ + -1, + 186 + ], + "'RAISESNOT": [ + -1, + 186 + ], + "'DOTDOTDOT": [ + -1, + 186 + ], + "'NUMBER": [ + -1, + 186 + ], + "'RATIONAL": [ + -1, + 186 + ], + "'ROUGHRATIONAL": [ + -1, + 186 + ], + "'TRUE": [ + -1, + 186 + ], + "'FALSE": [ + -1, + 186 + ], + "'LAM": [ + -1, + 186 + ], + "'METHOD": [ + -1, + 186 + ], + "'LBRACK": [ + -1, + 186 + ], + "'RBRACK": [ + -1, + 186 + ], + "'TABLE": [ + -1, + 186 + ], + "'ROW": [ + -1, + 186 + ], + "'REACTOR": [ + -1, + 186 + ], + "'BANG": [ + -1, + 186 + ], + "'IF": [ + -1, + 186 + ], + "'ELSECOLON": [ + -1, + 186 + ], + "'ELSEIF": [ + -1, + 186 + ], + "'ASK": [ + -1, + 186 + ], + "'THENCOLON": [ + -1, + 186 + ], + "'CASES": [ + -1, + 186 + ], + "'FOR": [ + -1, + 186 + ], + "'TABLE-SELECT": [ + -1, + 186 + ], + "'TABLE-FILTER": [ + -1, + 186 + ], + "'USING": [ + -1, + 186 + ], + "'TABLE-ORDER": [ + -1, + 186 + ], + "'TABLE-EXTRACT": [ + -1, + 186 + ], + "'TABLE-UPDATE": [ + -1, + 186 + ], + "'TABLE-EXTEND": [ + -1, + 186 + ], + "'OF": [ + -1, + 186 + ], + "'LOAD-TABLE": [ + -1, + 186 + ], + "'SOURCECOLON": [ + -1, + 186 + ], + "'SANITIZE": [ + -1, + 186 + ] + }, + { + "ty-params": [ + 166 + ], + "fun-header": [ + 208 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "ty-params": [ + 166 + ], + "fun-header": [ + 209 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "construct-modifier": [ + 210 + ], + "'LAZY": [ + 211 + ], + "'NAME": [ + -1, + 188 + ], + "'STRING": [ + -1, + 188 + ], + "'PARENSPACE": [ + -1, + 188 + ], + "'LBRACE": [ + -1, + 188 + ], + "'LET": [ + -1, + 188 + ], + "'BLOCK": [ + -1, + 188 + ], + "'LETREC": [ + -1, + 188 + ], + "'TYPE-LET": [ + -1, + 188 + ], + "'PARENAFTERBRACE": [ + -1, + 188 + ], + "'DOTDOTDOT": [ + -1, + 188 + ], + "'NUMBER": [ + -1, + 188 + ], + "'RATIONAL": [ + -1, + 188 + ], + "'ROUGHRATIONAL": [ + -1, + 188 + ], + "'TRUE": [ + -1, + 188 + ], + "'FALSE": [ + -1, + 188 + ], + "'LAM": [ + -1, + 188 + ], + "'METHOD": [ + -1, + 188 + ], + "'LBRACK": [ + -1, + 188 + ], + "'TABLE": [ + -1, + 188 + ], + "'REACTOR": [ + -1, + 188 + ], + "'IF": [ + -1, + 188 + ], + "'ASK": [ + -1, + 188 + ], + "'CASES": [ + -1, + 188 + ], + "'FOR": [ + -1, + 188 + ], + "'TABLE-SELECT": [ + -1, + 188 + ], + "'TABLE-FILTER": [ + -1, + 188 + ], + "'TABLE-ORDER": [ + -1, + 188 + ], + "'TABLE-EXTRACT": [ + -1, + 188 + ], + "'TABLE-UPDATE": [ + -1, + 188 + ], + "'TABLE-EXTEND": [ + -1, + 188 + ], + "'LOAD-TABLE": [ + -1, + 188 + ] + }, + { + "table-headers": [ + 212 + ], + "table-headers_I0?": [ + 213 + ], + "table-headers_I0": [ + 214 + ], + "table-headers_I0_I0*": [ + 215 + ], + "'NAME": [ + -1, + 190 + ], + "'END": [ + -1, + 192, + 194 + ], + "'ROW": [ + -1, + 192, + 194 + ] + }, + { + "'COLON": [ + 216 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 217 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COLON": [ + 218 + ], + "'BLOCK": [ + 219 + ], + "if-pipe-expr_I1": [ + 220 + ] + }, + { + "'PARENNOSPACE": [ + 221 + ], + "'PARENSPACE": [ + 222 + ], + "cases-expr_I1": [ + 223 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 224 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 225 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 226 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 227 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 228 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 229 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 230 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COLON": [ + 231 + ] + }, + { + "$": [ + -1, + 196 + ], + "'NAME": [ + -1, + 196 + ], + "'INCLUDE": [ + -1, + 196 + ], + "'IMPORT": [ + -1, + 196 + ], + "'STRING": [ + -1, + 196 + ], + "'TYPE": [ + -1, + 196 + ], + "'DATA": [ + -1, + 196 + ], + "'PROVIDE": [ + -1, + 196 + ], + "'PROVIDE-TYPES": [ + -1, + 196 + ], + "'PROVIDECOLON": [ + -1, + 196 + ], + "'PARENSPACE": [ + -1, + 196 + ], + "'SPY": [ + -1, + 196 + ], + "'NEWTYPE": [ + -1, + 196 + ], + "'LBRACE": [ + -1, + 196 + ], + "'SHADOW": [ + -1, + 196 + ], + "'LET": [ + -1, + 196 + ], + "'BLOCK": [ + -1, + 196 + ], + "'LETREC": [ + -1, + 196 + ], + "'TYPE-LET": [ + -1, + 196 + ], + "'FUN": [ + -1, + 196 + ], + "'PARENAFTERBRACE": [ + -1, + 196 + ], + "'CHECK": [ + -1, + 196 + ], + "'EXAMPLES": [ + -1, + 196 + ], + "'CHECKCOLON": [ + -1, + 196 + ], + "'EXAMPLESCOLON": [ + -1, + 196 + ], + "'VAR": [ + -1, + 196 + ], + "'REC": [ + -1, + 196 + ], + "'WHEN": [ + -1, + 196 + ], + "'DOTDOTDOT": [ + -1, + 196 + ], + "'NUMBER": [ + -1, + 196 + ], + "'RATIONAL": [ + -1, + 196 + ], + "'ROUGHRATIONAL": [ + -1, + 196 + ], + "'TRUE": [ + -1, + 196 + ], + "'FALSE": [ + -1, + 196 + ], + "'LAM": [ + -1, + 196 + ], + "'METHOD": [ + -1, + 196 + ], + "'LBRACK": [ + -1, + 196 + ], + "'TABLE": [ + -1, + 196 + ], + "'REACTOR": [ + -1, + 196 + ], + "'IF": [ + -1, + 196 + ], + "'ASK": [ + -1, + 196 + ], + "'CASES": [ + -1, + 196 + ], + "'FOR": [ + -1, + 196 + ], + "'TABLE-SELECT": [ + -1, + 196 + ], + "'TABLE-FILTER": [ + -1, + 196 + ], + "'TABLE-ORDER": [ + -1, + 196 + ], + "'TABLE-EXTRACT": [ + -1, + 196 + ], + "'TABLE-UPDATE": [ + -1, + 196 + ], + "'TABLE-EXTEND": [ + -1, + 196 + ], + "'LOAD-TABLE": [ + -1, + 196 + ] + }, + { + "$": [ + -1, + 198 + ], + "'NAME": [ + -1, + 198 + ], + "'INCLUDE": [ + -1, + 198 + ], + "'IMPORT": [ + -1, + 198 + ], + "'STRING": [ + -1, + 198 + ], + "'TYPE": [ + -1, + 198 + ], + "'DATA": [ + -1, + 198 + ], + "'PROVIDE": [ + -1, + 198 + ], + "'PROVIDE-TYPES": [ + -1, + 198 + ], + "'PROVIDECOLON": [ + -1, + 198 + ], + "'PARENSPACE": [ + -1, + 198 + ], + "'SPY": [ + -1, + 198 + ], + "'NEWTYPE": [ + -1, + 198 + ], + "'LBRACE": [ + -1, + 198 + ], + "'SHADOW": [ + -1, + 198 + ], + "'LET": [ + -1, + 198 + ], + "'BLOCK": [ + -1, + 198 + ], + "'LETREC": [ + -1, + 198 + ], + "'TYPE-LET": [ + -1, + 198 + ], + "'FUN": [ + -1, + 198 + ], + "'PARENAFTERBRACE": [ + -1, + 198 + ], + "'CHECK": [ + -1, + 198 + ], + "'EXAMPLES": [ + -1, + 198 + ], + "'CHECKCOLON": [ + -1, + 198 + ], + "'EXAMPLESCOLON": [ + -1, + 198 + ], + "'VAR": [ + -1, + 198 + ], + "'REC": [ + -1, + 198 + ], + "'WHEN": [ + -1, + 198 + ], + "'DOTDOTDOT": [ + -1, + 198 + ], + "'NUMBER": [ + -1, + 198 + ], + "'RATIONAL": [ + -1, + 198 + ], + "'ROUGHRATIONAL": [ + -1, + 198 + ], + "'TRUE": [ + -1, + 198 + ], + "'FALSE": [ + -1, + 198 + ], + "'LAM": [ + -1, + 198 + ], + "'METHOD": [ + -1, + 198 + ], + "'LBRACK": [ + -1, + 198 + ], + "'TABLE": [ + -1, + 198 + ], + "'REACTOR": [ + -1, + 198 + ], + "'IF": [ + -1, + 198 + ], + "'ASK": [ + -1, + 198 + ], + "'CASES": [ + -1, + 198 + ], + "'FOR": [ + -1, + 198 + ], + "'TABLE-SELECT": [ + -1, + 198 + ], + "'TABLE-FILTER": [ + -1, + 198 + ], + "'TABLE-ORDER": [ + -1, + 198 + ], + "'TABLE-EXTRACT": [ + -1, + 198 + ], + "'TABLE-UPDATE": [ + -1, + 198 + ], + "'TABLE-EXTEND": [ + -1, + 198 + ], + "'LOAD-TABLE": [ + -1, + 198 + ] + }, + { + "$": [ + -1, + 200 + ], + "'NAME": [ + -1, + 200 + ], + "'INCLUDE": [ + -1, + 200 + ], + "'IMPORT": [ + -1, + 200 + ], + "'STRING": [ + -1, + 200 + ], + "'TYPE": [ + -1, + 200 + ], + "'DATA": [ + -1, + 200 + ], + "'PROVIDE": [ + -1, + 200 + ], + "'PROVIDE-TYPES": [ + -1, + 200 + ], + "'PROVIDECOLON": [ + -1, + 200 + ], + "'PARENSPACE": [ + -1, + 200 + ], + "'SPY": [ + -1, + 200 + ], + "'NEWTYPE": [ + -1, + 200 + ], + "'LBRACE": [ + -1, + 200 + ], + "'SHADOW": [ + -1, + 200 + ], + "'LET": [ + -1, + 200 + ], + "'BLOCK": [ + -1, + 200 + ], + "'LETREC": [ + -1, + 200 + ], + "'TYPE-LET": [ + -1, + 200 + ], + "'FUN": [ + -1, + 200 + ], + "'PARENAFTERBRACE": [ + -1, + 200 + ], + "'CHECK": [ + -1, + 200 + ], + "'EXAMPLES": [ + -1, + 200 + ], + "'CHECKCOLON": [ + -1, + 200 + ], + "'EXAMPLESCOLON": [ + -1, + 200 + ], + "'VAR": [ + -1, + 200 + ], + "'REC": [ + -1, + 200 + ], + "'WHEN": [ + -1, + 200 + ], + "'DOTDOTDOT": [ + -1, + 200 + ], + "'NUMBER": [ + -1, + 200 + ], + "'RATIONAL": [ + -1, + 200 + ], + "'ROUGHRATIONAL": [ + -1, + 200 + ], + "'TRUE": [ + -1, + 200 + ], + "'FALSE": [ + -1, + 200 + ], + "'LAM": [ + -1, + 200 + ], + "'METHOD": [ + -1, + 200 + ], + "'LBRACK": [ + -1, + 200 + ], + "'TABLE": [ + -1, + 200 + ], + "'REACTOR": [ + -1, + 200 + ], + "'IF": [ + -1, + 200 + ], + "'ASK": [ + -1, + 200 + ], + "'CASES": [ + -1, + 200 + ], + "'FOR": [ + -1, + 200 + ], + "'TABLE-SELECT": [ + -1, + 200 + ], + "'TABLE-FILTER": [ + -1, + 200 + ], + "'TABLE-ORDER": [ + -1, + 200 + ], + "'TABLE-EXTRACT": [ + -1, + 200 + ], + "'TABLE-UPDATE": [ + -1, + 200 + ], + "'TABLE-EXTEND": [ + -1, + 200 + ], + "'LOAD-TABLE": [ + -1, + 200 + ] + }, + { + "'NAME": [ + 131 + ], + "import-source": [ + 232 + ], + "'FROM": [ + 233 + ], + "import-special": [ + 133 + ], + "import-name": [ + 134 + ] + }, + { + "'NAME": [ + 234 + ], + "import-source": [ + 235 + ], + "comma-names": [ + 236 + ], + "import-special": [ + 133 + ], + "import-name": [ + 134 + ] + }, + { + "$": [ + -1, + 202 + ], + "'NAME": [ + -1, + 202 + ], + "'INCLUDE": [ + -1, + 202 + ], + "'IMPORT": [ + -1, + 202 + ], + "'STRING": [ + -1, + 202 + ], + "'TYPE": [ + -1, + 202 + ], + "'DATA": [ + -1, + 202 + ], + "'PROVIDE": [ + -1, + 202 + ], + "'PROVIDE-TYPES": [ + -1, + 202 + ], + "'PROVIDECOLON": [ + -1, + 202 + ], + "'PARENSPACE": [ + -1, + 202 + ], + "'SPY": [ + -1, + 202 + ], + "'NEWTYPE": [ + -1, + 202 + ], + "'LBRACE": [ + -1, + 202 + ], + "'SHADOW": [ + -1, + 202 + ], + "'LET": [ + -1, + 202 + ], + "'BLOCK": [ + -1, + 202 + ], + "'LETREC": [ + -1, + 202 + ], + "'TYPE-LET": [ + -1, + 202 + ], + "'FUN": [ + -1, + 202 + ], + "'PARENAFTERBRACE": [ + -1, + 202 + ], + "'CHECK": [ + -1, + 202 + ], + "'EXAMPLES": [ + -1, + 202 + ], + "'CHECKCOLON": [ + -1, + 202 + ], + "'EXAMPLESCOLON": [ + -1, + 202 + ], + "'VAR": [ + -1, + 202 + ], + "'REC": [ + -1, + 202 + ], + "'WHEN": [ + -1, + 202 + ], + "'DOTDOTDOT": [ + -1, + 202 + ], + "'NUMBER": [ + -1, + 202 + ], + "'RATIONAL": [ + -1, + 202 + ], + "'ROUGHRATIONAL": [ + -1, + 202 + ], + "'TRUE": [ + -1, + 202 + ], + "'FALSE": [ + -1, + 202 + ], + "'LAM": [ + -1, + 202 + ], + "'METHOD": [ + -1, + 202 + ], + "'LBRACK": [ + -1, + 202 + ], + "'TABLE": [ + -1, + 202 + ], + "'REACTOR": [ + -1, + 202 + ], + "'IF": [ + -1, + 202 + ], + "'ASK": [ + -1, + 202 + ], + "'CASES": [ + -1, + 202 + ], + "'FOR": [ + -1, + 202 + ], + "'TABLE-SELECT": [ + -1, + 202 + ], + "'TABLE-FILTER": [ + -1, + 202 + ], + "'TABLE-ORDER": [ + -1, + 202 + ], + "'TABLE-EXTRACT": [ + -1, + 202 + ], + "'TABLE-UPDATE": [ + -1, + 202 + ], + "'TABLE-EXTEND": [ + -1, + 202 + ], + "'LOAD-TABLE": [ + -1, + 202 + ] + }, + { + "$": [ + -1, + 204 + ], + "'NAME": [ + -1, + 204 + ], + "'INCLUDE": [ + -1, + 204 + ], + "'IMPORT": [ + -1, + 204 + ], + "'STRING": [ + -1, + 204 + ], + "'TYPE": [ + -1, + 204 + ], + "'DATA": [ + -1, + 204 + ], + "'PROVIDE": [ + -1, + 204 + ], + "'PROVIDE-TYPES": [ + -1, + 204 + ], + "'PROVIDECOLON": [ + -1, + 204 + ], + "'PARENSPACE": [ + -1, + 204 + ], + "'SPY": [ + -1, + 204 + ], + "'NEWTYPE": [ + -1, + 204 + ], + "'LBRACE": [ + -1, + 204 + ], + "'SHADOW": [ + -1, + 204 + ], + "'LET": [ + -1, + 204 + ], + "'BLOCK": [ + -1, + 204 + ], + "'LETREC": [ + -1, + 204 + ], + "'TYPE-LET": [ + -1, + 204 + ], + "'FUN": [ + -1, + 204 + ], + "'PARENAFTERBRACE": [ + -1, + 204 + ], + "'CHECK": [ + -1, + 204 + ], + "'EXAMPLES": [ + -1, + 204 + ], + "'CHECKCOLON": [ + -1, + 204 + ], + "'EXAMPLESCOLON": [ + -1, + 204 + ], + "'VAR": [ + -1, + 204 + ], + "'REC": [ + -1, + 204 + ], + "'WHEN": [ + -1, + 204 + ], + "'DOTDOTDOT": [ + -1, + 204 + ], + "'NUMBER": [ + -1, + 204 + ], + "'RATIONAL": [ + -1, + 204 + ], + "'ROUGHRATIONAL": [ + -1, + 204 + ], + "'TRUE": [ + -1, + 204 + ], + "'FALSE": [ + -1, + 204 + ], + "'LAM": [ + -1, + 204 + ], + "'METHOD": [ + -1, + 204 + ], + "'LBRACK": [ + -1, + 204 + ], + "'TABLE": [ + -1, + 204 + ], + "'REACTOR": [ + -1, + 204 + ], + "'IF": [ + -1, + 204 + ], + "'ASK": [ + -1, + 204 + ], + "'CASES": [ + -1, + 204 + ], + "'FOR": [ + -1, + 204 + ], + "'TABLE-SELECT": [ + -1, + 204 + ], + "'TABLE-FILTER": [ + -1, + 204 + ], + "'TABLE-ORDER": [ + -1, + 204 + ], + "'TABLE-EXTRACT": [ + -1, + 204 + ], + "'TABLE-UPDATE": [ + -1, + 204 + ], + "'TABLE-EXTEND": [ + -1, + 204 + ], + "'LOAD-TABLE": [ + -1, + 204 + ] + }, + { + "$": [ + -1, + 206 + ], + "'NAME": [ + -1, + 206 + ], + "'INCLUDE": [ + -1, + 206 + ], + "'IMPORT": [ + -1, + 206 + ], + "'STRING": [ + -1, + 206 + ], + "'TYPE": [ + -1, + 206 + ], + "'DATA": [ + -1, + 206 + ], + "'PROVIDE": [ + -1, + 206 + ], + "'PROVIDE-TYPES": [ + -1, + 206 + ], + "'PROVIDECOLON": [ + -1, + 206 + ], + "'PARENSPACE": [ + -1, + 206 + ], + "'SPY": [ + -1, + 206 + ], + "'NEWTYPE": [ + -1, + 206 + ], + "'LBRACE": [ + -1, + 206 + ], + "'SHADOW": [ + -1, + 206 + ], + "'LET": [ + -1, + 206 + ], + "'BLOCK": [ + -1, + 206 + ], + "'LETREC": [ + -1, + 206 + ], + "'TYPE-LET": [ + -1, + 206 + ], + "'FUN": [ + -1, + 206 + ], + "'PARENAFTERBRACE": [ + -1, + 206 + ], + "'CHECK": [ + -1, + 206 + ], + "'EXAMPLES": [ + -1, + 206 + ], + "'CHECKCOLON": [ + -1, + 206 + ], + "'EXAMPLESCOLON": [ + -1, + 206 + ], + "'VAR": [ + -1, + 206 + ], + "'REC": [ + -1, + 206 + ], + "'WHEN": [ + -1, + 206 + ], + "'DOTDOTDOT": [ + -1, + 206 + ], + "'NUMBER": [ + -1, + 206 + ], + "'RATIONAL": [ + -1, + 206 + ], + "'ROUGHRATIONAL": [ + -1, + 206 + ], + "'TRUE": [ + -1, + 206 + ], + "'FALSE": [ + -1, + 206 + ], + "'LAM": [ + -1, + 206 + ], + "'METHOD": [ + -1, + 206 + ], + "'LBRACK": [ + -1, + 206 + ], + "'TABLE": [ + -1, + 206 + ], + "'REACTOR": [ + -1, + 206 + ], + "'IF": [ + -1, + 206 + ], + "'ASK": [ + -1, + 206 + ], + "'CASES": [ + -1, + 206 + ], + "'FOR": [ + -1, + 206 + ], + "'TABLE-SELECT": [ + -1, + 206 + ], + "'TABLE-FILTER": [ + -1, + 206 + ], + "'TABLE-ORDER": [ + -1, + 206 + ], + "'TABLE-EXTRACT": [ + -1, + 206 + ], + "'TABLE-UPDATE": [ + -1, + 206 + ], + "'TABLE-EXTEND": [ + -1, + 206 + ], + "'LOAD-TABLE": [ + -1, + 206 + ] + }, + { + "'NAME": [ + 11, + 22 + ], + "'FROM": [ + 237 + ], + "'STRING": [ + 12 + ], + "'TYPE": [ + 13 + ], + "'DATA": [ + 14 + ], + "stmt": [ + 238 + ], + "provide-vals-stmt_A1_I1": [ + 239 + ], + "'STAR": [ + 240 + ], + "'TIMES": [ + 241 + ], + "'PARENSPACE": [ + 16 + ], + "type-expr": [ + 18 + ], + "newtype-expr": [ + 19 + ], + "spy-stmt": [ + 20 + ], + "let-expr": [ + 21 + ], + "fun-expr": [ + 22 + ], + "data-expr": [ + 23 + ], + "when-expr": [ + 24 + ], + "var-expr": [ + 25 + ], + "rec-expr": [ + 26 + ], + "assign-expr": [ + 27 + ], + "check-test": [ + 28 + ], + "check-expr": [ + 29 + ], + "contract-stmt": [ + 30 + ], + "'SPY": [ + 31 + ], + "binop-expr": [ + 32 + ], + "id-expr": [ + 33 + ], + "'NEWTYPE": [ + 34 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 39 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'FUN": [ + 50 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "check-expr_A0_I0": [ + 52 + ], + "'CHECK": [ + 53 + ], + "'EXAMPLES": [ + 54 + ], + "check-expr_A1_I0": [ + 55 + ], + "'CHECKCOLON": [ + 56 + ], + "'EXAMPLESCOLON": [ + 57 + ], + "'VAR": [ + 58 + ], + "'REC": [ + 59 + ], + "'WHEN": [ + 60 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'STAR": [ + 242 + ], + "'TIMES": [ + 243 + ], + "record-ann": [ + 244 + ], + "provide-types-stmt_A1_I1": [ + 245 + ], + "'LBRACE": [ + 246 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 248 + ], + "'TYPE": [ + 249 + ], + "'DATA": [ + 250 + ], + "'MODULE": [ + 251 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "provide-block_A0_I1?": [ + 254 + ], + "provide-block_A0_I1": [ + 255 + ], + "provide-spec": [ + 256 + ], + "provide-name-spec": [ + 257 + ], + "provide-type-spec": [ + 258 + ], + "provide-data-spec": [ + 259 + ], + "provide-module-spec": [ + 260 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 210 + ] + }, + { + "'PARENNOSPACE": [ + 263 + ], + "$": [ + -1, + 212 + ], + "'NAME": [ + -1, + 212 + ], + "'INCLUDE": [ + -1, + 212 + ], + "'IMPORT": [ + -1, + 212 + ], + "'STRING": [ + -1, + 212 + ], + "'TYPE": [ + -1, + 212 + ], + "'DATA": [ + -1, + 212 + ], + "'PROVIDE": [ + -1, + 212 + ], + "'PROVIDE-TYPES": [ + -1, + 212 + ], + "'PROVIDECOLON": [ + -1, + 212 + ], + "'PARENSPACE": [ + -1, + 212 + ], + "'SPY": [ + -1, + 212 + ], + "'NEWTYPE": [ + -1, + 212 + ], + "'LBRACE": [ + -1, + 212 + ], + "'SHADOW": [ + -1, + 212 + ], + "'LET": [ + -1, + 212 + ], + "'BLOCK": [ + -1, + 212 + ], + "'LETREC": [ + -1, + 212 + ], + "'TYPE-LET": [ + -1, + 212 + ], + "'FUN": [ + -1, + 212 + ], + "'PARENAFTERBRACE": [ + -1, + 212 + ], + "'CHECK": [ + -1, + 212 + ], + "'EXAMPLES": [ + -1, + 212 + ], + "'CHECKCOLON": [ + -1, + 212 + ], + "'EXAMPLESCOLON": [ + -1, + 212 + ], + "'VAR": [ + -1, + 212 + ], + "'REC": [ + -1, + 212 + ], + "'WHEN": [ + -1, + 212 + ], + "'DOTDOTDOT": [ + -1, + 212 + ], + "'NUMBER": [ + -1, + 212 + ], + "'RATIONAL": [ + -1, + 212 + ], + "'ROUGHRATIONAL": [ + -1, + 212 + ], + "'TRUE": [ + -1, + 212 + ], + "'FALSE": [ + -1, + 212 + ], + "'LAM": [ + -1, + 212 + ], + "'METHOD": [ + -1, + 212 + ], + "'LBRACK": [ + -1, + 212 + ], + "'TABLE": [ + -1, + 212 + ], + "'REACTOR": [ + -1, + 212 + ], + "'IF": [ + -1, + 212 + ], + "'ASK": [ + -1, + 212 + ], + "'CASES": [ + -1, + 212 + ], + "'FOR": [ + -1, + 212 + ], + "'TABLE-SELECT": [ + -1, + 212 + ], + "'TABLE-FILTER": [ + -1, + 212 + ], + "'TABLE-ORDER": [ + -1, + 212 + ], + "'TABLE-EXTRACT": [ + -1, + 212 + ], + "'TABLE-UPDATE": [ + -1, + 212 + ], + "'TABLE-EXTEND": [ + -1, + 212 + ], + "'LOAD-TABLE": [ + -1, + 212 + ] + }, + { + "$": [ + -1, + 214 + ], + "'NAME": [ + -1, + 214 + ], + "'INCLUDE": [ + -1, + 214 + ], + "'IMPORT": [ + -1, + 214 + ], + "'STRING": [ + -1, + 214 + ], + "'TYPE": [ + -1, + 214 + ], + "'DATA": [ + -1, + 214 + ], + "'PROVIDE": [ + -1, + 214 + ], + "'PROVIDE-TYPES": [ + -1, + 214 + ], + "'PROVIDECOLON": [ + -1, + 214 + ], + "'PARENSPACE": [ + -1, + 214 + ], + "'SPY": [ + -1, + 214 + ], + "'NEWTYPE": [ + -1, + 214 + ], + "'LBRACE": [ + -1, + 214 + ], + "'SHADOW": [ + -1, + 214 + ], + "'LET": [ + -1, + 214 + ], + "'BLOCK": [ + -1, + 214 + ], + "'LETREC": [ + -1, + 214 + ], + "'TYPE-LET": [ + -1, + 214 + ], + "'FUN": [ + -1, + 214 + ], + "'PARENAFTERBRACE": [ + -1, + 214 + ], + "'CHECK": [ + -1, + 214 + ], + "'EXAMPLES": [ + -1, + 214 + ], + "'CHECKCOLON": [ + -1, + 214 + ], + "'EXAMPLESCOLON": [ + -1, + 214 + ], + "'VAR": [ + -1, + 214 + ], + "'REC": [ + -1, + 214 + ], + "'WHEN": [ + -1, + 214 + ], + "'DOTDOTDOT": [ + -1, + 214 + ], + "'NUMBER": [ + -1, + 214 + ], + "'RATIONAL": [ + -1, + 214 + ], + "'ROUGHRATIONAL": [ + -1, + 214 + ], + "'TRUE": [ + -1, + 214 + ], + "'FALSE": [ + -1, + 214 + ], + "'LAM": [ + -1, + 214 + ], + "'METHOD": [ + -1, + 214 + ], + "'LBRACK": [ + -1, + 214 + ], + "'TABLE": [ + -1, + 214 + ], + "'REACTOR": [ + -1, + 214 + ], + "'IF": [ + -1, + 214 + ], + "'ASK": [ + -1, + 214 + ], + "'CASES": [ + -1, + 214 + ], + "'FOR": [ + -1, + 214 + ], + "'TABLE-SELECT": [ + -1, + 214 + ], + "'TABLE-FILTER": [ + -1, + 214 + ], + "'TABLE-ORDER": [ + -1, + 214 + ], + "'TABLE-EXTRACT": [ + -1, + 214 + ], + "'TABLE-UPDATE": [ + -1, + 214 + ], + "'TABLE-EXTEND": [ + -1, + 214 + ], + "'LOAD-TABLE": [ + -1, + 214 + ] + }, + { + "$": [ + -1, + 216 + ], + "'NAME": [ + -1, + 216 + ], + "'INCLUDE": [ + -1, + 216 + ], + "'IMPORT": [ + -1, + 216 + ], + "'AS": [ + -1, + 216 + ], + "'STRING": [ + -1, + 216 + ], + "'TYPE": [ + -1, + 216 + ], + "'DATA": [ + -1, + 216 + ], + "'PROVIDE": [ + -1, + 216 + ], + "'PROVIDE-TYPES": [ + -1, + 216 + ], + "'PROVIDECOLON": [ + -1, + 216 + ], + "'PARENSPACE": [ + -1, + 216 + ], + "'SPY": [ + -1, + 216 + ], + "'NEWTYPE": [ + -1, + 216 + ], + "'LBRACE": [ + -1, + 216 + ], + "'SHADOW": [ + -1, + 216 + ], + "'LET": [ + -1, + 216 + ], + "'BLOCK": [ + -1, + 216 + ], + "'LETREC": [ + -1, + 216 + ], + "'TYPE-LET": [ + -1, + 216 + ], + "'FUN": [ + -1, + 216 + ], + "'PARENAFTERBRACE": [ + -1, + 216 + ], + "'CHECK": [ + -1, + 216 + ], + "'EXAMPLES": [ + -1, + 216 + ], + "'CHECKCOLON": [ + -1, + 216 + ], + "'EXAMPLESCOLON": [ + -1, + 216 + ], + "'VAR": [ + -1, + 216 + ], + "'REC": [ + -1, + 216 + ], + "'WHEN": [ + -1, + 216 + ], + "'DOTDOTDOT": [ + -1, + 216 + ], + "'NUMBER": [ + -1, + 216 + ], + "'RATIONAL": [ + -1, + 216 + ], + "'ROUGHRATIONAL": [ + -1, + 216 + ], + "'TRUE": [ + -1, + 216 + ], + "'FALSE": [ + -1, + 216 + ], + "'LAM": [ + -1, + 216 + ], + "'METHOD": [ + -1, + 216 + ], + "'LBRACK": [ + -1, + 216 + ], + "'TABLE": [ + -1, + 216 + ], + "'REACTOR": [ + -1, + 216 + ], + "'IF": [ + -1, + 216 + ], + "'ASK": [ + -1, + 216 + ], + "'CASES": [ + -1, + 216 + ], + "'FOR": [ + -1, + 216 + ], + "'TABLE-SELECT": [ + -1, + 216 + ], + "'TABLE-FILTER": [ + -1, + 216 + ], + "'TABLE-ORDER": [ + -1, + 216 + ], + "'TABLE-EXTRACT": [ + -1, + 216 + ], + "'TABLE-UPDATE": [ + -1, + 216 + ], + "'TABLE-EXTEND": [ + -1, + 216 + ], + "'LOAD-TABLE": [ + -1, + 216 + ] + }, + { + "$": [ + -1, + 218 + ], + "'NAME": [ + -1, + 218 + ], + "'INCLUDE": [ + -1, + 218 + ], + "'IMPORT": [ + -1, + 218 + ], + "'AS": [ + -1, + 218 + ], + "'STRING": [ + -1, + 218 + ], + "'TYPE": [ + -1, + 218 + ], + "'DATA": [ + -1, + 218 + ], + "'PROVIDE": [ + -1, + 218 + ], + "'PROVIDE-TYPES": [ + -1, + 218 + ], + "'PROVIDECOLON": [ + -1, + 218 + ], + "'PARENSPACE": [ + -1, + 218 + ], + "'SPY": [ + -1, + 218 + ], + "'NEWTYPE": [ + -1, + 218 + ], + "'LBRACE": [ + -1, + 218 + ], + "'SHADOW": [ + -1, + 218 + ], + "'LET": [ + -1, + 218 + ], + "'BLOCK": [ + -1, + 218 + ], + "'LETREC": [ + -1, + 218 + ], + "'TYPE-LET": [ + -1, + 218 + ], + "'FUN": [ + -1, + 218 + ], + "'PARENAFTERBRACE": [ + -1, + 218 + ], + "'CHECK": [ + -1, + 218 + ], + "'EXAMPLES": [ + -1, + 218 + ], + "'CHECKCOLON": [ + -1, + 218 + ], + "'EXAMPLESCOLON": [ + -1, + 218 + ], + "'VAR": [ + -1, + 218 + ], + "'REC": [ + -1, + 218 + ], + "'WHEN": [ + -1, + 218 + ], + "'DOTDOTDOT": [ + -1, + 218 + ], + "'NUMBER": [ + -1, + 218 + ], + "'RATIONAL": [ + -1, + 218 + ], + "'ROUGHRATIONAL": [ + -1, + 218 + ], + "'TRUE": [ + -1, + 218 + ], + "'FALSE": [ + -1, + 218 + ], + "'LAM": [ + -1, + 218 + ], + "'METHOD": [ + -1, + 218 + ], + "'LBRACK": [ + -1, + 218 + ], + "'TABLE": [ + -1, + 218 + ], + "'REACTOR": [ + -1, + 218 + ], + "'IF": [ + -1, + 218 + ], + "'ASK": [ + -1, + 218 + ], + "'CASES": [ + -1, + 218 + ], + "'FOR": [ + -1, + 218 + ], + "'TABLE-SELECT": [ + -1, + 218 + ], + "'TABLE-FILTER": [ + -1, + 218 + ], + "'TABLE-ORDER": [ + -1, + 218 + ], + "'TABLE-EXTRACT": [ + -1, + 218 + ], + "'TABLE-UPDATE": [ + -1, + 218 + ], + "'TABLE-EXTEND": [ + -1, + 218 + ], + "'LOAD-TABLE": [ + -1, + 218 + ] + }, + { + "ty-params": [ + 264 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'NAME": [ + -1, + 78, + 80 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'LBRACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ], + "'THINARROW": [ + -1, + 78, + 80 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 265 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "ty-params": [ + 266 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'EQUALS": [ + -1, + 78, + 80 + ] + }, + { + "ty-params": [ + 267 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'COLON": [ + -1, + 78, + 80 + ] + }, + { + "$": [ + -1, + 28 + ], + "'NAME": [ + -1, + 28 + ], + "'COLON": [ + -1, + 28 + ], + "'END": [ + -1, + 28 + ], + "'COMMA": [ + -1, + 28 + ], + "'PARENNOSPACE": [ + -1, + 28 + ], + "'STRING": [ + -1, + 28 + ], + "'RPAREN": [ + -1, + 28 + ], + "'TYPE": [ + -1, + 28 + ], + "'DATA": [ + -1, + 28 + ], + "'TIMES": [ + -1, + 28 + ], + "'PARENSPACE": [ + -1, + 28 + ], + "'DOT": [ + -1, + 28 + ], + "'SPY": [ + -1, + 28 + ], + "'NEWTYPE": [ + -1, + 28 + ], + "'LBRACE": [ + -1, + 28 + ], + "'RBRACE": [ + -1, + 28 + ], + "'SEMI": [ + -1, + 28 + ], + "'SHADOW": [ + -1, + 28 + ], + "'LET": [ + -1, + 28 + ], + "'BLOCK": [ + -1, + 28 + ], + "'LETREC": [ + -1, + 28 + ], + "'TYPE-LET": [ + -1, + 28 + ], + "'FUN": [ + -1, + 28 + ], + "'LANGLE": [ + -1, + 28 + ], + "'LT": [ + -1, + 28 + ], + "'GT": [ + -1, + 28 + ], + "'PARENAFTERBRACE": [ + -1, + 28 + ], + "'WHERE": [ + -1, + 28 + ], + "'CHECK": [ + -1, + 28 + ], + "'EXAMPLES": [ + -1, + 28 + ], + "'CHECKCOLON": [ + -1, + 28 + ], + "'EXAMPLESCOLON": [ + -1, + 28 + ], + "'BECAUSE": [ + -1, + 28 + ], + "'BAR": [ + -1, + 28 + ], + "'SHARING": [ + -1, + 28 + ], + "'VAR": [ + -1, + 28 + ], + "'REC": [ + -1, + 28 + ], + "'WHEN": [ + -1, + 28 + ], + "'PLUS": [ + -1, + 28 + ], + "'DASH": [ + -1, + 28 + ], + "'SLASH": [ + -1, + 28 + ], + "'LEQ": [ + -1, + 28 + ], + "'GEQ": [ + -1, + 28 + ], + "'EQUALEQUAL": [ + -1, + 28 + ], + "'SPACESHIP": [ + -1, + 28 + ], + "'EQUALTILDE": [ + -1, + 28 + ], + "'NEQ": [ + -1, + 28 + ], + "'AND": [ + -1, + 28 + ], + "'OR": [ + -1, + 28 + ], + "'CARET": [ + -1, + 28 + ], + "'IS": [ + -1, + 28 + ], + "'ISEQUALEQUAL": [ + -1, + 28 + ], + "'ISEQUALTILDE": [ + -1, + 28 + ], + "'ISSPACESHIP": [ + -1, + 28 + ], + "'ISROUGHLY": [ + -1, + 28 + ], + "'ISNOT": [ + -1, + 28 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 28 + ], + "'ISNOTEQUALTILDE": [ + -1, + 28 + ], + "'ISNOTSPACESHIP": [ + -1, + 28 + ], + "'RAISES": [ + -1, + 28 + ], + "'RAISESOTHER": [ + -1, + 28 + ], + "'SATISFIES": [ + -1, + 28 + ], + "'SATISFIESNOT": [ + -1, + 28 + ], + "'RAISESSATISFIES": [ + -1, + 28 + ], + "'RAISESVIOLATES": [ + -1, + 28 + ], + "'RAISESNOT": [ + -1, + 28 + ], + "'DOTDOTDOT": [ + -1, + 28 + ], + "'NUMBER": [ + -1, + 28 + ], + "'RATIONAL": [ + -1, + 28 + ], + "'ROUGHRATIONAL": [ + -1, + 28 + ], + "'TRUE": [ + -1, + 28 + ], + "'FALSE": [ + -1, + 28 + ], + "'LAM": [ + -1, + 28 + ], + "'METHOD": [ + -1, + 28 + ], + "'LBRACK": [ + -1, + 28 + ], + "'RBRACK": [ + -1, + 28 + ], + "'TABLE": [ + -1, + 28 + ], + "'ROW": [ + -1, + 28 + ], + "'REACTOR": [ + -1, + 28 + ], + "'BANG": [ + -1, + 28 + ], + "'IF": [ + -1, + 28 + ], + "'ELSECOLON": [ + -1, + 28 + ], + "'ELSEIF": [ + -1, + 28 + ], + "'ASK": [ + -1, + 28 + ], + "'THENCOLON": [ + -1, + 28 + ], + "'CASES": [ + -1, + 28 + ], + "'FOR": [ + -1, + 28 + ], + "'TABLE-SELECT": [ + -1, + 28 + ], + "'TABLE-FILTER": [ + -1, + 28 + ], + "'USING": [ + -1, + 28 + ], + "'TABLE-ORDER": [ + -1, + 28 + ], + "'TABLE-EXTRACT": [ + -1, + 28 + ], + "'TABLE-UPDATE": [ + -1, + 28 + ], + "'TABLE-EXTEND": [ + -1, + 28 + ], + "'OF": [ + -1, + 28 + ], + "'LOAD-TABLE": [ + -1, + 28 + ], + "'SOURCECOLON": [ + -1, + 28 + ], + "'SANITIZE": [ + -1, + 28 + ] + }, + { + "'COLON": [ + 268 + ] + }, + { + "'COLON": [ + -1, + 220 + ] + }, + { + "'COLON": [ + -1, + 222 + ] + }, + { + "'NAME": [ + 164 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16, + 78, + 80 + ], + "binop-expr": [ + 165 + ], + "id-expr": [ + 33 + ], + "ty-params": [ + 166 + ], + "'LBRACE": [ + 143 + ], + "'RBRACE": [ + 168 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "fun-header": [ + 169 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENAFTERBRACE": [ + 51, + 78, + 80 + ], + "'REF": [ + 175 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 176 + ], + "tuple-fields": [ + 177 + ], + "obj-fields": [ + 178 + ], + "obj-field": [ + 179 + ], + "key": [ + 180 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ] + }, + { + "check-test_A0_I2?": [ + 269 + ], + "check-test_A0_I2": [ + 270 + ], + "'PERCENT": [ + 271 + ], + "'NAME": [ + -1, + 224 + ], + "'STRING": [ + -1, + 224 + ], + "'PARENSPACE": [ + -1, + 224 + ], + "'LBRACE": [ + -1, + 224 + ], + "'LET": [ + -1, + 224 + ], + "'BLOCK": [ + -1, + 224 + ], + "'LETREC": [ + -1, + 224 + ], + "'TYPE-LET": [ + -1, + 224 + ], + "'PARENAFTERBRACE": [ + -1, + 224 + ], + "'DOTDOTDOT": [ + -1, + 224 + ], + "'NUMBER": [ + -1, + 224 + ], + "'RATIONAL": [ + -1, + 224 + ], + "'ROUGHRATIONAL": [ + -1, + 224 + ], + "'TRUE": [ + -1, + 224 + ], + "'FALSE": [ + -1, + 224 + ], + "'LAM": [ + -1, + 224 + ], + "'METHOD": [ + -1, + 224 + ], + "'LBRACK": [ + -1, + 224 + ], + "'TABLE": [ + -1, + 224 + ], + "'REACTOR": [ + -1, + 224 + ], + "'IF": [ + -1, + 224 + ], + "'ASK": [ + -1, + 224 + ], + "'CASES": [ + -1, + 224 + ], + "'FOR": [ + -1, + 224 + ], + "'TABLE-SELECT": [ + -1, + 224 + ], + "'TABLE-FILTER": [ + -1, + 224 + ], + "'TABLE-ORDER": [ + -1, + 224 + ], + "'TABLE-EXTRACT": [ + -1, + 224 + ], + "'TABLE-UPDATE": [ + -1, + 224 + ], + "'TABLE-EXTEND": [ + -1, + 224 + ], + "'LOAD-TABLE": [ + -1, + 224 + ] + }, + { + "'BECAUSE": [ + 272 + ], + "check-test_A1_I2?": [ + 273 + ], + "check-test_A1_I2": [ + 274 + ], + "$": [ + -1, + 226, + 228 + ], + "'NAME": [ + -1, + 226, + 228 + ], + "'END": [ + -1, + 226, + 228 + ], + "'STRING": [ + -1, + 226, + 228 + ], + "'TYPE": [ + -1, + 226, + 228 + ], + "'DATA": [ + -1, + 226, + 228 + ], + "'PARENSPACE": [ + -1, + 226, + 228 + ], + "'SPY": [ + -1, + 226, + 228 + ], + "'NEWTYPE": [ + -1, + 226, + 228 + ], + "'LBRACE": [ + -1, + 226, + 228 + ], + "'RBRACE": [ + -1, + 226, + 228 + ], + "'SHADOW": [ + -1, + 226, + 228 + ], + "'LET": [ + -1, + 226, + 228 + ], + "'BLOCK": [ + -1, + 226, + 228 + ], + "'LETREC": [ + -1, + 226, + 228 + ], + "'TYPE-LET": [ + -1, + 226, + 228 + ], + "'FUN": [ + -1, + 226, + 228 + ], + "'PARENAFTERBRACE": [ + -1, + 226, + 228 + ], + "'WHERE": [ + -1, + 226, + 228 + ], + "'CHECK": [ + -1, + 226, + 228 + ], + "'EXAMPLES": [ + -1, + 226, + 228 + ], + "'CHECKCOLON": [ + -1, + 226, + 228 + ], + "'EXAMPLESCOLON": [ + -1, + 226, + 228 + ], + "'BAR": [ + -1, + 226, + 228 + ], + "'VAR": [ + -1, + 226, + 228 + ], + "'REC": [ + -1, + 226, + 228 + ], + "'WHEN": [ + -1, + 226, + 228 + ], + "'DOTDOTDOT": [ + -1, + 226, + 228 + ], + "'NUMBER": [ + -1, + 226, + 228 + ], + "'RATIONAL": [ + -1, + 226, + 228 + ], + "'ROUGHRATIONAL": [ + -1, + 226, + 228 + ], + "'TRUE": [ + -1, + 226, + 228 + ], + "'FALSE": [ + -1, + 226, + 228 + ], + "'LAM": [ + -1, + 226, + 228 + ], + "'METHOD": [ + -1, + 226, + 228 + ], + "'LBRACK": [ + -1, + 226, + 228 + ], + "'TABLE": [ + -1, + 226, + 228 + ], + "'REACTOR": [ + -1, + 226, + 228 + ], + "'IF": [ + -1, + 226, + 228 + ], + "'ELSECOLON": [ + -1, + 226, + 228 + ], + "'ELSEIF": [ + -1, + 226, + 228 + ], + "'ASK": [ + -1, + 226, + 228 + ], + "'CASES": [ + -1, + 226, + 228 + ], + "'FOR": [ + -1, + 226, + 228 + ], + "'TABLE-SELECT": [ + -1, + 226, + 228 + ], + "'TABLE-FILTER": [ + -1, + 226, + 228 + ], + "'TABLE-ORDER": [ + -1, + 226, + 228 + ], + "'TABLE-EXTRACT": [ + -1, + 226, + 228 + ], + "'TABLE-UPDATE": [ + -1, + 226, + 228 + ], + "'TABLE-EXTEND": [ + -1, + 226, + 228 + ], + "'LOAD-TABLE": [ + -1, + 226, + 228 + ] + }, + { + "'NAME": [ + -1, + 230 + ], + "'STRING": [ + -1, + 230 + ], + "'PARENSPACE": [ + -1, + 230 + ], + "'LBRACE": [ + -1, + 230 + ], + "'LET": [ + -1, + 230 + ], + "'BLOCK": [ + -1, + 230 + ], + "'LETREC": [ + -1, + 230 + ], + "'TYPE-LET": [ + -1, + 230 + ], + "'PARENAFTERBRACE": [ + -1, + 230 + ], + "'PERCENT": [ + -1, + 230 + ], + "'DOTDOTDOT": [ + -1, + 230 + ], + "'NUMBER": [ + -1, + 230 + ], + "'RATIONAL": [ + -1, + 230 + ], + "'ROUGHRATIONAL": [ + -1, + 230 + ], + "'TRUE": [ + -1, + 230 + ], + "'FALSE": [ + -1, + 230 + ], + "'LAM": [ + -1, + 230 + ], + "'METHOD": [ + -1, + 230 + ], + "'LBRACK": [ + -1, + 230 + ], + "'TABLE": [ + -1, + 230 + ], + "'REACTOR": [ + -1, + 230 + ], + "'IF": [ + -1, + 230 + ], + "'ASK": [ + -1, + 230 + ], + "'CASES": [ + -1, + 230 + ], + "'FOR": [ + -1, + 230 + ], + "'TABLE-SELECT": [ + -1, + 230 + ], + "'TABLE-FILTER": [ + -1, + 230 + ], + "'TABLE-ORDER": [ + -1, + 230 + ], + "'TABLE-EXTRACT": [ + -1, + 230 + ], + "'TABLE-UPDATE": [ + -1, + 230 + ], + "'TABLE-EXTEND": [ + -1, + 230 + ], + "'LOAD-TABLE": [ + -1, + 230 + ] + }, + { + "'NAME": [ + -1, + 232 + ], + "'STRING": [ + -1, + 232 + ], + "'PARENSPACE": [ + -1, + 232 + ], + "'LBRACE": [ + -1, + 232 + ], + "'LET": [ + -1, + 232 + ], + "'BLOCK": [ + -1, + 232 + ], + "'LETREC": [ + -1, + 232 + ], + "'TYPE-LET": [ + -1, + 232 + ], + "'PARENAFTERBRACE": [ + -1, + 232 + ], + "'PERCENT": [ + -1, + 232 + ], + "'DOTDOTDOT": [ + -1, + 232 + ], + "'NUMBER": [ + -1, + 232 + ], + "'RATIONAL": [ + -1, + 232 + ], + "'ROUGHRATIONAL": [ + -1, + 232 + ], + "'TRUE": [ + -1, + 232 + ], + "'FALSE": [ + -1, + 232 + ], + "'LAM": [ + -1, + 232 + ], + "'METHOD": [ + -1, + 232 + ], + "'LBRACK": [ + -1, + 232 + ], + "'TABLE": [ + -1, + 232 + ], + "'REACTOR": [ + -1, + 232 + ], + "'IF": [ + -1, + 232 + ], + "'ASK": [ + -1, + 232 + ], + "'CASES": [ + -1, + 232 + ], + "'FOR": [ + -1, + 232 + ], + "'TABLE-SELECT": [ + -1, + 232 + ], + "'TABLE-FILTER": [ + -1, + 232 + ], + "'TABLE-ORDER": [ + -1, + 232 + ], + "'TABLE-EXTRACT": [ + -1, + 232 + ], + "'TABLE-UPDATE": [ + -1, + 232 + ], + "'TABLE-EXTEND": [ + -1, + 232 + ], + "'LOAD-TABLE": [ + -1, + 232 + ] + }, + { + "'NAME": [ + -1, + 234 + ], + "'STRING": [ + -1, + 234 + ], + "'PARENSPACE": [ + -1, + 234 + ], + "'LBRACE": [ + -1, + 234 + ], + "'LET": [ + -1, + 234 + ], + "'BLOCK": [ + -1, + 234 + ], + "'LETREC": [ + -1, + 234 + ], + "'TYPE-LET": [ + -1, + 234 + ], + "'PARENAFTERBRACE": [ + -1, + 234 + ], + "'PERCENT": [ + -1, + 234 + ], + "'DOTDOTDOT": [ + -1, + 234 + ], + "'NUMBER": [ + -1, + 234 + ], + "'RATIONAL": [ + -1, + 234 + ], + "'ROUGHRATIONAL": [ + -1, + 234 + ], + "'TRUE": [ + -1, + 234 + ], + "'FALSE": [ + -1, + 234 + ], + "'LAM": [ + -1, + 234 + ], + "'METHOD": [ + -1, + 234 + ], + "'LBRACK": [ + -1, + 234 + ], + "'TABLE": [ + -1, + 234 + ], + "'REACTOR": [ + -1, + 234 + ], + "'IF": [ + -1, + 234 + ], + "'ASK": [ + -1, + 234 + ], + "'CASES": [ + -1, + 234 + ], + "'FOR": [ + -1, + 234 + ], + "'TABLE-SELECT": [ + -1, + 234 + ], + "'TABLE-FILTER": [ + -1, + 234 + ], + "'TABLE-ORDER": [ + -1, + 234 + ], + "'TABLE-EXTRACT": [ + -1, + 234 + ], + "'TABLE-UPDATE": [ + -1, + 234 + ], + "'TABLE-EXTEND": [ + -1, + 234 + ], + "'LOAD-TABLE": [ + -1, + 234 + ] + }, + { + "'NAME": [ + -1, + 236 + ], + "'STRING": [ + -1, + 236 + ], + "'PARENSPACE": [ + -1, + 236 + ], + "'LBRACE": [ + -1, + 236 + ], + "'LET": [ + -1, + 236 + ], + "'BLOCK": [ + -1, + 236 + ], + "'LETREC": [ + -1, + 236 + ], + "'TYPE-LET": [ + -1, + 236 + ], + "'PARENAFTERBRACE": [ + -1, + 236 + ], + "'PERCENT": [ + -1, + 236 + ], + "'DOTDOTDOT": [ + -1, + 236 + ], + "'NUMBER": [ + -1, + 236 + ], + "'RATIONAL": [ + -1, + 236 + ], + "'ROUGHRATIONAL": [ + -1, + 236 + ], + "'TRUE": [ + -1, + 236 + ], + "'FALSE": [ + -1, + 236 + ], + "'LAM": [ + -1, + 236 + ], + "'METHOD": [ + -1, + 236 + ], + "'LBRACK": [ + -1, + 236 + ], + "'TABLE": [ + -1, + 236 + ], + "'REACTOR": [ + -1, + 236 + ], + "'IF": [ + -1, + 236 + ], + "'ASK": [ + -1, + 236 + ], + "'CASES": [ + -1, + 236 + ], + "'FOR": [ + -1, + 236 + ], + "'TABLE-SELECT": [ + -1, + 236 + ], + "'TABLE-FILTER": [ + -1, + 236 + ], + "'TABLE-ORDER": [ + -1, + 236 + ], + "'TABLE-EXTRACT": [ + -1, + 236 + ], + "'TABLE-UPDATE": [ + -1, + 236 + ], + "'TABLE-EXTEND": [ + -1, + 236 + ], + "'LOAD-TABLE": [ + -1, + 236 + ] + }, + { + "'NAME": [ + -1, + 238 + ], + "'STRING": [ + -1, + 238 + ], + "'PARENSPACE": [ + -1, + 238 + ], + "'LBRACE": [ + -1, + 238 + ], + "'LET": [ + -1, + 238 + ], + "'BLOCK": [ + -1, + 238 + ], + "'LETREC": [ + -1, + 238 + ], + "'TYPE-LET": [ + -1, + 238 + ], + "'PARENAFTERBRACE": [ + -1, + 238 + ], + "'PERCENT": [ + -1, + 238 + ], + "'DOTDOTDOT": [ + -1, + 238 + ], + "'NUMBER": [ + -1, + 238 + ], + "'RATIONAL": [ + -1, + 238 + ], + "'ROUGHRATIONAL": [ + -1, + 238 + ], + "'TRUE": [ + -1, + 238 + ], + "'FALSE": [ + -1, + 238 + ], + "'LAM": [ + -1, + 238 + ], + "'METHOD": [ + -1, + 238 + ], + "'LBRACK": [ + -1, + 238 + ], + "'TABLE": [ + -1, + 238 + ], + "'REACTOR": [ + -1, + 238 + ], + "'IF": [ + -1, + 238 + ], + "'ASK": [ + -1, + 238 + ], + "'CASES": [ + -1, + 238 + ], + "'FOR": [ + -1, + 238 + ], + "'TABLE-SELECT": [ + -1, + 238 + ], + "'TABLE-FILTER": [ + -1, + 238 + ], + "'TABLE-ORDER": [ + -1, + 238 + ], + "'TABLE-EXTRACT": [ + -1, + 238 + ], + "'TABLE-UPDATE": [ + -1, + 238 + ], + "'TABLE-EXTEND": [ + -1, + 238 + ], + "'LOAD-TABLE": [ + -1, + 238 + ] + }, + { + "'NAME": [ + -1, + 240 + ], + "'STRING": [ + -1, + 240 + ], + "'PARENSPACE": [ + -1, + 240 + ], + "'LBRACE": [ + -1, + 240 + ], + "'LET": [ + -1, + 240 + ], + "'BLOCK": [ + -1, + 240 + ], + "'LETREC": [ + -1, + 240 + ], + "'TYPE-LET": [ + -1, + 240 + ], + "'PARENAFTERBRACE": [ + -1, + 240 + ], + "'PERCENT": [ + -1, + 240 + ], + "'DOTDOTDOT": [ + -1, + 240 + ], + "'NUMBER": [ + -1, + 240 + ], + "'RATIONAL": [ + -1, + 240 + ], + "'ROUGHRATIONAL": [ + -1, + 240 + ], + "'TRUE": [ + -1, + 240 + ], + "'FALSE": [ + -1, + 240 + ], + "'LAM": [ + -1, + 240 + ], + "'METHOD": [ + -1, + 240 + ], + "'LBRACK": [ + -1, + 240 + ], + "'TABLE": [ + -1, + 240 + ], + "'REACTOR": [ + -1, + 240 + ], + "'IF": [ + -1, + 240 + ], + "'ASK": [ + -1, + 240 + ], + "'CASES": [ + -1, + 240 + ], + "'FOR": [ + -1, + 240 + ], + "'TABLE-SELECT": [ + -1, + 240 + ], + "'TABLE-FILTER": [ + -1, + 240 + ], + "'TABLE-ORDER": [ + -1, + 240 + ], + "'TABLE-EXTRACT": [ + -1, + 240 + ], + "'TABLE-UPDATE": [ + -1, + 240 + ], + "'TABLE-EXTEND": [ + -1, + 240 + ], + "'LOAD-TABLE": [ + -1, + 240 + ] + }, + { + "'NAME": [ + -1, + 242 + ], + "'STRING": [ + -1, + 242 + ], + "'PARENSPACE": [ + -1, + 242 + ], + "'LBRACE": [ + -1, + 242 + ], + "'LET": [ + -1, + 242 + ], + "'BLOCK": [ + -1, + 242 + ], + "'LETREC": [ + -1, + 242 + ], + "'TYPE-LET": [ + -1, + 242 + ], + "'PARENAFTERBRACE": [ + -1, + 242 + ], + "'PERCENT": [ + -1, + 242 + ], + "'DOTDOTDOT": [ + -1, + 242 + ], + "'NUMBER": [ + -1, + 242 + ], + "'RATIONAL": [ + -1, + 242 + ], + "'ROUGHRATIONAL": [ + -1, + 242 + ], + "'TRUE": [ + -1, + 242 + ], + "'FALSE": [ + -1, + 242 + ], + "'LAM": [ + -1, + 242 + ], + "'METHOD": [ + -1, + 242 + ], + "'LBRACK": [ + -1, + 242 + ], + "'TABLE": [ + -1, + 242 + ], + "'REACTOR": [ + -1, + 242 + ], + "'IF": [ + -1, + 242 + ], + "'ASK": [ + -1, + 242 + ], + "'CASES": [ + -1, + 242 + ], + "'FOR": [ + -1, + 242 + ], + "'TABLE-SELECT": [ + -1, + 242 + ], + "'TABLE-FILTER": [ + -1, + 242 + ], + "'TABLE-ORDER": [ + -1, + 242 + ], + "'TABLE-EXTRACT": [ + -1, + 242 + ], + "'TABLE-UPDATE": [ + -1, + 242 + ], + "'TABLE-EXTEND": [ + -1, + 242 + ], + "'LOAD-TABLE": [ + -1, + 242 + ] + }, + { + "'NAME": [ + -1, + 244 + ], + "'STRING": [ + -1, + 244 + ], + "'PARENSPACE": [ + -1, + 244 + ], + "'LBRACE": [ + -1, + 244 + ], + "'LET": [ + -1, + 244 + ], + "'BLOCK": [ + -1, + 244 + ], + "'LETREC": [ + -1, + 244 + ], + "'TYPE-LET": [ + -1, + 244 + ], + "'PARENAFTERBRACE": [ + -1, + 244 + ], + "'PERCENT": [ + -1, + 244 + ], + "'DOTDOTDOT": [ + -1, + 244 + ], + "'NUMBER": [ + -1, + 244 + ], + "'RATIONAL": [ + -1, + 244 + ], + "'ROUGHRATIONAL": [ + -1, + 244 + ], + "'TRUE": [ + -1, + 244 + ], + "'FALSE": [ + -1, + 244 + ], + "'LAM": [ + -1, + 244 + ], + "'METHOD": [ + -1, + 244 + ], + "'LBRACK": [ + -1, + 244 + ], + "'TABLE": [ + -1, + 244 + ], + "'REACTOR": [ + -1, + 244 + ], + "'IF": [ + -1, + 244 + ], + "'ASK": [ + -1, + 244 + ], + "'CASES": [ + -1, + 244 + ], + "'FOR": [ + -1, + 244 + ], + "'TABLE-SELECT": [ + -1, + 244 + ], + "'TABLE-FILTER": [ + -1, + 244 + ], + "'TABLE-ORDER": [ + -1, + 244 + ], + "'TABLE-EXTRACT": [ + -1, + 244 + ], + "'TABLE-UPDATE": [ + -1, + 244 + ], + "'TABLE-EXTEND": [ + -1, + 244 + ], + "'LOAD-TABLE": [ + -1, + 244 + ] + }, + { + "'NAME": [ + -1, + 246 + ], + "'STRING": [ + -1, + 246 + ], + "'PARENSPACE": [ + -1, + 246 + ], + "'LBRACE": [ + -1, + 246 + ], + "'LET": [ + -1, + 246 + ], + "'BLOCK": [ + -1, + 246 + ], + "'LETREC": [ + -1, + 246 + ], + "'TYPE-LET": [ + -1, + 246 + ], + "'PARENAFTERBRACE": [ + -1, + 246 + ], + "'PERCENT": [ + -1, + 246 + ], + "'DOTDOTDOT": [ + -1, + 246 + ], + "'NUMBER": [ + -1, + 246 + ], + "'RATIONAL": [ + -1, + 246 + ], + "'ROUGHRATIONAL": [ + -1, + 246 + ], + "'TRUE": [ + -1, + 246 + ], + "'FALSE": [ + -1, + 246 + ], + "'LAM": [ + -1, + 246 + ], + "'METHOD": [ + -1, + 246 + ], + "'LBRACK": [ + -1, + 246 + ], + "'TABLE": [ + -1, + 246 + ], + "'REACTOR": [ + -1, + 246 + ], + "'IF": [ + -1, + 246 + ], + "'ASK": [ + -1, + 246 + ], + "'CASES": [ + -1, + 246 + ], + "'FOR": [ + -1, + 246 + ], + "'TABLE-SELECT": [ + -1, + 246 + ], + "'TABLE-FILTER": [ + -1, + 246 + ], + "'TABLE-ORDER": [ + -1, + 246 + ], + "'TABLE-EXTRACT": [ + -1, + 246 + ], + "'TABLE-UPDATE": [ + -1, + 246 + ], + "'TABLE-EXTEND": [ + -1, + 246 + ], + "'LOAD-TABLE": [ + -1, + 246 + ] + }, + { + "'NAME": [ + -1, + 248 + ], + "'STRING": [ + -1, + 248 + ], + "'PARENSPACE": [ + -1, + 248 + ], + "'LBRACE": [ + -1, + 248 + ], + "'LET": [ + -1, + 248 + ], + "'BLOCK": [ + -1, + 248 + ], + "'LETREC": [ + -1, + 248 + ], + "'TYPE-LET": [ + -1, + 248 + ], + "'PARENAFTERBRACE": [ + -1, + 248 + ], + "'PERCENT": [ + -1, + 248 + ], + "'DOTDOTDOT": [ + -1, + 248 + ], + "'NUMBER": [ + -1, + 248 + ], + "'RATIONAL": [ + -1, + 248 + ], + "'ROUGHRATIONAL": [ + -1, + 248 + ], + "'TRUE": [ + -1, + 248 + ], + "'FALSE": [ + -1, + 248 + ], + "'LAM": [ + -1, + 248 + ], + "'METHOD": [ + -1, + 248 + ], + "'LBRACK": [ + -1, + 248 + ], + "'TABLE": [ + -1, + 248 + ], + "'REACTOR": [ + -1, + 248 + ], + "'IF": [ + -1, + 248 + ], + "'ASK": [ + -1, + 248 + ], + "'CASES": [ + -1, + 248 + ], + "'FOR": [ + -1, + 248 + ], + "'TABLE-SELECT": [ + -1, + 248 + ], + "'TABLE-FILTER": [ + -1, + 248 + ], + "'TABLE-ORDER": [ + -1, + 248 + ], + "'TABLE-EXTRACT": [ + -1, + 248 + ], + "'TABLE-UPDATE": [ + -1, + 248 + ], + "'TABLE-EXTEND": [ + -1, + 248 + ], + "'LOAD-TABLE": [ + -1, + 248 + ] + }, + { + "'NAME": [ + -1, + 250 + ], + "'STRING": [ + -1, + 250 + ], + "'PARENSPACE": [ + -1, + 250 + ], + "'LBRACE": [ + -1, + 250 + ], + "'LET": [ + -1, + 250 + ], + "'BLOCK": [ + -1, + 250 + ], + "'LETREC": [ + -1, + 250 + ], + "'TYPE-LET": [ + -1, + 250 + ], + "'PARENAFTERBRACE": [ + -1, + 250 + ], + "'PERCENT": [ + -1, + 250 + ], + "'DOTDOTDOT": [ + -1, + 250 + ], + "'NUMBER": [ + -1, + 250 + ], + "'RATIONAL": [ + -1, + 250 + ], + "'ROUGHRATIONAL": [ + -1, + 250 + ], + "'TRUE": [ + -1, + 250 + ], + "'FALSE": [ + -1, + 250 + ], + "'LAM": [ + -1, + 250 + ], + "'METHOD": [ + -1, + 250 + ], + "'LBRACK": [ + -1, + 250 + ], + "'TABLE": [ + -1, + 250 + ], + "'REACTOR": [ + -1, + 250 + ], + "'IF": [ + -1, + 250 + ], + "'ASK": [ + -1, + 250 + ], + "'CASES": [ + -1, + 250 + ], + "'FOR": [ + -1, + 250 + ], + "'TABLE-SELECT": [ + -1, + 250 + ], + "'TABLE-FILTER": [ + -1, + 250 + ], + "'TABLE-ORDER": [ + -1, + 250 + ], + "'TABLE-EXTRACT": [ + -1, + 250 + ], + "'TABLE-UPDATE": [ + -1, + 250 + ], + "'TABLE-EXTEND": [ + -1, + 250 + ], + "'LOAD-TABLE": [ + -1, + 250 + ] + }, + { + "'NAME": [ + -1, + 252 + ], + "'STRING": [ + -1, + 252 + ], + "'PARENSPACE": [ + -1, + 252 + ], + "'LBRACE": [ + -1, + 252 + ], + "'LET": [ + -1, + 252 + ], + "'BLOCK": [ + -1, + 252 + ], + "'LETREC": [ + -1, + 252 + ], + "'TYPE-LET": [ + -1, + 252 + ], + "'PARENAFTERBRACE": [ + -1, + 252 + ], + "'PERCENT": [ + -1, + 252 + ], + "'DOTDOTDOT": [ + -1, + 252 + ], + "'NUMBER": [ + -1, + 252 + ], + "'RATIONAL": [ + -1, + 252 + ], + "'ROUGHRATIONAL": [ + -1, + 252 + ], + "'TRUE": [ + -1, + 252 + ], + "'FALSE": [ + -1, + 252 + ], + "'LAM": [ + -1, + 252 + ], + "'METHOD": [ + -1, + 252 + ], + "'LBRACK": [ + -1, + 252 + ], + "'TABLE": [ + -1, + 252 + ], + "'REACTOR": [ + -1, + 252 + ], + "'IF": [ + -1, + 252 + ], + "'ASK": [ + -1, + 252 + ], + "'CASES": [ + -1, + 252 + ], + "'FOR": [ + -1, + 252 + ], + "'TABLE-SELECT": [ + -1, + 252 + ], + "'TABLE-FILTER": [ + -1, + 252 + ], + "'TABLE-ORDER": [ + -1, + 252 + ], + "'TABLE-EXTRACT": [ + -1, + 252 + ], + "'TABLE-UPDATE": [ + -1, + 252 + ], + "'TABLE-EXTEND": [ + -1, + 252 + ], + "'LOAD-TABLE": [ + -1, + 252 + ] + }, + { + "'NAME": [ + -1, + 254 + ], + "'STRING": [ + -1, + 254 + ], + "'PARENSPACE": [ + -1, + 254 + ], + "'LBRACE": [ + -1, + 254 + ], + "'LET": [ + -1, + 254 + ], + "'BLOCK": [ + -1, + 254 + ], + "'LETREC": [ + -1, + 254 + ], + "'TYPE-LET": [ + -1, + 254 + ], + "'PARENAFTERBRACE": [ + -1, + 254 + ], + "'PERCENT": [ + -1, + 254 + ], + "'DOTDOTDOT": [ + -1, + 254 + ], + "'NUMBER": [ + -1, + 254 + ], + "'RATIONAL": [ + -1, + 254 + ], + "'ROUGHRATIONAL": [ + -1, + 254 + ], + "'TRUE": [ + -1, + 254 + ], + "'FALSE": [ + -1, + 254 + ], + "'LAM": [ + -1, + 254 + ], + "'METHOD": [ + -1, + 254 + ], + "'LBRACK": [ + -1, + 254 + ], + "'TABLE": [ + -1, + 254 + ], + "'REACTOR": [ + -1, + 254 + ], + "'IF": [ + -1, + 254 + ], + "'ASK": [ + -1, + 254 + ], + "'CASES": [ + -1, + 254 + ], + "'FOR": [ + -1, + 254 + ], + "'TABLE-SELECT": [ + -1, + 254 + ], + "'TABLE-FILTER": [ + -1, + 254 + ], + "'TABLE-ORDER": [ + -1, + 254 + ], + "'TABLE-EXTRACT": [ + -1, + 254 + ], + "'TABLE-UPDATE": [ + -1, + 254 + ], + "'TABLE-EXTEND": [ + -1, + 254 + ], + "'LOAD-TABLE": [ + -1, + 254 + ] + }, + { + "'NAME": [ + -1, + 256 + ], + "'STRING": [ + -1, + 256 + ], + "'PARENSPACE": [ + -1, + 256 + ], + "'LBRACE": [ + -1, + 256 + ], + "'LET": [ + -1, + 256 + ], + "'BLOCK": [ + -1, + 256 + ], + "'LETREC": [ + -1, + 256 + ], + "'TYPE-LET": [ + -1, + 256 + ], + "'PARENAFTERBRACE": [ + -1, + 256 + ], + "'PERCENT": [ + -1, + 256 + ], + "'DOTDOTDOT": [ + -1, + 256 + ], + "'NUMBER": [ + -1, + 256 + ], + "'RATIONAL": [ + -1, + 256 + ], + "'ROUGHRATIONAL": [ + -1, + 256 + ], + "'TRUE": [ + -1, + 256 + ], + "'FALSE": [ + -1, + 256 + ], + "'LAM": [ + -1, + 256 + ], + "'METHOD": [ + -1, + 256 + ], + "'LBRACK": [ + -1, + 256 + ], + "'TABLE": [ + -1, + 256 + ], + "'REACTOR": [ + -1, + 256 + ], + "'IF": [ + -1, + 256 + ], + "'ASK": [ + -1, + 256 + ], + "'CASES": [ + -1, + 256 + ], + "'FOR": [ + -1, + 256 + ], + "'TABLE-SELECT": [ + -1, + 256 + ], + "'TABLE-FILTER": [ + -1, + 256 + ], + "'TABLE-ORDER": [ + -1, + 256 + ], + "'TABLE-EXTRACT": [ + -1, + 256 + ], + "'TABLE-UPDATE": [ + -1, + 256 + ], + "'TABLE-EXTEND": [ + -1, + 256 + ], + "'LOAD-TABLE": [ + -1, + 256 + ] + }, + { + "'NAME": [ + -1, + 258 + ], + "'STRING": [ + -1, + 258 + ], + "'PARENSPACE": [ + -1, + 258 + ], + "'LBRACE": [ + -1, + 258 + ], + "'LET": [ + -1, + 258 + ], + "'BLOCK": [ + -1, + 258 + ], + "'LETREC": [ + -1, + 258 + ], + "'TYPE-LET": [ + -1, + 258 + ], + "'PARENAFTERBRACE": [ + -1, + 258 + ], + "'PERCENT": [ + -1, + 258 + ], + "'DOTDOTDOT": [ + -1, + 258 + ], + "'NUMBER": [ + -1, + 258 + ], + "'RATIONAL": [ + -1, + 258 + ], + "'ROUGHRATIONAL": [ + -1, + 258 + ], + "'TRUE": [ + -1, + 258 + ], + "'FALSE": [ + -1, + 258 + ], + "'LAM": [ + -1, + 258 + ], + "'METHOD": [ + -1, + 258 + ], + "'LBRACK": [ + -1, + 258 + ], + "'TABLE": [ + -1, + 258 + ], + "'REACTOR": [ + -1, + 258 + ], + "'IF": [ + -1, + 258 + ], + "'ASK": [ + -1, + 258 + ], + "'CASES": [ + -1, + 258 + ], + "'FOR": [ + -1, + 258 + ], + "'TABLE-SELECT": [ + -1, + 258 + ], + "'TABLE-FILTER": [ + -1, + 258 + ], + "'TABLE-ORDER": [ + -1, + 258 + ], + "'TABLE-EXTRACT": [ + -1, + 258 + ], + "'TABLE-UPDATE": [ + -1, + 258 + ], + "'TABLE-EXTEND": [ + -1, + 258 + ], + "'LOAD-TABLE": [ + -1, + 258 + ] + }, + { + "$": [ + -1, + 260 + ], + "'NAME": [ + -1, + 260 + ], + "'END": [ + -1, + 260 + ], + "'STRING": [ + -1, + 260 + ], + "'TYPE": [ + -1, + 260 + ], + "'DATA": [ + -1, + 260 + ], + "'PARENSPACE": [ + -1, + 260 + ], + "'SPY": [ + -1, + 260 + ], + "'NEWTYPE": [ + -1, + 260 + ], + "'LBRACE": [ + -1, + 260 + ], + "'RBRACE": [ + -1, + 260 + ], + "'SHADOW": [ + -1, + 260 + ], + "'LET": [ + -1, + 260 + ], + "'BLOCK": [ + -1, + 260 + ], + "'LETREC": [ + -1, + 260 + ], + "'TYPE-LET": [ + -1, + 260 + ], + "'FUN": [ + -1, + 260 + ], + "'PARENAFTERBRACE": [ + -1, + 260 + ], + "'WHERE": [ + -1, + 260 + ], + "'CHECK": [ + -1, + 260 + ], + "'EXAMPLES": [ + -1, + 260 + ], + "'CHECKCOLON": [ + -1, + 260 + ], + "'EXAMPLESCOLON": [ + -1, + 260 + ], + "'BECAUSE": [ + -1, + 260 + ], + "'BAR": [ + -1, + 260 + ], + "'VAR": [ + -1, + 260 + ], + "'REC": [ + -1, + 260 + ], + "'WHEN": [ + -1, + 260 + ], + "'DOTDOTDOT": [ + -1, + 260 + ], + "'NUMBER": [ + -1, + 260 + ], + "'RATIONAL": [ + -1, + 260 + ], + "'ROUGHRATIONAL": [ + -1, + 260 + ], + "'TRUE": [ + -1, + 260 + ], + "'FALSE": [ + -1, + 260 + ], + "'LAM": [ + -1, + 260 + ], + "'METHOD": [ + -1, + 260 + ], + "'LBRACK": [ + -1, + 260 + ], + "'TABLE": [ + -1, + 260 + ], + "'REACTOR": [ + -1, + 260 + ], + "'IF": [ + -1, + 260 + ], + "'ELSECOLON": [ + -1, + 260 + ], + "'ELSEIF": [ + -1, + 260 + ], + "'ASK": [ + -1, + 260 + ], + "'CASES": [ + -1, + 260 + ], + "'FOR": [ + -1, + 260 + ], + "'TABLE-SELECT": [ + -1, + 260 + ], + "'TABLE-FILTER": [ + -1, + 260 + ], + "'TABLE-ORDER": [ + -1, + 260 + ], + "'TABLE-EXTRACT": [ + -1, + 260 + ], + "'TABLE-UPDATE": [ + -1, + 260 + ], + "'TABLE-EXTEND": [ + -1, + 260 + ], + "'LOAD-TABLE": [ + -1, + 260 + ] + }, + { + "'AS": [ + 275 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 276 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COLON": [ + -1, + 262 + ], + "'PARENNOSPACE": [ + -1, + 28 + ], + "'TIMES": [ + -1, + 28 + ], + "'PARENSPACE": [ + -1, + 28 + ], + "'DOT": [ + -1, + 28 + ], + "'RBRACE": [ + -1, + 28 + ], + "'SEMI": [ + -1, + 28 + ], + "'LANGLE": [ + -1, + 28 + ], + "'LT": [ + -1, + 28 + ], + "'GT": [ + -1, + 28 + ], + "'PLUS": [ + -1, + 28 + ], + "'DASH": [ + -1, + 28 + ], + "'SLASH": [ + -1, + 28 + ], + "'LEQ": [ + -1, + 28 + ], + "'GEQ": [ + -1, + 28 + ], + "'EQUALEQUAL": [ + -1, + 28 + ], + "'SPACESHIP": [ + -1, + 28 + ], + "'EQUALTILDE": [ + -1, + 28 + ], + "'NEQ": [ + -1, + 28 + ], + "'AND": [ + -1, + 28 + ], + "'OR": [ + -1, + 28 + ], + "'CARET": [ + -1, + 28 + ], + "'LBRACK": [ + -1, + 28 + ], + "'BANG": [ + -1, + 28 + ] + }, + { + "tuple-fields_I1*": [ + 277 + ], + "'RBRACE": [ + -1, + 264, + 266 + ], + "'SEMI": [ + -1, + 266 + ] + }, + { + "'PARENNOSPACE": [ + 278 + ], + "'PARENSPACE": [ + 279 + ], + "args": [ + 280 + ], + "bad-args": [ + 281 + ], + "args_I0": [ + 282 + ], + "'PARENAFTERBRACE": [ + 283 + ] + }, + { + "binding": [ + 284 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "tuple-binding_I1": [ + 285 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "$": [ + -1, + 268 + ], + "'NAME": [ + -1, + 268 + ], + "'COLON": [ + -1, + 268 + ], + "'END": [ + -1, + 268 + ], + "'COMMA": [ + -1, + 268 + ], + "'PARENNOSPACE": [ + -1, + 268 + ], + "'STRING": [ + -1, + 268 + ], + "'RPAREN": [ + -1, + 268 + ], + "'TYPE": [ + -1, + 268 + ], + "'DATA": [ + -1, + 268 + ], + "'TIMES": [ + -1, + 268 + ], + "'PARENSPACE": [ + -1, + 268 + ], + "'DOT": [ + -1, + 268 + ], + "'SPY": [ + -1, + 268 + ], + "'NEWTYPE": [ + -1, + 268 + ], + "'LBRACE": [ + -1, + 268 + ], + "'RBRACE": [ + -1, + 268 + ], + "'SEMI": [ + -1, + 268 + ], + "'SHADOW": [ + -1, + 268 + ], + "'LET": [ + -1, + 268 + ], + "'BLOCK": [ + -1, + 268 + ], + "'LETREC": [ + -1, + 268 + ], + "'TYPE-LET": [ + -1, + 268 + ], + "'FUN": [ + -1, + 268 + ], + "'LANGLE": [ + -1, + 268 + ], + "'LT": [ + -1, + 268 + ], + "'GT": [ + -1, + 268 + ], + "'PARENAFTERBRACE": [ + -1, + 268 + ], + "'WHERE": [ + -1, + 268 + ], + "'CHECK": [ + -1, + 268 + ], + "'EXAMPLES": [ + -1, + 268 + ], + "'CHECKCOLON": [ + -1, + 268 + ], + "'EXAMPLESCOLON": [ + -1, + 268 + ], + "'BECAUSE": [ + -1, + 268 + ], + "'BAR": [ + -1, + 268 + ], + "'SHARING": [ + -1, + 268 + ], + "'VAR": [ + -1, + 268 + ], + "'REC": [ + -1, + 268 + ], + "'WHEN": [ + -1, + 268 + ], + "'PLUS": [ + -1, + 268 + ], + "'DASH": [ + -1, + 268 + ], + "'SLASH": [ + -1, + 268 + ], + "'LEQ": [ + -1, + 268 + ], + "'GEQ": [ + -1, + 268 + ], + "'EQUALEQUAL": [ + -1, + 268 + ], + "'SPACESHIP": [ + -1, + 268 + ], + "'EQUALTILDE": [ + -1, + 268 + ], + "'NEQ": [ + -1, + 268 + ], + "'AND": [ + -1, + 268 + ], + "'OR": [ + -1, + 268 + ], + "'CARET": [ + -1, + 268 + ], + "'IS": [ + -1, + 268 + ], + "'ISEQUALEQUAL": [ + -1, + 268 + ], + "'ISEQUALTILDE": [ + -1, + 268 + ], + "'ISSPACESHIP": [ + -1, + 268 + ], + "'ISROUGHLY": [ + -1, + 268 + ], + "'ISNOT": [ + -1, + 268 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 268 + ], + "'ISNOTEQUALTILDE": [ + -1, + 268 + ], + "'ISNOTSPACESHIP": [ + -1, + 268 + ], + "'RAISES": [ + -1, + 268 + ], + "'RAISESOTHER": [ + -1, + 268 + ], + "'SATISFIES": [ + -1, + 268 + ], + "'SATISFIESNOT": [ + -1, + 268 + ], + "'RAISESSATISFIES": [ + -1, + 268 + ], + "'RAISESVIOLATES": [ + -1, + 268 + ], + "'RAISESNOT": [ + -1, + 268 + ], + "'DOTDOTDOT": [ + -1, + 268 + ], + "'NUMBER": [ + -1, + 268 + ], + "'RATIONAL": [ + -1, + 268 + ], + "'ROUGHRATIONAL": [ + -1, + 268 + ], + "'TRUE": [ + -1, + 268 + ], + "'FALSE": [ + -1, + 268 + ], + "'LAM": [ + -1, + 268 + ], + "'METHOD": [ + -1, + 268 + ], + "'LBRACK": [ + -1, + 268 + ], + "'RBRACK": [ + -1, + 268 + ], + "'TABLE": [ + -1, + 268 + ], + "'ROW": [ + -1, + 268 + ], + "'REACTOR": [ + -1, + 268 + ], + "'BANG": [ + -1, + 268 + ], + "'IF": [ + -1, + 268 + ], + "'ELSECOLON": [ + -1, + 268 + ], + "'ELSEIF": [ + -1, + 268 + ], + "'ASK": [ + -1, + 268 + ], + "'THENCOLON": [ + -1, + 268 + ], + "'CASES": [ + -1, + 268 + ], + "'FOR": [ + -1, + 268 + ], + "'TABLE-SELECT": [ + -1, + 268 + ], + "'TABLE-FILTER": [ + -1, + 268 + ], + "'USING": [ + -1, + 268 + ], + "'TABLE-ORDER": [ + -1, + 268 + ], + "'TABLE-EXTRACT": [ + -1, + 268 + ], + "'TABLE-UPDATE": [ + -1, + 268 + ], + "'TABLE-EXTEND": [ + -1, + 268 + ], + "'OF": [ + -1, + 268 + ], + "'LOAD-TABLE": [ + -1, + 268 + ], + "'SOURCECOLON": [ + -1, + 268 + ], + "'SANITIZE": [ + -1, + 268 + ] + }, + { + "'COLON": [ + 286 + ], + "'BLOCK": [ + 287 + ], + "lambda-expr_A1_I2": [ + 288 + ] + }, + { + "'NAME": [ + -1, + 270 + ], + "'COLON": [ + -1, + 270 + ], + "'PARENNOSPACE": [ + -1, + 270 + ], + "'PARENSPACE": [ + -1, + 270 + ], + "'EQUALS": [ + -1, + 270 + ], + "'LBRACE": [ + -1, + 270 + ], + "'PARENAFTERBRACE": [ + -1, + 270 + ], + "'THINARROW": [ + -1, + 270 + ] + }, + { + "'NAME": [ + -1, + 272 + ], + "'COLON": [ + -1, + 272 + ], + "'PARENNOSPACE": [ + -1, + 272 + ], + "'PARENSPACE": [ + -1, + 272 + ], + "'EQUALS": [ + -1, + 272 + ], + "'LBRACE": [ + -1, + 272 + ], + "'PARENAFTERBRACE": [ + -1, + 272 + ], + "'THINARROW": [ + -1, + 272 + ] + }, + { + "'NAME": [ + 289 + ], + "comma-names": [ + 290 + ] + }, + { + "'NAME": [ + -1, + 274 + ] + }, + { + "'NAME": [ + -1, + 276 + ] + }, + { + "'NAME": [ + 291 + ], + "key": [ + 292 + ] + }, + { + "'NAME": [ + 291 + ], + "ty-params": [ + 166 + ], + "fun-header": [ + 209 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "key": [ + 293 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "'RBRACE": [ + 294 + ] + }, + { + "'RBRACE": [ + 295 + ] + }, + { + "obj-fields_I1*": [ + 296 + ], + "'END": [ + -1, + 278, + 280 + ], + "'COMMA": [ + -1, + 280 + ], + "'RBRACE": [ + -1, + 278, + 280 + ] + }, + { + "'COLON": [ + 297 + ] + }, + { + "name-binding_I2?": [ + 298 + ], + "name-binding_I2": [ + 299 + ], + "'COLONCOLON": [ + 300 + ], + "'FROM": [ + -1, + 282, + 284 + ], + "'COLON": [ + -1, + 282, + 284 + ], + "'COMMA": [ + -1, + 282, + 284 + ], + "'RPAREN": [ + -1, + 282, + 284 + ], + "'EQUALS": [ + -1, + 282, + 284 + ], + "'RBRACE": [ + -1, + 282, + 284 + ], + "'SEMI": [ + -1, + 282, + 284 + ] + }, + { + "'COLON": [ + -1, + 286 + ], + "'COMMA": [ + -1, + 286 + ], + "'BLOCK": [ + -1, + 286 + ] + }, + { + "'COLON": [ + -1, + 288 + ], + "'COMMA": [ + -1, + 288 + ], + "'BLOCK": [ + -1, + 288 + ] + }, + { + "tuple-binding_I1*": [ + 167 + ], + "'NAME": [ + -1, + 76 + ], + "'LBRACE": [ + -1, + 76 + ], + "'SHADOW": [ + -1, + 76 + ] + }, + { + "multi-let-expr_I2*": [ + 301 + ], + "'COLON": [ + -1, + 290 + ], + "'COMMA": [ + -1, + 290 + ], + "'BLOCK": [ + -1, + 290 + ] + }, + { + "'END": [ + 302 + ] + }, + { + "letrec-expr_I2*": [ + 303 + ], + "'COLON": [ + -1, + 292 + ], + "'COMMA": [ + -1, + 292 + ], + "'BLOCK": [ + -1, + 292 + ] + }, + { + "ty-params": [ + 304 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'EQUALS": [ + -1, + 78, + 80 + ] + }, + { + "'NAME": [ + 305 + ] + }, + { + "'COLON": [ + -1, + 294 + ], + "'COMMA": [ + -1, + 294 + ], + "'BLOCK": [ + -1, + 294 + ] + }, + { + "'COLON": [ + -1, + 296 + ], + "'COMMA": [ + -1, + 296 + ], + "'BLOCK": [ + -1, + 296 + ] + }, + { + "type-let-expr_I2*": [ + 306 + ], + "'COLON": [ + -1, + 298 + ], + "'COMMA": [ + -1, + 298 + ], + "'BLOCK": [ + -1, + 298 + ] + }, + { + "ty-params": [ + 166 + ], + "fun-header": [ + 307 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "'COLON": [ + 308 + ] + }, + { + "'END": [ + 309 + ] + }, + { + "'EQUALS": [ + 310 + ] + }, + { + "'EQUALS": [ + 311 + ] + }, + { + "'COLON": [ + 312 + ], + "'BLOCK": [ + 313 + ], + "when-expr_I2": [ + 314 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 315 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "opt-comma-binops": [ + 316 + ], + "opt-comma-binops_I0?": [ + 317 + ], + "opt-comma-binops_I0": [ + 318 + ], + "comma-binops": [ + 319 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'RPAREN": [ + -1, + 300, + 302 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'RPAREN": [ + 320 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 321 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 322 + ], + "'LBRACE": [ + 323 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 328 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'TIMES": [ + 339 + ], + "'LT": [ + 340 + ], + "'GT": [ + 341 + ], + "binop-expr_I1": [ + 342 + ], + "binop": [ + 343 + ], + "'PLUS": [ + 344 + ], + "'DASH": [ + 345 + ], + "'SLASH": [ + 346 + ], + "'LEQ": [ + 347 + ], + "'GEQ": [ + 348 + ], + "'EQUALEQUAL": [ + 349 + ], + "'SPACESHIP": [ + 350 + ], + "'EQUALTILDE": [ + 351 + ], + "'NEQ": [ + 352 + ], + "'AND": [ + 353 + ], + "'OR": [ + 354 + ], + "'CARET": [ + 355 + ], + "$": [ + -1, + 304 + ], + "'NAME": [ + -1, + 304 + ], + "'COLON": [ + -1, + 304 + ], + "'END": [ + -1, + 304 + ], + "'COMMA": [ + -1, + 304 + ], + "'STRING": [ + -1, + 304 + ], + "'RPAREN": [ + -1, + 304 + ], + "'TYPE": [ + -1, + 304 + ], + "'DATA": [ + -1, + 304 + ], + "'PARENSPACE": [ + -1, + 304 + ], + "'SPY": [ + -1, + 304 + ], + "'NEWTYPE": [ + -1, + 304 + ], + "'LBRACE": [ + -1, + 304 + ], + "'RBRACE": [ + -1, + 304 + ], + "'SEMI": [ + -1, + 304 + ], + "'SHADOW": [ + -1, + 304 + ], + "'LET": [ + -1, + 304 + ], + "'BLOCK": [ + -1, + 304 + ], + "'LETREC": [ + -1, + 304 + ], + "'TYPE-LET": [ + -1, + 304 + ], + "'FUN": [ + -1, + 304 + ], + "'PARENAFTERBRACE": [ + -1, + 304 + ], + "'WHERE": [ + -1, + 304 + ], + "'CHECK": [ + -1, + 304 + ], + "'EXAMPLES": [ + -1, + 304 + ], + "'CHECKCOLON": [ + -1, + 304 + ], + "'EXAMPLESCOLON": [ + -1, + 304 + ], + "'BECAUSE": [ + -1, + 304 + ], + "'BAR": [ + -1, + 304 + ], + "'SHARING": [ + -1, + 304 + ], + "'VAR": [ + -1, + 304 + ], + "'REC": [ + -1, + 304 + ], + "'WHEN": [ + -1, + 304 + ], + "'IS": [ + -1, + 304 + ], + "'ISEQUALEQUAL": [ + -1, + 304 + ], + "'ISEQUALTILDE": [ + -1, + 304 + ], + "'ISSPACESHIP": [ + -1, + 304 + ], + "'ISROUGHLY": [ + -1, + 304 + ], + "'ISNOT": [ + -1, + 304 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 304 + ], + "'ISNOTEQUALTILDE": [ + -1, + 304 + ], + "'ISNOTSPACESHIP": [ + -1, + 304 + ], + "'RAISES": [ + -1, + 304 + ], + "'RAISESOTHER": [ + -1, + 304 + ], + "'SATISFIES": [ + -1, + 304 + ], + "'SATISFIESNOT": [ + -1, + 304 + ], + "'RAISESSATISFIES": [ + -1, + 304 + ], + "'RAISESVIOLATES": [ + -1, + 304 + ], + "'RAISESNOT": [ + -1, + 304 + ], + "'DOTDOTDOT": [ + -1, + 304 + ], + "'NUMBER": [ + -1, + 304 + ], + "'RATIONAL": [ + -1, + 304 + ], + "'ROUGHRATIONAL": [ + -1, + 304 + ], + "'TRUE": [ + -1, + 304 + ], + "'FALSE": [ + -1, + 304 + ], + "'LAM": [ + -1, + 304 + ], + "'METHOD": [ + -1, + 304 + ], + "'LBRACK": [ + -1, + 304 + ], + "'RBRACK": [ + -1, + 304 + ], + "'TABLE": [ + -1, + 304 + ], + "'ROW": [ + -1, + 304 + ], + "'REACTOR": [ + -1, + 304 + ], + "'IF": [ + -1, + 304 + ], + "'ELSECOLON": [ + -1, + 304 + ], + "'ELSEIF": [ + -1, + 304 + ], + "'ASK": [ + -1, + 304 + ], + "'THENCOLON": [ + -1, + 304 + ], + "'CASES": [ + -1, + 304 + ], + "'FOR": [ + -1, + 304 + ], + "'TABLE-SELECT": [ + -1, + 304 + ], + "'TABLE-FILTER": [ + -1, + 304 + ], + "'TABLE-ORDER": [ + -1, + 304 + ], + "'TABLE-EXTRACT": [ + -1, + 304 + ], + "'TABLE-UPDATE": [ + -1, + 304 + ], + "'TABLE-EXTEND": [ + -1, + 304 + ], + "'LOAD-TABLE": [ + -1, + 304 + ] + }, + { + "$": [ + -1, + 306 + ], + "'NAME": [ + -1, + 306 + ], + "'COLON": [ + -1, + 306 + ], + "'END": [ + -1, + 306 + ], + "'COMMA": [ + -1, + 306 + ], + "'PARENNOSPACE": [ + -1, + 306 + ], + "'STRING": [ + -1, + 306 + ], + "'RPAREN": [ + -1, + 306 + ], + "'TYPE": [ + -1, + 306 + ], + "'DATA": [ + -1, + 306 + ], + "'TIMES": [ + -1, + 306 + ], + "'PARENSPACE": [ + -1, + 306 + ], + "'DOT": [ + -1, + 306 + ], + "'SPY": [ + -1, + 306 + ], + "'NEWTYPE": [ + -1, + 306 + ], + "'LBRACE": [ + -1, + 306 + ], + "'RBRACE": [ + -1, + 306 + ], + "'SEMI": [ + -1, + 306 + ], + "'SHADOW": [ + -1, + 306 + ], + "'LET": [ + -1, + 306 + ], + "'BLOCK": [ + -1, + 306 + ], + "'LETREC": [ + -1, + 306 + ], + "'TYPE-LET": [ + -1, + 306 + ], + "'FUN": [ + -1, + 306 + ], + "'LANGLE": [ + -1, + 306 + ], + "'LT": [ + -1, + 306 + ], + "'GT": [ + -1, + 306 + ], + "'PARENAFTERBRACE": [ + -1, + 306 + ], + "'WHERE": [ + -1, + 306 + ], + "'CHECK": [ + -1, + 306 + ], + "'EXAMPLES": [ + -1, + 306 + ], + "'CHECKCOLON": [ + -1, + 306 + ], + "'EXAMPLESCOLON": [ + -1, + 306 + ], + "'BECAUSE": [ + -1, + 306 + ], + "'BAR": [ + -1, + 306 + ], + "'SHARING": [ + -1, + 306 + ], + "'VAR": [ + -1, + 306 + ], + "'REC": [ + -1, + 306 + ], + "'WHEN": [ + -1, + 306 + ], + "'PLUS": [ + -1, + 306 + ], + "'DASH": [ + -1, + 306 + ], + "'SLASH": [ + -1, + 306 + ], + "'LEQ": [ + -1, + 306 + ], + "'GEQ": [ + -1, + 306 + ], + "'EQUALEQUAL": [ + -1, + 306 + ], + "'SPACESHIP": [ + -1, + 306 + ], + "'EQUALTILDE": [ + -1, + 306 + ], + "'NEQ": [ + -1, + 306 + ], + "'AND": [ + -1, + 306 + ], + "'OR": [ + -1, + 306 + ], + "'CARET": [ + -1, + 306 + ], + "'IS": [ + -1, + 306 + ], + "'ISEQUALEQUAL": [ + -1, + 306 + ], + "'ISEQUALTILDE": [ + -1, + 306 + ], + "'ISSPACESHIP": [ + -1, + 306 + ], + "'ISROUGHLY": [ + -1, + 306 + ], + "'ISNOT": [ + -1, + 306 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 306 + ], + "'ISNOTEQUALTILDE": [ + -1, + 306 + ], + "'ISNOTSPACESHIP": [ + -1, + 306 + ], + "'RAISES": [ + -1, + 306 + ], + "'RAISESOTHER": [ + -1, + 306 + ], + "'SATISFIES": [ + -1, + 306 + ], + "'SATISFIESNOT": [ + -1, + 306 + ], + "'RAISESSATISFIES": [ + -1, + 306 + ], + "'RAISESVIOLATES": [ + -1, + 306 + ], + "'RAISESNOT": [ + -1, + 306 + ], + "'DOTDOTDOT": [ + -1, + 306 + ], + "'NUMBER": [ + -1, + 306 + ], + "'RATIONAL": [ + -1, + 306 + ], + "'ROUGHRATIONAL": [ + -1, + 306 + ], + "'TRUE": [ + -1, + 306 + ], + "'FALSE": [ + -1, + 306 + ], + "'LAM": [ + -1, + 306 + ], + "'METHOD": [ + -1, + 306 + ], + "'LBRACK": [ + -1, + 306 + ], + "'RBRACK": [ + -1, + 306 + ], + "'TABLE": [ + -1, + 306 + ], + "'ROW": [ + -1, + 306 + ], + "'REACTOR": [ + -1, + 306 + ], + "'BANG": [ + -1, + 306 + ], + "'IF": [ + -1, + 306 + ], + "'ELSECOLON": [ + -1, + 306 + ], + "'ELSEIF": [ + -1, + 306 + ], + "'ASK": [ + -1, + 306 + ], + "'THENCOLON": [ + -1, + 306 + ], + "'CASES": [ + -1, + 306 + ], + "'FOR": [ + -1, + 306 + ], + "'TABLE-SELECT": [ + -1, + 306 + ], + "'TABLE-FILTER": [ + -1, + 306 + ], + "'USING": [ + -1, + 306 + ], + "'TABLE-ORDER": [ + -1, + 306 + ], + "'TABLE-EXTRACT": [ + -1, + 306 + ], + "'TABLE-UPDATE": [ + -1, + 306 + ], + "'TABLE-EXTEND": [ + -1, + 306 + ], + "'OF": [ + -1, + 306 + ], + "'LOAD-TABLE": [ + -1, + 306 + ], + "'SOURCECOLON": [ + -1, + 306 + ], + "'SANITIZE": [ + -1, + 306 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 356 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 357 + ], + "'LBRACE": [ + 358 + ] + }, + { + "'RPAREN": [ + 359 + ] + }, + { + "'COLON": [ + 360 + ], + "'BLOCK": [ + 361 + ], + "lambda-expr_A0_I2": [ + 362 + ] + }, + { + "'COLON": [ + 363 + ], + "'BLOCK": [ + 364 + ], + "method-expr_I2": [ + 365 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 366 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + -1, + 308 + ], + "'STRING": [ + -1, + 308 + ], + "'PARENSPACE": [ + -1, + 308 + ], + "'LBRACE": [ + -1, + 308 + ], + "'LET": [ + -1, + 308 + ], + "'BLOCK": [ + -1, + 308 + ], + "'LETREC": [ + -1, + 308 + ], + "'TYPE-LET": [ + -1, + 308 + ], + "'PARENAFTERBRACE": [ + -1, + 308 + ], + "'DOTDOTDOT": [ + -1, + 308 + ], + "'NUMBER": [ + -1, + 308 + ], + "'RATIONAL": [ + -1, + 308 + ], + "'ROUGHRATIONAL": [ + -1, + 308 + ], + "'TRUE": [ + -1, + 308 + ], + "'FALSE": [ + -1, + 308 + ], + "'LAM": [ + -1, + 308 + ], + "'METHOD": [ + -1, + 308 + ], + "'LBRACK": [ + -1, + 308 + ], + "'TABLE": [ + -1, + 308 + ], + "'REACTOR": [ + -1, + 308 + ], + "'IF": [ + -1, + 308 + ], + "'ASK": [ + -1, + 308 + ], + "'CASES": [ + -1, + 308 + ], + "'FOR": [ + -1, + 308 + ], + "'TABLE-SELECT": [ + -1, + 308 + ], + "'TABLE-FILTER": [ + -1, + 308 + ], + "'TABLE-ORDER": [ + -1, + 308 + ], + "'TABLE-EXTRACT": [ + -1, + 308 + ], + "'TABLE-UPDATE": [ + -1, + 308 + ], + "'TABLE-EXTEND": [ + -1, + 308 + ], + "'LOAD-TABLE": [ + -1, + 308 + ] + }, + { + "table-rows": [ + 367 + ], + "table-rows_I0?": [ + 368 + ], + "table-rows_I0": [ + 369 + ], + "table-rows_I0_I0*": [ + 370 + ], + "'END": [ + -1, + 310, + 312 + ], + "'ROW": [ + -1, + 314 + ] + }, + { + "'END": [ + -1, + 316 + ], + "'ROW": [ + -1, + 316 + ], + "'SOURCECOLON": [ + -1, + 316 + ], + "'SANITIZE": [ + -1, + 316 + ] + }, + { + "'END": [ + -1, + 318 + ], + "'ROW": [ + -1, + 318 + ], + "'SOURCECOLON": [ + -1, + 318 + ], + "'SANITIZE": [ + -1, + 318 + ] + }, + { + "'NAME": [ + 371 + ], + "table-header": [ + 372 + ], + "table-headers_I0_I0": [ + 373 + ], + "list-table-header": [ + 374 + ] + }, + { + "'NAME": [ + 291 + ], + "fields": [ + 375 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 378 + ] + }, + { + "'COLON": [ + 379 + ], + "'BLOCK": [ + 380 + ], + "if-expr_I2": [ + 381 + ] + }, + { + "'END": [ + -1, + 320 + ], + "'BAR": [ + -1, + 320 + ] + }, + { + "'END": [ + -1, + 322 + ], + "'BAR": [ + -1, + 322 + ] + }, + { + "if-pipe-expr_I2*": [ + 382 + ], + "'END": [ + -1, + 324 + ], + "'BAR": [ + -1, + 324 + ] + }, + { + "'NAME": [ + -1, + 326 + ], + "'PARENNOSPACE": [ + -1, + 326 + ], + "'PARENSPACE": [ + -1, + 326 + ], + "'LBRACE": [ + -1, + 326 + ], + "'PARENAFTERBRACE": [ + -1, + 326 + ] + }, + { + "'NAME": [ + -1, + 328 + ], + "'PARENNOSPACE": [ + -1, + 328 + ], + "'PARENSPACE": [ + -1, + 328 + ], + "'LBRACE": [ + -1, + 328 + ], + "'PARENAFTERBRACE": [ + -1, + 328 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 383 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'PARENNOSPACE": [ + 384 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ] + }, + { + "table-select_I2*": [ + 385 + ], + "'FROM": [ + -1, + 330 + ], + "'COMMA": [ + -1, + 330 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "table-filter_I2?": [ + 386 + ], + "table-filter_I2": [ + 387 + ], + "'USING": [ + 388 + ], + "'COLON": [ + -1, + 332 + ] + }, + { + "'COLON": [ + 389 + ], + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ] + }, + { + "'FROM": [ + 390 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "'USING": [ + 391 + ], + "table-update_I2?": [ + 392 + ], + "table-update_I2": [ + 393 + ], + "'COLON": [ + -1, + 334 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "'USING": [ + 394 + ], + "table-extend_I2?": [ + 395 + ], + "table-extend_I2": [ + 396 + ], + "'COLON": [ + -1, + 336 + ] + }, + { + "table-headers": [ + 397 + ], + "table-headers_I0?": [ + 213 + ], + "table-headers_I0": [ + 214 + ], + "table-headers_I0_I0*": [ + 215 + ], + "'NAME": [ + -1, + 190 + ], + "'END": [ + -1, + 192, + 194 + ], + "'SOURCECOLON": [ + -1, + 192, + 194 + ], + "'SANITIZE": [ + -1, + 192, + 194 + ] + }, + { + "$": [ + -1, + 338 + ], + "'NAME": [ + -1, + 338 + ], + "'INCLUDE": [ + -1, + 338 + ], + "'IMPORT": [ + -1, + 338 + ], + "'STRING": [ + -1, + 338 + ], + "'TYPE": [ + -1, + 338 + ], + "'DATA": [ + -1, + 338 + ], + "'PROVIDE": [ + -1, + 338 + ], + "'PROVIDE-TYPES": [ + -1, + 338 + ], + "'PROVIDECOLON": [ + -1, + 338 + ], + "'PARENSPACE": [ + -1, + 338 + ], + "'SPY": [ + -1, + 338 + ], + "'NEWTYPE": [ + -1, + 338 + ], + "'LBRACE": [ + -1, + 338 + ], + "'SHADOW": [ + -1, + 338 + ], + "'LET": [ + -1, + 338 + ], + "'BLOCK": [ + -1, + 338 + ], + "'LETREC": [ + -1, + 338 + ], + "'TYPE-LET": [ + -1, + 338 + ], + "'FUN": [ + -1, + 338 + ], + "'PARENAFTERBRACE": [ + -1, + 338 + ], + "'CHECK": [ + -1, + 338 + ], + "'EXAMPLES": [ + -1, + 338 + ], + "'CHECKCOLON": [ + -1, + 338 + ], + "'EXAMPLESCOLON": [ + -1, + 338 + ], + "'VAR": [ + -1, + 338 + ], + "'REC": [ + -1, + 338 + ], + "'WHEN": [ + -1, + 338 + ], + "'DOTDOTDOT": [ + -1, + 338 + ], + "'NUMBER": [ + -1, + 338 + ], + "'RATIONAL": [ + -1, + 338 + ], + "'ROUGHRATIONAL": [ + -1, + 338 + ], + "'TRUE": [ + -1, + 338 + ], + "'FALSE": [ + -1, + 338 + ], + "'LAM": [ + -1, + 338 + ], + "'METHOD": [ + -1, + 338 + ], + "'LBRACK": [ + -1, + 338 + ], + "'TABLE": [ + -1, + 338 + ], + "'REACTOR": [ + -1, + 338 + ], + "'IF": [ + -1, + 338 + ], + "'ASK": [ + -1, + 338 + ], + "'CASES": [ + -1, + 338 + ], + "'FOR": [ + -1, + 338 + ], + "'TABLE-SELECT": [ + -1, + 338 + ], + "'TABLE-FILTER": [ + -1, + 338 + ], + "'TABLE-ORDER": [ + -1, + 338 + ], + "'TABLE-EXTRACT": [ + -1, + 338 + ], + "'TABLE-UPDATE": [ + -1, + 338 + ], + "'TABLE-EXTEND": [ + -1, + 338 + ], + "'LOAD-TABLE": [ + -1, + 338 + ] + }, + { + "module-ref": [ + 398 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "'PARENNOSPACE": [ + 263 + ], + "comma-names_I1*": [ + 399 + ], + "'FROM": [ + -1, + 340, + 342 + ], + "'COMMA": [ + -1, + 342 + ], + "'AS": [ + -1, + 212 + ] + }, + { + "'AS": [ + 400 + ] + }, + { + "'FROM": [ + 401 + ] + }, + { + "module-ref": [ + 402 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "'END": [ + 403 + ] + }, + { + "$": [ + -1, + 344 + ], + "'NAME": [ + -1, + 344 + ], + "'INCLUDE": [ + -1, + 344 + ], + "'IMPORT": [ + -1, + 344 + ], + "'STRING": [ + -1, + 344 + ], + "'TYPE": [ + -1, + 344 + ], + "'DATA": [ + -1, + 344 + ], + "'PROVIDE": [ + -1, + 344 + ], + "'PROVIDE-TYPES": [ + -1, + 344 + ], + "'PROVIDECOLON": [ + -1, + 344 + ], + "'PARENSPACE": [ + -1, + 344 + ], + "'SPY": [ + -1, + 344 + ], + "'NEWTYPE": [ + -1, + 344 + ], + "'LBRACE": [ + -1, + 344 + ], + "'SHADOW": [ + -1, + 344 + ], + "'LET": [ + -1, + 344 + ], + "'BLOCK": [ + -1, + 344 + ], + "'LETREC": [ + -1, + 344 + ], + "'TYPE-LET": [ + -1, + 344 + ], + "'FUN": [ + -1, + 344 + ], + "'PARENAFTERBRACE": [ + -1, + 344 + ], + "'CHECK": [ + -1, + 344 + ], + "'EXAMPLES": [ + -1, + 344 + ], + "'CHECKCOLON": [ + -1, + 344 + ], + "'EXAMPLESCOLON": [ + -1, + 344 + ], + "'VAR": [ + -1, + 344 + ], + "'REC": [ + -1, + 344 + ], + "'WHEN": [ + -1, + 344 + ], + "'DOTDOTDOT": [ + -1, + 344 + ], + "'NUMBER": [ + -1, + 344 + ], + "'RATIONAL": [ + -1, + 344 + ], + "'ROUGHRATIONAL": [ + -1, + 344 + ], + "'TRUE": [ + -1, + 344 + ], + "'FALSE": [ + -1, + 344 + ], + "'LAM": [ + -1, + 344 + ], + "'METHOD": [ + -1, + 344 + ], + "'LBRACK": [ + -1, + 344 + ], + "'TABLE": [ + -1, + 344 + ], + "'REACTOR": [ + -1, + 344 + ], + "'IF": [ + -1, + 344 + ], + "'ASK": [ + -1, + 344 + ], + "'CASES": [ + -1, + 344 + ], + "'FOR": [ + -1, + 344 + ], + "'TABLE-SELECT": [ + -1, + 344 + ], + "'TABLE-FILTER": [ + -1, + 344 + ], + "'TABLE-ORDER": [ + -1, + 344 + ], + "'TABLE-EXTRACT": [ + -1, + 344 + ], + "'TABLE-UPDATE": [ + -1, + 344 + ], + "'TABLE-EXTEND": [ + -1, + 344 + ], + "'LOAD-TABLE": [ + -1, + 344 + ] + }, + { + "$": [ + -1, + 346 + ], + "'NAME": [ + -1, + 346 + ], + "'INCLUDE": [ + -1, + 346 + ], + "'IMPORT": [ + -1, + 346 + ], + "'STRING": [ + -1, + 346 + ], + "'TYPE": [ + -1, + 346 + ], + "'DATA": [ + -1, + 346 + ], + "'PROVIDE": [ + -1, + 346 + ], + "'PROVIDE-TYPES": [ + -1, + 346 + ], + "'PROVIDECOLON": [ + -1, + 346 + ], + "'PARENSPACE": [ + -1, + 346 + ], + "'SPY": [ + -1, + 346 + ], + "'NEWTYPE": [ + -1, + 346 + ], + "'LBRACE": [ + -1, + 346 + ], + "'SHADOW": [ + -1, + 346 + ], + "'LET": [ + -1, + 346 + ], + "'BLOCK": [ + -1, + 346 + ], + "'LETREC": [ + -1, + 346 + ], + "'TYPE-LET": [ + -1, + 346 + ], + "'FUN": [ + -1, + 346 + ], + "'PARENAFTERBRACE": [ + -1, + 346 + ], + "'CHECK": [ + -1, + 346 + ], + "'EXAMPLES": [ + -1, + 346 + ], + "'CHECKCOLON": [ + -1, + 346 + ], + "'EXAMPLESCOLON": [ + -1, + 346 + ], + "'VAR": [ + -1, + 346 + ], + "'REC": [ + -1, + 346 + ], + "'WHEN": [ + -1, + 346 + ], + "'DOTDOTDOT": [ + -1, + 346 + ], + "'NUMBER": [ + -1, + 346 + ], + "'RATIONAL": [ + -1, + 346 + ], + "'ROUGHRATIONAL": [ + -1, + 346 + ], + "'TRUE": [ + -1, + 346 + ], + "'FALSE": [ + -1, + 346 + ], + "'LAM": [ + -1, + 346 + ], + "'METHOD": [ + -1, + 346 + ], + "'LBRACK": [ + -1, + 346 + ], + "'TABLE": [ + -1, + 346 + ], + "'REACTOR": [ + -1, + 346 + ], + "'IF": [ + -1, + 346 + ], + "'ASK": [ + -1, + 346 + ], + "'CASES": [ + -1, + 346 + ], + "'FOR": [ + -1, + 346 + ], + "'TABLE-SELECT": [ + -1, + 346 + ], + "'TABLE-FILTER": [ + -1, + 346 + ], + "'TABLE-ORDER": [ + -1, + 346 + ], + "'TABLE-EXTRACT": [ + -1, + 346 + ], + "'TABLE-UPDATE": [ + -1, + 346 + ], + "'TABLE-EXTEND": [ + -1, + 346 + ], + "'LOAD-TABLE": [ + -1, + 346 + ] + }, + { + "$": [ + -1, + 348 + ], + "'NAME": [ + -1, + 348 + ], + "'INCLUDE": [ + -1, + 348 + ], + "'IMPORT": [ + -1, + 348 + ], + "'STRING": [ + -1, + 348 + ], + "'TYPE": [ + -1, + 348 + ], + "'DATA": [ + -1, + 348 + ], + "'PROVIDE": [ + -1, + 348 + ], + "'PROVIDE-TYPES": [ + -1, + 348 + ], + "'PROVIDECOLON": [ + -1, + 348 + ], + "'PARENSPACE": [ + -1, + 348 + ], + "'SPY": [ + -1, + 348 + ], + "'NEWTYPE": [ + -1, + 348 + ], + "'LBRACE": [ + -1, + 348 + ], + "'SHADOW": [ + -1, + 348 + ], + "'LET": [ + -1, + 348 + ], + "'BLOCK": [ + -1, + 348 + ], + "'LETREC": [ + -1, + 348 + ], + "'TYPE-LET": [ + -1, + 348 + ], + "'FUN": [ + -1, + 348 + ], + "'PARENAFTERBRACE": [ + -1, + 348 + ], + "'CHECK": [ + -1, + 348 + ], + "'EXAMPLES": [ + -1, + 348 + ], + "'CHECKCOLON": [ + -1, + 348 + ], + "'EXAMPLESCOLON": [ + -1, + 348 + ], + "'VAR": [ + -1, + 348 + ], + "'REC": [ + -1, + 348 + ], + "'WHEN": [ + -1, + 348 + ], + "'DOTDOTDOT": [ + -1, + 348 + ], + "'NUMBER": [ + -1, + 348 + ], + "'RATIONAL": [ + -1, + 348 + ], + "'ROUGHRATIONAL": [ + -1, + 348 + ], + "'TRUE": [ + -1, + 348 + ], + "'FALSE": [ + -1, + 348 + ], + "'LAM": [ + -1, + 348 + ], + "'METHOD": [ + -1, + 348 + ], + "'LBRACK": [ + -1, + 348 + ], + "'TABLE": [ + -1, + 348 + ], + "'REACTOR": [ + -1, + 348 + ], + "'IF": [ + -1, + 348 + ], + "'ASK": [ + -1, + 348 + ], + "'CASES": [ + -1, + 348 + ], + "'FOR": [ + -1, + 348 + ], + "'TABLE-SELECT": [ + -1, + 348 + ], + "'TABLE-FILTER": [ + -1, + 348 + ], + "'TABLE-ORDER": [ + -1, + 348 + ], + "'TABLE-EXTRACT": [ + -1, + 348 + ], + "'TABLE-UPDATE": [ + -1, + 348 + ], + "'TABLE-EXTEND": [ + -1, + 348 + ], + "'LOAD-TABLE": [ + -1, + 348 + ] + }, + { + "$": [ + -1, + 350 + ], + "'NAME": [ + -1, + 350 + ], + "'INCLUDE": [ + -1, + 350 + ], + "'IMPORT": [ + -1, + 350 + ], + "'STRING": [ + -1, + 350 + ], + "'TYPE": [ + -1, + 350 + ], + "'DATA": [ + -1, + 350 + ], + "'PROVIDE": [ + -1, + 350 + ], + "'PROVIDE-TYPES": [ + -1, + 350 + ], + "'PROVIDECOLON": [ + -1, + 350 + ], + "'PARENSPACE": [ + -1, + 350 + ], + "'SPY": [ + -1, + 350 + ], + "'NEWTYPE": [ + -1, + 350 + ], + "'LBRACE": [ + -1, + 350 + ], + "'SHADOW": [ + -1, + 350 + ], + "'LET": [ + -1, + 350 + ], + "'BLOCK": [ + -1, + 350 + ], + "'LETREC": [ + -1, + 350 + ], + "'TYPE-LET": [ + -1, + 350 + ], + "'FUN": [ + -1, + 350 + ], + "'PARENAFTERBRACE": [ + -1, + 350 + ], + "'CHECK": [ + -1, + 350 + ], + "'EXAMPLES": [ + -1, + 350 + ], + "'CHECKCOLON": [ + -1, + 350 + ], + "'EXAMPLESCOLON": [ + -1, + 350 + ], + "'VAR": [ + -1, + 350 + ], + "'REC": [ + -1, + 350 + ], + "'WHEN": [ + -1, + 350 + ], + "'DOTDOTDOT": [ + -1, + 350 + ], + "'NUMBER": [ + -1, + 350 + ], + "'RATIONAL": [ + -1, + 350 + ], + "'ROUGHRATIONAL": [ + -1, + 350 + ], + "'TRUE": [ + -1, + 350 + ], + "'FALSE": [ + -1, + 350 + ], + "'LAM": [ + -1, + 350 + ], + "'METHOD": [ + -1, + 350 + ], + "'LBRACK": [ + -1, + 350 + ], + "'TABLE": [ + -1, + 350 + ], + "'REACTOR": [ + -1, + 350 + ], + "'IF": [ + -1, + 350 + ], + "'ASK": [ + -1, + 350 + ], + "'CASES": [ + -1, + 350 + ], + "'FOR": [ + -1, + 350 + ], + "'TABLE-SELECT": [ + -1, + 350 + ], + "'TABLE-FILTER": [ + -1, + 350 + ], + "'TABLE-ORDER": [ + -1, + 350 + ], + "'TABLE-EXTRACT": [ + -1, + 350 + ], + "'TABLE-UPDATE": [ + -1, + 350 + ], + "'TABLE-EXTEND": [ + -1, + 350 + ], + "'LOAD-TABLE": [ + -1, + 350 + ] + }, + { + "$": [ + -1, + 352 + ], + "'NAME": [ + -1, + 352 + ], + "'INCLUDE": [ + -1, + 352 + ], + "'IMPORT": [ + -1, + 352 + ], + "'STRING": [ + -1, + 352 + ], + "'TYPE": [ + -1, + 352 + ], + "'DATA": [ + -1, + 352 + ], + "'PROVIDE": [ + -1, + 352 + ], + "'PROVIDE-TYPES": [ + -1, + 352 + ], + "'PROVIDECOLON": [ + -1, + 352 + ], + "'PARENSPACE": [ + -1, + 352 + ], + "'SPY": [ + -1, + 352 + ], + "'NEWTYPE": [ + -1, + 352 + ], + "'LBRACE": [ + -1, + 352 + ], + "'SHADOW": [ + -1, + 352 + ], + "'LET": [ + -1, + 352 + ], + "'BLOCK": [ + -1, + 352 + ], + "'LETREC": [ + -1, + 352 + ], + "'TYPE-LET": [ + -1, + 352 + ], + "'FUN": [ + -1, + 352 + ], + "'PARENAFTERBRACE": [ + -1, + 352 + ], + "'CHECK": [ + -1, + 352 + ], + "'EXAMPLES": [ + -1, + 352 + ], + "'CHECKCOLON": [ + -1, + 352 + ], + "'EXAMPLESCOLON": [ + -1, + 352 + ], + "'VAR": [ + -1, + 352 + ], + "'REC": [ + -1, + 352 + ], + "'WHEN": [ + -1, + 352 + ], + "'DOTDOTDOT": [ + -1, + 352 + ], + "'NUMBER": [ + -1, + 352 + ], + "'RATIONAL": [ + -1, + 352 + ], + "'ROUGHRATIONAL": [ + -1, + 352 + ], + "'TRUE": [ + -1, + 352 + ], + "'FALSE": [ + -1, + 352 + ], + "'LAM": [ + -1, + 352 + ], + "'METHOD": [ + -1, + 352 + ], + "'LBRACK": [ + -1, + 352 + ], + "'TABLE": [ + -1, + 352 + ], + "'REACTOR": [ + -1, + 352 + ], + "'IF": [ + -1, + 352 + ], + "'ASK": [ + -1, + 352 + ], + "'CASES": [ + -1, + 352 + ], + "'FOR": [ + -1, + 352 + ], + "'TABLE-SELECT": [ + -1, + 352 + ], + "'TABLE-FILTER": [ + -1, + 352 + ], + "'TABLE-ORDER": [ + -1, + 352 + ], + "'TABLE-EXTRACT": [ + -1, + 352 + ], + "'TABLE-UPDATE": [ + -1, + 352 + ], + "'TABLE-EXTEND": [ + -1, + 352 + ], + "'LOAD-TABLE": [ + -1, + 352 + ] + }, + { + "$": [ + -1, + 354 + ], + "'NAME": [ + -1, + 354 + ], + "'INCLUDE": [ + -1, + 354 + ], + "'IMPORT": [ + -1, + 354 + ], + "'STRING": [ + -1, + 354 + ], + "'TYPE": [ + -1, + 354 + ], + "'DATA": [ + -1, + 354 + ], + "'PROVIDE": [ + -1, + 354 + ], + "'PROVIDE-TYPES": [ + -1, + 354 + ], + "'PROVIDECOLON": [ + -1, + 354 + ], + "'PARENSPACE": [ + -1, + 354 + ], + "'SPY": [ + -1, + 354 + ], + "'NEWTYPE": [ + -1, + 354 + ], + "'LBRACE": [ + -1, + 354 + ], + "'SHADOW": [ + -1, + 354 + ], + "'LET": [ + -1, + 354 + ], + "'BLOCK": [ + -1, + 354 + ], + "'LETREC": [ + -1, + 354 + ], + "'TYPE-LET": [ + -1, + 354 + ], + "'FUN": [ + -1, + 354 + ], + "'PARENAFTERBRACE": [ + -1, + 354 + ], + "'CHECK": [ + -1, + 354 + ], + "'EXAMPLES": [ + -1, + 354 + ], + "'CHECKCOLON": [ + -1, + 354 + ], + "'EXAMPLESCOLON": [ + -1, + 354 + ], + "'VAR": [ + -1, + 354 + ], + "'REC": [ + -1, + 354 + ], + "'WHEN": [ + -1, + 354 + ], + "'DOTDOTDOT": [ + -1, + 354 + ], + "'NUMBER": [ + -1, + 354 + ], + "'RATIONAL": [ + -1, + 354 + ], + "'ROUGHRATIONAL": [ + -1, + 354 + ], + "'TRUE": [ + -1, + 354 + ], + "'FALSE": [ + -1, + 354 + ], + "'LAM": [ + -1, + 354 + ], + "'METHOD": [ + -1, + 354 + ], + "'LBRACK": [ + -1, + 354 + ], + "'TABLE": [ + -1, + 354 + ], + "'REACTOR": [ + -1, + 354 + ], + "'IF": [ + -1, + 354 + ], + "'ASK": [ + -1, + 354 + ], + "'CASES": [ + -1, + 354 + ], + "'FOR": [ + -1, + 354 + ], + "'TABLE-SELECT": [ + -1, + 354 + ], + "'TABLE-FILTER": [ + -1, + 354 + ], + "'TABLE-ORDER": [ + -1, + 354 + ], + "'TABLE-EXTRACT": [ + -1, + 354 + ], + "'TABLE-UPDATE": [ + -1, + 354 + ], + "'TABLE-EXTEND": [ + -1, + 354 + ], + "'LOAD-TABLE": [ + -1, + 354 + ] + }, + { + "$": [ + -1, + 356 + ], + "'NAME": [ + -1, + 356 + ], + "'INCLUDE": [ + -1, + 356 + ], + "'IMPORT": [ + -1, + 356 + ], + "'STRING": [ + -1, + 356 + ], + "'TYPE": [ + -1, + 356 + ], + "'DATA": [ + -1, + 356 + ], + "'PROVIDE": [ + -1, + 356 + ], + "'PROVIDE-TYPES": [ + -1, + 356 + ], + "'PROVIDECOLON": [ + -1, + 356 + ], + "'PARENSPACE": [ + -1, + 356 + ], + "'SPY": [ + -1, + 356 + ], + "'NEWTYPE": [ + -1, + 356 + ], + "'LBRACE": [ + -1, + 356 + ], + "'SHADOW": [ + -1, + 356 + ], + "'LET": [ + -1, + 356 + ], + "'BLOCK": [ + -1, + 356 + ], + "'LETREC": [ + -1, + 356 + ], + "'TYPE-LET": [ + -1, + 356 + ], + "'FUN": [ + -1, + 356 + ], + "'PARENAFTERBRACE": [ + -1, + 356 + ], + "'CHECK": [ + -1, + 356 + ], + "'EXAMPLES": [ + -1, + 356 + ], + "'CHECKCOLON": [ + -1, + 356 + ], + "'EXAMPLESCOLON": [ + -1, + 356 + ], + "'VAR": [ + -1, + 356 + ], + "'REC": [ + -1, + 356 + ], + "'WHEN": [ + -1, + 356 + ], + "'DOTDOTDOT": [ + -1, + 356 + ], + "'NUMBER": [ + -1, + 356 + ], + "'RATIONAL": [ + -1, + 356 + ], + "'ROUGHRATIONAL": [ + -1, + 356 + ], + "'TRUE": [ + -1, + 356 + ], + "'FALSE": [ + -1, + 356 + ], + "'LAM": [ + -1, + 356 + ], + "'METHOD": [ + -1, + 356 + ], + "'LBRACK": [ + -1, + 356 + ], + "'TABLE": [ + -1, + 356 + ], + "'REACTOR": [ + -1, + 356 + ], + "'IF": [ + -1, + 356 + ], + "'ASK": [ + -1, + 356 + ], + "'CASES": [ + -1, + 356 + ], + "'FOR": [ + -1, + 356 + ], + "'TABLE-SELECT": [ + -1, + 356 + ], + "'TABLE-FILTER": [ + -1, + 356 + ], + "'TABLE-ORDER": [ + -1, + 356 + ], + "'TABLE-EXTRACT": [ + -1, + 356 + ], + "'TABLE-UPDATE": [ + -1, + 356 + ], + "'TABLE-EXTEND": [ + -1, + 356 + ], + "'LOAD-TABLE": [ + -1, + 356 + ] + }, + { + "'NAME": [ + 404 + ], + "comma-ann-field": [ + 405 + ], + "ann-field": [ + 406 + ], + "trailing-opt-comma-ann-field": [ + 407 + ], + "trailing-opt-comma-ann-field_I0": [ + 408 + ], + "'RBRACE": [ + -1, + 358, + 360 + ] + }, + { + "'AS": [ + 409 + ], + "'END": [ + -1, + 362 + ], + "'COMMA": [ + -1, + 362 + ] + }, + { + "'END": [ + -1, + 364 + ], + "'COMMA": [ + -1, + 364 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 410 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "module-ref": [ + 411 + ], + "data-name-spec": [ + 412 + ], + "'STAR": [ + 413 + ], + "'TIMES": [ + 414 + ], + "data-name-spec_A0_I0": [ + 415 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 416 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "'END": [ + -1, + 366 + ], + "'COMMA": [ + -1, + 366 + ], + "'HIDING": [ + -1, + 366 + ] + }, + { + "'END": [ + -1, + 368 + ], + "'COMMA": [ + -1, + 368 + ], + "'HIDING": [ + -1, + 368 + ] + }, + { + "'END": [ + 417 + ] + }, + { + "'END": [ + -1, + 370 + ] + }, + { + "provide-block_A0_I1_I1*": [ + 418 + ], + "'END": [ + -1, + 372, + 374 + ], + "'COMMA": [ + -1, + 374 + ] + }, + { + "'END": [ + -1, + 376 + ], + "'COMMA": [ + -1, + 376 + ] + }, + { + "'END": [ + -1, + 378 + ], + "'COMMA": [ + -1, + 378 + ] + }, + { + "'END": [ + -1, + 380 + ], + "'COMMA": [ + -1, + 380 + ] + }, + { + "'END": [ + -1, + 382 + ], + "'COMMA": [ + -1, + 382 + ] + }, + { + "hiding-spec": [ + 419 + ], + "name-spec_A0_I1?": [ + 420 + ], + "name-spec_A0_I1": [ + 421 + ], + "'HIDING": [ + 422 + ], + "'END": [ + -1, + 384, + 386 + ], + "'COMMA": [ + -1, + 384, + 386 + ] + }, + { + "'NAME": [ + 423 + ], + "module-ref_I0": [ + 424 + ] + }, + { + "'STRING": [ + 425 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 426 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 427 + ], + "ann": [ + 428 + ], + "'LBRACE": [ + 329 + ], + "contract-stmt_I3": [ + 429 + ], + "noparen-arrow-ann": [ + 430 + ], + "'PARENAFTERBRACE": [ + 431 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "noparen-arrow-ann_I0?": [ + 432 + ], + "noparen-arrow-ann_I0": [ + 433 + ], + "arrow-ann-args": [ + 434 + ], + "comma-anns": [ + 435 + ], + "arrow-ann-args_A1_I0": [ + 436 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ], + "'THINARROW": [ + -1, + 388 + ] + }, + { + "$": [ + -1, + 390 + ], + "'NAME": [ + -1, + 390 + ], + "'END": [ + -1, + 390 + ], + "'STRING": [ + -1, + 390 + ], + "'TYPE": [ + -1, + 390 + ], + "'DATA": [ + -1, + 390 + ], + "'PARENSPACE": [ + -1, + 390 + ], + "'SPY": [ + -1, + 390 + ], + "'NEWTYPE": [ + -1, + 390 + ], + "'LBRACE": [ + -1, + 390 + ], + "'RBRACE": [ + -1, + 390 + ], + "'SHADOW": [ + -1, + 390 + ], + "'LET": [ + -1, + 390 + ], + "'BLOCK": [ + -1, + 390 + ], + "'LETREC": [ + -1, + 390 + ], + "'TYPE-LET": [ + -1, + 390 + ], + "'FUN": [ + -1, + 390 + ], + "'PARENAFTERBRACE": [ + -1, + 390 + ], + "'WHERE": [ + -1, + 390 + ], + "'CHECK": [ + -1, + 390 + ], + "'EXAMPLES": [ + -1, + 390 + ], + "'CHECKCOLON": [ + -1, + 390 + ], + "'EXAMPLESCOLON": [ + -1, + 390 + ], + "'BAR": [ + -1, + 390 + ], + "'VAR": [ + -1, + 390 + ], + "'REC": [ + -1, + 390 + ], + "'WHEN": [ + -1, + 390 + ], + "'DOTDOTDOT": [ + -1, + 390 + ], + "'NUMBER": [ + -1, + 390 + ], + "'RATIONAL": [ + -1, + 390 + ], + "'ROUGHRATIONAL": [ + -1, + 390 + ], + "'TRUE": [ + -1, + 390 + ], + "'FALSE": [ + -1, + 390 + ], + "'LAM": [ + -1, + 390 + ], + "'METHOD": [ + -1, + 390 + ], + "'LBRACK": [ + -1, + 390 + ], + "'TABLE": [ + -1, + 390 + ], + "'REACTOR": [ + -1, + 390 + ], + "'IF": [ + -1, + 390 + ], + "'ELSECOLON": [ + -1, + 390 + ], + "'ELSEIF": [ + -1, + 390 + ], + "'ASK": [ + -1, + 390 + ], + "'CASES": [ + -1, + 390 + ], + "'FOR": [ + -1, + 390 + ], + "'TABLE-SELECT": [ + -1, + 390 + ], + "'TABLE-FILTER": [ + -1, + 390 + ], + "'TABLE-ORDER": [ + -1, + 390 + ], + "'TABLE-EXTRACT": [ + -1, + 390 + ], + "'TABLE-UPDATE": [ + -1, + 390 + ], + "'TABLE-EXTEND": [ + -1, + 390 + ], + "'LOAD-TABLE": [ + -1, + 390 + ] + }, + { + "'EQUALS": [ + 437 + ] + }, + { + "'COLON": [ + 438 + ] + }, + { + "'NAME": [ + 439 + ], + "spy-stmt_I3?": [ + 440 + ], + "spy-stmt_I3": [ + 441 + ], + "spy-contents": [ + 442 + ], + "spy-field": [ + 443 + ], + "id-expr": [ + 444 + ], + "'END": [ + -1, + 392 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 445 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + -1, + 394 + ], + "'STRING": [ + -1, + 394 + ], + "'PARENSPACE": [ + -1, + 394 + ], + "'LBRACE": [ + -1, + 394 + ], + "'LET": [ + -1, + 394 + ], + "'BLOCK": [ + -1, + 394 + ], + "'LETREC": [ + -1, + 394 + ], + "'TYPE-LET": [ + -1, + 394 + ], + "'PARENAFTERBRACE": [ + -1, + 394 + ], + "'DOTDOTDOT": [ + -1, + 394 + ], + "'NUMBER": [ + -1, + 394 + ], + "'RATIONAL": [ + -1, + 394 + ], + "'ROUGHRATIONAL": [ + -1, + 394 + ], + "'TRUE": [ + -1, + 394 + ], + "'FALSE": [ + -1, + 394 + ], + "'LAM": [ + -1, + 394 + ], + "'METHOD": [ + -1, + 394 + ], + "'LBRACK": [ + -1, + 394 + ], + "'TABLE": [ + -1, + 394 + ], + "'REACTOR": [ + -1, + 394 + ], + "'IF": [ + -1, + 394 + ], + "'ASK": [ + -1, + 394 + ], + "'CASES": [ + -1, + 394 + ], + "'FOR": [ + -1, + 394 + ], + "'TABLE-SELECT": [ + -1, + 394 + ], + "'TABLE-FILTER": [ + -1, + 394 + ], + "'TABLE-ORDER": [ + -1, + 394 + ], + "'TABLE-EXTRACT": [ + -1, + 394 + ], + "'TABLE-UPDATE": [ + -1, + 394 + ], + "'TABLE-EXTEND": [ + -1, + 394 + ], + "'LOAD-TABLE": [ + -1, + 394 + ] + }, + { + "'PARENNOSPACE": [ + 446 + ], + "'PARENSPACE": [ + 447 + ], + "check-test_A0_I2_I1": [ + 448 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 449 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "$": [ + -1, + 396 + ], + "'NAME": [ + -1, + 396 + ], + "'END": [ + -1, + 396 + ], + "'STRING": [ + -1, + 396 + ], + "'TYPE": [ + -1, + 396 + ], + "'DATA": [ + -1, + 396 + ], + "'PARENSPACE": [ + -1, + 396 + ], + "'SPY": [ + -1, + 396 + ], + "'NEWTYPE": [ + -1, + 396 + ], + "'LBRACE": [ + -1, + 396 + ], + "'RBRACE": [ + -1, + 396 + ], + "'SHADOW": [ + -1, + 396 + ], + "'LET": [ + -1, + 396 + ], + "'BLOCK": [ + -1, + 396 + ], + "'LETREC": [ + -1, + 396 + ], + "'TYPE-LET": [ + -1, + 396 + ], + "'FUN": [ + -1, + 396 + ], + "'PARENAFTERBRACE": [ + -1, + 396 + ], + "'WHERE": [ + -1, + 396 + ], + "'CHECK": [ + -1, + 396 + ], + "'EXAMPLES": [ + -1, + 396 + ], + "'CHECKCOLON": [ + -1, + 396 + ], + "'EXAMPLESCOLON": [ + -1, + 396 + ], + "'BAR": [ + -1, + 396 + ], + "'VAR": [ + -1, + 396 + ], + "'REC": [ + -1, + 396 + ], + "'WHEN": [ + -1, + 396 + ], + "'DOTDOTDOT": [ + -1, + 396 + ], + "'NUMBER": [ + -1, + 396 + ], + "'RATIONAL": [ + -1, + 396 + ], + "'ROUGHRATIONAL": [ + -1, + 396 + ], + "'TRUE": [ + -1, + 396 + ], + "'FALSE": [ + -1, + 396 + ], + "'LAM": [ + -1, + 396 + ], + "'METHOD": [ + -1, + 396 + ], + "'LBRACK": [ + -1, + 396 + ], + "'TABLE": [ + -1, + 396 + ], + "'REACTOR": [ + -1, + 396 + ], + "'IF": [ + -1, + 396 + ], + "'ELSECOLON": [ + -1, + 396 + ], + "'ELSEIF": [ + -1, + 396 + ], + "'ASK": [ + -1, + 396 + ], + "'CASES": [ + -1, + 396 + ], + "'FOR": [ + -1, + 396 + ], + "'TABLE-SELECT": [ + -1, + 396 + ], + "'TABLE-FILTER": [ + -1, + 396 + ], + "'TABLE-ORDER": [ + -1, + 396 + ], + "'TABLE-EXTRACT": [ + -1, + 396 + ], + "'TABLE-UPDATE": [ + -1, + 396 + ], + "'TABLE-EXTEND": [ + -1, + 396 + ], + "'LOAD-TABLE": [ + -1, + 396 + ] + }, + { + "$": [ + -1, + 398 + ], + "'NAME": [ + -1, + 398 + ], + "'END": [ + -1, + 398 + ], + "'STRING": [ + -1, + 398 + ], + "'TYPE": [ + -1, + 398 + ], + "'DATA": [ + -1, + 398 + ], + "'PARENSPACE": [ + -1, + 398 + ], + "'SPY": [ + -1, + 398 + ], + "'NEWTYPE": [ + -1, + 398 + ], + "'LBRACE": [ + -1, + 398 + ], + "'RBRACE": [ + -1, + 398 + ], + "'SHADOW": [ + -1, + 398 + ], + "'LET": [ + -1, + 398 + ], + "'BLOCK": [ + -1, + 398 + ], + "'LETREC": [ + -1, + 398 + ], + "'TYPE-LET": [ + -1, + 398 + ], + "'FUN": [ + -1, + 398 + ], + "'PARENAFTERBRACE": [ + -1, + 398 + ], + "'WHERE": [ + -1, + 398 + ], + "'CHECK": [ + -1, + 398 + ], + "'EXAMPLES": [ + -1, + 398 + ], + "'CHECKCOLON": [ + -1, + 398 + ], + "'EXAMPLESCOLON": [ + -1, + 398 + ], + "'BAR": [ + -1, + 398 + ], + "'VAR": [ + -1, + 398 + ], + "'REC": [ + -1, + 398 + ], + "'WHEN": [ + -1, + 398 + ], + "'DOTDOTDOT": [ + -1, + 398 + ], + "'NUMBER": [ + -1, + 398 + ], + "'RATIONAL": [ + -1, + 398 + ], + "'ROUGHRATIONAL": [ + -1, + 398 + ], + "'TRUE": [ + -1, + 398 + ], + "'FALSE": [ + -1, + 398 + ], + "'LAM": [ + -1, + 398 + ], + "'METHOD": [ + -1, + 398 + ], + "'LBRACK": [ + -1, + 398 + ], + "'TABLE": [ + -1, + 398 + ], + "'REACTOR": [ + -1, + 398 + ], + "'IF": [ + -1, + 398 + ], + "'ELSECOLON": [ + -1, + 398 + ], + "'ELSEIF": [ + -1, + 398 + ], + "'ASK": [ + -1, + 398 + ], + "'CASES": [ + -1, + 398 + ], + "'FOR": [ + -1, + 398 + ], + "'TABLE-SELECT": [ + -1, + 398 + ], + "'TABLE-FILTER": [ + -1, + 398 + ], + "'TABLE-ORDER": [ + -1, + 398 + ], + "'TABLE-EXTRACT": [ + -1, + 398 + ], + "'TABLE-UPDATE": [ + -1, + 398 + ], + "'TABLE-EXTEND": [ + -1, + 398 + ], + "'LOAD-TABLE": [ + -1, + 398 + ] + }, + { + "'NAME": [ + 450 + ] + }, + { + "$": [ + -1, + 400 + ], + "'NAME": [ + -1, + 400 + ], + "'COLON": [ + -1, + 400 + ], + "'END": [ + -1, + 400 + ], + "'COMMA": [ + -1, + 400 + ], + "'STRING": [ + -1, + 400 + ], + "'TYPE": [ + -1, + 400 + ], + "'DATA": [ + -1, + 400 + ], + "'PARENSPACE": [ + -1, + 400 + ], + "'SPY": [ + -1, + 400 + ], + "'NEWTYPE": [ + -1, + 400 + ], + "'LBRACE": [ + -1, + 400 + ], + "'RBRACE": [ + -1, + 400 + ], + "'SHADOW": [ + -1, + 400 + ], + "'LET": [ + -1, + 400 + ], + "'BLOCK": [ + -1, + 400 + ], + "'LETREC": [ + -1, + 400 + ], + "'TYPE-LET": [ + -1, + 400 + ], + "'FUN": [ + -1, + 400 + ], + "'PARENAFTERBRACE": [ + -1, + 400 + ], + "'WHERE": [ + -1, + 400 + ], + "'CHECK": [ + -1, + 400 + ], + "'EXAMPLES": [ + -1, + 400 + ], + "'CHECKCOLON": [ + -1, + 400 + ], + "'EXAMPLESCOLON": [ + -1, + 400 + ], + "'BAR": [ + -1, + 400 + ], + "'VAR": [ + -1, + 400 + ], + "'REC": [ + -1, + 400 + ], + "'WHEN": [ + -1, + 400 + ], + "'DOTDOTDOT": [ + -1, + 400 + ], + "'NUMBER": [ + -1, + 400 + ], + "'RATIONAL": [ + -1, + 400 + ], + "'ROUGHRATIONAL": [ + -1, + 400 + ], + "'TRUE": [ + -1, + 400 + ], + "'FALSE": [ + -1, + 400 + ], + "'LAM": [ + -1, + 400 + ], + "'METHOD": [ + -1, + 400 + ], + "'LBRACK": [ + -1, + 400 + ], + "'TABLE": [ + -1, + 400 + ], + "'REACTOR": [ + -1, + 400 + ], + "'IF": [ + -1, + 400 + ], + "'ELSECOLON": [ + -1, + 400 + ], + "'ELSEIF": [ + -1, + 400 + ], + "'ASK": [ + -1, + 400 + ], + "'CASES": [ + -1, + 400 + ], + "'FOR": [ + -1, + 400 + ], + "'TABLE-SELECT": [ + -1, + 400 + ], + "'TABLE-FILTER": [ + -1, + 400 + ], + "'TABLE-ORDER": [ + -1, + 400 + ], + "'TABLE-EXTRACT": [ + -1, + 400 + ], + "'TABLE-UPDATE": [ + -1, + 400 + ], + "'TABLE-EXTEND": [ + -1, + 400 + ], + "'LOAD-TABLE": [ + -1, + 400 + ] + }, + { + "'SEMI": [ + 451 + ], + "tuple-fields_I2?": [ + 452 + ], + "tuple-fields_I1": [ + 453 + ], + "tuple-fields_I2": [ + 454 + ], + "'RBRACE": [ + -1, + 402, + 404 + ] + }, + { + "'NAME": [ + -1, + 406 + ], + "'RPAREN": [ + -1, + 406 + ], + "'LBRACE": [ + -1, + 406 + ], + "'SHADOW": [ + -1, + 406 + ] + }, + { + "binding": [ + 455 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "bad-args_I1?": [ + 456 + ], + "bad-args_I1": [ + 457 + ], + "'NAME": [ + -1, + 22 + ], + "'RPAREN": [ + -1, + 408 + ] + }, + { + "return-ann": [ + 458 + ], + "return-ann_I0?": [ + 459 + ], + "return-ann_I0": [ + 460 + ], + "'THINARROW": [ + 461 + ], + "'COLON": [ + -1, + 410, + 412, + 414 + ], + "'BLOCK": [ + -1, + 410, + 412, + 414 + ] + }, + { + "return-ann": [ + 462 + ], + "return-ann_I0?": [ + 459 + ], + "return-ann_I0": [ + 460 + ], + "'THINARROW": [ + 461 + ], + "'COLON": [ + -1, + 416, + 412, + 414 + ], + "'BLOCK": [ + -1, + 416, + 412, + 414 + ] + }, + { + "binding": [ + 463 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "args_I1?": [ + 464 + ], + "args_I1": [ + 465 + ], + "'NAME": [ + -1, + 22 + ], + "'RPAREN": [ + -1, + 418 + ] + }, + { + "'NAME": [ + -1, + 420 + ], + "'RPAREN": [ + -1, + 420 + ], + "'LBRACE": [ + -1, + 420 + ], + "'SHADOW": [ + -1, + 420 + ] + }, + { + "tuple-binding_I3?": [ + 466 + ], + "'SEMI": [ + 467 + ], + "tuple-binding_I3": [ + 468 + ], + "'RBRACE": [ + -1, + 422 + ] + }, + { + "'NAME": [ + -1, + 424 + ], + "'LBRACE": [ + -1, + 424 + ], + "'SHADOW": [ + -1, + 424 + ] + }, + { + "'NAME": [ + -1, + 426 + ], + "'STRING": [ + -1, + 426 + ], + "'TYPE": [ + -1, + 426 + ], + "'DATA": [ + -1, + 426 + ], + "'PARENSPACE": [ + -1, + 426 + ], + "'SPY": [ + -1, + 426 + ], + "'NEWTYPE": [ + -1, + 426 + ], + "'LBRACE": [ + -1, + 426 + ], + "'RBRACE": [ + -1, + 426 + ], + "'SHADOW": [ + -1, + 426 + ], + "'LET": [ + -1, + 426 + ], + "'BLOCK": [ + -1, + 426 + ], + "'LETREC": [ + -1, + 426 + ], + "'TYPE-LET": [ + -1, + 426 + ], + "'FUN": [ + -1, + 426 + ], + "'PARENAFTERBRACE": [ + -1, + 426 + ], + "'DOC": [ + -1, + 426 + ], + "'WHERE": [ + -1, + 426 + ], + "'CHECK": [ + -1, + 426 + ], + "'EXAMPLES": [ + -1, + 426 + ], + "'CHECKCOLON": [ + -1, + 426 + ], + "'EXAMPLESCOLON": [ + -1, + 426 + ], + "'VAR": [ + -1, + 426 + ], + "'REC": [ + -1, + 426 + ], + "'WHEN": [ + -1, + 426 + ], + "'DOTDOTDOT": [ + -1, + 426 + ], + "'NUMBER": [ + -1, + 426 + ], + "'RATIONAL": [ + -1, + 426 + ], + "'ROUGHRATIONAL": [ + -1, + 426 + ], + "'TRUE": [ + -1, + 426 + ], + "'FALSE": [ + -1, + 426 + ], + "'LAM": [ + -1, + 426 + ], + "'METHOD": [ + -1, + 426 + ], + "'LBRACK": [ + -1, + 426 + ], + "'TABLE": [ + -1, + 426 + ], + "'REACTOR": [ + -1, + 426 + ], + "'IF": [ + -1, + 426 + ], + "'ASK": [ + -1, + 426 + ], + "'CASES": [ + -1, + 426 + ], + "'FOR": [ + -1, + 426 + ], + "'TABLE-SELECT": [ + -1, + 426 + ], + "'TABLE-FILTER": [ + -1, + 426 + ], + "'TABLE-ORDER": [ + -1, + 426 + ], + "'TABLE-EXTRACT": [ + -1, + 426 + ], + "'TABLE-UPDATE": [ + -1, + 426 + ], + "'TABLE-EXTEND": [ + -1, + 426 + ], + "'LOAD-TABLE": [ + -1, + 426 + ] + }, + { + "'NAME": [ + -1, + 428 + ], + "'STRING": [ + -1, + 428 + ], + "'TYPE": [ + -1, + 428 + ], + "'DATA": [ + -1, + 428 + ], + "'PARENSPACE": [ + -1, + 428 + ], + "'SPY": [ + -1, + 428 + ], + "'NEWTYPE": [ + -1, + 428 + ], + "'LBRACE": [ + -1, + 428 + ], + "'RBRACE": [ + -1, + 428 + ], + "'SHADOW": [ + -1, + 428 + ], + "'LET": [ + -1, + 428 + ], + "'BLOCK": [ + -1, + 428 + ], + "'LETREC": [ + -1, + 428 + ], + "'TYPE-LET": [ + -1, + 428 + ], + "'FUN": [ + -1, + 428 + ], + "'PARENAFTERBRACE": [ + -1, + 428 + ], + "'DOC": [ + -1, + 428 + ], + "'WHERE": [ + -1, + 428 + ], + "'CHECK": [ + -1, + 428 + ], + "'EXAMPLES": [ + -1, + 428 + ], + "'CHECKCOLON": [ + -1, + 428 + ], + "'EXAMPLESCOLON": [ + -1, + 428 + ], + "'VAR": [ + -1, + 428 + ], + "'REC": [ + -1, + 428 + ], + "'WHEN": [ + -1, + 428 + ], + "'DOTDOTDOT": [ + -1, + 428 + ], + "'NUMBER": [ + -1, + 428 + ], + "'RATIONAL": [ + -1, + 428 + ], + "'ROUGHRATIONAL": [ + -1, + 428 + ], + "'TRUE": [ + -1, + 428 + ], + "'FALSE": [ + -1, + 428 + ], + "'LAM": [ + -1, + 428 + ], + "'METHOD": [ + -1, + 428 + ], + "'LBRACK": [ + -1, + 428 + ], + "'TABLE": [ + -1, + 428 + ], + "'REACTOR": [ + -1, + 428 + ], + "'IF": [ + -1, + 428 + ], + "'ASK": [ + -1, + 428 + ], + "'CASES": [ + -1, + 428 + ], + "'FOR": [ + -1, + 428 + ], + "'TABLE-SELECT": [ + -1, + 428 + ], + "'TABLE-FILTER": [ + -1, + 428 + ], + "'TABLE-ORDER": [ + -1, + 428 + ], + "'TABLE-EXTRACT": [ + -1, + 428 + ], + "'TABLE-UPDATE": [ + -1, + 428 + ], + "'TABLE-EXTEND": [ + -1, + 428 + ], + "'LOAD-TABLE": [ + -1, + 428 + ] + }, + { + "doc-string": [ + 469 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'RBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "comma-names_I1*": [ + 399 + ], + "'COMMA": [ + -1, + 342 + ], + "'RANGLE": [ + -1, + 340, + 342 + ], + "'GT": [ + -1, + 340, + 342 + ] + }, + { + "ty-params_I0_I2": [ + 473 + ], + "'RANGLE": [ + 474 + ], + "'GT": [ + 475 + ] + }, + { + "'COLON": [ + -1, + 262 + ], + "'PARENNOSPACE": [ + -1, + 262 + ], + "'PARENSPACE": [ + -1, + 262 + ], + "'COLONCOLON": [ + -1, + 262 + ], + "'LANGLE": [ + -1, + 262 + ], + "'LT": [ + -1, + 262 + ], + "'PARENAFTERBRACE": [ + -1, + 262 + ] + }, + { + "'COLONCOLON": [ + 476 + ], + "obj-field_A1_I2?": [ + 477 + ], + "obj-field_A1_I2": [ + 478 + ], + "'COLON": [ + -1, + 434 + ] + }, + { + "ty-params": [ + 166 + ], + "fun-header": [ + 479 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "$": [ + -1, + 436 + ], + "'NAME": [ + -1, + 436 + ], + "'COLON": [ + -1, + 436 + ], + "'END": [ + -1, + 436 + ], + "'COMMA": [ + -1, + 436 + ], + "'PARENNOSPACE": [ + -1, + 436 + ], + "'STRING": [ + -1, + 436 + ], + "'RPAREN": [ + -1, + 436 + ], + "'TYPE": [ + -1, + 436 + ], + "'DATA": [ + -1, + 436 + ], + "'TIMES": [ + -1, + 436 + ], + "'PARENSPACE": [ + -1, + 436 + ], + "'DOT": [ + -1, + 436 + ], + "'SPY": [ + -1, + 436 + ], + "'NEWTYPE": [ + -1, + 436 + ], + "'LBRACE": [ + -1, + 436 + ], + "'RBRACE": [ + -1, + 436 + ], + "'SEMI": [ + -1, + 436 + ], + "'SHADOW": [ + -1, + 436 + ], + "'LET": [ + -1, + 436 + ], + "'BLOCK": [ + -1, + 436 + ], + "'LETREC": [ + -1, + 436 + ], + "'TYPE-LET": [ + -1, + 436 + ], + "'FUN": [ + -1, + 436 + ], + "'LANGLE": [ + -1, + 436 + ], + "'LT": [ + -1, + 436 + ], + "'GT": [ + -1, + 436 + ], + "'PARENAFTERBRACE": [ + -1, + 436 + ], + "'WHERE": [ + -1, + 436 + ], + "'CHECK": [ + -1, + 436 + ], + "'EXAMPLES": [ + -1, + 436 + ], + "'CHECKCOLON": [ + -1, + 436 + ], + "'EXAMPLESCOLON": [ + -1, + 436 + ], + "'BECAUSE": [ + -1, + 436 + ], + "'BAR": [ + -1, + 436 + ], + "'SHARING": [ + -1, + 436 + ], + "'VAR": [ + -1, + 436 + ], + "'REC": [ + -1, + 436 + ], + "'WHEN": [ + -1, + 436 + ], + "'PLUS": [ + -1, + 436 + ], + "'DASH": [ + -1, + 436 + ], + "'SLASH": [ + -1, + 436 + ], + "'LEQ": [ + -1, + 436 + ], + "'GEQ": [ + -1, + 436 + ], + "'EQUALEQUAL": [ + -1, + 436 + ], + "'SPACESHIP": [ + -1, + 436 + ], + "'EQUALTILDE": [ + -1, + 436 + ], + "'NEQ": [ + -1, + 436 + ], + "'AND": [ + -1, + 436 + ], + "'OR": [ + -1, + 436 + ], + "'CARET": [ + -1, + 436 + ], + "'IS": [ + -1, + 436 + ], + "'ISEQUALEQUAL": [ + -1, + 436 + ], + "'ISEQUALTILDE": [ + -1, + 436 + ], + "'ISSPACESHIP": [ + -1, + 436 + ], + "'ISROUGHLY": [ + -1, + 436 + ], + "'ISNOT": [ + -1, + 436 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 436 + ], + "'ISNOTEQUALTILDE": [ + -1, + 436 + ], + "'ISNOTSPACESHIP": [ + -1, + 436 + ], + "'RAISES": [ + -1, + 436 + ], + "'RAISESOTHER": [ + -1, + 436 + ], + "'SATISFIES": [ + -1, + 436 + ], + "'SATISFIESNOT": [ + -1, + 436 + ], + "'RAISESSATISFIES": [ + -1, + 436 + ], + "'RAISESVIOLATES": [ + -1, + 436 + ], + "'RAISESNOT": [ + -1, + 436 + ], + "'DOTDOTDOT": [ + -1, + 436 + ], + "'NUMBER": [ + -1, + 436 + ], + "'RATIONAL": [ + -1, + 436 + ], + "'ROUGHRATIONAL": [ + -1, + 436 + ], + "'TRUE": [ + -1, + 436 + ], + "'FALSE": [ + -1, + 436 + ], + "'LAM": [ + -1, + 436 + ], + "'METHOD": [ + -1, + 436 + ], + "'LBRACK": [ + -1, + 436 + ], + "'RBRACK": [ + -1, + 436 + ], + "'TABLE": [ + -1, + 436 + ], + "'ROW": [ + -1, + 436 + ], + "'REACTOR": [ + -1, + 436 + ], + "'BANG": [ + -1, + 436 + ], + "'IF": [ + -1, + 436 + ], + "'ELSECOLON": [ + -1, + 436 + ], + "'ELSEIF": [ + -1, + 436 + ], + "'ASK": [ + -1, + 436 + ], + "'THENCOLON": [ + -1, + 436 + ], + "'CASES": [ + -1, + 436 + ], + "'FOR": [ + -1, + 436 + ], + "'TABLE-SELECT": [ + -1, + 436 + ], + "'TABLE-FILTER": [ + -1, + 436 + ], + "'USING": [ + -1, + 436 + ], + "'TABLE-ORDER": [ + -1, + 436 + ], + "'TABLE-EXTRACT": [ + -1, + 436 + ], + "'TABLE-UPDATE": [ + -1, + 436 + ], + "'TABLE-EXTEND": [ + -1, + 436 + ], + "'OF": [ + -1, + 436 + ], + "'LOAD-TABLE": [ + -1, + 436 + ], + "'SOURCECOLON": [ + -1, + 436 + ], + "'SANITIZE": [ + -1, + 436 + ] + }, + { + "$": [ + -1, + 438 + ], + "'NAME": [ + -1, + 438 + ], + "'COLON": [ + -1, + 438 + ], + "'END": [ + -1, + 438 + ], + "'COMMA": [ + -1, + 438 + ], + "'PARENNOSPACE": [ + -1, + 438 + ], + "'STRING": [ + -1, + 438 + ], + "'RPAREN": [ + -1, + 438 + ], + "'TYPE": [ + -1, + 438 + ], + "'DATA": [ + -1, + 438 + ], + "'TIMES": [ + -1, + 438 + ], + "'PARENSPACE": [ + -1, + 438 + ], + "'DOT": [ + -1, + 438 + ], + "'SPY": [ + -1, + 438 + ], + "'NEWTYPE": [ + -1, + 438 + ], + "'LBRACE": [ + -1, + 438 + ], + "'RBRACE": [ + -1, + 438 + ], + "'SEMI": [ + -1, + 438 + ], + "'SHADOW": [ + -1, + 438 + ], + "'LET": [ + -1, + 438 + ], + "'BLOCK": [ + -1, + 438 + ], + "'LETREC": [ + -1, + 438 + ], + "'TYPE-LET": [ + -1, + 438 + ], + "'FUN": [ + -1, + 438 + ], + "'LANGLE": [ + -1, + 438 + ], + "'LT": [ + -1, + 438 + ], + "'GT": [ + -1, + 438 + ], + "'PARENAFTERBRACE": [ + -1, + 438 + ], + "'WHERE": [ + -1, + 438 + ], + "'CHECK": [ + -1, + 438 + ], + "'EXAMPLES": [ + -1, + 438 + ], + "'CHECKCOLON": [ + -1, + 438 + ], + "'EXAMPLESCOLON": [ + -1, + 438 + ], + "'BECAUSE": [ + -1, + 438 + ], + "'BAR": [ + -1, + 438 + ], + "'SHARING": [ + -1, + 438 + ], + "'VAR": [ + -1, + 438 + ], + "'REC": [ + -1, + 438 + ], + "'WHEN": [ + -1, + 438 + ], + "'PLUS": [ + -1, + 438 + ], + "'DASH": [ + -1, + 438 + ], + "'SLASH": [ + -1, + 438 + ], + "'LEQ": [ + -1, + 438 + ], + "'GEQ": [ + -1, + 438 + ], + "'EQUALEQUAL": [ + -1, + 438 + ], + "'SPACESHIP": [ + -1, + 438 + ], + "'EQUALTILDE": [ + -1, + 438 + ], + "'NEQ": [ + -1, + 438 + ], + "'AND": [ + -1, + 438 + ], + "'OR": [ + -1, + 438 + ], + "'CARET": [ + -1, + 438 + ], + "'IS": [ + -1, + 438 + ], + "'ISEQUALEQUAL": [ + -1, + 438 + ], + "'ISEQUALTILDE": [ + -1, + 438 + ], + "'ISSPACESHIP": [ + -1, + 438 + ], + "'ISROUGHLY": [ + -1, + 438 + ], + "'ISNOT": [ + -1, + 438 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 438 + ], + "'ISNOTEQUALTILDE": [ + -1, + 438 + ], + "'ISNOTSPACESHIP": [ + -1, + 438 + ], + "'RAISES": [ + -1, + 438 + ], + "'RAISESOTHER": [ + -1, + 438 + ], + "'SATISFIES": [ + -1, + 438 + ], + "'SATISFIESNOT": [ + -1, + 438 + ], + "'RAISESSATISFIES": [ + -1, + 438 + ], + "'RAISESVIOLATES": [ + -1, + 438 + ], + "'RAISESNOT": [ + -1, + 438 + ], + "'DOTDOTDOT": [ + -1, + 438 + ], + "'NUMBER": [ + -1, + 438 + ], + "'RATIONAL": [ + -1, + 438 + ], + "'ROUGHRATIONAL": [ + -1, + 438 + ], + "'TRUE": [ + -1, + 438 + ], + "'FALSE": [ + -1, + 438 + ], + "'LAM": [ + -1, + 438 + ], + "'METHOD": [ + -1, + 438 + ], + "'LBRACK": [ + -1, + 438 + ], + "'RBRACK": [ + -1, + 438 + ], + "'TABLE": [ + -1, + 438 + ], + "'ROW": [ + -1, + 438 + ], + "'REACTOR": [ + -1, + 438 + ], + "'BANG": [ + -1, + 438 + ], + "'IF": [ + -1, + 438 + ], + "'ELSECOLON": [ + -1, + 438 + ], + "'ELSEIF": [ + -1, + 438 + ], + "'ASK": [ + -1, + 438 + ], + "'THENCOLON": [ + -1, + 438 + ], + "'CASES": [ + -1, + 438 + ], + "'FOR": [ + -1, + 438 + ], + "'TABLE-SELECT": [ + -1, + 438 + ], + "'TABLE-FILTER": [ + -1, + 438 + ], + "'USING": [ + -1, + 438 + ], + "'TABLE-ORDER": [ + -1, + 438 + ], + "'TABLE-EXTRACT": [ + -1, + 438 + ], + "'TABLE-UPDATE": [ + -1, + 438 + ], + "'TABLE-EXTEND": [ + -1, + 438 + ], + "'OF": [ + -1, + 438 + ], + "'LOAD-TABLE": [ + -1, + 438 + ], + "'SOURCECOLON": [ + -1, + 438 + ], + "'SANITIZE": [ + -1, + 438 + ] + }, + { + "'COMMA": [ + 480 + ], + "obj-fields_I2?": [ + 481 + ], + "obj-fields_I1": [ + 482 + ], + "obj-fields_I2": [ + 483 + ], + "'END": [ + -1, + 440, + 442 + ], + "'RBRACE": [ + -1, + 440, + 442 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 484 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'FROM": [ + -1, + 444 + ], + "'COLON": [ + -1, + 444 + ], + "'COMMA": [ + -1, + 444 + ], + "'RPAREN": [ + -1, + 444 + ], + "'EQUALS": [ + -1, + 444 + ], + "'RBRACE": [ + -1, + 444 + ], + "'SEMI": [ + -1, + 444 + ] + }, + { + "'FROM": [ + -1, + 446 + ], + "'COLON": [ + -1, + 446 + ], + "'COMMA": [ + -1, + 446 + ], + "'RPAREN": [ + -1, + 446 + ], + "'EQUALS": [ + -1, + 446 + ], + "'RBRACE": [ + -1, + 446 + ], + "'SEMI": [ + -1, + 446 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 485 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'COLON": [ + 486 + ], + "'COMMA": [ + 487 + ], + "multi-let-expr_I3": [ + 488 + ], + "multi-let-expr_I2": [ + 489 + ], + "'BLOCK": [ + 490 + ] + }, + { + "$": [ + -1, + 448 + ], + "'NAME": [ + -1, + 448 + ], + "'COLON": [ + -1, + 448 + ], + "'END": [ + -1, + 448 + ], + "'COMMA": [ + -1, + 448 + ], + "'PARENNOSPACE": [ + -1, + 448 + ], + "'STRING": [ + -1, + 448 + ], + "'RPAREN": [ + -1, + 448 + ], + "'TYPE": [ + -1, + 448 + ], + "'DATA": [ + -1, + 448 + ], + "'TIMES": [ + -1, + 448 + ], + "'PARENSPACE": [ + -1, + 448 + ], + "'DOT": [ + -1, + 448 + ], + "'SPY": [ + -1, + 448 + ], + "'NEWTYPE": [ + -1, + 448 + ], + "'LBRACE": [ + -1, + 448 + ], + "'RBRACE": [ + -1, + 448 + ], + "'SEMI": [ + -1, + 448 + ], + "'SHADOW": [ + -1, + 448 + ], + "'LET": [ + -1, + 448 + ], + "'BLOCK": [ + -1, + 448 + ], + "'LETREC": [ + -1, + 448 + ], + "'TYPE-LET": [ + -1, + 448 + ], + "'FUN": [ + -1, + 448 + ], + "'LANGLE": [ + -1, + 448 + ], + "'LT": [ + -1, + 448 + ], + "'GT": [ + -1, + 448 + ], + "'PARENAFTERBRACE": [ + -1, + 448 + ], + "'WHERE": [ + -1, + 448 + ], + "'CHECK": [ + -1, + 448 + ], + "'EXAMPLES": [ + -1, + 448 + ], + "'CHECKCOLON": [ + -1, + 448 + ], + "'EXAMPLESCOLON": [ + -1, + 448 + ], + "'BECAUSE": [ + -1, + 448 + ], + "'BAR": [ + -1, + 448 + ], + "'SHARING": [ + -1, + 448 + ], + "'VAR": [ + -1, + 448 + ], + "'REC": [ + -1, + 448 + ], + "'WHEN": [ + -1, + 448 + ], + "'PLUS": [ + -1, + 448 + ], + "'DASH": [ + -1, + 448 + ], + "'SLASH": [ + -1, + 448 + ], + "'LEQ": [ + -1, + 448 + ], + "'GEQ": [ + -1, + 448 + ], + "'EQUALEQUAL": [ + -1, + 448 + ], + "'SPACESHIP": [ + -1, + 448 + ], + "'EQUALTILDE": [ + -1, + 448 + ], + "'NEQ": [ + -1, + 448 + ], + "'AND": [ + -1, + 448 + ], + "'OR": [ + -1, + 448 + ], + "'CARET": [ + -1, + 448 + ], + "'IS": [ + -1, + 448 + ], + "'ISEQUALEQUAL": [ + -1, + 448 + ], + "'ISEQUALTILDE": [ + -1, + 448 + ], + "'ISSPACESHIP": [ + -1, + 448 + ], + "'ISROUGHLY": [ + -1, + 448 + ], + "'ISNOT": [ + -1, + 448 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 448 + ], + "'ISNOTEQUALTILDE": [ + -1, + 448 + ], + "'ISNOTSPACESHIP": [ + -1, + 448 + ], + "'RAISES": [ + -1, + 448 + ], + "'RAISESOTHER": [ + -1, + 448 + ], + "'SATISFIES": [ + -1, + 448 + ], + "'SATISFIESNOT": [ + -1, + 448 + ], + "'RAISESSATISFIES": [ + -1, + 448 + ], + "'RAISESVIOLATES": [ + -1, + 448 + ], + "'RAISESNOT": [ + -1, + 448 + ], + "'DOTDOTDOT": [ + -1, + 448 + ], + "'NUMBER": [ + -1, + 448 + ], + "'RATIONAL": [ + -1, + 448 + ], + "'ROUGHRATIONAL": [ + -1, + 448 + ], + "'TRUE": [ + -1, + 448 + ], + "'FALSE": [ + -1, + 448 + ], + "'LAM": [ + -1, + 448 + ], + "'METHOD": [ + -1, + 448 + ], + "'LBRACK": [ + -1, + 448 + ], + "'RBRACK": [ + -1, + 448 + ], + "'TABLE": [ + -1, + 448 + ], + "'ROW": [ + -1, + 448 + ], + "'REACTOR": [ + -1, + 448 + ], + "'BANG": [ + -1, + 448 + ], + "'IF": [ + -1, + 448 + ], + "'ELSECOLON": [ + -1, + 448 + ], + "'ELSEIF": [ + -1, + 448 + ], + "'ASK": [ + -1, + 448 + ], + "'THENCOLON": [ + -1, + 448 + ], + "'CASES": [ + -1, + 448 + ], + "'FOR": [ + -1, + 448 + ], + "'TABLE-SELECT": [ + -1, + 448 + ], + "'TABLE-FILTER": [ + -1, + 448 + ], + "'USING": [ + -1, + 448 + ], + "'TABLE-ORDER": [ + -1, + 448 + ], + "'TABLE-EXTRACT": [ + -1, + 448 + ], + "'TABLE-UPDATE": [ + -1, + 448 + ], + "'TABLE-EXTEND": [ + -1, + 448 + ], + "'OF": [ + -1, + 448 + ], + "'LOAD-TABLE": [ + -1, + 448 + ], + "'SOURCECOLON": [ + -1, + 448 + ], + "'SANITIZE": [ + -1, + 448 + ] + }, + { + "'COLON": [ + 491 + ], + "'COMMA": [ + 492 + ], + "'BLOCK": [ + 493 + ], + "letrec-expr_I3": [ + 494 + ], + "letrec-expr_I2": [ + 495 + ] + }, + { + "'EQUALS": [ + 496 + ] + }, + { + "'AS": [ + 497 + ] + }, + { + "'COLON": [ + 498 + ], + "'COMMA": [ + 499 + ], + "'BLOCK": [ + 500 + ], + "type-let-expr_I3": [ + 501 + ], + "type-let-expr_I2": [ + 502 + ] + }, + { + "'COLON": [ + 503 + ], + "'BLOCK": [ + 504 + ], + "fun-expr_I3": [ + 505 + ] + }, + { + "block": [ + 506 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 450 + ], + "'NAME": [ + -1, + 450 + ], + "'END": [ + -1, + 450 + ], + "'STRING": [ + -1, + 450 + ], + "'TYPE": [ + -1, + 450 + ], + "'DATA": [ + -1, + 450 + ], + "'PARENSPACE": [ + -1, + 450 + ], + "'SPY": [ + -1, + 450 + ], + "'NEWTYPE": [ + -1, + 450 + ], + "'LBRACE": [ + -1, + 450 + ], + "'RBRACE": [ + -1, + 450 + ], + "'SHADOW": [ + -1, + 450 + ], + "'LET": [ + -1, + 450 + ], + "'BLOCK": [ + -1, + 450 + ], + "'LETREC": [ + -1, + 450 + ], + "'TYPE-LET": [ + -1, + 450 + ], + "'FUN": [ + -1, + 450 + ], + "'PARENAFTERBRACE": [ + -1, + 450 + ], + "'WHERE": [ + -1, + 450 + ], + "'CHECK": [ + -1, + 450 + ], + "'EXAMPLES": [ + -1, + 450 + ], + "'CHECKCOLON": [ + -1, + 450 + ], + "'EXAMPLESCOLON": [ + -1, + 450 + ], + "'BAR": [ + -1, + 450 + ], + "'VAR": [ + -1, + 450 + ], + "'REC": [ + -1, + 450 + ], + "'WHEN": [ + -1, + 450 + ], + "'DOTDOTDOT": [ + -1, + 450 + ], + "'NUMBER": [ + -1, + 450 + ], + "'RATIONAL": [ + -1, + 450 + ], + "'ROUGHRATIONAL": [ + -1, + 450 + ], + "'TRUE": [ + -1, + 450 + ], + "'FALSE": [ + -1, + 450 + ], + "'LAM": [ + -1, + 450 + ], + "'METHOD": [ + -1, + 450 + ], + "'LBRACK": [ + -1, + 450 + ], + "'TABLE": [ + -1, + 450 + ], + "'REACTOR": [ + -1, + 450 + ], + "'IF": [ + -1, + 450 + ], + "'ELSECOLON": [ + -1, + 450 + ], + "'ELSEIF": [ + -1, + 450 + ], + "'ASK": [ + -1, + 450 + ], + "'CASES": [ + -1, + 450 + ], + "'FOR": [ + -1, + 450 + ], + "'TABLE-SELECT": [ + -1, + 450 + ], + "'TABLE-FILTER": [ + -1, + 450 + ], + "'TABLE-ORDER": [ + -1, + 450 + ], + "'TABLE-EXTRACT": [ + -1, + 450 + ], + "'TABLE-UPDATE": [ + -1, + 450 + ], + "'TABLE-EXTEND": [ + -1, + 450 + ], + "'LOAD-TABLE": [ + -1, + 450 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 507 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 508 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + -1, + 452 + ], + "'END": [ + -1, + 452 + ], + "'STRING": [ + -1, + 452 + ], + "'TYPE": [ + -1, + 452 + ], + "'DATA": [ + -1, + 452 + ], + "'PARENSPACE": [ + -1, + 452 + ], + "'SPY": [ + -1, + 452 + ], + "'NEWTYPE": [ + -1, + 452 + ], + "'LBRACE": [ + -1, + 452 + ], + "'SHADOW": [ + -1, + 452 + ], + "'LET": [ + -1, + 452 + ], + "'BLOCK": [ + -1, + 452 + ], + "'LETREC": [ + -1, + 452 + ], + "'TYPE-LET": [ + -1, + 452 + ], + "'FUN": [ + -1, + 452 + ], + "'PARENAFTERBRACE": [ + -1, + 452 + ], + "'CHECK": [ + -1, + 452 + ], + "'EXAMPLES": [ + -1, + 452 + ], + "'CHECKCOLON": [ + -1, + 452 + ], + "'EXAMPLESCOLON": [ + -1, + 452 + ], + "'VAR": [ + -1, + 452 + ], + "'REC": [ + -1, + 452 + ], + "'WHEN": [ + -1, + 452 + ], + "'DOTDOTDOT": [ + -1, + 452 + ], + "'NUMBER": [ + -1, + 452 + ], + "'RATIONAL": [ + -1, + 452 + ], + "'ROUGHRATIONAL": [ + -1, + 452 + ], + "'TRUE": [ + -1, + 452 + ], + "'FALSE": [ + -1, + 452 + ], + "'LAM": [ + -1, + 452 + ], + "'METHOD": [ + -1, + 452 + ], + "'LBRACK": [ + -1, + 452 + ], + "'TABLE": [ + -1, + 452 + ], + "'REACTOR": [ + -1, + 452 + ], + "'IF": [ + -1, + 452 + ], + "'ASK": [ + -1, + 452 + ], + "'CASES": [ + -1, + 452 + ], + "'FOR": [ + -1, + 452 + ], + "'TABLE-SELECT": [ + -1, + 452 + ], + "'TABLE-FILTER": [ + -1, + 452 + ], + "'TABLE-ORDER": [ + -1, + 452 + ], + "'TABLE-EXTRACT": [ + -1, + 452 + ], + "'TABLE-UPDATE": [ + -1, + 452 + ], + "'TABLE-EXTEND": [ + -1, + 452 + ], + "'LOAD-TABLE": [ + -1, + 452 + ] + }, + { + "'NAME": [ + -1, + 454 + ], + "'END": [ + -1, + 454 + ], + "'STRING": [ + -1, + 454 + ], + "'TYPE": [ + -1, + 454 + ], + "'DATA": [ + -1, + 454 + ], + "'PARENSPACE": [ + -1, + 454 + ], + "'SPY": [ + -1, + 454 + ], + "'NEWTYPE": [ + -1, + 454 + ], + "'LBRACE": [ + -1, + 454 + ], + "'SHADOW": [ + -1, + 454 + ], + "'LET": [ + -1, + 454 + ], + "'BLOCK": [ + -1, + 454 + ], + "'LETREC": [ + -1, + 454 + ], + "'TYPE-LET": [ + -1, + 454 + ], + "'FUN": [ + -1, + 454 + ], + "'PARENAFTERBRACE": [ + -1, + 454 + ], + "'CHECK": [ + -1, + 454 + ], + "'EXAMPLES": [ + -1, + 454 + ], + "'CHECKCOLON": [ + -1, + 454 + ], + "'EXAMPLESCOLON": [ + -1, + 454 + ], + "'VAR": [ + -1, + 454 + ], + "'REC": [ + -1, + 454 + ], + "'WHEN": [ + -1, + 454 + ], + "'DOTDOTDOT": [ + -1, + 454 + ], + "'NUMBER": [ + -1, + 454 + ], + "'RATIONAL": [ + -1, + 454 + ], + "'ROUGHRATIONAL": [ + -1, + 454 + ], + "'TRUE": [ + -1, + 454 + ], + "'FALSE": [ + -1, + 454 + ], + "'LAM": [ + -1, + 454 + ], + "'METHOD": [ + -1, + 454 + ], + "'LBRACK": [ + -1, + 454 + ], + "'TABLE": [ + -1, + 454 + ], + "'REACTOR": [ + -1, + 454 + ], + "'IF": [ + -1, + 454 + ], + "'ASK": [ + -1, + 454 + ], + "'CASES": [ + -1, + 454 + ], + "'FOR": [ + -1, + 454 + ], + "'TABLE-SELECT": [ + -1, + 454 + ], + "'TABLE-FILTER": [ + -1, + 454 + ], + "'TABLE-ORDER": [ + -1, + 454 + ], + "'TABLE-EXTRACT": [ + -1, + 454 + ], + "'TABLE-UPDATE": [ + -1, + 454 + ], + "'TABLE-EXTEND": [ + -1, + 454 + ], + "'LOAD-TABLE": [ + -1, + 454 + ] + }, + { + "block": [ + 509 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "comma-binops_I1*": [ + 510 + ], + "'COMMA": [ + -1, + 456, + 458 + ], + "'RPAREN": [ + -1, + 456, + 458 + ], + "'RBRACK": [ + -1, + 456, + 458 + ] + }, + { + "'RPAREN": [ + 511 + ] + }, + { + "'RPAREN": [ + -1, + 460 + ] + }, + { + "'RPAREN": [ + -1, + 462 + ] + }, + { + "'RPAREN": [ + -1, + 464 + ] + }, + { + "$": [ + -1, + 466 + ], + "'NAME": [ + -1, + 466 + ], + "'COLON": [ + -1, + 466 + ], + "'END": [ + -1, + 466 + ], + "'COMMA": [ + -1, + 466 + ], + "'PARENNOSPACE": [ + -1, + 466 + ], + "'STRING": [ + -1, + 466 + ], + "'RPAREN": [ + -1, + 466 + ], + "'TYPE": [ + -1, + 466 + ], + "'DATA": [ + -1, + 466 + ], + "'TIMES": [ + -1, + 466 + ], + "'PARENSPACE": [ + -1, + 466 + ], + "'DOT": [ + -1, + 466 + ], + "'SPY": [ + -1, + 466 + ], + "'NEWTYPE": [ + -1, + 466 + ], + "'LBRACE": [ + -1, + 466 + ], + "'RBRACE": [ + -1, + 466 + ], + "'SEMI": [ + -1, + 466 + ], + "'SHADOW": [ + -1, + 466 + ], + "'LET": [ + -1, + 466 + ], + "'BLOCK": [ + -1, + 466 + ], + "'LETREC": [ + -1, + 466 + ], + "'TYPE-LET": [ + -1, + 466 + ], + "'FUN": [ + -1, + 466 + ], + "'LANGLE": [ + -1, + 466 + ], + "'LT": [ + -1, + 466 + ], + "'GT": [ + -1, + 466 + ], + "'PARENAFTERBRACE": [ + -1, + 466 + ], + "'WHERE": [ + -1, + 466 + ], + "'CHECK": [ + -1, + 466 + ], + "'EXAMPLES": [ + -1, + 466 + ], + "'CHECKCOLON": [ + -1, + 466 + ], + "'EXAMPLESCOLON": [ + -1, + 466 + ], + "'BECAUSE": [ + -1, + 466 + ], + "'BAR": [ + -1, + 466 + ], + "'SHARING": [ + -1, + 466 + ], + "'VAR": [ + -1, + 466 + ], + "'REC": [ + -1, + 466 + ], + "'WHEN": [ + -1, + 466 + ], + "'PLUS": [ + -1, + 466 + ], + "'DASH": [ + -1, + 466 + ], + "'SLASH": [ + -1, + 466 + ], + "'LEQ": [ + -1, + 466 + ], + "'GEQ": [ + -1, + 466 + ], + "'EQUALEQUAL": [ + -1, + 466 + ], + "'SPACESHIP": [ + -1, + 466 + ], + "'EQUALTILDE": [ + -1, + 466 + ], + "'NEQ": [ + -1, + 466 + ], + "'AND": [ + -1, + 466 + ], + "'OR": [ + -1, + 466 + ], + "'CARET": [ + -1, + 466 + ], + "'IS": [ + -1, + 466 + ], + "'ISEQUALEQUAL": [ + -1, + 466 + ], + "'ISEQUALTILDE": [ + -1, + 466 + ], + "'ISSPACESHIP": [ + -1, + 466 + ], + "'ISROUGHLY": [ + -1, + 466 + ], + "'ISNOT": [ + -1, + 466 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 466 + ], + "'ISNOTEQUALTILDE": [ + -1, + 466 + ], + "'ISNOTSPACESHIP": [ + -1, + 466 + ], + "'RAISES": [ + -1, + 466 + ], + "'RAISESOTHER": [ + -1, + 466 + ], + "'SATISFIES": [ + -1, + 466 + ], + "'SATISFIESNOT": [ + -1, + 466 + ], + "'RAISESSATISFIES": [ + -1, + 466 + ], + "'RAISESVIOLATES": [ + -1, + 466 + ], + "'RAISESNOT": [ + -1, + 466 + ], + "'DOTDOTDOT": [ + -1, + 466 + ], + "'NUMBER": [ + -1, + 466 + ], + "'RATIONAL": [ + -1, + 466 + ], + "'ROUGHRATIONAL": [ + -1, + 466 + ], + "'TRUE": [ + -1, + 466 + ], + "'FALSE": [ + -1, + 466 + ], + "'LAM": [ + -1, + 466 + ], + "'METHOD": [ + -1, + 466 + ], + "'LBRACK": [ + -1, + 466 + ], + "'RBRACK": [ + -1, + 466 + ], + "'TABLE": [ + -1, + 466 + ], + "'ROW": [ + -1, + 466 + ], + "'REACTOR": [ + -1, + 466 + ], + "'BANG": [ + -1, + 466 + ], + "'IF": [ + -1, + 466 + ], + "'ELSECOLON": [ + -1, + 466 + ], + "'ELSEIF": [ + -1, + 466 + ], + "'ASK": [ + -1, + 466 + ], + "'THENCOLON": [ + -1, + 466 + ], + "'CASES": [ + -1, + 466 + ], + "'FOR": [ + -1, + 466 + ], + "'TABLE-SELECT": [ + -1, + 466 + ], + "'TABLE-FILTER": [ + -1, + 466 + ], + "'USING": [ + -1, + 466 + ], + "'TABLE-ORDER": [ + -1, + 466 + ], + "'TABLE-EXTRACT": [ + -1, + 466 + ], + "'TABLE-UPDATE": [ + -1, + 466 + ], + "'TABLE-EXTEND": [ + -1, + 466 + ], + "'OF": [ + -1, + 466 + ], + "'LOAD-TABLE": [ + -1, + 466 + ], + "'SOURCECOLON": [ + -1, + 466 + ], + "'SANITIZE": [ + -1, + 466 + ] + }, + { + "'COMMA": [ + 512 + ] + }, + { + "$": [ + -1, + 468 + ], + "'NAME": [ + -1, + 468 + ], + "'COLON": [ + -1, + 468 + ], + "'END": [ + -1, + 468 + ], + "'COMMA": [ + -1, + 468 + ], + "'PARENNOSPACE": [ + -1, + 468 + ], + "'STRING": [ + -1, + 468 + ], + "'RPAREN": [ + -1, + 468 + ], + "'TYPE": [ + -1, + 468 + ], + "'DATA": [ + -1, + 468 + ], + "'TIMES": [ + -1, + 468 + ], + "'PARENSPACE": [ + -1, + 468 + ], + "'DOT": [ + -1, + 468 + ], + "'SPY": [ + -1, + 468 + ], + "'NEWTYPE": [ + -1, + 468 + ], + "'LBRACE": [ + -1, + 468 + ], + "'RBRACE": [ + -1, + 468 + ], + "'SEMI": [ + -1, + 468 + ], + "'SHADOW": [ + -1, + 468 + ], + "'LET": [ + -1, + 468 + ], + "'BLOCK": [ + -1, + 468 + ], + "'LETREC": [ + -1, + 468 + ], + "'TYPE-LET": [ + -1, + 468 + ], + "'FUN": [ + -1, + 468 + ], + "'LANGLE": [ + -1, + 468 + ], + "'LT": [ + -1, + 468 + ], + "'GT": [ + -1, + 468 + ], + "'PARENAFTERBRACE": [ + -1, + 468 + ], + "'WHERE": [ + -1, + 468 + ], + "'CHECK": [ + -1, + 468 + ], + "'EXAMPLES": [ + -1, + 468 + ], + "'CHECKCOLON": [ + -1, + 468 + ], + "'EXAMPLESCOLON": [ + -1, + 468 + ], + "'BECAUSE": [ + -1, + 468 + ], + "'BAR": [ + -1, + 468 + ], + "'SHARING": [ + -1, + 468 + ], + "'VAR": [ + -1, + 468 + ], + "'REC": [ + -1, + 468 + ], + "'WHEN": [ + -1, + 468 + ], + "'PLUS": [ + -1, + 468 + ], + "'DASH": [ + -1, + 468 + ], + "'SLASH": [ + -1, + 468 + ], + "'LEQ": [ + -1, + 468 + ], + "'GEQ": [ + -1, + 468 + ], + "'EQUALEQUAL": [ + -1, + 468 + ], + "'SPACESHIP": [ + -1, + 468 + ], + "'EQUALTILDE": [ + -1, + 468 + ], + "'NEQ": [ + -1, + 468 + ], + "'AND": [ + -1, + 468 + ], + "'OR": [ + -1, + 468 + ], + "'CARET": [ + -1, + 468 + ], + "'IS": [ + -1, + 468 + ], + "'ISEQUALEQUAL": [ + -1, + 468 + ], + "'ISEQUALTILDE": [ + -1, + 468 + ], + "'ISSPACESHIP": [ + -1, + 468 + ], + "'ISROUGHLY": [ + -1, + 468 + ], + "'ISNOT": [ + -1, + 468 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 468 + ], + "'ISNOTEQUALTILDE": [ + -1, + 468 + ], + "'ISNOTSPACESHIP": [ + -1, + 468 + ], + "'RAISES": [ + -1, + 468 + ], + "'RAISESOTHER": [ + -1, + 468 + ], + "'SATISFIES": [ + -1, + 468 + ], + "'SATISFIESNOT": [ + -1, + 468 + ], + "'RAISESSATISFIES": [ + -1, + 468 + ], + "'RAISESVIOLATES": [ + -1, + 468 + ], + "'RAISESNOT": [ + -1, + 468 + ], + "'DOTDOTDOT": [ + -1, + 468 + ], + "'NUMBER": [ + -1, + 468 + ], + "'RATIONAL": [ + -1, + 468 + ], + "'ROUGHRATIONAL": [ + -1, + 468 + ], + "'TRUE": [ + -1, + 468 + ], + "'FALSE": [ + -1, + 468 + ], + "'LAM": [ + -1, + 468 + ], + "'METHOD": [ + -1, + 468 + ], + "'LBRACK": [ + -1, + 468 + ], + "'RBRACK": [ + -1, + 468 + ], + "'TABLE": [ + -1, + 468 + ], + "'ROW": [ + -1, + 468 + ], + "'REACTOR": [ + -1, + 468 + ], + "'BANG": [ + -1, + 468 + ], + "'IF": [ + -1, + 468 + ], + "'ELSECOLON": [ + -1, + 468 + ], + "'ELSEIF": [ + -1, + 468 + ], + "'ASK": [ + -1, + 468 + ], + "'THENCOLON": [ + -1, + 468 + ], + "'CASES": [ + -1, + 468 + ], + "'FOR": [ + -1, + 468 + ], + "'TABLE-SELECT": [ + -1, + 468 + ], + "'TABLE-FILTER": [ + -1, + 468 + ], + "'USING": [ + -1, + 468 + ], + "'TABLE-ORDER": [ + -1, + 468 + ], + "'TABLE-EXTRACT": [ + -1, + 468 + ], + "'TABLE-UPDATE": [ + -1, + 468 + ], + "'TABLE-EXTEND": [ + -1, + 468 + ], + "'OF": [ + -1, + 468 + ], + "'LOAD-TABLE": [ + -1, + 468 + ], + "'SOURCECOLON": [ + -1, + 468 + ], + "'SANITIZE": [ + -1, + 468 + ] + }, + { + "'NAME": [ + 291 + ], + "fields": [ + 513 + ], + "'NUMBER": [ + 514 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 378 + ] + }, + { + "'DOT": [ + 515 + ], + "$": [ + -1, + 470 + ], + "'NAME": [ + -1, + 470 + ], + "'FROM": [ + -1, + 470 + ], + "'COLON": [ + -1, + 470 + ], + "'END": [ + -1, + 470 + ], + "'COMMA": [ + -1, + 470 + ], + "'STRING": [ + -1, + 470 + ], + "'RPAREN": [ + -1, + 470 + ], + "'TYPE": [ + -1, + 470 + ], + "'DATA": [ + -1, + 470 + ], + "'PARENSPACE": [ + -1, + 470 + ], + "'SPY": [ + -1, + 470 + ], + "'EQUALS": [ + -1, + 470 + ], + "'NEWTYPE": [ + -1, + 470 + ], + "'LBRACE": [ + -1, + 470 + ], + "'RBRACE": [ + -1, + 470 + ], + "'SEMI": [ + -1, + 470 + ], + "'SHADOW": [ + -1, + 470 + ], + "'LET": [ + -1, + 470 + ], + "'BLOCK": [ + -1, + 470 + ], + "'LETREC": [ + -1, + 470 + ], + "'TYPE-LET": [ + -1, + 470 + ], + "'FUN": [ + -1, + 470 + ], + "'LANGLE": [ + -1, + 470 + ], + "'RANGLE": [ + -1, + 470 + ], + "'GT": [ + -1, + 470 + ], + "'PARENAFTERBRACE": [ + -1, + 470 + ], + "'THINARROW": [ + -1, + 470 + ], + "'WHERE": [ + -1, + 470 + ], + "'CHECK": [ + -1, + 470 + ], + "'EXAMPLES": [ + -1, + 470 + ], + "'CHECKCOLON": [ + -1, + 470 + ], + "'EXAMPLESCOLON": [ + -1, + 470 + ], + "'PERCENT": [ + -1, + 470 + ], + "'BAR": [ + -1, + 470 + ], + "'VAR": [ + -1, + 470 + ], + "'REC": [ + -1, + 470 + ], + "'WHEN": [ + -1, + 470 + ], + "'DOTDOTDOT": [ + -1, + 470 + ], + "'NUMBER": [ + -1, + 470 + ], + "'RATIONAL": [ + -1, + 470 + ], + "'ROUGHRATIONAL": [ + -1, + 470 + ], + "'TRUE": [ + -1, + 470 + ], + "'FALSE": [ + -1, + 470 + ], + "'LAM": [ + -1, + 470 + ], + "'METHOD": [ + -1, + 470 + ], + "'LBRACK": [ + -1, + 470 + ], + "'TABLE": [ + -1, + 470 + ], + "'ROW": [ + -1, + 470 + ], + "'REACTOR": [ + -1, + 470 + ], + "'IF": [ + -1, + 470 + ], + "'ELSECOLON": [ + -1, + 470 + ], + "'ELSEIF": [ + -1, + 470 + ], + "'ASK": [ + -1, + 470 + ], + "'CASES": [ + -1, + 470 + ], + "'FOR": [ + -1, + 470 + ], + "'TABLE-SELECT": [ + -1, + 470 + ], + "'TABLE-FILTER": [ + -1, + 470 + ], + "'TABLE-ORDER": [ + -1, + 470 + ], + "'TABLE-EXTRACT": [ + -1, + 470 + ], + "'TABLE-UPDATE": [ + -1, + 470 + ], + "'TABLE-EXTEND": [ + -1, + 470 + ], + "'LOAD-TABLE": [ + -1, + 470 + ], + "'SOURCECOLON": [ + -1, + 470 + ], + "'SANITIZE": [ + -1, + 470 + ] + }, + { + "'NAME": [ + -1, + 472 + ], + "'PARENNOSPACE": [ + -1, + 472 + ], + "'PARENSPACE": [ + -1, + 472 + ], + "'LBRACE": [ + -1, + 472 + ], + "'PARENAFTERBRACE": [ + -1, + 472 + ], + "'THINARROW": [ + -1, + 472 + ] + }, + { + "$": [ + -1, + 474 + ], + "'NAME": [ + -1, + 474 + ], + "'FROM": [ + -1, + 474 + ], + "'COLON": [ + -1, + 474 + ], + "'END": [ + -1, + 474 + ], + "'COMMA": [ + -1, + 474 + ], + "'STRING": [ + -1, + 474 + ], + "'RPAREN": [ + -1, + 474 + ], + "'TYPE": [ + -1, + 474 + ], + "'DATA": [ + -1, + 474 + ], + "'PARENSPACE": [ + -1, + 474 + ], + "'SPY": [ + -1, + 474 + ], + "'EQUALS": [ + -1, + 474 + ], + "'NEWTYPE": [ + -1, + 474 + ], + "'LBRACE": [ + -1, + 474 + ], + "'RBRACE": [ + -1, + 474 + ], + "'SEMI": [ + -1, + 474 + ], + "'SHADOW": [ + -1, + 474 + ], + "'LET": [ + -1, + 474 + ], + "'BLOCK": [ + -1, + 474 + ], + "'LETREC": [ + -1, + 474 + ], + "'TYPE-LET": [ + -1, + 474 + ], + "'FUN": [ + -1, + 474 + ], + "'RANGLE": [ + -1, + 474 + ], + "'GT": [ + -1, + 474 + ], + "'PARENAFTERBRACE": [ + -1, + 474 + ], + "'THINARROW": [ + -1, + 474 + ], + "'WHERE": [ + -1, + 474 + ], + "'CHECK": [ + -1, + 474 + ], + "'EXAMPLES": [ + -1, + 474 + ], + "'CHECKCOLON": [ + -1, + 474 + ], + "'EXAMPLESCOLON": [ + -1, + 474 + ], + "'PERCENT": [ + -1, + 474 + ], + "'BAR": [ + -1, + 474 + ], + "'VAR": [ + -1, + 474 + ], + "'REC": [ + -1, + 474 + ], + "'WHEN": [ + -1, + 474 + ], + "'DOTDOTDOT": [ + -1, + 474 + ], + "'NUMBER": [ + -1, + 474 + ], + "'RATIONAL": [ + -1, + 474 + ], + "'ROUGHRATIONAL": [ + -1, + 474 + ], + "'TRUE": [ + -1, + 474 + ], + "'FALSE": [ + -1, + 474 + ], + "'LAM": [ + -1, + 474 + ], + "'METHOD": [ + -1, + 474 + ], + "'LBRACK": [ + -1, + 474 + ], + "'TABLE": [ + -1, + 474 + ], + "'ROW": [ + -1, + 474 + ], + "'REACTOR": [ + -1, + 474 + ], + "'IF": [ + -1, + 474 + ], + "'ELSECOLON": [ + -1, + 474 + ], + "'ELSEIF": [ + -1, + 474 + ], + "'ASK": [ + -1, + 474 + ], + "'CASES": [ + -1, + 474 + ], + "'FOR": [ + -1, + 474 + ], + "'TABLE-SELECT": [ + -1, + 474 + ], + "'TABLE-FILTER": [ + -1, + 474 + ], + "'TABLE-ORDER": [ + -1, + 474 + ], + "'TABLE-EXTRACT": [ + -1, + 474 + ], + "'TABLE-UPDATE": [ + -1, + 474 + ], + "'TABLE-EXTEND": [ + -1, + 474 + ], + "'LOAD-TABLE": [ + -1, + 474 + ], + "'SOURCECOLON": [ + -1, + 474 + ], + "'SANITIZE": [ + -1, + 474 + ] + }, + { + "'NAME": [ + -1, + 476 + ], + "'PARENNOSPACE": [ + -1, + 476 + ], + "'PARENSPACE": [ + -1, + 476 + ], + "'LBRACE": [ + -1, + 476 + ], + "'PARENAFTERBRACE": [ + -1, + 476 + ], + "'THINARROW": [ + -1, + 476 + ] + }, + { + "'PERCENT": [ + 516 + ], + "inst-expr_I3*": [ + 517 + ], + "'COMMA": [ + -1, + 478 + ], + "'RANGLE": [ + -1, + 478 + ], + "'GT": [ + -1, + 478 + ] + }, + { + "'NAME": [ + 518 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 519 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "comma-ann-field": [ + 405 + ], + "ann-field": [ + 406 + ], + "trailing-opt-comma-ann-field": [ + 407 + ], + "trailing-opt-comma-ann-field_I0": [ + 408 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ], + "'RBRACE": [ + -1, + 358, + 360 + ] + }, + { + "'NAME": [ + -1, + 480 + ], + "'PARENNOSPACE": [ + -1, + 480 + ], + "'PARENSPACE": [ + -1, + 480 + ], + "'LBRACE": [ + -1, + 480 + ], + "'PARENAFTERBRACE": [ + -1, + 480 + ], + "'THINARROW": [ + -1, + 480 + ] + }, + { + "$": [ + -1, + 482 + ], + "'NAME": [ + -1, + 482 + ], + "'FROM": [ + -1, + 482 + ], + "'COLON": [ + -1, + 482 + ], + "'END": [ + -1, + 482 + ], + "'COMMA": [ + -1, + 482 + ], + "'STRING": [ + -1, + 482 + ], + "'RPAREN": [ + -1, + 482 + ], + "'TYPE": [ + -1, + 482 + ], + "'DATA": [ + -1, + 482 + ], + "'PARENSPACE": [ + -1, + 482 + ], + "'SPY": [ + -1, + 482 + ], + "'EQUALS": [ + -1, + 482 + ], + "'NEWTYPE": [ + -1, + 482 + ], + "'LBRACE": [ + -1, + 482 + ], + "'RBRACE": [ + -1, + 482 + ], + "'SEMI": [ + -1, + 482 + ], + "'SHADOW": [ + -1, + 482 + ], + "'LET": [ + -1, + 482 + ], + "'BLOCK": [ + -1, + 482 + ], + "'LETREC": [ + -1, + 482 + ], + "'TYPE-LET": [ + -1, + 482 + ], + "'FUN": [ + -1, + 482 + ], + "'LANGLE": [ + -1, + 484 + ], + "'RANGLE": [ + -1, + 482 + ], + "'GT": [ + -1, + 482 + ], + "'PARENAFTERBRACE": [ + -1, + 482 + ], + "'THINARROW": [ + -1, + 482 + ], + "'WHERE": [ + -1, + 482 + ], + "'CHECK": [ + -1, + 482 + ], + "'EXAMPLES": [ + -1, + 482 + ], + "'CHECKCOLON": [ + -1, + 482 + ], + "'EXAMPLESCOLON": [ + -1, + 482 + ], + "'PERCENT": [ + -1, + 482 + ], + "'BAR": [ + -1, + 482 + ], + "'VAR": [ + -1, + 482 + ], + "'REC": [ + -1, + 482 + ], + "'WHEN": [ + -1, + 482 + ], + "'DOTDOTDOT": [ + -1, + 482 + ], + "'NUMBER": [ + -1, + 482 + ], + "'RATIONAL": [ + -1, + 482 + ], + "'ROUGHRATIONAL": [ + -1, + 482 + ], + "'TRUE": [ + -1, + 482 + ], + "'FALSE": [ + -1, + 482 + ], + "'LAM": [ + -1, + 482 + ], + "'METHOD": [ + -1, + 482 + ], + "'LBRACK": [ + -1, + 482 + ], + "'TABLE": [ + -1, + 482 + ], + "'ROW": [ + -1, + 482 + ], + "'REACTOR": [ + -1, + 482 + ], + "'IF": [ + -1, + 482 + ], + "'ELSECOLON": [ + -1, + 482 + ], + "'ELSEIF": [ + -1, + 482 + ], + "'ASK": [ + -1, + 482 + ], + "'CASES": [ + -1, + 482 + ], + "'FOR": [ + -1, + 482 + ], + "'TABLE-SELECT": [ + -1, + 482 + ], + "'TABLE-FILTER": [ + -1, + 482 + ], + "'TABLE-ORDER": [ + -1, + 482 + ], + "'TABLE-EXTRACT": [ + -1, + 482 + ], + "'TABLE-UPDATE": [ + -1, + 482 + ], + "'TABLE-EXTEND": [ + -1, + 482 + ], + "'LOAD-TABLE": [ + -1, + 482 + ], + "'SOURCECOLON": [ + -1, + 482 + ], + "'SANITIZE": [ + -1, + 482 + ] + }, + { + "$": [ + -1, + 486 + ], + "'NAME": [ + -1, + 486 + ], + "'FROM": [ + -1, + 486 + ], + "'COLON": [ + -1, + 486 + ], + "'END": [ + -1, + 486 + ], + "'COMMA": [ + -1, + 486 + ], + "'STRING": [ + -1, + 486 + ], + "'RPAREN": [ + -1, + 486 + ], + "'TYPE": [ + -1, + 486 + ], + "'DATA": [ + -1, + 486 + ], + "'PARENSPACE": [ + -1, + 486 + ], + "'SPY": [ + -1, + 486 + ], + "'EQUALS": [ + -1, + 486 + ], + "'NEWTYPE": [ + -1, + 486 + ], + "'LBRACE": [ + -1, + 486 + ], + "'RBRACE": [ + -1, + 486 + ], + "'SEMI": [ + -1, + 486 + ], + "'SHADOW": [ + -1, + 486 + ], + "'LET": [ + -1, + 486 + ], + "'BLOCK": [ + -1, + 486 + ], + "'LETREC": [ + -1, + 486 + ], + "'TYPE-LET": [ + -1, + 486 + ], + "'FUN": [ + -1, + 486 + ], + "'RANGLE": [ + -1, + 486 + ], + "'GT": [ + -1, + 486 + ], + "'PARENAFTERBRACE": [ + -1, + 486 + ], + "'THINARROW": [ + -1, + 486 + ], + "'WHERE": [ + -1, + 486 + ], + "'CHECK": [ + -1, + 486 + ], + "'EXAMPLES": [ + -1, + 486 + ], + "'CHECKCOLON": [ + -1, + 486 + ], + "'EXAMPLESCOLON": [ + -1, + 486 + ], + "'PERCENT": [ + -1, + 486 + ], + "'BAR": [ + -1, + 486 + ], + "'VAR": [ + -1, + 486 + ], + "'REC": [ + -1, + 486 + ], + "'WHEN": [ + -1, + 486 + ], + "'DOTDOTDOT": [ + -1, + 486 + ], + "'NUMBER": [ + -1, + 486 + ], + "'RATIONAL": [ + -1, + 486 + ], + "'ROUGHRATIONAL": [ + -1, + 486 + ], + "'TRUE": [ + -1, + 486 + ], + "'FALSE": [ + -1, + 486 + ], + "'LAM": [ + -1, + 486 + ], + "'METHOD": [ + -1, + 486 + ], + "'LBRACK": [ + -1, + 486 + ], + "'TABLE": [ + -1, + 486 + ], + "'ROW": [ + -1, + 486 + ], + "'REACTOR": [ + -1, + 486 + ], + "'IF": [ + -1, + 486 + ], + "'ELSECOLON": [ + -1, + 486 + ], + "'ELSEIF": [ + -1, + 486 + ], + "'ASK": [ + -1, + 486 + ], + "'CASES": [ + -1, + 486 + ], + "'FOR": [ + -1, + 486 + ], + "'TABLE-SELECT": [ + -1, + 486 + ], + "'TABLE-FILTER": [ + -1, + 486 + ], + "'TABLE-ORDER": [ + -1, + 486 + ], + "'TABLE-EXTRACT": [ + -1, + 486 + ], + "'TABLE-UPDATE": [ + -1, + 486 + ], + "'TABLE-EXTEND": [ + -1, + 486 + ], + "'LOAD-TABLE": [ + -1, + 486 + ], + "'SOURCECOLON": [ + -1, + 486 + ], + "'SANITIZE": [ + -1, + 486 + ] + }, + { + "$": [ + -1, + 488 + ], + "'NAME": [ + -1, + 488 + ], + "'FROM": [ + -1, + 488 + ], + "'COLON": [ + -1, + 488 + ], + "'END": [ + -1, + 488 + ], + "'COMMA": [ + -1, + 488 + ], + "'STRING": [ + -1, + 488 + ], + "'RPAREN": [ + -1, + 488 + ], + "'TYPE": [ + -1, + 488 + ], + "'DATA": [ + -1, + 488 + ], + "'PARENSPACE": [ + -1, + 488 + ], + "'SPY": [ + -1, + 488 + ], + "'EQUALS": [ + -1, + 488 + ], + "'NEWTYPE": [ + -1, + 488 + ], + "'LBRACE": [ + -1, + 488 + ], + "'RBRACE": [ + -1, + 488 + ], + "'SEMI": [ + -1, + 488 + ], + "'SHADOW": [ + -1, + 488 + ], + "'LET": [ + -1, + 488 + ], + "'BLOCK": [ + -1, + 488 + ], + "'LETREC": [ + -1, + 488 + ], + "'TYPE-LET": [ + -1, + 488 + ], + "'FUN": [ + -1, + 488 + ], + "'RANGLE": [ + -1, + 488 + ], + "'GT": [ + -1, + 488 + ], + "'PARENAFTERBRACE": [ + -1, + 488 + ], + "'THINARROW": [ + -1, + 488 + ], + "'WHERE": [ + -1, + 488 + ], + "'CHECK": [ + -1, + 488 + ], + "'EXAMPLES": [ + -1, + 488 + ], + "'CHECKCOLON": [ + -1, + 488 + ], + "'EXAMPLESCOLON": [ + -1, + 488 + ], + "'PERCENT": [ + -1, + 488 + ], + "'BAR": [ + -1, + 488 + ], + "'VAR": [ + -1, + 488 + ], + "'REC": [ + -1, + 488 + ], + "'WHEN": [ + -1, + 488 + ], + "'DOTDOTDOT": [ + -1, + 488 + ], + "'NUMBER": [ + -1, + 488 + ], + "'RATIONAL": [ + -1, + 488 + ], + "'ROUGHRATIONAL": [ + -1, + 488 + ], + "'TRUE": [ + -1, + 488 + ], + "'FALSE": [ + -1, + 488 + ], + "'LAM": [ + -1, + 488 + ], + "'METHOD": [ + -1, + 488 + ], + "'LBRACK": [ + -1, + 488 + ], + "'TABLE": [ + -1, + 488 + ], + "'ROW": [ + -1, + 488 + ], + "'REACTOR": [ + -1, + 488 + ], + "'IF": [ + -1, + 488 + ], + "'ELSECOLON": [ + -1, + 488 + ], + "'ELSEIF": [ + -1, + 488 + ], + "'ASK": [ + -1, + 488 + ], + "'CASES": [ + -1, + 488 + ], + "'FOR": [ + -1, + 488 + ], + "'TABLE-SELECT": [ + -1, + 488 + ], + "'TABLE-FILTER": [ + -1, + 488 + ], + "'TABLE-ORDER": [ + -1, + 488 + ], + "'TABLE-EXTRACT": [ + -1, + 488 + ], + "'TABLE-UPDATE": [ + -1, + 488 + ], + "'TABLE-EXTEND": [ + -1, + 488 + ], + "'LOAD-TABLE": [ + -1, + 488 + ], + "'SOURCECOLON": [ + -1, + 488 + ], + "'SANITIZE": [ + -1, + 488 + ] + }, + { + "$": [ + -1, + 490 + ], + "'NAME": [ + -1, + 490 + ], + "'FROM": [ + -1, + 490 + ], + "'COLON": [ + -1, + 490 + ], + "'END": [ + -1, + 490 + ], + "'COMMA": [ + -1, + 490 + ], + "'STRING": [ + -1, + 490 + ], + "'RPAREN": [ + -1, + 490 + ], + "'TYPE": [ + -1, + 490 + ], + "'DATA": [ + -1, + 490 + ], + "'PARENSPACE": [ + -1, + 490 + ], + "'SPY": [ + -1, + 490 + ], + "'EQUALS": [ + -1, + 490 + ], + "'NEWTYPE": [ + -1, + 490 + ], + "'LBRACE": [ + -1, + 490 + ], + "'RBRACE": [ + -1, + 490 + ], + "'SEMI": [ + -1, + 490 + ], + "'SHADOW": [ + -1, + 490 + ], + "'LET": [ + -1, + 490 + ], + "'BLOCK": [ + -1, + 490 + ], + "'LETREC": [ + -1, + 490 + ], + "'TYPE-LET": [ + -1, + 490 + ], + "'FUN": [ + -1, + 490 + ], + "'RANGLE": [ + -1, + 490 + ], + "'GT": [ + -1, + 490 + ], + "'PARENAFTERBRACE": [ + -1, + 490 + ], + "'THINARROW": [ + -1, + 490 + ], + "'WHERE": [ + -1, + 490 + ], + "'CHECK": [ + -1, + 490 + ], + "'EXAMPLES": [ + -1, + 490 + ], + "'CHECKCOLON": [ + -1, + 490 + ], + "'EXAMPLESCOLON": [ + -1, + 490 + ], + "'PERCENT": [ + -1, + 490 + ], + "'BAR": [ + -1, + 490 + ], + "'VAR": [ + -1, + 490 + ], + "'REC": [ + -1, + 490 + ], + "'WHEN": [ + -1, + 490 + ], + "'DOTDOTDOT": [ + -1, + 490 + ], + "'NUMBER": [ + -1, + 490 + ], + "'RATIONAL": [ + -1, + 490 + ], + "'ROUGHRATIONAL": [ + -1, + 490 + ], + "'TRUE": [ + -1, + 490 + ], + "'FALSE": [ + -1, + 490 + ], + "'LAM": [ + -1, + 490 + ], + "'METHOD": [ + -1, + 490 + ], + "'LBRACK": [ + -1, + 490 + ], + "'TABLE": [ + -1, + 490 + ], + "'ROW": [ + -1, + 490 + ], + "'REACTOR": [ + -1, + 490 + ], + "'IF": [ + -1, + 490 + ], + "'ELSECOLON": [ + -1, + 490 + ], + "'ELSEIF": [ + -1, + 490 + ], + "'ASK": [ + -1, + 490 + ], + "'CASES": [ + -1, + 490 + ], + "'FOR": [ + -1, + 490 + ], + "'TABLE-SELECT": [ + -1, + 490 + ], + "'TABLE-FILTER": [ + -1, + 490 + ], + "'TABLE-ORDER": [ + -1, + 490 + ], + "'TABLE-EXTRACT": [ + -1, + 490 + ], + "'TABLE-UPDATE": [ + -1, + 490 + ], + "'TABLE-EXTEND": [ + -1, + 490 + ], + "'LOAD-TABLE": [ + -1, + 490 + ], + "'SOURCECOLON": [ + -1, + 490 + ], + "'SANITIZE": [ + -1, + 490 + ] + }, + { + "$": [ + -1, + 492 + ], + "'NAME": [ + -1, + 492 + ], + "'FROM": [ + -1, + 492 + ], + "'COLON": [ + -1, + 492 + ], + "'END": [ + -1, + 492 + ], + "'COMMA": [ + -1, + 492 + ], + "'STRING": [ + -1, + 492 + ], + "'RPAREN": [ + -1, + 492 + ], + "'TYPE": [ + -1, + 492 + ], + "'DATA": [ + -1, + 492 + ], + "'PARENSPACE": [ + -1, + 492 + ], + "'SPY": [ + -1, + 492 + ], + "'EQUALS": [ + -1, + 492 + ], + "'NEWTYPE": [ + -1, + 492 + ], + "'LBRACE": [ + -1, + 492 + ], + "'RBRACE": [ + -1, + 492 + ], + "'SEMI": [ + -1, + 492 + ], + "'SHADOW": [ + -1, + 492 + ], + "'LET": [ + -1, + 492 + ], + "'BLOCK": [ + -1, + 492 + ], + "'LETREC": [ + -1, + 492 + ], + "'TYPE-LET": [ + -1, + 492 + ], + "'FUN": [ + -1, + 492 + ], + "'LANGLE": [ + -1, + 494 + ], + "'RANGLE": [ + -1, + 492 + ], + "'GT": [ + -1, + 492 + ], + "'PARENAFTERBRACE": [ + -1, + 492 + ], + "'THINARROW": [ + -1, + 492 + ], + "'WHERE": [ + -1, + 492 + ], + "'CHECK": [ + -1, + 492 + ], + "'EXAMPLES": [ + -1, + 492 + ], + "'CHECKCOLON": [ + -1, + 492 + ], + "'EXAMPLESCOLON": [ + -1, + 492 + ], + "'PERCENT": [ + -1, + 492 + ], + "'BAR": [ + -1, + 492 + ], + "'VAR": [ + -1, + 492 + ], + "'REC": [ + -1, + 492 + ], + "'WHEN": [ + -1, + 492 + ], + "'DOTDOTDOT": [ + -1, + 492 + ], + "'NUMBER": [ + -1, + 492 + ], + "'RATIONAL": [ + -1, + 492 + ], + "'ROUGHRATIONAL": [ + -1, + 492 + ], + "'TRUE": [ + -1, + 492 + ], + "'FALSE": [ + -1, + 492 + ], + "'LAM": [ + -1, + 492 + ], + "'METHOD": [ + -1, + 492 + ], + "'LBRACK": [ + -1, + 492 + ], + "'TABLE": [ + -1, + 492 + ], + "'ROW": [ + -1, + 492 + ], + "'REACTOR": [ + -1, + 492 + ], + "'IF": [ + -1, + 492 + ], + "'ELSECOLON": [ + -1, + 492 + ], + "'ELSEIF": [ + -1, + 492 + ], + "'ASK": [ + -1, + 492 + ], + "'CASES": [ + -1, + 492 + ], + "'FOR": [ + -1, + 492 + ], + "'TABLE-SELECT": [ + -1, + 492 + ], + "'TABLE-FILTER": [ + -1, + 492 + ], + "'TABLE-ORDER": [ + -1, + 492 + ], + "'TABLE-EXTRACT": [ + -1, + 492 + ], + "'TABLE-UPDATE": [ + -1, + 492 + ], + "'TABLE-EXTEND": [ + -1, + 492 + ], + "'LOAD-TABLE": [ + -1, + 492 + ], + "'SOURCECOLON": [ + -1, + 492 + ], + "'SANITIZE": [ + -1, + 492 + ] + }, + { + "$": [ + -1, + 496 + ], + "'NAME": [ + -1, + 496 + ], + "'FROM": [ + -1, + 496 + ], + "'COLON": [ + -1, + 496 + ], + "'END": [ + -1, + 496 + ], + "'COMMA": [ + -1, + 496 + ], + "'STRING": [ + -1, + 496 + ], + "'RPAREN": [ + -1, + 496 + ], + "'TYPE": [ + -1, + 496 + ], + "'DATA": [ + -1, + 496 + ], + "'PARENSPACE": [ + -1, + 496 + ], + "'SPY": [ + -1, + 496 + ], + "'EQUALS": [ + -1, + 496 + ], + "'NEWTYPE": [ + -1, + 496 + ], + "'LBRACE": [ + -1, + 496 + ], + "'RBRACE": [ + -1, + 496 + ], + "'SEMI": [ + -1, + 496 + ], + "'SHADOW": [ + -1, + 496 + ], + "'LET": [ + -1, + 496 + ], + "'BLOCK": [ + -1, + 496 + ], + "'LETREC": [ + -1, + 496 + ], + "'TYPE-LET": [ + -1, + 496 + ], + "'FUN": [ + -1, + 496 + ], + "'RANGLE": [ + -1, + 496 + ], + "'GT": [ + -1, + 496 + ], + "'PARENAFTERBRACE": [ + -1, + 496 + ], + "'THINARROW": [ + -1, + 496 + ], + "'WHERE": [ + -1, + 496 + ], + "'CHECK": [ + -1, + 496 + ], + "'EXAMPLES": [ + -1, + 496 + ], + "'CHECKCOLON": [ + -1, + 496 + ], + "'EXAMPLESCOLON": [ + -1, + 496 + ], + "'PERCENT": [ + -1, + 496 + ], + "'BAR": [ + -1, + 496 + ], + "'VAR": [ + -1, + 496 + ], + "'REC": [ + -1, + 496 + ], + "'WHEN": [ + -1, + 496 + ], + "'DOTDOTDOT": [ + -1, + 496 + ], + "'NUMBER": [ + -1, + 496 + ], + "'RATIONAL": [ + -1, + 496 + ], + "'ROUGHRATIONAL": [ + -1, + 496 + ], + "'TRUE": [ + -1, + 496 + ], + "'FALSE": [ + -1, + 496 + ], + "'LAM": [ + -1, + 496 + ], + "'METHOD": [ + -1, + 496 + ], + "'LBRACK": [ + -1, + 496 + ], + "'TABLE": [ + -1, + 496 + ], + "'ROW": [ + -1, + 496 + ], + "'REACTOR": [ + -1, + 496 + ], + "'IF": [ + -1, + 496 + ], + "'ELSECOLON": [ + -1, + 496 + ], + "'ELSEIF": [ + -1, + 496 + ], + "'ASK": [ + -1, + 496 + ], + "'CASES": [ + -1, + 496 + ], + "'FOR": [ + -1, + 496 + ], + "'TABLE-SELECT": [ + -1, + 496 + ], + "'TABLE-FILTER": [ + -1, + 496 + ], + "'TABLE-ORDER": [ + -1, + 496 + ], + "'TABLE-EXTRACT": [ + -1, + 496 + ], + "'TABLE-UPDATE": [ + -1, + 496 + ], + "'TABLE-EXTEND": [ + -1, + 496 + ], + "'LOAD-TABLE": [ + -1, + 496 + ], + "'SOURCECOLON": [ + -1, + 496 + ], + "'SANITIZE": [ + -1, + 496 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 426 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 427 + ], + "ann": [ + 520 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 431 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann-args": [ + 521 + ], + "comma-anns": [ + 435 + ], + "arrow-ann-args_A1_I0": [ + 436 + ], + "arrow-ann_I0": [ + 337 + ], + "arrow-ann_I1?": [ + 522 + ], + "arrow-ann_I1": [ + 523 + ], + "app-ann_I0": [ + 338 + ], + "'THINARROW": [ + -1, + 498 + ] + }, + { + "'LANGLE": [ + 524 + ] + }, + { + "'NAME": [ + -1, + 500 + ], + "'STRING": [ + -1, + 500 + ], + "'PARENSPACE": [ + -1, + 500 + ], + "'LBRACE": [ + -1, + 500 + ], + "'LET": [ + -1, + 500 + ], + "'BLOCK": [ + -1, + 500 + ], + "'LETREC": [ + -1, + 500 + ], + "'TYPE-LET": [ + -1, + 500 + ], + "'PARENAFTERBRACE": [ + -1, + 500 + ], + "'DOTDOTDOT": [ + -1, + 500 + ], + "'NUMBER": [ + -1, + 500 + ], + "'RATIONAL": [ + -1, + 500 + ], + "'ROUGHRATIONAL": [ + -1, + 500 + ], + "'TRUE": [ + -1, + 500 + ], + "'FALSE": [ + -1, + 500 + ], + "'LAM": [ + -1, + 500 + ], + "'METHOD": [ + -1, + 500 + ], + "'LBRACK": [ + -1, + 500 + ], + "'TABLE": [ + -1, + 500 + ], + "'REACTOR": [ + -1, + 500 + ], + "'IF": [ + -1, + 500 + ], + "'ASK": [ + -1, + 500 + ], + "'CASES": [ + -1, + 500 + ], + "'FOR": [ + -1, + 500 + ], + "'TABLE-SELECT": [ + -1, + 500 + ], + "'TABLE-FILTER": [ + -1, + 500 + ], + "'TABLE-ORDER": [ + -1, + 500 + ], + "'TABLE-EXTRACT": [ + -1, + 500 + ], + "'TABLE-UPDATE": [ + -1, + 500 + ], + "'TABLE-EXTEND": [ + -1, + 500 + ], + "'LOAD-TABLE": [ + -1, + 500 + ] + }, + { + "'NAME": [ + -1, + 502 + ], + "'STRING": [ + -1, + 502 + ], + "'PARENSPACE": [ + -1, + 502 + ], + "'LBRACE": [ + -1, + 502 + ], + "'LET": [ + -1, + 502 + ], + "'BLOCK": [ + -1, + 502 + ], + "'LETREC": [ + -1, + 502 + ], + "'TYPE-LET": [ + -1, + 502 + ], + "'PARENAFTERBRACE": [ + -1, + 502 + ], + "'DOTDOTDOT": [ + -1, + 502 + ], + "'NUMBER": [ + -1, + 502 + ], + "'RATIONAL": [ + -1, + 502 + ], + "'ROUGHRATIONAL": [ + -1, + 502 + ], + "'TRUE": [ + -1, + 502 + ], + "'FALSE": [ + -1, + 502 + ], + "'LAM": [ + -1, + 502 + ], + "'METHOD": [ + -1, + 502 + ], + "'LBRACK": [ + -1, + 502 + ], + "'TABLE": [ + -1, + 502 + ], + "'REACTOR": [ + -1, + 502 + ], + "'IF": [ + -1, + 502 + ], + "'ASK": [ + -1, + 502 + ], + "'CASES": [ + -1, + 502 + ], + "'FOR": [ + -1, + 502 + ], + "'TABLE-SELECT": [ + -1, + 502 + ], + "'TABLE-FILTER": [ + -1, + 502 + ], + "'TABLE-ORDER": [ + -1, + 502 + ], + "'TABLE-EXTRACT": [ + -1, + 502 + ], + "'TABLE-UPDATE": [ + -1, + 502 + ], + "'TABLE-EXTEND": [ + -1, + 502 + ], + "'LOAD-TABLE": [ + -1, + 502 + ] + }, + { + "'NAME": [ + -1, + 504 + ], + "'STRING": [ + -1, + 504 + ], + "'PARENSPACE": [ + -1, + 504 + ], + "'LBRACE": [ + -1, + 504 + ], + "'LET": [ + -1, + 504 + ], + "'BLOCK": [ + -1, + 504 + ], + "'LETREC": [ + -1, + 504 + ], + "'TYPE-LET": [ + -1, + 504 + ], + "'PARENAFTERBRACE": [ + -1, + 504 + ], + "'DOTDOTDOT": [ + -1, + 504 + ], + "'NUMBER": [ + -1, + 504 + ], + "'RATIONAL": [ + -1, + 504 + ], + "'ROUGHRATIONAL": [ + -1, + 504 + ], + "'TRUE": [ + -1, + 504 + ], + "'FALSE": [ + -1, + 504 + ], + "'LAM": [ + -1, + 504 + ], + "'METHOD": [ + -1, + 504 + ], + "'LBRACK": [ + -1, + 504 + ], + "'TABLE": [ + -1, + 504 + ], + "'REACTOR": [ + -1, + 504 + ], + "'IF": [ + -1, + 504 + ], + "'ASK": [ + -1, + 504 + ], + "'CASES": [ + -1, + 504 + ], + "'FOR": [ + -1, + 504 + ], + "'TABLE-SELECT": [ + -1, + 504 + ], + "'TABLE-FILTER": [ + -1, + 504 + ], + "'TABLE-ORDER": [ + -1, + 504 + ], + "'TABLE-EXTRACT": [ + -1, + 504 + ], + "'TABLE-UPDATE": [ + -1, + 504 + ], + "'TABLE-EXTEND": [ + -1, + 504 + ], + "'LOAD-TABLE": [ + -1, + 504 + ] + }, + { + "$": [ + -1, + 506 + ], + "'NAME": [ + -1, + 506 + ], + "'COLON": [ + -1, + 506 + ], + "'END": [ + -1, + 506 + ], + "'COMMA": [ + -1, + 506 + ], + "'STRING": [ + -1, + 506 + ], + "'RPAREN": [ + -1, + 506 + ], + "'TYPE": [ + -1, + 506 + ], + "'DATA": [ + -1, + 506 + ], + "'TIMES": [ + -1, + 506 + ], + "'PARENSPACE": [ + -1, + 506 + ], + "'SPY": [ + -1, + 506 + ], + "'NEWTYPE": [ + -1, + 506 + ], + "'LBRACE": [ + -1, + 506 + ], + "'RBRACE": [ + -1, + 506 + ], + "'SEMI": [ + -1, + 506 + ], + "'SHADOW": [ + -1, + 506 + ], + "'LET": [ + -1, + 506 + ], + "'BLOCK": [ + -1, + 506 + ], + "'LETREC": [ + -1, + 506 + ], + "'TYPE-LET": [ + -1, + 506 + ], + "'FUN": [ + -1, + 506 + ], + "'LT": [ + -1, + 506 + ], + "'GT": [ + -1, + 506 + ], + "'PARENAFTERBRACE": [ + -1, + 506 + ], + "'WHERE": [ + -1, + 506 + ], + "'CHECK": [ + -1, + 506 + ], + "'EXAMPLES": [ + -1, + 506 + ], + "'CHECKCOLON": [ + -1, + 506 + ], + "'EXAMPLESCOLON": [ + -1, + 506 + ], + "'BECAUSE": [ + -1, + 506 + ], + "'BAR": [ + -1, + 506 + ], + "'SHARING": [ + -1, + 506 + ], + "'VAR": [ + -1, + 506 + ], + "'REC": [ + -1, + 506 + ], + "'WHEN": [ + -1, + 506 + ], + "'PLUS": [ + -1, + 506 + ], + "'DASH": [ + -1, + 506 + ], + "'SLASH": [ + -1, + 506 + ], + "'LEQ": [ + -1, + 506 + ], + "'GEQ": [ + -1, + 506 + ], + "'EQUALEQUAL": [ + -1, + 506 + ], + "'SPACESHIP": [ + -1, + 506 + ], + "'EQUALTILDE": [ + -1, + 506 + ], + "'NEQ": [ + -1, + 506 + ], + "'AND": [ + -1, + 506 + ], + "'OR": [ + -1, + 506 + ], + "'CARET": [ + -1, + 506 + ], + "'IS": [ + -1, + 506 + ], + "'ISEQUALEQUAL": [ + -1, + 506 + ], + "'ISEQUALTILDE": [ + -1, + 506 + ], + "'ISSPACESHIP": [ + -1, + 506 + ], + "'ISROUGHLY": [ + -1, + 506 + ], + "'ISNOT": [ + -1, + 506 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 506 + ], + "'ISNOTEQUALTILDE": [ + -1, + 506 + ], + "'ISNOTSPACESHIP": [ + -1, + 506 + ], + "'RAISES": [ + -1, + 506 + ], + "'RAISESOTHER": [ + -1, + 506 + ], + "'SATISFIES": [ + -1, + 506 + ], + "'SATISFIESNOT": [ + -1, + 506 + ], + "'RAISESSATISFIES": [ + -1, + 506 + ], + "'RAISESVIOLATES": [ + -1, + 506 + ], + "'RAISESNOT": [ + -1, + 506 + ], + "'DOTDOTDOT": [ + -1, + 506 + ], + "'NUMBER": [ + -1, + 506 + ], + "'RATIONAL": [ + -1, + 506 + ], + "'ROUGHRATIONAL": [ + -1, + 506 + ], + "'TRUE": [ + -1, + 506 + ], + "'FALSE": [ + -1, + 506 + ], + "'LAM": [ + -1, + 506 + ], + "'METHOD": [ + -1, + 506 + ], + "'LBRACK": [ + -1, + 506 + ], + "'RBRACK": [ + -1, + 506 + ], + "'TABLE": [ + -1, + 506 + ], + "'ROW": [ + -1, + 506 + ], + "'REACTOR": [ + -1, + 506 + ], + "'IF": [ + -1, + 506 + ], + "'ELSECOLON": [ + -1, + 506 + ], + "'ELSEIF": [ + -1, + 506 + ], + "'ASK": [ + -1, + 506 + ], + "'THENCOLON": [ + -1, + 506 + ], + "'CASES": [ + -1, + 506 + ], + "'FOR": [ + -1, + 506 + ], + "'TABLE-SELECT": [ + -1, + 506 + ], + "'TABLE-FILTER": [ + -1, + 506 + ], + "'TABLE-ORDER": [ + -1, + 506 + ], + "'TABLE-EXTRACT": [ + -1, + 506 + ], + "'TABLE-UPDATE": [ + -1, + 506 + ], + "'TABLE-EXTEND": [ + -1, + 506 + ], + "'LOAD-TABLE": [ + -1, + 506 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 525 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + -1, + 508 + ], + "'STRING": [ + -1, + 508 + ], + "'PARENSPACE": [ + -1, + 508 + ], + "'LBRACE": [ + -1, + 508 + ], + "'LET": [ + -1, + 508 + ], + "'BLOCK": [ + -1, + 508 + ], + "'LETREC": [ + -1, + 508 + ], + "'TYPE-LET": [ + -1, + 508 + ], + "'PARENAFTERBRACE": [ + -1, + 508 + ], + "'DOTDOTDOT": [ + -1, + 508 + ], + "'NUMBER": [ + -1, + 508 + ], + "'RATIONAL": [ + -1, + 508 + ], + "'ROUGHRATIONAL": [ + -1, + 508 + ], + "'TRUE": [ + -1, + 508 + ], + "'FALSE": [ + -1, + 508 + ], + "'LAM": [ + -1, + 508 + ], + "'METHOD": [ + -1, + 508 + ], + "'LBRACK": [ + -1, + 508 + ], + "'TABLE": [ + -1, + 508 + ], + "'REACTOR": [ + -1, + 508 + ], + "'IF": [ + -1, + 508 + ], + "'ASK": [ + -1, + 508 + ], + "'CASES": [ + -1, + 508 + ], + "'FOR": [ + -1, + 508 + ], + "'TABLE-SELECT": [ + -1, + 508 + ], + "'TABLE-FILTER": [ + -1, + 508 + ], + "'TABLE-ORDER": [ + -1, + 508 + ], + "'TABLE-EXTRACT": [ + -1, + 508 + ], + "'TABLE-UPDATE": [ + -1, + 508 + ], + "'TABLE-EXTEND": [ + -1, + 508 + ], + "'LOAD-TABLE": [ + -1, + 508 + ] + }, + { + "'NAME": [ + -1, + 510 + ], + "'STRING": [ + -1, + 510 + ], + "'PARENSPACE": [ + -1, + 510 + ], + "'LBRACE": [ + -1, + 510 + ], + "'LET": [ + -1, + 510 + ], + "'BLOCK": [ + -1, + 510 + ], + "'LETREC": [ + -1, + 510 + ], + "'TYPE-LET": [ + -1, + 510 + ], + "'PARENAFTERBRACE": [ + -1, + 510 + ], + "'DOTDOTDOT": [ + -1, + 510 + ], + "'NUMBER": [ + -1, + 510 + ], + "'RATIONAL": [ + -1, + 510 + ], + "'ROUGHRATIONAL": [ + -1, + 510 + ], + "'TRUE": [ + -1, + 510 + ], + "'FALSE": [ + -1, + 510 + ], + "'LAM": [ + -1, + 510 + ], + "'METHOD": [ + -1, + 510 + ], + "'LBRACK": [ + -1, + 510 + ], + "'TABLE": [ + -1, + 510 + ], + "'REACTOR": [ + -1, + 510 + ], + "'IF": [ + -1, + 510 + ], + "'ASK": [ + -1, + 510 + ], + "'CASES": [ + -1, + 510 + ], + "'FOR": [ + -1, + 510 + ], + "'TABLE-SELECT": [ + -1, + 510 + ], + "'TABLE-FILTER": [ + -1, + 510 + ], + "'TABLE-ORDER": [ + -1, + 510 + ], + "'TABLE-EXTRACT": [ + -1, + 510 + ], + "'TABLE-UPDATE": [ + -1, + 510 + ], + "'TABLE-EXTEND": [ + -1, + 510 + ], + "'LOAD-TABLE": [ + -1, + 510 + ] + }, + { + "'NAME": [ + -1, + 512 + ], + "'STRING": [ + -1, + 512 + ], + "'PARENSPACE": [ + -1, + 512 + ], + "'LBRACE": [ + -1, + 512 + ], + "'LET": [ + -1, + 512 + ], + "'BLOCK": [ + -1, + 512 + ], + "'LETREC": [ + -1, + 512 + ], + "'TYPE-LET": [ + -1, + 512 + ], + "'PARENAFTERBRACE": [ + -1, + 512 + ], + "'DOTDOTDOT": [ + -1, + 512 + ], + "'NUMBER": [ + -1, + 512 + ], + "'RATIONAL": [ + -1, + 512 + ], + "'ROUGHRATIONAL": [ + -1, + 512 + ], + "'TRUE": [ + -1, + 512 + ], + "'FALSE": [ + -1, + 512 + ], + "'LAM": [ + -1, + 512 + ], + "'METHOD": [ + -1, + 512 + ], + "'LBRACK": [ + -1, + 512 + ], + "'TABLE": [ + -1, + 512 + ], + "'REACTOR": [ + -1, + 512 + ], + "'IF": [ + -1, + 512 + ], + "'ASK": [ + -1, + 512 + ], + "'CASES": [ + -1, + 512 + ], + "'FOR": [ + -1, + 512 + ], + "'TABLE-SELECT": [ + -1, + 512 + ], + "'TABLE-FILTER": [ + -1, + 512 + ], + "'TABLE-ORDER": [ + -1, + 512 + ], + "'TABLE-EXTRACT": [ + -1, + 512 + ], + "'TABLE-UPDATE": [ + -1, + 512 + ], + "'TABLE-EXTEND": [ + -1, + 512 + ], + "'LOAD-TABLE": [ + -1, + 512 + ] + }, + { + "'NAME": [ + -1, + 514 + ], + "'STRING": [ + -1, + 514 + ], + "'PARENSPACE": [ + -1, + 514 + ], + "'LBRACE": [ + -1, + 514 + ], + "'LET": [ + -1, + 514 + ], + "'BLOCK": [ + -1, + 514 + ], + "'LETREC": [ + -1, + 514 + ], + "'TYPE-LET": [ + -1, + 514 + ], + "'PARENAFTERBRACE": [ + -1, + 514 + ], + "'DOTDOTDOT": [ + -1, + 514 + ], + "'NUMBER": [ + -1, + 514 + ], + "'RATIONAL": [ + -1, + 514 + ], + "'ROUGHRATIONAL": [ + -1, + 514 + ], + "'TRUE": [ + -1, + 514 + ], + "'FALSE": [ + -1, + 514 + ], + "'LAM": [ + -1, + 514 + ], + "'METHOD": [ + -1, + 514 + ], + "'LBRACK": [ + -1, + 514 + ], + "'TABLE": [ + -1, + 514 + ], + "'REACTOR": [ + -1, + 514 + ], + "'IF": [ + -1, + 514 + ], + "'ASK": [ + -1, + 514 + ], + "'CASES": [ + -1, + 514 + ], + "'FOR": [ + -1, + 514 + ], + "'TABLE-SELECT": [ + -1, + 514 + ], + "'TABLE-FILTER": [ + -1, + 514 + ], + "'TABLE-ORDER": [ + -1, + 514 + ], + "'TABLE-EXTRACT": [ + -1, + 514 + ], + "'TABLE-UPDATE": [ + -1, + 514 + ], + "'TABLE-EXTEND": [ + -1, + 514 + ], + "'LOAD-TABLE": [ + -1, + 514 + ] + }, + { + "'NAME": [ + -1, + 516 + ], + "'STRING": [ + -1, + 516 + ], + "'PARENSPACE": [ + -1, + 516 + ], + "'LBRACE": [ + -1, + 516 + ], + "'LET": [ + -1, + 516 + ], + "'BLOCK": [ + -1, + 516 + ], + "'LETREC": [ + -1, + 516 + ], + "'TYPE-LET": [ + -1, + 516 + ], + "'PARENAFTERBRACE": [ + -1, + 516 + ], + "'DOTDOTDOT": [ + -1, + 516 + ], + "'NUMBER": [ + -1, + 516 + ], + "'RATIONAL": [ + -1, + 516 + ], + "'ROUGHRATIONAL": [ + -1, + 516 + ], + "'TRUE": [ + -1, + 516 + ], + "'FALSE": [ + -1, + 516 + ], + "'LAM": [ + -1, + 516 + ], + "'METHOD": [ + -1, + 516 + ], + "'LBRACK": [ + -1, + 516 + ], + "'TABLE": [ + -1, + 516 + ], + "'REACTOR": [ + -1, + 516 + ], + "'IF": [ + -1, + 516 + ], + "'ASK": [ + -1, + 516 + ], + "'CASES": [ + -1, + 516 + ], + "'FOR": [ + -1, + 516 + ], + "'TABLE-SELECT": [ + -1, + 516 + ], + "'TABLE-FILTER": [ + -1, + 516 + ], + "'TABLE-ORDER": [ + -1, + 516 + ], + "'TABLE-EXTRACT": [ + -1, + 516 + ], + "'TABLE-UPDATE": [ + -1, + 516 + ], + "'TABLE-EXTEND": [ + -1, + 516 + ], + "'LOAD-TABLE": [ + -1, + 516 + ] + }, + { + "'NAME": [ + -1, + 518 + ], + "'STRING": [ + -1, + 518 + ], + "'PARENSPACE": [ + -1, + 518 + ], + "'LBRACE": [ + -1, + 518 + ], + "'LET": [ + -1, + 518 + ], + "'BLOCK": [ + -1, + 518 + ], + "'LETREC": [ + -1, + 518 + ], + "'TYPE-LET": [ + -1, + 518 + ], + "'PARENAFTERBRACE": [ + -1, + 518 + ], + "'DOTDOTDOT": [ + -1, + 518 + ], + "'NUMBER": [ + -1, + 518 + ], + "'RATIONAL": [ + -1, + 518 + ], + "'ROUGHRATIONAL": [ + -1, + 518 + ], + "'TRUE": [ + -1, + 518 + ], + "'FALSE": [ + -1, + 518 + ], + "'LAM": [ + -1, + 518 + ], + "'METHOD": [ + -1, + 518 + ], + "'LBRACK": [ + -1, + 518 + ], + "'TABLE": [ + -1, + 518 + ], + "'REACTOR": [ + -1, + 518 + ], + "'IF": [ + -1, + 518 + ], + "'ASK": [ + -1, + 518 + ], + "'CASES": [ + -1, + 518 + ], + "'FOR": [ + -1, + 518 + ], + "'TABLE-SELECT": [ + -1, + 518 + ], + "'TABLE-FILTER": [ + -1, + 518 + ], + "'TABLE-ORDER": [ + -1, + 518 + ], + "'TABLE-EXTRACT": [ + -1, + 518 + ], + "'TABLE-UPDATE": [ + -1, + 518 + ], + "'TABLE-EXTEND": [ + -1, + 518 + ], + "'LOAD-TABLE": [ + -1, + 518 + ] + }, + { + "'NAME": [ + -1, + 520 + ], + "'STRING": [ + -1, + 520 + ], + "'PARENSPACE": [ + -1, + 520 + ], + "'LBRACE": [ + -1, + 520 + ], + "'LET": [ + -1, + 520 + ], + "'BLOCK": [ + -1, + 520 + ], + "'LETREC": [ + -1, + 520 + ], + "'TYPE-LET": [ + -1, + 520 + ], + "'PARENAFTERBRACE": [ + -1, + 520 + ], + "'DOTDOTDOT": [ + -1, + 520 + ], + "'NUMBER": [ + -1, + 520 + ], + "'RATIONAL": [ + -1, + 520 + ], + "'ROUGHRATIONAL": [ + -1, + 520 + ], + "'TRUE": [ + -1, + 520 + ], + "'FALSE": [ + -1, + 520 + ], + "'LAM": [ + -1, + 520 + ], + "'METHOD": [ + -1, + 520 + ], + "'LBRACK": [ + -1, + 520 + ], + "'TABLE": [ + -1, + 520 + ], + "'REACTOR": [ + -1, + 520 + ], + "'IF": [ + -1, + 520 + ], + "'ASK": [ + -1, + 520 + ], + "'CASES": [ + -1, + 520 + ], + "'FOR": [ + -1, + 520 + ], + "'TABLE-SELECT": [ + -1, + 520 + ], + "'TABLE-FILTER": [ + -1, + 520 + ], + "'TABLE-ORDER": [ + -1, + 520 + ], + "'TABLE-EXTRACT": [ + -1, + 520 + ], + "'TABLE-UPDATE": [ + -1, + 520 + ], + "'TABLE-EXTEND": [ + -1, + 520 + ], + "'LOAD-TABLE": [ + -1, + 520 + ] + }, + { + "'NAME": [ + -1, + 522 + ], + "'STRING": [ + -1, + 522 + ], + "'PARENSPACE": [ + -1, + 522 + ], + "'LBRACE": [ + -1, + 522 + ], + "'LET": [ + -1, + 522 + ], + "'BLOCK": [ + -1, + 522 + ], + "'LETREC": [ + -1, + 522 + ], + "'TYPE-LET": [ + -1, + 522 + ], + "'PARENAFTERBRACE": [ + -1, + 522 + ], + "'DOTDOTDOT": [ + -1, + 522 + ], + "'NUMBER": [ + -1, + 522 + ], + "'RATIONAL": [ + -1, + 522 + ], + "'ROUGHRATIONAL": [ + -1, + 522 + ], + "'TRUE": [ + -1, + 522 + ], + "'FALSE": [ + -1, + 522 + ], + "'LAM": [ + -1, + 522 + ], + "'METHOD": [ + -1, + 522 + ], + "'LBRACK": [ + -1, + 522 + ], + "'TABLE": [ + -1, + 522 + ], + "'REACTOR": [ + -1, + 522 + ], + "'IF": [ + -1, + 522 + ], + "'ASK": [ + -1, + 522 + ], + "'CASES": [ + -1, + 522 + ], + "'FOR": [ + -1, + 522 + ], + "'TABLE-SELECT": [ + -1, + 522 + ], + "'TABLE-FILTER": [ + -1, + 522 + ], + "'TABLE-ORDER": [ + -1, + 522 + ], + "'TABLE-EXTRACT": [ + -1, + 522 + ], + "'TABLE-UPDATE": [ + -1, + 522 + ], + "'TABLE-EXTEND": [ + -1, + 522 + ], + "'LOAD-TABLE": [ + -1, + 522 + ] + }, + { + "'NAME": [ + -1, + 524 + ], + "'STRING": [ + -1, + 524 + ], + "'PARENSPACE": [ + -1, + 524 + ], + "'LBRACE": [ + -1, + 524 + ], + "'LET": [ + -1, + 524 + ], + "'BLOCK": [ + -1, + 524 + ], + "'LETREC": [ + -1, + 524 + ], + "'TYPE-LET": [ + -1, + 524 + ], + "'PARENAFTERBRACE": [ + -1, + 524 + ], + "'DOTDOTDOT": [ + -1, + 524 + ], + "'NUMBER": [ + -1, + 524 + ], + "'RATIONAL": [ + -1, + 524 + ], + "'ROUGHRATIONAL": [ + -1, + 524 + ], + "'TRUE": [ + -1, + 524 + ], + "'FALSE": [ + -1, + 524 + ], + "'LAM": [ + -1, + 524 + ], + "'METHOD": [ + -1, + 524 + ], + "'LBRACK": [ + -1, + 524 + ], + "'TABLE": [ + -1, + 524 + ], + "'REACTOR": [ + -1, + 524 + ], + "'IF": [ + -1, + 524 + ], + "'ASK": [ + -1, + 524 + ], + "'CASES": [ + -1, + 524 + ], + "'FOR": [ + -1, + 524 + ], + "'TABLE-SELECT": [ + -1, + 524 + ], + "'TABLE-FILTER": [ + -1, + 524 + ], + "'TABLE-ORDER": [ + -1, + 524 + ], + "'TABLE-EXTRACT": [ + -1, + 524 + ], + "'TABLE-UPDATE": [ + -1, + 524 + ], + "'TABLE-EXTEND": [ + -1, + 524 + ], + "'LOAD-TABLE": [ + -1, + 524 + ] + }, + { + "'NAME": [ + -1, + 526 + ], + "'STRING": [ + -1, + 526 + ], + "'PARENSPACE": [ + -1, + 526 + ], + "'LBRACE": [ + -1, + 526 + ], + "'LET": [ + -1, + 526 + ], + "'BLOCK": [ + -1, + 526 + ], + "'LETREC": [ + -1, + 526 + ], + "'TYPE-LET": [ + -1, + 526 + ], + "'PARENAFTERBRACE": [ + -1, + 526 + ], + "'DOTDOTDOT": [ + -1, + 526 + ], + "'NUMBER": [ + -1, + 526 + ], + "'RATIONAL": [ + -1, + 526 + ], + "'ROUGHRATIONAL": [ + -1, + 526 + ], + "'TRUE": [ + -1, + 526 + ], + "'FALSE": [ + -1, + 526 + ], + "'LAM": [ + -1, + 526 + ], + "'METHOD": [ + -1, + 526 + ], + "'LBRACK": [ + -1, + 526 + ], + "'TABLE": [ + -1, + 526 + ], + "'REACTOR": [ + -1, + 526 + ], + "'IF": [ + -1, + 526 + ], + "'ASK": [ + -1, + 526 + ], + "'CASES": [ + -1, + 526 + ], + "'FOR": [ + -1, + 526 + ], + "'TABLE-SELECT": [ + -1, + 526 + ], + "'TABLE-FILTER": [ + -1, + 526 + ], + "'TABLE-ORDER": [ + -1, + 526 + ], + "'TABLE-EXTRACT": [ + -1, + 526 + ], + "'TABLE-UPDATE": [ + -1, + 526 + ], + "'TABLE-EXTEND": [ + -1, + 526 + ], + "'LOAD-TABLE": [ + -1, + 526 + ] + }, + { + "'NAME": [ + -1, + 528 + ], + "'STRING": [ + -1, + 528 + ], + "'PARENSPACE": [ + -1, + 528 + ], + "'LBRACE": [ + -1, + 528 + ], + "'LET": [ + -1, + 528 + ], + "'BLOCK": [ + -1, + 528 + ], + "'LETREC": [ + -1, + 528 + ], + "'TYPE-LET": [ + -1, + 528 + ], + "'PARENAFTERBRACE": [ + -1, + 528 + ], + "'DOTDOTDOT": [ + -1, + 528 + ], + "'NUMBER": [ + -1, + 528 + ], + "'RATIONAL": [ + -1, + 528 + ], + "'ROUGHRATIONAL": [ + -1, + 528 + ], + "'TRUE": [ + -1, + 528 + ], + "'FALSE": [ + -1, + 528 + ], + "'LAM": [ + -1, + 528 + ], + "'METHOD": [ + -1, + 528 + ], + "'LBRACK": [ + -1, + 528 + ], + "'TABLE": [ + -1, + 528 + ], + "'REACTOR": [ + -1, + 528 + ], + "'IF": [ + -1, + 528 + ], + "'ASK": [ + -1, + 528 + ], + "'CASES": [ + -1, + 528 + ], + "'FOR": [ + -1, + 528 + ], + "'TABLE-SELECT": [ + -1, + 528 + ], + "'TABLE-FILTER": [ + -1, + 528 + ], + "'TABLE-ORDER": [ + -1, + 528 + ], + "'TABLE-EXTRACT": [ + -1, + 528 + ], + "'TABLE-UPDATE": [ + -1, + 528 + ], + "'TABLE-EXTEND": [ + -1, + 528 + ], + "'LOAD-TABLE": [ + -1, + 528 + ] + }, + { + "'NAME": [ + -1, + 530 + ], + "'STRING": [ + -1, + 530 + ], + "'PARENSPACE": [ + -1, + 530 + ], + "'LBRACE": [ + -1, + 530 + ], + "'LET": [ + -1, + 530 + ], + "'BLOCK": [ + -1, + 530 + ], + "'LETREC": [ + -1, + 530 + ], + "'TYPE-LET": [ + -1, + 530 + ], + "'PARENAFTERBRACE": [ + -1, + 530 + ], + "'DOTDOTDOT": [ + -1, + 530 + ], + "'NUMBER": [ + -1, + 530 + ], + "'RATIONAL": [ + -1, + 530 + ], + "'ROUGHRATIONAL": [ + -1, + 530 + ], + "'TRUE": [ + -1, + 530 + ], + "'FALSE": [ + -1, + 530 + ], + "'LAM": [ + -1, + 530 + ], + "'METHOD": [ + -1, + 530 + ], + "'LBRACK": [ + -1, + 530 + ], + "'TABLE": [ + -1, + 530 + ], + "'REACTOR": [ + -1, + 530 + ], + "'IF": [ + -1, + 530 + ], + "'ASK": [ + -1, + 530 + ], + "'CASES": [ + -1, + 530 + ], + "'FOR": [ + -1, + 530 + ], + "'TABLE-SELECT": [ + -1, + 530 + ], + "'TABLE-FILTER": [ + -1, + 530 + ], + "'TABLE-ORDER": [ + -1, + 530 + ], + "'TABLE-EXTRACT": [ + -1, + 530 + ], + "'TABLE-UPDATE": [ + -1, + 530 + ], + "'TABLE-EXTEND": [ + -1, + 530 + ], + "'LOAD-TABLE": [ + -1, + 530 + ] + }, + { + "'RBRACK": [ + 526 + ] + }, + { + "$": [ + -1, + 532 + ], + "'NAME": [ + -1, + 532 + ], + "'COLON": [ + -1, + 532 + ], + "'END": [ + -1, + 532 + ], + "'COMMA": [ + -1, + 532 + ], + "'PARENNOSPACE": [ + -1, + 532 + ], + "'STRING": [ + -1, + 532 + ], + "'RPAREN": [ + -1, + 532 + ], + "'TYPE": [ + -1, + 532 + ], + "'DATA": [ + -1, + 532 + ], + "'TIMES": [ + -1, + 532 + ], + "'PARENSPACE": [ + -1, + 532 + ], + "'DOT": [ + -1, + 532 + ], + "'SPY": [ + -1, + 532 + ], + "'NEWTYPE": [ + -1, + 532 + ], + "'LBRACE": [ + -1, + 532 + ], + "'RBRACE": [ + -1, + 532 + ], + "'SEMI": [ + -1, + 532 + ], + "'SHADOW": [ + -1, + 532 + ], + "'LET": [ + -1, + 532 + ], + "'BLOCK": [ + -1, + 532 + ], + "'LETREC": [ + -1, + 532 + ], + "'TYPE-LET": [ + -1, + 532 + ], + "'FUN": [ + -1, + 532 + ], + "'LANGLE": [ + -1, + 532 + ], + "'LT": [ + -1, + 532 + ], + "'GT": [ + -1, + 532 + ], + "'PARENAFTERBRACE": [ + -1, + 532 + ], + "'WHERE": [ + -1, + 532 + ], + "'CHECK": [ + -1, + 532 + ], + "'EXAMPLES": [ + -1, + 532 + ], + "'CHECKCOLON": [ + -1, + 532 + ], + "'EXAMPLESCOLON": [ + -1, + 532 + ], + "'BECAUSE": [ + -1, + 532 + ], + "'BAR": [ + -1, + 532 + ], + "'SHARING": [ + -1, + 532 + ], + "'VAR": [ + -1, + 532 + ], + "'REC": [ + -1, + 532 + ], + "'WHEN": [ + -1, + 532 + ], + "'PLUS": [ + -1, + 532 + ], + "'DASH": [ + -1, + 532 + ], + "'SLASH": [ + -1, + 532 + ], + "'LEQ": [ + -1, + 532 + ], + "'GEQ": [ + -1, + 532 + ], + "'EQUALEQUAL": [ + -1, + 532 + ], + "'SPACESHIP": [ + -1, + 532 + ], + "'EQUALTILDE": [ + -1, + 532 + ], + "'NEQ": [ + -1, + 532 + ], + "'AND": [ + -1, + 532 + ], + "'OR": [ + -1, + 532 + ], + "'CARET": [ + -1, + 532 + ], + "'IS": [ + -1, + 532 + ], + "'ISEQUALEQUAL": [ + -1, + 532 + ], + "'ISEQUALTILDE": [ + -1, + 532 + ], + "'ISSPACESHIP": [ + -1, + 532 + ], + "'ISROUGHLY": [ + -1, + 532 + ], + "'ISNOT": [ + -1, + 532 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 532 + ], + "'ISNOTEQUALTILDE": [ + -1, + 532 + ], + "'ISNOTSPACESHIP": [ + -1, + 532 + ], + "'RAISES": [ + -1, + 532 + ], + "'RAISESOTHER": [ + -1, + 532 + ], + "'SATISFIES": [ + -1, + 532 + ], + "'SATISFIESNOT": [ + -1, + 532 + ], + "'RAISESSATISFIES": [ + -1, + 532 + ], + "'RAISESVIOLATES": [ + -1, + 532 + ], + "'RAISESNOT": [ + -1, + 532 + ], + "'DOTDOTDOT": [ + -1, + 532 + ], + "'NUMBER": [ + -1, + 532 + ], + "'RATIONAL": [ + -1, + 532 + ], + "'ROUGHRATIONAL": [ + -1, + 532 + ], + "'TRUE": [ + -1, + 532 + ], + "'FALSE": [ + -1, + 532 + ], + "'LAM": [ + -1, + 532 + ], + "'METHOD": [ + -1, + 532 + ], + "'LBRACK": [ + -1, + 532 + ], + "'RBRACK": [ + -1, + 532 + ], + "'TABLE": [ + -1, + 532 + ], + "'ROW": [ + -1, + 532 + ], + "'REACTOR": [ + -1, + 532 + ], + "'BANG": [ + -1, + 532 + ], + "'IF": [ + -1, + 532 + ], + "'ELSECOLON": [ + -1, + 532 + ], + "'ELSEIF": [ + -1, + 532 + ], + "'ASK": [ + -1, + 532 + ], + "'THENCOLON": [ + -1, + 532 + ], + "'CASES": [ + -1, + 532 + ], + "'FOR": [ + -1, + 532 + ], + "'TABLE-SELECT": [ + -1, + 532 + ], + "'TABLE-FILTER": [ + -1, + 532 + ], + "'USING": [ + -1, + 532 + ], + "'TABLE-ORDER": [ + -1, + 532 + ], + "'TABLE-EXTRACT": [ + -1, + 532 + ], + "'TABLE-UPDATE": [ + -1, + 532 + ], + "'TABLE-EXTEND": [ + -1, + 532 + ], + "'OF": [ + -1, + 532 + ], + "'LOAD-TABLE": [ + -1, + 532 + ], + "'SOURCECOLON": [ + -1, + 532 + ], + "'SANITIZE": [ + -1, + 532 + ] + }, + { + "'NAME": [ + 291 + ], + "fields": [ + 527 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 378 + ] + }, + { + "$": [ + -1, + 534 + ], + "'NAME": [ + -1, + 534 + ], + "'COLON": [ + -1, + 534 + ], + "'END": [ + -1, + 534 + ], + "'COMMA": [ + -1, + 534 + ], + "'PARENNOSPACE": [ + -1, + 534 + ], + "'STRING": [ + -1, + 534 + ], + "'RPAREN": [ + -1, + 534 + ], + "'TYPE": [ + -1, + 534 + ], + "'DATA": [ + -1, + 534 + ], + "'TIMES": [ + -1, + 534 + ], + "'PARENSPACE": [ + -1, + 534 + ], + "'DOT": [ + -1, + 534 + ], + "'SPY": [ + -1, + 534 + ], + "'NEWTYPE": [ + -1, + 534 + ], + "'LBRACE": [ + -1, + 534 + ], + "'RBRACE": [ + -1, + 534 + ], + "'SEMI": [ + -1, + 534 + ], + "'SHADOW": [ + -1, + 534 + ], + "'LET": [ + -1, + 534 + ], + "'BLOCK": [ + -1, + 534 + ], + "'LETREC": [ + -1, + 534 + ], + "'TYPE-LET": [ + -1, + 534 + ], + "'FUN": [ + -1, + 534 + ], + "'LANGLE": [ + -1, + 534 + ], + "'LT": [ + -1, + 534 + ], + "'GT": [ + -1, + 534 + ], + "'PARENAFTERBRACE": [ + -1, + 534 + ], + "'WHERE": [ + -1, + 534 + ], + "'CHECK": [ + -1, + 534 + ], + "'EXAMPLES": [ + -1, + 534 + ], + "'CHECKCOLON": [ + -1, + 534 + ], + "'EXAMPLESCOLON": [ + -1, + 534 + ], + "'BECAUSE": [ + -1, + 534 + ], + "'BAR": [ + -1, + 534 + ], + "'SHARING": [ + -1, + 534 + ], + "'VAR": [ + -1, + 534 + ], + "'REC": [ + -1, + 534 + ], + "'WHEN": [ + -1, + 534 + ], + "'PLUS": [ + -1, + 534 + ], + "'DASH": [ + -1, + 534 + ], + "'SLASH": [ + -1, + 534 + ], + "'LEQ": [ + -1, + 534 + ], + "'GEQ": [ + -1, + 534 + ], + "'EQUALEQUAL": [ + -1, + 534 + ], + "'SPACESHIP": [ + -1, + 534 + ], + "'EQUALTILDE": [ + -1, + 534 + ], + "'NEQ": [ + -1, + 534 + ], + "'AND": [ + -1, + 534 + ], + "'OR": [ + -1, + 534 + ], + "'CARET": [ + -1, + 534 + ], + "'IS": [ + -1, + 534 + ], + "'ISEQUALEQUAL": [ + -1, + 534 + ], + "'ISEQUALTILDE": [ + -1, + 534 + ], + "'ISSPACESHIP": [ + -1, + 534 + ], + "'ISROUGHLY": [ + -1, + 534 + ], + "'ISNOT": [ + -1, + 534 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 534 + ], + "'ISNOTEQUALTILDE": [ + -1, + 534 + ], + "'ISNOTSPACESHIP": [ + -1, + 534 + ], + "'RAISES": [ + -1, + 534 + ], + "'RAISESOTHER": [ + -1, + 534 + ], + "'SATISFIES": [ + -1, + 534 + ], + "'SATISFIESNOT": [ + -1, + 534 + ], + "'RAISESSATISFIES": [ + -1, + 534 + ], + "'RAISESVIOLATES": [ + -1, + 534 + ], + "'RAISESNOT": [ + -1, + 534 + ], + "'DOTDOTDOT": [ + -1, + 534 + ], + "'NUMBER": [ + -1, + 534 + ], + "'RATIONAL": [ + -1, + 534 + ], + "'ROUGHRATIONAL": [ + -1, + 534 + ], + "'TRUE": [ + -1, + 534 + ], + "'FALSE": [ + -1, + 534 + ], + "'LAM": [ + -1, + 534 + ], + "'METHOD": [ + -1, + 534 + ], + "'LBRACK": [ + -1, + 534 + ], + "'RBRACK": [ + -1, + 534 + ], + "'TABLE": [ + -1, + 534 + ], + "'ROW": [ + -1, + 534 + ], + "'REACTOR": [ + -1, + 534 + ], + "'BANG": [ + -1, + 534 + ], + "'IF": [ + -1, + 534 + ], + "'ELSECOLON": [ + -1, + 534 + ], + "'ELSEIF": [ + -1, + 534 + ], + "'ASK": [ + -1, + 534 + ], + "'THENCOLON": [ + -1, + 534 + ], + "'CASES": [ + -1, + 534 + ], + "'FOR": [ + -1, + 534 + ], + "'TABLE-SELECT": [ + -1, + 534 + ], + "'TABLE-FILTER": [ + -1, + 534 + ], + "'USING": [ + -1, + 534 + ], + "'TABLE-ORDER": [ + -1, + 534 + ], + "'TABLE-EXTRACT": [ + -1, + 534 + ], + "'TABLE-UPDATE": [ + -1, + 534 + ], + "'TABLE-EXTEND": [ + -1, + 534 + ], + "'OF": [ + -1, + 534 + ], + "'LOAD-TABLE": [ + -1, + 534 + ], + "'SOURCECOLON": [ + -1, + 534 + ], + "'SANITIZE": [ + -1, + 534 + ] + }, + { + "'NAME": [ + -1, + 536 + ], + "'END": [ + -1, + 536 + ], + "'STRING": [ + -1, + 536 + ], + "'TYPE": [ + -1, + 536 + ], + "'DATA": [ + -1, + 536 + ], + "'PARENSPACE": [ + -1, + 536 + ], + "'SPY": [ + -1, + 536 + ], + "'NEWTYPE": [ + -1, + 536 + ], + "'LBRACE": [ + -1, + 536 + ], + "'SHADOW": [ + -1, + 536 + ], + "'LET": [ + -1, + 536 + ], + "'BLOCK": [ + -1, + 536 + ], + "'LETREC": [ + -1, + 536 + ], + "'TYPE-LET": [ + -1, + 536 + ], + "'FUN": [ + -1, + 536 + ], + "'PARENAFTERBRACE": [ + -1, + 536 + ], + "'DOC": [ + -1, + 536 + ], + "'WHERE": [ + -1, + 536 + ], + "'CHECK": [ + -1, + 536 + ], + "'EXAMPLES": [ + -1, + 536 + ], + "'CHECKCOLON": [ + -1, + 536 + ], + "'EXAMPLESCOLON": [ + -1, + 536 + ], + "'VAR": [ + -1, + 536 + ], + "'REC": [ + -1, + 536 + ], + "'WHEN": [ + -1, + 536 + ], + "'DOTDOTDOT": [ + -1, + 536 + ], + "'NUMBER": [ + -1, + 536 + ], + "'RATIONAL": [ + -1, + 536 + ], + "'ROUGHRATIONAL": [ + -1, + 536 + ], + "'TRUE": [ + -1, + 536 + ], + "'FALSE": [ + -1, + 536 + ], + "'LAM": [ + -1, + 536 + ], + "'METHOD": [ + -1, + 536 + ], + "'LBRACK": [ + -1, + 536 + ], + "'TABLE": [ + -1, + 536 + ], + "'REACTOR": [ + -1, + 536 + ], + "'IF": [ + -1, + 536 + ], + "'ASK": [ + -1, + 536 + ], + "'CASES": [ + -1, + 536 + ], + "'FOR": [ + -1, + 536 + ], + "'TABLE-SELECT": [ + -1, + 536 + ], + "'TABLE-FILTER": [ + -1, + 536 + ], + "'TABLE-ORDER": [ + -1, + 536 + ], + "'TABLE-EXTRACT": [ + -1, + 536 + ], + "'TABLE-UPDATE": [ + -1, + 536 + ], + "'TABLE-EXTEND": [ + -1, + 536 + ], + "'LOAD-TABLE": [ + -1, + 536 + ] + }, + { + "'NAME": [ + -1, + 538 + ], + "'END": [ + -1, + 538 + ], + "'STRING": [ + -1, + 538 + ], + "'TYPE": [ + -1, + 538 + ], + "'DATA": [ + -1, + 538 + ], + "'PARENSPACE": [ + -1, + 538 + ], + "'SPY": [ + -1, + 538 + ], + "'NEWTYPE": [ + -1, + 538 + ], + "'LBRACE": [ + -1, + 538 + ], + "'SHADOW": [ + -1, + 538 + ], + "'LET": [ + -1, + 538 + ], + "'BLOCK": [ + -1, + 538 + ], + "'LETREC": [ + -1, + 538 + ], + "'TYPE-LET": [ + -1, + 538 + ], + "'FUN": [ + -1, + 538 + ], + "'PARENAFTERBRACE": [ + -1, + 538 + ], + "'DOC": [ + -1, + 538 + ], + "'WHERE": [ + -1, + 538 + ], + "'CHECK": [ + -1, + 538 + ], + "'EXAMPLES": [ + -1, + 538 + ], + "'CHECKCOLON": [ + -1, + 538 + ], + "'EXAMPLESCOLON": [ + -1, + 538 + ], + "'VAR": [ + -1, + 538 + ], + "'REC": [ + -1, + 538 + ], + "'WHEN": [ + -1, + 538 + ], + "'DOTDOTDOT": [ + -1, + 538 + ], + "'NUMBER": [ + -1, + 538 + ], + "'RATIONAL": [ + -1, + 538 + ], + "'ROUGHRATIONAL": [ + -1, + 538 + ], + "'TRUE": [ + -1, + 538 + ], + "'FALSE": [ + -1, + 538 + ], + "'LAM": [ + -1, + 538 + ], + "'METHOD": [ + -1, + 538 + ], + "'LBRACK": [ + -1, + 538 + ], + "'TABLE": [ + -1, + 538 + ], + "'REACTOR": [ + -1, + 538 + ], + "'IF": [ + -1, + 538 + ], + "'ASK": [ + -1, + 538 + ], + "'CASES": [ + -1, + 538 + ], + "'FOR": [ + -1, + 538 + ], + "'TABLE-SELECT": [ + -1, + 538 + ], + "'TABLE-FILTER": [ + -1, + 538 + ], + "'TABLE-ORDER": [ + -1, + 538 + ], + "'TABLE-EXTRACT": [ + -1, + 538 + ], + "'TABLE-UPDATE": [ + -1, + 538 + ], + "'TABLE-EXTEND": [ + -1, + 538 + ], + "'LOAD-TABLE": [ + -1, + 538 + ] + }, + { + "doc-string": [ + 528 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'END": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "'NAME": [ + -1, + 540 + ], + "'END": [ + -1, + 540 + ], + "'STRING": [ + -1, + 540 + ], + "'TYPE": [ + -1, + 540 + ], + "'DATA": [ + -1, + 540 + ], + "'PARENSPACE": [ + -1, + 540 + ], + "'SPY": [ + -1, + 540 + ], + "'NEWTYPE": [ + -1, + 540 + ], + "'LBRACE": [ + -1, + 540 + ], + "'SHADOW": [ + -1, + 540 + ], + "'LET": [ + -1, + 540 + ], + "'BLOCK": [ + -1, + 540 + ], + "'LETREC": [ + -1, + 540 + ], + "'TYPE-LET": [ + -1, + 540 + ], + "'FUN": [ + -1, + 540 + ], + "'PARENAFTERBRACE": [ + -1, + 540 + ], + "'DOC": [ + -1, + 540 + ], + "'WHERE": [ + -1, + 540 + ], + "'CHECK": [ + -1, + 540 + ], + "'EXAMPLES": [ + -1, + 540 + ], + "'CHECKCOLON": [ + -1, + 540 + ], + "'EXAMPLESCOLON": [ + -1, + 540 + ], + "'VAR": [ + -1, + 540 + ], + "'REC": [ + -1, + 540 + ], + "'WHEN": [ + -1, + 540 + ], + "'DOTDOTDOT": [ + -1, + 540 + ], + "'NUMBER": [ + -1, + 540 + ], + "'RATIONAL": [ + -1, + 540 + ], + "'ROUGHRATIONAL": [ + -1, + 540 + ], + "'TRUE": [ + -1, + 540 + ], + "'FALSE": [ + -1, + 540 + ], + "'LAM": [ + -1, + 540 + ], + "'METHOD": [ + -1, + 540 + ], + "'LBRACK": [ + -1, + 540 + ], + "'TABLE": [ + -1, + 540 + ], + "'REACTOR": [ + -1, + 540 + ], + "'IF": [ + -1, + 540 + ], + "'ASK": [ + -1, + 540 + ], + "'CASES": [ + -1, + 540 + ], + "'FOR": [ + -1, + 540 + ], + "'TABLE-SELECT": [ + -1, + 540 + ], + "'TABLE-FILTER": [ + -1, + 540 + ], + "'TABLE-ORDER": [ + -1, + 540 + ], + "'TABLE-EXTRACT": [ + -1, + 540 + ], + "'TABLE-UPDATE": [ + -1, + 540 + ], + "'TABLE-EXTEND": [ + -1, + 540 + ], + "'LOAD-TABLE": [ + -1, + 540 + ] + }, + { + "'NAME": [ + -1, + 542 + ], + "'END": [ + -1, + 542 + ], + "'STRING": [ + -1, + 542 + ], + "'TYPE": [ + -1, + 542 + ], + "'DATA": [ + -1, + 542 + ], + "'PARENSPACE": [ + -1, + 542 + ], + "'SPY": [ + -1, + 542 + ], + "'NEWTYPE": [ + -1, + 542 + ], + "'LBRACE": [ + -1, + 542 + ], + "'SHADOW": [ + -1, + 542 + ], + "'LET": [ + -1, + 542 + ], + "'BLOCK": [ + -1, + 542 + ], + "'LETREC": [ + -1, + 542 + ], + "'TYPE-LET": [ + -1, + 542 + ], + "'FUN": [ + -1, + 542 + ], + "'PARENAFTERBRACE": [ + -1, + 542 + ], + "'DOC": [ + -1, + 542 + ], + "'WHERE": [ + -1, + 542 + ], + "'CHECK": [ + -1, + 542 + ], + "'EXAMPLES": [ + -1, + 542 + ], + "'CHECKCOLON": [ + -1, + 542 + ], + "'EXAMPLESCOLON": [ + -1, + 542 + ], + "'VAR": [ + -1, + 542 + ], + "'REC": [ + -1, + 542 + ], + "'WHEN": [ + -1, + 542 + ], + "'DOTDOTDOT": [ + -1, + 542 + ], + "'NUMBER": [ + -1, + 542 + ], + "'RATIONAL": [ + -1, + 542 + ], + "'ROUGHRATIONAL": [ + -1, + 542 + ], + "'TRUE": [ + -1, + 542 + ], + "'FALSE": [ + -1, + 542 + ], + "'LAM": [ + -1, + 542 + ], + "'METHOD": [ + -1, + 542 + ], + "'LBRACK": [ + -1, + 542 + ], + "'TABLE": [ + -1, + 542 + ], + "'REACTOR": [ + -1, + 542 + ], + "'IF": [ + -1, + 542 + ], + "'ASK": [ + -1, + 542 + ], + "'CASES": [ + -1, + 542 + ], + "'FOR": [ + -1, + 542 + ], + "'TABLE-SELECT": [ + -1, + 542 + ], + "'TABLE-FILTER": [ + -1, + 542 + ], + "'TABLE-ORDER": [ + -1, + 542 + ], + "'TABLE-EXTRACT": [ + -1, + 542 + ], + "'TABLE-UPDATE": [ + -1, + 542 + ], + "'TABLE-EXTEND": [ + -1, + 542 + ], + "'LOAD-TABLE": [ + -1, + 542 + ] + }, + { + "doc-string": [ + 529 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'END": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "'COLON": [ + 530 + ] + }, + { + "'END": [ + 531 + ] + }, + { + "'END": [ + -1, + 544 + ] + }, + { + "'END": [ + -1, + 546 + ] + }, + { + "table-row": [ + 532 + ], + "table-rows_I0_I0": [ + 533 + ], + "'ROW": [ + 534 + ] + }, + { + "'COLONCOLON": [ + 535 + ], + "table-header_I1?": [ + 536 + ], + "table-header_I1": [ + 537 + ], + "'END": [ + -1, + 548, + 550 + ], + "'COMMA": [ + -1, + 548, + 550 + ], + "'ROW": [ + -1, + 548, + 550 + ], + "'SOURCECOLON": [ + -1, + 548, + 550 + ], + "'SANITIZE": [ + -1, + 548, + 550 + ] + }, + { + "'COMMA": [ + 538 + ], + "'END": [ + -1, + 552 + ], + "'ROW": [ + -1, + 552 + ], + "'SOURCECOLON": [ + -1, + 552 + ], + "'SANITIZE": [ + -1, + 552 + ] + }, + { + "'NAME": [ + -1, + 554 + ] + }, + { + "'NAME": [ + -1, + 556 + ] + }, + { + "'END": [ + 539 + ] + }, + { + "'NAME": [ + 291 + ], + "key": [ + 540 + ] + }, + { + "'COLON": [ + 541 + ] + }, + { + "fields_I1*": [ + 542 + ], + "'END": [ + -1, + 558, + 560 + ], + "'COMMA": [ + -1, + 560 + ], + "'RBRACE": [ + -1, + 558, + 560 + ], + "'WHERE": [ + -1, + 558, + 560 + ], + "'BAR": [ + -1, + 558, + 560 + ], + "'SHARING": [ + -1, + 558, + 560 + ] + }, + { + "'NAME": [ + -1, + 562 + ], + "'END": [ + -1, + 562 + ], + "'STRING": [ + -1, + 562 + ], + "'TYPE": [ + -1, + 562 + ], + "'DATA": [ + -1, + 562 + ], + "'PARENSPACE": [ + -1, + 562 + ], + "'SPY": [ + -1, + 562 + ], + "'NEWTYPE": [ + -1, + 562 + ], + "'LBRACE": [ + -1, + 562 + ], + "'SHADOW": [ + -1, + 562 + ], + "'LET": [ + -1, + 562 + ], + "'BLOCK": [ + -1, + 562 + ], + "'LETREC": [ + -1, + 562 + ], + "'TYPE-LET": [ + -1, + 562 + ], + "'FUN": [ + -1, + 562 + ], + "'PARENAFTERBRACE": [ + -1, + 562 + ], + "'CHECK": [ + -1, + 562 + ], + "'EXAMPLES": [ + -1, + 562 + ], + "'CHECKCOLON": [ + -1, + 562 + ], + "'EXAMPLESCOLON": [ + -1, + 562 + ], + "'VAR": [ + -1, + 562 + ], + "'REC": [ + -1, + 562 + ], + "'WHEN": [ + -1, + 562 + ], + "'DOTDOTDOT": [ + -1, + 562 + ], + "'NUMBER": [ + -1, + 562 + ], + "'RATIONAL": [ + -1, + 562 + ], + "'ROUGHRATIONAL": [ + -1, + 562 + ], + "'TRUE": [ + -1, + 562 + ], + "'FALSE": [ + -1, + 562 + ], + "'LAM": [ + -1, + 562 + ], + "'METHOD": [ + -1, + 562 + ], + "'LBRACK": [ + -1, + 562 + ], + "'TABLE": [ + -1, + 562 + ], + "'REACTOR": [ + -1, + 562 + ], + "'IF": [ + -1, + 562 + ], + "'ELSECOLON": [ + -1, + 562 + ], + "'ELSEIF": [ + -1, + 562 + ], + "'ASK": [ + -1, + 562 + ], + "'CASES": [ + -1, + 562 + ], + "'FOR": [ + -1, + 562 + ], + "'TABLE-SELECT": [ + -1, + 562 + ], + "'TABLE-FILTER": [ + -1, + 562 + ], + "'TABLE-ORDER": [ + -1, + 562 + ], + "'TABLE-EXTRACT": [ + -1, + 562 + ], + "'TABLE-UPDATE": [ + -1, + 562 + ], + "'TABLE-EXTEND": [ + -1, + 562 + ], + "'LOAD-TABLE": [ + -1, + 562 + ] + }, + { + "'NAME": [ + -1, + 564 + ], + "'END": [ + -1, + 564 + ], + "'STRING": [ + -1, + 564 + ], + "'TYPE": [ + -1, + 564 + ], + "'DATA": [ + -1, + 564 + ], + "'PARENSPACE": [ + -1, + 564 + ], + "'SPY": [ + -1, + 564 + ], + "'NEWTYPE": [ + -1, + 564 + ], + "'LBRACE": [ + -1, + 564 + ], + "'SHADOW": [ + -1, + 564 + ], + "'LET": [ + -1, + 564 + ], + "'BLOCK": [ + -1, + 564 + ], + "'LETREC": [ + -1, + 564 + ], + "'TYPE-LET": [ + -1, + 564 + ], + "'FUN": [ + -1, + 564 + ], + "'PARENAFTERBRACE": [ + -1, + 564 + ], + "'CHECK": [ + -1, + 564 + ], + "'EXAMPLES": [ + -1, + 564 + ], + "'CHECKCOLON": [ + -1, + 564 + ], + "'EXAMPLESCOLON": [ + -1, + 564 + ], + "'VAR": [ + -1, + 564 + ], + "'REC": [ + -1, + 564 + ], + "'WHEN": [ + -1, + 564 + ], + "'DOTDOTDOT": [ + -1, + 564 + ], + "'NUMBER": [ + -1, + 564 + ], + "'RATIONAL": [ + -1, + 564 + ], + "'ROUGHRATIONAL": [ + -1, + 564 + ], + "'TRUE": [ + -1, + 564 + ], + "'FALSE": [ + -1, + 564 + ], + "'LAM": [ + -1, + 564 + ], + "'METHOD": [ + -1, + 564 + ], + "'LBRACK": [ + -1, + 564 + ], + "'TABLE": [ + -1, + 564 + ], + "'REACTOR": [ + -1, + 564 + ], + "'IF": [ + -1, + 564 + ], + "'ELSECOLON": [ + -1, + 564 + ], + "'ELSEIF": [ + -1, + 564 + ], + "'ASK": [ + -1, + 564 + ], + "'CASES": [ + -1, + 564 + ], + "'FOR": [ + -1, + 564 + ], + "'TABLE-SELECT": [ + -1, + 564 + ], + "'TABLE-FILTER": [ + -1, + 564 + ], + "'TABLE-ORDER": [ + -1, + 564 + ], + "'TABLE-EXTRACT": [ + -1, + 564 + ], + "'TABLE-UPDATE": [ + -1, + 564 + ], + "'TABLE-EXTEND": [ + -1, + 564 + ], + "'LOAD-TABLE": [ + -1, + 564 + ] + }, + { + "block": [ + 543 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ELSECOLON": [ + -1, + 8, + 10 + ], + "'ELSEIF": [ + -1, + 8, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'BAR": [ + 544 + ], + "if-pipe-expr_I3?": [ + 545 + ], + "if-pipe-expr_I2": [ + 546 + ], + "if-pipe-branch": [ + 547 + ], + "if-pipe-expr_I3": [ + 548 + ], + "'END": [ + -1, + 566 + ] + }, + { + "'RPAREN": [ + 549 + ], + "'PERCENT": [ + 516 + ] + }, + { + "'NAME": [ + 139, + 22 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 315 + ], + "id-expr": [ + 33 + ], + "binding": [ + 550 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 39 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "opt-comma-binops": [ + 316 + ], + "opt-comma-binops_I0?": [ + 317 + ], + "opt-comma-binops_I0": [ + 318 + ], + "comma-binops": [ + 319 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "for-bind": [ + 551 + ], + "'FOR": [ + 112 + ], + "for-expr_I3?": [ + 552 + ], + "for-expr_I3": [ + 553 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'RPAREN": [ + -1, + 568, + 300, + 302 + ] + }, + { + "'FROM": [ + 554 + ], + "'COMMA": [ + 555 + ], + "table-select_I2": [ + 556 + ] + }, + { + "'COLON": [ + 557 + ] + }, + { + "'COLON": [ + -1, + 570 + ] + }, + { + "binding": [ + 558 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'NAME": [ + 559 + ], + "column-order": [ + 560 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 561 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "binding": [ + 562 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COLON": [ + 563 + ] + }, + { + "'COLON": [ + -1, + 572 + ] + }, + { + "binding": [ + 564 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COLON": [ + 565 + ] + }, + { + "'COLON": [ + -1, + 574 + ] + }, + { + "load-table-expr_I3?": [ + 566 + ], + "load-table-expr_I3": [ + 567 + ], + "load-table-specs": [ + 568 + ], + "load-table-specs_I0*": [ + 569 + ], + "'END": [ + -1, + 576 + ], + "'SOURCECOLON": [ + -1, + 578 + ], + "'SANITIZE": [ + -1, + 578 + ] + }, + { + "'COLON": [ + 570 + ] + }, + { + "'COMMA": [ + 571 + ], + "comma-names_I1": [ + 572 + ], + "'FROM": [ + -1, + 580 + ], + "'RANGLE": [ + -1, + 580 + ], + "'GT": [ + -1, + 580 + ] + }, + { + "'NAME": [ + 573 + ] + }, + { + "'NAME": [ + 131 + ], + "import-source": [ + 574 + ], + "import-special": [ + 133 + ], + "import-name": [ + 134 + ] + }, + { + "'COLON": [ + 575 + ] + }, + { + "$": [ + -1, + 582 + ], + "'NAME": [ + -1, + 582 + ], + "'INCLUDE": [ + -1, + 582 + ], + "'IMPORT": [ + -1, + 582 + ], + "'STRING": [ + -1, + 582 + ], + "'TYPE": [ + -1, + 582 + ], + "'DATA": [ + -1, + 582 + ], + "'PROVIDE": [ + -1, + 582 + ], + "'PROVIDE-TYPES": [ + -1, + 582 + ], + "'PROVIDECOLON": [ + -1, + 582 + ], + "'PARENSPACE": [ + -1, + 582 + ], + "'SPY": [ + -1, + 582 + ], + "'NEWTYPE": [ + -1, + 582 + ], + "'LBRACE": [ + -1, + 582 + ], + "'SHADOW": [ + -1, + 582 + ], + "'LET": [ + -1, + 582 + ], + "'BLOCK": [ + -1, + 582 + ], + "'LETREC": [ + -1, + 582 + ], + "'TYPE-LET": [ + -1, + 582 + ], + "'FUN": [ + -1, + 582 + ], + "'PARENAFTERBRACE": [ + -1, + 582 + ], + "'CHECK": [ + -1, + 582 + ], + "'EXAMPLES": [ + -1, + 582 + ], + "'CHECKCOLON": [ + -1, + 582 + ], + "'EXAMPLESCOLON": [ + -1, + 582 + ], + "'VAR": [ + -1, + 582 + ], + "'REC": [ + -1, + 582 + ], + "'WHEN": [ + -1, + 582 + ], + "'DOTDOTDOT": [ + -1, + 582 + ], + "'NUMBER": [ + -1, + 582 + ], + "'RATIONAL": [ + -1, + 582 + ], + "'ROUGHRATIONAL": [ + -1, + 582 + ], + "'TRUE": [ + -1, + 582 + ], + "'FALSE": [ + -1, + 582 + ], + "'LAM": [ + -1, + 582 + ], + "'METHOD": [ + -1, + 582 + ], + "'LBRACK": [ + -1, + 582 + ], + "'TABLE": [ + -1, + 582 + ], + "'REACTOR": [ + -1, + 582 + ], + "'IF": [ + -1, + 582 + ], + "'ASK": [ + -1, + 582 + ], + "'CASES": [ + -1, + 582 + ], + "'FOR": [ + -1, + 582 + ], + "'TABLE-SELECT": [ + -1, + 582 + ], + "'TABLE-FILTER": [ + -1, + 582 + ], + "'TABLE-ORDER": [ + -1, + 582 + ], + "'TABLE-EXTRACT": [ + -1, + 582 + ], + "'TABLE-UPDATE": [ + -1, + 582 + ], + "'TABLE-EXTEND": [ + -1, + 582 + ], + "'LOAD-TABLE": [ + -1, + 582 + ] + }, + { + "'COLONCOLON": [ + 576 + ] + }, + { + "'COMMA": [ + 577 + ], + "trailing-opt-comma-ann-field_I0_A0_I1?": [ + 578 + ], + "trailing-opt-comma-ann-field_I0_A0_I1": [ + 579 + ], + "'RBRACE": [ + -1, + 584, + 586 + ] + }, + { + "comma-ann-field_I1*": [ + 580 + ], + "'COMMA": [ + -1, + 588, + 590 + ], + "'RPAREN": [ + -1, + 588, + 590 + ], + "'RBRACE": [ + -1, + 588, + 590 + ] + }, + { + "'RBRACE": [ + 581 + ] + }, + { + "'RBRACE": [ + -1, + 592 + ] + }, + { + "'NAME": [ + 582 + ] + }, + { + "'END": [ + -1, + 594 + ], + "'COMMA": [ + -1, + 594 + ] + }, + { + "'END": [ + -1, + 596 + ], + "'COMMA": [ + -1, + 596 + ], + "'HIDING": [ + -1, + 596 + ] + }, + { + "hiding-spec": [ + 583 + ], + "provide-data-spec_I2?": [ + 584 + ], + "provide-data-spec_I2": [ + 585 + ], + "'HIDING": [ + 422 + ], + "'END": [ + -1, + 598, + 600 + ], + "'COMMA": [ + -1, + 598, + 600 + ] + }, + { + "'END": [ + -1, + 602 + ], + "'COMMA": [ + -1, + 602 + ], + "'HIDING": [ + -1, + 602 + ] + }, + { + "'END": [ + -1, + 604 + ], + "'COMMA": [ + -1, + 604 + ], + "'HIDING": [ + -1, + 604 + ] + }, + { + "'END": [ + -1, + 606 + ], + "'COMMA": [ + -1, + 606 + ], + "'HIDING": [ + -1, + 606 + ] + }, + { + "'END": [ + -1, + 608 + ], + "'COMMA": [ + -1, + 608 + ] + }, + { + "$": [ + -1, + 610 + ], + "'NAME": [ + -1, + 610 + ], + "'INCLUDE": [ + -1, + 610 + ], + "'IMPORT": [ + -1, + 610 + ], + "'STRING": [ + -1, + 610 + ], + "'TYPE": [ + -1, + 610 + ], + "'DATA": [ + -1, + 610 + ], + "'PROVIDE": [ + -1, + 610 + ], + "'PROVIDE-TYPES": [ + -1, + 610 + ], + "'PROVIDECOLON": [ + -1, + 610 + ], + "'PARENSPACE": [ + -1, + 610 + ], + "'SPY": [ + -1, + 610 + ], + "'NEWTYPE": [ + -1, + 610 + ], + "'LBRACE": [ + -1, + 610 + ], + "'SHADOW": [ + -1, + 610 + ], + "'LET": [ + -1, + 610 + ], + "'BLOCK": [ + -1, + 610 + ], + "'LETREC": [ + -1, + 610 + ], + "'TYPE-LET": [ + -1, + 610 + ], + "'FUN": [ + -1, + 610 + ], + "'PARENAFTERBRACE": [ + -1, + 610 + ], + "'CHECK": [ + -1, + 610 + ], + "'EXAMPLES": [ + -1, + 610 + ], + "'CHECKCOLON": [ + -1, + 610 + ], + "'EXAMPLESCOLON": [ + -1, + 610 + ], + "'VAR": [ + -1, + 610 + ], + "'REC": [ + -1, + 610 + ], + "'WHEN": [ + -1, + 610 + ], + "'DOTDOTDOT": [ + -1, + 610 + ], + "'NUMBER": [ + -1, + 610 + ], + "'RATIONAL": [ + -1, + 610 + ], + "'ROUGHRATIONAL": [ + -1, + 610 + ], + "'TRUE": [ + -1, + 610 + ], + "'FALSE": [ + -1, + 610 + ], + "'LAM": [ + -1, + 610 + ], + "'METHOD": [ + -1, + 610 + ], + "'LBRACK": [ + -1, + 610 + ], + "'TABLE": [ + -1, + 610 + ], + "'REACTOR": [ + -1, + 610 + ], + "'IF": [ + -1, + 610 + ], + "'ASK": [ + -1, + 610 + ], + "'CASES": [ + -1, + 610 + ], + "'FOR": [ + -1, + 610 + ], + "'TABLE-SELECT": [ + -1, + 610 + ], + "'TABLE-FILTER": [ + -1, + 610 + ], + "'TABLE-ORDER": [ + -1, + 610 + ], + "'TABLE-EXTRACT": [ + -1, + 610 + ], + "'TABLE-UPDATE": [ + -1, + 610 + ], + "'TABLE-EXTEND": [ + -1, + 610 + ], + "'LOAD-TABLE": [ + -1, + 610 + ] + }, + { + "'COMMA": [ + 586 + ], + "provide-block_A0_I1_I2?": [ + 587 + ], + "provide-block_A0_I1_I1": [ + 588 + ], + "provide-block_A0_I1_I2": [ + 589 + ], + "'END": [ + -1, + 612, + 614 + ] + }, + { + "'END": [ + -1, + 616 + ], + "'COMMA": [ + -1, + 616 + ] + }, + { + "'END": [ + -1, + 618 + ], + "'COMMA": [ + -1, + 618 + ] + }, + { + "'END": [ + -1, + 620 + ], + "'COMMA": [ + -1, + 620 + ] + }, + { + "'PARENNOSPACE": [ + 590 + ], + "hiding-spec_I1": [ + 591 + ], + "'PARENSPACE": [ + 592 + ] + }, + { + "'DOT": [ + 593 + ], + "'COLON": [ + -1, + 622 + ], + "'END": [ + -1, + 622 + ], + "'COMMA": [ + -1, + 622 + ], + "'AS": [ + -1, + 622 + ], + "'HIDING": [ + -1, + 622 + ] + }, + { + "'NAME": [ + -1, + 624 + ] + }, + { + "import-special_I3*": [ + 594 + ], + "'COMMA": [ + -1, + 626 + ], + "'RPAREN": [ + -1, + 626 + ] + }, + { + "'NAME": [ + -1, + 472, + 628 + ], + "'PARENNOSPACE": [ + -1, + 472 + ], + "'PARENSPACE": [ + -1, + 472 + ], + "'LBRACE": [ + -1, + 472 + ], + "'PARENAFTERBRACE": [ + -1, + 472 + ], + "'THINARROW": [ + -1, + 472 + ] + }, + { + "'NAME": [ + -1, + 476, + 630 + ], + "'PARENNOSPACE": [ + -1, + 476 + ], + "'PARENSPACE": [ + -1, + 476 + ], + "'LBRACE": [ + -1, + 476 + ], + "'PARENAFTERBRACE": [ + -1, + 476 + ], + "'THINARROW": [ + -1, + 476 + ] + }, + { + "'PERCENT": [ + 516 + ], + "comma-anns_I1*": [ + 595 + ], + "$": [ + -1, + 632 + ], + "'NAME": [ + -1, + 632 + ], + "'END": [ + -1, + 632 + ], + "'COMMA": [ + -1, + 634 + ], + "'STRING": [ + -1, + 632 + ], + "'TYPE": [ + -1, + 632 + ], + "'DATA": [ + -1, + 632 + ], + "'PARENSPACE": [ + -1, + 632 + ], + "'SPY": [ + -1, + 632 + ], + "'NEWTYPE": [ + -1, + 632 + ], + "'LBRACE": [ + -1, + 632 + ], + "'RBRACE": [ + -1, + 632 + ], + "'SHADOW": [ + -1, + 632 + ], + "'LET": [ + -1, + 632 + ], + "'BLOCK": [ + -1, + 632 + ], + "'LETREC": [ + -1, + 632 + ], + "'TYPE-LET": [ + -1, + 632 + ], + "'FUN": [ + -1, + 632 + ], + "'PARENAFTERBRACE": [ + -1, + 632 + ], + "'THINARROW": [ + -1, + 636, + 634 + ], + "'WHERE": [ + -1, + 632 + ], + "'CHECK": [ + -1, + 632 + ], + "'EXAMPLES": [ + -1, + 632 + ], + "'CHECKCOLON": [ + -1, + 632 + ], + "'EXAMPLESCOLON": [ + -1, + 632 + ], + "'BAR": [ + -1, + 632 + ], + "'VAR": [ + -1, + 632 + ], + "'REC": [ + -1, + 632 + ], + "'WHEN": [ + -1, + 632 + ], + "'DOTDOTDOT": [ + -1, + 632 + ], + "'NUMBER": [ + -1, + 632 + ], + "'RATIONAL": [ + -1, + 632 + ], + "'ROUGHRATIONAL": [ + -1, + 632 + ], + "'TRUE": [ + -1, + 632 + ], + "'FALSE": [ + -1, + 632 + ], + "'LAM": [ + -1, + 632 + ], + "'METHOD": [ + -1, + 632 + ], + "'LBRACK": [ + -1, + 632 + ], + "'TABLE": [ + -1, + 632 + ], + "'REACTOR": [ + -1, + 632 + ], + "'IF": [ + -1, + 632 + ], + "'ELSECOLON": [ + -1, + 632 + ], + "'ELSEIF": [ + -1, + 632 + ], + "'ASK": [ + -1, + 632 + ], + "'CASES": [ + -1, + 632 + ], + "'FOR": [ + -1, + 632 + ], + "'TABLE-SELECT": [ + -1, + 632 + ], + "'TABLE-FILTER": [ + -1, + 632 + ], + "'TABLE-ORDER": [ + -1, + 632 + ], + "'TABLE-EXTRACT": [ + -1, + 632 + ], + "'TABLE-UPDATE": [ + -1, + 632 + ], + "'TABLE-EXTEND": [ + -1, + 632 + ], + "'LOAD-TABLE": [ + -1, + 632 + ] + }, + { + "$": [ + -1, + 638 + ], + "'NAME": [ + -1, + 638 + ], + "'END": [ + -1, + 638 + ], + "'STRING": [ + -1, + 638 + ], + "'TYPE": [ + -1, + 638 + ], + "'DATA": [ + -1, + 638 + ], + "'PARENSPACE": [ + -1, + 638 + ], + "'SPY": [ + -1, + 638 + ], + "'NEWTYPE": [ + -1, + 638 + ], + "'LBRACE": [ + -1, + 638 + ], + "'RBRACE": [ + -1, + 638 + ], + "'SHADOW": [ + -1, + 638 + ], + "'LET": [ + -1, + 638 + ], + "'BLOCK": [ + -1, + 638 + ], + "'LETREC": [ + -1, + 638 + ], + "'TYPE-LET": [ + -1, + 638 + ], + "'FUN": [ + -1, + 638 + ], + "'PARENAFTERBRACE": [ + -1, + 638 + ], + "'WHERE": [ + -1, + 638 + ], + "'CHECK": [ + -1, + 638 + ], + "'EXAMPLES": [ + -1, + 638 + ], + "'CHECKCOLON": [ + -1, + 638 + ], + "'EXAMPLESCOLON": [ + -1, + 638 + ], + "'BAR": [ + -1, + 638 + ], + "'VAR": [ + -1, + 638 + ], + "'REC": [ + -1, + 638 + ], + "'WHEN": [ + -1, + 638 + ], + "'DOTDOTDOT": [ + -1, + 638 + ], + "'NUMBER": [ + -1, + 638 + ], + "'RATIONAL": [ + -1, + 638 + ], + "'ROUGHRATIONAL": [ + -1, + 638 + ], + "'TRUE": [ + -1, + 638 + ], + "'FALSE": [ + -1, + 638 + ], + "'LAM": [ + -1, + 638 + ], + "'METHOD": [ + -1, + 638 + ], + "'LBRACK": [ + -1, + 638 + ], + "'TABLE": [ + -1, + 638 + ], + "'REACTOR": [ + -1, + 638 + ], + "'IF": [ + -1, + 638 + ], + "'ELSECOLON": [ + -1, + 638 + ], + "'ELSEIF": [ + -1, + 638 + ], + "'ASK": [ + -1, + 638 + ], + "'CASES": [ + -1, + 638 + ], + "'FOR": [ + -1, + 638 + ], + "'TABLE-SELECT": [ + -1, + 638 + ], + "'TABLE-FILTER": [ + -1, + 638 + ], + "'TABLE-ORDER": [ + -1, + 638 + ], + "'TABLE-EXTRACT": [ + -1, + 638 + ], + "'TABLE-UPDATE": [ + -1, + 638 + ], + "'TABLE-EXTEND": [ + -1, + 638 + ], + "'LOAD-TABLE": [ + -1, + 638 + ] + }, + { + "$": [ + -1, + 640 + ], + "'NAME": [ + -1, + 640 + ], + "'END": [ + -1, + 640 + ], + "'STRING": [ + -1, + 640 + ], + "'TYPE": [ + -1, + 640 + ], + "'DATA": [ + -1, + 640 + ], + "'PARENSPACE": [ + -1, + 640 + ], + "'SPY": [ + -1, + 640 + ], + "'NEWTYPE": [ + -1, + 640 + ], + "'LBRACE": [ + -1, + 640 + ], + "'RBRACE": [ + -1, + 640 + ], + "'SHADOW": [ + -1, + 640 + ], + "'LET": [ + -1, + 640 + ], + "'BLOCK": [ + -1, + 640 + ], + "'LETREC": [ + -1, + 640 + ], + "'TYPE-LET": [ + -1, + 640 + ], + "'FUN": [ + -1, + 640 + ], + "'PARENAFTERBRACE": [ + -1, + 640 + ], + "'WHERE": [ + -1, + 640 + ], + "'CHECK": [ + -1, + 640 + ], + "'EXAMPLES": [ + -1, + 640 + ], + "'CHECKCOLON": [ + -1, + 640 + ], + "'EXAMPLESCOLON": [ + -1, + 640 + ], + "'BAR": [ + -1, + 640 + ], + "'VAR": [ + -1, + 640 + ], + "'REC": [ + -1, + 640 + ], + "'WHEN": [ + -1, + 640 + ], + "'DOTDOTDOT": [ + -1, + 640 + ], + "'NUMBER": [ + -1, + 640 + ], + "'RATIONAL": [ + -1, + 640 + ], + "'ROUGHRATIONAL": [ + -1, + 640 + ], + "'TRUE": [ + -1, + 640 + ], + "'FALSE": [ + -1, + 640 + ], + "'LAM": [ + -1, + 640 + ], + "'METHOD": [ + -1, + 640 + ], + "'LBRACK": [ + -1, + 640 + ], + "'TABLE": [ + -1, + 640 + ], + "'REACTOR": [ + -1, + 640 + ], + "'IF": [ + -1, + 640 + ], + "'ELSECOLON": [ + -1, + 640 + ], + "'ELSEIF": [ + -1, + 640 + ], + "'ASK": [ + -1, + 640 + ], + "'CASES": [ + -1, + 640 + ], + "'FOR": [ + -1, + 640 + ], + "'TABLE-SELECT": [ + -1, + 640 + ], + "'TABLE-FILTER": [ + -1, + 640 + ], + "'TABLE-ORDER": [ + -1, + 640 + ], + "'TABLE-EXTRACT": [ + -1, + 640 + ], + "'TABLE-UPDATE": [ + -1, + 640 + ], + "'TABLE-EXTEND": [ + -1, + 640 + ], + "'LOAD-TABLE": [ + -1, + 640 + ] + }, + { + "'NAME": [ + -1, + 480, + 642 + ], + "'PARENNOSPACE": [ + -1, + 480 + ], + "'PARENSPACE": [ + -1, + 480 + ], + "'LBRACE": [ + -1, + 480 + ], + "'PARENAFTERBRACE": [ + -1, + 480 + ], + "'THINARROW": [ + -1, + 480 + ] + }, + { + "'THINARROW": [ + 596 + ] + }, + { + "'THINARROW": [ + -1, + 644 + ] + }, + { + "'THINARROW": [ + -1, + 646 + ] + }, + { + "'THINARROW": [ + -1, + 648 + ] + }, + { + "'NAME": [ + 404 + ], + "comma-ann-field": [ + 597 + ], + "ann-field": [ + 406 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 598 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'NAME": [ + 599 + ], + "data-expr_I4?": [ + 600 + ], + "data-expr_I4": [ + 601 + ], + "first-data-variant": [ + 602 + ], + "variant-constructor": [ + 603 + ], + "'END": [ + -1, + 650 + ], + "'WHERE": [ + -1, + 650 + ], + "'BAR": [ + -1, + 650 + ], + "'SHARING": [ + -1, + 650 + ] + }, + { + "'COLON": [ + 604 + ], + "'END": [ + -1, + 28 + ], + "'COMMA": [ + -1, + 28 + ] + }, + { + "'END": [ + 605 + ] + }, + { + "'END": [ + -1, + 652 + ] + }, + { + "'END": [ + -1, + 654 + ] + }, + { + "spy-contents_I1*": [ + 606 + ], + "'END": [ + -1, + 656, + 658 + ], + "'COMMA": [ + -1, + 658 + ] + }, + { + "'END": [ + -1, + 660 + ], + "'COMMA": [ + -1, + 660 + ] + }, + { + "check-test_A0_I4?": [ + 607 + ], + "check-test_A0_I4": [ + 608 + ], + "'BECAUSE": [ + 609 + ], + "$": [ + -1, + 662, + 664 + ], + "'NAME": [ + -1, + 662, + 664 + ], + "'END": [ + -1, + 662, + 664 + ], + "'STRING": [ + -1, + 662, + 664 + ], + "'TYPE": [ + -1, + 662, + 664 + ], + "'DATA": [ + -1, + 662, + 664 + ], + "'PARENSPACE": [ + -1, + 662, + 664 + ], + "'SPY": [ + -1, + 662, + 664 + ], + "'NEWTYPE": [ + -1, + 662, + 664 + ], + "'LBRACE": [ + -1, + 662, + 664 + ], + "'RBRACE": [ + -1, + 662, + 664 + ], + "'SHADOW": [ + -1, + 662, + 664 + ], + "'LET": [ + -1, + 662, + 664 + ], + "'BLOCK": [ + -1, + 662, + 664 + ], + "'LETREC": [ + -1, + 662, + 664 + ], + "'TYPE-LET": [ + -1, + 662, + 664 + ], + "'FUN": [ + -1, + 662, + 664 + ], + "'PARENAFTERBRACE": [ + -1, + 662, + 664 + ], + "'WHERE": [ + -1, + 662, + 664 + ], + "'CHECK": [ + -1, + 662, + 664 + ], + "'EXAMPLES": [ + -1, + 662, + 664 + ], + "'CHECKCOLON": [ + -1, + 662, + 664 + ], + "'EXAMPLESCOLON": [ + -1, + 662, + 664 + ], + "'BAR": [ + -1, + 662, + 664 + ], + "'VAR": [ + -1, + 662, + 664 + ], + "'REC": [ + -1, + 662, + 664 + ], + "'WHEN": [ + -1, + 662, + 664 + ], + "'DOTDOTDOT": [ + -1, + 662, + 664 + ], + "'NUMBER": [ + -1, + 662, + 664 + ], + "'RATIONAL": [ + -1, + 662, + 664 + ], + "'ROUGHRATIONAL": [ + -1, + 662, + 664 + ], + "'TRUE": [ + -1, + 662, + 664 + ], + "'FALSE": [ + -1, + 662, + 664 + ], + "'LAM": [ + -1, + 662, + 664 + ], + "'METHOD": [ + -1, + 662, + 664 + ], + "'LBRACK": [ + -1, + 662, + 664 + ], + "'TABLE": [ + -1, + 662, + 664 + ], + "'REACTOR": [ + -1, + 662, + 664 + ], + "'IF": [ + -1, + 662, + 664 + ], + "'ELSECOLON": [ + -1, + 662, + 664 + ], + "'ELSEIF": [ + -1, + 662, + 664 + ], + "'ASK": [ + -1, + 662, + 664 + ], + "'CASES": [ + -1, + 662, + 664 + ], + "'FOR": [ + -1, + 662, + 664 + ], + "'TABLE-SELECT": [ + -1, + 662, + 664 + ], + "'TABLE-FILTER": [ + -1, + 662, + 664 + ], + "'TABLE-ORDER": [ + -1, + 662, + 664 + ], + "'TABLE-EXTRACT": [ + -1, + 662, + 664 + ], + "'TABLE-UPDATE": [ + -1, + 662, + 664 + ], + "'TABLE-EXTEND": [ + -1, + 662, + 664 + ], + "'LOAD-TABLE": [ + -1, + 662, + 664 + ] + }, + { + "'NAME": [ + -1, + 666 + ], + "'STRING": [ + -1, + 666 + ], + "'PARENSPACE": [ + -1, + 666 + ], + "'LBRACE": [ + -1, + 666 + ], + "'LET": [ + -1, + 666 + ], + "'BLOCK": [ + -1, + 666 + ], + "'LETREC": [ + -1, + 666 + ], + "'TYPE-LET": [ + -1, + 666 + ], + "'PARENAFTERBRACE": [ + -1, + 666 + ], + "'DOTDOTDOT": [ + -1, + 666 + ], + "'NUMBER": [ + -1, + 666 + ], + "'RATIONAL": [ + -1, + 666 + ], + "'ROUGHRATIONAL": [ + -1, + 666 + ], + "'TRUE": [ + -1, + 666 + ], + "'FALSE": [ + -1, + 666 + ], + "'LAM": [ + -1, + 666 + ], + "'METHOD": [ + -1, + 666 + ], + "'LBRACK": [ + -1, + 666 + ], + "'TABLE": [ + -1, + 666 + ], + "'REACTOR": [ + -1, + 666 + ], + "'IF": [ + -1, + 666 + ], + "'ASK": [ + -1, + 666 + ], + "'CASES": [ + -1, + 666 + ], + "'FOR": [ + -1, + 666 + ], + "'TABLE-SELECT": [ + -1, + 666 + ], + "'TABLE-FILTER": [ + -1, + 666 + ], + "'TABLE-ORDER": [ + -1, + 666 + ], + "'TABLE-EXTRACT": [ + -1, + 666 + ], + "'TABLE-UPDATE": [ + -1, + 666 + ], + "'TABLE-EXTEND": [ + -1, + 666 + ], + "'LOAD-TABLE": [ + -1, + 666 + ] + }, + { + "'NAME": [ + -1, + 668 + ], + "'STRING": [ + -1, + 668 + ], + "'PARENSPACE": [ + -1, + 668 + ], + "'LBRACE": [ + -1, + 668 + ], + "'LET": [ + -1, + 668 + ], + "'BLOCK": [ + -1, + 668 + ], + "'LETREC": [ + -1, + 668 + ], + "'TYPE-LET": [ + -1, + 668 + ], + "'PARENAFTERBRACE": [ + -1, + 668 + ], + "'DOTDOTDOT": [ + -1, + 668 + ], + "'NUMBER": [ + -1, + 668 + ], + "'RATIONAL": [ + -1, + 668 + ], + "'ROUGHRATIONAL": [ + -1, + 668 + ], + "'TRUE": [ + -1, + 668 + ], + "'FALSE": [ + -1, + 668 + ], + "'LAM": [ + -1, + 668 + ], + "'METHOD": [ + -1, + 668 + ], + "'LBRACK": [ + -1, + 668 + ], + "'TABLE": [ + -1, + 668 + ], + "'REACTOR": [ + -1, + 668 + ], + "'IF": [ + -1, + 668 + ], + "'ASK": [ + -1, + 668 + ], + "'CASES": [ + -1, + 668 + ], + "'FOR": [ + -1, + 668 + ], + "'TABLE-SELECT": [ + -1, + 668 + ], + "'TABLE-FILTER": [ + -1, + 668 + ], + "'TABLE-ORDER": [ + -1, + 668 + ], + "'TABLE-EXTRACT": [ + -1, + 668 + ], + "'TABLE-UPDATE": [ + -1, + 668 + ], + "'TABLE-EXTEND": [ + -1, + 668 + ], + "'LOAD-TABLE": [ + -1, + 668 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 610 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "$": [ + -1, + 670 + ], + "'NAME": [ + -1, + 670 + ], + "'END": [ + -1, + 670 + ], + "'STRING": [ + -1, + 670 + ], + "'TYPE": [ + -1, + 670 + ], + "'DATA": [ + -1, + 670 + ], + "'PARENSPACE": [ + -1, + 670 + ], + "'SPY": [ + -1, + 670 + ], + "'NEWTYPE": [ + -1, + 670 + ], + "'LBRACE": [ + -1, + 670 + ], + "'RBRACE": [ + -1, + 670 + ], + "'SHADOW": [ + -1, + 670 + ], + "'LET": [ + -1, + 670 + ], + "'BLOCK": [ + -1, + 670 + ], + "'LETREC": [ + -1, + 670 + ], + "'TYPE-LET": [ + -1, + 670 + ], + "'FUN": [ + -1, + 670 + ], + "'PARENAFTERBRACE": [ + -1, + 670 + ], + "'WHERE": [ + -1, + 670 + ], + "'CHECK": [ + -1, + 670 + ], + "'EXAMPLES": [ + -1, + 670 + ], + "'CHECKCOLON": [ + -1, + 670 + ], + "'EXAMPLESCOLON": [ + -1, + 670 + ], + "'BAR": [ + -1, + 670 + ], + "'VAR": [ + -1, + 670 + ], + "'REC": [ + -1, + 670 + ], + "'WHEN": [ + -1, + 670 + ], + "'DOTDOTDOT": [ + -1, + 670 + ], + "'NUMBER": [ + -1, + 670 + ], + "'RATIONAL": [ + -1, + 670 + ], + "'ROUGHRATIONAL": [ + -1, + 670 + ], + "'TRUE": [ + -1, + 670 + ], + "'FALSE": [ + -1, + 670 + ], + "'LAM": [ + -1, + 670 + ], + "'METHOD": [ + -1, + 670 + ], + "'LBRACK": [ + -1, + 670 + ], + "'TABLE": [ + -1, + 670 + ], + "'REACTOR": [ + -1, + 670 + ], + "'IF": [ + -1, + 670 + ], + "'ELSECOLON": [ + -1, + 670 + ], + "'ELSEIF": [ + -1, + 670 + ], + "'ASK": [ + -1, + 670 + ], + "'CASES": [ + -1, + 670 + ], + "'FOR": [ + -1, + 670 + ], + "'TABLE-SELECT": [ + -1, + 670 + ], + "'TABLE-FILTER": [ + -1, + 670 + ], + "'TABLE-ORDER": [ + -1, + 670 + ], + "'TABLE-EXTRACT": [ + -1, + 670 + ], + "'TABLE-UPDATE": [ + -1, + 670 + ], + "'TABLE-EXTEND": [ + -1, + 670 + ], + "'LOAD-TABLE": [ + -1, + 670 + ] + }, + { + "$": [ + -1, + 672 + ], + "'NAME": [ + -1, + 672 + ], + "'END": [ + -1, + 672 + ], + "'STRING": [ + -1, + 672 + ], + "'TYPE": [ + -1, + 672 + ], + "'DATA": [ + -1, + 672 + ], + "'PARENSPACE": [ + -1, + 672 + ], + "'SPY": [ + -1, + 672 + ], + "'NEWTYPE": [ + -1, + 672 + ], + "'LBRACE": [ + -1, + 672 + ], + "'RBRACE": [ + -1, + 672 + ], + "'SHADOW": [ + -1, + 672 + ], + "'LET": [ + -1, + 672 + ], + "'BLOCK": [ + -1, + 672 + ], + "'LETREC": [ + -1, + 672 + ], + "'TYPE-LET": [ + -1, + 672 + ], + "'FUN": [ + -1, + 672 + ], + "'PARENAFTERBRACE": [ + -1, + 672 + ], + "'WHERE": [ + -1, + 672 + ], + "'CHECK": [ + -1, + 672 + ], + "'EXAMPLES": [ + -1, + 672 + ], + "'CHECKCOLON": [ + -1, + 672 + ], + "'EXAMPLESCOLON": [ + -1, + 672 + ], + "'BAR": [ + -1, + 672 + ], + "'VAR": [ + -1, + 672 + ], + "'REC": [ + -1, + 672 + ], + "'WHEN": [ + -1, + 672 + ], + "'DOTDOTDOT": [ + -1, + 672 + ], + "'NUMBER": [ + -1, + 672 + ], + "'RATIONAL": [ + -1, + 672 + ], + "'ROUGHRATIONAL": [ + -1, + 672 + ], + "'TRUE": [ + -1, + 672 + ], + "'FALSE": [ + -1, + 672 + ], + "'LAM": [ + -1, + 672 + ], + "'METHOD": [ + -1, + 672 + ], + "'LBRACK": [ + -1, + 672 + ], + "'TABLE": [ + -1, + 672 + ], + "'REACTOR": [ + -1, + 672 + ], + "'IF": [ + -1, + 672 + ], + "'ELSECOLON": [ + -1, + 672 + ], + "'ELSEIF": [ + -1, + 672 + ], + "'ASK": [ + -1, + 672 + ], + "'CASES": [ + -1, + 672 + ], + "'FOR": [ + -1, + 672 + ], + "'TABLE-SELECT": [ + -1, + 672 + ], + "'TABLE-FILTER": [ + -1, + 672 + ], + "'TABLE-ORDER": [ + -1, + 672 + ], + "'TABLE-EXTRACT": [ + -1, + 672 + ], + "'TABLE-UPDATE": [ + -1, + 672 + ], + "'TABLE-EXTEND": [ + -1, + 672 + ], + "'LOAD-TABLE": [ + -1, + 672 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 611 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'RBRACE": [ + -1, + 674 + ] + }, + { + "'RBRACE": [ + -1, + 676 + ] + }, + { + "'RBRACE": [ + -1, + 678 + ], + "'SEMI": [ + -1, + 678 + ] + }, + { + "'RBRACE": [ + -1, + 680 + ] + }, + { + "bad-args_I1_I1*": [ + 612 + ], + "'COMMA": [ + -1, + 682 + ], + "'RPAREN": [ + -1, + 684, + 682 + ] + }, + { + "'RPAREN": [ + 613 + ] + }, + { + "'RPAREN": [ + -1, + 686 + ] + }, + { + "'COLON": [ + -1, + 688 + ], + "'BLOCK": [ + -1, + 688 + ] + }, + { + "'COLON": [ + -1, + 690 + ], + "'BLOCK": [ + -1, + 690 + ] + }, + { + "'COLON": [ + -1, + 692 + ], + "'BLOCK": [ + -1, + 692 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 614 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'COLON": [ + -1, + 694 + ], + "'BLOCK": [ + -1, + 694 + ] + }, + { + "args_I1_I1*": [ + 615 + ], + "'COMMA": [ + -1, + 696 + ], + "'RPAREN": [ + -1, + 698, + 696 + ] + }, + { + "'RPAREN": [ + 616 + ] + }, + { + "'RPAREN": [ + -1, + 700 + ] + }, + { + "'RBRACE": [ + 617 + ] + }, + { + "'NAME": [ + -1, + 702 + ], + "'LBRACE": [ + -1, + 702 + ], + "'RBRACE": [ + -1, + 704 + ], + "'SHADOW": [ + -1, + 702 + ] + }, + { + "'RBRACE": [ + -1, + 706 + ] + }, + { + "block": [ + 618 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'RBRACE": [ + -1, + 8, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + -1, + 708 + ], + "'END": [ + -1, + 708 + ], + "'STRING": [ + -1, + 708 + ], + "'TYPE": [ + -1, + 708 + ], + "'DATA": [ + -1, + 708 + ], + "'PARENSPACE": [ + -1, + 708 + ], + "'SPY": [ + -1, + 708 + ], + "'NEWTYPE": [ + -1, + 708 + ], + "'LBRACE": [ + -1, + 708 + ], + "'RBRACE": [ + -1, + 708 + ], + "'SHADOW": [ + -1, + 708 + ], + "'LET": [ + -1, + 708 + ], + "'BLOCK": [ + -1, + 708 + ], + "'LETREC": [ + -1, + 708 + ], + "'TYPE-LET": [ + -1, + 708 + ], + "'FUN": [ + -1, + 708 + ], + "'PARENAFTERBRACE": [ + -1, + 708 + ], + "'WHERE": [ + -1, + 708 + ], + "'CHECK": [ + -1, + 708 + ], + "'EXAMPLES": [ + -1, + 708 + ], + "'CHECKCOLON": [ + -1, + 708 + ], + "'EXAMPLESCOLON": [ + -1, + 708 + ], + "'VAR": [ + -1, + 708 + ], + "'REC": [ + -1, + 708 + ], + "'WHEN": [ + -1, + 708 + ], + "'DOTDOTDOT": [ + -1, + 708 + ], + "'NUMBER": [ + -1, + 708 + ], + "'RATIONAL": [ + -1, + 708 + ], + "'ROUGHRATIONAL": [ + -1, + 708 + ], + "'TRUE": [ + -1, + 708 + ], + "'FALSE": [ + -1, + 708 + ], + "'LAM": [ + -1, + 708 + ], + "'METHOD": [ + -1, + 708 + ], + "'LBRACK": [ + -1, + 708 + ], + "'TABLE": [ + -1, + 708 + ], + "'REACTOR": [ + -1, + 708 + ], + "'IF": [ + -1, + 708 + ], + "'ASK": [ + -1, + 708 + ], + "'CASES": [ + -1, + 708 + ], + "'FOR": [ + -1, + 708 + ], + "'TABLE-SELECT": [ + -1, + 708 + ], + "'TABLE-FILTER": [ + -1, + 708 + ], + "'TABLE-ORDER": [ + -1, + 708 + ], + "'TABLE-EXTRACT": [ + -1, + 708 + ], + "'TABLE-UPDATE": [ + -1, + 708 + ], + "'TABLE-EXTEND": [ + -1, + 708 + ], + "'LOAD-TABLE": [ + -1, + 708 + ] + }, + { + "'NAME": [ + -1, + 710 + ], + "'END": [ + -1, + 710 + ], + "'STRING": [ + -1, + 710 + ], + "'TYPE": [ + -1, + 710 + ], + "'DATA": [ + -1, + 710 + ], + "'PARENSPACE": [ + -1, + 710 + ], + "'SPY": [ + -1, + 710 + ], + "'NEWTYPE": [ + -1, + 710 + ], + "'LBRACE": [ + -1, + 710 + ], + "'RBRACE": [ + -1, + 710 + ], + "'SHADOW": [ + -1, + 710 + ], + "'LET": [ + -1, + 710 + ], + "'BLOCK": [ + -1, + 710 + ], + "'LETREC": [ + -1, + 710 + ], + "'TYPE-LET": [ + -1, + 710 + ], + "'FUN": [ + -1, + 710 + ], + "'PARENAFTERBRACE": [ + -1, + 710 + ], + "'WHERE": [ + -1, + 710 + ], + "'CHECK": [ + -1, + 710 + ], + "'EXAMPLES": [ + -1, + 710 + ], + "'CHECKCOLON": [ + -1, + 710 + ], + "'EXAMPLESCOLON": [ + -1, + 710 + ], + "'VAR": [ + -1, + 710 + ], + "'REC": [ + -1, + 710 + ], + "'WHEN": [ + -1, + 710 + ], + "'DOTDOTDOT": [ + -1, + 710 + ], + "'NUMBER": [ + -1, + 710 + ], + "'RATIONAL": [ + -1, + 710 + ], + "'ROUGHRATIONAL": [ + -1, + 710 + ], + "'TRUE": [ + -1, + 710 + ], + "'FALSE": [ + -1, + 710 + ], + "'LAM": [ + -1, + 710 + ], + "'METHOD": [ + -1, + 710 + ], + "'LBRACK": [ + -1, + 710 + ], + "'TABLE": [ + -1, + 710 + ], + "'REACTOR": [ + -1, + 710 + ], + "'IF": [ + -1, + 710 + ], + "'ASK": [ + -1, + 710 + ], + "'CASES": [ + -1, + 710 + ], + "'FOR": [ + -1, + 710 + ], + "'TABLE-SELECT": [ + -1, + 710 + ], + "'TABLE-FILTER": [ + -1, + 710 + ], + "'TABLE-ORDER": [ + -1, + 710 + ], + "'TABLE-EXTRACT": [ + -1, + 710 + ], + "'TABLE-UPDATE": [ + -1, + 710 + ], + "'TABLE-EXTEND": [ + -1, + 710 + ], + "'LOAD-TABLE": [ + -1, + 710 + ] + }, + { + "'STRING": [ + 619 + ] + }, + { + "'NAME": [ + -1, + 712 + ], + "'COLON": [ + -1, + 712 + ], + "'PARENNOSPACE": [ + -1, + 712 + ], + "'PARENSPACE": [ + -1, + 712 + ], + "'EQUALS": [ + -1, + 712 + ], + "'LBRACE": [ + -1, + 712 + ], + "'PARENAFTERBRACE": [ + -1, + 712 + ], + "'THINARROW": [ + -1, + 712 + ] + }, + { + "'NAME": [ + -1, + 714 + ], + "'COLON": [ + -1, + 714 + ], + "'PARENNOSPACE": [ + -1, + 714 + ], + "'PARENSPACE": [ + -1, + 714 + ], + "'EQUALS": [ + -1, + 714 + ], + "'LBRACE": [ + -1, + 714 + ], + "'PARENAFTERBRACE": [ + -1, + 714 + ], + "'THINARROW": [ + -1, + 714 + ] + }, + { + "'NAME": [ + -1, + 716 + ], + "'COLON": [ + -1, + 716 + ], + "'PARENNOSPACE": [ + -1, + 716 + ], + "'PARENSPACE": [ + -1, + 716 + ], + "'EQUALS": [ + -1, + 716 + ], + "'LBRACE": [ + -1, + 716 + ], + "'PARENAFTERBRACE": [ + -1, + 716 + ], + "'THINARROW": [ + -1, + 716 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 620 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'COLON": [ + 621 + ] + }, + { + "'COLON": [ + -1, + 718 + ] + }, + { + "'COLON": [ + 622 + ], + "'BLOCK": [ + 623 + ], + "obj-field_A2_I3": [ + 624 + ] + }, + { + "'NAME": [ + 291 + ], + "'REF": [ + 175 + ], + "'METHOD": [ + 625 + ], + "obj-field": [ + 626 + ], + "key": [ + 180 + ], + "'END": [ + -1, + 720 + ], + "'RBRACE": [ + -1, + 720 + ] + }, + { + "'END": [ + -1, + 722 + ], + "'RBRACE": [ + -1, + 722 + ] + }, + { + "'END": [ + -1, + 724 + ], + "'COMMA": [ + -1, + 724 + ], + "'RBRACE": [ + -1, + 724 + ] + }, + { + "'END": [ + -1, + 726 + ], + "'RBRACE": [ + -1, + 726 + ] + }, + { + "'END": [ + -1, + 728 + ], + "'COMMA": [ + -1, + 728 + ], + "'RBRACE": [ + -1, + 728 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'FROM": [ + -1, + 730 + ], + "'COLON": [ + -1, + 730 + ], + "'COMMA": [ + -1, + 730 + ], + "'RPAREN": [ + -1, + 730 + ], + "'EQUALS": [ + -1, + 730 + ], + "'RBRACE": [ + -1, + 730 + ], + "'SEMI": [ + -1, + 730 + ] + }, + { + "'NAME": [ + -1, + 732 + ], + "'END": [ + -1, + 732 + ], + "'STRING": [ + -1, + 732 + ], + "'TYPE": [ + -1, + 732 + ], + "'DATA": [ + -1, + 732 + ], + "'PARENSPACE": [ + -1, + 732 + ], + "'SPY": [ + -1, + 732 + ], + "'NEWTYPE": [ + -1, + 732 + ], + "'LBRACE": [ + -1, + 732 + ], + "'SHADOW": [ + -1, + 732 + ], + "'LET": [ + -1, + 732 + ], + "'BLOCK": [ + -1, + 732 + ], + "'LETREC": [ + -1, + 732 + ], + "'TYPE-LET": [ + -1, + 732 + ], + "'FUN": [ + -1, + 732 + ], + "'PARENAFTERBRACE": [ + -1, + 732 + ], + "'CHECK": [ + -1, + 732 + ], + "'EXAMPLES": [ + -1, + 732 + ], + "'CHECKCOLON": [ + -1, + 732 + ], + "'EXAMPLESCOLON": [ + -1, + 732 + ], + "'VAR": [ + -1, + 732 + ], + "'REC": [ + -1, + 732 + ], + "'WHEN": [ + -1, + 732 + ], + "'DOTDOTDOT": [ + -1, + 732 + ], + "'NUMBER": [ + -1, + 732 + ], + "'RATIONAL": [ + -1, + 732 + ], + "'ROUGHRATIONAL": [ + -1, + 732 + ], + "'TRUE": [ + -1, + 732 + ], + "'FALSE": [ + -1, + 732 + ], + "'LAM": [ + -1, + 732 + ], + "'METHOD": [ + -1, + 732 + ], + "'LBRACK": [ + -1, + 732 + ], + "'TABLE": [ + -1, + 732 + ], + "'REACTOR": [ + -1, + 732 + ], + "'IF": [ + -1, + 732 + ], + "'ASK": [ + -1, + 732 + ], + "'CASES": [ + -1, + 732 + ], + "'FOR": [ + -1, + 732 + ], + "'TABLE-SELECT": [ + -1, + 732 + ], + "'TABLE-FILTER": [ + -1, + 732 + ], + "'TABLE-ORDER": [ + -1, + 732 + ], + "'TABLE-EXTRACT": [ + -1, + 732 + ], + "'TABLE-UPDATE": [ + -1, + 732 + ], + "'TABLE-EXTEND": [ + -1, + 732 + ], + "'LOAD-TABLE": [ + -1, + 732 + ] + }, + { + "let-expr": [ + 182 + ], + "var-expr": [ + 183 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "let-binding": [ + 627 + ], + "'VAR": [ + 58 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "block": [ + 628 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'COLON": [ + -1, + 734 + ], + "'COMMA": [ + -1, + 734 + ], + "'BLOCK": [ + -1, + 734 + ] + }, + { + "'NAME": [ + -1, + 736 + ], + "'END": [ + -1, + 736 + ], + "'STRING": [ + -1, + 736 + ], + "'TYPE": [ + -1, + 736 + ], + "'DATA": [ + -1, + 736 + ], + "'PARENSPACE": [ + -1, + 736 + ], + "'SPY": [ + -1, + 736 + ], + "'NEWTYPE": [ + -1, + 736 + ], + "'LBRACE": [ + -1, + 736 + ], + "'SHADOW": [ + -1, + 736 + ], + "'LET": [ + -1, + 736 + ], + "'BLOCK": [ + -1, + 736 + ], + "'LETREC": [ + -1, + 736 + ], + "'TYPE-LET": [ + -1, + 736 + ], + "'FUN": [ + -1, + 736 + ], + "'PARENAFTERBRACE": [ + -1, + 736 + ], + "'CHECK": [ + -1, + 736 + ], + "'EXAMPLES": [ + -1, + 736 + ], + "'CHECKCOLON": [ + -1, + 736 + ], + "'EXAMPLESCOLON": [ + -1, + 736 + ], + "'VAR": [ + -1, + 736 + ], + "'REC": [ + -1, + 736 + ], + "'WHEN": [ + -1, + 736 + ], + "'DOTDOTDOT": [ + -1, + 736 + ], + "'NUMBER": [ + -1, + 736 + ], + "'RATIONAL": [ + -1, + 736 + ], + "'ROUGHRATIONAL": [ + -1, + 736 + ], + "'TRUE": [ + -1, + 736 + ], + "'FALSE": [ + -1, + 736 + ], + "'LAM": [ + -1, + 736 + ], + "'METHOD": [ + -1, + 736 + ], + "'LBRACK": [ + -1, + 736 + ], + "'TABLE": [ + -1, + 736 + ], + "'REACTOR": [ + -1, + 736 + ], + "'IF": [ + -1, + 736 + ], + "'ASK": [ + -1, + 736 + ], + "'CASES": [ + -1, + 736 + ], + "'FOR": [ + -1, + 736 + ], + "'TABLE-SELECT": [ + -1, + 736 + ], + "'TABLE-FILTER": [ + -1, + 736 + ], + "'TABLE-ORDER": [ + -1, + 736 + ], + "'TABLE-EXTRACT": [ + -1, + 736 + ], + "'TABLE-UPDATE": [ + -1, + 736 + ], + "'TABLE-EXTEND": [ + -1, + 736 + ], + "'LOAD-TABLE": [ + -1, + 736 + ] + }, + { + "'NAME": [ + -1, + 738 + ], + "'END": [ + -1, + 738 + ], + "'STRING": [ + -1, + 738 + ], + "'TYPE": [ + -1, + 738 + ], + "'DATA": [ + -1, + 738 + ], + "'PARENSPACE": [ + -1, + 738 + ], + "'SPY": [ + -1, + 738 + ], + "'NEWTYPE": [ + -1, + 738 + ], + "'LBRACE": [ + -1, + 738 + ], + "'SHADOW": [ + -1, + 738 + ], + "'LET": [ + -1, + 738 + ], + "'BLOCK": [ + -1, + 738 + ], + "'LETREC": [ + -1, + 738 + ], + "'TYPE-LET": [ + -1, + 738 + ], + "'FUN": [ + -1, + 738 + ], + "'PARENAFTERBRACE": [ + -1, + 738 + ], + "'CHECK": [ + -1, + 738 + ], + "'EXAMPLES": [ + -1, + 738 + ], + "'CHECKCOLON": [ + -1, + 738 + ], + "'EXAMPLESCOLON": [ + -1, + 738 + ], + "'VAR": [ + -1, + 738 + ], + "'REC": [ + -1, + 738 + ], + "'WHEN": [ + -1, + 738 + ], + "'DOTDOTDOT": [ + -1, + 738 + ], + "'NUMBER": [ + -1, + 738 + ], + "'RATIONAL": [ + -1, + 738 + ], + "'ROUGHRATIONAL": [ + -1, + 738 + ], + "'TRUE": [ + -1, + 738 + ], + "'FALSE": [ + -1, + 738 + ], + "'LAM": [ + -1, + 738 + ], + "'METHOD": [ + -1, + 738 + ], + "'LBRACK": [ + -1, + 738 + ], + "'TABLE": [ + -1, + 738 + ], + "'REACTOR": [ + -1, + 738 + ], + "'IF": [ + -1, + 738 + ], + "'ASK": [ + -1, + 738 + ], + "'CASES": [ + -1, + 738 + ], + "'FOR": [ + -1, + 738 + ], + "'TABLE-SELECT": [ + -1, + 738 + ], + "'TABLE-FILTER": [ + -1, + 738 + ], + "'TABLE-ORDER": [ + -1, + 738 + ], + "'TABLE-EXTRACT": [ + -1, + 738 + ], + "'TABLE-UPDATE": [ + -1, + 738 + ], + "'TABLE-EXTEND": [ + -1, + 738 + ], + "'LOAD-TABLE": [ + -1, + 738 + ] + }, + { + "let-expr": [ + 629 + ], + "toplevel-binding": [ + 35 + ], + "binding": [ + 36 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'NAME": [ + -1, + 740 + ], + "'END": [ + -1, + 740 + ], + "'STRING": [ + -1, + 740 + ], + "'TYPE": [ + -1, + 740 + ], + "'DATA": [ + -1, + 740 + ], + "'PARENSPACE": [ + -1, + 740 + ], + "'SPY": [ + -1, + 740 + ], + "'NEWTYPE": [ + -1, + 740 + ], + "'LBRACE": [ + -1, + 740 + ], + "'SHADOW": [ + -1, + 740 + ], + "'LET": [ + -1, + 740 + ], + "'BLOCK": [ + -1, + 740 + ], + "'LETREC": [ + -1, + 740 + ], + "'TYPE-LET": [ + -1, + 740 + ], + "'FUN": [ + -1, + 740 + ], + "'PARENAFTERBRACE": [ + -1, + 740 + ], + "'CHECK": [ + -1, + 740 + ], + "'EXAMPLES": [ + -1, + 740 + ], + "'CHECKCOLON": [ + -1, + 740 + ], + "'EXAMPLESCOLON": [ + -1, + 740 + ], + "'VAR": [ + -1, + 740 + ], + "'REC": [ + -1, + 740 + ], + "'WHEN": [ + -1, + 740 + ], + "'DOTDOTDOT": [ + -1, + 740 + ], + "'NUMBER": [ + -1, + 740 + ], + "'RATIONAL": [ + -1, + 740 + ], + "'ROUGHRATIONAL": [ + -1, + 740 + ], + "'TRUE": [ + -1, + 740 + ], + "'FALSE": [ + -1, + 740 + ], + "'LAM": [ + -1, + 740 + ], + "'METHOD": [ + -1, + 740 + ], + "'LBRACK": [ + -1, + 740 + ], + "'TABLE": [ + -1, + 740 + ], + "'REACTOR": [ + -1, + 740 + ], + "'IF": [ + -1, + 740 + ], + "'ASK": [ + -1, + 740 + ], + "'CASES": [ + -1, + 740 + ], + "'FOR": [ + -1, + 740 + ], + "'TABLE-SELECT": [ + -1, + 740 + ], + "'TABLE-FILTER": [ + -1, + 740 + ], + "'TABLE-ORDER": [ + -1, + 740 + ], + "'TABLE-EXTRACT": [ + -1, + 740 + ], + "'TABLE-UPDATE": [ + -1, + 740 + ], + "'TABLE-EXTEND": [ + -1, + 740 + ], + "'LOAD-TABLE": [ + -1, + 740 + ] + }, + { + "block": [ + 630 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'COLON": [ + -1, + 742 + ], + "'COMMA": [ + -1, + 742 + ], + "'BLOCK": [ + -1, + 742 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 631 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'NAME": [ + 632 + ] + }, + { + "'NAME": [ + -1, + 744 + ], + "'END": [ + -1, + 744 + ], + "'STRING": [ + -1, + 744 + ], + "'TYPE": [ + -1, + 744 + ], + "'DATA": [ + -1, + 744 + ], + "'PARENSPACE": [ + -1, + 744 + ], + "'SPY": [ + -1, + 744 + ], + "'NEWTYPE": [ + -1, + 744 + ], + "'LBRACE": [ + -1, + 744 + ], + "'SHADOW": [ + -1, + 744 + ], + "'LET": [ + -1, + 744 + ], + "'BLOCK": [ + -1, + 744 + ], + "'LETREC": [ + -1, + 744 + ], + "'TYPE-LET": [ + -1, + 744 + ], + "'FUN": [ + -1, + 744 + ], + "'PARENAFTERBRACE": [ + -1, + 744 + ], + "'CHECK": [ + -1, + 744 + ], + "'EXAMPLES": [ + -1, + 744 + ], + "'CHECKCOLON": [ + -1, + 744 + ], + "'EXAMPLESCOLON": [ + -1, + 744 + ], + "'VAR": [ + -1, + 744 + ], + "'REC": [ + -1, + 744 + ], + "'WHEN": [ + -1, + 744 + ], + "'DOTDOTDOT": [ + -1, + 744 + ], + "'NUMBER": [ + -1, + 744 + ], + "'RATIONAL": [ + -1, + 744 + ], + "'ROUGHRATIONAL": [ + -1, + 744 + ], + "'TRUE": [ + -1, + 744 + ], + "'FALSE": [ + -1, + 744 + ], + "'LAM": [ + -1, + 744 + ], + "'METHOD": [ + -1, + 744 + ], + "'LBRACK": [ + -1, + 744 + ], + "'TABLE": [ + -1, + 744 + ], + "'REACTOR": [ + -1, + 744 + ], + "'IF": [ + -1, + 744 + ], + "'ASK": [ + -1, + 744 + ], + "'CASES": [ + -1, + 744 + ], + "'FOR": [ + -1, + 744 + ], + "'TABLE-SELECT": [ + -1, + 744 + ], + "'TABLE-FILTER": [ + -1, + 744 + ], + "'TABLE-ORDER": [ + -1, + 744 + ], + "'TABLE-EXTRACT": [ + -1, + 744 + ], + "'TABLE-UPDATE": [ + -1, + 744 + ], + "'TABLE-EXTEND": [ + -1, + 744 + ], + "'LOAD-TABLE": [ + -1, + 744 + ] + }, + { + "'NAME": [ + 188 + ], + "'NEWTYPE": [ + 189 + ], + "type-bind": [ + 190 + ], + "newtype-bind": [ + 191 + ], + "type-let-bind": [ + 633 + ] + }, + { + "'NAME": [ + -1, + 746 + ], + "'END": [ + -1, + 746 + ], + "'STRING": [ + -1, + 746 + ], + "'TYPE": [ + -1, + 746 + ], + "'DATA": [ + -1, + 746 + ], + "'PARENSPACE": [ + -1, + 746 + ], + "'SPY": [ + -1, + 746 + ], + "'NEWTYPE": [ + -1, + 746 + ], + "'LBRACE": [ + -1, + 746 + ], + "'SHADOW": [ + -1, + 746 + ], + "'LET": [ + -1, + 746 + ], + "'BLOCK": [ + -1, + 746 + ], + "'LETREC": [ + -1, + 746 + ], + "'TYPE-LET": [ + -1, + 746 + ], + "'FUN": [ + -1, + 746 + ], + "'PARENAFTERBRACE": [ + -1, + 746 + ], + "'CHECK": [ + -1, + 746 + ], + "'EXAMPLES": [ + -1, + 746 + ], + "'CHECKCOLON": [ + -1, + 746 + ], + "'EXAMPLESCOLON": [ + -1, + 746 + ], + "'VAR": [ + -1, + 746 + ], + "'REC": [ + -1, + 746 + ], + "'WHEN": [ + -1, + 746 + ], + "'DOTDOTDOT": [ + -1, + 746 + ], + "'NUMBER": [ + -1, + 746 + ], + "'RATIONAL": [ + -1, + 746 + ], + "'ROUGHRATIONAL": [ + -1, + 746 + ], + "'TRUE": [ + -1, + 746 + ], + "'FALSE": [ + -1, + 746 + ], + "'LAM": [ + -1, + 746 + ], + "'METHOD": [ + -1, + 746 + ], + "'LBRACK": [ + -1, + 746 + ], + "'TABLE": [ + -1, + 746 + ], + "'REACTOR": [ + -1, + 746 + ], + "'IF": [ + -1, + 746 + ], + "'ASK": [ + -1, + 746 + ], + "'CASES": [ + -1, + 746 + ], + "'FOR": [ + -1, + 746 + ], + "'TABLE-SELECT": [ + -1, + 746 + ], + "'TABLE-FILTER": [ + -1, + 746 + ], + "'TABLE-ORDER": [ + -1, + 746 + ], + "'TABLE-EXTRACT": [ + -1, + 746 + ], + "'TABLE-UPDATE": [ + -1, + 746 + ], + "'TABLE-EXTEND": [ + -1, + 746 + ], + "'LOAD-TABLE": [ + -1, + 746 + ] + }, + { + "block": [ + 634 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'COLON": [ + -1, + 748 + ], + "'COMMA": [ + -1, + 748 + ], + "'BLOCK": [ + -1, + 748 + ] + }, + { + "'NAME": [ + -1, + 750 + ], + "'END": [ + -1, + 750 + ], + "'STRING": [ + -1, + 750 + ], + "'TYPE": [ + -1, + 750 + ], + "'DATA": [ + -1, + 750 + ], + "'PARENSPACE": [ + -1, + 750 + ], + "'SPY": [ + -1, + 750 + ], + "'NEWTYPE": [ + -1, + 750 + ], + "'LBRACE": [ + -1, + 750 + ], + "'SHADOW": [ + -1, + 750 + ], + "'LET": [ + -1, + 750 + ], + "'BLOCK": [ + -1, + 750 + ], + "'LETREC": [ + -1, + 750 + ], + "'TYPE-LET": [ + -1, + 750 + ], + "'FUN": [ + -1, + 750 + ], + "'PARENAFTERBRACE": [ + -1, + 750 + ], + "'DOC": [ + -1, + 750 + ], + "'WHERE": [ + -1, + 750 + ], + "'CHECK": [ + -1, + 750 + ], + "'EXAMPLES": [ + -1, + 750 + ], + "'CHECKCOLON": [ + -1, + 750 + ], + "'EXAMPLESCOLON": [ + -1, + 750 + ], + "'VAR": [ + -1, + 750 + ], + "'REC": [ + -1, + 750 + ], + "'WHEN": [ + -1, + 750 + ], + "'DOTDOTDOT": [ + -1, + 750 + ], + "'NUMBER": [ + -1, + 750 + ], + "'RATIONAL": [ + -1, + 750 + ], + "'ROUGHRATIONAL": [ + -1, + 750 + ], + "'TRUE": [ + -1, + 750 + ], + "'FALSE": [ + -1, + 750 + ], + "'LAM": [ + -1, + 750 + ], + "'METHOD": [ + -1, + 750 + ], + "'LBRACK": [ + -1, + 750 + ], + "'TABLE": [ + -1, + 750 + ], + "'REACTOR": [ + -1, + 750 + ], + "'IF": [ + -1, + 750 + ], + "'ASK": [ + -1, + 750 + ], + "'CASES": [ + -1, + 750 + ], + "'FOR": [ + -1, + 750 + ], + "'TABLE-SELECT": [ + -1, + 750 + ], + "'TABLE-FILTER": [ + -1, + 750 + ], + "'TABLE-ORDER": [ + -1, + 750 + ], + "'TABLE-EXTRACT": [ + -1, + 750 + ], + "'TABLE-UPDATE": [ + -1, + 750 + ], + "'TABLE-EXTEND": [ + -1, + 750 + ], + "'LOAD-TABLE": [ + -1, + 750 + ] + }, + { + "'NAME": [ + -1, + 752 + ], + "'END": [ + -1, + 752 + ], + "'STRING": [ + -1, + 752 + ], + "'TYPE": [ + -1, + 752 + ], + "'DATA": [ + -1, + 752 + ], + "'PARENSPACE": [ + -1, + 752 + ], + "'SPY": [ + -1, + 752 + ], + "'NEWTYPE": [ + -1, + 752 + ], + "'LBRACE": [ + -1, + 752 + ], + "'SHADOW": [ + -1, + 752 + ], + "'LET": [ + -1, + 752 + ], + "'BLOCK": [ + -1, + 752 + ], + "'LETREC": [ + -1, + 752 + ], + "'TYPE-LET": [ + -1, + 752 + ], + "'FUN": [ + -1, + 752 + ], + "'PARENAFTERBRACE": [ + -1, + 752 + ], + "'DOC": [ + -1, + 752 + ], + "'WHERE": [ + -1, + 752 + ], + "'CHECK": [ + -1, + 752 + ], + "'EXAMPLES": [ + -1, + 752 + ], + "'CHECKCOLON": [ + -1, + 752 + ], + "'EXAMPLESCOLON": [ + -1, + 752 + ], + "'VAR": [ + -1, + 752 + ], + "'REC": [ + -1, + 752 + ], + "'WHEN": [ + -1, + 752 + ], + "'DOTDOTDOT": [ + -1, + 752 + ], + "'NUMBER": [ + -1, + 752 + ], + "'RATIONAL": [ + -1, + 752 + ], + "'ROUGHRATIONAL": [ + -1, + 752 + ], + "'TRUE": [ + -1, + 752 + ], + "'FALSE": [ + -1, + 752 + ], + "'LAM": [ + -1, + 752 + ], + "'METHOD": [ + -1, + 752 + ], + "'LBRACK": [ + -1, + 752 + ], + "'TABLE": [ + -1, + 752 + ], + "'REACTOR": [ + -1, + 752 + ], + "'IF": [ + -1, + 752 + ], + "'ASK": [ + -1, + 752 + ], + "'CASES": [ + -1, + 752 + ], + "'FOR": [ + -1, + 752 + ], + "'TABLE-SELECT": [ + -1, + 752 + ], + "'TABLE-FILTER": [ + -1, + 752 + ], + "'TABLE-ORDER": [ + -1, + 752 + ], + "'TABLE-EXTRACT": [ + -1, + 752 + ], + "'TABLE-UPDATE": [ + -1, + 752 + ], + "'TABLE-EXTEND": [ + -1, + 752 + ], + "'LOAD-TABLE": [ + -1, + 752 + ] + }, + { + "doc-string": [ + 635 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'END": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "'END": [ + 636 + ] + }, + { + "$": [ + -1, + 754 + ], + "'NAME": [ + -1, + 754 + ], + "'COLON": [ + -1, + 754 + ], + "'END": [ + -1, + 754 + ], + "'COMMA": [ + -1, + 754 + ], + "'STRING": [ + -1, + 754 + ], + "'TYPE": [ + -1, + 754 + ], + "'DATA": [ + -1, + 754 + ], + "'PARENSPACE": [ + -1, + 754 + ], + "'SPY": [ + -1, + 754 + ], + "'NEWTYPE": [ + -1, + 754 + ], + "'LBRACE": [ + -1, + 754 + ], + "'RBRACE": [ + -1, + 754 + ], + "'SHADOW": [ + -1, + 754 + ], + "'LET": [ + -1, + 754 + ], + "'BLOCK": [ + -1, + 754 + ], + "'LETREC": [ + -1, + 754 + ], + "'TYPE-LET": [ + -1, + 754 + ], + "'FUN": [ + -1, + 754 + ], + "'PARENAFTERBRACE": [ + -1, + 754 + ], + "'WHERE": [ + -1, + 754 + ], + "'CHECK": [ + -1, + 754 + ], + "'EXAMPLES": [ + -1, + 754 + ], + "'CHECKCOLON": [ + -1, + 754 + ], + "'EXAMPLESCOLON": [ + -1, + 754 + ], + "'BAR": [ + -1, + 754 + ], + "'VAR": [ + -1, + 754 + ], + "'REC": [ + -1, + 754 + ], + "'WHEN": [ + -1, + 754 + ], + "'DOTDOTDOT": [ + -1, + 754 + ], + "'NUMBER": [ + -1, + 754 + ], + "'RATIONAL": [ + -1, + 754 + ], + "'ROUGHRATIONAL": [ + -1, + 754 + ], + "'TRUE": [ + -1, + 754 + ], + "'FALSE": [ + -1, + 754 + ], + "'LAM": [ + -1, + 754 + ], + "'METHOD": [ + -1, + 754 + ], + "'LBRACK": [ + -1, + 754 + ], + "'TABLE": [ + -1, + 754 + ], + "'REACTOR": [ + -1, + 754 + ], + "'IF": [ + -1, + 754 + ], + "'ELSECOLON": [ + -1, + 754 + ], + "'ELSEIF": [ + -1, + 754 + ], + "'ASK": [ + -1, + 754 + ], + "'CASES": [ + -1, + 754 + ], + "'FOR": [ + -1, + 754 + ], + "'TABLE-SELECT": [ + -1, + 754 + ], + "'TABLE-FILTER": [ + -1, + 754 + ], + "'TABLE-ORDER": [ + -1, + 754 + ], + "'TABLE-EXTRACT": [ + -1, + 754 + ], + "'TABLE-UPDATE": [ + -1, + 754 + ], + "'TABLE-EXTEND": [ + -1, + 754 + ], + "'LOAD-TABLE": [ + -1, + 754 + ] + }, + { + "$": [ + -1, + 756 + ], + "'NAME": [ + -1, + 756 + ], + "'END": [ + -1, + 756 + ], + "'STRING": [ + -1, + 756 + ], + "'TYPE": [ + -1, + 756 + ], + "'DATA": [ + -1, + 756 + ], + "'PARENSPACE": [ + -1, + 756 + ], + "'SPY": [ + -1, + 756 + ], + "'NEWTYPE": [ + -1, + 756 + ], + "'LBRACE": [ + -1, + 756 + ], + "'RBRACE": [ + -1, + 756 + ], + "'SHADOW": [ + -1, + 756 + ], + "'LET": [ + -1, + 756 + ], + "'BLOCK": [ + -1, + 756 + ], + "'LETREC": [ + -1, + 756 + ], + "'TYPE-LET": [ + -1, + 756 + ], + "'FUN": [ + -1, + 756 + ], + "'PARENAFTERBRACE": [ + -1, + 756 + ], + "'WHERE": [ + -1, + 756 + ], + "'CHECK": [ + -1, + 756 + ], + "'EXAMPLES": [ + -1, + 756 + ], + "'CHECKCOLON": [ + -1, + 756 + ], + "'EXAMPLESCOLON": [ + -1, + 756 + ], + "'BAR": [ + -1, + 756 + ], + "'VAR": [ + -1, + 756 + ], + "'REC": [ + -1, + 756 + ], + "'WHEN": [ + -1, + 756 + ], + "'DOTDOTDOT": [ + -1, + 756 + ], + "'NUMBER": [ + -1, + 756 + ], + "'RATIONAL": [ + -1, + 756 + ], + "'ROUGHRATIONAL": [ + -1, + 756 + ], + "'TRUE": [ + -1, + 756 + ], + "'FALSE": [ + -1, + 756 + ], + "'LAM": [ + -1, + 756 + ], + "'METHOD": [ + -1, + 756 + ], + "'LBRACK": [ + -1, + 756 + ], + "'TABLE": [ + -1, + 756 + ], + "'REACTOR": [ + -1, + 756 + ], + "'IF": [ + -1, + 756 + ], + "'ELSECOLON": [ + -1, + 756 + ], + "'ELSEIF": [ + -1, + 756 + ], + "'ASK": [ + -1, + 756 + ], + "'CASES": [ + -1, + 756 + ], + "'FOR": [ + -1, + 756 + ], + "'TABLE-SELECT": [ + -1, + 756 + ], + "'TABLE-FILTER": [ + -1, + 756 + ], + "'TABLE-ORDER": [ + -1, + 756 + ], + "'TABLE-EXTRACT": [ + -1, + 756 + ], + "'TABLE-UPDATE": [ + -1, + 756 + ], + "'TABLE-EXTEND": [ + -1, + 756 + ], + "'LOAD-TABLE": [ + -1, + 756 + ] + }, + { + "'END": [ + 637 + ] + }, + { + "'COMMA": [ + 638, + 758 + ], + "comma-binops_I1": [ + 639 + ], + "'RPAREN": [ + -1, + 758 + ], + "'RBRACK": [ + -1, + 758 + ] + }, + { + "$": [ + -1, + 760 + ], + "'NAME": [ + -1, + 760 + ], + "'COLON": [ + -1, + 760 + ], + "'END": [ + -1, + 760 + ], + "'COMMA": [ + -1, + 760 + ], + "'PARENNOSPACE": [ + -1, + 760 + ], + "'STRING": [ + -1, + 760 + ], + "'RPAREN": [ + -1, + 760 + ], + "'TYPE": [ + -1, + 760 + ], + "'DATA": [ + -1, + 760 + ], + "'TIMES": [ + -1, + 760 + ], + "'PARENSPACE": [ + -1, + 760 + ], + "'DOT": [ + -1, + 760 + ], + "'SPY": [ + -1, + 760 + ], + "'NEWTYPE": [ + -1, + 760 + ], + "'LBRACE": [ + -1, + 760 + ], + "'RBRACE": [ + -1, + 760 + ], + "'SEMI": [ + -1, + 760 + ], + "'SHADOW": [ + -1, + 760 + ], + "'LET": [ + -1, + 760 + ], + "'BLOCK": [ + -1, + 760 + ], + "'LETREC": [ + -1, + 760 + ], + "'TYPE-LET": [ + -1, + 760 + ], + "'FUN": [ + -1, + 760 + ], + "'LANGLE": [ + -1, + 760 + ], + "'LT": [ + -1, + 760 + ], + "'GT": [ + -1, + 760 + ], + "'PARENAFTERBRACE": [ + -1, + 760 + ], + "'WHERE": [ + -1, + 760 + ], + "'CHECK": [ + -1, + 760 + ], + "'EXAMPLES": [ + -1, + 760 + ], + "'CHECKCOLON": [ + -1, + 760 + ], + "'EXAMPLESCOLON": [ + -1, + 760 + ], + "'BECAUSE": [ + -1, + 760 + ], + "'BAR": [ + -1, + 760 + ], + "'SHARING": [ + -1, + 760 + ], + "'VAR": [ + -1, + 760 + ], + "'REC": [ + -1, + 760 + ], + "'WHEN": [ + -1, + 760 + ], + "'PLUS": [ + -1, + 760 + ], + "'DASH": [ + -1, + 760 + ], + "'SLASH": [ + -1, + 760 + ], + "'LEQ": [ + -1, + 760 + ], + "'GEQ": [ + -1, + 760 + ], + "'EQUALEQUAL": [ + -1, + 760 + ], + "'SPACESHIP": [ + -1, + 760 + ], + "'EQUALTILDE": [ + -1, + 760 + ], + "'NEQ": [ + -1, + 760 + ], + "'AND": [ + -1, + 760 + ], + "'OR": [ + -1, + 760 + ], + "'CARET": [ + -1, + 760 + ], + "'IS": [ + -1, + 760 + ], + "'ISEQUALEQUAL": [ + -1, + 760 + ], + "'ISEQUALTILDE": [ + -1, + 760 + ], + "'ISSPACESHIP": [ + -1, + 760 + ], + "'ISROUGHLY": [ + -1, + 760 + ], + "'ISNOT": [ + -1, + 760 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 760 + ], + "'ISNOTEQUALTILDE": [ + -1, + 760 + ], + "'ISNOTSPACESHIP": [ + -1, + 760 + ], + "'RAISES": [ + -1, + 760 + ], + "'RAISESOTHER": [ + -1, + 760 + ], + "'SATISFIES": [ + -1, + 760 + ], + "'SATISFIESNOT": [ + -1, + 760 + ], + "'RAISESSATISFIES": [ + -1, + 760 + ], + "'RAISESVIOLATES": [ + -1, + 760 + ], + "'RAISESNOT": [ + -1, + 760 + ], + "'DOTDOTDOT": [ + -1, + 760 + ], + "'NUMBER": [ + -1, + 760 + ], + "'RATIONAL": [ + -1, + 760 + ], + "'ROUGHRATIONAL": [ + -1, + 760 + ], + "'TRUE": [ + -1, + 760 + ], + "'FALSE": [ + -1, + 760 + ], + "'LAM": [ + -1, + 760 + ], + "'METHOD": [ + -1, + 760 + ], + "'LBRACK": [ + -1, + 760 + ], + "'RBRACK": [ + -1, + 760 + ], + "'TABLE": [ + -1, + 760 + ], + "'ROW": [ + -1, + 760 + ], + "'REACTOR": [ + -1, + 760 + ], + "'BANG": [ + -1, + 760 + ], + "'IF": [ + -1, + 760 + ], + "'ELSECOLON": [ + -1, + 760 + ], + "'ELSEIF": [ + -1, + 760 + ], + "'ASK": [ + -1, + 760 + ], + "'THENCOLON": [ + -1, + 760 + ], + "'CASES": [ + -1, + 760 + ], + "'FOR": [ + -1, + 760 + ], + "'TABLE-SELECT": [ + -1, + 760 + ], + "'TABLE-FILTER": [ + -1, + 760 + ], + "'USING": [ + -1, + 760 + ], + "'TABLE-ORDER": [ + -1, + 760 + ], + "'TABLE-EXTRACT": [ + -1, + 760 + ], + "'TABLE-UPDATE": [ + -1, + 760 + ], + "'TABLE-EXTEND": [ + -1, + 760 + ], + "'OF": [ + -1, + 760 + ], + "'LOAD-TABLE": [ + -1, + 760 + ], + "'SOURCECOLON": [ + -1, + 760 + ], + "'SANITIZE": [ + -1, + 760 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 640 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'RBRACE": [ + 641 + ] + }, + { + "'RBRACE": [ + 642 + ] + }, + { + "'NAME": [ + 643 + ] + }, + { + "'PARENNOSPACE": [ + 644 + ], + "'PARENSPACE": [ + 645 + ], + "pred-ann_I2": [ + 646 + ] + }, + { + "'COMMA": [ + 647 + ], + "'RANGLE": [ + 648 + ], + "'GT": [ + 649 + ], + "inst-expr_I4": [ + 650 + ], + "inst-expr_I3": [ + 651 + ] + }, + { + "'DOT": [ + 515 + ], + "'COLONCOLON": [ + 576 + ], + "'RBRACE": [ + -1, + 470 + ], + "'SEMI": [ + -1, + 470 + ], + "'LANGLE": [ + -1, + 470 + ], + "'PERCENT": [ + -1, + 470 + ] + }, + { + "'PERCENT": [ + 516 + ], + "tuple-ann_I2*": [ + 652 + ], + "'RBRACE": [ + -1, + 762 + ], + "'SEMI": [ + -1, + 762 + ] + }, + { + "'PERCENT": [ + 516 + ], + "comma-anns_I1*": [ + 595 + ], + "'COMMA": [ + -1, + 634 + ], + "'RANGLE": [ + -1, + 636, + 634 + ], + "'GT": [ + -1, + 636, + 634 + ], + "'THINARROW": [ + -1, + 636, + 634 + ] + }, + { + "'THINARROW": [ + -1, + 764 + ] + }, + { + "'THINARROW": [ + 653 + ] + }, + { + "'THINARROW": [ + -1, + 766 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 520 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "comma-anns": [ + 654 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200, + 768 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205, + 768 + ], + "'BANG": [ + 206 + ], + "$": [ + -1, + 768 + ], + "'NAME": [ + -1, + 768 + ], + "'COLON": [ + -1, + 768 + ], + "'END": [ + -1, + 768 + ], + "'COMMA": [ + -1, + 768 + ], + "'STRING": [ + -1, + 768 + ], + "'RPAREN": [ + -1, + 768 + ], + "'TYPE": [ + -1, + 768 + ], + "'DATA": [ + -1, + 768 + ], + "'TIMES": [ + -1, + 768 + ], + "'SPY": [ + -1, + 768 + ], + "'NEWTYPE": [ + -1, + 768 + ], + "'LBRACE": [ + -1, + 768 + ], + "'RBRACE": [ + -1, + 768 + ], + "'SEMI": [ + -1, + 768 + ], + "'SHADOW": [ + -1, + 768 + ], + "'LET": [ + -1, + 768 + ], + "'BLOCK": [ + -1, + 768 + ], + "'LETREC": [ + -1, + 768 + ], + "'TYPE-LET": [ + -1, + 768 + ], + "'FUN": [ + -1, + 768 + ], + "'LT": [ + -1, + 768 + ], + "'GT": [ + -1, + 768 + ], + "'PARENAFTERBRACE": [ + -1, + 768 + ], + "'WHERE": [ + -1, + 768 + ], + "'CHECK": [ + -1, + 768 + ], + "'EXAMPLES": [ + -1, + 768 + ], + "'CHECKCOLON": [ + -1, + 768 + ], + "'EXAMPLESCOLON": [ + -1, + 768 + ], + "'BECAUSE": [ + -1, + 768 + ], + "'BAR": [ + -1, + 768 + ], + "'SHARING": [ + -1, + 768 + ], + "'VAR": [ + -1, + 768 + ], + "'REC": [ + -1, + 768 + ], + "'WHEN": [ + -1, + 768 + ], + "'PLUS": [ + -1, + 768 + ], + "'DASH": [ + -1, + 768 + ], + "'SLASH": [ + -1, + 768 + ], + "'LEQ": [ + -1, + 768 + ], + "'GEQ": [ + -1, + 768 + ], + "'EQUALEQUAL": [ + -1, + 768 + ], + "'SPACESHIP": [ + -1, + 768 + ], + "'EQUALTILDE": [ + -1, + 768 + ], + "'NEQ": [ + -1, + 768 + ], + "'AND": [ + -1, + 768 + ], + "'OR": [ + -1, + 768 + ], + "'CARET": [ + -1, + 768 + ], + "'IS": [ + -1, + 768 + ], + "'ISEQUALEQUAL": [ + -1, + 768 + ], + "'ISEQUALTILDE": [ + -1, + 768 + ], + "'ISSPACESHIP": [ + -1, + 768 + ], + "'ISROUGHLY": [ + -1, + 768 + ], + "'ISNOT": [ + -1, + 768 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 768 + ], + "'ISNOTEQUALTILDE": [ + -1, + 768 + ], + "'ISNOTSPACESHIP": [ + -1, + 768 + ], + "'RAISES": [ + -1, + 768 + ], + "'RAISESOTHER": [ + -1, + 768 + ], + "'SATISFIES": [ + -1, + 768 + ], + "'SATISFIESNOT": [ + -1, + 768 + ], + "'RAISESSATISFIES": [ + -1, + 768 + ], + "'RAISESVIOLATES": [ + -1, + 768 + ], + "'RAISESNOT": [ + -1, + 768 + ], + "'DOTDOTDOT": [ + -1, + 768 + ], + "'NUMBER": [ + -1, + 768 + ], + "'RATIONAL": [ + -1, + 768 + ], + "'ROUGHRATIONAL": [ + -1, + 768 + ], + "'TRUE": [ + -1, + 768 + ], + "'FALSE": [ + -1, + 768 + ], + "'LAM": [ + -1, + 768 + ], + "'METHOD": [ + -1, + 768 + ], + "'RBRACK": [ + -1, + 768 + ], + "'TABLE": [ + -1, + 768 + ], + "'ROW": [ + -1, + 768 + ], + "'REACTOR": [ + -1, + 768 + ], + "'IF": [ + -1, + 768 + ], + "'ELSECOLON": [ + -1, + 768 + ], + "'ELSEIF": [ + -1, + 768 + ], + "'ASK": [ + -1, + 768 + ], + "'THENCOLON": [ + -1, + 768 + ], + "'CASES": [ + -1, + 768 + ], + "'FOR": [ + -1, + 768 + ], + "'TABLE-SELECT": [ + -1, + 768 + ], + "'TABLE-FILTER": [ + -1, + 768 + ], + "'TABLE-ORDER": [ + -1, + 768 + ], + "'TABLE-EXTRACT": [ + -1, + 768 + ], + "'TABLE-UPDATE": [ + -1, + 768 + ], + "'TABLE-EXTEND": [ + -1, + 768 + ], + "'LOAD-TABLE": [ + -1, + 768 + ] + }, + { + "$": [ + -1, + 770 + ], + "'NAME": [ + -1, + 770 + ], + "'COLON": [ + -1, + 770 + ], + "'END": [ + -1, + 770 + ], + "'COMMA": [ + -1, + 770 + ], + "'PARENNOSPACE": [ + -1, + 770 + ], + "'STRING": [ + -1, + 770 + ], + "'RPAREN": [ + -1, + 770 + ], + "'TYPE": [ + -1, + 770 + ], + "'DATA": [ + -1, + 770 + ], + "'TIMES": [ + -1, + 770 + ], + "'PARENSPACE": [ + -1, + 770 + ], + "'DOT": [ + -1, + 770 + ], + "'SPY": [ + -1, + 770 + ], + "'NEWTYPE": [ + -1, + 770 + ], + "'LBRACE": [ + -1, + 770 + ], + "'RBRACE": [ + -1, + 770 + ], + "'SEMI": [ + -1, + 770 + ], + "'SHADOW": [ + -1, + 770 + ], + "'LET": [ + -1, + 770 + ], + "'BLOCK": [ + -1, + 770 + ], + "'LETREC": [ + -1, + 770 + ], + "'TYPE-LET": [ + -1, + 770 + ], + "'FUN": [ + -1, + 770 + ], + "'LANGLE": [ + -1, + 770 + ], + "'LT": [ + -1, + 770 + ], + "'GT": [ + -1, + 770 + ], + "'PARENAFTERBRACE": [ + -1, + 770 + ], + "'WHERE": [ + -1, + 770 + ], + "'CHECK": [ + -1, + 770 + ], + "'EXAMPLES": [ + -1, + 770 + ], + "'CHECKCOLON": [ + -1, + 770 + ], + "'EXAMPLESCOLON": [ + -1, + 770 + ], + "'BECAUSE": [ + -1, + 770 + ], + "'BAR": [ + -1, + 770 + ], + "'SHARING": [ + -1, + 770 + ], + "'VAR": [ + -1, + 770 + ], + "'REC": [ + -1, + 770 + ], + "'WHEN": [ + -1, + 770 + ], + "'PLUS": [ + -1, + 770 + ], + "'DASH": [ + -1, + 770 + ], + "'SLASH": [ + -1, + 770 + ], + "'LEQ": [ + -1, + 770 + ], + "'GEQ": [ + -1, + 770 + ], + "'EQUALEQUAL": [ + -1, + 770 + ], + "'SPACESHIP": [ + -1, + 770 + ], + "'EQUALTILDE": [ + -1, + 770 + ], + "'NEQ": [ + -1, + 770 + ], + "'AND": [ + -1, + 770 + ], + "'OR": [ + -1, + 770 + ], + "'CARET": [ + -1, + 770 + ], + "'IS": [ + -1, + 770 + ], + "'ISEQUALEQUAL": [ + -1, + 770 + ], + "'ISEQUALTILDE": [ + -1, + 770 + ], + "'ISSPACESHIP": [ + -1, + 770 + ], + "'ISROUGHLY": [ + -1, + 770 + ], + "'ISNOT": [ + -1, + 770 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 770 + ], + "'ISNOTEQUALTILDE": [ + -1, + 770 + ], + "'ISNOTSPACESHIP": [ + -1, + 770 + ], + "'RAISES": [ + -1, + 770 + ], + "'RAISESOTHER": [ + -1, + 770 + ], + "'SATISFIES": [ + -1, + 770 + ], + "'SATISFIESNOT": [ + -1, + 770 + ], + "'RAISESSATISFIES": [ + -1, + 770 + ], + "'RAISESVIOLATES": [ + -1, + 770 + ], + "'RAISESNOT": [ + -1, + 770 + ], + "'DOTDOTDOT": [ + -1, + 770 + ], + "'NUMBER": [ + -1, + 770 + ], + "'RATIONAL": [ + -1, + 770 + ], + "'ROUGHRATIONAL": [ + -1, + 770 + ], + "'TRUE": [ + -1, + 770 + ], + "'FALSE": [ + -1, + 770 + ], + "'LAM": [ + -1, + 770 + ], + "'METHOD": [ + -1, + 770 + ], + "'LBRACK": [ + -1, + 770 + ], + "'RBRACK": [ + -1, + 770 + ], + "'TABLE": [ + -1, + 770 + ], + "'ROW": [ + -1, + 770 + ], + "'REACTOR": [ + -1, + 770 + ], + "'BANG": [ + -1, + 770 + ], + "'IF": [ + -1, + 770 + ], + "'ELSECOLON": [ + -1, + 770 + ], + "'ELSEIF": [ + -1, + 770 + ], + "'ASK": [ + -1, + 770 + ], + "'THENCOLON": [ + -1, + 770 + ], + "'CASES": [ + -1, + 770 + ], + "'FOR": [ + -1, + 770 + ], + "'TABLE-SELECT": [ + -1, + 770 + ], + "'TABLE-FILTER": [ + -1, + 770 + ], + "'USING": [ + -1, + 770 + ], + "'TABLE-ORDER": [ + -1, + 770 + ], + "'TABLE-EXTRACT": [ + -1, + 770 + ], + "'TABLE-UPDATE": [ + -1, + 770 + ], + "'TABLE-EXTEND": [ + -1, + 770 + ], + "'OF": [ + -1, + 770 + ], + "'LOAD-TABLE": [ + -1, + 770 + ], + "'SOURCECOLON": [ + -1, + 770 + ], + "'SANITIZE": [ + -1, + 770 + ] + }, + { + "'RBRACE": [ + 655 + ] + }, + { + "block": [ + 656 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "block": [ + 657 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 315 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "comma-binops": [ + 658 + ], + "trailing-opt-comma-binops": [ + 659 + ], + "trailing-opt-comma-binops_I0": [ + 660 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ], + "'RBRACK": [ + -1, + 772, + 774 + ] + }, + { + "$": [ + -1, + 776 + ], + "'NAME": [ + -1, + 776 + ], + "'COLON": [ + -1, + 776 + ], + "'END": [ + -1, + 776 + ], + "'COMMA": [ + -1, + 776 + ], + "'PARENNOSPACE": [ + -1, + 776 + ], + "'STRING": [ + -1, + 776 + ], + "'RPAREN": [ + -1, + 776 + ], + "'TYPE": [ + -1, + 776 + ], + "'DATA": [ + -1, + 776 + ], + "'TIMES": [ + -1, + 776 + ], + "'PARENSPACE": [ + -1, + 776 + ], + "'DOT": [ + -1, + 776 + ], + "'SPY": [ + -1, + 776 + ], + "'NEWTYPE": [ + -1, + 776 + ], + "'LBRACE": [ + -1, + 776 + ], + "'RBRACE": [ + -1, + 776 + ], + "'SEMI": [ + -1, + 776 + ], + "'SHADOW": [ + -1, + 776 + ], + "'LET": [ + -1, + 776 + ], + "'BLOCK": [ + -1, + 776 + ], + "'LETREC": [ + -1, + 776 + ], + "'TYPE-LET": [ + -1, + 776 + ], + "'FUN": [ + -1, + 776 + ], + "'LANGLE": [ + -1, + 776 + ], + "'LT": [ + -1, + 776 + ], + "'GT": [ + -1, + 776 + ], + "'PARENAFTERBRACE": [ + -1, + 776 + ], + "'WHERE": [ + -1, + 776 + ], + "'CHECK": [ + -1, + 776 + ], + "'EXAMPLES": [ + -1, + 776 + ], + "'CHECKCOLON": [ + -1, + 776 + ], + "'EXAMPLESCOLON": [ + -1, + 776 + ], + "'BECAUSE": [ + -1, + 776 + ], + "'BAR": [ + -1, + 776 + ], + "'SHARING": [ + -1, + 776 + ], + "'VAR": [ + -1, + 776 + ], + "'REC": [ + -1, + 776 + ], + "'WHEN": [ + -1, + 776 + ], + "'PLUS": [ + -1, + 776 + ], + "'DASH": [ + -1, + 776 + ], + "'SLASH": [ + -1, + 776 + ], + "'LEQ": [ + -1, + 776 + ], + "'GEQ": [ + -1, + 776 + ], + "'EQUALEQUAL": [ + -1, + 776 + ], + "'SPACESHIP": [ + -1, + 776 + ], + "'EQUALTILDE": [ + -1, + 776 + ], + "'NEQ": [ + -1, + 776 + ], + "'AND": [ + -1, + 776 + ], + "'OR": [ + -1, + 776 + ], + "'CARET": [ + -1, + 776 + ], + "'IS": [ + -1, + 776 + ], + "'ISEQUALEQUAL": [ + -1, + 776 + ], + "'ISEQUALTILDE": [ + -1, + 776 + ], + "'ISSPACESHIP": [ + -1, + 776 + ], + "'ISROUGHLY": [ + -1, + 776 + ], + "'ISNOT": [ + -1, + 776 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 776 + ], + "'ISNOTEQUALTILDE": [ + -1, + 776 + ], + "'ISNOTSPACESHIP": [ + -1, + 776 + ], + "'RAISES": [ + -1, + 776 + ], + "'RAISESOTHER": [ + -1, + 776 + ], + "'SATISFIES": [ + -1, + 776 + ], + "'SATISFIESNOT": [ + -1, + 776 + ], + "'RAISESSATISFIES": [ + -1, + 776 + ], + "'RAISESVIOLATES": [ + -1, + 776 + ], + "'RAISESNOT": [ + -1, + 776 + ], + "'DOTDOTDOT": [ + -1, + 776 + ], + "'NUMBER": [ + -1, + 776 + ], + "'RATIONAL": [ + -1, + 776 + ], + "'ROUGHRATIONAL": [ + -1, + 776 + ], + "'TRUE": [ + -1, + 776 + ], + "'FALSE": [ + -1, + 776 + ], + "'LAM": [ + -1, + 776 + ], + "'METHOD": [ + -1, + 776 + ], + "'LBRACK": [ + -1, + 776 + ], + "'RBRACK": [ + -1, + 776 + ], + "'TABLE": [ + -1, + 776 + ], + "'ROW": [ + -1, + 776 + ], + "'REACTOR": [ + -1, + 776 + ], + "'BANG": [ + -1, + 776 + ], + "'IF": [ + -1, + 776 + ], + "'ELSECOLON": [ + -1, + 776 + ], + "'ELSEIF": [ + -1, + 776 + ], + "'ASK": [ + -1, + 776 + ], + "'THENCOLON": [ + -1, + 776 + ], + "'CASES": [ + -1, + 776 + ], + "'FOR": [ + -1, + 776 + ], + "'TABLE-SELECT": [ + -1, + 776 + ], + "'TABLE-FILTER": [ + -1, + 776 + ], + "'USING": [ + -1, + 776 + ], + "'TABLE-ORDER": [ + -1, + 776 + ], + "'TABLE-EXTRACT": [ + -1, + 776 + ], + "'TABLE-UPDATE": [ + -1, + 776 + ], + "'TABLE-EXTEND": [ + -1, + 776 + ], + "'OF": [ + -1, + 776 + ], + "'LOAD-TABLE": [ + -1, + 776 + ], + "'SOURCECOLON": [ + -1, + 776 + ], + "'SANITIZE": [ + -1, + 776 + ] + }, + { + "'END": [ + -1, + 778 + ], + "'ROW": [ + -1, + 780 + ] + }, + { + "'ROW": [ + -1, + 782 + ] + }, + { + "table-items": [ + 661 + ], + "table-items_I0?": [ + 662 + ], + "table-items_I0": [ + 663 + ], + "table-items_I0_I0*": [ + 664 + ], + "'NAME": [ + -1, + 784 + ], + "'END": [ + -1, + 786, + 788, + 790 + ], + "'STRING": [ + -1, + 784 + ], + "'PARENSPACE": [ + -1, + 784 + ], + "'LBRACE": [ + -1, + 784 + ], + "'LET": [ + -1, + 784 + ], + "'BLOCK": [ + -1, + 784 + ], + "'LETREC": [ + -1, + 784 + ], + "'TYPE-LET": [ + -1, + 784 + ], + "'PARENAFTERBRACE": [ + -1, + 784 + ], + "'DOTDOTDOT": [ + -1, + 784 + ], + "'NUMBER": [ + -1, + 784 + ], + "'RATIONAL": [ + -1, + 784 + ], + "'ROUGHRATIONAL": [ + -1, + 784 + ], + "'TRUE": [ + -1, + 784 + ], + "'FALSE": [ + -1, + 784 + ], + "'LAM": [ + -1, + 784 + ], + "'METHOD": [ + -1, + 784 + ], + "'LBRACK": [ + -1, + 784 + ], + "'TABLE": [ + -1, + 784 + ], + "'ROW": [ + -1, + 786, + 788, + 790 + ], + "'REACTOR": [ + -1, + 784 + ], + "'IF": [ + -1, + 784 + ], + "'ASK": [ + -1, + 784 + ], + "'CASES": [ + -1, + 784 + ], + "'FOR": [ + -1, + 784 + ], + "'TABLE-SELECT": [ + -1, + 784 + ], + "'TABLE-FILTER": [ + -1, + 784 + ], + "'TABLE-ORDER": [ + -1, + 784 + ], + "'TABLE-EXTRACT": [ + -1, + 784 + ], + "'TABLE-UPDATE": [ + -1, + 784 + ], + "'TABLE-EXTEND": [ + -1, + 784 + ], + "'LOAD-TABLE": [ + -1, + 784 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 665 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'END": [ + -1, + 792 + ], + "'COMMA": [ + -1, + 792 + ], + "'ROW": [ + -1, + 792 + ], + "'SOURCECOLON": [ + -1, + 792 + ], + "'SANITIZE": [ + -1, + 792 + ] + }, + { + "'END": [ + -1, + 794 + ], + "'COMMA": [ + -1, + 794 + ], + "'ROW": [ + -1, + 794 + ], + "'SOURCECOLON": [ + -1, + 794 + ], + "'SANITIZE": [ + -1, + 794 + ] + }, + { + "'NAME": [ + -1, + 796 + ] + }, + { + "$": [ + -1, + 798 + ], + "'NAME": [ + -1, + 798 + ], + "'COLON": [ + -1, + 798 + ], + "'END": [ + -1, + 798 + ], + "'COMMA": [ + -1, + 798 + ], + "'PARENNOSPACE": [ + -1, + 798 + ], + "'STRING": [ + -1, + 798 + ], + "'RPAREN": [ + -1, + 798 + ], + "'TYPE": [ + -1, + 798 + ], + "'DATA": [ + -1, + 798 + ], + "'TIMES": [ + -1, + 798 + ], + "'PARENSPACE": [ + -1, + 798 + ], + "'DOT": [ + -1, + 798 + ], + "'SPY": [ + -1, + 798 + ], + "'NEWTYPE": [ + -1, + 798 + ], + "'LBRACE": [ + -1, + 798 + ], + "'RBRACE": [ + -1, + 798 + ], + "'SEMI": [ + -1, + 798 + ], + "'SHADOW": [ + -1, + 798 + ], + "'LET": [ + -1, + 798 + ], + "'BLOCK": [ + -1, + 798 + ], + "'LETREC": [ + -1, + 798 + ], + "'TYPE-LET": [ + -1, + 798 + ], + "'FUN": [ + -1, + 798 + ], + "'LANGLE": [ + -1, + 798 + ], + "'LT": [ + -1, + 798 + ], + "'GT": [ + -1, + 798 + ], + "'PARENAFTERBRACE": [ + -1, + 798 + ], + "'WHERE": [ + -1, + 798 + ], + "'CHECK": [ + -1, + 798 + ], + "'EXAMPLES": [ + -1, + 798 + ], + "'CHECKCOLON": [ + -1, + 798 + ], + "'EXAMPLESCOLON": [ + -1, + 798 + ], + "'BECAUSE": [ + -1, + 798 + ], + "'BAR": [ + -1, + 798 + ], + "'SHARING": [ + -1, + 798 + ], + "'VAR": [ + -1, + 798 + ], + "'REC": [ + -1, + 798 + ], + "'WHEN": [ + -1, + 798 + ], + "'PLUS": [ + -1, + 798 + ], + "'DASH": [ + -1, + 798 + ], + "'SLASH": [ + -1, + 798 + ], + "'LEQ": [ + -1, + 798 + ], + "'GEQ": [ + -1, + 798 + ], + "'EQUALEQUAL": [ + -1, + 798 + ], + "'SPACESHIP": [ + -1, + 798 + ], + "'EQUALTILDE": [ + -1, + 798 + ], + "'NEQ": [ + -1, + 798 + ], + "'AND": [ + -1, + 798 + ], + "'OR": [ + -1, + 798 + ], + "'CARET": [ + -1, + 798 + ], + "'IS": [ + -1, + 798 + ], + "'ISEQUALEQUAL": [ + -1, + 798 + ], + "'ISEQUALTILDE": [ + -1, + 798 + ], + "'ISSPACESHIP": [ + -1, + 798 + ], + "'ISROUGHLY": [ + -1, + 798 + ], + "'ISNOT": [ + -1, + 798 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 798 + ], + "'ISNOTEQUALTILDE": [ + -1, + 798 + ], + "'ISNOTSPACESHIP": [ + -1, + 798 + ], + "'RAISES": [ + -1, + 798 + ], + "'RAISESOTHER": [ + -1, + 798 + ], + "'SATISFIES": [ + -1, + 798 + ], + "'SATISFIESNOT": [ + -1, + 798 + ], + "'RAISESSATISFIES": [ + -1, + 798 + ], + "'RAISESVIOLATES": [ + -1, + 798 + ], + "'RAISESNOT": [ + -1, + 798 + ], + "'DOTDOTDOT": [ + -1, + 798 + ], + "'NUMBER": [ + -1, + 798 + ], + "'RATIONAL": [ + -1, + 798 + ], + "'ROUGHRATIONAL": [ + -1, + 798 + ], + "'TRUE": [ + -1, + 798 + ], + "'FALSE": [ + -1, + 798 + ], + "'LAM": [ + -1, + 798 + ], + "'METHOD": [ + -1, + 798 + ], + "'LBRACK": [ + -1, + 798 + ], + "'RBRACK": [ + -1, + 798 + ], + "'TABLE": [ + -1, + 798 + ], + "'ROW": [ + -1, + 798 + ], + "'REACTOR": [ + -1, + 798 + ], + "'BANG": [ + -1, + 798 + ], + "'IF": [ + -1, + 798 + ], + "'ELSECOLON": [ + -1, + 798 + ], + "'ELSEIF": [ + -1, + 798 + ], + "'ASK": [ + -1, + 798 + ], + "'THENCOLON": [ + -1, + 798 + ], + "'CASES": [ + -1, + 798 + ], + "'FOR": [ + -1, + 798 + ], + "'TABLE-SELECT": [ + -1, + 798 + ], + "'TABLE-FILTER": [ + -1, + 798 + ], + "'USING": [ + -1, + 798 + ], + "'TABLE-ORDER": [ + -1, + 798 + ], + "'TABLE-EXTRACT": [ + -1, + 798 + ], + "'TABLE-UPDATE": [ + -1, + 798 + ], + "'TABLE-EXTEND": [ + -1, + 798 + ], + "'OF": [ + -1, + 798 + ], + "'LOAD-TABLE": [ + -1, + 798 + ], + "'SOURCECOLON": [ + -1, + 798 + ], + "'SANITIZE": [ + -1, + 798 + ] + }, + { + "ty-params": [ + 166 + ], + "fun-header": [ + 666 + ], + "ty-params_I0?": [ + 170 + ], + "ty-params_I0": [ + 171 + ], + "ty-params_I0_I0": [ + 172 + ], + "'LANGLE": [ + 173 + ], + "'LT": [ + 174 + ], + "'PARENNOSPACE": [ + -1, + 78, + 80 + ], + "'PARENSPACE": [ + -1, + 78, + 80 + ], + "'PARENAFTERBRACE": [ + -1, + 78, + 80 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 667 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COMMA": [ + 668 + ], + "fields_I2?": [ + 669 + ], + "fields_I1": [ + 670 + ], + "fields_I2": [ + 671 + ], + "'END": [ + -1, + 800, + 802 + ], + "'RBRACE": [ + -1, + 800, + 802 + ], + "'WHERE": [ + -1, + 800, + 802 + ], + "'BAR": [ + -1, + 800, + 802 + ], + "'SHARING": [ + -1, + 800, + 802 + ] + }, + { + "if-expr_I4*": [ + 672 + ], + "'END": [ + -1, + 804 + ], + "'ELSECOLON": [ + -1, + 804 + ], + "'ELSEIF": [ + -1, + 804 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 673 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'OTHERWISECOLON": [ + 674 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'END": [ + 675 + ] + }, + { + "'END": [ + -1, + 806 + ], + "'BAR": [ + -1, + 806 + ] + }, + { + "'END": [ + -1, + 808 + ], + "'BAR": [ + -1, + 808 + ] + }, + { + "'END": [ + -1, + 810 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 676 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'FROM": [ + 677 + ] + }, + { + "for-expr_I3_I1*": [ + 678 + ], + "'COMMA": [ + -1, + 812 + ], + "'RPAREN": [ + -1, + 814, + 812 + ] + }, + { + "'RPAREN": [ + 679 + ] + }, + { + "'RPAREN": [ + -1, + 816 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 680 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 681 + ] + }, + { + "'FROM": [ + -1, + 818 + ], + "'COMMA": [ + -1, + 818 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 682 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "table-filter_I2_I2*": [ + 683 + ], + "'COLON": [ + -1, + 820, + 822 + ], + "'COMMA": [ + -1, + 822 + ] + }, + { + "column-order_I1": [ + 684 + ], + "'ASCENDING": [ + 685 + ], + "'DESCENDING": [ + 686 + ] + }, + { + "table-order_I4*": [ + 687 + ], + "'END": [ + -1, + 824 + ], + "'COMMA": [ + -1, + 824 + ] + }, + { + "'END": [ + 688 + ], + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ] + }, + { + "table-update_I2_I2*": [ + 689 + ], + "'COLON": [ + -1, + 826, + 828 + ], + "'COMMA": [ + -1, + 828 + ] + }, + { + "'NAME": [ + 291 + ], + "'REF": [ + 175 + ], + "'METHOD": [ + 625 + ], + "obj-fields": [ + 690 + ], + "obj-field": [ + 179 + ], + "key": [ + 180 + ] + }, + { + "table-extend_I2_I2*": [ + 691 + ], + "'COLON": [ + -1, + 830, + 832 + ], + "'COMMA": [ + -1, + 832 + ] + }, + { + "table-extend-fields": [ + 692 + ], + "table-extend-fields_I0*": [ + 693 + ], + "'NAME": [ + -1, + 834 + ] + }, + { + "'END": [ + 694 + ] + }, + { + "'END": [ + -1, + 836 + ] + }, + { + "'END": [ + -1, + 838 + ] + }, + { + "load-table-spec": [ + 695 + ], + "load-table-specs_I0": [ + 696 + ], + "'SOURCECOLON": [ + 697 + ], + "'SANITIZE": [ + 698 + ] + }, + { + "module-ref": [ + 247 + ], + "import-stmt_A1_I4?": [ + 699 + ], + "import-stmt_A1_I4": [ + 700 + ], + "include-spec": [ + 701 + ], + "include-name-spec": [ + 702 + ], + "include-type-spec": [ + 703 + ], + "include-data-spec": [ + 704 + ], + "include-module-spec": [ + 705 + ], + "name-spec": [ + 706 + ], + "'TYPE": [ + 707 + ], + "'DATA": [ + 708 + ], + "'MODULE": [ + 709 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 840 + ] + }, + { + "'NAME": [ + 710 + ] + }, + { + "'FROM": [ + -1, + 842 + ], + "'COMMA": [ + -1, + 842 + ], + "'RANGLE": [ + -1, + 842 + ], + "'GT": [ + -1, + 842 + ] + }, + { + "$": [ + -1, + 844 + ], + "'NAME": [ + -1, + 844 + ], + "'INCLUDE": [ + -1, + 844 + ], + "'IMPORT": [ + -1, + 844 + ], + "'STRING": [ + -1, + 844 + ], + "'TYPE": [ + -1, + 844 + ], + "'DATA": [ + -1, + 844 + ], + "'PROVIDE": [ + -1, + 844 + ], + "'PROVIDE-TYPES": [ + -1, + 844 + ], + "'PROVIDECOLON": [ + -1, + 844 + ], + "'PARENSPACE": [ + -1, + 844 + ], + "'SPY": [ + -1, + 844 + ], + "'NEWTYPE": [ + -1, + 844 + ], + "'LBRACE": [ + -1, + 844 + ], + "'SHADOW": [ + -1, + 844 + ], + "'LET": [ + -1, + 844 + ], + "'BLOCK": [ + -1, + 844 + ], + "'LETREC": [ + -1, + 844 + ], + "'TYPE-LET": [ + -1, + 844 + ], + "'FUN": [ + -1, + 844 + ], + "'PARENAFTERBRACE": [ + -1, + 844 + ], + "'CHECK": [ + -1, + 844 + ], + "'EXAMPLES": [ + -1, + 844 + ], + "'CHECKCOLON": [ + -1, + 844 + ], + "'EXAMPLESCOLON": [ + -1, + 844 + ], + "'VAR": [ + -1, + 844 + ], + "'REC": [ + -1, + 844 + ], + "'WHEN": [ + -1, + 844 + ], + "'DOTDOTDOT": [ + -1, + 844 + ], + "'NUMBER": [ + -1, + 844 + ], + "'RATIONAL": [ + -1, + 844 + ], + "'ROUGHRATIONAL": [ + -1, + 844 + ], + "'TRUE": [ + -1, + 844 + ], + "'FALSE": [ + -1, + 844 + ], + "'LAM": [ + -1, + 844 + ], + "'METHOD": [ + -1, + 844 + ], + "'LBRACK": [ + -1, + 844 + ], + "'TABLE": [ + -1, + 844 + ], + "'REACTOR": [ + -1, + 844 + ], + "'IF": [ + -1, + 844 + ], + "'ASK": [ + -1, + 844 + ], + "'CASES": [ + -1, + 844 + ], + "'FOR": [ + -1, + 844 + ], + "'TABLE-SELECT": [ + -1, + 844 + ], + "'TABLE-FILTER": [ + -1, + 844 + ], + "'TABLE-ORDER": [ + -1, + 844 + ], + "'TABLE-EXTRACT": [ + -1, + 844 + ], + "'TABLE-UPDATE": [ + -1, + 844 + ], + "'TABLE-EXTEND": [ + -1, + 844 + ], + "'LOAD-TABLE": [ + -1, + 844 + ] + }, + { + "$": [ + -1, + 846 + ], + "'NAME": [ + -1, + 846 + ], + "'INCLUDE": [ + -1, + 846 + ], + "'IMPORT": [ + -1, + 846 + ], + "'STRING": [ + -1, + 846 + ], + "'TYPE": [ + -1, + 846 + ], + "'DATA": [ + -1, + 846 + ], + "'PROVIDE": [ + -1, + 846 + ], + "'PROVIDE-TYPES": [ + -1, + 846 + ], + "'PROVIDECOLON": [ + -1, + 846 + ], + "'PARENSPACE": [ + -1, + 846 + ], + "'SPY": [ + -1, + 846 + ], + "'NEWTYPE": [ + -1, + 846 + ], + "'LBRACE": [ + -1, + 846 + ], + "'SHADOW": [ + -1, + 846 + ], + "'LET": [ + -1, + 846 + ], + "'BLOCK": [ + -1, + 846 + ], + "'LETREC": [ + -1, + 846 + ], + "'TYPE-LET": [ + -1, + 846 + ], + "'FUN": [ + -1, + 846 + ], + "'PARENAFTERBRACE": [ + -1, + 846 + ], + "'CHECK": [ + -1, + 846 + ], + "'EXAMPLES": [ + -1, + 846 + ], + "'CHECKCOLON": [ + -1, + 846 + ], + "'EXAMPLESCOLON": [ + -1, + 846 + ], + "'VAR": [ + -1, + 846 + ], + "'REC": [ + -1, + 846 + ], + "'WHEN": [ + -1, + 846 + ], + "'DOTDOTDOT": [ + -1, + 846 + ], + "'NUMBER": [ + -1, + 846 + ], + "'RATIONAL": [ + -1, + 846 + ], + "'ROUGHRATIONAL": [ + -1, + 846 + ], + "'TRUE": [ + -1, + 846 + ], + "'FALSE": [ + -1, + 846 + ], + "'LAM": [ + -1, + 846 + ], + "'METHOD": [ + -1, + 846 + ], + "'LBRACK": [ + -1, + 846 + ], + "'TABLE": [ + -1, + 846 + ], + "'REACTOR": [ + -1, + 846 + ], + "'IF": [ + -1, + 846 + ], + "'ASK": [ + -1, + 846 + ], + "'CASES": [ + -1, + 846 + ], + "'FOR": [ + -1, + 846 + ], + "'TABLE-SELECT": [ + -1, + 846 + ], + "'TABLE-FILTER": [ + -1, + 846 + ], + "'TABLE-ORDER": [ + -1, + 846 + ], + "'TABLE-EXTRACT": [ + -1, + 846 + ], + "'TABLE-UPDATE": [ + -1, + 846 + ], + "'TABLE-EXTEND": [ + -1, + 846 + ], + "'LOAD-TABLE": [ + -1, + 846 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 248 + ], + "'TYPE": [ + 249 + ], + "'DATA": [ + 250 + ], + "'MODULE": [ + 251 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "provide-spec": [ + 711 + ], + "provide-block_A1_I4?": [ + 712 + ], + "provide-block_A1_I4": [ + 713 + ], + "provide-name-spec": [ + 257 + ], + "provide-type-spec": [ + 258 + ], + "provide-data-spec": [ + 259 + ], + "provide-module-spec": [ + 260 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 848 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 714 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'RBRACE": [ + -1, + 850 + ] + }, + { + "'RBRACE": [ + -1, + 852 + ] + }, + { + "'RBRACE": [ + -1, + 854 + ] + }, + { + "'COMMA": [ + 715, + 856 + ], + "comma-ann-field_I1": [ + 716 + ], + "'RPAREN": [ + -1, + 856 + ], + "'RBRACE": [ + -1, + 856 + ] + }, + { + "$": [ + -1, + 858 + ], + "'NAME": [ + -1, + 858 + ], + "'INCLUDE": [ + -1, + 858 + ], + "'FROM": [ + -1, + 858 + ], + "'COLON": [ + -1, + 858 + ], + "'END": [ + -1, + 858 + ], + "'COMMA": [ + -1, + 858 + ], + "'IMPORT": [ + -1, + 858 + ], + "'STRING": [ + -1, + 858 + ], + "'RPAREN": [ + -1, + 858 + ], + "'TYPE": [ + -1, + 858 + ], + "'DATA": [ + -1, + 858 + ], + "'PROVIDE": [ + -1, + 858 + ], + "'PROVIDE-TYPES": [ + -1, + 858 + ], + "'PROVIDECOLON": [ + -1, + 858 + ], + "'PARENSPACE": [ + -1, + 858 + ], + "'SPY": [ + -1, + 858 + ], + "'EQUALS": [ + -1, + 858 + ], + "'NEWTYPE": [ + -1, + 858 + ], + "'LBRACE": [ + -1, + 858 + ], + "'RBRACE": [ + -1, + 858 + ], + "'SEMI": [ + -1, + 858 + ], + "'SHADOW": [ + -1, + 858 + ], + "'LET": [ + -1, + 858 + ], + "'BLOCK": [ + -1, + 858 + ], + "'LETREC": [ + -1, + 858 + ], + "'TYPE-LET": [ + -1, + 858 + ], + "'FUN": [ + -1, + 858 + ], + "'RANGLE": [ + -1, + 858 + ], + "'GT": [ + -1, + 858 + ], + "'PARENAFTERBRACE": [ + -1, + 858 + ], + "'THINARROW": [ + -1, + 858 + ], + "'WHERE": [ + -1, + 858 + ], + "'CHECK": [ + -1, + 858 + ], + "'EXAMPLES": [ + -1, + 858 + ], + "'CHECKCOLON": [ + -1, + 858 + ], + "'EXAMPLESCOLON": [ + -1, + 858 + ], + "'PERCENT": [ + -1, + 858 + ], + "'BAR": [ + -1, + 858 + ], + "'VAR": [ + -1, + 858 + ], + "'REC": [ + -1, + 858 + ], + "'WHEN": [ + -1, + 858 + ], + "'DOTDOTDOT": [ + -1, + 858 + ], + "'NUMBER": [ + -1, + 858 + ], + "'RATIONAL": [ + -1, + 858 + ], + "'ROUGHRATIONAL": [ + -1, + 858 + ], + "'TRUE": [ + -1, + 858 + ], + "'FALSE": [ + -1, + 858 + ], + "'LAM": [ + -1, + 858 + ], + "'METHOD": [ + -1, + 858 + ], + "'LBRACK": [ + -1, + 858 + ], + "'TABLE": [ + -1, + 858 + ], + "'ROW": [ + -1, + 858 + ], + "'REACTOR": [ + -1, + 858 + ], + "'IF": [ + -1, + 858 + ], + "'ELSECOLON": [ + -1, + 858 + ], + "'ELSEIF": [ + -1, + 858 + ], + "'ASK": [ + -1, + 858 + ], + "'CASES": [ + -1, + 858 + ], + "'FOR": [ + -1, + 858 + ], + "'TABLE-SELECT": [ + -1, + 858 + ], + "'TABLE-FILTER": [ + -1, + 858 + ], + "'TABLE-ORDER": [ + -1, + 858 + ], + "'TABLE-EXTRACT": [ + -1, + 858 + ], + "'TABLE-UPDATE": [ + -1, + 858 + ], + "'TABLE-EXTEND": [ + -1, + 858 + ], + "'LOAD-TABLE": [ + -1, + 858 + ], + "'SOURCECOLON": [ + -1, + 858 + ], + "'SANITIZE": [ + -1, + 858 + ] + }, + { + "'END": [ + -1, + 860 + ], + "'COMMA": [ + -1, + 860 + ] + }, + { + "'END": [ + -1, + 862 + ], + "'COMMA": [ + -1, + 862 + ] + }, + { + "'END": [ + -1, + 864 + ], + "'COMMA": [ + -1, + 864 + ] + }, + { + "'END": [ + -1, + 866 + ], + "'COMMA": [ + -1, + 866 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 248 + ], + "'TYPE": [ + 249 + ], + "'DATA": [ + 250 + ], + "'MODULE": [ + 251 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "provide-spec": [ + 717 + ], + "provide-name-spec": [ + 257 + ], + "provide-type-spec": [ + 258 + ], + "provide-data-spec": [ + 259 + ], + "provide-module-spec": [ + 260 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 868 + ] + }, + { + "'END": [ + -1, + 870 + ] + }, + { + "'END": [ + -1, + 872 + ], + "'COMMA": [ + -1, + 872 + ] + }, + { + "'END": [ + -1, + 874 + ] + }, + { + "'NAME": [ + -1, + 876 + ], + "'RPAREN": [ + -1, + 876 + ] + }, + { + "hiding-spec_I2?": [ + 718 + ], + "hiding-spec_I2": [ + 719 + ], + "hiding-spec_I2_I0*": [ + 720 + ], + "'NAME": [ + -1, + 878 + ], + "'RPAREN": [ + -1, + 880 + ] + }, + { + "'NAME": [ + -1, + 882 + ], + "'RPAREN": [ + -1, + 882 + ] + }, + { + "'NAME": [ + -1, + 884 + ] + }, + { + "'COMMA": [ + 721 + ], + "'RPAREN": [ + 722 + ], + "import-special_I3": [ + 723 + ] + }, + { + "'COMMA": [ + 724 + ], + "comma-anns_I1": [ + 725 + ], + "'RANGLE": [ + -1, + 886 + ], + "'GT": [ + -1, + 886 + ], + "'THINARROW": [ + -1, + 886 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 726 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'RPAREN": [ + 727 + ] + }, + { + "'PERCENT": [ + 516 + ], + "$": [ + -1, + 888 + ], + "'NAME": [ + -1, + 888 + ], + "'END": [ + -1, + 888 + ], + "'STRING": [ + -1, + 888 + ], + "'TYPE": [ + -1, + 888 + ], + "'DATA": [ + -1, + 888 + ], + "'PARENSPACE": [ + -1, + 888 + ], + "'SPY": [ + -1, + 888 + ], + "'NEWTYPE": [ + -1, + 888 + ], + "'LBRACE": [ + -1, + 888 + ], + "'RBRACE": [ + -1, + 888 + ], + "'SHADOW": [ + -1, + 888 + ], + "'LET": [ + -1, + 888 + ], + "'BLOCK": [ + -1, + 888 + ], + "'LETREC": [ + -1, + 888 + ], + "'TYPE-LET": [ + -1, + 888 + ], + "'FUN": [ + -1, + 888 + ], + "'PARENAFTERBRACE": [ + -1, + 888 + ], + "'WHERE": [ + -1, + 888 + ], + "'CHECK": [ + -1, + 888 + ], + "'EXAMPLES": [ + -1, + 888 + ], + "'CHECKCOLON": [ + -1, + 888 + ], + "'EXAMPLESCOLON": [ + -1, + 888 + ], + "'BAR": [ + -1, + 888 + ], + "'VAR": [ + -1, + 888 + ], + "'REC": [ + -1, + 888 + ], + "'WHEN": [ + -1, + 888 + ], + "'DOTDOTDOT": [ + -1, + 888 + ], + "'NUMBER": [ + -1, + 888 + ], + "'RATIONAL": [ + -1, + 888 + ], + "'ROUGHRATIONAL": [ + -1, + 888 + ], + "'TRUE": [ + -1, + 888 + ], + "'FALSE": [ + -1, + 888 + ], + "'LAM": [ + -1, + 888 + ], + "'METHOD": [ + -1, + 888 + ], + "'LBRACK": [ + -1, + 888 + ], + "'TABLE": [ + -1, + 888 + ], + "'REACTOR": [ + -1, + 888 + ], + "'IF": [ + -1, + 888 + ], + "'ELSECOLON": [ + -1, + 888 + ], + "'ELSEIF": [ + -1, + 888 + ], + "'ASK": [ + -1, + 888 + ], + "'CASES": [ + -1, + 888 + ], + "'FOR": [ + -1, + 888 + ], + "'TABLE-SELECT": [ + -1, + 888 + ], + "'TABLE-FILTER": [ + -1, + 888 + ], + "'TABLE-ORDER": [ + -1, + 888 + ], + "'TABLE-EXTRACT": [ + -1, + 888 + ], + "'TABLE-UPDATE": [ + -1, + 888 + ], + "'TABLE-EXTEND": [ + -1, + 888 + ], + "'LOAD-TABLE": [ + -1, + 888 + ] + }, + { + "'PARENNOSPACE": [ + 728 + ], + "variant-members": [ + 729 + ], + "data-with": [ + 730 + ], + "data-with_I0?": [ + 731 + ], + "data-with_I0": [ + 732 + ], + "'WITH": [ + 733 + ], + "'END": [ + -1, + 890, + 892, + 894 + ], + "'WHERE": [ + -1, + 890, + 892, + 894 + ], + "'BAR": [ + -1, + 890, + 892, + 894 + ], + "'SHARING": [ + -1, + 890, + 892, + 894 + ] + }, + { + "data-expr_I5*": [ + 734 + ], + "'END": [ + -1, + 896 + ], + "'WHERE": [ + -1, + 896 + ], + "'BAR": [ + -1, + 896 + ], + "'SHARING": [ + -1, + 896 + ] + }, + { + "'END": [ + -1, + 898 + ], + "'WHERE": [ + -1, + 898 + ], + "'BAR": [ + -1, + 898 + ], + "'SHARING": [ + -1, + 898 + ] + }, + { + "'END": [ + -1, + 900 + ], + "'WHERE": [ + -1, + 900 + ], + "'BAR": [ + -1, + 900 + ], + "'SHARING": [ + -1, + 900 + ] + }, + { + "data-with": [ + 735 + ], + "data-with_I0?": [ + 731 + ], + "data-with_I0": [ + 732 + ], + "'WITH": [ + 733 + ], + "'END": [ + -1, + 902, + 892, + 894 + ], + "'WHERE": [ + -1, + 902, + 892, + 894 + ], + "'BAR": [ + -1, + 902, + 892, + 894 + ], + "'SHARING": [ + -1, + 902, + 892, + 894 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 736 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "$": [ + -1, + 904 + ], + "'NAME": [ + -1, + 904 + ], + "'END": [ + -1, + 904 + ], + "'STRING": [ + -1, + 904 + ], + "'TYPE": [ + -1, + 904 + ], + "'DATA": [ + -1, + 904 + ], + "'PARENSPACE": [ + -1, + 904 + ], + "'SPY": [ + -1, + 904 + ], + "'NEWTYPE": [ + -1, + 904 + ], + "'LBRACE": [ + -1, + 904 + ], + "'RBRACE": [ + -1, + 904 + ], + "'SHADOW": [ + -1, + 904 + ], + "'LET": [ + -1, + 904 + ], + "'BLOCK": [ + -1, + 904 + ], + "'LETREC": [ + -1, + 904 + ], + "'TYPE-LET": [ + -1, + 904 + ], + "'FUN": [ + -1, + 904 + ], + "'PARENAFTERBRACE": [ + -1, + 904 + ], + "'WHERE": [ + -1, + 904 + ], + "'CHECK": [ + -1, + 904 + ], + "'EXAMPLES": [ + -1, + 904 + ], + "'CHECKCOLON": [ + -1, + 904 + ], + "'EXAMPLESCOLON": [ + -1, + 904 + ], + "'BAR": [ + -1, + 904 + ], + "'VAR": [ + -1, + 904 + ], + "'REC": [ + -1, + 904 + ], + "'WHEN": [ + -1, + 904 + ], + "'DOTDOTDOT": [ + -1, + 904 + ], + "'NUMBER": [ + -1, + 904 + ], + "'RATIONAL": [ + -1, + 904 + ], + "'ROUGHRATIONAL": [ + -1, + 904 + ], + "'TRUE": [ + -1, + 904 + ], + "'FALSE": [ + -1, + 904 + ], + "'LAM": [ + -1, + 904 + ], + "'METHOD": [ + -1, + 904 + ], + "'LBRACK": [ + -1, + 904 + ], + "'TABLE": [ + -1, + 904 + ], + "'REACTOR": [ + -1, + 904 + ], + "'IF": [ + -1, + 904 + ], + "'ELSECOLON": [ + -1, + 904 + ], + "'ELSEIF": [ + -1, + 904 + ], + "'ASK": [ + -1, + 904 + ], + "'CASES": [ + -1, + 904 + ], + "'FOR": [ + -1, + 904 + ], + "'TABLE-SELECT": [ + -1, + 904 + ], + "'TABLE-FILTER": [ + -1, + 904 + ], + "'TABLE-ORDER": [ + -1, + 904 + ], + "'TABLE-EXTRACT": [ + -1, + 904 + ], + "'TABLE-UPDATE": [ + -1, + 904 + ], + "'TABLE-EXTEND": [ + -1, + 904 + ], + "'LOAD-TABLE": [ + -1, + 904 + ] + }, + { + "'COMMA": [ + 737 + ], + "spy-contents_I1": [ + 738 + ], + "'END": [ + -1, + 906 + ] + }, + { + "$": [ + -1, + 908 + ], + "'NAME": [ + -1, + 908 + ], + "'END": [ + -1, + 908 + ], + "'STRING": [ + -1, + 908 + ], + "'TYPE": [ + -1, + 908 + ], + "'DATA": [ + -1, + 908 + ], + "'PARENSPACE": [ + -1, + 908 + ], + "'SPY": [ + -1, + 908 + ], + "'NEWTYPE": [ + -1, + 908 + ], + "'LBRACE": [ + -1, + 908 + ], + "'RBRACE": [ + -1, + 908 + ], + "'SHADOW": [ + -1, + 908 + ], + "'LET": [ + -1, + 908 + ], + "'BLOCK": [ + -1, + 908 + ], + "'LETREC": [ + -1, + 908 + ], + "'TYPE-LET": [ + -1, + 908 + ], + "'FUN": [ + -1, + 908 + ], + "'PARENAFTERBRACE": [ + -1, + 908 + ], + "'WHERE": [ + -1, + 908 + ], + "'CHECK": [ + -1, + 908 + ], + "'EXAMPLES": [ + -1, + 908 + ], + "'CHECKCOLON": [ + -1, + 908 + ], + "'EXAMPLESCOLON": [ + -1, + 908 + ], + "'BAR": [ + -1, + 908 + ], + "'VAR": [ + -1, + 908 + ], + "'REC": [ + -1, + 908 + ], + "'WHEN": [ + -1, + 908 + ], + "'DOTDOTDOT": [ + -1, + 908 + ], + "'NUMBER": [ + -1, + 908 + ], + "'RATIONAL": [ + -1, + 908 + ], + "'ROUGHRATIONAL": [ + -1, + 908 + ], + "'TRUE": [ + -1, + 908 + ], + "'FALSE": [ + -1, + 908 + ], + "'LAM": [ + -1, + 908 + ], + "'METHOD": [ + -1, + 908 + ], + "'LBRACK": [ + -1, + 908 + ], + "'TABLE": [ + -1, + 908 + ], + "'REACTOR": [ + -1, + 908 + ], + "'IF": [ + -1, + 908 + ], + "'ELSECOLON": [ + -1, + 908 + ], + "'ELSEIF": [ + -1, + 908 + ], + "'ASK": [ + -1, + 908 + ], + "'CASES": [ + -1, + 908 + ], + "'FOR": [ + -1, + 908 + ], + "'TABLE-SELECT": [ + -1, + 908 + ], + "'TABLE-FILTER": [ + -1, + 908 + ], + "'TABLE-ORDER": [ + -1, + 908 + ], + "'TABLE-EXTRACT": [ + -1, + 908 + ], + "'TABLE-UPDATE": [ + -1, + 908 + ], + "'TABLE-EXTEND": [ + -1, + 908 + ], + "'LOAD-TABLE": [ + -1, + 908 + ] + }, + { + "$": [ + -1, + 910 + ], + "'NAME": [ + -1, + 910 + ], + "'END": [ + -1, + 910 + ], + "'STRING": [ + -1, + 910 + ], + "'TYPE": [ + -1, + 910 + ], + "'DATA": [ + -1, + 910 + ], + "'PARENSPACE": [ + -1, + 910 + ], + "'SPY": [ + -1, + 910 + ], + "'NEWTYPE": [ + -1, + 910 + ], + "'LBRACE": [ + -1, + 910 + ], + "'RBRACE": [ + -1, + 910 + ], + "'SHADOW": [ + -1, + 910 + ], + "'LET": [ + -1, + 910 + ], + "'BLOCK": [ + -1, + 910 + ], + "'LETREC": [ + -1, + 910 + ], + "'TYPE-LET": [ + -1, + 910 + ], + "'FUN": [ + -1, + 910 + ], + "'PARENAFTERBRACE": [ + -1, + 910 + ], + "'WHERE": [ + -1, + 910 + ], + "'CHECK": [ + -1, + 910 + ], + "'EXAMPLES": [ + -1, + 910 + ], + "'CHECKCOLON": [ + -1, + 910 + ], + "'EXAMPLESCOLON": [ + -1, + 910 + ], + "'BAR": [ + -1, + 910 + ], + "'VAR": [ + -1, + 910 + ], + "'REC": [ + -1, + 910 + ], + "'WHEN": [ + -1, + 910 + ], + "'DOTDOTDOT": [ + -1, + 910 + ], + "'NUMBER": [ + -1, + 910 + ], + "'RATIONAL": [ + -1, + 910 + ], + "'ROUGHRATIONAL": [ + -1, + 910 + ], + "'TRUE": [ + -1, + 910 + ], + "'FALSE": [ + -1, + 910 + ], + "'LAM": [ + -1, + 910 + ], + "'METHOD": [ + -1, + 910 + ], + "'LBRACK": [ + -1, + 910 + ], + "'TABLE": [ + -1, + 910 + ], + "'REACTOR": [ + -1, + 910 + ], + "'IF": [ + -1, + 910 + ], + "'ELSECOLON": [ + -1, + 910 + ], + "'ELSEIF": [ + -1, + 910 + ], + "'ASK": [ + -1, + 910 + ], + "'CASES": [ + -1, + 910 + ], + "'FOR": [ + -1, + 910 + ], + "'TABLE-SELECT": [ + -1, + 910 + ], + "'TABLE-FILTER": [ + -1, + 910 + ], + "'TABLE-ORDER": [ + -1, + 910 + ], + "'TABLE-EXTRACT": [ + -1, + 910 + ], + "'TABLE-UPDATE": [ + -1, + 910 + ], + "'TABLE-EXTEND": [ + -1, + 910 + ], + "'LOAD-TABLE": [ + -1, + 910 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 739 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'RPAREN": [ + 740 + ] + }, + { + "'RBRACE": [ + -1, + 912 + ], + "'SEMI": [ + -1, + 912 + ] + }, + { + "'COMMA": [ + 741 + ], + "bad-args_I1_I1": [ + 742 + ], + "'RPAREN": [ + -1, + 914 + ] + }, + { + "'COLON": [ + -1, + 916 + ], + "'BLOCK": [ + -1, + 916 + ], + "'THINARROW": [ + -1, + 916 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COLON": [ + -1, + 918 + ], + "'BLOCK": [ + -1, + 918 + ] + }, + { + "'COMMA": [ + 743 + ], + "args_I1_I1": [ + 744 + ], + "'RPAREN": [ + -1, + 920 + ] + }, + { + "'COLON": [ + -1, + 922 + ], + "'BLOCK": [ + -1, + 922 + ], + "'THINARROW": [ + -1, + 922 + ] + }, + { + "'AS": [ + 745 + ], + "tuple-binding_I5?": [ + 746 + ], + "tuple-binding_I5": [ + 747 + ], + "'FROM": [ + -1, + 924, + 926 + ], + "'COLON": [ + -1, + 924, + 926 + ], + "'COMMA": [ + -1, + 924, + 926 + ], + "'RPAREN": [ + -1, + 924, + 926 + ], + "'EQUALS": [ + -1, + 924, + 926 + ], + "'RBRACE": [ + -1, + 924, + 926 + ], + "'SEMI": [ + -1, + 924, + 926 + ] + }, + { + "where-clause": [ + 748 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'RBRACE": [ + -1, + 928, + 930 + ] + }, + { + "'NAME": [ + -1, + 932 + ], + "'END": [ + -1, + 932 + ], + "'STRING": [ + -1, + 932 + ], + "'TYPE": [ + -1, + 932 + ], + "'DATA": [ + -1, + 932 + ], + "'PARENSPACE": [ + -1, + 932 + ], + "'SPY": [ + -1, + 932 + ], + "'NEWTYPE": [ + -1, + 932 + ], + "'LBRACE": [ + -1, + 932 + ], + "'RBRACE": [ + -1, + 932 + ], + "'SHADOW": [ + -1, + 932 + ], + "'LET": [ + -1, + 932 + ], + "'BLOCK": [ + -1, + 932 + ], + "'LETREC": [ + -1, + 932 + ], + "'TYPE-LET": [ + -1, + 932 + ], + "'FUN": [ + -1, + 932 + ], + "'PARENAFTERBRACE": [ + -1, + 932 + ], + "'WHERE": [ + -1, + 932 + ], + "'CHECK": [ + -1, + 932 + ], + "'EXAMPLES": [ + -1, + 932 + ], + "'CHECKCOLON": [ + -1, + 932 + ], + "'EXAMPLESCOLON": [ + -1, + 932 + ], + "'VAR": [ + -1, + 932 + ], + "'REC": [ + -1, + 932 + ], + "'WHEN": [ + -1, + 932 + ], + "'DOTDOTDOT": [ + -1, + 932 + ], + "'NUMBER": [ + -1, + 932 + ], + "'RATIONAL": [ + -1, + 932 + ], + "'ROUGHRATIONAL": [ + -1, + 932 + ], + "'TRUE": [ + -1, + 932 + ], + "'FALSE": [ + -1, + 932 + ], + "'LAM": [ + -1, + 932 + ], + "'METHOD": [ + -1, + 932 + ], + "'LBRACK": [ + -1, + 932 + ], + "'TABLE": [ + -1, + 932 + ], + "'REACTOR": [ + -1, + 932 + ], + "'IF": [ + -1, + 932 + ], + "'ASK": [ + -1, + 932 + ], + "'CASES": [ + -1, + 932 + ], + "'FOR": [ + -1, + 932 + ], + "'TABLE-SELECT": [ + -1, + 932 + ], + "'TABLE-FILTER": [ + -1, + 932 + ], + "'TABLE-ORDER": [ + -1, + 932 + ], + "'TABLE-EXTRACT": [ + -1, + 932 + ], + "'TABLE-UPDATE": [ + -1, + 932 + ], + "'TABLE-EXTEND": [ + -1, + 932 + ], + "'LOAD-TABLE": [ + -1, + 932 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COLON": [ + -1, + 934 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 752 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + -1, + 936 + ], + "'END": [ + -1, + 936 + ], + "'STRING": [ + -1, + 936 + ], + "'TYPE": [ + -1, + 936 + ], + "'DATA": [ + -1, + 936 + ], + "'PARENSPACE": [ + -1, + 936 + ], + "'SPY": [ + -1, + 936 + ], + "'NEWTYPE": [ + -1, + 936 + ], + "'LBRACE": [ + -1, + 936 + ], + "'SHADOW": [ + -1, + 936 + ], + "'LET": [ + -1, + 936 + ], + "'BLOCK": [ + -1, + 936 + ], + "'LETREC": [ + -1, + 936 + ], + "'TYPE-LET": [ + -1, + 936 + ], + "'FUN": [ + -1, + 936 + ], + "'PARENAFTERBRACE": [ + -1, + 936 + ], + "'DOC": [ + -1, + 936 + ], + "'WHERE": [ + -1, + 936 + ], + "'CHECK": [ + -1, + 936 + ], + "'EXAMPLES": [ + -1, + 936 + ], + "'CHECKCOLON": [ + -1, + 936 + ], + "'EXAMPLESCOLON": [ + -1, + 936 + ], + "'VAR": [ + -1, + 936 + ], + "'REC": [ + -1, + 936 + ], + "'WHEN": [ + -1, + 936 + ], + "'DOTDOTDOT": [ + -1, + 936 + ], + "'NUMBER": [ + -1, + 936 + ], + "'RATIONAL": [ + -1, + 936 + ], + "'ROUGHRATIONAL": [ + -1, + 936 + ], + "'TRUE": [ + -1, + 936 + ], + "'FALSE": [ + -1, + 936 + ], + "'LAM": [ + -1, + 936 + ], + "'METHOD": [ + -1, + 936 + ], + "'LBRACK": [ + -1, + 936 + ], + "'TABLE": [ + -1, + 936 + ], + "'REACTOR": [ + -1, + 936 + ], + "'IF": [ + -1, + 936 + ], + "'ASK": [ + -1, + 936 + ], + "'CASES": [ + -1, + 936 + ], + "'FOR": [ + -1, + 936 + ], + "'TABLE-SELECT": [ + -1, + 936 + ], + "'TABLE-FILTER": [ + -1, + 936 + ], + "'TABLE-ORDER": [ + -1, + 936 + ], + "'TABLE-EXTRACT": [ + -1, + 936 + ], + "'TABLE-UPDATE": [ + -1, + 936 + ], + "'TABLE-EXTEND": [ + -1, + 936 + ], + "'LOAD-TABLE": [ + -1, + 936 + ] + }, + { + "'NAME": [ + -1, + 938 + ], + "'END": [ + -1, + 938 + ], + "'STRING": [ + -1, + 938 + ], + "'TYPE": [ + -1, + 938 + ], + "'DATA": [ + -1, + 938 + ], + "'PARENSPACE": [ + -1, + 938 + ], + "'SPY": [ + -1, + 938 + ], + "'NEWTYPE": [ + -1, + 938 + ], + "'LBRACE": [ + -1, + 938 + ], + "'SHADOW": [ + -1, + 938 + ], + "'LET": [ + -1, + 938 + ], + "'BLOCK": [ + -1, + 938 + ], + "'LETREC": [ + -1, + 938 + ], + "'TYPE-LET": [ + -1, + 938 + ], + "'FUN": [ + -1, + 938 + ], + "'PARENAFTERBRACE": [ + -1, + 938 + ], + "'DOC": [ + -1, + 938 + ], + "'WHERE": [ + -1, + 938 + ], + "'CHECK": [ + -1, + 938 + ], + "'EXAMPLES": [ + -1, + 938 + ], + "'CHECKCOLON": [ + -1, + 938 + ], + "'EXAMPLESCOLON": [ + -1, + 938 + ], + "'VAR": [ + -1, + 938 + ], + "'REC": [ + -1, + 938 + ], + "'WHEN": [ + -1, + 938 + ], + "'DOTDOTDOT": [ + -1, + 938 + ], + "'NUMBER": [ + -1, + 938 + ], + "'RATIONAL": [ + -1, + 938 + ], + "'ROUGHRATIONAL": [ + -1, + 938 + ], + "'TRUE": [ + -1, + 938 + ], + "'FALSE": [ + -1, + 938 + ], + "'LAM": [ + -1, + 938 + ], + "'METHOD": [ + -1, + 938 + ], + "'LBRACK": [ + -1, + 938 + ], + "'TABLE": [ + -1, + 938 + ], + "'REACTOR": [ + -1, + 938 + ], + "'IF": [ + -1, + 938 + ], + "'ASK": [ + -1, + 938 + ], + "'CASES": [ + -1, + 938 + ], + "'FOR": [ + -1, + 938 + ], + "'TABLE-SELECT": [ + -1, + 938 + ], + "'TABLE-FILTER": [ + -1, + 938 + ], + "'TABLE-ORDER": [ + -1, + 938 + ], + "'TABLE-EXTRACT": [ + -1, + 938 + ], + "'TABLE-UPDATE": [ + -1, + 938 + ], + "'TABLE-EXTEND": [ + -1, + 938 + ], + "'LOAD-TABLE": [ + -1, + 938 + ] + }, + { + "doc-string": [ + 753 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'END": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "'NAME": [ + 291 + ], + "key": [ + 293 + ] + }, + { + "'END": [ + -1, + 940 + ], + "'COMMA": [ + -1, + 940 + ], + "'RBRACE": [ + -1, + 940 + ] + }, + { + "'COLON": [ + -1, + 942 + ], + "'COMMA": [ + -1, + 942 + ], + "'BLOCK": [ + -1, + 942 + ] + }, + { + "'END": [ + 754 + ] + }, + { + "'COLON": [ + -1, + 944 + ], + "'COMMA": [ + -1, + 944 + ], + "'BLOCK": [ + -1, + 944 + ] + }, + { + "'END": [ + 755 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COLON": [ + -1, + 946 + ], + "'COMMA": [ + -1, + 946 + ], + "'BLOCK": [ + -1, + 946 + ] + }, + { + "'COLON": [ + -1, + 948 + ], + "'COMMA": [ + -1, + 948 + ], + "'BLOCK": [ + -1, + 948 + ] + }, + { + "'COLON": [ + -1, + 950 + ], + "'COMMA": [ + -1, + 950 + ], + "'BLOCK": [ + -1, + 950 + ] + }, + { + "'END": [ + 756 + ] + }, + { + "block": [ + 757 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 952 + ], + "'NAME": [ + -1, + 952 + ], + "'END": [ + -1, + 952 + ], + "'STRING": [ + -1, + 952 + ], + "'TYPE": [ + -1, + 952 + ], + "'DATA": [ + -1, + 952 + ], + "'PARENSPACE": [ + -1, + 952 + ], + "'SPY": [ + -1, + 952 + ], + "'NEWTYPE": [ + -1, + 952 + ], + "'LBRACE": [ + -1, + 952 + ], + "'RBRACE": [ + -1, + 952 + ], + "'SHADOW": [ + -1, + 952 + ], + "'LET": [ + -1, + 952 + ], + "'BLOCK": [ + -1, + 952 + ], + "'LETREC": [ + -1, + 952 + ], + "'TYPE-LET": [ + -1, + 952 + ], + "'FUN": [ + -1, + 952 + ], + "'PARENAFTERBRACE": [ + -1, + 952 + ], + "'WHERE": [ + -1, + 952 + ], + "'CHECK": [ + -1, + 952 + ], + "'EXAMPLES": [ + -1, + 952 + ], + "'CHECKCOLON": [ + -1, + 952 + ], + "'EXAMPLESCOLON": [ + -1, + 952 + ], + "'BAR": [ + -1, + 952 + ], + "'VAR": [ + -1, + 952 + ], + "'REC": [ + -1, + 952 + ], + "'WHEN": [ + -1, + 952 + ], + "'DOTDOTDOT": [ + -1, + 952 + ], + "'NUMBER": [ + -1, + 952 + ], + "'RATIONAL": [ + -1, + 952 + ], + "'ROUGHRATIONAL": [ + -1, + 952 + ], + "'TRUE": [ + -1, + 952 + ], + "'FALSE": [ + -1, + 952 + ], + "'LAM": [ + -1, + 952 + ], + "'METHOD": [ + -1, + 952 + ], + "'LBRACK": [ + -1, + 952 + ], + "'TABLE": [ + -1, + 952 + ], + "'REACTOR": [ + -1, + 952 + ], + "'IF": [ + -1, + 952 + ], + "'ELSECOLON": [ + -1, + 952 + ], + "'ELSEIF": [ + -1, + 952 + ], + "'ASK": [ + -1, + 952 + ], + "'CASES": [ + -1, + 952 + ], + "'FOR": [ + -1, + 952 + ], + "'TABLE-SELECT": [ + -1, + 952 + ], + "'TABLE-FILTER": [ + -1, + 952 + ], + "'TABLE-ORDER": [ + -1, + 952 + ], + "'TABLE-EXTRACT": [ + -1, + 952 + ], + "'TABLE-UPDATE": [ + -1, + 952 + ], + "'TABLE-EXTEND": [ + -1, + 952 + ], + "'LOAD-TABLE": [ + -1, + 952 + ] + }, + { + "$": [ + -1, + 954 + ], + "'NAME": [ + -1, + 954 + ], + "'END": [ + -1, + 954 + ], + "'STRING": [ + -1, + 954 + ], + "'TYPE": [ + -1, + 954 + ], + "'DATA": [ + -1, + 954 + ], + "'PARENSPACE": [ + -1, + 954 + ], + "'SPY": [ + -1, + 954 + ], + "'NEWTYPE": [ + -1, + 954 + ], + "'LBRACE": [ + -1, + 954 + ], + "'RBRACE": [ + -1, + 954 + ], + "'SHADOW": [ + -1, + 954 + ], + "'LET": [ + -1, + 954 + ], + "'BLOCK": [ + -1, + 954 + ], + "'LETREC": [ + -1, + 954 + ], + "'TYPE-LET": [ + -1, + 954 + ], + "'FUN": [ + -1, + 954 + ], + "'PARENAFTERBRACE": [ + -1, + 954 + ], + "'WHERE": [ + -1, + 954 + ], + "'CHECK": [ + -1, + 954 + ], + "'EXAMPLES": [ + -1, + 954 + ], + "'CHECKCOLON": [ + -1, + 954 + ], + "'EXAMPLESCOLON": [ + -1, + 954 + ], + "'BAR": [ + -1, + 954 + ], + "'VAR": [ + -1, + 954 + ], + "'REC": [ + -1, + 954 + ], + "'WHEN": [ + -1, + 954 + ], + "'DOTDOTDOT": [ + -1, + 954 + ], + "'NUMBER": [ + -1, + 954 + ], + "'RATIONAL": [ + -1, + 954 + ], + "'ROUGHRATIONAL": [ + -1, + 954 + ], + "'TRUE": [ + -1, + 954 + ], + "'FALSE": [ + -1, + 954 + ], + "'LAM": [ + -1, + 954 + ], + "'METHOD": [ + -1, + 954 + ], + "'LBRACK": [ + -1, + 954 + ], + "'TABLE": [ + -1, + 954 + ], + "'REACTOR": [ + -1, + 954 + ], + "'IF": [ + -1, + 954 + ], + "'ELSECOLON": [ + -1, + 954 + ], + "'ELSEIF": [ + -1, + 954 + ], + "'ASK": [ + -1, + 954 + ], + "'CASES": [ + -1, + 954 + ], + "'FOR": [ + -1, + 954 + ], + "'TABLE-SELECT": [ + -1, + 954 + ], + "'TABLE-FILTER": [ + -1, + 954 + ], + "'TABLE-ORDER": [ + -1, + 954 + ], + "'TABLE-EXTRACT": [ + -1, + 954 + ], + "'TABLE-UPDATE": [ + -1, + 954 + ], + "'TABLE-EXTEND": [ + -1, + 954 + ], + "'LOAD-TABLE": [ + -1, + 954 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 758 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COMMA": [ + -1, + 956 + ], + "'RPAREN": [ + -1, + 956 + ], + "'RBRACK": [ + -1, + 956 + ] + }, + { + "app-expr_A2_I5*": [ + 759 + ], + "'COMMA": [ + -1, + 958 + ], + "'RPAREN": [ + -1, + 958 + ] + }, + { + "$": [ + -1, + 960 + ], + "'NAME": [ + -1, + 960 + ], + "'COLON": [ + -1, + 960 + ], + "'END": [ + -1, + 960 + ], + "'COMMA": [ + -1, + 960 + ], + "'PARENNOSPACE": [ + -1, + 960 + ], + "'STRING": [ + -1, + 960 + ], + "'RPAREN": [ + -1, + 960 + ], + "'TYPE": [ + -1, + 960 + ], + "'DATA": [ + -1, + 960 + ], + "'TIMES": [ + -1, + 960 + ], + "'PARENSPACE": [ + -1, + 960 + ], + "'DOT": [ + -1, + 960 + ], + "'SPY": [ + -1, + 960 + ], + "'NEWTYPE": [ + -1, + 960 + ], + "'LBRACE": [ + -1, + 960 + ], + "'RBRACE": [ + -1, + 960 + ], + "'SEMI": [ + -1, + 960 + ], + "'SHADOW": [ + -1, + 960 + ], + "'LET": [ + -1, + 960 + ], + "'BLOCK": [ + -1, + 960 + ], + "'LETREC": [ + -1, + 960 + ], + "'TYPE-LET": [ + -1, + 960 + ], + "'FUN": [ + -1, + 960 + ], + "'LANGLE": [ + -1, + 960 + ], + "'LT": [ + -1, + 960 + ], + "'GT": [ + -1, + 960 + ], + "'PARENAFTERBRACE": [ + -1, + 960 + ], + "'WHERE": [ + -1, + 960 + ], + "'CHECK": [ + -1, + 960 + ], + "'EXAMPLES": [ + -1, + 960 + ], + "'CHECKCOLON": [ + -1, + 960 + ], + "'EXAMPLESCOLON": [ + -1, + 960 + ], + "'BECAUSE": [ + -1, + 960 + ], + "'BAR": [ + -1, + 960 + ], + "'SHARING": [ + -1, + 960 + ], + "'VAR": [ + -1, + 960 + ], + "'REC": [ + -1, + 960 + ], + "'WHEN": [ + -1, + 960 + ], + "'PLUS": [ + -1, + 960 + ], + "'DASH": [ + -1, + 960 + ], + "'SLASH": [ + -1, + 960 + ], + "'LEQ": [ + -1, + 960 + ], + "'GEQ": [ + -1, + 960 + ], + "'EQUALEQUAL": [ + -1, + 960 + ], + "'SPACESHIP": [ + -1, + 960 + ], + "'EQUALTILDE": [ + -1, + 960 + ], + "'NEQ": [ + -1, + 960 + ], + "'AND": [ + -1, + 960 + ], + "'OR": [ + -1, + 960 + ], + "'CARET": [ + -1, + 960 + ], + "'IS": [ + -1, + 960 + ], + "'ISEQUALEQUAL": [ + -1, + 960 + ], + "'ISEQUALTILDE": [ + -1, + 960 + ], + "'ISSPACESHIP": [ + -1, + 960 + ], + "'ISROUGHLY": [ + -1, + 960 + ], + "'ISNOT": [ + -1, + 960 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 960 + ], + "'ISNOTEQUALTILDE": [ + -1, + 960 + ], + "'ISNOTSPACESHIP": [ + -1, + 960 + ], + "'RAISES": [ + -1, + 960 + ], + "'RAISESOTHER": [ + -1, + 960 + ], + "'SATISFIES": [ + -1, + 960 + ], + "'SATISFIESNOT": [ + -1, + 960 + ], + "'RAISESSATISFIES": [ + -1, + 960 + ], + "'RAISESVIOLATES": [ + -1, + 960 + ], + "'RAISESNOT": [ + -1, + 960 + ], + "'DOTDOTDOT": [ + -1, + 960 + ], + "'NUMBER": [ + -1, + 960 + ], + "'RATIONAL": [ + -1, + 960 + ], + "'ROUGHRATIONAL": [ + -1, + 960 + ], + "'TRUE": [ + -1, + 960 + ], + "'FALSE": [ + -1, + 960 + ], + "'LAM": [ + -1, + 960 + ], + "'METHOD": [ + -1, + 960 + ], + "'LBRACK": [ + -1, + 960 + ], + "'RBRACK": [ + -1, + 960 + ], + "'TABLE": [ + -1, + 960 + ], + "'ROW": [ + -1, + 960 + ], + "'REACTOR": [ + -1, + 960 + ], + "'BANG": [ + -1, + 960 + ], + "'IF": [ + -1, + 960 + ], + "'ELSECOLON": [ + -1, + 960 + ], + "'ELSEIF": [ + -1, + 960 + ], + "'ASK": [ + -1, + 960 + ], + "'THENCOLON": [ + -1, + 960 + ], + "'CASES": [ + -1, + 960 + ], + "'FOR": [ + -1, + 960 + ], + "'TABLE-SELECT": [ + -1, + 960 + ], + "'TABLE-FILTER": [ + -1, + 960 + ], + "'USING": [ + -1, + 960 + ], + "'TABLE-ORDER": [ + -1, + 960 + ], + "'TABLE-EXTRACT": [ + -1, + 960 + ], + "'TABLE-UPDATE": [ + -1, + 960 + ], + "'TABLE-EXTEND": [ + -1, + 960 + ], + "'OF": [ + -1, + 960 + ], + "'LOAD-TABLE": [ + -1, + 960 + ], + "'SOURCECOLON": [ + -1, + 960 + ], + "'SANITIZE": [ + -1, + 960 + ] + }, + { + "$": [ + -1, + 962 + ], + "'NAME": [ + -1, + 962 + ], + "'COLON": [ + -1, + 962 + ], + "'END": [ + -1, + 962 + ], + "'COMMA": [ + -1, + 962 + ], + "'PARENNOSPACE": [ + -1, + 962 + ], + "'STRING": [ + -1, + 962 + ], + "'RPAREN": [ + -1, + 962 + ], + "'TYPE": [ + -1, + 962 + ], + "'DATA": [ + -1, + 962 + ], + "'TIMES": [ + -1, + 962 + ], + "'PARENSPACE": [ + -1, + 962 + ], + "'DOT": [ + -1, + 962 + ], + "'SPY": [ + -1, + 962 + ], + "'NEWTYPE": [ + -1, + 962 + ], + "'LBRACE": [ + -1, + 962 + ], + "'RBRACE": [ + -1, + 962 + ], + "'SEMI": [ + -1, + 962 + ], + "'SHADOW": [ + -1, + 962 + ], + "'LET": [ + -1, + 962 + ], + "'BLOCK": [ + -1, + 962 + ], + "'LETREC": [ + -1, + 962 + ], + "'TYPE-LET": [ + -1, + 962 + ], + "'FUN": [ + -1, + 962 + ], + "'LANGLE": [ + -1, + 962 + ], + "'LT": [ + -1, + 962 + ], + "'GT": [ + -1, + 962 + ], + "'PARENAFTERBRACE": [ + -1, + 962 + ], + "'WHERE": [ + -1, + 962 + ], + "'CHECK": [ + -1, + 962 + ], + "'EXAMPLES": [ + -1, + 962 + ], + "'CHECKCOLON": [ + -1, + 962 + ], + "'EXAMPLESCOLON": [ + -1, + 962 + ], + "'BECAUSE": [ + -1, + 962 + ], + "'BAR": [ + -1, + 962 + ], + "'SHARING": [ + -1, + 962 + ], + "'VAR": [ + -1, + 962 + ], + "'REC": [ + -1, + 962 + ], + "'WHEN": [ + -1, + 962 + ], + "'PLUS": [ + -1, + 962 + ], + "'DASH": [ + -1, + 962 + ], + "'SLASH": [ + -1, + 962 + ], + "'LEQ": [ + -1, + 962 + ], + "'GEQ": [ + -1, + 962 + ], + "'EQUALEQUAL": [ + -1, + 962 + ], + "'SPACESHIP": [ + -1, + 962 + ], + "'EQUALTILDE": [ + -1, + 962 + ], + "'NEQ": [ + -1, + 962 + ], + "'AND": [ + -1, + 962 + ], + "'OR": [ + -1, + 962 + ], + "'CARET": [ + -1, + 962 + ], + "'IS": [ + -1, + 962 + ], + "'ISEQUALEQUAL": [ + -1, + 962 + ], + "'ISEQUALTILDE": [ + -1, + 962 + ], + "'ISSPACESHIP": [ + -1, + 962 + ], + "'ISROUGHLY": [ + -1, + 962 + ], + "'ISNOT": [ + -1, + 962 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 962 + ], + "'ISNOTEQUALTILDE": [ + -1, + 962 + ], + "'ISNOTSPACESHIP": [ + -1, + 962 + ], + "'RAISES": [ + -1, + 962 + ], + "'RAISESOTHER": [ + -1, + 962 + ], + "'SATISFIES": [ + -1, + 962 + ], + "'SATISFIESNOT": [ + -1, + 962 + ], + "'RAISESSATISFIES": [ + -1, + 962 + ], + "'RAISESVIOLATES": [ + -1, + 962 + ], + "'RAISESNOT": [ + -1, + 962 + ], + "'DOTDOTDOT": [ + -1, + 962 + ], + "'NUMBER": [ + -1, + 962 + ], + "'RATIONAL": [ + -1, + 962 + ], + "'ROUGHRATIONAL": [ + -1, + 962 + ], + "'TRUE": [ + -1, + 962 + ], + "'FALSE": [ + -1, + 962 + ], + "'LAM": [ + -1, + 962 + ], + "'METHOD": [ + -1, + 962 + ], + "'LBRACK": [ + -1, + 962 + ], + "'RBRACK": [ + -1, + 962 + ], + "'TABLE": [ + -1, + 962 + ], + "'ROW": [ + -1, + 962 + ], + "'REACTOR": [ + -1, + 962 + ], + "'BANG": [ + -1, + 962 + ], + "'IF": [ + -1, + 962 + ], + "'ELSECOLON": [ + -1, + 962 + ], + "'ELSEIF": [ + -1, + 962 + ], + "'ASK": [ + -1, + 962 + ], + "'THENCOLON": [ + -1, + 962 + ], + "'CASES": [ + -1, + 962 + ], + "'FOR": [ + -1, + 962 + ], + "'TABLE-SELECT": [ + -1, + 962 + ], + "'TABLE-FILTER": [ + -1, + 962 + ], + "'USING": [ + -1, + 962 + ], + "'TABLE-ORDER": [ + -1, + 962 + ], + "'TABLE-EXTRACT": [ + -1, + 962 + ], + "'TABLE-UPDATE": [ + -1, + 962 + ], + "'TABLE-EXTEND": [ + -1, + 962 + ], + "'OF": [ + -1, + 962 + ], + "'LOAD-TABLE": [ + -1, + 962 + ], + "'SOURCECOLON": [ + -1, + 962 + ], + "'SANITIZE": [ + -1, + 962 + ] + }, + { + "$": [ + -1, + 964 + ], + "'NAME": [ + -1, + 964 + ], + "'FROM": [ + -1, + 964 + ], + "'COLON": [ + -1, + 964 + ], + "'END": [ + -1, + 964 + ], + "'COMMA": [ + -1, + 964 + ], + "'STRING": [ + -1, + 964 + ], + "'RPAREN": [ + -1, + 964 + ], + "'TYPE": [ + -1, + 964 + ], + "'DATA": [ + -1, + 964 + ], + "'PARENSPACE": [ + -1, + 964 + ], + "'SPY": [ + -1, + 964 + ], + "'EQUALS": [ + -1, + 964 + ], + "'NEWTYPE": [ + -1, + 964 + ], + "'LBRACE": [ + -1, + 964 + ], + "'RBRACE": [ + -1, + 964 + ], + "'SEMI": [ + -1, + 964 + ], + "'SHADOW": [ + -1, + 964 + ], + "'LET": [ + -1, + 964 + ], + "'BLOCK": [ + -1, + 964 + ], + "'LETREC": [ + -1, + 964 + ], + "'TYPE-LET": [ + -1, + 964 + ], + "'FUN": [ + -1, + 964 + ], + "'LANGLE": [ + -1, + 964 + ], + "'RANGLE": [ + -1, + 964 + ], + "'GT": [ + -1, + 964 + ], + "'PARENAFTERBRACE": [ + -1, + 964 + ], + "'THINARROW": [ + -1, + 964 + ], + "'WHERE": [ + -1, + 964 + ], + "'CHECK": [ + -1, + 964 + ], + "'EXAMPLES": [ + -1, + 964 + ], + "'CHECKCOLON": [ + -1, + 964 + ], + "'EXAMPLESCOLON": [ + -1, + 964 + ], + "'PERCENT": [ + -1, + 964 + ], + "'BAR": [ + -1, + 964 + ], + "'VAR": [ + -1, + 964 + ], + "'REC": [ + -1, + 964 + ], + "'WHEN": [ + -1, + 964 + ], + "'DOTDOTDOT": [ + -1, + 964 + ], + "'NUMBER": [ + -1, + 964 + ], + "'RATIONAL": [ + -1, + 964 + ], + "'ROUGHRATIONAL": [ + -1, + 964 + ], + "'TRUE": [ + -1, + 964 + ], + "'FALSE": [ + -1, + 964 + ], + "'LAM": [ + -1, + 964 + ], + "'METHOD": [ + -1, + 964 + ], + "'LBRACK": [ + -1, + 964 + ], + "'TABLE": [ + -1, + 964 + ], + "'ROW": [ + -1, + 964 + ], + "'REACTOR": [ + -1, + 964 + ], + "'IF": [ + -1, + 964 + ], + "'ELSECOLON": [ + -1, + 964 + ], + "'ELSEIF": [ + -1, + 964 + ], + "'ASK": [ + -1, + 964 + ], + "'CASES": [ + -1, + 964 + ], + "'FOR": [ + -1, + 964 + ], + "'TABLE-SELECT": [ + -1, + 964 + ], + "'TABLE-FILTER": [ + -1, + 964 + ], + "'TABLE-ORDER": [ + -1, + 964 + ], + "'TABLE-EXTRACT": [ + -1, + 964 + ], + "'TABLE-UPDATE": [ + -1, + 964 + ], + "'TABLE-EXTEND": [ + -1, + 964 + ], + "'LOAD-TABLE": [ + -1, + 964 + ], + "'SOURCECOLON": [ + -1, + 964 + ], + "'SANITIZE": [ + -1, + 964 + ] + }, + { + "'NAME": [ + -1, + 966 + ] + }, + { + "'NAME": [ + -1, + 968 + ] + }, + { + "'NAME": [ + 139 + ], + "id-expr": [ + 760 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 761 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "$": [ + -1, + 970 + ], + "'NAME": [ + -1, + 970 + ], + "'COLON": [ + -1, + 970 + ], + "'END": [ + -1, + 970 + ], + "'COMMA": [ + -1, + 970 + ], + "'PARENNOSPACE": [ + -1, + 970 + ], + "'STRING": [ + -1, + 970 + ], + "'RPAREN": [ + -1, + 970 + ], + "'TYPE": [ + -1, + 970 + ], + "'DATA": [ + -1, + 970 + ], + "'TIMES": [ + -1, + 970 + ], + "'PARENSPACE": [ + -1, + 970 + ], + "'DOT": [ + -1, + 970 + ], + "'SPY": [ + -1, + 970 + ], + "'NEWTYPE": [ + -1, + 970 + ], + "'LBRACE": [ + -1, + 970 + ], + "'RBRACE": [ + -1, + 970 + ], + "'SEMI": [ + -1, + 970 + ], + "'SHADOW": [ + -1, + 970 + ], + "'LET": [ + -1, + 970 + ], + "'BLOCK": [ + -1, + 970 + ], + "'LETREC": [ + -1, + 970 + ], + "'TYPE-LET": [ + -1, + 970 + ], + "'FUN": [ + -1, + 970 + ], + "'LANGLE": [ + -1, + 970 + ], + "'LT": [ + -1, + 970 + ], + "'GT": [ + -1, + 970 + ], + "'PARENAFTERBRACE": [ + -1, + 970 + ], + "'WHERE": [ + -1, + 970 + ], + "'CHECK": [ + -1, + 970 + ], + "'EXAMPLES": [ + -1, + 970 + ], + "'CHECKCOLON": [ + -1, + 970 + ], + "'EXAMPLESCOLON": [ + -1, + 970 + ], + "'BECAUSE": [ + -1, + 970 + ], + "'BAR": [ + -1, + 970 + ], + "'SHARING": [ + -1, + 970 + ], + "'VAR": [ + -1, + 970 + ], + "'REC": [ + -1, + 970 + ], + "'WHEN": [ + -1, + 970 + ], + "'PLUS": [ + -1, + 970 + ], + "'DASH": [ + -1, + 970 + ], + "'SLASH": [ + -1, + 970 + ], + "'LEQ": [ + -1, + 970 + ], + "'GEQ": [ + -1, + 970 + ], + "'EQUALEQUAL": [ + -1, + 970 + ], + "'SPACESHIP": [ + -1, + 970 + ], + "'EQUALTILDE": [ + -1, + 970 + ], + "'NEQ": [ + -1, + 970 + ], + "'AND": [ + -1, + 970 + ], + "'OR": [ + -1, + 970 + ], + "'CARET": [ + -1, + 970 + ], + "'IS": [ + -1, + 970 + ], + "'ISEQUALEQUAL": [ + -1, + 970 + ], + "'ISEQUALTILDE": [ + -1, + 970 + ], + "'ISSPACESHIP": [ + -1, + 970 + ], + "'ISROUGHLY": [ + -1, + 970 + ], + "'ISNOT": [ + -1, + 970 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 970 + ], + "'ISNOTEQUALTILDE": [ + -1, + 970 + ], + "'ISNOTSPACESHIP": [ + -1, + 970 + ], + "'RAISES": [ + -1, + 970 + ], + "'RAISESOTHER": [ + -1, + 970 + ], + "'SATISFIES": [ + -1, + 970 + ], + "'SATISFIESNOT": [ + -1, + 970 + ], + "'RAISESSATISFIES": [ + -1, + 970 + ], + "'RAISESVIOLATES": [ + -1, + 970 + ], + "'RAISESNOT": [ + -1, + 970 + ], + "'DOTDOTDOT": [ + -1, + 970 + ], + "'NUMBER": [ + -1, + 970 + ], + "'RATIONAL": [ + -1, + 970 + ], + "'ROUGHRATIONAL": [ + -1, + 970 + ], + "'TRUE": [ + -1, + 970 + ], + "'FALSE": [ + -1, + 970 + ], + "'LAM": [ + -1, + 970 + ], + "'METHOD": [ + -1, + 970 + ], + "'LBRACK": [ + -1, + 970 + ], + "'RBRACK": [ + -1, + 970 + ], + "'TABLE": [ + -1, + 970 + ], + "'ROW": [ + -1, + 970 + ], + "'REACTOR": [ + -1, + 970 + ], + "'BANG": [ + -1, + 970 + ], + "'IF": [ + -1, + 970 + ], + "'ELSECOLON": [ + -1, + 970 + ], + "'ELSEIF": [ + -1, + 970 + ], + "'ASK": [ + -1, + 970 + ], + "'THENCOLON": [ + -1, + 970 + ], + "'CASES": [ + -1, + 970 + ], + "'FOR": [ + -1, + 970 + ], + "'TABLE-SELECT": [ + -1, + 970 + ], + "'TABLE-FILTER": [ + -1, + 970 + ], + "'USING": [ + -1, + 970 + ], + "'TABLE-ORDER": [ + -1, + 970 + ], + "'TABLE-EXTRACT": [ + -1, + 970 + ], + "'TABLE-UPDATE": [ + -1, + 970 + ], + "'TABLE-EXTEND": [ + -1, + 970 + ], + "'OF": [ + -1, + 970 + ], + "'LOAD-TABLE": [ + -1, + 970 + ], + "'SOURCECOLON": [ + -1, + 970 + ], + "'SANITIZE": [ + -1, + 970 + ] + }, + { + "$": [ + -1, + 972 + ], + "'NAME": [ + -1, + 972 + ], + "'COLON": [ + -1, + 972 + ], + "'END": [ + -1, + 972 + ], + "'COMMA": [ + -1, + 972 + ], + "'PARENNOSPACE": [ + -1, + 972 + ], + "'STRING": [ + -1, + 972 + ], + "'RPAREN": [ + -1, + 972 + ], + "'TYPE": [ + -1, + 972 + ], + "'DATA": [ + -1, + 972 + ], + "'TIMES": [ + -1, + 972 + ], + "'PARENSPACE": [ + -1, + 972 + ], + "'DOT": [ + -1, + 972 + ], + "'SPY": [ + -1, + 972 + ], + "'NEWTYPE": [ + -1, + 972 + ], + "'LBRACE": [ + -1, + 972 + ], + "'RBRACE": [ + -1, + 972 + ], + "'SEMI": [ + -1, + 972 + ], + "'SHADOW": [ + -1, + 972 + ], + "'LET": [ + -1, + 972 + ], + "'BLOCK": [ + -1, + 972 + ], + "'LETREC": [ + -1, + 972 + ], + "'TYPE-LET": [ + -1, + 972 + ], + "'FUN": [ + -1, + 972 + ], + "'LANGLE": [ + -1, + 972 + ], + "'LT": [ + -1, + 972 + ], + "'GT": [ + -1, + 972 + ], + "'PARENAFTERBRACE": [ + -1, + 972 + ], + "'WHERE": [ + -1, + 972 + ], + "'CHECK": [ + -1, + 972 + ], + "'EXAMPLES": [ + -1, + 972 + ], + "'CHECKCOLON": [ + -1, + 972 + ], + "'EXAMPLESCOLON": [ + -1, + 972 + ], + "'BECAUSE": [ + -1, + 972 + ], + "'BAR": [ + -1, + 972 + ], + "'SHARING": [ + -1, + 972 + ], + "'VAR": [ + -1, + 972 + ], + "'REC": [ + -1, + 972 + ], + "'WHEN": [ + -1, + 972 + ], + "'PLUS": [ + -1, + 972 + ], + "'DASH": [ + -1, + 972 + ], + "'SLASH": [ + -1, + 972 + ], + "'LEQ": [ + -1, + 972 + ], + "'GEQ": [ + -1, + 972 + ], + "'EQUALEQUAL": [ + -1, + 972 + ], + "'SPACESHIP": [ + -1, + 972 + ], + "'EQUALTILDE": [ + -1, + 972 + ], + "'NEQ": [ + -1, + 972 + ], + "'AND": [ + -1, + 972 + ], + "'OR": [ + -1, + 972 + ], + "'CARET": [ + -1, + 972 + ], + "'IS": [ + -1, + 972 + ], + "'ISEQUALEQUAL": [ + -1, + 972 + ], + "'ISEQUALTILDE": [ + -1, + 972 + ], + "'ISSPACESHIP": [ + -1, + 972 + ], + "'ISROUGHLY": [ + -1, + 972 + ], + "'ISNOT": [ + -1, + 972 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 972 + ], + "'ISNOTEQUALTILDE": [ + -1, + 972 + ], + "'ISNOTSPACESHIP": [ + -1, + 972 + ], + "'RAISES": [ + -1, + 972 + ], + "'RAISESOTHER": [ + -1, + 972 + ], + "'SATISFIES": [ + -1, + 972 + ], + "'SATISFIESNOT": [ + -1, + 972 + ], + "'RAISESSATISFIES": [ + -1, + 972 + ], + "'RAISESVIOLATES": [ + -1, + 972 + ], + "'RAISESNOT": [ + -1, + 972 + ], + "'DOTDOTDOT": [ + -1, + 972 + ], + "'NUMBER": [ + -1, + 972 + ], + "'RATIONAL": [ + -1, + 972 + ], + "'ROUGHRATIONAL": [ + -1, + 972 + ], + "'TRUE": [ + -1, + 972 + ], + "'FALSE": [ + -1, + 972 + ], + "'LAM": [ + -1, + 972 + ], + "'METHOD": [ + -1, + 972 + ], + "'LBRACK": [ + -1, + 972 + ], + "'RBRACK": [ + -1, + 972 + ], + "'TABLE": [ + -1, + 972 + ], + "'ROW": [ + -1, + 972 + ], + "'REACTOR": [ + -1, + 972 + ], + "'BANG": [ + -1, + 972 + ], + "'IF": [ + -1, + 972 + ], + "'ELSECOLON": [ + -1, + 972 + ], + "'ELSEIF": [ + -1, + 972 + ], + "'ASK": [ + -1, + 972 + ], + "'THENCOLON": [ + -1, + 972 + ], + "'CASES": [ + -1, + 972 + ], + "'FOR": [ + -1, + 972 + ], + "'TABLE-SELECT": [ + -1, + 972 + ], + "'TABLE-FILTER": [ + -1, + 972 + ], + "'USING": [ + -1, + 972 + ], + "'TABLE-ORDER": [ + -1, + 972 + ], + "'TABLE-EXTRACT": [ + -1, + 972 + ], + "'TABLE-UPDATE": [ + -1, + 972 + ], + "'TABLE-EXTEND": [ + -1, + 972 + ], + "'OF": [ + -1, + 972 + ], + "'LOAD-TABLE": [ + -1, + 972 + ], + "'SOURCECOLON": [ + -1, + 972 + ], + "'SANITIZE": [ + -1, + 972 + ] + }, + { + "$": [ + -1, + 974 + ], + "'NAME": [ + -1, + 974 + ], + "'COLON": [ + -1, + 974 + ], + "'END": [ + -1, + 974 + ], + "'COMMA": [ + -1, + 974 + ], + "'PARENNOSPACE": [ + -1, + 974 + ], + "'STRING": [ + -1, + 974 + ], + "'RPAREN": [ + -1, + 974 + ], + "'TYPE": [ + -1, + 974 + ], + "'DATA": [ + -1, + 974 + ], + "'TIMES": [ + -1, + 974 + ], + "'PARENSPACE": [ + -1, + 974 + ], + "'DOT": [ + -1, + 974 + ], + "'SPY": [ + -1, + 974 + ], + "'NEWTYPE": [ + -1, + 974 + ], + "'LBRACE": [ + -1, + 974 + ], + "'RBRACE": [ + -1, + 974 + ], + "'SEMI": [ + -1, + 974 + ], + "'SHADOW": [ + -1, + 974 + ], + "'LET": [ + -1, + 974 + ], + "'BLOCK": [ + -1, + 974 + ], + "'LETREC": [ + -1, + 974 + ], + "'TYPE-LET": [ + -1, + 974 + ], + "'FUN": [ + -1, + 974 + ], + "'LANGLE": [ + -1, + 974 + ], + "'LT": [ + -1, + 974 + ], + "'GT": [ + -1, + 974 + ], + "'PARENAFTERBRACE": [ + -1, + 974 + ], + "'WHERE": [ + -1, + 974 + ], + "'CHECK": [ + -1, + 974 + ], + "'EXAMPLES": [ + -1, + 974 + ], + "'CHECKCOLON": [ + -1, + 974 + ], + "'EXAMPLESCOLON": [ + -1, + 974 + ], + "'BECAUSE": [ + -1, + 974 + ], + "'BAR": [ + -1, + 974 + ], + "'SHARING": [ + -1, + 974 + ], + "'VAR": [ + -1, + 974 + ], + "'REC": [ + -1, + 974 + ], + "'WHEN": [ + -1, + 974 + ], + "'PLUS": [ + -1, + 974 + ], + "'DASH": [ + -1, + 974 + ], + "'SLASH": [ + -1, + 974 + ], + "'LEQ": [ + -1, + 974 + ], + "'GEQ": [ + -1, + 974 + ], + "'EQUALEQUAL": [ + -1, + 974 + ], + "'SPACESHIP": [ + -1, + 974 + ], + "'EQUALTILDE": [ + -1, + 974 + ], + "'NEQ": [ + -1, + 974 + ], + "'AND": [ + -1, + 974 + ], + "'OR": [ + -1, + 974 + ], + "'CARET": [ + -1, + 974 + ], + "'IS": [ + -1, + 974 + ], + "'ISEQUALEQUAL": [ + -1, + 974 + ], + "'ISEQUALTILDE": [ + -1, + 974 + ], + "'ISSPACESHIP": [ + -1, + 974 + ], + "'ISROUGHLY": [ + -1, + 974 + ], + "'ISNOT": [ + -1, + 974 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 974 + ], + "'ISNOTEQUALTILDE": [ + -1, + 974 + ], + "'ISNOTSPACESHIP": [ + -1, + 974 + ], + "'RAISES": [ + -1, + 974 + ], + "'RAISESOTHER": [ + -1, + 974 + ], + "'SATISFIES": [ + -1, + 974 + ], + "'SATISFIESNOT": [ + -1, + 974 + ], + "'RAISESSATISFIES": [ + -1, + 974 + ], + "'RAISESVIOLATES": [ + -1, + 974 + ], + "'RAISESNOT": [ + -1, + 974 + ], + "'DOTDOTDOT": [ + -1, + 974 + ], + "'NUMBER": [ + -1, + 974 + ], + "'RATIONAL": [ + -1, + 974 + ], + "'ROUGHRATIONAL": [ + -1, + 974 + ], + "'TRUE": [ + -1, + 974 + ], + "'FALSE": [ + -1, + 974 + ], + "'LAM": [ + -1, + 974 + ], + "'METHOD": [ + -1, + 974 + ], + "'LBRACK": [ + -1, + 974 + ], + "'RBRACK": [ + -1, + 974 + ], + "'TABLE": [ + -1, + 974 + ], + "'ROW": [ + -1, + 974 + ], + "'REACTOR": [ + -1, + 974 + ], + "'BANG": [ + -1, + 974 + ], + "'IF": [ + -1, + 974 + ], + "'ELSECOLON": [ + -1, + 974 + ], + "'ELSEIF": [ + -1, + 974 + ], + "'ASK": [ + -1, + 974 + ], + "'THENCOLON": [ + -1, + 974 + ], + "'CASES": [ + -1, + 974 + ], + "'FOR": [ + -1, + 974 + ], + "'TABLE-SELECT": [ + -1, + 974 + ], + "'TABLE-FILTER": [ + -1, + 974 + ], + "'USING": [ + -1, + 974 + ], + "'TABLE-ORDER": [ + -1, + 974 + ], + "'TABLE-EXTRACT": [ + -1, + 974 + ], + "'TABLE-UPDATE": [ + -1, + 974 + ], + "'TABLE-EXTEND": [ + -1, + 974 + ], + "'OF": [ + -1, + 974 + ], + "'LOAD-TABLE": [ + -1, + 974 + ], + "'SOURCECOLON": [ + -1, + 974 + ], + "'SANITIZE": [ + -1, + 974 + ] + }, + { + "'COMMA": [ + -1, + 976 + ], + "'RANGLE": [ + -1, + 976 + ], + "'GT": [ + -1, + 976 + ] + }, + { + "'SEMI": [ + 762 + ], + "tuple-ann_I3?": [ + 763 + ], + "tuple-ann_I2": [ + 764 + ], + "tuple-ann_I3": [ + 765 + ], + "'RBRACE": [ + -1, + 978 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 766 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'RANGLE": [ + 767 + ], + "'GT": [ + 768 + ], + "app-ann_I3": [ + 769 + ] + }, + { + "$": [ + -1, + 980 + ], + "'NAME": [ + -1, + 980 + ], + "'COLON": [ + -1, + 980 + ], + "'END": [ + -1, + 980 + ], + "'COMMA": [ + -1, + 980 + ], + "'PARENNOSPACE": [ + -1, + 980 + ], + "'STRING": [ + -1, + 980 + ], + "'RPAREN": [ + -1, + 980 + ], + "'TYPE": [ + -1, + 980 + ], + "'DATA": [ + -1, + 980 + ], + "'TIMES": [ + -1, + 980 + ], + "'PARENSPACE": [ + -1, + 980 + ], + "'DOT": [ + -1, + 980 + ], + "'SPY": [ + -1, + 980 + ], + "'NEWTYPE": [ + -1, + 980 + ], + "'LBRACE": [ + -1, + 980 + ], + "'RBRACE": [ + -1, + 980 + ], + "'SEMI": [ + -1, + 980 + ], + "'SHADOW": [ + -1, + 980 + ], + "'LET": [ + -1, + 980 + ], + "'BLOCK": [ + -1, + 980 + ], + "'LETREC": [ + -1, + 980 + ], + "'TYPE-LET": [ + -1, + 980 + ], + "'FUN": [ + -1, + 980 + ], + "'LANGLE": [ + -1, + 980 + ], + "'LT": [ + -1, + 980 + ], + "'GT": [ + -1, + 980 + ], + "'PARENAFTERBRACE": [ + -1, + 980 + ], + "'WHERE": [ + -1, + 980 + ], + "'CHECK": [ + -1, + 980 + ], + "'EXAMPLES": [ + -1, + 980 + ], + "'CHECKCOLON": [ + -1, + 980 + ], + "'EXAMPLESCOLON": [ + -1, + 980 + ], + "'BECAUSE": [ + -1, + 980 + ], + "'BAR": [ + -1, + 980 + ], + "'SHARING": [ + -1, + 980 + ], + "'VAR": [ + -1, + 980 + ], + "'REC": [ + -1, + 980 + ], + "'WHEN": [ + -1, + 980 + ], + "'PLUS": [ + -1, + 980 + ], + "'DASH": [ + -1, + 980 + ], + "'SLASH": [ + -1, + 980 + ], + "'LEQ": [ + -1, + 980 + ], + "'GEQ": [ + -1, + 980 + ], + "'EQUALEQUAL": [ + -1, + 980 + ], + "'SPACESHIP": [ + -1, + 980 + ], + "'EQUALTILDE": [ + -1, + 980 + ], + "'NEQ": [ + -1, + 980 + ], + "'AND": [ + -1, + 980 + ], + "'OR": [ + -1, + 980 + ], + "'CARET": [ + -1, + 980 + ], + "'IS": [ + -1, + 980 + ], + "'ISEQUALEQUAL": [ + -1, + 980 + ], + "'ISEQUALTILDE": [ + -1, + 980 + ], + "'ISSPACESHIP": [ + -1, + 980 + ], + "'ISROUGHLY": [ + -1, + 980 + ], + "'ISNOT": [ + -1, + 980 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 980 + ], + "'ISNOTEQUALTILDE": [ + -1, + 980 + ], + "'ISNOTSPACESHIP": [ + -1, + 980 + ], + "'RAISES": [ + -1, + 980 + ], + "'RAISESOTHER": [ + -1, + 980 + ], + "'SATISFIES": [ + -1, + 980 + ], + "'SATISFIESNOT": [ + -1, + 980 + ], + "'RAISESSATISFIES": [ + -1, + 980 + ], + "'RAISESVIOLATES": [ + -1, + 980 + ], + "'RAISESNOT": [ + -1, + 980 + ], + "'DOTDOTDOT": [ + -1, + 980 + ], + "'NUMBER": [ + -1, + 980 + ], + "'RATIONAL": [ + -1, + 980 + ], + "'ROUGHRATIONAL": [ + -1, + 980 + ], + "'TRUE": [ + -1, + 980 + ], + "'FALSE": [ + -1, + 980 + ], + "'LAM": [ + -1, + 980 + ], + "'METHOD": [ + -1, + 980 + ], + "'LBRACK": [ + -1, + 980 + ], + "'RBRACK": [ + -1, + 980 + ], + "'TABLE": [ + -1, + 980 + ], + "'ROW": [ + -1, + 980 + ], + "'REACTOR": [ + -1, + 980 + ], + "'BANG": [ + -1, + 980 + ], + "'IF": [ + -1, + 980 + ], + "'ELSECOLON": [ + -1, + 980 + ], + "'ELSEIF": [ + -1, + 980 + ], + "'ASK": [ + -1, + 980 + ], + "'THENCOLON": [ + -1, + 980 + ], + "'CASES": [ + -1, + 980 + ], + "'FOR": [ + -1, + 980 + ], + "'TABLE-SELECT": [ + -1, + 980 + ], + "'TABLE-FILTER": [ + -1, + 980 + ], + "'USING": [ + -1, + 980 + ], + "'TABLE-ORDER": [ + -1, + 980 + ], + "'TABLE-EXTRACT": [ + -1, + 980 + ], + "'TABLE-UPDATE": [ + -1, + 980 + ], + "'TABLE-EXTEND": [ + -1, + 980 + ], + "'OF": [ + -1, + 980 + ], + "'LOAD-TABLE": [ + -1, + 980 + ], + "'SOURCECOLON": [ + -1, + 980 + ], + "'SANITIZE": [ + -1, + 980 + ] + }, + { + "where-clause": [ + 770 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "where-clause": [ + 771 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "'COMMA": [ + 772 + ], + "trailing-opt-comma-binops_I0_A0_I1?": [ + 773 + ], + "trailing-opt-comma-binops_I0_A0_I1": [ + 774 + ], + "'RBRACK": [ + -1, + 982, + 984 + ] + }, + { + "'RBRACK": [ + 775 + ] + }, + { + "'RBRACK": [ + -1, + 986 + ] + }, + { + "'END": [ + -1, + 988 + ], + "'ROW": [ + -1, + 988 + ] + }, + { + "'END": [ + -1, + 990 + ], + "'ROW": [ + -1, + 990 + ] + }, + { + "'END": [ + -1, + 992 + ], + "'ROW": [ + -1, + 992 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 776 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "table-items_I0_I0": [ + 777 + ], + "list-table-item": [ + 778 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'END": [ + -1, + 994 + ], + "'COMMA": [ + -1, + 994 + ], + "'ROW": [ + -1, + 994 + ], + "'SOURCECOLON": [ + -1, + 994 + ], + "'SANITIZE": [ + -1, + 994 + ] + }, + { + "'COLON": [ + 779 + ], + "'BLOCK": [ + 780 + ], + "field_A1_I3": [ + 781 + ] + }, + { + "'END": [ + -1, + 996 + ], + "'COMMA": [ + -1, + 996 + ], + "'RBRACE": [ + -1, + 996 + ], + "'WHERE": [ + -1, + 996 + ], + "'BAR": [ + -1, + 996 + ], + "'SHARING": [ + -1, + 996 + ] + }, + { + "'NAME": [ + 291 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 782 + ], + "'END": [ + -1, + 998 + ], + "'RBRACE": [ + -1, + 998 + ], + "'WHERE": [ + -1, + 998 + ], + "'BAR": [ + -1, + 998 + ], + "'SHARING": [ + -1, + 998 + ] + }, + { + "'END": [ + -1, + 1000 + ], + "'RBRACE": [ + -1, + 1000 + ], + "'WHERE": [ + -1, + 1000 + ], + "'BAR": [ + -1, + 1000 + ], + "'SHARING": [ + -1, + 1000 + ] + }, + { + "'END": [ + -1, + 1002 + ], + "'COMMA": [ + -1, + 1002 + ], + "'RBRACE": [ + -1, + 1002 + ], + "'WHERE": [ + -1, + 1002 + ], + "'BAR": [ + -1, + 1002 + ], + "'SHARING": [ + -1, + 1002 + ] + }, + { + "'END": [ + -1, + 1004 + ], + "'RBRACE": [ + -1, + 1004 + ], + "'WHERE": [ + -1, + 1004 + ], + "'BAR": [ + -1, + 1004 + ], + "'SHARING": [ + -1, + 1004 + ] + }, + { + "if-expr_I5?": [ + 783 + ], + "if-expr_I4": [ + 784 + ], + "else-if": [ + 785 + ], + "if-expr_I5": [ + 786 + ], + "'ELSECOLON": [ + 787 + ], + "'ELSEIF": [ + 788 + ], + "'END": [ + -1, + 1006 + ] + }, + { + "'THENCOLON": [ + 789 + ] + }, + { + "block": [ + 790 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1008, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 1010 + ], + "'NAME": [ + -1, + 1010 + ], + "'COLON": [ + -1, + 1010 + ], + "'END": [ + -1, + 1010 + ], + "'COMMA": [ + -1, + 1010 + ], + "'PARENNOSPACE": [ + -1, + 1010 + ], + "'STRING": [ + -1, + 1010 + ], + "'RPAREN": [ + -1, + 1010 + ], + "'TYPE": [ + -1, + 1010 + ], + "'DATA": [ + -1, + 1010 + ], + "'TIMES": [ + -1, + 1010 + ], + "'PARENSPACE": [ + -1, + 1010 + ], + "'DOT": [ + -1, + 1010 + ], + "'SPY": [ + -1, + 1010 + ], + "'NEWTYPE": [ + -1, + 1010 + ], + "'LBRACE": [ + -1, + 1010 + ], + "'RBRACE": [ + -1, + 1010 + ], + "'SEMI": [ + -1, + 1010 + ], + "'SHADOW": [ + -1, + 1010 + ], + "'LET": [ + -1, + 1010 + ], + "'BLOCK": [ + -1, + 1010 + ], + "'LETREC": [ + -1, + 1010 + ], + "'TYPE-LET": [ + -1, + 1010 + ], + "'FUN": [ + -1, + 1010 + ], + "'LANGLE": [ + -1, + 1010 + ], + "'LT": [ + -1, + 1010 + ], + "'GT": [ + -1, + 1010 + ], + "'PARENAFTERBRACE": [ + -1, + 1010 + ], + "'WHERE": [ + -1, + 1010 + ], + "'CHECK": [ + -1, + 1010 + ], + "'EXAMPLES": [ + -1, + 1010 + ], + "'CHECKCOLON": [ + -1, + 1010 + ], + "'EXAMPLESCOLON": [ + -1, + 1010 + ], + "'BECAUSE": [ + -1, + 1010 + ], + "'BAR": [ + -1, + 1010 + ], + "'SHARING": [ + -1, + 1010 + ], + "'VAR": [ + -1, + 1010 + ], + "'REC": [ + -1, + 1010 + ], + "'WHEN": [ + -1, + 1010 + ], + "'PLUS": [ + -1, + 1010 + ], + "'DASH": [ + -1, + 1010 + ], + "'SLASH": [ + -1, + 1010 + ], + "'LEQ": [ + -1, + 1010 + ], + "'GEQ": [ + -1, + 1010 + ], + "'EQUALEQUAL": [ + -1, + 1010 + ], + "'SPACESHIP": [ + -1, + 1010 + ], + "'EQUALTILDE": [ + -1, + 1010 + ], + "'NEQ": [ + -1, + 1010 + ], + "'AND": [ + -1, + 1010 + ], + "'OR": [ + -1, + 1010 + ], + "'CARET": [ + -1, + 1010 + ], + "'IS": [ + -1, + 1010 + ], + "'ISEQUALEQUAL": [ + -1, + 1010 + ], + "'ISEQUALTILDE": [ + -1, + 1010 + ], + "'ISSPACESHIP": [ + -1, + 1010 + ], + "'ISROUGHLY": [ + -1, + 1010 + ], + "'ISNOT": [ + -1, + 1010 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1010 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1010 + ], + "'ISNOTSPACESHIP": [ + -1, + 1010 + ], + "'RAISES": [ + -1, + 1010 + ], + "'RAISESOTHER": [ + -1, + 1010 + ], + "'SATISFIES": [ + -1, + 1010 + ], + "'SATISFIESNOT": [ + -1, + 1010 + ], + "'RAISESSATISFIES": [ + -1, + 1010 + ], + "'RAISESVIOLATES": [ + -1, + 1010 + ], + "'RAISESNOT": [ + -1, + 1010 + ], + "'DOTDOTDOT": [ + -1, + 1010 + ], + "'NUMBER": [ + -1, + 1010 + ], + "'RATIONAL": [ + -1, + 1010 + ], + "'ROUGHRATIONAL": [ + -1, + 1010 + ], + "'TRUE": [ + -1, + 1010 + ], + "'FALSE": [ + -1, + 1010 + ], + "'LAM": [ + -1, + 1010 + ], + "'METHOD": [ + -1, + 1010 + ], + "'LBRACK": [ + -1, + 1010 + ], + "'RBRACK": [ + -1, + 1010 + ], + "'TABLE": [ + -1, + 1010 + ], + "'ROW": [ + -1, + 1010 + ], + "'REACTOR": [ + -1, + 1010 + ], + "'BANG": [ + -1, + 1010 + ], + "'IF": [ + -1, + 1010 + ], + "'ELSECOLON": [ + -1, + 1010 + ], + "'ELSEIF": [ + -1, + 1010 + ], + "'ASK": [ + -1, + 1010 + ], + "'THENCOLON": [ + -1, + 1010 + ], + "'CASES": [ + -1, + 1010 + ], + "'FOR": [ + -1, + 1010 + ], + "'TABLE-SELECT": [ + -1, + 1010 + ], + "'TABLE-FILTER": [ + -1, + 1010 + ], + "'USING": [ + -1, + 1010 + ], + "'TABLE-ORDER": [ + -1, + 1010 + ], + "'TABLE-EXTRACT": [ + -1, + 1010 + ], + "'TABLE-UPDATE": [ + -1, + 1010 + ], + "'TABLE-EXTEND": [ + -1, + 1010 + ], + "'OF": [ + -1, + 1010 + ], + "'LOAD-TABLE": [ + -1, + 1010 + ], + "'SOURCECOLON": [ + -1, + 1010 + ], + "'SANITIZE": [ + -1, + 1010 + ] + }, + { + "'COLON": [ + 791 + ], + "'BLOCK": [ + 792 + ], + "cases-expr_I5": [ + 793 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 794 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'COMMA": [ + 795 + ], + "for-expr_I3_I1": [ + 796 + ], + "'RPAREN": [ + -1, + 1012 + ] + }, + { + "return-ann": [ + 797 + ], + "return-ann_I0?": [ + 459 + ], + "return-ann_I0": [ + 460 + ], + "'THINARROW": [ + 461 + ], + "'COLON": [ + -1, + 412, + 414 + ], + "'BLOCK": [ + -1, + 412, + 414 + ] + }, + { + "'END": [ + 798 + ], + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ] + }, + { + "'FROM": [ + -1, + 1014 + ], + "'COMMA": [ + -1, + 1014 + ] + }, + { + "'END": [ + 799 + ] + }, + { + "'COMMA": [ + 800 + ], + "table-filter_I2_I2": [ + 801 + ], + "'COLON": [ + -1, + 1016 + ] + }, + { + "'END": [ + -1, + 1018 + ], + "'COMMA": [ + -1, + 1018 + ] + }, + { + "'END": [ + -1, + 1020 + ], + "'COMMA": [ + -1, + 1020 + ] + }, + { + "'END": [ + -1, + 1022 + ], + "'COMMA": [ + -1, + 1022 + ] + }, + { + "'END": [ + 802 + ], + "'COMMA": [ + 803 + ], + "table-order_I4": [ + 804 + ] + }, + { + "$": [ + -1, + 1024 + ], + "'NAME": [ + -1, + 1024 + ], + "'COLON": [ + -1, + 1024 + ], + "'END": [ + -1, + 1024 + ], + "'COMMA": [ + -1, + 1024 + ], + "'PARENNOSPACE": [ + -1, + 1024 + ], + "'STRING": [ + -1, + 1024 + ], + "'RPAREN": [ + -1, + 1024 + ], + "'TYPE": [ + -1, + 1024 + ], + "'DATA": [ + -1, + 1024 + ], + "'TIMES": [ + -1, + 1024 + ], + "'PARENSPACE": [ + -1, + 1024 + ], + "'DOT": [ + -1, + 1024 + ], + "'SPY": [ + -1, + 1024 + ], + "'NEWTYPE": [ + -1, + 1024 + ], + "'LBRACE": [ + -1, + 1024 + ], + "'RBRACE": [ + -1, + 1024 + ], + "'SEMI": [ + -1, + 1024 + ], + "'SHADOW": [ + -1, + 1024 + ], + "'LET": [ + -1, + 1024 + ], + "'BLOCK": [ + -1, + 1024 + ], + "'LETREC": [ + -1, + 1024 + ], + "'TYPE-LET": [ + -1, + 1024 + ], + "'FUN": [ + -1, + 1024 + ], + "'LANGLE": [ + -1, + 1024 + ], + "'LT": [ + -1, + 1024 + ], + "'GT": [ + -1, + 1024 + ], + "'PARENAFTERBRACE": [ + -1, + 1024 + ], + "'WHERE": [ + -1, + 1024 + ], + "'CHECK": [ + -1, + 1024 + ], + "'EXAMPLES": [ + -1, + 1024 + ], + "'CHECKCOLON": [ + -1, + 1024 + ], + "'EXAMPLESCOLON": [ + -1, + 1024 + ], + "'BECAUSE": [ + -1, + 1024 + ], + "'BAR": [ + -1, + 1024 + ], + "'SHARING": [ + -1, + 1024 + ], + "'VAR": [ + -1, + 1024 + ], + "'REC": [ + -1, + 1024 + ], + "'WHEN": [ + -1, + 1024 + ], + "'PLUS": [ + -1, + 1024 + ], + "'DASH": [ + -1, + 1024 + ], + "'SLASH": [ + -1, + 1024 + ], + "'LEQ": [ + -1, + 1024 + ], + "'GEQ": [ + -1, + 1024 + ], + "'EQUALEQUAL": [ + -1, + 1024 + ], + "'SPACESHIP": [ + -1, + 1024 + ], + "'EQUALTILDE": [ + -1, + 1024 + ], + "'NEQ": [ + -1, + 1024 + ], + "'AND": [ + -1, + 1024 + ], + "'OR": [ + -1, + 1024 + ], + "'CARET": [ + -1, + 1024 + ], + "'IS": [ + -1, + 1024 + ], + "'ISEQUALEQUAL": [ + -1, + 1024 + ], + "'ISEQUALTILDE": [ + -1, + 1024 + ], + "'ISSPACESHIP": [ + -1, + 1024 + ], + "'ISROUGHLY": [ + -1, + 1024 + ], + "'ISNOT": [ + -1, + 1024 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1024 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1024 + ], + "'ISNOTSPACESHIP": [ + -1, + 1024 + ], + "'RAISES": [ + -1, + 1024 + ], + "'RAISESOTHER": [ + -1, + 1024 + ], + "'SATISFIES": [ + -1, + 1024 + ], + "'SATISFIESNOT": [ + -1, + 1024 + ], + "'RAISESSATISFIES": [ + -1, + 1024 + ], + "'RAISESVIOLATES": [ + -1, + 1024 + ], + "'RAISESNOT": [ + -1, + 1024 + ], + "'DOTDOTDOT": [ + -1, + 1024 + ], + "'NUMBER": [ + -1, + 1024 + ], + "'RATIONAL": [ + -1, + 1024 + ], + "'ROUGHRATIONAL": [ + -1, + 1024 + ], + "'TRUE": [ + -1, + 1024 + ], + "'FALSE": [ + -1, + 1024 + ], + "'LAM": [ + -1, + 1024 + ], + "'METHOD": [ + -1, + 1024 + ], + "'LBRACK": [ + -1, + 1024 + ], + "'RBRACK": [ + -1, + 1024 + ], + "'TABLE": [ + -1, + 1024 + ], + "'ROW": [ + -1, + 1024 + ], + "'REACTOR": [ + -1, + 1024 + ], + "'BANG": [ + -1, + 1024 + ], + "'IF": [ + -1, + 1024 + ], + "'ELSECOLON": [ + -1, + 1024 + ], + "'ELSEIF": [ + -1, + 1024 + ], + "'ASK": [ + -1, + 1024 + ], + "'THENCOLON": [ + -1, + 1024 + ], + "'CASES": [ + -1, + 1024 + ], + "'FOR": [ + -1, + 1024 + ], + "'TABLE-SELECT": [ + -1, + 1024 + ], + "'TABLE-FILTER": [ + -1, + 1024 + ], + "'USING": [ + -1, + 1024 + ], + "'TABLE-ORDER": [ + -1, + 1024 + ], + "'TABLE-EXTRACT": [ + -1, + 1024 + ], + "'TABLE-UPDATE": [ + -1, + 1024 + ], + "'TABLE-EXTEND": [ + -1, + 1024 + ], + "'OF": [ + -1, + 1024 + ], + "'LOAD-TABLE": [ + -1, + 1024 + ], + "'SOURCECOLON": [ + -1, + 1024 + ], + "'SANITIZE": [ + -1, + 1024 + ] + }, + { + "'COMMA": [ + 805 + ], + "table-update_I2_I2": [ + 806 + ], + "'COLON": [ + -1, + 1026 + ] + }, + { + "'END": [ + 807 + ] + }, + { + "'COMMA": [ + 808 + ], + "table-extend_I2_I2": [ + 809 + ], + "'COLON": [ + -1, + 1028 + ] + }, + { + "'END": [ + 810 + ] + }, + { + "'NAME": [ + 291 + ], + "key": [ + 811 + ], + "table-extend-field": [ + 812 + ], + "table-extend-fields_I0": [ + 813 + ], + "list-table-extend-field": [ + 814 + ] + }, + { + "$": [ + -1, + 1030 + ], + "'NAME": [ + -1, + 1030 + ], + "'COLON": [ + -1, + 1030 + ], + "'END": [ + -1, + 1030 + ], + "'COMMA": [ + -1, + 1030 + ], + "'PARENNOSPACE": [ + -1, + 1030 + ], + "'STRING": [ + -1, + 1030 + ], + "'RPAREN": [ + -1, + 1030 + ], + "'TYPE": [ + -1, + 1030 + ], + "'DATA": [ + -1, + 1030 + ], + "'TIMES": [ + -1, + 1030 + ], + "'PARENSPACE": [ + -1, + 1030 + ], + "'DOT": [ + -1, + 1030 + ], + "'SPY": [ + -1, + 1030 + ], + "'NEWTYPE": [ + -1, + 1030 + ], + "'LBRACE": [ + -1, + 1030 + ], + "'RBRACE": [ + -1, + 1030 + ], + "'SEMI": [ + -1, + 1030 + ], + "'SHADOW": [ + -1, + 1030 + ], + "'LET": [ + -1, + 1030 + ], + "'BLOCK": [ + -1, + 1030 + ], + "'LETREC": [ + -1, + 1030 + ], + "'TYPE-LET": [ + -1, + 1030 + ], + "'FUN": [ + -1, + 1030 + ], + "'LANGLE": [ + -1, + 1030 + ], + "'LT": [ + -1, + 1030 + ], + "'GT": [ + -1, + 1030 + ], + "'PARENAFTERBRACE": [ + -1, + 1030 + ], + "'WHERE": [ + -1, + 1030 + ], + "'CHECK": [ + -1, + 1030 + ], + "'EXAMPLES": [ + -1, + 1030 + ], + "'CHECKCOLON": [ + -1, + 1030 + ], + "'EXAMPLESCOLON": [ + -1, + 1030 + ], + "'BECAUSE": [ + -1, + 1030 + ], + "'BAR": [ + -1, + 1030 + ], + "'SHARING": [ + -1, + 1030 + ], + "'VAR": [ + -1, + 1030 + ], + "'REC": [ + -1, + 1030 + ], + "'WHEN": [ + -1, + 1030 + ], + "'PLUS": [ + -1, + 1030 + ], + "'DASH": [ + -1, + 1030 + ], + "'SLASH": [ + -1, + 1030 + ], + "'LEQ": [ + -1, + 1030 + ], + "'GEQ": [ + -1, + 1030 + ], + "'EQUALEQUAL": [ + -1, + 1030 + ], + "'SPACESHIP": [ + -1, + 1030 + ], + "'EQUALTILDE": [ + -1, + 1030 + ], + "'NEQ": [ + -1, + 1030 + ], + "'AND": [ + -1, + 1030 + ], + "'OR": [ + -1, + 1030 + ], + "'CARET": [ + -1, + 1030 + ], + "'IS": [ + -1, + 1030 + ], + "'ISEQUALEQUAL": [ + -1, + 1030 + ], + "'ISEQUALTILDE": [ + -1, + 1030 + ], + "'ISSPACESHIP": [ + -1, + 1030 + ], + "'ISROUGHLY": [ + -1, + 1030 + ], + "'ISNOT": [ + -1, + 1030 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1030 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1030 + ], + "'ISNOTSPACESHIP": [ + -1, + 1030 + ], + "'RAISES": [ + -1, + 1030 + ], + "'RAISESOTHER": [ + -1, + 1030 + ], + "'SATISFIES": [ + -1, + 1030 + ], + "'SATISFIESNOT": [ + -1, + 1030 + ], + "'RAISESSATISFIES": [ + -1, + 1030 + ], + "'RAISESVIOLATES": [ + -1, + 1030 + ], + "'RAISESNOT": [ + -1, + 1030 + ], + "'DOTDOTDOT": [ + -1, + 1030 + ], + "'NUMBER": [ + -1, + 1030 + ], + "'RATIONAL": [ + -1, + 1030 + ], + "'ROUGHRATIONAL": [ + -1, + 1030 + ], + "'TRUE": [ + -1, + 1030 + ], + "'FALSE": [ + -1, + 1030 + ], + "'LAM": [ + -1, + 1030 + ], + "'METHOD": [ + -1, + 1030 + ], + "'LBRACK": [ + -1, + 1030 + ], + "'RBRACK": [ + -1, + 1030 + ], + "'TABLE": [ + -1, + 1030 + ], + "'ROW": [ + -1, + 1030 + ], + "'REACTOR": [ + -1, + 1030 + ], + "'BANG": [ + -1, + 1030 + ], + "'IF": [ + -1, + 1030 + ], + "'ELSECOLON": [ + -1, + 1030 + ], + "'ELSEIF": [ + -1, + 1030 + ], + "'ASK": [ + -1, + 1030 + ], + "'THENCOLON": [ + -1, + 1030 + ], + "'CASES": [ + -1, + 1030 + ], + "'FOR": [ + -1, + 1030 + ], + "'TABLE-SELECT": [ + -1, + 1030 + ], + "'TABLE-FILTER": [ + -1, + 1030 + ], + "'USING": [ + -1, + 1030 + ], + "'TABLE-ORDER": [ + -1, + 1030 + ], + "'TABLE-EXTRACT": [ + -1, + 1030 + ], + "'TABLE-UPDATE": [ + -1, + 1030 + ], + "'TABLE-EXTEND": [ + -1, + 1030 + ], + "'OF": [ + -1, + 1030 + ], + "'LOAD-TABLE": [ + -1, + 1030 + ], + "'SOURCECOLON": [ + -1, + 1030 + ], + "'SANITIZE": [ + -1, + 1030 + ] + }, + { + "'END": [ + -1, + 1032 + ], + "'SOURCECOLON": [ + -1, + 1034 + ], + "'SANITIZE": [ + -1, + 1034 + ] + }, + { + "'SOURCECOLON": [ + -1, + 1036 + ], + "'SANITIZE": [ + -1, + 1036 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 815 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 816 + ] + }, + { + "'END": [ + 817 + ] + }, + { + "'END": [ + -1, + 1038 + ] + }, + { + "import-stmt_A1_I4_I1*": [ + 818 + ], + "'END": [ + -1, + 1040, + 1042 + ], + "'COMMA": [ + -1, + 1042 + ] + }, + { + "'END": [ + -1, + 1044 + ], + "'COMMA": [ + -1, + 1044 + ] + }, + { + "'END": [ + -1, + 1046 + ], + "'COMMA": [ + -1, + 1046 + ] + }, + { + "'END": [ + -1, + 1048 + ], + "'COMMA": [ + -1, + 1048 + ] + }, + { + "'END": [ + -1, + 1050 + ], + "'COMMA": [ + -1, + 1050 + ] + }, + { + "'END": [ + -1, + 1052 + ], + "'COMMA": [ + -1, + 1052 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 819 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "module-ref": [ + 411 + ], + "data-name-spec": [ + 820 + ], + "'STAR": [ + 413 + ], + "'TIMES": [ + 414 + ], + "data-name-spec_A0_I0": [ + 415 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 821 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ] + }, + { + "'FROM": [ + -1, + 1054 + ], + "'COMMA": [ + -1, + 1054 + ], + "'RANGLE": [ + -1, + 1054 + ], + "'GT": [ + -1, + 1054 + ] + }, + { + "provide-block_A1_I4_I1*": [ + 822 + ], + "'END": [ + -1, + 1056, + 1058 + ], + "'COMMA": [ + -1, + 1058 + ] + }, + { + "'END": [ + 823 + ] + }, + { + "'END": [ + -1, + 1060 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COMMA": [ + -1, + 1062 + ], + "'RPAREN": [ + -1, + 1062 + ], + "'RBRACE": [ + -1, + 1062 + ] + }, + { + "'NAME": [ + 404 + ], + "ann-field": [ + 824 + ] + }, + { + "'COMMA": [ + -1, + 1064 + ], + "'RPAREN": [ + -1, + 1064 + ], + "'RBRACE": [ + -1, + 1064 + ] + }, + { + "'END": [ + -1, + 1066 + ], + "'COMMA": [ + -1, + 1066 + ] + }, + { + "'RPAREN": [ + 825 + ] + }, + { + "'RPAREN": [ + -1, + 1068 + ] + }, + { + "'NAME": [ + 826 + ], + "hiding-spec_I2_I0": [ + 827 + ] + }, + { + "'STRING": [ + 828 + ] + }, + { + "$": [ + -1, + 1070 + ], + "'NAME": [ + -1, + 1070 + ], + "'INCLUDE": [ + -1, + 1070 + ], + "'IMPORT": [ + -1, + 1070 + ], + "'AS": [ + -1, + 1070 + ], + "'STRING": [ + -1, + 1070 + ], + "'TYPE": [ + -1, + 1070 + ], + "'DATA": [ + -1, + 1070 + ], + "'PROVIDE": [ + -1, + 1070 + ], + "'PROVIDE-TYPES": [ + -1, + 1070 + ], + "'PROVIDECOLON": [ + -1, + 1070 + ], + "'PARENSPACE": [ + -1, + 1070 + ], + "'SPY": [ + -1, + 1070 + ], + "'NEWTYPE": [ + -1, + 1070 + ], + "'LBRACE": [ + -1, + 1070 + ], + "'SHADOW": [ + -1, + 1070 + ], + "'LET": [ + -1, + 1070 + ], + "'BLOCK": [ + -1, + 1070 + ], + "'LETREC": [ + -1, + 1070 + ], + "'TYPE-LET": [ + -1, + 1070 + ], + "'FUN": [ + -1, + 1070 + ], + "'PARENAFTERBRACE": [ + -1, + 1070 + ], + "'CHECK": [ + -1, + 1070 + ], + "'EXAMPLES": [ + -1, + 1070 + ], + "'CHECKCOLON": [ + -1, + 1070 + ], + "'EXAMPLESCOLON": [ + -1, + 1070 + ], + "'VAR": [ + -1, + 1070 + ], + "'REC": [ + -1, + 1070 + ], + "'WHEN": [ + -1, + 1070 + ], + "'DOTDOTDOT": [ + -1, + 1070 + ], + "'NUMBER": [ + -1, + 1070 + ], + "'RATIONAL": [ + -1, + 1070 + ], + "'ROUGHRATIONAL": [ + -1, + 1070 + ], + "'TRUE": [ + -1, + 1070 + ], + "'FALSE": [ + -1, + 1070 + ], + "'LAM": [ + -1, + 1070 + ], + "'METHOD": [ + -1, + 1070 + ], + "'LBRACK": [ + -1, + 1070 + ], + "'TABLE": [ + -1, + 1070 + ], + "'REACTOR": [ + -1, + 1070 + ], + "'IF": [ + -1, + 1070 + ], + "'ASK": [ + -1, + 1070 + ], + "'CASES": [ + -1, + 1070 + ], + "'FOR": [ + -1, + 1070 + ], + "'TABLE-SELECT": [ + -1, + 1070 + ], + "'TABLE-FILTER": [ + -1, + 1070 + ], + "'TABLE-ORDER": [ + -1, + 1070 + ], + "'TABLE-EXTRACT": [ + -1, + 1070 + ], + "'TABLE-UPDATE": [ + -1, + 1070 + ], + "'TABLE-EXTEND": [ + -1, + 1070 + ], + "'LOAD-TABLE": [ + -1, + 1070 + ] + }, + { + "'COMMA": [ + -1, + 1072 + ], + "'RPAREN": [ + -1, + 1072 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 829 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'COMMA": [ + -1, + 1074 + ], + "'RANGLE": [ + -1, + 1074 + ], + "'GT": [ + -1, + 1074 + ], + "'THINARROW": [ + -1, + 1074 + ] + }, + { + "'PERCENT": [ + 516 + ], + "$": [ + -1, + 1076 + ], + "'NAME": [ + -1, + 1076 + ], + "'END": [ + -1, + 1076 + ], + "'STRING": [ + -1, + 1076 + ], + "'TYPE": [ + -1, + 1076 + ], + "'DATA": [ + -1, + 1076 + ], + "'PARENSPACE": [ + -1, + 1076 + ], + "'SPY": [ + -1, + 1076 + ], + "'NEWTYPE": [ + -1, + 1076 + ], + "'LBRACE": [ + -1, + 1076 + ], + "'RBRACE": [ + -1, + 1076 + ], + "'SHADOW": [ + -1, + 1076 + ], + "'LET": [ + -1, + 1076 + ], + "'BLOCK": [ + -1, + 1076 + ], + "'LETREC": [ + -1, + 1076 + ], + "'TYPE-LET": [ + -1, + 1076 + ], + "'FUN": [ + -1, + 1076 + ], + "'PARENAFTERBRACE": [ + -1, + 1076 + ], + "'WHERE": [ + -1, + 1076 + ], + "'CHECK": [ + -1, + 1076 + ], + "'EXAMPLES": [ + -1, + 1076 + ], + "'CHECKCOLON": [ + -1, + 1076 + ], + "'EXAMPLESCOLON": [ + -1, + 1076 + ], + "'BAR": [ + -1, + 1076 + ], + "'VAR": [ + -1, + 1076 + ], + "'REC": [ + -1, + 1076 + ], + "'WHEN": [ + -1, + 1076 + ], + "'DOTDOTDOT": [ + -1, + 1076 + ], + "'NUMBER": [ + -1, + 1076 + ], + "'RATIONAL": [ + -1, + 1076 + ], + "'ROUGHRATIONAL": [ + -1, + 1076 + ], + "'TRUE": [ + -1, + 1076 + ], + "'FALSE": [ + -1, + 1076 + ], + "'LAM": [ + -1, + 1076 + ], + "'METHOD": [ + -1, + 1076 + ], + "'LBRACK": [ + -1, + 1076 + ], + "'TABLE": [ + -1, + 1076 + ], + "'REACTOR": [ + -1, + 1076 + ], + "'IF": [ + -1, + 1076 + ], + "'ELSECOLON": [ + -1, + 1076 + ], + "'ELSEIF": [ + -1, + 1076 + ], + "'ASK": [ + -1, + 1076 + ], + "'CASES": [ + -1, + 1076 + ], + "'FOR": [ + -1, + 1076 + ], + "'TABLE-SELECT": [ + -1, + 1076 + ], + "'TABLE-FILTER": [ + -1, + 1076 + ], + "'TABLE-ORDER": [ + -1, + 1076 + ], + "'TABLE-EXTRACT": [ + -1, + 1076 + ], + "'TABLE-UPDATE": [ + -1, + 1076 + ], + "'TABLE-EXTEND": [ + -1, + 1076 + ], + "'LOAD-TABLE": [ + -1, + 1076 + ] + }, + { + "'THINARROW": [ + -1, + 1078 + ] + }, + { + "variant-members_I1?": [ + 830 + ], + "variant-members_I1": [ + 831 + ], + "variant-member": [ + 832 + ], + "variant-member_I0?": [ + 833 + ], + "variant-member_I0": [ + 834 + ], + "'REF": [ + 835 + ], + "'NAME": [ + -1, + 1080 + ], + "'RPAREN": [ + -1, + 1082 + ], + "'LBRACE": [ + -1, + 1080 + ], + "'SHADOW": [ + -1, + 1080 + ] + }, + { + "'END": [ + -1, + 1084 + ], + "'WHERE": [ + -1, + 1084 + ], + "'BAR": [ + -1, + 1084 + ], + "'WITH": [ + -1, + 1084 + ], + "'SHARING": [ + -1, + 1084 + ] + }, + { + "'END": [ + -1, + 1086 + ], + "'WHERE": [ + -1, + 1086 + ], + "'BAR": [ + -1, + 1086 + ], + "'SHARING": [ + -1, + 1086 + ] + }, + { + "'END": [ + -1, + 1088 + ], + "'WHERE": [ + -1, + 1088 + ], + "'BAR": [ + -1, + 1088 + ], + "'SHARING": [ + -1, + 1088 + ] + }, + { + "'END": [ + -1, + 1090 + ], + "'WHERE": [ + -1, + 1090 + ], + "'BAR": [ + -1, + 1090 + ], + "'SHARING": [ + -1, + 1090 + ] + }, + { + "'NAME": [ + 291 + ], + "fields": [ + 836 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 378 + ] + }, + { + "data-sharing": [ + 837 + ], + "data-expr_I5": [ + 838 + ], + "data-variant": [ + 839 + ], + "'BAR": [ + 840 + ], + "data-sharing_I0?": [ + 841 + ], + "data-sharing_I0": [ + 842 + ], + "'SHARING": [ + 843 + ], + "'END": [ + -1, + 1092, + 1094 + ], + "'WHERE": [ + -1, + 1092, + 1094 + ] + }, + { + "'END": [ + -1, + 1096 + ], + "'WHERE": [ + -1, + 1096 + ], + "'BAR": [ + -1, + 1096 + ], + "'SHARING": [ + -1, + 1096 + ] + }, + { + "'END": [ + -1, + 1098 + ], + "'COMMA": [ + -1, + 1098 + ] + }, + { + "'NAME": [ + 439 + ], + "spy-field": [ + 844 + ], + "id-expr": [ + 444 + ] + }, + { + "'END": [ + -1, + 1100 + ], + "'COMMA": [ + -1, + 1100 + ] + }, + { + "$": [ + -1, + 1102 + ], + "'NAME": [ + -1, + 1102 + ], + "'END": [ + -1, + 1102 + ], + "'STRING": [ + -1, + 1102 + ], + "'TYPE": [ + -1, + 1102 + ], + "'DATA": [ + -1, + 1102 + ], + "'PARENSPACE": [ + -1, + 1102 + ], + "'SPY": [ + -1, + 1102 + ], + "'NEWTYPE": [ + -1, + 1102 + ], + "'LBRACE": [ + -1, + 1102 + ], + "'RBRACE": [ + -1, + 1102 + ], + "'SHADOW": [ + -1, + 1102 + ], + "'LET": [ + -1, + 1102 + ], + "'BLOCK": [ + -1, + 1102 + ], + "'LETREC": [ + -1, + 1102 + ], + "'TYPE-LET": [ + -1, + 1102 + ], + "'FUN": [ + -1, + 1102 + ], + "'PARENAFTERBRACE": [ + -1, + 1102 + ], + "'WHERE": [ + -1, + 1102 + ], + "'CHECK": [ + -1, + 1102 + ], + "'EXAMPLES": [ + -1, + 1102 + ], + "'CHECKCOLON": [ + -1, + 1102 + ], + "'EXAMPLESCOLON": [ + -1, + 1102 + ], + "'BAR": [ + -1, + 1102 + ], + "'VAR": [ + -1, + 1102 + ], + "'REC": [ + -1, + 1102 + ], + "'WHEN": [ + -1, + 1102 + ], + "'DOTDOTDOT": [ + -1, + 1102 + ], + "'NUMBER": [ + -1, + 1102 + ], + "'RATIONAL": [ + -1, + 1102 + ], + "'ROUGHRATIONAL": [ + -1, + 1102 + ], + "'TRUE": [ + -1, + 1102 + ], + "'FALSE": [ + -1, + 1102 + ], + "'LAM": [ + -1, + 1102 + ], + "'METHOD": [ + -1, + 1102 + ], + "'LBRACK": [ + -1, + 1102 + ], + "'TABLE": [ + -1, + 1102 + ], + "'REACTOR": [ + -1, + 1102 + ], + "'IF": [ + -1, + 1102 + ], + "'ELSECOLON": [ + -1, + 1102 + ], + "'ELSEIF": [ + -1, + 1102 + ], + "'ASK": [ + -1, + 1102 + ], + "'CASES": [ + -1, + 1102 + ], + "'FOR": [ + -1, + 1102 + ], + "'TABLE-SELECT": [ + -1, + 1102 + ], + "'TABLE-FILTER": [ + -1, + 1102 + ], + "'TABLE-ORDER": [ + -1, + 1102 + ], + "'TABLE-EXTRACT": [ + -1, + 1102 + ], + "'TABLE-UPDATE": [ + -1, + 1102 + ], + "'TABLE-EXTEND": [ + -1, + 1102 + ], + "'LOAD-TABLE": [ + -1, + 1102 + ] + }, + { + "'NAME": [ + -1, + 1104 + ], + "'STRING": [ + -1, + 1104 + ], + "'PARENSPACE": [ + -1, + 1104 + ], + "'LBRACE": [ + -1, + 1104 + ], + "'LET": [ + -1, + 1104 + ], + "'BLOCK": [ + -1, + 1104 + ], + "'LETREC": [ + -1, + 1104 + ], + "'TYPE-LET": [ + -1, + 1104 + ], + "'PARENAFTERBRACE": [ + -1, + 1104 + ], + "'DOTDOTDOT": [ + -1, + 1104 + ], + "'NUMBER": [ + -1, + 1104 + ], + "'RATIONAL": [ + -1, + 1104 + ], + "'ROUGHRATIONAL": [ + -1, + 1104 + ], + "'TRUE": [ + -1, + 1104 + ], + "'FALSE": [ + -1, + 1104 + ], + "'LAM": [ + -1, + 1104 + ], + "'METHOD": [ + -1, + 1104 + ], + "'LBRACK": [ + -1, + 1104 + ], + "'TABLE": [ + -1, + 1104 + ], + "'REACTOR": [ + -1, + 1104 + ], + "'IF": [ + -1, + 1104 + ], + "'ASK": [ + -1, + 1104 + ], + "'CASES": [ + -1, + 1104 + ], + "'FOR": [ + -1, + 1104 + ], + "'TABLE-SELECT": [ + -1, + 1104 + ], + "'TABLE-FILTER": [ + -1, + 1104 + ], + "'TABLE-ORDER": [ + -1, + 1104 + ], + "'TABLE-EXTRACT": [ + -1, + 1104 + ], + "'TABLE-UPDATE": [ + -1, + 1104 + ], + "'TABLE-EXTEND": [ + -1, + 1104 + ], + "'LOAD-TABLE": [ + -1, + 1104 + ] + }, + { + "binding": [ + 845 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COMMA": [ + -1, + 1106 + ], + "'RPAREN": [ + -1, + 1106 + ] + }, + { + "binding": [ + 846 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COMMA": [ + -1, + 1108 + ], + "'RPAREN": [ + -1, + 1108 + ] + }, + { + "name-binding": [ + 847 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'FROM": [ + -1, + 1110 + ], + "'COLON": [ + -1, + 1110 + ], + "'COMMA": [ + -1, + 1110 + ], + "'RPAREN": [ + -1, + 1110 + ], + "'EQUALS": [ + -1, + 1110 + ], + "'RBRACE": [ + -1, + 1110 + ], + "'SEMI": [ + -1, + 1110 + ] + }, + { + "'FROM": [ + -1, + 1112 + ], + "'COLON": [ + -1, + 1112 + ], + "'COMMA": [ + -1, + 1112 + ], + "'RPAREN": [ + -1, + 1112 + ], + "'EQUALS": [ + -1, + 1112 + ], + "'RBRACE": [ + -1, + 1112 + ], + "'SEMI": [ + -1, + 1112 + ] + }, + { + "'RBRACE": [ + 848 + ] + }, + { + "'END": [ + -1, + 1114 + ], + "'RBRACE": [ + -1, + 1114 + ] + }, + { + "'END": [ + -1, + 1116 + ], + "'RBRACE": [ + -1, + 1116 + ] + }, + { + "block": [ + 849 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1118, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'RBRACE": [ + -1, + 1118, + 8, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'END": [ + -1, + 1120 + ], + "'COMMA": [ + -1, + 1120 + ], + "'RBRACE": [ + -1, + 1120 + ] + }, + { + "block": [ + 850 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 1122 + ], + "'NAME": [ + -1, + 1122 + ], + "'COLON": [ + -1, + 1122 + ], + "'END": [ + -1, + 1122 + ], + "'COMMA": [ + -1, + 1122 + ], + "'PARENNOSPACE": [ + -1, + 1122 + ], + "'STRING": [ + -1, + 1122 + ], + "'RPAREN": [ + -1, + 1122 + ], + "'TYPE": [ + -1, + 1122 + ], + "'DATA": [ + -1, + 1122 + ], + "'TIMES": [ + -1, + 1122 + ], + "'PARENSPACE": [ + -1, + 1122 + ], + "'DOT": [ + -1, + 1122 + ], + "'SPY": [ + -1, + 1122 + ], + "'NEWTYPE": [ + -1, + 1122 + ], + "'LBRACE": [ + -1, + 1122 + ], + "'RBRACE": [ + -1, + 1122 + ], + "'SEMI": [ + -1, + 1122 + ], + "'SHADOW": [ + -1, + 1122 + ], + "'LET": [ + -1, + 1122 + ], + "'BLOCK": [ + -1, + 1122 + ], + "'LETREC": [ + -1, + 1122 + ], + "'TYPE-LET": [ + -1, + 1122 + ], + "'FUN": [ + -1, + 1122 + ], + "'LANGLE": [ + -1, + 1122 + ], + "'LT": [ + -1, + 1122 + ], + "'GT": [ + -1, + 1122 + ], + "'PARENAFTERBRACE": [ + -1, + 1122 + ], + "'WHERE": [ + -1, + 1122 + ], + "'CHECK": [ + -1, + 1122 + ], + "'EXAMPLES": [ + -1, + 1122 + ], + "'CHECKCOLON": [ + -1, + 1122 + ], + "'EXAMPLESCOLON": [ + -1, + 1122 + ], + "'BECAUSE": [ + -1, + 1122 + ], + "'BAR": [ + -1, + 1122 + ], + "'SHARING": [ + -1, + 1122 + ], + "'VAR": [ + -1, + 1122 + ], + "'REC": [ + -1, + 1122 + ], + "'WHEN": [ + -1, + 1122 + ], + "'PLUS": [ + -1, + 1122 + ], + "'DASH": [ + -1, + 1122 + ], + "'SLASH": [ + -1, + 1122 + ], + "'LEQ": [ + -1, + 1122 + ], + "'GEQ": [ + -1, + 1122 + ], + "'EQUALEQUAL": [ + -1, + 1122 + ], + "'SPACESHIP": [ + -1, + 1122 + ], + "'EQUALTILDE": [ + -1, + 1122 + ], + "'NEQ": [ + -1, + 1122 + ], + "'AND": [ + -1, + 1122 + ], + "'OR": [ + -1, + 1122 + ], + "'CARET": [ + -1, + 1122 + ], + "'IS": [ + -1, + 1122 + ], + "'ISEQUALEQUAL": [ + -1, + 1122 + ], + "'ISEQUALTILDE": [ + -1, + 1122 + ], + "'ISSPACESHIP": [ + -1, + 1122 + ], + "'ISROUGHLY": [ + -1, + 1122 + ], + "'ISNOT": [ + -1, + 1122 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1122 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1122 + ], + "'ISNOTSPACESHIP": [ + -1, + 1122 + ], + "'RAISES": [ + -1, + 1122 + ], + "'RAISESOTHER": [ + -1, + 1122 + ], + "'SATISFIES": [ + -1, + 1122 + ], + "'SATISFIESNOT": [ + -1, + 1122 + ], + "'RAISESSATISFIES": [ + -1, + 1122 + ], + "'RAISESVIOLATES": [ + -1, + 1122 + ], + "'RAISESNOT": [ + -1, + 1122 + ], + "'DOTDOTDOT": [ + -1, + 1122 + ], + "'NUMBER": [ + -1, + 1122 + ], + "'RATIONAL": [ + -1, + 1122 + ], + "'ROUGHRATIONAL": [ + -1, + 1122 + ], + "'TRUE": [ + -1, + 1122 + ], + "'FALSE": [ + -1, + 1122 + ], + "'LAM": [ + -1, + 1122 + ], + "'METHOD": [ + -1, + 1122 + ], + "'LBRACK": [ + -1, + 1122 + ], + "'RBRACK": [ + -1, + 1122 + ], + "'TABLE": [ + -1, + 1122 + ], + "'ROW": [ + -1, + 1122 + ], + "'REACTOR": [ + -1, + 1122 + ], + "'BANG": [ + -1, + 1122 + ], + "'IF": [ + -1, + 1122 + ], + "'ELSECOLON": [ + -1, + 1122 + ], + "'ELSEIF": [ + -1, + 1122 + ], + "'ASK": [ + -1, + 1122 + ], + "'THENCOLON": [ + -1, + 1122 + ], + "'CASES": [ + -1, + 1122 + ], + "'FOR": [ + -1, + 1122 + ], + "'TABLE-SELECT": [ + -1, + 1122 + ], + "'TABLE-FILTER": [ + -1, + 1122 + ], + "'USING": [ + -1, + 1122 + ], + "'TABLE-ORDER": [ + -1, + 1122 + ], + "'TABLE-EXTRACT": [ + -1, + 1122 + ], + "'TABLE-UPDATE": [ + -1, + 1122 + ], + "'TABLE-EXTEND": [ + -1, + 1122 + ], + "'OF": [ + -1, + 1122 + ], + "'LOAD-TABLE": [ + -1, + 1122 + ], + "'SOURCECOLON": [ + -1, + 1122 + ], + "'SANITIZE": [ + -1, + 1122 + ] + }, + { + "$": [ + -1, + 1124 + ], + "'NAME": [ + -1, + 1124 + ], + "'COLON": [ + -1, + 1124 + ], + "'END": [ + -1, + 1124 + ], + "'COMMA": [ + -1, + 1124 + ], + "'PARENNOSPACE": [ + -1, + 1124 + ], + "'STRING": [ + -1, + 1124 + ], + "'RPAREN": [ + -1, + 1124 + ], + "'TYPE": [ + -1, + 1124 + ], + "'DATA": [ + -1, + 1124 + ], + "'TIMES": [ + -1, + 1124 + ], + "'PARENSPACE": [ + -1, + 1124 + ], + "'DOT": [ + -1, + 1124 + ], + "'SPY": [ + -1, + 1124 + ], + "'NEWTYPE": [ + -1, + 1124 + ], + "'LBRACE": [ + -1, + 1124 + ], + "'RBRACE": [ + -1, + 1124 + ], + "'SEMI": [ + -1, + 1124 + ], + "'SHADOW": [ + -1, + 1124 + ], + "'LET": [ + -1, + 1124 + ], + "'BLOCK": [ + -1, + 1124 + ], + "'LETREC": [ + -1, + 1124 + ], + "'TYPE-LET": [ + -1, + 1124 + ], + "'FUN": [ + -1, + 1124 + ], + "'LANGLE": [ + -1, + 1124 + ], + "'LT": [ + -1, + 1124 + ], + "'GT": [ + -1, + 1124 + ], + "'PARENAFTERBRACE": [ + -1, + 1124 + ], + "'WHERE": [ + -1, + 1124 + ], + "'CHECK": [ + -1, + 1124 + ], + "'EXAMPLES": [ + -1, + 1124 + ], + "'CHECKCOLON": [ + -1, + 1124 + ], + "'EXAMPLESCOLON": [ + -1, + 1124 + ], + "'BECAUSE": [ + -1, + 1124 + ], + "'BAR": [ + -1, + 1124 + ], + "'SHARING": [ + -1, + 1124 + ], + "'VAR": [ + -1, + 1124 + ], + "'REC": [ + -1, + 1124 + ], + "'WHEN": [ + -1, + 1124 + ], + "'PLUS": [ + -1, + 1124 + ], + "'DASH": [ + -1, + 1124 + ], + "'SLASH": [ + -1, + 1124 + ], + "'LEQ": [ + -1, + 1124 + ], + "'GEQ": [ + -1, + 1124 + ], + "'EQUALEQUAL": [ + -1, + 1124 + ], + "'SPACESHIP": [ + -1, + 1124 + ], + "'EQUALTILDE": [ + -1, + 1124 + ], + "'NEQ": [ + -1, + 1124 + ], + "'AND": [ + -1, + 1124 + ], + "'OR": [ + -1, + 1124 + ], + "'CARET": [ + -1, + 1124 + ], + "'IS": [ + -1, + 1124 + ], + "'ISEQUALEQUAL": [ + -1, + 1124 + ], + "'ISEQUALTILDE": [ + -1, + 1124 + ], + "'ISSPACESHIP": [ + -1, + 1124 + ], + "'ISROUGHLY": [ + -1, + 1124 + ], + "'ISNOT": [ + -1, + 1124 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1124 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1124 + ], + "'ISNOTSPACESHIP": [ + -1, + 1124 + ], + "'RAISES": [ + -1, + 1124 + ], + "'RAISESOTHER": [ + -1, + 1124 + ], + "'SATISFIES": [ + -1, + 1124 + ], + "'SATISFIESNOT": [ + -1, + 1124 + ], + "'RAISESSATISFIES": [ + -1, + 1124 + ], + "'RAISESVIOLATES": [ + -1, + 1124 + ], + "'RAISESNOT": [ + -1, + 1124 + ], + "'DOTDOTDOT": [ + -1, + 1124 + ], + "'NUMBER": [ + -1, + 1124 + ], + "'RATIONAL": [ + -1, + 1124 + ], + "'ROUGHRATIONAL": [ + -1, + 1124 + ], + "'TRUE": [ + -1, + 1124 + ], + "'FALSE": [ + -1, + 1124 + ], + "'LAM": [ + -1, + 1124 + ], + "'METHOD": [ + -1, + 1124 + ], + "'LBRACK": [ + -1, + 1124 + ], + "'RBRACK": [ + -1, + 1124 + ], + "'TABLE": [ + -1, + 1124 + ], + "'ROW": [ + -1, + 1124 + ], + "'REACTOR": [ + -1, + 1124 + ], + "'BANG": [ + -1, + 1124 + ], + "'IF": [ + -1, + 1124 + ], + "'ELSECOLON": [ + -1, + 1124 + ], + "'ELSEIF": [ + -1, + 1124 + ], + "'ASK": [ + -1, + 1124 + ], + "'THENCOLON": [ + -1, + 1124 + ], + "'CASES": [ + -1, + 1124 + ], + "'FOR": [ + -1, + 1124 + ], + "'TABLE-SELECT": [ + -1, + 1124 + ], + "'TABLE-FILTER": [ + -1, + 1124 + ], + "'USING": [ + -1, + 1124 + ], + "'TABLE-ORDER": [ + -1, + 1124 + ], + "'TABLE-EXTRACT": [ + -1, + 1124 + ], + "'TABLE-UPDATE": [ + -1, + 1124 + ], + "'TABLE-EXTEND": [ + -1, + 1124 + ], + "'OF": [ + -1, + 1124 + ], + "'LOAD-TABLE": [ + -1, + 1124 + ], + "'SOURCECOLON": [ + -1, + 1124 + ], + "'SANITIZE": [ + -1, + 1124 + ] + }, + { + "$": [ + -1, + 1126 + ], + "'NAME": [ + -1, + 1126 + ], + "'COLON": [ + -1, + 1126 + ], + "'END": [ + -1, + 1126 + ], + "'COMMA": [ + -1, + 1126 + ], + "'PARENNOSPACE": [ + -1, + 1126 + ], + "'STRING": [ + -1, + 1126 + ], + "'RPAREN": [ + -1, + 1126 + ], + "'TYPE": [ + -1, + 1126 + ], + "'DATA": [ + -1, + 1126 + ], + "'TIMES": [ + -1, + 1126 + ], + "'PARENSPACE": [ + -1, + 1126 + ], + "'DOT": [ + -1, + 1126 + ], + "'SPY": [ + -1, + 1126 + ], + "'NEWTYPE": [ + -1, + 1126 + ], + "'LBRACE": [ + -1, + 1126 + ], + "'RBRACE": [ + -1, + 1126 + ], + "'SEMI": [ + -1, + 1126 + ], + "'SHADOW": [ + -1, + 1126 + ], + "'LET": [ + -1, + 1126 + ], + "'BLOCK": [ + -1, + 1126 + ], + "'LETREC": [ + -1, + 1126 + ], + "'TYPE-LET": [ + -1, + 1126 + ], + "'FUN": [ + -1, + 1126 + ], + "'LANGLE": [ + -1, + 1126 + ], + "'LT": [ + -1, + 1126 + ], + "'GT": [ + -1, + 1126 + ], + "'PARENAFTERBRACE": [ + -1, + 1126 + ], + "'WHERE": [ + -1, + 1126 + ], + "'CHECK": [ + -1, + 1126 + ], + "'EXAMPLES": [ + -1, + 1126 + ], + "'CHECKCOLON": [ + -1, + 1126 + ], + "'EXAMPLESCOLON": [ + -1, + 1126 + ], + "'BECAUSE": [ + -1, + 1126 + ], + "'BAR": [ + -1, + 1126 + ], + "'SHARING": [ + -1, + 1126 + ], + "'VAR": [ + -1, + 1126 + ], + "'REC": [ + -1, + 1126 + ], + "'WHEN": [ + -1, + 1126 + ], + "'PLUS": [ + -1, + 1126 + ], + "'DASH": [ + -1, + 1126 + ], + "'SLASH": [ + -1, + 1126 + ], + "'LEQ": [ + -1, + 1126 + ], + "'GEQ": [ + -1, + 1126 + ], + "'EQUALEQUAL": [ + -1, + 1126 + ], + "'SPACESHIP": [ + -1, + 1126 + ], + "'EQUALTILDE": [ + -1, + 1126 + ], + "'NEQ": [ + -1, + 1126 + ], + "'AND": [ + -1, + 1126 + ], + "'OR": [ + -1, + 1126 + ], + "'CARET": [ + -1, + 1126 + ], + "'IS": [ + -1, + 1126 + ], + "'ISEQUALEQUAL": [ + -1, + 1126 + ], + "'ISEQUALTILDE": [ + -1, + 1126 + ], + "'ISSPACESHIP": [ + -1, + 1126 + ], + "'ISROUGHLY": [ + -1, + 1126 + ], + "'ISNOT": [ + -1, + 1126 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1126 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1126 + ], + "'ISNOTSPACESHIP": [ + -1, + 1126 + ], + "'RAISES": [ + -1, + 1126 + ], + "'RAISESOTHER": [ + -1, + 1126 + ], + "'SATISFIES": [ + -1, + 1126 + ], + "'SATISFIESNOT": [ + -1, + 1126 + ], + "'RAISESSATISFIES": [ + -1, + 1126 + ], + "'RAISESVIOLATES": [ + -1, + 1126 + ], + "'RAISESNOT": [ + -1, + 1126 + ], + "'DOTDOTDOT": [ + -1, + 1126 + ], + "'NUMBER": [ + -1, + 1126 + ], + "'RATIONAL": [ + -1, + 1126 + ], + "'ROUGHRATIONAL": [ + -1, + 1126 + ], + "'TRUE": [ + -1, + 1126 + ], + "'FALSE": [ + -1, + 1126 + ], + "'LAM": [ + -1, + 1126 + ], + "'METHOD": [ + -1, + 1126 + ], + "'LBRACK": [ + -1, + 1126 + ], + "'RBRACK": [ + -1, + 1126 + ], + "'TABLE": [ + -1, + 1126 + ], + "'ROW": [ + -1, + 1126 + ], + "'REACTOR": [ + -1, + 1126 + ], + "'BANG": [ + -1, + 1126 + ], + "'IF": [ + -1, + 1126 + ], + "'ELSECOLON": [ + -1, + 1126 + ], + "'ELSEIF": [ + -1, + 1126 + ], + "'ASK": [ + -1, + 1126 + ], + "'THENCOLON": [ + -1, + 1126 + ], + "'CASES": [ + -1, + 1126 + ], + "'FOR": [ + -1, + 1126 + ], + "'TABLE-SELECT": [ + -1, + 1126 + ], + "'TABLE-FILTER": [ + -1, + 1126 + ], + "'USING": [ + -1, + 1126 + ], + "'TABLE-ORDER": [ + -1, + 1126 + ], + "'TABLE-EXTRACT": [ + -1, + 1126 + ], + "'TABLE-UPDATE": [ + -1, + 1126 + ], + "'TABLE-EXTEND": [ + -1, + 1126 + ], + "'OF": [ + -1, + 1126 + ], + "'LOAD-TABLE": [ + -1, + 1126 + ], + "'SOURCECOLON": [ + -1, + 1126 + ], + "'SANITIZE": [ + -1, + 1126 + ] + }, + { + "where-clause": [ + 851 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "'COMMA": [ + -1, + 1128 + ], + "'RPAREN": [ + -1, + 1128 + ], + "'RBRACK": [ + -1, + 1128 + ] + }, + { + "'COMMA": [ + 852 + ], + "'RPAREN": [ + 853 + ], + "app-expr_A2_I5": [ + 854 + ] + }, + { + "'RPAREN": [ + 855 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COMMA": [ + -1, + 1130 + ], + "'RANGLE": [ + -1, + 1130 + ], + "'GT": [ + -1, + 1130 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 856 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ], + "'RBRACE": [ + -1, + 1132 + ] + }, + { + "'RBRACE": [ + 857 + ] + }, + { + "'RBRACE": [ + -1, + 1134 + ], + "'SEMI": [ + -1, + 1134 + ] + }, + { + "'RBRACE": [ + -1, + 1136 + ] + }, + { + "'RPAREN": [ + 858 + ], + "'PERCENT": [ + 516 + ] + }, + { + "$": [ + -1, + 1138 + ], + "'NAME": [ + -1, + 1138 + ], + "'FROM": [ + -1, + 1138 + ], + "'COLON": [ + -1, + 1138 + ], + "'END": [ + -1, + 1138 + ], + "'COMMA": [ + -1, + 1138 + ], + "'STRING": [ + -1, + 1138 + ], + "'RPAREN": [ + -1, + 1138 + ], + "'TYPE": [ + -1, + 1138 + ], + "'DATA": [ + -1, + 1138 + ], + "'PARENSPACE": [ + -1, + 1138 + ], + "'SPY": [ + -1, + 1138 + ], + "'EQUALS": [ + -1, + 1138 + ], + "'NEWTYPE": [ + -1, + 1138 + ], + "'LBRACE": [ + -1, + 1138 + ], + "'RBRACE": [ + -1, + 1138 + ], + "'SEMI": [ + -1, + 1138 + ], + "'SHADOW": [ + -1, + 1138 + ], + "'LET": [ + -1, + 1138 + ], + "'BLOCK": [ + -1, + 1138 + ], + "'LETREC": [ + -1, + 1138 + ], + "'TYPE-LET": [ + -1, + 1138 + ], + "'FUN": [ + -1, + 1138 + ], + "'RANGLE": [ + -1, + 1138 + ], + "'GT": [ + -1, + 1138 + ], + "'PARENAFTERBRACE": [ + -1, + 1138 + ], + "'THINARROW": [ + -1, + 1138 + ], + "'WHERE": [ + -1, + 1138 + ], + "'CHECK": [ + -1, + 1138 + ], + "'EXAMPLES": [ + -1, + 1138 + ], + "'CHECKCOLON": [ + -1, + 1138 + ], + "'EXAMPLESCOLON": [ + -1, + 1138 + ], + "'PERCENT": [ + -1, + 1138 + ], + "'BAR": [ + -1, + 1138 + ], + "'VAR": [ + -1, + 1138 + ], + "'REC": [ + -1, + 1138 + ], + "'WHEN": [ + -1, + 1138 + ], + "'DOTDOTDOT": [ + -1, + 1138 + ], + "'NUMBER": [ + -1, + 1138 + ], + "'RATIONAL": [ + -1, + 1138 + ], + "'ROUGHRATIONAL": [ + -1, + 1138 + ], + "'TRUE": [ + -1, + 1138 + ], + "'FALSE": [ + -1, + 1138 + ], + "'LAM": [ + -1, + 1138 + ], + "'METHOD": [ + -1, + 1138 + ], + "'LBRACK": [ + -1, + 1138 + ], + "'TABLE": [ + -1, + 1138 + ], + "'ROW": [ + -1, + 1138 + ], + "'REACTOR": [ + -1, + 1138 + ], + "'IF": [ + -1, + 1138 + ], + "'ELSECOLON": [ + -1, + 1138 + ], + "'ELSEIF": [ + -1, + 1138 + ], + "'ASK": [ + -1, + 1138 + ], + "'CASES": [ + -1, + 1138 + ], + "'FOR": [ + -1, + 1138 + ], + "'TABLE-SELECT": [ + -1, + 1138 + ], + "'TABLE-FILTER": [ + -1, + 1138 + ], + "'TABLE-ORDER": [ + -1, + 1138 + ], + "'TABLE-EXTRACT": [ + -1, + 1138 + ], + "'TABLE-UPDATE": [ + -1, + 1138 + ], + "'TABLE-EXTEND": [ + -1, + 1138 + ], + "'LOAD-TABLE": [ + -1, + 1138 + ], + "'SOURCECOLON": [ + -1, + 1138 + ], + "'SANITIZE": [ + -1, + 1138 + ] + }, + { + "$": [ + -1, + 1140 + ], + "'NAME": [ + -1, + 1140 + ], + "'FROM": [ + -1, + 1140 + ], + "'COLON": [ + -1, + 1140 + ], + "'END": [ + -1, + 1140 + ], + "'COMMA": [ + -1, + 1140 + ], + "'STRING": [ + -1, + 1140 + ], + "'RPAREN": [ + -1, + 1140 + ], + "'TYPE": [ + -1, + 1140 + ], + "'DATA": [ + -1, + 1140 + ], + "'PARENSPACE": [ + -1, + 1140 + ], + "'SPY": [ + -1, + 1140 + ], + "'EQUALS": [ + -1, + 1140 + ], + "'NEWTYPE": [ + -1, + 1140 + ], + "'LBRACE": [ + -1, + 1140 + ], + "'RBRACE": [ + -1, + 1140 + ], + "'SEMI": [ + -1, + 1140 + ], + "'SHADOW": [ + -1, + 1140 + ], + "'LET": [ + -1, + 1140 + ], + "'BLOCK": [ + -1, + 1140 + ], + "'LETREC": [ + -1, + 1140 + ], + "'TYPE-LET": [ + -1, + 1140 + ], + "'FUN": [ + -1, + 1140 + ], + "'RANGLE": [ + -1, + 1140 + ], + "'GT": [ + -1, + 1140 + ], + "'PARENAFTERBRACE": [ + -1, + 1140 + ], + "'THINARROW": [ + -1, + 1140 + ], + "'WHERE": [ + -1, + 1140 + ], + "'CHECK": [ + -1, + 1140 + ], + "'EXAMPLES": [ + -1, + 1140 + ], + "'CHECKCOLON": [ + -1, + 1140 + ], + "'EXAMPLESCOLON": [ + -1, + 1140 + ], + "'PERCENT": [ + -1, + 1140 + ], + "'BAR": [ + -1, + 1140 + ], + "'VAR": [ + -1, + 1140 + ], + "'REC": [ + -1, + 1140 + ], + "'WHEN": [ + -1, + 1140 + ], + "'DOTDOTDOT": [ + -1, + 1140 + ], + "'NUMBER": [ + -1, + 1140 + ], + "'RATIONAL": [ + -1, + 1140 + ], + "'ROUGHRATIONAL": [ + -1, + 1140 + ], + "'TRUE": [ + -1, + 1140 + ], + "'FALSE": [ + -1, + 1140 + ], + "'LAM": [ + -1, + 1140 + ], + "'METHOD": [ + -1, + 1140 + ], + "'LBRACK": [ + -1, + 1140 + ], + "'TABLE": [ + -1, + 1140 + ], + "'ROW": [ + -1, + 1140 + ], + "'REACTOR": [ + -1, + 1140 + ], + "'IF": [ + -1, + 1140 + ], + "'ELSECOLON": [ + -1, + 1140 + ], + "'ELSEIF": [ + -1, + 1140 + ], + "'ASK": [ + -1, + 1140 + ], + "'CASES": [ + -1, + 1140 + ], + "'FOR": [ + -1, + 1140 + ], + "'TABLE-SELECT": [ + -1, + 1140 + ], + "'TABLE-FILTER": [ + -1, + 1140 + ], + "'TABLE-ORDER": [ + -1, + 1140 + ], + "'TABLE-EXTRACT": [ + -1, + 1140 + ], + "'TABLE-UPDATE": [ + -1, + 1140 + ], + "'TABLE-EXTEND": [ + -1, + 1140 + ], + "'LOAD-TABLE": [ + -1, + 1140 + ], + "'SOURCECOLON": [ + -1, + 1140 + ], + "'SANITIZE": [ + -1, + 1140 + ] + }, + { + "$": [ + -1, + 1142 + ], + "'NAME": [ + -1, + 1142 + ], + "'FROM": [ + -1, + 1142 + ], + "'COLON": [ + -1, + 1142 + ], + "'END": [ + -1, + 1142 + ], + "'COMMA": [ + -1, + 1142 + ], + "'STRING": [ + -1, + 1142 + ], + "'RPAREN": [ + -1, + 1142 + ], + "'TYPE": [ + -1, + 1142 + ], + "'DATA": [ + -1, + 1142 + ], + "'PARENSPACE": [ + -1, + 1142 + ], + "'SPY": [ + -1, + 1142 + ], + "'EQUALS": [ + -1, + 1142 + ], + "'NEWTYPE": [ + -1, + 1142 + ], + "'LBRACE": [ + -1, + 1142 + ], + "'RBRACE": [ + -1, + 1142 + ], + "'SEMI": [ + -1, + 1142 + ], + "'SHADOW": [ + -1, + 1142 + ], + "'LET": [ + -1, + 1142 + ], + "'BLOCK": [ + -1, + 1142 + ], + "'LETREC": [ + -1, + 1142 + ], + "'TYPE-LET": [ + -1, + 1142 + ], + "'FUN": [ + -1, + 1142 + ], + "'RANGLE": [ + -1, + 1142 + ], + "'GT": [ + -1, + 1142 + ], + "'PARENAFTERBRACE": [ + -1, + 1142 + ], + "'THINARROW": [ + -1, + 1142 + ], + "'WHERE": [ + -1, + 1142 + ], + "'CHECK": [ + -1, + 1142 + ], + "'EXAMPLES": [ + -1, + 1142 + ], + "'CHECKCOLON": [ + -1, + 1142 + ], + "'EXAMPLESCOLON": [ + -1, + 1142 + ], + "'PERCENT": [ + -1, + 1142 + ], + "'BAR": [ + -1, + 1142 + ], + "'VAR": [ + -1, + 1142 + ], + "'REC": [ + -1, + 1142 + ], + "'WHEN": [ + -1, + 1142 + ], + "'DOTDOTDOT": [ + -1, + 1142 + ], + "'NUMBER": [ + -1, + 1142 + ], + "'RATIONAL": [ + -1, + 1142 + ], + "'ROUGHRATIONAL": [ + -1, + 1142 + ], + "'TRUE": [ + -1, + 1142 + ], + "'FALSE": [ + -1, + 1142 + ], + "'LAM": [ + -1, + 1142 + ], + "'METHOD": [ + -1, + 1142 + ], + "'LBRACK": [ + -1, + 1142 + ], + "'TABLE": [ + -1, + 1142 + ], + "'ROW": [ + -1, + 1142 + ], + "'REACTOR": [ + -1, + 1142 + ], + "'IF": [ + -1, + 1142 + ], + "'ELSECOLON": [ + -1, + 1142 + ], + "'ELSEIF": [ + -1, + 1142 + ], + "'ASK": [ + -1, + 1142 + ], + "'CASES": [ + -1, + 1142 + ], + "'FOR": [ + -1, + 1142 + ], + "'TABLE-SELECT": [ + -1, + 1142 + ], + "'TABLE-FILTER": [ + -1, + 1142 + ], + "'TABLE-ORDER": [ + -1, + 1142 + ], + "'TABLE-EXTRACT": [ + -1, + 1142 + ], + "'TABLE-UPDATE": [ + -1, + 1142 + ], + "'TABLE-EXTEND": [ + -1, + 1142 + ], + "'LOAD-TABLE": [ + -1, + 1142 + ], + "'SOURCECOLON": [ + -1, + 1142 + ], + "'SANITIZE": [ + -1, + 1142 + ] + }, + { + "'END": [ + 859 + ] + }, + { + "'END": [ + 860 + ] + }, + { + "'RBRACK": [ + -1, + 1144 + ] + }, + { + "'RBRACK": [ + -1, + 1146 + ] + }, + { + "'RBRACK": [ + -1, + 1148 + ] + }, + { + "$": [ + -1, + 1150 + ], + "'NAME": [ + -1, + 1150 + ], + "'COLON": [ + -1, + 1150 + ], + "'END": [ + -1, + 1150 + ], + "'COMMA": [ + -1, + 1150 + ], + "'PARENNOSPACE": [ + -1, + 1150 + ], + "'STRING": [ + -1, + 1150 + ], + "'RPAREN": [ + -1, + 1150 + ], + "'TYPE": [ + -1, + 1150 + ], + "'DATA": [ + -1, + 1150 + ], + "'TIMES": [ + -1, + 1150 + ], + "'PARENSPACE": [ + -1, + 1150 + ], + "'DOT": [ + -1, + 1150 + ], + "'SPY": [ + -1, + 1150 + ], + "'NEWTYPE": [ + -1, + 1150 + ], + "'LBRACE": [ + -1, + 1150 + ], + "'RBRACE": [ + -1, + 1150 + ], + "'SEMI": [ + -1, + 1150 + ], + "'SHADOW": [ + -1, + 1150 + ], + "'LET": [ + -1, + 1150 + ], + "'BLOCK": [ + -1, + 1150 + ], + "'LETREC": [ + -1, + 1150 + ], + "'TYPE-LET": [ + -1, + 1150 + ], + "'FUN": [ + -1, + 1150 + ], + "'LANGLE": [ + -1, + 1150 + ], + "'LT": [ + -1, + 1150 + ], + "'GT": [ + -1, + 1150 + ], + "'PARENAFTERBRACE": [ + -1, + 1150 + ], + "'WHERE": [ + -1, + 1150 + ], + "'CHECK": [ + -1, + 1150 + ], + "'EXAMPLES": [ + -1, + 1150 + ], + "'CHECKCOLON": [ + -1, + 1150 + ], + "'EXAMPLESCOLON": [ + -1, + 1150 + ], + "'BECAUSE": [ + -1, + 1150 + ], + "'BAR": [ + -1, + 1150 + ], + "'SHARING": [ + -1, + 1150 + ], + "'VAR": [ + -1, + 1150 + ], + "'REC": [ + -1, + 1150 + ], + "'WHEN": [ + -1, + 1150 + ], + "'PLUS": [ + -1, + 1150 + ], + "'DASH": [ + -1, + 1150 + ], + "'SLASH": [ + -1, + 1150 + ], + "'LEQ": [ + -1, + 1150 + ], + "'GEQ": [ + -1, + 1150 + ], + "'EQUALEQUAL": [ + -1, + 1150 + ], + "'SPACESHIP": [ + -1, + 1150 + ], + "'EQUALTILDE": [ + -1, + 1150 + ], + "'NEQ": [ + -1, + 1150 + ], + "'AND": [ + -1, + 1150 + ], + "'OR": [ + -1, + 1150 + ], + "'CARET": [ + -1, + 1150 + ], + "'IS": [ + -1, + 1150 + ], + "'ISEQUALEQUAL": [ + -1, + 1150 + ], + "'ISEQUALTILDE": [ + -1, + 1150 + ], + "'ISSPACESHIP": [ + -1, + 1150 + ], + "'ISROUGHLY": [ + -1, + 1150 + ], + "'ISNOT": [ + -1, + 1150 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1150 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1150 + ], + "'ISNOTSPACESHIP": [ + -1, + 1150 + ], + "'RAISES": [ + -1, + 1150 + ], + "'RAISESOTHER": [ + -1, + 1150 + ], + "'SATISFIES": [ + -1, + 1150 + ], + "'SATISFIESNOT": [ + -1, + 1150 + ], + "'RAISESSATISFIES": [ + -1, + 1150 + ], + "'RAISESVIOLATES": [ + -1, + 1150 + ], + "'RAISESNOT": [ + -1, + 1150 + ], + "'DOTDOTDOT": [ + -1, + 1150 + ], + "'NUMBER": [ + -1, + 1150 + ], + "'RATIONAL": [ + -1, + 1150 + ], + "'ROUGHRATIONAL": [ + -1, + 1150 + ], + "'TRUE": [ + -1, + 1150 + ], + "'FALSE": [ + -1, + 1150 + ], + "'LAM": [ + -1, + 1150 + ], + "'METHOD": [ + -1, + 1150 + ], + "'LBRACK": [ + -1, + 1150 + ], + "'RBRACK": [ + -1, + 1150 + ], + "'TABLE": [ + -1, + 1150 + ], + "'ROW": [ + -1, + 1150 + ], + "'REACTOR": [ + -1, + 1150 + ], + "'BANG": [ + -1, + 1150 + ], + "'IF": [ + -1, + 1150 + ], + "'ELSECOLON": [ + -1, + 1150 + ], + "'ELSEIF": [ + -1, + 1150 + ], + "'ASK": [ + -1, + 1150 + ], + "'THENCOLON": [ + -1, + 1150 + ], + "'CASES": [ + -1, + 1150 + ], + "'FOR": [ + -1, + 1150 + ], + "'TABLE-SELECT": [ + -1, + 1150 + ], + "'TABLE-FILTER": [ + -1, + 1150 + ], + "'USING": [ + -1, + 1150 + ], + "'TABLE-ORDER": [ + -1, + 1150 + ], + "'TABLE-EXTRACT": [ + -1, + 1150 + ], + "'TABLE-UPDATE": [ + -1, + 1150 + ], + "'TABLE-EXTEND": [ + -1, + 1150 + ], + "'OF": [ + -1, + 1150 + ], + "'LOAD-TABLE": [ + -1, + 1150 + ], + "'SOURCECOLON": [ + -1, + 1150 + ], + "'SANITIZE": [ + -1, + 1150 + ] + }, + { + "'COMMA": [ + 861 + ], + "'END": [ + -1, + 1152 + ], + "'ROW": [ + -1, + 1152 + ] + }, + { + "'NAME": [ + -1, + 1154 + ], + "'STRING": [ + -1, + 1154 + ], + "'PARENSPACE": [ + -1, + 1154 + ], + "'LBRACE": [ + -1, + 1154 + ], + "'LET": [ + -1, + 1154 + ], + "'BLOCK": [ + -1, + 1154 + ], + "'LETREC": [ + -1, + 1154 + ], + "'TYPE-LET": [ + -1, + 1154 + ], + "'PARENAFTERBRACE": [ + -1, + 1154 + ], + "'DOTDOTDOT": [ + -1, + 1154 + ], + "'NUMBER": [ + -1, + 1154 + ], + "'RATIONAL": [ + -1, + 1154 + ], + "'ROUGHRATIONAL": [ + -1, + 1154 + ], + "'TRUE": [ + -1, + 1154 + ], + "'FALSE": [ + -1, + 1154 + ], + "'LAM": [ + -1, + 1154 + ], + "'METHOD": [ + -1, + 1154 + ], + "'LBRACK": [ + -1, + 1154 + ], + "'TABLE": [ + -1, + 1154 + ], + "'REACTOR": [ + -1, + 1154 + ], + "'IF": [ + -1, + 1154 + ], + "'ASK": [ + -1, + 1154 + ], + "'CASES": [ + -1, + 1154 + ], + "'FOR": [ + -1, + 1154 + ], + "'TABLE-SELECT": [ + -1, + 1154 + ], + "'TABLE-FILTER": [ + -1, + 1154 + ], + "'TABLE-ORDER": [ + -1, + 1154 + ], + "'TABLE-EXTRACT": [ + -1, + 1154 + ], + "'TABLE-UPDATE": [ + -1, + 1154 + ], + "'TABLE-EXTEND": [ + -1, + 1154 + ], + "'LOAD-TABLE": [ + -1, + 1154 + ] + }, + { + "'NAME": [ + -1, + 1156 + ], + "'STRING": [ + -1, + 1156 + ], + "'PARENSPACE": [ + -1, + 1156 + ], + "'LBRACE": [ + -1, + 1156 + ], + "'LET": [ + -1, + 1156 + ], + "'BLOCK": [ + -1, + 1156 + ], + "'LETREC": [ + -1, + 1156 + ], + "'TYPE-LET": [ + -1, + 1156 + ], + "'PARENAFTERBRACE": [ + -1, + 1156 + ], + "'DOTDOTDOT": [ + -1, + 1156 + ], + "'NUMBER": [ + -1, + 1156 + ], + "'RATIONAL": [ + -1, + 1156 + ], + "'ROUGHRATIONAL": [ + -1, + 1156 + ], + "'TRUE": [ + -1, + 1156 + ], + "'FALSE": [ + -1, + 1156 + ], + "'LAM": [ + -1, + 1156 + ], + "'METHOD": [ + -1, + 1156 + ], + "'LBRACK": [ + -1, + 1156 + ], + "'TABLE": [ + -1, + 1156 + ], + "'REACTOR": [ + -1, + 1156 + ], + "'IF": [ + -1, + 1156 + ], + "'ASK": [ + -1, + 1156 + ], + "'CASES": [ + -1, + 1156 + ], + "'FOR": [ + -1, + 1156 + ], + "'TABLE-SELECT": [ + -1, + 1156 + ], + "'TABLE-FILTER": [ + -1, + 1156 + ], + "'TABLE-ORDER": [ + -1, + 1156 + ], + "'TABLE-EXTRACT": [ + -1, + 1156 + ], + "'TABLE-UPDATE": [ + -1, + 1156 + ], + "'TABLE-EXTEND": [ + -1, + 1156 + ], + "'LOAD-TABLE": [ + -1, + 1156 + ] + }, + { + "'NAME": [ + -1, + 1158 + ], + "'END": [ + -1, + 1158 + ], + "'STRING": [ + -1, + 1158 + ], + "'TYPE": [ + -1, + 1158 + ], + "'DATA": [ + -1, + 1158 + ], + "'PARENSPACE": [ + -1, + 1158 + ], + "'SPY": [ + -1, + 1158 + ], + "'NEWTYPE": [ + -1, + 1158 + ], + "'LBRACE": [ + -1, + 1158 + ], + "'SHADOW": [ + -1, + 1158 + ], + "'LET": [ + -1, + 1158 + ], + "'BLOCK": [ + -1, + 1158 + ], + "'LETREC": [ + -1, + 1158 + ], + "'TYPE-LET": [ + -1, + 1158 + ], + "'FUN": [ + -1, + 1158 + ], + "'PARENAFTERBRACE": [ + -1, + 1158 + ], + "'DOC": [ + -1, + 1158 + ], + "'WHERE": [ + -1, + 1158 + ], + "'CHECK": [ + -1, + 1158 + ], + "'EXAMPLES": [ + -1, + 1158 + ], + "'CHECKCOLON": [ + -1, + 1158 + ], + "'EXAMPLESCOLON": [ + -1, + 1158 + ], + "'VAR": [ + -1, + 1158 + ], + "'REC": [ + -1, + 1158 + ], + "'WHEN": [ + -1, + 1158 + ], + "'DOTDOTDOT": [ + -1, + 1158 + ], + "'NUMBER": [ + -1, + 1158 + ], + "'RATIONAL": [ + -1, + 1158 + ], + "'ROUGHRATIONAL": [ + -1, + 1158 + ], + "'TRUE": [ + -1, + 1158 + ], + "'FALSE": [ + -1, + 1158 + ], + "'LAM": [ + -1, + 1158 + ], + "'METHOD": [ + -1, + 1158 + ], + "'LBRACK": [ + -1, + 1158 + ], + "'TABLE": [ + -1, + 1158 + ], + "'REACTOR": [ + -1, + 1158 + ], + "'IF": [ + -1, + 1158 + ], + "'ASK": [ + -1, + 1158 + ], + "'CASES": [ + -1, + 1158 + ], + "'FOR": [ + -1, + 1158 + ], + "'TABLE-SELECT": [ + -1, + 1158 + ], + "'TABLE-FILTER": [ + -1, + 1158 + ], + "'TABLE-ORDER": [ + -1, + 1158 + ], + "'TABLE-EXTRACT": [ + -1, + 1158 + ], + "'TABLE-UPDATE": [ + -1, + 1158 + ], + "'TABLE-EXTEND": [ + -1, + 1158 + ], + "'LOAD-TABLE": [ + -1, + 1158 + ] + }, + { + "'NAME": [ + -1, + 1160 + ], + "'END": [ + -1, + 1160 + ], + "'STRING": [ + -1, + 1160 + ], + "'TYPE": [ + -1, + 1160 + ], + "'DATA": [ + -1, + 1160 + ], + "'PARENSPACE": [ + -1, + 1160 + ], + "'SPY": [ + -1, + 1160 + ], + "'NEWTYPE": [ + -1, + 1160 + ], + "'LBRACE": [ + -1, + 1160 + ], + "'SHADOW": [ + -1, + 1160 + ], + "'LET": [ + -1, + 1160 + ], + "'BLOCK": [ + -1, + 1160 + ], + "'LETREC": [ + -1, + 1160 + ], + "'TYPE-LET": [ + -1, + 1160 + ], + "'FUN": [ + -1, + 1160 + ], + "'PARENAFTERBRACE": [ + -1, + 1160 + ], + "'DOC": [ + -1, + 1160 + ], + "'WHERE": [ + -1, + 1160 + ], + "'CHECK": [ + -1, + 1160 + ], + "'EXAMPLES": [ + -1, + 1160 + ], + "'CHECKCOLON": [ + -1, + 1160 + ], + "'EXAMPLESCOLON": [ + -1, + 1160 + ], + "'VAR": [ + -1, + 1160 + ], + "'REC": [ + -1, + 1160 + ], + "'WHEN": [ + -1, + 1160 + ], + "'DOTDOTDOT": [ + -1, + 1160 + ], + "'NUMBER": [ + -1, + 1160 + ], + "'RATIONAL": [ + -1, + 1160 + ], + "'ROUGHRATIONAL": [ + -1, + 1160 + ], + "'TRUE": [ + -1, + 1160 + ], + "'FALSE": [ + -1, + 1160 + ], + "'LAM": [ + -1, + 1160 + ], + "'METHOD": [ + -1, + 1160 + ], + "'LBRACK": [ + -1, + 1160 + ], + "'TABLE": [ + -1, + 1160 + ], + "'REACTOR": [ + -1, + 1160 + ], + "'IF": [ + -1, + 1160 + ], + "'ASK": [ + -1, + 1160 + ], + "'CASES": [ + -1, + 1160 + ], + "'FOR": [ + -1, + 1160 + ], + "'TABLE-SELECT": [ + -1, + 1160 + ], + "'TABLE-FILTER": [ + -1, + 1160 + ], + "'TABLE-ORDER": [ + -1, + 1160 + ], + "'TABLE-EXTRACT": [ + -1, + 1160 + ], + "'TABLE-UPDATE": [ + -1, + 1160 + ], + "'TABLE-EXTEND": [ + -1, + 1160 + ], + "'LOAD-TABLE": [ + -1, + 1160 + ] + }, + { + "doc-string": [ + 862 + ], + "doc-string_I0?": [ + 470 + ], + "doc-string_I0": [ + 471 + ], + "'DOC": [ + 472 + ], + "'NAME": [ + -1, + 430, + 432 + ], + "'END": [ + -1, + 430, + 432 + ], + "'STRING": [ + -1, + 430, + 432 + ], + "'TYPE": [ + -1, + 430, + 432 + ], + "'DATA": [ + -1, + 430, + 432 + ], + "'PARENSPACE": [ + -1, + 430, + 432 + ], + "'SPY": [ + -1, + 430, + 432 + ], + "'NEWTYPE": [ + -1, + 430, + 432 + ], + "'LBRACE": [ + -1, + 430, + 432 + ], + "'SHADOW": [ + -1, + 430, + 432 + ], + "'LET": [ + -1, + 430, + 432 + ], + "'BLOCK": [ + -1, + 430, + 432 + ], + "'LETREC": [ + -1, + 430, + 432 + ], + "'TYPE-LET": [ + -1, + 430, + 432 + ], + "'FUN": [ + -1, + 430, + 432 + ], + "'PARENAFTERBRACE": [ + -1, + 430, + 432 + ], + "'WHERE": [ + -1, + 430, + 432 + ], + "'CHECK": [ + -1, + 430, + 432 + ], + "'EXAMPLES": [ + -1, + 430, + 432 + ], + "'CHECKCOLON": [ + -1, + 430, + 432 + ], + "'EXAMPLESCOLON": [ + -1, + 430, + 432 + ], + "'VAR": [ + -1, + 430, + 432 + ], + "'REC": [ + -1, + 430, + 432 + ], + "'WHEN": [ + -1, + 430, + 432 + ], + "'DOTDOTDOT": [ + -1, + 430, + 432 + ], + "'NUMBER": [ + -1, + 430, + 432 + ], + "'RATIONAL": [ + -1, + 430, + 432 + ], + "'ROUGHRATIONAL": [ + -1, + 430, + 432 + ], + "'TRUE": [ + -1, + 430, + 432 + ], + "'FALSE": [ + -1, + 430, + 432 + ], + "'LAM": [ + -1, + 430, + 432 + ], + "'METHOD": [ + -1, + 430, + 432 + ], + "'LBRACK": [ + -1, + 430, + 432 + ], + "'TABLE": [ + -1, + 430, + 432 + ], + "'REACTOR": [ + -1, + 430, + 432 + ], + "'IF": [ + -1, + 430, + 432 + ], + "'ASK": [ + -1, + 430, + 432 + ], + "'CASES": [ + -1, + 430, + 432 + ], + "'FOR": [ + -1, + 430, + 432 + ], + "'TABLE-SELECT": [ + -1, + 430, + 432 + ], + "'TABLE-FILTER": [ + -1, + 430, + 432 + ], + "'TABLE-ORDER": [ + -1, + 430, + 432 + ], + "'TABLE-EXTRACT": [ + -1, + 430, + 432 + ], + "'TABLE-UPDATE": [ + -1, + 430, + 432 + ], + "'TABLE-EXTEND": [ + -1, + 430, + 432 + ], + "'LOAD-TABLE": [ + -1, + 430, + 432 + ] + }, + { + "'END": [ + -1, + 1162 + ], + "'COMMA": [ + -1, + 1162 + ], + "'RBRACE": [ + -1, + 1162 + ], + "'WHERE": [ + -1, + 1162 + ], + "'BAR": [ + -1, + 1162 + ], + "'SHARING": [ + -1, + 1162 + ] + }, + { + "'END": [ + 863 + ] + }, + { + "'END": [ + -1, + 1164 + ], + "'ELSECOLON": [ + -1, + 1164 + ], + "'ELSEIF": [ + -1, + 1164 + ] + }, + { + "'END": [ + -1, + 1166 + ], + "'ELSECOLON": [ + -1, + 1166 + ], + "'ELSEIF": [ + -1, + 1166 + ] + }, + { + "'END": [ + -1, + 1168 + ] + }, + { + "block": [ + 864 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1170, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 865 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "block": [ + 866 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1172, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'BAR": [ + -1, + 1172, + 8, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'END": [ + -1, + 1174 + ] + }, + { + "'END": [ + -1, + 1176 + ], + "'BAR": [ + -1, + 1176 + ] + }, + { + "'END": [ + -1, + 1178 + ], + "'BAR": [ + -1, + 1178 + ] + }, + { + "cases-expr_I6*": [ + 867 + ], + "'END": [ + -1, + 1180 + ], + "'BAR": [ + -1, + 1180 + ] + }, + { + "'COMMA": [ + -1, + 1182 + ], + "'RPAREN": [ + -1, + 1182 + ] + }, + { + "binding": [ + 550 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "for-bind": [ + 868 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COMMA": [ + -1, + 1184 + ], + "'RPAREN": [ + -1, + 1184 + ] + }, + { + "'COLON": [ + 869 + ], + "'BLOCK": [ + 870 + ], + "for-expr_I6": [ + 871 + ] + }, + { + "$": [ + -1, + 1186 + ], + "'NAME": [ + -1, + 1186 + ], + "'COLON": [ + -1, + 1186 + ], + "'END": [ + -1, + 1186 + ], + "'COMMA": [ + -1, + 1186 + ], + "'PARENNOSPACE": [ + -1, + 1186 + ], + "'STRING": [ + -1, + 1186 + ], + "'RPAREN": [ + -1, + 1186 + ], + "'TYPE": [ + -1, + 1186 + ], + "'DATA": [ + -1, + 1186 + ], + "'TIMES": [ + -1, + 1186 + ], + "'PARENSPACE": [ + -1, + 1186 + ], + "'DOT": [ + -1, + 1186 + ], + "'SPY": [ + -1, + 1186 + ], + "'NEWTYPE": [ + -1, + 1186 + ], + "'LBRACE": [ + -1, + 1186 + ], + "'RBRACE": [ + -1, + 1186 + ], + "'SEMI": [ + -1, + 1186 + ], + "'SHADOW": [ + -1, + 1186 + ], + "'LET": [ + -1, + 1186 + ], + "'BLOCK": [ + -1, + 1186 + ], + "'LETREC": [ + -1, + 1186 + ], + "'TYPE-LET": [ + -1, + 1186 + ], + "'FUN": [ + -1, + 1186 + ], + "'LANGLE": [ + -1, + 1186 + ], + "'LT": [ + -1, + 1186 + ], + "'GT": [ + -1, + 1186 + ], + "'PARENAFTERBRACE": [ + -1, + 1186 + ], + "'WHERE": [ + -1, + 1186 + ], + "'CHECK": [ + -1, + 1186 + ], + "'EXAMPLES": [ + -1, + 1186 + ], + "'CHECKCOLON": [ + -1, + 1186 + ], + "'EXAMPLESCOLON": [ + -1, + 1186 + ], + "'BECAUSE": [ + -1, + 1186 + ], + "'BAR": [ + -1, + 1186 + ], + "'SHARING": [ + -1, + 1186 + ], + "'VAR": [ + -1, + 1186 + ], + "'REC": [ + -1, + 1186 + ], + "'WHEN": [ + -1, + 1186 + ], + "'PLUS": [ + -1, + 1186 + ], + "'DASH": [ + -1, + 1186 + ], + "'SLASH": [ + -1, + 1186 + ], + "'LEQ": [ + -1, + 1186 + ], + "'GEQ": [ + -1, + 1186 + ], + "'EQUALEQUAL": [ + -1, + 1186 + ], + "'SPACESHIP": [ + -1, + 1186 + ], + "'EQUALTILDE": [ + -1, + 1186 + ], + "'NEQ": [ + -1, + 1186 + ], + "'AND": [ + -1, + 1186 + ], + "'OR": [ + -1, + 1186 + ], + "'CARET": [ + -1, + 1186 + ], + "'IS": [ + -1, + 1186 + ], + "'ISEQUALEQUAL": [ + -1, + 1186 + ], + "'ISEQUALTILDE": [ + -1, + 1186 + ], + "'ISSPACESHIP": [ + -1, + 1186 + ], + "'ISROUGHLY": [ + -1, + 1186 + ], + "'ISNOT": [ + -1, + 1186 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1186 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1186 + ], + "'ISNOTSPACESHIP": [ + -1, + 1186 + ], + "'RAISES": [ + -1, + 1186 + ], + "'RAISESOTHER": [ + -1, + 1186 + ], + "'SATISFIES": [ + -1, + 1186 + ], + "'SATISFIESNOT": [ + -1, + 1186 + ], + "'RAISESSATISFIES": [ + -1, + 1186 + ], + "'RAISESVIOLATES": [ + -1, + 1186 + ], + "'RAISESNOT": [ + -1, + 1186 + ], + "'DOTDOTDOT": [ + -1, + 1186 + ], + "'NUMBER": [ + -1, + 1186 + ], + "'RATIONAL": [ + -1, + 1186 + ], + "'ROUGHRATIONAL": [ + -1, + 1186 + ], + "'TRUE": [ + -1, + 1186 + ], + "'FALSE": [ + -1, + 1186 + ], + "'LAM": [ + -1, + 1186 + ], + "'METHOD": [ + -1, + 1186 + ], + "'LBRACK": [ + -1, + 1186 + ], + "'RBRACK": [ + -1, + 1186 + ], + "'TABLE": [ + -1, + 1186 + ], + "'ROW": [ + -1, + 1186 + ], + "'REACTOR": [ + -1, + 1186 + ], + "'BANG": [ + -1, + 1186 + ], + "'IF": [ + -1, + 1186 + ], + "'ELSECOLON": [ + -1, + 1186 + ], + "'ELSEIF": [ + -1, + 1186 + ], + "'ASK": [ + -1, + 1186 + ], + "'THENCOLON": [ + -1, + 1186 + ], + "'CASES": [ + -1, + 1186 + ], + "'FOR": [ + -1, + 1186 + ], + "'TABLE-SELECT": [ + -1, + 1186 + ], + "'TABLE-FILTER": [ + -1, + 1186 + ], + "'USING": [ + -1, + 1186 + ], + "'TABLE-ORDER": [ + -1, + 1186 + ], + "'TABLE-EXTRACT": [ + -1, + 1186 + ], + "'TABLE-UPDATE": [ + -1, + 1186 + ], + "'TABLE-EXTEND": [ + -1, + 1186 + ], + "'OF": [ + -1, + 1186 + ], + "'LOAD-TABLE": [ + -1, + 1186 + ], + "'SOURCECOLON": [ + -1, + 1186 + ], + "'SANITIZE": [ + -1, + 1186 + ] + }, + { + "$": [ + -1, + 1188 + ], + "'NAME": [ + -1, + 1188 + ], + "'COLON": [ + -1, + 1188 + ], + "'END": [ + -1, + 1188 + ], + "'COMMA": [ + -1, + 1188 + ], + "'PARENNOSPACE": [ + -1, + 1188 + ], + "'STRING": [ + -1, + 1188 + ], + "'RPAREN": [ + -1, + 1188 + ], + "'TYPE": [ + -1, + 1188 + ], + "'DATA": [ + -1, + 1188 + ], + "'TIMES": [ + -1, + 1188 + ], + "'PARENSPACE": [ + -1, + 1188 + ], + "'DOT": [ + -1, + 1188 + ], + "'SPY": [ + -1, + 1188 + ], + "'NEWTYPE": [ + -1, + 1188 + ], + "'LBRACE": [ + -1, + 1188 + ], + "'RBRACE": [ + -1, + 1188 + ], + "'SEMI": [ + -1, + 1188 + ], + "'SHADOW": [ + -1, + 1188 + ], + "'LET": [ + -1, + 1188 + ], + "'BLOCK": [ + -1, + 1188 + ], + "'LETREC": [ + -1, + 1188 + ], + "'TYPE-LET": [ + -1, + 1188 + ], + "'FUN": [ + -1, + 1188 + ], + "'LANGLE": [ + -1, + 1188 + ], + "'LT": [ + -1, + 1188 + ], + "'GT": [ + -1, + 1188 + ], + "'PARENAFTERBRACE": [ + -1, + 1188 + ], + "'WHERE": [ + -1, + 1188 + ], + "'CHECK": [ + -1, + 1188 + ], + "'EXAMPLES": [ + -1, + 1188 + ], + "'CHECKCOLON": [ + -1, + 1188 + ], + "'EXAMPLESCOLON": [ + -1, + 1188 + ], + "'BECAUSE": [ + -1, + 1188 + ], + "'BAR": [ + -1, + 1188 + ], + "'SHARING": [ + -1, + 1188 + ], + "'VAR": [ + -1, + 1188 + ], + "'REC": [ + -1, + 1188 + ], + "'WHEN": [ + -1, + 1188 + ], + "'PLUS": [ + -1, + 1188 + ], + "'DASH": [ + -1, + 1188 + ], + "'SLASH": [ + -1, + 1188 + ], + "'LEQ": [ + -1, + 1188 + ], + "'GEQ": [ + -1, + 1188 + ], + "'EQUALEQUAL": [ + -1, + 1188 + ], + "'SPACESHIP": [ + -1, + 1188 + ], + "'EQUALTILDE": [ + -1, + 1188 + ], + "'NEQ": [ + -1, + 1188 + ], + "'AND": [ + -1, + 1188 + ], + "'OR": [ + -1, + 1188 + ], + "'CARET": [ + -1, + 1188 + ], + "'IS": [ + -1, + 1188 + ], + "'ISEQUALEQUAL": [ + -1, + 1188 + ], + "'ISEQUALTILDE": [ + -1, + 1188 + ], + "'ISSPACESHIP": [ + -1, + 1188 + ], + "'ISROUGHLY": [ + -1, + 1188 + ], + "'ISNOT": [ + -1, + 1188 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1188 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1188 + ], + "'ISNOTSPACESHIP": [ + -1, + 1188 + ], + "'RAISES": [ + -1, + 1188 + ], + "'RAISESOTHER": [ + -1, + 1188 + ], + "'SATISFIES": [ + -1, + 1188 + ], + "'SATISFIESNOT": [ + -1, + 1188 + ], + "'RAISESSATISFIES": [ + -1, + 1188 + ], + "'RAISESVIOLATES": [ + -1, + 1188 + ], + "'RAISESNOT": [ + -1, + 1188 + ], + "'DOTDOTDOT": [ + -1, + 1188 + ], + "'NUMBER": [ + -1, + 1188 + ], + "'RATIONAL": [ + -1, + 1188 + ], + "'ROUGHRATIONAL": [ + -1, + 1188 + ], + "'TRUE": [ + -1, + 1188 + ], + "'FALSE": [ + -1, + 1188 + ], + "'LAM": [ + -1, + 1188 + ], + "'METHOD": [ + -1, + 1188 + ], + "'LBRACK": [ + -1, + 1188 + ], + "'RBRACK": [ + -1, + 1188 + ], + "'TABLE": [ + -1, + 1188 + ], + "'ROW": [ + -1, + 1188 + ], + "'REACTOR": [ + -1, + 1188 + ], + "'BANG": [ + -1, + 1188 + ], + "'IF": [ + -1, + 1188 + ], + "'ELSECOLON": [ + -1, + 1188 + ], + "'ELSEIF": [ + -1, + 1188 + ], + "'ASK": [ + -1, + 1188 + ], + "'THENCOLON": [ + -1, + 1188 + ], + "'CASES": [ + -1, + 1188 + ], + "'FOR": [ + -1, + 1188 + ], + "'TABLE-SELECT": [ + -1, + 1188 + ], + "'TABLE-FILTER": [ + -1, + 1188 + ], + "'USING": [ + -1, + 1188 + ], + "'TABLE-ORDER": [ + -1, + 1188 + ], + "'TABLE-EXTRACT": [ + -1, + 1188 + ], + "'TABLE-UPDATE": [ + -1, + 1188 + ], + "'TABLE-EXTEND": [ + -1, + 1188 + ], + "'OF": [ + -1, + 1188 + ], + "'LOAD-TABLE": [ + -1, + 1188 + ], + "'SOURCECOLON": [ + -1, + 1188 + ], + "'SANITIZE": [ + -1, + 1188 + ] + }, + { + "binding": [ + 872 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COLON": [ + -1, + 1190 + ], + "'COMMA": [ + -1, + 1190 + ] + }, + { + "$": [ + -1, + 1192 + ], + "'NAME": [ + -1, + 1192 + ], + "'COLON": [ + -1, + 1192 + ], + "'END": [ + -1, + 1192 + ], + "'COMMA": [ + -1, + 1192 + ], + "'PARENNOSPACE": [ + -1, + 1192 + ], + "'STRING": [ + -1, + 1192 + ], + "'RPAREN": [ + -1, + 1192 + ], + "'TYPE": [ + -1, + 1192 + ], + "'DATA": [ + -1, + 1192 + ], + "'TIMES": [ + -1, + 1192 + ], + "'PARENSPACE": [ + -1, + 1192 + ], + "'DOT": [ + -1, + 1192 + ], + "'SPY": [ + -1, + 1192 + ], + "'NEWTYPE": [ + -1, + 1192 + ], + "'LBRACE": [ + -1, + 1192 + ], + "'RBRACE": [ + -1, + 1192 + ], + "'SEMI": [ + -1, + 1192 + ], + "'SHADOW": [ + -1, + 1192 + ], + "'LET": [ + -1, + 1192 + ], + "'BLOCK": [ + -1, + 1192 + ], + "'LETREC": [ + -1, + 1192 + ], + "'TYPE-LET": [ + -1, + 1192 + ], + "'FUN": [ + -1, + 1192 + ], + "'LANGLE": [ + -1, + 1192 + ], + "'LT": [ + -1, + 1192 + ], + "'GT": [ + -1, + 1192 + ], + "'PARENAFTERBRACE": [ + -1, + 1192 + ], + "'WHERE": [ + -1, + 1192 + ], + "'CHECK": [ + -1, + 1192 + ], + "'EXAMPLES": [ + -1, + 1192 + ], + "'CHECKCOLON": [ + -1, + 1192 + ], + "'EXAMPLESCOLON": [ + -1, + 1192 + ], + "'BECAUSE": [ + -1, + 1192 + ], + "'BAR": [ + -1, + 1192 + ], + "'SHARING": [ + -1, + 1192 + ], + "'VAR": [ + -1, + 1192 + ], + "'REC": [ + -1, + 1192 + ], + "'WHEN": [ + -1, + 1192 + ], + "'PLUS": [ + -1, + 1192 + ], + "'DASH": [ + -1, + 1192 + ], + "'SLASH": [ + -1, + 1192 + ], + "'LEQ": [ + -1, + 1192 + ], + "'GEQ": [ + -1, + 1192 + ], + "'EQUALEQUAL": [ + -1, + 1192 + ], + "'SPACESHIP": [ + -1, + 1192 + ], + "'EQUALTILDE": [ + -1, + 1192 + ], + "'NEQ": [ + -1, + 1192 + ], + "'AND": [ + -1, + 1192 + ], + "'OR": [ + -1, + 1192 + ], + "'CARET": [ + -1, + 1192 + ], + "'IS": [ + -1, + 1192 + ], + "'ISEQUALEQUAL": [ + -1, + 1192 + ], + "'ISEQUALTILDE": [ + -1, + 1192 + ], + "'ISSPACESHIP": [ + -1, + 1192 + ], + "'ISROUGHLY": [ + -1, + 1192 + ], + "'ISNOT": [ + -1, + 1192 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1192 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1192 + ], + "'ISNOTSPACESHIP": [ + -1, + 1192 + ], + "'RAISES": [ + -1, + 1192 + ], + "'RAISESOTHER": [ + -1, + 1192 + ], + "'SATISFIES": [ + -1, + 1192 + ], + "'SATISFIESNOT": [ + -1, + 1192 + ], + "'RAISESSATISFIES": [ + -1, + 1192 + ], + "'RAISESVIOLATES": [ + -1, + 1192 + ], + "'RAISESNOT": [ + -1, + 1192 + ], + "'DOTDOTDOT": [ + -1, + 1192 + ], + "'NUMBER": [ + -1, + 1192 + ], + "'RATIONAL": [ + -1, + 1192 + ], + "'ROUGHRATIONAL": [ + -1, + 1192 + ], + "'TRUE": [ + -1, + 1192 + ], + "'FALSE": [ + -1, + 1192 + ], + "'LAM": [ + -1, + 1192 + ], + "'METHOD": [ + -1, + 1192 + ], + "'LBRACK": [ + -1, + 1192 + ], + "'RBRACK": [ + -1, + 1192 + ], + "'TABLE": [ + -1, + 1192 + ], + "'ROW": [ + -1, + 1192 + ], + "'REACTOR": [ + -1, + 1192 + ], + "'BANG": [ + -1, + 1192 + ], + "'IF": [ + -1, + 1192 + ], + "'ELSECOLON": [ + -1, + 1192 + ], + "'ELSEIF": [ + -1, + 1192 + ], + "'ASK": [ + -1, + 1192 + ], + "'THENCOLON": [ + -1, + 1192 + ], + "'CASES": [ + -1, + 1192 + ], + "'FOR": [ + -1, + 1192 + ], + "'TABLE-SELECT": [ + -1, + 1192 + ], + "'TABLE-FILTER": [ + -1, + 1192 + ], + "'USING": [ + -1, + 1192 + ], + "'TABLE-ORDER": [ + -1, + 1192 + ], + "'TABLE-EXTRACT": [ + -1, + 1192 + ], + "'TABLE-UPDATE": [ + -1, + 1192 + ], + "'TABLE-EXTEND": [ + -1, + 1192 + ], + "'OF": [ + -1, + 1192 + ], + "'LOAD-TABLE": [ + -1, + 1192 + ], + "'SOURCECOLON": [ + -1, + 1192 + ], + "'SANITIZE": [ + -1, + 1192 + ] + }, + { + "'NAME": [ + 559 + ], + "column-order": [ + 873 + ] + }, + { + "'END": [ + -1, + 1194 + ], + "'COMMA": [ + -1, + 1194 + ] + }, + { + "binding": [ + 874 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COLON": [ + -1, + 1196 + ], + "'COMMA": [ + -1, + 1196 + ] + }, + { + "$": [ + -1, + 1198 + ], + "'NAME": [ + -1, + 1198 + ], + "'COLON": [ + -1, + 1198 + ], + "'END": [ + -1, + 1198 + ], + "'COMMA": [ + -1, + 1198 + ], + "'PARENNOSPACE": [ + -1, + 1198 + ], + "'STRING": [ + -1, + 1198 + ], + "'RPAREN": [ + -1, + 1198 + ], + "'TYPE": [ + -1, + 1198 + ], + "'DATA": [ + -1, + 1198 + ], + "'TIMES": [ + -1, + 1198 + ], + "'PARENSPACE": [ + -1, + 1198 + ], + "'DOT": [ + -1, + 1198 + ], + "'SPY": [ + -1, + 1198 + ], + "'NEWTYPE": [ + -1, + 1198 + ], + "'LBRACE": [ + -1, + 1198 + ], + "'RBRACE": [ + -1, + 1198 + ], + "'SEMI": [ + -1, + 1198 + ], + "'SHADOW": [ + -1, + 1198 + ], + "'LET": [ + -1, + 1198 + ], + "'BLOCK": [ + -1, + 1198 + ], + "'LETREC": [ + -1, + 1198 + ], + "'TYPE-LET": [ + -1, + 1198 + ], + "'FUN": [ + -1, + 1198 + ], + "'LANGLE": [ + -1, + 1198 + ], + "'LT": [ + -1, + 1198 + ], + "'GT": [ + -1, + 1198 + ], + "'PARENAFTERBRACE": [ + -1, + 1198 + ], + "'WHERE": [ + -1, + 1198 + ], + "'CHECK": [ + -1, + 1198 + ], + "'EXAMPLES": [ + -1, + 1198 + ], + "'CHECKCOLON": [ + -1, + 1198 + ], + "'EXAMPLESCOLON": [ + -1, + 1198 + ], + "'BECAUSE": [ + -1, + 1198 + ], + "'BAR": [ + -1, + 1198 + ], + "'SHARING": [ + -1, + 1198 + ], + "'VAR": [ + -1, + 1198 + ], + "'REC": [ + -1, + 1198 + ], + "'WHEN": [ + -1, + 1198 + ], + "'PLUS": [ + -1, + 1198 + ], + "'DASH": [ + -1, + 1198 + ], + "'SLASH": [ + -1, + 1198 + ], + "'LEQ": [ + -1, + 1198 + ], + "'GEQ": [ + -1, + 1198 + ], + "'EQUALEQUAL": [ + -1, + 1198 + ], + "'SPACESHIP": [ + -1, + 1198 + ], + "'EQUALTILDE": [ + -1, + 1198 + ], + "'NEQ": [ + -1, + 1198 + ], + "'AND": [ + -1, + 1198 + ], + "'OR": [ + -1, + 1198 + ], + "'CARET": [ + -1, + 1198 + ], + "'IS": [ + -1, + 1198 + ], + "'ISEQUALEQUAL": [ + -1, + 1198 + ], + "'ISEQUALTILDE": [ + -1, + 1198 + ], + "'ISSPACESHIP": [ + -1, + 1198 + ], + "'ISROUGHLY": [ + -1, + 1198 + ], + "'ISNOT": [ + -1, + 1198 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1198 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1198 + ], + "'ISNOTSPACESHIP": [ + -1, + 1198 + ], + "'RAISES": [ + -1, + 1198 + ], + "'RAISESOTHER": [ + -1, + 1198 + ], + "'SATISFIES": [ + -1, + 1198 + ], + "'SATISFIESNOT": [ + -1, + 1198 + ], + "'RAISESSATISFIES": [ + -1, + 1198 + ], + "'RAISESVIOLATES": [ + -1, + 1198 + ], + "'RAISESNOT": [ + -1, + 1198 + ], + "'DOTDOTDOT": [ + -1, + 1198 + ], + "'NUMBER": [ + -1, + 1198 + ], + "'RATIONAL": [ + -1, + 1198 + ], + "'ROUGHRATIONAL": [ + -1, + 1198 + ], + "'TRUE": [ + -1, + 1198 + ], + "'FALSE": [ + -1, + 1198 + ], + "'LAM": [ + -1, + 1198 + ], + "'METHOD": [ + -1, + 1198 + ], + "'LBRACK": [ + -1, + 1198 + ], + "'RBRACK": [ + -1, + 1198 + ], + "'TABLE": [ + -1, + 1198 + ], + "'ROW": [ + -1, + 1198 + ], + "'REACTOR": [ + -1, + 1198 + ], + "'BANG": [ + -1, + 1198 + ], + "'IF": [ + -1, + 1198 + ], + "'ELSECOLON": [ + -1, + 1198 + ], + "'ELSEIF": [ + -1, + 1198 + ], + "'ASK": [ + -1, + 1198 + ], + "'THENCOLON": [ + -1, + 1198 + ], + "'CASES": [ + -1, + 1198 + ], + "'FOR": [ + -1, + 1198 + ], + "'TABLE-SELECT": [ + -1, + 1198 + ], + "'TABLE-FILTER": [ + -1, + 1198 + ], + "'USING": [ + -1, + 1198 + ], + "'TABLE-ORDER": [ + -1, + 1198 + ], + "'TABLE-EXTRACT": [ + -1, + 1198 + ], + "'TABLE-UPDATE": [ + -1, + 1198 + ], + "'TABLE-EXTEND": [ + -1, + 1198 + ], + "'OF": [ + -1, + 1198 + ], + "'LOAD-TABLE": [ + -1, + 1198 + ], + "'SOURCECOLON": [ + -1, + 1198 + ], + "'SANITIZE": [ + -1, + 1198 + ] + }, + { + "binding": [ + 875 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'COLON": [ + -1, + 1200 + ], + "'COMMA": [ + -1, + 1200 + ] + }, + { + "$": [ + -1, + 1202 + ], + "'NAME": [ + -1, + 1202 + ], + "'COLON": [ + -1, + 1202 + ], + "'END": [ + -1, + 1202 + ], + "'COMMA": [ + -1, + 1202 + ], + "'PARENNOSPACE": [ + -1, + 1202 + ], + "'STRING": [ + -1, + 1202 + ], + "'RPAREN": [ + -1, + 1202 + ], + "'TYPE": [ + -1, + 1202 + ], + "'DATA": [ + -1, + 1202 + ], + "'TIMES": [ + -1, + 1202 + ], + "'PARENSPACE": [ + -1, + 1202 + ], + "'DOT": [ + -1, + 1202 + ], + "'SPY": [ + -1, + 1202 + ], + "'NEWTYPE": [ + -1, + 1202 + ], + "'LBRACE": [ + -1, + 1202 + ], + "'RBRACE": [ + -1, + 1202 + ], + "'SEMI": [ + -1, + 1202 + ], + "'SHADOW": [ + -1, + 1202 + ], + "'LET": [ + -1, + 1202 + ], + "'BLOCK": [ + -1, + 1202 + ], + "'LETREC": [ + -1, + 1202 + ], + "'TYPE-LET": [ + -1, + 1202 + ], + "'FUN": [ + -1, + 1202 + ], + "'LANGLE": [ + -1, + 1202 + ], + "'LT": [ + -1, + 1202 + ], + "'GT": [ + -1, + 1202 + ], + "'PARENAFTERBRACE": [ + -1, + 1202 + ], + "'WHERE": [ + -1, + 1202 + ], + "'CHECK": [ + -1, + 1202 + ], + "'EXAMPLES": [ + -1, + 1202 + ], + "'CHECKCOLON": [ + -1, + 1202 + ], + "'EXAMPLESCOLON": [ + -1, + 1202 + ], + "'BECAUSE": [ + -1, + 1202 + ], + "'BAR": [ + -1, + 1202 + ], + "'SHARING": [ + -1, + 1202 + ], + "'VAR": [ + -1, + 1202 + ], + "'REC": [ + -1, + 1202 + ], + "'WHEN": [ + -1, + 1202 + ], + "'PLUS": [ + -1, + 1202 + ], + "'DASH": [ + -1, + 1202 + ], + "'SLASH": [ + -1, + 1202 + ], + "'LEQ": [ + -1, + 1202 + ], + "'GEQ": [ + -1, + 1202 + ], + "'EQUALEQUAL": [ + -1, + 1202 + ], + "'SPACESHIP": [ + -1, + 1202 + ], + "'EQUALTILDE": [ + -1, + 1202 + ], + "'NEQ": [ + -1, + 1202 + ], + "'AND": [ + -1, + 1202 + ], + "'OR": [ + -1, + 1202 + ], + "'CARET": [ + -1, + 1202 + ], + "'IS": [ + -1, + 1202 + ], + "'ISEQUALEQUAL": [ + -1, + 1202 + ], + "'ISEQUALTILDE": [ + -1, + 1202 + ], + "'ISSPACESHIP": [ + -1, + 1202 + ], + "'ISROUGHLY": [ + -1, + 1202 + ], + "'ISNOT": [ + -1, + 1202 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1202 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1202 + ], + "'ISNOTSPACESHIP": [ + -1, + 1202 + ], + "'RAISES": [ + -1, + 1202 + ], + "'RAISESOTHER": [ + -1, + 1202 + ], + "'SATISFIES": [ + -1, + 1202 + ], + "'SATISFIESNOT": [ + -1, + 1202 + ], + "'RAISESSATISFIES": [ + -1, + 1202 + ], + "'RAISESVIOLATES": [ + -1, + 1202 + ], + "'RAISESNOT": [ + -1, + 1202 + ], + "'DOTDOTDOT": [ + -1, + 1202 + ], + "'NUMBER": [ + -1, + 1202 + ], + "'RATIONAL": [ + -1, + 1202 + ], + "'ROUGHRATIONAL": [ + -1, + 1202 + ], + "'TRUE": [ + -1, + 1202 + ], + "'FALSE": [ + -1, + 1202 + ], + "'LAM": [ + -1, + 1202 + ], + "'METHOD": [ + -1, + 1202 + ], + "'LBRACK": [ + -1, + 1202 + ], + "'RBRACK": [ + -1, + 1202 + ], + "'TABLE": [ + -1, + 1202 + ], + "'ROW": [ + -1, + 1202 + ], + "'REACTOR": [ + -1, + 1202 + ], + "'BANG": [ + -1, + 1202 + ], + "'IF": [ + -1, + 1202 + ], + "'ELSECOLON": [ + -1, + 1202 + ], + "'ELSEIF": [ + -1, + 1202 + ], + "'ASK": [ + -1, + 1202 + ], + "'THENCOLON": [ + -1, + 1202 + ], + "'CASES": [ + -1, + 1202 + ], + "'FOR": [ + -1, + 1202 + ], + "'TABLE-SELECT": [ + -1, + 1202 + ], + "'TABLE-FILTER": [ + -1, + 1202 + ], + "'USING": [ + -1, + 1202 + ], + "'TABLE-ORDER": [ + -1, + 1202 + ], + "'TABLE-EXTRACT": [ + -1, + 1202 + ], + "'TABLE-UPDATE": [ + -1, + 1202 + ], + "'TABLE-EXTEND": [ + -1, + 1202 + ], + "'OF": [ + -1, + 1202 + ], + "'LOAD-TABLE": [ + -1, + 1202 + ], + "'SOURCECOLON": [ + -1, + 1202 + ], + "'SANITIZE": [ + -1, + 1202 + ] + }, + { + "'COLONCOLON": [ + 876 + ], + "table-extend-field_A0_I1?": [ + 877 + ], + "table-extend-field_A0_I1": [ + 878 + ], + "table-extend-field_A1_I1?": [ + 879 + ], + "table-extend-field_A1_I1": [ + 880 + ], + "'COLON": [ + -1, + 1204, + 1206 + ] + }, + { + "'COMMA": [ + 881 + ], + "table-extend-fields_I2?": [ + 882 + ], + "table-extend-fields_I2": [ + 883 + ], + "'END": [ + -1, + 1208, + 1210 + ] + }, + { + "'NAME": [ + -1, + 1212 + ] + }, + { + "'NAME": [ + -1, + 1214 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "'END": [ + -1, + 1216 + ], + "'SOURCECOLON": [ + -1, + 1216 + ], + "'SANITIZE": [ + -1, + 1216 + ] + }, + { + "'USING": [ + 884 + ] + }, + { + "$": [ + -1, + 1218 + ], + "'NAME": [ + -1, + 1218 + ], + "'INCLUDE": [ + -1, + 1218 + ], + "'IMPORT": [ + -1, + 1218 + ], + "'STRING": [ + -1, + 1218 + ], + "'TYPE": [ + -1, + 1218 + ], + "'DATA": [ + -1, + 1218 + ], + "'PROVIDE": [ + -1, + 1218 + ], + "'PROVIDE-TYPES": [ + -1, + 1218 + ], + "'PROVIDECOLON": [ + -1, + 1218 + ], + "'PARENSPACE": [ + -1, + 1218 + ], + "'SPY": [ + -1, + 1218 + ], + "'NEWTYPE": [ + -1, + 1218 + ], + "'LBRACE": [ + -1, + 1218 + ], + "'SHADOW": [ + -1, + 1218 + ], + "'LET": [ + -1, + 1218 + ], + "'BLOCK": [ + -1, + 1218 + ], + "'LETREC": [ + -1, + 1218 + ], + "'TYPE-LET": [ + -1, + 1218 + ], + "'FUN": [ + -1, + 1218 + ], + "'PARENAFTERBRACE": [ + -1, + 1218 + ], + "'CHECK": [ + -1, + 1218 + ], + "'EXAMPLES": [ + -1, + 1218 + ], + "'CHECKCOLON": [ + -1, + 1218 + ], + "'EXAMPLESCOLON": [ + -1, + 1218 + ], + "'VAR": [ + -1, + 1218 + ], + "'REC": [ + -1, + 1218 + ], + "'WHEN": [ + -1, + 1218 + ], + "'DOTDOTDOT": [ + -1, + 1218 + ], + "'NUMBER": [ + -1, + 1218 + ], + "'RATIONAL": [ + -1, + 1218 + ], + "'ROUGHRATIONAL": [ + -1, + 1218 + ], + "'TRUE": [ + -1, + 1218 + ], + "'FALSE": [ + -1, + 1218 + ], + "'LAM": [ + -1, + 1218 + ], + "'METHOD": [ + -1, + 1218 + ], + "'LBRACK": [ + -1, + 1218 + ], + "'TABLE": [ + -1, + 1218 + ], + "'REACTOR": [ + -1, + 1218 + ], + "'IF": [ + -1, + 1218 + ], + "'ASK": [ + -1, + 1218 + ], + "'CASES": [ + -1, + 1218 + ], + "'FOR": [ + -1, + 1218 + ], + "'TABLE-SELECT": [ + -1, + 1218 + ], + "'TABLE-FILTER": [ + -1, + 1218 + ], + "'TABLE-ORDER": [ + -1, + 1218 + ], + "'TABLE-EXTRACT": [ + -1, + 1218 + ], + "'TABLE-UPDATE": [ + -1, + 1218 + ], + "'TABLE-EXTEND": [ + -1, + 1218 + ], + "'LOAD-TABLE": [ + -1, + 1218 + ] + }, + { + "import-stmt_A1_I4_I2?": [ + 885 + ], + "import-stmt_A1_I4_I1": [ + 886 + ], + "'COMMA": [ + 887 + ], + "import-stmt_A1_I4_I2": [ + 888 + ], + "'END": [ + -1, + 1220, + 1222 + ] + }, + { + "'END": [ + -1, + 1224 + ], + "'COMMA": [ + -1, + 1224 + ] + }, + { + "include-data-spec_I2?": [ + 889 + ], + "include-data-spec_I2": [ + 890 + ], + "hiding-spec": [ + 891 + ], + "'HIDING": [ + 422 + ], + "'END": [ + -1, + 1226, + 1228 + ], + "'COMMA": [ + -1, + 1226, + 1228 + ] + }, + { + "'END": [ + -1, + 1230 + ], + "'COMMA": [ + -1, + 1230 + ] + }, + { + "'COMMA": [ + 892 + ], + "provide-block_A1_I4_I2?": [ + 893 + ], + "provide-block_A1_I4_I1": [ + 894 + ], + "provide-block_A1_I4_I2": [ + 895 + ], + "'END": [ + -1, + 1232, + 1234 + ] + }, + { + "$": [ + -1, + 1236 + ], + "'NAME": [ + -1, + 1236 + ], + "'INCLUDE": [ + -1, + 1236 + ], + "'IMPORT": [ + -1, + 1236 + ], + "'STRING": [ + -1, + 1236 + ], + "'TYPE": [ + -1, + 1236 + ], + "'DATA": [ + -1, + 1236 + ], + "'PROVIDE": [ + -1, + 1236 + ], + "'PROVIDE-TYPES": [ + -1, + 1236 + ], + "'PROVIDECOLON": [ + -1, + 1236 + ], + "'PARENSPACE": [ + -1, + 1236 + ], + "'SPY": [ + -1, + 1236 + ], + "'NEWTYPE": [ + -1, + 1236 + ], + "'LBRACE": [ + -1, + 1236 + ], + "'SHADOW": [ + -1, + 1236 + ], + "'LET": [ + -1, + 1236 + ], + "'BLOCK": [ + -1, + 1236 + ], + "'LETREC": [ + -1, + 1236 + ], + "'TYPE-LET": [ + -1, + 1236 + ], + "'FUN": [ + -1, + 1236 + ], + "'PARENAFTERBRACE": [ + -1, + 1236 + ], + "'CHECK": [ + -1, + 1236 + ], + "'EXAMPLES": [ + -1, + 1236 + ], + "'CHECKCOLON": [ + -1, + 1236 + ], + "'EXAMPLESCOLON": [ + -1, + 1236 + ], + "'VAR": [ + -1, + 1236 + ], + "'REC": [ + -1, + 1236 + ], + "'WHEN": [ + -1, + 1236 + ], + "'DOTDOTDOT": [ + -1, + 1236 + ], + "'NUMBER": [ + -1, + 1236 + ], + "'RATIONAL": [ + -1, + 1236 + ], + "'ROUGHRATIONAL": [ + -1, + 1236 + ], + "'TRUE": [ + -1, + 1236 + ], + "'FALSE": [ + -1, + 1236 + ], + "'LAM": [ + -1, + 1236 + ], + "'METHOD": [ + -1, + 1236 + ], + "'LBRACK": [ + -1, + 1236 + ], + "'TABLE": [ + -1, + 1236 + ], + "'REACTOR": [ + -1, + 1236 + ], + "'IF": [ + -1, + 1236 + ], + "'ASK": [ + -1, + 1236 + ], + "'CASES": [ + -1, + 1236 + ], + "'FOR": [ + -1, + 1236 + ], + "'TABLE-SELECT": [ + -1, + 1236 + ], + "'TABLE-FILTER": [ + -1, + 1236 + ], + "'TABLE-ORDER": [ + -1, + 1236 + ], + "'TABLE-EXTRACT": [ + -1, + 1236 + ], + "'TABLE-UPDATE": [ + -1, + 1236 + ], + "'TABLE-EXTEND": [ + -1, + 1236 + ], + "'LOAD-TABLE": [ + -1, + 1236 + ] + }, + { + "'COMMA": [ + -1, + 1238 + ], + "'RPAREN": [ + -1, + 1238 + ], + "'RBRACE": [ + -1, + 1238 + ] + }, + { + "'END": [ + -1, + 1240 + ], + "'COMMA": [ + -1, + 1240 + ] + }, + { + "'COMMA": [ + 896 + ], + "'RPAREN": [ + -1, + 1242 + ] + }, + { + "'NAME": [ + -1, + 1244 + ] + }, + { + "'COMMA": [ + -1, + 1246 + ], + "'RPAREN": [ + -1, + 1246 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COMMA": [ + -1, + 1248 + ], + "'RANGLE": [ + -1, + 1248 + ], + "'GT": [ + -1, + 1248 + ], + "'THINARROW": [ + -1, + 1248 + ] + }, + { + "'RPAREN": [ + 897 + ] + }, + { + "'RPAREN": [ + -1, + 1250 + ] + }, + { + "variant-members_I1_I1*": [ + 898 + ], + "'COMMA": [ + -1, + 1252 + ], + "'RPAREN": [ + -1, + 1254, + 1252 + ] + }, + { + "binding": [ + 899 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'NAME": [ + -1, + 1256 + ], + "'LBRACE": [ + -1, + 1256 + ], + "'SHADOW": [ + -1, + 1256 + ] + }, + { + "'NAME": [ + -1, + 1258 + ], + "'LBRACE": [ + -1, + 1258 + ], + "'SHADOW": [ + -1, + 1258 + ] + }, + { + "'END": [ + -1, + 1260 + ], + "'WHERE": [ + -1, + 1260 + ], + "'BAR": [ + -1, + 1260 + ], + "'SHARING": [ + -1, + 1260 + ] + }, + { + "where-clause": [ + 900 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "'END": [ + -1, + 1262 + ], + "'WHERE": [ + -1, + 1262 + ], + "'BAR": [ + -1, + 1262 + ], + "'SHARING": [ + -1, + 1262 + ] + }, + { + "'END": [ + -1, + 1264 + ], + "'WHERE": [ + -1, + 1264 + ], + "'BAR": [ + -1, + 1264 + ], + "'SHARING": [ + -1, + 1264 + ] + }, + { + "'NAME": [ + 901 + ], + "variant-constructor": [ + 902 + ] + }, + { + "'END": [ + -1, + 1266 + ], + "'WHERE": [ + -1, + 1266 + ] + }, + { + "'END": [ + -1, + 1268 + ], + "'WHERE": [ + -1, + 1268 + ] + }, + { + "'NAME": [ + 291 + ], + "fields": [ + 903 + ], + "'METHOD": [ + 376 + ], + "key": [ + 377 + ], + "field": [ + 378 + ] + }, + { + "'END": [ + -1, + 1270 + ], + "'COMMA": [ + -1, + 1270 + ] + }, + { + "'COMMA": [ + -1, + 1272 + ], + "'RPAREN": [ + -1, + 1272 + ] + }, + { + "'COMMA": [ + -1, + 1274 + ], + "'RPAREN": [ + -1, + 1274 + ] + }, + { + "'FROM": [ + -1, + 1276 + ], + "'COLON": [ + -1, + 1276 + ], + "'COMMA": [ + -1, + 1276 + ], + "'RPAREN": [ + -1, + 1276 + ], + "'EQUALS": [ + -1, + 1276 + ], + "'RBRACE": [ + -1, + 1276 + ], + "'SEMI": [ + -1, + 1276 + ] + }, + { + "$": [ + -1, + 1278 + ], + "'NAME": [ + -1, + 1278 + ], + "'COLON": [ + -1, + 1278 + ], + "'END": [ + -1, + 1278 + ], + "'COMMA": [ + -1, + 1278 + ], + "'PARENNOSPACE": [ + -1, + 1278 + ], + "'STRING": [ + -1, + 1278 + ], + "'RPAREN": [ + -1, + 1278 + ], + "'TYPE": [ + -1, + 1278 + ], + "'DATA": [ + -1, + 1278 + ], + "'TIMES": [ + -1, + 1278 + ], + "'PARENSPACE": [ + -1, + 1278 + ], + "'DOT": [ + -1, + 1278 + ], + "'SPY": [ + -1, + 1278 + ], + "'NEWTYPE": [ + -1, + 1278 + ], + "'LBRACE": [ + -1, + 1278 + ], + "'RBRACE": [ + -1, + 1278 + ], + "'SEMI": [ + -1, + 1278 + ], + "'SHADOW": [ + -1, + 1278 + ], + "'LET": [ + -1, + 1278 + ], + "'BLOCK": [ + -1, + 1278 + ], + "'LETREC": [ + -1, + 1278 + ], + "'TYPE-LET": [ + -1, + 1278 + ], + "'FUN": [ + -1, + 1278 + ], + "'LANGLE": [ + -1, + 1278 + ], + "'LT": [ + -1, + 1278 + ], + "'GT": [ + -1, + 1278 + ], + "'PARENAFTERBRACE": [ + -1, + 1278 + ], + "'WHERE": [ + -1, + 1278 + ], + "'CHECK": [ + -1, + 1278 + ], + "'EXAMPLES": [ + -1, + 1278 + ], + "'CHECKCOLON": [ + -1, + 1278 + ], + "'EXAMPLESCOLON": [ + -1, + 1278 + ], + "'BECAUSE": [ + -1, + 1278 + ], + "'BAR": [ + -1, + 1278 + ], + "'SHARING": [ + -1, + 1278 + ], + "'VAR": [ + -1, + 1278 + ], + "'REC": [ + -1, + 1278 + ], + "'WHEN": [ + -1, + 1278 + ], + "'PLUS": [ + -1, + 1278 + ], + "'DASH": [ + -1, + 1278 + ], + "'SLASH": [ + -1, + 1278 + ], + "'LEQ": [ + -1, + 1278 + ], + "'GEQ": [ + -1, + 1278 + ], + "'EQUALEQUAL": [ + -1, + 1278 + ], + "'SPACESHIP": [ + -1, + 1278 + ], + "'EQUALTILDE": [ + -1, + 1278 + ], + "'NEQ": [ + -1, + 1278 + ], + "'AND": [ + -1, + 1278 + ], + "'OR": [ + -1, + 1278 + ], + "'CARET": [ + -1, + 1278 + ], + "'IS": [ + -1, + 1278 + ], + "'ISEQUALEQUAL": [ + -1, + 1278 + ], + "'ISEQUALTILDE": [ + -1, + 1278 + ], + "'ISSPACESHIP": [ + -1, + 1278 + ], + "'ISROUGHLY": [ + -1, + 1278 + ], + "'ISNOT": [ + -1, + 1278 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1278 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1278 + ], + "'ISNOTSPACESHIP": [ + -1, + 1278 + ], + "'RAISES": [ + -1, + 1278 + ], + "'RAISESOTHER": [ + -1, + 1278 + ], + "'SATISFIES": [ + -1, + 1278 + ], + "'SATISFIESNOT": [ + -1, + 1278 + ], + "'RAISESSATISFIES": [ + -1, + 1278 + ], + "'RAISESVIOLATES": [ + -1, + 1278 + ], + "'RAISESNOT": [ + -1, + 1278 + ], + "'DOTDOTDOT": [ + -1, + 1278 + ], + "'NUMBER": [ + -1, + 1278 + ], + "'RATIONAL": [ + -1, + 1278 + ], + "'ROUGHRATIONAL": [ + -1, + 1278 + ], + "'TRUE": [ + -1, + 1278 + ], + "'FALSE": [ + -1, + 1278 + ], + "'LAM": [ + -1, + 1278 + ], + "'METHOD": [ + -1, + 1278 + ], + "'LBRACK": [ + -1, + 1278 + ], + "'RBRACK": [ + -1, + 1278 + ], + "'TABLE": [ + -1, + 1278 + ], + "'ROW": [ + -1, + 1278 + ], + "'REACTOR": [ + -1, + 1278 + ], + "'BANG": [ + -1, + 1278 + ], + "'IF": [ + -1, + 1278 + ], + "'ELSECOLON": [ + -1, + 1278 + ], + "'ELSEIF": [ + -1, + 1278 + ], + "'ASK": [ + -1, + 1278 + ], + "'THENCOLON": [ + -1, + 1278 + ], + "'CASES": [ + -1, + 1278 + ], + "'FOR": [ + -1, + 1278 + ], + "'TABLE-SELECT": [ + -1, + 1278 + ], + "'TABLE-FILTER": [ + -1, + 1278 + ], + "'USING": [ + -1, + 1278 + ], + "'TABLE-ORDER": [ + -1, + 1278 + ], + "'TABLE-EXTRACT": [ + -1, + 1278 + ], + "'TABLE-UPDATE": [ + -1, + 1278 + ], + "'TABLE-EXTEND": [ + -1, + 1278 + ], + "'OF": [ + -1, + 1278 + ], + "'LOAD-TABLE": [ + -1, + 1278 + ], + "'SOURCECOLON": [ + -1, + 1278 + ], + "'SANITIZE": [ + -1, + 1278 + ] + }, + { + "'END": [ + -1, + 1280 + ], + "'RBRACE": [ + -1, + 1280 + ] + }, + { + "where-clause": [ + 904 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "'END": [ + 905 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 906 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "$": [ + -1, + 1282 + ], + "'NAME": [ + -1, + 1282 + ], + "'COLON": [ + -1, + 1282 + ], + "'END": [ + -1, + 1282 + ], + "'COMMA": [ + -1, + 1282 + ], + "'PARENNOSPACE": [ + -1, + 1282 + ], + "'STRING": [ + -1, + 1282 + ], + "'RPAREN": [ + -1, + 1282 + ], + "'TYPE": [ + -1, + 1282 + ], + "'DATA": [ + -1, + 1282 + ], + "'TIMES": [ + -1, + 1282 + ], + "'PARENSPACE": [ + -1, + 1282 + ], + "'DOT": [ + -1, + 1282 + ], + "'SPY": [ + -1, + 1282 + ], + "'NEWTYPE": [ + -1, + 1282 + ], + "'LBRACE": [ + -1, + 1282 + ], + "'RBRACE": [ + -1, + 1282 + ], + "'SEMI": [ + -1, + 1282 + ], + "'SHADOW": [ + -1, + 1282 + ], + "'LET": [ + -1, + 1282 + ], + "'BLOCK": [ + -1, + 1282 + ], + "'LETREC": [ + -1, + 1282 + ], + "'TYPE-LET": [ + -1, + 1282 + ], + "'FUN": [ + -1, + 1282 + ], + "'LANGLE": [ + -1, + 1282 + ], + "'LT": [ + -1, + 1282 + ], + "'GT": [ + -1, + 1282 + ], + "'PARENAFTERBRACE": [ + -1, + 1282 + ], + "'WHERE": [ + -1, + 1282 + ], + "'CHECK": [ + -1, + 1282 + ], + "'EXAMPLES": [ + -1, + 1282 + ], + "'CHECKCOLON": [ + -1, + 1282 + ], + "'EXAMPLESCOLON": [ + -1, + 1282 + ], + "'BECAUSE": [ + -1, + 1282 + ], + "'BAR": [ + -1, + 1282 + ], + "'SHARING": [ + -1, + 1282 + ], + "'VAR": [ + -1, + 1282 + ], + "'REC": [ + -1, + 1282 + ], + "'WHEN": [ + -1, + 1282 + ], + "'PLUS": [ + -1, + 1282 + ], + "'DASH": [ + -1, + 1282 + ], + "'SLASH": [ + -1, + 1282 + ], + "'LEQ": [ + -1, + 1282 + ], + "'GEQ": [ + -1, + 1282 + ], + "'EQUALEQUAL": [ + -1, + 1282 + ], + "'SPACESHIP": [ + -1, + 1282 + ], + "'EQUALTILDE": [ + -1, + 1282 + ], + "'NEQ": [ + -1, + 1282 + ], + "'AND": [ + -1, + 1282 + ], + "'OR": [ + -1, + 1282 + ], + "'CARET": [ + -1, + 1282 + ], + "'IS": [ + -1, + 1282 + ], + "'ISEQUALEQUAL": [ + -1, + 1282 + ], + "'ISEQUALTILDE": [ + -1, + 1282 + ], + "'ISSPACESHIP": [ + -1, + 1282 + ], + "'ISROUGHLY": [ + -1, + 1282 + ], + "'ISNOT": [ + -1, + 1282 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1282 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1282 + ], + "'ISNOTSPACESHIP": [ + -1, + 1282 + ], + "'RAISES": [ + -1, + 1282 + ], + "'RAISESOTHER": [ + -1, + 1282 + ], + "'SATISFIES": [ + -1, + 1282 + ], + "'SATISFIESNOT": [ + -1, + 1282 + ], + "'RAISESSATISFIES": [ + -1, + 1282 + ], + "'RAISESVIOLATES": [ + -1, + 1282 + ], + "'RAISESNOT": [ + -1, + 1282 + ], + "'DOTDOTDOT": [ + -1, + 1282 + ], + "'NUMBER": [ + -1, + 1282 + ], + "'RATIONAL": [ + -1, + 1282 + ], + "'ROUGHRATIONAL": [ + -1, + 1282 + ], + "'TRUE": [ + -1, + 1282 + ], + "'FALSE": [ + -1, + 1282 + ], + "'LAM": [ + -1, + 1282 + ], + "'METHOD": [ + -1, + 1282 + ], + "'LBRACK": [ + -1, + 1282 + ], + "'RBRACK": [ + -1, + 1282 + ], + "'TABLE": [ + -1, + 1282 + ], + "'ROW": [ + -1, + 1282 + ], + "'REACTOR": [ + -1, + 1282 + ], + "'BANG": [ + -1, + 1282 + ], + "'IF": [ + -1, + 1282 + ], + "'ELSECOLON": [ + -1, + 1282 + ], + "'ELSEIF": [ + -1, + 1282 + ], + "'ASK": [ + -1, + 1282 + ], + "'THENCOLON": [ + -1, + 1282 + ], + "'CASES": [ + -1, + 1282 + ], + "'FOR": [ + -1, + 1282 + ], + "'TABLE-SELECT": [ + -1, + 1282 + ], + "'TABLE-FILTER": [ + -1, + 1282 + ], + "'USING": [ + -1, + 1282 + ], + "'TABLE-ORDER": [ + -1, + 1282 + ], + "'TABLE-EXTRACT": [ + -1, + 1282 + ], + "'TABLE-UPDATE": [ + -1, + 1282 + ], + "'TABLE-EXTEND": [ + -1, + 1282 + ], + "'OF": [ + -1, + 1282 + ], + "'LOAD-TABLE": [ + -1, + 1282 + ], + "'SOURCECOLON": [ + -1, + 1282 + ], + "'SANITIZE": [ + -1, + 1282 + ] + }, + { + "'COMMA": [ + -1, + 1284 + ], + "'RPAREN": [ + -1, + 1284 + ] + }, + { + "$": [ + -1, + 1286 + ], + "'NAME": [ + -1, + 1286 + ], + "'FROM": [ + -1, + 1286 + ], + "'COLON": [ + -1, + 1286 + ], + "'END": [ + -1, + 1286 + ], + "'COMMA": [ + -1, + 1286 + ], + "'STRING": [ + -1, + 1286 + ], + "'RPAREN": [ + -1, + 1286 + ], + "'TYPE": [ + -1, + 1286 + ], + "'DATA": [ + -1, + 1286 + ], + "'PARENSPACE": [ + -1, + 1286 + ], + "'SPY": [ + -1, + 1286 + ], + "'EQUALS": [ + -1, + 1286 + ], + "'NEWTYPE": [ + -1, + 1286 + ], + "'LBRACE": [ + -1, + 1286 + ], + "'RBRACE": [ + -1, + 1286 + ], + "'SEMI": [ + -1, + 1286 + ], + "'SHADOW": [ + -1, + 1286 + ], + "'LET": [ + -1, + 1286 + ], + "'BLOCK": [ + -1, + 1286 + ], + "'LETREC": [ + -1, + 1286 + ], + "'TYPE-LET": [ + -1, + 1286 + ], + "'FUN": [ + -1, + 1286 + ], + "'RANGLE": [ + -1, + 1286 + ], + "'GT": [ + -1, + 1286 + ], + "'PARENAFTERBRACE": [ + -1, + 1286 + ], + "'THINARROW": [ + -1, + 1286 + ], + "'WHERE": [ + -1, + 1286 + ], + "'CHECK": [ + -1, + 1286 + ], + "'EXAMPLES": [ + -1, + 1286 + ], + "'CHECKCOLON": [ + -1, + 1286 + ], + "'EXAMPLESCOLON": [ + -1, + 1286 + ], + "'PERCENT": [ + -1, + 1286 + ], + "'BAR": [ + -1, + 1286 + ], + "'VAR": [ + -1, + 1286 + ], + "'REC": [ + -1, + 1286 + ], + "'WHEN": [ + -1, + 1286 + ], + "'DOTDOTDOT": [ + -1, + 1286 + ], + "'NUMBER": [ + -1, + 1286 + ], + "'RATIONAL": [ + -1, + 1286 + ], + "'ROUGHRATIONAL": [ + -1, + 1286 + ], + "'TRUE": [ + -1, + 1286 + ], + "'FALSE": [ + -1, + 1286 + ], + "'LAM": [ + -1, + 1286 + ], + "'METHOD": [ + -1, + 1286 + ], + "'LBRACK": [ + -1, + 1286 + ], + "'TABLE": [ + -1, + 1286 + ], + "'ROW": [ + -1, + 1286 + ], + "'REACTOR": [ + -1, + 1286 + ], + "'IF": [ + -1, + 1286 + ], + "'ELSECOLON": [ + -1, + 1286 + ], + "'ELSEIF": [ + -1, + 1286 + ], + "'ASK": [ + -1, + 1286 + ], + "'CASES": [ + -1, + 1286 + ], + "'FOR": [ + -1, + 1286 + ], + "'TABLE-SELECT": [ + -1, + 1286 + ], + "'TABLE-FILTER": [ + -1, + 1286 + ], + "'TABLE-ORDER": [ + -1, + 1286 + ], + "'TABLE-EXTRACT": [ + -1, + 1286 + ], + "'TABLE-UPDATE": [ + -1, + 1286 + ], + "'TABLE-EXTEND": [ + -1, + 1286 + ], + "'LOAD-TABLE": [ + -1, + 1286 + ], + "'SOURCECOLON": [ + -1, + 1286 + ], + "'SANITIZE": [ + -1, + 1286 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'RBRACE": [ + -1, + 1288 + ], + "'SEMI": [ + -1, + 1288 + ] + }, + { + "$": [ + -1, + 1290 + ], + "'NAME": [ + -1, + 1290 + ], + "'FROM": [ + -1, + 1290 + ], + "'COLON": [ + -1, + 1290 + ], + "'END": [ + -1, + 1290 + ], + "'COMMA": [ + -1, + 1290 + ], + "'STRING": [ + -1, + 1290 + ], + "'RPAREN": [ + -1, + 1290 + ], + "'TYPE": [ + -1, + 1290 + ], + "'DATA": [ + -1, + 1290 + ], + "'PARENSPACE": [ + -1, + 1290 + ], + "'SPY": [ + -1, + 1290 + ], + "'EQUALS": [ + -1, + 1290 + ], + "'NEWTYPE": [ + -1, + 1290 + ], + "'LBRACE": [ + -1, + 1290 + ], + "'RBRACE": [ + -1, + 1290 + ], + "'SEMI": [ + -1, + 1290 + ], + "'SHADOW": [ + -1, + 1290 + ], + "'LET": [ + -1, + 1290 + ], + "'BLOCK": [ + -1, + 1290 + ], + "'LETREC": [ + -1, + 1290 + ], + "'TYPE-LET": [ + -1, + 1290 + ], + "'FUN": [ + -1, + 1290 + ], + "'RANGLE": [ + -1, + 1290 + ], + "'GT": [ + -1, + 1290 + ], + "'PARENAFTERBRACE": [ + -1, + 1290 + ], + "'THINARROW": [ + -1, + 1290 + ], + "'WHERE": [ + -1, + 1290 + ], + "'CHECK": [ + -1, + 1290 + ], + "'EXAMPLES": [ + -1, + 1290 + ], + "'CHECKCOLON": [ + -1, + 1290 + ], + "'EXAMPLESCOLON": [ + -1, + 1290 + ], + "'PERCENT": [ + -1, + 1290 + ], + "'BAR": [ + -1, + 1290 + ], + "'VAR": [ + -1, + 1290 + ], + "'REC": [ + -1, + 1290 + ], + "'WHEN": [ + -1, + 1290 + ], + "'DOTDOTDOT": [ + -1, + 1290 + ], + "'NUMBER": [ + -1, + 1290 + ], + "'RATIONAL": [ + -1, + 1290 + ], + "'ROUGHRATIONAL": [ + -1, + 1290 + ], + "'TRUE": [ + -1, + 1290 + ], + "'FALSE": [ + -1, + 1290 + ], + "'LAM": [ + -1, + 1290 + ], + "'METHOD": [ + -1, + 1290 + ], + "'LBRACK": [ + -1, + 1290 + ], + "'TABLE": [ + -1, + 1290 + ], + "'ROW": [ + -1, + 1290 + ], + "'REACTOR": [ + -1, + 1290 + ], + "'IF": [ + -1, + 1290 + ], + "'ELSECOLON": [ + -1, + 1290 + ], + "'ELSEIF": [ + -1, + 1290 + ], + "'ASK": [ + -1, + 1290 + ], + "'CASES": [ + -1, + 1290 + ], + "'FOR": [ + -1, + 1290 + ], + "'TABLE-SELECT": [ + -1, + 1290 + ], + "'TABLE-FILTER": [ + -1, + 1290 + ], + "'TABLE-ORDER": [ + -1, + 1290 + ], + "'TABLE-EXTRACT": [ + -1, + 1290 + ], + "'TABLE-UPDATE": [ + -1, + 1290 + ], + "'TABLE-EXTEND": [ + -1, + 1290 + ], + "'LOAD-TABLE": [ + -1, + 1290 + ], + "'SOURCECOLON": [ + -1, + 1290 + ], + "'SANITIZE": [ + -1, + 1290 + ] + }, + { + "$": [ + -1, + 1292 + ], + "'NAME": [ + -1, + 1292 + ], + "'FROM": [ + -1, + 1292 + ], + "'COLON": [ + -1, + 1292 + ], + "'END": [ + -1, + 1292 + ], + "'COMMA": [ + -1, + 1292 + ], + "'STRING": [ + -1, + 1292 + ], + "'RPAREN": [ + -1, + 1292 + ], + "'TYPE": [ + -1, + 1292 + ], + "'DATA": [ + -1, + 1292 + ], + "'PARENSPACE": [ + -1, + 1292 + ], + "'SPY": [ + -1, + 1292 + ], + "'EQUALS": [ + -1, + 1292 + ], + "'NEWTYPE": [ + -1, + 1292 + ], + "'LBRACE": [ + -1, + 1292 + ], + "'RBRACE": [ + -1, + 1292 + ], + "'SEMI": [ + -1, + 1292 + ], + "'SHADOW": [ + -1, + 1292 + ], + "'LET": [ + -1, + 1292 + ], + "'BLOCK": [ + -1, + 1292 + ], + "'LETREC": [ + -1, + 1292 + ], + "'TYPE-LET": [ + -1, + 1292 + ], + "'FUN": [ + -1, + 1292 + ], + "'RANGLE": [ + -1, + 1292 + ], + "'GT": [ + -1, + 1292 + ], + "'PARENAFTERBRACE": [ + -1, + 1292 + ], + "'THINARROW": [ + -1, + 1292 + ], + "'WHERE": [ + -1, + 1292 + ], + "'CHECK": [ + -1, + 1292 + ], + "'EXAMPLES": [ + -1, + 1292 + ], + "'CHECKCOLON": [ + -1, + 1292 + ], + "'EXAMPLESCOLON": [ + -1, + 1292 + ], + "'PERCENT": [ + -1, + 1292 + ], + "'BAR": [ + -1, + 1292 + ], + "'VAR": [ + -1, + 1292 + ], + "'REC": [ + -1, + 1292 + ], + "'WHEN": [ + -1, + 1292 + ], + "'DOTDOTDOT": [ + -1, + 1292 + ], + "'NUMBER": [ + -1, + 1292 + ], + "'RATIONAL": [ + -1, + 1292 + ], + "'ROUGHRATIONAL": [ + -1, + 1292 + ], + "'TRUE": [ + -1, + 1292 + ], + "'FALSE": [ + -1, + 1292 + ], + "'LAM": [ + -1, + 1292 + ], + "'METHOD": [ + -1, + 1292 + ], + "'LBRACK": [ + -1, + 1292 + ], + "'TABLE": [ + -1, + 1292 + ], + "'ROW": [ + -1, + 1292 + ], + "'REACTOR": [ + -1, + 1292 + ], + "'IF": [ + -1, + 1292 + ], + "'ELSECOLON": [ + -1, + 1292 + ], + "'ELSEIF": [ + -1, + 1292 + ], + "'ASK": [ + -1, + 1292 + ], + "'CASES": [ + -1, + 1292 + ], + "'FOR": [ + -1, + 1292 + ], + "'TABLE-SELECT": [ + -1, + 1292 + ], + "'TABLE-FILTER": [ + -1, + 1292 + ], + "'TABLE-ORDER": [ + -1, + 1292 + ], + "'TABLE-EXTRACT": [ + -1, + 1292 + ], + "'TABLE-UPDATE": [ + -1, + 1292 + ], + "'TABLE-EXTEND": [ + -1, + 1292 + ], + "'LOAD-TABLE": [ + -1, + 1292 + ], + "'SOURCECOLON": [ + -1, + 1292 + ], + "'SANITIZE": [ + -1, + 1292 + ] + }, + { + "$": [ + -1, + 1294 + ], + "'NAME": [ + -1, + 1294 + ], + "'COLON": [ + -1, + 1294 + ], + "'END": [ + -1, + 1294 + ], + "'COMMA": [ + -1, + 1294 + ], + "'PARENNOSPACE": [ + -1, + 1294 + ], + "'STRING": [ + -1, + 1294 + ], + "'RPAREN": [ + -1, + 1294 + ], + "'TYPE": [ + -1, + 1294 + ], + "'DATA": [ + -1, + 1294 + ], + "'TIMES": [ + -1, + 1294 + ], + "'PARENSPACE": [ + -1, + 1294 + ], + "'DOT": [ + -1, + 1294 + ], + "'SPY": [ + -1, + 1294 + ], + "'NEWTYPE": [ + -1, + 1294 + ], + "'LBRACE": [ + -1, + 1294 + ], + "'RBRACE": [ + -1, + 1294 + ], + "'SEMI": [ + -1, + 1294 + ], + "'SHADOW": [ + -1, + 1294 + ], + "'LET": [ + -1, + 1294 + ], + "'BLOCK": [ + -1, + 1294 + ], + "'LETREC": [ + -1, + 1294 + ], + "'TYPE-LET": [ + -1, + 1294 + ], + "'FUN": [ + -1, + 1294 + ], + "'LANGLE": [ + -1, + 1294 + ], + "'LT": [ + -1, + 1294 + ], + "'GT": [ + -1, + 1294 + ], + "'PARENAFTERBRACE": [ + -1, + 1294 + ], + "'WHERE": [ + -1, + 1294 + ], + "'CHECK": [ + -1, + 1294 + ], + "'EXAMPLES": [ + -1, + 1294 + ], + "'CHECKCOLON": [ + -1, + 1294 + ], + "'EXAMPLESCOLON": [ + -1, + 1294 + ], + "'BECAUSE": [ + -1, + 1294 + ], + "'BAR": [ + -1, + 1294 + ], + "'SHARING": [ + -1, + 1294 + ], + "'VAR": [ + -1, + 1294 + ], + "'REC": [ + -1, + 1294 + ], + "'WHEN": [ + -1, + 1294 + ], + "'PLUS": [ + -1, + 1294 + ], + "'DASH": [ + -1, + 1294 + ], + "'SLASH": [ + -1, + 1294 + ], + "'LEQ": [ + -1, + 1294 + ], + "'GEQ": [ + -1, + 1294 + ], + "'EQUALEQUAL": [ + -1, + 1294 + ], + "'SPACESHIP": [ + -1, + 1294 + ], + "'EQUALTILDE": [ + -1, + 1294 + ], + "'NEQ": [ + -1, + 1294 + ], + "'AND": [ + -1, + 1294 + ], + "'OR": [ + -1, + 1294 + ], + "'CARET": [ + -1, + 1294 + ], + "'IS": [ + -1, + 1294 + ], + "'ISEQUALEQUAL": [ + -1, + 1294 + ], + "'ISEQUALTILDE": [ + -1, + 1294 + ], + "'ISSPACESHIP": [ + -1, + 1294 + ], + "'ISROUGHLY": [ + -1, + 1294 + ], + "'ISNOT": [ + -1, + 1294 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1294 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1294 + ], + "'ISNOTSPACESHIP": [ + -1, + 1294 + ], + "'RAISES": [ + -1, + 1294 + ], + "'RAISESOTHER": [ + -1, + 1294 + ], + "'SATISFIES": [ + -1, + 1294 + ], + "'SATISFIESNOT": [ + -1, + 1294 + ], + "'RAISESSATISFIES": [ + -1, + 1294 + ], + "'RAISESVIOLATES": [ + -1, + 1294 + ], + "'RAISESNOT": [ + -1, + 1294 + ], + "'DOTDOTDOT": [ + -1, + 1294 + ], + "'NUMBER": [ + -1, + 1294 + ], + "'RATIONAL": [ + -1, + 1294 + ], + "'ROUGHRATIONAL": [ + -1, + 1294 + ], + "'TRUE": [ + -1, + 1294 + ], + "'FALSE": [ + -1, + 1294 + ], + "'LAM": [ + -1, + 1294 + ], + "'METHOD": [ + -1, + 1294 + ], + "'LBRACK": [ + -1, + 1294 + ], + "'RBRACK": [ + -1, + 1294 + ], + "'TABLE": [ + -1, + 1294 + ], + "'ROW": [ + -1, + 1294 + ], + "'REACTOR": [ + -1, + 1294 + ], + "'BANG": [ + -1, + 1294 + ], + "'IF": [ + -1, + 1294 + ], + "'ELSECOLON": [ + -1, + 1294 + ], + "'ELSEIF": [ + -1, + 1294 + ], + "'ASK": [ + -1, + 1294 + ], + "'THENCOLON": [ + -1, + 1294 + ], + "'CASES": [ + -1, + 1294 + ], + "'FOR": [ + -1, + 1294 + ], + "'TABLE-SELECT": [ + -1, + 1294 + ], + "'TABLE-FILTER": [ + -1, + 1294 + ], + "'USING": [ + -1, + 1294 + ], + "'TABLE-ORDER": [ + -1, + 1294 + ], + "'TABLE-EXTRACT": [ + -1, + 1294 + ], + "'TABLE-UPDATE": [ + -1, + 1294 + ], + "'TABLE-EXTEND": [ + -1, + 1294 + ], + "'OF": [ + -1, + 1294 + ], + "'LOAD-TABLE": [ + -1, + 1294 + ], + "'SOURCECOLON": [ + -1, + 1294 + ], + "'SANITIZE": [ + -1, + 1294 + ] + }, + { + "$": [ + -1, + 1296 + ], + "'NAME": [ + -1, + 1296 + ], + "'COLON": [ + -1, + 1296 + ], + "'END": [ + -1, + 1296 + ], + "'COMMA": [ + -1, + 1296 + ], + "'PARENNOSPACE": [ + -1, + 1296 + ], + "'STRING": [ + -1, + 1296 + ], + "'RPAREN": [ + -1, + 1296 + ], + "'TYPE": [ + -1, + 1296 + ], + "'DATA": [ + -1, + 1296 + ], + "'TIMES": [ + -1, + 1296 + ], + "'PARENSPACE": [ + -1, + 1296 + ], + "'DOT": [ + -1, + 1296 + ], + "'SPY": [ + -1, + 1296 + ], + "'NEWTYPE": [ + -1, + 1296 + ], + "'LBRACE": [ + -1, + 1296 + ], + "'RBRACE": [ + -1, + 1296 + ], + "'SEMI": [ + -1, + 1296 + ], + "'SHADOW": [ + -1, + 1296 + ], + "'LET": [ + -1, + 1296 + ], + "'BLOCK": [ + -1, + 1296 + ], + "'LETREC": [ + -1, + 1296 + ], + "'TYPE-LET": [ + -1, + 1296 + ], + "'FUN": [ + -1, + 1296 + ], + "'LANGLE": [ + -1, + 1296 + ], + "'LT": [ + -1, + 1296 + ], + "'GT": [ + -1, + 1296 + ], + "'PARENAFTERBRACE": [ + -1, + 1296 + ], + "'WHERE": [ + -1, + 1296 + ], + "'CHECK": [ + -1, + 1296 + ], + "'EXAMPLES": [ + -1, + 1296 + ], + "'CHECKCOLON": [ + -1, + 1296 + ], + "'EXAMPLESCOLON": [ + -1, + 1296 + ], + "'BECAUSE": [ + -1, + 1296 + ], + "'BAR": [ + -1, + 1296 + ], + "'SHARING": [ + -1, + 1296 + ], + "'VAR": [ + -1, + 1296 + ], + "'REC": [ + -1, + 1296 + ], + "'WHEN": [ + -1, + 1296 + ], + "'PLUS": [ + -1, + 1296 + ], + "'DASH": [ + -1, + 1296 + ], + "'SLASH": [ + -1, + 1296 + ], + "'LEQ": [ + -1, + 1296 + ], + "'GEQ": [ + -1, + 1296 + ], + "'EQUALEQUAL": [ + -1, + 1296 + ], + "'SPACESHIP": [ + -1, + 1296 + ], + "'EQUALTILDE": [ + -1, + 1296 + ], + "'NEQ": [ + -1, + 1296 + ], + "'AND": [ + -1, + 1296 + ], + "'OR": [ + -1, + 1296 + ], + "'CARET": [ + -1, + 1296 + ], + "'IS": [ + -1, + 1296 + ], + "'ISEQUALEQUAL": [ + -1, + 1296 + ], + "'ISEQUALTILDE": [ + -1, + 1296 + ], + "'ISSPACESHIP": [ + -1, + 1296 + ], + "'ISROUGHLY": [ + -1, + 1296 + ], + "'ISNOT": [ + -1, + 1296 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1296 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1296 + ], + "'ISNOTSPACESHIP": [ + -1, + 1296 + ], + "'RAISES": [ + -1, + 1296 + ], + "'RAISESOTHER": [ + -1, + 1296 + ], + "'SATISFIES": [ + -1, + 1296 + ], + "'SATISFIESNOT": [ + -1, + 1296 + ], + "'RAISESSATISFIES": [ + -1, + 1296 + ], + "'RAISESVIOLATES": [ + -1, + 1296 + ], + "'RAISESNOT": [ + -1, + 1296 + ], + "'DOTDOTDOT": [ + -1, + 1296 + ], + "'NUMBER": [ + -1, + 1296 + ], + "'RATIONAL": [ + -1, + 1296 + ], + "'ROUGHRATIONAL": [ + -1, + 1296 + ], + "'TRUE": [ + -1, + 1296 + ], + "'FALSE": [ + -1, + 1296 + ], + "'LAM": [ + -1, + 1296 + ], + "'METHOD": [ + -1, + 1296 + ], + "'LBRACK": [ + -1, + 1296 + ], + "'RBRACK": [ + -1, + 1296 + ], + "'TABLE": [ + -1, + 1296 + ], + "'ROW": [ + -1, + 1296 + ], + "'REACTOR": [ + -1, + 1296 + ], + "'BANG": [ + -1, + 1296 + ], + "'IF": [ + -1, + 1296 + ], + "'ELSECOLON": [ + -1, + 1296 + ], + "'ELSEIF": [ + -1, + 1296 + ], + "'ASK": [ + -1, + 1296 + ], + "'THENCOLON": [ + -1, + 1296 + ], + "'CASES": [ + -1, + 1296 + ], + "'FOR": [ + -1, + 1296 + ], + "'TABLE-SELECT": [ + -1, + 1296 + ], + "'TABLE-FILTER": [ + -1, + 1296 + ], + "'USING": [ + -1, + 1296 + ], + "'TABLE-ORDER": [ + -1, + 1296 + ], + "'TABLE-EXTRACT": [ + -1, + 1296 + ], + "'TABLE-UPDATE": [ + -1, + 1296 + ], + "'TABLE-EXTEND": [ + -1, + 1296 + ], + "'OF": [ + -1, + 1296 + ], + "'LOAD-TABLE": [ + -1, + 1296 + ], + "'SOURCECOLON": [ + -1, + 1296 + ], + "'SANITIZE": [ + -1, + 1296 + ] + }, + { + "'NAME": [ + -1, + 1298 + ], + "'STRING": [ + -1, + 1298 + ], + "'PARENSPACE": [ + -1, + 1298 + ], + "'LBRACE": [ + -1, + 1298 + ], + "'LET": [ + -1, + 1298 + ], + "'BLOCK": [ + -1, + 1298 + ], + "'LETREC": [ + -1, + 1298 + ], + "'TYPE-LET": [ + -1, + 1298 + ], + "'PARENAFTERBRACE": [ + -1, + 1298 + ], + "'DOTDOTDOT": [ + -1, + 1298 + ], + "'NUMBER": [ + -1, + 1298 + ], + "'RATIONAL": [ + -1, + 1298 + ], + "'ROUGHRATIONAL": [ + -1, + 1298 + ], + "'TRUE": [ + -1, + 1298 + ], + "'FALSE": [ + -1, + 1298 + ], + "'LAM": [ + -1, + 1298 + ], + "'METHOD": [ + -1, + 1298 + ], + "'LBRACK": [ + -1, + 1298 + ], + "'TABLE": [ + -1, + 1298 + ], + "'REACTOR": [ + -1, + 1298 + ], + "'IF": [ + -1, + 1298 + ], + "'ASK": [ + -1, + 1298 + ], + "'CASES": [ + -1, + 1298 + ], + "'FOR": [ + -1, + 1298 + ], + "'TABLE-SELECT": [ + -1, + 1298 + ], + "'TABLE-FILTER": [ + -1, + 1298 + ], + "'TABLE-ORDER": [ + -1, + 1298 + ], + "'TABLE-EXTRACT": [ + -1, + 1298 + ], + "'TABLE-UPDATE": [ + -1, + 1298 + ], + "'TABLE-EXTEND": [ + -1, + 1298 + ], + "'LOAD-TABLE": [ + -1, + 1298 + ] + }, + { + "block": [ + 907 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'WHERE": [ + -1, + 8, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "$": [ + -1, + 1300 + ], + "'NAME": [ + -1, + 1300 + ], + "'COLON": [ + -1, + 1300 + ], + "'END": [ + -1, + 1300 + ], + "'COMMA": [ + -1, + 1300 + ], + "'PARENNOSPACE": [ + -1, + 1300 + ], + "'STRING": [ + -1, + 1300 + ], + "'RPAREN": [ + -1, + 1300 + ], + "'TYPE": [ + -1, + 1300 + ], + "'DATA": [ + -1, + 1300 + ], + "'TIMES": [ + -1, + 1300 + ], + "'PARENSPACE": [ + -1, + 1300 + ], + "'DOT": [ + -1, + 1300 + ], + "'SPY": [ + -1, + 1300 + ], + "'NEWTYPE": [ + -1, + 1300 + ], + "'LBRACE": [ + -1, + 1300 + ], + "'RBRACE": [ + -1, + 1300 + ], + "'SEMI": [ + -1, + 1300 + ], + "'SHADOW": [ + -1, + 1300 + ], + "'LET": [ + -1, + 1300 + ], + "'BLOCK": [ + -1, + 1300 + ], + "'LETREC": [ + -1, + 1300 + ], + "'TYPE-LET": [ + -1, + 1300 + ], + "'FUN": [ + -1, + 1300 + ], + "'LANGLE": [ + -1, + 1300 + ], + "'LT": [ + -1, + 1300 + ], + "'GT": [ + -1, + 1300 + ], + "'PARENAFTERBRACE": [ + -1, + 1300 + ], + "'WHERE": [ + -1, + 1300 + ], + "'CHECK": [ + -1, + 1300 + ], + "'EXAMPLES": [ + -1, + 1300 + ], + "'CHECKCOLON": [ + -1, + 1300 + ], + "'EXAMPLESCOLON": [ + -1, + 1300 + ], + "'BECAUSE": [ + -1, + 1300 + ], + "'BAR": [ + -1, + 1300 + ], + "'SHARING": [ + -1, + 1300 + ], + "'VAR": [ + -1, + 1300 + ], + "'REC": [ + -1, + 1300 + ], + "'WHEN": [ + -1, + 1300 + ], + "'PLUS": [ + -1, + 1300 + ], + "'DASH": [ + -1, + 1300 + ], + "'SLASH": [ + -1, + 1300 + ], + "'LEQ": [ + -1, + 1300 + ], + "'GEQ": [ + -1, + 1300 + ], + "'EQUALEQUAL": [ + -1, + 1300 + ], + "'SPACESHIP": [ + -1, + 1300 + ], + "'EQUALTILDE": [ + -1, + 1300 + ], + "'NEQ": [ + -1, + 1300 + ], + "'AND": [ + -1, + 1300 + ], + "'OR": [ + -1, + 1300 + ], + "'CARET": [ + -1, + 1300 + ], + "'IS": [ + -1, + 1300 + ], + "'ISEQUALEQUAL": [ + -1, + 1300 + ], + "'ISEQUALTILDE": [ + -1, + 1300 + ], + "'ISSPACESHIP": [ + -1, + 1300 + ], + "'ISROUGHLY": [ + -1, + 1300 + ], + "'ISNOT": [ + -1, + 1300 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1300 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1300 + ], + "'ISNOTSPACESHIP": [ + -1, + 1300 + ], + "'RAISES": [ + -1, + 1300 + ], + "'RAISESOTHER": [ + -1, + 1300 + ], + "'SATISFIES": [ + -1, + 1300 + ], + "'SATISFIESNOT": [ + -1, + 1300 + ], + "'RAISESSATISFIES": [ + -1, + 1300 + ], + "'RAISESVIOLATES": [ + -1, + 1300 + ], + "'RAISESNOT": [ + -1, + 1300 + ], + "'DOTDOTDOT": [ + -1, + 1300 + ], + "'NUMBER": [ + -1, + 1300 + ], + "'RATIONAL": [ + -1, + 1300 + ], + "'ROUGHRATIONAL": [ + -1, + 1300 + ], + "'TRUE": [ + -1, + 1300 + ], + "'FALSE": [ + -1, + 1300 + ], + "'LAM": [ + -1, + 1300 + ], + "'METHOD": [ + -1, + 1300 + ], + "'LBRACK": [ + -1, + 1300 + ], + "'RBRACK": [ + -1, + 1300 + ], + "'TABLE": [ + -1, + 1300 + ], + "'ROW": [ + -1, + 1300 + ], + "'REACTOR": [ + -1, + 1300 + ], + "'BANG": [ + -1, + 1300 + ], + "'IF": [ + -1, + 1300 + ], + "'ELSECOLON": [ + -1, + 1300 + ], + "'ELSEIF": [ + -1, + 1300 + ], + "'ASK": [ + -1, + 1300 + ], + "'THENCOLON": [ + -1, + 1300 + ], + "'CASES": [ + -1, + 1300 + ], + "'FOR": [ + -1, + 1300 + ], + "'TABLE-SELECT": [ + -1, + 1300 + ], + "'TABLE-FILTER": [ + -1, + 1300 + ], + "'USING": [ + -1, + 1300 + ], + "'TABLE-ORDER": [ + -1, + 1300 + ], + "'TABLE-EXTRACT": [ + -1, + 1300 + ], + "'TABLE-UPDATE": [ + -1, + 1300 + ], + "'TABLE-EXTEND": [ + -1, + 1300 + ], + "'OF": [ + -1, + 1300 + ], + "'LOAD-TABLE": [ + -1, + 1300 + ], + "'SOURCECOLON": [ + -1, + 1300 + ], + "'SANITIZE": [ + -1, + 1300 + ] + }, + { + "'END": [ + -1, + 1302 + ] + }, + { + "'COLON": [ + 908 + ] + }, + { + "'END": [ + -1, + 1304 + ], + "'BAR": [ + -1, + 1304 + ] + }, + { + "'BAR": [ + 909 + ], + "cases-expr_I7?": [ + 910 + ], + "cases-expr_I6": [ + 911 + ], + "cases-branch": [ + 912 + ], + "cases-expr_I7": [ + 913 + ], + "'END": [ + -1, + 1306 + ] + }, + { + "'COMMA": [ + -1, + 1308 + ], + "'RPAREN": [ + -1, + 1308 + ] + }, + { + "'NAME": [ + -1, + 1310 + ], + "'END": [ + -1, + 1310 + ], + "'STRING": [ + -1, + 1310 + ], + "'TYPE": [ + -1, + 1310 + ], + "'DATA": [ + -1, + 1310 + ], + "'PARENSPACE": [ + -1, + 1310 + ], + "'SPY": [ + -1, + 1310 + ], + "'NEWTYPE": [ + -1, + 1310 + ], + "'LBRACE": [ + -1, + 1310 + ], + "'SHADOW": [ + -1, + 1310 + ], + "'LET": [ + -1, + 1310 + ], + "'BLOCK": [ + -1, + 1310 + ], + "'LETREC": [ + -1, + 1310 + ], + "'TYPE-LET": [ + -1, + 1310 + ], + "'FUN": [ + -1, + 1310 + ], + "'PARENAFTERBRACE": [ + -1, + 1310 + ], + "'CHECK": [ + -1, + 1310 + ], + "'EXAMPLES": [ + -1, + 1310 + ], + "'CHECKCOLON": [ + -1, + 1310 + ], + "'EXAMPLESCOLON": [ + -1, + 1310 + ], + "'VAR": [ + -1, + 1310 + ], + "'REC": [ + -1, + 1310 + ], + "'WHEN": [ + -1, + 1310 + ], + "'DOTDOTDOT": [ + -1, + 1310 + ], + "'NUMBER": [ + -1, + 1310 + ], + "'RATIONAL": [ + -1, + 1310 + ], + "'ROUGHRATIONAL": [ + -1, + 1310 + ], + "'TRUE": [ + -1, + 1310 + ], + "'FALSE": [ + -1, + 1310 + ], + "'LAM": [ + -1, + 1310 + ], + "'METHOD": [ + -1, + 1310 + ], + "'LBRACK": [ + -1, + 1310 + ], + "'TABLE": [ + -1, + 1310 + ], + "'REACTOR": [ + -1, + 1310 + ], + "'IF": [ + -1, + 1310 + ], + "'ASK": [ + -1, + 1310 + ], + "'CASES": [ + -1, + 1310 + ], + "'FOR": [ + -1, + 1310 + ], + "'TABLE-SELECT": [ + -1, + 1310 + ], + "'TABLE-FILTER": [ + -1, + 1310 + ], + "'TABLE-ORDER": [ + -1, + 1310 + ], + "'TABLE-EXTRACT": [ + -1, + 1310 + ], + "'TABLE-UPDATE": [ + -1, + 1310 + ], + "'TABLE-EXTEND": [ + -1, + 1310 + ], + "'LOAD-TABLE": [ + -1, + 1310 + ] + }, + { + "'NAME": [ + -1, + 1312 + ], + "'END": [ + -1, + 1312 + ], + "'STRING": [ + -1, + 1312 + ], + "'TYPE": [ + -1, + 1312 + ], + "'DATA": [ + -1, + 1312 + ], + "'PARENSPACE": [ + -1, + 1312 + ], + "'SPY": [ + -1, + 1312 + ], + "'NEWTYPE": [ + -1, + 1312 + ], + "'LBRACE": [ + -1, + 1312 + ], + "'SHADOW": [ + -1, + 1312 + ], + "'LET": [ + -1, + 1312 + ], + "'BLOCK": [ + -1, + 1312 + ], + "'LETREC": [ + -1, + 1312 + ], + "'TYPE-LET": [ + -1, + 1312 + ], + "'FUN": [ + -1, + 1312 + ], + "'PARENAFTERBRACE": [ + -1, + 1312 + ], + "'CHECK": [ + -1, + 1312 + ], + "'EXAMPLES": [ + -1, + 1312 + ], + "'CHECKCOLON": [ + -1, + 1312 + ], + "'EXAMPLESCOLON": [ + -1, + 1312 + ], + "'VAR": [ + -1, + 1312 + ], + "'REC": [ + -1, + 1312 + ], + "'WHEN": [ + -1, + 1312 + ], + "'DOTDOTDOT": [ + -1, + 1312 + ], + "'NUMBER": [ + -1, + 1312 + ], + "'RATIONAL": [ + -1, + 1312 + ], + "'ROUGHRATIONAL": [ + -1, + 1312 + ], + "'TRUE": [ + -1, + 1312 + ], + "'FALSE": [ + -1, + 1312 + ], + "'LAM": [ + -1, + 1312 + ], + "'METHOD": [ + -1, + 1312 + ], + "'LBRACK": [ + -1, + 1312 + ], + "'TABLE": [ + -1, + 1312 + ], + "'REACTOR": [ + -1, + 1312 + ], + "'IF": [ + -1, + 1312 + ], + "'ASK": [ + -1, + 1312 + ], + "'CASES": [ + -1, + 1312 + ], + "'FOR": [ + -1, + 1312 + ], + "'TABLE-SELECT": [ + -1, + 1312 + ], + "'TABLE-FILTER": [ + -1, + 1312 + ], + "'TABLE-ORDER": [ + -1, + 1312 + ], + "'TABLE-EXTRACT": [ + -1, + 1312 + ], + "'TABLE-UPDATE": [ + -1, + 1312 + ], + "'TABLE-EXTEND": [ + -1, + 1312 + ], + "'LOAD-TABLE": [ + -1, + 1312 + ] + }, + { + "block": [ + 914 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'COLON": [ + -1, + 1314 + ], + "'COMMA": [ + -1, + 1314 + ] + }, + { + "'END": [ + -1, + 1316 + ], + "'COMMA": [ + -1, + 1316 + ] + }, + { + "'COLON": [ + -1, + 1318 + ], + "'COMMA": [ + -1, + 1318 + ] + }, + { + "'COLON": [ + -1, + 1320 + ], + "'COMMA": [ + -1, + 1320 + ] + }, + { + "'NAME": [ + 324 + ], + "'PARENNOSPACE": [ + 325 + ], + "record-ann": [ + 326 + ], + "'PARENSPACE": [ + 327 + ], + "ann": [ + 915 + ], + "'LBRACE": [ + 329 + ], + "'PARENAFTERBRACE": [ + 330 + ], + "name-ann": [ + 331 + ], + "arrow-ann": [ + 332 + ], + "app-ann": [ + 333 + ], + "pred-ann": [ + 334 + ], + "dot-ann": [ + 335 + ], + "tuple-ann": [ + 336 + ], + "arrow-ann_I0": [ + 337 + ], + "app-ann_I0": [ + 338 + ] + }, + { + "'COLON": [ + 916 + ] + }, + { + "'COLON": [ + -1, + 1322 + ] + }, + { + "'COLON": [ + 917 + ] + }, + { + "'COLON": [ + -1, + 1324 + ] + }, + { + "'NAME": [ + -1, + 1326 + ], + "'END": [ + -1, + 1328 + ] + }, + { + "'END": [ + -1, + 1330 + ] + }, + { + "'END": [ + -1, + 1332 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 918 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'END": [ + -1, + 1334 + ] + }, + { + "'END": [ + -1, + 1336 + ], + "'COMMA": [ + -1, + 1336 + ] + }, + { + "module-ref": [ + 247 + ], + "include-spec": [ + 919 + ], + "include-name-spec": [ + 702 + ], + "include-type-spec": [ + 703 + ], + "include-data-spec": [ + 704 + ], + "include-module-spec": [ + 705 + ], + "name-spec": [ + 706 + ], + "'TYPE": [ + 707 + ], + "'DATA": [ + 708 + ], + "'MODULE": [ + 709 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 1338 + ] + }, + { + "'END": [ + -1, + 1340 + ] + }, + { + "'END": [ + -1, + 1342 + ], + "'COMMA": [ + -1, + 1342 + ] + }, + { + "'END": [ + -1, + 1344 + ], + "'COMMA": [ + -1, + 1344 + ] + }, + { + "'END": [ + -1, + 1346 + ], + "'COMMA": [ + -1, + 1346 + ] + }, + { + "module-ref": [ + 247 + ], + "name-spec": [ + 248 + ], + "'TYPE": [ + 249 + ], + "'DATA": [ + 250 + ], + "'MODULE": [ + 251 + ], + "'STAR": [ + 252 + ], + "'TIMES": [ + 253 + ], + "provide-spec": [ + 920 + ], + "provide-name-spec": [ + 257 + ], + "provide-type-spec": [ + 258 + ], + "provide-data-spec": [ + 259 + ], + "provide-module-spec": [ + 260 + ], + "name-spec_A0_I0": [ + 261 + ], + "module-ref_I0*": [ + 262 + ], + "'NAME": [ + -1, + 208 + ], + "'END": [ + -1, + 1348 + ] + }, + { + "'END": [ + -1, + 1350 + ] + }, + { + "'END": [ + -1, + 1352 + ], + "'COMMA": [ + -1, + 1352 + ] + }, + { + "'END": [ + -1, + 1354 + ] + }, + { + "'NAME": [ + -1, + 1356 + ] + }, + { + "'END": [ + -1, + 1358 + ], + "'WHERE": [ + -1, + 1358 + ], + "'BAR": [ + -1, + 1358 + ], + "'WITH": [ + -1, + 1358 + ], + "'SHARING": [ + -1, + 1358 + ] + }, + { + "'COMMA": [ + 921 + ], + "variant-members_I1_I1": [ + 922 + ], + "'RPAREN": [ + -1, + 1360 + ] + }, + { + "'COMMA": [ + -1, + 1362 + ], + "'RPAREN": [ + -1, + 1362 + ] + }, + { + "'END": [ + 923 + ] + }, + { + "'PARENNOSPACE": [ + 728 + ], + "variant-members": [ + 729 + ], + "data-with": [ + 924 + ], + "data-with_I0?": [ + 731 + ], + "data-with_I0": [ + 732 + ], + "'WITH": [ + 733 + ], + "'END": [ + -1, + 1364, + 892, + 894 + ], + "'WHERE": [ + -1, + 1364, + 892, + 894 + ], + "'BAR": [ + -1, + 1364, + 892, + 894 + ], + "'SHARING": [ + -1, + 1364, + 892, + 894 + ] + }, + { + "data-with": [ + 925 + ], + "data-with_I0?": [ + 731 + ], + "data-with_I0": [ + 732 + ], + "'WITH": [ + 733 + ], + "'END": [ + -1, + 1366, + 892, + 894 + ], + "'WHERE": [ + -1, + 1366, + 892, + 894 + ], + "'BAR": [ + -1, + 1366, + 892, + 894 + ], + "'SHARING": [ + -1, + 1366, + 892, + 894 + ] + }, + { + "'END": [ + -1, + 1368 + ], + "'WHERE": [ + -1, + 1368 + ] + }, + { + "'END": [ + 926 + ] + }, + { + "$": [ + -1, + 1370 + ], + "'NAME": [ + -1, + 1370 + ], + "'END": [ + -1, + 1370 + ], + "'STRING": [ + -1, + 1370 + ], + "'TYPE": [ + -1, + 1370 + ], + "'DATA": [ + -1, + 1370 + ], + "'PARENSPACE": [ + -1, + 1370 + ], + "'SPY": [ + -1, + 1370 + ], + "'NEWTYPE": [ + -1, + 1370 + ], + "'LBRACE": [ + -1, + 1370 + ], + "'RBRACE": [ + -1, + 1370 + ], + "'SHADOW": [ + -1, + 1370 + ], + "'LET": [ + -1, + 1370 + ], + "'BLOCK": [ + -1, + 1370 + ], + "'LETREC": [ + -1, + 1370 + ], + "'TYPE-LET": [ + -1, + 1370 + ], + "'FUN": [ + -1, + 1370 + ], + "'PARENAFTERBRACE": [ + -1, + 1370 + ], + "'WHERE": [ + -1, + 1370 + ], + "'CHECK": [ + -1, + 1370 + ], + "'EXAMPLES": [ + -1, + 1370 + ], + "'CHECKCOLON": [ + -1, + 1370 + ], + "'EXAMPLESCOLON": [ + -1, + 1370 + ], + "'BAR": [ + -1, + 1370 + ], + "'VAR": [ + -1, + 1370 + ], + "'REC": [ + -1, + 1370 + ], + "'WHEN": [ + -1, + 1370 + ], + "'DOTDOTDOT": [ + -1, + 1370 + ], + "'NUMBER": [ + -1, + 1370 + ], + "'RATIONAL": [ + -1, + 1370 + ], + "'ROUGHRATIONAL": [ + -1, + 1370 + ], + "'TRUE": [ + -1, + 1370 + ], + "'FALSE": [ + -1, + 1370 + ], + "'LAM": [ + -1, + 1370 + ], + "'METHOD": [ + -1, + 1370 + ], + "'LBRACK": [ + -1, + 1370 + ], + "'TABLE": [ + -1, + 1370 + ], + "'REACTOR": [ + -1, + 1370 + ], + "'IF": [ + -1, + 1370 + ], + "'ELSECOLON": [ + -1, + 1370 + ], + "'ELSEIF": [ + -1, + 1370 + ], + "'ASK": [ + -1, + 1370 + ], + "'CASES": [ + -1, + 1370 + ], + "'FOR": [ + -1, + 1370 + ], + "'TABLE-SELECT": [ + -1, + 1370 + ], + "'TABLE-FILTER": [ + -1, + 1370 + ], + "'TABLE-ORDER": [ + -1, + 1370 + ], + "'TABLE-EXTRACT": [ + -1, + 1370 + ], + "'TABLE-UPDATE": [ + -1, + 1370 + ], + "'TABLE-EXTEND": [ + -1, + 1370 + ], + "'LOAD-TABLE": [ + -1, + 1370 + ] + }, + { + "'COMMA": [ + -1, + 1372 + ], + "'RPAREN": [ + -1, + 1372 + ] + }, + { + "where-clause": [ + 927 + ], + "where-clause_I0?": [ + 749 + ], + "where-clause_I0": [ + 750 + ], + "'WHERE": [ + 751 + ], + "'END": [ + -1, + 928, + 930 + ] + }, + { + "block": [ + 928 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1374, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ELSECOLON": [ + -1, + 1374, + 8, + 10 + ], + "'ELSEIF": [ + -1, + 1374, + 8, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + 929 + ], + "'ELSE": [ + 930 + ] + }, + { + "'END": [ + 931 + ] + }, + { + "'END": [ + -1, + 1376 + ], + "'BAR": [ + -1, + 1376 + ] + }, + { + "'END": [ + -1, + 1378 + ], + "'BAR": [ + -1, + 1378 + ] + }, + { + "'END": [ + -1, + 1380 + ] + }, + { + "'END": [ + 932 + ] + }, + { + "'PERCENT": [ + 516 + ], + "'COLON": [ + -1, + 1382, + 1384 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "binop-expr": [ + 933 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 61 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'NAME": [ + 139 + ], + "'STRING": [ + 12 + ], + "'PARENSPACE": [ + 16 + ], + "id-expr": [ + 33 + ], + "'LBRACE": [ + 143 + ], + "multi-let-expr": [ + 43 + ], + "'LET": [ + 44 + ], + "'BLOCK": [ + 45 + ], + "letrec-expr": [ + 46 + ], + "'LETREC": [ + 47 + ], + "type-let-expr": [ + 48 + ], + "'TYPE-LET": [ + 49 + ], + "'PARENAFTERBRACE": [ + 51 + ], + "expr": [ + 934 + ], + "paren-expr": [ + 62 + ], + "prim-expr": [ + 63 + ], + "lambda-expr": [ + 64 + ], + "method-expr": [ + 65 + ], + "app-expr": [ + 66 + ], + "obj-expr": [ + 67 + ], + "tuple-expr": [ + 68 + ], + "tuple-get": [ + 69 + ], + "dot-expr": [ + 70 + ], + "template-expr": [ + 71 + ], + "bracket-expr": [ + 72 + ], + "get-bang-expr": [ + 73 + ], + "update-expr": [ + 74 + ], + "extend-expr": [ + 75 + ], + "if-expr": [ + 76 + ], + "if-pipe-expr": [ + 77 + ], + "cases-expr": [ + 78 + ], + "for-expr": [ + 79 + ], + "user-block-expr": [ + 80 + ], + "inst-expr": [ + 81 + ], + "construct-expr": [ + 82 + ], + "table-select": [ + 83 + ], + "table-extend": [ + 84 + ], + "table-filter": [ + 85 + ], + "table-order": [ + 86 + ], + "table-extract": [ + 87 + ], + "table-update": [ + 88 + ], + "table-expr": [ + 89 + ], + "load-table-expr": [ + 90 + ], + "reactor-expr": [ + 91 + ], + "'DOTDOTDOT": [ + 92 + ], + "paren-expr_I0": [ + 93 + ], + "num-expr": [ + 94 + ], + "frac-expr": [ + 95 + ], + "rfrac-expr": [ + 96 + ], + "bool-expr": [ + 97 + ], + "string-expr": [ + 98 + ], + "'NUMBER": [ + 99 + ], + "'RATIONAL": [ + 100 + ], + "'ROUGHRATIONAL": [ + 101 + ], + "'TRUE": [ + 102 + ], + "'FALSE": [ + 103 + ], + "'LAM": [ + 104 + ], + "'METHOD": [ + 105 + ], + "'LBRACK": [ + 106 + ], + "'TABLE": [ + 107 + ], + "'REACTOR": [ + 108 + ], + "'IF": [ + 109 + ], + "'ASK": [ + 110 + ], + "'CASES": [ + 111 + ], + "'FOR": [ + 112 + ], + "'TABLE-SELECT": [ + 113 + ], + "'TABLE-FILTER": [ + 114 + ], + "'TABLE-ORDER": [ + 115 + ], + "'TABLE-EXTRACT": [ + 116 + ], + "'TABLE-UPDATE": [ + 117 + ], + "'TABLE-EXTEND": [ + 118 + ], + "'LOAD-TABLE": [ + 119 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "'END": [ + -1, + 1386 + ], + "'SOURCECOLON": [ + -1, + 1386 + ], + "'SANITIZE": [ + -1, + 1386 + ] + }, + { + "'END": [ + -1, + 1388 + ], + "'COMMA": [ + -1, + 1388 + ] + }, + { + "'END": [ + -1, + 1390 + ], + "'COMMA": [ + -1, + 1390 + ] + }, + { + "variant-member": [ + 935 + ], + "variant-member_I0?": [ + 833 + ], + "variant-member_I0": [ + 834 + ], + "'REF": [ + 835 + ], + "'NAME": [ + -1, + 1080 + ], + "'LBRACE": [ + -1, + 1080 + ], + "'SHADOW": [ + -1, + 1080 + ] + }, + { + "'COMMA": [ + -1, + 1392 + ], + "'RPAREN": [ + -1, + 1392 + ] + }, + { + "$": [ + -1, + 1394 + ], + "'NAME": [ + -1, + 1394 + ], + "'END": [ + -1, + 1394 + ], + "'STRING": [ + -1, + 1394 + ], + "'TYPE": [ + -1, + 1394 + ], + "'DATA": [ + -1, + 1394 + ], + "'PARENSPACE": [ + -1, + 1394 + ], + "'SPY": [ + -1, + 1394 + ], + "'NEWTYPE": [ + -1, + 1394 + ], + "'LBRACE": [ + -1, + 1394 + ], + "'RBRACE": [ + -1, + 1394 + ], + "'SHADOW": [ + -1, + 1394 + ], + "'LET": [ + -1, + 1394 + ], + "'BLOCK": [ + -1, + 1394 + ], + "'LETREC": [ + -1, + 1394 + ], + "'TYPE-LET": [ + -1, + 1394 + ], + "'FUN": [ + -1, + 1394 + ], + "'PARENAFTERBRACE": [ + -1, + 1394 + ], + "'WHERE": [ + -1, + 1394 + ], + "'CHECK": [ + -1, + 1394 + ], + "'EXAMPLES": [ + -1, + 1394 + ], + "'CHECKCOLON": [ + -1, + 1394 + ], + "'EXAMPLESCOLON": [ + -1, + 1394 + ], + "'BAR": [ + -1, + 1394 + ], + "'VAR": [ + -1, + 1394 + ], + "'REC": [ + -1, + 1394 + ], + "'WHEN": [ + -1, + 1394 + ], + "'DOTDOTDOT": [ + -1, + 1394 + ], + "'NUMBER": [ + -1, + 1394 + ], + "'RATIONAL": [ + -1, + 1394 + ], + "'ROUGHRATIONAL": [ + -1, + 1394 + ], + "'TRUE": [ + -1, + 1394 + ], + "'FALSE": [ + -1, + 1394 + ], + "'LAM": [ + -1, + 1394 + ], + "'METHOD": [ + -1, + 1394 + ], + "'LBRACK": [ + -1, + 1394 + ], + "'TABLE": [ + -1, + 1394 + ], + "'REACTOR": [ + -1, + 1394 + ], + "'IF": [ + -1, + 1394 + ], + "'ELSECOLON": [ + -1, + 1394 + ], + "'ELSEIF": [ + -1, + 1394 + ], + "'ASK": [ + -1, + 1394 + ], + "'CASES": [ + -1, + 1394 + ], + "'FOR": [ + -1, + 1394 + ], + "'TABLE-SELECT": [ + -1, + 1394 + ], + "'TABLE-FILTER": [ + -1, + 1394 + ], + "'TABLE-ORDER": [ + -1, + 1394 + ], + "'TABLE-EXTRACT": [ + -1, + 1394 + ], + "'TABLE-UPDATE": [ + -1, + 1394 + ], + "'TABLE-EXTEND": [ + -1, + 1394 + ], + "'LOAD-TABLE": [ + -1, + 1394 + ] + }, + { + "'END": [ + -1, + 1396 + ], + "'WHERE": [ + -1, + 1396 + ], + "'BAR": [ + -1, + 1396 + ], + "'SHARING": [ + -1, + 1396 + ] + }, + { + "'END": [ + -1, + 1398 + ], + "'WHERE": [ + -1, + 1398 + ], + "'BAR": [ + -1, + 1398 + ], + "'SHARING": [ + -1, + 1398 + ] + }, + { + "'END": [ + -1, + 1400 + ], + "'COMMA": [ + -1, + 1400 + ], + "'RBRACE": [ + -1, + 1400 + ] + }, + { + "'END": [ + 936 + ] + }, + { + "'END": [ + -1, + 1402 + ], + "'ELSECOLON": [ + -1, + 1402 + ], + "'ELSEIF": [ + -1, + 1402 + ] + }, + { + "'PARENNOSPACE": [ + 937 + ], + "cases-args": [ + 938 + ], + "cases-branch_I2?": [ + 939 + ], + "cases-branch_I2": [ + 940 + ], + "'THICKARROW": [ + -1, + 1404 + ] + }, + { + "'THICKARROW": [ + 941 + ] + }, + { + "$": [ + -1, + 1406 + ], + "'NAME": [ + -1, + 1406 + ], + "'COLON": [ + -1, + 1406 + ], + "'END": [ + -1, + 1406 + ], + "'COMMA": [ + -1, + 1406 + ], + "'PARENNOSPACE": [ + -1, + 1406 + ], + "'STRING": [ + -1, + 1406 + ], + "'RPAREN": [ + -1, + 1406 + ], + "'TYPE": [ + -1, + 1406 + ], + "'DATA": [ + -1, + 1406 + ], + "'TIMES": [ + -1, + 1406 + ], + "'PARENSPACE": [ + -1, + 1406 + ], + "'DOT": [ + -1, + 1406 + ], + "'SPY": [ + -1, + 1406 + ], + "'NEWTYPE": [ + -1, + 1406 + ], + "'LBRACE": [ + -1, + 1406 + ], + "'RBRACE": [ + -1, + 1406 + ], + "'SEMI": [ + -1, + 1406 + ], + "'SHADOW": [ + -1, + 1406 + ], + "'LET": [ + -1, + 1406 + ], + "'BLOCK": [ + -1, + 1406 + ], + "'LETREC": [ + -1, + 1406 + ], + "'TYPE-LET": [ + -1, + 1406 + ], + "'FUN": [ + -1, + 1406 + ], + "'LANGLE": [ + -1, + 1406 + ], + "'LT": [ + -1, + 1406 + ], + "'GT": [ + -1, + 1406 + ], + "'PARENAFTERBRACE": [ + -1, + 1406 + ], + "'WHERE": [ + -1, + 1406 + ], + "'CHECK": [ + -1, + 1406 + ], + "'EXAMPLES": [ + -1, + 1406 + ], + "'CHECKCOLON": [ + -1, + 1406 + ], + "'EXAMPLESCOLON": [ + -1, + 1406 + ], + "'BECAUSE": [ + -1, + 1406 + ], + "'BAR": [ + -1, + 1406 + ], + "'SHARING": [ + -1, + 1406 + ], + "'VAR": [ + -1, + 1406 + ], + "'REC": [ + -1, + 1406 + ], + "'WHEN": [ + -1, + 1406 + ], + "'PLUS": [ + -1, + 1406 + ], + "'DASH": [ + -1, + 1406 + ], + "'SLASH": [ + -1, + 1406 + ], + "'LEQ": [ + -1, + 1406 + ], + "'GEQ": [ + -1, + 1406 + ], + "'EQUALEQUAL": [ + -1, + 1406 + ], + "'SPACESHIP": [ + -1, + 1406 + ], + "'EQUALTILDE": [ + -1, + 1406 + ], + "'NEQ": [ + -1, + 1406 + ], + "'AND": [ + -1, + 1406 + ], + "'OR": [ + -1, + 1406 + ], + "'CARET": [ + -1, + 1406 + ], + "'IS": [ + -1, + 1406 + ], + "'ISEQUALEQUAL": [ + -1, + 1406 + ], + "'ISEQUALTILDE": [ + -1, + 1406 + ], + "'ISSPACESHIP": [ + -1, + 1406 + ], + "'ISROUGHLY": [ + -1, + 1406 + ], + "'ISNOT": [ + -1, + 1406 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1406 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1406 + ], + "'ISNOTSPACESHIP": [ + -1, + 1406 + ], + "'RAISES": [ + -1, + 1406 + ], + "'RAISESOTHER": [ + -1, + 1406 + ], + "'SATISFIES": [ + -1, + 1406 + ], + "'SATISFIESNOT": [ + -1, + 1406 + ], + "'RAISESSATISFIES": [ + -1, + 1406 + ], + "'RAISESVIOLATES": [ + -1, + 1406 + ], + "'RAISESNOT": [ + -1, + 1406 + ], + "'DOTDOTDOT": [ + -1, + 1406 + ], + "'NUMBER": [ + -1, + 1406 + ], + "'RATIONAL": [ + -1, + 1406 + ], + "'ROUGHRATIONAL": [ + -1, + 1406 + ], + "'TRUE": [ + -1, + 1406 + ], + "'FALSE": [ + -1, + 1406 + ], + "'LAM": [ + -1, + 1406 + ], + "'METHOD": [ + -1, + 1406 + ], + "'LBRACK": [ + -1, + 1406 + ], + "'RBRACK": [ + -1, + 1406 + ], + "'TABLE": [ + -1, + 1406 + ], + "'ROW": [ + -1, + 1406 + ], + "'REACTOR": [ + -1, + 1406 + ], + "'BANG": [ + -1, + 1406 + ], + "'IF": [ + -1, + 1406 + ], + "'ELSECOLON": [ + -1, + 1406 + ], + "'ELSEIF": [ + -1, + 1406 + ], + "'ASK": [ + -1, + 1406 + ], + "'THENCOLON": [ + -1, + 1406 + ], + "'CASES": [ + -1, + 1406 + ], + "'FOR": [ + -1, + 1406 + ], + "'TABLE-SELECT": [ + -1, + 1406 + ], + "'TABLE-FILTER": [ + -1, + 1406 + ], + "'USING": [ + -1, + 1406 + ], + "'TABLE-ORDER": [ + -1, + 1406 + ], + "'TABLE-EXTRACT": [ + -1, + 1406 + ], + "'TABLE-UPDATE": [ + -1, + 1406 + ], + "'TABLE-EXTEND": [ + -1, + 1406 + ], + "'OF": [ + -1, + 1406 + ], + "'LOAD-TABLE": [ + -1, + 1406 + ], + "'SOURCECOLON": [ + -1, + 1406 + ], + "'SANITIZE": [ + -1, + 1406 + ] + }, + { + "$": [ + -1, + 1408 + ], + "'NAME": [ + -1, + 1408 + ], + "'COLON": [ + -1, + 1408 + ], + "'END": [ + -1, + 1408 + ], + "'COMMA": [ + -1, + 1408 + ], + "'PARENNOSPACE": [ + -1, + 1408 + ], + "'STRING": [ + -1, + 1408 + ], + "'RPAREN": [ + -1, + 1408 + ], + "'TYPE": [ + -1, + 1408 + ], + "'DATA": [ + -1, + 1408 + ], + "'TIMES": [ + -1, + 1408 + ], + "'PARENSPACE": [ + -1, + 1408 + ], + "'DOT": [ + -1, + 1408 + ], + "'SPY": [ + -1, + 1408 + ], + "'NEWTYPE": [ + -1, + 1408 + ], + "'LBRACE": [ + -1, + 1408 + ], + "'RBRACE": [ + -1, + 1408 + ], + "'SEMI": [ + -1, + 1408 + ], + "'SHADOW": [ + -1, + 1408 + ], + "'LET": [ + -1, + 1408 + ], + "'BLOCK": [ + -1, + 1408 + ], + "'LETREC": [ + -1, + 1408 + ], + "'TYPE-LET": [ + -1, + 1408 + ], + "'FUN": [ + -1, + 1408 + ], + "'LANGLE": [ + -1, + 1408 + ], + "'LT": [ + -1, + 1408 + ], + "'GT": [ + -1, + 1408 + ], + "'PARENAFTERBRACE": [ + -1, + 1408 + ], + "'WHERE": [ + -1, + 1408 + ], + "'CHECK": [ + -1, + 1408 + ], + "'EXAMPLES": [ + -1, + 1408 + ], + "'CHECKCOLON": [ + -1, + 1408 + ], + "'EXAMPLESCOLON": [ + -1, + 1408 + ], + "'BECAUSE": [ + -1, + 1408 + ], + "'BAR": [ + -1, + 1408 + ], + "'SHARING": [ + -1, + 1408 + ], + "'VAR": [ + -1, + 1408 + ], + "'REC": [ + -1, + 1408 + ], + "'WHEN": [ + -1, + 1408 + ], + "'PLUS": [ + -1, + 1408 + ], + "'DASH": [ + -1, + 1408 + ], + "'SLASH": [ + -1, + 1408 + ], + "'LEQ": [ + -1, + 1408 + ], + "'GEQ": [ + -1, + 1408 + ], + "'EQUALEQUAL": [ + -1, + 1408 + ], + "'SPACESHIP": [ + -1, + 1408 + ], + "'EQUALTILDE": [ + -1, + 1408 + ], + "'NEQ": [ + -1, + 1408 + ], + "'AND": [ + -1, + 1408 + ], + "'OR": [ + -1, + 1408 + ], + "'CARET": [ + -1, + 1408 + ], + "'IS": [ + -1, + 1408 + ], + "'ISEQUALEQUAL": [ + -1, + 1408 + ], + "'ISEQUALTILDE": [ + -1, + 1408 + ], + "'ISSPACESHIP": [ + -1, + 1408 + ], + "'ISROUGHLY": [ + -1, + 1408 + ], + "'ISNOT": [ + -1, + 1408 + ], + "'ISNOTEQUALEQUAL": [ + -1, + 1408 + ], + "'ISNOTEQUALTILDE": [ + -1, + 1408 + ], + "'ISNOTSPACESHIP": [ + -1, + 1408 + ], + "'RAISES": [ + -1, + 1408 + ], + "'RAISESOTHER": [ + -1, + 1408 + ], + "'SATISFIES": [ + -1, + 1408 + ], + "'SATISFIESNOT": [ + -1, + 1408 + ], + "'RAISESSATISFIES": [ + -1, + 1408 + ], + "'RAISESVIOLATES": [ + -1, + 1408 + ], + "'RAISESNOT": [ + -1, + 1408 + ], + "'DOTDOTDOT": [ + -1, + 1408 + ], + "'NUMBER": [ + -1, + 1408 + ], + "'RATIONAL": [ + -1, + 1408 + ], + "'ROUGHRATIONAL": [ + -1, + 1408 + ], + "'TRUE": [ + -1, + 1408 + ], + "'FALSE": [ + -1, + 1408 + ], + "'LAM": [ + -1, + 1408 + ], + "'METHOD": [ + -1, + 1408 + ], + "'LBRACK": [ + -1, + 1408 + ], + "'RBRACK": [ + -1, + 1408 + ], + "'TABLE": [ + -1, + 1408 + ], + "'ROW": [ + -1, + 1408 + ], + "'REACTOR": [ + -1, + 1408 + ], + "'BANG": [ + -1, + 1408 + ], + "'IF": [ + -1, + 1408 + ], + "'ELSECOLON": [ + -1, + 1408 + ], + "'ELSEIF": [ + -1, + 1408 + ], + "'ASK": [ + -1, + 1408 + ], + "'THENCOLON": [ + -1, + 1408 + ], + "'CASES": [ + -1, + 1408 + ], + "'FOR": [ + -1, + 1408 + ], + "'TABLE-SELECT": [ + -1, + 1408 + ], + "'TABLE-FILTER": [ + -1, + 1408 + ], + "'USING": [ + -1, + 1408 + ], + "'TABLE-ORDER": [ + -1, + 1408 + ], + "'TABLE-EXTRACT": [ + -1, + 1408 + ], + "'TABLE-UPDATE": [ + -1, + 1408 + ], + "'TABLE-EXTEND": [ + -1, + 1408 + ], + "'OF": [ + -1, + 1408 + ], + "'LOAD-TABLE": [ + -1, + 1408 + ], + "'SOURCECOLON": [ + -1, + 1408 + ], + "'SANITIZE": [ + -1, + 1408 + ] + }, + { + "'END": [ + -1, + 1410 + ], + "'COMMA": [ + -1, + 1410 + ] + }, + { + "'PARENNOSPACE": [ + 199 + ], + "'PARENSPACE": [ + 200 + ], + "'DOT": [ + 201 + ], + "'LANGLE": [ + 202 + ], + "app-args": [ + 204 + ], + "'LBRACK": [ + 205 + ], + "'BANG": [ + 206 + ], + "'OF": [ + 942 + ] + }, + { + "'COMMA": [ + -1, + 1412 + ], + "'RPAREN": [ + -1, + 1412 + ] + }, + { + "'END": [ + -1, + 1414 + ], + "'COMMA": [ + -1, + 1414 + ], + "'RBRACE": [ + -1, + 1414 + ], + "'WHERE": [ + -1, + 1414 + ], + "'BAR": [ + -1, + 1414 + ], + "'SHARING": [ + -1, + 1414 + ] + }, + { + "'REF": [ + 943 + ], + "cases-binding": [ + 944 + ], + "cases-binding_I0?": [ + 945 + ], + "cases-binding_I0": [ + 946 + ], + "cases-args_I1?": [ + 947 + ], + "cases-args_I1": [ + 948 + ], + "'NAME": [ + -1, + 1416 + ], + "'RPAREN": [ + -1, + 1418 + ], + "'LBRACE": [ + -1, + 1416 + ], + "'SHADOW": [ + -1, + 1416 + ] + }, + { + "'THICKARROW": [ + -1, + 1420 + ] + }, + { + "'THICKARROW": [ + 949 + ] + }, + { + "'THICKARROW": [ + -1, + 1422 + ] + }, + { + "block": [ + 950 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1424, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'NAME": [ + 951 + ] + }, + { + "'NAME": [ + -1, + 1426 + ], + "'LBRACE": [ + -1, + 1426 + ], + "'SHADOW": [ + -1, + 1426 + ] + }, + { + "cases-args_I1_I1*": [ + 952 + ], + "'COMMA": [ + -1, + 1428 + ], + "'RPAREN": [ + -1, + 1430, + 1428 + ] + }, + { + "binding": [ + 953 + ], + "name-binding": [ + 37 + ], + "tuple-binding": [ + 38 + ], + "'LBRACE": [ + 184 + ], + "name-binding_I0?": [ + 40 + ], + "name-binding_I0": [ + 41 + ], + "'SHADOW": [ + 42 + ], + "'NAME": [ + -1, + 22 + ] + }, + { + "'NAME": [ + -1, + 1432 + ], + "'LBRACE": [ + -1, + 1432 + ], + "'SHADOW": [ + -1, + 1432 + ] + }, + { + "'RPAREN": [ + 954 + ] + }, + { + "'RPAREN": [ + -1, + 1434 + ] + }, + { + "block": [ + 955 + ], + "block_I0*": [ + 8 + ], + "'NAME": [ + -1, + 10 + ], + "'END": [ + -1, + 1436, + 8, + 10 + ], + "'STRING": [ + -1, + 10 + ], + "'TYPE": [ + -1, + 10 + ], + "'DATA": [ + -1, + 10 + ], + "'PARENSPACE": [ + -1, + 10 + ], + "'SPY": [ + -1, + 10 + ], + "'NEWTYPE": [ + -1, + 10 + ], + "'LBRACE": [ + -1, + 10 + ], + "'SHADOW": [ + -1, + 10 + ], + "'LET": [ + -1, + 10 + ], + "'BLOCK": [ + -1, + 10 + ], + "'LETREC": [ + -1, + 10 + ], + "'TYPE-LET": [ + -1, + 10 + ], + "'FUN": [ + -1, + 10 + ], + "'PARENAFTERBRACE": [ + -1, + 10 + ], + "'CHECK": [ + -1, + 10 + ], + "'EXAMPLES": [ + -1, + 10 + ], + "'CHECKCOLON": [ + -1, + 10 + ], + "'EXAMPLESCOLON": [ + -1, + 10 + ], + "'BAR": [ + -1, + 1436, + 8, + 10 + ], + "'VAR": [ + -1, + 10 + ], + "'REC": [ + -1, + 10 + ], + "'WHEN": [ + -1, + 10 + ], + "'DOTDOTDOT": [ + -1, + 10 + ], + "'NUMBER": [ + -1, + 10 + ], + "'RATIONAL": [ + -1, + 10 + ], + "'ROUGHRATIONAL": [ + -1, + 10 + ], + "'TRUE": [ + -1, + 10 + ], + "'FALSE": [ + -1, + 10 + ], + "'LAM": [ + -1, + 10 + ], + "'METHOD": [ + -1, + 10 + ], + "'LBRACK": [ + -1, + 10 + ], + "'TABLE": [ + -1, + 10 + ], + "'REACTOR": [ + -1, + 10 + ], + "'IF": [ + -1, + 10 + ], + "'ASK": [ + -1, + 10 + ], + "'CASES": [ + -1, + 10 + ], + "'FOR": [ + -1, + 10 + ], + "'TABLE-SELECT": [ + -1, + 10 + ], + "'TABLE-FILTER": [ + -1, + 10 + ], + "'TABLE-ORDER": [ + -1, + 10 + ], + "'TABLE-EXTRACT": [ + -1, + 10 + ], + "'TABLE-UPDATE": [ + -1, + 10 + ], + "'TABLE-EXTEND": [ + -1, + 10 + ], + "'LOAD-TABLE": [ + -1, + 10 + ] + }, + { + "'END": [ + -1, + 1438 + ] + }, + { + "'END": [ + -1, + 1440 + ], + "'COMMA": [ + -1, + 1440 + ] + }, + { + "'COMMA": [ + 956 + ], + "cases-args_I1_I1": [ + 957 + ], + "'RPAREN": [ + -1, + 1442 + ] + }, + { + "'COMMA": [ + -1, + 1444 + ], + "'RPAREN": [ + -1, + 1444 + ] + }, + { + "'THICKARROW": [ + -1, + 1446 + ] + }, + { + "'END": [ + -1, + 1448 + ], + "'BAR": [ + -1, + 1448 + ] + }, + { + "'REF": [ + 943 + ], + "cases-binding": [ + 958 + ], + "cases-binding_I0?": [ + 945 + ], + "cases-binding_I0": [ + 946 + ], + "'NAME": [ + -1, + 1416 + ], + "'LBRACE": [ + -1, + 1416 + ], + "'SHADOW": [ + -1, + 1416 + ] + }, + { + "'COMMA": [ + -1, + 1450 + ], + "'RPAREN": [ + -1, + 1450 + ] + }, + { + "'COMMA": [ + -1, + 1452 + ], + "'RPAREN": [ + -1, + 1452 + ] + } + ], + "I": { + "ε": 0, + "program": 1, + "prelude": 2, + "prelude_I0?": 3, + "prelude_I1*": 4, + "import-stmt_A1_I4?": 5, + "import-stmt_A1_I4_I1*": 6, + "import-stmt_A1_I4_I2?": 7, + "import-special_I3*": 8, + "include-data-spec_I2?": 9, + "provide-block_A0_I1?": 10, + "provide-block_A0_I1_I1*": 11, + "provide-block_A0_I1_I2?": 12, + "provide-block_A1_I4?": 13, + "provide-block_A1_I4_I1*": 14, + "provide-block_A1_I4_I2?": 15, + "name-spec_A0_I1?": 16, + "provide-data-spec_I2?": 17, + "hiding-spec_I2?": 18, + "hiding-spec_I2_I0*": 19, + "module-ref_I0*": 20, + "comma-names_I1*": 21, + "block": 22, + "block_I0*": 23, + "spy-stmt_I1?": 24, + "spy-stmt_I3?": 25, + "spy-contents_I1*": 26, + "tuple-binding_I1*": 27, + "tuple-binding_I3?": 28, + "tuple-binding_I5?": 29, + "name-binding_I0?": 30, + "name-binding_I2?": 31, + "multi-let-expr_I2*": 32, + "letrec-expr_I2*": 33, + "type-let-expr_I2*": 34, + "ty-params": 35, + "ty-params_I0?": 36, + "args_I1?": 37, + "args_I1_I1*": 38, + "bad-args_I1?": 39, + "bad-args_I1_I1*": 40, + "return-ann": 41, + "return-ann_I0?": 42, + "doc-string": 43, + "doc-string_I0?": 44, + "where-clause": 45, + "where-clause_I0?": 46, + "check-test_A0_I2?": 47, + "check-test_A0_I4?": 48, + "check-test_A1_I2?": 49, + "data-expr_I4?": 50, + "data-expr_I5*": 51, + "variant-members_I1?": 52, + "variant-members_I1_I1*": 53, + "variant-member_I0?": 54, + "data-with": 55, + "data-with_I0?": 56, + "data-sharing": 57, + "data-sharing_I0?": 58, + "binop-expr_I1*": 59, + "app-expr_A2_I5*": 60, + "opt-comma-binops": 61, + "opt-comma-binops_I0?": 62, + "comma-binops_I1*": 63, + "trailing-opt-comma-binops": 64, + "trailing-opt-comma-binops_I0": 65, + "trailing-opt-comma-binops_I0_A0_I1?": 66, + "inst-expr_I3*": 67, + "tuple-fields_I1*": 68, + "tuple-fields_I2?": 69, + "obj-fields_I1*": 70, + "obj-fields_I2?": 71, + "obj-field_A1_I2?": 72, + "fields_I1*": 73, + "fields_I2?": 74, + "construct-modifier": 75, + "table-headers": 76, + "table-headers_I0?": 77, + "table-headers_I0_I0*": 78, + "table-header_I1?": 79, + "table-rows": 80, + "table-rows_I0?": 81, + "table-rows_I0_I0*": 82, + "table-items": 83, + "table-items_I0?": 84, + "table-items_I0_I0*": 85, + "if-expr_I4*": 86, + "if-expr_I5?": 87, + "if-pipe-expr_I2*": 88, + "if-pipe-expr_I3?": 89, + "cases-binding_I0?": 90, + "cases-args_I1?": 91, + "cases-args_I1_I1*": 92, + "cases-expr_I6*": 93, + "cases-expr_I7?": 94, + "cases-branch_I2?": 95, + "for-expr_I3?": 96, + "for-expr_I3_I1*": 97, + "table-select_I2*": 98, + "table-filter_I2?": 99, + "table-filter_I2_I2*": 100, + "table-order_I4*": 101, + "table-update_I2?": 102, + "table-update_I2_I2*": 103, + "table-extend_I2?": 104, + "table-extend_I2_I2*": 105, + "table-extend-fields_I0*": 106, + "table-extend-fields_I2?": 107, + "table-extend-field_A0_I1?": 108, + "table-extend-field_A1_I1?": 109, + "load-table-expr_I3?": 110, + "load-table-specs_I0*": 111, + "comma-ann-field_I1*": 112, + "trailing-opt-comma-ann-field": 113, + "trailing-opt-comma-ann-field_I0": 114, + "trailing-opt-comma-ann-field_I0_A0_I1?": 115, + "tuple-ann_I2*": 116, + "tuple-ann_I3?": 117, + "noparen-arrow-ann_I0?": 118, + "arrow-ann_I1?": 119, + "comma-anns_I1*": 120, + "START": 121, + "import-stmt_A1_I4_I1*,import-stmt_A1_I4_I2?": 122, + "provide-block_A0_I1_I1*,provide-block_A0_I1_I2?": 123, + "provide-block_A1_I4_I1*,provide-block_A1_I4_I2?": 124, + "tuple-fields_I1*,tuple-fields_I2?": 125, + "obj-fields_I1*,obj-fields_I2?": 126, + "fields_I1*,fields_I2?": 127 + }, + "eSPPFs": [ + { + "label": "EPSILON" + }, + { + "label": "program", + "kids": [ + 2, + 22 + ], + "rule": 0 + }, + { + "label": "prelude", + "kids": [ + 3, + 4 + ], + "rule": 1 + }, + { + "label": "prelude_I0?", + "kids": [], + "rule": 2 + }, + { + "label": "prelude_I1*", + "kids": [], + "rule": 5 + }, + { + "label": "import-stmt_A1_I4?", + "kids": [], + "rule": 12 + }, + { + "label": "import-stmt_A1_I4_I1*", + "kids": [], + "rule": 15 + }, + { + "label": "import-stmt_A1_I4_I2?", + "kids": [], + "rule": 18 + }, + { + "label": "import-special_I3*", + "kids": [], + "rule": 26 + }, + { + "label": "include-data-spec_I2?", + "kids": [], + "rule": 37 + }, + { + "label": "provide-block_A0_I1?", + "kids": [], + "rule": 53 + }, + { + "label": "provide-block_A0_I1_I1*", + "kids": [], + "rule": 56 + }, + { + "label": "provide-block_A0_I1_I2?", + "kids": [], + "rule": 59 + }, + { + "label": "provide-block_A1_I4?", + "kids": [], + "rule": 63 + }, + { + "label": "provide-block_A1_I4_I1*", + "kids": [], + "rule": 66 + }, + { + "label": "provide-block_A1_I4_I2?", + "kids": [], + "rule": 69 + }, + { + "label": "name-spec_A0_I1?", + "kids": [], + "rule": 79 + }, + { + "label": "provide-data-spec_I2?", + "kids": [], + "rule": 91 + }, + { + "label": "hiding-spec_I2?", + "kids": [], + "rule": 98 + }, + { + "label": "hiding-spec_I2_I0*", + "kids": [], + "rule": 101 + }, + { + "label": "module-ref_I0*", + "kids": [], + "rule": 105 + }, + { + "label": "comma-names_I1*", + "kids": [], + "rule": 109 + }, + { + "label": "block", + "kids": [ + 23 + ], + "rule": 112 + }, + { + "label": "block_I0*", + "kids": [], + "rule": 113 + }, + { + "label": "spy-stmt_I1?", + "kids": [], + "rule": 130 + }, + { + "label": "spy-stmt_I3?", + "kids": [], + "rule": 133 + }, + { + "label": "spy-contents_I1*", + "kids": [], + "rule": 137 + }, + { + "label": "tuple-binding_I1*", + "kids": [], + "rule": 148 + }, + { + "label": "tuple-binding_I3?", + "kids": [], + "rule": 151 + }, + { + "label": "tuple-binding_I5?", + "kids": [], + "rule": 154 + }, + { + "label": "name-binding_I0?", + "kids": [], + "rule": 158 + }, + { + "label": "name-binding_I2?", + "kids": [], + "rule": 161 + }, + { + "label": "multi-let-expr_I2*", + "kids": [], + "rule": 166 + }, + { + "label": "letrec-expr_I2*", + "kids": [], + "rule": 174 + }, + { + "label": "type-let-expr_I2*", + "kids": [], + "rule": 184 + }, + { + "label": "ty-params", + "kids": [ + 36 + ], + "rule": 197 + }, + { + "label": "ty-params_I0?", + "kids": [], + "rule": 198 + }, + { + "label": "args_I1?", + "kids": [], + "rule": 208 + }, + { + "label": "args_I1_I1*", + "kids": [], + "rule": 211 + }, + { + "label": "bad-args_I1?", + "kids": [], + "rule": 215 + }, + { + "label": "bad-args_I1_I1*", + "kids": [], + "rule": 218 + }, + { + "label": "return-ann", + "kids": [ + 42 + ], + "rule": 221 + }, + { + "label": "return-ann_I0?", + "kids": [], + "rule": 222 + }, + { + "label": "doc-string", + "kids": [ + 44 + ], + "rule": 225 + }, + { + "label": "doc-string_I0?", + "kids": [], + "rule": 226 + }, + { + "label": "where-clause", + "kids": [ + 46 + ], + "rule": 229 + }, + { + "label": "where-clause_I0?", + "kids": [], + "rule": 230 + }, + { + "label": "check-test_A0_I2?", + "kids": [], + "rule": 240 + }, + { + "label": "check-test_A0_I4?", + "kids": [], + "rule": 245 + }, + { + "label": "check-test_A1_I2?", + "kids": [], + "rule": 249 + }, + { + "label": "data-expr_I4?", + "kids": [], + "rule": 254 + }, + { + "label": "data-expr_I5*", + "kids": [], + "rule": 257 + }, + { + "label": "variant-members_I1?", + "kids": [], + "rule": 266 + }, + { + "label": "variant-members_I1_I1*", + "kids": [], + "rule": 269 + }, + { + "label": "variant-member_I0?", + "kids": [], + "rule": 273 + }, + { + "label": "data-with", + "kids": [ + 56 + ], + "rule": 276 + }, + { + "label": "data-with_I0?", + "kids": [], + "rule": 277 + }, + { + "label": "data-sharing", + "kids": [ + 58 + ], + "rule": 280 + }, + { + "label": "data-sharing_I0?", + "kids": [], + "rule": 281 + }, + { + "label": "binop-expr_I1*", + "kids": [], + "rule": 291 + }, + { + "label": "app-expr_A2_I5*", + "kids": [], + "rule": 392 + }, + { + "label": "opt-comma-binops", + "kids": [ + 62 + ], + "rule": 396 + }, + { + "label": "opt-comma-binops_I0?", + "kids": [], + "rule": 397 + }, + { + "label": "comma-binops_I1*", + "kids": [], + "rule": 401 + }, + { + "label": "trailing-opt-comma-binops", + "kids": [ + 65 + ], + "rule": 404 + }, + { + "label": "trailing-opt-comma-binops_I0", + "kids": [], + "rule": 409 + }, + { + "label": "trailing-opt-comma-binops_I0_A0_I1?", + "kids": [], + "rule": 406 + }, + { + "label": "inst-expr_I3*", + "kids": [], + "rule": 411 + }, + { + "label": "tuple-fields_I1*", + "kids": [], + "rule": 418 + }, + { + "label": "tuple-fields_I2?", + "kids": [], + "rule": 421 + }, + { + "label": "obj-fields_I1*", + "kids": [], + "rule": 428 + }, + { + "label": "obj-fields_I2?", + "kids": [], + "rule": 431 + }, + { + "label": "obj-field_A1_I2?", + "kids": [], + "rule": 436 + }, + { + "label": "fields_I1*", + "kids": [], + "rule": 443 + }, + { + "label": "fields_I2?", + "kids": [], + "rule": 446 + }, + { + "label": "construct-modifier", + "kids": [], + "rule": 455 + }, + { + "label": "table-headers", + "kids": [ + 77 + ], + "rule": 458 + }, + { + "label": "table-headers_I0?", + "kids": [], + "rule": 459 + }, + { + "label": "table-headers_I0_I0*", + "kids": [], + "rule": 462 + }, + { + "label": "table-header_I1?", + "kids": [], + "rule": 467 + }, + { + "label": "table-rows", + "kids": [ + 81 + ], + "rule": 470 + }, + { + "label": "table-rows_I0?", + "kids": [], + "rule": 471 + }, + { + "label": "table-rows_I0_I0*", + "kids": [], + "rule": 474 + }, + { + "label": "table-items", + "kids": [ + 84 + ], + "rule": 478 + }, + { + "label": "table-items_I0?", + "kids": [], + "rule": 479 + }, + { + "label": "table-items_I0_I0*", + "kids": [], + "rule": 482 + }, + { + "label": "if-expr_I4*", + "kids": [], + "rule": 495 + }, + { + "label": "if-expr_I5?", + "kids": [], + "rule": 498 + }, + { + "label": "if-pipe-expr_I2*", + "kids": [], + "rule": 505 + }, + { + "label": "if-pipe-expr_I3?", + "kids": [], + "rule": 508 + }, + { + "label": "cases-binding_I0?", + "kids": [], + "rule": 513 + }, + { + "label": "cases-args_I1?", + "kids": [], + "rule": 517 + }, + { + "label": "cases-args_I1_I1*", + "kids": [], + "rule": 520 + }, + { + "label": "cases-expr_I6*", + "kids": [], + "rule": 528 + }, + { + "label": "cases-expr_I7?", + "kids": [], + "rule": 531 + }, + { + "label": "cases-branch_I2?", + "kids": [], + "rule": 535 + }, + { + "label": "for-expr_I3?", + "kids": [], + "rule": 540 + }, + { + "label": "for-expr_I3_I1*", + "kids": [], + "rule": 543 + }, + { + "label": "table-select_I2*", + "kids": [], + "rule": 552 + }, + { + "label": "table-filter_I2?", + "kids": [], + "rule": 556 + }, + { + "label": "table-filter_I2_I2*", + "kids": [], + "rule": 559 + }, + { + "label": "table-order_I4*", + "kids": [], + "rule": 563 + }, + { + "label": "table-update_I2?", + "kids": [], + "rule": 568 + }, + { + "label": "table-update_I2_I2*", + "kids": [], + "rule": 571 + }, + { + "label": "table-extend_I2?", + "kids": [], + "rule": 575 + }, + { + "label": "table-extend_I2_I2*", + "kids": [], + "rule": 578 + }, + { + "label": "table-extend-fields_I0*", + "kids": [], + "rule": 582 + }, + { + "label": "table-extend-fields_I2?", + "kids": [], + "rule": 585 + }, + { + "label": "table-extend-field_A0_I1?", + "kids": [], + "rule": 590 + }, + { + "label": "table-extend-field_A1_I1?", + "kids": [], + "rule": 594 + }, + { + "label": "load-table-expr_I3?", + "kids": [], + "rule": 598 + }, + { + "label": "load-table-specs_I0*", + "kids": [], + "rule": 602 + }, + { + "label": "comma-ann-field_I1*", + "kids": [], + "rule": 617 + }, + { + "label": "trailing-opt-comma-ann-field", + "kids": [ + 114 + ], + "rule": 620 + }, + { + "label": "trailing-opt-comma-ann-field_I0", + "kids": [], + "rule": 625 + }, + { + "label": "trailing-opt-comma-ann-field_I0_A0_I1?", + "kids": [], + "rule": 622 + }, + { + "label": "tuple-ann_I2*", + "kids": [], + "rule": 629 + }, + { + "label": "tuple-ann_I3?", + "kids": [], + "rule": 632 + }, + { + "label": "noparen-arrow-ann_I0?", + "kids": [], + "rule": 636 + }, + { + "label": "arrow-ann_I1?", + "kids": [], + "rule": 648 + }, + { + "label": "comma-anns_I1*", + "kids": [], + "rule": 657 + }, + { + "label": "START", + "kids": [ + 1 + ], + "rule": 664 + }, + { + "label": "import-stmt_A1_I4_I1*,import-stmt_A1_I4_I2?", + "kids": [ + 6, + 7 + ] + }, + { + "label": "provide-block_A0_I1_I1*,provide-block_A0_I1_I2?", + "kids": [ + 11, + 12 + ] + }, + { + "label": "provide-block_A1_I4_I1*,provide-block_A1_I4_I2?", + "kids": [ + 14, + 15 + ] + }, + { + "label": "tuple-fields_I1*,tuple-fields_I2?", + "kids": [ + 68, + 69 + ] + }, + { + "label": "obj-fields_I1*,obj-fields_I2?", + "kids": [ + 70, + 71 + ] + }, + { + "label": "fields_I1*,fields_I2?", + "kids": [ + 73, + 74 + ] + } + ] + }; + return { PyretGrammar: Grammar.fromSerializable(g_json) }; +}); +define("pyret-base/js/exn-stack-parser", ["source-map"], function(sourceMap) { + + // TODO(joe): make this match exactly 64 characters + var matchHashedPyretURI = /_([a-f0-9]+)__/; + var matchInnerEvalLocationV8 = /:([0-9]+):([0-9]+)/; + var matchInnerEvalLocationFirefoxSafari = /([0-9]+):([0-9]+)$/; + var matchInnerEvalLocationIE = /([0-9]+):([0-9]+)\)$/; + + function isSourcePyretFrame(line) { + return line.match(matchHashedPyretURI) !== null; + } + + function parseFrame(line) { + if(!isSourcePyretFrame(line)) { + return {}; + } + var matchedURI = line.match(matchHashedPyretURI); + var matchedLoc1 = line.match(matchInnerEvalLocationV8); + var matchedLoc2 = line.match(matchInnerEvalLocationFirefoxSafari); + var matchedLoc3 = line.match(matchInnerEvalLocationIE); + var matchedLoc = matchedLoc1 || matchedLoc2 || matchedLoc3; + return { + startLine: matchedLoc[1], + startCol: matchedLoc[2], + hashedURI: matchedURI[1] + }; + } + + function parseStack(stacktrace) { + var lines = stacktrace.split("\n"); + return lines.filter(isSourcePyretFrame).map(parseFrame); + } + + function convertExceptionToPyretStackTrace(e, realm) { + var parsedStack = parseStack(e.stack); + var uriMap = {}; + for(var k in realm.static) { + uriMap[realm.static[k].uriHashed] = k; + } + + var pyretStack = parsedStack.map(function(frame) { + var uri = uriMap[frame.hashedURI]; + if(uri === undefined) { return ["unknown"]; } + if(realm.static === undefined) { return ["unknown"]; } + var moduleSourceMap = realm.static[uri].mod.theMap; + var consumer = new sourceMap.SourceMapConsumer(moduleSourceMap); + consumer.computeColumnSpans(); + var original = consumer.originalPositionFor({ + source: uri, + line: Number(frame.startLine), + column: Number(frame.startCol) }, + sourceMap.SourceMapConsumer.LEAST_UPPER_BOUND); + if(original.name === null) { return ["unknown location"]; } + var posForPyret = original.name.split(","); + // NOTE(joe): this loop intentionally starts at one. The split array + // will be a length-7 array where the first is the URI of the module + // the source location, and the remaining 6 are numbers for the line, + // column, and character offsets of the start and end. + posForPyret[0] = uri; + for(var i = 1; i < posForPyret.length; i += 1) { + posForPyret[i] = Number(posForPyret[i]); + } + return posForPyret; + }); + + if (e.pyretStack) { + return pyretStack.concat(e.pyretStack); + } else { + return pyretStack; + } + } + + return { + isSourcePyretFrame, + parseFrame, + parseStack, + convertExceptionToPyretStackTrace + }; +}); +define("pyret-base/js/runtime-util", [], function() { + var gs = Math.floor(Math.random() * 10000); + function gensym(name) { + return name + String(gs++); + } + function isBrowser() { + var maybeBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document); + return maybeBrowser || typeof importScripts !== "undefined"; + } + + var suspend; + if (typeof setImmediate !== 'undefined') { + suspend = function(f) { return setImmediate(f); }; + } + else if (isBrowser() + && (typeof window !== "undefined") + && window.postMessage + && window.location.origin !== "file://" + && window.location.origin !== "null") { + var origin = String(window.location.origin); + var postMessageCBToken = String(Math.random()); + var postMessageCBs = {}; + var postMessageIndex = 0; + window.addEventListener('message', function(e) { + if(e.data.token === postMessageCBToken && postMessageCBs[e.data.cb]) { + var f = postMessageCBs[e.data.cb]; + delete postMessageCBs[e.data.cb]; + f(); + } + }); + var suspend = function(f) { + postMessageIndex += 1; + postMessageCBs[postMessageIndex] = f; + window.postMessage({ + token: postMessageCBToken, + cb: postMessageIndex + }, origin); + }; + } + else { + suspend = function(f) { setTimeout(f, 0); }; + } + + function memoModule(modname, moduleFun) { + return function(RUNTIME, NAMESPACE) { + + if(RUNTIME.modules[modname]) { + return RUNTIME.modules[modname]; + } + else { + return RUNTIME.safeCall(function() { + return moduleFun(RUNTIME, NAMESPACE); + }, function(moduleFunVal) { + RUNTIME.modules[modname] = moduleFunVal; + return moduleFunVal; + }, "memoModule:moduleFun"); + } + }; + } + + function modBuiltin(name) { + return { "import-type": "builtin", name: name }; + } + + // NOTE(joe): This should become a flagged structure that explicitly + // allows Pyret-tainted JS modules to be imported, which cannot be done from + // pure Pyret imports (they cannot generate this kind of dependency + // description). + var modBuiltinJS = modBuiltin; + + + function definePyretModule(name, oldDeps, deps, provides, func) { + return defineModule(function(_, result) { return result; }, name, oldDeps, deps, provides, func); + } + + function defineJSModule(name, oldDeps, deps, provides, func) { + function createJSReturn(runtime, jsObj) { + return runtime.makeObject({ + "provide-plus-types": runtime.makeObject({ + values: runtime.makeObject({}), + types: {}, + internal: jsObj + }), + answer: runtime.nothing + }); + } + return defineModule(createJSReturn, name, oldDeps, deps, provides, func); + } + + + function defineModule(wrap, name, oldDeps, deps, provides, func) { + var modname = gensym(name); + return { + name: name, + dependencies: deps, + provides: provides, + theModule: function(/* varargs */) { + var pyretDependencies = Array.prototype.slice.call(arguments); + return memoModule(modname, function(runtime, namespace) { + return runtime.loadModulesNew(namespace, pyretDependencies, function(/* instantiated modules */) { + var deps = Array.prototype.slice.call(arguments); + return runtime.safeCall(function() { + return func.apply(null, [runtime, namespace].concat(deps)); + }, function(result) { + return wrap(runtime, result); + }, "defineModule:moduleFun"); + }); + }); + } + }; + } + + function makeModuleReturn(runtime, types, values) { + return runtime.makeObject({ + "provide-plus-types": runtime.makeObject({ + types: types, + values: runtime.makeObject(values) + }) + }); + } + + return { + modBuiltin: modBuiltin, + modBuiltinJS: modBuiltinJS, + + memoModule: memoModule, + makeModuleReturn: makeModuleReturn, + isBrowser: isBrowser, + suspend: suspend, + definePyretModule: definePyretModule, + defineJSModule: defineJSModule, + isBrowser: isBrowser + }; +}); +define("pyret-base/js/type-util", [], function() { + + var any = { "tag": "any" }; + var string = { "tag": "name", "module": "builtin", "name": "String" } + var number = { "tag": "name", "module": "builtin", "name": "Number" } + var boolean = { "tag": "name", "module": "builtin", "name": "Boolean" } + var nothing = { "tag": "name", "module": "builtin", "name": "Nothing" } + + function forall(args, onto) { + if(!Array.isArray(args)) { throw "Expected list for args, but got " + String(args); } + args.forEach(function(a) { + if(typeof a !== "string") { throw "Type args must be strings, but got: " + String(a); } + }); + return { + tag: "forall", + args: args, + onto: onto + } + } + + function arrow(args, ret) { + if(!Array.isArray(args)) { throw "Expected list for arrow args, but got " + String(args); } + return { + tag: "arrow", + args: args, + ret: ret + }; + } + + function tyapp(onto, args) { + if(!Array.isArray(args)) { throw "Expected list for tyapp args, but got " + String(args); } + return { + tag: "tyapp", + onto: onto, + args: args + }; + } + + function tyvar(name) { + return { + tag: "tyvar", + name: name + }; + } + + function builtinName(name) { + return { + tag: "name", + module: "builtin", + name: name + }; + } + + function libName(lib, name) { + return { + tag: "name", + module: "pyret-builtin://" + lib, + name: name + }; + } + + function localType(name) { + return { + tag: "name", + module: "LOCAL", + name: name + }; + } + + function record(fields) { + return { + tag: "record", + fields: fields + }; + } + + function dataRefinement(basetype, variant) { + return { + tag: "data-refinement", + basetype: basetype, + variant: variant + }; + } + + function dataType(origin, name, params, variants, methods) { + return { + tag: "data", + origin: origin, + name: name, + params: params, + variants: variants, + methods: methods + }; + } + + function variant(name, vmembers, withmembers) { + return { + tag: "variant", + name: name, + vmembers: vmembers, + withmembers: withmembers + }; + } + + function singletonVariant(name, withmembers) { + return { + tag: "singleton-variant", + name: name, + withmembers: withmembers + } + } + + function variantMember(name, kind, typ) { + return { + tag: "variant-member", + kind: kind, + typ: typ + }; + } + + function bindToPyret(runtime, value, shorthands) { + var origin = runtime.makeObject({ provided: false }); + if(!value.bind) { + return runtime.makeObject({ + origin: origin, + bind: "let", + typ: toPyretType(runtime, expandType(value, shorthands)) + }); + } + else { + if(typeof value.origin === "object") { + origin = value.origin; + origin.provided = true; + origin = runtime.makeObject(origin); + } + if(value.bind === "let") { + return runtime.makeObject({ + origin: origin, + typ: toPyretType(runtime, expandType(value.typ, shorthands)), + bind: "let" + }); + } + else if(value.bind === "alias") { + return runtime.makeObject({ + 'original-name': value["original-name"], + origin: origin, + bind: "alias", + typ: false + }); + } + else if(value.bind === "fun") { + var flatnessInt = parseInt(value.flatness); + // Flatness had better be (a) an integer and (b) a non-negative number, + // otherwise treat it as an infinitely-deep function + var flatness = flatnessInt === value.flatness && flatnessInt >= 0 ? flatnessInt : false; + return runtime.makeObject({ + origin: origin, + bind: "fun", + name: value.name || "", + flatness: flatness, + typ: toPyretType(runtime, expandType(value.typ, shorthands)) + }); + } + else if(value.bind === "var") { + return runtime.makeObject({ + origin: origin, + bind: "var", + typ: toPyretType(runtime, expandType(value.typ, shorthands)) + }); + } + else { + console.error("Bad value provide format:", value); + throw new Error("Bad value provide format"); + } + } + } + + + function toPyretType(runtime, typ) { + var O = runtime.makeObject; + var L = runtime.ffi.makeList; + var tp = function(thing) { return toPyretType(runtime, thing); }; + function provided(o) { o.provided = true; return O(o); } + if(typ === "tany") { return O({ tag: "any" }); } + if(typ === "tbot") { return O({ tag: "bot" }); } + switch(typ.tag) { + case "any": + return O({ tag: "any"}); + case "data-alias": + return O({ tag: "data-alias", origin: provided(typ.origin), name : typ.name }); + case "data": + var methods = Object.keys(typ.methods).map(function(k) { + return O({ name: k, value: tp(typ.methods[k]) }); + }); + var origin; + if(typeof typ.origin === "object" && typeof typ.origin.provided !== "boolean") { origin = provided(typ.origin); } + else { origin = O({provided: false}); } + return O({ + tag: "data", + origin: origin, + name: typ.name, + params: L(typ.params), + variants: L(typ.variants.map(tp)), + methods: L(methods) + }); + case "variant": + var methods = Object.keys(typ.withmembers).map(function(k) { + return O({ name: k, value: tp(typ.withmembers[k]) }); + }); + return O({ + tag: "variant", + name: typ.name, + vmembers: L(typ.vmembers.map(tp)), + withmembers: L(methods) + }); + case "singleton-variant": + var methods = Object.keys(typ.withmembers).map(function(k) { + return O({ name: k, value: tp(typ.withmembers[k]) }); + }); + return O({ + tag: "singleton-variant", + name: typ.name, + withmembers: L(methods) + }); + case "variant-member": + return O({ + tag: "variant-member", + name: typ.name, + kind: typ.kind, + typ: tp(typ.typ), + }); + case "record": + return O({ + tag: "record", + fields: L(Object.keys(typ.fields).map(function(f) { return O({ tag: "member", name: f, value: tp(typ.fields[f]) }); })), + }); + case "data-refinement": + return O({ + tag: "data-refinement", + basetype: tp(typ.basetype), + variant: typ.variant + }); + case "name": + return O({ + tag: "name", + origin: O(typ.origin), + name: typ.name + }); + case "forall": + return O({ + tag: "forall", + args: L(typ.args), + onto: tp(typ.onto) + }); + case "tyvar": + return O({ + tag: "tyvar", + name: typ.name + }); + case "arrow": + return O({ + tag: "arrow", + args: L(typ.args.map(tp)), + ret: tp(typ.ret) + }); + case "tuple": + return O({ + tag: "tuple", + elts: L(typ.elts.map(tp)), + }); + case "tyapp": + return O({ + tag: "tyapp", + args: L(typ.args.map(tp)), + onto: tp(typ.onto) + }); + default: + console.error(typ); + throw new Error("No such tag: " + typ.tag); + } + } + + function expandType(typ, shorthands) { + if(typ.bind == 'fun') { + return { + bind: typ.bind, + origin: typ.origin, + flatness: typ.flatness, + name: typ.name, + typ: expandType(typ.typ, shorthands) + }; + } + else if (typ.bind === 'var') { + return { bind: typ.bind, origin: typ.origin, typ: expandType(typ.typ, shorthands) }; + } + var fromGlobal = { "import-type": "uri", uri: "builtin://global" }; + var prims = ["Number", "String", "Boolean", "Nothing", "Any"]; + function mkName(origin, name) { + return { tag: "name", origin: origin, name: name }; + } + function p(name) { return mkName(fromGlobal, name); } + function mkApp1(tycon, arg) { + return { + tag: "tyapp", + onto: expandType(tycon, shorthands), + args: [ expandType(arg, shorthands) ] + }; + } + var constrs = { + "Array": function(name, arg) { + return mkApp1(mkName({ "import-type": "uri", uri: "builtin://arrays" }, name), arg); + }, + "RawArray": function(name, arg) { return mkApp1(mkName(fromGlobal, name), arg); }, + "List": function(name, arg) { + return mkApp1(mkName({ "import-type": "uri", uri: "builtin://lists" }, name), arg); + }, + "Option": function(name, arg) { + return mkApp1(mkName({ "import-type": "uri", uri: "builtin://option" }, name), arg); + }, + "Maker": function(_, arg, ret) { + var maker = { + "make": ["arrow", [["RawArray", arg]], ret], + "make0": ["arrow", [], ret], + "make1": ["arrow", [arg], ret], + "make2": ["arrow", [arg, arg], ret], + "make3": ["arrow", [arg, arg, arg], ret], + "make4": ["arrow", [arg, arg, arg, arg], ret], + "make5": ["arrow", [arg, arg, arg, arg, arg], ret] + }; + return expandType(["record", maker], shorthands); + } + }; + var iA = Array.isArray; + var iO = function(o) { return typeof o === "object" && o !== null && !(iA(o)); }; + + + function expandMember(m, shorthands) { + if(!iA(m)) { + throw new Error("Serialized members should be arrays, got: " + String(m)); + } + if(m.length === 2) { + return { + tag: "variant-member", + kind: "normal", + name: m[0], + typ: expandType(m[1], shorthands) + }; + } + else if(m.length === 3) { + return { + tag: "variant-member", + kind: "ref", + name: m[1], + typ: expandType(m[2], shorthands) + }; + } + else { + throw new Error("Bad serialized member: " + String(m)); + } + } + + function expandVariant(v, shorthands) { + if(!iA(v)) { + throw new Error("Serialized variant types should be arrays, got: " + String(v)); + } + else { + if(v.length === 1) { + return singletonVariant(v[0], {}); + } + else if(v.length === 2) { + if(Array.isArray(v[1])) { + return variant(v[0], v[1].map(function(m) { return expandMember(m, shorthands); }), {}); + } + else { + return singletonVariant(v[0], expandRecord(v[1], shorthands)); + } + } + else if(v.length === 3) { + return variant(v[0], + v[1].map(function(m) { return expandMember(m, shorthands); }), + expandRecord(v[2], shorthands)); + } + else { + throw new Error("Bad serialized variant: " + String(v)); + } + } + } + + if(typeof typ === "string") { + if(typ === "tany") { + return "tany"; + } + else if(typ === "tbot") { + return "tbot"; + } + else if(prims.indexOf(typ) !== -1) { + return p(typ); + } + else if(typ in shorthands) { + return shorthands[typ]; + } + else { + throw new Error("Unknown prim type or shorthand: " + typ); + } + } + else if(Array.isArray(typ)) { + var head = typ[0]; + if (head in constrs) { + var constr = constrs[head]; + if(typ.length !== constr.length) { + throw new Error("Bad tail for type constructor " + head + ": " + String(typ)); + } + return constr.apply(null, typ); + } + else { + if(head === "arrow" && typ.length === 3 && Array.isArray(typ[1])) { + return { + tag: "arrow", + args: typ[1].map(function(t) { return expandType(t, shorthands); }), + ret: expandType(typ[2], shorthands) + }; + } + else if(head === "tuple" && typ.length === 2 && iA(typ[1])) { + return { + tag: "tuple", + elts: typ[1].map(function(t) { return expandType(t, shorthands); }) + }; + } + else if(head === "data" && typ.length === 6 && iA(typ[3]) && iA(typ[4]) && iO(typ[5])) { + return { + tag: "data", + origin: typ[1], + name: typ[2], + params: typ[3], + variants: typ[4].map(function(v) { return expandVariant(v, shorthands); }), + methods: expandRecord(typ[5], shorthands) + }; + } + else if(head === "data" && typ.length === 5 && iA(typ[2]) && iA(typ[3]) && iO(typ[4])) { + return { + tag: "data", + origin: {provided: false}, + name: typ[1], + params: typ[2], + variants: typ[3].map(function(v) { return expandVariant(v, shorthands); }), + methods: expandRecord(typ[4], shorthands) + }; + } + else if(head === "data-alias" && typ.length === 3) { + return { + tag: "data-alias", + origin: typ[1], + name: typ[2] + }; + } + else if(head === "tid" && typ.length === 2) { + return { + tag: "tyvar", + name: typ[1] + }; + } + else if(head === "forall" && typ.length === 3) { + return { + tag: "forall", + args: typ[1], + onto: expandType(typ[2], shorthands) + }; + } + else if(head === "local") { + return { + tag: "name", + origin: {"import-type": "$ELF"}, + name: typ[1] + }; + } + else if(head === "record") { + return { + tag: "record", + fields: expandRecord(typ[1], shorthands) + }; + } + else if(head === "data%") { + return { + tag: "data-refinement", + basetype: expandType(typ[1], shorthands), + variant: typ[2] + }; + } + else if(head === "tyapp") { + return { + tag: "tyapp", + onto: expandType(typ[1], shorthands), + args: typ[2].map(function(t) { return expandType(t, shorthands); }) + }; + } + else { + throw new Error("Unknown shape or head tag for serialized type: " + String(typ)); + } + } + } + else if(iO(typ)) { + // If the object a ValueExport, we want to return an object that's + // exactly the same, but with the typ field expanded. + if (typ.bind == "fun") { + var o = {}; + Object.keys(typ).forEach(function(k) { + if (k == "typ") { + o[k] = expandType(typ.typ, shorthands); + } + else { + o[k] = typ[k]; + } + }); + return o; + } + return typ; + } + else { + throw new Error("Unknown description for serialized type: " + String(typ)); + } + } + + function expandRecord(r, shorthands) { + var o = {}; + Object.keys(r).forEach(function(k) { + o[k] = expandType(r[k], shorthands); + }); + return o; + } + + + return { + any: any, + string: string, + number: number, + boolean: boolean, + nothing: nothing, + forall: forall, + arrow: arrow, + tyapp: tyapp, + tyvar: tyvar, + builtinName: builtinName, + libName: libName, + localType: localType, + record: record, + dataType: dataType, + toPyretType: toPyretType, + bindToPyret: bindToPyret, + expandType: expandType, + expandRecord: expandRecord + }; + +}); +define("pyret-base/js/post-load-hooks", function() { + function makeDefaultPostLoadHooks(runtime, hookOptions) { + return { + "builtin://srcloc": function(srcloc) { + runtime.srcloc = runtime.getField(runtime.getField(srcloc, "provide-plus-types"), "values"); + }, + "builtin://ffi": function(ffi) { + ffi = ffi.jsmod; + runtime.ffi = ffi; + runtime["throwMessageException"] = ffi.throwMessageException; + runtime["throwNoBranchesMatched"] = ffi.throwNoBranchesMatched; + runtime["throwNoCasesMatched"] = ffi.throwNoCasesMatched; + runtime["throwNonBooleanCondition"] = ffi.throwNonBooleanCondition; + runtime["throwNonBooleanOp"] = ffi.throwNonBooleanOp; + runtime["throwUnfinishedTemplate"] = ffi.throwUnfinishedTemplate; + runtime["throwInvalidTableColumn"] = ffi.throwInvalidTableColumn; + runtime["toArray"] = ffi.toArray; + + var checkList = runtime.makeCheckType(ffi.isList, "List"); + runtime["checkList"] = checkList; + + runtime["checkEQ"] = runtime.makeCheckType(ffi.isEqualityResult, "EqualityResult"); + }, + "builtin://table": function(table) { + table = table.jsmod; + runtime["makeTable"] = table.makeTable; + runtime["makeRow"] = table.makeRow; + runtime["makeRowFromArray"] = table.makeRowFromArray; + runtime["openTable"] = table.openTable; + runtime["checkTable"] = runtime.makeCheckType(table.isTable, "Table"); + runtime["checkRow"] = runtime.makeCheckType(table.isRow, "Row"); + runtime["isTable"] = table.isTable; + runtime["isRow"] = table.isRow; + runtime["checkWrapTable"] = function(val) { + runtime.checkTable(val); + return val; + }; + runtime.makePrimAnn("Table", table.isTable); + runtime.makePrimAnn("Row", table.isRow); + }, + "builtin://data-source": function(ds) { + ds = runtime.getField(runtime.getField(ds, "provide-plus-types"), "values"); + // Variadic convenience function for desugaring use. + // 'type' corresponds to a loader option in `data-source.arr` + + runtime["asLoaderOption"] = function(type) { + switch(type) { + case "sanitizer": + return runtime.getField(ds, "sanitize-col").app(arguments[1], arguments[2]); + default: + runtime.ffi.throwMessageException("Internal error: Invalid loader option type: " + type); + } + }; + // Convenience function for JS library use + runtime["extractLoaderOption"] = function(opt) { + var isSanitizer = runtime.getField(ds, "is-sanitize-col"); + if (runtime.unwrap(isSanitizer.app(opt))) { + return { + type: "sanitizer", + col: runtime.getField(opt, "col"), + sanitizer: runtime.getField(opt, "sanitizer") + }; + } else { + runtime.ffi.throwMessageException("Internal error: Cannot coerce non-loader option"); + } + } + runtime["builtin_sanitizers"] = { + option : runtime.getField(ds, "option-sanitizer"), + string : runtime.getField(ds, "string-sanitizer"), + num : runtime.getField(ds, "num-sanitizer"), + bool: runtime.getField(ds, "bool-sanitizer"), + strict_num : runtime.getField(ds, "strict-num-sanitizer"), + strings_only : runtime.getField(ds, "strings-only"), + numbers_only : runtime.getField(ds, "numbers-only"), + booleans_only : runtime.getField(ds, "booleans-only"), + empty_only : runtime.getField(ds, "empty-only") + }; + + function reCache(src, constructorName, target, cachedName) { + return function() { + try { + var constr = runtime.getField(src, constructorName); + return constr.app.apply(constr, arguments); + } finally { + // after jitting, this will be faster than the call above + target[cachedName] = runtime.getField(src, constructorName).app; + } + }; + } + runtime["makeCStr"] = reCache(ds, "c-str", runtime, "makeCStr"); + runtime["makeCNum"] = reCache(ds, "c-num", runtime, "makeCNum"); + runtime["makeCBool"] = reCache(ds, "c-bool", runtime, "makeCBool"); + runtime["makeCCustom"] = reCache(ds, "c-custom", runtime, "makeCCustom"); + runtime["makeCEmpty"] = function() { return runtime.getField(ds, "c-empty"); }; + + runtime["isCStr"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-str").app(v)); }; + runtime["isCNum"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-num").app(v)); }; + runtime["isCBool"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-bool").app(v)); }; + runtime["isCCustom"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-custom").app(v)); }; + runtime["isCEmpty"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-empty").app(v)); }; + + runtime["unwrapCellContent"] = function(v) { + if (runtime.isCStr(v)) { + return {type: "str", value: runtime.getField(v, "s")}; + } else if (runtime.isCNum(v)) { + return {type: "num", value: runtime.getField(v, "n")}; + } else if (runtime.isCBool(v)) { + return {type: "bool", value: runtime.getField(v, "b")}; + } else if (runtime.isCCustom(v)) { + return {type: "custom", value: runtime.getField(v, "datum")}; + } else if (runtime.isCEmpty(v)) { + return {type: "empty"}; + } else { + runtime.ffi.throwMessageException("Internal error: Cannot unwrap non-cell content"); + } + }; + + runtime["makeLoadedTable"] = function(headers, contents) { + // Headers can either be [name, sanitizer] arrays or + // {name: name, sanitizer: sanitizer} objects + headers = headers.map(function(h) { + if (h.sanitizer) { + return runtime.makeTuple([h.name, h.sanitizer]); + } else { + return runtime.makeTuple(h); + } + }); + return runtime.makeTuple([headers, contents]); + }; + runtime["checkCellContent"] = runtime.makeCheckType( + runtime.getField(ds, "is-CellContent").app, "CellContent"); + }, + "builtin://reactors": function(reactor) { + var r = runtime.getField(runtime.getField(reactor, "provide-plus-types"), "values"); + runtime.setParam("makeReactor", runtime.getField(r, "make-reactor").app); + }, + "builtin://checker": function(checker) { + var checker = runtime.getField(runtime.getField(checker, "provide-plus-types"), "values"); + var currentChecker = runtime.getField(checker, "make-check-context").app(runtime.makeString(hookOptions.main), + hookOptions.checkAll); + runtime.setParam("current-checker", currentChecker); + } + }; + } + return { + makeDefaultPostLoadHooks: makeDefaultPostLoadHooks + }; +}); +define("pyret-base/js/runtime", + ["pyret-base/js/namespace", + "pyret-base/js/js-numbers", + "pyret-base/js/codePoint", + "pyret-base/js/runtime-util", + "pyret-base/js/exn-stack-parser", + "pyret-base/js/secure-loader", + "seedrandom", + "js-sha256"], +function (Namespace, jsnums, codePoint, util, exnStackParser, loader, seedrandom, sha) { + Error.stackTraceLimit = Infinity; + var require = requirejs; + var AsciiTable; + + var codePointAt = codePoint.codePointAt; + var fromCodePoint = codePoint.fromCodePoint; + + const MAX_ARRAY_SIZE = 4294967295; + + /** + Creates a Pyret runtime + @param {{stdout : function(string), initialGas : number}} + @return {Object} that contains all the necessary components of a runtime + */ + function makeRuntime(theOutsideWorld) { + var CONSOLE = theOutsideWorld.console || console; + /** + Extends an object with the new fields in fields + If all the fields are new, the brands are kept, + otherwise, the extended object has no brands + + The original object is not mutated, instead it is cloned and the clone + is mutated + + @param {!Object.} fields: a PObj whose fields will be added to the Pyret base + If any of the fields exist, they will be overwritten with the new value + + @return {!PBase} the extended object + */ + function extendWith(fields) { + /**@type {!Object}*/ + var newDict = Object.create(this.dict); + /**@type {!boolean}*/ + var allNewFields = true; + + for(var field in fields) { + if(hasProperty(this.dict, field)) { + allNewFields = false; + if(isRef(this.dict[field])) { + thisRuntime.ffi.throwMessageException("Cannot update ref field " + field); + } + } + + newDict[field] = fields[field]; + } + + var newObj = this.updateDict(newDict, allNewFields); + + return newObj; + } + + function brandClone(newObj, obj, b) { + newObj.dict = obj.dict; + if (b in obj.brands) { + newObj.brands = obj.brands; + } + else { + newObj.brands = Object.create(obj.brands); + newObj.brands[b] = true; + newObj.brands.brandCount++; + } + return newObj; + } + + var noBrands = { brandCount: 0 }; + + /** + The base of all pyret values + @constructor + */ + function PBase() { + /**@type {!Object.}*/ + this.brands = noBrands; + /**@type {!Object.}*/ + this.dict = emptyDict; + } + + /**@type {!Object.}*/ + PBase.prototype.dict = emptyDict; + /**@type {!function(!Object.) : !PBase}*/ + PBase.prototype.extendWith = extendWith; + + /** + Sets up Inheritance with a function call + This needs to be done socompiler recognizes it + + @param {Function} sub the class that will become a subclass + @param {Function} from the class that sub will subclass + */ + function inherits(sub, from) { + sub.prototype = Object.create(from.prototype); + } + + //Set up heirarchy + //We need to set it up before all the other classes + inherits(PNothing, PBase); + inherits(PObject, PBase); + inherits(PFunction, PBase); + inherits(PMethod, PBase); + inherits(POpaque, PBase); + inherits(PTuple, PBase); + + /** + Tests whether a JS Object has a property + + @param {!Object} obj the object to test + @param {!string} p the property to look for + @return {boolean} true if obj has property p, false otherwise + */ + function hasProperty(obj, p) { + return p in obj; + } + + /** + Tests whether a JS Object has a property, but not on + any of its prototypes. + Useful for objects that lack the .hasOwnProperty method + + @param {!Object} obj the object to test + @param {!string} p the property to look for + @return {boolean} true if obj has property p, false otherwise + */ + function hasOwnProperty(obj, p) { + return Object.prototype.hasOwnProperty.call(obj, p); + } + + var parameters = Object.create(null); + + function getParam(param) { + if(hasOwnProperty(parameters, param)) { + return parameters[param]; + } + else { + throw new Error("Parameter " + param + " not defined"); + } + } + function setParam(param, val) { + parameters[param] = val; + } + function hasParam(param) { + return param in parameters; + } + function getParamOrSetDefault(param, defVal) { + if (hasParam(param)) + return getParam(param); + setParam(param, defVal); + return defVal; + } + function clearParam(param) { + delete parameters[param]; + } + + + /** + Get the brands on an object + + @param {!PBase} obj the object to get the brands of + @return {Object.} + */ + function getBrands(obj) { + return obj.brands; + } + + var getProto = Object.getPrototypeOf; + + /** + Get the fields in an object. + + @param {!PBase} obj the object to get the fields of + @return {Array.} + + */ + function getFields(obj) { + var fieldsObj = Object.create(null); + var fields = []; + var currentProto = obj.dict; + while(currentProto !== null) { + var keys = Object.keys(currentProto); + for (var i = 0; i < keys.length; i++) + fieldsObj[keys[i]] = true; + currentProto = getProto(currentProto); + } + fields = Object.keys(fieldsObj) + return fields; + } + + var emptyDict = Object.create(null); + + /**Tests whether an object is a PBase + @param {Object} obj the item to test + @return {boolean} true if object is a PBase + */ + function isBase(obj) { return obj instanceof PBase; } + + function renderValueSkeleton(val, values) { + if (thisRuntime.ffi.isVSValue(val)) { return values.pop(); } // double-check order! + else if (thisRuntime.ffi.isVSStr(val)) { return thisRuntime.unwrap(thisRuntime.getField(val, "s")); } + else if (thisRuntime.ffi.isVSCollection(val)) { + var name = thisRuntime.unwrap(thisRuntime.getField(val, "name")); + var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "items")); + var s = "[" + name + ": "; + for (var i = 0; i < items.length; i++) { + if (i > 0) { s += ", "; } + s += renderValueSkeleton(items[i], values); + } + return s + "]"; + } else if (thisRuntime.ffi.isVSConstr(val)) { + var name = thisRuntime.unwrap(thisRuntime.getField(val, "name")); + var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "args")); + var s = name + "("; + for (var i = 0; i < items.length; i++) { + if (i > 0) { s += ", "; } + s += renderValueSkeleton(items[i], values); + } + return s + ")"; + } else if (thisRuntime.ffi.isVSSeq(val)) { + var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "items")); + var s = ""; + for (var i = 0; i < items.length; i++) { + s += renderValueSkeleton(items[i], values); + } + return s; + } else if (thisRuntime.ffi.isVSRow(val)) { + if (!AsciiTable){ + AsciiTable = require("ascii-table"); + } + var headers = thisRuntime.getField(val, "headers"); + var rowVals = thisRuntime.getField(val, "values"); + headers = headers.map(function(h){ return renderValueSkeleton(h, values); }); + rowVals = rowVals.map(function(v) { return renderValueSkeleton(v, values); }); + var row = []; + for (var i = 0; i < headers.length; i++) { + row.push(headers[i]); + row.push(rowVals[i]); + } + var table = new AsciiTable(); + table.addRow(row); + return table.toString(); + } else if (thisRuntime.ffi.isVSTable(val)) { + // Do this for now until we decide on a string + // representation + if (util.isBrowser()) { + return ""; + } + if (!AsciiTable){ + AsciiTable = require("ascii-table"); + } + var headers = thisRuntime.getField(val, "headers"); + var rowSkel = thisRuntime.getField(val, "rows"); + headers = headers.map(function(h){ return renderValueSkeleton(h, values); }); + var rows = []; + for (var i = 0; i < rowSkel.length; i++) { + var curRow = []; + for (var j = 0; j < headers.length; j++) { + var v = renderValueSkeleton(rowSkel[i][j], values); + if (v.length > 40) { + curRow.push(v.substr(0, 35) + "[...]"); + } else { + curRow.push(v); + } + } + rows.push(curRow); + } + return new AsciiTable().fromJSON({ + heading: headers, + rows: rows + }).toString(); + } + } + + var DefaultReprMethods = { + "string": String, + "number": String, + "boolean": String, + "nothing": function(val) { return "nothing"; }, + "function": function(val) { return ""; }, + "method": function(val) { return ""; }, + "cyclic": function(val) { return val; }, + "opaque": function(val) { +// if (thisRuntime.imageLib.isImage(val.val)) { +// return ""; +// } else { + return ""; +// } + }, + "tuple": function(t, pushTodo) { + pushTodo(undefined, undefined, undefined, Array.prototype.slice.call(t.vals), "render-tuple"); + }, + "render-tuple": function(top) { + var s = "{ "; + for(var i = top.done.length - 1; i >= 0; i--) { + if(i < top.done.length - 1) { s += "; "; } + s += top.done[i]; + } + s += " }"; + return s; + + }, + "object": function(val, pushTodo) { + var keys = []; + var vals = []; + for (var field in val.dict) { + keys.push(field); // NOTE: this is reversed order from the values, + vals.unshift(val.dict[field]); // because processing will reverse them back + } + pushTodo(undefined, val, undefined, vals, "render-object", { keys: keys }); + }, + "render-object": function(top) { + var s = "{"; + for (var i = 0; i < top.extra.keys.length; i++) { + if (i > 0) { s += ", "; } + s += top.extra.keys[i] + ": " + top.done[i]; + } + s += "}"; + return s; + }, + "ref": function(val, implicit, pushTodo) { + pushTodo(undefined, undefined, val, [getRef(val)], "render-ref", { implicit: implicit }); + }, + "render-ref": function(top) { + var s = ""; + if (top.extra.implicit) { + s += top.done[0]; + } else { + s += "ref(" + top.done[0] + ")"; + } + return s; + }, + "data": function(val, pushTodo) { + var vals = []; + if (val.$constructor.$fieldNames) { + for (var i = 0; i < val.$constructor.$fieldNames.length; i++) { + vals[i] = val.dict[val.$constructor.$fieldNames[i]]; + } + } + pushTodo(undefined, val, undefined, vals, "render-data", + { arity: val.$arity, implicitRefs: val.$mut_fields_mask, + fields: val.$constructor.$fieldNames, constructorName: val.$name }); + }, + "render-data": function(top) { + var s = top.extra.constructorName; + // Sentinel value for singleton constructors + if(top.extra.arity !== -1) { + s += "("; + for(var i = top.done.length - 1; i >= 0; i--) { + if(i < top.done.length - 1) { s += ", "; } + s += top.done[i]; + } + s += ")"; + } + return s; + }, + "array": function(val, pushTodo) { + pushTodo(val, undefined, undefined, Array.prototype.slice.call(val), "render-array"); + }, + "render-array": function(top) { + var s = "[raw-array: "; + for(var i = top.done.length - 1; i >= 0; i--) { + if(i < top.done.length - 1) { s += ", "; } + s += top.done[i]; + } + s += "]"; + return s; + }, + "valueskeleton": function(val, output, pushTodo) { + // NOTE: this is the eager version; + // a lazy version would skip getting the skeleton values altogether + // console.trace(); + // throw new Error("How did we get here?"); + var values = thisRuntime.ffi.skeletonValues(output); + pushTodo(undefined, val, undefined, values, "render-valueskeleton", + { skeleton: output }); + }, + "render-valueskeleton": function(top) { + var skel = top.extra.skeleton; + top.extra.skeleton = undefined; + return renderValueSkeleton(skel, top.done); + } + }; + + var ReprMethods = {}; + ReprMethods["_torepr"] = Object.create(DefaultReprMethods); + ReprMethods["_torepr"]["string"] = function(str) { + return '"' + replaceUnprintableStringChars(String(str)) + '"'; + }; + + ReprMethods["_tostring"] = Object.create(DefaultReprMethods); + + ReprMethods["$cli"] = Object.create(DefaultReprMethods); + ReprMethods["$cli"]["function"] = function(val) { return ""; } + ReprMethods["$cli"]["method"] = function(val) { return ""; } + + ReprMethods.createNewRenderer = function createNewRenderer(name, base) { + if (ReprMethods[name]) { return false; } + ReprMethods[name] = Object.create(base); + return true; + } + + /******************** + Getting Fields + ********************/ + /** + Gets the field from an object of the given name + -If field is a method, it binds self correctly and returns a function + -If field is a placeholder, it calls get on the placeholder + -If field is a mutable -> error + -If field undefined -> error + -Otherwise, returns field value + + @param {PBase} val + @param {string} field + + @return {!PBase} + **/ + function getFieldLocInternal(val, field, loc, isBang) { + if(val === undefined) { + if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwInternalError === undefined) { + // console.trace(); + throw Error("FFI or thisRuntime.ffi.throwInternalError is not yet defined, and lookup of field " + field + " on undefined failed at location " + JSON.stringify(loc)); + } else { + thisRuntime.ffi.throwInternalError("Field lookup on undefined ", thisRuntime.ffi.makeList([field])); + } + } + if(!isObject(val)) { + if (val.$constrFor !== undefined) { + thisRuntime.ffi.throwLookupConstructorNotObject(makeSrcloc(loc), val.$constrFor, field); + } + thisRuntime.ffi.throwLookupNonObject(makeSrcloc(loc), val, field); + } + var fieldVal = val.dict[field]; + if(fieldVal === undefined) { + if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwFieldNotFound === undefined) { + throw Error("FFI or thisRuntime.ffi.throwFieldNotFound is not yet defined, and lookup of field " + field + " on " + toReprJS(val, ReprMethods._torepr) + " failed at location " + JSON.stringify(loc)); + } else { + throw thisRuntime.ffi.throwFieldNotFound(makeSrcloc(loc), val, field); + } + } + else if(isRef(fieldVal)){ + if(!isBang) { + return fieldVal; + // NOTE(joe Aug 8 2014): This is a design decision whether we + // want this to be an error or not + // thisRuntime.ffi.throwMessageException("Got ref in dot lookup"); + } + return getRef(fieldVal); + } + else if(isMethod(fieldVal)){ + var curried = fieldVal['meth'](val); + return makeFunction(curried, field); + } + else { + return fieldVal; + } + } + + function getFieldLoc(obj, field, loc) { + return getFieldLocInternal(obj, field, loc, false); + } + + function getFieldRef(obj, field, loc) { + return getFieldLocInternal(obj, field, loc, true); + } + + function getField(obj, field) { + return thisRuntime.getFieldLoc(obj, field, ["runtime"]); + } + + function getBracket(loc, obj, field) { + checkArityC(loc, 3, arguments, false); + if (obj && obj.dict && obj.dict["get-value"]) { + var gV = getColonFieldLoc(obj, "get-value", loc); + if (thisRuntime.isMethod(gV)) { + return gV.full_meth(obj, field); + } else if (thisRuntime.isFunction(gV)) { + return gV.app(field); + } + } + raiseJSJS( + thisRuntime.ffi.contractFail( + makeSrcloc(loc), + thisRuntime.ffi.makeBadBracketException(makeSrcloc(loc), obj))); + } + + function getMaker(obj, makerField, exprLoc, constrLoc) { + var maker = isObject(obj) && obj.dict[makerField]; + if (!isFunction(maker)) { + if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwFieldNotFound === undefined) { + throw Error("FFI or thisRuntime.ffi., val, field is not yet defined, and lookup of field " + makeField + " on " + toReprJS(val, ReprMethods._torepr) + " failed at location " + JSON.stringify(constrLoc)); + } else { + throw thisRuntime.ffi.throwConstructorSyntaxNonConstructor(makeSrcloc(exprLoc), makeSrcloc(constrLoc)); + } + } + return maker; + } + + + function extendObj(loc, val, extension) { + if (!isObject(val)) { thisRuntime.ffi.throwExtendNonObject(makeSrcloc(loc), val); } + return val.extendWith(extension); + } + + /** + Gets the field from an object of the given name + -Returns the raw field value + + @param {!PBase} val + @param {string} field + + @return {!PBase} + **/ + function getColonField(val, field) { + return getColonFieldLoc(val, field, ["runtime"]); + } + function getColonFieldLoc(val, field, loc) { + if(val === undefined) { thisRuntime.ffi.throwInternalError("Field lookup on undefined ", [field]); } + if(!isObject(val)) { thisRuntime.ffi.throwLookupNonObject(makeSrcloc(loc), val, field); } + var fieldVal = val.dict[field]; + if(fieldVal === undefined) { + thisRuntime.ffi.throwFieldNotFound(makeSrcloc(loc), val, field); + } + else { + return fieldVal; + } + } + + /** + + @constructor + */ + function POpaque(val, equals) { + this.val = val; + this.equals = equals; + /**@type {!Object.}*/ + this.brands = noBrands; + } + POpaque.prototype = Object.create(PBase.prototype); + + function makeOpaque(val, equals) { return new POpaque(val, equals); } + function isOpaque(val) { return val instanceof POpaque; } + + /********************* + Nothing + **********************/ + /** + Pyret Nothing + Represents the 'nothing' value in pyret + @constructor + @extends {PBase} + **/ + function PNothing() { + /**@type {!Object.}*/ + this.dict = emptyDict; + /**@type {!Object.}*/ + this.brands = noBrands; + } + + /**Clones the nothing + @param {!String} b The brand + @return {!PNothing} With same dict + */ + PNothing.prototype.brand = function(b) { + var newNoth = makeNothing(); + return brandClone(newNoth, this, b); + }; + /**Tests whether an object is a PNothing + @param {Object} obj the item to test + @return {boolean} true if object is a PNothing + */ + function isNothing(obj) { return obj instanceof PNothing; } + + /**Makes a nothing + @return {!PNothing} + */ + function makeNothing() {return new PNothing();} + var nothing = makeNothing(); + + /********************* + Number + **********************/ + /**Tests whether an object is a PNumber + @param {Object} obj the item to test + @return {boolean} true if object is a PNumber + */ + + var isNumber = jsnums.isPyretNumber; + + function isJSNumber(obj) { + return typeof obj === "number"; + } + + /**Makes a PNumber using the given bignum + + @param {Bignum} n the number the PNumber will contain + @return {!PNumber} with value n + */ + function makeNumberBig(n) { + return n; + } + + /**Makes a PNumber using the given JSNum + + @param {number} n the number the PNumber will contain + @return {!PNumber} with value n + */ + function makeNumber(n) { + return jsnums.fromFixnum(n, NumberErrbacks); + } + + /**Makes a PNumber using the given string + + @param {string} s + @return {!PNumber} with value n + */ + function makeNumberFromString(s) { + var result = jsnums.fromString(s, NumberErrbacks); + if(result === false) { + thisRuntime.ffi.throwMessageException("Could not create number from: " + s); + } + return result; + } + + /********************* + String + **********************/ + /**Tests whether an object is a PString + @param {Object} obj the item to test + @return {boolean} true if object is a PString + */ + function isString(obj) { + return typeof obj === 'string'; + } + + /**Makes a PString using the given s + + @param {string} s the string the PString will contain + @return {!PString} with value s + */ + function makeString(s) { + if(typeof s !== "string") { throw Error("Non-string given to makeString " + JSON.stringify(s)); } + return s; + } + + /********************* + Boolean + **********************/ + //Boolean Singletons + var pyretTrue = true; + var pyretFalse = false; + + /**Makes a PBoolean using the given s + + @param {boolean} b the Boolean the PBoolean will contain + @return {!PBoolean} with value b + */ + function makeBoolean(b) { + return b; + } + + function isBoolean(b) { + return b === !!b; + } + + /**Tests whether the boolean is equal to the singleton true value + + @param {PBoolean} b + @return {boolean} + */ + function isPyretTrue(b) { + return b === pyretTrue; + } + function isPyretFalse(b) { + return b === pyretFalse; + } + + function checkPyretTrue(b) { + checkBoolean(b); + return b === pyretTrue; + } + + /********************* + Function + **********************/ + + /**The representation of a function + @constructor + @extends {PBase} + + @param {Function} fun the function body + */ + function PFunction(fun, arity, name) { + /**@type {Function}*/ + this.app = fun; + + /**@type {string}*/ + this.name = name || "anonymous"; + } + + /**Clones the function + @param {!string} b The brand to add + @return {!PFunction} With same app and dict + */ + PFunction.prototype.brand = function(b) { + var newFun = makeFunction(this.app, this.name); + return brandClone(newFun, this, b); + }; + + /**Tests whether an object is a PFunction + @param {Object} obj the item to test + @return {boolean} true if object is a PFunction + */ + function isFunction(obj) {return obj instanceof PFunction; } + + /**Makes a PFunction using the given n + + @param {Function} fun The JS function that represents the body of the function, must contain at least one arg, which represents self + @return {!PFunction} with app of fun + */ + function makeFunction(fun, name) { + return new PFunction(fun, fun.length, name); + } + function makeFunctionArity(fun, arity, name) { + return new PFunction(fun, arity, name); + } + + /********************* + Method + **********************/ + + /**The representation of a method + @constructor + @param {Function} meth + @param {Function} full_meth + @extends {PBase} + */ + function PMethod(meth, full_meth, name) { + /**@type {Function}*/ + this['meth'] = meth; + + /**@type {Function}*/ + this['full_meth'] = full_meth; + + /**@type {string}*/ + this.name = name || "anonymous"; + + } + + /**Clones the method + @param {!string} b The brand to add + @return {!PMethod} With same meth and dict + */ + PMethod.prototype.brand = function(b) { + var newMeth = makeMethod(this['meth'], this['full_meth'], this['name']); + return brandClone(newMeth, this, b); + }; + + /**Tests whether an object is a PMethod + @param {Object} obj the item to test + @return {boolean} true if object is a PMethod + */ + function isMethod(obj) { return obj instanceof PMethod; } + + /**Makes a PMethod using the given function + The function first argument should be self + + @param {Function} meth The Curried JS function that represents the body of the method + @param {Function} full_meth The Full JS function that represents the body of the method + @return {!PMethod} with app of fun + */ + function makeMethod(meth, full_meth, name) { + return new PMethod(meth, full_meth, name); + } + var appN = function(obj) { + var that = this; + return function() { return that.full_meth(obj, ...arguments); } + } + + function maybeMethodCall0(obj, fieldname, loc) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(); + } + } + + + function maybeMethodCall1(obj, fieldname, loc, arg) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg); + } + } + + function maybeMethodCall2(obj, fieldname, loc, arg1, arg2) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2); + } + } + + function maybeMethodCall3(obj, fieldname, loc, arg1, arg2, arg3) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2, arg3); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2, arg3); + } + } + + function maybeMethodCall4(obj, fieldname, loc, arg1, arg2, arg3, arg4) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2, arg3, arg4); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2, arg3, arg4); + } + } + + function maybeMethodCall5(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2, arg3, arg4, arg5); + } + } + + function maybeMethodCall6(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5, arg6) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5, arg6); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2, arg3, arg4, arg5, arg6); + } + } + + function maybeMethodCall7(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + } + + function maybeMethodCall(obj, fieldname, loc, ...args) { + var R = thisRuntime; + var field = R.getColonFieldLoc(obj,fieldname,loc); + if(thisRuntime.isMethod(field)) { + return field.full_meth(obj, ...args); + } + else { + if(!(R.isFunction(field))) { + R.ffi.throwNonFunApp(loc,field); + } + return field.app(...args); + } + } + + function makeMethodFromFun(meth, name) { + return new PMethod(appN, meth, name); + } + var makeMethodN = makeMethodFromFun; + var makeMethod0 = makeMethodN; + var makeMethod1 = makeMethodN; + var makeMethod2 = makeMethodN; + var makeMethod3 = makeMethodN; + var makeMethod4 = makeMethodN; + var makeMethod5 = makeMethodN; + var makeMethod6 = makeMethodN; + var makeMethod7 = makeMethodN; + var makeMethod8 = makeMethodN; + + function callIfPossible0(L, fun, obj) { + if (isMethod(fun)) { + return fun.full_meth(obj); + } else if (isFunction(fun)) { + return fun.app(); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible1(L, fun, obj, v1) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1); + } else if (isFunction(fun)) { + return fun.app(v1); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible2(L, fun, obj, v1, v2) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2); + } else if (isFunction(fun)) { + return fun.app(v1, v2); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible3(L, fun, obj, v1, v2, v3) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible4(L, fun, obj, v1, v2, v3, v4) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3, v4); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3, v4); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible5(L, fun, obj, v1, v2, v3, v4, v5) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3, v4, v5); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3, v4, v5); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible6(L, fun, obj, v1, v2, v3, v4, v5, v6) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3, v4, v5, v6); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3, v4, v5, v6); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible7(L, fun, obj, v1, v2, v3, v4, v5, v6, v7) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3, v4, v5, v6, v7); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3, v4, v5, v6, v7); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + function callIfPossible8(L, fun, obj, v1, v2, v3, v4, v5, v6, v7, v8) { + if (isMethod(fun)) { + return fun.full_meth(obj, v1, v2, v3, v4, v5, v6, v7, v8); + } else if (isFunction(fun)) { + return fun.app(v1, v2, v3, v4, v5, v6, v7, v8); + } else { + thisRuntime.ffi.throwNonFunApp(L, fun); + } + } + + var GRAPHABLE = 0; + var UNGRAPHABLE = 1; + var SET = 2; + var FROZEN = 3; + function PRef() { + this.state = GRAPHABLE; + this.anns = makePAnnList([]); + this.value = undefined; + } + + function makeGraphableRef() { + return new PRef(); + } + function makeRef(ann, loc) { + var loc = typeof loc === "undefined" ? ["references"] : loc; + var r = new PRef(); + addRefAnn(r, ann, loc); + r.state = UNGRAPHABLE; + return r; + } + function makeUnsafeSetRef(ann, value, loc) { + var r = new PRef(); + r.state = SET; + r.anns = makePAnnList([{ann: ann, loc: loc}]); + r.value = value; + return r; + } + function isRef(val) { + return typeof val === "object" && val instanceof PRef; + } + function isGraphableRef(ref) { + return isRef(ref) && isRefGraphable(ref); + } + function isRefGraphable(ref) { + return ref.state === GRAPHABLE; + } + function isRefSet(ref) { + return ref.state >= SET; + } + function isRefFrozen(ref) { + return ref.state >= FROZEN; + } + function getRefAnns(ref) { + return ref.anns; + } + function refEndGraph(ref) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= UNGRAPHABLE) { + thisRuntime.ffi.throwMessageException("Attempted to end graphing of already-done with graph ref"); + } + ref.state = UNGRAPHABLE; + return ref; + } + function addRefAnn(ref, ann, loc) { + if(ref.state > UNGRAPHABLE) { + thisRuntime.ffi.throwMessageException("Attempted to annotate already-set ref"); + } + ref.anns.addAnn(ann, loc); + return ref; + } + function addRefAnns(ref, anns, locs) { + if(ref.state > UNGRAPHABLE) { + thisRuntime.ffi.throwMessageException("Attempted to annotate already-set ref"); + } + for(var i = 0; i < anns.length; i++) { + ref.anns.addAnn(anns[i], locs[i]); + } + return ref; + } + function freezeRef(ref) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= SET) { + ref.state = FROZEN; + return ref; + } + thisRuntime.ffi.throwMessageException("Attempted to freeze an unset ref"); + } + function unsafeSetRef(ref, value) { + if(ref.state === UNGRAPHABLE || ref.state === SET) { + ref.value = value; + ref.state = SET; + return ref; + } + thisRuntime.ffi.throwMessageException("Attempted to set an unsettable ref"); + } + /* Not stack-safe */ + function setRef(ref, value) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= SET) { return ref.value; } + thisRuntime.ffi.throwMessageException("Attempt to get an unset ref"); + } + + /********************* + Tuples + *********************/ + function PTuple(vals) { + this.vals = vals; + } + + function makeTuple(vals) { + return new PTuple(vals); + } + + function isTuple(val) { + return val instanceof PTuple; + } + + function getTuple(tup, index, l) { + if(!isTuple(tup)) { + thisRuntime.ffi.throwLookupNonTuple(makeSrcloc(l), tup, index); + } + if (index >= tup.vals.length) { + thisRuntime.ffi.throwLookupLargeIndex(makeSrcloc(l), tup, index); + } + return tup.vals[index] + } + + function checkTupleBind(tup, length, l) { + if (!isTuple(tup)) { + thisRuntime.ffi.throwNonTupleBind(makeSrcloc(l), tup); + } + if (tup.vals.length !== length) { + thisRuntime.ffi.throwBadTupleBind(makeSrcloc(l), tup, tup.vals.length, length); + } + return true; + } + + + /********************* + Object + **********************/ + /**The representation of an object + @constructor + @param {!Object.} dict + @extends {PBase} + */ + function PObject(dict, brands) { + /**@type {!Object.}*/ + this.dict = Object.create(null); + for (var prop in dict) + this.dict[prop] = dict[prop]; + + /**@type {!Object.}*/ + this.brands = brands; + } + //PObject.prototype = Object.create(PBase.prototype); + + PObject.prototype.updateDict = function(dict, keepBrands) { + var newObj = new PObject(dict, keepBrands ? this.brands : noBrands); + return newObj; + } + + /**Clones the object + @return {!PObject} With same dict + */ + PObject.prototype.brand = function(b) { + var newObj = makeObject(this.dict); + return brandClone(newObj, this, b); + }; + + /**Tests whether an object is a PObject + @param {Object} obj the item to test + @return {!boolean} true if object is a PObject + */ + function isObject(obj) { return obj instanceof PObject; } + + /**Makes a PObject using the given dict + + @param {!Object.} dict + @return {!PObject} with given dict + */ + function makeObject(dict) { + return new PObject(dict, noBrands); + } + + function makeBrandedObject(dict, brands) { + return new PObject(dict, brands); + } + + function makeMatch(name, arity) { + if(arity === -1) { + var f = function(self, handlers, els) { + if(hasField(handlers, name)) { + return getField(handlers, name).app(); + } + else { + return els.app(self); + } + }; + return makeMethod2(f, name); + } + else { + var f = function(self, handlers, _else) { + if(hasField(handlers, name)) { + return self.$app_fields(getField(handlers, name).app, self.$mut_fields_mask); + } + else { + return _else.app(self); + } + }; + return makeMethod2(f, name); + } + } + + function makeDataTypeConstructor($name, $app_fields, $arity, $mut_fields_mask, constructor, _ignored, $loc) { + + if (_ignored) { // POLYGLOT + $arity = $mut_fields_mask; + $mut_fields_mask = constructor; + constructor = _ignored; + } + + function C(dict, brands) { + this.dict = dict; + this.brands = brands; + } + C.prototype = new PObject({}, []); + C.prototype.$name = $name; + C.prototype.$loc = $loc; + C.prototype.$app_fields = $app_fields; + C.prototype.$mut_fields_mask = $mut_fields_mask; + C.prototype.$arity = $arity; + C.prototype.$constructor = constructor + + return C; + } + + function makeDataValue(dict, brands, $name, $app_fields, $arity, $mut_fields_mask, constructor, _ignored, $loc) { + if (_ignored) { // POLYGLOT + $arity = $mut_fields_mask; + $mut_fields_mask = constructor; + constructor = _ignored; + } + var ret = new PObject(dict, brands); + ret.$name = $name; + ret.$loc = $loc || [$name]; + ret.$app_fields = $app_fields; + ret.$mut_fields_mask = $mut_fields_mask; + ret.$arity = $arity; + ret.$constructor = constructor; + return ret; + } + + function isDataValue(v) { + return hasProperty(v, "$name") && hasProperty(v, "$app_fields") && hasProperty(v, "$arity"); + } + + function derefField(value, fieldIsRef, lookupIsRef) { + if(isRef(value)) { + if(lookupIsRef) { + // ref keyword in cases and either kind of field + // Update fields in place with deref + return getRef(value); + } else if(fieldIsRef) { + thisRuntime.ffi.throwMessageException("Cases on ref field needs to use ref"); + } + else { + return value; + } + } + else { + if(lookupIsRef) { + thisRuntime.ffi.throwMessageException("Cannot use ref in cases to access non-ref field"); + } + else { + return value; + } + } + } + + function getValue(obj, key) { + // TODO(joe): faster impl for builtins? + return thisRuntime.getField(obj, "get-value").app(key); + } + + /**The representation of an array + A PArray is simply a JavaScript array + */ + function isArray(val) { + return Array.isArray(val); + } + function makeArray(arr) { + return arr; + } + + /************************ + Type Checking + ************************/ + function checkType(val, test, typeName) { + if(!test(val)) { + thisRuntime.ffi.throwTypeMismatch(val, typeName); + } + return true; + } + + function isPyretVal(val) { + if (typeof val === "string" || typeof val === "boolean" || val instanceof Array) { + return true; + } + else if (jsnums.isPyretNumber(val)) { + return true; + } + else if (isObject(val) || + isTuple(val) || + isFunction(val) || + isMethod(val) || + isRef(val) || + isOpaque(val) || + isNothing(val)) { + return true; + } + return false; + } + + var checkArity = function(expected, args, source, isMethod) { + isMethod = isMethod || false; + if (expected !== args.length) { + throw thisRuntime.ffi.throwArityErrorC([source], expected, args, isMethod); + } + } + var checkArityC = function(cloc, expected, args, isMethod) { + isMethod = isMethod || false; + if (expected !== args.length) { + throw thisRuntime.ffi.throwArityErrorC(cloc, expected, args, isMethod); + } + } + + var checkConstructorArityC = function(cloc, name, expected, args) { + if (expected !== args.length) { + throw thisRuntime.ffi.throwConstructorArityErrorC(cloc, name, expected, args); + } + } + + var makeCheckType = function(test, typeName) { + if (arguments.length !== 2) { + // can't use checkArity yet because thisRuntime.ffi isn't initialized + throw("MakeCheckType was called with the wrong number of arguments: expected 2, got " + arguments.length); + } + return function(val) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i= 32 && val <= 126) { + ret.push( s.charAt(i) ); + } + else { + var numStr = val.toString(16).toUpperCase(); + while (numStr.length < 4) { + numStr = '0' + numStr; + } + ret.push('\\u' + numStr); + } + break; + } + } + return ret.join(''); + }; + + var escapeString = function (s) { + return '"' + replaceUnprintableStringChars(s) + '"'; + }; + + function toReprLoop(val, reprMethods) { + var stack = []; + var stackOfStacks = []; + function makeCache(type) { + var cyclicCounter = 1; + // Note (Ben): using concat was leading to quadratic copying times and memory usage... + return { + add: function(elts, elt) { + return {elt: elt, name: null, next: elts}; + }, + check: function(elts, elt) { + var cur = elts; + while (cur !== undefined) { + if (cur.elt === elt) { + if (cur.name === null) { + cur.name = ""; + } + return cur.name; + } else { + cur = cur.next; + } + } + return null; + } + }; + } + var arrayCache = makeCache("array"); + var addNewArray = arrayCache.add; + var findSeenArray = arrayCache.check; + var refCache = makeCache("ref"); + var addNewRef = refCache.add; + var findSeenRef = refCache.check; + var objCache = makeCache("object"); + var addNewObject = objCache.add; + var findSeenObject = objCache.check; + + function pushTodo(newArray, newObject, newRef, todo, type, extra) { + var top = stack[stack.length - 1]; + stack.push({ + arrays: (newArray !== undefined) ? addNewArray(top.arrays, newArray) : top.arrays, + objects: (newObject !== undefined) ? addNewObject(top.objects, newObject) : top.objects, + refs: (newRef !== undefined) ? addNewRef(top.refs, newRef) : top.refs, + todo: todo, + done: [], + type: type, + extra: extra + }); + } + function toReprHelp() { + var top; + function finishVal(str) { + top.todo.pop(); + top.done.push(str); + } + function implicitRefs(stackFrame) { + return stackFrame.extra && stackFrame.extra.implicitRefs; + } + while (stack.length > 0 && stack[0].todo.length > 0) { + top = stack[stack.length - 1]; + if (top.todo.length > 0) { + var next = top.todo[top.todo.length - 1]; + if(isNumber(next)) { finishVal(reprMethods["number"](next)); } + else if (isBoolean(next)) { finishVal(reprMethods["boolean"](next)); } + else if (isNothing(next)) { finishVal(reprMethods["nothing"](next)); } + else if (isFunction(next)) { finishVal(reprMethods["function"](next)); } + else if (isMethod(next)) { finishVal(reprMethods["method"](next)); } + else if (isString(next)) { finishVal(reprMethods["string"](next)); } + else if (isOpaque(next)) { finishVal(reprMethods["opaque"](next)); } + else if (isArray(next)) { + // NOTE(joe): need to copy the array below because we will pop from it + // Baffling bugs will result if next is passed directly + var arrayHasBeenSeen = findSeenArray(top.arrays, next); + if(typeof arrayHasBeenSeen === "string") { + finishVal(reprMethods["cyclic"](arrayHasBeenSeen)); + } + else { + reprMethods["array"](next, pushTodo); + } + } + else if(isTuple(next)) { + reprMethods["tuple"](next, pushTodo); + } + else if(isRef(next)) { + var refHasBeenSeen = findSeenRef(top.refs, next); + var implicit = implicitRefs(top) && top.extra.implicitRefs[top.todo.length - 1]; + if(typeof refHasBeenSeen === "string") { + finishVal(reprMethods["cyclic"](refHasBeenSeen)); + } + else if(!isRefSet(next)) { + finishVal(reprMethods["cyclic"]("")); + } + else { + reprMethods["ref"](next, implicit, pushTodo); + } + } + else if(isObject(next)) { + var objHasBeenSeen = findSeenObject(top.objects, next); + if(typeof objHasBeenSeen === "string") { + finishVal(reprMethods["cyclic"](objHasBeenSeen)); + } + else if (next.dict["_output"] && isMethod(next.dict["_output"])) { + var m = getColonField(next, "_output"); + var s = m.full_meth(next); + // Early exit for user-thrown exception here + if(isContinuation(s)) { return s; } + reprMethods["valueskeleton"](next, thisRuntime.unwrap(s), pushTodo); + } + else if(isDataValue(next)) { + reprMethods["data"](next, pushTodo); + } + else { + reprMethods["object"](next, pushTodo); + } + } + else { + CONSOLE.log("UNKNOWN VALUE: ", next); + console.trace(); + finishVal(reprMethods["string"]("")); + } + } + else { + // Done with object, array, or ref, so pop the todo list, and pop + // the object/array/ref itself + stack.pop(); + var prev = stack[stack.length - 1]; + prev.todo.pop(); + prev.done.push(reprMethods[top.type](top)); + } + } + var finalAns = stack[0].done[0]; + return finalAns; + } + function toReprFun($ar) { + var $step = 0; + var $ans = undefined; + if (thisRuntime.isActivationRecord($ar)) { + $step = $ar.step; + $ans = $ar.ans; + } + while(true) { + switch($step) { + case 0: + $step = 1; + $ans = toReprHelp(); + if(isContinuation($ans)) { break; } + return $ans; + case 1: + if (stack.length === 0) { + thisRuntime.ffi.throwInternalError("Somehow we've drained the toRepr worklist, but have results coming back"); + } + var top = stack[stack.length - 1]; + var a = thisRuntime.unwrap($ans); + if (thisRuntime.ffi.isValueSkeleton(a)) { + reprMethods["valueskeleton"](top.todo[top.todo.length - 1], a, pushTodo); + } else { + // this is essentially finishVal + top.todo.pop(); + top.done.push(a); + } + $step = 0; + continue; + } + break; + } + if(isContinuation($ans)) { + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( + ["runtime torepr"], + toReprFun, + $step, + [], + []); + return $ans; + } + } + function reenterToReprFun(val) { + // arity check + var $step = 0; + var $ans = undefined; + var oldStack = stack; + function getOld(name) { + if(oldStack.length > 0) { + return oldStack[oldStack.length - 1][name]; + } + else { + return undefined; + } + } + if (thisRuntime.isActivationRecord(val)) { + $step = val.step; + $ans = val.ans; + } + while(true) { + switch($step) { + case 0: + stackOfStacks.push(stack); + stack = [{ + arrays: getOld("arrays"), + objects: getOld("objects"), + refs: getOld("refs"), + todo: [val], + done: [], + extra: { implicitRefs: [false] }, + root: val + }]; + $step = 1; + $ans = toReprFun(); + if(isContinuation($ans)) { break; } + continue; + case 1: + stack = stackOfStacks.pop(); + return $ans; + } + break; + } + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( + ["runtime torepr (reentrant)"], + reenterToReprFun, + $step, + [], + []); + return $ans; + } + var toReprFunPy = makeFunction(reenterToReprFun, "toReprFun"); + return reenterToReprFun(val); + } + + /** + Creates the js string representation for the value + @param {!PBase} val + + @return {!string} the value given in + */ + function toReprJS(val, reprMethods) { + if (isNumber(val)) { return reprMethods["number"](val); } + else if (isBoolean(val)) { return reprMethods["boolean"](val); } + else if (isString(val)) { return reprMethods["string"](val); } + else { return toReprLoop(val, reprMethods); } + } + + /**@type {PFunction} */ + var torepr = makeFunction(function(val) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i 0 ? + this.getStack().map(function(s) { + var g = getField; + if(s && hasField(s, "source")) { + return g(s, "source") + + " at " + + g(s, "start-line") + + ":" + + g(s, "start-column") + } else if(s && hasField(s, "module-name")) { + return ""; + } else { + return ""; + } + }).join("\n") : + ""; + return "(internal error rendering PyretFailException) \n" + stackStr; + }; + PyretFailException.prototype.getStack = function() { + return this.pyretStack.map(makeSrcloc); + }; + + function makeSrcloc(arr) { + if (typeof arr === "object" && arr.length === 1) { + checkString(arr[0]); + if (thisRuntime.srcloc === undefined) { + return makeString(JSON.stringify(arr)); + } else { + return getField(thisRuntime.srcloc, "builtin").app(arr[0]) + } + } + else if (typeof arr === "object" && arr.length === 7) { + return getField(thisRuntime.srcloc, "srcloc").app( + arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6] + ); + } + else { + return getField(thisRuntime.srcloc, "builtin").app(String(arr)); + } + } + + function makePyretFailException(exn) { + return new PyretFailException(exn); + } + + var raiseJSJS = + /** + Raises any Pyret value as an exception + @param {!PBase} val the value to raise + */ + function(val) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i EqualityResult + + // JS function from Pyret values to Pyret equality answers + + // Used for equal-always(3), equal-now(3), and within-(abs|rel)(3) + + // left and right are two Pyret values to compare + + // alwaysFlag is true for -always semantics (ref equality on mutables), + // false for -now semantics (cycle/deep equality on mutables) + + // tol is the tolerance, expressed as a Pyret number (possibly an exact + // rational, possibly a roughnum). For non-within calls, it isn't + // provided and is undefined. + + // rel is a flag that indicates whether the tolerance should be + // interpreted as _absolute_ (two numbers are equal +/- tol) or _relative_ + // (two numbers are equal +/- n * tol, where tol is between 0 and 1) + + // fromWithin is a flag that indicates whether the tolerance came from + // a call to within() or one of its variants, or whether it was implicit + // (This affects the error message that gets generated) + function equal3(left, right, alwaysFlag, tol, rel, fromWithin) { + if(tol === undefined) { // means that we aren't doing any kind of within + var isIdentical = identical3(left, right); + if (!thisRuntime.ffi.isNotEqual(isIdentical)) { return isIdentical; } // if Equal or Unknown... + } + + var stackOfToCompare = []; + var toCompare = { stack: [], curAns: thisRuntime.ffi.equal }; + var cache = {left: [], right: [], equal: []}; + function findPair(obj1, obj2) { + for (var i = 0; i < cache.left.length; i++) { + if (cache.left[i] === obj1 && cache.right[i] === obj2) + return cache.equal[i]; + } + return false; + } + function setCachePair(obj1, obj2, val) { + for (var i = 0; i < cache.left.length; i++) { + if (cache.left[i] === obj1 && cache.right[i] === obj2) { + cache.equal[i] = val; + return; + } + } +// throw new Error("Internal error: tried to + } + function cachePair(obj1, obj2) { + cache.left.push(obj1); + cache.right.push(obj2); + cache.equal.push(thisRuntime.ffi.equal); + return cache.equal.length; + } + function equalHelp() { + var current, curLeft, curRight; + while (toCompare.stack.length > 0 && !thisRuntime.ffi.isNotEqual(toCompare.curAns)) { + current = toCompare.stack.pop(); + if(current.setCache) { + cache.equal[current.index - 1] = toCompare.curAns; + continue; + } + curLeft = current.left; + curRight = current.right; + + if (thisRuntime.ffi.isEqual(identical3(curLeft, curRight))) { + continue; + } else if (isNumber(curLeft) && isNumber(curRight)) { + if (tol) { + if (rel) { + if (jsnums.roughlyEqualsRel(curLeft, curRight, tol, NumberErrbacks)) { + continue; + } else { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + } else if (jsnums.roughlyEquals(curLeft, curRight, tol, NumberErrbacks)) { + continue; + } else { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + } else if (jsnums.isRoughnum(curLeft) || jsnums.isRoughnum(curRight)) { + toCompare.curAns = thisRuntime.ffi.unknown.app( + fromWithin ? "RoughnumZeroTolerances" : "Roughnums", + curLeft, + curRight); + } else if (jsnums.equals(curLeft, curRight, NumberErrbacks)) { + continue; + } else { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + } else if (isNothing(curLeft) && isNothing(curRight)) { + continue; + } else if (isFunction(curLeft) && isFunction(curRight)) { + toCompare.curAns = thisRuntime.ffi.unknown.app("Functions" , curLeft , curRight); + } else if (isMethod(curLeft) && isMethod(curRight)) { + toCompare.curAns = thisRuntime.ffi.unknown.app("Methods" , curLeft , curRight); + } else if (isOpaque(curLeft) && isOpaque(curRight)) { + if (curLeft.equals(curLeft.val, curRight.val)) { + continue; + } else { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + } else { + var curPair = findPair(curLeft, curRight); + if (curPair !== false) { + // Already checked this pair of objects + toCompare.curAns = curPair + continue; + } else { + var index = cachePair(curLeft, curRight); + toCompare.stack.push({ setCache: true, index: index, left: curLeft, right: curRight }); + if (isRef(curLeft) && isRef(curRight)) { + if (alwaysFlag && !(isRefFrozen(curLeft) && isRefFrozen(curRight))) { // In equal-always, non-identical refs are not equal + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); // We would've caught identical refs already + } else if(!isRefSet(curLeft) || !isRefSet(curRight)) { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } else { // In equal-now, we walk through the refs + var newPath = current.path; + var lastDot = newPath.lastIndexOf("."); + var lastParen = newPath.lastIndexOf(")"); + if (lastDot > -1 && lastDot > lastParen) { + newPath = newPath.substr(0, lastDot) + "!" + newPath.substr(lastDot + 1); + } else { + newPath = "deref(" + newPath + ")"; + } + toCompare.stack.push({ + left: getRef(curLeft), + right: getRef(curRight), + path: newPath + }); + } + } else if(isTuple(curLeft) && isTuple(curRight)) { + if (curLeft.vals.length !== curRight.vals.length) { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } else { + for (var i = 0; i < curLeft.vals.length; i++) { + toCompare.stack.push({ + left: curLeft.vals[i], + right: curRight.vals[i], + path: "is-tuple{ " + current.path + "; " + i + " }" + }); + } + } + } else if (isArray(curLeft) && isArray(curRight)) { + if (alwaysFlag || (curLeft.length !== curRight.length)) { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } else { + for (var i = 0; i < curLeft.length; i++) { + toCompare.stack.push({ + left: curLeft[i], + right: curRight[i], + path: "raw-array-get(" + current.path + ", " + i + ")" + }); + } + } + } else if (isObject(curLeft) && isObject(curRight)) { + if (!sameBrands(getBrands(curLeft), getBrands(curRight))) { + /* Two objects with brands that differ */ + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + else if (isObject(curLeft) && curLeft.dict["_equals"]) { + /* Two objects with the same brands and the left has an _equals method */ + // If this call stack-returns, + var newAns = getColonField(curLeft, "_equals").full_meth(curLeft, curRight, equalFunPy); + if(isContinuation(newAns)) { return newAns; } + // the continuation stacklet will get the result, and combine them manually + toCompare.curAns = combineEquality(toCompare.curAns, newAns); + } + else if (isDataValue(curLeft) && isDataValue(curRight)) { + /* Two data values with the same brands and no equals method on the left */ + var fieldNames = curLeft.$constructor.$fieldNames; + if (fieldNames && fieldNames.length > 0) { + for (var k = 0; k < fieldNames.length; k++) { + toCompare.stack.push({ + left: curLeft.dict[fieldNames[k]], + right: curRight.dict[fieldNames[k]], + path: current.path + "." + fieldNames[k] + }); + } + } + } else { + /* Two non-data objects with the same brands and no equals method on the left */ + var dictLeft = curLeft.dict; + var dictRight = curRight.dict; + var fieldsLeft; + var fieldsRight; + fieldsLeft = getFields(curLeft); + fieldsRight = getFields(curRight); + if(fieldsLeft.length !== fieldsRight.length) { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + for(var k = 0; k < fieldsLeft.length; k++) { + toCompare.stack.push({ + left: curLeft.dict[fieldsLeft[k]], + right: curRight.dict[fieldsLeft[k]], + path: current.path + "." + fieldsLeft[k] + }); + } + } + } else { + toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); + } + } + } + } + return toCompare.curAns; + } + var stackFrameDesc = [alwaysFlag ? "runtime equal-always" : "runtime equal-now"]; + function equalFun($ar) { + var $step = 0; + var $ans = undefined; + if (thisRuntime.isActivationRecord($ar)) { + $step = $ar.step; + $ans = $ar.ans; + } + while(true) { + switch($step) { + case 0: + $step = 1; + $ans = equalHelp(); + if(isContinuation($ans)) { + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( + stackFrameDesc, + equalFun, + $step, + [], + []); + } + return $ans; + case 1: + toCompare.curAns = combineEquality(toCompare.curAns, $ans); + $step = 0; + break; + } + } + } + function reenterEqualFun(left, right) { + // arity check + var $step = 0; + var $ans = undefined; + if (thisRuntime.isActivationRecord(left)) { + $step = left.step; + $ans = left.ans; + } + while(true) { + switch($step) { + case 0: + stackOfToCompare.push(toCompare); + toCompare = {stack: [{left: left, right: right, path: "the-value"}], curAns: thisRuntime.ffi.equal}; + $step = 1; + $ans = equalFun(); + if(isContinuation($ans)) { + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( + stackFrameDesc, + reenterEqualFun, + $step, + [], + []); + return $ans; + } + break; + case 1: + for(var i = 0; i < toCompare.stack.length; i++) { + var current = toCompare.stack[i]; + if(current.setCache) { + cache.equal[current.index - 1] = $ans; + } + } + toCompare = stackOfToCompare.pop(); + return $ans; + } + } + } + var equalFunPy = makeFunction(reenterEqualFun, "equalFun"); + return reenterEqualFun(left, right); + } + + var EQUAL_ALWAYS = true; + var EQUAL_NOW = false; + + var TOL_IS_REL = true; + var TOL_IS_ABS = false; + + var FROM_WITHIN = true; + var FROM_OP = false; + + function equalWithinAbsNow3(tol) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i 0) { + current = toCompare.pop(); + left = current.left; + right = current.right; + if (left === right) { continue; } + if (isNumber(left) && isNumber(right) && jsnums.equals(left, right, NumberErrbacks)) { + continue; + } + else if (isFunction(left) && isFunction(right) && left === right) { + continue; + } + else if (isMethod(left) && isMethod(right) && left === right) { + continue; + } + else if (isOpaque(left) && isOpaque(right) && left.equals(left.val, right.val)) { + continue; + } + else if (isTuple(left) && isTuple(right)) { + if (left.vars.length !== right.vars.length) { return false; } + for (var i = 0; i < left.vars.length; i++) { + toCompare.push({ + left: left.vars[i], + right: right.vars[i] + }); + } + } + else if (isArray(left) && isArray(right)) { + if (left.length !== right.length) { return false; } + for (var i = 0; i < left.length; i++) { + toCompare.push({ + left: left[i], + right: right[i] + }); + } + } + else if (isObject(left) && isObject(right)) { + var dictLeft = left.dict; + var dictRight = right.dict; + var fieldsLeft; + var fieldsRight; + // Fast case, for objects that get extended with similar patterns + // (e.g. variants of data have same proto), just check own props + if(getProto(dictLeft) === getProto(dictRight)) { + fieldsLeft = Object.keys(dictLeft); + fieldsRight = Object.keys(dictRight); + if(fieldsLeft.length !== fieldsRight.length) { return false; } + for(var k = 0; k < fieldsLeft.length; k++) { + toCompare.push({ + left: left.dict[fieldsLeft[k]], + right: right.dict[fieldsLeft[k]] + }); + } + } + // Slower case, just iterate all fields, all the way down to the bottom + else { + fieldsLeft = getFields(left); + fieldsRight = getFields(right); + if(fieldsLeft.length !== fieldsRight.length) { return false; } + for(var k = 0; k < fieldsLeft.length; k++) { + toCompare.push({ + left: left.dict[fieldsLeft[k]], + right: right.dict[fieldsLeft[k]] + }); + } + } + if(!sameBrands(getBrands(left), getBrands(right))) { + return false; + } + // continue would be inappropriate (but not incorrect) + // here, because we have enqueued things + } + else { + // In all other cases, things are not equal + return false; + } + } + + return true; + + }; + // Pyret function from Pyret values to Pyret booleans + var samePyPy = makeFunction(function(v1, v2) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= args.length) { return after(); } + else { + return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { + return checkI(i + 1); + }); + } + } + return checkI(0); + } + function _checkAnnArgs(anns, args, locs) { + function checkI(i) { + if(i >= args.length) { return nothing; } + else { + return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { + return checkI(i + 1); + }); + } + } + return checkI(0); + } + function checkConstructorArgs(anns, args, locs, after) { + function checkI(i) { + if(i >= args.length) { return after(); } + else { + if(isGraphableRef(args[i])) { return checkI(i + 1); } + else { + return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { + return checkI(i + 1); + }); + } + } + } + return checkI(0); + } + + function checkConstructorArgs2(anns, args, locs, mutMask, after) { + function checkI(i) { + if(i >= args.length) { return after(); } + else { + if(isGraphableRef(args[i]) && mutMask[i]) { return checkI(i + 1); } + else { + return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { + return checkI(i + 1); + }); + } + } + } + return checkI(0); + } + function checkRefAnns(obj, fields, vals, locs, exprloc, objloc) { + if (!isObject(obj)) { thisRuntime.ffi.throwUpdateNonObj(makeSrcloc(exprloc), obj, makeSrcloc(objloc));} + var anns = new Array(fields.length); + var refs = new Array(fields.length); + var field = null; + var ref = null; + for(var i = 0; i < vals.length; i++) { + field = fields[i]; + if(hasField(obj, field)) { + ref = obj.dict[field]; + if(isRef(ref)) { + if(isRefFrozen(ref)) { + thisRuntime.ffi.throwUpdateFrozenRef(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); + } + anns[i] = getRefAnns(ref); + refs[i] = ref; + } + else { + thisRuntime.ffi.throwUpdateNonRef(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); + } + } + else { + thisRuntime.ffi.throwUpdateNonExistentField(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); + } + } + function afterCheck() { + for(var i = 0; i < refs.length; i++) { + unsafeSetRef(refs[i], vals[i]); + } + return obj; + } + return checkAnnArgs(anns, vals, locs, afterCheck); + } + + function getDotAnn(loc, name, ann, field) { + checkString(name); + checkString(field); + if(ann.hasOwnProperty(field)) { + return ann[field]; + } + raiseJSJS(thisRuntime.ffi.contractFail(makeSrcloc(loc), + thisRuntime.ffi.makeDotAnnNotPresent(name, field))) + } + + function PPrimAnn(name, pred) { + this.name = name; + this.pred = pred; + this.flat = true; + } + PPrimAnn.prototype.checkOrFail = function(passed, val, loc) { + var that = this; + if(passed) { return thisRuntime.ffi.contractOk; } + else { + return thisRuntime.ffi.contractFail( + makeSrcloc(loc), + thisRuntime.ffi.makeTypeMismatch(val, that.name)); + } + } + PPrimAnn.prototype.check = function(compilerLoc, val) { + var that = this; + if(isCheapAnnotation(this)) { + return this.checkOrFail(this.pred(val), val, compilerLoc); + } + else { + return safeCall(function() { + return that.pred(val); + }, function(passed) { + return that.checkOrFail(passed, val, compilerLoc); + }, + "PPrimAnn.check"); + } + } + + function makePrimitiveAnn(name, jsPred) { + return new PPrimAnn(name, jsPred); + } + + function makePrimAnn(name, jsPred) { + var nameC = new PPrimAnn(name, jsPred); + // NOTE(joe): the $type$ sadness is because we only have one dynamic + // namespace + runtimeTypeBindings[name] = nameC; + runtimeNamespaceBindings['$type$' + name] = nameC; + runtimeNamespaceBindings[name] = nameC; + thisRuntime[name] = nameC; + } + + function PAnnList(anns) { + this.anns = anns; + this.flat = true; + for(var i = 0; i < anns.length; i++) { + if(!anns[i].flat) { this.flat = false; } + } + } + + function makePAnnList(anns) { + return new PAnnList(anns); + } + PAnnList.prototype.addAnn = function(ann, loc) { +// this.refinement = ann.refinement || this.refinement; + this.anns.push({ ann: ann, loc: loc }); + } + + PAnnList.prototype.check = function(compilerLoc, val) { + var that = this; + function checkI(i) { + if(i >= that.anns.length) { return thisRuntime.ffi.contractOk; } + else { + return safeCall(function() { + return that.anns[i].ann.check(compilerLoc, val); + }, function(passed) { + if(thisRuntime.ffi.isOk(passed)) { return checkI(i + 1); } + else { + return thisRuntime.ffi.contractFail( + getField(passed, "loc"), + thisRuntime.ffi.makeRefInitFail(makeSrcloc(that.anns[i].loc), getField(passed, "reason")) + ); + } + }, "PAnnList.check"); + } + } + return checkI(0); + } + + function PPredAnn(ann, pred, predname) { + this.ann = ann; + this.pred = pred; + this.predname = predname; + this.flat = false; // Default, see below + } + function makePredAnn(ann, pred, predname) { + checkFunction(pred); + checkString(predname); + return new PPredAnn(ann, pred, predname); + } + function makeFlatPredAnn(ann, pred, predname) { + checkFunction(pred); + checkString(predname); + var newAnn = new PPredAnn(ann, pred, predname); + newAnn.flat = true; + return newAnn; + } + PPredAnn.prototype.check = function(compilerLoc, val) { + function fail() { + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makePredicateFailure(val, that.predname)); + } + var that = this; + + // NOTE(joe): fast, safe path for flat refinement + if(that.flat) { + var result = that.ann.check(compilerLoc, val); + if(thisRuntime.ffi.isOk(result)) { + var predPassed = that.pred.app(val); + if(predPassed) { return thisRuntime.ffi.contractOk; } + else { return fail(); } + } + else { + return result; + } + } + + return safeCall(function() { + return that.ann.check(compilerLoc, val); + }, function(result) { + if(thisRuntime.ffi.isOk(result)) { + return safeCall(function() { + return that.pred.app(val); + }, function(result) { + if(isPyretTrue(result)) { + return thisRuntime.ffi.contractOk; + } + else { + return fail(); + } + }, + "PPredAnn.check (after the check)") + } + else { + return result; + } + }, + "PPredAnn.check"); + } + + function makeBranderAnn(brander, name) { + return makePrimitiveAnn(name, function(val) { + return isObject(val) && hasBrand(val, brander._brand); + }); + } + + + + function PTupleAnn(locs, anns) { + this.locs = locs; + this.anns = anns; + this.flat = true; + for (var i = 0; i < anns.length; i++) { + if(!anns[i].flat) { this.flat = false; } + } + } + + function makeTupleAnn(locs, anns) { + return new PTupleAnn(locs, anns); + } + PTupleAnn.prototype.check = function(compilerLoc, val) { + var that = this; + if(!isTuple(val)) { + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makeTypeMismatch(val, "Tuple") + ); + } + if(that.anns.length != val.vals.length) { + //return ffi.throwMessageException("lengths not equal"); + return that.createTupleLengthMismatch(makeSrcloc(compilerLoc), val, that.anns.length, val.vals.length); + } + + // Fast path for flat refinements, since arbitrary stack space can't be consumed + if(that.flat) { + for(var i = 0; i < that.anns.length; i++) { + var result = that.anns[i].check(that.locs[i], val.vals[i]); + if(!thisRuntime.ffi.isOk(result)) { + return this.createTupleFailureError(compilerLoc, val, i, result); + //return result; + } + } + return thisRuntime.ffi.contractOk; + } + + // Slow path for annotations with nonflat refinements, which may call back into Pyret + function deepCheckFields(curIndex) { + return safeCall(function() { + var thisChecker = that.anns[curIndex]; + return thisChecker.check(that.locs[curIndex], val.vals[curIndex]); + }, function(result) { + if(thisRuntime.ffi.isOk(result)) { + if(curIndex === that.anns.length - 1) { return thisRuntime.ffi.contractOk; } + else { return deepCheckFields(curIndex + 1); } + } + else if(thisRuntime.ffi.isFail(result)) { + return that.createTupleFailureError(compilerLoc, val, curIndex, result); + //return ffi.throwMessageException("types are wrong"); + } + }, + "PTupleAnn:deepCheckFields"); + } + if(that.anns.length === 0) { return thisRuntime.ffi.contractOk; } + else { return deepCheckFields(0); } + } + PTupleAnn.prototype.createTupleLengthMismatch = function(compilerLoc, val, annLength, tupLength) { + return thisRuntime.ffi.contractFail(compilerLoc, thisRuntime.ffi.makeTupleLengthMismatch(compilerLoc, val, annLength, tupLength)); + }; + PTupleAnn.prototype.createTupleFailureError = function(compilerLoc, val, fieldIndex, result) { + var loc = this.locs[fieldIndex]; + var ann = this.anns[fieldIndex]; + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makeTupleAnnsFail(val, thisRuntime.ffi.makeList([ + thisRuntime.ffi.makeAnnFailure( + makeSrcloc(loc), + ann, + getField(result, "reason") + ) + ])) + ); + }; + + /* PTupleAnn.prototype.createTupleLengthMismatch = function(loc, val, annLength, tupLength) { + ffi.contractFail(loc, ffi.makeTupleLengthMismatch(loc, val, annLength, tupleLength); + }; */ + + + + + function PRecordAnn(fields, locs, anns) { + this.fields = fields; + this.locs = locs; + this.anns = anns; + this.flat = true; + for (var i = 0; i < fields.length; i++) { + if(!anns[fields[i]].flat) { this.flat = false; } + } + } + function makeRecordAnn(fields, locs, anns) { + return new PRecordAnn(fields, locs, anns); + } + PRecordAnn.prototype.createMissingFieldsError = function(compilerLoc, val) { + var that = this; + var missingFields = []; + for(var i = 0; i < that.fields.length; i++) { + if(!hasField(val, that.fields[i])) { + var reason = thisRuntime.ffi.makeMissingField( + makeSrcloc(that.locs[i]), + that.fields[i] + ); + missingFields.push(reason); + } + } + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makeRecordFieldsFail(val, thisRuntime.ffi.makeList(missingFields)) + ); + }; + PRecordAnn.prototype.createRecordFailureError = function(compilerLoc, val, field, result) { + var that = this; + var loc; + for(var i = 0; i < that.fields.length; i++) { + if(that.fields[i] === field) { loc = that.locs[i]; } + } + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makeRecordFieldsFail(val, thisRuntime.ffi.makeList([ + thisRuntime.ffi.makeFieldFailure( + makeSrcloc(loc), + field, + getField(result, "reason") + ) + ])) + ); + }; + PRecordAnn.prototype.check = function(compilerLoc, val) { + var that = this; + if(!isObject(val)) { + return thisRuntime.ffi.contractFail( + makeSrcloc(compilerLoc), + thisRuntime.ffi.makeTypeMismatch(val, "Object") + ); + } + for(var i = 0; i < that.fields.length; i++) { + if(!hasField(val, that.fields[i])) { + return that.createMissingFieldsError(compilerLoc, val); + } + } + + // Fast path: flat computation, so no deep stack/pause potential + if(that.flat) { + for(var i = 0; i < that.fields.length; i++) { + var thisField = that.fields[i]; + var result = that.anns[thisField].check(that.locs[i], getColonField(val, thisField)); + if(!thisRuntime.ffi.isOk(result)) { + return result; + } + } + return thisRuntime.ffi.contractOk; + } + + // Slow path: not flat, so need to stack guard + function deepCheckFields(curIndex) { + var thisField; + return safeCall(function() { + thisField = that.fields[curIndex]; + var thisChecker = that.anns[thisField]; + return thisChecker.check(that.locs[curIndex], getColonField(val, thisField)); + }, function(result) { + if(thisRuntime.ffi.isOk(result)) { + if(curIndex === that.locs.length - 1) { return thisRuntime.ffi.contractOk; } + else { return deepCheckFields(curIndex + 1); } + } + else if(thisRuntime.ffi.isFail(result)) { + return that.createRecordFailureError(compilerLoc, val, thisField, result); + } + }, + "PRecordAnn:deepCheckFields"); + } + if(that.fields.length === 0) { return thisRuntime.ffi.contractOk; } + else { return deepCheckFields(0); } + } + + /******************** + + *******************/ + + /******************** + Results + *******************/ + /** + Result containing the value of a successful evaluation + + @constructor + @param {!PBase} r result value + */ + function SuccessResult(r, stats) { + this.result = r; + this.stats = stats; + } + + /** + Tests if result is a successResult + @param {Object} val the value to test + @return {boolean} true if it is a SuccessResult + */ + function isSuccessResult(val) { return val instanceof SuccessResult; } + function makeSuccessResult(r) { return new SuccessResult(r); } + + /** + Result containing the exception of a failed evaluation + + @constructor + @param {!Error} e exception's value + */ + function FailureResult(e, stats) { + this.exn = e; + this.stats = stats; + } + FailureResult.prototype.toString = function() { + return "FailureResult(" + this.exn + ")"; + }; + /** + Tests if result is a FailueResult + @param {Object} val the value to test + @return {boolean} true if it is a FailueResult + */ + function isFailureResult(val) { return val instanceof FailureResult; } + function makeFailureResult(e) { + return new FailureResult(e); + } + + /** + Represents a continuation + @constructor + */ + + function Cont(stack) { + this.stack = stack; + } + function makeCont() { return new Cont([]); } + function isCont(v) { return v instanceof Cont; } + function isContinuation(v) { return typeof v === "object" && v instanceof Cont; } + Cont.prototype._toString = function() { + var stack = this.stack; + var stackStr = stack && stack.length > 0 ? + stack.map(function(s) { + if(!s && s.from) { return ""; } + else { + if(typeof s.from === "string") { return s; } + else { + return s.from.join(","); + } + } + }).join("\n") : ""; + return stackStr; + } + + function Pause(stack, pause, resumer) { + this.stack = stack; + this.pause = pause; + this.resumer = resumer; + } + function makePause(pause, resumer) { return new Pause([], pause, resumer); } + function isPause(v) { return v instanceof Pause; } + Pause.prototype = Object.create(Cont.prototype); + + function safeTail(fun) { + return fun(); + } + + function safeThen(fun, stackFrame) { + return { + then: function(after) { + return safeThen(function() { + return safeCall(fun, after, stackFrame); + }); + }, + start: function() { + return fun(); + } + }; + } + + function safeCall(fun, after, stackFrame) { + var $ans = undefined; + var $step = 0; + var skipLoop = false; + if (thisRuntime.isActivationRecord(fun)) { + var $ar = fun; + $step = $ar.step; + $ans = $ar.ans; + fun = $ar.args[0]; + after = $ar.args[1]; + stackFrame = $ar.args[2]; + $fun_ans = $ar.vars[0]; + } + if (--thisRuntime.GAS <= 0 || --thisRuntime.RUNGAS <= 0) { + thisRuntime.EXN_STACKHEIGHT = 0; + skipLoop = true; + $ans = thisRuntime.makeCont(); + } + while(!skipLoop) { + switch($step) { + case 0: + $step = 1; + $ans = fun(); + if(isContinuation($ans)) { break;} + continue; + case 1: + var $fun_ans = $ans; + $step = 2; + $ans = after($fun_ans); + if(isContinuation($ans)) { break;} + continue; + case 2: ++thisRuntime.GAS; return $ans; + } + break; + } + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = + thisRuntime.makeActivationRecord( + "safeCall for " + stackFrame, + safeCall, + $step, + [ fun, after, stackFrame ], + [ $fun_ans ] + ); + return $ans; + } + + function eachLoop(fun, start, stop) { + var i = start; + function restart(_) { + var res = thisRuntime.nothing; + if (--thisRuntime.GAS <= 0) { + thisRuntime.EXN_STACKHEIGHT = 0; + res = thisRuntime.makeCont(); + } + while(!thisRuntime.isContinuation(res)) { + if (--thisRuntime.RUNGAS <= 0) { + thisRuntime.EXN_STACKHEIGHT = 0; + res = thisRuntime.makeCont(); + } + else { + if(i >= stop) { + ++thisRuntime.GAS; + // NOTE(joe): this is the one true return value/exit of the loop + return thisRuntime.nothing; + } + else { + res = fun.app(i); + i = i + 1; + } + } + } + res.stack[thisRuntime.EXN_STACKHEIGHT++] = + thisRuntime.makeActivationRecord("eachLoop", restart, true, [], []); + return res; + } + return restart(); + } + + var RUN_ACTIVE = false; + var currentThreadId = 0; + var activeThreads = {}; + + var queuedRuns = []; + + function run(program, namespace, options, onDone) { + // CONSOLE.log("In run2"); + if(RUN_ACTIVE) { + onDone(makeFailureResult(thisRuntime.ffi.makeMessageException("Internal: run called while already running"))); + return; + } + RUN_ACTIVE = true; + var start; + function startTimer() { + if (typeof window !== "undefined" && window.performance) { + start = window.performance.now(); + } else if (typeof process !== "undefined" && process.hrtime) { + start = process.hrtime(); + } + } + function endTimer() { + if (typeof window !== "undefined" && window.performance) { + return window.performance.now() - start; + } else if (typeof process !== "undefined" && process.hrtime) { + return process.hrtime(start); + } + } + function getStats() { + return { bounces: BOUNCES, tos: TOS, time: endTimer() }; + } + function finishFailure(exn) { + RUN_ACTIVE = false; + delete activeThreads[thisThread.id]; + onDone(makeFailureResult(exn, getStats())); + } + function finishSuccess(answer) { + RUN_ACTIVE = false; + delete activeThreads[thisThread.id]; + onDone(new SuccessResult(answer, getStats())); + } + + startTimer(); + var that = this; + var theOneTrueStackTop = ["top-of-stack"] + var kickoff = makeActivationRecord( + "", + function(ignored) { + return program(thisRuntime, namespace); + }, + 0, + [], + [] + ); + var theOneTrueStack = [kickoff]; + var theOneTrueStart = {}; + var val = theOneTrueStart; + var theOneTrueStackHeight = 1; + var BOUNCES = 0; + var TOS = 0; + + var sync = options.sync || false; + var initialGas = options.initialGas || thisRuntime.INITIAL_GAS; + var initialRunGas = options.initialRunGas || initialGas * 10; + thisRuntime.GAS = initialGas; + thisRuntime.RUNGAS = sync ? Infinity : initialRunGas; + + var threadIsCurrentlyPaused = false; + var threadIsDead = false; + currentThreadId += 1; + // Special case of the first thread to run in between breaks. + // This is the only thread notified of the break, others just die + // silently. + if(Object.keys(activeThreads).length === 0) { + var breakFun = function() { + threadIsCurrentlyPaused = true; + threadIsDead = true; + finishFailure(new PyretFailException(thisRuntime.ffi.userBreak)); + }; + } + else { + var breakFun = function() { + threadIsCurrentlyPaused = true; + threadIsDead = true; + }; + } + + var thisThread = { + handlers: { + resume: function(restartVal) { + if(!threadIsCurrentlyPaused) { throw new Error("Stack already running"); } + if(threadIsDead) { throw new Error("Failed to resume; thread has been killed"); } + threadIsCurrentlyPaused = false; + val = restartVal; + TOS++; + RUN_ACTIVE = true; + util.suspend(iter); + }, + break: breakFun, + error: function(errVal) { + threadIsCurrentlyPaused = true; + threadIsDead = true; + var exn; + if(isPyretException(errVal)) { + exn = errVal; + } else { + exn = new PyretFailException(errVal); + } + finishFailure(exn); + } + }, + pause: function() { + threadIsCurrentlyPaused = true; + }, + id: currentThreadId + }; + activeThreads[currentThreadId] = thisThread; + + // iter :: () -> Undefined + // This function should not return anything meaningful, as state + // and fallthrough are carefully managed. + function iter() { + // CONSOLE.log("In run2::iter, GAS is ", thisRuntime.GAS); + // If the thread is dead, return has already been processed + if (threadIsDead) { + return; + } + // If the thread is paused, something is wrong; only resume() should + // be used to re-enter + if (threadIsCurrentlyPaused) { throw new Error("iter entered during stopped execution"); } + var loop = true; + while (loop) { + loop = false; + try { + if (manualPause !== null) { + var thePause = manualPause; + manualPause = null; + return pauseStack(function(restarter) { + thePause.setHandlers({ + resume: function() { restarter.resume(val); }, + break: restarter.break, + error: restarter.error + }); + }); + } + while(theOneTrueStackHeight > 0) { + if(!sync && thisRuntime.RUNGAS <= 1) { + thisRuntime.RUNGAS = initialRunGas; + TOS++; + // CONSOLE.log("Setting timeout to resume iter"); + util.suspend(iter); + return; + } + var next = theOneTrueStack[--theOneTrueStackHeight]; + // CONSOLE.log("ActivationRecord[" + theOneTrueStackHeight + "] = " + JSON.stringify(next, null, " ")); + theOneTrueStack[theOneTrueStackHeight] = undefined; + // CONSOLE.log("theOneTrueStack = ", theOneTrueStack); + // CONSOLE.log("Setting ans to " + JSON.stringify(val, null, " ")); + if(!isContinuation(val)) { + next.ans = val; + } + // CONSOLE.log("GAS = ", thisRuntime.GAS); + + + + if (next.fun instanceof Function) { + val = next.fun(next); + } + else if (!(next instanceof ActivationRecord)) { + CONSOLE.log("Our next stack frame doesn't look right!"); + CONSOLE.log(JSON.stringify(next)); + CONSOLE.log(theOneTrueStack); + throw false; + } + if(next.fun instanceof Function && thisRuntime.isContinuation(val)) { + // console.log("BOUNCING"); + BOUNCES++; + thisRuntime.GAS = initialGas; + thisRuntime.RUNGAS = initialRunGas; + for(var i = val.stack.length - 1; i >= 0; i--) { + // console.error(e.stack[i].vars.length + " width;" + e.stack[i].vars + "; from " + e.stack[i].from + "; frame " + theOneTrueStackHeight); + theOneTrueStack[theOneTrueStackHeight++] = val.stack[i]; + } + // console.log("The new stack height is ", theOneTrueStackHeight); + // console.log("theOneTrueStack = ", theOneTrueStack.slice(0, theOneTrueStackHeight).map(function(f) { + // if (f && f.from) { return f.from.toString(); } + // else { return f; } + // })); + + if(isPause(val)) { + thisThread.pause(); + val.pause.setHandlers(thisThread.handlers); + if(val.resumer) { val.resumer(val.pause); } + return; + } + else if(thisRuntime.isCont(val)) { + if(sync) { + loop = true; + // DON'T return; we synchronously loop back to the outer while loop + continue; + } + else { + TOS++; + util.suspend(iter); + return; + } + } + } + // CONSOLE.log("Frame returned, val = " + JSON.stringify(val, null, " ")); + } + } catch(e) { +// console.error("Exceptions should no longer be thrown: ", e); + if(thisRuntime.isCont(e)) { + // CONSOLE.log("BOUNCING"); + BOUNCES++; + thisRuntime.GAS = initialGas; + for(var i = e.stack.length - 1; i >= 0; i--) { + // CONSOLE.error(e.stack[i].vars.length + " width;" + e.stack[i].vars + "; from " + e.stack[i].from + "; frame " + theOneTrueStackHeight); + theOneTrueStack[theOneTrueStackHeight++] = e.stack[i]; + } + // CONSOLE.log("The new stack height is ", theOneTrueStackHeight); + // CONSOLE.log("theOneTrueStack = ", theOneTrueStack.slice(0, theOneTrueStackHeight).map(function(f) { + // if (f && f.from) { return f.from.toString(); } + // else { return f; } + // })); + + if(isPause(e)) { + thisThread.pause(); + e.pause.setHandlers(thisThread.handlers); + if(e.resumer) { e.resumer(e.pause); } + return; + } + else if(thisRuntime.isCont(e)) { + if(sync) { + loop = true; + // DON'T return; we synchronously loop back to the outer while loop + continue; + } + else { + TOS++; + util.suspend(iter); + return; + } + } + } + + else if(isPyretException(e)) { + while(theOneTrueStackHeight > 0) { + var next = theOneTrueStack[--theOneTrueStackHeight]; + theOneTrueStack[theOneTrueStackHeight] = "sentinel"; + e.pyretStack.push(next.from); + } + finishFailure(e); + return; + } else { + finishFailure(e); + return; + } + } + } + finishSuccess(val); + return; + } + thisRuntime.GAS = initialGas; + thisRuntime.RUNGAS = initialRunGas; + iter(); + } + + var TRACE_DEPTH = 0; + var SHOW_TRACE = true; + var TOTAL_VARS = 0; + var PROFILE = []; + const getTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime + : (((typeof performance !== "undefined") && performance.now) ? performance.now : Date.now); + function profileEnter(loc) { + PROFILE.push([loc, true, getTime()]); + } + function profileExit(loc) { + PROFILE.push([loc, false, getTime()]); + } + function traceEnter(name, vars) { + if (!SHOW_TRACE) return; + TRACE_DEPTH++; + TOTAL_VARS += vars; + CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", + Array(TRACE_DEPTH).join(" ") + "--> ", + name, vars, TOTAL_VARS); + } + function traceExit(name, vars) { + if (!SHOW_TRACE) return; + TOTAL_VARS -= vars; + CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", + Array(TRACE_DEPTH).join(" ") + "<-- ", + name, vars, TOTAL_VARS); + TRACE_DEPTH = TRACE_DEPTH > 0 ? TRACE_DEPTH - 1 : 0; + } + function traceErrExit(name, vars) { + if (!SHOW_TRACE) return; + TOTAL_VARS -= vars; + CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", + Array(TRACE_DEPTH).join(" ") + " 0 ? TRACE_DEPTH - 1 : 0; + } + + var UNINITIALIZED_ANSWER = {'uninitialized answer': true}; + function ActivationRecord(from, fun, step, ans, args, vars) { + this.from = from; + this.fun = fun; + this.step = step; + this.ans = ans; + this.args = args; + this.vars = vars; + } + ActivationRecord.prototype.toString = function() { + return "{from: " + this.from + ", fun: " + this.fun + ", step: " + this.step + + ", ans: " + JSON.stringify(this.ans) + ", args: " + JSON.stringify(this.args) + + ", vars: " + JSON.stringify(this.vars) + "}"; + } + function makeActivationRecord(from, fun, step, args, vars) { + return new ActivationRecord(from, fun, step, UNINITIALIZED_ANSWER, args, vars); + } + function isActivationRecord(obj) { + return obj instanceof ActivationRecord; + } + function isInitializedActivationRecord(obj) { + return obj instanceof ActivationRecord && !(obj.ans === UNINITIALIZED_ANSWER); + } + + // we can set verbose to true to include the srcloc positions + // and the "safecall for ..." internal frames + // but by default, it's now terser + function printPyretStack(stack, verbose) { + if (stack === undefined) return " undefined"; + if (!verbose) { + stack = stack.filter(function(val) { return val instanceof Array && val.length == 7; }); + } + var stackStr = stack.map(function(val) { + if (val instanceof Array && val.length == 7) { + return (val[0] + ": line " + val[1] + ", column " + val[2]); + } else if (val) { + return JSON.stringify(val); + } + }); + return " " + stackStr.join("\n "); + } + + function breakAll() { + RUN_ACTIVE = false; + var threadsToBreak = activeThreads; + var keys = Object.keys(threadsToBreak); + activeThreads = {}; + for(var i = 0; i < keys.length; i++) { + threadsToBreak[keys[i]].handlers.break(); + } + } + + function pauseStack(resumer) { + // CONSOLE.log("Pausing stack: ", RUN_ACTIVE, new Error().stack); + RUN_ACTIVE = false; + thisRuntime.EXN_STACKHEIGHT = 0; + var pause = new PausePackage(); + return makePause(pause, resumer); + } + + function PausePackage() { + this.resumeVal = null; + this.errorVal = null; + this.breakFlag = false; + this.handlers = null; + } + PausePackage.prototype = { + setHandlers: function(handlers) { + if(this.breakFlag) { + handlers.break(); + } + else if (this.resumeVal !== null) { + handlers.resume(this.resumeVal); + } + else if (this.errorVal !== null) { + handlers.error(this.errorVal); + } + else { + this.handlers = handlers; + } + }, + break: function() { + if(this.resumeVal !== null || this.errorVal !== null) { + throw "Cannot break with resume or error requested"; + } + if(this.handlers !== null) { + this.handlers.break(); + } + else { + this.breakFlag = true; + } + }, + error: function(err) { + if(this.resumeVal !== null || this.breakFlag) { + throw "Cannot error with resume or break requested"; + } + if(this.handlers !== null) { + this.handlers.error(err); + } + else { + this.errorVal = err; + } + }, + resume: function(val) { + if(this.errorVal !== null || this.breakFlag) { + throw "Cannot resume with error or break requested"; + } + if(this.handlers !== null) { + this.handlers.resume(val); + } + else { + this.resumeVal = val; + } + } + }; + + var manualPause = null; + function schedulePause(resumer) { + var pause = new PausePackage(); + manualPause = pause; + resumer(pause); + } + + function getExnValue(v) { + if(!isOpaque(v) && !isPyretException(v.val)) { + thisRuntime.ffi.throwMessageException("Got non-exception value in getExnVal"); + } + return v.val.exn; + } + + function runThunk(f, then, options) { + return thisRuntime.run(f, thisRuntime.namespace, options || {}, then); + } + + function execThunk(thunk) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i r); + } else if (thisRuntime.isObject(l) && hasProperty(l.dict, "_greaterthan")) { + return safeTail(function() { + return thisRuntime.getField(l, "_greaterthan").app(r); + }); + } else { + thisRuntime.ffi.throwNumStringBinopError(l, r, ">", "Greater-than", "_greaterthan"); + } + }; + + var lessequal = function(l, r) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= r); + } else if (thisRuntime.isObject(l) && hasProperty(l.dict, "_greaterequal")) { + return safeTail(function() { + return thisRuntime.getField(l, "_greaterequal").app(r); + }); + } else { + thisRuntime.ffi.throwNumStringBinopError(l, r, ">=", "Greater-than-or-equal", "_greaterequal"); + } + }; + + var checkArrayIndex = function(methodName, arr, ix) { + var throwErr = function(reason) { + thisRuntime.ffi.throwInvalidArrayIndex(methodName, arr, ix, reason); + }; + if(ix >= arr.length) { + throwErr("is too large; the array length is " + arr.length); + } + if(ix < 0) { + throwErr("is a negative number."); + } + if(!(num_is_integer(ix))) { + throwErr("is not an integer."); + } + } + + var check_array_size = function(name, size) { + checkNumInteger(size); + checkNumNonNegative(size); + // NOTE(joe): + // Per https://www.ecma-international.org/ecma-262/5.1/#sec-9.6, we + // couldn't create anything larger anyway atop JS, and 4 billion elements + // ought to be enough for anyone (cue laughter from 2050) + if(jsnums.greaterThan(size, MAX_ARRAY_SIZE)) { + thisRuntime.throwMessageException(name + ": cannot create array larger than " + MAX_ARRAY_SIZE); + } + } + + var raw_array_from_list = function(lst) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i jsnums.lessThan(x,y)? 1 : jsnums.roughlyEquals(x, y, 0)? 0 : -1; + const wrappedGT = (x, y) => jsnums.greaterThan(x,y)? 1 : jsnums.roughlyEquals(x, y, 0)? 0 : -1; + arr.sort(asc? wrappedLT : wrappedGT); + return arr; + }; + + var raw_array_obj_destructure = function(arr, keys) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i (s.length - 1)) { thisRuntime.ffi.throwMessageException("string-char-at: index " + n + " is greater than the largest index the string " + s); } + + //TODO: Handle bignums that are beyond javascript + return thisRuntime.makeString(String(s.charAt(jsnums.toFixnum(n, NumberErrbacks)))); + } + var string_toupper = function(s) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i ASTRAL_CUTOFF) { + thisRuntime.ffi.throwMessageException("Invalid code point: " + c); + } + try { + var s = fromCodePoint(c); + if(typeof s === "string") { return s; } + else { + thisRuntime.ffi.throwMessageException("Invalid code point: " + c); + } + } + catch(e) { + thisRuntime.ffi.throwMessageException("Invalid code point: " + c); + } + } + var string_to_code_points = function(s) { + if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i= 0) { + constructorBody += "dict['" + argNames[i] + "'] = thisRuntime.makeUnsafeSetRef(checkAnns[" + checkIndex + "], " + a + ", checkLocs[" + checkIndex + "]);\n"; + } + else { + constructorBody += "dict['" + argNames[i] + "'] = thisRuntime.makeUnsafeSetRef(thisRuntime.Any, " + a + ", " + constArr(loc) + ");\n"; + } + } + else { + constructorBody += "dict['" + argNames[i] + "'] = " + a + ";\n"; + } + }); + constructorBody += "return new Construct(dict, brands)"; + + //var arityCheck = "thisRuntime.checkArityC(loc, " + allArgs.length + ", arguments);"; + var arityCheck = "var $l = arguments.length; if($l !== 1) { var $t = new Array($l); for(var $i = 0;$i < $l;++$i) { $t[$i] = arguments[$i]; } thisRuntime.checkArityC(L[7],1,$t,false); }"; + + var checksPlusBody = ""; + if(!flat) { + checksPlusBody = "return thisRuntime.checkConstructorArgs2(checkAnns, [" + checkArgs.join(",") + "], checkLocs, " + constArr(checkMuts) + ", function() {\n" + + constructorBody + "\n" + + "});"; + } + else { + checkArgs.forEach(function(a, i) { + if(checkMuts[i]) { + checksPlusBody += "var checkAns = thisRuntime.isGraphableRef(" + checkArgs[i] + ") || thisRuntime._checkAnn(checkLocs[" + i + "], checkAnns[" + i + "], " + checkArgs[i] + ");"; + } + else { + checksPlusBody += "var checkAns = thisRuntime._checkAnn(checkLocs[" + i + "], checkAnns[" + i + "], " + checkArgs[i] + ");"; + } + //checksPlusBody += "if(thisRuntime.isContinuation(checkAns)) { return checkAns; }"; + }); + checksPlusBody += constructorBody; + } + + var constrFun = "return function(" + allArgs.join(",") + ") {\n" + + "if(arguments.length !== " + allArgs.length + ") {\n" + + "thisRuntime.checkConstructorArityC(" + constArr(loc) + ", " + quote(reflName) + ", " + allArgs.length + ", thisRuntime.cloneArgs.apply(null, arguments));\n" + + "}\n" + + checksPlusBody + "\n" + + "}"; + + var outerArgs = ["thisRuntime", "checkAnns", "checkLocs", "brands", "reflFields", "constructor", "base"]; + var outerFun = Function.apply(null, outerArgs.concat(["\"use strict\";\n" + + "var Construct = thisRuntime.makeDataTypeConstructor(" + quote(reflName) + ", reflFields," + allArgs.length + ", " + constArr(allMuts) + ", constructor, false, " + constArr(loc) + ");" + + constrFun])); + return outerFun(thisRuntime, checkAnns, checkLocs, brands, reflFields, constructor, base); + } + + //CONSOLE.log(String(outerFun)); + + var funToReturn = makeFunction(function() { + var theFun = makeConstructor(); + funToReturn.app = theFun; + //CONSOLE.log("Calling constructor ", quote(reflName), arguments); + //CONSOLE.trace(); + var res = theFun.apply(null, arguments) + //CONSOLE.log("got ", res); + return res; + }, reflName); + funToReturn.$constrFor = reflName; + return funToReturn; + } + + function cloneArgs(/*arguments*/) { + var args = new Array(arguments.length); + for(var i = 0; i < args.length; ++i) { + //i is always valid index in the arguments object + args[i] = arguments[i]; + } + return args; + } + + function getModuleField(uri, which, name) { + var mod = thisRuntime.modules[uri]; + var ppt = thisRuntime.getField(mod, "provide-plus-types"); + var dict = thisRuntime.getField(ppt, which); + if(which === "values") { + return thisRuntime.getField(dict, name); + } + else { + return dict[name]; + } + } + + function addModuleToNamespace(namespace, valFields, typeFields, moduleObj) { + var newns = Namespace.namespace({}); + valFields.forEach(function(vf) { + if(hasField(moduleObj, "defined-values")) { + newns = newns.set(vf, getField(moduleObj, "defined-values")[vf]); + } + else { + newns = newns.set(vf, getField(getField(moduleObj, "values"), vf)); + } + }); + typeFields.forEach(function(tf) { + newns = newns.setType(tf, getField(moduleObj, "types")[tf]); + }); + return namespace.merge(newns); + } + + // Filled in by makePrimAnn + var runtimeTypeBindings = {}; + + /** type {!PBase} */ + var builtins = makeObject({ + '___debug': makeFunction(function(...args) { + debugger; + console.log(args); + return thisRuntime.nothing; + }), + // NOTE(joe): this is initialized later, in postLoadHooks for data-source and for table, + // but provided here because they show up in desugaring + 'open-table': makeFunction(function(spec) { return thisRuntime.openTable(spec); }), + 'as-loader-option': makeFunction(function(type, arg1, arg2) { return thisRuntime.asLoaderOption(type, arg1, arg2); }), + 'raw-make-row': makeFunction(function(arr) { // arr is a raw array of 2-tuples + thisRuntime.checkArray(arr); + return thisRuntime.makeRowFromArray(arr); + }), + + 'raw-array-from-list': makeFunction(raw_array_from_list, "raw-array-from-list"), + 'raw-array-sort-nums': makeFunction(raw_array_sort_nums,"raw-array-sort-nums"), + 'get-value': makeFunction(getValue, "get-value"), + 'has-field': makeFunction(hasField, "has-field"), + + 'raw-each-loop': makeFunction(eachLoop, "raw-each-loop"), + 'raw-array-to-list': makeFunction(raw_array_to_list, "raw-array-to-list"), + 'raw-list-map': makeFunction(raw_list_map, "raw-list-map"), + 'raw-list-filter': makeFunction(raw_list_filter, "raw-list-filter"), + 'raw-list-fold': makeFunction(raw_list_fold, "raw-list-fold"), + 'raw-list-join-str-last': makeFunction(raw_list_join_str_last, "raw-list-join-str-last"), + + 'current-checker': makeFunction(function() { + if (arguments.length !== 0) { var $a=new Array(arguments.length); for (var $i=0;$i} initialBindings + */ + function Namespace(initialBindings) { + if (typeof initialBindings !== "object") { + throw new Error("Non-object " + initialBindings + " given to Namespace constructor"); + } + /**@type {!Object.}*/ + this.bindings = initialBindings; + + /**@type {T}*/ + this.proto = noProto; + } + + function typify(key) { return "$type$" + key; } + + /** + Merges this namesspace with another + @param {!Namespace.} other + + @return {!Namespace.} A namespace that is the result of merging this namespace with the other namespace + */ + Namespace.prototype.merge = function(other) { + var combined = Object.create(this.bindings); + for (var k in other.bindings) { + combined[k] = other.bindings[k]; + } + var newNamespace = new Namespace(combined); + if (other.proto !== noProto) { + newNamespace.proto = other.proto; + } + else { + newNamespace.proto = this.proto; + } + return newNamespace; + }; + + /** + Gets the value of the specified binding with key 'key' + Throws an error if binding not bound + + @param {string} key the key to look up + @return {T} + */ + Namespace.prototype.get = function(key) { + if (key === "__proto__") { + if (this.proto === noProto) { + throw new Error("Looked up __proto__, not bound in namespace"); + } + return this.proto; + } + else { + if (!(key in this.bindings)) { + throw new Error("Looked up " + key + ", not bound in namespace"); + } + return this.bindings[key]; + } + }; + + Namespace.prototype.getType = function(key) { + return this.get(typify(key)); + }; + + + + /** + Sets the value of the specified binding with key 'key' + + @param {string} key the key to bind + @param {T} value the value to set + @return {!Namespace.} the updated namespace + */ + Namespace.prototype.set = function(key, value) { + if (key === "__proto__") { + var newNamespace = new Namespace(this.bindings); + newNamespace.proto = value; + return newNamespace; + } + else { + var o = Object.create(null); + o[key] = value; + return this.merge(new Namespace(o)); + } + }; + + Namespace.prototype.setType = function(key, value) { + return this.set(typify(key), value); + }; + + /** + Checks whether the namespace has 'key' bound + + @param {string} key the key to check + @return {boolean} whether or not key is bound + */ + Namespace.prototype.hasBinding = function(key) { + if (key === "__proto__") { + return this.proto !== noProto; + } + else { + return key in this.bindings; + } + }; + + /** + Gives an array of all names bound + + @return {Array.} + */ + Namespace.prototype.getNames = function() { + var keys = []; + if (this.proto !== noProto) { keys.push("__proto__"); } + for (var key in this.bindings) { + keys.push(key); + } + return keys; + }; + + var makeNamespace = function(bindingsObj) { + var bindings = Object.create(null); + Object.keys(bindingsObj).forEach(function(k) { + bindings[k] = bindingsObj[k]; + }); + return new Namespace(bindings); + } + + return { + namespace: makeNamespace, + Namespace: Namespace + }; +}); +define("program", ["s-expression","pyret-base/js/type-util","pyret-base/js/namespace","pyret-base/js/runtime"], function() { +return {"staticModules":{"builtin://global":({ + requires: [ ], + provides: { + shorthands: { + "AnyPred": ["arrow", ["Any"], "Boolean"], + "AnyPred2": ["arrow", ["Any", "Any"], "Boolean"], + "EqualityPred": ["arrow", ["Any", "Any"], + { tag: "name", + origin: { "import-type": "uri", uri: "builtin://equality" }, + name: "EqualityResult" }], + "NumPred": ["arrow", ["Number"], "Boolean"], + "NumPred2": ["arrow", ["Number", "Number"], "Boolean"], + "NumBinop": ["arrow", ["Number", "Number"], "Number"], + "NumUnop": ["arrow", ["Number"], "Number"], + "StrPred": ["arrow", ["String"], "Boolean"], + "StrPred2": ["arrow", ["String", "String"], "Boolean"], + "StrBinop": ["arrow", ["String", "String"], "String"], + "StrUnop": ["arrow", ["String"], "String"], + "tva": ["tid", "a"], + "tvb": ["tid", "b"], + "tvc": ["tid", "c"], + "tvd": ["tid", "d"], + "tve": ["tid", "e"], + "Equality": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://equality" }, + name: "EqualityResult" } + }, + values: { + "print": ["forall", "a", ["arrow", ["tva"], "tva"]], + "test-print": ["forall", "a", ["arrow", ["tva"], "tva"]], + "print-error": ["forall", "a", ["arrow", ["tva"], "tva"]], + "display": ["forall", "a", ["arrow", ["tva"], "tva"]], + "display-error": ["forall", "a", ["arrow", ["tva"], "tva"]], + + "run-task": ["arrow", [["arrow", [], "Any"]], "Any"], + "brander": "Any", + "raise": ["arrow", ["Any"], "tbot"], + "nothing": "Nothing", + "builtins": ["record", { + "trace-value": ["forall", ["a"], ["arrow", ["Any", "tva"], "tva"]], + "has-field": ["arrow", [["record", {}], "String"], "Boolean"], + "raw-array-to-list": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], ["List", "tva"]]], + "raw-array-from-list": ["forall", ["a"], ["arrow", [["List", "tva"]], ["RawArray", "tva"]]], + "raw-array-join-str": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], "String"]], + "raw-array-sort-nums" : ["arrow", [["RawArray", "Number"], "Boolean"], ["RawArray", "Number"]], + "raw-list-map": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["List", "tva"]], ["List", "tvb"]]], + "raw-list-filter": ["forall", ["a"], ["arrow", [["arrow", ["tva"], "Boolean"], ["List", "tva"]], ["List", "tva"]]], + "raw-list-fold": ["forall", ["a", "b"], ["arrow", [["arrow", ["tvb", "tva"], "tvb"], "tvb", ["List", "tva"]], "tvb"]], + "spy": ["arrow", ["Any", "String", ["RawArray", "Any"], ["RawArray", "String"], ["RawArray", "Any"]], "Nothing"], + "current-checker": ["arrow", [], ["record", { + "run-checks": "tbot", + "check-is": "tbot", + "check-is-not": "tbot", + "check-is-roughly": "tbot", + "check-is-refinement": "tbot", + "check-is-not-refinement": "tbot", + "check-satisfies": "tbot", + "check-satisfies-delayed": "tbot", + "check-satisfies-not": "tbot", + "check-satisfies-not-delayed": "tbot", + "check-raises-str": "tbot", + "check-raises-not": "tbot", + "check-raises-other-str": "tbot", + "check-raises-satisfies": "tbot", + "check-raises-violates": "tbot" + }]] + }], + + "torepr": ["arrow", ["Any"], "String"], + "to-repr": ["arrow", ["Any"], "String"], + "tostring": ["arrow", ["Any"], "String"], + "to-string": ["arrow", ["Any"], "String"], + "not": ["arrow", ["Boolean"], "Boolean"], + + "isBoolean": "AnyPred", + + "is-boolean":{'bind': 'fun', 'flatness': 0, 'name': 'is-boolean', 'typ': 'AnyPred'}, + "is-function":{'bind': 'fun', 'flatness': 0, 'name': 'is-function', 'typ': 'AnyPred'}, + "is-nothing":{'bind': 'fun', 'flatness': 0, 'name': 'is-nothing', 'typ': 'AnyPred'}, + "is-number":{'bind': 'fun', 'flatness': 0, 'name': 'is-number', 'typ': 'AnyPred'}, + "is-object":{'bind': 'fun', 'flatness': 0, 'name': 'is-object', 'typ': 'AnyPred'}, + "is-raw-array":{'bind': 'fun', 'flatness': 0, 'name': 'is-raw-array', 'typ': 'AnyPred'}, + "is-string":{'bind': 'fun', 'flatness': 0, 'name': 'is-string', 'typ': 'AnyPred'}, + "is-table":{'bind': 'fun', 'flatness': 0, 'name': 'is-table', 'typ': 'AnyPred'}, + "is-row":{'bind': 'fun', 'flatness': 0, 'name': 'is-row', 'typ': 'AnyPred'}, + "is-tuple":{'bind': 'fun', 'flatness': 0, 'name': 'is-tuple', 'typ': 'AnyPred'}, + + // Array functions + "raw-array": ["forall", ["a"], ["Maker", "tva", ["RawArray", "tva"]]], + "raw-array-get": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-get', + 'typ': ["forall", ["a"], ["arrow", [["RawArray", "tva"], "Number"], "tva"]]}, + "raw-array-sort-nums" : {'bind' : 'fun', + 'flatness': 0, + 'name': 'raw-array-sort-nums', + 'typ': ["arrow", [["RawArray", "Number"], "Boolean"], ["RawArray", "Number"]]}, + "raw-array-set": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-set', + 'typ': ["forall", ["a"], ["arrow", [["RawArray", "tva"], "Number", "tva"], + ["RawArray", "tva"]]]}, + "raw-array-of": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-of', + 'typ':["forall", ["a"], ["arrow", ["tva", "Number"], ["RawArray", "tva"]]]}, + "raw-array-build-opt": ["forall", ["a"], ["arrow", [["arrow", ["Number"], ["Option", "tva"]], "Number"], + ["RawArray", "tva"]]], + "raw-array-build": ["forall", ["a"], ["arrow", [["arrow", ["Number"], "tva"], "Number"], + ["RawArray", "tva"]]], + + "raw-array-length": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-length', + 'typ':["forall", ["a"], ["arrow", [["RawArray", "tva"]], "Number"]]}, + "raw-array-join-str": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], "String"]], + "raw-array-to-list": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-to-list', + 'typ':["forall", ["a"], ["arrow", [["RawArray", "tva"]], ["List", "tva"]]]}, + "raw-array-from-list": {'bind': 'fun', + 'flatness': 0, + 'name': 'raw-array-from-list', + 'typ':["forall", ["a"], ["arrow", [["List", "tva"]], ["RawArray", "tva"]]]}, + "raw-array-filter": ["forall", ["a"], ["arrow", [["arrow", ["tva"], "Boolean"], ["RawArray", "tva"]], ["RawArray", "tva"]]], + "raw-array-and-mapi": ["forall", ["a"], ["arrow", [["arrow", ["tva", "Number"], "Boolean"], ["RawArray", "tva"]], "Boolean"]], + "raw-array-or-mapi": ["forall", ["a"], ["arrow", [["arrow", ["tva", "Number"], "Boolean"], ["RawArray", "tva"]], "Boolean"]], + "raw-array-map": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["RawArray", "tva"]], ["RawArray", "tvb"]]], + "raw-array-map-1": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["RawArray", ["RawArray", "tva"]]], ["RawArray", "tvb"]]], + "raw-array-fold": ["forall", ["a", "b"], ["arrow", [["arrow", ["tvb", "tva", "Number"], "tvb"], + "tvb", ["RawArray", "tva"], "Number"], "tvb"]], + + // Equality functions + + "roughly-equal-always3": "EqualityPred", + "roughly-equal-now3": "EqualityPred", + "equal-always3": "EqualityPred", + "equal-now3": "EqualityPred", + "identical3": "EqualityPred", + "roughly-equal-always": "AnyPred2", + "roughly-equal-now": "AnyPred2", + "roughly-equal": "AnyPred2", + "equal-always": "AnyPred2", + "equal-now": "AnyPred2", + "identical": "AnyPred2", + "within": {'bind': 'fun', + 'flatness': 0, + 'name': 'within', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-abs": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-abs', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-rel": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-now": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-abs-now": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-abs-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-rel-now": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-abs3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-rel3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-now3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-abs-now3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + "within-rel-now3": {'bind': 'fun', + 'flatness': 0, + 'name': 'within-rel-now', + 'typ':["arrow", ["Number"], "AnyPred2"]}, + + // Number functions + + "num-is-fixnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-fixnum', 'typ': 'NumPred'}, + "num-is-integer":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-integer', 'typ': 'NumPred'}, + "num-is-negative":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-negative', 'typ': 'NumPred'}, + "num-is-non-negative":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-non-negative', 'typ': 'NumPred'}, + "num-is-non-positive":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-non-positive', 'typ': 'NumPred'}, + "num-is-positive":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-positive', 'typ': 'NumPred'}, + "num-is-rational":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-rational', 'typ': 'NumPred'}, + "num-is-roughnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-roughnum', 'typ': 'NumPred'}, + "string-to-number":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-to-number', + 'typ': ['arrow', ['String'], ['Option', 'Number']]}, + "string-tonumber":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-tonumber', + 'typ': ['arrow', ['String'], ['Option', 'Number']]}, + + "num-equal":{'bind': 'fun', 'flatness': 0, 'name': 'num-equal', 'typ': 'NumPred2'}, + "num-max":{'bind': 'fun', 'flatness': 0, 'name': 'num-max', 'typ': 'NumBinop'}, + "num-min":{'bind': 'fun', 'flatness': 0, 'name': 'num-min', 'typ': 'NumBinop'}, + "num-within":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-within', + 'typ': ['arrow', ['Number'], 'NumPred2']}, + "num-within-abs":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-within-abs', + 'typ': ['arrow', ['Number'], 'NumPred2']}, + "num-within-rel":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-within-rel', + 'typ': ['arrow', ['Number'], 'NumPred2']}, + + "num-abs":{'bind': 'fun', 'flatness': 0, 'name': 'num-abs', 'typ': 'NumUnop'}, + "num-acos":{'bind': 'fun', 'flatness': 0, 'name': 'num-acos', 'typ': 'NumUnop'}, + "num-asin":{'bind': 'fun', 'flatness': 0, 'name': 'num-asin', 'typ': 'NumUnop'}, + "num-atan":{'bind': 'fun', 'flatness': 0, 'name': 'num-atan', 'typ': 'NumUnop'}, + "num-atan2":{'bind': 'fun', 'flatness': 0, 'name': 'num-atan2', 'typ': 'NumBinop'}, + "num-cos":{'bind': 'fun', 'flatness': 0, 'name': 'num-cos', 'typ': 'NumUnop'}, + "num-sin":{'bind': 'fun', 'flatness': 0, 'name': 'num-sin', 'typ': 'NumUnop'}, + "num-tan":{'bind': 'fun', 'flatness': 0, 'name': 'num-tan', 'typ': 'NumUnop'}, + + "num-modulo":{'bind': 'fun', 'flatness': 0, 'name': 'num-modulo', 'typ': 'NumBinop'}, + "num-remainder":{'bind': 'fun', 'flatness': 0, 'name': 'num-remainder', 'typ': 'NumBinop'}, + + "num-exact":{'bind': 'fun', 'flatness': 0, 'name': 'num-exact', 'typ': 'NumUnop'}, + "num-exp":{'bind': 'fun', 'flatness': 0, 'name': 'num-exp', 'typ': 'NumUnop'}, + "num-log":{'bind': 'fun', 'flatness': 0, 'name': 'num-log', 'typ': 'NumUnop'}, + "num-truncate":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate', 'typ': 'NumUnop'}, + "num-floor":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor', 'typ': 'NumUnop'}, + "num-ceiling":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling', 'typ': 'NumUnop'}, + "num-round":{'bind': 'fun', 'flatness': 0, 'name': 'num-round', 'typ': 'NumUnop'}, + "num-round-even":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even', 'typ': 'NumUnop'}, + "num-truncate-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate-digits', 'typ': 'NumBinop'}, + "num-floor-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor-digits', 'typ': 'NumBinop'}, + "num-ceiling-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling-digits', 'typ': 'NumBinop'}, + "num-round-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-digits', 'typ': 'NumBinop'}, + "num-round-even-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even-digits', 'typ': 'NumBinop'}, + "num-truncate-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate-place', 'typ': 'NumBinop'}, + "num-floor-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor-place', 'typ': 'NumBinop'}, + "num-ceiling-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling-place', 'typ': 'NumBinop'}, + "num-round-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-place', 'typ': 'NumBinop'}, + "num-round-even-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even-place', 'typ': 'NumBinop'}, + "num-sqr":{'bind': 'fun', 'flatness': 0, 'name': 'num-sqr', 'typ': 'NumUnop'}, + "num-sqrt":{'bind': 'fun', 'flatness': 0, 'name': 'num-sqrt', 'typ': 'NumUnop'}, + "num-to-fixnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-fixnum', 'typ': 'NumUnop'}, + "num-to-rational":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-rational', 'typ': 'NumUnop'}, + "num-to-roughnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-roughnum', 'typ': 'NumUnop'}, + + "num-expt":{'bind': 'fun', 'flatness': 0, 'name': 'num-expt', 'typ': 'NumBinop'}, + "num-to-string":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-to-string', + 'typ': ['arrow', ['Number'], 'String']}, + "num-to-string-digits":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-to-string-digits', + 'typ': ['arrow', ['Number', 'Number'], 'String']}, + "num-tostring":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-tostring', + 'typ': ['arrow', ['Number'], 'String']}, + + "num-random":{'bind': 'fun', 'flatness': 0, 'name': 'num-random', 'typ': 'NumUnop'}, + "num-random-seed":{'bind': 'fun', + 'flatness': 0, + 'name': 'num-random-seed', + 'typ': ['arrow', ['Number'], 'Nothing']}, + "random":{'bind': 'fun', 'flatness': 0, 'name': 'random', 'typ': 'NumUnop'}, + + // Time functions + + "time-now":{'bind': 'fun', + 'flatness': 0, + 'name': 'time-now', + 'typ': ['arrow', [], 'Number']}, + + // String functions + + "gensym":{'bind': 'fun', 'flatness': 0, 'name': 'gensym', 'typ': ['arrow', ['String'], 'String']}, + "string-repeat":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-repeat', + 'typ': ['arrow', ['String', 'Number'], 'String']}, + "string-substring":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-substring', + 'typ': ['arrow', ['String', 'Number', 'Number'], 'String']}, + "string-to-lower":{'bind': 'fun', 'flatness': 0, 'name': 'string-to-lower', 'typ': 'StrUnop'}, + "string-to-upper":{'bind': 'fun', 'flatness': 0, 'name': 'string-to-upper', 'typ': 'StrUnop'}, + "string-tolower":{'bind': 'fun', 'flatness': 0, 'name': 'string-tolower', 'typ': 'StrUnop'}, + "string-toupper":{'bind': 'fun', 'flatness': 0, 'name': 'string-toupper', 'typ': 'StrUnop'}, + + "string-append":{'bind': 'fun', 'flatness': 0, 'name': 'string-append', 'typ': 'StrBinop'}, + "string-char-at":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-char-at', + 'typ': ['arrow', ['String', 'Number'], 'String']}, + "string-contains":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, + "string-starts-with":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, + "string-ends-with":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, + "string-equal":{'bind': 'fun', 'flatness': 0, 'name': 'string-equal', 'typ': 'StrPred2'}, + "string-explode":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-explode', + 'typ': ['arrow', ['String'], ['List', 'String']]}, + "string-from-code-point":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-from-code-point', + 'typ': ['arrow', ['Number'], 'String']}, + "string-from-code-points":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-from-code-points', + 'typ': ['arrow', [['List', 'Number']], 'String']}, + "string-index-of":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-index-of', + 'typ': ['arrow', ['String', 'String'], 'Number']}, + "string-is-number":{'bind': 'fun', 'flatness': 0, 'name': 'string-is-number', 'typ': 'StrPred'}, + "string-isnumber":{'bind': 'fun', 'flatness': 0, 'name': 'string-isnumber', 'typ': 'StrPred'}, + "string-length":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-length', + 'typ': ['arrow', ['String'], 'Number']}, + "string-replace":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-replace', + 'typ': ['arrow', ['String', 'String', 'String'], 'String']}, + "string-split":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-split', + 'typ': ['arrow', ['String', 'String'], ['List', 'String']]}, + "string-split-all":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-split-all', + 'typ': ['arrow', ['String', 'String'], ['List', 'String']]}, + "string-to-code-point":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-to-code-point', + 'typ': ['arrow', ['String'], 'Number']}, + "string-to-code-points":{'bind': 'fun', + 'flatness': 0, + 'name': 'string-to-code-points', + 'typ': ['arrow', ['String'], ['List', 'Number']]}, + "_plus": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Any']}, + "_minus": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Any']}, + "_times": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Any']}, + "_divide": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Any']}, + "_lessthan": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, + "_lessequal": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, + "_greaterthan": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, + "_greaterequal": {'bind': 'fun', + 'flatness': false, + 'name': '_plus', + 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, + + "ref-get": "Any", + "ref-set": "Any", + "ref-freeze": "Any", + + "exn-unwrap": "Any" + + }, + aliases: { + "Any": "tany", + "Method": "tany", + "Object": "tany", + "Function": "tany", + "NumNonNegative": "Number", + "NumNonPositive": "Number", + "NumNegative": "Number", + "NumPositive": "Number", + "NumRational": "Number", + "NumInteger": "Number", + "Roughnum": "Number", + "Exactnum": "Number", + "Boolean": "Boolean", + "Number": "Number", + "String": "String", + "Nothing": "Nothing", + "RawArray": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://global" }, + name: "RawArray" }, + "Row": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://global" }, + name: "Row" }, + "Table": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://global" }, + name: "Table" } + }, + datatypes: { + "Number": ["data", "Number", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "Exactnum": ["data", "Exactnum", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "Roughnum": ["data", "Roughnum", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumInteger": ["data", "NumInteger", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumRational": ["data", "NumRational", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumPositive": ["data", "NumPositive", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumNegative": ["data", "NumNegative", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumNonPositive": ["data", "NumNonPositive", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "NumNonNegative": ["data", "NumNonNegative", [], [], { + "_plus": ["arrow", ["Number"], "Number"], + "_times": ["arrow", ["Number"], "Number"], + "_divide": ["arrow", ["Number"], "Number"], + "_minus": ["arrow", ["Number"], "Number"], + "_lessthan": ["arrow", ["Number"], "Boolean"], + "_lessequal": ["arrow", ["Number"], "Boolean"], + "_greaterthan": ["arrow", ["Number"], "Boolean"], + "_greaterequal": ["arrow", ["Number"], "Boolean"] + }], + "String": ["data", "String", [], [], { + "_plus": ["arrow", ["String"], "String"], + "_lessthan": ["arrow", ["String"], "Boolean"], + "_lessequal": ["arrow", ["String"], "Boolean"], + "_greaterthan": ["arrow", ["String"], "Boolean"], + "_greaterequal": ["arrow", ["String"], "Boolean"] + }], + "Table": ["data", "Table", [], [], { + "length": ["arrow", [], "Number"] + }], + "Row": ["data", "Row", [], [], { }], + "Function": ["data", "Function", [], [], {}], + "Boolean": ["data", "Boolean", [], [], {}], + "Object": ["data", "Object", [], [], {}], + "Method": ["data", "Method", [], [], {}], + "Nothing": ["data", "Nothing", [], [], {}], + "RawArray": ["data", "RawArray", ["a"], [], {}] + } + }, + nativeRequires: [ ], + theModule: function(runtime, namespace, uri /* intentionally blank */) { + return runtime.globalModuleObject; + } +}) +, +"builtin://either":({"theMap":"{\"version\":3,\"sources\":[\"builtin://either\"],\"names\":[\"builtin://either\",\",8,0,60,11,3,116\",\",9,2,80,9,16,94\",\",10,2,97,10,17,112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODC,8BAPCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,+BARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,4BARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,gCATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,6BATDH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,oDAPCD;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,mDAPCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://either\"}", +"theModule":"function _3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d__6(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://either\";\nvar D = R.undefined;\nvar L = [[M,9,2,80,9,16,94],\n[M,9,14,92,9,15,93],\n[M,10,2,97,10,17,112],\n[M,10,15,110,10,16,111],\n[M,8,0,60,11,3,116],\n[\"dummy location\"],\n[M,3,0,13,11,3,116]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel3 = function _3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d__6($$resumer13) {\nvar $step2 = 0;\nvar $elidedFrames8 = 0;\nvar $ans5 = D;\nvar $al6 = L[6];\nif(R.isAR($$resumer13)) {\n$step2 = $$resumer13.step;\n$al6 = $$resumer13.from;\n$ans5 = $$resumer13.ans;\n$elidedFrames8 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nleft30 = $$resumer13.vars[0];\nis$right32 = $$resumer13.vars[1];\nEither36 = $$resumer13.vars[2];\nanswer37 = $$resumer13.vars[3];\nright34 = $$resumer13.vars[4];\nis$left28 = $$resumer13.vars[5];\nis$Either26 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5 = R.mC();\n}\nwhile(!R.isContinuation($ans5)) {\nswitch($step2) {\ncase 0: var Either9 = R.nB(\"Either\",L[4]);\nvar Either36 = R.mBA(Either9,\"Either\");\nvar Either24 = {\"$var\":D};\nvar is$Either26 = {\"$var\":D};\nvar is$left28 = {\"$var\":D};\nvar left30 = {\"$var\":D};\nvar is$right32 = {\"$var\":D};\nvar right34 = {\"$var\":D};\nvar $left_getfields14 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $left_mutablemask13 = [false];\nvar $left$base10 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"left\",1)};\nvar $left$brander11 = R.nB(\"left\",L[0]);\nvar $left$brands12 = {};\n$left$brands12[Either9._brand] = true;\n$left$brands12[$left$brander11._brand] = true;\nvar left15 = R.mVC(L[0],function $synthesizedConstructor_$left$base() {\nreturn [R.Any];\n},[\"v18\"],[L[1]],[false],[\"v18\"],$left_mutablemask13,$left$base10,$left$brands12,\"left\",$left_getfields14,$left$base10);\nvar $right_getfields20 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $right_mutablemask19 = [false];\nvar $right$base16 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"right\",1)};\nvar $right$brander17 = R.nB(\"right\",L[2]);\nvar $right$brands18 = {};\n$right$brands18[Either9._brand] = true;\n$right$brands18[$right$brander17._brand] = true;\nvar right21 = R.mVC(L[2],function $synthesizedConstructor_$right$base() {\nreturn [R.Any];\n},[\"v22\"],[L[3]],[false],[\"v22\"],$right_mutablemask19,$right$base16,$right$brands18,\"right\",$right_getfields20,$right$base16);\nvar anf_assign23 = R.mO({\"Either\":G(Either9,\"test\",L[4]),\n\"is-left\":G($left$brander11,\"test\",L[0]),\n\"left\":left15,\n\"is-right\":G($right$brander17,\"test\",L[2]),\n\"right\":right21});\nEither24.$var = anf_assign23;\nR.nothing;\n$al6 = L[4];\nvar anf_assign25 = G(Either24.$var,\"Either\",L[4]);\nis$Either26.$var = anf_assign25;\nR.nothing;\n$al6 = L[0];\nvar anf_assign27 = G(Either24.$var,\"is-left\",L[0]);\nis$left28.$var = anf_assign27;\nR.nothing;\n$al6 = L[0];\nvar anf_assign29 = G(Either24.$var,\"left\",L[0]);\nleft30.$var = anf_assign29;\nR.nothing;\n$al6 = L[2];\nvar anf_assign31 = G(Either24.$var,\"is-right\",L[2]);\nis$right32.$var = anf_assign31;\nR.nothing;\n$al6 = L[2];\nvar anf_assign33 = G(Either24.$var,\"right\",L[2]);\nright34.$var = anf_assign33;\nR.nothing;\n$step2 = 1;\n$ans5 = R.maybeMethodCall2(builtins1,\"trace-value\",L[5],L[5],nothing2);\nbreak;\ncase 1: var answer37 = $ans5;\n$step2 = 2;\n$ans5 = R.maybeMethodCall0(builtins1,\"current-checker\",L[4]);\nbreak;\ncase 2: var anf_method_obj35 = $ans5;\n$step2 = 3;\n$ans5 = R.maybeMethodCall0(anf_method_obj35,\"results\",L[4]);\nbreak;\ncase 3: var checks38 = $ans5;\n$step2 = 4;\n$ans5 = R.mO({\"answer\":answer37,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"left\":left30.$var,\n\"is-Either\":is$Either26.$var,\n\"is-left\":is$left28.$var,\n\"is-right\":is$right32.$var,\n\"right\":right34.$var},\n\"defined-types\":{\"Either\":Either36},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"left\":left30.$var,\n\"is-Either\":is$Either26.$var,\n\"is-left\":is$left28.$var,\n\"is-right\":is$right32.$var,\n\"right\":right34.$var}),\n\"types\":{\"Either\":Either36},\n\"modules\":{}}),\n\"checks\":checks38});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans5;\ndefault: R.ffi.throwSpinnakerError(L[6],$step2);\n}\n}\nif($step2 !== 4) {\n$ans5.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6,$toplevel3,$step2,[],[left30,is$right32,Either36,answer37,right34,is$left28,is$Either26],$elidedFrames8);\n}\nreturn $ans5;\n};\nreturn R.safeCall($toplevel3,function module_load(moduleVal) {\nR.modules[\"$builtin://either1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"right":{"bind":"fun", +"origin":{"local-bind-site":["builtin://either", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://either", +10, +2, +97, +10, +17, +112], +"new-definition":true, +"uri-of-definition":"builtin://either"}, +"flatness":0, +"name":"right", +"typ":"tany"}, +"is-right":{"bind":"fun", +"origin":{"local-bind-site":["builtin://either", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://either", +10, +2, +97, +10, +17, +112], +"new-definition":true, +"uri-of-definition":"builtin://either"}, +"flatness":0, +"name":"is-right", +"typ":"tany"}, +"is-left":{"bind":"fun", +"origin":{"local-bind-site":["builtin://either", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://either", +9, +2, +80, +9, +16, +94], +"new-definition":true, +"uri-of-definition":"builtin://either"}, +"flatness":0, +"name":"is-left", +"typ":"tany"}, +"is-Either":{"bind":"let", +"origin":{"local-bind-site":["builtin://either", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://either", +8, +0, +60, +11, +3, +116], +"new-definition":true, +"uri-of-definition":"builtin://either"}, +"typ":"tany"}, +"left":{"bind":"fun", +"origin":{"local-bind-site":["builtin://either", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://either", +9, +2, +80, +9, +16, +94], +"new-definition":true, +"uri-of-definition":"builtin://either"}, +"flatness":0, +"name":"left", +"typ":"tany"}}, +"datatypes":{"Either":["data",{"local-bind-site":["builtin://either", +8, +0, +60, +11, +3, +116], +"definition-bind-site":["builtin://either", +8, +0, +60, +11, +3, +116], +"new-definition":true, +"uri-of-definition":"builtin://either"},"Either",["atom#a#10","atom#b#11"],[["left", +[["v", +["tid", +"atom#a#10"]]], +{}],["right", +[["v", +["tid", +"atom#b#11"]]], +{}]],{}]}, +"aliases":{"Either":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://error-display":({"theMap":"{\"version\":3,\"sources\":[\"builtin://error-display\"],\"names\":[\"builtin://error-display\",\",8,0,60,25,3,902\",\",9,2,81,9,49,128\",\",10,2,131,10,57,186\",\",11,2,189,11,50,237\",\",12,2,240,12,65,303\",\",13,2,306,13,85,389\",\",14,2,392,14,21,411\",\",15,2,414,15,23,435\",\",16,2,438,16,28,464\",\",17,2,467,19,43,627\",\",20,2,630,20,34,662\",\",21,2,665,21,31,694\",\",22,2,697,22,79,774\",\",23,2,777,23,38,813\",\",24,2,816,24,84,898\",\",29,29,943,29,51,965\",\",30,48,1019,30,57,1028\",\",30,29,1000,30,61,1032\",\",31,48,1086,31,57,1095\",\",31,29,1067,31,62,1100\",\",32,48,1154,32,57,1163\",\",32,29,1135,32,65,1171\",\",33,48,1225,33,57,1234\",\",33,29,1206,33,68,1245\",\",34,48,1299,34,57,1308\",\",34,29,1280,34,71,1322\",\",35,48,1376,35,57,1385\",\",35,29,1357,35,74,1402\",\",39,39,1458,39,61,1480\",\",39,29,1448,39,62,1481\",\",40,58,1545,40,67,1554\",\",40,39,1526,40,71,1558\",\",40,29,1516,40,72,1559\",\",41,58,1623,41,67,1632\",\",41,39,1604,41,72,1637\",\",41,29,1594,41,73,1638\",\",42,58,1702,42,67,1711\",\",42,39,1683,42,75,1719\",\",42,29,1673,42,76,1720\",\",43,58,1784,43,67,1793\",\",43,39,1765,43,78,1804\",\",43,29,1755,43,79,1805\",\",44,58,1869,44,67,1878\",\",44,39,1850,44,81,1892\",\",44,29,1840,44,82,1893\",\",45,58,1957,45,67,1966\",\",45,39,1938,45,84,1983\",\",45,29,1928,45,85,1984\",\",49,40,2045,49,62,2067\",\",49,29,2034,49,68,2073\",\",50,59,2138,50,68,2147\",\",50,40,2119,50,72,2151\",\",50,29,2108,50,78,2157\",\",51,59,2222,51,68,2231\",\",51,40,2203,51,73,2236\",\",51,29,2192,51,79,2242\",\",52,59,2307,52,68,2316\",\",52,40,2288,52,76,2324\",\",52,29,2277,52,82,2330\",\",53,59,2395,53,68,2404\",\",53,40,2376,53,79,2415\",\",53,29,2365,53,85,2421\",\",54,59,2486,54,68,2495\",\",54,40,2467,54,82,2509\",\",54,29,2456,54,88,2515\",\",55,59,2580,55,68,2589\",\",55,40,2561,55,85,2606\",\",55,29,2550,55,91,2612\",\",59,40,2669,59,62,2691\",\",59,29,2658,59,63,2692\",\",60,59,2757,60,68,2766\",\",60,40,2738,60,72,2770\",\",60,29,2727,60,73,2771\",\",61,59,2836,61,68,2845\",\",61,40,2817,61,73,2850\",\",61,29,2806,61,74,2851\",\",62,59,2916,62,68,2925\",\",62,40,2897,62,76,2933\",\",62,29,2886,62,77,2934\",\",63,59,2999,63,68,3008\",\",63,40,2980,63,79,3019\",\",63,29,2969,63,80,3020\",\",64,59,3085,64,68,3094\",\",64,40,3066,64,82,3108\",\",64,29,3055,64,83,3109\",\",65,59,3174,65,68,3183\",\",65,40,3155,65,85,3200\",\",65,29,3144,65,86,3201\",\",71,40,3291,71,62,3313\",\",71,29,3280,71,67,3318\",\",72,59,3383,72,68,3392\",\",72,40,3364,72,72,3396\",\",72,29,3353,72,77,3401\",\",73,59,3466,73,68,3475\",\",73,40,3447,73,73,3480\",\",73,29,3436,73,78,3485\",\",74,59,3550,74,68,3559\",\",74,40,3531,74,76,3567\",\",74,29,3520,74,81,3572\",\",75,59,3637,75,68,3646\",\",75,40,3618,75,79,3657\",\",75,29,3607,75,84,3662\",\",76,59,3727,76,68,3736\",\",76,40,3708,76,82,3750\",\",76,29,3697,76,87,3755\",\",77,59,3820,77,68,3829\",\",77,40,3801,77,85,3846\",\",77,29,3790,77,90,3851\",\",81,47,3919,81,69,3941\",\",81,29,3901,81,70,3942\",\",82,66,4014,82,75,4023\",\",82,47,3995,82,79,4027\",\",82,29,3977,82,80,4028\",\",83,66,4100,83,75,4109\",\",83,47,4081,83,80,4114\",\",83,29,4063,83,81,4115\",\",84,66,4187,84,75,4196\",\",84,47,4168,84,83,4204\",\",84,29,4150,84,84,4205\",\",85,66,4277,85,75,4286\",\",85,47,4258,85,86,4297\",\",85,29,4240,85,87,4298\",\",86,66,4370,86,75,4379\",\",86,47,4351,86,89,4393\",\",86,29,4333,86,90,4394\",\",87,66,4466,87,75,4475\",\",87,47,4447,87,92,4492\",\",87,29,4429,87,93,4493\",\",91,49,4558,91,71,4580\",\",91,38,4547,91,72,4581\",\",91,29,4538,91,73,4582\",\",92,68,4656,92,77,4665\",\",92,49,4637,92,81,4669\",\",92,38,4626,92,82,4670\",\",92,29,4617,92,83,4671\",\",93,68,4745,93,77,4754\",\",93,49,4726,93,82,4759\",\",93,38,4715,93,83,4760\",\",93,29,4706,93,84,4761\",\",94,68,4835,94,77,4844\",\",94,49,4816,94,85,4852\",\",94,38,4805,94,86,4853\",\",94,29,4796,94,87,4854\",\",95,68,4928,95,77,4937\",\",95,49,4909,95,88,4948\",\",95,38,4898,95,89,4949\",\",95,29,4889,95,90,4950\",\",96,68,5024,96,77,5033\",\",96,49,5005,96,91,5047\",\",96,38,4994,96,92,5048\",\",96,29,4985,96,93,5049\",\",97,68,5123,97,77,5132\",\",97,49,5104,97,94,5149\",\",97,38,5093,97,95,5150\",\",97,29,5084,97,96,5151\",\",101,3,5178,101,11,5186\",\",102,4,5192,102,12,5200\",\",103,12,5214,103,18,5220\",\",103,4,5206,103,55,5257\",\",107,3,5284,107,11,5292\",\",108,4,5298,108,12,5306\",\",109,12,5320,109,18,5326\",\",109,4,5312,109,47,5355\",\",113,3,5383,113,11,5391\",\",114,4,5397,114,12,5405\",\",115,12,5419,115,18,5425\",\",115,4,5411,115,49,5456\",\",119,3,5492,119,11,5500\",\",120,4,5506,120,12,5514\",\",121,12,5528,121,18,5534\",\",121,4,5520,121,65,5581\",\",125,3,5611,125,11,5619\",\",126,4,5625,126,12,5633\",\",127,12,5647,127,18,5653\",\",127,4,5639,127,53,5688\",\",131,3,5716,131,11,5724\",\",132,4,5730,132,12,5738\",\",133,12,5752,133,18,5758\",\",133,4,5744,133,57,5797\",\",137,3,5829,137,11,5837\",\",138,4,5843,138,12,5851\",\",139,12,5865,139,18,5871\",\",139,4,5857,139,57,5910\",\",143,3,5936,143,11,5944\",\",144,4,5950,144,12,5958\",\",145,12,5972,145,18,5978\",\",145,4,5964,145,45,6005\",\",149,3,6033,149,11,6041\",\",150,4,6047,150,12,6055\",\",151,12,6069,151,18,6075\",\",151,4,6061,151,49,6106\",\",156,21,6157,156,37,6173\",\",157,6,6181,157,22,6197\",\",158,10,6216,158,25,6231\",\",159,10,6253,159,25,6268\",\",160,10,6290,160,25,6305\",\",157,6,6181,162,9,6363\",\",155,2,6130,163,8,6372\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://error-display\"}", +"theModule":"function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__203(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://error-display\";\nvar D = R.undefined;\nvar L = [[M,9,2,81,9,49,128],\n[M,10,2,131,10,57,186],\n[M,11,2,189,11,50,237],\n[M,12,2,240,12,65,303],\n[M,12,58,296,12,64,302],\n[M,13,2,306,13,85,389],\n[M,13,62,366,13,68,372],\n[M,13,78,382,13,84,388],\n[M,14,2,392,14,21,411],\n[M,15,2,414,15,23,435],\n[M,15,16,428,15,22,434],\n[M,16,2,438,16,28,464],\n[M,17,2,467,19,43,627],\n[M,17,25,490,17,31,496],\n[M,17,53,518,17,60,525],\n[M,19,30,614,19,42,626],\n[M,20,2,630,20,34,662],\n[M,20,21,649,20,33,661],\n[M,21,2,665,21,31,694],\n[M,22,2,697,22,79,774],\n[M,22,46,741,22,52,747],\n[M,22,66,761,22,78,773],\n[M,23,2,777,23,38,813],\n[M,23,25,800,23,37,812],\n[M,24,2,816,24,84,898],\n[M,24,26,840,24,38,852],\n[M,24,77,891,24,83,897],\n[M,8,0,60,25,3,902],\n[M,29,9,923,29,55,969],\n[M,30,9,980,30,65,1036],\n[M,30,47,1018,30,60,1031],\n[M,30,48,1019,30,57,1028],\n[M,31,9,1047,31,66,1104],\n[M,31,47,1085,31,61,1099],\n[M,31,48,1086,31,57,1095],\n[M,32,9,1115,32,69,1175],\n[M,32,47,1153,32,64,1170],\n[M,32,48,1154,32,57,1163],\n[M,33,9,1186,33,72,1249],\n[M,33,47,1224,33,67,1244],\n[M,33,48,1225,33,57,1234],\n[M,34,9,1260,34,75,1326],\n[M,34,47,1298,34,70,1321],\n[M,34,48,1299,34,57,1308],\n[M,35,9,1337,35,78,1406],\n[M,35,47,1375,35,73,1401],\n[M,35,48,1376,35,57,1385],\n[M,39,9,1428,39,66,1485],\n[M,40,9,1496,40,76,1563],\n[M,40,57,1544,40,70,1557],\n[M,40,58,1545,40,67,1554],\n[M,41,9,1574,41,77,1642],\n[M,41,57,1622,41,71,1636],\n[M,41,58,1623,41,67,1632],\n[M,42,9,1653,42,80,1724],\n[M,42,57,1701,42,74,1718],\n[M,42,58,1702,42,67,1711],\n[M,43,9,1735,43,83,1809],\n[M,43,57,1783,43,77,1803],\n[M,43,58,1784,43,67,1793],\n[M,44,9,1820,44,86,1897],\n[M,44,57,1868,44,80,1891],\n[M,44,58,1869,44,67,1878],\n[M,45,9,1908,45,89,1988],\n[M,45,57,1956,45,83,1982],\n[M,45,58,1957,45,67,1966],\n[M,49,9,2014,49,72,2077],\n[M,50,9,2088,50,82,2161],\n[M,50,58,2137,50,71,2150],\n[M,50,59,2138,50,68,2147],\n[M,51,9,2172,51,83,2246],\n[M,51,58,2221,51,72,2235],\n[M,51,59,2222,51,68,2231],\n[M,52,9,2257,52,86,2334],\n[M,52,58,2306,52,75,2323],\n[M,52,59,2307,52,68,2316],\n[M,53,9,2345,53,89,2425],\n[M,53,58,2394,53,78,2414],\n[M,53,59,2395,53,68,2404],\n[M,54,9,2436,54,92,2519],\n[M,54,58,2485,54,81,2508],\n[M,54,59,2486,54,68,2495],\n[M,55,9,2530,55,95,2616],\n[M,55,58,2579,55,84,2605],\n[M,55,59,2580,55,68,2589],\n[M,59,9,2638,59,67,2696],\n[M,60,9,2707,60,77,2775],\n[M,60,58,2756,60,71,2769],\n[M,60,59,2757,60,68,2766],\n[M,61,9,2786,61,78,2855],\n[M,61,58,2835,61,72,2849],\n[M,61,59,2836,61,68,2845],\n[M,62,9,2866,62,81,2938],\n[M,62,58,2915,62,75,2932],\n[M,62,59,2916,62,68,2925],\n[M,63,9,2949,63,84,3024],\n[M,63,58,2998,63,78,3018],\n[M,63,59,2999,63,68,3008],\n[M,64,9,3035,64,87,3113],\n[M,64,58,3084,64,81,3107],\n[M,64,59,3085,64,68,3094],\n[M,65,9,3124,65,90,3205],\n[M,65,58,3173,65,84,3199],\n[M,65,59,3174,65,68,3183],\n[M,71,9,3260,71,71,3322],\n[M,72,9,3333,72,81,3405],\n[M,72,58,3382,72,71,3395],\n[M,72,59,3383,72,68,3392],\n[M,73,9,3416,73,82,3489],\n[M,73,58,3465,73,72,3479],\n[M,73,59,3466,73,68,3475],\n[M,74,9,3500,74,85,3576],\n[M,74,58,3549,74,75,3566],\n[M,74,59,3550,74,68,3559],\n[M,75,9,3587,75,88,3666],\n[M,75,58,3636,75,78,3656],\n[M,75,59,3637,75,68,3646],\n[M,76,9,3677,76,91,3759],\n[M,76,58,3726,76,81,3749],\n[M,76,59,3727,76,68,3736],\n[M,77,9,3770,77,94,3855],\n[M,77,58,3819,77,84,3845],\n[M,77,59,3820,77,68,3829],\n[M,81,9,3881,81,74,3946],\n[M,82,9,3957,82,84,4032],\n[M,82,65,4013,82,78,4026],\n[M,82,66,4014,82,75,4023],\n[M,83,9,4043,83,85,4119],\n[M,83,65,4099,83,79,4113],\n[M,83,66,4100,83,75,4109],\n[M,84,9,4130,84,88,4209],\n[M,84,65,4186,84,82,4203],\n[M,84,66,4187,84,75,4196],\n[M,85,9,4220,85,91,4302],\n[M,85,65,4276,85,85,4296],\n[M,85,66,4277,85,75,4286],\n[M,86,9,4313,86,94,4398],\n[M,86,65,4369,86,88,4392],\n[M,86,66,4370,86,75,4379],\n[M,87,9,4409,87,97,4497],\n[M,87,65,4465,87,91,4491],\n[M,87,66,4466,87,75,4475],\n[M,91,9,4518,91,77,4586],\n[M,92,9,4597,92,87,4675],\n[M,92,67,4655,92,80,4668],\n[M,92,68,4656,92,77,4665],\n[M,93,9,4686,93,88,4765],\n[M,93,67,4744,93,81,4758],\n[M,93,68,4745,93,77,4754],\n[M,94,9,4776,94,91,4858],\n[M,94,67,4834,94,84,4851],\n[M,94,68,4835,94,77,4844],\n[M,95,9,4869,95,94,4954],\n[M,95,67,4927,95,87,4947],\n[M,95,68,4928,95,77,4937],\n[M,96,9,4965,96,97,5053],\n[M,96,67,5023,96,90,5046],\n[M,96,68,5024,96,77,5033],\n[M,97,9,5064,97,100,5155],\n[M,97,67,5122,97,93,5148],\n[M,97,68,5123,97,77,5132],\n[M,100,0,5159,104,3,5262],\n[M,101,2,5177,103,56,5258],\n[M,101,3,5178,101,11,5186],\n[M,103,12,5214,103,18,5220],\n[M,106,0,5264,110,3,5360],\n[M,107,2,5283,109,48,5356],\n[M,107,3,5284,107,11,5292],\n[M,109,12,5320,109,18,5326],\n[M,112,0,5362,116,3,5461],\n[M,113,2,5382,115,50,5457],\n[M,113,3,5383,113,11,5391],\n[M,115,12,5419,115,18,5425],\n[M,118,0,5463,122,3,5586],\n[M,119,2,5491,121,66,5582],\n[M,119,3,5492,119,11,5500],\n[M,121,12,5528,121,18,5534],\n[M,124,0,5588,128,3,5693],\n[M,125,2,5610,127,54,5689],\n[M,125,3,5611,125,11,5619],\n[M,127,12,5647,127,18,5653],\n[M,130,0,5695,134,3,5802],\n[M,131,2,5715,133,58,5798],\n[M,131,3,5716,131,11,5724],\n[M,133,12,5752,133,18,5758],\n[M,136,0,5804,140,3,5915],\n[M,137,2,5828,139,58,5911],\n[M,137,3,5829,137,11,5837],\n[M,139,12,5865,139,18,5871],\n[M,142,0,5917,146,3,6010],\n[M,143,2,5935,145,46,6006],\n[M,143,3,5936,143,11,5944],\n[M,145,12,5972,145,18,5978],\n[M,148,0,6012,152,3,6111],\n[M,149,2,6032,151,50,6107],\n[M,149,3,6033,149,11,6041],\n[M,151,12,6069,151,18,6075],\n[M,154,0,6113,164,3,6376],\n[M,157,6,6181,162,9,6363],\n[M,160,10,6290,160,25,6305],\n[M,159,10,6253,159,25,6268],\n[M,158,10,6216,158,25,6231],\n[\"dummy location\"],\n[M,3,0,13,164,3,6376]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar num$modulo9 = R.getModuleField(\"builtin://global\",\"values\",\"num-modulo\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel12 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__203($$resumer13) {\nvar $step11 = 0;\nvar $elidedFrames17 = 0;\nvar $ans14 = D;\nvar $al15 = L[203];\nif(R.isAR($$resumer13)) {\n$step11 = $$resumer13.step;\n$al15 = $$resumer13.from;\n$ans14 = $$resumer13.ans;\n$elidedFrames17 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nh$sequence147 = $$resumer13.vars[0];\nbulleted980 = $$resumer13.vars[1];\ned$args840 = $$resumer13.vars[2];\nis$loc161 = $$resumer13.vars[3];\nis$v$sequence141 = $$resumer13.vars[4];\ned$rows945 = $$resumer13.vars[5];\nanswer986 = $$resumer13.vars[6];\nis$loc$display177 = $$resumer13.vars[7];\nis$text157 = $$resumer13.vars[8];\ned$values960 = $$resumer13.vars[9];\nerror981 = $$resumer13.vars[10];\nmaybe$stack$loc167 = $$resumer13.vars[11];\ned$nth977 = $$resumer13.vars[12];\nis$code169 = $$resumer13.vars[13];\npara$nospace985 = $$resumer13.vars[14];\nbulleted$sequence139 = $$resumer13.vars[15];\nsequence545 = $$resumer13.vars[16];\ncode171 = $$resumer13.vars[17];\nis$cmcode173 = $$resumer13.vars[18];\npara979 = $$resumer13.vars[19];\ned$names855 = $$resumer13.vars[20];\nparagraph135 = $$resumer13.vars[21];\nis$maybe$stack$loc165 = $$resumer13.vars[22];\nis$bulleted$sequence137 = $$resumer13.vars[23];\nv$sequence143 = $$resumer13.vars[24];\nis$ErrorDisplay131 = $$resumer13.vars[25];\nis$optional181 = $$resumer13.vars[26];\nhighlight187 = $$resumer13.vars[27];\ntext159 = $$resumer13.vars[28];\nis$h$sequence$sep149 = $$resumer13.vars[29];\nh$sequence$sep151 = $$resumer13.vars[30];\ned$params915 = $$resumer13.vars[31];\nvert982 = $$resumer13.vars[32];\nopt984 = $$resumer13.vars[33];\nErrorDisplay84 = $$resumer13.vars[34];\nis$paragraph133 = $$resumer13.vars[35];\nis$h$sequence145 = $$resumer13.vars[36];\ncmcode175 = $$resumer13.vars[37];\nembed155 = $$resumer13.vars[38];\nlocs983 = $$resumer13.vars[39];\ned$bindings900 = $$resumer13.vars[40];\nis$highlight185 = $$resumer13.vars[41];\nloc163 = $$resumer13.vars[42];\ned$fields870 = $$resumer13.vars[43];\noptional183 = $$resumer13.vars[44];\nloc$display179 = $$resumer13.vars[45];\ned$components930 = $$resumer13.vars[46];\nis$embed153 = $$resumer13.vars[47];\ned$field$bindings885 = $$resumer13.vars[48];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans14 = R.mC();\n}\nwhile(!R.isContinuation($ans14)) {\nswitch($step11) {\ncase 0: var ErrorDisplay18 = R.nB(\"ErrorDisplay\",L[27]);\nvar ErrorDisplay84 = R.mBA(ErrorDisplay18,\"ErrorDisplay\");\nvar ErrorDisplay129 = {\"$var\":D};\nvar is$ErrorDisplay131 = {\"$var\":D};\nvar is$paragraph133 = {\"$var\":D};\nvar paragraph135 = {\"$var\":D};\nvar is$bulleted$sequence137 = {\"$var\":D};\nvar bulleted$sequence139 = {\"$var\":D};\nvar is$v$sequence141 = {\"$var\":D};\nvar v$sequence143 = {\"$var\":D};\nvar is$h$sequence145 = {\"$var\":D};\nvar h$sequence147 = {\"$var\":D};\nvar is$h$sequence$sep149 = {\"$var\":D};\nvar h$sequence$sep151 = {\"$var\":D};\nvar is$embed153 = {\"$var\":D};\nvar embed155 = {\"$var\":D};\nvar is$text157 = {\"$var\":D};\nvar text159 = {\"$var\":D};\nvar is$loc161 = {\"$var\":D};\nvar loc163 = {\"$var\":D};\nvar is$maybe$stack$loc165 = {\"$var\":D};\nvar maybe$stack$loc167 = {\"$var\":D};\nvar is$code169 = {\"$var\":D};\nvar code171 = {\"$var\":D};\nvar is$cmcode173 = {\"$var\":D};\nvar cmcode175 = {\"$var\":D};\nvar is$loc$display177 = {\"$var\":D};\nvar loc$display179 = {\"$var\":D};\nvar is$optional181 = {\"$var\":D};\nvar optional183 = {\"$var\":D};\nvar is$highlight185 = {\"$var\":D};\nvar highlight187 = {\"$var\":D};\nvar $paragraph_getfields23 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $paragraph_mutablemask22 = [false];\nvar $paragraph$base19 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"paragraph\",1)};\nvar $paragraph$brander20 = R.nB(\"paragraph\",L[0]);\nvar $paragraph$brands21 = {};\n$paragraph$brands21[ErrorDisplay18._brand] = true;\n$paragraph$brands21[$paragraph$brander20._brand] = true;\nvar paragraph24 = R.mVC(L[0],function $synthesizedConstructor_$paragraph$base() {\nreturn [];\n},[],[],[false],[\"contents25\"],$paragraph_mutablemask22,$paragraph$base19,$paragraph$brands21,\"paragraph\",$paragraph_getfields23,$paragraph$base19);\nvar $bulleted$sequence_getfields30 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $bulleted$sequence_mutablemask29 = [false];\nvar $bulleted$sequence$base26 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"bulleted-sequence\",1)};\nvar $bulleted$sequence$brander27 = R.nB(\"bulleted-sequence\",L[1]);\nvar $bulleted$sequence$brands28 = {};\n$bulleted$sequence$brands28[ErrorDisplay18._brand] = true;\n$bulleted$sequence$brands28[$bulleted$sequence$brander27._brand] = true;\nvar bulleted$sequence31 = R.mVC(L[1],function $synthesizedConstructor_$bulleted$sequence$base() {\nreturn [];\n},[],[],[false],[\"contents32\"],$bulleted$sequence_mutablemask29,$bulleted$sequence$base26,$bulleted$sequence$brands28,\"bulleted-sequence\",$bulleted$sequence_getfields30,$bulleted$sequence$base26);\nvar $v$sequence_getfields37 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $v$sequence_mutablemask36 = [false];\nvar $v$sequence$base33 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"v-sequence\",1)};\nvar $v$sequence$brander34 = R.nB(\"v-sequence\",L[2]);\nvar $v$sequence$brands35 = {};\n$v$sequence$brands35[ErrorDisplay18._brand] = true;\n$v$sequence$brands35[$v$sequence$brander34._brand] = true;\nvar v$sequence38 = R.mVC(L[2],function $synthesizedConstructor_$v$sequence$base() {\nreturn [];\n},[],[],[false],[\"contents39\"],$v$sequence_mutablemask36,$v$sequence$base33,$v$sequence$brands35,\"v-sequence\",$v$sequence_getfields37,$v$sequence$base33);\nvar $h$sequence_getfields44 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"sep\"]);\n};\nvar $h$sequence_mutablemask43 = [false,false];\nvar $h$sequence$base40 = {\"$fieldNames\":[\"contents\",\"sep\"],\n\"_match\":R.mM(\"h-sequence\",2)};\nvar $h$sequence$brander41 = R.nB(\"h-sequence\",L[3]);\nvar $h$sequence$brands42 = {};\n$h$sequence$brands42[ErrorDisplay18._brand] = true;\n$h$sequence$brands42[$h$sequence$brander41._brand] = true;\nvar h$sequence45 = R.mVC(L[3],function $synthesizedConstructor_$h$sequence$base() {\nreturn [$type$String8];\n},[\"sep46\"],[L[4]],[false,false],[\"contents47\",\"sep46\"],$h$sequence_mutablemask43,$h$sequence$base40,$h$sequence$brands42,\"h-sequence\",$h$sequence_getfields44,$h$sequence$base40);\nvar $h$sequence$sep_getfields52 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"sep\"],this.dict[\"last\"]);\n};\nvar $h$sequence$sep_mutablemask51 = [false,false,false];\nvar $h$sequence$sep$base48 = {\"$fieldNames\":[\"contents\",\"sep\",\"last\"],\n\"_match\":R.mM(\"h-sequence-sep\",3)};\nvar $h$sequence$sep$brander49 = R.nB(\"h-sequence-sep\",L[5]);\nvar $h$sequence$sep$brands50 = {};\n$h$sequence$sep$brands50[ErrorDisplay18._brand] = true;\n$h$sequence$sep$brands50[$h$sequence$sep$brander49._brand] = true;\nvar h$sequence$sep53 = R.mVC(L[5],function $synthesizedConstructor_$h$sequence$sep$base() {\nreturn [$type$String8,$type$String8];\n},[\"sep54\",\"last55\"],[L[6],L[7]],[false,false,false],[\"contents56\",\"sep54\",\"last55\"],$h$sequence$sep_mutablemask51,$h$sequence$sep$base48,$h$sequence$sep$brands50,\"h-sequence-sep\",$h$sequence$sep_getfields52,$h$sequence$sep$base48);\nvar $embed_getfields61 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"]);\n};\nvar $embed_mutablemask60 = [false];\nvar $embed$base57 = {\"$fieldNames\":[\"val\"],\n\"_match\":R.mM(\"embed\",1)};\nvar $embed$brander58 = R.nB(\"embed\",L[8]);\nvar $embed$brands59 = {};\n$embed$brands59[ErrorDisplay18._brand] = true;\n$embed$brands59[$embed$brander58._brand] = true;\nvar embed62 = R.mVC(L[8],function $synthesizedConstructor_$embed$base() {\nreturn [];\n},[],[],[false],[\"val63\"],$embed_mutablemask60,$embed$base57,$embed$brands59,\"embed\",$embed_getfields61,$embed$base57);\nvar $text_getfields68 = function singleton_variant(f) {\nreturn f(this.dict[\"str\"]);\n};\nvar $text_mutablemask67 = [false];\nvar $text$base64 = {\"$fieldNames\":[\"str\"],\n\"_match\":R.mM(\"text\",1)};\nvar $text$brander65 = R.nB(\"text\",L[9]);\nvar $text$brands66 = {};\n$text$brands66[ErrorDisplay18._brand] = true;\n$text$brands66[$text$brander65._brand] = true;\nvar text69 = R.mVC(L[9],function $synthesizedConstructor_$text$base() {\nreturn [$type$String8];\n},[\"str70\"],[L[10]],[false],[\"str70\"],$text_mutablemask67,$text$base64,$text$brands66,\"text\",$text_getfields68,$text$base64);\nvar $loc_getfields75 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $loc_mutablemask74 = [false];\nvar $loc$base71 = {\"$fieldNames\":[\"loc\"],\n\"_match\":R.mM(\"loc\",1)};\nvar $loc$brander72 = R.nB(\"loc\",L[11]);\nvar $loc$brands73 = {};\n$loc$brands73[ErrorDisplay18._brand] = true;\n$loc$brands73[$loc$brander72._brand] = true;\nvar loc76 = R.mVC(L[11],function $synthesizedConstructor_$loc$base() {\nreturn [];\n},[],[],[false],[\"loc77\"],$loc_mutablemask74,$loc$base71,$loc$brands73,\"loc\",$loc_getfields75,$loc$base71);\nvar $maybe$stack$loc_getfields82 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"],this.dict[\"user-frames-only\"],this.dict[\"contents-with-loc\"],this.dict[\"contents-without-loc\"]);\n};\nvar $maybe$stack$loc_mutablemask81 = [false,false,false,false];\nvar $maybe$stack$loc$base78 = {\"$fieldNames\":[\"n\",\"user-frames-only\",\"contents-with-loc\",\"contents-without-loc\"],\n\"_match\":R.mM(\"maybe-stack-loc\",4)};\nvar $maybe$stack$loc$brander79 = R.nB(\"maybe-stack-loc\",L[12]);\nvar $maybe$stack$loc$brands80 = {};\n$maybe$stack$loc$brands80[ErrorDisplay18._brand] = true;\n$maybe$stack$loc$brands80[$maybe$stack$loc$brander79._brand] = true;\nvar maybe$stack$loc83 = R.mVC(L[12],function $synthesizedConstructor_$maybe$stack$loc$base() {\nreturn [$type$Number3,$type$Boolean6,ErrorDisplay84];\n},[\"n85\",\"user$frames$only86\",\"contents$without$loc87\"],[L[13],L[14],L[15]],[false,false,false,false],[\"n85\",\"user$frames$only86\",\"contents$with$loc88\",\"contents$without$loc87\"],$maybe$stack$loc_mutablemask81,$maybe$stack$loc$base78,$maybe$stack$loc$brands80,\"maybe-stack-loc\",$maybe$stack$loc_getfields82,$maybe$stack$loc$base78);\nvar $code_getfields93 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $code_mutablemask92 = [false];\nvar $code$base89 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"code\",1)};\nvar $code$brander90 = R.nB(\"code\",L[16]);\nvar $code$brands91 = {};\n$code$brands91[ErrorDisplay18._brand] = true;\n$code$brands91[$code$brander90._brand] = true;\nvar code94 = R.mVC(L[16],function $synthesizedConstructor_$code$base() {\nreturn [ErrorDisplay84];\n},[\"contents95\"],[L[17]],[false],[\"contents95\"],$code_mutablemask92,$code$base89,$code$brands91,\"code\",$code_getfields93,$code$base89);\nvar $cmcode_getfields100 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $cmcode_mutablemask99 = [false];\nvar $cmcode$base96 = {\"$fieldNames\":[\"loc\"],\n\"_match\":R.mM(\"cmcode\",1)};\nvar $cmcode$brander97 = R.nB(\"cmcode\",L[18]);\nvar $cmcode$brands98 = {};\n$cmcode$brands98[ErrorDisplay18._brand] = true;\n$cmcode$brands98[$cmcode$brander97._brand] = true;\nvar cmcode101 = R.mVC(L[18],function $synthesizedConstructor_$cmcode$base() {\nreturn [];\n},[],[],[false],[\"loc102\"],$cmcode_mutablemask99,$cmcode$base96,$cmcode$brands98,\"cmcode\",$cmcode_getfields100,$cmcode$base96);\nvar $loc$display_getfields107 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"style\"],this.dict[\"contents\"]);\n};\nvar $loc$display_mutablemask106 = [false,false,false];\nvar $loc$display$base103 = {\"$fieldNames\":[\"loc\",\"style\",\"contents\"],\n\"_match\":R.mM(\"loc-display\",3)};\nvar $loc$display$brander104 = R.nB(\"loc-display\",L[19]);\nvar $loc$display$brands105 = {};\n$loc$display$brands105[ErrorDisplay18._brand] = true;\n$loc$display$brands105[$loc$display$brander104._brand] = true;\nvar loc$display108 = R.mVC(L[19],function $synthesizedConstructor_$loc$display$base() {\nreturn [$type$String8,ErrorDisplay84];\n},[\"style109\",\"contents110\"],[L[20],L[21]],[false,false,false],[\"loc111\",\"style109\",\"contents110\"],$loc$display_mutablemask106,$loc$display$base103,$loc$display$brands105,\"loc-display\",$loc$display_getfields107,$loc$display$base103);\nvar $optional_getfields116 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $optional_mutablemask115 = [false];\nvar $optional$base112 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"optional\",1)};\nvar $optional$brander113 = R.nB(\"optional\",L[22]);\nvar $optional$brands114 = {};\n$optional$brands114[ErrorDisplay18._brand] = true;\n$optional$brands114[$optional$brander113._brand] = true;\nvar optional117 = R.mVC(L[22],function $synthesizedConstructor_$optional$base() {\nreturn [ErrorDisplay84];\n},[\"contents118\"],[L[23]],[false],[\"contents118\"],$optional_mutablemask115,$optional$base112,$optional$brands114,\"optional\",$optional_getfields116,$optional$base112);\nvar $highlight_getfields123 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"locs\"],this.dict[\"color\"]);\n};\nvar $highlight_mutablemask122 = [false,false,false];\nvar $highlight$base119 = {\"$fieldNames\":[\"contents\",\"locs\",\"color\"],\n\"_match\":R.mM(\"highlight\",3)};\nvar $highlight$brander120 = R.nB(\"highlight\",L[24]);\nvar $highlight$brands121 = {};\n$highlight$brands121[ErrorDisplay18._brand] = true;\n$highlight$brands121[$highlight$brander120._brand] = true;\nvar highlight124 = R.mVC(L[24],function $synthesizedConstructor_$highlight$base() {\nreturn [ErrorDisplay84,$type$Number3];\n},[\"contents125\",\"color126\"],[L[25],L[26]],[false,false,false],[\"contents125\",\"locs127\",\"color126\"],$highlight_mutablemask122,$highlight$base119,$highlight$brands121,\"highlight\",$highlight_getfields123,$highlight$base119);\nvar anf_assign128 = R.mO({\"ErrorDisplay\":G(ErrorDisplay18,\"test\",L[27]),\n\"is-paragraph\":G($paragraph$brander20,\"test\",L[0]),\n\"paragraph\":paragraph24,\n\"is-bulleted-sequence\":G($bulleted$sequence$brander27,\"test\",L[1]),\n\"bulleted-sequence\":bulleted$sequence31,\n\"is-v-sequence\":G($v$sequence$brander34,\"test\",L[2]),\n\"v-sequence\":v$sequence38,\n\"is-h-sequence\":G($h$sequence$brander41,\"test\",L[3]),\n\"h-sequence\":h$sequence45,\n\"is-h-sequence-sep\":G($h$sequence$sep$brander49,\"test\",L[5]),\n\"h-sequence-sep\":h$sequence$sep53,\n\"is-embed\":G($embed$brander58,\"test\",L[8]),\n\"embed\":embed62,\n\"is-text\":G($text$brander65,\"test\",L[9]),\n\"text\":text69,\n\"is-loc\":G($loc$brander72,\"test\",L[11]),\n\"loc\":loc76,\n\"is-maybe-stack-loc\":G($maybe$stack$loc$brander79,\"test\",L[12]),\n\"maybe-stack-loc\":maybe$stack$loc83,\n\"is-code\":G($code$brander90,\"test\",L[16]),\n\"code\":code94,\n\"is-cmcode\":G($cmcode$brander97,\"test\",L[18]),\n\"cmcode\":cmcode101,\n\"is-loc-display\":G($loc$display$brander104,\"test\",L[19]),\n\"loc-display\":loc$display108,\n\"is-optional\":G($optional$brander113,\"test\",L[22]),\n\"optional\":optional117,\n\"is-highlight\":G($highlight$brander120,\"test\",L[24]),\n\"highlight\":highlight124});\nErrorDisplay129.$var = anf_assign128;\nR.nothing;\n$al15 = L[27];\nvar anf_assign130 = G(ErrorDisplay129.$var,\"ErrorDisplay\",L[27]);\nis$ErrorDisplay131.$var = anf_assign130;\nR.nothing;\n$al15 = L[0];\nvar anf_assign132 = G(ErrorDisplay129.$var,\"is-paragraph\",L[0]);\nis$paragraph133.$var = anf_assign132;\nR.nothing;\n$al15 = L[0];\nvar anf_assign134 = G(ErrorDisplay129.$var,\"paragraph\",L[0]);\nparagraph135.$var = anf_assign134;\nR.nothing;\n$al15 = L[1];\nvar anf_assign136 = G(ErrorDisplay129.$var,\"is-bulleted-sequence\",L[1]);\nis$bulleted$sequence137.$var = anf_assign136;\nR.nothing;\n$al15 = L[1];\nvar anf_assign138 = G(ErrorDisplay129.$var,\"bulleted-sequence\",L[1]);\nbulleted$sequence139.$var = anf_assign138;\nR.nothing;\n$al15 = L[2];\nvar anf_assign140 = G(ErrorDisplay129.$var,\"is-v-sequence\",L[2]);\nis$v$sequence141.$var = anf_assign140;\nR.nothing;\n$al15 = L[2];\nvar anf_assign142 = G(ErrorDisplay129.$var,\"v-sequence\",L[2]);\nv$sequence143.$var = anf_assign142;\nR.nothing;\n$al15 = L[3];\nvar anf_assign144 = G(ErrorDisplay129.$var,\"is-h-sequence\",L[3]);\nis$h$sequence145.$var = anf_assign144;\nR.nothing;\n$al15 = L[3];\nvar anf_assign146 = G(ErrorDisplay129.$var,\"h-sequence\",L[3]);\nh$sequence147.$var = anf_assign146;\nR.nothing;\n$al15 = L[5];\nvar anf_assign148 = G(ErrorDisplay129.$var,\"is-h-sequence-sep\",L[5]);\nis$h$sequence$sep149.$var = anf_assign148;\nR.nothing;\n$al15 = L[5];\nvar anf_assign150 = G(ErrorDisplay129.$var,\"h-sequence-sep\",L[5]);\nh$sequence$sep151.$var = anf_assign150;\nR.nothing;\n$al15 = L[8];\nvar anf_assign152 = G(ErrorDisplay129.$var,\"is-embed\",L[8]);\nis$embed153.$var = anf_assign152;\nR.nothing;\n$al15 = L[8];\nvar anf_assign154 = G(ErrorDisplay129.$var,\"embed\",L[8]);\nembed155.$var = anf_assign154;\nR.nothing;\n$al15 = L[9];\nvar anf_assign156 = G(ErrorDisplay129.$var,\"is-text\",L[9]);\nis$text157.$var = anf_assign156;\nR.nothing;\n$al15 = L[9];\nvar anf_assign158 = G(ErrorDisplay129.$var,\"text\",L[9]);\ntext159.$var = anf_assign158;\nR.nothing;\n$al15 = L[11];\nvar anf_assign160 = G(ErrorDisplay129.$var,\"is-loc\",L[11]);\nis$loc161.$var = anf_assign160;\nR.nothing;\n$al15 = L[11];\nvar anf_assign162 = G(ErrorDisplay129.$var,\"loc\",L[11]);\nloc163.$var = anf_assign162;\nR.nothing;\n$al15 = L[12];\nvar anf_assign164 = G(ErrorDisplay129.$var,\"is-maybe-stack-loc\",L[12]);\nis$maybe$stack$loc165.$var = anf_assign164;\nR.nothing;\n$al15 = L[12];\nvar anf_assign166 = G(ErrorDisplay129.$var,\"maybe-stack-loc\",L[12]);\nmaybe$stack$loc167.$var = anf_assign166;\nR.nothing;\n$al15 = L[16];\nvar anf_assign168 = G(ErrorDisplay129.$var,\"is-code\",L[16]);\nis$code169.$var = anf_assign168;\nR.nothing;\n$al15 = L[16];\nvar anf_assign170 = G(ErrorDisplay129.$var,\"code\",L[16]);\ncode171.$var = anf_assign170;\nR.nothing;\n$al15 = L[18];\nvar anf_assign172 = G(ErrorDisplay129.$var,\"is-cmcode\",L[18]);\nis$cmcode173.$var = anf_assign172;\nR.nothing;\n$al15 = L[18];\nvar anf_assign174 = G(ErrorDisplay129.$var,\"cmcode\",L[18]);\ncmcode175.$var = anf_assign174;\nR.nothing;\n$al15 = L[19];\nvar anf_assign176 = G(ErrorDisplay129.$var,\"is-loc-display\",L[19]);\nis$loc$display177.$var = anf_assign176;\nR.nothing;\n$al15 = L[19];\nvar anf_assign178 = G(ErrorDisplay129.$var,\"loc-display\",L[19]);\nloc$display179.$var = anf_assign178;\nR.nothing;\n$al15 = L[22];\nvar anf_assign180 = G(ErrorDisplay129.$var,\"is-optional\",L[22]);\nis$optional181.$var = anf_assign180;\nR.nothing;\n$al15 = L[22];\nvar anf_assign182 = G(ErrorDisplay129.$var,\"optional\",L[22]);\noptional183.$var = anf_assign182;\nR.nothing;\n$al15 = L[24];\nvar anf_assign184 = G(ErrorDisplay129.$var,\"is-highlight\",L[24]);\nis$highlight185.$var = anf_assign184;\nR.nothing;\n$al15 = L[24];\nvar anf_assign186 = G(ErrorDisplay129.$var,\"highlight\",L[24]);\nhighlight187.$var = anf_assign186;\nR.nothing;\nvar $temp_lam189 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__28($arr190) {\nvar $step188 = 0;\nvar $elidedFrames194 = 0;\nvar $ans191 = D;\nvar $al192 = L[28];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[28],1,$t,false);\n}\nvar arr190 = $arr190;\n// callee optimization;\nwhile(!R.isContinuation($ans191)) {\nswitch($step188) {\ncase 0: // caller optimization;\n$ans191 = raw$array$to$list4.app(arr190);\n$step188 = 1;\nbreak;\ncase 1: return $ans191;\ndefault: R.ffi.throwSpinnakerError(L[28],$step188);\n}\n}\nreturn $ans191;\n};\nvar anf_obj265 = R.mF($temp_lam189,\"\");\nvar $temp_lam197 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__29($$resumer13) {\nvar $step196 = 0;\nvar $elidedFrames201 = 0;\nvar $ans198 = D;\nvar $al199 = L[29];\nif(R.isAR($$resumer13)) {\n$step196 = $$resumer13.step;\n$al199 = $$resumer13.from;\n$ans198 = $$resumer13.ans;\n$elidedFrames201 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[29],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans198 = R.mC();\n}\nwhile(!R.isContinuation($ans198)) {\nswitch($step196) {\ncase 0: $ans198 = R.getMaker0(raw$array2,(\"make0\"),L[30],L[31]);\nvar anf_fun202 = $ans198;\n$step196 = 1;\n$al199 = L[31];\nif(typeof(anf_fun202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al199,anf_fun202);\n}\n$ans198 = anf_fun202.app();\nbreak;\ncase 1: var anf_arg203 = $ans198;\n// caller optimization;\n$ans198 = raw$array$to$list4.app(anf_arg203);\n$step196 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans198;\ndefault: R.ffi.throwSpinnakerError(L[29],$step196);\n}\n}\nif($step196 !== 2) {\n$ans198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al199,$temp_lam197,$step196,[],[],$elidedFrames201);\n}\nreturn $ans198;\n};\nvar anf_obj266 = R.mF($temp_lam197,\"\");\nvar $temp_lam206 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__32($a207) {\nvar $step205 = 0;\nvar $elidedFrames211 = 0;\nvar $ans208 = D;\nvar $al209 = L[32];\nif(R.isAR($a207)) {\n$step205 = $a207.step;\n$al209 = $a207.from;\n$ans208 = $a207.ans;\n$elidedFrames211 = $a207.elidedFrames;\na207 = $a207.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],1,$t,false);\n}\nvar a207 = $a207;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans208 = R.mC();\n}\nwhile(!R.isContinuation($ans208)) {\nswitch($step205) {\ncase 0: $ans208 = R.getMaker1(raw$array2,(\"make1\"),L[33],L[34]);\nvar anf_fun212 = $ans208;\n$step205 = 1;\n$al209 = L[34];\nif(typeof(anf_fun212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al209,anf_fun212);\n}\n$ans208 = anf_fun212.app(a207);\nbreak;\ncase 1: var anf_arg213 = $ans208;\n// caller optimization;\n$ans208 = raw$array$to$list4.app(anf_arg213);\n$step205 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans208;\ndefault: R.ffi.throwSpinnakerError(L[32],$step205);\n}\n}\nif($step205 !== 2) {\n$ans208.stack[R.EXN_STACKHEIGHT++] = R.mAR($al209,$temp_lam206,$step205,[a207],[],$elidedFrames211);\n}\nreturn $ans208;\n};\nvar anf_obj267 = R.mF($temp_lam206,\"\");\nvar $temp_lam216 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__35($a217,$b218) {\nvar $step215 = 0;\nvar $elidedFrames222 = 0;\nvar $ans219 = D;\nvar $al220 = L[35];\nif(R.isAR($a217)) {\n$step215 = $a217.step;\n$al220 = $a217.from;\n$ans219 = $a217.ans;\n$elidedFrames222 = $a217.elidedFrames;\na217 = $a217.args[0];\nb218 = $a217.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[35],2,$t,false);\n}\nvar a217 = $a217;\nvar b218 = $b218;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans219 = R.mC();\n}\nwhile(!R.isContinuation($ans219)) {\nswitch($step215) {\ncase 0: $ans219 = R.getMaker2(raw$array2,(\"make2\"),L[36],L[37]);\nvar anf_fun223 = $ans219;\n$step215 = 1;\n$al220 = L[37];\nif(typeof(anf_fun223.app) !== \"function\") {\nR.ffi.throwNonFunApp($al220,anf_fun223);\n}\n$ans219 = anf_fun223.app(a217,b218);\nbreak;\ncase 1: var anf_arg224 = $ans219;\n// caller optimization;\n$ans219 = raw$array$to$list4.app(anf_arg224);\n$step215 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans219;\ndefault: R.ffi.throwSpinnakerError(L[35],$step215);\n}\n}\nif($step215 !== 2) {\n$ans219.stack[R.EXN_STACKHEIGHT++] = R.mAR($al220,$temp_lam216,$step215,[a217,b218],[],$elidedFrames222);\n}\nreturn $ans219;\n};\nvar anf_obj268 = R.mF($temp_lam216,\"\");\nvar $temp_lam227 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__38($a228,$b229,$c230) {\nvar $step226 = 0;\nvar $elidedFrames234 = 0;\nvar $ans231 = D;\nvar $al232 = L[38];\nif(R.isAR($a228)) {\n$step226 = $a228.step;\n$al232 = $a228.from;\n$ans231 = $a228.ans;\n$elidedFrames234 = $a228.elidedFrames;\na228 = $a228.args[0];\nb229 = $a228.args[1];\nc230 = $a228.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],3,$t,false);\n}\nvar a228 = $a228;\nvar b229 = $b229;\nvar c230 = $c230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans231 = R.mC();\n}\nwhile(!R.isContinuation($ans231)) {\nswitch($step226) {\ncase 0: $ans231 = R.getMaker3(raw$array2,(\"make3\"),L[39],L[40]);\nvar anf_fun235 = $ans231;\n$step226 = 1;\n$al232 = L[40];\nif(typeof(anf_fun235.app) !== \"function\") {\nR.ffi.throwNonFunApp($al232,anf_fun235);\n}\n$ans231 = anf_fun235.app(a228,b229,c230);\nbreak;\ncase 1: var anf_arg236 = $ans231;\n// caller optimization;\n$ans231 = raw$array$to$list4.app(anf_arg236);\n$step226 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans231;\ndefault: R.ffi.throwSpinnakerError(L[38],$step226);\n}\n}\nif($step226 !== 2) {\n$ans231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al232,$temp_lam227,$step226,[a228,b229,c230],[],$elidedFrames234);\n}\nreturn $ans231;\n};\nvar anf_obj269 = R.mF($temp_lam227,\"\");\nvar $temp_lam239 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__41($a240,$b241,$c242,$d243) {\nvar $step238 = 0;\nvar $elidedFrames247 = 0;\nvar $ans244 = D;\nvar $al245 = L[41];\nif(R.isAR($a240)) {\n$step238 = $a240.step;\n$al245 = $a240.from;\n$ans244 = $a240.ans;\n$elidedFrames247 = $a240.elidedFrames;\na240 = $a240.args[0];\nb241 = $a240.args[1];\nc242 = $a240.args[2];\nd243 = $a240.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],4,$t,false);\n}\nvar a240 = $a240;\nvar b241 = $b241;\nvar c242 = $c242;\nvar d243 = $d243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans244 = R.mC();\n}\nwhile(!R.isContinuation($ans244)) {\nswitch($step238) {\ncase 0: $ans244 = R.getMaker4(raw$array2,(\"make4\"),L[42],L[43]);\nvar anf_fun248 = $ans244;\n$step238 = 1;\n$al245 = L[43];\nif(typeof(anf_fun248.app) !== \"function\") {\nR.ffi.throwNonFunApp($al245,anf_fun248);\n}\n$ans244 = anf_fun248.app(a240,b241,c242,d243);\nbreak;\ncase 1: var anf_arg249 = $ans244;\n// caller optimization;\n$ans244 = raw$array$to$list4.app(anf_arg249);\n$step238 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans244;\ndefault: R.ffi.throwSpinnakerError(L[41],$step238);\n}\n}\nif($step238 !== 2) {\n$ans244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al245,$temp_lam239,$step238,[a240,b241,c242,d243],[],$elidedFrames247);\n}\nreturn $ans244;\n};\nvar anf_obj270 = R.mF($temp_lam239,\"\");\nvar $temp_lam252 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__44($a253,$b254,$c255,$d256,$e257) {\nvar $step251 = 0;\nvar $elidedFrames261 = 0;\nvar $ans258 = D;\nvar $al259 = L[44];\nif(R.isAR($a253)) {\n$step251 = $a253.step;\n$al259 = $a253.from;\n$ans258 = $a253.ans;\n$elidedFrames261 = $a253.elidedFrames;\na253 = $a253.args[0];\nb254 = $a253.args[1];\nc255 = $a253.args[2];\nd256 = $a253.args[3];\ne257 = $a253.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],5,$t,false);\n}\nvar a253 = $a253;\nvar b254 = $b254;\nvar c255 = $c255;\nvar d256 = $d256;\nvar e257 = $e257;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans258 = R.mC();\n}\nwhile(!R.isContinuation($ans258)) {\nswitch($step251) {\ncase 0: $ans258 = R.getMaker5(raw$array2,(\"make5\"),L[45],L[46]);\nvar anf_fun262 = $ans258;\n$step251 = 1;\n$al259 = L[46];\nif(typeof(anf_fun262.app) !== \"function\") {\nR.ffi.throwNonFunApp($al259,anf_fun262);\n}\n$ans258 = anf_fun262.app(a253,b254,c255,d256,e257);\nbreak;\ncase 1: var anf_arg263 = $ans258;\n// caller optimization;\n$ans258 = raw$array$to$list4.app(anf_arg263);\n$step251 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans258;\ndefault: R.ffi.throwSpinnakerError(L[44],$step251);\n}\n}\nif($step251 !== 2) {\n$ans258.stack[R.EXN_STACKHEIGHT++] = R.mAR($al259,$temp_lam252,$step251,[a253,b254,c255,d256,e257],[],$elidedFrames261);\n}\nreturn $ans258;\n};\nvar anf_obj271 = R.mF($temp_lam252,\"\");\nvar locs983 = R.mO({\"make\":anf_obj265,\n\"make0\":anf_obj266,\n\"make1\":anf_obj267,\n\"make2\":anf_obj268,\n\"make3\":anf_obj269,\n\"make4\":anf_obj270,\n\"make5\":anf_obj271});\nvar $temp_lam273 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__47($arr274) {\nvar $step272 = 0;\nvar $elidedFrames278 = 0;\nvar $ans275 = D;\nvar $al276 = L[47];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[47],1,$t,false);\n}\nvar arr274 = $arr274;\n// callee optimization;\nwhile(!R.isContinuation($ans275)) {\nswitch($step272) {\ncase 0: // caller optimization;\n$ans275 = raw$array$to$list4.app(arr274);\nvar anf_arg279 = $ans275;\n// caller optimization;\n$ans275 = paragraph135.$var.app(anf_arg279);\n$step272 = 1;\nbreak;\ncase 1: return $ans275;\ndefault: R.ffi.throwSpinnakerError(L[47],$step272);\n}\n}\nreturn $ans275;\n};\nvar anf_obj356 = R.mF($temp_lam273,\"\");\nvar $temp_lam282 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__48($$resumer13) {\nvar $step281 = 0;\nvar $elidedFrames286 = 0;\nvar $ans283 = D;\nvar $al284 = L[48];\nif(R.isAR($$resumer13)) {\n$step281 = $$resumer13.step;\n$al284 = $$resumer13.from;\n$ans283 = $$resumer13.ans;\n$elidedFrames286 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans283 = R.mC();\n}\nwhile(!R.isContinuation($ans283)) {\nswitch($step281) {\ncase 0: $ans283 = R.getMaker0(raw$array2,(\"make0\"),L[49],L[50]);\nvar anf_fun287 = $ans283;\n$step281 = 1;\n$al284 = L[50];\nif(typeof(anf_fun287.app) !== \"function\") {\nR.ffi.throwNonFunApp($al284,anf_fun287);\n}\n$ans283 = anf_fun287.app();\nbreak;\ncase 1: var anf_arg288 = $ans283;\n// caller optimization;\n$ans283 = raw$array$to$list4.app(anf_arg288);\nvar anf_arg289 = $ans283;\n// caller optimization;\n$ans283 = paragraph135.$var.app(anf_arg289);\n$step281 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans283;\ndefault: R.ffi.throwSpinnakerError(L[48],$step281);\n}\n}\nif($step281 !== 2) {\n$ans283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al284,$temp_lam282,$step281,[],[],$elidedFrames286);\n}\nreturn $ans283;\n};\nvar anf_obj357 = R.mF($temp_lam282,\"\");\nvar $temp_lam292 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__51($a293) {\nvar $step291 = 0;\nvar $elidedFrames297 = 0;\nvar $ans294 = D;\nvar $al295 = L[51];\nif(R.isAR($a293)) {\n$step291 = $a293.step;\n$al295 = $a293.from;\n$ans294 = $a293.ans;\n$elidedFrames297 = $a293.elidedFrames;\na293 = $a293.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],1,$t,false);\n}\nvar a293 = $a293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans294 = R.mC();\n}\nwhile(!R.isContinuation($ans294)) {\nswitch($step291) {\ncase 0: $ans294 = R.getMaker1(raw$array2,(\"make1\"),L[52],L[53]);\nvar anf_fun298 = $ans294;\n$step291 = 1;\n$al295 = L[53];\nif(typeof(anf_fun298.app) !== \"function\") {\nR.ffi.throwNonFunApp($al295,anf_fun298);\n}\n$ans294 = anf_fun298.app(a293);\nbreak;\ncase 1: var anf_arg299 = $ans294;\n// caller optimization;\n$ans294 = raw$array$to$list4.app(anf_arg299);\nvar anf_arg300 = $ans294;\n// caller optimization;\n$ans294 = paragraph135.$var.app(anf_arg300);\n$step291 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans294;\ndefault: R.ffi.throwSpinnakerError(L[51],$step291);\n}\n}\nif($step291 !== 2) {\n$ans294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al295,$temp_lam292,$step291,[a293],[],$elidedFrames297);\n}\nreturn $ans294;\n};\nvar anf_obj358 = R.mF($temp_lam292,\"\");\nvar $temp_lam303 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__54($a304,$b305) {\nvar $step302 = 0;\nvar $elidedFrames309 = 0;\nvar $ans306 = D;\nvar $al307 = L[54];\nif(R.isAR($a304)) {\n$step302 = $a304.step;\n$al307 = $a304.from;\n$ans306 = $a304.ans;\n$elidedFrames309 = $a304.elidedFrames;\na304 = $a304.args[0];\nb305 = $a304.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[54],2,$t,false);\n}\nvar a304 = $a304;\nvar b305 = $b305;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans306 = R.mC();\n}\nwhile(!R.isContinuation($ans306)) {\nswitch($step302) {\ncase 0: $ans306 = R.getMaker2(raw$array2,(\"make2\"),L[55],L[56]);\nvar anf_fun310 = $ans306;\n$step302 = 1;\n$al307 = L[56];\nif(typeof(anf_fun310.app) !== \"function\") {\nR.ffi.throwNonFunApp($al307,anf_fun310);\n}\n$ans306 = anf_fun310.app(a304,b305);\nbreak;\ncase 1: var anf_arg311 = $ans306;\n// caller optimization;\n$ans306 = raw$array$to$list4.app(anf_arg311);\nvar anf_arg312 = $ans306;\n// caller optimization;\n$ans306 = paragraph135.$var.app(anf_arg312);\n$step302 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans306;\ndefault: R.ffi.throwSpinnakerError(L[54],$step302);\n}\n}\nif($step302 !== 2) {\n$ans306.stack[R.EXN_STACKHEIGHT++] = R.mAR($al307,$temp_lam303,$step302,[a304,b305],[],$elidedFrames309);\n}\nreturn $ans306;\n};\nvar anf_obj359 = R.mF($temp_lam303,\"\");\nvar $temp_lam315 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__57($a316,$b317,$c318) {\nvar $step314 = 0;\nvar $elidedFrames322 = 0;\nvar $ans319 = D;\nvar $al320 = L[57];\nif(R.isAR($a316)) {\n$step314 = $a316.step;\n$al320 = $a316.from;\n$ans319 = $a316.ans;\n$elidedFrames322 = $a316.elidedFrames;\na316 = $a316.args[0];\nb317 = $a316.args[1];\nc318 = $a316.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],3,$t,false);\n}\nvar a316 = $a316;\nvar b317 = $b317;\nvar c318 = $c318;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans319 = R.mC();\n}\nwhile(!R.isContinuation($ans319)) {\nswitch($step314) {\ncase 0: $ans319 = R.getMaker3(raw$array2,(\"make3\"),L[58],L[59]);\nvar anf_fun323 = $ans319;\n$step314 = 1;\n$al320 = L[59];\nif(typeof(anf_fun323.app) !== \"function\") {\nR.ffi.throwNonFunApp($al320,anf_fun323);\n}\n$ans319 = anf_fun323.app(a316,b317,c318);\nbreak;\ncase 1: var anf_arg324 = $ans319;\n// caller optimization;\n$ans319 = raw$array$to$list4.app(anf_arg324);\nvar anf_arg325 = $ans319;\n// caller optimization;\n$ans319 = paragraph135.$var.app(anf_arg325);\n$step314 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans319;\ndefault: R.ffi.throwSpinnakerError(L[57],$step314);\n}\n}\nif($step314 !== 2) {\n$ans319.stack[R.EXN_STACKHEIGHT++] = R.mAR($al320,$temp_lam315,$step314,[a316,b317,c318],[],$elidedFrames322);\n}\nreturn $ans319;\n};\nvar anf_obj360 = R.mF($temp_lam315,\"\");\nvar $temp_lam328 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__60($a329,$b330,$c331,$d332) {\nvar $step327 = 0;\nvar $elidedFrames336 = 0;\nvar $ans333 = D;\nvar $al334 = L[60];\nif(R.isAR($a329)) {\n$step327 = $a329.step;\n$al334 = $a329.from;\n$ans333 = $a329.ans;\n$elidedFrames336 = $a329.elidedFrames;\na329 = $a329.args[0];\nb330 = $a329.args[1];\nc331 = $a329.args[2];\nd332 = $a329.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],4,$t,false);\n}\nvar a329 = $a329;\nvar b330 = $b330;\nvar c331 = $c331;\nvar d332 = $d332;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans333 = R.mC();\n}\nwhile(!R.isContinuation($ans333)) {\nswitch($step327) {\ncase 0: $ans333 = R.getMaker4(raw$array2,(\"make4\"),L[61],L[62]);\nvar anf_fun337 = $ans333;\n$step327 = 1;\n$al334 = L[62];\nif(typeof(anf_fun337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun337);\n}\n$ans333 = anf_fun337.app(a329,b330,c331,d332);\nbreak;\ncase 1: var anf_arg338 = $ans333;\n// caller optimization;\n$ans333 = raw$array$to$list4.app(anf_arg338);\nvar anf_arg339 = $ans333;\n// caller optimization;\n$ans333 = paragraph135.$var.app(anf_arg339);\n$step327 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans333;\ndefault: R.ffi.throwSpinnakerError(L[60],$step327);\n}\n}\nif($step327 !== 2) {\n$ans333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al334,$temp_lam328,$step327,[a329,b330,c331,d332],[],$elidedFrames336);\n}\nreturn $ans333;\n};\nvar anf_obj361 = R.mF($temp_lam328,\"\");\nvar $temp_lam342 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__63($a343,$b344,$c345,$d346,$e347) {\nvar $step341 = 0;\nvar $elidedFrames351 = 0;\nvar $ans348 = D;\nvar $al349 = L[63];\nif(R.isAR($a343)) {\n$step341 = $a343.step;\n$al349 = $a343.from;\n$ans348 = $a343.ans;\n$elidedFrames351 = $a343.elidedFrames;\na343 = $a343.args[0];\nb344 = $a343.args[1];\nc345 = $a343.args[2];\nd346 = $a343.args[3];\ne347 = $a343.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[63],5,$t,false);\n}\nvar a343 = $a343;\nvar b344 = $b344;\nvar c345 = $c345;\nvar d346 = $d346;\nvar e347 = $e347;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans348 = R.mC();\n}\nwhile(!R.isContinuation($ans348)) {\nswitch($step341) {\ncase 0: $ans348 = R.getMaker5(raw$array2,(\"make5\"),L[64],L[65]);\nvar anf_fun352 = $ans348;\n$step341 = 1;\n$al349 = L[65];\nif(typeof(anf_fun352.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun352);\n}\n$ans348 = anf_fun352.app(a343,b344,c345,d346,e347);\nbreak;\ncase 1: var anf_arg353 = $ans348;\n// caller optimization;\n$ans348 = raw$array$to$list4.app(anf_arg353);\nvar anf_arg354 = $ans348;\n// caller optimization;\n$ans348 = paragraph135.$var.app(anf_arg354);\n$step341 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans348;\ndefault: R.ffi.throwSpinnakerError(L[63],$step341);\n}\n}\nif($step341 !== 2) {\n$ans348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al349,$temp_lam342,$step341,[a343,b344,c345,d346,e347],[],$elidedFrames351);\n}\nreturn $ans348;\n};\nvar anf_obj362 = R.mF($temp_lam342,\"\");\nvar para979 = R.mO({\"make\":anf_obj356,\n\"make0\":anf_obj357,\n\"make1\":anf_obj358,\n\"make2\":anf_obj359,\n\"make3\":anf_obj360,\n\"make4\":anf_obj361,\n\"make5\":anf_obj362});\nvar $temp_lam364 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__66($arr365) {\nvar $step363 = 0;\nvar $elidedFrames369 = 0;\nvar $ans366 = D;\nvar $al367 = L[66];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],1,$t,false);\n}\nvar arr365 = $arr365;\n// callee optimization;\nwhile(!R.isContinuation($ans366)) {\nswitch($step363) {\ncase 0: // caller optimization;\n$ans366 = raw$array$to$list4.app(arr365);\nvar anf_arg370 = $ans366;\n// caller optimization;\n$ans366 = h$sequence147.$var.app(anf_arg370,(\" \"));\n$step363 = 1;\nbreak;\ncase 1: return $ans366;\ndefault: R.ffi.throwSpinnakerError(L[66],$step363);\n}\n}\nreturn $ans366;\n};\nvar anf_obj447 = R.mF($temp_lam364,\"\");\nvar $temp_lam373 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__67($$resumer13) {\nvar $step372 = 0;\nvar $elidedFrames377 = 0;\nvar $ans374 = D;\nvar $al375 = L[67];\nif(R.isAR($$resumer13)) {\n$step372 = $$resumer13.step;\n$al375 = $$resumer13.from;\n$ans374 = $$resumer13.ans;\n$elidedFrames377 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[67],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans374 = R.mC();\n}\nwhile(!R.isContinuation($ans374)) {\nswitch($step372) {\ncase 0: $ans374 = R.getMaker0(raw$array2,(\"make0\"),L[68],L[69]);\nvar anf_fun378 = $ans374;\n$step372 = 1;\n$al375 = L[69];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al375,anf_fun378);\n}\n$ans374 = anf_fun378.app();\nbreak;\ncase 1: var anf_arg379 = $ans374;\n// caller optimization;\n$ans374 = raw$array$to$list4.app(anf_arg379);\nvar anf_arg380 = $ans374;\n// caller optimization;\n$ans374 = h$sequence147.$var.app(anf_arg380,(\" \"));\n$step372 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans374;\ndefault: R.ffi.throwSpinnakerError(L[67],$step372);\n}\n}\nif($step372 !== 2) {\n$ans374.stack[R.EXN_STACKHEIGHT++] = R.mAR($al375,$temp_lam373,$step372,[],[],$elidedFrames377);\n}\nreturn $ans374;\n};\nvar anf_obj448 = R.mF($temp_lam373,\"\");\nvar $temp_lam383 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__70($a384) {\nvar $step382 = 0;\nvar $elidedFrames388 = 0;\nvar $ans385 = D;\nvar $al386 = L[70];\nif(R.isAR($a384)) {\n$step382 = $a384.step;\n$al386 = $a384.from;\n$ans385 = $a384.ans;\n$elidedFrames388 = $a384.elidedFrames;\na384 = $a384.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[70],1,$t,false);\n}\nvar a384 = $a384;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans385 = R.mC();\n}\nwhile(!R.isContinuation($ans385)) {\nswitch($step382) {\ncase 0: $ans385 = R.getMaker1(raw$array2,(\"make1\"),L[71],L[72]);\nvar anf_fun389 = $ans385;\n$step382 = 1;\n$al386 = L[72];\nif(typeof(anf_fun389.app) !== \"function\") {\nR.ffi.throwNonFunApp($al386,anf_fun389);\n}\n$ans385 = anf_fun389.app(a384);\nbreak;\ncase 1: var anf_arg390 = $ans385;\n// caller optimization;\n$ans385 = raw$array$to$list4.app(anf_arg390);\nvar anf_arg391 = $ans385;\n// caller optimization;\n$ans385 = h$sequence147.$var.app(anf_arg391,(\" \"));\n$step382 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans385;\ndefault: R.ffi.throwSpinnakerError(L[70],$step382);\n}\n}\nif($step382 !== 2) {\n$ans385.stack[R.EXN_STACKHEIGHT++] = R.mAR($al386,$temp_lam383,$step382,[a384],[],$elidedFrames388);\n}\nreturn $ans385;\n};\nvar anf_obj449 = R.mF($temp_lam383,\"\");\nvar $temp_lam394 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__73($a395,$b396) {\nvar $step393 = 0;\nvar $elidedFrames400 = 0;\nvar $ans397 = D;\nvar $al398 = L[73];\nif(R.isAR($a395)) {\n$step393 = $a395.step;\n$al398 = $a395.from;\n$ans397 = $a395.ans;\n$elidedFrames400 = $a395.elidedFrames;\na395 = $a395.args[0];\nb396 = $a395.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],2,$t,false);\n}\nvar a395 = $a395;\nvar b396 = $b396;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans397 = R.mC();\n}\nwhile(!R.isContinuation($ans397)) {\nswitch($step393) {\ncase 0: $ans397 = R.getMaker2(raw$array2,(\"make2\"),L[74],L[75]);\nvar anf_fun401 = $ans397;\n$step393 = 1;\n$al398 = L[75];\nif(typeof(anf_fun401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al398,anf_fun401);\n}\n$ans397 = anf_fun401.app(a395,b396);\nbreak;\ncase 1: var anf_arg402 = $ans397;\n// caller optimization;\n$ans397 = raw$array$to$list4.app(anf_arg402);\nvar anf_arg403 = $ans397;\n// caller optimization;\n$ans397 = h$sequence147.$var.app(anf_arg403,(\" \"));\n$step393 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans397;\ndefault: R.ffi.throwSpinnakerError(L[73],$step393);\n}\n}\nif($step393 !== 2) {\n$ans397.stack[R.EXN_STACKHEIGHT++] = R.mAR($al398,$temp_lam394,$step393,[a395,b396],[],$elidedFrames400);\n}\nreturn $ans397;\n};\nvar anf_obj450 = R.mF($temp_lam394,\"\");\nvar $temp_lam406 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__76($a407,$b408,$c409) {\nvar $step405 = 0;\nvar $elidedFrames413 = 0;\nvar $ans410 = D;\nvar $al411 = L[76];\nif(R.isAR($a407)) {\n$step405 = $a407.step;\n$al411 = $a407.from;\n$ans410 = $a407.ans;\n$elidedFrames413 = $a407.elidedFrames;\na407 = $a407.args[0];\nb408 = $a407.args[1];\nc409 = $a407.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[76],3,$t,false);\n}\nvar a407 = $a407;\nvar b408 = $b408;\nvar c409 = $c409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans410 = R.mC();\n}\nwhile(!R.isContinuation($ans410)) {\nswitch($step405) {\ncase 0: $ans410 = R.getMaker3(raw$array2,(\"make3\"),L[77],L[78]);\nvar anf_fun414 = $ans410;\n$step405 = 1;\n$al411 = L[78];\nif(typeof(anf_fun414.app) !== \"function\") {\nR.ffi.throwNonFunApp($al411,anf_fun414);\n}\n$ans410 = anf_fun414.app(a407,b408,c409);\nbreak;\ncase 1: var anf_arg415 = $ans410;\n// caller optimization;\n$ans410 = raw$array$to$list4.app(anf_arg415);\nvar anf_arg416 = $ans410;\n// caller optimization;\n$ans410 = h$sequence147.$var.app(anf_arg416,(\" \"));\n$step405 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans410;\ndefault: R.ffi.throwSpinnakerError(L[76],$step405);\n}\n}\nif($step405 !== 2) {\n$ans410.stack[R.EXN_STACKHEIGHT++] = R.mAR($al411,$temp_lam406,$step405,[a407,b408,c409],[],$elidedFrames413);\n}\nreturn $ans410;\n};\nvar anf_obj451 = R.mF($temp_lam406,\"\");\nvar $temp_lam419 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__79($a420,$b421,$c422,$d423) {\nvar $step418 = 0;\nvar $elidedFrames427 = 0;\nvar $ans424 = D;\nvar $al425 = L[79];\nif(R.isAR($a420)) {\n$step418 = $a420.step;\n$al425 = $a420.from;\n$ans424 = $a420.ans;\n$elidedFrames427 = $a420.elidedFrames;\na420 = $a420.args[0];\nb421 = $a420.args[1];\nc422 = $a420.args[2];\nd423 = $a420.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],4,$t,false);\n}\nvar a420 = $a420;\nvar b421 = $b421;\nvar c422 = $c422;\nvar d423 = $d423;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans424 = R.mC();\n}\nwhile(!R.isContinuation($ans424)) {\nswitch($step418) {\ncase 0: $ans424 = R.getMaker4(raw$array2,(\"make4\"),L[80],L[81]);\nvar anf_fun428 = $ans424;\n$step418 = 1;\n$al425 = L[81];\nif(typeof(anf_fun428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al425,anf_fun428);\n}\n$ans424 = anf_fun428.app(a420,b421,c422,d423);\nbreak;\ncase 1: var anf_arg429 = $ans424;\n// caller optimization;\n$ans424 = raw$array$to$list4.app(anf_arg429);\nvar anf_arg430 = $ans424;\n// caller optimization;\n$ans424 = h$sequence147.$var.app(anf_arg430,(\" \"));\n$step418 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans424;\ndefault: R.ffi.throwSpinnakerError(L[79],$step418);\n}\n}\nif($step418 !== 2) {\n$ans424.stack[R.EXN_STACKHEIGHT++] = R.mAR($al425,$temp_lam419,$step418,[a420,b421,c422,d423],[],$elidedFrames427);\n}\nreturn $ans424;\n};\nvar anf_obj452 = R.mF($temp_lam419,\"\");\nvar $temp_lam433 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__82($a434,$b435,$c436,$d437,$e438) {\nvar $step432 = 0;\nvar $elidedFrames442 = 0;\nvar $ans439 = D;\nvar $al440 = L[82];\nif(R.isAR($a434)) {\n$step432 = $a434.step;\n$al440 = $a434.from;\n$ans439 = $a434.ans;\n$elidedFrames442 = $a434.elidedFrames;\na434 = $a434.args[0];\nb435 = $a434.args[1];\nc436 = $a434.args[2];\nd437 = $a434.args[3];\ne438 = $a434.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[82],5,$t,false);\n}\nvar a434 = $a434;\nvar b435 = $b435;\nvar c436 = $c436;\nvar d437 = $d437;\nvar e438 = $e438;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans439 = R.mC();\n}\nwhile(!R.isContinuation($ans439)) {\nswitch($step432) {\ncase 0: $ans439 = R.getMaker5(raw$array2,(\"make5\"),L[83],L[84]);\nvar anf_fun443 = $ans439;\n$step432 = 1;\n$al440 = L[84];\nif(typeof(anf_fun443.app) !== \"function\") {\nR.ffi.throwNonFunApp($al440,anf_fun443);\n}\n$ans439 = anf_fun443.app(a434,b435,c436,d437,e438);\nbreak;\ncase 1: var anf_arg444 = $ans439;\n// caller optimization;\n$ans439 = raw$array$to$list4.app(anf_arg444);\nvar anf_arg445 = $ans439;\n// caller optimization;\n$ans439 = h$sequence147.$var.app(anf_arg445,(\" \"));\n$step432 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans439;\ndefault: R.ffi.throwSpinnakerError(L[82],$step432);\n}\n}\nif($step432 !== 2) {\n$ans439.stack[R.EXN_STACKHEIGHT++] = R.mAR($al440,$temp_lam433,$step432,[a434,b435,c436,d437,e438],[],$elidedFrames442);\n}\nreturn $ans439;\n};\nvar anf_obj453 = R.mF($temp_lam433,\"\");\nvar sequence545 = R.mO({\"make\":anf_obj447,\n\"make0\":anf_obj448,\n\"make1\":anf_obj449,\n\"make2\":anf_obj450,\n\"make3\":anf_obj451,\n\"make4\":anf_obj452,\n\"make5\":anf_obj453});\nvar $temp_lam455 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__85($arr456) {\nvar $step454 = 0;\nvar $elidedFrames460 = 0;\nvar $ans457 = D;\nvar $al458 = L[85];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[85],1,$t,false);\n}\nvar arr456 = $arr456;\n// callee optimization;\nwhile(!R.isContinuation($ans457)) {\nswitch($step454) {\ncase 0: // caller optimization;\n$ans457 = raw$array$to$list4.app(arr456);\nvar anf_arg461 = $ans457;\n// caller optimization;\n$ans457 = v$sequence143.$var.app(anf_arg461);\n$step454 = 1;\nbreak;\ncase 1: return $ans457;\ndefault: R.ffi.throwSpinnakerError(L[85],$step454);\n}\n}\nreturn $ans457;\n};\nvar anf_obj538 = R.mF($temp_lam455,\"\");\nvar $temp_lam464 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__86($$resumer13) {\nvar $step463 = 0;\nvar $elidedFrames468 = 0;\nvar $ans465 = D;\nvar $al466 = L[86];\nif(R.isAR($$resumer13)) {\n$step463 = $$resumer13.step;\n$al466 = $$resumer13.from;\n$ans465 = $$resumer13.ans;\n$elidedFrames468 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[86],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans465 = R.mC();\n}\nwhile(!R.isContinuation($ans465)) {\nswitch($step463) {\ncase 0: $ans465 = R.getMaker0(raw$array2,(\"make0\"),L[87],L[88]);\nvar anf_fun469 = $ans465;\n$step463 = 1;\n$al466 = L[88];\nif(typeof(anf_fun469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al466,anf_fun469);\n}\n$ans465 = anf_fun469.app();\nbreak;\ncase 1: var anf_arg470 = $ans465;\n// caller optimization;\n$ans465 = raw$array$to$list4.app(anf_arg470);\nvar anf_arg471 = $ans465;\n// caller optimization;\n$ans465 = v$sequence143.$var.app(anf_arg471);\n$step463 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans465;\ndefault: R.ffi.throwSpinnakerError(L[86],$step463);\n}\n}\nif($step463 !== 2) {\n$ans465.stack[R.EXN_STACKHEIGHT++] = R.mAR($al466,$temp_lam464,$step463,[],[],$elidedFrames468);\n}\nreturn $ans465;\n};\nvar anf_obj539 = R.mF($temp_lam464,\"\");\nvar $temp_lam474 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__89($a475) {\nvar $step473 = 0;\nvar $elidedFrames479 = 0;\nvar $ans476 = D;\nvar $al477 = L[89];\nif(R.isAR($a475)) {\n$step473 = $a475.step;\n$al477 = $a475.from;\n$ans476 = $a475.ans;\n$elidedFrames479 = $a475.elidedFrames;\na475 = $a475.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[89],1,$t,false);\n}\nvar a475 = $a475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans476 = R.mC();\n}\nwhile(!R.isContinuation($ans476)) {\nswitch($step473) {\ncase 0: $ans476 = R.getMaker1(raw$array2,(\"make1\"),L[90],L[91]);\nvar anf_fun480 = $ans476;\n$step473 = 1;\n$al477 = L[91];\nif(typeof(anf_fun480.app) !== \"function\") {\nR.ffi.throwNonFunApp($al477,anf_fun480);\n}\n$ans476 = anf_fun480.app(a475);\nbreak;\ncase 1: var anf_arg481 = $ans476;\n// caller optimization;\n$ans476 = raw$array$to$list4.app(anf_arg481);\nvar anf_arg482 = $ans476;\n// caller optimization;\n$ans476 = v$sequence143.$var.app(anf_arg482);\n$step473 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans476;\ndefault: R.ffi.throwSpinnakerError(L[89],$step473);\n}\n}\nif($step473 !== 2) {\n$ans476.stack[R.EXN_STACKHEIGHT++] = R.mAR($al477,$temp_lam474,$step473,[a475],[],$elidedFrames479);\n}\nreturn $ans476;\n};\nvar anf_obj540 = R.mF($temp_lam474,\"\");\nvar $temp_lam485 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__92($a486,$b487) {\nvar $step484 = 0;\nvar $elidedFrames491 = 0;\nvar $ans488 = D;\nvar $al489 = L[92];\nif(R.isAR($a486)) {\n$step484 = $a486.step;\n$al489 = $a486.from;\n$ans488 = $a486.ans;\n$elidedFrames491 = $a486.elidedFrames;\na486 = $a486.args[0];\nb487 = $a486.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],2,$t,false);\n}\nvar a486 = $a486;\nvar b487 = $b487;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans488 = R.mC();\n}\nwhile(!R.isContinuation($ans488)) {\nswitch($step484) {\ncase 0: $ans488 = R.getMaker2(raw$array2,(\"make2\"),L[93],L[94]);\nvar anf_fun492 = $ans488;\n$step484 = 1;\n$al489 = L[94];\nif(typeof(anf_fun492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al489,anf_fun492);\n}\n$ans488 = anf_fun492.app(a486,b487);\nbreak;\ncase 1: var anf_arg493 = $ans488;\n// caller optimization;\n$ans488 = raw$array$to$list4.app(anf_arg493);\nvar anf_arg494 = $ans488;\n// caller optimization;\n$ans488 = v$sequence143.$var.app(anf_arg494);\n$step484 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans488;\ndefault: R.ffi.throwSpinnakerError(L[92],$step484);\n}\n}\nif($step484 !== 2) {\n$ans488.stack[R.EXN_STACKHEIGHT++] = R.mAR($al489,$temp_lam485,$step484,[a486,b487],[],$elidedFrames491);\n}\nreturn $ans488;\n};\nvar anf_obj541 = R.mF($temp_lam485,\"\");\nvar $temp_lam497 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__95($a498,$b499,$c500) {\nvar $step496 = 0;\nvar $elidedFrames504 = 0;\nvar $ans501 = D;\nvar $al502 = L[95];\nif(R.isAR($a498)) {\n$step496 = $a498.step;\n$al502 = $a498.from;\n$ans501 = $a498.ans;\n$elidedFrames504 = $a498.elidedFrames;\na498 = $a498.args[0];\nb499 = $a498.args[1];\nc500 = $a498.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[95],3,$t,false);\n}\nvar a498 = $a498;\nvar b499 = $b499;\nvar c500 = $c500;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans501 = R.mC();\n}\nwhile(!R.isContinuation($ans501)) {\nswitch($step496) {\ncase 0: $ans501 = R.getMaker3(raw$array2,(\"make3\"),L[96],L[97]);\nvar anf_fun505 = $ans501;\n$step496 = 1;\n$al502 = L[97];\nif(typeof(anf_fun505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al502,anf_fun505);\n}\n$ans501 = anf_fun505.app(a498,b499,c500);\nbreak;\ncase 1: var anf_arg506 = $ans501;\n// caller optimization;\n$ans501 = raw$array$to$list4.app(anf_arg506);\nvar anf_arg507 = $ans501;\n// caller optimization;\n$ans501 = v$sequence143.$var.app(anf_arg507);\n$step496 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans501;\ndefault: R.ffi.throwSpinnakerError(L[95],$step496);\n}\n}\nif($step496 !== 2) {\n$ans501.stack[R.EXN_STACKHEIGHT++] = R.mAR($al502,$temp_lam497,$step496,[a498,b499,c500],[],$elidedFrames504);\n}\nreturn $ans501;\n};\nvar anf_obj542 = R.mF($temp_lam497,\"\");\nvar $temp_lam510 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__98($a511,$b512,$c513,$d514) {\nvar $step509 = 0;\nvar $elidedFrames518 = 0;\nvar $ans515 = D;\nvar $al516 = L[98];\nif(R.isAR($a511)) {\n$step509 = $a511.step;\n$al516 = $a511.from;\n$ans515 = $a511.ans;\n$elidedFrames518 = $a511.elidedFrames;\na511 = $a511.args[0];\nb512 = $a511.args[1];\nc513 = $a511.args[2];\nd514 = $a511.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[98],4,$t,false);\n}\nvar a511 = $a511;\nvar b512 = $b512;\nvar c513 = $c513;\nvar d514 = $d514;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans515 = R.mC();\n}\nwhile(!R.isContinuation($ans515)) {\nswitch($step509) {\ncase 0: $ans515 = R.getMaker4(raw$array2,(\"make4\"),L[99],L[100]);\nvar anf_fun519 = $ans515;\n$step509 = 1;\n$al516 = L[100];\nif(typeof(anf_fun519.app) !== \"function\") {\nR.ffi.throwNonFunApp($al516,anf_fun519);\n}\n$ans515 = anf_fun519.app(a511,b512,c513,d514);\nbreak;\ncase 1: var anf_arg520 = $ans515;\n// caller optimization;\n$ans515 = raw$array$to$list4.app(anf_arg520);\nvar anf_arg521 = $ans515;\n// caller optimization;\n$ans515 = v$sequence143.$var.app(anf_arg521);\n$step509 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans515;\ndefault: R.ffi.throwSpinnakerError(L[98],$step509);\n}\n}\nif($step509 !== 2) {\n$ans515.stack[R.EXN_STACKHEIGHT++] = R.mAR($al516,$temp_lam510,$step509,[a511,b512,c513,d514],[],$elidedFrames518);\n}\nreturn $ans515;\n};\nvar anf_obj543 = R.mF($temp_lam510,\"\");\nvar $temp_lam524 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__101($a525,$b526,$c527,$d528,$e529) {\nvar $step523 = 0;\nvar $elidedFrames533 = 0;\nvar $ans530 = D;\nvar $al531 = L[101];\nif(R.isAR($a525)) {\n$step523 = $a525.step;\n$al531 = $a525.from;\n$ans530 = $a525.ans;\n$elidedFrames533 = $a525.elidedFrames;\na525 = $a525.args[0];\nb526 = $a525.args[1];\nc527 = $a525.args[2];\nd528 = $a525.args[3];\ne529 = $a525.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[101],5,$t,false);\n}\nvar a525 = $a525;\nvar b526 = $b526;\nvar c527 = $c527;\nvar d528 = $d528;\nvar e529 = $e529;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans530 = R.mC();\n}\nwhile(!R.isContinuation($ans530)) {\nswitch($step523) {\ncase 0: $ans530 = R.getMaker5(raw$array2,(\"make5\"),L[102],L[103]);\nvar anf_fun534 = $ans530;\n$step523 = 1;\n$al531 = L[103];\nif(typeof(anf_fun534.app) !== \"function\") {\nR.ffi.throwNonFunApp($al531,anf_fun534);\n}\n$ans530 = anf_fun534.app(a525,b526,c527,d528,e529);\nbreak;\ncase 1: var anf_arg535 = $ans530;\n// caller optimization;\n$ans530 = raw$array$to$list4.app(anf_arg535);\nvar anf_arg536 = $ans530;\n// caller optimization;\n$ans530 = v$sequence143.$var.app(anf_arg536);\n$step523 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans530;\ndefault: R.ffi.throwSpinnakerError(L[101],$step523);\n}\n}\nif($step523 !== 2) {\n$ans530.stack[R.EXN_STACKHEIGHT++] = R.mAR($al531,$temp_lam524,$step523,[a525,b526,c527,d528,e529],[],$elidedFrames533);\n}\nreturn $ans530;\n};\nvar anf_obj544 = R.mF($temp_lam524,\"\");\nvar vert982 = R.mO({\"make\":anf_obj538,\n\"make0\":anf_obj539,\n\"make1\":anf_obj540,\n\"make2\":anf_obj541,\n\"make3\":anf_obj542,\n\"make4\":anf_obj543,\n\"make5\":anf_obj544});\nvar error981 = sequence545;\nvar $temp_lam547 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__104($arr548) {\nvar $step546 = 0;\nvar $elidedFrames552 = 0;\nvar $ans549 = D;\nvar $al550 = L[104];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[104],1,$t,false);\n}\nvar arr548 = $arr548;\n// callee optimization;\nwhile(!R.isContinuation($ans549)) {\nswitch($step546) {\ncase 0: // caller optimization;\n$ans549 = raw$array$to$list4.app(arr548);\nvar anf_arg553 = $ans549;\n// caller optimization;\n$ans549 = h$sequence147.$var.app(anf_arg553,(\"\"));\n$step546 = 1;\nbreak;\ncase 1: return $ans549;\ndefault: R.ffi.throwSpinnakerError(L[104],$step546);\n}\n}\nreturn $ans549;\n};\nvar anf_obj630 = R.mF($temp_lam547,\"\");\nvar $temp_lam556 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__105($$resumer13) {\nvar $step555 = 0;\nvar $elidedFrames560 = 0;\nvar $ans557 = D;\nvar $al558 = L[105];\nif(R.isAR($$resumer13)) {\n$step555 = $$resumer13.step;\n$al558 = $$resumer13.from;\n$ans557 = $$resumer13.ans;\n$elidedFrames560 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[105],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans557 = R.mC();\n}\nwhile(!R.isContinuation($ans557)) {\nswitch($step555) {\ncase 0: $ans557 = R.getMaker0(raw$array2,(\"make0\"),L[106],L[107]);\nvar anf_fun561 = $ans557;\n$step555 = 1;\n$al558 = L[107];\nif(typeof(anf_fun561.app) !== \"function\") {\nR.ffi.throwNonFunApp($al558,anf_fun561);\n}\n$ans557 = anf_fun561.app();\nbreak;\ncase 1: var anf_arg562 = $ans557;\n// caller optimization;\n$ans557 = raw$array$to$list4.app(anf_arg562);\nvar anf_arg563 = $ans557;\n// caller optimization;\n$ans557 = h$sequence147.$var.app(anf_arg563,(\"\"));\n$step555 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans557;\ndefault: R.ffi.throwSpinnakerError(L[105],$step555);\n}\n}\nif($step555 !== 2) {\n$ans557.stack[R.EXN_STACKHEIGHT++] = R.mAR($al558,$temp_lam556,$step555,[],[],$elidedFrames560);\n}\nreturn $ans557;\n};\nvar anf_obj631 = R.mF($temp_lam556,\"\");\nvar $temp_lam566 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__108($a567) {\nvar $step565 = 0;\nvar $elidedFrames571 = 0;\nvar $ans568 = D;\nvar $al569 = L[108];\nif(R.isAR($a567)) {\n$step565 = $a567.step;\n$al569 = $a567.from;\n$ans568 = $a567.ans;\n$elidedFrames571 = $a567.elidedFrames;\na567 = $a567.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],1,$t,false);\n}\nvar a567 = $a567;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans568 = R.mC();\n}\nwhile(!R.isContinuation($ans568)) {\nswitch($step565) {\ncase 0: $ans568 = R.getMaker1(raw$array2,(\"make1\"),L[109],L[110]);\nvar anf_fun572 = $ans568;\n$step565 = 1;\n$al569 = L[110];\nif(typeof(anf_fun572.app) !== \"function\") {\nR.ffi.throwNonFunApp($al569,anf_fun572);\n}\n$ans568 = anf_fun572.app(a567);\nbreak;\ncase 1: var anf_arg573 = $ans568;\n// caller optimization;\n$ans568 = raw$array$to$list4.app(anf_arg573);\nvar anf_arg574 = $ans568;\n// caller optimization;\n$ans568 = h$sequence147.$var.app(anf_arg574,(\"\"));\n$step565 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans568;\ndefault: R.ffi.throwSpinnakerError(L[108],$step565);\n}\n}\nif($step565 !== 2) {\n$ans568.stack[R.EXN_STACKHEIGHT++] = R.mAR($al569,$temp_lam566,$step565,[a567],[],$elidedFrames571);\n}\nreturn $ans568;\n};\nvar anf_obj632 = R.mF($temp_lam566,\"\");\nvar $temp_lam577 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__111($a578,$b579) {\nvar $step576 = 0;\nvar $elidedFrames583 = 0;\nvar $ans580 = D;\nvar $al581 = L[111];\nif(R.isAR($a578)) {\n$step576 = $a578.step;\n$al581 = $a578.from;\n$ans580 = $a578.ans;\n$elidedFrames583 = $a578.elidedFrames;\na578 = $a578.args[0];\nb579 = $a578.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],2,$t,false);\n}\nvar a578 = $a578;\nvar b579 = $b579;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans580 = R.mC();\n}\nwhile(!R.isContinuation($ans580)) {\nswitch($step576) {\ncase 0: $ans580 = R.getMaker2(raw$array2,(\"make2\"),L[112],L[113]);\nvar anf_fun584 = $ans580;\n$step576 = 1;\n$al581 = L[113];\nif(typeof(anf_fun584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al581,anf_fun584);\n}\n$ans580 = anf_fun584.app(a578,b579);\nbreak;\ncase 1: var anf_arg585 = $ans580;\n// caller optimization;\n$ans580 = raw$array$to$list4.app(anf_arg585);\nvar anf_arg586 = $ans580;\n// caller optimization;\n$ans580 = h$sequence147.$var.app(anf_arg586,(\"\"));\n$step576 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans580;\ndefault: R.ffi.throwSpinnakerError(L[111],$step576);\n}\n}\nif($step576 !== 2) {\n$ans580.stack[R.EXN_STACKHEIGHT++] = R.mAR($al581,$temp_lam577,$step576,[a578,b579],[],$elidedFrames583);\n}\nreturn $ans580;\n};\nvar anf_obj633 = R.mF($temp_lam577,\"\");\nvar $temp_lam589 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__114($a590,$b591,$c592) {\nvar $step588 = 0;\nvar $elidedFrames596 = 0;\nvar $ans593 = D;\nvar $al594 = L[114];\nif(R.isAR($a590)) {\n$step588 = $a590.step;\n$al594 = $a590.from;\n$ans593 = $a590.ans;\n$elidedFrames596 = $a590.elidedFrames;\na590 = $a590.args[0];\nb591 = $a590.args[1];\nc592 = $a590.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[114],3,$t,false);\n}\nvar a590 = $a590;\nvar b591 = $b591;\nvar c592 = $c592;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans593 = R.mC();\n}\nwhile(!R.isContinuation($ans593)) {\nswitch($step588) {\ncase 0: $ans593 = R.getMaker3(raw$array2,(\"make3\"),L[115],L[116]);\nvar anf_fun597 = $ans593;\n$step588 = 1;\n$al594 = L[116];\nif(typeof(anf_fun597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al594,anf_fun597);\n}\n$ans593 = anf_fun597.app(a590,b591,c592);\nbreak;\ncase 1: var anf_arg598 = $ans593;\n// caller optimization;\n$ans593 = raw$array$to$list4.app(anf_arg598);\nvar anf_arg599 = $ans593;\n// caller optimization;\n$ans593 = h$sequence147.$var.app(anf_arg599,(\"\"));\n$step588 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans593;\ndefault: R.ffi.throwSpinnakerError(L[114],$step588);\n}\n}\nif($step588 !== 2) {\n$ans593.stack[R.EXN_STACKHEIGHT++] = R.mAR($al594,$temp_lam589,$step588,[a590,b591,c592],[],$elidedFrames596);\n}\nreturn $ans593;\n};\nvar anf_obj634 = R.mF($temp_lam589,\"\");\nvar $temp_lam602 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__117($a603,$b604,$c605,$d606) {\nvar $step601 = 0;\nvar $elidedFrames610 = 0;\nvar $ans607 = D;\nvar $al608 = L[117];\nif(R.isAR($a603)) {\n$step601 = $a603.step;\n$al608 = $a603.from;\n$ans607 = $a603.ans;\n$elidedFrames610 = $a603.elidedFrames;\na603 = $a603.args[0];\nb604 = $a603.args[1];\nc605 = $a603.args[2];\nd606 = $a603.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],4,$t,false);\n}\nvar a603 = $a603;\nvar b604 = $b604;\nvar c605 = $c605;\nvar d606 = $d606;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans607 = R.mC();\n}\nwhile(!R.isContinuation($ans607)) {\nswitch($step601) {\ncase 0: $ans607 = R.getMaker4(raw$array2,(\"make4\"),L[118],L[119]);\nvar anf_fun611 = $ans607;\n$step601 = 1;\n$al608 = L[119];\nif(typeof(anf_fun611.app) !== \"function\") {\nR.ffi.throwNonFunApp($al608,anf_fun611);\n}\n$ans607 = anf_fun611.app(a603,b604,c605,d606);\nbreak;\ncase 1: var anf_arg612 = $ans607;\n// caller optimization;\n$ans607 = raw$array$to$list4.app(anf_arg612);\nvar anf_arg613 = $ans607;\n// caller optimization;\n$ans607 = h$sequence147.$var.app(anf_arg613,(\"\"));\n$step601 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans607;\ndefault: R.ffi.throwSpinnakerError(L[117],$step601);\n}\n}\nif($step601 !== 2) {\n$ans607.stack[R.EXN_STACKHEIGHT++] = R.mAR($al608,$temp_lam602,$step601,[a603,b604,c605,d606],[],$elidedFrames610);\n}\nreturn $ans607;\n};\nvar anf_obj635 = R.mF($temp_lam602,\"\");\nvar $temp_lam616 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__120($a617,$b618,$c619,$d620,$e621) {\nvar $step615 = 0;\nvar $elidedFrames625 = 0;\nvar $ans622 = D;\nvar $al623 = L[120];\nif(R.isAR($a617)) {\n$step615 = $a617.step;\n$al623 = $a617.from;\n$ans622 = $a617.ans;\n$elidedFrames625 = $a617.elidedFrames;\na617 = $a617.args[0];\nb618 = $a617.args[1];\nc619 = $a617.args[2];\nd620 = $a617.args[3];\ne621 = $a617.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[120],5,$t,false);\n}\nvar a617 = $a617;\nvar b618 = $b618;\nvar c619 = $c619;\nvar d620 = $d620;\nvar e621 = $e621;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans622 = R.mC();\n}\nwhile(!R.isContinuation($ans622)) {\nswitch($step615) {\ncase 0: $ans622 = R.getMaker5(raw$array2,(\"make5\"),L[121],L[122]);\nvar anf_fun626 = $ans622;\n$step615 = 1;\n$al623 = L[122];\nif(typeof(anf_fun626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al623,anf_fun626);\n}\n$ans622 = anf_fun626.app(a617,b618,c619,d620,e621);\nbreak;\ncase 1: var anf_arg627 = $ans622;\n// caller optimization;\n$ans622 = raw$array$to$list4.app(anf_arg627);\nvar anf_arg628 = $ans622;\n// caller optimization;\n$ans622 = h$sequence147.$var.app(anf_arg628,(\"\"));\n$step615 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans622;\ndefault: R.ffi.throwSpinnakerError(L[120],$step615);\n}\n}\nif($step615 !== 2) {\n$ans622.stack[R.EXN_STACKHEIGHT++] = R.mAR($al623,$temp_lam616,$step615,[a617,b618,c619,d620,e621],[],$elidedFrames625);\n}\nreturn $ans622;\n};\nvar anf_obj636 = R.mF($temp_lam616,\"\");\nvar para$nospace985 = R.mO({\"make\":anf_obj630,\n\"make0\":anf_obj631,\n\"make1\":anf_obj632,\n\"make2\":anf_obj633,\n\"make3\":anf_obj634,\n\"make4\":anf_obj635,\n\"make5\":anf_obj636});\nvar $temp_lam638 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__123($arr639) {\nvar $step637 = 0;\nvar $elidedFrames643 = 0;\nvar $ans640 = D;\nvar $al641 = L[123];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[123],1,$t,false);\n}\nvar arr639 = $arr639;\n// callee optimization;\nwhile(!R.isContinuation($ans640)) {\nswitch($step637) {\ncase 0: // caller optimization;\n$ans640 = raw$array$to$list4.app(arr639);\nvar anf_arg644 = $ans640;\n// caller optimization;\n$ans640 = bulleted$sequence139.$var.app(anf_arg644);\n$step637 = 1;\nbreak;\ncase 1: return $ans640;\ndefault: R.ffi.throwSpinnakerError(L[123],$step637);\n}\n}\nreturn $ans640;\n};\nvar anf_obj721 = R.mF($temp_lam638,\"\");\nvar $temp_lam647 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__124($$resumer13) {\nvar $step646 = 0;\nvar $elidedFrames651 = 0;\nvar $ans648 = D;\nvar $al649 = L[124];\nif(R.isAR($$resumer13)) {\n$step646 = $$resumer13.step;\n$al649 = $$resumer13.from;\n$ans648 = $$resumer13.ans;\n$elidedFrames651 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans648 = R.mC();\n}\nwhile(!R.isContinuation($ans648)) {\nswitch($step646) {\ncase 0: $ans648 = R.getMaker0(raw$array2,(\"make0\"),L[125],L[126]);\nvar anf_fun652 = $ans648;\n$step646 = 1;\n$al649 = L[126];\nif(typeof(anf_fun652.app) !== \"function\") {\nR.ffi.throwNonFunApp($al649,anf_fun652);\n}\n$ans648 = anf_fun652.app();\nbreak;\ncase 1: var anf_arg653 = $ans648;\n// caller optimization;\n$ans648 = raw$array$to$list4.app(anf_arg653);\nvar anf_arg654 = $ans648;\n// caller optimization;\n$ans648 = bulleted$sequence139.$var.app(anf_arg654);\n$step646 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans648;\ndefault: R.ffi.throwSpinnakerError(L[124],$step646);\n}\n}\nif($step646 !== 2) {\n$ans648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al649,$temp_lam647,$step646,[],[],$elidedFrames651);\n}\nreturn $ans648;\n};\nvar anf_obj722 = R.mF($temp_lam647,\"\");\nvar $temp_lam657 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__127($a658) {\nvar $step656 = 0;\nvar $elidedFrames662 = 0;\nvar $ans659 = D;\nvar $al660 = L[127];\nif(R.isAR($a658)) {\n$step656 = $a658.step;\n$al660 = $a658.from;\n$ans659 = $a658.ans;\n$elidedFrames662 = $a658.elidedFrames;\na658 = $a658.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[127],1,$t,false);\n}\nvar a658 = $a658;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans659 = R.mC();\n}\nwhile(!R.isContinuation($ans659)) {\nswitch($step656) {\ncase 0: $ans659 = R.getMaker1(raw$array2,(\"make1\"),L[128],L[129]);\nvar anf_fun663 = $ans659;\n$step656 = 1;\n$al660 = L[129];\nif(typeof(anf_fun663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al660,anf_fun663);\n}\n$ans659 = anf_fun663.app(a658);\nbreak;\ncase 1: var anf_arg664 = $ans659;\n// caller optimization;\n$ans659 = raw$array$to$list4.app(anf_arg664);\nvar anf_arg665 = $ans659;\n// caller optimization;\n$ans659 = bulleted$sequence139.$var.app(anf_arg665);\n$step656 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans659;\ndefault: R.ffi.throwSpinnakerError(L[127],$step656);\n}\n}\nif($step656 !== 2) {\n$ans659.stack[R.EXN_STACKHEIGHT++] = R.mAR($al660,$temp_lam657,$step656,[a658],[],$elidedFrames662);\n}\nreturn $ans659;\n};\nvar anf_obj723 = R.mF($temp_lam657,\"\");\nvar $temp_lam668 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__130($a669,$b670) {\nvar $step667 = 0;\nvar $elidedFrames674 = 0;\nvar $ans671 = D;\nvar $al672 = L[130];\nif(R.isAR($a669)) {\n$step667 = $a669.step;\n$al672 = $a669.from;\n$ans671 = $a669.ans;\n$elidedFrames674 = $a669.elidedFrames;\na669 = $a669.args[0];\nb670 = $a669.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[130],2,$t,false);\n}\nvar a669 = $a669;\nvar b670 = $b670;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans671 = R.mC();\n}\nwhile(!R.isContinuation($ans671)) {\nswitch($step667) {\ncase 0: $ans671 = R.getMaker2(raw$array2,(\"make2\"),L[131],L[132]);\nvar anf_fun675 = $ans671;\n$step667 = 1;\n$al672 = L[132];\nif(typeof(anf_fun675.app) !== \"function\") {\nR.ffi.throwNonFunApp($al672,anf_fun675);\n}\n$ans671 = anf_fun675.app(a669,b670);\nbreak;\ncase 1: var anf_arg676 = $ans671;\n// caller optimization;\n$ans671 = raw$array$to$list4.app(anf_arg676);\nvar anf_arg677 = $ans671;\n// caller optimization;\n$ans671 = bulleted$sequence139.$var.app(anf_arg677);\n$step667 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans671;\ndefault: R.ffi.throwSpinnakerError(L[130],$step667);\n}\n}\nif($step667 !== 2) {\n$ans671.stack[R.EXN_STACKHEIGHT++] = R.mAR($al672,$temp_lam668,$step667,[a669,b670],[],$elidedFrames674);\n}\nreturn $ans671;\n};\nvar anf_obj724 = R.mF($temp_lam668,\"\");\nvar $temp_lam680 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__133($a681,$b682,$c683) {\nvar $step679 = 0;\nvar $elidedFrames687 = 0;\nvar $ans684 = D;\nvar $al685 = L[133];\nif(R.isAR($a681)) {\n$step679 = $a681.step;\n$al685 = $a681.from;\n$ans684 = $a681.ans;\n$elidedFrames687 = $a681.elidedFrames;\na681 = $a681.args[0];\nb682 = $a681.args[1];\nc683 = $a681.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[133],3,$t,false);\n}\nvar a681 = $a681;\nvar b682 = $b682;\nvar c683 = $c683;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans684 = R.mC();\n}\nwhile(!R.isContinuation($ans684)) {\nswitch($step679) {\ncase 0: $ans684 = R.getMaker3(raw$array2,(\"make3\"),L[134],L[135]);\nvar anf_fun688 = $ans684;\n$step679 = 1;\n$al685 = L[135];\nif(typeof(anf_fun688.app) !== \"function\") {\nR.ffi.throwNonFunApp($al685,anf_fun688);\n}\n$ans684 = anf_fun688.app(a681,b682,c683);\nbreak;\ncase 1: var anf_arg689 = $ans684;\n// caller optimization;\n$ans684 = raw$array$to$list4.app(anf_arg689);\nvar anf_arg690 = $ans684;\n// caller optimization;\n$ans684 = bulleted$sequence139.$var.app(anf_arg690);\n$step679 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans684;\ndefault: R.ffi.throwSpinnakerError(L[133],$step679);\n}\n}\nif($step679 !== 2) {\n$ans684.stack[R.EXN_STACKHEIGHT++] = R.mAR($al685,$temp_lam680,$step679,[a681,b682,c683],[],$elidedFrames687);\n}\nreturn $ans684;\n};\nvar anf_obj725 = R.mF($temp_lam680,\"\");\nvar $temp_lam693 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__136($a694,$b695,$c696,$d697) {\nvar $step692 = 0;\nvar $elidedFrames701 = 0;\nvar $ans698 = D;\nvar $al699 = L[136];\nif(R.isAR($a694)) {\n$step692 = $a694.step;\n$al699 = $a694.from;\n$ans698 = $a694.ans;\n$elidedFrames701 = $a694.elidedFrames;\na694 = $a694.args[0];\nb695 = $a694.args[1];\nc696 = $a694.args[2];\nd697 = $a694.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[136],4,$t,false);\n}\nvar a694 = $a694;\nvar b695 = $b695;\nvar c696 = $c696;\nvar d697 = $d697;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans698 = R.mC();\n}\nwhile(!R.isContinuation($ans698)) {\nswitch($step692) {\ncase 0: $ans698 = R.getMaker4(raw$array2,(\"make4\"),L[137],L[138]);\nvar anf_fun702 = $ans698;\n$step692 = 1;\n$al699 = L[138];\nif(typeof(anf_fun702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al699,anf_fun702);\n}\n$ans698 = anf_fun702.app(a694,b695,c696,d697);\nbreak;\ncase 1: var anf_arg703 = $ans698;\n// caller optimization;\n$ans698 = raw$array$to$list4.app(anf_arg703);\nvar anf_arg704 = $ans698;\n// caller optimization;\n$ans698 = bulleted$sequence139.$var.app(anf_arg704);\n$step692 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans698;\ndefault: R.ffi.throwSpinnakerError(L[136],$step692);\n}\n}\nif($step692 !== 2) {\n$ans698.stack[R.EXN_STACKHEIGHT++] = R.mAR($al699,$temp_lam693,$step692,[a694,b695,c696,d697],[],$elidedFrames701);\n}\nreturn $ans698;\n};\nvar anf_obj726 = R.mF($temp_lam693,\"\");\nvar $temp_lam707 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__139($a708,$b709,$c710,$d711,$e712) {\nvar $step706 = 0;\nvar $elidedFrames716 = 0;\nvar $ans713 = D;\nvar $al714 = L[139];\nif(R.isAR($a708)) {\n$step706 = $a708.step;\n$al714 = $a708.from;\n$ans713 = $a708.ans;\n$elidedFrames716 = $a708.elidedFrames;\na708 = $a708.args[0];\nb709 = $a708.args[1];\nc710 = $a708.args[2];\nd711 = $a708.args[3];\ne712 = $a708.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],5,$t,false);\n}\nvar a708 = $a708;\nvar b709 = $b709;\nvar c710 = $c710;\nvar d711 = $d711;\nvar e712 = $e712;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans713 = R.mC();\n}\nwhile(!R.isContinuation($ans713)) {\nswitch($step706) {\ncase 0: $ans713 = R.getMaker5(raw$array2,(\"make5\"),L[140],L[141]);\nvar anf_fun717 = $ans713;\n$step706 = 1;\n$al714 = L[141];\nif(typeof(anf_fun717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al714,anf_fun717);\n}\n$ans713 = anf_fun717.app(a708,b709,c710,d711,e712);\nbreak;\ncase 1: var anf_arg718 = $ans713;\n// caller optimization;\n$ans713 = raw$array$to$list4.app(anf_arg718);\nvar anf_arg719 = $ans713;\n// caller optimization;\n$ans713 = bulleted$sequence139.$var.app(anf_arg719);\n$step706 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans713;\ndefault: R.ffi.throwSpinnakerError(L[139],$step706);\n}\n}\nif($step706 !== 2) {\n$ans713.stack[R.EXN_STACKHEIGHT++] = R.mAR($al714,$temp_lam707,$step706,[a708,b709,c710,d711,e712],[],$elidedFrames716);\n}\nreturn $ans713;\n};\nvar anf_obj727 = R.mF($temp_lam707,\"\");\nvar bulleted980 = R.mO({\"make\":anf_obj721,\n\"make0\":anf_obj722,\n\"make1\":anf_obj723,\n\"make2\":anf_obj724,\n\"make3\":anf_obj725,\n\"make4\":anf_obj726,\n\"make5\":anf_obj727});\nvar $temp_lam729 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__142($arr730) {\nvar $step728 = 0;\nvar $elidedFrames734 = 0;\nvar $ans731 = D;\nvar $al732 = L[142];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[142],1,$t,false);\n}\nvar arr730 = $arr730;\n// callee optimization;\nwhile(!R.isContinuation($ans731)) {\nswitch($step728) {\ncase 0: // caller optimization;\n$ans731 = raw$array$to$list4.app(arr730);\nvar anf_arg735 = $ans731;\n// caller optimization;\n$ans731 = v$sequence143.$var.app(anf_arg735);\nvar anf_arg736 = $ans731;\n// caller optimization;\n$ans731 = optional183.$var.app(anf_arg736);\n$step728 = 1;\nbreak;\ncase 1: return $ans731;\ndefault: R.ffi.throwSpinnakerError(L[142],$step728);\n}\n}\nreturn $ans731;\n};\nvar anf_obj819 = R.mF($temp_lam729,\"\");\nvar $temp_lam739 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__143($$resumer13) {\nvar $step738 = 0;\nvar $elidedFrames743 = 0;\nvar $ans740 = D;\nvar $al741 = L[143];\nif(R.isAR($$resumer13)) {\n$step738 = $$resumer13.step;\n$al741 = $$resumer13.from;\n$ans740 = $$resumer13.ans;\n$elidedFrames743 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[143],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans740 = R.mC();\n}\nwhile(!R.isContinuation($ans740)) {\nswitch($step738) {\ncase 0: $ans740 = R.getMaker0(raw$array2,(\"make0\"),L[144],L[145]);\nvar anf_fun744 = $ans740;\n$step738 = 1;\n$al741 = L[145];\nif(typeof(anf_fun744.app) !== \"function\") {\nR.ffi.throwNonFunApp($al741,anf_fun744);\n}\n$ans740 = anf_fun744.app();\nbreak;\ncase 1: var anf_arg745 = $ans740;\n// caller optimization;\n$ans740 = raw$array$to$list4.app(anf_arg745);\nvar anf_arg746 = $ans740;\n// caller optimization;\n$ans740 = v$sequence143.$var.app(anf_arg746);\nvar anf_arg747 = $ans740;\n// caller optimization;\n$ans740 = optional183.$var.app(anf_arg747);\n$step738 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans740;\ndefault: R.ffi.throwSpinnakerError(L[143],$step738);\n}\n}\nif($step738 !== 2) {\n$ans740.stack[R.EXN_STACKHEIGHT++] = R.mAR($al741,$temp_lam739,$step738,[],[],$elidedFrames743);\n}\nreturn $ans740;\n};\nvar anf_obj820 = R.mF($temp_lam739,\"\");\nvar $temp_lam750 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__146($a751) {\nvar $step749 = 0;\nvar $elidedFrames755 = 0;\nvar $ans752 = D;\nvar $al753 = L[146];\nif(R.isAR($a751)) {\n$step749 = $a751.step;\n$al753 = $a751.from;\n$ans752 = $a751.ans;\n$elidedFrames755 = $a751.elidedFrames;\na751 = $a751.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[146],1,$t,false);\n}\nvar a751 = $a751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans752 = R.mC();\n}\nwhile(!R.isContinuation($ans752)) {\nswitch($step749) {\ncase 0: $ans752 = R.getMaker1(raw$array2,(\"make1\"),L[147],L[148]);\nvar anf_fun756 = $ans752;\n$step749 = 1;\n$al753 = L[148];\nif(typeof(anf_fun756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al753,anf_fun756);\n}\n$ans752 = anf_fun756.app(a751);\nbreak;\ncase 1: var anf_arg757 = $ans752;\n// caller optimization;\n$ans752 = raw$array$to$list4.app(anf_arg757);\nvar anf_arg758 = $ans752;\n// caller optimization;\n$ans752 = v$sequence143.$var.app(anf_arg758);\nvar anf_arg759 = $ans752;\n// caller optimization;\n$ans752 = optional183.$var.app(anf_arg759);\n$step749 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans752;\ndefault: R.ffi.throwSpinnakerError(L[146],$step749);\n}\n}\nif($step749 !== 2) {\n$ans752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al753,$temp_lam750,$step749,[a751],[],$elidedFrames755);\n}\nreturn $ans752;\n};\nvar anf_obj821 = R.mF($temp_lam750,\"\");\nvar $temp_lam762 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__149($a763,$b764) {\nvar $step761 = 0;\nvar $elidedFrames768 = 0;\nvar $ans765 = D;\nvar $al766 = L[149];\nif(R.isAR($a763)) {\n$step761 = $a763.step;\n$al766 = $a763.from;\n$ans765 = $a763.ans;\n$elidedFrames768 = $a763.elidedFrames;\na763 = $a763.args[0];\nb764 = $a763.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[149],2,$t,false);\n}\nvar a763 = $a763;\nvar b764 = $b764;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans765 = R.mC();\n}\nwhile(!R.isContinuation($ans765)) {\nswitch($step761) {\ncase 0: $ans765 = R.getMaker2(raw$array2,(\"make2\"),L[150],L[151]);\nvar anf_fun769 = $ans765;\n$step761 = 1;\n$al766 = L[151];\nif(typeof(anf_fun769.app) !== \"function\") {\nR.ffi.throwNonFunApp($al766,anf_fun769);\n}\n$ans765 = anf_fun769.app(a763,b764);\nbreak;\ncase 1: var anf_arg770 = $ans765;\n// caller optimization;\n$ans765 = raw$array$to$list4.app(anf_arg770);\nvar anf_arg771 = $ans765;\n// caller optimization;\n$ans765 = v$sequence143.$var.app(anf_arg771);\nvar anf_arg772 = $ans765;\n// caller optimization;\n$ans765 = optional183.$var.app(anf_arg772);\n$step761 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans765;\ndefault: R.ffi.throwSpinnakerError(L[149],$step761);\n}\n}\nif($step761 !== 2) {\n$ans765.stack[R.EXN_STACKHEIGHT++] = R.mAR($al766,$temp_lam762,$step761,[a763,b764],[],$elidedFrames768);\n}\nreturn $ans765;\n};\nvar anf_obj822 = R.mF($temp_lam762,\"\");\nvar $temp_lam775 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__152($a776,$b777,$c778) {\nvar $step774 = 0;\nvar $elidedFrames782 = 0;\nvar $ans779 = D;\nvar $al780 = L[152];\nif(R.isAR($a776)) {\n$step774 = $a776.step;\n$al780 = $a776.from;\n$ans779 = $a776.ans;\n$elidedFrames782 = $a776.elidedFrames;\na776 = $a776.args[0];\nb777 = $a776.args[1];\nc778 = $a776.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],3,$t,false);\n}\nvar a776 = $a776;\nvar b777 = $b777;\nvar c778 = $c778;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans779 = R.mC();\n}\nwhile(!R.isContinuation($ans779)) {\nswitch($step774) {\ncase 0: $ans779 = R.getMaker3(raw$array2,(\"make3\"),L[153],L[154]);\nvar anf_fun783 = $ans779;\n$step774 = 1;\n$al780 = L[154];\nif(typeof(anf_fun783.app) !== \"function\") {\nR.ffi.throwNonFunApp($al780,anf_fun783);\n}\n$ans779 = anf_fun783.app(a776,b777,c778);\nbreak;\ncase 1: var anf_arg784 = $ans779;\n// caller optimization;\n$ans779 = raw$array$to$list4.app(anf_arg784);\nvar anf_arg785 = $ans779;\n// caller optimization;\n$ans779 = v$sequence143.$var.app(anf_arg785);\nvar anf_arg786 = $ans779;\n// caller optimization;\n$ans779 = optional183.$var.app(anf_arg786);\n$step774 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans779;\ndefault: R.ffi.throwSpinnakerError(L[152],$step774);\n}\n}\nif($step774 !== 2) {\n$ans779.stack[R.EXN_STACKHEIGHT++] = R.mAR($al780,$temp_lam775,$step774,[a776,b777,c778],[],$elidedFrames782);\n}\nreturn $ans779;\n};\nvar anf_obj823 = R.mF($temp_lam775,\"\");\nvar $temp_lam789 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__155($a790,$b791,$c792,$d793) {\nvar $step788 = 0;\nvar $elidedFrames797 = 0;\nvar $ans794 = D;\nvar $al795 = L[155];\nif(R.isAR($a790)) {\n$step788 = $a790.step;\n$al795 = $a790.from;\n$ans794 = $a790.ans;\n$elidedFrames797 = $a790.elidedFrames;\na790 = $a790.args[0];\nb791 = $a790.args[1];\nc792 = $a790.args[2];\nd793 = $a790.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[155],4,$t,false);\n}\nvar a790 = $a790;\nvar b791 = $b791;\nvar c792 = $c792;\nvar d793 = $d793;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans794 = R.mC();\n}\nwhile(!R.isContinuation($ans794)) {\nswitch($step788) {\ncase 0: $ans794 = R.getMaker4(raw$array2,(\"make4\"),L[156],L[157]);\nvar anf_fun798 = $ans794;\n$step788 = 1;\n$al795 = L[157];\nif(typeof(anf_fun798.app) !== \"function\") {\nR.ffi.throwNonFunApp($al795,anf_fun798);\n}\n$ans794 = anf_fun798.app(a790,b791,c792,d793);\nbreak;\ncase 1: var anf_arg799 = $ans794;\n// caller optimization;\n$ans794 = raw$array$to$list4.app(anf_arg799);\nvar anf_arg800 = $ans794;\n// caller optimization;\n$ans794 = v$sequence143.$var.app(anf_arg800);\nvar anf_arg801 = $ans794;\n// caller optimization;\n$ans794 = optional183.$var.app(anf_arg801);\n$step788 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans794;\ndefault: R.ffi.throwSpinnakerError(L[155],$step788);\n}\n}\nif($step788 !== 2) {\n$ans794.stack[R.EXN_STACKHEIGHT++] = R.mAR($al795,$temp_lam789,$step788,[a790,b791,c792,d793],[],$elidedFrames797);\n}\nreturn $ans794;\n};\nvar anf_obj824 = R.mF($temp_lam789,\"\");\nvar $temp_lam804 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__158($a805,$b806,$c807,$d808,$e809) {\nvar $step803 = 0;\nvar $elidedFrames813 = 0;\nvar $ans810 = D;\nvar $al811 = L[158];\nif(R.isAR($a805)) {\n$step803 = $a805.step;\n$al811 = $a805.from;\n$ans810 = $a805.ans;\n$elidedFrames813 = $a805.elidedFrames;\na805 = $a805.args[0];\nb806 = $a805.args[1];\nc807 = $a805.args[2];\nd808 = $a805.args[3];\ne809 = $a805.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[158],5,$t,false);\n}\nvar a805 = $a805;\nvar b806 = $b806;\nvar c807 = $c807;\nvar d808 = $d808;\nvar e809 = $e809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans810 = R.mC();\n}\nwhile(!R.isContinuation($ans810)) {\nswitch($step803) {\ncase 0: $ans810 = R.getMaker5(raw$array2,(\"make5\"),L[159],L[160]);\nvar anf_fun814 = $ans810;\n$step803 = 1;\n$al811 = L[160];\nif(typeof(anf_fun814.app) !== \"function\") {\nR.ffi.throwNonFunApp($al811,anf_fun814);\n}\n$ans810 = anf_fun814.app(a805,b806,c807,d808,e809);\nbreak;\ncase 1: var anf_arg815 = $ans810;\n// caller optimization;\n$ans810 = raw$array$to$list4.app(anf_arg815);\nvar anf_arg816 = $ans810;\n// caller optimization;\n$ans810 = v$sequence143.$var.app(anf_arg816);\nvar anf_arg817 = $ans810;\n// caller optimization;\n$ans810 = optional183.$var.app(anf_arg817);\n$step803 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans810;\ndefault: R.ffi.throwSpinnakerError(L[158],$step803);\n}\n}\nif($step803 !== 2) {\n$ans810.stack[R.EXN_STACKHEIGHT++] = R.mAR($al811,$temp_lam804,$step803,[a805,b806,c807,d808,e809],[],$elidedFrames813);\n}\nreturn $ans810;\n};\nvar anf_obj825 = R.mF($temp_lam804,\"\");\nvar opt984 = R.mO({\"make\":anf_obj819,\n\"make0\":anf_obj820,\n\"make1\":anf_obj821,\n\"make2\":anf_obj822,\n\"make3\":anf_obj823,\n\"make4\":anf_obj824,\n\"make5\":anf_obj825});\nvar ed$args840 = {\"$var\":D};\nvar ed$names855 = {\"$var\":D};\nvar ed$fields870 = {\"$var\":D};\nvar ed$field$bindings885 = {\"$var\":D};\nvar ed$bindings900 = {\"$var\":D};\nvar ed$params915 = {\"$var\":D};\nvar ed$components930 = {\"$var\":D};\nvar ed$rows945 = {\"$var\":D};\nvar ed$values960 = {\"$var\":D};\nvar ed$nth977 = {\"$var\":D};\nvar $temp_lam827 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__161($n828) {\nvar $step826 = 0;\nvar $elidedFrames832 = 0;\nvar $ans829 = D;\nvar $al830 = L[161];\nif(R.isAR($n828)) {\n$step826 = $n828.step;\n$al830 = $n828.from;\n$ans829 = $n828.ans;\n$elidedFrames832 = $n828.elidedFrames;\nn828 = $n828.args[0];\nanf_fun834 = $n828.vars[0];\nanf_arg835 = $n828.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[161],1,$t,false);\n}\nvar n828 = $n828;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans829 = R.mC();\n}\nwhile(!R.isContinuation($ans829)) {\nswitch($step826) {\ncase 0: $ans829 = R.getMaker2(sequence545,(\"make2\"),L[162],L[163]);\nvar anf_fun834 = $ans829;\n// caller optimization;\n$ans829 = embed155.$var.app(n828);\nvar anf_arg835 = $ans829;\n$step826 = 1;\n$al830 = L[164];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al830,equal$always1);\n}\n$ans829 = equal$always1.app(n828,(1));\nbreak;\ncase 1: var anf_if837 = $ans829;\n$step826 = R.checkPyretTrue(anf_if837)?2:3;\nbreak;\ncase 2: $step826 = 4;\n$ans829 = (\" argument\");\nbreak;\ncase 3: $step826 = 4;\n$ans829 = (\" arguments\");\nbreak;\ncase 4: var anf_arg833 = $ans829;\n// caller optimization;\n$ans829 = text159.$var.app(anf_arg833);\nvar anf_arg836 = $ans829;\n$step826 = 5;\n$al830 = L[163];\nif(typeof(anf_fun834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al830,anf_fun834);\n}\n$ans829 = anf_fun834.app(anf_arg835,anf_arg836);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans829;\ndefault: R.ffi.throwSpinnakerError(L[161],$step826);\n}\n}\nif($step826 !== 5) {\n$ans829.stack[R.EXN_STACKHEIGHT++] = R.mAR($al830,$temp_lam827,$step826,[n828],[anf_fun834,anf_arg835],$elidedFrames832);\n}\nreturn $ans829;\n};\nvar anf_assign839 = R.mF($temp_lam827,\"ed-args\");\ned$args840.$var = anf_assign839;\nR.nothing;\nvar $temp_lam842 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__165($n843) {\nvar $step841 = 0;\nvar $elidedFrames847 = 0;\nvar $ans844 = D;\nvar $al845 = L[165];\nif(R.isAR($n843)) {\n$step841 = $n843.step;\n$al845 = $n843.from;\n$ans844 = $n843.ans;\n$elidedFrames847 = $n843.elidedFrames;\nn843 = $n843.args[0];\nanf_fun849 = $n843.vars[0];\nanf_arg850 = $n843.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[165],1,$t,false);\n}\nvar n843 = $n843;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans844 = R.mC();\n}\nwhile(!R.isContinuation($ans844)) {\nswitch($step841) {\ncase 0: $ans844 = R.getMaker2(sequence545,(\"make2\"),L[166],L[167]);\nvar anf_fun849 = $ans844;\n// caller optimization;\n$ans844 = embed155.$var.app(n843);\nvar anf_arg850 = $ans844;\n$step841 = 1;\n$al845 = L[168];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al845,equal$always1);\n}\n$ans844 = equal$always1.app(n843,(1));\nbreak;\ncase 1: var anf_if852 = $ans844;\n$step841 = R.checkPyretTrue(anf_if852)?2:3;\nbreak;\ncase 2: $step841 = 4;\n$ans844 = (\" name\");\nbreak;\ncase 3: $step841 = 4;\n$ans844 = (\" names\");\nbreak;\ncase 4: var anf_arg848 = $ans844;\n// caller optimization;\n$ans844 = text159.$var.app(anf_arg848);\nvar anf_arg851 = $ans844;\n$step841 = 5;\n$al845 = L[167];\nif(typeof(anf_fun849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al845,anf_fun849);\n}\n$ans844 = anf_fun849.app(anf_arg850,anf_arg851);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans844;\ndefault: R.ffi.throwSpinnakerError(L[165],$step841);\n}\n}\nif($step841 !== 5) {\n$ans844.stack[R.EXN_STACKHEIGHT++] = R.mAR($al845,$temp_lam842,$step841,[n843],[anf_fun849,anf_arg850],$elidedFrames847);\n}\nreturn $ans844;\n};\nvar anf_assign854 = R.mF($temp_lam842,\"ed-names\");\ned$names855.$var = anf_assign854;\nR.nothing;\nvar $temp_lam857 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__169($n858) {\nvar $step856 = 0;\nvar $elidedFrames862 = 0;\nvar $ans859 = D;\nvar $al860 = L[169];\nif(R.isAR($n858)) {\n$step856 = $n858.step;\n$al860 = $n858.from;\n$ans859 = $n858.ans;\n$elidedFrames862 = $n858.elidedFrames;\nn858 = $n858.args[0];\nanf_fun864 = $n858.vars[0];\nanf_arg865 = $n858.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[169],1,$t,false);\n}\nvar n858 = $n858;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans859 = R.mC();\n}\nwhile(!R.isContinuation($ans859)) {\nswitch($step856) {\ncase 0: $ans859 = R.getMaker2(sequence545,(\"make2\"),L[170],L[171]);\nvar anf_fun864 = $ans859;\n// caller optimization;\n$ans859 = embed155.$var.app(n858);\nvar anf_arg865 = $ans859;\n$step856 = 1;\n$al860 = L[172];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al860,equal$always1);\n}\n$ans859 = equal$always1.app(n858,(1));\nbreak;\ncase 1: var anf_if867 = $ans859;\n$step856 = R.checkPyretTrue(anf_if867)?2:3;\nbreak;\ncase 2: $step856 = 4;\n$ans859 = (\" field\");\nbreak;\ncase 3: $step856 = 4;\n$ans859 = (\" fields\");\nbreak;\ncase 4: var anf_arg863 = $ans859;\n// caller optimization;\n$ans859 = text159.$var.app(anf_arg863);\nvar anf_arg866 = $ans859;\n$step856 = 5;\n$al860 = L[171];\nif(typeof(anf_fun864.app) !== \"function\") {\nR.ffi.throwNonFunApp($al860,anf_fun864);\n}\n$ans859 = anf_fun864.app(anf_arg865,anf_arg866);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans859;\ndefault: R.ffi.throwSpinnakerError(L[169],$step856);\n}\n}\nif($step856 !== 5) {\n$ans859.stack[R.EXN_STACKHEIGHT++] = R.mAR($al860,$temp_lam857,$step856,[n858],[anf_fun864,anf_arg865],$elidedFrames862);\n}\nreturn $ans859;\n};\nvar anf_assign869 = R.mF($temp_lam857,\"ed-fields\");\ned$fields870.$var = anf_assign869;\nR.nothing;\nvar $temp_lam872 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__173($n873) {\nvar $step871 = 0;\nvar $elidedFrames877 = 0;\nvar $ans874 = D;\nvar $al875 = L[173];\nif(R.isAR($n873)) {\n$step871 = $n873.step;\n$al875 = $n873.from;\n$ans874 = $n873.ans;\n$elidedFrames877 = $n873.elidedFrames;\nn873 = $n873.args[0];\nanf_fun879 = $n873.vars[0];\nanf_arg880 = $n873.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[173],1,$t,false);\n}\nvar n873 = $n873;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans874 = R.mC();\n}\nwhile(!R.isContinuation($ans874)) {\nswitch($step871) {\ncase 0: $ans874 = R.getMaker2(sequence545,(\"make2\"),L[174],L[175]);\nvar anf_fun879 = $ans874;\n// caller optimization;\n$ans874 = embed155.$var.app(n873);\nvar anf_arg880 = $ans874;\n$step871 = 1;\n$al875 = L[176];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al875,equal$always1);\n}\n$ans874 = equal$always1.app(n873,(1));\nbreak;\ncase 1: var anf_if882 = $ans874;\n$step871 = R.checkPyretTrue(anf_if882)?2:3;\nbreak;\ncase 2: $step871 = 4;\n$ans874 = (\" field binding\");\nbreak;\ncase 3: $step871 = 4;\n$ans874 = (\" field bindings\");\nbreak;\ncase 4: var anf_arg878 = $ans874;\n// caller optimization;\n$ans874 = text159.$var.app(anf_arg878);\nvar anf_arg881 = $ans874;\n$step871 = 5;\n$al875 = L[175];\nif(typeof(anf_fun879.app) !== \"function\") {\nR.ffi.throwNonFunApp($al875,anf_fun879);\n}\n$ans874 = anf_fun879.app(anf_arg880,anf_arg881);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans874;\ndefault: R.ffi.throwSpinnakerError(L[173],$step871);\n}\n}\nif($step871 !== 5) {\n$ans874.stack[R.EXN_STACKHEIGHT++] = R.mAR($al875,$temp_lam872,$step871,[n873],[anf_fun879,anf_arg880],$elidedFrames877);\n}\nreturn $ans874;\n};\nvar anf_assign884 = R.mF($temp_lam872,\"ed-field-bindings\");\ned$field$bindings885.$var = anf_assign884;\nR.nothing;\nvar $temp_lam887 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__177($n888) {\nvar $step886 = 0;\nvar $elidedFrames892 = 0;\nvar $ans889 = D;\nvar $al890 = L[177];\nif(R.isAR($n888)) {\n$step886 = $n888.step;\n$al890 = $n888.from;\n$ans889 = $n888.ans;\n$elidedFrames892 = $n888.elidedFrames;\nn888 = $n888.args[0];\nanf_fun894 = $n888.vars[0];\nanf_arg895 = $n888.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[177],1,$t,false);\n}\nvar n888 = $n888;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans889 = R.mC();\n}\nwhile(!R.isContinuation($ans889)) {\nswitch($step886) {\ncase 0: $ans889 = R.getMaker2(sequence545,(\"make2\"),L[178],L[179]);\nvar anf_fun894 = $ans889;\n// caller optimization;\n$ans889 = embed155.$var.app(n888);\nvar anf_arg895 = $ans889;\n$step886 = 1;\n$al890 = L[180];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al890,equal$always1);\n}\n$ans889 = equal$always1.app(n888,(1));\nbreak;\ncase 1: var anf_if897 = $ans889;\n$step886 = R.checkPyretTrue(anf_if897)?2:3;\nbreak;\ncase 2: $step886 = 4;\n$ans889 = (\" binding\");\nbreak;\ncase 3: $step886 = 4;\n$ans889 = (\" bindings\");\nbreak;\ncase 4: var anf_arg893 = $ans889;\n// caller optimization;\n$ans889 = text159.$var.app(anf_arg893);\nvar anf_arg896 = $ans889;\n$step886 = 5;\n$al890 = L[179];\nif(typeof(anf_fun894.app) !== \"function\") {\nR.ffi.throwNonFunApp($al890,anf_fun894);\n}\n$ans889 = anf_fun894.app(anf_arg895,anf_arg896);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans889;\ndefault: R.ffi.throwSpinnakerError(L[177],$step886);\n}\n}\nif($step886 !== 5) {\n$ans889.stack[R.EXN_STACKHEIGHT++] = R.mAR($al890,$temp_lam887,$step886,[n888],[anf_fun894,anf_arg895],$elidedFrames892);\n}\nreturn $ans889;\n};\nvar anf_assign899 = R.mF($temp_lam887,\"ed-bindings\");\ned$bindings900.$var = anf_assign899;\nR.nothing;\nvar $temp_lam902 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__181($n903) {\nvar $step901 = 0;\nvar $elidedFrames907 = 0;\nvar $ans904 = D;\nvar $al905 = L[181];\nif(R.isAR($n903)) {\n$step901 = $n903.step;\n$al905 = $n903.from;\n$ans904 = $n903.ans;\n$elidedFrames907 = $n903.elidedFrames;\nn903 = $n903.args[0];\nanf_fun909 = $n903.vars[0];\nanf_arg910 = $n903.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[181],1,$t,false);\n}\nvar n903 = $n903;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans904 = R.mC();\n}\nwhile(!R.isContinuation($ans904)) {\nswitch($step901) {\ncase 0: $ans904 = R.getMaker2(sequence545,(\"make2\"),L[182],L[183]);\nvar anf_fun909 = $ans904;\n// caller optimization;\n$ans904 = embed155.$var.app(n903);\nvar anf_arg910 = $ans904;\n$step901 = 1;\n$al905 = L[184];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al905,equal$always1);\n}\n$ans904 = equal$always1.app(n903,(1));\nbreak;\ncase 1: var anf_if912 = $ans904;\n$step901 = R.checkPyretTrue(anf_if912)?2:3;\nbreak;\ncase 2: $step901 = 4;\n$ans904 = (\" parameter\");\nbreak;\ncase 3: $step901 = 4;\n$ans904 = (\" parameters\");\nbreak;\ncase 4: var anf_arg908 = $ans904;\n// caller optimization;\n$ans904 = text159.$var.app(anf_arg908);\nvar anf_arg911 = $ans904;\n$step901 = 5;\n$al905 = L[183];\nif(typeof(anf_fun909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al905,anf_fun909);\n}\n$ans904 = anf_fun909.app(anf_arg910,anf_arg911);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans904;\ndefault: R.ffi.throwSpinnakerError(L[181],$step901);\n}\n}\nif($step901 !== 5) {\n$ans904.stack[R.EXN_STACKHEIGHT++] = R.mAR($al905,$temp_lam902,$step901,[n903],[anf_fun909,anf_arg910],$elidedFrames907);\n}\nreturn $ans904;\n};\nvar anf_assign914 = R.mF($temp_lam902,\"ed-params\");\ned$params915.$var = anf_assign914;\nR.nothing;\nvar $temp_lam917 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__185($n918) {\nvar $step916 = 0;\nvar $elidedFrames922 = 0;\nvar $ans919 = D;\nvar $al920 = L[185];\nif(R.isAR($n918)) {\n$step916 = $n918.step;\n$al920 = $n918.from;\n$ans919 = $n918.ans;\n$elidedFrames922 = $n918.elidedFrames;\nn918 = $n918.args[0];\nanf_fun924 = $n918.vars[0];\nanf_arg925 = $n918.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[185],1,$t,false);\n}\nvar n918 = $n918;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans919 = R.mC();\n}\nwhile(!R.isContinuation($ans919)) {\nswitch($step916) {\ncase 0: $ans919 = R.getMaker2(sequence545,(\"make2\"),L[186],L[187]);\nvar anf_fun924 = $ans919;\n// caller optimization;\n$ans919 = embed155.$var.app(n918);\nvar anf_arg925 = $ans919;\n$step916 = 1;\n$al920 = L[188];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al920,equal$always1);\n}\n$ans919 = equal$always1.app(n918,(1));\nbreak;\ncase 1: var anf_if927 = $ans919;\n$step916 = R.checkPyretTrue(anf_if927)?2:3;\nbreak;\ncase 2: $step916 = 4;\n$ans919 = (\" component\");\nbreak;\ncase 3: $step916 = 4;\n$ans919 = (\" components\");\nbreak;\ncase 4: var anf_arg923 = $ans919;\n// caller optimization;\n$ans919 = text159.$var.app(anf_arg923);\nvar anf_arg926 = $ans919;\n$step916 = 5;\n$al920 = L[187];\nif(typeof(anf_fun924.app) !== \"function\") {\nR.ffi.throwNonFunApp($al920,anf_fun924);\n}\n$ans919 = anf_fun924.app(anf_arg925,anf_arg926);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans919;\ndefault: R.ffi.throwSpinnakerError(L[185],$step916);\n}\n}\nif($step916 !== 5) {\n$ans919.stack[R.EXN_STACKHEIGHT++] = R.mAR($al920,$temp_lam917,$step916,[n918],[anf_fun924,anf_arg925],$elidedFrames922);\n}\nreturn $ans919;\n};\nvar anf_assign929 = R.mF($temp_lam917,\"ed-components\");\ned$components930.$var = anf_assign929;\nR.nothing;\nvar $temp_lam932 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__189($n933) {\nvar $step931 = 0;\nvar $elidedFrames937 = 0;\nvar $ans934 = D;\nvar $al935 = L[189];\nif(R.isAR($n933)) {\n$step931 = $n933.step;\n$al935 = $n933.from;\n$ans934 = $n933.ans;\n$elidedFrames937 = $n933.elidedFrames;\nn933 = $n933.args[0];\nanf_fun939 = $n933.vars[0];\nanf_arg940 = $n933.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[189],1,$t,false);\n}\nvar n933 = $n933;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans934 = R.mC();\n}\nwhile(!R.isContinuation($ans934)) {\nswitch($step931) {\ncase 0: $ans934 = R.getMaker2(sequence545,(\"make2\"),L[190],L[191]);\nvar anf_fun939 = $ans934;\n// caller optimization;\n$ans934 = embed155.$var.app(n933);\nvar anf_arg940 = $ans934;\n$step931 = 1;\n$al935 = L[192];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al935,equal$always1);\n}\n$ans934 = equal$always1.app(n933,(1));\nbreak;\ncase 1: var anf_if942 = $ans934;\n$step931 = R.checkPyretTrue(anf_if942)?2:3;\nbreak;\ncase 2: $step931 = 4;\n$ans934 = (\" row\");\nbreak;\ncase 3: $step931 = 4;\n$ans934 = (\" rows\");\nbreak;\ncase 4: var anf_arg938 = $ans934;\n// caller optimization;\n$ans934 = text159.$var.app(anf_arg938);\nvar anf_arg941 = $ans934;\n$step931 = 5;\n$al935 = L[191];\nif(typeof(anf_fun939.app) !== \"function\") {\nR.ffi.throwNonFunApp($al935,anf_fun939);\n}\n$ans934 = anf_fun939.app(anf_arg940,anf_arg941);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans934;\ndefault: R.ffi.throwSpinnakerError(L[189],$step931);\n}\n}\nif($step931 !== 5) {\n$ans934.stack[R.EXN_STACKHEIGHT++] = R.mAR($al935,$temp_lam932,$step931,[n933],[anf_fun939,anf_arg940],$elidedFrames937);\n}\nreturn $ans934;\n};\nvar anf_assign944 = R.mF($temp_lam932,\"ed-rows\");\ned$rows945.$var = anf_assign944;\nR.nothing;\nvar $temp_lam947 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__193($n948) {\nvar $step946 = 0;\nvar $elidedFrames952 = 0;\nvar $ans949 = D;\nvar $al950 = L[193];\nif(R.isAR($n948)) {\n$step946 = $n948.step;\n$al950 = $n948.from;\n$ans949 = $n948.ans;\n$elidedFrames952 = $n948.elidedFrames;\nn948 = $n948.args[0];\nanf_fun954 = $n948.vars[0];\nanf_arg955 = $n948.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[193],1,$t,false);\n}\nvar n948 = $n948;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans949 = R.mC();\n}\nwhile(!R.isContinuation($ans949)) {\nswitch($step946) {\ncase 0: $ans949 = R.getMaker2(sequence545,(\"make2\"),L[194],L[195]);\nvar anf_fun954 = $ans949;\n// caller optimization;\n$ans949 = embed155.$var.app(n948);\nvar anf_arg955 = $ans949;\n$step946 = 1;\n$al950 = L[196];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al950,equal$always1);\n}\n$ans949 = equal$always1.app(n948,(1));\nbreak;\ncase 1: var anf_if957 = $ans949;\n$step946 = R.checkPyretTrue(anf_if957)?2:3;\nbreak;\ncase 2: $step946 = 4;\n$ans949 = (\" value\");\nbreak;\ncase 3: $step946 = 4;\n$ans949 = (\" values\");\nbreak;\ncase 4: var anf_arg953 = $ans949;\n// caller optimization;\n$ans949 = text159.$var.app(anf_arg953);\nvar anf_arg956 = $ans949;\n$step946 = 5;\n$al950 = L[195];\nif(typeof(anf_fun954.app) !== \"function\") {\nR.ffi.throwNonFunApp($al950,anf_fun954);\n}\n$ans949 = anf_fun954.app(anf_arg955,anf_arg956);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans949;\ndefault: R.ffi.throwSpinnakerError(L[193],$step946);\n}\n}\nif($step946 !== 5) {\n$ans949.stack[R.EXN_STACKHEIGHT++] = R.mAR($al950,$temp_lam947,$step946,[n948],[anf_fun954,anf_arg955],$elidedFrames952);\n}\nreturn $ans949;\n};\nvar anf_assign959 = R.mF($temp_lam947,\"ed-values\");\ned$values960.$var = anf_assign959;\nR.nothing;\nvar $temp_lam962 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__197($n963) {\nvar $step961 = 0;\nvar $elidedFrames967 = 0;\nvar $ans964 = D;\nvar $al965 = L[197];\nif(R.isAR($n963)) {\n$step961 = $n963.step;\n$al965 = $n963.from;\n$ans964 = $n963.ans;\n$elidedFrames967 = $n963.elidedFrames;\nn963 = $n963.args[0];\nlast$digit968 = $n963.vars[0];\nanf_arg969 = $n963.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[197],1,$t,false);\n}\nvar n963 = $n963;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans964 = R.mC();\n}\nwhile(!R.isContinuation($ans964)) {\nswitch($step961) {\ncase 0: // caller optimization;\n$ans964 = num$modulo9.app(n963,(10));\nvar last$digit968 = $ans964;\n// caller optimization;\n$ans964 = num$to$string7.app(n963);\nvar anf_arg969 = $ans964;\n$step961 = 1;\n$al965 = L[201];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(1));\nbreak;\ncase 1: var anf_if974 = $ans964;\n$step961 = R.checkPyretTrue(anf_if974)?2:3;\nbreak;\ncase 2: $step961 = 10;\n$ans964 = (\"\\u02E2\\u1D57\");\nbreak;\ncase 3: $step961 = 4;\n$al965 = L[200];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(2));\nbreak;\ncase 4: var anf_if973 = $ans964;\n$step961 = R.checkPyretTrue(anf_if973)?5:6;\nbreak;\ncase 5: $step961 = 10;\n$ans964 = (\"\\u207F\\u1D48\");\nbreak;\ncase 6: $step961 = 7;\n$al965 = L[199];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(3));\nbreak;\ncase 7: var anf_if972 = $ans964;\n$step961 = R.checkPyretTrue(anf_if972)?8:9;\nbreak;\ncase 8: $step961 = 10;\n$ans964 = (\"\\u207F\\u1D48\");\nbreak;\ncase 9: $step961 = 10;\n$ans964 = (\"\\u1D57\\u02B0\");\nbreak;\ncase 10: var anf_arg970 = $ans964;\n$step961 = 11;\n$al965 = L[198];\n// omitting isFunction check;\n$ans964 = _plus5.app(anf_arg969,anf_arg970);\nbreak;\ncase 11: var anf_arg971 = $ans964;\n// caller optimization;\n$ans964 = text159.$var.app(anf_arg971);\n$step961 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans964;\ndefault: R.ffi.throwSpinnakerError(L[197],$step961);\n}\n}\nif($step961 !== 12) {\n$ans964.stack[R.EXN_STACKHEIGHT++] = R.mAR($al965,$temp_lam962,$step961,[n963],[last$digit968,anf_arg969],$elidedFrames967);\n}\nreturn $ans964;\n};\nvar anf_assign976 = R.mF($temp_lam962,\"ed-nth\");\ned$nth977.$var = anf_assign976;\nR.nothing;\n$step11 = 1;\n$ans14 = R.maybeMethodCall2(builtins1,\"trace-value\",L[202],L[202],nothing2);\nbreak;\ncase 1: var answer986 = $ans14;\n$step11 = 2;\n$ans14 = R.maybeMethodCall0(builtins1,\"current-checker\",L[27]);\nbreak;\ncase 2: var anf_method_obj978 = $ans14;\n$step11 = 3;\n$ans14 = R.maybeMethodCall0(anf_method_obj978,\"results\",L[27]);\nbreak;\ncase 3: var checks987 = $ans14;\n$step11 = 4;\n$ans14 = R.mO({\"answer\":answer986,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"loc\":loc163.$var,\n\"optional\":optional183.$var,\n\"para\":para979,\n\"bulleted\":bulleted980,\n\"sequence\":sequence545,\n\"is-optional\":is$optional181.$var,\n\"ed-components\":ed$components930.$var,\n\"h-sequence\":h$sequence147.$var,\n\"ed-rows\":ed$rows945.$var,\n\"ed-fields\":ed$fields870.$var,\n\"error\":error981,\n\"is-h-sequence\":is$h$sequence145.$var,\n\"is-bulleted-sequence\":is$bulleted$sequence137.$var,\n\"is-paragraph\":is$paragraph133.$var,\n\"ed-args\":ed$args840.$var,\n\"text\":text159.$var,\n\"code\":code171.$var,\n\"bulleted-sequence\":bulleted$sequence139.$var,\n\"paragraph\":paragraph135.$var,\n\"ed-field-bindings\":ed$field$bindings885.$var,\n\"is-code\":is$code169.$var,\n\"ed-values\":ed$values960.$var,\n\"is-text\":is$text157.$var,\n\"vert\":vert982,\n\"is-highlight\":is$highlight185.$var,\n\"is-loc-display\":is$loc$display177.$var,\n\"is-maybe-stack-loc\":is$maybe$stack$loc165.$var,\n\"locs\":locs983,\n\"opt\":opt984,\n\"highlight\":highlight187.$var,\n\"ed-nth\":ed$nth977.$var,\n\"ed-params\":ed$params915.$var,\n\"loc-display\":loc$display179.$var,\n\"is-embed\":is$embed153.$var,\n\"maybe-stack-loc\":maybe$stack$loc167.$var,\n\"cmcode\":cmcode175.$var,\n\"h-sequence-sep\":h$sequence$sep151.$var,\n\"para-nospace\":para$nospace985,\n\"v-sequence\":v$sequence143.$var,\n\"embed\":embed155.$var,\n\"ed-names\":ed$names855.$var,\n\"is-h-sequence-sep\":is$h$sequence$sep149.$var,\n\"is-cmcode\":is$cmcode173.$var,\n\"is-v-sequence\":is$v$sequence141.$var,\n\"ed-bindings\":ed$bindings900.$var,\n\"is-loc\":is$loc161.$var,\n\"is-ErrorDisplay\":is$ErrorDisplay131.$var},\n\"defined-types\":{\"ErrorDisplay\":ErrorDisplay84},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"loc\":loc163.$var,\n\"optional\":optional183.$var,\n\"para\":para979,\n\"bulleted\":bulleted980,\n\"sequence\":sequence545,\n\"is-optional\":is$optional181.$var,\n\"ed-components\":ed$components930.$var,\n\"h-sequence\":h$sequence147.$var,\n\"ed-rows\":ed$rows945.$var,\n\"ed-fields\":ed$fields870.$var,\n\"error\":error981,\n\"is-h-sequence\":is$h$sequence145.$var,\n\"is-bulleted-sequence\":is$bulleted$sequence137.$var,\n\"is-paragraph\":is$paragraph133.$var,\n\"ed-args\":ed$args840.$var,\n\"text\":text159.$var,\n\"code\":code171.$var,\n\"bulleted-sequence\":bulleted$sequence139.$var,\n\"paragraph\":paragraph135.$var,\n\"ed-field-bindings\":ed$field$bindings885.$var,\n\"is-code\":is$code169.$var,\n\"ed-values\":ed$values960.$var,\n\"is-text\":is$text157.$var,\n\"vert\":vert982,\n\"is-highlight\":is$highlight185.$var,\n\"is-loc-display\":is$loc$display177.$var,\n\"is-maybe-stack-loc\":is$maybe$stack$loc165.$var,\n\"locs\":locs983,\n\"opt\":opt984,\n\"highlight\":highlight187.$var,\n\"ed-nth\":ed$nth977.$var,\n\"ed-params\":ed$params915.$var,\n\"loc-display\":loc$display179.$var,\n\"is-embed\":is$embed153.$var,\n\"maybe-stack-loc\":maybe$stack$loc167.$var,\n\"cmcode\":cmcode175.$var,\n\"h-sequence-sep\":h$sequence$sep151.$var,\n\"para-nospace\":para$nospace985,\n\"v-sequence\":v$sequence143.$var,\n\"embed\":embed155.$var,\n\"ed-names\":ed$names855.$var,\n\"is-h-sequence-sep\":is$h$sequence$sep149.$var,\n\"is-cmcode\":is$cmcode173.$var,\n\"is-v-sequence\":is$v$sequence141.$var,\n\"ed-bindings\":ed$bindings900.$var,\n\"is-loc\":is$loc161.$var,\n\"is-ErrorDisplay\":is$ErrorDisplay131.$var}),\n\"types\":{\"ErrorDisplay\":ErrorDisplay84},\n\"modules\":{}}),\n\"checks\":checks987});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans14;\ndefault: R.ffi.throwSpinnakerError(L[203],$step11);\n}\n}\nif($step11 !== 4) {\n$ans14.stack[R.EXN_STACKHEIGHT++] = R.mAR($al15,$toplevel12,$step11,[],[h$sequence147,bulleted980,ed$args840,is$loc161,is$v$sequence141,ed$rows945,answer986,is$loc$display177,is$text157,ed$values960,error981,maybe$stack$loc167,ed$nth977,is$code169,para$nospace985,bulleted$sequence139,sequence545,code171,is$cmcode173,para979,ed$names855,paragraph135,is$maybe$stack$loc165,is$bulleted$sequence137,v$sequence143,is$ErrorDisplay131,is$optional181,highlight187,text159,is$h$sequence$sep149,h$sequence$sep151,ed$params915,vert982,opt984,ErrorDisplay84,is$paragraph133,is$h$sequence145,cmcode175,embed155,locs983,ed$bindings900,is$highlight185,loc163,ed$fields870,optional183,loc$display179,ed$components930,is$embed153,ed$field$bindings885],$elidedFrames17);\n}\nreturn $ans14;\n};\nreturn R.safeCall($toplevel12,function module_load(moduleVal) {\nR.modules[\"$builtin://error$display10\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-ErrorDisplay":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +8, +0, +60, +25, +3, +902], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"is-loc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +16, +2, +438, +16, +28, +464], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-loc", +"typ":"tany"}, +"ed-bindings":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +124, +0, +5588, +128, +3, +5693], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-bindings", +"typ":"tany"}, +"is-v-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +11, +2, +189, +11, +50, +237], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-v-sequence", +"typ":"tany"}, +"is-cmcode":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +21, +2, +665, +21, +31, +694], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-cmcode", +"typ":"tany"}, +"is-h-sequence-sep":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +13, +2, +306, +13, +85, +389], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-h-sequence-sep", +"typ":"tany"}, +"ed-names":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +106, +0, +5264, +110, +3, +5360], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-names", +"typ":"tany"}, +"embed":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +14, +2, +392, +14, +21, +411], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"embed", +"typ":"tany"}, +"v-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +11, +2, +189, +11, +50, +237], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"v-sequence", +"typ":"tany"}, +"para-nospace":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +70, +0, +3234, +78, +1, +3857], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"h-sequence-sep":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +13, +2, +306, +13, +85, +389], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"h-sequence-sep", +"typ":"tany"}, +"cmcode":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +21, +2, +665, +21, +31, +694], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"cmcode", +"typ":"tany"}, +"maybe-stack-loc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +17, +2, +467, +19, +43, +627], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"maybe-stack-loc", +"typ":"tany"}, +"is-embed":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +14, +2, +392, +14, +21, +411], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-embed", +"typ":"tany"}, +"loc-display":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +22, +2, +697, +22, +79, +774], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"loc-display", +"typ":"tany"}, +"ed-params":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +130, +0, +5695, +134, +3, +5802], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-params", +"typ":"tany"}, +"ed-nth":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +154, +0, +6113, +164, +3, +6376], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-nth", +"typ":"tany"}, +"highlight":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +24, +2, +816, +24, +84, +898], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"highlight", +"typ":"tany"}, +"opt":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +90, +0, +4501, +98, +1, +5157], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"locs":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +28, +0, +905, +36, +1, +1408], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"is-maybe-stack-loc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +17, +2, +467, +19, +43, +627], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-maybe-stack-loc", +"typ":"tany"}, +"is-loc-display":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +22, +2, +697, +22, +79, +774], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-loc-display", +"typ":"tany"}, +"is-highlight":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +24, +2, +816, +24, +84, +898], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-highlight", +"typ":"tany"}, +"vert":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +58, +0, +2620, +66, +1, +3207], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"is-text":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +15, +2, +414, +15, +23, +435], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-text", +"typ":"tany"}, +"ed-values":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +148, +0, +6012, +152, +3, +6111], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-values", +"typ":"tany"}, +"is-code":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +20, +2, +630, +20, +34, +662], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-code", +"typ":"tany"}, +"ed-field-bindings":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +118, +0, +5463, +122, +3, +5586], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-field-bindings", +"typ":"tany"}, +"paragraph":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +9, +2, +81, +9, +49, +128], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"paragraph", +"typ":"tany"}, +"bulleted-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +10, +2, +131, +10, +57, +186], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"bulleted-sequence", +"typ":"tany"}, +"code":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +20, +2, +630, +20, +34, +662], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"code", +"typ":"tany"}, +"text":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +15, +2, +414, +15, +23, +435], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"text", +"typ":"tany"}, +"ed-args":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +100, +0, +5159, +104, +3, +5262], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-args", +"typ":"tany"}, +"is-paragraph":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +9, +2, +81, +9, +49, +128], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-paragraph", +"typ":"tany"}, +"is-bulleted-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +10, +2, +131, +10, +57, +186], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-bulleted-sequence", +"typ":"tany"}, +"is-h-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +12, +2, +240, +12, +65, +303], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-h-sequence", +"typ":"tany"}, +"error":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +68, +0, +3209, +68, +23, +3232], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"ed-fields":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +112, +0, +5362, +116, +3, +5461], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-fields", +"typ":"tany"}, +"ed-rows":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +142, +0, +5917, +146, +3, +6010], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-rows", +"typ":"tany"}, +"h-sequence":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +12, +2, +240, +12, +65, +303], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"h-sequence", +"typ":"tany"}, +"ed-components":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +136, +0, +5804, +140, +3, +5915], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":false, +"name":"ed-components", +"typ":"tany"}, +"is-optional":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +23, +2, +777, +23, +38, +813], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"is-optional", +"typ":"tany"}, +"sequence":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +48, +0, +1992, +56, +1, +2618], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"bulleted":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +80, +0, +3859, +88, +1, +4499], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"para":{"bind":"let", +"origin":{"local-bind-site":["builtin://error-display", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://error-display", +38, +0, +1410, +46, +1, +1990], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"typ":"tany"}, +"optional":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +23, +2, +777, +23, +38, +813], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"optional", +"typ":"tany"}, +"loc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error-display", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://error-display", +16, +2, +438, +16, +28, +464], +"new-definition":true, +"uri-of-definition":"builtin://error-display"}, +"flatness":0, +"name":"loc", +"typ":"tany"}}, +"datatypes":{"ErrorDisplay":["data",{"local-bind-site":["builtin://error-display", +8, +0, +60, +25, +3, +902], +"definition-bind-site":["builtin://error-display", +8, +0, +60, +25, +3, +902], +"new-definition":true, +"uri-of-definition":"builtin://error-display"},"ErrorDisplay",[],[["paragraph", +[["contents", +"tany"]], +{}],["bulleted-sequence", +[["contents", +"tany"]], +{}],["v-sequence", +[["contents", +"tany"]], +{}],["h-sequence", +[["contents", +"tany"],["sep", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["h-sequence-sep", +[["contents", +"tany"],["sep", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["last", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["embed", +[["val", +"tany"]], +{}],["text", +[["str", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["loc", +[["loc", +"tany"]], +{}],["maybe-stack-loc", +[["n", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["user-frames-only", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}],["contents-with-loc", +"tany"],["contents-without-loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://error-display"}, +"name":"ErrorDisplay"}]], +{}],["code", +[["contents", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://error-display"}, +"name":"ErrorDisplay"}]], +{}],["cmcode", +[["loc", +"tany"]], +{}],["loc-display", +[["loc", +"tany"],["style", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["contents", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://error-display"}, +"name":"ErrorDisplay"}]], +{}],["optional", +[["contents", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://error-display"}, +"name":"ErrorDisplay"}]], +{}],["highlight", +[["contents", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://error-display"}, +"name":"ErrorDisplay"}],["locs", +"tany"],["color", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{}]],{}]}, +"aliases":{"ErrorDisplay":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://option":({"theMap":"{\"version\":3,\"sources\":[\"builtin://option\"],\"names\":[\"builtin://option\",\",21,6,463,21,16,473\",\",25,13,623,25,23,633\",\",25,11,621,25,24,634\",\",25,6,616,25,25,635\",\",8,0,60,33,3,808\",\",9,2,78,17,7,321\",\",18,2,324,26,7,643\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,uBAoBKC,sBApBLD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gBAwBYE,uBAxBZF;AAAAA;AAAAA;AAAAA;AAwBUG,+BAxBVH;AAAAA;AAwBUG,2BAxBVH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwBKI,qCAxBLJ;AAAAA;AAwBKI,iCAxBLJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODK,+BAPCL;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCM,gCARDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCM,6BARDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAiBCO,gCAjBDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAiBCO,6BAjBDP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODK,qDAPCL;AAAAA;AAAAA;AAAAA;AAAAA,QAODK,oDAPCL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://option\"}", +"theModule":"function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__26(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://option\";\nvar D = R.undefined;\nvar L = [[M,10,4,95,13,7,205],\n[M,10,49,140,10,50,141],\n[M,10,27,118,10,36,127],\n[M,10,43,134,10,44,135],\n[M,14,4,211,17,7,321],\n[M,14,60,267,14,69,276],\n[M,14,31,238,14,40,247],\n[M,14,47,254,14,55,262],\n[M,19,4,353,22,7,481],\n[M,21,6,463,21,16,473],\n[M,19,49,398,19,50,399],\n[M,19,27,376,19,36,385],\n[M,19,43,392,19,44,393],\n[M,23,4,487,26,7,643],\n[M,25,6,616,25,10,620],\n[M,25,13,623,25,23,633],\n[M,23,60,543,23,69,552],\n[M,25,6,616,25,25,635],\n[M,25,11,621,25,24,634],\n[M,23,31,514,23,40,523],\n[M,23,47,530,23,55,538],\n[M,9,2,78,17,7,321],\n[M,18,2,324,26,7,643],\n[M,18,18,340,18,19,341],\n[M,8,0,60,33,3,808],\n[\"dummy location\"],\n[M,3,0,13,33,3,808]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel7 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__26($$resumer13) {\nvar $step6 = 0;\nvar $elidedFrames12 = 0;\nvar $ans9 = D;\nvar $al10 = L[26];\nif(R.isAR($$resumer13)) {\n$step6 = $$resumer13.step;\n$al10 = $$resumer13.from;\n$ans9 = $$resumer13.ans;\n$elidedFrames12 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$none85 = $$resumer13.vars[0];\nis$Option83 = $$resumer13.vars[1];\nis$some89 = $$resumer13.vars[2];\nanswer92 = $$resumer13.vars[3];\nnone87 = $$resumer13.vars[4];\nOption25 = $$resumer13.vars[5];\nsome57 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans9 = R.mC();\n}\nwhile(!R.isContinuation($ans9)) {\nswitch($step6) {\ncase 0: var Option14 = R.nB(\"Option\",L[24]);\nvar Option25 = R.mBA(Option14,\"Option\");\nvar Option81 = {\"$var\":D};\nvar is$Option83 = {\"$var\":D};\nvar is$none85 = {\"$var\":D};\nvar none87 = {\"$var\":D};\nvar is$some89 = {\"$var\":D};\nvar some57 = {\"$var\":D};\nvar $temp_full16 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__0($self17,$v18) {\nvar $step15 = 0;\nvar $elidedFrames22 = 0;\nvar $ans19 = D;\nvar $al20 = L[0];\nif(R.isAR($self17)) {\n$step15 = $self17.step;\n$al20 = $self17.from;\n$ans19 = $self17.ans;\n$elidedFrames22 = $self17.elidedFrames;\nself17 = $self17.args[0];\nv18 = $self17.args[1];\nann_check_temp23 = $self17.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],2,$t,true);\n}\nvar self17 = $self17;\nvar v18 = $v18;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans19 = R.mC();\n}\nwhile(!R.isContinuation($ans19)) {\nswitch($step15) {\ncase 0: $step15 = 1;\n$al20 = L[2];\nR._cA(L[2],Option25,self17);\nbreak;\ncase 1: $step15 = 2;\n$al20 = L[3];\nR._cA(L[3],R.Any,v18);\nbreak;\ncase 2: var ann_check_temp23 = v18;\n$step15 = 3;\n$al20 = L[1];\nvar $ann$check24 = R._cA(L[1],R.Any,ann_check_temp23);\nif(R.isContinuation($ann$check24)) {\n$ans19 = $ann$check24;\n}\nbreak;\ncase 3: $step15 = 4;\n$ans19 = ann_check_temp23;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans19;\ndefault: R.ffi.throwSpinnakerError(L[0],$step15);\n}\n}\nif($step15 !== 4) {\n$ans19.stack[R.EXN_STACKHEIGHT++] = R.mAR($al20,$temp_full16,$step15,[self17,v18],[ann_check_temp23],$elidedFrames22);\n}\nreturn $ans19;\n};\nvar anf_singleton_variant_member67 = R.makeMethod1($temp_full16,\"or-else\");\nvar $temp_full28 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__4($self29,$$underscore30) {\nvar $step27 = 0;\nvar $elidedFrames34 = 0;\nvar $ans31 = D;\nvar $al32 = L[4];\nif(R.isAR($self29)) {\n$step27 = $self29.step;\n$al32 = $self29.from;\n$ans31 = $self29.ans;\n$elidedFrames34 = $self29.elidedFrames;\nself29 = $self29.args[0];\n$underscore30 = $self29.args[1];\nann_check_temp35 = $self29.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],2,$t,true);\n}\nvar self29 = $self29;\nvar $underscore30 = $$underscore30;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans31 = R.mC();\n}\nwhile(!R.isContinuation($ans31)) {\nswitch($step27) {\ncase 0: $step27 = 1;\n$al32 = L[6];\nR._cA(L[6],Option25,self29);\nbreak;\ncase 1: $step27 = 2;\n$al32 = L[7];\nR._cA(L[7],R.Function,$underscore30);\nbreak;\ncase 2: var ann_check_temp35 = self29;\n$step27 = 3;\n$al32 = L[5];\nvar $ann$check36 = R._cA(L[5],Option25,ann_check_temp35);\nif(R.isContinuation($ann$check36)) {\n$ans31 = $ann$check36;\n}\nbreak;\ncase 3: $step27 = 4;\n$ans31 = ann_check_temp35;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans31;\ndefault: R.ffi.throwSpinnakerError(L[4],$step27);\n}\n}\nif($step27 !== 4) {\n$ans31.stack[R.EXN_STACKHEIGHT++] = R.mAR($al32,$temp_full28,$step27,[self29,$underscore30],[ann_check_temp35],$elidedFrames34);\n}\nreturn $ans31;\n};\nvar anf_singleton_variant_member68 = R.makeMethod1($temp_full28,\"and-then\");\nvar $temp_full39 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__8($self40,$v41) {\nvar $step38 = 0;\nvar $elidedFrames45 = 0;\nvar $ans42 = D;\nvar $al43 = L[8];\nif(R.isAR($self40)) {\n$step38 = $self40.step;\n$al43 = $self40.from;\n$ans42 = $self40.ans;\n$elidedFrames45 = $self40.elidedFrames;\nself40 = $self40.args[0];\nv41 = $self40.args[1];\nann_check_temp46 = $self40.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[8],2,$t,true);\n}\nvar self40 = $self40;\nvar v41 = $v41;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans42 = R.mC();\n}\nwhile(!R.isContinuation($ans42)) {\nswitch($step38) {\ncase 0: $step38 = 1;\n$al43 = L[11];\nR._cA(L[11],Option25,self40);\nbreak;\ncase 1: $step38 = 2;\n$al43 = L[12];\nR._cA(L[12],R.Any,v41);\nbreak;\ncase 2: $al43 = L[9];\nvar ann_check_temp46 = G(self40,\"value\",L[9]);\n$step38 = 3;\n$al43 = L[10];\nvar $ann$check47 = R._cA(L[10],R.Any,ann_check_temp46);\nif(R.isContinuation($ann$check47)) {\n$ans42 = $ann$check47;\n}\nbreak;\ncase 3: $step38 = 4;\n$ans42 = ann_check_temp46;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans42;\ndefault: R.ffi.throwSpinnakerError(L[8],$step38);\n}\n}\nif($step38 !== 4) {\n$ans42.stack[R.EXN_STACKHEIGHT++] = R.mAR($al43,$temp_full39,$step38,[self40,v41],[ann_check_temp46],$elidedFrames45);\n}\nreturn $ans42;\n};\nvar anf_variant_member74 = R.makeMethod1($temp_full39,\"or-else\");\nvar $temp_full50 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__13($self51,$f52) {\nvar $step49 = 0;\nvar $elidedFrames56 = 0;\nvar $ans53 = D;\nvar $al54 = L[13];\nif(R.isAR($self51)) {\n$step49 = $self51.step;\n$al54 = $self51.from;\n$ans53 = $self51.ans;\n$elidedFrames56 = $self51.elidedFrames;\nself51 = $self51.args[0];\nf52 = $self51.args[1];\nanf_fun59 = $self51.vars[0];\nann_check_temp61 = $self51.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],2,$t,true);\n}\nvar self51 = $self51;\nvar f52 = $f52;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans53 = R.mC();\n}\nwhile(!R.isContinuation($ans53)) {\nswitch($step49) {\ncase 0: $step49 = 1;\n$al54 = L[19];\nR._cA(L[19],Option25,self51);\nbreak;\ncase 1: $step49 = 2;\n$al54 = L[20];\nR._cA(L[20],R.Function,f52);\nbreak;\ncase 2: var anf_fun59 = some57.$var === D?U(L[14],\"some\"):some57.$var;\n$al54 = L[15];\nvar anf_arg58 = G(self51,\"value\",L[15]);\n$step49 = 3;\n$al54 = L[18];\nif(typeof(f52.app) !== \"function\") {\nR.ffi.throwNonFunApp($al54,f52);\n}\n$ans53 = f52.app(anf_arg58);\nbreak;\ncase 3: var anf_arg60 = $ans53;\n$step49 = 4;\n$al54 = L[17];\nif(typeof(anf_fun59.app) !== \"function\") {\nR.ffi.throwNonFunApp($al54,anf_fun59);\n}\n$ans53 = anf_fun59.app(anf_arg60);\nbreak;\ncase 4: var ann_check_temp61 = $ans53;\n$step49 = 5;\n$al54 = L[16];\nvar $ann$check62 = R._cA(L[16],Option25,ann_check_temp61);\nif(R.isContinuation($ann$check62)) {\n$ans53 = $ann$check62;\n}\nbreak;\ncase 5: $step49 = 6;\n$ans53 = ann_check_temp61;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans53;\ndefault: R.ffi.throwSpinnakerError(L[13],$step49);\n}\n}\nif($step49 !== 6) {\n$ans53.stack[R.EXN_STACKHEIGHT++] = R.mAR($al54,$temp_full50,$step49,[self51,f52],[anf_fun59,ann_check_temp61],$elidedFrames56);\n}\nreturn $ans53;\n};\nvar anf_variant_member75 = R.makeMethod1($temp_full50,\"and-then\");\nvar $none_getfields70 = function variant(f) {\nreturn f();\n};\nvar $none_mutablemask69 = [];\nvar $none$base64 = {\"or-else\":anf_singleton_variant_member67,\n\"and-then\":anf_singleton_variant_member68,\n\"_match\":R.mM(\"none\",0)};\nvar $none$brander65 = R.nB(\"none\",L[21]);\nvar $none$brands66 = {};\n$none$brands66[Option14._brand] = true;\n$none$brands66[$none$brander65._brand] = true;\nvar $some_getfields77 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"]);\n};\nvar $some_mutablemask76 = [false];\nvar $some$base71 = {\"$fieldNames\":[\"value\"],\n\"or-else\":anf_variant_member74,\n\"and-then\":anf_variant_member75,\n\"_match\":R.mM(\"some\",1)};\nvar $some$brander72 = R.nB(\"some\",L[22]);\nvar $some$brands73 = {};\n$some$brands73[Option14._brand] = true;\n$some$brands73[$some$brander72._brand] = true;\nvar some78 = R.mVC(L[22],function $synthesizedConstructor_$some$base() {\nreturn [R.Any];\n},[\"value79\"],[L[23]],[false],[\"value79\"],$some_mutablemask76,$some$base71,$some$brands73,\"some\",$some_getfields77,$some$base71);\nvar anf_assign80 = R.mO({\"Option\":G(Option14,\"test\",L[24]),\n\"is-none\":G($none$brander65,\"test\",L[21]),\n\"none\":R.mDV($none$base64,$none$brands66,\"none\",$none_getfields70,-1,$none_mutablemask69,$none$base64,false,L[21]),\n\"is-some\":G($some$brander72,\"test\",L[22]),\n\"some\":some78});\nOption81.$var = anf_assign80;\nR.nothing;\n$al10 = L[24];\nvar anf_assign82 = G(Option81.$var,\"Option\",L[24]);\nis$Option83.$var = anf_assign82;\nR.nothing;\n$al10 = L[21];\nvar anf_assign84 = G(Option81.$var,\"is-none\",L[21]);\nis$none85.$var = anf_assign84;\nR.nothing;\n$al10 = L[21];\nvar anf_assign86 = G(Option81.$var,\"none\",L[21]);\nnone87.$var = anf_assign86;\nR.nothing;\n$al10 = L[22];\nvar anf_assign88 = G(Option81.$var,\"is-some\",L[22]);\nis$some89.$var = anf_assign88;\nR.nothing;\n$al10 = L[22];\nvar anf_assign90 = G(Option81.$var,\"some\",L[22]);\nsome57.$var = anf_assign90;\nR.nothing;\n$step6 = 1;\n$ans9 = R.maybeMethodCall2(builtins1,\"trace-value\",L[25],L[25],nothing2);\nbreak;\ncase 1: var answer92 = $ans9;\n$step6 = 2;\n$ans9 = R.maybeMethodCall0(builtins1,\"current-checker\",L[24]);\nbreak;\ncase 2: var anf_method_obj91 = $ans9;\n$step6 = 3;\n$ans9 = R.maybeMethodCall0(anf_method_obj91,\"results\",L[24]);\nbreak;\ncase 3: var checks93 = $ans9;\n$step6 = 4;\n$ans9 = R.mO({\"answer\":answer92,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"some\":some57.$var,\n\"is-some\":is$some89.$var,\n\"is-Option\":is$Option83.$var,\n\"none\":none87.$var,\n\"is-none\":is$none85.$var},\n\"defined-types\":{\"Option\":Option25},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"some\":some57.$var,\n\"is-some\":is$some89.$var,\n\"is-Option\":is$Option83.$var,\n\"none\":none87.$var,\n\"is-none\":is$none85.$var}),\n\"types\":{\"Option\":Option25},\n\"modules\":{}}),\n\"checks\":checks93});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans9;\ndefault: R.ffi.throwSpinnakerError(L[26],$step6);\n}\n}\nif($step6 !== 4) {\n$ans9.stack[R.EXN_STACKHEIGHT++] = R.mAR($al10,$toplevel7,$step6,[],[is$none85,is$Option83,is$some89,answer92,none87,Option25,some57],$elidedFrames12);\n}\nreturn $ans9;\n};\nreturn R.safeCall($toplevel7,function module_load(moduleVal) {\nR.modules[\"$builtin://option4\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-none":{"bind":"fun", +"origin":{"local-bind-site":["builtin://option", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://option", +9, +2, +78, +17, +7, +321], +"new-definition":true, +"uri-of-definition":"builtin://option"}, +"flatness":0, +"name":"is-none", +"typ":"tany"}, +"none":{"bind":"let", +"origin":{"local-bind-site":["builtin://option", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://option", +9, +2, +78, +17, +7, +321], +"new-definition":true, +"uri-of-definition":"builtin://option"}, +"typ":"tany"}, +"is-Option":{"bind":"let", +"origin":{"local-bind-site":["builtin://option", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://option", +8, +0, +60, +33, +3, +808], +"new-definition":true, +"uri-of-definition":"builtin://option"}, +"typ":"tany"}, +"is-some":{"bind":"fun", +"origin":{"local-bind-site":["builtin://option", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://option", +18, +2, +324, +26, +7, +643], +"new-definition":true, +"uri-of-definition":"builtin://option"}, +"flatness":0, +"name":"is-some", +"typ":"tany"}, +"some":{"bind":"fun", +"origin":{"local-bind-site":["builtin://option", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://option", +18, +2, +324, +26, +7, +643], +"new-definition":true, +"uri-of-definition":"builtin://option"}, +"flatness":0, +"name":"some", +"typ":"tany"}}, +"datatypes":{"Option":["data",{"local-bind-site":["builtin://option", +8, +0, +60, +33, +3, +808], +"definition-bind-site":["builtin://option", +8, +0, +60, +33, +3, +808], +"new-definition":true, +"uri-of-definition":"builtin://option"},"Option",["atom#a#10"],[["none", +{"and-then":["forall", +["atom#b#13"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["arrow", +[["tid", +"atom#a#10"]], +["tid", +"atom#b#13"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#b#13"]]]]], +"or-else":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["tid", +"atom#a#10"]], +["tid", +"atom#a#10"]]}],["some", +[["value", +["tid", +"atom#a#10"]]], +{"and-then":["forall", +["atom#b#19"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["arrow", +[["tid", +"atom#a#10"]], +["tid", +"atom#b#19"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#b#19"]]]]], +"or-else":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["tid", +"atom#a#10"]], +["tid", +"atom#a#10"]]}]],{"and-then":["forall", +["atom#b#13"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["arrow", +[["tid", +"atom#a#10"]], +["tid", +"atom#b#13"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#b#13"]]]]], +"or-else":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://option"}, +"name":"Option"},[["tid", +"atom#a#10"]]], +["tid", +"atom#a#10"]], +["tid", +"atom#a#10"]]}]}, +"aliases":{"Option":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://valueskeleton":({"theMap":"{\"version\":3,\"sources\":[\"builtin://valueskeleton\"],\"names\":[\"builtin://valueskeleton\",\",8,0,60,16,3,344\",\",9,2,82,9,23,103\",\",10,2,106,10,22,126\",\",11,2,129,11,40,167\",\",12,2,170,12,35,203\",\",13,2,206,13,66,270\",\",14,2,273,14,51,322\",\",15,2,325,15,17,340\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODC,6CAPCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,wCARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,qCARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,0CATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,uCATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAUCI,+CAVDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAUCI,4CAVDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAWCK,2CAXDL;AAAAA;AAAAA;AAAAA;AAAAA,mBAWCK,wCAXDL;AAAAA;AAAAA;AAAAA;AAAAA,mBAYCM,0CAZDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAYCM,uCAZDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAaCO,wCAbDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAaCO,qCAbDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAcCQ,yCAdDR;AAAAA;AAAAA;AAAAA;AAAAA,mBAcCQ,sCAdDR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,qDAPCD;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,oDAPCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://valueskeleton\"}", +"theModule":"function _62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f__15(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://valueskeleton\";\nvar D = R.undefined;\nvar L = [[M,9,2,82,9,23,103],\n[M,9,16,96,9,22,102],\n[M,10,2,106,10,22,126],\n[M,11,2,129,11,40,167],\n[M,11,26,153,11,32,159],\n[M,12,2,170,12,35,203],\n[M,12,22,190,12,28,196],\n[M,13,2,206,13,66,270],\n[M,13,24,228,13,32,236],\n[M,14,2,273,14,51,322],\n[M,14,22,293,14,30,301],\n[M,14,42,313,14,50,321],\n[M,15,2,325,15,17,340],\n[M,8,0,60,16,3,344],\n[\"dummy location\"],\n[M,3,0,13,16,3,344]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel4 = function _62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f__15($$resumer13) {\nvar $step3 = 0;\nvar $elidedFrames9 = 0;\nvar $ans6 = D;\nvar $al7 = L[15];\nif(R.isAR($$resumer13)) {\n$step3 = $$resumer13.step;\n$al7 = $$resumer13.from;\n$ans6 = $$resumer13.ans;\n$elidedFrames9 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nvs$value71 = $$resumer13.vars[0];\nis$vs$collection72 = $$resumer13.vars[1];\nis$vs$seq88 = $$resumer13.vars[2];\nis$vs$row84 = $$resumer13.vars[3];\nvs$table82 = $$resumer13.vars[4];\nvs$str69 = $$resumer13.vars[5];\nis$vs$value70 = $$resumer13.vars[6];\nvs$collection73 = $$resumer13.vars[7];\nanswer94 = $$resumer13.vars[8];\nis$ValueSkeleton67 = $$resumer13.vars[9];\nvs$seq90 = $$resumer13.vars[10];\nValueSkeleton93 = $$resumer13.vars[11];\nis$vs$str68 = $$resumer13.vars[12];\nis$vs$constr75 = $$resumer13.vars[13];\nis$vs$table79 = $$resumer13.vars[14];\nvs$row86 = $$resumer13.vars[15];\nvs$constr77 = $$resumer13.vars[16];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6 = R.mC();\n}\nwhile(!R.isContinuation($ans6)) {\nswitch($step3) {\ncase 0: var ValueSkeleton10 = R.nB(\"ValueSkeleton\",L[13]);\nvar ValueSkeleton93 = R.mBA(ValueSkeleton10,\"ValueSkeleton\");\nvar ValueSkeleton65 = {\"$var\":D};\nvar is$ValueSkeleton67 = {\"$var\":D};\nvar is$vs$str68 = {\"$var\":D};\nvar vs$str69 = {\"$var\":D};\nvar is$vs$value70 = {\"$var\":D};\nvar vs$value71 = {\"$var\":D};\nvar is$vs$collection72 = {\"$var\":D};\nvar vs$collection73 = {\"$var\":D};\nvar is$vs$constr75 = {\"$var\":D};\nvar vs$constr77 = {\"$var\":D};\nvar is$vs$table79 = {\"$var\":D};\nvar vs$table82 = {\"$var\":D};\nvar is$vs$row84 = {\"$var\":D};\nvar vs$row86 = {\"$var\":D};\nvar is$vs$seq88 = {\"$var\":D};\nvar vs$seq90 = {\"$var\":D};\nvar $vs$str_getfields15 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $vs$str_mutablemask14 = [false];\nvar $vs$str$base11 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"vs-str\",1)};\nvar $vs$str$brander12 = R.nB(\"vs-str\",L[0]);\nvar $vs$str$brands13 = {};\n$vs$str$brands13[ValueSkeleton10._brand] = true;\n$vs$str$brands13[$vs$str$brander12._brand] = true;\nvar vs$str16 = R.mVC(L[0],function $synthesizedConstructor_$vs$str$base() {\nreturn [$type$String8];\n},[\"s17\"],[L[1]],[false],[\"s17\"],$vs$str_mutablemask14,$vs$str$base11,$vs$str$brands13,\"vs-str\",$vs$str_getfields15,$vs$str$base11);\nvar $vs$value_getfields22 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $vs$value_mutablemask21 = [false];\nvar $vs$value$base18 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"vs-value\",1)};\nvar $vs$value$brander19 = R.nB(\"vs-value\",L[2]);\nvar $vs$value$brands20 = {};\n$vs$value$brands20[ValueSkeleton10._brand] = true;\n$vs$value$brands20[$vs$value$brander19._brand] = true;\nvar vs$value23 = R.mVC(L[2],function $synthesizedConstructor_$vs$value$base() {\nreturn [];\n},[],[],[false],[\"v24\"],$vs$value_mutablemask21,$vs$value$base18,$vs$value$brands20,\"vs-value\",$vs$value_getfields22,$vs$value$base18);\nvar $vs$collection_getfields29 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"items\"]);\n};\nvar $vs$collection_mutablemask28 = [false,false];\nvar $vs$collection$base25 = {\"$fieldNames\":[\"name\",\"items\"],\n\"_match\":R.mM(\"vs-collection\",2)};\nvar $vs$collection$brander26 = R.nB(\"vs-collection\",L[3]);\nvar $vs$collection$brands27 = {};\n$vs$collection$brands27[ValueSkeleton10._brand] = true;\n$vs$collection$brands27[$vs$collection$brander26._brand] = true;\nvar vs$collection30 = R.mVC(L[3],function $synthesizedConstructor_$vs$collection$base() {\nreturn [$type$String8];\n},[\"name31\"],[L[4]],[false,false],[\"name31\",\"items32\"],$vs$collection_mutablemask28,$vs$collection$base25,$vs$collection$brands27,\"vs-collection\",$vs$collection_getfields29,$vs$collection$base25);\nvar $vs$constr_getfields37 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"args\"]);\n};\nvar $vs$constr_mutablemask36 = [false,false];\nvar $vs$constr$base33 = {\"$fieldNames\":[\"name\",\"args\"],\n\"_match\":R.mM(\"vs-constr\",2)};\nvar $vs$constr$brander34 = R.nB(\"vs-constr\",L[5]);\nvar $vs$constr$brands35 = {};\n$vs$constr$brands35[ValueSkeleton10._brand] = true;\n$vs$constr$brands35[$vs$constr$brander34._brand] = true;\nvar vs$constr38 = R.mVC(L[5],function $synthesizedConstructor_$vs$constr$base() {\nreturn [$type$String8];\n},[\"name39\"],[L[6]],[false,false],[\"name39\",\"args40\"],$vs$constr_mutablemask36,$vs$constr$base33,$vs$constr$brands35,\"vs-constr\",$vs$constr_getfields37,$vs$constr$base33);\nvar $vs$table_getfields45 = function singleton_variant(f) {\nreturn f(this.dict[\"headers\"],this.dict[\"rows\"]);\n};\nvar $vs$table_mutablemask44 = [false,false];\nvar $vs$table$base41 = {\"$fieldNames\":[\"headers\",\"rows\"],\n\"_match\":R.mM(\"vs-table\",2)};\nvar $vs$table$brander42 = R.nB(\"vs-table\",L[7]);\nvar $vs$table$brands43 = {};\n$vs$table$brands43[ValueSkeleton10._brand] = true;\n$vs$table$brands43[$vs$table$brander42._brand] = true;\nvar vs$table46 = R.mVC(L[7],function $synthesizedConstructor_$vs$table$base() {\nreturn [$type$RawArray1];\n},[\"headers47\"],[L[8]],[false,false],[\"headers47\",\"rows48\"],$vs$table_mutablemask44,$vs$table$base41,$vs$table$brands43,\"vs-table\",$vs$table_getfields45,$vs$table$base41);\nvar $vs$row_getfields53 = function singleton_variant(f) {\nreturn f(this.dict[\"headers\"],this.dict[\"values\"]);\n};\nvar $vs$row_mutablemask52 = [false,false];\nvar $vs$row$base49 = {\"$fieldNames\":[\"headers\",\"values\"],\n\"_match\":R.mM(\"vs-row\",2)};\nvar $vs$row$brander50 = R.nB(\"vs-row\",L[9]);\nvar $vs$row$brands51 = {};\n$vs$row$brands51[ValueSkeleton10._brand] = true;\n$vs$row$brands51[$vs$row$brander50._brand] = true;\nvar vs$row54 = R.mVC(L[9],function $synthesizedConstructor_$vs$row$base() {\nreturn [$type$RawArray1,$type$RawArray1];\n},[\"headers55\",\"values56\"],[L[10],L[11]],[false,false],[\"headers55\",\"values56\"],$vs$row_mutablemask52,$vs$row$base49,$vs$row$brands51,\"vs-row\",$vs$row_getfields53,$vs$row$base49);\nvar $vs$seq_getfields61 = function singleton_variant(f) {\nreturn f(this.dict[\"items\"]);\n};\nvar $vs$seq_mutablemask60 = [false];\nvar $vs$seq$base57 = {\"$fieldNames\":[\"items\"],\n\"_match\":R.mM(\"vs-seq\",1)};\nvar $vs$seq$brander58 = R.nB(\"vs-seq\",L[12]);\nvar $vs$seq$brands59 = {};\n$vs$seq$brands59[ValueSkeleton10._brand] = true;\n$vs$seq$brands59[$vs$seq$brander58._brand] = true;\nvar vs$seq62 = R.mVC(L[12],function $synthesizedConstructor_$vs$seq$base() {\nreturn [];\n},[],[],[false],[\"items63\"],$vs$seq_mutablemask60,$vs$seq$base57,$vs$seq$brands59,\"vs-seq\",$vs$seq_getfields61,$vs$seq$base57);\nvar anf_assign64 = R.mO({\"ValueSkeleton\":G(ValueSkeleton10,\"test\",L[13]),\n\"is-vs-str\":G($vs$str$brander12,\"test\",L[0]),\n\"vs-str\":vs$str16,\n\"is-vs-value\":G($vs$value$brander19,\"test\",L[2]),\n\"vs-value\":vs$value23,\n\"is-vs-collection\":G($vs$collection$brander26,\"test\",L[3]),\n\"vs-collection\":vs$collection30,\n\"is-vs-constr\":G($vs$constr$brander34,\"test\",L[5]),\n\"vs-constr\":vs$constr38,\n\"is-vs-table\":G($vs$table$brander42,\"test\",L[7]),\n\"vs-table\":vs$table46,\n\"is-vs-row\":G($vs$row$brander50,\"test\",L[9]),\n\"vs-row\":vs$row54,\n\"is-vs-seq\":G($vs$seq$brander58,\"test\",L[12]),\n\"vs-seq\":vs$seq62});\nValueSkeleton65.$var = anf_assign64;\nR.nothing;\n$al7 = L[13];\nvar anf_assign66 = G(ValueSkeleton65.$var,\"ValueSkeleton\",L[13]);\nis$ValueSkeleton67.$var = anf_assign66;\nR.nothing;\n$al7 = L[0];\nvar anf_assign80 = G(ValueSkeleton65.$var,\"is-vs-str\",L[0]);\nis$vs$str68.$var = anf_assign80;\nR.nothing;\n$al7 = L[0];\nvar anf_assign82 = G(ValueSkeleton65.$var,\"vs-str\",L[0]);\nvs$str69.$var = anf_assign82;\nR.nothing;\n$al7 = L[2];\nvar anf_assign84 = G(ValueSkeleton65.$var,\"is-vs-value\",L[2]);\nis$vs$value70.$var = anf_assign84;\nR.nothing;\n$al7 = L[2];\nvar anf_assign86 = G(ValueSkeleton65.$var,\"vs-value\",L[2]);\nvs$value71.$var = anf_assign86;\nR.nothing;\n$al7 = L[3];\nvar anf_assign88 = G(ValueSkeleton65.$var,\"is-vs-collection\",L[3]);\nis$vs$collection72.$var = anf_assign88;\nR.nothing;\n$al7 = L[3];\nvar anf_assign90 = G(ValueSkeleton65.$var,\"vs-collection\",L[3]);\nvs$collection73.$var = anf_assign90;\nR.nothing;\n$al7 = L[5];\nvar anf_assign74 = G(ValueSkeleton65.$var,\"is-vs-constr\",L[5]);\nis$vs$constr75.$var = anf_assign74;\nR.nothing;\n$al7 = L[5];\nvar anf_assign76 = G(ValueSkeleton65.$var,\"vs-constr\",L[5]);\nvs$constr77.$var = anf_assign76;\nR.nothing;\n$al7 = L[7];\nvar anf_assign78 = G(ValueSkeleton65.$var,\"is-vs-table\",L[7]);\nis$vs$table79.$var = anf_assign78;\nR.nothing;\n$al7 = L[7];\nvar anf_assign81 = G(ValueSkeleton65.$var,\"vs-table\",L[7]);\nvs$table82.$var = anf_assign81;\nR.nothing;\n$al7 = L[9];\nvar anf_assign83 = G(ValueSkeleton65.$var,\"is-vs-row\",L[9]);\nis$vs$row84.$var = anf_assign83;\nR.nothing;\n$al7 = L[9];\nvar anf_assign85 = G(ValueSkeleton65.$var,\"vs-row\",L[9]);\nvs$row86.$var = anf_assign85;\nR.nothing;\n$al7 = L[12];\nvar anf_assign87 = G(ValueSkeleton65.$var,\"is-vs-seq\",L[12]);\nis$vs$seq88.$var = anf_assign87;\nR.nothing;\n$al7 = L[12];\nvar anf_assign89 = G(ValueSkeleton65.$var,\"vs-seq\",L[12]);\nvs$seq90.$var = anf_assign89;\nR.nothing;\n$step3 = 1;\n$ans6 = R.maybeMethodCall2(builtins1,\"trace-value\",L[14],L[14],nothing2);\nbreak;\ncase 1: var answer94 = $ans6;\n$step3 = 2;\n$ans6 = R.maybeMethodCall0(builtins1,\"current-checker\",L[13]);\nbreak;\ncase 2: var anf_method_obj92 = $ans6;\n$step3 = 3;\n$ans6 = R.maybeMethodCall0(anf_method_obj92,\"results\",L[13]);\nbreak;\ncase 3: var checks95 = $ans6;\n$step3 = 4;\n$ans6 = R.mO({\"answer\":answer94,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-vs-table\":is$vs$table79.$var,\n\"vs-value\":vs$value71.$var,\n\"vs-str\":vs$str69.$var,\n\"is-vs-str\":is$vs$str68.$var,\n\"is-vs-value\":is$vs$value70.$var,\n\"vs-row\":vs$row86.$var,\n\"is-vs-collection\":is$vs$collection72.$var,\n\"is-vs-row\":is$vs$row84.$var,\n\"vs-collection\":vs$collection73.$var,\n\"vs-seq\":vs$seq90.$var,\n\"is-vs-seq\":is$vs$seq88.$var,\n\"is-ValueSkeleton\":is$ValueSkeleton67.$var,\n\"is-vs-constr\":is$vs$constr75.$var,\n\"vs-table\":vs$table82.$var,\n\"vs-constr\":vs$constr77.$var},\n\"defined-types\":{\"ValueSkeleton\":ValueSkeleton93},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-vs-table\":is$vs$table79.$var,\n\"vs-value\":vs$value71.$var,\n\"vs-str\":vs$str69.$var,\n\"is-vs-str\":is$vs$str68.$var,\n\"is-vs-value\":is$vs$value70.$var,\n\"vs-row\":vs$row86.$var,\n\"is-vs-collection\":is$vs$collection72.$var,\n\"is-vs-row\":is$vs$row84.$var,\n\"vs-collection\":vs$collection73.$var,\n\"vs-seq\":vs$seq90.$var,\n\"is-vs-seq\":is$vs$seq88.$var,\n\"is-ValueSkeleton\":is$ValueSkeleton67.$var,\n\"is-vs-constr\":is$vs$constr75.$var,\n\"vs-table\":vs$table82.$var,\n\"vs-constr\":vs$constr77.$var}),\n\"types\":{\"ValueSkeleton\":ValueSkeleton93},\n\"modules\":{}}),\n\"checks\":checks95});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6;\ndefault: R.ffi.throwSpinnakerError(L[15],$step3);\n}\n}\nif($step3 !== 4) {\n$ans6.stack[R.EXN_STACKHEIGHT++] = R.mAR($al7,$toplevel4,$step3,[],[vs$value71,is$vs$collection72,is$vs$seq88,is$vs$row84,vs$table82,vs$str69,is$vs$value70,vs$collection73,answer94,is$ValueSkeleton67,vs$seq90,ValueSkeleton93,is$vs$str68,is$vs$constr75,is$vs$table79,vs$row86,vs$constr77],$elidedFrames9);\n}\nreturn $ans6;\n};\nreturn R.safeCall($toplevel4,function module_load(moduleVal) {\nR.modules[\"$builtin://valueskeleton2\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"vs-constr":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +12, +2, +170, +12, +35, +203], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-constr", +"typ":"tany"}, +"vs-table":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +13, +2, +206, +13, +66, +270], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-table", +"typ":"tany"}, +"is-vs-constr":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +12, +2, +170, +12, +35, +203], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-constr", +"typ":"tany"}, +"is-ValueSkeleton":{"bind":"let", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +8, +0, +60, +16, +3, +344], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"typ":"tany"}, +"is-vs-seq":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +15, +2, +325, +15, +17, +340], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-seq", +"typ":"tany"}, +"vs-seq":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +15, +2, +325, +15, +17, +340], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-seq", +"typ":"tany"}, +"vs-collection":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +11, +2, +129, +11, +40, +167], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-collection", +"typ":"tany"}, +"is-vs-row":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +14, +2, +273, +14, +51, +322], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-row", +"typ":"tany"}, +"is-vs-collection":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +11, +2, +129, +11, +40, +167], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-collection", +"typ":"tany"}, +"vs-row":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +14, +2, +273, +14, +51, +322], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-row", +"typ":"tany"}, +"is-vs-value":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +10, +2, +106, +10, +22, +126], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-value", +"typ":"tany"}, +"is-vs-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +9, +2, +82, +9, +23, +103], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-str", +"typ":"tany"}, +"vs-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +9, +2, +82, +9, +23, +103], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-str", +"typ":"tany"}, +"vs-value":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +10, +2, +106, +10, +22, +126], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"vs-value", +"typ":"tany"}, +"is-vs-table":{"bind":"fun", +"origin":{"local-bind-site":["builtin://valueskeleton", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://valueskeleton", +13, +2, +206, +13, +66, +270], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"}, +"flatness":0, +"name":"is-vs-table", +"typ":"tany"}}, +"datatypes":{"ValueSkeleton":["data",{"local-bind-site":["builtin://valueskeleton", +8, +0, +60, +16, +3, +344], +"definition-bind-site":["builtin://valueskeleton", +8, +0, +60, +16, +3, +344], +"new-definition":true, +"uri-of-definition":"builtin://valueskeleton"},"ValueSkeleton",[],[["vs-str", +[["s", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["vs-value", +[["v", +"tany"]], +{}],["vs-collection", +[["name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["items", +"tany"]], +{}],["vs-constr", +[["name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["args", +"tany"]], +{}],["vs-table", +[["headers", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"}],["rows", +"tany"]], +{}],["vs-row", +[["headers", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"}],["values", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"}]], +{}],["vs-seq", +[["items", +"tany"]], +{}]],{}]}, +"aliases":{"ValueSkeleton":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://srcloc":({"theMap":"{\"version\":3,\"sources\":[\"builtin://srcloc\"],\"names\":[\"builtin://srcloc\",\",119,29,4064,119,47,4082\",\",12,20,187,12,36,203\",\",12,6,173,12,36,203\",\",12,6,173,12,42,209\",\",14,22,241,14,38,257\",\",16,6,304,16,23,321\",\",16,29,327,16,46,344\",\",16,50,348,16,66,364\",\",16,29,327,16,66,364\",\",16,28,326,16,67,365\",\",20,35,469,20,51,485\",\",20,54,488,20,71,505\",\",20,35,469,20,71,505\",\",19,6,413,22,9,563\",\",43,8,1214,43,19,1225\",\",43,8,1214,43,25,1231\",\",43,37,1243,43,52,1258\",\",43,28,1234,43,53,1259\",\",43,8,1214,43,53,1259\",\",43,8,1214,43,59,1265\",\",43,71,1277,43,88,1294\",\",43,62,1268,43,89,1295\",\",43,8,1214,43,89,1295\",\",43,8,1214,44,15,1311\",\",44,27,1323,44,40,1336\",\",44,18,1314,44,41,1337\",\",43,8,1214,44,41,1337\",\",43,8,1214,44,47,1343\",\",44,59,1355,44,74,1370\",\",44,50,1346,44,75,1371\",\",43,8,1214,44,75,1371\",\",46,27,1411,46,42,1426\",\",46,18,1402,46,43,1427\",\",46,8,1392,46,43,1427\",\",46,8,1392,46,57,1441\",\",46,69,1453,46,86,1470\",\",46,60,1444,46,87,1471\",\",46,8,1392,46,87,1471\",\",49,22,1513,49,33,1524\",\",49,22,1513,49,39,1530\",\",49,51,1542,49,66,1557\",\",49,42,1533,49,67,1558\",\",49,22,1513,49,67,1558\",\",49,22,1513,49,73,1564\",\",49,85,1576,49,98,1589\",\",49,76,1567,49,99,1590\",\",49,22,1513,49,99,1590\",\",51,6,1647,51,22,1663\",\",51,28,1669,51,39,1680\",\",51,43,1684,51,55,1696\",\",51,28,1669,51,55,1696\",\",51,27,1668,51,56,1697\",\",57,18,1932,57,33,1947\",\",57,36,1950,57,52,1966\",\",57,18,1932,57,52,1966\",\",61,13,2026,61,24,2037\",\",62,8,2047,62,23,2062\",\",62,25,2064,62,42,2081\",\",62,44,2083,62,59,2098\",\",63,8,2108,63,23,2123\",\",63,25,2125,63,42,2142\",\",63,44,2144,63,59,2159\",\",61,6,2019,63,60,2160\",\",66,13,2208,66,24,2219\",\",67,8,2229,67,21,2242\",\",67,23,2244,67,38,2259\",\",67,40,2261,67,53,2274\",\",68,8,2284,68,21,2297\",\",68,23,2299,68,38,2314\",\",68,40,2316,68,53,2329\",\",66,6,2201,68,54,2330\",\",72,9,2463,72,24,2478\",\",72,28,2482,72,44,2498\",\",72,9,2463,72,44,2498\",\",73,11,2511,73,24,2524\",\",73,28,2528,73,42,2542\",\",73,11,2511,73,42,2542\",\",76,17,2590,76,28,2601\",\",77,12,2615,77,27,2630\",\",77,29,2632,77,46,2649\",\",77,48,2651,77,63,2666\",\",78,12,2680,78,26,2694\",\",78,28,2696,78,44,2712\",\",78,46,2714,78,60,2728\",\",76,10,2583,78,61,2729\",\",81,11,2765,81,24,2778\",\",81,27,2781,81,41,2795\",\",81,11,2765,81,41,2795\",\",82,17,2814,82,28,2825\",\",83,12,2839,83,28,2855\",\",83,30,2857,83,48,2875\",\",83,50,2877,83,66,2893\",\",84,12,2907,84,25,2920\",\",84,27,2922,84,42,2937\",\",84,44,2939,84,57,2952\",\",82,10,2807,84,58,2953\",\",92,9,3137,92,24,3152\",\",92,28,3156,92,42,3170\",\",92,9,3137,92,42,3170\",\",93,15,3187,93,26,3198\",\",94,10,3210,94,25,3225\",\",94,27,3227,94,44,3244\",\",94,46,3246,94,61,3261\",\",95,10,3273,95,26,3289\",\",95,28,3291,95,46,3309\",\",95,48,3311,95,64,3327\",\",93,8,3180,95,65,3328\",\",102,9,3499,102,24,3514\",\",102,28,3518,102,42,3532\",\",102,9,3499,102,42,3532\",\",103,15,3549,103,26,3560\",\",104,10,3572,104,25,3587\",\",104,27,3589,104,44,3606\",\",104,46,3608,104,61,3623\",\",105,10,3635,105,24,3649\",\",105,26,3651,105,42,3667\",\",105,44,3669,105,58,3683\",\",103,8,3542,105,59,3684\",\",111,6,3769,111,22,3785\",\",112,13,3799,112,28,3814\",\",112,32,3818,112,48,3834\",\",112,13,3799,112,48,3834\",\",113,13,3849,113,28,3864\",\",113,32,3868,113,48,3884\",\",113,13,3849,113,48,3884\",\",114,13,3899,114,26,3912\",\",114,30,3916,114,44,3930\",\",114,13,3899,114,44,3930\",\",115,13,3945,115,26,3958\",\",115,30,3962,115,44,3976\",\",115,13,3945,115,44,3976\",\",115,12,3944,115,45,3977\",\",9,0,95,120,3,4090\",\",10,2,110,27,37,665\",\",28,2,668,117,38,4025\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://srcloc\"}", +"theModule":"function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__181(R,NAMESPACE,M,$$underscore_import5,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://srcloc\";\nvar D = R.undefined;\nvar L = [[M,119,2,4037,119,51,4086],\n[M,119,29,4064,119,47,4082],\n[M,11,4,143,13,7,217],\n[M,12,20,187,12,36,203],\n[M,12,6,173,12,42,209],\n[M,12,6,173,12,36,203],\n[M,14,4,223,14,42,261],\n[M,14,22,241,14,38,257],\n[M,15,4,267,17,7,373],\n[M,16,6,304,16,16,314],\n[M,16,29,327,16,46,344],\n[M,16,50,348,16,66,364],\n[M,16,29,327,16,66,364],\n[M,16,6,304,16,23,321],\n[M,18,4,379,23,7,571],\n[M,20,35,469,20,51,485],\n[M,20,54,488,20,71,505],\n[M,20,35,469,20,71,505],\n[M,20,8,442,20,72,506],\n[M,19,6,413,22,9,563],\n[M,21,8,515,21,46,553],\n[M,19,12,419,19,18,425],\n[M,24,4,577,26,7,626],\n[M,27,4,632,27,37,665],\n[M,37,4,899,48,7,1489],\n[M,43,8,1214,43,19,1225],\n[M,43,37,1243,43,52,1258],\n[M,43,71,1277,43,88,1294],\n[M,44,27,1323,44,40,1336],\n[M,44,59,1355,44,74,1370],\n[M,43,8,1214,44,75,1371],\n[M,44,50,1346,44,75,1371],\n[M,43,8,1214,44,47,1343],\n[M,43,8,1214,44,41,1337],\n[M,44,18,1314,44,41,1337],\n[M,43,8,1214,44,15,1311],\n[M,43,8,1214,43,89,1295],\n[M,43,62,1268,43,89,1295],\n[M,43,8,1214,43,59,1265],\n[M,43,8,1214,43,53,1259],\n[M,43,28,1234,43,53,1259],\n[M,43,8,1214,43,25,1231],\n[M,46,27,1411,46,42,1426],\n[M,46,69,1453,46,86,1470],\n[M,46,8,1392,46,87,1471],\n[M,46,60,1444,46,87,1471],\n[M,46,8,1392,46,57,1441],\n[M,46,8,1392,46,43,1427],\n[M,46,18,1402,46,43,1427],\n[M,49,4,1495,49,103,1594],\n[M,49,22,1513,49,33,1524],\n[M,49,51,1542,49,66,1557],\n[M,49,85,1576,49,98,1589],\n[M,49,22,1513,49,99,1590],\n[M,49,76,1567,49,99,1590],\n[M,49,22,1513,49,73,1564],\n[M,49,22,1513,49,67,1558],\n[M,49,42,1533,49,67,1558],\n[M,49,22,1513,49,39,1530],\n[M,50,4,1600,52,7,1705],\n[M,51,6,1647,51,15,1656],\n[M,51,28,1669,51,39,1680],\n[M,51,43,1684,51,55,1696],\n[M,51,28,1669,51,55,1696],\n[M,51,6,1647,51,22,1663],\n[M,50,36,1632,50,42,1638],\n[M,53,4,1711,59,7,1984],\n[M,56,8,1893,56,28,1913],\n[M,55,6,1864,58,9,1976],\n[M,57,18,1932,57,33,1947],\n[M,57,36,1950,57,52,1966],\n[M,57,18,1932,57,52,1966],\n[M,55,12,1870,55,18,1876],\n[M,53,33,1740,53,39,1746],\n[M,60,4,1990,64,7,2168],\n[M,61,6,2019,61,12,2025],\n[M,61,13,2026,61,24,2037],\n[M,62,8,2047,62,23,2062],\n[M,62,25,2064,62,42,2081],\n[M,62,44,2083,62,59,2098],\n[M,63,8,2108,63,23,2123],\n[M,63,25,2125,63,42,2142],\n[M,63,44,2144,63,59,2159],\n[M,61,6,2019,63,60,2160],\n[M,65,4,2174,69,7,2338],\n[M,66,6,2201,66,12,2207],\n[M,66,13,2208,66,24,2219],\n[M,67,8,2229,67,21,2242],\n[M,67,23,2244,67,38,2259],\n[M,67,40,2261,67,53,2274],\n[M,68,8,2284,68,21,2297],\n[M,68,23,2299,68,38,2314],\n[M,68,40,2316,68,53,2329],\n[M,66,6,2201,68,54,2330],\n[M,70,4,2344,89,7,3013],\n[M,72,9,2463,72,24,2478],\n[M,72,28,2482,72,44,2498],\n[M,73,11,2511,73,24,2524],\n[M,73,28,2528,73,42,2542],\n[M,76,10,2583,76,16,2589],\n[M,76,17,2590,76,28,2601],\n[M,77,12,2615,77,27,2630],\n[M,77,29,2632,77,46,2649],\n[M,77,48,2651,77,63,2666],\n[M,78,12,2680,78,26,2694],\n[M,78,28,2696,78,44,2712],\n[M,78,46,2714,78,60,2728],\n[M,76,10,2583,78,61,2729],\n[M,73,11,2511,73,42,2542],\n[M,81,11,2765,81,24,2778],\n[M,81,27,2781,81,41,2795],\n[M,82,10,2807,82,16,2813],\n[M,82,17,2814,82,28,2825],\n[M,83,12,2839,83,28,2855],\n[M,83,30,2857,83,48,2875],\n[M,83,50,2877,83,66,2893],\n[M,84,12,2907,84,25,2920],\n[M,84,27,2922,84,42,2937],\n[M,84,44,2939,84,57,2952],\n[M,82,10,2807,84,58,2953],\n[M,81,11,2765,81,41,2795],\n[M,72,9,2463,72,44,2498],\n[M,70,40,2380,70,49,2389],\n[M,70,32,2372,70,50,2390],\n[M,90,4,3019,99,7,3371],\n[M,92,9,3137,92,24,3152],\n[M,92,28,3156,92,42,3170],\n[M,93,8,3180,93,14,3186],\n[M,93,15,3187,93,26,3198],\n[M,94,10,3210,94,25,3225],\n[M,94,27,3227,94,44,3244],\n[M,94,46,3246,94,61,3261],\n[M,95,10,3273,95,26,3289],\n[M,95,28,3291,95,46,3309],\n[M,95,48,3311,95,64,3327],\n[M,93,8,3180,95,65,3328],\n[M,92,9,3137,92,42,3170],\n[M,90,39,3054,90,48,3063],\n[M,90,31,3046,90,49,3064],\n[M,100,4,3377,109,7,3727],\n[M,102,9,3499,102,24,3514],\n[M,102,28,3518,102,42,3532],\n[M,103,8,3542,103,14,3548],\n[M,103,15,3549,103,26,3560],\n[M,104,10,3572,104,25,3587],\n[M,104,27,3589,104,44,3606],\n[M,104,46,3608,104,61,3623],\n[M,105,10,3635,105,24,3649],\n[M,105,26,3651,105,42,3667],\n[M,105,44,3669,105,58,3683],\n[M,103,8,3542,105,59,3684],\n[M,102,9,3499,102,42,3532],\n[M,100,43,3416,100,52,3425],\n[M,100,35,3408,100,53,3426],\n[M,110,4,3733,116,7,3985],\n[M,111,6,3769,111,15,3778],\n[M,112,13,3799,112,28,3814],\n[M,112,32,3818,112,48,3834],\n[M,113,13,3849,113,28,3864],\n[M,113,32,3868,113,48,3884],\n[M,114,13,3899,114,26,3912],\n[M,114,30,3916,114,44,3930],\n[M,115,13,3945,115,26,3958],\n[M,115,30,3962,115,44,3976],\n[M,115,13,3945,115,44,3976],\n[M,114,13,3899,114,44,3930],\n[M,113,13,3849,113,48,3884],\n[M,112,13,3799,112,48,3834],\n[M,111,6,3769,111,22,3785],\n[M,117,4,3991,117,38,4025],\n[M,10,2,110,27,37,665],\n[M,28,2,668,117,38,4025],\n[M,29,18,696,29,24,702],\n[M,30,22,726,30,28,732],\n[M,31,24,758,31,30,764],\n[M,32,22,788,32,28,794],\n[M,33,20,816,33,26,822],\n[M,34,22,846,34,28,852],\n[M,35,20,874,35,26,880],\n[M,9,0,95,120,3,4090],\n[\"dummy location\"],\n[M,3,0,21,120,3,4090]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _greaterequal2 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterequal\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar _lessequal4 = R.getModuleField(\"builtin://global\",\"values\",\"_lessequal\");\nvar _greaterthan5 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterthan\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar VS6 = $VS8;\nvar $cases_dispatch182 = {\"builtin\":3};\nvar $cases_dispatch84 = {\"builtin\":2,\n\"srcloc\":3};\nvar $toplevel10 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__181($$resumer13) {\nvar $step9 = 0;\nvar $elidedFrames16 = 0;\nvar $ans12 = D;\nvar $al14 = L[181];\nif(R.isAR($$resumer13)) {\n$step9 = $$resumer13.step;\n$al14 = $$resumer13.from;\n$ans12 = $$resumer13.ans;\n$elidedFrames16 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$builtin54 = $$resumer13.vars[0];\nis$Srcloc370 = $$resumer13.vars[1];\nis$srcloc161 = $$resumer13.vars[2];\nSrcloc85 = $$resumer13.vars[3];\nsrcloc192 = $$resumer13.vars[4];\nbuiltin371 = $$resumer13.vars[5];\nanswer373 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans12 = R.mC();\n}\nwhile(!R.isContinuation($ans12)) {\nswitch($step9) {\ncase 0: var Srcloc17 = R.nB(\"Srcloc\",L[179]);\nvar Srcloc85 = R.mBA(Srcloc17,\"Srcloc\");\nvar Srcloc369 = {\"$var\":D};\nvar is$Srcloc370 = {\"$var\":D};\nvar is$builtin54 = {\"$var\":D};\nvar builtin371 = {\"$var\":D};\nvar is$srcloc161 = {\"$var\":D};\nvar srcloc192 = {\"$var\":D};\nvar $temp_full19 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__0($self20,$other21) {\nvar $step18 = 0;\nvar $elidedFrames25 = 0;\nvar $ans22 = D;\nvar $al23 = L[0];\nif(R.isAR($self20)) {\n$step18 = $self20.step;\n$al23 = $self20.from;\n$ans22 = $self20.ans;\n$elidedFrames25 = $self20.elidedFrames;\nself20 = $self20.args[0];\nother21 = $self20.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],2,$t,true);\n}\nvar self20 = $self20;\nvar other21 = $other21;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans22 = R.mC();\n}\nwhile(!R.isContinuation($ans22)) {\nswitch($step18) {\ncase 0: $step18 = 1;\n$ans22 = R.maybeMethodCall1(other21,\"before\",L[1],self20);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans22;\ndefault: R.ffi.throwSpinnakerError(L[0],$step18);\n}\n}\nif($step18 !== 1) {\n$ans22.stack[R.EXN_STACKHEIGHT++] = R.mAR($al23,$temp_full19,$step18,[self20,other21],[],$elidedFrames25);\n}\nreturn $ans22;\n};\nvar anf_shared331 = R.makeMethod1($temp_full19,\"after\");\nvar $temp_full29 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__2($self30,$$underscore31) {\nvar $step28 = 0;\nvar $elidedFrames35 = 0;\nvar $ans32 = D;\nvar $al33 = L[2];\nif(R.isAR($self30)) {\n$step28 = $self30.step;\n$al33 = $self30.from;\n$ans32 = $self30.ans;\n$elidedFrames35 = $self30.elidedFrames;\nself30 = $self30.args[0];\n$underscore31 = $self30.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2],2,$t,true);\n}\nvar self30 = $self30;\nvar $underscore31 = $$underscore31;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans32 = R.mC();\n}\nwhile(!R.isContinuation($ans32)) {\nswitch($step28) {\ncase 0: $al33 = L[3];\nvar anf_arg36 = G(self30,\"module-name\",L[3]);\n$step28 = 1;\n$al33 = L[5];\n// omitting isFunction check;\n$ans32 = _plus5.app((\"\"));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans32;\ndefault: R.ffi.throwSpinnakerError(L[2],$step28);\n}\n}\nif($step28 !== 2) {\n$ans32.stack[R.EXN_STACKHEIGHT++] = R.mAR($al33,$temp_full29,$step28,[self30,$underscore31],[],$elidedFrames35);\n}\nreturn $ans32;\n};\nvar anf_variant_member335 = R.makeMethod1($temp_full29,\"format\");\nvar $temp_full40 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__6($self29) {\nvar $step39 = 0;\nvar $elidedFrames44 = 0;\nvar $ans41 = D;\nvar $al42 = L[6];\nif(R.isAR($self29)) {\n$step39 = $self29.step;\n$al42 = $self29.from;\n$ans41 = $self29.ans;\n$elidedFrames44 = $self29.elidedFrames;\nself29 = $self29.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],1,$t,true);\n}\nvar self29 = $self29;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans41 = R.mC();\n}\nwhile(!R.isContinuation($ans41)) {\nswitch($step39) {\ncase 0: $step39 = 1;\n$al42 = L[7];\n$ans41 = G(self29,\"module-name\",L[7]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans41;\ndefault: R.ffi.throwSpinnakerError(L[6],$step39);\n}\n}\nif($step39 !== 1) {\n$ans41.stack[R.EXN_STACKHEIGHT++] = R.mAR($al42,$temp_full40,$step39,[self29],[],$elidedFrames44);\n}\nreturn $ans41;\n};\nvar anf_variant_member336 = R.makeMethod0($temp_full40,\"key\");\nvar $temp_full47 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__8($self48,$other49) {\nvar $step46 = 0;\nvar $elidedFrames53 = 0;\nvar $ans50 = D;\nvar $al51 = L[8];\nif(R.isAR($self48)) {\n$step46 = $self48.step;\n$al51 = $self48.from;\n$ans50 = $self48.ans;\n$elidedFrames53 = $self48.elidedFrames;\nself48 = $self48.args[0];\nother49 = $self48.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[8],2,$t,true);\n}\nvar self48 = $self48;\nvar other49 = $other49;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans50 = R.mC();\n}\nwhile(!R.isContinuation($ans50)) {\nswitch($step46) {\ncase 0: var anf_fun55 = is$builtin54.$var === D?U(L[9],\"is-builtin\"):is$builtin54.$var;\n$step46 = 1;\n$al51 = L[13];\nif(typeof(anf_fun55.app) !== \"function\") {\nR.ffi.throwNonFunApp($al51,anf_fun55);\n}\n$ans50 = anf_fun55.app(other49);\nbreak;\ncase 1: var anf_if60 = $ans50;\n$step46 = R.checkPyretTrue(anf_if60)?2:4;\nbreak;\ncase 2: $al51 = L[10];\nvar anf_arg56 = G(other49,\"module-name\",L[10]);\n$al51 = L[11];\nvar anf_arg57 = G(self48,\"module-name\",L[11]);\n$step46 = 3;\n$al51 = L[12];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al51,equal$always1);\n}\n$ans50 = equal$always1.app(anf_arg56,anf_arg57);\nbreak;\ncase 3: var anf_arg59 = $ans50;\n$ans50 = R.checkWrapBoolean(anf_arg59);\n$step46 = 5;\nbreak;\ncase 4: $step46 = 5;\n$ans50 = (false);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans50;\ndefault: R.ffi.throwSpinnakerError(L[8],$step46);\n}\n}\nif($step46 !== 5) {\n$ans50.stack[R.EXN_STACKHEIGHT++] = R.mAR($al51,$temp_full47,$step46,[self48,other49],[],$elidedFrames53);\n}\nreturn $ans50;\n};\nvar anf_variant_member337 = R.makeMethod1($temp_full47,\"same-file\");\nvar $temp_full63 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__14($self40,$other64) {\nvar $step62 = 0;\nvar $elidedFrames68 = 0;\nvar $ans65 = D;\nvar $al66 = L[14];\nif(R.isAR($self40)) {\n$step62 = $self40.step;\n$al66 = $self40.from;\n$ans65 = $self40.ans;\n$elidedFrames68 = $self40.elidedFrames;\nself40 = $self40.args[0];\nother64 = $self40.args[1];\ncases69 = $self40.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[14],2,$t,true);\n}\nvar self40 = $self40;\nvar other64 = $other64;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans65 = R.mC();\n}\nwhile(!R.isContinuation($ans65)) {\nswitch($step62) {\ncase 0: var cases69 = other64;\n$step62 = 1;\n$al66 = L[21];\nvar $ann$check86 = R._cA(L[21],Srcloc85,cases69);\nif(R.isContinuation($ann$check86)) {\n$ans65 = $ann$check86;\n}\nbreak;\ncase 1: $al66 = L[19];\n$step62 = $cases_dispatch84[cases69.$name] || 4;\nbreak;\ncase 2: if(cases69.$arity !== 1) {\nif(cases69.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[18],1,cases69.$arity,L[19],cases69.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[18],true,L[19],cases69.$loc);\n}\n}\nvar $fn73 = cases69.$constructor.$fieldNames;\nR.dF(cases69.dict[$fn73[0]],cases69.$mut_fields_mask[0],false);\n$al66 = L[15];\nvar anf_arg70 = G(self40,\"module-name\",L[15]);\n$al66 = L[16];\nvar anf_arg71 = G(other64,\"module-name\",L[16]);\n$step62 = 5;\n$al66 = L[17];\n// omitting isFunction check;\n$ans65 = _lessthan3.app(anf_arg70,anf_arg71);\nbreak;\ncase 3: if(cases69.$arity !== 7) {\nif(cases69.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[20],7,cases69.$arity,L[19],cases69.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[20],true,L[19],cases69.$loc);\n}\n}\nvar $fn76 = cases69.$constructor.$fieldNames;\nR.dF(cases69.dict[$fn76[0]],cases69.$mut_fields_mask[0],false);\nR.dF(cases69.dict[$fn76[1]],cases69.$mut_fields_mask[1],false);\nR.dF(cases69.dict[$fn76[2]],cases69.$mut_fields_mask[2],false);\nR.dF(cases69.dict[$fn76[3]],cases69.$mut_fields_mask[3],false);\nR.dF(cases69.dict[$fn76[4]],cases69.$mut_fields_mask[4],false);\nR.dF(cases69.dict[$fn76[5]],cases69.$mut_fields_mask[5],false);\nR.dF(cases69.dict[$fn76[6]],cases69.$mut_fields_mask[6],false);\n$step62 = 5;\n$ans65 = (false);\nbreak;\ncase 4: $ans65 = R.throwNoCasesMatched(L[19],cases69);\n$step62 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans65;\ndefault: R.ffi.throwSpinnakerError(L[14],$step62);\n}\n}\nif($step62 !== 5) {\n$ans65.stack[R.EXN_STACKHEIGHT++] = R.mAR($al66,$temp_full63,$step62,[self40,other64],[cases69],$elidedFrames68);\n}\nreturn $ans65;\n};\nvar anf_variant_member338 = R.makeMethod1($temp_full63,\"before\");\nvar $temp_full89 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__22($self90,$other91) {\nvar $step88 = 0;\nvar $elidedFrames95 = 0;\nvar $ans92 = D;\nvar $al93 = L[22];\nif(R.isAR($self90)) {\n$step88 = $self90.step;\n$al93 = $self90.from;\n$ans92 = $self90.ans;\n$elidedFrames95 = $self90.elidedFrames;\nself90 = $self90.args[0];\nother91 = $self90.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[22],2,$t,true);\n}\nvar self90 = $self90;\nvar other91 = $other91;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans92 = R.mC();\n}\nwhile(!R.isContinuation($ans92)) {\nswitch($step88) {\ncase 0: $step88 = 1;\n$ans92 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans92;\ndefault: R.ffi.throwSpinnakerError(L[22],$step88);\n}\n}\nif($step88 !== 1) {\n$ans92.stack[R.EXN_STACKHEIGHT++] = R.mAR($al93,$temp_full89,$step88,[self90,other91],[],$elidedFrames95);\n}\nreturn $ans92;\n};\nvar anf_variant_member339 = R.makeMethod1($temp_full89,\"contains\");\nvar $temp_full99 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__23($self100) {\nvar $step98 = 0;\nvar $elidedFrames104 = 0;\nvar $ans101 = D;\nvar $al102 = L[23];\nif(R.isAR($self100)) {\n$step98 = $self100.step;\n$al102 = $self100.from;\n$ans101 = $self100.ans;\n$elidedFrames104 = $self100.elidedFrames;\nself100 = $self100.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[23],1,$t,true);\n}\nvar self100 = $self100;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans101 = R.mC();\n}\nwhile(!R.isContinuation($ans101)) {\nswitch($step98) {\ncase 0: $step98 = 1;\n$ans101 = (true);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans101;\ndefault: R.ffi.throwSpinnakerError(L[23],$step98);\n}\n}\nif($step98 !== 1) {\n$ans101.stack[R.EXN_STACKHEIGHT++] = R.mAR($al102,$temp_full99,$step98,[self100],[],$elidedFrames104);\n}\nreturn $ans101;\n};\nvar anf_variant_member340 = R.makeMethod0($temp_full99,\"is-builtin\");\nvar $temp_full107 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__24($self108,$show$file109) {\nvar $step106 = 0;\nvar $elidedFrames113 = 0;\nvar $ans110 = D;\nvar $al111 = L[24];\nif(R.isAR($self108)) {\n$step106 = $self108.step;\n$al111 = $self108.from;\n$ans110 = $self108.ans;\n$elidedFrames113 = $self108.elidedFrames;\nself108 = $self108.args[0];\nshow$file109 = $self108.args[1];\nanf_arg120 = $self108.vars[0];\nanf_arg134 = $self108.vars[1];\nanf_arg124 = $self108.vars[2];\nanf_arg116 = $self108.vars[3];\nanf_arg128 = $self108.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],2,$t,true);\n}\nvar self108 = $self108;\nvar show$file109 = $show$file109;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans110 = R.mC();\n}\nwhile(!R.isContinuation($ans110)) {\nswitch($step106) {\ncase 0: $step106 = R.checkPyretTrue(show$file109)?1:13;\nbreak;\ncase 1: $al111 = L[25];\nvar anf_arg114 = G(self108,\"source\",L[25]);\n$step106 = 2;\n$al111 = L[41];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg114,(\":\"));\nbreak;\ncase 2: var anf_arg116 = $ans110;\n$al111 = L[26];\nvar anf_arg115 = G(self108,\"start-line\",L[26]);\n$step106 = 3;\n$al111 = L[40];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg115);\nbreak;\ncase 3: var anf_arg117 = $ans110;\n$step106 = 4;\n$al111 = L[39];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg116,anf_arg117);\nbreak;\ncase 4: var anf_arg118 = $ans110;\n$step106 = 5;\n$al111 = L[38];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg118,(\":\"));\nbreak;\ncase 5: var anf_arg120 = $ans110;\n$al111 = L[27];\nvar anf_arg119 = G(self108,\"start-column\",L[27]);\n$step106 = 6;\n$al111 = L[37];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg119);\nbreak;\ncase 6: var anf_arg121 = $ans110;\n$step106 = 7;\n$al111 = L[36];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg120,anf_arg121);\nbreak;\ncase 7: var anf_arg122 = $ans110;\n$step106 = 8;\n$al111 = L[35];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg122,(\"-\"));\nbreak;\ncase 8: var anf_arg124 = $ans110;\n$al111 = L[28];\nvar anf_arg123 = G(self108,\"end-line\",L[28]);\n$step106 = 9;\n$al111 = L[34];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg123);\nbreak;\ncase 9: var anf_arg125 = $ans110;\n$step106 = 10;\n$al111 = L[33];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg124,anf_arg125);\nbreak;\ncase 10: var anf_arg126 = $ans110;\n$step106 = 11;\n$al111 = L[32];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg126,(\":\"));\nbreak;\ncase 11: var anf_arg128 = $ans110;\n$al111 = L[29];\nvar anf_arg127 = G(self108,\"end-column\",L[29]);\n$step106 = 12;\n$al111 = L[31];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg127);\nbreak;\ncase 12: var anf_arg129 = $ans110;\n$step106 = 18;\n$al111 = L[30];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg128,anf_arg129);\nbreak;\ncase 13: $al111 = L[42];\nvar anf_arg130 = G(self108,\"start-line\",L[42]);\n$step106 = 14;\n$al111 = L[48];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg130);\nbreak;\ncase 14: var anf_arg131 = $ans110;\n$step106 = 15;\n$al111 = L[47];\n// omitting isFunction check;\n$ans110 = _plus5.app((\"line \"),anf_arg131);\nbreak;\ncase 15: var anf_arg132 = $ans110;\n$step106 = 16;\n$al111 = L[46];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg132,(\", column \"));\nbreak;\ncase 16: var anf_arg134 = $ans110;\n$al111 = L[43];\nvar anf_arg133 = G(self108,\"start-column\",L[43]);\n$step106 = 17;\n$al111 = L[45];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg133);\nbreak;\ncase 17: var anf_arg135 = $ans110;\n$step106 = 18;\n$al111 = L[44];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg134,anf_arg135);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans110;\ndefault: R.ffi.throwSpinnakerError(L[24],$step106);\n}\n}\nif($step106 !== 18) {\n$ans110.stack[R.EXN_STACKHEIGHT++] = R.mAR($al111,$temp_full107,$step106,[self108,show$file109],[anf_arg120,anf_arg134,anf_arg124,anf_arg116,anf_arg128],$elidedFrames113);\n}\nreturn $ans110;\n};\nvar anf_variant_member348 = R.makeMethod1($temp_full107,\"format\");\nvar $temp_full138 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__49($self139) {\nvar $step137 = 0;\nvar $elidedFrames143 = 0;\nvar $ans140 = D;\nvar $al141 = L[49];\nif(R.isAR($self139)) {\n$step137 = $self139.step;\n$al141 = $self139.from;\n$ans140 = $self139.ans;\n$elidedFrames143 = $self139.elidedFrames;\nself139 = $self139.args[0];\nanf_arg146 = $self139.vars[0];\nanf_arg150 = $self139.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[49],1,$t,true);\n}\nvar self139 = $self139;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans140 = R.mC();\n}\nwhile(!R.isContinuation($ans140)) {\nswitch($step137) {\ncase 0: $al141 = L[50];\nvar anf_arg144 = G(self139,\"source\",L[50]);\n$step137 = 1;\n$al141 = L[58];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg144,(\":\"));\nbreak;\ncase 1: var anf_arg146 = $ans140;\n$al141 = L[51];\nvar anf_arg145 = G(self139,\"start-char\",L[51]);\n$step137 = 2;\n$al141 = L[57];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al141,tostring1);\n}\n$ans140 = tostring1.app(anf_arg145);\nbreak;\ncase 2: var anf_arg147 = $ans140;\n$step137 = 3;\n$al141 = L[56];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg146,anf_arg147);\nbreak;\ncase 3: var anf_arg148 = $ans140;\n$step137 = 4;\n$al141 = L[55];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg148,(\"-\"));\nbreak;\ncase 4: var anf_arg150 = $ans140;\n$al141 = L[52];\nvar anf_arg149 = G(self139,\"end-char\",L[52]);\n$step137 = 5;\n$al141 = L[54];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al141,tostring1);\n}\n$ans140 = tostring1.app(anf_arg149);\nbreak;\ncase 5: var anf_arg151 = $ans140;\n$step137 = 6;\n$al141 = L[53];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg150,anf_arg151);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans140;\ndefault: R.ffi.throwSpinnakerError(L[49],$step137);\n}\n}\nif($step137 !== 6) {\n$ans140.stack[R.EXN_STACKHEIGHT++] = R.mAR($al141,$temp_full138,$step137,[self139],[anf_arg146,anf_arg150],$elidedFrames143);\n}\nreturn $ans140;\n};\nvar anf_variant_member349 = R.makeMethod0($temp_full138,\"key\");\nvar $temp_full154 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__59($self155,$other156) {\nvar $step153 = 0;\nvar $elidedFrames160 = 0;\nvar $ans157 = D;\nvar $al158 = L[59];\nif(R.isAR($self155)) {\n$step153 = $self155.step;\n$al158 = $self155.from;\n$ans157 = $self155.ans;\n$elidedFrames160 = $self155.elidedFrames;\nself155 = $self155.args[0];\nother156 = $self155.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],2,$t,true);\n}\nvar self155 = $self155;\nvar other156 = $other156;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans157 = R.mC();\n}\nwhile(!R.isContinuation($ans157)) {\nswitch($step153) {\ncase 0: $step153 = 1;\n$al158 = L[65];\nR._cA(L[65],Srcloc85,other156);\nbreak;\ncase 1: var anf_fun162 = is$srcloc161.$var === D?U(L[60],\"is-srcloc\"):is$srcloc161.$var;\n$step153 = 2;\n$al158 = L[64];\nif(typeof(anf_fun162.app) !== \"function\") {\nR.ffi.throwNonFunApp($al158,anf_fun162);\n}\n$ans157 = anf_fun162.app(other156);\nbreak;\ncase 2: var anf_if166 = $ans157;\n$step153 = R.checkPyretTrue(anf_if166)?3:5;\nbreak;\ncase 3: $al158 = L[61];\nvar anf_arg163 = G(self155,\"source\",L[61]);\n$al158 = L[62];\nvar anf_arg164 = G(other156,\"source\",L[62]);\n$step153 = 4;\n$al158 = L[63];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al158,equal$always1);\n}\n$ans157 = equal$always1.app(anf_arg163,anf_arg164);\nbreak;\ncase 4: var anf_arg165 = $ans157;\n$ans157 = R.checkWrapBoolean(anf_arg165);\n$step153 = 6;\nbreak;\ncase 5: $step153 = 6;\n$ans157 = (false);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans157;\ndefault: R.ffi.throwSpinnakerError(L[59],$step153);\n}\n}\nif($step153 !== 6) {\n$ans157.stack[R.EXN_STACKHEIGHT++] = R.mAR($al158,$temp_full154,$step153,[self155,other156],[],$elidedFrames160);\n}\nreturn $ans157;\n};\nvar anf_variant_member350 = R.makeMethod1($temp_full154,\"same-file\");\nvar $temp_full169 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__66($self170,$other171) {\nvar $step168 = 0;\nvar $elidedFrames175 = 0;\nvar $ans172 = D;\nvar $al173 = L[66];\nif(R.isAR($self170)) {\n$step168 = $self170.step;\n$al173 = $self170.from;\n$ans172 = $self170.ans;\n$elidedFrames175 = $self170.elidedFrames;\nself170 = $self170.args[0];\nother171 = $self170.args[1];\ncases176 = $self170.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],2,$t,true);\n}\nvar self170 = $self170;\nvar other171 = $other171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans172 = R.mC();\n}\nwhile(!R.isContinuation($ans172)) {\nswitch($step168) {\ncase 0: $step168 = 1;\n$al173 = L[73];\nR._cA(L[73],Srcloc85,other171);\nbreak;\ncase 1: var cases176 = other171;\n$step168 = 2;\n$al173 = L[72];\nvar $ann$check183 = R._cA(L[72],Srcloc85,cases176);\nif(R.isContinuation($ann$check183)) {\n$ans172 = $ann$check183;\n}\nbreak;\ncase 2: $al173 = L[68];\n$step168 = $cases_dispatch182[cases176.$name] || 4;\nbreak;\ncase 3: if(cases176.$arity !== 1) {\nif(cases176.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[67],1,cases176.$arity,L[68],cases176.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[67],true,L[68],cases176.$loc);\n}\n}\nvar $fn178 = cases176.$constructor.$fieldNames;\nR.dF(cases176.dict[$fn178[0]],cases176.$mut_fields_mask[0],false);\n$step168 = 5;\n$ans172 = (true);\nbreak;\ncase 4: $al173 = L[69];\nvar anf_arg180 = G(self170,\"start-char\",L[69]);\n$al173 = L[70];\nvar anf_arg181 = G(other171,\"start-char\",L[70]);\n$step168 = 5;\n$al173 = L[71];\n// omitting isFunction check;\n$ans172 = _lessthan3.app(anf_arg180,anf_arg181);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans172;\ndefault: R.ffi.throwSpinnakerError(L[66],$step168);\n}\n}\nif($step168 !== 5) {\n$ans172.stack[R.EXN_STACKHEIGHT++] = R.mAR($al173,$temp_full169,$step168,[self170,other171],[cases176],$elidedFrames175);\n}\nreturn $ans172;\n};\nvar anf_variant_member351 = R.makeMethod1($temp_full169,\"before\");\nvar $temp_full186 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__74($self187) {\nvar $step185 = 0;\nvar $elidedFrames191 = 0;\nvar $ans188 = D;\nvar $al189 = L[74];\nif(R.isAR($self187)) {\n$step185 = $self187.step;\n$al189 = $self187.from;\n$ans188 = $self187.ans;\n$elidedFrames191 = $self187.elidedFrames;\nself187 = $self187.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[74],1,$t,true);\n}\nvar self187 = $self187;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans188 = R.mC();\n}\nwhile(!R.isContinuation($ans188)) {\nswitch($step185) {\ncase 0: var anf_fun193 = srcloc192.$var === D?U(L[75],\"srcloc\"):srcloc192.$var;\n$al189 = L[76];\nvar anf_arg194 = G(self187,\"source\",L[76]);\n$al189 = L[77];\nvar anf_arg195 = G(self187,\"start-line\",L[77]);\n$al189 = L[78];\nvar anf_arg196 = G(self187,\"start-column\",L[78]);\n$al189 = L[79];\nvar anf_arg197 = G(self187,\"start-char\",L[79]);\n$al189 = L[80];\nvar anf_arg198 = G(self187,\"start-line\",L[80]);\n$al189 = L[81];\nvar anf_arg199 = G(self187,\"start-column\",L[81]);\n$al189 = L[82];\nvar anf_arg200 = G(self187,\"start-char\",L[82]);\n$step185 = 1;\n$al189 = L[83];\nif(typeof(anf_fun193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al189,anf_fun193);\n}\n$ans188 = anf_fun193.app(anf_arg194,anf_arg195,anf_arg196,anf_arg197,anf_arg198,anf_arg199,anf_arg200);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans188;\ndefault: R.ffi.throwSpinnakerError(L[74],$step185);\n}\n}\nif($step185 !== 1) {\n$ans188.stack[R.EXN_STACKHEIGHT++] = R.mAR($al189,$temp_full186,$step185,[self187],[],$elidedFrames191);\n}\nreturn $ans188;\n};\nvar anf_variant_member352 = R.makeMethod0($temp_full186,\"at-start\");\nvar $temp_full203 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__84($self204) {\nvar $step202 = 0;\nvar $elidedFrames208 = 0;\nvar $ans205 = D;\nvar $al206 = L[84];\nif(R.isAR($self204)) {\n$step202 = $self204.step;\n$al206 = $self204.from;\n$ans205 = $self204.ans;\n$elidedFrames208 = $self204.elidedFrames;\nself204 = $self204.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],1,$t,true);\n}\nvar self204 = $self204;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans205 = R.mC();\n}\nwhile(!R.isContinuation($ans205)) {\nswitch($step202) {\ncase 0: var anf_fun209 = srcloc192.$var === D?U(L[85],\"srcloc\"):srcloc192.$var;\n$al206 = L[86];\nvar anf_arg210 = G(self204,\"source\",L[86]);\n$al206 = L[87];\nvar anf_arg211 = G(self204,\"end-line\",L[87]);\n$al206 = L[88];\nvar anf_arg212 = G(self204,\"end-column\",L[88]);\n$al206 = L[89];\nvar anf_arg214 = G(self204,\"end-char\",L[89]);\n$al206 = L[90];\nvar anf_arg215 = G(self204,\"end-line\",L[90]);\n$al206 = L[91];\nvar anf_arg216 = G(self204,\"end-column\",L[91]);\n$al206 = L[92];\nvar anf_arg217 = G(self204,\"end-char\",L[92]);\n$step202 = 1;\n$al206 = L[93];\nif(typeof(anf_fun209.app) !== \"function\") {\nR.ffi.throwNonFunApp($al206,anf_fun209);\n}\n$ans205 = anf_fun209.app(anf_arg210,anf_arg211,anf_arg212,anf_arg214,anf_arg215,anf_arg216,anf_arg217);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans205;\ndefault: R.ffi.throwSpinnakerError(L[84],$step202);\n}\n}\nif($step202 !== 1) {\n$ans205.stack[R.EXN_STACKHEIGHT++] = R.mAR($al206,$temp_full203,$step202,[self204],[],$elidedFrames208);\n}\nreturn $ans205;\n};\nvar anf_variant_member353 = R.makeMethod0($temp_full203,\"at-end\");\nvar $temp_full220 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__94($self221,$other222) {\nvar $step219 = 0;\nvar $elidedFrames226 = 0;\nvar $ans223 = D;\nvar $al224 = L[94];\nif(R.isAR($self221)) {\n$step219 = $self221.step;\n$al224 = $self221.from;\n$ans223 = $self221.ans;\n$elidedFrames226 = $self221.elidedFrames;\nself221 = $self221.args[0];\nother222 = $self221.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[94],2,$t,true);\n}\nvar self221 = $self221;\nvar other222 = $other222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans223 = R.mC();\n}\nwhile(!R.isContinuation($ans223)) {\nswitch($step219) {\ncase 0: $step219 = 1;\n$al224 = L[123];\nR._cA(L[123],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[122],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other222);\nbreak;\ncase 1: $al224 = L[95];\nvar anf_arg227 = G(self221,\"start-char\",L[95]);\n$al224 = L[96];\nvar anf_arg228 = G(other222,\"start-char\",L[96]);\n$step219 = 2;\n$al224 = L[121];\n// omitting isFunction check;\n$ans223 = _lessequal4.app(anf_arg227,anf_arg228);\nbreak;\ncase 2: var anf_if253 = $ans223;\n$step219 = R.checkPyretTrue(anf_if253)?3:7;\nbreak;\ncase 3: $al224 = L[97];\nvar anf_arg229 = G(self221,\"end-char\",L[97]);\n$al224 = L[98];\nvar anf_arg230 = G(other222,\"end-char\",L[98]);\n$step219 = 4;\n$al224 = L[108];\n// omitting isFunction check;\n$ans223 = _greaterequal2.app(anf_arg229,anf_arg230);\nbreak;\ncase 4: var anf_if240 = $ans223;\n$step219 = R.checkPyretTrue(anf_if240)?5:6;\nbreak;\ncase 5: $step219 = 11;\n$ans223 = self221;\nbreak;\ncase 6: var anf_fun231 = srcloc192.$var === D?U(L[99],\"srcloc\"):srcloc192.$var;\n$al224 = L[100];\nvar anf_arg232 = G(self221,\"source\",L[100]);\n$al224 = L[101];\nvar anf_arg233 = G(self221,\"start-line\",L[101]);\n$al224 = L[102];\nvar anf_arg234 = G(self221,\"start-column\",L[102]);\n$al224 = L[103];\nvar anf_arg235 = G(self221,\"start-char\",L[103]);\n$al224 = L[104];\nvar anf_arg237 = G(other222,\"end-line\",L[104]);\n$al224 = L[105];\nvar anf_arg238 = G(other222,\"end-column\",L[105]);\n$al224 = L[106];\nvar anf_arg239 = G(other222,\"end-char\",L[106]);\n$step219 = 11;\n$al224 = L[107];\nif(typeof(anf_fun231.app) !== \"function\") {\nR.ffi.throwNonFunApp($al224,anf_fun231);\n}\n$ans223 = anf_fun231.app(anf_arg232,anf_arg233,anf_arg234,anf_arg235,anf_arg237,anf_arg238,anf_arg239);\nbreak;\ncase 7: $al224 = L[109];\nvar anf_arg241 = G(self221,\"end-char\",L[109]);\n$al224 = L[110];\nvar anf_arg242 = G(other222,\"end-char\",L[110]);\n$step219 = 8;\n$al224 = L[120];\n// omitting isFunction check;\n$ans223 = _greaterthan5.app(anf_arg241,anf_arg242);\nbreak;\ncase 8: var anf_if252 = $ans223;\n$step219 = R.checkPyretTrue(anf_if252)?9:10;\nbreak;\ncase 9: var anf_fun243 = srcloc192.$var === D?U(L[111],\"srcloc\"):srcloc192.$var;\n$al224 = L[112];\nvar anf_arg244 = G(self221,\"source\",L[112]);\n$al224 = L[113];\nvar anf_arg245 = G(other222,\"start-line\",L[113]);\n$al224 = L[114];\nvar anf_arg246 = G(other222,\"start-column\",L[114]);\n$al224 = L[115];\nvar anf_arg247 = G(other222,\"start-char\",L[115]);\n$al224 = L[116];\nvar anf_arg248 = G(self221,\"end-line\",L[116]);\n$al224 = L[117];\nvar anf_arg250 = G(self221,\"end-column\",L[117]);\n$al224 = L[118];\nvar anf_arg251 = G(self221,\"end-char\",L[118]);\n$step219 = 11;\n$al224 = L[119];\nif(typeof(anf_fun243.app) !== \"function\") {\nR.ffi.throwNonFunApp($al224,anf_fun243);\n}\n$ans223 = anf_fun243.app(anf_arg244,anf_arg245,anf_arg246,anf_arg247,anf_arg248,anf_arg250,anf_arg251);\nbreak;\ncase 10: $step219 = 11;\n$ans223 = other222;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans223;\ndefault: R.ffi.throwSpinnakerError(L[94],$step219);\n}\n}\nif($step219 !== 11) {\n$ans223.stack[R.EXN_STACKHEIGHT++] = R.mAR($al224,$temp_full220,$step219,[self221,other222],[],$elidedFrames226);\n}\nreturn $ans223;\n};\nvar anf_variant_member354 = R.makeMethod1($temp_full220,\"_plus\");\nvar $temp_full256 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__124($self257,$other258) {\nvar $step255 = 0;\nvar $elidedFrames262 = 0;\nvar $ans259 = D;\nvar $al260 = L[124];\nif(R.isAR($self257)) {\n$step255 = $self257.step;\n$al260 = $self257.from;\n$ans259 = $self257.ans;\n$elidedFrames262 = $self257.elidedFrames;\nself257 = $self257.args[0];\nother258 = $self257.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],2,$t,true);\n}\nvar self257 = $self257;\nvar other258 = $other258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans259 = R.mC();\n}\nwhile(!R.isContinuation($ans259)) {\nswitch($step255) {\ncase 0: $step255 = 1;\n$al260 = L[138];\nR._cA(L[138],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[137],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other258);\nbreak;\ncase 1: $al260 = L[125];\nvar anf_arg264 = G(self257,\"start-char\",L[125]);\n$al260 = L[126];\nvar anf_arg265 = G(other258,\"end-char\",L[126]);\n$step255 = 2;\n$al260 = L[136];\n// omitting isFunction check;\n$ans259 = _lessequal4.app(anf_arg264,anf_arg265);\nbreak;\ncase 2: var anf_if274 = $ans259;\n$step255 = R.checkPyretTrue(anf_if274)?3:4;\nbreak;\ncase 3: var anf_fun266 = srcloc192.$var === D?U(L[127],\"srcloc\"):srcloc192.$var;\n$al260 = L[128];\nvar anf_arg267 = G(self257,\"source\",L[128]);\n$al260 = L[129];\nvar anf_arg268 = G(self257,\"start-line\",L[129]);\n$al260 = L[130];\nvar anf_arg269 = G(self257,\"start-column\",L[130]);\n$al260 = L[131];\nvar anf_arg270 = G(self257,\"start-char\",L[131]);\n$al260 = L[132];\nvar anf_arg271 = G(other258,\"start-line\",L[132]);\n$al260 = L[133];\nvar anf_arg272 = G(other258,\"start-column\",L[133]);\n$al260 = L[134];\nvar anf_arg273 = G(other258,\"start-char\",L[134]);\n$step255 = 5;\n$al260 = L[135];\nif(typeof(anf_fun266.app) !== \"function\") {\nR.ffi.throwNonFunApp($al260,anf_fun266);\n}\n$ans259 = anf_fun266.app(anf_arg267,anf_arg268,anf_arg269,anf_arg270,anf_arg271,anf_arg272,anf_arg273);\nbreak;\ncase 4: $step255 = 5;\n$ans259 = self257;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans259;\ndefault: R.ffi.throwSpinnakerError(L[124],$step255);\n}\n}\nif($step255 !== 5) {\n$ans259.stack[R.EXN_STACKHEIGHT++] = R.mAR($al260,$temp_full256,$step255,[self257,other258],[],$elidedFrames262);\n}\nreturn $ans259;\n};\nvar anf_variant_member355 = R.makeMethod1($temp_full256,\"upto\");\nvar $temp_full277 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__139($self278,$other279) {\nvar $step276 = 0;\nvar $elidedFrames283 = 0;\nvar $ans280 = D;\nvar $al281 = L[139];\nif(R.isAR($self278)) {\n$step276 = $self278.step;\n$al281 = $self278.from;\n$ans280 = $self278.ans;\n$elidedFrames283 = $self278.elidedFrames;\nself278 = $self278.args[0];\nother279 = $self278.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],2,$t,true);\n}\nvar self278 = $self278;\nvar other279 = $other279;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans280 = R.mC();\n}\nwhile(!R.isContinuation($ans280)) {\nswitch($step276) {\ncase 0: $step276 = 1;\n$al281 = L[153];\nR._cA(L[153],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[152],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other279);\nbreak;\ncase 1: $al281 = L[140];\nvar anf_arg284 = G(self278,\"start-char\",L[140]);\n$al281 = L[141];\nvar anf_arg285 = G(other279,\"end-char\",L[141]);\n$step276 = 2;\n$al281 = L[151];\n// omitting isFunction check;\n$ans280 = _lessequal4.app(anf_arg284,anf_arg285);\nbreak;\ncase 2: var anf_if296 = $ans280;\n$step276 = R.checkPyretTrue(anf_if296)?3:4;\nbreak;\ncase 3: var anf_fun286 = srcloc192.$var === D?U(L[142],\"srcloc\"):srcloc192.$var;\n$al281 = L[143];\nvar anf_arg287 = G(self278,\"source\",L[143]);\n$al281 = L[144];\nvar anf_arg290 = G(self278,\"start-line\",L[144]);\n$al281 = L[145];\nvar anf_arg291 = G(self278,\"start-column\",L[145]);\n$al281 = L[146];\nvar anf_arg292 = G(self278,\"start-char\",L[146]);\n$al281 = L[147];\nvar anf_arg293 = G(other279,\"end-line\",L[147]);\n$al281 = L[148];\nvar anf_arg294 = G(other279,\"end-column\",L[148]);\n$al281 = L[149];\nvar anf_arg295 = G(other279,\"end-char\",L[149]);\n$step276 = 5;\n$al281 = L[150];\nif(typeof(anf_fun286.app) !== \"function\") {\nR.ffi.throwNonFunApp($al281,anf_fun286);\n}\n$ans280 = anf_fun286.app(anf_arg287,anf_arg290,anf_arg291,anf_arg292,anf_arg293,anf_arg294,anf_arg295);\nbreak;\ncase 4: $step276 = 5;\n$ans280 = self278;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans280;\ndefault: R.ffi.throwSpinnakerError(L[139],$step276);\n}\n}\nif($step276 !== 5) {\n$ans280.stack[R.EXN_STACKHEIGHT++] = R.mAR($al281,$temp_full277,$step276,[self278,other279],[],$elidedFrames283);\n}\nreturn $ans280;\n};\nvar anf_variant_member356 = R.makeMethod1($temp_full277,\"upto-end\");\nvar $temp_full299 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__154($self300,$other301) {\nvar $step298 = 0;\nvar $elidedFrames305 = 0;\nvar $ans302 = D;\nvar $al303 = L[154];\nif(R.isAR($self300)) {\n$step298 = $self300.step;\n$al303 = $self300.from;\n$ans302 = $self300.ans;\n$elidedFrames305 = $self300.elidedFrames;\nself300 = $self300.args[0];\nother301 = $self300.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[154],2,$t,true);\n}\nvar self300 = $self300;\nvar other301 = $other301;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans302 = R.mC();\n}\nwhile(!R.isContinuation($ans302)) {\nswitch($step298) {\ncase 0: var anf_fun306 = is$srcloc161.$var === D?U(L[155],\"is-srcloc\"):is$srcloc161.$var;\n$step298 = 1;\n$al303 = L[168];\nif(typeof(anf_fun306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al303,anf_fun306);\n}\n$ans302 = anf_fun306.app(other301);\nbreak;\ncase 1: var anf_if321 = $ans302;\n$step298 = R.checkPyretTrue(anf_if321)?2:13;\nbreak;\ncase 2: $al303 = L[156];\nvar anf_arg307 = G(self300,\"start-line\",L[156]);\n$al303 = L[157];\nvar anf_arg308 = G(other301,\"start-line\",L[157]);\n$step298 = 3;\n$al303 = L[167];\n// omitting isFunction check;\n$ans302 = _lessequal4.app(anf_arg307,anf_arg308);\nbreak;\ncase 3: var anf_if320 = $ans302;\n$step298 = R.checkPyretTrue(anf_if320)?4:12;\nbreak;\ncase 4: $al303 = L[158];\nvar anf_arg309 = G(self300,\"start-char\",L[158]);\n$al303 = L[159];\nvar anf_arg310 = G(other301,\"start-char\",L[159]);\n$step298 = 5;\n$al303 = L[166];\n// omitting isFunction check;\n$ans302 = _lessequal4.app(anf_arg309,anf_arg310);\nbreak;\ncase 5: var anf_if319 = $ans302;\n$step298 = R.checkPyretTrue(anf_if319)?6:11;\nbreak;\ncase 6: $al303 = L[160];\nvar anf_arg313 = G(self300,\"end-line\",L[160]);\n$al303 = L[161];\nvar anf_arg314 = G(other301,\"end-line\",L[161]);\n$step298 = 7;\n$al303 = L[165];\n// omitting isFunction check;\n$ans302 = _greaterequal2.app(anf_arg313,anf_arg314);\nbreak;\ncase 7: var anf_if318 = $ans302;\n$step298 = R.checkPyretTrue(anf_if318)?8:10;\nbreak;\ncase 8: $al303 = L[162];\nvar anf_arg315 = G(self300,\"end-char\",L[162]);\n$al303 = L[163];\nvar anf_arg316 = G(other301,\"end-char\",L[163]);\n$step298 = 9;\n$al303 = L[164];\n// omitting isFunction check;\n$ans302 = _greaterequal2.app(anf_arg315,anf_arg316);\nbreak;\ncase 9: var anf_arg317 = $ans302;\n$ans302 = R.checkWrapBoolean(anf_arg317);\n$step298 = 14;\nbreak;\ncase 10: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 11: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 12: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 13: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans302;\ndefault: R.ffi.throwSpinnakerError(L[154],$step298);\n}\n}\nif($step298 !== 14) {\n$ans302.stack[R.EXN_STACKHEIGHT++] = R.mAR($al303,$temp_full299,$step298,[self300,other301],[],$elidedFrames305);\n}\nreturn $ans302;\n};\nvar anf_variant_member357 = R.makeMethod1($temp_full299,\"contains\");\nvar $temp_full324 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__169($self325) {\nvar $step323 = 0;\nvar $elidedFrames329 = 0;\nvar $ans326 = D;\nvar $al327 = L[169];\nif(R.isAR($self325)) {\n$step323 = $self325.step;\n$al327 = $self325.from;\n$ans326 = $self325.ans;\n$elidedFrames329 = $self325.elidedFrames;\nself325 = $self325.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[169],1,$t,true);\n}\nvar self325 = $self325;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans326 = R.mC();\n}\nwhile(!R.isContinuation($ans326)) {\nswitch($step323) {\ncase 0: $step323 = 1;\n$ans326 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans326;\ndefault: R.ffi.throwSpinnakerError(L[169],$step323);\n}\n}\nif($step323 !== 1) {\n$ans326.stack[R.EXN_STACKHEIGHT++] = R.mAR($al327,$temp_full324,$step323,[self325],[],$elidedFrames329);\n}\nreturn $ans326;\n};\nvar anf_variant_member358 = R.makeMethod0($temp_full324,\"is-builtin\");\nvar $builtin_getfields342 = function singleton_variant(f) {\nreturn f(this.dict[\"module-name\"]);\n};\nvar $builtin_mutablemask341 = [false];\nvar $builtin$base332 = {\"$fieldNames\":[\"module-name\"],\n\"after\":anf_shared331,\n\"format\":anf_variant_member335,\n\"key\":anf_variant_member336,\n\"same-file\":anf_variant_member337,\n\"before\":anf_variant_member338,\n\"contains\":anf_variant_member339,\n\"is-builtin\":anf_variant_member340,\n\"_match\":R.mM(\"builtin\",1)};\nvar $builtin$brander333 = R.nB(\"builtin\",L[170]);\nvar $builtin$brands334 = {};\n$builtin$brands334[Srcloc17._brand] = true;\n$builtin$brands334[$builtin$brander333._brand] = true;\nvar builtin343 = R.mVC(L[170],function $synthesizedConstructor_$builtin$base() {\nreturn [];\n},[],[],[false],[\"module$name344\"],$builtin_mutablemask341,$builtin$base332,$builtin$brands334,\"builtin\",$builtin_getfields342,$builtin$base332);\nvar $srcloc_getfields360 = function singleton_variant(f) {\nreturn f(this.dict[\"source\"],this.dict[\"start-line\"],this.dict[\"start-column\"],this.dict[\"start-char\"],this.dict[\"end-line\"],this.dict[\"end-column\"],this.dict[\"end-char\"]);\n};\nvar $srcloc_mutablemask359 = [false,false,false,false,false,false,false];\nvar $srcloc$base345 = {\"$fieldNames\":[\"source\",\"start-line\",\"start-column\",\"start-char\",\"end-line\",\"end-column\",\"end-char\"],\n\"after\":anf_shared331,\n\"format\":anf_variant_member348,\n\"key\":anf_variant_member349,\n\"same-file\":anf_variant_member350,\n\"before\":anf_variant_member351,\n\"at-start\":anf_variant_member352,\n\"at-end\":anf_variant_member353,\n\"_plus\":anf_variant_member354,\n\"upto\":anf_variant_member355,\n\"upto-end\":anf_variant_member356,\n\"contains\":anf_variant_member357,\n\"is-builtin\":anf_variant_member358,\n\"_match\":R.mM(\"srcloc\",7)};\nvar $srcloc$brander346 = R.nB(\"srcloc\",L[171]);\nvar $srcloc$brands347 = {};\n$srcloc$brands347[Srcloc17._brand] = true;\n$srcloc$brands347[$srcloc$brander346._brand] = true;\nvar srcloc361 = R.mVC(L[171],function $synthesizedConstructor_$srcloc$base() {\nreturn [$type$String8,$type$Number3,$type$Number3,$type$Number3,$type$Number3,$type$Number3,$type$Number3];\n},[\"source362\",\"start$line363\",\"start$column364\",\"start$char365\",\"end$line366\",\"end$column367\",\"end$char368\"],[L[172],L[173],L[174],L[175],L[176],L[177],L[178]],[false,false,false,false,false,false,false],[\"source362\",\"start$line363\",\"start$column364\",\"start$char365\",\"end$line366\",\"end$column367\",\"end$char368\"],$srcloc_mutablemask359,$srcloc$base345,$srcloc$brands347,\"srcloc\",$srcloc_getfields360,$srcloc$base345);\nvar anf_assign132 = R.mO({\"Srcloc\":G(Srcloc17,\"test\",L[179]),\n\"is-builtin\":G($builtin$brander333,\"test\",L[170]),\n\"builtin\":builtin343,\n\"is-srcloc\":G($srcloc$brander346,\"test\",L[171]),\n\"srcloc\":srcloc361});\nSrcloc369.$var = anf_assign132;\nR.nothing;\n$al14 = L[179];\nvar anf_assign134 = G(Srcloc369.$var,\"Srcloc\",L[179]);\nis$Srcloc370.$var = anf_assign134;\nR.nothing;\n$al14 = L[170];\nvar anf_assign136 = G(Srcloc369.$var,\"is-builtin\",L[170]);\nis$builtin54.$var = anf_assign136;\nR.nothing;\n$al14 = L[170];\nvar anf_assign138 = G(Srcloc369.$var,\"builtin\",L[170]);\nbuiltin371.$var = anf_assign138;\nR.nothing;\n$al14 = L[171];\nvar anf_assign140 = G(Srcloc369.$var,\"is-srcloc\",L[171]);\nis$srcloc161.$var = anf_assign140;\nR.nothing;\n$al14 = L[171];\nvar anf_assign142 = G(Srcloc369.$var,\"srcloc\",L[171]);\nsrcloc192.$var = anf_assign142;\nR.nothing;\n$step9 = 1;\n$ans12 = R.maybeMethodCall2(builtins1,\"trace-value\",L[180],L[180],nothing2);\nbreak;\ncase 1: var answer373 = $ans12;\n$step9 = 2;\n$ans12 = R.maybeMethodCall0(builtins1,\"current-checker\",L[179]);\nbreak;\ncase 2: var anf_method_obj372 = $ans12;\n$step9 = 3;\n$ans12 = R.maybeMethodCall0(anf_method_obj372,\"results\",L[179]);\nbreak;\ncase 3: var checks374 = $ans12;\n$step9 = 4;\n$ans12 = R.mO({\"answer\":answer373,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"VS\":VS6},\n\"defined-values\":{\"is-builtin\":is$builtin54.$var,\n\"builtin\":builtin371.$var,\n\"srcloc\":srcloc192.$var,\n\"is-srcloc\":is$srcloc161.$var,\n\"is-Srcloc\":is$Srcloc370.$var},\n\"defined-types\":{\"Srcloc\":Srcloc85},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-builtin\":is$builtin54.$var,\n\"builtin\":builtin371.$var,\n\"srcloc\":srcloc192.$var,\n\"is-srcloc\":is$srcloc161.$var,\n\"is-Srcloc\":is$Srcloc370.$var}),\n\"types\":{\"Srcloc\":Srcloc85},\n\"modules\":{}}),\n\"checks\":checks374});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans12;\ndefault: R.ffi.throwSpinnakerError(L[181],$step9);\n}\n}\nif($step9 !== 4) {\n$ans12.stack[R.EXN_STACKHEIGHT++] = R.mAR($al14,$toplevel10,$step9,[],[is$builtin54,is$Srcloc370,is$srcloc161,Srcloc85,srcloc192,builtin371,answer373],$elidedFrames16);\n}\nreturn $ans12;\n};\nreturn R.safeCall($toplevel10,function module_load(moduleVal) {\nR.modules[\"$builtin://srcloc7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-Srcloc":{"bind":"let", +"origin":{"local-bind-site":["builtin://srcloc", +4, +0, +31, +4, +15, +46], +"definition-bind-site":["builtin://srcloc", +9, +0, +95, +120, +3, +4090], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"}, +"typ":"tany"}, +"is-srcloc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://srcloc", +4, +0, +31, +4, +15, +46], +"definition-bind-site":["builtin://srcloc", +28, +2, +668, +117, +38, +4025], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"}, +"flatness":0, +"name":"is-srcloc", +"typ":"tany"}, +"srcloc":{"bind":"fun", +"origin":{"local-bind-site":["builtin://srcloc", +4, +0, +31, +4, +15, +46], +"definition-bind-site":["builtin://srcloc", +28, +2, +668, +117, +38, +4025], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"}, +"flatness":0, +"name":"srcloc", +"typ":"tany"}, +"builtin":{"bind":"fun", +"origin":{"local-bind-site":["builtin://srcloc", +4, +0, +31, +4, +15, +46], +"definition-bind-site":["builtin://srcloc", +10, +2, +110, +27, +37, +665], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"}, +"flatness":0, +"name":"builtin", +"typ":"tany"}, +"is-builtin":{"bind":"fun", +"origin":{"local-bind-site":["builtin://srcloc", +4, +0, +31, +4, +15, +46], +"definition-bind-site":["builtin://srcloc", +10, +2, +110, +27, +37, +665], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"}, +"flatness":0, +"name":"is-builtin", +"typ":"tany"}}, +"datatypes":{"Srcloc":["data",{"local-bind-site":["builtin://srcloc", +9, +0, +95, +120, +3, +4090], +"definition-bind-site":["builtin://srcloc", +9, +0, +95, +120, +3, +4090], +"new-definition":true, +"uri-of-definition":"builtin://srcloc"},"Srcloc",[],[["builtin", +[["module-name", +"tany"]], +{"is-builtin":["arrow", +["tany"], +"tany"], +"contains":["arrow", +["tany", +"tany"], +"tany"], +"before":["arrow", +["tany", +"tany"], +"tany"], +"same-file":["arrow", +["tany", +"tany"], +"tany"], +"key":["arrow", +["tany"], +"tany"], +"format":["arrow", +["tany", +"tany"], +"tany"]}],["srcloc", +[["source", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["start-line", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["start-column", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["start-char", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["end-line", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["end-column", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["end-char", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"before":["arrow", +["tany", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://srcloc"}, +"name":"Srcloc"}], +"tany"], +"key":["arrow", +["tany"], +"tany"], +"contains":["arrow", +["tany", +"tany"], +"tany"], +"_plus":["arrow", +["tany", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://srcloc"}, +"name":"Srcloc"}], +"tany"], +"format":["arrow", +["tany", +"tany"], +"tany"], +"upto":["arrow", +["tany", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://srcloc"}, +"name":"Srcloc"}], +"tany"], +"at-start":["arrow", +["tany"], +"tany"], +"upto-end":["arrow", +["tany", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://srcloc"}, +"name":"Srcloc"}], +"tany"], +"same-file":["arrow", +["tany", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://srcloc"}, +"name":"Srcloc"}], +"tany"], +"at-end":["arrow", +["tany"], +"tany"], +"is-builtin":["arrow", +["tany"], +"tany"]}]],{"contains":["arrow", +["tany", +"tany"], +"tany"], +"is-builtin":["arrow", +["tany"], +"tany"], +"key":["arrow", +["tany"], +"tany"], +"format":["arrow", +["tany", +"tany"], +"tany"], +"after":["arrow", +["tany", +"tany"], +"tany"]}]}, +"aliases":{"Srcloc":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://error":({"theMap":"{\"version\":3,\"sources\":[\"builtin://error\"],\"names\":[\"builtin://error\",\",13,39,246,13,48,255\",\",13,2,209,13,49,256\",\",16,36,325,16,43,332\",\",16,45,334,16,58,347\",\",16,16,305,16,64,353\",\",16,2,291,16,65,354\",\",19,3,390,19,10,397\",\",19,45,432,19,58,445\",\",19,26,413,19,63,450\",\",19,12,399,19,69,456\",\",23,5,501,23,21,517\",\",24,5,524,24,12,531\",\",25,14,547,25,36,569\",\",25,14,547,25,45,578\",\",25,6,539,25,46,579\",\",26,6,587,26,17,598\",\",27,6,606,27,26,626\",\",29,5,641,29,12,648\",\",30,14,664,30,38,688\",\",30,14,664,30,47,697\",\",30,6,656,30,48,698\",\",31,6,706,31,17,717\",\",32,6,725,32,26,745\",\",37,3,812,37,10,819\",\",38,4,825,38,31,852\",\",39,17,871,39,30,884\",\",39,33,887,39,40,894\",\",39,4,858,39,54,908\",\",40,4,914,45,10,1013\",\",49,3,1048,49,10,1055\",\",49,12,1057,49,51,1096\",\",56,9,1207,56,21,1219\",\",57,8,1229,57,17,1238\",\",53,2,1136,61,5,1281\",\",67,17,1377,67,21,1381\",\",65,2,1315,68,5,1387\",\",72,6,1464,72,30,1488\",\",73,6,1495,73,29,1518\",\",78,49,1690,78,52,1693\",\",78,42,1683,78,53,1694\",\",80,34,1778,80,37,1781\",\",80,25,1769,80,38,1782\",\",77,12,1616,80,40,1784\",\",81,52,1837,81,58,1843\",\",81,45,1830,81,59,1844\",\",81,70,1855,81,73,1858\",\",81,61,1846,81,74,1859\",\",81,37,1822,81,76,1861\",\",82,52,1914,82,58,1920\",\",82,45,1907,82,59,1921\",\",82,62,1924,82,69,1931\",\",82,71,1933,82,77,1939\",\",82,37,1899,82,80,1942\",\",74,6,1525,84,16,2003\",\",92,17,2315,92,28,2326\",\",92,33,2331,92,97,2395\",\",92,17,2315,92,98,2396\",\",93,6,2403,93,29,2426\",\",96,17,2485,96,28,2496\",\",96,33,2501,96,50,2518\",\",96,17,2485,96,51,2519\",\",97,6,2526,97,29,2549\",\",101,9,2687,101,17,2695\",\",101,9,2687,101,30,2708\",\",103,8,2778,103,11,2781\",\",104,28,2810,104,36,2818\",\",104,14,2796,104,37,2819\",\",108,34,3008,108,42,3016\",\",108,24,2998,108,43,3017\",\",111,12,3086,111,15,3089\",\",114,12,3160,114,15,3163\",\",108,8,2982,115,11,3175\",\",118,8,3235,118,11,3238\",\",122,9,3299,122,17,3307\",\",122,9,3299,122,30,3320\",\",124,8,3390,124,11,3393\",\",127,8,3473,127,11,3476\",\",132,6,3629,132,26,3649\",\",135,7,3698,135,15,3706\",\",135,18,3709,135,25,3716\",\",135,35,3726,135,47,3738\",\",135,27,3718,135,48,3739\",\",138,18,3795,138,30,3807\",\",138,6,3783,138,31,3808\",\",142,9,3950,142,17,3958\",\",142,9,3950,142,30,3971\",\",143,9,3982,143,17,3990\",\",144,57,4049,144,65,4057\",\",144,10,4002,144,66,4058\",\",145,11,4071,145,18,4078\",\",145,20,4080,145,63,4123\",\",146,19,4145,146,27,4153\",\",146,10,4136,146,28,4154\",\",148,9,4177,148,17,4185\",\",149,50,4237,149,58,4245\",\",149,10,4197,149,69,4256\",\",150,20,4278,150,28,4286\",\",150,10,4268,150,29,4287\",\",151,11,4300,151,18,4307\",\",152,12,4321,152,27,4336\",\",153,25,4363,153,45,4383\",\",153,48,4386,153,55,4393\",\",153,57,4395,153,68,4406\",\",153,12,4350,153,73,4411\",\",154,12,4425,154,81,4494\",\",155,19,4516,155,27,4524\",\",155,10,4507,155,28,4525\",\",159,7,4585,159,15,4593\",\",160,55,4650,160,63,4658\",\",160,8,4603,160,64,4659\",\",161,9,4670,161,16,4677\",\",161,18,4679,161,61,4722\",\",162,17,4742,162,25,4750\",\",162,8,4733,162,26,4751\",\",166,13,4918,166,21,4926\",\",166,13,4918,166,34,4939\",\",166,9,4914,166,35,4940\",\",166,54,4959,166,62,4967\",\",166,40,4945,166,63,4968\",\",167,9,4979,167,17,4987\",\",168,50,5039,168,58,5047\",\",168,10,4999,168,69,5058\",\",169,20,5080,169,28,5088\",\",169,10,5070,169,29,5089\",\",170,11,5102,170,18,5109\",\",171,12,5123,171,27,5138\",\",172,25,5165,172,41,5181\",\",173,15,5198,173,22,5205\",\",174,24,5231,174,37,5244\",\",175,38,5284,175,48,5294\",\",175,24,5270,175,49,5295\",\",176,29,5326,176,37,5334\",\",177,22,5358,177,34,5370\",\",177,36,5372,177,50,5386\",\",177,52,5388,177,64,5400\",\",178,22,5424,178,34,5436\",\",178,36,5438,178,50,5452\",\",178,36,5438,178,54,5456\",\",178,56,5458,178,68,5470\",\",178,56,5458,178,72,5474\",\",176,20,5317,178,73,5475\",\",172,12,5152,179,24,5500\",\",180,12,5514,180,41,5543\",\",181,25,5570,181,43,5588\",\",181,46,5591,181,53,5598\",\",181,55,5600,181,66,5611\",\",181,12,5557,181,71,5616\",\",182,19,5638,182,27,5646\",\",182,10,5629,182,28,5647\",\",184,9,5670,184,17,5678\",\",185,57,5737,185,65,5745\",\",185,10,5690,185,66,5746\",\",186,11,5759,186,18,5766\",\",187,12,5780,187,33,5801\",\",188,28,5831,188,38,5841\",\",188,20,5823,188,39,5842\",\",188,12,5815,188,40,5843\",\",189,12,5857,189,48,5893\",\",190,19,5915,190,27,5923\",\",190,10,5906,190,28,5924\",\",194,7,5984,194,15,5992\",\",195,55,6049,195,63,6057\",\",195,8,6002,195,64,6058\",\",196,9,6069,196,16,6076\",\",197,10,6088,197,31,6109\",\",198,26,6137,198,36,6147\",\",198,18,6129,198,37,6148\",\",198,10,6121,198,38,6149\",\",199,10,6161,199,46,6197\",\",200,17,6217,200,25,6225\",\",200,8,6208,200,26,6226\",\",204,13,6390,204,21,6398\",\",204,13,6390,204,34,6411\",\",204,9,6386,204,35,6412\",\",204,54,6431,204,62,6439\",\",204,40,6417,204,63,6440\",\",205,9,6451,205,17,6459\",\",206,50,6511,206,58,6519\",\",206,10,6471,206,69,6530\",\",207,20,6552,207,28,6560\",\",207,10,6542,207,29,6561\",\",208,11,6574,208,18,6581\",\",209,12,6595,209,28,6611\",\",210,25,6638,210,41,6654\",\",211,15,6671,211,22,6678\",\",212,24,6704,212,37,6717\",\",213,38,6757,213,48,6767\",\",213,24,6743,213,49,6768\",\",214,29,6799,214,37,6807\",\",215,22,6831,215,34,6843\",\",215,36,6845,215,50,6859\",\",215,52,6861,215,64,6873\",\",216,22,6897,216,34,6909\",\",216,36,6911,216,50,6925\",\",216,36,6911,216,54,6929\",\",216,56,6931,216,68,6943\",\",216,56,6931,216,72,6947\",\",214,20,6790,216,73,6948\",\",210,12,6625,217,24,6973\",\",218,12,6987,218,58,7033\",\",219,25,7060,219,43,7078\",\",219,46,7081,219,53,7088\",\",219,55,7090,219,66,7101\",\",219,12,7047,219,71,7106\",\",220,19,7128,220,27,7136\",\",220,10,7119,220,28,7137\",\",222,9,7160,222,17,7168\",\",223,57,7227,223,65,7235\",\",223,10,7180,223,66,7236\",\",224,11,7249,224,18,7256\",\",225,12,7270,225,33,7291\",\",226,28,7321,226,38,7331\",\",226,20,7313,226,39,7332\",\",226,12,7305,226,40,7333\",\",227,12,7347,227,65,7400\",\",228,19,7422,228,27,7430\",\",228,10,7413,228,28,7431\",\",232,7,7491,232,15,7499\",\",233,55,7556,233,63,7564\",\",233,8,7509,233,64,7565\",\",234,9,7576,234,16,7583\",\",235,10,7595,235,31,7616\",\",236,26,7644,236,36,7654\",\",236,18,7636,236,37,7655\",\",236,10,7628,236,38,7656\",\",237,10,7668,237,63,7721\",\",238,17,7741,238,25,7749\",\",238,8,7732,238,26,7750\",\",242,9,7921,242,17,7929\",\",242,9,7921,242,30,7942\",\",243,9,7961,243,17,7969\",\",244,57,8028,244,65,8036\",\",244,10,7981,244,66,8037\",\",245,11,8050,245,18,8057\",\",246,12,8071,246,33,8092\",\",247,28,8122,247,38,8132\",\",247,20,8114,247,39,8133\",\",247,12,8106,247,40,8134\",\",248,12,8148,248,53,8189\",\",249,19,8211,249,27,8219\",\",249,10,8202,249,28,8220\",\",251,9,8243,251,17,8251\",\",252,50,8303,252,58,8311\",\",252,10,8263,252,69,8322\",\",253,20,8344,253,28,8352\",\",253,10,8334,253,29,8353\",\",254,11,8366,254,18,8373\",\",255,12,8387,255,27,8402\",\",256,25,8429,256,41,8445\",\",257,15,8462,257,22,8469\",\",258,24,8495,258,37,8508\",\",259,38,8548,259,48,8558\",\",259,24,8534,259,49,8559\",\",260,29,8590,260,37,8598\",\",261,22,8622,261,34,8634\",\",261,36,8636,261,50,8650\",\",261,52,8652,261,64,8664\",\",262,22,8688,262,34,8700\",\",262,36,8702,262,50,8716\",\",262,36,8702,262,54,8720\",\",262,56,8722,262,68,8734\",\",262,56,8722,262,72,8738\",\",260,20,8581,262,73,8739\",\",256,12,8416,263,24,8764\",\",264,12,8778,264,46,8812\",\",265,25,8839,265,43,8857\",\",265,46,8860,265,53,8867\",\",265,55,8869,265,66,8880\",\",265,12,8826,265,71,8885\",\",266,19,8907,266,27,8915\",\",266,10,8898,266,28,8916\",\",270,7,8976,270,15,8984\",\",271,55,9041,271,63,9049\",\",271,8,8994,271,64,9050\",\",272,9,9061,272,16,9068\",\",273,10,9080,273,31,9101\",\",274,26,9129,274,36,9139\",\",274,18,9121,274,37,9140\",\",274,10,9113,274,38,9141\",\",275,10,9153,275,51,9194\",\",276,17,9214,276,25,9222\",\",276,8,9205,276,26,9223\",\",280,9,9360,280,17,9368\",\",280,9,9360,280,30,9381\",\",280,52,9403,280,60,9411\",\",280,38,9389,280,61,9412\",\",280,34,9385,280,62,9413\",\",281,9,9424,281,17,9432\",\",282,46,9480,282,54,9488\",\",282,10,9444,282,55,9489\",\",283,11,9502,283,18,9509\",\",283,20,9511,283,59,9550\",\",284,19,9572,284,27,9580\",\",284,10,9563,284,28,9581\",\",285,28,9611,285,36,9619\",\",285,14,9597,285,37,9620\",\",286,34,9656,286,42,9664\",\",286,24,9646,286,43,9665\",\",288,13,9709,288,21,9717\",\",289,43,9762,289,51,9770\",\",289,14,9733,289,62,9781\",\",290,24,9807,290,32,9815\",\",290,14,9797,290,33,9816\",\",291,15,9833,291,22,9840\",\",292,16,9858,292,39,9881\",\",293,29,9912,293,55,9938\",\",293,57,9940,293,73,9956\",\",293,78,9961,293,87,9970\",\",293,57,9940,293,88,9971\",\",293,16,9899,293,92,9975\",\",294,16,9993,294,53,10030\",\",295,29,10061,295,48,10080\",\",295,50,10082,295,57,10089\",\",295,59,10091,295,70,10102\",\",295,59,10091,295,72,10104\",\",295,16,10048,295,76,10108\",\",296,16,10126,296,28,10138\",\",297,23,10164,297,31,10172\",\",297,14,10155,297,32,10173\",\",299,13,10208,299,21,10216\",\",300,43,10261,300,51,10269\",\",300,14,10232,300,61,10279\",\",301,24,10305,301,32,10313\",\",301,14,10295,301,33,10314\",\",302,15,10331,302,22,10338\",\",302,24,10340,302,79,10395\",\",303,23,10421,303,31,10429\",\",303,14,10412,303,32,10430\",\",286,8,9630,304,11,10443\",\",280,6,9357,305,9,10453\",\",308,7,10502,308,15,10510\",\",309,44,10556,309,52,10564\",\",309,8,10520,309,53,10565\",\",310,9,10576,310,16,10583\",\",310,18,10585,310,57,10624\",\",311,17,10644,311,25,10652\",\",311,8,10635,311,26,10653\",\",315,13,10814,315,21,10822\",\",315,13,10814,315,34,10835\",\",315,9,10810,315,35,10836\",\",315,54,10855,315,62,10863\",\",315,40,10841,315,63,10864\",\",316,9,10875,316,17,10883\",\",317,19,10904,317,34,10919\",\",317,19,10904,317,50,10935\",\",317,52,10937,317,60,10945\",\",317,10,10895,317,70,10955\",\",318,20,10977,318,28,10985\",\",318,10,10967,318,29,10986\",\",319,11,10999,319,18,11006\",\",320,12,11020,320,158,11166\",\",322,9,11190,322,17,11198\",\",323,26,11226,323,41,11241\",\",323,26,11226,323,57,11257\",\",323,59,11259,323,67,11267\",\",323,10,11210,323,68,11268\",\",324,11,11281,324,18,11288\",\",325,12,11302,325,158,11448\",\",329,7,11509,329,15,11517\",\",330,24,11543,330,39,11558\",\",330,24,11543,330,55,11574\",\",330,57,11576,330,65,11584\",\",330,8,11527,330,66,11585\",\",331,9,11596,331,16,11603\",\",332,10,11615,332,156,11761\",\",336,6,11904,336,26,11924\",\",339,7,11973,339,15,11981\",\",340,9,11992,340,16,11999\",\",340,18,12001,340,44,12027\",\",340,54,12037,340,66,12049\",\",340,46,12029,340,67,12050\",\",341,9,12062,341,16,12069\",\",341,18,12071,341,48,12101\",\",342,25,12129,342,39,12143\",\",342,8,12112,342,40,12144\",\",346,6,12285,346,26,12305\",\",349,7,12354,349,15,12362\",\",350,9,12373,350,16,12380\",\",350,82,12446,350,95,12459\",\",350,73,12437,350,96,12460\",\",350,26,12390,350,96,12460\",\",350,26,12390,350,104,12468\",\",350,18,12382,350,105,12469\",\",351,15,12487,351,27,12499\",\",351,8,12480,351,28,12500\",\",352,8,12510,352,27,12529\",\",356,9,12666,356,17,12674\",\",356,9,12666,356,30,12687\",\",356,52,12709,356,60,12717\",\",356,38,12695,356,61,12718\",\",356,34,12691,356,62,12719\",\",357,9,12730,357,17,12738\",\",358,60,12800,358,68,12808\",\",358,10,12750,358,69,12809\",\",359,11,12822,359,18,12829\",\",359,20,12831,359,72,12883\",\",361,9,12907,361,17,12915\",\",362,53,12970,362,61,12978\",\",362,10,12927,362,71,12988\",\",363,20,13010,363,28,13018\",\",363,10,13000,363,29,13019\",\",364,11,13032,364,18,13039\",\",364,20,13041,364,72,13093\",\",368,7,13154,368,15,13162\",\",369,58,13222,369,66,13230\",\",369,8,13172,369,67,13231\",\",370,9,13242,370,16,13249\",\",370,18,13251,370,70,13303\",\",374,9,13457,374,17,13465\",\",374,9,13457,374,30,13478\",\",374,52,13500,374,60,13508\",\",374,38,13486,374,61,13509\",\",374,34,13482,374,62,13510\",\",375,9,13521,375,17,13529\",\",376,53,13584,376,61,13592\",\",376,10,13541,376,62,13593\",\",377,11,13606,377,18,13613\",\",378,12,13627,378,51,13666\",\",379,28,13696,379,38,13706\",\",379,20,13688,379,39,13707\",\",379,12,13680,379,40,13708\",\",380,10,13721,380,29,13740\",\",381,28,13770,381,36,13778\",\",381,14,13756,381,37,13779\",\",382,34,13815,382,42,13823\",\",382,24,13805,382,43,13824\",\",384,25,13876,387,15,13977\",\",388,13,13991,388,21,13999\",\",389,50,14051,389,58,14059\",\",389,14,14015,389,69,14070\",\",390,24,14096,390,32,14104\",\",390,14,14086,390,33,14105\",\",391,15,14122,391,22,14129\",\",392,16,14147,392,31,14162\",\",393,29,14193,393,49,14213\",\",393,51,14215,393,58,14222\",\",393,60,14224,393,67,14231\",\",393,60,14224,393,69,14233\",\",393,16,14180,393,74,14238\",\",394,16,14256,394,62,14302\",\",395,30,14334,395,41,14345\",\",395,43,14347,395,66,14370\",\",396,36,14408,396,46,14418\",\",396,28,14400,396,47,14419\",\",396,20,14392,396,48,14420\",\",397,19,14442,397,26,14449\",\",397,28,14451,397,43,14466\",\",395,16,14320,397,48,14471\",\",398,16,14489,398,28,14501\",\",399,23,14527,399,31,14535\",\",399,14,14518,399,32,14536\",\",401,13,14571,401,21,14579\",\",402,50,14631,402,58,14639\",\",402,14,14595,402,69,14650\",\",403,24,14676,403,32,14684\",\",403,14,14666,403,33,14685\",\",404,15,14702,404,22,14709\",\",405,16,14727,405,87,14798\",\",406,32,14832,406,42,14842\",\",406,24,14824,406,43,14843\",\",406,16,14816,406,44,14844\",\",407,16,14862,407,28,14874\",\",408,23,14900,408,31,14908\",\",408,14,14891,408,32,14909\",\",382,8,13789,409,11,14922\",\",411,9,14944,411,17,14952\",\",412,53,15007,412,61,15015\",\",412,10,14964,412,62,15016\",\",413,11,15029,413,18,15036\",\",414,12,15050,414,83,15121\",\",415,28,15151,415,38,15161\",\",415,20,15143,415,39,15162\",\",415,12,15135,415,40,15163\",\",416,12,15177,416,24,15189\",\",417,19,15211,417,27,15219\",\",417,10,15202,417,28,15220\",\",421,7,15280,421,15,15288\",\",422,51,15341,422,59,15349\",\",422,8,15298,422,60,15350\",\",423,9,15361,423,16,15368\",\",424,10,15380,424,81,15451\",\",425,26,15479,425,36,15489\",\",425,18,15471,425,37,15490\",\",425,10,15463,425,38,15491\",\",426,10,15503,426,22,15515\",\",427,17,15535,427,25,15543\",\",427,8,15526,427,26,15544\",\",431,9,15711,431,22,15724\",\",431,9,15711,431,35,15737\",\",431,57,15759,431,70,15772\",\",431,43,15745,431,71,15773\",\",431,39,15741,431,72,15774\",\",432,9,15785,432,17,15793\",\",433,53,15848,433,66,15861\",\",433,10,15805,433,67,15862\",\",434,20,15884,434,33,15897\",\",434,10,15874,434,34,15898\",\",435,11,15911,435,18,15918\",\",436,12,15932,436,79,15999\",\",438,9,16023,438,17,16031\",\",439,46,16079,439,59,16092\",\",439,10,16043,439,70,16103\",\",440,20,16125,440,33,16138\",\",440,10,16115,440,34,16139\",\",441,11,16152,441,18,16159\",\",442,12,16173,442,27,16188\",\",443,25,16215,443,45,16235\",\",443,48,16238,443,55,16245\",\",443,57,16247,443,72,16262\",\",443,12,16202,443,77,16267\",\",444,12,16281,444,66,16335\",\",448,7,16396,448,15,16404\",\",449,51,16457,449,64,16470\",\",449,8,16414,449,65,16471\",\",450,9,16482,450,16,16489\",\",451,10,16501,451,77,16568\",\",455,9,16754,455,17,16762\",\",455,9,16754,455,30,16775\",\",455,52,16797,455,60,16805\",\",455,38,16783,455,61,16806\",\",455,34,16779,455,62,16807\",\",456,9,16818,456,17,16826\",\",457,53,16881,457,61,16889\",\",457,10,16838,457,62,16890\",\",458,11,16903,458,18,16910\",\",459,12,16924,459,70,16982\",\",461,9,17006,461,17,17014\",\",462,46,17062,462,54,17070\",\",462,10,17026,462,64,17080\",\",463,20,17102,463,28,17110\",\",463,10,17092,463,29,17111\",\",464,11,17124,464,18,17131\",\",464,20,17133,464,78,17191\",\",468,7,17252,468,15,17260\",\",469,51,17313,469,59,17321\",\",469,8,17270,469,60,17322\",\",470,9,17333,470,16,17340\",\",471,10,17352,471,68,17410\",\",475,9,17569,475,17,17577\",\",475,9,17569,475,30,17590\",\",476,9,17601,476,17,17609\",\",477,53,17664,477,61,17672\",\",477,10,17621,477,62,17673\",\",478,11,17686,478,18,17693\",\",478,20,17695,478,67,17742\",\",479,19,17764,479,31,17776\",\",479,10,17755,479,32,17777\",\",480,28,17807,480,36,17815\",\",480,14,17793,480,37,17816\",\",481,34,17852,481,42,17860\",\",481,24,17842,481,43,17861\",\",483,13,17901,483,21,17909\",\",484,50,17961,484,58,17969\",\",484,14,17925,484,69,17980\",\",485,24,18006,485,32,18014\",\",485,14,17996,485,33,18015\",\",486,15,18032,486,22,18039\",\",487,16,18057,487,31,18072\",\",488,29,18103,488,49,18123\",\",488,52,18126,488,59,18133\",\",488,61,18135,488,68,18142\",\",488,61,18135,488,70,18144\",\",488,16,18090,488,75,18149\",\",489,16,18167,489,50,18201\",\",490,23,18227,490,35,18239\",\",490,14,18218,490,36,18240\",\",492,13,18280,492,21,18288\",\",493,50,18340,493,58,18348\",\",493,14,18304,493,68,18358\",\",494,24,18384,494,32,18392\",\",494,14,18374,494,33,18393\",\",495,15,18410,495,22,18417\",\",495,24,18419,495,71,18466\",\",496,23,18492,496,35,18504\",\",496,14,18483,496,36,18505\",\",481,8,17826,497,11,18518\",\",499,9,18540,499,17,18548\",\",500,53,18603,500,61,18611\",\",500,10,18560,500,62,18612\",\",501,11,18625,501,18,18632\",\",501,20,18634,501,67,18681\",\",502,19,18703,502,31,18715\",\",502,10,18694,502,32,18716\",\",506,7,18776,506,15,18784\",\",507,51,18837,507,59,18845\",\",507,8,18794,507,60,18846\",\",508,9,18857,508,16,18864\",\",508,18,18866,508,65,18913\",\",509,17,18933,509,29,18945\",\",509,8,18924,509,30,18946\",\",513,9,19107,513,17,19115\",\",513,9,19107,513,30,19128\",\",514,9,19139,514,17,19147\",\",515,53,19202,515,61,19210\",\",515,10,19159,515,62,19211\",\",516,11,19224,516,18,19231\",\",517,12,19246,517,52,19286\",\",518,29,19317,518,37,19325\",\",518,12,19300,518,38,19326\",\",519,12,19340,519,58,19386\",\",520,34,19422,520,44,19432\",\",520,20,19408,520,45,19433\",\",520,20,19408,520,52,19440\",\",520,12,19400,520,53,19441\",\",521,19,19463,521,27,19471\",\",521,10,19454,521,28,19472\",\",522,28,19502,522,36,19510\",\",522,14,19488,522,37,19511\",\",523,34,19547,523,42,19555\",\",523,24,19537,523,43,19556\",\",525,13,19596,525,21,19604\",\",526,50,19656,526,58,19664\",\",526,14,19620,526,69,19675\",\",527,24,19701,527,32,19709\",\",527,14,19691,527,33,19710\",\",528,15,19727,528,22,19734\",\",528,14,19726,535,65,20134\",\",529,16,19752,529,31,19767\",\",530,29,19798,530,49,19818\",\",530,52,19821,530,59,19828\",\",530,61,19830,530,68,19837\",\",530,61,19830,530,70,19839\",\",530,16,19785,530,75,19844\",\",531,16,19862,531,43,19889\",\",532,33,19924,532,41,19932\",\",532,16,19907,532,42,19933\",\",533,16,19951,533,52,19987\",\",534,29,20018,534,48,20037\",\",534,51,20040,534,58,20047\",\",534,60,20049,534,73,20062\",\",534,16,20005,534,78,20067\",\",535,45,20114,535,55,20124\",\",535,31,20100,535,56,20125\",\",535,24,20093,535,56,20125\",\",535,24,20093,535,63,20132\",\",535,16,20085,535,64,20133\",\",536,23,20159,536,31,20167\",\",536,14,20150,536,32,20168\",\",538,13,20208,538,21,20216\",\",539,50,20268,539,58,20276\",\",539,14,20232,539,68,20286\",\",540,24,20312,540,32,20320\",\",540,14,20302,540,33,20321\",\",541,15,20338,541,22,20345\",\",542,16,20364,542,56,20404\",\",543,33,20439,543,41,20447\",\",543,16,20422,543,42,20448\",\",544,16,20466,544,62,20512\",\",545,38,20552,545,48,20562\",\",545,24,20538,545,49,20563\",\",545,24,20538,545,56,20570\",\",545,16,20530,545,57,20571\",\",546,23,20597,546,31,20605\",\",546,14,20588,546,32,20606\",\",523,8,19521,547,11,20619\",\",549,9,20641,549,17,20649\",\",550,53,20704,550,61,20712\",\",550,10,20661,550,62,20713\",\",551,11,20726,551,18,20733\",\",552,12,20748,552,68,20804\",\",553,29,20835,553,37,20843\",\",553,12,20818,553,38,20844\",\",554,12,20858,554,58,20904\",\",555,34,20940,555,44,20950\",\",555,20,20926,555,45,20951\",\",555,20,20926,555,52,20958\",\",555,12,20918,555,53,20959\",\",556,19,20981,556,27,20989\",\",556,10,20972,556,28,20990\",\",560,7,21050,560,15,21058\",\",561,51,21111,561,59,21119\",\",561,8,21068,561,60,21120\",\",562,9,21131,562,16,21138\",\",563,10,21151,563,66,21207\",\",564,27,21236,564,35,21244\",\",564,10,21219,564,36,21245\",\",565,10,21257,565,56,21303\",\",566,32,21337,566,42,21347\",\",566,18,21323,566,43,21348\",\",566,18,21323,566,50,21355\",\",566,10,21315,566,51,21356\",\",567,17,21376,567,25,21384\",\",567,8,21367,567,26,21385\",\",571,9,21524,571,17,21532\",\",571,9,21524,571,30,21545\",\",572,9,21556,572,17,21564\",\",573,11,21577,573,18,21584\",\",574,12,21598,574,54,21640\",\",575,19,21661,575,27,21669\",\",575,12,21654,575,28,21670\",\",576,12,21684,576,80,21752\",\",577,19,21774,577,31,21786\",\",577,10,21765,577,32,21787\",\",578,10,21799,578,29,21818\",\",579,28,21848,579,36,21856\",\",579,14,21834,579,37,21857\",\",580,34,21893,580,42,21901\",\",580,24,21883,580,43,21902\",\",582,13,21942,582,21,21950\",\",583,50,22002,583,58,22010\",\",583,14,21966,583,69,22021\",\",584,24,22047,584,32,22055\",\",584,14,22037,584,33,22056\",\",585,15,22073,585,22,22080\",\",585,24,22082,585,90,22148\",\",586,23,22174,586,35,22186\",\",586,14,22165,586,36,22187\",\",588,13,22227,588,21,22235\",\",589,15,22252,589,22,22259\",\",590,16,22277,590,58,22319\",\",591,23,22344,591,31,22352\",\",591,16,22337,591,32,22353\",\",592,16,22371,592,83,22438\",\",593,23,22464,593,35,22476\",\",593,14,22455,593,36,22477\",\",580,8,21867,594,11,22490\",\",596,9,22512,596,17,22520\",\",597,11,22533,597,18,22540\",\",598,12,22554,598,54,22596\",\",599,19,22617,599,27,22625\",\",599,12,22610,599,28,22626\",\",600,12,22640,600,79,22707\",\",601,19,22729,601,31,22741\",\",601,10,22720,601,32,22742\",\",605,9,22804,605,17,22812\",\",605,9,22804,605,30,22825\",\",606,9,22836,606,17,22844\",\",607,11,22857,607,18,22864\",\",608,12,22878,608,54,22920\",\",609,19,22941,609,27,22949\",\",609,12,22934,609,28,22950\",\",610,12,22964,610,87,23039\",\",611,19,23061,611,31,23073\",\",611,10,23052,611,32,23074\",\",612,10,23086,612,29,23105\",\",614,9,23128,614,17,23136\",\",615,11,23149,615,18,23156\",\",616,12,23170,616,54,23212\",\",617,19,23233,617,27,23241\",\",617,12,23226,617,28,23242\",\",618,12,23256,618,87,23331\",\",619,19,23353,619,31,23365\",\",619,10,23344,619,32,23366\",\",624,9,23534,624,17,23542\",\",624,9,23534,624,30,23555\",\",625,9,23566,625,17,23574\",\",626,11,23587,626,18,23594\",\",626,10,23586,633,25,23935\",\",627,12,23608,627,43,23639\",\",628,19,23660,628,27,23668\",\",628,12,23653,628,28,23669\",\",629,12,23683,629,40,23711\",\",630,29,23742,630,47,23760\",\",630,12,23725,630,48,23761\",\",631,12,23775,631,105,23868\",\",632,29,23899,632,37,23907\",\",632,12,23882,632,38,23908\",\",633,12,23922,633,24,23934\",\",634,19,23956,634,27,23964\",\",634,10,23947,634,28,23965\",\",635,10,23977,635,29,23996\",\",636,28,24026,636,36,24034\",\",636,14,24012,636,37,24035\",\",637,34,24071,637,42,24079\",\",637,24,24061,637,43,24080\",\",639,13,24120,639,21,24128\",\",640,40,24170,640,48,24178\",\",640,14,24144,640,59,24189\",\",641,24,24215,641,32,24223\",\",641,14,24205,641,33,24224\",\",642,15,24241,642,22,24248\",\",642,14,24240,648,29,24598\",\",643,16,24266,643,42,24292\",\",644,41,24335,644,59,24353\",\",644,29,24323,644,60,24354\",\",644,62,24356,644,72,24366\",\",644,77,24371,644,80,24374\",\",644,62,24356,644,81,24375\",\",644,16,24310,644,85,24379\",\",645,16,24397,645,90,24471\",\",646,16,24489,646,47,24520\",\",647,33,24555,647,44,24566\",\",647,16,24538,647,45,24567\",\",648,16,24585,648,28,24597\",\",649,23,24623,649,31,24631\",\",649,14,24614,649,32,24632\",\",651,13,24672,651,21,24680\",\",652,40,24722,652,48,24730\",\",652,14,24696,652,58,24740\",\",653,24,24766,653,32,24774\",\",653,14,24756,653,33,24775\",\",654,15,24792,654,22,24799\",\",655,16,24817,655,42,24843\",\",656,33,24878,656,51,24896\",\",656,16,24861,656,52,24897\",\",657,16,24915,657,109,25008\",\",658,33,25043,658,44,25054\",\",658,16,25026,658,45,25055\",\",659,16,25073,659,28,25085\",\",660,23,25111,660,31,25119\",\",660,14,25102,660,32,25120\",\",637,8,24045,661,11,25133\",\",663,9,25155,663,17,25163\",\",664,11,25176,664,18,25183\",\",664,10,25175,671,25,25527\",\",665,12,25197,665,43,25228\",\",666,19,25249,666,27,25257\",\",666,12,25242,666,28,25258\",\",667,12,25272,667,40,25300\",\",668,29,25331,668,47,25349\",\",668,12,25314,668,48,25350\",\",669,12,25364,669,105,25457\",\",670,29,25488,670,40,25499\",\",670,12,25471,670,41,25500\",\",671,12,25514,671,24,25526\",\",672,19,25548,672,27,25556\",\",672,10,25539,672,28,25557\",\",676,9,25619,676,17,25627\",\",676,9,25619,676,30,25640\",\",677,9,25651,677,17,25659\",\",678,11,25672,678,18,25679\",\",678,10,25671,685,25,26023\",\",679,12,25693,679,43,25724\",\",680,19,25745,680,27,25753\",\",680,12,25738,680,28,25754\",\",681,12,25768,681,40,25796\",\",682,29,25827,682,47,25845\",\",682,12,25810,682,48,25846\",\",683,12,25860,683,105,25953\",\",684,29,25984,684,40,25995\",\",684,12,25967,684,41,25996\",\",685,12,26010,685,24,26022\",\",686,19,26044,686,27,26052\",\",686,10,26035,686,28,26053\",\",687,10,26065,687,29,26084\",\",689,9,26107,689,17,26115\",\",690,11,26128,690,18,26135\",\",690,10,26127,697,25,26490\",\",691,12,26149,691,43,26180\",\",692,19,26201,692,27,26209\",\",692,12,26194,692,28,26210\",\",693,12,26224,693,40,26252\",\",694,29,26283,694,47,26301\",\",694,12,26266,694,48,26302\",\",695,12,26316,695,116,26420\",\",696,29,26451,696,40,26462\",\",696,12,26434,696,41,26463\",\",697,12,26477,697,24,26489\",\",698,19,26511,698,27,26519\",\",698,10,26502,698,28,26520\",\",703,9,26690,703,17,26698\",\",703,9,26690,703,30,26711\",\",704,9,26722,704,17,26730\",\",705,42,26774,705,50,26782\",\",705,10,26742,705,51,26783\",\",706,11,26796,706,18,26803\",\",706,20,26805,706,63,26848\",\",707,19,26870,707,31,26882\",\",707,10,26861,707,32,26883\",\",708,28,26913,708,36,26921\",\",708,14,26899,708,37,26922\",\",709,34,26958,709,42,26966\",\",709,24,26948,709,43,26967\",\",711,25,27019,714,15,27120\",\",715,13,27134,715,21,27142\",\",716,50,27194,716,58,27202\",\",716,14,27158,716,69,27213\",\",717,24,27239,717,32,27247\",\",717,14,27229,717,33,27248\",\",718,15,27265,718,22,27272\",\",719,16,27290,719,31,27305\",\",720,29,27336,720,49,27356\",\",720,52,27359,720,59,27366\",\",720,61,27368,720,68,27375\",\",720,61,27368,720,70,27377\",\",720,16,27323,720,75,27382\",\",721,16,27400,721,46,27430\",\",722,23,27456,722,35,27468\",\",722,14,27447,722,36,27469\",\",724,13,27504,724,21,27512\",\",725,50,27564,725,58,27572\",\",725,14,27528,725,69,27583\",\",726,24,27609,726,32,27617\",\",726,14,27599,726,33,27618\",\",727,15,27635,727,22,27642\",\",728,16,27660,728,59,27703\",\",729,23,27729,729,35,27741\",\",729,14,27720,729,36,27742\",\",709,8,26932,730,11,27755\",\",732,9,27777,732,17,27785\",\",733,42,27829,733,50,27837\",\",733,10,27797,733,51,27838\",\",734,11,27851,734,18,27858\",\",734,20,27860,734,63,27903\",\",735,19,27925,735,31,27937\",\",735,10,27916,735,32,27938\",\",739,7,27998,739,15,28006\",\",740,41,28049,740,49,28057\",\",740,8,28016,740,50,28058\",\",741,9,28069,741,16,28076\",\",741,18,28078,741,61,28121\",\",742,17,28141,742,29,28153\",\",742,8,28132,742,30,28154\",\",746,9,28296,746,17,28304\",\",746,9,28296,746,30,28317\",\",747,9,28328,747,17,28336\",\",748,57,28395,748,65,28403\",\",748,10,28348,748,66,28404\",\",749,11,28417,749,18,28424\",\",749,20,28426,749,63,28469\",\",750,19,28491,750,31,28503\",\",750,10,28482,750,32,28504\",\",751,28,28534,751,36,28542\",\",751,14,28520,751,37,28543\",\",752,34,28579,752,42,28587\",\",752,24,28569,752,43,28588\",\",754,25,28640,757,15,28744\",\",758,13,28758,758,21,28766\",\",759,54,28822,759,62,28830\",\",759,14,28782,759,73,28841\",\",760,24,28867,760,32,28875\",\",760,14,28857,760,33,28876\",\",761,15,28893,761,22,28900\",\",762,16,28918,762,31,28933\",\",763,29,28964,763,49,28984\",\",763,52,28987,763,59,28994\",\",763,61,28996,763,69,29004\",\",763,61,28996,763,71,29006\",\",763,16,28951,763,76,29011\",\",764,16,29029,764,46,29059\",\",765,23,29085,765,35,29097\",\",765,14,29076,765,36,29098\",\",767,13,29133,767,21,29141\",\",768,54,29197,768,62,29205\",\",768,14,29157,768,73,29216\",\",769,24,29242,769,32,29250\",\",769,14,29232,769,33,29251\",\",770,15,29268,770,22,29275\",\",771,16,29293,771,59,29336\",\",772,23,29362,772,35,29374\",\",772,14,29353,772,36,29375\",\",752,8,28553,773,11,29388\",\",775,9,29410,775,17,29418\",\",776,57,29477,776,65,29485\",\",776,10,29430,776,66,29486\",\",777,11,29499,777,18,29506\",\",777,20,29508,777,63,29551\",\",778,19,29573,778,31,29585\",\",778,10,29564,778,32,29586\",\",782,7,29646,782,15,29654\",\",783,55,29711,783,63,29719\",\",783,8,29664,783,64,29720\",\",784,9,29731,784,16,29738\",\",784,18,29740,784,61,29783\",\",785,17,29803,785,29,29815\",\",785,8,29794,785,30,29816\",\",789,6,29962,789,26,29982\",\",792,7,30040,792,15,30048\",\",793,9,30059,793,16,30066\",\",793,8,30058,796,61,30322\",\",794,10,30078,794,30,30098\",\",794,40,30108,794,55,30123\",\",794,32,30100,794,56,30124\",\",794,58,30126,794,73,30141\",\",794,83,30151,794,99,30167\",\",794,75,30143,794,100,30168\",\",795,10,30180,795,42,30212\",\",795,52,30222,795,60,30230\",\",795,44,30214,795,61,30231\",\",795,63,30233,795,89,30259\",\",796,29,30290,796,37,30298\",\",796,10,30271,796,38,30299\",\",796,40,30301,796,60,30321\",\",797,17,30341,797,27,30351\",\",797,8,30332,797,28,30352\",\",801,6,30501,801,26,30521\",\",804,7,30579,804,15,30587\",\",805,9,30598,805,16,30605\",\",805,8,30597,809,61,30904\",\",806,10,30617,806,29,30636\",\",806,39,30646,806,54,30661\",\",806,31,30638,806,55,30662\",\",806,57,30664,806,70,30677\",\",806,80,30687,806,96,30703\",\",806,72,30679,806,97,30704\",\",807,10,30716,807,28,30734\",\",807,38,30744,807,51,30757\",\",807,30,30736,807,52,30758\",\",807,54,30760,807,80,30786\",\",808,18,30806,808,26,30814\",\",808,10,30798,808,27,30815\",\",808,29,30817,808,53,30841\",\",809,29,30872,809,37,30880\",\",809,10,30853,809,38,30881\",\",809,40,30883,809,60,30903\",\",810,17,30923,810,27,30933\",\",810,8,30914,810,28,30934\",\",814,7,31084,814,15,31092\",\",815,24,31118,815,49,31143\",\",817,15,31185,817,31,31201\",\",818,15,31218,818,26,31229\",\",819,16,31247,819,50,31281\",\",820,17,31300,820,24,31307\",\",821,18,31327,821,58,31367\",\",822,27,31396,822,35,31404\",\",822,18,31387,822,36,31405\",\",823,18,31425,823,53,31460\",\",824,27,31489,824,35,31497\",\",824,18,31480,824,36,31498\",\",825,18,31518,825,36,31536\",\",826,25,31564,826,33,31572\",\",826,16,31555,826,34,31573\",\",827,20,31595,827,38,31613\",\",828,15,31630,828,26,31641\",\",829,16,31659,829,52,31695\",\",830,16,31713,830,30,31727\",\",831,17,31746,831,24,31753\",\",832,18,31773,832,58,31813\",\",833,27,31842,833,35,31850\",\",833,18,31833,833,36,31851\",\",834,18,31871,834,53,31906\",\",835,27,31935,835,35,31943\",\",835,18,31926,835,36,31944\",\",836,18,31964,836,36,31982\",\",837,25,32010,837,33,32018\",\",837,16,32001,837,34,32019\",\",839,15,32054,839,26,32065\",\",840,16,32083,840,50,32117\",\",841,17,32136,841,24,32143\",\",842,18,32163,842,58,32203\",\",843,27,32232,843,35,32240\",\",843,18,32223,843,36,32241\",\",844,18,32261,844,53,32296\",\",845,27,32325,845,35,32333\",\",845,18,32316,845,36,32334\",\",846,18,32354,846,36,32372\",\",847,25,32400,847,33,32408\",\",847,16,32391,847,34,32409\",\",850,13,32460,850,24,32471\",\",851,15,32488,851,22,32495\",\",852,16,32513,852,93,32590\",\",853,25,32617,853,33,32625\",\",853,16,32608,853,34,32626\",\",854,16,32644,854,53,32681\",\",855,25,32708,855,33,32716\",\",855,16,32699,855,34,32717\",\",856,16,32735,856,34,32753\",\",857,23,32779,857,31,32787\",\",857,14,32770,857,32,32788\",\",815,8,31102,858,11,32801\",\",861,7,32852,861,15,32860\",\",864,13,32931,864,24,32942\",\",865,14,32958,865,48,32992\",\",866,15,33009,866,22,33016\",\",867,16,33034,867,60,33078\",\",868,25,33105,868,33,33113\",\",868,16,33096,868,34,33114\",\",869,16,33132,869,53,33169\",\",870,25,33196,870,33,33204\",\",870,16,33187,870,34,33205\",\",871,16,33223,871,34,33241\",\",873,11,33270,873,22,33281\",\",874,13,33296,874,20,33303\",\",875,14,33319,875,91,33396\",\",876,23,33421,876,31,33429\",\",876,14,33412,876,32,33430\",\",877,14,33446,877,51,33483\",\",878,23,33508,878,31,33516\",\",878,14,33499,878,32,33517\",\",879,14,33533,879,32,33551\",\",862,8,32870,879,35,33554\",\",880,17,33573,880,25,33581\",\",880,8,33564,880,26,33582\",\",884,7,33753,884,15,33761\",\",885,24,33787,885,49,33812\",\",887,15,33854,887,31,33870\",\",888,15,33887,888,26,33898\",\",888,14,33886,900,45,34451\",\",889,32,33932,889,43,33943\",\",889,32,33932,889,50,33950\",\",889,53,33953,889,64,33964\",\",889,32,33932,889,64,33964\",\",889,32,33932,889,81,33981\",\",889,16,33916,889,87,33987\",\",890,17,34006,890,24,34013\",\",891,18,34033,891,47,34062\",\",892,25,34090,892,34,34099\",\",892,16,34081,892,35,34100\",\",893,17,34119,893,24,34126\",\",894,18,34146,894,48,34176\",\",895,25,34204,895,34,34213\",\",895,16,34195,895,35,34214\",\",896,17,34233,896,24,34240\",\",897,35,34277,897,46,34288\",\",897,26,34268,897,46,34288\",\",897,26,34268,897,81,34323\",\",897,18,34260,897,82,34324\",\",898,19,34345,898,30,34356\",\",899,20,34378,899,46,34404\",\",900,20,34426,900,42,34448\",\",901,20,34472,901,38,34490\",\",902,30,34522,902,44,34536\",\",904,30,34599,904,38,34607\",\",904,30,34599,904,40,34609\",\",905,30,34640,905,39,34649\",\",905,30,34640,905,41,34651\",\",906,19,34671,906,30,34682\",\",906,18,34670,923,49,35537\",\",907,29,34713,907,40,34724\",\",907,29,34713,907,47,34731\",\",907,50,34734,907,61,34745\",\",907,29,34713,907,61,34745\",\",907,29,34713,907,78,34762\",\",907,20,34704,907,94,34778\",\",908,20,34800,908,34,34814\",\",909,21,34837,909,28,34844\",\",910,22,34868,910,37,34883\",\",911,35,34920,911,55,34940\",\",911,58,34943,911,65,34950\",\",911,22,34907,911,79,34964\",\",912,22,34988,912,38,35004\",\",913,29,35036,913,38,35045\",\",913,20,35027,913,39,35046\",\",914,21,35069,914,28,35076\",\",915,22,35100,915,37,35115\",\",916,35,35152,916,56,35173\",\",916,59,35176,916,66,35183\",\",916,22,35139,916,81,35198\",\",917,22,35222,917,38,35238\",\",918,29,35270,918,38,35279\",\",918,20,35261,918,39,35280\",\",919,21,35303,919,28,35310\",\",920,39,35351,920,50,35362\",\",920,30,35342,920,50,35362\",\",920,30,35342,920,85,35397\",\",920,22,35334,920,86,35398\",\",921,23,35423,921,34,35434\",\",922,24,35460,922,50,35486\",\",923,24,35512,923,46,35534\",\",925,19,35588,925,30,35599\",\",925,18,35587,936,49,36194\",\",926,29,35630,926,40,35641\",\",926,29,35630,926,47,35648\",\",926,50,35651,926,61,35662\",\",926,29,35630,926,61,35662\",\",926,29,35630,926,78,35679\",\",926,20,35621,926,93,35694\",\",927,20,35716,927,34,35730\",\",928,21,35753,928,28,35760\",\",928,30,35762,928,59,35791\",\",929,29,35823,929,38,35832\",\",929,20,35814,929,39,35833\",\",930,21,35856,930,28,35863\",\",930,30,35865,930,60,35895\",\",931,29,35927,931,38,35936\",\",931,20,35918,931,39,35937\",\",932,21,35960,932,28,35967\",\",933,39,36008,933,50,36019\",\",933,30,35999,933,50,36019\",\",933,30,35999,933,85,36054\",\",933,22,35991,933,86,36055\",\",934,23,36080,934,34,36091\",\",935,24,36117,935,50,36143\",\",936,24,36169,936,46,36191\",\",902,14,34506,937,17,36212\",\",939,15,36246,939,26,36257\",\",939,14,36245,949,45,36774\",\",940,32,36291,940,43,36302\",\",940,32,36291,940,50,36309\",\",940,53,36312,940,64,36323\",\",940,32,36291,940,64,36323\",\",940,32,36291,940,81,36340\",\",940,16,36275,940,87,36346\",\",941,17,36365,941,24,36372\",\",941,26,36374,941,55,36403\",\",942,25,36431,942,34,36440\",\",942,16,36422,942,35,36441\",\",943,17,36460,943,24,36467\",\",943,26,36469,943,56,36499\",\",944,25,36527,944,34,36536\",\",944,16,36518,944,35,36537\",\",945,17,36556,945,24,36563\",\",946,35,36600,946,46,36611\",\",946,26,36591,946,46,36611\",\",946,26,36591,946,81,36646\",\",946,18,36583,946,82,36647\",\",947,19,36668,947,30,36679\",\",948,20,36701,948,46,36727\",\",949,20,36749,949,42,36771\",\",952,13,36824,952,24,36835\",\",952,12,36823,967,43,37451\",\",953,15,36852,953,22,36859\",\",954,31,36892,954,42,36903\",\",954,24,36885,954,42,36903\",\",954,24,36885,954,49,36910\",\",954,16,36877,954,50,36911\",\",955,32,36945,955,43,36956\",\",955,24,36937,955,44,36957\",\",955,16,36929,955,45,36958\",\",956,16,36976,956,48,37008\",\",957,15,37026,957,22,37033\",\",958,16,37051,958,45,37080\",\",959,23,37106,959,32,37115\",\",959,14,37097,959,33,37116\",\",960,15,37133,960,22,37140\",\",961,16,37158,961,46,37188\",\",962,23,37214,962,32,37223\",\",962,14,37205,962,33,37224\",\",963,15,37241,963,22,37248\",\",964,33,37283,964,44,37294\",\",964,24,37274,964,44,37294\",\",964,24,37274,964,79,37329\",\",964,16,37266,964,80,37330\",\",965,17,37349,965,28,37360\",\",966,18,37380,966,44,37406\",\",967,18,37426,967,40,37448\",\",885,8,33771,968,11,37463\",\",971,7,37513,971,15,37521\",\",973,13,37585,973,24,37596\",\",973,12,37584,985,43,38125\",\",974,30,37628,974,41,37639\",\",974,30,37628,974,48,37646\",\",974,51,37649,974,62,37660\",\",974,30,37628,974,62,37660\",\",974,30,37628,974,79,37677\",\",974,14,37612,974,85,37683\",\",975,15,37700,975,22,37707\",\",976,16,37725,976,45,37754\",\",977,23,37780,977,32,37789\",\",977,14,37771,977,33,37790\",\",978,15,37807,978,22,37814\",\",979,16,37832,979,46,37862\",\",980,23,37888,980,32,37897\",\",980,14,37879,980,33,37898\",\",981,15,37915,981,22,37922\",\",982,33,37957,982,44,37968\",\",982,24,37948,982,44,37968\",\",982,24,37948,982,79,38003\",\",982,16,37940,982,80,38004\",\",983,17,38023,983,28,38034\",\",984,18,38054,984,44,38080\",\",985,18,38100,985,40,38122\",\",987,11,38152,987,22,38163\",\",987,10,38151,1002,41,38727\",\",988,13,38178,988,20,38185\",\",989,14,38201,989,27,38214\",\",990,30,38246,990,41,38257\",\",990,22,38238,990,42,38258\",\",990,14,38230,990,43,38259\",\",991,14,38275,991,45,38306\",\",992,13,38322,992,20,38329\",\",993,14,38345,993,43,38374\",\",994,21,38398,994,30,38407\",\",994,12,38389,994,31,38408\",\",995,13,38423,995,20,38430\",\",996,14,38446,996,44,38476\",\",997,21,38500,997,30,38509\",\",997,12,38491,997,31,38510\",\",998,13,38525,998,20,38532\",\",999,31,38565,999,42,38576\",\",999,22,38556,999,42,38576\",\",999,22,38556,999,77,38611\",\",999,14,38548,999,78,38612\",\",1000,15,38629,1000,26,38640\",\",1001,16,38658,1001,42,38684\",\",1002,16,38702,1002,38,38724\",\",971,17,37523,1002,42,38728\",\",1006,7,38896,1006,15,38904\",\",1007,24,38930,1007,49,38955\",\",1009,15,38997,1009,31,39013\",\",1010,15,39030,1010,26,39041\",\",1010,14,39029,1019,96,39481\",\",1011,32,39075,1011,43,39086\",\",1011,32,39075,1011,50,39093\",\",1011,53,39096,1011,64,39107\",\",1011,32,39075,1011,64,39107\",\",1011,32,39075,1011,81,39124\",\",1011,16,39059,1011,87,39130\",\",1012,17,39149,1012,24,39156\",\",1013,18,39176,1013,47,39205\",\",1014,25,39233,1014,34,39242\",\",1014,16,39224,1014,35,39243\",\",1015,17,39262,1015,24,39269\",\",1016,18,39289,1016,48,39319\",\",1017,25,39347,1017,34,39356\",\",1017,16,39338,1017,35,39357\",\",1018,17,39376,1018,24,39383\",\",1019,35,39420,1019,46,39431\",\",1019,26,39411,1019,46,39431\",\",1019,26,39411,1019,93,39478\",\",1019,18,39403,1019,94,39479\",\",1020,20,39502,1020,38,39520\",\",1021,30,39552,1021,44,39566\",\",1023,30,39629,1023,38,39637\",\",1023,30,39629,1023,40,39639\",\",1024,30,39670,1024,39,39679\",\",1024,30,39670,1024,41,39681\",\",1025,19,39701,1025,30,39712\",\",1025,18,39700,1039,100,40442\",\",1026,29,39743,1026,40,39754\",\",1026,29,39743,1026,47,39761\",\",1026,50,39764,1026,61,39775\",\",1026,29,39743,1026,61,39775\",\",1026,29,39743,1026,78,39792\",\",1026,20,39734,1026,94,39808\",\",1027,20,39830,1027,34,39844\",\",1028,21,39867,1028,28,39874\",\",1029,22,39898,1029,37,39913\",\",1030,35,39950,1030,55,39970\",\",1030,58,39973,1030,65,39980\",\",1030,22,39937,1030,79,39994\",\",1031,22,40018,1031,38,40034\",\",1032,29,40066,1032,38,40075\",\",1032,20,40057,1032,39,40076\",\",1033,21,40099,1033,28,40106\",\",1034,22,40130,1034,37,40145\",\",1035,35,40182,1035,56,40203\",\",1035,59,40206,1035,66,40213\",\",1035,22,40169,1035,81,40228\",\",1036,22,40252,1036,38,40268\",\",1037,29,40300,1037,38,40309\",\",1037,20,40291,1037,39,40310\",\",1038,21,40333,1038,28,40340\",\",1039,39,40381,1039,50,40392\",\",1039,30,40372,1039,50,40392\",\",1039,30,40372,1039,97,40439\",\",1039,22,40364,1039,98,40440\",\",1041,19,40493,1041,30,40504\",\",1041,18,40492,1049,100,40974\",\",1042,29,40535,1042,40,40546\",\",1042,29,40535,1042,47,40553\",\",1042,50,40556,1042,61,40567\",\",1042,29,40535,1042,61,40567\",\",1042,29,40535,1042,78,40584\",\",1042,20,40526,1042,93,40599\",\",1043,20,40621,1043,34,40635\",\",1044,21,40658,1044,28,40665\",\",1044,30,40667,1044,59,40696\",\",1045,29,40728,1045,38,40737\",\",1045,20,40719,1045,39,40738\",\",1046,21,40761,1046,28,40768\",\",1046,30,40770,1046,60,40800\",\",1047,29,40832,1047,38,40841\",\",1047,20,40823,1047,39,40842\",\",1048,21,40865,1048,28,40872\",\",1049,39,40913,1049,50,40924\",\",1049,30,40904,1049,50,40924\",\",1049,30,40904,1049,97,40971\",\",1049,22,40896,1049,98,40972\",\",1021,14,39536,1050,17,40992\",\",1052,15,41026,1052,26,41037\",\",1052,14,41025,1059,96,41441\",\",1053,32,41071,1053,43,41082\",\",1053,32,41071,1053,50,41089\",\",1053,53,41092,1053,64,41103\",\",1053,32,41071,1053,64,41103\",\",1053,32,41071,1053,81,41120\",\",1053,16,41055,1053,87,41126\",\",1054,17,41145,1054,24,41152\",\",1054,26,41154,1054,55,41183\",\",1055,25,41211,1055,34,41220\",\",1055,16,41202,1055,35,41221\",\",1056,17,41240,1056,24,41247\",\",1056,26,41249,1056,56,41279\",\",1057,25,41307,1057,34,41316\",\",1057,16,41298,1057,35,41317\",\",1058,17,41336,1058,24,41343\",\",1059,35,41380,1059,46,41391\",\",1059,26,41371,1059,46,41391\",\",1059,26,41371,1059,93,41438\",\",1059,18,41363,1059,94,41439\",\",1062,13,41491,1062,24,41502\",\",1062,12,41490,1074,94,42011\",\",1063,15,41519,1063,22,41526\",\",1064,31,41559,1064,42,41570\",\",1064,24,41552,1064,42,41570\",\",1064,24,41552,1064,49,41577\",\",1064,16,41544,1064,50,41578\",\",1065,32,41612,1065,43,41623\",\",1065,24,41604,1065,44,41624\",\",1065,16,41596,1065,45,41625\",\",1066,16,41643,1066,48,41675\",\",1067,15,41693,1067,22,41700\",\",1068,16,41718,1068,45,41747\",\",1069,23,41773,1069,32,41782\",\",1069,14,41764,1069,33,41783\",\",1070,15,41800,1070,22,41807\",\",1071,16,41825,1071,46,41855\",\",1072,23,41881,1072,32,41890\",\",1072,14,41872,1072,33,41891\",\",1073,15,41908,1073,22,41915\",\",1074,33,41950,1074,44,41961\",\",1074,24,41941,1074,44,41961\",\",1074,24,41941,1074,91,42008\",\",1074,16,41933,1074,92,42009\",\",1007,8,38914,1075,11,42023\",\",1078,7,42073,1078,15,42081\",\",1080,13,42145,1080,24,42156\",\",1080,12,42144,1089,94,42578\",\",1081,30,42188,1081,41,42199\",\",1081,30,42188,1081,48,42206\",\",1081,51,42209,1081,62,42220\",\",1081,30,42188,1081,62,42220\",\",1081,30,42188,1081,79,42237\",\",1081,14,42172,1081,85,42243\",\",1082,15,42260,1082,22,42267\",\",1083,16,42285,1083,45,42314\",\",1084,23,42340,1084,32,42349\",\",1084,14,42331,1084,33,42350\",\",1085,15,42367,1085,22,42374\",\",1086,16,42392,1086,46,42422\",\",1087,23,42448,1087,32,42457\",\",1087,14,42439,1087,33,42458\",\",1088,15,42475,1088,22,42482\",\",1089,33,42517,1089,44,42528\",\",1089,24,42508,1089,44,42528\",\",1089,24,42508,1089,91,42575\",\",1089,16,42500,1089,92,42576\",\",1091,11,42605,1091,22,42616\",\",1091,10,42604,1103,92,43079\",\",1092,13,42631,1092,20,42638\",\",1093,14,42654,1093,27,42667\",\",1094,30,42699,1094,41,42710\",\",1094,22,42691,1094,42,42711\",\",1094,14,42683,1094,43,42712\",\",1095,14,42728,1095,45,42759\",\",1096,13,42775,1096,20,42782\",\",1097,14,42798,1097,43,42827\",\",1098,21,42851,1098,30,42860\",\",1098,12,42842,1098,31,42861\",\",1099,13,42876,1099,20,42883\",\",1100,14,42899,1100,44,42929\",\",1101,21,42953,1101,30,42962\",\",1101,12,42944,1101,31,42963\",\",1102,13,42978,1102,20,42985\",\",1103,31,43018,1103,42,43029\",\",1103,22,43009,1103,42,43029\",\",1103,22,43009,1103,89,43076\",\",1103,14,43001,1103,90,43077\",\",1078,17,42083,1103,93,43080\",\",1110,31,43432,1110,34,43435\",\",1110,22,43423,1110,35,43436\",\",1108,8,43328,1113,11,43541\",\",1118,33,43634,1118,46,43647\",\",1117,8,43587,1120,11,43687\",\",1127,25,43915,1127,28,43918\",\",1127,13,43903,1127,29,43919\",\",1131,14,44109,1131,39,44134\",\",1132,26,44161,1132,29,44164\",\",1131,14,44109,1132,30,44165\",\",1133,26,44192,1133,32,44198\",\",1131,14,44109,1133,33,44199\",\",1131,14,44109,1134,27,44227\",\",1125,8,43819,1135,11,44240\",\",1139,16,44297,1139,31,44312\",\",1139,9,44290,1139,32,44313\",\",1140,11,44327,1140,35,44351\",\",1141,11,44365,1141,34,44388\",\",1139,8,44289,1142,40,44430\",\",1145,16,44480,1145,36,44500\",\",1145,9,44473,1145,37,44501\",\",1146,11,44515,1146,35,44539\",\",1147,11,44553,1147,34,44576\",\",1145,8,44472,1148,46,44624\",\",1151,8,44658,1153,19,44733\",\",1154,19,44753,1154,39,44773\",\",1151,8,44658,1154,40,44774\",\",1157,9,44829,1157,16,44836\",\",1158,10,44848,1158,25,44863\",\",1160,10,44894,1160,26,44910\",\",1162,10,44942,1162,22,44954\",\",1166,11,45044,1166,35,45068\",\",1167,13,45083,1167,43,45113\",\",1168,13,45128,1168,24,45139\",\",1169,15,45156,1169,22,45163\",\",1169,14,45155,1176,49,45406\",\",1170,16,45181,1170,31,45196\",\",1172,16,45239,1172,34,45257\",\",1174,16,45301,1174,45,45330\",\",1176,16,45373,1176,48,45405\",\",1177,14,45422,1177,40,45448\",\",1179,13,45479,1179,20,45486\",\",1179,12,45478,1186,47,45715\",\",1180,14,45502,1180,29,45517\",\",1182,14,45556,1182,32,45574\",\",1184,14,45614,1184,43,45643\",\",1186,14,45682,1186,46,45714\",\",1189,13,45757,1189,43,45787\",\",1190,13,45802,1190,24,45813\",\",1191,15,45830,1191,22,45837\",\",1191,14,45829,1198,29,46084\",\",1192,16,45855,1192,31,45870\",\",1194,16,45913,1194,65,45962\",\",1196,16,46005,1196,39,46028\",\",1198,16,46071,1198,28,46083\",\",1199,14,46100,1199,40,46126\",\",1201,13,46157,1201,20,46164\",\",1201,12,46156,1208,27,46397\",\",1202,14,46180,1202,29,46195\",\",1204,14,46234,1204,63,46283\",\",1206,14,46322,1206,37,46345\",\",1208,14,46384,1208,26,46396\",\",1214,9,46491,1214,16,46498\",\",1215,10,46510,1215,23,46523\",\",1217,10,46554,1217,37,46581\",\",1219,10,46612,1219,40,46642\",\",1226,15,46778,1226,32,46795\",\",1229,14,46853,1229,39,46878\",\",1222,17,46672,1231,14,46909\",\",1222,17,46672,1232,27,46937\",\",1238,29,47075,1238,36,47082\",\",1239,17,47111,1239,41,47135\",\",1238,12,47058,1243,18,47212\",\",1234,16,46955,1244,14,47227\",\",1234,16,46955,1245,27,47255\",\",1251,15,47382,1251,33,47400\",\",1254,14,47458,1254,40,47484\",\",1247,15,47272,1256,14,47515\",\",1247,15,47272,1257,27,47543\",\",1263,25,47681,1263,43,47699\",\",1263,46,47702,1263,53,47709\",\",1264,17,47738,1264,41,47762\",\",1263,12,47668,1268,18,47839\",\",1259,16,47561,1269,14,47854\",\",1270,17,47872,1270,35,47890\",\",1259,16,47561,1270,36,47891\",\",1272,7,47900,1272,15,47908\",\",1277,15,48030,1277,26,48041\",\",1278,17,48060,1278,24,48067\",\",1279,18,48087,1279,43,48112\",\",1280,26,48140,1280,57,48171\",\",1280,18,48132,1280,58,48172\",\",1281,18,48192,1281,38,48212\",\",1282,16,48231,1282,34,48249\",\",1273,8,47918,1283,16,48267\",\",1285,13,48301,1285,20,48308\",\",1286,14,48324,1286,65,48375\",\",1273,8,47918,1286,67,48377\",\",1288,18,48424,1288,35,48441\",\",1288,10,48416,1288,36,48442\",\",1289,19,48463,1289,42,48486\",\",1289,10,48454,1289,43,48487\",\",1291,17,48525,1291,39,48547\",\",1291,10,48518,1291,40,48548\",\",1287,8,48387,1291,41,48549\",\",1293,18,48596,1293,49,48627\",\",1293,10,48588,1293,50,48628\",\",1292,8,48559,1294,18,48648\",\",1297,9,48700,1297,24,48715\",\",1297,9,48700,1297,37,48728\",\",1298,9,48739,1298,17,48747\",\",1299,11,48760,1299,18,48767\",\",1300,12,48781,1300,41,48810\",\",1301,19,48831,1301,34,48846\",\",1301,12,48824,1301,35,48847\",\",1302,15,48864,1302,39,48888\",\",1303,14,48904,1303,92,48982\",\",1305,14,49015,1305,121,49122\",\",1307,10,49151,1307,29,49170\",\",1309,9,49193,1309,17,49201\",\",1310,11,49214,1310,18,49221\",\",1311,12,49235,1311,43,49266\",\",1312,19,49287,1312,34,49302\",\",1312,12,49280,1312,35,49303\",\",1313,15,49320,1313,39,49344\",\",1314,14,49360,1314,92,49438\",\",1316,14,49471,1316,121,49578\",\",1322,20,49811,1322,33,49824\",\",1322,20,49811,1322,38,49829\",\",1326,13,49947,1326,26,49960\",\",1326,13,49947,1326,31,49965\",\",1327,13,49980,1327,20,49987\",\",1327,22,49989,1327,38,50005\",\",1327,48,50015,1327,53,50020\",\",1327,22,49989,1327,54,50021\",\",1334,31,50194,1334,34,50197\",\",1334,22,50185,1334,35,50198\",\",1332,8,50090,1335,11,50211\",\",1342,25,50439,1342,28,50442\",\",1342,13,50427,1342,29,50443\",\",1340,8,50343,1343,11,50468\",\",1347,16,50525,1347,31,50540\",\",1347,9,50518,1347,32,50541\",\",1348,11,50555,1348,35,50579\",\",1349,11,50593,1349,34,50616\",\",1347,8,50517,1350,40,50658\",\",1353,16,50708,1353,36,50728\",\",1353,9,50701,1353,37,50729\",\",1354,11,50743,1354,35,50767\",\",1355,11,50781,1355,34,50804\",\",1353,8,50700,1356,46,50852\",\",1359,9,50907,1359,16,50914\",\",1360,10,50926,1360,25,50941\",\",1362,10,50972,1362,26,50988\",\",1364,10,51020,1364,22,51032\",\",1368,25,51136,1368,45,51156\",\",1368,11,51122,1368,46,51157\",\",1369,11,51170,1369,22,51181\",\",1370,13,51196,1370,20,51203\",\",1370,12,51195,1379,27,51470\",\",1371,14,51219,1371,29,51234\",\",1373,14,51273,1373,30,51289\",\",1375,14,51329,1375,43,51358\",\",1377,14,51397,1377,35,51418\",\",1379,14,51457,1379,26,51469\",\",1380,22,51494,1380,42,51514\",\",1380,12,51484,1380,43,51515\",\",1382,11,51542,1382,18,51549\",\",1382,10,51541,1389,25,51741\",\",1383,12,51563,1383,27,51578\",\",1385,12,51613,1385,36,51637\",\",1387,12,51672,1387,33,51693\",\",1389,12,51728,1389,24,51740\",\",1394,9,51834,1394,16,51841\",\",1394,8,51833,1401,38,52041\",\",1395,10,51853,1395,23,51866\",\",1397,10,51897,1397,44,51931\",\",1399,10,51965,1399,26,51981\",\",1401,10,52013,1401,37,52040\",\",1408,12,52173,1408,37,52198\",\",1404,17,52070,1409,14,52213\",\",1404,17,52070,1410,27,52241\",\",1416,29,52379,1416,36,52386\",\",1416,12,52362,1416,51,52401\",\",1412,16,52259,1417,14,52416\",\",1412,16,52259,1418,27,52444\",\",1424,12,52568,1424,38,52594\",\",1420,15,52461,1425,14,52609\",\",1420,15,52461,1426,27,52637\",\",1431,25,52741,1431,43,52759\",\",1431,46,52762,1431,53,52769\",\",1431,55,52771,1431,75,52791\",\",1431,12,52728,1431,81,52797\",\",1428,16,52655,1432,14,52812\",\",1433,17,52830,1433,35,52848\",\",1428,16,52655,1433,36,52849\",\",1435,7,52858,1435,15,52866\",\",1440,15,52988,1440,26,52999\",\",1441,17,53018,1441,24,53025\",\",1442,18,53045,1442,43,53070\",\",1443,26,53098,1443,57,53129\",\",1443,18,53090,1443,58,53130\",\",1444,18,53150,1444,38,53170\",\",1445,16,53189,1445,34,53207\",\",1436,8,52876,1446,16,53225\",\",1448,13,53259,1448,20,53266\",\",1449,14,53282,1449,65,53333\",\",1436,8,52876,1449,67,53335\",\",1451,18,53382,1451,35,53399\",\",1451,10,53374,1451,36,53400\",\",1452,34,53436,1452,47,53449\",\",1452,19,53421,1452,48,53450\",\",1452,10,53412,1452,49,53451\",\",1454,30,53502,1454,47,53519\",\",1454,17,53489,1454,48,53520\",\",1454,10,53482,1454,49,53521\",\",1450,8,53345,1454,50,53522\",\",1456,18,53569,1456,49,53600\",\",1456,10,53561,1456,50,53601\",\",1457,17,53620,1457,34,53637\",\",1457,10,53613,1457,35,53638\",\",1458,19,53659,1458,38,53678\",\",1458,10,53650,1458,39,53679\",\",1455,8,53532,1458,40,53680\",\",1461,7,53730,1461,15,53738\",\",1462,9,53749,1462,16,53756\",\",1463,10,53768,1463,48,53806\",\",1464,17,53825,1464,31,53839\",\",1464,10,53818,1464,32,53840\",\",1465,10,53852,1465,78,53920\",\",1466,17,53939,1466,32,53954\",\",1466,10,53932,1466,33,53955\",\",1467,10,53967,1467,22,53979\",\",1468,9,53991,1468,16,53998\",\",1469,10,54010,1469,43,54043\",\",1470,31,54076,1470,44,54089\",\",1470,10,54055,1470,45,54090\",\",1471,10,54102,1471,22,54114\",\",1472,9,54126,1472,16,54133\",\",1473,10,54145,1473,67,54202\",\",1474,23,54227,1474,40,54244\",\",1474,10,54214,1474,41,54245\",\",1475,9,54257,1475,16,54264\",\",1476,10,54276,1476,124,54390\",\",1480,22,54601,1480,39,54618\",\",1480,22,54601,1480,48,54627\",\",1481,20,54648,1481,38,54666\",\",1485,13,54790,1485,31,54808\",\",1486,13,54823,1486,20,54830\",\",1486,22,54832,1486,38,54848\",\",1486,48,54858,1486,53,54863\",\",1486,22,54832,1486,54,54864\",\",1492,49,54998,1492,55,55004\",\",1492,64,55013,1492,70,55019\",\",1492,81,55030,1492,84,55033\",\",1492,72,55021,1492,85,55034\",\",1492,57,55006,1492,86,55035\",\",1493,49,55086,1493,55,55092\",\",1493,64,55101,1493,70,55107\",\",1493,81,55118,1493,84,55121\",\",1493,72,55109,1493,85,55122\",\",1493,57,55094,1493,86,55123\",\",1495,49,55266,1495,55,55272\",\",1495,64,55281,1495,70,55287\",\",1495,73,55290,1495,80,55297\",\",1495,82,55299,1495,85,55302\",\",1495,98,55315,1495,101,55318\",\",1495,89,55306,1495,102,55319\",\",1495,72,55289,1495,102,55319\",\",1495,57,55274,1495,103,55320\",\",1496,49,55371,1496,55,55377\",\",1496,58,55380,1496,65,55387\",\",1496,67,55389,1496,73,55395\",\",1499,13,55486,1499,18,55491\",\",1499,20,55493,1499,25,55498\",\",1499,28,55501,1499,35,55508\",\",1499,37,55510,1499,42,55515\",\",1508,25,55772,1508,28,55775\",\",1508,13,55760,1508,29,55776\",\",1506,8,55676,1509,11,55801\",\",1513,8,55845,1513,33,55870\",\",1517,31,55956,1517,47,55972\",\",1517,20,55945,1517,48,55973\",\",1516,8,55909,1517,49,55974\",\",1516,8,55909,1518,25,56000\",\",1522,11,56073,1522,35,56097\",\",1523,11,56111,1523,34,56134\",\",1521,8,56043,1524,46,56182\",\",1527,16,56232,1527,32,56248\",\",1527,9,56225,1527,33,56249\",\",1528,11,56263,1528,35,56287\",\",1529,11,56301,1529,34,56324\",\",1527,8,56224,1530,45,56371\",\",1533,9,56429,1533,16,56436\",\",1535,18,56477,1535,46,56505\",\",1535,10,56469,1535,47,56506\",\",1537,10,56538,1537,22,56550\",\",1542,11,56678,1542,22,56689\",\",1543,13,56704,1543,20,56711\",\",1543,12,56703,1550,27,56937\",\",1544,14,56727,1544,29,56742\",\",1546,14,56782,1546,53,56821\",\",1548,14,56860,1548,36,56882\",\",1550,14,56924,1550,26,56936\",\",1551,22,56961,1551,38,56977\",\",1551,12,56951,1551,39,56978\",\",1552,30,57010,1552,46,57026\",\",1552,16,56996,1552,47,57027\",\",1553,11,57040,1553,18,57047\",\",1553,10,57039,1560,25,57259\",\",1554,12,57061,1554,27,57076\",\",1556,12,57112,1556,51,57151\",\",1558,12,57186,1558,34,57208\",\",1560,12,57246,1560,24,57258\",\",1562,11,57285,1562,18,57292\",\",1563,12,57306,1563,27,57321\",\",1565,12,57357,1565,61,57406\",\",1567,12,57444,1567,24,57456\",\",1572,9,57566,1572,16,57573\",\",1572,8,57565,1579,38,57790\",\",1573,10,57585,1573,24,57599\",\",1575,10,57645,1575,44,57679\",\",1577,10,57713,1577,26,57729\",\",1579,10,57762,1579,37,57789\",\",1586,12,57934,1586,36,57958\",\",1582,18,57820,1587,14,57973\",\",1582,18,57820,1588,27,58001\",\",1594,25,58161,1594,58,58194\",\",1594,61,58197,1594,68,58204\",\",1594,12,58148,1594,83,58219\",\",1590,31,58034,1595,14,58234\",\",1596,17,58252,1596,39,58274\",\",1590,31,58034,1596,40,58275\",\",1602,25,58421,1602,44,58440\",\",1602,47,58443,1602,54,58450\",\",1602,12,58408,1607,18,58575\",\",1598,17,58294,1608,14,58590\",\",1609,17,58608,1609,36,58627\",\",1598,17,58294,1609,37,58628\",\",1615,12,58756,1615,38,58782\",\",1611,19,58649,1616,14,58797\",\",1611,19,58649,1617,27,58825\",\",1622,25,58929,1622,43,58947\",\",1622,46,58950,1622,53,58957\",\",1622,55,58959,1622,71,58975\",\",1622,12,58916,1622,77,58981\",\",1619,16,58843,1623,14,58996\",\",1624,17,59014,1624,35,59032\",\",1619,16,58843,1624,36,59033\",\",1626,7,59042,1626,15,59050\",\",1631,15,59183,1631,26,59194\",\",1632,17,59213,1632,24,59220\",\",1633,18,59240,1633,34,59256\",\",1635,18,59318,1635,38,59338\",\",1636,16,59357,1636,34,59375\",\",1627,8,59060,1637,16,59393\",\",1639,13,59427,1639,20,59434\",\",1640,14,59450,1640,48,59484\",\",1627,8,59060,1640,50,59486\",\",1641,33,59521,1641,58,59546\",\",1641,23,59511,1641,59,59547\",\",1641,8,59496,1641,70,59558\",\",1645,34,59659,1645,52,59677\",\",1645,21,59646,1645,53,59678\",\",1645,10,59635,1645,54,59679\",\",1646,10,59691,1646,35,59716\",\",1646,54,59735,1646,70,59751\",\",1646,40,59721,1646,71,59752\",\",1642,8,59568,1646,72,59753\",\",1648,21,59826,1648,42,59847\",\",1648,10,59815,1648,43,59848\",\",1649,20,59870,1649,40,59890\",\",1649,10,59860,1649,41,59891\",\",1647,8,59763,1649,42,59892\",\",1652,17,59952,1652,34,59969\",\",1652,17,59952,1652,43,59978\",\",1653,20,59999,1653,33,60012\",\",1654,19,60060,1654,32,60073\",\",1655,23,60135,1655,41,60153\",\",1655,23,60135,1655,46,60158\",\",1664,13,60371,1664,29,60387\",\",1664,13,60371,1664,42,60400\",\",1665,13,60415,1665,21,60423\",\",1666,15,60440,1666,22,60447\",\",1666,24,60449,1666,51,60476\",\",1666,62,60487,1666,80,60505\",\",1666,53,60478,1666,81,60506\",\",1666,91,60516,1666,110,60535\",\",1666,83,60508,1666,111,60536\",\",1667,14,60553,1667,44,60583\",\",1668,15,60600,1668,22,60607\",\",1668,32,60617,1668,54,60639\",\",1668,24,60609,1668,55,60640\",\",1668,57,60642,1668,75,60660\",\",1668,77,60662,1668,93,60678\",\",1669,31,60712,1669,48,60729\",\",1669,14,60695,1669,49,60730\",\",1671,13,60761,1671,21,60769\",\",1671,12,60760,1678,50,61214\",\",1672,15,60786,1672,22,60793\",\",1672,24,60795,1672,51,60822\",\",1672,62,60833,1672,80,60851\",\",1672,53,60824,1672,81,60852\",\",1673,24,60878,1673,70,60924\",\",1673,16,60870,1673,71,60925\",\",1674,33,60961,1674,49,60977\",\",1674,14,60942,1674,50,60978\",\",1675,15,60995,1675,22,61002\",\",1675,24,61004,1675,39,61019\",\",1676,14,61036,1676,44,61066\",\",1677,15,61083,1677,22,61090\",\",1677,32,61100,1677,54,61122\",\",1677,24,61092,1677,55,61123\",\",1677,57,61125,1677,75,61143\",\",1677,77,61145,1677,93,61161\",\",1678,31,61195,1678,48,61212\",\",1678,14,61178,1678,49,61213\",\",1681,9,61251,1681,17,61259\",\",1682,11,61272,1682,18,61279\",\",1682,20,61281,1682,47,61308\",\",1682,58,61319,1682,76,61337\",\",1682,49,61310,1682,77,61338\",\",1682,87,61348,1682,107,61368\",\",1682,79,61340,1682,108,61369\",\",1683,29,61401,1683,45,61417\",\",1683,10,61382,1683,46,61418\",\",1684,11,61431,1684,18,61438\",\",1684,28,61448,1684,50,61470\",\",1684,20,61440,1684,51,61471\",\",1684,53,61473,1684,71,61491\",\",1684,73,61493,1684,89,61509\",\",1685,27,61539,1685,44,61556\",\",1685,10,61522,1685,45,61557\",\",1657,6,60208,1685,47,61559\",\",1690,22,61756,1690,39,61773\",\",1690,22,61756,1690,48,61782\",\",1691,20,61803,1691,38,61821\",\",1692,30,61878,1692,44,61892\",\",1696,13,62021,1696,31,62039\",\",1697,13,62054,1697,20,62061\",\",1697,22,62063,1697,38,62079\",\",1697,48,62089,1697,53,62094\",\",1697,22,62063,1697,54,62095\",\",1703,49,62229,1703,55,62235\",\",1703,64,62244,1703,70,62250\",\",1703,81,62261,1703,84,62264\",\",1703,72,62252,1703,85,62265\",\",1703,57,62237,1703,86,62266\",\",1704,49,62317,1704,55,62323\",\",1704,64,62332,1704,70,62338\",\",1704,81,62349,1704,84,62352\",\",1704,72,62340,1704,85,62353\",\",1704,57,62325,1704,86,62354\",\",1706,49,62497,1706,55,62503\",\",1706,64,62512,1706,70,62518\",\",1706,73,62521,1706,80,62528\",\",1706,82,62530,1706,85,62533\",\",1706,98,62546,1706,101,62549\",\",1706,89,62537,1706,102,62550\",\",1706,72,62520,1706,102,62550\",\",1706,57,62505,1706,103,62551\",\",1707,49,62602,1707,55,62608\",\",1707,58,62611,1707,65,62618\",\",1707,67,62620,1707,73,62626\",\",1710,13,62717,1710,18,62722\",\",1710,20,62724,1710,25,62729\",\",1710,28,62732,1710,35,62739\",\",1710,37,62741,1710,42,62746\",\",1730,14,63238,1730,21,63245\",\",1730,13,63237,1730,50,63274\",\",1730,55,63279,1730,58,63282\",\",1730,13,63237,1730,59,63283\",\",1731,14,63299,1731,30,63315\",\",1732,34,63351,1732,60,63377\",\",1732,65,63382,1732,68,63385\",\",1732,34,63351,1732,69,63386\",\",1732,71,63388,1732,87,63404\",\",1733,64,63470,1733,67,63473\",\",1733,55,63461,1733,68,63474\",\",1733,77,63483,1733,80,63486\",\",1733,70,63476,1733,81,63487\",\",1734,64,63553,1734,67,63556\",\",1734,55,63544,1734,68,63557\",\",1734,77,63566,1734,80,63569\",\",1734,70,63559,1734,81,63570\",\",1735,67,63639,1735,70,63642\",\",1735,58,63630,1735,71,63643\",\",1735,80,63652,1735,83,63655\",\",1735,73,63645,1735,84,63656\",\",1736,73,63731,1736,76,63734\",\",1736,64,63722,1736,77,63735\",\",1736,86,63744,1736,89,63747\",\",1736,79,63737,1736,90,63748\",\",1737,39,63789,1737,46,63796\",\",1737,48,63798,1737,54,63804\",\",1737,48,63798,1737,56,63806\",\",1737,59,63809,1737,75,63825\",\",1738,39,63866,1738,46,63873\",\",1738,48,63875,1738,54,63881\",\",1738,48,63875,1738,56,63883\",\",1738,59,63886,1738,75,63902\",\",1739,39,63943,1739,46,63950\",\",1739,48,63952,1739,54,63958\",\",1739,48,63952,1739,56,63960\",\",1739,59,63963,1739,75,63979\",\",1740,39,64020,1740,46,64027\",\",1740,48,64029,1740,54,64035\",\",1740,48,64029,1740,56,64037\",\",1740,59,64040,1740,75,64056\",\",1741,55,64113,1741,58,64116\",\",1741,46,64104,1741,59,64117\",\",1741,68,64126,1741,71,64129\",\",1741,61,64119,1741,72,64130\",\",1728,8,63177,1742,11,64143\",\",1746,27,64206,1746,43,64222\",\",1746,27,64206,1746,56,64235\",\",1746,8,64187,1746,79,64258\",\",1750,31,64344,1750,47,64360\",\",1750,20,64333,1750,48,64361\",\",1749,8,64297,1750,49,64362\",\",1749,8,64297,1751,25,64388\",\",1755,11,64461,1755,35,64485\",\",1756,11,64499,1756,34,64522\",\",1754,8,64431,1757,46,64570\",\",1760,16,64620,1760,32,64636\",\",1760,9,64613,1760,33,64637\",\",1761,11,64651,1761,35,64675\",\",1762,11,64689,1762,34,64712\",\",1760,8,64612,1763,45,64759\",\",1766,9,64817,1766,16,64824\",\",1768,18,64865,1768,46,64893\",\",1768,10,64857,1768,47,64894\",\",1770,10,64926,1770,22,64938\",\",1775,11,65066,1775,22,65077\",\",1776,13,65092,1776,20,65099\",\",1776,12,65091,1783,27,65340\",\",1777,14,65115,1777,29,65130\",\",1779,22,65178,1779,61,65217\",\",1779,22,65178,1779,67,65223\",\",1779,14,65170,1779,68,65224\",\",1781,14,65263,1781,36,65285\",\",1783,14,65327,1783,26,65339\",\",1784,22,65364,1784,38,65380\",\",1784,12,65354,1784,39,65381\",\",1785,30,65413,1785,46,65429\",\",1785,16,65399,1785,47,65430\",\",1786,11,65443,1786,18,65450\",\",1786,10,65442,1793,25,65677\",\",1787,12,65464,1787,27,65479\",\",1789,20,65523,1789,59,65562\",\",1789,20,65523,1789,65,65568\",\",1789,12,65515,1789,66,65569\",\",1791,12,65604,1791,34,65626\",\",1793,12,65664,1793,24,65676\",\",1795,11,65703,1795,18,65710\",\",1796,12,65724,1796,27,65739\",\",1798,20,65783,1798,59,65822\",\",1798,20,65783,1798,75,65838\",\",1798,12,65775,1798,76,65839\",\",1800,12,65877,1800,24,65889\",\",1805,9,65999,1805,16,66006\",\",1805,8,65998,1812,38,66223\",\",1806,10,66018,1806,24,66032\",\",1808,10,66078,1808,44,66112\",\",1810,10,66146,1810,26,66162\",\",1812,10,66195,1812,37,66222\",\",1819,12,66367,1819,36,66391\",\",1815,18,66253,1820,14,66406\",\",1815,18,66253,1821,27,66434\",\",1827,25,66594,1827,58,66627\",\",1827,61,66630,1827,68,66637\",\",1827,12,66581,1827,83,66652\",\",1823,31,66467,1828,14,66667\",\",1829,17,66685,1829,39,66707\",\",1823,31,66467,1829,40,66708\",\",1835,25,66854,1835,44,66873\",\",1835,47,66876,1835,54,66883\",\",1835,12,66841,1840,18,67008\",\",1831,17,66727,1841,14,67023\",\",1842,17,67041,1842,36,67060\",\",1831,17,66727,1842,37,67061\",\",1848,12,67189,1848,38,67215\",\",1844,19,67082,1849,14,67230\",\",1844,19,67082,1850,27,67258\",\",1855,25,67362,1855,43,67380\",\",1855,46,67383,1855,53,67390\",\",1855,55,67392,1855,71,67408\",\",1855,12,67349,1855,77,67414\",\",1852,16,67276,1856,14,67429\",\",1857,17,67447,1857,35,67465\",\",1852,16,67276,1857,36,67466\",\",1859,7,67475,1859,15,67483\",\",1864,15,67616,1864,26,67627\",\",1865,17,67646,1865,24,67653\",\",1866,18,67673,1866,34,67689\",\",1868,18,67751,1868,38,67771\",\",1869,16,67790,1869,34,67808\",\",1860,8,67493,1870,16,67826\",\",1872,13,67860,1872,20,67867\",\",1873,14,67883,1873,48,67917\",\",1860,8,67493,1873,50,67919\",\",1874,33,67954,1874,58,67979\",\",1874,23,67944,1874,59,67980\",\",1874,8,67929,1874,70,67991\",\",1878,34,68092,1878,52,68110\",\",1878,21,68079,1878,53,68111\",\",1878,10,68068,1878,54,68112\",\",1879,10,68124,1879,35,68149\",\",1879,54,68168,1879,70,68184\",\",1879,40,68154,1879,71,68185\",\",1875,8,68001,1879,72,68186\",\",1881,21,68259,1881,42,68280\",\",1881,10,68248,1881,43,68281\",\",1882,20,68303,1882,40,68323\",\",1882,10,68293,1882,41,68324\",\",1880,8,68196,1882,42,68325\",\",1885,17,68385,1885,34,68402\",\",1885,17,68385,1885,43,68411\",\",1886,20,68432,1886,33,68445\",\",1887,19,68493,1887,32,68506\",\",1888,23,68568,1888,41,68586\",\",1888,23,68568,1888,46,68591\",\",1891,11,68672,1891,27,68688\",\",1891,11,68672,1891,40,68701\",\",1897,13,68799,1897,29,68815\",\",1897,13,68799,1897,42,68828\",\",1898,13,68843,1898,21,68851\",\",1899,15,68868,1899,22,68875\",\",1899,24,68877,1899,51,68904\",\",1899,62,68915,1899,80,68933\",\",1899,53,68906,1899,81,68934\",\",1899,91,68944,1899,110,68963\",\",1899,83,68936,1899,111,68964\",\",1900,14,68981,1900,44,69011\",\",1901,15,69028,1901,22,69035\",\",1901,32,69045,1901,54,69067\",\",1901,24,69037,1901,55,69068\",\",1901,57,69070,1901,75,69088\",\",1901,77,69090,1901,93,69106\",\",1902,31,69140,1902,48,69157\",\",1902,14,69123,1902,49,69158\",\",1904,13,69189,1904,21,69197\",\",1904,12,69188,1911,50,69642\",\",1905,15,69214,1905,22,69221\",\",1905,24,69223,1905,51,69250\",\",1905,62,69261,1905,80,69279\",\",1905,53,69252,1905,81,69280\",\",1906,24,69306,1906,70,69352\",\",1906,16,69298,1906,71,69353\",\",1907,33,69389,1907,49,69405\",\",1907,14,69370,1907,50,69406\",\",1908,15,69423,1908,22,69430\",\",1908,24,69432,1908,39,69447\",\",1909,14,69464,1909,44,69494\",\",1910,15,69511,1910,22,69518\",\",1910,32,69528,1910,54,69550\",\",1910,24,69520,1910,55,69551\",\",1910,57,69553,1910,75,69571\",\",1910,77,69573,1910,93,69589\",\",1911,31,69623,1911,48,69640\",\",1911,14,69606,1911,49,69641\",\",1914,9,69679,1914,17,69687\",\",1915,11,69700,1915,18,69707\",\",1915,20,69709,1915,47,69736\",\",1915,58,69747,1915,76,69765\",\",1915,49,69738,1915,77,69766\",\",1915,87,69776,1915,107,69796\",\",1915,79,69768,1915,108,69797\",\",1916,29,69829,1916,45,69845\",\",1916,10,69810,1916,46,69846\",\",1917,11,69859,1917,18,69866\",\",1917,28,69876,1917,50,69898\",\",1917,20,69868,1917,51,69899\",\",1917,53,69901,1917,71,69919\",\",1917,73,69921,1917,89,69937\",\",1918,27,69967,1918,44,69984\",\",1918,10,69950,1918,45,69985\",\",1890,6,68641,1918,47,69987\",\",1923,22,70155,1923,46,70179\",\",1925,11,70213,1925,19,70221\",\",1925,10,70212,1931,68,70639\",\",1926,12,70235,1926,53,70276\",\",1927,13,70291,1927,20,70298\",\",1927,22,70300,1927,148,70426\",\",1928,13,70442,1928,20,70449\",\",1928,22,70451,1928,50,70479\",\",1929,21,70503,1929,34,70516\",\",1929,12,70494,1929,35,70517\",\",1930,13,70532,1930,20,70539\",\",1930,22,70541,1930,49,70568\",\",1931,47,70618,1931,65,70636\",\",1931,29,70600,1931,66,70637\",\",1931,12,70583,1931,67,70638\",\",1932,18,70658,1932,38,70678\",\",1923,6,70139,1933,9,70688\",\",1936,7,70737,1936,15,70745\",\",1937,9,70756,1937,16,70763\",\",1937,18,70765,1937,135,70882\",\",1938,9,70894,1938,16,70901\",\",1938,18,70903,1938,46,70931\",\",1939,17,70951,1939,30,70964\",\",1939,8,70942,1939,31,70965\",\",1940,9,70976,1940,16,70983\",\",1940,18,70985,1940,45,71012\",\",1941,43,71058,1941,61,71076\",\",1941,25,71040,1941,62,71077\",\",1941,8,71023,1941,63,71078\",\",1946,24,71258,1946,48,71282\",\",1951,15,71369,1951,31,71385\",\",1952,15,71402,1952,26,71413\",\",1953,17,71432,1953,24,71439\",\",1954,18,71459,1954,34,71475\",\",1956,21,71530,1956,32,71541\",\",1956,42,71551,1956,63,71572\",\",1956,34,71543,1956,64,71573\",\",1957,34,71609,1957,55,71630\",\",1958,21,71654,1958,28,71661\",\",1955,18,71495,1958,37,71670\",\",1959,18,71690,1959,38,71710\",\",1960,16,71729,1960,28,71741\",\",1962,15,71776,1962,22,71783\",\",1963,16,71801,1963,30,71815\",\",1964,24,71841,1964,45,71862\",\",1964,16,71833,1964,46,71863\",\",1965,16,71881,1965,41,71906\",\",1966,16,71924,1966,25,71933\",\",1967,16,71951,1967,36,71971\",\",1949,8,71312,1968,17,71990\",\",1970,13,72024,1970,20,72031\",\",1971,14,72047,1971,28,72061\",\",1972,22,72085,1972,43,72106\",\",1972,14,72077,1972,44,72107\",\",1973,14,72123,1973,44,72153\",\",1949,8,71312,1973,46,72155\",\",1976,8,72184,1976,81,72257\",\",1979,48,72382,1979,64,72398\",\",1979,67,72401,1979,74,72408\",\",1979,35,72369,1979,83,72417\",\",1978,20,72322,1979,85,72419\",\",1980,27,72447,1980,43,72463\",\",1978,20,72322,1980,44,72464\",\",1981,15,72480,1981,22,72487\",\",1981,14,72479,1990,29,72840\",\",1982,16,72505,1982,31,72520\",\",1984,16,72559,1984,32,72575\",\",1985,27,72604,1985,40,72617\",\",1985,16,72593,1985,41,72618\",\",1986,16,72636,1986,33,72653\",\",1987,29,72684,1987,40,72695\",\",1987,16,72671,1987,41,72696\",\",1988,16,72714,1988,33,72731\",\",1989,29,72762,1989,48,72781\",\",1989,51,72784,1989,58,72791\",\",1989,60,72793,1989,71,72804\",\",1989,16,72749,1989,76,72809\",\",1990,16,72827,1990,28,72839\",\",1976,8,72184,1990,31,72842\",\",1992,13,72876,1992,20,72883\",\",1993,14,72899,1993,39,72924\",\",1994,25,72951,1994,38,72964\",\",1994,14,72940,1994,39,72965\",\",1995,14,72981,1995,31,72998\",\",1996,27,73027,1996,38,73038\",\",1996,14,73014,1996,39,73039\",\",1997,14,73055,1997,40,73081\",\",1976,8,72184,1997,42,73083\",\",1999,7,73092,1999,15,73100\",\",2002,17,73160,2002,27,73170\",\",2002,8,73151,2002,28,73171\",\",2003,9,73182,2003,16,73189\",\",2004,10,73201,2004,25,73216\",\",2005,18,73236,2005,39,73257\",\",2005,10,73228,2005,40,73258\",\",2006,10,73270,2006,111,73371\",\",2009,7,73422,2009,15,73430\",\",2012,13,73497,2012,20,73504\",\",2013,14,73520,2013,28,73534\",\",2014,22,73558,2014,43,73579\",\",2014,14,73550,2014,44,73580\",\",2015,14,73596,2015,39,73621\",\",2016,14,73637,2016,23,73646\",\",2017,14,73662,2017,34,73682\",\",2018,11,73697,2018,18,73704\",\",2019,12,73718,2019,26,73732\",\",2020,20,73754,2020,41,73775\",\",2020,12,73746,2020,42,73776\",\",2021,12,73790,2021,42,73820\",\",2010,8,73440,2021,44,73822\",\",2022,9,73833,2022,16,73840\",\",2023,10,73852,2023,35,73877\",\",2024,21,73900,2024,34,73913\",\",2024,10,73889,2024,35,73914\",\",2025,10,73926,2025,27,73943\",\",2026,23,73968,2026,34,73979\",\",2026,10,73955,2026,35,73980\",\",2027,10,73992,2027,36,74018\",\",2028,17,74038,2028,27,74048\",\",2028,8,74029,2028,28,74049\",\",2029,9,74060,2029,16,74067\",\",2030,10,74079,2030,25,74094\",\",2031,18,74114,2031,39,74135\",\",2031,10,74106,2031,40,74136\",\",2032,10,74148,2032,111,74249\",\",2037,9,74396,2037,17,74404\",\",2037,9,74396,2037,30,74417\",\",2038,9,74428,2038,17,74436\",\",2039,61,74499,2039,69,74507\",\",2039,10,74448,2039,70,74508\",\",2040,11,74521,2040,18,74528\",\",2040,20,74530,2040,70,74580\",\",2041,19,74602,2041,35,74618\",\",2041,10,74593,2041,36,74619\",\",2042,28,74649,2042,36,74657\",\",2042,14,74635,2042,37,74658\",\",2043,34,74694,2043,42,74702\",\",2043,24,74684,2043,43,74703\",\",2045,13,74743,2045,21,74751\",\",2046,58,74811,2046,66,74819\",\",2046,14,74767,2046,77,74830\",\",2047,24,74856,2047,32,74864\",\",2047,14,74846,2047,33,74865\",\",2048,15,74882,2048,22,74889\",\",2049,16,74907,2049,31,74922\",\",2050,29,74953,2050,49,74973\",\",2050,52,74976,2050,59,74983\",\",2052,45,75067,2052,51,75073\",\",2053,54,75128,2053,60,75134\",\",2054,33,75168,2054,38,75173\",\",2050,16,74940,2055,28,75202\",\",2056,16,75220,2056,53,75257\",\",2057,23,75283,2057,39,75299\",\",2057,14,75274,2057,40,75300\",\",2059,13,75340,2059,21,75348\",\",2060,58,75408,2060,66,75416\",\",2060,14,75364,2060,76,75426\",\",2061,24,75452,2061,32,75460\",\",2061,14,75442,2061,33,75461\",\",2062,15,75478,2062,22,75485\",\",2063,16,75503,2063,66,75553\",\",2064,23,75579,2064,39,75595\",\",2064,14,75570,2064,40,75596\",\",2043,8,74668,2065,11,75609\",\",2067,9,75631,2067,17,75639\",\",2068,61,75702,2068,69,75710\",\",2068,10,75651,2068,70,75711\",\",2069,11,75724,2069,18,75731\",\",2069,20,75733,2069,70,75783\",\",2070,19,75805,2070,35,75821\",\",2070,10,75796,2070,36,75822\",\",2074,7,75882,2074,15,75890\",\",2075,59,75951,2075,67,75959\",\",2075,8,75900,2075,68,75960\",\",2076,9,75971,2076,16,75978\",\",2076,18,75980,2076,68,76030\",\",2077,17,76050,2077,33,76066\",\",2077,8,76041,2077,34,76067\",\",2081,9,76205,2081,17,76213\",\",2081,9,76205,2081,30,76226\",\",2082,9,76237,2082,17,76245\",\",2083,11,76258,2083,18,76265\",\",2084,12,76279,2084,38,76305\",\",2085,28,76336,2085,37,76345\",\",2085,20,76328,2085,38,76346\",\",2085,12,76320,2085,39,76347\",\",2086,12,76361,2086,38,76387\",\",2087,19,76408,2087,27,76416\",\",2087,12,76401,2087,28,76417\",\",2088,10,76430,2088,29,76449\",\",2089,28,76479,2089,36,76487\",\",2089,14,76465,2089,37,76488\",\",2090,9,76499,2090,17,76507\",\",2091,11,76520,2091,18,76527\",\",2092,12,76541,2092,27,76556\",\",2093,25,76583,2093,46,76604\",\",2093,49,76607,2093,56,76614\",\",2093,58,76616,2093,66,76624\",\",2093,12,76570,2093,71,76629\",\",2094,20,76652,2094,28,76660\",\",2094,10,76642,2094,29,76661\",\",2095,11,76674,2095,18,76681\",\",2096,12,76695,2096,89,76772\",\",2097,25,76799,2097,40,76814\",\",2097,43,76817,2097,50,76824\",\",2097,52,76826,2097,60,76834\",\",2097,12,76786,2097,65,76839\",\",2098,12,76853,2098,69,76910\",\",2100,9,76934,2100,17,76942\",\",2101,11,76955,2101,18,76962\",\",2102,12,76976,2102,38,77002\",\",2103,28,77033,2103,37,77042\",\",2103,20,77025,2103,38,77043\",\",2103,12,77017,2103,39,77044\",\",2104,12,77058,2104,27,77073\",\",2105,19,77094,2105,27,77102\",\",2105,12,77087,2105,28,77103\",\",2106,12,77117,2106,139,77244\",\",2110,9,77307,2110,17,77315\",\",2110,9,77307,2110,30,77328\",\",2111,9,77339,2111,17,77347\",\",2112,11,77360,2112,18,77367\",\",2113,12,77381,2113,38,77407\",\",2114,28,77438,2114,37,77447\",\",2114,20,77430,2114,38,77448\",\",2114,12,77422,2114,39,77449\",\",2115,12,77463,2115,38,77489\",\",2116,19,77510,2116,27,77518\",\",2116,12,77503,2116,28,77519\",\",2117,10,77532,2117,29,77551\",\",2119,9,77574,2119,17,77582\",\",2120,11,77595,2120,18,77602\",\",2121,12,77616,2121,38,77642\",\",2122,28,77673,2122,37,77682\",\",2122,20,77665,2122,38,77683\",\",2122,12,77657,2122,39,77684\",\",2123,12,77698,2123,27,77713\",\",2124,19,77734,2124,27,77742\",\",2124,12,77727,2124,28,77743\",\",2125,12,77757,2125,139,77884\",\",2130,6,78053,2130,26,78073\",\",2133,7,78122,2133,15,78130\",\",2134,9,78141,2134,16,78148\",\",2135,13,78163,2135,23,78173\",\",2135,13,78163,2135,32,78182\",\",2135,13,78163,2135,37,78187\",\",2135,39,78189,2135,86,78236\",\",2136,39,78276,2136,87,78324\",\",2138,26,78367,2138,36,78377\",\",2138,26,78367,2138,49,78390\",\",2138,8,78349,2138,66,78407\",\",2142,7,78617,2142,15,78625\",\",2143,24,78651,2143,48,78675\",\",2145,15,78717,2145,31,78733\",\",2146,15,78750,2146,26,78761\",\",2147,17,78780,2147,24,78787\",\",2148,18,78808,2148,51,78841\",\",2149,34,78877,2149,50,78893\",\",2149,26,78869,2149,51,78894\",\",2149,18,78861,2149,52,78895\",\",2150,18,78915,2150,34,78931\",\",2151,18,78951,2151,29,78962\",\",2152,18,78982,2152,112,79076\",\",2153,17,79096,2153,24,79103\",\",2154,27,79132,2154,37,79142\",\",2154,18,79123,2154,38,79143\",\",2155,18,79163,2155,64,79209\",\",2156,26,79237,2156,37,79248\",\",2156,18,79229,2156,38,79249\",\",2156,40,79251,2156,52,79263\",\",2157,16,79282,2157,35,79301\",\",2158,20,79323,2158,38,79341\",\",2159,15,79358,2159,26,79369\",\",2160,25,79396,2160,41,79412\",\",2160,16,79387,2160,56,79427\",\",2161,16,79445,2161,30,79459\",\",2162,17,79478,2162,24,79485\",\",2163,18,79505,2163,114,79601\",\",2164,27,79630,2164,37,79640\",\",2164,18,79621,2164,38,79641\",\",2165,18,79661,2165,64,79707\",\",2166,26,79735,2166,37,79746\",\",2166,18,79727,2166,38,79747\",\",2166,40,79749,2166,52,79761\",\",2168,15,79797,2168,26,79808\",\",2169,17,79827,2169,24,79834\",\",2170,18,79855,2170,51,79888\",\",2171,34,79924,2171,50,79940\",\",2171,26,79916,2171,51,79941\",\",2171,18,79908,2171,52,79942\",\",2172,18,79962,2172,34,79978\",\",2173,18,79998,2173,29,80009\",\",2174,18,80029,2174,114,80125\",\",2175,17,80145,2175,24,80152\",\",2176,27,80181,2176,37,80191\",\",2176,18,80172,2176,38,80192\",\",2177,18,80212,2177,64,80258\",\",2178,26,80286,2178,37,80297\",\",2178,18,80278,2178,38,80298\",\",2178,40,80300,2178,52,80312\",\",2181,13,80364,2181,24,80375\",\",2182,15,80392,2182,22,80399\",\",2183,16,80418,2183,49,80451\",\",2184,32,80485,2184,48,80501\",\",2184,24,80477,2184,49,80502\",\",2184,16,80469,2184,50,80503\",\",2185,16,80521,2185,112,80617\",\",2186,15,80635,2186,22,80642\",\",2187,25,80669,2187,35,80679\",\",2187,16,80660,2187,36,80680\",\",2188,16,80698,2188,62,80744\",\",2189,24,80770,2189,35,80781\",\",2189,16,80762,2189,36,80782\",\",2189,38,80784,2189,50,80796\",\",2143,8,78635,2190,11,80810\",\",2195,13,80918,2195,29,80934\",\",2196,13,80949,2196,21,80957\",\",2197,15,80974,2197,22,80981\",\",2198,16,81000,2198,49,81033\",\",2199,32,81067,2199,48,81083\",\",2199,24,81059,2199,49,81084\",\",2199,16,81051,2199,50,81085\",\",2200,16,81103,2200,32,81119\",\",2201,16,81137,2201,27,81148\",\",2202,16,81166,2202,110,81260\",\",2203,15,81278,2203,22,81285\",\",2204,25,81312,2204,35,81322\",\",2204,16,81303,2204,36,81323\",\",2205,16,81341,2205,62,81387\",\",2206,24,81413,2206,35,81424\",\",2206,16,81405,2206,36,81425\",\",2206,38,81427,2206,50,81439\",\",2207,14,81456,2207,33,81475\",\",2209,13,81506,2209,21,81514\",\",2210,15,81531,2210,22,81538\",\",2211,16,81557,2211,49,81590\",\",2212,32,81624,2212,48,81640\",\",2212,24,81616,2212,49,81641\",\",2212,16,81608,2212,50,81642\",\",2213,16,81660,2213,32,81676\",\",2214,16,81694,2214,27,81705\",\",2215,16,81723,2215,110,81817\",\",2216,15,81835,2216,22,81842\",\",2217,25,81869,2217,35,81879\",\",2217,16,81860,2217,36,81880\",\",2218,16,81898,2218,62,81944\",\",2219,24,81970,2219,35,81981\",\",2219,16,81962,2219,36,81982\",\",2219,38,81984,2219,50,81996\",\",2222,9,82035,2222,17,82043\",\",2223,11,82056,2223,18,82063\",\",2224,12,82078,2224,45,82111\",\",2225,28,82141,2225,44,82157\",\",2225,20,82133,2225,45,82158\",\",2225,12,82125,2225,46,82159\",\",2226,12,82173,2226,106,82267\",\",2227,11,82281,2227,18,82288\",\",2228,21,82311,2228,31,82321\",\",2228,12,82302,2228,32,82322\",\",2229,12,82336,2229,58,82382\",\",2230,20,82404,2230,31,82415\",\",2230,12,82396,2230,32,82416\",\",2230,34,82418,2230,46,82430\",\",2193,6,80859,2230,49,82433\",\",2234,6,82590,2234,26,82610\",\",2237,15,82674,2237,26,82685\",\",2238,15,82701,2238,26,82712\",\",2240,10,82734,2240,27,82751\",\",2240,32,82756,2240,49,82773\",\",2243,13,82883,2243,21,82891\",\",2243,12,82882,2250,91,83282\",\",2244,15,82908,2244,22,82915\",\",2244,24,82917,2244,40,82933\",\",2245,15,82951,2245,22,82958\",\",2245,24,82960,2245,53,82989\",\",2246,15,83007,2246,22,83014\",\",2246,24,83016,2246,40,83032\",\",2247,15,83050,2247,22,83057\",\",2247,24,83059,2247,54,83089\",\",2248,15,83107,2248,22,83114\",\",2248,24,83116,2248,40,83132\",\",2249,15,83150,2249,22,83157\",\",2249,24,83159,2249,54,83189\",\",2250,24,83215,2250,41,83232\",\",2250,16,83207,2250,42,83233\",\",2250,44,83235,2250,89,83280\",\",2253,13,83323,2253,24,83334\",\",2253,13,83323,2253,52,83362\",\",2254,13,83377,2254,21,83385\",\",2254,12,83376,2260,100,83802\",\",2255,15,83402,2255,22,83409\",\",2255,24,83411,2255,113,83500\",\",2256,15,83518,2256,22,83525\",\",2256,24,83527,2256,53,83556\",\",2257,15,83574,2257,22,83581\",\",2257,24,83583,2257,40,83599\",\",2258,15,83617,2258,22,83624\",\",2258,24,83626,2258,54,83656\",\",2259,15,83674,2259,22,83681\",\",2259,24,83683,2259,40,83699\",\",2260,15,83717,2260,22,83724\",\",2260,24,83726,2260,62,83764\",\",2260,64,83766,2260,76,83778\",\",2260,78,83780,2260,98,83800\",\",2261,18,83821,2261,41,83844\",\",2261,46,83849,2261,69,83872\",\",2262,12,83886,2262,98,83972\",\",2263,18,83991,2263,41,84014\",\",2264,12,84028,2264,110,84126\",\",2265,18,84145,2265,41,84168\",\",2266,12,84182,2266,110,84280\",\",2253,10,83320,2267,13,84294\",\",2269,11,84327,2269,19,84335\",\",2270,13,84350,2270,20,84357\",\",2270,22,84359,2270,79,84416\",\",2271,13,84432,2271,20,84439\",\",2271,31,84450,2271,42,84461\",\",2271,22,84441,2271,43,84462\",\",2272,13,84478,2272,20,84485\",\",2272,31,84496,2272,42,84507\",\",2272,22,84487,2272,43,84508\",\",2280,24,84825,2280,42,84843\",\",2280,24,84825,2280,44,84845\",\",2282,24,84927,2282,42,84945\",\",2282,24,84927,2282,44,84947\",\",2284,24,85022,2284,31,85029\",\",2286,24,85104,2286,31,85111\",\",2288,24,85195,2288,42,85213\",\",2288,24,85195,2288,44,85215\",\",2290,24,85290,2290,31,85297\",\",2291,25,85324,2291,43,85342\",\",2296,16,85412,2296,34,85430\",\",2296,9,85405,2296,35,85431\",\",2297,11,85445,2297,35,85469\",\",2298,11,85483,2298,34,85506\",\",2296,8,85404,2299,36,85544\",\",2303,43,85637,2303,50,85644\",\",2303,26,85620,2303,62,85656\",\",2302,8,85573,2303,64,85658\",\",2302,8,85573,2304,28,85687\",\",2307,25,85734,2307,40,85749\",\",2307,11,85720,2307,41,85750\",\",2308,27,85779,2308,34,85786\",\",2308,36,85788,2308,51,85803\",\",2308,10,85762,2308,56,85808\",\",2313,7,85861,2313,15,85869\",\",2316,13,85939,2316,24,85950\",\",2317,23,85975,2317,39,85991\",\",2317,23,85975,2317,55,86007\",\",2317,57,86009,2317,75,86027\",\",2317,14,85966,2317,86,86038\",\",2318,24,86064,2318,42,86082\",\",2318,14,86054,2318,43,86083\",\",2314,8,85879,2318,46,86086\",\",2319,54,86141,2319,72,86159\",\",2319,19,86106,2319,73,86160\",\",2314,8,85879,2319,74,86161\",\",2320,9,86172,2320,16,86179\",\",2321,10,86191,2321,25,86206\",\",2322,21,86229,2322,37,86245\",\",2322,10,86218,2322,38,86246\",\",2323,10,86258,2323,50,86298\",\",2324,38,86338,2324,54,86354\",\",2324,30,86330,2324,55,86355\",\",2324,22,86322,2324,56,86356\",\",2324,10,86310,2324,57,86357\",\",2325,10,86369,2325,49,86408\",\",2326,30,86441,2326,42,86453\",\",2326,30,86441,2326,55,86466\",\",2326,30,86441,2326,68,86479\",\",2326,9,86420,2326,69,86480\",\",2329,7,86530,2329,15,86538\",\",2330,43,86583,2330,61,86601\",\",2330,8,86548,2330,62,86602\",\",2331,9,86613,2331,16,86620\",\",2332,10,86632,2332,59,86681\",\",2333,26,86709,2333,42,86725\",\",2333,18,86701,2333,43,86726\",\",2333,10,86693,2333,44,86727\",\",2334,10,86739,2334,49,86778\",\",2335,29,86810,2335,41,86822\",\",2335,29,86810,2335,54,86835\",\",2335,29,86810,2335,67,86848\",\",2335,8,86789,2335,68,86849\",\",2342,24,87146,2342,42,87164\",\",2342,24,87146,2342,44,87166\",\",2344,24,87248,2344,42,87266\",\",2344,24,87248,2344,44,87268\",\",2346,24,87343,2346,31,87350\",\",2348,24,87425,2348,31,87432\",\",2350,24,87516,2350,42,87534\",\",2350,24,87516,2350,44,87536\",\",2352,24,87611,2352,31,87618\",\",2353,34,87654,2353,52,87672\",\",2358,16,87742,2358,34,87760\",\",2358,9,87735,2358,35,87761\",\",2359,11,87775,2359,35,87799\",\",2360,11,87813,2360,34,87836\",\",2358,8,87734,2361,36,87874\",\",2365,43,87967,2365,50,87974\",\",2365,26,87950,2365,62,87986\",\",2364,8,87903,2365,64,87988\",\",2364,8,87903,2366,28,88017\",\",2369,25,88064,2369,40,88079\",\",2369,11,88050,2369,41,88080\",\",2370,27,88109,2370,34,88116\",\",2370,36,88118,2370,51,88133\",\",2370,10,88092,2370,56,88138\",\",2375,7,88191,2375,15,88199\",\",2378,13,88269,2378,24,88280\",\",2379,23,88305,2379,39,88321\",\",2379,23,88305,2379,55,88337\",\",2379,57,88339,2379,75,88357\",\",2379,14,88296,2379,86,88368\",\",2380,24,88394,2380,42,88412\",\",2380,14,88384,2380,43,88413\",\",2376,8,88209,2380,46,88416\",\",2381,54,88471,2381,72,88489\",\",2381,19,88436,2381,73,88490\",\",2376,8,88209,2381,74,88491\",\",2382,9,88502,2382,16,88509\",\",2383,10,88521,2383,25,88536\",\",2384,21,88559,2384,37,88575\",\",2384,10,88548,2384,38,88576\",\",2385,10,88588,2385,49,88627\",\",2386,38,88667,2386,54,88683\",\",2386,30,88659,2386,55,88684\",\",2386,22,88651,2386,56,88685\",\",2386,10,88639,2386,57,88686\",\",2387,10,88698,2387,22,88710\",\",2390,7,88761,2390,15,88769\",\",2391,43,88814,2391,61,88832\",\",2391,8,88779,2391,62,88833\",\",2392,9,88844,2392,16,88851\",\",2393,10,88863,2393,58,88911\",\",2394,26,88939,2394,42,88955\",\",2394,18,88931,2394,43,88956\",\",2394,10,88923,2394,44,88957\",\",2395,10,88969,2395,22,88981\",\",2400,6,89101,2400,26,89121\",\",2403,7,89170,2403,15,89178\",\",2403,17,89180,2403,51,89214\",\",2408,6,89355,2408,26,89375\",\",2410,33,89418,2410,41,89426\",\",2410,44,89429,2410,51,89436\",\",2410,62,89447,2410,72,89457\",\",2410,53,89438,2410,73,89458\",\",2412,18,89510,2412,28,89520\",\",2412,6,89498,2412,29,89521\",\",2417,6,89653,2417,26,89673\",\",2420,7,89722,2420,15,89730\",\",2420,17,89732,2420,45,89760\",\",2420,56,89771,2420,65,89780\",\",2420,47,89762,2420,66,89781\",\",2425,6,89920,2425,26,89940\",\",2428,6,89988,2428,17,89999\",\",87,0,2009,2430,3,90011\",\",88,2,2030,98,7,2557\",\",99,2,2560,129,7,3494\",\",130,2,3497,139,7,3816\",\",140,2,3819,163,7,4760\",\",164,2,4763,201,7,6235\",\",202,2,6238,239,7,7759\",\",240,2,7762,277,7,9232\",\",278,2,9235,312,7,10662\",\",313,2,10665,333,7,11771\",\",334,2,11774,343,7,12153\",\",344,2,12156,353,7,12538\",\",354,2,12541,371,7,13313\",\",372,2,13316,428,7,15553\",\",429,2,15556,452,7,16578\",\",453,2,16581,472,7,17420\",\",473,2,17423,510,7,18955\",\",511,2,18958,568,7,21394\",\",569,2,21397,621,7,23385\",\",622,2,23388,700,7,26540\",\",701,2,26543,743,7,28163\",\",744,2,28166,786,7,29825\",\",787,2,29828,798,7,30361\",\",799,2,30364,811,7,30943\",\",812,2,30946,881,7,33591\",\",882,2,33594,1003,7,38737\",\",1004,2,38740,1104,7,43089\",\",1105,2,43092,1319,7,49614\",\",1320,2,49617,1477,7,54400\",\",1478,2,54403,1686,7,61567\",\",1688,2,61571,1919,7,69995\",\",1921,2,69999,1942,7,71087\",\",1944,2,71091,2033,7,74259\",\",2035,2,74263,2078,7,76076\",\",2079,2,76079,2127,7,77904\",\",2128,2,77907,2139,7,78416\",\",2140,2,78419,2231,7,82441\",\",2232,2,82444,2274,7,84528\",\",2275,2,84531,2336,7,86858\",\",2337,2,86861,2396,7,88991\",\",2398,2,88995,2404,7,89223\",\",2406,2,89231,2413,7,89529\",\",2415,2,89537,2421,7,89790\",\",2423,2,89798,2429,7,90007\",\",2435,23,90142,2435,29,90148\",\",2435,9,90128,2435,30,90149\",\",2435,49,90168,2435,55,90174\",\",2435,35,90154,2435,56,90175\",\",2436,9,90186,2436,17,90194\",\",2437,11,90207,2437,18,90214\",\",2438,12,90228,2438,74,90290\",\",2439,20,90313,2439,26,90319\",\",2439,29,90322,2439,35,90328\",\",2439,20,90313,2439,35,90328\",\",2439,10,90303,2439,36,90329\",\",2440,11,90342,2440,18,90349\",\",2441,12,90363,2441,70,90421\",\",2442,25,90448,2442,55,90478\",\",2442,58,90481,2442,65,90488\",\",2442,67,90490,2442,73,90496\",\",2442,12,90435,2442,78,90501\",\",2443,12,90515,2443,32,90535\",\",2444,25,90562,2444,45,90582\",\",2444,48,90585,2444,55,90592\",\",2444,57,90594,2444,63,90600\",\",2444,12,90549,2444,68,90605\",\",2445,12,90619,2445,24,90631\",\",2447,9,90655,2447,17,90663\",\",2448,11,90676,2448,18,90683\",\",2449,12,90697,2449,48,90733\",\",2449,57,90742,2449,63,90748\",\",2449,66,90751,2449,72,90757\",\",2449,57,90742,2449,72,90757\",\",2449,50,90735,2449,73,90758\",\",2450,12,90772,2450,81,90841\",\",2451,12,90855,2451,63,90906\",\",2455,7,90967,2455,15,90975\",\",2456,9,90986,2456,16,90993\",\",2457,10,91005,2457,46,91041\",\",2457,55,91050,2457,61,91056\",\",2457,64,91059,2457,70,91065\",\",2457,55,91050,2457,70,91065\",\",2457,48,91043,2457,71,91066\",\",2458,10,91078,2458,79,91147\",\",2459,10,91159,2459,61,91210\",\",2463,23,91340,2463,29,91346\",\",2463,9,91326,2463,30,91347\",\",2463,49,91366,2463,55,91372\",\",2463,35,91352,2463,56,91373\",\",2464,9,91384,2464,17,91392\",\",2465,11,91405,2465,18,91412\",\",2466,12,91426,2466,76,91490\",\",2467,20,91513,2467,26,91519\",\",2467,10,91503,2467,27,91520\",\",2468,11,91533,2468,18,91540\",\",2469,25,91567,2469,52,91594\",\",2469,55,91597,2469,62,91604\",\",2469,64,91606,2469,70,91612\",\",2469,12,91554,2469,76,91618\",\",2470,12,91632,2470,55,91675\",\",2471,25,91702,2471,45,91722\",\",2471,48,91725,2471,55,91732\",\",2471,57,91734,2471,63,91740\",\",2471,12,91689,2471,68,91745\",\",2472,12,91759,2472,24,91771\",\",2474,9,91795,2474,17,91803\",\",2475,11,91816,2475,18,91823\",\",2476,12,91837,2476,48,91873\",\",2476,57,91882,2476,63,91888\",\",2476,50,91875,2476,64,91889\",\",2477,12,91903,2477,83,91974\",\",2478,12,91988,2478,45,92021\",\",2482,7,92082,2482,15,92090\",\",2483,9,92101,2483,16,92108\",\",2484,10,92120,2484,46,92156\",\",2484,55,92165,2484,61,92171\",\",2484,64,92174,2484,70,92180\",\",2484,55,92165,2484,70,92180\",\",2484,48,92158,2484,71,92181\",\",2485,10,92193,2485,81,92264\",\",2486,10,92276,2486,44,92310\",\",2490,23,92457,2490,31,92465\",\",2490,9,92443,2490,32,92466\",\",2491,9,92477,2491,17,92485\",\",2492,11,92498,2492,18,92505\",\",2492,20,92507,2492,75,92562\",\",2493,20,92585,2493,28,92593\",\",2493,10,92575,2493,29,92594\",\",2494,11,92607,2494,18,92614\",\",2494,10,92606,2499,82,93089\",\",2494,20,92616,2494,93,92689\",\",2495,12,92703,2495,49,92740\",\",2495,63,92754,2495,90,92781\",\",2495,92,92783,2495,99,92790\",\",2495,101,92792,2495,109,92800\",\",2495,50,92741,2495,113,92804\",\",2496,12,92818,2496,51,92857\",\",2496,61,92867,2496,73,92879\",\",2496,53,92859,2496,74,92880\",\",2497,12,92894,2497,33,92915\",\",2497,43,92925,2497,55,92937\",\",2497,35,92917,2497,56,92938\",\",2498,12,92952,2498,41,92981\",\",2498,51,92991,2498,64,93004\",\",2498,43,92983,2498,65,93005\",\",2499,12,93019,2499,81,93088\",\",2501,9,93112,2501,17,93120\",\",2502,11,93133,2502,18,93140\",\",2502,20,93142,2502,75,93197\",\",2503,19,93218,2503,27,93226\",\",2503,12,93211,2503,28,93227\",\",2504,11,93241,2504,18,93248\",\",2504,10,93240,2509,82,93723\",\",2504,20,93250,2504,93,93323\",\",2505,12,93337,2505,49,93374\",\",2505,63,93388,2505,90,93415\",\",2505,92,93417,2505,99,93424\",\",2505,101,93426,2505,109,93434\",\",2505,50,93375,2505,113,93438\",\",2506,12,93452,2506,51,93491\",\",2506,61,93501,2506,73,93513\",\",2506,53,93493,2506,74,93514\",\",2507,12,93528,2507,33,93549\",\",2507,43,93559,2507,55,93571\",\",2507,35,93551,2507,56,93572\",\",2508,12,93586,2508,41,93615\",\",2508,51,93625,2508,64,93638\",\",2508,43,93617,2508,65,93639\",\",2509,12,93653,2509,81,93722\",\",2513,7,93783,2513,15,93791\",\",2514,9,93802,2514,16,93809\",\",2514,18,93811,2514,73,93866\",\",2514,94,93887,2514,102,93895\",\",2514,75,93868,2514,103,93896\",\",2515,9,93908,2515,16,93915\",\",2515,18,93917,2515,89,93988\",\",2516,9,94000,2516,16,94007\",\",2516,18,94009,2516,72,94063\",\",2517,9,94075,2517,16,94082\",\",2517,8,94074,2520,36,94303\",\",2517,18,94084,2517,55,94121\",\",2517,65,94131,2517,77,94143\",\",2517,57,94123,2517,78,94144\",\",2518,10,94156,2518,31,94177\",\",2518,41,94187,2518,53,94199\",\",2518,33,94179,2518,54,94200\",\",2519,10,94212,2519,39,94241\",\",2519,49,94251,2519,62,94264\",\",2519,41,94243,2519,63,94265\",\",2520,10,94277,2520,35,94302\",\",2521,9,94314,2521,16,94321\",\",2521,18,94323,2521,72,94377\",\",2526,23,94510,2526,31,94518\",\",2526,9,94496,2526,32,94519\",\",2527,9,94530,2527,17,94538\",\",2528,11,94551,2528,18,94558\",\",2528,20,94560,2528,75,94615\",\",2529,20,94638,2529,28,94646\",\",2529,10,94628,2529,29,94647\",\",2530,11,94660,2530,18,94667\",\",2530,20,94669,2530,84,94733\",\",2531,33,94768,2531,46,94781\",\",2531,25,94760,2531,47,94782\",\",2531,49,94784,2531,56,94791\",\",2531,58,94793,2531,66,94801\",\",2531,12,94747,2531,70,94805\",\",2532,12,94819,2532,83,94890\",\",2533,12,94904,2533,105,94997\",\",2535,9,95021,2535,17,95029\",\",2536,11,95042,2536,18,95049\",\",2536,20,95051,2536,75,95106\",\",2537,19,95127,2537,27,95135\",\",2537,12,95120,2537,28,95136\",\",2538,11,95150,2538,18,95157\",\",2538,20,95159,2538,84,95223\",\",2538,94,95233,2538,107,95246\",\",2538,86,95225,2538,108,95247\",\",2539,12,95261,2539,83,95332\",\",2540,12,95346,2540,105,95439\",\",2544,7,95500,2544,15,95508\",\",2545,9,95519,2545,16,95526\",\",2545,18,95528,2545,73,95583\",\",2546,27,95613,2546,35,95621\",\",2546,8,95594,2546,36,95622\",\",2547,9,95633,2547,16,95640\",\",2547,18,95642,2547,82,95706\",\",2547,92,95716,2547,105,95729\",\",2547,84,95708,2547,106,95730\",\",2548,10,95742,2548,81,95813\",\",2549,10,95825,2549,103,95918\",\",2553,23,96036,2553,31,96044\",\",2553,9,96022,2553,32,96045\",\",2554,9,96056,2554,17,96064\",\",2555,11,96078,2555,18,96085\",\",2556,12,96099,2556,59,96146\",\",2557,25,96173,2557,39,96187\",\",2557,41,96189,2557,48,96196\",\",2557,50,96198,2557,58,96206\",\",2557,12,96160,2557,63,96211\",\",2558,12,96225,2558,42,96255\",\",2559,21,96279,2559,29,96287\",\",2559,11,96269,2559,30,96288\",\",2560,11,96301,2560,18,96308\",\",2561,12,96322,2561,123,96433\",\",2563,9,96457,2563,17,96465\",\",2564,11,96479,2564,18,96486\",\",2565,12,96500,2565,67,96555\",\",2566,19,96576,2566,27,96584\",\",2566,12,96569,2566,28,96585\",\",2567,12,96599,2567,144,96731\",\",2571,7,96792,2571,15,96800\",\",2571,18,96803,2571,25,96810\",\",2572,10,96822,2572,74,96886\",\",2573,10,96898,2573,112,97000\",\",2577,23,97134,2577,31,97142\",\",2577,9,97120,2577,32,97143\",\",2578,9,97154,2578,17,97162\",\",2579,11,97176,2579,18,97183\",\",2580,12,97197,2580,47,97232\",\",2581,20,97255,2581,28,97263\",\",2581,10,97245,2581,29,97264\",\",2582,11,97277,2582,18,97284\",\",2583,12,97298,2583,130,97416\",\",2584,20,97438,2584,34,97452\",\",2584,12,97430,2584,35,97453\",\",2585,12,97467,2585,51,97506\",\",2587,9,97530,2587,17,97538\",\",2588,11,97552,2588,18,97559\",\",2589,12,97573,2589,50,97611\",\",2590,19,97632,2590,27,97640\",\",2590,12,97625,2590,28,97641\",\",2591,12,97655,2591,130,97773\",\",2592,20,97795,2592,34,97809\",\",2592,12,97787,2592,35,97810\",\",2593,12,97824,2593,51,97863\",\",2597,7,97924,2597,15,97932\",\",2597,18,97935,2597,33,97950\",\",2598,10,97962,2598,87,98039\",\",2599,29,98070,2599,37,98078\",\",2599,10,98051,2599,38,98079\",\",2600,10,98091,2600,62,98143\",\",2604,23,98270,2604,31,98278\",\",2604,9,98256,2604,32,98279\",\",2605,9,98290,2605,17,98298\",\",2606,11,98312,2606,18,98319\",\",2607,12,98333,2607,27,98348\",\",2608,25,98375,2608,44,98394\",\",2608,47,98397,2608,54,98404\",\",2608,56,98406,2608,64,98414\",\",2608,12,98362,2608,69,98419\",\",2609,20,98442,2609,28,98450\",\",2609,10,98432,2609,29,98451\",\",2610,11,98464,2610,18,98471\",\",2611,12,98485,2611,77,98550\",\",2613,9,98574,2613,17,98582\",\",2614,11,98596,2614,18,98603\",\",2615,12,98617,2615,39,98644\",\",2616,19,98665,2616,27,98673\",\",2616,12,98658,2616,28,98674\",\",2617,12,98688,2617,77,98753\",\",2621,7,98814,2621,15,98822\",\",2621,18,98825,2621,33,98840\",\",2622,10,98852,2622,37,98879\",\",2623,29,98910,2623,37,98918\",\",2623,10,98891,2623,38,98919\",\",2624,10,98931,2624,52,98973\",\",2628,23,99098,2628,31,99106\",\",2628,9,99084,2628,32,99107\",\",2629,9,99118,2629,17,99126\",\",2630,11,99140,2630,18,99147\",\",2631,12,99161,2631,36,99185\",\",2632,20,99208,2632,28,99216\",\",2632,10,99198,2632,29,99217\",\",2633,11,99230,2633,18,99237\",\",2634,12,99251,2634,127,99366\",\",2636,9,99390,2636,17,99398\",\",2637,11,99412,2637,18,99419\",\",2638,12,99433,2638,65,99486\",\",2639,19,99507,2639,27,99515\",\",2639,12,99500,2639,28,99516\",\",2640,12,99530,2640,106,99624\",\",2644,7,99685,2644,15,99693\",\",2644,18,99696,2644,33,99711\",\",2645,10,99723,2645,72,99785\",\",2646,29,99816,2646,37,99824\",\",2646,10,99797,2646,38,99825\",\",2647,10,99837,2647,100,99927\",\",2651,23,100059,2651,30,100066\",\",2651,23,100059,2651,32,100068\",\",2651,9,100045,2651,33,100069\",\",2652,9,100080,2652,17,100088\",\",2653,11,100102,2653,18,100109\",\",2654,12,100123,2654,27,100138\",\",2655,25,100165,2655,52,100192\",\",2655,55,100195,2655,62,100202\",\",2655,64,100204,2655,71,100211\",\",2655,64,100204,2655,73,100213\",\",2655,12,100152,2655,78,100218\",\",2656,20,100241,2656,27,100248\",\",2656,20,100241,2656,29,100250\",\",2656,10,100231,2656,30,100251\",\",2657,11,100264,2657,18,100271\",\",2658,12,100285,2658,46,100319\",\",2659,20,100341,2659,36,100357\",\",2659,12,100333,2659,37,100358\",\",2659,39,100360,2659,54,100375\",\",2659,64,100385,2659,80,100401\",\",2659,56,100377,2659,81,100402\",\",2659,83,100404,2659,101,100422\",\",2660,21,100446,2660,28,100453\",\",2662,15,100502,2662,22,100509\",\",2663,16,100527,2663,61,100572\",\",2663,71,100582,2663,87,100598\",\",2663,63,100574,2663,88,100599\",\",2664,16,100617,2664,96,100697\",\",2666,15,100736,2666,22,100743\",\",2667,16,100761,2667,87,100832\",\",2671,9,100879,2671,17,100887\",\",2672,11,100901,2672,26,100916\",\",2672,10,100900,2676,102,101148\",\",2673,12,100930,2673,47,100965\",\",2674,19,100986,2674,26,100993\",\",2674,19,100986,2674,28,100995\",\",2674,12,100979,2674,29,100996\",\",2675,12,101010,2675,46,101044\",\",2676,20,101066,2676,36,101082\",\",2676,12,101058,2676,37,101083\",\",2676,39,101085,2676,54,101100\",\",2676,64,101110,2676,80,101126\",\",2676,56,101102,2676,81,101127\",\",2676,83,101129,2676,101,101147\",\",2677,21,101171,2677,28,101178\",\",2679,15,101224,2679,22,101231\",\",2680,16,101249,2680,61,101294\",\",2680,71,101304,2680,87,101320\",\",2680,63,101296,2680,88,101321\",\",2681,16,101339,2681,96,101419\",\",2683,15,101458,2683,22,101465\",\",2684,16,101483,2684,87,101554\",\",2690,7,101638,2690,15,101646\",\",2691,9,101658,2691,24,101673\",\",2691,8,101657,2695,100,101907\",\",2692,10,101685,2692,45,101720\",\",2693,29,101751,2693,37,101759\",\",2693,10,101732,2693,38,101760\",\",2694,10,101772,2694,43,101805\",\",2695,18,101825,2695,34,101841\",\",2695,10,101817,2695,35,101842\",\",2695,37,101844,2695,52,101859\",\",2695,62,101869,2695,78,101885\",\",2695,54,101861,2695,79,101886\",\",2695,81,101888,2695,99,101906\",\",2696,9,101918,2696,16,101925\",\",2697,10,101937,2697,81,102008\",\",2701,34,102112,2701,42,102120\",\",2701,34,102112,2701,55,102133\",\",2701,14,102092,2701,55,102133\",\",2701,6,102084,2701,56,102134\",\",2705,83,102288,2705,91,102296\",\",2705,83,102288,2705,104,102309\",\",2705,14,102219,2705,104,102309\",\",2705,6,102211,2705,105,102310\",\",2709,83,102470,2709,91,102478\",\",2709,83,102470,2709,104,102491\",\",2709,14,102401,2709,104,102491\",\",2709,6,102393,2709,105,102492\",\",2712,64,102598,2712,72,102606\",\",2712,64,102598,2712,85,102619\",\",2712,40,102574,2712,85,102619\",\",2712,32,102566,2712,86,102620\",\",2714,62,102718,2714,70,102726\",\",2714,62,102718,2714,83,102739\",\",2714,40,102696,2714,83,102739\",\",2714,32,102688,2714,84,102740\",\",2716,65,102844,2716,73,102852\",\",2716,65,102844,2716,86,102865\",\",2716,40,102819,2716,86,102865\",\",2716,32,102811,2716,87,102866\",\",2718,69,102978,2718,77,102986\",\",2718,69,102978,2718,90,102999\",\",2718,40,102949,2718,90,102999\",\",2718,32,102941,2718,91,103000\",\",2720,58,103090,2720,66,103098\",\",2720,58,103090,2720,79,103111\",\",2720,40,103072,2720,79,103111\",\",2720,32,103064,2720,80,103112\",\",2722,60,103206,2722,68,103214\",\",2722,60,103206,2722,81,103227\",\",2722,40,103186,2722,81,103227\",\",2722,32,103178,2722,82,103228\",\",2432,0,90013,2723,3,103236\",\",2433,2,90032,2460,7,91220\",\",2461,2,91223,2487,7,92320\",\",2488,2,92323,2523,7,94394\",\",2524,2,94397,2550,7,95928\",\",2551,2,95931,2574,7,97010\",\",2575,2,97013,2601,7,98153\",\",2602,2,98156,2625,7,98983\",\",2626,2,98986,2648,7,99937\",\",2649,2,99940,2698,7,102018\",\",2699,2,102021,2702,7,102142\",\",2703,2,102145,2706,7,102318\",\",2707,2,102321,2710,7,102500\",\",2711,2,102503,2712,90,102624\",\",2713,2,102627,2714,88,102744\",\",2715,2,102747,2716,91,102870\",\",2717,2,102873,2718,95,103004\",\",2719,2,103007,2720,84,103116\",\",2721,2,103119,2722,86,103232\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqlC8Bi6C,wBArlC9Bj6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqlCqBk6C,sDArlCrBl6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAmlCOm6C,mDAnlCPn6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6lCg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ArtCXz+C;AAAAA;AAqtCWy+C,kFArtCXz+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAitCe0+C,2EAjtCf1+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAitCe2+C,oEAjtCf3+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCc4+C,sCAluCd5+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAA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;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAw3EKinF,oDAx3ELjnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA23EKknF,0DA33ELlnF;AAAAA;AA23EKknF,iDA33ELlnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAsFDmnF,+CAtFCnnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuFConF,iDAvFDpnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuFConF,8CAvFDpnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkGCqnF,kDAlGDrnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkGCqnF,+CAlGDrnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAiICsnF,uDAjIDtnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAiICsnF,oDAjIDtnF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2ICunF,oDA3IDvnF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2ICunF,iDA3IDvnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAmKCwnF,uDAnKDxnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAmKCwnF,oDAnKDxnF;AAAAA;AAAAA;AAAAA;AAAAA,qBAyMCynF,oDAzMDznF;AAAAA;AAAAA;AAAAA;AAAAA,qBAyMCynF,iDAzMDznF;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OC0nF,+DA/OD1nF;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OC0nF,4DA/OD1nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAqRC2nF,sDArRD3nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAqRC2nF,mDArRD3nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwTC4nF,yDAxTD5nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwTC4nF,sDAxTD5nF;AAAAA;AAAAA;AAAAA;AAAAA,qBA6UC6nF,oDA7UD7nF;AAAAA;AAAAA;AAAAA;AAAAA,qBA6UC6nF,iDA7UD7nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuVC8nF,qDAvVD9nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuVC8nF,kDAvVD9nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAiWC+nF,2DAjWD/nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAiWC+nF,wDAjWD/nF;AAAAA;AAAAA;AAAAA;AAAAA,qBAmXCgoF,qDAnXDhoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAmXCgoF,kDAnXDhoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA4aCioF,wEA5aDjoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA4aCioF,qEA5aDjoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAocCkoF,mEApcDloF;AAAAA;AAAAA;AAAAA;AAAAA,qBAocCkoF,gEApcDloF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwdCmoF,sDAxdDnoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwdCmoF,mDAxdDnoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8fCooF,wDA9fDpoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8fCooF,qDA9fDpoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwjBCqoF,oDAxjBDroF;AAAAA;AAAAA;AAAAA;AAAAA,qBAwjBCqoF,iDAxjBDroF;AAAAA;AAAAA;AAAAA;AAAAA,qBA6mBCsoF,oDA7mBDtoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA6mBCsoF,iDA7mBDtoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA4rBCuoF,uDA5rBDvoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA4rBCuoF,oDA5rBDvoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuuBCwoF,uDAvuBDxoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuuBCwoF,oDAvuBDxoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkxBCyoF,2DAlxBDzoF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkxBCyoF,wDAlxBDzoF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8xBC0oF,oDA9xBD1oF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8xBC0oF,iDA9xBD1oF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2yBC2oF,2DA3yBD3oF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2yBC2oF,wDA3yBD3oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAi3BC4oF,4DAj3BD5oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAi3BC4oF,yDAj3BD5oF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2+BC6oF,yDA3+BD7oF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2+BC6oF,sDA3+BD7oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAglCC8oF,8DAhlCD9oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAglCC8oF,2DAhlCD9oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuyCC+oF,0DAvyCD/oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAuyCC+oF,uDAvyCD/oF;AAAAA;AAAAA;AAAAA;AAAAA,qBAq8CCgpF,gEAr8CDhpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAq8CCgpF,6DAr8CDhpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAupDCipF,oDAvpDDjpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAupDCipF,iDAvpDDjpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAg4DCkpF,yDAh4DDlpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAg4DCkpF,sDAh4DDlpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAu5DCmpF,yDAv5DDnpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAu5DCmpF,sDAv5DDnpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAk/DCopF,sDAl/DDppF;AAAAA;AAAAA;AAAAA;AAAAA,qBAk/DCopF,mDAl/DDppF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8hECqpF,sDA9hEDrpF;AAAAA;AAAAA;AAAAA;AAAAA,qBA8hECqpF,mDA9hEDrpF;AAAAA;AAAAA;AAAAA;AAAAA,qBA+kECspF,yDA/kEDtpF;AAAAA;AAAAA;AAAAA;AAAAA,qBA+kECspF,sDA/kEDtpF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2lECupF,yDA3lEDvpF;AAAAA;AAAAA;AAAAA;AAAAA,qBA2lECupF,sDA3lEDvpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAurECwpF,sDAvrEDxpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAurECwpF,mDAvrEDxpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkuECypF,sDAluEDzpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAkuECypF,mDAluEDzpF;AAAAA;AAAAA;AAAAA;AAAAA,qBAgyEC0pF,sDAhyED1pF;AAAAA;AAAAA;AAAAA;AAAAA,qBAgyEC0pF,mDAhyED1pF;AAAAA;AAAAA;AAAAA;AAAAA,qBA61EC2pF,gDA71ED3pF;AAAAA;AAAAA;AAAAA;AAAAA,qBA61EC2pF,6CA71ED3pF;AAAAA;AAAAA;AAAAA;AAAAA,qBAq2EC4pF,oDAr2ED5pF;AAAAA;AAAAA;AAAAA;AAAAA,qBAq2EC4pF,iDAr2ED5pF;AAAAA;AAAAA;AAAAA;AAAAA,qBA82EC6pF,0CA92ED7pF;AAAAA;AAAAA;AAAAA;AAAAA,qBA82EC6pF,uCA92ED7pF;AAAAA;AAAAA;AAAAA;AAAAA,qBAs3EC8pF,gDAt3ED9pF;AAAAA;AAAAA;AAAAA;AAAAA,qBAs3EC8pF,6CAt3ED9pF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAk4EsB+pF,uBAl4EtB/pF;AAAAA;AAAAA;AAAAA;AAk4EQgqF,+CAl4ERhqF;AAAAA;AAk4EQgqF,6CAl4ERhqF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAk4EgDiqF,uBAl4EhDjqF;AAAAA;AAAAA;AAAAA;AAk4EkCkqF,+CAl4ElClqF;AAAAA;AAk4EkCkqF,6CAl4ElClqF;AAAAA;AAAAA;AAk4EkCkqF,0CAl4ElClqF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAm4EQmqF,+EAn4ERnqF;AAAAA;AAo4EUoqF,8EAp4EVpqF;AAAAA;AAAAA;AAAAA;AAAAA;AAq4EWqqF,0DAr4EXrqF;AAAAA;AAq4EWqqF,oGAr4EXrqF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo4EUoqF,yCAp4EVpqF;AAAAA;AAo4EUoqF,uCAp4EVpqF;AAAAA;AAAAA;AAAAA;AAAAA,kBAs4EmBsqF,uBAt4EnBtqF;AAAAA;AAAAA,kBAs4E4BuqF,uBAt4E5BvqF;AAAAA;AAAAA;AAAAA;AAs4EmBwqF,8CAt4EnBxqF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs4ESyqF,4DAt4ETzqF;AAAAA;AAs4ESyqF,0DAt4ETzqF;AAAAA;AAAAA;AAu4EU0qF,8EAv4EV1qF;AAAAA;AAAAA;AAAAA;AAAAA;AAw4EW2qF,0DAx4EX3qF;AAAAA;AAw4EW2qF,gGAx4EX3qF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4EwB4qF,0DAz4ExB5qF;AAAAA;AAy4EwB4qF,oEAz4ExB5qF;AAAAA;AAAAA;AAy4EyD6qF,8EAz4EzD7qF;AAAAA;AAAAA;AAAAA,kBAy4EkE8qF,uBAz4ElE9qF;AAAAA;AAAAA;AAAAA;AAy4EyD6qF,yCAz4EzD7qF;AAAAA;AAy4EyD6qF,uCAz4EzD7qF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4EW+qF,+DAz4EX/qF;AAAAA;AAy4EW+qF,6EAz4EX/qF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA04EWgrF,0DA14EXhrF;AAAAA;AA04EWgrF,0DA14EXhrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA24EwBirF,0DA34ExBjrF;AAAAA;AA24EwBirF,0DA34ExBjrF;AAAAA;AAAAA;AA24E+CkrF,8EA34E/ClrF;AAAAA;AAAAA;AAAAA,kBA24EwDmrF,uBA34ExDnrF;AAAAA;AAAAA;AAAAA;AA24E+CkrF,yCA34E/ClrF;AAAAA;AA24E+CkrF,uCA34E/ClrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA24EWorF,+DA34EXprF;AAAAA;AA24EWorF,6EA34EXprF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA44EWqrF,0DA54EXrrF;AAAAA;AA44EWqrF,kDA54EXrrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu4EU0qF,yCAv4EV1qF;AAAAA;AAu4EU0qF,uFAv4EV1qF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm4EQmqF,yCAn4ERnqF;AAAAA;AAm4EQmqF,+DAn4ERnqF;AAAAA;AAAAA,SA84EQsrF,+EA94ERtrF;AAAAA;AA+4EUurF,8EA/4EVvrF;AAAAA;AAAAA;AAAAA;AAAAA;AAg5EWwrF,0DAh5EXxrF;AAAAA;AAg5EWwrF,0EAh5EXxrF;AAAAA;AAAAA;AAAAA;AAAAA,kBAg5EwDyrF,uBAh5ExDzrF;AAAAA;AAAAA,kBAg5EiE0rF,uBAh5EjE1rF;AAAAA;AAAAA;AAAAA;AAg5EwD2rF,8CAh5ExD3rF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg5EiD4rF,yDAh5EjD5rF;AAAAA;AAg5EiD4rF,uDAh5EjD5rF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi5EW6rF,0DAj5EX7rF;AAAAA;AAi5EW6rF,2GAj5EX7rF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk5EW8rF,0DAl5EX9rF;AAAAA;AAk5EW8rF,yFAl5EX9rF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+4EUurF,yCA/4EVvrF;AAAAA;AA+4EUurF,2EA/4EVvrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA84EQsrF,yCA94ERtrF;AAAAA;AA84EQsrF,uCA94ERtrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAs5EM+rF,+EAt5EN/rF;AAAAA;AAu5EQgsF,8EAv5ERhsF;AAAAA;AAAAA;AAAAA;AAAAA;AAw5ESisF,0DAx5ETjsF;AAAAA;AAw5ESisF,0EAx5ETjsF;AAAAA;AAAAA;AAAAA;AAAAA,kBAw5EsDksF,uBAx5EtDlsF;AAAAA;AAAAA,kBAw5E+DmsF,uBAx5E/DnsF;AAAAA;AAAAA;AAAAA;AAw5EsDosF,8CAx5EtDpsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw5E+CqsF,yDAx5E/CrsF;AAAAA;AAw5E+CqsF,uDAx5E/CrsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy5ESssF,0DAz5ETtsF;AAAAA;AAy5ESssF,2GAz5ETtsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA05ESusF,0DA15ETvsF;AAAAA;AA05ESusF,yFA15ETvsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu5EQgsF,yCAv5ERhsF;AAAAA;AAu5EQgsF,2EAv5ERhsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs5EM+rF,yCAt5EN/rF;AAAAA;AAs5EM+rF,uCAt5EN/rF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA85EsBwsF,uBA95EtBxsF;AAAAA;AAAAA;AAAAA;AA85EQysF,+CA95ERzsF;AAAAA;AA85EQysF,6CA95ERzsF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA85EgD0sF,uBA95EhD1sF;AAAAA;AAAAA;AAAAA;AA85EkC2sF,+CA95ElC3sF;AAAAA;AA85EkC2sF,6CA95ElC3sF;AAAAA;AAAAA;AA85EkC2sF,0CA95ElC3sF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA+5EQ4sF,+EA/5ER5sF;AAAAA;AAg6EU6sF,8EAh6EV7sF;AAAAA;AAAAA;AAAAA;AAAAA;AAi6EW8sF,0DAj6EX9sF;AAAAA;AAi6EW8sF,sGAj6EX9sF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg6EU6sF,yCAh6EV7sF;AAAAA;AAg6EU6sF,uCAh6EV7sF;AAAAA;AAAAA;AAAAA;AAAAA,kBAk6EmB+sF,uBAl6EnB/sF;AAAAA;AAAAA;AAAAA;AAk6ESgtF,4DAl6EThtF;AAAAA;AAk6ESgtF,0DAl6EThtF;AAAAA;AAAAA;AAm6EUitF,8EAn6EVjtF;AAAAA;AAAAA;AAAAA;AAAAA;AAo6EwBktF,0DAp6ExBltF;AAAAA;AAo6EwBktF,iEAp6ExBltF;AAAAA;AAAAA;AAo6EsDmtF,8EAp6EtDntF;AAAAA;AAAAA;AAAAA,kBAo6E+DotF,uBAp6E/DptF;AAAAA;AAAAA;AAAAA;AAo6EsDmtF,yCAp6EtDntF;AAAAA;AAo6EsDmtF,uCAp6EtDntF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo6EWqtF,+DAp6EXrtF;AAAAA;AAo6EWqtF,8EAp6EXrtF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq6EWstF,0DAr6EXttF;AAAAA;AAq6EWstF,iFAr6EXttF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs6EwButF,0DAt6ExBvtF;AAAAA;AAs6EwButF,0DAt6ExBvtF;AAAAA;AAAAA;AAs6E+CwtF,8EAt6E/CxtF;AAAAA;AAAAA;AAAAA,kBAs6EwDytF,uBAt6ExDztF;AAAAA;AAAAA;AAAAA;AAs6E+CwtF,yCAt6E/CxtF;AAAAA;AAs6E+CwtF,uCAt6E/CxtF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs6EW0tF,+DAt6EX1tF;AAAAA;AAs6EW0tF,6EAt6EX1tF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu6EW2tF,0DAv6EX3tF;AAAAA;AAu6EW2tF,kDAv6EX3tF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm6EUitF,yCAn6EVjtF;AAAAA;AAm6EUitF,2EAn6EVjtF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+5EQ4sF,yCA/5ER5sF;AAAAA;AA+5EQ4sF,+DA/5ER5sF;AAAAA;AAAAA,SAy6EQ4tF,+EAz6ER5tF;AAAAA;AA06EU6tF,8EA16EV7tF;AAAAA;AAAAA;AAAAA;AAAAA;AA26EW8tF,0DA36EX9tF;AAAAA;AA26EW8tF,0EA36EX9tF;AAAAA;AAAAA;AAAAA;AAAAA,kBA26EwD+tF,uBA36ExD/tF;AAAAA;AAAAA;AAAAA;AA26EiDguF,yDA36EjDhuF;AAAAA;AA26EiDguF,uDA36EjDhuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA46EWiuF,0DA56EXjuF;AAAAA;AA46EWiuF,6GA56EXjuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA66EWkuF,0DA76EXluF;AAAAA;AA66EWkuF,uEA76EXluF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA06EU6tF,yCA16EV7tF;AAAAA;AA06EU6tF,2EA16EV7tF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy6EQ4tF,yCAz6ER5tF;AAAAA;AAy6EQ4tF,uCAz6ER5tF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAi7EMmuF,+EAj7ENnuF;AAAAA;AAk7EQouF,8EAl7ERpuF;AAAAA;AAAAA;AAAAA;AAAAA;AAm7ESquF,0DAn7ETruF;AAAAA;AAm7ESquF,0EAn7ETruF;AAAAA;AAAAA;AAAAA;AAAAA,kBAm7EsDsuF,uBAn7EtDtuF;AAAAA;AAAAA,kBAm7E+DuuF,uBAn7E/DvuF;AAAAA;AAAAA;AAAAA;AAm7EsDwuF,8CAn7EtDxuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm7E+CyuF,yDAn7E/CzuF;AAAAA;AAm7E+CyuF,uDAn7E/CzuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo7ES0uF,0DAp7ET1uF;AAAAA;AAo7ES0uF,6GAp7ET1uF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq7ES2uF,0DAr7ET3uF;AAAAA;AAq7ES2uF,wEAr7ET3uF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk7EQouF,yCAl7ERpuF;AAAAA;AAk7EQouF,2EAl7ERpuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi7EMmuF,yCAj7ENnuF;AAAAA;AAi7EMmuF,uCAj7ENnuF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAy7EsB4uF,yBAz7EtB5uF;AAAAA;AAAAA;AAAAA;AAy7EQ6uF,+CAz7ER7uF;AAAAA;AAy7EQ6uF,6CAz7ER7uF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA07EQ8uF,+EA17ER9uF;AAAAA;AA27EU+uF,8EA37EV/uF;AAAAA;AAAAA;AAAAA;AAAAA;AA27EmBgvF,0DA37EnBhvF;AAAAA;AA27EmBgvF,6FA37EnBhvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA27EU+uF,yCA37EV/uF;AAAAA;AA27EU+uF,uCA37EV/uF;AAAAA;AAAAA;AAAAA;AAAAA,kBA47EmBivF,yBA57EnBjvF;AAAAA;AAAAA;AAAAA;AA47ESkvF,4DA57ETlvF;AAAAA;AA47ESkvF,0DA57ETlvF;AAAAA;AAAAA;AA67EUmvF,4EA77EVnvF;AAAAA;AA67ESovF,6BA77ETpvF;AAAAA;AAAAA;AAAAA;AAAAA;AA67EmBqvF,0DA77EnBrvF;AAAAA;AA67EmBqvF,+GA77EnBrvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA87EWsvF,0DA97EXtvF;AAAAA;AA87EWsvF,2EA97EXtvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA87E8DuvF,0DA97E9DvvF;AAAAA;AA87E8DuvF,iEA97E9DvvF;AAAAA;AAAAA;AA87E2FwvF,8EA97E3FxvF;AAAAA;AAAAA;AAAAA,kBA87EoGyvF,yBA97EpGzvF;AAAAA;AAAAA;AAAAA;AA87E2FwvF,yCA97E3FxvF;AAAAA;AA87E2FwvF,uCA97E3FxvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA87EiD0vF,+DA97EjD1vF;AAAAA;AA87EiD0vF,6EA97EjD1vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+7EW2vF,0DA/7EX3vF;AAAAA;AA+7EW2vF,6EA/7EX3vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+7E4D4vF,0DA/7E5D5vF;AAAAA;AA+7E4D4vF,kDA/7E5D5vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+7EoD6vF,0DA/7EpD7vF;AAAAA;AA+7EoD6vF,wDA/7EpD7vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg8EW8vF,0DAh8EX9vF;AAAAA;AAg8EW8vF,2DAh8EX9vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg8E0C+vF,0DAh8E1C/vF;AAAAA;AAg8E0C+vF,kDAh8E1C/vF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg8EkCgwF,0DAh8ElChwF;AAAAA;AAg8EkCgwF,wDAh8ElChwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi8EWiwF,0DAj8EXjwF;AAAAA;AAi8EWiwF,mEAj8EXjwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi8EkDkwF,0DAj8ElDlwF;AAAAA;AAi8EkDkwF,mDAj8ElDlwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi8E0CmwF,0DAj8E1CnwF;AAAAA;AAi8E0CmwF,wDAj8E1CnwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk8EWowF,0DAl8EXpwF;AAAAA;AAk8EWowF,gHAl8EXpwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA67EUmvF,yCA77EVnvF;AAAAA;AA67EUmvF,yCA77EVnvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA07EQ8uF,yCA17ER9uF;AAAAA;AA07EQ8uF,+DA17ER9uF;AAAAA;AAAAA,SAo8EQqwF,+EAp8ERrwF;AAAAA;AAq8EUswF,8EAr8EVtwF;AAAAA;AAAAA;AAAAA;AAAAA;AAq8EmBuwF,0DAr8EnBvwF;AAAAA;AAq8EmBuwF,6FAr8EnBvwF;AAAAA;AAAAA;AAAAA;AAAAA,kBAs8EkBwwF,yBAt8ElBxwF;AAAAA;AAAAA;AAAAA;AAs8EWywF,yDAt8EXzwF;AAAAA;AAs8EWywF,uDAt8EXzwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq8EUswF,yCAr8EVtwF;AAAAA;AAq8EUswF,mDAr8EVtwF;AAAAA;AAAAA;AAu8EU0wF,4EAv8EV1wF;AAAAA;AAu8ES2wF,6BAv8ET3wF;AAAAA;AAAAA;AAAAA;AAAAA;AAu8EmB4wF,0DAv8EnB5wF;AAAAA;AAu8EmB4wF,+GAv8EnB5wF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw8EW6wF,0DAx8EX7wF;AAAAA;AAw8EW6wF,2EAx8EX7wF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw8E8D8wF,0DAx8E9D9wF;AAAAA;AAw8E8D8wF,iEAx8E9D9wF;AAAAA;AAAAA;AAw8E2F+wF,8EAx8E3F/wF;AAAAA;AAAAA;AAAAA,kBAw8EoGgxF,yBAx8EpGhxF;AAAAA;AAAAA;AAAAA;AAw8E2F+wF,yCAx8E3F/wF;AAAAA;AAw8E2F+wF,uCAx8E3F/wF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw8EiDixF,+DAx8EjDjxF;AAAAA;AAw8EiDixF,6EAx8EjDjxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy8EWkxF,0DAz8EXlxF;AAAAA;AAy8EWkxF,6EAz8EXlxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy8E4DmxF,0DAz8E5DnxF;AAAAA;AAy8E4DmxF,kDAz8E5DnxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy8EoDoxF,0DAz8EpDpxF;AAAAA;AAy8EoDoxF,wDAz8EpDpxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA08EWqxF,0DA18EXrxF;AAAAA;AA08EWqxF,2DA18EXrxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA08E0CsxF,0DA18E1CtxF;AAAAA;AA08E0CsxF,kDA18E1CtxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA08EkCuxF,0DA18ElCvxF;AAAAA;AA08EkCuxF,wDA18ElCvxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA28EWwxF,0DA38EXxxF;AAAAA;AA28EWwxF,mEA38EXxxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA28EkDyxF,0DA38ElDzxF;AAAAA;AA28EkDyxF,mDA38ElDzxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA28E0C0xF,0DA38E1C1xF;AAAAA;AA28E0C0xF,wDA38E1C1xF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA48EW2xF,0DA58EX3xF;AAAAA;AA48EW2xF,gHA58EX3xF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8EU0wF,yCAv8EV1wF;AAAAA;AAu8EU0wF,yCAv8EV1wF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo8EQqwF,yCAp8ERrwF;AAAAA;AAo8EQqwF,mDAp8ERrwF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAg9EM4xF,+EAh9EN5xF;AAAAA;AAi9EQ6xF,8EAj9ER7xF;AAAAA;AAAAA;AAAAA;AAAAA;AAi9EiB8xF,0DAj9EjB9xF;AAAAA;AAi9EiB8xF,6FAj9EjB9xF;AAAAA;AAAAA;AAAAA;AAAAA,kBAi9E6F+xF,yBAj9E7F/xF;AAAAA;AAi9E0EgyF,qDAj9E1EhyF;AAAAA;AAAAA;AAAAA;AAAAA;AAi9EQ6xF,yCAj9ER7xF;AAAAA;AAi9EQ6xF,mDAj9ER7xF;AAAAA;AAAAA;AAk9EQiyF,8EAl9ERjyF;AAAAA;AAAAA;AAAAA;AAAAA;AAk9EiBkyF,0DAl9EjBlyF;AAAAA;AAk9EiBkyF,6GAl9EjBlyF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk9EQiyF,yCAl9ERjyF;AAAAA;AAk9EQiyF,uCAl9ERjyF;AAAAA;AAAAA;AAm9EQmyF,8EAn9ERnyF;AAAAA;AAAAA;AAAAA;AAAAA;AAm9EiBoyF,0DAn9EjBpyF;AAAAA;AAm9EiBoyF,4FAn9EjBpyF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm9EQmyF,yCAn9ERnyF;AAAAA;AAm9EQmyF,uCAn9ERnyF;AAAAA;AAAAA;AAo9EQqyF,4EAp9ERryF;AAAAA;AAo9EOsyF,4BAp9EPtyF;AAAAA;AAAAA;AAAAA;AAAAA;AAo9EiBuyF,0DAp9EjBvyF;AAAAA;AAo9EiBuyF,2EAp9EjBvyF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo9EgEwyF,0DAp9EhExyF;AAAAA;AAo9EgEwyF,kDAp9EhExyF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo9EwDyyF,0DAp9ExDzyF;AAAAA;AAo9EwDyyF,wDAp9ExDzyF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9ES0yF,0DAr9ET1yF;AAAAA;AAq9ES0yF,2DAr9ET1yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9EwC2yF,0DAr9ExC3yF;AAAAA;AAq9EwC2yF,kDAr9ExC3yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9EgC4yF,0DAr9EhC5yF;AAAAA;AAq9EgC4yF,wDAr9EhC5yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9ES6yF,0DAt9ET7yF;AAAAA;AAs9ES6yF,mEAt9ET7yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9EgD8yF,0DAt9EhD9yF;AAAAA;AAs9EgD8yF,mDAt9EhD9yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9EwC+yF,0DAt9ExC/yF;AAAAA;AAs9EwC+yF,wDAt9ExC/yF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu9ESgzF,0DAv9EThzF;AAAAA;AAu9ESgzF,+DAv9EThzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo9EQqyF,yCAp9ERryF;AAAAA;AAo9EQqyF,yCAp9ERryF;AAAAA;AAAAA;AAw9EQizF,8EAx9ERjzF;AAAAA;AAAAA;AAAAA;AAAAA;AAw9EiBkzF,0DAx9EjBlzF;AAAAA;AAw9EiBkzF,iGAx9EjBlzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw9EQizF,yCAx9ERjzF;AAAAA;AAw9EQizF,uCAx9ERjzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg9EM4xF,yCAh9EN5xF;AAAAA;AAg9EM4xF,uFAh9EN5xF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA69EsBmzF,yBA79EtBnzF;AAAAA;AAAAA;AAAAA;AA69EQozF,+CA79ERpzF;AAAAA;AA69EQozF,6CA79ERpzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA89EQqzF,+EA99ERrzF;AAAAA;AA+9EUszF,8EA/9EVtzF;AAAAA;AAAAA;AAAAA;AAAAA;AA+9EmBuzF,0DA/9EnBvzF;AAAAA;AA+9EmBuzF,6FA/9EnBvzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+9EUszF,yCA/9EVtzF;AAAAA;AA+9EUszF,uCA/9EVtzF;AAAAA;AAAAA;AAAAA;AAAAA,kBAg+EmBwzF,yBAh+EnBxzF;AAAAA;AAAAA;AAAAA;AAg+ESyzF,4DAh+ETzzF;AAAAA;AAg+ESyzF,0DAh+ETzzF;AAAAA;AAAAA;AAi+EU0zF,8EAj+EV1zF;AAAAA;AAAAA;AAAAA;AAAAA;AAi+EmB2zF,0DAj+EnB3zF;AAAAA;AAi+EmB2zF,sGAj+EnB3zF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk+EgC4zF,0DAl+EhC5zF;AAAAA;AAk+EgC4zF,mDAl+EhC5zF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk+EwB6zF,0DAl+ExB7zF;AAAAA;AAk+EwB6zF,wDAl+ExB7zF;AAAAA;AAAAA;AAk+EgD8zF,8EAl+EhD9zF;AAAAA;AAAAA;AAAAA,kBAk+EyD+zF,yBAl+EzD/zF;AAAAA;AAAAA;AAAAA;AAk+EgD8zF,yCAl+EhD9zF;AAAAA;AAk+EgD8zF,uCAl+EhD9zF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk+EWg0F,+DAl+EXh0F;AAAAA;AAk+EWg0F,6EAl+EXh0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm+EWi0F,0DAn+EXj0F;AAAAA;AAm+EWi0F,6GAn+EXj0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+EWk0F,0DAp+EXl0F;AAAAA;AAo+EWk0F,mIAp+EXl0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi+EU0zF,yCAj+EV1zF;AAAAA;AAi+EU0zF,2EAj+EV1zF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA89EQqzF,yCA99ERrzF;AAAAA;AA89EQqzF,+DA99ERrzF;AAAAA;AAAAA,SAs+EQm0F,+EAt+ERn0F;AAAAA;AAu+EUo0F,8EAv+EVp0F;AAAAA;AAAAA;AAAAA;AAAAA;AAu+EmBq0F,0DAv+EnBr0F;AAAAA;AAu+EmBq0F,6FAv+EnBr0F;AAAAA;AAAAA;AAAAA;AAAAA,kBAw+EkBs0F,yBAx+ElBt0F;AAAAA;AAAAA;AAAAA;AAw+EWu0F,yDAx+EXv0F;AAAAA;AAw+EWu0F,uDAx+EXv0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu+EUo0F,yCAv+EVp0F;AAAAA;AAu+EUo0F,mDAv+EVp0F;AAAAA;AAAAA;AAy+EUw0F,8EAz+EVx0F;AAAAA;AAAAA;AAAAA;AAAAA;AAy+EmBy0F,0DAz+EnBz0F;AAAAA;AAy+EmBy0F,sGAz+EnBz0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+E6F00F,0DAz+E7F10F;AAAAA;AAy+E6F00F,mDAz+E7F10F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+EqF20F,0DAz+ErF30F;AAAAA;AAy+EqF20F,wDAz+ErF30F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0+EW40F,0DA1+EX50F;AAAAA;AA0+EW40F,6GA1+EX50F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2+EW60F,0DA3+EX70F;AAAAA;AA2+EW60F,mIA3+EX70F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+EUw0F,yCAz+EVx0F;AAAAA;AAy+EUw0F,2EAz+EVx0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs+EQm0F,yCAt+ERn0F;AAAAA;AAs+EQm0F,mDAt+ERn0F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA++EM80F,+EA/+EN90F;AAAAA;AAg/EQ+0F,8EAh/ER/0F;AAAAA;AAAAA;AAAAA;AAAAA;AAg/EiBg1F,0DAh/EjBh1F;AAAAA;AAg/EiBg1F,6FAh/EjBh1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg/EQ+0F,yCAh/ER/0F;AAAAA;AAg/EQ+0F,uCAh/ER/0F;AAAAA;AAAAA;AAAAA;AAAAA,kBAi/E0Bi1F,yBAj/E1Bj1F;AAAAA;AAi/EOk1F,qDAj/EPl1F;AAAAA;AAk/EQm1F,8EAl/ERn1F;AAAAA;AAAAA;AAAAA;AAAAA;AAk/EiBo1F,0DAl/EjBp1F;AAAAA;AAk/EiBo1F,sGAl/EjBp1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk/E2Fq1F,0DAl/E3Fr1F;AAAAA;AAk/E2Fq1F,mDAl/E3Fr1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk/EmFs1F,0DAl/EnFt1F;AAAAA;AAk/EmFs1F,wDAl/EnFt1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm/ESu1F,0DAn/ETv1F;AAAAA;AAm/ESu1F,6GAn/ETv1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo/ESw1F,0DAp/ETx1F;AAAAA;AAo/ESw1F,mIAp/ETx1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk/EQm1F,yCAl/ERn1F;AAAAA;AAk/EQm1F,2EAl/ERn1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA++EM80F,yCA/+EN90F;AAAAA;AA++EM80F,+DA/+EN90F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAw/EsBy1F,yBAx/EtBz1F;AAAAA;AAAAA;AAAAA;AAw/EQ01F,+CAx/ER11F;AAAAA;AAw/EQ01F,6CAx/ER11F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAy/EQ21F,+EAz/ER31F;AAAAA;AA0/EU41F,8EA1/EV51F;AAAAA;AAAAA;AAAAA;AAAAA;AA2/EW61F,0DA3/EX71F;AAAAA;AA2/EW61F,qFA3/EX71F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4/EwB81F,0DA5/ExB91F;AAAAA;AA4/EwB81F,oDA5/ExB91F;AAAAA;AAAAA;AA4/EwC+1F,8EA5/ExC/1F;AAAAA;AAAAA;AAAAA,kBA4/EiDg2F,yBA5/EjDh2F;AAAAA;AAAAA;AAAAA;AA4/EwC+1F,yCA5/ExC/1F;AAAAA;AA4/EwC+1F,uCA5/ExC/1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4/EWi2F,+DA5/EXj2F;AAAAA;AA4/EWi2F,8EA5/EXj2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6/EWk2F,0DA7/EXl2F;AAAAA;AA6/EWk2F,oEA7/EXl2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0/EU41F,yCA1/EV51F;AAAAA;AA0/EU41F,+DA1/EV51F;AAAAA;AAAAA;AAAAA;AAAAA,kBA8/EoBm2F,yBA9/EpBn2F;AAAAA;AAAAA;AAAAA;AA8/EUo2F,4DA9/EVp2F;AAAAA;AA8/EUo2F,0DA9/EVp2F;AAAAA;AAAAA;AA+/EUq2F,8EA//EVr2F;AAAAA;AAAAA;AAAAA;AAAAA;AAggFWs2F,0DAhgFXt2F;AAAAA;AAggFWs2F,qJAhgFXt2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+/EUq2F,yCA//EVr2F;AAAAA;AA+/EUq2F,uCA//EVr2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy/EQ21F,yCAz/ER31F;AAAAA;AAy/EQ21F,+DAz/ER31F;AAAAA;AAAAA,SAkgFQu2F,+EAlgFRv2F;AAAAA;AAmgFUw2F,8EAngFVx2F;AAAAA;AAAAA;AAAAA;AAAAA;AAogFWy2F,0DApgFXz2F;AAAAA;AAogFWy2F,6FApgFXz2F;AAAAA;AAAAA;AAAAA;AAAAA,kBAqgFkB02F,yBArgFlB12F;AAAAA;AAAAA;AAAAA;AAqgFW22F,yDArgFX32F;AAAAA;AAqgFW22F,uDArgFX32F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsgFW42F,0DAtgFX52F;AAAAA;AAsgFW42F,0KAtgFX52F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmgFUw2F,yCAngFVx2F;AAAAA;AAmgFUw2F,+DAngFVx2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkgFQu2F,yCAlgFRv2F;AAAAA;AAkgFQu2F,uCAlgFRv2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA0gFM62F,+EA1gFN72F;AAAAA;AA0gFiB82F,8EA1gFjB92F;AAAAA;AAAAA;AAAAA;AAAAA;AA2gFS+2F,0DA3gFT/2F;AAAAA;AA2gFS+2F,sGA3gFT/2F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4gFSg3F,0DA5gFTh3F;AAAAA;AA4gFSg3F,4IA5gFTh3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gFiB82F,yCA1gFjB92F;AAAAA;AA0gFiB82F,mDA1gFjB92F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gFM62F,yCA1gFN72F;AAAAA;AA0gFM62F,uCA1gFN72F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAghFsBi3F,yBAhhFtBj3F;AAAAA;AAAAA;AAAAA;AAghFQk3F,+CAhhFRl3F;AAAAA;AAghFQk3F,6CAhhFRl3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAihFQm3F,+EAjhFRn3F;AAAAA;AAkhFUo3F,8EAlhFVp3F;AAAAA;AAAAA;AAAAA;AAAAA;AAmhFWq3F,0DAnhFXr3F;AAAAA;AAmhFWq3F,yEAnhFXr3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkhFUo3F,yCAlhFVp3F;AAAAA;AAkhFUo3F,uCAlhFVp3F;AAAAA;AAAAA;AAAAA;AAAAA,kBAohFmBs3F,yBAphFnBt3F;AAAAA;AAAAA;AAAAA;AAohFSu3F,4DAphFTv3F;AAAAA;AAohFSu3F,0DAphFTv3F;AAAAA;AAAAA;AAqhFUw3F,8EArhFVx3F;AAAAA;AAAAA;AAAAA;AAAAA;AAshFWy3F,0DAthFXz3F;AAAAA;AAshFWy3F,4JAthFXz3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuhFmB03F,0DAvhFnB13F;AAAAA;AAuhFmB03F,oDAvhFnB13F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuhFW23F,0DAvhFX33F;AAAAA;AAuhFW23F,wDAvhFX33F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwhFW43F,0DAxhFX53F;AAAAA;AAwhFW43F,6EAxhFX53F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhFUw3F,yCArhFVx3F;AAAAA;AAqhFUw3F,+DArhFVx3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAihFQm3F,yCAjhFRn3F;AAAAA;AAihFQm3F,+DAjhFRn3F;AAAAA;AAAAA,SA0hFQ63F,+EA1hFR73F;AAAAA;AA2hFU83F,8EA3hFV93F;AAAAA;AAAAA;AAAAA;AAAAA;AA4hFW+3F,0DA5hFX/3F;AAAAA;AA4hFW+3F,4EA5hFX/3F;AAAAA;AAAAA;AAAAA;AAAAA,kBA6hFkBg4F,yBA7hFlBh4F;AAAAA;AAAAA;AAAAA;AA6hFWi4F,yDA7hFXj4F;AAAAA;AA6hFWi4F,uDA7hFXj4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8hFWk4F,0DA9hFXl4F;AAAAA;AA8hFWk4F,4JA9hFXl4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+hFmBm4F,0DA/hFnBn4F;AAAAA;AA+hFmBm4F,oDA/hFnBn4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+hFWo4F,0DA/hFXp4F;AAAAA;AA+hFWo4F,wDA/hFXp4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgiFWq4F,0DAhiFXr4F;AAAAA;AAgiFWq4F,6EAhiFXr4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2hFU83F,yCA3hFV93F;AAAAA;AA2hFU83F,uFA3hFV93F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0hFQ63F,yCA1hFR73F;AAAAA;AA0hFQ63F,uCA1hFR73F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAoiFMs4F,+EApiFNt4F;AAAAA;AAoiFiBu4F,sFApiFjBv4F;AAAAA;AAAAA;AAAAA;AAAAA;AAqiFSw4F,0DAriFTx4F;AAAAA;AAqiFSw4F,mHAriFTx4F;AAAAA;AAAAA;AAAAA;AAAAA,kBAsiF4By4F,yBAtiF5Bz4F;AAAAA;AAsiFS04F,qDAtiFT14F;AAAAA;AAAAA;AAAAA;AAAAA;AAuiFS24F,0DAviFT34F;AAAAA;AAuiFS24F,0FAviFT34F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoiFiBu4F,yCApiFjBv4F;AAAAA;AAoiFiBu4F,+DApiFjBv4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoiFMs4F,yCApiFNt4F;AAAAA;AAoiFMs4F,uCApiFNt4F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA2iFsB44F,yBA3iFtB54F;AAAAA;AAAAA;AAAAA;AA2iFQ64F,+CA3iFR74F;AAAAA;AA2iFQ64F,6CA3iFR74F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4iFQ84F,+EA5iFR94F;AAAAA;AA6iFU+4F,8EA7iFV/4F;AAAAA;AAAAA;AAAAA;AAAAA;AA8iFWg5F,0DA9iFXh5F;AAAAA;AA8iFWg5F,qDA9iFXh5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+iFwBi5F,0DA/iFxBj5F;AAAAA;AA+iFwBi5F,yDA/iFxBj5F;AAAAA;AAAAA;AA+iF8Ck5F,8EA/iF9Cl5F;AAAAA;AAAAA;AAAAA,kBA+iFuDm5F,yBA/iFvDn5F;AAAAA;AAAAA;AAAAA;AA+iF8Ck5F,yCA/iF9Cl5F;AAAAA;AA+iF8Ck5F,uCA/iF9Cl5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+iFWo5F,+DA/iFXp5F;AAAAA;AA+iFWo5F,6EA/iFXp5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6iFU+4F,yCA7iFV/4F;AAAAA;AA6iFU+4F,mDA7iFV/4F;AAAAA;AAAAA;AAAAA;AAAAA,kBAgjFmBq5F,yBAhjFnBr5F;AAAAA;AAAAA;AAAAA;AAgjFSs5F,4DAhjFTt5F;AAAAA;AAgjFSs5F,0DAhjFTt5F;AAAAA;AAAAA;AAijFUu5F,8EAjjFVv5F;AAAAA;AAAAA;AAAAA;AAAAA;AAkjFWw5F,0DAljFXx5F;AAAAA;AAkjFWw5F,uGAljFXx5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAijFUu5F,yCAjjFVv5F;AAAAA;AAijFUu5F,uCAjjFVv5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4iFQ84F,yCA5iFR94F;AAAAA;AA4iFQ84F,+DA5iFR94F;AAAAA;AAAAA,SAojFQy5F,+EApjFRz5F;AAAAA;AAqjFU05F,8EArjFV15F;AAAAA;AAAAA;AAAAA;AAAAA;AAsjFW25F,0DAtjFX35F;AAAAA;AAsjFW25F,iEAtjFX35F;AAAAA;AAAAA;AAAAA;AAAAA,kBAujFkB45F,yBAvjFlB55F;AAAAA;AAAAA;AAAAA;AAujFW65F,yDAvjFX75F;AAAAA;AAujFW65F,uDAvjFX75F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwjFW85F,0DAxjFX95F;AAAAA;AAwjFW85F,uGAxjFX95F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqjFU05F,yCArjFV15F;AAAAA;AAqjFU05F,+DArjFV15F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAojFQy5F,yCApjFRz5F;AAAAA;AAojFQy5F,uCApjFRz5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4jFM+5F,+EA5jFN/5F;AAAAA;AA4jFiBg6F,sFA5jFjBh6F;AAAAA;AAAAA;AAAAA;AAAAA;AA6jFSi6F,0DA7jFTj6F;AAAAA;AA6jFSi6F,iEA7jFTj6F;AAAAA;AAAAA;AAAAA;AAAAA,kBA8jF4Bk6F,yBA9jF5Bl6F;AAAAA;AA8jFSm6F,qDA9jFTn6F;AAAAA;AAAAA;AAAAA;AAAAA;AA+jFSo6F,0DA/jFTp6F;AAAAA;AA+jFSo6F,gFA/jFTp6F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4jFiBg6F,yCA5jFjBh6F;AAAAA;AA4jFiBg6F,+DA5jFjBh6F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4jFM+5F,yCA5jFN/5F;AAAAA;AA4jFM+5F,uCA5jFN/5F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAmkFsBq6F,yBAnkFtBr6F;AAAAA;AAAAA;AAAAA;AAmkFQs6F,+CAnkFRt6F;AAAAA;AAmkFQs6F,6CAnkFRt6F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAokFQu6F,+EApkFRv6F;AAAAA;AAqkFUw6F,8EArkFVx6F;AAAAA;AAAAA;AAAAA;AAAAA;AAskFWy6F,0DAtkFXz6F;AAAAA;AAskFWy6F,8DAtkFXz6F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqkFUw6F,yCArkFVx6F;AAAAA;AAqkFUw6F,uCArkFVx6F;AAAAA;AAAAA;AAAAA;AAAAA,kBAukFmB06F,yBAvkFnB16F;AAAAA;AAAAA;AAAAA;AAukFS26F,4DAvkFT36F;AAAAA;AAukFS26F,0DAvkFT36F;AAAAA;AAAAA;AAwkFU46F,8EAxkFV56F;AAAAA;AAAAA;AAAAA;AAAAA;AAykFW66F,0DAzkFX76F;AAAAA;AAykFW66F,yJAzkFX76F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwkFU46F,yCAxkFV56F;AAAAA;AAwkFU46F,uCAxkFV56F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAokFQu6F,yCApkFRv6F;AAAAA;AAokFQu6F,+DApkFRv6F;AAAAA;AAAAA,QA2kFQ86F,+EA3kFR96F;AAAAA;AA4kFU+6F,8EA5kFV/6F;AAAAA;AAAAA;AAAAA;AAAAA;AA6kFWg7F,0DA7kFXh7F;AAAAA;AA6kFWg7F,2FA7kFXh7F;AAAAA;AAAAA;AAAAA;AAAAA,kBA8kFkBi7F,yBA9kFlBj7F;AAAAA;AAAAA;AAAAA;AA8kFWk7F,yDA9kFXl7F;AAAAA;AA8kFWk7F,uDA9kFXl7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+kFWm7F,0DA/kFXn7F;AAAAA;AA+kFWm7F,oIA/kFXn7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4kFU+6F,yCA5kFV/6F;AAAAA;AA4kFU+6F,+DA5kFV/6F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2kFQ86F,yCA3kFR96F;AAAAA;AA2kFQ86F,uCA3kFR96F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAmlFMo7F,+EAnlFNp7F;AAAAA;AAmlFiBq7F,sFAnlFjBr7F;AAAAA;AAAAA;AAAAA;AAAAA;AAolFSs7F,0DAplFTt7F;AAAAA;AAolFSs7F,oGAplFTt7F;AAAAA;AAAAA;AAAAA;AAAAA,kBAqlF4Bu7F,yBArlF5Bv7F;AAAAA;AAqlFSw7F,qDArlFTx7F;AAAAA;AAAAA;AAAAA;AAAAA;AAslFSy7F,0DAtlFTz7F;AAAAA;AAslFSy7F,gIAtlFTz7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmlFiBq7F,yCAnlFjBr7F;AAAAA;AAmlFiBq7F,+DAnlFjBr7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmlFMo7F,yCAnlFNp7F;AAAAA;AAmlFMo7F,uCAnlFNp7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,sBA0lFsB07F,wBA1lFtB17F;AAAAA;AAAAA,kBA0lFsB27F,8BA1lFtB37F;AAAAA;AAAAA;AAAAA;AA0lFQ47F,+CA1lFR57F;AAAAA;AA0lFQ47F,6CA1lFR57F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA2lFQ67F,+EA3lFR77F;AAAAA;AA4lFU87F,8EA5lFV97F;AAAAA;AAAAA;AAAAA;AAAAA;AA6lFW+7F,0DA7lFX/7F;AAAAA;AA6lFW+7F,qDA7lFX/7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8lFwBg8F,0DA9lFxBh8F;AAAAA;AA8lFwBg8F,iEA9lFxBh8F;AAAAA;AAAAA;AA8lFsDi8F,8EA9lFtDj8F;AAAAA;AAAAA;AAAAA,sBA8lF+Dk8F,wBA9lF/Dl8F;AAAAA;AAAAA,kBA8lF+Dm8F,8BA9lF/Dn8F;AAAAA;AAAAA;AAAAA;AA8lFsDi8F,yCA9lFtDj8F;AAAAA;AA8lFsDi8F,uCA9lFtDj8F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8lFWo8F,+DA9lFXp8F;AAAAA;AA8lFWo8F,6EA9lFXp8F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4lFU87F,yCA5lFV97F;AAAAA;AA4lFU87F,mDA5lFV97F;AAAAA;AAAAA;AAAAA;AAAAA,sBA+lFmBq8F,wBA/lFnBr8F;AAAAA;AAAAA,kBA+lFmBs8F,8BA/lFnBt8F;AAAAA;AAAAA;AAAAA;AA+lFSu8F,4DA/lFTv8F;AAAAA;AA+lFSu8F,0DA/lFTv8F;AAAAA;AAAAA;AAgmFUw8F,8EAhmFVx8F;AAAAA;AAAAA;AAAAA;AAAAA;AAimFWy8F,0DAjmFXz8F;AAAAA;AAimFWy8F,wEAjmFXz8F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmFmB08F,0DAlmFnB18F;AAAAA;AAkmFmB08F,sDAlmFnB18F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmFW28F,0DAlmFX38F;AAAAA;AAkmFW28F,wDAlmFX38F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmFsC48F,0DAlmFtC58F;AAAAA;AAkmFsC48F,qDAlmFtC58F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmF+D68F,0DAlmF/D78F;AAAAA;AAkmF+D68F,sDAlmF/D78F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmFuD88F,0DAlmFvD98F;AAAAA;AAkmFuD88F,wDAlmFvD98F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkmFkF+8F,0DAlmFlF/8F;AAAAA;AAkmFkF+8F,wDAlmFlF/8F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgmFUw8F,yCAhmFVx8F;AAAAA;AAgmFUw8F,uFAhmFVx8F;AAAAA;AAAAA;AAAAA;AAAAA,gBAmmFoBg9F,wBAnmFpBh9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqmFci9F,8EArmFdj9F;AAAAA;AAAAA;AAAAA;AAAAA;AAsmFek9F,0DAtmFfl9F;AAAAA;AAsmFek9F,mFAtmFfl9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsmFsEm9F,0DAtmFtEn9F;AAAAA;AAsmFsEm9F,sDAtmFtEn9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsmF8Do9F,0DAtmF9Dp9F;AAAAA;AAsmF8Do9F,wDAtmF9Dp9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAumFeq9F,0DAvmFfr9F;AAAAA;AAumFeq9F,sHAvmFfr9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqmFci9F,yCArmFdj9F;AAAAA;AAqmFci9F,+DArmFdj9F;AAAAA;AAAAA,SAymFcs9F,8EAzmFdt9F;AAAAA;AAAAA;AAAAA;AAAAA;AA0mFeu9F,0DA1mFfv9F;AAAAA;AA0mFeu9F,6GA1mFfv9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAymFcs9F,yCAzmFdt9F;AAAAA;AAymFcs9F,uCAzmFdt9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2lFQ67F,yCA3lFR77F;AAAAA;AA2lFQ67F,2EA3lFR77F;AAAAA;AAAAA,SA8mFQw9F,+EA9mFRx9F;AAAAA;AA+mFUy9F,oFA/mFVz9F;AAAAA;AA+mFS09F,4BA/mFT19F;AAAAA;AAAAA;AAAAA;AAAAA;AAgnFW29F,0DAhnFX39F;AAAAA;AAgnFW29F,yEAhnFX39F;AAAAA;AAAAA;AAAAA;AAAAA,sBAinFkB49F,wBAjnFlB59F;AAAAA;AAAAA,kBAinFkB69F,8BAjnFlB79F;AAAAA;AAAAA;AAAAA;AAinFW89F,yDAjnFX99F;AAAAA;AAinFW89F,uDAjnFX99F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAknFW+9F,0DAlnFX/9F;AAAAA;AAknFW+9F,wEAlnFX/9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnFmBg+F,0DAnnFnBh+F;AAAAA;AAmnFmBg+F,sDAnnFnBh+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnFWi+F,0DAnnFXj+F;AAAAA;AAmnFWi+F,wDAnnFXj+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnFsCk+F,0DAnnFtCl+F;AAAAA;AAmnFsCk+F,qDAnnFtCl+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnF+Dm+F,0DAnnF/Dn+F;AAAAA;AAmnF+Dm+F,sDAnnF/Dn+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnFuDo+F,0DAnnFvDp+F;AAAAA;AAmnFuDo+F,wDAnnFvDp+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmnFkFq+F,0DAnnFlFr+F;AAAAA;AAmnFkFq+F,wDAnnFlFr+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+mFUy9F,yCA/mFVz9F;AAAAA;AA+mFUy9F,yCA/mFVz9F;AAAAA;AAAAA;AAAAA;AAAAA,gBAonFoBs+F,wBApnFpBt+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsnFcu+F,8EAtnFdv+F;AAAAA;AAAAA;AAAAA;AAAAA;AAunFew+F,0DAvnFfx+F;AAAAA;AAunFew+F,mFAvnFfx+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAunFsEy+F,0DAvnFtEz+F;AAAAA;AAunFsEy+F,sDAvnFtEz+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAunF8D0+F,0DAvnF9D1+F;AAAAA;AAunF8D0+F,wDAvnF9D1+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwnFe2+F,0DAxnFf3+F;AAAAA;AAwnFe2+F,sHAxnFf3+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsnFcu+F,yCAtnFdv+F;AAAAA;AAsnFcu+F,+DAtnFdv+F;AAAAA;AAAAA,SA0nFc4+F,8EA1nFd5+F;AAAAA;AAAAA;AAAAA;AAAAA;AA2nFe6+F,0DA3nFf7+F;AAAAA;AA2nFe6+F,6GA3nFf7+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0nFc4+F,yCA1nFd5+F;AAAAA;AA0nFc4+F,uCA1nFd5+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8mFQw9F,yCA9mFRx9F;AAAAA;AA8mFQw9F,mDA9mFRx9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAioFM8+F,+EAjoFN9+F;AAAAA;AAkoFQ++F,oFAloFR/+F;AAAAA;AAkoFOg/F,4BAloFPh/F;AAAAA;AAAAA;AAAAA;AAAAA;AAmoFSi/F,0DAnoFTj/F;AAAAA;AAmoFSi/F,yEAnoFTj/F;AAAAA;AAAAA;AAAAA;AAAAA,kBAooF4Bk/F,yBApoF5Bl/F;AAAAA;AAooFSm/F,qDApoFTn/F;AAAAA;AAAAA;AAAAA;AAAAA;AAqoFSo/F,0DAroFTp/F;AAAAA;AAqoFSo/F,uEAroFTp/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoFiBq/F,0DAtoFjBr/F;AAAAA;AAsoFiBq/F,sDAtoFjBr/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoFSs/F,0DAtoFTt/F;AAAAA;AAsoFSs/F,wDAtoFTt/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoFoCu/F,0DAtoFpCv/F;AAAAA;AAsoFoCu/F,qDAtoFpCv/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoF6Dw/F,0DAtoF7Dx/F;AAAAA;AAsoF6Dw/F,sDAtoF7Dx/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoFqDy/F,0DAtoFrDz/F;AAAAA;AAsoFqDy/F,wDAtoFrDz/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsoFgF0/F,0DAtoFhF1/F;AAAAA;AAsoFgF0/F,wDAtoFhF1/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkoFQ++F,yCAloFR/+F;AAAAA;AAkoFQ++F,yCAloFR/+F;AAAAA;AAAAA;AAuoFQ2/F,8EAvoFR3/F;AAAAA;AAAAA;AAAAA;AAAAA;AAwoFS4/F,0DAxoFT5/F;AAAAA;AAwoFS4/F,6GAxoFT5/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuoFQ2/F,yCAvoFR3/F;AAAAA;AAuoFQ2/F,uCAvoFR3/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAioFM8+F,yCAjoFN9+F;AAAAA;AAioFM8+F,mDAjoFN9+F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA4oFiC6/F,yBA5oFjC7/F;AAAAA;AAAAA,WA4oFiC8/F,8DA5oFjC9/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4oFa+/F,sDA5oFb//F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4oFKggG,0DA5oFLhgG;AAAAA;AA4oFKggG,wDA5oFLhgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAgpFkFigG,yBAhpFlFjgG;AAAAA;AAAAA,WAgpFkFkgG,8DAhpFlFlgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpFamgG,uGAhpFbngG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpFKogG,0DAhpFLpgG;AAAAA;AAgpFKogG,wDAhpFLpgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAopFkFqgG,yBAppFlFrgG;AAAAA;AAAAA,WAopFkFsgG,8DAppFlFtgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAopFaugG,uGAppFbvgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAopFKwgG,0DAppFLxgG;AAAAA;AAopFKwgG,wDAppFLxgG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAupF+DygG,yBAvpF/DzgG;AAAAA;AAAAA,WAupF+D0gG,8DAvpF/D1gG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAupFuC2gG,0DAvpFvC3gG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAupF+B4gG,0DAvpF/B5gG;AAAAA;AAupF+B4gG,wDAvpF/B5gG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAypF6D6gG,yBAzpF7D7gG;AAAAA;AAAAA,WAypF6D8gG,8DAzpF7D9gG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAypFuC+gG,wDAzpFvC/gG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAypF+BghG,0DAzpF/BhhG;AAAAA;AAypF+BghG,wDAzpF/BhhG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA2pFgEihG,yBA3pFhEjhG;AAAAA;AAAAA,WA2pFgEkhG,8DA3pFhElhG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2pFuCmhG,2DA3pFvCnhG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2pF+BohG,0DA3pF/BphG;AAAAA;AA2pF+BohG,wDA3pF/BphG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA6pFoEqhG,yBA7pFpErhG;AAAAA;AAAAA,WA6pFoEshG,8DA7pFpEthG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pFuCuhG,+DA7pFvCvhG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pF+BwhG,0DA7pF/BxhG;AAAAA;AA6pF+BwhG,wDA7pF/BxhG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA+pFyDyhG,yBA/pFzDzhG;AAAAA;AAAAA,WA+pFyD0hG,8DA/pFzD1hG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+pFuC2hG,oDA/pFvC3hG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+pF+B4hG,0DA/pF/B5hG;AAAAA;AA+pF+B4hG,wDA/pF/B5hG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAiqF2D6hG,yBAjqF3D7hG;AAAAA;AAAAA,WAiqF2D8hG,8DAjqF3D9hG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiqFuC+hG,sDAjqFvC/hG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiqF+BgiG,0DAjqF/BhiG;AAAAA;AAiqF+BgiG,wDAjqF/BhiG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA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A;AAAAA;AAAAA;AAAAA;AAAAA,SAsFDmnF,uDAtFCnnF;AAAAA;AAAAA;AAAAA;AAAAA,SAsFDmnF,wDAtFCnnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://error\"}", +"theModule":"function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4008(R,NAMESPACE,M,$ED12,$$underscore_import5,$O13,$S14,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://error\";\nvar D = R.undefined;\nvar L = [[M,12,0,180,14,3,260],\n[M,13,2,209,13,49,256],\n[M,13,39,246,13,48,255],\n[M,15,0,261,17,3,358],\n[M,16,25,314,16,63,352],\n[M,16,35,324,16,59,348],\n[M,16,36,325,16,43,332],\n[M,16,45,334,16,58,347],\n[M,16,16,305,16,64,353],\n[M,16,2,291,16,65,354],\n[M,18,0,359,20,3,462],\n[M,19,2,389,19,71,458],\n[M,19,3,390,19,10,397],\n[M,19,35,422,19,62,449],\n[M,19,45,432,19,58,445],\n[M,19,26,413,19,63,450],\n[M,19,12,399,19,69,456],\n[M,22,0,464,34,3,756],\n[M,23,5,501,23,21,517],\n[M,24,4,523,27,27,627],\n[M,24,5,524,24,12,531],\n[M,27,6,606,27,26,626],\n[M,26,6,587,26,17,598],\n[M,25,6,539,25,46,579],\n[M,25,14,547,25,45,578],\n[M,25,14,547,25,36,569],\n[M,29,4,640,32,27,746],\n[M,29,5,641,29,12,648],\n[M,32,6,725,32,26,745],\n[M,31,6,706,31,17,717],\n[M,30,6,656,30,48,698],\n[M,30,14,664,30,47,697],\n[M,30,14,664,30,38,688],\n[M,36,0,758,46,3,1018],\n[M,37,2,811,45,11,1014],\n[M,37,3,812,37,10,819],\n[M,39,32,886,39,46,900],\n[M,39,33,887,39,40,894],\n[M,40,4,914,45,10,1013],\n[M,39,4,858,39,54,908],\n[M,39,17,871,39,30,884],\n[M,38,4,825,38,31,852],\n[M,48,0,1020,50,3,1101],\n[M,49,2,1047,49,52,1097],\n[M,49,3,1048,49,10,1055],\n[M,49,12,1057,49,51,1096],\n[M,52,0,1103,62,3,1285],\n[M,54,4,1164,54,20,1180],\n[M,53,2,1136,61,5,1281],\n[M,57,8,1229,57,17,1238],\n[M,56,9,1207,56,21,1219],\n[M,55,4,1185,60,9,1275],\n[M,53,8,1142,53,16,1150],\n[M,64,0,1287,69,3,1391],\n[M,66,4,1343,66,20,1359],\n[M,65,2,1315,68,5,1387],\n[M,67,17,1377,67,21,1381],\n[M,67,4,1364,67,21,1381],\n[M,65,8,1321,65,16,1329],\n[M,71,0,1393,85,3,2007],\n[M,74,16,1535,84,12,1999],\n[M,80,34,1778,80,37,1781],\n[M,80,25,1769,80,38,1782],\n[M,77,12,1616,80,40,1784],\n[M,78,49,1690,78,52,1693],\n[M,78,42,1683,78,53,1694],\n[M,78,22,1663,78,53,1694],\n[M,77,20,1624,80,23,1767],\n[M,76,10,1577,80,40,1784],\n[M,75,8,1551,84,11,1998],\n[M,81,52,1837,81,58,1843],\n[M,81,70,1855,81,73,1858],\n[M,81,61,1846,81,74,1859],\n[M,81,37,1822,81,76,1861],\n[M,81,45,1830,81,59,1844],\n[M,81,10,1795,81,76,1861],\n[M,82,52,1914,82,58,1920],\n[M,82,61,1923,82,78,1940],\n[M,82,62,1924,82,69,1931],\n[M,82,71,1933,82,77,1939],\n[M,82,37,1899,82,80,1942],\n[M,82,45,1907,82,59,1921],\n[M,82,10,1872,82,80,1942],\n[M,74,6,1525,84,16,2003],\n[M,73,6,1495,73,29,1518],\n[M,72,6,1464,72,30,1488],\n[M,89,4,2088,94,7,2434],\n[M,92,17,2315,92,28,2326],\n[M,92,33,2331,92,97,2395],\n[M,92,17,2315,92,98,2396],\n[M,93,6,2403,93,29,2426],\n[M,95,4,2440,98,7,2557],\n[M,96,17,2485,96,28,2496],\n[M,96,33,2501,96,50,2518],\n[M,96,17,2485,96,51,2519],\n[M,97,6,2526,97,29,2549],\n[M,100,4,2601,120,7,3256],\n[M,101,9,2687,101,17,2695],\n[M,101,9,2687,101,30,2708],\n[M,103,8,2778,103,11,2781],\n[M,104,28,2810,104,36,2818],\n[M,108,34,3008,108,42,3016],\n[M,111,12,3086,111,15,3089],\n[M,109,10,3029,111,15,3089],\n[M,108,8,2982,115,11,3175],\n[M,114,12,3160,114,15,3163],\n[M,112,10,3100,114,15,3163],\n[M,108,14,2988,108,22,2996],\n[M,108,24,2998,108,43,3017],\n[M,118,8,3235,118,11,3238],\n[M,104,14,2796,104,37,2819],\n[M,121,4,3262,129,7,3494],\n[M,122,9,3299,122,17,3307],\n[M,122,9,3299,122,30,3320],\n[M,124,8,3390,124,11,3393],\n[M,127,8,3473,127,11,3476],\n[M,131,4,3546,133,7,3657],\n[M,132,6,3629,132,26,3649],\n[M,134,4,3663,136,7,3749],\n[M,135,6,3697,135,50,3741],\n[M,135,7,3698,135,15,3706],\n[M,135,17,3708,135,49,3740],\n[M,135,18,3709,135,25,3716],\n[M,135,35,3726,135,47,3738],\n[M,135,27,3718,135,48,3739],\n[M,137,4,3755,139,7,3816],\n[M,138,18,3795,138,30,3807],\n[M,138,6,3783,138,31,3808],\n[M,141,4,3864,157,7,4544],\n[M,142,9,3950,142,17,3958],\n[M,142,9,3950,142,30,3971],\n[M,143,8,3981,146,29,4155],\n[M,143,9,3982,143,17,3990],\n[M,144,57,4049,144,65,4057],\n[M,145,10,4070,145,64,4124],\n[M,145,11,4071,145,18,4078],\n[M,146,19,4145,146,27,4153],\n[M,146,10,4136,146,28,4154],\n[M,145,20,4080,145,63,4123],\n[M,144,10,4002,144,66,4058],\n[M,148,8,4176,155,29,4526],\n[M,148,9,4177,148,17,4185],\n[M,149,50,4237,149,58,4245],\n[M,150,20,4278,150,28,4286],\n[M,151,10,4299,154,82,4495],\n[M,151,11,4300,151,18,4307],\n[M,153,47,4385,153,69,4407],\n[M,153,48,4386,153,55,4393],\n[M,153,57,4395,153,68,4406],\n[M,155,19,4516,155,27,4524],\n[M,155,10,4507,155,28,4525],\n[M,154,12,4425,154,81,4494],\n[M,153,12,4350,153,73,4411],\n[M,153,25,4363,153,45,4383],\n[M,152,12,4321,152,27,4336],\n[M,150,10,4268,150,29,4287],\n[M,149,10,4197,149,69,4256],\n[M,158,4,4550,163,7,4760],\n[M,159,6,4584,162,27,4752],\n[M,159,7,4585,159,15,4593],\n[M,160,55,4650,160,63,4658],\n[M,161,8,4669,161,62,4723],\n[M,161,9,4670,161,16,4677],\n[M,162,17,4742,162,25,4750],\n[M,162,8,4733,162,26,4751],\n[M,161,18,4679,161,61,4722],\n[M,160,8,4603,160,64,4659],\n[M,165,4,4828,192,7,5943],\n[M,166,13,4918,166,21,4926],\n[M,166,13,4918,166,34,4939],\n[M,167,8,4978,182,29,5648],\n[M,167,9,4979,167,17,4987],\n[M,168,50,5039,168,58,5047],\n[M,169,20,5080,169,28,5088],\n[M,170,10,5101,181,72,5617],\n[M,170,11,5102,170,18,5109],\n[M,173,14,5197,179,20,5496],\n[M,173,15,5198,173,22,5205],\n[M,174,24,5231,174,37,5244],\n[M,175,38,5284,175,48,5294],\n[M,176,29,5326,176,37,5334],\n[M,177,22,5358,177,34,5370],\n[M,177,36,5372,177,50,5386],\n[M,177,52,5388,177,64,5400],\n[M,178,22,5424,178,34,5436],\n[M,178,36,5438,178,50,5452],\n[M,178,56,5458,178,68,5470],\n[M,181,45,5590,181,67,5612],\n[M,181,46,5591,181,53,5598],\n[M,181,55,5600,181,66,5611],\n[M,182,19,5638,182,27,5646],\n[M,182,10,5629,182,28,5647],\n[M,181,12,5557,181,71,5616],\n[M,181,25,5570,181,43,5588],\n[M,180,12,5514,180,41,5543],\n[M,172,12,5152,179,24,5500],\n[M,176,20,5317,178,73,5475],\n[M,178,56,5458,178,72,5474],\n[M,178,36,5438,178,54,5456],\n[M,172,25,5165,172,41,5181],\n[M,171,12,5123,171,27,5138],\n[M,169,10,5070,169,29,5089],\n[M,168,10,4999,168,69,5058],\n[M,184,8,5669,190,29,5925],\n[M,184,9,5670,184,17,5678],\n[M,185,57,5737,185,65,5745],\n[M,186,10,5758,189,49,5894],\n[M,186,11,5759,186,18,5766],\n[M,188,28,5831,188,38,5841],\n[M,190,19,5915,190,27,5923],\n[M,190,10,5906,190,28,5924],\n[M,189,12,5857,189,48,5893],\n[M,188,12,5815,188,40,5843],\n[M,188,20,5823,188,39,5842],\n[M,187,12,5780,187,33,5801],\n[M,185,10,5690,185,66,5746],\n[M,166,54,4959,166,62,4967],\n[M,166,40,4945,166,63,4968],\n[M,166,9,4914,166,35,4940],\n[M,193,4,5949,201,7,6235],\n[M,194,6,5983,200,27,6227],\n[M,194,7,5984,194,15,5992],\n[M,195,55,6049,195,63,6057],\n[M,196,8,6068,199,47,6198],\n[M,196,9,6069,196,16,6076],\n[M,198,26,6137,198,36,6147],\n[M,200,17,6217,200,25,6225],\n[M,200,8,6208,200,26,6226],\n[M,199,10,6161,199,46,6197],\n[M,198,10,6121,198,38,6149],\n[M,198,18,6129,198,37,6148],\n[M,197,10,6088,197,31,6109],\n[M,195,8,6002,195,64,6058],\n[M,203,4,6300,230,7,7450],\n[M,204,13,6390,204,21,6398],\n[M,204,13,6390,204,34,6411],\n[M,205,8,6450,220,29,7138],\n[M,205,9,6451,205,17,6459],\n[M,206,50,6511,206,58,6519],\n[M,207,20,6552,207,28,6560],\n[M,208,10,6573,219,72,7107],\n[M,208,11,6574,208,18,6581],\n[M,211,14,6670,217,20,6969],\n[M,211,15,6671,211,22,6678],\n[M,212,24,6704,212,37,6717],\n[M,213,38,6757,213,48,6767],\n[M,214,29,6799,214,37,6807],\n[M,215,22,6831,215,34,6843],\n[M,215,36,6845,215,50,6859],\n[M,215,52,6861,215,64,6873],\n[M,216,22,6897,216,34,6909],\n[M,216,36,6911,216,50,6925],\n[M,216,56,6931,216,68,6943],\n[M,219,45,7080,219,67,7102],\n[M,219,46,7081,219,53,7088],\n[M,219,55,7090,219,66,7101],\n[M,220,19,7128,220,27,7136],\n[M,220,10,7119,220,28,7137],\n[M,219,12,7047,219,71,7106],\n[M,219,25,7060,219,43,7078],\n[M,218,12,6987,218,58,7033],\n[M,210,12,6625,217,24,6973],\n[M,214,20,6790,216,73,6948],\n[M,216,56,6931,216,72,6947],\n[M,216,36,6911,216,54,6929],\n[M,210,25,6638,210,41,6654],\n[M,209,12,6595,209,28,6611],\n[M,207,10,6542,207,29,6561],\n[M,206,10,6471,206,69,6530],\n[M,222,8,7159,228,29,7432],\n[M,222,9,7160,222,17,7168],\n[M,223,57,7227,223,65,7235],\n[M,224,10,7248,227,66,7401],\n[M,224,11,7249,224,18,7256],\n[M,226,28,7321,226,38,7331],\n[M,228,19,7422,228,27,7430],\n[M,228,10,7413,228,28,7431],\n[M,227,12,7347,227,65,7400],\n[M,226,12,7305,226,40,7333],\n[M,226,20,7313,226,39,7332],\n[M,225,12,7270,225,33,7291],\n[M,223,10,7180,223,66,7236],\n[M,204,54,6431,204,62,6439],\n[M,204,40,6417,204,63,6440],\n[M,204,9,6386,204,35,6412],\n[M,231,4,7456,239,7,7759],\n[M,232,6,7490,238,27,7751],\n[M,232,7,7491,232,15,7499],\n[M,233,55,7556,233,63,7564],\n[M,234,8,7575,237,64,7722],\n[M,234,9,7576,234,16,7583],\n[M,236,26,7644,236,36,7654],\n[M,238,17,7741,238,25,7749],\n[M,238,8,7732,238,26,7750],\n[M,237,10,7668,237,63,7721],\n[M,236,10,7628,236,38,7656],\n[M,236,18,7636,236,37,7655],\n[M,235,10,7595,235,31,7616],\n[M,233,8,7509,233,64,7565],\n[M,241,4,7835,268,7,8935],\n[M,242,9,7921,242,17,7929],\n[M,242,9,7921,242,30,7942],\n[M,243,8,7960,249,29,8221],\n[M,243,9,7961,243,17,7969],\n[M,244,57,8028,244,65,8036],\n[M,245,10,8049,248,54,8190],\n[M,245,11,8050,245,18,8057],\n[M,247,28,8122,247,38,8132],\n[M,249,19,8211,249,27,8219],\n[M,249,10,8202,249,28,8220],\n[M,248,12,8148,248,53,8189],\n[M,247,12,8106,247,40,8134],\n[M,247,20,8114,247,39,8133],\n[M,246,12,8071,246,33,8092],\n[M,244,10,7981,244,66,8037],\n[M,251,8,8242,266,29,8917],\n[M,251,9,8243,251,17,8251],\n[M,252,50,8303,252,58,8311],\n[M,253,20,8344,253,28,8352],\n[M,254,10,8365,265,72,8886],\n[M,254,11,8366,254,18,8373],\n[M,257,14,8461,263,20,8760],\n[M,257,15,8462,257,22,8469],\n[M,258,24,8495,258,37,8508],\n[M,259,38,8548,259,48,8558],\n[M,260,29,8590,260,37,8598],\n[M,261,22,8622,261,34,8634],\n[M,261,36,8636,261,50,8650],\n[M,261,52,8652,261,64,8664],\n[M,262,22,8688,262,34,8700],\n[M,262,36,8702,262,50,8716],\n[M,262,56,8722,262,68,8734],\n[M,265,45,8859,265,67,8881],\n[M,265,46,8860,265,53,8867],\n[M,265,55,8869,265,66,8880],\n[M,266,19,8907,266,27,8915],\n[M,266,10,8898,266,28,8916],\n[M,265,12,8826,265,71,8885],\n[M,265,25,8839,265,43,8857],\n[M,264,12,8778,264,46,8812],\n[M,256,12,8416,263,24,8764],\n[M,260,20,8581,262,73,8739],\n[M,262,56,8722,262,72,8738],\n[M,262,36,8702,262,54,8720],\n[M,256,25,8429,256,41,8445],\n[M,255,12,8387,255,27,8402],\n[M,253,10,8334,253,29,8353],\n[M,252,10,8263,252,69,8322],\n[M,269,4,8941,277,7,9232],\n[M,270,6,8975,276,27,9224],\n[M,270,7,8976,270,15,8984],\n[M,271,55,9041,271,63,9049],\n[M,272,8,9060,275,52,9195],\n[M,272,9,9061,272,16,9068],\n[M,274,26,9129,274,36,9139],\n[M,276,17,9214,276,25,9222],\n[M,276,8,9205,276,26,9223],\n[M,275,10,9153,275,51,9194],\n[M,274,10,9113,274,38,9141],\n[M,274,18,9121,274,37,9140],\n[M,273,10,9080,273,31,9101],\n[M,271,8,8994,271,64,9050],\n[M,279,4,9274,306,7,10461],\n[M,280,9,9360,280,17,9368],\n[M,280,9,9360,280,30,9381],\n[M,281,8,9423,284,29,9582],\n[M,281,9,9424,281,17,9432],\n[M,282,46,9480,282,54,9488],\n[M,283,10,9501,283,60,9551],\n[M,283,11,9502,283,18,9509],\n[M,284,19,9572,284,27,9580],\n[M,284,10,9563,284,28,9581],\n[M,283,20,9511,283,59,9550],\n[M,282,10,9444,282,55,9489],\n[M,285,28,9611,285,36,9619],\n[M,286,34,9656,286,42,9664],\n[M,288,12,9708,297,33,10174],\n[M,288,13,9709,288,21,9717],\n[M,289,43,9762,289,51,9770],\n[M,290,24,9807,290,32,9815],\n[M,291,14,9832,296,29,10139],\n[M,291,15,9833,291,22,9840],\n[M,293,57,9940,293,73,9956],\n[M,293,78,9961,293,87,9970],\n[M,293,57,9940,293,88,9971],\n[M,295,49,10081,295,73,10105],\n[M,295,50,10082,295,57,10089],\n[M,295,59,10091,295,70,10102],\n[M,295,59,10091,295,72,10104],\n[M,297,23,10164,297,31,10172],\n[M,297,14,10155,297,32,10173],\n[M,296,16,10126,296,28,10138],\n[M,295,16,10048,295,76,10108],\n[M,295,29,10061,295,48,10080],\n[M,294,16,9993,294,53,10030],\n[M,293,16,9899,293,92,9975],\n[M,293,29,9912,293,55,9938],\n[M,292,16,9858,292,39,9881],\n[M,290,14,9797,290,33,9816],\n[M,289,14,9733,289,62,9781],\n[M,287,10,9677,297,33,10174],\n[M,286,8,9630,304,11,10443],\n[M,299,12,10207,303,33,10431],\n[M,299,13,10208,299,21,10216],\n[M,300,43,10261,300,51,10269],\n[M,301,24,10305,301,32,10313],\n[M,302,14,10330,302,80,10396],\n[M,302,15,10331,302,22,10338],\n[M,303,23,10421,303,31,10429],\n[M,303,14,10412,303,32,10430],\n[M,302,24,10340,302,79,10395],\n[M,301,14,10295,301,33,10314],\n[M,300,14,10232,300,61,10279],\n[M,298,10,10185,303,33,10431],\n[M,286,14,9636,286,22,9644],\n[M,286,24,9646,286,43,9665],\n[M,280,6,9357,305,9,10453],\n[M,285,14,9597,285,37,9620],\n[M,280,52,9403,280,60,9411],\n[M,280,34,9385,280,62,9413],\n[M,280,38,9389,280,61,9412],\n[M,307,4,10467,312,7,10662],\n[M,308,6,10501,311,27,10654],\n[M,308,7,10502,308,15,10510],\n[M,309,44,10556,309,52,10564],\n[M,310,8,10575,310,58,10625],\n[M,310,9,10576,310,16,10583],\n[M,311,17,10644,311,25,10652],\n[M,311,8,10635,311,26,10653],\n[M,310,18,10585,310,57,10624],\n[M,309,8,10520,309,53,10565],\n[M,314,4,10724,327,7,11468],\n[M,315,13,10814,315,21,10822],\n[M,315,13,10814,315,34,10835],\n[M,316,8,10874,320,160,11168],\n[M,316,9,10875,316,17,10883],\n[M,317,19,10904,317,34,10919],\n[M,317,52,10937,317,60,10945],\n[M,318,20,10977,318,28,10985],\n[M,319,10,10998,320,159,11167],\n[M,319,11,10999,319,18,11006],\n[M,320,12,11020,320,158,11166],\n[M,318,10,10967,318,29,10986],\n[M,317,10,10895,317,70,10955],\n[M,317,19,10904,317,50,10935],\n[M,322,8,11189,325,160,11450],\n[M,322,9,11190,322,17,11198],\n[M,323,26,11226,323,41,11241],\n[M,323,59,11259,323,67,11267],\n[M,324,10,11280,325,159,11449],\n[M,324,11,11281,324,18,11288],\n[M,325,12,11302,325,158,11448],\n[M,323,10,11210,323,68,11268],\n[M,323,26,11226,323,57,11257],\n[M,315,54,10855,315,62,10863],\n[M,315,40,10841,315,63,10864],\n[M,315,9,10810,315,35,10836],\n[M,328,4,11474,333,7,11771],\n[M,329,6,11508,332,158,11763],\n[M,329,7,11509,329,15,11517],\n[M,330,24,11543,330,39,11558],\n[M,330,57,11576,330,65,11584],\n[M,331,8,11595,332,157,11762],\n[M,331,9,11596,331,16,11603],\n[M,332,10,11615,332,156,11761],\n[M,330,8,11527,330,66,11585],\n[M,330,24,11543,330,55,11574],\n[M,335,4,11821,337,7,11932],\n[M,336,6,11904,336,26,11924],\n[M,338,4,11938,343,7,12153],\n[M,339,6,11972,342,41,12145],\n[M,339,7,11973,339,15,11981],\n[M,340,8,11991,340,68,12051],\n[M,340,9,11992,340,16,11999],\n[M,340,54,12037,340,66,12049],\n[M,341,8,12061,341,49,12102],\n[M,341,9,12062,341,16,12069],\n[M,342,25,12129,342,39,12143],\n[M,342,8,12112,342,40,12144],\n[M,341,18,12071,341,48,12101],\n[M,340,46,12029,340,67,12050],\n[M,340,18,12001,340,44,12027],\n[M,345,4,12202,347,7,12313],\n[M,346,6,12285,346,26,12305],\n[M,348,4,12319,353,7,12538],\n[M,349,6,12353,352,28,12530],\n[M,349,7,12354,349,15,12362],\n[M,350,8,12372,350,106,12470],\n[M,350,9,12373,350,16,12380],\n[M,350,82,12446,350,95,12459],\n[M,351,15,12487,351,27,12499],\n[M,352,8,12510,352,27,12529],\n[M,351,8,12480,351,28,12500],\n[M,350,18,12382,350,105,12469],\n[M,350,26,12390,350,104,12468],\n[M,350,26,12390,350,96,12460],\n[M,350,73,12437,350,96,12460],\n[M,355,4,12580,366,7,13113],\n[M,356,9,12666,356,17,12674],\n[M,356,9,12666,356,30,12687],\n[M,357,8,12729,359,74,12885],\n[M,357,9,12730,357,17,12738],\n[M,358,60,12800,358,68,12808],\n[M,359,10,12821,359,73,12884],\n[M,359,11,12822,359,18,12829],\n[M,359,20,12831,359,72,12883],\n[M,358,10,12750,358,69,12809],\n[M,361,8,12906,364,74,13095],\n[M,361,9,12907,361,17,12915],\n[M,362,53,12970,362,61,12978],\n[M,363,20,13010,363,28,13018],\n[M,364,10,13031,364,73,13094],\n[M,364,11,13032,364,18,13039],\n[M,364,20,13041,364,72,13093],\n[M,363,10,13000,363,29,13019],\n[M,362,10,12927,362,71,12988],\n[M,356,52,12709,356,60,12717],\n[M,356,34,12691,356,62,12719],\n[M,356,38,12695,356,61,12718],\n[M,367,4,13119,371,7,13313],\n[M,368,6,13153,370,72,13305],\n[M,368,7,13154,368,15,13162],\n[M,369,58,13222,369,66,13230],\n[M,370,8,13241,370,71,13304],\n[M,370,9,13242,370,16,13249],\n[M,370,18,13251,370,70,13303],\n[M,369,8,13172,369,67,13231],\n[M,373,4,13371,419,7,15239],\n[M,374,9,13457,374,17,13465],\n[M,374,9,13457,374,30,13478],\n[M,375,8,13520,380,30,13741],\n[M,375,9,13521,375,17,13529],\n[M,376,53,13584,376,61,13592],\n[M,377,10,13605,379,41,13709],\n[M,377,11,13606,377,18,13613],\n[M,379,28,13696,379,38,13706],\n[M,380,10,13721,380,29,13740],\n[M,379,12,13680,379,40,13708],\n[M,379,20,13688,379,39,13707],\n[M,378,12,13627,378,51,13666],\n[M,376,10,13541,376,62,13593],\n[M,381,28,13770,381,36,13778],\n[M,382,34,13815,382,42,13823],\n[M,388,12,13990,399,33,14537],\n[M,388,13,13991,388,21,13999],\n[M,389,50,14051,389,58,14059],\n[M,390,24,14096,390,32,14104],\n[M,391,14,14121,398,29,14502],\n[M,391,15,14122,391,22,14129],\n[M,393,50,14214,393,70,14234],\n[M,393,51,14215,393,58,14222],\n[M,393,60,14224,393,67,14231],\n[M,393,60,14224,393,69,14233],\n[M,395,29,14333,396,49,14421],\n[M,395,30,14334,395,41,14345],\n[M,396,36,14408,396,46,14418],\n[M,397,18,14441,397,44,14467],\n[M,397,19,14442,397,26,14449],\n[M,397,28,14451,397,43,14466],\n[M,399,23,14527,399,31,14535],\n[M,399,14,14518,399,32,14536],\n[M,398,16,14489,398,28,14501],\n[M,395,16,14320,397,48,14471],\n[M,396,20,14392,396,48,14420],\n[M,396,28,14400,396,47,14419],\n[M,395,43,14347,395,66,14370],\n[M,394,16,14256,394,62,14302],\n[M,393,16,14180,393,74,14238],\n[M,393,29,14193,393,49,14213],\n[M,392,16,14147,392,31,14162],\n[M,390,14,14086,390,33,14105],\n[M,389,14,14015,389,69,14070],\n[M,385,14,13906,385,35,13927],\n[M,384,25,13876,387,15,13977],\n[M,386,14,13942,386,33,13961],\n[M,383,10,13836,399,33,14537],\n[M,382,8,13789,409,11,14922],\n[M,401,12,14570,408,33,14910],\n[M,401,13,14571,401,21,14579],\n[M,402,50,14631,402,58,14639],\n[M,403,24,14676,403,32,14684],\n[M,404,14,14701,407,29,14875],\n[M,404,15,14702,404,22,14709],\n[M,406,32,14832,406,42,14842],\n[M,408,23,14900,408,31,14908],\n[M,408,14,14891,408,32,14909],\n[M,407,16,14862,407,28,14874],\n[M,406,16,14816,406,44,14844],\n[M,406,24,14824,406,43,14843],\n[M,405,16,14727,405,87,14798],\n[M,403,14,14666,403,33,14685],\n[M,402,14,14595,402,69,14650],\n[M,400,10,14548,408,33,14910],\n[M,382,14,13795,382,22,13803],\n[M,382,24,13805,382,43,13824],\n[M,411,8,14943,417,29,15221],\n[M,411,9,14944,411,17,14952],\n[M,412,53,15007,412,61,15015],\n[M,413,10,15028,416,25,15190],\n[M,413,11,15029,413,18,15036],\n[M,415,28,15151,415,38,15161],\n[M,417,19,15211,417,27,15219],\n[M,417,10,15202,417,28,15220],\n[M,416,12,15177,416,24,15189],\n[M,415,12,15135,415,40,15163],\n[M,415,20,15143,415,39,15162],\n[M,414,12,15050,414,83,15121],\n[M,412,10,14964,412,62,15016],\n[M,381,14,13756,381,37,13779],\n[M,374,52,13500,374,60,13508],\n[M,374,34,13482,374,62,13510],\n[M,374,38,13486,374,61,13509],\n[M,420,4,15245,428,7,15553],\n[M,421,6,15279,427,27,15545],\n[M,421,7,15280,421,15,15288],\n[M,422,51,15341,422,59,15349],\n[M,423,8,15360,426,23,15516],\n[M,423,9,15361,423,16,15368],\n[M,425,26,15479,425,36,15489],\n[M,427,17,15535,427,25,15543],\n[M,427,8,15526,427,26,15544],\n[M,426,10,15503,426,22,15515],\n[M,425,10,15463,425,38,15491],\n[M,425,18,15471,425,37,15490],\n[M,424,10,15380,424,81,15451],\n[M,422,8,15298,422,60,15350],\n[M,430,4,15625,446,7,16355],\n[M,431,9,15711,431,22,15724],\n[M,431,9,15711,431,35,15737],\n[M,432,8,15784,436,81,16001],\n[M,432,9,15785,432,17,15793],\n[M,433,53,15848,433,66,15861],\n[M,434,20,15884,434,33,15897],\n[M,435,10,15910,436,80,16000],\n[M,435,11,15911,435,18,15918],\n[M,436,12,15932,436,79,15999],\n[M,434,10,15874,434,34,15898],\n[M,433,10,15805,433,67,15862],\n[M,438,8,16022,444,68,16337],\n[M,438,9,16023,438,17,16031],\n[M,439,46,16079,439,59,16092],\n[M,440,20,16125,440,33,16138],\n[M,441,10,16151,444,67,16336],\n[M,441,11,16152,441,18,16159],\n[M,443,47,16237,443,73,16263],\n[M,443,48,16238,443,55,16245],\n[M,443,57,16247,443,72,16262],\n[M,444,12,16281,444,66,16335],\n[M,443,12,16202,443,77,16267],\n[M,443,25,16215,443,45,16235],\n[M,442,12,16173,442,27,16188],\n[M,440,10,16115,440,34,16139],\n[M,439,10,16043,439,70,16103],\n[M,431,57,15759,431,70,15772],\n[M,431,39,15741,431,72,15774],\n[M,431,43,15745,431,71,15773],\n[M,447,4,16361,452,7,16578],\n[M,448,6,16395,451,79,16570],\n[M,448,7,16396,448,15,16404],\n[M,449,51,16457,449,64,16470],\n[M,450,8,16481,451,78,16569],\n[M,450,9,16482,450,16,16489],\n[M,451,10,16501,451,77,16568],\n[M,449,8,16414,449,65,16471],\n[M,454,4,16668,466,7,17211],\n[M,455,9,16754,455,17,16762],\n[M,455,9,16754,455,30,16775],\n[M,456,8,16817,459,72,16984],\n[M,456,9,16818,456,17,16826],\n[M,457,53,16881,457,61,16889],\n[M,458,10,16902,459,71,16983],\n[M,458,11,16903,458,18,16910],\n[M,459,12,16924,459,70,16982],\n[M,457,10,16838,457,62,16890],\n[M,461,8,17005,464,80,17193],\n[M,461,9,17006,461,17,17014],\n[M,462,46,17062,462,54,17070],\n[M,463,20,17102,463,28,17110],\n[M,464,10,17123,464,79,17192],\n[M,464,11,17124,464,18,17131],\n[M,464,20,17133,464,78,17191],\n[M,463,10,17092,463,29,17111],\n[M,462,10,17026,462,64,17080],\n[M,455,52,16797,455,60,16805],\n[M,455,34,16779,455,62,16807],\n[M,455,38,16783,455,61,16806],\n[M,467,4,17217,472,7,17420],\n[M,468,6,17251,471,70,17412],\n[M,468,7,17252,468,15,17260],\n[M,469,51,17313,469,59,17321],\n[M,470,8,17332,471,69,17411],\n[M,470,9,17333,470,16,17340],\n[M,471,10,17352,471,68,17410],\n[M,469,8,17270,469,60,17322],\n[M,474,4,17483,504,7,18735],\n[M,475,9,17569,475,17,17577],\n[M,475,9,17569,475,30,17590],\n[M,476,8,17600,479,33,17778],\n[M,476,9,17601,476,17,17609],\n[M,477,53,17664,477,61,17672],\n[M,478,10,17685,478,68,17743],\n[M,478,11,17686,478,18,17693],\n[M,479,19,17764,479,31,17776],\n[M,479,10,17755,479,32,17777],\n[M,478,20,17695,478,67,17742],\n[M,477,10,17621,477,62,17673],\n[M,480,28,17807,480,36,17815],\n[M,481,34,17852,481,42,17860],\n[M,483,12,17900,490,37,18241],\n[M,483,13,17901,483,21,17909],\n[M,484,50,17961,484,58,17969],\n[M,485,24,18006,485,32,18014],\n[M,486,14,18031,489,51,18202],\n[M,486,15,18032,486,22,18039],\n[M,488,51,18125,488,71,18145],\n[M,488,52,18126,488,59,18133],\n[M,488,61,18135,488,68,18142],\n[M,488,61,18135,488,70,18144],\n[M,490,23,18227,490,35,18239],\n[M,490,14,18218,490,36,18240],\n[M,489,16,18167,489,50,18201],\n[M,488,16,18090,488,75,18149],\n[M,488,29,18103,488,49,18123],\n[M,487,16,18057,487,31,18072],\n[M,485,14,17996,485,33,18015],\n[M,484,14,17925,484,69,17980],\n[M,482,10,17873,490,37,18241],\n[M,481,8,17826,497,11,18518],\n[M,492,12,18279,496,37,18506],\n[M,492,13,18280,492,21,18288],\n[M,493,50,18340,493,58,18348],\n[M,494,24,18384,494,32,18392],\n[M,495,14,18409,495,72,18467],\n[M,495,15,18410,495,22,18417],\n[M,496,23,18492,496,35,18504],\n[M,496,14,18483,496,36,18505],\n[M,495,24,18419,495,71,18466],\n[M,494,14,18374,494,33,18393],\n[M,493,14,18304,493,68,18358],\n[M,491,10,18252,496,37,18506],\n[M,481,14,17832,481,22,17840],\n[M,481,24,17842,481,43,17861],\n[M,499,8,18539,502,33,18717],\n[M,499,9,18540,499,17,18548],\n[M,500,53,18603,500,61,18611],\n[M,501,10,18624,501,68,18682],\n[M,501,11,18625,501,18,18632],\n[M,502,19,18703,502,31,18715],\n[M,502,10,18694,502,32,18716],\n[M,501,20,18634,501,67,18681],\n[M,500,10,18560,500,62,18612],\n[M,480,14,17793,480,37,17816],\n[M,505,4,18741,510,7,18955],\n[M,506,6,18775,509,31,18947],\n[M,506,7,18776,506,15,18784],\n[M,507,51,18837,507,59,18845],\n[M,508,8,18856,508,66,18914],\n[M,508,9,18857,508,16,18864],\n[M,509,17,18933,509,29,18945],\n[M,509,8,18924,509,30,18946],\n[M,508,18,18866,508,65,18913],\n[M,507,8,18794,507,60,18846],\n[M,512,4,19021,558,7,21009],\n[M,513,9,19107,513,17,19115],\n[M,513,9,19107,513,30,19128],\n[M,514,8,19138,521,29,19473],\n[M,514,9,19139,514,17,19147],\n[M,515,53,19202,515,61,19210],\n[M,516,10,19223,520,54,19442],\n[M,516,11,19224,516,18,19231],\n[M,518,29,19317,518,37,19325],\n[M,520,34,19422,520,44,19432],\n[M,521,19,19463,521,27,19471],\n[M,521,10,19454,521,28,19472],\n[M,520,12,19400,520,53,19441],\n[M,520,20,19408,520,52,19440],\n[M,519,12,19340,519,58,19386],\n[M,518,12,19300,518,38,19326],\n[M,517,12,19246,517,52,19286],\n[M,515,10,19159,515,62,19211],\n[M,522,28,19502,522,36,19510],\n[M,523,34,19547,523,42,19555],\n[M,525,12,19595,536,33,20169],\n[M,525,13,19596,525,21,19604],\n[M,526,50,19656,526,58,19664],\n[M,527,24,19701,527,32,19709],\n[M,528,14,19726,535,65,20134],\n[M,528,15,19727,528,22,19734],\n[M,530,51,19820,530,71,19840],\n[M,530,52,19821,530,59,19828],\n[M,530,61,19830,530,68,19837],\n[M,530,61,19830,530,70,19839],\n[M,532,33,19924,532,41,19932],\n[M,534,50,20039,534,74,20063],\n[M,534,51,20040,534,58,20047],\n[M,534,60,20049,534,73,20062],\n[M,535,45,20114,535,55,20124],\n[M,536,23,20159,536,31,20167],\n[M,536,14,20150,536,32,20168],\n[M,535,16,20085,535,64,20133],\n[M,535,24,20093,535,63,20132],\n[M,535,24,20093,535,56,20125],\n[M,534,16,20005,534,78,20067],\n[M,534,29,20018,534,48,20037],\n[M,533,16,19951,533,52,19987],\n[M,532,16,19907,532,42,19933],\n[M,531,16,19862,531,43,19889],\n[M,530,16,19785,530,75,19844],\n[M,530,29,19798,530,49,19818],\n[M,529,16,19752,529,31,19767],\n[M,527,14,19691,527,33,19710],\n[M,526,14,19620,526,69,19675],\n[M,524,10,19568,536,33,20169],\n[M,523,8,19521,547,11,20619],\n[M,538,12,20207,546,33,20607],\n[M,538,13,20208,538,21,20216],\n[M,539,50,20268,539,58,20276],\n[M,540,24,20312,540,32,20320],\n[M,541,14,20337,545,58,20572],\n[M,541,15,20338,541,22,20345],\n[M,543,33,20439,543,41,20447],\n[M,545,38,20552,545,48,20562],\n[M,546,23,20597,546,31,20605],\n[M,546,14,20588,546,32,20606],\n[M,545,16,20530,545,57,20571],\n[M,545,24,20538,545,56,20570],\n[M,544,16,20466,544,62,20512],\n[M,543,16,20422,543,42,20448],\n[M,542,16,20364,542,56,20404],\n[M,540,14,20302,540,33,20321],\n[M,539,14,20232,539,68,20286],\n[M,537,10,20180,546,33,20607],\n[M,523,14,19527,523,22,19535],\n[M,523,24,19537,523,43,19556],\n[M,549,8,20640,556,29,20991],\n[M,549,9,20641,549,17,20649],\n[M,550,53,20704,550,61,20712],\n[M,551,10,20725,555,54,20960],\n[M,551,11,20726,551,18,20733],\n[M,553,29,20835,553,37,20843],\n[M,555,34,20940,555,44,20950],\n[M,556,19,20981,556,27,20989],\n[M,556,10,20972,556,28,20990],\n[M,555,12,20918,555,53,20959],\n[M,555,20,20926,555,52,20958],\n[M,554,12,20858,554,58,20904],\n[M,553,12,20818,553,38,20844],\n[M,552,12,20748,552,68,20804],\n[M,550,10,20661,550,62,20713],\n[M,522,14,19488,522,37,19511],\n[M,559,4,21015,568,7,21394],\n[M,560,6,21049,567,27,21386],\n[M,560,7,21050,560,15,21058],\n[M,561,51,21111,561,59,21119],\n[M,562,8,21130,566,52,21357],\n[M,562,9,21131,562,16,21138],\n[M,564,27,21236,564,35,21244],\n[M,566,32,21337,566,42,21347],\n[M,567,17,21376,567,25,21384],\n[M,567,8,21367,567,26,21385],\n[M,566,10,21315,566,51,21356],\n[M,566,18,21323,566,50,21355],\n[M,565,10,21257,565,56,21303],\n[M,564,10,21219,564,36,21245],\n[M,563,10,21151,563,66,21207],\n[M,561,8,21068,561,60,21120],\n[M,570,4,21438,603,7,22761],\n[M,571,9,21524,571,17,21532],\n[M,571,9,21524,571,30,21545],\n[M,572,8,21555,578,30,21819],\n[M,572,9,21556,572,17,21564],\n[M,573,10,21576,576,81,21753],\n[M,573,11,21577,573,18,21584],\n[M,575,19,21661,575,27,21669],\n[M,577,19,21774,577,31,21786],\n[M,578,10,21799,578,29,21818],\n[M,577,10,21765,577,32,21787],\n[M,576,12,21684,576,80,21752],\n[M,575,12,21654,575,28,21670],\n[M,574,12,21598,574,54,21640],\n[M,579,28,21848,579,36,21856],\n[M,580,34,21893,580,42,21901],\n[M,582,12,21941,586,37,22188],\n[M,582,13,21942,582,21,21950],\n[M,583,50,22002,583,58,22010],\n[M,584,24,22047,584,32,22055],\n[M,585,14,22072,585,91,22149],\n[M,585,15,22073,585,22,22080],\n[M,586,23,22174,586,35,22186],\n[M,586,14,22165,586,36,22187],\n[M,585,24,22082,585,90,22148],\n[M,584,14,22037,584,33,22056],\n[M,583,14,21966,583,69,22021],\n[M,581,10,21914,586,37,22188],\n[M,580,8,21867,594,11,22490],\n[M,588,12,22226,593,37,22478],\n[M,588,13,22227,588,21,22235],\n[M,589,14,22251,592,84,22439],\n[M,589,15,22252,589,22,22259],\n[M,591,23,22344,591,31,22352],\n[M,593,23,22464,593,35,22476],\n[M,593,14,22455,593,36,22477],\n[M,592,16,22371,592,83,22438],\n[M,591,16,22337,591,32,22353],\n[M,590,16,22277,590,58,22319],\n[M,587,10,22199,593,37,22478],\n[M,580,14,21873,580,22,21881],\n[M,580,24,21883,580,43,21902],\n[M,596,8,22511,601,33,22743],\n[M,596,9,22512,596,17,22520],\n[M,597,10,22532,600,80,22708],\n[M,597,11,22533,597,18,22540],\n[M,599,19,22617,599,27,22625],\n[M,601,19,22729,601,31,22741],\n[M,601,10,22720,601,32,22742],\n[M,600,12,22640,600,79,22707],\n[M,599,12,22610,599,28,22626],\n[M,598,12,22554,598,54,22596],\n[M,579,14,21834,579,37,21857],\n[M,604,4,22767,621,7,23385],\n[M,605,9,22804,605,17,22812],\n[M,605,9,22804,605,30,22825],\n[M,606,8,22835,612,30,23106],\n[M,606,9,22836,606,17,22844],\n[M,607,10,22856,610,88,23040],\n[M,607,11,22857,607,18,22864],\n[M,609,19,22941,609,27,22949],\n[M,611,19,23061,611,31,23073],\n[M,612,10,23086,612,29,23105],\n[M,611,10,23052,611,32,23074],\n[M,610,12,22964,610,87,23039],\n[M,609,12,22934,609,28,22950],\n[M,608,12,22878,608,54,22920],\n[M,614,8,23127,619,33,23367],\n[M,614,9,23128,614,17,23136],\n[M,615,10,23148,618,88,23332],\n[M,615,11,23149,615,18,23156],\n[M,617,19,23233,617,27,23241],\n[M,619,19,23353,619,31,23365],\n[M,619,10,23344,619,32,23366],\n[M,618,12,23256,618,87,23331],\n[M,617,12,23226,617,28,23242],\n[M,616,12,23170,616,54,23212],\n[M,623,4,23448,674,7,25576],\n[M,624,9,23534,624,17,23542],\n[M,624,9,23534,624,30,23555],\n[M,625,8,23565,635,30,23997],\n[M,625,9,23566,625,17,23574],\n[M,626,10,23586,633,25,23935],\n[M,626,11,23587,626,18,23594],\n[M,628,19,23660,628,27,23668],\n[M,630,29,23742,630,47,23760],\n[M,632,29,23899,632,37,23907],\n[M,634,19,23956,634,27,23964],\n[M,635,10,23977,635,29,23996],\n[M,634,10,23947,634,28,23965],\n[M,633,12,23922,633,24,23934],\n[M,632,12,23882,632,38,23908],\n[M,631,12,23775,631,105,23868],\n[M,630,12,23725,630,48,23761],\n[M,629,12,23683,629,40,23711],\n[M,628,12,23653,628,28,23669],\n[M,627,12,23608,627,43,23639],\n[M,636,28,24026,636,36,24034],\n[M,637,34,24071,637,42,24079],\n[M,639,12,24119,649,33,24633],\n[M,639,13,24120,639,21,24128],\n[M,640,40,24170,640,48,24178],\n[M,641,24,24215,641,32,24223],\n[M,642,14,24240,648,29,24598],\n[M,642,15,24241,642,22,24248],\n[M,644,41,24335,644,59,24353],\n[M,644,62,24356,644,72,24366],\n[M,644,77,24371,644,80,24374],\n[M,644,62,24356,644,81,24375],\n[M,647,33,24555,647,44,24566],\n[M,649,23,24623,649,31,24631],\n[M,649,14,24614,649,32,24632],\n[M,648,16,24585,648,28,24597],\n[M,647,16,24538,647,45,24567],\n[M,646,16,24489,646,47,24520],\n[M,645,16,24397,645,90,24471],\n[M,644,16,24310,644,85,24379],\n[M,644,29,24323,644,60,24354],\n[M,643,16,24266,643,42,24292],\n[M,641,14,24205,641,33,24224],\n[M,640,14,24144,640,59,24189],\n[M,638,10,24092,649,33,24633],\n[M,637,8,24045,661,11,25133],\n[M,651,12,24671,660,33,25121],\n[M,651,13,24672,651,21,24680],\n[M,652,40,24722,652,48,24730],\n[M,653,24,24766,653,32,24774],\n[M,654,14,24791,659,29,25086],\n[M,654,15,24792,654,22,24799],\n[M,656,33,24878,656,51,24896],\n[M,658,33,25043,658,44,25054],\n[M,660,23,25111,660,31,25119],\n[M,660,14,25102,660,32,25120],\n[M,659,16,25073,659,28,25085],\n[M,658,16,25026,658,45,25055],\n[M,657,16,24915,657,109,25008],\n[M,656,16,24861,656,52,24897],\n[M,655,16,24817,655,42,24843],\n[M,653,14,24756,653,33,24775],\n[M,652,14,24696,652,58,24740],\n[M,650,10,24644,660,33,25121],\n[M,637,14,24051,637,22,24059],\n[M,637,24,24061,637,43,24080],\n[M,663,8,25154,672,29,25558],\n[M,663,9,25155,663,17,25163],\n[M,664,10,25175,671,25,25527],\n[M,664,11,25176,664,18,25183],\n[M,666,19,25249,666,27,25257],\n[M,668,29,25331,668,47,25349],\n[M,670,29,25488,670,40,25499],\n[M,672,19,25548,672,27,25556],\n[M,672,10,25539,672,28,25557],\n[M,671,12,25514,671,24,25526],\n[M,670,12,25471,670,41,25500],\n[M,669,12,25364,669,105,25457],\n[M,668,12,25314,668,48,25350],\n[M,667,12,25272,667,40,25300],\n[M,666,12,25242,666,28,25258],\n[M,665,12,25197,665,43,25228],\n[M,636,14,24012,636,37,24035],\n[M,675,4,25582,700,7,26540],\n[M,676,9,25619,676,17,25627],\n[M,676,9,25619,676,30,25640],\n[M,677,8,25650,687,30,26085],\n[M,677,9,25651,677,17,25659],\n[M,678,10,25671,685,25,26023],\n[M,678,11,25672,678,18,25679],\n[M,680,19,25745,680,27,25753],\n[M,682,29,25827,682,47,25845],\n[M,684,29,25984,684,40,25995],\n[M,686,19,26044,686,27,26052],\n[M,687,10,26065,687,29,26084],\n[M,686,10,26035,686,28,26053],\n[M,685,12,26010,685,24,26022],\n[M,684,12,25967,684,41,25996],\n[M,683,12,25860,683,105,25953],\n[M,682,12,25810,682,48,25846],\n[M,681,12,25768,681,40,25796],\n[M,680,12,25738,680,28,25754],\n[M,679,12,25693,679,43,25724],\n[M,689,8,26106,698,29,26521],\n[M,689,9,26107,689,17,26115],\n[M,690,10,26127,697,25,26490],\n[M,690,11,26128,690,18,26135],\n[M,692,19,26201,692,27,26209],\n[M,694,29,26283,694,47,26301],\n[M,696,29,26451,696,40,26462],\n[M,698,19,26511,698,27,26519],\n[M,698,10,26502,698,28,26520],\n[M,697,12,26477,697,24,26489],\n[M,696,12,26434,696,41,26463],\n[M,695,12,26316,695,116,26420],\n[M,694,12,26266,694,48,26302],\n[M,693,12,26224,693,40,26252],\n[M,692,12,26194,692,28,26210],\n[M,691,12,26149,691,43,26180],\n[M,702,4,26604,737,7,27957],\n[M,703,9,26690,703,17,26698],\n[M,703,9,26690,703,30,26711],\n[M,704,8,26721,707,33,26884],\n[M,704,9,26722,704,17,26730],\n[M,705,42,26774,705,50,26782],\n[M,706,10,26795,706,64,26849],\n[M,706,11,26796,706,18,26803],\n[M,707,19,26870,707,31,26882],\n[M,707,10,26861,707,32,26883],\n[M,706,20,26805,706,63,26848],\n[M,705,10,26742,705,51,26783],\n[M,708,28,26913,708,36,26921],\n[M,709,34,26958,709,42,26966],\n[M,715,12,27133,722,37,27470],\n[M,715,13,27134,715,21,27142],\n[M,716,50,27194,716,58,27202],\n[M,717,24,27239,717,32,27247],\n[M,718,14,27264,721,47,27431],\n[M,718,15,27265,718,22,27272],\n[M,720,51,27358,720,71,27378],\n[M,720,52,27359,720,59,27366],\n[M,720,61,27368,720,68,27375],\n[M,720,61,27368,720,70,27377],\n[M,722,23,27456,722,35,27468],\n[M,722,14,27447,722,36,27469],\n[M,721,16,27400,721,46,27430],\n[M,720,16,27323,720,75,27382],\n[M,720,29,27336,720,49,27356],\n[M,719,16,27290,719,31,27305],\n[M,717,14,27229,717,33,27248],\n[M,716,14,27158,716,69,27213],\n[M,712,14,27049,712,35,27070],\n[M,711,25,27019,714,15,27120],\n[M,713,14,27085,713,33,27104],\n[M,710,10,26979,722,37,27470],\n[M,709,8,26932,730,11,27755],\n[M,724,12,27503,729,37,27743],\n[M,724,13,27504,724,21,27512],\n[M,725,50,27564,725,58,27572],\n[M,726,24,27609,726,32,27617],\n[M,727,14,27634,728,60,27704],\n[M,727,15,27635,727,22,27642],\n[M,729,23,27729,729,35,27741],\n[M,729,14,27720,729,36,27742],\n[M,728,16,27660,728,59,27703],\n[M,726,14,27599,726,33,27618],\n[M,725,14,27528,725,69,27583],\n[M,723,10,27481,729,37,27743],\n[M,709,14,26938,709,22,26946],\n[M,709,24,26948,709,43,26967],\n[M,732,8,27776,735,33,27939],\n[M,732,9,27777,732,17,27785],\n[M,733,42,27829,733,50,27837],\n[M,734,10,27850,734,64,27904],\n[M,734,11,27851,734,18,27858],\n[M,735,19,27925,735,31,27937],\n[M,735,10,27916,735,32,27938],\n[M,734,20,27860,734,63,27903],\n[M,733,10,27797,733,51,27838],\n[M,708,14,26899,708,37,26922],\n[M,738,4,27963,743,7,28163],\n[M,739,6,27997,742,31,28155],\n[M,739,7,27998,739,15,28006],\n[M,740,41,28049,740,49,28057],\n[M,741,8,28068,741,62,28122],\n[M,741,9,28069,741,16,28076],\n[M,742,17,28141,742,29,28153],\n[M,742,8,28132,742,30,28154],\n[M,741,18,28078,741,61,28121],\n[M,740,8,28016,740,50,28058],\n[M,745,4,28210,780,7,29605],\n[M,746,9,28296,746,17,28304],\n[M,746,9,28296,746,30,28317],\n[M,747,8,28327,750,33,28505],\n[M,747,9,28328,747,17,28336],\n[M,748,57,28395,748,65,28403],\n[M,749,10,28416,749,64,28470],\n[M,749,11,28417,749,18,28424],\n[M,750,19,28491,750,31,28503],\n[M,750,10,28482,750,32,28504],\n[M,749,20,28426,749,63,28469],\n[M,748,10,28348,748,66,28404],\n[M,751,28,28534,751,36,28542],\n[M,752,34,28579,752,42,28587],\n[M,758,12,28757,765,37,29099],\n[M,758,13,28758,758,21,28766],\n[M,759,54,28822,759,62,28830],\n[M,760,24,28867,760,32,28875],\n[M,761,14,28892,764,47,29060],\n[M,761,15,28893,761,22,28900],\n[M,763,51,28986,763,72,29007],\n[M,763,52,28987,763,59,28994],\n[M,763,61,28996,763,69,29004],\n[M,763,61,28996,763,71,29006],\n[M,765,23,29085,765,35,29097],\n[M,765,14,29076,765,36,29098],\n[M,764,16,29029,764,46,29059],\n[M,763,16,28951,763,76,29011],\n[M,763,29,28964,763,49,28984],\n[M,762,16,28918,762,31,28933],\n[M,760,14,28857,760,33,28876],\n[M,759,14,28782,759,73,28841],\n[M,755,14,28670,755,38,28694],\n[M,754,25,28640,757,15,28744],\n[M,756,14,28709,756,33,28728],\n[M,753,10,28600,765,37,29099],\n[M,752,8,28553,773,11,29388],\n[M,767,12,29132,772,37,29376],\n[M,767,13,29133,767,21,29141],\n[M,768,54,29197,768,62,29205],\n[M,769,24,29242,769,32,29250],\n[M,770,14,29267,771,60,29337],\n[M,770,15,29268,770,22,29275],\n[M,772,23,29362,772,35,29374],\n[M,772,14,29353,772,36,29375],\n[M,771,16,29293,771,59,29336],\n[M,769,14,29232,769,33,29251],\n[M,768,14,29157,768,73,29216],\n[M,766,10,29110,772,37,29376],\n[M,752,14,28559,752,22,28567],\n[M,752,24,28569,752,43,28588],\n[M,775,8,29409,778,33,29587],\n[M,775,9,29410,775,17,29418],\n[M,776,57,29477,776,65,29485],\n[M,777,10,29498,777,64,29552],\n[M,777,11,29499,777,18,29506],\n[M,778,19,29573,778,31,29585],\n[M,778,10,29564,778,32,29586],\n[M,777,20,29508,777,63,29551],\n[M,776,10,29430,776,66,29486],\n[M,751,14,28520,751,37,28543],\n[M,781,4,29611,786,7,29825],\n[M,782,6,29645,785,31,29817],\n[M,782,7,29646,782,15,29654],\n[M,783,55,29711,783,63,29719],\n[M,784,8,29730,784,62,29784],\n[M,784,9,29731,784,16,29738],\n[M,785,17,29803,785,29,29815],\n[M,785,8,29794,785,30,29816],\n[M,784,18,29740,784,61,29783],\n[M,783,8,29664,783,64,29720],\n[M,788,4,29879,790,7,29999],\n[M,789,6,29962,789,26,29982],\n[M,791,4,30005,798,7,30361],\n[M,792,6,30039,797,29,30353],\n[M,792,7,30040,792,15,30048],\n[M,793,8,30058,796,61,30322],\n[M,793,9,30059,793,16,30066],\n[M,795,52,30222,795,60,30230],\n[M,796,29,30290,796,37,30298],\n[M,797,17,30341,797,27,30351],\n[M,797,8,30332,797,28,30352],\n[M,796,40,30301,796,60,30321],\n[M,795,63,30233,795,89,30259],\n[M,795,44,30214,795,61,30231],\n[M,795,10,30180,795,42,30212],\n[M,794,75,30143,794,100,30168],\n[M,794,83,30151,794,99,30167],\n[M,794,58,30126,794,73,30141],\n[M,794,32,30100,794,56,30124],\n[M,794,40,30108,794,55,30123],\n[M,794,10,30078,794,30,30098],\n[M,800,4,30418,802,7,30538],\n[M,801,6,30501,801,26,30521],\n[M,803,4,30544,811,7,30943],\n[M,804,6,30578,810,29,30935],\n[M,804,7,30579,804,15,30587],\n[M,805,8,30597,809,61,30904],\n[M,805,9,30598,805,16,30605],\n[M,807,38,30744,807,51,30757],\n[M,808,18,30806,808,26,30814],\n[M,809,29,30872,809,37,30880],\n[M,810,17,30923,810,27,30933],\n[M,810,8,30914,810,28,30934],\n[M,809,40,30883,809,60,30903],\n[M,808,29,30817,808,53,30841],\n[M,808,10,30798,808,27,30815],\n[M,807,54,30760,807,80,30786],\n[M,807,30,30736,807,52,30758],\n[M,807,10,30716,807,28,30734],\n[M,806,72,30679,806,97,30704],\n[M,806,80,30687,806,96,30703],\n[M,806,57,30664,806,70,30677],\n[M,806,31,30638,806,55,30662],\n[M,806,39,30646,806,54,30661],\n[M,806,10,30617,806,29,30636],\n[M,813,4,31000,859,7,32810],\n[M,814,6,31083,858,12,32802],\n[M,814,7,31084,814,15,31092],\n[M,817,15,31185,817,31,31201],\n[M,818,14,31217,826,35,31574],\n[M,818,15,31218,818,26,31229],\n[M,820,16,31299,825,37,31537],\n[M,820,17,31300,820,24,31307],\n[M,822,27,31396,822,35,31404],\n[M,824,27,31489,824,35,31497],\n[M,826,25,31564,826,33,31572],\n[M,826,16,31555,826,34,31573],\n[M,825,18,31518,825,36,31536],\n[M,824,18,31480,824,36,31498],\n[M,823,18,31425,823,53,31460],\n[M,822,18,31387,822,36,31405],\n[M,821,18,31327,821,58,31367],\n[M,819,16,31247,819,50,31281],\n[M,828,14,31629,837,35,32020],\n[M,828,15,31630,828,26,31641],\n[M,831,16,31745,836,37,31983],\n[M,831,17,31746,831,24,31753],\n[M,833,27,31842,833,35,31850],\n[M,835,27,31935,835,35,31943],\n[M,837,25,32010,837,33,32018],\n[M,837,16,32001,837,34,32019],\n[M,836,18,31964,836,36,31982],\n[M,835,18,31926,835,36,31944],\n[M,834,18,31871,834,53,31906],\n[M,833,18,31833,833,36,31851],\n[M,832,18,31773,832,58,31813],\n[M,830,16,31713,830,30,31727],\n[M,829,16,31659,829,52,31695],\n[M,839,14,32053,847,35,32410],\n[M,839,15,32054,839,26,32065],\n[M,841,16,32135,846,37,32373],\n[M,841,17,32136,841,24,32143],\n[M,843,27,32232,843,35,32240],\n[M,845,27,32325,845,35,32333],\n[M,847,25,32400,847,33,32408],\n[M,847,16,32391,847,34,32409],\n[M,846,18,32354,846,36,32372],\n[M,845,18,32316,845,36,32334],\n[M,844,18,32261,844,53,32296],\n[M,843,18,32223,843,36,32241],\n[M,842,18,32163,842,58,32203],\n[M,840,16,32083,840,50,32117],\n[M,827,20,31595,827,38,31613],\n[M,816,10,31155,848,15,32426],\n[M,815,8,31102,858,11,32801],\n[M,850,12,32459,857,33,32789],\n[M,850,13,32460,850,24,32471],\n[M,851,14,32487,856,35,32754],\n[M,851,15,32488,851,22,32495],\n[M,853,25,32617,853,33,32625],\n[M,855,25,32708,855,33,32716],\n[M,857,23,32779,857,31,32787],\n[M,857,14,32770,857,32,32788],\n[M,856,16,32735,856,34,32753],\n[M,855,16,32699,855,34,32717],\n[M,854,16,32644,854,53,32681],\n[M,853,16,32608,853,34,32626],\n[M,852,16,32513,852,93,32590],\n[M,849,10,32437,857,33,32789],\n[M,815,14,31108,815,22,31116],\n[M,815,24,31118,815,49,31143],\n[M,860,4,32817,881,7,33591],\n[M,861,6,32851,880,27,33583],\n[M,861,7,32852,861,15,32860],\n[M,863,10,32908,872,13,33257],\n[M,864,12,32930,871,36,33243],\n[M,864,13,32931,864,24,32942],\n[M,866,14,33008,871,35,33242],\n[M,866,15,33009,866,22,33016],\n[M,868,25,33105,868,33,33113],\n[M,870,25,33196,870,33,33204],\n[M,871,16,33223,871,34,33241],\n[M,870,16,33187,870,34,33205],\n[M,869,16,33132,869,53,33169],\n[M,868,16,33096,868,34,33114],\n[M,867,16,33034,867,60,33078],\n[M,865,14,32958,865,48,32992],\n[M,873,10,33269,879,34,33553],\n[M,873,11,33270,873,22,33281],\n[M,874,12,33295,879,33,33552],\n[M,874,13,33296,874,20,33303],\n[M,876,23,33421,876,31,33429],\n[M,878,23,33508,878,31,33516],\n[M,880,17,33573,880,25,33581],\n[M,880,8,33564,880,26,33582],\n[M,862,8,32870,879,35,33554],\n[M,879,14,33533,879,32,33551],\n[M,878,14,33499,878,32,33517],\n[M,877,14,33446,877,51,33483],\n[M,876,14,33412,876,32,33430],\n[M,875,14,33319,875,91,33396],\n[M,883,4,33669,969,7,37472],\n[M,884,6,33752,968,12,37464],\n[M,884,7,33753,884,15,33761],\n[M,887,15,33854,887,31,33870],\n[M,888,14,33886,900,45,34451],\n[M,888,15,33887,888,26,33898],\n[M,889,32,33932,889,43,33943],\n[M,889,53,33953,889,64,33964],\n[M,890,16,34005,891,48,34063],\n[M,890,17,34006,890,24,34013],\n[M,892,25,34090,892,34,34099],\n[M,893,16,34118,894,49,34177],\n[M,893,17,34119,893,24,34126],\n[M,895,25,34204,895,34,34213],\n[M,896,16,34232,900,44,34450],\n[M,896,17,34233,896,24,34240],\n[M,897,35,34277,897,46,34288],\n[M,898,18,34344,900,43,34449],\n[M,898,19,34345,898,30,34356],\n[M,900,20,34426,900,42,34448],\n[M,899,20,34378,899,46,34404],\n[M,897,18,34260,897,82,34324],\n[M,897,26,34268,897,81,34323],\n[M,897,26,34268,897,46,34288],\n[M,895,16,34195,895,35,34214],\n[M,894,18,34146,894,48,34176],\n[M,892,16,34081,892,35,34100],\n[M,891,18,34033,891,47,34062],\n[M,889,16,33916,889,87,33987],\n[M,889,32,33932,889,81,33981],\n[M,889,32,33932,889,64,33964],\n[M,889,32,33932,889,50,33950],\n[M,904,30,34599,904,38,34607],\n[M,904,30,34599,904,40,34609],\n[M,905,30,34640,905,39,34649],\n[M,905,30,34640,905,41,34651],\n[M,906,18,34670,923,49,35537],\n[M,906,19,34671,906,30,34682],\n[M,907,29,34713,907,40,34724],\n[M,907,50,34734,907,61,34745],\n[M,909,20,34836,912,39,35005],\n[M,909,21,34837,909,28,34844],\n[M,911,57,34942,911,76,34961],\n[M,911,58,34943,911,65,34950],\n[M,913,29,35036,913,38,35045],\n[M,914,20,35068,917,39,35239],\n[M,914,21,35069,914,28,35076],\n[M,916,58,35175,916,78,35195],\n[M,916,59,35176,916,66,35183],\n[M,918,29,35270,918,38,35279],\n[M,919,20,35302,923,48,35536],\n[M,919,21,35303,919,28,35310],\n[M,920,39,35351,920,50,35362],\n[M,921,22,35422,923,47,35535],\n[M,921,23,35423,921,34,35434],\n[M,923,24,35512,923,46,35534],\n[M,922,24,35460,922,50,35486],\n[M,920,22,35334,920,86,35398],\n[M,920,30,35342,920,85,35397],\n[M,920,30,35342,920,50,35362],\n[M,918,20,35261,918,39,35280],\n[M,917,22,35222,917,38,35238],\n[M,916,22,35139,916,81,35198],\n[M,916,35,35152,916,56,35173],\n[M,915,22,35100,915,37,35115],\n[M,913,20,35027,913,39,35046],\n[M,912,22,34988,912,38,35004],\n[M,911,22,34907,911,79,34964],\n[M,911,35,34920,911,55,34940],\n[M,910,22,34868,910,37,34883],\n[M,908,20,34800,908,34,34814],\n[M,907,20,34704,907,94,34778],\n[M,907,29,34713,907,78,34762],\n[M,907,29,34713,907,61,34745],\n[M,907,29,34713,907,47,34731],\n[M,903,16,34554,923,49,35537],\n[M,902,14,34506,937,17,36212],\n[M,925,18,35587,936,49,36194],\n[M,925,19,35588,925,30,35599],\n[M,926,29,35630,926,40,35641],\n[M,926,50,35651,926,61,35662],\n[M,928,20,35752,928,60,35792],\n[M,928,21,35753,928,28,35760],\n[M,929,29,35823,929,38,35832],\n[M,930,20,35855,930,61,35896],\n[M,930,21,35856,930,28,35863],\n[M,931,29,35927,931,38,35936],\n[M,932,20,35959,936,48,36193],\n[M,932,21,35960,932,28,35967],\n[M,933,39,36008,933,50,36019],\n[M,934,22,36079,936,47,36192],\n[M,934,23,36080,934,34,36091],\n[M,936,24,36169,936,46,36191],\n[M,935,24,36117,935,50,36143],\n[M,933,22,35991,933,86,36055],\n[M,933,30,35999,933,85,36054],\n[M,933,30,35999,933,50,36019],\n[M,931,20,35918,931,39,35937],\n[M,930,30,35865,930,60,35895],\n[M,929,20,35814,929,39,35833],\n[M,928,30,35762,928,59,35791],\n[M,927,20,35716,927,34,35730],\n[M,926,20,35621,926,93,35694],\n[M,926,29,35630,926,78,35679],\n[M,926,29,35630,926,61,35662],\n[M,926,29,35630,926,47,35648],\n[M,924,16,35554,936,49,36194],\n[M,902,20,34512,902,28,34520],\n[M,902,30,34522,902,44,34536],\n[M,939,14,36245,949,45,36774],\n[M,939,15,36246,939,26,36257],\n[M,940,32,36291,940,43,36302],\n[M,940,53,36312,940,64,36323],\n[M,941,16,36364,941,56,36404],\n[M,941,17,36365,941,24,36372],\n[M,942,25,36431,942,34,36440],\n[M,943,16,36459,943,57,36500],\n[M,943,17,36460,943,24,36467],\n[M,944,25,36527,944,34,36536],\n[M,945,16,36555,949,44,36773],\n[M,945,17,36556,945,24,36563],\n[M,946,35,36600,946,46,36611],\n[M,947,18,36667,949,43,36772],\n[M,947,19,36668,947,30,36679],\n[M,949,20,36749,949,42,36771],\n[M,948,20,36701,948,46,36727],\n[M,946,18,36583,946,82,36647],\n[M,946,26,36591,946,81,36646],\n[M,946,26,36591,946,46,36611],\n[M,944,16,36518,944,35,36537],\n[M,943,26,36469,943,56,36499],\n[M,942,16,36422,942,35,36441],\n[M,941,26,36374,941,55,36403],\n[M,940,16,36275,940,87,36346],\n[M,940,32,36291,940,81,36340],\n[M,940,32,36291,940,64,36323],\n[M,940,32,36291,940,50,36309],\n[M,901,20,34472,901,38,34490],\n[M,886,10,33824,950,15,36790],\n[M,885,8,33771,968,11,37463],\n[M,952,12,36823,967,43,37451],\n[M,952,13,36824,952,24,36835],\n[M,953,14,36851,956,49,37009],\n[M,953,15,36852,953,22,36859],\n[M,954,31,36892,954,42,36903],\n[M,955,32,36945,955,43,36956],\n[M,957,14,37025,958,46,37081],\n[M,957,15,37026,957,22,37033],\n[M,959,23,37106,959,32,37115],\n[M,960,14,37132,961,47,37189],\n[M,960,15,37133,960,22,37140],\n[M,962,23,37214,962,32,37223],\n[M,963,14,37240,967,42,37450],\n[M,963,15,37241,963,22,37248],\n[M,964,33,37283,964,44,37294],\n[M,965,16,37348,967,41,37449],\n[M,965,17,37349,965,28,37360],\n[M,967,18,37426,967,40,37448],\n[M,966,18,37380,966,44,37406],\n[M,964,16,37266,964,80,37330],\n[M,964,24,37274,964,79,37329],\n[M,964,24,37274,964,44,37294],\n[M,962,14,37205,962,33,37224],\n[M,961,16,37158,961,46,37188],\n[M,959,14,37097,959,33,37116],\n[M,958,16,37051,958,45,37080],\n[M,956,16,36976,956,48,37008],\n[M,955,16,36929,955,45,36958],\n[M,955,24,36937,955,44,36957],\n[M,954,16,36877,954,50,36911],\n[M,954,24,36885,954,49,36910],\n[M,954,24,36885,954,42,36903],\n[M,951,10,36801,967,43,37451],\n[M,885,14,33777,885,22,33785],\n[M,885,24,33787,885,49,33812],\n[M,970,4,37478,1003,7,38737],\n[M,971,6,37512,1002,43,38729],\n[M,971,7,37513,971,15,37521],\n[M,972,10,37562,986,13,38139],\n[M,973,12,37584,985,43,38125],\n[M,973,13,37585,973,24,37596],\n[M,974,30,37628,974,41,37639],\n[M,974,51,37649,974,62,37660],\n[M,975,14,37699,976,46,37755],\n[M,975,15,37700,975,22,37707],\n[M,977,23,37780,977,32,37789],\n[M,978,14,37806,979,47,37863],\n[M,978,15,37807,978,22,37814],\n[M,980,23,37888,980,32,37897],\n[M,981,14,37914,985,42,38124],\n[M,981,15,37915,981,22,37922],\n[M,982,33,37957,982,44,37968],\n[M,983,16,38022,985,41,38123],\n[M,983,17,38023,983,28,38034],\n[M,985,18,38100,985,40,38122],\n[M,984,18,38054,984,44,38080],\n[M,982,16,37940,982,80,38004],\n[M,982,24,37948,982,79,38003],\n[M,982,24,37948,982,44,37968],\n[M,980,14,37879,980,33,37898],\n[M,979,16,37832,979,46,37862],\n[M,977,14,37771,977,33,37790],\n[M,976,16,37725,976,45,37754],\n[M,974,14,37612,974,85,37683],\n[M,974,30,37628,974,79,37677],\n[M,974,30,37628,974,62,37660],\n[M,974,30,37628,974,48,37646],\n[M,987,10,38151,1002,41,38727],\n[M,987,11,38152,987,22,38163],\n[M,988,12,38177,991,46,38307],\n[M,988,13,38178,988,20,38185],\n[M,990,30,38246,990,41,38257],\n[M,992,12,38321,993,44,38375],\n[M,992,13,38322,992,20,38329],\n[M,994,21,38398,994,30,38407],\n[M,995,12,38422,996,45,38477],\n[M,995,13,38423,995,20,38430],\n[M,997,21,38500,997,30,38509],\n[M,998,12,38524,1002,40,38726],\n[M,998,13,38525,998,20,38532],\n[M,999,31,38565,999,42,38576],\n[M,1000,14,38628,1002,39,38725],\n[M,1000,15,38629,1000,26,38640],\n[M,971,17,37523,1002,42,38728],\n[M,1002,16,38702,1002,38,38724],\n[M,1001,16,38658,1001,42,38684],\n[M,999,14,38548,999,78,38612],\n[M,999,22,38556,999,77,38611],\n[M,999,22,38556,999,42,38576],\n[M,997,12,38491,997,31,38510],\n[M,996,14,38446,996,44,38476],\n[M,994,12,38389,994,31,38408],\n[M,993,14,38345,993,43,38374],\n[M,991,14,38275,991,45,38306],\n[M,990,14,38230,990,43,38259],\n[M,990,22,38238,990,42,38258],\n[M,989,14,38201,989,27,38214],\n[M,1005,4,38812,1076,7,42032],\n[M,1006,6,38895,1075,12,42024],\n[M,1006,7,38896,1006,15,38904],\n[M,1009,15,38997,1009,31,39013],\n[M,1010,14,39029,1019,96,39481],\n[M,1010,15,39030,1010,26,39041],\n[M,1011,32,39075,1011,43,39086],\n[M,1011,53,39096,1011,64,39107],\n[M,1012,16,39148,1013,48,39206],\n[M,1012,17,39149,1012,24,39156],\n[M,1014,25,39233,1014,34,39242],\n[M,1015,16,39261,1016,49,39320],\n[M,1015,17,39262,1015,24,39269],\n[M,1017,25,39347,1017,34,39356],\n[M,1018,16,39375,1019,95,39480],\n[M,1018,17,39376,1018,24,39383],\n[M,1019,35,39420,1019,46,39431],\n[M,1019,18,39403,1019,94,39479],\n[M,1019,26,39411,1019,93,39478],\n[M,1019,26,39411,1019,46,39431],\n[M,1017,16,39338,1017,35,39357],\n[M,1016,18,39289,1016,48,39319],\n[M,1014,16,39224,1014,35,39243],\n[M,1013,18,39176,1013,47,39205],\n[M,1011,16,39059,1011,87,39130],\n[M,1011,32,39075,1011,81,39124],\n[M,1011,32,39075,1011,64,39107],\n[M,1011,32,39075,1011,50,39093],\n[M,1023,30,39629,1023,38,39637],\n[M,1023,30,39629,1023,40,39639],\n[M,1024,30,39670,1024,39,39679],\n[M,1024,30,39670,1024,41,39681],\n[M,1025,18,39700,1039,100,40442],\n[M,1025,19,39701,1025,30,39712],\n[M,1026,29,39743,1026,40,39754],\n[M,1026,50,39764,1026,61,39775],\n[M,1028,20,39866,1031,39,40035],\n[M,1028,21,39867,1028,28,39874],\n[M,1030,57,39972,1030,76,39991],\n[M,1030,58,39973,1030,65,39980],\n[M,1032,29,40066,1032,38,40075],\n[M,1033,20,40098,1036,39,40269],\n[M,1033,21,40099,1033,28,40106],\n[M,1035,58,40205,1035,78,40225],\n[M,1035,59,40206,1035,66,40213],\n[M,1037,29,40300,1037,38,40309],\n[M,1038,20,40332,1039,99,40441],\n[M,1038,21,40333,1038,28,40340],\n[M,1039,39,40381,1039,50,40392],\n[M,1039,22,40364,1039,98,40440],\n[M,1039,30,40372,1039,97,40439],\n[M,1039,30,40372,1039,50,40392],\n[M,1037,20,40291,1037,39,40310],\n[M,1036,22,40252,1036,38,40268],\n[M,1035,22,40169,1035,81,40228],\n[M,1035,35,40182,1035,56,40203],\n[M,1034,22,40130,1034,37,40145],\n[M,1032,20,40057,1032,39,40076],\n[M,1031,22,40018,1031,38,40034],\n[M,1030,22,39937,1030,79,39994],\n[M,1030,35,39950,1030,55,39970],\n[M,1029,22,39898,1029,37,39913],\n[M,1027,20,39830,1027,34,39844],\n[M,1026,20,39734,1026,94,39808],\n[M,1026,29,39743,1026,78,39792],\n[M,1026,29,39743,1026,61,39775],\n[M,1026,29,39743,1026,47,39761],\n[M,1022,16,39584,1039,100,40442],\n[M,1021,14,39536,1050,17,40992],\n[M,1041,18,40492,1049,100,40974],\n[M,1041,19,40493,1041,30,40504],\n[M,1042,29,40535,1042,40,40546],\n[M,1042,50,40556,1042,61,40567],\n[M,1044,20,40657,1044,60,40697],\n[M,1044,21,40658,1044,28,40665],\n[M,1045,29,40728,1045,38,40737],\n[M,1046,20,40760,1046,61,40801],\n[M,1046,21,40761,1046,28,40768],\n[M,1047,29,40832,1047,38,40841],\n[M,1048,20,40864,1049,99,40973],\n[M,1048,21,40865,1048,28,40872],\n[M,1049,39,40913,1049,50,40924],\n[M,1049,22,40896,1049,98,40972],\n[M,1049,30,40904,1049,97,40971],\n[M,1049,30,40904,1049,50,40924],\n[M,1047,20,40823,1047,39,40842],\n[M,1046,30,40770,1046,60,40800],\n[M,1045,20,40719,1045,39,40738],\n[M,1044,30,40667,1044,59,40696],\n[M,1043,20,40621,1043,34,40635],\n[M,1042,20,40526,1042,93,40599],\n[M,1042,29,40535,1042,78,40584],\n[M,1042,29,40535,1042,61,40567],\n[M,1042,29,40535,1042,47,40553],\n[M,1040,16,40459,1049,100,40974],\n[M,1021,20,39542,1021,28,39550],\n[M,1021,30,39552,1021,44,39566],\n[M,1052,14,41025,1059,96,41441],\n[M,1052,15,41026,1052,26,41037],\n[M,1053,32,41071,1053,43,41082],\n[M,1053,53,41092,1053,64,41103],\n[M,1054,16,41144,1054,56,41184],\n[M,1054,17,41145,1054,24,41152],\n[M,1055,25,41211,1055,34,41220],\n[M,1056,16,41239,1056,57,41280],\n[M,1056,17,41240,1056,24,41247],\n[M,1057,25,41307,1057,34,41316],\n[M,1058,16,41335,1059,95,41440],\n[M,1058,17,41336,1058,24,41343],\n[M,1059,35,41380,1059,46,41391],\n[M,1059,18,41363,1059,94,41439],\n[M,1059,26,41371,1059,93,41438],\n[M,1059,26,41371,1059,46,41391],\n[M,1057,16,41298,1057,35,41317],\n[M,1056,26,41249,1056,56,41279],\n[M,1055,16,41202,1055,35,41221],\n[M,1054,26,41154,1054,55,41183],\n[M,1053,16,41055,1053,87,41126],\n[M,1053,32,41071,1053,81,41120],\n[M,1053,32,41071,1053,64,41103],\n[M,1053,32,41071,1053,50,41089],\n[M,1020,20,39502,1020,38,39520],\n[M,1008,10,38967,1060,15,41457],\n[M,1007,8,38914,1075,11,42023],\n[M,1062,12,41490,1074,94,42011],\n[M,1062,13,41491,1062,24,41502],\n[M,1063,14,41518,1066,49,41676],\n[M,1063,15,41519,1063,22,41526],\n[M,1064,31,41559,1064,42,41570],\n[M,1065,32,41612,1065,43,41623],\n[M,1067,14,41692,1068,46,41748],\n[M,1067,15,41693,1067,22,41700],\n[M,1069,23,41773,1069,32,41782],\n[M,1070,14,41799,1071,47,41856],\n[M,1070,15,41800,1070,22,41807],\n[M,1072,23,41881,1072,32,41890],\n[M,1073,14,41907,1074,93,42010],\n[M,1073,15,41908,1073,22,41915],\n[M,1074,33,41950,1074,44,41961],\n[M,1074,16,41933,1074,92,42009],\n[M,1074,24,41941,1074,91,42008],\n[M,1074,24,41941,1074,44,41961],\n[M,1072,14,41872,1072,33,41891],\n[M,1071,16,41825,1071,46,41855],\n[M,1069,14,41764,1069,33,41783],\n[M,1068,16,41718,1068,45,41747],\n[M,1066,16,41643,1066,48,41675],\n[M,1065,16,41596,1065,45,41625],\n[M,1065,24,41604,1065,44,41624],\n[M,1064,16,41544,1064,50,41578],\n[M,1064,24,41552,1064,49,41577],\n[M,1064,24,41552,1064,42,41570],\n[M,1061,10,41468,1074,94,42011],\n[M,1007,14,38920,1007,22,38928],\n[M,1007,24,38930,1007,49,38955],\n[M,1077,4,42038,1104,7,43089],\n[M,1078,6,42072,1103,94,43081],\n[M,1078,7,42073,1078,15,42081],\n[M,1079,10,42122,1090,13,42592],\n[M,1080,12,42144,1089,94,42578],\n[M,1080,13,42145,1080,24,42156],\n[M,1081,30,42188,1081,41,42199],\n[M,1081,51,42209,1081,62,42220],\n[M,1082,14,42259,1083,46,42315],\n[M,1082,15,42260,1082,22,42267],\n[M,1084,23,42340,1084,32,42349],\n[M,1085,14,42366,1086,47,42423],\n[M,1085,15,42367,1085,22,42374],\n[M,1087,23,42448,1087,32,42457],\n[M,1088,14,42474,1089,93,42577],\n[M,1088,15,42475,1088,22,42482],\n[M,1089,33,42517,1089,44,42528],\n[M,1089,16,42500,1089,92,42576],\n[M,1089,24,42508,1089,91,42575],\n[M,1089,24,42508,1089,44,42528],\n[M,1087,14,42439,1087,33,42458],\n[M,1086,16,42392,1086,46,42422],\n[M,1084,14,42331,1084,33,42350],\n[M,1083,16,42285,1083,45,42314],\n[M,1081,14,42172,1081,85,42243],\n[M,1081,30,42188,1081,79,42237],\n[M,1081,30,42188,1081,62,42220],\n[M,1081,30,42188,1081,48,42206],\n[M,1091,10,42604,1103,92,43079],\n[M,1091,11,42605,1091,22,42616],\n[M,1092,12,42630,1095,46,42760],\n[M,1092,13,42631,1092,20,42638],\n[M,1094,30,42699,1094,41,42710],\n[M,1096,12,42774,1097,44,42828],\n[M,1096,13,42775,1096,20,42782],\n[M,1098,21,42851,1098,30,42860],\n[M,1099,12,42875,1100,45,42930],\n[M,1099,13,42876,1099,20,42883],\n[M,1101,21,42953,1101,30,42962],\n[M,1102,12,42977,1103,91,43078],\n[M,1102,13,42978,1102,20,42985],\n[M,1103,31,43018,1103,42,43029],\n[M,1078,17,42083,1103,93,43080],\n[M,1103,14,43001,1103,90,43077],\n[M,1103,22,43009,1103,89,43076],\n[M,1103,22,43009,1103,42,43029],\n[M,1101,12,42944,1101,31,42963],\n[M,1100,14,42899,1100,44,42929],\n[M,1098,12,42842,1098,31,42861],\n[M,1097,14,42798,1097,43,42827],\n[M,1095,14,42728,1095,45,42759],\n[M,1094,14,42683,1094,43,42712],\n[M,1094,22,42691,1094,42,42711],\n[M,1093,14,42654,1093,27,42667],\n[M,1106,4,43201,1295,7,48657],\n[M,1107,6,43284,1114,9,43551],\n[M,1110,31,43432,1110,34,43435],\n[M,1110,22,43423,1110,35,43436],\n[M,1109,10,43354,1110,36,43437],\n[M,1108,8,43328,1113,11,43541],\n[M,1111,10,43448,1112,30,43529],\n[M,1116,6,43559,1121,9,43697],\n[M,1118,33,43634,1118,46,43647],\n[M,1118,10,43611,1118,46,43647],\n[M,1117,8,43587,1120,11,43687],\n[M,1119,10,43658,1119,27,43675],\n[M,1123,6,43705,1136,9,44250],\n[M,1127,25,43915,1127,28,43918],\n[M,1127,13,43903,1127,29,43919],\n[M,1126,10,43845,1127,42,43932],\n[M,1125,8,43819,1135,11,44240],\n[M,1132,26,44161,1132,29,44164],\n[M,1131,14,44109,1132,30,44165],\n[M,1133,26,44192,1133,32,44198],\n[M,1131,14,44109,1133,33,44199],\n[M,1131,14,44109,1134,27,44227],\n[M,1131,14,44109,1131,39,44134],\n[M,1128,10,43943,1134,28,44228],\n[M,1139,16,44297,1139,31,44312],\n[M,1139,8,44289,1142,40,44430],\n[M,1145,16,44480,1145,36,44500],\n[M,1145,8,44472,1148,46,44624],\n[M,1152,20,44702,1153,18,44732],\n[M,1153,12,44726,1153,17,44731],\n[M,1151,8,44658,1153,19,44733],\n[M,1154,19,44753,1154,39,44773],\n[M,1151,8,44658,1154,40,44774],\n[M,1156,6,44782,1163,9,44965],\n[M,1157,8,44828,1162,23,44955],\n[M,1157,9,44829,1157,16,44836],\n[M,1162,10,44942,1162,22,44954],\n[M,1160,10,44894,1160,26,44910],\n[M,1158,10,44848,1158,25,44863],\n[M,1165,6,44973,1211,9,46433],\n[M,1166,11,45044,1166,35,45068],\n[M,1168,12,45127,1177,41,45449],\n[M,1168,13,45128,1168,24,45139],\n[M,1169,14,45155,1176,49,45406],\n[M,1169,15,45156,1169,22,45163],\n[M,1177,14,45422,1177,40,45448],\n[M,1176,16,45373,1176,48,45405],\n[M,1174,16,45301,1174,45,45330],\n[M,1172,16,45239,1172,34,45257],\n[M,1170,16,45181,1170,31,45196],\n[M,1179,12,45478,1186,47,45715],\n[M,1179,13,45479,1179,20,45486],\n[M,1186,14,45682,1186,46,45714],\n[M,1184,14,45614,1184,43,45643],\n[M,1182,14,45556,1182,32,45574],\n[M,1180,14,45502,1180,29,45517],\n[M,1167,13,45083,1167,43,45113],\n[M,1190,12,45801,1199,41,46127],\n[M,1190,13,45802,1190,24,45813],\n[M,1191,14,45829,1198,29,46084],\n[M,1191,15,45830,1191,22,45837],\n[M,1199,14,46100,1199,40,46126],\n[M,1198,16,46071,1198,28,46083],\n[M,1196,16,46005,1196,39,46028],\n[M,1194,16,45913,1194,65,45962],\n[M,1192,16,45855,1192,31,45870],\n[M,1201,12,46156,1208,27,46397],\n[M,1201,13,46157,1201,20,46164],\n[M,1208,14,46384,1208,26,46396],\n[M,1206,14,46322,1206,37,46345],\n[M,1204,14,46234,1204,63,46283],\n[M,1202,14,46180,1202,29,46195],\n[M,1189,13,45757,1189,43,45787],\n[M,1213,6,46441,1220,9,46653],\n[M,1214,8,46490,1219,41,46643],\n[M,1214,9,46491,1214,16,46498],\n[M,1219,10,46612,1219,40,46642],\n[M,1217,10,46554,1217,37,46581],\n[M,1215,10,46510,1215,23,46523],\n[M,1224,10,46722,1231,13,46908],\n[M,1225,13,46743,1225,20,46750],\n[M,1225,22,46752,1225,27,46757],\n[M,1227,14,46811,1227,23,46820],\n[M,1229,14,46853,1229,39,46878],\n[M,1225,12,46742,1225,28,46758],\n[M,1222,17,46672,1231,14,46909],\n[M,1232,17,46927,1232,26,46936],\n[M,1222,17,46672,1232,27,46937],\n[M,1236,10,47005,1244,13,47226],\n[M,1237,13,47026,1237,20,47033],\n[M,1237,22,47035,1237,27,47040],\n[M,1238,12,47058,1243,18,47212],\n[M,1238,28,47074,1238,46,47092],\n[M,1238,29,47075,1238,36,47082],\n[M,1239,17,47111,1239,41,47135],\n[M,1237,12,47025,1237,28,47041],\n[M,1234,16,46955,1244,14,47227],\n[M,1245,17,47245,1245,26,47254],\n[M,1234,16,46955,1245,27,47255],\n[M,1249,10,47325,1256,13,47514],\n[M,1250,13,47346,1250,19,47352],\n[M,1250,21,47354,1250,28,47361],\n[M,1252,14,47416,1252,23,47425],\n[M,1254,14,47458,1254,40,47484],\n[M,1250,12,47345,1250,29,47362],\n[M,1247,15,47272,1256,14,47515],\n[M,1257,17,47533,1257,26,47542],\n[M,1247,15,47272,1257,27,47543],\n[M,1261,10,47614,1269,13,47853],\n[M,1262,13,47635,1262,19,47641],\n[M,1262,21,47643,1262,28,47650],\n[M,1263,45,47701,1263,63,47719],\n[M,1263,46,47702,1263,53,47709],\n[M,1264,17,47738,1264,41,47762],\n[M,1263,12,47668,1268,18,47839],\n[M,1263,25,47681,1263,43,47699],\n[M,1262,12,47634,1262,29,47651],\n[M,1259,16,47561,1269,14,47854],\n[M,1259,16,47561,1270,36,47891],\n[M,1272,6,47899,1294,19,48649],\n[M,1272,7,47900,1272,15,47908],\n[M,1275,12,47972,1283,15,48266],\n[M,1276,15,47995,1276,22,48002],\n[M,1276,24,48004,1276,29,48009],\n[M,1277,14,48029,1282,35,48250],\n[M,1277,15,48030,1277,26,48041],\n[M,1278,16,48059,1281,39,48213],\n[M,1278,17,48060,1278,24,48067],\n[M,1282,16,48231,1282,34,48249],\n[M,1281,18,48192,1281,38,48212],\n[M,1280,18,48132,1280,58,48172],\n[M,1280,26,48140,1280,57,48171],\n[M,1279,18,48087,1279,43,48112],\n[M,1276,14,47994,1276,30,48010],\n[M,1273,8,47918,1283,16,48267],\n[M,1285,12,48300,1286,66,48376],\n[M,1285,13,48301,1285,20,48308],\n[M,1273,8,47918,1286,67,48377],\n[M,1292,8,48559,1294,18,48648],\n[M,1293,10,48588,1293,50,48628],\n[M,1293,18,48596,1293,49,48627],\n[M,1287,8,48387,1291,41,48549],\n[M,1291,10,48518,1291,40,48548],\n[M,1291,17,48525,1291,39,48547],\n[M,1289,10,48454,1289,43,48487],\n[M,1289,19,48463,1289,42,48486],\n[M,1288,10,48416,1288,36,48442],\n[M,1288,18,48424,1288,35,48441],\n[M,1286,14,48324,1286,65,48375],\n[M,1270,17,47872,1270,35,47890],\n[M,1147,11,44553,1147,34,44576],\n[M,1146,11,44515,1146,35,44539],\n[M,1145,9,44473,1145,37,44501],\n[M,1141,11,44365,1141,34,44388],\n[M,1140,11,44327,1140,35,44351],\n[M,1139,9,44290,1139,32,44313],\n[M,1296,4,48663,1319,7,49614],\n[M,1297,9,48700,1297,24,48715],\n[M,1297,9,48700,1297,37,48728],\n[M,1298,8,48738,1307,30,49171],\n[M,1298,9,48739,1298,17,48747],\n[M,1299,10,48759,1306,16,49139],\n[M,1299,11,48760,1299,18,48767],\n[M,1301,19,48831,1301,34,48846],\n[M,1302,15,48864,1302,39,48888],\n[M,1307,10,49151,1307,29,49170],\n[M,1303,14,48904,1303,92,48982],\n[M,1305,14,49015,1305,121,49122],\n[M,1301,12,48824,1301,35,48847],\n[M,1300,12,48781,1300,41,48810],\n[M,1309,8,49192,1317,17,49596],\n[M,1309,9,49193,1309,17,49201],\n[M,1310,10,49213,1317,16,49595],\n[M,1310,11,49214,1310,18,49221],\n[M,1312,19,49287,1312,34,49302],\n[M,1313,15,49320,1313,39,49344],\n[M,1314,14,49360,1314,92,49438],\n[M,1316,14,49471,1316,121,49578],\n[M,1312,12,49280,1312,35,49303],\n[M,1311,12,49235,1311,43,49266],\n[M,1321,4,49714,1459,7,53689],\n[M,1322,20,49811,1322,33,49824],\n[M,1324,6,49863,1336,9,50221],\n[M,1325,8,49907,1331,11,50081],\n[M,1326,13,49947,1326,26,49960],\n[M,1327,12,49979,1327,55,50022],\n[M,1327,13,49980,1327,20,49987],\n[M,1327,22,49989,1327,38,50005],\n[M,1327,48,50015,1327,53,50020],\n[M,1327,22,49989,1327,54,50021],\n[M,1326,13,49947,1326,31,49965],\n[M,1334,31,50194,1334,34,50197],\n[M,1334,22,50185,1334,35,50198],\n[M,1333,10,50116,1334,36,50199],\n[M,1332,8,50090,1335,11,50211],\n[M,1338,6,50229,1344,9,50478],\n[M,1342,25,50439,1342,28,50442],\n[M,1342,13,50427,1342,29,50443],\n[M,1341,10,50369,1342,42,50456],\n[M,1340,8,50343,1343,11,50468],\n[M,1347,16,50525,1347,31,50540],\n[M,1347,8,50517,1350,40,50658],\n[M,1353,16,50708,1353,36,50728],\n[M,1353,8,50700,1356,46,50852],\n[M,1358,6,50860,1365,9,51043],\n[M,1359,8,50906,1364,23,51033],\n[M,1359,9,50907,1359,16,50914],\n[M,1364,10,51020,1364,22,51032],\n[M,1362,10,50972,1362,26,50988],\n[M,1360,10,50926,1360,25,50941],\n[M,1367,6,51051,1391,9,51763],\n[M,1368,25,51136,1368,45,51156],\n[M,1369,10,51169,1380,44,51516],\n[M,1369,11,51170,1369,22,51181],\n[M,1370,12,51195,1379,27,51470],\n[M,1370,13,51196,1370,20,51203],\n[M,1380,22,51494,1380,42,51514],\n[M,1380,12,51484,1380,43,51515],\n[M,1379,14,51457,1379,26,51469],\n[M,1377,14,51397,1377,35,51418],\n[M,1375,14,51329,1375,43,51358],\n[M,1373,14,51273,1373,30,51289],\n[M,1371,14,51219,1371,29,51234],\n[M,1382,10,51541,1389,25,51741],\n[M,1382,11,51542,1382,18,51549],\n[M,1389,12,51728,1389,24,51740],\n[M,1387,12,51672,1387,33,51693],\n[M,1385,12,51613,1385,36,51637],\n[M,1383,12,51563,1383,27,51578],\n[M,1368,11,51122,1368,46,51157],\n[M,1393,6,51771,1402,9,52051],\n[M,1394,8,51833,1401,38,52041],\n[M,1394,9,51834,1394,16,51841],\n[M,1401,10,52013,1401,37,52040],\n[M,1399,10,51965,1399,26,51981],\n[M,1397,10,51897,1397,44,51931],\n[M,1395,10,51853,1395,23,51866],\n[M,1406,10,52120,1409,13,52212],\n[M,1407,13,52141,1407,20,52148],\n[M,1407,22,52150,1407,27,52155],\n[M,1408,12,52173,1408,37,52198],\n[M,1407,12,52140,1407,28,52156],\n[M,1404,17,52070,1409,14,52213],\n[M,1410,17,52231,1410,26,52240],\n[M,1404,17,52070,1410,27,52241],\n[M,1414,10,52309,1417,13,52415],\n[M,1415,13,52330,1415,20,52337],\n[M,1415,22,52339,1415,27,52344],\n[M,1416,12,52362,1416,51,52401],\n[M,1416,28,52378,1416,46,52396],\n[M,1416,29,52379,1416,36,52386],\n[M,1415,12,52329,1415,28,52345],\n[M,1412,16,52259,1417,14,52416],\n[M,1418,17,52434,1418,26,52443],\n[M,1412,16,52259,1418,27,52444],\n[M,1422,10,52514,1425,13,52608],\n[M,1423,13,52535,1423,19,52541],\n[M,1423,21,52543,1423,28,52550],\n[M,1424,12,52568,1424,38,52594],\n[M,1423,12,52534,1423,29,52551],\n[M,1420,15,52461,1425,14,52609],\n[M,1426,17,52627,1426,26,52636],\n[M,1420,15,52461,1426,27,52637],\n[M,1430,10,52708,1432,13,52811],\n[M,1431,45,52761,1431,76,52792],\n[M,1431,46,52762,1431,53,52769],\n[M,1431,55,52771,1431,75,52791],\n[M,1431,12,52728,1431,81,52797],\n[M,1431,25,52741,1431,43,52759],\n[M,1428,16,52655,1432,14,52812],\n[M,1428,16,52655,1433,36,52849],\n[M,1435,6,52857,1458,41,53681],\n[M,1435,7,52858,1435,15,52866],\n[M,1438,12,52930,1446,15,53224],\n[M,1439,15,52953,1439,22,52960],\n[M,1439,24,52962,1439,29,52967],\n[M,1440,14,52987,1445,35,53208],\n[M,1440,15,52988,1440,26,52999],\n[M,1441,16,53017,1444,39,53171],\n[M,1441,17,53018,1441,24,53025],\n[M,1445,16,53189,1445,34,53207],\n[M,1444,18,53150,1444,38,53170],\n[M,1443,18,53090,1443,58,53130],\n[M,1443,26,53098,1443,57,53129],\n[M,1442,18,53045,1442,43,53070],\n[M,1439,14,52952,1439,30,52968],\n[M,1436,8,52876,1446,16,53225],\n[M,1448,12,53258,1449,66,53334],\n[M,1448,13,53259,1448,20,53266],\n[M,1436,8,52876,1449,67,53335],\n[M,1452,34,53436,1452,47,53449],\n[M,1454,30,53502,1454,47,53519],\n[M,1455,8,53532,1458,40,53680],\n[M,1458,10,53650,1458,39,53679],\n[M,1458,19,53659,1458,38,53678],\n[M,1457,10,53613,1457,35,53638],\n[M,1457,17,53620,1457,34,53637],\n[M,1456,10,53561,1456,50,53601],\n[M,1456,18,53569,1456,49,53600],\n[M,1450,8,53345,1454,50,53522],\n[M,1454,10,53482,1454,49,53521],\n[M,1454,17,53489,1454,48,53520],\n[M,1452,10,53412,1452,49,53451],\n[M,1452,19,53421,1452,48,53450],\n[M,1451,10,53374,1451,36,53400],\n[M,1451,18,53382,1451,35,53399],\n[M,1449,14,53282,1449,65,53333],\n[M,1433,17,52830,1433,35,52848],\n[M,1355,11,50781,1355,34,50804],\n[M,1354,11,50743,1354,35,50767],\n[M,1353,9,50701,1353,37,50729],\n[M,1349,11,50593,1349,34,50616],\n[M,1348,11,50555,1348,35,50579],\n[M,1347,9,50518,1347,32,50541],\n[M,1322,20,49811,1322,38,49829],\n[M,1460,4,53695,1477,7,54400],\n[M,1461,6,53729,1476,126,54392],\n[M,1461,7,53730,1461,15,53738],\n[M,1462,8,53748,1467,23,53980],\n[M,1462,9,53749,1462,16,53756],\n[M,1464,17,53825,1464,31,53839],\n[M,1466,17,53939,1466,32,53954],\n[M,1468,8,53990,1471,23,54115],\n[M,1468,9,53991,1468,16,53998],\n[M,1470,31,54076,1470,44,54089],\n[M,1472,8,54125,1474,42,54246],\n[M,1472,9,54126,1472,16,54133],\n[M,1474,23,54227,1474,40,54244],\n[M,1475,8,54256,1476,125,54391],\n[M,1475,9,54257,1475,16,54264],\n[M,1476,10,54276,1476,124,54390],\n[M,1474,10,54214,1474,41,54245],\n[M,1473,10,54145,1473,67,54202],\n[M,1471,10,54102,1471,22,54114],\n[M,1470,10,54055,1470,45,54090],\n[M,1469,10,54010,1469,43,54043],\n[M,1467,10,53967,1467,22,53979],\n[M,1466,10,53932,1466,33,53955],\n[M,1465,10,53852,1465,78,53920],\n[M,1464,10,53818,1464,32,53840],\n[M,1463,10,53768,1463,48,53806],\n[M,1479,4,54502,1650,7,59901],\n[M,1480,22,54601,1480,39,54618],\n[M,1480,22,54601,1480,48,54627],\n[M,1483,6,54700,1502,9,55555],\n[M,1484,8,54750,1490,11,54924],\n[M,1486,12,54822,1486,55,54865],\n[M,1486,13,54823,1486,20,54830],\n[M,1486,22,54832,1486,38,54848],\n[M,1486,48,54858,1486,53,54863],\n[M,1486,22,54832,1486,54,54864],\n[M,1485,13,54790,1485,31,54808],\n[M,1492,49,54998,1492,55,55004],\n[M,1492,64,55013,1492,70,55019],\n[M,1492,81,55030,1492,84,55033],\n[M,1492,72,55021,1492,85,55034],\n[M,1492,57,55006,1492,86,55035],\n[M,1492,10,54959,1492,87,55036],\n[M,1491,8,54933,1501,11,55545],\n[M,1493,49,55086,1493,55,55092],\n[M,1493,64,55101,1493,70,55107],\n[M,1493,81,55118,1493,84,55121],\n[M,1493,72,55109,1493,85,55122],\n[M,1493,57,55094,1493,86,55123],\n[M,1493,10,55047,1493,87,55124],\n[M,1495,49,55266,1495,55,55272],\n[M,1495,64,55281,1495,70,55287],\n[M,1495,72,55289,1495,86,55303],\n[M,1495,73,55290,1495,80,55297],\n[M,1495,82,55299,1495,85,55302],\n[M,1495,98,55315,1495,101,55318],\n[M,1495,89,55306,1495,102,55319],\n[M,1495,57,55274,1495,103,55320],\n[M,1495,72,55289,1495,102,55319],\n[M,1495,10,55227,1495,104,55321],\n[M,1496,49,55371,1496,55,55377],\n[M,1496,57,55379,1496,74,55396],\n[M,1496,58,55380,1496,65,55387],\n[M,1496,67,55389,1496,73,55395],\n[M,1496,10,55332,1496,75,55397],\n[M,1499,13,55486,1499,18,55491],\n[M,1499,20,55493,1499,25,55498],\n[M,1499,27,55500,1499,43,55516],\n[M,1499,28,55501,1499,35,55508],\n[M,1499,37,55510,1499,42,55515],\n[M,1504,6,55563,1510,9,55811],\n[M,1508,25,55772,1508,28,55775],\n[M,1508,13,55760,1508,29,55776],\n[M,1507,10,55702,1508,42,55789],\n[M,1506,8,55676,1509,11,55801],\n[M,1517,20,55945,1517,48,55973],\n[M,1517,31,55956,1517,47,55972],\n[M,1516,8,55909,1517,49,55974],\n[M,1516,8,55909,1518,25,56000],\n[M,1521,8,56043,1524,46,56182],\n[M,1527,16,56232,1527,32,56248],\n[M,1527,8,56224,1530,45,56371],\n[M,1532,6,56379,1538,9,56561],\n[M,1533,8,56428,1537,23,56551],\n[M,1533,9,56429,1533,16,56436],\n[M,1537,10,56538,1537,22,56550],\n[M,1535,10,56469,1535,47,56506],\n[M,1535,18,56477,1535,46,56505],\n[M,1540,6,56569,1569,9,57479],\n[M,1542,10,56677,1551,40,56979],\n[M,1542,11,56678,1542,22,56689],\n[M,1543,12,56703,1550,27,56937],\n[M,1543,13,56704,1543,20,56711],\n[M,1551,22,56961,1551,38,56977],\n[M,1551,12,56951,1551,39,56978],\n[M,1550,14,56924,1550,26,56936],\n[M,1548,14,56860,1548,36,56882],\n[M,1546,14,56782,1546,53,56821],\n[M,1544,14,56727,1544,29,56742],\n[M,1552,30,57010,1552,46,57026],\n[M,1553,10,57039,1560,25,57259],\n[M,1553,11,57040,1553,18,57047],\n[M,1560,12,57246,1560,24,57258],\n[M,1558,12,57186,1558,34,57208],\n[M,1556,12,57112,1556,51,57151],\n[M,1554,12,57061,1554,27,57076],\n[M,1562,10,57284,1567,25,57457],\n[M,1562,11,57285,1562,18,57292],\n[M,1567,12,57444,1567,24,57456],\n[M,1565,12,57357,1565,61,57406],\n[M,1563,12,57306,1563,27,57321],\n[M,1552,16,56996,1552,47,57027],\n[M,1571,6,57487,1580,9,57800],\n[M,1572,8,57565,1579,38,57790],\n[M,1572,9,57566,1572,16,57573],\n[M,1579,10,57762,1579,37,57789],\n[M,1577,10,57713,1577,26,57729],\n[M,1575,10,57645,1575,44,57679],\n[M,1573,10,57585,1573,24,57599],\n[M,1584,10,57874,1587,13,57972],\n[M,1585,13,57895,1585,20,57902],\n[M,1585,22,57904,1585,28,57910],\n[M,1585,30,57912,1585,34,57916],\n[M,1586,12,57934,1586,36,57958],\n[M,1585,12,57894,1585,35,57917],\n[M,1582,18,57820,1587,14,57973],\n[M,1588,17,57991,1588,26,58000],\n[M,1582,18,57820,1588,27,58001],\n[M,1592,10,58088,1595,13,58233],\n[M,1593,13,58109,1593,20,58116],\n[M,1593,22,58118,1593,28,58124],\n[M,1593,30,58126,1593,34,58130],\n[M,1594,60,58196,1594,78,58214],\n[M,1594,61,58197,1594,68,58204],\n[M,1594,12,58148,1594,83,58219],\n[M,1594,25,58161,1594,58,58194],\n[M,1593,12,58108,1593,35,58131],\n[M,1590,31,58034,1595,14,58234],\n[M,1590,31,58034,1596,40,58275],\n[M,1600,10,58348,1608,13,58589],\n[M,1601,13,58369,1601,20,58376],\n[M,1601,22,58378,1601,28,58384],\n[M,1601,30,58386,1601,34,58390],\n[M,1602,46,58442,1602,63,58459],\n[M,1602,47,58443,1602,54,58450],\n[M,1602,12,58408,1607,18,58575],\n[M,1602,25,58421,1602,44,58440],\n[M,1601,12,58368,1601,35,58391],\n[M,1598,17,58294,1608,14,58590],\n[M,1598,17,58294,1609,37,58628],\n[M,1613,10,58702,1616,13,58796],\n[M,1614,13,58723,1614,19,58729],\n[M,1614,21,58731,1614,28,58738],\n[M,1615,12,58756,1615,38,58782],\n[M,1614,12,58722,1614,29,58739],\n[M,1611,19,58649,1616,14,58797],\n[M,1617,17,58815,1617,26,58824],\n[M,1611,19,58649,1617,27,58825],\n[M,1621,10,58896,1623,13,58995],\n[M,1622,45,58949,1622,72,58976],\n[M,1622,46,58950,1622,53,58957],\n[M,1622,55,58959,1622,71,58975],\n[M,1622,12,58916,1622,77,58981],\n[M,1622,25,58929,1622,43,58947],\n[M,1619,16,58843,1623,14,58996],\n[M,1619,16,58843,1624,36,59033],\n[M,1626,6,59041,1649,43,59893],\n[M,1626,7,59042,1626,15,59050],\n[M,1629,12,59118,1637,15,59392],\n[M,1630,15,59141,1630,22,59148],\n[M,1630,24,59150,1630,30,59156],\n[M,1630,32,59158,1630,36,59162],\n[M,1631,14,59182,1636,35,59376],\n[M,1631,15,59183,1631,26,59194],\n[M,1632,16,59212,1635,39,59339],\n[M,1632,17,59213,1632,24,59220],\n[M,1636,16,59357,1636,34,59375],\n[M,1635,18,59318,1635,38,59338],\n[M,1633,18,59240,1633,34,59256],\n[M,1630,14,59140,1630,37,59163],\n[M,1627,8,59060,1637,16,59393],\n[M,1639,12,59426,1640,49,59485],\n[M,1639,13,59427,1639,20,59434],\n[M,1627,8,59060,1640,50,59486],\n[M,1645,34,59659,1645,52,59677],\n[M,1647,8,59763,1649,42,59892],\n[M,1649,10,59860,1649,41,59891],\n[M,1649,20,59870,1649,40,59890],\n[M,1648,10,59815,1648,43,59848],\n[M,1648,21,59826,1648,42,59847],\n[M,1642,8,59568,1646,72,59753],\n[M,1646,54,59735,1646,70,59751],\n[M,1646,40,59721,1646,71,59752],\n[M,1646,10,59691,1646,35,59716],\n[M,1645,10,59635,1645,54,59679],\n[M,1645,21,59646,1645,53,59678],\n[M,1641,8,59496,1641,70,59558],\n[M,1641,23,59511,1641,59,59547],\n[M,1641,33,59521,1641,58,59546],\n[M,1640,14,59450,1640,48,59484],\n[M,1624,17,59014,1624,35,59032],\n[M,1609,17,58608,1609,36,58627],\n[M,1596,17,58252,1596,39,58274],\n[M,1529,11,56301,1529,34,56324],\n[M,1528,11,56263,1528,35,56287],\n[M,1527,9,56225,1527,33,56249],\n[M,1523,11,56111,1523,34,56134],\n[M,1522,11,56073,1522,35,56097],\n[M,1513,8,55845,1513,33,55870],\n[M,1481,20,54648,1481,38,54666],\n[M,1651,4,59907,1686,7,61567],\n[M,1652,17,59952,1652,34,59969],\n[M,1652,17,59952,1652,43,59978],\n[M,1655,23,60135,1655,41,60153],\n[M,1663,8,60341,1680,11,61240],\n[M,1664,13,60371,1664,29,60387],\n[M,1664,13,60371,1664,42,60400],\n[M,1665,12,60414,1669,50,60731],\n[M,1665,13,60415,1665,21,60423],\n[M,1666,14,60439,1666,112,60537],\n[M,1666,15,60440,1666,22,60447],\n[M,1666,62,60487,1666,80,60505],\n[M,1668,14,60599,1668,94,60679],\n[M,1668,15,60600,1668,22,60607],\n[M,1669,31,60712,1669,48,60729],\n[M,1669,14,60695,1669,49,60730],\n[M,1668,77,60662,1668,93,60678],\n[M,1668,57,60642,1668,75,60660],\n[M,1668,24,60609,1668,55,60640],\n[M,1668,32,60617,1668,54,60639],\n[M,1666,83,60508,1666,111,60536],\n[M,1666,91,60516,1666,110,60535],\n[M,1666,53,60478,1666,81,60506],\n[M,1666,24,60449,1666,51,60476],\n[M,1671,12,60760,1678,50,61214],\n[M,1671,13,60761,1671,21,60769],\n[M,1672,14,60785,1673,72,60926],\n[M,1672,15,60786,1672,22,60793],\n[M,1672,62,60833,1672,80,60851],\n[M,1674,33,60961,1674,49,60977],\n[M,1675,14,60994,1675,40,61020],\n[M,1675,15,60995,1675,22,61002],\n[M,1677,14,61082,1677,94,61162],\n[M,1677,15,61083,1677,22,61090],\n[M,1678,31,61195,1678,48,61212],\n[M,1678,14,61178,1678,49,61213],\n[M,1677,77,61145,1677,93,61161],\n[M,1677,57,61125,1677,75,61143],\n[M,1677,24,61092,1677,55,61123],\n[M,1677,32,61100,1677,54,61122],\n[M,1675,24,61004,1675,39,61019],\n[M,1673,16,60870,1673,71,60925],\n[M,1673,24,60878,1673,70,60924],\n[M,1672,53,60824,1672,81,60852],\n[M,1672,24,60795,1672,51,60822],\n[M,1681,8,61250,1685,46,61558],\n[M,1681,9,61251,1681,17,61259],\n[M,1682,10,61271,1682,109,61370],\n[M,1682,11,61272,1682,18,61279],\n[M,1682,58,61319,1682,76,61337],\n[M,1683,29,61401,1683,45,61417],\n[M,1684,10,61430,1684,90,61510],\n[M,1684,11,61431,1684,18,61438],\n[M,1685,27,61539,1685,44,61556],\n[M,1657,6,60208,1685,47,61559],\n[M,1685,10,61522,1685,45,61557],\n[M,1684,73,61493,1684,89,61509],\n[M,1684,53,61473,1684,71,61491],\n[M,1684,20,61440,1684,51,61471],\n[M,1684,28,61448,1684,50,61470],\n[M,1682,79,61340,1682,108,61369],\n[M,1682,87,61348,1682,107,61368],\n[M,1682,49,61310,1682,77,61338],\n[M,1682,20,61281,1682,47,61308],\n[M,1655,23,60135,1655,46,60158],\n[M,1654,19,60060,1654,32,60073],\n[M,1653,20,59999,1653,33,60012],\n[M,1689,4,61651,1883,7,68334],\n[M,1690,22,61756,1690,39,61773],\n[M,1690,22,61756,1690,48,61782],\n[M,1692,30,61878,1692,44,61892],\n[M,1694,6,61931,1713,9,62786],\n[M,1695,8,61981,1701,11,62155],\n[M,1697,12,62053,1697,55,62096],\n[M,1697,13,62054,1697,20,62061],\n[M,1697,22,62063,1697,38,62079],\n[M,1697,48,62089,1697,53,62094],\n[M,1697,22,62063,1697,54,62095],\n[M,1696,13,62021,1696,31,62039],\n[M,1703,49,62229,1703,55,62235],\n[M,1703,64,62244,1703,70,62250],\n[M,1703,81,62261,1703,84,62264],\n[M,1703,72,62252,1703,85,62265],\n[M,1703,57,62237,1703,86,62266],\n[M,1703,10,62190,1703,87,62267],\n[M,1702,8,62164,1712,11,62776],\n[M,1704,49,62317,1704,55,62323],\n[M,1704,64,62332,1704,70,62338],\n[M,1704,81,62349,1704,84,62352],\n[M,1704,72,62340,1704,85,62353],\n[M,1704,57,62325,1704,86,62354],\n[M,1704,10,62278,1704,87,62355],\n[M,1706,49,62497,1706,55,62503],\n[M,1706,64,62512,1706,70,62518],\n[M,1706,72,62520,1706,86,62534],\n[M,1706,73,62521,1706,80,62528],\n[M,1706,82,62530,1706,85,62533],\n[M,1706,98,62546,1706,101,62549],\n[M,1706,89,62537,1706,102,62550],\n[M,1706,57,62505,1706,103,62551],\n[M,1706,72,62520,1706,102,62550],\n[M,1706,10,62458,1706,104,62552],\n[M,1707,49,62602,1707,55,62608],\n[M,1707,57,62610,1707,74,62627],\n[M,1707,58,62611,1707,65,62618],\n[M,1707,67,62620,1707,73,62626],\n[M,1707,10,62563,1707,75,62628],\n[M,1710,13,62717,1710,18,62722],\n[M,1710,20,62724,1710,25,62729],\n[M,1710,27,62731,1710,43,62747],\n[M,1710,28,62732,1710,35,62739],\n[M,1710,37,62741,1710,42,62746],\n[M,1715,6,62794,1724,9,63056],\n[M,1719,14,62911,1719,39,62936],\n[M,1718,12,62882,1721,15,62993],\n[M,1717,10,62852,1721,15,62993],\n[M,1716,8,62826,1723,11,63046],\n[M,1726,6,63064,1743,9,64153],\n[M,1730,13,63237,1730,28,63252],\n[M,1730,14,63238,1730,21,63245],\n[M,1730,13,63237,1730,50,63274],\n[M,1730,55,63279,1730,58,63282],\n[M,1730,13,63237,1730,59,63283],\n[M,1731,14,63299,1731,30,63315],\n[M,1729,10,63203,1731,31,63316],\n[M,1728,8,63177,1742,11,64143],\n[M,1732,34,63351,1732,60,63377],\n[M,1732,65,63382,1732,68,63385],\n[M,1732,34,63351,1732,69,63386],\n[M,1732,71,63388,1732,87,63404],\n[M,1732,10,63327,1732,88,63405],\n[M,1733,64,63470,1733,67,63473],\n[M,1733,55,63461,1733,68,63474],\n[M,1733,77,63483,1733,80,63486],\n[M,1733,70,63476,1733,81,63487],\n[M,1733,10,63416,1733,82,63488],\n[M,1734,64,63553,1734,67,63556],\n[M,1734,55,63544,1734,68,63557],\n[M,1734,77,63566,1734,80,63569],\n[M,1734,70,63559,1734,81,63570],\n[M,1734,10,63499,1734,82,63571],\n[M,1735,67,63639,1735,70,63642],\n[M,1735,58,63630,1735,71,63643],\n[M,1735,80,63652,1735,83,63655],\n[M,1735,73,63645,1735,84,63656],\n[M,1735,10,63582,1735,85,63657],\n[M,1736,73,63731,1736,76,63734],\n[M,1736,64,63722,1736,77,63735],\n[M,1736,86,63744,1736,89,63747],\n[M,1736,79,63737,1736,90,63748],\n[M,1736,10,63668,1736,91,63749],\n[M,1737,38,63788,1737,57,63807],\n[M,1737,39,63789,1737,46,63796],\n[M,1737,48,63798,1737,54,63804],\n[M,1737,48,63798,1737,56,63806],\n[M,1737,59,63809,1737,75,63825],\n[M,1737,10,63760,1737,76,63826],\n[M,1738,38,63865,1738,57,63884],\n[M,1738,39,63866,1738,46,63873],\n[M,1738,48,63875,1738,54,63881],\n[M,1738,48,63875,1738,56,63883],\n[M,1738,59,63886,1738,75,63902],\n[M,1738,10,63837,1738,76,63903],\n[M,1739,38,63942,1739,57,63961],\n[M,1739,39,63943,1739,46,63950],\n[M,1739,48,63952,1739,54,63958],\n[M,1739,48,63952,1739,56,63960],\n[M,1739,59,63963,1739,75,63979],\n[M,1739,10,63914,1739,76,63980],\n[M,1740,38,64019,1740,57,64038],\n[M,1740,39,64020,1740,46,64027],\n[M,1740,48,64029,1740,54,64035],\n[M,1740,48,64029,1740,56,64037],\n[M,1740,59,64040,1740,75,64056],\n[M,1740,10,63991,1740,76,64057],\n[M,1741,55,64113,1741,58,64116],\n[M,1741,46,64104,1741,59,64117],\n[M,1741,68,64126,1741,71,64129],\n[M,1741,61,64119,1741,72,64130],\n[M,1741,10,64068,1741,73,64131],\n[M,1746,27,64206,1746,43,64222],\n[M,1746,27,64206,1746,56,64235],\n[M,1750,20,64333,1750,48,64361],\n[M,1750,31,64344,1750,47,64360],\n[M,1749,8,64297,1750,49,64362],\n[M,1749,8,64297,1751,25,64388],\n[M,1754,8,64431,1757,46,64570],\n[M,1760,16,64620,1760,32,64636],\n[M,1760,8,64612,1763,45,64759],\n[M,1765,6,64767,1771,9,64949],\n[M,1766,8,64816,1770,23,64939],\n[M,1766,9,64817,1766,16,64824],\n[M,1770,10,64926,1770,22,64938],\n[M,1768,10,64857,1768,47,64894],\n[M,1768,18,64865,1768,46,64893],\n[M,1773,6,64957,1802,9,65912],\n[M,1775,10,65065,1784,40,65382],\n[M,1775,11,65066,1775,22,65077],\n[M,1776,12,65091,1783,27,65340],\n[M,1776,13,65092,1776,20,65099],\n[M,1784,22,65364,1784,38,65380],\n[M,1784,12,65354,1784,39,65381],\n[M,1783,14,65327,1783,26,65339],\n[M,1781,14,65263,1781,36,65285],\n[M,1779,14,65170,1779,68,65224],\n[M,1779,22,65178,1779,67,65223],\n[M,1779,22,65178,1779,61,65217],\n[M,1777,14,65115,1777,29,65130],\n[M,1785,30,65413,1785,46,65429],\n[M,1786,10,65442,1793,25,65677],\n[M,1786,11,65443,1786,18,65450],\n[M,1793,12,65664,1793,24,65676],\n[M,1791,12,65604,1791,34,65626],\n[M,1789,12,65515,1789,66,65569],\n[M,1789,20,65523,1789,65,65568],\n[M,1789,20,65523,1789,59,65562],\n[M,1787,12,65464,1787,27,65479],\n[M,1795,10,65702,1800,25,65890],\n[M,1795,11,65703,1795,18,65710],\n[M,1800,12,65877,1800,24,65889],\n[M,1798,12,65775,1798,76,65839],\n[M,1798,20,65783,1798,75,65838],\n[M,1798,20,65783,1798,59,65822],\n[M,1796,12,65724,1796,27,65739],\n[M,1785,16,65399,1785,47,65430],\n[M,1804,6,65920,1813,9,66233],\n[M,1805,8,65998,1812,38,66223],\n[M,1805,9,65999,1805,16,66006],\n[M,1812,10,66195,1812,37,66222],\n[M,1810,10,66146,1810,26,66162],\n[M,1808,10,66078,1808,44,66112],\n[M,1806,10,66018,1806,24,66032],\n[M,1817,10,66307,1820,13,66405],\n[M,1818,13,66328,1818,20,66335],\n[M,1818,22,66337,1818,28,66343],\n[M,1818,30,66345,1818,34,66349],\n[M,1819,12,66367,1819,36,66391],\n[M,1818,12,66327,1818,35,66350],\n[M,1815,18,66253,1820,14,66406],\n[M,1821,17,66424,1821,26,66433],\n[M,1815,18,66253,1821,27,66434],\n[M,1825,10,66521,1828,13,66666],\n[M,1826,13,66542,1826,20,66549],\n[M,1826,22,66551,1826,28,66557],\n[M,1826,30,66559,1826,34,66563],\n[M,1827,60,66629,1827,78,66647],\n[M,1827,61,66630,1827,68,66637],\n[M,1827,12,66581,1827,83,66652],\n[M,1827,25,66594,1827,58,66627],\n[M,1826,12,66541,1826,35,66564],\n[M,1823,31,66467,1828,14,66667],\n[M,1823,31,66467,1829,40,66708],\n[M,1833,10,66781,1841,13,67022],\n[M,1834,13,66802,1834,20,66809],\n[M,1834,22,66811,1834,28,66817],\n[M,1834,30,66819,1834,34,66823],\n[M,1835,46,66875,1835,63,66892],\n[M,1835,47,66876,1835,54,66883],\n[M,1835,12,66841,1840,18,67008],\n[M,1835,25,66854,1835,44,66873],\n[M,1834,12,66801,1834,35,66824],\n[M,1831,17,66727,1841,14,67023],\n[M,1831,17,66727,1842,37,67061],\n[M,1846,10,67135,1849,13,67229],\n[M,1847,13,67156,1847,19,67162],\n[M,1847,21,67164,1847,28,67171],\n[M,1848,12,67189,1848,38,67215],\n[M,1847,12,67155,1847,29,67172],\n[M,1844,19,67082,1849,14,67230],\n[M,1850,17,67248,1850,26,67257],\n[M,1844,19,67082,1850,27,67258],\n[M,1854,10,67329,1856,13,67428],\n[M,1855,45,67382,1855,72,67409],\n[M,1855,46,67383,1855,53,67390],\n[M,1855,55,67392,1855,71,67408],\n[M,1855,12,67349,1855,77,67414],\n[M,1855,25,67362,1855,43,67380],\n[M,1852,16,67276,1856,14,67429],\n[M,1852,16,67276,1857,36,67466],\n[M,1859,6,67474,1882,43,68326],\n[M,1859,7,67475,1859,15,67483],\n[M,1862,12,67551,1870,15,67825],\n[M,1863,15,67574,1863,22,67581],\n[M,1863,24,67583,1863,30,67589],\n[M,1863,32,67591,1863,36,67595],\n[M,1864,14,67615,1869,35,67809],\n[M,1864,15,67616,1864,26,67627],\n[M,1865,16,67645,1868,39,67772],\n[M,1865,17,67646,1865,24,67653],\n[M,1869,16,67790,1869,34,67808],\n[M,1868,18,67751,1868,38,67771],\n[M,1866,18,67673,1866,34,67689],\n[M,1863,14,67573,1863,37,67596],\n[M,1860,8,67493,1870,16,67826],\n[M,1872,12,67859,1873,49,67918],\n[M,1872,13,67860,1872,20,67867],\n[M,1860,8,67493,1873,50,67919],\n[M,1878,34,68092,1878,52,68110],\n[M,1880,8,68196,1882,42,68325],\n[M,1882,10,68293,1882,41,68324],\n[M,1882,20,68303,1882,40,68323],\n[M,1881,10,68248,1881,43,68281],\n[M,1881,21,68259,1881,42,68280],\n[M,1875,8,68001,1879,72,68186],\n[M,1879,54,68168,1879,70,68184],\n[M,1879,40,68154,1879,71,68185],\n[M,1879,10,68124,1879,35,68149],\n[M,1878,10,68068,1878,54,68112],\n[M,1878,21,68079,1878,53,68111],\n[M,1874,8,67929,1874,70,67991],\n[M,1874,23,67944,1874,59,67980],\n[M,1874,33,67954,1874,58,67979],\n[M,1873,14,67883,1873,48,67917],\n[M,1857,17,67447,1857,35,67465],\n[M,1842,17,67041,1842,36,67060],\n[M,1829,17,66685,1829,39,66707],\n[M,1762,11,64689,1762,34,64712],\n[M,1761,11,64651,1761,35,64675],\n[M,1760,9,64613,1760,33,64637],\n[M,1756,11,64499,1756,34,64522],\n[M,1755,11,64461,1755,35,64485],\n[M,1746,8,64187,1746,79,64258],\n[M,1691,20,61803,1691,38,61821],\n[M,1884,4,68340,1919,7,69995],\n[M,1885,17,68385,1885,34,68402],\n[M,1885,17,68385,1885,43,68411],\n[M,1888,23,68568,1888,41,68586],\n[M,1891,11,68672,1891,27,68688],\n[M,1891,11,68672,1891,40,68701],\n[M,1896,8,68769,1913,11,69668],\n[M,1897,13,68799,1897,29,68815],\n[M,1897,13,68799,1897,42,68828],\n[M,1898,12,68842,1902,50,69159],\n[M,1898,13,68843,1898,21,68851],\n[M,1899,14,68867,1899,112,68965],\n[M,1899,15,68868,1899,22,68875],\n[M,1899,62,68915,1899,80,68933],\n[M,1901,14,69027,1901,94,69107],\n[M,1901,15,69028,1901,22,69035],\n[M,1902,31,69140,1902,48,69157],\n[M,1902,14,69123,1902,49,69158],\n[M,1901,77,69090,1901,93,69106],\n[M,1901,57,69070,1901,75,69088],\n[M,1901,24,69037,1901,55,69068],\n[M,1901,32,69045,1901,54,69067],\n[M,1899,83,68936,1899,111,68964],\n[M,1899,91,68944,1899,110,68963],\n[M,1899,53,68906,1899,81,68934],\n[M,1899,24,68877,1899,51,68904],\n[M,1904,12,69188,1911,50,69642],\n[M,1904,13,69189,1904,21,69197],\n[M,1905,14,69213,1906,72,69354],\n[M,1905,15,69214,1905,22,69221],\n[M,1905,62,69261,1905,80,69279],\n[M,1907,33,69389,1907,49,69405],\n[M,1908,14,69422,1908,40,69448],\n[M,1908,15,69423,1908,22,69430],\n[M,1910,14,69510,1910,94,69590],\n[M,1910,15,69511,1910,22,69518],\n[M,1911,31,69623,1911,48,69640],\n[M,1911,14,69606,1911,49,69641],\n[M,1910,77,69573,1910,93,69589],\n[M,1910,57,69553,1910,75,69571],\n[M,1910,24,69520,1910,55,69551],\n[M,1910,32,69528,1910,54,69550],\n[M,1908,24,69432,1908,39,69447],\n[M,1906,16,69298,1906,71,69353],\n[M,1906,24,69306,1906,70,69352],\n[M,1905,53,69252,1905,81,69280],\n[M,1905,24,69223,1905,51,69250],\n[M,1914,8,69678,1918,46,69986],\n[M,1914,9,69679,1914,17,69687],\n[M,1915,10,69699,1915,109,69798],\n[M,1915,11,69700,1915,18,69707],\n[M,1915,58,69747,1915,76,69765],\n[M,1916,29,69829,1916,45,69845],\n[M,1917,10,69858,1917,90,69938],\n[M,1917,11,69859,1917,18,69866],\n[M,1918,27,69967,1918,44,69984],\n[M,1890,6,68641,1918,47,69987],\n[M,1918,10,69950,1918,45,69985],\n[M,1917,73,69921,1917,89,69937],\n[M,1917,53,69901,1917,71,69919],\n[M,1917,20,69868,1917,51,69899],\n[M,1917,28,69876,1917,50,69898],\n[M,1915,79,69768,1915,108,69797],\n[M,1915,87,69776,1915,107,69796],\n[M,1915,49,69738,1915,77,69766],\n[M,1915,20,69709,1915,47,69736],\n[M,1888,23,68568,1888,46,68591],\n[M,1887,19,68493,1887,32,68506],\n[M,1886,20,68432,1886,33,68445],\n[M,1922,4,70056,1934,7,70696],\n[M,1925,10,70212,1931,68,70639],\n[M,1925,11,70213,1925,19,70221],\n[M,1927,12,70290,1927,149,70427],\n[M,1927,13,70291,1927,20,70298],\n[M,1928,12,70441,1928,51,70480],\n[M,1928,13,70442,1928,20,70449],\n[M,1929,21,70503,1929,34,70516],\n[M,1930,12,70531,1930,50,70569],\n[M,1930,13,70532,1930,20,70539],\n[M,1931,47,70618,1931,65,70636],\n[M,1931,12,70583,1931,67,70638],\n[M,1930,22,70541,1930,49,70568],\n[M,1929,12,70494,1929,35,70517],\n[M,1928,22,70451,1928,50,70479],\n[M,1927,22,70300,1927,148,70426],\n[M,1926,12,70235,1926,53,70276],\n[M,1924,8,70189,1931,68,70639],\n[M,1923,6,70139,1933,9,70688],\n[M,1932,18,70658,1932,38,70678],\n[M,1932,8,70648,1932,38,70678],\n[M,1923,12,70145,1923,20,70153],\n[M,1923,22,70155,1923,46,70179],\n[M,1935,4,70702,1942,7,71087],\n[M,1936,6,70736,1941,64,71079],\n[M,1936,7,70737,1936,15,70745],\n[M,1937,8,70755,1937,136,70883],\n[M,1937,9,70756,1937,16,70763],\n[M,1938,8,70893,1938,47,70932],\n[M,1938,9,70894,1938,16,70901],\n[M,1939,17,70951,1939,30,70964],\n[M,1940,8,70975,1940,46,71013],\n[M,1940,9,70976,1940,16,70983],\n[M,1941,43,71058,1941,61,71076],\n[M,1941,8,71023,1941,63,71078],\n[M,1940,18,70985,1940,45,71012],\n[M,1939,8,70942,1939,31,70965],\n[M,1938,18,70903,1938,46,70931],\n[M,1937,18,70765,1937,135,70882],\n[M,1945,4,71157,2007,7,73381],\n[M,1950,20,71348,1968,16,71989],\n[M,1952,14,71401,1960,29,71742],\n[M,1952,15,71402,1952,26,71413],\n[M,1953,16,71431,1959,39,71711],\n[M,1953,17,71432,1953,24,71439],\n[M,1956,20,71529,1957,56,71631],\n[M,1956,21,71530,1956,32,71541],\n[M,1958,20,71653,1958,32,71665],\n[M,1958,21,71654,1958,28,71661],\n[M,1960,16,71729,1960,28,71741],\n[M,1959,18,71690,1959,38,71710],\n[M,1955,18,71495,1958,37,71670],\n[M,1957,34,71609,1957,55,71630],\n[M,1956,34,71543,1956,64,71573],\n[M,1956,42,71551,1956,63,71572],\n[M,1954,18,71459,1954,34,71475],\n[M,1962,14,71775,1967,37,71972],\n[M,1962,15,71776,1962,22,71783],\n[M,1967,16,71951,1967,36,71971],\n[M,1966,16,71924,1966,25,71933],\n[M,1965,16,71881,1965,41,71906],\n[M,1964,16,71833,1964,46,71863],\n[M,1964,24,71841,1964,45,71862],\n[M,1963,16,71801,1963,30,71815],\n[M,1951,15,71369,1951,31,71385],\n[M,1949,8,71312,1968,17,71990],\n[M,1970,12,72023,1973,45,72154],\n[M,1970,13,72024,1970,20,72031],\n[M,1949,8,71312,1973,46,72155],\n[M,1977,20,72278,1990,30,72841],\n[M,1977,23,72281,1977,34,72292],\n[M,1977,36,72294,1977,40,72298],\n[M,1979,28,72362,1979,84,72418],\n[M,1979,66,72400,1979,79,72413],\n[M,1979,67,72401,1979,74,72408],\n[M,1979,35,72369,1979,83,72417],\n[M,1979,48,72382,1979,64,72398],\n[M,1978,20,72322,1979,85,72419],\n[M,1978,20,72322,1980,44,72464],\n[M,1981,14,72479,1990,29,72840],\n[M,1981,15,72480,1981,22,72487],\n[M,1985,27,72604,1985,40,72617],\n[M,1987,29,72684,1987,40,72695],\n[M,1989,50,72783,1989,72,72805],\n[M,1989,51,72784,1989,58,72791],\n[M,1989,60,72793,1989,71,72804],\n[M,1990,16,72827,1990,28,72839],\n[M,1989,16,72749,1989,76,72809],\n[M,1989,29,72762,1989,48,72781],\n[M,1988,16,72714,1988,33,72731],\n[M,1987,16,72671,1987,41,72696],\n[M,1986,16,72636,1986,33,72653],\n[M,1985,16,72593,1985,41,72618],\n[M,1984,16,72559,1984,32,72575],\n[M,1982,16,72505,1982,31,72520],\n[M,1980,27,72447,1980,43,72463],\n[M,1977,22,72280,1977,41,72299],\n[M,1976,8,72184,1990,31,72842],\n[M,1992,12,72875,1997,41,73082],\n[M,1992,13,72876,1992,20,72883],\n[M,1994,25,72951,1994,38,72964],\n[M,1996,27,73027,1996,38,73038],\n[M,1976,8,72184,1997,42,73083],\n[M,1999,6,73091,2006,113,73373],\n[M,1999,7,73092,1999,15,73100],\n[M,2002,17,73160,2002,27,73170],\n[M,2003,8,73181,2006,112,73372],\n[M,2003,9,73182,2003,16,73189],\n[M,2006,10,73270,2006,111,73371],\n[M,2005,10,73228,2005,40,73258],\n[M,2005,18,73236,2005,39,73257],\n[M,2004,10,73201,2004,25,73216],\n[M,2002,8,73151,2002,28,73171],\n[M,1997,14,73055,1997,40,73081],\n[M,1996,14,73014,1996,39,73039],\n[M,1995,14,72981,1995,31,72998],\n[M,1994,14,72940,1994,39,72965],\n[M,1993,14,72899,1993,39,72924],\n[M,1976,8,72184,1976,81,72257],\n[M,1973,14,72123,1973,44,72153],\n[M,1972,14,72077,1972,44,72107],\n[M,1972,22,72085,1972,43,72106],\n[M,1971,14,72047,1971,28,72061],\n[M,1946,24,71258,1946,48,71282],\n[M,2008,4,73387,2033,7,74259],\n[M,2009,6,73421,2032,113,74251],\n[M,2009,7,73422,2009,15,73430],\n[M,2011,10,73478,2017,36,73684],\n[M,2012,12,73496,2017,35,73683],\n[M,2012,13,73497,2012,20,73504],\n[M,2017,14,73662,2017,34,73682],\n[M,2016,14,73637,2016,23,73646],\n[M,2015,14,73596,2015,39,73621],\n[M,2014,14,73550,2014,44,73580],\n[M,2014,22,73558,2014,43,73579],\n[M,2013,14,73520,2013,28,73534],\n[M,2018,10,73696,2021,43,73821],\n[M,2018,11,73697,2018,18,73704],\n[M,2022,8,73832,2027,37,74019],\n[M,2022,9,73833,2022,16,73840],\n[M,2024,21,73900,2024,34,73913],\n[M,2026,23,73968,2026,34,73979],\n[M,2028,17,74038,2028,27,74048],\n[M,2029,8,74059,2032,112,74250],\n[M,2029,9,74060,2029,16,74067],\n[M,2032,10,74148,2032,111,74249],\n[M,2031,10,74106,2031,40,74136],\n[M,2031,18,74114,2031,39,74135],\n[M,2030,10,74079,2030,25,74094],\n[M,2028,8,74029,2028,28,74049],\n[M,2027,10,73992,2027,36,74018],\n[M,2026,10,73955,2026,35,73980],\n[M,2025,10,73926,2025,27,73943],\n[M,2024,10,73889,2024,35,73914],\n[M,2023,10,73852,2023,35,73877],\n[M,2010,8,73440,2021,44,73822],\n[M,2021,12,73790,2021,42,73820],\n[M,2020,12,73746,2020,42,73776],\n[M,2020,20,73754,2020,41,73775],\n[M,2019,12,73718,2019,26,73732],\n[M,2036,4,74310,2072,7,75841],\n[M,2037,9,74396,2037,17,74404],\n[M,2037,9,74396,2037,30,74417],\n[M,2038,8,74427,2041,37,74620],\n[M,2038,9,74428,2038,17,74436],\n[M,2039,61,74499,2039,69,74507],\n[M,2040,10,74520,2040,71,74581],\n[M,2040,11,74521,2040,18,74528],\n[M,2041,19,74602,2041,35,74618],\n[M,2041,10,74593,2041,36,74619],\n[M,2040,20,74530,2040,70,74580],\n[M,2039,10,74448,2039,70,74508],\n[M,2042,28,74649,2042,36,74657],\n[M,2043,34,74694,2043,42,74702],\n[M,2045,12,74742,2057,41,75301],\n[M,2045,13,74743,2045,21,74751],\n[M,2046,58,74811,2046,66,74819],\n[M,2047,24,74856,2047,32,74864],\n[M,2048,14,74881,2056,54,75258],\n[M,2048,15,74882,2048,22,74889],\n[M,2050,51,74975,2055,24,75198],\n[M,2050,52,74976,2050,59,74983],\n[M,2057,23,75283,2057,39,75299],\n[M,2057,14,75274,2057,40,75300],\n[M,2056,16,75220,2056,53,75257],\n[M,2050,16,74940,2055,28,75202],\n[M,2052,45,75067,2052,51,75073],\n[M,2052,22,75044,2052,51,75073],\n[M,2051,20,75006,2055,23,75197],\n[M,2053,54,75128,2053,60,75134],\n[M,2053,22,75096,2053,60,75134],\n[M,2054,33,75168,2054,38,75173],\n[M,2050,29,74953,2050,49,74973],\n[M,2049,16,74907,2049,31,74922],\n[M,2047,14,74846,2047,33,74865],\n[M,2046,14,74767,2046,77,74830],\n[M,2044,10,74715,2057,41,75301],\n[M,2043,8,74668,2065,11,75609],\n[M,2059,12,75339,2064,41,75597],\n[M,2059,13,75340,2059,21,75348],\n[M,2060,58,75408,2060,66,75416],\n[M,2061,24,75452,2061,32,75460],\n[M,2062,14,75477,2063,67,75554],\n[M,2062,15,75478,2062,22,75485],\n[M,2064,23,75579,2064,39,75595],\n[M,2064,14,75570,2064,40,75596],\n[M,2063,16,75503,2063,66,75553],\n[M,2061,14,75442,2061,33,75461],\n[M,2060,14,75364,2060,76,75426],\n[M,2058,10,75312,2064,41,75597],\n[M,2043,14,74674,2043,22,74682],\n[M,2043,24,74684,2043,43,74703],\n[M,2067,8,75630,2070,37,75823],\n[M,2067,9,75631,2067,17,75639],\n[M,2068,61,75702,2068,69,75710],\n[M,2069,10,75723,2069,71,75784],\n[M,2069,11,75724,2069,18,75731],\n[M,2070,19,75805,2070,35,75821],\n[M,2070,10,75796,2070,36,75822],\n[M,2069,20,75733,2069,70,75783],\n[M,2068,10,75651,2068,70,75711],\n[M,2042,14,74635,2042,37,74658],\n[M,2073,4,75847,2078,7,76076],\n[M,2074,6,75881,2077,35,76068],\n[M,2074,7,75882,2074,15,75890],\n[M,2075,59,75951,2075,67,75959],\n[M,2076,8,75970,2076,69,76031],\n[M,2076,9,75971,2076,16,75978],\n[M,2077,17,76050,2077,33,76066],\n[M,2077,8,76041,2077,34,76067],\n[M,2076,18,75980,2076,68,76030],\n[M,2075,8,75900,2075,68,75960],\n[M,2080,4,76119,2108,7,77264],\n[M,2081,9,76205,2081,17,76213],\n[M,2081,9,76205,2081,30,76226],\n[M,2082,8,76236,2088,30,76450],\n[M,2082,9,76237,2082,17,76245],\n[M,2083,10,76257,2087,29,76418],\n[M,2083,11,76258,2083,18,76265],\n[M,2085,28,76336,2085,37,76345],\n[M,2087,19,76408,2087,27,76416],\n[M,2088,10,76430,2088,29,76449],\n[M,2087,12,76401,2087,28,76417],\n[M,2086,12,76361,2086,38,76387],\n[M,2085,12,76320,2085,39,76347],\n[M,2085,20,76328,2085,38,76346],\n[M,2084,12,76279,2084,38,76305],\n[M,2089,28,76479,2089,36,76487],\n[M,2090,8,76498,2098,71,76912],\n[M,2090,9,76499,2090,17,76507],\n[M,2091,10,76519,2093,72,76630],\n[M,2091,11,76520,2091,18,76527],\n[M,2093,48,76606,2093,67,76625],\n[M,2093,49,76607,2093,56,76614],\n[M,2093,58,76616,2093,66,76624],\n[M,2094,20,76652,2094,28,76660],\n[M,2095,10,76673,2098,70,76911],\n[M,2095,11,76674,2095,18,76681],\n[M,2097,42,76816,2097,61,76835],\n[M,2097,43,76817,2097,50,76824],\n[M,2097,52,76826,2097,60,76834],\n[M,2098,12,76853,2098,69,76910],\n[M,2097,12,76786,2097,65,76839],\n[M,2097,25,76799,2097,40,76814],\n[M,2096,12,76695,2096,89,76772],\n[M,2094,10,76642,2094,29,76661],\n[M,2093,12,76570,2093,71,76629],\n[M,2093,25,76583,2093,46,76604],\n[M,2092,12,76541,2092,27,76556],\n[M,2100,8,76933,2106,141,77246],\n[M,2100,9,76934,2100,17,76942],\n[M,2101,10,76954,2106,140,77245],\n[M,2101,11,76955,2101,18,76962],\n[M,2103,28,77033,2103,37,77042],\n[M,2105,19,77094,2105,27,77102],\n[M,2106,12,77117,2106,139,77244],\n[M,2105,12,77087,2105,28,77103],\n[M,2104,12,77058,2104,27,77073],\n[M,2103,12,77017,2103,39,77044],\n[M,2103,20,77025,2103,38,77043],\n[M,2102,12,76976,2102,38,77002],\n[M,2089,14,76465,2089,37,76488],\n[M,2109,4,77270,2127,7,77904],\n[M,2110,9,77307,2110,17,77315],\n[M,2110,9,77307,2110,30,77328],\n[M,2111,8,77338,2117,30,77552],\n[M,2111,9,77339,2111,17,77347],\n[M,2112,10,77359,2116,29,77520],\n[M,2112,11,77360,2112,18,77367],\n[M,2114,28,77438,2114,37,77447],\n[M,2116,19,77510,2116,27,77518],\n[M,2117,10,77532,2117,29,77551],\n[M,2116,12,77503,2116,28,77519],\n[M,2115,12,77463,2115,38,77489],\n[M,2114,12,77422,2114,39,77449],\n[M,2114,20,77430,2114,38,77448],\n[M,2113,12,77381,2113,38,77407],\n[M,2119,8,77573,2125,141,77886],\n[M,2119,9,77574,2119,17,77582],\n[M,2120,10,77594,2125,140,77885],\n[M,2120,11,77595,2120,18,77602],\n[M,2122,28,77673,2122,37,77682],\n[M,2124,19,77734,2124,27,77742],\n[M,2125,12,77757,2125,139,77884],\n[M,2124,12,77727,2124,28,77743],\n[M,2123,12,77698,2123,27,77713],\n[M,2122,12,77657,2122,39,77684],\n[M,2122,20,77665,2122,38,77683],\n[M,2121,12,77616,2121,38,77642],\n[M,2129,4,77970,2131,7,78081],\n[M,2130,6,78053,2130,26,78073],\n[M,2132,4,78087,2139,7,78416],\n[M,2133,6,78121,2138,67,78408],\n[M,2133,7,78122,2133,15,78130],\n[M,2134,8,78140,2137,14,78339],\n[M,2134,9,78141,2134,16,78148],\n[M,2135,13,78163,2135,23,78173],\n[M,2135,13,78163,2135,32,78182],\n[M,2138,26,78367,2138,36,78377],\n[M,2138,26,78367,2138,49,78390],\n[M,2138,8,78349,2138,66,78407],\n[M,2135,39,78189,2135,86,78236],\n[M,2136,39,78276,2136,87,78324],\n[M,2135,13,78163,2135,37,78187],\n[M,2141,4,78533,2191,7,80819],\n[M,2142,6,78616,2190,12,80811],\n[M,2142,7,78617,2142,15,78625],\n[M,2145,15,78717,2145,31,78733],\n[M,2146,14,78749,2157,36,79302],\n[M,2146,15,78750,2146,26,78761],\n[M,2147,16,78779,2152,113,79077],\n[M,2147,17,78780,2147,24,78787],\n[M,2149,34,78877,2149,50,78893],\n[M,2153,16,79095,2156,53,79264],\n[M,2153,17,79096,2153,24,79103],\n[M,2154,27,79132,2154,37,79142],\n[M,2156,26,79237,2156,37,79248],\n[M,2157,16,79282,2157,35,79301],\n[M,2156,40,79251,2156,52,79263],\n[M,2156,18,79229,2156,38,79249],\n[M,2155,18,79163,2155,64,79209],\n[M,2154,18,79123,2154,38,79143],\n[M,2152,18,78982,2152,112,79076],\n[M,2151,18,78951,2151,29,78962],\n[M,2150,18,78915,2150,34,78931],\n[M,2149,18,78861,2149,52,78895],\n[M,2149,26,78869,2149,51,78894],\n[M,2148,18,78808,2148,51,78841],\n[M,2159,14,79357,2166,54,79763],\n[M,2159,15,79358,2159,26,79369],\n[M,2160,25,79396,2160,41,79412],\n[M,2162,16,79477,2166,53,79762],\n[M,2162,17,79478,2162,24,79485],\n[M,2164,27,79630,2164,37,79640],\n[M,2166,26,79735,2166,37,79746],\n[M,2166,40,79749,2166,52,79761],\n[M,2166,18,79727,2166,38,79747],\n[M,2165,18,79661,2165,64,79707],\n[M,2164,18,79621,2164,38,79641],\n[M,2163,18,79505,2163,114,79601],\n[M,2161,16,79445,2161,30,79459],\n[M,2160,16,79387,2160,56,79427],\n[M,2168,14,79796,2178,54,80314],\n[M,2168,15,79797,2168,26,79808],\n[M,2169,16,79826,2174,115,80126],\n[M,2169,17,79827,2169,24,79834],\n[M,2171,34,79924,2171,50,79940],\n[M,2175,16,80144,2178,53,80313],\n[M,2175,17,80145,2175,24,80152],\n[M,2176,27,80181,2176,37,80191],\n[M,2178,26,80286,2178,37,80297],\n[M,2178,40,80300,2178,52,80312],\n[M,2178,18,80278,2178,38,80298],\n[M,2177,18,80212,2177,64,80258],\n[M,2176,18,80172,2176,38,80192],\n[M,2174,18,80029,2174,114,80125],\n[M,2173,18,79998,2173,29,80009],\n[M,2172,18,79962,2172,34,79978],\n[M,2171,18,79908,2171,52,79942],\n[M,2171,26,79916,2171,51,79941],\n[M,2170,18,79855,2170,51,79888],\n[M,2158,20,79323,2158,38,79341],\n[M,2144,10,78687,2179,15,80330],\n[M,2143,8,78635,2190,11,80810],\n[M,2181,12,80363,2189,52,80798],\n[M,2181,13,80364,2181,24,80375],\n[M,2182,14,80391,2185,113,80618],\n[M,2182,15,80392,2182,22,80399],\n[M,2184,32,80485,2184,48,80501],\n[M,2186,14,80634,2189,51,80797],\n[M,2186,15,80635,2186,22,80642],\n[M,2187,25,80669,2187,35,80679],\n[M,2189,24,80770,2189,35,80781],\n[M,2189,38,80784,2189,50,80796],\n[M,2189,16,80762,2189,36,80782],\n[M,2188,16,80698,2188,62,80744],\n[M,2187,16,80660,2187,36,80680],\n[M,2185,16,80521,2185,112,80617],\n[M,2184,16,80469,2184,50,80503],\n[M,2184,24,80477,2184,49,80502],\n[M,2183,16,80418,2183,49,80451],\n[M,2180,10,80341,2189,52,80798],\n[M,2143,14,78641,2143,22,78649],\n[M,2143,24,78651,2143,48,78675],\n[M,2192,4,80825,2231,7,82441],\n[M,2194,8,80895,2221,11,82024],\n[M,2195,13,80918,2195,29,80934],\n[M,2196,12,80948,2207,34,81476],\n[M,2196,13,80949,2196,21,80957],\n[M,2197,14,80973,2202,111,81261],\n[M,2197,15,80974,2197,22,80981],\n[M,2199,32,81067,2199,48,81083],\n[M,2203,14,81277,2206,51,81440],\n[M,2203,15,81278,2203,22,81285],\n[M,2204,25,81312,2204,35,81322],\n[M,2206,24,81413,2206,35,81424],\n[M,2207,14,81456,2207,33,81475],\n[M,2206,38,81427,2206,50,81439],\n[M,2206,16,81405,2206,36,81425],\n[M,2205,16,81341,2205,62,81387],\n[M,2204,16,81303,2204,36,81323],\n[M,2202,16,81166,2202,110,81260],\n[M,2201,16,81137,2201,27,81148],\n[M,2200,16,81103,2200,32,81119],\n[M,2199,16,81051,2199,50,81085],\n[M,2199,24,81059,2199,49,81084],\n[M,2198,16,81000,2198,49,81033],\n[M,2209,12,81505,2219,52,81998],\n[M,2209,13,81506,2209,21,81514],\n[M,2210,14,81530,2215,111,81818],\n[M,2210,15,81531,2210,22,81538],\n[M,2212,32,81624,2212,48,81640],\n[M,2216,14,81834,2219,51,81997],\n[M,2216,15,81835,2216,22,81842],\n[M,2217,25,81869,2217,35,81879],\n[M,2219,24,81970,2219,35,81981],\n[M,2219,38,81984,2219,50,81996],\n[M,2219,16,81962,2219,36,81982],\n[M,2218,16,81898,2218,62,81944],\n[M,2217,16,81860,2217,36,81880],\n[M,2215,16,81723,2215,110,81817],\n[M,2214,16,81694,2214,27,81705],\n[M,2213,16,81660,2213,32,81676],\n[M,2212,16,81608,2212,50,81642],\n[M,2212,24,81616,2212,49,81641],\n[M,2211,16,81557,2211,49,81590],\n[M,2222,8,82034,2230,48,82432],\n[M,2222,9,82035,2222,17,82043],\n[M,2223,10,82055,2226,107,82268],\n[M,2223,11,82056,2223,18,82063],\n[M,2225,28,82141,2225,44,82157],\n[M,2227,10,82280,2230,47,82431],\n[M,2227,11,82281,2227,18,82288],\n[M,2228,21,82311,2228,31,82321],\n[M,2230,20,82404,2230,31,82415],\n[M,2193,6,80859,2230,49,82433],\n[M,2230,34,82418,2230,46,82430],\n[M,2230,12,82396,2230,32,82416],\n[M,2229,12,82336,2229,58,82382],\n[M,2228,12,82302,2228,32,82322],\n[M,2226,12,82173,2226,106,82267],\n[M,2225,12,82125,2225,46,82159],\n[M,2225,20,82133,2225,45,82158],\n[M,2224,12,82078,2224,45,82111],\n[M,2233,4,82507,2235,7,82625],\n[M,2234,6,82590,2234,26,82610],\n[M,2236,4,82631,2274,7,84528],\n[M,2237,15,82674,2237,26,82685],\n[M,2238,15,82701,2238,26,82712],\n[M,2242,10,82843,2252,13,83309],\n[M,2243,12,82882,2250,91,83282],\n[M,2243,13,82883,2243,21,82891],\n[M,2244,14,82907,2244,41,82934],\n[M,2244,15,82908,2244,22,82915],\n[M,2245,14,82950,2245,54,82990],\n[M,2245,15,82951,2245,22,82958],\n[M,2246,14,83006,2246,41,83033],\n[M,2246,15,83007,2246,22,83014],\n[M,2247,14,83049,2247,55,83090],\n[M,2247,15,83050,2247,22,83057],\n[M,2248,14,83106,2248,41,83133],\n[M,2248,15,83107,2248,22,83114],\n[M,2249,14,83149,2250,90,83281],\n[M,2249,15,83150,2249,22,83157],\n[M,2250,44,83235,2250,89,83280],\n[M,2250,16,83207,2250,42,83233],\n[M,2250,24,83215,2250,41,83232],\n[M,2249,24,83159,2249,54,83189],\n[M,2248,24,83116,2248,40,83132],\n[M,2247,24,83059,2247,54,83089],\n[M,2246,24,83016,2246,40,83032],\n[M,2245,24,82960,2245,53,82989],\n[M,2244,24,82917,2244,40,82933],\n[M,2253,13,83323,2253,24,83334],\n[M,2254,12,83376,2260,100,83802],\n[M,2254,13,83377,2254,21,83385],\n[M,2255,14,83401,2255,114,83501],\n[M,2255,15,83402,2255,22,83409],\n[M,2256,14,83517,2256,54,83557],\n[M,2256,15,83518,2256,22,83525],\n[M,2257,14,83573,2257,41,83600],\n[M,2257,15,83574,2257,22,83581],\n[M,2258,14,83616,2258,55,83657],\n[M,2258,15,83617,2258,22,83624],\n[M,2259,14,83673,2259,41,83700],\n[M,2259,15,83674,2259,22,83681],\n[M,2260,14,83716,2260,99,83801],\n[M,2260,15,83717,2260,22,83724],\n[M,2260,78,83780,2260,98,83800],\n[M,2260,64,83766,2260,76,83778],\n[M,2260,24,83726,2260,62,83764],\n[M,2259,24,83683,2259,40,83699],\n[M,2258,24,83626,2258,54,83656],\n[M,2257,24,83583,2257,40,83599],\n[M,2256,24,83527,2256,53,83556],\n[M,2255,24,83411,2255,113,83500],\n[M,2262,12,83886,2262,98,83972],\n[M,2264,12,84028,2264,110,84126],\n[M,2266,12,84182,2266,110,84280],\n[M,2253,10,83320,2267,13,84294],\n[M,2253,13,83323,2253,52,83362],\n[M,2269,10,84326,2272,45,84510],\n[M,2269,11,84327,2269,19,84335],\n[M,2270,12,84349,2270,80,84417],\n[M,2270,13,84350,2270,20,84357],\n[M,2271,12,84431,2271,44,84463],\n[M,2271,13,84432,2271,20,84439],\n[M,2271,31,84450,2271,42,84461],\n[M,2272,12,84477,2272,44,84509],\n[M,2272,13,84478,2272,20,84485],\n[M,2272,31,84496,2272,42,84507],\n[M,2272,22,84487,2272,43,84508],\n[M,2271,22,84441,2271,43,84462],\n[M,2270,22,84359,2270,79,84416],\n[M,2276,4,84609,2327,7,86489],\n[M,2277,6,84692,2293,9,85365],\n[M,2280,24,84825,2280,42,84843],\n[M,2280,24,84825,2280,44,84845],\n[M,2279,10,84752,2280,45,84846],\n[M,2278,8,84726,2292,11,85355],\n[M,2282,24,84927,2282,42,84945],\n[M,2282,24,84927,2282,44,84947],\n[M,2281,10,84857,2282,45,84948],\n[M,2284,24,85022,2284,31,85029],\n[M,2283,10,84959,2284,32,85030],\n[M,2286,24,85104,2286,31,85111],\n[M,2285,10,85041,2286,32,85112],\n[M,2288,24,85195,2288,42,85213],\n[M,2288,24,85195,2288,44,85215],\n[M,2287,10,85123,2288,45,85216],\n[M,2290,24,85290,2290,31,85297],\n[M,2289,10,85227,2290,32,85298],\n[M,2291,25,85324,2291,43,85342],\n[M,2296,16,85412,2296,34,85430],\n[M,2296,8,85404,2299,36,85544],\n[M,2303,20,85614,2303,63,85657],\n[M,2303,26,85620,2303,62,85656],\n[M,2303,42,85636,2303,58,85652],\n[M,2303,43,85637,2303,50,85644],\n[M,2303,52,85646,2303,57,85651],\n[M,2302,8,85573,2303,64,85658],\n[M,2304,19,85678,2304,27,85686],\n[M,2302,8,85573,2304,28,85687],\n[M,2307,25,85734,2307,40,85749],\n[M,2313,6,85860,2326,70,86481],\n[M,2313,7,85861,2313,15,85869],\n[M,2315,20,85920,2318,45,86085],\n[M,2316,12,85938,2318,44,86084],\n[M,2316,13,85939,2316,24,85950],\n[M,2317,34,85986,2317,39,85991],\n[M,2317,57,86009,2317,75,86027],\n[M,2318,24,86064,2318,42,86082],\n[M,2318,14,86054,2318,43,86083],\n[M,2317,14,85966,2317,86,86038],\n[M,2317,23,85975,2317,55,86007],\n[M,2317,23,85975,2317,39,85991],\n[M,2314,8,85879,2318,46,86086],\n[M,2319,54,86141,2319,72,86159],\n[M,2314,8,85879,2319,74,86161],\n[M,2320,8,86171,2325,50,86409],\n[M,2320,9,86172,2320,16,86179],\n[M,2324,38,86338,2324,54,86354],\n[M,2326,30,86441,2326,42,86453],\n[M,2326,30,86441,2326,55,86466],\n[M,2326,30,86441,2326,68,86479],\n[M,2326,9,86420,2326,69,86480],\n[M,2325,10,86369,2325,49,86408],\n[M,2324,10,86310,2324,57,86357],\n[M,2324,22,86322,2324,56,86356],\n[M,2324,30,86330,2324,55,86355],\n[M,2323,10,86258,2323,50,86298],\n[M,2322,10,86218,2322,38,86246],\n[M,2322,21,86229,2322,37,86245],\n[M,2321,10,86191,2321,25,86206],\n[M,2319,19,86106,2319,73,86160],\n[M,2308,10,85762,2308,56,85808],\n[M,2308,26,85778,2308,52,85804],\n[M,2308,27,85779,2308,34,85786],\n[M,2308,36,85788,2308,51,85803],\n[M,2310,10,85833,2310,17,85840],\n[M,2307,11,85720,2307,41,85750],\n[M,2298,11,85483,2298,34,85506],\n[M,2297,11,85445,2297,35,85469],\n[M,2296,9,85405,2296,35,85431],\n[M,2328,4,86495,2336,7,86858],\n[M,2329,6,86529,2335,69,86850],\n[M,2329,7,86530,2329,15,86538],\n[M,2330,43,86583,2330,61,86601],\n[M,2331,8,86612,2334,50,86779],\n[M,2331,9,86613,2331,16,86620],\n[M,2333,26,86709,2333,42,86725],\n[M,2335,29,86810,2335,41,86822],\n[M,2335,29,86810,2335,54,86835],\n[M,2335,29,86810,2335,67,86848],\n[M,2335,8,86789,2335,68,86849],\n[M,2334,10,86739,2334,49,86778],\n[M,2333,10,86693,2333,44,86727],\n[M,2333,18,86701,2333,43,86726],\n[M,2332,10,86632,2332,59,86681],\n[M,2330,8,86548,2330,62,86602],\n[M,2338,4,86930,2388,7,88720],\n[M,2339,6,87013,2355,9,87695],\n[M,2342,24,87146,2342,42,87164],\n[M,2342,24,87146,2342,44,87166],\n[M,2341,10,87073,2342,45,87167],\n[M,2340,8,87047,2354,11,87685],\n[M,2344,24,87248,2344,42,87266],\n[M,2344,24,87248,2344,44,87268],\n[M,2343,10,87178,2344,45,87269],\n[M,2346,24,87343,2346,31,87350],\n[M,2345,10,87280,2346,32,87351],\n[M,2348,24,87425,2348,31,87432],\n[M,2347,10,87362,2348,32,87433],\n[M,2350,24,87516,2350,42,87534],\n[M,2350,24,87516,2350,44,87536],\n[M,2349,10,87444,2350,45,87537],\n[M,2352,24,87611,2352,31,87618],\n[M,2351,10,87548,2352,32,87619],\n[M,2353,34,87654,2353,52,87672],\n[M,2358,16,87742,2358,34,87760],\n[M,2358,8,87734,2361,36,87874],\n[M,2365,20,87944,2365,63,87987],\n[M,2365,26,87950,2365,62,87986],\n[M,2365,42,87966,2365,58,87982],\n[M,2365,43,87967,2365,50,87974],\n[M,2365,52,87976,2365,57,87981],\n[M,2364,8,87903,2365,64,87988],\n[M,2366,19,88008,2366,27,88016],\n[M,2364,8,87903,2366,28,88017],\n[M,2369,25,88064,2369,40,88079],\n[M,2375,6,88190,2387,24,88712],\n[M,2375,7,88191,2375,15,88199],\n[M,2377,20,88250,2380,45,88415],\n[M,2378,12,88268,2380,44,88414],\n[M,2378,13,88269,2378,24,88280],\n[M,2379,34,88316,2379,39,88321],\n[M,2379,57,88339,2379,75,88357],\n[M,2380,24,88394,2380,42,88412],\n[M,2380,14,88384,2380,43,88413],\n[M,2379,14,88296,2379,86,88368],\n[M,2379,23,88305,2379,55,88337],\n[M,2379,23,88305,2379,39,88321],\n[M,2376,8,88209,2380,46,88416],\n[M,2381,54,88471,2381,72,88489],\n[M,2376,8,88209,2381,74,88491],\n[M,2382,8,88501,2387,23,88711],\n[M,2382,9,88502,2382,16,88509],\n[M,2386,38,88667,2386,54,88683],\n[M,2387,10,88698,2387,22,88710],\n[M,2386,10,88639,2386,57,88686],\n[M,2386,22,88651,2386,56,88685],\n[M,2386,30,88659,2386,55,88684],\n[M,2385,10,88588,2385,49,88627],\n[M,2384,10,88548,2384,38,88576],\n[M,2384,21,88559,2384,37,88575],\n[M,2383,10,88521,2383,25,88536],\n[M,2381,19,88436,2381,73,88490],\n[M,2370,10,88092,2370,56,88138],\n[M,2370,26,88108,2370,52,88134],\n[M,2370,27,88109,2370,34,88116],\n[M,2370,36,88118,2370,51,88133],\n[M,2372,10,88163,2372,17,88170],\n[M,2369,11,88050,2369,41,88080],\n[M,2360,11,87813,2360,34,87836],\n[M,2359,11,87775,2359,35,87799],\n[M,2358,9,87735,2358,35,87761],\n[M,2389,4,88726,2396,7,88991],\n[M,2390,6,88760,2395,24,88983],\n[M,2390,7,88761,2390,15,88769],\n[M,2391,43,88814,2391,61,88832],\n[M,2392,8,88843,2395,23,88982],\n[M,2392,9,88844,2392,16,88851],\n[M,2394,26,88939,2394,42,88955],\n[M,2395,10,88969,2395,22,88981],\n[M,2394,10,88923,2394,44,88957],\n[M,2394,18,88931,2394,43,88956],\n[M,2393,10,88863,2393,58,88911],\n[M,2391,8,88779,2391,62,88833],\n[M,2399,4,89018,2401,7,89129],\n[M,2400,6,89101,2400,26,89121],\n[M,2402,4,89135,2404,7,89223],\n[M,2403,6,89169,2403,52,89215],\n[M,2403,7,89170,2403,15,89178],\n[M,2403,17,89180,2403,51,89214],\n[M,2407,4,89272,2409,7,89383],\n[M,2408,6,89355,2408,26,89375],\n[M,2410,4,89389,2410,79,89464],\n[M,2410,32,89417,2410,75,89460],\n[M,2410,33,89418,2410,41,89426],\n[M,2410,43,89428,2410,74,89459],\n[M,2410,44,89429,2410,51,89436],\n[M,2410,62,89447,2410,72,89457],\n[M,2410,53,89438,2410,73,89458],\n[M,2411,4,89470,2413,7,89529],\n[M,2412,18,89510,2412,28,89520],\n[M,2412,6,89498,2412,29,89521],\n[M,2416,4,89570,2418,7,89681],\n[M,2417,6,89653,2417,26,89673],\n[M,2419,4,89687,2421,7,89790],\n[M,2420,6,89721,2420,67,89782],\n[M,2420,7,89722,2420,15,89730],\n[M,2420,56,89771,2420,65,89780],\n[M,2420,47,89762,2420,66,89781],\n[M,2420,17,89732,2420,45,89760],\n[M,2424,4,89837,2426,7,89948],\n[M,2425,6,89920,2425,26,89940],\n[M,2427,4,89954,2429,7,90007],\n[M,2428,6,89988,2428,17,89999],\n[M,88,2,2030,98,7,2557],\n[M,99,2,2560,129,7,3494],\n[M,130,2,3497,139,7,3816],\n[M,130,33,3528,130,39,3534],\n[M,140,2,3819,163,7,4760],\n[M,164,2,4763,201,7,6235],\n[M,202,2,6238,239,7,7759],\n[M,240,2,7762,277,7,9232],\n[M,278,2,9235,312,7,10662],\n[M,313,2,10665,333,7,11771],\n[M,313,43,10706,313,49,10712],\n[M,334,2,11774,343,7,12153],\n[M,344,2,12156,353,7,12538],\n[M,354,2,12541,371,7,13313],\n[M,372,2,13316,428,7,15553],\n[M,372,39,13353,372,45,13359],\n[M,429,2,15556,452,7,16578],\n[M,453,2,16581,472,7,17420],\n[M,453,54,16633,453,60,16639],\n[M,453,71,16650,453,77,16656],\n[M,473,2,17423,510,7,18955],\n[M,473,44,17465,473,50,17471],\n[M,511,2,18958,568,7,21394],\n[M,511,47,19003,511,53,19009],\n[M,569,2,21397,621,7,23385],\n[M,622,2,23388,700,7,26540],\n[M,701,2,26543,743,7,28163],\n[M,701,45,26586,701,51,26592],\n[M,744,2,28166,786,7,29825],\n[M,787,2,29828,798,7,30361],\n[M,799,2,30364,811,7,30943],\n[M,812,2,30946,881,7,33591],\n[M,812,38,30982,812,44,30988],\n[M,882,2,33594,1003,7,38737],\n[M,1004,2,38740,1104,7,43089],\n[M,1105,2,43092,1319,7,49614],\n[M,1105,64,43154,1105,71,43161],\n[M,1320,2,49617,1477,7,54400],\n[M,1478,2,54403,1686,7,61567],\n[M,1688,2,61571,1919,7,69995],\n[M,1921,2,69999,1942,7,71087],\n[M,1944,2,71091,2033,7,74259],\n[M,2035,2,74263,2078,7,76076],\n[M,2079,2,76079,2127,7,77904],\n[M,2128,2,77907,2139,7,78416],\n[M,2140,2,78419,2231,7,82441],\n[M,2140,39,78456,2140,45,78462],\n[M,2140,63,78480,2140,69,78486],\n[M,2140,81,78498,2140,87,78504],\n[M,2232,2,82444,2274,7,84528],\n[M,2232,31,82473,2232,37,82479],\n[M,2275,2,84531,2336,7,86858],\n[M,2337,2,86861,2396,7,88991],\n[M,2398,2,88995,2404,7,89223],\n[M,2406,2,89231,2413,7,89529],\n[M,2415,2,89537,2421,7,89790],\n[M,2415,17,89552,2415,23,89558],\n[M,2423,2,89798,2429,7,90007],\n[M,2423,23,89819,2423,29,89825],\n[M,87,0,2009,2430,3,90011],\n[M,2434,4,90070,2453,7,90926],\n[M,2435,23,90142,2435,29,90148],\n[M,2436,8,90185,2445,26,90633],\n[M,2436,9,90186,2436,17,90194],\n[M,2437,10,90206,2438,75,90291],\n[M,2437,11,90207,2437,18,90214],\n[M,2439,20,90313,2439,26,90319],\n[M,2439,29,90322,2439,35,90328],\n[M,2440,10,90341,2445,25,90632],\n[M,2440,11,90342,2440,18,90349],\n[M,2442,57,90480,2442,74,90497],\n[M,2442,58,90481,2442,65,90488],\n[M,2442,67,90490,2442,73,90496],\n[M,2444,47,90584,2444,64,90601],\n[M,2444,48,90585,2444,55,90592],\n[M,2444,57,90594,2444,63,90600],\n[M,2445,12,90619,2445,24,90631],\n[M,2444,12,90549,2444,68,90605],\n[M,2444,25,90562,2444,45,90582],\n[M,2443,12,90515,2443,32,90535],\n[M,2442,12,90435,2442,78,90501],\n[M,2442,25,90448,2442,55,90478],\n[M,2441,12,90363,2441,70,90421],\n[M,2439,10,90303,2439,36,90329],\n[M,2439,20,90313,2439,35,90328],\n[M,2438,12,90228,2438,74,90290],\n[M,2447,8,90654,2451,65,90908],\n[M,2447,9,90655,2447,17,90663],\n[M,2448,10,90675,2451,64,90907],\n[M,2448,11,90676,2448,18,90683],\n[M,2449,57,90742,2449,63,90748],\n[M,2449,66,90751,2449,72,90757],\n[M,2451,12,90855,2451,63,90906],\n[M,2450,12,90772,2450,81,90841],\n[M,2449,50,90735,2449,73,90758],\n[M,2449,57,90742,2449,72,90757],\n[M,2449,12,90697,2449,48,90733],\n[M,2435,49,90168,2435,55,90174],\n[M,2435,35,90154,2435,56,90175],\n[M,2435,9,90128,2435,30,90149],\n[M,2454,4,90932,2460,7,91220],\n[M,2455,6,90966,2459,63,91212],\n[M,2455,7,90967,2455,15,90975],\n[M,2456,8,90985,2459,62,91211],\n[M,2456,9,90986,2456,16,90993],\n[M,2457,55,91050,2457,61,91056],\n[M,2457,64,91059,2457,70,91065],\n[M,2459,10,91159,2459,61,91210],\n[M,2458,10,91078,2458,79,91147],\n[M,2457,48,91043,2457,71,91066],\n[M,2457,55,91050,2457,70,91065],\n[M,2457,10,91005,2457,46,91041],\n[M,2462,4,91268,2480,7,92041],\n[M,2463,23,91340,2463,29,91346],\n[M,2464,8,91383,2472,26,91773],\n[M,2464,9,91384,2464,17,91392],\n[M,2465,10,91404,2466,77,91491],\n[M,2465,11,91405,2465,18,91412],\n[M,2467,20,91513,2467,26,91519],\n[M,2468,10,91532,2472,25,91772],\n[M,2468,11,91533,2468,18,91540],\n[M,2469,54,91596,2469,71,91613],\n[M,2469,55,91597,2469,62,91604],\n[M,2469,64,91606,2469,70,91612],\n[M,2471,47,91724,2471,64,91741],\n[M,2471,48,91725,2471,55,91732],\n[M,2471,57,91734,2471,63,91740],\n[M,2472,12,91759,2472,24,91771],\n[M,2471,12,91689,2471,68,91745],\n[M,2471,25,91702,2471,45,91722],\n[M,2470,12,91632,2470,55,91675],\n[M,2469,12,91554,2469,76,91618],\n[M,2469,25,91567,2469,52,91594],\n[M,2467,10,91503,2467,27,91520],\n[M,2466,12,91426,2466,76,91490],\n[M,2474,8,91794,2478,47,92023],\n[M,2474,9,91795,2474,17,91803],\n[M,2475,10,91815,2478,46,92022],\n[M,2475,11,91816,2475,18,91823],\n[M,2476,57,91882,2476,63,91888],\n[M,2478,12,91988,2478,45,92021],\n[M,2477,12,91903,2477,83,91974],\n[M,2476,50,91875,2476,64,91889],\n[M,2476,12,91837,2476,48,91873],\n[M,2463,49,91366,2463,55,91372],\n[M,2463,35,91352,2463,56,91373],\n[M,2463,9,91326,2463,30,91347],\n[M,2481,4,92047,2487,7,92320],\n[M,2482,6,92081,2486,46,92312],\n[M,2482,7,92082,2482,15,92090],\n[M,2483,8,92100,2486,45,92311],\n[M,2483,9,92101,2483,16,92108],\n[M,2484,55,92165,2484,61,92171],\n[M,2484,64,92174,2484,70,92180],\n[M,2486,10,92276,2486,44,92310],\n[M,2485,10,92193,2485,81,92264],\n[M,2484,48,92158,2484,71,92181],\n[M,2484,55,92165,2484,70,92180],\n[M,2484,10,92120,2484,46,92156],\n[M,2489,4,92385,2511,7,93742],\n[M,2490,23,92457,2490,31,92465],\n[M,2491,8,92476,2499,83,93090],\n[M,2491,9,92477,2491,17,92485],\n[M,2492,10,92497,2492,76,92563],\n[M,2492,11,92498,2492,18,92505],\n[M,2493,20,92585,2493,28,92593],\n[M,2494,10,92606,2499,82,93089],\n[M,2494,11,92607,2494,18,92614],\n[M,2495,91,92782,2495,110,92801],\n[M,2495,92,92783,2495,99,92790],\n[M,2495,101,92792,2495,109,92800],\n[M,2499,12,93019,2499,81,93088],\n[M,2498,43,92983,2498,65,93005],\n[M,2498,51,92991,2498,64,93004],\n[M,2498,12,92952,2498,41,92981],\n[M,2497,35,92917,2497,56,92938],\n[M,2497,43,92925,2497,55,92937],\n[M,2497,12,92894,2497,33,92915],\n[M,2496,53,92859,2496,74,92880],\n[M,2496,61,92867,2496,73,92879],\n[M,2496,12,92818,2496,51,92857],\n[M,2495,50,92741,2495,113,92804],\n[M,2495,63,92754,2495,90,92781],\n[M,2495,12,92703,2495,49,92740],\n[M,2494,20,92616,2494,93,92689],\n[M,2493,10,92575,2493,29,92594],\n[M,2492,20,92507,2492,75,92562],\n[M,2501,8,93111,2509,83,93724],\n[M,2501,9,93112,2501,17,93120],\n[M,2502,10,93132,2503,29,93228],\n[M,2502,11,93133,2502,18,93140],\n[M,2503,19,93218,2503,27,93226],\n[M,2504,10,93240,2509,82,93723],\n[M,2504,11,93241,2504,18,93248],\n[M,2505,91,93416,2505,110,93435],\n[M,2505,92,93417,2505,99,93424],\n[M,2505,101,93426,2505,109,93434],\n[M,2509,12,93653,2509,81,93722],\n[M,2508,43,93617,2508,65,93639],\n[M,2508,51,93625,2508,64,93638],\n[M,2508,12,93586,2508,41,93615],\n[M,2507,35,93551,2507,56,93572],\n[M,2507,43,93559,2507,55,93571],\n[M,2507,12,93528,2507,33,93549],\n[M,2506,53,93493,2506,74,93514],\n[M,2506,61,93501,2506,73,93513],\n[M,2506,12,93452,2506,51,93491],\n[M,2505,50,93375,2505,113,93438],\n[M,2505,63,93388,2505,90,93415],\n[M,2505,12,93337,2505,49,93374],\n[M,2504,20,93250,2504,93,93323],\n[M,2503,12,93211,2503,28,93227],\n[M,2502,20,93142,2502,75,93197],\n[M,2490,9,92443,2490,32,92466],\n[M,2512,4,93748,2523,7,94394],\n[M,2513,6,93782,2522,7,94386],\n[M,2513,7,93783,2513,15,93791],\n[M,2514,8,93801,2514,104,93897],\n[M,2514,9,93802,2514,16,93809],\n[M,2514,94,93887,2514,102,93895],\n[M,2515,8,93907,2515,90,93989],\n[M,2515,9,93908,2515,16,93915],\n[M,2516,8,93999,2516,73,94064],\n[M,2516,9,94000,2516,16,94007],\n[M,2517,8,94074,2520,36,94303],\n[M,2517,9,94075,2517,16,94082],\n[M,2521,8,94313,2521,73,94378],\n[M,2521,9,94314,2521,16,94321],\n[M,2521,18,94323,2521,72,94377],\n[M,2520,10,94277,2520,35,94302],\n[M,2519,41,94243,2519,63,94265],\n[M,2519,49,94251,2519,62,94264],\n[M,2519,10,94212,2519,39,94241],\n[M,2518,33,94179,2518,54,94200],\n[M,2518,41,94187,2518,53,94199],\n[M,2518,10,94156,2518,31,94177],\n[M,2517,57,94123,2517,78,94144],\n[M,2517,65,94131,2517,77,94143],\n[M,2517,18,94084,2517,55,94121],\n[M,2516,18,94009,2516,72,94063],\n[M,2515,18,93917,2515,89,93988],\n[M,2514,18,93811,2514,73,93866],\n[M,2525,4,94438,2542,7,95459],\n[M,2526,23,94510,2526,31,94518],\n[M,2527,8,94529,2533,107,94999],\n[M,2527,9,94530,2527,17,94538],\n[M,2528,10,94550,2528,76,94616],\n[M,2528,11,94551,2528,18,94558],\n[M,2529,20,94638,2529,28,94646],\n[M,2530,10,94659,2533,106,94998],\n[M,2530,11,94660,2530,18,94667],\n[M,2531,48,94783,2531,67,94802],\n[M,2531,49,94784,2531,56,94791],\n[M,2531,58,94793,2531,66,94801],\n[M,2533,12,94904,2533,105,94997],\n[M,2532,12,94819,2532,83,94890],\n[M,2531,12,94747,2531,70,94805],\n[M,2531,25,94760,2531,47,94782],\n[M,2531,33,94768,2531,46,94781],\n[M,2530,20,94669,2530,84,94733],\n[M,2529,10,94628,2529,29,94647],\n[M,2528,20,94560,2528,75,94615],\n[M,2535,8,95020,2540,107,95441],\n[M,2535,9,95021,2535,17,95029],\n[M,2536,10,95041,2537,29,95137],\n[M,2536,11,95042,2536,18,95049],\n[M,2537,19,95127,2537,27,95135],\n[M,2538,10,95149,2540,106,95440],\n[M,2538,11,95150,2538,18,95157],\n[M,2540,12,95346,2540,105,95439],\n[M,2539,12,95261,2539,83,95332],\n[M,2538,86,95225,2538,108,95247],\n[M,2538,94,95233,2538,107,95246],\n[M,2538,20,95159,2538,84,95223],\n[M,2537,12,95120,2537,28,95136],\n[M,2536,20,95051,2536,75,95106],\n[M,2526,9,94496,2526,32,94519],\n[M,2543,4,95465,2550,7,95928],\n[M,2544,6,95499,2549,105,95920],\n[M,2544,7,95500,2544,15,95508],\n[M,2545,8,95518,2545,74,95584],\n[M,2545,9,95519,2545,16,95526],\n[M,2546,27,95613,2546,35,95621],\n[M,2547,8,95632,2549,104,95919],\n[M,2547,9,95633,2547,16,95640],\n[M,2549,10,95825,2549,103,95918],\n[M,2548,10,95742,2548,81,95813],\n[M,2547,84,95708,2547,106,95730],\n[M,2547,92,95716,2547,105,95729],\n[M,2547,18,95642,2547,82,95706],\n[M,2545,18,95528,2545,73,95583],\n[M,2552,4,95964,2569,7,96751],\n[M,2553,23,96036,2553,31,96044],\n[M,2554,8,96055,2561,125,96435],\n[M,2554,9,96056,2554,17,96064],\n[M,2555,10,96077,2558,43,96256],\n[M,2555,11,96078,2555,18,96085],\n[M,2557,40,96188,2557,59,96207],\n[M,2557,41,96189,2557,48,96196],\n[M,2557,50,96198,2557,58,96206],\n[M,2559,21,96279,2559,29,96287],\n[M,2560,10,96300,2561,124,96434],\n[M,2560,11,96301,2560,18,96308],\n[M,2561,12,96322,2561,123,96433],\n[M,2559,11,96269,2559,30,96288],\n[M,2558,12,96225,2558,42,96255],\n[M,2557,12,96160,2557,63,96211],\n[M,2557,25,96173,2557,39,96187],\n[M,2556,12,96099,2556,59,96146],\n[M,2563,8,96456,2567,146,96733],\n[M,2563,9,96457,2563,17,96465],\n[M,2564,10,96478,2567,145,96732],\n[M,2564,11,96479,2564,18,96486],\n[M,2566,19,96576,2566,27,96584],\n[M,2567,12,96599,2567,144,96731],\n[M,2566,12,96569,2566,28,96585],\n[M,2565,12,96500,2565,67,96555],\n[M,2553,9,96022,2553,32,96045],\n[M,2570,4,96757,2574,7,97010],\n[M,2571,6,96791,2573,114,97002],\n[M,2571,7,96792,2571,15,96800],\n[M,2571,17,96802,2573,113,97001],\n[M,2571,18,96803,2571,25,96810],\n[M,2573,10,96898,2573,112,97000],\n[M,2572,10,96822,2572,74,96886],\n[M,2576,4,97062,2595,7,97883],\n[M,2577,23,97134,2577,31,97142],\n[M,2578,8,97153,2585,53,97508],\n[M,2578,9,97154,2578,17,97162],\n[M,2579,10,97175,2580,48,97233],\n[M,2579,11,97176,2579,18,97183],\n[M,2581,20,97255,2581,28,97263],\n[M,2582,10,97276,2585,52,97507],\n[M,2582,11,97277,2582,18,97284],\n[M,2585,12,97467,2585,51,97506],\n[M,2584,12,97430,2584,35,97453],\n[M,2584,20,97438,2584,34,97452],\n[M,2583,12,97298,2583,130,97416],\n[M,2581,10,97245,2581,29,97264],\n[M,2580,12,97197,2580,47,97232],\n[M,2587,8,97529,2593,53,97865],\n[M,2587,9,97530,2587,17,97538],\n[M,2588,10,97551,2593,52,97864],\n[M,2588,11,97552,2588,18,97559],\n[M,2590,19,97632,2590,27,97640],\n[M,2593,12,97824,2593,51,97863],\n[M,2592,12,97787,2592,35,97810],\n[M,2592,20,97795,2592,34,97809],\n[M,2591,12,97655,2591,130,97773],\n[M,2590,12,97625,2590,28,97641],\n[M,2589,12,97573,2589,50,97611],\n[M,2577,9,97120,2577,32,97143],\n[M,2596,4,97889,2601,7,98153],\n[M,2597,6,97923,2600,64,98145],\n[M,2597,7,97924,2597,15,97932],\n[M,2597,17,97934,2600,63,98144],\n[M,2597,18,97935,2597,33,97950],\n[M,2599,29,98070,2599,37,98078],\n[M,2600,10,98091,2600,62,98143],\n[M,2598,10,97962,2598,87,98039],\n[M,2603,4,98198,2619,7,98773],\n[M,2604,23,98270,2604,31,98278],\n[M,2605,8,98289,2611,79,98552],\n[M,2605,9,98290,2605,17,98298],\n[M,2606,10,98311,2608,70,98420],\n[M,2606,11,98312,2606,18,98319],\n[M,2608,46,98396,2608,65,98415],\n[M,2608,47,98397,2608,54,98404],\n[M,2608,56,98406,2608,64,98414],\n[M,2609,20,98442,2609,28,98450],\n[M,2610,10,98463,2611,78,98551],\n[M,2610,11,98464,2610,18,98471],\n[M,2611,12,98485,2611,77,98550],\n[M,2609,10,98432,2609,29,98451],\n[M,2608,12,98362,2608,69,98419],\n[M,2608,25,98375,2608,44,98394],\n[M,2607,12,98333,2607,27,98348],\n[M,2613,8,98573,2617,79,98755],\n[M,2613,9,98574,2613,17,98582],\n[M,2614,10,98595,2617,78,98754],\n[M,2614,11,98596,2614,18,98603],\n[M,2616,19,98665,2616,27,98673],\n[M,2617,12,98688,2617,77,98753],\n[M,2616,12,98658,2616,28,98674],\n[M,2615,12,98617,2615,39,98644],\n[M,2604,9,98256,2604,32,98279],\n[M,2620,4,98779,2625,7,98983],\n[M,2621,6,98813,2624,54,98975],\n[M,2621,7,98814,2621,15,98822],\n[M,2621,17,98824,2624,53,98974],\n[M,2621,18,98825,2621,33,98840],\n[M,2623,29,98910,2623,37,98918],\n[M,2624,10,98931,2624,52,98973],\n[M,2622,10,98852,2622,37,98879],\n[M,2627,4,99026,2642,7,99644],\n[M,2628,23,99098,2628,31,99106],\n[M,2629,8,99117,2634,129,99368],\n[M,2629,9,99118,2629,17,99126],\n[M,2630,10,99139,2631,37,99186],\n[M,2630,11,99140,2630,18,99147],\n[M,2632,20,99208,2632,28,99216],\n[M,2633,10,99229,2634,128,99367],\n[M,2633,11,99230,2633,18,99237],\n[M,2634,12,99251,2634,127,99366],\n[M,2632,10,99198,2632,29,99217],\n[M,2631,12,99161,2631,36,99185],\n[M,2636,8,99389,2640,108,99626],\n[M,2636,9,99390,2636,17,99398],\n[M,2637,10,99411,2640,107,99625],\n[M,2637,11,99412,2637,18,99419],\n[M,2639,19,99507,2639,27,99515],\n[M,2640,12,99530,2640,106,99624],\n[M,2639,12,99500,2639,28,99516],\n[M,2638,12,99433,2638,65,99486],\n[M,2628,9,99084,2628,32,99107],\n[M,2643,4,99650,2648,7,99937],\n[M,2644,6,99684,2647,102,99929],\n[M,2644,7,99685,2644,15,99693],\n[M,2644,17,99695,2647,101,99928],\n[M,2644,18,99696,2644,33,99711],\n[M,2646,29,99816,2646,37,99824],\n[M,2647,10,99837,2647,100,99927],\n[M,2645,10,99723,2645,72,99785],\n[M,2650,4,99987,2688,7,101597],\n[M,2651,23,100059,2651,30,100066],\n[M,2651,23,100059,2651,32,100068],\n[M,2652,8,100079,2669,9,100857],\n[M,2652,9,100080,2652,17,100088],\n[M,2653,10,100101,2655,79,100219],\n[M,2653,11,100102,2653,18,100109],\n[M,2655,54,100194,2655,74,100214],\n[M,2655,55,100195,2655,62,100202],\n[M,2655,64,100204,2655,71,100211],\n[M,2655,64,100204,2655,73,100213],\n[M,2656,20,100241,2656,27,100248],\n[M,2656,20,100241,2656,29,100250],\n[M,2657,10,100263,2659,102,100423],\n[M,2657,11,100264,2657,18,100271],\n[M,2660,21,100446,2660,28,100453],\n[M,2662,14,100501,2664,97,100698],\n[M,2662,15,100502,2662,22,100509],\n[M,2664,16,100617,2664,96,100697],\n[M,2663,63,100574,2663,88,100599],\n[M,2663,71,100582,2663,87,100598],\n[M,2663,16,100527,2663,61,100572],\n[M,2661,12,100467,2664,97,100698],\n[M,2660,10,100435,2668,13,100847],\n[M,2666,14,100735,2667,88,100833],\n[M,2666,15,100736,2666,22,100743],\n[M,2667,16,100761,2667,87,100832],\n[M,2659,83,100404,2659,101,100422],\n[M,2659,56,100377,2659,81,100402],\n[M,2659,64,100385,2659,80,100401],\n[M,2659,39,100360,2659,54,100375],\n[M,2659,12,100333,2659,37,100358],\n[M,2659,20,100341,2659,36,100357],\n[M,2658,12,100285,2658,46,100319],\n[M,2656,10,100231,2656,30,100251],\n[M,2655,12,100152,2655,78,100218],\n[M,2655,25,100165,2655,52,100192],\n[M,2654,12,100123,2654,27,100138],\n[M,2671,8,100878,2686,9,101579],\n[M,2671,9,100879,2671,17,100887],\n[M,2672,10,100900,2676,102,101148],\n[M,2672,11,100901,2672,26,100916],\n[M,2674,19,100986,2674,26,100993],\n[M,2674,19,100986,2674,28,100995],\n[M,2677,21,101171,2677,28,101178],\n[M,2679,14,101223,2681,97,101420],\n[M,2679,15,101224,2679,22,101231],\n[M,2681,16,101339,2681,96,101419],\n[M,2680,63,101296,2680,88,101321],\n[M,2680,71,101304,2680,87,101320],\n[M,2680,16,101249,2680,61,101294],\n[M,2678,12,101192,2681,97,101420],\n[M,2677,10,101160,2685,13,101569],\n[M,2683,14,101457,2684,88,101555],\n[M,2683,15,101458,2683,22,101465],\n[M,2684,16,101483,2684,87,101554],\n[M,2676,83,101129,2676,101,101147],\n[M,2676,56,101102,2676,81,101127],\n[M,2676,64,101110,2676,80,101126],\n[M,2676,39,101085,2676,54,101100],\n[M,2676,12,101058,2676,37,101083],\n[M,2676,20,101066,2676,36,101082],\n[M,2675,12,101010,2675,46,101044],\n[M,2674,12,100979,2674,29,100996],\n[M,2673,12,100930,2673,47,100965],\n[M,2651,9,100045,2651,33,100069],\n[M,2689,4,101603,2698,7,102018],\n[M,2690,6,101637,2697,83,102010],\n[M,2690,7,101638,2690,15,101646],\n[M,2691,8,101657,2695,100,101907],\n[M,2691,9,101658,2691,24,101673],\n[M,2693,29,101751,2693,37,101759],\n[M,2696,8,101917,2697,82,102009],\n[M,2696,9,101918,2696,16,101925],\n[M,2697,10,101937,2697,81,102008],\n[M,2695,81,101888,2695,99,101906],\n[M,2695,54,101861,2695,79,101886],\n[M,2695,62,101869,2695,78,101885],\n[M,2695,37,101844,2695,52,101859],\n[M,2695,10,101817,2695,35,101842],\n[M,2695,18,101825,2695,34,101841],\n[M,2694,10,101772,2694,43,101805],\n[M,2692,10,101685,2692,45,101720],\n[M,2700,4,102050,2702,7,102142],\n[M,2701,34,102112,2701,42,102120],\n[M,2701,34,102112,2701,55,102133],\n[M,2701,6,102084,2701,56,102134],\n[M,2701,14,102092,2701,55,102133],\n[M,2704,4,102177,2706,7,102318],\n[M,2705,83,102288,2705,91,102296],\n[M,2705,83,102288,2705,104,102309],\n[M,2705,6,102211,2705,105,102310],\n[M,2705,14,102219,2705,104,102309],\n[M,2708,4,102359,2710,7,102500],\n[M,2709,83,102470,2709,91,102478],\n[M,2709,83,102470,2709,104,102491],\n[M,2709,6,102393,2709,105,102492],\n[M,2709,14,102401,2709,104,102491],\n[M,2712,4,102538,2712,90,102624],\n[M,2712,64,102598,2712,72,102606],\n[M,2712,64,102598,2712,85,102619],\n[M,2712,32,102566,2712,86,102620],\n[M,2712,40,102574,2712,85,102619],\n[M,2714,4,102660,2714,88,102744],\n[M,2714,62,102718,2714,70,102726],\n[M,2714,62,102718,2714,83,102739],\n[M,2714,32,102688,2714,84,102740],\n[M,2714,40,102696,2714,83,102739],\n[M,2716,4,102783,2716,91,102870],\n[M,2716,65,102844,2716,73,102852],\n[M,2716,65,102844,2716,86,102865],\n[M,2716,32,102811,2716,87,102866],\n[M,2716,40,102819,2716,86,102865],\n[M,2718,4,102913,2718,95,103004],\n[M,2718,69,102978,2718,77,102986],\n[M,2718,69,102978,2718,90,102999],\n[M,2718,32,102941,2718,91,103000],\n[M,2718,40,102949,2718,90,102999],\n[M,2720,4,103036,2720,84,103116],\n[M,2720,58,103090,2720,66,103098],\n[M,2720,58,103090,2720,79,103111],\n[M,2720,32,103064,2720,80,103112],\n[M,2720,40,103072,2720,79,103111],\n[M,2722,4,103150,2722,86,103232],\n[M,2722,60,103206,2722,68,103214],\n[M,2722,60,103206,2722,81,103227],\n[M,2722,32,103178,2722,82,103228],\n[M,2722,40,103186,2722,81,103227],\n[M,2433,2,90032,2460,7,91220],\n[M,2461,2,91223,2487,7,92320],\n[M,2488,2,92323,2523,7,94394],\n[M,2488,46,92367,2488,52,92373],\n[M,2524,2,94397,2550,7,95928],\n[M,2551,2,95931,2574,7,97010],\n[M,2575,2,97013,2601,7,98153],\n[M,2602,2,98156,2625,7,98983],\n[M,2626,2,98986,2648,7,99937],\n[M,2649,2,99940,2698,7,102018],\n[M,2699,2,102021,2702,7,102142],\n[M,2703,2,102145,2706,7,102318],\n[M,2707,2,102321,2710,7,102500],\n[M,2711,2,102503,2712,90,102624],\n[M,2713,2,102627,2714,88,102744],\n[M,2715,2,102747,2716,91,102870],\n[M,2717,2,102873,2718,95,103004],\n[M,2719,2,103007,2720,84,103116],\n[M,2721,2,103119,2722,86,103232],\n[M,2432,0,90013,2723,3,103236],\n[\"dummy location\"],\n[M,1,0,0,2723,3,103236]];\nvar string$length1 = R.getModuleField(\"builtin://global\",\"values\",\"string-length\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$is$roughnum2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-roughnum\");\nvar is$nothing3 = R.getModuleField(\"builtin://global\",\"values\",\"is-nothing\");\nvar is$number4 = R.getModuleField(\"builtin://global\",\"values\",\"is-number\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar ED6 = $ED12;\nvar $underscore_import7 = $$underscore_import5;\nvar O8 = $O13;\nvar S9 = $S14;\nvar VS10 = $VS8;\nvar $cases_dispatch6786 = {\"s-raises\":36};\nvar $cases_dispatch6765 = {\"s-op-raises\":17};\nvar $cases_dispatch5427 = {\"s-table-extend\":1,\n\"s-table-update\":2,\n\"s-table-select\":3,\n\"s-table-order\":4,\n\"s-table-filter\":5,\n\"s-table-extract\":6};\nvar $cases_dispatch5247 = {\"s-table-extend\":1,\n\"s-table-update\":2,\n\"s-table-select\":3,\n\"s-table-order\":4,\n\"s-table-filter\":5,\n\"s-table-extract\":6};\nvar $cases_dispatch5028 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch4785 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch4766 = {\"s-app\":5,\n\"s-for\":6};\nvar $cases_dispatch4755 = {\"s-app\":21,\n\"s-for\":22};\nvar $cases_dispatch4521 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch4152 = {\"s-op\":1,\n\"s-app\":5,\n\"s-fun\":8,\n\"s-lam\":11,\n\"s-method\":14,\n\"s-method-field\":17,\n\"s-dot\":20,\n\"s-extend\":22,\n\"s-update\":24,\n\"s-get-bang\":26,\n\"s-for\":28};\nvar $cases_dispatch3946 = {\"s-id\":1};\nvar $cases_dispatch3942 = {\"s-underscore\":2};\nvar $cases_dispatch3925 = {\"s-app\":1,\n\"s-dot\":4,\n\"s-for\":7,\n\"s-op\":12};\nvar $cases_dispatch3487 = {\"s-variant\":1};\nvar $cases_dispatch3458 = {\"s-app\":1,\n\"s-dot\":4,\n\"s-for\":7,\n\"s-op\":12};\nvar $cases_dispatch3091 = {\"s-variant\":1};\nvar $cases_dispatch3062 = {\"s-cases-branch\":1};\nvar $cases_dispatch2724 = {\"s-variant\":1,\n\"s-singleton-variant\":3};\nvar $cases_dispatch2676 = {\"link\":1,\n\"empty\":2};\nvar $cases_dispatch2660 = {\"s-cases-branch\":1,\n\"s-singleton-cases-branch\":3};\nvar $cases_dispatch2559 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch2527 = {\"some\":22,\n\"none\":23};\nvar $cases_dispatch2485 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2319 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch2283 = {\"some\":25,\n\"none\":26};\nvar $cases_dispatch2237 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2081 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch1911 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1892 = {\"s-extend\":1,\n\"s-app\":2};\nvar $cases_dispatch1881 = {\"s-extend\":21,\n\"s-app\":22};\nvar $cases_dispatch1800 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1781 = {\"s-dot\":1,\n\"s-app\":2};\nvar $cases_dispatch1770 = {\"s-dot\":21,\n\"s-app\":22};\nvar $cases_dispatch1675 = {\"some\":18,\n\"none\":19};\nvar $cases_dispatch1546 = {\"some\":14,\n\"none\":15};\nvar $cases_dispatch1445 = {\"some\":16,\n\"none\":17};\nvar $cases_dispatch1331 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1128 = {\"some\":19,\n\"none\":20};\nvar $cases_dispatch1105 = {\"s-dot\":1,\n\"s-app\":2};\nvar $cases_dispatch1094 = {\"s-dot\":31,\n\"s-app\":32};\nvar $cases_dispatch829 = {\"some\":17,\n\"none\":18};\nvar $cases_dispatch361 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch286 = {\"s-app\":1,\n\"s-dot\":6,\n\"s-op\":9};\nvar $cases_dispatch245 = {\"s-dot\":2};\nvar $cases_dispatch189 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch172 = {\"none\":2,\n\"some\":3};\nvar $toplevel17 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4008($$resumer13) {\nvar $step16 = 0;\nvar $elidedFrames23 = 0;\nvar $ans20 = D;\nvar $al21 = L[4008];\nif(R.isAR($$resumer13)) {\n$step16 = $$resumer13.step;\n$al21 = $$resumer13.from;\n$ans20 = $$resumer13.ans;\n$elidedFrames23 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$lookup$constructor$not$object6164 = $$resumer13.vars[0];\nis$field$not$found6156 = $$resumer13.vars[1];\nparse$error$bad$check$operator7101 = $$resumer13.vars[2];\nexit$quiet6278 = $$resumer13.vars[3];\nsample$error6114 = $$resumer13.vars[4];\ndestructure$method$application300 = $$resumer13.vars[5];\nRuntimeError7139 = $$resumer13.vars[6];\nis$duplicate$column6260 = $$resumer13.vars[7];\ntemplate$not$finished6154 = $$resumer13.vars[8];\nis$lookup$non$object6184 = $$resumer13.vars[9];\nis$spinnaker$error6148 = $$resumer13.vars[10];\nparse$error$unterminated$string7089 = $$resumer13.vars[11];\nis$user$exception6268 = $$resumer13.vars[12];\nis$module$load$failure6244 = $$resumer13.vars[13];\nnon$boolean$condition6194 = $$resumer13.vars[14];\nis$constructor$syntax$non$constructor6160 = $$resumer13.vars[15];\nis$num$string$binop$error6204 = $$resumer13.vars[16];\nspinnaker$error6150 = $$resumer13.vars[17];\nis$arity$mismatch6224 = $$resumer13.vars[18];\nis$non$tuple$bind6176 = $$resumer13.vars[19];\nmessage$exception6118 = $$resumer13.vars[20];\nis$extend$non$object6188 = $$resumer13.vars[21];\nis$missing$end7131 = $$resumer13.vars[22];\nis$args$missing$comma7123 = $$resumer13.vars[23];\nis$cases$arity$mismatch6216 = $$resumer13.vars[24];\nnon$function$app6238 = $$resumer13.vars[25];\nupdate$non$obj6122 = $$resumer13.vars[26];\nis$app$args$missing$comma7127 = $$resumer13.vars[27];\nextend$non$object6190 = $$resumer13.vars[28];\nuninitialized$id6242 = $$resumer13.vars[29];\nuser$break6266 = $$resumer13.vars[30];\ncases$singleton$mismatch6214 = $$resumer13.vars[31];\ngeneric$type$mismatch6202 = $$resumer13.vars[32];\nupdate$non$ref6130 = $$resumer13.vars[33];\nis$parse$error$bad$check$operator7099 = $$resumer13.vars[34];\nparse$error$bad$fun$header7073 = $$resumer13.vars[35];\nis$exit$quiet6276 = $$resumer13.vars[36];\ned$intro146 = $$resumer13.vars[37];\nand$if176 = $$resumer13.vars[38];\nis$update$non$existent$field6132 = $$resumer13.vars[39];\nis$sample$error6112 = $$resumer13.vars[40];\nanswer7141 = $$resumer13.vars[41];\nlookup$large$index6174 = $$resumer13.vars[42];\ncol$length$mismatch6234 = $$resumer13.vars[43];\nupdate$frozen$ref6126 = $$resumer13.vars[44];\nis$row$length$mismatch6228 = $$resumer13.vars[45];\nis$RuntimeError6106 = $$resumer13.vars[46];\nlookup$constructor$not$object6166 = $$resumer13.vars[47];\nrow$length$mismatch6230 = $$resumer13.vars[48];\nexit6274 = $$resumer13.vars[49];\nfield$not$found6158 = $$resumer13.vars[50];\nequality$failure6254 = $$resumer13.vars[51];\ninternal$error6146 = $$resumer13.vars[52];\nis$fun$missing$colon7115 = $$resumer13.vars[53];\ncolumn$not$found6258 = $$resumer13.vars[54];\ndraw$and$highlight36 = $$resumer13.vars[55];\nbad$tuple$bind6182 = $$resumer13.vars[56];\nlookup$non$object6186 = $$resumer13.vars[57];\nconstructor$arity$mismatch6222 = $$resumer13.vars[58];\nis$non$function$app6236 = $$resumer13.vars[59];\nis$no$branches$matched6140 = $$resumer13.vars[60];\nis$uninitialized$id6240 = $$resumer13.vars[61];\nis$user$break6264 = $$resumer13.vars[62];\nis$update$non$obj6120 = $$resumer13.vars[63];\nmodule$load$failure6246 = $$resumer13.vars[64];\nis$missing$comma7135 = $$resumer13.vars[65];\nis$parse$error$eof7083 = $$resumer13.vars[66];\nuser$exception6270 = $$resumer13.vars[67];\nis$parse$error$bad$app7067 = $$resumer13.vars[68];\nis$parse$error$bad$fun$header7071 = $$resumer13.vars[69];\nis$cases$singleton$mismatch6212 = $$resumer13.vars[70];\nis$lookup$non$tuple6168 = $$resumer13.vars[71];\nno$cases$matched6138 = $$resumer13.vars[72];\nis$multi$error6108 = $$resumer13.vars[73];\nand$maybe193 = $$resumer13.vars[74];\nis$invalid$array$index6248 = $$resumer13.vars[75];\nParseError7140 = $$resumer13.vars[76];\ninvalid$array$index6250 = $$resumer13.vars[77];\nmulti$error6110 = $$resumer13.vars[78];\nis$empty$block7103 = $$resumer13.vars[79];\nis$lookup$large$index6172 = $$resumer13.vars[80];\nmissing$end7133 = $$resumer13.vars[81];\nparse$error$bad$number7097 = $$resumer13.vars[82];\nbad$check$block$stmt7113 = $$resumer13.vars[83];\nis$equality$failure6252 = $$resumer13.vars[84];\nis$exit6272 = $$resumer13.vars[85];\nparse$error$bad$operator7093 = $$resumer13.vars[86];\nparse$error$next$token7077 = $$resumer13.vars[87];\nis$fun$missing$end7119 = $$resumer13.vars[88];\nis$internal$error6144 = $$resumer13.vars[89];\nupdate$non$existent$field6134 = $$resumer13.vars[90];\nis$column$not$found6256 = $$resumer13.vars[91];\nbad$block$stmt7109 = $$resumer13.vars[92];\nis$template$not$finished6152 = $$resumer13.vars[93];\nhorz$list$values80 = $$resumer13.vars[94];\nfun$missing$end7121 = $$resumer13.vars[95];\nis$constructor$arity$mismatch6220 = $$resumer13.vars[96];\nis$bad$tuple$bind6180 = $$resumer13.vars[97];\nis$non$boolean$condition6192 = $$resumer13.vars[98];\nnon$boolean$op6198 = $$resumer13.vars[99];\nis$parse$error$unterminated$string7087 = $$resumer13.vars[100];\nis$message$exception6116 = $$resumer13.vars[101];\nis$no$cases$matched6136 = $$resumer13.vars[102];\nfun$missing$colon7117 = $$resumer13.vars[103];\nis$parse$error$colon$colon7079 = $$resumer13.vars[104];\nparse$error$colon$colon7081 = $$resumer13.vars[105];\nis$numeric$binop$error6208 = $$resumer13.vars[106];\nduplicate$column6262 = $$resumer13.vars[107];\nnumeric$binop$error6210 = $$resumer13.vars[108];\nis$update$non$ref6128 = $$resumer13.vars[109];\nno$branches$matched6142 = $$resumer13.vars[110];\nis$parse$error$bad$number7095 = $$resumer13.vars[111];\nis$bad$check$block$stmt7111 = $$resumer13.vars[112];\nnum$string$binop$error6206 = $$resumer13.vars[113];\nconstructor$syntax$non$constructor6162 = $$resumer13.vars[114];\nmissing$comma7137 = $$resumer13.vars[115];\nis$parse$error$bad$operator7091 = $$resumer13.vars[116];\nis$generic$type$mismatch6200 = $$resumer13.vars[117];\nparse$error$bad$app7069 = $$resumer13.vars[118];\narity$mismatch6226 = $$resumer13.vars[119];\nparse$error$eof7085 = $$resumer13.vars[120];\nis$parse$error$next$token7075 = $$resumer13.vars[121];\nplease$report$bug158 = $$resumer13.vars[122];\nnon$tuple$bind6178 = $$resumer13.vars[123];\nis$ParseError7065 = $$resumer13.vars[124];\nis$col$length$mismatch6232 = $$resumer13.vars[125];\nis$bad$block$stmt7107 = $$resumer13.vars[126];\nempty$block7105 = $$resumer13.vars[127];\ncases$arity$mismatch6218 = $$resumer13.vars[128];\nargs$missing$comma7125 = $$resumer13.vars[129];\nlookup$non$tuple6170 = $$resumer13.vars[130];\nis$update$frozen$ref6124 = $$resumer13.vars[131];\nis$non$boolean$op6196 = $$resumer13.vars[132];\ned$simple$intro104 = $$resumer13.vars[133];\nvert$list$values58 = $$resumer13.vars[134];\napp$args$missing$comma7129 = $$resumer13.vars[135];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans20 = R.mC();\n}\nwhile(!R.isContinuation($ans20)) {\nswitch($step16) {\ncase 0: var RuntimeError24 = R.nB(\"RuntimeError\",L[3495]);\nvar RuntimeError7139 = R.mBA(RuntimeError24,\"RuntimeError\");\nvar ParseError25 = R.nB(\"ParseError\",L[4006]);\nvar ParseError7140 = R.mBA(ParseError25,\"ParseError\");\nvar draw$and$highlight36 = {\"$var\":D};\nvar vert$list$values58 = {\"$var\":D};\nvar horz$list$values80 = {\"$var\":D};\nvar ed$simple$intro104 = {\"$var\":D};\nvar ed$intro146 = {\"$var\":D};\nvar please$report$bug158 = {\"$var\":D};\nvar and$if176 = {\"$var\":D};\nvar and$maybe193 = {\"$var\":D};\nvar destructure$method$application300 = {\"$var\":D};\nvar RuntimeError6104 = {\"$var\":D};\nvar is$RuntimeError6106 = {\"$var\":D};\nvar is$multi$error6108 = {\"$var\":D};\nvar multi$error6110 = {\"$var\":D};\nvar is$sample$error6112 = {\"$var\":D};\nvar sample$error6114 = {\"$var\":D};\nvar is$message$exception6116 = {\"$var\":D};\nvar message$exception6118 = {\"$var\":D};\nvar is$update$non$obj6120 = {\"$var\":D};\nvar update$non$obj6122 = {\"$var\":D};\nvar is$update$frozen$ref6124 = {\"$var\":D};\nvar update$frozen$ref6126 = {\"$var\":D};\nvar is$update$non$ref6128 = {\"$var\":D};\nvar update$non$ref6130 = {\"$var\":D};\nvar is$update$non$existent$field6132 = {\"$var\":D};\nvar update$non$existent$field6134 = {\"$var\":D};\nvar is$no$cases$matched6136 = {\"$var\":D};\nvar no$cases$matched6138 = {\"$var\":D};\nvar is$no$branches$matched6140 = {\"$var\":D};\nvar no$branches$matched6142 = {\"$var\":D};\nvar is$internal$error6144 = {\"$var\":D};\nvar internal$error6146 = {\"$var\":D};\nvar is$spinnaker$error6148 = {\"$var\":D};\nvar spinnaker$error6150 = {\"$var\":D};\nvar is$template$not$finished6152 = {\"$var\":D};\nvar template$not$finished6154 = {\"$var\":D};\nvar is$field$not$found6156 = {\"$var\":D};\nvar field$not$found6158 = {\"$var\":D};\nvar is$constructor$syntax$non$constructor6160 = {\"$var\":D};\nvar constructor$syntax$non$constructor6162 = {\"$var\":D};\nvar is$lookup$constructor$not$object6164 = {\"$var\":D};\nvar lookup$constructor$not$object6166 = {\"$var\":D};\nvar is$lookup$non$tuple6168 = {\"$var\":D};\nvar lookup$non$tuple6170 = {\"$var\":D};\nvar is$lookup$large$index6172 = {\"$var\":D};\nvar lookup$large$index6174 = {\"$var\":D};\nvar is$non$tuple$bind6176 = {\"$var\":D};\nvar non$tuple$bind6178 = {\"$var\":D};\nvar is$bad$tuple$bind6180 = {\"$var\":D};\nvar bad$tuple$bind6182 = {\"$var\":D};\nvar is$lookup$non$object6184 = {\"$var\":D};\nvar lookup$non$object6186 = {\"$var\":D};\nvar is$extend$non$object6188 = {\"$var\":D};\nvar extend$non$object6190 = {\"$var\":D};\nvar is$non$boolean$condition6192 = {\"$var\":D};\nvar non$boolean$condition6194 = {\"$var\":D};\nvar is$non$boolean$op6196 = {\"$var\":D};\nvar non$boolean$op6198 = {\"$var\":D};\nvar is$generic$type$mismatch6200 = {\"$var\":D};\nvar generic$type$mismatch6202 = {\"$var\":D};\nvar is$num$string$binop$error6204 = {\"$var\":D};\nvar num$string$binop$error6206 = {\"$var\":D};\nvar is$numeric$binop$error6208 = {\"$var\":D};\nvar numeric$binop$error6210 = {\"$var\":D};\nvar is$cases$singleton$mismatch6212 = {\"$var\":D};\nvar cases$singleton$mismatch6214 = {\"$var\":D};\nvar is$cases$arity$mismatch6216 = {\"$var\":D};\nvar cases$arity$mismatch6218 = {\"$var\":D};\nvar is$constructor$arity$mismatch6220 = {\"$var\":D};\nvar constructor$arity$mismatch6222 = {\"$var\":D};\nvar is$arity$mismatch6224 = {\"$var\":D};\nvar arity$mismatch6226 = {\"$var\":D};\nvar is$row$length$mismatch6228 = {\"$var\":D};\nvar row$length$mismatch6230 = {\"$var\":D};\nvar is$col$length$mismatch6232 = {\"$var\":D};\nvar col$length$mismatch6234 = {\"$var\":D};\nvar is$non$function$app6236 = {\"$var\":D};\nvar non$function$app6238 = {\"$var\":D};\nvar is$uninitialized$id6240 = {\"$var\":D};\nvar uninitialized$id6242 = {\"$var\":D};\nvar is$module$load$failure6244 = {\"$var\":D};\nvar module$load$failure6246 = {\"$var\":D};\nvar is$invalid$array$index6248 = {\"$var\":D};\nvar invalid$array$index6250 = {\"$var\":D};\nvar is$equality$failure6252 = {\"$var\":D};\nvar equality$failure6254 = {\"$var\":D};\nvar is$column$not$found6256 = {\"$var\":D};\nvar column$not$found6258 = {\"$var\":D};\nvar is$duplicate$column6260 = {\"$var\":D};\nvar duplicate$column6262 = {\"$var\":D};\nvar is$user$break6264 = {\"$var\":D};\nvar user$break6266 = {\"$var\":D};\nvar is$user$exception6268 = {\"$var\":D};\nvar user$exception6270 = {\"$var\":D};\nvar is$exit6272 = {\"$var\":D};\nvar exit6274 = {\"$var\":D};\nvar is$exit$quiet6276 = {\"$var\":D};\nvar exit$quiet6278 = {\"$var\":D};\nvar ParseError7063 = {\"$var\":D};\nvar is$ParseError7065 = {\"$var\":D};\nvar is$parse$error$bad$app7067 = {\"$var\":D};\nvar parse$error$bad$app7069 = {\"$var\":D};\nvar is$parse$error$bad$fun$header7071 = {\"$var\":D};\nvar parse$error$bad$fun$header7073 = {\"$var\":D};\nvar is$parse$error$next$token7075 = {\"$var\":D};\nvar parse$error$next$token7077 = {\"$var\":D};\nvar is$parse$error$colon$colon7079 = {\"$var\":D};\nvar parse$error$colon$colon7081 = {\"$var\":D};\nvar is$parse$error$eof7083 = {\"$var\":D};\nvar parse$error$eof7085 = {\"$var\":D};\nvar is$parse$error$unterminated$string7087 = {\"$var\":D};\nvar parse$error$unterminated$string7089 = {\"$var\":D};\nvar is$parse$error$bad$operator7091 = {\"$var\":D};\nvar parse$error$bad$operator7093 = {\"$var\":D};\nvar is$parse$error$bad$number7095 = {\"$var\":D};\nvar parse$error$bad$number7097 = {\"$var\":D};\nvar is$parse$error$bad$check$operator7099 = {\"$var\":D};\nvar parse$error$bad$check$operator7101 = {\"$var\":D};\nvar is$empty$block7103 = {\"$var\":D};\nvar empty$block7105 = {\"$var\":D};\nvar is$bad$block$stmt7107 = {\"$var\":D};\nvar bad$block$stmt7109 = {\"$var\":D};\nvar is$bad$check$block$stmt7111 = {\"$var\":D};\nvar bad$check$block$stmt7113 = {\"$var\":D};\nvar is$fun$missing$colon7115 = {\"$var\":D};\nvar fun$missing$colon7117 = {\"$var\":D};\nvar is$fun$missing$end7119 = {\"$var\":D};\nvar fun$missing$end7121 = {\"$var\":D};\nvar is$args$missing$comma7123 = {\"$var\":D};\nvar args$missing$comma7125 = {\"$var\":D};\nvar is$app$args$missing$comma7127 = {\"$var\":D};\nvar app$args$missing$comma7129 = {\"$var\":D};\nvar is$missing$end7131 = {\"$var\":D};\nvar missing$end7133 = {\"$var\":D};\nvar is$missing$comma7135 = {\"$var\":D};\nvar missing$comma7137 = {\"$var\":D};\nvar $temp_lam27 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__0($l28) {\nvar $step26 = 0;\nvar $elidedFrames32 = 0;\nvar $ans29 = D;\nvar $al30 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar l28 = $l28;\n// callee optimization;\nwhile(!R.isContinuation($ans29)) {\nswitch($step26) {\ncase 0: $step26 = 1;\n$al30 = L[2];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al30,ED6.dict.values.dict[\"loc\"]);\n}\n$ans29 = ED6.dict.values.dict[\"loc\"].app(l28);\nbreak;\ncase 1: var anf_arg33 = $ans29;\n$step26 = 2;\n$al30 = L[1];\nif(typeof(ED6.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al30,ED6.dict.values.dict[\"loc-display\"]);\n}\n$ans29 = ED6.dict.values.dict[\"loc-display\"].app(l28,(\"error-highlight\"),anf_arg33);\nbreak;\ncase 2: return $ans29;\ndefault: R.ffi.throwSpinnakerError(L[0],$step26);\n}\n}\nreturn $ans29;\n};\nvar anf_assign35 = R.mF($temp_lam27,\"draw-and-highlight\");\ndraw$and$highlight36.$var = anf_assign35;\nR.nothing;\nvar $temp_lam38 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3($vals39) {\nvar $step37 = 0;\nvar $elidedFrames43 = 0;\nvar $ans40 = D;\nvar $al41 = L[3];\nif(R.isAR($vals39)) {\n$step37 = $vals39.step;\n$al41 = $vals39.from;\n$ans40 = $vals39.ans;\n$elidedFrames43 = $vals39.elidedFrames;\nvals39 = $vals39.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],1,$t,false);\n}\nvar vals39 = $vals39;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans40 = R.mC();\n}\nwhile(!R.isContinuation($ans40)) {\nswitch($step37) {\ncase 0: var $temp_lam45 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4($val46) {\nvar $step44 = 0;\nvar $elidedFrames50 = 0;\nvar $ans47 = D;\nvar $al48 = L[4];\nif(R.isAR($val46)) {\n$step44 = $val46.step;\n$al48 = $val46.from;\n$ans47 = $val46.ans;\n$elidedFrames50 = $val46.elidedFrames;\nval46 = $val46.args[0];\nanf_fun51 = $val46.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],1,$t,false);\n}\nvar val46 = $val46;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans47 = R.mC();\n}\nwhile(!R.isContinuation($ans47)) {\nswitch($step44) {\ncase 0: $ans47 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[5],L[6]);\nvar anf_fun51 = $ans47;\n$step44 = 1;\n$al48 = L[7];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al48,ED6.dict.values.dict[\"embed\"]);\n}\n$ans47 = ED6.dict.values.dict[\"embed\"].app(val46);\nbreak;\ncase 1: var anf_arg52 = $ans47;\n$step44 = 2;\n$al48 = L[6];\nif(typeof(anf_fun51.app) !== \"function\") {\nR.ffi.throwNonFunApp($al48,anf_fun51);\n}\n$ans47 = anf_fun51.app(anf_arg52);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans47;\ndefault: R.ffi.throwSpinnakerError(L[4],$step44);\n}\n}\nif($step44 !== 2) {\n$ans47.stack[R.EXN_STACKHEIGHT++] = R.mAR($al48,$temp_lam45,$step44,[val46],[anf_fun51],$elidedFrames50);\n}\nreturn $ans47;\n};\nvar anf_arg54 = R.mF($temp_lam45,\"\");\n$step37 = 1;\n$ans40 = R.maybeMethodCall1(vals39,\"map\",L[8],anf_arg54);\nbreak;\ncase 1: var anf_arg55 = $ans40;\n$step37 = 2;\n$al41 = L[9];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al41,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans40 = ED6.dict.values.dict[\"v-sequence\"].app(anf_arg55);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans40;\ndefault: R.ffi.throwSpinnakerError(L[3],$step37);\n}\n}\nif($step37 !== 2) {\n$ans40.stack[R.EXN_STACKHEIGHT++] = R.mAR($al41,$temp_lam38,$step37,[vals39],[],$elidedFrames43);\n}\nreturn $ans40;\n};\nvar anf_assign57 = R.mF($temp_lam38,\"vert-list-values\");\nvert$list$values58.$var = anf_assign57;\nR.nothing;\nvar $temp_lam60 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__10($vals61) {\nvar $step59 = 0;\nvar $elidedFrames65 = 0;\nvar $ans62 = D;\nvar $al63 = L[10];\nif(R.isAR($vals61)) {\n$step59 = $vals61.step;\n$al63 = $vals61.from;\n$ans62 = $vals61.ans;\n$elidedFrames65 = $vals61.elidedFrames;\nvals61 = $vals61.args[0];\nanf_fun76 = $vals61.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],1,$t,false);\n}\nvar vals61 = $vals61;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans62 = R.mC();\n}\nwhile(!R.isContinuation($ans62)) {\nswitch($step59) {\ncase 0: $ans62 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[11],L[12]);\nvar anf_fun76 = $ans62;\nvar $temp_lam67 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__13($val68) {\nvar $step66 = 0;\nvar $elidedFrames72 = 0;\nvar $ans69 = D;\nvar $al70 = L[13];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],1,$t,false);\n}\nvar val68 = $val68;\n// callee optimization;\nwhile(!R.isContinuation($ans69)) {\nswitch($step66) {\ncase 0: $step66 = 1;\n$al70 = L[14];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al70,ED6.dict.values.dict[\"embed\"]);\n}\n$ans69 = ED6.dict.values.dict[\"embed\"].app(val68);\nbreak;\ncase 1: return $ans69;\ndefault: R.ffi.throwSpinnakerError(L[13],$step66);\n}\n}\nreturn $ans69;\n};\nvar anf_arg74 = R.mF($temp_lam67,\"\");\n$step59 = 1;\n$ans62 = R.maybeMethodCall1(vals61,\"map\",L[15],anf_arg74);\nbreak;\ncase 1: var anf_arg75 = $ans62;\n$step59 = 2;\n$al63 = L[16];\nif(typeof(ED6.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al63,ED6.dict.values.dict[\"h-sequence\"]);\n}\n$ans62 = ED6.dict.values.dict[\"h-sequence\"].app(anf_arg75,(\",\"));\nbreak;\ncase 2: var anf_arg77 = $ans62;\n$step59 = 3;\n$al63 = L[12];\nif(typeof(anf_fun76.app) !== \"function\") {\nR.ffi.throwNonFunApp($al63,anf_fun76);\n}\n$ans62 = anf_fun76.app(anf_arg77);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans62;\ndefault: R.ffi.throwSpinnakerError(L[10],$step59);\n}\n}\nif($step59 !== 3) {\n$ans62.stack[R.EXN_STACKHEIGHT++] = R.mAR($al63,$temp_lam60,$step59,[vals61],[anf_fun76],$elidedFrames65);\n}\nreturn $ans62;\n};\nvar anf_assign79 = R.mF($temp_lam60,\"horz-list-values\");\nhorz$list$values80.$var = anf_assign79;\nR.nothing;\nvar $temp_lam82 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__17($name83,$loc84) {\nvar $step81 = 0;\nvar $elidedFrames88 = 0;\nvar $ans85 = D;\nvar $al86 = L[17];\nif(R.isAR($name83)) {\n$step81 = $name83.step;\n$al86 = $name83.from;\n$ans85 = $name83.ans;\n$elidedFrames88 = $name83.elidedFrames;\nname83 = $name83.args[0];\nloc84 = $name83.args[1];\nanf_arg98 = $name83.vars[0];\nanf_arg99 = $name83.vars[1];\nanf_fun91 = $name83.vars[2];\nanf_fun97 = $name83.vars[3];\nanf_arg92 = $name83.vars[4];\nanf_arg93 = $name83.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[17],2,$t,false);\n}\nvar name83 = $name83;\nvar loc84 = $loc84;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans85 = R.mC();\n}\nwhile(!R.isContinuation($ans85)) {\nswitch($step81) {\ncase 0: $step81 = 1;\n$ans85 = R.maybeMethodCall0(loc84,\"is-builtin\",L[18]);\nbreak;\ncase 1: var anf_if101 = $ans85;\n$step81 = R.checkPyretTrue(anf_if101)?2:8;\nbreak;\ncase 2: $ans85 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[19],L[20]);\nvar anf_fun91 = $ans85;\n$step81 = 3;\n$al86 = L[25];\n// omitting isFunction check;\n$ans85 = _plus5.app((\"Evaluating a \"),name83);\nbreak;\ncase 3: var anf_arg89 = $ans85;\n$step81 = 4;\n$al86 = L[24];\n// omitting isFunction check;\n$ans85 = _plus5.app(anf_arg89,(\" in \"));\nbreak;\ncase 4: var anf_arg90 = $ans85;\n$step81 = 5;\n$al86 = L[23];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app(anf_arg90);\nbreak;\ncase 5: var anf_arg92 = $ans85;\n$step81 = 6;\n$al86 = L[22];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"loc\"]);\n}\n$ans85 = ED6.dict.values.dict[\"loc\"].app(loc84);\nbreak;\ncase 6: var anf_arg93 = $ans85;\n$step81 = 7;\n$al86 = L[21];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 7: var anf_arg94 = $ans85;\n$step81 = 14;\n$al86 = L[20];\nif(typeof(anf_fun91.app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,anf_fun91);\n}\n$ans85 = anf_fun91.app(anf_arg92,anf_arg93,anf_arg94);\nbreak;\ncase 8: $ans85 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[26],L[27]);\nvar anf_fun97 = $ans85;\n$step81 = 9;\n$al86 = L[32];\n// omitting isFunction check;\n$ans85 = _plus5.app((\"Evaluating the \"),name83);\nbreak;\ncase 9: var anf_arg95 = $ans85;\n$step81 = 10;\n$al86 = L[31];\n// omitting isFunction check;\n$ans85 = _plus5.app(anf_arg95,(\" at \"));\nbreak;\ncase 10: var anf_arg96 = $ans85;\n$step81 = 11;\n$al86 = L[30];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app(anf_arg96);\nbreak;\ncase 11: var anf_arg98 = $ans85;\n$step81 = 12;\n$al86 = L[29];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"loc\"]);\n}\n$ans85 = ED6.dict.values.dict[\"loc\"].app(loc84);\nbreak;\ncase 12: var anf_arg99 = $ans85;\n$step81 = 13;\n$al86 = L[28];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 13: var anf_arg100 = $ans85;\n$step81 = 14;\n$al86 = L[27];\nif(typeof(anf_fun97.app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,anf_fun97);\n}\n$ans85 = anf_fun97.app(anf_arg98,anf_arg99,anf_arg100);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans85;\ndefault: R.ffi.throwSpinnakerError(L[17],$step81);\n}\n}\nif($step81 !== 14) {\n$ans85.stack[R.EXN_STACKHEIGHT++] = R.mAR($al86,$temp_lam82,$step81,[name83,loc84],[anf_arg98,anf_arg99,anf_fun91,anf_fun97,anf_arg92,anf_arg93],$elidedFrames88);\n}\nreturn $ans85;\n};\nvar anf_assign103 = R.mF($temp_lam82,\"ed-simple-intro\");\ned$simple$intro104.$var = anf_assign103;\nR.nothing;\nvar $temp_lam106 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__33($name107,$loc108,$color109,$followed$by$embed110) {\nvar $step105 = 0;\nvar $elidedFrames114 = 0;\nvar $ans111 = D;\nvar $al112 = L[33];\nif(R.isAR($name107)) {\n$step105 = $name107.step;\n$al112 = $name107.from;\n$ans111 = $name107.ans;\n$elidedFrames114 = $name107.elidedFrames;\nname107 = $name107.args[0];\nloc108 = $name107.args[1];\ncolor109 = $name107.args[2];\nfollowed$by$embed110 = $name107.args[3];\nanf_fun139 = $name107.vars[0];\nanf_arg140 = $name107.vars[1];\nanf_arg136 = $name107.vars[2];\nanf_arg141 = $name107.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[33],4,$t,false);\n}\nvar name107 = $name107;\nvar loc108 = $loc108;\nvar color109 = $color109;\nvar followed$by$embed110 = $followed$by$embed110;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans111 = R.mC();\n}\nwhile(!R.isContinuation($ans111)) {\nswitch($step105) {\ncase 0: $ans111 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[34],L[35]);\nvar anf_fun139 = $ans111;\n$step105 = 1;\n$al112 = L[41];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app((\"Evaluating this \"));\nbreak;\ncase 1: var anf_arg140 = $ans111;\n$step105 = 2;\n$al112 = L[40];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app(name107);\nbreak;\ncase 2: var anf_arg136 = $ans111;\n$ans111 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[36],L[37]);\nvar anf_fun115 = $ans111;\n$step105 = 3;\n$al112 = L[37];\nif(typeof(anf_fun115.app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,anf_fun115);\n}\n$ans111 = anf_fun115.app(loc108);\nbreak;\ncase 3: var anf_arg137 = $ans111;\n$step105 = 4;\n$al112 = L[39];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans111 = ED6.dict.values.dict[\"highlight\"].app(anf_arg136,anf_arg137,color109);\nbreak;\ncase 4: var anf_arg141 = $ans111;\n$step105 = R.checkPyretTrue(followed$by$embed110)?5:6;\nbreak;\ncase 5: $step105 = 7;\n$ans111 = (\" errored:\");\nbreak;\ncase 6: $step105 = 7;\n$ans111 = (\" errored.\");\nbreak;\ncase 7: var anf_arg138 = $ans111;\n$step105 = 8;\n$al112 = L[38];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app(anf_arg138);\nbreak;\ncase 8: var anf_arg142 = $ans111;\n$step105 = 9;\n$al112 = L[35];\nif(typeof(anf_fun139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,anf_fun139);\n}\n$ans111 = anf_fun139.app(anf_arg140,anf_arg141,anf_arg142);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans111;\ndefault: R.ffi.throwSpinnakerError(L[33],$step105);\n}\n}\nif($step105 !== 9) {\n$ans111.stack[R.EXN_STACKHEIGHT++] = R.mAR($al112,$temp_lam106,$step105,[name107,loc108,color109,followed$by$embed110],[anf_fun139,anf_arg140,anf_arg136,anf_arg141],$elidedFrames114);\n}\nreturn $ans111;\n};\nvar anf_assign145 = R.mF($temp_lam106,\"ed-intro\");\ned$intro146.$var = anf_assign145;\nR.nothing;\nvar $temp_lam148 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__42($$resumer13) {\nvar $step147 = 0;\nvar $elidedFrames152 = 0;\nvar $ans149 = D;\nvar $al150 = L[42];\nif(R.isAR($$resumer13)) {\n$step147 = $$resumer13.step;\n$al150 = $$resumer13.from;\n$ans149 = $$resumer13.ans;\n$elidedFrames152 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun153 = $$resumer13.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans149 = R.mC();\n}\nwhile(!R.isContinuation($ans149)) {\nswitch($step147) {\ncase 0: $ans149 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[43],L[44]);\nvar anf_fun153 = $ans149;\n$step147 = 1;\n$al150 = L[45];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al150,ED6.dict.values.dict[\"text\"]);\n}\n$ans149 = ED6.dict.values.dict[\"text\"].app((\"Please report this as a bug.\"));\nbreak;\ncase 1: var anf_arg154 = $ans149;\n$step147 = 2;\n$al150 = L[44];\nif(typeof(anf_fun153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al150,anf_fun153);\n}\n$ans149 = anf_fun153.app(anf_arg154);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans149;\ndefault: R.ffi.throwSpinnakerError(L[42],$step147);\n}\n}\nif($step147 !== 2) {\n$ans149.stack[R.EXN_STACKHEIGHT++] = R.mAR($al150,$temp_lam148,$step147,[],[anf_fun153],$elidedFrames152);\n}\nreturn $ans149;\n};\nvar anf_assign157 = R.mF($temp_lam148,\"please-report-bug\");\nplease$report$bug158.$var = anf_assign157;\nR.nothing;\nvar $temp_lam160 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__46($predicate161,$option162) {\nvar $step159 = 0;\nvar $elidedFrames166 = 0;\nvar $ans163 = D;\nvar $al164 = L[46];\nif(R.isAR($predicate161)) {\n$step159 = $predicate161.step;\n$al164 = $predicate161.from;\n$ans163 = $predicate161.ans;\n$elidedFrames166 = $predicate161.elidedFrames;\npredicate161 = $predicate161.args[0];\noption162 = $predicate161.args[1];\ncases167 = $predicate161.vars[0];\nv168 = $predicate161.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,false);\n}\nvar predicate161 = $predicate161;\nvar option162 = $option162;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans163 = R.mC();\n}\nwhile(!R.isContinuation($ans163)) {\nswitch($step159) {\ncase 0: var cases167 = option162;\n$step159 = 1;\n$al164 = L[52];\nvar $ann$check173 = R._cA(L[52],R.gDA(L[52],\"O\",O8.dict.types,\"Option\"),cases167);\nif(R.isContinuation($ann$check173)) {\n$ans163 = $ann$check173;\n}\nbreak;\ncase 1: $al164 = L[48];\n$step159 = $cases_dispatch172[cases167.$name] || 7;\nbreak;\ncase 2: if(cases167.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[47],false,L[48],cases167.$loc);\n}\n$step159 = 8;\n$ans163 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: if(cases167.$arity !== 1) {\nif(cases167.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[51],1,cases167.$arity,L[48],cases167.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[51],true,L[48],cases167.$loc);\n}\n}\nvar $fn171 = cases167.$constructor.$fieldNames;\nvar v168 = R.dF(cases167.dict[$fn171[0]],cases167.$mut_fields_mask[0],false);\n$step159 = 4;\n$al164 = L[50];\nif(typeof(predicate161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al164,predicate161);\n}\n$ans163 = predicate161.app(v168);\nbreak;\ncase 4: var anf_if169 = $ans163;\n$step159 = R.checkPyretTrue(anf_if169)?5:6;\nbreak;\ncase 5: $step159 = 8;\n$al164 = L[49];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al164,O8.dict.values.dict[\"some\"]);\n}\n$ans163 = O8.dict.values.dict[\"some\"].app(v168);\nbreak;\ncase 6: $step159 = 8;\n$ans163 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 7: $ans163 = R.throwNoCasesMatched(L[48],cases167);\n$step159 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans163;\ndefault: R.ffi.throwSpinnakerError(L[46],$step159);\n}\n}\nif($step159 !== 8) {\n$ans163.stack[R.EXN_STACKHEIGHT++] = R.mAR($al164,$temp_lam160,$step159,[predicate161,option162],[cases167,v168],$elidedFrames166);\n}\nreturn $ans163;\n};\nvar anf_assign175 = R.mF($temp_lam160,\"and-if\");\nand$if176.$var = anf_assign175;\nR.nothing;\nvar $temp_lam178 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__53($f179,$option180) {\nvar $step177 = 0;\nvar $elidedFrames184 = 0;\nvar $ans181 = D;\nvar $al182 = L[53];\nif(R.isAR($f179)) {\n$step177 = $f179.step;\n$al182 = $f179.from;\n$ans181 = $f179.ans;\n$elidedFrames184 = $f179.elidedFrames;\nf179 = $f179.args[0];\noption180 = $f179.args[1];\ncases185 = $f179.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,false);\n}\nvar f179 = $f179;\nvar option180 = $option180;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans181 = R.mC();\n}\nwhile(!R.isContinuation($ans181)) {\nswitch($step177) {\ncase 0: var cases185 = option180;\n$step177 = 1;\n$al182 = L[58];\nvar $ann$check190 = R._cA(L[58],R.gDA(L[58],\"O\",O8.dict.types,\"Option\"),cases185);\nif(R.isContinuation($ann$check190)) {\n$ans181 = $ann$check190;\n}\nbreak;\ncase 1: $al182 = L[55];\n$step177 = $cases_dispatch189[cases185.$name] || 4;\nbreak;\ncase 2: if(cases185.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[54],false,L[55],cases185.$loc);\n}\n$step177 = 5;\n$ans181 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: if(cases185.$arity !== 1) {\nif(cases185.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[57],1,cases185.$arity,L[55],cases185.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[57],true,L[55],cases185.$loc);\n}\n}\nvar $fn188 = cases185.$constructor.$fieldNames;\nvar v186 = R.dF(cases185.dict[$fn188[0]],cases185.$mut_fields_mask[0],false);\n$step177 = 5;\n$al182 = L[56];\nif(typeof(f179.app) !== \"function\") {\nR.ffi.throwNonFunApp($al182,f179);\n}\n$ans181 = f179.app(v186);\nbreak;\ncase 4: $ans181 = R.throwNoCasesMatched(L[55],cases185);\n$step177 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans181;\ndefault: R.ffi.throwSpinnakerError(L[53],$step177);\n}\n}\nif($step177 !== 5) {\n$ans181.stack[R.EXN_STACKHEIGHT++] = R.mAR($al182,$temp_lam178,$step177,[f179,option180],[cases185],$elidedFrames184);\n}\nreturn $ans181;\n};\nvar anf_assign192 = R.mF($temp_lam178,\"and-maybe\");\nand$maybe193.$var = anf_assign192;\nR.nothing;\nvar $temp_lam195 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__59($l196,$src$available197,$maybe$ast198) {\nvar $step194 = 0;\nvar $elidedFrames202 = 0;\nvar $ans199 = D;\nvar $al200 = L[59];\nif(R.isAR($l196)) {\n$step194 = $l196.step;\n$al200 = $l196.from;\n$ans199 = $l196.ans;\n$elidedFrames202 = $l196.elidedFrames;\nl196 = $l196.args[0];\nsrc$available197 = $l196.args[1];\nmaybe$ast198 = $l196.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],3,$t,false);\n}\nvar l196 = $l196;\nvar src$available197 = $src$available197;\nvar maybe$ast198 = $maybe$ast198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans199 = R.mC();\n}\nwhile(!R.isContinuation($ans199)) {\nswitch($step194) {\ncase 0: var arg_203 = l196;\n$step194 = 1;\n$al200 = L[85];\n// omitting isFunction check;\n$ans199 = and$if176.$var.app(src$available197,arg_203);\nbreak;\ncase 1: var arg_204 = $ans199;\n$step194 = 2;\n$al200 = L[84];\n// omitting isFunction check;\n$ans199 = and$maybe193.$var.app(maybe$ast198,arg_204);\nbreak;\ncase 2: var arg_297 = $ans199;\nvar $temp_lam207 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__60($ast208) {\nvar $step206 = 0;\nvar $elidedFrames212 = 0;\nvar $ans209 = D;\nvar $al210 = L[60];\nif(R.isAR($ast208)) {\n$step206 = $ast208.step;\n$al210 = $ast208.from;\n$ans209 = $ast208.ans;\n$elidedFrames212 = $ast208.elidedFrames;\nast208 = $ast208.args[0];\nargs225 = $ast208.vars[0];\ncases213 = $ast208.vars[1];\ncases215 = $ast208.vars[2];\nanf_tuple_fields263 = $ast208.vars[3];\nanf_tuple_fields278 = $ast208.vars[4];\nl$op275 = $ast208.vars[5];\nargs261 = $ast208.vars[6];\nanf_tuple_fields227 = $ast208.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],1,$t,false);\n}\nvar ast208 = $ast208;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans209 = R.mC();\n}\nwhile(!R.isContinuation($ans209)) {\nswitch($step206) {\ncase 0: var cases213 = ast208;\n$al210 = L[69];\n$step206 = $cases_dispatch286[cases213.$name] || 12;\nbreak;\ncase 1: if(cases213.$arity !== 3) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[68],3,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[68],true,L[69],cases213.$loc);\n}\n}\nvar $fn247 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn247[0]],cases213.$mut_fields_mask[0],false);\nvar _fun214 = R.dF(cases213.dict[$fn247[1]],cases213.$mut_fields_mask[1],false);\nvar args225 = R.dF(cases213.dict[$fn247[2]],cases213.$mut_fields_mask[2],false);\nvar cases215 = _fun214;\n$al210 = L[67];\n$step206 = $cases_dispatch245[cases215.$name] || 3;\nbreak;\ncase 2: if(cases215.$arity !== 3) {\nif(cases215.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[66],3,cases215.$arity,L[67],cases215.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[66],true,L[67],cases215.$loc);\n}\n}\nvar $fn242 = cases215.$constructor.$fieldNames;\nR.dF(cases215.dict[$fn242[0]],cases215.$mut_fields_mask[0],false);\nvar t232 = R.dF(cases215.dict[$fn242[1]],cases215.$mut_fields_mask[1],false);\nR.dF(cases215.dict[$fn242[2]],cases215.$mut_fields_mask[2],false);\n$al210 = L[64];\nvar anf_arg240 = G(t232,\"l\",L[64]);\n$step206 = 4;\n$al210 = L[65];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg240);\nbreak;\ncase 3: $step206 = 4;\n$ans209 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 4: var anf_tuple_fields227 = $ans209;\nvar $temp_lam217 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__61($recv_218) {\nvar $step216 = 0;\nvar $elidedFrames223 = 0;\nvar $ans220 = D;\nvar $al221 = L[61];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],1,$t,false);\n}\nvar recv_218 = $recv_218;\n// callee optimization;\nwhile(!R.isContinuation($ans220)) {\nswitch($step216) {\ncase 0: $step216 = 1;\n$al221 = L[61];\n$ans220 = G(recv_218,\"l\",L[61]);\nbreak;\ncase 1: return $ans220;\ndefault: R.ffi.throwSpinnakerError(L[61],$step216);\n}\n}\nreturn $ans220;\n};\nvar anf_arg226 = R.mF($temp_lam217,\"\");\n$step206 = 5;\n$ans209 = R.maybeMethodCall1(args225,\"map\",L[62],anf_arg226);\nbreak;\ncase 5: var anf_tuple_fields228 = $ans209;\nvar anf_arg231 = R.makeTuple([anf_tuple_fields227,anf_tuple_fields228]);\n$step206 = 13;\n$al210 = L[63];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg231);\nbreak;\ncase 6: if(cases213.$arity !== 3) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[75],3,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[75],true,L[69],cases213.$loc);\n}\n}\nvar $fn268 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn268[0]],cases213.$mut_fields_mask[0],false);\nvar _fun249 = R.dF(cases213.dict[$fn268[1]],cases213.$mut_fields_mask[1],false);\nvar args261 = R.dF(cases213.dict[$fn268[2]],cases213.$mut_fields_mask[2],false);\n$al210 = L[70];\nvar anf_arg252 = G(_fun249,\"l\",L[70]);\n$step206 = 7;\n$al210 = L[74];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg252);\nbreak;\ncase 7: var anf_tuple_fields263 = $ans209;\nvar $temp_lam254 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__71($recv_255) {\nvar $step253 = 0;\nvar $elidedFrames259 = 0;\nvar $ans256 = D;\nvar $al257 = L[71];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[71],1,$t,false);\n}\nvar recv_255 = $recv_255;\n// callee optimization;\nwhile(!R.isContinuation($ans256)) {\nswitch($step253) {\ncase 0: $step253 = 1;\n$al257 = L[71];\n$ans256 = G(recv_255,\"l\",L[71]);\nbreak;\ncase 1: return $ans256;\ndefault: R.ffi.throwSpinnakerError(L[71],$step253);\n}\n}\nreturn $ans256;\n};\nvar anf_arg262 = R.mF($temp_lam254,\"\");\n$step206 = 8;\n$ans209 = R.maybeMethodCall1(args261,\"map\",L[72],anf_arg262);\nbreak;\ncase 8: var anf_tuple_fields264 = $ans209;\nvar anf_arg266 = R.makeTuple([anf_tuple_fields263,anf_tuple_fields264]);\n$step206 = 13;\n$al210 = L[73];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg266);\nbreak;\ncase 9: if(cases213.$arity !== 5) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[82],5,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[82],true,L[69],cases213.$loc);\n}\n}\nvar $fn282 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn282[0]],cases213.$mut_fields_mask[0],false);\nR.dF(cases213.dict[$fn282[1]],cases213.$mut_fields_mask[1],false);\nR.dF(cases213.dict[$fn282[2]],cases213.$mut_fields_mask[2],false);\nvar l$op275 = R.dF(cases213.dict[$fn282[3]],cases213.$mut_fields_mask[3],false);\nvar r$op270 = R.dF(cases213.dict[$fn282[4]],cases213.$mut_fields_mask[4],false);\n$al210 = L[76];\nvar anf_arg274 = G(r$op270,\"l\",L[76]);\n$step206 = 10;\n$al210 = L[81];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg274);\nbreak;\ncase 10: var anf_tuple_fields278 = $ans209;\n$ans209 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[77],L[78]);\nvar anf_fun276 = $ans209;\n$al210 = L[79];\nvar anf_arg277 = G(l$op275,\"l\",L[79]);\n$step206 = 11;\n$al210 = L[78];\nif(typeof(anf_fun276.app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,anf_fun276);\n}\n$ans209 = anf_fun276.app(anf_arg277);\nbreak;\ncase 11: var anf_tuple_fields279 = $ans209;\nvar anf_arg280 = R.makeTuple([anf_tuple_fields278,anf_tuple_fields279]);\n$step206 = 13;\n$al210 = L[80];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg280);\nbreak;\ncase 12: $step206 = 13;\n$ans209 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 13: ++R.GAS;\nreturn $ans209;\ndefault: R.ffi.throwSpinnakerError(L[60],$step206);\n}\n}\nif($step206 !== 13) {\n$ans209.stack[R.EXN_STACKHEIGHT++] = R.mAR($al210,$temp_lam207,$step206,[ast208],[args225,cases213,cases215,anf_tuple_fields263,anf_tuple_fields278,l$op275,args261,anf_tuple_fields227],$elidedFrames212);\n}\nreturn $ans209;\n};\nvar anf_arg296 = R.mF($temp_lam207,\"\");\n$step194 = 3;\n$al200 = L[83];\n// omitting isFunction check;\n$ans199 = and$maybe193.$var.app(anf_arg296,arg_297);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans199;\ndefault: R.ffi.throwSpinnakerError(L[59],$step194);\n}\n}\nif($step194 !== 3) {\n$ans199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al200,$temp_lam195,$step194,[l196,src$available197,maybe$ast198],[],$elidedFrames202);\n}\nreturn $ans199;\n};\nvar anf_assign299 = R.mF($temp_lam195,\"destructure-method-application\");\ndestructure$method$application300.$var = anf_assign299;\nR.nothing;\nvar $temp_full302 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__86($self303,$maybe$stack$loc304,$src$available305,$maybe$ast306) {\nvar $step301 = 0;\nvar $elidedFrames310 = 0;\nvar $ans307 = D;\nvar $al308 = L[86];\nif(R.isAR($self303)) {\n$step301 = $self303.step;\n$al308 = $self303.from;\n$ans307 = $self303.ans;\n$elidedFrames310 = $self303.elidedFrames;\nself303 = $self303.args[0];\nmaybe$stack$loc304 = $self303.args[1];\nsrc$available305 = $self303.args[2];\nmaybe$ast306 = $self303.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[86],4,$t,true);\n}\nvar self303 = $self303;\nvar maybe$stack$loc304 = $maybe$stack$loc304;\nvar src$available305 = $src$available305;\nvar maybe$ast306 = $maybe$ast306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans307 = R.mC();\n}\nwhile(!R.isContinuation($ans307)) {\nswitch($step301) {\ncase 0: $al308 = L[87];\nvar anf_method_obj319 = G(self303,\"errors\",L[87]);\nvar $temp_lam312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__88($recv_313) {\nvar $step311 = 0;\nvar $elidedFrames317 = 0;\nvar $ans314 = D;\nvar $al315 = L[88];\nif(R.isAR($recv_313)) {\n$step311 = $recv_313.step;\n$al315 = $recv_313.from;\n$ans314 = $recv_313.ans;\n$elidedFrames317 = $recv_313.elidedFrames;\nrecv_313 = $recv_313.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],1,$t,false);\n}\nvar recv_313 = $recv_313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans314 = R.mC();\n}\nwhile(!R.isContinuation($ans314)) {\nswitch($step311) {\ncase 0: $step311 = 1;\n$ans314 = R.maybeMethodCall3(recv_313,\"render-fancy-reason\",L[88],maybe$stack$loc304,src$available305,maybe$ast306);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans314;\ndefault: R.ffi.throwSpinnakerError(L[88],$step311);\n}\n}\nif($step311 !== 1) {\n$ans314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al315,$temp_lam312,$step311,[recv_313],[],$elidedFrames317);\n}\nreturn $ans314;\n};\nvar anf_arg320 = R.mF($temp_lam312,\"\");\n$step301 = 1;\n$ans307 = R.maybeMethodCall1(anf_method_obj319,\"map\",L[89],anf_arg320);\nbreak;\ncase 1: var rendered321 = $ans307;\n$step301 = 2;\n$al308 = L[90];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al308,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans307 = ED6.dict.values.dict[\"v-sequence\"].app(rendered321);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans307;\ndefault: R.ffi.throwSpinnakerError(L[86],$step301);\n}\n}\nif($step301 !== 2) {\n$ans307.stack[R.EXN_STACKHEIGHT++] = R.mAR($al308,$temp_full302,$step301,[self303,maybe$stack$loc304,src$available305,maybe$ast306],[],$elidedFrames310);\n}\nreturn $ans307;\n};\nvar anf_variant_member5640 = R.makeMethod3($temp_full302,\"render-fancy-reason\");\nvar $temp_full325 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__91($self326) {\nvar $step324 = 0;\nvar $elidedFrames330 = 0;\nvar $ans327 = D;\nvar $al328 = L[91];\nif(R.isAR($self326)) {\n$step324 = $self326.step;\n$al328 = $self326.from;\n$ans327 = $self326.ans;\n$elidedFrames330 = $self326.elidedFrames;\nself326 = $self326.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[91],1,$t,true);\n}\nvar self326 = $self326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans327 = R.mC();\n}\nwhile(!R.isContinuation($ans327)) {\nswitch($step324) {\ncase 0: $al328 = L[92];\nvar anf_method_obj339 = G(self326,\"errors\",L[92]);\nvar $temp_lam332 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__93($recv_333) {\nvar $step331 = 0;\nvar $elidedFrames337 = 0;\nvar $ans334 = D;\nvar $al335 = L[93];\nif(R.isAR($recv_333)) {\n$step331 = $recv_333.step;\n$al335 = $recv_333.from;\n$ans334 = $recv_333.ans;\n$elidedFrames337 = $recv_333.elidedFrames;\nrecv_333 = $recv_333.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[93],1,$t,false);\n}\nvar recv_333 = $recv_333;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans334 = R.mC();\n}\nwhile(!R.isContinuation($ans334)) {\nswitch($step331) {\ncase 0: $step331 = 1;\n$ans334 = R.maybeMethodCall0(recv_333,\"render-reason\",L[93]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans334;\ndefault: R.ffi.throwSpinnakerError(L[93],$step331);\n}\n}\nif($step331 !== 1) {\n$ans334.stack[R.EXN_STACKHEIGHT++] = R.mAR($al335,$temp_lam332,$step331,[recv_333],[],$elidedFrames337);\n}\nreturn $ans334;\n};\nvar anf_arg340 = R.mF($temp_lam332,\"\");\n$step324 = 1;\n$ans327 = R.maybeMethodCall1(anf_method_obj339,\"map\",L[94],anf_arg340);\nbreak;\ncase 1: var rendered341 = $ans327;\n$step324 = 2;\n$al328 = L[95];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al328,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans327 = ED6.dict.values.dict[\"v-sequence\"].app(rendered341);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans327;\ndefault: R.ffi.throwSpinnakerError(L[91],$step324);\n}\n}\nif($step324 !== 2) {\n$ans327.stack[R.EXN_STACKHEIGHT++] = R.mAR($al328,$temp_full325,$step324,[self326],[],$elidedFrames330);\n}\nreturn $ans327;\n};\nvar anf_variant_member5641 = R.makeMethod0($temp_full325,\"render-reason\");\nvar $temp_full344 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__96($self345,$maybe$stack$loc346,$src$available347,$maybe$ast348) {\nvar $step343 = 0;\nvar $elidedFrames352 = 0;\nvar $ans349 = D;\nvar $al350 = L[96];\nif(R.isAR($self345)) {\n$step343 = $self345.step;\n$al350 = $self345.from;\n$ans349 = $self345.ans;\n$elidedFrames352 = $self345.elidedFrames;\nself345 = $self345.args[0];\nmaybe$stack$loc346 = $self345.args[1];\nsrc$available347 = $self345.args[2];\nmaybe$ast348 = $self345.args[3];\ncases357 = $self345.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[96],4,$t,true);\n}\nvar self345 = $self345;\nvar maybe$stack$loc346 = $maybe$stack$loc346;\nvar src$available347 = $src$available347;\nvar maybe$ast348 = $maybe$ast348;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans349 = R.mC();\n}\nwhile(!R.isContinuation($ans349)) {\nswitch($step343) {\ncase 0: $al350 = L[97];\nvar anf_method_obj353 = G(self345,\"loc\",L[97]);\n$step343 = 1;\n$ans349 = R.maybeMethodCall0(anf_method_obj353,\"is-builtin\",L[98]);\nbreak;\ncase 1: var anf_if364 = $ans349;\n$step343 = R.checkPyretTrue(anf_if364)?2:3;\nbreak;\ncase 2: $ans349 = R.throwUnfinishedTemplate(L[99]);\n$step343 = 12;\nbreak;\ncase 3: $al350 = L[100];\nvar anf_arg355 = G(self345,\"loc\",L[100]);\n$step343 = 4;\n$al350 = L[110];\nif(typeof(src$available347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al350,src$available347);\n}\n$ans349 = src$available347.app(anf_arg355);\nbreak;\ncase 4: var anf_if363 = $ans349;\n$step343 = R.checkPyretTrue(anf_if363)?5:11;\nbreak;\ncase 5: $al350 = L[101];\nvar anf_arg356 = G(self345,\"loc\",L[101]);\n$step343 = 6;\n$al350 = L[108];\nif(typeof(maybe$ast348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al350,maybe$ast348);\n}\n$ans349 = maybe$ast348.app(anf_arg356);\nbreak;\ncase 6: var cases357 = $ans349;\n$step343 = 7;\n$al350 = L[107];\nvar $ann$check362 = R._cA(L[107],R.gDA(L[107],\"O\",O8.dict.types,\"Option\"),cases357);\nif(R.isContinuation($ann$check362)) {\n$ans349 = $ann$check362;\n}\nbreak;\ncase 7: $al350 = L[104];\n$step343 = $cases_dispatch361[cases357.$name] || 10;\nbreak;\ncase 8: if(cases357.$arity !== 1) {\nif(cases357.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[103],1,cases357.$arity,L[104],cases357.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[103],true,L[104],cases357.$loc);\n}\n}\nvar $fn359 = cases357.$constructor.$fieldNames;\nR.dF(cases357.dict[$fn359[0]],cases357.$mut_fields_mask[0],false);\n$ans349 = R.throwUnfinishedTemplate(L[102]);\n$step343 = 12;\nbreak;\ncase 9: if(cases357.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[106],false,L[104],cases357.$loc);\n}\n$ans349 = R.throwUnfinishedTemplate(L[105]);\n$step343 = 12;\nbreak;\ncase 10: $ans349 = R.throwNoCasesMatched(L[104],cases357);\n$step343 = 12;\nbreak;\ncase 11: $ans349 = R.throwUnfinishedTemplate(L[109]);\n$step343 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans349;\ndefault: R.ffi.throwSpinnakerError(L[96],$step343);\n}\n}\nif($step343 !== 12) {\n$ans349.stack[R.EXN_STACKHEIGHT++] = R.mAR($al350,$temp_full344,$step343,[self345,maybe$stack$loc346,src$available347,maybe$ast348],[cases357],$elidedFrames352);\n}\nreturn $ans349;\n};\nvar anf_variant_member5649 = R.makeMethod3($temp_full344,\"render-fancy-reason\");\nvar $temp_full367 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__111($self368) {\nvar $step366 = 0;\nvar $elidedFrames372 = 0;\nvar $ans369 = D;\nvar $al370 = L[111];\nif(R.isAR($self368)) {\n$step366 = $self368.step;\n$al370 = $self368.from;\n$ans369 = $self368.ans;\n$elidedFrames372 = $self368.elidedFrames;\nself368 = $self368.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],1,$t,true);\n}\nvar self368 = $self368;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans369 = R.mC();\n}\nwhile(!R.isContinuation($ans369)) {\nswitch($step366) {\ncase 0: $al370 = L[112];\nvar anf_method_obj373 = G(self368,\"loc\",L[112]);\n$step366 = 1;\n$ans369 = R.maybeMethodCall0(anf_method_obj373,\"is-builtin\",L[113]);\nbreak;\ncase 1: var anf_if374 = $ans369;\n$step366 = R.checkPyretTrue(anf_if374)?2:3;\nbreak;\ncase 2: $ans369 = R.throwUnfinishedTemplate(L[114]);\n$step366 = 4;\nbreak;\ncase 3: $ans369 = R.throwUnfinishedTemplate(L[115]);\n$step366 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans369;\ndefault: R.ffi.throwSpinnakerError(L[111],$step366);\n}\n}\nif($step366 !== 4) {\n$ans369.stack[R.EXN_STACKHEIGHT++] = R.mAR($al370,$temp_full367,$step366,[self368],[],$elidedFrames372);\n}\nreturn $ans369;\n};\nvar anf_variant_member5650 = R.makeMethod0($temp_full367,\"render-reason\");\nvar $temp_full378 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__116($self379,$maybe$stack$loc380,$src$available381,$maybe$ast382) {\nvar $step377 = 0;\nvar $elidedFrames386 = 0;\nvar $ans383 = D;\nvar $al384 = L[116];\nif(R.isAR($self379)) {\n$step377 = $self379.step;\n$al384 = $self379.from;\n$ans383 = $self379.ans;\n$elidedFrames386 = $self379.elidedFrames;\nself379 = $self379.args[0];\nmaybe$stack$loc380 = $self379.args[1];\nsrc$available381 = $self379.args[2];\nmaybe$ast382 = $self379.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[116],4,$t,true);\n}\nvar self379 = $self379;\nvar maybe$stack$loc380 = $maybe$stack$loc380;\nvar src$available381 = $src$available381;\nvar maybe$ast382 = $maybe$ast382;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans383 = R.mC();\n}\nwhile(!R.isContinuation($ans383)) {\nswitch($step377) {\ncase 0: $step377 = 1;\n$ans383 = R.maybeMethodCall0(self379,\"render-reason\",L[117]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans383;\ndefault: R.ffi.throwSpinnakerError(L[116],$step377);\n}\n}\nif($step377 !== 1) {\n$ans383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al384,$temp_full378,$step377,[self379,maybe$stack$loc380,src$available381,maybe$ast382],[],$elidedFrames386);\n}\nreturn $ans383;\n};\nvar anf_variant_member5659 = R.makeMethod3($temp_full378,\"render-fancy-reason\");\nvar $temp_full389 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__118($self390) {\nvar $step388 = 0;\nvar $elidedFrames394 = 0;\nvar $ans391 = D;\nvar $al392 = L[118];\nif(R.isAR($self390)) {\n$step388 = $self390.step;\n$al392 = $self390.from;\n$ans391 = $self390.ans;\n$elidedFrames394 = $self390.elidedFrames;\nself390 = $self390.args[0];\nanf_fun398 = $self390.vars[0];\nanf_fun396 = $self390.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[118],1,$t,true);\n}\nvar self390 = $self390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans391 = R.mC();\n}\nwhile(!R.isContinuation($ans391)) {\nswitch($step388) {\ncase 0: $ans391 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[119],L[120]);\nvar anf_fun398 = $ans391;\n$ans391 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[121],L[122]);\nvar anf_fun396 = $ans391;\n$al392 = L[123];\nvar anf_arg395 = G(self390,\"message\",L[123]);\n$step388 = 1;\n$al392 = L[124];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,ED6.dict.values.dict[\"text\"]);\n}\n$ans391 = ED6.dict.values.dict[\"text\"].app(anf_arg395);\nbreak;\ncase 1: var anf_arg397 = $ans391;\n$step388 = 2;\n$al392 = L[122];\nif(typeof(anf_fun396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,anf_fun396);\n}\n$ans391 = anf_fun396.app(anf_arg397);\nbreak;\ncase 2: var anf_arg399 = $ans391;\n$step388 = 3;\n$al392 = L[120];\nif(typeof(anf_fun398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,anf_fun398);\n}\n$ans391 = anf_fun398.app(anf_arg399);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans391;\ndefault: R.ffi.throwSpinnakerError(L[118],$step388);\n}\n}\nif($step388 !== 3) {\n$ans391.stack[R.EXN_STACKHEIGHT++] = R.mAR($al392,$temp_full389,$step388,[self390],[anf_fun398,anf_fun396],$elidedFrames394);\n}\nreturn $ans391;\n};\nvar anf_variant_member5660 = R.makeMethod0($temp_full389,\"render-reason\");\nvar $temp_full402 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__125($self403) {\nvar $step401 = 0;\nvar $elidedFrames407 = 0;\nvar $ans404 = D;\nvar $al405 = L[125];\nif(R.isAR($self403)) {\n$step401 = $self403.step;\n$al405 = $self403.from;\n$ans404 = $self403.ans;\n$elidedFrames407 = $self403.elidedFrames;\nself403 = $self403.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],1,$t,true);\n}\nvar self403 = $self403;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans404 = R.mC();\n}\nwhile(!R.isContinuation($ans404)) {\nswitch($step401) {\ncase 0: $al405 = L[126];\nvar anf_arg408 = G(self403,\"message\",L[126]);\n$step401 = 1;\n$al405 = L[127];\nif(typeof(VS10.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al405,VS10.dict.values.dict[\"vs-value\"]);\n}\n$ans404 = VS10.dict.values.dict[\"vs-value\"].app(anf_arg408);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans404;\ndefault: R.ffi.throwSpinnakerError(L[125],$step401);\n}\n}\nif($step401 !== 1) {\n$ans404.stack[R.EXN_STACKHEIGHT++] = R.mAR($al405,$temp_full402,$step401,[self403],[],$elidedFrames407);\n}\nreturn $ans404;\n};\nvar anf_variant_member5661 = R.makeMethod0($temp_full402,\"_output\");\nvar $temp_full411 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__128($self412,$maybe$stack$loc413,$src$available414,$maybe$ast415) {\nvar $step410 = 0;\nvar $elidedFrames419 = 0;\nvar $ans416 = D;\nvar $al417 = L[128];\nif(R.isAR($self412)) {\n$step410 = $self412.step;\n$al417 = $self412.from;\n$ans416 = $self412.ans;\n$elidedFrames419 = $self412.elidedFrames;\nself412 = $self412.args[0];\nmaybe$stack$loc413 = $self412.args[1];\nsrc$available414 = $self412.args[2];\nmaybe$ast415 = $self412.args[3];\nanf_arg443 = $self412.vars[0];\nanf_arg435 = $self412.vars[1];\nanf_arg446 = $self412.vars[2];\nanf_arg447 = $self412.vars[3];\nanf_arg426 = $self412.vars[4];\nanf_arg427 = $self412.vars[5];\nanf_arg438 = $self412.vars[6];\nanf_arg439 = $self412.vars[7];\nanf_fun442 = $self412.vars[8];\nanf_fun422 = $self412.vars[9];\nanf_fun425 = $self412.vars[10];\nanf_fun437 = $self412.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[128],4,$t,true);\n}\nvar self412 = $self412;\nvar maybe$stack$loc413 = $maybe$stack$loc413;\nvar src$available414 = $src$available414;\nvar maybe$ast415 = $maybe$ast415;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans416 = R.mC();\n}\nwhile(!R.isContinuation($ans416)) {\nswitch($step410) {\ncase 0: $al417 = L[129];\nvar anf_method_obj420 = G(self412,\"loc\",L[129]);\n$step410 = 1;\n$ans416 = R.maybeMethodCall0(anf_method_obj420,\"is-builtin\",L[130]);\nbreak;\ncase 1: var anf_if449 = $ans416;\n$step410 = R.checkPyretTrue(anf_if449)?2:7;\nbreak;\ncase 2: $ans416 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[131],L[132]);\nvar anf_fun425 = $ans416;\n$al417 = L[133];\nvar anf_arg421 = G(self412,\"loc\",L[133]);\n$step410 = 3;\n$al417 = L[139];\n// omitting isFunction check;\n$ans416 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg421);\nbreak;\ncase 3: var anf_arg426 = $ans416;\n$ans416 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[134],L[135]);\nvar anf_fun422 = $ans416;\n$step410 = 4;\n$al417 = L[138];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg423 = $ans416;\n$step410 = 5;\n$al417 = L[135];\nif(typeof(anf_fun422.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun422);\n}\n$ans416 = anf_fun422.app(anf_arg423);\nbreak;\ncase 5: var anf_arg427 = $ans416;\n$al417 = L[136];\nvar anf_arg424 = G(self412,\"obj\",L[136]);\n$step410 = 6;\n$al417 = L[137];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans416 = ED6.dict.values.dict[\"embed\"].app(anf_arg424);\nbreak;\ncase 6: var anf_arg428 = $ans416;\n$step410 = 17;\n$al417 = L[132];\nif(typeof(anf_fun425.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun425);\n}\n$ans416 = anf_fun425.app(anf_arg426,anf_arg427,anf_arg428);\nbreak;\ncase 7: $ans416 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[140],L[141]);\nvar anf_fun442 = $ans416;\n$al417 = L[142];\nvar anf_arg431 = G(self412,\"loc\",L[142]);\n$step410 = 8;\n$al417 = L[156];\n// omitting isFunction check;\n$ans416 = ed$intro146.$var.app((\"reference update expression\"),anf_arg431,(-1),(true));\nbreak;\ncase 8: var anf_arg443 = $ans416;\n$al417 = L[143];\nvar anf_arg432 = G(self412,\"loc\",L[143]);\n$step410 = 9;\n$al417 = L[155];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans416 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg432);\nbreak;\ncase 9: var anf_arg446 = $ans416;\n$ans416 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[144],L[145]);\nvar anf_fun437 = $ans416;\n$step410 = 10;\n$al417 = L[154];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg438 = $ans416;\n$step410 = 11;\n$al417 = L[153];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 11: var anf_arg435 = $ans416;\n$ans416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[146],L[147]);\nvar anf_fun433 = $ans416;\n$al417 = L[148];\nvar anf_arg434 = G(self412,\"objloc\",L[148]);\n$step410 = 12;\n$al417 = L[147];\nif(typeof(anf_fun433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun433);\n}\n$ans416 = anf_fun433.app(anf_arg434);\nbreak;\ncase 12: var anf_arg436 = $ans416;\n$step410 = 13;\n$al417 = L[152];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg435,anf_arg436,(0));\nbreak;\ncase 13: var anf_arg439 = $ans416;\n$step410 = 14;\n$al417 = L[151];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\" is expected to evaluate to an object, but its value was: \"));\nbreak;\ncase 14: var anf_arg440 = $ans416;\n$step410 = 15;\n$al417 = L[145];\nif(typeof(anf_fun437.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun437);\n}\n$ans416 = anf_fun437.app(anf_arg438,anf_arg439,anf_arg440);\nbreak;\ncase 15: var anf_arg447 = $ans416;\n$al417 = L[149];\nvar anf_arg441 = G(self412,\"obj\",L[149]);\n$step410 = 16;\n$al417 = L[150];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans416 = ED6.dict.values.dict[\"embed\"].app(anf_arg441);\nbreak;\ncase 16: var anf_arg448 = $ans416;\n$step410 = 17;\n$al417 = L[141];\nif(typeof(anf_fun442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun442);\n}\n$ans416 = anf_fun442.app(anf_arg443,anf_arg446,anf_arg447,anf_arg448);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans416;\ndefault: R.ffi.throwSpinnakerError(L[128],$step410);\n}\n}\nif($step410 !== 17) {\n$ans416.stack[R.EXN_STACKHEIGHT++] = R.mAR($al417,$temp_full411,$step410,[self412,maybe$stack$loc413,src$available414,maybe$ast415],[anf_arg443,anf_arg435,anf_arg446,anf_arg447,anf_arg426,anf_arg427,anf_arg438,anf_arg439,anf_fun442,anf_fun422,anf_fun425,anf_fun437],$elidedFrames419);\n}\nreturn $ans416;\n};\nvar anf_variant_member5669 = R.makeMethod3($temp_full411,\"render-fancy-reason\");\nvar $temp_full452 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__157($self453) {\nvar $step451 = 0;\nvar $elidedFrames457 = 0;\nvar $ans454 = D;\nvar $al455 = L[157];\nif(R.isAR($self453)) {\n$step451 = $self453.step;\n$al455 = $self453.from;\n$ans454 = $self453.ans;\n$elidedFrames457 = $self453.elidedFrames;\nself453 = $self453.args[0];\nanf_fun463 = $self453.vars[0];\nanf_arg464 = $self453.vars[1];\nanf_fun459 = $self453.vars[2];\nanf_arg465 = $self453.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[157],1,$t,true);\n}\nvar self453 = $self453;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans454 = R.mC();\n}\nwhile(!R.isContinuation($ans454)) {\nswitch($step451) {\ncase 0: $ans454 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[158],L[159]);\nvar anf_fun463 = $ans454;\n$al455 = L[160];\nvar anf_arg458 = G(self453,\"loc\",L[160]);\n$step451 = 1;\n$al455 = L[166];\n// omitting isFunction check;\n$ans454 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg458);\nbreak;\ncase 1: var anf_arg464 = $ans454;\n$ans454 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[161],L[162]);\nvar anf_fun459 = $ans454;\n$step451 = 2;\n$al455 = L[165];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,ED6.dict.values.dict[\"text\"]);\n}\n$ans454 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 2: var anf_arg460 = $ans454;\n$step451 = 3;\n$al455 = L[162];\nif(typeof(anf_fun459.app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,anf_fun459);\n}\n$ans454 = anf_fun459.app(anf_arg460);\nbreak;\ncase 3: var anf_arg465 = $ans454;\n$al455 = L[163];\nvar anf_arg462 = G(self453,\"obj\",L[163]);\n$step451 = 4;\n$al455 = L[164];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,ED6.dict.values.dict[\"embed\"]);\n}\n$ans454 = ED6.dict.values.dict[\"embed\"].app(anf_arg462);\nbreak;\ncase 4: var anf_arg466 = $ans454;\n$step451 = 5;\n$al455 = L[159];\nif(typeof(anf_fun463.app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,anf_fun463);\n}\n$ans454 = anf_fun463.app(anf_arg464,anf_arg465,anf_arg466);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans454;\ndefault: R.ffi.throwSpinnakerError(L[157],$step451);\n}\n}\nif($step451 !== 5) {\n$ans454.stack[R.EXN_STACKHEIGHT++] = R.mAR($al455,$temp_full452,$step451,[self453],[anf_fun463,anf_arg464,anf_fun459,anf_arg465],$elidedFrames457);\n}\nreturn $ans454;\n};\nvar anf_variant_member5670 = R.makeMethod0($temp_full452,\"render-reason\");\nvar $temp_full469 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__167($self470,$maybe$stack$loc471,$src$available472,$maybe$ast473) {\nvar $step468 = 0;\nvar $elidedFrames477 = 0;\nvar $ans474 = D;\nvar $al475 = L[167];\nif(R.isAR($self470)) {\n$step468 = $self470.step;\n$al475 = $self470.from;\n$ans474 = $self470.ans;\n$elidedFrames477 = $self470.elidedFrames;\nself470 = $self470.args[0];\nmaybe$stack$loc471 = $self470.args[1];\nsrc$available472 = $self470.args[2];\nmaybe$ast473 = $self470.args[3];\nanf_arg490 = $self470.vars[0];\nanf_arg491 = $self470.vars[1];\nanf_arg492 = $self470.vars[2];\nl485 = $self470.vars[3];\nanf_arg495 = $self470.vars[4];\nanf_arg496 = $self470.vars[5];\nn487 = $self470.vars[6];\nanf_arg530 = $self470.vars[7];\nanf_arg510 = $self470.vars[8];\nanf_arg500 = $self470.vars[9];\nanf_arg489 = $self470.vars[10];\nanf_arg524 = $self470.vars[11];\nanf_arg514 = $self470.vars[12];\nanf_arg525 = $self470.vars[13];\nanf_arg504 = $self470.vars[14];\nanf_arg515 = $self470.vars[15];\nanf_arg516 = $self470.vars[16];\nanf_fun498 = $self470.vars[17];\nanf_arg529 = $self470.vars[18];\nanf_arg508 = $self470.vars[19];\nanf_arg509 = $self470.vars[20];\nanf_fun523 = $self470.vars[21];\nanf_fun513 = $self470.vars[22];\nanf_fun506 = $self470.vars[23];\nanf_fun528 = $self470.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[167],4,$t,true);\n}\nvar self470 = $self470;\nvar maybe$stack$loc471 = $maybe$stack$loc471;\nvar src$available472 = $src$available472;\nvar maybe$ast473 = $maybe$ast473;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans474 = R.mC();\n}\nwhile(!R.isContinuation($ans474)) {\nswitch($step468) {\ncase 0: $al475 = L[168];\nvar anf_method_obj478 = G(self470,\"loc\",L[168]);\n$step468 = 1;\n$ans474 = R.maybeMethodCall0(anf_method_obj478,\"is-builtin\",L[169]);\nbreak;\ncase 1: var anf_arg479 = $ans474;\n$step468 = 2;\n$al475 = L[218];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,not5);\n}\n$ans474 = not5.app(anf_arg479);\nbreak;\ncase 2: var anf_if535 = $ans474;\n$step468 = R.checkPyretTrue(anf_if535)?3:5;\nbreak;\ncase 3: $al475 = L[216];\nvar anf_arg533 = G(self470,\"loc\",L[216]);\n$step468 = 4;\n$al475 = L[217];\nif(typeof(src$available472.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,src$available472);\n}\n$ans474 = src$available472.app(anf_arg533);\nbreak;\ncase 4: var anf_arg534 = $ans474;\n$ans474 = R.checkWrapBoolean(anf_arg534);\n$step468 = 6;\nbreak;\ncase 5: $step468 = 6;\n$ans474 = (false);\nbreak;\ncase 6: var anf_if532 = $ans474;\n$step468 = R.checkPyretTrue(anf_if532)?7:23;\nbreak;\ncase 7: $ans474 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[170],L[171]);\nvar anf_fun513 = $ans474;\n$al475 = L[172];\nvar anf_arg480 = G(self470,\"loc\",L[172]);\n$step468 = 8;\n$al475 = L[202];\n// omitting isFunction check;\n$ans474 = ed$intro146.$var.app((\"reference update expression\"),anf_arg480,(-1),(true));\nbreak;\ncase 8: var anf_arg514 = $ans474;\n$al475 = L[173];\nvar anf_arg483 = G(self470,\"loc\",L[173]);\n$step468 = 9;\n$al475 = L[201];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans474 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg483);\nbreak;\ncase 9: var anf_arg515 = $ans474;\n$ans474 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[174],L[175]);\nvar anf_fun506 = $ans474;\n$step468 = 10;\n$al475 = L[200];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg508 = $ans474;\n$step468 = 11;\n$al475 = L[199];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 11: var anf_arg500 = $ans474;\n$ans474 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[176],L[177]);\nvar anf_fun498 = $ans474;\n$al475 = L[178];\nvar l485 = G(self470,\"fieldloc\",L[178]);\n$al475 = L[179];\nvar anf_arg484 = G(self470,\"field\",L[179]);\n// caller optimization;\n$ans474 = string$length1.app(anf_arg484);\nvar n487 = $ans474;\n$al475 = L[180];\nvar anf_arg489 = G(l485,\"source\",L[180]);\n$al475 = L[181];\nvar anf_arg490 = G(l485,\"start-line\",L[181]);\n$al475 = L[182];\nvar anf_arg491 = G(l485,\"start-column\",L[182]);\n$al475 = L[183];\nvar anf_arg492 = G(l485,\"start-char\",L[183]);\n$al475 = L[184];\nvar anf_arg495 = G(l485,\"start-line\",L[184]);\n$al475 = L[185];\nvar anf_arg486 = G(l485,\"start-column\",L[185]);\n$step468 = 12;\n$al475 = L[198];\n// omitting isFunction check;\n$ans474 = _plus5.app(anf_arg486,n487);\nbreak;\ncase 12: var anf_arg496 = $ans474;\n$al475 = L[186];\nvar anf_arg488 = G(l485,\"start-char\",L[186]);\n$step468 = 13;\n$al475 = L[197];\n// omitting isFunction check;\n$ans474 = _plus5.app(anf_arg488,n487);\nbreak;\ncase 13: var anf_arg497 = $ans474;\n$step468 = 14;\n$al475 = L[196];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans474 = S9.dict.values.dict[\"srcloc\"].app(anf_arg489,anf_arg490,anf_arg491,anf_arg492,anf_arg495,anf_arg496,anf_arg497);\nbreak;\ncase 14: var anf_arg499 = $ans474;\n$step468 = 15;\n$al475 = L[177];\nif(typeof(anf_fun498.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun498);\n}\n$ans474 = anf_fun498.app(anf_arg499);\nbreak;\ncase 15: var anf_arg501 = $ans474;\n$step468 = 16;\n$al475 = L[195];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans474 = ED6.dict.values.dict[\"highlight\"].app(anf_arg500,anf_arg501,(0));\nbreak;\ncase 16: var anf_arg509 = $ans474;\n$step468 = 17;\n$al475 = L[194];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the \"));\nbreak;\ncase 17: var anf_arg510 = $ans474;\n$step468 = 18;\n$al475 = L[193];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 18: var anf_arg504 = $ans474;\n$ans474 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[187],L[188]);\nvar anf_fun502 = $ans474;\n$al475 = L[189];\nvar anf_arg503 = G(self470,\"objloc\",L[189]);\n$step468 = 19;\n$al475 = L[188];\nif(typeof(anf_fun502.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun502);\n}\n$ans474 = anf_fun502.app(anf_arg503);\nbreak;\ncase 19: var anf_arg505 = $ans474;\n$step468 = 20;\n$al475 = L[192];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans474 = ED6.dict.values.dict[\"highlight\"].app(anf_arg504,anf_arg505,(1));\nbreak;\ncase 20: var anf_arg511 = $ans474;\n$step468 = 21;\n$al475 = L[175];\nif(typeof(anf_fun506.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun506);\n}\n$ans474 = anf_fun506.app(anf_arg508,anf_arg509,anf_arg510,anf_arg511);\nbreak;\ncase 21: var anf_arg516 = $ans474;\n$al475 = L[190];\nvar anf_arg512 = G(self470,\"obj\",L[190]);\n$step468 = 22;\n$al475 = L[191];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"embed\"]);\n}\n$ans474 = ED6.dict.values.dict[\"embed\"].app(anf_arg512);\nbreak;\ncase 22: var anf_arg517 = $ans474;\n$step468 = 31;\n$al475 = L[171];\nif(typeof(anf_fun513.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun513);\n}\n$ans474 = anf_fun513.app(anf_arg514,anf_arg515,anf_arg516,anf_arg517);\nbreak;\ncase 23: $ans474 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[203],L[204]);\nvar anf_fun528 = $ans474;\n$al475 = L[205];\nvar anf_arg518 = G(self470,\"loc\",L[205]);\n$step468 = 24;\n$al475 = L[215];\n// omitting isFunction check;\n$ans474 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg518);\nbreak;\ncase 24: var anf_arg529 = $ans474;\n$ans474 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[206],L[207]);\nvar anf_fun523 = $ans474;\n$step468 = 25;\n$al475 = L[214];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 25: var anf_arg524 = $ans474;\n$al475 = L[208];\nvar anf_arg519 = G(self470,\"field\",L[208]);\n$step468 = 26;\n$al475 = L[213];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app(anf_arg519);\nbreak;\ncase 26: var anf_arg522 = $ans474;\n$step468 = 27;\n$al475 = L[212];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"code\"]);\n}\n$ans474 = ED6.dict.values.dict[\"code\"].app(anf_arg522);\nbreak;\ncase 27: var anf_arg525 = $ans474;\n$step468 = 28;\n$al475 = L[211];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the object:\"));\nbreak;\ncase 28: var anf_arg526 = $ans474;\n$step468 = 29;\n$al475 = L[207];\nif(typeof(anf_fun523.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun523);\n}\n$ans474 = anf_fun523.app(anf_arg524,anf_arg525,anf_arg526);\nbreak;\ncase 29: var anf_arg530 = $ans474;\n$al475 = L[209];\nvar anf_arg527 = G(self470,\"obj\",L[209]);\n$step468 = 30;\n$al475 = L[210];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"embed\"]);\n}\n$ans474 = ED6.dict.values.dict[\"embed\"].app(anf_arg527);\nbreak;\ncase 30: var anf_arg531 = $ans474;\n$step468 = 31;\n$al475 = L[204];\nif(typeof(anf_fun528.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun528);\n}\n$ans474 = anf_fun528.app(anf_arg529,anf_arg530,anf_arg531);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans474;\ndefault: R.ffi.throwSpinnakerError(L[167],$step468);\n}\n}\nif($step468 !== 31) {\n$ans474.stack[R.EXN_STACKHEIGHT++] = R.mAR($al475,$temp_full469,$step468,[self470,maybe$stack$loc471,src$available472,maybe$ast473],[anf_arg490,anf_arg491,anf_arg492,l485,anf_arg495,anf_arg496,n487,anf_arg530,anf_arg510,anf_arg500,anf_arg489,anf_arg524,anf_arg514,anf_arg525,anf_arg504,anf_arg515,anf_arg516,anf_fun498,anf_arg529,anf_arg508,anf_arg509,anf_fun523,anf_fun513,anf_fun506,anf_fun528],$elidedFrames477);\n}\nreturn $ans474;\n};\nvar anf_variant_member5680 = R.makeMethod3($temp_full469,\"render-fancy-reason\");\nvar $temp_full538 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__219($self539) {\nvar $step537 = 0;\nvar $elidedFrames543 = 0;\nvar $ans540 = D;\nvar $al541 = L[219];\nif(R.isAR($self539)) {\n$step537 = $self539.step;\n$al541 = $self539.from;\n$ans540 = $self539.ans;\n$elidedFrames543 = $self539.elidedFrames;\nself539 = $self539.args[0];\nanf_arg554 = $self539.vars[0];\nanf_arg555 = $self539.vars[1];\nanf_arg548 = $self539.vars[2];\nanf_arg549 = $self539.vars[3];\nanf_fun552 = $self539.vars[4];\nanf_fun547 = $self539.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[219],1,$t,true);\n}\nvar self539 = $self539;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans540 = R.mC();\n}\nwhile(!R.isContinuation($ans540)) {\nswitch($step537) {\ncase 0: $ans540 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[220],L[221]);\nvar anf_fun552 = $ans540;\n$al541 = L[222];\nvar anf_arg544 = G(self539,\"loc\",L[222]);\n$step537 = 1;\n$al541 = L[232];\n// omitting isFunction check;\n$ans540 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg544);\nbreak;\ncase 1: var anf_arg554 = $ans540;\n$ans540 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[223],L[224]);\nvar anf_fun547 = $ans540;\n$step537 = 2;\n$al541 = L[231];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg548 = $ans540;\n$al541 = L[225];\nvar anf_arg545 = G(self539,\"field\",L[225]);\n$step537 = 3;\n$al541 = L[230];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app(anf_arg545);\nbreak;\ncase 3: var anf_arg546 = $ans540;\n$step537 = 4;\n$al541 = L[229];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"code\"]);\n}\n$ans540 = ED6.dict.values.dict[\"code\"].app(anf_arg546);\nbreak;\ncase 4: var anf_arg549 = $ans540;\n$step537 = 5;\n$al541 = L[228];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the object:\"));\nbreak;\ncase 5: var anf_arg550 = $ans540;\n$step537 = 6;\n$al541 = L[224];\nif(typeof(anf_fun547.app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,anf_fun547);\n}\n$ans540 = anf_fun547.app(anf_arg548,anf_arg549,anf_arg550);\nbreak;\ncase 6: var anf_arg555 = $ans540;\n$al541 = L[226];\nvar anf_arg551 = G(self539,\"obj\",L[226]);\n$step537 = 7;\n$al541 = L[227];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"embed\"]);\n}\n$ans540 = ED6.dict.values.dict[\"embed\"].app(anf_arg551);\nbreak;\ncase 7: var anf_arg556 = $ans540;\n$step537 = 8;\n$al541 = L[221];\nif(typeof(anf_fun552.app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,anf_fun552);\n}\n$ans540 = anf_fun552.app(anf_arg554,anf_arg555,anf_arg556);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans540;\ndefault: R.ffi.throwSpinnakerError(L[219],$step537);\n}\n}\nif($step537 !== 8) {\n$ans540.stack[R.EXN_STACKHEIGHT++] = R.mAR($al541,$temp_full538,$step537,[self539],[anf_arg554,anf_arg555,anf_arg548,anf_arg549,anf_fun552,anf_fun547],$elidedFrames543);\n}\nreturn $ans540;\n};\nvar anf_variant_member5681 = R.makeMethod0($temp_full538,\"render-reason\");\nvar $temp_full559 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__233($self560,$maybe$stack$loc561,$src$available562,$maybe$ast563) {\nvar $step558 = 0;\nvar $elidedFrames567 = 0;\nvar $ans564 = D;\nvar $al565 = L[233];\nif(R.isAR($self560)) {\n$step558 = $self560.step;\n$al565 = $self560.from;\n$ans564 = $self560.ans;\n$elidedFrames567 = $self560.elidedFrames;\nself560 = $self560.args[0];\nmaybe$stack$loc561 = $self560.args[1];\nsrc$available562 = $self560.args[2];\nmaybe$ast563 = $self560.args[3];\nanf_fun617 = $self560.vars[0];\nanf_arg580 = $self560.vars[1];\nl573 = $self560.vars[2];\nanf_arg581 = $self560.vars[3];\nanf_arg592 = $self560.vars[4];\nanf_arg582 = $self560.vars[5];\nanf_arg583 = $self560.vars[6];\nanf_arg595 = $self560.vars[7];\nanf_arg596 = $self560.vars[8];\nn576 = $self560.vars[9];\nanf_arg597 = $self560.vars[10];\nanf_arg588 = $self560.vars[11];\nanf_arg611 = $self560.vars[12];\nanf_arg578 = $self560.vars[13];\nanf_arg579 = $self560.vars[14];\nanf_fun594 = $self560.vars[15];\nanf_arg603 = $self560.vars[16];\nanf_arg614 = $self560.vars[17];\nanf_arg604 = $self560.vars[18];\nanf_fun585 = $self560.vars[19];\nanf_arg605 = $self560.vars[20];\nanf_arg618 = $self560.vars[21];\nanf_arg619 = $self560.vars[22];\nanf_fun610 = $self560.vars[23];\nanf_fun602 = $self560.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[233],4,$t,true);\n}\nvar self560 = $self560;\nvar maybe$stack$loc561 = $maybe$stack$loc561;\nvar src$available562 = $src$available562;\nvar maybe$ast563 = $maybe$ast563;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans564 = R.mC();\n}\nwhile(!R.isContinuation($ans564)) {\nswitch($step558) {\ncase 0: $al565 = L[234];\nvar anf_method_obj568 = G(self560,\"loc\",L[234]);\n$step558 = 1;\n$ans564 = R.maybeMethodCall0(anf_method_obj568,\"is-builtin\",L[235]);\nbreak;\ncase 1: var anf_arg569 = $ans564;\n$step558 = 2;\n$al565 = L[284];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,not5);\n}\n$ans564 = not5.app(anf_arg569);\nbreak;\ncase 2: var anf_if624 = $ans564;\n$step558 = R.checkPyretTrue(anf_if624)?3:5;\nbreak;\ncase 3: $al565 = L[282];\nvar anf_arg622 = G(self560,\"loc\",L[282]);\n$step558 = 4;\n$al565 = L[283];\nif(typeof(src$available562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,src$available562);\n}\n$ans564 = src$available562.app(anf_arg622);\nbreak;\ncase 4: var anf_arg623 = $ans564;\n$ans564 = R.checkWrapBoolean(anf_arg623);\n$step558 = 6;\nbreak;\ncase 5: $step558 = 6;\n$ans564 = (false);\nbreak;\ncase 6: var anf_if621 = $ans564;\n$step558 = R.checkPyretTrue(anf_if621)?7:23;\nbreak;\ncase 7: $ans564 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[236],L[237]);\nvar anf_fun602 = $ans564;\n$al565 = L[238];\nvar anf_arg570 = G(self560,\"loc\",L[238]);\n$step558 = 8;\n$al565 = L[268];\n// omitting isFunction check;\n$ans564 = ed$intro146.$var.app((\"reference update expression\"),anf_arg570,(-1),(true));\nbreak;\ncase 8: var anf_arg603 = $ans564;\n$al565 = L[239];\nvar anf_arg571 = G(self560,\"loc\",L[239]);\n$step558 = 9;\n$al565 = L[267];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans564 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg571);\nbreak;\ncase 9: var anf_arg604 = $ans564;\n$ans564 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[240],L[241]);\nvar anf_fun594 = $ans564;\n$step558 = 10;\n$al565 = L[266];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 10: var anf_arg595 = $ans564;\n$step558 = 11;\n$al565 = L[265];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 11: var anf_arg588 = $ans564;\n$ans564 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[242],L[243]);\nvar anf_fun585 = $ans564;\n$al565 = L[244];\nvar l573 = G(self560,\"fieldloc\",L[244]);\n$al565 = L[245];\nvar anf_arg572 = G(self560,\"field\",L[245]);\n// caller optimization;\n$ans564 = string$length1.app(anf_arg572);\nvar n576 = $ans564;\n$al565 = L[246];\nvar anf_arg578 = G(l573,\"source\",L[246]);\n$al565 = L[247];\nvar anf_arg579 = G(l573,\"start-line\",L[247]);\n$al565 = L[248];\nvar anf_arg580 = G(l573,\"start-column\",L[248]);\n$al565 = L[249];\nvar anf_arg581 = G(l573,\"start-char\",L[249]);\n$al565 = L[250];\nvar anf_arg582 = G(l573,\"start-line\",L[250]);\n$al565 = L[251];\nvar anf_arg575 = G(l573,\"start-column\",L[251]);\n$step558 = 12;\n$al565 = L[264];\n// omitting isFunction check;\n$ans564 = _plus5.app(anf_arg575,n576);\nbreak;\ncase 12: var anf_arg583 = $ans564;\n$al565 = L[252];\nvar anf_arg577 = G(l573,\"start-char\",L[252]);\n$step558 = 13;\n$al565 = L[263];\n// omitting isFunction check;\n$ans564 = _plus5.app(anf_arg577,n576);\nbreak;\ncase 13: var anf_arg584 = $ans564;\n$step558 = 14;\n$al565 = L[262];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans564 = S9.dict.values.dict[\"srcloc\"].app(anf_arg578,anf_arg579,anf_arg580,anf_arg581,anf_arg582,anf_arg583,anf_arg584);\nbreak;\ncase 14: var anf_arg587 = $ans564;\n$step558 = 15;\n$al565 = L[243];\nif(typeof(anf_fun585.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun585);\n}\n$ans564 = anf_fun585.app(anf_arg587);\nbreak;\ncase 15: var anf_arg589 = $ans564;\n$step558 = 16;\n$al565 = L[261];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans564 = ED6.dict.values.dict[\"highlight\"].app(anf_arg588,anf_arg589,(0));\nbreak;\ncase 16: var anf_arg596 = $ans564;\n$step558 = 17;\n$al565 = L[260];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the \"));\nbreak;\ncase 17: var anf_arg597 = $ans564;\n$step558 = 18;\n$al565 = L[259];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 18: var anf_arg592 = $ans564;\n$ans564 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[253],L[254]);\nvar anf_fun590 = $ans564;\n$al565 = L[255];\nvar anf_arg591 = G(self560,\"objloc\",L[255]);\n$step558 = 19;\n$al565 = L[254];\nif(typeof(anf_fun590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun590);\n}\n$ans564 = anf_fun590.app(anf_arg591);\nbreak;\ncase 19: var anf_arg593 = $ans564;\n$step558 = 20;\n$al565 = L[258];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans564 = ED6.dict.values.dict[\"highlight\"].app(anf_arg592,anf_arg593,(1));\nbreak;\ncase 20: var anf_arg600 = $ans564;\n$step558 = 21;\n$al565 = L[241];\nif(typeof(anf_fun594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun594);\n}\n$ans564 = anf_fun594.app(anf_arg595,anf_arg596,anf_arg597,anf_arg600);\nbreak;\ncase 21: var anf_arg605 = $ans564;\n$al565 = L[256];\nvar anf_arg601 = G(self560,\"obj\",L[256]);\n$step558 = 22;\n$al565 = L[257];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"embed\"]);\n}\n$ans564 = ED6.dict.values.dict[\"embed\"].app(anf_arg601);\nbreak;\ncase 22: var anf_arg606 = $ans564;\n$step558 = 31;\n$al565 = L[237];\nif(typeof(anf_fun602.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun602);\n}\n$ans564 = anf_fun602.app(anf_arg603,anf_arg604,anf_arg605,anf_arg606);\nbreak;\ncase 23: $ans564 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[269],L[270]);\nvar anf_fun617 = $ans564;\n$al565 = L[271];\nvar anf_arg607 = G(self560,\"loc\",L[271]);\n$step558 = 24;\n$al565 = L[281];\n// omitting isFunction check;\n$ans564 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg607);\nbreak;\ncase 24: var anf_arg618 = $ans564;\n$ans564 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[272],L[273]);\nvar anf_fun610 = $ans564;\n$step558 = 25;\n$al565 = L[280];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 25: var anf_arg611 = $ans564;\n$al565 = L[274];\nvar anf_arg608 = G(self560,\"field\",L[274]);\n$step558 = 26;\n$al565 = L[279];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app(anf_arg608);\nbreak;\ncase 26: var anf_arg609 = $ans564;\n$step558 = 27;\n$al565 = L[278];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"code\"]);\n}\n$ans564 = ED6.dict.values.dict[\"code\"].app(anf_arg609);\nbreak;\ncase 27: var anf_arg614 = $ans564;\n$step558 = 28;\n$al565 = L[277];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the object:\"));\nbreak;\ncase 28: var anf_arg615 = $ans564;\n$step558 = 29;\n$al565 = L[273];\nif(typeof(anf_fun610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun610);\n}\n$ans564 = anf_fun610.app(anf_arg611,anf_arg614,anf_arg615);\nbreak;\ncase 29: var anf_arg619 = $ans564;\n$al565 = L[275];\nvar anf_arg616 = G(self560,\"obj\",L[275]);\n$step558 = 30;\n$al565 = L[276];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"embed\"]);\n}\n$ans564 = ED6.dict.values.dict[\"embed\"].app(anf_arg616);\nbreak;\ncase 30: var anf_arg620 = $ans564;\n$step558 = 31;\n$al565 = L[270];\nif(typeof(anf_fun617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun617);\n}\n$ans564 = anf_fun617.app(anf_arg618,anf_arg619,anf_arg620);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans564;\ndefault: R.ffi.throwSpinnakerError(L[233],$step558);\n}\n}\nif($step558 !== 31) {\n$ans564.stack[R.EXN_STACKHEIGHT++] = R.mAR($al565,$temp_full559,$step558,[self560,maybe$stack$loc561,src$available562,maybe$ast563],[anf_fun617,anf_arg580,l573,anf_arg581,anf_arg592,anf_arg582,anf_arg583,anf_arg595,anf_arg596,n576,anf_arg597,anf_arg588,anf_arg611,anf_arg578,anf_arg579,anf_fun594,anf_arg603,anf_arg614,anf_arg604,anf_fun585,anf_arg605,anf_arg618,anf_arg619,anf_fun610,anf_fun602],$elidedFrames567);\n}\nreturn $ans564;\n};\nvar anf_variant_member5693 = R.makeMethod3($temp_full559,\"render-fancy-reason\");\nvar $temp_full627 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__285($self628) {\nvar $step626 = 0;\nvar $elidedFrames632 = 0;\nvar $ans629 = D;\nvar $al630 = L[285];\nif(R.isAR($self628)) {\n$step626 = $self628.step;\n$al630 = $self628.from;\n$ans629 = $self628.ans;\n$elidedFrames632 = $self628.elidedFrames;\nself628 = $self628.args[0];\nanf_arg642 = $self628.vars[0];\nanf_arg643 = $self628.vars[1];\nanf_arg637 = $self628.vars[2];\nanf_arg638 = $self628.vars[3];\nanf_fun641 = $self628.vars[4];\nanf_fun636 = $self628.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[285],1,$t,true);\n}\nvar self628 = $self628;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans629 = R.mC();\n}\nwhile(!R.isContinuation($ans629)) {\nswitch($step626) {\ncase 0: $ans629 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[286],L[287]);\nvar anf_fun641 = $ans629;\n$al630 = L[288];\nvar anf_arg633 = G(self628,\"loc\",L[288]);\n$step626 = 1;\n$al630 = L[298];\n// omitting isFunction check;\n$ans629 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg633);\nbreak;\ncase 1: var anf_arg642 = $ans629;\n$ans629 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[289],L[290]);\nvar anf_fun636 = $ans629;\n$step626 = 2;\n$al630 = L[297];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg637 = $ans629;\n$al630 = L[291];\nvar anf_arg634 = G(self628,\"field\",L[291]);\n$step626 = 3;\n$al630 = L[296];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app(anf_arg634);\nbreak;\ncase 3: var anf_arg635 = $ans629;\n$step626 = 4;\n$al630 = L[295];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"code\"]);\n}\n$ans629 = ED6.dict.values.dict[\"code\"].app(anf_arg635);\nbreak;\ncase 4: var anf_arg638 = $ans629;\n$step626 = 5;\n$al630 = L[294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the object:\"));\nbreak;\ncase 5: var anf_arg639 = $ans629;\n$step626 = 6;\n$al630 = L[290];\nif(typeof(anf_fun636.app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,anf_fun636);\n}\n$ans629 = anf_fun636.app(anf_arg637,anf_arg638,anf_arg639);\nbreak;\ncase 6: var anf_arg643 = $ans629;\n$al630 = L[292];\nvar anf_arg640 = G(self628,\"obj\",L[292]);\n$step626 = 7;\n$al630 = L[293];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"embed\"]);\n}\n$ans629 = ED6.dict.values.dict[\"embed\"].app(anf_arg640);\nbreak;\ncase 7: var anf_arg645 = $ans629;\n$step626 = 8;\n$al630 = L[287];\nif(typeof(anf_fun641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,anf_fun641);\n}\n$ans629 = anf_fun641.app(anf_arg642,anf_arg643,anf_arg645);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans629;\ndefault: R.ffi.throwSpinnakerError(L[285],$step626);\n}\n}\nif($step626 !== 8) {\n$ans629.stack[R.EXN_STACKHEIGHT++] = R.mAR($al630,$temp_full627,$step626,[self628],[anf_arg642,anf_arg643,anf_arg637,anf_arg638,anf_fun641,anf_fun636],$elidedFrames632);\n}\nreturn $ans629;\n};\nvar anf_variant_member5694 = R.makeMethod0($temp_full627,\"render-reason\");\nvar $temp_full648 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__299($self649,$maybe$stack$loc650,$src$available651,$maybe$ast652) {\nvar $step647 = 0;\nvar $elidedFrames656 = 0;\nvar $ans653 = D;\nvar $al654 = L[299];\nif(R.isAR($self649)) {\n$step647 = $self649.step;\n$al654 = $self649.from;\n$ans653 = $self649.ans;\n$elidedFrames656 = $self649.elidedFrames;\nself649 = $self649.args[0];\nmaybe$stack$loc650 = $self649.args[1];\nsrc$available651 = $self649.args[2];\nmaybe$ast652 = $self649.args[3];\nanf_fun706 = $self649.vars[0];\nanf_arg670 = $self649.vars[1];\nanf_arg681 = $self649.vars[2];\nanf_arg692 = $self649.vars[3];\nanf_arg682 = $self649.vars[4];\nl675 = $self649.vars[5];\nanf_arg683 = $self649.vars[6];\nanf_arg662 = $self649.vars[7];\nanf_arg684 = $self649.vars[8];\nanf_arg663 = $self649.vars[9];\nanf_arg685 = $self649.vars[10];\nanf_arg696 = $self649.vars[11];\nanf_arg686 = $self649.vars[12];\nanf_arg699 = $self649.vars[13];\nn679 = $self649.vars[14];\nanf_arg700 = $self649.vars[15];\nanf_arg701 = $self649.vars[16];\nanf_arg669 = $self649.vars[17];\nanf_fun661 = $self649.vars[18];\nanf_fun698 = $self649.vars[19];\nanf_arg707 = $self649.vars[20];\nanf_arg708 = $self649.vars[21];\nanf_fun689 = $self649.vars[22];\nanf_arg709 = $self649.vars[23];\nanf_fun668 = $self649.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[299],4,$t,true);\n}\nvar self649 = $self649;\nvar maybe$stack$loc650 = $maybe$stack$loc650;\nvar src$available651 = $src$available651;\nvar maybe$ast652 = $maybe$ast652;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans653 = R.mC();\n}\nwhile(!R.isContinuation($ans653)) {\nswitch($step647) {\ncase 0: $al654 = L[300];\nvar anf_method_obj657 = G(self649,\"loc\",L[300]);\n$step647 = 1;\n$ans653 = R.maybeMethodCall0(anf_method_obj657,\"is-builtin\",L[301]);\nbreak;\ncase 1: var anf_if711 = $ans653;\n$step647 = R.checkPyretTrue(anf_if711)?2:10;\nbreak;\ncase 2: $ans653 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[302],L[303]);\nvar anf_fun668 = $ans653;\n$al654 = L[304];\nvar anf_arg658 = G(self649,\"loc\",L[304]);\n$step647 = 3;\n$al654 = L[314];\n// omitting isFunction check;\n$ans653 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg658);\nbreak;\ncase 3: var anf_arg669 = $ans653;\n$ans653 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[305],L[306]);\nvar anf_fun661 = $ans653;\n$step647 = 4;\n$al654 = L[313];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 4: var anf_arg662 = $ans653;\n$al654 = L[307];\nvar anf_arg659 = G(self649,\"field\",L[307]);\n$step647 = 5;\n$al654 = L[312];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app(anf_arg659);\nbreak;\ncase 5: var anf_arg660 = $ans653;\n$step647 = 6;\n$al654 = L[311];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"code\"]);\n}\n$ans653 = ED6.dict.values.dict[\"code\"].app(anf_arg660);\nbreak;\ncase 6: var anf_arg663 = $ans653;\n$step647 = 7;\n$al654 = L[310];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the object:\"));\nbreak;\ncase 7: var anf_arg666 = $ans653;\n$step647 = 8;\n$al654 = L[306];\nif(typeof(anf_fun661.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun661);\n}\n$ans653 = anf_fun661.app(anf_arg662,anf_arg663,anf_arg666);\nbreak;\ncase 8: var anf_arg670 = $ans653;\n$al654 = L[308];\nvar anf_arg667 = G(self649,\"obj\",L[308]);\n$step647 = 9;\n$al654 = L[309];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"embed\"]);\n}\n$ans653 = ED6.dict.values.dict[\"embed\"].app(anf_arg667);\nbreak;\ncase 9: var anf_arg671 = $ans653;\n$step647 = 26;\n$al654 = L[303];\nif(typeof(anf_fun668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun668);\n}\n$ans653 = anf_fun668.app(anf_arg669,anf_arg670,anf_arg671);\nbreak;\ncase 10: $ans653 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[315],L[316]);\nvar anf_fun706 = $ans653;\n$al654 = L[317];\nvar anf_arg672 = G(self649,\"loc\",L[317]);\n$step647 = 11;\n$al654 = L[347];\n// omitting isFunction check;\n$ans653 = ed$intro146.$var.app((\"reference update expression\"),anf_arg672,(-1),(true));\nbreak;\ncase 11: var anf_arg707 = $ans653;\n$al654 = L[318];\nvar anf_arg673 = G(self649,\"loc\",L[318]);\n$step647 = 12;\n$al654 = L[346];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans653 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg673);\nbreak;\ncase 12: var anf_arg708 = $ans653;\n$ans653 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[319],L[320]);\nvar anf_fun698 = $ans653;\n$step647 = 13;\n$al654 = L[345];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg699 = $ans653;\n$step647 = 14;\n$al654 = L[344];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 14: var anf_arg692 = $ans653;\n$ans653 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[321],L[322]);\nvar anf_fun689 = $ans653;\n$al654 = L[323];\nvar l675 = G(self649,\"fieldloc\",L[323]);\n$al654 = L[324];\nvar anf_arg674 = G(self649,\"field\",L[324]);\n// caller optimization;\n$ans653 = string$length1.app(anf_arg674);\nvar n679 = $ans653;\n$al654 = L[325];\nvar anf_arg681 = G(l675,\"source\",L[325]);\n$al654 = L[326];\nvar anf_arg682 = G(l675,\"start-line\",L[326]);\n$al654 = L[327];\nvar anf_arg683 = G(l675,\"start-column\",L[327]);\n$al654 = L[328];\nvar anf_arg684 = G(l675,\"start-char\",L[328]);\n$al654 = L[329];\nvar anf_arg685 = G(l675,\"start-line\",L[329]);\n$al654 = L[330];\nvar anf_arg678 = G(l675,\"start-column\",L[330]);\n$step647 = 15;\n$al654 = L[343];\n// omitting isFunction check;\n$ans653 = _plus5.app(anf_arg678,n679);\nbreak;\ncase 15: var anf_arg686 = $ans653;\n$al654 = L[331];\nvar anf_arg680 = G(l675,\"start-char\",L[331]);\n$step647 = 16;\n$al654 = L[342];\n// omitting isFunction check;\n$ans653 = _plus5.app(anf_arg680,n679);\nbreak;\ncase 16: var anf_arg687 = $ans653;\n$step647 = 17;\n$al654 = L[341];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans653 = S9.dict.values.dict[\"srcloc\"].app(anf_arg681,anf_arg682,anf_arg683,anf_arg684,anf_arg685,anf_arg686,anf_arg687);\nbreak;\ncase 17: var anf_arg691 = $ans653;\n$step647 = 18;\n$al654 = L[322];\nif(typeof(anf_fun689.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun689);\n}\n$ans653 = anf_fun689.app(anf_arg691);\nbreak;\ncase 18: var anf_arg693 = $ans653;\n$step647 = 19;\n$al654 = L[340];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans653 = ED6.dict.values.dict[\"highlight\"].app(anf_arg692,anf_arg693,(0));\nbreak;\ncase 19: var anf_arg700 = $ans653;\n$step647 = 20;\n$al654 = L[339];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the \"));\nbreak;\ncase 20: var anf_arg701 = $ans653;\n$step647 = 21;\n$al654 = L[338];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 21: var anf_arg696 = $ans653;\n$ans653 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[332],L[333]);\nvar anf_fun694 = $ans653;\n$al654 = L[334];\nvar anf_arg695 = G(self649,\"objloc\",L[334]);\n$step647 = 22;\n$al654 = L[333];\nif(typeof(anf_fun694.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun694);\n}\n$ans653 = anf_fun694.app(anf_arg695);\nbreak;\ncase 22: var anf_arg697 = $ans653;\n$step647 = 23;\n$al654 = L[337];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans653 = ED6.dict.values.dict[\"highlight\"].app(anf_arg696,anf_arg697,(1));\nbreak;\ncase 23: var anf_arg702 = $ans653;\n$step647 = 24;\n$al654 = L[320];\nif(typeof(anf_fun698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun698);\n}\n$ans653 = anf_fun698.app(anf_arg699,anf_arg700,anf_arg701,anf_arg702);\nbreak;\ncase 24: var anf_arg709 = $ans653;\n$al654 = L[335];\nvar anf_arg705 = G(self649,\"obj\",L[335]);\n$step647 = 25;\n$al654 = L[336];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"embed\"]);\n}\n$ans653 = ED6.dict.values.dict[\"embed\"].app(anf_arg705);\nbreak;\ncase 25: var anf_arg710 = $ans653;\n$step647 = 26;\n$al654 = L[316];\nif(typeof(anf_fun706.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun706);\n}\n$ans653 = anf_fun706.app(anf_arg707,anf_arg708,anf_arg709,anf_arg710);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans653;\ndefault: R.ffi.throwSpinnakerError(L[299],$step647);\n}\n}\nif($step647 !== 26) {\n$ans653.stack[R.EXN_STACKHEIGHT++] = R.mAR($al654,$temp_full648,$step647,[self649,maybe$stack$loc650,src$available651,maybe$ast652],[anf_fun706,anf_arg670,anf_arg681,anf_arg692,anf_arg682,l675,anf_arg683,anf_arg662,anf_arg684,anf_arg663,anf_arg685,anf_arg696,anf_arg686,anf_arg699,n679,anf_arg700,anf_arg701,anf_arg669,anf_fun661,anf_fun698,anf_arg707,anf_arg708,anf_fun689,anf_arg709,anf_fun668],$elidedFrames656);\n}\nreturn $ans653;\n};\nvar anf_variant_member5706 = R.makeMethod3($temp_full648,\"render-fancy-reason\");\nvar $temp_full714 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__348($self715) {\nvar $step713 = 0;\nvar $elidedFrames719 = 0;\nvar $ans716 = D;\nvar $al717 = L[348];\nif(R.isAR($self715)) {\n$step713 = $self715.step;\n$al717 = $self715.from;\n$ans716 = $self715.ans;\n$elidedFrames719 = $self715.elidedFrames;\nself715 = $self715.args[0];\nanf_fun728 = $self715.vars[0];\nanf_arg730 = $self715.vars[1];\nanf_arg724 = $self715.vars[2];\nanf_arg725 = $self715.vars[3];\nanf_arg729 = $self715.vars[4];\nanf_fun723 = $self715.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[348],1,$t,true);\n}\nvar self715 = $self715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans716 = R.mC();\n}\nwhile(!R.isContinuation($ans716)) {\nswitch($step713) {\ncase 0: $ans716 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[349],L[350]);\nvar anf_fun728 = $ans716;\n$al717 = L[351];\nvar anf_arg720 = G(self715,\"loc\",L[351]);\n$step713 = 1;\n$al717 = L[361];\n// omitting isFunction check;\n$ans716 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg720);\nbreak;\ncase 1: var anf_arg729 = $ans716;\n$ans716 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[352],L[353]);\nvar anf_fun723 = $ans716;\n$step713 = 2;\n$al717 = L[360];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg724 = $ans716;\n$al717 = L[354];\nvar anf_arg721 = G(self715,\"field\",L[354]);\n$step713 = 3;\n$al717 = L[359];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app(anf_arg721);\nbreak;\ncase 3: var anf_arg722 = $ans716;\n$step713 = 4;\n$al717 = L[358];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"code\"]);\n}\n$ans716 = ED6.dict.values.dict[\"code\"].app(anf_arg722);\nbreak;\ncase 4: var anf_arg725 = $ans716;\n$step713 = 5;\n$al717 = L[357];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the object:\"));\nbreak;\ncase 5: var anf_arg726 = $ans716;\n$step713 = 6;\n$al717 = L[353];\nif(typeof(anf_fun723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,anf_fun723);\n}\n$ans716 = anf_fun723.app(anf_arg724,anf_arg725,anf_arg726);\nbreak;\ncase 6: var anf_arg730 = $ans716;\n$al717 = L[355];\nvar anf_arg727 = G(self715,\"obj\",L[355]);\n$step713 = 7;\n$al717 = L[356];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"embed\"]);\n}\n$ans716 = ED6.dict.values.dict[\"embed\"].app(anf_arg727);\nbreak;\ncase 7: var anf_arg731 = $ans716;\n$step713 = 8;\n$al717 = L[350];\nif(typeof(anf_fun728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,anf_fun728);\n}\n$ans716 = anf_fun728.app(anf_arg729,anf_arg730,anf_arg731);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans716;\ndefault: R.ffi.throwSpinnakerError(L[348],$step713);\n}\n}\nif($step713 !== 8) {\n$ans716.stack[R.EXN_STACKHEIGHT++] = R.mAR($al717,$temp_full714,$step713,[self715],[anf_fun728,anf_arg730,anf_arg724,anf_arg725,anf_arg729,anf_fun723],$elidedFrames719);\n}\nreturn $ans716;\n};\nvar anf_variant_member5707 = R.makeMethod0($temp_full714,\"render-reason\");\nvar $temp_full734 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__362($self735,$maybe$stack$loc736,$src$available737,$maybe$ast738) {\nvar $step733 = 0;\nvar $elidedFrames742 = 0;\nvar $ans739 = D;\nvar $al740 = L[362];\nif(R.isAR($self735)) {\n$step733 = $self735.step;\n$al740 = $self735.from;\n$ans739 = $self735.ans;\n$elidedFrames742 = $self735.elidedFrames;\nself735 = $self735.args[0];\nmaybe$stack$loc736 = $self735.args[1];\nsrc$available737 = $self735.args[2];\nmaybe$ast738 = $self735.args[3];\ncases756 = $self735.vars[0];\nanf_arg751 = $self735.vars[1];\nanf_arg752 = $self735.vars[2];\nanf_fun750 = $self735.vars[3];\nanf_fun745 = $self735.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[362],4,$t,true);\n}\nvar self735 = $self735;\nvar maybe$stack$loc736 = $maybe$stack$loc736;\nvar src$available737 = $src$available737;\nvar maybe$ast738 = $maybe$ast738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans739 = R.mC();\n}\nwhile(!R.isContinuation($ans739)) {\nswitch($step733) {\ncase 0: $al740 = L[363];\nvar anf_method_obj743 = G(self735,\"loc\",L[363]);\n$step733 = 1;\n$ans739 = R.maybeMethodCall0(anf_method_obj743,\"is-builtin\",L[364]);\nbreak;\ncase 1: var anf_if839 = $ans739;\n$step733 = R.checkPyretTrue(anf_if839)?2:3;\nbreak;\ncase 2: $step733 = 6;\n$ans739 = (true);\nbreak;\ncase 3: $al740 = L[418];\nvar anf_arg834 = G(self735,\"loc\",L[418]);\n$step733 = 4;\n$al740 = L[420];\nif(typeof(src$available737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,src$available737);\n}\n$ans739 = src$available737.app(anf_arg834);\nbreak;\ncase 4: var anf_arg837 = $ans739;\n$step733 = 5;\n$al740 = L[419];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,not5);\n}\n$ans739 = not5.app(anf_arg837);\nbreak;\ncase 5: var anf_arg838 = $ans739;\n$ans739 = R.checkWrapBoolean(anf_arg838);\n$step733 = 6;\nbreak;\ncase 6: var anf_if832 = $ans739;\n$step733 = R.checkPyretTrue(anf_if832)?7:12;\nbreak;\ncase 7: $ans739 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[365],L[366]);\nvar anf_fun750 = $ans739;\n$al740 = L[367];\nvar anf_arg744 = G(self735,\"loc\",L[367]);\n$step733 = 8;\n$al740 = L[373];\n// omitting isFunction check;\n$ans739 = ed$simple$intro104.$var.app((\"cases expression\"),anf_arg744);\nbreak;\ncase 8: var anf_arg751 = $ans739;\n$ans739 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[368],L[369]);\nvar anf_fun745 = $ans739;\n$step733 = 9;\n$al740 = L[372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,ED6.dict.values.dict[\"text\"]);\n}\n$ans739 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value:\"));\nbreak;\ncase 9: var anf_arg748 = $ans739;\n$step733 = 10;\n$al740 = L[369];\nif(typeof(anf_fun745.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,anf_fun745);\n}\n$ans739 = anf_fun745.app(anf_arg748);\nbreak;\ncase 10: var anf_arg752 = $ans739;\n$al740 = L[370];\nvar anf_arg749 = G(self735,\"val\",L[370]);\n$step733 = 11;\n$al740 = L[371];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,ED6.dict.values.dict[\"embed\"]);\n}\n$ans739 = ED6.dict.values.dict[\"embed\"].app(anf_arg749);\nbreak;\ncase 11: var anf_arg753 = $ans739;\n$step733 = 21;\n$al740 = L[366];\nif(typeof(anf_fun750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,anf_fun750);\n}\n$ans739 = anf_fun750.app(anf_arg751,anf_arg752,anf_arg753);\nbreak;\ncase 12: $al740 = L[374];\nvar anf_arg754 = G(self735,\"loc\",L[374]);\n$step733 = 13;\n$al740 = L[417];\nif(typeof(src$available737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,src$available737);\n}\n$ans739 = src$available737.app(anf_arg754);\nbreak;\ncase 13: var anf_if831 = $ans739;\n$step733 = R.checkPyretTrue(anf_if831)?14:20;\nbreak;\ncase 14: $al740 = L[375];\nvar anf_arg755 = G(self735,\"loc\",L[375]);\n$step733 = 15;\n$al740 = L[415];\nif(typeof(maybe$ast738.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,maybe$ast738);\n}\n$ans739 = maybe$ast738.app(anf_arg755);\nbreak;\ncase 15: var cases756 = $ans739;\n$step733 = 16;\n$al740 = L[414];\nvar $ann$check830 = R._cA(L[414],R.gDA(L[414],\"O\",O8.dict.types,\"Option\"),cases756);\nif(R.isContinuation($ann$check830)) {\n$ans739 = $ann$check830;\n}\nbreak;\ncase 16: $al740 = L[401];\n$step733 = $cases_dispatch829[cases756.$name] || 19;\nbreak;\ncase 17: if(cases756.$arity !== 1) {\nif(cases756.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[400],1,cases756.$arity,L[401],cases756.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[400],true,L[401],cases756.$loc);\n}\n}\n$step733 = 21;\n$al740 = L[400];\nvar $temp_branch796 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__401($ast$cse762) {\nvar $step797 = 0;\nvar $elidedFrames801 = 0;\nvar $ans798 = D;\nvar $al799 = L[377];\nif(R.isAR($ast$cse762)) {\n$step797 = $ast$cse762.step;\n$al799 = $ast$cse762.from;\n$ans798 = $ast$cse762.ans;\n$elidedFrames801 = $ast$cse762.elidedFrames;\nast$cse762 = $ast$cse762.args[0];\nanf_arg792 = $ast$cse762.vars[0];\nanf_arg782 = $ast$cse762.vars[1];\nanf_arg793 = $ast$cse762.vars[2];\nanf_arg783 = $ast$cse762.vars[3];\nanf_arg794 = $ast$cse762.vars[4];\nanf_arg774 = $ast$cse762.vars[5];\nanf_arg787 = $ast$cse762.vars[6];\nanf_arg788 = $ast$cse762.vars[7];\nanf_fun791 = $ast$cse762.vars[8];\nanf_arg779 = $ast$cse762.vars[9];\nanf_fun781 = $ast$cse762.vars[10];\n} else {\nvar ast$cse762 = $ast$cse762;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans798 = R.mC();\n}\nwhile(!R.isContinuation($ans798)) {\nswitch($step797) {\ncase 0: $ans798 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[376],L[377]);\nvar anf_fun791 = $ans798;\n$al799 = L[378];\nvar anf_arg760 = G(self735,\"loc\",L[378]);\n$step797 = 1;\n$al799 = L[399];\n// omitting isFunction check;\n$ans798 = ed$intro146.$var.app((\"cases expression\"),anf_arg760,(-1),(true));\nbreak;\ncase 1: var anf_arg792 = $ans798;\n$al799 = L[379];\nvar anf_arg761 = G(self735,\"loc\",L[379]);\n$step797 = 2;\n$al799 = L[398];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans798 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg761);\nbreak;\ncase 2: var anf_arg793 = $ans798;\n$ans798 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[380],L[381]);\nvar anf_fun781 = $ans798;\n$step797 = 3;\n$al799 = L[397];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"None of the \"));\nbreak;\ncase 3: var anf_arg782 = $ans798;\n$step797 = 4;\n$al799 = L[396];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"branch patterns\"));\nbreak;\ncase 4: var anf_arg774 = $ans798;\n$al799 = L[382];\nvar anf_method_obj771 = G(ast$cse762,\"branches\",L[382]);\nvar $temp_lam803 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__383($recv_765) {\nvar $step802 = 0;\nvar $elidedFrames807 = 0;\nvar $ans804 = D;\nvar $al805 = L[383];\nif(R.isAR($recv_765)) {\n$step802 = $recv_765.step;\n$al805 = $recv_765.from;\n$ans804 = $recv_765.ans;\n$elidedFrames807 = $recv_765.elidedFrames;\nrecv_765 = $recv_765.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[383],1,$t,false);\n}\nvar recv_765 = $recv_765;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans804 = R.mC();\n}\nwhile(!R.isContinuation($ans804)) {\nswitch($step802) {\ncase 0: $step802 = 1;\n$al805 = L[383];\n$ans804 = G(recv_765,\"pat-loc\",L[383]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans804;\ndefault: R.ffi.throwSpinnakerError(L[383],$step802);\n}\n}\nif($step802 !== 1) {\n$ans804.stack[R.EXN_STACKHEIGHT++] = R.mAR($al805,$temp_lam803,$step802,[recv_765],[],$elidedFrames807);\n}\nreturn $ans804;\n};\nvar anf_arg773 = R.mF($temp_lam803,\"\");\n$step797 = 5;\n$ans798 = R.maybeMethodCall1(anf_method_obj771,\"map\",L[384],anf_arg773);\nbreak;\ncase 5: var anf_arg775 = $ans798;\n$step797 = 6;\n$al799 = L[395];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans798 = ED6.dict.values.dict[\"highlight\"].app(anf_arg774,anf_arg775,(0));\nbreak;\ncase 6: var anf_arg783 = $ans798;\n$step797 = 7;\n$al799 = L[394];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\" matched the value of the \"));\nbreak;\ncase 7: var anf_arg787 = $ans798;\n$step797 = 8;\n$al799 = L[393];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"argument\"));\nbreak;\ncase 8: var anf_arg779 = $ans798;\n$ans798 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[385],L[386]);\nvar anf_fun777 = $ans798;\n$al799 = L[387];\nvar anf_bracket776 = G(ast$cse762,\"val\",L[387]);\n$al799 = L[388];\nvar anf_arg778 = G(anf_bracket776,\"l\",L[388]);\n$step797 = 9;\n$al799 = L[386];\nif(typeof(anf_fun777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun777);\n}\n$ans798 = anf_fun777.app(anf_arg778);\nbreak;\ncase 9: var anf_arg780 = $ans798;\n$step797 = 10;\n$al799 = L[392];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans798 = ED6.dict.values.dict[\"highlight\"].app(anf_arg779,anf_arg780,(1));\nbreak;\ncase 10: var anf_arg788 = $ans798;\n$step797 = 11;\n$al799 = L[391];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 11: var anf_arg789 = $ans798;\n$step797 = 12;\n$al799 = L[381];\nif(typeof(anf_fun781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun781);\n}\n$ans798 = anf_fun781.app(anf_arg782,anf_arg783,anf_arg787,anf_arg788,anf_arg789);\nbreak;\ncase 12: var anf_arg794 = $ans798;\n$al799 = L[389];\nvar anf_arg790 = G(self735,\"val\",L[389]);\n$step797 = 13;\n$al799 = L[390];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"embed\"]);\n}\n$ans798 = ED6.dict.values.dict[\"embed\"].app(anf_arg790);\nbreak;\ncase 13: var anf_arg795 = $ans798;\n$step797 = 14;\n$al799 = L[377];\nif(typeof(anf_fun791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun791);\n}\n$ans798 = anf_fun791.app(anf_arg792,anf_arg793,anf_arg794,anf_arg795);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans798;\ndefault: R.ffi.throwSpinnakerError(L[377],$step797);\n}\n}\nif($step797 !== 14) {\n$ans798.stack[R.EXN_STACKHEIGHT++] = R.mAR($al799,$temp_branch796,$step797,[ast$cse762],[anf_arg792,anf_arg782,anf_arg793,anf_arg783,anf_arg794,anf_arg774,anf_arg787,anf_arg788,anf_fun791,anf_arg779,anf_fun781],$elidedFrames801);\n}\nreturn $ans798;\n};\n$ans739 = cases756.$app_fields($temp_branch796,[false]);\nbreak;\ncase 18: if(cases756.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[413],false,L[401],cases756.$loc);\n}\n$step733 = 21;\n$al740 = L[413];\nvar $temp_branch822 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__401($$resumer13) {\nvar $step823 = 0;\nvar $elidedFrames827 = 0;\nvar $ans824 = D;\nvar $al825 = L[403];\nif(R.isAR($$resumer13)) {\n$step823 = $$resumer13.step;\n$al825 = $$resumer13.from;\n$ans824 = $$resumer13.ans;\n$elidedFrames827 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun815 = $$resumer13.vars[0];\nanf_arg820 = $$resumer13.vars[1];\nanf_arg818 = $$resumer13.vars[2];\nanf_arg819 = $$resumer13.vars[3];\nanf_fun812 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans824 = R.mC();\n}\nwhile(!R.isContinuation($ans824)) {\nswitch($step823) {\ncase 0: $ans824 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[402],L[403]);\nvar anf_fun815 = $ans824;\n$al825 = L[404];\nvar anf_arg810 = G(self735,\"loc\",L[404]);\n$step823 = 1;\n$al825 = L[412];\n// omitting isFunction check;\n$ans824 = ed$intro146.$var.app((\"cases expression\"),anf_arg810,(0),(true));\nbreak;\ncase 1: var anf_arg818 = $ans824;\n$al825 = L[405];\nvar anf_arg811 = G(self735,\"loc\",L[405]);\n$step823 = 2;\n$al825 = L[411];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans824 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg811);\nbreak;\ncase 2: var anf_arg819 = $ans824;\n$ans824 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[406],L[407]);\nvar anf_fun812 = $ans824;\n$step823 = 3;\n$al825 = L[410];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"text\"]);\n}\n$ans824 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value of the argument:\"));\nbreak;\ncase 3: var anf_arg813 = $ans824;\n$step823 = 4;\n$al825 = L[407];\nif(typeof(anf_fun812.app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,anf_fun812);\n}\n$ans824 = anf_fun812.app(anf_arg813);\nbreak;\ncase 4: var anf_arg820 = $ans824;\n$al825 = L[408];\nvar anf_arg814 = G(self735,\"val\",L[408]);\n$step823 = 5;\n$al825 = L[409];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"embed\"]);\n}\n$ans824 = ED6.dict.values.dict[\"embed\"].app(anf_arg814);\nbreak;\ncase 5: var anf_arg821 = $ans824;\n$step823 = 6;\n$al825 = L[403];\nif(typeof(anf_fun815.app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,anf_fun815);\n}\n$ans824 = anf_fun815.app(anf_arg818,anf_arg819,anf_arg820,anf_arg821);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans824;\ndefault: R.ffi.throwSpinnakerError(L[403],$step823);\n}\n}\nif($step823 !== 6) {\n$ans824.stack[R.EXN_STACKHEIGHT++] = R.mAR($al825,$temp_branch822,$step823,[],[anf_fun815,anf_arg820,anf_arg818,anf_arg819,anf_fun812],$elidedFrames827);\n}\nreturn $ans824;\n};\n$ans739 = cases756.$app_fields($temp_branch822,[]);\nbreak;\ncase 19: $ans739 = R.throwNoCasesMatched(L[401],cases756);\n$step733 = 21;\nbreak;\ncase 20: $ans739 = R.throwNoBranchesMatched(L[416],(\"if\"));\n$step733 = 21;\nbreak;\ncase 21: ++R.GAS;\nreturn $ans739;\ndefault: R.ffi.throwSpinnakerError(L[362],$step733);\n}\n}\nif($step733 !== 21) {\n$ans739.stack[R.EXN_STACKHEIGHT++] = R.mAR($al740,$temp_full734,$step733,[self735,maybe$stack$loc736,src$available737,maybe$ast738],[cases756,anf_arg751,anf_arg752,anf_fun750,anf_fun745],$elidedFrames742);\n}\nreturn $ans739;\n};\nvar anf_variant_member5719 = R.makeMethod3($temp_full734,\"render-fancy-reason\");\nvar $temp_full843 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__421($self844) {\nvar $step842 = 0;\nvar $elidedFrames848 = 0;\nvar $ans845 = D;\nvar $al846 = L[421];\nif(R.isAR($self844)) {\n$step842 = $self844.step;\n$al846 = $self844.from;\n$ans845 = $self844.ans;\n$elidedFrames848 = $self844.elidedFrames;\nself844 = $self844.args[0];\nanf_fun854 = $self844.vars[0];\nanf_arg855 = $self844.vars[1];\nanf_fun850 = $self844.vars[2];\nanf_arg856 = $self844.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[421],1,$t,true);\n}\nvar self844 = $self844;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans845 = R.mC();\n}\nwhile(!R.isContinuation($ans845)) {\nswitch($step842) {\ncase 0: $ans845 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[422],L[423]);\nvar anf_fun854 = $ans845;\n$al846 = L[424];\nvar anf_arg849 = G(self844,\"loc\",L[424]);\n$step842 = 1;\n$al846 = L[430];\n// omitting isFunction check;\n$ans845 = ed$simple$intro104.$var.app((\"cases expression\"),anf_arg849);\nbreak;\ncase 1: var anf_arg855 = $ans845;\n$ans845 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[425],L[426]);\nvar anf_fun850 = $ans845;\n$step842 = 2;\n$al846 = L[429];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,ED6.dict.values.dict[\"text\"]);\n}\n$ans845 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value:\"));\nbreak;\ncase 2: var anf_arg852 = $ans845;\n$step842 = 3;\n$al846 = L[426];\nif(typeof(anf_fun850.app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,anf_fun850);\n}\n$ans845 = anf_fun850.app(anf_arg852);\nbreak;\ncase 3: var anf_arg856 = $ans845;\n$al846 = L[427];\nvar anf_arg853 = G(self844,\"val\",L[427]);\n$step842 = 4;\n$al846 = L[428];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,ED6.dict.values.dict[\"embed\"]);\n}\n$ans845 = ED6.dict.values.dict[\"embed\"].app(anf_arg853);\nbreak;\ncase 4: var anf_arg857 = $ans845;\n$step842 = 5;\n$al846 = L[423];\nif(typeof(anf_fun854.app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,anf_fun854);\n}\n$ans845 = anf_fun854.app(anf_arg855,anf_arg856,anf_arg857);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans845;\ndefault: R.ffi.throwSpinnakerError(L[421],$step842);\n}\n}\nif($step842 !== 5) {\n$ans845.stack[R.EXN_STACKHEIGHT++] = R.mAR($al846,$temp_full843,$step842,[self844],[anf_fun854,anf_arg855,anf_fun850,anf_arg856],$elidedFrames848);\n}\nreturn $ans845;\n};\nvar anf_variant_member5720 = R.makeMethod0($temp_full843,\"render-reason\");\nvar $temp_full860 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__431($self861,$maybe$stack$loc862,$src$available863,$maybe$ast864) {\nvar $step859 = 0;\nvar $elidedFrames868 = 0;\nvar $ans865 = D;\nvar $al866 = L[431];\nif(R.isAR($self861)) {\n$step859 = $self861.step;\n$al866 = $self861.from;\n$ans865 = $self861.ans;\n$elidedFrames868 = $self861.elidedFrames;\nself861 = $self861.args[0];\nmaybe$stack$loc862 = $self861.args[1];\nsrc$available863 = $self861.args[2];\nmaybe$ast864 = $self861.args[3];\nanf_arg890 = $self861.vars[0];\nanf_arg882 = $self861.vars[1];\nanf_arg879 = $self861.vars[2];\nanf_fun875 = $self861.vars[3];\nanf_fun887 = $self861.vars[4];\nanf_fun877 = $self861.vars[5];\nanf_fun889 = $self861.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[431],4,$t,true);\n}\nvar self861 = $self861;\nvar maybe$stack$loc862 = $maybe$stack$loc862;\nvar src$available863 = $src$available863;\nvar maybe$ast864 = $maybe$ast864;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans865 = R.mC();\n}\nwhile(!R.isContinuation($ans865)) {\nswitch($step859) {\ncase 0: $al866 = L[432];\nvar anf_method_obj869 = G(self861,\"loc\",L[432]);\n$step859 = 1;\n$ans865 = R.maybeMethodCall0(anf_method_obj869,\"is-builtin\",L[433]);\nbreak;\ncase 1: var anf_arg870 = $ans865;\n$step859 = 2;\n$al866 = L[456];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,not5);\n}\n$ans865 = not5.app(anf_arg870);\nbreak;\ncase 2: var anf_if898 = $ans865;\n$step859 = R.checkPyretTrue(anf_if898)?3:5;\nbreak;\ncase 3: $al866 = L[454];\nvar anf_arg894 = G(self861,\"loc\",L[454]);\n$step859 = 4;\n$al866 = L[455];\nif(typeof(src$available863.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,src$available863);\n}\n$ans865 = src$available863.app(anf_arg894);\nbreak;\ncase 4: var anf_arg897 = $ans865;\n$ans865 = R.checkWrapBoolean(anf_arg897);\n$step859 = 6;\nbreak;\ncase 5: $step859 = 6;\n$ans865 = (false);\nbreak;\ncase 6: var anf_if892 = $ans865;\n$step859 = R.checkPyretTrue(anf_if892)?7:13;\nbreak;\ncase 7: $ans865 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[434],L[435]);\nvar anf_fun877 = $ans865;\n$al866 = L[436];\nvar anf_arg871 = G(self861,\"expression\",L[436]);\n$step859 = 8;\n$al866 = L[444];\n// omitting isFunction check;\n$ans865 = _plus5.app(anf_arg871,(\" expression\"));\nbreak;\ncase 8: var anf_arg872 = $ans865;\n$al866 = L[437];\nvar anf_arg873 = G(self861,\"loc\",L[437]);\n$step859 = 9;\n$al866 = L[443];\n// omitting isFunction check;\n$ans865 = ed$intro146.$var.app(anf_arg872,anf_arg873,(0),(true));\nbreak;\ncase 9: var anf_arg879 = $ans865;\n$al866 = L[438];\nvar anf_arg874 = G(self861,\"loc\",L[438]);\n$step859 = 10;\n$al866 = L[442];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans865 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg874);\nbreak;\ncase 10: var anf_arg882 = $ans865;\n$ans865 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[439],L[440]);\nvar anf_fun875 = $ans865;\n$step859 = 11;\n$al866 = L[441];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"text\"]);\n}\n$ans865 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 11: var anf_arg876 = $ans865;\n$step859 = 12;\n$al866 = L[440];\nif(typeof(anf_fun875.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun875);\n}\n$ans865 = anf_fun875.app(anf_arg876);\nbreak;\ncase 12: var anf_arg883 = $ans865;\n$step859 = 18;\n$al866 = L[435];\nif(typeof(anf_fun877.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun877);\n}\n$ans865 = anf_fun877.app(anf_arg879,anf_arg882,anf_arg883);\nbreak;\ncase 13: $ans865 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[445],L[446]);\nvar anf_fun889 = $ans865;\n$al866 = L[447];\nvar anf_arg884 = G(self861,\"expression\",L[447]);\n$step859 = 14;\n$al866 = L[453];\n// omitting isFunction check;\n$ans865 = _plus5.app(anf_arg884,(\" expression\"));\nbreak;\ncase 14: var anf_arg885 = $ans865;\n$al866 = L[448];\nvar anf_arg886 = G(self861,\"loc\",L[448]);\n$step859 = 15;\n$al866 = L[452];\n// omitting isFunction check;\n$ans865 = ed$simple$intro104.$var.app(anf_arg885,anf_arg886);\nbreak;\ncase 15: var anf_arg890 = $ans865;\n$ans865 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[449],L[450]);\nvar anf_fun887 = $ans865;\n$step859 = 16;\n$al866 = L[451];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"text\"]);\n}\n$ans865 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 16: var anf_arg888 = $ans865;\n$step859 = 17;\n$al866 = L[450];\nif(typeof(anf_fun887.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun887);\n}\n$ans865 = anf_fun887.app(anf_arg888);\nbreak;\ncase 17: var anf_arg891 = $ans865;\n$step859 = 18;\n$al866 = L[446];\nif(typeof(anf_fun889.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun889);\n}\n$ans865 = anf_fun889.app(anf_arg890,anf_arg891);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans865;\ndefault: R.ffi.throwSpinnakerError(L[431],$step859);\n}\n}\nif($step859 !== 18) {\n$ans865.stack[R.EXN_STACKHEIGHT++] = R.mAR($al866,$temp_full860,$step859,[self861,maybe$stack$loc862,src$available863,maybe$ast864],[anf_arg890,anf_arg882,anf_arg879,anf_fun875,anf_fun887,anf_fun877,anf_fun889],$elidedFrames868);\n}\nreturn $ans865;\n};\nvar anf_variant_member5729 = R.makeMethod3($temp_full860,\"render-fancy-reason\");\nvar $temp_full901 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__457($self902) {\nvar $step900 = 0;\nvar $elidedFrames906 = 0;\nvar $ans903 = D;\nvar $al904 = L[457];\nif(R.isAR($self902)) {\n$step900 = $self902.step;\n$al904 = $self902.from;\n$ans903 = $self902.ans;\n$elidedFrames906 = $self902.elidedFrames;\nself902 = $self902.args[0];\nanf_fun915 = $self902.vars[0];\nanf_arg916 = $self902.vars[1];\nanf_fun913 = $self902.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],1,$t,true);\n}\nvar self902 = $self902;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans903 = R.mC();\n}\nwhile(!R.isContinuation($ans903)) {\nswitch($step900) {\ncase 0: $ans903 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[458],L[459]);\nvar anf_fun915 = $ans903;\n$al904 = L[460];\nvar anf_arg907 = G(self902,\"expression\",L[460]);\n$step900 = 1;\n$al904 = L[466];\n// omitting isFunction check;\n$ans903 = _plus5.app(anf_arg907,(\" expression\"));\nbreak;\ncase 1: var anf_arg909 = $ans903;\n$al904 = L[461];\nvar anf_arg912 = G(self902,\"loc\",L[461]);\n$step900 = 2;\n$al904 = L[465];\n// omitting isFunction check;\n$ans903 = ed$simple$intro104.$var.app(anf_arg909,anf_arg912);\nbreak;\ncase 2: var anf_arg916 = $ans903;\n$ans903 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[462],L[463]);\nvar anf_fun913 = $ans903;\n$step900 = 3;\n$al904 = L[464];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,ED6.dict.values.dict[\"text\"]);\n}\n$ans903 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 3: var anf_arg914 = $ans903;\n$step900 = 4;\n$al904 = L[463];\nif(typeof(anf_fun913.app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,anf_fun913);\n}\n$ans903 = anf_fun913.app(anf_arg914);\nbreak;\ncase 4: var anf_arg917 = $ans903;\n$step900 = 5;\n$al904 = L[459];\nif(typeof(anf_fun915.app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,anf_fun915);\n}\n$ans903 = anf_fun915.app(anf_arg916,anf_arg917);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans903;\ndefault: R.ffi.throwSpinnakerError(L[457],$step900);\n}\n}\nif($step900 !== 5) {\n$ans903.stack[R.EXN_STACKHEIGHT++] = R.mAR($al904,$temp_full901,$step900,[self902],[anf_fun915,anf_arg916,anf_fun913],$elidedFrames906);\n}\nreturn $ans903;\n};\nvar anf_variant_member5730 = R.makeMethod0($temp_full901,\"render-reason\");\nvar $temp_full920 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__467($self921,$maybe$stack$loc922,$src$available923,$maybe$ast924) {\nvar $step919 = 0;\nvar $elidedFrames928 = 0;\nvar $ans925 = D;\nvar $al926 = L[467];\nif(R.isAR($self921)) {\n$step919 = $self921.step;\n$al926 = $self921.from;\n$ans925 = $self921.ans;\n$elidedFrames928 = $self921.elidedFrames;\nself921 = $self921.args[0];\nmaybe$stack$loc922 = $self921.args[1];\nsrc$available923 = $self921.args[2];\nmaybe$ast924 = $self921.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[467],4,$t,true);\n}\nvar self921 = $self921;\nvar maybe$stack$loc922 = $maybe$stack$loc922;\nvar src$available923 = $src$available923;\nvar maybe$ast924 = $maybe$ast924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans925 = R.mC();\n}\nwhile(!R.isContinuation($ans925)) {\nswitch($step919) {\ncase 0: $step919 = 1;\n$ans925 = R.maybeMethodCall0(self921,\"render-reason\",L[468]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans925;\ndefault: R.ffi.throwSpinnakerError(L[467],$step919);\n}\n}\nif($step919 !== 1) {\n$ans925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al926,$temp_full920,$step919,[self921,maybe$stack$loc922,src$available923,maybe$ast924],[],$elidedFrames928);\n}\nreturn $ans925;\n};\nvar anf_variant_member5739 = R.makeMethod3($temp_full920,\"render-fancy-reason\");\nvar $temp_full931 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__469($self932) {\nvar $step930 = 0;\nvar $elidedFrames936 = 0;\nvar $ans933 = D;\nvar $al934 = L[469];\nif(R.isAR($self932)) {\n$step930 = $self932.step;\n$al934 = $self932.from;\n$ans933 = $self932.ans;\n$elidedFrames936 = $self932.elidedFrames;\nself932 = $self932.args[0];\nanf_fun938 = $self932.vars[0];\nanf_arg947 = $self932.vars[1];\nanf_arg948 = $self932.vars[2];\nanf_arg939 = $self932.vars[3];\nanf_fun943 = $self932.vars[4];\nanf_fun946 = $self932.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[469],1,$t,true);\n}\nvar self932 = $self932;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans933 = R.mC();\n}\nwhile(!R.isContinuation($ans933)) {\nswitch($step930) {\ncase 0: $ans933 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[470],L[471]);\nvar anf_fun946 = $ans933;\n$ans933 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[472],L[473]);\nvar anf_fun938 = $ans933;\n$step930 = 1;\n$al934 = L[481];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app((\"Internal error:\"));\nbreak;\ncase 1: var anf_arg939 = $ans933;\n$al934 = L[474];\nvar anf_arg937 = G(self932,\"message\",L[474]);\n$step930 = 2;\n$al934 = L[480];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app(anf_arg937);\nbreak;\ncase 2: var anf_arg942 = $ans933;\n$step930 = 3;\n$al934 = L[473];\nif(typeof(anf_fun938.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun938);\n}\n$ans933 = anf_fun938.app(anf_arg939,anf_arg942);\nbreak;\ncase 3: var anf_arg947 = $ans933;\n$ans933 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[475],L[476]);\nvar anf_fun943 = $ans933;\n$step930 = 4;\n$al934 = L[479];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app((\"Relevant arguments:\"));\nbreak;\ncase 4: var anf_arg944 = $ans933;\n$step930 = 5;\n$al934 = L[476];\nif(typeof(anf_fun943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun943);\n}\n$ans933 = anf_fun943.app(anf_arg944);\nbreak;\ncase 5: var anf_arg948 = $ans933;\n$al934 = L[477];\nvar anf_arg945 = G(self932,\"info-args\",L[477]);\n$step930 = 6;\n$al934 = L[478];\n// omitting isFunction check;\n$ans933 = vert$list$values58.$var.app(anf_arg945);\nbreak;\ncase 6: var anf_arg949 = $ans933;\n$step930 = 7;\n$al934 = L[471];\nif(typeof(anf_fun946.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun946);\n}\n$ans933 = anf_fun946.app(anf_arg947,anf_arg948,anf_arg949);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans933;\ndefault: R.ffi.throwSpinnakerError(L[469],$step930);\n}\n}\nif($step930 !== 7) {\n$ans933.stack[R.EXN_STACKHEIGHT++] = R.mAR($al934,$temp_full931,$step930,[self932],[anf_fun938,anf_arg947,anf_arg948,anf_arg939,anf_fun943,anf_fun946],$elidedFrames936);\n}\nreturn $ans933;\n};\nvar anf_variant_member5740 = R.makeMethod0($temp_full931,\"render-reason\");\nvar $temp_full952 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__482($self953,$maybe$stack$loc954,$src$available955,$maybe$ast956) {\nvar $step951 = 0;\nvar $elidedFrames960 = 0;\nvar $ans957 = D;\nvar $al958 = L[482];\nif(R.isAR($self953)) {\n$step951 = $self953.step;\n$al958 = $self953.from;\n$ans957 = $self953.ans;\n$elidedFrames960 = $self953.elidedFrames;\nself953 = $self953.args[0];\nmaybe$stack$loc954 = $self953.args[1];\nsrc$available955 = $self953.args[2];\nmaybe$ast956 = $self953.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[482],4,$t,true);\n}\nvar self953 = $self953;\nvar maybe$stack$loc954 = $maybe$stack$loc954;\nvar src$available955 = $src$available955;\nvar maybe$ast956 = $maybe$ast956;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans957 = R.mC();\n}\nwhile(!R.isContinuation($ans957)) {\nswitch($step951) {\ncase 0: $step951 = 1;\n$ans957 = R.maybeMethodCall0(self953,\"render-reason\",L[483]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans957;\ndefault: R.ffi.throwSpinnakerError(L[482],$step951);\n}\n}\nif($step951 !== 1) {\n$ans957.stack[R.EXN_STACKHEIGHT++] = R.mAR($al958,$temp_full952,$step951,[self953,maybe$stack$loc954,src$available955,maybe$ast956],[],$elidedFrames960);\n}\nreturn $ans957;\n};\nvar anf_variant_member5749 = R.makeMethod3($temp_full952,\"render-fancy-reason\");\nvar $temp_full963 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__484($self964) {\nvar $step962 = 0;\nvar $elidedFrames968 = 0;\nvar $ans965 = D;\nvar $al966 = L[484];\nif(R.isAR($self964)) {\n$step962 = $self964.step;\n$al966 = $self964.from;\n$ans965 = $self964.ans;\n$elidedFrames968 = $self964.elidedFrames;\nself964 = $self964.args[0];\nanf_arg980 = $self964.vars[0];\nanf_arg981 = $self964.vars[1];\nanf_fun976 = $self964.vars[2];\nanf_fun979 = $self964.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[484],1,$t,true);\n}\nvar self964 = $self964;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans965 = R.mC();\n}\nwhile(!R.isContinuation($ans965)) {\nswitch($step962) {\ncase 0: $ans965 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[485],L[486]);\nvar anf_fun979 = $ans965;\n$ans965 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[487],L[488]);\nvar anf_fun976 = $ans965;\n$al966 = L[489];\nvar anf_arg972 = G(self964,\"step-num\",L[489]);\n$step962 = 1;\n$al966 = L[496];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,tostring1);\n}\n$ans965 = tostring1.app(anf_arg972);\nbreak;\ncase 1: var anf_arg973 = $ans965;\n$step962 = 2;\n$al966 = L[495];\n// omitting isFunction check;\n$ans965 = _plus5.app((\"Internal compiler error: No case numbered \"),anf_arg973);\nbreak;\ncase 2: var anf_arg974 = $ans965;\n$step962 = 3;\n$al966 = L[494];\n// omitting isFunction check;\n$ans965 = _plus5.app(anf_arg974,(\" in\"));\nbreak;\ncase 3: var anf_arg975 = $ans965;\n$step962 = 4;\n$al966 = L[493];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,ED6.dict.values.dict[\"text\"]);\n}\n$ans965 = ED6.dict.values.dict[\"text\"].app(anf_arg975);\nbreak;\ncase 4: var anf_arg977 = $ans965;\n$step962 = 5;\n$al966 = L[488];\nif(typeof(anf_fun976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,anf_fun976);\n}\n$ans965 = anf_fun976.app(anf_arg977);\nbreak;\ncase 5: var anf_arg980 = $ans965;\n$al966 = L[490];\nvar anf_arg978 = G(self964,\"fun-loc\",L[490]);\n$step962 = 6;\n$al966 = L[492];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,ED6.dict.values.dict[\"loc\"]);\n}\n$ans965 = ED6.dict.values.dict[\"loc\"].app(anf_arg978);\nbreak;\ncase 6: var anf_arg981 = $ans965;\n$step962 = 7;\n$al966 = L[491];\n// omitting isFunction check;\n$ans965 = please$report$bug158.$var.app();\nbreak;\ncase 7: var anf_arg982 = $ans965;\n$step962 = 8;\n$al966 = L[486];\nif(typeof(anf_fun979.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,anf_fun979);\n}\n$ans965 = anf_fun979.app(anf_arg980,anf_arg981,anf_arg982);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans965;\ndefault: R.ffi.throwSpinnakerError(L[484],$step962);\n}\n}\nif($step962 !== 8) {\n$ans965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al966,$temp_full963,$step962,[self964],[anf_arg980,anf_arg981,anf_fun976,anf_fun979],$elidedFrames968);\n}\nreturn $ans965;\n};\nvar anf_variant_member5750 = R.makeMethod0($temp_full963,\"render-reason\");\nvar $temp_full985 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__497($self986,$maybe$stack$loc987,$src$available988,$maybe$ast989) {\nvar $step984 = 0;\nvar $elidedFrames993 = 0;\nvar $ans990 = D;\nvar $al991 = L[497];\nif(R.isAR($self986)) {\n$step984 = $self986.step;\n$al991 = $self986.from;\n$ans990 = $self986.ans;\n$elidedFrames993 = $self986.elidedFrames;\nself986 = $self986.args[0];\nmaybe$stack$loc987 = $self986.args[1];\nsrc$available988 = $self986.args[2];\nmaybe$ast989 = $self986.args[3];\nanf_fun1005 = $self986.vars[0];\nanf_arg1006 = $self986.vars[1];\nanf_arg1007 = $self986.vars[2];\nanf_arg999 = $self986.vars[3];\nanf_fun996 = $self986.vars[4];\nanf_fun998 = $self986.vars[5];\nanf_fun1003 = $self986.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[497],4,$t,true);\n}\nvar self986 = $self986;\nvar maybe$stack$loc987 = $maybe$stack$loc987;\nvar src$available988 = $src$available988;\nvar maybe$ast989 = $maybe$ast989;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans990 = R.mC();\n}\nwhile(!R.isContinuation($ans990)) {\nswitch($step984) {\ncase 0: $al991 = L[498];\nvar anf_method_obj994 = G(self986,\"loc\",L[498]);\n$step984 = 1;\n$ans990 = R.maybeMethodCall0(anf_method_obj994,\"is-builtin\",L[499]);\nbreak;\ncase 1: var anf_if1013 = $ans990;\n$step984 = R.checkPyretTrue(anf_if1013)?2:3;\nbreak;\ncase 2: $step984 = 6;\n$ans990 = (true);\nbreak;\ncase 3: $al991 = L[516];\nvar anf_arg1010 = G(self986,\"loc\",L[516]);\n$step984 = 4;\n$al991 = L[518];\nif(typeof(src$available988.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,src$available988);\n}\n$ans990 = src$available988.app(anf_arg1010);\nbreak;\ncase 4: var anf_arg1011 = $ans990;\n$step984 = 5;\n$al991 = L[517];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,not5);\n}\n$ans990 = not5.app(anf_arg1011);\nbreak;\ncase 5: var anf_arg1012 = $ans990;\n$ans990 = R.checkWrapBoolean(anf_arg1012);\n$step984 = 6;\nbreak;\ncase 6: var anf_if1009 = $ans990;\n$step984 = R.checkPyretTrue(anf_if1009)?7:11;\nbreak;\ncase 7: $ans990 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[500],L[501]);\nvar anf_fun998 = $ans990;\n$al991 = L[502];\nvar anf_arg995 = G(self986,\"loc\",L[502]);\n$step984 = 8;\n$al991 = L[506];\n// omitting isFunction check;\n$ans990 = ed$simple$intro104.$var.app((\"unfinished template expression\"),anf_arg995);\nbreak;\ncase 8: var anf_arg999 = $ans990;\n$ans990 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[503],L[504]);\nvar anf_fun996 = $ans990;\n$step984 = 9;\n$al991 = L[505];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"text\"]);\n}\n$ans990 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 9: var anf_arg997 = $ans990;\n$step984 = 10;\n$al991 = L[504];\nif(typeof(anf_fun996.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun996);\n}\n$ans990 = anf_fun996.app(anf_arg997);\nbreak;\ncase 10: var anf_arg1000 = $ans990;\n$step984 = 16;\n$al991 = L[501];\nif(typeof(anf_fun998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun998);\n}\n$ans990 = anf_fun998.app(anf_arg999,anf_arg1000);\nbreak;\ncase 11: $ans990 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[507],L[508]);\nvar anf_fun1005 = $ans990;\n$al991 = L[509];\nvar anf_arg1001 = G(self986,\"loc\",L[509]);\n$step984 = 12;\n$al991 = L[515];\n// omitting isFunction check;\n$ans990 = ed$intro146.$var.app((\"unfinished template expression\"),anf_arg1001,(1),(true));\nbreak;\ncase 12: var anf_arg1006 = $ans990;\n$al991 = L[510];\nvar anf_arg1002 = G(self986,\"loc\",L[510]);\n$step984 = 13;\n$al991 = L[514];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans990 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1002);\nbreak;\ncase 13: var anf_arg1007 = $ans990;\n$ans990 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[511],L[512]);\nvar anf_fun1003 = $ans990;\n$step984 = 14;\n$al991 = L[513];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"text\"]);\n}\n$ans990 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 14: var anf_arg1004 = $ans990;\n$step984 = 15;\n$al991 = L[512];\nif(typeof(anf_fun1003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun1003);\n}\n$ans990 = anf_fun1003.app(anf_arg1004);\nbreak;\ncase 15: var anf_arg1008 = $ans990;\n$step984 = 16;\n$al991 = L[508];\nif(typeof(anf_fun1005.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun1005);\n}\n$ans990 = anf_fun1005.app(anf_arg1006,anf_arg1007,anf_arg1008);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans990;\ndefault: R.ffi.throwSpinnakerError(L[497],$step984);\n}\n}\nif($step984 !== 16) {\n$ans990.stack[R.EXN_STACKHEIGHT++] = R.mAR($al991,$temp_full985,$step984,[self986,maybe$stack$loc987,src$available988,maybe$ast989],[anf_fun1005,anf_arg1006,anf_arg1007,anf_arg999,anf_fun996,anf_fun998,anf_fun1003],$elidedFrames993);\n}\nreturn $ans990;\n};\nvar anf_variant_member5759 = R.makeMethod3($temp_full985,\"render-fancy-reason\");\nvar $temp_full1016 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__519($self1017) {\nvar $step1015 = 0;\nvar $elidedFrames1021 = 0;\nvar $ans1018 = D;\nvar $al1019 = L[519];\nif(R.isAR($self1017)) {\n$step1015 = $self1017.step;\n$al1019 = $self1017.from;\n$ans1018 = $self1017.ans;\n$elidedFrames1021 = $self1017.elidedFrames;\nself1017 = $self1017.args[0];\nanf_fun1025 = $self1017.vars[0];\nanf_arg1026 = $self1017.vars[1];\nanf_fun1023 = $self1017.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[519],1,$t,true);\n}\nvar self1017 = $self1017;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1018 = R.mC();\n}\nwhile(!R.isContinuation($ans1018)) {\nswitch($step1015) {\ncase 0: $ans1018 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[520],L[521]);\nvar anf_fun1025 = $ans1018;\n$al1019 = L[522];\nvar anf_arg1022 = G(self1017,\"loc\",L[522]);\n$step1015 = 1;\n$al1019 = L[526];\n// omitting isFunction check;\n$ans1018 = ed$simple$intro104.$var.app((\"unfinished template expression\"),anf_arg1022);\nbreak;\ncase 1: var anf_arg1026 = $ans1018;\n$ans1018 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[523],L[524]);\nvar anf_fun1023 = $ans1018;\n$step1015 = 2;\n$al1019 = L[525];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,ED6.dict.values.dict[\"text\"]);\n}\n$ans1018 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 2: var anf_arg1024 = $ans1018;\n$step1015 = 3;\n$al1019 = L[524];\nif(typeof(anf_fun1023.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,anf_fun1023);\n}\n$ans1018 = anf_fun1023.app(anf_arg1024);\nbreak;\ncase 3: var anf_arg1027 = $ans1018;\n$step1015 = 4;\n$al1019 = L[521];\nif(typeof(anf_fun1025.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,anf_fun1025);\n}\n$ans1018 = anf_fun1025.app(anf_arg1026,anf_arg1027);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1018;\ndefault: R.ffi.throwSpinnakerError(L[519],$step1015);\n}\n}\nif($step1015 !== 4) {\n$ans1018.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1019,$temp_full1016,$step1015,[self1017],[anf_fun1025,anf_arg1026,anf_fun1023],$elidedFrames1021);\n}\nreturn $ans1018;\n};\nvar anf_variant_member5760 = R.makeMethod0($temp_full1016,\"render-reason\");\nvar $temp_full1030 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__527($self1031,$maybe$stack$loc1032,$src$available1033,$maybe$ast1034) {\nvar $step1029 = 0;\nvar $elidedFrames1038 = 0;\nvar $ans1035 = D;\nvar $al1036 = L[527];\nif(R.isAR($self1031)) {\n$step1029 = $self1031.step;\n$al1036 = $self1031.from;\n$ans1035 = $self1031.ans;\n$elidedFrames1038 = $self1031.elidedFrames;\nself1031 = $self1031.args[0];\nmaybe$stack$loc1032 = $self1031.args[1];\nsrc$available1033 = $self1031.args[2];\nmaybe$ast1034 = $self1031.args[3];\nanf_arg1140 = $self1031.vars[0];\nanf_fun1138 = $self1031.vars[1];\nanf_arg1044 = $self1031.vars[2];\nanf_arg1134 = $self1031.vars[3];\nanf_arg1135 = $self1031.vars[4];\nanf_arg1047 = $self1031.vars[5];\nanf_arg1048 = $self1031.vars[6];\nanf_arg1139 = $self1031.vars[7];\ncases1052 = $self1031.vars[8];\nanf_fun1043 = $self1031.vars[9];\nanf_fun1133 = $self1031.vars[10];\nanf_fun1046 = $self1031.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[527],4,$t,true);\n}\nvar self1031 = $self1031;\nvar maybe$stack$loc1032 = $maybe$stack$loc1032;\nvar src$available1033 = $src$available1033;\nvar maybe$ast1034 = $maybe$ast1034;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1035 = R.mC();\n}\nwhile(!R.isContinuation($ans1035)) {\nswitch($step1029) {\ncase 0: $al1036 = L[528];\nvar anf_method_obj1039 = G(self1031,\"loc\",L[528]);\n$step1029 = 1;\n$ans1035 = R.maybeMethodCall0(anf_method_obj1039,\"is-builtin\",L[529]);\nbreak;\ncase 1: var anf_if1147 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1147)?2:3;\nbreak;\ncase 2: $step1029 = 6;\n$ans1035 = (true);\nbreak;\ncase 3: $al1036 = L[609];\nvar anf_arg1144 = G(self1031,\"loc\",L[609]);\n$step1029 = 4;\n$al1036 = L[611];\nif(typeof(src$available1033.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,src$available1033);\n}\n$ans1035 = src$available1033.app(anf_arg1144);\nbreak;\ncase 4: var anf_arg1145 = $ans1035;\n$step1029 = 5;\n$al1036 = L[610];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,not5);\n}\n$ans1035 = not5.app(anf_arg1145);\nbreak;\ncase 5: var anf_arg1146 = $ans1035;\n$ans1035 = R.checkWrapBoolean(anf_arg1146);\n$step1029 = 6;\nbreak;\ncase 6: var anf_if1143 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1143)?7:14;\nbreak;\ncase 7: $ans1035 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[530],L[531]);\nvar anf_fun1046 = $ans1035;\n$al1036 = L[532];\nvar anf_arg1040 = G(self1031,\"loc\",L[532]);\n$step1029 = 8;\n$al1036 = L[540];\n// omitting isFunction check;\n$ans1035 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1040);\nbreak;\ncase 8: var anf_arg1047 = $ans1035;\n$ans1035 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[533],L[534]);\nvar anf_fun1043 = $ans1035;\n$step1029 = 9;\n$al1036 = L[539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\"does not have a field named \"));\nbreak;\ncase 9: var anf_arg1044 = $ans1035;\n$al1036 = L[535];\nvar anf_arg1041 = G(self1031,\"field\",L[535]);\n$step1029 = 10;\n$al1036 = L[538];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app(anf_arg1041);\nbreak;\ncase 10: var anf_arg1042 = $ans1035;\n$step1029 = 11;\n$al1036 = L[537];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"code\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"code\"].app(anf_arg1042);\nbreak;\ncase 11: var anf_arg1045 = $ans1035;\n$step1029 = 12;\n$al1036 = L[534];\nif(typeof(anf_fun1043.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1043);\n}\n$ans1035 = anf_fun1043.app(anf_arg1044,anf_arg1045);\nbreak;\ncase 12: var anf_arg1048 = $ans1035;\n$step1029 = 13;\n$al1036 = L[536];\n// omitting isFunction check;\n$ans1035 = please$report$bug158.$var.app();\nbreak;\ncase 13: var anf_arg1049 = $ans1035;\n$step1029 = 30;\n$al1036 = L[531];\nif(typeof(anf_fun1046.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1046);\n}\n$ans1035 = anf_fun1046.app(anf_arg1047,anf_arg1048,anf_arg1049);\nbreak;\ncase 14: $al1036 = L[541];\nvar anf_arg1050 = G(self1031,\"loc\",L[541]);\n$step1029 = 15;\n$al1036 = L[608];\nif(typeof(src$available1033.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,src$available1033);\n}\n$ans1035 = src$available1033.app(anf_arg1050);\nbreak;\ncase 15: var anf_if1142 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1142)?16:22;\nbreak;\ncase 16: $al1036 = L[542];\nvar anf_arg1051 = G(self1031,\"loc\",L[542]);\n$step1029 = 17;\n$al1036 = L[594];\nif(typeof(maybe$ast1034.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,maybe$ast1034);\n}\n$ans1035 = maybe$ast1034.app(anf_arg1051);\nbreak;\ncase 17: var cases1052 = $ans1035;\n$step1029 = 18;\n$al1036 = L[593];\nvar $ann$check1129 = R._cA(L[593],R.gDA(L[593],\"O\",O8.dict.types,\"Option\"),cases1052);\nif(R.isContinuation($ann$check1129)) {\n$ans1035 = $ann$check1129;\n}\nbreak;\ncase 18: $al1036 = L[576];\n$step1029 = $cases_dispatch1128[cases1052.$name] || 21;\nbreak;\ncase 19: if(cases1052.$arity !== 1) {\nif(cases1052.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[575],1,cases1052.$arity,L[576],cases1052.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[575],true,L[576],cases1052.$loc);\n}\n}\n$step1029 = 30;\n$al1036 = L[575];\nvar $temp_branch1095 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__576($ast1053) {\nvar $step1096 = 0;\nvar $elidedFrames1100 = 0;\nvar $ans1097 = D;\nvar $al1098 = L[573];\nif(R.isAR($ast1053)) {\n$step1096 = $ast1053.step;\n$al1098 = $ast1053.from;\n$ans1097 = $ast1053.ans;\n$elidedFrames1100 = $ast1053.elidedFrames;\nast1053 = $ast1053.args[0];\nanf_arg1073 = $ast1053.vars[0];\nanf_arg1074 = $ast1053.vars[1];\nanf_arg1075 = $ast1053.vars[2];\nanf_arg1076 = $ast1053.vars[3];\nanf_arg1066 = $ast1053.vars[4];\ncases1054 = $ast1053.vars[5];\nast1057 = $ast1053.vars[6];\nanf_fun1072 = $ast1053.vars[7];\nanf_fun1065 = $ast1053.vars[8];\nanf_arg1080 = $ast1053.vars[9];\nanf_arg1070 = $ast1053.vars[10];\nanf_arg1081 = $ast1053.vars[11];\nanf_fun1068 = $ast1053.vars[12];\nanf_fun1079 = $ast1053.vars[13];\nanf_arg1082 = $ast1053.vars[14];\nanf_arg1061 = $ast1053.vars[15];\n} else {\nvar ast1053 = $ast1053;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1097 = R.mC();\n}\nwhile(!R.isContinuation($ans1097)) {\nswitch($step1096) {\ncase 0: var cases1054 = ast1053;\n$al1098 = L[573];\n$step1096 = $cases_dispatch1105[cases1054.$name] || 3;\nbreak;\ncase 1: if(cases1054.$arity !== 3) {\nif(cases1054.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[572],3,cases1054.$arity,L[573],cases1054.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[572],true,L[573],cases1054.$loc);\n}\n}\nvar $fn1102 = cases1054.$constructor.$fieldNames;\nR.dF(cases1054.dict[$fn1102[0]],cases1054.$mut_fields_mask[0],false);\nR.dF(cases1054.dict[$fn1102[1]],cases1054.$mut_fields_mask[1],false);\nR.dF(cases1054.dict[$fn1102[2]],cases1054.$mut_fields_mask[2],false);\n$step1096 = 4;\n$ans1097 = ast1053;\nbreak;\ncase 2: if(cases1054.$arity !== 3) {\nif(cases1054.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[574],3,cases1054.$arity,L[573],cases1054.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[574],true,L[573],cases1054.$loc);\n}\n}\nvar $fn1104 = cases1054.$constructor.$fieldNames;\nR.dF(cases1054.dict[$fn1104[0]],cases1054.$mut_fields_mask[0],false);\nvar f1089 = R.dF(cases1054.dict[$fn1104[1]],cases1054.$mut_fields_mask[1],false);\nR.dF(cases1054.dict[$fn1104[2]],cases1054.$mut_fields_mask[2],false);\n$step1096 = 4;\n$ans1097 = f1089;\nbreak;\ncase 3: $ans1097 = R.throwNoCasesMatched(L[573],cases1054);\n$step1096 = 4;\nbreak;\ncase 4: var ast1057 = $ans1097;\n$ans1097 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[543],L[544]);\nvar anf_fun1079 = $ans1097;\n$al1098 = L[545];\nvar anf_arg1055 = G(self1031,\"loc\",L[545]);\n$step1096 = 5;\n$al1098 = L[571];\n// omitting isFunction check;\n$ans1097 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1055,(-1),(true));\nbreak;\ncase 5: var anf_arg1080 = $ans1097;\n$al1098 = L[546];\nvar anf_arg1056 = G(self1031,\"loc\",L[546]);\n$step1096 = 6;\n$al1098 = L[570];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1056);\nbreak;\ncase 6: var anf_arg1081 = $ans1097;\n$ans1097 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[547],L[548]);\nvar anf_fun1072 = $ans1097;\n$step1096 = 7;\n$al1098 = L[569];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1073 = $ans1097;\n$step1096 = 8;\n$al1098 = L[568];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1061 = $ans1097;\n$ans1097 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[549],L[550]);\nvar anf_fun1059 = $ans1097;\n$al1098 = L[551];\nvar anf_bracket1058 = G(ast1057,\"obj\",L[551]);\n$al1098 = L[552];\nvar anf_arg1060 = G(anf_bracket1058,\"l\",L[552]);\n$step1096 = 9;\n$al1098 = L[550];\nif(typeof(anf_fun1059.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1059);\n}\n$ans1097 = anf_fun1059.app(anf_arg1060);\nbreak;\ncase 9: var anf_arg1062 = $ans1097;\n$step1096 = 10;\n$al1098 = L[567];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1061,anf_arg1062,(0));\nbreak;\ncase 10: var anf_arg1074 = $ans1097;\n$step1096 = 11;\n$al1098 = L[566];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\" was an object that did not have a \"));\nbreak;\ncase 11: var anf_arg1075 = $ans1097;\n$ans1097 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[553],L[554]);\nvar anf_fun1065 = $ans1097;\n$step1096 = 12;\n$al1098 = L[565];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"field named \"));\nbreak;\ncase 12: var anf_arg1066 = $ans1097;\n$al1098 = L[555];\nvar anf_arg1063 = G(self1031,\"field\",L[555]);\n$step1096 = 13;\n$al1098 = L[564];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app(anf_arg1063);\nbreak;\ncase 13: var anf_arg1064 = $ans1097;\n$step1096 = 14;\n$al1098 = L[563];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"code\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"code\"].app(anf_arg1064);\nbreak;\ncase 14: var anf_arg1067 = $ans1097;\n$step1096 = 15;\n$al1098 = L[554];\nif(typeof(anf_fun1065.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1065);\n}\n$ans1097 = anf_fun1065.app(anf_arg1066,anf_arg1067);\nbreak;\ncase 15: var anf_arg1070 = $ans1097;\n$ans1097 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[556],L[557]);\nvar anf_fun1068 = $ans1097;\n$step1096 = 16;\n$ans1097 = R.maybeMethodCall0(ast1057,\"field-loc\",L[558]);\nbreak;\ncase 16: var anf_arg1069 = $ans1097;\n$step1096 = 17;\n$al1098 = L[557];\nif(typeof(anf_fun1068.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1068);\n}\n$ans1097 = anf_fun1068.app(anf_arg1069);\nbreak;\ncase 17: var anf_arg1071 = $ans1097;\n$step1096 = 18;\n$al1098 = L[562];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1070,anf_arg1071,(1));\nbreak;\ncase 18: var anf_arg1076 = $ans1097;\n$step1096 = 19;\n$al1098 = L[561];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 19: var anf_arg1077 = $ans1097;\n$step1096 = 20;\n$al1098 = L[548];\nif(typeof(anf_fun1072.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1072);\n}\n$ans1097 = anf_fun1072.app(anf_arg1073,anf_arg1074,anf_arg1075,anf_arg1076,anf_arg1077);\nbreak;\ncase 20: var anf_arg1082 = $ans1097;\n$al1098 = L[559];\nvar anf_arg1078 = G(self1031,\"obj\",L[559]);\n$step1096 = 21;\n$al1098 = L[560];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"embed\"].app(anf_arg1078);\nbreak;\ncase 21: var anf_arg1083 = $ans1097;\n$step1096 = 22;\n$al1098 = L[544];\nif(typeof(anf_fun1079.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1079);\n}\n$ans1097 = anf_fun1079.app(anf_arg1080,anf_arg1081,anf_arg1082,anf_arg1083);\nbreak;\ncase 22: ++R.GAS;\nreturn $ans1097;\ndefault: R.ffi.throwSpinnakerError(L[573],$step1096);\n}\n}\nif($step1096 !== 22) {\n$ans1097.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1098,$temp_branch1095,$step1096,[ast1053],[anf_arg1073,anf_arg1074,anf_arg1075,anf_arg1076,anf_arg1066,cases1054,ast1057,anf_fun1072,anf_fun1065,anf_arg1080,anf_arg1070,anf_arg1081,anf_fun1068,anf_fun1079,anf_arg1082,anf_arg1061],$elidedFrames1100);\n}\nreturn $ans1097;\n};\n$ans1035 = cases1052.$app_fields($temp_branch1095,[false]);\nbreak;\ncase 20: if(cases1052.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[592],false,L[576],cases1052.$loc);\n}\n$step1029 = 30;\n$al1036 = L[592];\nvar $temp_branch1121 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__576($$resumer13) {\nvar $step1122 = 0;\nvar $elidedFrames1126 = 0;\nvar $ans1123 = D;\nvar $al1124 = L[578];\nif(R.isAR($$resumer13)) {\n$step1122 = $$resumer13.step;\n$al1124 = $$resumer13.from;\n$ans1123 = $$resumer13.ans;\n$elidedFrames1126 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1116 = $$resumer13.vars[0];\nanf_arg1112 = $$resumer13.vars[1];\nanf_arg1113 = $$resumer13.vars[2];\nanf_arg1117 = $$resumer13.vars[3];\nanf_arg1118 = $$resumer13.vars[4];\nanf_arg1119 = $$resumer13.vars[5];\nanf_fun1111 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1123 = R.mC();\n}\nwhile(!R.isContinuation($ans1123)) {\nswitch($step1122) {\ncase 0: $ans1123 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[577],L[578]);\nvar anf_fun1116 = $ans1123;\n$al1124 = L[579];\nvar anf_arg1107 = G(self1031,\"loc\",L[579]);\n$step1122 = 1;\n$al1124 = L[591];\n// omitting isFunction check;\n$ans1123 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1107,(-1),(true));\nbreak;\ncase 1: var anf_arg1117 = $ans1123;\n$al1124 = L[580];\nvar anf_arg1108 = G(self1031,\"loc\",L[580]);\n$step1122 = 2;\n$al1124 = L[590];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1108);\nbreak;\ncase 2: var anf_arg1118 = $ans1123;\n$ans1123 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[581],L[582]);\nvar anf_fun1111 = $ans1123;\n$step1122 = 3;\n$al1124 = L[589];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 3: var anf_arg1112 = $ans1123;\n$al1124 = L[583];\nvar anf_arg1109 = G(self1031,\"field\",L[583]);\n$step1122 = 4;\n$al1124 = L[588];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app(anf_arg1109);\nbreak;\ncase 4: var anf_arg1110 = $ans1123;\n$step1122 = 5;\n$al1124 = L[587];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"code\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"code\"].app(anf_arg1110);\nbreak;\ncase 5: var anf_arg1113 = $ans1123;\n$step1122 = 6;\n$al1124 = L[586];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 6: var anf_arg1114 = $ans1123;\n$step1122 = 7;\n$al1124 = L[582];\nif(typeof(anf_fun1111.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,anf_fun1111);\n}\n$ans1123 = anf_fun1111.app(anf_arg1112,anf_arg1113,anf_arg1114);\nbreak;\ncase 7: var anf_arg1119 = $ans1123;\n$al1124 = L[584];\nvar anf_arg1115 = G(self1031,\"obj\",L[584]);\n$step1122 = 8;\n$al1124 = L[585];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"embed\"].app(anf_arg1115);\nbreak;\ncase 8: var anf_arg1120 = $ans1123;\n$step1122 = 9;\n$al1124 = L[578];\nif(typeof(anf_fun1116.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,anf_fun1116);\n}\n$ans1123 = anf_fun1116.app(anf_arg1117,anf_arg1118,anf_arg1119,anf_arg1120);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1123;\ndefault: R.ffi.throwSpinnakerError(L[578],$step1122);\n}\n}\nif($step1122 !== 9) {\n$ans1123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1124,$temp_branch1121,$step1122,[],[anf_fun1116,anf_arg1112,anf_arg1113,anf_arg1117,anf_arg1118,anf_arg1119,anf_fun1111],$elidedFrames1126);\n}\nreturn $ans1123;\n};\n$ans1035 = cases1052.$app_fields($temp_branch1121,[]);\nbreak;\ncase 21: $ans1035 = R.throwNoCasesMatched(L[576],cases1052);\n$step1029 = 30;\nbreak;\ncase 22: $ans1035 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[595],L[596]);\nvar anf_fun1138 = $ans1035;\n$al1036 = L[597];\nvar anf_arg1130 = G(self1031,\"loc\",L[597]);\n$step1029 = 23;\n$al1036 = L[607];\n// omitting isFunction check;\n$ans1035 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1130);\nbreak;\ncase 23: var anf_arg1139 = $ans1035;\n$ans1035 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[598],L[599]);\nvar anf_fun1133 = $ans1035;\n$step1029 = 24;\n$al1036 = L[606];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 24: var anf_arg1134 = $ans1035;\n$al1036 = L[600];\nvar anf_arg1131 = G(self1031,\"field\",L[600]);\n$step1029 = 25;\n$al1036 = L[605];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app(anf_arg1131);\nbreak;\ncase 25: var anf_arg1132 = $ans1035;\n$step1029 = 26;\n$al1036 = L[604];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"code\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"code\"].app(anf_arg1132);\nbreak;\ncase 26: var anf_arg1135 = $ans1035;\n$step1029 = 27;\n$al1036 = L[603];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 27: var anf_arg1136 = $ans1035;\n$step1029 = 28;\n$al1036 = L[599];\nif(typeof(anf_fun1133.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1133);\n}\n$ans1035 = anf_fun1133.app(anf_arg1134,anf_arg1135,anf_arg1136);\nbreak;\ncase 28: var anf_arg1140 = $ans1035;\n$al1036 = L[601];\nvar anf_arg1137 = G(self1031,\"obj\",L[601]);\n$step1029 = 29;\n$al1036 = L[602];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"embed\"].app(anf_arg1137);\nbreak;\ncase 29: var anf_arg1141 = $ans1035;\n$step1029 = 30;\n$al1036 = L[596];\nif(typeof(anf_fun1138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1138);\n}\n$ans1035 = anf_fun1138.app(anf_arg1139,anf_arg1140,anf_arg1141);\nbreak;\ncase 30: ++R.GAS;\nreturn $ans1035;\ndefault: R.ffi.throwSpinnakerError(L[527],$step1029);\n}\n}\nif($step1029 !== 30) {\n$ans1035.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1036,$temp_full1030,$step1029,[self1031,maybe$stack$loc1032,src$available1033,maybe$ast1034],[anf_arg1140,anf_fun1138,anf_arg1044,anf_arg1134,anf_arg1135,anf_arg1047,anf_arg1048,anf_arg1139,cases1052,anf_fun1043,anf_fun1133,anf_fun1046],$elidedFrames1038);\n}\nreturn $ans1035;\n};\nvar anf_variant_member5768 = R.makeMethod3($temp_full1030,\"render-fancy-reason\");\nvar $temp_full1150 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__612($self1151) {\nvar $step1149 = 0;\nvar $elidedFrames1155 = 0;\nvar $ans1152 = D;\nvar $al1153 = L[612];\nif(R.isAR($self1151)) {\n$step1149 = $self1151.step;\n$al1153 = $self1151.from;\n$ans1152 = $self1151.ans;\n$elidedFrames1155 = $self1151.elidedFrames;\nself1151 = $self1151.args[0];\nanf_arg1161 = $self1151.vars[0];\nanf_fun1159 = $self1151.vars[1];\nanf_arg1165 = $self1151.vars[2];\nanf_arg1166 = $self1151.vars[3];\nanf_fun1164 = $self1151.vars[4];\nanf_arg1160 = $self1151.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[612],1,$t,true);\n}\nvar self1151 = $self1151;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1152 = R.mC();\n}\nwhile(!R.isContinuation($ans1152)) {\nswitch($step1149) {\ncase 0: $ans1152 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[613],L[614]);\nvar anf_fun1164 = $ans1152;\n$al1153 = L[615];\nvar anf_arg1156 = G(self1151,\"loc\",L[615]);\n$step1149 = 1;\n$al1153 = L[625];\n// omitting isFunction check;\n$ans1152 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1156);\nbreak;\ncase 1: var anf_arg1165 = $ans1152;\n$ans1152 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[616],L[617]);\nvar anf_fun1159 = $ans1152;\n$step1149 = 2;\n$al1153 = L[624];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 2: var anf_arg1160 = $ans1152;\n$al1153 = L[618];\nvar anf_arg1157 = G(self1151,\"field\",L[618]);\n$step1149 = 3;\n$al1153 = L[623];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app(anf_arg1157);\nbreak;\ncase 3: var anf_arg1158 = $ans1152;\n$step1149 = 4;\n$al1153 = L[622];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"code\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"code\"].app(anf_arg1158);\nbreak;\ncase 4: var anf_arg1161 = $ans1152;\n$step1149 = 5;\n$al1153 = L[621];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 5: var anf_arg1162 = $ans1152;\n$step1149 = 6;\n$al1153 = L[617];\nif(typeof(anf_fun1159.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,anf_fun1159);\n}\n$ans1152 = anf_fun1159.app(anf_arg1160,anf_arg1161,anf_arg1162);\nbreak;\ncase 6: var anf_arg1166 = $ans1152;\n$al1153 = L[619];\nvar anf_arg1163 = G(self1151,\"obj\",L[619]);\n$step1149 = 7;\n$al1153 = L[620];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"embed\"].app(anf_arg1163);\nbreak;\ncase 7: var anf_arg1167 = $ans1152;\n$step1149 = 8;\n$al1153 = L[614];\nif(typeof(anf_fun1164.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,anf_fun1164);\n}\n$ans1152 = anf_fun1164.app(anf_arg1165,anf_arg1166,anf_arg1167);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1152;\ndefault: R.ffi.throwSpinnakerError(L[612],$step1149);\n}\n}\nif($step1149 !== 8) {\n$ans1152.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1153,$temp_full1150,$step1149,[self1151],[anf_arg1161,anf_fun1159,anf_arg1165,anf_arg1166,anf_fun1164,anf_arg1160],$elidedFrames1155);\n}\nreturn $ans1152;\n};\nvar anf_variant_member5769 = R.makeMethod0($temp_full1150,\"render-reason\");\nvar $temp_full1170 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__626($self1171,$maybe$stack$loc1172,$src$available1173,$maybe$ast1174) {\nvar $step1169 = 0;\nvar $elidedFrames1178 = 0;\nvar $ans1175 = D;\nvar $al1176 = L[626];\nif(R.isAR($self1171)) {\n$step1169 = $self1171.step;\n$al1176 = $self1171.from;\n$ans1175 = $self1171.ans;\n$elidedFrames1178 = $self1171.elidedFrames;\nself1171 = $self1171.args[0];\nmaybe$stack$loc1172 = $self1171.args[1];\nsrc$available1173 = $self1171.args[2];\nmaybe$ast1174 = $self1171.args[3];\nanf_arg1195 = $self1171.vars[0];\nanf_arg1185 = $self1171.vars[1];\nanf_arg1196 = $self1171.vars[2];\nanf_arg1186 = $self1171.vars[3];\nanf_arg1199 = $self1171.vars[4];\nanf_arg1200 = $self1171.vars[5];\nanf_fun1182 = $self1171.vars[6];\nanf_fun1194 = $self1171.vars[7];\nanf_fun1184 = $self1171.vars[8];\nanf_fun1198 = $self1171.vars[9];\nanf_arg1192 = $self1171.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[626],4,$t,true);\n}\nvar self1171 = $self1171;\nvar maybe$stack$loc1172 = $maybe$stack$loc1172;\nvar src$available1173 = $src$available1173;\nvar maybe$ast1174 = $maybe$ast1174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1175 = R.mC();\n}\nwhile(!R.isContinuation($ans1175)) {\nswitch($step1169) {\ncase 0: $al1176 = L[627];\nvar anf_method_obj1179 = G(self1171,\"expr-loc\",L[627]);\n$step1169 = 1;\n$ans1175 = R.maybeMethodCall0(anf_method_obj1179,\"is-builtin\",L[628]);\nbreak;\ncase 1: var anf_if1206 = $ans1175;\n$step1169 = R.checkPyretTrue(anf_if1206)?2:3;\nbreak;\ncase 2: $step1169 = 6;\n$ans1175 = (true);\nbreak;\ncase 3: $al1176 = L[653];\nvar anf_arg1203 = G(self1171,\"expr-loc\",L[653]);\n$step1169 = 4;\n$al1176 = L[655];\nif(typeof(src$available1173.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,src$available1173);\n}\n$ans1175 = src$available1173.app(anf_arg1203);\nbreak;\ncase 4: var anf_arg1204 = $ans1175;\n$step1169 = 5;\n$al1176 = L[654];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,not5);\n}\n$ans1175 = not5.app(anf_arg1204);\nbreak;\ncase 5: var anf_arg1205 = $ans1175;\n$ans1175 = R.checkWrapBoolean(anf_arg1205);\n$step1169 = 6;\nbreak;\ncase 6: var anf_if1202 = $ans1175;\n$step1169 = R.checkPyretTrue(anf_if1202)?7:12;\nbreak;\ncase 7: $ans1175 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[629],L[630]);\nvar anf_fun1184 = $ans1175;\n$al1176 = L[631];\nvar anf_arg1180 = G(self1171,\"expr-loc\",L[631]);\n$step1169 = 8;\n$al1176 = L[637];\n// omitting isFunction check;\n$ans1175 = ed$simple$intro104.$var.app((\"construction expression\"),anf_arg1180);\nbreak;\ncase 8: var anf_arg1185 = $ans1175;\n$al1176 = L[632];\nvar anf_arg1181 = G(self1171,\"expr-loc\",L[632]);\n$step1169 = 9;\n$al1176 = L[636];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1181);\nbreak;\ncase 9: var anf_arg1186 = $ans1175;\n$ans1175 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[633],L[634]);\nvar anf_fun1182 = $ans1175;\n$step1169 = 10;\n$al1176 = L[635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a defined convenience constructor.\"));\nbreak;\ncase 10: var anf_arg1183 = $ans1175;\n$step1169 = 11;\n$al1176 = L[634];\nif(typeof(anf_fun1182.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1182);\n}\n$ans1175 = anf_fun1182.app(anf_arg1183);\nbreak;\ncase 11: var anf_arg1187 = $ans1175;\n$step1169 = 21;\n$al1176 = L[630];\nif(typeof(anf_fun1184.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1184);\n}\n$ans1175 = anf_fun1184.app(anf_arg1185,anf_arg1186,anf_arg1187);\nbreak;\ncase 12: $ans1175 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[638],L[639]);\nvar anf_fun1198 = $ans1175;\n$al1176 = L[640];\nvar anf_arg1188 = G(self1171,\"expr-loc\",L[640]);\n$step1169 = 13;\n$al1176 = L[652];\n// omitting isFunction check;\n$ans1175 = ed$intro146.$var.app((\"construction expression\"),anf_arg1188,(-1),(true));\nbreak;\ncase 13: var anf_arg1199 = $ans1175;\n$al1176 = L[641];\nvar anf_arg1189 = G(self1171,\"expr-loc\",L[641]);\n$step1169 = 14;\n$al1176 = L[651];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1189);\nbreak;\ncase 14: var anf_arg1200 = $ans1175;\n$ans1175 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[642],L[643]);\nvar anf_fun1194 = $ans1175;\n$step1169 = 15;\n$al1176 = L[650];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 15: var anf_arg1195 = $ans1175;\n$step1169 = 16;\n$al1176 = L[649];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 16: var anf_arg1192 = $ans1175;\n$ans1175 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[644],L[645]);\nvar anf_fun1190 = $ans1175;\n$al1176 = L[646];\nvar anf_arg1191 = G(self1171,\"constr-loc\",L[646]);\n$step1169 = 17;\n$al1176 = L[645];\nif(typeof(anf_fun1190.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1190);\n}\n$ans1175 = anf_fun1190.app(anf_arg1191);\nbreak;\ncase 17: var anf_arg1193 = $ans1175;\n$step1169 = 18;\n$al1176 = L[648];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1192,anf_arg1193,(0));\nbreak;\ncase 18: var anf_arg1196 = $ans1175;\n$step1169 = 19;\n$al1176 = L[647];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\" was not a defined convenience constructor.\"));\nbreak;\ncase 19: var anf_arg1197 = $ans1175;\n$step1169 = 20;\n$al1176 = L[643];\nif(typeof(anf_fun1194.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1194);\n}\n$ans1175 = anf_fun1194.app(anf_arg1195,anf_arg1196,anf_arg1197);\nbreak;\ncase 20: var anf_arg1201 = $ans1175;\n$step1169 = 21;\n$al1176 = L[639];\nif(typeof(anf_fun1198.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1198);\n}\n$ans1175 = anf_fun1198.app(anf_arg1199,anf_arg1200,anf_arg1201);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1175;\ndefault: R.ffi.throwSpinnakerError(L[626],$step1169);\n}\n}\nif($step1169 !== 21) {\n$ans1175.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1176,$temp_full1170,$step1169,[self1171,maybe$stack$loc1172,src$available1173,maybe$ast1174],[anf_arg1195,anf_arg1185,anf_arg1196,anf_arg1186,anf_arg1199,anf_arg1200,anf_fun1182,anf_fun1194,anf_fun1184,anf_fun1198,anf_arg1192],$elidedFrames1178);\n}\nreturn $ans1175;\n};\nvar anf_variant_member5779 = R.makeMethod3($temp_full1170,\"render-fancy-reason\");\nvar $temp_full1209 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__656($self1210) {\nvar $step1208 = 0;\nvar $elidedFrames1214 = 0;\nvar $ans1211 = D;\nvar $al1212 = L[656];\nif(R.isAR($self1210)) {\n$step1208 = $self1210.step;\n$al1212 = $self1210.from;\n$ans1211 = $self1210.ans;\n$elidedFrames1214 = $self1210.elidedFrames;\nself1210 = $self1210.args[0];\nanf_fun1218 = $self1210.vars[0];\nanf_arg1219 = $self1210.vars[1];\nanf_fun1216 = $self1210.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[656],1,$t,true);\n}\nvar self1210 = $self1210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1211 = R.mC();\n}\nwhile(!R.isContinuation($ans1211)) {\nswitch($step1208) {\ncase 0: $ans1211 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[657],L[658]);\nvar anf_fun1218 = $ans1211;\n$al1212 = L[659];\nvar anf_arg1215 = G(self1210,\"expr-loc\",L[659]);\n$step1208 = 1;\n$al1212 = L[663];\n// omitting isFunction check;\n$ans1211 = ed$simple$intro104.$var.app((\"construction expression\"),anf_arg1215);\nbreak;\ncase 1: var anf_arg1219 = $ans1211;\n$ans1211 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[660],L[661]);\nvar anf_fun1216 = $ans1211;\n$step1208 = 2;\n$al1212 = L[662];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,ED6.dict.values.dict[\"text\"]);\n}\n$ans1211 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a defined convenience constructor.\"));\nbreak;\ncase 2: var anf_arg1217 = $ans1211;\n$step1208 = 3;\n$al1212 = L[661];\nif(typeof(anf_fun1216.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,anf_fun1216);\n}\n$ans1211 = anf_fun1216.app(anf_arg1217);\nbreak;\ncase 3: var anf_arg1220 = $ans1211;\n$step1208 = 4;\n$al1212 = L[658];\nif(typeof(anf_fun1218.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,anf_fun1218);\n}\n$ans1211 = anf_fun1218.app(anf_arg1219,anf_arg1220);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1211;\ndefault: R.ffi.throwSpinnakerError(L[656],$step1208);\n}\n}\nif($step1208 !== 4) {\n$ans1211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1212,$temp_full1209,$step1208,[self1210],[anf_fun1218,anf_arg1219,anf_fun1216],$elidedFrames1214);\n}\nreturn $ans1211;\n};\nvar anf_variant_member5780 = R.makeMethod0($temp_full1209,\"render-reason\");\nvar $temp_full1223 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__664($self1224,$maybe$stack$loc1225,$src$available1226,$maybe$ast1227) {\nvar $step1222 = 0;\nvar $elidedFrames1231 = 0;\nvar $ans1228 = D;\nvar $al1229 = L[664];\nif(R.isAR($self1224)) {\n$step1222 = $self1224.step;\n$al1229 = $self1224.from;\n$ans1228 = $self1224.ans;\n$elidedFrames1231 = $self1224.elidedFrames;\nself1224 = $self1224.args[0];\nmaybe$stack$loc1225 = $self1224.args[1];\nsrc$available1226 = $self1224.args[2];\nmaybe$ast1227 = $self1224.args[3];\nanf_fun1236 = $self1224.vars[0];\nanf_arg1244 = $self1224.vars[1];\nanf_arg1245 = $self1224.vars[2];\nanf_arg1237 = $self1224.vars[3];\nanf_fun1241 = $self1224.vars[4];\nanf_fun1243 = $self1224.vars[5];\nanf_fun1234 = $self1224.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[664],4,$t,true);\n}\nvar self1224 = $self1224;\nvar maybe$stack$loc1225 = $maybe$stack$loc1225;\nvar src$available1226 = $src$available1226;\nvar maybe$ast1227 = $maybe$ast1227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1228 = R.mC();\n}\nwhile(!R.isContinuation($ans1228)) {\nswitch($step1222) {\ncase 0: $al1229 = L[665];\nvar anf_method_obj1232 = G(self1224,\"loc\",L[665]);\n$step1222 = 1;\n$ans1228 = R.maybeMethodCall0(anf_method_obj1232,\"is-builtin\",L[666]);\nbreak;\ncase 1: var anf_if1251 = $ans1228;\n$step1222 = R.checkPyretTrue(anf_if1251)?2:3;\nbreak;\ncase 2: $step1222 = 6;\n$ans1228 = (true);\nbreak;\ncase 3: $al1229 = L[683];\nvar anf_arg1248 = G(self1224,\"loc\",L[683]);\n$step1222 = 4;\n$al1229 = L[685];\nif(typeof(src$available1226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,src$available1226);\n}\n$ans1228 = src$available1226.app(anf_arg1248);\nbreak;\ncase 4: var anf_arg1249 = $ans1228;\n$step1222 = 5;\n$al1229 = L[684];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,not5);\n}\n$ans1228 = not5.app(anf_arg1249);\nbreak;\ncase 5: var anf_arg1250 = $ans1228;\n$ans1228 = R.checkWrapBoolean(anf_arg1250);\n$step1222 = 6;\nbreak;\ncase 6: var anf_if1247 = $ans1228;\n$step1222 = R.checkPyretTrue(anf_if1247)?7:11;\nbreak;\ncase 7: $ans1228 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[667],L[668]);\nvar anf_fun1236 = $ans1228;\n$al1229 = L[669];\nvar anf_arg1233 = G(self1224,\"loc\",L[669]);\n$step1222 = 8;\n$al1229 = L[673];\n// omitting isFunction check;\n$ans1228 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1233);\nbreak;\ncase 8: var anf_arg1237 = $ans1228;\n$ans1228 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[670],L[671]);\nvar anf_fun1234 = $ans1228;\n$step1222 = 9;\n$al1229 = L[672];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"text\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 9: var anf_arg1235 = $ans1228;\n$step1222 = 10;\n$al1229 = L[671];\nif(typeof(anf_fun1234.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1234);\n}\n$ans1228 = anf_fun1234.app(anf_arg1235);\nbreak;\ncase 10: var anf_arg1238 = $ans1228;\n$step1222 = 16;\n$al1229 = L[668];\nif(typeof(anf_fun1236.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1236);\n}\n$ans1228 = anf_fun1236.app(anf_arg1237,anf_arg1238);\nbreak;\ncase 11: $ans1228 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[674],L[675]);\nvar anf_fun1243 = $ans1228;\n$al1229 = L[676];\nvar anf_arg1239 = G(self1224,\"loc\",L[676]);\n$step1222 = 12;\n$al1229 = L[682];\n// omitting isFunction check;\n$ans1228 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1239,(0),(true));\nbreak;\ncase 12: var anf_arg1244 = $ans1228;\n$al1229 = L[677];\nvar anf_arg1240 = G(self1224,\"loc\",L[677]);\n$step1222 = 13;\n$al1229 = L[681];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1240);\nbreak;\ncase 13: var anf_arg1245 = $ans1228;\n$ans1228 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[678],L[679]);\nvar anf_fun1241 = $ans1228;\n$step1222 = 14;\n$al1229 = L[680];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"text\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 14: var anf_arg1242 = $ans1228;\n$step1222 = 15;\n$al1229 = L[679];\nif(typeof(anf_fun1241.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1241);\n}\n$ans1228 = anf_fun1241.app(anf_arg1242);\nbreak;\ncase 15: var anf_arg1246 = $ans1228;\n$step1222 = 16;\n$al1229 = L[675];\nif(typeof(anf_fun1243.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1243);\n}\n$ans1228 = anf_fun1243.app(anf_arg1244,anf_arg1245,anf_arg1246);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1228;\ndefault: R.ffi.throwSpinnakerError(L[664],$step1222);\n}\n}\nif($step1222 !== 16) {\n$ans1228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1229,$temp_full1223,$step1222,[self1224,maybe$stack$loc1225,src$available1226,maybe$ast1227],[anf_fun1236,anf_arg1244,anf_arg1245,anf_arg1237,anf_fun1241,anf_fun1243,anf_fun1234],$elidedFrames1231);\n}\nreturn $ans1228;\n};\nvar anf_variant_member5789 = R.makeMethod3($temp_full1223,\"render-fancy-reason\");\nvar $temp_full1254 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__686($self1255) {\nvar $step1253 = 0;\nvar $elidedFrames1259 = 0;\nvar $ans1256 = D;\nvar $al1257 = L[686];\nif(R.isAR($self1255)) {\n$step1253 = $self1255.step;\n$al1257 = $self1255.from;\n$ans1256 = $self1255.ans;\n$elidedFrames1259 = $self1255.elidedFrames;\nself1255 = $self1255.args[0];\nanf_fun1263 = $self1255.vars[0];\nanf_arg1264 = $self1255.vars[1];\nanf_fun1261 = $self1255.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],1,$t,true);\n}\nvar self1255 = $self1255;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1256 = R.mC();\n}\nwhile(!R.isContinuation($ans1256)) {\nswitch($step1253) {\ncase 0: $ans1256 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[687],L[688]);\nvar anf_fun1263 = $ans1256;\n$al1257 = L[689];\nvar anf_arg1260 = G(self1255,\"loc\",L[689]);\n$step1253 = 1;\n$al1257 = L[693];\n// omitting isFunction check;\n$ans1256 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1260);\nbreak;\ncase 1: var anf_arg1264 = $ans1256;\n$ans1256 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[690],L[691]);\nvar anf_fun1261 = $ans1256;\n$step1253 = 2;\n$al1257 = L[692];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,ED6.dict.values.dict[\"text\"]);\n}\n$ans1256 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 2: var anf_arg1262 = $ans1256;\n$step1253 = 3;\n$al1257 = L[691];\nif(typeof(anf_fun1261.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,anf_fun1261);\n}\n$ans1256 = anf_fun1261.app(anf_arg1262);\nbreak;\ncase 3: var anf_arg1265 = $ans1256;\n$step1253 = 4;\n$al1257 = L[688];\nif(typeof(anf_fun1263.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,anf_fun1263);\n}\n$ans1256 = anf_fun1263.app(anf_arg1264,anf_arg1265);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1256;\ndefault: R.ffi.throwSpinnakerError(L[686],$step1253);\n}\n}\nif($step1253 !== 4) {\n$ans1256.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1257,$temp_full1254,$step1253,[self1255],[anf_fun1263,anf_arg1264,anf_fun1261],$elidedFrames1259);\n}\nreturn $ans1256;\n};\nvar anf_variant_member5790 = R.makeMethod0($temp_full1254,\"render-reason\");\nvar $temp_full1268 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__694($self1269,$maybe$stack$loc1270,$src$available1271,$maybe$ast1272) {\nvar $step1267 = 0;\nvar $elidedFrames1276 = 0;\nvar $ans1273 = D;\nvar $al1274 = L[694];\nif(R.isAR($self1269)) {\n$step1267 = $self1269.step;\n$al1274 = $self1269.from;\n$ans1273 = $self1269.ans;\n$elidedFrames1276 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nmaybe$stack$loc1270 = $self1269.args[1];\nsrc$available1271 = $self1269.args[2];\nmaybe$ast1272 = $self1269.args[3];\nanf_arg1283 = $self1269.vars[0];\nanf_arg1284 = $self1269.vars[1];\nanf_fun1337 = $self1269.vars[2];\nanf_arg1338 = $self1269.vars[3];\nanf_arg1339 = $self1269.vars[4];\ncases1288 = $self1269.vars[5];\nanf_fun1282 = $self1269.vars[6];\nanf_fun1334 = $self1269.vars[7];\nanf_fun1279 = $self1269.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[694],4,$t,true);\n}\nvar self1269 = $self1269;\nvar maybe$stack$loc1270 = $maybe$stack$loc1270;\nvar src$available1271 = $src$available1271;\nvar maybe$ast1272 = $maybe$ast1272;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1273 = R.mC();\n}\nwhile(!R.isContinuation($ans1273)) {\nswitch($step1267) {\ncase 0: $al1274 = L[695];\nvar anf_method_obj1277 = G(self1269,\"loc\",L[695]);\n$step1267 = 1;\n$ans1273 = R.maybeMethodCall0(anf_method_obj1277,\"is-builtin\",L[696]);\nbreak;\ncase 1: var anf_if1342 = $ans1273;\n$step1267 = R.checkPyretTrue(anf_if1342)?2:7;\nbreak;\ncase 2: $ans1273 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[697],L[698]);\nvar anf_fun1282 = $ans1273;\n$al1274 = L[699];\nvar anf_arg1278 = G(self1269,\"loc\",L[699]);\n$step1267 = 3;\n$al1274 = L[705];\n// omitting isFunction check;\n$ans1273 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1278);\nbreak;\ncase 3: var anf_arg1283 = $ans1273;\n$ans1273 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[700],L[701]);\nvar anf_fun1279 = $ans1273;\n$step1267 = 4;\n$al1274 = L[704];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"text\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 4: var anf_arg1280 = $ans1273;\n$step1267 = 5;\n$al1274 = L[701];\nif(typeof(anf_fun1279.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1279);\n}\n$ans1273 = anf_fun1279.app(anf_arg1280);\nbreak;\ncase 5: var anf_arg1284 = $ans1273;\n$al1274 = L[702];\nvar anf_arg1281 = G(self1269,\"non-tup\",L[702]);\n$step1267 = 6;\n$al1274 = L[703];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"embed\"].app(anf_arg1281);\nbreak;\ncase 6: var anf_arg1285 = $ans1273;\n$step1267 = 20;\n$al1274 = L[698];\nif(typeof(anf_fun1282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1282);\n}\n$ans1273 = anf_fun1282.app(anf_arg1283,anf_arg1284,anf_arg1285);\nbreak;\ncase 7: $al1274 = L[706];\nvar anf_arg1286 = G(self1269,\"loc\",L[706]);\n$step1267 = 8;\n$al1274 = L[751];\nif(typeof(src$available1271.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,src$available1271);\n}\n$ans1273 = src$available1271.app(anf_arg1286);\nbreak;\ncase 8: var anf_if1341 = $ans1273;\n$step1267 = R.checkPyretTrue(anf_if1341)?9:15;\nbreak;\ncase 9: $al1274 = L[707];\nvar anf_arg1287 = G(self1269,\"loc\",L[707]);\n$step1267 = 10;\n$al1274 = L[741];\nif(typeof(maybe$ast1272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,maybe$ast1272);\n}\n$ans1273 = maybe$ast1272.app(anf_arg1287);\nbreak;\ncase 10: var cases1288 = $ans1273;\n$step1267 = 11;\n$al1274 = L[740];\nvar $ann$check1332 = R._cA(L[740],R.gDA(L[740],\"O\",O8.dict.types,\"Option\"),cases1288);\nif(R.isContinuation($ann$check1332)) {\n$ans1273 = $ann$check1332;\n}\nbreak;\ncase 11: $al1274 = L[727];\n$step1267 = $cases_dispatch1331[cases1288.$name] || 14;\nbreak;\ncase 12: if(cases1288.$arity !== 1) {\nif(cases1288.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[726],1,cases1288.$arity,L[727],cases1288.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[726],true,L[727],cases1288.$loc);\n}\n}\n$step1267 = 20;\n$al1274 = L[726];\nvar $temp_branch1307 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__727($ast1291) {\nvar $step1308 = 0;\nvar $elidedFrames1312 = 0;\nvar $ans1309 = D;\nvar $al1310 = L[709];\nif(R.isAR($ast1291)) {\n$step1308 = $ast1291.step;\n$al1310 = $ast1291.from;\n$ans1309 = $ast1291.ans;\n$elidedFrames1312 = $ast1291.elidedFrames;\nast1291 = $ast1291.args[0];\nanf_fun1302 = $ast1291.vars[0];\nanf_arg1295 = $ast1291.vars[1];\nanf_arg1298 = $ast1291.vars[2];\nanf_arg1299 = $ast1291.vars[3];\nanf_arg1303 = $ast1291.vars[4];\nanf_arg1304 = $ast1291.vars[5];\nanf_arg1305 = $ast1291.vars[6];\nanf_fun1297 = $ast1291.vars[7];\n} else {\nvar ast1291 = $ast1291;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1309 = R.mC();\n}\nwhile(!R.isContinuation($ans1309)) {\nswitch($step1308) {\ncase 0: $ans1309 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[708],L[709]);\nvar anf_fun1302 = $ans1309;\n$al1310 = L[710];\nvar anf_arg1289 = G(self1269,\"loc\",L[710]);\n$step1308 = 1;\n$al1310 = L[725];\n// omitting isFunction check;\n$ans1309 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1289,(-1),(true));\nbreak;\ncase 1: var anf_arg1303 = $ans1309;\n$al1310 = L[711];\nvar anf_arg1290 = G(self1269,\"loc\",L[711]);\n$step1308 = 2;\n$al1310 = L[724];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1290);\nbreak;\ncase 2: var anf_arg1304 = $ans1309;\n$ans1309 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[712],L[713]);\nvar anf_fun1297 = $ans1309;\n$step1308 = 3;\n$al1310 = L[723];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg1298 = $ans1309;\n$step1308 = 4;\n$al1310 = L[722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg1295 = $ans1309;\n$ans1309 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[714],L[715]);\nvar anf_fun1293 = $ans1309;\n$al1310 = L[716];\nvar anf_bracket1292 = G(ast1291,\"tup\",L[716]);\n$al1310 = L[717];\nvar anf_arg1294 = G(anf_bracket1292,\"l\",L[717]);\n$step1308 = 5;\n$al1310 = L[715];\nif(typeof(anf_fun1293.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1293);\n}\n$ans1309 = anf_fun1293.app(anf_arg1294);\nbreak;\ncase 5: var anf_arg1296 = $ans1309;\n$step1308 = 6;\n$al1310 = L[721];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1295,anf_arg1296,(0));\nbreak;\ncase 6: var anf_arg1299 = $ans1309;\n$step1308 = 7;\n$al1310 = L[720];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\" was not a tuple value:\"));\nbreak;\ncase 7: var anf_arg1300 = $ans1309;\n$step1308 = 8;\n$al1310 = L[713];\nif(typeof(anf_fun1297.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1297);\n}\n$ans1309 = anf_fun1297.app(anf_arg1298,anf_arg1299,anf_arg1300);\nbreak;\ncase 8: var anf_arg1305 = $ans1309;\n$al1310 = L[718];\nvar anf_arg1301 = G(self1269,\"non-tup\",L[718]);\n$step1308 = 9;\n$al1310 = L[719];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"embed\"].app(anf_arg1301);\nbreak;\ncase 9: var anf_arg1306 = $ans1309;\n$step1308 = 10;\n$al1310 = L[709];\nif(typeof(anf_fun1302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1302);\n}\n$ans1309 = anf_fun1302.app(anf_arg1303,anf_arg1304,anf_arg1305,anf_arg1306);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1309;\ndefault: R.ffi.throwSpinnakerError(L[709],$step1308);\n}\n}\nif($step1308 !== 10) {\n$ans1309.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1310,$temp_branch1307,$step1308,[ast1291],[anf_fun1302,anf_arg1295,anf_arg1298,anf_arg1299,anf_arg1303,anf_arg1304,anf_arg1305,anf_fun1297],$elidedFrames1312);\n}\nreturn $ans1309;\n};\n$ans1273 = cases1288.$app_fields($temp_branch1307,[false]);\nbreak;\ncase 13: if(cases1288.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[739],false,L[727],cases1288.$loc);\n}\n$step1267 = 20;\n$al1274 = L[739];\nvar $temp_branch1324 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__727($$resumer13) {\nvar $step1325 = 0;\nvar $elidedFrames1329 = 0;\nvar $ans1326 = D;\nvar $al1327 = L[729];\nif(R.isAR($$resumer13)) {\n$step1325 = $$resumer13.step;\n$al1327 = $$resumer13.from;\n$ans1326 = $$resumer13.ans;\n$elidedFrames1329 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1316 = $$resumer13.vars[0];\nanf_arg1320 = $$resumer13.vars[1];\nanf_fun1319 = $$resumer13.vars[2];\nanf_arg1321 = $$resumer13.vars[3];\nanf_arg1322 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1326 = R.mC();\n}\nwhile(!R.isContinuation($ans1326)) {\nswitch($step1325) {\ncase 0: $ans1326 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[728],L[729]);\nvar anf_fun1319 = $ans1326;\n$al1327 = L[730];\nvar anf_arg1314 = G(self1269,\"loc\",L[730]);\n$step1325 = 1;\n$al1327 = L[738];\n// omitting isFunction check;\n$ans1326 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1314,(0),(true));\nbreak;\ncase 1: var anf_arg1320 = $ans1326;\n$al1327 = L[731];\nvar anf_arg1315 = G(self1269,\"loc\",L[731]);\n$step1325 = 2;\n$al1327 = L[737];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1315);\nbreak;\ncase 2: var anf_arg1321 = $ans1326;\n$ans1326 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[732],L[733]);\nvar anf_fun1316 = $ans1326;\n$step1325 = 3;\n$al1327 = L[736];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"text\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 3: var anf_arg1317 = $ans1326;\n$step1325 = 4;\n$al1327 = L[733];\nif(typeof(anf_fun1316.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,anf_fun1316);\n}\n$ans1326 = anf_fun1316.app(anf_arg1317);\nbreak;\ncase 4: var anf_arg1322 = $ans1326;\n$al1327 = L[734];\nvar anf_arg1318 = G(self1269,\"non-tup\",L[734]);\n$step1325 = 5;\n$al1327 = L[735];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"embed\"].app(anf_arg1318);\nbreak;\ncase 5: var anf_arg1323 = $ans1326;\n$step1325 = 6;\n$al1327 = L[729];\nif(typeof(anf_fun1319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,anf_fun1319);\n}\n$ans1326 = anf_fun1319.app(anf_arg1320,anf_arg1321,anf_arg1322,anf_arg1323);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1326;\ndefault: R.ffi.throwSpinnakerError(L[729],$step1325);\n}\n}\nif($step1325 !== 6) {\n$ans1326.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1327,$temp_branch1324,$step1325,[],[anf_fun1316,anf_arg1320,anf_fun1319,anf_arg1321,anf_arg1322],$elidedFrames1329);\n}\nreturn $ans1326;\n};\n$ans1273 = cases1288.$app_fields($temp_branch1324,[]);\nbreak;\ncase 14: $ans1273 = R.throwNoCasesMatched(L[727],cases1288);\n$step1267 = 20;\nbreak;\ncase 15: $ans1273 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[742],L[743]);\nvar anf_fun1337 = $ans1273;\n$al1274 = L[744];\nvar anf_arg1333 = G(self1269,\"loc\",L[744]);\n$step1267 = 16;\n$al1274 = L[750];\n// omitting isFunction check;\n$ans1273 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1333);\nbreak;\ncase 16: var anf_arg1338 = $ans1273;\n$ans1273 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[745],L[746]);\nvar anf_fun1334 = $ans1273;\n$step1267 = 17;\n$al1274 = L[749];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"text\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 17: var anf_arg1335 = $ans1273;\n$step1267 = 18;\n$al1274 = L[746];\nif(typeof(anf_fun1334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1334);\n}\n$ans1273 = anf_fun1334.app(anf_arg1335);\nbreak;\ncase 18: var anf_arg1339 = $ans1273;\n$al1274 = L[747];\nvar anf_arg1336 = G(self1269,\"non-tup\",L[747]);\n$step1267 = 19;\n$al1274 = L[748];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"embed\"].app(anf_arg1336);\nbreak;\ncase 19: var anf_arg1340 = $ans1273;\n$step1267 = 20;\n$al1274 = L[743];\nif(typeof(anf_fun1337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1337);\n}\n$ans1273 = anf_fun1337.app(anf_arg1338,anf_arg1339,anf_arg1340);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1273;\ndefault: R.ffi.throwSpinnakerError(L[694],$step1267);\n}\n}\nif($step1267 !== 20) {\n$ans1273.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1274,$temp_full1268,$step1267,[self1269,maybe$stack$loc1270,src$available1271,maybe$ast1272],[anf_arg1283,anf_arg1284,anf_fun1337,anf_arg1338,anf_arg1339,cases1288,anf_fun1282,anf_fun1334,anf_fun1279],$elidedFrames1276);\n}\nreturn $ans1273;\n};\nvar anf_variant_member5800 = R.makeMethod3($temp_full1268,\"render-fancy-reason\");\nvar $temp_full1345 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__752($self1346) {\nvar $step1344 = 0;\nvar $elidedFrames1350 = 0;\nvar $ans1347 = D;\nvar $al1348 = L[752];\nif(R.isAR($self1346)) {\n$step1344 = $self1346.step;\n$al1348 = $self1346.from;\n$ans1347 = $self1346.ans;\n$elidedFrames1350 = $self1346.elidedFrames;\nself1346 = $self1346.args[0];\nanf_fun1355 = $self1346.vars[0];\nanf_arg1356 = $self1346.vars[1];\nanf_fun1352 = $self1346.vars[2];\nanf_arg1357 = $self1346.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[752],1,$t,true);\n}\nvar self1346 = $self1346;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1347 = R.mC();\n}\nwhile(!R.isContinuation($ans1347)) {\nswitch($step1344) {\ncase 0: $ans1347 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[753],L[754]);\nvar anf_fun1355 = $ans1347;\n$al1348 = L[755];\nvar anf_arg1351 = G(self1346,\"loc\",L[755]);\n$step1344 = 1;\n$al1348 = L[761];\n// omitting isFunction check;\n$ans1347 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1351);\nbreak;\ncase 1: var anf_arg1356 = $ans1347;\n$ans1347 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[756],L[757]);\nvar anf_fun1352 = $ans1347;\n$step1344 = 2;\n$al1348 = L[760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,ED6.dict.values.dict[\"text\"]);\n}\n$ans1347 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 2: var anf_arg1353 = $ans1347;\n$step1344 = 3;\n$al1348 = L[757];\nif(typeof(anf_fun1352.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,anf_fun1352);\n}\n$ans1347 = anf_fun1352.app(anf_arg1353);\nbreak;\ncase 3: var anf_arg1357 = $ans1347;\n$al1348 = L[758];\nvar anf_arg1354 = G(self1346,\"non-tup\",L[758]);\n$step1344 = 4;\n$al1348 = L[759];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1347 = ED6.dict.values.dict[\"embed\"].app(anf_arg1354);\nbreak;\ncase 4: var anf_arg1358 = $ans1347;\n$step1344 = 5;\n$al1348 = L[754];\nif(typeof(anf_fun1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,anf_fun1355);\n}\n$ans1347 = anf_fun1355.app(anf_arg1356,anf_arg1357,anf_arg1358);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1347;\ndefault: R.ffi.throwSpinnakerError(L[752],$step1344);\n}\n}\nif($step1344 !== 5) {\n$ans1347.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1348,$temp_full1345,$step1344,[self1346],[anf_fun1355,anf_arg1356,anf_fun1352,anf_arg1357],$elidedFrames1350);\n}\nreturn $ans1347;\n};\nvar anf_variant_member5801 = R.makeMethod0($temp_full1345,\"render-reason\");\nvar $temp_full1361 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__762($self1362,$maybe$stack$loc1363,$src$available1364,$maybe$ast1365) {\nvar $step1360 = 0;\nvar $elidedFrames1369 = 0;\nvar $ans1366 = D;\nvar $al1367 = L[762];\nif(R.isAR($self1362)) {\n$step1360 = $self1362.step;\n$al1367 = $self1362.from;\n$ans1366 = $self1362.ans;\n$elidedFrames1369 = $self1362.elidedFrames;\nself1362 = $self1362.args[0];\nmaybe$stack$loc1363 = $self1362.args[1];\nsrc$available1364 = $self1362.args[2];\nmaybe$ast1365 = $self1362.args[3];\nanf_arg1383 = $self1362.vars[0];\nanf_fun1458 = $self1362.vars[1];\nanf_arg1460 = $self1362.vars[2];\nanf_arg1384 = $self1362.vars[3];\nanf_arg1453 = $self1362.vars[4];\nanf_arg1377 = $self1362.vars[5];\nanf_arg1454 = $self1362.vars[6];\nanf_arg1378 = $self1362.vars[7];\nanf_arg1455 = $self1362.vars[8];\nanf_arg1379 = $self1362.vars[9];\nanf_arg1459 = $self1362.vars[10];\ncases1388 = $self1362.vars[11];\nanf_fun1382 = $self1362.vars[12];\nanf_fun1452 = $self1362.vars[13];\nanf_fun1376 = $self1362.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[762],4,$t,true);\n}\nvar self1362 = $self1362;\nvar maybe$stack$loc1363 = $maybe$stack$loc1363;\nvar src$available1364 = $src$available1364;\nvar maybe$ast1365 = $maybe$ast1365;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1366 = R.mC();\n}\nwhile(!R.isContinuation($ans1366)) {\nswitch($step1360) {\ncase 0: $al1367 = L[763];\nvar anf_method_obj1370 = G(self1362,\"loc\",L[763]);\n$step1360 = 1;\n$ans1366 = R.maybeMethodCall0(anf_method_obj1370,\"is-builtin\",L[764]);\nbreak;\ncase 1: var anf_if1463 = $ans1366;\n$step1360 = R.checkPyretTrue(anf_if1463)?2:11;\nbreak;\ncase 2: $ans1366 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[765],L[766]);\nvar anf_fun1382 = $ans1366;\n$al1367 = L[767];\nvar anf_arg1371 = G(self1362,\"loc\",L[767]);\n$step1360 = 3;\n$al1367 = L[779];\n// omitting isFunction check;\n$ans1366 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1371);\nbreak;\ncase 3: var anf_arg1383 = $ans1366;\n$ans1366 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[768],L[769]);\nvar anf_fun1376 = $ans1366;\n$step1360 = 4;\n$al1367 = L[778];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\"The left side was a tuple of \"));\nbreak;\ncase 4: var anf_arg1377 = $ans1366;\n$al1367 = L[770];\nvar anf_arg1372 = G(self1362,\"len\",L[770]);\n$step1360 = 5;\n$al1367 = L[777];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1372);\nbreak;\ncase 5: var anf_arg1378 = $ans1366;\n$step1360 = 6;\n$al1367 = L[776];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 6: var anf_arg1379 = $ans1366;\n$al1367 = L[771];\nvar anf_arg1373 = G(self1362,\"index\",L[771]);\n// caller optimization;\n$ans1366 = num$to$string7.app(anf_arg1373);\nvar anf_arg1374 = $ans1366;\n$step1360 = 7;\n$al1367 = L[775];\n// omitting isFunction check;\n$ans1366 = _plus5.app(anf_arg1374,(\"):\"));\nbreak;\ncase 7: var anf_arg1375 = $ans1366;\n$step1360 = 8;\n$al1367 = L[774];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app(anf_arg1375);\nbreak;\ncase 8: var anf_arg1380 = $ans1366;\n$step1360 = 9;\n$al1367 = L[769];\nif(typeof(anf_fun1376.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1376);\n}\n$ans1366 = anf_fun1376.app(anf_arg1377,anf_arg1378,anf_arg1379,anf_arg1380);\nbreak;\ncase 9: var anf_arg1384 = $ans1366;\n$al1367 = L[772];\nvar anf_arg1381 = G(self1362,\"tup\",L[772]);\n$step1360 = 10;\n$al1367 = L[773];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"embed\"].app(anf_arg1381);\nbreak;\ncase 10: var anf_arg1385 = $ans1366;\n$step1360 = 28;\n$al1367 = L[766];\nif(typeof(anf_fun1382.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1382);\n}\n$ans1366 = anf_fun1382.app(anf_arg1383,anf_arg1384,anf_arg1385);\nbreak;\ncase 11: $al1367 = L[780];\nvar anf_arg1386 = G(self1362,\"loc\",L[780]);\n$step1360 = 12;\n$al1367 = L[849];\nif(typeof(src$available1364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,src$available1364);\n}\n$ans1366 = src$available1364.app(anf_arg1386);\nbreak;\ncase 12: var anf_if1462 = $ans1366;\n$step1360 = R.checkPyretTrue(anf_if1462)?13:19;\nbreak;\ncase 13: $al1367 = L[781];\nvar anf_arg1387 = G(self1362,\"loc\",L[781]);\n$step1360 = 14;\n$al1367 = L[833];\nif(typeof(maybe$ast1365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,maybe$ast1365);\n}\n$ans1366 = maybe$ast1365.app(anf_arg1387);\nbreak;\ncase 14: var cases1388 = $ans1366;\n$step1360 = 15;\n$al1367 = L[832];\nvar $ann$check1446 = R._cA(L[832],R.gDA(L[832],\"O\",O8.dict.types,\"Option\"),cases1388);\nif(R.isContinuation($ann$check1446)) {\n$ans1366 = $ann$check1446;\n}\nbreak;\ncase 15: $al1367 = L[813];\n$step1360 = $cases_dispatch1445[cases1388.$name] || 18;\nbreak;\ncase 16: if(cases1388.$arity !== 1) {\nif(cases1388.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[812],1,cases1388.$arity,L[813],cases1388.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[812],true,L[813],cases1388.$loc);\n}\n}\n$step1360 = 28;\n$al1367 = L[812];\nvar $temp_branch1414 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__813($ast1391) {\nvar $step1415 = 0;\nvar $elidedFrames1419 = 0;\nvar $ans1416 = D;\nvar $al1417 = L[783];\nif(R.isAR($ast1391)) {\n$step1415 = $ast1391.step;\n$al1417 = $ast1391.from;\n$ans1416 = $ast1391.ans;\n$elidedFrames1419 = $ast1391.elidedFrames;\nast1391 = $ast1391.args[0];\nanf_arg1395 = $ast1391.vars[0];\nanf_fun1406 = $ast1391.vars[1];\nanf_arg1410 = $ast1391.vars[2];\nanf_fun1409 = $ast1391.vars[3];\nanf_arg1400 = $ast1391.vars[4];\nanf_arg1411 = $ast1391.vars[5];\nanf_arg1412 = $ast1391.vars[6];\nanf_array1407 = $ast1391.vars[7];\n} else {\nvar ast1391 = $ast1391;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1416 = R.mC();\n}\nwhile(!R.isContinuation($ans1416)) {\nswitch($step1415) {\ncase 0: $ans1416 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[782],L[783]);\nvar anf_fun1409 = $ans1416;\n$al1417 = L[784];\nvar anf_arg1389 = G(self1362,\"loc\",L[784]);\n$step1415 = 1;\n$al1417 = L[811];\n// omitting isFunction check;\n$ans1416 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1389,(-1),(true));\nbreak;\ncase 1: var anf_arg1410 = $ans1416;\n$al1417 = L[785];\nvar anf_arg1390 = G(self1362,\"loc\",L[785]);\n$step1415 = 2;\n$al1417 = L[810];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1390);\nbreak;\ncase 2: var anf_arg1411 = $ans1416;\n$ans1416 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[786],L[787]);\nvar anf_fun1406 = $ans1416;\n$ans1416 = R.makeArrayN((7));\nvar anf_array1407 = $ans1416;\n$step1415 = 3;\n$al1417 = L[809];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: anf_array1407[0] = $ans1416;\n$step1415 = 4;\n$al1417 = L[808];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg1395 = $ans1416;\n$ans1416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[788],L[789]);\nvar anf_fun1393 = $ans1416;\n$al1417 = L[790];\nvar anf_bracket1392 = G(ast1391,\"tup\",L[790]);\n$al1417 = L[791];\nvar anf_arg1394 = G(anf_bracket1392,\"l\",L[791]);\n$step1415 = 5;\n$al1417 = L[789];\nif(typeof(anf_fun1393.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1393);\n}\n$ans1416 = anf_fun1393.app(anf_arg1394);\nbreak;\ncase 5: var anf_arg1396 = $ans1416;\n$step1415 = 6;\n$al1417 = L[807];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1395,anf_arg1396,(0));\nbreak;\ncase 6: anf_array1407[1] = $ans1416;\n$step1415 = 7;\n$al1417 = L[806];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\" was a tuple of \"));\nbreak;\ncase 7: anf_array1407[2] = $ans1416;\n$al1417 = L[792];\nvar anf_arg1397 = G(self1362,\"len\",L[792]);\n$step1415 = 8;\n$al1417 = L[805];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1397);\nbreak;\ncase 8: anf_array1407[3] = $ans1416;\n$step1415 = 9;\n$al1417 = L[804];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given \"));\nbreak;\ncase 9: anf_array1407[4] = $ans1416;\n$step1415 = 10;\n$al1417 = L[803];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"position\"));\nbreak;\ncase 10: var anf_arg1400 = $ans1416;\n$ans1416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[793],L[794]);\nvar anf_fun1398 = $ans1416;\n$al1417 = L[795];\nvar anf_arg1399 = G(ast1391,\"index-loc\",L[795]);\n$step1415 = 11;\n$al1417 = L[794];\nif(typeof(anf_fun1398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1398);\n}\n$ans1416 = anf_fun1398.app(anf_arg1399);\nbreak;\ncase 11: var anf_arg1401 = $ans1416;\n$step1415 = 12;\n$al1417 = L[802];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1400,anf_arg1401,(1));\nbreak;\ncase 12: anf_array1407[5] = $ans1416;\n$al1417 = L[796];\nvar anf_arg1402 = G(self1362,\"index\",L[796]);\n// caller optimization;\n$ans1416 = num$to$string7.app(anf_arg1402);\nvar anf_arg1403 = $ans1416;\n$step1415 = 13;\n$al1417 = L[801];\n// omitting isFunction check;\n$ans1416 = _plus5.app((\" (\"),anf_arg1403);\nbreak;\ncase 13: var anf_arg1404 = $ans1416;\n$step1415 = 14;\n$al1417 = L[800];\n// omitting isFunction check;\n$ans1416 = _plus5.app(anf_arg1404,(\"):\"));\nbreak;\ncase 14: var anf_arg1405 = $ans1416;\n$step1415 = 15;\n$al1417 = L[799];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app(anf_arg1405);\nbreak;\ncase 15: anf_array1407[6] = $ans1416;\n$step1415 = 16;\n$al1417 = L[787];\nif(typeof(anf_fun1406.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1406);\n}\n$ans1416 = anf_fun1406.app(anf_array1407);\nbreak;\ncase 16: var anf_arg1412 = $ans1416;\n$al1417 = L[797];\nvar anf_arg1408 = G(self1362,\"tup\",L[797]);\n$step1415 = 17;\n$al1417 = L[798];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"embed\"].app(anf_arg1408);\nbreak;\ncase 17: var anf_arg1413 = $ans1416;\n$step1415 = 18;\n$al1417 = L[783];\nif(typeof(anf_fun1409.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1409);\n}\n$ans1416 = anf_fun1409.app(anf_arg1410,anf_arg1411,anf_arg1412,anf_arg1413);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans1416;\ndefault: R.ffi.throwSpinnakerError(L[783],$step1415);\n}\n}\nif($step1415 !== 18) {\n$ans1416.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1417,$temp_branch1414,$step1415,[ast1391],[anf_arg1395,anf_fun1406,anf_arg1410,anf_fun1409,anf_arg1400,anf_arg1411,anf_arg1412,anf_array1407],$elidedFrames1419);\n}\nreturn $ans1416;\n};\n$ans1366 = cases1388.$app_fields($temp_branch1414,[false]);\nbreak;\ncase 17: if(cases1388.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[831],false,L[813],cases1388.$loc);\n}\n$step1360 = 28;\n$al1367 = L[831];\nvar $temp_branch1438 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__813($$resumer13) {\nvar $step1439 = 0;\nvar $elidedFrames1443 = 0;\nvar $ans1440 = D;\nvar $al1441 = L[815];\nif(R.isAR($$resumer13)) {\n$step1439 = $$resumer13.step;\n$al1441 = $$resumer13.from;\n$ans1440 = $$resumer13.ans;\n$elidedFrames1443 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1427 = $$resumer13.vars[0];\nanf_arg1430 = $$resumer13.vars[1];\nanf_arg1434 = $$resumer13.vars[2];\nanf_arg1435 = $$resumer13.vars[3];\nanf_arg1436 = $$resumer13.vars[4];\nanf_arg1428 = $$resumer13.vars[5];\nanf_arg1429 = $$resumer13.vars[6];\nanf_fun1433 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1440 = R.mC();\n}\nwhile(!R.isContinuation($ans1440)) {\nswitch($step1439) {\ncase 0: $ans1440 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[814],L[815]);\nvar anf_fun1433 = $ans1440;\n$al1441 = L[816];\nvar anf_arg1421 = G(self1362,\"loc\",L[816]);\n$step1439 = 1;\n$al1441 = L[830];\n// omitting isFunction check;\n$ans1440 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1421,(0),(true));\nbreak;\ncase 1: var anf_arg1434 = $ans1440;\n$al1441 = L[817];\nvar anf_arg1422 = G(self1362,\"loc\",L[817]);\n$step1439 = 2;\n$al1441 = L[829];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1422);\nbreak;\ncase 2: var anf_arg1435 = $ans1440;\n$ans1440 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[818],L[819]);\nvar anf_fun1427 = $ans1440;\n$step1439 = 3;\n$al1441 = L[828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app((\"The left side was a tuple of \"));\nbreak;\ncase 3: var anf_arg1428 = $ans1440;\n$al1441 = L[820];\nvar anf_arg1423 = G(self1362,\"len\",L[820]);\n$step1439 = 4;\n$al1441 = L[827];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1423);\nbreak;\ncase 4: var anf_arg1429 = $ans1440;\n$step1439 = 5;\n$al1441 = L[826];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 5: var anf_arg1430 = $ans1440;\n$al1441 = L[821];\nvar anf_arg1424 = G(self1362,\"index\",L[821]);\n// caller optimization;\n$ans1440 = num$to$string7.app(anf_arg1424);\nvar anf_arg1425 = $ans1440;\n$step1439 = 6;\n$al1441 = L[825];\n// omitting isFunction check;\n$ans1440 = _plus5.app(anf_arg1425,(\"):\"));\nbreak;\ncase 6: var anf_arg1426 = $ans1440;\n$step1439 = 7;\n$al1441 = L[824];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app(anf_arg1426);\nbreak;\ncase 7: var anf_arg1431 = $ans1440;\n$step1439 = 8;\n$al1441 = L[819];\nif(typeof(anf_fun1427.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,anf_fun1427);\n}\n$ans1440 = anf_fun1427.app(anf_arg1428,anf_arg1429,anf_arg1430,anf_arg1431);\nbreak;\ncase 8: var anf_arg1436 = $ans1440;\n$al1441 = L[822];\nvar anf_arg1432 = G(self1362,\"tup\",L[822]);\n$step1439 = 9;\n$al1441 = L[823];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"embed\"].app(anf_arg1432);\nbreak;\ncase 9: var anf_arg1437 = $ans1440;\n$step1439 = 10;\n$al1441 = L[815];\nif(typeof(anf_fun1433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,anf_fun1433);\n}\n$ans1440 = anf_fun1433.app(anf_arg1434,anf_arg1435,anf_arg1436,anf_arg1437);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1440;\ndefault: R.ffi.throwSpinnakerError(L[815],$step1439);\n}\n}\nif($step1439 !== 10) {\n$ans1440.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1441,$temp_branch1438,$step1439,[],[anf_fun1427,anf_arg1430,anf_arg1434,anf_arg1435,anf_arg1436,anf_arg1428,anf_arg1429,anf_fun1433],$elidedFrames1443);\n}\nreturn $ans1440;\n};\n$ans1366 = cases1388.$app_fields($temp_branch1438,[]);\nbreak;\ncase 18: $ans1366 = R.throwNoCasesMatched(L[813],cases1388);\n$step1360 = 28;\nbreak;\ncase 19: $ans1366 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[834],L[835]);\nvar anf_fun1458 = $ans1366;\n$al1367 = L[836];\nvar anf_arg1447 = G(self1362,\"loc\",L[836]);\n$step1360 = 20;\n$al1367 = L[848];\n// omitting isFunction check;\n$ans1366 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1447);\nbreak;\ncase 20: var anf_arg1459 = $ans1366;\n$ans1366 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[837],L[838]);\nvar anf_fun1452 = $ans1366;\n$step1360 = 21;\n$al1367 = L[847];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\" failed because the left side was a tuple of \"));\nbreak;\ncase 21: var anf_arg1453 = $ans1366;\n$al1367 = L[839];\nvar anf_arg1448 = G(self1362,\"len\",L[839]);\n$step1360 = 22;\n$al1367 = L[846];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1448);\nbreak;\ncase 22: var anf_arg1454 = $ans1366;\n$step1360 = 23;\n$al1367 = L[845];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 23: var anf_arg1455 = $ans1366;\n$al1367 = L[840];\nvar anf_arg1449 = G(self1362,\"index\",L[840]);\n// caller optimization;\n$ans1366 = num$to$string7.app(anf_arg1449);\nvar anf_arg1450 = $ans1366;\n$step1360 = 24;\n$al1367 = L[844];\n// omitting isFunction check;\n$ans1366 = _plus5.app(anf_arg1450,(\"):\"));\nbreak;\ncase 24: var anf_arg1451 = $ans1366;\n$step1360 = 25;\n$al1367 = L[843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app(anf_arg1451);\nbreak;\ncase 25: var anf_arg1456 = $ans1366;\n$step1360 = 26;\n$al1367 = L[838];\nif(typeof(anf_fun1452.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1452);\n}\n$ans1366 = anf_fun1452.app(anf_arg1453,anf_arg1454,anf_arg1455,anf_arg1456);\nbreak;\ncase 26: var anf_arg1460 = $ans1366;\n$al1367 = L[841];\nvar anf_arg1457 = G(self1362,\"tup\",L[841]);\n$step1360 = 27;\n$al1367 = L[842];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"embed\"].app(anf_arg1457);\nbreak;\ncase 27: var anf_arg1461 = $ans1366;\n$step1360 = 28;\n$al1367 = L[835];\nif(typeof(anf_fun1458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1458);\n}\n$ans1366 = anf_fun1458.app(anf_arg1459,anf_arg1460,anf_arg1461);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans1366;\ndefault: R.ffi.throwSpinnakerError(L[762],$step1360);\n}\n}\nif($step1360 !== 28) {\n$ans1366.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1367,$temp_full1361,$step1360,[self1362,maybe$stack$loc1363,src$available1364,maybe$ast1365],[anf_arg1383,anf_fun1458,anf_arg1460,anf_arg1384,anf_arg1453,anf_arg1377,anf_arg1454,anf_arg1378,anf_arg1455,anf_arg1379,anf_arg1459,cases1388,anf_fun1382,anf_fun1452,anf_fun1376],$elidedFrames1369);\n}\nreturn $ans1366;\n};\nvar anf_variant_member5811 = R.makeMethod3($temp_full1361,\"render-fancy-reason\");\nvar $temp_full1466 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__850($self1467) {\nvar $step1465 = 0;\nvar $elidedFrames1471 = 0;\nvar $ans1468 = D;\nvar $al1469 = L[850];\nif(R.isAR($self1467)) {\n$step1465 = $self1467.step;\n$al1469 = $self1467.from;\n$ans1468 = $self1467.ans;\n$elidedFrames1471 = $self1467.elidedFrames;\nself1467 = $self1467.args[0];\nanf_arg1480 = $self1467.vars[0];\nanf_arg1484 = $self1467.vars[1];\nanf_arg1485 = $self1467.vars[2];\nanf_arg1478 = $self1467.vars[3];\nanf_arg1479 = $self1467.vars[4];\nanf_fun1483 = $self1467.vars[5];\nanf_fun1477 = $self1467.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[850],1,$t,true);\n}\nvar self1467 = $self1467;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1468 = R.mC();\n}\nwhile(!R.isContinuation($ans1468)) {\nswitch($step1465) {\ncase 0: $ans1468 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[851],L[852]);\nvar anf_fun1483 = $ans1468;\n$al1469 = L[853];\nvar anf_arg1472 = G(self1467,\"loc\",L[853]);\n$step1465 = 1;\n$al1469 = L[865];\n// omitting isFunction check;\n$ans1468 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1472);\nbreak;\ncase 1: var anf_arg1484 = $ans1468;\n$ans1468 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[854],L[855]);\nvar anf_fun1477 = $ans1468;\n$step1465 = 2;\n$al1469 = L[864];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app((\" failed because the left side was a tuple of \"));\nbreak;\ncase 2: var anf_arg1478 = $ans1468;\n$al1469 = L[856];\nvar anf_arg1473 = G(self1467,\"len\",L[856]);\n$step1465 = 3;\n$al1469 = L[863];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1473);\nbreak;\ncase 3: var anf_arg1479 = $ans1468;\n$step1465 = 4;\n$al1469 = L[862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 4: var anf_arg1480 = $ans1468;\n$al1469 = L[857];\nvar anf_arg1474 = G(self1467,\"index\",L[857]);\n// caller optimization;\n$ans1468 = num$to$string7.app(anf_arg1474);\nvar anf_arg1475 = $ans1468;\n$step1465 = 5;\n$al1469 = L[861];\n// omitting isFunction check;\n$ans1468 = _plus5.app(anf_arg1475,(\"):\"));\nbreak;\ncase 5: var anf_arg1476 = $ans1468;\n$step1465 = 6;\n$al1469 = L[860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app(anf_arg1476);\nbreak;\ncase 6: var anf_arg1481 = $ans1468;\n$step1465 = 7;\n$al1469 = L[855];\nif(typeof(anf_fun1477.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,anf_fun1477);\n}\n$ans1468 = anf_fun1477.app(anf_arg1478,anf_arg1479,anf_arg1480,anf_arg1481);\nbreak;\ncase 7: var anf_arg1485 = $ans1468;\n$al1469 = L[858];\nvar anf_arg1482 = G(self1467,\"tup\",L[858]);\n$step1465 = 8;\n$al1469 = L[859];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"embed\"].app(anf_arg1482);\nbreak;\ncase 8: var anf_arg1486 = $ans1468;\n$step1465 = 9;\n$al1469 = L[852];\nif(typeof(anf_fun1483.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,anf_fun1483);\n}\n$ans1468 = anf_fun1483.app(anf_arg1484,anf_arg1485,anf_arg1486);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1468;\ndefault: R.ffi.throwSpinnakerError(L[850],$step1465);\n}\n}\nif($step1465 !== 9) {\n$ans1468.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1469,$temp_full1466,$step1465,[self1467],[anf_arg1480,anf_arg1484,anf_arg1485,anf_arg1478,anf_arg1479,anf_fun1483,anf_fun1477],$elidedFrames1471);\n}\nreturn $ans1468;\n};\nvar anf_variant_member5812 = R.makeMethod0($temp_full1466,\"render-reason\");\nvar $temp_full1489 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__866($self1490,$maybe$stack$loc1491,$src$available1492,$maybe$ast1493) {\nvar $step1488 = 0;\nvar $elidedFrames1497 = 0;\nvar $ans1494 = D;\nvar $al1495 = L[866];\nif(R.isAR($self1490)) {\n$step1488 = $self1490.step;\n$al1495 = $self1490.from;\n$ans1494 = $self1490.ans;\n$elidedFrames1497 = $self1490.elidedFrames;\nself1490 = $self1490.args[0];\nmaybe$stack$loc1491 = $self1490.args[1];\nsrc$available1492 = $self1490.args[2];\nmaybe$ast1493 = $self1490.args[3];\nanf_fun1500 = $self1490.vars[0];\nanf_arg1550 = $self1490.vars[1];\nanf_fun1505 = $self1490.vars[2];\nanf_fun1549 = $self1490.vars[3];\nanf_arg1551 = $self1490.vars[4];\nanf_arg1555 = $self1490.vars[5];\nanf_arg1501 = $self1490.vars[6];\nanf_arg1502 = $self1490.vars[7];\nanf_arg1506 = $self1490.vars[8];\nanf_arg1507 = $self1490.vars[9];\ncases1511 = $self1490.vars[10];\nanf_fun1554 = $self1490.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[866],4,$t,true);\n}\nvar self1490 = $self1490;\nvar maybe$stack$loc1491 = $maybe$stack$loc1491;\nvar src$available1492 = $src$available1492;\nvar maybe$ast1493 = $maybe$ast1493;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1494 = R.mC();\n}\nwhile(!R.isContinuation($ans1494)) {\nswitch($step1488) {\ncase 0: $al1495 = L[867];\nvar anf_method_obj1498 = G(self1490,\"loc\",L[867]);\n$step1488 = 1;\n$ans1494 = R.maybeMethodCall0(anf_method_obj1498,\"is-builtin\",L[868]);\nbreak;\ncase 1: var anf_if1558 = $ans1494;\n$step1488 = R.checkPyretTrue(anf_if1558)?2:9;\nbreak;\ncase 2: $ans1494 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[869],L[870]);\nvar anf_fun1505 = $ans1494;\n$ans1494 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[871],L[872]);\nvar anf_fun1500 = $ans1494;\n$step1488 = 3;\n$al1495 = L[879];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 3: var anf_arg1501 = $ans1494;\n$al1495 = L[873];\nvar anf_arg1499 = G(self1490,\"loc\",L[873]);\n$step1488 = 4;\n$al1495 = L[878];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"loc\"].app(anf_arg1499);\nbreak;\ncase 4: var anf_arg1502 = $ans1494;\n$step1488 = 5;\n$al1495 = L[877];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value: \"));\nbreak;\ncase 5: var anf_arg1503 = $ans1494;\n$step1488 = 6;\n$al1495 = L[872];\nif(typeof(anf_fun1500.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1500);\n}\n$ans1494 = anf_fun1500.app(anf_arg1501,anf_arg1502,anf_arg1503);\nbreak;\ncase 6: var anf_arg1506 = $ans1494;\n$al1495 = L[874];\nvar anf_arg1504 = G(self1490,\"non-tup\",L[874]);\n$step1488 = 7;\n$al1495 = L[876];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"embed\"].app(anf_arg1504);\nbreak;\ncase 7: var anf_arg1507 = $ans1494;\n$step1488 = 8;\n$al1495 = L[875];\n// omitting isFunction check;\n$ans1494 = please$report$bug158.$var.app();\nbreak;\ncase 8: var anf_arg1508 = $ans1494;\n$step1488 = 23;\n$al1495 = L[870];\nif(typeof(anf_fun1505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1505);\n}\n$ans1494 = anf_fun1505.app(anf_arg1506,anf_arg1507,anf_arg1508);\nbreak;\ncase 9: $al1495 = L[880];\nvar anf_arg1509 = G(self1490,\"loc\",L[880]);\n$step1488 = 10;\n$al1495 = L[918];\nif(typeof(src$available1492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,src$available1492);\n}\n$ans1494 = src$available1492.app(anf_arg1509);\nbreak;\ncase 10: var anf_if1557 = $ans1494;\n$step1488 = R.checkPyretTrue(anf_if1557)?11:17;\nbreak;\ncase 11: $al1495 = L[881];\nvar anf_arg1510 = G(self1490,\"loc\",L[881]);\n$step1488 = 12;\n$al1495 = L[907];\nif(typeof(maybe$ast1493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,maybe$ast1493);\n}\n$ans1494 = maybe$ast1493.app(anf_arg1510);\nbreak;\ncase 12: var cases1511 = $ans1494;\n$step1488 = 13;\n$al1495 = L[906];\nvar $ann$check1547 = R._cA(L[906],R.gDA(L[906],\"O\",O8.dict.types,\"Option\"),cases1511);\nif(R.isContinuation($ann$check1547)) {\n$ans1494 = $ann$check1547;\n}\nbreak;\ncase 13: $al1495 = L[894];\n$step1488 = $cases_dispatch1546[cases1511.$name] || 16;\nbreak;\ncase 14: if(cases1511.$arity !== 1) {\nif(cases1511.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[893],1,cases1511.$arity,L[894],cases1511.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[893],true,L[894],cases1511.$loc);\n}\n}\n$step1488 = 23;\n$al1495 = L[893];\nvar $temp_branch1522 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__894($ast1528) {\nvar $step1523 = 0;\nvar $elidedFrames1527 = 0;\nvar $ans1524 = D;\nvar $al1525 = L[883];\nif(R.isAR($ast1528)) {\n$step1523 = $ast1528.step;\n$al1525 = $ast1528.from;\n$ans1524 = $ast1528.ans;\n$elidedFrames1527 = $ast1528.elidedFrames;\nast1528 = $ast1528.args[0];\nanf_fun1514 = $ast1528.vars[0];\nanf_fun1517 = $ast1528.vars[1];\nanf_arg1520 = $ast1528.vars[2];\nanf_arg1518 = $ast1528.vars[3];\nanf_arg1519 = $ast1528.vars[4];\n} else {\nvar ast1528 = $ast1528;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1524 = R.mC();\n}\nwhile(!R.isContinuation($ans1524)) {\nswitch($step1523) {\ncase 0: $ans1524 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[882],L[883]);\nvar anf_fun1517 = $ans1524;\n$al1525 = L[884];\nvar anf_arg1512 = G(self1490,\"loc\",L[884]);\n$step1523 = 1;\n$al1525 = L[892];\n// omitting isFunction check;\n$ans1524 = ed$intro146.$var.app((\"tuple binding statement\"),anf_arg1512,(-1),(true));\nbreak;\ncase 1: var anf_arg1518 = $ans1524;\n$al1525 = L[885];\nvar anf_arg1513 = G(self1490,\"loc\",L[885]);\n$step1523 = 2;\n$al1525 = L[891];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1513);\nbreak;\ncase 2: var anf_arg1519 = $ans1524;\n$ans1524 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[886],L[887]);\nvar anf_fun1514 = $ans1524;\n$step1523 = 3;\n$al1525 = L[890];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"text\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"text\"].app((\"failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 3: var anf_arg1515 = $ans1524;\n$step1523 = 4;\n$al1525 = L[887];\nif(typeof(anf_fun1514.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,anf_fun1514);\n}\n$ans1524 = anf_fun1514.app(anf_arg1515);\nbreak;\ncase 4: var anf_arg1520 = $ans1524;\n$al1525 = L[888];\nvar anf_arg1516 = G(self1490,\"non-tup\",L[888]);\n$step1523 = 5;\n$al1525 = L[889];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"embed\"].app(anf_arg1516);\nbreak;\ncase 5: var anf_arg1521 = $ans1524;\n$step1523 = 6;\n$al1525 = L[883];\nif(typeof(anf_fun1517.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,anf_fun1517);\n}\n$ans1524 = anf_fun1517.app(anf_arg1518,anf_arg1519,anf_arg1520,anf_arg1521);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1524;\ndefault: R.ffi.throwSpinnakerError(L[883],$step1523);\n}\n}\nif($step1523 !== 6) {\n$ans1524.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1525,$temp_branch1522,$step1523,[ast1528],[anf_fun1514,anf_fun1517,anf_arg1520,anf_arg1518,anf_arg1519],$elidedFrames1527);\n}\nreturn $ans1524;\n};\n$ans1494 = cases1511.$app_fields($temp_branch1522,[false]);\nbreak;\ncase 15: if(cases1511.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[905],false,L[894],cases1511.$loc);\n}\n$step1488 = 23;\n$al1495 = L[905];\nvar $temp_branch1539 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__894($$resumer13) {\nvar $step1540 = 0;\nvar $elidedFrames1544 = 0;\nvar $ans1541 = D;\nvar $al1542 = L[896];\nif(R.isAR($$resumer13)) {\n$step1540 = $$resumer13.step;\n$al1542 = $$resumer13.from;\n$ans1541 = $$resumer13.ans;\n$elidedFrames1544 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1536 = $$resumer13.vars[0];\nanf_arg1532 = $$resumer13.vars[1];\nanf_arg1533 = $$resumer13.vars[2];\nanf_arg1537 = $$resumer13.vars[3];\nanf_fun1531 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1541 = R.mC();\n}\nwhile(!R.isContinuation($ans1541)) {\nswitch($step1540) {\ncase 0: $ans1541 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[895],L[896]);\nvar anf_fun1536 = $ans1541;\n$ans1541 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[897],L[898]);\nvar anf_fun1531 = $ans1541;\n$step1540 = 1;\n$al1542 = L[904];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"text\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 1: var anf_arg1532 = $ans1541;\n$al1542 = L[899];\nvar anf_arg1530 = G(self1490,\"loc\",L[899]);\n$step1540 = 2;\n$al1542 = L[903];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"loc\"].app(anf_arg1530);\nbreak;\ncase 2: var anf_arg1533 = $ans1541;\n$step1540 = 3;\n$al1542 = L[902];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"text\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 3: var anf_arg1534 = $ans1541;\n$step1540 = 4;\n$al1542 = L[898];\nif(typeof(anf_fun1531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,anf_fun1531);\n}\n$ans1541 = anf_fun1531.app(anf_arg1532,anf_arg1533,anf_arg1534);\nbreak;\ncase 4: var anf_arg1537 = $ans1541;\n$al1542 = L[900];\nvar anf_arg1535 = G(self1490,\"non-tup\",L[900]);\n$step1540 = 5;\n$al1542 = L[901];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"embed\"].app(anf_arg1535);\nbreak;\ncase 5: var anf_arg1538 = $ans1541;\n$step1540 = 6;\n$al1542 = L[896];\nif(typeof(anf_fun1536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,anf_fun1536);\n}\n$ans1541 = anf_fun1536.app(anf_arg1537,anf_arg1538);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1541;\ndefault: R.ffi.throwSpinnakerError(L[896],$step1540);\n}\n}\nif($step1540 !== 6) {\n$ans1541.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1542,$temp_branch1539,$step1540,[],[anf_fun1536,anf_arg1532,anf_arg1533,anf_arg1537,anf_fun1531],$elidedFrames1544);\n}\nreturn $ans1541;\n};\n$ans1494 = cases1511.$app_fields($temp_branch1539,[]);\nbreak;\ncase 16: $ans1494 = R.throwNoCasesMatched(L[894],cases1511);\n$step1488 = 23;\nbreak;\ncase 17: $ans1494 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[908],L[909]);\nvar anf_fun1554 = $ans1494;\n$ans1494 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[910],L[911]);\nvar anf_fun1549 = $ans1494;\n$step1488 = 18;\n$al1495 = L[917];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 18: var anf_arg1550 = $ans1494;\n$al1495 = L[912];\nvar anf_arg1548 = G(self1490,\"loc\",L[912]);\n$step1488 = 19;\n$al1495 = L[916];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"loc\"].app(anf_arg1548);\nbreak;\ncase 19: var anf_arg1551 = $ans1494;\n$step1488 = 20;\n$al1495 = L[915];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 20: var anf_arg1552 = $ans1494;\n$step1488 = 21;\n$al1495 = L[911];\nif(typeof(anf_fun1549.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1549);\n}\n$ans1494 = anf_fun1549.app(anf_arg1550,anf_arg1551,anf_arg1552);\nbreak;\ncase 21: var anf_arg1555 = $ans1494;\n$al1495 = L[913];\nvar anf_arg1553 = G(self1490,\"non-tup\",L[913]);\n$step1488 = 22;\n$al1495 = L[914];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"embed\"].app(anf_arg1553);\nbreak;\ncase 22: var anf_arg1556 = $ans1494;\n$step1488 = 23;\n$al1495 = L[909];\nif(typeof(anf_fun1554.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1554);\n}\n$ans1494 = anf_fun1554.app(anf_arg1555,anf_arg1556);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans1494;\ndefault: R.ffi.throwSpinnakerError(L[866],$step1488);\n}\n}\nif($step1488 !== 23) {\n$ans1494.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1495,$temp_full1489,$step1488,[self1490,maybe$stack$loc1491,src$available1492,maybe$ast1493],[anf_fun1500,anf_arg1550,anf_fun1505,anf_fun1549,anf_arg1551,anf_arg1555,anf_arg1501,anf_arg1502,anf_arg1506,anf_arg1507,cases1511,anf_fun1554],$elidedFrames1497);\n}\nreturn $ans1494;\n};\nvar anf_variant_member5823 = R.makeMethod3($temp_full1489,\"render-fancy-reason\");\nvar $temp_full1561 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__919($self1562) {\nvar $step1560 = 0;\nvar $elidedFrames1566 = 0;\nvar $ans1563 = D;\nvar $al1564 = L[919];\nif(R.isAR($self1562)) {\n$step1560 = $self1562.step;\n$al1564 = $self1562.from;\n$ans1563 = $self1562.ans;\n$elidedFrames1566 = $self1562.elidedFrames;\nself1562 = $self1562.args[0];\nanf_arg1580 = $self1562.vars[0];\nanf_fun1579 = $self1562.vars[1];\nanf_arg1570 = $self1562.vars[2];\nanf_arg1581 = $self1562.vars[3];\nanf_fun1569 = $self1562.vars[4];\nanf_arg1571 = $self1562.vars[5];\nanf_arg1585 = $self1562.vars[6];\nanf_arg1575 = $self1562.vars[7];\nanf_arg1576 = $self1562.vars[8];\nanf_fun1584 = $self1562.vars[9];\nanf_fun1574 = $self1562.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[919],1,$t,true);\n}\nvar self1562 = $self1562;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1563 = R.mC();\n}\nwhile(!R.isContinuation($ans1563)) {\nswitch($step1560) {\ncase 0: $al1564 = L[920];\nvar anf_method_obj1567 = G(self1562,\"loc\",L[920]);\n$step1560 = 1;\n$ans1563 = R.maybeMethodCall0(anf_method_obj1567,\"is-builtin\",L[921]);\nbreak;\ncase 1: var anf_if1587 = $ans1563;\n$step1560 = R.checkPyretTrue(anf_if1587)?2:9;\nbreak;\ncase 2: $ans1563 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[922],L[923]);\nvar anf_fun1574 = $ans1563;\n$ans1563 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[924],L[925]);\nvar anf_fun1569 = $ans1563;\n$step1560 = 3;\n$al1564 = L[932];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 3: var anf_arg1570 = $ans1563;\n$al1564 = L[926];\nvar anf_arg1568 = G(self1562,\"loc\",L[926]);\n$step1560 = 4;\n$al1564 = L[931];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"loc\"].app(anf_arg1568);\nbreak;\ncase 4: var anf_arg1571 = $ans1563;\n$step1560 = 5;\n$al1564 = L[930];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\" failed because the right hand side did not evaluate to a tuple:\"));\nbreak;\ncase 5: var anf_arg1572 = $ans1563;\n$step1560 = 6;\n$al1564 = L[925];\nif(typeof(anf_fun1569.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1569);\n}\n$ans1563 = anf_fun1569.app(anf_arg1570,anf_arg1571,anf_arg1572);\nbreak;\ncase 6: var anf_arg1575 = $ans1563;\n$al1564 = L[927];\nvar anf_arg1573 = G(self1562,\"non-tup\",L[927]);\n$step1560 = 7;\n$al1564 = L[929];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"embed\"].app(anf_arg1573);\nbreak;\ncase 7: var anf_arg1576 = $ans1563;\n$step1560 = 8;\n$al1564 = L[928];\n// omitting isFunction check;\n$ans1563 = please$report$bug158.$var.app();\nbreak;\ncase 8: var anf_arg1577 = $ans1563;\n$step1560 = 15;\n$al1564 = L[923];\nif(typeof(anf_fun1574.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1574);\n}\n$ans1563 = anf_fun1574.app(anf_arg1575,anf_arg1576,anf_arg1577);\nbreak;\ncase 9: $ans1563 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[933],L[934]);\nvar anf_fun1584 = $ans1563;\n$ans1563 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[935],L[936]);\nvar anf_fun1579 = $ans1563;\n$step1560 = 10;\n$al1564 = L[942];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 10: var anf_arg1580 = $ans1563;\n$al1564 = L[937];\nvar anf_arg1578 = G(self1562,\"loc\",L[937]);\n$step1560 = 11;\n$al1564 = L[941];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"loc\"].app(anf_arg1578);\nbreak;\ncase 11: var anf_arg1581 = $ans1563;\n$step1560 = 12;\n$al1564 = L[940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\" failed because the right hand side did not evaluate to a tuple:\"));\nbreak;\ncase 12: var anf_arg1582 = $ans1563;\n$step1560 = 13;\n$al1564 = L[936];\nif(typeof(anf_fun1579.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1579);\n}\n$ans1563 = anf_fun1579.app(anf_arg1580,anf_arg1581,anf_arg1582);\nbreak;\ncase 13: var anf_arg1585 = $ans1563;\n$al1564 = L[938];\nvar anf_arg1583 = G(self1562,\"non-tup\",L[938]);\n$step1560 = 14;\n$al1564 = L[939];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"embed\"].app(anf_arg1583);\nbreak;\ncase 14: var anf_arg1586 = $ans1563;\n$step1560 = 15;\n$al1564 = L[934];\nif(typeof(anf_fun1584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1584);\n}\n$ans1563 = anf_fun1584.app(anf_arg1585,anf_arg1586);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1563;\ndefault: R.ffi.throwSpinnakerError(L[919],$step1560);\n}\n}\nif($step1560 !== 15) {\n$ans1563.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1564,$temp_full1561,$step1560,[self1562],[anf_arg1580,anf_fun1579,anf_arg1570,anf_arg1581,anf_fun1569,anf_arg1571,anf_arg1585,anf_arg1575,anf_arg1576,anf_fun1584,anf_fun1574],$elidedFrames1566);\n}\nreturn $ans1563;\n};\nvar anf_variant_member5824 = R.makeMethod0($temp_full1561,\"render-reason\");\nvar $temp_full1590 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__943($self1591,$maybe$stack$loc1592,$src$available1593,$maybe$ast1594) {\nvar $step1589 = 0;\nvar $elidedFrames1598 = 0;\nvar $ans1595 = D;\nvar $al1596 = L[943];\nif(R.isAR($self1591)) {\n$step1589 = $self1591.step;\n$al1596 = $self1591.from;\n$ans1595 = $self1591.ans;\n$elidedFrames1598 = $self1591.elidedFrames;\nself1591 = $self1591.args[0];\nmaybe$stack$loc1592 = $self1591.args[1];\nsrc$available1593 = $self1591.args[2];\nmaybe$ast1594 = $self1591.args[3];\nanf_array1681 = $self1591.vars[0];\nanf_fun1603 = $self1591.vars[1];\nanf_arg1684 = $self1591.vars[2];\nanf_fun1606 = $self1591.vars[3];\nanf_array1604 = $self1591.vars[4];\nanf_arg1607 = $self1591.vars[5];\nanf_arg1608 = $self1591.vars[6];\ncases1612 = $self1591.vars[7];\nanf_fun1680 = $self1591.vars[8];\nanf_fun1683 = $self1591.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[943],4,$t,true);\n}\nvar self1591 = $self1591;\nvar maybe$stack$loc1592 = $maybe$stack$loc1592;\nvar src$available1593 = $src$available1593;\nvar maybe$ast1594 = $maybe$ast1594;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1595 = R.mC();\n}\nwhile(!R.isContinuation($ans1595)) {\nswitch($step1589) {\ncase 0: $al1596 = L[944];\nvar anf_method_obj1599 = G(self1591,\"loc\",L[944]);\n$step1589 = 1;\n$ans1595 = R.maybeMethodCall0(anf_method_obj1599,\"is-builtin\",L[945]);\nbreak;\ncase 1: var anf_if1687 = $ans1595;\n$step1589 = R.checkPyretTrue(anf_if1687)?2:13;\nbreak;\ncase 2: $ans1595 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[946],L[947]);\nvar anf_fun1606 = $ans1595;\n$ans1595 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[948],L[949]);\nvar anf_fun1603 = $ans1595;\n$ans1595 = R.makeArrayN((7));\nvar anf_array1604 = $ans1595;\n$step1589 = 3;\n$al1596 = L[962];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 3: anf_array1604[0] = $ans1595;\n$al1596 = L[950];\nvar anf_arg1600 = G(self1591,\"loc\",L[950]);\n$step1589 = 4;\n$al1596 = L[961];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"loc\"].app(anf_arg1600);\nbreak;\ncase 4: anf_array1604[1] = $ans1595;\n$step1589 = 5;\n$al1596 = L[960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 5: anf_array1604[2] = $ans1595;\n$al1596 = L[951];\nvar anf_arg1601 = G(self1591,\"desiredLength\",L[951]);\n$step1589 = 6;\n$al1596 = L[959];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1601);\nbreak;\ncase 6: anf_array1604[3] = $ans1595;\n$step1589 = 7;\n$al1596 = L[958];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 7: anf_array1604[4] = $ans1595;\n$al1596 = L[952];\nvar anf_arg1602 = G(self1591,\"els\",L[952]);\n$step1589 = 8;\n$al1596 = L[957];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1602);\nbreak;\ncase 8: anf_array1604[5] = $ans1595;\n$step1589 = 9;\n$al1596 = L[956];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 9: anf_array1604[6] = $ans1595;\n$step1589 = 10;\n$al1596 = L[949];\nif(typeof(anf_fun1603.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1603);\n}\n$ans1595 = anf_fun1603.app(anf_array1604);\nbreak;\ncase 10: var anf_arg1607 = $ans1595;\n$al1596 = L[953];\nvar anf_arg1605 = G(self1591,\"tup\",L[953]);\n$step1589 = 11;\n$al1596 = L[955];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"embed\"].app(anf_arg1605);\nbreak;\ncase 11: var anf_arg1608 = $ans1595;\n$step1589 = 12;\n$al1596 = L[954];\n// omitting isFunction check;\n$ans1595 = please$report$bug158.$var.app();\nbreak;\ncase 12: var anf_arg1609 = $ans1595;\n$step1589 = 31;\n$al1596 = L[947];\nif(typeof(anf_fun1606.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1606);\n}\n$ans1595 = anf_fun1606.app(anf_arg1607,anf_arg1608,anf_arg1609);\nbreak;\ncase 13: $al1596 = L[963];\nvar anf_arg1610 = G(self1591,\"loc\",L[963]);\n$step1589 = 14;\n$al1596 = L[1025];\nif(typeof(src$available1593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,src$available1593);\n}\n$ans1595 = src$available1593.app(anf_arg1610);\nbreak;\ncase 14: var anf_if1686 = $ans1595;\n$step1589 = R.checkPyretTrue(anf_if1686)?15:21;\nbreak;\ncase 15: $al1596 = L[964];\nvar anf_arg1611 = G(self1591,\"loc\",L[964]);\n$step1589 = 16;\n$al1596 = L[1008];\nif(typeof(maybe$ast1594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,maybe$ast1594);\n}\n$ans1595 = maybe$ast1594.app(anf_arg1611);\nbreak;\ncase 16: var cases1612 = $ans1595;\n$step1589 = 17;\n$al1596 = L[1007];\nvar $ann$check1676 = R._cA(L[1007],R.gDA(L[1007],\"O\",O8.dict.types,\"Option\"),cases1612);\nif(R.isContinuation($ann$check1676)) {\n$ans1595 = $ann$check1676;\n}\nbreak;\ncase 17: $al1596 = L[988];\n$step1589 = $cases_dispatch1675[cases1612.$name] || 20;\nbreak;\ncase 18: if(cases1612.$arity !== 1) {\nif(cases1612.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[987],1,cases1612.$arity,L[988],cases1612.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[987],true,L[988],cases1612.$loc);\n}\n}\n$step1589 = 31;\n$al1596 = L[987];\nvar $temp_branch1638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__988($ast1616) {\nvar $step1639 = 0;\nvar $elidedFrames1643 = 0;\nvar $ans1640 = D;\nvar $al1641 = L[966];\nif(R.isAR($ast1616)) {\n$step1639 = $ast1616.step;\n$al1641 = $ast1616.from;\n$ans1640 = $ast1616.ans;\n$elidedFrames1643 = $ast1616.elidedFrames;\nast1616 = $ast1616.args[0];\nanf_fun1633 = $ast1616.vars[0];\nanf_array1631 = $ast1616.vars[1];\nanf_arg1634 = $ast1616.vars[2];\nanf_arg1635 = $ast1616.vars[3];\nanf_arg1636 = $ast1616.vars[4];\nanf_arg1627 = $ast1616.vars[5];\nanf_fun1630 = $ast1616.vars[6];\n} else {\nvar ast1616 = $ast1616;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1640 = R.mC();\n}\nwhile(!R.isContinuation($ans1640)) {\nswitch($step1639) {\ncase 0: $ans1640 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[965],L[966]);\nvar anf_fun1633 = $ans1640;\n$al1641 = L[967];\nvar anf_arg1613 = G(self1591,\"loc\",L[967]);\n$step1639 = 1;\n$al1641 = L[986];\n// omitting isFunction check;\n$ans1640 = ed$intro146.$var.app((\"tuple binding\"),anf_arg1613,(-1),(true));\nbreak;\ncase 1: var anf_arg1634 = $ans1640;\n$al1641 = L[968];\nvar anf_arg1614 = G(self1591,\"loc\",L[968]);\n$step1639 = 2;\n$al1641 = L[985];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1614);\nbreak;\ncase 2: var anf_arg1635 = $ans1640;\n$ans1640 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[969],L[970]);\nvar anf_fun1630 = $ans1640;\n$ans1640 = R.makeArrayN((6));\nvar anf_array1631 = $ans1640;\n$step1639 = 3;\n$al1641 = L[984];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\"failed because \"));\nbreak;\ncase 3: anf_array1631[0] = $ans1640;\n$al1641 = L[971];\nvar anf_arg1615 = G(self1591,\"desiredLength\",L[971]);\n$step1639 = 4;\n$al1641 = L[983];\nif(typeof(ED6.dict.values.dict[\"ed-names\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"ed-names\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"ed-names\"].app(anf_arg1615);\nbreak;\ncase 4: var anf_arg1627 = $ans1640;\n$al1641 = L[972];\nvar anf_method_obj1625 = G(ast1616,\"fields\",L[972]);\nvar $temp_lam1645 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__973($recv_1619) {\nvar $step1644 = 0;\nvar $elidedFrames1649 = 0;\nvar $ans1646 = D;\nvar $al1647 = L[973];\nif(R.isAR($recv_1619)) {\n$step1644 = $recv_1619.step;\n$al1647 = $recv_1619.from;\n$ans1646 = $recv_1619.ans;\n$elidedFrames1649 = $recv_1619.elidedFrames;\nrecv_1619 = $recv_1619.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[973],1,$t,false);\n}\nvar recv_1619 = $recv_1619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1646 = R.mC();\n}\nwhile(!R.isContinuation($ans1646)) {\nswitch($step1644) {\ncase 0: $step1644 = 1;\n$al1647 = L[973];\n$ans1646 = G(recv_1619,\"l\",L[973]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1646;\ndefault: R.ffi.throwSpinnakerError(L[973],$step1644);\n}\n}\nif($step1644 !== 1) {\n$ans1646.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1647,$temp_lam1645,$step1644,[recv_1619],[],$elidedFrames1649);\n}\nreturn $ans1646;\n};\nvar anf_arg1626 = R.mF($temp_lam1645,\"\");\n$step1639 = 5;\n$ans1640 = R.maybeMethodCall1(anf_method_obj1625,\"map\",L[974],anf_arg1626);\nbreak;\ncase 5: var anf_arg1628 = $ans1640;\n$step1639 = 6;\n$al1641 = L[982];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1627,anf_arg1628,(0));\nbreak;\ncase 6: anf_array1631[1] = $ans1640;\n$step1639 = 7;\n$al1641 = L[981];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given \"));\nbreak;\ncase 7: anf_array1631[2] = $ans1640;\n$step1639 = 8;\n$al1641 = L[980];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\" a tuple containing \"));\nbreak;\ncase 8: anf_array1631[3] = $ans1640;\n$al1641 = L[975];\nvar anf_arg1629 = G(self1591,\"length\",L[975]);\n$step1639 = 9;\n$al1641 = L[979];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1629);\nbreak;\ncase 9: anf_array1631[4] = $ans1640;\n$step1639 = 10;\n$al1641 = L[978];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 10: anf_array1631[5] = $ans1640;\n$step1639 = 11;\n$al1641 = L[970];\nif(typeof(anf_fun1630.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,anf_fun1630);\n}\n$ans1640 = anf_fun1630.app(anf_array1631);\nbreak;\ncase 11: var anf_arg1636 = $ans1640;\n$al1641 = L[976];\nvar anf_arg1632 = G(self1591,\"tup\",L[976]);\n$step1639 = 12;\n$al1641 = L[977];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"embed\"].app(anf_arg1632);\nbreak;\ncase 12: var anf_arg1637 = $ans1640;\n$step1639 = 13;\n$al1641 = L[966];\nif(typeof(anf_fun1633.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,anf_fun1633);\n}\n$ans1640 = anf_fun1633.app(anf_arg1634,anf_arg1635,anf_arg1636,anf_arg1637);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1640;\ndefault: R.ffi.throwSpinnakerError(L[966],$step1639);\n}\n}\nif($step1639 !== 13) {\n$ans1640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1641,$temp_branch1638,$step1639,[ast1616],[anf_fun1633,anf_array1631,anf_arg1634,anf_arg1635,anf_arg1636,anf_arg1627,anf_fun1630],$elidedFrames1643);\n}\nreturn $ans1640;\n};\n$ans1595 = cases1612.$app_fields($temp_branch1638,[false]);\nbreak;\ncase 19: if(cases1612.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1006],false,L[988],cases1612.$loc);\n}\n$step1589 = 31;\n$al1596 = L[1006];\nvar $temp_branch1668 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__988($$resumer13) {\nvar $step1669 = 0;\nvar $elidedFrames1673 = 0;\nvar $ans1670 = D;\nvar $al1671 = L[990];\nif(R.isAR($$resumer13)) {\n$step1669 = $$resumer13.step;\n$al1671 = $$resumer13.from;\n$ans1670 = $$resumer13.ans;\n$elidedFrames1673 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1656 = $$resumer13.vars[0];\nanf_arg1660 = $$resumer13.vars[1];\nanf_arg1664 = $$resumer13.vars[2];\nanf_arg1665 = $$resumer13.vars[3];\nanf_arg1666 = $$resumer13.vars[4];\nanf_arg1657 = $$resumer13.vars[5];\nanf_arg1658 = $$resumer13.vars[6];\nanf_arg1659 = $$resumer13.vars[7];\nanf_fun1663 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1670 = R.mC();\n}\nwhile(!R.isContinuation($ans1670)) {\nswitch($step1669) {\ncase 0: $ans1670 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[989],L[990]);\nvar anf_fun1663 = $ans1670;\n$al1671 = L[991];\nvar anf_arg1652 = G(self1591,\"loc\",L[991]);\n$step1669 = 1;\n$al1671 = L[1005];\n// omitting isFunction check;\n$ans1670 = ed$intro146.$var.app((\"tuple binding\"),anf_arg1652,(0),(true));\nbreak;\ncase 1: var anf_arg1664 = $ans1670;\n$al1671 = L[992];\nvar anf_arg1653 = G(self1591,\"loc\",L[992]);\n$step1669 = 2;\n$al1671 = L[1004];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1653);\nbreak;\ncase 2: var anf_arg1665 = $ans1670;\n$ans1670 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[993],L[994]);\nvar anf_fun1656 = $ans1670;\n$step1669 = 3;\n$al1671 = L[1003];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\"failed because \"));\nbreak;\ncase 3: var anf_arg1657 = $ans1670;\n$al1671 = L[995];\nvar anf_arg1654 = G(self1591,\"desiredLength\",L[995]);\n$step1669 = 4;\n$al1671 = L[1002];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1654);\nbreak;\ncase 4: var anf_arg1658 = $ans1670;\n$step1669 = 5;\n$al1671 = L[1001];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 5: var anf_arg1659 = $ans1670;\n$al1671 = L[996];\nvar anf_arg1655 = G(self1591,\"length\",L[996]);\n$step1669 = 6;\n$al1671 = L[1000];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1655);\nbreak;\ncase 6: var anf_arg1660 = $ans1670;\n$step1669 = 7;\n$al1671 = L[999];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: var anf_arg1661 = $ans1670;\n$step1669 = 8;\n$al1671 = L[994];\nif(typeof(anf_fun1656.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,anf_fun1656);\n}\n$ans1670 = anf_fun1656.app(anf_arg1657,anf_arg1658,anf_arg1659,anf_arg1660,anf_arg1661);\nbreak;\ncase 8: var anf_arg1666 = $ans1670;\n$al1671 = L[997];\nvar anf_arg1662 = G(self1591,\"tup\",L[997]);\n$step1669 = 9;\n$al1671 = L[998];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"embed\"].app(anf_arg1662);\nbreak;\ncase 9: var anf_arg1667 = $ans1670;\n$step1669 = 10;\n$al1671 = L[990];\nif(typeof(anf_fun1663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,anf_fun1663);\n}\n$ans1670 = anf_fun1663.app(anf_arg1664,anf_arg1665,anf_arg1666,anf_arg1667);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1670;\ndefault: R.ffi.throwSpinnakerError(L[990],$step1669);\n}\n}\nif($step1669 !== 10) {\n$ans1670.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1671,$temp_branch1668,$step1669,[],[anf_fun1656,anf_arg1660,anf_arg1664,anf_arg1665,anf_arg1666,anf_arg1657,anf_arg1658,anf_arg1659,anf_fun1663],$elidedFrames1673);\n}\nreturn $ans1670;\n};\n$ans1595 = cases1612.$app_fields($temp_branch1668,[]);\nbreak;\ncase 20: $ans1595 = R.throwNoCasesMatched(L[988],cases1612);\n$step1589 = 31;\nbreak;\ncase 21: $ans1595 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1009],L[1010]);\nvar anf_fun1683 = $ans1595;\n$ans1595 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1011],L[1012]);\nvar anf_fun1680 = $ans1595;\n$ans1595 = R.makeArrayN((7));\nvar anf_array1681 = $ans1595;\n$step1589 = 22;\n$al1596 = L[1024];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 22: anf_array1681[0] = $ans1595;\n$al1596 = L[1013];\nvar anf_arg1677 = G(self1591,\"loc\",L[1013]);\n$step1589 = 23;\n$al1596 = L[1023];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"loc\"].app(anf_arg1677);\nbreak;\ncase 23: anf_array1681[1] = $ans1595;\n$step1589 = 24;\n$al1596 = L[1022];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 24: anf_array1681[2] = $ans1595;\n$al1596 = L[1014];\nvar anf_arg1678 = G(self1591,\"desiredLength\",L[1014]);\n$step1589 = 25;\n$al1596 = L[1021];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1678);\nbreak;\ncase 25: anf_array1681[3] = $ans1595;\n$step1589 = 26;\n$al1596 = L[1020];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 26: anf_array1681[4] = $ans1595;\n$al1596 = L[1015];\nvar anf_arg1679 = G(self1591,\"length\",L[1015]);\n$step1589 = 27;\n$al1596 = L[1019];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1679);\nbreak;\ncase 27: anf_array1681[5] = $ans1595;\n$step1589 = 28;\n$al1596 = L[1018];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 28: anf_array1681[6] = $ans1595;\n$step1589 = 29;\n$al1596 = L[1012];\nif(typeof(anf_fun1680.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1680);\n}\n$ans1595 = anf_fun1680.app(anf_array1681);\nbreak;\ncase 29: var anf_arg1684 = $ans1595;\n$al1596 = L[1016];\nvar anf_arg1682 = G(self1591,\"tup\",L[1016]);\n$step1589 = 30;\n$al1596 = L[1017];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"embed\"].app(anf_arg1682);\nbreak;\ncase 30: var anf_arg1685 = $ans1595;\n$step1589 = 31;\n$al1596 = L[1010];\nif(typeof(anf_fun1683.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1683);\n}\n$ans1595 = anf_fun1683.app(anf_arg1684,anf_arg1685);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans1595;\ndefault: R.ffi.throwSpinnakerError(L[943],$step1589);\n}\n}\nif($step1589 !== 31) {\n$ans1595.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1596,$temp_full1590,$step1589,[self1591,maybe$stack$loc1592,src$available1593,maybe$ast1594],[anf_array1681,anf_fun1603,anf_arg1684,anf_fun1606,anf_array1604,anf_arg1607,anf_arg1608,cases1612,anf_fun1680,anf_fun1683],$elidedFrames1598);\n}\nreturn $ans1595;\n};\nvar anf_variant_member5833 = R.makeMethod3($temp_full1590,\"render-fancy-reason\");\nvar $temp_full1690 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1026($self1691) {\nvar $step1689 = 0;\nvar $elidedFrames1695 = 0;\nvar $ans1692 = D;\nvar $al1693 = L[1026];\nif(R.isAR($self1691)) {\n$step1689 = $self1691.step;\n$al1693 = $self1691.from;\n$ans1692 = $self1691.ans;\n$elidedFrames1695 = $self1691.elidedFrames;\nself1691 = $self1691.args[0];\nanf_fun1710 = $self1691.vars[0];\nanf_fun1700 = $self1691.vars[1];\nanf_fun1713 = $self1691.vars[2];\nanf_fun1703 = $self1691.vars[3];\nanf_array1711 = $self1691.vars[4];\nanf_array1701 = $self1691.vars[5];\nanf_arg1714 = $self1691.vars[6];\nanf_arg1704 = $self1691.vars[7];\nanf_arg1705 = $self1691.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1026],1,$t,true);\n}\nvar self1691 = $self1691;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1692 = R.mC();\n}\nwhile(!R.isContinuation($ans1692)) {\nswitch($step1689) {\ncase 0: $al1693 = L[1027];\nvar anf_method_obj1696 = G(self1691,\"loc\",L[1027]);\n$step1689 = 1;\n$ans1692 = R.maybeMethodCall0(anf_method_obj1696,\"is-builtin\",L[1028]);\nbreak;\ncase 1: var anf_if1716 = $ans1692;\n$step1689 = R.checkPyretTrue(anf_if1716)?2:13;\nbreak;\ncase 2: $ans1692 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1029],L[1030]);\nvar anf_fun1703 = $ans1692;\n$ans1692 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1031],L[1032]);\nvar anf_fun1700 = $ans1692;\n$ans1692 = R.makeArrayN((7));\nvar anf_array1701 = $ans1692;\n$step1689 = 3;\n$al1693 = L[1045];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 3: anf_array1701[0] = $ans1692;\n$al1693 = L[1033];\nvar anf_arg1697 = G(self1691,\"loc\",L[1033]);\n$step1689 = 4;\n$al1693 = L[1044];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"loc\"].app(anf_arg1697);\nbreak;\ncase 4: anf_array1701[1] = $ans1692;\n$step1689 = 5;\n$al1693 = L[1043];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 5: anf_array1701[2] = $ans1692;\n$al1693 = L[1034];\nvar anf_arg1698 = G(self1691,\"desiredLength\",L[1034]);\n$step1689 = 6;\n$al1693 = L[1042];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1698);\nbreak;\ncase 6: anf_array1701[3] = $ans1692;\n$step1689 = 7;\n$al1693 = L[1041];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 7: anf_array1701[4] = $ans1692;\n$al1693 = L[1035];\nvar anf_arg1699 = G(self1691,\"length\",L[1035]);\n$step1689 = 8;\n$al1693 = L[1040];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1699);\nbreak;\ncase 8: anf_array1701[5] = $ans1692;\n$step1689 = 9;\n$al1693 = L[1039];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 9: anf_array1701[6] = $ans1692;\n$step1689 = 10;\n$al1693 = L[1032];\nif(typeof(anf_fun1700.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1700);\n}\n$ans1692 = anf_fun1700.app(anf_array1701);\nbreak;\ncase 10: var anf_arg1704 = $ans1692;\n$al1693 = L[1036];\nvar anf_arg1702 = G(self1691,\"tup\",L[1036]);\n$step1689 = 11;\n$al1693 = L[1038];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"embed\"].app(anf_arg1702);\nbreak;\ncase 11: var anf_arg1705 = $ans1692;\n$step1689 = 12;\n$al1693 = L[1037];\n// omitting isFunction check;\n$ans1692 = please$report$bug158.$var.app();\nbreak;\ncase 12: var anf_arg1706 = $ans1692;\n$step1689 = 23;\n$al1693 = L[1030];\nif(typeof(anf_fun1703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1703);\n}\n$ans1692 = anf_fun1703.app(anf_arg1704,anf_arg1705,anf_arg1706);\nbreak;\ncase 13: $ans1692 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1046],L[1047]);\nvar anf_fun1713 = $ans1692;\n$ans1692 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1048],L[1049]);\nvar anf_fun1710 = $ans1692;\n$ans1692 = R.makeArrayN((7));\nvar anf_array1711 = $ans1692;\n$step1689 = 14;\n$al1693 = L[1061];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 14: anf_array1711[0] = $ans1692;\n$al1693 = L[1050];\nvar anf_arg1707 = G(self1691,\"loc\",L[1050]);\n$step1689 = 15;\n$al1693 = L[1060];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"loc\"].app(anf_arg1707);\nbreak;\ncase 15: anf_array1711[1] = $ans1692;\n$step1689 = 16;\n$al1693 = L[1059];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 16: anf_array1711[2] = $ans1692;\n$al1693 = L[1051];\nvar anf_arg1708 = G(self1691,\"desiredLength\",L[1051]);\n$step1689 = 17;\n$al1693 = L[1058];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1708);\nbreak;\ncase 17: anf_array1711[3] = $ans1692;\n$step1689 = 18;\n$al1693 = L[1057];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the right hand side evaluated to a tuple containing \"));\nbreak;\ncase 18: anf_array1711[4] = $ans1692;\n$al1693 = L[1052];\nvar anf_arg1709 = G(self1691,\"length\",L[1052]);\n$step1689 = 19;\n$al1693 = L[1056];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1709);\nbreak;\ncase 19: anf_array1711[5] = $ans1692;\n$step1689 = 20;\n$al1693 = L[1055];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 20: anf_array1711[6] = $ans1692;\n$step1689 = 21;\n$al1693 = L[1049];\nif(typeof(anf_fun1710.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1710);\n}\n$ans1692 = anf_fun1710.app(anf_array1711);\nbreak;\ncase 21: var anf_arg1714 = $ans1692;\n$al1693 = L[1053];\nvar anf_arg1712 = G(self1691,\"tup\",L[1053]);\n$step1689 = 22;\n$al1693 = L[1054];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"embed\"].app(anf_arg1712);\nbreak;\ncase 22: var anf_arg1715 = $ans1692;\n$step1689 = 23;\n$al1693 = L[1047];\nif(typeof(anf_fun1713.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1713);\n}\n$ans1692 = anf_fun1713.app(anf_arg1714,anf_arg1715);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans1692;\ndefault: R.ffi.throwSpinnakerError(L[1026],$step1689);\n}\n}\nif($step1689 !== 23) {\n$ans1692.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1693,$temp_full1690,$step1689,[self1691],[anf_fun1710,anf_fun1700,anf_fun1713,anf_fun1703,anf_array1711,anf_array1701,anf_arg1714,anf_arg1704,anf_arg1705],$elidedFrames1695);\n}\nreturn $ans1692;\n};\nvar anf_variant_member5834 = R.makeMethod0($temp_full1690,\"render-reason\");\nvar $temp_full1719 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1062($self1720,$maybe$stack$loc1721,$src$available1722,$maybe$ast1723) {\nvar $step1718 = 0;\nvar $elidedFrames1727 = 0;\nvar $ans1724 = D;\nvar $al1725 = L[1062];\nif(R.isAR($self1720)) {\n$step1718 = $self1720.step;\n$al1725 = $self1720.from;\n$ans1724 = $self1720.ans;\n$elidedFrames1727 = $self1720.elidedFrames;\nself1720 = $self1720.args[0];\nmaybe$stack$loc1721 = $self1720.args[1];\nsrc$available1722 = $self1720.args[2];\nmaybe$ast1723 = $self1720.args[3];\nanf_fun1733 = $self1720.vars[0];\nanf_fun1803 = $self1720.vars[1];\nanf_fun1806 = $self1720.vars[2];\nanf_arg1734 = $self1720.vars[3];\nanf_arg1735 = $self1720.vars[4];\nanf_arg1807 = $self1720.vars[5];\nanf_arg1808 = $self1720.vars[6];\ncases1739 = $self1720.vars[7];\nanf_fun1730 = $self1720.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1062],4,$t,true);\n}\nvar self1720 = $self1720;\nvar maybe$stack$loc1721 = $maybe$stack$loc1721;\nvar src$available1722 = $src$available1722;\nvar maybe$ast1723 = $maybe$ast1723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1724 = R.mC();\n}\nwhile(!R.isContinuation($ans1724)) {\nswitch($step1718) {\ncase 0: $al1725 = L[1063];\nvar anf_method_obj1728 = G(self1720,\"loc\",L[1063]);\n$step1718 = 1;\n$ans1724 = R.maybeMethodCall0(anf_method_obj1728,\"is-builtin\",L[1064]);\nbreak;\ncase 1: var anf_if1811 = $ans1724;\n$step1718 = R.checkPyretTrue(anf_if1811)?2:7;\nbreak;\ncase 2: $ans1724 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1065],L[1066]);\nvar anf_fun1733 = $ans1724;\n$al1725 = L[1067];\nvar anf_arg1729 = G(self1720,\"loc\",L[1067]);\n$step1718 = 3;\n$al1725 = L[1073];\n// omitting isFunction check;\n$ans1724 = ed$simple$intro104.$var.app((\"field lookup\"),anf_arg1729);\nbreak;\ncase 3: var anf_arg1734 = $ans1724;\n$ans1724 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1068],L[1069]);\nvar anf_fun1730 = $ans1724;\n$step1718 = 4;\n$al1725 = L[1072];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"text\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg1731 = $ans1724;\n$step1718 = 5;\n$al1725 = L[1069];\nif(typeof(anf_fun1730.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1730);\n}\n$ans1724 = anf_fun1730.app(anf_arg1731);\nbreak;\ncase 5: var anf_arg1735 = $ans1724;\n$al1725 = L[1070];\nvar anf_arg1732 = G(self1720,\"non-obj\",L[1070]);\n$step1718 = 6;\n$al1725 = L[1071];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"embed\"].app(anf_arg1732);\nbreak;\ncase 6: var anf_arg1736 = $ans1724;\n$step1718 = 20;\n$al1725 = L[1066];\nif(typeof(anf_fun1733.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1733);\n}\n$ans1724 = anf_fun1733.app(anf_arg1734,anf_arg1735,anf_arg1736);\nbreak;\ncase 7: $al1725 = L[1074];\nvar anf_arg1737 = G(self1720,\"loc\",L[1074]);\n$step1718 = 8;\n$al1725 = L[1122];\nif(typeof(src$available1722.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,src$available1722);\n}\n$ans1724 = src$available1722.app(anf_arg1737);\nbreak;\ncase 8: var anf_if1810 = $ans1724;\n$step1718 = R.checkPyretTrue(anf_if1810)?9:15;\nbreak;\ncase 9: $al1725 = L[1075];\nvar anf_arg1738 = G(self1720,\"loc\",L[1075]);\n$step1718 = 10;\n$al1725 = L[1112];\nif(typeof(maybe$ast1723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,maybe$ast1723);\n}\n$ans1724 = maybe$ast1723.app(anf_arg1738);\nbreak;\ncase 10: var cases1739 = $ans1724;\n$step1718 = 11;\n$al1725 = L[1111];\nvar $ann$check1801 = R._cA(L[1111],R.gDA(L[1111],\"O\",O8.dict.types,\"Option\"),cases1739);\nif(R.isContinuation($ann$check1801)) {\n$ans1724 = $ann$check1801;\n}\nbreak;\ncase 11: $al1725 = L[1098];\n$step1718 = $cases_dispatch1800[cases1739.$name] || 14;\nbreak;\ncase 12: if(cases1739.$arity !== 1) {\nif(cases1739.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1097],1,cases1739.$arity,L[1098],cases1739.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1097],true,L[1098],cases1739.$loc);\n}\n}\n$step1718 = 20;\n$al1725 = L[1097];\nvar $temp_branch1771 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1098($ast1740) {\nvar $step1772 = 0;\nvar $elidedFrames1776 = 0;\nvar $ans1773 = D;\nvar $al1774 = L[1095];\nif(R.isAR($ast1740)) {\n$step1772 = $ast1740.step;\n$al1774 = $ast1740.from;\n$ans1773 = $ast1740.ans;\n$elidedFrames1776 = $ast1740.elidedFrames;\nast1740 = $ast1740.args[0];\nanf_fun1755 = $ast1740.vars[0];\nanf_arg1751 = $ast1740.vars[1];\nanf_arg1752 = $ast1740.vars[2];\nanf_arg1756 = $ast1740.vars[3];\nanf_arg1757 = $ast1740.vars[4];\nanf_arg1758 = $ast1740.vars[5];\nanf_arg1748 = $ast1740.vars[6];\ncases1741 = $ast1740.vars[7];\nast1744 = $ast1740.vars[8];\nanf_fun1750 = $ast1740.vars[9];\n} else {\nvar ast1740 = $ast1740;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1773 = R.mC();\n}\nwhile(!R.isContinuation($ans1773)) {\nswitch($step1772) {\ncase 0: var cases1741 = ast1740;\n$al1774 = L[1095];\n$step1772 = $cases_dispatch1781[cases1741.$name] || 3;\nbreak;\ncase 1: if(cases1741.$arity !== 3) {\nif(cases1741.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1094],3,cases1741.$arity,L[1095],cases1741.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1094],true,L[1095],cases1741.$loc);\n}\n}\nvar $fn1778 = cases1741.$constructor.$fieldNames;\nR.dF(cases1741.dict[$fn1778[0]],cases1741.$mut_fields_mask[0],false);\nR.dF(cases1741.dict[$fn1778[1]],cases1741.$mut_fields_mask[1],false);\nR.dF(cases1741.dict[$fn1778[2]],cases1741.$mut_fields_mask[2],false);\n$step1772 = 4;\n$ans1773 = ast1740;\nbreak;\ncase 2: if(cases1741.$arity !== 3) {\nif(cases1741.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1096],3,cases1741.$arity,L[1095],cases1741.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1096],true,L[1095],cases1741.$loc);\n}\n}\nvar $fn1780 = cases1741.$constructor.$fieldNames;\nR.dF(cases1741.dict[$fn1780[0]],cases1741.$mut_fields_mask[0],false);\nvar f1765 = R.dF(cases1741.dict[$fn1780[1]],cases1741.$mut_fields_mask[1],false);\nR.dF(cases1741.dict[$fn1780[2]],cases1741.$mut_fields_mask[2],false);\n$step1772 = 4;\n$ans1773 = f1765;\nbreak;\ncase 3: $ans1773 = R.throwNoCasesMatched(L[1095],cases1741);\n$step1772 = 4;\nbreak;\ncase 4: var ast1744 = $ans1773;\n$ans1773 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1076],L[1077]);\nvar anf_fun1755 = $ans1773;\n$al1774 = L[1078];\nvar anf_arg1742 = G(self1720,\"loc\",L[1078]);\n$step1772 = 5;\n$al1774 = L[1093];\n// omitting isFunction check;\n$ans1773 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1742,(-1),(true));\nbreak;\ncase 5: var anf_arg1756 = $ans1773;\n$al1774 = L[1079];\nvar anf_arg1743 = G(self1720,\"loc\",L[1079]);\n$step1772 = 6;\n$al1774 = L[1092];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1743);\nbreak;\ncase 6: var anf_arg1757 = $ans1773;\n$ans1773 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1080],L[1081]);\nvar anf_fun1750 = $ans1773;\n$step1772 = 7;\n$al1774 = L[1091];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1751 = $ans1773;\n$step1772 = 8;\n$al1774 = L[1090];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1748 = $ans1773;\n$ans1773 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1082],L[1083]);\nvar anf_fun1746 = $ans1773;\n$al1774 = L[1084];\nvar anf_bracket1745 = G(ast1744,\"obj\",L[1084]);\n$al1774 = L[1085];\nvar anf_arg1747 = G(anf_bracket1745,\"l\",L[1085]);\n$step1772 = 9;\n$al1774 = L[1083];\nif(typeof(anf_fun1746.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1746);\n}\n$ans1773 = anf_fun1746.app(anf_arg1747);\nbreak;\ncase 9: var anf_arg1749 = $ans1773;\n$step1772 = 10;\n$al1774 = L[1089];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1748,anf_arg1749,(0));\nbreak;\ncase 10: var anf_arg1752 = $ans1773;\n$step1772 = 11;\n$al1774 = L[1088];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\" was not an object:\"));\nbreak;\ncase 11: var anf_arg1753 = $ans1773;\n$step1772 = 12;\n$al1774 = L[1081];\nif(typeof(anf_fun1750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1750);\n}\n$ans1773 = anf_fun1750.app(anf_arg1751,anf_arg1752,anf_arg1753);\nbreak;\ncase 12: var anf_arg1758 = $ans1773;\n$al1774 = L[1086];\nvar anf_arg1754 = G(self1720,\"non-obj\",L[1086]);\n$step1772 = 13;\n$al1774 = L[1087];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"embed\"].app(anf_arg1754);\nbreak;\ncase 13: var anf_arg1759 = $ans1773;\n$step1772 = 14;\n$al1774 = L[1077];\nif(typeof(anf_fun1755.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1755);\n}\n$ans1773 = anf_fun1755.app(anf_arg1756,anf_arg1757,anf_arg1758,anf_arg1759);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1773;\ndefault: R.ffi.throwSpinnakerError(L[1095],$step1772);\n}\n}\nif($step1772 !== 14) {\n$ans1773.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1774,$temp_branch1771,$step1772,[ast1740],[anf_fun1755,anf_arg1751,anf_arg1752,anf_arg1756,anf_arg1757,anf_arg1758,anf_arg1748,cases1741,ast1744,anf_fun1750],$elidedFrames1776);\n}\nreturn $ans1773;\n};\n$ans1724 = cases1739.$app_fields($temp_branch1771,[false]);\nbreak;\ncase 13: if(cases1739.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1110],false,L[1098],cases1739.$loc);\n}\n$step1718 = 20;\n$al1725 = L[1110];\nvar $temp_branch1793 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1098($$resumer13) {\nvar $step1794 = 0;\nvar $elidedFrames1798 = 0;\nvar $ans1795 = D;\nvar $al1796 = L[1100];\nif(R.isAR($$resumer13)) {\n$step1794 = $$resumer13.step;\n$al1796 = $$resumer13.from;\n$ans1795 = $$resumer13.ans;\n$elidedFrames1798 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1788 = $$resumer13.vars[0];\nanf_arg1790 = $$resumer13.vars[1];\nanf_arg1791 = $$resumer13.vars[2];\nanf_arg1789 = $$resumer13.vars[3];\nanf_fun1785 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1795 = R.mC();\n}\nwhile(!R.isContinuation($ans1795)) {\nswitch($step1794) {\ncase 0: $ans1795 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1099],L[1100]);\nvar anf_fun1788 = $ans1795;\n$al1796 = L[1101];\nvar anf_arg1783 = G(self1720,\"loc\",L[1101]);\n$step1794 = 1;\n$al1796 = L[1109];\n// omitting isFunction check;\n$ans1795 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1783,(-1),(true));\nbreak;\ncase 1: var anf_arg1789 = $ans1795;\n$al1796 = L[1102];\nvar anf_arg1784 = G(self1720,\"loc\",L[1102]);\n$step1794 = 2;\n$al1796 = L[1108];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1784);\nbreak;\ncase 2: var anf_arg1790 = $ans1795;\n$ans1795 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1103],L[1104]);\nvar anf_fun1785 = $ans1795;\n$step1794 = 3;\n$al1796 = L[1107];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"text\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 3: var anf_arg1786 = $ans1795;\n$step1794 = 4;\n$al1796 = L[1104];\nif(typeof(anf_fun1785.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,anf_fun1785);\n}\n$ans1795 = anf_fun1785.app(anf_arg1786);\nbreak;\ncase 4: var anf_arg1791 = $ans1795;\n$al1796 = L[1105];\nvar anf_arg1787 = G(self1720,\"non-obj\",L[1105]);\n$step1794 = 5;\n$al1796 = L[1106];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"embed\"].app(anf_arg1787);\nbreak;\ncase 5: var anf_arg1792 = $ans1795;\n$step1794 = 6;\n$al1796 = L[1100];\nif(typeof(anf_fun1788.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,anf_fun1788);\n}\n$ans1795 = anf_fun1788.app(anf_arg1789,anf_arg1790,anf_arg1791,anf_arg1792);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1795;\ndefault: R.ffi.throwSpinnakerError(L[1100],$step1794);\n}\n}\nif($step1794 !== 6) {\n$ans1795.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1796,$temp_branch1793,$step1794,[],[anf_fun1788,anf_arg1790,anf_arg1791,anf_arg1789,anf_fun1785],$elidedFrames1798);\n}\nreturn $ans1795;\n};\n$ans1724 = cases1739.$app_fields($temp_branch1793,[]);\nbreak;\ncase 14: $ans1724 = R.throwNoCasesMatched(L[1098],cases1739);\n$step1718 = 20;\nbreak;\ncase 15: $ans1724 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1113],L[1114]);\nvar anf_fun1806 = $ans1724;\n$al1725 = L[1115];\nvar anf_arg1802 = G(self1720,\"loc\",L[1115]);\n$step1718 = 16;\n$al1725 = L[1121];\n// omitting isFunction check;\n$ans1724 = ed$simple$intro104.$var.app((\"field lookup\"),anf_arg1802);\nbreak;\ncase 16: var anf_arg1807 = $ans1724;\n$ans1724 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1116],L[1117]);\nvar anf_fun1803 = $ans1724;\n$step1718 = 17;\n$al1725 = L[1120];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"text\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 17: var anf_arg1804 = $ans1724;\n$step1718 = 18;\n$al1725 = L[1117];\nif(typeof(anf_fun1803.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1803);\n}\n$ans1724 = anf_fun1803.app(anf_arg1804);\nbreak;\ncase 18: var anf_arg1808 = $ans1724;\n$al1725 = L[1118];\nvar anf_arg1805 = G(self1720,\"non-obj\",L[1118]);\n$step1718 = 19;\n$al1725 = L[1119];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"embed\"].app(anf_arg1805);\nbreak;\ncase 19: var anf_arg1809 = $ans1724;\n$step1718 = 20;\n$al1725 = L[1114];\nif(typeof(anf_fun1806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1806);\n}\n$ans1724 = anf_fun1806.app(anf_arg1807,anf_arg1808,anf_arg1809);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1724;\ndefault: R.ffi.throwSpinnakerError(L[1062],$step1718);\n}\n}\nif($step1718 !== 20) {\n$ans1724.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1725,$temp_full1719,$step1718,[self1720,maybe$stack$loc1721,src$available1722,maybe$ast1723],[anf_fun1733,anf_fun1803,anf_fun1806,anf_arg1734,anf_arg1735,anf_arg1807,anf_arg1808,cases1739,anf_fun1730],$elidedFrames1727);\n}\nreturn $ans1724;\n};\nvar anf_variant_member5845 = R.makeMethod3($temp_full1719,\"render-fancy-reason\");\nvar $temp_full1814 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1123($self1815) {\nvar $step1813 = 0;\nvar $elidedFrames1819 = 0;\nvar $ans1816 = D;\nvar $al1817 = L[1123];\nif(R.isAR($self1815)) {\n$step1813 = $self1815.step;\n$al1817 = $self1815.from;\n$ans1816 = $self1815.ans;\n$elidedFrames1819 = $self1815.elidedFrames;\nself1815 = $self1815.args[0];\nanf_fun1824 = $self1815.vars[0];\nanf_arg1825 = $self1815.vars[1];\nanf_fun1821 = $self1815.vars[2];\nanf_arg1826 = $self1815.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1123],1,$t,true);\n}\nvar self1815 = $self1815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1816 = R.mC();\n}\nwhile(!R.isContinuation($ans1816)) {\nswitch($step1813) {\ncase 0: $ans1816 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1124],L[1125]);\nvar anf_fun1824 = $ans1816;\n$al1817 = L[1126];\nvar anf_arg1820 = G(self1815,\"loc\",L[1126]);\n$step1813 = 1;\n$al1817 = L[1132];\n// omitting isFunction check;\n$ans1816 = ed$simple$intro104.$var.app((\"object lookup\"),anf_arg1820);\nbreak;\ncase 1: var anf_arg1825 = $ans1816;\n$ans1816 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1127],L[1128]);\nvar anf_fun1821 = $ans1816;\n$step1813 = 2;\n$al1817 = L[1131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,ED6.dict.values.dict[\"text\"]);\n}\n$ans1816 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 2: var anf_arg1822 = $ans1816;\n$step1813 = 3;\n$al1817 = L[1128];\nif(typeof(anf_fun1821.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,anf_fun1821);\n}\n$ans1816 = anf_fun1821.app(anf_arg1822);\nbreak;\ncase 3: var anf_arg1826 = $ans1816;\n$al1817 = L[1129];\nvar anf_arg1823 = G(self1815,\"non-obj\",L[1129]);\n$step1813 = 4;\n$al1817 = L[1130];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1816 = ED6.dict.values.dict[\"embed\"].app(anf_arg1823);\nbreak;\ncase 4: var anf_arg1827 = $ans1816;\n$step1813 = 5;\n$al1817 = L[1125];\nif(typeof(anf_fun1824.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,anf_fun1824);\n}\n$ans1816 = anf_fun1824.app(anf_arg1825,anf_arg1826,anf_arg1827);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1816;\ndefault: R.ffi.throwSpinnakerError(L[1123],$step1813);\n}\n}\nif($step1813 !== 5) {\n$ans1816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1817,$temp_full1814,$step1813,[self1815],[anf_fun1824,anf_arg1825,anf_fun1821,anf_arg1826],$elidedFrames1819);\n}\nreturn $ans1816;\n};\nvar anf_variant_member5846 = R.makeMethod0($temp_full1814,\"render-reason\");\nvar $temp_full1830 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1133($self1831,$maybe$stack$loc1832,$src$available1833,$maybe$ast1834) {\nvar $step1829 = 0;\nvar $elidedFrames1838 = 0;\nvar $ans1835 = D;\nvar $al1836 = L[1133];\nif(R.isAR($self1831)) {\n$step1829 = $self1831.step;\n$al1836 = $self1831.from;\n$ans1835 = $self1831.ans;\n$elidedFrames1838 = $self1831.elidedFrames;\nself1831 = $self1831.args[0];\nmaybe$stack$loc1832 = $self1831.args[1];\nsrc$available1833 = $self1831.args[2];\nmaybe$ast1834 = $self1831.args[3];\nanf_fun1841 = $self1831.vars[0];\nanf_fun1844 = $self1831.vars[1];\nanf_fun1914 = $self1831.vars[2];\nanf_fun1917 = $self1831.vars[3];\nanf_arg1845 = $self1831.vars[4];\nanf_arg1846 = $self1831.vars[5];\nanf_arg1918 = $self1831.vars[6];\ncases1850 = $self1831.vars[7];\nanf_arg1919 = $self1831.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1133],4,$t,true);\n}\nvar self1831 = $self1831;\nvar maybe$stack$loc1832 = $maybe$stack$loc1832;\nvar src$available1833 = $src$available1833;\nvar maybe$ast1834 = $maybe$ast1834;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1835 = R.mC();\n}\nwhile(!R.isContinuation($ans1835)) {\nswitch($step1829) {\ncase 0: $al1836 = L[1134];\nvar anf_method_obj1839 = G(self1831,\"loc\",L[1134]);\n$step1829 = 1;\n$ans1835 = R.maybeMethodCall0(anf_method_obj1839,\"is-builtin\",L[1135]);\nbreak;\ncase 1: var anf_if1922 = $ans1835;\n$step1829 = R.checkPyretTrue(anf_if1922)?2:7;\nbreak;\ncase 2: $ans1835 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1136],L[1137]);\nvar anf_fun1844 = $ans1835;\n$al1836 = L[1138];\nvar anf_arg1840 = G(self1831,\"loc\",L[1138]);\n$step1829 = 3;\n$al1836 = L[1144];\n// omitting isFunction check;\n$ans1835 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1840);\nbreak;\ncase 3: var anf_arg1845 = $ans1835;\n$ans1835 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1139],L[1140]);\nvar anf_fun1841 = $ans1835;\n$step1829 = 4;\n$al1836 = L[1143];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"text\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg1842 = $ans1835;\n$step1829 = 5;\n$al1836 = L[1140];\nif(typeof(anf_fun1841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1841);\n}\n$ans1835 = anf_fun1841.app(anf_arg1842);\nbreak;\ncase 5: var anf_arg1846 = $ans1835;\n$al1836 = L[1141];\nvar anf_arg1843 = G(self1831,\"non-obj\",L[1141]);\n$step1829 = 6;\n$al1836 = L[1142];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"embed\"].app(anf_arg1843);\nbreak;\ncase 6: var anf_arg1847 = $ans1835;\n$step1829 = 20;\n$al1836 = L[1137];\nif(typeof(anf_fun1844.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1844);\n}\n$ans1835 = anf_fun1844.app(anf_arg1845,anf_arg1846,anf_arg1847);\nbreak;\ncase 7: $al1836 = L[1145];\nvar anf_arg1848 = G(self1831,\"loc\",L[1145]);\n$step1829 = 8;\n$al1836 = L[1193];\nif(typeof(src$available1833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,src$available1833);\n}\n$ans1835 = src$available1833.app(anf_arg1848);\nbreak;\ncase 8: var anf_if1921 = $ans1835;\n$step1829 = R.checkPyretTrue(anf_if1921)?9:15;\nbreak;\ncase 9: $al1836 = L[1146];\nvar anf_arg1849 = G(self1831,\"loc\",L[1146]);\n$step1829 = 10;\n$al1836 = L[1183];\nif(typeof(maybe$ast1834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,maybe$ast1834);\n}\n$ans1835 = maybe$ast1834.app(anf_arg1849);\nbreak;\ncase 10: var cases1850 = $ans1835;\n$step1829 = 11;\n$al1836 = L[1182];\nvar $ann$check1912 = R._cA(L[1182],R.gDA(L[1182],\"O\",O8.dict.types,\"Option\"),cases1850);\nif(R.isContinuation($ann$check1912)) {\n$ans1835 = $ann$check1912;\n}\nbreak;\ncase 11: $al1836 = L[1169];\n$step1829 = $cases_dispatch1911[cases1850.$name] || 14;\nbreak;\ncase 12: if(cases1850.$arity !== 1) {\nif(cases1850.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1168],1,cases1850.$arity,L[1169],cases1850.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1168],true,L[1169],cases1850.$loc);\n}\n}\n$step1829 = 20;\n$al1836 = L[1168];\nvar $temp_branch1882 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1169($ast1851) {\nvar $step1883 = 0;\nvar $elidedFrames1887 = 0;\nvar $ans1884 = D;\nvar $al1885 = L[1166];\nif(R.isAR($ast1851)) {\n$step1883 = $ast1851.step;\n$al1885 = $ast1851.from;\n$ans1884 = $ast1851.ans;\n$elidedFrames1887 = $ast1851.elidedFrames;\nast1851 = $ast1851.args[0];\nanf_fun1866 = $ast1851.vars[0];\nanf_arg1862 = $ast1851.vars[1];\nanf_arg1863 = $ast1851.vars[2];\nanf_arg1867 = $ast1851.vars[3];\nanf_arg1868 = $ast1851.vars[4];\nanf_arg1869 = $ast1851.vars[5];\nanf_arg1859 = $ast1851.vars[6];\ncases1852 = $ast1851.vars[7];\nast1855 = $ast1851.vars[8];\nanf_fun1861 = $ast1851.vars[9];\n} else {\nvar ast1851 = $ast1851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1884 = R.mC();\n}\nwhile(!R.isContinuation($ans1884)) {\nswitch($step1883) {\ncase 0: var cases1852 = ast1851;\n$al1885 = L[1166];\n$step1883 = $cases_dispatch1892[cases1852.$name] || 3;\nbreak;\ncase 1: if(cases1852.$arity !== 3) {\nif(cases1852.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1165],3,cases1852.$arity,L[1166],cases1852.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1165],true,L[1166],cases1852.$loc);\n}\n}\nvar $fn1889 = cases1852.$constructor.$fieldNames;\nR.dF(cases1852.dict[$fn1889[0]],cases1852.$mut_fields_mask[0],false);\nR.dF(cases1852.dict[$fn1889[1]],cases1852.$mut_fields_mask[1],false);\nR.dF(cases1852.dict[$fn1889[2]],cases1852.$mut_fields_mask[2],false);\n$step1883 = 4;\n$ans1884 = ast1851;\nbreak;\ncase 2: if(cases1852.$arity !== 3) {\nif(cases1852.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1167],3,cases1852.$arity,L[1166],cases1852.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1167],true,L[1166],cases1852.$loc);\n}\n}\nvar $fn1891 = cases1852.$constructor.$fieldNames;\nR.dF(cases1852.dict[$fn1891[0]],cases1852.$mut_fields_mask[0],false);\nvar f1876 = R.dF(cases1852.dict[$fn1891[1]],cases1852.$mut_fields_mask[1],false);\nR.dF(cases1852.dict[$fn1891[2]],cases1852.$mut_fields_mask[2],false);\n$step1883 = 4;\n$ans1884 = f1876;\nbreak;\ncase 3: $ans1884 = R.throwNoCasesMatched(L[1166],cases1852);\n$step1883 = 4;\nbreak;\ncase 4: var ast1855 = $ans1884;\n$ans1884 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1147],L[1148]);\nvar anf_fun1866 = $ans1884;\n$al1885 = L[1149];\nvar anf_arg1853 = G(self1831,\"loc\",L[1149]);\n$step1883 = 5;\n$al1885 = L[1164];\n// omitting isFunction check;\n$ans1884 = ed$intro146.$var.app((\"object extension expression\"),anf_arg1853,(-1),(true));\nbreak;\ncase 5: var anf_arg1867 = $ans1884;\n$al1885 = L[1150];\nvar anf_arg1854 = G(self1831,\"loc\",L[1150]);\n$step1883 = 6;\n$al1885 = L[1163];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1854);\nbreak;\ncase 6: var anf_arg1868 = $ans1884;\n$ans1884 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1151],L[1152]);\nvar anf_fun1861 = $ans1884;\n$step1883 = 7;\n$al1885 = L[1162];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1862 = $ans1884;\n$step1883 = 8;\n$al1885 = L[1161];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1859 = $ans1884;\n$ans1884 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1153],L[1154]);\nvar anf_fun1857 = $ans1884;\n$al1885 = L[1155];\nvar anf_bracket1856 = G(ast1855,\"supe\",L[1155]);\n$al1885 = L[1156];\nvar anf_arg1858 = G(anf_bracket1856,\"l\",L[1156]);\n$step1883 = 9;\n$al1885 = L[1154];\nif(typeof(anf_fun1857.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1857);\n}\n$ans1884 = anf_fun1857.app(anf_arg1858);\nbreak;\ncase 9: var anf_arg1860 = $ans1884;\n$step1883 = 10;\n$al1885 = L[1160];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1859,anf_arg1860,(0));\nbreak;\ncase 10: var anf_arg1863 = $ans1884;\n$step1883 = 11;\n$al1885 = L[1159];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\" was not an object:\"));\nbreak;\ncase 11: var anf_arg1864 = $ans1884;\n$step1883 = 12;\n$al1885 = L[1152];\nif(typeof(anf_fun1861.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1861);\n}\n$ans1884 = anf_fun1861.app(anf_arg1862,anf_arg1863,anf_arg1864);\nbreak;\ncase 12: var anf_arg1869 = $ans1884;\n$al1885 = L[1157];\nvar anf_arg1865 = G(self1831,\"non-obj\",L[1157]);\n$step1883 = 13;\n$al1885 = L[1158];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"embed\"].app(anf_arg1865);\nbreak;\ncase 13: var anf_arg1870 = $ans1884;\n$step1883 = 14;\n$al1885 = L[1148];\nif(typeof(anf_fun1866.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1866);\n}\n$ans1884 = anf_fun1866.app(anf_arg1867,anf_arg1868,anf_arg1869,anf_arg1870);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1884;\ndefault: R.ffi.throwSpinnakerError(L[1166],$step1883);\n}\n}\nif($step1883 !== 14) {\n$ans1884.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1885,$temp_branch1882,$step1883,[ast1851],[anf_fun1866,anf_arg1862,anf_arg1863,anf_arg1867,anf_arg1868,anf_arg1869,anf_arg1859,cases1852,ast1855,anf_fun1861],$elidedFrames1887);\n}\nreturn $ans1884;\n};\n$ans1835 = cases1850.$app_fields($temp_branch1882,[false]);\nbreak;\ncase 13: if(cases1850.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1181],false,L[1169],cases1850.$loc);\n}\n$step1829 = 20;\n$al1836 = L[1181];\nvar $temp_branch1904 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1169($$resumer13) {\nvar $step1905 = 0;\nvar $elidedFrames1909 = 0;\nvar $ans1906 = D;\nvar $al1907 = L[1171];\nif(R.isAR($$resumer13)) {\n$step1905 = $$resumer13.step;\n$al1907 = $$resumer13.from;\n$ans1906 = $$resumer13.ans;\n$elidedFrames1909 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1896 = $$resumer13.vars[0];\nanf_fun1899 = $$resumer13.vars[1];\nanf_arg1900 = $$resumer13.vars[2];\nanf_arg1901 = $$resumer13.vars[3];\nanf_arg1902 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1906 = R.mC();\n}\nwhile(!R.isContinuation($ans1906)) {\nswitch($step1905) {\ncase 0: $ans1906 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1170],L[1171]);\nvar anf_fun1899 = $ans1906;\n$al1907 = L[1172];\nvar anf_arg1894 = G(self1831,\"loc\",L[1172]);\n$step1905 = 1;\n$al1907 = L[1180];\n// omitting isFunction check;\n$ans1906 = ed$intro146.$var.app((\"object extension expression\"),anf_arg1894,(-1),(true));\nbreak;\ncase 1: var anf_arg1900 = $ans1906;\n$al1907 = L[1173];\nvar anf_arg1895 = G(self1831,\"loc\",L[1173]);\n$step1905 = 2;\n$al1907 = L[1179];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1895);\nbreak;\ncase 2: var anf_arg1901 = $ans1906;\n$ans1906 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1174],L[1175]);\nvar anf_fun1896 = $ans1906;\n$step1905 = 3;\n$al1907 = L[1178];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"text\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 3: var anf_arg1897 = $ans1906;\n$step1905 = 4;\n$al1907 = L[1175];\nif(typeof(anf_fun1896.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,anf_fun1896);\n}\n$ans1906 = anf_fun1896.app(anf_arg1897);\nbreak;\ncase 4: var anf_arg1902 = $ans1906;\n$al1907 = L[1176];\nvar anf_arg1898 = G(self1831,\"non-obj\",L[1176]);\n$step1905 = 5;\n$al1907 = L[1177];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"embed\"].app(anf_arg1898);\nbreak;\ncase 5: var anf_arg1903 = $ans1906;\n$step1905 = 6;\n$al1907 = L[1171];\nif(typeof(anf_fun1899.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,anf_fun1899);\n}\n$ans1906 = anf_fun1899.app(anf_arg1900,anf_arg1901,anf_arg1902,anf_arg1903);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1906;\ndefault: R.ffi.throwSpinnakerError(L[1171],$step1905);\n}\n}\nif($step1905 !== 6) {\n$ans1906.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1907,$temp_branch1904,$step1905,[],[anf_fun1896,anf_fun1899,anf_arg1900,anf_arg1901,anf_arg1902],$elidedFrames1909);\n}\nreturn $ans1906;\n};\n$ans1835 = cases1850.$app_fields($temp_branch1904,[]);\nbreak;\ncase 14: $ans1835 = R.throwNoCasesMatched(L[1169],cases1850);\n$step1829 = 20;\nbreak;\ncase 15: $ans1835 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1184],L[1185]);\nvar anf_fun1917 = $ans1835;\n$al1836 = L[1186];\nvar anf_arg1913 = G(self1831,\"loc\",L[1186]);\n$step1829 = 16;\n$al1836 = L[1192];\n// omitting isFunction check;\n$ans1835 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1913);\nbreak;\ncase 16: var anf_arg1918 = $ans1835;\n$ans1835 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1187],L[1188]);\nvar anf_fun1914 = $ans1835;\n$step1829 = 17;\n$al1836 = L[1191];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"text\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 17: var anf_arg1915 = $ans1835;\n$step1829 = 18;\n$al1836 = L[1188];\nif(typeof(anf_fun1914.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1914);\n}\n$ans1835 = anf_fun1914.app(anf_arg1915);\nbreak;\ncase 18: var anf_arg1919 = $ans1835;\n$al1836 = L[1189];\nvar anf_arg1916 = G(self1831,\"non-obj\",L[1189]);\n$step1829 = 19;\n$al1836 = L[1190];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"embed\"].app(anf_arg1916);\nbreak;\ncase 19: var anf_arg1920 = $ans1835;\n$step1829 = 20;\n$al1836 = L[1185];\nif(typeof(anf_fun1917.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1917);\n}\n$ans1835 = anf_fun1917.app(anf_arg1918,anf_arg1919,anf_arg1920);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1835;\ndefault: R.ffi.throwSpinnakerError(L[1133],$step1829);\n}\n}\nif($step1829 !== 20) {\n$ans1835.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1836,$temp_full1830,$step1829,[self1831,maybe$stack$loc1832,src$available1833,maybe$ast1834],[anf_fun1841,anf_fun1844,anf_fun1914,anf_fun1917,anf_arg1845,anf_arg1846,anf_arg1918,cases1850,anf_arg1919],$elidedFrames1838);\n}\nreturn $ans1835;\n};\nvar anf_variant_member5856 = R.makeMethod3($temp_full1830,\"render-fancy-reason\");\nvar $temp_full1925 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1194($self1926) {\nvar $step1924 = 0;\nvar $elidedFrames1930 = 0;\nvar $ans1927 = D;\nvar $al1928 = L[1194];\nif(R.isAR($self1926)) {\n$step1924 = $self1926.step;\n$al1928 = $self1926.from;\n$ans1927 = $self1926.ans;\n$elidedFrames1930 = $self1926.elidedFrames;\nself1926 = $self1926.args[0];\nanf_fun1935 = $self1926.vars[0];\nanf_arg1936 = $self1926.vars[1];\nanf_fun1932 = $self1926.vars[2];\nanf_arg1937 = $self1926.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1194],1,$t,true);\n}\nvar self1926 = $self1926;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1927 = R.mC();\n}\nwhile(!R.isContinuation($ans1927)) {\nswitch($step1924) {\ncase 0: $ans1927 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1195],L[1196]);\nvar anf_fun1935 = $ans1927;\n$al1928 = L[1197];\nvar anf_arg1931 = G(self1926,\"loc\",L[1197]);\n$step1924 = 1;\n$al1928 = L[1203];\n// omitting isFunction check;\n$ans1927 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1931);\nbreak;\ncase 1: var anf_arg1936 = $ans1927;\n$ans1927 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1198],L[1199]);\nvar anf_fun1932 = $ans1927;\n$step1924 = 2;\n$al1928 = L[1202];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,ED6.dict.values.dict[\"text\"]);\n}\n$ans1927 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 2: var anf_arg1933 = $ans1927;\n$step1924 = 3;\n$al1928 = L[1199];\nif(typeof(anf_fun1932.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,anf_fun1932);\n}\n$ans1927 = anf_fun1932.app(anf_arg1933);\nbreak;\ncase 3: var anf_arg1937 = $ans1927;\n$al1928 = L[1200];\nvar anf_arg1934 = G(self1926,\"non-obj\",L[1200]);\n$step1924 = 4;\n$al1928 = L[1201];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1927 = ED6.dict.values.dict[\"embed\"].app(anf_arg1934);\nbreak;\ncase 4: var anf_arg1938 = $ans1927;\n$step1924 = 5;\n$al1928 = L[1196];\nif(typeof(anf_fun1935.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,anf_fun1935);\n}\n$ans1927 = anf_fun1935.app(anf_arg1936,anf_arg1937,anf_arg1938);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1927;\ndefault: R.ffi.throwSpinnakerError(L[1194],$step1924);\n}\n}\nif($step1924 !== 5) {\n$ans1927.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1928,$temp_full1925,$step1924,[self1926],[anf_fun1935,anf_arg1936,anf_fun1932,anf_arg1937],$elidedFrames1930);\n}\nreturn $ans1927;\n};\nvar anf_variant_member5857 = R.makeMethod0($temp_full1925,\"render-reason\");\nvar $temp_full1941 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1204($self1942,$maybe$stack$loc1943,$src$available1944,$maybe$ast1945) {\nvar $step1940 = 0;\nvar $elidedFrames1949 = 0;\nvar $ans1946 = D;\nvar $al1947 = L[1204];\nif(R.isAR($self1942)) {\n$step1940 = $self1942.step;\n$al1947 = $self1942.from;\n$ans1946 = $self1942.ans;\n$elidedFrames1949 = $self1942.elidedFrames;\nself1942 = $self1942.args[0];\nmaybe$stack$loc1943 = $self1942.args[1];\nsrc$available1944 = $self1942.args[2];\nmaybe$ast1945 = $self1942.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1204],4,$t,true);\n}\nvar self1942 = $self1942;\nvar maybe$stack$loc1943 = $maybe$stack$loc1943;\nvar src$available1944 = $src$available1944;\nvar maybe$ast1945 = $maybe$ast1945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1946 = R.mC();\n}\nwhile(!R.isContinuation($ans1946)) {\nswitch($step1940) {\ncase 0: $step1940 = 1;\n$ans1946 = R.maybeMethodCall0(self1942,\"render-reason\",L[1205]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1946;\ndefault: R.ffi.throwSpinnakerError(L[1204],$step1940);\n}\n}\nif($step1940 !== 1) {\n$ans1946.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1947,$temp_full1941,$step1940,[self1942,maybe$stack$loc1943,src$available1944,maybe$ast1945],[],$elidedFrames1949);\n}\nreturn $ans1946;\n};\nvar anf_variant_member5866 = R.makeMethod3($temp_full1941,\"render-fancy-reason\");\nvar $temp_full1952 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1206($self1953) {\nvar $step1951 = 0;\nvar $elidedFrames1957 = 0;\nvar $ans1954 = D;\nvar $al1955 = L[1206];\nif(R.isAR($self1953)) {\n$step1951 = $self1953.step;\n$al1955 = $self1953.from;\n$ans1954 = $self1953.ans;\n$elidedFrames1957 = $self1953.elidedFrames;\nself1953 = $self1953.args[0];\nanf_fun1962 = $self1953.vars[0];\nanf_fun1965 = $self1953.vars[1];\nanf_array1963 = $self1953.vars[2];\nanf_arg1966 = $self1953.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1206],1,$t,true);\n}\nvar self1953 = $self1953;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1954 = R.mC();\n}\nwhile(!R.isContinuation($ans1954)) {\nswitch($step1951) {\ncase 0: $ans1954 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1207],L[1208]);\nvar anf_fun1965 = $ans1954;\n$ans1954 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1209],L[1210]);\nvar anf_fun1962 = $ans1954;\n$ans1954 = R.makeArrayN((9));\nvar anf_array1963 = $ans1954;\n$step1951 = 1;\n$al1955 = L[1224];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"Expected \"));\nbreak;\ncase 1: anf_array1963[0] = $ans1954;\n$step1951 = 2;\n$al1955 = L[1223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"true\"));\nbreak;\ncase 2: var anf_arg1958 = $ans1954;\n$step1951 = 3;\n$al1955 = L[1222];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"code\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"code\"].app(anf_arg1958);\nbreak;\ncase 3: anf_array1963[1] = $ans1954;\n$step1951 = 4;\n$al1955 = L[1221];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 4: anf_array1963[2] = $ans1954;\n$step1951 = 5;\n$al1955 = L[1220];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"false\"));\nbreak;\ncase 5: var anf_arg1959 = $ans1954;\n$step1951 = 6;\n$al1955 = L[1219];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"code\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"code\"].app(anf_arg1959);\nbreak;\ncase 6: anf_array1963[3] = $ans1954;\n$step1951 = 7;\n$al1955 = L[1218];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" for the test in the \"));\nbreak;\ncase 7: anf_array1963[4] = $ans1954;\n$al1955 = L[1211];\nvar anf_arg1960 = G(self1953,\"typ\",L[1211]);\n$step1951 = 8;\n$al1955 = L[1217];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app(anf_arg1960);\nbreak;\ncase 8: anf_array1963[5] = $ans1954;\n$step1951 = 9;\n$al1955 = L[1216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" expression at \"));\nbreak;\ncase 9: anf_array1963[6] = $ans1954;\n$al1955 = L[1212];\nvar anf_arg1961 = G(self1953,\"loc\",L[1212]);\n// caller optimization;\n$ans1954 = draw$and$highlight36.$var.app(anf_arg1961);\nanf_array1963[7] = $ans1954;\n$step1951 = 10;\n$al1955 = L[1215];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 10: anf_array1963[8] = $ans1954;\n$step1951 = 11;\n$al1955 = L[1210];\nif(typeof(anf_fun1962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,anf_fun1962);\n}\n$ans1954 = anf_fun1962.app(anf_array1963);\nbreak;\ncase 11: var anf_arg1966 = $ans1954;\n$al1955 = L[1213];\nvar anf_arg1964 = G(self1953,\"value\",L[1213]);\n$step1951 = 12;\n$al1955 = L[1214];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"embed\"].app(anf_arg1964);\nbreak;\ncase 12: var anf_arg1967 = $ans1954;\n$step1951 = 13;\n$al1955 = L[1208];\nif(typeof(anf_fun1965.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,anf_fun1965);\n}\n$ans1954 = anf_fun1965.app(anf_arg1966,anf_arg1967);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1954;\ndefault: R.ffi.throwSpinnakerError(L[1206],$step1951);\n}\n}\nif($step1951 !== 13) {\n$ans1954.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1955,$temp_full1952,$step1951,[self1953],[anf_fun1962,anf_fun1965,anf_array1963,anf_arg1966],$elidedFrames1957);\n}\nreturn $ans1954;\n};\nvar anf_variant_member5867 = R.makeMethod0($temp_full1952,\"render-reason\");\nvar $temp_full1970 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1225($self1971,$maybe$stack$loc1972,$src$available1973,$maybe$ast1974) {\nvar $step1969 = 0;\nvar $elidedFrames1978 = 0;\nvar $ans1975 = D;\nvar $al1976 = L[1225];\nif(R.isAR($self1971)) {\n$step1969 = $self1971.step;\n$al1976 = $self1971.from;\n$ans1975 = $self1971.ans;\n$elidedFrames1978 = $self1971.elidedFrames;\nself1971 = $self1971.args[0];\nmaybe$stack$loc1972 = $self1971.args[1];\nsrc$available1973 = $self1971.args[2];\nmaybe$ast1974 = $self1971.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1225],4,$t,true);\n}\nvar self1971 = $self1971;\nvar maybe$stack$loc1972 = $maybe$stack$loc1972;\nvar src$available1973 = $src$available1973;\nvar maybe$ast1974 = $maybe$ast1974;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1975 = R.mC();\n}\nwhile(!R.isContinuation($ans1975)) {\nswitch($step1969) {\ncase 0: $step1969 = 1;\n$ans1975 = R.maybeMethodCall0(self1971,\"render-reason\",L[1226]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1975;\ndefault: R.ffi.throwSpinnakerError(L[1225],$step1969);\n}\n}\nif($step1969 !== 1) {\n$ans1975.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1976,$temp_full1970,$step1969,[self1971,maybe$stack$loc1972,src$available1973,maybe$ast1974],[],$elidedFrames1978);\n}\nreturn $ans1975;\n};\nvar anf_variant_member5877 = R.makeMethod3($temp_full1970,\"render-fancy-reason\");\nvar $temp_full1981 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1227($self1982) {\nvar $step1980 = 0;\nvar $elidedFrames1986 = 0;\nvar $ans1983 = D;\nvar $al1984 = L[1227];\nif(R.isAR($self1982)) {\n$step1980 = $self1982.step;\n$al1984 = $self1982.from;\n$ans1983 = $self1982.ans;\n$elidedFrames1986 = $self1982.elidedFrames;\nself1982 = $self1982.args[0];\nanf_fun1995 = $self1982.vars[0];\nanf_array1993 = $self1982.vars[1];\nanf_arg1996 = $self1982.vars[2];\nanf_fun1992 = $self1982.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1227],1,$t,true);\n}\nvar self1982 = $self1982;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1983 = R.mC();\n}\nwhile(!R.isContinuation($ans1983)) {\nswitch($step1980) {\ncase 0: $ans1983 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1228],L[1229]);\nvar anf_fun1995 = $ans1983;\n$ans1983 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1230],L[1231]);\nvar anf_fun1992 = $ans1983;\n$ans1983 = R.makeArrayN((11));\nvar anf_array1993 = $ans1983;\n$step1980 = 1;\n$al1984 = L[1248];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"Expected\"));\nbreak;\ncase 1: anf_array1993[0] = $ans1983;\n$step1980 = 2;\n$al1984 = L[1247];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"true\"));\nbreak;\ncase 2: var anf_arg1987 = $ans1983;\n$step1980 = 3;\n$al1984 = L[1246];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"code\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"code\"].app(anf_arg1987);\nbreak;\ncase 3: anf_array1993[1] = $ans1983;\n$step1980 = 4;\n$al1984 = L[1245];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"or\"));\nbreak;\ncase 4: anf_array1993[2] = $ans1983;\n$step1980 = 5;\n$al1984 = L[1244];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"false\"));\nbreak;\ncase 5: var anf_arg1988 = $ans1983;\n$step1980 = 6;\n$al1984 = L[1243];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"code\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"code\"].app(anf_arg1988);\nbreak;\ncase 6: anf_array1993[3] = $ans1983;\n$step1980 = 7;\n$al1984 = L[1242];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"for the\"));\nbreak;\ncase 7: anf_array1993[4] = $ans1983;\n$al1984 = L[1232];\nvar anf_arg1989 = G(self1982,\"position\",L[1232]);\n$step1980 = 8;\n$al1984 = L[1241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app(anf_arg1989);\nbreak;\ncase 8: anf_array1993[5] = $ans1983;\n$step1980 = 9;\n$al1984 = L[1240];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"argument in the\"));\nbreak;\ncase 9: anf_array1993[6] = $ans1983;\n$al1984 = L[1233];\nvar anf_arg1990 = G(self1982,\"typ\",L[1233]);\n$step1980 = 10;\n$al1984 = L[1239];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app(anf_arg1990);\nbreak;\ncase 10: anf_array1993[7] = $ans1983;\n$step1980 = 11;\n$al1984 = L[1238];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"expression at\"));\nbreak;\ncase 11: anf_array1993[8] = $ans1983;\n$al1984 = L[1234];\nvar anf_arg1991 = G(self1982,\"loc\",L[1234]);\n// caller optimization;\n$ans1983 = draw$and$highlight36.$var.app(anf_arg1991);\nanf_array1993[9] = $ans1983;\n$step1980 = 12;\n$al1984 = L[1237];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 12: anf_array1993[10] = $ans1983;\n$step1980 = 13;\n$al1984 = L[1231];\nif(typeof(anf_fun1992.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,anf_fun1992);\n}\n$ans1983 = anf_fun1992.app(anf_array1993);\nbreak;\ncase 13: var anf_arg1996 = $ans1983;\n$al1984 = L[1235];\nvar anf_arg1994 = G(self1982,\"value\",L[1235]);\n$step1980 = 14;\n$al1984 = L[1236];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"embed\"].app(anf_arg1994);\nbreak;\ncase 14: var anf_arg1997 = $ans1983;\n$step1980 = 15;\n$al1984 = L[1229];\nif(typeof(anf_fun1995.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,anf_fun1995);\n}\n$ans1983 = anf_fun1995.app(anf_arg1996,anf_arg1997);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1983;\ndefault: R.ffi.throwSpinnakerError(L[1227],$step1980);\n}\n}\nif($step1980 !== 15) {\n$ans1983.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1984,$temp_full1981,$step1980,[self1982],[anf_fun1995,anf_array1993,anf_arg1996,anf_fun1992],$elidedFrames1986);\n}\nreturn $ans1983;\n};\nvar anf_variant_member5878 = R.makeMethod0($temp_full1981,\"render-reason\");\nvar $temp_full2000 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1249($self2001,$maybe$stack$loc2002,$src$available2003,$maybe$ast2004) {\nvar $step1999 = 0;\nvar $elidedFrames2008 = 0;\nvar $ans2005 = D;\nvar $al2006 = L[1249];\nif(R.isAR($self2001)) {\n$step1999 = $self2001.step;\n$al2006 = $self2001.from;\n$ans2005 = $self2001.ans;\n$elidedFrames2008 = $self2001.elidedFrames;\nself2001 = $self2001.args[0];\nmaybe$stack$loc2002 = $self2001.args[1];\nsrc$available2003 = $self2001.args[2];\nmaybe$ast2004 = $self2001.args[3];\nanf_fun2010 = $self2001.vars[0];\ncases2009 = $self2001.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1249],4,$t,true);\n}\nvar self2001 = $self2001;\nvar maybe$stack$loc2002 = $maybe$stack$loc2002;\nvar src$available2003 = $src$available2003;\nvar maybe$ast2004 = $maybe$ast2004;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2005 = R.mC();\n}\nwhile(!R.isContinuation($ans2005)) {\nswitch($step1999) {\ncase 0: $ans2005 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1250],L[1251]);\nvar anf_fun2010 = $ans2005;\n$step1999 = 1;\n$al2006 = L[1314];\nif(typeof(maybe$stack$loc2002.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2006,maybe$stack$loc2002);\n}\n$ans2005 = maybe$stack$loc2002.app((0),(false));\nbreak;\ncase 1: var cases2009 = $ans2005;\n$step1999 = 2;\n$al2006 = L[1313];\nvar $ann$check2082 = R._cA(L[1313],R.gDA(L[1313],\"O\",O8.dict.types,\"Option\"),cases2009);\nif(R.isContinuation($ann$check2082)) {\n$ans2005 = $ann$check2082;\n}\nbreak;\ncase 2: $al2006 = L[1298];\n$step1999 = $cases_dispatch2081[cases2009.$name] || 5;\nbreak;\ncase 3: if(cases2009.$arity !== 1) {\nif(cases2009.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1297],1,cases2009.$arity,L[1298],cases2009.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1297],true,L[1298],cases2009.$loc);\n}\n}\n$step1999 = 6;\n$al2006 = L[1297];\nvar $temp_branch2055 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1298($loc2012) {\nvar $step2056 = 0;\nvar $elidedFrames2060 = 0;\nvar $ans2057 = D;\nvar $al2058 = L[1252];\nif(R.isAR($loc2012)) {\n$step2056 = $loc2012.step;\n$al2058 = $loc2012.from;\n$ans2057 = $loc2012.ans;\n$elidedFrames2060 = $loc2012.elidedFrames;\nloc2012 = $loc2012.args[0];\nanf_arg2030 = $loc2012.vars[0];\nanf_fun2028 = $loc2012.vars[1];\nanf_arg2031 = $loc2012.vars[2];\nanf_arg2032 = $loc2012.vars[3];\nanf_arg2043 = $loc2012.vars[4];\nanf_arg2044 = $loc2012.vars[5];\nanf_arg2023 = $loc2012.vars[6];\nanf_arg2045 = $loc2012.vars[7];\nanf_arg2024 = $loc2012.vars[8];\nanf_arg2046 = $loc2012.vars[9];\nanf_arg2036 = $loc2012.vars[10];\nanf_arg2037 = $loc2012.vars[11];\nanf_arg2016 = $loc2012.vars[12];\nanf_arg2038 = $loc2012.vars[13];\nanf_arg2017 = $loc2012.vars[14];\nanf_arg2018 = $loc2012.vars[15];\nanf_arg2029 = $loc2012.vars[16];\nanf_arg2019 = $loc2012.vars[17];\nanf_fun2042 = $loc2012.vars[18];\nanf_fun2022 = $loc2012.vars[19];\nanf_fun2035 = $loc2012.vars[20];\nanf_arg2050 = $loc2012.vars[21];\nanf_fun2015 = $loc2012.vars[22];\nanf_arg2051 = $loc2012.vars[23];\nanf_fun2049 = $loc2012.vars[24];\n} else {\nvar loc2012 = $loc2012;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2057 = R.mC();\n}\nwhile(!R.isContinuation($ans2057)) {\nswitch($step2056) {\ncase 0: $step2056 = 1;\n$ans2057 = R.maybeMethodCall0(loc2012,\"is-builtin\",L[1252]);\nbreak;\ncase 1: var anf_if2054 = $ans2057;\n$step2056 = R.checkPyretTrue(anf_if2054)?2:11;\nbreak;\ncase 2: $ans2057 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[1253],L[1254]);\nvar anf_fun2022 = $ans2057;\n$step2056 = 3;\n$al2058 = L[1266];\n// omitting isFunction check;\n$ans2057 = ed$simple$intro104.$var.app((\"expression\"),loc2012);\nbreak;\ncase 3: var anf_arg2023 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1255],L[1256]);\nvar anf_fun2015 = $ans2057;\n$step2056 = 4;\n$al2058 = L[1265];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 4: var anf_arg2016 = $ans2057;\n$al2058 = L[1257];\nvar anf_arg2013 = G(self2001,\"typ\",L[1257]);\n$step2056 = 5;\n$al2058 = L[1264];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2013);\nbreak;\ncase 5: var anf_arg2017 = $ans2057;\n$step2056 = 6;\n$al2058 = L[1263];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 6: var anf_arg2018 = $ans2057;\n$al2058 = L[1258];\nvar anf_arg2014 = G(self2001,\"typ\",L[1258]);\n$step2056 = 7;\n$al2058 = L[1262];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2014);\nbreak;\ncase 7: var anf_arg2019 = $ans2057;\n$step2056 = 8;\n$al2058 = L[1261];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 8: var anf_arg2020 = $ans2057;\n$step2056 = 9;\n$al2058 = L[1256];\nif(typeof(anf_fun2015.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2015);\n}\n$ans2057 = anf_fun2015.app(anf_arg2016,anf_arg2017,anf_arg2018,anf_arg2019,anf_arg2020);\nbreak;\ncase 9: var anf_arg2024 = $ans2057;\n$al2058 = L[1259];\nvar anf_arg2021 = G(self2001,\"val\",L[1259]);\n$step2056 = 10;\n$al2058 = L[1260];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2021);\nbreak;\ncase 10: var anf_arg2025 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1254];\nif(typeof(anf_fun2022.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2022);\n}\n$ans2057 = anf_fun2022.app(anf_arg2023,anf_arg2024,anf_arg2025);\nbreak;\ncase 11: $step2056 = 12;\n$al2058 = L[1296];\nif(typeof(src$available2003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,src$available2003);\n}\n$ans2057 = src$available2003.app(loc2012);\nbreak;\ncase 12: var anf_if2053 = $ans2057;\n$step2056 = R.checkPyretTrue(anf_if2053)?13:23;\nbreak;\ncase 13: $ans2057 = R.getMaker4(ED6.dict.values.dict[\"sequence\"],(\"make4\"),L[1267],L[1268]);\nvar anf_fun2035 = $ans2057;\n$step2056 = 14;\n$al2058 = L[1281];\n// omitting isFunction check;\n$ans2057 = ed$intro146.$var.app((\"expression\"),loc2012,(0),(true));\nbreak;\ncase 14: var anf_arg2036 = $ans2057;\n$step2056 = 15;\n$al2058 = L[1280];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"cmcode\"].app(loc2012);\nbreak;\ncase 15: var anf_arg2037 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1269],L[1270]);\nvar anf_fun2028 = $ans2057;\n$step2056 = 16;\n$al2058 = L[1279];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 16: var anf_arg2029 = $ans2057;\n$al2058 = L[1271];\nvar anf_arg2026 = G(self2001,\"typ\",L[1271]);\n$step2056 = 17;\n$al2058 = L[1278];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2026);\nbreak;\ncase 17: var anf_arg2030 = $ans2057;\n$step2056 = 18;\n$al2058 = L[1277];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 18: var anf_arg2031 = $ans2057;\n$al2058 = L[1272];\nvar anf_arg2027 = G(self2001,\"typ\",L[1272]);\n$step2056 = 19;\n$al2058 = L[1276];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2027);\nbreak;\ncase 19: var anf_arg2032 = $ans2057;\n$step2056 = 20;\n$al2058 = L[1275];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 20: var anf_arg2033 = $ans2057;\n$step2056 = 21;\n$al2058 = L[1270];\nif(typeof(anf_fun2028.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2028);\n}\n$ans2057 = anf_fun2028.app(anf_arg2029,anf_arg2030,anf_arg2031,anf_arg2032,anf_arg2033);\nbreak;\ncase 21: var anf_arg2038 = $ans2057;\n$al2058 = L[1273];\nvar anf_arg2034 = G(self2001,\"val\",L[1273]);\n$step2056 = 22;\n$al2058 = L[1274];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2034);\nbreak;\ncase 22: var anf_arg2039 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1268];\nif(typeof(anf_fun2035.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2035);\n}\n$ans2057 = anf_fun2035.app(anf_arg2036,anf_arg2037,anf_arg2038,anf_arg2039);\nbreak;\ncase 23: $ans2057 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[1282],L[1283]);\nvar anf_fun2049 = $ans2057;\n$step2056 = 24;\n$al2058 = L[1295];\n// omitting isFunction check;\n$ans2057 = ed$simple$intro104.$var.app((\"expression\"),loc2012);\nbreak;\ncase 24: var anf_arg2050 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1284],L[1285]);\nvar anf_fun2042 = $ans2057;\n$step2056 = 25;\n$al2058 = L[1294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 25: var anf_arg2043 = $ans2057;\n$al2058 = L[1286];\nvar anf_arg2040 = G(self2001,\"typ\",L[1286]);\n$step2056 = 26;\n$al2058 = L[1293];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2040);\nbreak;\ncase 26: var anf_arg2044 = $ans2057;\n$step2056 = 27;\n$al2058 = L[1292];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 27: var anf_arg2045 = $ans2057;\n$al2058 = L[1287];\nvar anf_arg2041 = G(self2001,\"typ\",L[1287]);\n$step2056 = 28;\n$al2058 = L[1291];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2041);\nbreak;\ncase 28: var anf_arg2046 = $ans2057;\n$step2056 = 29;\n$al2058 = L[1290];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 29: var anf_arg2047 = $ans2057;\n$step2056 = 30;\n$al2058 = L[1285];\nif(typeof(anf_fun2042.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2042);\n}\n$ans2057 = anf_fun2042.app(anf_arg2043,anf_arg2044,anf_arg2045,anf_arg2046,anf_arg2047);\nbreak;\ncase 30: var anf_arg2051 = $ans2057;\n$al2058 = L[1288];\nvar anf_arg2048 = G(self2001,\"val\",L[1288]);\n$step2056 = 31;\n$al2058 = L[1289];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2048);\nbreak;\ncase 31: var anf_arg2052 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1283];\nif(typeof(anf_fun2049.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2049);\n}\n$ans2057 = anf_fun2049.app(anf_arg2050,anf_arg2051,anf_arg2052);\nbreak;\ncase 32: ++R.GAS;\nreturn $ans2057;\ndefault: R.ffi.throwSpinnakerError(L[1252],$step2056);\n}\n}\nif($step2056 !== 32) {\n$ans2057.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2058,$temp_branch2055,$step2056,[loc2012],[anf_arg2030,anf_fun2028,anf_arg2031,anf_arg2032,anf_arg2043,anf_arg2044,anf_arg2023,anf_arg2045,anf_arg2024,anf_arg2046,anf_arg2036,anf_arg2037,anf_arg2016,anf_arg2038,anf_arg2017,anf_arg2018,anf_arg2029,anf_arg2019,anf_fun2042,anf_fun2022,anf_fun2035,anf_arg2050,anf_fun2015,anf_arg2051,anf_fun2049],$elidedFrames2060);\n}\nreturn $ans2057;\n};\n$ans2005 = cases2009.$app_fields($temp_branch2055,[false]);\nbreak;\ncase 4: if(cases2009.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1312],false,L[1298],cases2009.$loc);\n}\n$step1999 = 6;\n$al2006 = L[1312];\nvar $temp_branch2074 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1298($$resumer13) {\nvar $step2075 = 0;\nvar $elidedFrames2079 = 0;\nvar $ans2076 = D;\nvar $al2077 = L[1300];\nif(R.isAR($$resumer13)) {\n$step2075 = $$resumer13.step;\n$al2077 = $$resumer13.from;\n$ans2076 = $$resumer13.ans;\n$elidedFrames2079 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg2065 = $$resumer13.vars[0];\nanf_arg2066 = $$resumer13.vars[1];\nanf_arg2067 = $$resumer13.vars[2];\nanf_arg2068 = $$resumer13.vars[3];\nanf_fun2071 = $$resumer13.vars[4];\nanf_fun2064 = $$resumer13.vars[5];\nanf_arg2072 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2076 = R.mC();\n}\nwhile(!R.isContinuation($ans2076)) {\nswitch($step2075) {\ncase 0: $ans2076 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1299],L[1300]);\nvar anf_fun2071 = $ans2076;\n$ans2076 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1301],L[1302]);\nvar anf_fun2064 = $ans2076;\n$step2075 = 1;\n$al2077 = L[1311];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\"Evaluating an expression failed. It was expected to evaluate to a \"));\nbreak;\ncase 1: var anf_arg2065 = $ans2076;\n$al2077 = L[1303];\nvar anf_arg2062 = G(self2001,\"typ\",L[1303]);\n$step2075 = 2;\n$al2077 = L[1310];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2062);\nbreak;\ncase 2: var anf_arg2066 = $ans2076;\n$step2075 = 3;\n$al2077 = L[1309];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 3: var anf_arg2067 = $ans2076;\n$al2077 = L[1304];\nvar anf_arg2063 = G(self2001,\"typ\",L[1304]);\n$step2075 = 4;\n$al2077 = L[1308];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2063);\nbreak;\ncase 4: var anf_arg2068 = $ans2076;\n$step2075 = 5;\n$al2077 = L[1307];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 5: var anf_arg2069 = $ans2076;\n$step2075 = 6;\n$al2077 = L[1302];\nif(typeof(anf_fun2064.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,anf_fun2064);\n}\n$ans2076 = anf_fun2064.app(anf_arg2065,anf_arg2066,anf_arg2067,anf_arg2068,anf_arg2069);\nbreak;\ncase 6: var anf_arg2072 = $ans2076;\n$al2077 = L[1305];\nvar anf_arg2070 = G(self2001,\"val\",L[1305]);\n$step2075 = 7;\n$al2077 = L[1306];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2070);\nbreak;\ncase 7: var anf_arg2073 = $ans2076;\n$step2075 = 8;\n$al2077 = L[1300];\nif(typeof(anf_fun2071.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,anf_fun2071);\n}\n$ans2076 = anf_fun2071.app(anf_arg2072,anf_arg2073);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2076;\ndefault: R.ffi.throwSpinnakerError(L[1300],$step2075);\n}\n}\nif($step2075 !== 8) {\n$ans2076.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2077,$temp_branch2074,$step2075,[],[anf_arg2065,anf_arg2066,anf_arg2067,anf_arg2068,anf_fun2071,anf_fun2064,anf_arg2072],$elidedFrames2079);\n}\nreturn $ans2076;\n};\n$ans2005 = cases2009.$app_fields($temp_branch2074,[]);\nbreak;\ncase 5: $ans2005 = R.throwNoCasesMatched(L[1298],cases2009);\n$step1999 = 6;\nbreak;\ncase 6: var anf_arg2011 = $ans2005;\n$step1999 = 7;\n$al2006 = L[1251];\nif(typeof(anf_fun2010.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2006,anf_fun2010);\n}\n$ans2005 = anf_fun2010.app(anf_arg2011);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2005;\ndefault: R.ffi.throwSpinnakerError(L[1249],$step1999);\n}\n}\nif($step1999 !== 7) {\n$ans2005.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2006,$temp_full2000,$step1999,[self2001,maybe$stack$loc2002,src$available2003,maybe$ast2004],[anf_fun2010,cases2009],$elidedFrames2008);\n}\nreturn $ans2005;\n};\nvar anf_variant_member5889 = R.makeMethod3($temp_full2000,\"render-fancy-reason\");\nvar $temp_full2085 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1315($self2086) {\nvar $step2084 = 0;\nvar $elidedFrames2090 = 0;\nvar $ans2087 = D;\nvar $al2088 = L[1315];\nif(R.isAR($self2086)) {\n$step2084 = $self2086.step;\n$al2088 = $self2086.from;\n$ans2087 = $self2086.ans;\n$elidedFrames2090 = $self2086.elidedFrames;\nself2086 = $self2086.args[0];\nanf_arg2120 = $self2086.vars[0];\nanf_fun2118 = $self2086.vars[1];\nanf_arg2113 = $self2086.vars[2];\nanf_arg2124 = $self2086.vars[3];\nanf_arg2114 = $self2086.vars[4];\nanf_arg2115 = $self2086.vars[5];\nanf_arg2116 = $self2086.vars[6];\nanf_fun2112 = $self2086.vars[7];\nanf_fun2123 = $self2086.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1315],1,$t,true);\n}\nvar self2086 = $self2086;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2087 = R.mC();\n}\nwhile(!R.isContinuation($ans2087)) {\nswitch($step2084) {\ncase 0: $ans2087 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1316],L[1317]);\nvar anf_fun2123 = $ans2087;\nvar $temp_lam2092 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1318($loc2093) {\nvar $step2091 = 0;\nvar $elidedFrames2097 = 0;\nvar $ans2094 = D;\nvar $al2095 = L[1318];\nif(R.isAR($loc2093)) {\n$step2091 = $loc2093.step;\n$al2095 = $loc2093.from;\n$ans2094 = $loc2093.ans;\n$elidedFrames2097 = $loc2093.elidedFrames;\nloc2093 = $loc2093.args[0];\nanf_fun2106 = $loc2093.vars[0];\nanf_arg2101 = $loc2093.vars[1];\nanf_arg2102 = $loc2093.vars[2];\nanf_arg2103 = $loc2093.vars[3];\nanf_arg2104 = $loc2093.vars[4];\nanf_arg2107 = $loc2093.vars[5];\nanf_fun2100 = $loc2093.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1318],1,$t,false);\n}\nvar loc2093 = $loc2093;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2094 = R.mC();\n}\nwhile(!R.isContinuation($ans2094)) {\nswitch($step2091) {\ncase 0: $ans2094 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1319],L[1320]);\nvar anf_fun2106 = $ans2094;\n$step2091 = 1;\n$al2095 = L[1330];\n// omitting isFunction check;\n$ans2094 = ed$simple$intro104.$var.app((\"expression\"),loc2093);\nbreak;\ncase 1: var anf_arg2107 = $ans2094;\n$ans2094 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1321],L[1322]);\nvar anf_fun2100 = $ans2094;\n$step2091 = 2;\n$al2095 = L[1329];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\"It was expected to evaluate to a \"));\nbreak;\ncase 2: var anf_arg2101 = $ans2094;\n$al2095 = L[1323];\nvar anf_arg2098 = G(self2086,\"typ\",L[1323]);\n$step2091 = 3;\n$al2095 = L[1328];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"embed\"].app(anf_arg2098);\nbreak;\ncase 3: var anf_arg2102 = $ans2094;\n$step2091 = 4;\n$al2095 = L[1327];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 4: var anf_arg2103 = $ans2094;\n$al2095 = L[1324];\nvar anf_arg2099 = G(self2086,\"typ\",L[1324]);\n$step2091 = 5;\n$al2095 = L[1326];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"embed\"].app(anf_arg2099);\nbreak;\ncase 5: var anf_arg2104 = $ans2094;\n$step2091 = 6;\n$al2095 = L[1325];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 6: var anf_arg2105 = $ans2094;\n$step2091 = 7;\n$al2095 = L[1322];\nif(typeof(anf_fun2100.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,anf_fun2100);\n}\n$ans2094 = anf_fun2100.app(anf_arg2101,anf_arg2102,anf_arg2103,anf_arg2104,anf_arg2105);\nbreak;\ncase 7: var anf_arg2108 = $ans2094;\n$step2091 = 8;\n$al2095 = L[1320];\nif(typeof(anf_fun2106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,anf_fun2106);\n}\n$ans2094 = anf_fun2106.app(anf_arg2107,anf_arg2108);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2094;\ndefault: R.ffi.throwSpinnakerError(L[1318],$step2091);\n}\n}\nif($step2091 !== 8) {\n$ans2094.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2095,$temp_lam2092,$step2091,[loc2093],[anf_fun2106,anf_arg2101,anf_arg2102,anf_arg2103,anf_arg2104,anf_arg2107,anf_fun2100],$elidedFrames2097);\n}\nreturn $ans2094;\n};\nvar anf_arg2120 = R.mF($temp_lam2092,\"\");\n$ans2087 = R.getMaker1(ED6.dict.values.dict[\"sequence\"],(\"make1\"),L[1331],L[1332]);\nvar anf_fun2118 = $ans2087;\n$ans2087 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1333],L[1334]);\nvar anf_fun2112 = $ans2087;\n$step2084 = 1;\n$al2088 = L[1344];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\"Evaluating an expression failed. It was expected to evaluate to a \"));\nbreak;\ncase 1: var anf_arg2113 = $ans2087;\n$al2088 = L[1335];\nvar anf_arg2110 = G(self2086,\"typ\",L[1335]);\n$step2084 = 2;\n$al2088 = L[1343];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2110);\nbreak;\ncase 2: var anf_arg2114 = $ans2087;\n$step2084 = 3;\n$al2088 = L[1342];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 3: var anf_arg2115 = $ans2087;\n$al2088 = L[1336];\nvar anf_arg2111 = G(self2086,\"typ\",L[1336]);\n$step2084 = 4;\n$al2088 = L[1341];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2111);\nbreak;\ncase 4: var anf_arg2116 = $ans2087;\n$step2084 = 5;\n$al2088 = L[1340];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 5: var anf_arg2117 = $ans2087;\n$step2084 = 6;\n$al2088 = L[1334];\nif(typeof(anf_fun2112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2112);\n}\n$ans2087 = anf_fun2112.app(anf_arg2113,anf_arg2114,anf_arg2115,anf_arg2116,anf_arg2117);\nbreak;\ncase 6: var anf_arg2119 = $ans2087;\n$step2084 = 7;\n$al2088 = L[1332];\nif(typeof(anf_fun2118.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2118);\n}\n$ans2087 = anf_fun2118.app(anf_arg2119);\nbreak;\ncase 7: var anf_arg2121 = $ans2087;\n$step2084 = 8;\n$al2088 = L[1339];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg2120,anf_arg2121);\nbreak;\ncase 8: var anf_arg2124 = $ans2087;\n$al2088 = L[1337];\nvar anf_arg2122 = G(self2086,\"val\",L[1337]);\n$step2084 = 9;\n$al2088 = L[1338];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2122);\nbreak;\ncase 9: var anf_arg2125 = $ans2087;\n$step2084 = 10;\n$al2088 = L[1317];\nif(typeof(anf_fun2123.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2123);\n}\n$ans2087 = anf_fun2123.app(anf_arg2124,anf_arg2125);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans2087;\ndefault: R.ffi.throwSpinnakerError(L[1315],$step2084);\n}\n}\nif($step2084 !== 10) {\n$ans2087.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2088,$temp_full2085,$step2084,[self2086],[anf_arg2120,anf_fun2118,anf_arg2113,anf_arg2124,anf_arg2114,anf_arg2115,anf_arg2116,anf_fun2112,anf_fun2123],$elidedFrames2090);\n}\nreturn $ans2087;\n};\nvar anf_variant_member5890 = R.makeMethod0($temp_full2085,\"render-reason\");\nvar $temp_full2128 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1345($self2129,$maybe$stack$loc2130,$src$available2131,$maybe$ast2132) {\nvar $step2127 = 0;\nvar $elidedFrames2136 = 0;\nvar $ans2133 = D;\nvar $al2134 = L[1345];\nif(R.isAR($self2129)) {\n$step2127 = $self2129.step;\n$al2134 = $self2129.from;\n$ans2133 = $self2129.ans;\n$elidedFrames2136 = $self2129.elidedFrames;\nself2129 = $self2129.args[0];\nmaybe$stack$loc2130 = $self2129.args[1];\nsrc$available2131 = $self2129.args[2];\nmaybe$ast2132 = $self2129.args[3];\nanf_fun2138 = $self2129.vars[0];\ncases2137 = $self2129.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1345],4,$t,true);\n}\nvar self2129 = $self2129;\nvar maybe$stack$loc2130 = $maybe$stack$loc2130;\nvar src$available2131 = $src$available2131;\nvar maybe$ast2132 = $maybe$ast2132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2133 = R.mC();\n}\nwhile(!R.isContinuation($ans2133)) {\nswitch($step2127) {\ncase 0: $ans2133 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1346],L[1347]);\nvar anf_fun2138 = $ans2133;\n$step2127 = 1;\n$al2134 = L[1519];\nif(typeof(maybe$stack$loc2130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2134,maybe$stack$loc2130);\n}\n$ans2133 = maybe$stack$loc2130.app((0),(false));\nbreak;\ncase 1: var cases2137 = $ans2133;\n$step2127 = 2;\n$al2134 = L[1518];\nvar $ann$check2320 = R._cA(L[1518],R.gDA(L[1518],\"O\",O8.dict.types,\"Option\"),cases2137);\nif(R.isContinuation($ann$check2320)) {\n$ans2133 = $ann$check2320;\n}\nbreak;\ncase 2: $al2134 = L[1484];\n$step2127 = $cases_dispatch2319[cases2137.$name] || 5;\nbreak;\ncase 3: if(cases2137.$arity !== 1) {\nif(cases2137.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1483],1,cases2137.$arity,L[1484],cases2137.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1483],true,L[1484],cases2137.$loc);\n}\n}\n$step2127 = 6;\n$al2134 = L[1483];\nvar $temp_branch2263 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1484($loc2140) {\nvar $step2264 = 0;\nvar $elidedFrames2268 = 0;\nvar $ans2265 = D;\nvar $al2266 = L[1348];\nif(R.isAR($loc2140)) {\n$step2264 = $loc2140.step;\n$al2266 = $loc2140.from;\n$ans2265 = $loc2140.ans;\n$elidedFrames2268 = $loc2140.elidedFrames;\nloc2140 = $loc2140.args[0];\nanf_fun2259 = $loc2140.vars[0];\nanf_fun2149 = $loc2140.vars[1];\nanf_arg2254 = $loc2140.vars[2];\nanf_arg2156 = $loc2140.vars[3];\nanf_arg2257 = $loc2140.vars[4];\nanf_arg2159 = $loc2140.vars[5];\ncases2163 = $loc2140.vars[6];\nanf_fun2161 = $loc2140.vars[7];\nanf_fun2253 = $loc2140.vars[8];\nanf_fun2155 = $loc2140.vars[9];\nanf_array2260 = $loc2140.vars[10];\nanf_fun2244 = $loc2140.vars[11];\nanf_array2162 = $loc2140.vars[12];\nanf_fun2256 = $loc2140.vars[13];\nanf_fun2146 = $loc2140.vars[14];\nanf_fun2158 = $loc2140.vars[15];\nanf_fun2247 = $loc2140.vars[16];\n} else {\nvar loc2140 = $loc2140;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2265 = R.mC();\n}\nwhile(!R.isContinuation($ans2265)) {\nswitch($step2264) {\ncase 0: $step2264 = 1;\n$ans2265 = R.maybeMethodCall0(loc2140,\"is-builtin\",L[1348]);\nbreak;\ncase 1: var anf_if2262 = $ans2265;\n$step2264 = R.checkPyretTrue(anf_if2262)?2:20;\nbreak;\ncase 2: $ans2265 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1349],L[1350]);\nvar anf_fun2161 = $ans2265;\n$ans2265 = R.makeArrayN((6));\nvar anf_array2162 = $ans2265;\n$al2266 = L[1351];\nvar anf_arg2141 = G(self2129,\"opdesc\",L[1351]);\n$step2264 = 3;\n$al2266 = L[1376];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2141,(\" (\"));\nbreak;\ncase 3: var anf_arg2142 = $ans2265;\n$al2266 = L[1352];\nvar anf_arg2143 = G(self2129,\"opname\",L[1352]);\n$step2264 = 4;\n$al2266 = L[1375];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2142,anf_arg2143);\nbreak;\ncase 4: var anf_arg2144 = $ans2265;\n$step2264 = 5;\n$al2266 = L[1374];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2144,(\") expression\"));\nbreak;\ncase 5: var anf_arg2145 = $ans2265;\n$step2264 = 6;\n$al2266 = L[1373];\n// omitting isFunction check;\n$ans2265 = ed$simple$intro104.$var.app(anf_arg2145,loc2140);\nbreak;\ncase 6: anf_array2162[0] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1353],L[1354]);\nvar anf_fun2146 = $ans2265;\n$step2264 = 7;\n$al2266 = L[1372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 7: var anf_arg2147 = $ans2265;\n$step2264 = 8;\n$al2266 = L[1354];\nif(typeof(anf_fun2146.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2146);\n}\n$ans2265 = anf_fun2146.app(anf_arg2147);\nbreak;\ncase 8: anf_array2162[1] = $ans2265;\n$al2266 = L[1355];\nvar anf_arg2148 = G(self2129,\"val1\",L[1355]);\n$step2264 = 9;\n$al2266 = L[1371];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2148);\nbreak;\ncase 9: anf_array2162[2] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1356],L[1357]);\nvar anf_fun2149 = $ans2265;\n$step2264 = 10;\n$al2266 = L[1370];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 10: var anf_arg2150 = $ans2265;\n$step2264 = 11;\n$al2266 = L[1357];\nif(typeof(anf_fun2149.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2149);\n}\n$ans2265 = anf_fun2149.app(anf_arg2150);\nbreak;\ncase 11: anf_array2162[3] = $ans2265;\n$al2266 = L[1358];\nvar anf_arg2151 = G(self2129,\"val2\",L[1358]);\n$step2264 = 12;\n$al2266 = L[1369];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2151);\nbreak;\ncase 12: anf_array2162[4] = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1359],L[1360]);\nvar anf_fun2158 = $ans2265;\n$al2266 = L[1361];\nvar anf_arg2152 = G(self2129,\"opname\",L[1361]);\n$step2264 = 13;\n$al2266 = L[1368];\n// omitting isFunction check;\n$ans2265 = _plus5.app((\"The \"),anf_arg2152);\nbreak;\ncase 13: var anf_arg2153 = $ans2265;\n$step2264 = 14;\n$al2266 = L[1367];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2153,(\" operator expects to be given:\"));\nbreak;\ncase 14: var anf_arg2154 = $ans2265;\n$step2264 = 15;\n$al2266 = L[1366];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app(anf_arg2154);\nbreak;\ncase 15: var anf_arg2159 = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1362],L[1363]);\nvar anf_fun2155 = $ans2265;\n$step2264 = 16;\n$al2266 = L[1365];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 16: var anf_arg2156 = $ans2265;\n$step2264 = 17;\n$al2266 = L[1364];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 17: var anf_arg2157 = $ans2265;\n$step2264 = 18;\n$al2266 = L[1363];\nif(typeof(anf_fun2155.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2155);\n}\n$ans2265 = anf_fun2155.app(anf_arg2156,anf_arg2157);\nbreak;\ncase 18: var anf_arg2160 = $ans2265;\n$step2264 = 19;\n$al2266 = L[1360];\nif(typeof(anf_fun2158.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2158);\n}\n$ans2265 = anf_fun2158.app(anf_arg2159,anf_arg2160);\nbreak;\ncase 19: anf_array2162[5] = $ans2265;\n$step2264 = 46;\n$al2266 = L[1350];\nif(typeof(anf_fun2161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2161);\n}\n$ans2265 = anf_fun2161.app(anf_array2162);\nbreak;\ncase 20: $step2264 = 21;\n$al2266 = L[1482];\nif(typeof(src$available2131.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,src$available2131);\n}\n$ans2265 = src$available2131.app(loc2140);\nbreak;\ncase 21: var anf_if2261 = $ans2265;\n$step2264 = R.checkPyretTrue(anf_if2261)?22:28;\nbreak;\ncase 22: $step2264 = 23;\n$al2266 = L[1453];\nif(typeof(maybe$ast2132.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,maybe$ast2132);\n}\n$ans2265 = maybe$ast2132.app(loc2140);\nbreak;\ncase 23: var cases2163 = $ans2265;\n$step2264 = 24;\n$al2266 = L[1452];\nvar $ann$check2284 = R._cA(L[1452],R.gDA(L[1452],\"O\",O8.dict.types,\"Option\"),cases2163);\nif(R.isContinuation($ann$check2284)) {\n$ans2265 = $ann$check2284;\n}\nbreak;\ncase 24: $al2266 = L[1421];\n$step2264 = $cases_dispatch2283[cases2163.$name] || 27;\nbreak;\ncase 25: if(cases2163.$arity !== 1) {\nif(cases2163.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1420],1,cases2163.$arity,L[1421],cases2163.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1420],true,L[1421],cases2163.$loc);\n}\n}\n$step2264 = 46;\n$al2266 = L[1420];\nvar $temp_branch2269 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1421($ast2164) {\nvar $step2270 = 0;\nvar $elidedFrames2274 = 0;\nvar $ans2271 = D;\nvar $al2272 = L[1377];\nif(R.isAR($ast2164)) {\n$step2270 = $ast2164.step;\n$al2272 = $ast2164.from;\n$ans2271 = $ast2164.ans;\n$elidedFrames2274 = $ast2164.elidedFrames;\nast2164 = $ast2164.args[0];\nanf_arg2174 = $ast2164.vars[0];\nanf_arg2186 = $ast2164.vars[1];\nanf_arg2197 = $ast2164.vars[2];\nanf_array2200 = $ast2164.vars[3];\nanf_arg2187 = $ast2164.vars[4];\nanf_arg2177 = $ast2164.vars[5];\nanf_arg2178 = $ast2164.vars[6];\nleft$loc2173 = $ast2164.vars[7];\nanf_fun2193 = $ast2164.vars[8];\nright$loc2182 = $ast2164.vars[9];\nanf_fun2185 = $ast2164.vars[10];\nanf_fun2196 = $ast2164.vars[11];\nanf_fun2176 = $ast2164.vars[12];\nanf_fun2199 = $ast2164.vars[13];\nanf_arg2183 = $ast2164.vars[14];\nanf_arg2194 = $ast2164.vars[15];\n} else {\nvar ast2164 = $ast2164;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2271 = R.mC();\n}\nwhile(!R.isContinuation($ans2271)) {\nswitch($step2270) {\ncase 0: $al2272 = L[1377];\nvar anf_bracket2165 = G(ast2164,\"left\",L[1377]);\n$al2272 = L[1378];\nvar left$loc2173 = G(anf_bracket2165,\"l\",L[1378]);\n$al2272 = L[1379];\nvar anf_bracket2166 = G(ast2164,\"right\",L[1379]);\n$al2272 = L[1380];\nvar right$loc2182 = G(anf_bracket2166,\"l\",L[1380]);\n$ans2271 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1381],L[1382]);\nvar anf_fun2199 = $ans2271;\n$ans2271 = R.makeArrayN((7));\nvar anf_array2200 = $ans2271;\n$al2272 = L[1383];\nvar anf_arg2167 = G(self2129,\"opdesc\",L[1383]);\n$step2270 = 1;\n$al2272 = L[1419];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2167,(\" (\"));\nbreak;\ncase 1: var anf_arg2168 = $ans2271;\n$al2272 = L[1384];\nvar anf_arg2169 = G(self2129,\"opname\",L[1384]);\n$step2270 = 2;\n$al2272 = L[1418];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2168,anf_arg2169);\nbreak;\ncase 2: var anf_arg2170 = $ans2271;\n$step2270 = 3;\n$al2272 = L[1417];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2170,(\") expression\"));\nbreak;\ncase 3: var anf_arg2171 = $ans2271;\n$step2270 = 4;\n$al2272 = L[1416];\n// omitting isFunction check;\n$ans2271 = ed$intro146.$var.app(anf_arg2171,loc2140,(-1),(true));\nbreak;\ncase 4: anf_array2200[0] = $ans2271;\n$step2270 = 5;\n$al2272 = L[1415];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"cmcode\"].app(loc2140);\nbreak;\ncase 5: anf_array2200[1] = $ans2271;\n$ans2271 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1385],L[1386]);\nvar anf_fun2176 = $ans2271;\n$step2270 = 6;\n$al2272 = L[1414];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 6: var anf_arg2177 = $ans2271;\n$step2270 = 7;\n$al2272 = L[1413];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 7: var anf_arg2174 = $ans2271;\n$ans2271 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1387],L[1388]);\nvar anf_fun2172 = $ans2271;\n$step2270 = 8;\n$al2272 = L[1388];\nif(typeof(anf_fun2172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2172);\n}\n$ans2271 = anf_fun2172.app(left$loc2173);\nbreak;\ncase 8: var anf_arg2175 = $ans2271;\n$step2270 = 9;\n$al2272 = L[1412];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2174,anf_arg2175,(0));\nbreak;\ncase 9: var anf_arg2178 = $ans2271;\n$step2270 = 10;\n$al2272 = L[1411];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 10: var anf_arg2179 = $ans2271;\n$step2270 = 11;\n$al2272 = L[1386];\nif(typeof(anf_fun2176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2176);\n}\n$ans2271 = anf_fun2176.app(anf_arg2177,anf_arg2178,anf_arg2179);\nbreak;\ncase 11: anf_array2200[2] = $ans2271;\n$al2272 = L[1389];\nvar anf_arg2180 = G(self2129,\"val1\",L[1389]);\n$step2270 = 12;\n$al2272 = L[1410];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"embed\"].app(anf_arg2180);\nbreak;\ncase 12: anf_array2200[3] = $ans2271;\n$ans2271 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1390],L[1391]);\nvar anf_fun2185 = $ans2271;\n$step2270 = 13;\n$al2272 = L[1409];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg2186 = $ans2271;\n$step2270 = 14;\n$al2272 = L[1408];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 14: var anf_arg2183 = $ans2271;\n$ans2271 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1392],L[1393]);\nvar anf_fun2181 = $ans2271;\n$step2270 = 15;\n$al2272 = L[1393];\nif(typeof(anf_fun2181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2181);\n}\n$ans2271 = anf_fun2181.app(right$loc2182);\nbreak;\ncase 15: var anf_arg2184 = $ans2271;\n$step2270 = 16;\n$al2272 = L[1407];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2183,anf_arg2184,(1));\nbreak;\ncase 16: var anf_arg2187 = $ans2271;\n$step2270 = 17;\n$al2272 = L[1406];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 17: var anf_arg2188 = $ans2271;\n$step2270 = 18;\n$al2272 = L[1391];\nif(typeof(anf_fun2185.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2185);\n}\n$ans2271 = anf_fun2185.app(anf_arg2186,anf_arg2187,anf_arg2188);\nbreak;\ncase 18: anf_array2200[4] = $ans2271;\n$al2272 = L[1394];\nvar anf_arg2189 = G(self2129,\"val2\",L[1394]);\n$step2270 = 19;\n$al2272 = L[1405];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"embed\"].app(anf_arg2189);\nbreak;\ncase 19: anf_array2200[5] = $ans2271;\n$ans2271 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1395],L[1396]);\nvar anf_fun2196 = $ans2271;\n$al2272 = L[1397];\nvar anf_arg2190 = G(self2129,\"opname\",L[1397]);\n$step2270 = 20;\n$al2272 = L[1404];\n// omitting isFunction check;\n$ans2271 = _plus5.app((\"The \"),anf_arg2190);\nbreak;\ncase 20: var anf_arg2191 = $ans2271;\n$step2270 = 21;\n$al2272 = L[1403];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2191,(\" operator expects to be given:\"));\nbreak;\ncase 21: var anf_arg2192 = $ans2271;\n$step2270 = 22;\n$al2272 = L[1402];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app(anf_arg2192);\nbreak;\ncase 22: var anf_arg2197 = $ans2271;\n$ans2271 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1398],L[1399]);\nvar anf_fun2193 = $ans2271;\n$step2270 = 23;\n$al2272 = L[1401];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 23: var anf_arg2194 = $ans2271;\n$step2270 = 24;\n$al2272 = L[1400];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 24: var anf_arg2195 = $ans2271;\n$step2270 = 25;\n$al2272 = L[1399];\nif(typeof(anf_fun2193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2193);\n}\n$ans2271 = anf_fun2193.app(anf_arg2194,anf_arg2195);\nbreak;\ncase 25: var anf_arg2198 = $ans2271;\n$step2270 = 26;\n$al2272 = L[1396];\nif(typeof(anf_fun2196.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2196);\n}\n$ans2271 = anf_fun2196.app(anf_arg2197,anf_arg2198);\nbreak;\ncase 26: anf_array2200[6] = $ans2271;\n$step2270 = 27;\n$al2272 = L[1382];\nif(typeof(anf_fun2199.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2199);\n}\n$ans2271 = anf_fun2199.app(anf_array2200);\nbreak;\ncase 27: ++R.GAS;\nreturn $ans2271;\ndefault: R.ffi.throwSpinnakerError(L[1377],$step2270);\n}\n}\nif($step2270 !== 27) {\n$ans2271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2272,$temp_branch2269,$step2270,[ast2164],[anf_arg2174,anf_arg2186,anf_arg2197,anf_array2200,anf_arg2187,anf_arg2177,anf_arg2178,left$loc2173,anf_fun2193,right$loc2182,anf_fun2185,anf_fun2196,anf_fun2176,anf_fun2199,anf_arg2183,anf_arg2194],$elidedFrames2274);\n}\nreturn $ans2271;\n};\n$ans2265 = cases2163.$app_fields($temp_branch2269,[false]);\nbreak;\ncase 26: if(cases2163.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1451],false,L[1421],cases2163.$loc);\n}\n$step2264 = 46;\n$al2266 = L[1451];\nvar $temp_branch2276 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1421($$resumer13) {\nvar $step2277 = 0;\nvar $elidedFrames2281 = 0;\nvar $ans2278 = D;\nvar $al2279 = L[1423];\nif(R.isAR($$resumer13)) {\n$step2277 = $$resumer13.step;\n$al2279 = $$resumer13.from;\n$ans2278 = $$resumer13.ans;\n$elidedFrames2281 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2216 = $$resumer13.vars[0];\nanf_fun2228 = $$resumer13.vars[1];\nanf_arg2223 = $$resumer13.vars[2];\nanf_array2229 = $$resumer13.vars[3];\nanf_arg2226 = $$resumer13.vars[4];\nanf_fun2222 = $$resumer13.vars[5];\nanf_fun2213 = $$resumer13.vars[6];\nanf_fun2225 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2278 = R.mC();\n}\nwhile(!R.isContinuation($ans2278)) {\nswitch($step2277) {\ncase 0: $ans2278 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1422],L[1423]);\nvar anf_fun2228 = $ans2278;\n$ans2278 = R.makeArrayN((7));\nvar anf_array2229 = $ans2278;\n$al2279 = L[1424];\nvar anf_arg2208 = G(self2129,\"opdesc\",L[1424]);\n$step2277 = 1;\n$al2279 = L[1450];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2208,(\" (\"));\nbreak;\ncase 1: var anf_arg2209 = $ans2278;\n$al2279 = L[1425];\nvar anf_arg2210 = G(self2129,\"opname\",L[1425]);\n$step2277 = 2;\n$al2279 = L[1449];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2209,anf_arg2210);\nbreak;\ncase 2: var anf_arg2211 = $ans2278;\n$step2277 = 3;\n$al2279 = L[1448];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2211,(\") expression\"));\nbreak;\ncase 3: var anf_arg2212 = $ans2278;\n$step2277 = 4;\n$al2279 = L[1447];\n// omitting isFunction check;\n$ans2278 = ed$intro146.$var.app(anf_arg2212,loc2140,(0),(true));\nbreak;\ncase 4: anf_array2229[0] = $ans2278;\n$step2277 = 5;\n$al2279 = L[1446];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"cmcode\"].app(loc2140);\nbreak;\ncase 5: anf_array2229[1] = $ans2278;\n$ans2278 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1426],L[1427]);\nvar anf_fun2213 = $ans2278;\n$step2277 = 6;\n$al2279 = L[1445];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2214 = $ans2278;\n$step2277 = 7;\n$al2279 = L[1427];\nif(typeof(anf_fun2213.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2213);\n}\n$ans2278 = anf_fun2213.app(anf_arg2214);\nbreak;\ncase 7: anf_array2229[2] = $ans2278;\n$al2279 = L[1428];\nvar anf_arg2215 = G(self2129,\"val1\",L[1428]);\n$step2277 = 8;\n$al2279 = L[1444];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"embed\"].app(anf_arg2215);\nbreak;\ncase 8: anf_array2229[3] = $ans2278;\n$ans2278 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1429],L[1430]);\nvar anf_fun2216 = $ans2278;\n$step2277 = 9;\n$al2279 = L[1443];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2217 = $ans2278;\n$step2277 = 10;\n$al2279 = L[1430];\nif(typeof(anf_fun2216.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2216);\n}\n$ans2278 = anf_fun2216.app(anf_arg2217);\nbreak;\ncase 10: anf_array2229[4] = $ans2278;\n$al2279 = L[1431];\nvar anf_arg2218 = G(self2129,\"val2\",L[1431]);\n$step2277 = 11;\n$al2279 = L[1442];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"embed\"].app(anf_arg2218);\nbreak;\ncase 11: anf_array2229[5] = $ans2278;\n$ans2278 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1432],L[1433]);\nvar anf_fun2225 = $ans2278;\n$al2279 = L[1434];\nvar anf_arg2219 = G(self2129,\"opname\",L[1434]);\n$step2277 = 12;\n$al2279 = L[1441];\n// omitting isFunction check;\n$ans2278 = _plus5.app((\"The \"),anf_arg2219);\nbreak;\ncase 12: var anf_arg2220 = $ans2278;\n$step2277 = 13;\n$al2279 = L[1440];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2220,(\" operator expects to be given:\"));\nbreak;\ncase 13: var anf_arg2221 = $ans2278;\n$step2277 = 14;\n$al2279 = L[1439];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app(anf_arg2221);\nbreak;\ncase 14: var anf_arg2226 = $ans2278;\n$ans2278 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1435],L[1436]);\nvar anf_fun2222 = $ans2278;\n$step2277 = 15;\n$al2279 = L[1438];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 15: var anf_arg2223 = $ans2278;\n$step2277 = 16;\n$al2279 = L[1437];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 16: var anf_arg2224 = $ans2278;\n$step2277 = 17;\n$al2279 = L[1436];\nif(typeof(anf_fun2222.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2222);\n}\n$ans2278 = anf_fun2222.app(anf_arg2223,anf_arg2224);\nbreak;\ncase 17: var anf_arg2227 = $ans2278;\n$step2277 = 18;\n$al2279 = L[1433];\nif(typeof(anf_fun2225.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2225);\n}\n$ans2278 = anf_fun2225.app(anf_arg2226,anf_arg2227);\nbreak;\ncase 18: anf_array2229[6] = $ans2278;\n$step2277 = 19;\n$al2279 = L[1423];\nif(typeof(anf_fun2228.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2228);\n}\n$ans2278 = anf_fun2228.app(anf_array2229);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2278;\ndefault: R.ffi.throwSpinnakerError(L[1423],$step2277);\n}\n}\nif($step2277 !== 19) {\n$ans2278.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2279,$temp_branch2276,$step2277,[],[anf_fun2216,anf_fun2228,anf_arg2223,anf_array2229,anf_arg2226,anf_fun2222,anf_fun2213,anf_fun2225],$elidedFrames2281);\n}\nreturn $ans2278;\n};\n$ans2265 = cases2163.$app_fields($temp_branch2276,[]);\nbreak;\ncase 27: $ans2265 = R.throwNoCasesMatched(L[1421],cases2163);\n$step2264 = 46;\nbreak;\ncase 28: $ans2265 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1454],L[1455]);\nvar anf_fun2259 = $ans2265;\n$ans2265 = R.makeArrayN((6));\nvar anf_array2260 = $ans2265;\n$al2266 = L[1456];\nvar anf_arg2239 = G(self2129,\"opdesc\",L[1456]);\n$step2264 = 29;\n$al2266 = L[1481];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2239,(\" (\"));\nbreak;\ncase 29: var anf_arg2240 = $ans2265;\n$al2266 = L[1457];\nvar anf_arg2241 = G(self2129,\"opname\",L[1457]);\n$step2264 = 30;\n$al2266 = L[1480];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2240,anf_arg2241);\nbreak;\ncase 30: var anf_arg2242 = $ans2265;\n$step2264 = 31;\n$al2266 = L[1479];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2242,(\") expression\"));\nbreak;\ncase 31: var anf_arg2243 = $ans2265;\n$step2264 = 32;\n$al2266 = L[1478];\n// omitting isFunction check;\n$ans2265 = ed$simple$intro104.$var.app(anf_arg2243,loc2140);\nbreak;\ncase 32: anf_array2260[0] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1458],L[1459]);\nvar anf_fun2244 = $ans2265;\n$step2264 = 33;\n$al2266 = L[1477];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 33: var anf_arg2245 = $ans2265;\n$step2264 = 34;\n$al2266 = L[1459];\nif(typeof(anf_fun2244.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2244);\n}\n$ans2265 = anf_fun2244.app(anf_arg2245);\nbreak;\ncase 34: anf_array2260[1] = $ans2265;\n$al2266 = L[1460];\nvar anf_arg2246 = G(self2129,\"val1\",L[1460]);\n$step2264 = 35;\n$al2266 = L[1476];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2246);\nbreak;\ncase 35: anf_array2260[2] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1461],L[1462]);\nvar anf_fun2247 = $ans2265;\n$step2264 = 36;\n$al2266 = L[1475];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 36: var anf_arg2248 = $ans2265;\n$step2264 = 37;\n$al2266 = L[1462];\nif(typeof(anf_fun2247.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2247);\n}\n$ans2265 = anf_fun2247.app(anf_arg2248);\nbreak;\ncase 37: anf_array2260[3] = $ans2265;\n$al2266 = L[1463];\nvar anf_arg2249 = G(self2129,\"val2\",L[1463]);\n$step2264 = 38;\n$al2266 = L[1474];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2249);\nbreak;\ncase 38: anf_array2260[4] = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1464],L[1465]);\nvar anf_fun2256 = $ans2265;\n$al2266 = L[1466];\nvar anf_arg2250 = G(self2129,\"opname\",L[1466]);\n$step2264 = 39;\n$al2266 = L[1473];\n// omitting isFunction check;\n$ans2265 = _plus5.app((\"The \"),anf_arg2250);\nbreak;\ncase 39: var anf_arg2251 = $ans2265;\n$step2264 = 40;\n$al2266 = L[1472];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2251,(\" operator expects to be given:\"));\nbreak;\ncase 40: var anf_arg2252 = $ans2265;\n$step2264 = 41;\n$al2266 = L[1471];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app(anf_arg2252);\nbreak;\ncase 41: var anf_arg2257 = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1467],L[1468]);\nvar anf_fun2253 = $ans2265;\n$step2264 = 42;\n$al2266 = L[1470];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 42: var anf_arg2254 = $ans2265;\n$step2264 = 43;\n$al2266 = L[1469];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 43: var anf_arg2255 = $ans2265;\n$step2264 = 44;\n$al2266 = L[1468];\nif(typeof(anf_fun2253.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2253);\n}\n$ans2265 = anf_fun2253.app(anf_arg2254,anf_arg2255);\nbreak;\ncase 44: var anf_arg2258 = $ans2265;\n$step2264 = 45;\n$al2266 = L[1465];\nif(typeof(anf_fun2256.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2256);\n}\n$ans2265 = anf_fun2256.app(anf_arg2257,anf_arg2258);\nbreak;\ncase 45: anf_array2260[5] = $ans2265;\n$step2264 = 46;\n$al2266 = L[1455];\nif(typeof(anf_fun2259.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2259);\n}\n$ans2265 = anf_fun2259.app(anf_array2260);\nbreak;\ncase 46: ++R.GAS;\nreturn $ans2265;\ndefault: R.ffi.throwSpinnakerError(L[1348],$step2264);\n}\n}\nif($step2264 !== 46) {\n$ans2265.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2266,$temp_branch2263,$step2264,[loc2140],[anf_fun2259,anf_fun2149,anf_arg2254,anf_arg2156,anf_arg2257,anf_arg2159,cases2163,anf_fun2161,anf_fun2253,anf_fun2155,anf_array2260,anf_fun2244,anf_array2162,anf_fun2256,anf_fun2146,anf_fun2158,anf_fun2247],$elidedFrames2268);\n}\nreturn $ans2265;\n};\n$ans2133 = cases2137.$app_fields($temp_branch2263,[false]);\nbreak;\ncase 4: if(cases2137.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1517],false,L[1484],cases2137.$loc);\n}\n$step2127 = 6;\n$al2134 = L[1517];\nvar $temp_branch2312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1484($$resumer13) {\nvar $step2313 = 0;\nvar $elidedFrames2317 = 0;\nvar $ans2314 = D;\nvar $al2315 = L[1486];\nif(R.isAR($$resumer13)) {\n$step2313 = $$resumer13.step;\n$al2315 = $$resumer13.from;\n$ans2314 = $$resumer13.ans;\n$elidedFrames2317 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2304 = $$resumer13.vars[0];\nanf_array2311 = $$resumer13.vars[1];\nanf_fun2307 = $$resumer13.vars[2];\nanf_arg2305 = $$resumer13.vars[3];\nanf_arg2308 = $$resumer13.vars[4];\nanf_fun2291 = $$resumer13.vars[5];\nanf_fun2295 = $$resumer13.vars[6];\nanf_fun2298 = $$resumer13.vars[7];\nanf_fun2310 = $$resumer13.vars[8];\nanf_arg2292 = $$resumer13.vars[9];\nanf_arg2293 = $$resumer13.vars[10];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2314 = R.mC();\n}\nwhile(!R.isContinuation($ans2314)) {\nswitch($step2313) {\ncase 0: $ans2314 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1485],L[1486]);\nvar anf_fun2310 = $ans2314;\n$ans2314 = R.makeArrayN((6));\nvar anf_array2311 = $ans2314;\n$ans2314 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1487],L[1488]);\nvar anf_fun2291 = $ans2314;\n$al2315 = L[1489];\nvar anf_arg2286 = G(self2129,\"opdesc\",L[1489]);\n$step2313 = 1;\n$al2315 = L[1516];\n// omitting isFunction check;\n$ans2314 = _plus5.app((\"A \"),anf_arg2286);\nbreak;\ncase 1: var anf_arg2287 = $ans2314;\n$step2313 = 2;\n$al2315 = L[1515];\n// omitting isFunction check;\n$ans2314 = _plus5.app(anf_arg2287,(\" (\"));\nbreak;\ncase 2: var anf_arg2288 = $ans2314;\n$step2313 = 3;\n$al2315 = L[1514];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2288);\nbreak;\ncase 3: var anf_arg2292 = $ans2314;\n$al2315 = L[1490];\nvar anf_arg2289 = G(self2129,\"opname\",L[1490]);\n$step2313 = 4;\n$al2315 = L[1513];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2289);\nbreak;\ncase 4: var anf_arg2290 = $ans2314;\n$step2313 = 5;\n$al2315 = L[1512];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"code\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"code\"].app(anf_arg2290);\nbreak;\ncase 5: var anf_arg2293 = $ans2314;\n$step2313 = 6;\n$al2315 = L[1511];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\") expression errored.\"));\nbreak;\ncase 6: var anf_arg2294 = $ans2314;\n$step2313 = 7;\n$al2315 = L[1488];\nif(typeof(anf_fun2291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2291);\n}\n$ans2314 = anf_fun2291.app(anf_arg2292,anf_arg2293,anf_arg2294);\nbreak;\ncase 7: anf_array2311[0] = $ans2314;\n$ans2314 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1491],L[1492]);\nvar anf_fun2295 = $ans2314;\n$step2313 = 8;\n$al2315 = L[1510];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 8: var anf_arg2296 = $ans2314;\n$step2313 = 9;\n$al2315 = L[1492];\nif(typeof(anf_fun2295.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2295);\n}\n$ans2314 = anf_fun2295.app(anf_arg2296);\nbreak;\ncase 9: anf_array2311[1] = $ans2314;\n$al2315 = L[1493];\nvar anf_arg2297 = G(self2129,\"val1\",L[1493]);\n$step2313 = 10;\n$al2315 = L[1509];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"embed\"].app(anf_arg2297);\nbreak;\ncase 10: anf_array2311[2] = $ans2314;\n$ans2314 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1494],L[1495]);\nvar anf_fun2298 = $ans2314;\n$step2313 = 11;\n$al2315 = L[1508];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 11: var anf_arg2299 = $ans2314;\n$step2313 = 12;\n$al2315 = L[1495];\nif(typeof(anf_fun2298.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2298);\n}\n$ans2314 = anf_fun2298.app(anf_arg2299);\nbreak;\ncase 12: anf_array2311[3] = $ans2314;\n$al2315 = L[1496];\nvar anf_arg2300 = G(self2129,\"val2\",L[1496]);\n$step2313 = 13;\n$al2315 = L[1507];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"embed\"].app(anf_arg2300);\nbreak;\ncase 13: anf_array2311[4] = $ans2314;\n$ans2314 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1497],L[1498]);\nvar anf_fun2307 = $ans2314;\n$al2315 = L[1499];\nvar anf_arg2301 = G(self2129,\"opname\",L[1499]);\n$step2313 = 14;\n$al2315 = L[1506];\n// omitting isFunction check;\n$ans2314 = _plus5.app((\"The \"),anf_arg2301);\nbreak;\ncase 14: var anf_arg2302 = $ans2314;\n$step2313 = 15;\n$al2315 = L[1505];\n// omitting isFunction check;\n$ans2314 = _plus5.app(anf_arg2302,(\" operator expects to be given:\"));\nbreak;\ncase 15: var anf_arg2303 = $ans2314;\n$step2313 = 16;\n$al2315 = L[1504];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2303);\nbreak;\ncase 16: var anf_arg2308 = $ans2314;\n$ans2314 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1500],L[1501]);\nvar anf_fun2304 = $ans2314;\n$step2313 = 17;\n$al2315 = L[1503];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 17: var anf_arg2305 = $ans2314;\n$step2313 = 18;\n$al2315 = L[1502];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 18: var anf_arg2306 = $ans2314;\n$step2313 = 19;\n$al2315 = L[1501];\nif(typeof(anf_fun2304.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2304);\n}\n$ans2314 = anf_fun2304.app(anf_arg2305,anf_arg2306);\nbreak;\ncase 19: var anf_arg2309 = $ans2314;\n$step2313 = 20;\n$al2315 = L[1498];\nif(typeof(anf_fun2307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2307);\n}\n$ans2314 = anf_fun2307.app(anf_arg2308,anf_arg2309);\nbreak;\ncase 20: anf_array2311[5] = $ans2314;\n$step2313 = 21;\n$al2315 = L[1486];\nif(typeof(anf_fun2310.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2310);\n}\n$ans2314 = anf_fun2310.app(anf_array2311);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans2314;\ndefault: R.ffi.throwSpinnakerError(L[1486],$step2313);\n}\n}\nif($step2313 !== 21) {\n$ans2314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2315,$temp_branch2312,$step2313,[],[anf_fun2304,anf_array2311,anf_fun2307,anf_arg2305,anf_arg2308,anf_fun2291,anf_fun2295,anf_fun2298,anf_fun2310,anf_arg2292,anf_arg2293],$elidedFrames2317);\n}\nreturn $ans2314;\n};\n$ans2133 = cases2137.$app_fields($temp_branch2312,[]);\nbreak;\ncase 5: $ans2133 = R.throwNoCasesMatched(L[1484],cases2137);\n$step2127 = 6;\nbreak;\ncase 6: var anf_arg2139 = $ans2133;\n$step2127 = 7;\n$al2134 = L[1347];\nif(typeof(anf_fun2138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2134,anf_fun2138);\n}\n$ans2133 = anf_fun2138.app(anf_arg2139);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2133;\ndefault: R.ffi.throwSpinnakerError(L[1345],$step2127);\n}\n}\nif($step2127 !== 7) {\n$ans2133.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2134,$temp_full2128,$step2127,[self2129,maybe$stack$loc2130,src$available2131,maybe$ast2132],[anf_fun2138,cases2137],$elidedFrames2136);\n}\nreturn $ans2133;\n};\nvar anf_variant_member5899 = R.makeMethod3($temp_full2128,\"render-fancy-reason\");\nvar $temp_full2323 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1520($self2324) {\nvar $step2322 = 0;\nvar $elidedFrames2328 = 0;\nvar $ans2325 = D;\nvar $al2326 = L[1520];\nif(R.isAR($self2324)) {\n$step2322 = $self2324.step;\n$al2326 = $self2324.from;\n$ans2325 = $self2324.ans;\n$elidedFrames2328 = $self2324.elidedFrames;\nself2324 = $self2324.args[0];\nanf_arg2382 = $self2324.vars[0];\nanf_arg2362 = $self2324.vars[1];\nanf_arg2363 = $self2324.vars[2];\nanf_arg2375 = $self2324.vars[3];\nanf_arg2378 = $self2324.vars[4];\nanf_fun2380 = $self2324.vars[5];\nanf_fun2361 = $self2324.vars[6];\nanf_fun2384 = $self2324.vars[7];\nanf_fun2374 = $self2324.vars[8];\nanf_array2381 = $self2324.vars[9];\nanf_fun2365 = $self2324.vars[10];\nanf_fun2377 = $self2324.vars[11];\nanf_fun2368 = $self2324.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1520],1,$t,true);\n}\nvar self2324 = $self2324;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2325 = R.mC();\n}\nwhile(!R.isContinuation($ans2325)) {\nswitch($step2322) {\ncase 0: $ans2325 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1521],L[1522]);\nvar anf_fun2384 = $ans2325;\nvar $temp_lam2330 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1523($loc2331) {\nvar $step2329 = 0;\nvar $elidedFrames2335 = 0;\nvar $ans2332 = D;\nvar $al2333 = L[1523];\nif(R.isAR($loc2331)) {\n$step2329 = $loc2331.step;\n$al2333 = $loc2331.from;\n$ans2332 = $loc2331.ans;\n$elidedFrames2335 = $loc2331.elidedFrames;\nloc2331 = $loc2331.args[0];\nanf_arg2351 = $loc2331.vars[0];\nanf_array2357 = $loc2331.vars[1];\nanf_arg2354 = $loc2331.vars[2];\nanf_fun2350 = $loc2331.vars[3];\nanf_fun2341 = $loc2331.vars[4];\nanf_fun2353 = $loc2331.vars[5];\nanf_fun2344 = $loc2331.vars[6];\nanf_fun2356 = $loc2331.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1523],1,$t,false);\n}\nvar loc2331 = $loc2331;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2332 = R.mC();\n}\nwhile(!R.isContinuation($ans2332)) {\nswitch($step2329) {\ncase 0: $ans2332 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1524],L[1525]);\nvar anf_fun2356 = $ans2332;\n$ans2332 = R.makeArrayN((6));\nvar anf_array2357 = $ans2332;\n$al2333 = L[1526];\nvar anf_arg2336 = G(self2324,\"opdesc\",L[1526]);\n$step2329 = 1;\n$al2333 = L[1551];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2336,(\" (\"));\nbreak;\ncase 1: var anf_arg2337 = $ans2332;\n$al2333 = L[1527];\nvar anf_arg2338 = G(self2324,\"opname\",L[1527]);\n$step2329 = 2;\n$al2333 = L[1550];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2337,anf_arg2338);\nbreak;\ncase 2: var anf_arg2339 = $ans2332;\n$step2329 = 3;\n$al2333 = L[1549];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2339,(\") expression\"));\nbreak;\ncase 3: var anf_arg2340 = $ans2332;\n$step2329 = 4;\n$al2333 = L[1548];\n// omitting isFunction check;\n$ans2332 = ed$simple$intro104.$var.app(anf_arg2340,loc2331);\nbreak;\ncase 4: anf_array2357[0] = $ans2332;\n$ans2332 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1528],L[1529]);\nvar anf_fun2341 = $ans2332;\n$step2329 = 5;\n$al2333 = L[1547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 5: var anf_arg2342 = $ans2332;\n$step2329 = 6;\n$al2333 = L[1529];\nif(typeof(anf_fun2341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2341);\n}\n$ans2332 = anf_fun2341.app(anf_arg2342);\nbreak;\ncase 6: anf_array2357[1] = $ans2332;\n$al2333 = L[1530];\nvar anf_arg2343 = G(self2324,\"val1\",L[1530]);\n$step2329 = 7;\n$al2333 = L[1546];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"embed\"].app(anf_arg2343);\nbreak;\ncase 7: anf_array2357[2] = $ans2332;\n$ans2332 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1531],L[1532]);\nvar anf_fun2344 = $ans2332;\n$step2329 = 8;\n$al2333 = L[1545];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 8: var anf_arg2345 = $ans2332;\n$step2329 = 9;\n$al2333 = L[1532];\nif(typeof(anf_fun2344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2344);\n}\n$ans2332 = anf_fun2344.app(anf_arg2345);\nbreak;\ncase 9: anf_array2357[3] = $ans2332;\n$al2333 = L[1533];\nvar anf_arg2346 = G(self2324,\"val2\",L[1533]);\n$step2329 = 10;\n$al2333 = L[1544];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"embed\"].app(anf_arg2346);\nbreak;\ncase 10: anf_array2357[4] = $ans2332;\n$ans2332 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1534],L[1535]);\nvar anf_fun2353 = $ans2332;\n$al2333 = L[1536];\nvar anf_arg2347 = G(self2324,\"opname\",L[1536]);\n$step2329 = 11;\n$al2333 = L[1543];\n// omitting isFunction check;\n$ans2332 = _plus5.app((\"The \"),anf_arg2347);\nbreak;\ncase 11: var anf_arg2348 = $ans2332;\n$step2329 = 12;\n$al2333 = L[1542];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2348,(\" operator expects to be given:\"));\nbreak;\ncase 12: var anf_arg2349 = $ans2332;\n$step2329 = 13;\n$al2333 = L[1541];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app(anf_arg2349);\nbreak;\ncase 13: var anf_arg2354 = $ans2332;\n$ans2332 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1537],L[1538]);\nvar anf_fun2350 = $ans2332;\n$step2329 = 14;\n$al2333 = L[1540];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 14: var anf_arg2351 = $ans2332;\n$step2329 = 15;\n$al2333 = L[1539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 15: var anf_arg2352 = $ans2332;\n$step2329 = 16;\n$al2333 = L[1538];\nif(typeof(anf_fun2350.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2350);\n}\n$ans2332 = anf_fun2350.app(anf_arg2351,anf_arg2352);\nbreak;\ncase 16: var anf_arg2355 = $ans2332;\n$step2329 = 17;\n$al2333 = L[1535];\nif(typeof(anf_fun2353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2353);\n}\n$ans2332 = anf_fun2353.app(anf_arg2354,anf_arg2355);\nbreak;\ncase 17: anf_array2357[5] = $ans2332;\n$step2329 = 18;\n$al2333 = L[1525];\nif(typeof(anf_fun2356.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2356);\n}\n$ans2332 = anf_fun2356.app(anf_array2357);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2332;\ndefault: R.ffi.throwSpinnakerError(L[1523],$step2329);\n}\n}\nif($step2329 !== 18) {\n$ans2332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2333,$temp_lam2330,$step2329,[loc2331],[anf_arg2351,anf_array2357,anf_arg2354,anf_fun2350,anf_fun2341,anf_fun2353,anf_fun2344,anf_fun2356],$elidedFrames2335);\n}\nreturn $ans2332;\n};\nvar anf_arg2382 = R.mF($temp_lam2330,\"\");\n$ans2325 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1552],L[1553]);\nvar anf_fun2380 = $ans2325;\n$ans2325 = R.makeArrayN((6));\nvar anf_array2381 = $ans2325;\n$ans2325 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1554],L[1555]);\nvar anf_fun2361 = $ans2325;\n$step2322 = 1;\n$al2326 = L[1581];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2362 = $ans2325;\n$al2326 = L[1556];\nvar anf_arg2359 = G(self2324,\"opname\",L[1556]);\n$step2322 = 2;\n$al2326 = L[1580];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app(anf_arg2359);\nbreak;\ncase 2: var anf_arg2360 = $ans2325;\n$step2322 = 3;\n$al2326 = L[1579];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"code\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"code\"].app(anf_arg2360);\nbreak;\ncase 3: var anf_arg2363 = $ans2325;\n$step2322 = 4;\n$al2326 = L[1578];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\" expression errored.\"));\nbreak;\ncase 4: var anf_arg2364 = $ans2325;\n$step2322 = 5;\n$al2326 = L[1555];\nif(typeof(anf_fun2361.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2361);\n}\n$ans2325 = anf_fun2361.app(anf_arg2362,anf_arg2363,anf_arg2364);\nbreak;\ncase 5: anf_array2381[0] = $ans2325;\n$ans2325 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1557],L[1558]);\nvar anf_fun2365 = $ans2325;\n$step2322 = 6;\n$al2326 = L[1577];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2366 = $ans2325;\n$step2322 = 7;\n$al2326 = L[1558];\nif(typeof(anf_fun2365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2365);\n}\n$ans2325 = anf_fun2365.app(anf_arg2366);\nbreak;\ncase 7: anf_array2381[1] = $ans2325;\n$al2326 = L[1559];\nvar anf_arg2367 = G(self2324,\"val1\",L[1559]);\n$step2322 = 8;\n$al2326 = L[1576];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"embed\"].app(anf_arg2367);\nbreak;\ncase 8: anf_array2381[2] = $ans2325;\n$ans2325 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1560],L[1561]);\nvar anf_fun2368 = $ans2325;\n$step2322 = 9;\n$al2326 = L[1575];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2369 = $ans2325;\n$step2322 = 10;\n$al2326 = L[1561];\nif(typeof(anf_fun2368.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2368);\n}\n$ans2325 = anf_fun2368.app(anf_arg2369);\nbreak;\ncase 10: anf_array2381[3] = $ans2325;\n$al2326 = L[1562];\nvar anf_arg2370 = G(self2324,\"val2\",L[1562]);\n$step2322 = 11;\n$al2326 = L[1574];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"embed\"].app(anf_arg2370);\nbreak;\ncase 11: anf_array2381[4] = $ans2325;\n$ans2325 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1563],L[1564]);\nvar anf_fun2377 = $ans2325;\n$al2326 = L[1565];\nvar anf_arg2371 = G(self2324,\"opname\",L[1565]);\n$step2322 = 12;\n$al2326 = L[1573];\n// omitting isFunction check;\n$ans2325 = _plus5.app((\"The \"),anf_arg2371);\nbreak;\ncase 12: var anf_arg2372 = $ans2325;\n$step2322 = 13;\n$al2326 = L[1572];\n// omitting isFunction check;\n$ans2325 = _plus5.app(anf_arg2372,(\" operator expects to be given:\"));\nbreak;\ncase 13: var anf_arg2373 = $ans2325;\n$step2322 = 14;\n$al2326 = L[1571];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app(anf_arg2373);\nbreak;\ncase 14: var anf_arg2378 = $ans2325;\n$ans2325 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1566],L[1567]);\nvar anf_fun2374 = $ans2325;\n$step2322 = 15;\n$al2326 = L[1570];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 15: var anf_arg2375 = $ans2325;\n$step2322 = 16;\n$al2326 = L[1569];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 16: var anf_arg2376 = $ans2325;\n$step2322 = 17;\n$al2326 = L[1567];\nif(typeof(anf_fun2374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2374);\n}\n$ans2325 = anf_fun2374.app(anf_arg2375,anf_arg2376);\nbreak;\ncase 17: var anf_arg2379 = $ans2325;\n$step2322 = 18;\n$al2326 = L[1564];\nif(typeof(anf_fun2377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2377);\n}\n$ans2325 = anf_fun2377.app(anf_arg2378,anf_arg2379);\nbreak;\ncase 18: anf_array2381[5] = $ans2325;\n$step2322 = 19;\n$al2326 = L[1553];\nif(typeof(anf_fun2380.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2380);\n}\n$ans2325 = anf_fun2380.app(anf_array2381);\nbreak;\ncase 19: var anf_arg2383 = $ans2325;\n$step2322 = 20;\n$al2326 = L[1568];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg2382,anf_arg2383);\nbreak;\ncase 20: var anf_arg2385 = $ans2325;\n$step2322 = 21;\n$al2326 = L[1522];\nif(typeof(anf_fun2384.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2384);\n}\n$ans2325 = anf_fun2384.app(anf_arg2385);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans2325;\ndefault: R.ffi.throwSpinnakerError(L[1520],$step2322);\n}\n}\nif($step2322 !== 21) {\n$ans2325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2326,$temp_full2323,$step2322,[self2324],[anf_arg2382,anf_arg2362,anf_arg2363,anf_arg2375,anf_arg2378,anf_fun2380,anf_fun2361,anf_fun2384,anf_fun2374,anf_array2381,anf_fun2365,anf_fun2377,anf_fun2368],$elidedFrames2328);\n}\nreturn $ans2325;\n};\nvar anf_variant_member5900 = R.makeMethod0($temp_full2323,\"render-reason\");\nvar $temp_full2388 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1582($self2389,$maybe$stack$loc2390,$src$available2391,$maybe$ast2392) {\nvar $step2387 = 0;\nvar $elidedFrames2396 = 0;\nvar $ans2393 = D;\nvar $al2394 = L[1582];\nif(R.isAR($self2389)) {\n$step2387 = $self2389.step;\n$al2394 = $self2389.from;\n$ans2393 = $self2389.ans;\n$elidedFrames2396 = $self2389.elidedFrames;\nself2389 = $self2389.args[0];\nmaybe$stack$loc2390 = $self2389.args[1];\nsrc$available2391 = $self2389.args[2];\nmaybe$ast2392 = $self2389.args[3];\nanf_fun2398 = $self2389.vars[0];\ncases2397 = $self2389.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1582],4,$t,true);\n}\nvar self2389 = $self2389;\nvar maybe$stack$loc2390 = $maybe$stack$loc2390;\nvar src$available2391 = $src$available2391;\nvar maybe$ast2392 = $maybe$ast2392;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2393 = R.mC();\n}\nwhile(!R.isContinuation($ans2393)) {\nswitch($step2387) {\ncase 0: $ans2393 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1583],L[1584]);\nvar anf_fun2398 = $ans2393;\n$step2387 = 1;\n$al2394 = L[1736];\nif(typeof(maybe$stack$loc2390.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2394,maybe$stack$loc2390);\n}\n$ans2393 = maybe$stack$loc2390.app((0),(false));\nbreak;\ncase 1: var cases2397 = $ans2393;\n$step2387 = 2;\n$al2394 = L[1735];\nvar $ann$check2560 = R._cA(L[1735],R.gDA(L[1735],\"O\",O8.dict.types,\"Option\"),cases2397);\nif(R.isContinuation($ann$check2560)) {\n$ans2393 = $ann$check2560;\n}\nbreak;\ncase 2: $al2394 = L[1705];\n$step2387 = $cases_dispatch2559[cases2397.$name] || 5;\nbreak;\ncase 3: if(cases2397.$arity !== 1) {\nif(cases2397.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1704],1,cases2397.$arity,L[1705],cases2397.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1704],true,L[1705],cases2397.$loc);\n}\n}\n$step2387 = 6;\n$al2394 = L[1704];\nvar $temp_branch2507 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1705($loc2400) {\nvar $step2508 = 0;\nvar $elidedFrames2512 = 0;\nvar $ans2509 = D;\nvar $al2510 = L[1585];\nif(R.isAR($loc2400)) {\n$step2508 = $loc2400.step;\n$al2510 = $loc2400.from;\n$ans2509 = $loc2400.ans;\n$elidedFrames2512 = $loc2400.elidedFrames;\nloc2400 = $loc2400.args[0];\nanf_fun2501 = $loc2400.vars[0];\nanf_fun2503 = $loc2400.vars[1];\nanf_fun2415 = $loc2400.vars[2];\nanf_fun2406 = $loc2400.vars[3];\nanf_fun2417 = $loc2400.vars[4];\nanf_fun2409 = $loc2400.vars[5];\nanf_array2504 = $loc2400.vars[6];\nanf_array2418 = $loc2400.vars[7];\nanf_fun2492 = $loc2400.vars[8];\nanf_fun2495 = $loc2400.vars[9];\ncases2419 = $loc2400.vars[10];\n} else {\nvar loc2400 = $loc2400;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2509 = R.mC();\n}\nwhile(!R.isContinuation($ans2509)) {\nswitch($step2508) {\ncase 0: $step2508 = 1;\n$ans2509 = R.maybeMethodCall0(loc2400,\"is-builtin\",L[1585]);\nbreak;\ncase 1: var anf_if2506 = $ans2509;\n$step2508 = R.checkPyretTrue(anf_if2506)?2:17;\nbreak;\ncase 2: $ans2509 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1586],L[1587]);\nvar anf_fun2417 = $ans2509;\n$ans2509 = R.makeArrayN((6));\nvar anf_array2418 = $ans2509;\n$al2510 = L[1588];\nvar anf_arg2401 = G(self2389,\"opdesc\",L[1588]);\n$step2508 = 3;\n$al2510 = L[1609];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2401,(\" (\"));\nbreak;\ncase 3: var anf_arg2402 = $ans2509;\n$al2510 = L[1589];\nvar anf_arg2403 = G(self2389,\"opname\",L[1589]);\n$step2508 = 4;\n$al2510 = L[1608];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2402,anf_arg2403);\nbreak;\ncase 4: var anf_arg2404 = $ans2509;\n$step2508 = 5;\n$al2510 = L[1607];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2404,(\") expression\"));\nbreak;\ncase 5: var anf_arg2405 = $ans2509;\n$step2508 = 6;\n$al2510 = L[1606];\n// omitting isFunction check;\n$ans2509 = ed$simple$intro104.$var.app(anf_arg2405,loc2400);\nbreak;\ncase 6: anf_array2418[0] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1590],L[1591]);\nvar anf_fun2406 = $ans2509;\n$step2508 = 7;\n$al2510 = L[1605];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 7: var anf_arg2407 = $ans2509;\n$step2508 = 8;\n$al2510 = L[1591];\nif(typeof(anf_fun2406.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2406);\n}\n$ans2509 = anf_fun2406.app(anf_arg2407);\nbreak;\ncase 8: anf_array2418[1] = $ans2509;\n$al2510 = L[1592];\nvar anf_arg2408 = G(self2389,\"val1\",L[1592]);\n$step2508 = 9;\n$al2510 = L[1604];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2408);\nbreak;\ncase 9: anf_array2418[2] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1593],L[1594]);\nvar anf_fun2409 = $ans2509;\n$step2508 = 10;\n$al2510 = L[1603];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 10: var anf_arg2410 = $ans2509;\n$step2508 = 11;\n$al2510 = L[1594];\nif(typeof(anf_fun2409.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2409);\n}\n$ans2509 = anf_fun2409.app(anf_arg2410);\nbreak;\ncase 11: anf_array2418[3] = $ans2509;\n$al2510 = L[1595];\nvar anf_arg2411 = G(self2389,\"val2\",L[1595]);\n$step2508 = 12;\n$al2510 = L[1602];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2411);\nbreak;\ncase 12: anf_array2418[4] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1596],L[1597]);\nvar anf_fun2415 = $ans2509;\n$al2510 = L[1598];\nvar anf_arg2412 = G(self2389,\"opname\",L[1598]);\n$step2508 = 13;\n$al2510 = L[1601];\n// omitting isFunction check;\n$ans2509 = _plus5.app((\"The \"),anf_arg2412);\nbreak;\ncase 13: var anf_arg2413 = $ans2509;\n$step2508 = 14;\n$al2510 = L[1600];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2413,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 14: var anf_arg2414 = $ans2509;\n$step2508 = 15;\n$al2510 = L[1599];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app(anf_arg2414);\nbreak;\ncase 15: var anf_arg2416 = $ans2509;\n$step2508 = 16;\n$al2510 = L[1597];\nif(typeof(anf_fun2415.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2415);\n}\n$ans2509 = anf_fun2415.app(anf_arg2416);\nbreak;\ncase 16: anf_array2418[5] = $ans2509;\n$step2508 = 40;\n$al2510 = L[1587];\nif(typeof(anf_fun2417.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2417);\n}\n$ans2509 = anf_fun2417.app(anf_array2418);\nbreak;\ncase 17: $step2508 = 18;\n$al2510 = L[1703];\nif(typeof(src$available2391.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,src$available2391);\n}\n$ans2509 = src$available2391.app(loc2400);\nbreak;\ncase 18: var anf_if2505 = $ans2509;\n$step2508 = R.checkPyretTrue(anf_if2505)?19:25;\nbreak;\ncase 19: $step2508 = 20;\n$al2510 = L[1678];\nif(typeof(maybe$ast2392.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,maybe$ast2392);\n}\n$ans2509 = maybe$ast2392.app(loc2400);\nbreak;\ncase 20: var cases2419 = $ans2509;\n$step2508 = 21;\n$al2510 = L[1677];\nvar $ann$check2528 = R._cA(L[1677],R.gDA(L[1677],\"O\",O8.dict.types,\"Option\"),cases2419);\nif(R.isContinuation($ann$check2528)) {\n$ans2509 = $ann$check2528;\n}\nbreak;\ncase 21: $al2510 = L[1650];\n$step2508 = $cases_dispatch2527[cases2419.$name] || 24;\nbreak;\ncase 22: if(cases2419.$arity !== 1) {\nif(cases2419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1649],1,cases2419.$arity,L[1650],cases2419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1649],true,L[1650],cases2419.$loc);\n}\n}\n$step2508 = 40;\n$al2510 = L[1649];\nvar $temp_branch2513 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1650($ast2420) {\nvar $step2514 = 0;\nvar $elidedFrames2518 = 0;\nvar $ans2515 = D;\nvar $al2516 = L[1610];\nif(R.isAR($ast2420)) {\n$step2514 = $ast2420.step;\n$al2516 = $ast2420.from;\n$ans2515 = $ast2420.ans;\n$elidedFrames2518 = $ast2420.elidedFrames;\nast2420 = $ast2420.args[0];\nanf_array2452 = $ast2420.vars[0];\nanf_fun2449 = $ast2420.vars[1];\nright$loc2438 = $ast2420.vars[2];\nanf_arg2430 = $ast2420.vars[3];\nanf_arg2442 = $ast2420.vars[4];\nanf_arg2443 = $ast2420.vars[5];\nanf_arg2433 = $ast2420.vars[6];\nanf_arg2434 = $ast2420.vars[7];\nanf_arg2439 = $ast2420.vars[8];\nleft$loc2429 = $ast2420.vars[9];\nanf_fun2451 = $ast2420.vars[10];\nanf_fun2441 = $ast2420.vars[11];\nanf_fun2432 = $ast2420.vars[12];\n} else {\nvar ast2420 = $ast2420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2515 = R.mC();\n}\nwhile(!R.isContinuation($ans2515)) {\nswitch($step2514) {\ncase 0: $al2516 = L[1610];\nvar anf_bracket2421 = G(ast2420,\"left\",L[1610]);\n$al2516 = L[1611];\nvar left$loc2429 = G(anf_bracket2421,\"l\",L[1611]);\n$al2516 = L[1612];\nvar anf_bracket2422 = G(ast2420,\"right\",L[1612]);\n$al2516 = L[1613];\nvar right$loc2438 = G(anf_bracket2422,\"l\",L[1613]);\n$ans2515 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1614],L[1615]);\nvar anf_fun2451 = $ans2515;\n$ans2515 = R.makeArrayN((7));\nvar anf_array2452 = $ans2515;\n$al2516 = L[1616];\nvar anf_arg2423 = G(self2389,\"opdesc\",L[1616]);\n$step2514 = 1;\n$al2516 = L[1648];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2423,(\" (\"));\nbreak;\ncase 1: var anf_arg2424 = $ans2515;\n$al2516 = L[1617];\nvar anf_arg2425 = G(self2389,\"opname\",L[1617]);\n$step2514 = 2;\n$al2516 = L[1647];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2424,anf_arg2425);\nbreak;\ncase 2: var anf_arg2426 = $ans2515;\n$step2514 = 3;\n$al2516 = L[1646];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2426,(\") expression\"));\nbreak;\ncase 3: var anf_arg2427 = $ans2515;\n$step2514 = 4;\n$al2516 = L[1645];\n// omitting isFunction check;\n$ans2515 = ed$intro146.$var.app(anf_arg2427,loc2400,(-1),(true));\nbreak;\ncase 4: anf_array2452[0] = $ans2515;\n$step2514 = 5;\n$al2516 = L[1644];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"cmcode\"].app(loc2400);\nbreak;\ncase 5: anf_array2452[1] = $ans2515;\n$ans2515 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1618],L[1619]);\nvar anf_fun2432 = $ans2515;\n$step2514 = 6;\n$al2516 = L[1643];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 6: var anf_arg2433 = $ans2515;\n$step2514 = 7;\n$al2516 = L[1642];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 7: var anf_arg2430 = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1620],L[1621]);\nvar anf_fun2428 = $ans2515;\n$step2514 = 8;\n$al2516 = L[1621];\nif(typeof(anf_fun2428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2428);\n}\n$ans2515 = anf_fun2428.app(left$loc2429);\nbreak;\ncase 8: var anf_arg2431 = $ans2515;\n$step2514 = 9;\n$al2516 = L[1641];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2430,anf_arg2431,(0));\nbreak;\ncase 9: var anf_arg2434 = $ans2515;\n$step2514 = 10;\n$al2516 = L[1640];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 10: var anf_arg2435 = $ans2515;\n$step2514 = 11;\n$al2516 = L[1619];\nif(typeof(anf_fun2432.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2432);\n}\n$ans2515 = anf_fun2432.app(anf_arg2433,anf_arg2434,anf_arg2435);\nbreak;\ncase 11: anf_array2452[2] = $ans2515;\n$al2516 = L[1622];\nvar anf_arg2436 = G(self2389,\"val1\",L[1622]);\n$step2514 = 12;\n$al2516 = L[1639];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"embed\"].app(anf_arg2436);\nbreak;\ncase 12: anf_array2452[3] = $ans2515;\n$ans2515 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1623],L[1624]);\nvar anf_fun2441 = $ans2515;\n$step2514 = 13;\n$al2516 = L[1638];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg2442 = $ans2515;\n$step2514 = 14;\n$al2516 = L[1637];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 14: var anf_arg2439 = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1625],L[1626]);\nvar anf_fun2437 = $ans2515;\n$step2514 = 15;\n$al2516 = L[1626];\nif(typeof(anf_fun2437.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2437);\n}\n$ans2515 = anf_fun2437.app(right$loc2438);\nbreak;\ncase 15: var anf_arg2440 = $ans2515;\n$step2514 = 16;\n$al2516 = L[1636];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2439,anf_arg2440,(1));\nbreak;\ncase 16: var anf_arg2443 = $ans2515;\n$step2514 = 17;\n$al2516 = L[1635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 17: var anf_arg2444 = $ans2515;\n$step2514 = 18;\n$al2516 = L[1624];\nif(typeof(anf_fun2441.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2441);\n}\n$ans2515 = anf_fun2441.app(anf_arg2442,anf_arg2443,anf_arg2444);\nbreak;\ncase 18: anf_array2452[4] = $ans2515;\n$al2516 = L[1627];\nvar anf_arg2445 = G(self2389,\"val2\",L[1627]);\n$step2514 = 19;\n$al2516 = L[1634];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"embed\"].app(anf_arg2445);\nbreak;\ncase 19: anf_array2452[5] = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1628],L[1629]);\nvar anf_fun2449 = $ans2515;\n$al2516 = L[1630];\nvar anf_arg2446 = G(self2389,\"opname\",L[1630]);\n$step2514 = 20;\n$al2516 = L[1633];\n// omitting isFunction check;\n$ans2515 = _plus5.app((\"The \"),anf_arg2446);\nbreak;\ncase 20: var anf_arg2447 = $ans2515;\n$step2514 = 21;\n$al2516 = L[1632];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2447,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 21: var anf_arg2448 = $ans2515;\n$step2514 = 22;\n$al2516 = L[1631];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app(anf_arg2448);\nbreak;\ncase 22: var anf_arg2450 = $ans2515;\n$step2514 = 23;\n$al2516 = L[1629];\nif(typeof(anf_fun2449.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2449);\n}\n$ans2515 = anf_fun2449.app(anf_arg2450);\nbreak;\ncase 23: anf_array2452[6] = $ans2515;\n$step2514 = 24;\n$al2516 = L[1615];\nif(typeof(anf_fun2451.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2451);\n}\n$ans2515 = anf_fun2451.app(anf_array2452);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans2515;\ndefault: R.ffi.throwSpinnakerError(L[1610],$step2514);\n}\n}\nif($step2514 !== 24) {\n$ans2515.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2516,$temp_branch2513,$step2514,[ast2420],[anf_array2452,anf_fun2449,right$loc2438,anf_arg2430,anf_arg2442,anf_arg2443,anf_arg2433,anf_arg2434,anf_arg2439,left$loc2429,anf_fun2451,anf_fun2441,anf_fun2432],$elidedFrames2518);\n}\nreturn $ans2515;\n};\n$ans2509 = cases2419.$app_fields($temp_branch2513,[false]);\nbreak;\ncase 23: if(cases2419.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1676],false,L[1650],cases2419.$loc);\n}\n$step2508 = 40;\n$al2510 = L[1676];\nvar $temp_branch2520 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1650($$resumer13) {\nvar $step2521 = 0;\nvar $elidedFrames2525 = 0;\nvar $ans2522 = D;\nvar $al2523 = L[1652];\nif(R.isAR($$resumer13)) {\n$step2521 = $$resumer13.step;\n$al2523 = $$resumer13.from;\n$ans2522 = $$resumer13.ans;\n$elidedFrames2525 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2468 = $$resumer13.vars[0];\nanf_array2477 = $$resumer13.vars[1];\nanf_fun2474 = $$resumer13.vars[2];\nanf_fun2465 = $$resumer13.vars[3];\nanf_fun2476 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2522 = R.mC();\n}\nwhile(!R.isContinuation($ans2522)) {\nswitch($step2521) {\ncase 0: $ans2522 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1651],L[1652]);\nvar anf_fun2476 = $ans2522;\n$ans2522 = R.makeArrayN((7));\nvar anf_array2477 = $ans2522;\n$al2523 = L[1653];\nvar anf_arg2460 = G(self2389,\"opdesc\",L[1653]);\n$step2521 = 1;\n$al2523 = L[1675];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2460,(\" (\"));\nbreak;\ncase 1: var anf_arg2461 = $ans2522;\n$al2523 = L[1654];\nvar anf_arg2462 = G(self2389,\"opname\",L[1654]);\n$step2521 = 2;\n$al2523 = L[1674];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2461,anf_arg2462);\nbreak;\ncase 2: var anf_arg2463 = $ans2522;\n$step2521 = 3;\n$al2523 = L[1673];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2463,(\") expression\"));\nbreak;\ncase 3: var anf_arg2464 = $ans2522;\n$step2521 = 4;\n$al2523 = L[1672];\n// omitting isFunction check;\n$ans2522 = ed$intro146.$var.app(anf_arg2464,loc2400,(0),(true));\nbreak;\ncase 4: anf_array2477[0] = $ans2522;\n$step2521 = 5;\n$al2523 = L[1671];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"cmcode\"].app(loc2400);\nbreak;\ncase 5: anf_array2477[1] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1655],L[1656]);\nvar anf_fun2465 = $ans2522;\n$step2521 = 6;\n$al2523 = L[1670];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2466 = $ans2522;\n$step2521 = 7;\n$al2523 = L[1656];\nif(typeof(anf_fun2465.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2465);\n}\n$ans2522 = anf_fun2465.app(anf_arg2466);\nbreak;\ncase 7: anf_array2477[2] = $ans2522;\n$al2523 = L[1657];\nvar anf_arg2467 = G(self2389,\"val1\",L[1657]);\n$step2521 = 8;\n$al2523 = L[1669];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"embed\"].app(anf_arg2467);\nbreak;\ncase 8: anf_array2477[3] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1658],L[1659]);\nvar anf_fun2468 = $ans2522;\n$step2521 = 9;\n$al2523 = L[1668];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2469 = $ans2522;\n$step2521 = 10;\n$al2523 = L[1659];\nif(typeof(anf_fun2468.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2468);\n}\n$ans2522 = anf_fun2468.app(anf_arg2469);\nbreak;\ncase 10: anf_array2477[4] = $ans2522;\n$al2523 = L[1660];\nvar anf_arg2470 = G(self2389,\"val2\",L[1660]);\n$step2521 = 11;\n$al2523 = L[1667];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"embed\"].app(anf_arg2470);\nbreak;\ncase 11: anf_array2477[5] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1661],L[1662]);\nvar anf_fun2474 = $ans2522;\n$al2523 = L[1663];\nvar anf_arg2471 = G(self2389,\"opname\",L[1663]);\n$step2521 = 12;\n$al2523 = L[1666];\n// omitting isFunction check;\n$ans2522 = _plus5.app((\"The \"),anf_arg2471);\nbreak;\ncase 12: var anf_arg2472 = $ans2522;\n$step2521 = 13;\n$al2523 = L[1665];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2472,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 13: var anf_arg2473 = $ans2522;\n$step2521 = 14;\n$al2523 = L[1664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app(anf_arg2473);\nbreak;\ncase 14: var anf_arg2475 = $ans2522;\n$step2521 = 15;\n$al2523 = L[1662];\nif(typeof(anf_fun2474.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2474);\n}\n$ans2522 = anf_fun2474.app(anf_arg2475);\nbreak;\ncase 15: anf_array2477[6] = $ans2522;\n$step2521 = 16;\n$al2523 = L[1652];\nif(typeof(anf_fun2476.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2476);\n}\n$ans2522 = anf_fun2476.app(anf_array2477);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans2522;\ndefault: R.ffi.throwSpinnakerError(L[1652],$step2521);\n}\n}\nif($step2521 !== 16) {\n$ans2522.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2523,$temp_branch2520,$step2521,[],[anf_fun2468,anf_array2477,anf_fun2474,anf_fun2465,anf_fun2476],$elidedFrames2525);\n}\nreturn $ans2522;\n};\n$ans2509 = cases2419.$app_fields($temp_branch2520,[]);\nbreak;\ncase 24: $ans2509 = R.throwNoCasesMatched(L[1650],cases2419);\n$step2508 = 40;\nbreak;\ncase 25: $ans2509 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1679],L[1680]);\nvar anf_fun2503 = $ans2509;\n$ans2509 = R.makeArrayN((6));\nvar anf_array2504 = $ans2509;\n$al2510 = L[1681];\nvar anf_arg2487 = G(self2389,\"opdesc\",L[1681]);\n$step2508 = 26;\n$al2510 = L[1702];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2487,(\" (\"));\nbreak;\ncase 26: var anf_arg2488 = $ans2509;\n$al2510 = L[1682];\nvar anf_arg2489 = G(self2389,\"opname\",L[1682]);\n$step2508 = 27;\n$al2510 = L[1701];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2488,anf_arg2489);\nbreak;\ncase 27: var anf_arg2490 = $ans2509;\n$step2508 = 28;\n$al2510 = L[1700];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2490,(\") expression\"));\nbreak;\ncase 28: var anf_arg2491 = $ans2509;\n$step2508 = 29;\n$al2510 = L[1699];\n// omitting isFunction check;\n$ans2509 = ed$simple$intro104.$var.app(anf_arg2491,loc2400);\nbreak;\ncase 29: anf_array2504[0] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1683],L[1684]);\nvar anf_fun2492 = $ans2509;\n$step2508 = 30;\n$al2510 = L[1698];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 30: var anf_arg2493 = $ans2509;\n$step2508 = 31;\n$al2510 = L[1684];\nif(typeof(anf_fun2492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2492);\n}\n$ans2509 = anf_fun2492.app(anf_arg2493);\nbreak;\ncase 31: anf_array2504[1] = $ans2509;\n$al2510 = L[1685];\nvar anf_arg2494 = G(self2389,\"val1\",L[1685]);\n$step2508 = 32;\n$al2510 = L[1697];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2494);\nbreak;\ncase 32: anf_array2504[2] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1686],L[1687]);\nvar anf_fun2495 = $ans2509;\n$step2508 = 33;\n$al2510 = L[1696];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 33: var anf_arg2496 = $ans2509;\n$step2508 = 34;\n$al2510 = L[1687];\nif(typeof(anf_fun2495.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2495);\n}\n$ans2509 = anf_fun2495.app(anf_arg2496);\nbreak;\ncase 34: anf_array2504[3] = $ans2509;\n$al2510 = L[1688];\nvar anf_arg2497 = G(self2389,\"val2\",L[1688]);\n$step2508 = 35;\n$al2510 = L[1695];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2497);\nbreak;\ncase 35: anf_array2504[4] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1689],L[1690]);\nvar anf_fun2501 = $ans2509;\n$al2510 = L[1691];\nvar anf_arg2498 = G(self2389,\"opname\",L[1691]);\n$step2508 = 36;\n$al2510 = L[1694];\n// omitting isFunction check;\n$ans2509 = _plus5.app((\"The \"),anf_arg2498);\nbreak;\ncase 36: var anf_arg2499 = $ans2509;\n$step2508 = 37;\n$al2510 = L[1693];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2499,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 37: var anf_arg2500 = $ans2509;\n$step2508 = 38;\n$al2510 = L[1692];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app(anf_arg2500);\nbreak;\ncase 38: var anf_arg2502 = $ans2509;\n$step2508 = 39;\n$al2510 = L[1690];\nif(typeof(anf_fun2501.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2501);\n}\n$ans2509 = anf_fun2501.app(anf_arg2502);\nbreak;\ncase 39: anf_array2504[5] = $ans2509;\n$step2508 = 40;\n$al2510 = L[1680];\nif(typeof(anf_fun2503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2503);\n}\n$ans2509 = anf_fun2503.app(anf_array2504);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans2509;\ndefault: R.ffi.throwSpinnakerError(L[1585],$step2508);\n}\n}\nif($step2508 !== 40) {\n$ans2509.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2510,$temp_branch2507,$step2508,[loc2400],[anf_fun2501,anf_fun2503,anf_fun2415,anf_fun2406,anf_fun2417,anf_fun2409,anf_array2504,anf_array2418,anf_fun2492,anf_fun2495,cases2419],$elidedFrames2512);\n}\nreturn $ans2509;\n};\n$ans2393 = cases2397.$app_fields($temp_branch2507,[false]);\nbreak;\ncase 4: if(cases2397.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1734],false,L[1705],cases2397.$loc);\n}\n$step2387 = 6;\n$al2394 = L[1734];\nvar $temp_branch2552 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1705($$resumer13) {\nvar $step2553 = 0;\nvar $elidedFrames2557 = 0;\nvar $ans2554 = D;\nvar $al2555 = L[1707];\nif(R.isAR($$resumer13)) {\n$step2553 = $$resumer13.step;\n$al2555 = $$resumer13.from;\n$ans2554 = $$resumer13.ans;\n$elidedFrames2557 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2535 = $$resumer13.vars[0];\nanf_array2551 = $$resumer13.vars[1];\nanf_fun2548 = $$resumer13.vars[2];\nanf_fun2539 = $$resumer13.vars[3];\nanf_arg2536 = $$resumer13.vars[4];\nanf_arg2537 = $$resumer13.vars[5];\nanf_fun2550 = $$resumer13.vars[6];\nanf_fun2542 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2554 = R.mC();\n}\nwhile(!R.isContinuation($ans2554)) {\nswitch($step2553) {\ncase 0: $ans2554 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1706],L[1707]);\nvar anf_fun2550 = $ans2554;\n$ans2554 = R.makeArrayN((6));\nvar anf_array2551 = $ans2554;\n$ans2554 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1708],L[1709]);\nvar anf_fun2535 = $ans2554;\n$al2555 = L[1710];\nvar anf_arg2530 = G(self2389,\"opdesc\",L[1710]);\n$step2553 = 1;\n$al2555 = L[1733];\n// omitting isFunction check;\n$ans2554 = _plus5.app((\"A \"),anf_arg2530);\nbreak;\ncase 1: var anf_arg2531 = $ans2554;\n$step2553 = 2;\n$al2555 = L[1732];\n// omitting isFunction check;\n$ans2554 = _plus5.app(anf_arg2531,(\" (\"));\nbreak;\ncase 2: var anf_arg2532 = $ans2554;\n$step2553 = 3;\n$al2555 = L[1731];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2532);\nbreak;\ncase 3: var anf_arg2536 = $ans2554;\n$al2555 = L[1711];\nvar anf_arg2533 = G(self2389,\"opname\",L[1711]);\n$step2553 = 4;\n$al2555 = L[1730];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2533);\nbreak;\ncase 4: var anf_arg2534 = $ans2554;\n$step2553 = 5;\n$al2555 = L[1729];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"code\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"code\"].app(anf_arg2534);\nbreak;\ncase 5: var anf_arg2537 = $ans2554;\n$step2553 = 6;\n$al2555 = L[1728];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\") expression errored.\"));\nbreak;\ncase 6: var anf_arg2538 = $ans2554;\n$step2553 = 7;\n$al2555 = L[1709];\nif(typeof(anf_fun2535.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2535);\n}\n$ans2554 = anf_fun2535.app(anf_arg2536,anf_arg2537,anf_arg2538);\nbreak;\ncase 7: anf_array2551[0] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1712],L[1713]);\nvar anf_fun2539 = $ans2554;\n$step2553 = 8;\n$al2555 = L[1727];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 8: var anf_arg2540 = $ans2554;\n$step2553 = 9;\n$al2555 = L[1713];\nif(typeof(anf_fun2539.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2539);\n}\n$ans2554 = anf_fun2539.app(anf_arg2540);\nbreak;\ncase 9: anf_array2551[1] = $ans2554;\n$al2555 = L[1714];\nvar anf_arg2541 = G(self2389,\"val1\",L[1714]);\n$step2553 = 10;\n$al2555 = L[1726];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"embed\"].app(anf_arg2541);\nbreak;\ncase 10: anf_array2551[2] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1715],L[1716]);\nvar anf_fun2542 = $ans2554;\n$step2553 = 11;\n$al2555 = L[1725];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 11: var anf_arg2543 = $ans2554;\n$step2553 = 12;\n$al2555 = L[1716];\nif(typeof(anf_fun2542.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2542);\n}\n$ans2554 = anf_fun2542.app(anf_arg2543);\nbreak;\ncase 12: anf_array2551[3] = $ans2554;\n$al2555 = L[1717];\nvar anf_arg2544 = G(self2389,\"val2\",L[1717]);\n$step2553 = 13;\n$al2555 = L[1724];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"embed\"].app(anf_arg2544);\nbreak;\ncase 13: anf_array2551[4] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1718],L[1719]);\nvar anf_fun2548 = $ans2554;\n$al2555 = L[1720];\nvar anf_arg2545 = G(self2389,\"opname\",L[1720]);\n$step2553 = 14;\n$al2555 = L[1723];\n// omitting isFunction check;\n$ans2554 = _plus5.app((\"The \"),anf_arg2545);\nbreak;\ncase 14: var anf_arg2546 = $ans2554;\n$step2553 = 15;\n$al2555 = L[1722];\n// omitting isFunction check;\n$ans2554 = _plus5.app(anf_arg2546,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 15: var anf_arg2547 = $ans2554;\n$step2553 = 16;\n$al2555 = L[1721];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2547);\nbreak;\ncase 16: var anf_arg2549 = $ans2554;\n$step2553 = 17;\n$al2555 = L[1719];\nif(typeof(anf_fun2548.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2548);\n}\n$ans2554 = anf_fun2548.app(anf_arg2549);\nbreak;\ncase 17: anf_array2551[5] = $ans2554;\n$step2553 = 18;\n$al2555 = L[1707];\nif(typeof(anf_fun2550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2550);\n}\n$ans2554 = anf_fun2550.app(anf_array2551);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2554;\ndefault: R.ffi.throwSpinnakerError(L[1707],$step2553);\n}\n}\nif($step2553 !== 18) {\n$ans2554.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2555,$temp_branch2552,$step2553,[],[anf_fun2535,anf_array2551,anf_fun2548,anf_fun2539,anf_arg2536,anf_arg2537,anf_fun2550,anf_fun2542],$elidedFrames2557);\n}\nreturn $ans2554;\n};\n$ans2393 = cases2397.$app_fields($temp_branch2552,[]);\nbreak;\ncase 5: $ans2393 = R.throwNoCasesMatched(L[1705],cases2397);\n$step2387 = 6;\nbreak;\ncase 6: var anf_arg2399 = $ans2393;\n$step2387 = 7;\n$al2394 = L[1584];\nif(typeof(anf_fun2398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2394,anf_fun2398);\n}\n$ans2393 = anf_fun2398.app(anf_arg2399);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2393;\ndefault: R.ffi.throwSpinnakerError(L[1582],$step2387);\n}\n}\nif($step2387 !== 7) {\n$ans2393.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2394,$temp_full2388,$step2387,[self2389,maybe$stack$loc2390,src$available2391,maybe$ast2392],[anf_fun2398,cases2397],$elidedFrames2396);\n}\nreturn $ans2393;\n};\nvar anf_variant_member5912 = R.makeMethod3($temp_full2388,\"render-fancy-reason\");\nvar $temp_full2563 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1737($self2564) {\nvar $step2562 = 0;\nvar $elidedFrames2568 = 0;\nvar $ans2565 = D;\nvar $al2566 = L[1737];\nif(R.isAR($self2564)) {\n$step2562 = $self2564.step;\n$al2566 = $self2564.from;\n$ans2565 = $self2564.ans;\n$elidedFrames2568 = $self2564.elidedFrames;\nself2564 = $self2564.args[0];\nanf_fun2601 = $self2564.vars[0];\nanf_fun2612 = $self2564.vars[1];\nanf_fun2604 = $self2564.vars[2];\nanf_fun2616 = $self2564.vars[3];\nanf_arg2598 = $self2564.vars[4];\nanf_arg2599 = $self2564.vars[5];\nanf_array2613 = $self2564.vars[6];\nanf_arg2614 = $self2564.vars[7];\nanf_fun2597 = $self2564.vars[8];\nanf_fun2610 = $self2564.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1737],1,$t,true);\n}\nvar self2564 = $self2564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2565 = R.mC();\n}\nwhile(!R.isContinuation($ans2565)) {\nswitch($step2562) {\ncase 0: $ans2565 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1738],L[1739]);\nvar anf_fun2616 = $ans2565;\nvar $temp_lam2570 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1740($loc2571) {\nvar $step2569 = 0;\nvar $elidedFrames2575 = 0;\nvar $ans2572 = D;\nvar $al2573 = L[1740];\nif(R.isAR($loc2571)) {\n$step2569 = $loc2571.step;\n$al2573 = $loc2571.from;\n$ans2572 = $loc2571.ans;\n$elidedFrames2575 = $loc2571.elidedFrames;\nloc2571 = $loc2571.args[0];\nanf_fun2590 = $loc2571.vars[0];\nanf_fun2581 = $loc2571.vars[1];\nanf_fun2592 = $loc2571.vars[2];\nanf_fun2584 = $loc2571.vars[3];\nanf_array2593 = $loc2571.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1740],1,$t,false);\n}\nvar loc2571 = $loc2571;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2572 = R.mC();\n}\nwhile(!R.isContinuation($ans2572)) {\nswitch($step2569) {\ncase 0: $ans2572 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1741],L[1742]);\nvar anf_fun2592 = $ans2572;\n$ans2572 = R.makeArrayN((6));\nvar anf_array2593 = $ans2572;\n$al2573 = L[1743];\nvar anf_arg2576 = G(self2564,\"opdesc\",L[1743]);\n$step2569 = 1;\n$al2573 = L[1764];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2576,(\" (\"));\nbreak;\ncase 1: var anf_arg2577 = $ans2572;\n$al2573 = L[1744];\nvar anf_arg2578 = G(self2564,\"opname\",L[1744]);\n$step2569 = 2;\n$al2573 = L[1763];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2577,anf_arg2578);\nbreak;\ncase 2: var anf_arg2579 = $ans2572;\n$step2569 = 3;\n$al2573 = L[1762];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2579,(\") expression\"));\nbreak;\ncase 3: var anf_arg2580 = $ans2572;\n$step2569 = 4;\n$al2573 = L[1761];\n// omitting isFunction check;\n$ans2572 = ed$simple$intro104.$var.app(anf_arg2580,loc2571);\nbreak;\ncase 4: anf_array2593[0] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1745],L[1746]);\nvar anf_fun2581 = $ans2572;\n$step2569 = 5;\n$al2573 = L[1760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 5: var anf_arg2582 = $ans2572;\n$step2569 = 6;\n$al2573 = L[1746];\nif(typeof(anf_fun2581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2581);\n}\n$ans2572 = anf_fun2581.app(anf_arg2582);\nbreak;\ncase 6: anf_array2593[1] = $ans2572;\n$al2573 = L[1747];\nvar anf_arg2583 = G(self2564,\"val1\",L[1747]);\n$step2569 = 7;\n$al2573 = L[1759];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"embed\"].app(anf_arg2583);\nbreak;\ncase 7: anf_array2593[2] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1748],L[1749]);\nvar anf_fun2584 = $ans2572;\n$step2569 = 8;\n$al2573 = L[1758];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 8: var anf_arg2585 = $ans2572;\n$step2569 = 9;\n$al2573 = L[1749];\nif(typeof(anf_fun2584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2584);\n}\n$ans2572 = anf_fun2584.app(anf_arg2585);\nbreak;\ncase 9: anf_array2593[3] = $ans2572;\n$al2573 = L[1750];\nvar anf_arg2586 = G(self2564,\"val2\",L[1750]);\n$step2569 = 10;\n$al2573 = L[1757];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"embed\"].app(anf_arg2586);\nbreak;\ncase 10: anf_array2593[4] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1751],L[1752]);\nvar anf_fun2590 = $ans2572;\n$al2573 = L[1753];\nvar anf_arg2587 = G(self2564,\"opname\",L[1753]);\n$step2569 = 11;\n$al2573 = L[1756];\n// omitting isFunction check;\n$ans2572 = _plus5.app((\"The \"),anf_arg2587);\nbreak;\ncase 11: var anf_arg2588 = $ans2572;\n$step2569 = 12;\n$al2573 = L[1755];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2588,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 12: var anf_arg2589 = $ans2572;\n$step2569 = 13;\n$al2573 = L[1754];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app(anf_arg2589);\nbreak;\ncase 13: var anf_arg2591 = $ans2572;\n$step2569 = 14;\n$al2573 = L[1752];\nif(typeof(anf_fun2590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2590);\n}\n$ans2572 = anf_fun2590.app(anf_arg2591);\nbreak;\ncase 14: anf_array2593[5] = $ans2572;\n$step2569 = 15;\n$al2573 = L[1742];\nif(typeof(anf_fun2592.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2592);\n}\n$ans2572 = anf_fun2592.app(anf_array2593);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans2572;\ndefault: R.ffi.throwSpinnakerError(L[1740],$step2569);\n}\n}\nif($step2569 !== 15) {\n$ans2572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2573,$temp_lam2570,$step2569,[loc2571],[anf_fun2590,anf_fun2581,anf_fun2592,anf_fun2584,anf_array2593],$elidedFrames2575);\n}\nreturn $ans2572;\n};\nvar anf_arg2614 = R.mF($temp_lam2570,\"\");\n$ans2565 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1765],L[1766]);\nvar anf_fun2612 = $ans2565;\n$ans2565 = R.makeArrayN((6));\nvar anf_array2613 = $ans2565;\n$ans2565 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1767],L[1768]);\nvar anf_fun2597 = $ans2565;\n$step2562 = 1;\n$al2566 = L[1790];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2598 = $ans2565;\n$al2566 = L[1769];\nvar anf_arg2595 = G(self2564,\"opname\",L[1769]);\n$step2562 = 2;\n$al2566 = L[1789];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app(anf_arg2595);\nbreak;\ncase 2: var anf_arg2596 = $ans2565;\n$step2562 = 3;\n$al2566 = L[1788];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"code\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"code\"].app(anf_arg2596);\nbreak;\ncase 3: var anf_arg2599 = $ans2565;\n$step2562 = 4;\n$al2566 = L[1787];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\" expression errored.\"));\nbreak;\ncase 4: var anf_arg2600 = $ans2565;\n$step2562 = 5;\n$al2566 = L[1768];\nif(typeof(anf_fun2597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2597);\n}\n$ans2565 = anf_fun2597.app(anf_arg2598,anf_arg2599,anf_arg2600);\nbreak;\ncase 5: anf_array2613[0] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1770],L[1771]);\nvar anf_fun2601 = $ans2565;\n$step2562 = 6;\n$al2566 = L[1786];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2602 = $ans2565;\n$step2562 = 7;\n$al2566 = L[1771];\nif(typeof(anf_fun2601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2601);\n}\n$ans2565 = anf_fun2601.app(anf_arg2602);\nbreak;\ncase 7: anf_array2613[1] = $ans2565;\n$al2566 = L[1772];\nvar anf_arg2603 = G(self2564,\"val1\",L[1772]);\n$step2562 = 8;\n$al2566 = L[1785];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"embed\"].app(anf_arg2603);\nbreak;\ncase 8: anf_array2613[2] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1773],L[1774]);\nvar anf_fun2604 = $ans2565;\n$step2562 = 9;\n$al2566 = L[1784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2605 = $ans2565;\n$step2562 = 10;\n$al2566 = L[1774];\nif(typeof(anf_fun2604.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2604);\n}\n$ans2565 = anf_fun2604.app(anf_arg2605);\nbreak;\ncase 10: anf_array2613[3] = $ans2565;\n$al2566 = L[1775];\nvar anf_arg2606 = G(self2564,\"val2\",L[1775]);\n$step2562 = 11;\n$al2566 = L[1783];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"embed\"].app(anf_arg2606);\nbreak;\ncase 11: anf_array2613[4] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1776],L[1777]);\nvar anf_fun2610 = $ans2565;\n$al2566 = L[1778];\nvar anf_arg2607 = G(self2564,\"opname\",L[1778]);\n$step2562 = 12;\n$al2566 = L[1782];\n// omitting isFunction check;\n$ans2565 = _plus5.app((\"The \"),anf_arg2607);\nbreak;\ncase 12: var anf_arg2608 = $ans2565;\n$step2562 = 13;\n$al2566 = L[1781];\n// omitting isFunction check;\n$ans2565 = _plus5.app(anf_arg2608,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 13: var anf_arg2609 = $ans2565;\n$step2562 = 14;\n$al2566 = L[1780];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app(anf_arg2609);\nbreak;\ncase 14: var anf_arg2611 = $ans2565;\n$step2562 = 15;\n$al2566 = L[1777];\nif(typeof(anf_fun2610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2610);\n}\n$ans2565 = anf_fun2610.app(anf_arg2611);\nbreak;\ncase 15: anf_array2613[5] = $ans2565;\n$step2562 = 16;\n$al2566 = L[1766];\nif(typeof(anf_fun2612.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2612);\n}\n$ans2565 = anf_fun2612.app(anf_array2613);\nbreak;\ncase 16: var anf_arg2615 = $ans2565;\n$step2562 = 17;\n$al2566 = L[1779];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg2614,anf_arg2615);\nbreak;\ncase 17: var anf_arg2617 = $ans2565;\n$step2562 = 18;\n$al2566 = L[1739];\nif(typeof(anf_fun2616.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2616);\n}\n$ans2565 = anf_fun2616.app(anf_arg2617);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2565;\ndefault: R.ffi.throwSpinnakerError(L[1737],$step2562);\n}\n}\nif($step2562 !== 18) {\n$ans2565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2566,$temp_full2563,$step2562,[self2564],[anf_fun2601,anf_fun2612,anf_fun2604,anf_fun2616,anf_arg2598,anf_arg2599,anf_array2613,anf_arg2614,anf_fun2597,anf_fun2610],$elidedFrames2568);\n}\nreturn $ans2565;\n};\nvar anf_variant_member5913 = R.makeMethod0($temp_full2563,\"render-reason\");\nvar $temp_full2620 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1791($self2621,$maybe$stack$loc2622,$src$available2623,$maybe$ast2624) {\nvar $step2619 = 0;\nvar $elidedFrames2628 = 0;\nvar $ans2625 = D;\nvar $al2626 = L[1791];\nif(R.isAR($self2621)) {\n$step2619 = $self2621.step;\n$al2626 = $self2621.from;\n$ans2625 = $self2621.ans;\n$elidedFrames2628 = $self2621.elidedFrames;\nself2621 = $self2621.args[0];\nmaybe$stack$loc2622 = $self2621.args[1];\nsrc$available2623 = $self2621.args[2];\nmaybe$ast2624 = $self2621.args[3];\nfields2969 = $self2621.vars[0];\nanf_fun2977 = $self2621.vars[1];\nanf_arg2971 = $self2621.vars[2];\nanf_arg2972 = $self2621.vars[3];\nbindings2967 = $self2621.vars[4];\nanf_arg2978 = $self2621.vars[5];\nobservation$prose2793 = $self2621.vars[6];\nanf_arg2979 = $self2621.vars[7];\nexplanation$prose2808 = $self2621.vars[8];\nlocs$from$constructor$ast2727 = $self2621.vars[9];\npattern2949 = $self2621.vars[10];\nvariant2973 = $self2621.vars[11];\ndestructured$definition2744 = $self2621.vars[12];\nanf_method_obj2964 = $self2621.vars[13];\ndestructured$pattern2837 = $self2621.vars[14];\nlocs$from$cases$ast2663 = $self2621.vars[15];\nanf_fun2962 = $self2621.vars[16];\nanf_method_obj2939 = $self2621.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1791],4,$t,true);\n}\nvar self2621 = $self2621;\nvar maybe$stack$loc2622 = $maybe$stack$loc2622;\nvar src$available2623 = $src$available2623;\nvar maybe$ast2624 = $maybe$ast2624;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2625 = R.mC();\n}\nwhile(!R.isContinuation($ans2625)) {\nswitch($step2619) {\ncase 0: var locs$from$cases$ast2663 = {\"$var\":D};\nvar maybe$first2679 = {\"$var\":D};\nvar locs$from$constructor$ast2727 = {\"$var\":D};\nvar $temp_lam2630 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1792($ast2631) {\nvar $step2629 = 0;\nvar $elidedFrames2635 = 0;\nvar $ans2632 = D;\nvar $al2633 = L[1792];\nif(R.isAR($ast2631)) {\n$step2629 = $ast2631.step;\n$al2633 = $ast2631.from;\n$ans2632 = $ast2631.ans;\n$elidedFrames2635 = $ast2631.elidedFrames;\nast2631 = $ast2631.args[0];\ncases2636 = $ast2631.vars[0];\npat$loc2647 = $ast2631.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1792],1,$t,false);\n}\nvar ast2631 = $ast2631;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2632 = R.mC();\n}\nwhile(!R.isContinuation($ans2632)) {\nswitch($step2629) {\ncase 0: var cases2636 = ast2631;\n$al2633 = L[1796];\n$step2629 = $cases_dispatch2660[cases2636.$name] || 4;\nbreak;\ncase 1: if(cases2636.$arity !== 5) {\nif(cases2636.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1795],5,cases2636.$arity,L[1796],cases2636.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1795],true,L[1796],cases2636.$loc);\n}\n}\nvar $fn2650 = cases2636.$constructor.$fieldNames;\nR.dF(cases2636.dict[$fn2650[0]],cases2636.$mut_fields_mask[0],false);\nvar pat$loc2647 = R.dF(cases2636.dict[$fn2650[1]],cases2636.$mut_fields_mask[1],false);\nR.dF(cases2636.dict[$fn2650[2]],cases2636.$mut_fields_mask[2],false);\nvar args2645 = R.dF(cases2636.dict[$fn2650[3]],cases2636.$mut_fields_mask[3],false);\nR.dF(cases2636.dict[$fn2650[4]],cases2636.$mut_fields_mask[4],false);\nvar $temp_lam2638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1793($recv_2639) {\nvar $step2637 = 0;\nvar $elidedFrames2643 = 0;\nvar $ans2640 = D;\nvar $al2641 = L[1793];\nif(R.isAR($recv_2639)) {\n$step2637 = $recv_2639.step;\n$al2641 = $recv_2639.from;\n$ans2640 = $recv_2639.ans;\n$elidedFrames2643 = $recv_2639.elidedFrames;\nrecv_2639 = $recv_2639.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1793],1,$t,false);\n}\nvar recv_2639 = $recv_2639;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2640 = R.mC();\n}\nwhile(!R.isContinuation($ans2640)) {\nswitch($step2637) {\ncase 0: $step2637 = 1;\n$al2641 = L[1793];\n$ans2640 = G(recv_2639,\"l\",L[1793]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2640;\ndefault: R.ffi.throwSpinnakerError(L[1793],$step2637);\n}\n}\nif($step2637 !== 1) {\n$ans2640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2641,$temp_lam2638,$step2637,[recv_2639],[],$elidedFrames2643);\n}\nreturn $ans2640;\n};\nvar anf_arg2646 = R.mF($temp_lam2638,\"\");\n$step2629 = 2;\n$ans2632 = R.maybeMethodCall1(args2645,\"map\",L[1794],anf_arg2646);\nbreak;\ncase 2: var anf_tuple_fields2648 = $ans2632;\n$step2629 = 5;\n$ans2632 = R.makeTuple([pat$loc2647,anf_tuple_fields2648]);\nbreak;\ncase 3: if(cases2636.$arity !== 4) {\nif(cases2636.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1797],4,cases2636.$arity,L[1796],cases2636.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1797],true,L[1796],cases2636.$loc);\n}\n}\nvar $fn2656 = cases2636.$constructor.$fieldNames;\nR.dF(cases2636.dict[$fn2656[0]],cases2636.$mut_fields_mask[0],false);\nvar pat$loc2654 = R.dF(cases2636.dict[$fn2656[1]],cases2636.$mut_fields_mask[1],false);\nR.dF(cases2636.dict[$fn2656[2]],cases2636.$mut_fields_mask[2],false);\nR.dF(cases2636.dict[$fn2656[3]],cases2636.$mut_fields_mask[3],false);\n$step2629 = 5;\n$ans2632 = R.makeTuple([pat$loc2654,nothing2]);\nbreak;\ncase 4: $ans2632 = R.throwNoCasesMatched(L[1796],cases2636);\n$step2629 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2632;\ndefault: R.ffi.throwSpinnakerError(L[1792],$step2629);\n}\n}\nif($step2629 !== 5) {\n$ans2632.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2633,$temp_lam2630,$step2629,[ast2631],[cases2636,pat$loc2647],$elidedFrames2635);\n}\nreturn $ans2632;\n};\nvar anf_assign2662 = R.mF($temp_lam2630,\"locs-from-cases-ast\");\nlocs$from$cases$ast2663.$var = anf_assign2662;\nR.nothing;\nvar $temp_lam2665 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1798($l2666) {\nvar $step2664 = 0;\nvar $elidedFrames2670 = 0;\nvar $ans2667 = D;\nvar $al2668 = L[1798];\nif(R.isAR($l2666)) {\n$step2664 = $l2666.step;\n$al2668 = $l2666.from;\n$ans2667 = $l2666.ans;\n$elidedFrames2670 = $l2666.elidedFrames;\nl2666 = $l2666.args[0];\ncases2671 = $l2666.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1798],1,$t,false);\n}\nvar l2666 = $l2666;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2667 = R.mC();\n}\nwhile(!R.isContinuation($ans2667)) {\nswitch($step2664) {\ncase 0: var cases2671 = l2666;\n$al2668 = L[1801];\n$step2664 = $cases_dispatch2676[cases2671.$name] || 3;\nbreak;\ncase 1: if(cases2671.$arity !== 2) {\nif(cases2671.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1800],2,cases2671.$arity,L[1801],cases2671.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1800],true,L[1801],cases2671.$loc);\n}\n}\nvar $fn2674 = cases2671.$constructor.$fieldNames;\nvar first2672 = R.dF(cases2671.dict[$fn2674[0]],cases2671.$mut_fields_mask[0],false);\nR.dF(cases2671.dict[$fn2674[1]],cases2671.$mut_fields_mask[1],false);\n$step2664 = 4;\n$al2668 = L[1799];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2668,O8.dict.values.dict[\"some\"]);\n}\n$ans2667 = O8.dict.values.dict[\"some\"].app(first2672);\nbreak;\ncase 2: if(cases2671.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1802],false,L[1801],cases2671.$loc);\n}\n$step2664 = 4;\n$ans2667 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: $ans2667 = R.throwNoCasesMatched(L[1801],cases2671);\n$step2664 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2667;\ndefault: R.ffi.throwSpinnakerError(L[1798],$step2664);\n}\n}\nif($step2664 !== 4) {\n$ans2667.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2668,$temp_lam2665,$step2664,[l2666],[cases2671],$elidedFrames2670);\n}\nreturn $ans2667;\n};\nvar anf_assign2678 = R.mF($temp_lam2665,\"maybe-first\");\nmaybe$first2679.$var = anf_assign2678;\nR.nothing;\nvar $temp_lam2681 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1803($ast2682) {\nvar $step2680 = 0;\nvar $elidedFrames2686 = 0;\nvar $ans2683 = D;\nvar $al2684 = L[1803];\nif(R.isAR($ast2682)) {\n$step2680 = $ast2682.step;\n$al2684 = $ast2682.from;\n$ans2683 = $ast2682.ans;\n$elidedFrames2686 = $ast2682.elidedFrames;\nast2682 = $ast2682.args[0];\nconstr$loc2699 = $ast2682.vars[0];\nl2716 = $ast2682.vars[1];\ncases2687 = $ast2682.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1803],1,$t,false);\n}\nvar ast2682 = $ast2682;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2683 = R.mC();\n}\nwhile(!R.isContinuation($ans2683)) {\nswitch($step2680) {\ncase 0: var cases2687 = ast2682;\n$al2684 = L[1807];\n$step2680 = $cases_dispatch2724[cases2687.$name] || 8;\nbreak;\ncase 1: if(cases2687.$arity !== 5) {\nif(cases2687.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1806],5,cases2687.$arity,L[1807],cases2687.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1806],true,L[1807],cases2687.$loc);\n}\n}\nvar $fn2701 = cases2687.$constructor.$fieldNames;\nR.dF(cases2687.dict[$fn2701[0]],cases2687.$mut_fields_mask[0],false);\nvar constr$loc2699 = R.dF(cases2687.dict[$fn2701[1]],cases2687.$mut_fields_mask[1],false);\nR.dF(cases2687.dict[$fn2701[2]],cases2687.$mut_fields_mask[2],false);\nvar members2696 = R.dF(cases2687.dict[$fn2701[3]],cases2687.$mut_fields_mask[3],false);\nR.dF(cases2687.dict[$fn2701[4]],cases2687.$mut_fields_mask[4],false);\nvar $temp_lam2689 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1804($recv_2690) {\nvar $step2688 = 0;\nvar $elidedFrames2694 = 0;\nvar $ans2691 = D;\nvar $al2692 = L[1804];\nif(R.isAR($recv_2690)) {\n$step2688 = $recv_2690.step;\n$al2692 = $recv_2690.from;\n$ans2691 = $recv_2690.ans;\n$elidedFrames2694 = $recv_2690.elidedFrames;\nrecv_2690 = $recv_2690.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1804],1,$t,false);\n}\nvar recv_2690 = $recv_2690;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2691 = R.mC();\n}\nwhile(!R.isContinuation($ans2691)) {\nswitch($step2688) {\ncase 0: $step2688 = 1;\n$al2692 = L[1804];\n$ans2691 = G(recv_2690,\"l\",L[1804]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2691;\ndefault: R.ffi.throwSpinnakerError(L[1804],$step2688);\n}\n}\nif($step2688 !== 1) {\n$ans2691.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2692,$temp_lam2689,$step2688,[recv_2690],[],$elidedFrames2694);\n}\nreturn $ans2691;\n};\nvar anf_arg2697 = R.mF($temp_lam2689,\"\");\n$step2680 = 2;\n$ans2683 = R.maybeMethodCall1(members2696,\"map\",L[1805],anf_arg2697);\nbreak;\ncase 2: var anf_tuple_fields2698 = $ans2683;\n$step2680 = 9;\n$ans2683 = R.makeTuple([anf_tuple_fields2698,constr$loc2699]);\nbreak;\ncase 3: if(cases2687.$arity !== 3) {\nif(cases2687.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1814],3,cases2687.$arity,L[1807],cases2687.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1814],true,L[1807],cases2687.$loc);\n}\n}\nvar $fn2722 = cases2687.$constructor.$fieldNames;\nvar l2716 = R.dF(cases2687.dict[$fn2722[0]],cases2687.$mut_fields_mask[0],false);\nR.dF(cases2687.dict[$fn2722[1]],cases2687.$mut_fields_mask[1],false);\nvar with$members2705 = R.dF(cases2687.dict[$fn2722[2]],cases2687.$mut_fields_mask[2],false);\n$step2680 = 4;\n$al2684 = L[1813];\nif(typeof(maybe$first2679.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2684,maybe$first2679.$var);\n}\n$ans2683 = maybe$first2679.$var.app(with$members2705);\nbreak;\ncase 4: var anf_method_obj2714 = $ans2683;\nvar $temp_lam2707 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1808($recv_2708) {\nvar $step2706 = 0;\nvar $elidedFrames2712 = 0;\nvar $ans2709 = D;\nvar $al2710 = L[1808];\nif(R.isAR($recv_2708)) {\n$step2706 = $recv_2708.step;\n$al2710 = $recv_2708.from;\n$ans2709 = $recv_2708.ans;\n$elidedFrames2712 = $recv_2708.elidedFrames;\nrecv_2708 = $recv_2708.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1808],1,$t,false);\n}\nvar recv_2708 = $recv_2708;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2709 = R.mC();\n}\nwhile(!R.isContinuation($ans2709)) {\nswitch($step2706) {\ncase 0: $step2706 = 1;\n$al2710 = L[1808];\n$ans2709 = G(recv_2708,\"l\",L[1808]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2709;\ndefault: R.ffi.throwSpinnakerError(L[1808],$step2706);\n}\n}\nif($step2706 !== 1) {\n$ans2709.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2710,$temp_lam2707,$step2706,[recv_2708],[],$elidedFrames2712);\n}\nreturn $ans2709;\n};\nvar anf_arg2715 = R.mF($temp_lam2707,\"\");\n$step2680 = 5;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2714,\"and-then\",L[1809],anf_arg2715);\nbreak;\ncase 5: var anf_method_obj2717 = $ans2683;\n$al2684 = L[1810];\nvar anf_arg2718 = G(l2716,\"upto\",L[1810]);\n$step2680 = 6;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2717,\"and-then\",L[1811],anf_arg2718);\nbreak;\ncase 6: var anf_method_obj2719 = $ans2683;\n$step2680 = 7;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2719,\"or-else\",L[1812],l2716);\nbreak;\ncase 7: var anf_tuple_fields2720 = $ans2683;\n$step2680 = 9;\n$ans2683 = R.makeTuple([nothing2,anf_tuple_fields2720]);\nbreak;\ncase 8: $ans2683 = R.throwNoCasesMatched(L[1807],cases2687);\n$step2680 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2683;\ndefault: R.ffi.throwSpinnakerError(L[1803],$step2680);\n}\n}\nif($step2680 !== 9) {\n$ans2683.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2684,$temp_lam2681,$step2680,[ast2682],[constr$loc2699,l2716,cases2687],$elidedFrames2686);\n}\nreturn $ans2683;\n};\nvar anf_assign2726 = R.mF($temp_lam2681,\"locs-from-constructor-ast\");\nlocs$from$constructor$ast2727.$var = anf_assign2726;\nR.nothing;\n$al2626 = L[1815];\nvar anf_arg2728 = G(self2621,\"branch-loc\",L[1815]);\n$step2619 = 1;\n$al2626 = L[1946];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,O8.dict.values.dict[\"some\"]);\n}\n$ans2625 = O8.dict.values.dict[\"some\"].app(anf_arg2728);\nbreak;\ncase 1: var arg_2729 = $ans2625;\n$step2619 = 2;\n$al2626 = L[1945];\n// omitting isFunction check;\n$ans2625 = and$if176.$var.app(src$available2623,arg_2729);\nbreak;\ncase 2: var arg_2730 = $ans2625;\n$step2619 = 3;\n$al2626 = L[1944];\n// omitting isFunction check;\n$ans2625 = and$maybe193.$var.app(maybe$ast2624,arg_2730);\nbreak;\ncase 3: var anf_method_obj2731 = $ans2625;\n$step2619 = 4;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2731,\"and-then\",L[1816],locs$from$cases$ast2663.$var);\nbreak;\ncase 4: var destructured$pattern2837 = $ans2625;\n$al2626 = L[1817];\nvar anf_arg2732 = G(self2621,\"constructor-loc\",L[1817]);\n$step2619 = 5;\n$al2626 = L[1943];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,O8.dict.values.dict[\"some\"]);\n}\n$ans2625 = O8.dict.values.dict[\"some\"].app(anf_arg2732);\nbreak;\ncase 5: var arg_2733 = $ans2625;\n$step2619 = 6;\n$al2626 = L[1942];\n// omitting isFunction check;\n$ans2625 = and$if176.$var.app(src$available2623,arg_2733);\nbreak;\ncase 6: var arg_2734 = $ans2625;\n$step2619 = 7;\n$al2626 = L[1941];\n// omitting isFunction check;\n$ans2625 = and$maybe193.$var.app(maybe$ast2624,arg_2734);\nbreak;\ncase 7: var anf_method_obj2735 = $ans2625;\n$step2619 = 8;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2735,\"and-then\",L[1818],locs$from$constructor$ast2727.$var);\nbreak;\ncase 8: var destructured$definition2744 = $ans2625;\nvar $temp_lam2737 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1819($v2738) {\nvar $step2736 = 0;\nvar $elidedFrames2742 = 0;\nvar $ans2739 = D;\nvar $al2740 = L[1819];\nif(R.isAR($v2738)) {\n$step2736 = $v2738.step;\n$al2740 = $v2738.from;\n$ans2739 = $v2738.ans;\n$elidedFrames2742 = $v2738.elidedFrames;\nv2738 = $v2738.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1819],1,$t,false);\n}\nvar v2738 = $v2738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2739 = R.mC();\n}\nwhile(!R.isContinuation($ans2739)) {\nswitch($step2736) {\ncase 0: $step2736 = 1;\n$ans2739 = R.getTuple(v2738,1,L[1820]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2739;\ndefault: R.ffi.throwSpinnakerError(L[1819],$step2736);\n}\n}\nif($step2736 !== 1) {\n$ans2739.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2740,$temp_lam2737,$step2736,[v2738],[],$elidedFrames2742);\n}\nreturn $ans2739;\n};\nvar anf_arg2745 = R.mF($temp_lam2737,\"\");\n$step2619 = 9;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1821],anf_arg2745);\nbreak;\ncase 9: var anf_method_obj2746 = $ans2625;\n$al2626 = L[1822];\nvar anf_arg2747 = G(self2621,\"constructor-loc\",L[1822]);\n$step2619 = 10;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2746,\"or-else\",L[1823],anf_arg2747);\nbreak;\ncase 10: var constructor$loc2773 = $ans2625;\nvar pattern$prose2762 = {\"$var\":D};\nvar observation$prose2793 = {\"$var\":D};\nvar explanation$prose2808 = {\"$var\":D};\nvar $temp_lam2749 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1824($pattern2750,$bindings2751) {\nvar $step2748 = 0;\nvar $elidedFrames2755 = 0;\nvar $ans2752 = D;\nvar $al2753 = L[1824];\nif(R.isAR($pattern2750)) {\n$step2748 = $pattern2750.step;\n$al2753 = $pattern2750.from;\n$ans2752 = $pattern2750.ans;\n$elidedFrames2755 = $pattern2750.elidedFrames;\npattern2750 = $pattern2750.args[0];\nbindings2751 = $pattern2750.args[1];\nanf_fun2756 = $pattern2750.vars[0];\nanf_arg2757 = $pattern2750.vars[1];\nanf_arg2758 = $pattern2750.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1824],2,$t,false);\n}\nvar pattern2750 = $pattern2750;\nvar bindings2751 = $bindings2751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2752 = R.mC();\n}\nwhile(!R.isContinuation($ans2752)) {\nswitch($step2748) {\ncase 0: $ans2752 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1825],L[1826]);\nvar anf_fun2756 = $ans2752;\n$step2748 = 1;\n$al2753 = L[1829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg2757 = $ans2752;\n$step2748 = 2;\n$al2753 = L[1828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 2: var anf_arg2758 = $ans2752;\n$step2748 = 3;\n$al2753 = L[1827];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg2759 = $ans2752;\n$step2748 = 4;\n$al2753 = L[1826];\nif(typeof(anf_fun2756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,anf_fun2756);\n}\n$ans2752 = anf_fun2756.app(anf_arg2757,pattern2750,anf_arg2758,bindings2751,anf_arg2759);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2752;\ndefault: R.ffi.throwSpinnakerError(L[1824],$step2748);\n}\n}\nif($step2748 !== 4) {\n$ans2752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2753,$temp_lam2749,$step2748,[pattern2750,bindings2751],[anf_fun2756,anf_arg2757,anf_arg2758],$elidedFrames2755);\n}\nreturn $ans2752;\n};\nvar anf_assign2761 = R.mF($temp_lam2749,\"pattern-prose\");\npattern$prose2762.$var = anf_assign2761;\nR.nothing;\nvar $temp_lam2764 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1830($pattern2765,$bindings2766,$variant2767,$members2768) {\nvar $step2763 = 0;\nvar $elidedFrames2772 = 0;\nvar $ans2769 = D;\nvar $al2770 = L[1830];\nif(R.isAR($pattern2765)) {\n$step2763 = $pattern2765.step;\n$al2770 = $pattern2765.from;\n$ans2769 = $pattern2765.ans;\n$elidedFrames2772 = $pattern2765.elidedFrames;\npattern2765 = $pattern2765.args[0];\nbindings2766 = $pattern2765.args[1];\nvariant2767 = $pattern2765.args[2];\nmembers2768 = $pattern2765.args[3];\nanf_fun2776 = $pattern2765.vars[0];\nanf_fun2787 = $pattern2765.vars[1];\nanf_array2783 = $pattern2765.vars[2];\nanf_fun2779 = $pattern2765.vars[3];\nanf_array2775 = $pattern2765.vars[4];\nanf_array2788 = $pattern2765.vars[5];\nanf_arg2785 = $pattern2765.vars[6];\nanf_arg2777 = $pattern2765.vars[7];\nanf_fun2782 = $pattern2765.vars[8];\nanf_fun2784 = $pattern2765.vars[9];\nanf_fun2774 = $pattern2765.vars[10];\nanf_array2780 = $pattern2765.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1830],4,$t,false);\n}\nvar pattern2765 = $pattern2765;\nvar bindings2766 = $bindings2766;\nvar variant2767 = $variant2767;\nvar members2768 = $members2768;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2769 = R.mC();\n}\nwhile(!R.isContinuation($ans2769)) {\nswitch($step2763) {\ncase 0: $al2770 = L[1831];\nvar anf_if2790 = G(self2621,\"should-be-singleton\",L[1831]);\n$step2763 = R.checkPyretTrue(anf_if2790)?1:15;\nbreak;\ncase 1: $step2763 = 2;\n$al2770 = L[1847];\nif(typeof(src$available2623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,src$available2623);\n}\n$ans2769 = src$available2623.app(constructor$loc2773);\nbreak;\ncase 2: var anf_if2781 = $ans2769;\n$step2763 = R.checkPyretTrue(anf_if2781)?3:10;\nbreak;\ncase 3: $ans2769 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1832],L[1833]);\nvar anf_fun2776 = $ans2769;\n$ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1834],L[1835]);\nvar anf_fun2774 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2775 = $ans2769;\n$step2763 = 4;\n$al2770 = L[1840];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 4: anf_array2775[0] = $ans2769;\nanf_array2775[1] = pattern2765;\n$step2763 = 5;\n$al2770 = L[1839];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has a \"));\nbreak;\ncase 5: anf_array2775[2] = $ans2769;\nanf_array2775[3] = bindings2766;\n$step2763 = 6;\n$al2770 = L[1838];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 6: anf_array2775[4] = $ans2769;\nanf_array2775[5] = variant2767;\n$step2763 = 7;\n$al2770 = L[1837];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that is a singleton:\"));\nbreak;\ncase 7: anf_array2775[6] = $ans2769;\n$step2763 = 8;\n$al2770 = L[1835];\nif(typeof(anf_fun2774.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2774);\n}\n$ans2769 = anf_fun2774.app(anf_array2775);\nbreak;\ncase 8: var anf_arg2777 = $ans2769;\n$step2763 = 9;\n$al2770 = L[1836];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"cmcode\"].app(constructor$loc2773);\nbreak;\ncase 9: var anf_arg2778 = $ans2769;\n$step2763 = 29;\n$al2770 = L[1833];\nif(typeof(anf_fun2776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2776);\n}\n$ans2769 = anf_fun2776.app(anf_arg2777,anf_arg2778);\nbreak;\ncase 10: $ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1841],L[1842]);\nvar anf_fun2779 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2780 = $ans2769;\n$step2763 = 11;\n$al2770 = L[1846];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array2780[0] = $ans2769;\nanf_array2780[1] = pattern2765;\n$step2763 = 12;\n$al2770 = L[1845];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has a \"));\nbreak;\ncase 12: anf_array2780[2] = $ans2769;\nanf_array2780[3] = bindings2766;\n$step2763 = 13;\n$al2770 = L[1844];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 13: anf_array2780[4] = $ans2769;\nanf_array2780[5] = variant2767;\n$step2763 = 14;\n$al2770 = L[1843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that is a singleton.\"));\nbreak;\ncase 14: anf_array2780[6] = $ans2769;\n$step2763 = 29;\n$al2770 = L[1842];\nif(typeof(anf_fun2779.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2779);\n}\n$ans2769 = anf_fun2779.app(anf_array2780);\nbreak;\ncase 15: $step2763 = 16;\n$al2770 = L[1863];\nif(typeof(src$available2623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,src$available2623);\n}\n$ans2769 = src$available2623.app(constructor$loc2773);\nbreak;\ncase 16: var anf_if2789 = $ans2769;\n$step2763 = R.checkPyretTrue(anf_if2789)?17:24;\nbreak;\ncase 17: $ans2769 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1848],L[1849]);\nvar anf_fun2784 = $ans2769;\n$ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1850],L[1851]);\nvar anf_fun2782 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2783 = $ans2769;\n$step2763 = 18;\n$al2770 = L[1856];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 18: anf_array2783[0] = $ans2769;\nanf_array2783[1] = pattern2765;\n$step2763 = 19;\n$al2770 = L[1855];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has no binding list, but refers to a \"));\nbreak;\ncase 19: anf_array2783[2] = $ans2769;\nanf_array2783[3] = variant2767;\n$step2763 = 20;\n$al2770 = L[1854];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that has a \"));\nbreak;\ncase 20: anf_array2783[4] = $ans2769;\nanf_array2783[5] = members2768;\n$step2763 = 21;\n$al2770 = L[1853];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 21: anf_array2783[6] = $ans2769;\n$step2763 = 22;\n$al2770 = L[1851];\nif(typeof(anf_fun2782.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2782);\n}\n$ans2769 = anf_fun2782.app(anf_array2783);\nbreak;\ncase 22: var anf_arg2785 = $ans2769;\n$step2763 = 23;\n$al2770 = L[1852];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"cmcode\"].app(constructor$loc2773);\nbreak;\ncase 23: var anf_arg2786 = $ans2769;\n$step2763 = 29;\n$al2770 = L[1849];\nif(typeof(anf_fun2784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2784);\n}\n$ans2769 = anf_fun2784.app(anf_arg2785,anf_arg2786);\nbreak;\ncase 24: $ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1857],L[1858]);\nvar anf_fun2787 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2788 = $ans2769;\n$step2763 = 25;\n$al2770 = L[1862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 25: anf_array2788[0] = $ans2769;\nanf_array2788[1] = pattern2765;\n$step2763 = 26;\n$al2770 = L[1861];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has no binding list, but refers to a \"));\nbreak;\ncase 26: anf_array2788[2] = $ans2769;\nanf_array2788[3] = variant2767;\n$step2763 = 27;\n$al2770 = L[1860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that has a \"));\nbreak;\ncase 27: anf_array2788[4] = $ans2769;\nanf_array2788[5] = members2768;\n$step2763 = 28;\n$al2770 = L[1859];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 28: anf_array2788[6] = $ans2769;\n$step2763 = 29;\n$al2770 = L[1858];\nif(typeof(anf_fun2787.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2787);\n}\n$ans2769 = anf_fun2787.app(anf_array2788);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans2769;\ndefault: R.ffi.throwSpinnakerError(L[1830],$step2763);\n}\n}\nif($step2763 !== 29) {\n$ans2769.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2770,$temp_lam2764,$step2763,[pattern2765,bindings2766,variant2767,members2768],[anf_fun2776,anf_fun2787,anf_array2783,anf_fun2779,anf_array2775,anf_array2788,anf_arg2785,anf_arg2777,anf_fun2782,anf_fun2784,anf_fun2774,anf_array2780],$elidedFrames2772);\n}\nreturn $ans2769;\n};\nvar anf_assign2792 = R.mF($temp_lam2764,\"observation-prose\");\nobservation$prose2793.$var = anf_assign2792;\nR.nothing;\nvar $temp_lam2795 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1864($pattern2796,$variant2797) {\nvar $step2794 = 0;\nvar $elidedFrames2801 = 0;\nvar $ans2798 = D;\nvar $al2799 = L[1864];\nif(R.isAR($pattern2796)) {\n$step2794 = $pattern2796.step;\n$al2799 = $pattern2796.from;\n$ans2798 = $pattern2796.ans;\n$elidedFrames2801 = $pattern2796.elidedFrames;\npattern2796 = $pattern2796.args[0];\nvariant2797 = $pattern2796.args[1];\nanf_fun2802 = $pattern2796.vars[0];\nanf_arg2803 = $pattern2796.vars[1];\nanf_arg2804 = $pattern2796.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1864],2,$t,false);\n}\nvar pattern2796 = $pattern2796;\nvar variant2797 = $variant2797;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2798 = R.mC();\n}\nwhile(!R.isContinuation($ans2798)) {\nswitch($step2794) {\ncase 0: $ans2798 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1865],L[1866]);\nvar anf_fun2802 = $ans2798;\n$step2794 = 1;\n$al2799 = L[1869];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2803 = $ans2798;\n$step2794 = 2;\n$al2799 = L[1868];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\" must match the \"));\nbreak;\ncase 2: var anf_arg2804 = $ans2798;\n$step2794 = 3;\n$al2799 = L[1867];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\" that it refers to.\"));\nbreak;\ncase 3: var anf_arg2805 = $ans2798;\n$step2794 = 4;\n$al2799 = L[1866];\nif(typeof(anf_fun2802.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,anf_fun2802);\n}\n$ans2798 = anf_fun2802.app(anf_arg2803,pattern2796,anf_arg2804,variant2797,anf_arg2805);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2798;\ndefault: R.ffi.throwSpinnakerError(L[1864],$step2794);\n}\n}\nif($step2794 !== 4) {\n$ans2798.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2799,$temp_lam2795,$step2794,[pattern2796,variant2797],[anf_fun2802,anf_arg2803,anf_arg2804],$elidedFrames2801);\n}\nreturn $ans2798;\n};\nvar anf_assign2807 = R.mF($temp_lam2795,\"explanation-prose\");\nexplanation$prose2808.$var = anf_assign2807;\nR.nothing;\nvar $temp_lam2810 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1870($v2811) {\nvar $step2809 = 0;\nvar $elidedFrames2815 = 0;\nvar $ans2812 = D;\nvar $al2813 = L[1870];\nif(R.isAR($v2811)) {\n$step2809 = $v2811.step;\n$al2813 = $v2811.from;\n$ans2812 = $v2811.ans;\n$elidedFrames2815 = $v2811.elidedFrames;\nv2811 = $v2811.args[0];\ntup2816 = $v2811.vars[0];\nbinds2817 = $v2811.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1870],1,$t,false);\n}\nvar v2811 = $v2811;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2812 = R.mC();\n}\nwhile(!R.isContinuation($ans2812)) {\nswitch($step2809) {\ncase 0: var tup2816 = v2811;\n$step2809 = 1;\n$al2813 = L[1875];\nR.checkTupleBind(tup2816,2,L[1875]);\nbreak;\ncase 1: R.getTuple(tup2816,0,L[1871]);\nvar binds2817 = R.getTuple(tup2816,1,L[1872]);\n// caller optimization;\n$ans2812 = is$nothing3.app(binds2817);\nvar anf_if2834 = $ans2812;\n$step2809 = R.checkPyretTrue(anf_if2834)?2:3;\nbreak;\ncase 2: $step2809 = 4;\nvar $temp_lam2819 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1873($w2820) {\nvar $step2818 = 0;\nvar $elidedFrames2824 = 0;\nvar $ans2821 = D;\nvar $al2822 = L[1873];\nif(R.isAR($w2820)) {\n$step2818 = $w2820.step;\n$al2822 = $w2820.from;\n$ans2821 = $w2820.ans;\n$elidedFrames2824 = $w2820.elidedFrames;\nw2820 = $w2820.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1873],1,$t,false);\n}\nvar w2820 = $w2820;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2821 = R.mC();\n}\nwhile(!R.isContinuation($ans2821)) {\nswitch($step2818) {\ncase 0: $step2818 = 1;\n$ans2821 = w2820;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2821;\ndefault: R.ffi.throwSpinnakerError(L[1873],$step2818);\n}\n}\nif($step2818 !== 1) {\n$ans2821.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2822,$temp_lam2819,$step2818,[w2820],[],$elidedFrames2824);\n}\nreturn $ans2821;\n};\n$ans2812 = R.mF($temp_lam2819,\"\");\nbreak;\ncase 3: $step2809 = 4;\nvar $temp_lam2827 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1874($arg_2828) {\nvar $step2826 = 0;\nvar $elidedFrames2832 = 0;\nvar $ans2829 = D;\nvar $al2830 = L[1874];\nif(R.isAR($arg_2828)) {\n$step2826 = $arg_2828.step;\n$al2830 = $arg_2828.from;\n$ans2829 = $arg_2828.ans;\n$elidedFrames2832 = $arg_2828.elidedFrames;\narg_2828 = $arg_2828.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1874],1,$t,false);\n}\nvar arg_2828 = $arg_2828;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2829 = R.mC();\n}\nwhile(!R.isContinuation($ans2829)) {\nswitch($step2826) {\ncase 0: $step2826 = 1;\n$al2830 = L[1874];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2830,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2829 = ED6.dict.values.dict[\"highlight\"].app(arg_2828,binds2817,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2829;\ndefault: R.ffi.throwSpinnakerError(L[1874],$step2826);\n}\n}\nif($step2826 !== 1) {\n$ans2829.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2830,$temp_lam2827,$step2826,[arg_2828],[],$elidedFrames2832);\n}\nreturn $ans2829;\n};\n$ans2812 = R.mF($temp_lam2827,\"\");\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2812;\ndefault: R.ffi.throwSpinnakerError(L[1870],$step2809);\n}\n}\nif($step2809 !== 4) {\n$ans2812.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2813,$temp_lam2810,$step2809,[v2811],[tup2816,binds2817],$elidedFrames2815);\n}\nreturn $ans2812;\n};\nvar anf_arg2838 = R.mF($temp_lam2810,\"\");\n$step2619 = 11;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1876],anf_arg2838);\nbreak;\ncase 11: var anf_method_obj2847 = $ans2625;\nvar $temp_lam2840 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1877($v2841) {\nvar $step2839 = 0;\nvar $elidedFrames2845 = 0;\nvar $ans2842 = D;\nvar $al2843 = L[1877];\nif(R.isAR($v2841)) {\n$step2839 = $v2841.step;\n$al2843 = $v2841.from;\n$ans2842 = $v2841.ans;\n$elidedFrames2845 = $v2841.elidedFrames;\nv2841 = $v2841.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1877],1,$t,false);\n}\nvar v2841 = $v2841;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2842 = R.mC();\n}\nwhile(!R.isContinuation($ans2842)) {\nswitch($step2839) {\ncase 0: $step2839 = 1;\n$ans2842 = v2841;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2842;\ndefault: R.ffi.throwSpinnakerError(L[1877],$step2839);\n}\n}\nif($step2839 !== 1) {\n$ans2842.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2843,$temp_lam2840,$step2839,[v2841],[],$elidedFrames2845);\n}\nreturn $ans2842;\n};\nvar anf_arg2848 = R.mF($temp_lam2840,\"\");\n$step2619 = 12;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2847,\"or-else\",L[1878],anf_arg2848);\nbreak;\ncase 12: var bindings2967 = $ans2625;\nvar $temp_lam2850 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1879($v2851) {\nvar $step2849 = 0;\nvar $elidedFrames2855 = 0;\nvar $ans2852 = D;\nvar $al2853 = L[1879];\nif(R.isAR($v2851)) {\n$step2849 = $v2851.step;\n$al2853 = $v2851.from;\n$ans2852 = $v2851.ans;\n$elidedFrames2855 = $v2851.elidedFrames;\nv2851 = $v2851.args[0];\ntup2856 = $v2851.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1879],1,$t,false);\n}\nvar v2851 = $v2851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2852 = R.mC();\n}\nwhile(!R.isContinuation($ans2852)) {\nswitch($step2849) {\ncase 0: var tup2856 = v2851;\n$step2849 = 1;\n$al2853 = L[1886];\nR.checkTupleBind(tup2856,2,L[1886]);\nbreak;\ncase 1: var pat$loc2865 = R.getTuple(tup2856,0,L[1880]);\nR.getTuple(tup2856,1,L[1881]);\n$step2849 = 2;\nvar $temp_lam2858 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1882($arg_2859) {\nvar $step2857 = 0;\nvar $elidedFrames2863 = 0;\nvar $ans2860 = D;\nvar $al2861 = L[1882];\nif(R.isAR($arg_2859)) {\n$step2857 = $arg_2859.step;\n$al2861 = $arg_2859.from;\n$ans2860 = $arg_2859.ans;\n$elidedFrames2863 = $arg_2859.elidedFrames;\narg_2859 = $arg_2859.args[0];\nanf_arg2866 = $arg_2859.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1882],1,$t,false);\n}\nvar arg_2859 = $arg_2859;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2860 = R.mC();\n}\nwhile(!R.isContinuation($ans2860)) {\nswitch($step2857) {\ncase 0: $ans2860 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1883],L[1884]);\nvar anf_fun2864 = $ans2860;\n$step2857 = 1;\n$al2861 = L[1884];\nif(typeof(anf_fun2864.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2861,anf_fun2864);\n}\n$ans2860 = anf_fun2864.app(pat$loc2865);\nbreak;\ncase 1: var anf_arg2866 = $ans2860;\n$al2861 = L[1885];\nvar anf_if2868 = G(self2621,\"should-be-singleton\",L[1885]);\n$step2857 = R.checkPyretTrue(anf_if2868)?2:3;\nbreak;\ncase 2: $step2857 = 4;\n$ans2860 = (-1);\nbreak;\ncase 3: $step2857 = 4;\n$ans2860 = (1);\nbreak;\ncase 4: var anf_arg2867 = $ans2860;\n$step2857 = 5;\n$al2861 = L[1882];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2861,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2860 = ED6.dict.values.dict[\"highlight\"].app(arg_2859,anf_arg2866,anf_arg2867);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2860;\ndefault: R.ffi.throwSpinnakerError(L[1882],$step2857);\n}\n}\nif($step2857 !== 5) {\n$ans2860.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2861,$temp_lam2858,$step2857,[arg_2859],[anf_arg2866],$elidedFrames2863);\n}\nreturn $ans2860;\n};\n$ans2852 = R.mF($temp_lam2858,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2852;\ndefault: R.ffi.throwSpinnakerError(L[1879],$step2849);\n}\n}\nif($step2849 !== 2) {\n$ans2852.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2853,$temp_lam2850,$step2849,[v2851],[tup2856],$elidedFrames2855);\n}\nreturn $ans2852;\n};\nvar anf_arg2872 = R.mF($temp_lam2850,\"\");\n$step2619 = 13;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1887],anf_arg2872);\nbreak;\ncase 13: var anf_method_obj2881 = $ans2625;\nvar $temp_lam2874 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1888($v2875) {\nvar $step2873 = 0;\nvar $elidedFrames2879 = 0;\nvar $ans2876 = D;\nvar $al2877 = L[1888];\nif(R.isAR($v2875)) {\n$step2873 = $v2875.step;\n$al2877 = $v2875.from;\n$ans2876 = $v2875.ans;\n$elidedFrames2879 = $v2875.elidedFrames;\nv2875 = $v2875.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1888],1,$t,false);\n}\nvar v2875 = $v2875;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2876 = R.mC();\n}\nwhile(!R.isContinuation($ans2876)) {\nswitch($step2873) {\ncase 0: $step2873 = 1;\n$ans2876 = v2875;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2876;\ndefault: R.ffi.throwSpinnakerError(L[1888],$step2873);\n}\n}\nif($step2873 !== 1) {\n$ans2876.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2877,$temp_lam2874,$step2873,[v2875],[],$elidedFrames2879);\n}\nreturn $ans2876;\n};\nvar anf_arg2882 = R.mF($temp_lam2874,\"\");\n$step2619 = 14;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2881,\"or-else\",L[1889],anf_arg2882);\nbreak;\ncase 14: var pattern2949 = $ans2625;\nvar $temp_lam2884 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1890($v2885) {\nvar $step2883 = 0;\nvar $elidedFrames2889 = 0;\nvar $ans2886 = D;\nvar $al2887 = L[1890];\nif(R.isAR($v2885)) {\n$step2883 = $v2885.step;\n$al2887 = $v2885.from;\n$ans2886 = $v2885.ans;\n$elidedFrames2889 = $v2885.elidedFrames;\nv2885 = $v2885.args[0];\ntup2890 = $v2885.vars[0];\nparams2891 = $v2885.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1890],1,$t,false);\n}\nvar v2885 = $v2885;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2886 = R.mC();\n}\nwhile(!R.isContinuation($ans2886)) {\nswitch($step2883) {\ncase 0: var tup2890 = v2885;\n$step2883 = 1;\n$al2887 = L[1895];\nR.checkTupleBind(tup2890,2,L[1895]);\nbreak;\ncase 1: var params2891 = R.getTuple(tup2890,0,L[1891]);\nR.getTuple(tup2890,1,L[1892]);\n// caller optimization;\n$ans2886 = is$nothing3.app(params2891);\nvar anf_if2908 = $ans2886;\n$step2883 = R.checkPyretTrue(anf_if2908)?2:3;\nbreak;\ncase 2: $step2883 = 4;\nvar $temp_lam2893 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1893($w2894) {\nvar $step2892 = 0;\nvar $elidedFrames2898 = 0;\nvar $ans2895 = D;\nvar $al2896 = L[1893];\nif(R.isAR($w2894)) {\n$step2892 = $w2894.step;\n$al2896 = $w2894.from;\n$ans2895 = $w2894.ans;\n$elidedFrames2898 = $w2894.elidedFrames;\nw2894 = $w2894.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1893],1,$t,false);\n}\nvar w2894 = $w2894;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2895 = R.mC();\n}\nwhile(!R.isContinuation($ans2895)) {\nswitch($step2892) {\ncase 0: $step2892 = 1;\n$ans2895 = w2894;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2895;\ndefault: R.ffi.throwSpinnakerError(L[1893],$step2892);\n}\n}\nif($step2892 !== 1) {\n$ans2895.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2896,$temp_lam2893,$step2892,[w2894],[],$elidedFrames2898);\n}\nreturn $ans2895;\n};\n$ans2886 = R.mF($temp_lam2893,\"\");\nbreak;\ncase 3: $step2883 = 4;\nvar $temp_lam2901 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1894($arg_2902) {\nvar $step2900 = 0;\nvar $elidedFrames2906 = 0;\nvar $ans2903 = D;\nvar $al2904 = L[1894];\nif(R.isAR($arg_2902)) {\n$step2900 = $arg_2902.step;\n$al2904 = $arg_2902.from;\n$ans2903 = $arg_2902.ans;\n$elidedFrames2906 = $arg_2902.elidedFrames;\narg_2902 = $arg_2902.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1894],1,$t,false);\n}\nvar arg_2902 = $arg_2902;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2903 = R.mC();\n}\nwhile(!R.isContinuation($ans2903)) {\nswitch($step2900) {\ncase 0: $step2900 = 1;\n$al2904 = L[1894];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2904,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2903 = ED6.dict.values.dict[\"highlight\"].app(arg_2902,params2891,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2903;\ndefault: R.ffi.throwSpinnakerError(L[1894],$step2900);\n}\n}\nif($step2900 !== 1) {\n$ans2903.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2904,$temp_lam2901,$step2900,[arg_2902],[],$elidedFrames2906);\n}\nreturn $ans2903;\n};\n$ans2886 = R.mF($temp_lam2901,\"\");\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2886;\ndefault: R.ffi.throwSpinnakerError(L[1890],$step2883);\n}\n}\nif($step2883 !== 4) {\n$ans2886.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2887,$temp_lam2884,$step2883,[v2885],[tup2890,params2891],$elidedFrames2889);\n}\nreturn $ans2886;\n};\nvar anf_arg2911 = R.mF($temp_lam2884,\"\");\n$step2619 = 15;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1896],anf_arg2911);\nbreak;\ncase 15: var anf_method_obj2920 = $ans2625;\nvar $temp_lam2913 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1897($v2914) {\nvar $step2912 = 0;\nvar $elidedFrames2918 = 0;\nvar $ans2915 = D;\nvar $al2916 = L[1897];\nif(R.isAR($v2914)) {\n$step2912 = $v2914.step;\n$al2916 = $v2914.from;\n$ans2915 = $v2914.ans;\n$elidedFrames2918 = $v2914.elidedFrames;\nv2914 = $v2914.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1897],1,$t,false);\n}\nvar v2914 = $v2914;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2915 = R.mC();\n}\nwhile(!R.isContinuation($ans2915)) {\nswitch($step2912) {\ncase 0: $step2912 = 1;\n$ans2915 = v2914;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2915;\ndefault: R.ffi.throwSpinnakerError(L[1897],$step2912);\n}\n}\nif($step2912 !== 1) {\n$ans2915.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2916,$temp_lam2913,$step2912,[v2914],[],$elidedFrames2918);\n}\nreturn $ans2915;\n};\nvar anf_arg2921 = R.mF($temp_lam2913,\"\");\n$step2619 = 16;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2920,\"or-else\",L[1898],anf_arg2921);\nbreak;\ncase 16: var fields2969 = $ans2625;\nvar $temp_lam2923 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1899($v2924) {\nvar $step2922 = 0;\nvar $elidedFrames2928 = 0;\nvar $ans2925 = D;\nvar $al2926 = L[1899];\nif(R.isAR($v2924)) {\n$step2922 = $v2924.step;\n$al2926 = $v2924.from;\n$ans2925 = $v2924.ans;\n$elidedFrames2928 = $v2924.elidedFrames;\nv2924 = $v2924.args[0];\ntup2929 = $v2924.vars[0];\ndef$loc2931 = $v2924.vars[1];\nanf_arg2932 = $v2924.vars[2];\nanf_arg2933 = $v2924.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1899],1,$t,false);\n}\nvar v2924 = $v2924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2925 = R.mC();\n}\nwhile(!R.isContinuation($ans2925)) {\nswitch($step2922) {\ncase 0: var tup2929 = v2924;\n$step2922 = 1;\n$al2926 = L[1907];\nR.checkTupleBind(tup2929,2,L[1907]);\nbreak;\ncase 1: R.getTuple(tup2929,0,L[1900]);\nvar def$loc2931 = R.getTuple(tup2929,1,L[1901]);\n$step2922 = 2;\n$al2926 = L[1906];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,ED6.dict.values.dict[\"text\"]);\n}\n$ans2925 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 2: var anf_arg2932 = $ans2925;\n$ans2925 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1902],L[1903]);\nvar anf_fun2930 = $ans2925;\n$step2922 = 3;\n$al2926 = L[1903];\nif(typeof(anf_fun2930.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,anf_fun2930);\n}\n$ans2925 = anf_fun2930.app(def$loc2931);\nbreak;\ncase 3: var anf_arg2933 = $ans2925;\n$al2926 = L[1904];\nvar anf_if2935 = G(self2621,\"should-be-singleton\",L[1904]);\n$step2922 = R.checkPyretTrue(anf_if2935)?4:5;\nbreak;\ncase 4: $step2922 = 6;\n$ans2925 = (5);\nbreak;\ncase 5: $step2922 = 6;\n$ans2925 = (-5);\nbreak;\ncase 6: var anf_arg2934 = $ans2925;\n$step2922 = 7;\n$al2926 = L[1905];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2925 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2932,anf_arg2933,anf_arg2934);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2925;\ndefault: R.ffi.throwSpinnakerError(L[1899],$step2922);\n}\n}\nif($step2922 !== 7) {\n$ans2925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2926,$temp_lam2923,$step2922,[v2924],[tup2929,def$loc2931,anf_arg2932,anf_arg2933],$elidedFrames2928);\n}\nreturn $ans2925;\n};\nvar anf_arg2938 = R.mF($temp_lam2923,\"\");\n$step2619 = 17;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1908],anf_arg2938);\nbreak;\ncase 17: var anf_method_obj2939 = $ans2625;\n$step2619 = 18;\n$al2626 = L[1940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 18: var anf_arg2940 = $ans2625;\n$step2619 = 19;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2939,\"or-else\",L[1909],anf_arg2940);\nbreak;\ncase 19: var variant2973 = $ans2625;\n$ans2625 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1910],L[1911]);\nvar anf_fun2977 = $ans2625;\nvar $temp_lam2942 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1912($v2943) {\nvar $step2941 = 0;\nvar $elidedFrames2947 = 0;\nvar $ans2944 = D;\nvar $al2945 = L[1912];\nif(R.isAR($v2943)) {\n$step2941 = $v2943.step;\n$al2945 = $v2943.from;\n$ans2944 = $v2943.ans;\n$elidedFrames2947 = $v2943.elidedFrames;\nv2943 = $v2943.args[0];\nanf_fun2956 = $v2943.vars[0];\nanf_arg2952 = $v2943.vars[1];\nanf_arg2953 = $v2943.vars[2];\nanf_arg2957 = $v2943.vars[3];\ntup2948 = $v2943.vars[4];\npat$loc2955 = $v2943.vars[5];\nanf_fun2951 = $v2943.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1912],1,$t,false);\n}\nvar v2943 = $v2943;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2944 = R.mC();\n}\nwhile(!R.isContinuation($ans2944)) {\nswitch($step2941) {\ncase 0: var tup2948 = v2943;\n$step2941 = 1;\n$al2945 = L[1924];\nR.checkTupleBind(tup2948,2,L[1924]);\nbreak;\ncase 1: var pat$loc2955 = R.getTuple(tup2948,0,L[1913]);\nR.getTuple(tup2948,1,L[1914]);\n$ans2944 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1915],L[1916]);\nvar anf_fun2956 = $ans2944;\n$ans2944 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1917],L[1918]);\nvar anf_fun2951 = $ans2944;\n$step2941 = 2;\n$al2945 = L[1923];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\"Matching this \"));\nbreak;\ncase 2: var anf_arg2952 = $ans2944;\n$step2941 = 3;\n$al2945 = L[1922];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 3: var anf_arg2950 = $ans2944;\n$step2941 = 4;\n$al2945 = L[1921];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,pattern2949);\n}\n$ans2944 = pattern2949.app(anf_arg2950);\nbreak;\ncase 4: var anf_arg2953 = $ans2944;\n$step2941 = 5;\n$al2945 = L[1920];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 5: var anf_arg2954 = $ans2944;\n$step2941 = 6;\n$al2945 = L[1918];\nif(typeof(anf_fun2951.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,anf_fun2951);\n}\n$ans2944 = anf_fun2951.app(anf_arg2952,anf_arg2953,anf_arg2954);\nbreak;\ncase 6: var anf_arg2957 = $ans2944;\n$step2941 = 7;\n$al2945 = L[1919];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"cmcode\"].app(pat$loc2955);\nbreak;\ncase 7: var anf_arg2958 = $ans2944;\n$step2941 = 8;\n$al2945 = L[1916];\nif(typeof(anf_fun2956.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,anf_fun2956);\n}\n$ans2944 = anf_fun2956.app(anf_arg2957,anf_arg2958);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2944;\ndefault: R.ffi.throwSpinnakerError(L[1912],$step2941);\n}\n}\nif($step2941 !== 8) {\n$ans2944.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2945,$temp_lam2942,$step2941,[v2943],[anf_fun2956,anf_arg2952,anf_arg2953,anf_arg2957,tup2948,pat$loc2955,anf_fun2951],$elidedFrames2947);\n}\nreturn $ans2944;\n};\nvar anf_arg2961 = R.mF($temp_lam2942,\"\");\n$step2619 = 20;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1925],anf_arg2961);\nbreak;\ncase 20: var anf_method_obj2964 = $ans2625;\n$ans2625 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1926],L[1927]);\nvar anf_fun2962 = $ans2625;\n$step2619 = 21;\n$al2626 = L[1939];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch pattern errored.\"));\nbreak;\ncase 21: var anf_arg2963 = $ans2625;\n$step2619 = 22;\n$al2626 = L[1927];\nif(typeof(anf_fun2962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,anf_fun2962);\n}\n$ans2625 = anf_fun2962.app(anf_arg2963);\nbreak;\ncase 22: var anf_arg2965 = $ans2625;\n$step2619 = 23;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2964,\"or-else\",L[1928],anf_arg2965);\nbreak;\ncase 23: var anf_arg2978 = $ans2625;\n$step2619 = 24;\n$al2626 = L[1938];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"branch\"));\nbreak;\ncase 24: var anf_arg2966 = $ans2625;\n$step2619 = 25;\n$al2626 = L[1937];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,pattern2949);\n}\n$ans2625 = pattern2949.app(anf_arg2966);\nbreak;\ncase 25: var anf_arg2971 = $ans2625;\n$step2619 = 26;\n$al2626 = L[1936];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"binding list\"));\nbreak;\ncase 26: var anf_arg2968 = $ans2625;\n$step2619 = 27;\n$al2626 = L[1935];\nif(typeof(bindings2967.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,bindings2967);\n}\n$ans2625 = bindings2967.app(anf_arg2968);\nbreak;\ncase 27: var anf_arg2972 = $ans2625;\n$step2619 = 28;\n$al2626 = L[1934];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"fields list\"));\nbreak;\ncase 28: var anf_arg2970 = $ans2625;\n$step2619 = 29;\n$al2626 = L[1933];\nif(typeof(fields2969.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,fields2969);\n}\n$ans2625 = fields2969.app(anf_arg2970);\nbreak;\ncase 29: var anf_arg2974 = $ans2625;\n$step2619 = 30;\n$al2626 = L[1932];\nif(typeof(observation$prose2793.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,observation$prose2793.$var);\n}\n$ans2625 = observation$prose2793.$var.app(anf_arg2971,anf_arg2972,variant2973,anf_arg2974);\nbreak;\ncase 30: var anf_arg2979 = $ans2625;\n$step2619 = 31;\n$al2626 = L[1931];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 31: var anf_arg2975 = $ans2625;\n$step2619 = 32;\n$al2626 = L[1930];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,pattern2949);\n}\n$ans2625 = pattern2949.app(anf_arg2975);\nbreak;\ncase 32: var anf_arg2976 = $ans2625;\n$step2619 = 33;\n$al2626 = L[1929];\nif(typeof(explanation$prose2808.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,explanation$prose2808.$var);\n}\n$ans2625 = explanation$prose2808.$var.app(anf_arg2976,variant2973);\nbreak;\ncase 33: var anf_arg2980 = $ans2625;\n$step2619 = 34;\n$al2626 = L[1911];\nif(typeof(anf_fun2977.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,anf_fun2977);\n}\n$ans2625 = anf_fun2977.app(anf_arg2978,anf_arg2979,anf_arg2980);\nbreak;\ncase 34: ++R.GAS;\nreturn $ans2625;\ndefault: R.ffi.throwSpinnakerError(L[1791],$step2619);\n}\n}\nif($step2619 !== 34) {\n$ans2625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2626,$temp_full2620,$step2619,[self2621,maybe$stack$loc2622,src$available2623,maybe$ast2624],[fields2969,anf_fun2977,anf_arg2971,anf_arg2972,bindings2967,anf_arg2978,observation$prose2793,anf_arg2979,explanation$prose2808,locs$from$constructor$ast2727,pattern2949,variant2973,destructured$definition2744,anf_method_obj2964,destructured$pattern2837,locs$from$cases$ast2663,anf_fun2962,anf_method_obj2939],$elidedFrames2628);\n}\nreturn $ans2625;\n};\nvar anf_variant_member5925 = R.makeMethod3($temp_full2620,\"render-fancy-reason\");\nvar $temp_full2983 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1947($self2984) {\nvar $step2982 = 0;\nvar $elidedFrames2988 = 0;\nvar $ans2985 = D;\nvar $al2986 = L[1947];\nif(R.isAR($self2984)) {\n$step2982 = $self2984.step;\n$al2986 = $self2984.from;\n$ans2985 = $self2984.ans;\n$elidedFrames2988 = $self2984.elidedFrames;\nself2984 = $self2984.args[0];\nanf_arg3001 = $self2984.vars[0];\nanf_arg3002 = $self2984.vars[1];\nanf_arg2992 = $self2984.vars[2];\nanf_arg2993 = $self2984.vars[3];\nanf_arg2996 = $self2984.vars[4];\nanf_fun3000 = $self2984.vars[5];\nanf_fun2991 = $self2984.vars[6];\nanf_fun3004 = $self2984.vars[7];\nanf_fun2995 = $self2984.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1947],1,$t,true);\n}\nvar self2984 = $self2984;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2985 = R.mC();\n}\nwhile(!R.isContinuation($ans2985)) {\nswitch($step2982) {\ncase 0: $al2986 = L[1948];\nvar anf_method_obj2989 = G(self2984,\"branch-loc\",L[1948]);\n$step2982 = 1;\n$ans2985 = R.maybeMethodCall0(anf_method_obj2989,\"is-builtin\",L[1949]);\nbreak;\ncase 1: var anf_if3007 = $ans2985;\n$step2982 = R.checkPyretTrue(anf_if3007)?2:10;\nbreak;\ncase 2: $ans2985 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1950],L[1951]);\nvar anf_fun2995 = $ans2985;\n$ans2985 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1952],L[1953]);\nvar anf_fun2991 = $ans2985;\n$step2982 = 3;\n$al2986 = L[1960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\"A cases branch in \"));\nbreak;\ncase 3: var anf_arg2992 = $ans2985;\n$al2986 = L[1954];\nvar anf_arg2990 = G(self2984,\"branch-loc\",L[1954]);\n$step2982 = 4;\n$al2986 = L[1959];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"loc\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"loc\"].app(anf_arg2990);\nbreak;\ncase 4: var anf_arg2993 = $ans2985;\n$al2986 = L[1955];\nvar anf_if2998 = G(self2984,\"should-be-singleton\",L[1955]);\n$step2982 = R.checkPyretTrue(anf_if2998)?5:6;\nbreak;\ncase 5: $step2982 = 7;\n$al2986 = L[1957];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" has an argument list but the corresponding variant is a singleton.\"));\nbreak;\ncase 6: $step2982 = 7;\n$al2986 = L[1958];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" doesn't have an argument list in its pattern, but the corresponding variant is not a singleton.\"));\nbreak;\ncase 7: var anf_arg2994 = $ans2985;\n$step2982 = 8;\n$al2986 = L[1953];\nif(typeof(anf_fun2991.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun2991);\n}\n$ans2985 = anf_fun2991.app(anf_arg2992,anf_arg2993,anf_arg2994);\nbreak;\ncase 8: var anf_arg2996 = $ans2985;\n$step2982 = 9;\n$al2986 = L[1956];\n// omitting isFunction check;\n$ans2985 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg2997 = $ans2985;\n$step2982 = 17;\n$al2986 = L[1951];\nif(typeof(anf_fun2995.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun2995);\n}\n$ans2985 = anf_fun2995.app(anf_arg2996,anf_arg2997);\nbreak;\ncase 10: $ans2985 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1961],L[1962]);\nvar anf_fun3004 = $ans2985;\n$ans2985 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1963],L[1964]);\nvar anf_fun3000 = $ans2985;\n$step2982 = 11;\n$al2986 = L[1970];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\"The cases branch in \"));\nbreak;\ncase 11: var anf_arg3001 = $ans2985;\n$al2986 = L[1965];\nvar anf_arg2999 = G(self2984,\"branch-loc\",L[1965]);\n$step2982 = 12;\n$al2986 = L[1969];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"loc\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"loc\"].app(anf_arg2999);\nbreak;\ncase 12: var anf_arg3002 = $ans2985;\n$al2986 = L[1966];\nvar anf_if3006 = G(self2984,\"should-be-singleton\",L[1966]);\n$step2982 = R.checkPyretTrue(anf_if3006)?13:14;\nbreak;\ncase 13: $step2982 = 15;\n$al2986 = L[1967];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" has an argument list but the corresponding variant is a singleton.\"));\nbreak;\ncase 14: $step2982 = 15;\n$al2986 = L[1968];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" doesn't have an argument list in its pattern, but the corresponding variant is not a singleton.\"));\nbreak;\ncase 15: var anf_arg3003 = $ans2985;\n$step2982 = 16;\n$al2986 = L[1964];\nif(typeof(anf_fun3000.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun3000);\n}\n$ans2985 = anf_fun3000.app(anf_arg3001,anf_arg3002,anf_arg3003);\nbreak;\ncase 16: var anf_arg3005 = $ans2985;\n$step2982 = 17;\n$al2986 = L[1962];\nif(typeof(anf_fun3004.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun3004);\n}\n$ans2985 = anf_fun3004.app(anf_arg3005);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans2985;\ndefault: R.ffi.throwSpinnakerError(L[1947],$step2982);\n}\n}\nif($step2982 !== 17) {\n$ans2985.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2986,$temp_full2983,$step2982,[self2984],[anf_arg3001,anf_arg3002,anf_arg2992,anf_arg2993,anf_arg2996,anf_fun3000,anf_fun2991,anf_fun3004,anf_fun2995],$elidedFrames2988);\n}\nreturn $ans2985;\n};\nvar anf_variant_member5926 = R.makeMethod0($temp_full2983,\"render-reason\");\nvar $temp_full3010 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1971($self3011,$maybe$stack$loc3012,$src$available3013,$maybe$ast3014) {\nvar $step3009 = 0;\nvar $elidedFrames3018 = 0;\nvar $ans3015 = D;\nvar $al3016 = L[1971];\nif(R.isAR($self3011)) {\n$step3009 = $self3011.step;\n$al3016 = $self3011.from;\n$ans3015 = $self3011.ans;\n$elidedFrames3018 = $self3011.elidedFrames;\nself3011 = $self3011.args[0];\nmaybe$stack$loc3012 = $self3011.args[1];\nsrc$available3013 = $self3011.args[2];\nmaybe$ast3014 = $self3011.args[3];\nanf_arg3296 = $self3011.vars[0];\nanf_arg3297 = $self3011.vars[1];\nanf_fun3306 = $self3011.vars[2];\nanf_arg3303 = $self3011.vars[3];\nobservation$prose3140 = $self3011.vars[4];\nanf_arg3304 = $self3011.vars[5];\nanf_arg3307 = $self3011.vars[6];\nanf_arg3308 = $self3011.vars[7];\nanf_method_obj3262 = $self3011.vars[8];\nvariant3298 = $self3011.vars[9];\ndestructured$pattern3174 = $self3011.vars[10];\nanf_method_obj3287 = $self3011.vars[11];\nfields3294 = $self3011.vars[12];\ndestructured$definition3237 = $self3011.vars[13];\nanf_fun3285 = $self3011.vars[14];\nlocs$from$cases$ast3065 = $self3011.vars[15];\nbindings3291 = $self3011.vars[16];\nexplanation$prose3154 = $self3011.vars[17];\nlocs$from$constructor$ast3094 = $self3011.vars[18];\npattern3272 = $self3011.vars[19];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1971],4,$t,true);\n}\nvar self3011 = $self3011;\nvar maybe$stack$loc3012 = $maybe$stack$loc3012;\nvar src$available3013 = $src$available3013;\nvar maybe$ast3014 = $maybe$ast3014;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3015 = R.mC();\n}\nwhile(!R.isContinuation($ans3015)) {\nswitch($step3009) {\ncase 0: $al3016 = L[1972];\nvar anf_arg3019 = G(self3011,\"num-args\",L[1972]);\n$step3009 = 1;\n$al3016 = L[2105];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,equal$always1);\n}\n$ans3015 = equal$always1.app(anf_arg3019,(1));\nbreak;\ncase 1: var anf_if3311 = $ans3015;\n$step3009 = R.checkPyretTrue(anf_if3311)?2:3;\nbreak;\ncase 2: $step3009 = 4;\n$ans3015 = (\" was\");\nbreak;\ncase 3: $step3009 = 4;\n$ans3015 = (\" were\");\nbreak;\ncase 4: var locs$from$cases$ast3065 = {\"$var\":D};\nvar locs$from$constructor$ast3094 = {\"$var\":D};\nvar $temp_lam3021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1973($ast3022) {\nvar $step3020 = 0;\nvar $elidedFrames3026 = 0;\nvar $ans3023 = D;\nvar $al3024 = L[1973];\nif(R.isAR($ast3022)) {\n$step3020 = $ast3022.step;\n$al3024 = $ast3022.from;\n$ans3023 = $ast3022.ans;\n$elidedFrames3026 = $ast3022.elidedFrames;\nast3022 = $ast3022.args[0];\ncases3044 = $ast3022.vars[0];\npat$loc3055 = $ast3022.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1973],1,$t,false);\n}\nvar ast3022 = $ast3022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3023 = R.mC();\n}\nwhile(!R.isContinuation($ans3023)) {\nswitch($step3020) {\ncase 0: var adjust3043 = {\"$var\":D};\nvar $temp_lam3028 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1974($fun$loc3029,$args3030) {\nvar $step3027 = 0;\nvar $elidedFrames3034 = 0;\nvar $ans3031 = D;\nvar $al3032 = L[1974];\nif(R.isAR($fun$loc3029)) {\n$step3027 = $fun$loc3029.step;\n$al3032 = $fun$loc3029.from;\n$ans3031 = $fun$loc3029.ans;\n$elidedFrames3034 = $fun$loc3029.elidedFrames;\nfun$loc3029 = $fun$loc3029.args[0];\nargs3030 = $fun$loc3029.args[1];\nanf_fun3038 = $fun$loc3029.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1974],2,$t,false);\n}\nvar fun$loc3029 = $fun$loc3029;\nvar args3030 = $args3030;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3031 = R.mC();\n}\nwhile(!R.isContinuation($ans3031)) {\nswitch($step3027) {\ncase 0: $al3032 = L[1975];\nvar anf_arg3035 = G(self3011,\"num-args\",L[1975]);\n$step3027 = 1;\n$al3032 = L[1981];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3032,equal$always1);\n}\n$ans3031 = equal$always1.app(anf_arg3035,(0));\nbreak;\ncase 1: var anf_if3040 = $ans3031;\n$step3027 = R.checkPyretTrue(anf_if3040)?2:5;\nbreak;\ncase 2: $ans3031 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1976],L[1977]);\nvar anf_fun3038 = $ans3031;\n$step3027 = 3;\n$ans3031 = R.maybeMethodCall0(fun$loc3029,\"at-end\",L[1978]);\nbreak;\ncase 3: var anf_method_obj3036 = $ans3031;\n$al3032 = L[1979];\nvar anf_arg3037 = G(ast3022,\"l\",L[1979]);\n$step3027 = 4;\n$ans3031 = R.maybeMethodCall1(anf_method_obj3036,\"upto-end\",L[1980],anf_arg3037);\nbreak;\ncase 4: var anf_arg3039 = $ans3031;\n$step3027 = 6;\n$al3032 = L[1977];\nif(typeof(anf_fun3038.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3032,anf_fun3038);\n}\n$ans3031 = anf_fun3038.app(anf_arg3039);\nbreak;\ncase 5: $step3027 = 6;\n$ans3031 = args3030;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3031;\ndefault: R.ffi.throwSpinnakerError(L[1974],$step3027);\n}\n}\nif($step3027 !== 6) {\n$ans3031.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3032,$temp_lam3028,$step3027,[fun$loc3029,args3030],[anf_fun3038],$elidedFrames3034);\n}\nreturn $ans3031;\n};\nvar anf_assign3042 = R.mF($temp_lam3028,\"adjust\");\nadjust3043.$var = anf_assign3042;\nR.nothing;\nvar cases3044 = ast3022;\n$al3024 = L[1985];\n$step3020 = $cases_dispatch3062[cases3044.$name] || 3;\nbreak;\ncase 1: if(cases3044.$arity !== 5) {\nif(cases3044.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1984],5,cases3044.$arity,L[1985],cases3044.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1984],true,L[1985],cases3044.$loc);\n}\n}\nvar $fn3058 = cases3044.$constructor.$fieldNames;\nR.dF(cases3044.dict[$fn3058[0]],cases3044.$mut_fields_mask[0],false);\nvar pat$loc3055 = R.dF(cases3044.dict[$fn3058[1]],cases3044.$mut_fields_mask[1],false);\nR.dF(cases3044.dict[$fn3058[2]],cases3044.$mut_fields_mask[2],false);\nvar args3053 = R.dF(cases3044.dict[$fn3058[3]],cases3044.$mut_fields_mask[3],false);\nR.dF(cases3044.dict[$fn3058[4]],cases3044.$mut_fields_mask[4],false);\nvar $temp_lam3046 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1982($recv_3047) {\nvar $step3045 = 0;\nvar $elidedFrames3051 = 0;\nvar $ans3048 = D;\nvar $al3049 = L[1982];\nif(R.isAR($recv_3047)) {\n$step3045 = $recv_3047.step;\n$al3049 = $recv_3047.from;\n$ans3048 = $recv_3047.ans;\n$elidedFrames3051 = $recv_3047.elidedFrames;\nrecv_3047 = $recv_3047.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1982],1,$t,false);\n}\nvar recv_3047 = $recv_3047;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3048 = R.mC();\n}\nwhile(!R.isContinuation($ans3048)) {\nswitch($step3045) {\ncase 0: $step3045 = 1;\n$al3049 = L[1982];\n$ans3048 = G(recv_3047,\"l\",L[1982]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3048;\ndefault: R.ffi.throwSpinnakerError(L[1982],$step3045);\n}\n}\nif($step3045 !== 1) {\n$ans3048.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3049,$temp_lam3046,$step3045,[recv_3047],[],$elidedFrames3051);\n}\nreturn $ans3048;\n};\nvar anf_arg3054 = R.mF($temp_lam3046,\"\");\n$step3020 = 2;\n$ans3023 = R.maybeMethodCall1(args3053,\"map\",L[1983],anf_arg3054);\nbreak;\ncase 2: var anf_tuple_fields3056 = $ans3023;\n$step3020 = 4;\n$ans3023 = R.makeTuple([pat$loc3055,anf_tuple_fields3056]);\nbreak;\ncase 3: $ans3023 = R.throwNoCasesMatched(L[1985],cases3044);\n$step3020 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3023;\ndefault: R.ffi.throwSpinnakerError(L[1973],$step3020);\n}\n}\nif($step3020 !== 4) {\n$ans3023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3024,$temp_lam3021,$step3020,[ast3022],[cases3044,pat$loc3055],$elidedFrames3026);\n}\nreturn $ans3023;\n};\nvar anf_assign3064 = R.mF($temp_lam3021,\"locs-from-cases-ast\");\nlocs$from$cases$ast3065.$var = anf_assign3064;\nR.nothing;\nvar $temp_lam3067 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1986($ast3068) {\nvar $step3066 = 0;\nvar $elidedFrames3072 = 0;\nvar $ans3069 = D;\nvar $al3070 = L[1986];\nif(R.isAR($ast3068)) {\n$step3066 = $ast3068.step;\n$al3070 = $ast3068.from;\n$ans3069 = $ast3068.ans;\n$elidedFrames3072 = $ast3068.elidedFrames;\nast3068 = $ast3068.args[0];\ncases3073 = $ast3068.vars[0];\nconstr$loc3085 = $ast3068.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1986],1,$t,false);\n}\nvar ast3068 = $ast3068;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3069 = R.mC();\n}\nwhile(!R.isContinuation($ans3069)) {\nswitch($step3066) {\ncase 0: var cases3073 = ast3068;\n$al3070 = L[1990];\n$step3066 = $cases_dispatch3091[cases3073.$name] || 3;\nbreak;\ncase 1: if(cases3073.$arity !== 5) {\nif(cases3073.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1989],5,cases3073.$arity,L[1990],cases3073.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1989],true,L[1990],cases3073.$loc);\n}\n}\nvar $fn3087 = cases3073.$constructor.$fieldNames;\nR.dF(cases3073.dict[$fn3087[0]],cases3073.$mut_fields_mask[0],false);\nvar constr$loc3085 = R.dF(cases3073.dict[$fn3087[1]],cases3073.$mut_fields_mask[1],false);\nR.dF(cases3073.dict[$fn3087[2]],cases3073.$mut_fields_mask[2],false);\nvar members3082 = R.dF(cases3073.dict[$fn3087[3]],cases3073.$mut_fields_mask[3],false);\nR.dF(cases3073.dict[$fn3087[4]],cases3073.$mut_fields_mask[4],false);\nvar $temp_lam3075 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1987($recv_3076) {\nvar $step3074 = 0;\nvar $elidedFrames3080 = 0;\nvar $ans3077 = D;\nvar $al3078 = L[1987];\nif(R.isAR($recv_3076)) {\n$step3074 = $recv_3076.step;\n$al3078 = $recv_3076.from;\n$ans3077 = $recv_3076.ans;\n$elidedFrames3080 = $recv_3076.elidedFrames;\nrecv_3076 = $recv_3076.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1987],1,$t,false);\n}\nvar recv_3076 = $recv_3076;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3077 = R.mC();\n}\nwhile(!R.isContinuation($ans3077)) {\nswitch($step3074) {\ncase 0: $step3074 = 1;\n$al3078 = L[1987];\n$ans3077 = G(recv_3076,\"l\",L[1987]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3077;\ndefault: R.ffi.throwSpinnakerError(L[1987],$step3074);\n}\n}\nif($step3074 !== 1) {\n$ans3077.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3078,$temp_lam3075,$step3074,[recv_3076],[],$elidedFrames3080);\n}\nreturn $ans3077;\n};\nvar anf_arg3083 = R.mF($temp_lam3075,\"\");\n$step3066 = 2;\n$ans3069 = R.maybeMethodCall1(members3082,\"map\",L[1988],anf_arg3083);\nbreak;\ncase 2: var anf_tuple_fields3084 = $ans3069;\n$step3066 = 4;\n$ans3069 = R.makeTuple([anf_tuple_fields3084,constr$loc3085]);\nbreak;\ncase 3: $ans3069 = R.throwNoCasesMatched(L[1990],cases3073);\n$step3066 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3069;\ndefault: R.ffi.throwSpinnakerError(L[1986],$step3066);\n}\n}\nif($step3066 !== 4) {\n$ans3069.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3070,$temp_lam3067,$step3066,[ast3068],[cases3073,constr$loc3085],$elidedFrames3072);\n}\nreturn $ans3069;\n};\nvar anf_assign3093 = R.mF($temp_lam3067,\"locs-from-constructor-ast\");\nlocs$from$constructor$ast3094.$var = anf_assign3093;\nR.nothing;\n$al3016 = L[1991];\nvar anf_arg3095 = G(self3011,\"branch-loc\",L[1991]);\n$step3009 = 5;\n$al3016 = L[2104];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,O8.dict.values.dict[\"some\"]);\n}\n$ans3015 = O8.dict.values.dict[\"some\"].app(anf_arg3095);\nbreak;\ncase 5: var arg_3096 = $ans3015;\n$step3009 = 6;\n$al3016 = L[2103];\n// omitting isFunction check;\n$ans3015 = and$if176.$var.app(src$available3013,arg_3096);\nbreak;\ncase 6: var arg_3097 = $ans3015;\n$step3009 = 7;\n$al3016 = L[2102];\n// omitting isFunction check;\n$ans3015 = and$maybe193.$var.app(maybe$ast3014,arg_3097);\nbreak;\ncase 7: var anf_method_obj3098 = $ans3015;\n$step3009 = 8;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3098,\"and-then\",L[1992],locs$from$cases$ast3065.$var);\nbreak;\ncase 8: var destructured$pattern3174 = $ans3015;\n$al3016 = L[1993];\nvar anf_arg3099 = G(self3011,\"constructor-loc\",L[1993]);\n$step3009 = 9;\n$al3016 = L[2101];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,O8.dict.values.dict[\"some\"]);\n}\n$ans3015 = O8.dict.values.dict[\"some\"].app(anf_arg3099);\nbreak;\ncase 9: var arg_3100 = $ans3015;\n$step3009 = 10;\n$al3016 = L[2100];\n// omitting isFunction check;\n$ans3015 = and$if176.$var.app(src$available3013,arg_3100);\nbreak;\ncase 10: var arg_3101 = $ans3015;\n$step3009 = 11;\n$al3016 = L[2099];\n// omitting isFunction check;\n$ans3015 = and$maybe193.$var.app(maybe$ast3014,arg_3101);\nbreak;\ncase 11: var anf_method_obj3102 = $ans3015;\n$step3009 = 12;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3102,\"and-then\",L[1994],locs$from$constructor$ast3094.$var);\nbreak;\ncase 12: var destructured$definition3237 = $ans3015;\nvar pattern$prose3117 = {\"$var\":D};\nvar observation$prose3140 = {\"$var\":D};\nvar explanation$prose3154 = {\"$var\":D};\nvar $temp_lam3104 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1995($pattern3105,$bindings3106) {\nvar $step3103 = 0;\nvar $elidedFrames3110 = 0;\nvar $ans3107 = D;\nvar $al3108 = L[1995];\nif(R.isAR($pattern3105)) {\n$step3103 = $pattern3105.step;\n$al3108 = $pattern3105.from;\n$ans3107 = $pattern3105.ans;\n$elidedFrames3110 = $pattern3105.elidedFrames;\npattern3105 = $pattern3105.args[0];\nbindings3106 = $pattern3105.args[1];\nanf_fun3111 = $pattern3105.vars[0];\nanf_arg3112 = $pattern3105.vars[1];\nanf_arg3113 = $pattern3105.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1995],2,$t,false);\n}\nvar pattern3105 = $pattern3105;\nvar bindings3106 = $bindings3106;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3107 = R.mC();\n}\nwhile(!R.isContinuation($ans3107)) {\nswitch($step3103) {\ncase 0: $ans3107 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1996],L[1997]);\nvar anf_fun3111 = $ans3107;\n$step3103 = 1;\n$al3108 = L[2000];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg3112 = $ans3107;\n$step3103 = 2;\n$al3108 = L[1999];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 2: var anf_arg3113 = $ans3107;\n$step3103 = 3;\n$al3108 = L[1998];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg3114 = $ans3107;\n$step3103 = 4;\n$al3108 = L[1997];\nif(typeof(anf_fun3111.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,anf_fun3111);\n}\n$ans3107 = anf_fun3111.app(anf_arg3112,pattern3105,anf_arg3113,bindings3106,anf_arg3114);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3107;\ndefault: R.ffi.throwSpinnakerError(L[1995],$step3103);\n}\n}\nif($step3103 !== 4) {\n$ans3107.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3108,$temp_lam3104,$step3103,[pattern3105,bindings3106],[anf_fun3111,anf_arg3112,anf_arg3113],$elidedFrames3110);\n}\nreturn $ans3107;\n};\nvar anf_assign3116 = R.mF($temp_lam3104,\"pattern-prose\");\npattern$prose3117.$var = anf_assign3116;\nR.nothing;\nvar $temp_lam3119 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2001($pattern3120,$bindings3121,$variant3122,$members3123) {\nvar $step3118 = 0;\nvar $elidedFrames3127 = 0;\nvar $ans3124 = D;\nvar $al3125 = L[2001];\nif(R.isAR($pattern3120)) {\n$step3118 = $pattern3120.step;\n$al3125 = $pattern3120.from;\n$ans3124 = $pattern3120.ans;\n$elidedFrames3127 = $pattern3120.elidedFrames;\npattern3120 = $pattern3120.args[0];\nbindings3121 = $pattern3120.args[1];\nvariant3122 = $pattern3120.args[2];\nmembers3123 = $pattern3120.args[3];\nanf_fun3129 = $pattern3120.vars[0];\nanf_array3136 = $pattern3120.vars[1];\nanf_arg3133 = $pattern3120.vars[2];\nanf_fun3132 = $pattern3120.vars[3];\nanf_fun3135 = $pattern3120.vars[4];\nanf_array3130 = $pattern3120.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2001],4,$t,false);\n}\nvar pattern3120 = $pattern3120;\nvar bindings3121 = $bindings3121;\nvar variant3122 = $variant3122;\nvar members3123 = $members3123;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3124 = R.mC();\n}\nwhile(!R.isContinuation($ans3124)) {\nswitch($step3118) {\ncase 0: $al3125 = L[2002];\nvar anf_arg3128 = G(self3011,\"constructor-loc\",L[2002]);\n$step3118 = 1;\n$al3125 = L[2020];\nif(typeof(src$available3013.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,src$available3013);\n}\n$ans3124 = src$available3013.app(anf_arg3128);\nbreak;\ncase 1: var anf_if3137 = $ans3124;\n$step3118 = R.checkPyretTrue(anf_if3137)?2:10;\nbreak;\ncase 2: $ans3124 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2003],L[2004]);\nvar anf_fun3132 = $ans3124;\n$ans3124 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2005],L[2006]);\nvar anf_fun3129 = $ans3124;\n$ans3124 = R.makeArrayN((9));\nvar anf_array3130 = $ans3124;\n$step3118 = 3;\n$al3125 = L[2013];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: anf_array3130[0] = $ans3124;\nanf_array3130[1] = pattern3120;\n$step3118 = 4;\n$al3125 = L[2012];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 4: anf_array3130[2] = $ans3124;\nanf_array3130[3] = bindings3121;\n$step3118 = 5;\n$al3125 = L[2011];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 5: anf_array3130[4] = $ans3124;\nanf_array3130[5] = variant3122;\n$step3118 = 6;\n$al3125 = L[2010];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" that has \"));\nbreak;\ncase 6: anf_array3130[6] = $ans3124;\nanf_array3130[7] = members3123;\n$step3118 = 7;\n$al3125 = L[2009];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: anf_array3130[8] = $ans3124;\n$step3118 = 8;\n$al3125 = L[2006];\nif(typeof(anf_fun3129.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3129);\n}\n$ans3124 = anf_fun3129.app(anf_array3130);\nbreak;\ncase 8: var anf_arg3133 = $ans3124;\n$al3125 = L[2007];\nvar anf_arg3131 = G(self3011,\"constructor-loc\",L[2007]);\n$step3118 = 9;\n$al3125 = L[2008];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg3131);\nbreak;\ncase 9: var anf_arg3134 = $ans3124;\n$step3118 = 15;\n$al3125 = L[2004];\nif(typeof(anf_fun3132.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3132);\n}\n$ans3124 = anf_fun3132.app(anf_arg3133,anf_arg3134);\nbreak;\ncase 10: $ans3124 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2014],L[2015]);\nvar anf_fun3135 = $ans3124;\n$ans3124 = R.makeArrayN((7));\nvar anf_array3136 = $ans3124;\n$step3118 = 11;\n$al3125 = L[2019];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array3136[0] = $ans3124;\nanf_array3136[1] = pattern3120;\n$step3118 = 12;\n$al3125 = L[2018];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" refers to a \"));\nbreak;\ncase 12: anf_array3136[2] = $ans3124;\nanf_array3136[3] = variant3122;\n$step3118 = 13;\n$al3125 = L[2017];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" that has \"));\nbreak;\ncase 13: anf_array3136[4] = $ans3124;\nanf_array3136[5] = members3123;\n$step3118 = 14;\n$al3125 = L[2016];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 14: anf_array3136[6] = $ans3124;\n$step3118 = 15;\n$al3125 = L[2015];\nif(typeof(anf_fun3135.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3135);\n}\n$ans3124 = anf_fun3135.app(anf_array3136);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3124;\ndefault: R.ffi.throwSpinnakerError(L[2001],$step3118);\n}\n}\nif($step3118 !== 15) {\n$ans3124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3125,$temp_lam3119,$step3118,[pattern3120,bindings3121,variant3122,members3123],[anf_fun3129,anf_array3136,anf_arg3133,anf_fun3132,anf_fun3135,anf_array3130],$elidedFrames3127);\n}\nreturn $ans3124;\n};\nvar anf_assign3139 = R.mF($temp_lam3119,\"observation-prose\");\nobservation$prose3140.$var = anf_assign3139;\nR.nothing;\nvar $temp_lam3142 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2021($pattern3143,$parameters3144,$bindings3145) {\nvar $step3141 = 0;\nvar $elidedFrames3149 = 0;\nvar $ans3146 = D;\nvar $al3147 = L[2021];\nif(R.isAR($pattern3143)) {\n$step3141 = $pattern3143.step;\n$al3147 = $pattern3143.from;\n$ans3146 = $pattern3143.ans;\n$elidedFrames3149 = $pattern3143.elidedFrames;\npattern3143 = $pattern3143.args[0];\nparameters3144 = $pattern3143.args[1];\nbindings3145 = $pattern3143.args[2];\nanf_fun3150 = $pattern3143.vars[0];\nanf_array3151 = $pattern3143.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2021],3,$t,false);\n}\nvar pattern3143 = $pattern3143;\nvar parameters3144 = $parameters3144;\nvar bindings3145 = $bindings3145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3146 = R.mC();\n}\nwhile(!R.isContinuation($ans3146)) {\nswitch($step3141) {\ncase 0: $ans3146 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2022],L[2023]);\nvar anf_fun3150 = $ans3146;\n$ans3146 = R.makeArrayN((7));\nvar anf_array3151 = $ans3146;\n$step3141 = 1;\n$al3147 = L[2027];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: anf_array3151[0] = $ans3146;\nanf_array3151[1] = pattern3143;\n$step3141 = 2;\n$al3147 = L[2026];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array3151[2] = $ans3146;\nanf_array3151[3] = parameters3144;\n$step3141 = 3;\n$al3147 = L[2025];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array3151[4] = $ans3146;\nanf_array3151[5] = bindings3145;\n$step3141 = 4;\n$al3147 = L[2024];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array3151[6] = $ans3146;\n$step3141 = 5;\n$al3147 = L[2023];\nif(typeof(anf_fun3150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,anf_fun3150);\n}\n$ans3146 = anf_fun3150.app(anf_array3151);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3146;\ndefault: R.ffi.throwSpinnakerError(L[2021],$step3141);\n}\n}\nif($step3141 !== 5) {\n$ans3146.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3147,$temp_lam3142,$step3141,[pattern3143,parameters3144,bindings3145],[anf_fun3150,anf_array3151],$elidedFrames3149);\n}\nreturn $ans3146;\n};\nvar anf_assign3153 = R.mF($temp_lam3142,\"explanation-prose\");\nexplanation$prose3154.$var = anf_assign3153;\nR.nothing;\nvar $temp_lam3156 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2028($v3157) {\nvar $step3155 = 0;\nvar $elidedFrames3161 = 0;\nvar $ans3158 = D;\nvar $al3159 = L[2028];\nif(R.isAR($v3157)) {\n$step3155 = $v3157.step;\n$al3159 = $v3157.from;\n$ans3158 = $v3157.ans;\n$elidedFrames3161 = $v3157.elidedFrames;\nv3157 = $v3157.args[0];\ntup3162 = $v3157.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2028],1,$t,false);\n}\nvar v3157 = $v3157;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3158 = R.mC();\n}\nwhile(!R.isContinuation($ans3158)) {\nswitch($step3155) {\ncase 0: var tup3162 = v3157;\n$step3155 = 1;\n$al3159 = L[2032];\nR.checkTupleBind(tup3162,2,L[2032]);\nbreak;\ncase 1: R.getTuple(tup3162,0,L[2029]);\nvar binds3170 = R.getTuple(tup3162,1,L[2030]);\n$step3155 = 2;\nvar $temp_lam3164 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2031($arg_3165) {\nvar $step3163 = 0;\nvar $elidedFrames3169 = 0;\nvar $ans3166 = D;\nvar $al3167 = L[2031];\nif(R.isAR($arg_3165)) {\n$step3163 = $arg_3165.step;\n$al3167 = $arg_3165.from;\n$ans3166 = $arg_3165.ans;\n$elidedFrames3169 = $arg_3165.elidedFrames;\narg_3165 = $arg_3165.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2031],1,$t,false);\n}\nvar arg_3165 = $arg_3165;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3166 = R.mC();\n}\nwhile(!R.isContinuation($ans3166)) {\nswitch($step3163) {\ncase 0: $step3163 = 1;\n$al3167 = L[2031];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3167,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3166 = ED6.dict.values.dict[\"highlight\"].app(arg_3165,binds3170,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3166;\ndefault: R.ffi.throwSpinnakerError(L[2031],$step3163);\n}\n}\nif($step3163 !== 1) {\n$ans3166.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3167,$temp_lam3164,$step3163,[arg_3165],[],$elidedFrames3169);\n}\nreturn $ans3166;\n};\n$ans3158 = R.mF($temp_lam3164,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3158;\ndefault: R.ffi.throwSpinnakerError(L[2028],$step3155);\n}\n}\nif($step3155 !== 2) {\n$ans3158.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3159,$temp_lam3156,$step3155,[v3157],[tup3162],$elidedFrames3161);\n}\nreturn $ans3158;\n};\nvar anf_arg3175 = R.mF($temp_lam3156,\"\");\n$step3009 = 13;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2033],anf_arg3175);\nbreak;\ncase 13: var anf_method_obj3184 = $ans3015;\nvar $temp_lam3177 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2034($v3178) {\nvar $step3176 = 0;\nvar $elidedFrames3182 = 0;\nvar $ans3179 = D;\nvar $al3180 = L[2034];\nif(R.isAR($v3178)) {\n$step3176 = $v3178.step;\n$al3180 = $v3178.from;\n$ans3179 = $v3178.ans;\n$elidedFrames3182 = $v3178.elidedFrames;\nv3178 = $v3178.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2034],1,$t,false);\n}\nvar v3178 = $v3178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3179 = R.mC();\n}\nwhile(!R.isContinuation($ans3179)) {\nswitch($step3176) {\ncase 0: $step3176 = 1;\n$ans3179 = v3178;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3179;\ndefault: R.ffi.throwSpinnakerError(L[2034],$step3176);\n}\n}\nif($step3176 !== 1) {\n$ans3179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3180,$temp_lam3177,$step3176,[v3178],[],$elidedFrames3182);\n}\nreturn $ans3179;\n};\nvar anf_arg3185 = R.mF($temp_lam3177,\"\");\n$step3009 = 14;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3184,\"or-else\",L[2035],anf_arg3185);\nbreak;\ncase 14: var bindings3291 = $ans3015;\nvar $temp_lam3187 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2036($v3188) {\nvar $step3186 = 0;\nvar $elidedFrames3192 = 0;\nvar $ans3189 = D;\nvar $al3190 = L[2036];\nif(R.isAR($v3188)) {\n$step3186 = $v3188.step;\n$al3190 = $v3188.from;\n$ans3189 = $v3188.ans;\n$elidedFrames3192 = $v3188.elidedFrames;\nv3188 = $v3188.args[0];\ntup3193 = $v3188.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2036],1,$t,false);\n}\nvar v3188 = $v3188;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3189 = R.mC();\n}\nwhile(!R.isContinuation($ans3189)) {\nswitch($step3186) {\ncase 0: var tup3193 = v3188;\n$step3186 = 1;\n$al3190 = L[2042];\nR.checkTupleBind(tup3193,2,L[2042]);\nbreak;\ncase 1: var pat$loc3202 = R.getTuple(tup3193,0,L[2037]);\nR.getTuple(tup3193,1,L[2038]);\n$step3186 = 2;\nvar $temp_lam3195 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2039($arg_3196) {\nvar $step3194 = 0;\nvar $elidedFrames3200 = 0;\nvar $ans3197 = D;\nvar $al3198 = L[2039];\nif(R.isAR($arg_3196)) {\n$step3194 = $arg_3196.step;\n$al3198 = $arg_3196.from;\n$ans3197 = $arg_3196.ans;\n$elidedFrames3200 = $arg_3196.elidedFrames;\narg_3196 = $arg_3196.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2039],1,$t,false);\n}\nvar arg_3196 = $arg_3196;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3197 = R.mC();\n}\nwhile(!R.isContinuation($ans3197)) {\nswitch($step3194) {\ncase 0: $ans3197 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2040],L[2041]);\nvar anf_fun3201 = $ans3197;\n$step3194 = 1;\n$al3198 = L[2041];\nif(typeof(anf_fun3201.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3198,anf_fun3201);\n}\n$ans3197 = anf_fun3201.app(pat$loc3202);\nbreak;\ncase 1: var anf_arg3203 = $ans3197;\n$step3194 = 2;\n$al3198 = L[2039];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3198,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3197 = ED6.dict.values.dict[\"highlight\"].app(arg_3196,anf_arg3203,(-1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3197;\ndefault: R.ffi.throwSpinnakerError(L[2039],$step3194);\n}\n}\nif($step3194 !== 2) {\n$ans3197.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3198,$temp_lam3195,$step3194,[arg_3196],[],$elidedFrames3200);\n}\nreturn $ans3197;\n};\n$ans3189 = R.mF($temp_lam3195,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3189;\ndefault: R.ffi.throwSpinnakerError(L[2036],$step3186);\n}\n}\nif($step3186 !== 2) {\n$ans3189.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3190,$temp_lam3187,$step3186,[v3188],[tup3193],$elidedFrames3192);\n}\nreturn $ans3189;\n};\nvar anf_arg3207 = R.mF($temp_lam3187,\"\");\n$step3009 = 15;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2043],anf_arg3207);\nbreak;\ncase 15: var anf_method_obj3216 = $ans3015;\nvar $temp_lam3209 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2044($v3210) {\nvar $step3208 = 0;\nvar $elidedFrames3214 = 0;\nvar $ans3211 = D;\nvar $al3212 = L[2044];\nif(R.isAR($v3210)) {\n$step3208 = $v3210.step;\n$al3212 = $v3210.from;\n$ans3211 = $v3210.ans;\n$elidedFrames3214 = $v3210.elidedFrames;\nv3210 = $v3210.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2044],1,$t,false);\n}\nvar v3210 = $v3210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3211 = R.mC();\n}\nwhile(!R.isContinuation($ans3211)) {\nswitch($step3208) {\ncase 0: $step3208 = 1;\n$ans3211 = v3210;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3211;\ndefault: R.ffi.throwSpinnakerError(L[2044],$step3208);\n}\n}\nif($step3208 !== 1) {\n$ans3211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3212,$temp_lam3209,$step3208,[v3210],[],$elidedFrames3214);\n}\nreturn $ans3211;\n};\nvar anf_arg3217 = R.mF($temp_lam3209,\"\");\n$step3009 = 16;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3216,\"or-else\",L[2045],anf_arg3217);\nbreak;\ncase 16: var pattern3272 = $ans3015;\nvar $temp_lam3219 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2046($v3220) {\nvar $step3218 = 0;\nvar $elidedFrames3224 = 0;\nvar $ans3221 = D;\nvar $al3222 = L[2046];\nif(R.isAR($v3220)) {\n$step3218 = $v3220.step;\n$al3222 = $v3220.from;\n$ans3221 = $v3220.ans;\n$elidedFrames3224 = $v3220.elidedFrames;\nv3220 = $v3220.args[0];\ntup3225 = $v3220.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2046],1,$t,false);\n}\nvar v3220 = $v3220;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3221 = R.mC();\n}\nwhile(!R.isContinuation($ans3221)) {\nswitch($step3218) {\ncase 0: var tup3225 = v3220;\n$step3218 = 1;\n$al3222 = L[2050];\nR.checkTupleBind(tup3225,2,L[2050]);\nbreak;\ncase 1: var params3233 = R.getTuple(tup3225,0,L[2047]);\nR.getTuple(tup3225,1,L[2048]);\n$step3218 = 2;\nvar $temp_lam3227 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2049($arg_3228) {\nvar $step3226 = 0;\nvar $elidedFrames3232 = 0;\nvar $ans3229 = D;\nvar $al3230 = L[2049];\nif(R.isAR($arg_3228)) {\n$step3226 = $arg_3228.step;\n$al3230 = $arg_3228.from;\n$ans3229 = $arg_3228.ans;\n$elidedFrames3232 = $arg_3228.elidedFrames;\narg_3228 = $arg_3228.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2049],1,$t,false);\n}\nvar arg_3228 = $arg_3228;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3229 = R.mC();\n}\nwhile(!R.isContinuation($ans3229)) {\nswitch($step3226) {\ncase 0: $step3226 = 1;\n$al3230 = L[2049];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3230,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3229 = ED6.dict.values.dict[\"highlight\"].app(arg_3228,params3233,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3229;\ndefault: R.ffi.throwSpinnakerError(L[2049],$step3226);\n}\n}\nif($step3226 !== 1) {\n$ans3229.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3230,$temp_lam3227,$step3226,[arg_3228],[],$elidedFrames3232);\n}\nreturn $ans3229;\n};\n$ans3221 = R.mF($temp_lam3227,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3221;\ndefault: R.ffi.throwSpinnakerError(L[2046],$step3218);\n}\n}\nif($step3218 !== 2) {\n$ans3221.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3222,$temp_lam3219,$step3218,[v3220],[tup3225],$elidedFrames3224);\n}\nreturn $ans3221;\n};\nvar anf_arg3238 = R.mF($temp_lam3219,\"\");\n$step3009 = 17;\n$ans3015 = R.maybeMethodCall1(destructured$definition3237,\"and-then\",L[2051],anf_arg3238);\nbreak;\ncase 17: var anf_method_obj3247 = $ans3015;\nvar $temp_lam3240 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2052($v3241) {\nvar $step3239 = 0;\nvar $elidedFrames3245 = 0;\nvar $ans3242 = D;\nvar $al3243 = L[2052];\nif(R.isAR($v3241)) {\n$step3239 = $v3241.step;\n$al3243 = $v3241.from;\n$ans3242 = $v3241.ans;\n$elidedFrames3245 = $v3241.elidedFrames;\nv3241 = $v3241.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2052],1,$t,false);\n}\nvar v3241 = $v3241;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3242 = R.mC();\n}\nwhile(!R.isContinuation($ans3242)) {\nswitch($step3239) {\ncase 0: $step3239 = 1;\n$ans3242 = v3241;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3242;\ndefault: R.ffi.throwSpinnakerError(L[2052],$step3239);\n}\n}\nif($step3239 !== 1) {\n$ans3242.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3243,$temp_lam3240,$step3239,[v3241],[],$elidedFrames3245);\n}\nreturn $ans3242;\n};\nvar anf_arg3248 = R.mF($temp_lam3240,\"\");\n$step3009 = 18;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3247,\"or-else\",L[2053],anf_arg3248);\nbreak;\ncase 18: var fields3294 = $ans3015;\nvar $temp_lam3250 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2054($v3251) {\nvar $step3249 = 0;\nvar $elidedFrames3255 = 0;\nvar $ans3252 = D;\nvar $al3253 = L[2054];\nif(R.isAR($v3251)) {\n$step3249 = $v3251.step;\n$al3253 = $v3251.from;\n$ans3252 = $v3251.ans;\n$elidedFrames3255 = $v3251.elidedFrames;\nv3251 = $v3251.args[0];\nanf_arg3258 = $v3251.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2054],1,$t,false);\n}\nvar v3251 = $v3251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3252 = R.mC();\n}\nwhile(!R.isContinuation($ans3252)) {\nswitch($step3249) {\ncase 0: $step3249 = 1;\n$al3253 = L[2059];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,ED6.dict.values.dict[\"text\"]);\n}\n$ans3252 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 1: var anf_arg3258 = $ans3252;\n$ans3252 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2055],L[2056]);\nvar anf_fun3256 = $ans3252;\n$al3253 = L[2057];\nvar anf_arg3257 = G(self3011,\"constructor-loc\",L[2057]);\n$step3249 = 2;\n$al3253 = L[2056];\nif(typeof(anf_fun3256.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,anf_fun3256);\n}\n$ans3252 = anf_fun3256.app(anf_arg3257);\nbreak;\ncase 2: var anf_arg3259 = $ans3252;\n$step3249 = 3;\n$al3253 = L[2058];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3252 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3258,anf_arg3259,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3252;\ndefault: R.ffi.throwSpinnakerError(L[2054],$step3249);\n}\n}\nif($step3249 !== 3) {\n$ans3252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3253,$temp_lam3250,$step3249,[v3251],[anf_arg3258],$elidedFrames3255);\n}\nreturn $ans3252;\n};\nvar anf_arg3261 = R.mF($temp_lam3250,\"\");\n$step3009 = 19;\n$ans3015 = R.maybeMethodCall1(destructured$definition3237,\"and-then\",L[2060],anf_arg3261);\nbreak;\ncase 19: var anf_method_obj3262 = $ans3015;\n$step3009 = 20;\n$al3016 = L[2098];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 20: var anf_arg3263 = $ans3015;\n$step3009 = 21;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3262,\"or-else\",L[2061],anf_arg3263);\nbreak;\ncase 21: var variant3298 = $ans3015;\n$ans3015 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2062],L[2063]);\nvar anf_fun3306 = $ans3015;\nvar $temp_lam3265 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2064($v3266) {\nvar $step3264 = 0;\nvar $elidedFrames3270 = 0;\nvar $ans3267 = D;\nvar $al3268 = L[2064];\nif(R.isAR($v3266)) {\n$step3264 = $v3266.step;\n$al3268 = $v3266.from;\n$ans3267 = $v3266.ans;\n$elidedFrames3270 = $v3266.elidedFrames;\nv3266 = $v3266.args[0];\nanf_arg3275 = $v3266.vars[0];\nanf_arg3276 = $v3266.vars[1];\npat$loc3278 = $v3266.vars[2];\nanf_fun3274 = $v3266.vars[3];\nanf_arg3280 = $v3266.vars[4];\nanf_fun3279 = $v3266.vars[5];\ntup3271 = $v3266.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2064],1,$t,false);\n}\nvar v3266 = $v3266;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3267 = R.mC();\n}\nwhile(!R.isContinuation($ans3267)) {\nswitch($step3264) {\ncase 0: var tup3271 = v3266;\n$step3264 = 1;\n$al3268 = L[2076];\nR.checkTupleBind(tup3271,2,L[2076]);\nbreak;\ncase 1: var pat$loc3278 = R.getTuple(tup3271,0,L[2065]);\nR.getTuple(tup3271,1,L[2066]);\n$ans3267 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2067],L[2068]);\nvar anf_fun3279 = $ans3267;\n$ans3267 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2069],L[2070]);\nvar anf_fun3274 = $ans3267;\n$step3264 = 2;\n$al3268 = L[2075];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\"Matching this \"));\nbreak;\ncase 2: var anf_arg3275 = $ans3267;\n$step3264 = 3;\n$al3268 = L[2074];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 3: var anf_arg3273 = $ans3267;\n$step3264 = 4;\n$al3268 = L[2073];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,pattern3272);\n}\n$ans3267 = pattern3272.app(anf_arg3273);\nbreak;\ncase 4: var anf_arg3276 = $ans3267;\n$step3264 = 5;\n$al3268 = L[2072];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 5: var anf_arg3277 = $ans3267;\n$step3264 = 6;\n$al3268 = L[2070];\nif(typeof(anf_fun3274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,anf_fun3274);\n}\n$ans3267 = anf_fun3274.app(anf_arg3275,anf_arg3276,anf_arg3277);\nbreak;\ncase 6: var anf_arg3280 = $ans3267;\n$step3264 = 7;\n$al3268 = L[2071];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"cmcode\"].app(pat$loc3278);\nbreak;\ncase 7: var anf_arg3281 = $ans3267;\n$step3264 = 8;\n$al3268 = L[2068];\nif(typeof(anf_fun3279.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,anf_fun3279);\n}\n$ans3267 = anf_fun3279.app(anf_arg3280,anf_arg3281);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3267;\ndefault: R.ffi.throwSpinnakerError(L[2064],$step3264);\n}\n}\nif($step3264 !== 8) {\n$ans3267.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3268,$temp_lam3265,$step3264,[v3266],[anf_arg3275,anf_arg3276,pat$loc3278,anf_fun3274,anf_arg3280,anf_fun3279,tup3271],$elidedFrames3270);\n}\nreturn $ans3267;\n};\nvar anf_arg3284 = R.mF($temp_lam3265,\"\");\n$step3009 = 22;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2077],anf_arg3284);\nbreak;\ncase 22: var anf_method_obj3287 = $ans3015;\n$ans3015 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2078],L[2079]);\nvar anf_fun3285 = $ans3015;\n$step3009 = 23;\n$al3016 = L[2097];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch pattern errored.\"));\nbreak;\ncase 23: var anf_arg3286 = $ans3015;\n$step3009 = 24;\n$al3016 = L[2079];\nif(typeof(anf_fun3285.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,anf_fun3285);\n}\n$ans3015 = anf_fun3285.app(anf_arg3286);\nbreak;\ncase 24: var anf_arg3288 = $ans3015;\n$step3009 = 25;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3287,\"or-else\",L[2080],anf_arg3288);\nbreak;\ncase 25: var anf_arg3307 = $ans3015;\n$step3009 = 26;\n$al3016 = L[2096];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"branch\"));\nbreak;\ncase 26: var anf_arg3289 = $ans3015;\n$step3009 = 27;\n$al3016 = L[2095];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,pattern3272);\n}\n$ans3015 = pattern3272.app(anf_arg3289);\nbreak;\ncase 27: var anf_arg3296 = $ans3015;\n$al3016 = L[2081];\nvar anf_arg3290 = G(self3011,\"num-args\",L[2081]);\n$step3009 = 28;\n$al3016 = L[2094];\nif(typeof(ED6.dict.values.dict[\"ed-bindings\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"ed-bindings\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"ed-bindings\"].app(anf_arg3290);\nbreak;\ncase 28: var anf_arg3292 = $ans3015;\n$step3009 = 29;\n$al3016 = L[2093];\nif(typeof(bindings3291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,bindings3291);\n}\n$ans3015 = bindings3291.app(anf_arg3292);\nbreak;\ncase 29: var anf_arg3297 = $ans3015;\n$al3016 = L[2082];\nvar anf_arg3293 = G(self3011,\"actual-arity\",L[2082]);\n$step3009 = 30;\n$al3016 = L[2092];\nif(typeof(ED6.dict.values.dict[\"ed-fields\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"ed-fields\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"ed-fields\"].app(anf_arg3293);\nbreak;\ncase 30: var anf_arg3295 = $ans3015;\n$step3009 = 31;\n$al3016 = L[2091];\nif(typeof(fields3294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,fields3294);\n}\n$ans3015 = fields3294.app(anf_arg3295);\nbreak;\ncase 31: var anf_arg3299 = $ans3015;\n$step3009 = 32;\n$al3016 = L[2090];\nif(typeof(observation$prose3140.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,observation$prose3140.$var);\n}\n$ans3015 = observation$prose3140.$var.app(anf_arg3296,anf_arg3297,variant3298,anf_arg3299);\nbreak;\ncase 32: var anf_arg3308 = $ans3015;\n$step3009 = 33;\n$al3016 = L[2089];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 33: var anf_arg3300 = $ans3015;\n$step3009 = 34;\n$al3016 = L[2088];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,pattern3272);\n}\n$ans3015 = pattern3272.app(anf_arg3300);\nbreak;\ncase 34: var anf_arg3303 = $ans3015;\n$step3009 = 35;\n$al3016 = L[2087];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"fields\"));\nbreak;\ncase 35: var anf_arg3301 = $ans3015;\n$step3009 = 36;\n$al3016 = L[2086];\nif(typeof(fields3294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,fields3294);\n}\n$ans3015 = fields3294.app(anf_arg3301);\nbreak;\ncase 36: var anf_arg3304 = $ans3015;\n$step3009 = 37;\n$al3016 = L[2085];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"bindings\"));\nbreak;\ncase 37: var anf_arg3302 = $ans3015;\n$step3009 = 38;\n$al3016 = L[2084];\nif(typeof(bindings3291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,bindings3291);\n}\n$ans3015 = bindings3291.app(anf_arg3302);\nbreak;\ncase 38: var anf_arg3305 = $ans3015;\n$step3009 = 39;\n$al3016 = L[2083];\nif(typeof(explanation$prose3154.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,explanation$prose3154.$var);\n}\n$ans3015 = explanation$prose3154.$var.app(anf_arg3303,anf_arg3304,anf_arg3305);\nbreak;\ncase 39: var anf_arg3309 = $ans3015;\n$step3009 = 40;\n$al3016 = L[2063];\nif(typeof(anf_fun3306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,anf_fun3306);\n}\n$ans3015 = anf_fun3306.app(anf_arg3307,anf_arg3308,anf_arg3309);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans3015;\ndefault: R.ffi.throwSpinnakerError(L[1971],$step3009);\n}\n}\nif($step3009 !== 40) {\n$ans3015.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3016,$temp_full3010,$step3009,[self3011,maybe$stack$loc3012,src$available3013,maybe$ast3014],[anf_arg3296,anf_arg3297,anf_fun3306,anf_arg3303,observation$prose3140,anf_arg3304,anf_arg3307,anf_arg3308,anf_method_obj3262,variant3298,destructured$pattern3174,anf_method_obj3287,fields3294,destructured$definition3237,anf_fun3285,locs$from$cases$ast3065,bindings3291,explanation$prose3154,locs$from$constructor$ast3094,pattern3272],$elidedFrames3018);\n}\nreturn $ans3015;\n};\nvar anf_variant_member5937 = R.makeMethod3($temp_full3010,\"render-fancy-reason\");\nvar $temp_full3314 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2106($self3315) {\nvar $step3313 = 0;\nvar $elidedFrames3319 = 0;\nvar $ans3316 = D;\nvar $al3317 = L[2106];\nif(R.isAR($self3315)) {\n$step3313 = $self3315.step;\n$al3317 = $self3315.from;\n$ans3316 = $self3315.ans;\n$elidedFrames3319 = $self3315.elidedFrames;\nself3315 = $self3315.args[0];\nanf_fun3337 = $self3315.vars[0];\nanf_arg3340 = $self3315.vars[1];\nanf_arg3330 = $self3315.vars[2];\nanf_arg3341 = $self3315.vars[3];\nanf_fun3339 = $self3315.vars[4];\nanf_arg3331 = $self3315.vars[5];\nanf_arg3342 = $self3315.vars[6];\nanf_fun3329 = $self3315.vars[7];\nanf_arg3323 = $self3315.vars[8];\nanf_arg3324 = $self3315.vars[9];\nanf_arg3335 = $self3315.vars[10];\nanf_arg3325 = $self3315.vars[11];\nanf_arg3326 = $self3315.vars[12];\nanf_fun3322 = $self3315.vars[13];\nanf_fun3334 = $self3315.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2106],1,$t,true);\n}\nvar self3315 = $self3315;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3316 = R.mC();\n}\nwhile(!R.isContinuation($ans3316)) {\nswitch($step3313) {\ncase 0: $ans3316 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2107],L[2108]);\nvar anf_fun3339 = $ans3316;\n$ans3316 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2109],L[2110]);\nvar anf_fun3322 = $ans3316;\n$step3313 = 1;\n$al3317 = L[2131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch in \"));\nbreak;\ncase 1: var anf_arg3323 = $ans3316;\n$al3317 = L[2111];\nvar anf_arg3320 = G(self3315,\"cases-loc\",L[2111]);\n$step3313 = 2;\n$al3317 = L[2130];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"loc\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"loc\"].app(anf_arg3320);\nbreak;\ncase 2: var anf_arg3324 = $ans3316;\n$step3313 = 3;\n$al3317 = L[2129];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\" errored because of a problem with the branch pattern in \"));\nbreak;\ncase 3: var anf_arg3325 = $ans3316;\n$al3317 = L[2112];\nvar anf_arg3321 = G(self3315,\"branch-loc\",L[2112]);\n$step3313 = 4;\n$al3317 = L[2128];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"loc\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"loc\"].app(anf_arg3321);\nbreak;\ncase 4: var anf_arg3326 = $ans3316;\n$step3313 = 5;\n$al3317 = L[2127];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg3327 = $ans3316;\n$step3313 = 6;\n$al3317 = L[2110];\nif(typeof(anf_fun3322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3322);\n}\n$ans3316 = anf_fun3322.app(anf_arg3323,anf_arg3324,anf_arg3325,anf_arg3326,anf_arg3327);\nbreak;\ncase 6: var anf_arg3340 = $ans3316;\n$ans3316 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2113],L[2114]);\nvar anf_fun3329 = $ans3316;\n$step3313 = 7;\n$al3317 = L[2126];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"The cases pattern had \"));\nbreak;\ncase 7: var anf_arg3330 = $ans3316;\n$al3317 = L[2115];\nvar anf_arg3328 = G(self3315,\"num-args\",L[2115]);\n$step3313 = 8;\n$al3317 = L[2125];\nif(typeof(ED6.dict.values.dict[\"ed-field-bindings\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"ed-field-bindings\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"ed-field-bindings\"].app(anf_arg3328);\nbreak;\ncase 8: var anf_arg3331 = $ans3316;\n$step3313 = 9;\n$al3317 = L[2124];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg3332 = $ans3316;\n$step3313 = 10;\n$al3317 = L[2114];\nif(typeof(anf_fun3329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3329);\n}\n$ans3316 = anf_fun3329.app(anf_arg3330,anf_arg3331,anf_arg3332);\nbreak;\ncase 10: var anf_arg3341 = $ans3316;\n$ans3316 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[2116],L[2117]);\nvar anf_fun3334 = $ans3316;\n$step3313 = 11;\n$al3317 = L[2123];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"The corresponding variant of the datatype had \"));\nbreak;\ncase 11: var anf_arg3335 = $ans3316;\n$al3317 = L[2118];\nvar anf_arg3333 = G(self3315,\"actual-arity\",L[2118]);\n$step3313 = 12;\n$al3317 = L[2122];\nif(typeof(ED6.dict.values.dict[\"ed-fields\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"ed-fields\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"ed-fields\"].app(anf_arg3333);\nbreak;\ncase 12: var anf_arg3336 = $ans3316;\n$step3313 = 13;\n$al3317 = L[2117];\nif(typeof(anf_fun3334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3334);\n}\n$ans3316 = anf_fun3334.app(anf_arg3335,anf_arg3336);\nbreak;\ncase 13: var anf_arg3342 = $ans3316;\n$ans3316 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2119],L[2120]);\nvar anf_fun3337 = $ans3316;\n$step3313 = 14;\n$al3317 = L[2121];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"Patterns should have exactly the same number of field bindings as the corresponding variant has fields.\"));\nbreak;\ncase 14: var anf_arg3338 = $ans3316;\n$step3313 = 15;\n$al3317 = L[2120];\nif(typeof(anf_fun3337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3337);\n}\n$ans3316 = anf_fun3337.app(anf_arg3338);\nbreak;\ncase 15: var anf_arg3343 = $ans3316;\n$step3313 = 16;\n$al3317 = L[2108];\nif(typeof(anf_fun3339.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3339);\n}\n$ans3316 = anf_fun3339.app(anf_arg3340,anf_arg3341,anf_arg3342,anf_arg3343);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3316;\ndefault: R.ffi.throwSpinnakerError(L[2106],$step3313);\n}\n}\nif($step3313 !== 16) {\n$ans3316.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3317,$temp_full3314,$step3313,[self3315],[anf_fun3337,anf_arg3340,anf_arg3330,anf_arg3341,anf_fun3339,anf_arg3331,anf_arg3342,anf_fun3329,anf_arg3323,anf_arg3324,anf_arg3335,anf_arg3325,anf_arg3326,anf_fun3322,anf_fun3334],$elidedFrames3319);\n}\nreturn $ans3316;\n};\nvar anf_variant_member5938 = R.makeMethod0($temp_full3314,\"render-reason\");\nvar $temp_full3346 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2132($self3347,$maybe$stack$loc3348,$src$available3349,$maybe$ast3350) {\nvar $step3345 = 0;\nvar $elidedFrames3354 = 0;\nvar $ans3351 = D;\nvar $al3352 = L[2132];\nif(R.isAR($self3347)) {\n$step3345 = $self3347.step;\n$al3352 = $self3347.from;\n$ans3351 = $self3347.ans;\n$elidedFrames3354 = $self3347.elidedFrames;\nself3347 = $self3347.args[0];\nmaybe$stack$loc3348 = $self3347.args[1];\nsrc$available3349 = $self3347.args[2];\nmaybe$ast3350 = $self3347.args[3];\nfun$app$arity3356 = $self3347.vars[0];\napplication$expression3693 = $self3347.vars[1];\ndefinition$prose3552 = $self3347.vars[2];\nanf_fun3703 = $self3347.vars[3];\nexplanation$prose3566 = $self3347.vars[4];\nanf_arg3722 = $self3347.vars[5];\nanf_arg3723 = $self3347.vars[6];\narguments3707 = $self3347.vars[7];\napplication$loc3500 = $self3347.vars[8];\nanf_arg3724 = $self3347.vars[9];\nlocs$from$application$ast3461 = $self3347.vars[10];\nparameters3712 = $self3347.vars[11];\nanf_arg3715 = $self3347.vars[12];\nanf_method_obj3681 = $self3347.vars[13];\ndefinition$contained3630 = $self3347.vars[14];\nlocs$from$definition$ast3490 = $self3347.vars[15];\noperator3710 = $self3347.vars[16];\nanf_arg3719 = $self3347.vars[17];\ndefined3714 = $self3347.vars[18];\nwere$was3518 = $self3347.vars[19];\ndestructured$application3587 = $self3347.vars[20];\ndestructured$definition3656 = $self3347.vars[21];\nanf_method_obj3635 = $self3347.vars[22];\noperator$prose3525 = $self3347.vars[23];\nanf_method_obj3615 = $self3347.vars[24];\nanf_method_obj3705 = $self3347.vars[25];\nanf_fun3721 = $self3347.vars[26];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2132],4,$t,true);\n}\nvar self3347 = $self3347;\nvar maybe$stack$loc3348 = $maybe$stack$loc3348;\nvar src$available3349 = $src$available3349;\nvar maybe$ast3350 = $maybe$ast3350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3351 = R.mC();\n}\nwhile(!R.isContinuation($ans3351)) {\nswitch($step3345) {\ncase 0: $al3352 = L[2133];\nvar anf_method_obj3355 = G(self3347,\"fun-app-args\",L[2133]);\n$step3345 = 1;\n$ans3351 = R.maybeMethodCall0(anf_method_obj3355,\"length\",L[2134]);\nbreak;\ncase 1: var fun$app$arity3356 = $ans3351;\n$step3345 = 2;\n$al3352 = L[2315];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,equal$always1);\n}\n$ans3351 = equal$always1.app(fun$app$arity3356,(1));\nbreak;\ncase 2: var anf_if3729 = $ans3351;\n$step3345 = R.checkPyretTrue(anf_if3729)?3:4;\nbreak;\ncase 3: $step3345 = 5;\n$ans3351 = (\" was\");\nbreak;\ncase 4: $step3345 = 5;\n$ans3351 = (\" were\");\nbreak;\ncase 5: var were$was3518 = $ans3351;\nvar locs$from$application$ast3461 = {\"$var\":D};\nvar locs$from$definition$ast3490 = {\"$var\":D};\nvar $temp_lam3358 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2135($ast3359) {\nvar $step3357 = 0;\nvar $elidedFrames3363 = 0;\nvar $ans3360 = D;\nvar $al3361 = L[2135];\nif(R.isAR($ast3359)) {\n$step3357 = $ast3359.step;\n$al3361 = $ast3359.from;\n$ans3360 = $ast3359.ans;\n$elidedFrames3363 = $ast3359.elidedFrames;\nast3359 = $ast3359.args[0];\nanf_arg3431 = $ast3359.vars[0];\nadjust3379 = $ast3359.vars[1];\nl3394 = $ast3359.vars[2];\nanf_arg3410 = $ast3359.vars[3];\nanf_arg3433 = $ast3359.vars[4];\ncases3380 = $ast3359.vars[5];\nl3412 = $ast3359.vars[6];\nl3435 = $ast3359.vars[7];\nl3446 = $ast3359.vars[8];\nanf_tuple_fields3395 = $ast3359.vars[9];\nargs3429 = $ast3359.vars[10];\nanf_tuple_fields3455 = $ast3359.vars[11];\nanf_tuple_fields3456 = $ast3359.vars[12];\nanf_arg3392 = $ast3359.vars[13];\nanf_tuple_fields3413 = $ast3359.vars[14];\nanf_tuple_fields3436 = $ast3359.vars[15];\nanf_tuple_fields3447 = $ast3359.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2135],1,$t,false);\n}\nvar ast3359 = $ast3359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3360 = R.mC();\n}\nwhile(!R.isContinuation($ans3360)) {\nswitch($step3357) {\ncase 0: var adjust3379 = {\"$var\":D};\nvar $temp_lam3365 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2136($fun$loc3366,$args3367) {\nvar $step3364 = 0;\nvar $elidedFrames3371 = 0;\nvar $ans3368 = D;\nvar $al3369 = L[2136];\nif(R.isAR($fun$loc3366)) {\n$step3364 = $fun$loc3366.step;\n$al3369 = $fun$loc3366.from;\n$ans3368 = $fun$loc3366.ans;\n$elidedFrames3371 = $fun$loc3366.elidedFrames;\nfun$loc3366 = $fun$loc3366.args[0];\nargs3367 = $fun$loc3366.args[1];\nanf_fun3374 = $fun$loc3366.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2136],2,$t,false);\n}\nvar fun$loc3366 = $fun$loc3366;\nvar args3367 = $args3367;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3368 = R.mC();\n}\nwhile(!R.isContinuation($ans3368)) {\nswitch($step3364) {\ncase 0: $step3364 = 1;\n$al3369 = L[2142];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3369,equal$always1);\n}\n$ans3368 = equal$always1.app(fun$app$arity3356,(0));\nbreak;\ncase 1: var anf_if3376 = $ans3368;\n$step3364 = R.checkPyretTrue(anf_if3376)?2:5;\nbreak;\ncase 2: $ans3368 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2137],L[2138]);\nvar anf_fun3374 = $ans3368;\n$step3364 = 3;\n$ans3368 = R.maybeMethodCall0(fun$loc3366,\"at-end\",L[2139]);\nbreak;\ncase 3: var anf_method_obj3372 = $ans3368;\n$al3369 = L[2140];\nvar anf_arg3373 = G(ast3359,\"l\",L[2140]);\n$step3364 = 4;\n$ans3368 = R.maybeMethodCall1(anf_method_obj3372,\"upto-end\",L[2141],anf_arg3373);\nbreak;\ncase 4: var anf_arg3375 = $ans3368;\n$step3364 = 6;\n$al3369 = L[2138];\nif(typeof(anf_fun3374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3369,anf_fun3374);\n}\n$ans3368 = anf_fun3374.app(anf_arg3375);\nbreak;\ncase 5: $step3364 = 6;\n$ans3368 = args3367;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3368;\ndefault: R.ffi.throwSpinnakerError(L[2136],$step3364);\n}\n}\nif($step3364 !== 6) {\n$ans3368.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3369,$temp_lam3365,$step3364,[fun$loc3366,args3367],[anf_fun3374],$elidedFrames3371);\n}\nreturn $ans3368;\n};\nvar anf_assign3378 = R.mF($temp_lam3365,\"adjust\");\nadjust3379.$var = anf_assign3378;\nR.nothing;\nvar cases3380 = ast3359;\n$al3361 = L[2149];\n$step3357 = $cases_dispatch3458[cases3380.$name] || 14;\nbreak;\ncase 1: if(cases3380.$arity !== 3) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2148],3,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2148],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3398 = cases3380.$constructor.$fieldNames;\nvar l3394 = R.dF(cases3380.dict[$fn3398[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3381 = R.dF(cases3380.dict[$fn3398[1]],cases3380.$mut_fields_mask[1],false);\nvar args3390 = R.dF(cases3380.dict[$fn3398[2]],cases3380.$mut_fields_mask[2],false);\n$al3361 = L[2143];\nvar anf_tuple_fields3395 = G(_fun3381,\"l\",L[2143]);\n$al3361 = L[2144];\nvar anf_arg3392 = G(_fun3381,\"l\",L[2144]);\nvar $temp_lam3383 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2145($recv_3384) {\nvar $step3382 = 0;\nvar $elidedFrames3388 = 0;\nvar $ans3385 = D;\nvar $al3386 = L[2145];\nif(R.isAR($recv_3384)) {\n$step3382 = $recv_3384.step;\n$al3386 = $recv_3384.from;\n$ans3385 = $recv_3384.ans;\n$elidedFrames3388 = $recv_3384.elidedFrames;\nrecv_3384 = $recv_3384.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2145],1,$t,false);\n}\nvar recv_3384 = $recv_3384;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3385 = R.mC();\n}\nwhile(!R.isContinuation($ans3385)) {\nswitch($step3382) {\ncase 0: $step3382 = 1;\n$al3386 = L[2145];\n$ans3385 = G(recv_3384,\"l\",L[2145]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3385;\ndefault: R.ffi.throwSpinnakerError(L[2145],$step3382);\n}\n}\nif($step3382 !== 1) {\n$ans3385.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3386,$temp_lam3383,$step3382,[recv_3384],[],$elidedFrames3388);\n}\nreturn $ans3385;\n};\nvar anf_arg3391 = R.mF($temp_lam3383,\"\");\n$step3357 = 2;\n$ans3360 = R.maybeMethodCall1(args3390,\"map\",L[2146],anf_arg3391);\nbreak;\ncase 2: var anf_arg3393 = $ans3360;\n$step3357 = 3;\n$al3361 = L[2147];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3392,anf_arg3393);\nbreak;\ncase 3: var anf_tuple_fields3396 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3394,anf_tuple_fields3395,anf_tuple_fields3396]);\nbreak;\ncase 4: if(cases3380.$arity !== 3) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2155],3,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2155],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3416 = cases3380.$constructor.$fieldNames;\nvar l3412 = R.dF(cases3380.dict[$fn3416[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3399 = R.dF(cases3380.dict[$fn3416[1]],cases3380.$mut_fields_mask[1],false);\nvar args3408 = R.dF(cases3380.dict[$fn3416[2]],cases3380.$mut_fields_mask[2],false);\n$al3361 = L[2150];\nvar anf_tuple_fields3413 = G(_fun3399,\"l\",L[2150]);\n$al3361 = L[2151];\nvar anf_arg3410 = G(_fun3399,\"l\",L[2151]);\nvar $temp_lam3401 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2152($recv_3402) {\nvar $step3400 = 0;\nvar $elidedFrames3406 = 0;\nvar $ans3403 = D;\nvar $al3404 = L[2152];\nif(R.isAR($recv_3402)) {\n$step3400 = $recv_3402.step;\n$al3404 = $recv_3402.from;\n$ans3403 = $recv_3402.ans;\n$elidedFrames3406 = $recv_3402.elidedFrames;\nrecv_3402 = $recv_3402.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2152],1,$t,false);\n}\nvar recv_3402 = $recv_3402;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3403 = R.mC();\n}\nwhile(!R.isContinuation($ans3403)) {\nswitch($step3400) {\ncase 0: $step3400 = 1;\n$al3404 = L[2152];\n$ans3403 = G(recv_3402,\"l\",L[2152]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3403;\ndefault: R.ffi.throwSpinnakerError(L[2152],$step3400);\n}\n}\nif($step3400 !== 1) {\n$ans3403.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3404,$temp_lam3401,$step3400,[recv_3402],[],$elidedFrames3406);\n}\nreturn $ans3403;\n};\nvar anf_arg3409 = R.mF($temp_lam3401,\"\");\n$step3357 = 5;\n$ans3360 = R.maybeMethodCall1(args3408,\"map\",L[2153],anf_arg3409);\nbreak;\ncase 5: var anf_arg3411 = $ans3360;\n$step3357 = 6;\n$al3361 = L[2154];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3410,anf_arg3411);\nbreak;\ncase 6: var anf_tuple_fields3414 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3412,anf_tuple_fields3413,anf_tuple_fields3414]);\nbreak;\ncase 7: if(cases3380.$arity !== 6) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2165],6,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2165],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3439 = cases3380.$constructor.$fieldNames;\nvar l3435 = R.dF(cases3380.dict[$fn3439[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3417 = R.dF(cases3380.dict[$fn3439[1]],cases3380.$mut_fields_mask[1],false);\nvar args3429 = R.dF(cases3380.dict[$fn3439[2]],cases3380.$mut_fields_mask[2],false);\nR.dF(cases3380.dict[$fn3439[3]],cases3380.$mut_fields_mask[3],false);\nvar b3418 = R.dF(cases3380.dict[$fn3439[4]],cases3380.$mut_fields_mask[4],false);\nR.dF(cases3380.dict[$fn3439[5]],cases3380.$mut_fields_mask[5],false);\n$al3361 = L[2156];\nvar anf_tuple_fields3436 = G(_fun3417,\"l\",L[2156]);\n$al3361 = L[2157];\nvar anf_arg3433 = G(_fun3417,\"l\",L[2157]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2158],L[2159]);\nvar anf_fun3419 = $ans3360;\n$al3361 = L[2160];\nvar anf_arg3420 = G(b3418,\"l\",L[2160]);\n$step3357 = 8;\n$al3361 = L[2159];\nif(typeof(anf_fun3419.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3419);\n}\n$ans3360 = anf_fun3419.app(anf_arg3420);\nbreak;\ncase 8: var anf_arg3431 = $ans3360;\nvar $temp_lam3422 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2161($recv_3423) {\nvar $step3421 = 0;\nvar $elidedFrames3427 = 0;\nvar $ans3424 = D;\nvar $al3425 = L[2161];\nif(R.isAR($recv_3423)) {\n$step3421 = $recv_3423.step;\n$al3425 = $recv_3423.from;\n$ans3424 = $recv_3423.ans;\n$elidedFrames3427 = $recv_3423.elidedFrames;\nrecv_3423 = $recv_3423.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2161],1,$t,false);\n}\nvar recv_3423 = $recv_3423;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3424 = R.mC();\n}\nwhile(!R.isContinuation($ans3424)) {\nswitch($step3421) {\ncase 0: $step3421 = 1;\n$al3425 = L[2161];\n$ans3424 = G(recv_3423,\"l\",L[2161]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3424;\ndefault: R.ffi.throwSpinnakerError(L[2161],$step3421);\n}\n}\nif($step3421 !== 1) {\n$ans3424.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3425,$temp_lam3422,$step3421,[recv_3423],[],$elidedFrames3427);\n}\nreturn $ans3424;\n};\nvar anf_arg3430 = R.mF($temp_lam3422,\"\");\n$step3357 = 9;\n$ans3360 = R.maybeMethodCall1(args3429,\"map\",L[2162],anf_arg3430);\nbreak;\ncase 9: var anf_arg3432 = $ans3360;\n$step3357 = 10;\n$al3361 = L[2164];\n// omitting isFunction check;\n$ans3360 = _plus5.app(anf_arg3431,anf_arg3432);\nbreak;\ncase 10: var anf_arg3434 = $ans3360;\n$step3357 = 11;\n$al3361 = L[2163];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3433,anf_arg3434);\nbreak;\ncase 11: var anf_tuple_fields3437 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3435,anf_tuple_fields3436,anf_tuple_fields3437]);\nbreak;\ncase 12: if(cases3380.$arity !== 5) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2170],5,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2170],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3450 = cases3380.$constructor.$fieldNames;\nvar l3446 = R.dF(cases3380.dict[$fn3450[0]],cases3380.$mut_fields_mask[0],false);\nR.dF(cases3380.dict[$fn3450[1]],cases3380.$mut_fields_mask[1],false);\nR.dF(cases3380.dict[$fn3450[2]],cases3380.$mut_fields_mask[2],false);\nvar l$op3443 = R.dF(cases3380.dict[$fn3450[3]],cases3380.$mut_fields_mask[3],false);\nvar r$op3442 = R.dF(cases3380.dict[$fn3450[4]],cases3380.$mut_fields_mask[4],false);\n$al3361 = L[2166];\nvar anf_tuple_fields3447 = G(r$op3442,\"l\",L[2166]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2167],L[2168]);\nvar anf_fun3444 = $ans3360;\n$al3361 = L[2169];\nvar anf_arg3445 = G(l$op3443,\"l\",L[2169]);\n$step3357 = 13;\n$al3361 = L[2168];\nif(typeof(anf_fun3444.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3444);\n}\n$ans3360 = anf_fun3444.app(anf_arg3445);\nbreak;\ncase 13: var anf_tuple_fields3448 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3446,anf_tuple_fields3447,anf_tuple_fields3448]);\nbreak;\ncase 14: $al3361 = L[2171];\nvar anf_tuple_fields3455 = G(ast3359,\"l\",L[2171]);\n$al3361 = L[2172];\nvar anf_tuple_fields3456 = G(ast3359,\"l\",L[2172]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2173],L[2174]);\nvar anf_fun3453 = $ans3360;\n$al3361 = L[2175];\nvar anf_arg3454 = G(ast3359,\"l\",L[2175]);\n$step3357 = 15;\n$al3361 = L[2174];\nif(typeof(anf_fun3453.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3453);\n}\n$ans3360 = anf_fun3453.app(anf_arg3454);\nbreak;\ncase 15: var anf_tuple_fields3457 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([anf_tuple_fields3455,anf_tuple_fields3456,anf_tuple_fields3457]);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3360;\ndefault: R.ffi.throwSpinnakerError(L[2135],$step3357);\n}\n}\nif($step3357 !== 16) {\n$ans3360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3361,$temp_lam3358,$step3357,[ast3359],[anf_arg3431,adjust3379,l3394,anf_arg3410,anf_arg3433,cases3380,l3412,l3435,l3446,anf_tuple_fields3395,args3429,anf_tuple_fields3455,anf_tuple_fields3456,anf_arg3392,anf_tuple_fields3413,anf_tuple_fields3436,anf_tuple_fields3447],$elidedFrames3363);\n}\nreturn $ans3360;\n};\nvar anf_assign3460 = R.mF($temp_lam3358,\"locs-from-application-ast\");\nlocs$from$application$ast3461.$var = anf_assign3460;\nR.nothing;\nvar $temp_lam3463 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2176($ast3464) {\nvar $step3462 = 0;\nvar $elidedFrames3468 = 0;\nvar $ans3465 = D;\nvar $al3466 = L[2176];\nif(R.isAR($ast3464)) {\n$step3462 = $ast3464.step;\n$al3466 = $ast3464.from;\n$ans3465 = $ast3464.ans;\n$elidedFrames3468 = $ast3464.elidedFrames;\nast3464 = $ast3464.args[0];\ncases3469 = $ast3464.vars[0];\nconstr$loc3481 = $ast3464.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2176],1,$t,false);\n}\nvar ast3464 = $ast3464;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3465 = R.mC();\n}\nwhile(!R.isContinuation($ans3465)) {\nswitch($step3462) {\ncase 0: var cases3469 = ast3464;\n$al3466 = L[2180];\n$step3462 = $cases_dispatch3487[cases3469.$name] || 3;\nbreak;\ncase 1: if(cases3469.$arity !== 5) {\nif(cases3469.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2179],5,cases3469.$arity,L[2180],cases3469.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2179],true,L[2180],cases3469.$loc);\n}\n}\nvar $fn3483 = cases3469.$constructor.$fieldNames;\nR.dF(cases3469.dict[$fn3483[0]],cases3469.$mut_fields_mask[0],false);\nvar constr$loc3481 = R.dF(cases3469.dict[$fn3483[1]],cases3469.$mut_fields_mask[1],false);\nR.dF(cases3469.dict[$fn3483[2]],cases3469.$mut_fields_mask[2],false);\nvar members3478 = R.dF(cases3469.dict[$fn3483[3]],cases3469.$mut_fields_mask[3],false);\nR.dF(cases3469.dict[$fn3483[4]],cases3469.$mut_fields_mask[4],false);\nvar $temp_lam3471 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2177($recv_3472) {\nvar $step3470 = 0;\nvar $elidedFrames3476 = 0;\nvar $ans3473 = D;\nvar $al3474 = L[2177];\nif(R.isAR($recv_3472)) {\n$step3470 = $recv_3472.step;\n$al3474 = $recv_3472.from;\n$ans3473 = $recv_3472.ans;\n$elidedFrames3476 = $recv_3472.elidedFrames;\nrecv_3472 = $recv_3472.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2177],1,$t,false);\n}\nvar recv_3472 = $recv_3472;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3473 = R.mC();\n}\nwhile(!R.isContinuation($ans3473)) {\nswitch($step3470) {\ncase 0: $step3470 = 1;\n$al3474 = L[2177];\n$ans3473 = G(recv_3472,\"l\",L[2177]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3473;\ndefault: R.ffi.throwSpinnakerError(L[2177],$step3470);\n}\n}\nif($step3470 !== 1) {\n$ans3473.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3474,$temp_lam3471,$step3470,[recv_3472],[],$elidedFrames3476);\n}\nreturn $ans3473;\n};\nvar anf_arg3479 = R.mF($temp_lam3471,\"\");\n$step3462 = 2;\n$ans3465 = R.maybeMethodCall1(members3478,\"map\",L[2178],anf_arg3479);\nbreak;\ncase 2: var anf_tuple_fields3480 = $ans3465;\n$step3462 = 4;\n$ans3465 = R.makeTuple([anf_tuple_fields3480,constr$loc3481]);\nbreak;\ncase 3: $ans3465 = R.throwNoCasesMatched(L[2180],cases3469);\n$step3462 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3465;\ndefault: R.ffi.throwSpinnakerError(L[2176],$step3462);\n}\n}\nif($step3462 !== 4) {\n$ans3465.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3466,$temp_lam3463,$step3462,[ast3464],[cases3469,constr$loc3481],$elidedFrames3468);\n}\nreturn $ans3465;\n};\nvar anf_assign3489 = R.mF($temp_lam3463,\"locs-from-definition-ast\");\nlocs$from$definition$ast3490.$var = anf_assign3489;\nR.nothing;\n$step3345 = 6;\n$al3352 = L[2314];\nif(typeof(maybe$stack$loc3348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,maybe$stack$loc3348);\n}\n$ans3351 = maybe$stack$loc3348.app((0),(false));\nbreak;\ncase 6: var application$loc3500 = $ans3351;\nvar $temp_lam3492 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2181($recv_3493) {\nvar $step3491 = 0;\nvar $elidedFrames3497 = 0;\nvar $ans3494 = D;\nvar $al3495 = L[2181];\nif(R.isAR($recv_3493)) {\n$step3491 = $recv_3493.step;\n$al3495 = $recv_3493.from;\n$ans3494 = $recv_3493.ans;\n$elidedFrames3497 = $recv_3493.elidedFrames;\nrecv_3493 = $recv_3493.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2181],1,$t,false);\n}\nvar recv_3493 = $recv_3493;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3494 = R.mC();\n}\nwhile(!R.isContinuation($ans3494)) {\nswitch($step3491) {\ncase 0: $al3495 = L[2182];\nvar anf_arg3498 = G(self3347,\"fun-def-loc\",L[2182]);\n$step3491 = 1;\n$ans3494 = R.maybeMethodCall1(recv_3493,\"contains\",L[2181],anf_arg3498);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3494;\ndefault: R.ffi.throwSpinnakerError(L[2181],$step3491);\n}\n}\nif($step3491 !== 1) {\n$ans3494.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3495,$temp_lam3492,$step3491,[recv_3493],[],$elidedFrames3497);\n}\nreturn $ans3494;\n};\nvar anf_arg3501 = R.mF($temp_lam3492,\"\");\n$step3345 = 7;\n$ans3351 = R.maybeMethodCall1(application$loc3500,\"and-then\",L[2183],anf_arg3501);\nbreak;\ncase 7: var anf_method_obj3502 = $ans3351;\n$step3345 = 8;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3502,\"or-else\",L[2184],(false));\nbreak;\ncase 8: var definition$contained3630 = $ans3351;\nvar arg_3503 = application$loc3500;\n$step3345 = 9;\n$al3352 = L[2313];\n// omitting isFunction check;\n$ans3351 = and$if176.$var.app(src$available3349,arg_3503);\nbreak;\ncase 9: var arg_3504 = $ans3351;\n$step3345 = 10;\n$al3352 = L[2312];\n// omitting isFunction check;\n$ans3351 = and$maybe193.$var.app(maybe$ast3350,arg_3504);\nbreak;\ncase 10: var anf_method_obj3505 = $ans3351;\n$step3345 = 11;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3505,\"and-then\",L[2185],locs$from$application$ast3461.$var);\nbreak;\ncase 11: var destructured$application3587 = $ans3351;\n$al3352 = L[2186];\nvar anf_arg3506 = G(self3347,\"fun-def-loc\",L[2186]);\n$step3345 = 12;\n$al3352 = L[2311];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,O8.dict.values.dict[\"some\"]);\n}\n$ans3351 = O8.dict.values.dict[\"some\"].app(anf_arg3506);\nbreak;\ncase 12: var arg_3507 = $ans3351;\n$step3345 = 13;\n$al3352 = L[2310];\n// omitting isFunction check;\n$ans3351 = and$if176.$var.app(src$available3349,arg_3507);\nbreak;\ncase 13: var arg_3508 = $ans3351;\n$step3345 = 14;\n$al3352 = L[2309];\n// omitting isFunction check;\n$ans3351 = and$maybe193.$var.app(maybe$ast3350,arg_3508);\nbreak;\ncase 14: var anf_method_obj3509 = $ans3351;\n$step3345 = 15;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3509,\"and-then\",L[2187],locs$from$definition$ast3490.$var);\nbreak;\ncase 15: var destructured$definition3656 = $ans3351;\nvar operator$prose3525 = {\"$var\":D};\nvar definition$prose3552 = {\"$var\":D};\nvar explanation$prose3566 = {\"$var\":D};\nvar $temp_lam3511 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2188($arguments3512,$operator3513) {\nvar $step3510 = 0;\nvar $elidedFrames3517 = 0;\nvar $ans3514 = D;\nvar $al3515 = L[2188];\nif(R.isAR($arguments3512)) {\n$step3510 = $arguments3512.step;\n$al3515 = $arguments3512.from;\n$ans3514 = $arguments3512.ans;\n$elidedFrames3517 = $arguments3512.elidedFrames;\narguments3512 = $arguments3512.args[0];\noperator3513 = $arguments3512.args[1];\nanf_fun3520 = $arguments3512.vars[0];\nanf_arg3521 = $arguments3512.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2188],2,$t,false);\n}\nvar arguments3512 = $arguments3512;\nvar operator3513 = $operator3513;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3514 = R.mC();\n}\nwhile(!R.isContinuation($ans3514)) {\nswitch($step3510) {\ncase 0: $ans3514 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2189],L[2190]);\nvar anf_fun3520 = $ans3514;\n$step3510 = 1;\n$al3515 = L[2193];\n// omitting isFunction check;\n$ans3514 = _plus5.app(were$was3518,(\" passed to the \"));\nbreak;\ncase 1: var anf_arg3519 = $ans3514;\n$step3510 = 2;\n$al3515 = L[2192];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,ED6.dict.values.dict[\"text\"]);\n}\n$ans3514 = ED6.dict.values.dict[\"text\"].app(anf_arg3519);\nbreak;\ncase 2: var anf_arg3521 = $ans3514;\n$step3510 = 3;\n$al3515 = L[2191];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,ED6.dict.values.dict[\"text\"]);\n}\n$ans3514 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg3522 = $ans3514;\n$step3510 = 4;\n$al3515 = L[2190];\nif(typeof(anf_fun3520.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,anf_fun3520);\n}\n$ans3514 = anf_fun3520.app(arguments3512,anf_arg3521,operator3513,anf_arg3522);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3514;\ndefault: R.ffi.throwSpinnakerError(L[2188],$step3510);\n}\n}\nif($step3510 !== 4) {\n$ans3514.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3515,$temp_lam3511,$step3510,[arguments3512,operator3513],[anf_fun3520,anf_arg3521],$elidedFrames3517);\n}\nreturn $ans3514;\n};\nvar anf_assign3524 = R.mF($temp_lam3511,\"operator-prose\");\noperator$prose3525.$var = anf_assign3524;\nR.nothing;\nvar $temp_lam3527 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2194($operator3528,$defined3529,$parameters3530,$show$definition3531) {\nvar $step3526 = 0;\nvar $elidedFrames3535 = 0;\nvar $ans3532 = D;\nvar $al3533 = L[2194];\nif(R.isAR($operator3528)) {\n$step3526 = $operator3528.step;\n$al3533 = $operator3528.from;\n$ans3532 = $operator3528.ans;\n$elidedFrames3535 = $operator3528.elidedFrames;\noperator3528 = $operator3528.args[0];\ndefined3529 = $operator3528.args[1];\nparameters3530 = $operator3528.args[2];\nshow$definition3531 = $operator3528.args[3];\nanf_fun3536 = $operator3528.vars[0];\nanf_arg3540 = $operator3528.vars[1];\nanf_fun3539 = $operator3528.vars[2];\nanf_array3544 = $operator3528.vars[3];\nanf_array3537 = $operator3528.vars[4];\nanf_arg3546 = $operator3528.vars[5];\nanf_arg3547 = $operator3528.vars[6];\nanf_fun3543 = $operator3528.vars[7];\nanf_fun3545 = $operator3528.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2194],4,$t,false);\n}\nvar operator3528 = $operator3528;\nvar defined3529 = $defined3529;\nvar parameters3530 = $parameters3530;\nvar show$definition3531 = $show$definition3531;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3532 = R.mC();\n}\nwhile(!R.isContinuation($ans3532)) {\nswitch($step3526) {\ncase 0: $step3526 = R.checkPyretTrue(show$definition3531)?1:8;\nbreak;\ncase 1: $ans3532 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2195],L[2196]);\nvar anf_fun3539 = $ans3532;\n$ans3532 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2197],L[2198]);\nvar anf_fun3536 = $ans3532;\n$ans3532 = R.makeArrayN((7));\nvar anf_array3537 = $ans3532;\n$step3526 = 2;\n$al3533 = L[2204];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 2: anf_array3537[0] = $ans3532;\nanf_array3537[1] = operator3528;\n$step3526 = 3;\n$al3533 = L[2203];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor \"));\nbreak;\ncase 3: anf_array3537[2] = $ans3532;\nanf_array3537[3] = defined3529;\n$step3526 = 4;\n$al3533 = L[2202];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 4: anf_array3537[4] = $ans3532;\nanf_array3537[5] = parameters3530;\n$step3526 = 5;\n$al3533 = L[2201];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 5: anf_array3537[6] = $ans3532;\n$step3526 = 6;\n$al3533 = L[2198];\nif(typeof(anf_fun3536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3536);\n}\n$ans3532 = anf_fun3536.app(anf_array3537);\nbreak;\ncase 6: var anf_arg3540 = $ans3532;\n$al3533 = L[2199];\nvar anf_arg3538 = G(self3347,\"fun-def-loc\",L[2199]);\n$step3526 = 7;\n$al3533 = L[2200];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg3538);\nbreak;\ncase 7: var anf_arg3541 = $ans3532;\n$step3526 = 19;\n$al3533 = L[2196];\nif(typeof(anf_fun3539.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3539);\n}\n$ans3532 = anf_fun3539.app(anf_arg3540,anf_arg3541);\nbreak;\ncase 8: $al3533 = L[2205];\nvar anf_arg3542 = G(self3347,\"fun-def-loc\",L[2205]);\n$step3526 = 9;\n$al3533 = L[2217];\nif(typeof(src$available3349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,src$available3349);\n}\n$ans3532 = src$available3349.app(anf_arg3542);\nbreak;\ncase 9: var anf_if3549 = $ans3532;\n$step3526 = R.checkPyretTrue(anf_if3549)?10:15;\nbreak;\ncase 10: $ans3532 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2206],L[2207]);\nvar anf_fun3543 = $ans3532;\n$ans3532 = R.makeArrayN((7));\nvar anf_array3544 = $ans3532;\n$step3526 = 11;\n$al3533 = L[2211];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array3544[0] = $ans3532;\nanf_array3544[1] = operator3528;\n$step3526 = 12;\n$al3533 = L[2210];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor \"));\nbreak;\ncase 12: anf_array3544[2] = $ans3532;\nanf_array3544[3] = defined3529;\n$step3526 = 13;\n$al3533 = L[2209];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 13: anf_array3544[4] = $ans3532;\nanf_array3544[5] = parameters3530;\n$step3526 = 14;\n$al3533 = L[2208];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 14: anf_array3544[6] = $ans3532;\n$step3526 = 19;\n$al3533 = L[2207];\nif(typeof(anf_fun3543.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3543);\n}\n$ans3532 = anf_fun3543.app(anf_array3544);\nbreak;\ncase 15: $ans3532 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2212],L[2213]);\nvar anf_fun3545 = $ans3532;\n$step3526 = 16;\n$al3533 = L[2216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 16: var anf_arg3546 = $ans3532;\n$step3526 = 17;\n$al3533 = L[2215];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor accepting \"));\nbreak;\ncase 17: var anf_arg3547 = $ans3532;\n$step3526 = 18;\n$al3533 = L[2214];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 18: var anf_arg3548 = $ans3532;\n$step3526 = 19;\n$al3533 = L[2213];\nif(typeof(anf_fun3545.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3545);\n}\n$ans3532 = anf_fun3545.app(anf_arg3546,operator3528,anf_arg3547,parameters3530,anf_arg3548);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans3532;\ndefault: R.ffi.throwSpinnakerError(L[2194],$step3526);\n}\n}\nif($step3526 !== 19) {\n$ans3532.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3533,$temp_lam3527,$step3526,[operator3528,defined3529,parameters3530,show$definition3531],[anf_fun3536,anf_arg3540,anf_fun3539,anf_array3544,anf_array3537,anf_arg3546,anf_arg3547,anf_fun3543,anf_fun3545],$elidedFrames3535);\n}\nreturn $ans3532;\n};\nvar anf_assign3551 = R.mF($temp_lam3527,\"definition-prose\");\ndefinition$prose3552.$var = anf_assign3551;\nR.nothing;\nvar $temp_lam3554 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2218($application$expression3555,$parameters3556,$arguments3557) {\nvar $step3553 = 0;\nvar $elidedFrames3561 = 0;\nvar $ans3558 = D;\nvar $al3559 = L[2218];\nif(R.isAR($application$expression3555)) {\n$step3553 = $application$expression3555.step;\n$al3559 = $application$expression3555.from;\n$ans3558 = $application$expression3555.ans;\n$elidedFrames3561 = $application$expression3555.elidedFrames;\napplication$expression3555 = $application$expression3555.args[0];\nparameters3556 = $application$expression3555.args[1];\narguments3557 = $application$expression3555.args[2];\nanf_fun3562 = $application$expression3555.vars[0];\nanf_array3563 = $application$expression3555.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2218],3,$t,false);\n}\nvar application$expression3555 = $application$expression3555;\nvar parameters3556 = $parameters3556;\nvar arguments3557 = $arguments3557;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3558 = R.mC();\n}\nwhile(!R.isContinuation($ans3558)) {\nswitch($step3553) {\ncase 0: $ans3558 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2219],L[2220]);\nvar anf_fun3562 = $ans3558;\n$ans3558 = R.makeArrayN((7));\nvar anf_array3563 = $ans3558;\n$step3553 = 1;\n$al3559 = L[2224];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: anf_array3563[0] = $ans3558;\nanf_array3563[1] = application$expression3555;\n$step3553 = 2;\n$al3559 = L[2223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array3563[2] = $ans3558;\nanf_array3563[3] = parameters3556;\n$step3553 = 3;\n$al3559 = L[2222];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array3563[4] = $ans3558;\nanf_array3563[5] = arguments3557;\n$step3553 = 4;\n$al3559 = L[2221];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array3563[6] = $ans3558;\n$step3553 = 5;\n$al3559 = L[2220];\nif(typeof(anf_fun3562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,anf_fun3562);\n}\n$ans3558 = anf_fun3562.app(anf_array3563);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3558;\ndefault: R.ffi.throwSpinnakerError(L[2218],$step3553);\n}\n}\nif($step3553 !== 5) {\n$ans3558.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3559,$temp_lam3554,$step3553,[application$expression3555,parameters3556,arguments3557],[anf_fun3562,anf_array3563],$elidedFrames3561);\n}\nreturn $ans3558;\n};\nvar anf_assign3565 = R.mF($temp_lam3554,\"explanation-prose\");\nexplanation$prose3566.$var = anf_assign3565;\nR.nothing;\nvar $temp_lam3568 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2225($v3569) {\nvar $step3567 = 0;\nvar $elidedFrames3573 = 0;\nvar $ans3570 = D;\nvar $al3571 = L[2225];\nif(R.isAR($v3569)) {\n$step3567 = $v3569.step;\n$al3571 = $v3569.from;\n$ans3570 = $v3569.ans;\n$elidedFrames3573 = $v3569.elidedFrames;\nv3569 = $v3569.args[0];\ntup3574 = $v3569.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2225],1,$t,false);\n}\nvar v3569 = $v3569;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3570 = R.mC();\n}\nwhile(!R.isContinuation($ans3570)) {\nswitch($step3567) {\ncase 0: var tup3574 = v3569;\n$step3567 = 1;\n$al3571 = L[2230];\nR.checkTupleBind(tup3574,3,L[2230]);\nbreak;\ncase 1: R.getTuple(tup3574,0,L[2226]);\nR.getTuple(tup3574,1,L[2227]);\nvar args3582 = R.getTuple(tup3574,2,L[2228]);\n$step3567 = 2;\nvar $temp_lam3576 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2229($arg_3577) {\nvar $step3575 = 0;\nvar $elidedFrames3581 = 0;\nvar $ans3578 = D;\nvar $al3579 = L[2229];\nif(R.isAR($arg_3577)) {\n$step3575 = $arg_3577.step;\n$al3579 = $arg_3577.from;\n$ans3578 = $arg_3577.ans;\n$elidedFrames3581 = $arg_3577.elidedFrames;\narg_3577 = $arg_3577.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2229],1,$t,false);\n}\nvar arg_3577 = $arg_3577;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3578 = R.mC();\n}\nwhile(!R.isContinuation($ans3578)) {\nswitch($step3575) {\ncase 0: $step3575 = 1;\n$al3579 = L[2229];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3579,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3578 = ED6.dict.values.dict[\"highlight\"].app(arg_3577,args3582,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3578;\ndefault: R.ffi.throwSpinnakerError(L[2229],$step3575);\n}\n}\nif($step3575 !== 1) {\n$ans3578.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3579,$temp_lam3576,$step3575,[arg_3577],[],$elidedFrames3581);\n}\nreturn $ans3578;\n};\n$ans3570 = R.mF($temp_lam3576,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3570;\ndefault: R.ffi.throwSpinnakerError(L[2225],$step3567);\n}\n}\nif($step3567 !== 2) {\n$ans3570.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3571,$temp_lam3568,$step3567,[v3569],[tup3574],$elidedFrames3573);\n}\nreturn $ans3570;\n};\nvar anf_arg3588 = R.mF($temp_lam3568,\"\");\n$step3345 = 16;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2231],anf_arg3588);\nbreak;\ncase 16: var anf_method_obj3597 = $ans3351;\nvar $temp_lam3590 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2232($v3591) {\nvar $step3589 = 0;\nvar $elidedFrames3595 = 0;\nvar $ans3592 = D;\nvar $al3593 = L[2232];\nif(R.isAR($v3591)) {\n$step3589 = $v3591.step;\n$al3593 = $v3591.from;\n$ans3592 = $v3591.ans;\n$elidedFrames3595 = $v3591.elidedFrames;\nv3591 = $v3591.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2232],1,$t,false);\n}\nvar v3591 = $v3591;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3592 = R.mC();\n}\nwhile(!R.isContinuation($ans3592)) {\nswitch($step3589) {\ncase 0: $step3589 = 1;\n$ans3592 = v3591;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3592;\ndefault: R.ffi.throwSpinnakerError(L[2232],$step3589);\n}\n}\nif($step3589 !== 1) {\n$ans3592.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3593,$temp_lam3590,$step3589,[v3591],[],$elidedFrames3595);\n}\nreturn $ans3592;\n};\nvar anf_arg3598 = R.mF($temp_lam3590,\"\");\n$step3345 = 17;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3597,\"or-else\",L[2233],anf_arg3598);\nbreak;\ncase 17: var arguments3707 = $ans3351;\nvar $temp_lam3600 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2234($v3601) {\nvar $step3599 = 0;\nvar $elidedFrames3605 = 0;\nvar $ans3602 = D;\nvar $al3603 = L[2234];\nif(R.isAR($v3601)) {\n$step3599 = $v3601.step;\n$al3603 = $v3601.from;\n$ans3602 = $v3601.ans;\n$elidedFrames3605 = $v3601.elidedFrames;\nv3601 = $v3601.args[0];\ntup3606 = $v3601.vars[0];\napp$loc3608 = $v3601.vars[1];\nanf_arg3609 = $v3601.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2234],1,$t,false);\n}\nvar v3601 = $v3601;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3602 = R.mC();\n}\nwhile(!R.isContinuation($ans3602)) {\nswitch($step3599) {\ncase 0: var tup3606 = v3601;\n$step3599 = 1;\n$al3603 = L[2242];\nR.checkTupleBind(tup3606,3,L[2242]);\nbreak;\ncase 1: var app$loc3608 = R.getTuple(tup3606,0,L[2235]);\nR.getTuple(tup3606,1,L[2236]);\nR.getTuple(tup3606,2,L[2237]);\n$step3599 = 2;\n$al3603 = L[2241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,ED6.dict.values.dict[\"text\"]);\n}\n$ans3602 = ED6.dict.values.dict[\"text\"].app((\"application expression\"));\nbreak;\ncase 2: var anf_arg3609 = $ans3602;\n$ans3602 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2238],L[2239]);\nvar anf_fun3607 = $ans3602;\n$step3599 = 3;\n$al3603 = L[2239];\nif(typeof(anf_fun3607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,anf_fun3607);\n}\n$ans3602 = anf_fun3607.app(app$loc3608);\nbreak;\ncase 3: var anf_arg3610 = $ans3602;\n$step3599 = 4;\n$al3603 = L[2240];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3602 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3609,anf_arg3610,(-1));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3602;\ndefault: R.ffi.throwSpinnakerError(L[2234],$step3599);\n}\n}\nif($step3599 !== 4) {\n$ans3602.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3603,$temp_lam3600,$step3599,[v3601],[tup3606,app$loc3608,anf_arg3609],$elidedFrames3605);\n}\nreturn $ans3602;\n};\nvar anf_arg3614 = R.mF($temp_lam3600,\"\");\n$step3345 = 18;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2243],anf_arg3614);\nbreak;\ncase 18: var anf_method_obj3615 = $ans3351;\n$step3345 = 19;\n$al3352 = L[2308];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"application\"));\nbreak;\ncase 19: var anf_arg3616 = $ans3351;\n$step3345 = 20;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3615,\"or-else\",L[2244],anf_arg3616);\nbreak;\ncase 20: var application$expression3693 = $ans3351;\nvar $temp_lam3618 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2245($v3619) {\nvar $step3617 = 0;\nvar $elidedFrames3623 = 0;\nvar $ans3620 = D;\nvar $al3621 = L[2245];\nif(R.isAR($v3619)) {\n$step3617 = $v3619.step;\n$al3621 = $v3619.from;\n$ans3620 = $v3619.ans;\n$elidedFrames3623 = $v3619.elidedFrames;\nv3619 = $v3619.args[0];\ntup3624 = $v3619.vars[0];\nop$loc3626 = $v3619.vars[1];\nanf_arg3627 = $v3619.vars[2];\nanf_arg3628 = $v3619.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2245],1,$t,false);\n}\nvar v3619 = $v3619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3620 = R.mC();\n}\nwhile(!R.isContinuation($ans3620)) {\nswitch($step3617) {\ncase 0: var tup3624 = v3619;\n$step3617 = 1;\n$al3621 = L[2253];\nR.checkTupleBind(tup3624,3,L[2253]);\nbreak;\ncase 1: R.getTuple(tup3624,0,L[2246]);\nvar op$loc3626 = R.getTuple(tup3624,1,L[2247]);\nR.getTuple(tup3624,2,L[2248]);\n$step3617 = 2;\n$al3621 = L[2252];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,ED6.dict.values.dict[\"text\"]);\n}\n$ans3620 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 2: var anf_arg3627 = $ans3620;\n$ans3620 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2249],L[2250]);\nvar anf_fun3625 = $ans3620;\n$step3617 = 3;\n$al3621 = L[2250];\nif(typeof(anf_fun3625.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,anf_fun3625);\n}\n$ans3620 = anf_fun3625.app(op$loc3626);\nbreak;\ncase 3: var anf_arg3628 = $ans3620;\n$step3617 = R.checkPyretTrue(definition$contained3630)?4:5;\nbreak;\ncase 4: $step3617 = 6;\n$ans3620 = (-2);\nbreak;\ncase 5: $step3617 = 6;\n$ans3620 = (2);\nbreak;\ncase 6: var anf_arg3629 = $ans3620;\n$step3617 = 7;\n$al3621 = L[2251];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3620 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3627,anf_arg3628,anf_arg3629);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3620;\ndefault: R.ffi.throwSpinnakerError(L[2245],$step3617);\n}\n}\nif($step3617 !== 7) {\n$ans3620.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3621,$temp_lam3618,$step3617,[v3619],[tup3624,op$loc3626,anf_arg3627,anf_arg3628],$elidedFrames3623);\n}\nreturn $ans3620;\n};\nvar anf_arg3634 = R.mF($temp_lam3618,\"\");\n$step3345 = 21;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2254],anf_arg3634);\nbreak;\ncase 21: var anf_method_obj3635 = $ans3351;\n$step3345 = 22;\n$al3352 = L[2307];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 22: var anf_arg3636 = $ans3351;\n$step3345 = 23;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3635,\"or-else\",L[2255],anf_arg3636);\nbreak;\ncase 23: var operator3710 = $ans3351;\nvar $temp_lam3638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2256($v3639) {\nvar $step3637 = 0;\nvar $elidedFrames3643 = 0;\nvar $ans3640 = D;\nvar $al3641 = L[2256];\nif(R.isAR($v3639)) {\n$step3637 = $v3639.step;\n$al3641 = $v3639.from;\n$ans3640 = $v3639.ans;\n$elidedFrames3643 = $v3639.elidedFrames;\nv3639 = $v3639.args[0];\ntup3644 = $v3639.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2256],1,$t,false);\n}\nvar v3639 = $v3639;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3640 = R.mC();\n}\nwhile(!R.isContinuation($ans3640)) {\nswitch($step3637) {\ncase 0: var tup3644 = v3639;\n$step3637 = 1;\n$al3641 = L[2260];\nR.checkTupleBind(tup3644,2,L[2260]);\nbreak;\ncase 1: var params3652 = R.getTuple(tup3644,0,L[2257]);\nR.getTuple(tup3644,1,L[2258]);\n$step3637 = 2;\nvar $temp_lam3646 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2259($arg_3647) {\nvar $step3645 = 0;\nvar $elidedFrames3651 = 0;\nvar $ans3648 = D;\nvar $al3649 = L[2259];\nif(R.isAR($arg_3647)) {\n$step3645 = $arg_3647.step;\n$al3649 = $arg_3647.from;\n$ans3648 = $arg_3647.ans;\n$elidedFrames3651 = $arg_3647.elidedFrames;\narg_3647 = $arg_3647.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2259],1,$t,false);\n}\nvar arg_3647 = $arg_3647;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3648 = R.mC();\n}\nwhile(!R.isContinuation($ans3648)) {\nswitch($step3645) {\ncase 0: $step3645 = 1;\n$al3649 = L[2259];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3649,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3648 = ED6.dict.values.dict[\"highlight\"].app(arg_3647,params3652,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3648;\ndefault: R.ffi.throwSpinnakerError(L[2259],$step3645);\n}\n}\nif($step3645 !== 1) {\n$ans3648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3649,$temp_lam3646,$step3645,[arg_3647],[],$elidedFrames3651);\n}\nreturn $ans3648;\n};\n$ans3640 = R.mF($temp_lam3646,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3640;\ndefault: R.ffi.throwSpinnakerError(L[2256],$step3637);\n}\n}\nif($step3637 !== 2) {\n$ans3640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3641,$temp_lam3638,$step3637,[v3639],[tup3644],$elidedFrames3643);\n}\nreturn $ans3640;\n};\nvar anf_arg3657 = R.mF($temp_lam3638,\"\");\n$step3345 = 24;\n$ans3351 = R.maybeMethodCall1(destructured$definition3656,\"and-then\",L[2261],anf_arg3657);\nbreak;\ncase 24: var anf_method_obj3666 = $ans3351;\nvar $temp_lam3659 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2262($v3660) {\nvar $step3658 = 0;\nvar $elidedFrames3664 = 0;\nvar $ans3661 = D;\nvar $al3662 = L[2262];\nif(R.isAR($v3660)) {\n$step3658 = $v3660.step;\n$al3662 = $v3660.from;\n$ans3661 = $v3660.ans;\n$elidedFrames3664 = $v3660.elidedFrames;\nv3660 = $v3660.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2262],1,$t,false);\n}\nvar v3660 = $v3660;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3661 = R.mC();\n}\nwhile(!R.isContinuation($ans3661)) {\nswitch($step3658) {\ncase 0: $step3658 = 1;\n$ans3661 = v3660;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3661;\ndefault: R.ffi.throwSpinnakerError(L[2262],$step3658);\n}\n}\nif($step3658 !== 1) {\n$ans3661.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3662,$temp_lam3659,$step3658,[v3660],[],$elidedFrames3664);\n}\nreturn $ans3661;\n};\nvar anf_arg3667 = R.mF($temp_lam3659,\"\");\n$step3345 = 25;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3666,\"or-else\",L[2263],anf_arg3667);\nbreak;\ncase 25: var parameters3712 = $ans3351;\nvar $temp_lam3669 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2264($v3670) {\nvar $step3668 = 0;\nvar $elidedFrames3674 = 0;\nvar $ans3671 = D;\nvar $al3672 = L[2264];\nif(R.isAR($v3670)) {\n$step3668 = $v3670.step;\n$al3672 = $v3670.from;\n$ans3671 = $v3670.ans;\n$elidedFrames3674 = $v3670.elidedFrames;\nv3670 = $v3670.args[0];\nanf_arg3677 = $v3670.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2264],1,$t,false);\n}\nvar v3670 = $v3670;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3671 = R.mC();\n}\nwhile(!R.isContinuation($ans3671)) {\nswitch($step3668) {\ncase 0: $step3668 = 1;\n$al3672 = L[2269];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,ED6.dict.values.dict[\"text\"]);\n}\n$ans3671 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 1: var anf_arg3677 = $ans3671;\n$ans3671 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2265],L[2266]);\nvar anf_fun3675 = $ans3671;\n$al3672 = L[2267];\nvar anf_arg3676 = G(self3347,\"fun-def-loc\",L[2267]);\n$step3668 = 2;\n$al3672 = L[2266];\nif(typeof(anf_fun3675.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,anf_fun3675);\n}\n$ans3671 = anf_fun3675.app(anf_arg3676);\nbreak;\ncase 2: var anf_arg3678 = $ans3671;\n$step3668 = 3;\n$al3672 = L[2268];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3671 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3677,anf_arg3678,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3671;\ndefault: R.ffi.throwSpinnakerError(L[2264],$step3668);\n}\n}\nif($step3668 !== 3) {\n$ans3671.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3672,$temp_lam3669,$step3668,[v3670],[anf_arg3677],$elidedFrames3674);\n}\nreturn $ans3671;\n};\nvar anf_arg3680 = R.mF($temp_lam3669,\"\");\n$step3345 = 26;\n$ans3351 = R.maybeMethodCall1(destructured$definition3656,\"and-then\",L[2270],anf_arg3680);\nbreak;\ncase 26: var anf_method_obj3681 = $ans3351;\n$step3345 = 27;\n$al3352 = L[2306];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 27: var anf_arg3682 = $ans3351;\n$step3345 = 28;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3681,\"or-else\",L[2271],anf_arg3682);\nbreak;\ncase 28: var defined3714 = $ans3351;\n$ans3351 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2272],L[2273]);\nvar anf_fun3721 = $ans3351;\nvar $temp_lam3684 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2274($v3685) {\nvar $step3683 = 0;\nvar $elidedFrames3689 = 0;\nvar $ans3686 = D;\nvar $al3687 = L[2274];\nif(R.isAR($v3685)) {\n$step3683 = $v3685.step;\n$al3687 = $v3685.from;\n$ans3686 = $v3685.ans;\n$elidedFrames3689 = $v3685.elidedFrames;\nv3685 = $v3685.args[0];\ntup3690 = $v3685.vars[0];\napp$loc3695 = $v3685.vars[1];\nanf_fun3696 = $v3685.vars[2];\nanf_fun3691 = $v3685.vars[3];\nanf_arg3692 = $v3685.vars[4];\nanf_arg3697 = $v3685.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2274],1,$t,false);\n}\nvar v3685 = $v3685;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3686 = R.mC();\n}\nwhile(!R.isContinuation($ans3686)) {\nswitch($step3683) {\ncase 0: var tup3690 = v3685;\n$step3683 = 1;\n$al3687 = L[2285];\nR.checkTupleBind(tup3690,3,L[2285]);\nbreak;\ncase 1: var app$loc3695 = R.getTuple(tup3690,0,L[2275]);\nR.getTuple(tup3690,1,L[2276]);\nR.getTuple(tup3690,2,L[2277]);\n$ans3686 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2278],L[2279]);\nvar anf_fun3696 = $ans3686;\n$ans3686 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2280],L[2281]);\nvar anf_fun3691 = $ans3686;\n$step3683 = 2;\n$al3687 = L[2284];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"text\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 2: var anf_arg3692 = $ans3686;\n$step3683 = 3;\n$al3687 = L[2283];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"text\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 3: var anf_arg3694 = $ans3686;\n$step3683 = 4;\n$al3687 = L[2281];\nif(typeof(anf_fun3691.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,anf_fun3691);\n}\n$ans3686 = anf_fun3691.app(anf_arg3692,application$expression3693,anf_arg3694);\nbreak;\ncase 4: var anf_arg3697 = $ans3686;\n$step3683 = 5;\n$al3687 = L[2282];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"cmcode\"].app(app$loc3695);\nbreak;\ncase 5: var anf_arg3698 = $ans3686;\n$step3683 = 6;\n$al3687 = L[2279];\nif(typeof(anf_fun3696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,anf_fun3696);\n}\n$ans3686 = anf_fun3696.app(anf_arg3697,anf_arg3698);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3686;\ndefault: R.ffi.throwSpinnakerError(L[2274],$step3683);\n}\n}\nif($step3683 !== 6) {\n$ans3686.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3687,$temp_lam3684,$step3683,[v3685],[tup3690,app$loc3695,anf_fun3696,anf_fun3691,anf_arg3692,anf_arg3697],$elidedFrames3689);\n}\nreturn $ans3686;\n};\nvar anf_arg3702 = R.mF($temp_lam3684,\"\");\n$step3345 = 29;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2286],anf_arg3702);\nbreak;\ncase 29: var anf_method_obj3705 = $ans3351;\n$ans3351 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2287],L[2288]);\nvar anf_fun3703 = $ans3351;\n$step3345 = 30;\n$al3352 = L[2305];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"An application errored.\"));\nbreak;\ncase 30: var anf_arg3704 = $ans3351;\n$step3345 = 31;\n$al3352 = L[2288];\nif(typeof(anf_fun3703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,anf_fun3703);\n}\n$ans3351 = anf_fun3703.app(anf_arg3704);\nbreak;\ncase 31: var anf_arg3706 = $ans3351;\n$step3345 = 32;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3705,\"or-else\",L[2289],anf_arg3706);\nbreak;\ncase 32: var anf_arg3722 = $ans3351;\n$step3345 = 33;\n$al3352 = L[2304];\nif(typeof(ED6.dict.values.dict[\"ed-args\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"ed-args\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"ed-args\"].app(fun$app$arity3356);\nbreak;\ncase 33: var anf_arg3708 = $ans3351;\n$step3345 = 34;\n$al3352 = L[2303];\nif(typeof(arguments3707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,arguments3707);\n}\n$ans3351 = arguments3707.app(anf_arg3708);\nbreak;\ncase 34: var anf_arg3709 = $ans3351;\n$step3345 = 35;\n$al3352 = L[2302];\nif(typeof(operator$prose3525.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,operator$prose3525.$var);\n}\n$ans3351 = operator$prose3525.$var.app(anf_arg3709,operator3710);\nbreak;\ncase 35: var anf_arg3723 = $ans3351;\n$al3352 = L[2290];\nvar anf_arg3711 = G(self3347,\"fun-def-arity\",L[2290]);\n$step3345 = 36;\n$al3352 = L[2301];\nif(typeof(ED6.dict.values.dict[\"ed-params\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"ed-params\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"ed-params\"].app(anf_arg3711);\nbreak;\ncase 36: var anf_arg3713 = $ans3351;\n$step3345 = 37;\n$al3352 = L[2300];\nif(typeof(parameters3712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,parameters3712);\n}\n$ans3351 = parameters3712.app(anf_arg3713);\nbreak;\ncase 37: var anf_arg3715 = $ans3351;\n$step3345 = 38;\n$al3352 = L[2299];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,not5);\n}\n$ans3351 = not5.app(definition$contained3630);\nbreak;\ncase 38: var anf_if3728 = $ans3351;\n$step3345 = R.checkPyretTrue(anf_if3728)?39:41;\nbreak;\ncase 39: $al3352 = L[2297];\nvar anf_arg3726 = G(self3347,\"fun-def-loc\",L[2297]);\n$step3345 = 40;\n$al3352 = L[2298];\nif(typeof(src$available3349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,src$available3349);\n}\n$ans3351 = src$available3349.app(anf_arg3726);\nbreak;\ncase 40: var anf_arg3727 = $ans3351;\n$ans3351 = R.checkWrapBoolean(anf_arg3727);\n$step3345 = 42;\nbreak;\ncase 41: $step3345 = 42;\n$ans3351 = (false);\nbreak;\ncase 42: var anf_arg3716 = $ans3351;\n$step3345 = 43;\n$al3352 = L[2296];\nif(typeof(definition$prose3552.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,definition$prose3552.$var);\n}\n$ans3351 = definition$prose3552.$var.app(operator3710,defined3714,anf_arg3715,anf_arg3716);\nbreak;\ncase 43: var anf_arg3724 = $ans3351;\n$step3345 = 44;\n$al3352 = L[2295];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"parameters\"));\nbreak;\ncase 44: var anf_arg3717 = $ans3351;\n$step3345 = 45;\n$al3352 = L[2294];\nif(typeof(parameters3712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,parameters3712);\n}\n$ans3351 = parameters3712.app(anf_arg3717);\nbreak;\ncase 45: var anf_arg3719 = $ans3351;\n$step3345 = 46;\n$al3352 = L[2293];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 46: var anf_arg3718 = $ans3351;\n$step3345 = 47;\n$al3352 = L[2292];\nif(typeof(arguments3707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,arguments3707);\n}\n$ans3351 = arguments3707.app(anf_arg3718);\nbreak;\ncase 47: var anf_arg3720 = $ans3351;\n$step3345 = 48;\n$al3352 = L[2291];\nif(typeof(explanation$prose3566.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,explanation$prose3566.$var);\n}\n$ans3351 = explanation$prose3566.$var.app(application$expression3693,anf_arg3719,anf_arg3720);\nbreak;\ncase 48: var anf_arg3725 = $ans3351;\n$step3345 = 49;\n$al3352 = L[2273];\nif(typeof(anf_fun3721.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,anf_fun3721);\n}\n$ans3351 = anf_fun3721.app(anf_arg3722,anf_arg3723,anf_arg3724,anf_arg3725);\nbreak;\ncase 49: ++R.GAS;\nreturn $ans3351;\ndefault: R.ffi.throwSpinnakerError(L[2132],$step3345);\n}\n}\nif($step3345 !== 49) {\n$ans3351.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3352,$temp_full3346,$step3345,[self3347,maybe$stack$loc3348,src$available3349,maybe$ast3350],[fun$app$arity3356,application$expression3693,definition$prose3552,anf_fun3703,explanation$prose3566,anf_arg3722,anf_arg3723,arguments3707,application$loc3500,anf_arg3724,locs$from$application$ast3461,parameters3712,anf_arg3715,anf_method_obj3681,definition$contained3630,locs$from$definition$ast3490,operator3710,anf_arg3719,defined3714,were$was3518,destructured$application3587,destructured$definition3656,anf_method_obj3635,operator$prose3525,anf_method_obj3615,anf_method_obj3705,anf_fun3721],$elidedFrames3354);\n}\nreturn $ans3351;\n};\nvar anf_variant_member5950 = R.makeMethod3($temp_full3346,\"render-fancy-reason\");\nvar $temp_full3732 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2316($self3733) {\nvar $step3731 = 0;\nvar $elidedFrames3737 = 0;\nvar $ans3734 = D;\nvar $al3735 = L[2316];\nif(R.isAR($self3733)) {\n$step3731 = $self3733.step;\n$al3735 = $self3733.from;\n$ans3734 = $self3733.ans;\n$elidedFrames3737 = $self3733.elidedFrames;\nself3733 = $self3733.args[0];\nnum$args3739 = $self3733.vars[0];\nanf_arg3791 = $self3733.vars[1];\nanf_arg3792 = $self3733.vars[2];\nanf_fun3801 = $self3733.vars[3];\nanf_arg3797 = $self3733.vars[4];\nanf_arg3798 = $self3733.vars[5];\nthis$str3756 = $self3733.vars[6];\nanf_arg3802 = $self3733.vars[7];\nanf_arg3803 = $self3733.vars[8];\nanf_arg3804 = $self3733.vars[9];\nanf_arg3806 = $self3733.vars[10];\nanf_fun3790 = $self3733.vars[11];\nexp$arg$str3750 = $self3733.vars[12];\narg$str3758 = $self3733.vars[13];\nanf_fun3796 = $self3733.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2316],1,$t,true);\n}\nvar self3733 = $self3733;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3734 = R.mC();\n}\nwhile(!R.isContinuation($ans3734)) {\nswitch($step3731) {\ncase 0: $al3735 = L[2317];\nvar anf_method_obj3738 = G(self3733,\"fun-app-args\",L[2317]);\n$step3731 = 1;\n$ans3734 = R.maybeMethodCall0(anf_method_obj3738,\"length\",L[2318]);\nbreak;\ncase 1: var num$args3739 = $ans3734;\n$step3731 = 2;\n$al3735 = L[2382];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(num$args3739,(1));\nbreak;\ncase 2: var anf_if3810 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3810)?3:4;\nbreak;\ncase 3: $step3731 = 5;\n$ans3734 = (\"this \");\nbreak;\ncase 4: $step3731 = 5;\n$ans3734 = (\"these \");\nbreak;\ncase 5: var this$str3756 = $ans3734;\n$step3731 = 6;\n$al3735 = L[2381];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(num$args3739,(1));\nbreak;\ncase 6: var anf_if3809 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3809)?7:8;\nbreak;\ncase 7: $step3731 = 9;\n$ans3734 = (\" argument:\");\nbreak;\ncase 8: $step3731 = 9;\n$ans3734 = (\" arguments:\");\nbreak;\ncase 9: var arg$str3758 = $ans3734;\n$al3735 = L[2319];\nvar anf_arg3740 = G(self3733,\"fun-def-arity\",L[2319]);\n$step3731 = 10;\n$al3735 = L[2380];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(anf_arg3740,(1));\nbreak;\ncase 10: var anf_if3808 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3808)?11:12;\nbreak;\ncase 11: $step3731 = 13;\n$ans3734 = (\" argument\");\nbreak;\ncase 12: $step3731 = 13;\n$ans3734 = (\" arguments\");\nbreak;\ncase 13: var exp$arg$str3750 = $ans3734;\nvar $temp_lam3742 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2320($caller$loc3743) {\nvar $step3741 = 0;\nvar $elidedFrames3747 = 0;\nvar $ans3744 = D;\nvar $al3745 = L[2320];\nif(R.isAR($caller$loc3743)) {\n$step3741 = $caller$loc3743.step;\n$al3745 = $caller$loc3743.from;\n$ans3744 = $caller$loc3743.ans;\n$elidedFrames3747 = $caller$loc3743.elidedFrames;\ncaller$loc3743 = $caller$loc3743.args[0];\nanf_arg3780 = $caller$loc3743.vars[0];\nanf_arg3781 = $caller$loc3743.vars[1];\nanf_fun3779 = $caller$loc3743.vars[2];\nanf_arg3760 = $caller$loc3743.vars[3];\nanf_array3785 = $caller$loc3743.vars[4];\nanf_fun3759 = $caller$loc3743.vars[5];\nanf_arg3761 = $caller$loc3743.vars[6];\nanf_arg3772 = $caller$loc3743.vars[7];\nanf_arg3773 = $caller$loc3743.vars[8];\nanf_arg3753 = $caller$loc3743.vars[9];\nanf_arg3754 = $caller$loc3743.vars[10];\nanf_arg3765 = $caller$loc3743.vars[11];\nanf_arg3766 = $caller$loc3743.vars[12];\nanf_arg3767 = $caller$loc3743.vars[13];\nanf_fun3771 = $caller$loc3743.vars[14];\nanf_fun3784 = $caller$loc3743.vars[15];\nanf_fun3752 = $caller$loc3743.vars[16];\nanf_fun3764 = $caller$loc3743.vars[17];\nanf_fun3776 = $caller$loc3743.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2320],1,$t,false);\n}\nvar caller$loc3743 = $caller$loc3743;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3744 = R.mC();\n}\nwhile(!R.isContinuation($ans3744)) {\nswitch($step3741) {\ncase 0: $al3745 = L[2321];\nvar anf_method_obj3748 = G(self3733,\"fun-def-loc\",L[2321]);\n$step3741 = 1;\n$ans3744 = R.maybeMethodCall0(anf_method_obj3748,\"is-builtin\",L[2322]);\nbreak;\ncase 1: var anf_if3786 = $ans3744;\n$step3741 = R.checkPyretTrue(anf_if3786)?2:14;\nbreak;\ncase 2: $ans3744 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2323],L[2324]);\nvar anf_fun3764 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2325],L[2326]);\nvar anf_fun3752 = $ans3744;\n$step3741 = 3;\n$al3745 = L[2339];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 3: var anf_arg3753 = $ans3744;\n$al3745 = L[2327];\nvar anf_arg3749 = G(self3733,\"fun-def-arity\",L[2327]);\n$step3741 = 4;\n$al3745 = L[2338];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(anf_arg3749);\nbreak;\ncase 4: var anf_arg3754 = $ans3744;\n$step3741 = 5;\n$al3745 = L[2337];\n// omitting isFunction check;\n$ans3744 = _plus5.app(exp$arg$str3750,(\" at\"));\nbreak;\ncase 5: var anf_arg3751 = $ans3744;\n$step3741 = 6;\n$al3745 = L[2336];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3751);\nbreak;\ncase 6: var anf_arg3755 = $ans3744;\n$step3741 = 7;\n$al3745 = L[2326];\nif(typeof(anf_fun3752.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3752);\n}\n$ans3744 = anf_fun3752.app(anf_arg3753,anf_arg3754,anf_arg3755);\nbreak;\ncase 7: var anf_arg3765 = $ans3744;\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(caller$loc3743);\nvar anf_arg3766 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2328],L[2329]);\nvar anf_fun3759 = $ans3744;\n$step3741 = 8;\n$al3745 = L[2335];\n// omitting isFunction check;\n$ans3744 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 8: var anf_arg3757 = $ans3744;\n$step3741 = 9;\n$al3745 = L[2334];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3757);\nbreak;\ncase 9: var anf_arg3760 = $ans3744;\n$step3741 = 10;\n$al3745 = L[2333];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 10: var anf_arg3761 = $ans3744;\n$step3741 = 11;\n$al3745 = L[2332];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 11: var anf_arg3762 = $ans3744;\n$step3741 = 12;\n$al3745 = L[2329];\nif(typeof(anf_fun3759.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3759);\n}\n$ans3744 = anf_fun3759.app(anf_arg3760,anf_arg3761,anf_arg3762);\nbreak;\ncase 12: var anf_arg3767 = $ans3744;\n$al3745 = L[2330];\nvar anf_arg3763 = G(self3733,\"fun-app-args\",L[2330]);\n$step3741 = 13;\n$al3745 = L[2331];\n// omitting isFunction check;\n$ans3744 = vert$list$values58.$var.app(anf_arg3763);\nbreak;\ncase 13: var anf_arg3768 = $ans3744;\n$step3741 = 28;\n$al3745 = L[2324];\nif(typeof(anf_fun3764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3764);\n}\n$ans3744 = anf_fun3764.app(anf_arg3765,anf_arg3766,anf_arg3767,anf_arg3768);\nbreak;\ncase 14: $ans3744 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2340],L[2341]);\nvar anf_fun3784 = $ans3744;\n$ans3744 = R.makeArrayN((6));\nvar anf_array3785 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2342],L[2343]);\nvar anf_fun3771 = $ans3744;\n$step3741 = 15;\n$al3745 = L[2360];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 15: var anf_arg3772 = $ans3744;\n$al3745 = L[2344];\nvar anf_arg3769 = G(self3733,\"fun-def-arity\",L[2344]);\n$step3741 = 16;\n$al3745 = L[2359];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(anf_arg3769);\nbreak;\ncase 16: var anf_arg3773 = $ans3744;\n$step3741 = 17;\n$al3745 = L[2358];\n// omitting isFunction check;\n$ans3744 = _plus5.app(exp$arg$str3750,(\" when calling the function at \"));\nbreak;\ncase 17: var anf_arg3770 = $ans3744;\n$step3741 = 18;\n$al3745 = L[2357];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3770);\nbreak;\ncase 18: var anf_arg3774 = $ans3744;\n$step3741 = 19;\n$al3745 = L[2343];\nif(typeof(anf_fun3771.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3771);\n}\n$ans3744 = anf_fun3771.app(anf_arg3772,anf_arg3773,anf_arg3774);\nbreak;\ncase 19: anf_array3785[0] = $ans3744;\n$al3745 = L[2345];\nvar anf_arg3775 = G(self3733,\"fun-def-loc\",L[2345]);\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(anf_arg3775);\nanf_array3785[1] = $ans3744;\n$ans3744 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2346],L[2347]);\nvar anf_fun3776 = $ans3744;\n$step3741 = 20;\n$al3745 = L[2356];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"from\"));\nbreak;\ncase 20: var anf_arg3777 = $ans3744;\n$step3741 = 21;\n$al3745 = L[2347];\nif(typeof(anf_fun3776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3776);\n}\n$ans3744 = anf_fun3776.app(anf_arg3777);\nbreak;\ncase 21: anf_array3785[2] = $ans3744;\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(caller$loc3743);\nanf_array3785[3] = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2348],L[2349]);\nvar anf_fun3779 = $ans3744;\n$step3741 = 22;\n$al3745 = L[2355];\n// omitting isFunction check;\n$ans3744 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 22: var anf_arg3778 = $ans3744;\n$step3741 = 23;\n$al3745 = L[2354];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3778);\nbreak;\ncase 23: var anf_arg3780 = $ans3744;\n$step3741 = 24;\n$al3745 = L[2353];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 24: var anf_arg3781 = $ans3744;\n$step3741 = 25;\n$al3745 = L[2352];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 25: var anf_arg3782 = $ans3744;\n$step3741 = 26;\n$al3745 = L[2349];\nif(typeof(anf_fun3779.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3779);\n}\n$ans3744 = anf_fun3779.app(anf_arg3780,anf_arg3781,anf_arg3782);\nbreak;\ncase 26: anf_array3785[4] = $ans3744;\n$al3745 = L[2350];\nvar anf_arg3783 = G(self3733,\"fun-app-args\",L[2350]);\n$step3741 = 27;\n$al3745 = L[2351];\n// omitting isFunction check;\n$ans3744 = vert$list$values58.$var.app(anf_arg3783);\nbreak;\ncase 27: anf_array3785[5] = $ans3744;\n$step3741 = 28;\n$al3745 = L[2341];\nif(typeof(anf_fun3784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3784);\n}\n$ans3744 = anf_fun3784.app(anf_array3785);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans3744;\ndefault: R.ffi.throwSpinnakerError(L[2320],$step3741);\n}\n}\nif($step3741 !== 28) {\n$ans3744.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3745,$temp_lam3742,$step3741,[caller$loc3743],[anf_arg3780,anf_arg3781,anf_fun3779,anf_arg3760,anf_array3785,anf_fun3759,anf_arg3761,anf_arg3772,anf_arg3773,anf_arg3753,anf_arg3754,anf_arg3765,anf_arg3766,anf_arg3767,anf_fun3771,anf_fun3784,anf_fun3752,anf_fun3764,anf_fun3776],$elidedFrames3747);\n}\nreturn $ans3744;\n};\nvar anf_arg3806 = R.mF($temp_lam3742,\"\");\n$ans3734 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2361],L[2362]);\nvar anf_fun3801 = $ans3734;\n$ans3734 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2363],L[2364]);\nvar anf_fun3790 = $ans3734;\n$step3731 = 14;\n$al3735 = L[2379];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 14: var anf_arg3791 = $ans3734;\n$al3735 = L[2365];\nvar anf_arg3788 = G(self3733,\"fun-def-arity\",L[2365]);\n$step3731 = 15;\n$al3735 = L[2378];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"embed\"].app(anf_arg3788);\nbreak;\ncase 15: var anf_arg3792 = $ans3734;\n$step3731 = 16;\n$al3735 = L[2377];\n// omitting isFunction check;\n$ans3734 = _plus5.app(exp$arg$str3750,(\" at \"));\nbreak;\ncase 16: var anf_arg3789 = $ans3734;\n$step3731 = 17;\n$al3735 = L[2376];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(anf_arg3789);\nbreak;\ncase 17: var anf_arg3793 = $ans3734;\n$step3731 = 18;\n$al3735 = L[2364];\nif(typeof(anf_fun3790.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3790);\n}\n$ans3734 = anf_fun3790.app(anf_arg3791,anf_arg3792,anf_arg3793);\nbreak;\ncase 18: var anf_arg3802 = $ans3734;\n$al3735 = L[2366];\nvar anf_arg3794 = G(self3733,\"fun-def-loc\",L[2366]);\n// caller optimization;\n$ans3734 = draw$and$highlight36.$var.app(anf_arg3794);\nvar anf_arg3803 = $ans3734;\n$ans3734 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2367],L[2368]);\nvar anf_fun3796 = $ans3734;\n$step3731 = 19;\n$al3735 = L[2375];\n// omitting isFunction check;\n$ans3734 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 19: var anf_arg3795 = $ans3734;\n$step3731 = 20;\n$al3735 = L[2374];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(anf_arg3795);\nbreak;\ncase 20: var anf_arg3797 = $ans3734;\n$step3731 = 21;\n$al3735 = L[2373];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 21: var anf_arg3798 = $ans3734;\n$step3731 = 22;\n$al3735 = L[2372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 22: var anf_arg3799 = $ans3734;\n$step3731 = 23;\n$al3735 = L[2368];\nif(typeof(anf_fun3796.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3796);\n}\n$ans3734 = anf_fun3796.app(anf_arg3797,anf_arg3798,anf_arg3799);\nbreak;\ncase 23: var anf_arg3804 = $ans3734;\n$al3735 = L[2369];\nvar anf_arg3800 = G(self3733,\"fun-app-args\",L[2369]);\n$step3731 = 24;\n$al3735 = L[2371];\n// omitting isFunction check;\n$ans3734 = vert$list$values58.$var.app(anf_arg3800);\nbreak;\ncase 24: var anf_arg3805 = $ans3734;\n$step3731 = 25;\n$al3735 = L[2362];\nif(typeof(anf_fun3801.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3801);\n}\n$ans3734 = anf_fun3801.app(anf_arg3802,anf_arg3803,anf_arg3804,anf_arg3805);\nbreak;\ncase 25: var anf_arg3807 = $ans3734;\n$step3731 = 26;\n$al3735 = L[2370];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg3806,anf_arg3807);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans3734;\ndefault: R.ffi.throwSpinnakerError(L[2316],$step3731);\n}\n}\nif($step3731 !== 26) {\n$ans3734.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3735,$temp_full3732,$step3731,[self3733],[num$args3739,anf_arg3791,anf_arg3792,anf_fun3801,anf_arg3797,anf_arg3798,this$str3756,anf_arg3802,anf_arg3803,anf_arg3804,anf_arg3806,anf_fun3790,exp$arg$str3750,arg$str3758,anf_fun3796],$elidedFrames3737);\n}\nreturn $ans3734;\n};\nvar anf_variant_member5951 = R.makeMethod0($temp_full3732,\"render-reason\");\nvar $temp_full3813 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2383($self3814,$maybe$stack$loc3815,$src$available3816,$maybe$ast3817) {\nvar $step3812 = 0;\nvar $elidedFrames3821 = 0;\nvar $ans3818 = D;\nvar $al3819 = L[2383];\nif(R.isAR($self3814)) {\n$step3812 = $self3814.step;\n$al3819 = $self3814.from;\n$ans3818 = $self3814.ans;\n$elidedFrames3821 = $self3814.elidedFrames;\nself3814 = $self3814.args[0];\nmaybe$stack$loc3815 = $self3814.args[1];\nsrc$available3816 = $self3814.args[2];\nmaybe$ast3817 = $self3814.args[3];\nanf_arg4396 = $self3814.vars[0];\nanf_arg4397 = $self3814.vars[1];\nanf_arg4398 = $self3814.vars[2];\nparameters4386 = $self3814.vars[3];\napplication$expression4367 = $self3814.vars[4];\nanf_arg4389 = $self3814.vars[5];\nwere$was4185 = $self3814.vars[6];\ndefinition$prose4226 = $self3814.vars[7];\nfun$app$arity3823 = $self3814.vars[8];\napplication$loc4167 = $self3814.vars[9];\noperator$prose4192 = $self3814.vars[10];\noperator4384 = $self3814.vars[11];\ndefined4388 = $self3814.vars[12];\ndestructured$definition4330 = $self3814.vars[13];\ndestructured$application4261 = $self3814.vars[14];\nanf_method_obj4355 = $self3814.vars[15];\nanf_method_obj4289 = $self3814.vars[16];\ndefinition$contained4304 = $self3814.vars[17];\nanf_method_obj4379 = $self3814.vars[18];\nlocs$from$definition$ast4155 = $self3814.vars[19];\narguments4381 = $self3814.vars[20];\nanf_fun4395 = $self3814.vars[21];\nanf_method_obj4309 = $self3814.vars[22];\nexplanation$prose4240 = $self3814.vars[23];\nanf_fun4377 = $self3814.vars[24];\nfunction$or$method4203 = $self3814.vars[25];\nlocs$from$application$ast3928 = $self3814.vars[26];\nanf_arg4393 = $self3814.vars[27];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2383],4,$t,true);\n}\nvar self3814 = $self3814;\nvar maybe$stack$loc3815 = $maybe$stack$loc3815;\nvar src$available3816 = $src$available3816;\nvar maybe$ast3817 = $maybe$ast3817;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3818 = R.mC();\n}\nwhile(!R.isContinuation($ans3818)) {\nswitch($step3812) {\ncase 0: $al3819 = L[2384];\nvar anf_method_obj3822 = G(self3814,\"fun-app-args\",L[2384]);\n$step3812 = 1;\n$ans3818 = R.maybeMethodCall0(anf_method_obj3822,\"length\",L[2385]);\nbreak;\ncase 1: var fun$app$arity3823 = $ans3818;\n$step3812 = 2;\n$al3819 = L[2638];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,equal$always1);\n}\n$ans3818 = equal$always1.app(fun$app$arity3823,(1));\nbreak;\ncase 2: var anf_if4405 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4405)?3:4;\nbreak;\ncase 3: $step3812 = 5;\n$ans3818 = (\" was\");\nbreak;\ncase 4: $step3812 = 5;\n$ans3818 = (\" were\");\nbreak;\ncase 5: var were$was4185 = $ans3818;\n$al3819 = L[2386];\nvar anf_if4404 = G(self3814,\"is-method\",L[2386]);\n$step3812 = R.checkPyretTrue(anf_if4404)?6:7;\nbreak;\ncase 6: $step3812 = 8;\n$ans3818 = (\"method\");\nbreak;\ncase 7: $step3812 = 8;\n$ans3818 = (\"function\");\nbreak;\ncase 8: var function$or$method4203 = $ans3818;\nvar locs$from$application$ast3928 = {\"$var\":D};\nvar is$underscore3949 = {\"$var\":D};\nvar locs$from$definition$ast4155 = {\"$var\":D};\nvar $temp_lam3825 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2387($ast3826) {\nvar $step3824 = 0;\nvar $elidedFrames3830 = 0;\nvar $ans3827 = D;\nvar $al3828 = L[2387];\nif(R.isAR($ast3826)) {\n$step3824 = $ast3826.step;\n$al3828 = $ast3826.from;\n$ans3827 = $ast3826.ans;\n$elidedFrames3830 = $ast3826.elidedFrames;\nast3826 = $ast3826.args[0];\nanf_tuple_fields3922 = $ast3826.vars[0];\nanf_tuple_fields3923 = $ast3826.vars[1];\nanf_tuple_fields3903 = $ast3826.vars[2];\nanf_tuple_fields3914 = $ast3826.vars[3];\nl3861 = $ast3826.vars[4];\nadjust3846 = $ast3826.vars[5];\nanf_arg3898 = $ast3826.vars[6];\nanf_arg3877 = $ast3826.vars[7];\nanf_arg3900 = $ast3826.vars[8];\nanf_arg3859 = $ast3826.vars[9];\nl3879 = $ast3826.vars[10];\nl3902 = $ast3826.vars[11];\nl3913 = $ast3826.vars[12];\nargs3896 = $ast3826.vars[13];\nanf_tuple_fields3880 = $ast3826.vars[14];\ncases3847 = $ast3826.vars[15];\nanf_tuple_fields3862 = $ast3826.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2387],1,$t,false);\n}\nvar ast3826 = $ast3826;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3827 = R.mC();\n}\nwhile(!R.isContinuation($ans3827)) {\nswitch($step3824) {\ncase 0: var adjust3846 = {\"$var\":D};\nvar $temp_lam3832 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2388($fun$loc3833,$args3834) {\nvar $step3831 = 0;\nvar $elidedFrames3838 = 0;\nvar $ans3835 = D;\nvar $al3836 = L[2388];\nif(R.isAR($fun$loc3833)) {\n$step3831 = $fun$loc3833.step;\n$al3836 = $fun$loc3833.from;\n$ans3835 = $fun$loc3833.ans;\n$elidedFrames3838 = $fun$loc3833.elidedFrames;\nfun$loc3833 = $fun$loc3833.args[0];\nargs3834 = $fun$loc3833.args[1];\nanf_fun3841 = $fun$loc3833.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2388],2,$t,false);\n}\nvar fun$loc3833 = $fun$loc3833;\nvar args3834 = $args3834;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3835 = R.mC();\n}\nwhile(!R.isContinuation($ans3835)) {\nswitch($step3831) {\ncase 0: $step3831 = 1;\n$al3836 = L[2394];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3836,equal$always1);\n}\n$ans3835 = equal$always1.app(fun$app$arity3823,(0));\nbreak;\ncase 1: var anf_if3843 = $ans3835;\n$step3831 = R.checkPyretTrue(anf_if3843)?2:5;\nbreak;\ncase 2: $ans3835 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2389],L[2390]);\nvar anf_fun3841 = $ans3835;\n$step3831 = 3;\n$ans3835 = R.maybeMethodCall0(fun$loc3833,\"at-end\",L[2391]);\nbreak;\ncase 3: var anf_method_obj3839 = $ans3835;\n$al3836 = L[2392];\nvar anf_arg3840 = G(ast3826,\"l\",L[2392]);\n$step3831 = 4;\n$ans3835 = R.maybeMethodCall1(anf_method_obj3839,\"upto-end\",L[2393],anf_arg3840);\nbreak;\ncase 4: var anf_arg3842 = $ans3835;\n$step3831 = 6;\n$al3836 = L[2390];\nif(typeof(anf_fun3841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3836,anf_fun3841);\n}\n$ans3835 = anf_fun3841.app(anf_arg3842);\nbreak;\ncase 5: $step3831 = 6;\n$ans3835 = args3834;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3835;\ndefault: R.ffi.throwSpinnakerError(L[2388],$step3831);\n}\n}\nif($step3831 !== 6) {\n$ans3835.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3836,$temp_lam3832,$step3831,[fun$loc3833,args3834],[anf_fun3841],$elidedFrames3838);\n}\nreturn $ans3835;\n};\nvar anf_assign3845 = R.mF($temp_lam3832,\"adjust\");\nadjust3846.$var = anf_assign3845;\nR.nothing;\nvar cases3847 = ast3826;\n$al3828 = L[2401];\n$step3824 = $cases_dispatch3925[cases3847.$name] || 14;\nbreak;\ncase 1: if(cases3847.$arity !== 3) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2400],3,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2400],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3865 = cases3847.$constructor.$fieldNames;\nvar l3861 = R.dF(cases3847.dict[$fn3865[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3848 = R.dF(cases3847.dict[$fn3865[1]],cases3847.$mut_fields_mask[1],false);\nvar args3857 = R.dF(cases3847.dict[$fn3865[2]],cases3847.$mut_fields_mask[2],false);\n$al3828 = L[2395];\nvar anf_tuple_fields3862 = G(_fun3848,\"l\",L[2395]);\n$al3828 = L[2396];\nvar anf_arg3859 = G(_fun3848,\"l\",L[2396]);\nvar $temp_lam3850 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2397($recv_3851) {\nvar $step3849 = 0;\nvar $elidedFrames3855 = 0;\nvar $ans3852 = D;\nvar $al3853 = L[2397];\nif(R.isAR($recv_3851)) {\n$step3849 = $recv_3851.step;\n$al3853 = $recv_3851.from;\n$ans3852 = $recv_3851.ans;\n$elidedFrames3855 = $recv_3851.elidedFrames;\nrecv_3851 = $recv_3851.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2397],1,$t,false);\n}\nvar recv_3851 = $recv_3851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3852 = R.mC();\n}\nwhile(!R.isContinuation($ans3852)) {\nswitch($step3849) {\ncase 0: $step3849 = 1;\n$al3853 = L[2397];\n$ans3852 = G(recv_3851,\"l\",L[2397]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3852;\ndefault: R.ffi.throwSpinnakerError(L[2397],$step3849);\n}\n}\nif($step3849 !== 1) {\n$ans3852.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3853,$temp_lam3850,$step3849,[recv_3851],[],$elidedFrames3855);\n}\nreturn $ans3852;\n};\nvar anf_arg3858 = R.mF($temp_lam3850,\"\");\n$step3824 = 2;\n$ans3827 = R.maybeMethodCall1(args3857,\"map\",L[2398],anf_arg3858);\nbreak;\ncase 2: var anf_arg3860 = $ans3827;\n$step3824 = 3;\n$al3828 = L[2399];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3859,anf_arg3860);\nbreak;\ncase 3: var anf_tuple_fields3863 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3861,anf_tuple_fields3862,anf_tuple_fields3863]);\nbreak;\ncase 4: if(cases3847.$arity !== 3) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2407],3,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2407],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3883 = cases3847.$constructor.$fieldNames;\nvar l3879 = R.dF(cases3847.dict[$fn3883[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3866 = R.dF(cases3847.dict[$fn3883[1]],cases3847.$mut_fields_mask[1],false);\nvar args3875 = R.dF(cases3847.dict[$fn3883[2]],cases3847.$mut_fields_mask[2],false);\n$al3828 = L[2402];\nvar anf_tuple_fields3880 = G(_fun3866,\"l\",L[2402]);\n$al3828 = L[2403];\nvar anf_arg3877 = G(_fun3866,\"l\",L[2403]);\nvar $temp_lam3868 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2404($recv_3869) {\nvar $step3867 = 0;\nvar $elidedFrames3873 = 0;\nvar $ans3870 = D;\nvar $al3871 = L[2404];\nif(R.isAR($recv_3869)) {\n$step3867 = $recv_3869.step;\n$al3871 = $recv_3869.from;\n$ans3870 = $recv_3869.ans;\n$elidedFrames3873 = $recv_3869.elidedFrames;\nrecv_3869 = $recv_3869.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2404],1,$t,false);\n}\nvar recv_3869 = $recv_3869;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3870 = R.mC();\n}\nwhile(!R.isContinuation($ans3870)) {\nswitch($step3867) {\ncase 0: $step3867 = 1;\n$al3871 = L[2404];\n$ans3870 = G(recv_3869,\"l\",L[2404]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3870;\ndefault: R.ffi.throwSpinnakerError(L[2404],$step3867);\n}\n}\nif($step3867 !== 1) {\n$ans3870.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3871,$temp_lam3868,$step3867,[recv_3869],[],$elidedFrames3873);\n}\nreturn $ans3870;\n};\nvar anf_arg3876 = R.mF($temp_lam3868,\"\");\n$step3824 = 5;\n$ans3827 = R.maybeMethodCall1(args3875,\"map\",L[2405],anf_arg3876);\nbreak;\ncase 5: var anf_arg3878 = $ans3827;\n$step3824 = 6;\n$al3828 = L[2406];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3877,anf_arg3878);\nbreak;\ncase 6: var anf_tuple_fields3881 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3879,anf_tuple_fields3880,anf_tuple_fields3881]);\nbreak;\ncase 7: if(cases3847.$arity !== 6) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2417],6,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2417],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3906 = cases3847.$constructor.$fieldNames;\nvar l3902 = R.dF(cases3847.dict[$fn3906[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3884 = R.dF(cases3847.dict[$fn3906[1]],cases3847.$mut_fields_mask[1],false);\nvar args3896 = R.dF(cases3847.dict[$fn3906[2]],cases3847.$mut_fields_mask[2],false);\nR.dF(cases3847.dict[$fn3906[3]],cases3847.$mut_fields_mask[3],false);\nvar b3885 = R.dF(cases3847.dict[$fn3906[4]],cases3847.$mut_fields_mask[4],false);\nR.dF(cases3847.dict[$fn3906[5]],cases3847.$mut_fields_mask[5],false);\n$al3828 = L[2408];\nvar anf_tuple_fields3903 = G(_fun3884,\"l\",L[2408]);\n$al3828 = L[2409];\nvar anf_arg3900 = G(_fun3884,\"l\",L[2409]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2410],L[2411]);\nvar anf_fun3886 = $ans3827;\n$al3828 = L[2412];\nvar anf_arg3887 = G(b3885,\"l\",L[2412]);\n$step3824 = 8;\n$al3828 = L[2411];\nif(typeof(anf_fun3886.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3886);\n}\n$ans3827 = anf_fun3886.app(anf_arg3887);\nbreak;\ncase 8: var anf_arg3898 = $ans3827;\nvar $temp_lam3889 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2413($recv_3890) {\nvar $step3888 = 0;\nvar $elidedFrames3894 = 0;\nvar $ans3891 = D;\nvar $al3892 = L[2413];\nif(R.isAR($recv_3890)) {\n$step3888 = $recv_3890.step;\n$al3892 = $recv_3890.from;\n$ans3891 = $recv_3890.ans;\n$elidedFrames3894 = $recv_3890.elidedFrames;\nrecv_3890 = $recv_3890.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2413],1,$t,false);\n}\nvar recv_3890 = $recv_3890;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3891 = R.mC();\n}\nwhile(!R.isContinuation($ans3891)) {\nswitch($step3888) {\ncase 0: $step3888 = 1;\n$al3892 = L[2413];\n$ans3891 = G(recv_3890,\"l\",L[2413]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3891;\ndefault: R.ffi.throwSpinnakerError(L[2413],$step3888);\n}\n}\nif($step3888 !== 1) {\n$ans3891.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3892,$temp_lam3889,$step3888,[recv_3890],[],$elidedFrames3894);\n}\nreturn $ans3891;\n};\nvar anf_arg3897 = R.mF($temp_lam3889,\"\");\n$step3824 = 9;\n$ans3827 = R.maybeMethodCall1(args3896,\"map\",L[2414],anf_arg3897);\nbreak;\ncase 9: var anf_arg3899 = $ans3827;\n$step3824 = 10;\n$al3828 = L[2416];\n// omitting isFunction check;\n$ans3827 = _plus5.app(anf_arg3898,anf_arg3899);\nbreak;\ncase 10: var anf_arg3901 = $ans3827;\n$step3824 = 11;\n$al3828 = L[2415];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3900,anf_arg3901);\nbreak;\ncase 11: var anf_tuple_fields3904 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3902,anf_tuple_fields3903,anf_tuple_fields3904]);\nbreak;\ncase 12: if(cases3847.$arity !== 5) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2422],5,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2422],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3917 = cases3847.$constructor.$fieldNames;\nvar l3913 = R.dF(cases3847.dict[$fn3917[0]],cases3847.$mut_fields_mask[0],false);\nR.dF(cases3847.dict[$fn3917[1]],cases3847.$mut_fields_mask[1],false);\nR.dF(cases3847.dict[$fn3917[2]],cases3847.$mut_fields_mask[2],false);\nvar l$op3910 = R.dF(cases3847.dict[$fn3917[3]],cases3847.$mut_fields_mask[3],false);\nvar r$op3909 = R.dF(cases3847.dict[$fn3917[4]],cases3847.$mut_fields_mask[4],false);\n$al3828 = L[2418];\nvar anf_tuple_fields3914 = G(r$op3909,\"l\",L[2418]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2419],L[2420]);\nvar anf_fun3911 = $ans3827;\n$al3828 = L[2421];\nvar anf_arg3912 = G(l$op3910,\"l\",L[2421]);\n$step3824 = 13;\n$al3828 = L[2420];\nif(typeof(anf_fun3911.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3911);\n}\n$ans3827 = anf_fun3911.app(anf_arg3912);\nbreak;\ncase 13: var anf_tuple_fields3915 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3913,anf_tuple_fields3914,anf_tuple_fields3915]);\nbreak;\ncase 14: $al3828 = L[2423];\nvar anf_tuple_fields3922 = G(ast3826,\"l\",L[2423]);\n$al3828 = L[2424];\nvar anf_tuple_fields3923 = G(ast3826,\"l\",L[2424]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2425],L[2426]);\nvar anf_fun3920 = $ans3827;\n$al3828 = L[2427];\nvar anf_arg3921 = G(ast3826,\"l\",L[2427]);\n$step3824 = 15;\n$al3828 = L[2426];\nif(typeof(anf_fun3920.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3920);\n}\n$ans3827 = anf_fun3920.app(anf_arg3921);\nbreak;\ncase 15: var anf_tuple_fields3924 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([anf_tuple_fields3922,anf_tuple_fields3923,anf_tuple_fields3924]);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3827;\ndefault: R.ffi.throwSpinnakerError(L[2387],$step3824);\n}\n}\nif($step3824 !== 16) {\n$ans3827.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3828,$temp_lam3825,$step3824,[ast3826],[anf_tuple_fields3922,anf_tuple_fields3923,anf_tuple_fields3903,anf_tuple_fields3914,l3861,adjust3846,anf_arg3898,anf_arg3877,anf_arg3900,anf_arg3859,l3879,l3902,l3913,args3896,anf_tuple_fields3880,cases3847,anf_tuple_fields3862],$elidedFrames3830);\n}\nreturn $ans3827;\n};\nvar anf_assign3927 = R.mF($temp_lam3825,\"locs-from-application-ast\");\nlocs$from$application$ast3928.$var = anf_assign3927;\nR.nothing;\nvar $temp_lam3930 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2428($arg3931) {\nvar $step3929 = 0;\nvar $elidedFrames3935 = 0;\nvar $ans3932 = D;\nvar $al3933 = L[2428];\nif(R.isAR($arg3931)) {\n$step3929 = $arg3931.step;\n$al3933 = $arg3931.from;\n$ans3932 = $arg3931.ans;\n$elidedFrames3935 = $arg3931.elidedFrames;\narg3931 = $arg3931.args[0];\ncases3936 = $arg3931.vars[0];\ncases3938 = $arg3931.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2428],1,$t,false);\n}\nvar arg3931 = $arg3931;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3932 = R.mC();\n}\nwhile(!R.isContinuation($ans3932)) {\nswitch($step3929) {\ncase 0: var cases3936 = arg3931;\n$al3933 = L[2432];\n$step3929 = $cases_dispatch3946[cases3936.$name] || 4;\nbreak;\ncase 1: if(cases3936.$arity !== 2) {\nif(cases3936.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2431],2,cases3936.$arity,L[2432],cases3936.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2431],true,L[2432],cases3936.$loc);\n}\n}\nvar $fn3944 = cases3936.$constructor.$fieldNames;\nR.dF(cases3936.dict[$fn3944[0]],cases3936.$mut_fields_mask[0],false);\nvar id3937 = R.dF(cases3936.dict[$fn3944[1]],cases3936.$mut_fields_mask[1],false);\nvar cases3938 = id3937;\n$al3933 = L[2430];\n$step3929 = $cases_dispatch3942[cases3938.$name] || 3;\nbreak;\ncase 2: if(cases3938.$arity !== 1) {\nif(cases3938.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2429],1,cases3938.$arity,L[2430],cases3938.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2429],true,L[2430],cases3938.$loc);\n}\n}\nvar $fn3940 = cases3938.$constructor.$fieldNames;\nR.dF(cases3938.dict[$fn3940[0]],cases3938.$mut_fields_mask[0],false);\n$step3929 = 5;\n$ans3932 = (true);\nbreak;\ncase 3: $step3929 = 5;\n$ans3932 = (false);\nbreak;\ncase 4: $step3929 = 5;\n$ans3932 = (false);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3932;\ndefault: R.ffi.throwSpinnakerError(L[2428],$step3929);\n}\n}\nif($step3929 !== 5) {\n$ans3932.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3933,$temp_lam3930,$step3929,[arg3931],[cases3936,cases3938],$elidedFrames3935);\n}\nreturn $ans3932;\n};\nvar anf_assign3948 = R.mF($temp_lam3930,\"is-underscore\");\nis$underscore3949.$var = anf_assign3948;\nR.nothing;\nvar $temp_lam3951 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2433($ast3952) {\nvar $step3950 = 0;\nvar $elidedFrames3956 = 0;\nvar $ans3953 = D;\nvar $al3954 = L[2433];\nif(R.isAR($ast3952)) {\n$step3950 = $ast3952.step;\n$al3954 = $ast3952.from;\n$ans3953 = $ast3952.ans;\n$elidedFrames3956 = $ast3952.elidedFrames;\nast3952 = $ast3952.args[0];\nanf_tuple_fields4009 = $ast3952.vars[0];\nl4031 = $ast3952.vars[1];\nl4143 = $ast3952.vars[2];\nl4055 = $ast3952.vars[3];\nl4079 = $ast3952.vars[4];\nb4030 = $ast3952.vars[5];\nl4007 = $ast3952.vars[6];\nb4142 = $ast3952.vars[7];\nb4054 = $ast3952.vars[8];\nb4078 = $ast3952.vars[9];\nanf_tuple_fields4081 = $ast3952.vars[10];\nb4006 = $ast3952.vars[11];\nanf_tuple_fields4033 = $ast3952.vars[12];\nanf_tuple_fields4145 = $ast3952.vars[13];\nanf_tuple_fields4057 = $ast3952.vars[14];\ncases3957 = $ast3952.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2433],1,$t,false);\n}\nvar ast3952 = $ast3952;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3953 = R.mC();\n}\nwhile(!R.isContinuation($ans3953)) {\nswitch($step3950) {\ncase 0: var cases3957 = ast3952;\n$al3954 = L[2441];\n$step3950 = $cases_dispatch4152[cases3957.$name] || 31;\nbreak;\ncase 1: if(cases3957.$arity !== 5) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2440],5,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2440],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn3975 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn3975[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn3975[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn3975[2]],cases3957.$mut_fields_mask[2],false);\nvar l3959 = R.dF(cases3957.dict[$fn3975[3]],cases3957.$mut_fields_mask[3],false);\nvar r3960 = R.dF(cases3957.dict[$fn3975[4]],cases3957.$mut_fields_mask[4],false);\n$ans3953 = R.getMaker2(ED6.dict.values.dict[\"locs\"],(\"make2\"),L[2434],L[2435]);\nvar anf_fun3958 = $ans3953;\n$step3950 = 2;\n$al3954 = L[2435];\nif(typeof(anf_fun3958.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun3958);\n}\n$ans3953 = anf_fun3958.app(l3959,r3960);\nbreak;\ncase 2: var anf_method_obj3961 = $ans3953;\n$step3950 = 3;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3961,\"filter\",L[2436],is$underscore3949.$var);\nbreak;\ncase 3: var anf_method_obj3970 = $ans3953;\nvar $temp_lam3963 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2437($recv_3964) {\nvar $step3962 = 0;\nvar $elidedFrames3968 = 0;\nvar $ans3965 = D;\nvar $al3966 = L[2437];\nif(R.isAR($recv_3964)) {\n$step3962 = $recv_3964.step;\n$al3966 = $recv_3964.from;\n$ans3965 = $recv_3964.ans;\n$elidedFrames3968 = $recv_3964.elidedFrames;\nrecv_3964 = $recv_3964.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2437],1,$t,false);\n}\nvar recv_3964 = $recv_3964;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3965 = R.mC();\n}\nwhile(!R.isContinuation($ans3965)) {\nswitch($step3962) {\ncase 0: $step3962 = 1;\n$al3966 = L[2437];\n$ans3965 = G(recv_3964,\"l\",L[2437]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3965;\ndefault: R.ffi.throwSpinnakerError(L[2437],$step3962);\n}\n}\nif($step3962 !== 1) {\n$ans3965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3966,$temp_lam3963,$step3962,[recv_3964],[],$elidedFrames3968);\n}\nreturn $ans3965;\n};\nvar anf_arg3971 = R.mF($temp_lam3963,\"\");\n$step3950 = 4;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3970,\"map\",L[2438],anf_arg3971);\nbreak;\ncase 4: var anf_tuple_fields3972 = $ans3953;\n$al3954 = L[2439];\nvar anf_tuple_fields3973 = G(self3814,\"fun-def-loc\",L[2439]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields3972,anf_tuple_fields3973]);\nbreak;\ncase 5: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2446],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2446],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn3993 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn3993[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn3993[1]],cases3957.$mut_fields_mask[1],false);\nvar args3979 = R.dF(cases3957.dict[$fn3993[2]],cases3957.$mut_fields_mask[2],false);\n$step3950 = 6;\n$ans3953 = R.maybeMethodCall1(args3979,\"filter\",L[2442],is$underscore3949.$var);\nbreak;\ncase 6: var anf_method_obj3988 = $ans3953;\nvar $temp_lam3981 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2443($recv_3982) {\nvar $step3980 = 0;\nvar $elidedFrames3986 = 0;\nvar $ans3983 = D;\nvar $al3984 = L[2443];\nif(R.isAR($recv_3982)) {\n$step3980 = $recv_3982.step;\n$al3984 = $recv_3982.from;\n$ans3983 = $recv_3982.ans;\n$elidedFrames3986 = $recv_3982.elidedFrames;\nrecv_3982 = $recv_3982.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2443],1,$t,false);\n}\nvar recv_3982 = $recv_3982;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3983 = R.mC();\n}\nwhile(!R.isContinuation($ans3983)) {\nswitch($step3980) {\ncase 0: $step3980 = 1;\n$al3984 = L[2443];\n$ans3983 = G(recv_3982,\"l\",L[2443]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3983;\ndefault: R.ffi.throwSpinnakerError(L[2443],$step3980);\n}\n}\nif($step3980 !== 1) {\n$ans3983.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3984,$temp_lam3981,$step3980,[recv_3982],[],$elidedFrames3986);\n}\nreturn $ans3983;\n};\nvar anf_arg3989 = R.mF($temp_lam3981,\"\");\n$step3950 = 7;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3988,\"map\",L[2444],anf_arg3989);\nbreak;\ncase 7: var anf_tuple_fields3990 = $ans3953;\n$al3954 = L[2445];\nvar anf_tuple_fields3991 = G(self3814,\"fun-def-loc\",L[2445]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields3990,anf_tuple_fields3991]);\nbreak;\ncase 8: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2451],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2451],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4012 = cases3957.$constructor.$fieldNames;\nvar l4007 = R.dF(cases3957.dict[$fn4012[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4012[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4012[2]],cases3957.$mut_fields_mask[2],false);\nvar args4004 = R.dF(cases3957.dict[$fn4012[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4012[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4012[5]],cases3957.$mut_fields_mask[5],false);\nvar b4006 = R.dF(cases3957.dict[$fn4012[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4012[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4012[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4012[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam3997 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2447($recv_3998) {\nvar $step3996 = 0;\nvar $elidedFrames4002 = 0;\nvar $ans3999 = D;\nvar $al4000 = L[2447];\nif(R.isAR($recv_3998)) {\n$step3996 = $recv_3998.step;\n$al4000 = $recv_3998.from;\n$ans3999 = $recv_3998.ans;\n$elidedFrames4002 = $recv_3998.elidedFrames;\nrecv_3998 = $recv_3998.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2447],1,$t,false);\n}\nvar recv_3998 = $recv_3998;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3999 = R.mC();\n}\nwhile(!R.isContinuation($ans3999)) {\nswitch($step3996) {\ncase 0: $step3996 = 1;\n$al4000 = L[2447];\n$ans3999 = G(recv_3998,\"l\",L[2447]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3999;\ndefault: R.ffi.throwSpinnakerError(L[2447],$step3996);\n}\n}\nif($step3996 !== 1) {\n$ans3999.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4000,$temp_lam3997,$step3996,[recv_3998],[],$elidedFrames4002);\n}\nreturn $ans3999;\n};\nvar anf_arg4005 = R.mF($temp_lam3997,\"\");\n$step3950 = 9;\n$ans3953 = R.maybeMethodCall1(args4004,\"map\",L[2448],anf_arg4005);\nbreak;\ncase 9: var anf_tuple_fields4009 = $ans3953;\n$al3954 = L[2449];\nvar anf_arg4008 = G(b4006,\"l\",L[2449]);\n$step3950 = 10;\n$ans3953 = R.maybeMethodCall1(l4007,\"upto\",L[2450],anf_arg4008);\nbreak;\ncase 10: var anf_tuple_fields4010 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4009,anf_tuple_fields4010]);\nbreak;\ncase 11: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2456],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2456],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4036 = cases3957.$constructor.$fieldNames;\nvar l4031 = R.dF(cases3957.dict[$fn4036[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4036[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4036[2]],cases3957.$mut_fields_mask[2],false);\nvar args4028 = R.dF(cases3957.dict[$fn4036[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4036[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4036[5]],cases3957.$mut_fields_mask[5],false);\nvar b4030 = R.dF(cases3957.dict[$fn4036[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4036[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4036[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4036[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2452($recv_4022) {\nvar $step4020 = 0;\nvar $elidedFrames4026 = 0;\nvar $ans4023 = D;\nvar $al4024 = L[2452];\nif(R.isAR($recv_4022)) {\n$step4020 = $recv_4022.step;\n$al4024 = $recv_4022.from;\n$ans4023 = $recv_4022.ans;\n$elidedFrames4026 = $recv_4022.elidedFrames;\nrecv_4022 = $recv_4022.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2452],1,$t,false);\n}\nvar recv_4022 = $recv_4022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4023 = R.mC();\n}\nwhile(!R.isContinuation($ans4023)) {\nswitch($step4020) {\ncase 0: $step4020 = 1;\n$al4024 = L[2452];\n$ans4023 = G(recv_4022,\"l\",L[2452]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4023;\ndefault: R.ffi.throwSpinnakerError(L[2452],$step4020);\n}\n}\nif($step4020 !== 1) {\n$ans4023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4024,$temp_lam4021,$step4020,[recv_4022],[],$elidedFrames4026);\n}\nreturn $ans4023;\n};\nvar anf_arg4029 = R.mF($temp_lam4021,\"\");\n$step3950 = 12;\n$ans3953 = R.maybeMethodCall1(args4028,\"map\",L[2453],anf_arg4029);\nbreak;\ncase 12: var anf_tuple_fields4033 = $ans3953;\n$al3954 = L[2454];\nvar anf_arg4032 = G(b4030,\"l\",L[2454]);\n$step3950 = 13;\n$ans3953 = R.maybeMethodCall1(l4031,\"upto\",L[2455],anf_arg4032);\nbreak;\ncase 13: var anf_tuple_fields4034 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4033,anf_tuple_fields4034]);\nbreak;\ncase 14: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2461],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2461],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4060 = cases3957.$constructor.$fieldNames;\nvar l4055 = R.dF(cases3957.dict[$fn4060[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4060[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4060[2]],cases3957.$mut_fields_mask[2],false);\nvar args4052 = R.dF(cases3957.dict[$fn4060[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4060[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4060[5]],cases3957.$mut_fields_mask[5],false);\nvar b4054 = R.dF(cases3957.dict[$fn4060[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4060[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4060[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4060[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4045 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2457($recv_4046) {\nvar $step4044 = 0;\nvar $elidedFrames4050 = 0;\nvar $ans4047 = D;\nvar $al4048 = L[2457];\nif(R.isAR($recv_4046)) {\n$step4044 = $recv_4046.step;\n$al4048 = $recv_4046.from;\n$ans4047 = $recv_4046.ans;\n$elidedFrames4050 = $recv_4046.elidedFrames;\nrecv_4046 = $recv_4046.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2457],1,$t,false);\n}\nvar recv_4046 = $recv_4046;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4047 = R.mC();\n}\nwhile(!R.isContinuation($ans4047)) {\nswitch($step4044) {\ncase 0: $step4044 = 1;\n$al4048 = L[2457];\n$ans4047 = G(recv_4046,\"l\",L[2457]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4047;\ndefault: R.ffi.throwSpinnakerError(L[2457],$step4044);\n}\n}\nif($step4044 !== 1) {\n$ans4047.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4048,$temp_lam4045,$step4044,[recv_4046],[],$elidedFrames4050);\n}\nreturn $ans4047;\n};\nvar anf_arg4053 = R.mF($temp_lam4045,\"\");\n$step3950 = 15;\n$ans3953 = R.maybeMethodCall1(args4052,\"map\",L[2458],anf_arg4053);\nbreak;\ncase 15: var anf_tuple_fields4057 = $ans3953;\n$al3954 = L[2459];\nvar anf_arg4056 = G(b4054,\"l\",L[2459]);\n$step3950 = 16;\n$ans3953 = R.maybeMethodCall1(l4055,\"upto\",L[2460],anf_arg4056);\nbreak;\ncase 16: var anf_tuple_fields4058 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4057,anf_tuple_fields4058]);\nbreak;\ncase 17: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2466],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2466],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4084 = cases3957.$constructor.$fieldNames;\nvar l4079 = R.dF(cases3957.dict[$fn4084[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4084[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4084[2]],cases3957.$mut_fields_mask[2],false);\nvar args4076 = R.dF(cases3957.dict[$fn4084[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4084[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4084[5]],cases3957.$mut_fields_mask[5],false);\nvar b4078 = R.dF(cases3957.dict[$fn4084[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4084[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4084[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4084[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4069 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2462($recv_4070) {\nvar $step4068 = 0;\nvar $elidedFrames4074 = 0;\nvar $ans4071 = D;\nvar $al4072 = L[2462];\nif(R.isAR($recv_4070)) {\n$step4068 = $recv_4070.step;\n$al4072 = $recv_4070.from;\n$ans4071 = $recv_4070.ans;\n$elidedFrames4074 = $recv_4070.elidedFrames;\nrecv_4070 = $recv_4070.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2462],1,$t,false);\n}\nvar recv_4070 = $recv_4070;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4071 = R.mC();\n}\nwhile(!R.isContinuation($ans4071)) {\nswitch($step4068) {\ncase 0: $step4068 = 1;\n$al4072 = L[2462];\n$ans4071 = G(recv_4070,\"l\",L[2462]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4071;\ndefault: R.ffi.throwSpinnakerError(L[2462],$step4068);\n}\n}\nif($step4068 !== 1) {\n$ans4071.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4072,$temp_lam4069,$step4068,[recv_4070],[],$elidedFrames4074);\n}\nreturn $ans4071;\n};\nvar anf_arg4077 = R.mF($temp_lam4069,\"\");\n$step3950 = 18;\n$ans3953 = R.maybeMethodCall1(args4076,\"map\",L[2463],anf_arg4077);\nbreak;\ncase 18: var anf_tuple_fields4081 = $ans3953;\n$al3954 = L[2464];\nvar anf_arg4080 = G(b4078,\"l\",L[2464]);\n$step3950 = 19;\n$ans3953 = R.maybeMethodCall1(l4079,\"upto\",L[2465],anf_arg4080);\nbreak;\ncase 19: var anf_tuple_fields4082 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4081,anf_tuple_fields4082]);\nbreak;\ncase 20: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2472],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2472],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4099 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4099[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4092 = R.dF(cases3957.dict[$fn4099[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4099[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2467],L[2468]);\nvar anf_fun4094 = $ans3953;\n$al3954 = L[2469];\nvar anf_bracket4093 = G(obj4092,\"id\",L[2469]);\n$al3954 = L[2470];\nvar anf_arg4095 = G(anf_bracket4093,\"l\",L[2470]);\n$step3950 = 21;\n$al3954 = L[2468];\nif(typeof(anf_fun4094.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4094);\n}\n$ans3953 = anf_fun4094.app(anf_arg4095);\nbreak;\ncase 21: var anf_tuple_fields4096 = $ans3953;\n$al3954 = L[2471];\nvar anf_tuple_fields4097 = G(self3814,\"fun-def-loc\",L[2471]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4096,anf_tuple_fields4097]);\nbreak;\ncase 22: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2478],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2478],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4109 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4109[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4102 = R.dF(cases3957.dict[$fn4109[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4109[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2473],L[2474]);\nvar anf_fun4104 = $ans3953;\n$al3954 = L[2475];\nvar anf_bracket4103 = G(obj4102,\"id\",L[2475]);\n$al3954 = L[2476];\nvar anf_arg4105 = G(anf_bracket4103,\"l\",L[2476]);\n$step3950 = 23;\n$al3954 = L[2474];\nif(typeof(anf_fun4104.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4104);\n}\n$ans3953 = anf_fun4104.app(anf_arg4105);\nbreak;\ncase 23: var anf_tuple_fields4106 = $ans3953;\n$al3954 = L[2477];\nvar anf_tuple_fields4107 = G(self3814,\"fun-def-loc\",L[2477]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4106,anf_tuple_fields4107]);\nbreak;\ncase 24: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2484],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2484],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4119 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4119[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4112 = R.dF(cases3957.dict[$fn4119[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4119[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2479],L[2480]);\nvar anf_fun4114 = $ans3953;\n$al3954 = L[2481];\nvar anf_bracket4113 = G(obj4112,\"id\",L[2481]);\n$al3954 = L[2482];\nvar anf_arg4115 = G(anf_bracket4113,\"l\",L[2482]);\n$step3950 = 25;\n$al3954 = L[2480];\nif(typeof(anf_fun4114.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4114);\n}\n$ans3953 = anf_fun4114.app(anf_arg4115);\nbreak;\ncase 25: var anf_tuple_fields4116 = $ans3953;\n$al3954 = L[2483];\nvar anf_tuple_fields4117 = G(self3814,\"fun-def-loc\",L[2483]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4116,anf_tuple_fields4117]);\nbreak;\ncase 26: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2490],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2490],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4129 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4129[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4122 = R.dF(cases3957.dict[$fn4129[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4129[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2485],L[2486]);\nvar anf_fun4124 = $ans3953;\n$al3954 = L[2487];\nvar anf_bracket4123 = G(obj4122,\"id\",L[2487]);\n$al3954 = L[2488];\nvar anf_arg4125 = G(anf_bracket4123,\"l\",L[2488]);\n$step3950 = 27;\n$al3954 = L[2486];\nif(typeof(anf_fun4124.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4124);\n}\n$ans3953 = anf_fun4124.app(anf_arg4125);\nbreak;\ncase 27: var anf_tuple_fields4126 = $ans3953;\n$al3954 = L[2489];\nvar anf_tuple_fields4127 = G(self3814,\"fun-def-loc\",L[2489]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4126,anf_tuple_fields4127]);\nbreak;\ncase 28: if(cases3957.$arity !== 6) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2495],6,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2495],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4148 = cases3957.$constructor.$fieldNames;\nvar l4143 = R.dF(cases3957.dict[$fn4148[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4148[1]],cases3957.$mut_fields_mask[1],false);\nvar args4140 = R.dF(cases3957.dict[$fn4148[2]],cases3957.$mut_fields_mask[2],false);\nR.dF(cases3957.dict[$fn4148[3]],cases3957.$mut_fields_mask[3],false);\nvar b4142 = R.dF(cases3957.dict[$fn4148[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4148[5]],cases3957.$mut_fields_mask[5],false);\nvar $temp_lam4133 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2491($recv_4134) {\nvar $step4132 = 0;\nvar $elidedFrames4138 = 0;\nvar $ans4135 = D;\nvar $al4136 = L[2491];\nif(R.isAR($recv_4134)) {\n$step4132 = $recv_4134.step;\n$al4136 = $recv_4134.from;\n$ans4135 = $recv_4134.ans;\n$elidedFrames4138 = $recv_4134.elidedFrames;\nrecv_4134 = $recv_4134.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2491],1,$t,false);\n}\nvar recv_4134 = $recv_4134;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4135 = R.mC();\n}\nwhile(!R.isContinuation($ans4135)) {\nswitch($step4132) {\ncase 0: $step4132 = 1;\n$al4136 = L[2491];\n$ans4135 = G(recv_4134,\"l\",L[2491]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4135;\ndefault: R.ffi.throwSpinnakerError(L[2491],$step4132);\n}\n}\nif($step4132 !== 1) {\n$ans4135.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4136,$temp_lam4133,$step4132,[recv_4134],[],$elidedFrames4138);\n}\nreturn $ans4135;\n};\nvar anf_arg4141 = R.mF($temp_lam4133,\"\");\n$step3950 = 29;\n$ans3953 = R.maybeMethodCall1(args4140,\"map\",L[2492],anf_arg4141);\nbreak;\ncase 29: var anf_tuple_fields4145 = $ans3953;\n$al3954 = L[2493];\nvar anf_arg4144 = G(b4142,\"l\",L[2493]);\n$step3950 = 30;\n$ans3953 = R.maybeMethodCall1(l4143,\"upto\",L[2494],anf_arg4144);\nbreak;\ncase 30: var anf_tuple_fields4146 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4145,anf_tuple_fields4146]);\nbreak;\ncase 31: $ans3953 = R.throwNoCasesMatched(L[2441],cases3957);\n$step3950 = 32;\nbreak;\ncase 32: ++R.GAS;\nreturn $ans3953;\ndefault: R.ffi.throwSpinnakerError(L[2433],$step3950);\n}\n}\nif($step3950 !== 32) {\n$ans3953.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3954,$temp_lam3951,$step3950,[ast3952],[anf_tuple_fields4009,l4031,l4143,l4055,l4079,b4030,l4007,b4142,b4054,b4078,anf_tuple_fields4081,b4006,anf_tuple_fields4033,anf_tuple_fields4145,anf_tuple_fields4057,cases3957],$elidedFrames3956);\n}\nreturn $ans3953;\n};\nvar anf_assign4154 = R.mF($temp_lam3951,\"locs-from-definition-ast\");\nlocs$from$definition$ast4155.$var = anf_assign4154;\nR.nothing;\n$al3819 = L[2496];\nvar anf_method_obj4156 = G(self3814,\"fun-def-loc\",L[2496]);\n$step3812 = 9;\n$ans3818 = R.maybeMethodCall0(anf_method_obj4156,\"is-builtin\",L[2497]);\nbreak;\ncase 9: var anf_if4403 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4403)?10:11;\nbreak;\ncase 10: $step3812 = 12;\n$ans3818 = (0);\nbreak;\ncase 11: $step3812 = 12;\n$ans3818 = (1);\nbreak;\ncase 12: var anf_arg4157 = $ans3818;\n$step3812 = 13;\n$al3819 = L[2637];\nif(typeof(maybe$stack$loc3815.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,maybe$stack$loc3815);\n}\n$ans3818 = maybe$stack$loc3815.app(anf_arg4157,(false));\nbreak;\ncase 13: var application$loc4167 = $ans3818;\nvar $temp_lam4159 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2498($recv_4160) {\nvar $step4158 = 0;\nvar $elidedFrames4164 = 0;\nvar $ans4161 = D;\nvar $al4162 = L[2498];\nif(R.isAR($recv_4160)) {\n$step4158 = $recv_4160.step;\n$al4162 = $recv_4160.from;\n$ans4161 = $recv_4160.ans;\n$elidedFrames4164 = $recv_4160.elidedFrames;\nrecv_4160 = $recv_4160.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2498],1,$t,false);\n}\nvar recv_4160 = $recv_4160;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4161 = R.mC();\n}\nwhile(!R.isContinuation($ans4161)) {\nswitch($step4158) {\ncase 0: $al4162 = L[2499];\nvar anf_arg4165 = G(self3814,\"fun-def-loc\",L[2499]);\n$step4158 = 1;\n$ans4161 = R.maybeMethodCall1(recv_4160,\"contains\",L[2498],anf_arg4165);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4161;\ndefault: R.ffi.throwSpinnakerError(L[2498],$step4158);\n}\n}\nif($step4158 !== 1) {\n$ans4161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4162,$temp_lam4159,$step4158,[recv_4160],[],$elidedFrames4164);\n}\nreturn $ans4161;\n};\nvar anf_arg4168 = R.mF($temp_lam4159,\"\");\n$step3812 = 14;\n$ans3818 = R.maybeMethodCall1(application$loc4167,\"and-then\",L[2500],anf_arg4168);\nbreak;\ncase 14: var anf_method_obj4169 = $ans3818;\n$step3812 = 15;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4169,\"or-else\",L[2501],(false));\nbreak;\ncase 15: var definition$contained4304 = $ans3818;\nvar arg_4170 = application$loc4167;\n$step3812 = 16;\n$al3819 = L[2636];\n// omitting isFunction check;\n$ans3818 = and$if176.$var.app(src$available3816,arg_4170);\nbreak;\ncase 16: var arg_4171 = $ans3818;\n$step3812 = 17;\n$al3819 = L[2635];\n// omitting isFunction check;\n$ans3818 = and$maybe193.$var.app(maybe$ast3817,arg_4171);\nbreak;\ncase 17: var anf_method_obj4172 = $ans3818;\n$step3812 = 18;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4172,\"and-then\",L[2502],locs$from$application$ast3928.$var);\nbreak;\ncase 18: var destructured$application4261 = $ans3818;\n$al3819 = L[2503];\nvar anf_arg4173 = G(self3814,\"fun-def-loc\",L[2503]);\n$step3812 = 19;\n$al3819 = L[2634];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,O8.dict.values.dict[\"some\"]);\n}\n$ans3818 = O8.dict.values.dict[\"some\"].app(anf_arg4173);\nbreak;\ncase 19: var arg_4174 = $ans3818;\n$step3812 = 20;\n$al3819 = L[2633];\n// omitting isFunction check;\n$ans3818 = and$if176.$var.app(src$available3816,arg_4174);\nbreak;\ncase 20: var arg_4175 = $ans3818;\n$step3812 = 21;\n$al3819 = L[2632];\n// omitting isFunction check;\n$ans3818 = and$maybe193.$var.app(maybe$ast3817,arg_4175);\nbreak;\ncase 21: var anf_method_obj4176 = $ans3818;\n$step3812 = 22;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4176,\"and-then\",L[2504],locs$from$definition$ast4155.$var);\nbreak;\ncase 22: var destructured$definition4330 = $ans3818;\nvar operator$prose4192 = {\"$var\":D};\nvar definition$prose4226 = {\"$var\":D};\nvar explanation$prose4240 = {\"$var\":D};\nvar $temp_lam4178 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2505($arguments4179,$operator4180) {\nvar $step4177 = 0;\nvar $elidedFrames4184 = 0;\nvar $ans4181 = D;\nvar $al4182 = L[2505];\nif(R.isAR($arguments4179)) {\n$step4177 = $arguments4179.step;\n$al4182 = $arguments4179.from;\n$ans4181 = $arguments4179.ans;\n$elidedFrames4184 = $arguments4179.elidedFrames;\narguments4179 = $arguments4179.args[0];\noperator4180 = $arguments4179.args[1];\nanf_fun4187 = $arguments4179.vars[0];\nanf_arg4188 = $arguments4179.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2505],2,$t,false);\n}\nvar arguments4179 = $arguments4179;\nvar operator4180 = $operator4180;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4181 = R.mC();\n}\nwhile(!R.isContinuation($ans4181)) {\nswitch($step4177) {\ncase 0: $ans4181 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2506],L[2507]);\nvar anf_fun4187 = $ans4181;\n$step4177 = 1;\n$al4182 = L[2510];\n// omitting isFunction check;\n$ans4181 = _plus5.app(were$was4185,(\" passed to the \"));\nbreak;\ncase 1: var anf_arg4186 = $ans4181;\n$step4177 = 2;\n$al4182 = L[2509];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,ED6.dict.values.dict[\"text\"]);\n}\n$ans4181 = ED6.dict.values.dict[\"text\"].app(anf_arg4186);\nbreak;\ncase 2: var anf_arg4188 = $ans4181;\n$step4177 = 3;\n$al4182 = L[2508];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,ED6.dict.values.dict[\"text\"]);\n}\n$ans4181 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg4189 = $ans4181;\n$step4177 = 4;\n$al4182 = L[2507];\nif(typeof(anf_fun4187.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,anf_fun4187);\n}\n$ans4181 = anf_fun4187.app(arguments4179,anf_arg4188,operator4180,anf_arg4189);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans4181;\ndefault: R.ffi.throwSpinnakerError(L[2505],$step4177);\n}\n}\nif($step4177 !== 4) {\n$ans4181.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4182,$temp_lam4178,$step4177,[arguments4179,operator4180],[anf_fun4187,anf_arg4188],$elidedFrames4184);\n}\nreturn $ans4181;\n};\nvar anf_assign4191 = R.mF($temp_lam4178,\"operator-prose\");\noperator$prose4192.$var = anf_assign4191;\nR.nothing;\nvar $temp_lam4194 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2511($operator4195,$defined4196,$parameters4197,$show$definition4198) {\nvar $step4193 = 0;\nvar $elidedFrames4202 = 0;\nvar $ans4199 = D;\nvar $al4200 = L[2511];\nif(R.isAR($operator4195)) {\n$step4193 = $operator4195.step;\n$al4200 = $operator4195.from;\n$ans4199 = $operator4195.ans;\n$elidedFrames4202 = $operator4195.elidedFrames;\noperator4195 = $operator4195.args[0];\ndefined4196 = $operator4195.args[1];\nparameters4197 = $operator4195.args[2];\nshow$definition4198 = $operator4195.args[3];\nanf_fun4206 = $operator4195.vars[0];\nanf_arg4220 = $operator4195.vars[1];\nanf_arg4210 = $operator4195.vars[2];\nanf_arg4221 = $operator4195.vars[3];\nanf_fun4219 = $operator4195.vars[4];\nanf_fun4209 = $operator4195.vars[5];\nanf_array4216 = $operator4195.vars[6];\nanf_array4207 = $operator4195.vars[7];\nanf_fun4215 = $operator4195.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2511],4,$t,false);\n}\nvar operator4195 = $operator4195;\nvar defined4196 = $defined4196;\nvar parameters4197 = $parameters4197;\nvar show$definition4198 = $show$definition4198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4199 = R.mC();\n}\nwhile(!R.isContinuation($ans4199)) {\nswitch($step4193) {\ncase 0: $step4193 = R.checkPyretTrue(show$definition4198)?1:10;\nbreak;\ncase 1: $ans4199 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2512],L[2513]);\nvar anf_fun4209 = $ans4199;\n$ans4199 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2514],L[2515]);\nvar anf_fun4206 = $ans4199;\n$ans4199 = R.makeArrayN((7));\nvar anf_array4207 = $ans4199;\n$step4193 = 2;\n$al4200 = L[2523];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 2: anf_array4207[0] = $ans4199;\nanf_array4207[1] = operator4195;\n$step4193 = 3;\n$al4200 = L[2522];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 3: var anf_arg4204 = $ans4199;\n$step4193 = 4;\n$al4200 = L[2521];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4204,(\" \"));\nbreak;\ncase 4: var anf_arg4205 = $ans4199;\n$step4193 = 5;\n$al4200 = L[2520];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4205);\nbreak;\ncase 5: anf_array4207[2] = $ans4199;\nanf_array4207[3] = defined4196;\n$step4193 = 6;\n$al4200 = L[2519];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 6: anf_array4207[4] = $ans4199;\nanf_array4207[5] = parameters4197;\n$step4193 = 7;\n$al4200 = L[2518];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: anf_array4207[6] = $ans4199;\n$step4193 = 8;\n$al4200 = L[2515];\nif(typeof(anf_fun4206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4206);\n}\n$ans4199 = anf_fun4206.app(anf_array4207);\nbreak;\ncase 8: var anf_arg4210 = $ans4199;\n$al4200 = L[2516];\nvar anf_arg4208 = G(self3814,\"fun-def-loc\",L[2516]);\n$step4193 = 9;\n$al4200 = L[2517];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4208);\nbreak;\ncase 9: var anf_arg4211 = $ans4199;\n$step4193 = 25;\n$al4200 = L[2513];\nif(typeof(anf_fun4209.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4209);\n}\n$ans4199 = anf_fun4209.app(anf_arg4210,anf_arg4211);\nbreak;\ncase 10: $al4200 = L[2524];\nvar anf_arg4212 = G(self3814,\"fun-def-loc\",L[2524]);\n$step4193 = 11;\n$al4200 = L[2540];\nif(typeof(src$available3816.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,src$available3816);\n}\n$ans4199 = src$available3816.app(anf_arg4212);\nbreak;\ncase 11: var anf_if4223 = $ans4199;\n$step4193 = R.checkPyretTrue(anf_if4223)?12:19;\nbreak;\ncase 12: $ans4199 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2525],L[2526]);\nvar anf_fun4215 = $ans4199;\n$ans4199 = R.makeArrayN((7));\nvar anf_array4216 = $ans4199;\n$step4193 = 13;\n$al4200 = L[2532];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: anf_array4216[0] = $ans4199;\nanf_array4216[1] = operator4195;\n$step4193 = 14;\n$al4200 = L[2531];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 14: var anf_arg4213 = $ans4199;\n$step4193 = 15;\n$al4200 = L[2530];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4213,(\" \"));\nbreak;\ncase 15: var anf_arg4214 = $ans4199;\n$step4193 = 16;\n$al4200 = L[2529];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4214);\nbreak;\ncase 16: anf_array4216[2] = $ans4199;\nanf_array4216[3] = defined4196;\n$step4193 = 17;\n$al4200 = L[2528];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 17: anf_array4216[4] = $ans4199;\nanf_array4216[5] = parameters4197;\n$step4193 = 18;\n$al4200 = L[2527];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 18: anf_array4216[6] = $ans4199;\n$step4193 = 25;\n$al4200 = L[2526];\nif(typeof(anf_fun4215.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4215);\n}\n$ans4199 = anf_fun4215.app(anf_array4216);\nbreak;\ncase 19: $ans4199 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2533],L[2534]);\nvar anf_fun4219 = $ans4199;\n$step4193 = 20;\n$al4200 = L[2539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 20: var anf_arg4220 = $ans4199;\n$step4193 = 21;\n$al4200 = L[2538];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 21: var anf_arg4217 = $ans4199;\n$step4193 = 22;\n$al4200 = L[2537];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4217,(\" accepting \"));\nbreak;\ncase 22: var anf_arg4218 = $ans4199;\n$step4193 = 23;\n$al4200 = L[2536];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4218);\nbreak;\ncase 23: var anf_arg4221 = $ans4199;\n$step4193 = 24;\n$al4200 = L[2535];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 24: var anf_arg4222 = $ans4199;\n$step4193 = 25;\n$al4200 = L[2534];\nif(typeof(anf_fun4219.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4219);\n}\n$ans4199 = anf_fun4219.app(anf_arg4220,operator4195,anf_arg4221,parameters4197,anf_arg4222);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans4199;\ndefault: R.ffi.throwSpinnakerError(L[2511],$step4193);\n}\n}\nif($step4193 !== 25) {\n$ans4199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4200,$temp_lam4194,$step4193,[operator4195,defined4196,parameters4197,show$definition4198],[anf_fun4206,anf_arg4220,anf_arg4210,anf_arg4221,anf_fun4219,anf_fun4209,anf_array4216,anf_array4207,anf_fun4215],$elidedFrames4202);\n}\nreturn $ans4199;\n};\nvar anf_assign4225 = R.mF($temp_lam4194,\"definition-prose\");\ndefinition$prose4226.$var = anf_assign4225;\nR.nothing;\nvar $temp_lam4228 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2541($application$expression4229,$parameters4230,$arguments4231) {\nvar $step4227 = 0;\nvar $elidedFrames4235 = 0;\nvar $ans4232 = D;\nvar $al4233 = L[2541];\nif(R.isAR($application$expression4229)) {\n$step4227 = $application$expression4229.step;\n$al4233 = $application$expression4229.from;\n$ans4232 = $application$expression4229.ans;\n$elidedFrames4235 = $application$expression4229.elidedFrames;\napplication$expression4229 = $application$expression4229.args[0];\nparameters4230 = $application$expression4229.args[1];\narguments4231 = $application$expression4229.args[2];\nanf_fun4236 = $application$expression4229.vars[0];\nanf_array4237 = $application$expression4229.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2541],3,$t,false);\n}\nvar application$expression4229 = $application$expression4229;\nvar parameters4230 = $parameters4230;\nvar arguments4231 = $arguments4231;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4232 = R.mC();\n}\nwhile(!R.isContinuation($ans4232)) {\nswitch($step4227) {\ncase 0: $ans4232 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2542],L[2543]);\nvar anf_fun4236 = $ans4232;\n$ans4232 = R.makeArrayN((7));\nvar anf_array4237 = $ans4232;\n$step4227 = 1;\n$al4233 = L[2547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: anf_array4237[0] = $ans4232;\nanf_array4237[1] = application$expression4229;\n$step4227 = 2;\n$al4233 = L[2546];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array4237[2] = $ans4232;\nanf_array4237[3] = parameters4230;\n$step4227 = 3;\n$al4233 = L[2545];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array4237[4] = $ans4232;\nanf_array4237[5] = arguments4231;\n$step4227 = 4;\n$al4233 = L[2544];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array4237[6] = $ans4232;\n$step4227 = 5;\n$al4233 = L[2543];\nif(typeof(anf_fun4236.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,anf_fun4236);\n}\n$ans4232 = anf_fun4236.app(anf_array4237);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans4232;\ndefault: R.ffi.throwSpinnakerError(L[2541],$step4227);\n}\n}\nif($step4227 !== 5) {\n$ans4232.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4233,$temp_lam4228,$step4227,[application$expression4229,parameters4230,arguments4231],[anf_fun4236,anf_array4237],$elidedFrames4235);\n}\nreturn $ans4232;\n};\nvar anf_assign4239 = R.mF($temp_lam4228,\"explanation-prose\");\nexplanation$prose4240.$var = anf_assign4239;\nR.nothing;\nvar $temp_lam4242 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2548($v4243) {\nvar $step4241 = 0;\nvar $elidedFrames4247 = 0;\nvar $ans4244 = D;\nvar $al4245 = L[2548];\nif(R.isAR($v4243)) {\n$step4241 = $v4243.step;\n$al4245 = $v4243.from;\n$ans4244 = $v4243.ans;\n$elidedFrames4247 = $v4243.elidedFrames;\nv4243 = $v4243.args[0];\ntup4248 = $v4243.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2548],1,$t,false);\n}\nvar v4243 = $v4243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4244 = R.mC();\n}\nwhile(!R.isContinuation($ans4244)) {\nswitch($step4241) {\ncase 0: var tup4248 = v4243;\n$step4241 = 1;\n$al4245 = L[2553];\nR.checkTupleBind(tup4248,3,L[2553]);\nbreak;\ncase 1: R.getTuple(tup4248,0,L[2549]);\nR.getTuple(tup4248,1,L[2550]);\nvar args4256 = R.getTuple(tup4248,2,L[2551]);\n$step4241 = 2;\nvar $temp_lam4250 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2552($arg_4251) {\nvar $step4249 = 0;\nvar $elidedFrames4255 = 0;\nvar $ans4252 = D;\nvar $al4253 = L[2552];\nif(R.isAR($arg_4251)) {\n$step4249 = $arg_4251.step;\n$al4253 = $arg_4251.from;\n$ans4252 = $arg_4251.ans;\n$elidedFrames4255 = $arg_4251.elidedFrames;\narg_4251 = $arg_4251.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2552],1,$t,false);\n}\nvar arg_4251 = $arg_4251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4252 = R.mC();\n}\nwhile(!R.isContinuation($ans4252)) {\nswitch($step4249) {\ncase 0: $step4249 = 1;\n$al4253 = L[2552];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4253,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4252 = ED6.dict.values.dict[\"highlight\"].app(arg_4251,args4256,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4252;\ndefault: R.ffi.throwSpinnakerError(L[2552],$step4249);\n}\n}\nif($step4249 !== 1) {\n$ans4252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4253,$temp_lam4250,$step4249,[arg_4251],[],$elidedFrames4255);\n}\nreturn $ans4252;\n};\n$ans4244 = R.mF($temp_lam4250,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans4244;\ndefault: R.ffi.throwSpinnakerError(L[2548],$step4241);\n}\n}\nif($step4241 !== 2) {\n$ans4244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4245,$temp_lam4242,$step4241,[v4243],[tup4248],$elidedFrames4247);\n}\nreturn $ans4244;\n};\nvar anf_arg4262 = R.mF($temp_lam4242,\"\");\n$step3812 = 23;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2554],anf_arg4262);\nbreak;\ncase 23: var anf_method_obj4271 = $ans3818;\nvar $temp_lam4264 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2555($v4265) {\nvar $step4263 = 0;\nvar $elidedFrames4269 = 0;\nvar $ans4266 = D;\nvar $al4267 = L[2555];\nif(R.isAR($v4265)) {\n$step4263 = $v4265.step;\n$al4267 = $v4265.from;\n$ans4266 = $v4265.ans;\n$elidedFrames4269 = $v4265.elidedFrames;\nv4265 = $v4265.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2555],1,$t,false);\n}\nvar v4265 = $v4265;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4266 = R.mC();\n}\nwhile(!R.isContinuation($ans4266)) {\nswitch($step4263) {\ncase 0: $step4263 = 1;\n$ans4266 = v4265;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4266;\ndefault: R.ffi.throwSpinnakerError(L[2555],$step4263);\n}\n}\nif($step4263 !== 1) {\n$ans4266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4267,$temp_lam4264,$step4263,[v4265],[],$elidedFrames4269);\n}\nreturn $ans4266;\n};\nvar anf_arg4272 = R.mF($temp_lam4264,\"\");\n$step3812 = 24;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4271,\"or-else\",L[2556],anf_arg4272);\nbreak;\ncase 24: var arguments4381 = $ans3818;\nvar $temp_lam4274 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2557($v4275) {\nvar $step4273 = 0;\nvar $elidedFrames4279 = 0;\nvar $ans4276 = D;\nvar $al4277 = L[2557];\nif(R.isAR($v4275)) {\n$step4273 = $v4275.step;\n$al4277 = $v4275.from;\n$ans4276 = $v4275.ans;\n$elidedFrames4279 = $v4275.elidedFrames;\nv4275 = $v4275.args[0];\ntup4280 = $v4275.vars[0];\napp$loc4282 = $v4275.vars[1];\nanf_arg4283 = $v4275.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2557],1,$t,false);\n}\nvar v4275 = $v4275;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4276 = R.mC();\n}\nwhile(!R.isContinuation($ans4276)) {\nswitch($step4273) {\ncase 0: var tup4280 = v4275;\n$step4273 = 1;\n$al4277 = L[2565];\nR.checkTupleBind(tup4280,3,L[2565]);\nbreak;\ncase 1: var app$loc4282 = R.getTuple(tup4280,0,L[2558]);\nR.getTuple(tup4280,1,L[2559]);\nR.getTuple(tup4280,2,L[2560]);\n$step4273 = 2;\n$al4277 = L[2564];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,ED6.dict.values.dict[\"text\"]);\n}\n$ans4276 = ED6.dict.values.dict[\"text\"].app((\"application expression\"));\nbreak;\ncase 2: var anf_arg4283 = $ans4276;\n$ans4276 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2561],L[2562]);\nvar anf_fun4281 = $ans4276;\n$step4273 = 3;\n$al4277 = L[2562];\nif(typeof(anf_fun4281.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,anf_fun4281);\n}\n$ans4276 = anf_fun4281.app(app$loc4282);\nbreak;\ncase 3: var anf_arg4284 = $ans4276;\n$step4273 = 4;\n$al4277 = L[2563];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4276 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4283,anf_arg4284,(-1));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans4276;\ndefault: R.ffi.throwSpinnakerError(L[2557],$step4273);\n}\n}\nif($step4273 !== 4) {\n$ans4276.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4277,$temp_lam4274,$step4273,[v4275],[tup4280,app$loc4282,anf_arg4283],$elidedFrames4279);\n}\nreturn $ans4276;\n};\nvar anf_arg4288 = R.mF($temp_lam4274,\"\");\n$step3812 = 25;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2566],anf_arg4288);\nbreak;\ncase 25: var anf_method_obj4289 = $ans3818;\n$step3812 = 26;\n$al3819 = L[2631];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"application\"));\nbreak;\ncase 26: var anf_arg4290 = $ans3818;\n$step3812 = 27;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4289,\"or-else\",L[2567],anf_arg4290);\nbreak;\ncase 27: var application$expression4367 = $ans3818;\nvar $temp_lam4292 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2568($v4293) {\nvar $step4291 = 0;\nvar $elidedFrames4297 = 0;\nvar $ans4294 = D;\nvar $al4295 = L[2568];\nif(R.isAR($v4293)) {\n$step4291 = $v4293.step;\n$al4295 = $v4293.from;\n$ans4294 = $v4293.ans;\n$elidedFrames4297 = $v4293.elidedFrames;\nv4293 = $v4293.args[0];\ntup4298 = $v4293.vars[0];\nop$loc4300 = $v4293.vars[1];\nanf_arg4301 = $v4293.vars[2];\nanf_arg4302 = $v4293.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2568],1,$t,false);\n}\nvar v4293 = $v4293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4294 = R.mC();\n}\nwhile(!R.isContinuation($ans4294)) {\nswitch($step4291) {\ncase 0: var tup4298 = v4293;\n$step4291 = 1;\n$al4295 = L[2576];\nR.checkTupleBind(tup4298,3,L[2576]);\nbreak;\ncase 1: R.getTuple(tup4298,0,L[2569]);\nvar op$loc4300 = R.getTuple(tup4298,1,L[2570]);\nR.getTuple(tup4298,2,L[2571]);\n$step4291 = 2;\n$al4295 = L[2575];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,ED6.dict.values.dict[\"text\"]);\n}\n$ans4294 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 2: var anf_arg4301 = $ans4294;\n$ans4294 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2572],L[2573]);\nvar anf_fun4299 = $ans4294;\n$step4291 = 3;\n$al4295 = L[2573];\nif(typeof(anf_fun4299.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,anf_fun4299);\n}\n$ans4294 = anf_fun4299.app(op$loc4300);\nbreak;\ncase 3: var anf_arg4302 = $ans4294;\n$step4291 = R.checkPyretTrue(definition$contained4304)?4:5;\nbreak;\ncase 4: $step4291 = 6;\n$ans4294 = (-2);\nbreak;\ncase 5: $step4291 = 6;\n$ans4294 = (2);\nbreak;\ncase 6: var anf_arg4303 = $ans4294;\n$step4291 = 7;\n$al4295 = L[2574];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4294 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4301,anf_arg4302,anf_arg4303);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4294;\ndefault: R.ffi.throwSpinnakerError(L[2568],$step4291);\n}\n}\nif($step4291 !== 7) {\n$ans4294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4295,$temp_lam4292,$step4291,[v4293],[tup4298,op$loc4300,anf_arg4301,anf_arg4302],$elidedFrames4297);\n}\nreturn $ans4294;\n};\nvar anf_arg4308 = R.mF($temp_lam4292,\"\");\n$step3812 = 28;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2577],anf_arg4308);\nbreak;\ncase 28: var anf_method_obj4309 = $ans3818;\n$step3812 = 29;\n$al3819 = L[2630];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 29: var anf_arg4310 = $ans3818;\n$step3812 = 30;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4309,\"or-else\",L[2578],anf_arg4310);\nbreak;\ncase 30: var operator4384 = $ans3818;\nvar $temp_lam4312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2579($v4313) {\nvar $step4311 = 0;\nvar $elidedFrames4317 = 0;\nvar $ans4314 = D;\nvar $al4315 = L[2579];\nif(R.isAR($v4313)) {\n$step4311 = $v4313.step;\n$al4315 = $v4313.from;\n$ans4314 = $v4313.ans;\n$elidedFrames4317 = $v4313.elidedFrames;\nv4313 = $v4313.args[0];\ntup4318 = $v4313.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2579],1,$t,false);\n}\nvar v4313 = $v4313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4314 = R.mC();\n}\nwhile(!R.isContinuation($ans4314)) {\nswitch($step4311) {\ncase 0: var tup4318 = v4313;\n$step4311 = 1;\n$al4315 = L[2583];\nR.checkTupleBind(tup4318,2,L[2583]);\nbreak;\ncase 1: var params4326 = R.getTuple(tup4318,0,L[2580]);\nR.getTuple(tup4318,1,L[2581]);\n$step4311 = 2;\nvar $temp_lam4320 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2582($arg_4321) {\nvar $step4319 = 0;\nvar $elidedFrames4325 = 0;\nvar $ans4322 = D;\nvar $al4323 = L[2582];\nif(R.isAR($arg_4321)) {\n$step4319 = $arg_4321.step;\n$al4323 = $arg_4321.from;\n$ans4322 = $arg_4321.ans;\n$elidedFrames4325 = $arg_4321.elidedFrames;\narg_4321 = $arg_4321.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2582],1,$t,false);\n}\nvar arg_4321 = $arg_4321;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4322 = R.mC();\n}\nwhile(!R.isContinuation($ans4322)) {\nswitch($step4319) {\ncase 0: $step4319 = 1;\n$al4323 = L[2582];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4323,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4322 = ED6.dict.values.dict[\"highlight\"].app(arg_4321,params4326,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4322;\ndefault: R.ffi.throwSpinnakerError(L[2582],$step4319);\n}\n}\nif($step4319 !== 1) {\n$ans4322.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4323,$temp_lam4320,$step4319,[arg_4321],[],$elidedFrames4325);\n}\nreturn $ans4322;\n};\n$ans4314 = R.mF($temp_lam4320,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans4314;\ndefault: R.ffi.throwSpinnakerError(L[2579],$step4311);\n}\n}\nif($step4311 !== 2) {\n$ans4314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4315,$temp_lam4312,$step4311,[v4313],[tup4318],$elidedFrames4317);\n}\nreturn $ans4314;\n};\nvar anf_arg4331 = R.mF($temp_lam4312,\"\");\n$step3812 = 31;\n$ans3818 = R.maybeMethodCall1(destructured$definition4330,\"and-then\",L[2584],anf_arg4331);\nbreak;\ncase 31: var anf_method_obj4340 = $ans3818;\nvar $temp_lam4333 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2585($v4334) {\nvar $step4332 = 0;\nvar $elidedFrames4338 = 0;\nvar $ans4335 = D;\nvar $al4336 = L[2585];\nif(R.isAR($v4334)) {\n$step4332 = $v4334.step;\n$al4336 = $v4334.from;\n$ans4335 = $v4334.ans;\n$elidedFrames4338 = $v4334.elidedFrames;\nv4334 = $v4334.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2585],1,$t,false);\n}\nvar v4334 = $v4334;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4335 = R.mC();\n}\nwhile(!R.isContinuation($ans4335)) {\nswitch($step4332) {\ncase 0: $step4332 = 1;\n$ans4335 = v4334;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4335;\ndefault: R.ffi.throwSpinnakerError(L[2585],$step4332);\n}\n}\nif($step4332 !== 1) {\n$ans4335.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4336,$temp_lam4333,$step4332,[v4334],[],$elidedFrames4338);\n}\nreturn $ans4335;\n};\nvar anf_arg4341 = R.mF($temp_lam4333,\"\");\n$step3812 = 32;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4340,\"or-else\",L[2586],anf_arg4341);\nbreak;\ncase 32: var parameters4386 = $ans3818;\nvar $temp_lam4343 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2587($v4344) {\nvar $step4342 = 0;\nvar $elidedFrames4348 = 0;\nvar $ans4345 = D;\nvar $al4346 = L[2587];\nif(R.isAR($v4344)) {\n$step4342 = $v4344.step;\n$al4346 = $v4344.from;\n$ans4345 = $v4344.ans;\n$elidedFrames4348 = $v4344.elidedFrames;\nv4344 = $v4344.args[0];\nanf_arg4351 = $v4344.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2587],1,$t,false);\n}\nvar v4344 = $v4344;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4345 = R.mC();\n}\nwhile(!R.isContinuation($ans4345)) {\nswitch($step4342) {\ncase 0: $step4342 = 1;\n$al4346 = L[2592];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,ED6.dict.values.dict[\"text\"]);\n}\n$ans4345 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 1: var anf_arg4351 = $ans4345;\n$ans4345 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2588],L[2589]);\nvar anf_fun4349 = $ans4345;\n$al4346 = L[2590];\nvar anf_arg4350 = G(self3814,\"fun-def-loc\",L[2590]);\n$step4342 = 2;\n$al4346 = L[2589];\nif(typeof(anf_fun4349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,anf_fun4349);\n}\n$ans4345 = anf_fun4349.app(anf_arg4350);\nbreak;\ncase 2: var anf_arg4352 = $ans4345;\n$step4342 = 3;\n$al4346 = L[2591];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4345 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4351,anf_arg4352,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans4345;\ndefault: R.ffi.throwSpinnakerError(L[2587],$step4342);\n}\n}\nif($step4342 !== 3) {\n$ans4345.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4346,$temp_lam4343,$step4342,[v4344],[anf_arg4351],$elidedFrames4348);\n}\nreturn $ans4345;\n};\nvar anf_arg4354 = R.mF($temp_lam4343,\"\");\n$step3812 = 33;\n$ans3818 = R.maybeMethodCall1(destructured$definition4330,\"and-then\",L[2593],anf_arg4354);\nbreak;\ncase 33: var anf_method_obj4355 = $ans3818;\n$step3812 = 34;\n$al3819 = L[2629];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 34: var anf_arg4356 = $ans3818;\n$step3812 = 35;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4355,\"or-else\",L[2594],anf_arg4356);\nbreak;\ncase 35: var defined4388 = $ans3818;\n$ans3818 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2595],L[2596]);\nvar anf_fun4395 = $ans3818;\nvar $temp_lam4358 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2597($v4359) {\nvar $step4357 = 0;\nvar $elidedFrames4363 = 0;\nvar $ans4360 = D;\nvar $al4361 = L[2597];\nif(R.isAR($v4359)) {\n$step4357 = $v4359.step;\n$al4361 = $v4359.from;\n$ans4360 = $v4359.ans;\n$elidedFrames4363 = $v4359.elidedFrames;\nv4359 = $v4359.args[0];\ntup4364 = $v4359.vars[0];\napp$loc4369 = $v4359.vars[1];\nanf_fun4370 = $v4359.vars[2];\nanf_fun4365 = $v4359.vars[3];\nanf_arg4366 = $v4359.vars[4];\nanf_arg4371 = $v4359.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2597],1,$t,false);\n}\nvar v4359 = $v4359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4360 = R.mC();\n}\nwhile(!R.isContinuation($ans4360)) {\nswitch($step4357) {\ncase 0: var tup4364 = v4359;\n$step4357 = 1;\n$al4361 = L[2608];\nR.checkTupleBind(tup4364,3,L[2608]);\nbreak;\ncase 1: var app$loc4369 = R.getTuple(tup4364,0,L[2598]);\nR.getTuple(tup4364,1,L[2599]);\nR.getTuple(tup4364,2,L[2600]);\n$ans4360 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2601],L[2602]);\nvar anf_fun4370 = $ans4360;\n$ans4360 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2603],L[2604]);\nvar anf_fun4365 = $ans4360;\n$step4357 = 2;\n$al4361 = L[2607];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"text\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 2: var anf_arg4366 = $ans4360;\n$step4357 = 3;\n$al4361 = L[2606];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"text\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 3: var anf_arg4368 = $ans4360;\n$step4357 = 4;\n$al4361 = L[2604];\nif(typeof(anf_fun4365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,anf_fun4365);\n}\n$ans4360 = anf_fun4365.app(anf_arg4366,application$expression4367,anf_arg4368);\nbreak;\ncase 4: var anf_arg4371 = $ans4360;\n$step4357 = 5;\n$al4361 = L[2605];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"cmcode\"].app(app$loc4369);\nbreak;\ncase 5: var anf_arg4372 = $ans4360;\n$step4357 = 6;\n$al4361 = L[2602];\nif(typeof(anf_fun4370.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,anf_fun4370);\n}\n$ans4360 = anf_fun4370.app(anf_arg4371,anf_arg4372);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4360;\ndefault: R.ffi.throwSpinnakerError(L[2597],$step4357);\n}\n}\nif($step4357 !== 6) {\n$ans4360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4361,$temp_lam4358,$step4357,[v4359],[tup4364,app$loc4369,anf_fun4370,anf_fun4365,anf_arg4366,anf_arg4371],$elidedFrames4363);\n}\nreturn $ans4360;\n};\nvar anf_arg4376 = R.mF($temp_lam4358,\"\");\n$step3812 = 36;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2609],anf_arg4376);\nbreak;\ncase 36: var anf_method_obj4379 = $ans3818;\n$ans3818 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2610],L[2611]);\nvar anf_fun4377 = $ans3818;\n$step3812 = 37;\n$al3819 = L[2628];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"An application errored.\"));\nbreak;\ncase 37: var anf_arg4378 = $ans3818;\n$step3812 = 38;\n$al3819 = L[2611];\nif(typeof(anf_fun4377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,anf_fun4377);\n}\n$ans3818 = anf_fun4377.app(anf_arg4378);\nbreak;\ncase 38: var anf_arg4380 = $ans3818;\n$step3812 = 39;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4379,\"or-else\",L[2612],anf_arg4380);\nbreak;\ncase 39: var anf_arg4396 = $ans3818;\n$step3812 = 40;\n$al3819 = L[2627];\nif(typeof(ED6.dict.values.dict[\"ed-args\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"ed-args\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"ed-args\"].app(fun$app$arity3823);\nbreak;\ncase 40: var anf_arg4382 = $ans3818;\n$step3812 = 41;\n$al3819 = L[2626];\nif(typeof(arguments4381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,arguments4381);\n}\n$ans3818 = arguments4381.app(anf_arg4382);\nbreak;\ncase 41: var anf_arg4383 = $ans3818;\n$step3812 = 42;\n$al3819 = L[2625];\nif(typeof(operator$prose4192.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,operator$prose4192.$var);\n}\n$ans3818 = operator$prose4192.$var.app(anf_arg4383,operator4384);\nbreak;\ncase 42: var anf_arg4397 = $ans3818;\n$al3819 = L[2613];\nvar anf_arg4385 = G(self3814,\"fun-def-arity\",L[2613]);\n$step3812 = 43;\n$al3819 = L[2624];\nif(typeof(ED6.dict.values.dict[\"ed-params\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"ed-params\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"ed-params\"].app(anf_arg4385);\nbreak;\ncase 43: var anf_arg4387 = $ans3818;\n$step3812 = 44;\n$al3819 = L[2623];\nif(typeof(parameters4386.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,parameters4386);\n}\n$ans3818 = parameters4386.app(anf_arg4387);\nbreak;\ncase 44: var anf_arg4389 = $ans3818;\n$step3812 = 45;\n$al3819 = L[2622];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,not5);\n}\n$ans3818 = not5.app(definition$contained4304);\nbreak;\ncase 45: var anf_if4402 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4402)?46:48;\nbreak;\ncase 46: $al3819 = L[2620];\nvar anf_arg4400 = G(self3814,\"fun-def-loc\",L[2620]);\n$step3812 = 47;\n$al3819 = L[2621];\nif(typeof(src$available3816.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,src$available3816);\n}\n$ans3818 = src$available3816.app(anf_arg4400);\nbreak;\ncase 47: var anf_arg4401 = $ans3818;\n$ans3818 = R.checkWrapBoolean(anf_arg4401);\n$step3812 = 49;\nbreak;\ncase 48: $step3812 = 49;\n$ans3818 = (false);\nbreak;\ncase 49: var anf_arg4390 = $ans3818;\n$step3812 = 50;\n$al3819 = L[2619];\nif(typeof(definition$prose4226.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,definition$prose4226.$var);\n}\n$ans3818 = definition$prose4226.$var.app(operator4384,defined4388,anf_arg4389,anf_arg4390);\nbreak;\ncase 50: var anf_arg4398 = $ans3818;\n$step3812 = 51;\n$al3819 = L[2618];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"parameters\"));\nbreak;\ncase 51: var anf_arg4391 = $ans3818;\n$step3812 = 52;\n$al3819 = L[2617];\nif(typeof(parameters4386.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,parameters4386);\n}\n$ans3818 = parameters4386.app(anf_arg4391);\nbreak;\ncase 52: var anf_arg4393 = $ans3818;\n$step3812 = 53;\n$al3819 = L[2616];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 53: var anf_arg4392 = $ans3818;\n$step3812 = 54;\n$al3819 = L[2615];\nif(typeof(arguments4381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,arguments4381);\n}\n$ans3818 = arguments4381.app(anf_arg4392);\nbreak;\ncase 54: var anf_arg4394 = $ans3818;\n$step3812 = 55;\n$al3819 = L[2614];\nif(typeof(explanation$prose4240.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,explanation$prose4240.$var);\n}\n$ans3818 = explanation$prose4240.$var.app(application$expression4367,anf_arg4393,anf_arg4394);\nbreak;\ncase 55: var anf_arg4399 = $ans3818;\n$step3812 = 56;\n$al3819 = L[2596];\nif(typeof(anf_fun4395.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,anf_fun4395);\n}\n$ans3818 = anf_fun4395.app(anf_arg4396,anf_arg4397,anf_arg4398,anf_arg4399);\nbreak;\ncase 56: ++R.GAS;\nreturn $ans3818;\ndefault: R.ffi.throwSpinnakerError(L[2383],$step3812);\n}\n}\nif($step3812 !== 56) {\n$ans3818.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3819,$temp_full3813,$step3812,[self3814,maybe$stack$loc3815,src$available3816,maybe$ast3817],[anf_arg4396,anf_arg4397,anf_arg4398,parameters4386,application$expression4367,anf_arg4389,were$was4185,definition$prose4226,fun$app$arity3823,application$loc4167,operator$prose4192,operator4384,defined4388,destructured$definition4330,destructured$application4261,anf_method_obj4355,anf_method_obj4289,definition$contained4304,anf_method_obj4379,locs$from$definition$ast4155,arguments4381,anf_fun4395,anf_method_obj4309,explanation$prose4240,anf_fun4377,function$or$method4203,locs$from$application$ast3928,anf_arg4393],$elidedFrames3821);\n}\nreturn $ans3818;\n};\nvar anf_variant_member5962 = R.makeMethod3($temp_full3813,\"render-fancy-reason\");\nvar $temp_full4408 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2639($self4409) {\nvar $step4407 = 0;\nvar $elidedFrames4413 = 0;\nvar $ans4410 = D;\nvar $al4411 = L[2639];\nif(R.isAR($self4409)) {\n$step4407 = $self4409.step;\n$al4411 = $self4409.from;\n$ans4410 = $self4409.ans;\n$elidedFrames4413 = $self4409.elidedFrames;\nself4409 = $self4409.args[0];\nanf_arg4483 = $self4409.vars[0];\nanf_arg4484 = $self4409.vars[1];\nanf_arg4474 = $self4409.vars[2];\nanf_arg4475 = $self4409.vars[3];\nthis$str4433 = $self4409.vars[4];\nanf_arg4468 = $self4409.vars[5];\nanf_arg4479 = $self4409.vars[6];\nanf_arg4469 = $self4409.vars[7];\narg$str4435 = $self4409.vars[8];\nanf_fun4473 = $self4409.vars[9];\nnum$args4415 = $self4409.vars[10];\nanf_arg4480 = $self4409.vars[11];\nanf_fun4467 = $self4409.vars[12];\nanf_fun4478 = $self4409.vars[13];\nanf_arg4481 = $self4409.vars[14];\nexp$arg$str4427 = $self4409.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2639],1,$t,true);\n}\nvar self4409 = $self4409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4410 = R.mC();\n}\nwhile(!R.isContinuation($ans4410)) {\nswitch($step4407) {\ncase 0: $al4411 = L[2640];\nvar anf_method_obj4414 = G(self4409,\"fun-app-args\",L[2640]);\n$step4407 = 1;\n$ans4410 = R.maybeMethodCall0(anf_method_obj4414,\"length\",L[2641]);\nbreak;\ncase 1: var num$args4415 = $ans4410;\n$step4407 = 2;\n$al4411 = L[2707];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(num$args4415,(1));\nbreak;\ncase 2: var anf_if4489 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4489)?3:4;\nbreak;\ncase 3: $step4407 = 5;\n$ans4410 = (\"this \");\nbreak;\ncase 4: $step4407 = 5;\n$ans4410 = (\"these \");\nbreak;\ncase 5: var this$str4433 = $ans4410;\n$step4407 = 6;\n$al4411 = L[2706];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(num$args4415,(1));\nbreak;\ncase 6: var anf_if4488 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4488)?7:8;\nbreak;\ncase 7: $step4407 = 9;\n$ans4410 = (\" argument:\");\nbreak;\ncase 8: $step4407 = 9;\n$ans4410 = (\" arguments:\");\nbreak;\ncase 9: var arg$str4435 = $ans4410;\n$al4411 = L[2642];\nvar anf_arg4416 = G(self4409,\"fun-def-arity\",L[2642]);\n$step4407 = 10;\n$al4411 = L[2705];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(anf_arg4416,(1));\nbreak;\ncase 10: var anf_if4487 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4487)?11:12;\nbreak;\ncase 11: $step4407 = 13;\n$ans4410 = (\" argument\");\nbreak;\ncase 12: $step4407 = 13;\n$ans4410 = (\" arguments\");\nbreak;\ncase 13: var exp$arg$str4427 = $ans4410;\n$al4411 = L[2643];\nvar anf_method_obj4417 = G(self4409,\"fun-def-loc\",L[2643]);\n$step4407 = 14;\n$ans4410 = R.maybeMethodCall0(anf_method_obj4417,\"is-builtin\",L[2644]);\nbreak;\ncase 14: var anf_if4486 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4486)?15:16;\nbreak;\ncase 15: $step4407 = 17;\n$ans4410 = (0);\nbreak;\ncase 16: $step4407 = 17;\n$ans4410 = (1);\nbreak;\ncase 17: var anf_arg4483 = $ans4410;\nvar $temp_lam4419 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2645($caller$loc4420) {\nvar $step4418 = 0;\nvar $elidedFrames4424 = 0;\nvar $ans4421 = D;\nvar $al4422 = L[2645];\nif(R.isAR($caller$loc4420)) {\n$step4418 = $caller$loc4420.step;\n$al4422 = $caller$loc4420.from;\n$ans4421 = $caller$loc4420.ans;\n$elidedFrames4424 = $caller$loc4420.elidedFrames;\ncaller$loc4420 = $caller$loc4420.args[0];\nanf_arg4450 = $caller$loc4420.vars[0];\nanf_fun4448 = $caller$loc4420.vars[1];\nanf_arg4430 = $caller$loc4420.vars[2];\nanf_arg4431 = $caller$loc4420.vars[3];\nanf_arg4442 = $caller$loc4420.vars[4];\nanf_fun4429 = $caller$loc4420.vars[5];\nanf_arg4443 = $caller$loc4420.vars[6];\nanf_arg4444 = $caller$loc4420.vars[7];\nanf_arg4457 = $caller$loc4420.vars[8];\nanf_arg4458 = $caller$loc4420.vars[9];\nanf_arg4437 = $caller$loc4420.vars[10];\nanf_arg4438 = $caller$loc4420.vars[11];\nanf_arg4449 = $caller$loc4420.vars[12];\nanf_fun4461 = $caller$loc4420.vars[13];\nanf_fun4441 = $caller$loc4420.vars[14];\nanf_fun4453 = $caller$loc4420.vars[15];\nanf_fun4456 = $caller$loc4420.vars[16];\nanf_array4462 = $caller$loc4420.vars[17];\nanf_fun4436 = $caller$loc4420.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2645],1,$t,false);\n}\nvar caller$loc4420 = $caller$loc4420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4421 = R.mC();\n}\nwhile(!R.isContinuation($ans4421)) {\nswitch($step4418) {\ncase 0: $al4422 = L[2646];\nvar anf_method_obj4425 = G(self4409,\"fun-def-loc\",L[2646]);\n$step4418 = 1;\n$ans4421 = R.maybeMethodCall0(anf_method_obj4425,\"is-builtin\",L[2647]);\nbreak;\ncase 1: var anf_if4463 = $ans4421;\n$step4418 = R.checkPyretTrue(anf_if4463)?2:14;\nbreak;\ncase 2: $ans4421 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2648],L[2649]);\nvar anf_fun4441 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2650],L[2651]);\nvar anf_fun4429 = $ans4421;\n$step4418 = 3;\n$al4422 = L[2664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 3: var anf_arg4430 = $ans4421;\n$al4422 = L[2652];\nvar anf_arg4426 = G(self4409,\"fun-def-arity\",L[2652]);\n$step4418 = 4;\n$al4422 = L[2663];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(anf_arg4426);\nbreak;\ncase 4: var anf_arg4431 = $ans4421;\n$step4418 = 5;\n$al4422 = L[2662];\n// omitting isFunction check;\n$ans4421 = _plus5.app(exp$arg$str4427,(\" at\"));\nbreak;\ncase 5: var anf_arg4428 = $ans4421;\n$step4418 = 6;\n$al4422 = L[2661];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4428);\nbreak;\ncase 6: var anf_arg4432 = $ans4421;\n$step4418 = 7;\n$al4422 = L[2651];\nif(typeof(anf_fun4429.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4429);\n}\n$ans4421 = anf_fun4429.app(anf_arg4430,anf_arg4431,anf_arg4432);\nbreak;\ncase 7: var anf_arg4442 = $ans4421;\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(caller$loc4420);\nvar anf_arg4443 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2653],L[2654]);\nvar anf_fun4436 = $ans4421;\n$step4418 = 8;\n$al4422 = L[2660];\n// omitting isFunction check;\n$ans4421 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 8: var anf_arg4434 = $ans4421;\n$step4418 = 9;\n$al4422 = L[2659];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4434);\nbreak;\ncase 9: var anf_arg4437 = $ans4421;\n$step4418 = 10;\n$al4422 = L[2658];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 10: var anf_arg4438 = $ans4421;\n$step4418 = 11;\n$al4422 = L[2657];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 11: var anf_arg4439 = $ans4421;\n$step4418 = 12;\n$al4422 = L[2654];\nif(typeof(anf_fun4436.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4436);\n}\n$ans4421 = anf_fun4436.app(anf_arg4437,anf_arg4438,anf_arg4439);\nbreak;\ncase 12: var anf_arg4444 = $ans4421;\n$al4422 = L[2655];\nvar anf_arg4440 = G(self4409,\"fun-app-args\",L[2655]);\n$step4418 = 13;\n$al4422 = L[2656];\n// omitting isFunction check;\n$ans4421 = vert$list$values58.$var.app(anf_arg4440);\nbreak;\ncase 13: var anf_arg4445 = $ans4421;\n$step4418 = 28;\n$al4422 = L[2649];\nif(typeof(anf_fun4441.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4441);\n}\n$ans4421 = anf_fun4441.app(anf_arg4442,anf_arg4443,anf_arg4444,anf_arg4445);\nbreak;\ncase 14: $ans4421 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2665],L[2666]);\nvar anf_fun4461 = $ans4421;\n$ans4421 = R.makeArrayN((6));\nvar anf_array4462 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2667],L[2668]);\nvar anf_fun4448 = $ans4421;\n$step4418 = 15;\n$al4422 = L[2685];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 15: var anf_arg4449 = $ans4421;\n$al4422 = L[2669];\nvar anf_arg4446 = G(self4409,\"fun-def-arity\",L[2669]);\n$step4418 = 16;\n$al4422 = L[2684];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(anf_arg4446);\nbreak;\ncase 16: var anf_arg4450 = $ans4421;\n$step4418 = 17;\n$al4422 = L[2683];\n// omitting isFunction check;\n$ans4421 = _plus5.app(exp$arg$str4427,(\" when calling the function at \"));\nbreak;\ncase 17: var anf_arg4447 = $ans4421;\n$step4418 = 18;\n$al4422 = L[2682];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4447);\nbreak;\ncase 18: var anf_arg4451 = $ans4421;\n$step4418 = 19;\n$al4422 = L[2668];\nif(typeof(anf_fun4448.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4448);\n}\n$ans4421 = anf_fun4448.app(anf_arg4449,anf_arg4450,anf_arg4451);\nbreak;\ncase 19: anf_array4462[0] = $ans4421;\n$al4422 = L[2670];\nvar anf_arg4452 = G(self4409,\"fun-def-loc\",L[2670]);\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(anf_arg4452);\nanf_array4462[1] = $ans4421;\n$ans4421 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2671],L[2672]);\nvar anf_fun4453 = $ans4421;\n$step4418 = 20;\n$al4422 = L[2681];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"from\"));\nbreak;\ncase 20: var anf_arg4454 = $ans4421;\n$step4418 = 21;\n$al4422 = L[2672];\nif(typeof(anf_fun4453.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4453);\n}\n$ans4421 = anf_fun4453.app(anf_arg4454);\nbreak;\ncase 21: anf_array4462[2] = $ans4421;\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(caller$loc4420);\nanf_array4462[3] = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2673],L[2674]);\nvar anf_fun4456 = $ans4421;\n$step4418 = 22;\n$al4422 = L[2680];\n// omitting isFunction check;\n$ans4421 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 22: var anf_arg4455 = $ans4421;\n$step4418 = 23;\n$al4422 = L[2679];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4455);\nbreak;\ncase 23: var anf_arg4457 = $ans4421;\n$step4418 = 24;\n$al4422 = L[2678];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 24: var anf_arg4458 = $ans4421;\n$step4418 = 25;\n$al4422 = L[2677];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 25: var anf_arg4459 = $ans4421;\n$step4418 = 26;\n$al4422 = L[2674];\nif(typeof(anf_fun4456.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4456);\n}\n$ans4421 = anf_fun4456.app(anf_arg4457,anf_arg4458,anf_arg4459);\nbreak;\ncase 26: anf_array4462[4] = $ans4421;\n$al4422 = L[2675];\nvar anf_arg4460 = G(self4409,\"fun-app-args\",L[2675]);\n$step4418 = 27;\n$al4422 = L[2676];\n// omitting isFunction check;\n$ans4421 = vert$list$values58.$var.app(anf_arg4460);\nbreak;\ncase 27: anf_array4462[5] = $ans4421;\n$step4418 = 28;\n$al4422 = L[2666];\nif(typeof(anf_fun4461.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4461);\n}\n$ans4421 = anf_fun4461.app(anf_array4462);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans4421;\ndefault: R.ffi.throwSpinnakerError(L[2645],$step4418);\n}\n}\nif($step4418 !== 28) {\n$ans4421.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4422,$temp_lam4419,$step4418,[caller$loc4420],[anf_arg4450,anf_fun4448,anf_arg4430,anf_arg4431,anf_arg4442,anf_fun4429,anf_arg4443,anf_arg4444,anf_arg4457,anf_arg4458,anf_arg4437,anf_arg4438,anf_arg4449,anf_fun4461,anf_fun4441,anf_fun4453,anf_fun4456,anf_array4462,anf_fun4436],$elidedFrames4424);\n}\nreturn $ans4421;\n};\nvar anf_arg4484 = R.mF($temp_lam4419,\"\");\n$ans4410 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2686],L[2687]);\nvar anf_fun4478 = $ans4410;\n$ans4410 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2688],L[2689]);\nvar anf_fun4467 = $ans4410;\n$step4407 = 18;\n$al4411 = L[2704];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 18: var anf_arg4468 = $ans4410;\n$al4411 = L[2690];\nvar anf_arg4465 = G(self4409,\"fun-def-arity\",L[2690]);\n$step4407 = 19;\n$al4411 = L[2703];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"embed\"].app(anf_arg4465);\nbreak;\ncase 19: var anf_arg4469 = $ans4410;\n$step4407 = 20;\n$al4411 = L[2702];\n// omitting isFunction check;\n$ans4410 = _plus5.app(exp$arg$str4427,(\" at \"));\nbreak;\ncase 20: var anf_arg4466 = $ans4410;\n$step4407 = 21;\n$al4411 = L[2701];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(anf_arg4466);\nbreak;\ncase 21: var anf_arg4470 = $ans4410;\n$step4407 = 22;\n$al4411 = L[2689];\nif(typeof(anf_fun4467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4467);\n}\n$ans4410 = anf_fun4467.app(anf_arg4468,anf_arg4469,anf_arg4470);\nbreak;\ncase 22: var anf_arg4479 = $ans4410;\n$al4411 = L[2691];\nvar anf_arg4471 = G(self4409,\"fun-def-loc\",L[2691]);\n// caller optimization;\n$ans4410 = draw$and$highlight36.$var.app(anf_arg4471);\nvar anf_arg4480 = $ans4410;\n$ans4410 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2692],L[2693]);\nvar anf_fun4473 = $ans4410;\n$step4407 = 23;\n$al4411 = L[2700];\n// omitting isFunction check;\n$ans4410 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 23: var anf_arg4472 = $ans4410;\n$step4407 = 24;\n$al4411 = L[2699];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(anf_arg4472);\nbreak;\ncase 24: var anf_arg4474 = $ans4410;\n$step4407 = 25;\n$al4411 = L[2698];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 25: var anf_arg4475 = $ans4410;\n$step4407 = 26;\n$al4411 = L[2697];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 26: var anf_arg4476 = $ans4410;\n$step4407 = 27;\n$al4411 = L[2693];\nif(typeof(anf_fun4473.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4473);\n}\n$ans4410 = anf_fun4473.app(anf_arg4474,anf_arg4475,anf_arg4476);\nbreak;\ncase 27: var anf_arg4481 = $ans4410;\n$al4411 = L[2694];\nvar anf_arg4477 = G(self4409,\"fun-app-args\",L[2694]);\n$step4407 = 28;\n$al4411 = L[2696];\n// omitting isFunction check;\n$ans4410 = vert$list$values58.$var.app(anf_arg4477);\nbreak;\ncase 28: var anf_arg4482 = $ans4410;\n$step4407 = 29;\n$al4411 = L[2687];\nif(typeof(anf_fun4478.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4478);\n}\n$ans4410 = anf_fun4478.app(anf_arg4479,anf_arg4480,anf_arg4481,anf_arg4482);\nbreak;\ncase 29: var anf_arg4485 = $ans4410;\n$step4407 = 30;\n$al4411 = L[2695];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"maybe-stack-loc\"].app(anf_arg4483,(false),anf_arg4484,anf_arg4485);\nbreak;\ncase 30: ++R.GAS;\nreturn $ans4410;\ndefault: R.ffi.throwSpinnakerError(L[2639],$step4407);\n}\n}\nif($step4407 !== 30) {\n$ans4410.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4411,$temp_full4408,$step4407,[self4409],[anf_arg4483,anf_arg4484,anf_arg4474,anf_arg4475,this$str4433,anf_arg4468,anf_arg4479,anf_arg4469,arg$str4435,anf_fun4473,num$args4415,anf_arg4480,anf_fun4467,anf_fun4478,anf_arg4481,exp$arg$str4427],$elidedFrames4413);\n}\nreturn $ans4410;\n};\nvar anf_variant_member5963 = R.makeMethod0($temp_full4408,\"render-reason\");\nvar $temp_full4492 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2708($self4493,$maybe$stack$loc4494,$src$available4495,$maybe$ast4496) {\nvar $step4491 = 0;\nvar $elidedFrames4500 = 0;\nvar $ans4497 = D;\nvar $al4498 = L[2708];\nif(R.isAR($self4493)) {\n$step4491 = $self4493.step;\n$al4498 = $self4493.from;\n$ans4497 = $self4493.ans;\n$elidedFrames4500 = $self4493.elidedFrames;\nself4493 = $self4493.args[0];\nmaybe$stack$loc4494 = $self4493.args[1];\nsrc$available4495 = $self4493.args[2];\nmaybe$ast4496 = $self4493.args[3];\ncases4501 = $self4493.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2708],4,$t,true);\n}\nvar self4493 = $self4493;\nvar maybe$stack$loc4494 = $maybe$stack$loc4494;\nvar src$available4495 = $src$available4495;\nvar maybe$ast4496 = $maybe$ast4496;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4497 = R.mC();\n}\nwhile(!R.isContinuation($ans4497)) {\nswitch($step4491) {\ncase 0: $step4491 = 1;\n$al4498 = L[2730];\nif(typeof(maybe$stack$loc4494.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4498,maybe$stack$loc4494);\n}\n$ans4497 = maybe$stack$loc4494.app((0),(true));\nbreak;\ncase 1: var cases4501 = $ans4497;\n$step4491 = 2;\n$al4498 = L[2729];\nvar $ann$check4522 = R._cA(L[2729],R.gDA(L[2729],\"O\",O8.dict.types,\"Option\"),cases4501);\nif(R.isContinuation($ann$check4522)) {\n$ans4497 = $ann$check4522;\n}\nbreak;\ncase 2: $al4498 = L[2726];\n$step4491 = $cases_dispatch4521[cases4501.$name] || 5;\nbreak;\ncase 3: if(cases4501.$arity !== 1) {\nif(cases4501.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2725],1,cases4501.$arity,L[2726],cases4501.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2725],true,L[2726],cases4501.$loc);\n}\n}\n$step4491 = 6;\n$al4498 = L[2725];\nvar $temp_branch4514 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2726($l4502) {\nvar $step4515 = 0;\nvar $elidedFrames4519 = 0;\nvar $ans4516 = D;\nvar $al4517 = L[2710];\nif(R.isAR($l4502)) {\n$step4515 = $l4502.step;\n$al4517 = $l4502.from;\n$ans4516 = $l4502.ans;\n$elidedFrames4519 = $l4502.elidedFrames;\nl4502 = $l4502.args[0];\nanf_fun4503 = $l4502.vars[0];\nanf_fun4505 = $l4502.vars[1];\nanf_fun4508 = $l4502.vars[2];\nanf_array4513 = $l4502.vars[3];\nanf_fun4512 = $l4502.vars[4];\n} else {\nvar l4502 = $l4502;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4516 = R.mC();\n}\nwhile(!R.isContinuation($ans4516)) {\nswitch($step4515) {\ncase 0: $ans4516 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2709],L[2710]);\nvar anf_fun4512 = $ans4516;\n$ans4516 = R.makeArrayN((6));\nvar anf_array4513 = $ans4516;\n$step4515 = 1;\n$al4517 = L[2724];\n// omitting isFunction check;\n$ans4516 = ed$intro146.$var.app((\"row construction\"),l4502,(-1),(true));\nbreak;\ncase 1: anf_array4513[0] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2711],L[2712]);\nvar anf_fun4503 = $ans4516;\n$step4515 = 2;\n$al4517 = L[2723];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"The row could not be constructed because the number of expected columns didn't match the number of provided values.\"));\nbreak;\ncase 2: var anf_arg4504 = $ans4516;\n$step4515 = 3;\n$al4517 = L[2712];\nif(typeof(anf_fun4503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4503);\n}\n$ans4516 = anf_fun4503.app(anf_arg4504);\nbreak;\ncase 3: anf_array4513[1] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2713],L[2714]);\nvar anf_fun4505 = $ans4516;\n$step4515 = 4;\n$al4517 = L[2722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"Expected columns:\"));\nbreak;\ncase 4: var anf_arg4506 = $ans4516;\n$step4515 = 5;\n$al4517 = L[2714];\nif(typeof(anf_fun4505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4505);\n}\n$ans4516 = anf_fun4505.app(anf_arg4506);\nbreak;\ncase 5: anf_array4513[2] = $ans4516;\n$al4517 = L[2715];\nvar anf_arg4507 = G(self4493,\"colnames\",L[2715]);\n$step4515 = 6;\n$al4517 = L[2721];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"embed\"].app(anf_arg4507);\nbreak;\ncase 6: anf_array4513[3] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2716],L[2717]);\nvar anf_fun4508 = $ans4516;\n$step4515 = 7;\n$al4517 = L[2720];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"Provided values:\"));\nbreak;\ncase 7: var anf_arg4509 = $ans4516;\n$step4515 = 8;\n$al4517 = L[2717];\nif(typeof(anf_fun4508.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4508);\n}\n$ans4516 = anf_fun4508.app(anf_arg4509);\nbreak;\ncase 8: anf_array4513[4] = $ans4516;\n$al4517 = L[2718];\nvar anf_arg4510 = G(self4493,\"provided-vals\",L[2718]);\n// caller optimization;\n$ans4516 = raw$array$to$list4.app(anf_arg4510);\nvar anf_arg4511 = $ans4516;\n$step4515 = 9;\n$al4517 = L[2719];\n// omitting isFunction check;\n$ans4516 = horz$list$values80.$var.app(anf_arg4511);\nbreak;\ncase 9: anf_array4513[5] = $ans4516;\n$step4515 = 10;\n$al4517 = L[2710];\nif(typeof(anf_fun4512.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4512);\n}\n$ans4516 = anf_fun4512.app(anf_array4513);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans4516;\ndefault: R.ffi.throwSpinnakerError(L[2710],$step4515);\n}\n}\nif($step4515 !== 10) {\n$ans4516.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4517,$temp_branch4514,$step4515,[l4502],[anf_fun4503,anf_fun4505,anf_fun4508,anf_array4513,anf_fun4512],$elidedFrames4519);\n}\nreturn $ans4516;\n};\n$ans4497 = cases4501.$app_fields($temp_branch4514,[false]);\nbreak;\ncase 4: if(cases4501.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[2728],false,L[2726],cases4501.$loc);\n}\n$step4491 = 6;\n$ans4497 = R.maybeMethodCall0(self4493,\"render-reason\",L[2727]);\nbreak;\ncase 5: $ans4497 = R.throwNoCasesMatched(L[2726],cases4501);\n$step4491 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4497;\ndefault: R.ffi.throwSpinnakerError(L[2708],$step4491);\n}\n}\nif($step4491 !== 6) {\n$ans4497.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4498,$temp_full4492,$step4491,[self4493,maybe$stack$loc4494,src$available4495,maybe$ast4496],[cases4501],$elidedFrames4500);\n}\nreturn $ans4497;\n};\nvar anf_variant_member5974 = R.makeMethod3($temp_full4492,\"render-fancy-reason\");\nvar $temp_full4525 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2731($self4526) {\nvar $step4524 = 0;\nvar $elidedFrames4530 = 0;\nvar $ans4527 = D;\nvar $al4528 = L[2731];\nif(R.isAR($self4526)) {\n$step4524 = $self4526.step;\n$al4528 = $self4526.from;\n$ans4527 = $self4526.ans;\n$elidedFrames4530 = $self4526.elidedFrames;\nself4526 = $self4526.args[0];\nanf_fun4536 = $self4526.vars[0];\nanf_arg4541 = $self4526.vars[1];\nanf_arg4542 = $self4526.vars[2];\nanf_arg4543 = $self4526.vars[3];\nanf_arg4544 = $self4526.vars[4];\nanf_fun4540 = $self4526.vars[5];\nanf_fun4531 = $self4526.vars[6];\nanf_fun4533 = $self4526.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2731],1,$t,true);\n}\nvar self4526 = $self4526;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4527 = R.mC();\n}\nwhile(!R.isContinuation($ans4527)) {\nswitch($step4524) {\ncase 0: $ans4527 = R.getMaker5(ED6.dict.values.dict[\"error\"],(\"make5\"),L[2732],L[2733]);\nvar anf_fun4540 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2734],L[2735]);\nvar anf_fun4531 = $ans4527;\n$step4524 = 1;\n$al4528 = L[2746];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"The row could not be constructed because the number of columns didn't match the number of provided values.\"));\nbreak;\ncase 1: var anf_arg4532 = $ans4527;\n$step4524 = 2;\n$al4528 = L[2735];\nif(typeof(anf_fun4531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4531);\n}\n$ans4527 = anf_fun4531.app(anf_arg4532);\nbreak;\ncase 2: var anf_arg4541 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2736],L[2737]);\nvar anf_fun4533 = $ans4527;\n$step4524 = 3;\n$al4528 = L[2745];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"Expected columns:\"));\nbreak;\ncase 3: var anf_arg4534 = $ans4527;\n$step4524 = 4;\n$al4528 = L[2737];\nif(typeof(anf_fun4533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4533);\n}\n$ans4527 = anf_fun4533.app(anf_arg4534);\nbreak;\ncase 4: var anf_arg4542 = $ans4527;\n$al4528 = L[2738];\nvar anf_arg4535 = G(self4526,\"colnames\",L[2738]);\n$step4524 = 5;\n$al4528 = L[2744];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"embed\"].app(anf_arg4535);\nbreak;\ncase 5: var anf_arg4543 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2739],L[2740]);\nvar anf_fun4536 = $ans4527;\n$step4524 = 6;\n$al4528 = L[2743];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"Provided values:\"));\nbreak;\ncase 6: var anf_arg4537 = $ans4527;\n$step4524 = 7;\n$al4528 = L[2740];\nif(typeof(anf_fun4536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4536);\n}\n$ans4527 = anf_fun4536.app(anf_arg4537);\nbreak;\ncase 7: var anf_arg4544 = $ans4527;\n$al4528 = L[2741];\nvar anf_arg4538 = G(self4526,\"provided-vals\",L[2741]);\n// caller optimization;\n$ans4527 = raw$array$to$list4.app(anf_arg4538);\nvar anf_arg4539 = $ans4527;\n$step4524 = 8;\n$al4528 = L[2742];\n// omitting isFunction check;\n$ans4527 = vert$list$values58.$var.app(anf_arg4539);\nbreak;\ncase 8: var anf_arg4545 = $ans4527;\n$step4524 = 9;\n$al4528 = L[2733];\nif(typeof(anf_fun4540.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4540);\n}\n$ans4527 = anf_fun4540.app(anf_arg4541,anf_arg4542,anf_arg4543,anf_arg4544,anf_arg4545);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4527;\ndefault: R.ffi.throwSpinnakerError(L[2731],$step4524);\n}\n}\nif($step4524 !== 9) {\n$ans4527.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4528,$temp_full4525,$step4524,[self4526],[anf_fun4536,anf_arg4541,anf_arg4542,anf_arg4543,anf_arg4544,anf_fun4540,anf_fun4531,anf_fun4533],$elidedFrames4530);\n}\nreturn $ans4527;\n};\nvar anf_variant_member5975 = R.makeMethod0($temp_full4525,\"render-reason\");\nvar $temp_full4548 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2747($self4549,$maybe$stack$loc4550,$src$available4551,$maybe$ast4552) {\nvar $step4547 = 0;\nvar $elidedFrames4556 = 0;\nvar $ans4553 = D;\nvar $al4554 = L[2747];\nif(R.isAR($self4549)) {\n$step4547 = $self4549.step;\n$al4554 = $self4549.from;\n$ans4553 = $self4549.ans;\n$elidedFrames4556 = $self4549.elidedFrames;\nself4549 = $self4549.args[0];\nmaybe$stack$loc4550 = $self4549.args[1];\nsrc$available4551 = $self4549.args[2];\nmaybe$ast4552 = $self4549.args[3];\nanf_fun4647 = $self4549.vars[0];\nanf_arg4650 = $self4549.vars[1];\nanf_arg4644 = $self4549.vars[2];\nanf_arg4634 = $self4549.vars[3];\nanf_arg4645 = $self4549.vars[4];\nanf_arg4635 = $self4549.vars[5];\napplication$loc4587 = $self4549.vars[6];\nanf_arg4636 = $self4549.vars[7];\nanf_arg4637 = $self4549.vars[8];\nanf_method_obj4594 = $self4549.vars[9];\ninfo$prose4649 = $self4549.vars[10];\nintro$prose4648 = $self4549.vars[11];\nanf_fun4590 = $self4549.vars[12];\nanf_method_obj4639 = $self4549.vars[13];\nanf_fun4643 = $self4549.vars[14];\nanf_arg4591 = $self4549.vars[15];\nanf_fun4633 = $self4549.vars[16];\nanf_arg4592 = $self4549.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2747],4,$t,true);\n}\nvar self4549 = $self4549;\nvar maybe$stack$loc4550 = $maybe$stack$loc4550;\nvar src$available4551 = $src$available4551;\nvar maybe$ast4552 = $maybe$ast4552;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4553 = R.mC();\n}\nwhile(!R.isContinuation($ans4553)) {\nswitch($step4547) {\ncase 0: $step4547 = 1;\n$al4554 = L[2831];\nif(typeof(maybe$stack$loc4550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,maybe$stack$loc4550);\n}\n$ans4553 = maybe$stack$loc4550.app((0),(true));\nbreak;\ncase 1: var application$loc4587 = $ans4553;\nvar $temp_lam4558 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2748($l4559) {\nvar $step4557 = 0;\nvar $elidedFrames4563 = 0;\nvar $ans4560 = D;\nvar $al4561 = L[2748];\nif(R.isAR($l4559)) {\n$step4557 = $l4559.step;\n$al4561 = $l4559.from;\n$ans4560 = $l4559.ans;\n$elidedFrames4563 = $l4559.elidedFrames;\nl4559 = $l4559.args[0];\nanf_arg4582 = $l4559.vars[0];\nanf_arg4572 = $l4559.vars[1];\nanf_arg4583 = $l4559.vars[2];\nanf_arg4573 = $l4559.vars[3];\nanf_arg4576 = $l4559.vars[4];\nanf_arg4566 = $l4559.vars[5];\nanf_arg4569 = $l4559.vars[6];\nanf_fun4571 = $l4559.vars[7];\nanf_fun4575 = $l4559.vars[8];\nanf_fun4565 = $l4559.vars[9];\nanf_arg4580 = $l4559.vars[10];\nanf_arg4581 = $l4559.vars[11];\nanf_fun4579 = $l4559.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2748],1,$t,false);\n}\nvar l4559 = $l4559;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4560 = R.mC();\n}\nwhile(!R.isContinuation($ans4560)) {\nswitch($step4557) {\ncase 0: $step4557 = 1;\n$al4561 = L[2772];\nif(typeof(src$available4551.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,src$available4551);\n}\n$ans4560 = src$available4551.app(l4559);\nbreak;\ncase 1: var anf_if4585 = $ans4560;\n$step4557 = R.checkPyretTrue(anf_if4585)?2:13;\nbreak;\ncase 2: $ans4560 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2749],L[2750]);\nvar anf_fun4575 = $ans4560;\n$ans4560 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2751],L[2752]);\nvar anf_fun4571 = $ans4560;\n$step4557 = 3;\n$al4561 = L[2763];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 3: var anf_arg4572 = $ans4560;\n$ans4560 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2753],L[2754]);\nvar anf_fun4565 = $ans4560;\n$step4557 = 4;\n$al4561 = L[2762];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 4: var anf_arg4564 = $ans4560;\n$step4557 = 5;\n$al4561 = L[2761];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"code\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"code\"].app(anf_arg4564);\nbreak;\ncase 5: var anf_arg4566 = $ans4560;\n$step4557 = 6;\n$al4561 = L[2760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" operation\"));\nbreak;\ncase 6: var anf_arg4567 = $ans4560;\n$step4557 = 7;\n$al4561 = L[2754];\nif(typeof(anf_fun4565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4565);\n}\n$ans4560 = anf_fun4565.app(anf_arg4566,anf_arg4567);\nbreak;\ncase 7: var anf_arg4569 = $ans4560;\n$ans4560 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2755],L[2756]);\nvar anf_fun4568 = $ans4560;\n$step4557 = 8;\n$al4561 = L[2756];\nif(typeof(anf_fun4568.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4568);\n}\n$ans4560 = anf_fun4568.app(l4559);\nbreak;\ncase 8: var anf_arg4570 = $ans4560;\n$step4557 = 9;\n$al4561 = L[2759];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4569,anf_arg4570,(-1));\nbreak;\ncase 9: var anf_arg4573 = $ans4560;\n$step4557 = 10;\n$al4561 = L[2758];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 10: var anf_arg4574 = $ans4560;\n$step4557 = 11;\n$al4561 = L[2752];\nif(typeof(anf_fun4571.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4571);\n}\n$ans4560 = anf_fun4571.app(anf_arg4572,anf_arg4573,anf_arg4574);\nbreak;\ncase 11: var anf_arg4576 = $ans4560;\n$step4557 = 12;\n$al4561 = L[2757];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"cmcode\"].app(l4559);\nbreak;\ncase 12: var anf_arg4577 = $ans4560;\n$step4557 = 20;\n$al4561 = L[2750];\nif(typeof(anf_fun4575.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4575);\n}\n$ans4560 = anf_fun4575.app(anf_arg4576,anf_arg4577);\nbreak;\ncase 13: $ans4560 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2764],L[2765]);\nvar anf_fun4579 = $ans4560;\n$step4557 = 14;\n$al4561 = L[2771];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 14: var anf_arg4580 = $ans4560;\n$step4557 = 15;\n$al4561 = L[2770];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 15: var anf_arg4578 = $ans4560;\n$step4557 = 16;\n$al4561 = L[2769];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"code\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"code\"].app(anf_arg4578);\nbreak;\ncase 16: var anf_arg4581 = $ans4560;\n$step4557 = 17;\n$al4561 = L[2768];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" operation in \"));\nbreak;\ncase 17: var anf_arg4582 = $ans4560;\n$step4557 = 18;\n$al4561 = L[2767];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"loc\"].app(l4559);\nbreak;\ncase 18: var anf_arg4583 = $ans4560;\n$step4557 = 19;\n$al4561 = L[2766];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 19: var anf_arg4584 = $ans4560;\n$step4557 = 20;\n$al4561 = L[2765];\nif(typeof(anf_fun4579.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4579);\n}\n$ans4560 = anf_fun4579.app(anf_arg4580,anf_arg4581,anf_arg4582,anf_arg4583,anf_arg4584);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans4560;\ndefault: R.ffi.throwSpinnakerError(L[2748],$step4557);\n}\n}\nif($step4557 !== 20) {\n$ans4560.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4561,$temp_lam4558,$step4557,[l4559],[anf_arg4582,anf_arg4572,anf_arg4583,anf_arg4573,anf_arg4576,anf_arg4566,anf_arg4569,anf_fun4571,anf_fun4575,anf_fun4565,anf_arg4580,anf_arg4581,anf_fun4579],$elidedFrames4563);\n}\nreturn $ans4560;\n};\nvar anf_arg4588 = R.mF($temp_lam4558,\"\");\n$step4547 = 2;\n$ans4553 = R.maybeMethodCall1(application$loc4587,\"and-then\",L[2773],anf_arg4588);\nbreak;\ncase 2: var anf_method_obj4594 = $ans4553;\n$ans4553 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2774],L[2775]);\nvar anf_fun4590 = $ans4553;\n$step4547 = 3;\n$al4554 = L[2830];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 3: var anf_arg4591 = $ans4553;\n$step4547 = 4;\n$al4554 = L[2829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 4: var anf_arg4589 = $ans4553;\n$step4547 = 5;\n$al4554 = L[2828];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"code\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"code\"].app(anf_arg4589);\nbreak;\ncase 5: var anf_arg4592 = $ans4553;\n$step4547 = 6;\n$al4554 = L[2827];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" operation errored.\"));\nbreak;\ncase 6: var anf_arg4593 = $ans4553;\n$step4547 = 7;\n$al4554 = L[2775];\nif(typeof(anf_fun4590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4590);\n}\n$ans4553 = anf_fun4590.app(anf_arg4591,anf_arg4592,anf_arg4593);\nbreak;\ncase 7: var anf_arg4595 = $ans4553;\n$step4547 = 8;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4594,\"or-else\",L[2776],anf_arg4595);\nbreak;\ncase 8: var intro$prose4648 = $ans4553;\n$step4547 = 9;\n$al4554 = L[2826];\n// omitting isFunction check;\n$ans4553 = destructure$method$application300.$var.app(application$loc4587,src$available4551,maybe$ast4552);\nbreak;\ncase 9: var anf_method_obj4629 = $ans4553;\nvar $temp_lam4597 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2777($tup4598) {\nvar $step4596 = 0;\nvar $elidedFrames4602 = 0;\nvar $ans4599 = D;\nvar $al4600 = L[2777];\nif(R.isAR($tup4598)) {\n$step4596 = $tup4598.step;\n$al4600 = $tup4598.from;\n$ans4599 = $tup4598.ans;\n$elidedFrames4602 = $tup4598.elidedFrames;\ntup4598 = $tup4598.args[0];\ntbl4618 = $tup4598.vars[0];\nanf_fun4626 = $tup4598.vars[1];\nanf_array4627 = $tup4598.vars[2];\nanf_arg4624 = $tup4598.vars[3];\nargs4621 = $tup4598.vars[4];\nanf_method_obj4616 = $tup4598.vars[5];\nanf_fun4622 = $tup4598.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2777],1,$t,false);\n}\nvar tup4598 = $tup4598;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4599 = R.mC();\n}\nwhile(!R.isContinuation($ans4599)) {\nswitch($step4596) {\ncase 0: $step4596 = 1;\n$al4600 = L[2804];\nR.checkTupleBind(tup4598,2,L[2804]);\nbreak;\ncase 1: var maybe$table4614 = R.getTuple(tup4598,0,L[2778]);\nvar args4621 = R.getTuple(tup4598,1,L[2779]);\nvar $temp_lam4604 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2780($tl4605) {\nvar $step4603 = 0;\nvar $elidedFrames4609 = 0;\nvar $ans4606 = D;\nvar $al4607 = L[2780];\nif(R.isAR($tl4605)) {\n$step4603 = $tl4605.step;\n$al4607 = $tl4605.from;\n$ans4606 = $tl4605.ans;\n$elidedFrames4609 = $tl4605.elidedFrames;\ntl4605 = $tl4605.args[0];\nanf_arg4611 = $tl4605.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2780],1,$t,false);\n}\nvar tl4605 = $tl4605;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4606 = R.mC();\n}\nwhile(!R.isContinuation($ans4606)) {\nswitch($step4603) {\ncase 0: $step4603 = 1;\n$al4607 = L[2784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,ED6.dict.values.dict[\"text\"]);\n}\n$ans4606 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 1: var anf_arg4611 = $ans4606;\n$ans4606 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2781],L[2782]);\nvar anf_fun4610 = $ans4606;\n$step4603 = 2;\n$al4607 = L[2782];\nif(typeof(anf_fun4610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,anf_fun4610);\n}\n$ans4606 = anf_fun4610.app(tl4605);\nbreak;\ncase 2: var anf_arg4612 = $ans4606;\n$step4603 = 3;\n$al4607 = L[2783];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4606 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4611,anf_arg4612,(0));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans4606;\ndefault: R.ffi.throwSpinnakerError(L[2780],$step4603);\n}\n}\nif($step4603 !== 3) {\n$ans4606.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4607,$temp_lam4604,$step4603,[tl4605],[anf_arg4611],$elidedFrames4609);\n}\nreturn $ans4606;\n};\nvar anf_arg4615 = R.mF($temp_lam4604,\"\");\n$step4596 = 2;\n$ans4599 = R.maybeMethodCall1(maybe$table4614,\"and-then\",L[2785],anf_arg4615);\nbreak;\ncase 2: var anf_method_obj4616 = $ans4599;\n$step4596 = 3;\n$al4600 = L[2803];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 3: var anf_arg4617 = $ans4599;\n$step4596 = 4;\n$ans4599 = R.maybeMethodCall1(anf_method_obj4616,\"or-else\",L[2786],anf_arg4617);\nbreak;\ncase 4: var tbl4618 = $ans4599;\n$ans4599 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2787],L[2788]);\nvar anf_fun4626 = $ans4599;\n$ans4599 = R.makeArrayN((9));\nvar anf_array4627 = $ans4599;\n$step4596 = 5;\n$al4600 = L[2802];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 5: anf_array4627[0] = $ans4599;\nanf_array4627[1] = tbl4618;\n$step4596 = 6;\n$al4600 = L[2801];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\" had \"));\nbreak;\ncase 6: anf_array4627[2] = $ans4599;\n$al4600 = L[2789];\nvar anf_arg4619 = G(self4549,\"expected\",L[2789]);\n$step4596 = 7;\n$al4600 = L[2800];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4619);\nbreak;\ncase 7: anf_array4627[3] = $ans4599;\n$step4596 = 8;\n$al4600 = L[2799];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 8: anf_array4627[4] = $ans4599;\n$al4600 = L[2790];\nvar anf_arg4620 = G(self4549,\"actual\",L[2790]);\n$step4596 = 9;\n$al4600 = L[2798];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4620);\nbreak;\ncase 9: anf_array4627[5] = $ans4599;\n$step4596 = 10;\n$al4600 = L[2797];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\" were \"));\nbreak;\ncase 10: anf_array4627[6] = $ans4599;\n$step4596 = 11;\n$al4600 = L[2796];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"provided\"));\nbreak;\ncase 11: var anf_arg4624 = $ans4599;\n$ans4599 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2791],L[2792]);\nvar anf_fun4622 = $ans4599;\n$step4596 = 12;\n$ans4599 = R.maybeMethodCall1(args4621,\"get\",L[2793],(1));\nbreak;\ncase 12: var anf_arg4623 = $ans4599;\n$step4596 = 13;\n$al4600 = L[2792];\nif(typeof(anf_fun4622.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,anf_fun4622);\n}\n$ans4599 = anf_fun4622.app(anf_arg4623);\nbreak;\ncase 13: var anf_arg4625 = $ans4599;\n$step4596 = 14;\n$al4600 = L[2795];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4624,anf_arg4625,(1));\nbreak;\ncase 14: anf_array4627[7] = $ans4599;\n$step4596 = 15;\n$al4600 = L[2794];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 15: anf_array4627[8] = $ans4599;\n$step4596 = 16;\n$al4600 = L[2788];\nif(typeof(anf_fun4626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,anf_fun4626);\n}\n$ans4599 = anf_fun4626.app(anf_array4627);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans4599;\ndefault: R.ffi.throwSpinnakerError(L[2777],$step4596);\n}\n}\nif($step4596 !== 16) {\n$ans4599.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4600,$temp_lam4597,$step4596,[tup4598],[tbl4618,anf_fun4626,anf_array4627,anf_arg4624,args4621,anf_method_obj4616,anf_fun4622],$elidedFrames4602);\n}\nreturn $ans4599;\n};\nvar anf_arg4630 = R.mF($temp_lam4597,\"\");\n$step4547 = 10;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4629,\"and-then\",L[2805],anf_arg4630);\nbreak;\ncase 10: var anf_method_obj4639 = $ans4553;\n$ans4553 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2806],L[2807]);\nvar anf_fun4633 = $ans4553;\n$step4547 = 11;\n$al4554 = L[2825];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"The table had \"));\nbreak;\ncase 11: var anf_arg4634 = $ans4553;\n$al4554 = L[2808];\nvar anf_arg4631 = G(self4549,\"expected\",L[2808]);\n$step4547 = 12;\n$al4554 = L[2824];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4631);\nbreak;\ncase 12: var anf_arg4635 = $ans4553;\n$step4547 = 13;\n$al4554 = L[2823];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 13: var anf_arg4636 = $ans4553;\n$al4554 = L[2809];\nvar anf_arg4632 = G(self4549,\"actual\",L[2809]);\n$step4547 = 14;\n$al4554 = L[2822];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4632);\nbreak;\ncase 14: var anf_arg4637 = $ans4553;\n$step4547 = 15;\n$al4554 = L[2821];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" were provided:\"));\nbreak;\ncase 15: var anf_arg4638 = $ans4553;\n$step4547 = 16;\n$al4554 = L[2807];\nif(typeof(anf_fun4633.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4633);\n}\n$ans4553 = anf_fun4633.app(anf_arg4634,anf_arg4635,anf_arg4636,anf_arg4637,anf_arg4638);\nbreak;\ncase 16: var anf_arg4640 = $ans4553;\n$step4547 = 17;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4639,\"or-else\",L[2810],anf_arg4640);\nbreak;\ncase 17: var info$prose4649 = $ans4553;\n$ans4553 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2811],L[2812]);\nvar anf_fun4647 = $ans4553;\n$al4554 = L[2813];\nvar anf_arg4641 = G(self4549,\"value\",L[2813]);\n$step4547 = 18;\n$al4554 = L[2820];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"embed\"].app(anf_arg4641);\nbreak;\ncase 18: var anf_arg4650 = $ans4553;\n$ans4553 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2814],L[2815]);\nvar anf_fun4643 = $ans4553;\n$step4547 = 19;\n$al4554 = L[2819];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 19: var anf_arg4644 = $ans4553;\n$step4547 = 20;\n$al4554 = L[2818];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 20: var anf_arg4642 = $ans4553;\n$step4547 = 21;\n$al4554 = L[2817];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"code\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"code\"].app(anf_arg4642);\nbreak;\ncase 21: var anf_arg4645 = $ans4553;\n$step4547 = 22;\n$al4554 = L[2816];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" operation expects the number of provided values to match the number of rows in the table.\"));\nbreak;\ncase 22: var anf_arg4646 = $ans4553;\n$step4547 = 23;\n$al4554 = L[2815];\nif(typeof(anf_fun4643.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4643);\n}\n$ans4553 = anf_fun4643.app(anf_arg4644,anf_arg4645,anf_arg4646);\nbreak;\ncase 23: var anf_arg4651 = $ans4553;\n$step4547 = 24;\n$al4554 = L[2812];\nif(typeof(anf_fun4647.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4647);\n}\n$ans4553 = anf_fun4647.app(intro$prose4648,info$prose4649,anf_arg4650,anf_arg4651);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans4553;\ndefault: R.ffi.throwSpinnakerError(L[2747],$step4547);\n}\n}\nif($step4547 !== 24) {\n$ans4553.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4554,$temp_full4548,$step4547,[self4549,maybe$stack$loc4550,src$available4551,maybe$ast4552],[anf_fun4647,anf_arg4650,anf_arg4644,anf_arg4634,anf_arg4645,anf_arg4635,application$loc4587,anf_arg4636,anf_arg4637,anf_method_obj4594,info$prose4649,intro$prose4648,anf_fun4590,anf_method_obj4639,anf_fun4643,anf_arg4591,anf_fun4633,anf_arg4592],$elidedFrames4556);\n}\nreturn $ans4553;\n};\nvar anf_variant_member5984 = R.makeMethod3($temp_full4548,\"render-fancy-reason\");\nvar $temp_full4654 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2832($self4655) {\nvar $step4653 = 0;\nvar $elidedFrames4659 = 0;\nvar $ans4656 = D;\nvar $al4657 = L[2832];\nif(R.isAR($self4655)) {\n$step4653 = $self4655.step;\n$al4657 = $self4655.from;\n$ans4656 = $self4655.ans;\n$elidedFrames4659 = $self4655.elidedFrames;\nself4655 = $self4655.args[0];\nanf_arg4693 = $self4655.vars[0];\nanf_arg4694 = $self4655.vars[1];\nanf_arg4685 = $self4655.vars[2];\nanf_arg4686 = $self4655.vars[3];\nanf_arg4697 = $self4655.vars[4];\nanf_arg4687 = $self4655.vars[5];\nanf_arg4698 = $self4655.vars[6];\nanf_arg4677 = $self4655.vars[7];\nanf_arg4688 = $self4655.vars[8];\nanf_arg4699 = $self4655.vars[9];\nanf_arg4678 = $self4655.vars[10];\nanf_fun4692 = $self4655.vars[11];\nanf_fun4684 = $self4655.vars[12];\nanf_fun4696 = $self4655.vars[13];\nanf_fun4676 = $self4655.vars[14];\nanf_arg4680 = $self4655.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2832],1,$t,true);\n}\nvar self4655 = $self4655;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4656 = R.mC();\n}\nwhile(!R.isContinuation($ans4656)) {\nswitch($step4653) {\ncase 0: $ans4656 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2833],L[2834]);\nvar anf_fun4696 = $ans4656;\nvar $temp_lam4661 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2835($l4662) {\nvar $step4660 = 0;\nvar $elidedFrames4666 = 0;\nvar $ans4663 = D;\nvar $al4664 = L[2835];\nif(R.isAR($l4662)) {\n$step4660 = $l4662.step;\n$al4664 = $l4662.from;\n$ans4663 = $l4662.ans;\n$elidedFrames4666 = $l4662.elidedFrames;\nl4662 = $l4662.args[0];\nanf_fun4668 = $l4662.vars[0];\nanf_arg4669 = $l4662.vars[1];\nanf_arg4670 = $l4662.vars[2];\nanf_arg4671 = $l4662.vars[3];\nanf_arg4672 = $l4662.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2835],1,$t,false);\n}\nvar l4662 = $l4662;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4663 = R.mC();\n}\nwhile(!R.isContinuation($ans4663)) {\nswitch($step4660) {\ncase 0: $ans4663 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2836],L[2837]);\nvar anf_fun4668 = $ans4663;\n$step4660 = 1;\n$al4664 = L[2843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: var anf_arg4669 = $ans4663;\n$step4660 = 2;\n$al4664 = L[2842];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 2: var anf_arg4667 = $ans4663;\n$step4660 = 3;\n$al4664 = L[2841];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"code\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"code\"].app(anf_arg4667);\nbreak;\ncase 3: var anf_arg4670 = $ans4663;\n$step4660 = 4;\n$al4664 = L[2840];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\" operation in \"));\nbreak;\ncase 4: var anf_arg4671 = $ans4663;\n$step4660 = 5;\n$al4664 = L[2839];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"loc\"].app(l4662);\nbreak;\ncase 5: var anf_arg4672 = $ans4663;\n$step4660 = 6;\n$al4664 = L[2838];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 6: var anf_arg4673 = $ans4663;\n$step4660 = 7;\n$al4664 = L[2837];\nif(typeof(anf_fun4668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,anf_fun4668);\n}\n$ans4663 = anf_fun4668.app(anf_arg4669,anf_arg4670,anf_arg4671,anf_arg4672,anf_arg4673);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4663;\ndefault: R.ffi.throwSpinnakerError(L[2835],$step4660);\n}\n}\nif($step4660 !== 7) {\n$ans4663.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4664,$temp_lam4661,$step4660,[l4662],[anf_fun4668,anf_arg4669,anf_arg4670,anf_arg4671,anf_arg4672],$elidedFrames4666);\n}\nreturn $ans4663;\n};\nvar anf_arg4680 = R.mF($temp_lam4661,\"\");\n$ans4656 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2844],L[2845]);\nvar anf_fun4676 = $ans4656;\n$step4653 = 1;\n$al4657 = L[2867];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: var anf_arg4677 = $ans4656;\n$step4653 = 2;\n$al4657 = L[2866];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 2: var anf_arg4675 = $ans4656;\n$step4653 = 3;\n$al4657 = L[2865];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"code\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"code\"].app(anf_arg4675);\nbreak;\ncase 3: var anf_arg4678 = $ans4656;\n$step4653 = 4;\n$al4657 = L[2864];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" operation errored.\"));\nbreak;\ncase 4: var anf_arg4679 = $ans4656;\n$step4653 = 5;\n$al4657 = L[2845];\nif(typeof(anf_fun4676.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4676);\n}\n$ans4656 = anf_fun4676.app(anf_arg4677,anf_arg4678,anf_arg4679);\nbreak;\ncase 5: var anf_arg4681 = $ans4656;\n$step4653 = 6;\n$al4657 = L[2863];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg4680,anf_arg4681);\nbreak;\ncase 6: var anf_arg4697 = $ans4656;\n$ans4656 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2846],L[2847]);\nvar anf_fun4684 = $ans4656;\n$step4653 = 7;\n$al4657 = L[2862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"The table had \"));\nbreak;\ncase 7: var anf_arg4685 = $ans4656;\n$al4657 = L[2848];\nvar anf_arg4682 = G(self4655,\"expected\",L[2848]);\n$step4653 = 8;\n$al4657 = L[2861];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4682);\nbreak;\ncase 8: var anf_arg4686 = $ans4656;\n$step4653 = 9;\n$al4657 = L[2860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 9: var anf_arg4687 = $ans4656;\n$al4657 = L[2849];\nvar anf_arg4683 = G(self4655,\"actual\",L[2849]);\n$step4653 = 10;\n$al4657 = L[2859];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4683);\nbreak;\ncase 10: var anf_arg4688 = $ans4656;\n$step4653 = 11;\n$al4657 = L[2858];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" were provided:\"));\nbreak;\ncase 11: var anf_arg4689 = $ans4656;\n$step4653 = 12;\n$al4657 = L[2847];\nif(typeof(anf_fun4684.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4684);\n}\n$ans4656 = anf_fun4684.app(anf_arg4685,anf_arg4686,anf_arg4687,anf_arg4688,anf_arg4689);\nbreak;\ncase 12: var anf_arg4698 = $ans4656;\n$al4657 = L[2850];\nvar anf_arg4690 = G(self4655,\"value\",L[2850]);\n$step4653 = 13;\n$al4657 = L[2857];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"embed\"].app(anf_arg4690);\nbreak;\ncase 13: var anf_arg4699 = $ans4656;\n$ans4656 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2851],L[2852]);\nvar anf_fun4692 = $ans4656;\n$step4653 = 14;\n$al4657 = L[2856];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg4693 = $ans4656;\n$step4653 = 15;\n$al4657 = L[2855];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 15: var anf_arg4691 = $ans4656;\n$step4653 = 16;\n$al4657 = L[2854];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"code\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"code\"].app(anf_arg4691);\nbreak;\ncase 16: var anf_arg4694 = $ans4656;\n$step4653 = 17;\n$al4657 = L[2853];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" operation expects the number of provided values to match the number of rows in the table.\"));\nbreak;\ncase 17: var anf_arg4695 = $ans4656;\n$step4653 = 18;\n$al4657 = L[2852];\nif(typeof(anf_fun4692.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4692);\n}\n$ans4656 = anf_fun4692.app(anf_arg4693,anf_arg4694,anf_arg4695);\nbreak;\ncase 18: var anf_arg4700 = $ans4656;\n$step4653 = 19;\n$al4657 = L[2834];\nif(typeof(anf_fun4696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4696);\n}\n$ans4656 = anf_fun4696.app(anf_arg4697,anf_arg4698,anf_arg4699,anf_arg4700);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans4656;\ndefault: R.ffi.throwSpinnakerError(L[2832],$step4653);\n}\n}\nif($step4653 !== 19) {\n$ans4656.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4657,$temp_full4654,$step4653,[self4655],[anf_arg4693,anf_arg4694,anf_arg4685,anf_arg4686,anf_arg4697,anf_arg4687,anf_arg4698,anf_arg4677,anf_arg4688,anf_arg4699,anf_arg4678,anf_fun4692,anf_fun4684,anf_fun4696,anf_fun4676,anf_arg4680],$elidedFrames4659);\n}\nreturn $ans4656;\n};\nvar anf_variant_member5985 = R.makeMethod0($temp_full4654,\"render-reason\");\nvar $temp_full4703 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2868($self4704,$maybe$stack$loc4705,$src$available4706,$maybe$ast4707) {\nvar $step4702 = 0;\nvar $elidedFrames4711 = 0;\nvar $ans4708 = D;\nvar $al4709 = L[2868];\nif(R.isAR($self4704)) {\n$step4702 = $self4704.step;\n$al4709 = $self4704.from;\n$ans4708 = $self4704.ans;\n$elidedFrames4711 = $self4704.elidedFrames;\nself4704 = $self4704.args[0];\nmaybe$stack$loc4705 = $self4704.args[1];\nsrc$available4706 = $self4704.args[2];\nmaybe$ast4707 = $self4704.args[3];\nanf_arg4792 = $self4704.vars[0];\nanf_arg4793 = $self4704.vars[1];\nanf_fun4714 = $self4704.vars[2];\nanf_fun4717 = $self4704.vars[3];\nanf_arg4718 = $self4704.vars[4];\nanf_arg4719 = $self4704.vars[5];\ncases4723 = $self4704.vars[6];\nanf_fun4791 = $self4704.vars[7];\nanf_fun4788 = $self4704.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2868],4,$t,true);\n}\nvar self4704 = $self4704;\nvar maybe$stack$loc4705 = $maybe$stack$loc4705;\nvar src$available4706 = $src$available4706;\nvar maybe$ast4707 = $maybe$ast4707;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4708 = R.mC();\n}\nwhile(!R.isContinuation($ans4708)) {\nswitch($step4702) {\ncase 0: $al4709 = L[2869];\nvar anf_method_obj4712 = G(self4704,\"loc\",L[2869]);\n$step4702 = 1;\n$ans4708 = R.maybeMethodCall0(anf_method_obj4712,\"is-builtin\",L[2870]);\nbreak;\ncase 1: var anf_if4796 = $ans4708;\n$step4702 = R.checkPyretTrue(anf_if4796)?2:7;\nbreak;\ncase 2: $ans4708 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2871],L[2872]);\nvar anf_fun4717 = $ans4708;\n$al4709 = L[2873];\nvar anf_arg4713 = G(self4704,\"loc\",L[2873]);\n$step4702 = 3;\n$al4709 = L[2879];\n// omitting isFunction check;\n$ans4708 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4713);\nbreak;\ncase 3: var anf_arg4718 = $ans4708;\n$ans4708 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2874],L[2875]);\nvar anf_fun4714 = $ans4708;\n$step4702 = 4;\n$al4709 = L[2878];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"text\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 4: var anf_arg4715 = $ans4708;\n$step4702 = 5;\n$al4709 = L[2875];\nif(typeof(anf_fun4714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4714);\n}\n$ans4708 = anf_fun4714.app(anf_arg4715);\nbreak;\ncase 5: var anf_arg4719 = $ans4708;\n$al4709 = L[2876];\nvar anf_arg4716 = G(self4704,\"non-fun-val\",L[2876]);\n$step4702 = 6;\n$al4709 = L[2877];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"embed\"].app(anf_arg4716);\nbreak;\ncase 6: var anf_arg4720 = $ans4708;\n$step4702 = 20;\n$al4709 = L[2872];\nif(typeof(anf_fun4717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4717);\n}\n$ans4708 = anf_fun4717.app(anf_arg4718,anf_arg4719,anf_arg4720);\nbreak;\ncase 7: $al4709 = L[2880];\nvar anf_arg4721 = G(self4704,\"loc\",L[2880]);\n$step4702 = 8;\n$al4709 = L[2929];\nif(typeof(src$available4706.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,src$available4706);\n}\n$ans4708 = src$available4706.app(anf_arg4721);\nbreak;\ncase 8: var anf_if4795 = $ans4708;\n$step4702 = R.checkPyretTrue(anf_if4795)?9:15;\nbreak;\ncase 9: $al4709 = L[2881];\nvar anf_arg4722 = G(self4704,\"loc\",L[2881]);\n$step4702 = 10;\n$al4709 = L[2919];\nif(typeof(maybe$ast4707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,maybe$ast4707);\n}\n$ans4708 = maybe$ast4707.app(anf_arg4722);\nbreak;\ncase 10: var cases4723 = $ans4708;\n$step4702 = 11;\n$al4709 = L[2918];\nvar $ann$check4786 = R._cA(L[2918],R.gDA(L[2918],\"O\",O8.dict.types,\"Option\"),cases4723);\nif(R.isContinuation($ann$check4786)) {\n$ans4708 = $ann$check4786;\n}\nbreak;\ncase 11: $al4709 = L[2905];\n$step4702 = $cases_dispatch4785[cases4723.$name] || 14;\nbreak;\ncase 12: if(cases4723.$arity !== 1) {\nif(cases4723.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2904],1,cases4723.$arity,L[2905],cases4723.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2904],true,L[2905],cases4723.$loc);\n}\n}\n$step4702 = 20;\n$al4709 = L[2904];\nvar $temp_branch4756 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2905($ast4726) {\nvar $step4757 = 0;\nvar $elidedFrames4761 = 0;\nvar $ans4758 = D;\nvar $al4759 = L[2883];\nif(R.isAR($ast4726)) {\n$step4757 = $ast4726.step;\n$al4759 = $ast4726.from;\n$ans4758 = $ast4726.ans;\n$elidedFrames4761 = $ast4726.elidedFrames;\nast4726 = $ast4726.args[0];\nanf_fun4737 = $ast4726.vars[0];\nanf_arg4740 = $ast4726.vars[1];\nanf_fun4728 = $ast4726.vars[2];\nanf_arg4730 = $ast4726.vars[3];\nanf_arg4733 = $ast4726.vars[4];\nanf_arg4734 = $ast4726.vars[5];\nanf_arg4738 = $ast4726.vars[6];\nanf_arg4739 = $ast4726.vars[7];\ncases4727 = $ast4726.vars[8];\nanf_fun4732 = $ast4726.vars[9];\n} else {\nvar ast4726 = $ast4726;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4758 = R.mC();\n}\nwhile(!R.isContinuation($ans4758)) {\nswitch($step4757) {\ncase 0: $ans4758 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2882],L[2883]);\nvar anf_fun4737 = $ans4758;\n$al4759 = L[2884];\nvar anf_arg4724 = G(self4704,\"loc\",L[2884]);\n$step4757 = 1;\n$al4759 = L[2903];\n// omitting isFunction check;\n$ans4758 = ed$intro146.$var.app((\"function application expression\"),anf_arg4724,(-1),(true));\nbreak;\ncase 1: var anf_arg4738 = $ans4758;\n$al4759 = L[2885];\nvar anf_arg4725 = G(self4704,\"loc\",L[2885]);\n$step4757 = 2;\n$al4759 = L[2902];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4725);\nbreak;\ncase 2: var anf_arg4739 = $ans4758;\n$ans4758 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2886],L[2887]);\nvar anf_fun4732 = $ans4758;\n$step4757 = 3;\n$al4759 = L[2901];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg4733 = $ans4758;\n$step4757 = 4;\n$al4759 = L[2900];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg4730 = $ans4758;\n$ans4758 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2888],L[2889]);\nvar anf_fun4728 = $ans4758;\nvar cases4727 = ast4726;\n$al4759 = L[2896];\n$step4757 = $cases_dispatch4766[cases4727.$name] || 7;\nbreak;\ncase 5: if(cases4727.$arity !== 3) {\nif(cases4727.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2895],3,cases4727.$arity,L[2896],cases4727.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2895],true,L[2896],cases4727.$loc);\n}\n}\nvar $fn4763 = cases4727.$constructor.$fieldNames;\nR.dF(cases4727.dict[$fn4763[0]],cases4727.$mut_fields_mask[0],false);\nvar _fun4742 = R.dF(cases4727.dict[$fn4763[1]],cases4727.$mut_fields_mask[1],false);\nR.dF(cases4727.dict[$fn4763[2]],cases4727.$mut_fields_mask[2],false);\n$step4757 = 8;\n$al4759 = L[2894];\n$ans4758 = G(_fun4742,\"l\",L[2894]);\nbreak;\ncase 6: if(cases4727.$arity !== 6) {\nif(cases4727.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2898],6,cases4727.$arity,L[2896],cases4727.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2898],true,L[2896],cases4727.$loc);\n}\n}\nvar $fn4765 = cases4727.$constructor.$fieldNames;\nR.dF(cases4727.dict[$fn4765[0]],cases4727.$mut_fields_mask[0],false);\nvar _fun4747 = R.dF(cases4727.dict[$fn4765[1]],cases4727.$mut_fields_mask[1],false);\nR.dF(cases4727.dict[$fn4765[2]],cases4727.$mut_fields_mask[2],false);\nR.dF(cases4727.dict[$fn4765[3]],cases4727.$mut_fields_mask[3],false);\nR.dF(cases4727.dict[$fn4765[4]],cases4727.$mut_fields_mask[4],false);\nR.dF(cases4727.dict[$fn4765[5]],cases4727.$mut_fields_mask[5],false);\n$step4757 = 8;\n$al4759 = L[2897];\n$ans4758 = G(_fun4747,\"l\",L[2897]);\nbreak;\ncase 7: $step4757 = 8;\n$al4759 = L[2899];\n$ans4758 = G(ast4726,\"l\",L[2899]);\nbreak;\ncase 8: var anf_arg4729 = $ans4758;\n$step4757 = 9;\n$al4759 = L[2889];\nif(typeof(anf_fun4728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4728);\n}\n$ans4758 = anf_fun4728.app(anf_arg4729);\nbreak;\ncase 9: var anf_arg4731 = $ans4758;\n$step4757 = 10;\n$al4759 = L[2893];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4730,anf_arg4731,(0));\nbreak;\ncase 10: var anf_arg4734 = $ans4758;\n$step4757 = 11;\n$al4759 = L[2892];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\" was not a function value:\"));\nbreak;\ncase 11: var anf_arg4735 = $ans4758;\n$step4757 = 12;\n$al4759 = L[2887];\nif(typeof(anf_fun4732.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4732);\n}\n$ans4758 = anf_fun4732.app(anf_arg4733,anf_arg4734,anf_arg4735);\nbreak;\ncase 12: var anf_arg4740 = $ans4758;\n$al4759 = L[2890];\nvar anf_arg4736 = G(self4704,\"non-fun-val\",L[2890]);\n$step4757 = 13;\n$al4759 = L[2891];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"embed\"].app(anf_arg4736);\nbreak;\ncase 13: var anf_arg4741 = $ans4758;\n$step4757 = 14;\n$al4759 = L[2883];\nif(typeof(anf_fun4737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4737);\n}\n$ans4758 = anf_fun4737.app(anf_arg4738,anf_arg4739,anf_arg4740,anf_arg4741);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans4758;\ndefault: R.ffi.throwSpinnakerError(L[2883],$step4757);\n}\n}\nif($step4757 !== 14) {\n$ans4758.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4759,$temp_branch4756,$step4757,[ast4726],[anf_fun4737,anf_arg4740,anf_fun4728,anf_arg4730,anf_arg4733,anf_arg4734,anf_arg4738,anf_arg4739,cases4727,anf_fun4732],$elidedFrames4761);\n}\nreturn $ans4758;\n};\n$ans4708 = cases4723.$app_fields($temp_branch4756,[false]);\nbreak;\ncase 13: if(cases4723.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[2917],false,L[2905],cases4723.$loc);\n}\n$step4702 = 20;\n$al4709 = L[2917];\nvar $temp_branch4778 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2905($$resumer13) {\nvar $step4779 = 0;\nvar $elidedFrames4783 = 0;\nvar $ans4780 = D;\nvar $al4781 = L[2907];\nif(R.isAR($$resumer13)) {\n$step4779 = $$resumer13.step;\n$al4781 = $$resumer13.from;\n$ans4780 = $$resumer13.ans;\n$elidedFrames4783 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg4774 = $$resumer13.vars[0];\nanf_arg4775 = $$resumer13.vars[1];\nanf_arg4776 = $$resumer13.vars[2];\nanf_fun4770 = $$resumer13.vars[3];\nanf_fun4773 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4780 = R.mC();\n}\nwhile(!R.isContinuation($ans4780)) {\nswitch($step4779) {\ncase 0: $ans4780 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2906],L[2907]);\nvar anf_fun4773 = $ans4780;\n$al4781 = L[2908];\nvar anf_arg4768 = G(self4704,\"loc\",L[2908]);\n$step4779 = 1;\n$al4781 = L[2916];\n// omitting isFunction check;\n$ans4780 = ed$intro146.$var.app((\"function application expression\"),anf_arg4768,(0),(true));\nbreak;\ncase 1: var anf_arg4774 = $ans4780;\n$al4781 = L[2909];\nvar anf_arg4769 = G(self4704,\"loc\",L[2909]);\n$step4779 = 2;\n$al4781 = L[2915];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4769);\nbreak;\ncase 2: var anf_arg4775 = $ans4780;\n$ans4780 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2910],L[2911]);\nvar anf_fun4770 = $ans4780;\n$step4779 = 3;\n$al4781 = L[2914];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"text\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 3: var anf_arg4771 = $ans4780;\n$step4779 = 4;\n$al4781 = L[2911];\nif(typeof(anf_fun4770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,anf_fun4770);\n}\n$ans4780 = anf_fun4770.app(anf_arg4771);\nbreak;\ncase 4: var anf_arg4776 = $ans4780;\n$al4781 = L[2912];\nvar anf_arg4772 = G(self4704,\"non-fun-val\",L[2912]);\n$step4779 = 5;\n$al4781 = L[2913];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"embed\"].app(anf_arg4772);\nbreak;\ncase 5: var anf_arg4777 = $ans4780;\n$step4779 = 6;\n$al4781 = L[2907];\nif(typeof(anf_fun4773.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,anf_fun4773);\n}\n$ans4780 = anf_fun4773.app(anf_arg4774,anf_arg4775,anf_arg4776,anf_arg4777);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4780;\ndefault: R.ffi.throwSpinnakerError(L[2907],$step4779);\n}\n}\nif($step4779 !== 6) {\n$ans4780.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4781,$temp_branch4778,$step4779,[],[anf_arg4774,anf_arg4775,anf_arg4776,anf_fun4770,anf_fun4773],$elidedFrames4783);\n}\nreturn $ans4780;\n};\n$ans4708 = cases4723.$app_fields($temp_branch4778,[]);\nbreak;\ncase 14: $ans4708 = R.throwNoCasesMatched(L[2905],cases4723);\n$step4702 = 20;\nbreak;\ncase 15: $ans4708 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2920],L[2921]);\nvar anf_fun4791 = $ans4708;\n$al4709 = L[2922];\nvar anf_arg4787 = G(self4704,\"loc\",L[2922]);\n$step4702 = 16;\n$al4709 = L[2928];\n// omitting isFunction check;\n$ans4708 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4787);\nbreak;\ncase 16: var anf_arg4792 = $ans4708;\n$ans4708 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2923],L[2924]);\nvar anf_fun4788 = $ans4708;\n$step4702 = 17;\n$al4709 = L[2927];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"text\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 17: var anf_arg4789 = $ans4708;\n$step4702 = 18;\n$al4709 = L[2924];\nif(typeof(anf_fun4788.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4788);\n}\n$ans4708 = anf_fun4788.app(anf_arg4789);\nbreak;\ncase 18: var anf_arg4793 = $ans4708;\n$al4709 = L[2925];\nvar anf_arg4790 = G(self4704,\"non-fun-val\",L[2925]);\n$step4702 = 19;\n$al4709 = L[2926];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"embed\"].app(anf_arg4790);\nbreak;\ncase 19: var anf_arg4794 = $ans4708;\n$step4702 = 20;\n$al4709 = L[2921];\nif(typeof(anf_fun4791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4791);\n}\n$ans4708 = anf_fun4791.app(anf_arg4792,anf_arg4793,anf_arg4794);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans4708;\ndefault: R.ffi.throwSpinnakerError(L[2868],$step4702);\n}\n}\nif($step4702 !== 20) {\n$ans4708.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4709,$temp_full4703,$step4702,[self4704,maybe$stack$loc4705,src$available4706,maybe$ast4707],[anf_arg4792,anf_arg4793,anf_fun4714,anf_fun4717,anf_arg4718,anf_arg4719,cases4723,anf_fun4791,anf_fun4788],$elidedFrames4711);\n}\nreturn $ans4708;\n};\nvar anf_variant_member5996 = R.makeMethod3($temp_full4703,\"render-fancy-reason\");\nvar $temp_full4799 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2930($self4800) {\nvar $step4798 = 0;\nvar $elidedFrames4804 = 0;\nvar $ans4801 = D;\nvar $al4802 = L[2930];\nif(R.isAR($self4800)) {\n$step4798 = $self4800.step;\n$al4802 = $self4800.from;\n$ans4801 = $self4800.ans;\n$elidedFrames4804 = $self4800.elidedFrames;\nself4800 = $self4800.args[0];\nanf_fun4809 = $self4800.vars[0];\nanf_arg4810 = $self4800.vars[1];\nanf_fun4806 = $self4800.vars[2];\nanf_arg4811 = $self4800.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2930],1,$t,true);\n}\nvar self4800 = $self4800;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4801 = R.mC();\n}\nwhile(!R.isContinuation($ans4801)) {\nswitch($step4798) {\ncase 0: $ans4801 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2931],L[2932]);\nvar anf_fun4809 = $ans4801;\n$al4802 = L[2933];\nvar anf_arg4805 = G(self4800,\"loc\",L[2933]);\n$step4798 = 1;\n$al4802 = L[2939];\n// omitting isFunction check;\n$ans4801 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4805);\nbreak;\ncase 1: var anf_arg4810 = $ans4801;\n$ans4801 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2934],L[2935]);\nvar anf_fun4806 = $ans4801;\n$step4798 = 2;\n$al4802 = L[2938];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,ED6.dict.values.dict[\"text\"]);\n}\n$ans4801 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 2: var anf_arg4807 = $ans4801;\n$step4798 = 3;\n$al4802 = L[2935];\nif(typeof(anf_fun4806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,anf_fun4806);\n}\n$ans4801 = anf_fun4806.app(anf_arg4807);\nbreak;\ncase 3: var anf_arg4811 = $ans4801;\n$al4802 = L[2936];\nvar anf_arg4808 = G(self4800,\"non-fun-val\",L[2936]);\n$step4798 = 4;\n$al4802 = L[2937];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4801 = ED6.dict.values.dict[\"embed\"].app(anf_arg4808);\nbreak;\ncase 4: var anf_arg4812 = $ans4801;\n$step4798 = 5;\n$al4802 = L[2932];\nif(typeof(anf_fun4809.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,anf_fun4809);\n}\n$ans4801 = anf_fun4809.app(anf_arg4810,anf_arg4811,anf_arg4812);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans4801;\ndefault: R.ffi.throwSpinnakerError(L[2930],$step4798);\n}\n}\nif($step4798 !== 5) {\n$ans4801.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4802,$temp_full4799,$step4798,[self4800],[anf_fun4809,anf_arg4810,anf_fun4806,anf_arg4811],$elidedFrames4804);\n}\nreturn $ans4801;\n};\nvar anf_variant_member5997 = R.makeMethod0($temp_full4799,\"render-reason\");\nvar $temp_full4815 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2940($self4816,$maybe$stack$loc4817,$src$available4818,$maybe$ast4819) {\nvar $step4814 = 0;\nvar $elidedFrames4823 = 0;\nvar $ans4820 = D;\nvar $al4821 = L[2940];\nif(R.isAR($self4816)) {\n$step4814 = $self4816.step;\n$al4821 = $self4816.from;\n$ans4820 = $self4816.ans;\n$elidedFrames4823 = $self4816.elidedFrames;\nself4816 = $self4816.args[0];\nmaybe$stack$loc4817 = $self4816.args[1];\nsrc$available4818 = $self4816.args[2];\nmaybe$ast4819 = $self4816.args[3];\nanf_fun4833 = $self4816.vars[0];\nanf_fun4866 = $self4816.vars[1];\nanf_arg4850 = $self4816.vars[2];\nanf_arg4861 = $self4816.vars[3];\nanf_fun4849 = $self4816.vars[4];\nanf_arg4851 = $self4816.vars[5];\nanf_arg4862 = $self4816.vars[6];\nanf_fun4828 = $self4816.vars[7];\nanf_arg4830 = $self4816.vars[8];\nanf_arg4863 = $self4816.vars[9];\nanf_arg4831 = $self4816.vars[10];\nanf_arg4842 = $self4816.vars[11];\nanf_arg4864 = $self4816.vars[12];\nanf_arg4854 = $self4816.vars[13];\nanf_arg4855 = $self4816.vars[14];\nanf_arg4834 = $self4816.vars[15];\nanf_arg4847 = $self4816.vars[16];\nanf_arg4839 = $self4816.vars[17];\nanf_arg4829 = $self4816.vars[18];\nanf_fun4860 = $self4816.vars[19];\nanf_fun4841 = $self4816.vars[20];\nanf_fun4853 = $self4816.vars[21];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2940],4,$t,true);\n}\nvar self4816 = $self4816;\nvar maybe$stack$loc4817 = $maybe$stack$loc4817;\nvar src$available4818 = $src$available4818;\nvar maybe$ast4819 = $maybe$ast4819;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4820 = R.mC();\n}\nwhile(!R.isContinuation($ans4820)) {\nswitch($step4814) {\ncase 0: $al4821 = L[2941];\nvar anf_method_obj4824 = G(self4816,\"loc\",L[2941]);\n$step4814 = 1;\n$ans4820 = R.maybeMethodCall0(anf_method_obj4824,\"is-builtin\",L[2942]);\nbreak;\ncase 1: var anf_if4869 = $ans4820;\n$step4814 = R.checkPyretTrue(anf_if4869)?2:10;\nbreak;\ncase 2: $ans4820 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[2943],L[2944]);\nvar anf_fun4833 = $ans4820;\n$ans4820 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2945],L[2946]);\nvar anf_fun4828 = $ans4820;\n$step4814 = 3;\n$al4821 = L[2954];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 3: var anf_arg4829 = $ans4820;\n$al4821 = L[2947];\nvar anf_arg4825 = G(self4816,\"name\",L[2947]);\n$step4814 = 4;\n$al4821 = L[2953];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app(anf_arg4825);\nbreak;\ncase 4: var anf_arg4826 = $ans4820;\n$step4814 = 5;\n$al4821 = L[2952];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"code\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"code\"].app(anf_arg4826);\nbreak;\ncase 5: var anf_arg4830 = $ans4820;\n$step4814 = 6;\n$al4821 = L[2951];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound in \"));\nbreak;\ncase 6: var anf_arg4831 = $ans4820;\n$al4821 = L[2948];\nvar anf_arg4827 = G(self4816,\"loc\",L[2948]);\n$step4814 = 7;\n$al4821 = L[2950];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"loc\"].app(anf_arg4827);\nbreak;\ncase 7: var anf_arg4832 = $ans4820;\n$step4814 = 8;\n$al4821 = L[2946];\nif(typeof(anf_fun4828.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4828);\n}\n$ans4820 = anf_fun4828.app(anf_arg4829,anf_arg4830,anf_arg4831,anf_arg4832);\nbreak;\ncase 8: var anf_arg4834 = $ans4820;\n$step4814 = 9;\n$al4821 = L[2949];\n// omitting isFunction check;\n$ans4820 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg4835 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2944];\nif(typeof(anf_fun4833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4833);\n}\n$ans4820 = anf_fun4833.app(anf_arg4834,anf_arg4835);\nbreak;\ncase 10: $al4821 = L[2955];\nvar anf_arg4836 = G(self4816,\"loc\",L[2955]);\n$step4814 = 11;\n$al4821 = L[2989];\nif(typeof(src$available4818.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,src$available4818);\n}\n$ans4820 = src$available4818.app(anf_arg4836);\nbreak;\ncase 11: var anf_if4868 = $ans4820;\n$step4814 = R.checkPyretTrue(anf_if4868)?12:25;\nbreak;\ncase 12: $ans4820 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2956],L[2957]);\nvar anf_fun4853 = $ans4820;\n$ans4820 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[2958],L[2959]);\nvar anf_fun4841 = $ans4820;\n$step4814 = 13;\n$al4821 = L[2976];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg4842 = $ans4820;\n$step4814 = 14;\n$al4821 = L[2975];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"identifier\"));\nbreak;\ncase 14: var anf_arg4839 = $ans4820;\n$ans4820 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2960],L[2961]);\nvar anf_fun4837 = $ans4820;\n$al4821 = L[2962];\nvar anf_arg4838 = G(self4816,\"loc\",L[2962]);\n$step4814 = 15;\n$al4821 = L[2961];\nif(typeof(anf_fun4837.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4837);\n}\n$ans4820 = anf_fun4837.app(anf_arg4838);\nbreak;\ncase 15: var anf_arg4840 = $ans4820;\n$step4814 = 16;\n$al4821 = L[2974];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4839,anf_arg4840,(0));\nbreak;\ncase 16: var anf_arg4843 = $ans4820;\n$step4814 = 17;\n$al4821 = L[2959];\nif(typeof(anf_fun4841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4841);\n}\n$ans4820 = anf_fun4841.app(anf_arg4842,anf_arg4843);\nbreak;\ncase 17: var anf_arg4854 = $ans4820;\n$al4821 = L[2963];\nvar anf_arg4844 = G(self4816,\"loc\",L[2963]);\n$step4814 = 18;\n$al4821 = L[2973];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4844);\nbreak;\ncase 18: var anf_arg4855 = $ans4820;\n$ans4820 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2964],L[2965]);\nvar anf_fun4849 = $ans4820;\n$step4814 = 19;\n$al4821 = L[2972];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being \"));\nbreak;\ncase 19: var anf_arg4850 = $ans4820;\n$step4814 = 20;\n$al4821 = L[2971];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"used\"));\nbreak;\ncase 20: var anf_arg4847 = $ans4820;\n$ans4820 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2966],L[2967]);\nvar anf_fun4845 = $ans4820;\n$al4821 = L[2968];\nvar anf_arg4846 = G(self4816,\"loc\",L[2968]);\n$step4814 = 21;\n$al4821 = L[2967];\nif(typeof(anf_fun4845.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4845);\n}\n$ans4820 = anf_fun4845.app(anf_arg4846);\nbreak;\ncase 21: var anf_arg4848 = $ans4820;\n$step4814 = 22;\n$al4821 = L[2970];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4847,anf_arg4848,(0));\nbreak;\ncase 22: var anf_arg4851 = $ans4820;\n$step4814 = 23;\n$al4821 = L[2969];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" before it has been is initialized to a value.\"));\nbreak;\ncase 23: var anf_arg4852 = $ans4820;\n$step4814 = 24;\n$al4821 = L[2965];\nif(typeof(anf_fun4849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4849);\n}\n$ans4820 = anf_fun4849.app(anf_arg4850,anf_arg4851,anf_arg4852);\nbreak;\ncase 24: var anf_arg4856 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2957];\nif(typeof(anf_fun4853.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4853);\n}\n$ans4820 = anf_fun4853.app(anf_arg4854,anf_arg4855,anf_arg4856);\nbreak;\ncase 25: $ans4820 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[2977],L[2978]);\nvar anf_fun4866 = $ans4820;\n$ans4820 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2979],L[2980]);\nvar anf_fun4860 = $ans4820;\n$step4814 = 26;\n$al4821 = L[2988];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 26: var anf_arg4861 = $ans4820;\n$al4821 = L[2981];\nvar anf_arg4857 = G(self4816,\"name\",L[2981]);\n$step4814 = 27;\n$al4821 = L[2987];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app(anf_arg4857);\nbreak;\ncase 27: var anf_arg4858 = $ans4820;\n$step4814 = 28;\n$al4821 = L[2986];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"code\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"code\"].app(anf_arg4858);\nbreak;\ncase 28: var anf_arg4862 = $ans4820;\n$step4814 = 29;\n$al4821 = L[2985];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 29: var anf_arg4863 = $ans4820;\n$al4821 = L[2982];\nvar anf_arg4859 = G(self4816,\"loc\",L[2982]);\n$step4814 = 30;\n$al4821 = L[2984];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"loc\"].app(anf_arg4859);\nbreak;\ncase 30: var anf_arg4864 = $ans4820;\n$step4814 = 31;\n$al4821 = L[2983];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being used before it has been is initialized to a value.\"));\nbreak;\ncase 31: var anf_arg4865 = $ans4820;\n$step4814 = 32;\n$al4821 = L[2980];\nif(typeof(anf_fun4860.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4860);\n}\n$ans4820 = anf_fun4860.app(anf_arg4861,anf_arg4862,anf_arg4863,anf_arg4864,anf_arg4865);\nbreak;\ncase 32: var anf_arg4867 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2978];\nif(typeof(anf_fun4866.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4866);\n}\n$ans4820 = anf_fun4866.app(anf_arg4867);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans4820;\ndefault: R.ffi.throwSpinnakerError(L[2940],$step4814);\n}\n}\nif($step4814 !== 33) {\n$ans4820.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4821,$temp_full4815,$step4814,[self4816,maybe$stack$loc4817,src$available4818,maybe$ast4819],[anf_fun4833,anf_fun4866,anf_arg4850,anf_arg4861,anf_fun4849,anf_arg4851,anf_arg4862,anf_fun4828,anf_arg4830,anf_arg4863,anf_arg4831,anf_arg4842,anf_arg4864,anf_arg4854,anf_arg4855,anf_arg4834,anf_arg4847,anf_arg4839,anf_arg4829,anf_fun4860,anf_fun4841,anf_fun4853],$elidedFrames4823);\n}\nreturn $ans4820;\n};\nvar anf_variant_member6006 = R.makeMethod3($temp_full4815,\"render-fancy-reason\");\nvar $temp_full4872 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2990($self4873) {\nvar $step4871 = 0;\nvar $elidedFrames4877 = 0;\nvar $ans4874 = D;\nvar $al4875 = L[2990];\nif(R.isAR($self4873)) {\n$step4871 = $self4873.step;\n$al4875 = $self4873.from;\n$ans4874 = $self4873.ans;\n$elidedFrames4877 = $self4873.elidedFrames;\nself4873 = $self4873.args[0];\nanf_fun4899 = $self4873.vars[0];\nanf_arg4883 = $self4873.vars[1];\nanf_arg4894 = $self4873.vars[2];\nanf_arg4884 = $self4873.vars[3];\nanf_arg4895 = $self4873.vars[4];\nanf_arg4885 = $self4873.vars[5];\nanf_arg4896 = $self4873.vars[6];\nanf_arg4897 = $self4873.vars[7];\nanf_arg4888 = $self4873.vars[8];\nanf_fun4882 = $self4873.vars[9];\nanf_fun4893 = $self4873.vars[10];\nanf_fun4887 = $self4873.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2990],1,$t,true);\n}\nvar self4873 = $self4873;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4874 = R.mC();\n}\nwhile(!R.isContinuation($ans4874)) {\nswitch($step4871) {\ncase 0: $al4875 = L[2991];\nvar anf_method_obj4878 = G(self4873,\"loc\",L[2991]);\n$step4871 = 1;\n$ans4874 = R.maybeMethodCall0(anf_method_obj4878,\"is-builtin\",L[2992]);\nbreak;\ncase 1: var anf_if4901 = $ans4874;\n$step4871 = R.checkPyretTrue(anf_if4901)?2:10;\nbreak;\ncase 2: $ans4874 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[2993],L[2994]);\nvar anf_fun4887 = $ans4874;\n$ans4874 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2995],L[2996]);\nvar anf_fun4882 = $ans4874;\n$step4871 = 3;\n$al4875 = L[3004];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 3: var anf_arg4883 = $ans4874;\n$al4875 = L[2997];\nvar anf_arg4879 = G(self4873,\"name\",L[2997]);\n$step4871 = 4;\n$al4875 = L[3003];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app(anf_arg4879);\nbreak;\ncase 4: var anf_arg4880 = $ans4874;\n$step4871 = 5;\n$al4875 = L[3002];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"code\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"code\"].app(anf_arg4880);\nbreak;\ncase 5: var anf_arg4884 = $ans4874;\n$step4871 = 6;\n$al4875 = L[3001];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" is unbound in \"));\nbreak;\ncase 6: var anf_arg4885 = $ans4874;\n$al4875 = L[2998];\nvar anf_arg4881 = G(self4873,\"loc\",L[2998]);\n$step4871 = 7;\n$al4875 = L[3000];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"loc\"].app(anf_arg4881);\nbreak;\ncase 7: var anf_arg4886 = $ans4874;\n$step4871 = 8;\n$al4875 = L[2996];\nif(typeof(anf_fun4882.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4882);\n}\n$ans4874 = anf_fun4882.app(anf_arg4883,anf_arg4884,anf_arg4885,anf_arg4886);\nbreak;\ncase 8: var anf_arg4888 = $ans4874;\n$step4871 = 9;\n$al4875 = L[2999];\n// omitting isFunction check;\n$ans4874 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg4889 = $ans4874;\n$step4871 = 18;\n$al4875 = L[2994];\nif(typeof(anf_fun4887.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4887);\n}\n$ans4874 = anf_fun4887.app(anf_arg4888,anf_arg4889);\nbreak;\ncase 10: $ans4874 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3005],L[3006]);\nvar anf_fun4899 = $ans4874;\n$ans4874 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3007],L[3008]);\nvar anf_fun4893 = $ans4874;\n$step4871 = 11;\n$al4875 = L[3016];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 11: var anf_arg4894 = $ans4874;\n$al4875 = L[3009];\nvar anf_arg4890 = G(self4873,\"name\",L[3009]);\n$step4871 = 12;\n$al4875 = L[3015];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app(anf_arg4890);\nbreak;\ncase 12: var anf_arg4891 = $ans4874;\n$step4871 = 13;\n$al4875 = L[3014];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"code\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"code\"].app(anf_arg4891);\nbreak;\ncase 13: var anf_arg4895 = $ans4874;\n$step4871 = 14;\n$al4875 = L[3013];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 14: var anf_arg4896 = $ans4874;\n$al4875 = L[3010];\nvar anf_arg4892 = G(self4873,\"loc\",L[3010]);\n$step4871 = 15;\n$al4875 = L[3012];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"loc\"].app(anf_arg4892);\nbreak;\ncase 15: var anf_arg4897 = $ans4874;\n$step4871 = 16;\n$al4875 = L[3011];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being used before it has been is initialized to a value.\"));\nbreak;\ncase 16: var anf_arg4898 = $ans4874;\n$step4871 = 17;\n$al4875 = L[3008];\nif(typeof(anf_fun4893.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4893);\n}\n$ans4874 = anf_fun4893.app(anf_arg4894,anf_arg4895,anf_arg4896,anf_arg4897,anf_arg4898);\nbreak;\ncase 17: var anf_arg4900 = $ans4874;\n$step4871 = 18;\n$al4875 = L[3006];\nif(typeof(anf_fun4899.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4899);\n}\n$ans4874 = anf_fun4899.app(anf_arg4900);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans4874;\ndefault: R.ffi.throwSpinnakerError(L[2990],$step4871);\n}\n}\nif($step4871 !== 18) {\n$ans4874.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4875,$temp_full4872,$step4871,[self4873],[anf_fun4899,anf_arg4883,anf_arg4894,anf_arg4884,anf_arg4895,anf_arg4885,anf_arg4896,anf_arg4897,anf_arg4888,anf_fun4882,anf_fun4893,anf_fun4887],$elidedFrames4877);\n}\nreturn $ans4874;\n};\nvar anf_variant_member6007 = R.makeMethod0($temp_full4872,\"render-reason\");\nvar $temp_full4904 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3017($self4905,$maybe$stack$loc4906,$src$available4907,$maybe$ast4908) {\nvar $step4903 = 0;\nvar $elidedFrames4912 = 0;\nvar $ans4909 = D;\nvar $al4910 = L[3017];\nif(R.isAR($self4905)) {\n$step4903 = $self4905.step;\n$al4910 = $self4905.from;\n$ans4909 = $self4905.ans;\n$elidedFrames4912 = $self4905.elidedFrames;\nself4905 = $self4905.args[0];\nmaybe$stack$loc4906 = $self4905.args[1];\nsrc$available4907 = $self4905.args[2];\nmaybe$ast4908 = $self4905.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3017],4,$t,true);\n}\nvar self4905 = $self4905;\nvar maybe$stack$loc4906 = $maybe$stack$loc4906;\nvar src$available4907 = $src$available4907;\nvar maybe$ast4908 = $maybe$ast4908;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4909 = R.mC();\n}\nwhile(!R.isContinuation($ans4909)) {\nswitch($step4903) {\ncase 0: $step4903 = 1;\n$ans4909 = R.maybeMethodCall0(self4905,\"render-reason\",L[3018]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4909;\ndefault: R.ffi.throwSpinnakerError(L[3017],$step4903);\n}\n}\nif($step4903 !== 1) {\n$ans4909.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4910,$temp_full4904,$step4903,[self4905,maybe$stack$loc4906,src$available4907,maybe$ast4908],[],$elidedFrames4912);\n}\nreturn $ans4909;\n};\nvar anf_variant_member6016 = R.makeMethod3($temp_full4904,\"render-fancy-reason\");\nvar $temp_full4915 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3019($self4916) {\nvar $step4914 = 0;\nvar $elidedFrames4920 = 0;\nvar $ans4917 = D;\nvar $al4918 = L[3019];\nif(R.isAR($self4916)) {\n$step4914 = $self4916.step;\n$al4918 = $self4916.from;\n$ans4917 = $self4916.ans;\n$elidedFrames4920 = $self4916.elidedFrames;\nself4916 = $self4916.args[0];\nanf_fun4923 = $self4916.vars[0];\nanf_fun4927 = $self4916.vars[1];\nanf_arg4928 = $self4916.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3019],1,$t,true);\n}\nvar self4916 = $self4916;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4917 = R.mC();\n}\nwhile(!R.isContinuation($ans4917)) {\nswitch($step4914) {\ncase 0: $ans4917 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3020],L[3021]);\nvar anf_fun4927 = $ans4917;\n$ans4917 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3022],L[3023]);\nvar anf_fun4923 = $ans4917;\n$al4918 = L[3024];\nvar anf_method_obj4921 = G(self4916,\"names\",L[3024]);\n$step4914 = 1;\n$ans4917 = R.maybeMethodCall0(anf_method_obj4921,\"length\",L[3025]);\nbreak;\ncase 1: var anf_arg4922 = $ans4917;\n$step4914 = 2;\n$al4918 = L[3031];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,equal$always1);\n}\n$ans4917 = equal$always1.app(anf_arg4922,(1));\nbreak;\ncase 2: var anf_if4930 = $ans4917;\n$step4914 = R.checkPyretTrue(anf_if4930)?3:4;\nbreak;\ncase 3: $step4914 = 5;\n$al4918 = L[3029];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"text\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"text\"].app((\"The following module failed to load:\"));\nbreak;\ncase 4: $step4914 = 5;\n$al4918 = L[3030];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"text\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"text\"].app((\"The following modules failed to load:\"));\nbreak;\ncase 5: var anf_arg4924 = $ans4917;\n$step4914 = 6;\n$al4918 = L[3023];\nif(typeof(anf_fun4923.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,anf_fun4923);\n}\n$ans4917 = anf_fun4923.app(anf_arg4924);\nbreak;\ncase 6: var anf_arg4928 = $ans4917;\n$al4918 = L[3026];\nvar anf_method_obj4925 = G(self4916,\"names\",L[3026]);\n$step4914 = 7;\n$ans4917 = R.maybeMethodCall1(anf_method_obj4925,\"map\",L[3027],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 7: var anf_arg4926 = $ans4917;\n$step4914 = 8;\n$al4918 = L[3028];\nif(typeof(ED6.dict.values.dict[\"h-sequence-sep\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"h-sequence-sep\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"h-sequence-sep\"].app(anf_arg4926,(\", \"),(\", and \"));\nbreak;\ncase 8: var anf_arg4929 = $ans4917;\n$step4914 = 9;\n$al4918 = L[3021];\nif(typeof(anf_fun4927.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,anf_fun4927);\n}\n$ans4917 = anf_fun4927.app(anf_arg4928,anf_arg4929);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4917;\ndefault: R.ffi.throwSpinnakerError(L[3019],$step4914);\n}\n}\nif($step4914 !== 9) {\n$ans4917.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4918,$temp_full4915,$step4914,[self4916],[anf_fun4923,anf_fun4927,anf_arg4928],$elidedFrames4920);\n}\nreturn $ans4917;\n};\nvar anf_variant_member6017 = R.makeMethod0($temp_full4915,\"render-reason\");\nvar $temp_full4933 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3032($self4934,$maybe$stack$loc4935,$src$available4936,$maybe$ast4937) {\nvar $step4932 = 0;\nvar $elidedFrames4941 = 0;\nvar $ans4938 = D;\nvar $al4939 = L[3032];\nif(R.isAR($self4934)) {\n$step4932 = $self4934.step;\n$al4939 = $self4934.from;\n$ans4938 = $self4934.ans;\n$elidedFrames4941 = $self4934.elidedFrames;\nself4934 = $self4934.args[0];\nmaybe$stack$loc4935 = $self4934.args[1];\nsrc$available4936 = $self4934.args[2];\nmaybe$ast4937 = $self4934.args[3];\nanf_fun4943 = $self4934.vars[0];\ncases4942 = $self4934.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3032],4,$t,true);\n}\nvar self4934 = $self4934;\nvar maybe$stack$loc4935 = $maybe$stack$loc4935;\nvar src$available4936 = $src$available4936;\nvar maybe$ast4937 = $maybe$ast4937;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4938 = R.mC();\n}\nwhile(!R.isContinuation($ans4938)) {\nswitch($step4932) {\ncase 0: $ans4938 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3033],L[3034]);\nvar anf_fun4943 = $ans4938;\n$step4932 = 1;\n$al4939 = L[3111];\nif(typeof(maybe$stack$loc4935.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4939,maybe$stack$loc4935);\n}\n$ans4938 = maybe$stack$loc4935.app((0),(true));\nbreak;\ncase 1: var cases4942 = $ans4938;\n$step4932 = 2;\n$al4939 = L[3110];\nvar $ann$check5029 = R._cA(L[3110],R.gDA(L[3110],\"O\",O8.dict.types,\"Option\"),cases4942);\nif(R.isContinuation($ann$check5029)) {\n$ans4938 = $ann$check5029;\n}\nbreak;\ncase 2: $al4939 = L[3091];\n$step4932 = $cases_dispatch5028[cases4942.$name] || 5;\nbreak;\ncase 3: if(cases4942.$arity !== 1) {\nif(cases4942.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3090],1,cases4942.$arity,L[3091],cases4942.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3090],true,L[3091],cases4942.$loc);\n}\n}\n$step4932 = 6;\n$al4939 = L[3090];\nvar $temp_branch4998 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3091($loc4945) {\nvar $step4999 = 0;\nvar $elidedFrames5003 = 0;\nvar $ans5000 = D;\nvar $al5001 = L[3035];\nif(R.isAR($loc4945)) {\n$step4999 = $loc4945.step;\n$al5001 = $loc4945.from;\n$ans5000 = $loc4945.ans;\n$elidedFrames5003 = $loc4945.elidedFrames;\nloc4945 = $loc4945.args[0];\nanf_arg4990 = $loc4945.vars[0];\nanf_fun4988 = $loc4945.vars[1];\nanf_arg4991 = $loc4945.vars[2];\nanf_fun4956 = $loc4945.vars[3];\nanf_fun4968 = $loc4945.vars[4];\nanf_arg4970 = $loc4945.vars[5];\nanf_arg4981 = $loc4945.vars[6];\nanf_arg4971 = $loc4945.vars[7];\nanf_arg4982 = $loc4945.vars[8];\nanf_arg4994 = $loc4945.vars[9];\nanf_fun4948 = $loc4945.vars[10];\nanf_arg4950 = $loc4945.vars[11];\nanf_arg4972 = $loc4945.vars[12];\nanf_arg4983 = $loc4945.vars[13];\nanf_arg4951 = $loc4945.vars[14];\nanf_arg4962 = $loc4945.vars[15];\nanf_arg4984 = $loc4945.vars[16];\nanf_arg4952 = $loc4945.vars[17];\nanf_arg4963 = $loc4945.vars[18];\nanf_arg4975 = $loc4945.vars[19];\nanf_arg4976 = $loc4945.vars[20];\nanf_arg4989 = $loc4945.vars[21];\nanf_arg4957 = $loc4945.vars[22];\nanf_arg4958 = $loc4945.vars[23];\nanf_arg4969 = $loc4945.vars[24];\nanf_arg4959 = $loc4945.vars[25];\nanf_arg4949 = $loc4945.vars[26];\nanf_fun4980 = $loc4945.vars[27];\nanf_fun4993 = $loc4945.vars[28];\nanf_fun4961 = $loc4945.vars[29];\nanf_fun4974 = $loc4945.vars[30];\n} else {\nvar loc4945 = $loc4945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5000 = R.mC();\n}\nwhile(!R.isContinuation($ans5000)) {\nswitch($step4999) {\ncase 0: $step4999 = 1;\n$ans5000 = R.maybeMethodCall0(loc4945,\"is-builtin\",L[3035]);\nbreak;\ncase 1: var anf_if4997 = $ans5000;\n$step4999 = R.checkPyretTrue(anf_if4997)?2:16;\nbreak;\ncase 2: $ans5000 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[3036],L[3037]);\nvar anf_fun4961 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3038],L[3039]);\nvar anf_fun4948 = $ans5000;\n$step4999 = 3;\n$al5001 = L[3055];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 3: var anf_arg4949 = $ans5000;\n$al5001 = L[3040];\nvar anf_arg4946 = G(self4934,\"method-name\",L[3040]);\n$step4999 = 4;\n$al5001 = L[3054];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4946);\nbreak;\ncase 4: var anf_arg4947 = $ans5000;\n$step4999 = 5;\n$al5001 = L[3053];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"code\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"code\"].app(anf_arg4947);\nbreak;\ncase 5: var anf_arg4950 = $ans5000;\n$step4999 = 6;\n$al5001 = L[3052];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg4951 = $ans5000;\n$step4999 = 7;\n$al5001 = L[3051];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"loc\"].app(loc4945);\nbreak;\ncase 7: var anf_arg4952 = $ans5000;\n$step4999 = 8;\n$al5001 = L[3050];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 8: var anf_arg4953 = $ans5000;\n$step4999 = 9;\n$al5001 = L[3039];\nif(typeof(anf_fun4948.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4948);\n}\n$ans5000 = anf_fun4948.app(anf_arg4949,anf_arg4950,anf_arg4951,anf_arg4952,anf_arg4953);\nbreak;\ncase 9: var anf_arg4962 = $ans5000;\n$ans5000 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3041],L[3042]);\nvar anf_fun4956 = $ans5000;\n$al5001 = L[3043];\nvar anf_arg4954 = G(self4934,\"index\",L[3043]);\n$step4999 = 10;\n$al5001 = L[3049];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4954);\nbreak;\ncase 10: var anf_arg4957 = $ans5000;\n$step4999 = 11;\n$al5001 = L[3048];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 11: var anf_arg4958 = $ans5000;\n$al5001 = L[3044];\nvar anf_arg4955 = G(self4934,\"reason\",L[3044]);\n$step4999 = 12;\n$al5001 = L[3047];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4955);\nbreak;\ncase 12: var anf_arg4959 = $ans5000;\n$step4999 = 13;\n$al5001 = L[3046];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 13: var anf_arg4960 = $ans5000;\n$step4999 = 14;\n$al5001 = L[3042];\nif(typeof(anf_fun4956.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4956);\n}\n$ans5000 = anf_fun4956.app(anf_arg4957,anf_arg4958,anf_arg4959,anf_arg4960);\nbreak;\ncase 14: var anf_arg4963 = $ans5000;\n$step4999 = 15;\n$al5001 = L[3045];\n// omitting isFunction check;\n$ans5000 = please$report$bug158.$var.app();\nbreak;\ncase 15: var anf_arg4964 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3037];\nif(typeof(anf_fun4961.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4961);\n}\n$ans5000 = anf_fun4961.app(anf_arg4962,anf_arg4963,anf_arg4964);\nbreak;\ncase 16: $step4999 = 17;\n$al5001 = L[3089];\nif(typeof(src$available4936.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,src$available4936);\n}\n$ans5000 = src$available4936.app(loc4945);\nbreak;\ncase 17: var anf_if4996 = $ans5000;\n$step4999 = R.checkPyretTrue(anf_if4996)?18:27;\nbreak;\ncase 18: $ans5000 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[3056],L[3057]);\nvar anf_fun4974 = $ans5000;\n$al5001 = L[3058];\nvar anf_arg4965 = G(self4934,\"method-name\",L[3058]);\n$step4999 = 19;\n$al5001 = L[3069];\n// omitting isFunction check;\n$ans5000 = ed$intro146.$var.app(anf_arg4965,loc4945,(0),(true));\nbreak;\ncase 19: var anf_arg4975 = $ans5000;\n$step4999 = 20;\n$al5001 = L[3068];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"cmcode\"].app(loc4945);\nbreak;\ncase 20: var anf_arg4976 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3059],L[3060]);\nvar anf_fun4968 = $ans5000;\n$step4999 = 21;\n$al5001 = L[3067];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 21: var anf_arg4969 = $ans5000;\n$al5001 = L[3061];\nvar anf_arg4966 = G(self4934,\"index\",L[3061]);\n$step4999 = 22;\n$al5001 = L[3066];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4966);\nbreak;\ncase 22: var anf_arg4970 = $ans5000;\n$step4999 = 23;\n$al5001 = L[3065];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 23: var anf_arg4971 = $ans5000;\n$al5001 = L[3062];\nvar anf_arg4967 = G(self4934,\"reason\",L[3062]);\n$step4999 = 24;\n$al5001 = L[3064];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4967);\nbreak;\ncase 24: var anf_arg4972 = $ans5000;\n$step4999 = 25;\n$al5001 = L[3063];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 25: var anf_arg4973 = $ans5000;\n$step4999 = 26;\n$al5001 = L[3060];\nif(typeof(anf_fun4968.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4968);\n}\n$ans5000 = anf_fun4968.app(anf_arg4969,anf_arg4970,anf_arg4971,anf_arg4972,anf_arg4973);\nbreak;\ncase 26: var anf_arg4977 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3057];\nif(typeof(anf_fun4974.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4974);\n}\n$ans5000 = anf_fun4974.app(anf_arg4975,anf_arg4976,anf_arg4977);\nbreak;\ncase 27: $ans5000 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3070],L[3071]);\nvar anf_fun4993 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3072],L[3073]);\nvar anf_fun4980 = $ans5000;\n$step4999 = 28;\n$al5001 = L[3088];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 28: var anf_arg4981 = $ans5000;\n$al5001 = L[3074];\nvar anf_arg4978 = G(self4934,\"method-name\",L[3074]);\n$step4999 = 29;\n$al5001 = L[3087];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4978);\nbreak;\ncase 29: var anf_arg4979 = $ans5000;\n$step4999 = 30;\n$al5001 = L[3086];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"code\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"code\"].app(anf_arg4979);\nbreak;\ncase 30: var anf_arg4982 = $ans5000;\n$step4999 = 31;\n$al5001 = L[3085];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 31: var anf_arg4983 = $ans5000;\n$step4999 = 32;\n$al5001 = L[3084];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"loc\"].app(loc4945);\nbreak;\ncase 32: var anf_arg4984 = $ans5000;\n$step4999 = 33;\n$al5001 = L[3083];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 33: var anf_arg4985 = $ans5000;\n$step4999 = 34;\n$al5001 = L[3073];\nif(typeof(anf_fun4980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4980);\n}\n$ans5000 = anf_fun4980.app(anf_arg4981,anf_arg4982,anf_arg4983,anf_arg4984,anf_arg4985);\nbreak;\ncase 34: var anf_arg4994 = $ans5000;\n$ans5000 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3075],L[3076]);\nvar anf_fun4988 = $ans5000;\n$al5001 = L[3077];\nvar anf_arg4986 = G(self4934,\"index\",L[3077]);\n$step4999 = 35;\n$al5001 = L[3082];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4986);\nbreak;\ncase 35: var anf_arg4989 = $ans5000;\n$step4999 = 36;\n$al5001 = L[3081];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 36: var anf_arg4990 = $ans5000;\n$al5001 = L[3078];\nvar anf_arg4987 = G(self4934,\"reason\",L[3078]);\n$step4999 = 37;\n$al5001 = L[3080];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4987);\nbreak;\ncase 37: var anf_arg4991 = $ans5000;\n$step4999 = 38;\n$al5001 = L[3079];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 38: var anf_arg4992 = $ans5000;\n$step4999 = 39;\n$al5001 = L[3076];\nif(typeof(anf_fun4988.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4988);\n}\n$ans5000 = anf_fun4988.app(anf_arg4989,anf_arg4990,anf_arg4991,anf_arg4992);\nbreak;\ncase 39: var anf_arg4995 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3071];\nif(typeof(anf_fun4993.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4993);\n}\n$ans5000 = anf_fun4993.app(anf_arg4994,anf_arg4995);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans5000;\ndefault: R.ffi.throwSpinnakerError(L[3035],$step4999);\n}\n}\nif($step4999 !== 40) {\n$ans5000.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5001,$temp_branch4998,$step4999,[loc4945],[anf_arg4990,anf_fun4988,anf_arg4991,anf_fun4956,anf_fun4968,anf_arg4970,anf_arg4981,anf_arg4971,anf_arg4982,anf_arg4994,anf_fun4948,anf_arg4950,anf_arg4972,anf_arg4983,anf_arg4951,anf_arg4962,anf_arg4984,anf_arg4952,anf_arg4963,anf_arg4975,anf_arg4976,anf_arg4989,anf_arg4957,anf_arg4958,anf_arg4969,anf_arg4959,anf_arg4949,anf_fun4980,anf_fun4993,anf_fun4961,anf_fun4974],$elidedFrames5003);\n}\nreturn $ans5000;\n};\n$ans4938 = cases4942.$app_fields($temp_branch4998,[false]);\nbreak;\ncase 4: if(cases4942.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[3109],false,L[3091],cases4942.$loc);\n}\n$step4932 = 6;\n$al4939 = L[3109];\nvar $temp_branch5021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3091($$resumer13) {\nvar $step5022 = 0;\nvar $elidedFrames5026 = 0;\nvar $ans5023 = D;\nvar $al5024 = L[3093];\nif(R.isAR($$resumer13)) {\n$step5022 = $$resumer13.step;\n$al5024 = $$resumer13.from;\n$ans5023 = $$resumer13.ans;\n$elidedFrames5026 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg5014 = $$resumer13.vars[0];\nanf_arg5015 = $$resumer13.vars[1];\nanf_arg5016 = $$resumer13.vars[2];\nanf_arg5008 = $$resumer13.vars[3];\nanf_arg5019 = $$resumer13.vars[4];\nanf_arg5009 = $$resumer13.vars[5];\nanf_fun5013 = $$resumer13.vars[6];\nanf_fun5018 = $$resumer13.vars[7];\nanf_fun5007 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5023 = R.mC();\n}\nwhile(!R.isContinuation($ans5023)) {\nswitch($step5022) {\ncase 0: $ans5023 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3092],L[3093]);\nvar anf_fun5018 = $ans5023;\n$ans5023 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3094],L[3095]);\nvar anf_fun5007 = $ans5023;\n$step5022 = 1;\n$al5024 = L[3108];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 1: var anf_arg5008 = $ans5023;\n$al5024 = L[3096];\nvar anf_arg5005 = G(self4934,\"method-name\",L[3096]);\n$step5022 = 2;\n$al5024 = L[3107];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app(anf_arg5005);\nbreak;\ncase 2: var anf_arg5006 = $ans5023;\n$step5022 = 3;\n$al5024 = L[3106];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"code\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"code\"].app(anf_arg5006);\nbreak;\ncase 3: var anf_arg5009 = $ans5023;\n$step5022 = 4;\n$al5024 = L[3105];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 4: var anf_arg5010 = $ans5023;\n$step5022 = 5;\n$al5024 = L[3095];\nif(typeof(anf_fun5007.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5007);\n}\n$ans5023 = anf_fun5007.app(anf_arg5008,anf_arg5009,anf_arg5010);\nbreak;\ncase 5: var anf_arg5019 = $ans5023;\n$ans5023 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3097],L[3098]);\nvar anf_fun5013 = $ans5023;\n$al5024 = L[3099];\nvar anf_arg5011 = G(self4934,\"index\",L[3099]);\n$step5022 = 6;\n$al5024 = L[3104];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"embed\"].app(anf_arg5011);\nbreak;\ncase 6: var anf_arg5014 = $ans5023;\n$step5022 = 7;\n$al5024 = L[3103];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 7: var anf_arg5015 = $ans5023;\n$al5024 = L[3100];\nvar anf_arg5012 = G(self4934,\"reason\",L[3100]);\n$step5022 = 8;\n$al5024 = L[3102];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app(anf_arg5012);\nbreak;\ncase 8: var anf_arg5016 = $ans5023;\n$step5022 = 9;\n$al5024 = L[3101];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg5017 = $ans5023;\n$step5022 = 10;\n$al5024 = L[3098];\nif(typeof(anf_fun5013.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5013);\n}\n$ans5023 = anf_fun5013.app(anf_arg5014,anf_arg5015,anf_arg5016,anf_arg5017);\nbreak;\ncase 10: var anf_arg5020 = $ans5023;\n$step5022 = 11;\n$al5024 = L[3093];\nif(typeof(anf_fun5018.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5018);\n}\n$ans5023 = anf_fun5018.app(anf_arg5019,anf_arg5020);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans5023;\ndefault: R.ffi.throwSpinnakerError(L[3093],$step5022);\n}\n}\nif($step5022 !== 11) {\n$ans5023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5024,$temp_branch5021,$step5022,[],[anf_arg5014,anf_arg5015,anf_arg5016,anf_arg5008,anf_arg5019,anf_arg5009,anf_fun5013,anf_fun5018,anf_fun5007],$elidedFrames5026);\n}\nreturn $ans5023;\n};\n$ans4938 = cases4942.$app_fields($temp_branch5021,[]);\nbreak;\ncase 5: $ans4938 = R.throwNoCasesMatched(L[3091],cases4942);\n$step4932 = 6;\nbreak;\ncase 6: var anf_arg4944 = $ans4938;\n$step4932 = 7;\n$al4939 = L[3034];\nif(typeof(anf_fun4943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4939,anf_fun4943);\n}\n$ans4938 = anf_fun4943.app(anf_arg4944);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4938;\ndefault: R.ffi.throwSpinnakerError(L[3032],$step4932);\n}\n}\nif($step4932 !== 7) {\n$ans4938.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4939,$temp_full4933,$step4932,[self4934,maybe$stack$loc4935,src$available4936,maybe$ast4937],[anf_fun4943,cases4942],$elidedFrames4941);\n}\nreturn $ans4938;\n};\nvar anf_variant_member6025 = R.makeMethod3($temp_full4933,\"render-fancy-reason\");\nvar $temp_full5032 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3112($self5033) {\nvar $step5031 = 0;\nvar $elidedFrames5037 = 0;\nvar $ans5034 = D;\nvar $al5035 = L[3112];\nif(R.isAR($self5033)) {\n$step5031 = $self5033.step;\n$al5035 = $self5033.from;\n$ans5034 = $self5033.ans;\n$elidedFrames5037 = $self5033.elidedFrames;\nself5033 = $self5033.args[0];\nanf_arg5088 = $self5033.vars[0];\nanf_arg5100 = $self5033.vars[1];\nanf_fun5092 = $self5033.vars[2];\nanf_fun5086 = $self5033.vars[3];\nanf_fun5097 = $self5033.vars[4];\nanf_arg5093 = $self5033.vars[5];\nanf_arg5094 = $self5033.vars[6];\nanf_arg5095 = $self5033.vars[7];\nanf_arg5087 = $self5033.vars[8];\nanf_arg5098 = $self5033.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3112],1,$t,true);\n}\nvar self5033 = $self5033;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5034 = R.mC();\n}\nwhile(!R.isContinuation($ans5034)) {\nswitch($step5031) {\ncase 0: var $temp_lam5039 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3113($loc5040) {\nvar $step5038 = 0;\nvar $elidedFrames5044 = 0;\nvar $ans5041 = D;\nvar $al5042 = L[3113];\nif(R.isAR($loc5040)) {\n$step5038 = $loc5040.step;\n$al5042 = $loc5040.from;\n$ans5041 = $loc5040.ans;\n$elidedFrames5044 = $loc5040.elidedFrames;\nloc5040 = $loc5040.args[0];\nanf_arg5077 = $loc5040.vars[0];\nanf_arg5056 = $loc5040.vars[1];\nanf_arg5067 = $loc5040.vars[2];\nanf_arg5057 = $loc5040.vars[3];\nanf_arg5068 = $loc5040.vars[4];\nanf_arg5058 = $loc5040.vars[5];\nanf_arg5069 = $loc5040.vars[6];\nanf_arg5048 = $loc5040.vars[7];\nanf_arg5049 = $loc5040.vars[8];\nanf_fun5060 = $loc5040.vars[9];\nanf_fun5074 = $loc5040.vars[10];\nanf_fun5055 = $loc5040.vars[11];\nanf_fun5066 = $loc5040.vars[12];\nanf_arg5080 = $loc5040.vars[13];\nanf_fun5079 = $loc5040.vars[14];\nanf_arg5070 = $loc5040.vars[15];\nanf_fun5047 = $loc5040.vars[16];\nanf_arg5050 = $loc5040.vars[17];\nanf_arg5061 = $loc5040.vars[18];\nanf_arg5051 = $loc5040.vars[19];\nanf_arg5062 = $loc5040.vars[20];\nanf_arg5075 = $loc5040.vars[21];\nanf_arg5076 = $loc5040.vars[22];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3113],1,$t,false);\n}\nvar loc5040 = $loc5040;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5041 = R.mC();\n}\nwhile(!R.isContinuation($ans5041)) {\nswitch($step5038) {\ncase 0: $step5038 = 1;\n$ans5041 = R.maybeMethodCall0(loc5040,\"is-builtin\",L[3114]);\nbreak;\ncase 1: var anf_if5082 = $ans5041;\n$step5038 = R.checkPyretTrue(anf_if5082)?2:16;\nbreak;\ncase 2: $ans5041 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3115],L[3116]);\nvar anf_fun5060 = $ans5041;\n$ans5041 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3117],L[3118]);\nvar anf_fun5047 = $ans5041;\n$step5038 = 3;\n$al5042 = L[3134];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 3: var anf_arg5048 = $ans5041;\n$al5042 = L[3119];\nvar anf_arg5045 = G(self5033,\"method-name\",L[3119]);\n$step5038 = 4;\n$al5042 = L[3133];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5045);\nbreak;\ncase 4: var anf_arg5046 = $ans5041;\n$step5038 = 5;\n$al5042 = L[3132];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"code\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"code\"].app(anf_arg5046);\nbreak;\ncase 5: var anf_arg5049 = $ans5041;\n$step5038 = 6;\n$al5042 = L[3131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg5050 = $ans5041;\n$step5038 = 7;\n$al5042 = L[3130];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"loc\"].app(loc5040);\nbreak;\ncase 7: var anf_arg5051 = $ans5041;\n$step5038 = 8;\n$al5042 = L[3129];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 8: var anf_arg5052 = $ans5041;\n$step5038 = 9;\n$al5042 = L[3118];\nif(typeof(anf_fun5047.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5047);\n}\n$ans5041 = anf_fun5047.app(anf_arg5048,anf_arg5049,anf_arg5050,anf_arg5051,anf_arg5052);\nbreak;\ncase 9: var anf_arg5061 = $ans5041;\n$ans5041 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3120],L[3121]);\nvar anf_fun5055 = $ans5041;\n$al5042 = L[3122];\nvar anf_arg5053 = G(self5033,\"index\",L[3122]);\n$step5038 = 10;\n$al5042 = L[3128];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"embed\"].app(anf_arg5053);\nbreak;\ncase 10: var anf_arg5056 = $ans5041;\n$step5038 = 11;\n$al5042 = L[3127];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 11: var anf_arg5057 = $ans5041;\n$al5042 = L[3123];\nvar anf_arg5054 = G(self5033,\"reason\",L[3123]);\n$step5038 = 12;\n$al5042 = L[3126];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5054);\nbreak;\ncase 12: var anf_arg5058 = $ans5041;\n$step5038 = 13;\n$al5042 = L[3125];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 13: var anf_arg5059 = $ans5041;\n$step5038 = 14;\n$al5042 = L[3121];\nif(typeof(anf_fun5055.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5055);\n}\n$ans5041 = anf_fun5055.app(anf_arg5056,anf_arg5057,anf_arg5058,anf_arg5059);\nbreak;\ncase 14: var anf_arg5062 = $ans5041;\n$step5038 = 15;\n$al5042 = L[3124];\n// omitting isFunction check;\n$ans5041 = please$report$bug158.$var.app();\nbreak;\ncase 15: var anf_arg5063 = $ans5041;\n$step5038 = 29;\n$al5042 = L[3116];\nif(typeof(anf_fun5060.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5060);\n}\n$ans5041 = anf_fun5060.app(anf_arg5061,anf_arg5062,anf_arg5063);\nbreak;\ncase 16: $ans5041 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3135],L[3136]);\nvar anf_fun5079 = $ans5041;\n$ans5041 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3137],L[3138]);\nvar anf_fun5066 = $ans5041;\n$step5038 = 17;\n$al5042 = L[3153];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 17: var anf_arg5067 = $ans5041;\n$al5042 = L[3139];\nvar anf_arg5064 = G(self5033,\"method-name\",L[3139]);\n$step5038 = 18;\n$al5042 = L[3152];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5064);\nbreak;\ncase 18: var anf_arg5065 = $ans5041;\n$step5038 = 19;\n$al5042 = L[3151];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"code\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"code\"].app(anf_arg5065);\nbreak;\ncase 19: var anf_arg5068 = $ans5041;\n$step5038 = 20;\n$al5042 = L[3150];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 20: var anf_arg5069 = $ans5041;\n$step5038 = 21;\n$al5042 = L[3149];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"loc\"].app(loc5040);\nbreak;\ncase 21: var anf_arg5070 = $ans5041;\n$step5038 = 22;\n$al5042 = L[3148];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 22: var anf_arg5071 = $ans5041;\n$step5038 = 23;\n$al5042 = L[3138];\nif(typeof(anf_fun5066.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5066);\n}\n$ans5041 = anf_fun5066.app(anf_arg5067,anf_arg5068,anf_arg5069,anf_arg5070,anf_arg5071);\nbreak;\ncase 23: var anf_arg5080 = $ans5041;\n$ans5041 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3140],L[3141]);\nvar anf_fun5074 = $ans5041;\n$al5042 = L[3142];\nvar anf_arg5072 = G(self5033,\"index\",L[3142]);\n$step5038 = 24;\n$al5042 = L[3147];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"embed\"].app(anf_arg5072);\nbreak;\ncase 24: var anf_arg5075 = $ans5041;\n$step5038 = 25;\n$al5042 = L[3146];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 25: var anf_arg5076 = $ans5041;\n$al5042 = L[3143];\nvar anf_arg5073 = G(self5033,\"reason\",L[3143]);\n$step5038 = 26;\n$al5042 = L[3145];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5073);\nbreak;\ncase 26: var anf_arg5077 = $ans5041;\n$step5038 = 27;\n$al5042 = L[3144];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 27: var anf_arg5078 = $ans5041;\n$step5038 = 28;\n$al5042 = L[3141];\nif(typeof(anf_fun5074.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5074);\n}\n$ans5041 = anf_fun5074.app(anf_arg5075,anf_arg5076,anf_arg5077,anf_arg5078);\nbreak;\ncase 28: var anf_arg5081 = $ans5041;\n$step5038 = 29;\n$al5042 = L[3136];\nif(typeof(anf_fun5079.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5079);\n}\n$ans5041 = anf_fun5079.app(anf_arg5080,anf_arg5081);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans5041;\ndefault: R.ffi.throwSpinnakerError(L[3113],$step5038);\n}\n}\nif($step5038 !== 29) {\n$ans5041.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5042,$temp_lam5039,$step5038,[loc5040],[anf_arg5077,anf_arg5056,anf_arg5067,anf_arg5057,anf_arg5068,anf_arg5058,anf_arg5069,anf_arg5048,anf_arg5049,anf_fun5060,anf_fun5074,anf_fun5055,anf_fun5066,anf_arg5080,anf_fun5079,anf_arg5070,anf_fun5047,anf_arg5050,anf_arg5061,anf_arg5051,anf_arg5062,anf_arg5075,anf_arg5076],$elidedFrames5044);\n}\nreturn $ans5041;\n};\nvar anf_arg5100 = R.mF($temp_lam5039,\"\");\n$ans5034 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3154],L[3155]);\nvar anf_fun5097 = $ans5034;\n$ans5034 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3156],L[3157]);\nvar anf_fun5086 = $ans5034;\n$step5031 = 1;\n$al5035 = L[3171];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 1: var anf_arg5087 = $ans5034;\n$al5035 = L[3158];\nvar anf_arg5084 = G(self5033,\"method-name\",L[3158]);\n$step5031 = 2;\n$al5035 = L[3170];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app(anf_arg5084);\nbreak;\ncase 2: var anf_arg5085 = $ans5034;\n$step5031 = 3;\n$al5035 = L[3169];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"code\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"code\"].app(anf_arg5085);\nbreak;\ncase 3: var anf_arg5088 = $ans5034;\n$step5031 = 4;\n$al5035 = L[3168];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 4: var anf_arg5089 = $ans5034;\n$step5031 = 5;\n$al5035 = L[3157];\nif(typeof(anf_fun5086.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5086);\n}\n$ans5034 = anf_fun5086.app(anf_arg5087,anf_arg5088,anf_arg5089);\nbreak;\ncase 5: var anf_arg5098 = $ans5034;\n$ans5034 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3159],L[3160]);\nvar anf_fun5092 = $ans5034;\n$al5035 = L[3161];\nvar anf_arg5090 = G(self5033,\"index\",L[3161]);\n$step5031 = 6;\n$al5035 = L[3167];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"embed\"].app(anf_arg5090);\nbreak;\ncase 6: var anf_arg5093 = $ans5034;\n$step5031 = 7;\n$al5035 = L[3166];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 7: var anf_arg5094 = $ans5034;\n$al5035 = L[3162];\nvar anf_arg5091 = G(self5033,\"reason\",L[3162]);\n$step5031 = 8;\n$al5035 = L[3165];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app(anf_arg5091);\nbreak;\ncase 8: var anf_arg5095 = $ans5034;\n$step5031 = 9;\n$al5035 = L[3164];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg5096 = $ans5034;\n$step5031 = 10;\n$al5035 = L[3160];\nif(typeof(anf_fun5092.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5092);\n}\n$ans5034 = anf_fun5092.app(anf_arg5093,anf_arg5094,anf_arg5095,anf_arg5096);\nbreak;\ncase 10: var anf_arg5099 = $ans5034;\n$step5031 = 11;\n$al5035 = L[3155];\nif(typeof(anf_fun5097.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5097);\n}\n$ans5034 = anf_fun5097.app(anf_arg5098,anf_arg5099);\nbreak;\ncase 11: var anf_arg5101 = $ans5034;\n$step5031 = 12;\n$al5035 = L[3163];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg5100,anf_arg5101);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans5034;\ndefault: R.ffi.throwSpinnakerError(L[3112],$step5031);\n}\n}\nif($step5031 !== 12) {\n$ans5034.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5035,$temp_full5032,$step5031,[self5033],[anf_arg5088,anf_arg5100,anf_fun5092,anf_fun5086,anf_fun5097,anf_arg5093,anf_arg5094,anf_arg5095,anf_arg5087,anf_arg5098],$elidedFrames5037);\n}\nreturn $ans5034;\n};\nvar anf_variant_member6026 = R.makeMethod0($temp_full5032,\"render-reason\");\nvar $temp_full5104 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3172($self5105,$maybe$stack$loc5106,$src$available5107,$maybe$ast5108) {\nvar $step5103 = 0;\nvar $elidedFrames5112 = 0;\nvar $ans5109 = D;\nvar $al5110 = L[3172];\nif(R.isAR($self5105)) {\n$step5103 = $self5105.step;\n$al5110 = $self5105.from;\n$ans5109 = $self5105.ans;\n$elidedFrames5112 = $self5105.elidedFrames;\nself5105 = $self5105.args[0];\nmaybe$stack$loc5106 = $self5105.args[1];\nsrc$available5107 = $self5105.args[2];\nmaybe$ast5108 = $self5105.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3172],4,$t,true);\n}\nvar self5105 = $self5105;\nvar maybe$stack$loc5106 = $maybe$stack$loc5106;\nvar src$available5107 = $src$available5107;\nvar maybe$ast5108 = $maybe$ast5108;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5109 = R.mC();\n}\nwhile(!R.isContinuation($ans5109)) {\nswitch($step5103) {\ncase 0: $step5103 = 1;\n$ans5109 = R.maybeMethodCall0(self5105,\"render-reason\",L[3173]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5109;\ndefault: R.ffi.throwSpinnakerError(L[3172],$step5103);\n}\n}\nif($step5103 !== 1) {\n$ans5109.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5110,$temp_full5104,$step5103,[self5105,maybe$stack$loc5106,src$available5107,maybe$ast5108],[],$elidedFrames5112);\n}\nreturn $ans5109;\n};\nvar anf_variant_member6037 = R.makeMethod3($temp_full5104,\"render-fancy-reason\");\nvar $temp_full5115 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3174($self5116) {\nvar $step5114 = 0;\nvar $elidedFrames5120 = 0;\nvar $ans5117 = D;\nvar $al5118 = L[3174];\nif(R.isAR($self5116)) {\n$step5114 = $self5116.step;\n$al5118 = $self5116.from;\n$ans5117 = $self5116.ans;\n$elidedFrames5120 = $self5116.elidedFrames;\nself5116 = $self5116.args[0];\nwithin$error5149 = $self5116.vars[0];\nvalue15121 = $self5116.vars[1];\nvalue25137 = $self5116.vars[2];\nanf_fun5181 = $self5116.vars[3];\nanf_fun5161 = $self5116.vars[4];\nanf_fun5151 = $self5116.vars[5];\nanf_fun5173 = $self5116.vars[6];\nanf_fun5153 = $self5116.vars[7];\nanf_fun5165 = $self5116.vars[8];\nanf_fun5176 = $self5116.vars[9];\nanf_fun5155 = $self5116.vars[10];\nanf_fun5157 = $self5116.vars[11];\nanf_fun5179 = $self5116.vars[12];\nanf_arg5182 = $self5116.vars[13];\nanf_fun5159 = $self5116.vars[14];\nanf_arg5183 = $self5116.vars[15];\nanf_arg5162 = $self5116.vars[16];\nanf_array5166 = $self5116.vars[17];\nanf_arg5163 = $self5116.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3174],1,$t,true);\n}\nvar self5116 = $self5116;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5117 = R.mC();\n}\nwhile(!R.isContinuation($ans5117)) {\nswitch($step5114) {\ncase 0: $al5118 = L[3175];\nvar value15121 = G(self5116,\"value1\",L[3175]);\n$al5118 = L[3176];\nvar value25137 = G(self5116,\"value2\",L[3176]);\n// caller optimization;\n$ans5117 = is$number4.app(value15121);\nvar anf_if5187 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5187)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans5117 = is$number4.app(value25137);\nvar anf_arg5186 = $ans5117;\n$ans5117 = R.checkWrapBoolean(anf_arg5186);\n$step5114 = 3;\nbreak;\ncase 2: $step5114 = 3;\n$ans5117 = (false);\nbreak;\ncase 3: var anf_if5185 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5185)?4:31;\nbreak;\ncase 4: var within$error5149 = {\"$var\":D};\nvar $temp_lam5123 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3177($message5124) {\nvar $step5122 = 0;\nvar $elidedFrames5128 = 0;\nvar $ans5125 = D;\nvar $al5126 = L[3177];\nif(R.isAR($message5124)) {\n$step5122 = $message5124.step;\n$al5126 = $message5124.from;\n$ans5125 = $message5124.ans;\n$elidedFrames5128 = $message5124.elidedFrames;\nmessage5124 = $message5124.args[0];\nanf_array5146 = $message5124.vars[0];\nanf_arg5143 = $message5124.vars[1];\nanf_fun5141 = $message5124.vars[2];\nanf_fun5131 = $message5124.vars[3];\nanf_fun5133 = $message5124.vars[4];\nanf_fun5145 = $message5124.vars[5];\nanf_fun5135 = $message5124.vars[6];\nanf_fun5138 = $message5124.vars[7];\nanf_arg5142 = $message5124.vars[8];\nanf_fun5129 = $message5124.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3177],1,$t,false);\n}\nvar message5124 = $message5124;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5125 = R.mC();\n}\nwhile(!R.isContinuation($ans5125)) {\nswitch($step5122) {\ncase 0: $ans5125 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[3178],L[3179]);\nvar anf_fun5145 = $ans5125;\n$ans5125 = R.makeArrayN((6));\nvar anf_array5146 = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3180],L[3181]);\nvar anf_fun5129 = $ans5125;\n$step5122 = 1;\n$al5126 = L[3200];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app(message5124);\nbreak;\ncase 1: var anf_arg5130 = $ans5125;\n$step5122 = 2;\n$al5126 = L[3181];\nif(typeof(anf_fun5129.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5129);\n}\n$ans5125 = anf_fun5129.app(anf_arg5130);\nbreak;\ncase 2: anf_array5146[0] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3182],L[3183]);\nvar anf_fun5131 = $ans5125;\n$step5122 = 3;\n$al5126 = L[3199];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 3: var anf_arg5132 = $ans5125;\n$step5122 = 4;\n$al5126 = L[3183];\nif(typeof(anf_fun5131.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5131);\n}\n$ans5125 = anf_fun5131.app(anf_arg5132);\nbreak;\ncase 4: anf_array5146[1] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3184],L[3185]);\nvar anf_fun5133 = $ans5125;\n$step5122 = 5;\n$al5126 = L[3198];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"embed\"].app(value15121);\nbreak;\ncase 5: var anf_arg5134 = $ans5125;\n$step5122 = 6;\n$al5126 = L[3185];\nif(typeof(anf_fun5133.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5133);\n}\n$ans5125 = anf_fun5133.app(anf_arg5134);\nbreak;\ncase 6: anf_array5146[2] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3186],L[3187]);\nvar anf_fun5135 = $ans5125;\n$step5122 = 7;\n$al5126 = L[3197];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 7: var anf_arg5136 = $ans5125;\n$step5122 = 8;\n$al5126 = L[3187];\nif(typeof(anf_fun5135.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5135);\n}\n$ans5125 = anf_fun5135.app(anf_arg5136);\nbreak;\ncase 8: anf_array5146[3] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3188],L[3189]);\nvar anf_fun5138 = $ans5125;\n$step5122 = 9;\n$al5126 = L[3196];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"embed\"].app(value25137);\nbreak;\ncase 9: var anf_arg5139 = $ans5125;\n$step5122 = 10;\n$al5126 = L[3189];\nif(typeof(anf_fun5138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5138);\n}\n$ans5125 = anf_fun5138.app(anf_arg5139);\nbreak;\ncase 10: anf_array5146[4] = $ans5125;\n$ans5125 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3190],L[3191]);\nvar anf_fun5141 = $ans5125;\n$step5122 = 11;\n$al5126 = L[3195];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"Consider using the \"));\nbreak;\ncase 11: var anf_arg5142 = $ans5125;\n$step5122 = 12;\n$al5126 = L[3194];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"within\"));\nbreak;\ncase 12: var anf_arg5140 = $ans5125;\n$step5122 = 13;\n$al5126 = L[3193];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"code\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"code\"].app(anf_arg5140);\nbreak;\ncase 13: var anf_arg5143 = $ans5125;\n$step5122 = 14;\n$al5126 = L[3192];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 14: var anf_arg5144 = $ans5125;\n$step5122 = 15;\n$al5126 = L[3191];\nif(typeof(anf_fun5141.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5141);\n}\n$ans5125 = anf_fun5141.app(anf_arg5142,anf_arg5143,anf_arg5144);\nbreak;\ncase 15: anf_array5146[5] = $ans5125;\n$step5122 = 16;\n$al5126 = L[3179];\nif(typeof(anf_fun5145.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5145);\n}\n$ans5125 = anf_fun5145.app(anf_array5146);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans5125;\ndefault: R.ffi.throwSpinnakerError(L[3177],$step5122);\n}\n}\nif($step5122 !== 16) {\n$ans5125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5126,$temp_lam5123,$step5122,[message5124],[anf_array5146,anf_arg5143,anf_fun5141,anf_fun5131,anf_fun5133,anf_fun5145,anf_fun5135,anf_fun5138,anf_arg5142,anf_fun5129],$elidedFrames5128);\n}\nreturn $ans5125;\n};\nvar anf_assign5148 = R.mF($temp_lam5123,\"within-error\");\nwithin$error5149.$var = anf_assign5148;\nR.nothing;\n$al5118 = L[3201];\nvar anf_arg5150 = G(self5116,\"reason\",L[3201]);\n$step5114 = 5;\n$al5118 = L[3228];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,equal$always1);\n}\n$ans5117 = equal$always1.app(anf_arg5150,(\"RoughnumZeroTolerances\"));\nbreak;\ncase 5: var anf_if5172 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5172)?6:21;\nbreak;\ncase 6: $ans5117 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[3202],L[3203]);\nvar anf_fun5165 = $ans5117;\n$ans5117 = R.makeArrayN((6));\nvar anf_array5166 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3204],L[3205]);\nvar anf_fun5151 = $ans5117;\n$step5114 = 7;\n$al5118 = L[3223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Pyret cannot be certain that Roughnums are the same to exactly-zero tolerance.\"));\nbreak;\ncase 7: var anf_arg5152 = $ans5117;\n$step5114 = 8;\n$al5118 = L[3205];\nif(typeof(anf_fun5151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5151);\n}\n$ans5117 = anf_fun5151.app(anf_arg5152);\nbreak;\ncase 8: anf_array5166[0] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3206],L[3207]);\nvar anf_fun5153 = $ans5117;\n$step5114 = 9;\n$al5118 = L[3222];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 9: var anf_arg5154 = $ans5117;\n$step5114 = 10;\n$al5118 = L[3207];\nif(typeof(anf_fun5153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5153);\n}\n$ans5117 = anf_fun5153.app(anf_arg5154);\nbreak;\ncase 10: anf_array5166[1] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3208],L[3209]);\nvar anf_fun5155 = $ans5117;\n$step5114 = 11;\n$al5118 = L[3221];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(value15121);\nbreak;\ncase 11: var anf_arg5156 = $ans5117;\n$step5114 = 12;\n$al5118 = L[3209];\nif(typeof(anf_fun5155.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5155);\n}\n$ans5117 = anf_fun5155.app(anf_arg5156);\nbreak;\ncase 12: anf_array5166[2] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3210],L[3211]);\nvar anf_fun5157 = $ans5117;\n$step5114 = 13;\n$al5118 = L[3220];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 13: var anf_arg5158 = $ans5117;\n$step5114 = 14;\n$al5118 = L[3211];\nif(typeof(anf_fun5157.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5157);\n}\n$ans5117 = anf_fun5157.app(anf_arg5158);\nbreak;\ncase 14: anf_array5166[3] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3212],L[3213]);\nvar anf_fun5159 = $ans5117;\n$step5114 = 15;\n$al5118 = L[3219];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(value25137);\nbreak;\ncase 15: var anf_arg5160 = $ans5117;\n$step5114 = 16;\n$al5118 = L[3213];\nif(typeof(anf_fun5159.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5159);\n}\n$ans5117 = anf_fun5159.app(anf_arg5160);\nbreak;\ncase 16: anf_array5166[4] = $ans5117;\n$ans5117 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3214],L[3215]);\nvar anf_fun5161 = $ans5117;\n$step5114 = 17;\n$al5118 = L[3218];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Use a larger tolerance, or \"));\nbreak;\ncase 17: var anf_arg5162 = $ans5117;\n$step5114 = 18;\n$al5118 = L[3217];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(R.makeNumberFromString(\"~0\"));\nbreak;\ncase 18: var anf_arg5163 = $ans5117;\n$step5114 = 19;\n$al5118 = L[3216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\" instead.\"));\nbreak;\ncase 19: var anf_arg5164 = $ans5117;\n$step5114 = 20;\n$al5118 = L[3215];\nif(typeof(anf_fun5161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5161);\n}\n$ans5117 = anf_fun5161.app(anf_arg5162,anf_arg5163,anf_arg5164);\nbreak;\ncase 20: anf_array5166[5] = $ans5117;\n$step5114 = 38;\n$al5118 = L[3203];\nif(typeof(anf_fun5165.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5165);\n}\n$ans5117 = anf_fun5165.app(anf_array5166);\nbreak;\ncase 21: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value15121);\nvar anf_if5171 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5171)?22:23;\nbreak;\ncase 22: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value25137);\nvar anf_arg5170 = $ans5117;\n$ans5117 = R.checkWrapBoolean(anf_arg5170);\n$step5114 = 24;\nbreak;\ncase 23: $step5114 = 24;\n$ans5117 = (false);\nbreak;\ncase 24: var anf_if5169 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5169)?25:26;\nbreak;\ncase 25: $step5114 = 38;\n$al5118 = L[3224];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare two Roughnums for equality, which is not allowed:\"));\nbreak;\ncase 26: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value15121);\nvar anf_if5168 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5168)?27:28;\nbreak;\ncase 27: $step5114 = 38;\n$al5118 = L[3225];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare a Roughnum to an Exactnum for equality, which is not allowed:\"));\nbreak;\ncase 28: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value25137);\nvar anf_if5167 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5167)?29:30;\nbreak;\ncase 29: $step5114 = 38;\n$al5118 = L[3226];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare an Exactnum to a Roughnum for equality, which is not allowed:\"));\nbreak;\ncase 30: $ans5117 = R.throwNoBranchesMatched(L[3227],(\"if\"));\n$step5114 = 38;\nbreak;\ncase 31: $ans5117 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3229],L[3230]);\nvar anf_fun5181 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3231],L[3232]);\nvar anf_fun5173 = $ans5117;\n$step5114 = 32;\n$al5118 = L[3241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Attempted to compare two incomparable values: \"));\nbreak;\ncase 32: var anf_arg5174 = $ans5117;\n$step5114 = 33;\n$al5118 = L[3232];\nif(typeof(anf_fun5173.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5173);\n}\n$ans5117 = anf_fun5173.app(anf_arg5174);\nbreak;\ncase 33: var anf_arg5182 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3233],L[3234]);\nvar anf_fun5176 = $ans5117;\n$al5118 = L[3235];\nvar anf_arg5175 = G(self5116,\"value1\",L[3235]);\n$step5114 = 34;\n$al5118 = L[3240];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(anf_arg5175);\nbreak;\ncase 34: var anf_arg5177 = $ans5117;\n$step5114 = 35;\n$al5118 = L[3234];\nif(typeof(anf_fun5176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5176);\n}\n$ans5117 = anf_fun5176.app(anf_arg5177);\nbreak;\ncase 35: var anf_arg5183 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3236],L[3237]);\nvar anf_fun5179 = $ans5117;\n$al5118 = L[3238];\nvar anf_arg5178 = G(self5116,\"value2\",L[3238]);\n$step5114 = 36;\n$al5118 = L[3239];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(anf_arg5178);\nbreak;\ncase 36: var anf_arg5180 = $ans5117;\n$step5114 = 37;\n$al5118 = L[3237];\nif(typeof(anf_fun5179.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5179);\n}\n$ans5117 = anf_fun5179.app(anf_arg5180);\nbreak;\ncase 37: var anf_arg5184 = $ans5117;\n$step5114 = 38;\n$al5118 = L[3230];\nif(typeof(anf_fun5181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5181);\n}\n$ans5117 = anf_fun5181.app(anf_arg5182,anf_arg5183,anf_arg5184);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans5117;\ndefault: R.ffi.throwSpinnakerError(L[3174],$step5114);\n}\n}\nif($step5114 !== 38) {\n$ans5117.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5118,$temp_full5115,$step5114,[self5116],[within$error5149,value15121,value25137,anf_fun5181,anf_fun5161,anf_fun5151,anf_fun5173,anf_fun5153,anf_fun5165,anf_fun5176,anf_fun5155,anf_fun5157,anf_fun5179,anf_arg5182,anf_fun5159,anf_arg5183,anf_arg5162,anf_array5166,anf_arg5163],$elidedFrames5120);\n}\nreturn $ans5117;\n};\nvar anf_variant_member6038 = R.makeMethod0($temp_full5115,\"render-reason\");\nvar $temp_full5190 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3242($self5191,$maybe$stack$loc5192,$src$available5193,$maybe$ast5194) {\nvar $step5189 = 0;\nvar $elidedFrames5198 = 0;\nvar $ans5195 = D;\nvar $al5196 = L[3242];\nif(R.isAR($self5191)) {\n$step5189 = $self5191.step;\n$al5196 = $self5191.from;\n$ans5195 = $self5191.ans;\n$elidedFrames5198 = $self5191.elidedFrames;\nself5191 = $self5191.args[0];\nmaybe$stack$loc5192 = $self5191.args[1];\nsrc$available5193 = $self5191.args[2];\nmaybe$ast5194 = $self5191.args[3];\nanf_arg5323 = $self5191.vars[0];\nanf_arg5324 = $self5191.vars[1];\nanf_arg5314 = $self5191.vars[2];\nanf_arg5315 = $self5191.vars[3];\nanf_arg5316 = $self5191.vars[4];\nanf_arg5317 = $self5191.vars[5];\ndestructured$pattern5274 = $self5191.vars[6];\ntable$text5307 = $self5191.vars[7];\nanf_method_obj5305 = $self5191.vars[8];\ncolumn$text5311 = $self5191.vars[9];\nanf_fun5322 = $self5191.vars[10];\nanf_fun5313 = $self5191.vars[11];\ndestructure$ast5250 = $self5191.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3242],4,$t,true);\n}\nvar self5191 = $self5191;\nvar maybe$stack$loc5192 = $maybe$stack$loc5192;\nvar src$available5193 = $src$available5193;\nvar maybe$ast5194 = $maybe$ast5194;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5195 = R.mC();\n}\nwhile(!R.isContinuation($ans5195)) {\nswitch($step5189) {\ncase 0: var destructure$ast5250 = {\"$var\":D};\nvar $temp_lam5200 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3243($ast5201) {\nvar $step5199 = 0;\nvar $elidedFrames5205 = 0;\nvar $ans5202 = D;\nvar $al5203 = L[3243];\nif(R.isAR($ast5201)) {\n$step5199 = $ast5201.step;\n$al5203 = $ast5201.from;\n$ans5202 = $ast5201.ans;\n$elidedFrames5205 = $ast5201.elidedFrames;\nast5201 = $ast5201.args[0];\ncases5206 = $ast5201.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3243],1,$t,false);\n}\nvar ast5201 = $ast5201;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5202 = R.mC();\n}\nwhile(!R.isContinuation($ans5202)) {\nswitch($step5199) {\ncase 0: var cases5206 = ast5201;\n$al5203 = L[3247];\n$step5199 = $cases_dispatch5247[cases5206.$name] || 7;\nbreak;\ncase 1: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3246],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3246],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5211 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5211[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5207 = R.dF(cases5206.dict[$fn5211[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5211[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3244];\nvar anf_bracket5208 = G(column$binds5207,\"table\",L[3244]);\n$al5203 = L[3245];\nvar anf_tuple_fields5209 = G(anf_bracket5208,\"l\",L[3245]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"extend\"),anf_tuple_fields5209]);\nbreak;\ncase 2: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3250],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3250],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5218 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5218[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5214 = R.dF(cases5206.dict[$fn5218[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5218[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3248];\nvar anf_bracket5215 = G(column$binds5214,\"table\",L[3248]);\n$al5203 = L[3249];\nvar anf_tuple_fields5216 = G(anf_bracket5215,\"l\",L[3249]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"update\"),anf_tuple_fields5216]);\nbreak;\ncase 3: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3252],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3252],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5224 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5224[0]],cases5206.$mut_fields_mask[0],false);\nR.dF(cases5206.dict[$fn5224[1]],cases5206.$mut_fields_mask[1],false);\nvar table5221 = R.dF(cases5206.dict[$fn5224[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3251];\nvar anf_tuple_fields5222 = G(table5221,\"l\",L[3251]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"select\"),anf_tuple_fields5222]);\nbreak;\ncase 4: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3254],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3254],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5230 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5230[0]],cases5206.$mut_fields_mask[0],false);\nvar table5227 = R.dF(cases5206.dict[$fn5230[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5230[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3253];\nvar anf_tuple_fields5228 = G(table5227,\"l\",L[3253]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"order\"),anf_tuple_fields5228]);\nbreak;\ncase 5: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3257],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3257],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5237 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5237[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5233 = R.dF(cases5206.dict[$fn5237[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5237[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3255];\nvar anf_bracket5234 = G(column$binds5233,\"table\",L[3255]);\n$al5203 = L[3256];\nvar anf_tuple_fields5235 = G(anf_bracket5234,\"l\",L[3256]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"sieve\"),anf_tuple_fields5235]);\nbreak;\ncase 6: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3259],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3259],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5243 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5243[0]],cases5206.$mut_fields_mask[0],false);\nR.dF(cases5206.dict[$fn5243[1]],cases5206.$mut_fields_mask[1],false);\nvar table5240 = R.dF(cases5206.dict[$fn5243[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3258];\nvar anf_tuple_fields5241 = G(table5240,\"l\",L[3258]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"extract\"),anf_tuple_fields5241]);\nbreak;\ncase 7: $al5203 = L[3260];\nvar anf_tuple_fields5246 = G(self5191,\"operation-loc\",L[3260]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"\"),anf_tuple_fields5246]);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans5202;\ndefault: R.ffi.throwSpinnakerError(L[3243],$step5199);\n}\n}\nif($step5199 !== 8) {\n$ans5202.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5203,$temp_lam5200,$step5199,[ast5201],[cases5206],$elidedFrames5205);\n}\nreturn $ans5202;\n};\nvar anf_assign5249 = R.mF($temp_lam5200,\"destructure-ast\");\ndestructure$ast5250.$var = anf_assign5249;\nR.nothing;\n$al5196 = L[3261];\nvar anf_arg5251 = G(self5191,\"operation-loc\",L[3261]);\n$step5189 = 1;\n$al5196 = L[3311];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,O8.dict.values.dict[\"some\"]);\n}\n$ans5195 = O8.dict.values.dict[\"some\"].app(anf_arg5251);\nbreak;\ncase 1: var arg_5252 = $ans5195;\n$step5189 = 2;\n$al5196 = L[3310];\n// omitting isFunction check;\n$ans5195 = and$if176.$var.app(src$available5193,arg_5252);\nbreak;\ncase 2: var arg_5253 = $ans5195;\n$step5189 = 3;\n$al5196 = L[3309];\n// omitting isFunction check;\n$ans5195 = and$maybe193.$var.app(maybe$ast5194,arg_5253);\nbreak;\ncase 3: var anf_method_obj5254 = $ans5195;\n$step5189 = 4;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5254,\"and-then\",L[3262],destructure$ast5250.$var);\nbreak;\ncase 4: var destructured$pattern5274 = $ans5195;\nvar $temp_lam5256 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3263($v5257) {\nvar $step5255 = 0;\nvar $elidedFrames5261 = 0;\nvar $ans5258 = D;\nvar $al5259 = L[3263];\nif(R.isAR($v5257)) {\n$step5255 = $v5257.step;\n$al5259 = $v5257.from;\n$ans5258 = $v5257.ans;\n$elidedFrames5261 = $v5257.elidedFrames;\nv5257 = $v5257.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3263],1,$t,false);\n}\nvar v5257 = $v5257;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5258 = R.mC();\n}\nwhile(!R.isContinuation($ans5258)) {\nswitch($step5255) {\ncase 0: $step5255 = 1;\nvar $temp_lam5263 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3264($arg_5264) {\nvar $step5262 = 0;\nvar $elidedFrames5268 = 0;\nvar $ans5265 = D;\nvar $al5266 = L[3264];\nif(R.isAR($arg_5264)) {\n$step5262 = $arg_5264.step;\n$al5266 = $arg_5264.from;\n$ans5265 = $arg_5264.ans;\n$elidedFrames5268 = $arg_5264.elidedFrames;\narg_5264 = $arg_5264.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3264],1,$t,false);\n}\nvar arg_5264 = $arg_5264;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5265 = R.mC();\n}\nwhile(!R.isContinuation($ans5265)) {\nswitch($step5262) {\ncase 0: $ans5265 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3265],L[3266]);\nvar anf_fun5269 = $ans5265;\nvar anf_arg5270 = R.getTuple(v5257,1,L[3267]);\n$step5262 = 1;\n$al5266 = L[3266];\nif(typeof(anf_fun5269.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5266,anf_fun5269);\n}\n$ans5265 = anf_fun5269.app(anf_arg5270);\nbreak;\ncase 1: var anf_arg5271 = $ans5265;\n$step5262 = 2;\n$al5266 = L[3264];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5266,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5265 = ED6.dict.values.dict[\"highlight\"].app(arg_5264,anf_arg5271,(0));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5265;\ndefault: R.ffi.throwSpinnakerError(L[3264],$step5262);\n}\n}\nif($step5262 !== 2) {\n$ans5265.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5266,$temp_lam5263,$step5262,[arg_5264],[],$elidedFrames5268);\n}\nreturn $ans5265;\n};\n$ans5258 = R.mF($temp_lam5263,\"\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5258;\ndefault: R.ffi.throwSpinnakerError(L[3263],$step5255);\n}\n}\nif($step5255 !== 1) {\n$ans5258.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5259,$temp_lam5256,$step5255,[v5257],[],$elidedFrames5261);\n}\nreturn $ans5258;\n};\nvar anf_arg5275 = R.mF($temp_lam5256,\"\");\n$step5189 = 5;\n$ans5195 = R.maybeMethodCall1(destructured$pattern5274,\"and-then\",L[3268],anf_arg5275);\nbreak;\ncase 5: var anf_method_obj5284 = $ans5195;\nvar $temp_lam5277 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3269($v5278) {\nvar $step5276 = 0;\nvar $elidedFrames5282 = 0;\nvar $ans5279 = D;\nvar $al5280 = L[3269];\nif(R.isAR($v5278)) {\n$step5276 = $v5278.step;\n$al5280 = $v5278.from;\n$ans5279 = $v5278.ans;\n$elidedFrames5282 = $v5278.elidedFrames;\nv5278 = $v5278.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3269],1,$t,false);\n}\nvar v5278 = $v5278;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5279 = R.mC();\n}\nwhile(!R.isContinuation($ans5279)) {\nswitch($step5276) {\ncase 0: $step5276 = 1;\n$ans5279 = v5278;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5279;\ndefault: R.ffi.throwSpinnakerError(L[3269],$step5276);\n}\n}\nif($step5276 !== 1) {\n$ans5279.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5280,$temp_lam5277,$step5276,[v5278],[],$elidedFrames5282);\n}\nreturn $ans5279;\n};\nvar anf_arg5285 = R.mF($temp_lam5277,\"\");\n$step5189 = 6;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5284,\"or-else\",L[3270],anf_arg5285);\nbreak;\ncase 6: var table$text5307 = $ans5195;\n$al5196 = L[3271];\nvar anf_arg5286 = G(self5191,\"column-loc\",L[3271]);\n$step5189 = 7;\n$al5196 = L[3308];\nif(typeof(src$available5193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,src$available5193);\n}\n$ans5195 = src$available5193.app(anf_arg5286);\nbreak;\ncase 7: var anf_if5345 = $ans5195;\n$step5189 = R.checkPyretTrue(anf_if5345)?8:9;\nbreak;\ncase 8: $step5189 = 10;\nvar $temp_lam5327 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3303($arg_5328) {\nvar $step5326 = 0;\nvar $elidedFrames5332 = 0;\nvar $ans5329 = D;\nvar $al5330 = L[3303];\nif(R.isAR($arg_5328)) {\n$step5326 = $arg_5328.step;\n$al5330 = $arg_5328.from;\n$ans5329 = $arg_5328.ans;\n$elidedFrames5332 = $arg_5328.elidedFrames;\narg_5328 = $arg_5328.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3303],1,$t,false);\n}\nvar arg_5328 = $arg_5328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5329 = R.mC();\n}\nwhile(!R.isContinuation($ans5329)) {\nswitch($step5326) {\ncase 0: $ans5329 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3304],L[3305]);\nvar anf_fun5333 = $ans5329;\n$al5330 = L[3306];\nvar anf_arg5334 = G(self5191,\"column-loc\",L[3306]);\n$step5326 = 1;\n$al5330 = L[3305];\nif(typeof(anf_fun5333.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5330,anf_fun5333);\n}\n$ans5329 = anf_fun5333.app(anf_arg5334);\nbreak;\ncase 1: var anf_arg5335 = $ans5329;\n$step5326 = 2;\n$al5330 = L[3303];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5330,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5329 = ED6.dict.values.dict[\"highlight\"].app(arg_5328,anf_arg5335,(1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5329;\ndefault: R.ffi.throwSpinnakerError(L[3303],$step5326);\n}\n}\nif($step5326 !== 2) {\n$ans5329.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5330,$temp_lam5327,$step5326,[arg_5328],[],$elidedFrames5332);\n}\nreturn $ans5329;\n};\n$ans5195 = R.mF($temp_lam5327,\"\");\nbreak;\ncase 9: $step5189 = 10;\nvar $temp_lam5338 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3307($v5339) {\nvar $step5337 = 0;\nvar $elidedFrames5343 = 0;\nvar $ans5340 = D;\nvar $al5341 = L[3307];\nif(R.isAR($v5339)) {\n$step5337 = $v5339.step;\n$al5341 = $v5339.from;\n$ans5340 = $v5339.ans;\n$elidedFrames5343 = $v5339.elidedFrames;\nv5339 = $v5339.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3307],1,$t,false);\n}\nvar v5339 = $v5339;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5340 = R.mC();\n}\nwhile(!R.isContinuation($ans5340)) {\nswitch($step5337) {\ncase 0: $step5337 = 1;\n$ans5340 = v5339;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5340;\ndefault: R.ffi.throwSpinnakerError(L[3307],$step5337);\n}\n}\nif($step5337 !== 1) {\n$ans5340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5341,$temp_lam5338,$step5337,[v5339],[],$elidedFrames5343);\n}\nreturn $ans5340;\n};\n$ans5195 = R.mF($temp_lam5338,\"\");\nbreak;\ncase 10: var column$text5311 = $ans5195;\n$ans5195 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3272],L[3273]);\nvar anf_fun5322 = $ans5195;\nvar $temp_lam5288 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3274($v5289) {\nvar $step5287 = 0;\nvar $elidedFrames5293 = 0;\nvar $ans5290 = D;\nvar $al5291 = L[3274];\nif(R.isAR($v5289)) {\n$step5287 = $v5289.step;\n$al5291 = $v5289.from;\n$ans5290 = $v5289.ans;\n$elidedFrames5293 = $v5289.elidedFrames;\nv5289 = $v5289.args[0];\nanf_fun5299 = $v5289.vars[0];\nanf_arg5300 = $v5289.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3274],1,$t,false);\n}\nvar v5289 = $v5289;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5290 = R.mC();\n}\nwhile(!R.isContinuation($ans5290)) {\nswitch($step5287) {\ncase 0: $ans5290 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3275],L[3276]);\nvar anf_fun5299 = $ans5290;\nvar anf_arg5294 = R.getTuple(v5289,0,L[3277]);\n$step5287 = 1;\n$al5291 = L[3283];\n// omitting isFunction check;\n$ans5290 = _plus5.app((\"table \"),anf_arg5294);\nbreak;\ncase 1: var anf_arg5295 = $ans5290;\n$step5287 = 2;\n$al5291 = L[3282];\n// omitting isFunction check;\n$ans5290 = _plus5.app(anf_arg5295,(\" expression\"));\nbreak;\ncase 2: var anf_arg5296 = $ans5290;\n$al5291 = L[3278];\nvar anf_arg5297 = G(self5191,\"operation-loc\",L[3278]);\n$step5287 = 3;\n$al5291 = L[3281];\n// omitting isFunction check;\n$ans5290 = ed$intro146.$var.app(anf_arg5296,anf_arg5297,(-1),(true));\nbreak;\ncase 3: var anf_arg5300 = $ans5290;\n$al5291 = L[3279];\nvar anf_arg5298 = G(self5191,\"operation-loc\",L[3279]);\n$step5287 = 4;\n$al5291 = L[3280];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5291,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5290 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg5298);\nbreak;\ncase 4: var anf_arg5301 = $ans5290;\n$step5287 = 5;\n$al5291 = L[3276];\nif(typeof(anf_fun5299.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5291,anf_fun5299);\n}\n$ans5290 = anf_fun5299.app(anf_arg5300,anf_arg5301);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans5290;\ndefault: R.ffi.throwSpinnakerError(L[3274],$step5287);\n}\n}\nif($step5287 !== 5) {\n$ans5290.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5291,$temp_lam5288,$step5287,[v5289],[anf_fun5299,anf_arg5300],$elidedFrames5293);\n}\nreturn $ans5290;\n};\nvar anf_arg5303 = R.mF($temp_lam5288,\"\");\n$step5189 = 11;\n$ans5195 = R.maybeMethodCall1(destructured$pattern5274,\"and-then\",L[3284],anf_arg5303);\nbreak;\ncase 11: var anf_method_obj5305 = $ans5195;\n$al5196 = L[3285];\nvar anf_arg5304 = G(self5191,\"operation-loc\",L[3285]);\n$step5189 = 12;\n$al5196 = L[3302];\n// omitting isFunction check;\n$ans5195 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5304);\nbreak;\ncase 12: var anf_arg5306 = $ans5195;\n$step5189 = 13;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5305,\"or-else\",L[3286],anf_arg5306);\nbreak;\ncase 13: var anf_arg5323 = $ans5195;\n$ans5195 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3287],L[3288]);\nvar anf_fun5313 = $ans5195;\n$step5189 = 14;\n$al5196 = L[3301];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg5314 = $ans5195;\n$step5189 = 15;\n$al5196 = L[3300];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 15: var anf_arg5308 = $ans5195;\n$step5189 = 16;\n$al5196 = L[3299];\nif(typeof(table$text5307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,table$text5307);\n}\n$ans5195 = table$text5307.app(anf_arg5308);\nbreak;\ncase 16: var anf_arg5315 = $ans5195;\n$step5189 = 17;\n$al5196 = L[3298];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\" did not have a column named \"));\nbreak;\ncase 17: var anf_arg5316 = $ans5195;\n$al5196 = L[3289];\nvar anf_arg5309 = G(self5191,\"column-name\",L[3289]);\n$step5189 = 18;\n$al5196 = L[3297];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app(anf_arg5309);\nbreak;\ncase 18: var anf_arg5310 = $ans5195;\n$step5189 = 19;\n$al5196 = L[3296];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"code\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"code\"].app(anf_arg5310);\nbreak;\ncase 19: var anf_arg5312 = $ans5195;\n$step5189 = 20;\n$al5196 = L[3295];\nif(typeof(column$text5311.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,column$text5311);\n}\n$ans5195 = column$text5311.app(anf_arg5312);\nbreak;\ncase 20: var anf_arg5317 = $ans5195;\n$step5189 = 21;\n$al5196 = L[3294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"; it only had columns named:\"));\nbreak;\ncase 21: var anf_arg5318 = $ans5195;\n$step5189 = 22;\n$al5196 = L[3288];\nif(typeof(anf_fun5313.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,anf_fun5313);\n}\n$ans5195 = anf_fun5313.app(anf_arg5314,anf_arg5315,anf_arg5316,anf_arg5317,anf_arg5318);\nbreak;\ncase 22: var anf_arg5324 = $ans5195;\n$al5196 = L[3290];\nvar anf_method_obj5319 = G(self5191,\"columns\",L[3290]);\n$step5189 = 23;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5319,\"map\",L[3291],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 23: var anf_method_obj5320 = $ans5195;\n$step5189 = 24;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5320,\"map\",L[3292],ED6.dict.values.dict[\"code\"]);\nbreak;\ncase 24: var anf_arg5321 = $ans5195;\n$step5189 = 25;\n$al5196 = L[3293];\nif(typeof(ED6.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"bulleted-sequence\"].app(anf_arg5321);\nbreak;\ncase 25: var anf_arg5325 = $ans5195;\n$step5189 = 26;\n$al5196 = L[3273];\nif(typeof(anf_fun5322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,anf_fun5322);\n}\n$ans5195 = anf_fun5322.app(anf_arg5323,anf_arg5324,anf_arg5325);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans5195;\ndefault: R.ffi.throwSpinnakerError(L[3242],$step5189);\n}\n}\nif($step5189 !== 26) {\n$ans5195.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5196,$temp_full5190,$step5189,[self5191,maybe$stack$loc5192,src$available5193,maybe$ast5194],[anf_arg5323,anf_arg5324,anf_arg5314,anf_arg5315,anf_arg5316,anf_arg5317,destructured$pattern5274,table$text5307,anf_method_obj5305,column$text5311,anf_fun5322,anf_fun5313,destructure$ast5250],$elidedFrames5198);\n}\nreturn $ans5195;\n};\nvar anf_variant_member6048 = R.makeMethod3($temp_full5190,\"render-fancy-reason\");\nvar $temp_full5348 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3312($self5349) {\nvar $step5347 = 0;\nvar $elidedFrames5353 = 0;\nvar $ans5350 = D;\nvar $al5351 = L[3312];\nif(R.isAR($self5349)) {\n$step5347 = $self5349.step;\n$al5351 = $self5349.from;\n$ans5350 = $self5349.ans;\n$elidedFrames5353 = $self5349.elidedFrames;\nself5349 = $self5349.args[0];\nanf_arg5365 = $self5349.vars[0];\nanf_arg5366 = $self5349.vars[1];\nanf_arg5358 = $self5349.vars[2];\nanf_arg5359 = $self5349.vars[3];\nanf_fun5364 = $self5349.vars[4];\nanf_fun5357 = $self5349.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3312],1,$t,true);\n}\nvar self5349 = $self5349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5350 = R.mC();\n}\nwhile(!R.isContinuation($ans5350)) {\nswitch($step5347) {\ncase 0: $ans5350 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3313],L[3314]);\nvar anf_fun5364 = $ans5350;\n$al5351 = L[3315];\nvar anf_arg5354 = G(self5349,\"operation-loc\",L[3315]);\n$step5347 = 1;\n$al5351 = L[3327];\n// omitting isFunction check;\n$ans5350 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5354);\nbreak;\ncase 1: var anf_arg5365 = $ans5350;\n$ans5350 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3316],L[3317]);\nvar anf_fun5357 = $ans5350;\n$step5347 = 2;\n$al5351 = L[3326];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app((\"The table did not have a column named \"));\nbreak;\ncase 2: var anf_arg5358 = $ans5350;\n$al5351 = L[3318];\nvar anf_arg5355 = G(self5349,\"column-name\",L[3318]);\n$step5347 = 3;\n$al5351 = L[3325];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app(anf_arg5355);\nbreak;\ncase 3: var anf_arg5356 = $ans5350;\n$step5347 = 4;\n$al5351 = L[3324];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"code\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"code\"].app(anf_arg5356);\nbreak;\ncase 4: var anf_arg5359 = $ans5350;\n$step5347 = 5;\n$al5351 = L[3323];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app((\"; it only had columns named:\"));\nbreak;\ncase 5: var anf_arg5360 = $ans5350;\n$step5347 = 6;\n$al5351 = L[3317];\nif(typeof(anf_fun5357.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,anf_fun5357);\n}\n$ans5350 = anf_fun5357.app(anf_arg5358,anf_arg5359,anf_arg5360);\nbreak;\ncase 6: var anf_arg5366 = $ans5350;\n$al5351 = L[3319];\nvar anf_method_obj5361 = G(self5349,\"columns\",L[3319]);\n$step5347 = 7;\n$ans5350 = R.maybeMethodCall1(anf_method_obj5361,\"map\",L[3320],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 7: var anf_method_obj5362 = $ans5350;\n$step5347 = 8;\n$ans5350 = R.maybeMethodCall1(anf_method_obj5362,\"map\",L[3321],ED6.dict.values.dict[\"code\"]);\nbreak;\ncase 8: var anf_arg5363 = $ans5350;\n$step5347 = 9;\n$al5351 = L[3322];\nif(typeof(ED6.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"bulleted-sequence\"].app(anf_arg5363);\nbreak;\ncase 9: var anf_arg5367 = $ans5350;\n$step5347 = 10;\n$al5351 = L[3314];\nif(typeof(anf_fun5364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,anf_fun5364);\n}\n$ans5350 = anf_fun5364.app(anf_arg5365,anf_arg5366,anf_arg5367);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans5350;\ndefault: R.ffi.throwSpinnakerError(L[3312],$step5347);\n}\n}\nif($step5347 !== 10) {\n$ans5350.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5351,$temp_full5348,$step5347,[self5349],[anf_arg5365,anf_arg5366,anf_arg5358,anf_arg5359,anf_fun5364,anf_fun5357],$elidedFrames5353);\n}\nreturn $ans5350;\n};\nvar anf_variant_member6049 = R.makeMethod0($temp_full5348,\"render-reason\");\nvar $temp_full5370 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3328($self5371,$maybe$stack$loc5372,$src$available5373,$maybe$ast5374) {\nvar $step5369 = 0;\nvar $elidedFrames5378 = 0;\nvar $ans5375 = D;\nvar $al5376 = L[3328];\nif(R.isAR($self5371)) {\n$step5369 = $self5371.step;\n$al5376 = $self5371.from;\n$ans5375 = $self5371.ans;\n$elidedFrames5378 = $self5371.elidedFrames;\nself5371 = $self5371.args[0];\nmaybe$stack$loc5372 = $self5371.args[1];\nsrc$available5373 = $self5371.args[2];\nmaybe$ast5374 = $self5371.args[3];\nanf_arg5495 = $self5371.vars[0];\ndestructure$ast5430 = $self5371.vars[1];\nanf_arg5496 = $self5371.vars[2];\nanf_arg5497 = $self5371.vars[3];\nanf_arg5500 = $self5371.vars[4];\ntable$text5487 = $self5371.vars[5];\nanf_method_obj5485 = $self5371.vars[6];\ncolumn$text5491 = $self5371.vars[7];\ndestructured$pattern5454 = $self5371.vars[8];\nanf_fun5493 = $self5371.vars[9];\nanf_fun5499 = $self5371.vars[10];\nanf_arg5494 = $self5371.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3328],4,$t,true);\n}\nvar self5371 = $self5371;\nvar maybe$stack$loc5372 = $maybe$stack$loc5372;\nvar src$available5373 = $src$available5373;\nvar maybe$ast5374 = $maybe$ast5374;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5375 = R.mC();\n}\nwhile(!R.isContinuation($ans5375)) {\nswitch($step5369) {\ncase 0: var destructure$ast5430 = {\"$var\":D};\nvar $temp_lam5380 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3329($ast5381) {\nvar $step5379 = 0;\nvar $elidedFrames5385 = 0;\nvar $ans5382 = D;\nvar $al5383 = L[3329];\nif(R.isAR($ast5381)) {\n$step5379 = $ast5381.step;\n$al5383 = $ast5381.from;\n$ans5382 = $ast5381.ans;\n$elidedFrames5385 = $ast5381.elidedFrames;\nast5381 = $ast5381.args[0];\ncases5386 = $ast5381.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3329],1,$t,false);\n}\nvar ast5381 = $ast5381;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5382 = R.mC();\n}\nwhile(!R.isContinuation($ans5382)) {\nswitch($step5379) {\ncase 0: var cases5386 = ast5381;\n$al5383 = L[3333];\n$step5379 = $cases_dispatch5427[cases5386.$name] || 7;\nbreak;\ncase 1: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3332],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3332],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5391 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5391[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5387 = R.dF(cases5386.dict[$fn5391[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5391[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3330];\nvar anf_bracket5388 = G(column$binds5387,\"table\",L[3330]);\n$al5383 = L[3331];\nvar anf_tuple_fields5389 = G(anf_bracket5388,\"l\",L[3331]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"extend\"),anf_tuple_fields5389]);\nbreak;\ncase 2: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3336],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3336],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5398 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5398[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5394 = R.dF(cases5386.dict[$fn5398[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5398[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3334];\nvar anf_bracket5395 = G(column$binds5394,\"table\",L[3334]);\n$al5383 = L[3335];\nvar anf_tuple_fields5396 = G(anf_bracket5395,\"l\",L[3335]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"update\"),anf_tuple_fields5396]);\nbreak;\ncase 3: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3338],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3338],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5404 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5404[0]],cases5386.$mut_fields_mask[0],false);\nR.dF(cases5386.dict[$fn5404[1]],cases5386.$mut_fields_mask[1],false);\nvar table5401 = R.dF(cases5386.dict[$fn5404[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3337];\nvar anf_tuple_fields5402 = G(table5401,\"l\",L[3337]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"select\"),anf_tuple_fields5402]);\nbreak;\ncase 4: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3340],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3340],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5410 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5410[0]],cases5386.$mut_fields_mask[0],false);\nvar table5407 = R.dF(cases5386.dict[$fn5410[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5410[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3339];\nvar anf_tuple_fields5408 = G(table5407,\"l\",L[3339]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"order\"),anf_tuple_fields5408]);\nbreak;\ncase 5: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3343],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3343],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5417 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5417[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5413 = R.dF(cases5386.dict[$fn5417[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5417[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3341];\nvar anf_bracket5414 = G(column$binds5413,\"table\",L[3341]);\n$al5383 = L[3342];\nvar anf_tuple_fields5415 = G(anf_bracket5414,\"l\",L[3342]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"sieve\"),anf_tuple_fields5415]);\nbreak;\ncase 6: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3345],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3345],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5423 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5423[0]],cases5386.$mut_fields_mask[0],false);\nR.dF(cases5386.dict[$fn5423[1]],cases5386.$mut_fields_mask[1],false);\nvar table5420 = R.dF(cases5386.dict[$fn5423[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3344];\nvar anf_tuple_fields5421 = G(table5420,\"l\",L[3344]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"extract\"),anf_tuple_fields5421]);\nbreak;\ncase 7: $al5383 = L[3346];\nvar anf_tuple_fields5426 = G(self5371,\"operation-loc\",L[3346]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"operation\"),anf_tuple_fields5426]);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans5382;\ndefault: R.ffi.throwSpinnakerError(L[3329],$step5379);\n}\n}\nif($step5379 !== 8) {\n$ans5382.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5383,$temp_lam5380,$step5379,[ast5381],[cases5386],$elidedFrames5385);\n}\nreturn $ans5382;\n};\nvar anf_assign5429 = R.mF($temp_lam5380,\"destructure-ast\");\ndestructure$ast5430.$var = anf_assign5429;\nR.nothing;\n$al5376 = L[3347];\nvar anf_arg5431 = G(self5371,\"operation-loc\",L[3347]);\n$step5369 = 1;\n$al5376 = L[3393];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,O8.dict.values.dict[\"some\"]);\n}\n$ans5375 = O8.dict.values.dict[\"some\"].app(anf_arg5431);\nbreak;\ncase 1: var arg_5432 = $ans5375;\n$step5369 = 2;\n$al5376 = L[3392];\n// omitting isFunction check;\n$ans5375 = and$if176.$var.app(src$available5373,arg_5432);\nbreak;\ncase 2: var arg_5433 = $ans5375;\n$step5369 = 3;\n$al5376 = L[3391];\n// omitting isFunction check;\n$ans5375 = and$maybe193.$var.app(maybe$ast5374,arg_5433);\nbreak;\ncase 3: var anf_method_obj5434 = $ans5375;\n$step5369 = 4;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5434,\"and-then\",L[3348],destructure$ast5430.$var);\nbreak;\ncase 4: var destructured$pattern5454 = $ans5375;\nvar $temp_lam5436 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3349($v5437) {\nvar $step5435 = 0;\nvar $elidedFrames5441 = 0;\nvar $ans5438 = D;\nvar $al5439 = L[3349];\nif(R.isAR($v5437)) {\n$step5435 = $v5437.step;\n$al5439 = $v5437.from;\n$ans5438 = $v5437.ans;\n$elidedFrames5441 = $v5437.elidedFrames;\nv5437 = $v5437.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3349],1,$t,false);\n}\nvar v5437 = $v5437;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5438 = R.mC();\n}\nwhile(!R.isContinuation($ans5438)) {\nswitch($step5435) {\ncase 0: $step5435 = 1;\nvar $temp_lam5443 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3350($arg_5444) {\nvar $step5442 = 0;\nvar $elidedFrames5448 = 0;\nvar $ans5445 = D;\nvar $al5446 = L[3350];\nif(R.isAR($arg_5444)) {\n$step5442 = $arg_5444.step;\n$al5446 = $arg_5444.from;\n$ans5445 = $arg_5444.ans;\n$elidedFrames5448 = $arg_5444.elidedFrames;\narg_5444 = $arg_5444.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3350],1,$t,false);\n}\nvar arg_5444 = $arg_5444;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5445 = R.mC();\n}\nwhile(!R.isContinuation($ans5445)) {\nswitch($step5442) {\ncase 0: $ans5445 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3351],L[3352]);\nvar anf_fun5449 = $ans5445;\nvar anf_arg5450 = R.getTuple(v5437,1,L[3353]);\n$step5442 = 1;\n$al5446 = L[3352];\nif(typeof(anf_fun5449.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5446,anf_fun5449);\n}\n$ans5445 = anf_fun5449.app(anf_arg5450);\nbreak;\ncase 1: var anf_arg5451 = $ans5445;\n$step5442 = 2;\n$al5446 = L[3350];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5446,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5445 = ED6.dict.values.dict[\"highlight\"].app(arg_5444,anf_arg5451,(0));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5445;\ndefault: R.ffi.throwSpinnakerError(L[3350],$step5442);\n}\n}\nif($step5442 !== 2) {\n$ans5445.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5446,$temp_lam5443,$step5442,[arg_5444],[],$elidedFrames5448);\n}\nreturn $ans5445;\n};\n$ans5438 = R.mF($temp_lam5443,\"\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5438;\ndefault: R.ffi.throwSpinnakerError(L[3349],$step5435);\n}\n}\nif($step5435 !== 1) {\n$ans5438.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5439,$temp_lam5436,$step5435,[v5437],[],$elidedFrames5441);\n}\nreturn $ans5438;\n};\nvar anf_arg5455 = R.mF($temp_lam5436,\"\");\n$step5369 = 5;\n$ans5375 = R.maybeMethodCall1(destructured$pattern5454,\"and-then\",L[3354],anf_arg5455);\nbreak;\ncase 5: var anf_method_obj5464 = $ans5375;\nvar $temp_lam5457 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3355($v5458) {\nvar $step5456 = 0;\nvar $elidedFrames5462 = 0;\nvar $ans5459 = D;\nvar $al5460 = L[3355];\nif(R.isAR($v5458)) {\n$step5456 = $v5458.step;\n$al5460 = $v5458.from;\n$ans5459 = $v5458.ans;\n$elidedFrames5462 = $v5458.elidedFrames;\nv5458 = $v5458.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3355],1,$t,false);\n}\nvar v5458 = $v5458;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5459 = R.mC();\n}\nwhile(!R.isContinuation($ans5459)) {\nswitch($step5456) {\ncase 0: $step5456 = 1;\n$ans5459 = v5458;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5459;\ndefault: R.ffi.throwSpinnakerError(L[3355],$step5456);\n}\n}\nif($step5456 !== 1) {\n$ans5459.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5460,$temp_lam5457,$step5456,[v5458],[],$elidedFrames5462);\n}\nreturn $ans5459;\n};\nvar anf_arg5465 = R.mF($temp_lam5457,\"\");\n$step5369 = 6;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5464,\"or-else\",L[3356],anf_arg5465);\nbreak;\ncase 6: var table$text5487 = $ans5375;\n$al5376 = L[3357];\nvar anf_arg5466 = G(self5371,\"column-loc\",L[3357]);\n$step5369 = 7;\n$al5376 = L[3390];\nif(typeof(src$available5373.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,src$available5373);\n}\n$ans5375 = src$available5373.app(anf_arg5466);\nbreak;\ncase 7: var anf_if5521 = $ans5375;\n$step5369 = R.checkPyretTrue(anf_if5521)?8:9;\nbreak;\ncase 8: $step5369 = 10;\nvar $temp_lam5503 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3385($arg_5504) {\nvar $step5502 = 0;\nvar $elidedFrames5508 = 0;\nvar $ans5505 = D;\nvar $al5506 = L[3385];\nif(R.isAR($arg_5504)) {\n$step5502 = $arg_5504.step;\n$al5506 = $arg_5504.from;\n$ans5505 = $arg_5504.ans;\n$elidedFrames5508 = $arg_5504.elidedFrames;\narg_5504 = $arg_5504.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3385],1,$t,false);\n}\nvar arg_5504 = $arg_5504;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5505 = R.mC();\n}\nwhile(!R.isContinuation($ans5505)) {\nswitch($step5502) {\ncase 0: $ans5505 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3386],L[3387]);\nvar anf_fun5509 = $ans5505;\n$al5506 = L[3388];\nvar anf_arg5510 = G(self5371,\"column-loc\",L[3388]);\n$step5502 = 1;\n$al5506 = L[3387];\nif(typeof(anf_fun5509.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5506,anf_fun5509);\n}\n$ans5505 = anf_fun5509.app(anf_arg5510);\nbreak;\ncase 1: var anf_arg5511 = $ans5505;\n$step5502 = 2;\n$al5506 = L[3385];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5506,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5505 = ED6.dict.values.dict[\"highlight\"].app(arg_5504,anf_arg5511,(1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5505;\ndefault: R.ffi.throwSpinnakerError(L[3385],$step5502);\n}\n}\nif($step5502 !== 2) {\n$ans5505.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5506,$temp_lam5503,$step5502,[arg_5504],[],$elidedFrames5508);\n}\nreturn $ans5505;\n};\n$ans5375 = R.mF($temp_lam5503,\"\");\nbreak;\ncase 9: $step5369 = 10;\nvar $temp_lam5514 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3389($v5515) {\nvar $step5513 = 0;\nvar $elidedFrames5519 = 0;\nvar $ans5516 = D;\nvar $al5517 = L[3389];\nif(R.isAR($v5515)) {\n$step5513 = $v5515.step;\n$al5517 = $v5515.from;\n$ans5516 = $v5515.ans;\n$elidedFrames5519 = $v5515.elidedFrames;\nv5515 = $v5515.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3389],1,$t,false);\n}\nvar v5515 = $v5515;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5516 = R.mC();\n}\nwhile(!R.isContinuation($ans5516)) {\nswitch($step5513) {\ncase 0: $step5513 = 1;\n$ans5516 = v5515;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5516;\ndefault: R.ffi.throwSpinnakerError(L[3389],$step5513);\n}\n}\nif($step5513 !== 1) {\n$ans5516.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5517,$temp_lam5514,$step5513,[v5515],[],$elidedFrames5519);\n}\nreturn $ans5516;\n};\n$ans5375 = R.mF($temp_lam5514,\"\");\nbreak;\ncase 10: var column$text5491 = $ans5375;\n$ans5375 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3358],L[3359]);\nvar anf_fun5499 = $ans5375;\nvar $temp_lam5468 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3360($v5469) {\nvar $step5467 = 0;\nvar $elidedFrames5473 = 0;\nvar $ans5470 = D;\nvar $al5471 = L[3360];\nif(R.isAR($v5469)) {\n$step5467 = $v5469.step;\n$al5471 = $v5469.from;\n$ans5470 = $v5469.ans;\n$elidedFrames5473 = $v5469.elidedFrames;\nv5469 = $v5469.args[0];\nanf_fun5479 = $v5469.vars[0];\nanf_arg5480 = $v5469.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3360],1,$t,false);\n}\nvar v5469 = $v5469;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5470 = R.mC();\n}\nwhile(!R.isContinuation($ans5470)) {\nswitch($step5467) {\ncase 0: $ans5470 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3361],L[3362]);\nvar anf_fun5479 = $ans5470;\nvar anf_arg5474 = R.getTuple(v5469,0,L[3363]);\n$step5467 = 1;\n$al5471 = L[3369];\n// omitting isFunction check;\n$ans5470 = _plus5.app((\"table \"),anf_arg5474);\nbreak;\ncase 1: var anf_arg5475 = $ans5470;\n$step5467 = 2;\n$al5471 = L[3368];\n// omitting isFunction check;\n$ans5470 = _plus5.app(anf_arg5475,(\" expression\"));\nbreak;\ncase 2: var anf_arg5476 = $ans5470;\n$al5471 = L[3364];\nvar anf_arg5477 = G(self5371,\"operation-loc\",L[3364]);\n$step5467 = 3;\n$al5471 = L[3367];\n// omitting isFunction check;\n$ans5470 = ed$intro146.$var.app(anf_arg5476,anf_arg5477,(-1),(true));\nbreak;\ncase 3: var anf_arg5480 = $ans5470;\n$al5471 = L[3365];\nvar anf_arg5478 = G(self5371,\"operation-loc\",L[3365]);\n$step5467 = 4;\n$al5471 = L[3366];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5471,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5470 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg5478);\nbreak;\ncase 4: var anf_arg5481 = $ans5470;\n$step5467 = 5;\n$al5471 = L[3362];\nif(typeof(anf_fun5479.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5471,anf_fun5479);\n}\n$ans5470 = anf_fun5479.app(anf_arg5480,anf_arg5481);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans5470;\ndefault: R.ffi.throwSpinnakerError(L[3360],$step5467);\n}\n}\nif($step5467 !== 5) {\n$ans5470.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5471,$temp_lam5468,$step5467,[v5469],[anf_fun5479,anf_arg5480],$elidedFrames5473);\n}\nreturn $ans5470;\n};\nvar anf_arg5483 = R.mF($temp_lam5468,\"\");\n$step5369 = 11;\n$ans5375 = R.maybeMethodCall1(destructured$pattern5454,\"and-then\",L[3370],anf_arg5483);\nbreak;\ncase 11: var anf_method_obj5485 = $ans5375;\n$al5376 = L[3371];\nvar anf_arg5484 = G(self5371,\"operation-loc\",L[3371]);\n$step5369 = 12;\n$al5376 = L[3384];\n// omitting isFunction check;\n$ans5375 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5484);\nbreak;\ncase 12: var anf_arg5486 = $ans5375;\n$step5369 = 13;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5485,\"or-else\",L[3372],anf_arg5486);\nbreak;\ncase 13: var anf_arg5500 = $ans5375;\n$ans5375 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3373],L[3374]);\nvar anf_fun5493 = $ans5375;\n$step5369 = 14;\n$al5376 = L[3383];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg5494 = $ans5375;\n$step5369 = 15;\n$al5376 = L[3382];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 15: var anf_arg5488 = $ans5375;\n$step5369 = 16;\n$al5376 = L[3381];\nif(typeof(table$text5487.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,table$text5487);\n}\n$ans5375 = table$text5487.app(anf_arg5488);\nbreak;\ncase 16: var anf_arg5495 = $ans5375;\n$step5369 = 17;\n$al5376 = L[3380];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\" already has a column named \"));\nbreak;\ncase 17: var anf_arg5496 = $ans5375;\n$al5376 = L[3375];\nvar anf_arg5489 = G(self5371,\"column-name\",L[3375]);\n$step5369 = 18;\n$al5376 = L[3379];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app(anf_arg5489);\nbreak;\ncase 18: var anf_arg5490 = $ans5375;\n$step5369 = 19;\n$al5376 = L[3378];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"code\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"code\"].app(anf_arg5490);\nbreak;\ncase 19: var anf_arg5492 = $ans5375;\n$step5369 = 20;\n$al5376 = L[3377];\nif(typeof(column$text5491.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,column$text5491);\n}\n$ans5375 = column$text5491.app(anf_arg5492);\nbreak;\ncase 20: var anf_arg5497 = $ans5375;\n$step5369 = 21;\n$al5376 = L[3376];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 21: var anf_arg5498 = $ans5375;\n$step5369 = 22;\n$al5376 = L[3374];\nif(typeof(anf_fun5493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,anf_fun5493);\n}\n$ans5375 = anf_fun5493.app(anf_arg5494,anf_arg5495,anf_arg5496,anf_arg5497,anf_arg5498);\nbreak;\ncase 22: var anf_arg5501 = $ans5375;\n$step5369 = 23;\n$al5376 = L[3359];\nif(typeof(anf_fun5499.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,anf_fun5499);\n}\n$ans5375 = anf_fun5499.app(anf_arg5500,anf_arg5501);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans5375;\ndefault: R.ffi.throwSpinnakerError(L[3328],$step5369);\n}\n}\nif($step5369 !== 23) {\n$ans5375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5376,$temp_full5370,$step5369,[self5371,maybe$stack$loc5372,src$available5373,maybe$ast5374],[anf_arg5495,destructure$ast5430,anf_arg5496,anf_arg5497,anf_arg5500,table$text5487,anf_method_obj5485,column$text5491,destructured$pattern5454,anf_fun5493,anf_fun5499,anf_arg5494],$elidedFrames5378);\n}\nreturn $ans5375;\n};\nvar anf_variant_member6060 = R.makeMethod3($temp_full5370,\"render-fancy-reason\");\nvar $temp_full5524 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3394($self5525) {\nvar $step5523 = 0;\nvar $elidedFrames5529 = 0;\nvar $ans5526 = D;\nvar $al5527 = L[3394];\nif(R.isAR($self5525)) {\n$step5523 = $self5525.step;\n$al5527 = $self5525.from;\n$ans5526 = $self5525.ans;\n$elidedFrames5529 = $self5525.elidedFrames;\nself5525 = $self5525.args[0];\nanf_fun5537 = $self5525.vars[0];\nanf_arg5534 = $self5525.vars[1];\nanf_arg5535 = $self5525.vars[2];\nanf_arg5538 = $self5525.vars[3];\nanf_fun5533 = $self5525.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3394],1,$t,true);\n}\nvar self5525 = $self5525;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5526 = R.mC();\n}\nwhile(!R.isContinuation($ans5526)) {\nswitch($step5523) {\ncase 0: $ans5526 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3395],L[3396]);\nvar anf_fun5537 = $ans5526;\n$al5527 = L[3397];\nvar anf_arg5530 = G(self5525,\"operation-loc\",L[3397]);\n$step5523 = 1;\n$al5527 = L[3405];\n// omitting isFunction check;\n$ans5526 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5530);\nbreak;\ncase 1: var anf_arg5538 = $ans5526;\n$ans5526 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3398],L[3399]);\nvar anf_fun5533 = $ans5526;\n$step5523 = 2;\n$al5527 = L[3404];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app((\"The table already has a column named \"));\nbreak;\ncase 2: var anf_arg5534 = $ans5526;\n$al5527 = L[3400];\nvar anf_arg5531 = G(self5525,\"column-name\",L[3400]);\n$step5523 = 3;\n$al5527 = L[3403];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app(anf_arg5531);\nbreak;\ncase 3: var anf_arg5532 = $ans5526;\n$step5523 = 4;\n$al5527 = L[3402];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"code\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"code\"].app(anf_arg5532);\nbreak;\ncase 4: var anf_arg5535 = $ans5526;\n$step5523 = 5;\n$al5527 = L[3401];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg5536 = $ans5526;\n$step5523 = 6;\n$al5527 = L[3399];\nif(typeof(anf_fun5533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,anf_fun5533);\n}\n$ans5526 = anf_fun5533.app(anf_arg5534,anf_arg5535,anf_arg5536);\nbreak;\ncase 6: var anf_arg5539 = $ans5526;\n$step5523 = 7;\n$al5527 = L[3396];\nif(typeof(anf_fun5537.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,anf_fun5537);\n}\n$ans5526 = anf_fun5537.app(anf_arg5538,anf_arg5539);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans5526;\ndefault: R.ffi.throwSpinnakerError(L[3394],$step5523);\n}\n}\nif($step5523 !== 7) {\n$ans5526.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5527,$temp_full5524,$step5523,[self5525],[anf_fun5537,anf_arg5534,anf_arg5535,anf_arg5538,anf_fun5533],$elidedFrames5529);\n}\nreturn $ans5526;\n};\nvar anf_variant_member6061 = R.makeMethod0($temp_full5524,\"render-reason\");\nvar $temp_full5542 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3406($self5543,$maybe$stack$loc5544,$src$available5545,$maybe$ast5546) {\nvar $step5541 = 0;\nvar $elidedFrames5550 = 0;\nvar $ans5547 = D;\nvar $al5548 = L[3406];\nif(R.isAR($self5543)) {\n$step5541 = $self5543.step;\n$al5548 = $self5543.from;\n$ans5547 = $self5543.ans;\n$elidedFrames5550 = $self5543.elidedFrames;\nself5543 = $self5543.args[0];\nmaybe$stack$loc5544 = $self5543.args[1];\nsrc$available5545 = $self5543.args[2];\nmaybe$ast5546 = $self5543.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3406],4,$t,true);\n}\nvar self5543 = $self5543;\nvar maybe$stack$loc5544 = $maybe$stack$loc5544;\nvar src$available5545 = $src$available5545;\nvar maybe$ast5546 = $maybe$ast5546;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5547 = R.mC();\n}\nwhile(!R.isContinuation($ans5547)) {\nswitch($step5541) {\ncase 0: $step5541 = 1;\n$ans5547 = R.maybeMethodCall0(self5543,\"render-reason\",L[3407]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5547;\ndefault: R.ffi.throwSpinnakerError(L[3406],$step5541);\n}\n}\nif($step5541 !== 1) {\n$ans5547.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5548,$temp_full5542,$step5541,[self5543,maybe$stack$loc5544,src$available5545,maybe$ast5546],[],$elidedFrames5550);\n}\nreturn $ans5547;\n};\nvar anf_singleton_variant_member6071 = R.makeMethod3($temp_full5542,\"render-fancy-reason\");\nvar $temp_full5553 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3408($self5554) {\nvar $step5552 = 0;\nvar $elidedFrames5558 = 0;\nvar $ans5555 = D;\nvar $al5556 = L[3408];\nif(R.isAR($self5554)) {\n$step5552 = $self5554.step;\n$al5556 = $self5554.from;\n$ans5555 = $self5554.ans;\n$elidedFrames5558 = $self5554.elidedFrames;\nself5554 = $self5554.args[0];\nanf_fun5559 = $self5554.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3408],1,$t,true);\n}\nvar self5554 = $self5554;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5555 = R.mC();\n}\nwhile(!R.isContinuation($ans5555)) {\nswitch($step5552) {\ncase 0: $ans5555 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3409],L[3410]);\nvar anf_fun5559 = $ans5555;\n$step5552 = 1;\n$al5556 = L[3411];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5556,ED6.dict.values.dict[\"text\"]);\n}\n$ans5555 = ED6.dict.values.dict[\"text\"].app((\"Program stopped by user\"));\nbreak;\ncase 1: var anf_arg5560 = $ans5555;\n$step5552 = 2;\n$al5556 = L[3410];\nif(typeof(anf_fun5559.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5556,anf_fun5559);\n}\n$ans5555 = anf_fun5559.app(anf_arg5560);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5555;\ndefault: R.ffi.throwSpinnakerError(L[3408],$step5552);\n}\n}\nif($step5552 !== 2) {\n$ans5555.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5556,$temp_full5553,$step5552,[self5554],[anf_fun5559],$elidedFrames5558);\n}\nreturn $ans5555;\n};\nvar anf_singleton_variant_member6072 = R.makeMethod0($temp_full5553,\"render-reason\");\nvar $temp_full5563 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3412($self5564,$maybe$stack$loc5565,$src$available5566,$maybe$ast5567) {\nvar $step5562 = 0;\nvar $elidedFrames5571 = 0;\nvar $ans5568 = D;\nvar $al5569 = L[3412];\nif(R.isAR($self5564)) {\n$step5562 = $self5564.step;\n$al5569 = $self5564.from;\n$ans5568 = $self5564.ans;\n$elidedFrames5571 = $self5564.elidedFrames;\nself5564 = $self5564.args[0];\nmaybe$stack$loc5565 = $self5564.args[1];\nsrc$available5566 = $self5564.args[2];\nmaybe$ast5567 = $self5564.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3412],4,$t,true);\n}\nvar self5564 = $self5564;\nvar maybe$stack$loc5565 = $maybe$stack$loc5565;\nvar src$available5566 = $src$available5566;\nvar maybe$ast5567 = $maybe$ast5567;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5568 = R.mC();\n}\nwhile(!R.isContinuation($ans5568)) {\nswitch($step5562) {\ncase 0: $step5562 = 1;\n$ans5568 = R.maybeMethodCall0(self5564,\"render-reason\",L[3413]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5568;\ndefault: R.ffi.throwSpinnakerError(L[3412],$step5562);\n}\n}\nif($step5562 !== 1) {\n$ans5568.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5569,$temp_full5563,$step5562,[self5564,maybe$stack$loc5565,src$available5566,maybe$ast5567],[],$elidedFrames5571);\n}\nreturn $ans5568;\n};\nvar anf_variant_member6078 = R.makeMethod3($temp_full5563,\"render-fancy-reason\");\nvar $temp_full5574 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3414($self5575) {\nvar $step5573 = 0;\nvar $elidedFrames5579 = 0;\nvar $ans5576 = D;\nvar $al5577 = L[3414];\nif(R.isAR($self5575)) {\n$step5573 = $self5575.step;\n$al5577 = $self5575.from;\n$ans5576 = $self5575.ans;\n$elidedFrames5579 = $self5575.elidedFrames;\nself5575 = $self5575.args[0];\nanf_fun5583 = $self5575.vars[0];\nanf_fun5581 = $self5575.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3414],1,$t,true);\n}\nvar self5575 = $self5575;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5576 = R.mC();\n}\nwhile(!R.isContinuation($ans5576)) {\nswitch($step5573) {\ncase 0: $ans5576 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3415],L[3416]);\nvar anf_fun5583 = $ans5576;\n$ans5576 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3417],L[3418]);\nvar anf_fun5581 = $ans5576;\n$al5577 = L[3419];\nvar anf_arg5580 = G(self5575,\"value\",L[3419]);\n$step5573 = 1;\n$al5577 = L[3420];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5576 = ED6.dict.values.dict[\"embed\"].app(anf_arg5580);\nbreak;\ncase 1: var anf_arg5582 = $ans5576;\n$step5573 = 2;\n$al5577 = L[3418];\nif(typeof(anf_fun5581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,anf_fun5581);\n}\n$ans5576 = anf_fun5581.app(anf_arg5582);\nbreak;\ncase 2: var anf_arg5584 = $ans5576;\n$step5573 = 3;\n$al5577 = L[3416];\nif(typeof(anf_fun5583.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,anf_fun5583);\n}\n$ans5576 = anf_fun5583.app(anf_arg5584);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans5576;\ndefault: R.ffi.throwSpinnakerError(L[3414],$step5573);\n}\n}\nif($step5573 !== 3) {\n$ans5576.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5577,$temp_full5574,$step5573,[self5575],[anf_fun5583,anf_fun5581],$elidedFrames5579);\n}\nreturn $ans5576;\n};\nvar anf_variant_member6079 = R.makeMethod0($temp_full5574,\"render-reason\");\nvar $temp_full5587 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3421($self5588) {\nvar $step5586 = 0;\nvar $elidedFrames5592 = 0;\nvar $ans5589 = D;\nvar $al5590 = L[3421];\nif(R.isAR($self5588)) {\n$step5586 = $self5588.step;\n$al5590 = $self5588.from;\n$ans5589 = $self5588.ans;\n$elidedFrames5592 = $self5588.elidedFrames;\nself5588 = $self5588.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3421],1,$t,true);\n}\nvar self5588 = $self5588;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5589 = R.mC();\n}\nwhile(!R.isContinuation($ans5589)) {\nswitch($step5586) {\ncase 0: $al5590 = L[3422];\nvar anf_arg5593 = G(self5588,\"value\",L[3422]);\n$step5586 = 1;\n$al5590 = L[3423];\nif(typeof(VS10.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5590,VS10.dict.values.dict[\"vs-value\"]);\n}\n$ans5589 = VS10.dict.values.dict[\"vs-value\"].app(anf_arg5593);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5589;\ndefault: R.ffi.throwSpinnakerError(L[3421],$step5586);\n}\n}\nif($step5586 !== 1) {\n$ans5589.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5590,$temp_full5587,$step5586,[self5588],[],$elidedFrames5592);\n}\nreturn $ans5589;\n};\nvar anf_variant_member6080 = R.makeMethod0($temp_full5587,\"_output\");\nvar $temp_full5596 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3424($self5597,$maybe$stack$loc5598,$src$available5599,$maybe$ast5600) {\nvar $step5595 = 0;\nvar $elidedFrames5604 = 0;\nvar $ans5601 = D;\nvar $al5602 = L[3424];\nif(R.isAR($self5597)) {\n$step5595 = $self5597.step;\n$al5602 = $self5597.from;\n$ans5601 = $self5597.ans;\n$elidedFrames5604 = $self5597.elidedFrames;\nself5597 = $self5597.args[0];\nmaybe$stack$loc5598 = $self5597.args[1];\nsrc$available5599 = $self5597.args[2];\nmaybe$ast5600 = $self5597.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3424],4,$t,true);\n}\nvar self5597 = $self5597;\nvar maybe$stack$loc5598 = $maybe$stack$loc5598;\nvar src$available5599 = $src$available5599;\nvar maybe$ast5600 = $maybe$ast5600;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5601 = R.mC();\n}\nwhile(!R.isContinuation($ans5601)) {\nswitch($step5595) {\ncase 0: $step5595 = 1;\n$ans5601 = R.maybeMethodCall0(self5597,\"render-reason\",L[3425]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5601;\ndefault: R.ffi.throwSpinnakerError(L[3424],$step5595);\n}\n}\nif($step5595 !== 1) {\n$ans5601.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5602,$temp_full5596,$step5595,[self5597,maybe$stack$loc5598,src$available5599,maybe$ast5600],[],$elidedFrames5604);\n}\nreturn $ans5601;\n};\nvar anf_variant_member6088 = R.makeMethod3($temp_full5596,\"render-fancy-reason\");\nvar $temp_full5607 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3426($self5608) {\nvar $step5606 = 0;\nvar $elidedFrames5612 = 0;\nvar $ans5609 = D;\nvar $al5610 = L[3426];\nif(R.isAR($self5608)) {\n$step5606 = $self5608.step;\n$al5610 = $self5608.from;\n$ans5609 = $self5608.ans;\n$elidedFrames5612 = $self5608.elidedFrames;\nself5608 = $self5608.args[0];\nanf_fun5614 = $self5608.vars[0];\nanf_arg5615 = $self5608.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3426],1,$t,true);\n}\nvar self5608 = $self5608;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5609 = R.mC();\n}\nwhile(!R.isContinuation($ans5609)) {\nswitch($step5606) {\ncase 0: $ans5609 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3427],L[3428]);\nvar anf_fun5614 = $ans5609;\n$step5606 = 1;\n$al5610 = L[3431];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,ED6.dict.values.dict[\"text\"]);\n}\n$ans5609 = ED6.dict.values.dict[\"text\"].app((\"Exited with code \"));\nbreak;\ncase 1: var anf_arg5615 = $ans5609;\n$al5610 = L[3429];\nvar anf_arg5613 = G(self5608,\"code\",L[3429]);\n$step5606 = 2;\n$al5610 = L[3430];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5609 = ED6.dict.values.dict[\"embed\"].app(anf_arg5613);\nbreak;\ncase 2: var anf_arg5616 = $ans5609;\n$step5606 = 3;\n$al5610 = L[3428];\nif(typeof(anf_fun5614.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,anf_fun5614);\n}\n$ans5609 = anf_fun5614.app(anf_arg5615,anf_arg5616);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans5609;\ndefault: R.ffi.throwSpinnakerError(L[3426],$step5606);\n}\n}\nif($step5606 !== 3) {\n$ans5609.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5610,$temp_full5607,$step5606,[self5608],[anf_fun5614,anf_arg5615],$elidedFrames5612);\n}\nreturn $ans5609;\n};\nvar anf_variant_member6089 = R.makeMethod0($temp_full5607,\"render-reason\");\nvar $temp_full5619 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3432($self5620,$maybe$stack$loc5621,$src$available5622,$maybe$ast5623) {\nvar $step5618 = 0;\nvar $elidedFrames5627 = 0;\nvar $ans5624 = D;\nvar $al5625 = L[3432];\nif(R.isAR($self5620)) {\n$step5618 = $self5620.step;\n$al5625 = $self5620.from;\n$ans5624 = $self5620.ans;\n$elidedFrames5627 = $self5620.elidedFrames;\nself5620 = $self5620.args[0];\nmaybe$stack$loc5621 = $self5620.args[1];\nsrc$available5622 = $self5620.args[2];\nmaybe$ast5623 = $self5620.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3432],4,$t,true);\n}\nvar self5620 = $self5620;\nvar maybe$stack$loc5621 = $maybe$stack$loc5621;\nvar src$available5622 = $src$available5622;\nvar maybe$ast5623 = $maybe$ast5623;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5624 = R.mC();\n}\nwhile(!R.isContinuation($ans5624)) {\nswitch($step5618) {\ncase 0: $step5618 = 1;\n$ans5624 = R.maybeMethodCall0(self5620,\"render-reason\",L[3433]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5624;\ndefault: R.ffi.throwSpinnakerError(L[3432],$step5618);\n}\n}\nif($step5618 !== 1) {\n$ans5624.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5625,$temp_full5619,$step5618,[self5620,maybe$stack$loc5621,src$available5622,maybe$ast5623],[],$elidedFrames5627);\n}\nreturn $ans5624;\n};\nvar anf_variant_member6097 = R.makeMethod3($temp_full5619,\"render-fancy-reason\");\nvar $temp_full5630 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3434($self5631) {\nvar $step5629 = 0;\nvar $elidedFrames5635 = 0;\nvar $ans5632 = D;\nvar $al5633 = L[3434];\nif(R.isAR($self5631)) {\n$step5629 = $self5631.step;\n$al5633 = $self5631.from;\n$ans5632 = $self5631.ans;\n$elidedFrames5635 = $self5631.elidedFrames;\nself5631 = $self5631.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3434],1,$t,true);\n}\nvar self5631 = $self5631;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5632 = R.mC();\n}\nwhile(!R.isContinuation($ans5632)) {\nswitch($step5629) {\ncase 0: $step5629 = 1;\n$al5633 = L[3435];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5633,ED6.dict.values.dict[\"text\"]);\n}\n$ans5632 = ED6.dict.values.dict[\"text\"].app((\"\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5632;\ndefault: R.ffi.throwSpinnakerError(L[3434],$step5629);\n}\n}\nif($step5629 !== 1) {\n$ans5632.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5633,$temp_full5630,$step5629,[self5631],[],$elidedFrames5635);\n}\nreturn $ans5632;\n};\nvar anf_variant_member6098 = R.makeMethod0($temp_full5630,\"render-reason\");\nvar $multi$error_getfields5643 = function singleton_variant(f) {\nreturn f(this.dict[\"errors\"]);\n};\nvar $multi$error_mutablemask5642 = [false];\nvar $multi$error$base5637 = {\"$fieldNames\":[\"errors\"],\n\"render-fancy-reason\":anf_variant_member5640,\n\"render-reason\":anf_variant_member5641,\n\"_match\":R.mM(\"multi-error\",1)};\nvar $multi$error$brander5638 = R.nB(\"multi-error\",L[3436]);\nvar $multi$error$brands5639 = {};\n$multi$error$brands5639[RuntimeError24._brand] = true;\n$multi$error$brands5639[$multi$error$brander5638._brand] = true;\nvar multi$error5644 = R.mVC(L[3436],function $synthesizedConstructor_$multi$error$base() {\nreturn [];\n},[],[],[false],[\"errors5645\"],$multi$error_mutablemask5642,$multi$error$base5637,$multi$error$brands5639,\"multi-error\",$multi$error_getfields5643,$multi$error$base5637);\nvar $sample$error_getfields5652 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"some-info\"]);\n};\nvar $sample$error_mutablemask5651 = [false,false];\nvar $sample$error$base5646 = {\"$fieldNames\":[\"loc\",\"some-info\"],\n\"render-fancy-reason\":anf_variant_member5649,\n\"render-reason\":anf_variant_member5650,\n\"_match\":R.mM(\"sample-error\",2)};\nvar $sample$error$brander5647 = R.nB(\"sample-error\",L[3437]);\nvar $sample$error$brands5648 = {};\n$sample$error$brands5648[RuntimeError24._brand] = true;\n$sample$error$brands5648[$sample$error$brander5647._brand] = true;\nvar sample$error5653 = R.mVC(L[3437],function $synthesizedConstructor_$sample$error$base() {\nreturn [];\n},[],[],[false,false],[\"loc5654\",\"some$info5655\"],$sample$error_mutablemask5651,$sample$error$base5646,$sample$error$brands5648,\"sample-error\",$sample$error_getfields5652,$sample$error$base5646);\nvar $message$exception_getfields5663 = function singleton_variant(f) {\nreturn f(this.dict[\"message\"]);\n};\nvar $message$exception_mutablemask5662 = [false];\nvar $message$exception$base5656 = {\"$fieldNames\":[\"message\"],\n\"render-fancy-reason\":anf_variant_member5659,\n\"render-reason\":anf_variant_member5660,\n\"_output\":anf_variant_member5661,\n\"_match\":R.mM(\"message-exception\",1)};\nvar $message$exception$brander5657 = R.nB(\"message-exception\",L[3438]);\nvar $message$exception$brands5658 = {};\n$message$exception$brands5658[RuntimeError24._brand] = true;\n$message$exception$brands5658[$message$exception$brander5657._brand] = true;\nvar message$exception5664 = R.mVC(L[3438],function $synthesizedConstructor_$message$exception$base() {\nreturn [$type$String8];\n},[\"message5665\"],[L[3439]],[false],[\"message5665\"],$message$exception_mutablemask5662,$message$exception$base5656,$message$exception$brands5658,\"message-exception\",$message$exception_getfields5663,$message$exception$base5656);\nvar $update$non$obj_getfields5672 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"]);\n};\nvar $update$non$obj_mutablemask5671 = [false,false,false];\nvar $update$non$obj$base5666 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\"],\n\"render-fancy-reason\":anf_variant_member5669,\n\"render-reason\":anf_variant_member5670,\n\"_match\":R.mM(\"update-non-obj\",3)};\nvar $update$non$obj$brander5667 = R.nB(\"update-non-obj\",L[3440]);\nvar $update$non$obj$brands5668 = {};\n$update$non$obj$brands5668[RuntimeError24._brand] = true;\n$update$non$obj$brands5668[$update$non$obj$brander5667._brand] = true;\nvar update$non$obj5673 = R.mVC(L[3440],function $synthesizedConstructor_$update$non$obj$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc5674\",\"obj5675\",\"objloc5676\"],$update$non$obj_mutablemask5671,$update$non$obj$base5666,$update$non$obj$brands5668,\"update-non-obj\",$update$non$obj_getfields5672,$update$non$obj$base5666);\nvar $update$frozen$ref_getfields5683 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$frozen$ref_mutablemask5682 = [false,false,false,false,false];\nvar $update$frozen$ref$base5677 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5680,\n\"render-reason\":anf_variant_member5681,\n\"_match\":R.mM(\"update-frozen-ref\",5)};\nvar $update$frozen$ref$brander5678 = R.nB(\"update-frozen-ref\",L[3441]);\nvar $update$frozen$ref$brands5679 = {};\n$update$frozen$ref$brands5679[RuntimeError24._brand] = true;\n$update$frozen$ref$brands5679[$update$frozen$ref$brander5678._brand] = true;\nvar update$frozen$ref5684 = R.mVC(L[3441],function $synthesizedConstructor_$update$frozen$ref$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5685\",\"obj5686\",\"objloc5687\",\"field5688\",\"fieldloc5689\"],$update$frozen$ref_mutablemask5682,$update$frozen$ref$base5677,$update$frozen$ref$brands5679,\"update-frozen-ref\",$update$frozen$ref_getfields5683,$update$frozen$ref$base5677);\nvar $update$non$ref_getfields5696 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$non$ref_mutablemask5695 = [false,false,false,false,false];\nvar $update$non$ref$base5690 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5693,\n\"render-reason\":anf_variant_member5694,\n\"_match\":R.mM(\"update-non-ref\",5)};\nvar $update$non$ref$brander5691 = R.nB(\"update-non-ref\",L[3442]);\nvar $update$non$ref$brands5692 = {};\n$update$non$ref$brands5692[RuntimeError24._brand] = true;\n$update$non$ref$brands5692[$update$non$ref$brander5691._brand] = true;\nvar update$non$ref5697 = R.mVC(L[3442],function $synthesizedConstructor_$update$non$ref$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5698\",\"obj5699\",\"objloc5700\",\"field5701\",\"fieldloc5702\"],$update$non$ref_mutablemask5695,$update$non$ref$base5690,$update$non$ref$brands5692,\"update-non-ref\",$update$non$ref_getfields5696,$update$non$ref$base5690);\nvar $update$non$existent$field_getfields5709 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$non$existent$field_mutablemask5708 = [false,false,false,false,false];\nvar $update$non$existent$field$base5703 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5706,\n\"render-reason\":anf_variant_member5707,\n\"_match\":R.mM(\"update-non-existent-field\",5)};\nvar $update$non$existent$field$brander5704 = R.nB(\"update-non-existent-field\",L[3443]);\nvar $update$non$existent$field$brands5705 = {};\n$update$non$existent$field$brands5705[RuntimeError24._brand] = true;\n$update$non$existent$field$brands5705[$update$non$existent$field$brander5704._brand] = true;\nvar update$non$existent$field5710 = R.mVC(L[3443],function $synthesizedConstructor_$update$non$existent$field$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5711\",\"obj5712\",\"objloc5713\",\"field5714\",\"fieldloc5715\"],$update$non$existent$field_mutablemask5708,$update$non$existent$field$base5703,$update$non$existent$field$brands5705,\"update-non-existent-field\",$update$non$existent$field_getfields5709,$update$non$existent$field$base5703);\nvar $no$cases$matched_getfields5722 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"]);\n};\nvar $no$cases$matched_mutablemask5721 = [false,false];\nvar $no$cases$matched$base5716 = {\"$fieldNames\":[\"loc\",\"val\"],\n\"render-fancy-reason\":anf_variant_member5719,\n\"render-reason\":anf_variant_member5720,\n\"_match\":R.mM(\"no-cases-matched\",2)};\nvar $no$cases$matched$brander5717 = R.nB(\"no-cases-matched\",L[3444]);\nvar $no$cases$matched$brands5718 = {};\n$no$cases$matched$brands5718[RuntimeError24._brand] = true;\n$no$cases$matched$brands5718[$no$cases$matched$brander5717._brand] = true;\nvar no$cases$matched5723 = R.mVC(L[3444],function $synthesizedConstructor_$no$cases$matched$base() {\nreturn [];\n},[],[],[false,false],[\"loc5724\",\"val5725\"],$no$cases$matched_mutablemask5721,$no$cases$matched$base5716,$no$cases$matched$brands5718,\"no-cases-matched\",$no$cases$matched_getfields5722,$no$cases$matched$base5716);\nvar $no$branches$matched_getfields5732 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"expression\"]);\n};\nvar $no$branches$matched_mutablemask5731 = [false,false];\nvar $no$branches$matched$base5726 = {\"$fieldNames\":[\"loc\",\"expression\"],\n\"render-fancy-reason\":anf_variant_member5729,\n\"render-reason\":anf_variant_member5730,\n\"_match\":R.mM(\"no-branches-matched\",2)};\nvar $no$branches$matched$brander5727 = R.nB(\"no-branches-matched\",L[3445]);\nvar $no$branches$matched$brands5728 = {};\n$no$branches$matched$brands5728[RuntimeError24._brand] = true;\n$no$branches$matched$brands5728[$no$branches$matched$brander5727._brand] = true;\nvar no$branches$matched5733 = R.mVC(L[3445],function $synthesizedConstructor_$no$branches$matched$base() {\nreturn [$type$String8];\n},[\"expression5734\"],[L[3446]],[false,false],[\"loc5735\",\"expression5734\"],$no$branches$matched_mutablemask5731,$no$branches$matched$base5726,$no$branches$matched$brands5728,\"no-branches-matched\",$no$branches$matched_getfields5732,$no$branches$matched$base5726);\nvar $internal$error_getfields5742 = function singleton_variant(f) {\nreturn f(this.dict[\"message\"],this.dict[\"info-args\"]);\n};\nvar $internal$error_mutablemask5741 = [false,false];\nvar $internal$error$base5736 = {\"$fieldNames\":[\"message\",\"info-args\"],\n\"render-fancy-reason\":anf_variant_member5739,\n\"render-reason\":anf_variant_member5740,\n\"_match\":R.mM(\"internal-error\",2)};\nvar $internal$error$brander5737 = R.nB(\"internal-error\",L[3447]);\nvar $internal$error$brands5738 = {};\n$internal$error$brands5738[RuntimeError24._brand] = true;\n$internal$error$brands5738[$internal$error$brander5737._brand] = true;\nvar internal$error5743 = R.mVC(L[3447],function $synthesizedConstructor_$internal$error$base() {\nreturn [];\n},[],[],[false,false],[\"message5744\",\"info$args5745\"],$internal$error_mutablemask5741,$internal$error$base5736,$internal$error$brands5738,\"internal-error\",$internal$error_getfields5742,$internal$error$base5736);\nvar $spinnaker$error_getfields5752 = function singleton_variant(f) {\nreturn f(this.dict[\"funloc\"],this.dict[\"step-num\"]);\n};\nvar $spinnaker$error_mutablemask5751 = [false,false];\nvar $spinnaker$error$base5746 = {\"$fieldNames\":[\"funloc\",\"step-num\"],\n\"render-fancy-reason\":anf_variant_member5749,\n\"render-reason\":anf_variant_member5750,\n\"_match\":R.mM(\"spinnaker-error\",2)};\nvar $spinnaker$error$brander5747 = R.nB(\"spinnaker-error\",L[3448]);\nvar $spinnaker$error$brands5748 = {};\n$spinnaker$error$brands5748[RuntimeError24._brand] = true;\n$spinnaker$error$brands5748[$spinnaker$error$brander5747._brand] = true;\nvar spinnaker$error5753 = R.mVC(L[3448],function $synthesizedConstructor_$spinnaker$error$base() {\nreturn [];\n},[],[],[false,false],[\"funloc5754\",\"step$num5755\"],$spinnaker$error_mutablemask5751,$spinnaker$error$base5746,$spinnaker$error$brands5748,\"spinnaker-error\",$spinnaker$error_getfields5752,$spinnaker$error$base5746);\nvar $template$not$finished_getfields5762 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $template$not$finished_mutablemask5761 = [false];\nvar $template$not$finished$base5756 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member5759,\n\"render-reason\":anf_variant_member5760,\n\"_match\":R.mM(\"template-not-finished\",1)};\nvar $template$not$finished$brander5757 = R.nB(\"template-not-finished\",L[3449]);\nvar $template$not$finished$brands5758 = {};\n$template$not$finished$brands5758[RuntimeError24._brand] = true;\n$template$not$finished$brands5758[$template$not$finished$brander5757._brand] = true;\nvar template$not$finished5763 = R.mVC(L[3449],function $synthesizedConstructor_$template$not$finished$base() {\nreturn [];\n},[],[],[false],[\"loc5764\"],$template$not$finished_mutablemask5761,$template$not$finished$base5756,$template$not$finished$brands5758,\"template-not-finished\",$template$not$finished_getfields5762,$template$not$finished$base5756);\nvar $field$not$found_getfields5771 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"field\"]);\n};\nvar $field$not$found_mutablemask5770 = [false,false,false];\nvar $field$not$found$base5765 = {\"$fieldNames\":[\"loc\",\"obj\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5768,\n\"render-reason\":anf_variant_member5769,\n\"_match\":R.mM(\"field-not-found\",3)};\nvar $field$not$found$brander5766 = R.nB(\"field-not-found\",L[3450]);\nvar $field$not$found$brands5767 = {};\n$field$not$found$brands5767[RuntimeError24._brand] = true;\n$field$not$found$brands5767[$field$not$found$brander5766._brand] = true;\nvar field$not$found5772 = R.mVC(L[3450],function $synthesizedConstructor_$field$not$found$base() {\nreturn [$type$String8];\n},[\"field5773\"],[L[3451]],[false,false,false],[\"loc5774\",\"obj5775\",\"field5773\"],$field$not$found_mutablemask5770,$field$not$found$base5765,$field$not$found$brands5767,\"field-not-found\",$field$not$found_getfields5771,$field$not$found$base5765);\nvar $constructor$syntax$non$constructor_getfields5782 = function singleton_variant(f) {\nreturn f(this.dict[\"expr-loc\"],this.dict[\"constr-loc\"]);\n};\nvar $constructor$syntax$non$constructor_mutablemask5781 = [false,false];\nvar $constructor$syntax$non$constructor$base5776 = {\"$fieldNames\":[\"expr-loc\",\"constr-loc\"],\n\"render-fancy-reason\":anf_variant_member5779,\n\"render-reason\":anf_variant_member5780,\n\"_match\":R.mM(\"constructor-syntax-non-constructor\",2)};\nvar $constructor$syntax$non$constructor$brander5777 = R.nB(\"constructor-syntax-non-constructor\",L[3452]);\nvar $constructor$syntax$non$constructor$brands5778 = {};\n$constructor$syntax$non$constructor$brands5778[RuntimeError24._brand] = true;\n$constructor$syntax$non$constructor$brands5778[$constructor$syntax$non$constructor$brander5777._brand] = true;\nvar constructor$syntax$non$constructor5783 = R.mVC(L[3452],function $synthesizedConstructor_$constructor$syntax$non$constructor$base() {\nreturn [];\n},[],[],[false,false],[\"expr$loc5784\",\"constr$loc5785\"],$constructor$syntax$non$constructor_mutablemask5781,$constructor$syntax$non$constructor$base5776,$constructor$syntax$non$constructor$brands5778,\"constructor-syntax-non-constructor\",$constructor$syntax$non$constructor_getfields5782,$constructor$syntax$non$constructor$base5776);\nvar $lookup$constructor$not$object_getfields5792 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"constr-name\"],this.dict[\"field\"]);\n};\nvar $lookup$constructor$not$object_mutablemask5791 = [false,false,false];\nvar $lookup$constructor$not$object$base5786 = {\"$fieldNames\":[\"loc\",\"constr-name\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5789,\n\"render-reason\":anf_variant_member5790,\n\"_match\":R.mM(\"lookup-constructor-not-object\",3)};\nvar $lookup$constructor$not$object$brander5787 = R.nB(\"lookup-constructor-not-object\",L[3453]);\nvar $lookup$constructor$not$object$brands5788 = {};\n$lookup$constructor$not$object$brands5788[RuntimeError24._brand] = true;\n$lookup$constructor$not$object$brands5788[$lookup$constructor$not$object$brander5787._brand] = true;\nvar lookup$constructor$not$object5793 = R.mVC(L[3453],function $synthesizedConstructor_$lookup$constructor$not$object$base() {\nreturn [$type$String8,$type$String8];\n},[\"constr$name5794\",\"field5795\"],[L[3454],L[3455]],[false,false,false],[\"loc5796\",\"constr$name5794\",\"field5795\"],$lookup$constructor$not$object_mutablemask5791,$lookup$constructor$not$object$base5786,$lookup$constructor$not$object$brands5788,\"lookup-constructor-not-object\",$lookup$constructor$not$object_getfields5792,$lookup$constructor$not$object$base5786);\nvar $lookup$non$tuple_getfields5803 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-tup\"],this.dict[\"index\"]);\n};\nvar $lookup$non$tuple_mutablemask5802 = [false,false,false];\nvar $lookup$non$tuple$base5797 = {\"$fieldNames\":[\"loc\",\"non-tup\",\"index\"],\n\"render-fancy-reason\":anf_variant_member5800,\n\"render-reason\":anf_variant_member5801,\n\"_match\":R.mM(\"lookup-non-tuple\",3)};\nvar $lookup$non$tuple$brander5798 = R.nB(\"lookup-non-tuple\",L[3456]);\nvar $lookup$non$tuple$brands5799 = {};\n$lookup$non$tuple$brands5799[RuntimeError24._brand] = true;\n$lookup$non$tuple$brands5799[$lookup$non$tuple$brander5798._brand] = true;\nvar lookup$non$tuple5804 = R.mVC(L[3456],function $synthesizedConstructor_$lookup$non$tuple$base() {\nreturn [$type$Number3];\n},[\"index5805\"],[L[3457]],[false,false,false],[\"loc5806\",\"non$tup5807\",\"index5805\"],$lookup$non$tuple_mutablemask5802,$lookup$non$tuple$base5797,$lookup$non$tuple$brands5799,\"lookup-non-tuple\",$lookup$non$tuple_getfields5803,$lookup$non$tuple$base5797);\nvar $lookup$large$index_getfields5814 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"tup\"],this.dict[\"len\"],this.dict[\"index\"]);\n};\nvar $lookup$large$index_mutablemask5813 = [false,false,false,false];\nvar $lookup$large$index$base5808 = {\"$fieldNames\":[\"loc\",\"tup\",\"len\",\"index\"],\n\"render-fancy-reason\":anf_variant_member5811,\n\"render-reason\":anf_variant_member5812,\n\"_match\":R.mM(\"lookup-large-index\",4)};\nvar $lookup$large$index$brander5809 = R.nB(\"lookup-large-index\",L[3458]);\nvar $lookup$large$index$brands5810 = {};\n$lookup$large$index$brands5810[RuntimeError24._brand] = true;\n$lookup$large$index$brands5810[$lookup$large$index$brander5809._brand] = true;\nvar lookup$large$index5815 = R.mVC(L[3458],function $synthesizedConstructor_$lookup$large$index$base() {\nreturn [$type$Number3];\n},[\"index5816\"],[L[3459]],[false,false,false,false],[\"loc5817\",\"tup5818\",\"len5819\",\"index5816\"],$lookup$large$index_mutablemask5813,$lookup$large$index$base5808,$lookup$large$index$brands5810,\"lookup-large-index\",$lookup$large$index_getfields5814,$lookup$large$index$base5808);\nvar $non$tuple$bind_getfields5826 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-tup\"]);\n};\nvar $non$tuple$bind_mutablemask5825 = [false,false];\nvar $non$tuple$bind$base5820 = {\"$fieldNames\":[\"loc\",\"non-tup\"],\n\"render-fancy-reason\":anf_variant_member5823,\n\"render-reason\":anf_variant_member5824,\n\"_match\":R.mM(\"non-tuple-bind\",2)};\nvar $non$tuple$bind$brander5821 = R.nB(\"non-tuple-bind\",L[3460]);\nvar $non$tuple$bind$brands5822 = {};\n$non$tuple$bind$brands5822[RuntimeError24._brand] = true;\n$non$tuple$bind$brands5822[$non$tuple$bind$brander5821._brand] = true;\nvar non$tuple$bind5827 = R.mVC(L[3460],function $synthesizedConstructor_$non$tuple$bind$base() {\nreturn [];\n},[],[],[false,false],[\"loc5828\",\"non$tup5829\"],$non$tuple$bind_mutablemask5825,$non$tuple$bind$base5820,$non$tuple$bind$brands5822,\"non-tuple-bind\",$non$tuple$bind_getfields5826,$non$tuple$bind$base5820);\nvar $bad$tuple$bind_getfields5836 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"tup\"],this.dict[\"length\"],this.dict[\"desiredLength\"]);\n};\nvar $bad$tuple$bind_mutablemask5835 = [false,false,false,false];\nvar $bad$tuple$bind$base5830 = {\"$fieldNames\":[\"loc\",\"tup\",\"length\",\"desiredLength\"],\n\"render-fancy-reason\":anf_variant_member5833,\n\"render-reason\":anf_variant_member5834,\n\"_match\":R.mM(\"bad-tuple-bind\",4)};\nvar $bad$tuple$bind$brander5831 = R.nB(\"bad-tuple-bind\",L[3461]);\nvar $bad$tuple$bind$brands5832 = {};\n$bad$tuple$bind$brands5832[RuntimeError24._brand] = true;\n$bad$tuple$bind$brands5832[$bad$tuple$bind$brander5831._brand] = true;\nvar bad$tuple$bind5837 = R.mVC(L[3461],function $synthesizedConstructor_$bad$tuple$bind$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc5838\",\"tup5839\",\"length5840\",\"desiredLength5841\"],$bad$tuple$bind_mutablemask5835,$bad$tuple$bind$base5830,$bad$tuple$bind$brands5832,\"bad-tuple-bind\",$bad$tuple$bind_getfields5836,$bad$tuple$bind$base5830);\nvar $lookup$non$object_getfields5848 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-obj\"],this.dict[\"field\"]);\n};\nvar $lookup$non$object_mutablemask5847 = [false,false,false];\nvar $lookup$non$object$base5842 = {\"$fieldNames\":[\"loc\",\"non-obj\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5845,\n\"render-reason\":anf_variant_member5846,\n\"_match\":R.mM(\"lookup-non-object\",3)};\nvar $lookup$non$object$brander5843 = R.nB(\"lookup-non-object\",L[3462]);\nvar $lookup$non$object$brands5844 = {};\n$lookup$non$object$brands5844[RuntimeError24._brand] = true;\n$lookup$non$object$brands5844[$lookup$non$object$brander5843._brand] = true;\nvar lookup$non$object5849 = R.mVC(L[3462],function $synthesizedConstructor_$lookup$non$object$base() {\nreturn [$type$String8];\n},[\"field5850\"],[L[3463]],[false,false,false],[\"loc5851\",\"non$obj5852\",\"field5850\"],$lookup$non$object_mutablemask5847,$lookup$non$object$base5842,$lookup$non$object$brands5844,\"lookup-non-object\",$lookup$non$object_getfields5848,$lookup$non$object$base5842);\nvar $extend$non$object_getfields5859 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-obj\"]);\n};\nvar $extend$non$object_mutablemask5858 = [false,false];\nvar $extend$non$object$base5853 = {\"$fieldNames\":[\"loc\",\"non-obj\"],\n\"render-fancy-reason\":anf_variant_member5856,\n\"render-reason\":anf_variant_member5857,\n\"_match\":R.mM(\"extend-non-object\",2)};\nvar $extend$non$object$brander5854 = R.nB(\"extend-non-object\",L[3464]);\nvar $extend$non$object$brands5855 = {};\n$extend$non$object$brands5855[RuntimeError24._brand] = true;\n$extend$non$object$brands5855[$extend$non$object$brander5854._brand] = true;\nvar extend$non$object5860 = R.mVC(L[3464],function $synthesizedConstructor_$extend$non$object$base() {\nreturn [];\n},[],[],[false,false],[\"loc5861\",\"non$obj5862\"],$extend$non$object_mutablemask5858,$extend$non$object$base5853,$extend$non$object$brands5855,\"extend-non-object\",$extend$non$object_getfields5859,$extend$non$object$base5853);\nvar $non$boolean$condition_getfields5869 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"typ\"],this.dict[\"value\"]);\n};\nvar $non$boolean$condition_mutablemask5868 = [false,false,false];\nvar $non$boolean$condition$base5863 = {\"$fieldNames\":[\"loc\",\"typ\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5866,\n\"render-reason\":anf_variant_member5867,\n\"_match\":R.mM(\"non-boolean-condition\",3)};\nvar $non$boolean$condition$brander5864 = R.nB(\"non-boolean-condition\",L[3465]);\nvar $non$boolean$condition$brands5865 = {};\n$non$boolean$condition$brands5865[RuntimeError24._brand] = true;\n$non$boolean$condition$brands5865[$non$boolean$condition$brander5864._brand] = true;\nvar non$boolean$condition5870 = R.mVC(L[3465],function $synthesizedConstructor_$non$boolean$condition$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc5871\",\"typ5872\",\"value5873\"],$non$boolean$condition_mutablemask5868,$non$boolean$condition$base5863,$non$boolean$condition$brands5865,\"non-boolean-condition\",$non$boolean$condition_getfields5869,$non$boolean$condition$base5863);\nvar $non$boolean$op_getfields5880 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"position\"],this.dict[\"typ\"],this.dict[\"value\"]);\n};\nvar $non$boolean$op_mutablemask5879 = [false,false,false,false];\nvar $non$boolean$op$base5874 = {\"$fieldNames\":[\"loc\",\"position\",\"typ\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5877,\n\"render-reason\":anf_variant_member5878,\n\"_match\":R.mM(\"non-boolean-op\",4)};\nvar $non$boolean$op$brander5875 = R.nB(\"non-boolean-op\",L[3466]);\nvar $non$boolean$op$brands5876 = {};\n$non$boolean$op$brands5876[RuntimeError24._brand] = true;\n$non$boolean$op$brands5876[$non$boolean$op$brander5875._brand] = true;\nvar non$boolean$op5881 = R.mVC(L[3466],function $synthesizedConstructor_$non$boolean$op$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc5882\",\"position5883\",\"typ5884\",\"value5885\"],$non$boolean$op_mutablemask5879,$non$boolean$op$base5874,$non$boolean$op$brands5876,\"non-boolean-op\",$non$boolean$op_getfields5880,$non$boolean$op$base5874);\nvar $generic$type$mismatch_getfields5892 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"typ\"]);\n};\nvar $generic$type$mismatch_mutablemask5891 = [false,false];\nvar $generic$type$mismatch$base5886 = {\"$fieldNames\":[\"val\",\"typ\"],\n\"render-fancy-reason\":anf_variant_member5889,\n\"render-reason\":anf_variant_member5890,\n\"_match\":R.mM(\"generic-type-mismatch\",2)};\nvar $generic$type$mismatch$brander5887 = R.nB(\"generic-type-mismatch\",L[3467]);\nvar $generic$type$mismatch$brands5888 = {};\n$generic$type$mismatch$brands5888[RuntimeError24._brand] = true;\n$generic$type$mismatch$brands5888[$generic$type$mismatch$brander5887._brand] = true;\nvar generic$type$mismatch5893 = R.mVC(L[3467],function $synthesizedConstructor_$generic$type$mismatch$base() {\nreturn [$type$String8];\n},[\"typ5894\"],[L[3468]],[false,false],[\"val5895\",\"typ5894\"],$generic$type$mismatch_mutablemask5891,$generic$type$mismatch$base5886,$generic$type$mismatch$brands5888,\"generic-type-mismatch\",$generic$type$mismatch_getfields5892,$generic$type$mismatch$base5886);\nvar $num$string$binop$error_getfields5902 = function singleton_variant(f) {\nreturn f(this.dict[\"val1\"],this.dict[\"val2\"],this.dict[\"opname\"],this.dict[\"opdesc\"],this.dict[\"methodname\"]);\n};\nvar $num$string$binop$error_mutablemask5901 = [false,false,false,false,false];\nvar $num$string$binop$error$base5896 = {\"$fieldNames\":[\"val1\",\"val2\",\"opname\",\"opdesc\",\"methodname\"],\n\"render-fancy-reason\":anf_variant_member5899,\n\"render-reason\":anf_variant_member5900,\n\"_match\":R.mM(\"num-string-binop-error\",5)};\nvar $num$string$binop$error$brander5897 = R.nB(\"num-string-binop-error\",L[3469]);\nvar $num$string$binop$error$brands5898 = {};\n$num$string$binop$error$brands5898[RuntimeError24._brand] = true;\n$num$string$binop$error$brands5898[$num$string$binop$error$brander5897._brand] = true;\nvar num$string$binop$error5903 = R.mVC(L[3469],function $synthesizedConstructor_$num$string$binop$error$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"val15904\",\"val25905\",\"opname5906\",\"opdesc5907\",\"methodname5908\"],$num$string$binop$error_mutablemask5901,$num$string$binop$error$base5896,$num$string$binop$error$brands5898,\"num-string-binop-error\",$num$string$binop$error_getfields5902,$num$string$binop$error$base5896);\nvar $numeric$binop$error_getfields5915 = function singleton_variant(f) {\nreturn f(this.dict[\"val1\"],this.dict[\"val2\"],this.dict[\"opname\"],this.dict[\"opdesc\"],this.dict[\"methodname\"]);\n};\nvar $numeric$binop$error_mutablemask5914 = [false,false,false,false,false];\nvar $numeric$binop$error$base5909 = {\"$fieldNames\":[\"val1\",\"val2\",\"opname\",\"opdesc\",\"methodname\"],\n\"render-fancy-reason\":anf_variant_member5912,\n\"render-reason\":anf_variant_member5913,\n\"_match\":R.mM(\"numeric-binop-error\",5)};\nvar $numeric$binop$error$brander5910 = R.nB(\"numeric-binop-error\",L[3470]);\nvar $numeric$binop$error$brands5911 = {};\n$numeric$binop$error$brands5911[RuntimeError24._brand] = true;\n$numeric$binop$error$brands5911[$numeric$binop$error$brander5910._brand] = true;\nvar numeric$binop$error5916 = R.mVC(L[3470],function $synthesizedConstructor_$numeric$binop$error$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"val15917\",\"val25918\",\"opname5919\",\"opdesc5920\",\"methodname5921\"],$numeric$binop$error_mutablemask5914,$numeric$binop$error$base5909,$numeric$binop$error$brands5911,\"numeric-binop-error\",$numeric$binop$error_getfields5915,$numeric$binop$error$base5909);\nvar $cases$singleton$mismatch_getfields5928 = function singleton_variant(f) {\nreturn f(this.dict[\"branch-loc\"],this.dict[\"should-be-singleton\"],this.dict[\"cases-loc\"],this.dict[\"constructor-loc\"]);\n};\nvar $cases$singleton$mismatch_mutablemask5927 = [false,false,false,false];\nvar $cases$singleton$mismatch$base5922 = {\"$fieldNames\":[\"branch-loc\",\"should-be-singleton\",\"cases-loc\",\"constructor-loc\"],\n\"render-fancy-reason\":anf_variant_member5925,\n\"render-reason\":anf_variant_member5926,\n\"_match\":R.mM(\"cases-singleton-mismatch\",4)};\nvar $cases$singleton$mismatch$brander5923 = R.nB(\"cases-singleton-mismatch\",L[3471]);\nvar $cases$singleton$mismatch$brands5924 = {};\n$cases$singleton$mismatch$brands5924[RuntimeError24._brand] = true;\n$cases$singleton$mismatch$brands5924[$cases$singleton$mismatch$brander5923._brand] = true;\nvar cases$singleton$mismatch5929 = R.mVC(L[3471],function $synthesizedConstructor_$cases$singleton$mismatch$base() {\nreturn [$type$Boolean6];\n},[\"should$be$singleton5930\"],[L[3472]],[false,false,false,false],[\"branch$loc5931\",\"should$be$singleton5930\",\"cases$loc5932\",\"constructor$loc5933\"],$cases$singleton$mismatch_mutablemask5927,$cases$singleton$mismatch$base5922,$cases$singleton$mismatch$brands5924,\"cases-singleton-mismatch\",$cases$singleton$mismatch_getfields5928,$cases$singleton$mismatch$base5922);\nvar $cases$arity$mismatch_getfields5940 = function singleton_variant(f) {\nreturn f(this.dict[\"branch-loc\"],this.dict[\"num-args\"],this.dict[\"actual-arity\"],this.dict[\"cases-loc\"],this.dict[\"constructor-loc\"]);\n};\nvar $cases$arity$mismatch_mutablemask5939 = [false,false,false,false,false];\nvar $cases$arity$mismatch$base5934 = {\"$fieldNames\":[\"branch-loc\",\"num-args\",\"actual-arity\",\"cases-loc\",\"constructor-loc\"],\n\"render-fancy-reason\":anf_variant_member5937,\n\"render-reason\":anf_variant_member5938,\n\"_match\":R.mM(\"cases-arity-mismatch\",5)};\nvar $cases$arity$mismatch$brander5935 = R.nB(\"cases-arity-mismatch\",L[3473]);\nvar $cases$arity$mismatch$brands5936 = {};\n$cases$arity$mismatch$brands5936[RuntimeError24._brand] = true;\n$cases$arity$mismatch$brands5936[$cases$arity$mismatch$brander5935._brand] = true;\nvar cases$arity$mismatch5941 = R.mVC(L[3473],function $synthesizedConstructor_$cases$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"branch$loc5942\",\"num$args5943\",\"actual$arity5944\",\"cases$loc5945\",\"constructor$loc5946\"],$cases$arity$mismatch_mutablemask5939,$cases$arity$mismatch$base5934,$cases$arity$mismatch$brands5936,\"cases-arity-mismatch\",$cases$arity$mismatch_getfields5940,$cases$arity$mismatch$base5934);\nvar $constructor$arity$mismatch_getfields5953 = function singleton_variant(f) {\nreturn f(this.dict[\"fun-def-loc\"],this.dict[\"constructor-name\"],this.dict[\"fun-def-arity\"],this.dict[\"fun-app-args\"]);\n};\nvar $constructor$arity$mismatch_mutablemask5952 = [false,false,false,false];\nvar $constructor$arity$mismatch$base5947 = {\"$fieldNames\":[\"fun-def-loc\",\"constructor-name\",\"fun-def-arity\",\"fun-app-args\"],\n\"render-fancy-reason\":anf_variant_member5950,\n\"render-reason\":anf_variant_member5951,\n\"_match\":R.mM(\"constructor-arity-mismatch\",4)};\nvar $constructor$arity$mismatch$brander5948 = R.nB(\"constructor-arity-mismatch\",L[3474]);\nvar $constructor$arity$mismatch$brands5949 = {};\n$constructor$arity$mismatch$brands5949[RuntimeError24._brand] = true;\n$constructor$arity$mismatch$brands5949[$constructor$arity$mismatch$brander5948._brand] = true;\nvar constructor$arity$mismatch5954 = R.mVC(L[3474],function $synthesizedConstructor_$constructor$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"fun$def$loc5955\",\"constructor$name5956\",\"fun$def$arity5957\",\"fun$app$args5958\"],$constructor$arity$mismatch_mutablemask5952,$constructor$arity$mismatch$base5947,$constructor$arity$mismatch$brands5949,\"constructor-arity-mismatch\",$constructor$arity$mismatch_getfields5953,$constructor$arity$mismatch$base5947);\nvar $arity$mismatch_getfields5965 = function singleton_variant(f) {\nreturn f(this.dict[\"fun-def-loc\"],this.dict[\"fun-def-arity\"],this.dict[\"fun-app-args\"],this.dict[\"is-method\"]);\n};\nvar $arity$mismatch_mutablemask5964 = [false,false,false,false];\nvar $arity$mismatch$base5959 = {\"$fieldNames\":[\"fun-def-loc\",\"fun-def-arity\",\"fun-app-args\",\"is-method\"],\n\"render-fancy-reason\":anf_variant_member5962,\n\"render-reason\":anf_variant_member5963,\n\"_match\":R.mM(\"arity-mismatch\",4)};\nvar $arity$mismatch$brander5960 = R.nB(\"arity-mismatch\",L[3475]);\nvar $arity$mismatch$brands5961 = {};\n$arity$mismatch$brands5961[RuntimeError24._brand] = true;\n$arity$mismatch$brands5961[$arity$mismatch$brander5960._brand] = true;\nvar arity$mismatch5966 = R.mVC(L[3475],function $synthesizedConstructor_$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"fun$def$loc5967\",\"fun$def$arity5968\",\"fun$app$args5969\",\"is$method5970\"],$arity$mismatch_mutablemask5964,$arity$mismatch$base5959,$arity$mismatch$brands5961,\"arity-mismatch\",$arity$mismatch_getfields5965,$arity$mismatch$base5959);\nvar $row$length$mismatch_getfields5977 = function singleton_variant(f) {\nreturn f(this.dict[\"colnames\"],this.dict[\"provided-vals\"]);\n};\nvar $row$length$mismatch_mutablemask5976 = [false,false];\nvar $row$length$mismatch$base5971 = {\"$fieldNames\":[\"colnames\",\"provided-vals\"],\n\"render-fancy-reason\":anf_variant_member5974,\n\"render-reason\":anf_variant_member5975,\n\"_match\":R.mM(\"row-length-mismatch\",2)};\nvar $row$length$mismatch$brander5972 = R.nB(\"row-length-mismatch\",L[3476]);\nvar $row$length$mismatch$brands5973 = {};\n$row$length$mismatch$brands5973[RuntimeError24._brand] = true;\n$row$length$mismatch$brands5973[$row$length$mismatch$brander5972._brand] = true;\nvar row$length$mismatch5978 = R.mVC(L[3476],function $synthesizedConstructor_$row$length$mismatch$base() {\nreturn [];\n},[],[],[false,false],[\"colnames5979\",\"provided$vals5980\"],$row$length$mismatch_mutablemask5976,$row$length$mismatch$base5971,$row$length$mismatch$brands5973,\"row-length-mismatch\",$row$length$mismatch_getfields5977,$row$length$mismatch$base5971);\nvar $col$length$mismatch_getfields5987 = function singleton_variant(f) {\nreturn f(this.dict[\"colname\"],this.dict[\"expected\"],this.dict[\"actual\"],this.dict[\"value\"]);\n};\nvar $col$length$mismatch_mutablemask5986 = [false,false,false,false];\nvar $col$length$mismatch$base5981 = {\"$fieldNames\":[\"colname\",\"expected\",\"actual\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5984,\n\"render-reason\":anf_variant_member5985,\n\"_match\":R.mM(\"col-length-mismatch\",4)};\nvar $col$length$mismatch$brander5982 = R.nB(\"col-length-mismatch\",L[3477]);\nvar $col$length$mismatch$brands5983 = {};\n$col$length$mismatch$brands5983[RuntimeError24._brand] = true;\n$col$length$mismatch$brands5983[$col$length$mismatch$brander5982._brand] = true;\nvar col$length$mismatch5988 = R.mVC(L[3477],function $synthesizedConstructor_$col$length$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"colname5989\",\"expected5990\",\"actual5991\",\"value5992\"],$col$length$mismatch_mutablemask5986,$col$length$mismatch$base5981,$col$length$mismatch$brands5983,\"col-length-mismatch\",$col$length$mismatch_getfields5987,$col$length$mismatch$base5981);\nvar $non$function$app_getfields5999 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-fun-val\"]);\n};\nvar $non$function$app_mutablemask5998 = [false,false];\nvar $non$function$app$base5993 = {\"$fieldNames\":[\"loc\",\"non-fun-val\"],\n\"render-fancy-reason\":anf_variant_member5996,\n\"render-reason\":anf_variant_member5997,\n\"_match\":R.mM(\"non-function-app\",2)};\nvar $non$function$app$brander5994 = R.nB(\"non-function-app\",L[3478]);\nvar $non$function$app$brands5995 = {};\n$non$function$app$brands5995[RuntimeError24._brand] = true;\n$non$function$app$brands5995[$non$function$app$brander5994._brand] = true;\nvar non$function$app6000 = R.mVC(L[3478],function $synthesizedConstructor_$non$function$app$base() {\nreturn [];\n},[],[],[false,false],[\"loc6001\",\"non$fun$val6002\"],$non$function$app_mutablemask5998,$non$function$app$base5993,$non$function$app$brands5995,\"non-function-app\",$non$function$app_getfields5999,$non$function$app$base5993);\nvar $uninitialized$id_getfields6009 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"name\"]);\n};\nvar $uninitialized$id_mutablemask6008 = [false,false];\nvar $uninitialized$id$base6003 = {\"$fieldNames\":[\"loc\",\"name\"],\n\"render-fancy-reason\":anf_variant_member6006,\n\"render-reason\":anf_variant_member6007,\n\"_match\":R.mM(\"uninitialized-id\",2)};\nvar $uninitialized$id$brander6004 = R.nB(\"uninitialized-id\",L[3479]);\nvar $uninitialized$id$brands6005 = {};\n$uninitialized$id$brands6005[RuntimeError24._brand] = true;\n$uninitialized$id$brands6005[$uninitialized$id$brander6004._brand] = true;\nvar uninitialized$id6010 = R.mVC(L[3479],function $synthesizedConstructor_$uninitialized$id$base() {\nreturn [];\n},[],[],[false,false],[\"loc6011\",\"name6012\"],$uninitialized$id_mutablemask6008,$uninitialized$id$base6003,$uninitialized$id$brands6005,\"uninitialized-id\",$uninitialized$id_getfields6009,$uninitialized$id$base6003);\nvar $module$load$failure_getfields6019 = function singleton_variant(f) {\nreturn f(this.dict[\"names\"]);\n};\nvar $module$load$failure_mutablemask6018 = [false];\nvar $module$load$failure$base6013 = {\"$fieldNames\":[\"names\"],\n\"render-fancy-reason\":anf_variant_member6016,\n\"render-reason\":anf_variant_member6017,\n\"_match\":R.mM(\"module-load-failure\",1)};\nvar $module$load$failure$brander6014 = R.nB(\"module-load-failure\",L[3480]);\nvar $module$load$failure$brands6015 = {};\n$module$load$failure$brands6015[RuntimeError24._brand] = true;\n$module$load$failure$brands6015[$module$load$failure$brander6014._brand] = true;\nvar module$load$failure6020 = R.mVC(L[3480],function $synthesizedConstructor_$module$load$failure$base() {\nreturn [];\n},[],[],[false],[\"names6021\"],$module$load$failure_mutablemask6018,$module$load$failure$base6013,$module$load$failure$brands6015,\"module-load-failure\",$module$load$failure_getfields6019,$module$load$failure$base6013);\nvar $invalid$array$index_getfields6028 = function singleton_variant(f) {\nreturn f(this.dict[\"method-name\"],this.dict[\"array\"],this.dict[\"index\"],this.dict[\"reason\"]);\n};\nvar $invalid$array$index_mutablemask6027 = [false,false,false,false];\nvar $invalid$array$index$base6022 = {\"$fieldNames\":[\"method-name\",\"array\",\"index\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member6025,\n\"render-reason\":anf_variant_member6026,\n\"_match\":R.mM(\"invalid-array-index\",4)};\nvar $invalid$array$index$brander6023 = R.nB(\"invalid-array-index\",L[3481]);\nvar $invalid$array$index$brands6024 = {};\n$invalid$array$index$brands6024[RuntimeError24._brand] = true;\n$invalid$array$index$brands6024[$invalid$array$index$brander6023._brand] = true;\nvar invalid$array$index6029 = R.mVC(L[3481],function $synthesizedConstructor_$invalid$array$index$base() {\nreturn [$type$String8,$type$Number3,$type$String8];\n},[\"method$name6030\",\"index6031\",\"reason6032\"],[L[3482],L[3483],L[3484]],[false,false,false,false],[\"method$name6030\",\"array6033\",\"index6031\",\"reason6032\"],$invalid$array$index_mutablemask6027,$invalid$array$index$base6022,$invalid$array$index$brands6024,\"invalid-array-index\",$invalid$array$index_getfields6028,$invalid$array$index$base6022);\nvar $equality$failure_getfields6040 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $equality$failure_mutablemask6039 = [false,false,false];\nvar $equality$failure$base6034 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"render-fancy-reason\":anf_variant_member6037,\n\"render-reason\":anf_variant_member6038,\n\"_match\":R.mM(\"equality-failure\",3)};\nvar $equality$failure$brander6035 = R.nB(\"equality-failure\",L[3485]);\nvar $equality$failure$brands6036 = {};\n$equality$failure$brands6036[RuntimeError24._brand] = true;\n$equality$failure$brands6036[$equality$failure$brander6035._brand] = true;\nvar equality$failure6041 = R.mVC(L[3485],function $synthesizedConstructor_$equality$failure$base() {\nreturn [$type$String8];\n},[\"reason6042\"],[L[3486]],[false,false,false],[\"reason6042\",\"value16043\",\"value26044\"],$equality$failure_mutablemask6039,$equality$failure$base6034,$equality$failure$brands6036,\"equality-failure\",$equality$failure_getfields6040,$equality$failure$base6034);\nvar $column$not$found_getfields6051 = function singleton_variant(f) {\nreturn f(this.dict[\"operation-loc\"],this.dict[\"column-name\"],this.dict[\"column-loc\"],this.dict[\"columns\"]);\n};\nvar $column$not$found_mutablemask6050 = [false,false,false,false];\nvar $column$not$found$base6045 = {\"$fieldNames\":[\"operation-loc\",\"column-name\",\"column-loc\",\"columns\"],\n\"render-fancy-reason\":anf_variant_member6048,\n\"render-reason\":anf_variant_member6049,\n\"_match\":R.mM(\"column-not-found\",4)};\nvar $column$not$found$brander6046 = R.nB(\"column-not-found\",L[3487]);\nvar $column$not$found$brands6047 = {};\n$column$not$found$brands6047[RuntimeError24._brand] = true;\n$column$not$found$brands6047[$column$not$found$brander6046._brand] = true;\nvar column$not$found6052 = R.mVC(L[3487],function $synthesizedConstructor_$column$not$found$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"operation$loc6053\",\"column$name6054\",\"column$loc6055\",\"columns6056\"],$column$not$found_mutablemask6050,$column$not$found$base6045,$column$not$found$brands6047,\"column-not-found\",$column$not$found_getfields6051,$column$not$found$base6045);\nvar $duplicate$column_getfields6063 = function singleton_variant(f) {\nreturn f(this.dict[\"operation-loc\"],this.dict[\"column-name\"],this.dict[\"column-loc\"]);\n};\nvar $duplicate$column_mutablemask6062 = [false,false,false];\nvar $duplicate$column$base6057 = {\"$fieldNames\":[\"operation-loc\",\"column-name\",\"column-loc\"],\n\"render-fancy-reason\":anf_variant_member6060,\n\"render-reason\":anf_variant_member6061,\n\"_match\":R.mM(\"duplicate-column\",3)};\nvar $duplicate$column$brander6058 = R.nB(\"duplicate-column\",L[3488]);\nvar $duplicate$column$brands6059 = {};\n$duplicate$column$brands6059[RuntimeError24._brand] = true;\n$duplicate$column$brands6059[$duplicate$column$brander6058._brand] = true;\nvar duplicate$column6064 = R.mVC(L[3488],function $synthesizedConstructor_$duplicate$column$base() {\nreturn [];\n},[],[],[false,false,false],[\"operation$loc6065\",\"column$name6066\",\"column$loc6067\"],$duplicate$column_mutablemask6062,$duplicate$column$base6057,$duplicate$column$brands6059,\"duplicate-column\",$duplicate$column_getfields6063,$duplicate$column$base6057);\nvar $user$break_getfields6074 = function variant(f) {\nreturn f();\n};\nvar $user$break_mutablemask6073 = [];\nvar $user$break$base6068 = {\"render-fancy-reason\":anf_singleton_variant_member6071,\n\"render-reason\":anf_singleton_variant_member6072,\n\"_match\":R.mM(\"user-break\",0)};\nvar $user$break$brander6069 = R.nB(\"user-break\",L[3489]);\nvar $user$break$brands6070 = {};\n$user$break$brands6070[RuntimeError24._brand] = true;\n$user$break$brands6070[$user$break$brander6069._brand] = true;\nvar $user$exception_getfields6082 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"]);\n};\nvar $user$exception_mutablemask6081 = [false];\nvar $user$exception$base6075 = {\"$fieldNames\":[\"value\"],\n\"render-fancy-reason\":anf_variant_member6078,\n\"render-reason\":anf_variant_member6079,\n\"_output\":anf_variant_member6080,\n\"_match\":R.mM(\"user-exception\",1)};\nvar $user$exception$brander6076 = R.nB(\"user-exception\",L[3490]);\nvar $user$exception$brands6077 = {};\n$user$exception$brands6077[RuntimeError24._brand] = true;\n$user$exception$brands6077[$user$exception$brander6076._brand] = true;\nvar user$exception6083 = R.mVC(L[3490],function $synthesizedConstructor_$user$exception$base() {\nreturn [];\n},[],[],[false],[\"value6084\"],$user$exception_mutablemask6081,$user$exception$base6075,$user$exception$brands6077,\"user-exception\",$user$exception_getfields6082,$user$exception$base6075);\nvar $exit_getfields6091 = function singleton_variant(f) {\nreturn f(this.dict[\"code\"]);\n};\nvar $exit_mutablemask6090 = [false];\nvar $exit$base6085 = {\"$fieldNames\":[\"code\"],\n\"render-fancy-reason\":anf_variant_member6088,\n\"render-reason\":anf_variant_member6089,\n\"_match\":R.mM(\"exit\",1)};\nvar $exit$brander6086 = R.nB(\"exit\",L[3491]);\nvar $exit$brands6087 = {};\n$exit$brands6087[RuntimeError24._brand] = true;\n$exit$brands6087[$exit$brander6086._brand] = true;\nvar exit6092 = R.mVC(L[3491],function $synthesizedConstructor_$exit$base() {\nreturn [$type$Number3];\n},[\"code6093\"],[L[3492]],[false],[\"code6093\"],$exit_mutablemask6090,$exit$base6085,$exit$brands6087,\"exit\",$exit_getfields6091,$exit$base6085);\nvar $exit$quiet_getfields6100 = function singleton_variant(f) {\nreturn f(this.dict[\"code\"]);\n};\nvar $exit$quiet_mutablemask6099 = [false];\nvar $exit$quiet$base6094 = {\"$fieldNames\":[\"code\"],\n\"render-fancy-reason\":anf_variant_member6097,\n\"render-reason\":anf_variant_member6098,\n\"_match\":R.mM(\"exit-quiet\",1)};\nvar $exit$quiet$brander6095 = R.nB(\"exit-quiet\",L[3493]);\nvar $exit$quiet$brands6096 = {};\n$exit$quiet$brands6096[RuntimeError24._brand] = true;\n$exit$quiet$brands6096[$exit$quiet$brander6095._brand] = true;\nvar exit$quiet6101 = R.mVC(L[3493],function $synthesizedConstructor_$exit$quiet$base() {\nreturn [$type$Number3];\n},[\"code6102\"],[L[3494]],[false],[\"code6102\"],$exit$quiet_mutablemask6099,$exit$quiet$base6094,$exit$quiet$brands6096,\"exit-quiet\",$exit$quiet_getfields6100,$exit$quiet$base6094);\nvar anf_assign6103 = R.mO({\"RuntimeError\":G(RuntimeError24,\"test\",L[3495]),\n\"is-multi-error\":G($multi$error$brander5638,\"test\",L[3436]),\n\"multi-error\":multi$error5644,\n\"is-sample-error\":G($sample$error$brander5647,\"test\",L[3437]),\n\"sample-error\":sample$error5653,\n\"is-message-exception\":G($message$exception$brander5657,\"test\",L[3438]),\n\"message-exception\":message$exception5664,\n\"is-update-non-obj\":G($update$non$obj$brander5667,\"test\",L[3440]),\n\"update-non-obj\":update$non$obj5673,\n\"is-update-frozen-ref\":G($update$frozen$ref$brander5678,\"test\",L[3441]),\n\"update-frozen-ref\":update$frozen$ref5684,\n\"is-update-non-ref\":G($update$non$ref$brander5691,\"test\",L[3442]),\n\"update-non-ref\":update$non$ref5697,\n\"is-update-non-existent-field\":G($update$non$existent$field$brander5704,\"test\",L[3443]),\n\"update-non-existent-field\":update$non$existent$field5710,\n\"is-no-cases-matched\":G($no$cases$matched$brander5717,\"test\",L[3444]),\n\"no-cases-matched\":no$cases$matched5723,\n\"is-no-branches-matched\":G($no$branches$matched$brander5727,\"test\",L[3445]),\n\"no-branches-matched\":no$branches$matched5733,\n\"is-internal-error\":G($internal$error$brander5737,\"test\",L[3447]),\n\"internal-error\":internal$error5743,\n\"is-spinnaker-error\":G($spinnaker$error$brander5747,\"test\",L[3448]),\n\"spinnaker-error\":spinnaker$error5753,\n\"is-template-not-finished\":G($template$not$finished$brander5757,\"test\",L[3449]),\n\"template-not-finished\":template$not$finished5763,\n\"is-field-not-found\":G($field$not$found$brander5766,\"test\",L[3450]),\n\"field-not-found\":field$not$found5772,\n\"is-constructor-syntax-non-constructor\":G($constructor$syntax$non$constructor$brander5777,\"test\",L[3452]),\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor5783,\n\"is-lookup-constructor-not-object\":G($lookup$constructor$not$object$brander5787,\"test\",L[3453]),\n\"lookup-constructor-not-object\":lookup$constructor$not$object5793,\n\"is-lookup-non-tuple\":G($lookup$non$tuple$brander5798,\"test\",L[3456]),\n\"lookup-non-tuple\":lookup$non$tuple5804,\n\"is-lookup-large-index\":G($lookup$large$index$brander5809,\"test\",L[3458]),\n\"lookup-large-index\":lookup$large$index5815,\n\"is-non-tuple-bind\":G($non$tuple$bind$brander5821,\"test\",L[3460]),\n\"non-tuple-bind\":non$tuple$bind5827,\n\"is-bad-tuple-bind\":G($bad$tuple$bind$brander5831,\"test\",L[3461]),\n\"bad-tuple-bind\":bad$tuple$bind5837,\n\"is-lookup-non-object\":G($lookup$non$object$brander5843,\"test\",L[3462]),\n\"lookup-non-object\":lookup$non$object5849,\n\"is-extend-non-object\":G($extend$non$object$brander5854,\"test\",L[3464]),\n\"extend-non-object\":extend$non$object5860,\n\"is-non-boolean-condition\":G($non$boolean$condition$brander5864,\"test\",L[3465]),\n\"non-boolean-condition\":non$boolean$condition5870,\n\"is-non-boolean-op\":G($non$boolean$op$brander5875,\"test\",L[3466]),\n\"non-boolean-op\":non$boolean$op5881,\n\"is-generic-type-mismatch\":G($generic$type$mismatch$brander5887,\"test\",L[3467]),\n\"generic-type-mismatch\":generic$type$mismatch5893,\n\"is-num-string-binop-error\":G($num$string$binop$error$brander5897,\"test\",L[3469]),\n\"num-string-binop-error\":num$string$binop$error5903,\n\"is-numeric-binop-error\":G($numeric$binop$error$brander5910,\"test\",L[3470]),\n\"numeric-binop-error\":numeric$binop$error5916,\n\"is-cases-singleton-mismatch\":G($cases$singleton$mismatch$brander5923,\"test\",L[3471]),\n\"cases-singleton-mismatch\":cases$singleton$mismatch5929,\n\"is-cases-arity-mismatch\":G($cases$arity$mismatch$brander5935,\"test\",L[3473]),\n\"cases-arity-mismatch\":cases$arity$mismatch5941,\n\"is-constructor-arity-mismatch\":G($constructor$arity$mismatch$brander5948,\"test\",L[3474]),\n\"constructor-arity-mismatch\":constructor$arity$mismatch5954,\n\"is-arity-mismatch\":G($arity$mismatch$brander5960,\"test\",L[3475]),\n\"arity-mismatch\":arity$mismatch5966,\n\"is-row-length-mismatch\":G($row$length$mismatch$brander5972,\"test\",L[3476]),\n\"row-length-mismatch\":row$length$mismatch5978,\n\"is-col-length-mismatch\":G($col$length$mismatch$brander5982,\"test\",L[3477]),\n\"col-length-mismatch\":col$length$mismatch5988,\n\"is-non-function-app\":G($non$function$app$brander5994,\"test\",L[3478]),\n\"non-function-app\":non$function$app6000,\n\"is-uninitialized-id\":G($uninitialized$id$brander6004,\"test\",L[3479]),\n\"uninitialized-id\":uninitialized$id6010,\n\"is-module-load-failure\":G($module$load$failure$brander6014,\"test\",L[3480]),\n\"module-load-failure\":module$load$failure6020,\n\"is-invalid-array-index\":G($invalid$array$index$brander6023,\"test\",L[3481]),\n\"invalid-array-index\":invalid$array$index6029,\n\"is-equality-failure\":G($equality$failure$brander6035,\"test\",L[3485]),\n\"equality-failure\":equality$failure6041,\n\"is-column-not-found\":G($column$not$found$brander6046,\"test\",L[3487]),\n\"column-not-found\":column$not$found6052,\n\"is-duplicate-column\":G($duplicate$column$brander6058,\"test\",L[3488]),\n\"duplicate-column\":duplicate$column6064,\n\"is-user-break\":G($user$break$brander6069,\"test\",L[3489]),\n\"user-break\":R.mDV($user$break$base6068,$user$break$brands6070,\"user-break\",$user$break_getfields6074,-1,$user$break_mutablemask6073,$user$break$base6068,false,L[3489]),\n\"is-user-exception\":G($user$exception$brander6076,\"test\",L[3490]),\n\"user-exception\":user$exception6083,\n\"is-exit\":G($exit$brander6086,\"test\",L[3491]),\n\"exit\":exit6092,\n\"is-exit-quiet\":G($exit$quiet$brander6095,\"test\",L[3493]),\n\"exit-quiet\":exit$quiet6101});\nRuntimeError6104.$var = anf_assign6103;\nR.nothing;\n$al21 = L[3495];\nvar anf_assign6105 = G(RuntimeError6104.$var,\"RuntimeError\",L[3495]);\nis$RuntimeError6106.$var = anf_assign6105;\nR.nothing;\n$al21 = L[3436];\nvar anf_assign6107 = G(RuntimeError6104.$var,\"is-multi-error\",L[3436]);\nis$multi$error6108.$var = anf_assign6107;\nR.nothing;\n$al21 = L[3436];\nvar anf_assign6109 = G(RuntimeError6104.$var,\"multi-error\",L[3436]);\nmulti$error6110.$var = anf_assign6109;\nR.nothing;\n$al21 = L[3437];\nvar anf_assign6111 = G(RuntimeError6104.$var,\"is-sample-error\",L[3437]);\nis$sample$error6112.$var = anf_assign6111;\nR.nothing;\n$al21 = L[3437];\nvar anf_assign6113 = G(RuntimeError6104.$var,\"sample-error\",L[3437]);\nsample$error6114.$var = anf_assign6113;\nR.nothing;\n$al21 = L[3438];\nvar anf_assign6115 = G(RuntimeError6104.$var,\"is-message-exception\",L[3438]);\nis$message$exception6116.$var = anf_assign6115;\nR.nothing;\n$al21 = L[3438];\nvar anf_assign6117 = G(RuntimeError6104.$var,\"message-exception\",L[3438]);\nmessage$exception6118.$var = anf_assign6117;\nR.nothing;\n$al21 = L[3440];\nvar anf_assign6119 = G(RuntimeError6104.$var,\"is-update-non-obj\",L[3440]);\nis$update$non$obj6120.$var = anf_assign6119;\nR.nothing;\n$al21 = L[3440];\nvar anf_assign6121 = G(RuntimeError6104.$var,\"update-non-obj\",L[3440]);\nupdate$non$obj6122.$var = anf_assign6121;\nR.nothing;\n$al21 = L[3441];\nvar anf_assign6123 = G(RuntimeError6104.$var,\"is-update-frozen-ref\",L[3441]);\nis$update$frozen$ref6124.$var = anf_assign6123;\nR.nothing;\n$al21 = L[3441];\nvar anf_assign6125 = G(RuntimeError6104.$var,\"update-frozen-ref\",L[3441]);\nupdate$frozen$ref6126.$var = anf_assign6125;\nR.nothing;\n$al21 = L[3442];\nvar anf_assign6127 = G(RuntimeError6104.$var,\"is-update-non-ref\",L[3442]);\nis$update$non$ref6128.$var = anf_assign6127;\nR.nothing;\n$al21 = L[3442];\nvar anf_assign6129 = G(RuntimeError6104.$var,\"update-non-ref\",L[3442]);\nupdate$non$ref6130.$var = anf_assign6129;\nR.nothing;\n$al21 = L[3443];\nvar anf_assign6131 = G(RuntimeError6104.$var,\"is-update-non-existent-field\",L[3443]);\nis$update$non$existent$field6132.$var = anf_assign6131;\nR.nothing;\n$al21 = L[3443];\nvar anf_assign6133 = G(RuntimeError6104.$var,\"update-non-existent-field\",L[3443]);\nupdate$non$existent$field6134.$var = anf_assign6133;\nR.nothing;\n$al21 = L[3444];\nvar anf_assign6135 = G(RuntimeError6104.$var,\"is-no-cases-matched\",L[3444]);\nis$no$cases$matched6136.$var = anf_assign6135;\nR.nothing;\n$al21 = L[3444];\nvar anf_assign6137 = G(RuntimeError6104.$var,\"no-cases-matched\",L[3444]);\nno$cases$matched6138.$var = anf_assign6137;\nR.nothing;\n$al21 = L[3445];\nvar anf_assign6139 = G(RuntimeError6104.$var,\"is-no-branches-matched\",L[3445]);\nis$no$branches$matched6140.$var = anf_assign6139;\nR.nothing;\n$al21 = L[3445];\nvar anf_assign6141 = G(RuntimeError6104.$var,\"no-branches-matched\",L[3445]);\nno$branches$matched6142.$var = anf_assign6141;\nR.nothing;\n$al21 = L[3447];\nvar anf_assign6143 = G(RuntimeError6104.$var,\"is-internal-error\",L[3447]);\nis$internal$error6144.$var = anf_assign6143;\nR.nothing;\n$al21 = L[3447];\nvar anf_assign6145 = G(RuntimeError6104.$var,\"internal-error\",L[3447]);\ninternal$error6146.$var = anf_assign6145;\nR.nothing;\n$al21 = L[3448];\nvar anf_assign6147 = G(RuntimeError6104.$var,\"is-spinnaker-error\",L[3448]);\nis$spinnaker$error6148.$var = anf_assign6147;\nR.nothing;\n$al21 = L[3448];\nvar anf_assign6149 = G(RuntimeError6104.$var,\"spinnaker-error\",L[3448]);\nspinnaker$error6150.$var = anf_assign6149;\nR.nothing;\n$al21 = L[3449];\nvar anf_assign6151 = G(RuntimeError6104.$var,\"is-template-not-finished\",L[3449]);\nis$template$not$finished6152.$var = anf_assign6151;\nR.nothing;\n$al21 = L[3449];\nvar anf_assign6153 = G(RuntimeError6104.$var,\"template-not-finished\",L[3449]);\ntemplate$not$finished6154.$var = anf_assign6153;\nR.nothing;\n$al21 = L[3450];\nvar anf_assign6155 = G(RuntimeError6104.$var,\"is-field-not-found\",L[3450]);\nis$field$not$found6156.$var = anf_assign6155;\nR.nothing;\n$al21 = L[3450];\nvar anf_assign6157 = G(RuntimeError6104.$var,\"field-not-found\",L[3450]);\nfield$not$found6158.$var = anf_assign6157;\nR.nothing;\n$al21 = L[3452];\nvar anf_assign6159 = G(RuntimeError6104.$var,\"is-constructor-syntax-non-constructor\",L[3452]);\nis$constructor$syntax$non$constructor6160.$var = anf_assign6159;\nR.nothing;\n$al21 = L[3452];\nvar anf_assign6161 = G(RuntimeError6104.$var,\"constructor-syntax-non-constructor\",L[3452]);\nconstructor$syntax$non$constructor6162.$var = anf_assign6161;\nR.nothing;\n$al21 = L[3453];\nvar anf_assign6163 = G(RuntimeError6104.$var,\"is-lookup-constructor-not-object\",L[3453]);\nis$lookup$constructor$not$object6164.$var = anf_assign6163;\nR.nothing;\n$al21 = L[3453];\nvar anf_assign6165 = G(RuntimeError6104.$var,\"lookup-constructor-not-object\",L[3453]);\nlookup$constructor$not$object6166.$var = anf_assign6165;\nR.nothing;\n$al21 = L[3456];\nvar anf_assign6167 = G(RuntimeError6104.$var,\"is-lookup-non-tuple\",L[3456]);\nis$lookup$non$tuple6168.$var = anf_assign6167;\nR.nothing;\n$al21 = L[3456];\nvar anf_assign6169 = G(RuntimeError6104.$var,\"lookup-non-tuple\",L[3456]);\nlookup$non$tuple6170.$var = anf_assign6169;\nR.nothing;\n$al21 = L[3458];\nvar anf_assign6171 = G(RuntimeError6104.$var,\"is-lookup-large-index\",L[3458]);\nis$lookup$large$index6172.$var = anf_assign6171;\nR.nothing;\n$al21 = L[3458];\nvar anf_assign6173 = G(RuntimeError6104.$var,\"lookup-large-index\",L[3458]);\nlookup$large$index6174.$var = anf_assign6173;\nR.nothing;\n$al21 = L[3460];\nvar anf_assign6175 = G(RuntimeError6104.$var,\"is-non-tuple-bind\",L[3460]);\nis$non$tuple$bind6176.$var = anf_assign6175;\nR.nothing;\n$al21 = L[3460];\nvar anf_assign6177 = G(RuntimeError6104.$var,\"non-tuple-bind\",L[3460]);\nnon$tuple$bind6178.$var = anf_assign6177;\nR.nothing;\n$al21 = L[3461];\nvar anf_assign6179 = G(RuntimeError6104.$var,\"is-bad-tuple-bind\",L[3461]);\nis$bad$tuple$bind6180.$var = anf_assign6179;\nR.nothing;\n$al21 = L[3461];\nvar anf_assign6181 = G(RuntimeError6104.$var,\"bad-tuple-bind\",L[3461]);\nbad$tuple$bind6182.$var = anf_assign6181;\nR.nothing;\n$al21 = L[3462];\nvar anf_assign6183 = G(RuntimeError6104.$var,\"is-lookup-non-object\",L[3462]);\nis$lookup$non$object6184.$var = anf_assign6183;\nR.nothing;\n$al21 = L[3462];\nvar anf_assign6185 = G(RuntimeError6104.$var,\"lookup-non-object\",L[3462]);\nlookup$non$object6186.$var = anf_assign6185;\nR.nothing;\n$al21 = L[3464];\nvar anf_assign6187 = G(RuntimeError6104.$var,\"is-extend-non-object\",L[3464]);\nis$extend$non$object6188.$var = anf_assign6187;\nR.nothing;\n$al21 = L[3464];\nvar anf_assign6189 = G(RuntimeError6104.$var,\"extend-non-object\",L[3464]);\nextend$non$object6190.$var = anf_assign6189;\nR.nothing;\n$al21 = L[3465];\nvar anf_assign6191 = G(RuntimeError6104.$var,\"is-non-boolean-condition\",L[3465]);\nis$non$boolean$condition6192.$var = anf_assign6191;\nR.nothing;\n$al21 = L[3465];\nvar anf_assign6193 = G(RuntimeError6104.$var,\"non-boolean-condition\",L[3465]);\nnon$boolean$condition6194.$var = anf_assign6193;\nR.nothing;\n$al21 = L[3466];\nvar anf_assign6195 = G(RuntimeError6104.$var,\"is-non-boolean-op\",L[3466]);\nis$non$boolean$op6196.$var = anf_assign6195;\nR.nothing;\n$al21 = L[3466];\nvar anf_assign6197 = G(RuntimeError6104.$var,\"non-boolean-op\",L[3466]);\nnon$boolean$op6198.$var = anf_assign6197;\nR.nothing;\n$al21 = L[3467];\nvar anf_assign6199 = G(RuntimeError6104.$var,\"is-generic-type-mismatch\",L[3467]);\nis$generic$type$mismatch6200.$var = anf_assign6199;\nR.nothing;\n$al21 = L[3467];\nvar anf_assign6201 = G(RuntimeError6104.$var,\"generic-type-mismatch\",L[3467]);\ngeneric$type$mismatch6202.$var = anf_assign6201;\nR.nothing;\n$al21 = L[3469];\nvar anf_assign6203 = G(RuntimeError6104.$var,\"is-num-string-binop-error\",L[3469]);\nis$num$string$binop$error6204.$var = anf_assign6203;\nR.nothing;\n$al21 = L[3469];\nvar anf_assign6205 = G(RuntimeError6104.$var,\"num-string-binop-error\",L[3469]);\nnum$string$binop$error6206.$var = anf_assign6205;\nR.nothing;\n$al21 = L[3470];\nvar anf_assign6207 = G(RuntimeError6104.$var,\"is-numeric-binop-error\",L[3470]);\nis$numeric$binop$error6208.$var = anf_assign6207;\nR.nothing;\n$al21 = L[3470];\nvar anf_assign6209 = G(RuntimeError6104.$var,\"numeric-binop-error\",L[3470]);\nnumeric$binop$error6210.$var = anf_assign6209;\nR.nothing;\n$al21 = L[3471];\nvar anf_assign6211 = G(RuntimeError6104.$var,\"is-cases-singleton-mismatch\",L[3471]);\nis$cases$singleton$mismatch6212.$var = anf_assign6211;\nR.nothing;\n$al21 = L[3471];\nvar anf_assign6213 = G(RuntimeError6104.$var,\"cases-singleton-mismatch\",L[3471]);\ncases$singleton$mismatch6214.$var = anf_assign6213;\nR.nothing;\n$al21 = L[3473];\nvar anf_assign6215 = G(RuntimeError6104.$var,\"is-cases-arity-mismatch\",L[3473]);\nis$cases$arity$mismatch6216.$var = anf_assign6215;\nR.nothing;\n$al21 = L[3473];\nvar anf_assign6217 = G(RuntimeError6104.$var,\"cases-arity-mismatch\",L[3473]);\ncases$arity$mismatch6218.$var = anf_assign6217;\nR.nothing;\n$al21 = L[3474];\nvar anf_assign6219 = G(RuntimeError6104.$var,\"is-constructor-arity-mismatch\",L[3474]);\nis$constructor$arity$mismatch6220.$var = anf_assign6219;\nR.nothing;\n$al21 = L[3474];\nvar anf_assign6221 = G(RuntimeError6104.$var,\"constructor-arity-mismatch\",L[3474]);\nconstructor$arity$mismatch6222.$var = anf_assign6221;\nR.nothing;\n$al21 = L[3475];\nvar anf_assign6223 = G(RuntimeError6104.$var,\"is-arity-mismatch\",L[3475]);\nis$arity$mismatch6224.$var = anf_assign6223;\nR.nothing;\n$al21 = L[3475];\nvar anf_assign6225 = G(RuntimeError6104.$var,\"arity-mismatch\",L[3475]);\narity$mismatch6226.$var = anf_assign6225;\nR.nothing;\n$al21 = L[3476];\nvar anf_assign6227 = G(RuntimeError6104.$var,\"is-row-length-mismatch\",L[3476]);\nis$row$length$mismatch6228.$var = anf_assign6227;\nR.nothing;\n$al21 = L[3476];\nvar anf_assign6229 = G(RuntimeError6104.$var,\"row-length-mismatch\",L[3476]);\nrow$length$mismatch6230.$var = anf_assign6229;\nR.nothing;\n$al21 = L[3477];\nvar anf_assign6231 = G(RuntimeError6104.$var,\"is-col-length-mismatch\",L[3477]);\nis$col$length$mismatch6232.$var = anf_assign6231;\nR.nothing;\n$al21 = L[3477];\nvar anf_assign6233 = G(RuntimeError6104.$var,\"col-length-mismatch\",L[3477]);\ncol$length$mismatch6234.$var = anf_assign6233;\nR.nothing;\n$al21 = L[3478];\nvar anf_assign6235 = G(RuntimeError6104.$var,\"is-non-function-app\",L[3478]);\nis$non$function$app6236.$var = anf_assign6235;\nR.nothing;\n$al21 = L[3478];\nvar anf_assign6237 = G(RuntimeError6104.$var,\"non-function-app\",L[3478]);\nnon$function$app6238.$var = anf_assign6237;\nR.nothing;\n$al21 = L[3479];\nvar anf_assign6239 = G(RuntimeError6104.$var,\"is-uninitialized-id\",L[3479]);\nis$uninitialized$id6240.$var = anf_assign6239;\nR.nothing;\n$al21 = L[3479];\nvar anf_assign6241 = G(RuntimeError6104.$var,\"uninitialized-id\",L[3479]);\nuninitialized$id6242.$var = anf_assign6241;\nR.nothing;\n$al21 = L[3480];\nvar anf_assign6243 = G(RuntimeError6104.$var,\"is-module-load-failure\",L[3480]);\nis$module$load$failure6244.$var = anf_assign6243;\nR.nothing;\n$al21 = L[3480];\nvar anf_assign6245 = G(RuntimeError6104.$var,\"module-load-failure\",L[3480]);\nmodule$load$failure6246.$var = anf_assign6245;\nR.nothing;\n$al21 = L[3481];\nvar anf_assign6247 = G(RuntimeError6104.$var,\"is-invalid-array-index\",L[3481]);\nis$invalid$array$index6248.$var = anf_assign6247;\nR.nothing;\n$al21 = L[3481];\nvar anf_assign6249 = G(RuntimeError6104.$var,\"invalid-array-index\",L[3481]);\ninvalid$array$index6250.$var = anf_assign6249;\nR.nothing;\n$al21 = L[3485];\nvar anf_assign6251 = G(RuntimeError6104.$var,\"is-equality-failure\",L[3485]);\nis$equality$failure6252.$var = anf_assign6251;\nR.nothing;\n$al21 = L[3485];\nvar anf_assign6253 = G(RuntimeError6104.$var,\"equality-failure\",L[3485]);\nequality$failure6254.$var = anf_assign6253;\nR.nothing;\n$al21 = L[3487];\nvar anf_assign6255 = G(RuntimeError6104.$var,\"is-column-not-found\",L[3487]);\nis$column$not$found6256.$var = anf_assign6255;\nR.nothing;\n$al21 = L[3487];\nvar anf_assign6257 = G(RuntimeError6104.$var,\"column-not-found\",L[3487]);\ncolumn$not$found6258.$var = anf_assign6257;\nR.nothing;\n$al21 = L[3488];\nvar anf_assign6259 = G(RuntimeError6104.$var,\"is-duplicate-column\",L[3488]);\nis$duplicate$column6260.$var = anf_assign6259;\nR.nothing;\n$al21 = L[3488];\nvar anf_assign6261 = G(RuntimeError6104.$var,\"duplicate-column\",L[3488]);\nduplicate$column6262.$var = anf_assign6261;\nR.nothing;\n$al21 = L[3489];\nvar anf_assign6263 = G(RuntimeError6104.$var,\"is-user-break\",L[3489]);\nis$user$break6264.$var = anf_assign6263;\nR.nothing;\n$al21 = L[3489];\nvar anf_assign6265 = G(RuntimeError6104.$var,\"user-break\",L[3489]);\nuser$break6266.$var = anf_assign6265;\nR.nothing;\n$al21 = L[3490];\nvar anf_assign6267 = G(RuntimeError6104.$var,\"is-user-exception\",L[3490]);\nis$user$exception6268.$var = anf_assign6267;\nR.nothing;\n$al21 = L[3490];\nvar anf_assign6269 = G(RuntimeError6104.$var,\"user-exception\",L[3490]);\nuser$exception6270.$var = anf_assign6269;\nR.nothing;\n$al21 = L[3491];\nvar anf_assign6271 = G(RuntimeError6104.$var,\"is-exit\",L[3491]);\nis$exit6272.$var = anf_assign6271;\nR.nothing;\n$al21 = L[3491];\nvar anf_assign6273 = G(RuntimeError6104.$var,\"exit\",L[3491]);\nexit6274.$var = anf_assign6273;\nR.nothing;\n$al21 = L[3493];\nvar anf_assign6275 = G(RuntimeError6104.$var,\"is-exit-quiet\",L[3493]);\nis$exit$quiet6276.$var = anf_assign6275;\nR.nothing;\n$al21 = L[3493];\nvar anf_assign6277 = G(RuntimeError6104.$var,\"exit-quiet\",L[3493]);\nexit$quiet6278.$var = anf_assign6277;\nR.nothing;\nvar $temp_full6280 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3496($self6281,$src$available6282) {\nvar $step6279 = 0;\nvar $elidedFrames6286 = 0;\nvar $ans6283 = D;\nvar $al6284 = L[3496];\nif(R.isAR($self6281)) {\n$step6279 = $self6281.step;\n$al6284 = $self6281.from;\n$ans6283 = $self6281.ans;\n$elidedFrames6286 = $self6281.elidedFrames;\nself6281 = $self6281.args[0];\nsrc$available6282 = $self6281.args[1];\nanf_fun6307 = $self6281.vars[0];\nanf_arg6299 = $self6281.vars[1];\nanf_fun6319 = $self6281.vars[2];\nanf_arg6302 = $self6281.vars[3];\nanf_arg6303 = $self6281.vars[4];\nanf_arg6304 = $self6281.vars[5];\nanf_arg6315 = $self6281.vars[6];\nanf_arg6305 = $self6281.vars[7];\nanf_arg6316 = $self6281.vars[8];\nanf_arg6317 = $self6281.vars[9];\nanf_arg6308 = $self6281.vars[10];\nanf_arg6309 = $self6281.vars[11];\nanf_fun6288 = $self6281.vars[12];\nanf_fun6301 = $self6281.vars[13];\nanf_fun6314 = $self6281.vars[14];\nanf_arg6295 = $self6281.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3496],2,$t,true);\n}\nvar self6281 = $self6281;\nvar src$available6282 = $src$available6282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6283 = R.mC();\n}\nwhile(!R.isContinuation($ans6283)) {\nswitch($step6279) {\ncase 0: $al6284 = L[3497];\nvar anf_arg6287 = G(self6281,\"a\",L[3497]);\n$step6279 = 1;\n$al6284 = L[3535];\nif(typeof(src$available6282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,src$available6282);\n}\n$ans6283 = src$available6282.app(anf_arg6287);\nbreak;\ncase 1: var anf_if6324 = $ans6283;\n$step6279 = R.checkPyretTrue(anf_if6324)?2:4;\nbreak;\ncase 2: $al6284 = L[3533];\nvar anf_arg6322 = G(self6281,\"b\",L[3533]);\n$step6279 = 3;\n$al6284 = L[3534];\nif(typeof(src$available6282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,src$available6282);\n}\n$ans6283 = src$available6282.app(anf_arg6322);\nbreak;\ncase 3: var anf_arg6323 = $ans6283;\n$ans6283 = R.checkWrapBoolean(anf_arg6323);\n$step6279 = 5;\nbreak;\ncase 4: $step6279 = 5;\n$ans6283 = (false);\nbreak;\ncase 5: var anf_if6321 = $ans6283;\n$step6279 = R.checkPyretTrue(anf_if6321)?6:21;\nbreak;\ncase 6: $ans6283 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3498],L[3499]);\nvar anf_fun6307 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3500],L[3501]);\nvar anf_fun6288 = $ans6283;\n$step6279 = 7;\n$al6284 = L[3521];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks this code is probably a function call:\"));\nbreak;\ncase 7: var anf_arg6289 = $ans6283;\n$step6279 = 8;\n$al6284 = L[3501];\nif(typeof(anf_fun6288.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6288);\n}\n$ans6283 = anf_fun6288.app(anf_arg6289);\nbreak;\ncase 8: var anf_arg6308 = $ans6283;\n$al6284 = L[3502];\nvar anf_arg6290 = G(self6281,\"a\",L[3502]);\n$al6284 = L[3503];\nvar anf_arg6291 = G(self6281,\"b\",L[3503]);\n$step6279 = 9;\n$al6284 = L[3520];\n// omitting isFunction check;\n$ans6283 = _plus5.app(anf_arg6290,anf_arg6291);\nbreak;\ncase 9: var anf_arg6292 = $ans6283;\n$step6279 = 10;\n$al6284 = L[3519];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6292);\nbreak;\ncase 10: var anf_arg6309 = $ans6283;\n$ans6283 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3504],L[3505]);\nvar anf_fun6301 = $ans6283;\n$step6279 = 11;\n$al6284 = L[3518];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Function calls must not have space between the \"));\nbreak;\ncase 11: var anf_arg6302 = $ans6283;\n$step6279 = 12;\n$al6284 = L[3517];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"function expression\"));\nbreak;\ncase 12: var anf_arg6295 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3506],L[3507]);\nvar anf_fun6293 = $ans6283;\n$al6284 = L[3508];\nvar anf_arg6294 = G(self6281,\"a\",L[3508]);\n$step6279 = 13;\n$al6284 = L[3507];\nif(typeof(anf_fun6293.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6293);\n}\n$ans6283 = anf_fun6293.app(anf_arg6294);\nbreak;\ncase 13: var anf_arg6296 = $ans6283;\n$step6279 = 14;\n$al6284 = L[3516];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6295,anf_arg6296,(0));\nbreak;\ncase 14: var anf_arg6303 = $ans6283;\n$step6279 = 15;\n$al6284 = L[3515];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" and the \"));\nbreak;\ncase 15: var anf_arg6304 = $ans6283;\n$step6279 = 16;\n$al6284 = L[3514];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 16: var anf_arg6299 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3509],L[3510]);\nvar anf_fun6297 = $ans6283;\n$al6284 = L[3511];\nvar anf_arg6298 = G(self6281,\"b\",L[3511]);\n$step6279 = 17;\n$al6284 = L[3510];\nif(typeof(anf_fun6297.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6297);\n}\n$ans6283 = anf_fun6297.app(anf_arg6298);\nbreak;\ncase 17: var anf_arg6300 = $ans6283;\n$step6279 = 18;\n$al6284 = L[3513];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6299,anf_arg6300,(1));\nbreak;\ncase 18: var anf_arg6305 = $ans6283;\n$step6279 = 19;\n$al6284 = L[3512];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 19: var anf_arg6306 = $ans6283;\n$step6279 = 20;\n$al6284 = L[3505];\nif(typeof(anf_fun6301.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6301);\n}\n$ans6283 = anf_fun6301.app(anf_arg6302,anf_arg6303,anf_arg6304,anf_arg6305,anf_arg6306);\nbreak;\ncase 20: var anf_arg6310 = $ans6283;\n$step6279 = 28;\n$al6284 = L[3499];\nif(typeof(anf_fun6307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6307);\n}\n$ans6283 = anf_fun6307.app(anf_arg6308,anf_arg6309,anf_arg6310);\nbreak;\ncase 21: $ans6283 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3522],L[3523]);\nvar anf_fun6319 = $ans6283;\n$ans6283 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3524],L[3525]);\nvar anf_fun6314 = $ans6283;\n$step6279 = 22;\n$al6284 = L[3532];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 22: var anf_arg6315 = $ans6283;\n$al6284 = L[3526];\nvar anf_arg6311 = G(self6281,\"a\",L[3526]);\n$al6284 = L[3527];\nvar anf_arg6312 = G(self6281,\"b\",L[3527]);\n$step6279 = 23;\n$al6284 = L[3531];\n// omitting isFunction check;\n$ans6283 = _plus5.app(anf_arg6311,anf_arg6312);\nbreak;\ncase 23: var anf_arg6313 = $ans6283;\n$step6279 = 24;\n$al6284 = L[3530];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"loc\"].app(anf_arg6313);\nbreak;\ncase 24: var anf_arg6316 = $ans6283;\n$step6279 = 25;\n$al6284 = L[3529];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" is probably a function call, but there should be no space\"));\nbreak;\ncase 25: var anf_arg6317 = $ans6283;\n$step6279 = 26;\n$al6284 = L[3528];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" between the function and its arguments.\"));\nbreak;\ncase 26: var anf_arg6318 = $ans6283;\n$step6279 = 27;\n$al6284 = L[3525];\nif(typeof(anf_fun6314.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6314);\n}\n$ans6283 = anf_fun6314.app(anf_arg6315,anf_arg6316,anf_arg6317,anf_arg6318);\nbreak;\ncase 27: var anf_arg6320 = $ans6283;\n$step6279 = 28;\n$al6284 = L[3523];\nif(typeof(anf_fun6319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6319);\n}\n$ans6283 = anf_fun6319.app(anf_arg6320);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans6283;\ndefault: R.ffi.throwSpinnakerError(L[3496],$step6279);\n}\n}\nif($step6279 !== 28) {\n$ans6283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6284,$temp_full6280,$step6279,[self6281,src$available6282],[anf_fun6307,anf_arg6299,anf_fun6319,anf_arg6302,anf_arg6303,anf_arg6304,anf_arg6315,anf_arg6305,anf_arg6316,anf_arg6317,anf_arg6308,anf_arg6309,anf_fun6288,anf_fun6301,anf_fun6314,anf_arg6295],$elidedFrames6286);\n}\nreturn $ans6283;\n};\nvar anf_variant_member6909 = R.makeMethod1($temp_full6280,\"render-fancy-reason\");\nvar $temp_full6327 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3536($self6328) {\nvar $step6326 = 0;\nvar $elidedFrames6332 = 0;\nvar $ans6329 = D;\nvar $al6330 = L[3536];\nif(R.isAR($self6328)) {\n$step6326 = $self6328.step;\n$al6330 = $self6328.from;\n$ans6329 = $self6328.ans;\n$elidedFrames6332 = $self6328.elidedFrames;\nself6328 = $self6328.args[0];\nanf_arg6337 = $self6328.vars[0];\nanf_arg6338 = $self6328.vars[1];\nanf_arg6339 = $self6328.vars[2];\nanf_fun6341 = $self6328.vars[3];\nanf_fun6336 = $self6328.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3536],1,$t,true);\n}\nvar self6328 = $self6328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6329 = R.mC();\n}\nwhile(!R.isContinuation($ans6329)) {\nswitch($step6326) {\ncase 0: $ans6329 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3537],L[3538]);\nvar anf_fun6341 = $ans6329;\n$ans6329 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3539],L[3540]);\nvar anf_fun6336 = $ans6329;\n$step6326 = 1;\n$al6330 = L[3547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 1: var anf_arg6337 = $ans6329;\n$al6330 = L[3541];\nvar anf_arg6333 = G(self6328,\"a\",L[3541]);\n$al6330 = L[3542];\nvar anf_arg6334 = G(self6328,\"b\",L[3542]);\n$step6326 = 2;\n$al6330 = L[3546];\n// omitting isFunction check;\n$ans6329 = _plus5.app(anf_arg6333,anf_arg6334);\nbreak;\ncase 2: var anf_arg6335 = $ans6329;\n$step6326 = 3;\n$al6330 = L[3545];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"loc\"].app(anf_arg6335);\nbreak;\ncase 3: var anf_arg6338 = $ans6329;\n$step6326 = 4;\n$al6330 = L[3544];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\" is probably a function call, but there should be no space\"));\nbreak;\ncase 4: var anf_arg6339 = $ans6329;\n$step6326 = 5;\n$al6330 = L[3543];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\" between the function and its arguments.\"));\nbreak;\ncase 5: var anf_arg6340 = $ans6329;\n$step6326 = 6;\n$al6330 = L[3540];\nif(typeof(anf_fun6336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,anf_fun6336);\n}\n$ans6329 = anf_fun6336.app(anf_arg6337,anf_arg6338,anf_arg6339,anf_arg6340);\nbreak;\ncase 6: var anf_arg6342 = $ans6329;\n$step6326 = 7;\n$al6330 = L[3538];\nif(typeof(anf_fun6341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,anf_fun6341);\n}\n$ans6329 = anf_fun6341.app(anf_arg6342);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans6329;\ndefault: R.ffi.throwSpinnakerError(L[3536],$step6326);\n}\n}\nif($step6326 !== 7) {\n$ans6329.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6330,$temp_full6327,$step6326,[self6328],[anf_arg6337,anf_arg6338,anf_arg6339,anf_fun6341,anf_fun6336],$elidedFrames6332);\n}\nreturn $ans6329;\n};\nvar anf_variant_member6910 = R.makeMethod0($temp_full6327,\"render-reason\");\nvar $temp_full6345 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3548($self6346,$src$available6347) {\nvar $step6344 = 0;\nvar $elidedFrames6351 = 0;\nvar $ans6348 = D;\nvar $al6349 = L[3548];\nif(R.isAR($self6346)) {\n$step6344 = $self6346.step;\n$al6349 = $self6346.from;\n$ans6348 = $self6346.ans;\n$elidedFrames6351 = $self6346.elidedFrames;\nself6346 = $self6346.args[0];\nsrc$available6347 = $self6346.args[1];\nanf_arg6375 = $self6346.vars[0];\nanf_arg6365 = $self6346.vars[1];\nanf_arg6376 = $self6346.vars[2];\nanf_arg6366 = $self6346.vars[3];\nanf_arg6377 = $self6346.vars[4];\nanf_arg6367 = $self6346.vars[5];\nanf_arg6358 = $self6346.vars[6];\nanf_fun6374 = $self6346.vars[7];\nanf_fun6353 = $self6346.vars[8];\nanf_fun6364 = $self6346.vars[9];\nanf_fun6379 = $self6346.vars[10];\nanf_arg6370 = $self6346.vars[11];\nanf_fun6369 = $self6346.vars[12];\nanf_arg6371 = $self6346.vars[13];\nanf_arg6362 = $self6346.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3548],2,$t,true);\n}\nvar self6346 = $self6346;\nvar src$available6347 = $src$available6347;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6348 = R.mC();\n}\nwhile(!R.isContinuation($ans6348)) {\nswitch($step6344) {\ncase 0: $al6349 = L[3549];\nvar anf_arg6352 = G(self6346,\"a\",L[3549]);\n$step6344 = 1;\n$al6349 = L[3582];\nif(typeof(src$available6347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,src$available6347);\n}\n$ans6348 = src$available6347.app(anf_arg6352);\nbreak;\ncase 1: var anf_if6384 = $ans6348;\n$step6344 = R.checkPyretTrue(anf_if6384)?2:4;\nbreak;\ncase 2: $al6349 = L[3580];\nvar anf_arg6382 = G(self6346,\"b\",L[3580]);\n$step6344 = 3;\n$al6349 = L[3581];\nif(typeof(src$available6347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,src$available6347);\n}\n$ans6348 = src$available6347.app(anf_arg6382);\nbreak;\ncase 3: var anf_arg6383 = $ans6348;\n$ans6348 = R.checkWrapBoolean(anf_arg6383);\n$step6344 = 5;\nbreak;\ncase 4: $step6344 = 5;\n$ans6348 = (false);\nbreak;\ncase 5: var anf_if6381 = $ans6348;\n$step6344 = R.checkPyretTrue(anf_if6381)?6:19;\nbreak;\ncase 6: $ans6348 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3550],L[3551]);\nvar anf_fun6369 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3552],L[3553]);\nvar anf_fun6353 = $ans6348;\n$step6344 = 7;\n$al6349 = L[3570];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks this code is probably a function header:\"));\nbreak;\ncase 7: var anf_arg6354 = $ans6348;\n$step6344 = 8;\n$al6349 = L[3553];\nif(typeof(anf_fun6353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6353);\n}\n$ans6348 = anf_fun6353.app(anf_arg6354);\nbreak;\ncase 8: var anf_arg6370 = $ans6348;\n$al6349 = L[3554];\nvar anf_arg6355 = G(self6346,\"a\",L[3554]);\n$step6344 = 9;\n$al6349 = L[3569];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6355);\nbreak;\ncase 9: var anf_arg6371 = $ans6348;\n$ans6348 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3555],L[3556]);\nvar anf_fun6364 = $ans6348;\n$step6344 = 10;\n$al6349 = L[3568];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Function headers\"));\nbreak;\ncase 10: var anf_arg6358 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3557],L[3558]);\nvar anf_fun6356 = $ans6348;\n$al6349 = L[3559];\nvar anf_arg6357 = G(self6346,\"a\",L[3559]);\n$step6344 = 11;\n$al6349 = L[3558];\nif(typeof(anf_fun6356.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6356);\n}\n$ans6348 = anf_fun6356.app(anf_arg6357);\nbreak;\ncase 11: var anf_arg6359 = $ans6348;\n$step6344 = 12;\n$al6349 = L[3567];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6358,anf_arg6359,(-1));\nbreak;\ncase 12: var anf_arg6365 = $ans6348;\n$step6344 = 13;\n$al6349 = L[3566];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" must not have space before the \"));\nbreak;\ncase 13: var anf_arg6366 = $ans6348;\n$step6344 = 14;\n$al6349 = L[3565];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 14: var anf_arg6362 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3560],L[3561]);\nvar anf_fun6360 = $ans6348;\n$al6349 = L[3562];\nvar anf_arg6361 = G(self6346,\"b\",L[3562]);\n$step6344 = 15;\n$al6349 = L[3561];\nif(typeof(anf_fun6360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6360);\n}\n$ans6348 = anf_fun6360.app(anf_arg6361);\nbreak;\ncase 15: var anf_arg6363 = $ans6348;\n$step6344 = 16;\n$al6349 = L[3564];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6362,anf_arg6363,(0));\nbreak;\ncase 16: var anf_arg6367 = $ans6348;\n$step6344 = 17;\n$al6349 = L[3563];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 17: var anf_arg6368 = $ans6348;\n$step6344 = 18;\n$al6349 = L[3556];\nif(typeof(anf_fun6364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6364);\n}\n$ans6348 = anf_fun6364.app(anf_arg6365,anf_arg6366,anf_arg6367,anf_arg6368);\nbreak;\ncase 18: var anf_arg6372 = $ans6348;\n$step6344 = 25;\n$al6349 = L[3551];\nif(typeof(anf_fun6369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6369);\n}\n$ans6348 = anf_fun6369.app(anf_arg6370,anf_arg6371,anf_arg6372);\nbreak;\ncase 19: $ans6348 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3571],L[3572]);\nvar anf_fun6379 = $ans6348;\n$ans6348 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3573],L[3574]);\nvar anf_fun6374 = $ans6348;\n$step6344 = 20;\n$al6349 = L[3579];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 20: var anf_arg6375 = $ans6348;\n$al6349 = L[3575];\nvar anf_arg6373 = G(self6346,\"a\",L[3575]);\n$step6344 = 21;\n$al6349 = L[3578];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"loc\"].app(anf_arg6373);\nbreak;\ncase 21: var anf_arg6376 = $ans6348;\n$step6344 = 22;\n$al6349 = L[3577];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" is probably a function header, but there should be no space\"));\nbreak;\ncase 22: var anf_arg6377 = $ans6348;\n$step6344 = 23;\n$al6349 = L[3576];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" before the arguments.\"));\nbreak;\ncase 23: var anf_arg6378 = $ans6348;\n$step6344 = 24;\n$al6349 = L[3574];\nif(typeof(anf_fun6374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6374);\n}\n$ans6348 = anf_fun6374.app(anf_arg6375,anf_arg6376,anf_arg6377,anf_arg6378);\nbreak;\ncase 24: var anf_arg6380 = $ans6348;\n$step6344 = 25;\n$al6349 = L[3572];\nif(typeof(anf_fun6379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6379);\n}\n$ans6348 = anf_fun6379.app(anf_arg6380);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans6348;\ndefault: R.ffi.throwSpinnakerError(L[3548],$step6344);\n}\n}\nif($step6344 !== 25) {\n$ans6348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6349,$temp_full6345,$step6344,[self6346,src$available6347],[anf_arg6375,anf_arg6365,anf_arg6376,anf_arg6366,anf_arg6377,anf_arg6367,anf_arg6358,anf_fun6374,anf_fun6353,anf_fun6364,anf_fun6379,anf_arg6370,anf_fun6369,anf_arg6371,anf_arg6362],$elidedFrames6351);\n}\nreturn $ans6348;\n};\nvar anf_variant_member6919 = R.makeMethod1($temp_full6345,\"render-fancy-reason\");\nvar $temp_full6387 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3583($self6388) {\nvar $step6386 = 0;\nvar $elidedFrames6392 = 0;\nvar $ans6389 = D;\nvar $al6390 = L[3583];\nif(R.isAR($self6388)) {\n$step6386 = $self6388.step;\n$al6390 = $self6388.from;\n$ans6389 = $self6388.ans;\n$elidedFrames6392 = $self6388.elidedFrames;\nself6388 = $self6388.args[0];\nanf_arg6397 = $self6388.vars[0];\nanf_arg6398 = $self6388.vars[1];\nanf_arg6399 = $self6388.vars[2];\nanf_fun6396 = $self6388.vars[3];\nanf_fun6401 = $self6388.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3583],1,$t,true);\n}\nvar self6388 = $self6388;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6389 = R.mC();\n}\nwhile(!R.isContinuation($ans6389)) {\nswitch($step6386) {\ncase 0: $ans6389 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3584],L[3585]);\nvar anf_fun6401 = $ans6389;\n$ans6389 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3586],L[3587]);\nvar anf_fun6396 = $ans6389;\n$step6386 = 1;\n$al6390 = L[3594];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 1: var anf_arg6397 = $ans6389;\n$al6390 = L[3588];\nvar anf_arg6393 = G(self6388,\"a\",L[3588]);\n$al6390 = L[3589];\nvar anf_arg6394 = G(self6388,\"b\",L[3589]);\n$step6386 = 2;\n$al6390 = L[3593];\n// omitting isFunction check;\n$ans6389 = _plus5.app(anf_arg6393,anf_arg6394);\nbreak;\ncase 2: var anf_arg6395 = $ans6389;\n$step6386 = 3;\n$al6390 = L[3592];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"loc\"].app(anf_arg6395);\nbreak;\ncase 3: var anf_arg6398 = $ans6389;\n$step6386 = 4;\n$al6390 = L[3591];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\" is probably a function header, but there should be no space\"));\nbreak;\ncase 4: var anf_arg6399 = $ans6389;\n$step6386 = 5;\n$al6390 = L[3590];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\" between the arguments.\"));\nbreak;\ncase 5: var anf_arg6400 = $ans6389;\n$step6386 = 6;\n$al6390 = L[3587];\nif(typeof(anf_fun6396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,anf_fun6396);\n}\n$ans6389 = anf_fun6396.app(anf_arg6397,anf_arg6398,anf_arg6399,anf_arg6400);\nbreak;\ncase 6: var anf_arg6402 = $ans6389;\n$step6386 = 7;\n$al6390 = L[3585];\nif(typeof(anf_fun6401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,anf_fun6401);\n}\n$ans6389 = anf_fun6401.app(anf_arg6402);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans6389;\ndefault: R.ffi.throwSpinnakerError(L[3583],$step6386);\n}\n}\nif($step6386 !== 7) {\n$ans6389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6390,$temp_full6387,$step6386,[self6388],[anf_arg6397,anf_arg6398,anf_arg6399,anf_fun6396,anf_fun6401],$elidedFrames6392);\n}\nreturn $ans6389;\n};\nvar anf_variant_member6920 = R.makeMethod0($temp_full6387,\"render-reason\");\nvar $temp_full6405 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3595($self6406,$src$available6407) {\nvar $step6404 = 0;\nvar $elidedFrames6411 = 0;\nvar $ans6408 = D;\nvar $al6409 = L[3595];\nif(R.isAR($self6406)) {\n$step6404 = $self6406.step;\n$al6409 = $self6406.from;\n$ans6408 = $self6406.ans;\n$elidedFrames6411 = $self6406.elidedFrames;\nself6406 = $self6406.args[0];\nsrc$available6407 = $self6406.args[1];\nanf_arg6431 = $self6406.vars[0];\nanf_array6424 = $self6406.vars[1];\nanf_arg6443 = $self6406.vars[2];\nanf_arg6435 = $self6406.vars[3];\nanf_arg6426 = $self6406.vars[4];\nanf_arg6427 = $self6406.vars[5];\nanf_arg6418 = $self6406.vars[6];\nanf_fun6440 = $self6406.vars[7];\nanf_fun6430 = $self6406.vars[8];\nanf_fun6442 = $self6406.vars[9];\nanf_fun6423 = $self6406.vars[10];\nanf_fun6413 = $self6406.vars[11];\nanf_array6441 = $self6406.vars[12];\nanf_fun6425 = $self6406.vars[13];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3595],2,$t,true);\n}\nvar self6406 = $self6406;\nvar src$available6407 = $src$available6407;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6408 = R.mC();\n}\nwhile(!R.isContinuation($ans6408)) {\nswitch($step6404) {\ncase 0: $al6409 = L[3596];\nvar anf_arg6412 = G(self6406,\"loc\",L[3596]);\n$step6404 = 1;\n$al6409 = L[3649];\nif(typeof(src$available6407.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,src$available6407);\n}\n$ans6408 = src$available6407.app(anf_arg6412);\nbreak;\ncase 1: var anf_if6445 = $ans6408;\n$step6404 = R.checkPyretTrue(anf_if6445)?2:22;\nbreak;\ncase 2: $ans6408 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3597],L[3598]);\nvar anf_fun6425 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3599],L[3600]);\nvar anf_fun6413 = $ans6408;\n$step6404 = 3;\n$al6409 = L[3622];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 3: var anf_arg6414 = $ans6408;\n$step6404 = 4;\n$al6409 = L[3600];\nif(typeof(anf_fun6413.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6413);\n}\n$ans6408 = anf_fun6413.app(anf_arg6414);\nbreak;\ncase 4: var anf_arg6426 = $ans6408;\n$al6409 = L[3601];\nvar anf_arg6415 = G(self6406,\"loc\",L[3601]);\n$step6404 = 5;\n$al6409 = L[3621];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6415);\nbreak;\ncase 5: var anf_arg6427 = $ans6408;\n$ans6408 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3602],L[3603]);\nvar anf_fun6423 = $ans6408;\n$ans6408 = R.makeArrayN((10));\nvar anf_array6424 = $ans6408;\n$step6404 = 6;\n$al6409 = L[3620];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\" You may need to add or remove some text to fix your program. \"));\nbreak;\ncase 6: anf_array6424[0] = $ans6408;\n$step6404 = 7;\n$al6409 = L[3619];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the \"));\nbreak;\ncase 7: anf_array6424[1] = $ans6408;\n$step6404 = 8;\n$al6409 = L[3618];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"highlighted text\"));\nbreak;\ncase 8: var anf_arg6418 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3604],L[3605]);\nvar anf_fun6416 = $ans6408;\n$al6409 = L[3606];\nvar anf_arg6417 = G(self6406,\"loc\",L[3606]);\n$step6404 = 9;\n$al6409 = L[3605];\nif(typeof(anf_fun6416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6416);\n}\n$ans6408 = anf_fun6416.app(anf_arg6417);\nbreak;\ncase 9: var anf_arg6419 = $ans6408;\n$step6404 = 10;\n$al6409 = L[3617];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6418,anf_arg6419,(0));\nbreak;\ncase 10: anf_array6424[2] = $ans6408;\n$step6404 = 11;\n$al6409 = L[3616];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\". Is there a missing colon (\"));\nbreak;\ncase 11: anf_array6424[3] = $ans6408;\n$step6404 = 12;\n$al6409 = L[3615];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 12: var anf_arg6420 = $ans6408;\n$step6404 = 13;\n$al6409 = L[3614];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6420);\nbreak;\ncase 13: anf_array6424[4] = $ans6408;\n$step6404 = 14;\n$al6409 = L[3613];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 14: anf_array6424[5] = $ans6408;\n$step6404 = 15;\n$al6409 = L[3612];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 15: var anf_arg6421 = $ans6408;\n$step6404 = 16;\n$al6409 = L[3611];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6421);\nbreak;\ncase 16: anf_array6424[6] = $ans6408;\n$step6404 = 17;\n$al6409 = L[3610];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 17: anf_array6424[7] = $ans6408;\n$step6404 = 18;\n$al6409 = L[3609];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 18: var anf_arg6422 = $ans6408;\n$step6404 = 19;\n$al6409 = L[3608];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6422);\nbreak;\ncase 19: anf_array6424[8] = $ans6408;\n$step6404 = 20;\n$al6409 = L[3607];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), or keyword? Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 20: anf_array6424[9] = $ans6408;\n$step6404 = 21;\n$al6409 = L[3603];\nif(typeof(anf_fun6423.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6423);\n}\n$ans6408 = anf_fun6423.app(anf_array6424);\nbreak;\ncase 21: var anf_arg6428 = $ans6408;\n$step6404 = 42;\n$al6409 = L[3598];\nif(typeof(anf_fun6425.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6425);\n}\n$ans6408 = anf_fun6425.app(anf_arg6426,anf_arg6427,anf_arg6428);\nbreak;\ncase 22: $ans6408 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3623],L[3624]);\nvar anf_fun6442 = $ans6408;\n$ans6408 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3625],L[3626]);\nvar anf_fun6430 = $ans6408;\n$step6404 = 23;\n$al6409 = L[3648];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 23: var anf_arg6431 = $ans6408;\n$al6409 = L[3627];\nvar anf_arg6429 = G(self6406,\"loc\",L[3627]);\n$step6404 = 24;\n$al6409 = L[3647];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"loc\"].app(anf_arg6429);\nbreak;\ncase 24: var anf_arg6432 = $ans6408;\n$step6404 = 25;\n$al6409 = L[3626];\nif(typeof(anf_fun6430.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6430);\n}\n$ans6408 = anf_fun6430.app(anf_arg6431,anf_arg6432);\nbreak;\ncase 25: var anf_arg6443 = $ans6408;\n$ans6408 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3628],L[3629]);\nvar anf_fun6440 = $ans6408;\n$ans6408 = R.makeArrayN((10));\nvar anf_array6441 = $ans6408;\n$step6404 = 26;\n$al6409 = L[3646];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\" You may need to add or remove some text to fix your program. \"));\nbreak;\ncase 26: anf_array6441[0] = $ans6408;\n$step6404 = 27;\n$al6409 = L[3645];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the \"));\nbreak;\ncase 27: anf_array6441[1] = $ans6408;\n$step6404 = 28;\n$al6409 = L[3644];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"highlighted text\"));\nbreak;\ncase 28: var anf_arg6435 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3630],L[3631]);\nvar anf_fun6433 = $ans6408;\n$al6409 = L[3632];\nvar anf_arg6434 = G(self6406,\"loc\",L[3632]);\n$step6404 = 29;\n$al6409 = L[3631];\nif(typeof(anf_fun6433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6433);\n}\n$ans6408 = anf_fun6433.app(anf_arg6434);\nbreak;\ncase 29: var anf_arg6436 = $ans6408;\n$step6404 = 30;\n$al6409 = L[3643];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6435,anf_arg6436,(0));\nbreak;\ncase 30: anf_array6441[2] = $ans6408;\n$step6404 = 31;\n$al6409 = L[3642];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\". Is there a missing colon (\"));\nbreak;\ncase 31: anf_array6441[3] = $ans6408;\n$step6404 = 32;\n$al6409 = L[3641];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 32: var anf_arg6437 = $ans6408;\n$step6404 = 33;\n$al6409 = L[3640];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6437);\nbreak;\ncase 33: anf_array6441[4] = $ans6408;\n$step6404 = 34;\n$al6409 = L[3639];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 34: anf_array6441[5] = $ans6408;\n$step6404 = 35;\n$al6409 = L[3638];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 35: var anf_arg6438 = $ans6408;\n$step6404 = 36;\n$al6409 = L[3637];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6438);\nbreak;\ncase 36: anf_array6441[6] = $ans6408;\n$step6404 = 37;\n$al6409 = L[3636];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 37: anf_array6441[7] = $ans6408;\n$step6404 = 38;\n$al6409 = L[3635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 38: var anf_arg6439 = $ans6408;\n$step6404 = 39;\n$al6409 = L[3634];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6439);\nbreak;\ncase 39: anf_array6441[8] = $ans6408;\n$step6404 = 40;\n$al6409 = L[3633];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), or keyword? Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 40: anf_array6441[9] = $ans6408;\n$step6404 = 41;\n$al6409 = L[3629];\nif(typeof(anf_fun6440.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6440);\n}\n$ans6408 = anf_fun6440.app(anf_array6441);\nbreak;\ncase 41: var anf_arg6444 = $ans6408;\n$step6404 = 42;\n$al6409 = L[3624];\nif(typeof(anf_fun6442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6442);\n}\n$ans6408 = anf_fun6442.app(anf_arg6443,anf_arg6444);\nbreak;\ncase 42: ++R.GAS;\nreturn $ans6408;\ndefault: R.ffi.throwSpinnakerError(L[3595],$step6404);\n}\n}\nif($step6404 !== 42) {\n$ans6408.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6409,$temp_full6405,$step6404,[self6406,src$available6407],[anf_arg6431,anf_array6424,anf_arg6443,anf_arg6435,anf_arg6426,anf_arg6427,anf_arg6418,anf_fun6440,anf_fun6430,anf_fun6442,anf_fun6423,anf_fun6413,anf_array6441,anf_fun6425],$elidedFrames6411);\n}\nreturn $ans6408;\n};\nvar anf_variant_member6929 = R.makeMethod1($temp_full6405,\"render-fancy-reason\");\nvar $temp_full6448 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3650($self6449) {\nvar $step6447 = 0;\nvar $elidedFrames6453 = 0;\nvar $ans6450 = D;\nvar $al6451 = L[3650];\nif(R.isAR($self6449)) {\n$step6447 = $self6449.step;\n$al6451 = $self6449.from;\n$ans6450 = $self6449.ans;\n$elidedFrames6453 = $self6449.elidedFrames;\nself6449 = $self6449.args[0];\nanf_array6466 = $self6449.vars[0];\nanf_fun6460 = $self6449.vars[1];\nanf_fun6465 = $self6449.vars[2];\nanf_fun6455 = $self6449.vars[3];\nanf_fun6467 = $self6449.vars[4];\nanf_arg6470 = $self6449.vars[5];\nanf_fun6469 = $self6449.vars[6];\nanf_arg6471 = $self6449.vars[7];\nanf_fun6458 = $self6449.vars[8];\nanf_arg6472 = $self6449.vars[9];\nanf_arg6473 = $self6449.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3650],1,$t,true);\n}\nvar self6449 = $self6449;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6450 = R.mC();\n}\nwhile(!R.isContinuation($ans6450)) {\nswitch($step6447) {\ncase 0: $ans6450 = R.getMaker5(ED6.dict.values.dict[\"error\"],(\"make5\"),L[3651],L[3652]);\nvar anf_fun6469 = $ans6450;\n$ans6450 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3653],L[3654]);\nvar anf_fun6455 = $ans6450;\n$step6447 = 1;\n$al6451 = L[3677];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 1: var anf_arg6456 = $ans6450;\n$al6451 = L[3655];\nvar anf_arg6454 = G(self6449,\"loc\",L[3655]);\n// caller optimization;\n$ans6450 = draw$and$highlight36.$var.app(anf_arg6454);\nvar anf_arg6457 = $ans6450;\n$step6447 = 2;\n$al6451 = L[3654];\nif(typeof(anf_fun6455.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6455);\n}\n$ans6450 = anf_fun6455.app(anf_arg6456,anf_arg6457);\nbreak;\ncase 2: var anf_arg6470 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3656],L[3657]);\nvar anf_fun6458 = $ans6450;\n$step6447 = 3;\n$al6451 = L[3676];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"You may need to add or remove some text to fix your program.\"));\nbreak;\ncase 3: var anf_arg6459 = $ans6450;\n$step6447 = 4;\n$al6451 = L[3657];\nif(typeof(anf_fun6458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6458);\n}\n$ans6450 = anf_fun6458.app(anf_arg6459);\nbreak;\ncase 4: var anf_arg6471 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3658],L[3659]);\nvar anf_fun6460 = $ans6450;\n$step6447 = 5;\n$al6451 = L[3675];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the highlighted text.\"));\nbreak;\ncase 5: var anf_arg6461 = $ans6450;\n$step6447 = 6;\n$al6451 = L[3659];\nif(typeof(anf_fun6460.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6460);\n}\n$ans6450 = anf_fun6460.app(anf_arg6461);\nbreak;\ncase 6: var anf_arg6472 = $ans6450;\n$ans6450 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3660],L[3661]);\nvar anf_fun6465 = $ans6450;\n$ans6450 = R.makeArrayN((7));\nvar anf_array6466 = $ans6450;\n$step6447 = 7;\n$al6451 = L[3674];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Is there a missing colon (\"));\nbreak;\ncase 7: anf_array6466[0] = $ans6450;\n$step6447 = 8;\n$al6451 = L[3673];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 8: var anf_arg6462 = $ans6450;\n$step6447 = 9;\n$al6451 = L[3672];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6462);\nbreak;\ncase 9: anf_array6466[1] = $ans6450;\n$step6447 = 10;\n$al6451 = L[3671];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 10: anf_array6466[2] = $ans6450;\n$step6447 = 11;\n$al6451 = L[3670];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 11: var anf_arg6463 = $ans6450;\n$step6447 = 12;\n$al6451 = L[3669];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6463);\nbreak;\ncase 12: anf_array6466[3] = $ans6450;\n$step6447 = 13;\n$al6451 = L[3668];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 13: anf_array6466[4] = $ans6450;\n$step6447 = 14;\n$al6451 = L[3667];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 14: var anf_arg6464 = $ans6450;\n$step6447 = 15;\n$al6451 = L[3666];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6464);\nbreak;\ncase 15: anf_array6466[5] = $ans6450;\n$step6447 = 16;\n$al6451 = L[3665];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), or keyword?\"));\nbreak;\ncase 16: anf_array6466[6] = $ans6450;\n$step6447 = 17;\n$al6451 = L[3661];\nif(typeof(anf_fun6465.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6465);\n}\n$ans6450 = anf_fun6465.app(anf_array6466);\nbreak;\ncase 17: var anf_arg6473 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3662],L[3663]);\nvar anf_fun6467 = $ans6450;\n$step6447 = 18;\n$al6451 = L[3664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 18: var anf_arg6468 = $ans6450;\n$step6447 = 19;\n$al6451 = L[3663];\nif(typeof(anf_fun6467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6467);\n}\n$ans6450 = anf_fun6467.app(anf_arg6468);\nbreak;\ncase 19: var anf_arg6474 = $ans6450;\n$step6447 = 20;\n$al6451 = L[3652];\nif(typeof(anf_fun6469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6469);\n}\n$ans6450 = anf_fun6469.app(anf_arg6470,anf_arg6471,anf_arg6472,anf_arg6473,anf_arg6474);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans6450;\ndefault: R.ffi.throwSpinnakerError(L[3650],$step6447);\n}\n}\nif($step6447 !== 20) {\n$ans6450.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6451,$temp_full6448,$step6447,[self6449],[anf_array6466,anf_fun6460,anf_fun6465,anf_fun6455,anf_fun6467,anf_arg6470,anf_fun6469,anf_arg6471,anf_fun6458,anf_arg6472,anf_arg6473],$elidedFrames6453);\n}\nreturn $ans6450;\n};\nvar anf_variant_member6930 = R.makeMethod0($temp_full6448,\"render-reason\");\nvar $temp_full6477 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3678($self6478,$src$available6479) {\nvar $step6476 = 0;\nvar $elidedFrames6483 = 0;\nvar $ans6480 = D;\nvar $al6481 = L[3678];\nif(R.isAR($self6478)) {\n$step6476 = $self6478.step;\n$al6481 = $self6478.from;\n$ans6480 = $self6478.ans;\n$elidedFrames6483 = $self6478.elidedFrames;\nself6478 = $self6478.args[0];\nsrc$available6479 = $self6478.args[1];\nanf_arg6496 = $self6478.vars[0];\nanf_fun6507 = $self6478.vars[1];\nanf_arg6510 = $self6478.vars[2];\nanf_arg6499 = $self6478.vars[3];\nanf_arg6500 = $self6478.vars[4];\nanf_arg6513 = $self6478.vars[5];\nanf_arg6504 = $self6478.vars[6];\nanf_arg6508 = $self6478.vars[7];\nanf_arg6509 = $self6478.vars[8];\nanf_fun6493 = $self6478.vars[9];\nanf_fun6485 = $self6478.vars[10];\nanf_fun6498 = $self6478.vars[11];\nanf_arg6491 = $self6478.vars[12];\nanf_fun6512 = $self6478.vars[13];\nanf_arg6494 = $self6478.vars[14];\nanf_fun6503 = $self6478.vars[15];\nanf_arg6495 = $self6478.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3678],2,$t,true);\n}\nvar self6478 = $self6478;\nvar src$available6479 = $src$available6479;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6480 = R.mC();\n}\nwhile(!R.isContinuation($ans6480)) {\nswitch($step6476) {\ncase 0: $al6481 = L[3679];\nvar anf_arg6484 = G(self6478,\"loc\",L[3679]);\n$step6476 = 1;\n$al6481 = L[3712];\nif(typeof(src$available6479.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,src$available6479);\n}\n$ans6480 = src$available6479.app(anf_arg6484);\nbreak;\ncase 1: var anf_if6515 = $ans6480;\n$step6476 = R.checkPyretTrue(anf_if6515)?2:14;\nbreak;\ncase 2: $ans6480 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3680],L[3681]);\nvar anf_fun6498 = $ans6480;\n$ans6480 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3682],L[3683]);\nvar anf_fun6485 = $ans6480;\n$step6476 = 3;\n$al6481 = L[3697];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 3: var anf_arg6486 = $ans6480;\n$step6476 = 4;\n$al6481 = L[3683];\nif(typeof(anf_fun6485.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6485);\n}\n$ans6480 = anf_fun6485.app(anf_arg6486);\nbreak;\ncase 4: var anf_arg6499 = $ans6480;\n$al6481 = L[3684];\nvar anf_arg6487 = G(self6478,\"loc\",L[3684]);\n$step6476 = 5;\n$al6481 = L[3696];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6487);\nbreak;\ncase 5: var anf_arg6500 = $ans6480;\n$ans6480 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3685],L[3686]);\nvar anf_fun6493 = $ans6480;\n$step6476 = 6;\n$al6481 = L[3695];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 6: var anf_arg6494 = $ans6480;\n$step6476 = 7;\n$al6481 = L[3694];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 7: var anf_arg6488 = $ans6480;\n$step6476 = 8;\n$al6481 = L[3693];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"code\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"code\"].app(anf_arg6488);\nbreak;\ncase 8: var anf_arg6491 = $ans6480;\n$ans6480 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3687],L[3688]);\nvar anf_fun6489 = $ans6480;\n$al6481 = L[3689];\nvar anf_arg6490 = G(self6478,\"loc\",L[3689]);\n$step6476 = 9;\n$al6481 = L[3688];\nif(typeof(anf_fun6489.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6489);\n}\n$ans6480 = anf_fun6489.app(anf_arg6490);\nbreak;\ncase 9: var anf_arg6492 = $ans6480;\n$step6476 = 10;\n$al6481 = L[3692];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6491,anf_arg6492,(0));\nbreak;\ncase 10: var anf_arg6495 = $ans6480;\n$step6476 = 11;\n$al6481 = L[3691];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 11: var anf_arg6496 = $ans6480;\n$step6476 = 12;\n$al6481 = L[3690];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 12: var anf_arg6497 = $ans6480;\n$step6476 = 13;\n$al6481 = L[3686];\nif(typeof(anf_fun6493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6493);\n}\n$ans6480 = anf_fun6493.app(anf_arg6494,anf_arg6495,anf_arg6496,anf_arg6497);\nbreak;\ncase 13: var anf_arg6501 = $ans6480;\n$step6476 = 24;\n$al6481 = L[3681];\nif(typeof(anf_fun6498.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6498);\n}\n$ans6480 = anf_fun6498.app(anf_arg6499,anf_arg6500,anf_arg6501);\nbreak;\ncase 14: $ans6480 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3698],L[3699]);\nvar anf_fun6512 = $ans6480;\n$ans6480 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3700],L[3701]);\nvar anf_fun6503 = $ans6480;\n$step6476 = 15;\n$al6481 = L[3711];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 15: var anf_arg6504 = $ans6480;\n$al6481 = L[3702];\nvar anf_arg6502 = G(self6478,\"loc\",L[3702]);\n$step6476 = 16;\n$al6481 = L[3710];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"loc\"].app(anf_arg6502);\nbreak;\ncase 16: var anf_arg6505 = $ans6480;\n$step6476 = 17;\n$al6481 = L[3701];\nif(typeof(anf_fun6503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6503);\n}\n$ans6480 = anf_fun6503.app(anf_arg6504,anf_arg6505);\nbreak;\ncase 17: var anf_arg6513 = $ans6480;\n$ans6480 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3703],L[3704]);\nvar anf_fun6507 = $ans6480;\n$step6476 = 18;\n$al6481 = L[3709];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 18: var anf_arg6508 = $ans6480;\n$step6476 = 19;\n$al6481 = L[3708];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 19: var anf_arg6506 = $ans6480;\n$step6476 = 20;\n$al6481 = L[3707];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"code\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"code\"].app(anf_arg6506);\nbreak;\ncase 20: var anf_arg6509 = $ans6480;\n$step6476 = 21;\n$al6481 = L[3706];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 21: var anf_arg6510 = $ans6480;\n$step6476 = 22;\n$al6481 = L[3705];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 22: var anf_arg6511 = $ans6480;\n$step6476 = 23;\n$al6481 = L[3704];\nif(typeof(anf_fun6507.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6507);\n}\n$ans6480 = anf_fun6507.app(anf_arg6508,anf_arg6509,anf_arg6510,anf_arg6511);\nbreak;\ncase 23: var anf_arg6514 = $ans6480;\n$step6476 = 24;\n$al6481 = L[3699];\nif(typeof(anf_fun6512.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6512);\n}\n$ans6480 = anf_fun6512.app(anf_arg6513,anf_arg6514);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans6480;\ndefault: R.ffi.throwSpinnakerError(L[3678],$step6476);\n}\n}\nif($step6476 !== 24) {\n$ans6480.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6481,$temp_full6477,$step6476,[self6478,src$available6479],[anf_arg6496,anf_fun6507,anf_arg6510,anf_arg6499,anf_arg6500,anf_arg6513,anf_arg6504,anf_arg6508,anf_arg6509,anf_fun6493,anf_fun6485,anf_fun6498,anf_arg6491,anf_fun6512,anf_arg6494,anf_fun6503,anf_arg6495],$elidedFrames6483);\n}\nreturn $ans6480;\n};\nvar anf_variant_member6939 = R.makeMethod1($temp_full6477,\"render-fancy-reason\");\nvar $temp_full6518 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3713($self6519) {\nvar $step6517 = 0;\nvar $elidedFrames6523 = 0;\nvar $ans6520 = D;\nvar $al6521 = L[3713];\nif(R.isAR($self6519)) {\n$step6517 = $self6519.step;\n$al6521 = $self6519.from;\n$ans6520 = $self6519.ans;\n$elidedFrames6523 = $self6519.elidedFrames;\nself6519 = $self6519.args[0];\nanf_arg6530 = $self6519.vars[0];\nanf_fun6528 = $self6519.vars[1];\nanf_arg6531 = $self6519.vars[2];\nanf_arg6534 = $self6519.vars[3];\nanf_arg6535 = $self6519.vars[4];\nanf_arg6529 = $self6519.vars[5];\nanf_fun6533 = $self6519.vars[6];\nanf_fun6524 = $self6519.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3713],1,$t,true);\n}\nvar self6519 = $self6519;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6520 = R.mC();\n}\nwhile(!R.isContinuation($ans6520)) {\nswitch($step6517) {\ncase 0: $ans6520 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3714],L[3715]);\nvar anf_fun6533 = $ans6520;\n$ans6520 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3716],L[3717]);\nvar anf_fun6524 = $ans6520;\n$step6517 = 1;\n$al6521 = L[3726];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 1: var anf_arg6525 = $ans6520;\n$step6517 = 2;\n$al6521 = L[3717];\nif(typeof(anf_fun6524.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6524);\n}\n$ans6520 = anf_fun6524.app(anf_arg6525);\nbreak;\ncase 2: var anf_arg6534 = $ans6520;\n$al6521 = L[3718];\nvar anf_arg6526 = G(self6519,\"loc\",L[3718]);\n// caller optimization;\n$ans6520 = draw$and$highlight36.$var.app(anf_arg6526);\nvar anf_arg6535 = $ans6520;\n$ans6520 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3719],L[3720]);\nvar anf_fun6528 = $ans6520;\n$step6517 = 3;\n$al6521 = L[3725];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 3: var anf_arg6529 = $ans6520;\n$step6517 = 4;\n$al6521 = L[3724];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 4: var anf_arg6527 = $ans6520;\n$step6517 = 5;\n$al6521 = L[3723];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"code\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"code\"].app(anf_arg6527);\nbreak;\ncase 5: var anf_arg6530 = $ans6520;\n$step6517 = 6;\n$al6521 = L[3722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 6: var anf_arg6531 = $ans6520;\n$step6517 = 7;\n$al6521 = L[3721];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 7: var anf_arg6532 = $ans6520;\n$step6517 = 8;\n$al6521 = L[3720];\nif(typeof(anf_fun6528.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6528);\n}\n$ans6520 = anf_fun6528.app(anf_arg6529,anf_arg6530,anf_arg6531,anf_arg6532);\nbreak;\ncase 8: var anf_arg6536 = $ans6520;\n$step6517 = 9;\n$al6521 = L[3715];\nif(typeof(anf_fun6533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6533);\n}\n$ans6520 = anf_fun6533.app(anf_arg6534,anf_arg6535,anf_arg6536);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans6520;\ndefault: R.ffi.throwSpinnakerError(L[3713],$step6517);\n}\n}\nif($step6517 !== 9) {\n$ans6520.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6521,$temp_full6518,$step6517,[self6519],[anf_arg6530,anf_fun6528,anf_arg6531,anf_arg6534,anf_arg6535,anf_arg6529,anf_fun6533,anf_fun6524],$elidedFrames6523);\n}\nreturn $ans6520;\n};\nvar anf_variant_member6940 = R.makeMethod0($temp_full6518,\"render-reason\");\nvar $temp_full6539 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3727($self6540,$src$available6541) {\nvar $step6538 = 0;\nvar $elidedFrames6545 = 0;\nvar $ans6542 = D;\nvar $al6543 = L[3727];\nif(R.isAR($self6540)) {\n$step6538 = $self6540.step;\n$al6543 = $self6540.from;\n$ans6542 = $self6540.ans;\n$elidedFrames6545 = $self6540.elidedFrames;\nself6540 = $self6540.args[0];\nsrc$available6541 = $self6540.args[1];\nanf_arg6552 = $self6540.vars[0];\nanf_arg6553 = $self6540.vars[1];\nanf_arg6564 = $self6540.vars[2];\nanf_arg6565 = $self6540.vars[3];\nanf_arg6559 = $self6540.vars[4];\nanf_arg6549 = $self6540.vars[5];\nanf_fun6551 = $self6540.vars[6];\nanf_fun6563 = $self6540.vars[7];\nanf_fun6556 = $self6540.vars[8];\nanf_fun6567 = $self6540.vars[9];\nanf_arg6560 = $self6540.vars[10];\nanf_fun6558 = $self6540.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3727],2,$t,true);\n}\nvar self6540 = $self6540;\nvar src$available6541 = $src$available6541;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6542 = R.mC();\n}\nwhile(!R.isContinuation($ans6542)) {\nswitch($step6538) {\ncase 0: $al6543 = L[3728];\nvar anf_arg6546 = G(self6540,\"loc\",L[3728]);\n$step6538 = 1;\n$al6543 = L[3753];\nif(typeof(src$available6541.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,src$available6541);\n}\n$ans6542 = src$available6541.app(anf_arg6546);\nbreak;\ncase 1: var anf_if6569 = $ans6542;\n$step6538 = R.checkPyretTrue(anf_if6569)?2:12;\nbreak;\ncase 2: $ans6542 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3729],L[3730]);\nvar anf_fun6558 = $ans6542;\n$ans6542 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3731],L[3732]);\nvar anf_fun6551 = $ans6542;\n$step6538 = 3;\n$al6543 = L[3744];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't expect your program to \"));\nbreak;\ncase 3: var anf_arg6552 = $ans6542;\n$step6538 = 4;\n$al6543 = L[3743];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"end\"));\nbreak;\ncase 4: var anf_arg6549 = $ans6542;\n$ans6542 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3733],L[3734]);\nvar anf_fun6547 = $ans6542;\n$al6543 = L[3735];\nvar anf_arg6548 = G(self6540,\"loc\",L[3735]);\n$step6538 = 5;\n$al6543 = L[3734];\nif(typeof(anf_fun6547.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6547);\n}\n$ans6542 = anf_fun6547.app(anf_arg6548);\nbreak;\ncase 5: var anf_arg6550 = $ans6542;\n$step6538 = 6;\n$al6543 = L[3742];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6549,anf_arg6550,(-1));\nbreak;\ncase 6: var anf_arg6553 = $ans6542;\n$step6538 = 7;\n$al6543 = L[3741];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\" as soon as it did:\"));\nbreak;\ncase 7: var anf_arg6554 = $ans6542;\n$step6538 = 8;\n$al6543 = L[3732];\nif(typeof(anf_fun6551.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6551);\n}\n$ans6542 = anf_fun6551.app(anf_arg6552,anf_arg6553,anf_arg6554);\nbreak;\ncase 8: var anf_arg6559 = $ans6542;\n$al6543 = L[3736];\nvar anf_arg6555 = G(self6540,\"loc\",L[3736]);\n$step6538 = 9;\n$al6543 = L[3740];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6555);\nbreak;\ncase 9: var anf_arg6560 = $ans6542;\n$ans6542 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3737],L[3738]);\nvar anf_fun6556 = $ans6542;\n$step6538 = 10;\n$al6543 = L[3739];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" somewhere in your program.\"));\nbreak;\ncase 10: var anf_arg6557 = $ans6542;\n$step6538 = 11;\n$al6543 = L[3738];\nif(typeof(anf_fun6556.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6556);\n}\n$ans6542 = anf_fun6556.app(anf_arg6557);\nbreak;\ncase 11: var anf_arg6561 = $ans6542;\n$step6538 = 17;\n$al6543 = L[3730];\nif(typeof(anf_fun6558.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6558);\n}\n$ans6542 = anf_fun6558.app(anf_arg6559,anf_arg6560,anf_arg6561);\nbreak;\ncase 12: $ans6542 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3745],L[3746]);\nvar anf_fun6567 = $ans6542;\n$ans6542 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3747],L[3748]);\nvar anf_fun6563 = $ans6542;\n$step6538 = 13;\n$al6543 = L[3752];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't expect your program to end (at \"));\nbreak;\ncase 13: var anf_arg6564 = $ans6542;\n$al6543 = L[3749];\nvar anf_arg6562 = G(self6540,\"loc\",L[3749]);\n$step6538 = 14;\n$al6543 = L[3751];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"loc\"].app(anf_arg6562);\nbreak;\ncase 14: var anf_arg6565 = $ans6542;\n$step6538 = 15;\n$al6543 = L[3750];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\") as soon as it did. You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" somewhere in your program.\"));\nbreak;\ncase 15: var anf_arg6566 = $ans6542;\n$step6538 = 16;\n$al6543 = L[3748];\nif(typeof(anf_fun6563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6563);\n}\n$ans6542 = anf_fun6563.app(anf_arg6564,anf_arg6565,anf_arg6566);\nbreak;\ncase 16: var anf_arg6568 = $ans6542;\n$step6538 = 17;\n$al6543 = L[3746];\nif(typeof(anf_fun6567.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6567);\n}\n$ans6542 = anf_fun6567.app(anf_arg6568);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans6542;\ndefault: R.ffi.throwSpinnakerError(L[3727],$step6538);\n}\n}\nif($step6538 !== 17) {\n$ans6542.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6543,$temp_full6539,$step6538,[self6540,src$available6541],[anf_arg6552,anf_arg6553,anf_arg6564,anf_arg6565,anf_arg6559,anf_arg6549,anf_fun6551,anf_fun6563,anf_fun6556,anf_fun6567,anf_arg6560,anf_fun6558],$elidedFrames6545);\n}\nreturn $ans6542;\n};\nvar anf_variant_member6948 = R.makeMethod1($temp_full6539,\"render-fancy-reason\");\nvar $temp_full6572 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3754($self6573) {\nvar $step6571 = 0;\nvar $elidedFrames6577 = 0;\nvar $ans6574 = D;\nvar $al6575 = L[3754];\nif(R.isAR($self6573)) {\n$step6571 = $self6573.step;\n$al6575 = $self6573.from;\n$ans6574 = $self6573.ans;\n$elidedFrames6577 = $self6573.elidedFrames;\nself6573 = $self6573.args[0];\nanf_fun6581 = $self6573.vars[0];\nanf_fun6578 = $self6573.vars[1];\nanf_arg6579 = $self6573.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3754],1,$t,true);\n}\nvar self6573 = $self6573;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6574 = R.mC();\n}\nwhile(!R.isContinuation($ans6574)) {\nswitch($step6571) {\ncase 0: $ans6574 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3755],L[3756]);\nvar anf_fun6581 = $ans6574;\n$ans6574 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3757],L[3758]);\nvar anf_fun6578 = $ans6574;\n$step6571 = 1;\n$al6575 = L[3760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,ED6.dict.values.dict[\"text\"]);\n}\n$ans6574 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand the very end of your program.\"));\nbreak;\ncase 1: var anf_arg6579 = $ans6574;\n$step6571 = 2;\n$al6575 = L[3759];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,ED6.dict.values.dict[\"text\"]);\n}\n$ans6574 = ED6.dict.values.dict[\"text\"].app((\"You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" right at the end.\"));\nbreak;\ncase 2: var anf_arg6580 = $ans6574;\n$step6571 = 3;\n$al6575 = L[3758];\nif(typeof(anf_fun6578.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,anf_fun6578);\n}\n$ans6574 = anf_fun6578.app(anf_arg6579,anf_arg6580);\nbreak;\ncase 3: var anf_arg6582 = $ans6574;\n$step6571 = 4;\n$al6575 = L[3756];\nif(typeof(anf_fun6581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,anf_fun6581);\n}\n$ans6574 = anf_fun6581.app(anf_arg6582);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6574;\ndefault: R.ffi.throwSpinnakerError(L[3754],$step6571);\n}\n}\nif($step6571 !== 4) {\n$ans6574.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6575,$temp_full6572,$step6571,[self6573],[anf_fun6581,anf_fun6578,anf_arg6579],$elidedFrames6577);\n}\nreturn $ans6574;\n};\nvar anf_variant_member6949 = R.makeMethod0($temp_full6572,\"render-reason\");\nvar $temp_full6585 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3761($self6586,$src$available6587) {\nvar $step6584 = 0;\nvar $elidedFrames6591 = 0;\nvar $ans6588 = D;\nvar $al6589 = L[3761];\nif(R.isAR($self6586)) {\n$step6584 = $self6586.step;\n$al6589 = $self6586.from;\n$ans6588 = $self6586.ans;\n$elidedFrames6591 = $self6586.elidedFrames;\nself6586 = $self6586.args[0];\nsrc$available6587 = $self6586.args[1];\nanf_arg6598 = $self6586.vars[0];\nanf_fun6607 = $self6586.vars[1];\nanf_arg6610 = $self6586.vars[2];\nanf_arg6599 = $self6586.vars[3];\nanf_arg6611 = $self6586.vars[4];\nanf_arg6602 = $self6586.vars[5];\nanf_arg6603 = $self6586.vars[6];\nanf_arg6608 = $self6586.vars[7];\nanf_arg6609 = $self6586.vars[8];\nanf_fun6593 = $self6586.vars[9];\nanf_fun6597 = $self6586.vars[10];\nanf_fun6601 = $self6586.vars[11];\nanf_fun6613 = $self6586.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3761],2,$t,true);\n}\nvar self6586 = $self6586;\nvar src$available6587 = $src$available6587;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6588 = R.mC();\n}\nwhile(!R.isContinuation($ans6588)) {\nswitch($step6584) {\ncase 0: $al6589 = L[3762];\nvar anf_arg6592 = G(self6586,\"loc\",L[3762]);\n$step6584 = 1;\n$al6589 = L[3787];\nif(typeof(src$available6587.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,src$available6587);\n}\n$ans6588 = src$available6587.app(anf_arg6592);\nbreak;\ncase 1: var anf_if6615 = $ans6588;\n$step6584 = R.checkPyretTrue(anf_if6615)?2:11;\nbreak;\ncase 2: $ans6588 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3763],L[3764]);\nvar anf_fun6601 = $ans6588;\n$ans6588 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3765],L[3766]);\nvar anf_fun6593 = $ans6588;\n$step6584 = 3;\n$al6589 = L[3775];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the string \"));\nbreak;\ncase 3: var anf_arg6594 = $ans6588;\n$step6584 = 4;\n$al6589 = L[3766];\nif(typeof(anf_fun6593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6593);\n}\n$ans6588 = anf_fun6593.app(anf_arg6594);\nbreak;\ncase 4: var anf_arg6602 = $ans6588;\n$al6589 = L[3767];\nvar anf_arg6595 = G(self6586,\"loc\",L[3767]);\n$step6584 = 5;\n$al6589 = L[3774];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6595);\nbreak;\ncase 5: var anf_arg6603 = $ans6588;\n$ans6588 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3768],L[3769]);\nvar anf_fun6597 = $ans6588;\n$step6584 = 6;\n$al6589 = L[3773];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"is not finished; you may be missing closing punctuation. If you intended to write a multi-line string, use \"));\nbreak;\ncase 6: var anf_arg6598 = $ans6588;\n$step6584 = 7;\n$al6589 = L[3772];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"```\"));\nbreak;\ncase 7: var anf_arg6596 = $ans6588;\n$step6584 = 8;\n$al6589 = L[3771];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"code\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"code\"].app(anf_arg6596);\nbreak;\ncase 8: var anf_arg6599 = $ans6588;\n$step6584 = 9;\n$al6589 = L[3770];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\" instead of quotation marks.\"));\nbreak;\ncase 9: var anf_arg6600 = $ans6588;\n$step6584 = 10;\n$al6589 = L[3769];\nif(typeof(anf_fun6597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6597);\n}\n$ans6588 = anf_fun6597.app(anf_arg6598,anf_arg6599,anf_arg6600);\nbreak;\ncase 10: var anf_arg6604 = $ans6588;\n$step6584 = 19;\n$al6589 = L[3764];\nif(typeof(anf_fun6601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6601);\n}\n$ans6588 = anf_fun6601.app(anf_arg6602,anf_arg6603,anf_arg6604);\nbreak;\ncase 11: $ans6588 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3776],L[3777]);\nvar anf_fun6613 = $ans6588;\n$ans6588 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3778],L[3779]);\nvar anf_fun6607 = $ans6588;\n$step6584 = 12;\n$al6589 = L[3786];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the string at \"));\nbreak;\ncase 12: var anf_arg6608 = $ans6588;\n$al6589 = L[3780];\nvar anf_arg6605 = G(self6586,\"loc\",L[3780]);\n$step6584 = 13;\n$al6589 = L[3785];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"loc\"].app(anf_arg6605);\nbreak;\ncase 13: var anf_arg6609 = $ans6588;\n$step6584 = 14;\n$al6589 = L[3784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"is not finished; you may be missing closing punctuation. If you intended to write a multi-line string, use \"));\nbreak;\ncase 14: var anf_arg6610 = $ans6588;\n$step6584 = 15;\n$al6589 = L[3783];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"```\"));\nbreak;\ncase 15: var anf_arg6606 = $ans6588;\n$step6584 = 16;\n$al6589 = L[3782];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"code\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"code\"].app(anf_arg6606);\nbreak;\ncase 16: var anf_arg6611 = $ans6588;\n$step6584 = 17;\n$al6589 = L[3781];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\" instead of quotation marks.\"));\nbreak;\ncase 17: var anf_arg6612 = $ans6588;\n$step6584 = 18;\n$al6589 = L[3779];\nif(typeof(anf_fun6607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6607);\n}\n$ans6588 = anf_fun6607.app(anf_arg6608,anf_arg6609,anf_arg6610,anf_arg6611,anf_arg6612);\nbreak;\ncase 18: var anf_arg6614 = $ans6588;\n$step6584 = 19;\n$al6589 = L[3777];\nif(typeof(anf_fun6613.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6613);\n}\n$ans6588 = anf_fun6613.app(anf_arg6614);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans6588;\ndefault: R.ffi.throwSpinnakerError(L[3761],$step6584);\n}\n}\nif($step6584 !== 19) {\n$ans6588.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6589,$temp_full6585,$step6584,[self6586,src$available6587],[anf_arg6598,anf_fun6607,anf_arg6610,anf_arg6599,anf_arg6611,anf_arg6602,anf_arg6603,anf_arg6608,anf_arg6609,anf_fun6593,anf_fun6597,anf_fun6601,anf_fun6613],$elidedFrames6591);\n}\nreturn $ans6588;\n};\nvar anf_variant_member6957 = R.makeMethod1($temp_full6585,\"render-fancy-reason\");\nvar $temp_full6618 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3788($self6619) {\nvar $step6617 = 0;\nvar $elidedFrames6623 = 0;\nvar $ans6620 = D;\nvar $al6621 = L[3788];\nif(R.isAR($self6619)) {\n$step6617 = $self6619.step;\n$al6621 = $self6619.from;\n$ans6620 = $self6619.ans;\n$elidedFrames6623 = $self6619.elidedFrames;\nself6619 = $self6619.args[0];\nanf_fun6629 = $self6619.vars[0];\nanf_fun6625 = $self6619.vars[1];\nanf_arg6626 = $self6619.vars[2];\nanf_arg6627 = $self6619.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3788],1,$t,true);\n}\nvar self6619 = $self6619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6620 = R.mC();\n}\nwhile(!R.isContinuation($ans6620)) {\nswitch($step6617) {\ncase 0: $ans6620 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3789],L[3790]);\nvar anf_fun6629 = $ans6620;\n$ans6620 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3791],L[3792]);\nvar anf_fun6625 = $ans6620;\n$step6617 = 1;\n$al6621 = L[3795];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,ED6.dict.values.dict[\"text\"]);\n}\n$ans6620 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program has an incomplete string literal around \"));\nbreak;\ncase 1: var anf_arg6626 = $ans6620;\n$al6621 = L[3793];\nvar anf_arg6624 = G(self6619,\"loc\",L[3793]);\n// caller optimization;\n$ans6620 = draw$and$highlight36.$var.app(anf_arg6624);\nvar anf_arg6627 = $ans6620;\n$step6617 = 2;\n$al6621 = L[3794];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,ED6.dict.values.dict[\"text\"]);\n}\n$ans6620 = ED6.dict.values.dict[\"text\"].app((\"; you may be missing closing punctuation.\"));\nbreak;\ncase 2: var anf_arg6628 = $ans6620;\n$step6617 = 3;\n$al6621 = L[3792];\nif(typeof(anf_fun6625.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,anf_fun6625);\n}\n$ans6620 = anf_fun6625.app(anf_arg6626,anf_arg6627,anf_arg6628);\nbreak;\ncase 3: var anf_arg6630 = $ans6620;\n$step6617 = 4;\n$al6621 = L[3790];\nif(typeof(anf_fun6629.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,anf_fun6629);\n}\n$ans6620 = anf_fun6629.app(anf_arg6630);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6620;\ndefault: R.ffi.throwSpinnakerError(L[3788],$step6617);\n}\n}\nif($step6617 !== 4) {\n$ans6620.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6621,$temp_full6618,$step6617,[self6619],[anf_fun6629,anf_fun6625,anf_arg6626,anf_arg6627],$elidedFrames6623);\n}\nreturn $ans6620;\n};\nvar anf_variant_member6958 = R.makeMethod0($temp_full6618,\"render-reason\");\nvar $temp_full6633 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3796($self6634,$src$available6635) {\nvar $step6632 = 0;\nvar $elidedFrames6639 = 0;\nvar $ans6636 = D;\nvar $al6637 = L[3796];\nif(R.isAR($self6634)) {\n$step6632 = $self6634.step;\n$al6637 = $self6634.from;\n$ans6636 = $self6634.ans;\n$elidedFrames6639 = $self6634.elidedFrames;\nself6634 = $self6634.args[0];\nsrc$available6635 = $self6634.args[1];\nanf_fun6649 = $self6634.vars[0];\nanf_arg6652 = $self6634.vars[1];\nanf_arg6653 = $self6634.vars[2];\nanf_arg6643 = $self6634.vars[3];\nanf_arg6646 = $self6634.vars[4];\nanf_arg6657 = $self6634.vars[5];\nanf_arg6658 = $self6634.vars[6];\nanf_fun6660 = $self6634.vars[7];\nanf_fun6651 = $self6634.vars[8];\nanf_fun6645 = $self6634.vars[9];\nanf_fun6656 = $self6634.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3796],2,$t,true);\n}\nvar self6634 = $self6634;\nvar src$available6635 = $src$available6635;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6636 = R.mC();\n}\nwhile(!R.isContinuation($ans6636)) {\nswitch($step6632) {\ncase 0: $al6637 = L[3797];\nvar anf_arg6640 = G(self6634,\"loc\",L[3797]);\n$step6632 = 1;\n$al6637 = L[3821];\nif(typeof(src$available6635.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,src$available6635);\n}\n$ans6636 = src$available6635.app(anf_arg6640);\nbreak;\ncase 1: var anf_if6662 = $ans6636;\n$step6632 = R.checkPyretTrue(anf_if6662)?2:11;\nbreak;\ncase 2: $ans6636 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3798],L[3799]);\nvar anf_fun6651 = $ans6636;\n$ans6636 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3800],L[3801]);\nvar anf_fun6645 = $ans6636;\n$step6632 = 3;\n$al6637 = L[3812];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg6646 = $ans6636;\n$step6632 = 4;\n$al6637 = L[3811];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 4: var anf_arg6643 = $ans6636;\n$ans6636 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3802],L[3803]);\nvar anf_fun6641 = $ans6636;\n$al6637 = L[3804];\nvar anf_arg6642 = G(self6634,\"loc\",L[3804]);\n$step6632 = 5;\n$al6637 = L[3803];\nif(typeof(anf_fun6641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6641);\n}\n$ans6636 = anf_fun6641.app(anf_arg6642);\nbreak;\ncase 5: var anf_arg6644 = $ans6636;\n$step6632 = 6;\n$al6637 = L[3810];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6643,anf_arg6644,(0));\nbreak;\ncase 6: var anf_arg6647 = $ans6636;\n$step6632 = 7;\n$al6637 = L[3801];\nif(typeof(anf_fun6645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6645);\n}\n$ans6636 = anf_fun6645.app(anf_arg6646,anf_arg6647);\nbreak;\ncase 7: var anf_arg6652 = $ans6636;\n$al6637 = L[3805];\nvar anf_arg6648 = G(self6634,\"loc\",L[3805]);\n$step6632 = 8;\n$al6637 = L[3809];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6648);\nbreak;\ncase 8: var anf_arg6653 = $ans6636;\n$ans6636 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3806],L[3807]);\nvar anf_fun6649 = $ans6636;\n$step6632 = 9;\n$al6637 = L[3808];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\" must have whitespace separating it from its operands.\"));\nbreak;\ncase 9: var anf_arg6650 = $ans6636;\n$step6632 = 10;\n$al6637 = L[3807];\nif(typeof(anf_fun6649.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6649);\n}\n$ans6636 = anf_fun6649.app(anf_arg6650);\nbreak;\ncase 10: var anf_arg6654 = $ans6636;\n$step6632 = 16;\n$al6637 = L[3799];\nif(typeof(anf_fun6651.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6651);\n}\n$ans6636 = anf_fun6651.app(anf_arg6652,anf_arg6653,anf_arg6654);\nbreak;\ncase 11: $ans6636 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3813],L[3814]);\nvar anf_fun6660 = $ans6636;\n$ans6636 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3815],L[3816]);\nvar anf_fun6656 = $ans6636;\n$step6632 = 12;\n$al6637 = L[3820];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"The operator at \"));\nbreak;\ncase 12: var anf_arg6657 = $ans6636;\n$al6637 = L[3817];\nvar anf_arg6655 = G(self6634,\"loc\",L[3817]);\n$step6632 = 13;\n$al6637 = L[3819];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"loc\"].app(anf_arg6655);\nbreak;\ncase 13: var anf_arg6658 = $ans6636;\n$step6632 = 14;\n$al6637 = L[3818];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\" must have whitespace separating it from its operands.\"));\nbreak;\ncase 14: var anf_arg6659 = $ans6636;\n$step6632 = 15;\n$al6637 = L[3816];\nif(typeof(anf_fun6656.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6656);\n}\n$ans6636 = anf_fun6656.app(anf_arg6657,anf_arg6658,anf_arg6659);\nbreak;\ncase 15: var anf_arg6661 = $ans6636;\n$step6632 = 16;\n$al6637 = L[3814];\nif(typeof(anf_fun6660.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6660);\n}\n$ans6636 = anf_fun6660.app(anf_arg6661);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans6636;\ndefault: R.ffi.throwSpinnakerError(L[3796],$step6632);\n}\n}\nif($step6632 !== 16) {\n$ans6636.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6637,$temp_full6633,$step6632,[self6634,src$available6635],[anf_fun6649,anf_arg6652,anf_arg6653,anf_arg6643,anf_arg6646,anf_arg6657,anf_arg6658,anf_fun6660,anf_fun6651,anf_fun6645,anf_fun6656],$elidedFrames6639);\n}\nreturn $ans6636;\n};\nvar anf_variant_member6966 = R.makeMethod1($temp_full6633,\"render-fancy-reason\");\nvar $temp_full6665 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3822($self6666) {\nvar $step6664 = 0;\nvar $elidedFrames6670 = 0;\nvar $ans6667 = D;\nvar $al6668 = L[3822];\nif(R.isAR($self6666)) {\n$step6664 = $self6666.step;\n$al6668 = $self6666.from;\n$ans6667 = $self6666.ans;\n$elidedFrames6670 = $self6666.elidedFrames;\nself6666 = $self6666.args[0];\nanf_fun6676 = $self6666.vars[0];\nanf_fun6672 = $self6666.vars[1];\nanf_arg6673 = $self6666.vars[2];\nanf_arg6674 = $self6666.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3822],1,$t,true);\n}\nvar self6666 = $self6666;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6667 = R.mC();\n}\nwhile(!R.isContinuation($ans6667)) {\nswitch($step6664) {\ncase 0: $ans6667 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3823],L[3824]);\nvar anf_fun6676 = $ans6667;\n$ans6667 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3825],L[3826]);\nvar anf_fun6672 = $ans6667;\n$step6664 = 1;\n$al6668 = L[3829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,ED6.dict.values.dict[\"text\"]);\n}\n$ans6667 = ED6.dict.values.dict[\"text\"].app((\"The operator at \"));\nbreak;\ncase 1: var anf_arg6673 = $ans6667;\n$al6668 = L[3827];\nvar anf_arg6671 = G(self6666,\"loc\",L[3827]);\n// caller optimization;\n$ans6667 = draw$and$highlight36.$var.app(anf_arg6671);\nvar anf_arg6674 = $ans6667;\n$step6664 = 2;\n$al6668 = L[3828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,ED6.dict.values.dict[\"text\"]);\n}\n$ans6667 = ED6.dict.values.dict[\"text\"].app((\" has no surrounding whitespace.\"));\nbreak;\ncase 2: var anf_arg6675 = $ans6667;\n$step6664 = 3;\n$al6668 = L[3826];\nif(typeof(anf_fun6672.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,anf_fun6672);\n}\n$ans6667 = anf_fun6672.app(anf_arg6673,anf_arg6674,anf_arg6675);\nbreak;\ncase 3: var anf_arg6677 = $ans6667;\n$step6664 = 4;\n$al6668 = L[3824];\nif(typeof(anf_fun6676.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,anf_fun6676);\n}\n$ans6667 = anf_fun6676.app(anf_arg6677);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6667;\ndefault: R.ffi.throwSpinnakerError(L[3822],$step6664);\n}\n}\nif($step6664 !== 4) {\n$ans6667.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6668,$temp_full6665,$step6664,[self6666],[anf_fun6676,anf_fun6672,anf_arg6673,anf_arg6674],$elidedFrames6670);\n}\nreturn $ans6667;\n};\nvar anf_variant_member6967 = R.makeMethod0($temp_full6665,\"render-reason\");\nvar $temp_full6680 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3830($self6681,$src$available6682) {\nvar $step6679 = 0;\nvar $elidedFrames6686 = 0;\nvar $ans6683 = D;\nvar $al6684 = L[3830];\nif(R.isAR($self6681)) {\n$step6679 = $self6681.step;\n$al6684 = $self6681.from;\n$ans6683 = $self6681.ans;\n$elidedFrames6686 = $self6681.elidedFrames;\nself6681 = $self6681.args[0];\nsrc$available6682 = $self6681.args[1];\nanf_arg6694 = $self6681.vars[0];\nanf_arg6695 = $self6681.vars[1];\nanf_arg6699 = $self6681.vars[2];\nanf_arg6700 = $self6681.vars[3];\nanf_fun6691 = $self6681.vars[4];\nanf_fun6693 = $self6681.vars[5];\nanf_fun6698 = $self6681.vars[6];\nanf_fun6688 = $self6681.vars[7];\nanf_fun6702 = $self6681.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3830],2,$t,true);\n}\nvar self6681 = $self6681;\nvar src$available6682 = $src$available6682;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6683 = R.mC();\n}\nwhile(!R.isContinuation($ans6683)) {\nswitch($step6679) {\ncase 0: $al6684 = L[3831];\nvar anf_arg6687 = G(self6681,\"loc\",L[3831]);\n$step6679 = 1;\n$al6684 = L[3850];\nif(typeof(src$available6682.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,src$available6682);\n}\n$ans6683 = src$available6682.app(anf_arg6687);\nbreak;\ncase 1: var anf_if6704 = $ans6683;\n$step6679 = R.checkPyretTrue(anf_if6704)?2:8;\nbreak;\ncase 2: $ans6683 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3832],L[3833]);\nvar anf_fun6693 = $ans6683;\n$ans6683 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3834],L[3835]);\nvar anf_fun6688 = $ans6683;\n$step6679 = 3;\n$al6684 = L[3841];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks \"));\nbreak;\ncase 3: var anf_arg6689 = $ans6683;\n$step6679 = 4;\n$al6684 = L[3835];\nif(typeof(anf_fun6688.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6688);\n}\n$ans6683 = anf_fun6688.app(anf_arg6689);\nbreak;\ncase 4: var anf_arg6694 = $ans6683;\n$al6684 = L[3836];\nvar anf_arg6690 = G(self6681,\"loc\",L[3836]);\n$step6679 = 5;\n$al6684 = L[3840];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6690);\nbreak;\ncase 5: var anf_arg6695 = $ans6683;\n$ans6683 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3837],L[3838]);\nvar anf_fun6691 = $ans6683;\n$step6679 = 6;\n$al6684 = L[3839];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\" is probably a number, but number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 6: var anf_arg6692 = $ans6683;\n$step6679 = 7;\n$al6684 = L[3838];\nif(typeof(anf_fun6691.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6691);\n}\n$ans6683 = anf_fun6691.app(anf_arg6692);\nbreak;\ncase 7: var anf_arg6696 = $ans6683;\n$step6679 = 13;\n$al6684 = L[3833];\nif(typeof(anf_fun6693.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6693);\n}\n$ans6683 = anf_fun6693.app(anf_arg6694,anf_arg6695,anf_arg6696);\nbreak;\ncase 8: $ans6683 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3842],L[3843]);\nvar anf_fun6702 = $ans6683;\n$ans6683 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3844],L[3845]);\nvar anf_fun6698 = $ans6683;\n$step6679 = 9;\n$al6684 = L[3849];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program has a number at \"));\nbreak;\ncase 9: var anf_arg6699 = $ans6683;\n$al6684 = L[3846];\nvar anf_arg6697 = G(self6681,\"loc\",L[3846]);\n$step6679 = 10;\n$al6684 = L[3848];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"loc\"].app(anf_arg6697);\nbreak;\ncase 10: var anf_arg6700 = $ans6683;\n$step6679 = 11;\n$al6684 = L[3847];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\", but number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 11: var anf_arg6701 = $ans6683;\n$step6679 = 12;\n$al6684 = L[3845];\nif(typeof(anf_fun6698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6698);\n}\n$ans6683 = anf_fun6698.app(anf_arg6699,anf_arg6700,anf_arg6701);\nbreak;\ncase 12: var anf_arg6703 = $ans6683;\n$step6679 = 13;\n$al6684 = L[3843];\nif(typeof(anf_fun6702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6702);\n}\n$ans6683 = anf_fun6702.app(anf_arg6703);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans6683;\ndefault: R.ffi.throwSpinnakerError(L[3830],$step6679);\n}\n}\nif($step6679 !== 13) {\n$ans6683.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6684,$temp_full6680,$step6679,[self6681,src$available6682],[anf_arg6694,anf_arg6695,anf_arg6699,anf_arg6700,anf_fun6691,anf_fun6693,anf_fun6698,anf_fun6688,anf_fun6702],$elidedFrames6686);\n}\nreturn $ans6683;\n};\nvar anf_variant_member6975 = R.makeMethod1($temp_full6680,\"render-fancy-reason\");\nvar $temp_full6707 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3851($self6708) {\nvar $step6706 = 0;\nvar $elidedFrames6712 = 0;\nvar $ans6709 = D;\nvar $al6710 = L[3851];\nif(R.isAR($self6708)) {\n$step6706 = $self6708.step;\n$al6710 = $self6708.from;\n$ans6709 = $self6708.ans;\n$elidedFrames6712 = $self6708.elidedFrames;\nself6708 = $self6708.args[0];\nanf_fun6718 = $self6708.vars[0];\nanf_fun6714 = $self6708.vars[1];\nanf_arg6715 = $self6708.vars[2];\nanf_arg6716 = $self6708.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3851],1,$t,true);\n}\nvar self6708 = $self6708;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6709 = R.mC();\n}\nwhile(!R.isContinuation($ans6709)) {\nswitch($step6706) {\ncase 0: $ans6709 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3852],L[3853]);\nvar anf_fun6718 = $ans6709;\n$ans6709 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3854],L[3855]);\nvar anf_fun6714 = $ans6709;\n$step6706 = 1;\n$al6710 = L[3858];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,ED6.dict.values.dict[\"text\"]);\n}\n$ans6709 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program probably has a number at \"));\nbreak;\ncase 1: var anf_arg6715 = $ans6709;\n$al6710 = L[3856];\nvar anf_arg6713 = G(self6708,\"loc\",L[3856]);\n// caller optimization;\n$ans6709 = draw$and$highlight36.$var.app(anf_arg6713);\nvar anf_arg6716 = $ans6709;\n$step6706 = 2;\n$al6710 = L[3857];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,ED6.dict.values.dict[\"text\"]);\n}\n$ans6709 = ED6.dict.values.dict[\"text\"].app((\"; number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 2: var anf_arg6717 = $ans6709;\n$step6706 = 3;\n$al6710 = L[3855];\nif(typeof(anf_fun6714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,anf_fun6714);\n}\n$ans6709 = anf_fun6714.app(anf_arg6715,anf_arg6716,anf_arg6717);\nbreak;\ncase 3: var anf_arg6719 = $ans6709;\n$step6706 = 4;\n$al6710 = L[3853];\nif(typeof(anf_fun6718.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,anf_fun6718);\n}\n$ans6709 = anf_fun6718.app(anf_arg6719);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6709;\ndefault: R.ffi.throwSpinnakerError(L[3851],$step6706);\n}\n}\nif($step6706 !== 4) {\n$ans6709.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6710,$temp_full6707,$step6706,[self6708],[anf_fun6718,anf_fun6714,anf_arg6715,anf_arg6716],$elidedFrames6712);\n}\nreturn $ans6709;\n};\nvar anf_variant_member6976 = R.makeMethod0($temp_full6707,\"render-reason\");\nvar $temp_full6722 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3859($self6723,$src$available6724) {\nvar $step6721 = 0;\nvar $elidedFrames6728 = 0;\nvar $ans6725 = D;\nvar $al6726 = L[3859];\nif(R.isAR($self6723)) {\n$step6721 = $self6723.step;\n$al6726 = $self6723.from;\n$ans6725 = $self6723.ans;\n$elidedFrames6728 = $self6723.elidedFrames;\nself6723 = $self6723.args[0];\nsrc$available6724 = $self6723.args[1];\nanf_fun6736 = $self6723.vars[0];\nanf_arg6751 = $self6723.vars[1];\nanf_arg6752 = $self6723.vars[2];\nanf_arg6774 = $self6723.vars[3];\nanf_arg6753 = $self6723.vars[4];\nanf_arg6744 = $self6723.vars[5];\nanf_arg6734 = $self6723.vars[6];\nanf_arg6745 = $self6723.vars[7];\nanf_arg6778 = $self6723.vars[8];\nanf_arg6746 = $self6723.vars[9];\nanf_arg6757 = $self6723.vars[10];\nanf_arg6779 = $self6723.vars[11];\nanf_arg6747 = $self6723.vars[12];\nanf_arg6758 = $self6723.vars[13];\nanf_arg6737 = $self6723.vars[14];\ncases6772 = $self6723.vars[15];\nanf_fun6770 = $self6723.vars[16];\ncases6749 = $self6723.vars[17];\nanf_fun6750 = $self6723.vars[18];\nanf_fun6773 = $self6723.vars[19];\nanf_fun6784 = $self6723.vars[20];\nanf_fun6763 = $self6723.vars[21];\nanf_fun6743 = $self6723.vars[22];\nanf_array6771 = $self6723.vars[23];\nanf_fun6777 = $self6723.vars[24];\nanf_fun6756 = $self6723.vars[25];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3859],2,$t,true);\n}\nvar self6723 = $self6723;\nvar src$available6724 = $src$available6724;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6725 = R.mC();\n}\nwhile(!R.isContinuation($ans6725)) {\nswitch($step6721) {\ncase 0: $al6726 = L[3860];\nvar anf_bracket6729 = G(self6723,\"op\",L[3860]);\n$al6726 = L[3861];\nvar anf_arg6730 = G(anf_bracket6729,\"l\",L[3861]);\n$step6721 = 1;\n$al6726 = L[3924];\nif(typeof(src$available6724.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,src$available6724);\n}\n$ans6725 = src$available6724.app(anf_arg6730);\nbreak;\ncase 1: var anf_if6787 = $ans6725;\n$step6721 = R.checkPyretTrue(anf_if6787)?2:25;\nbreak;\ncase 2: $ans6725 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[3862],L[3863]);\nvar anf_fun6750 = $ans6725;\n$ans6725 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3864],L[3865]);\nvar anf_fun6736 = $ans6725;\n$step6721 = 3;\n$al6726 = L[3896];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg6737 = $ans6725;\n$step6721 = 4;\n$al6726 = L[3895];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"testing operator\"));\nbreak;\ncase 4: var anf_arg6734 = $ans6725;\n$ans6725 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3866],L[3867]);\nvar anf_fun6732 = $ans6725;\n$al6726 = L[3868];\nvar anf_bracket6731 = G(self6723,\"op\",L[3868]);\n$al6726 = L[3869];\nvar anf_arg6733 = G(anf_bracket6731,\"l\",L[3869]);\n$step6721 = 5;\n$al6726 = L[3867];\nif(typeof(anf_fun6732.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6732);\n}\n$ans6725 = anf_fun6732.app(anf_arg6733);\nbreak;\ncase 5: var anf_arg6735 = $ans6725;\n$step6721 = 6;\n$al6726 = L[3894];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6734,anf_arg6735,(0));\nbreak;\ncase 6: var anf_arg6738 = $ans6725;\n$step6721 = 7;\n$al6726 = L[3865];\nif(typeof(anf_fun6736.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6736);\n}\n$ans6725 = anf_fun6736.app(anf_arg6737,anf_arg6738);\nbreak;\ncase 7: var anf_arg6751 = $ans6725;\n$al6726 = L[3870];\nvar anf_bracket6739 = G(self6723,\"op\",L[3870]);\n$al6726 = L[3871];\nvar anf_arg6740 = G(anf_bracket6739,\"l\",L[3871]);\n$step6721 = 8;\n$al6726 = L[3893];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6740);\nbreak;\ncase 8: var anf_arg6752 = $ans6725;\n$ans6725 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3872],L[3873]);\nvar anf_fun6743 = $ans6725;\n$step6721 = 9;\n$al6726 = L[3892];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a \"));\nbreak;\ncase 9: var anf_arg6744 = $ans6725;\n$step6721 = 10;\n$al6726 = L[3891];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 10: var anf_arg6741 = $ans6725;\n$step6721 = 11;\n$al6726 = L[3890];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6741);\nbreak;\ncase 11: var anf_arg6745 = $ans6725;\n$step6721 = 12;\n$al6726 = L[3889];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 12: var anf_arg6746 = $ans6725;\n$step6721 = 13;\n$al6726 = L[3888];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 13: var anf_arg6742 = $ans6725;\n$step6721 = 14;\n$al6726 = L[3887];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6742);\nbreak;\ncase 14: var anf_arg6747 = $ans6725;\n$step6721 = 15;\n$al6726 = L[3886];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 15: var anf_arg6748 = $ans6725;\n$step6721 = 16;\n$al6726 = L[3873];\nif(typeof(anf_fun6743.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6743);\n}\n$ans6725 = anf_fun6743.app(anf_arg6744,anf_arg6745,anf_arg6746,anf_arg6747,anf_arg6748);\nbreak;\ncase 16: var anf_arg6753 = $ans6725;\n$al6726 = L[3874];\nvar cases6749 = G(self6723,\"op\",L[3874]);\n$al6726 = L[3882];\n$step6721 = $cases_dispatch6765[cases6749.$name] || 22;\nbreak;\ncase 17: if(cases6749.$arity !== 1) {\nif(cases6749.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3881],1,cases6749.$arity,L[3882],cases6749.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3881],true,L[3882],cases6749.$loc);\n}\n}\nvar $fn6761 = cases6749.$constructor.$fieldNames;\nR.dF(cases6749.dict[$fn6761[0]],cases6749.$mut_fields_mask[0],false);\n$ans6725 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3875],L[3876]);\nvar anf_fun6756 = $ans6725;\n$step6721 = 18;\n$al6726 = L[3880];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"You may have been looking for the \"));\nbreak;\ncase 18: var anf_arg6757 = $ans6725;\n$step6721 = 19;\n$al6726 = L[3879];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"raise\"));\nbreak;\ncase 19: var anf_arg6755 = $ans6725;\n$step6721 = 20;\n$al6726 = L[3878];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6755);\nbreak;\ncase 20: var anf_arg6758 = $ans6725;\n$step6721 = 21;\n$al6726 = L[3877];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" operator, or perhaps you meant to use a comparison operator instead.\"));\nbreak;\ncase 21: var anf_arg6759 = $ans6725;\n$step6721 = 24;\n$al6726 = L[3876];\nif(typeof(anf_fun6756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6756);\n}\n$ans6725 = anf_fun6756.app(anf_arg6757,anf_arg6758,anf_arg6759);\nbreak;\ncase 22: $ans6725 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3883],L[3884]);\nvar anf_fun6763 = $ans6725;\n$step6721 = 23;\n$al6726 = L[3885];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 23: var anf_arg6764 = $ans6725;\n$step6721 = 24;\n$al6726 = L[3884];\nif(typeof(anf_fun6763.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6763);\n}\n$ans6725 = anf_fun6763.app(anf_arg6764);\nbreak;\ncase 24: var anf_arg6754 = $ans6725;\n$step6721 = 44;\n$al6726 = L[3863];\nif(typeof(anf_fun6750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6750);\n}\n$ans6725 = anf_fun6750.app(anf_arg6751,anf_arg6752,anf_arg6753,anf_arg6754);\nbreak;\ncase 25: $ans6725 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3897],L[3898]);\nvar anf_fun6773 = $ans6725;\n$ans6725 = R.getMaker(ED6.dict.values.dict[\"para-nospace\"],(\"make\"),L[3899],L[3900]);\nvar anf_fun6770 = $ans6725;\n$ans6725 = R.makeArrayN((7));\nvar anf_array6771 = $ans6725;\n$step6721 = 26;\n$al6726 = L[3923];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"The testing operator at \"));\nbreak;\ncase 26: anf_array6771[0] = $ans6725;\n$al6726 = L[3901];\nvar anf_bracket6766 = G(self6723,\"op\",L[3901]);\n$al6726 = L[3902];\nvar anf_arg6767 = G(anf_bracket6766,\"l\",L[3902]);\n$step6721 = 27;\n$al6726 = L[3922];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"loc\"].app(anf_arg6767);\nbreak;\ncase 27: anf_array6771[1] = $ans6725;\n$step6721 = 28;\n$al6726 = L[3921];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a \"));\nbreak;\ncase 28: anf_array6771[2] = $ans6725;\n$step6721 = 29;\n$al6726 = L[3920];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 29: var anf_arg6768 = $ans6725;\n$step6721 = 30;\n$al6726 = L[3919];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6768);\nbreak;\ncase 30: anf_array6771[3] = $ans6725;\n$step6721 = 31;\n$al6726 = L[3918];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 31: anf_array6771[4] = $ans6725;\n$step6721 = 32;\n$al6726 = L[3917];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 32: var anf_arg6769 = $ans6725;\n$step6721 = 33;\n$al6726 = L[3916];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6769);\nbreak;\ncase 33: anf_array6771[5] = $ans6725;\n$step6721 = 34;\n$al6726 = L[3915];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 34: anf_array6771[6] = $ans6725;\n$step6721 = 35;\n$al6726 = L[3900];\nif(typeof(anf_fun6770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6770);\n}\n$ans6725 = anf_fun6770.app(anf_array6771);\nbreak;\ncase 35: var anf_arg6774 = $ans6725;\n$al6726 = L[3903];\nvar cases6772 = G(self6723,\"op\",L[3903]);\n$al6726 = L[3911];\n$step6721 = $cases_dispatch6786[cases6772.$name] || 41;\nbreak;\ncase 36: if(cases6772.$arity !== 1) {\nif(cases6772.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3910],1,cases6772.$arity,L[3911],cases6772.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3910],true,L[3911],cases6772.$loc);\n}\n}\nvar $fn6782 = cases6772.$constructor.$fieldNames;\nR.dF(cases6772.dict[$fn6782[0]],cases6772.$mut_fields_mask[0],false);\n$ans6725 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3904],L[3905]);\nvar anf_fun6777 = $ans6725;\n$step6721 = 37;\n$al6726 = L[3909];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"You may have been looking for the \"));\nbreak;\ncase 37: var anf_arg6778 = $ans6725;\n$step6721 = 38;\n$al6726 = L[3908];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"raise\"));\nbreak;\ncase 38: var anf_arg6776 = $ans6725;\n$step6721 = 39;\n$al6726 = L[3907];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6776);\nbreak;\ncase 39: var anf_arg6779 = $ans6725;\n$step6721 = 40;\n$al6726 = L[3906];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" operator, or perhaps you meant to use a comparison operator instead.\"));\nbreak;\ncase 40: var anf_arg6780 = $ans6725;\n$step6721 = 43;\n$al6726 = L[3905];\nif(typeof(anf_fun6777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6777);\n}\n$ans6725 = anf_fun6777.app(anf_arg6778,anf_arg6779,anf_arg6780);\nbreak;\ncase 41: $ans6725 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3912],L[3913]);\nvar anf_fun6784 = $ans6725;\n$step6721 = 42;\n$al6726 = L[3914];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 42: var anf_arg6785 = $ans6725;\n$step6721 = 43;\n$al6726 = L[3913];\nif(typeof(anf_fun6784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6784);\n}\n$ans6725 = anf_fun6784.app(anf_arg6785);\nbreak;\ncase 43: var anf_arg6775 = $ans6725;\n$step6721 = 44;\n$al6726 = L[3898];\nif(typeof(anf_fun6773.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6773);\n}\n$ans6725 = anf_fun6773.app(anf_arg6774,anf_arg6775);\nbreak;\ncase 44: ++R.GAS;\nreturn $ans6725;\ndefault: R.ffi.throwSpinnakerError(L[3859],$step6721);\n}\n}\nif($step6721 !== 44) {\n$ans6725.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6726,$temp_full6722,$step6721,[self6723,src$available6724],[anf_fun6736,anf_arg6751,anf_arg6752,anf_arg6774,anf_arg6753,anf_arg6744,anf_arg6734,anf_arg6745,anf_arg6778,anf_arg6746,anf_arg6757,anf_arg6779,anf_arg6747,anf_arg6758,anf_arg6737,cases6772,anf_fun6770,cases6749,anf_fun6750,anf_fun6773,anf_fun6784,anf_fun6763,anf_fun6743,anf_array6771,anf_fun6777,anf_fun6756],$elidedFrames6728);\n}\nreturn $ans6725;\n};\nvar anf_variant_member6984 = R.makeMethod1($temp_full6722,\"render-fancy-reason\");\nvar $temp_full6790 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3925($self6791) {\nvar $step6789 = 0;\nvar $elidedFrames6795 = 0;\nvar $ans6792 = D;\nvar $al6793 = L[3925];\nif(R.isAR($self6791)) {\n$step6789 = $self6791.step;\n$al6793 = $self6791.from;\n$ans6792 = $self6791.ans;\n$elidedFrames6795 = $self6791.elidedFrames;\nself6791 = $self6791.args[0];\nanf_fun6803 = $self6791.vars[0];\nanf_array6800 = $self6791.vars[1];\nanf_arg6804 = $self6791.vars[2];\nanf_fun6799 = $self6791.vars[3];\nanf_fun6801 = $self6791.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3925],1,$t,true);\n}\nvar self6791 = $self6791;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6792 = R.mC();\n}\nwhile(!R.isContinuation($ans6792)) {\nswitch($step6789) {\ncase 0: $ans6792 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3926],L[3927]);\nvar anf_fun6803 = $ans6792;\n$ans6792 = R.getMaker(ED6.dict.values.dict[\"para-nospace\"],(\"make\"),L[3928],L[3929]);\nvar anf_fun6799 = $ans6792;\n$ans6792 = R.makeArrayN((7));\nvar anf_array6800 = $ans6792;\n$step6789 = 1;\n$al6793 = L[3941];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"The testing operator at \"));\nbreak;\ncase 1: anf_array6800[0] = $ans6792;\n$al6793 = L[3930];\nvar anf_arg6796 = G(self6791,\"loc\",L[3930]);\n// caller optimization;\n$ans6792 = draw$and$highlight36.$var.app(anf_arg6796);\nanf_array6800[1] = $ans6792;\n$step6789 = 2;\n$al6793 = L[3940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a\"));\nbreak;\ncase 2: anf_array6800[2] = $ans6792;\n$step6789 = 3;\n$al6793 = L[3939];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 3: var anf_arg6797 = $ans6792;\n$step6789 = 4;\n$al6793 = L[3938];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"code\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"code\"].app(anf_arg6797);\nbreak;\ncase 4: anf_array6800[3] = $ans6792;\n$step6789 = 5;\n$al6793 = L[3937];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 5: anf_array6800[4] = $ans6792;\n$step6789 = 6;\n$al6793 = L[3936];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 6: var anf_arg6798 = $ans6792;\n$step6789 = 7;\n$al6793 = L[3935];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"code\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"code\"].app(anf_arg6798);\nbreak;\ncase 7: anf_array6800[5] = $ans6792;\n$step6789 = 8;\n$al6793 = L[3934];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 8: anf_array6800[6] = $ans6792;\n$step6789 = 9;\n$al6793 = L[3929];\nif(typeof(anf_fun6799.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6799);\n}\n$ans6792 = anf_fun6799.app(anf_array6800);\nbreak;\ncase 9: var anf_arg6804 = $ans6792;\n$ans6792 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3931],L[3932]);\nvar anf_fun6801 = $ans6792;\n$step6789 = 10;\n$al6793 = L[3933];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 10: var anf_arg6802 = $ans6792;\n$step6789 = 11;\n$al6793 = L[3932];\nif(typeof(anf_fun6801.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6801);\n}\n$ans6792 = anf_fun6801.app(anf_arg6802);\nbreak;\ncase 11: var anf_arg6805 = $ans6792;\n$step6789 = 12;\n$al6793 = L[3927];\nif(typeof(anf_fun6803.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6803);\n}\n$ans6792 = anf_fun6803.app(anf_arg6804,anf_arg6805);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans6792;\ndefault: R.ffi.throwSpinnakerError(L[3925],$step6789);\n}\n}\nif($step6789 !== 12) {\n$ans6792.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6793,$temp_full6790,$step6789,[self6791],[anf_fun6803,anf_array6800,anf_arg6804,anf_fun6799,anf_fun6801],$elidedFrames6795);\n}\nreturn $ans6792;\n};\nvar anf_variant_member6985 = R.makeMethod0($temp_full6790,\"render-reason\");\nvar $temp_full6808 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3942($self6809) {\nvar $step6807 = 0;\nvar $elidedFrames6813 = 0;\nvar $ans6810 = D;\nvar $al6811 = L[3942];\nif(R.isAR($self6809)) {\n$step6807 = $self6809.step;\n$al6811 = $self6809.from;\n$ans6810 = $self6809.ans;\n$elidedFrames6813 = $self6809.elidedFrames;\nself6809 = $self6809.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3942],1,$t,true);\n}\nvar self6809 = $self6809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6810 = R.mC();\n}\nwhile(!R.isContinuation($ans6810)) {\nswitch($step6807) {\ncase 0: $al6811 = L[3943];\nvar anf_method_obj6814 = G(self6809,\"loc\",L[3943]);\n$step6807 = 1;\n$ans6810 = R.maybeMethodCall1(anf_method_obj6814,\"format\",L[3944],(true));\nbreak;\ncase 1: var anf_arg6815 = $ans6810;\n$step6807 = 2;\n$al6811 = L[3946];\n// omitting isFunction check;\n$ans6810 = _plus5.app((\"Empty block at \"),anf_arg6815);\nbreak;\ncase 2: var anf_arg6816 = $ans6810;\n$step6807 = 3;\n$al6811 = L[3945];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6811,ED6.dict.values.dict[\"text\"]);\n}\n$ans6810 = ED6.dict.values.dict[\"text\"].app(anf_arg6816);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6810;\ndefault: R.ffi.throwSpinnakerError(L[3942],$step6807);\n}\n}\nif($step6807 !== 3) {\n$ans6810.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6811,$temp_full6808,$step6807,[self6809],[],$elidedFrames6813);\n}\nreturn $ans6810;\n};\nvar anf_variant_member6993 = R.makeMethod0($temp_full6808,\"render-reason\");\nvar $temp_full6819 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3947($self6820) {\nvar $step6818 = 0;\nvar $elidedFrames6824 = 0;\nvar $ans6821 = D;\nvar $al6822 = L[3947];\nif(R.isAR($self6820)) {\n$step6818 = $self6820.step;\n$al6822 = $self6820.from;\n$ans6821 = $self6820.ans;\n$elidedFrames6824 = $self6820.elidedFrames;\nself6820 = $self6820.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3947],1,$t,true);\n}\nvar self6820 = $self6820;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6821 = R.mC();\n}\nwhile(!R.isContinuation($ans6821)) {\nswitch($step6818) {\ncase 0: $al6822 = L[3948];\nvar anf_method_obj6825 = G(self6820,\"loc\",L[3948]);\n$step6818 = 1;\n$ans6821 = R.maybeMethodCall1(anf_method_obj6825,\"format\",L[3949],(true));\nbreak;\ncase 1: var anf_arg6826 = $ans6821;\n$step6818 = 2;\n$al6822 = L[3951];\n// omitting isFunction check;\n$ans6821 = _plus5.app((\"Expected a val binding or an expression, but got something else \"),anf_arg6826);\nbreak;\ncase 2: var anf_arg6827 = $ans6821;\n$step6818 = 3;\n$al6822 = L[3950];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6822,ED6.dict.values.dict[\"text\"]);\n}\n$ans6821 = ED6.dict.values.dict[\"text\"].app(anf_arg6827);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6821;\ndefault: R.ffi.throwSpinnakerError(L[3947],$step6818);\n}\n}\nif($step6818 !== 3) {\n$ans6821.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6822,$temp_full6819,$step6818,[self6820],[],$elidedFrames6824);\n}\nreturn $ans6821;\n};\nvar anf_variant_member7001 = R.makeMethod0($temp_full6819,\"render-reason\");\nvar $temp_full6830 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3952($self6831) {\nvar $step6829 = 0;\nvar $elidedFrames6835 = 0;\nvar $ans6832 = D;\nvar $al6833 = L[3952];\nif(R.isAR($self6831)) {\n$step6829 = $self6831.step;\n$al6833 = $self6831.from;\n$ans6832 = $self6831.ans;\n$elidedFrames6835 = $self6831.elidedFrames;\nself6831 = $self6831.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3952],1,$t,true);\n}\nvar self6831 = $self6831;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6832 = R.mC();\n}\nwhile(!R.isContinuation($ans6832)) {\nswitch($step6829) {\ncase 0: $al6833 = L[3953];\nvar anf_method_obj6836 = G(self6831,\"loc\",L[3953]);\n$step6829 = 1;\n$ans6832 = R.maybeMethodCall1(anf_method_obj6836,\"format\",L[3954],(true));\nbreak;\ncase 1: var anf_arg6837 = $ans6832;\n$step6829 = 2;\n$al6833 = L[3956];\n// omitting isFunction check;\n$ans6832 = _plus5.app((\"Expected a val binding or an expression, but got something else \"),anf_arg6837);\nbreak;\ncase 2: var anf_arg6838 = $ans6832;\n$step6829 = 3;\n$al6833 = L[3955];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6833,ED6.dict.values.dict[\"text\"]);\n}\n$ans6832 = ED6.dict.values.dict[\"text\"].app(anf_arg6838);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6832;\ndefault: R.ffi.throwSpinnakerError(L[3952],$step6829);\n}\n}\nif($step6829 !== 3) {\n$ans6832.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6833,$temp_full6830,$step6829,[self6831],[],$elidedFrames6835);\n}\nreturn $ans6832;\n};\nvar anf_variant_member7009 = R.makeMethod0($temp_full6830,\"render-reason\");\nvar $temp_full6841 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3957($self6842) {\nvar $step6840 = 0;\nvar $elidedFrames6846 = 0;\nvar $ans6843 = D;\nvar $al6844 = L[3957];\nif(R.isAR($self6842)) {\n$step6840 = $self6842.step;\n$al6844 = $self6842.from;\n$ans6843 = $self6842.ans;\n$elidedFrames6846 = $self6842.elidedFrames;\nself6842 = $self6842.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3957],1,$t,true);\n}\nvar self6842 = $self6842;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6843 = R.mC();\n}\nwhile(!R.isContinuation($ans6843)) {\nswitch($step6840) {\ncase 0: $al6844 = L[3958];\nvar anf_method_obj6847 = G(self6842,\"loc\",L[3958]);\n$step6840 = 1;\n$ans6843 = R.maybeMethodCall1(anf_method_obj6847,\"format\",L[3959],(true));\nbreak;\ncase 1: var anf_arg6848 = $ans6843;\n$step6840 = 2;\n$al6844 = L[3961];\n// omitting isFunction check;\n$ans6843 = _plus5.app((\"fun-missing-colon: \"),anf_arg6848);\nbreak;\ncase 2: var anf_arg6849 = $ans6843;\n$step6840 = 3;\n$al6844 = L[3960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6844,ED6.dict.values.dict[\"text\"]);\n}\n$ans6843 = ED6.dict.values.dict[\"text\"].app(anf_arg6849);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6843;\ndefault: R.ffi.throwSpinnakerError(L[3957],$step6840);\n}\n}\nif($step6840 !== 3) {\n$ans6843.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6844,$temp_full6841,$step6840,[self6842],[],$elidedFrames6846);\n}\nreturn $ans6843;\n};\nvar anf_variant_member7017 = R.makeMethod0($temp_full6841,\"render-reason\");\nvar $temp_full6852 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3962($self6853) {\nvar $step6851 = 0;\nvar $elidedFrames6857 = 0;\nvar $ans6854 = D;\nvar $al6855 = L[3962];\nif(R.isAR($self6853)) {\n$step6851 = $self6853.step;\n$al6855 = $self6853.from;\n$ans6854 = $self6853.ans;\n$elidedFrames6857 = $self6853.elidedFrames;\nself6853 = $self6853.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3962],1,$t,true);\n}\nvar self6853 = $self6853;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6854 = R.mC();\n}\nwhile(!R.isContinuation($ans6854)) {\nswitch($step6851) {\ncase 0: $al6855 = L[3963];\nvar anf_method_obj6858 = G(self6853,\"loc\",L[3963]);\n$step6851 = 1;\n$ans6854 = R.maybeMethodCall1(anf_method_obj6858,\"format\",L[3964],(true));\nbreak;\ncase 1: var anf_arg6859 = $ans6854;\n$step6851 = 2;\n$al6855 = L[3966];\n// omitting isFunction check;\n$ans6854 = _plus5.app((\"fun-missing-end: \"),anf_arg6859);\nbreak;\ncase 2: var anf_arg6860 = $ans6854;\n$step6851 = 3;\n$al6855 = L[3965];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6855,ED6.dict.values.dict[\"text\"]);\n}\n$ans6854 = ED6.dict.values.dict[\"text\"].app(anf_arg6860);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6854;\ndefault: R.ffi.throwSpinnakerError(L[3962],$step6851);\n}\n}\nif($step6851 !== 3) {\n$ans6854.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6855,$temp_full6852,$step6851,[self6853],[],$elidedFrames6857);\n}\nreturn $ans6854;\n};\nvar anf_variant_member7025 = R.makeMethod0($temp_full6852,\"render-reason\");\nvar $temp_full6863 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3967($self6864) {\nvar $step6862 = 0;\nvar $elidedFrames6868 = 0;\nvar $ans6865 = D;\nvar $al6866 = L[3967];\nif(R.isAR($self6864)) {\n$step6862 = $self6864.step;\n$al6866 = $self6864.from;\n$ans6865 = $self6864.ans;\n$elidedFrames6868 = $self6864.elidedFrames;\nself6864 = $self6864.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3967],1,$t,true);\n}\nvar self6864 = $self6864;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6865 = R.mC();\n}\nwhile(!R.isContinuation($ans6865)) {\nswitch($step6862) {\ncase 0: $al6866 = L[3968];\nvar anf_method_obj6869 = G(self6864,\"loc\",L[3968]);\n$step6862 = 1;\n$ans6865 = R.maybeMethodCall1(anf_method_obj6869,\"format\",L[3969],(true));\nbreak;\ncase 1: var anf_arg6870 = $ans6865;\n$step6862 = 2;\n$al6866 = L[3971];\n// omitting isFunction check;\n$ans6865 = _plus5.app((\"args-missing-comma: \"),anf_arg6870);\nbreak;\ncase 2: var anf_arg6871 = $ans6865;\n$step6862 = 3;\n$al6866 = L[3970];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6866,ED6.dict.values.dict[\"text\"]);\n}\n$ans6865 = ED6.dict.values.dict[\"text\"].app(anf_arg6871);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6865;\ndefault: R.ffi.throwSpinnakerError(L[3967],$step6862);\n}\n}\nif($step6862 !== 3) {\n$ans6865.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6866,$temp_full6863,$step6862,[self6864],[],$elidedFrames6868);\n}\nreturn $ans6865;\n};\nvar anf_variant_member7033 = R.makeMethod0($temp_full6863,\"render-reason\");\nvar $temp_full6874 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3972($self6875) {\nvar $step6873 = 0;\nvar $elidedFrames6879 = 0;\nvar $ans6876 = D;\nvar $al6877 = L[3972];\nif(R.isAR($self6875)) {\n$step6873 = $self6875.step;\n$al6877 = $self6875.from;\n$ans6876 = $self6875.ans;\n$elidedFrames6879 = $self6875.elidedFrames;\nself6875 = $self6875.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3972],1,$t,true);\n}\nvar self6875 = $self6875;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6876 = R.mC();\n}\nwhile(!R.isContinuation($ans6876)) {\nswitch($step6873) {\ncase 0: $al6877 = L[3973];\nvar anf_method_obj6880 = G(self6875,\"loc\",L[3973]);\n$step6873 = 1;\n$ans6876 = R.maybeMethodCall1(anf_method_obj6880,\"format\",L[3974],(true));\nbreak;\ncase 1: var anf_arg6881 = $ans6876;\n$step6873 = 2;\n$al6877 = L[3976];\n// omitting isFunction check;\n$ans6876 = _plus5.app((\"app-args-missing-comma: \"),anf_arg6881);\nbreak;\ncase 2: var anf_arg6882 = $ans6876;\n$step6873 = 3;\n$al6877 = L[3975];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6877,ED6.dict.values.dict[\"text\"]);\n}\n$ans6876 = ED6.dict.values.dict[\"text\"].app(anf_arg6882);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6876;\ndefault: R.ffi.throwSpinnakerError(L[3972],$step6873);\n}\n}\nif($step6873 !== 3) {\n$ans6876.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6877,$temp_full6874,$step6873,[self6875],[],$elidedFrames6879);\n}\nreturn $ans6876;\n};\nvar anf_variant_member7041 = R.makeMethod0($temp_full6874,\"render-reason\");\nvar $temp_full6885 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3977($self6886) {\nvar $step6884 = 0;\nvar $elidedFrames6890 = 0;\nvar $ans6887 = D;\nvar $al6888 = L[3977];\nif(R.isAR($self6886)) {\n$step6884 = $self6886.step;\n$al6888 = $self6886.from;\n$ans6887 = $self6886.ans;\n$elidedFrames6890 = $self6886.elidedFrames;\nself6886 = $self6886.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3977],1,$t,true);\n}\nvar self6886 = $self6886;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6887 = R.mC();\n}\nwhile(!R.isContinuation($ans6887)) {\nswitch($step6884) {\ncase 0: $al6888 = L[3978];\nvar anf_method_obj6891 = G(self6886,\"loc\",L[3978]);\n$step6884 = 1;\n$ans6887 = R.maybeMethodCall1(anf_method_obj6891,\"format\",L[3979],(true));\nbreak;\ncase 1: var anf_arg6892 = $ans6887;\n$step6884 = 2;\n$al6888 = L[3981];\n// omitting isFunction check;\n$ans6887 = _plus5.app((\"missing-end: \"),anf_arg6892);\nbreak;\ncase 2: var anf_arg6893 = $ans6887;\n$step6884 = 3;\n$al6888 = L[3980];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6888,ED6.dict.values.dict[\"text\"]);\n}\n$ans6887 = ED6.dict.values.dict[\"text\"].app(anf_arg6893);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6887;\ndefault: R.ffi.throwSpinnakerError(L[3977],$step6884);\n}\n}\nif($step6884 !== 3) {\n$ans6887.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6888,$temp_full6885,$step6884,[self6886],[],$elidedFrames6890);\n}\nreturn $ans6887;\n};\nvar anf_variant_member7049 = R.makeMethod0($temp_full6885,\"render-reason\");\nvar $temp_full6896 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3982($self6897) {\nvar $step6895 = 0;\nvar $elidedFrames6901 = 0;\nvar $ans6898 = D;\nvar $al6899 = L[3982];\nif(R.isAR($self6897)) {\n$step6895 = $self6897.step;\n$al6899 = $self6897.from;\n$ans6898 = $self6897.ans;\n$elidedFrames6901 = $self6897.elidedFrames;\nself6897 = $self6897.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3982],1,$t,true);\n}\nvar self6897 = $self6897;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6898 = R.mC();\n}\nwhile(!R.isContinuation($ans6898)) {\nswitch($step6895) {\ncase 0: $al6899 = L[3983];\nvar anf_method_obj6902 = G(self6897,\"loc\",L[3983]);\n$step6895 = 1;\n$ans6898 = R.maybeMethodCall1(anf_method_obj6902,\"format\",L[3984],(true));\nbreak;\ncase 1: var anf_arg6903 = $ans6898;\n$step6895 = 2;\n$al6899 = L[3986];\n// omitting isFunction check;\n$ans6898 = _plus5.app((\"missing-comma: \"),anf_arg6903);\nbreak;\ncase 2: var anf_arg6904 = $ans6898;\n$step6895 = 3;\n$al6899 = L[3985];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6899,ED6.dict.values.dict[\"text\"]);\n}\n$ans6898 = ED6.dict.values.dict[\"text\"].app(anf_arg6904);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6898;\ndefault: R.ffi.throwSpinnakerError(L[3982],$step6895);\n}\n}\nif($step6895 !== 3) {\n$ans6898.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6899,$temp_full6896,$step6895,[self6897],[],$elidedFrames6901);\n}\nreturn $ans6898;\n};\nvar anf_variant_member7057 = R.makeMethod0($temp_full6896,\"render-reason\");\nvar $parse$error$bad$app_getfields6912 = function singleton_variant(f) {\nreturn f(this.dict[\"a\"],this.dict[\"b\"]);\n};\nvar $parse$error$bad$app_mutablemask6911 = [false,false];\nvar $parse$error$bad$app$base6906 = {\"$fieldNames\":[\"a\",\"b\"],\n\"render-fancy-reason\":anf_variant_member6909,\n\"render-reason\":anf_variant_member6910,\n\"_match\":R.mM(\"parse-error-bad-app\",2)};\nvar $parse$error$bad$app$brander6907 = R.nB(\"parse-error-bad-app\",L[3987]);\nvar $parse$error$bad$app$brands6908 = {};\n$parse$error$bad$app$brands6908[ParseError25._brand] = true;\n$parse$error$bad$app$brands6908[$parse$error$bad$app$brander6907._brand] = true;\nvar parse$error$bad$app6913 = R.mVC(L[3987],function $synthesizedConstructor_$parse$error$bad$app$base() {\nreturn [];\n},[],[],[false,false],[\"a6914\",\"b6915\"],$parse$error$bad$app_mutablemask6911,$parse$error$bad$app$base6906,$parse$error$bad$app$brands6908,\"parse-error-bad-app\",$parse$error$bad$app_getfields6912,$parse$error$bad$app$base6906);\nvar $parse$error$bad$fun$header_getfields6922 = function singleton_variant(f) {\nreturn f(this.dict[\"a\"],this.dict[\"b\"]);\n};\nvar $parse$error$bad$fun$header_mutablemask6921 = [false,false];\nvar $parse$error$bad$fun$header$base6916 = {\"$fieldNames\":[\"a\",\"b\"],\n\"render-fancy-reason\":anf_variant_member6919,\n\"render-reason\":anf_variant_member6920,\n\"_match\":R.mM(\"parse-error-bad-fun-header\",2)};\nvar $parse$error$bad$fun$header$brander6917 = R.nB(\"parse-error-bad-fun-header\",L[3988]);\nvar $parse$error$bad$fun$header$brands6918 = {};\n$parse$error$bad$fun$header$brands6918[ParseError25._brand] = true;\n$parse$error$bad$fun$header$brands6918[$parse$error$bad$fun$header$brander6917._brand] = true;\nvar parse$error$bad$fun$header6923 = R.mVC(L[3988],function $synthesizedConstructor_$parse$error$bad$fun$header$base() {\nreturn [];\n},[],[],[false,false],[\"a6924\",\"b6925\"],$parse$error$bad$fun$header_mutablemask6921,$parse$error$bad$fun$header$base6916,$parse$error$bad$fun$header$brands6918,\"parse-error-bad-fun-header\",$parse$error$bad$fun$header_getfields6922,$parse$error$bad$fun$header$base6916);\nvar $parse$error$next$token_getfields6932 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"next-token\"]);\n};\nvar $parse$error$next$token_mutablemask6931 = [false,false];\nvar $parse$error$next$token$base6926 = {\"$fieldNames\":[\"loc\",\"next-token\"],\n\"render-fancy-reason\":anf_variant_member6929,\n\"render-reason\":anf_variant_member6930,\n\"_match\":R.mM(\"parse-error-next-token\",2)};\nvar $parse$error$next$token$brander6927 = R.nB(\"parse-error-next-token\",L[3989]);\nvar $parse$error$next$token$brands6928 = {};\n$parse$error$next$token$brands6928[ParseError25._brand] = true;\n$parse$error$next$token$brands6928[$parse$error$next$token$brander6927._brand] = true;\nvar parse$error$next$token6933 = R.mVC(L[3989],function $synthesizedConstructor_$parse$error$next$token$base() {\nreturn [$type$String8];\n},[\"next$token6934\"],[L[3990]],[false,false],[\"loc6935\",\"next$token6934\"],$parse$error$next$token_mutablemask6931,$parse$error$next$token$base6926,$parse$error$next$token$brands6928,\"parse-error-next-token\",$parse$error$next$token_getfields6932,$parse$error$next$token$base6926);\nvar $parse$error$colon$colon_getfields6942 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$colon$colon_mutablemask6941 = [false];\nvar $parse$error$colon$colon$base6936 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6939,\n\"render-reason\":anf_variant_member6940,\n\"_match\":R.mM(\"parse-error-colon-colon\",1)};\nvar $parse$error$colon$colon$brander6937 = R.nB(\"parse-error-colon-colon\",L[3991]);\nvar $parse$error$colon$colon$brands6938 = {};\n$parse$error$colon$colon$brands6938[ParseError25._brand] = true;\n$parse$error$colon$colon$brands6938[$parse$error$colon$colon$brander6937._brand] = true;\nvar parse$error$colon$colon6943 = R.mVC(L[3991],function $synthesizedConstructor_$parse$error$colon$colon$base() {\nreturn [];\n},[],[],[false],[\"loc6944\"],$parse$error$colon$colon_mutablemask6941,$parse$error$colon$colon$base6936,$parse$error$colon$colon$brands6938,\"parse-error-colon-colon\",$parse$error$colon$colon_getfields6942,$parse$error$colon$colon$base6936);\nvar $parse$error$eof_getfields6951 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$eof_mutablemask6950 = [false];\nvar $parse$error$eof$base6945 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6948,\n\"render-reason\":anf_variant_member6949,\n\"_match\":R.mM(\"parse-error-eof\",1)};\nvar $parse$error$eof$brander6946 = R.nB(\"parse-error-eof\",L[3992]);\nvar $parse$error$eof$brands6947 = {};\n$parse$error$eof$brands6947[ParseError25._brand] = true;\n$parse$error$eof$brands6947[$parse$error$eof$brander6946._brand] = true;\nvar parse$error$eof6952 = R.mVC(L[3992],function $synthesizedConstructor_$parse$error$eof$base() {\nreturn [];\n},[],[],[false],[\"loc6953\"],$parse$error$eof_mutablemask6950,$parse$error$eof$base6945,$parse$error$eof$brands6947,\"parse-error-eof\",$parse$error$eof_getfields6951,$parse$error$eof$base6945);\nvar $parse$error$unterminated$string_getfields6960 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$unterminated$string_mutablemask6959 = [false];\nvar $parse$error$unterminated$string$base6954 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6957,\n\"render-reason\":anf_variant_member6958,\n\"_match\":R.mM(\"parse-error-unterminated-string\",1)};\nvar $parse$error$unterminated$string$brander6955 = R.nB(\"parse-error-unterminated-string\",L[3993]);\nvar $parse$error$unterminated$string$brands6956 = {};\n$parse$error$unterminated$string$brands6956[ParseError25._brand] = true;\n$parse$error$unterminated$string$brands6956[$parse$error$unterminated$string$brander6955._brand] = true;\nvar parse$error$unterminated$string6961 = R.mVC(L[3993],function $synthesizedConstructor_$parse$error$unterminated$string$base() {\nreturn [];\n},[],[],[false],[\"loc6962\"],$parse$error$unterminated$string_mutablemask6959,$parse$error$unterminated$string$base6954,$parse$error$unterminated$string$brands6956,\"parse-error-unterminated-string\",$parse$error$unterminated$string_getfields6960,$parse$error$unterminated$string$base6954);\nvar $parse$error$bad$operator_getfields6969 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$bad$operator_mutablemask6968 = [false];\nvar $parse$error$bad$operator$base6963 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6966,\n\"render-reason\":anf_variant_member6967,\n\"_match\":R.mM(\"parse-error-bad-operator\",1)};\nvar $parse$error$bad$operator$brander6964 = R.nB(\"parse-error-bad-operator\",L[3994]);\nvar $parse$error$bad$operator$brands6965 = {};\n$parse$error$bad$operator$brands6965[ParseError25._brand] = true;\n$parse$error$bad$operator$brands6965[$parse$error$bad$operator$brander6964._brand] = true;\nvar parse$error$bad$operator6970 = R.mVC(L[3994],function $synthesizedConstructor_$parse$error$bad$operator$base() {\nreturn [];\n},[],[],[false],[\"loc6971\"],$parse$error$bad$operator_mutablemask6968,$parse$error$bad$operator$base6963,$parse$error$bad$operator$brands6965,\"parse-error-bad-operator\",$parse$error$bad$operator_getfields6969,$parse$error$bad$operator$base6963);\nvar $parse$error$bad$number_getfields6978 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$bad$number_mutablemask6977 = [false];\nvar $parse$error$bad$number$base6972 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6975,\n\"render-reason\":anf_variant_member6976,\n\"_match\":R.mM(\"parse-error-bad-number\",1)};\nvar $parse$error$bad$number$brander6973 = R.nB(\"parse-error-bad-number\",L[3995]);\nvar $parse$error$bad$number$brands6974 = {};\n$parse$error$bad$number$brands6974[ParseError25._brand] = true;\n$parse$error$bad$number$brands6974[$parse$error$bad$number$brander6973._brand] = true;\nvar parse$error$bad$number6979 = R.mVC(L[3995],function $synthesizedConstructor_$parse$error$bad$number$base() {\nreturn [];\n},[],[],[false],[\"loc6980\"],$parse$error$bad$number_mutablemask6977,$parse$error$bad$number$base6972,$parse$error$bad$number$brands6974,\"parse-error-bad-number\",$parse$error$bad$number_getfields6978,$parse$error$bad$number$base6972);\nvar $parse$error$bad$check$operator_getfields6987 = function singleton_variant(f) {\nreturn f(this.dict[\"op\"]);\n};\nvar $parse$error$bad$check$operator_mutablemask6986 = [false];\nvar $parse$error$bad$check$operator$base6981 = {\"$fieldNames\":[\"op\"],\n\"render-fancy-reason\":anf_variant_member6984,\n\"render-reason\":anf_variant_member6985,\n\"_match\":R.mM(\"parse-error-bad-check-operator\",1)};\nvar $parse$error$bad$check$operator$brander6982 = R.nB(\"parse-error-bad-check-operator\",L[3996]);\nvar $parse$error$bad$check$operator$brands6983 = {};\n$parse$error$bad$check$operator$brands6983[ParseError25._brand] = true;\n$parse$error$bad$check$operator$brands6983[$parse$error$bad$check$operator$brander6982._brand] = true;\nvar parse$error$bad$check$operator6988 = R.mVC(L[3996],function $synthesizedConstructor_$parse$error$bad$check$operator$base() {\nreturn [];\n},[],[],[false],[\"op6989\"],$parse$error$bad$check$operator_mutablemask6986,$parse$error$bad$check$operator$base6981,$parse$error$bad$check$operator$brands6983,\"parse-error-bad-check-operator\",$parse$error$bad$check$operator_getfields6987,$parse$error$bad$check$operator$base6981);\nvar $empty$block_getfields6995 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $empty$block_mutablemask6994 = [false];\nvar $empty$block$base6990 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member6993,\n\"_match\":R.mM(\"empty-block\",1)};\nvar $empty$block$brander6991 = R.nB(\"empty-block\",L[3997]);\nvar $empty$block$brands6992 = {};\n$empty$block$brands6992[ParseError25._brand] = true;\n$empty$block$brands6992[$empty$block$brander6991._brand] = true;\nvar empty$block6996 = R.mVC(L[3997],function $synthesizedConstructor_$empty$block$base() {\nreturn [];\n},[],[],[false],[\"loc6997\"],$empty$block_mutablemask6994,$empty$block$base6990,$empty$block$brands6992,\"empty-block\",$empty$block_getfields6995,$empty$block$base6990);\nvar $bad$block$stmt_getfields7003 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $bad$block$stmt_mutablemask7002 = [false];\nvar $bad$block$stmt$base6998 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7001,\n\"_match\":R.mM(\"bad-block-stmt\",1)};\nvar $bad$block$stmt$brander6999 = R.nB(\"bad-block-stmt\",L[3998]);\nvar $bad$block$stmt$brands7000 = {};\n$bad$block$stmt$brands7000[ParseError25._brand] = true;\n$bad$block$stmt$brands7000[$bad$block$stmt$brander6999._brand] = true;\nvar bad$block$stmt7004 = R.mVC(L[3998],function $synthesizedConstructor_$bad$block$stmt$base() {\nreturn [];\n},[],[],[false],[\"loc7005\"],$bad$block$stmt_mutablemask7002,$bad$block$stmt$base6998,$bad$block$stmt$brands7000,\"bad-block-stmt\",$bad$block$stmt_getfields7003,$bad$block$stmt$base6998);\nvar $bad$check$block$stmt_getfields7011 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $bad$check$block$stmt_mutablemask7010 = [false];\nvar $bad$check$block$stmt$base7006 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7009,\n\"_match\":R.mM(\"bad-check-block-stmt\",1)};\nvar $bad$check$block$stmt$brander7007 = R.nB(\"bad-check-block-stmt\",L[3999]);\nvar $bad$check$block$stmt$brands7008 = {};\n$bad$check$block$stmt$brands7008[ParseError25._brand] = true;\n$bad$check$block$stmt$brands7008[$bad$check$block$stmt$brander7007._brand] = true;\nvar bad$check$block$stmt7012 = R.mVC(L[3999],function $synthesizedConstructor_$bad$check$block$stmt$base() {\nreturn [];\n},[],[],[false],[\"loc7013\"],$bad$check$block$stmt_mutablemask7010,$bad$check$block$stmt$base7006,$bad$check$block$stmt$brands7008,\"bad-check-block-stmt\",$bad$check$block$stmt_getfields7011,$bad$check$block$stmt$base7006);\nvar $fun$missing$colon_getfields7019 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $fun$missing$colon_mutablemask7018 = [false];\nvar $fun$missing$colon$base7014 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7017,\n\"_match\":R.mM(\"fun-missing-colon\",1)};\nvar $fun$missing$colon$brander7015 = R.nB(\"fun-missing-colon\",L[4000]);\nvar $fun$missing$colon$brands7016 = {};\n$fun$missing$colon$brands7016[ParseError25._brand] = true;\n$fun$missing$colon$brands7016[$fun$missing$colon$brander7015._brand] = true;\nvar fun$missing$colon7020 = R.mVC(L[4000],function $synthesizedConstructor_$fun$missing$colon$base() {\nreturn [];\n},[],[],[false],[\"loc7021\"],$fun$missing$colon_mutablemask7018,$fun$missing$colon$base7014,$fun$missing$colon$brands7016,\"fun-missing-colon\",$fun$missing$colon_getfields7019,$fun$missing$colon$base7014);\nvar $fun$missing$end_getfields7027 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $fun$missing$end_mutablemask7026 = [false];\nvar $fun$missing$end$base7022 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7025,\n\"_match\":R.mM(\"fun-missing-end\",1)};\nvar $fun$missing$end$brander7023 = R.nB(\"fun-missing-end\",L[4001]);\nvar $fun$missing$end$brands7024 = {};\n$fun$missing$end$brands7024[ParseError25._brand] = true;\n$fun$missing$end$brands7024[$fun$missing$end$brander7023._brand] = true;\nvar fun$missing$end7028 = R.mVC(L[4001],function $synthesizedConstructor_$fun$missing$end$base() {\nreturn [];\n},[],[],[false],[\"loc7029\"],$fun$missing$end_mutablemask7026,$fun$missing$end$base7022,$fun$missing$end$brands7024,\"fun-missing-end\",$fun$missing$end_getfields7027,$fun$missing$end$base7022);\nvar $args$missing$comma_getfields7035 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $args$missing$comma_mutablemask7034 = [false];\nvar $args$missing$comma$base7030 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7033,\n\"_match\":R.mM(\"args-missing-comma\",1)};\nvar $args$missing$comma$brander7031 = R.nB(\"args-missing-comma\",L[4002]);\nvar $args$missing$comma$brands7032 = {};\n$args$missing$comma$brands7032[ParseError25._brand] = true;\n$args$missing$comma$brands7032[$args$missing$comma$brander7031._brand] = true;\nvar args$missing$comma7036 = R.mVC(L[4002],function $synthesizedConstructor_$args$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7037\"],$args$missing$comma_mutablemask7034,$args$missing$comma$base7030,$args$missing$comma$brands7032,\"args-missing-comma\",$args$missing$comma_getfields7035,$args$missing$comma$base7030);\nvar $app$args$missing$comma_getfields7043 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $app$args$missing$comma_mutablemask7042 = [false];\nvar $app$args$missing$comma$base7038 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7041,\n\"_match\":R.mM(\"app-args-missing-comma\",1)};\nvar $app$args$missing$comma$brander7039 = R.nB(\"app-args-missing-comma\",L[4003]);\nvar $app$args$missing$comma$brands7040 = {};\n$app$args$missing$comma$brands7040[ParseError25._brand] = true;\n$app$args$missing$comma$brands7040[$app$args$missing$comma$brander7039._brand] = true;\nvar app$args$missing$comma7044 = R.mVC(L[4003],function $synthesizedConstructor_$app$args$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7045\"],$app$args$missing$comma_mutablemask7042,$app$args$missing$comma$base7038,$app$args$missing$comma$brands7040,\"app-args-missing-comma\",$app$args$missing$comma_getfields7043,$app$args$missing$comma$base7038);\nvar $missing$end_getfields7051 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $missing$end_mutablemask7050 = [false];\nvar $missing$end$base7046 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7049,\n\"_match\":R.mM(\"missing-end\",1)};\nvar $missing$end$brander7047 = R.nB(\"missing-end\",L[4004]);\nvar $missing$end$brands7048 = {};\n$missing$end$brands7048[ParseError25._brand] = true;\n$missing$end$brands7048[$missing$end$brander7047._brand] = true;\nvar missing$end7052 = R.mVC(L[4004],function $synthesizedConstructor_$missing$end$base() {\nreturn [];\n},[],[],[false],[\"loc7053\"],$missing$end_mutablemask7050,$missing$end$base7046,$missing$end$brands7048,\"missing-end\",$missing$end_getfields7051,$missing$end$base7046);\nvar $missing$comma_getfields7059 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $missing$comma_mutablemask7058 = [false];\nvar $missing$comma$base7054 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7057,\n\"_match\":R.mM(\"missing-comma\",1)};\nvar $missing$comma$brander7055 = R.nB(\"missing-comma\",L[4005]);\nvar $missing$comma$brands7056 = {};\n$missing$comma$brands7056[ParseError25._brand] = true;\n$missing$comma$brands7056[$missing$comma$brander7055._brand] = true;\nvar missing$comma7060 = R.mVC(L[4005],function $synthesizedConstructor_$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7061\"],$missing$comma_mutablemask7058,$missing$comma$base7054,$missing$comma$brands7056,\"missing-comma\",$missing$comma_getfields7059,$missing$comma$base7054);\nvar anf_assign7062 = R.mO({\"ParseError\":G(ParseError25,\"test\",L[4006]),\n\"is-parse-error-bad-app\":G($parse$error$bad$app$brander6907,\"test\",L[3987]),\n\"parse-error-bad-app\":parse$error$bad$app6913,\n\"is-parse-error-bad-fun-header\":G($parse$error$bad$fun$header$brander6917,\"test\",L[3988]),\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header6923,\n\"is-parse-error-next-token\":G($parse$error$next$token$brander6927,\"test\",L[3989]),\n\"parse-error-next-token\":parse$error$next$token6933,\n\"is-parse-error-colon-colon\":G($parse$error$colon$colon$brander6937,\"test\",L[3991]),\n\"parse-error-colon-colon\":parse$error$colon$colon6943,\n\"is-parse-error-eof\":G($parse$error$eof$brander6946,\"test\",L[3992]),\n\"parse-error-eof\":parse$error$eof6952,\n\"is-parse-error-unterminated-string\":G($parse$error$unterminated$string$brander6955,\"test\",L[3993]),\n\"parse-error-unterminated-string\":parse$error$unterminated$string6961,\n\"is-parse-error-bad-operator\":G($parse$error$bad$operator$brander6964,\"test\",L[3994]),\n\"parse-error-bad-operator\":parse$error$bad$operator6970,\n\"is-parse-error-bad-number\":G($parse$error$bad$number$brander6973,\"test\",L[3995]),\n\"parse-error-bad-number\":parse$error$bad$number6979,\n\"is-parse-error-bad-check-operator\":G($parse$error$bad$check$operator$brander6982,\"test\",L[3996]),\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator6988,\n\"is-empty-block\":G($empty$block$brander6991,\"test\",L[3997]),\n\"empty-block\":empty$block6996,\n\"is-bad-block-stmt\":G($bad$block$stmt$brander6999,\"test\",L[3998]),\n\"bad-block-stmt\":bad$block$stmt7004,\n\"is-bad-check-block-stmt\":G($bad$check$block$stmt$brander7007,\"test\",L[3999]),\n\"bad-check-block-stmt\":bad$check$block$stmt7012,\n\"is-fun-missing-colon\":G($fun$missing$colon$brander7015,\"test\",L[4000]),\n\"fun-missing-colon\":fun$missing$colon7020,\n\"is-fun-missing-end\":G($fun$missing$end$brander7023,\"test\",L[4001]),\n\"fun-missing-end\":fun$missing$end7028,\n\"is-args-missing-comma\":G($args$missing$comma$brander7031,\"test\",L[4002]),\n\"args-missing-comma\":args$missing$comma7036,\n\"is-app-args-missing-comma\":G($app$args$missing$comma$brander7039,\"test\",L[4003]),\n\"app-args-missing-comma\":app$args$missing$comma7044,\n\"is-missing-end\":G($missing$end$brander7047,\"test\",L[4004]),\n\"missing-end\":missing$end7052,\n\"is-missing-comma\":G($missing$comma$brander7055,\"test\",L[4005]),\n\"missing-comma\":missing$comma7060});\nParseError7063.$var = anf_assign7062;\nR.nothing;\n$al21 = L[4006];\nvar anf_assign7064 = G(ParseError7063.$var,\"ParseError\",L[4006]);\nis$ParseError7065.$var = anf_assign7064;\nR.nothing;\n$al21 = L[3987];\nvar anf_assign7066 = G(ParseError7063.$var,\"is-parse-error-bad-app\",L[3987]);\nis$parse$error$bad$app7067.$var = anf_assign7066;\nR.nothing;\n$al21 = L[3987];\nvar anf_assign7068 = G(ParseError7063.$var,\"parse-error-bad-app\",L[3987]);\nparse$error$bad$app7069.$var = anf_assign7068;\nR.nothing;\n$al21 = L[3988];\nvar anf_assign7070 = G(ParseError7063.$var,\"is-parse-error-bad-fun-header\",L[3988]);\nis$parse$error$bad$fun$header7071.$var = anf_assign7070;\nR.nothing;\n$al21 = L[3988];\nvar anf_assign7072 = G(ParseError7063.$var,\"parse-error-bad-fun-header\",L[3988]);\nparse$error$bad$fun$header7073.$var = anf_assign7072;\nR.nothing;\n$al21 = L[3989];\nvar anf_assign7074 = G(ParseError7063.$var,\"is-parse-error-next-token\",L[3989]);\nis$parse$error$next$token7075.$var = anf_assign7074;\nR.nothing;\n$al21 = L[3989];\nvar anf_assign7076 = G(ParseError7063.$var,\"parse-error-next-token\",L[3989]);\nparse$error$next$token7077.$var = anf_assign7076;\nR.nothing;\n$al21 = L[3991];\nvar anf_assign7078 = G(ParseError7063.$var,\"is-parse-error-colon-colon\",L[3991]);\nis$parse$error$colon$colon7079.$var = anf_assign7078;\nR.nothing;\n$al21 = L[3991];\nvar anf_assign7080 = G(ParseError7063.$var,\"parse-error-colon-colon\",L[3991]);\nparse$error$colon$colon7081.$var = anf_assign7080;\nR.nothing;\n$al21 = L[3992];\nvar anf_assign7082 = G(ParseError7063.$var,\"is-parse-error-eof\",L[3992]);\nis$parse$error$eof7083.$var = anf_assign7082;\nR.nothing;\n$al21 = L[3992];\nvar anf_assign7084 = G(ParseError7063.$var,\"parse-error-eof\",L[3992]);\nparse$error$eof7085.$var = anf_assign7084;\nR.nothing;\n$al21 = L[3993];\nvar anf_assign7086 = G(ParseError7063.$var,\"is-parse-error-unterminated-string\",L[3993]);\nis$parse$error$unterminated$string7087.$var = anf_assign7086;\nR.nothing;\n$al21 = L[3993];\nvar anf_assign7088 = G(ParseError7063.$var,\"parse-error-unterminated-string\",L[3993]);\nparse$error$unterminated$string7089.$var = anf_assign7088;\nR.nothing;\n$al21 = L[3994];\nvar anf_assign7090 = G(ParseError7063.$var,\"is-parse-error-bad-operator\",L[3994]);\nis$parse$error$bad$operator7091.$var = anf_assign7090;\nR.nothing;\n$al21 = L[3994];\nvar anf_assign7092 = G(ParseError7063.$var,\"parse-error-bad-operator\",L[3994]);\nparse$error$bad$operator7093.$var = anf_assign7092;\nR.nothing;\n$al21 = L[3995];\nvar anf_assign7094 = G(ParseError7063.$var,\"is-parse-error-bad-number\",L[3995]);\nis$parse$error$bad$number7095.$var = anf_assign7094;\nR.nothing;\n$al21 = L[3995];\nvar anf_assign7096 = G(ParseError7063.$var,\"parse-error-bad-number\",L[3995]);\nparse$error$bad$number7097.$var = anf_assign7096;\nR.nothing;\n$al21 = L[3996];\nvar anf_assign7098 = G(ParseError7063.$var,\"is-parse-error-bad-check-operator\",L[3996]);\nis$parse$error$bad$check$operator7099.$var = anf_assign7098;\nR.nothing;\n$al21 = L[3996];\nvar anf_assign7100 = G(ParseError7063.$var,\"parse-error-bad-check-operator\",L[3996]);\nparse$error$bad$check$operator7101.$var = anf_assign7100;\nR.nothing;\n$al21 = L[3997];\nvar anf_assign7102 = G(ParseError7063.$var,\"is-empty-block\",L[3997]);\nis$empty$block7103.$var = anf_assign7102;\nR.nothing;\n$al21 = L[3997];\nvar anf_assign7104 = G(ParseError7063.$var,\"empty-block\",L[3997]);\nempty$block7105.$var = anf_assign7104;\nR.nothing;\n$al21 = L[3998];\nvar anf_assign7106 = G(ParseError7063.$var,\"is-bad-block-stmt\",L[3998]);\nis$bad$block$stmt7107.$var = anf_assign7106;\nR.nothing;\n$al21 = L[3998];\nvar anf_assign7108 = G(ParseError7063.$var,\"bad-block-stmt\",L[3998]);\nbad$block$stmt7109.$var = anf_assign7108;\nR.nothing;\n$al21 = L[3999];\nvar anf_assign7110 = G(ParseError7063.$var,\"is-bad-check-block-stmt\",L[3999]);\nis$bad$check$block$stmt7111.$var = anf_assign7110;\nR.nothing;\n$al21 = L[3999];\nvar anf_assign7112 = G(ParseError7063.$var,\"bad-check-block-stmt\",L[3999]);\nbad$check$block$stmt7113.$var = anf_assign7112;\nR.nothing;\n$al21 = L[4000];\nvar anf_assign7114 = G(ParseError7063.$var,\"is-fun-missing-colon\",L[4000]);\nis$fun$missing$colon7115.$var = anf_assign7114;\nR.nothing;\n$al21 = L[4000];\nvar anf_assign7116 = G(ParseError7063.$var,\"fun-missing-colon\",L[4000]);\nfun$missing$colon7117.$var = anf_assign7116;\nR.nothing;\n$al21 = L[4001];\nvar anf_assign7118 = G(ParseError7063.$var,\"is-fun-missing-end\",L[4001]);\nis$fun$missing$end7119.$var = anf_assign7118;\nR.nothing;\n$al21 = L[4001];\nvar anf_assign7120 = G(ParseError7063.$var,\"fun-missing-end\",L[4001]);\nfun$missing$end7121.$var = anf_assign7120;\nR.nothing;\n$al21 = L[4002];\nvar anf_assign7122 = G(ParseError7063.$var,\"is-args-missing-comma\",L[4002]);\nis$args$missing$comma7123.$var = anf_assign7122;\nR.nothing;\n$al21 = L[4002];\nvar anf_assign7124 = G(ParseError7063.$var,\"args-missing-comma\",L[4002]);\nargs$missing$comma7125.$var = anf_assign7124;\nR.nothing;\n$al21 = L[4003];\nvar anf_assign7126 = G(ParseError7063.$var,\"is-app-args-missing-comma\",L[4003]);\nis$app$args$missing$comma7127.$var = anf_assign7126;\nR.nothing;\n$al21 = L[4003];\nvar anf_assign7128 = G(ParseError7063.$var,\"app-args-missing-comma\",L[4003]);\napp$args$missing$comma7129.$var = anf_assign7128;\nR.nothing;\n$al21 = L[4004];\nvar anf_assign7130 = G(ParseError7063.$var,\"is-missing-end\",L[4004]);\nis$missing$end7131.$var = anf_assign7130;\nR.nothing;\n$al21 = L[4004];\nvar anf_assign7132 = G(ParseError7063.$var,\"missing-end\",L[4004]);\nmissing$end7133.$var = anf_assign7132;\nR.nothing;\n$al21 = L[4005];\nvar anf_assign7134 = G(ParseError7063.$var,\"is-missing-comma\",L[4005]);\nis$missing$comma7135.$var = anf_assign7134;\nR.nothing;\n$al21 = L[4005];\nvar anf_assign7136 = G(ParseError7063.$var,\"missing-comma\",L[4005]);\nmissing$comma7137.$var = anf_assign7136;\nR.nothing;\n$step16 = 1;\n$ans20 = R.maybeMethodCall2(builtins1,\"trace-value\",L[4007],L[4007],nothing2);\nbreak;\ncase 1: var answer7141 = $ans20;\n$step16 = 2;\n$ans20 = R.maybeMethodCall0(builtins1,\"current-checker\",L[3495]);\nbreak;\ncase 2: var anf_method_obj7138 = $ans20;\n$step16 = 3;\n$ans20 = R.maybeMethodCall0(anf_method_obj7138,\"results\",L[3495]);\nbreak;\ncase 3: var checks7142 = $ans20;\n$step16 = 4;\n$ans20 = R.mO({\"answer\":answer7141,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"O\":O8,\n\"S\":S9,\n\"ED\":ED6,\n\"VS\":VS10},\n\"defined-values\":{\"is-user-break\":is$user$break6264.$var,\n\"is-numeric-binop-error\":is$numeric$binop$error6208.$var,\n\"is-parse-error-unterminated-string\":is$parse$error$unterminated$string7087.$var,\n\"is-args-missing-comma\":is$args$missing$comma7123.$var,\n\"is-module-load-failure\":is$module$load$failure6244.$var,\n\"is-arity-mismatch\":is$arity$mismatch6224.$var,\n\"is-parse-error-next-token\":is$parse$error$next$token7075.$var,\n\"is-exit\":is$exit6272.$var,\n\"is-update-non-existent-field\":is$update$non$existent$field6132.$var,\n\"non-tuple-bind\":non$tuple$bind6178.$var,\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header7073.$var,\n\"row-length-mismatch\":row$length$mismatch6230.$var,\n\"is-fun-missing-end\":is$fun$missing$end7119.$var,\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor6162.$var,\n\"numeric-binop-error\":numeric$binop$error6210.$var,\n\"parse-error-unterminated-string\":parse$error$unterminated$string7089.$var,\n\"module-load-failure\":module$load$failure6246.$var,\n\"sample-error\":sample$error6114.$var,\n\"is-invalid-array-index\":is$invalid$array$index6248.$var,\n\"exit-quiet\":exit$quiet6278.$var,\n\"is-non-tuple-bind\":is$non$tuple$bind6176.$var,\n\"is-parse-error-bad-fun-header\":is$parse$error$bad$fun$header7071.$var,\n\"is-col-length-mismatch\":is$col$length$mismatch6232.$var,\n\"update-non-existent-field\":update$non$existent$field6134.$var,\n\"is-message-exception\":is$message$exception6116.$var,\n\"fun-missing-end\":fun$missing$end7121.$var,\n\"non-boolean-op\":non$boolean$op6198.$var,\n\"is-constructor-syntax-non-constructor\":is$constructor$syntax$non$constructor6160.$var,\n\"is-update-frozen-ref\":is$update$frozen$ref6124.$var,\n\"is-fun-missing-colon\":is$fun$missing$colon7115.$var,\n\"is-generic-type-mismatch\":is$generic$type$mismatch6200.$var,\n\"is-exit-quiet\":is$exit$quiet6276.$var,\n\"invalid-array-index\":invalid$array$index6250.$var,\n\"cases-arity-mismatch\":cases$arity$mismatch6218.$var,\n\"col-length-mismatch\":col$length$mismatch6234.$var,\n\"is-sample-error\":is$sample$error6112.$var,\n\"message-exception\":message$exception6118.$var,\n\"is-non-boolean-op\":is$non$boolean$op6196.$var,\n\"fun-missing-colon\":fun$missing$colon7117.$var,\n\"bad-tuple-bind\":bad$tuple$bind6182.$var,\n\"app-args-missing-comma\":app$args$missing$comma7129.$var,\n\"update-frozen-ref\":update$frozen$ref6126.$var,\n\"is-empty-block\":is$empty$block7103.$var,\n\"is-missing-comma\":is$missing$comma7135.$var,\n\"generic-type-mismatch\":generic$type$mismatch6202.$var,\n\"parse-error-bad-operator\":parse$error$bad$operator7093.$var,\n\"is-cases-arity-mismatch\":is$cases$arity$mismatch6216.$var,\n\"non-function-app\":non$function$app6238.$var,\n\"empty-block\":empty$block7105.$var,\n\"user-exception\":user$exception6270.$var,\n\"is-bad-tuple-bind\":is$bad$tuple$bind6180.$var,\n\"uninitialized-id\":uninitialized$id6242.$var,\n\"is-app-args-missing-comma\":is$app$args$missing$comma7127.$var,\n\"lookup-large-index\":lookup$large$index6174.$var,\n\"no-cases-matched\":no$cases$matched6138.$var,\n\"is-parse-error-bad-operator\":is$parse$error$bad$operator7091.$var,\n\"num-string-binop-error\":num$string$binop$error6206.$var,\n\"missing-comma\":missing$comma7137.$var,\n\"update-non-ref\":update$non$ref6130.$var,\n\"is-extend-non-object\":is$extend$non$object6188.$var,\n\"is-lookup-non-object\":is$lookup$non$object6184.$var,\n\"is-parse-error-colon-colon\":is$parse$error$colon$colon7079.$var,\n\"is-non-function-app\":is$non$function$app6236.$var,\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator7101.$var,\n\"is-lookup-large-index\":is$lookup$large$index6172.$var,\n\"parse-error-bad-number\":parse$error$bad$number7097.$var,\n\"is-no-branches-matched\":is$no$branches$matched6140.$var,\n\"is-user-exception\":is$user$exception6268.$var,\n\"bad-block-stmt\":bad$block$stmt7109.$var,\n\"is-uninitialized-id\":is$uninitialized$id6240.$var,\n\"is-multi-error\":is$multi$error6108.$var,\n\"constructor-arity-mismatch\":constructor$arity$mismatch6222.$var,\n\"column-not-found\":column$not$found6258.$var,\n\"is-num-string-binop-error\":is$num$string$binop$error6204.$var,\n\"is-missing-end\":is$missing$end7131.$var,\n\"is-no-cases-matched\":is$no$cases$matched6136.$var,\n\"is-field-not-found\":is$field$not$found6156.$var,\n\"lookup-non-object\":lookup$non$object6186.$var,\n\"and-maybe\":and$maybe193.$var,\n\"parse-error-colon-colon\":parse$error$colon$colon7081.$var,\n\"extend-non-object\":extend$non$object6190.$var,\n\"is-update-non-ref\":is$update$non$ref6128.$var,\n\"no-branches-matched\":no$branches$matched6142.$var,\n\"and-if\":and$if176.$var,\n\"is-RuntimeError\":is$RuntimeError6106.$var,\n\"update-non-obj\":update$non$obj6122.$var,\n\"is-parse-error-bad-check-operator\":is$parse$error$bad$check$operator7099.$var,\n\"horz-list-values\":horz$list$values80.$var,\n\"is-non-boolean-condition\":is$non$boolean$condition6192.$var,\n\"is-parse-error-bad-number\":is$parse$error$bad$number7095.$var,\n\"is-bad-block-stmt\":is$bad$block$stmt7107.$var,\n\"multi-error\":multi$error6110.$var,\n\"is-column-not-found\":is$column$not$found6256.$var,\n\"is-constructor-arity-mismatch\":is$constructor$arity$mismatch6220.$var,\n\"missing-end\":missing$end7133.$var,\n\"lookup-non-tuple\":lookup$non$tuple6170.$var,\n\"vert-list-values\":vert$list$values58.$var,\n\"field-not-found\":field$not$found6158.$var,\n\"draw-and-highlight\":draw$and$highlight36.$var,\n\"bad-check-block-stmt\":bad$check$block$stmt7113.$var,\n\"non-boolean-condition\":non$boolean$condition6194.$var,\n\"is-update-non-obj\":is$update$non$obj6120.$var,\n\"is-parse-error-bad-app\":is$parse$error$bad$app7067.$var,\n\"equality-failure\":equality$failure6254.$var,\n\"is-bad-check-block-stmt\":is$bad$check$block$stmt7111.$var,\n\"duplicate-column\":duplicate$column6262.$var,\n\"is-lookup-non-tuple\":is$lookup$non$tuple6168.$var,\n\"internal-error\":internal$error6146.$var,\n\"is-ParseError\":is$ParseError7065.$var,\n\"cases-singleton-mismatch\":cases$singleton$mismatch6214.$var,\n\"is-equality-failure\":is$equality$failure6252.$var,\n\"is-parse-error-eof\":is$parse$error$eof7083.$var,\n\"parse-error-bad-app\":parse$error$bad$app7069.$var,\n\"is-duplicate-column\":is$duplicate$column6260.$var,\n\"is-spinnaker-error\":is$spinnaker$error6148.$var,\n\"is-internal-error\":is$internal$error6144.$var,\n\"is-template-not-finished\":is$template$not$finished6152.$var,\n\"is-lookup-constructor-not-object\":is$lookup$constructor$not$object6164.$var,\n\"user-break\":user$break6266.$var,\n\"parse-error-eof\":parse$error$eof7085.$var,\n\"is-cases-singleton-mismatch\":is$cases$singleton$mismatch6212.$var,\n\"please-report-bug\":please$report$bug158.$var,\n\"spinnaker-error\":spinnaker$error6150.$var,\n\"exit\":exit6274.$var,\n\"args-missing-comma\":args$missing$comma7125.$var,\n\"arity-mismatch\":arity$mismatch6226.$var,\n\"parse-error-next-token\":parse$error$next$token7077.$var,\n\"ed-intro\":ed$intro146.$var,\n\"template-not-finished\":template$not$finished6154.$var,\n\"lookup-constructor-not-object\":lookup$constructor$not$object6166.$var,\n\"ed-simple-intro\":ed$simple$intro104.$var,\n\"is-row-length-mismatch\":is$row$length$mismatch6228.$var,\n\"destructure-method-application\":destructure$method$application300.$var},\n\"defined-types\":{\"RuntimeError\":RuntimeError7139,\n\"ParseError\":ParseError7140},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-user-break\":is$user$break6264.$var,\n\"is-numeric-binop-error\":is$numeric$binop$error6208.$var,\n\"is-parse-error-unterminated-string\":is$parse$error$unterminated$string7087.$var,\n\"is-args-missing-comma\":is$args$missing$comma7123.$var,\n\"is-module-load-failure\":is$module$load$failure6244.$var,\n\"is-arity-mismatch\":is$arity$mismatch6224.$var,\n\"is-parse-error-next-token\":is$parse$error$next$token7075.$var,\n\"is-exit\":is$exit6272.$var,\n\"is-update-non-existent-field\":is$update$non$existent$field6132.$var,\n\"non-tuple-bind\":non$tuple$bind6178.$var,\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header7073.$var,\n\"row-length-mismatch\":row$length$mismatch6230.$var,\n\"is-fun-missing-end\":is$fun$missing$end7119.$var,\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor6162.$var,\n\"numeric-binop-error\":numeric$binop$error6210.$var,\n\"parse-error-unterminated-string\":parse$error$unterminated$string7089.$var,\n\"module-load-failure\":module$load$failure6246.$var,\n\"sample-error\":sample$error6114.$var,\n\"is-invalid-array-index\":is$invalid$array$index6248.$var,\n\"exit-quiet\":exit$quiet6278.$var,\n\"is-non-tuple-bind\":is$non$tuple$bind6176.$var,\n\"is-parse-error-bad-fun-header\":is$parse$error$bad$fun$header7071.$var,\n\"is-col-length-mismatch\":is$col$length$mismatch6232.$var,\n\"update-non-existent-field\":update$non$existent$field6134.$var,\n\"is-message-exception\":is$message$exception6116.$var,\n\"fun-missing-end\":fun$missing$end7121.$var,\n\"non-boolean-op\":non$boolean$op6198.$var,\n\"is-constructor-syntax-non-constructor\":is$constructor$syntax$non$constructor6160.$var,\n\"is-update-frozen-ref\":is$update$frozen$ref6124.$var,\n\"is-fun-missing-colon\":is$fun$missing$colon7115.$var,\n\"is-generic-type-mismatch\":is$generic$type$mismatch6200.$var,\n\"is-exit-quiet\":is$exit$quiet6276.$var,\n\"invalid-array-index\":invalid$array$index6250.$var,\n\"cases-arity-mismatch\":cases$arity$mismatch6218.$var,\n\"col-length-mismatch\":col$length$mismatch6234.$var,\n\"is-sample-error\":is$sample$error6112.$var,\n\"message-exception\":message$exception6118.$var,\n\"is-non-boolean-op\":is$non$boolean$op6196.$var,\n\"fun-missing-colon\":fun$missing$colon7117.$var,\n\"bad-tuple-bind\":bad$tuple$bind6182.$var,\n\"app-args-missing-comma\":app$args$missing$comma7129.$var,\n\"update-frozen-ref\":update$frozen$ref6126.$var,\n\"is-empty-block\":is$empty$block7103.$var,\n\"is-missing-comma\":is$missing$comma7135.$var,\n\"generic-type-mismatch\":generic$type$mismatch6202.$var,\n\"parse-error-bad-operator\":parse$error$bad$operator7093.$var,\n\"is-cases-arity-mismatch\":is$cases$arity$mismatch6216.$var,\n\"non-function-app\":non$function$app6238.$var,\n\"empty-block\":empty$block7105.$var,\n\"user-exception\":user$exception6270.$var,\n\"is-bad-tuple-bind\":is$bad$tuple$bind6180.$var,\n\"uninitialized-id\":uninitialized$id6242.$var,\n\"is-app-args-missing-comma\":is$app$args$missing$comma7127.$var,\n\"lookup-large-index\":lookup$large$index6174.$var,\n\"no-cases-matched\":no$cases$matched6138.$var,\n\"is-parse-error-bad-operator\":is$parse$error$bad$operator7091.$var,\n\"num-string-binop-error\":num$string$binop$error6206.$var,\n\"missing-comma\":missing$comma7137.$var,\n\"update-non-ref\":update$non$ref6130.$var,\n\"is-extend-non-object\":is$extend$non$object6188.$var,\n\"is-lookup-non-object\":is$lookup$non$object6184.$var,\n\"is-parse-error-colon-colon\":is$parse$error$colon$colon7079.$var,\n\"is-non-function-app\":is$non$function$app6236.$var,\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator7101.$var,\n\"is-lookup-large-index\":is$lookup$large$index6172.$var,\n\"parse-error-bad-number\":parse$error$bad$number7097.$var,\n\"is-no-branches-matched\":is$no$branches$matched6140.$var,\n\"is-user-exception\":is$user$exception6268.$var,\n\"bad-block-stmt\":bad$block$stmt7109.$var,\n\"is-uninitialized-id\":is$uninitialized$id6240.$var,\n\"is-multi-error\":is$multi$error6108.$var,\n\"constructor-arity-mismatch\":constructor$arity$mismatch6222.$var,\n\"column-not-found\":column$not$found6258.$var,\n\"is-num-string-binop-error\":is$num$string$binop$error6204.$var,\n\"is-missing-end\":is$missing$end7131.$var,\n\"is-no-cases-matched\":is$no$cases$matched6136.$var,\n\"is-field-not-found\":is$field$not$found6156.$var,\n\"lookup-non-object\":lookup$non$object6186.$var,\n\"and-maybe\":and$maybe193.$var,\n\"parse-error-colon-colon\":parse$error$colon$colon7081.$var,\n\"extend-non-object\":extend$non$object6190.$var,\n\"is-update-non-ref\":is$update$non$ref6128.$var,\n\"no-branches-matched\":no$branches$matched6142.$var,\n\"and-if\":and$if176.$var,\n\"is-RuntimeError\":is$RuntimeError6106.$var,\n\"update-non-obj\":update$non$obj6122.$var,\n\"is-parse-error-bad-check-operator\":is$parse$error$bad$check$operator7099.$var,\n\"horz-list-values\":horz$list$values80.$var,\n\"is-non-boolean-condition\":is$non$boolean$condition6192.$var,\n\"is-parse-error-bad-number\":is$parse$error$bad$number7095.$var,\n\"is-bad-block-stmt\":is$bad$block$stmt7107.$var,\n\"multi-error\":multi$error6110.$var,\n\"is-column-not-found\":is$column$not$found6256.$var,\n\"is-constructor-arity-mismatch\":is$constructor$arity$mismatch6220.$var,\n\"missing-end\":missing$end7133.$var,\n\"lookup-non-tuple\":lookup$non$tuple6170.$var,\n\"vert-list-values\":vert$list$values58.$var,\n\"field-not-found\":field$not$found6158.$var,\n\"draw-and-highlight\":draw$and$highlight36.$var,\n\"bad-check-block-stmt\":bad$check$block$stmt7113.$var,\n\"non-boolean-condition\":non$boolean$condition6194.$var,\n\"is-update-non-obj\":is$update$non$obj6120.$var,\n\"is-parse-error-bad-app\":is$parse$error$bad$app7067.$var,\n\"equality-failure\":equality$failure6254.$var,\n\"is-bad-check-block-stmt\":is$bad$check$block$stmt7111.$var,\n\"duplicate-column\":duplicate$column6262.$var,\n\"is-lookup-non-tuple\":is$lookup$non$tuple6168.$var,\n\"internal-error\":internal$error6146.$var,\n\"is-ParseError\":is$ParseError7065.$var,\n\"cases-singleton-mismatch\":cases$singleton$mismatch6214.$var,\n\"is-equality-failure\":is$equality$failure6252.$var,\n\"is-parse-error-eof\":is$parse$error$eof7083.$var,\n\"parse-error-bad-app\":parse$error$bad$app7069.$var,\n\"is-duplicate-column\":is$duplicate$column6260.$var,\n\"is-spinnaker-error\":is$spinnaker$error6148.$var,\n\"is-internal-error\":is$internal$error6144.$var,\n\"is-template-not-finished\":is$template$not$finished6152.$var,\n\"is-lookup-constructor-not-object\":is$lookup$constructor$not$object6164.$var,\n\"user-break\":user$break6266.$var,\n\"parse-error-eof\":parse$error$eof7085.$var,\n\"is-cases-singleton-mismatch\":is$cases$singleton$mismatch6212.$var,\n\"please-report-bug\":please$report$bug158.$var,\n\"spinnaker-error\":spinnaker$error6150.$var,\n\"exit\":exit6274.$var,\n\"args-missing-comma\":args$missing$comma7125.$var,\n\"arity-mismatch\":arity$mismatch6226.$var,\n\"parse-error-next-token\":parse$error$next$token7077.$var,\n\"ed-intro\":ed$intro146.$var,\n\"template-not-finished\":template$not$finished6154.$var,\n\"lookup-constructor-not-object\":lookup$constructor$not$object6166.$var,\n\"ed-simple-intro\":ed$simple$intro104.$var,\n\"is-row-length-mismatch\":is$row$length$mismatch6228.$var,\n\"destructure-method-application\":destructure$method$application300.$var}),\n\"types\":{\"RuntimeError\":RuntimeError7139,\n\"ParseError\":ParseError7140},\n\"modules\":{}}),\n\"checks\":checks7142});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans20;\ndefault: R.ffi.throwSpinnakerError(L[4008],$step16);\n}\n}\nif($step16 !== 4) {\n$ans20.stack[R.EXN_STACKHEIGHT++] = R.mAR($al21,$toplevel17,$step16,[],[is$lookup$constructor$not$object6164,is$field$not$found6156,parse$error$bad$check$operator7101,exit$quiet6278,sample$error6114,destructure$method$application300,RuntimeError7139,is$duplicate$column6260,template$not$finished6154,is$lookup$non$object6184,is$spinnaker$error6148,parse$error$unterminated$string7089,is$user$exception6268,is$module$load$failure6244,non$boolean$condition6194,is$constructor$syntax$non$constructor6160,is$num$string$binop$error6204,spinnaker$error6150,is$arity$mismatch6224,is$non$tuple$bind6176,message$exception6118,is$extend$non$object6188,is$missing$end7131,is$args$missing$comma7123,is$cases$arity$mismatch6216,non$function$app6238,update$non$obj6122,is$app$args$missing$comma7127,extend$non$object6190,uninitialized$id6242,user$break6266,cases$singleton$mismatch6214,generic$type$mismatch6202,update$non$ref6130,is$parse$error$bad$check$operator7099,parse$error$bad$fun$header7073,is$exit$quiet6276,ed$intro146,and$if176,is$update$non$existent$field6132,is$sample$error6112,answer7141,lookup$large$index6174,col$length$mismatch6234,update$frozen$ref6126,is$row$length$mismatch6228,is$RuntimeError6106,lookup$constructor$not$object6166,row$length$mismatch6230,exit6274,field$not$found6158,equality$failure6254,internal$error6146,is$fun$missing$colon7115,column$not$found6258,draw$and$highlight36,bad$tuple$bind6182,lookup$non$object6186,constructor$arity$mismatch6222,is$non$function$app6236,is$no$branches$matched6140,is$uninitialized$id6240,is$user$break6264,is$update$non$obj6120,module$load$failure6246,is$missing$comma7135,is$parse$error$eof7083,user$exception6270,is$parse$error$bad$app7067,is$parse$error$bad$fun$header7071,is$cases$singleton$mismatch6212,is$lookup$non$tuple6168,no$cases$matched6138,is$multi$error6108,and$maybe193,is$invalid$array$index6248,ParseError7140,invalid$array$index6250,multi$error6110,is$empty$block7103,is$lookup$large$index6172,missing$end7133,parse$error$bad$number7097,bad$check$block$stmt7113,is$equality$failure6252,is$exit6272,parse$error$bad$operator7093,parse$error$next$token7077,is$fun$missing$end7119,is$internal$error6144,update$non$existent$field6134,is$column$not$found6256,bad$block$stmt7109,is$template$not$finished6152,horz$list$values80,fun$missing$end7121,is$constructor$arity$mismatch6220,is$bad$tuple$bind6180,is$non$boolean$condition6192,non$boolean$op6198,is$parse$error$unterminated$string7087,is$message$exception6116,is$no$cases$matched6136,fun$missing$colon7117,is$parse$error$colon$colon7079,parse$error$colon$colon7081,is$numeric$binop$error6208,duplicate$column6262,numeric$binop$error6210,is$update$non$ref6128,no$branches$matched6142,is$parse$error$bad$number7095,is$bad$check$block$stmt7111,num$string$binop$error6206,constructor$syntax$non$constructor6162,missing$comma7137,is$parse$error$bad$operator7091,is$generic$type$mismatch6200,parse$error$bad$app7069,arity$mismatch6226,parse$error$eof7085,is$parse$error$next$token7075,please$report$bug158,non$tuple$bind6178,is$ParseError7065,is$col$length$mismatch6232,is$bad$block$stmt7107,empty$block7105,cases$arity$mismatch6218,args$missing$comma7125,lookup$non$tuple6170,is$update$frozen$ref6124,is$non$boolean$op6196,ed$simple$intro104,vert$list$values58,app$args$missing$comma7129],$elidedFrames23);\n}\nreturn $ans20;\n};\nreturn R.safeCall($toplevel17,function module_load(moduleVal) {\nR.modules[\"$builtin://error11\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"destructure-method-application":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +71, +0, +1393, +85, +3, +2007], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"destructure-method-application", +"typ":"tany"}, +"is-row-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1921, +2, +69999, +1942, +7, +71087], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-row-length-mismatch", +"typ":"tany"}, +"ed-simple-intro":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +22, +0, +464, +34, +3, +756], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"ed-simple-intro", +"typ":"tany"}, +"lookup-constructor-not-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +453, +2, +16581, +472, +7, +17420], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"lookup-constructor-not-object", +"typ":"tany"}, +"template-not-finished":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +354, +2, +12541, +371, +7, +13313], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"template-not-finished", +"typ":"tany"}, +"ed-intro":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +36, +0, +758, +46, +3, +1018], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"ed-intro", +"typ":"tany"}, +"parse-error-next-token":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2488, +2, +92323, +2523, +7, +94394], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-next-token", +"typ":"tany"}, +"arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1688, +2, +61571, +1919, +7, +69995], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"arity-mismatch", +"typ":"tany"}, +"args-missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2715, +2, +102747, +2716, +91, +102870], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"args-missing-comma", +"typ":"tany"}, +"exit":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2415, +2, +89537, +2421, +7, +89790], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"exit", +"typ":"tany"}, +"spinnaker-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +344, +2, +12156, +353, +7, +12538], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"spinnaker-error", +"typ":"tany"}, +"please-report-bug":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +48, +0, +1020, +50, +3, +1101], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"please-report-bug", +"typ":"tany"}, +"is-cases-singleton-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1105, +2, +43092, +1319, +7, +49614], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-cases-singleton-mismatch", +"typ":"tany"}, +"parse-error-eof":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2551, +2, +95931, +2574, +7, +97010], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-eof", +"typ":"tany"}, +"user-break":{"bind":"let", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2398, +2, +88995, +2404, +7, +89223], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"typ":"tany"}, +"is-lookup-constructor-not-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +453, +2, +16581, +472, +7, +17420], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-lookup-constructor-not-object", +"typ":"tany"}, +"is-template-not-finished":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +354, +2, +12541, +371, +7, +13313], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-template-not-finished", +"typ":"tany"}, +"is-internal-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +334, +2, +11774, +343, +7, +12153], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-internal-error", +"typ":"tany"}, +"is-spinnaker-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +344, +2, +12156, +353, +7, +12538], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-spinnaker-error", +"typ":"tany"}, +"is-duplicate-column":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2337, +2, +86861, +2396, +7, +88991], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-duplicate-column", +"typ":"tany"}, +"parse-error-bad-app":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2433, +2, +90032, +2460, +7, +91220], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-bad-app", +"typ":"tany"}, +"is-parse-error-eof":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2551, +2, +95931, +2574, +7, +97010], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-eof", +"typ":"tany"}, +"is-equality-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2232, +2, +82444, +2274, +7, +84528], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-equality-failure", +"typ":"tany"}, +"cases-singleton-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1105, +2, +43092, +1319, +7, +49614], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"cases-singleton-mismatch", +"typ":"tany"}, +"is-ParseError":{"bind":"let", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2432, +0, +90013, +2723, +3, +103236], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"typ":"tany"}, +"internal-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +334, +2, +11774, +343, +7, +12153], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"internal-error", +"typ":"tany"}, +"is-lookup-non-tuple":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +473, +2, +17423, +510, +7, +18955], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-lookup-non-tuple", +"typ":"tany"}, +"duplicate-column":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2337, +2, +86861, +2396, +7, +88991], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"duplicate-column", +"typ":"tany"}, +"is-bad-check-block-stmt":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2707, +2, +102321, +2710, +7, +102500], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-bad-check-block-stmt", +"typ":"tany"}, +"equality-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2232, +2, +82444, +2274, +7, +84528], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"equality-failure", +"typ":"tany"}, +"is-parse-error-bad-app":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2433, +2, +90032, +2460, +7, +91220], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-bad-app", +"typ":"tany"}, +"is-update-non-obj":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +140, +2, +3819, +163, +7, +4760], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-update-non-obj", +"typ":"tany"}, +"non-boolean-condition":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +787, +2, +29828, +798, +7, +30361], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"non-boolean-condition", +"typ":"tany"}, +"bad-check-block-stmt":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2707, +2, +102321, +2710, +7, +102500], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"bad-check-block-stmt", +"typ":"tany"}, +"draw-and-highlight":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +12, +0, +180, +14, +3, +260], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":1, +"name":"draw-and-highlight", +"typ":"tany"}, +"field-not-found":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +372, +2, +13316, +428, +7, +15553], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"field-not-found", +"typ":"tany"}, +"vert-list-values":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +15, +0, +261, +17, +3, +358], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"vert-list-values", +"typ":"tany"}, +"lookup-non-tuple":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +473, +2, +17423, +510, +7, +18955], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"lookup-non-tuple", +"typ":"tany"}, +"missing-end":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2719, +2, +103007, +2720, +84, +103116], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"missing-end", +"typ":"tany"}, +"is-constructor-arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1478, +2, +54403, +1686, +7, +61567], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-constructor-arity-mismatch", +"typ":"tany"}, +"is-column-not-found":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2275, +2, +84531, +2336, +7, +86858], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-column-not-found", +"typ":"tany"}, +"multi-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +88, +2, +2030, +98, +7, +2557], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"multi-error", +"typ":"tany"}, +"is-bad-block-stmt":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2703, +2, +102145, +2706, +7, +102318], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-bad-block-stmt", +"typ":"tany"}, +"is-parse-error-bad-number":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2626, +2, +98986, +2648, +7, +99937], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-bad-number", +"typ":"tany"}, +"is-non-boolean-condition":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +787, +2, +29828, +798, +7, +30361], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-non-boolean-condition", +"typ":"tany"}, +"horz-list-values":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +18, +0, +359, +20, +3, +462], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"horz-list-values", +"typ":"tany"}, +"is-parse-error-bad-check-operator":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2649, +2, +99940, +2698, +7, +102018], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-bad-check-operator", +"typ":"tany"}, +"update-non-obj":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +140, +2, +3819, +163, +7, +4760], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"update-non-obj", +"typ":"tany"}, +"is-RuntimeError":{"bind":"let", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +87, +0, +2009, +2430, +3, +90011], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"typ":"tany"}, +"and-if":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +52, +0, +1103, +62, +3, +1285], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"and-if", +"typ":"tany"}, +"no-branches-matched":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +313, +2, +10665, +333, +7, +11771], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"no-branches-matched", +"typ":"tany"}, +"is-update-non-ref":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +202, +2, +6238, +239, +7, +7759], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-update-non-ref", +"typ":"tany"}, +"extend-non-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +744, +2, +28166, +786, +7, +29825], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"extend-non-object", +"typ":"tany"}, +"parse-error-colon-colon":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2524, +2, +94397, +2550, +7, +95928], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-colon-colon", +"typ":"tany"}, +"and-maybe":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://error", +64, +0, +1287, +69, +3, +1391], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":false, +"name":"and-maybe", +"typ":"tany"}, +"lookup-non-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +701, +2, +26543, +743, +7, +28163], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"lookup-non-object", +"typ":"tany"}, +"is-field-not-found":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +372, +2, +13316, +428, +7, +15553], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-field-not-found", +"typ":"tany"}, +"is-no-cases-matched":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +278, +2, +9235, +312, +7, +10662], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-no-cases-matched", +"typ":"tany"}, +"is-missing-end":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2719, +2, +103007, +2720, +84, +103116], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-missing-end", +"typ":"tany"}, +"is-num-string-binop-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +882, +2, +33594, +1003, +7, +38737], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-num-string-binop-error", +"typ":"tany"}, +"column-not-found":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2275, +2, +84531, +2336, +7, +86858], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"column-not-found", +"typ":"tany"}, +"constructor-arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1478, +2, +54403, +1686, +7, +61567], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"constructor-arity-mismatch", +"typ":"tany"}, +"is-multi-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +88, +2, +2030, +98, +7, +2557], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-multi-error", +"typ":"tany"}, +"is-uninitialized-id":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2079, +2, +76079, +2127, +7, +77904], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-uninitialized-id", +"typ":"tany"}, +"bad-block-stmt":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2703, +2, +102145, +2706, +7, +102318], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"bad-block-stmt", +"typ":"tany"}, +"is-user-exception":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2406, +2, +89231, +2413, +7, +89529], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-user-exception", +"typ":"tany"}, +"is-no-branches-matched":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +313, +2, +10665, +333, +7, +11771], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-no-branches-matched", +"typ":"tany"}, +"parse-error-bad-number":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2626, +2, +98986, +2648, +7, +99937], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-bad-number", +"typ":"tany"}, +"is-lookup-large-index":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +511, +2, +18958, +568, +7, +21394], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-lookup-large-index", +"typ":"tany"}, +"parse-error-bad-check-operator":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2649, +2, +99940, +2698, +7, +102018], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-bad-check-operator", +"typ":"tany"}, +"is-non-function-app":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2035, +2, +74263, +2078, +7, +76076], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-non-function-app", +"typ":"tany"}, +"is-parse-error-colon-colon":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2524, +2, +94397, +2550, +7, +95928], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-colon-colon", +"typ":"tany"}, +"is-lookup-non-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +701, +2, +26543, +743, +7, +28163], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-lookup-non-object", +"typ":"tany"}, +"is-extend-non-object":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +744, +2, +28166, +786, +7, +29825], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-extend-non-object", +"typ":"tany"}, +"update-non-ref":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +202, +2, +6238, +239, +7, +7759], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"update-non-ref", +"typ":"tany"}, +"missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2721, +2, +103119, +2722, +86, +103232], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"missing-comma", +"typ":"tany"}, +"num-string-binop-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +882, +2, +33594, +1003, +7, +38737], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"num-string-binop-error", +"typ":"tany"}, +"is-parse-error-bad-operator":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2602, +2, +98156, +2625, +7, +98983], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-bad-operator", +"typ":"tany"}, +"no-cases-matched":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +278, +2, +9235, +312, +7, +10662], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"no-cases-matched", +"typ":"tany"}, +"lookup-large-index":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +511, +2, +18958, +568, +7, +21394], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"lookup-large-index", +"typ":"tany"}, +"is-app-args-missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2717, +2, +102873, +2718, +95, +103004], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-app-args-missing-comma", +"typ":"tany"}, +"uninitialized-id":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2079, +2, +76079, +2127, +7, +77904], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"uninitialized-id", +"typ":"tany"}, +"is-bad-tuple-bind":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +622, +2, +23388, +700, +7, +26540], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-bad-tuple-bind", +"typ":"tany"}, +"user-exception":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2406, +2, +89231, +2413, +7, +89529], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"user-exception", +"typ":"tany"}, +"empty-block":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2699, +2, +102021, +2702, +7, +102142], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"empty-block", +"typ":"tany"}, +"non-function-app":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2035, +2, +74263, +2078, +7, +76076], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"non-function-app", +"typ":"tany"}, +"is-cases-arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1320, +2, +49617, +1477, +7, +54400], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-cases-arity-mismatch", +"typ":"tany"}, +"parse-error-bad-operator":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2602, +2, +98156, +2625, +7, +98983], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-bad-operator", +"typ":"tany"}, +"generic-type-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +812, +2, +30946, +881, +7, +33591], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"generic-type-mismatch", +"typ":"tany"}, +"is-missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2721, +2, +103119, +2722, +86, +103232], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-missing-comma", +"typ":"tany"}, +"is-empty-block":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2699, +2, +102021, +2702, +7, +102142], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-empty-block", +"typ":"tany"}, +"update-frozen-ref":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +164, +2, +4763, +201, +7, +6235], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"update-frozen-ref", +"typ":"tany"}, +"app-args-missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2717, +2, +102873, +2718, +95, +103004], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"app-args-missing-comma", +"typ":"tany"}, +"bad-tuple-bind":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +622, +2, +23388, +700, +7, +26540], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"bad-tuple-bind", +"typ":"tany"}, +"fun-missing-colon":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2711, +2, +102503, +2712, +90, +102624], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"fun-missing-colon", +"typ":"tany"}, +"is-non-boolean-op":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +799, +2, +30364, +811, +7, +30943], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-non-boolean-op", +"typ":"tany"}, +"message-exception":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +130, +2, +3497, +139, +7, +3816], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"message-exception", +"typ":"tany"}, +"is-sample-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +99, +2, +2560, +129, +7, +3494], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-sample-error", +"typ":"tany"}, +"col-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1944, +2, +71091, +2033, +7, +74259], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"col-length-mismatch", +"typ":"tany"}, +"cases-arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1320, +2, +49617, +1477, +7, +54400], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"cases-arity-mismatch", +"typ":"tany"}, +"invalid-array-index":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2140, +2, +78419, +2231, +7, +82441], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"invalid-array-index", +"typ":"tany"}, +"is-exit-quiet":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2423, +2, +89798, +2429, +7, +90007], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-exit-quiet", +"typ":"tany"}, +"is-generic-type-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +812, +2, +30946, +881, +7, +33591], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-generic-type-mismatch", +"typ":"tany"}, +"is-fun-missing-colon":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2711, +2, +102503, +2712, +90, +102624], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-fun-missing-colon", +"typ":"tany"}, +"is-update-frozen-ref":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +164, +2, +4763, +201, +7, +6235], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-update-frozen-ref", +"typ":"tany"}, +"is-constructor-syntax-non-constructor":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +429, +2, +15556, +452, +7, +16578], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-constructor-syntax-non-constructor", +"typ":"tany"}, +"non-boolean-op":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +799, +2, +30364, +811, +7, +30943], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"non-boolean-op", +"typ":"tany"}, +"fun-missing-end":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2713, +2, +102627, +2714, +88, +102744], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"fun-missing-end", +"typ":"tany"}, +"is-message-exception":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +130, +2, +3497, +139, +7, +3816], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-message-exception", +"typ":"tany"}, +"update-non-existent-field":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +240, +2, +7762, +277, +7, +9232], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"update-non-existent-field", +"typ":"tany"}, +"is-col-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1944, +2, +71091, +2033, +7, +74259], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-col-length-mismatch", +"typ":"tany"}, +"is-parse-error-bad-fun-header":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2461, +2, +91223, +2487, +7, +92320], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-bad-fun-header", +"typ":"tany"}, +"is-non-tuple-bind":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +569, +2, +21397, +621, +7, +23385], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-non-tuple-bind", +"typ":"tany"}, +"exit-quiet":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2423, +2, +89798, +2429, +7, +90007], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"exit-quiet", +"typ":"tany"}, +"is-invalid-array-index":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2140, +2, +78419, +2231, +7, +82441], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-invalid-array-index", +"typ":"tany"}, +"sample-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +99, +2, +2560, +129, +7, +3494], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"sample-error", +"typ":"tany"}, +"module-load-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2128, +2, +77907, +2139, +7, +78416], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"module-load-failure", +"typ":"tany"}, +"parse-error-unterminated-string":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2575, +2, +97013, +2601, +7, +98153], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-unterminated-string", +"typ":"tany"}, +"numeric-binop-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1004, +2, +38740, +1104, +7, +43089], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"numeric-binop-error", +"typ":"tany"}, +"constructor-syntax-non-constructor":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +429, +2, +15556, +452, +7, +16578], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"constructor-syntax-non-constructor", +"typ":"tany"}, +"is-fun-missing-end":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2713, +2, +102627, +2714, +88, +102744], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-fun-missing-end", +"typ":"tany"}, +"row-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1921, +2, +69999, +1942, +7, +71087], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"row-length-mismatch", +"typ":"tany"}, +"parse-error-bad-fun-header":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2461, +2, +91223, +2487, +7, +92320], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"parse-error-bad-fun-header", +"typ":"tany"}, +"non-tuple-bind":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +569, +2, +21397, +621, +7, +23385], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"non-tuple-bind", +"typ":"tany"}, +"is-update-non-existent-field":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +240, +2, +7762, +277, +7, +9232], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-update-non-existent-field", +"typ":"tany"}, +"is-exit":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2415, +2, +89537, +2421, +7, +89790], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-exit", +"typ":"tany"}, +"is-parse-error-next-token":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2488, +2, +92323, +2523, +7, +94394], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-next-token", +"typ":"tany"}, +"is-arity-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1688, +2, +61571, +1919, +7, +69995], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-arity-mismatch", +"typ":"tany"}, +"is-module-load-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2128, +2, +77907, +2139, +7, +78416], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-module-load-failure", +"typ":"tany"}, +"is-args-missing-comma":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2715, +2, +102747, +2716, +91, +102870], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-args-missing-comma", +"typ":"tany"}, +"is-parse-error-unterminated-string":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2575, +2, +97013, +2601, +7, +98153], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-parse-error-unterminated-string", +"typ":"tany"}, +"is-numeric-binop-error":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +1004, +2, +38740, +1104, +7, +43089], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-numeric-binop-error", +"typ":"tany"}, +"is-user-break":{"bind":"fun", +"origin":{"local-bind-site":["builtin://error", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://error", +2398, +2, +88995, +2404, +7, +89223], +"new-definition":true, +"uri-of-definition":"builtin://error"}, +"flatness":0, +"name":"is-user-break", +"typ":"tany"}}, +"datatypes":{"ParseError":["data",{"local-bind-site":["builtin://error", +2432, +0, +90013, +2723, +3, +103236], +"definition-bind-site":["builtin://error", +2432, +0, +90013, +2723, +3, +103236], +"new-definition":true, +"uri-of-definition":"builtin://error"},"ParseError",[],[["parse-error-bad-app", +[["a", +"tany"],["b", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-bad-fun-header", +[["a", +"tany"],["b", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-next-token", +[["loc", +"tany"],["next-token", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-colon-colon", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-eof", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-unterminated-string", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-bad-operator", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-bad-number", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["parse-error-bad-check-operator", +[["op", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}],["empty-block", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["bad-block-stmt", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["bad-check-block-stmt", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["fun-missing-colon", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["fun-missing-end", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["args-missing-comma", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["app-args-missing-comma", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["missing-end", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}],["missing-comma", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"]}]],{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany"], +"tany"]}], +"RuntimeError":["data",{"local-bind-site":["builtin://error", +87, +0, +2009, +2430, +3, +90011], +"definition-bind-site":["builtin://error", +87, +0, +2009, +2430, +3, +90011], +"new-definition":true, +"uri-of-definition":"builtin://error"},"RuntimeError",[],[["multi-error", +[["errors", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["sample-error", +[["loc", +"tany"],["some-info", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["message-exception", +[["message", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["update-non-obj", +[["loc", +"tany"],["obj", +"tany"],["objloc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["update-frozen-ref", +[["loc", +"tany"],["obj", +"tany"],["objloc", +"tany"],["field", +"tany"],["fieldloc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["update-non-ref", +[["loc", +"tany"],["obj", +"tany"],["objloc", +"tany"],["field", +"tany"],["fieldloc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["update-non-existent-field", +[["loc", +"tany"],["obj", +"tany"],["objloc", +"tany"],["field", +"tany"],["fieldloc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["no-cases-matched", +[["loc", +"tany"],["val", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["no-branches-matched", +[["loc", +"tany"],["expression", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["internal-error", +[["message", +"tany"],["info-args", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["spinnaker-error", +[["funloc", +"tany"],["step-num", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["template-not-finished", +[["loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["field-not-found", +[["loc", +"tany"],["obj", +"tany"],["field", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["constructor-syntax-non-constructor", +[["expr-loc", +"tany"],["constr-loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["lookup-constructor-not-object", +[["loc", +"tany"],["constr-name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["field", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["lookup-non-tuple", +[["loc", +"tany"],["non-tup", +"tany"],["index", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["lookup-large-index", +[["loc", +"tany"],["tup", +"tany"],["len", +"tany"],["index", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["non-tuple-bind", +[["loc", +"tany"],["non-tup", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["bad-tuple-bind", +[["loc", +"tany"],["tup", +"tany"],["length", +"tany"],["desiredLength", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["lookup-non-object", +[["loc", +"tany"],["non-obj", +"tany"],["field", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["extend-non-object", +[["loc", +"tany"],["non-obj", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["non-boolean-condition", +[["loc", +"tany"],["typ", +"tany"],["value", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["non-boolean-op", +[["loc", +"tany"],["position", +"tany"],["typ", +"tany"],["value", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["generic-type-mismatch", +[["val", +"tany"],["typ", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["num-string-binop-error", +[["val1", +"tany"],["val2", +"tany"],["opname", +"tany"],["opdesc", +"tany"],["methodname", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["numeric-binop-error", +[["val1", +"tany"],["val2", +"tany"],["opname", +"tany"],["opdesc", +"tany"],["methodname", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["cases-singleton-mismatch", +[["branch-loc", +"tany"],["should-be-singleton", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}],["cases-loc", +"tany"],["constructor-loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["cases-arity-mismatch", +[["branch-loc", +"tany"],["num-args", +"tany"],["actual-arity", +"tany"],["cases-loc", +"tany"],["constructor-loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["constructor-arity-mismatch", +[["fun-def-loc", +"tany"],["constructor-name", +"tany"],["fun-def-arity", +"tany"],["fun-app-args", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["arity-mismatch", +[["fun-def-loc", +"tany"],["fun-def-arity", +"tany"],["fun-app-args", +"tany"],["is-method", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["row-length-mismatch", +[["colnames", +"tany"],["provided-vals", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["col-length-mismatch", +[["colname", +"tany"],["expected", +"tany"],["actual", +"tany"],["value", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["non-function-app", +[["loc", +"tany"],["non-fun-val", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["uninitialized-id", +[["loc", +"tany"],["name", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["module-load-failure", +[["names", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["invalid-array-index", +[["method-name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["array", +"tany"],["index", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["equality-failure", +[["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["value1", +"tany"],["value2", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["column-not-found", +[["operation-loc", +"tany"],["column-name", +"tany"],["column-loc", +"tany"],["columns", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["duplicate-column", +[["operation-loc", +"tany"],["column-name", +"tany"],["column-loc", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["user-break", +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["user-exception", +[["value", +"tany"]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["exit", +[["code", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["exit-quiet", +[["code", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}]],{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}]}, +"aliases":{"ParseError":"tany", +"RuntimeError":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"error-display"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"srcloc"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://equality":({"theMap":"{\"version\":3,\"sources\":[\"builtin://equality\"],\"names\":[\"builtin://equality\",\",8,0,81,12,3,208\",\",9,2,104,9,9,111\",\",10,2,114,10,46,158\",\",11,2,161,11,45,204\",\",16,6,284,16,22,300\",\",17,6,317,17,22,333\",\",18,6,350,18,21,365\",\",25,6,542,25,19,555\",\",26,6,572,26,19,585\",\",27,6,602,27,21,617\",\",34,34,829,34,67,862\",\",34,28,823,34,68,863\",\",33,2,769,37,5,920\"],\"mappings\":\"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\",\"file\":\"builtin://equality\"}", +"theModule":"function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__22(R,NAMESPACE,M,$error4,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://equality\";\nvar D = R.undefined;\nvar L = [[M,9,2,104,9,9,111],\n[M,10,2,114,10,46,158],\n[M,10,23,135,10,29,141],\n[M,11,2,161,11,45,204],\n[M,11,22,181,11,28,187],\n[M,8,0,81,12,3,208],\n[M,14,0,210,21,3,467],\n[M,14,21,231,14,35,245],\n[M,14,44,254,14,58,268],\n[M,23,0,469,30,3,727],\n[M,23,20,489,23,34,503],\n[M,23,43,512,23,57,526],\n[M,32,0,729,38,3,924],\n[M,34,28,823,34,68,863],\n[M,34,34,829,34,67,862],\n[M,34,4,799,34,68,863],\n[M,33,2,769,37,5,920],\n[M,35,4,868,35,19,883],\n[M,36,4,888,36,30,914],\n[M,33,8,775,33,22,789],\n[M,32,21,750,32,35,764],\n[\"dummy location\"],\n[M,3,0,13,38,3,924]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar error2 = $error4;\nvar $underscore_import3 = $$underscore_import5;\nvar $cases_dispatch99 = {\"Unknown\":3,\n\"Equal\":5,\n\"NotEqual\":6};\nvar $toplevel6 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__22($$resumer13) {\nvar $step5 = 0;\nvar $elidedFrames14 = 0;\nvar $ans10 = D;\nvar $al12 = L[22];\nif(R.isAR($$resumer13)) {\n$step5 = $$resumer13.step;\n$al12 = $$resumer13.from;\n$ans10 = $$resumer13.ans;\n$elidedFrames14 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$EqualityResult40 = $$resumer13.vars[0];\nis$Unknown45 = $$resumer13.vars[1];\nto$boolean103 = $$resumer13.vars[2];\nanswer105 = $$resumer13.vars[3];\nequal$and60 = $$resumer13.vars[4];\nUnknown46 = $$resumer13.vars[5];\nNotEqual44 = $$resumer13.vars[6];\nis$Equal41 = $$resumer13.vars[7];\nis$NotEqual43 = $$resumer13.vars[8];\nEqualityResult58 = $$resumer13.vars[9];\nequal$or76 = $$resumer13.vars[10];\nEqual42 = $$resumer13.vars[11];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans10 = R.mC();\n}\nwhile(!R.isContinuation($ans10)) {\nswitch($step5) {\ncase 0: var EqualityResult15 = R.nB(\"EqualityResult\",L[5]);\nvar EqualityResult58 = R.mBA(EqualityResult15,\"EqualityResult\");\nvar EqualityResult39 = {\"$var\":D};\nvar is$EqualityResult40 = {\"$var\":D};\nvar is$Equal41 = {\"$var\":D};\nvar Equal42 = {\"$var\":D};\nvar is$NotEqual43 = {\"$var\":D};\nvar NotEqual44 = {\"$var\":D};\nvar is$Unknown45 = {\"$var\":D};\nvar Unknown46 = {\"$var\":D};\nvar equal$and60 = {\"$var\":D};\nvar equal$or76 = {\"$var\":D};\nvar to$boolean103 = {\"$var\":D};\nvar $Equal_getfields20 = function variant(f) {\nreturn f();\n};\nvar $Equal_mutablemask19 = [];\nvar $Equal$base16 = {\"_match\":R.mM(\"Equal\",0)};\nvar $Equal$brander17 = R.nB(\"Equal\",L[0]);\nvar $Equal$brands18 = {};\n$Equal$brands18[EqualityResult15._brand] = true;\n$Equal$brands18[$Equal$brander17._brand] = true;\nvar $NotEqual_getfields25 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $NotEqual_mutablemask24 = [false,false,false];\nvar $NotEqual$base21 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"_match\":R.mM(\"NotEqual\",3)};\nvar $NotEqual$brander22 = R.nB(\"NotEqual\",L[1]);\nvar $NotEqual$brands23 = {};\n$NotEqual$brands23[EqualityResult15._brand] = true;\n$NotEqual$brands23[$NotEqual$brander22._brand] = true;\nvar NotEqual26 = R.mVC(L[1],function $synthesizedConstructor_$NotEqual$base() {\nreturn [$type$String8];\n},[\"reason27\"],[L[2]],[false,false,false],[\"reason27\",\"value128\",\"value229\"],$NotEqual_mutablemask24,$NotEqual$base21,$NotEqual$brands23,\"NotEqual\",$NotEqual_getfields25,$NotEqual$base21);\nvar $Unknown_getfields34 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $Unknown_mutablemask33 = [false,false,false];\nvar $Unknown$base30 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"_match\":R.mM(\"Unknown\",3)};\nvar $Unknown$brander31 = R.nB(\"Unknown\",L[3]);\nvar $Unknown$brands32 = {};\n$Unknown$brands32[EqualityResult15._brand] = true;\n$Unknown$brands32[$Unknown$brander31._brand] = true;\nvar Unknown35 = R.mVC(L[3],function $synthesizedConstructor_$Unknown$base() {\nreturn [$type$String8];\n},[\"reason36\"],[L[4]],[false,false,false],[\"reason36\",\"value137\",\"value238\"],$Unknown_mutablemask33,$Unknown$base30,$Unknown$brands32,\"Unknown\",$Unknown_getfields34,$Unknown$base30);\nvar anf_assign82 = R.mO({\"EqualityResult\":G(EqualityResult15,\"test\",L[5]),\n\"is-Equal\":G($Equal$brander17,\"test\",L[0]),\n\"Equal\":R.mDV($Equal$base16,$Equal$brands18,\"Equal\",$Equal_getfields20,-1,$Equal_mutablemask19,$Equal$base16,false,L[0]),\n\"is-NotEqual\":G($NotEqual$brander22,\"test\",L[1]),\n\"NotEqual\":NotEqual26,\n\"is-Unknown\":G($Unknown$brander31,\"test\",L[3]),\n\"Unknown\":Unknown35});\nEqualityResult39.$var = anf_assign82;\nR.nothing;\n$al12 = L[5];\nvar anf_assign84 = G(EqualityResult39.$var,\"EqualityResult\",L[5]);\nis$EqualityResult40.$var = anf_assign84;\nR.nothing;\n$al12 = L[0];\nvar anf_assign86 = G(EqualityResult39.$var,\"is-Equal\",L[0]);\nis$Equal41.$var = anf_assign86;\nR.nothing;\n$al12 = L[0];\nvar anf_assign88 = G(EqualityResult39.$var,\"Equal\",L[0]);\nEqual42.$var = anf_assign88;\nR.nothing;\n$al12 = L[1];\nvar anf_assign90 = G(EqualityResult39.$var,\"is-NotEqual\",L[1]);\nis$NotEqual43.$var = anf_assign90;\nR.nothing;\n$al12 = L[1];\nvar anf_assign74 = G(EqualityResult39.$var,\"NotEqual\",L[1]);\nNotEqual44.$var = anf_assign74;\nR.nothing;\n$al12 = L[3];\nvar anf_assign76 = G(EqualityResult39.$var,\"is-Unknown\",L[3]);\nis$Unknown45.$var = anf_assign76;\nR.nothing;\n$al12 = L[3];\nvar anf_assign78 = G(EqualityResult39.$var,\"Unknown\",L[3]);\nUnknown46.$var = anf_assign78;\nR.nothing;\nvar $temp_lam48 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__6($er149,$er250) {\nvar $step47 = 0;\nvar $elidedFrames54 = 0;\nvar $ans51 = D;\nvar $al52 = L[6];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],2,$t,false);\n}\nvar er149 = $er149;\nvar er250 = $er250;\n// callee optimization;\nwhile(!R.isContinuation($ans51)) {\nswitch($step47) {\ncase 0: $step47 = 1;\n$al52 = L[7];\nR._cA(L[7],EqualityResult58,er149);\nbreak;\ncase 1: $step47 = 2;\n$al52 = L[8];\nR._cA(L[8],EqualityResult58,er250);\nbreak;\ncase 2: // caller optimization;\n$ans51 = is$NotEqual43.$var.app(er149);\nvar anf_if57 = $ans51;\n$step47 = R.checkPyretTrue(anf_if57)?3:4;\nbreak;\ncase 3: $step47 = 9;\n$ans51 = er149;\nbreak;\ncase 4: // caller optimization;\n$ans51 = is$NotEqual43.$var.app(er250);\nvar anf_if56 = $ans51;\n$step47 = R.checkPyretTrue(anf_if56)?5:6;\nbreak;\ncase 5: $step47 = 9;\n$ans51 = er250;\nbreak;\ncase 6: // caller optimization;\n$ans51 = is$Unknown45.$var.app(er149);\nvar anf_if55 = $ans51;\n$step47 = R.checkPyretTrue(anf_if55)?7:8;\nbreak;\ncase 7: $step47 = 9;\n$ans51 = er149;\nbreak;\ncase 8: $step47 = 9;\n$ans51 = er250;\nbreak;\ncase 9: return $ans51;\ndefault: R.ffi.throwSpinnakerError(L[6],$step47);\n}\n}\nreturn $ans51;\n};\nvar anf_assign87 = R.mF($temp_lam48,\"equal-and\");\nequal$and60.$var = anf_assign87;\nR.nothing;\nvar $temp_lam62 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__9($er163,$er264) {\nvar $step61 = 0;\nvar $elidedFrames69 = 0;\nvar $ans66 = D;\nvar $al67 = L[9];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],2,$t,false);\n}\nvar er163 = $er163;\nvar er264 = $er264;\n// callee optimization;\nwhile(!R.isContinuation($ans66)) {\nswitch($step61) {\ncase 0: $step61 = 1;\n$al67 = L[10];\nR._cA(L[10],EqualityResult58,er163);\nbreak;\ncase 1: $step61 = 2;\n$al67 = L[11];\nR._cA(L[11],EqualityResult58,er264);\nbreak;\ncase 2: // caller optimization;\n$ans66 = is$Equal41.$var.app(er163);\nvar anf_if72 = $ans66;\n$step61 = R.checkPyretTrue(anf_if72)?3:4;\nbreak;\ncase 3: $step61 = 9;\n$ans66 = er163;\nbreak;\ncase 4: // caller optimization;\n$ans66 = is$Equal41.$var.app(er264);\nvar anf_if71 = $ans66;\n$step61 = R.checkPyretTrue(anf_if71)?5:6;\nbreak;\ncase 5: $step61 = 9;\n$ans66 = er264;\nbreak;\ncase 6: // caller optimization;\n$ans66 = is$Unknown45.$var.app(er163);\nvar anf_if70 = $ans66;\n$step61 = R.checkPyretTrue(anf_if70)?7:8;\nbreak;\ncase 7: $step61 = 9;\n$ans66 = er163;\nbreak;\ncase 8: $step61 = 9;\n$ans66 = er264;\nbreak;\ncase 9: return $ans66;\ndefault: R.ffi.throwSpinnakerError(L[9],$step61);\n}\n}\nreturn $ans66;\n};\nvar anf_assign75 = R.mF($temp_lam62,\"equal-or\");\nequal$or76.$var = anf_assign75;\nR.nothing;\nvar $temp_lam78 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__12($er79) {\nvar $step77 = 0;\nvar $elidedFrames83 = 0;\nvar $ans80 = D;\nvar $al81 = L[12];\nif(R.isAR($er79)) {\n$step77 = $er79.step;\n$al81 = $er79.from;\n$ans80 = $er79.ans;\n$elidedFrames83 = $er79.elidedFrames;\ner79 = $er79.args[0];\ncases84 = $er79.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[12],1,$t,false);\n}\nvar er79 = $er79;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans80 = R.mC();\n}\nwhile(!R.isContinuation($ans80)) {\nswitch($step77) {\ncase 0: $step77 = 1;\n$al81 = L[20];\nR._cA(L[20],EqualityResult58,er79);\nbreak;\ncase 1: var cases84 = er79;\n$step77 = 2;\n$al81 = L[19];\nvar $ann$check100 = R._cA(L[19],EqualityResult58,cases84);\nif(R.isContinuation($ann$check100)) {\n$ans80 = $ann$check100;\n}\nbreak;\ncase 2: $al81 = L[16];\n$step77 = $cases_dispatch99[cases84.$name] || 7;\nbreak;\ncase 3: if(cases84.$arity !== 3) {\nif(cases84.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[15],3,cases84.$arity,L[16],cases84.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[15],true,L[16],cases84.$loc);\n}\n}\nvar $fn93 = cases84.$constructor.$fieldNames;\nvar r85 = R.dF(cases84.dict[$fn93[0]],cases84.$mut_fields_mask[0],false);\nvar v187 = R.dF(cases84.dict[$fn93[1]],cases84.$mut_fields_mask[1],false);\nvar v288 = R.dF(cases84.dict[$fn93[2]],cases84.$mut_fields_mask[2],false);\n$step77 = 4;\n$al81 = L[14];\nif(typeof(error2.dict.values.dict[\"equality-failure\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al81,error2.dict.values.dict[\"equality-failure\"]);\n}\n$ans80 = error2.dict.values.dict[\"equality-failure\"].app(r85,v187,v288);\nbreak;\ncase 4: var anf_arg91 = $ans80;\n$step77 = 8;\n$al81 = L[13];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al81,raise1);\n}\n$ans80 = raise1.app(anf_arg91);\nbreak;\ncase 5: if(cases84.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[17],false,L[16],cases84.$loc);\n}\n$step77 = 8;\n$ans80 = (true);\nbreak;\ncase 6: if(cases84.$arity !== 3) {\nif(cases84.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[18],3,cases84.$arity,L[16],cases84.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[18],true,L[16],cases84.$loc);\n}\n}\nvar $fn95 = cases84.$constructor.$fieldNames;\nR.dF(cases84.dict[$fn95[0]],cases84.$mut_fields_mask[0],false);\nR.dF(cases84.dict[$fn95[1]],cases84.$mut_fields_mask[1],false);\nR.dF(cases84.dict[$fn95[2]],cases84.$mut_fields_mask[2],false);\n$step77 = 8;\n$ans80 = (false);\nbreak;\ncase 7: $ans80 = R.throwNoCasesMatched(L[16],cases84);\n$step77 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans80;\ndefault: R.ffi.throwSpinnakerError(L[12],$step77);\n}\n}\nif($step77 !== 8) {\n$ans80.stack[R.EXN_STACKHEIGHT++] = R.mAR($al81,$temp_lam78,$step77,[er79],[cases84],$elidedFrames83);\n}\nreturn $ans80;\n};\nvar anf_assign102 = R.mF($temp_lam78,\"to-boolean\");\nto$boolean103.$var = anf_assign102;\nR.nothing;\n$step5 = 1;\n$ans10 = R.maybeMethodCall2(builtins1,\"trace-value\",L[21],L[21],nothing2);\nbreak;\ncase 1: var answer105 = $ans10;\n$step5 = 2;\n$ans10 = R.maybeMethodCall0(builtins1,\"current-checker\",L[5]);\nbreak;\ncase 2: var anf_method_obj104 = $ans10;\n$step5 = 3;\n$ans10 = R.maybeMethodCall0(anf_method_obj104,\"results\",L[5]);\nbreak;\ncase 3: var checks106 = $ans10;\n$step5 = 4;\n$ans10 = R.mO({\"answer\":answer105,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"error\":error2},\n\"defined-values\":{\"NotEqual\":NotEqual44.$var,\n\"is-NotEqual\":is$NotEqual43.$var,\n\"is-Unknown\":is$Unknown45.$var,\n\"Unknown\":Unknown46.$var,\n\"is-Equal\":is$Equal41.$var,\n\"Equal\":Equal42.$var,\n\"to-boolean\":to$boolean103.$var,\n\"is-EqualityResult\":is$EqualityResult40.$var,\n\"equal-or\":equal$or76.$var,\n\"equal-and\":equal$and60.$var},\n\"defined-types\":{\"EqualityResult\":EqualityResult58},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"NotEqual\":NotEqual44.$var,\n\"is-NotEqual\":is$NotEqual43.$var,\n\"is-Unknown\":is$Unknown45.$var,\n\"Unknown\":Unknown46.$var,\n\"is-Equal\":is$Equal41.$var,\n\"Equal\":Equal42.$var,\n\"to-boolean\":to$boolean103.$var,\n\"is-EqualityResult\":is$EqualityResult40.$var,\n\"equal-or\":equal$or76.$var,\n\"equal-and\":equal$and60.$var}),\n\"types\":{\"EqualityResult\":EqualityResult58},\n\"modules\":{}}),\n\"checks\":checks106});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans10;\ndefault: R.ffi.throwSpinnakerError(L[22],$step5);\n}\n}\nif($step5 !== 4) {\n$ans10.stack[R.EXN_STACKHEIGHT++] = R.mAR($al12,$toplevel6,$step5,[],[is$EqualityResult40,is$Unknown45,to$boolean103,answer105,equal$and60,Unknown46,NotEqual44,is$Equal41,is$NotEqual43,EqualityResult58,equal$or76,Equal42],$elidedFrames14);\n}\nreturn $ans10;\n};\nreturn R.safeCall($toplevel6,function module_load(moduleVal) {\nR.modules[\"$builtin://equality3\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"equal-and":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://equality", +14, +0, +210, +21, +3, +467], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":1, +"name":"equal-and", +"typ":"tany"}, +"equal-or":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://equality", +23, +0, +469, +30, +3, +727], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":1, +"name":"equal-or", +"typ":"tany"}, +"is-EqualityResult":{"bind":"let", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +8, +0, +81, +12, +3, +208], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"typ":"tany"}, +"to-boolean":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://equality", +32, +0, +729, +38, +3, +924], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":false, +"name":"to-boolean", +"typ":"tany"}, +"Equal":{"bind":"let", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +9, +2, +104, +9, +9, +111], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"typ":"tany"}, +"is-Equal":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +9, +2, +104, +9, +9, +111], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":0, +"name":"is-Equal", +"typ":"tany"}, +"Unknown":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +11, +2, +161, +11, +45, +204], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":0, +"name":"Unknown", +"typ":"tany"}, +"is-Unknown":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +11, +2, +161, +11, +45, +204], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":0, +"name":"is-Unknown", +"typ":"tany"}, +"is-NotEqual":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +10, +2, +114, +10, +46, +158], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":0, +"name":"is-NotEqual", +"typ":"tany"}, +"NotEqual":{"bind":"fun", +"origin":{"local-bind-site":["builtin://equality", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://equality", +10, +2, +114, +10, +46, +158], +"new-definition":true, +"uri-of-definition":"builtin://equality"}, +"flatness":0, +"name":"NotEqual", +"typ":"tany"}}, +"datatypes":{"EqualityResult":["data",{"local-bind-site":["builtin://equality", +8, +0, +81, +12, +3, +208], +"definition-bind-site":["builtin://equality", +8, +0, +81, +12, +3, +208], +"new-definition":true, +"uri-of-definition":"builtin://equality"},"EqualityResult",[],[["Equal", +{}],["NotEqual", +[["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["value1", +"tany"],["value2", +"tany"]], +{}],["Unknown", +[["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["value1", +"tany"],["value2", +"tany"]], +{}]],{}]}, +"aliases":{"EqualityResult":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"error"}, +{"import-type":"builtin", +"name":"global"}]}), +"builtin://lists":({"theMap":"{\"version\":3,\"sources\":[\"builtin://lists\"],\"names\":[\"builtin://lists\",\",167,80,6903,167,101,6924\",\",167,55,6878,167,102,6925\",\",170,4,6998,170,22,7016\",\",175,4,7192,175,16,7204\",\",180,4,7403,180,19,7418\",\",185,4,7593,185,17,7606\",\",190,4,7755,190,17,7768\",\",195,4,7908,195,19,7923\",\",199,4,8143,199,21,8160\",\",203,4,8281,203,21,8298\",\",203,4,8281,203,28,8305\",\",207,4,8434,207,21,8451\",\",207,4,8434,207,28,8458\",\",212,4,8609,212,16,8621\",\",216,4,8811,216,19,8826\",\",220,4,8980,220,19,8995\",\",225,4,9213,225,23,9232\",\",230,4,9532,230,38,9566\",\",64,6,2310,64,44,2348\",\",83,10,3133,83,19,3142\",\",83,10,3133,83,28,3151\",\",83,6,3129,83,28,3151\",\",90,6,3557,90,24,3575\",\",95,6,3794,95,19,3807\",\",100,14,3972,100,24,3982\",\",100,7,3965,100,24,3982\",\",100,29,3987,100,38,3996\",\",100,29,3987,100,50,4008\",\",106,8,4253,106,18,4263\",\",106,20,4265,106,29,4274\",\",106,20,4265,106,44,4289\",\",106,6,4251,106,45,4290\",\",112,6,4532,112,15,4541\",\",112,27,4553,112,37,4563\",\",112,25,4551,112,44,4570\",\",112,6,4532,112,45,4571\",\",117,8,4747,117,18,4757\",\",117,6,4745,117,19,4758\",\",117,24,4763,117,33,4772\",\",117,24,4763,117,40,4779\",\",122,8,4953,122,18,4963\",\",122,6,4951,122,19,4964\",\",122,23,4968,122,32,4977\",\",122,23,4968,122,39,4984\",\",127,6,5156,127,16,5166\",\",127,27,5177,127,36,5186\",\",127,27,5177,127,50,5200\",\",127,19,5169,127,51,5201\",\",132,18,5361,132,27,5370\",\",132,9,5352,132,28,5371\",\",132,30,5373,132,40,5383\",\",133,12,5396,133,21,5405\",\",133,12,5396,133,28,5412\",\",141,14,5815,141,24,5825\",\",150,13,6207,150,26,6220\",\",150,46,6240,150,61,6255\",\",151,18,6274,151,30,6286\",\",151,46,6302,151,61,6317\",\",152,46,6364,152,61,6379\",\",149,6,6176,154,12,6406\",\",155,16,6423,155,39,6446\",\",157,16,6486,157,39,6509\",\",158,18,6528,158,39,6549\",\",158,6,6516,158,40,6550\",\",164,31,6780,164,38,6787\",\",164,44,6793,164,54,6803\",\",164,6,6755,164,55,6804\",\",11,0,152,232,3,9577\",\",12,2,168,78,8,2949\",\",79,2,2952,165,8,6813\",\",239,30,9787,239,37,9794\",\",237,4,9720,240,7,9803\",\",242,2,9812,242,14,9824\",\",254,6,10172,257,9,10278\",\",247,2,10027,258,5,10284\",\",268,15,10702,268,22,10709\",\",269,24,10734,269,31,10741\",\",269,54,10764,269,61,10771\",\",269,36,10746,269,62,10772\",\",267,2,10670,270,5,10778\",\",280,15,11146,280,22,11153\",\",281,24,11178,281,31,11185\",\",281,56,11210,281,63,11217\",\",281,37,11191,281,64,11218\",\",279,2,11114,282,5,11224\",\",292,7,11525,292,18,11536\",\",292,48,11566,292,59,11577\",\",292,26,11544,292,59,11577\",\",292,20,11538,292,60,11578\",\",293,12,11591,293,20,11599\",\",293,22,11601,293,29,11608\",\",294,15,11624,294,21,11630\",\",294,23,11632,294,30,11639\",\",297,5,11660,297,10,11665\",\",297,46,11701,297,57,11712\",\",297,18,11673,297,57,11712\",\",297,12,11667,297,58,11713\",\",298,8,11722,298,20,11734\",\",306,7,11990,306,18,12001\",\",306,48,12031,306,59,12042\",\",306,26,12009,306,59,12042\",\",306,20,12003,306,60,12043\",\",307,12,12056,307,20,12064\",\",307,34,12078,307,40,12084\",\",307,26,12070,307,41,12085\",\",308,10,12096,308,17,12103\",\",308,33,12119,308,39,12125\",\",308,41,12127,308,48,12134\",\",308,28,12114,308,49,12135\",\",308,20,12106,308,50,12136\",\",311,5,12156,311,10,12161\",\",311,46,12197,311,57,12208\",\",311,18,12169,311,57,12208\",\",311,12,12163,311,58,12209\",\",312,8,12218,312,20,12230\",\",318,22,12395,318,36,12409\",\",318,2,12375,318,53,12426\",\",325,2,12561,325,14,12573\",\",331,16,12750,331,22,12756\",\",331,7,12741,331,23,12757\",\",332,6,12765,332,13,12772\",\",334,13,12796,334,19,12802\",\",337,5,12823,337,18,12836\",\",338,4,12842,338,42,12880\",\",340,4,12893,340,15,12904\",\",345,2,13012,345,22,13032\",\",349,2,13080,349,12,13090\",\",354,5,13237,354,17,13249\",\",355,10,13303,355,25,13318\",\",354,25,13257,355,25,13318\",\",354,25,13257,356,14,13333\",\",357,10,13344,357,24,13358\",\",354,25,13257,357,24,13358\",\",354,25,13257,358,13,13372\",\",354,19,13251,358,14,13373\",\",359,42,13416,359,51,13425\",\",359,53,13427,359,65,13439\",\",359,26,13400,359,66,13440\",\",359,8,13382,359,67,13441\",\",366,5,13672,366,15,13682\",\",367,7,13691,367,20,13704\",\",368,10,13722,368,76,13788\",\",371,31,13836,371,43,13848\",\",371,30,13835,371,52,13857\",\",371,18,13823,371,53,13858\",\",371,10,13815,371,57,13862\",\",372,55,13918,372,64,13927\",\",372,46,13909,372,65,13928\",\",372,22,13885,372,75,13938\",\",372,4,13867,372,76,13939\",\",385,5,14286,385,10,14291\",\",385,12,14293,385,60,14341\",\",386,26,14368,386,44,14386\",\",386,8,14350,386,45,14387\",\",392,2,14525,392,34,14557\",\",398,28,14696,398,43,14711\",\",398,20,14688,398,44,14712\",\",396,2,14626,399,5,14718\",\",407,7,15012,407,26,15031\",\",410,11,15074,410,25,15088\",\",410,6,15069,410,26,15089\",\",411,11,15101,411,26,15116\",\",411,9,15099,411,27,15117\",\",412,19,15138,412,34,15153\",\",412,37,15156,412,53,15172\",\",414,20,15205,414,35,15220\",\",414,38,15223,414,55,15240\",\",418,2,15267,418,11,15276\",\",424,5,15473,424,18,15486\",\",427,14,15520,427,23,15529\",\",427,7,15513,427,23,15529\",\",428,13,15544,428,21,15552\",\",430,11,15580,430,20,15589\",\",430,29,15598,430,37,15606\",\",430,22,15591,430,43,15612\",\",430,6,15575,430,44,15613\",\",438,5,15827,438,18,15840\",\",441,9,15868,441,18,15877\",\",441,7,15866,441,19,15878\",\",442,11,15891,442,20,15900\",\",442,6,15886,442,21,15901\",\",444,14,15926,444,22,15934\",\",451,8,16171,451,13,16176\",\",451,22,16185,451,39,16202\",\",451,18,16181,451,40,16203\",\",452,4,16209,452,26,16231\",\",457,7,16307,457,15,16315\",\",460,19,16385,460,43,16409\",\",462,15,16453,462,22,16460\",\",462,10,16448,462,28,16466\",\",463,26,16493,463,41,16508\",\",459,6,16345,464,9,16518\",\",467,2,16535,467,14,16547\",\",473,2,16719,473,18,16735\",\",473,2,16719,473,25,16742\",\",478,2,16885,478,18,16901\",\",478,2,16885,478,25,16908\",\",483,5,17045,483,18,17058\",\",486,6,17084,486,15,17093\",\",486,4,17082,486,16,17094\",\",486,27,17105,486,35,17113\",\",486,20,17098,486,36,17114\",\",492,5,17258,492,18,17271\",\",495,6,17296,495,15,17305\",\",495,4,17294,495,16,17306\",\",495,28,17318,495,36,17326\",\",495,21,17311,495,37,17327\",\",503,7,17603,503,19,17615\",\",503,23,17619,503,35,17631\",\",504,12,17650,504,20,17658\",\",504,22,17660,504,30,17668\",\",504,10,17648,504,31,17669\",\",504,41,17679,504,48,17686\",\",504,50,17688,504,57,17695\",\",504,36,17674,504,58,17696\",\",507,2,17713,507,18,17729\",\",512,2,17864,512,31,17893\",\",517,5,18067,517,17,18079\",\",517,21,18083,517,33,18095\",\",520,6,18121,520,14,18129\",\",520,16,18131,520,24,18139\",\",520,4,18119,520,25,18140\",\",520,44,18159,520,51,18166\",\",520,53,18168,520,60,18175\",\",520,36,18151,520,61,18176\",\",520,28,18143,520,62,18177\",\",526,5,18380,526,17,18392\",\",526,21,18396,526,33,18408\",\",526,37,18412,526,49,18424\",\",529,6,18450,529,14,18458\",\",529,16,18460,529,24,18468\",\",529,26,18470,529,34,18478\",\",529,4,18448,529,35,18479\",\",529,54,18498,529,61,18505\",\",529,63,18507,529,70,18514\",\",529,72,18516,529,79,18523\",\",529,46,18490,529,80,18524\",\",529,38,18482,529,81,18525\",\",535,5,18763,535,17,18775\",\",535,21,18779,535,33,18791\",\",535,37,18795,535,49,18807\",\",535,53,18811,535,65,18823\",\",538,6,18849,538,14,18857\",\",538,16,18859,538,24,18867\",\",538,26,18869,538,34,18877\",\",538,36,18879,538,44,18887\",\",538,4,18847,538,45,18888\",\",538,64,18907,538,71,18914\",\",538,73,18916,538,80,18923\",\",538,82,18925,538,89,18932\",\",538,91,18934,538,98,18941\",\",538,56,18899,538,99,18942\",\",538,48,18891,538,100,18943\",\",544,5,19121,544,18,19134\",\",547,9,19163,547,18,19172\",\",547,4,19158,547,19,19173\",\",547,39,19193,547,44,19198\",\",547,46,19200,547,54,19208\",\",547,30,19184,547,55,19209\",\",547,22,19176,547,56,19210\",\",553,5,19430,553,17,19442\",\",553,21,19446,553,33,19458\",\",556,9,19487,556,17,19495\",\",556,19,19497,556,27,19505\",\",556,4,19482,556,28,19506\",\",556,49,19527,556,54,19532\",\",556,56,19534,556,63,19541\",\",556,65,19543,556,72,19550\",\",556,39,19517,556,73,19551\",\",556,31,19509,556,74,19552\",\",562,5,19807,562,17,19819\",\",562,21,19823,562,33,19835\",\",562,37,19839,562,49,19851\",\",565,9,19880,565,17,19888\",\",565,19,19890,565,27,19898\",\",565,29,19900,565,37,19908\",\",565,4,19875,565,38,19909\",\",565,59,19930,565,64,19935\",\",565,66,19937,565,73,19944\",\",565,75,19946,565,82,19953\",\",565,84,19955,565,91,19962\",\",565,49,19920,565,92,19963\",\",565,41,19912,565,93,19964\",\",571,5,20254,571,17,20266\",\",571,21,20270,571,33,20282\",\",571,37,20286,571,49,20298\",\",571,53,20302,571,65,20314\",\",574,9,20343,574,17,20351\",\",574,19,20353,574,27,20361\",\",574,29,20363,574,37,20371\",\",574,39,20373,574,47,20381\",\",574,4,20338,574,48,20382\",\",574,69,20403,574,74,20408\",\",574,76,20410,574,83,20417\",\",574,85,20419,574,92,20426\",\",574,94,20428,574,101,20435\",\",574,103,20437,574,110,20444\",\",574,59,20393,574,111,20445\",\",574,51,20385,574,112,20446\",\",580,20,20604,580,26,20610\",\",580,2,20586,580,45,20629\",\",587,7,20880,587,19,20892\",\",587,23,20896,587,35,20908\",\",590,8,20948,590,16,20956\",\",590,18,20958,590,26,20966\",\",590,6,20946,590,27,20967\",\",591,11,20979,591,18,20986\",\",591,20,20988,591,27,20995\",\",594,2,21013,594,18,21029\",\",600,7,21303,600,19,21315\",\",600,23,21319,600,35,21331\",\",600,39,21335,600,51,21347\",\",603,8,21387,603,16,21395\",\",603,18,21397,603,26,21405\",\",603,28,21407,603,36,21415\",\",603,6,21385,603,37,21416\",\",604,11,21428,604,18,21435\",\",604,20,21437,604,27,21444\",\",604,29,21446,604,36,21453\",\",607,2,21471,607,24,21493\",\",613,7,21786,613,19,21798\",\",613,23,21802,613,35,21814\",\",613,39,21818,613,51,21830\",\",613,55,21834,613,67,21846\",\",616,8,21886,616,16,21894\",\",616,18,21896,616,26,21904\",\",616,28,21906,616,36,21914\",\",616,38,21916,616,46,21924\",\",616,6,21884,616,47,21925\",\",617,11,21937,617,18,21944\",\",617,20,21946,617,27,21953\",\",617,29,21955,617,36,21962\",\",617,38,21964,617,45,21971\",\",620,2,21989,620,30,22017\",\",626,7,22227,626,18,22238\",\",629,11,22281,629,18,22288\",\",629,6,22276,629,19,22289\",\",630,11,22301,630,16,22306\",\",630,18,22308,630,24,22314\",\",633,2,22332,633,16,22346\",\",639,7,22606,639,19,22618\",\",639,23,22622,639,35,22634\",\",642,11,22677,642,19,22685\",\",642,21,22687,642,29,22695\",\",642,6,22672,642,30,22696\",\",643,11,22708,643,16,22713\",\",643,18,22715,643,25,22722\",\",643,27,22724,643,34,22731\",\",646,2,22749,646,23,22770\",\",652,7,23073,652,19,23085\",\",652,23,23089,652,35,23101\",\",652,39,23105,652,51,23117\",\",655,11,23160,655,19,23168\",\",655,21,23170,655,29,23178\",\",655,31,23180,655,39,23188\",\",655,6,23155,655,40,23189\",\",656,11,23201,656,16,23206\",\",656,18,23208,656,25,23215\",\",656,27,23217,656,34,23224\",\",656,36,23226,656,43,23233\",\",659,2,23251,659,29,23278\",\",665,7,23616,665,19,23628\",\",665,23,23632,665,35,23644\",\",665,39,23648,665,51,23660\",\",665,55,23664,665,67,23676\",\",668,11,23719,668,19,23727\",\",668,21,23729,668,29,23737\",\",668,31,23739,668,39,23747\",\",668,41,23749,668,49,23757\",\",668,6,23714,668,50,23758\",\",669,11,23770,669,16,23775\",\",669,18,23777,669,25,23784\",\",669,27,23786,669,34,23793\",\",669,36,23795,669,43,23802\",\",669,45,23804,669,52,23811\",\",672,2,23829,672,35,23862\",\",682,20,24297,682,32,24309\",\",683,21,24332,683,40,24351\",\",682,6,24283,685,9,24385\",\",679,2,24218,686,5,24391\",\",692,2,24617,692,38,24653\",\",698,5,24884,698,18,24897\",\",701,21,24937,701,29,24945\",\",701,6,24922,701,30,24946\",\",701,32,24948,701,41,24957\",\",701,4,24920,701,42,24958\",\",708,5,25267,708,17,25279\",\",708,21,25283,708,33,25295\",\",711,21,25335,711,29,25343\",\",711,31,25345,711,39,25353\",\",711,13,25327,711,40,25354\",\",711,42,25356,711,49,25363\",\",711,51,25365,711,58,25372\",\",718,5,25702,718,17,25714\",\",718,21,25718,718,33,25730\",\",718,37,25734,718,49,25746\",\",721,21,25786,721,29,25794\",\",721,31,25796,721,39,25804\",\",721,41,25806,721,49,25814\",\",721,13,25778,721,50,25815\",\",721,52,25817,721,59,25824\",\",721,61,25826,721,68,25833\",\",721,70,25835,721,77,25842\",\",728,5,26192,728,17,26204\",\",728,21,26208,728,33,26220\",\",728,37,26224,728,49,26236\",\",728,53,26240,728,65,26252\",\",731,21,26292,731,29,26300\",\",731,31,26302,731,39,26310\",\",731,41,26312,731,49,26320\",\",731,51,26322,731,59,26330\",\",731,13,26284,731,60,26331\",\",731,62,26333,731,69,26340\",\",731,71,26342,731,78,26349\",\",731,80,26351,731,87,26358\",\",731,89,26360,731,96,26367\",\",739,7,26722,739,29,26744\",\",742,11,26777,742,16,26782\",\",742,28,26794,742,46,26812\",\",742,18,26784,742,47,26813\",\",742,49,26815,742,66,26832\",\",745,2,26850,745,22,26870\",\",750,6,26976,750,19,26989\",\",750,26,26996,750,61,27031\",\",751,6,27038,751,18,27050\",\",752,10,27067,752,19,27076\",\",753,10,27087,753,18,27095\",\",754,24,27120,754,34,27130\",\",757,53,27272,757,76,27295\",\",757,18,27237,757,77,27296\",\",749,2,26965,759,5,27312\",\",763,2,27389,763,38,27425\",\",767,22,27505,767,39,27522\",\",767,2,27485,767,40,27523\",\",771,2,27604,771,35,27637\",\",775,22,27721,775,43,27742\",\",775,2,27701,775,44,27743\",\",779,2,27830,779,35,27863\",\",783,22,27953,783,49,27980\",\",783,2,27933,783,50,27981\",\",787,5,28035,787,18,28048\",\",790,18,28186,790,23,28191\",\",790,11,28179,790,24,28192\",\",791,28,28221,791,50,28243\",\",791,6,28199,791,51,28244\",\",792,6,28251,792,31,28276\",\",789,54,28118,789,63,28127\",\",789,65,28129,789,77,28141\",\",789,41,28105,789,78,28142\",\",789,87,28151,789,95,28159\",\",789,11,28075,794,7,28294\",\",795,4,28299,795,27,28322\",\",803,23,28499,803,31,28507\",\",804,18,28527,804,37,28546\",\",805,29,28576,805,48,28595\",\",805,21,28568,805,49,28596\",\",803,6,28482,806,9,28606\",\",800,2,28408,807,5,28612\",\",815,18,28793,815,37,28812\",\",816,29,28842,816,48,28861\",\",816,21,28834,816,49,28862\",\",814,6,28751,817,9,28872\",\",811,2,28677,818,5,28878\",\",826,37,29137,826,57,29157\",\",827,43,29202,827,57,29216\",\",827,31,29190,827,58,29217\",\",828,42,29260,828,56,29274\",\",828,30,29248,828,57,29275\",\",829,19,29295,829,33,29309\",\",826,6,29106,830,9,29319\",\",823,2,29036,831,5,29325\",\",841,11,29620,841,22,29631\",\",842,22,29661,842,32,29671\",\",842,10,29649,842,33,29672\",\",838,4,29542,847,7,29742\",\",849,4,29753,849,13,29762\",\",859,2,30236,859,46,30280\",\",868,2,30527,868,51,30576\",\",884,17,30981,884,31,30995\",\",885,28,31029,885,42,31043\",\",885,20,31021,885,43,31044\",\",886,39,31089,886,53,31103\",\",886,31,31081,886,54,31104\",\",886,23,31073,886,55,31105\",\",887,50,31161,887,64,31175\",\",887,42,31153,887,65,31176\",\",887,34,31145,887,66,31177\",\",887,26,31137,887,67,31178\",\",888,61,31245,888,75,31259\",\",888,53,31237,888,76,31260\",\",888,45,31229,888,77,31261\",\",888,37,31221,888,78,31262\",\",888,29,31213,888,79,31263\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkMGQ,uCAlMHR;AAAAA;AAkMGQ,wCAlMHR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsMGS,uCAtMHT;AAAAA;AAsMGS,sCAtMHT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0MGU,uCA1MHV;AAAAA;AA0MGU,sCA1MHV;AAAAA;AAAAA;AAAAA;AAAAA,wBA0MGW,gCA1MHX;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8MGY,uCA9MHZ;AAAAA;AA8MGY,sCA9MHZ;AAAAA;AAAAA;AAAAA;AAAAA,wBA8MGa,gCA9MHb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmNGc,uCAnNHd;AAAAA;AAmNGc,sCAnNHd;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuNGe,uCAvNHf;AAAAA;AAuNGe,2CAvNHf;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2NGgB,uCA3NHhB;AAAAA;AA2NGgB,sCA3NHhB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgOGiB,uCAhOHjB;AAAAA;AAgOGiB,wCAhOHjB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqOGkB,uCArOHlB;AAAAA;AAqOGkB,oDArOHlB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+DKmB,mCA/DLnB;AAAAA;AA+DKmB,uDA/DLnB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA6PK0E,gDA7PL1E;AAAAA;AAAAA;AAAAA,SAsPC2E,gDAtPD3E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2Q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AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6Y2B4J,8CA7Y3B5J;AAAAA;AAAAA;AAAAA;AA6YmB6J,8CA7YnB7J;AAAAA;AAAAA;AAAAA,QA2YC8J,kDA3YD9J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsZM+J,8CAtZN/J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAyZUgK,8BAzZVhK;AAAAA;AAAAA;AAAAA;AAyZKiK,yCAzZLjK;AAAAA;AAAAA;AAAAA,kBA0ZUkK,+BA1ZVlK;AAAAA;AAAAA;AAAAA;AA0ZQmK,mCA1ZRnK;AAAAA;AA0ZQmK,iCA1ZRnK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eA2ZkBoK,+BA3ZlBpK;AAAAA;AAAAA;AA2ZoCqK,iDA3ZpCrK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eA6ZmBsK,+BA7ZnBtK;AAAAA;AAAAA;AA6ZqCuK,iDA7ZrCvK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiaCwK,qCAjaDxK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuaIyK,wCAvaJzK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0aa0K,yBA1ab1K;AAAAA;AAAAA;AAAAA;AA0aM2K,2CA1aN3K;AAAAA;AA0aM2K,iDA1aN3K;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA2aY4K,wBA3aZ5K;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA6aU6K,yBA7aV7K;AAAAA;AAAAA,kBA6a4B8K,wBA7a5B9K;AAAAA;AAAAA;AAAAA;AA6aqB+K,kDA7arB/K;AAAAA;AAAAA;AAAAA;AA6aKgL,oDA7aLhL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqbIiL,wCArbJjL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAwbQkL,yBAxbRlL;AAAAA;AAAAA;AAAAA;AAwbMmL,mCAxbNnL;AAAAA;AAwbMmL,iCAxbNnL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAybUoL,yBAzbVpL;AAAAA;AAybKqL,kCAzbLrL;AAAAA;AAAAA;AAAAA;AAAAA,kBA2basL,wBA3bbtL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkcOuL,oCAlcPvL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkcqBwL,qCAlcrBxL;AAAAA;AAAAA;AAAAA;AAAAA;AAkciByL,kCAlcjBzL;AAAAA;AAkciByL,gCAlcjBzL;AAAAA;AAAAA;AAkciByL,0CAlcjBzL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmcG0L,oCAncH1L;AAAAA;AAmcG0L,wCAncH1L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwcM2L,2CAxcN3L;AAAAA;AAwcM2L,yCAxcN3L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2ckB4L,oCA3clB5L;AAAAA;AA2ckB4L,0CA3clB5L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6cc6L,mCA7cd7L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6cS8L,iDA7cT9L;AAAAA;AAAAA;AAAAA;AAAAA;AA8cyB+L,iDA9czB/L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA0cKgM,kDA1cLhM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkdCiM,2CAldDjM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwdCkM,8CAxdDlM;AAAAA;AAAAA;AAAAA;AAAAA,yBAwdCmM,kCAxdDnM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6dCoM,8CA7dDpM;AAAAA;AAAAA;AAAAA;AAAAA,yBA6dCqM,kCA7dDrM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkeIsM,wCAleJtM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAqeKuM,yBAreLvM;AAAAA;AAAAA;AAAAA;AAqeGwM,mCAreHxM;AAAAA;AAqeGwM,iCAreHxM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAqe0ByM,wBAre1BzM;AAAAA;AAAAA;AAAAA;AAqemB0M,8CArenB1M;AAAAA;AAAAA;AAqemB0M,0CArenB1M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2eI2M,wCA3eJ3M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA8eK4M,yBA9eL5M;AAAAA;AAAAA;AAAAA;AA8eG6M,mCA9eH7M;AAAAA;AA8eG6M,iCA9eH7M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA8e2B8M,wBA9e3B9M;AAAAA;AAAAA;AAAAA;AA8eoB+M,8CA9epB/M;AAAAA;AAAAA;AA8eoB+M,0CA9epB/M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsfMgN,uCAtfNhN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsfsBiN,uCAtftBjN;AAAAA;AAsfsBiN,0CAtftBjN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAufWkN,wBAvfXlN;AAAAA;AAAAA,kBAufqBmN,wBAvfrBnN;AAAAA;AAAAA;AAAAA;AAufSoN,mCAvfTpN;AAAAA;AAufSoN,6CAvfTpN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAufwCqN,uBAvfxCrN;AAAAA;AAAAA,kBAufiDsN,uBAvfjDtN;AAAAA;AAAAA;AAAAA;AAufmCuN,qDAvfnCvN;AAAAA;AAAAA;AAufmCuN,0CAvfnCvN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0fCwN,+CA1fDxN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA+fCyN,iEA/fDzN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAogBI0N,uCApgBJ1N;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAogBoB2N,uCApgBpB3N;AAAAA;AAogBoB2N,0CApgBpB3N;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAugBK4N,wBAvgBL5N;AAAAA;AAAAA,kBAugBe6N,wBAvgBf7N;AAAAA;AAAAA;AAAAA;AAugBG8N,mCAvgBH9N;AAAAA;AAugBG8N,6CAvgBH9N;AAAAA;AAAAA;AAAAA;AAAAA,kBAugB2C+N,uBAvgB3C/N;AAAAA;AAAAA,kBAugBoDgO,uBAvgBpDhO;AAAAA;AAAAA;AAAAA;AAugBmCiO,2DAvgBnCjO;AAAAA;AAAAA;AAAAA;AAugB2BkO,iDAvgB3BlO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6gBImO,uCA7gBJnO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6gBoBoO,uCA7gBpBpO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6gBoCqO,uCA7gBpCrO;AAAAA;AA6gBoCqO,0CA7gBpCrO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAghBKsO,wBAhhBLtO;AAAAA;AAAAA,kBAghBeuO,wBAhhBfvO;AAAAA;AAAAA,kBAghByBwO,wBAhhBzBxO;AAAAA;AAAAA;AAAAA;AAghBGyO,mCAhhBHzO;AAAAA;AAghBGyO,yDAhhBHzO;AAAAA;AAAAA;AAAAA;AAAAA,kBAghBqD0O,uBAhhBrD1O;AAAAA;AAAAA,kBAghB8D2O,uBAhhB9D3O;AAAAA;AAAAA,kBAghBuE4O,uBAhhBvE5O;AAAAA;AAAAA;AAAAA;AAghB6C6O,uEAhhB7C7O;AAAAA;AAAAA;AAAAA;AAghBqC8O,iDAhhBrC9O;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAshBI+O,uCAthBJ/O;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAshBoBgP,uCAthBpBhP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAshBoCiP,uCAthBpCjP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAshBoDkP,uCAthBpDlP;AAAAA;AAshBoDkP,0CAthBpDlP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAyhBKmP,wBAzhBLnP;AAAAA;AAAAA,kBAyhBeoP,wBAzhBfpP;AAAAA;AAAAA,kBAyhByBqP,wBAzhBzBrP;AAAAA;AAAAA,kBAyhBmCsP,wBAzhBnCtP;AAAAA;AAAAA;AAAAA;AAyhBGuP,mCAzhBHvP;AAAAA;AAyhBGuP,qEAzhBHvP;AAAAA;AAAAA;AAAAA;AAAAA,kBAyhB+DwP,uBAzhB/DxP;AAAAA;AAAAA,kBAyhBwEyP,uBAzhBxEzP;AAAAA;AAAAA,kBAyhBiF0P,uBAzhBjF1P;AAAAA;AAAAA,kBAyhB0F2P,uBAzhB1F3P;AAAAA;AAAAA;AAAAA;AAyhBuD4P,mFAzhBvD5P;AAAAA;AAAAA;AAAAA;AAyhB+C6P,iDAzhB/C7P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+hBI8P,wCA/hBJ9P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAkiBQ+P,yBAliBR/P;AAAAA;AAAAA;AAAAA;AAkiBGgQ,mCAliBHhQ;AAAAA;AAkiBGgQ,uCAliBHhQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkiBsCiQ,gCAliBtCjQ;AAAAA;AAAAA;AAAAA;AAAAA,kBAkiB6CkQ,wBAliB7ClQ;AAAAA;AAAAA;AAAAA;AAkiB6BmQ,4DAliB7BnQ;AAAAA;AAAAA;AAAAA;AAkiBqBoQ,iDAliBrBpQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwiBIqQ,uCAxiBJrQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwiBoBsQ,uCAxiBpBtQ;AAAAA;AAwiBoBsQ,0CAxiBpBtQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA2iBQuQ,wBA3iBRvQ;AAAAA;AAAAA,kBA2iBkBwQ,wBA3iBlBxQ;AAAAA;AAAAA;AAAAA;AA2iBGyQ,mCA3iBHzQ;AAAAA;AA2iBGyQ,mDA3iBHzQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2iBgD0Q,gCA3iBhD1Q;AAAAA;AAAAA;AAAAA;AAAAA,kBA2iBuD2Q,uBA3iBvD3Q;AAAAA;AAAAA,kBA2iBgE4Q,uBA3iBhE5Q;AAAAA;AAAAA;AAAAA;AA2iBsC6Q,yEA3iBtC7Q;AAAAA;AAAAA;AAAAA;AA2iB8B8Q,iDA3iB9B9Q;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAijBI+Q,uCAjjBJ/Q;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAijBoBgR,uCAjjBpBhR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAijBoCiR,uCAjjBpCjR;AAAAA;AAijBoCiR,0CAjjBpCjR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAojBQkR,wBApjBRlR;AAAAA;AAAAA,kBAojBkBmR,wBApjBlBnR;AAAAA;AAAAA,kBAojB4BoR,wBApjB5BpR;AAAAA;AAAAA;AAAAA;AAojBGqR,mCApjBHrR;AAAAA;AAojBGqR,+DApjBHrR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAojB0DsR,gCApjB1DtR;AAAAA;AAAAA;AAAAA;AAAAA,kBAojBiEuR,uBApjBjEvR;AAAAA;AAAAA,kBAojB0EwR,uBApjB1ExR;AAAAA;AAAAA,kBAojBmFyR,uBApjBnFzR;AAAAA;AAAAA;AAAAA;AAojBgD0R,qFApjBhD1R;AAAAA;AAAAA;AAAAA;AAojBwC2R,iDApjBxC3R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0jBI4R,uCA1jBJ5R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0jBoB6R,uCA1jBpB7R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0jBoC8R,uCA1jBpC9R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0jBoD+R,uCA1jBpD/R;AAAAA;AA0jBoD+R,0CA1jBpD/R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA6jBQgS,wBA7jBRhS;AAAAA;AAAAA,kBA6jBkBiS,wBA7jBlBjS;AAAAA;AAAAA,kBA6jB4BkS,wBA7jB5BlS;AAAAA;AAAAA,kBA6jBsCmS,wBA7jBtCnS;AAAAA;AAAAA;AAAAA;AA6jBGoS,mCA7jBHpS;AAAAA;AA6jBGoS,2EA7jBHpS;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6jBoEqS,gCA7jBpErS;AAAAA;AAAAA;AAAAA;AAAAA,kBA6jB2EsS,uBA7jB3EtS;AAAAA;AAAAA,kBA6jBoFuS,uBA7jBpFvS;AAAAA;AAAAA,kBA6jB6FwS,uBA7jB7FxS;AAAAA;AAAAA,kBA6jBsGyS,uBA7jBtGzS;AAAAA;AAAAA;AAAAA;AA6jB0D0S,iGA7jB1D1S;AAAAA;AAAAA;AAAAA;AA6jBkD2S,iDA7jBlD3S;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmkBmB4S,mCAnkBnB5S;AAAAA;AAmkBmB4S,6BAnkBnB5S;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmkBC6S,yCAnkBD7S;AAAAA;AAmkBC6S,wDAnkBD7S;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0kBM8S,uCA1kBN9S;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0kBsB+S,uCA1kBtB/S;AAAAA;AA0kBsB+S,0CA1kBtB/S;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA6kBOgT,wBA7kBPhT;AAAAA;AAAAA,kBA6kBiBiT,wBA7kBjBjT;AAAAA;AAAAA;AAAAA;AA6kBKkT,mCA7kBLlT;AAAAA;AA6kBKkT,6CA7kBLlT;AAAAA;AAAAA;AAAAA,kBA8kBUmT,uBA9kBVnT;AAAAA;AAAAA,kBA8kBmBoT,uBA9kBnBpT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAilBCqT,+CAjlBDrT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAulBMsT,uCAvlBNtT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAulBsBuT,uCAvlBtBvT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAulBsCwT,uCAvlBtCxT;AAAAA;AAulBsCwT,0CAvlBtCxT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0lBOyT,wBA1lBPzT;AAAAA;AAAAA,kBA0lBiB0T,wBA1lBjB1T;AAAAA;AAAAA,kBA0lB2B2T,wBA1lB3B3T;AAAAA;AAAAA;AAAAA;AA0lBK4T,mCA1lBL5T;AAAAA;AA0lBK4T,yDA1lBL5T;AAAAA;AAAAA;AAAAA,kBA2lBU6T,uBA3lBV7T;AAAAA;AAAAA,kBA2lBmB8T,uBA3lBnB9T;AAAAA;AAAAA,kBA2lB4B+T,uBA3lB5B/T;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8lBCgU,wDA9lBDhU;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAomBMiU,uCApmBNjU;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAomBsBkU,uCApmBtBlU;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAomBsCmU,uCApmBtCnU;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAomBsDoU,uCApmBtDpU;AAAAA;AAomBsDoU,0CApmBtDpU;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAumBOqU,wBAvmBPrU;AAAAA;AAAAA,kBAumBiBsU,wBAvmBjBtU;AAAAA;AAAAA,kBAumB2BuU,wBAvmB3BvU;AAAAA;AAAAA,kBAumBqCwU,wBAvmBrCxU;AAAAA;AAAAA;AAAAA;AAumBKyU,mCAvmBLzU;AAAAA;AAumBKyU,qEAvmBLzU;AAAAA;AAAAA;AAAAA,kBAwmBU0U,uBAxmBV1U;AAAAA;AAAAA,kBAwmBmB2U,uBAxmBnB3U;AAAAA;AAAAA,kBAwmB4B4U,uBAxmB5B5U;AAAAA;AAAAA,kBAwmBqC6U,uBAxmBrC7U;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2mBC8U,iEA3mBD9U;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAinBM+U,sCAjnBN/U;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAonBUgV,uBApnBVhV;AAAAA;AAAAA;AAAAA;AAonBKiV,mCApnBLjV;AAAAA;AAonBKiV,uCApnBLjV;AAAAA;AAAAA;AAAAA;AAAAA;AAqnBUkV,gCArnBVlV;AAAAA;AAAAA;AAAAA;AAAAA,kBAqnBiBmV,sBArnBjBnV;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwnBCoV,6CAxnBDpV;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8nBMqV,uCA9nBNrV;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8nBsBsV,uCA9nBtBtV;AAAAA;AA8nBsBsV,0CA9nBtBtV;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAioBUuV,wBAjoBVvV;AAAAA;AAAAA,kBAioBoBwV,wBAjoBpBxV;AAAAA;AAAAA;AAAAA;AAioBKyV,mCAjoBLzV;AAAAA;AAioBKyV,mDAjoBLzV;AAAAA;AAAAA;AAAAA;AAAAA;AAkoBU0V,gCAloBV1V;AAAAA;AAAAA;AAAAA;AAAAA,kBAkoBiB2V,uBAloBjB3V;AAAAA;AAAAA,kBAkoB0B4V,uBAloB1B5V;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqoBC6V,uDAroBD7V;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2oBM8V,uCA3oBN9V;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2oBsB+V,uCA3oBtB/V;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2oBsCgW,uCA3oBtChW;AAAAA;AA2oBsCgW,0CA3oBtChW;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA8oBUiW,wBA9oBVjW;AAAAA;AAAAA,kBA8oBoBkW,wBA9oBpBlW;AAAAA;AAAAA,kBA8oB8BmW,wBA9oB9BnW;AAAAA;AAAAA;AAAAA;AA8oBKoW,mCA9oBLpW;AAAAA;AA8oBKoW,+DA9oBLpW;AAAAA;AAAAA;AAAAA;AAAAA;AA+oBUqW,gCA/oBVrW;AAAAA;AAAAA;AAAAA;AAAAA,kBA+oBiBsW,uBA/oBjBtW;AAAAA;AAAAA,kBA+oB0BuW,uBA/oB1BvW;AAAAA;AAAAA,kBA+oBmCwW,uBA/oBnCxW;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkpBCyW,gEAlpBDzW;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpBM0W,uCAxpBN1W;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpBsB2W,uCAxpBtB3W;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpBsC4W,uCAxpBtC5W;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpBsD6W,uCAxpBtD7W;AAAAA;AAwpBsD6W,0CAxpBtD7W;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA2pBU8W,wBA3pBV9W;AAAAA;AAAAA,kBA2pBoB+W,wBA3pBpB/W;AAAAA;AAAAA,kBA2pB8BgX,wBA3pB9BhX;AAAAA;AAAAA,kBA2pBwCiX,wBA3pBxCjX;AAAAA;AAAAA;AAAAA;AA2pBKkX,mCA3pBLlX;AAAAA;AA2pBKkX,2EA3pBLlX;AAAAA;AAAAA;AAAAA;AAAAA;AA4pBUmX,gCA5pBVnX;AAAAA;AAAAA;AAAAA;AAAAA,kBA4pBiBoX,uBA5pBjBpX;AAAAA;AAAAA,kBA4pB0BqX,uBA5pB1BrX;AAAAA;AAAAA,kBA4pBmCsX,uBA5pBnCtX;AAAAA;AAAAA,kBA4pB4CuX,uBA5pB5CvX;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+pBCwX,yEA/pBDxX;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyqBmByX,mCAzqBnBzX;AAAAA;AAyqBmByX,sCAzqBnBzX;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0qBoB0X,qDA1qBpB1X;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAyqBK2X,kDAzqBL3X;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAsqBC4X,kDAtqBD5X;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmrBC6X,2EAnrBD7X;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyrBI8X,wCAzrBJ9X;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA4rBoB+X,wBA5rBpB/X;AAAAA;AAAAA;AAAAA;AA4rBKgY,yDA5rBLhY;AAAAA;AAAAA;AAAAA;AAAAA,kBA4rB+BiY,yBA5rB/BjY;AAAAA;AAAAA;AAAAA;AA4rBGkY,mCA5rBHlY;AAAAA;AA4rBGkY,6CA5rBHlY;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmsBImY,uCAnsBJnY;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmsBoBoY,uCAnsBpBpY;AAAAA;AAmsBoBoY,0CAnsBpBpY;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAssBoBqY,wBAtsBpBrY;AAAAA;AAAAA,kBAssB8BsY,wBAtsB9BtY;AAAAA;AAAAA;AAAAA;AAssBYuY,mCAtsBZvY;AAAAA;AAssBYuY,sDAtsBZvY;AAAAA;AAAAA;AAAAA;AAAAA,kBAssByCwY,uBAtsBzCxY;AAAAA;AAAAA,kBAssBkDyY,uBAtsBlDzY;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sBI0Y,uCA7sBJ1Y;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sBoB2Y,uCA7sBpB3Y;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sBoC4Y,uCA7sBpC5Y;AAAAA;AA6sBoC4Y,0CA7sBpC5Y;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAgtBoB6Y,wBAhtBpB7Y;AAAAA;AAAAA,kBAgtB8B8Y,wBAhtB9B9Y;AAAAA;AAAAA,kBAgtBwC+Y,wBAhtBxC/Y;AAAAA;AAAAA;AAAAA;AAgtBYgZ,mCAhtBZhZ;AAAAA;AAgtBYgZ,kEAhtBZhZ;AAAAA;AAAAA;AAAAA;AAAAA,kBAgtBmDiZ,uBAhtBnDjZ;AAAAA;AAAAA,kBAgtB4DkZ,uBAhtB5DlZ;AAAAA;AAAAA,kBAgtBqEmZ,uBAhtBrEnZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBIoZ,uCAvtBJpZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBoBqZ,uCAvtBpBrZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBoCsZ,uCAvtBpCtZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBoDuZ,uCAvtBpDvZ;AAAAA;AAutBoDuZ,0CAvtBpDvZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0tBoBwZ,wBA1tBpBxZ;AAAAA;AAAAA,kBA0tB8ByZ,wBA1tB9BzZ;AAAAA;AAAAA,kBA0tBwC0Z,wBA1tBxC1Z;AAAAA;AAAAA,kBA0tBkD2Z,wBA1tBlD3Z;AAAAA;AAAAA;AAAAA;AA0tBY4Z,mCA1tBZ5Z;AAAAA;AA0tBY4Z,8EA1tBZ5Z;AAAAA;AAAAA;AAAAA;AAAAA,kBA0tB6D6Z,uBA1tB7D7Z;AAAAA;AAAAA,kBA0tBsE8Z,uBA1tBtE9Z;AAAAA;AAAAA,kBA0tB+E+Z,uBA1tB/E/Z;AAAAA;AAAAA,kBA0tBwFga,uBA1tBxFha;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuBMia,iDAluBNja;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquBUka,gCAruBVla;AAAAA;AAAAA;AAAAA;AAAAA,gBAquB2Bma,kCAruB3Bna;AAAAA;AAAAA;AAAAA;AAquBiBoa,mCAruBjBpa;AAAAA;AAquBiBoa,6CAruBjBpa;AAAAA;AAAAA;AAAAA;AAAAA,kBAquBgDqa,iCAruBhDra;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwuBCsa,sDAxuBDta;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6uBKua,wCA7uBLva;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6uByBwa,qEA7uBzBxa;AAAAA;AA6uByBwa,gFA7uBzBxa;AAAAA;AAAAA;AA8uBKya,uCA9uBLza;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,YA+uBS0a,yBA/uBT1a;AAAAA;AAAAA,YAgvBS2a,wBAhvBT3a;AAAAA;AAAAA;AAAAA;AAivBuB4a,oCAjvBvB5a;AAAAA;AAivBuB4a,oCAjvBvB5a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAovBoD6a,yDApvBpD7a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAovBiB8a,qEApvBjB9a;AAAAA;AAovBiB8a,uFApvBjB9a;AAAAA;AAAAA,SA4uBC+a,mDA5uBD/a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBCgb,mEA1vBDhb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBqBib,gDA9vBrBjb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBCkb,uEA9vBDlb;AAAAA;AA8vBCkb,mEA9vBDlb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkwBCmb,iEAlwBDnb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBqBob,oDAtwBrBpb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBCqb,uEAtwBDrb;AAAAA;AAswBCqb,mEAtwBDrb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0wBCsb,iEA1wBDtb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA01BC6d,mFA11BD7d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAm2BC8d,wFAn2BD9d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BgB+d,gDAn3BhB/d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo3B2Bge,gDAp3B3Bhe;AAAAA;AAAAA;AAo3BmBie,8CAp3BnBje;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq3BsCke,gDAr3BtCle;AAAAA;AAAAA;AAq3B8Bme,6CAr3B9Bne;AAAAA;AAAAA;AAq3BsBoe,8CAr3BtBpe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BiDqe,gDAt3BjDre;AAAAA;AAAAA;AAs3ByCse,8CAt3BzCte;AAAAA;AAAAA;AAs3BiCue,6CAt3BjCve;AAAAA;AAAAA;AAs3ByBwe,8CAt3BzBxe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu3B4Dye,gDAv3B5Dze;AAAAA;AAAAA;AAu3BoD0e,8CAv3BpD1e;AAAAA;AAAAA;AAu3B4C2e,8CAv3B5C3e;AAAAA;AAAAA;AAu3BoC4e,8CAv3BpC5e;AAAAA;AAAAA;AAu3B4B6e,8CAv3B5B7e;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAUDoE,sDAVCpE;AAAAA;AAAAA;AAAAA;AAAAA,SAUDoE,uDAVCpE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://lists\"}", +"theModule":"function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__951(R,NAMESPACE,M,$$included$225,$equality26,$$underscore_import5,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://lists\";\nvar D = R.undefined;\nvar L = [[M,167,2,6825,167,106,6929],\n[M,167,80,6903,167,101,6924],\n[M,167,37,6860,167,53,6876],\n[M,167,55,6878,167,102,6925],\n[M,167,25,6848,167,32,6855],\n[M,169,2,6934,171,5,7022],\n[M,170,4,6998,170,22,7016],\n[M,169,53,6985,169,60,6992],\n[M,169,23,6955,169,30,6962],\n[M,169,41,6973,169,48,6980],\n[M,173,2,7027,176,5,7210],\n[M,175,4,7192,175,7,7195],\n[M,173,40,7065,173,47,7072],\n[M,175,4,7192,175,16,7204],\n[M,173,27,7052,173,35,7060],\n[M,178,2,7215,181,5,7424],\n[M,180,4,7403,180,10,7409],\n[M,178,57,7270,178,64,7277],\n[M,180,4,7403,180,19,7418],\n[M,178,24,7237,178,31,7244],\n[M,178,38,7251,178,52,7265],\n[M,183,2,7429,186,5,7612],\n[M,185,4,7593,185,8,7597],\n[M,183,55,7482,183,62,7489],\n[M,185,4,7593,185,17,7606],\n[M,183,22,7449,183,29,7456],\n[M,183,36,7463,183,50,7477],\n[M,188,2,7617,191,5,7774],\n[M,190,4,7755,190,11,7762],\n[M,188,37,7652,188,44,7659],\n[M,190,4,7755,190,17,7768],\n[M,188,25,7640,188,32,7647],\n[M,193,2,7779,196,5,7929],\n[M,195,4,7908,195,8,7912],\n[M,193,44,7821,193,51,7828],\n[M,195,4,7908,195,19,7923],\n[M,193,22,7799,193,29,7806],\n[M,193,38,7815,193,39,7816],\n[M,197,2,7933,200,5,8166],\n[M,199,4,8143,199,12,8151],\n[M,197,53,7984,197,70,8001],\n[M,197,72,8003,197,89,8020],\n[M,197,51,7982,197,91,8022],\n[M,199,4,8143,199,21,8160],\n[M,197,26,7957,197,33,7964],\n[M,197,40,7971,197,46,7977],\n[M,201,2,8170,204,5,8311],\n[M,203,4,8281,203,12,8289],\n[M,203,4,8281,203,28,8305],\n[M,201,47,8215,201,54,8222],\n[M,203,4,8281,203,21,8298],\n[M,201,22,8190,201,29,8197],\n[M,201,36,8204,201,42,8210],\n[M,205,2,8315,208,5,8464],\n[M,207,4,8434,207,12,8442],\n[M,207,4,8434,207,28,8458],\n[M,205,47,8360,205,54,8367],\n[M,207,4,8434,207,21,8451],\n[M,205,22,8335,205,29,8342],\n[M,205,36,8349,205,42,8355],\n[M,210,2,8469,213,5,8627],\n[M,212,4,8609,212,7,8612],\n[M,210,46,8513,210,47,8514],\n[M,212,4,8609,212,16,8621],\n[M,210,21,8488,210,28,8495],\n[M,210,35,8502,210,41,8508],\n[M,214,2,8631,217,5,8832],\n[M,216,4,8811,216,7,8814],\n[M,214,54,8683,214,61,8690],\n[M,216,4,8811,216,19,8826],\n[M,214,21,8650,214,28,8657],\n[M,214,35,8664,214,41,8670],\n[M,214,48,8677,214,49,8678],\n[M,218,2,8836,221,5,9001],\n[M,220,4,8980,220,10,8986],\n[M,218,44,8878,218,51,8885],\n[M,220,4,8980,220,19,8995],\n[M,218,24,8858,218,31,8865],\n[M,218,38,8872,218,39,8873],\n[M,222,2,9005,226,5,9238],\n[M,225,4,9213,225,12,9221],\n[M,222,53,9056,222,59,9062],\n[M,225,4,9213,225,23,9232],\n[M,222,26,9029,222,33,9036],\n[M,222,42,9045,222,48,9051],\n[M,227,2,9242,231,5,9572],\n[M,230,4,9532,230,17,9545],\n[M,227,78,9318,227,84,9324],\n[M,230,4,9532,230,38,9566],\n[M,227,31,9271,227,38,9278],\n[M,227,47,9287,227,53,9293],\n[M,227,67,9307,227,73,9313],\n[M,13,4,186,16,7,325],\n[M,13,38,220,13,44,226],\n[M,13,26,208,13,33,215],\n[M,18,4,332,21,7,548],\n[M,18,57,385,18,66,394],\n[M,18,24,352,18,31,359],\n[M,18,38,366,18,52,380],\n[M,23,4,555,28,7,989],\n[M,27,17,957,27,22,962],\n[M,27,34,974,27,39,979],\n[M,23,63,614,23,81,632],\n[M,23,83,634,23,102,653],\n[M,23,62,613,23,103,654],\n[M,23,29,580,23,36,587],\n[M,23,43,594,23,57,608],\n[M,30,4,996,34,7,1233],\n[M,30,69,1061,30,70,1062],\n[M,30,28,1020,30,35,1027],\n[M,30,42,1034,30,53,1045],\n[M,30,63,1055,30,64,1056],\n[M,36,4,1240,40,7,1476],\n[M,36,69,1305,36,70,1306],\n[M,36,28,1264,36,35,1271],\n[M,36,42,1278,36,53,1289],\n[M,36,63,1299,36,64,1300],\n[M,42,4,1483,45,7,1654],\n[M,42,56,1535,42,63,1542],\n[M,42,23,1502,42,30,1509],\n[M,42,37,1516,42,51,1530],\n[M,47,4,1661,50,7,1831],\n[M,47,56,1713,47,63,1720],\n[M,47,23,1680,47,30,1687],\n[M,47,37,1694,47,51,1708],\n[M,52,4,1838,55,7,1993],\n[M,52,48,1882,52,55,1889],\n[M,52,26,1860,52,33,1867],\n[M,52,42,1876,52,43,1877],\n[M,57,4,2000,60,7,2170],\n[M,57,56,2052,57,63,2059],\n[M,57,26,2022,57,33,2029],\n[M,57,44,2040,57,51,2047],\n[M,62,4,2177,65,7,2356],\n[M,62,36,2209,62,37,2210],\n[M,64,6,2310,64,44,2348],\n[M,62,24,2197,62,31,2204],\n[M,67,4,2363,72,7,2739],\n[M,67,90,2449,67,97,2456],\n[M,67,27,2386,67,34,2393],\n[M,67,43,2402,67,60,2419],\n[M,67,68,2427,67,85,2444],\n[M,74,4,2746,78,7,2948],\n[M,74,36,2778,74,43,2785],\n[M,74,24,2766,74,31,2773],\n[M,81,4,2999,84,7,3159],\n[M,83,10,3133,83,19,3142],\n[M,83,10,3133,83,28,3151],\n[M,81,38,3033,81,44,3039],\n[M,83,6,3129,83,28,3151],\n[M,81,26,3021,81,33,3028],\n[M,86,4,3166,91,7,3583],\n[M,90,6,3557,90,15,3566],\n[M,86,63,3225,86,81,3243],\n[M,86,83,3245,86,102,3264],\n[M,86,62,3224,86,103,3265],\n[M,90,6,3557,90,24,3575],\n[M,86,29,3191,86,36,3198],\n[M,86,43,3205,86,57,3219],\n[M,93,4,3590,96,7,3815],\n[M,95,6,3794,95,10,3798],\n[M,93,57,3643,93,66,3652],\n[M,95,6,3794,95,19,3807],\n[M,93,24,3610,93,31,3617],\n[M,93,38,3624,93,52,3638],\n[M,98,4,3822,101,7,4016],\n[M,100,14,3972,100,24,3982],\n[M,98,48,3866,98,55,3873],\n[M,100,29,3987,100,38,3996],\n[M,100,29,3987,100,50,4008],\n[M,100,7,3965,100,24,3982],\n[M,98,26,3844,98,33,3851],\n[M,98,42,3860,98,43,3861],\n[M,103,4,4023,107,7,4298],\n[M,106,8,4253,106,18,4263],\n[M,106,20,4265,106,29,4274],\n[M,106,20,4265,106,44,4289],\n[M,103,69,4088,103,70,4089],\n[M,106,6,4251,106,45,4290],\n[M,103,28,4047,103,35,4054],\n[M,103,42,4061,103,53,4072],\n[M,103,63,4082,103,64,4083],\n[M,109,4,4305,113,7,4579],\n[M,112,6,4532,112,15,4541],\n[M,112,27,4553,112,37,4563],\n[M,112,6,4532,112,45,4571],\n[M,109,69,4370,109,70,4371],\n[M,112,25,4551,112,44,4570],\n[M,109,28,4329,109,35,4336],\n[M,109,42,4343,109,53,4354],\n[M,109,63,4364,109,64,4365],\n[M,115,4,4586,118,7,4787],\n[M,117,8,4747,117,18,4757],\n[M,115,56,4638,115,63,4645],\n[M,117,24,4763,117,33,4772],\n[M,117,24,4763,117,40,4779],\n[M,117,6,4745,117,19,4758],\n[M,115,23,4605,115,30,4612],\n[M,115,37,4619,115,51,4633],\n[M,120,4,4794,123,7,4992],\n[M,122,8,4953,122,18,4963],\n[M,120,56,4846,120,63,4853],\n[M,122,23,4968,122,32,4977],\n[M,122,23,4968,122,39,4984],\n[M,122,6,4951,122,19,4964],\n[M,120,23,4813,120,30,4820],\n[M,120,37,4827,120,51,4841],\n[M,125,4,4999,128,7,5209],\n[M,127,6,5156,127,16,5166],\n[M,127,19,5169,127,23,5173],\n[M,127,27,5177,127,36,5186],\n[M,127,27,5177,127,50,5200],\n[M,125,56,5051,125,63,5058],\n[M,127,19,5169,127,51,5201],\n[M,125,26,5021,125,33,5028],\n[M,125,44,5039,125,51,5046],\n[M,130,4,5216,135,7,5430],\n[M,132,9,5352,132,17,5360],\n[M,132,18,5361,132,27,5370],\n[M,130,36,5248,130,37,5249],\n[M,132,30,5373,132,40,5383],\n[M,133,12,5396,133,21,5405],\n[M,133,12,5396,133,28,5412],\n[M,132,9,5352,132,28,5371],\n[M,130,24,5236,130,31,5243],\n[M,137,4,5437,159,7,6558],\n[M,141,14,5815,141,24,5825],\n[M,146,19,6114,146,24,6119],\n[M,147,19,6139,147,24,6144],\n[M,148,19,6164,148,24,6169],\n[M,149,16,6186,154,11,6405],\n[M,150,46,6240,150,50,6244],\n[M,150,46,6240,150,61,6255],\n[M,151,46,6302,151,50,6306],\n[M,151,46,6302,151,61,6317],\n[M,152,46,6364,152,50,6368],\n[M,152,46,6364,152,61,6379],\n[M,151,18,6274,151,30,6286],\n[M,150,13,6207,150,26,6220],\n[M,149,6,6176,154,12,6406],\n[M,155,16,6423,155,39,6446],\n[M,157,16,6486,157,39,6509],\n[M,158,18,6528,158,39,6549],\n[M,158,6,6516,158,40,6550],\n[M,137,90,5523,137,97,5530],\n[M,137,27,5460,137,34,5467],\n[M,137,43,5476,137,60,5493],\n[M,137,68,5501,137,85,5518],\n[M,161,4,6565,165,7,6812],\n[M,164,19,6768,164,42,6791],\n[M,164,31,6780,164,38,6787],\n[M,164,6,6755,164,55,6804],\n[M,161,36,6597,161,43,6604],\n[M,161,24,6585,161,31,6592],\n[M,12,2,168,78,8,2949],\n[M,79,2,2952,165,8,6813],\n[M,79,18,2968,79,19,2969],\n[M,79,29,2979,79,36,2986],\n[M,11,0,152,232,3,9577],\n[M,234,0,9579,243,3,9828],\n[M,236,2,9688,241,5,9809],\n[M,236,22,9708,236,28,9714],\n[M,238,6,9742,238,20,9756],\n[M,237,4,9720,240,7,9803],\n[M,239,30,9787,239,37,9794],\n[M,239,6,9763,239,38,9795],\n[M,237,11,9727,237,15,9731],\n[M,234,33,9612,234,39,9618],\n[M,242,2,9812,242,14,9824],\n[M,234,21,9600,234,28,9607],\n[M,245,0,9830,263,3,10467],\n[M,245,59,9889,245,66,9896],\n[M,250,8,10092,250,23,10107],\n[M,249,6,10066,252,9,10141],\n[M,249,12,10072,249,16,10076],\n[M,248,4,10049,252,9,10141],\n[M,247,2,10027,258,5,10284],\n[M,255,8,10198,255,24,10214],\n[M,254,6,10172,257,9,10278],\n[M,256,8,10223,256,53,10268],\n[M,254,12,10178,254,16,10182],\n[M,253,4,10146,257,9,10278],\n[M,247,8,10033,247,12,10037],\n[M,245,30,9860,245,37,9867],\n[M,245,47,9877,245,54,9884],\n[M,265,0,10469,275,3,10909],\n[M,265,53,10522,265,60,10529],\n[M,268,15,10702,268,22,10709],\n[M,268,4,10691,268,22,10709],\n[M,267,2,10670,270,5,10778],\n[M,269,36,10746,269,62,10772],\n[M,269,54,10764,269,61,10771],\n[M,269,24,10734,269,31,10741],\n[M,269,4,10714,269,62,10772],\n[M,267,8,10676,267,12,10680],\n[M,265,26,10495,265,33,10502],\n[M,265,42,10511,265,48,10517],\n[M,277,0,10911,287,3,11358],\n[M,277,54,10965,277,61,10972],\n[M,280,15,11146,280,22,11153],\n[M,280,4,11135,280,22,11153],\n[M,279,2,11114,282,5,11224],\n[M,281,37,11191,281,64,11218],\n[M,281,56,11210,281,63,11217],\n[M,281,24,11178,281,31,11185],\n[M,281,4,11158,281,64,11218],\n[M,279,8,11120,279,12,11124],\n[M,277,27,10938,277,34,10945],\n[M,277,43,10954,277,49,10960],\n[M,289,0,11360,300,3,11744],\n[M,291,2,11500,296,5,11654],\n[M,292,20,11538,292,60,11578],\n[M,292,26,11544,292,59,11577],\n[M,292,48,11566,292,59,11577],\n[M,293,22,11601,293,29,11608],\n[M,294,15,11624,294,21,11630],\n[M,294,23,11632,294,30,11639],\n[M,293,12,11591,293,20,11599],\n[M,289,43,11403,289,44,11404],\n[M,297,12,11667,297,58,11713],\n[M,297,18,11673,297,57,11712],\n[M,297,46,11701,297,57,11712],\n[M,298,8,11722,298,20,11734],\n[M,297,5,11660,297,10,11665],\n[M,289,18,11378,289,25,11385],\n[M,289,32,11392,289,38,11398],\n[M,302,0,11746,314,3,12240],\n[M,305,2,11965,310,5,12150],\n[M,306,20,12003,306,60,12043],\n[M,306,26,12009,306,59,12042],\n[M,306,48,12031,306,59,12042],\n[M,307,34,12078,307,40,12084],\n[M,308,10,12096,308,17,12103],\n[M,308,33,12119,308,39,12125],\n[M,308,28,12114,308,49,12135],\n[M,308,41,12127,308,48,12134],\n[M,307,12,12056,307,20,12064],\n[M,302,46,11792,302,47,11793],\n[M,311,12,12163,311,58,12209],\n[M,311,18,12169,311,57,12208],\n[M,311,46,12197,311,57,12208],\n[M,312,8,12218,312,20,12230],\n[M,311,5,12156,311,10,12161],\n[M,302,18,11764,302,25,11771],\n[M,302,32,11778,302,38,11784],\n[M,316,0,12242,322,3,12509],\n[M,318,2,12375,318,6,12379],\n[M,318,7,12380,318,40,12413],\n[M,316,34,12276,316,41,12283],\n[M,318,2,12375,318,53,12426],\n[M,316,22,12264,316,29,12271],\n[M,324,0,12511,326,3,12577],\n[M,324,39,12550,324,46,12557],\n[M,324,17,12528,324,24,12535],\n[M,324,33,12544,324,34,12545],\n[M,328,0,12579,342,3,12914],\n[M,330,2,12703,336,5,12817],\n[M,331,16,12750,331,22,12756],\n[M,330,30,12731,330,31,12732],\n[M,332,6,12765,332,13,12772],\n[M,334,13,12796,334,19,12802],\n[M,330,18,12719,330,25,12726],\n[M,328,31,12610,328,32,12611],\n[M,338,4,12842,338,42,12880],\n[M,340,4,12893,340,15,12904],\n[M,328,19,12598,328,26,12605],\n[M,344,0,12916,346,3,13036],\n[M,345,2,13012,345,22,13032],\n[M,344,85,13001,344,92,13008],\n[M,344,22,12938,344,29,12945],\n[M,344,38,12954,344,55,12971],\n[M,344,63,12979,344,80,12996],\n[M,348,0,13038,350,3,13094],\n[M,349,2,13080,349,12,13090],\n[M,348,31,13069,348,38,13076],\n[M,348,19,13057,348,26,13064],\n[M,352,0,13096,361,3,13451],\n[M,352,46,13142,352,58,13154],\n[M,354,19,13251,358,14,13373],\n[M,354,25,13257,358,13,13372],\n[M,354,25,13257,357,24,13358],\n[M,357,10,13344,357,24,13358],\n[M,354,25,13257,356,14,13333],\n[M,354,25,13257,355,25,13318],\n[M,355,10,13303,355,25,13318],\n[M,359,42,13416,359,51,13425],\n[M,359,26,13400,359,66,13440],\n[M,359,53,13427,359,65,13439],\n[M,354,5,13237,354,17,13249],\n[M,352,19,13115,352,25,13121],\n[M,352,35,13131,352,41,13137],\n[M,363,0,13453,381,3,14189],\n[M,363,66,13519,363,78,13531],\n[M,368,10,13722,368,76,13788],\n[M,367,7,13691,367,20,13704],\n[M,372,38,13901,372,69,13932],\n[M,372,46,13909,372,65,13928],\n[M,372,55,13918,372,64,13927],\n[M,372,22,13885,372,75,13938],\n[M,371,30,13835,371,52,13857],\n[M,371,31,13836,371,43,13848],\n[M,366,5,13672,366,15,13682],\n[M,363,22,13475,363,28,13481],\n[M,363,38,13491,363,44,13497],\n[M,363,55,13508,363,61,13514],\n[M,383,0,14191,388,3,14397],\n[M,383,38,14229,383,45,14236],\n[M,385,12,14293,385,60,14341],\n[M,385,5,14286,385,10,14291],\n[M,383,19,14210,383,25,14216],\n[M,383,32,14223,383,33,14224],\n[M,390,0,14399,393,3,14561],\n[M,392,2,14525,392,34,14557],\n[M,390,54,14453,390,61,14460],\n[M,390,19,14418,390,33,14432],\n[M,390,42,14441,390,49,14448],\n[M,395,0,14563,400,3,14722],\n[M,395,52,14615,395,59,14622],\n[M,397,4,14652,397,19,14667],\n[M,396,2,14626,399,5,14718],\n[M,398,28,14696,398,43,14711],\n[M,398,4,14672,398,44,14712],\n[M,396,8,14632,396,15,14639],\n[M,395,23,14586,395,30,14593],\n[M,395,40,14603,395,47,14610],\n[M,402,0,14724,420,3,15323],\n[M,406,2,14984,417,5,15264],\n[M,410,11,15074,410,25,15088],\n[M,411,11,15101,411,26,15116],\n[M,412,19,15138,412,34,15153],\n[M,414,20,15205,414,35,15220],\n[M,411,9,15099,411,27,15117],\n[M,410,6,15069,410,26,15089],\n[M,402,58,14782,402,76,14800],\n[M,402,78,14802,402,97,14821],\n[M,402,57,14781,402,98,14822],\n[M,418,2,15267,418,11,15276],\n[M,402,22,14746,402,36,14760],\n[M,402,45,14769,402,52,14776],\n[M,422,0,15325,433,3,15631],\n[M,422,43,15368,422,50,15375],\n[M,427,14,15520,427,23,15529],\n[M,428,13,15544,428,21,15552],\n[M,430,11,15580,430,20,15589],\n[M,430,29,15598,430,37,15606],\n[M,430,22,15591,430,43,15612],\n[M,427,7,15513,427,23,15529],\n[M,422,21,15346,422,28,15353],\n[M,422,37,15362,422,38,15363],\n[M,435,0,15633,447,3,15953],\n[M,435,52,15685,435,61,15694],\n[M,441,9,15868,441,18,15877],\n[M,442,11,15891,442,20,15900],\n[M,444,14,15926,444,22,15934],\n[M,441,7,15866,441,19,15878],\n[M,435,17,15650,435,31,15664],\n[M,435,40,15673,435,47,15680],\n[M,449,0,15955,469,3,16588],\n[M,456,2,16282,466,5,16532],\n[M,460,19,16385,460,43,16409],\n[M,460,8,16374,460,43,16409],\n[M,459,6,16345,464,9,16518],\n[M,462,10,16448,462,28,16466],\n[M,462,15,16453,462,22,16460],\n[M,461,8,16418,463,41,16508],\n[M,459,12,16351,459,16,16355],\n[M,457,7,16307,457,15,16315],\n[M,449,50,16005,449,67,16022],\n[M,449,69,16024,449,86,16041],\n[M,449,48,16003,449,88,16043],\n[M,467,2,16535,467,14,16547],\n[M,452,4,16209,452,26,16231],\n[M,451,18,16181,451,40,16203],\n[M,451,8,16171,451,13,16176],\n[M,449,21,15976,449,27,15982],\n[M,449,36,15991,449,43,15998],\n[M,471,0,16590,474,3,16746],\n[M,473,2,16719,473,25,16742],\n[M,471,44,16634,471,51,16641],\n[M,473,2,16719,473,18,16735],\n[M,471,17,16607,471,23,16613],\n[M,471,32,16622,471,39,16629],\n[M,476,0,16748,479,3,16912],\n[M,478,2,16885,478,25,16908],\n[M,476,44,16792,476,51,16799],\n[M,478,2,16885,478,18,16901],\n[M,476,17,16765,476,23,16771],\n[M,476,32,16780,476,39,16787],\n[M,481,0,16914,488,3,17124],\n[M,481,51,16965,481,58,16972],\n[M,486,6,17084,486,15,17093],\n[M,486,27,17105,486,35,17113],\n[M,486,20,17098,486,36,17114],\n[M,486,4,17082,486,16,17094],\n[M,481,16,16930,481,30,16944],\n[M,481,39,16953,481,46,16960],\n[M,490,0,17126,497,3,17337],\n[M,490,51,17177,490,58,17184],\n[M,495,6,17296,495,15,17305],\n[M,495,28,17318,495,36,17326],\n[M,495,21,17311,495,37,17327],\n[M,495,4,17294,495,16,17306],\n[M,490,16,17142,490,30,17156],\n[M,490,39,17165,490,46,17172],\n[M,499,0,17339,508,3,17733],\n[M,502,2,17578,506,5,17710],\n[M,504,12,17650,504,20,17658],\n[M,504,22,17660,504,30,17668],\n[M,504,41,17679,504,48,17686],\n[M,504,50,17688,504,57,17695],\n[M,504,36,17674,504,58,17696],\n[M,504,10,17648,504,31,17669],\n[M,499,76,17415,499,83,17422],\n[M,507,2,17713,507,18,17729],\n[M,499,20,17359,499,37,17376],\n[M,499,47,17386,499,54,17393],\n[M,499,64,17403,499,71,17410],\n[M,510,0,17735,513,3,17897],\n[M,512,2,17864,512,31,17893],\n[M,510,48,17783,510,55,17790],\n[M,510,19,17754,510,27,17762],\n[M,510,36,17771,510,43,17778],\n[M,515,0,17899,522,3,18187],\n[M,515,69,17968,515,76,17975],\n[M,520,6,18121,520,14,18129],\n[M,520,16,18131,520,24,18139],\n[M,520,44,18159,520,51,18166],\n[M,520,53,18168,520,60,18175],\n[M,520,36,18151,520,61,18176],\n[M,520,4,18119,520,25,18140],\n[M,515,23,17922,515,34,17933],\n[M,515,42,17941,515,49,17948],\n[M,515,57,17956,515,64,17963],\n[M,524,0,18189,531,3,18535],\n[M,524,90,18279,524,97,18286],\n[M,529,6,18450,529,14,18458],\n[M,529,16,18460,529,24,18468],\n[M,529,26,18470,529,34,18478],\n[M,529,54,18498,529,61,18505],\n[M,529,63,18507,529,70,18514],\n[M,529,72,18516,529,79,18523],\n[M,529,46,18490,529,80,18524],\n[M,529,4,18448,529,35,18479],\n[M,524,26,18215,524,40,18229],\n[M,524,48,18237,524,55,18244],\n[M,524,63,18252,524,70,18259],\n[M,524,78,18267,524,85,18274],\n[M,533,0,18537,540,3,18953],\n[M,533,111,18648,533,118,18655],\n[M,538,6,18849,538,14,18857],\n[M,538,16,18859,538,24,18867],\n[M,538,26,18869,538,34,18877],\n[M,538,36,18879,538,44,18887],\n[M,538,64,18907,538,71,18914],\n[M,538,73,18916,538,80,18923],\n[M,538,82,18925,538,89,18932],\n[M,538,91,18934,538,98,18941],\n[M,538,56,18899,538,99,18942],\n[M,538,4,18847,538,45,18888],\n[M,533,29,18566,533,46,18583],\n[M,533,54,18591,533,61,18598],\n[M,533,69,18606,533,76,18613],\n[M,533,84,18621,533,91,18628],\n[M,533,99,18636,533,106,18643],\n[M,542,0,18955,549,3,19220],\n[M,542,71,19026,542,78,19033],\n[M,547,9,19163,547,18,19172],\n[M,547,46,19200,547,54,19208],\n[M,547,30,19184,547,55,19209],\n[M,547,39,19193,547,44,19198],\n[M,547,4,19158,547,19,19173],\n[M,542,21,18976,542,37,18992],\n[M,542,44,18999,542,50,19005],\n[M,542,59,19014,542,66,19021],\n[M,551,0,19222,558,3,19562],\n[M,551,92,19314,551,99,19321],\n[M,556,9,19487,556,17,19495],\n[M,556,19,19497,556,27,19505],\n[M,556,56,19534,556,63,19541],\n[M,556,65,19543,556,72,19550],\n[M,556,39,19517,556,73,19551],\n[M,556,49,19527,556,54,19532],\n[M,556,4,19482,556,28,19506],\n[M,551,25,19247,551,44,19266],\n[M,551,51,19273,551,57,19279],\n[M,551,65,19287,551,72,19294],\n[M,551,80,19302,551,87,19309],\n[M,560,0,19564,567,3,19974],\n[M,560,113,19677,560,120,19684],\n[M,565,9,19880,565,17,19888],\n[M,565,19,19890,565,27,19898],\n[M,565,29,19900,565,37,19908],\n[M,565,66,19937,565,73,19944],\n[M,565,75,19946,565,82,19953],\n[M,565,84,19955,565,91,19962],\n[M,565,49,19920,565,92,19963],\n[M,565,59,19930,565,64,19935],\n[M,565,4,19875,565,38,19909],\n[M,560,28,19592,560,50,19614],\n[M,560,57,19621,560,63,19627],\n[M,560,71,19635,560,78,19642],\n[M,560,86,19650,560,93,19657],\n[M,560,101,19665,560,108,19672],\n[M,569,0,19976,576,3,20456],\n[M,569,134,20110,569,141,20117],\n[M,574,9,20343,574,17,20351],\n[M,574,19,20353,574,27,20361],\n[M,574,29,20363,574,37,20371],\n[M,574,39,20373,574,47,20381],\n[M,574,76,20410,574,83,20417],\n[M,574,85,20419,574,92,20426],\n[M,574,94,20428,574,101,20435],\n[M,574,103,20437,574,110,20444],\n[M,574,59,20393,574,111,20445],\n[M,574,69,20403,574,74,20408],\n[M,574,4,20338,574,48,20382],\n[M,569,31,20007,569,56,20032],\n[M,569,63,20039,569,69,20045],\n[M,569,77,20053,569,84,20060],\n[M,569,92,20068,569,99,20075],\n[M,569,107,20083,569,114,20090],\n[M,569,122,20098,569,129,20105],\n[M,578,0,20458,582,3,20643],\n[M,580,2,20586,580,6,20590],\n[M,580,7,20591,580,30,20614],\n[M,580,20,20604,580,26,20610],\n[M,578,52,20510,578,59,20517],\n[M,580,2,20586,580,45,20629],\n[M,578,17,20475,578,31,20489],\n[M,578,40,20498,578,47,20505],\n[M,584,0,20645,595,3,21033],\n[M,586,2,20855,593,5,21010],\n[M,590,8,20948,590,16,20956],\n[M,590,18,20958,590,26,20966],\n[M,591,11,20979,591,18,20986],\n[M,591,20,20988,591,27,20995],\n[M,590,6,20946,590,27,20967],\n[M,584,77,20722,584,84,20729],\n[M,594,2,21013,594,18,21029],\n[M,584,21,20666,584,38,20683],\n[M,584,48,20693,584,55,20700],\n[M,584,65,20710,584,72,20717],\n[M,597,0,21035,608,3,21497],\n[M,599,2,21274,606,5,21468],\n[M,603,8,21387,603,16,21395],\n[M,603,18,21397,603,26,21405],\n[M,603,28,21407,603,36,21415],\n[M,604,11,21428,604,18,21435],\n[M,604,20,21437,604,27,21444],\n[M,604,29,21446,604,36,21453],\n[M,603,6,21385,603,37,21416],\n[M,597,100,21135,597,107,21142],\n[M,607,2,21471,607,24,21493],\n[M,597,24,21059,597,44,21079],\n[M,597,54,21089,597,61,21096],\n[M,597,71,21106,597,78,21113],\n[M,597,88,21123,597,95,21130],\n[M,610,0,21499,621,3,22021],\n[M,612,2,21753,619,5,21986],\n[M,616,8,21886,616,16,21894],\n[M,616,18,21896,616,26,21904],\n[M,616,28,21906,616,36,21914],\n[M,616,38,21916,616,46,21924],\n[M,617,11,21937,617,18,21944],\n[M,617,20,21946,617,27,21953],\n[M,617,29,21955,617,36,21962],\n[M,617,38,21964,617,45,21971],\n[M,616,6,21884,616,47,21925],\n[M,620,2,21989,620,30,22017],\n[M,610,27,21526,610,50,21549],\n[M,610,60,21559,610,67,21566],\n[M,610,77,21576,610,84,21583],\n[M,610,94,21593,610,101,21600],\n[M,610,111,21610,610,118,21617],\n[M,623,0,22023,634,3,22350],\n[M,625,2,22204,632,5,22329],\n[M,629,11,22281,629,18,22288],\n[M,630,18,22308,630,24,22314],\n[M,630,11,22301,630,16,22306],\n[M,629,6,22276,629,19,22289],\n[M,623,76,22099,623,83,22106],\n[M,633,2,22332,633,16,22346],\n[M,623,19,22042,623,41,22064],\n[M,623,50,22073,623,56,22079],\n[M,623,64,22087,623,71,22094],\n[M,636,0,22352,647,3,22774],\n[M,638,2,22578,645,5,22746],\n[M,642,11,22677,642,19,22685],\n[M,642,21,22687,642,29,22695],\n[M,643,18,22715,643,25,22722],\n[M,643,27,22724,643,34,22731],\n[M,643,11,22708,643,16,22713],\n[M,642,6,22672,642,30,22696],\n[M,636,102,22454,636,109,22461],\n[M,646,2,22749,646,23,22770],\n[M,636,23,22375,636,48,22400],\n[M,636,57,22409,636,63,22415],\n[M,636,73,22425,636,80,22432],\n[M,636,90,22442,636,97,22449],\n[M,649,0,22776,660,3,23282],\n[M,651,2,23041,658,5,23248],\n[M,655,11,23160,655,19,23168],\n[M,655,21,23170,655,29,23178],\n[M,655,31,23180,655,39,23188],\n[M,656,18,23208,656,25,23215],\n[M,656,27,23217,656,34,23224],\n[M,656,36,23226,656,43,23233],\n[M,656,11,23201,656,16,23206],\n[M,655,6,23155,655,40,23189],\n[M,649,125,22901,649,132,22908],\n[M,659,2,23251,659,29,23278],\n[M,649,26,22802,649,54,22830],\n[M,649,63,22839,649,69,22845],\n[M,649,79,22855,649,86,22862],\n[M,649,96,22872,649,103,22879],\n[M,649,113,22889,649,120,22896],\n[M,662,0,23284,673,3,23866],\n[M,664,2,23580,671,5,23826],\n[M,668,11,23719,668,19,23727],\n[M,668,21,23729,668,29,23737],\n[M,668,31,23739,668,39,23747],\n[M,668,41,23749,668,49,23757],\n[M,669,18,23777,669,25,23784],\n[M,669,27,23786,669,34,23793],\n[M,669,36,23795,669,43,23802],\n[M,669,45,23804,669,52,23811],\n[M,669,11,23770,669,16,23775],\n[M,668,6,23714,668,50,23758],\n[M,662,140,23424,662,147,23431],\n[M,672,2,23829,672,35,23862],\n[M,662,29,23313,662,52,23336],\n[M,662,61,23345,662,67,23351],\n[M,662,77,23361,662,84,23368],\n[M,662,94,23378,662,101,23385],\n[M,662,111,23395,662,118,23402],\n[M,662,128,23412,662,135,23419],\n[M,675,0,23868,687,3,24395],\n[M,675,80,23948,675,81,23949],\n[M,680,4,24239,680,19,24254],\n[M,679,2,24218,686,5,24391],\n[M,683,8,24319,683,40,24351],\n[M,682,6,24283,685,9,24385],\n[M,684,8,24360,684,23,24375],\n[M,682,12,24289,682,18,24295],\n[M,682,20,24297,682,32,24309],\n[M,683,21,24332,683,40,24351],\n[M,681,4,24259,685,9,24385],\n[M,679,8,24224,679,12,24228],\n[M,675,26,23894,675,48,23916],\n[M,675,58,23926,675,59,23927],\n[M,675,68,23936,675,75,23943],\n[M,689,0,24397,693,3,24657],\n[M,692,2,24617,692,38,24653],\n[M,689,63,24460,689,64,24461],\n[M,689,20,24417,689,31,24428],\n[M,689,41,24438,689,42,24439],\n[M,689,51,24448,689,58,24455],\n[M,695,0,24659,703,3,24968],\n[M,695,64,24723,695,65,24724],\n[M,701,21,24937,701,29,24945],\n[M,701,32,24948,701,41,24957],\n[M,701,4,24920,701,42,24958],\n[M,701,6,24922,701,30,24946],\n[M,695,21,24680,695,32,24691],\n[M,695,42,24701,695,43,24702],\n[M,695,52,24711,695,59,24718],\n[M,705,0,24970,713,3,25383],\n[M,705,84,25054,705,85,25055],\n[M,711,21,25335,711,29,25343],\n[M,711,31,25345,711,39,25353],\n[M,711,42,25356,711,49,25363],\n[M,711,51,25365,711,58,25372],\n[M,711,13,25327,711,40,25354],\n[M,705,24,24994,705,38,25008],\n[M,705,48,25018,705,49,25019],\n[M,705,57,25027,705,64,25034],\n[M,705,72,25042,705,79,25049],\n[M,715,0,25385,723,3,25853],\n[M,715,105,25490,715,106,25491],\n[M,721,21,25786,721,29,25794],\n[M,721,31,25796,721,39,25804],\n[M,721,41,25806,721,49,25814],\n[M,721,52,25817,721,59,25824],\n[M,721,61,25826,721,68,25833],\n[M,721,70,25835,721,77,25842],\n[M,721,13,25778,721,50,25815],\n[M,715,27,25412,715,44,25429],\n[M,715,54,25439,715,55,25440],\n[M,715,63,25448,715,70,25455],\n[M,715,78,25463,715,85,25470],\n[M,715,93,25478,715,100,25485],\n[M,725,0,25855,733,3,26378],\n[M,725,126,25981,725,127,25982],\n[M,731,21,26292,731,29,26300],\n[M,731,31,26302,731,39,26310],\n[M,731,41,26312,731,49,26320],\n[M,731,51,26322,731,59,26330],\n[M,731,62,26333,731,69,26340],\n[M,731,71,26342,731,78,26349],\n[M,731,80,26351,731,87,26358],\n[M,731,89,26360,731,96,26367],\n[M,731,13,26284,731,60,26331],\n[M,725,30,25885,725,50,25905],\n[M,725,60,25915,725,61,25916],\n[M,725,69,25924,725,76,25931],\n[M,725,84,25939,725,91,25946],\n[M,725,99,25954,725,106,25961],\n[M,725,114,25969,725,121,25976],\n[M,735,0,26380,746,3,26874],\n[M,738,2,26683,744,5,26847],\n[M,742,28,26794,742,46,26812],\n[M,742,49,26815,742,66,26832],\n[M,742,18,26784,742,47,26813],\n[M,742,11,26777,742,16,26782],\n[M,735,88,26468,735,89,26469],\n[M,745,2,26850,745,22,26870],\n[M,735,22,26402,735,41,26421],\n[M,735,50,26430,735,56,26436],\n[M,735,66,26446,735,67,26447],\n[M,735,76,26456,735,83,26463],\n[M,748,0,26876,760,3,27316],\n[M,750,26,26996,750,61,27031],\n[M,752,10,27067,752,19,27076],\n[M,753,10,27087,753,18,27095],\n[M,756,8,27193,756,33,27218],\n[M,755,6,27137,758,9,27306],\n[M,757,18,27237,757,77,27296],\n[M,757,53,27272,757,76,27295],\n[M,755,12,27143,755,35,27166],\n[M,754,24,27120,754,34,27130],\n[M,749,2,26965,759,5,27312],\n[M,748,26,26902,748,33,26909],\n[M,748,42,26918,748,43,26919],\n[M,748,51,26927,748,84,26960],\n[M,762,0,27318,764,3,27429],\n[M,762,44,27362,762,67,27385],\n[M,763,2,27389,763,38,27425],\n[M,762,22,27340,762,29,27347],\n[M,762,38,27356,762,39,27357],\n[M,766,0,27431,768,3,27527],\n[M,766,43,27474,766,50,27481],\n[M,767,2,27485,767,40,27523],\n[M,767,22,27505,767,39,27522],\n[M,766,21,27452,766,28,27459],\n[M,766,37,27468,766,38,27469],\n[M,770,0,27529,772,3,27641],\n[M,770,48,27577,770,71,27600],\n[M,771,2,27604,771,35,27637],\n[M,770,26,27555,770,33,27562],\n[M,770,42,27571,770,43,27572],\n[M,774,0,27643,776,3,27747],\n[M,774,47,27690,774,54,27697],\n[M,775,2,27701,775,44,27743],\n[M,775,22,27721,775,43,27742],\n[M,774,25,27668,774,32,27675],\n[M,774,41,27684,774,42,27685],\n[M,778,0,27749,780,3,27867],\n[M,778,54,27803,778,77,27826],\n[M,779,2,27830,779,35,27863],\n[M,778,32,27781,778,39,27788],\n[M,778,48,27797,778,49,27798],\n[M,782,0,27869,784,3,27985],\n[M,782,53,27922,782,60,27929],\n[M,783,2,27933,783,50,27981],\n[M,783,22,27953,783,49,27980],\n[M,782,31,27900,782,38,27907],\n[M,782,47,27916,782,48,27917],\n[M,786,0,27987,797,3,28332],\n[M,786,34,28021,786,41,28028],\n[M,789,11,28075,794,7,28294],\n[M,790,18,28186,790,23,28191],\n[M,789,54,28118,789,63,28127],\n[M,789,65,28129,789,77,28141],\n[M,789,87,28151,789,95,28159],\n[M,786,22,28009,786,29,28016],\n[M,799,0,28334,808,3,28616],\n[M,799,63,28397,799,70,28404],\n[M,801,4,28432,801,20,28448],\n[M,800,2,28408,807,5,28612],\n[M,804,8,28517,804,37,28546],\n[M,803,6,28482,806,9,28606],\n[M,805,29,28576,805,48,28595],\n[M,805,8,28555,805,49,28596],\n[M,803,12,28488,803,21,28497],\n[M,803,23,28499,803,31,28507],\n[M,804,18,28527,804,37,28546],\n[M,802,4,28453,806,9,28606],\n[M,800,8,28414,800,15,28421],\n[M,799,26,28360,799,42,28376],\n[M,799,51,28385,799,58,28392],\n[M,810,0,28618,819,3,28882],\n[M,810,48,28666,810,55,28673],\n[M,812,4,28701,812,20,28717],\n[M,811,2,28677,818,5,28878],\n[M,815,8,28783,815,37,28812],\n[M,814,6,28751,817,9,28872],\n[M,816,29,28842,816,48,28861],\n[M,816,8,28821,816,49,28862],\n[M,814,12,28757,814,21,28766],\n[M,815,18,28793,815,37,28812],\n[M,813,4,28722,817,9,28872],\n[M,811,8,28683,811,15,28690],\n[M,810,28,28646,810,43,28661],\n[M,821,0,28884,832,3,29329],\n[M,821,33,28917,821,40,28924],\n[M,824,4,29056,824,20,29072],\n[M,823,2,29036,831,5,29325],\n[M,827,43,29202,827,57,29216],\n[M,827,8,29167,827,58,29217],\n[M,826,6,29106,830,9,29319],\n[M,828,42,29260,828,56,29274],\n[M,828,8,29226,828,57,29275],\n[M,829,8,29284,829,33,29309],\n[M,826,12,29112,826,35,29135],\n[M,826,37,29137,826,57,29157],\n[M,829,19,29295,829,33,29309],\n[M,825,4,29077,830,9,29319],\n[M,823,9,29043,823,13,29047],\n[M,821,21,28905,821,28,28912],\n[M,834,0,29331,856,3,30176],\n[M,837,2,29525,848,5,29748],\n[M,839,6,29563,839,22,29579],\n[M,838,4,29542,847,7,29742],\n[M,842,22,29661,842,32,29671],\n[M,841,11,29620,841,22,29631],\n[M,840,6,29586,846,11,29734],\n[M,838,10,29548,838,14,29552],\n[M,834,62,29393,834,69,29400],\n[M,834,71,29402,834,78,29409],\n[M,834,61,29392,834,79,29410],\n[M,849,4,29753,849,13,29762],\n[M,834,26,29357,834,40,29371],\n[M,834,49,29380,834,56,29387],\n[M,858,0,30178,865,3,30442],\n[M,859,2,30236,859,46,30280],\n[M,858,48,30226,858,54,30232],\n[M,858,21,30199,858,28,30206],\n[M,858,37,30215,858,43,30221],\n[M,867,0,30444,875,3,30837],\n[M,868,2,30527,868,51,30576],\n[M,867,73,30517,867,79,30523],\n[M,867,26,30470,867,33,30477],\n[M,867,42,30486,867,48,30492],\n[M,867,62,30506,867,68,30512],\n[M,883,9,30946,883,25,30962],\n[M,884,9,30973,884,35,30999],\n[M,885,9,31010,885,47,31048],\n[M,886,9,31059,886,59,31109],\n[M,887,9,31120,887,71,31182],\n[M,888,9,31193,888,83,31267],\n[\"dummy location\"],\n[M,2,0,20,889,1,31270]];\nvar $type$Nothing1 = R.getModuleField(\"builtin://global\",\"types\",\"Nothing\");\nvar num$is$integer2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-integer\");\nvar random3 = R.getModuleField(\"builtin://global\",\"values\",\"random\");\nvar _times4 = R.getModuleField(\"builtin://global\",\"values\",\"_times\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar raw$array$set5 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-set\");\nvar within6 = R.getModuleField(\"builtin://global\",\"values\",\"within\");\nvar equal$always37 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always3\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array$of8 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-of\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$build10 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-build\");\nvar num$ceiling11 = R.getModuleField(\"builtin://global\",\"values\",\"num-ceiling\");\nvar equal$now312 = R.getModuleField(\"builtin://global\",\"values\",\"equal-now3\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar _greaterthan5 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterthan\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar identical316 = R.getModuleField(\"builtin://global\",\"values\",\"identical3\");\nvar $included$221 = $$included$225;\nvar equality22 = $equality26;\nvar $underscore_import3 = $$underscore_import5;\nvar $included$123 = $$included$127;\nvar VS10 = $VS8;\nvar $cases_dispatch2439 = {\"empty\":2,\n\"link\":3};\nvar $cases_dispatch2412 = {\"empty\":3,\n\"link\":4};\nvar $cases_dispatch2409 = {\"NotEqual\":3,\n\"Unknown\":5,\n\"Equal\":7};\nvar $cases_dispatch2397 = {\"NotEqual\":9,\n\"Unknown\":10,\n\"Equal\":11};\nvar $cases_dispatch2369 = {\"empty\":3,\n\"link\":4};\nvar $cases_dispatch2366 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch2356 = {\"none\":9,\n\"some\":10};\nvar $cases_dispatch2333 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch2330 = {\"none\":3,\n\"some\":4};\nvar $cases_dispatch2320 = {\"none\":10,\n\"some\":11};\nvar $cases_dispatch2182 = {\"Equal\":9};\nvar $cases_dispatch1979 = {\"empty\":5,\n\"link\":6};\nvar $cases_dispatch1976 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch1964 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch1260 = {\"empty\":5,\n\"link\":6};\nvar $cases_dispatch1145 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch836 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch806 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch773 = {\"empty\":4,\n\"link\":8};\nvar $cases_dispatch768 = {\"empty\":10,\n\"link\":11};\nvar $cases_dispatch759 = {\"empty\":6};\nvar $cases_dispatch738 = {\"empty\":2,\n\"link\":3};\nvar Option17 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar Either18 = R.getModuleField(\"builtin://either\",\"types\",\"Either\");\nvar none19 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar some20 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar $toplevel30 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__951($$resumer13) {\nvar $step29 = 0;\nvar $elidedFrames36 = 0;\nvar $ans33 = D;\nvar $al34 = L[951];\nif(R.isAR($$resumer13)) {\n$step29 = $$resumer13.step;\n$al34 = $$resumer13.from;\n$ans33 = $$resumer13.ans;\n$elidedFrames36 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nfold_n2166 = $$resumer13.vars[0];\nsplit$at137 = $$resumer13.vars[1];\nfold32077 = $$resumer13.vars[2];\neach4_n1939 = $$resumer13.vars[3];\nmap21415 = $$resumer13.vars[4];\nis$List708 = $$resumer13.vars[5];\nsame$length762 = $$resumer13.vars[6];\nfind417 = $$resumer13.vars[7];\ntake$while2448 = $$resumer13.vars[8];\nmember$always2559 = $$resumer13.vars[9];\nfilter$map2313 = $$resumer13.vars[10];\nshorter$than823 = $$resumer13.vars[11];\nfold22036 = $$resumer13.vars[12];\ndrop1302 = $$resumer13.vars[13];\nmember$identical2266 = $$resumer13.vars[14];\nmember$with2179 = $$resumer13.vars[15];\nfoldl2560 = $$resumer13.vars[16];\nfold42119 = $$resumer13.vars[17];\neach41778 = $$resumer13.vars[18];\nfoldr2007 = $$resumer13.vars[19];\neach21700 = $$resumer13.vars[20];\nmember$identical32252 = $$resumer13.vars[21];\nempty266 = $$resumer13.vars[22];\nremove205 = $$resumer13.vars[23];\nmember$now2239 = $$resumer13.vars[24];\ntake1288 = $$resumer13.vars[25];\nfilter$values2348 = $$resumer13.vars[26];\nmap3_n1585 = $$resumer13.vars[27];\nfold$while1956 = $$resumer13.vars[28];\npartition404 = $$resumer13.vars[29];\neach31737 = $$resumer13.vars[30];\nmap4_n1620 = $$resumer13.vars[31];\nlength746 = $$resumer13.vars[32];\nany1314 = $$resumer13.vars[33];\nList50 = $$resumer13.vars[34];\nfold927 = $$resumer13.vars[35];\nmap2_n1543 = $$resumer13.vars[36];\neach_n1807 = $$resumer13.vars[37];\neach98 = $$resumer13.vars[38];\nlist2562 = $$resumer13.vars[39];\nmember$now32226 = $$resumer13.vars[40];\nget177 = $$resumer13.vars[41];\nrange$by1100 = $$resumer13.vars[42];\nanswer2563 = $$resumer13.vars[43];\nmap71 = $$resumer13.vars[44];\ndistinct2386 = $$resumer13.vars[45];\nmap41491 = $$resumer13.vars[46];\nmap_n1518 = $$resumer13.vars[47];\nmember$always32561 = $$resumer13.vars[48];\nset191 = $$resumer13.vars[49];\nfilter85 = $$resumer13.vars[50];\nlast992 = $$resumer13.vars[51];\nis$link712 = $$resumer13.vars[52];\nall1335 = $$resumer13.vars[53];\nrange1056 = $$resumer13.vars[54];\nmember2213 = $$resumer13.vars[55];\nsort1018 = $$resumer13.vars[56];\nrepeat1115 = $$resumer13.vars[57];\neach2_n1843 = $$resumer13.vars[58];\neach3_n1888 = $$resumer13.vars[59];\nis$empty549 = $$resumer13.vars[60];\nlink124 = $$resumer13.vars[61];\nshuffle2299 = $$resumer13.vars[62];\nmember32200 = $$resumer13.vars[63];\nappend1139 = $$resumer13.vars[64];\nsort$by1006 = $$resumer13.vars[65];\npush961 = $$resumer13.vars[66];\nreverse111 = $$resumer13.vars[67];\nall21384 = $$resumer13.vars[68];\nlonger$than788 = $$resumer13.vars[69];\njoin$str218 = $$resumer13.vars[70];\nmap31446 = $$resumer13.vars[71];\njoin$str$last232 = $$resumer13.vars[72];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans33 = R.mC();\n}\nwhile(!R.isContinuation($ans33)) {\nswitch($step29) {\ncase 0: var List37 = R.nB(\"List\",L[258]);\nvar List50 = R.mBA(List37,\"List\");\nvar List706 = {\"$var\":D};\nvar is$List708 = {\"$var\":D};\nvar is$empty549 = {\"$var\":D};\nvar empty266 = {\"$var\":D};\nvar is$link712 = {\"$var\":D};\nvar link124 = {\"$var\":D};\nvar length746 = {\"$var\":D};\nvar same$length762 = {\"$var\":D};\nvar longer$than788 = {\"$var\":D};\nvar shorter$than823 = {\"$var\":D};\nvar get177 = {\"$var\":D};\nvar set191 = {\"$var\":D};\nvar reverse111 = {\"$var\":D};\nvar push961 = {\"$var\":D};\nvar last992 = {\"$var\":D};\nvar sort$by1006 = {\"$var\":D};\nvar sort1018 = {\"$var\":D};\nvar range1056 = {\"$var\":D};\nvar range$by1100 = {\"$var\":D};\nvar repeat1115 = {\"$var\":D};\nvar filter85 = {\"$var\":D};\nvar append1139 = {\"$var\":D};\nvar partition404 = {\"$var\":D};\nvar remove205 = {\"$var\":D};\nvar find417 = {\"$var\":D};\nvar split$at137 = {\"$var\":D};\nvar take1288 = {\"$var\":D};\nvar drop1302 = {\"$var\":D};\nvar any1314 = {\"$var\":D};\nvar all1335 = {\"$var\":D};\nvar all21384 = {\"$var\":D};\nvar map71 = {\"$var\":D};\nvar map21415 = {\"$var\":D};\nvar map31446 = {\"$var\":D};\nvar map41491 = {\"$var\":D};\nvar map_n1518 = {\"$var\":D};\nvar map2_n1543 = {\"$var\":D};\nvar map3_n1585 = {\"$var\":D};\nvar map4_n1620 = {\"$var\":D};\nvar each98 = {\"$var\":D};\nvar each21700 = {\"$var\":D};\nvar each31737 = {\"$var\":D};\nvar each41778 = {\"$var\":D};\nvar each_n1807 = {\"$var\":D};\nvar each2_n1843 = {\"$var\":D};\nvar each3_n1888 = {\"$var\":D};\nvar each4_n1939 = {\"$var\":D};\nvar fold$while1956 = {\"$var\":D};\nvar fold927 = {\"$var\":D};\nvar foldr2007 = {\"$var\":D};\nvar fold22036 = {\"$var\":D};\nvar fold32077 = {\"$var\":D};\nvar fold42119 = {\"$var\":D};\nvar fold_n2166 = {\"$var\":D};\nvar member$with2179 = {\"$var\":D};\nvar member32200 = {\"$var\":D};\nvar member2213 = {\"$var\":D};\nvar member$now32226 = {\"$var\":D};\nvar member$now2239 = {\"$var\":D};\nvar member$identical32252 = {\"$var\":D};\nvar member$identical2266 = {\"$var\":D};\nvar shuffle2299 = {\"$var\":D};\nvar filter$map2313 = {\"$var\":D};\nvar filter$values2348 = {\"$var\":D};\nvar distinct2386 = {\"$var\":D};\nvar take$while2448 = {\"$var\":D};\nvar join$str218 = {\"$var\":D};\nvar join$str$last232 = {\"$var\":D};\nvar $temp_full41 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__0($self42) {\nvar $step40 = 0;\nvar $elidedFrames46 = 0;\nvar $ans43 = D;\nvar $al44 = L[0];\nif(R.isAR($self42)) {\n$step40 = $self42.step;\n$al44 = $self42.from;\n$ans43 = $self42.ans;\n$elidedFrames46 = $self42.elidedFrames;\nself42 = $self42.args[0];\nann_check_temp48 = $self42.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,true);\n}\nvar self42 = $self42;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans43 = R.mC();\n}\nwhile(!R.isContinuation($ans43)) {\nswitch($step40) {\ncase 0: $step40 = 1;\n$al44 = L[4];\nR._cA(L[4],List50,self42);\nbreak;\ncase 1: $step40 = 2;\n$ans43 = R.maybeMethodCall1(self42,\"map\",L[1],VS10.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg47 = $ans43;\n$step40 = 3;\n$al44 = L[3];\nif(typeof(VS10.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al44,VS10.dict.values.dict[\"vs-collection\"]);\n}\n$ans43 = VS10.dict.values.dict[\"vs-collection\"].app((\"list\"),anf_arg47);\nbreak;\ncase 3: var ann_check_temp48 = $ans43;\n$step40 = 4;\n$al44 = L[2];\nvar $ann$check49 = R._cA(L[2],R.gDA(L[2],\"VS\",VS10.dict.types,\"ValueSkeleton\"),ann_check_temp48);\nif(R.isContinuation($ann$check49)) {\n$ans43 = $ann$check49;\n}\nbreak;\ncase 4: $step40 = 5;\n$ans43 = ann_check_temp48;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans43;\ndefault: R.ffi.throwSpinnakerError(L[0],$step40);\n}\n}\nif($step40 !== 5) {\n$ans43.stack[R.EXN_STACKHEIGHT++] = R.mAR($al44,$temp_full41,$step40,[self42],[ann_check_temp48],$elidedFrames46);\n}\nreturn $ans43;\n};\nvar anf_shared653 = R.makeMethod0($temp_full41,\"_output\");\nvar $temp_full53 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__5($self54,$other55) {\nvar $step52 = 0;\nvar $elidedFrames59 = 0;\nvar $ans56 = D;\nvar $al57 = L[5];\nif(R.isAR($self54)) {\n$step52 = $self54.step;\n$al57 = $self54.from;\n$ans56 = $self54.ans;\n$elidedFrames59 = $self54.elidedFrames;\nself54 = $self54.args[0];\nother55 = $self54.args[1];\nann_check_temp60 = $self54.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],2,$t,true);\n}\nvar self54 = $self54;\nvar other55 = $other55;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans56 = R.mC();\n}\nwhile(!R.isContinuation($ans56)) {\nswitch($step52) {\ncase 0: $step52 = 1;\n$al57 = L[8];\nR._cA(L[8],List50,self54);\nbreak;\ncase 1: $step52 = 2;\n$al57 = L[9];\nR._cA(L[9],List50,other55);\nbreak;\ncase 2: $step52 = 3;\n$ans56 = R.maybeMethodCall1(self54,\"append\",L[6],other55);\nbreak;\ncase 3: var ann_check_temp60 = $ans56;\n$step52 = 4;\n$al57 = L[7];\nvar $ann$check61 = R._cA(L[7],List50,ann_check_temp60);\nif(R.isContinuation($ann$check61)) {\n$ans56 = $ann$check61;\n}\nbreak;\ncase 4: $step52 = 5;\n$ans56 = ann_check_temp60;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans56;\ndefault: R.ffi.throwSpinnakerError(L[5],$step52);\n}\n}\nif($step52 !== 5) {\n$ans56.stack[R.EXN_STACKHEIGHT++] = R.mAR($al57,$temp_full53,$step52,[self54,other55],[ann_check_temp60],$elidedFrames59);\n}\nreturn $ans56;\n};\nvar anf_shared654 = R.makeMethod1($temp_full53,\"_plus\");\nvar $temp_full64 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__10($self65,$f66) {\nvar $step63 = 0;\nvar $elidedFrames70 = 0;\nvar $ans67 = D;\nvar $al68 = L[10];\nif(R.isAR($self65)) {\n$step63 = $self65.step;\n$al68 = $self65.from;\n$ans67 = $self65.ans;\n$elidedFrames70 = $self65.elidedFrames;\nself65 = $self65.args[0];\nf66 = $self65.args[1];\nann_check_temp73 = $self65.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],2,$t,true);\n}\nvar self65 = $self65;\nvar f66 = $f66;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans67 = R.mC();\n}\nwhile(!R.isContinuation($ans67)) {\nswitch($step63) {\ncase 0: $step63 = 1;\n$al68 = L[14];\nR._cA(L[14],R.Function,f66);\nbreak;\ncase 1: var anf_fun72 = map71.$var === D?U(L[11],\"map\"):map71.$var;\n$step63 = 2;\n$al68 = L[13];\nif(typeof(anf_fun72.app) !== \"function\") {\nR.ffi.throwNonFunApp($al68,anf_fun72);\n}\n$ans67 = anf_fun72.app(f66,self65);\nbreak;\ncase 2: var ann_check_temp73 = $ans67;\n$step63 = 3;\n$al68 = L[12];\nvar $ann$check74 = R._cA(L[12],List50,ann_check_temp73);\nif(R.isContinuation($ann$check74)) {\n$ans67 = $ann$check74;\n}\nbreak;\ncase 3: $step63 = 4;\n$ans67 = ann_check_temp73;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans67;\ndefault: R.ffi.throwSpinnakerError(L[10],$step63);\n}\n}\nif($step63 !== 4) {\n$ans67.stack[R.EXN_STACKHEIGHT++] = R.mAR($al68,$temp_full64,$step63,[self65,f66],[ann_check_temp73],$elidedFrames70);\n}\nreturn $ans67;\n};\nvar anf_shared655 = R.makeMethod1($temp_full64,\"map\");\nvar $temp_full77 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__15($self78,$f79) {\nvar $step76 = 0;\nvar $elidedFrames84 = 0;\nvar $ans81 = D;\nvar $al82 = L[15];\nif(R.isAR($self78)) {\n$step76 = $self78.step;\n$al82 = $self78.from;\n$ans81 = $self78.ans;\n$elidedFrames84 = $self78.elidedFrames;\nself78 = $self78.args[0];\nf79 = $self78.args[1];\nann_check_temp87 = $self78.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],2,$t,true);\n}\nvar self78 = $self78;\nvar f79 = $f79;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans81 = R.mC();\n}\nwhile(!R.isContinuation($ans81)) {\nswitch($step76) {\ncase 0: $step76 = 1;\n$al82 = L[19];\nR._cA(L[19],List50,self78);\nbreak;\ncase 1: $step76 = 2;\n$al82 = L[20];\nR._cA(L[20],R.Function,f79);\nbreak;\ncase 2: var anf_fun86 = filter85.$var === D?U(L[16],\"filter\"):filter85.$var;\n$step76 = 3;\n$al82 = L[18];\nif(typeof(anf_fun86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al82,anf_fun86);\n}\n$ans81 = anf_fun86.app(f79,self78);\nbreak;\ncase 3: var ann_check_temp87 = $ans81;\n$step76 = 4;\n$al82 = L[17];\nvar $ann$check88 = R._cA(L[17],List50,ann_check_temp87);\nif(R.isContinuation($ann$check88)) {\n$ans81 = $ann$check88;\n}\nbreak;\ncase 4: $step76 = 5;\n$ans81 = ann_check_temp87;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans81;\ndefault: R.ffi.throwSpinnakerError(L[15],$step76);\n}\n}\nif($step76 !== 5) {\n$ans81.stack[R.EXN_STACKHEIGHT++] = R.mAR($al82,$temp_full77,$step76,[self78,f79],[ann_check_temp87],$elidedFrames84);\n}\nreturn $ans81;\n};\nvar anf_shared656 = R.makeMethod1($temp_full77,\"filter\");\nvar $temp_full91 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__21($self92,$f93) {\nvar $step90 = 0;\nvar $elidedFrames97 = 0;\nvar $ans94 = D;\nvar $al95 = L[21];\nif(R.isAR($self92)) {\n$step90 = $self92.step;\n$al95 = $self92.from;\n$ans94 = $self92.ans;\n$elidedFrames97 = $self92.elidedFrames;\nself92 = $self92.args[0];\nf93 = $self92.args[1];\nann_check_temp100 = $self92.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[21],2,$t,true);\n}\nvar self92 = $self92;\nvar f93 = $f93;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans94 = R.mC();\n}\nwhile(!R.isContinuation($ans94)) {\nswitch($step90) {\ncase 0: $step90 = 1;\n$al95 = L[25];\nR._cA(L[25],List50,self92);\nbreak;\ncase 1: $step90 = 2;\n$al95 = L[26];\nR._cA(L[26],R.Function,f93);\nbreak;\ncase 2: var anf_fun99 = each98.$var === D?U(L[22],\"each\"):each98.$var;\n$step90 = 3;\n$al95 = L[24];\nif(typeof(anf_fun99.app) !== \"function\") {\nR.ffi.throwNonFunApp($al95,anf_fun99);\n}\n$ans94 = anf_fun99.app(f93,self92);\nbreak;\ncase 3: var ann_check_temp100 = $ans94;\n$step90 = 4;\n$al95 = L[23];\nvar $ann$check101 = R._cA(L[23],$type$Nothing1,ann_check_temp100);\nif(R.isContinuation($ann$check101)) {\n$ans94 = $ann$check101;\n}\nbreak;\ncase 4: $step90 = 5;\n$ans94 = ann_check_temp100;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans94;\ndefault: R.ffi.throwSpinnakerError(L[21],$step90);\n}\n}\nif($step90 !== 5) {\n$ans94.stack[R.EXN_STACKHEIGHT++] = R.mAR($al95,$temp_full91,$step90,[self92,f93],[ann_check_temp100],$elidedFrames97);\n}\nreturn $ans94;\n};\nvar anf_shared657 = R.makeMethod1($temp_full91,\"each\");\nvar $temp_full105 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__27($self106) {\nvar $step104 = 0;\nvar $elidedFrames110 = 0;\nvar $ans107 = D;\nvar $al108 = L[27];\nif(R.isAR($self106)) {\n$step104 = $self106.step;\n$al108 = $self106.from;\n$ans107 = $self106.ans;\n$elidedFrames110 = $self106.elidedFrames;\nself106 = $self106.args[0];\nann_check_temp113 = $self106.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[27],1,$t,true);\n}\nvar self106 = $self106;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans107 = R.mC();\n}\nwhile(!R.isContinuation($ans107)) {\nswitch($step104) {\ncase 0: $step104 = 1;\n$al108 = L[31];\nR._cA(L[31],List50,self106);\nbreak;\ncase 1: var anf_fun112 = reverse111.$var === D?U(L[28],\"reverse\"):reverse111.$var;\n$step104 = 2;\n$al108 = L[30];\nif(typeof(anf_fun112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al108,anf_fun112);\n}\n$ans107 = anf_fun112.app(self106);\nbreak;\ncase 2: var ann_check_temp113 = $ans107;\n$step104 = 3;\n$al108 = L[29];\nvar $ann$check114 = R._cA(L[29],List50,ann_check_temp113);\nif(R.isContinuation($ann$check114)) {\n$ans107 = $ann$check114;\n}\nbreak;\ncase 3: $step104 = 4;\n$ans107 = ann_check_temp113;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans107;\ndefault: R.ffi.throwSpinnakerError(L[27],$step104);\n}\n}\nif($step104 !== 4) {\n$ans107.stack[R.EXN_STACKHEIGHT++] = R.mAR($al108,$temp_full105,$step104,[self106],[ann_check_temp113],$elidedFrames110);\n}\nreturn $ans107;\n};\nvar anf_shared658 = R.makeMethod0($temp_full105,\"reverse\");\nvar $temp_full117 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__32($self118,$elt119) {\nvar $step116 = 0;\nvar $elidedFrames123 = 0;\nvar $ans120 = D;\nvar $al121 = L[32];\nif(R.isAR($self118)) {\n$step116 = $self118.step;\n$al121 = $self118.from;\n$ans120 = $self118.ans;\n$elidedFrames123 = $self118.elidedFrames;\nself118 = $self118.args[0];\nelt119 = $self118.args[1];\nann_check_temp126 = $self118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],2,$t,true);\n}\nvar self118 = $self118;\nvar elt119 = $elt119;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans120 = R.mC();\n}\nwhile(!R.isContinuation($ans120)) {\nswitch($step116) {\ncase 0: $step116 = 1;\n$al121 = L[36];\nR._cA(L[36],List50,self118);\nbreak;\ncase 1: $step116 = 2;\n$al121 = L[37];\nR._cA(L[37],R.Any,elt119);\nbreak;\ncase 2: var anf_fun125 = link124.$var === D?U(L[33],\"link\"):link124.$var;\n$step116 = 3;\n$al121 = L[35];\nif(typeof(anf_fun125.app) !== \"function\") {\nR.ffi.throwNonFunApp($al121,anf_fun125);\n}\n$ans120 = anf_fun125.app(elt119,self118);\nbreak;\ncase 3: var ann_check_temp126 = $ans120;\n$step116 = 4;\n$al121 = L[34];\nvar $ann$check127 = R._cA(L[34],List50,ann_check_temp126);\nif(R.isContinuation($ann$check127)) {\n$ans120 = $ann$check127;\n}\nbreak;\ncase 4: $step116 = 5;\n$ans120 = ann_check_temp126;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans120;\ndefault: R.ffi.throwSpinnakerError(L[32],$step116);\n}\n}\nif($step116 !== 5) {\n$ans120.stack[R.EXN_STACKHEIGHT++] = R.mAR($al121,$temp_full117,$step116,[self118,elt119],[ann_check_temp126],$elidedFrames123);\n}\nreturn $ans120;\n};\nvar anf_shared659 = R.makeMethod1($temp_full117,\"push\");\nvar $temp_full130 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__38($self131,$n132) {\nvar $step129 = 0;\nvar $elidedFrames136 = 0;\nvar $ans133 = D;\nvar $al134 = L[38];\nif(R.isAR($self131)) {\n$step129 = $self131.step;\n$al134 = $self131.from;\n$ans133 = $self131.ans;\n$elidedFrames136 = $self131.elidedFrames;\nself131 = $self131.args[0];\nn132 = $self131.args[1];\nann_check_temp139 = $self131.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],2,$t,true);\n}\nvar self131 = $self131;\nvar n132 = $n132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans133 = R.mC();\n}\nwhile(!R.isContinuation($ans133)) {\nswitch($step129) {\ncase 0: $step129 = 1;\n$al134 = L[44];\nR._cA(L[44],List50,self131);\nbreak;\ncase 1: $step129 = 2;\n$al134 = L[45];\nR._cA(L[45],$type$Number3,n132);\nbreak;\ncase 2: var anf_fun138 = split$at137.$var === D?U(L[39],\"split-at\"):split$at137.$var;\n$step129 = 3;\n$al134 = L[43];\nif(typeof(anf_fun138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al134,anf_fun138);\n}\n$ans133 = anf_fun138.app(n132,self131);\nbreak;\ncase 3: var ann_check_temp139 = $ans133;\n$step129 = 4;\n$al134 = L[42];\nvar $ann$check140 = R._cA(L[42],R.mRA([\"prefix\",\"suffix\"],[L[40],L[41]],{\"prefix\":List50,\n\"suffix\":List50}),ann_check_temp139);\nif(R.isContinuation($ann$check140)) {\n$ans133 = $ann$check140;\n}\nbreak;\ncase 4: $step129 = 5;\n$ans133 = ann_check_temp139;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans133;\ndefault: R.ffi.throwSpinnakerError(L[38],$step129);\n}\n}\nif($step129 !== 5) {\n$ans133.stack[R.EXN_STACKHEIGHT++] = R.mAR($al134,$temp_full130,$step129,[self131,n132],[ann_check_temp139],$elidedFrames136);\n}\nreturn $ans133;\n};\nvar anf_shared660 = R.makeMethod1($temp_full130,\"split-at\");\nvar $temp_full143 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__46($self144,$n145) {\nvar $step142 = 0;\nvar $elidedFrames149 = 0;\nvar $ans146 = D;\nvar $al147 = L[46];\nif(R.isAR($self144)) {\n$step142 = $self144.step;\n$al147 = $self144.from;\n$ans146 = $self144.ans;\n$elidedFrames149 = $self144.elidedFrames;\nself144 = $self144.args[0];\nn145 = $self144.args[1];\nann_check_temp152 = $self144.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,true);\n}\nvar self144 = $self144;\nvar n145 = $n145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans146 = R.mC();\n}\nwhile(!R.isContinuation($ans146)) {\nswitch($step142) {\ncase 0: $step142 = 1;\n$al147 = L[51];\nR._cA(L[51],List50,self144);\nbreak;\ncase 1: $step142 = 2;\n$al147 = L[52];\nR._cA(L[52],$type$Number3,n145);\nbreak;\ncase 2: var anf_fun150 = split$at137.$var === D?U(L[47],\"split-at\"):split$at137.$var;\n$step142 = 3;\n$al147 = L[50];\nif(typeof(anf_fun150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al147,anf_fun150);\n}\n$ans146 = anf_fun150.app(n145,self144);\nbreak;\ncase 3: var anf_bracket151 = $ans146;\n$al147 = L[48];\nvar ann_check_temp152 = G(anf_bracket151,\"prefix\",L[48]);\n$step142 = 4;\n$al147 = L[49];\nvar $ann$check153 = R._cA(L[49],List50,ann_check_temp152);\nif(R.isContinuation($ann$check153)) {\n$ans146 = $ann$check153;\n}\nbreak;\ncase 4: $step142 = 5;\n$ans146 = ann_check_temp152;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans146;\ndefault: R.ffi.throwSpinnakerError(L[46],$step142);\n}\n}\nif($step142 !== 5) {\n$ans146.stack[R.EXN_STACKHEIGHT++] = R.mAR($al147,$temp_full143,$step142,[self144,n145],[ann_check_temp152],$elidedFrames149);\n}\nreturn $ans146;\n};\nvar anf_shared661 = R.makeMethod1($temp_full143,\"take\");\nvar $temp_full156 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__53($self157,$n158) {\nvar $step155 = 0;\nvar $elidedFrames162 = 0;\nvar $ans159 = D;\nvar $al160 = L[53];\nif(R.isAR($self157)) {\n$step155 = $self157.step;\n$al160 = $self157.from;\n$ans159 = $self157.ans;\n$elidedFrames162 = $self157.elidedFrames;\nself157 = $self157.args[0];\nn158 = $self157.args[1];\nann_check_temp165 = $self157.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,true);\n}\nvar self157 = $self157;\nvar n158 = $n158;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans159 = R.mC();\n}\nwhile(!R.isContinuation($ans159)) {\nswitch($step155) {\ncase 0: $step155 = 1;\n$al160 = L[58];\nR._cA(L[58],List50,self157);\nbreak;\ncase 1: $step155 = 2;\n$al160 = L[59];\nR._cA(L[59],$type$Number3,n158);\nbreak;\ncase 2: var anf_fun163 = split$at137.$var === D?U(L[54],\"split-at\"):split$at137.$var;\n$step155 = 3;\n$al160 = L[57];\nif(typeof(anf_fun163.app) !== \"function\") {\nR.ffi.throwNonFunApp($al160,anf_fun163);\n}\n$ans159 = anf_fun163.app(n158,self157);\nbreak;\ncase 3: var anf_bracket164 = $ans159;\n$al160 = L[55];\nvar ann_check_temp165 = G(anf_bracket164,\"suffix\",L[55]);\n$step155 = 4;\n$al160 = L[56];\nvar $ann$check166 = R._cA(L[56],List50,ann_check_temp165);\nif(R.isContinuation($ann$check166)) {\n$ans159 = $ann$check166;\n}\nbreak;\ncase 4: $step155 = 5;\n$ans159 = ann_check_temp165;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans159;\ndefault: R.ffi.throwSpinnakerError(L[53],$step155);\n}\n}\nif($step155 !== 5) {\n$ans159.stack[R.EXN_STACKHEIGHT++] = R.mAR($al160,$temp_full156,$step155,[self157,n158],[ann_check_temp165],$elidedFrames162);\n}\nreturn $ans159;\n};\nvar anf_shared662 = R.makeMethod1($temp_full156,\"drop\");\nvar $temp_full170 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__60($self171,$n172) {\nvar $step169 = 0;\nvar $elidedFrames176 = 0;\nvar $ans173 = D;\nvar $al174 = L[60];\nif(R.isAR($self171)) {\n$step169 = $self171.step;\n$al174 = $self171.from;\n$ans173 = $self171.ans;\n$elidedFrames176 = $self171.elidedFrames;\nself171 = $self171.args[0];\nn172 = $self171.args[1];\nann_check_temp179 = $self171.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],2,$t,true);\n}\nvar self171 = $self171;\nvar n172 = $n172;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans173 = R.mC();\n}\nwhile(!R.isContinuation($ans173)) {\nswitch($step169) {\ncase 0: $step169 = 1;\n$al174 = L[64];\nR._cA(L[64],List50,self171);\nbreak;\ncase 1: $step169 = 2;\n$al174 = L[65];\nR._cA(L[65],$type$Number3,n172);\nbreak;\ncase 2: var anf_fun178 = get177.$var === D?U(L[61],\"get\"):get177.$var;\n$step169 = 3;\n$al174 = L[63];\nif(typeof(anf_fun178.app) !== \"function\") {\nR.ffi.throwNonFunApp($al174,anf_fun178);\n}\n$ans173 = anf_fun178.app(self171,n172);\nbreak;\ncase 3: var ann_check_temp179 = $ans173;\n$step169 = 4;\n$al174 = L[62];\nvar $ann$check180 = R._cA(L[62],R.Any,ann_check_temp179);\nif(R.isContinuation($ann$check180)) {\n$ans173 = $ann$check180;\n}\nbreak;\ncase 4: $step169 = 5;\n$ans173 = ann_check_temp179;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans173;\ndefault: R.ffi.throwSpinnakerError(L[60],$step169);\n}\n}\nif($step169 !== 5) {\n$ans173.stack[R.EXN_STACKHEIGHT++] = R.mAR($al174,$temp_full170,$step169,[self171,n172],[ann_check_temp179],$elidedFrames176);\n}\nreturn $ans173;\n};\nvar anf_shared663 = R.makeMethod1($temp_full170,\"get\");\nvar $temp_full183 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__66($self184,$n185,$e186) {\nvar $step182 = 0;\nvar $elidedFrames190 = 0;\nvar $ans187 = D;\nvar $al188 = L[66];\nif(R.isAR($self184)) {\n$step182 = $self184.step;\n$al188 = $self184.from;\n$ans187 = $self184.ans;\n$elidedFrames190 = $self184.elidedFrames;\nself184 = $self184.args[0];\nn185 = $self184.args[1];\ne186 = $self184.args[2];\nann_check_temp193 = $self184.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],3,$t,true);\n}\nvar self184 = $self184;\nvar n185 = $n185;\nvar e186 = $e186;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans187 = R.mC();\n}\nwhile(!R.isContinuation($ans187)) {\nswitch($step182) {\ncase 0: $step182 = 1;\n$al188 = L[70];\nR._cA(L[70],List50,self184);\nbreak;\ncase 1: $step182 = 2;\n$al188 = L[71];\nR._cA(L[71],$type$Number3,n185);\nbreak;\ncase 2: $step182 = 3;\n$al188 = L[72];\nR._cA(L[72],R.Any,e186);\nbreak;\ncase 3: var anf_fun192 = set191.$var === D?U(L[67],\"set\"):set191.$var;\n$step182 = 4;\n$al188 = L[69];\nif(typeof(anf_fun192.app) !== \"function\") {\nR.ffi.throwNonFunApp($al188,anf_fun192);\n}\n$ans187 = anf_fun192.app(self184,n185,e186);\nbreak;\ncase 4: var ann_check_temp193 = $ans187;\n$step182 = 5;\n$al188 = L[68];\nvar $ann$check194 = R._cA(L[68],List50,ann_check_temp193);\nif(R.isContinuation($ann$check194)) {\n$ans187 = $ann$check194;\n}\nbreak;\ncase 5: $step182 = 6;\n$ans187 = ann_check_temp193;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans187;\ndefault: R.ffi.throwSpinnakerError(L[66],$step182);\n}\n}\nif($step182 !== 6) {\n$ans187.stack[R.EXN_STACKHEIGHT++] = R.mAR($al188,$temp_full183,$step182,[self184,n185,e186],[ann_check_temp193],$elidedFrames190);\n}\nreturn $ans187;\n};\nvar anf_shared664 = R.makeMethod2($temp_full183,\"set\");\nvar $temp_full198 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__73($self199,$e200) {\nvar $step197 = 0;\nvar $elidedFrames204 = 0;\nvar $ans201 = D;\nvar $al202 = L[73];\nif(R.isAR($self199)) {\n$step197 = $self199.step;\n$al202 = $self199.from;\n$ans201 = $self199.ans;\n$elidedFrames204 = $self199.elidedFrames;\nself199 = $self199.args[0];\ne200 = $self199.args[1];\nann_check_temp207 = $self199.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],2,$t,true);\n}\nvar self199 = $self199;\nvar e200 = $e200;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans201 = R.mC();\n}\nwhile(!R.isContinuation($ans201)) {\nswitch($step197) {\ncase 0: $step197 = 1;\n$al202 = L[77];\nR._cA(L[77],List50,self199);\nbreak;\ncase 1: $step197 = 2;\n$al202 = L[78];\nR._cA(L[78],R.Any,e200);\nbreak;\ncase 2: var anf_fun206 = remove205.$var === D?U(L[74],\"remove\"):remove205.$var;\n$step197 = 3;\n$al202 = L[76];\nif(typeof(anf_fun206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al202,anf_fun206);\n}\n$ans201 = anf_fun206.app(self199,e200);\nbreak;\ncase 3: var ann_check_temp207 = $ans201;\n$step197 = 4;\n$al202 = L[75];\nvar $ann$check208 = R._cA(L[75],List50,ann_check_temp207);\nif(R.isContinuation($ann$check208)) {\n$ans201 = $ann$check208;\n}\nbreak;\ncase 4: $step197 = 5;\n$ans201 = ann_check_temp207;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans201;\ndefault: R.ffi.throwSpinnakerError(L[73],$step197);\n}\n}\nif($step197 !== 5) {\n$ans201.stack[R.EXN_STACKHEIGHT++] = R.mAR($al202,$temp_full198,$step197,[self199,e200],[ann_check_temp207],$elidedFrames204);\n}\nreturn $ans201;\n};\nvar anf_shared665 = R.makeMethod1($temp_full198,\"remove\");\nvar $temp_full211 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__79($self212,$sep213) {\nvar $step210 = 0;\nvar $elidedFrames217 = 0;\nvar $ans214 = D;\nvar $al215 = L[79];\nif(R.isAR($self212)) {\n$step210 = $self212.step;\n$al215 = $self212.from;\n$ans214 = $self212.ans;\n$elidedFrames217 = $self212.elidedFrames;\nself212 = $self212.args[0];\nsep213 = $self212.args[1];\nann_check_temp220 = $self212.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,true);\n}\nvar self212 = $self212;\nvar sep213 = $sep213;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans214 = R.mC();\n}\nwhile(!R.isContinuation($ans214)) {\nswitch($step210) {\ncase 0: $step210 = 1;\n$al215 = L[83];\nR._cA(L[83],List50,self212);\nbreak;\ncase 1: $step210 = 2;\n$al215 = L[84];\nR._cA(L[84],$type$String8,sep213);\nbreak;\ncase 2: var anf_fun219 = join$str218.$var === D?U(L[80],\"join-str\"):join$str218.$var;\n$step210 = 3;\n$al215 = L[82];\nif(typeof(anf_fun219.app) !== \"function\") {\nR.ffi.throwNonFunApp($al215,anf_fun219);\n}\n$ans214 = anf_fun219.app(self212,sep213);\nbreak;\ncase 3: var ann_check_temp220 = $ans214;\n$step210 = 4;\n$al215 = L[81];\nvar $ann$check221 = R._cA(L[81],$type$String8,ann_check_temp220);\nif(R.isContinuation($ann$check221)) {\n$ans214 = $ann$check221;\n}\nbreak;\ncase 4: $step210 = 5;\n$ans214 = ann_check_temp220;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans214;\ndefault: R.ffi.throwSpinnakerError(L[79],$step210);\n}\n}\nif($step210 !== 5) {\n$ans214.stack[R.EXN_STACKHEIGHT++] = R.mAR($al215,$temp_full211,$step210,[self212,sep213],[ann_check_temp220],$elidedFrames217);\n}\nreturn $ans214;\n};\nvar anf_shared666 = R.makeMethod1($temp_full211,\"join-str\");\nvar $temp_full224 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__85($self225,$sep226,$last$sep227) {\nvar $step223 = 0;\nvar $elidedFrames231 = 0;\nvar $ans228 = D;\nvar $al229 = L[85];\nif(R.isAR($self225)) {\n$step223 = $self225.step;\n$al229 = $self225.from;\n$ans228 = $self225.ans;\n$elidedFrames231 = $self225.elidedFrames;\nself225 = $self225.args[0];\nsep226 = $self225.args[1];\nlast$sep227 = $self225.args[2];\nann_check_temp234 = $self225.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[85],3,$t,true);\n}\nvar self225 = $self225;\nvar sep226 = $sep226;\nvar last$sep227 = $last$sep227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans228 = R.mC();\n}\nwhile(!R.isContinuation($ans228)) {\nswitch($step223) {\ncase 0: $step223 = 1;\n$al229 = L[89];\nR._cA(L[89],List50,self225);\nbreak;\ncase 1: $step223 = 2;\n$al229 = L[90];\nR._cA(L[90],$type$String8,sep226);\nbreak;\ncase 2: $step223 = 3;\n$al229 = L[91];\nR._cA(L[91],$type$String8,last$sep227);\nbreak;\ncase 3: var anf_fun233 = join$str$last232.$var === D?U(L[86],\"join-str-last\"):join$str$last232.$var;\n$step223 = 4;\n$al229 = L[88];\nif(typeof(anf_fun233.app) !== \"function\") {\nR.ffi.throwNonFunApp($al229,anf_fun233);\n}\n$ans228 = anf_fun233.app(self225,sep226,last$sep227);\nbreak;\ncase 4: var ann_check_temp234 = $ans228;\n$step223 = 5;\n$al229 = L[87];\nvar $ann$check235 = R._cA(L[87],$type$String8,ann_check_temp234);\nif(R.isContinuation($ann$check235)) {\n$ans228 = $ann$check235;\n}\nbreak;\ncase 5: $step223 = 6;\n$ans228 = ann_check_temp234;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans228;\ndefault: R.ffi.throwSpinnakerError(L[85],$step223);\n}\n}\nif($step223 !== 6) {\n$ans228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al229,$temp_full224,$step223,[self225,sep226,last$sep227],[ann_check_temp234],$elidedFrames231);\n}\nreturn $ans228;\n};\nvar anf_shared667 = R.makeMethod2($temp_full224,\"join-str-last\");\nvar $temp_full238 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__92($self239) {\nvar $step237 = 0;\nvar $elidedFrames243 = 0;\nvar $ans240 = D;\nvar $al241 = L[92];\nif(R.isAR($self239)) {\n$step237 = $self239.step;\n$al241 = $self239.from;\n$ans240 = $self239.ans;\n$elidedFrames243 = $self239.elidedFrames;\nself239 = $self239.args[0];\nann_check_temp244 = $self239.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],1,$t,true);\n}\nvar self239 = $self239;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans240 = R.mC();\n}\nwhile(!R.isContinuation($ans240)) {\nswitch($step237) {\ncase 0: $step237 = 1;\n$al241 = L[94];\nR._cA(L[94],List50,self239);\nbreak;\ncase 1: var ann_check_temp244 = (0);\n$step237 = 2;\n$al241 = L[93];\nvar $ann$check245 = R._cA(L[93],$type$Number3,ann_check_temp244);\nif(R.isContinuation($ann$check245)) {\n$ans240 = $ann$check245;\n}\nbreak;\ncase 2: $step237 = 3;\n$ans240 = ann_check_temp244;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans240;\ndefault: R.ffi.throwSpinnakerError(L[92],$step237);\n}\n}\nif($step237 !== 3) {\n$ans240.stack[R.EXN_STACKHEIGHT++] = R.mAR($al241,$temp_full238,$step237,[self239],[ann_check_temp244],$elidedFrames243);\n}\nreturn $ans240;\n};\nvar anf_singleton_variant_member671 = R.makeMethod0($temp_full238,\"length\");\nvar $temp_full248 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__95($self249,$f250) {\nvar $step247 = 0;\nvar $elidedFrames254 = 0;\nvar $ans251 = D;\nvar $al252 = L[95];\nif(R.isAR($self249)) {\n$step247 = $self249.step;\n$al252 = $self249.from;\n$ans251 = $self249.ans;\n$elidedFrames254 = $self249.elidedFrames;\nself249 = $self249.args[0];\nf250 = $self249.args[1];\nann_check_temp255 = $self249.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[95],2,$t,true);\n}\nvar self249 = $self249;\nvar f250 = $f250;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans251 = R.mC();\n}\nwhile(!R.isContinuation($ans251)) {\nswitch($step247) {\ncase 0: $step247 = 1;\n$al252 = L[97];\nR._cA(L[97],List50,self249);\nbreak;\ncase 1: $step247 = 2;\n$al252 = L[98];\nR._cA(L[98],R.Function,f250);\nbreak;\ncase 2: var ann_check_temp255 = none19;\n$step247 = 3;\n$al252 = L[96];\nvar $ann$check256 = R._cA(L[96],Option17,ann_check_temp255);\nif(R.isContinuation($ann$check256)) {\n$ans251 = $ann$check256;\n}\nbreak;\ncase 3: $step247 = 4;\n$ans251 = ann_check_temp255;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans251;\ndefault: R.ffi.throwSpinnakerError(L[95],$step247);\n}\n}\nif($step247 !== 4) {\n$ans251.stack[R.EXN_STACKHEIGHT++] = R.mAR($al252,$temp_full248,$step247,[self249,f250],[ann_check_temp255],$elidedFrames254);\n}\nreturn $ans251;\n};\nvar anf_singleton_variant_member672 = R.makeMethod1($temp_full248,\"find\");\nvar $temp_full259 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__99($self260,$f261) {\nvar $step258 = 0;\nvar $elidedFrames265 = 0;\nvar $ans262 = D;\nvar $al263 = L[99];\nif(R.isAR($self260)) {\n$step258 = $self260.step;\n$al263 = $self260.from;\n$ans262 = $self260.ans;\n$elidedFrames265 = $self260.elidedFrames;\nself260 = $self260.args[0];\nf261 = $self260.args[1];\nann_check_temp274 = $self260.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[99],2,$t,true);\n}\nvar self260 = $self260;\nvar f261 = $f261;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans262 = R.mC();\n}\nwhile(!R.isContinuation($ans262)) {\nswitch($step258) {\ncase 0: $step258 = 1;\n$al263 = L[105];\nR._cA(L[105],List50,self260);\nbreak;\ncase 1: $step258 = 2;\n$al263 = L[106];\nR._cA(L[106],R.Function,f261);\nbreak;\ncase 2: var anf_obj272 = empty266.$var === D?U(L[100],\"empty\"):empty266.$var;\nvar anf_obj273 = empty266.$var === D?U(L[101],\"empty\"):empty266.$var;\nvar ann_check_temp274 = R.mO({\"is-true\":anf_obj272,\n\"is-false\":anf_obj273});\n$step258 = 3;\n$al263 = L[104];\nvar $ann$check275 = R._cA(L[104],R.mRA([\"is-true\",\"is-false\"],[L[102],L[103]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp274);\nif(R.isContinuation($ann$check275)) {\n$ans262 = $ann$check275;\n}\nbreak;\ncase 3: $step258 = 4;\n$ans262 = ann_check_temp274;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans262;\ndefault: R.ffi.throwSpinnakerError(L[99],$step258);\n}\n}\nif($step258 !== 4) {\n$ans262.stack[R.EXN_STACKHEIGHT++] = R.mAR($al263,$temp_full259,$step258,[self260,f261],[ann_check_temp274],$elidedFrames265);\n}\nreturn $ans262;\n};\nvar anf_singleton_variant_member673 = R.makeMethod1($temp_full259,\"partition\");\nvar $temp_full278 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__107($self279,$f280,$base281) {\nvar $step277 = 0;\nvar $elidedFrames285 = 0;\nvar $ans282 = D;\nvar $al283 = L[107];\nif(R.isAR($self279)) {\n$step277 = $self279.step;\n$al283 = $self279.from;\n$ans282 = $self279.ans;\n$elidedFrames285 = $self279.elidedFrames;\nself279 = $self279.args[0];\nf280 = $self279.args[1];\nbase281 = $self279.args[2];\nann_check_temp286 = $self279.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[107],3,$t,true);\n}\nvar self279 = $self279;\nvar f280 = $f280;\nvar base281 = $base281;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans282 = R.mC();\n}\nwhile(!R.isContinuation($ans282)) {\nswitch($step277) {\ncase 0: $step277 = 1;\n$al283 = L[109];\nR._cA(L[109],List50,self279);\nbreak;\ncase 1: $step277 = 2;\n$al283 = L[110];\nR._cA(L[110],R.Function,f280);\nbreak;\ncase 2: $step277 = 3;\n$al283 = L[111];\nR._cA(L[111],R.Any,base281);\nbreak;\ncase 3: var ann_check_temp286 = base281;\n$step277 = 4;\n$al283 = L[108];\nvar $ann$check287 = R._cA(L[108],R.Any,ann_check_temp286);\nif(R.isContinuation($ann$check287)) {\n$ans282 = $ann$check287;\n}\nbreak;\ncase 4: $step277 = 5;\n$ans282 = ann_check_temp286;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans282;\ndefault: R.ffi.throwSpinnakerError(L[107],$step277);\n}\n}\nif($step277 !== 5) {\n$ans282.stack[R.EXN_STACKHEIGHT++] = R.mAR($al283,$temp_full278,$step277,[self279,f280,base281],[ann_check_temp286],$elidedFrames285);\n}\nreturn $ans282;\n};\nvar anf_singleton_variant_member674 = R.makeMethod2($temp_full278,\"foldr\");\nvar $temp_full290 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__112($self291,$f292,$base293) {\nvar $step289 = 0;\nvar $elidedFrames298 = 0;\nvar $ans295 = D;\nvar $al296 = L[112];\nif(R.isAR($self291)) {\n$step289 = $self291.step;\n$al296 = $self291.from;\n$ans295 = $self291.ans;\n$elidedFrames298 = $self291.elidedFrames;\nself291 = $self291.args[0];\nf292 = $self291.args[1];\nbase293 = $self291.args[2];\nann_check_temp299 = $self291.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[112],3,$t,true);\n}\nvar self291 = $self291;\nvar f292 = $f292;\nvar base293 = $base293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans295 = R.mC();\n}\nwhile(!R.isContinuation($ans295)) {\nswitch($step289) {\ncase 0: $step289 = 1;\n$al296 = L[114];\nR._cA(L[114],List50,self291);\nbreak;\ncase 1: $step289 = 2;\n$al296 = L[115];\nR._cA(L[115],R.Function,f292);\nbreak;\ncase 2: $step289 = 3;\n$al296 = L[116];\nR._cA(L[116],R.Any,base293);\nbreak;\ncase 3: var ann_check_temp299 = base293;\n$step289 = 4;\n$al296 = L[113];\nvar $ann$check300 = R._cA(L[113],R.Any,ann_check_temp299);\nif(R.isContinuation($ann$check300)) {\n$ans295 = $ann$check300;\n}\nbreak;\ncase 4: $step289 = 5;\n$ans295 = ann_check_temp299;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans295;\ndefault: R.ffi.throwSpinnakerError(L[112],$step289);\n}\n}\nif($step289 !== 5) {\n$ans295.stack[R.EXN_STACKHEIGHT++] = R.mAR($al296,$temp_full290,$step289,[self291,f292,base293],[ann_check_temp299],$elidedFrames298);\n}\nreturn $ans295;\n};\nvar anf_singleton_variant_member675 = R.makeMethod2($temp_full290,\"foldl\");\nvar $temp_full304 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__117($self305,$f306) {\nvar $step303 = 0;\nvar $elidedFrames311 = 0;\nvar $ans308 = D;\nvar $al309 = L[117];\nif(R.isAR($self305)) {\n$step303 = $self305.step;\n$al309 = $self305.from;\n$ans308 = $self305.ans;\n$elidedFrames311 = $self305.elidedFrames;\nself305 = $self305.args[0];\nf306 = $self305.args[1];\nann_check_temp312 = $self305.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],2,$t,true);\n}\nvar self305 = $self305;\nvar f306 = $f306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans308 = R.mC();\n}\nwhile(!R.isContinuation($ans308)) {\nswitch($step303) {\ncase 0: $step303 = 1;\n$al309 = L[119];\nR._cA(L[119],List50,self305);\nbreak;\ncase 1: $step303 = 2;\n$al309 = L[120];\nR._cA(L[120],R.Function,f306);\nbreak;\ncase 2: var ann_check_temp312 = (true);\n$step303 = 3;\n$al309 = L[118];\nvar $ann$check313 = R._cA(L[118],$type$Boolean6,ann_check_temp312);\nif(R.isContinuation($ann$check313)) {\n$ans308 = $ann$check313;\n}\nbreak;\ncase 3: $step303 = 4;\n$ans308 = ann_check_temp312;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans308;\ndefault: R.ffi.throwSpinnakerError(L[117],$step303);\n}\n}\nif($step303 !== 4) {\n$ans308.stack[R.EXN_STACKHEIGHT++] = R.mAR($al309,$temp_full304,$step303,[self305,f306],[ann_check_temp312],$elidedFrames311);\n}\nreturn $ans308;\n};\nvar anf_singleton_variant_member676 = R.makeMethod1($temp_full304,\"all\");\nvar $temp_full316 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__121($self317,$f318) {\nvar $step315 = 0;\nvar $elidedFrames323 = 0;\nvar $ans320 = D;\nvar $al321 = L[121];\nif(R.isAR($self317)) {\n$step315 = $self317.step;\n$al321 = $self317.from;\n$ans320 = $self317.ans;\n$elidedFrames323 = $self317.elidedFrames;\nself317 = $self317.args[0];\nf318 = $self317.args[1];\nann_check_temp324 = $self317.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[121],2,$t,true);\n}\nvar self317 = $self317;\nvar f318 = $f318;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans320 = R.mC();\n}\nwhile(!R.isContinuation($ans320)) {\nswitch($step315) {\ncase 0: $step315 = 1;\n$al321 = L[123];\nR._cA(L[123],List50,self317);\nbreak;\ncase 1: $step315 = 2;\n$al321 = L[124];\nR._cA(L[124],R.Function,f318);\nbreak;\ncase 2: var ann_check_temp324 = (false);\n$step315 = 3;\n$al321 = L[122];\nvar $ann$check325 = R._cA(L[122],$type$Boolean6,ann_check_temp324);\nif(R.isContinuation($ann$check325)) {\n$ans320 = $ann$check325;\n}\nbreak;\ncase 3: $step315 = 4;\n$ans320 = ann_check_temp324;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans320;\ndefault: R.ffi.throwSpinnakerError(L[121],$step315);\n}\n}\nif($step315 !== 4) {\n$ans320.stack[R.EXN_STACKHEIGHT++] = R.mAR($al321,$temp_full316,$step315,[self317,f318],[ann_check_temp324],$elidedFrames323);\n}\nreturn $ans320;\n};\nvar anf_singleton_variant_member677 = R.makeMethod1($temp_full316,\"any\");\nvar $temp_full329 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__125($self330,$elt331) {\nvar $step328 = 0;\nvar $elidedFrames335 = 0;\nvar $ans332 = D;\nvar $al333 = L[125];\nif(R.isAR($self330)) {\n$step328 = $self330.step;\n$al333 = $self330.from;\n$ans332 = $self330.ans;\n$elidedFrames335 = $self330.elidedFrames;\nself330 = $self330.args[0];\nelt331 = $self330.args[1];\nann_check_temp336 = $self330.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],2,$t,true);\n}\nvar self330 = $self330;\nvar elt331 = $elt331;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans332 = R.mC();\n}\nwhile(!R.isContinuation($ans332)) {\nswitch($step328) {\ncase 0: $step328 = 1;\n$al333 = L[127];\nR._cA(L[127],List50,self330);\nbreak;\ncase 1: $step328 = 2;\n$al333 = L[128];\nR._cA(L[128],R.Any,elt331);\nbreak;\ncase 2: var ann_check_temp336 = (false);\n$step328 = 3;\n$al333 = L[126];\nvar $ann$check337 = R._cA(L[126],$type$Boolean6,ann_check_temp336);\nif(R.isContinuation($ann$check337)) {\n$ans332 = $ann$check337;\n}\nbreak;\ncase 3: $step328 = 4;\n$ans332 = ann_check_temp336;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans332;\ndefault: R.ffi.throwSpinnakerError(L[125],$step328);\n}\n}\nif($step328 !== 4) {\n$ans332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al333,$temp_full329,$step328,[self330,elt331],[ann_check_temp336],$elidedFrames335);\n}\nreturn $ans332;\n};\nvar anf_singleton_variant_member678 = R.makeMethod1($temp_full329,\"member\");\nvar $temp_full341 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__129($self342,$other343) {\nvar $step340 = 0;\nvar $elidedFrames347 = 0;\nvar $ans344 = D;\nvar $al345 = L[129];\nif(R.isAR($self342)) {\n$step340 = $self342.step;\n$al345 = $self342.from;\n$ans344 = $self342.ans;\n$elidedFrames347 = $self342.elidedFrames;\nself342 = $self342.args[0];\nother343 = $self342.args[1];\nann_check_temp348 = $self342.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],2,$t,true);\n}\nvar self342 = $self342;\nvar other343 = $other343;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans344 = R.mC();\n}\nwhile(!R.isContinuation($ans344)) {\nswitch($step340) {\ncase 0: $step340 = 1;\n$al345 = L[131];\nR._cA(L[131],List50,self342);\nbreak;\ncase 1: $step340 = 2;\n$al345 = L[132];\nR._cA(L[132],List50,other343);\nbreak;\ncase 2: var ann_check_temp348 = other343;\n$step340 = 3;\n$al345 = L[130];\nvar $ann$check349 = R._cA(L[130],List50,ann_check_temp348);\nif(R.isContinuation($ann$check349)) {\n$ans344 = $ann$check349;\n}\nbreak;\ncase 3: $step340 = 4;\n$ans344 = ann_check_temp348;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans344;\ndefault: R.ffi.throwSpinnakerError(L[129],$step340);\n}\n}\nif($step340 !== 4) {\n$ans344.stack[R.EXN_STACKHEIGHT++] = R.mAR($al345,$temp_full341,$step340,[self342,other343],[ann_check_temp348],$elidedFrames347);\n}\nreturn $ans344;\n};\nvar anf_singleton_variant_member679 = R.makeMethod1($temp_full341,\"append\");\nvar $temp_full352 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__133($self353) {\nvar $step351 = 0;\nvar $elidedFrames357 = 0;\nvar $ans354 = D;\nvar $al355 = L[133];\nif(R.isAR($self353)) {\n$step351 = $self353.step;\n$al355 = $self353.from;\n$ans354 = $self353.ans;\n$elidedFrames357 = $self353.elidedFrames;\nself353 = $self353.args[0];\nann_check_temp358 = $self353.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[133],1,$t,true);\n}\nvar self353 = $self353;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans354 = R.mC();\n}\nwhile(!R.isContinuation($ans354)) {\nswitch($step351) {\ncase 0: $step351 = 1;\n$al355 = L[136];\nR._cA(L[136],List50,self353);\nbreak;\ncase 1: $step351 = 2;\n$al355 = L[135];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al355,raise1);\n}\n$ans354 = raise1.app((\"last: took last of empty list\"));\nbreak;\ncase 2: var ann_check_temp358 = $ans354;\n$step351 = 3;\n$al355 = L[134];\nvar $ann$check359 = R._cA(L[134],R.Any,ann_check_temp358);\nif(R.isContinuation($ann$check359)) {\n$ans354 = $ann$check359;\n}\nbreak;\ncase 3: $step351 = 4;\n$ans354 = ann_check_temp358;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans354;\ndefault: R.ffi.throwSpinnakerError(L[133],$step351);\n}\n}\nif($step351 !== 4) {\n$ans354.stack[R.EXN_STACKHEIGHT++] = R.mAR($al355,$temp_full352,$step351,[self353],[ann_check_temp358],$elidedFrames357);\n}\nreturn $ans354;\n};\nvar anf_singleton_variant_member680 = R.makeMethod0($temp_full352,\"last\");\nvar $temp_full362 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__137($self363,$cmp364,$eq365) {\nvar $step361 = 0;\nvar $elidedFrames370 = 0;\nvar $ans367 = D;\nvar $al368 = L[137];\nif(R.isAR($self363)) {\n$step361 = $self363.step;\n$al368 = $self363.from;\n$ans367 = $self363.ans;\n$elidedFrames370 = $self363.elidedFrames;\nself363 = $self363.args[0];\ncmp364 = $self363.args[1];\neq365 = $self363.args[2];\nann_check_temp371 = $self363.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[137],3,$t,true);\n}\nvar self363 = $self363;\nvar cmp364 = $cmp364;\nvar eq365 = $eq365;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans367 = R.mC();\n}\nwhile(!R.isContinuation($ans367)) {\nswitch($step361) {\ncase 0: $step361 = 1;\n$al368 = L[139];\nR._cA(L[139],List50,self363);\nbreak;\ncase 1: $step361 = 2;\n$al368 = L[140];\nR._cA(L[140],R.Function,cmp364);\nbreak;\ncase 2: $step361 = 3;\n$al368 = L[141];\nR._cA(L[141],R.Function,eq365);\nbreak;\ncase 3: var ann_check_temp371 = self363;\n$step361 = 4;\n$al368 = L[138];\nvar $ann$check372 = R._cA(L[138],List50,ann_check_temp371);\nif(R.isContinuation($ann$check372)) {\n$ans367 = $ann$check372;\n}\nbreak;\ncase 4: $step361 = 5;\n$ans367 = ann_check_temp371;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans367;\ndefault: R.ffi.throwSpinnakerError(L[137],$step361);\n}\n}\nif($step361 !== 5) {\n$ans367.stack[R.EXN_STACKHEIGHT++] = R.mAR($al368,$temp_full362,$step361,[self363,cmp364,eq365],[ann_check_temp371],$elidedFrames370);\n}\nreturn $ans367;\n};\nvar anf_singleton_variant_member681 = R.makeMethod2($temp_full362,\"sort-by\");\nvar $temp_full375 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__142($self376) {\nvar $step374 = 0;\nvar $elidedFrames380 = 0;\nvar $ans377 = D;\nvar $al378 = L[142];\nif(R.isAR($self376)) {\n$step374 = $self376.step;\n$al378 = $self376.from;\n$ans377 = $self376.ans;\n$elidedFrames380 = $self376.elidedFrames;\nself376 = $self376.args[0];\nann_check_temp381 = $self376.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[142],1,$t,true);\n}\nvar self376 = $self376;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans377 = R.mC();\n}\nwhile(!R.isContinuation($ans377)) {\nswitch($step374) {\ncase 0: $step374 = 1;\n$al378 = L[144];\nR._cA(L[144],List50,self376);\nbreak;\ncase 1: var ann_check_temp381 = self376;\n$step374 = 2;\n$al378 = L[143];\nvar $ann$check382 = R._cA(L[143],List50,ann_check_temp381);\nif(R.isContinuation($ann$check382)) {\n$ans377 = $ann$check382;\n}\nbreak;\ncase 2: $step374 = 3;\n$ans377 = ann_check_temp381;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans377;\ndefault: R.ffi.throwSpinnakerError(L[142],$step374);\n}\n}\nif($step374 !== 3) {\n$ans377.stack[R.EXN_STACKHEIGHT++] = R.mAR($al378,$temp_full375,$step374,[self376],[ann_check_temp381],$elidedFrames380);\n}\nreturn $ans377;\n};\nvar anf_singleton_variant_member682 = R.makeMethod0($temp_full375,\"sort\");\nvar $temp_full385 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__145($self386) {\nvar $step384 = 0;\nvar $elidedFrames390 = 0;\nvar $ans387 = D;\nvar $al388 = L[145];\nif(R.isAR($self386)) {\n$step384 = $self386.step;\n$al388 = $self386.from;\n$ans387 = $self386.ans;\n$elidedFrames390 = $self386.elidedFrames;\nself386 = $self386.args[0];\nann_check_temp393 = $self386.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[145],1,$t,true);\n}\nvar self386 = $self386;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans387 = R.mC();\n}\nwhile(!R.isContinuation($ans387)) {\nswitch($step384) {\ncase 0: $step384 = 1;\n$al388 = L[150];\nR._cA(L[150],List50,self386);\nbreak;\ncase 1: $al388 = L[146];\nvar anf_method_obj391 = G(self386,\"rest\",L[146]);\n$step384 = 2;\n$ans387 = R.maybeMethodCall0(anf_method_obj391,\"length\",L[147]);\nbreak;\ncase 2: var anf_arg392 = $ans387;\n$step384 = 3;\n$al388 = L[149];\n// omitting isFunction check;\n$ans387 = _plus5.app((1),anf_arg392);\nbreak;\ncase 3: var ann_check_temp393 = $ans387;\n$step384 = 4;\n$al388 = L[148];\nvar $ann$check394 = R._cA(L[148],$type$Number3,ann_check_temp393);\nif(R.isContinuation($ann$check394)) {\n$ans387 = $ann$check394;\n}\nbreak;\ncase 4: $step384 = 5;\n$ans387 = ann_check_temp393;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans387;\ndefault: R.ffi.throwSpinnakerError(L[145],$step384);\n}\n}\nif($step384 !== 5) {\n$ans387.stack[R.EXN_STACKHEIGHT++] = R.mAR($al388,$temp_full385,$step384,[self386],[ann_check_temp393],$elidedFrames390);\n}\nreturn $ans387;\n};\nvar anf_variant_member688 = R.makeMethod0($temp_full385,\"length\");\nvar $temp_full397 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__151($self398,$f399) {\nvar $step396 = 0;\nvar $elidedFrames403 = 0;\nvar $ans400 = D;\nvar $al401 = L[151];\nif(R.isAR($self398)) {\n$step396 = $self398.step;\n$al401 = $self398.from;\n$ans400 = $self398.ans;\n$elidedFrames403 = $self398.elidedFrames;\nself398 = $self398.args[0];\nf399 = $self398.args[1];\nann_check_temp406 = $self398.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[151],2,$t,true);\n}\nvar self398 = $self398;\nvar f399 = $f399;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans400 = R.mC();\n}\nwhile(!R.isContinuation($ans400)) {\nswitch($step396) {\ncase 0: $step396 = 1;\n$al401 = L[157];\nR._cA(L[157],List50,self398);\nbreak;\ncase 1: $step396 = 2;\n$al401 = L[158];\nR._cA(L[158],R.Function,f399);\nbreak;\ncase 2: var anf_fun405 = partition404.$var === D?U(L[152],\"partition\"):partition404.$var;\n$step396 = 3;\n$al401 = L[156];\nif(typeof(anf_fun405.app) !== \"function\") {\nR.ffi.throwNonFunApp($al401,anf_fun405);\n}\n$ans400 = anf_fun405.app(f399,self398);\nbreak;\ncase 3: var ann_check_temp406 = $ans400;\n$step396 = 4;\n$al401 = L[155];\nvar $ann$check407 = R._cA(L[155],R.mRA([\"is-true\",\"is-false\"],[L[153],L[154]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp406);\nif(R.isContinuation($ann$check407)) {\n$ans400 = $ann$check407;\n}\nbreak;\ncase 4: $step396 = 5;\n$ans400 = ann_check_temp406;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans400;\ndefault: R.ffi.throwSpinnakerError(L[151],$step396);\n}\n}\nif($step396 !== 5) {\n$ans400.stack[R.EXN_STACKHEIGHT++] = R.mAR($al401,$temp_full397,$step396,[self398,f399],[ann_check_temp406],$elidedFrames403);\n}\nreturn $ans400;\n};\nvar anf_variant_member689 = R.makeMethod1($temp_full397,\"partition\");\nvar $temp_full410 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__159($self411,$f412) {\nvar $step409 = 0;\nvar $elidedFrames416 = 0;\nvar $ans413 = D;\nvar $al414 = L[159];\nif(R.isAR($self411)) {\n$step409 = $self411.step;\n$al414 = $self411.from;\n$ans413 = $self411.ans;\n$elidedFrames416 = $self411.elidedFrames;\nself411 = $self411.args[0];\nf412 = $self411.args[1];\nann_check_temp419 = $self411.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[159],2,$t,true);\n}\nvar self411 = $self411;\nvar f412 = $f412;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans413 = R.mC();\n}\nwhile(!R.isContinuation($ans413)) {\nswitch($step409) {\ncase 0: $step409 = 1;\n$al414 = L[163];\nR._cA(L[163],List50,self411);\nbreak;\ncase 1: $step409 = 2;\n$al414 = L[164];\nR._cA(L[164],R.Function,f412);\nbreak;\ncase 2: var anf_fun418 = find417.$var === D?U(L[160],\"find\"):find417.$var;\n$step409 = 3;\n$al414 = L[162];\nif(typeof(anf_fun418.app) !== \"function\") {\nR.ffi.throwNonFunApp($al414,anf_fun418);\n}\n$ans413 = anf_fun418.app(f412,self411);\nbreak;\ncase 3: var ann_check_temp419 = $ans413;\n$step409 = 4;\n$al414 = L[161];\nvar $ann$check420 = R._cA(L[161],Option17,ann_check_temp419);\nif(R.isContinuation($ann$check420)) {\n$ans413 = $ann$check420;\n}\nbreak;\ncase 4: $step409 = 5;\n$ans413 = ann_check_temp419;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans413;\ndefault: R.ffi.throwSpinnakerError(L[159],$step409);\n}\n}\nif($step409 !== 5) {\n$ans413.stack[R.EXN_STACKHEIGHT++] = R.mAR($al414,$temp_full410,$step409,[self411,f412],[ann_check_temp419],$elidedFrames416);\n}\nreturn $ans413;\n};\nvar anf_variant_member690 = R.makeMethod1($temp_full410,\"find\");\nvar $temp_full423 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__165($self424,$elt425) {\nvar $step422 = 0;\nvar $elidedFrames429 = 0;\nvar $ans426 = D;\nvar $al427 = L[165];\nif(R.isAR($self424)) {\n$step422 = $self424.step;\n$al427 = $self424.from;\n$ans426 = $self424.ans;\n$elidedFrames429 = $self424.elidedFrames;\nself424 = $self424.args[0];\nelt425 = $self424.args[1];\nann_check_temp434 = $self424.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[165],2,$t,true);\n}\nvar self424 = $self424;\nvar elt425 = $elt425;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans426 = R.mC();\n}\nwhile(!R.isContinuation($ans426)) {\nswitch($step422) {\ncase 0: $step422 = 1;\n$al427 = L[171];\nR._cA(L[171],List50,self424);\nbreak;\ncase 1: $step422 = 2;\n$al427 = L[172];\nR._cA(L[172],R.Any,elt425);\nbreak;\ncase 2: $al427 = L[166];\nvar anf_arg433 = G(self424,\"first\",L[166]);\n$step422 = 3;\n$al427 = L[170];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al427,equal$always1);\n}\n$ans426 = equal$always1.app(elt425,anf_arg433);\nbreak;\ncase 3: var anf_if438 = $ans426;\n$step422 = R.checkPyretTrue(anf_if438)?4:5;\nbreak;\ncase 4: $step422 = 7;\n$ans426 = (true);\nbreak;\ncase 5: $al427 = L[168];\nvar anf_method_obj436 = G(self424,\"rest\",L[168]);\n$step422 = 6;\n$ans426 = R.maybeMethodCall1(anf_method_obj436,\"member\",L[169],elt425);\nbreak;\ncase 6: var anf_arg437 = $ans426;\n$ans426 = R.checkWrapBoolean(anf_arg437);\n$step422 = 7;\nbreak;\ncase 7: var ann_check_temp434 = $ans426;\n$step422 = 8;\n$al427 = L[167];\nvar $ann$check435 = R._cA(L[167],$type$Boolean6,ann_check_temp434);\nif(R.isContinuation($ann$check435)) {\n$ans426 = $ann$check435;\n}\nbreak;\ncase 8: $step422 = 9;\n$ans426 = ann_check_temp434;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans426;\ndefault: R.ffi.throwSpinnakerError(L[165],$step422);\n}\n}\nif($step422 !== 9) {\n$ans426.stack[R.EXN_STACKHEIGHT++] = R.mAR($al427,$temp_full423,$step422,[self424,elt425],[ann_check_temp434],$elidedFrames429);\n}\nreturn $ans426;\n};\nvar anf_variant_member691 = R.makeMethod1($temp_full423,\"member\");\nvar $temp_full441 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__173($self442,$f443,$base444) {\nvar $step440 = 0;\nvar $elidedFrames448 = 0;\nvar $ans445 = D;\nvar $al446 = L[173];\nif(R.isAR($self442)) {\n$step440 = $self442.step;\n$al446 = $self442.from;\n$ans445 = $self442.ans;\n$elidedFrames448 = $self442.elidedFrames;\nself442 = $self442.args[0];\nf443 = $self442.args[1];\nbase444 = $self442.args[2];\nanf_arg450 = $self442.vars[0];\nann_check_temp452 = $self442.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[173],3,$t,true);\n}\nvar self442 = $self442;\nvar f443 = $f443;\nvar base444 = $base444;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans445 = R.mC();\n}\nwhile(!R.isContinuation($ans445)) {\nswitch($step440) {\ncase 0: $step440 = 1;\n$al446 = L[179];\nR._cA(L[179],List50,self442);\nbreak;\ncase 1: $step440 = 2;\n$al446 = L[180];\nR._cA(L[180],R.Function,f443);\nbreak;\ncase 2: $step440 = 3;\n$al446 = L[181];\nR._cA(L[181],R.Any,base444);\nbreak;\ncase 3: $al446 = L[174];\nvar anf_arg450 = G(self442,\"first\",L[174]);\n$al446 = L[175];\nvar anf_method_obj449 = G(self442,\"rest\",L[175]);\n$step440 = 4;\n$ans445 = R.maybeMethodCall2(anf_method_obj449,\"foldr\",L[176],f443,base444);\nbreak;\ncase 4: var anf_arg451 = $ans445;\n$step440 = 5;\n$al446 = L[178];\nif(typeof(f443.app) !== \"function\") {\nR.ffi.throwNonFunApp($al446,f443);\n}\n$ans445 = f443.app(anf_arg450,anf_arg451);\nbreak;\ncase 5: var ann_check_temp452 = $ans445;\n$step440 = 6;\n$al446 = L[177];\nvar $ann$check453 = R._cA(L[177],R.Any,ann_check_temp452);\nif(R.isContinuation($ann$check453)) {\n$ans445 = $ann$check453;\n}\nbreak;\ncase 6: $step440 = 7;\n$ans445 = ann_check_temp452;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans445;\ndefault: R.ffi.throwSpinnakerError(L[173],$step440);\n}\n}\nif($step440 !== 7) {\n$ans445.stack[R.EXN_STACKHEIGHT++] = R.mAR($al446,$temp_full441,$step440,[self442,f443,base444],[anf_arg450,ann_check_temp452],$elidedFrames448);\n}\nreturn $ans445;\n};\nvar anf_variant_member692 = R.makeMethod2($temp_full441,\"foldr\");\nvar $temp_full456 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__182($self457,$f458,$base459) {\nvar $step455 = 0;\nvar $elidedFrames463 = 0;\nvar $ans460 = D;\nvar $al461 = L[182];\nif(R.isAR($self457)) {\n$step455 = $self457.step;\n$al461 = $self457.from;\n$ans460 = $self457.ans;\n$elidedFrames463 = $self457.elidedFrames;\nself457 = $self457.args[0];\nf458 = $self457.args[1];\nbase459 = $self457.args[2];\nanf_method_obj468 = $self457.vars[0];\nann_check_temp470 = $self457.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[182],3,$t,true);\n}\nvar self457 = $self457;\nvar f458 = $f458;\nvar base459 = $base459;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans460 = R.mC();\n}\nwhile(!R.isContinuation($ans460)) {\nswitch($step455) {\ncase 0: $step455 = 1;\n$al461 = L[188];\nR._cA(L[188],List50,self457);\nbreak;\ncase 1: $step455 = 2;\n$al461 = L[189];\nR._cA(L[189],R.Function,f458);\nbreak;\ncase 2: $step455 = 3;\n$al461 = L[190];\nR._cA(L[190],R.Any,base459);\nbreak;\ncase 3: $al461 = L[183];\nvar anf_method_obj468 = G(self457,\"rest\",L[183]);\n$al461 = L[184];\nvar anf_arg467 = G(self457,\"first\",L[184]);\n$step455 = 4;\n$al461 = L[187];\nif(typeof(f458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al461,f458);\n}\n$ans460 = f458.app(anf_arg467,base459);\nbreak;\ncase 4: var anf_arg469 = $ans460;\n$step455 = 5;\n$ans460 = R.maybeMethodCall2(anf_method_obj468,\"foldl\",L[185],f458,anf_arg469);\nbreak;\ncase 5: var ann_check_temp470 = $ans460;\n$step455 = 6;\n$al461 = L[186];\nvar $ann$check471 = R._cA(L[186],R.Any,ann_check_temp470);\nif(R.isContinuation($ann$check471)) {\n$ans460 = $ann$check471;\n}\nbreak;\ncase 6: $step455 = 7;\n$ans460 = ann_check_temp470;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans460;\ndefault: R.ffi.throwSpinnakerError(L[182],$step455);\n}\n}\nif($step455 !== 7) {\n$ans460.stack[R.EXN_STACKHEIGHT++] = R.mAR($al461,$temp_full456,$step455,[self457,f458,base459],[anf_method_obj468,ann_check_temp470],$elidedFrames463);\n}\nreturn $ans460;\n};\nvar anf_variant_member693 = R.makeMethod2($temp_full456,\"foldl\");\nvar $temp_full475 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__191($self476,$f477) {\nvar $step474 = 0;\nvar $elidedFrames481 = 0;\nvar $ans478 = D;\nvar $al479 = L[191];\nif(R.isAR($self476)) {\n$step474 = $self476.step;\n$al479 = $self476.from;\n$ans478 = $self476.ans;\n$elidedFrames481 = $self476.elidedFrames;\nself476 = $self476.args[0];\nf477 = $self476.args[1];\nann_check_temp486 = $self476.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[191],2,$t,true);\n}\nvar self476 = $self476;\nvar f477 = $f477;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans478 = R.mC();\n}\nwhile(!R.isContinuation($ans478)) {\nswitch($step474) {\ncase 0: $step474 = 1;\n$al479 = L[197];\nR._cA(L[197],List50,self476);\nbreak;\ncase 1: $step474 = 2;\n$al479 = L[198];\nR._cA(L[198],R.Function,f477);\nbreak;\ncase 2: $al479 = L[192];\nvar anf_arg485 = G(self476,\"first\",L[192]);\n$step474 = 3;\n$al479 = L[196];\nif(typeof(f477.app) !== \"function\") {\nR.ffi.throwNonFunApp($al479,f477);\n}\n$ans478 = f477.app(anf_arg485);\nbreak;\ncase 3: var anf_if499 = $ans478;\n$step474 = R.checkPyretTrue(anf_if499)?4:6;\nbreak;\ncase 4: $al479 = L[194];\nvar anf_method_obj488 = G(self476,\"rest\",L[194]);\n$step474 = 5;\n$ans478 = R.maybeMethodCall1(anf_method_obj488,\"all\",L[195],f477);\nbreak;\ncase 5: var anf_arg498 = $ans478;\n$ans478 = R.checkWrapBoolean(anf_arg498);\n$step474 = 7;\nbreak;\ncase 6: $step474 = 7;\n$ans478 = (false);\nbreak;\ncase 7: var ann_check_temp486 = $ans478;\n$step474 = 8;\n$al479 = L[193];\nvar $ann$check487 = R._cA(L[193],$type$Boolean6,ann_check_temp486);\nif(R.isContinuation($ann$check487)) {\n$ans478 = $ann$check487;\n}\nbreak;\ncase 8: $step474 = 9;\n$ans478 = ann_check_temp486;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans478;\ndefault: R.ffi.throwSpinnakerError(L[191],$step474);\n}\n}\nif($step474 !== 9) {\n$ans478.stack[R.EXN_STACKHEIGHT++] = R.mAR($al479,$temp_full475,$step474,[self476,f477],[ann_check_temp486],$elidedFrames481);\n}\nreturn $ans478;\n};\nvar anf_variant_member694 = R.makeMethod1($temp_full475,\"all\");\nvar $temp_full502 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__199($self503,$f504) {\nvar $step501 = 0;\nvar $elidedFrames508 = 0;\nvar $ans505 = D;\nvar $al506 = L[199];\nif(R.isAR($self503)) {\n$step501 = $self503.step;\n$al506 = $self503.from;\n$ans505 = $self503.ans;\n$elidedFrames508 = $self503.elidedFrames;\nself503 = $self503.args[0];\nf504 = $self503.args[1];\nann_check_temp514 = $self503.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[199],2,$t,true);\n}\nvar self503 = $self503;\nvar f504 = $f504;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans505 = R.mC();\n}\nwhile(!R.isContinuation($ans505)) {\nswitch($step501) {\ncase 0: $step501 = 1;\n$al506 = L[205];\nR._cA(L[205],List50,self503);\nbreak;\ncase 1: $step501 = 2;\n$al506 = L[206];\nR._cA(L[206],R.Function,f504);\nbreak;\ncase 2: $al506 = L[200];\nvar anf_arg513 = G(self503,\"first\",L[200]);\n$step501 = 3;\n$al506 = L[204];\nif(typeof(f504.app) !== \"function\") {\nR.ffi.throwNonFunApp($al506,f504);\n}\n$ans505 = f504.app(anf_arg513);\nbreak;\ncase 3: var anf_if524 = $ans505;\n$step501 = R.checkPyretTrue(anf_if524)?4:5;\nbreak;\ncase 4: $step501 = 7;\n$ans505 = (true);\nbreak;\ncase 5: $al506 = L[202];\nvar anf_method_obj516 = G(self503,\"rest\",L[202]);\n$step501 = 6;\n$ans505 = R.maybeMethodCall1(anf_method_obj516,\"any\",L[203],f504);\nbreak;\ncase 6: var anf_arg523 = $ans505;\n$ans505 = R.checkWrapBoolean(anf_arg523);\n$step501 = 7;\nbreak;\ncase 7: var ann_check_temp514 = $ans505;\n$step501 = 8;\n$al506 = L[201];\nvar $ann$check515 = R._cA(L[201],$type$Boolean6,ann_check_temp514);\nif(R.isContinuation($ann$check515)) {\n$ans505 = $ann$check515;\n}\nbreak;\ncase 8: $step501 = 9;\n$ans505 = ann_check_temp514;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans505;\ndefault: R.ffi.throwSpinnakerError(L[199],$step501);\n}\n}\nif($step501 !== 9) {\n$ans505.stack[R.EXN_STACKHEIGHT++] = R.mAR($al506,$temp_full502,$step501,[self503,f504],[ann_check_temp514],$elidedFrames508);\n}\nreturn $ans505;\n};\nvar anf_variant_member695 = R.makeMethod1($temp_full502,\"any\");\nvar $temp_full527 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__207($self528,$other529) {\nvar $step526 = 0;\nvar $elidedFrames534 = 0;\nvar $ans531 = D;\nvar $al532 = L[207];\nif(R.isAR($self528)) {\n$step526 = $self528.step;\n$al532 = $self528.from;\n$ans531 = $self528.ans;\n$elidedFrames534 = $self528.elidedFrames;\nself528 = $self528.args[0];\nother529 = $self528.args[1];\narg_537 = $self528.vars[0];\nanf_fun536 = $self528.vars[1];\nann_check_temp539 = $self528.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[207],2,$t,true);\n}\nvar self528 = $self528;\nvar other529 = $other529;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans531 = R.mC();\n}\nwhile(!R.isContinuation($ans531)) {\nswitch($step526) {\ncase 0: $step526 = 1;\n$al532 = L[214];\nR._cA(L[214],List50,self528);\nbreak;\ncase 1: $step526 = 2;\n$al532 = L[215];\nR._cA(L[215],List50,other529);\nbreak;\ncase 2: $al532 = L[208];\nvar arg_537 = G(self528,\"first\",L[208]);\nvar anf_fun536 = link124.$var === D?U(L[209],\"link\"):link124.$var;\n$al532 = L[210];\nvar anf_method_obj535 = G(self528,\"rest\",L[210]);\n$step526 = 3;\n$ans531 = R.maybeMethodCall1(anf_method_obj535,\"append\",L[211],other529);\nbreak;\ncase 3: var anf_arg538 = $ans531;\n$step526 = 4;\n$al532 = L[213];\nif(typeof(anf_fun536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al532,anf_fun536);\n}\n$ans531 = anf_fun536.app(arg_537,anf_arg538);\nbreak;\ncase 4: var ann_check_temp539 = $ans531;\n$step526 = 5;\n$al532 = L[212];\nvar $ann$check540 = R._cA(L[212],List50,ann_check_temp539);\nif(R.isContinuation($ann$check540)) {\n$ans531 = $ann$check540;\n}\nbreak;\ncase 5: $step526 = 6;\n$ans531 = ann_check_temp539;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans531;\ndefault: R.ffi.throwSpinnakerError(L[207],$step526);\n}\n}\nif($step526 !== 6) {\n$ans531.stack[R.EXN_STACKHEIGHT++] = R.mAR($al532,$temp_full527,$step526,[self528,other529],[arg_537,anf_fun536,ann_check_temp539],$elidedFrames534);\n}\nreturn $ans531;\n};\nvar anf_variant_member696 = R.makeMethod1($temp_full527,\"append\");\nvar $temp_full543 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__216($self544) {\nvar $step542 = 0;\nvar $elidedFrames548 = 0;\nvar $ans545 = D;\nvar $al546 = L[216];\nif(R.isAR($self544)) {\n$step542 = $self544.step;\n$al546 = $self544.from;\n$ans545 = $self544.ans;\n$elidedFrames548 = $self544.elidedFrames;\nself544 = $self544.args[0];\nann_check_temp553 = $self544.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[216],1,$t,true);\n}\nvar self544 = $self544;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans545 = R.mC();\n}\nwhile(!R.isContinuation($ans545)) {\nswitch($step542) {\ncase 0: $step542 = 1;\n$al546 = L[224];\nR._cA(L[224],List50,self544);\nbreak;\ncase 1: var anf_fun550 = is$empty549.$var === D?U(L[217],\"is-empty\"):is$empty549.$var;\n$al546 = L[218];\nvar anf_arg552 = G(self544,\"rest\",L[218]);\n$step542 = 2;\n$al546 = L[223];\nif(typeof(anf_fun550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al546,anf_fun550);\n}\n$ans545 = anf_fun550.app(anf_arg552);\nbreak;\ncase 2: var anf_if556 = $ans545;\n$step542 = R.checkPyretTrue(anf_if556)?3:4;\nbreak;\ncase 3: $step542 = 5;\n$al546 = L[220];\n$ans545 = G(self544,\"first\",L[220]);\nbreak;\ncase 4: $al546 = L[221];\nvar anf_method_obj555 = G(self544,\"rest\",L[221]);\n$step542 = 5;\n$ans545 = R.maybeMethodCall0(anf_method_obj555,\"last\",L[222]);\nbreak;\ncase 5: var ann_check_temp553 = $ans545;\n$step542 = 6;\n$al546 = L[219];\nvar $ann$check554 = R._cA(L[219],R.Any,ann_check_temp553);\nif(R.isContinuation($ann$check554)) {\n$ans545 = $ann$check554;\n}\nbreak;\ncase 6: $step542 = 7;\n$ans545 = ann_check_temp553;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans545;\ndefault: R.ffi.throwSpinnakerError(L[216],$step542);\n}\n}\nif($step542 !== 7) {\n$ans545.stack[R.EXN_STACKHEIGHT++] = R.mAR($al546,$temp_full543,$step542,[self544],[ann_check_temp553],$elidedFrames548);\n}\nreturn $ans545;\n};\nvar anf_variant_member697 = R.makeMethod0($temp_full543,\"last\");\nvar $temp_full560 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__225($self561,$cmp562,$eq563) {\nvar $step559 = 0;\nvar $elidedFrames568 = 0;\nvar $ans565 = D;\nvar $al566 = L[225];\nif(R.isAR($self561)) {\n$step559 = $self561.step;\n$al566 = $self561.from;\n$ans565 = $self561.ans;\n$elidedFrames568 = $self561.elidedFrames;\nself561 = $self561.args[0];\ncmp562 = $self561.args[1];\neq563 = $self561.args[2];\nare$gt604 = $self561.vars[0];\nann_check_temp625 = $self561.vars[1];\nequal620 = $self561.vars[2];\nare$eq592 = $self561.vars[3];\nare$lt577 = $self561.vars[4];\nless622 = $self561.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[225],3,$t,true);\n}\nvar self561 = $self561;\nvar cmp562 = $cmp562;\nvar eq563 = $eq563;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans565 = R.mC();\n}\nwhile(!R.isContinuation($ans565)) {\nswitch($step559) {\ncase 0: $step559 = 1;\n$al566 = L[245];\nR._cA(L[245],List50,self561);\nbreak;\ncase 1: $step559 = 2;\n$al566 = L[246];\nR._cA(L[246],R.Function,cmp562);\nbreak;\ncase 2: $step559 = 3;\n$al566 = L[247];\nR._cA(L[247],R.Function,eq563);\nbreak;\ncase 3: $al566 = L[226];\nvar pivot576 = G(self561,\"first\",L[226]);\nvar var629 = empty266.$var === D?U(L[227],\"empty\"):empty266.$var;\nvar are$lt577 = {\"$var\":var629};\nvar var628 = empty266.$var === D?U(L[228],\"empty\"):empty266.$var;\nvar are$eq592 = {\"$var\":var628};\nvar var627 = empty266.$var === D?U(L[229],\"empty\"):empty266.$var;\nvar are$gt604 = {\"$var\":var627};\nvar $temp_lam570 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__230($e571) {\nvar $step569 = 0;\nvar $elidedFrames575 = 0;\nvar $ans572 = D;\nvar $al573 = L[230];\nif(R.isAR($e571)) {\n$step569 = $e571.step;\n$al573 = $e571.from;\n$ans572 = $e571.ans;\n$elidedFrames575 = $e571.elidedFrames;\ne571 = $e571.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[230],1,$t,false);\n}\nvar e571 = $e571;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans572 = R.mC();\n}\nwhile(!R.isContinuation($ans572)) {\nswitch($step569) {\ncase 0: $step569 = 1;\n$al573 = L[238];\nif(typeof(cmp562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,cmp562);\n}\n$ans572 = cmp562.app(e571,pivot576);\nbreak;\ncase 1: var anf_if613 = $ans572;\n$step569 = R.checkPyretTrue(anf_if613)?2:4;\nbreak;\ncase 2: var arg_579 = e571;\nvar anf_fun578 = link124.$var === D?U(L[231],\"link\"):link124.$var;\nvar anf_arg590 = are$lt577.$var;\n$step569 = 3;\n$al573 = L[232];\nif(typeof(anf_fun578.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun578);\n}\n$ans572 = anf_fun578.app(arg_579,anf_arg590);\nbreak;\ncase 3: var anf_assign591 = $ans572;\n$step569 = 10;\nare$lt577.$var = anf_assign591;\n$ans572 = R.nothing;\nbreak;\ncase 4: $step569 = 5;\n$al573 = L[237];\nif(typeof(eq563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,eq563);\n}\n$ans572 = eq563.app(e571,pivot576);\nbreak;\ncase 5: var anf_if612 = $ans572;\n$step569 = R.checkPyretTrue(anf_if612)?6:8;\nbreak;\ncase 6: var arg_594 = e571;\nvar anf_fun593 = link124.$var === D?U(L[233],\"link\"):link124.$var;\nvar anf_arg602 = are$eq592.$var;\n$step569 = 7;\n$al573 = L[234];\nif(typeof(anf_fun593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun593);\n}\n$ans572 = anf_fun593.app(arg_594,anf_arg602);\nbreak;\ncase 7: var anf_assign603 = $ans572;\n$step569 = 10;\nare$eq592.$var = anf_assign603;\n$ans572 = R.nothing;\nbreak;\ncase 8: var arg_606 = e571;\nvar anf_fun605 = link124.$var === D?U(L[235],\"link\"):link124.$var;\nvar anf_arg610 = are$gt604.$var;\n$step569 = 9;\n$al573 = L[236];\nif(typeof(anf_fun605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun605);\n}\n$ans572 = anf_fun605.app(arg_606,anf_arg610);\nbreak;\ncase 9: var anf_assign611 = $ans572;\n$step569 = 10;\nare$gt604.$var = anf_assign611;\n$ans572 = R.nothing;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans572;\ndefault: R.ffi.throwSpinnakerError(L[230],$step569);\n}\n}\nif($step569 !== 10) {\n$ans572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al573,$temp_lam570,$step569,[e571],[],$elidedFrames575);\n}\nreturn $ans572;\n};\nvar anf_arg617 = R.mF($temp_lam570,\"\");\n$step559 = 4;\n$ans565 = R.maybeMethodCall1(self561,\"each\",L[239],anf_arg617);\nbreak;\ncase 4: var anf_method_obj618 = are$lt577.$var;\n$step559 = 5;\n$ans565 = R.maybeMethodCall2(anf_method_obj618,\"sort-by\",L[240],cmp562,eq563);\nbreak;\ncase 5: var less622 = $ans565;\nvar equal620 = are$eq592.$var;\nvar anf_method_obj619 = are$gt604.$var;\n$step559 = 6;\n$ans565 = R.maybeMethodCall2(anf_method_obj619,\"sort-by\",L[241],cmp562,eq563);\nbreak;\ncase 6: var greater621 = $ans565;\n$step559 = 7;\n$ans565 = R.maybeMethodCall1(equal620,\"append\",L[242],greater621);\nbreak;\ncase 7: var anf_arg624 = $ans565;\n$step559 = 8;\n$ans565 = R.maybeMethodCall1(less622,\"append\",L[243],anf_arg624);\nbreak;\ncase 8: var ann_check_temp625 = $ans565;\n$step559 = 9;\n$al566 = L[244];\nvar $ann$check626 = R._cA(L[244],List50,ann_check_temp625);\nif(R.isContinuation($ann$check626)) {\n$ans565 = $ann$check626;\n}\nbreak;\ncase 9: $step559 = 10;\n$ans565 = ann_check_temp625;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans565;\ndefault: R.ffi.throwSpinnakerError(L[225],$step559);\n}\n}\nif($step559 !== 10) {\n$ans565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al566,$temp_full560,$step559,[self561,cmp562,eq563],[are$gt604,ann_check_temp625,equal620,are$eq592,are$lt577,less622],$elidedFrames568);\n}\nreturn $ans565;\n};\nvar anf_variant_member698 = R.makeMethod2($temp_full560,\"sort-by\");\nvar $temp_full632 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__248($self633) {\nvar $step631 = 0;\nvar $elidedFrames637 = 0;\nvar $ans634 = D;\nvar $al635 = L[248];\nif(R.isAR($self633)) {\n$step631 = $self633.step;\n$al635 = $self633.from;\n$ans634 = $self633.ans;\n$elidedFrames637 = $self633.elidedFrames;\nself633 = $self633.args[0];\nann_check_temp650 = $self633.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[248],1,$t,true);\n}\nvar self633 = $self633;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans634 = R.mC();\n}\nwhile(!R.isContinuation($ans634)) {\nswitch($step631) {\ncase 0: $step631 = 1;\n$al635 = L[253];\nR._cA(L[253],List50,self633);\nbreak;\ncase 1: var $temp_lam639 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__249($e1640,$e2641) {\nvar $step638 = 0;\nvar $elidedFrames645 = 0;\nvar $ans642 = D;\nvar $al643 = L[249];\nif(R.isAR($e1640)) {\n$step638 = $e1640.step;\n$al643 = $e1640.from;\n$ans642 = $e1640.ans;\n$elidedFrames645 = $e1640.elidedFrames;\ne1640 = $e1640.args[0];\ne2641 = $e1640.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[249],2,$t,false);\n}\nvar e1640 = $e1640;\nvar e2641 = $e2641;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans642 = R.mC();\n}\nwhile(!R.isContinuation($ans642)) {\nswitch($step638) {\ncase 0: $step638 = 1;\n$al643 = L[250];\n// omitting isFunction check;\n$ans642 = _lessthan3.app(e1640,e2641);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans642;\ndefault: R.ffi.throwSpinnakerError(L[249],$step638);\n}\n}\nif($step638 !== 1) {\n$ans642.stack[R.EXN_STACKHEIGHT++] = R.mAR($al643,$temp_lam639,$step638,[e1640,e2641],[],$elidedFrames645);\n}\nreturn $ans642;\n};\nvar anf_arg648 = R.mF($temp_lam639,\"\");\n// caller optimization;\n$ans634 = within6.app(R.makeNumberFromString(\"~0\"));\nvar anf_arg649 = $ans634;\n$step631 = 2;\n$ans634 = R.maybeMethodCall2(self633,\"sort-by\",L[251],anf_arg648,anf_arg649);\nbreak;\ncase 2: var ann_check_temp650 = $ans634;\n$step631 = 3;\n$al635 = L[252];\nvar $ann$check651 = R._cA(L[252],List50,ann_check_temp650);\nif(R.isContinuation($ann$check651)) {\n$ans634 = $ann$check651;\n}\nbreak;\ncase 3: $step631 = 4;\n$ans634 = ann_check_temp650;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans634;\ndefault: R.ffi.throwSpinnakerError(L[248],$step631);\n}\n}\nif($step631 !== 4) {\n$ans634.stack[R.EXN_STACKHEIGHT++] = R.mAR($al635,$temp_full632,$step631,[self633],[ann_check_temp650],$elidedFrames637);\n}\nreturn $ans634;\n};\nvar anf_variant_member699 = R.makeMethod0($temp_full632,\"sort\");\nvar $empty_getfields684 = function variant(f) {\nreturn f();\n};\nvar $empty_mutablemask683 = [];\nvar $empty$base668 = {\"_output\":anf_shared653,\n\"_plus\":anf_shared654,\n\"map\":anf_shared655,\n\"filter\":anf_shared656,\n\"each\":anf_shared657,\n\"reverse\":anf_shared658,\n\"push\":anf_shared659,\n\"split-at\":anf_shared660,\n\"take\":anf_shared661,\n\"drop\":anf_shared662,\n\"get\":anf_shared663,\n\"set\":anf_shared664,\n\"remove\":anf_shared665,\n\"join-str\":anf_shared666,\n\"join-str-last\":anf_shared667,\n\"length\":anf_singleton_variant_member671,\n\"find\":anf_singleton_variant_member672,\n\"partition\":anf_singleton_variant_member673,\n\"foldr\":anf_singleton_variant_member674,\n\"foldl\":anf_singleton_variant_member675,\n\"all\":anf_singleton_variant_member676,\n\"any\":anf_singleton_variant_member677,\n\"member\":anf_singleton_variant_member678,\n\"append\":anf_singleton_variant_member679,\n\"last\":anf_singleton_variant_member680,\n\"sort-by\":anf_singleton_variant_member681,\n\"sort\":anf_singleton_variant_member682,\n\"_match\":R.mM(\"empty\",0)};\nvar $empty$brander669 = R.nB(\"empty\",L[254]);\nvar $empty$brands670 = {};\n$empty$brands670[List37._brand] = true;\n$empty$brands670[$empty$brander669._brand] = true;\nvar $link_getfields701 = function singleton_variant(f) {\nreturn f(this.dict[\"first\"],this.dict[\"rest\"]);\n};\nvar $link_mutablemask700 = [false,false];\nvar $link$base685 = {\"$fieldNames\":[\"first\",\"rest\"],\n\"_output\":anf_shared653,\n\"_plus\":anf_shared654,\n\"map\":anf_shared655,\n\"filter\":anf_shared656,\n\"each\":anf_shared657,\n\"reverse\":anf_shared658,\n\"push\":anf_shared659,\n\"split-at\":anf_shared660,\n\"take\":anf_shared661,\n\"drop\":anf_shared662,\n\"get\":anf_shared663,\n\"set\":anf_shared664,\n\"remove\":anf_shared665,\n\"join-str\":anf_shared666,\n\"join-str-last\":anf_shared667,\n\"length\":anf_variant_member688,\n\"partition\":anf_variant_member689,\n\"find\":anf_variant_member690,\n\"member\":anf_variant_member691,\n\"foldr\":anf_variant_member692,\n\"foldl\":anf_variant_member693,\n\"all\":anf_variant_member694,\n\"any\":anf_variant_member695,\n\"append\":anf_variant_member696,\n\"last\":anf_variant_member697,\n\"sort-by\":anf_variant_member698,\n\"sort\":anf_variant_member699,\n\"_match\":R.mM(\"link\",2)};\nvar $link$brander686 = R.nB(\"link\",L[255]);\nvar $link$brands687 = {};\n$link$brands687[List37._brand] = true;\n$link$brands687[$link$brander686._brand] = true;\nvar link702 = R.mVC(L[255],function $synthesizedConstructor_$link$base() {\nreturn [R.Any,List50];\n},[\"first703\",\"rest704\"],[L[256],L[257]],[false,false],[\"first703\",\"rest704\"],$link_mutablemask700,$link$base685,$link$brands687,\"link\",$link_getfields701,$link$base685);\nvar anf_assign705 = R.mO({\"List\":G(List37,\"test\",L[258]),\n\"is-empty\":G($empty$brander669,\"test\",L[254]),\n\"empty\":R.mDV($empty$base668,$empty$brands670,\"empty\",$empty_getfields684,-1,$empty_mutablemask683,$empty$base668,false,L[254]),\n\"is-link\":G($link$brander686,\"test\",L[255]),\n\"link\":link702});\nList706.$var = anf_assign705;\nR.nothing;\n$al34 = L[258];\nvar anf_assign707 = G(List706.$var,\"List\",L[258]);\nis$List708.$var = anf_assign707;\nR.nothing;\n$al34 = L[254];\nvar anf_assign709 = G(List706.$var,\"is-empty\",L[254]);\nis$empty549.$var = anf_assign709;\nR.nothing;\n$al34 = L[254];\nvar anf_assign710 = G(List706.$var,\"empty\",L[254]);\nempty266.$var = anf_assign710;\nR.nothing;\n$al34 = L[255];\nvar anf_assign711 = G(List706.$var,\"is-link\",L[255]);\nis$link712.$var = anf_assign711;\nR.nothing;\n$al34 = L[255];\nvar anf_assign713 = G(List706.$var,\"link\",L[255]);\nlink124.$var = anf_assign713;\nR.nothing;\nvar $temp_lam715 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__259($lst716) {\nvar $step714 = 0;\nvar $elidedFrames720 = 0;\nvar $ans717 = D;\nvar $al718 = L[259];\nif(R.isAR($lst716)) {\n$step714 = $lst716.step;\n$al718 = $lst716.from;\n$ans717 = $lst716.ans;\n$elidedFrames720 = $lst716.elidedFrames;\nlst716 = $lst716.args[0];\nann_check_temp742 = $lst716.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[259],1,$t,false);\n}\nvar lst716 = $lst716;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans717 = R.mC();\n}\nwhile(!R.isContinuation($ans717)) {\nswitch($step714) {\ncase 0: $step714 = 1;\n$al718 = L[269];\nR._cA(L[269],List50,lst716);\nbreak;\ncase 1: var help732 = {\"$var\":D};\nvar $temp_lam722 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__260($l723,$cur724) {\nvar $step721 = 0;\nvar $elidedFrames728 = 0;\nvar $ans725 = D;\nvar $al726 = L[260];\nif(R.isAR($l723)) {\n$step721 = $l723.step;\n$al726 = $l723.from;\n$ans725 = $l723.ans;\n$elidedFrames728 = $l723.elidedFrames;\nl723 = $l723.args[0];\ncur724 = $l723.args[1];\ncases729 = $l723.vars[0];\nr733 = $l723.vars[1];\nann_check_temp730 = $l723.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[260],2,$t,false);\n}\nvar l723 = $l723;\nvar cur724 = $cur724;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans725 = R.mC();\n}\nwhile(!R.isContinuation($ans725)) {\nswitch($step721) {\ncase 0: var cases729 = l723;\n$step721 = 1;\n$al726 = L[266];\nvar $ann$check739 = R._cA(L[266],List50,cases729);\nif(R.isContinuation($ann$check739)) {\n$ans725 = $ann$check739;\n}\nbreak;\ncase 1: $al726 = L[263];\n$step721 = $cases_dispatch738[cases729.$name] || 5;\nbreak;\ncase 2: if(cases729.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[262],false,L[263],cases729.$loc);\n}\n$step721 = 6;\n$ans725 = cur724;\nbreak;\ncase 3: if(cases729.$arity !== 2) {\nif(cases729.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[265],2,cases729.$arity,L[263],cases729.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[265],true,L[263],cases729.$loc);\n}\n}\nvar $fn736 = cases729.$constructor.$fieldNames;\nR.dF(cases729.dict[$fn736[0]],cases729.$mut_fields_mask[0],false);\nvar r733 = R.dF(cases729.dict[$fn736[1]],cases729.$mut_fields_mask[1],false);\n$step721 = 4;\n$al726 = L[264];\n// omitting isFunction check;\n$ans725 = _plus5.app(cur724,(1));\nbreak;\ncase 4: var anf_arg734 = $ans725;\n$step721 = 0;\n++$elidedFrames728;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans725 = R.mC();\n}\nl723 = r733;\ncur724 = anf_arg734;\ncontinue;\ncase 5: $ans725 = R.throwNoCasesMatched(L[263],cases729);\n$step721 = 6;\nbreak;\ncase 6: var ann_check_temp730 = $ans725;\n$step721 = 7;\n$al726 = L[261];\nvar $ann$check731 = R._cA(L[261],$type$Number3,ann_check_temp730);\nif(R.isContinuation($ann$check731)) {\n$ans725 = $ann$check731;\n}\nbreak;\ncase 7: $step721 = 8;\n$ans725 = ann_check_temp730;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans725;\ndefault: R.ffi.throwSpinnakerError(L[260],$step721);\n}\n}\nif($step721 !== 8) {\n$ans725.stack[R.EXN_STACKHEIGHT++] = R.mAR($al726,$temp_lam722,$step721,[l723,cur724],[cases729,r733,ann_check_temp730],$elidedFrames728);\n}\nreturn $ans725;\n};\nvar anf_assign741 = R.mF($temp_lam722,\"help\");\nhelp732.$var = anf_assign741;\nR.nothing;\n$step714 = 2;\n$al718 = L[268];\n// omitting isFunction check;\n$ans717 = help732.$var.app(lst716,(0));\nbreak;\ncase 2: var ann_check_temp742 = $ans717;\n$step714 = 3;\n$al718 = L[267];\nvar $ann$check743 = R._cA(L[267],$type$Number3,ann_check_temp742);\nif(R.isContinuation($ann$check743)) {\n$ans717 = $ann$check743;\n}\nbreak;\ncase 3: $step714 = 4;\n$ans717 = ann_check_temp742;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans717;\ndefault: R.ffi.throwSpinnakerError(L[259],$step714);\n}\n}\nif($step714 !== 4) {\n$ans717.stack[R.EXN_STACKHEIGHT++] = R.mAR($al718,$temp_lam715,$step714,[lst716],[ann_check_temp742],$elidedFrames720);\n}\nreturn $ans717;\n};\nvar anf_assign745 = R.mF($temp_lam715,\"length\");\nlength746.$var = anf_assign745;\nR.nothing;\nvar $temp_lam748 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__270($lst1749,$lst2750) {\nvar $step747 = 0;\nvar $elidedFrames754 = 0;\nvar $ans751 = D;\nvar $al752 = L[270];\nif(R.isAR($lst1749)) {\n$step747 = $lst1749.step;\n$al752 = $lst1749.from;\n$ans751 = $lst1749.ans;\n$elidedFrames754 = $lst1749.elidedFrames;\nlst1749 = $lst1749.args[0];\nlst2750 = $lst1749.args[1];\ncases761 = $lst1749.vars[0];\ncases755 = $lst1749.vars[1];\ncases758 = $lst1749.vars[2];\nann_check_temp756 = $lst1749.vars[3];\nrest1763 = $lst1749.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[270],2,$t,false);\n}\nvar lst1749 = $lst1749;\nvar lst2750 = $lst2750;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans751 = R.mC();\n}\nwhile(!R.isContinuation($ans751)) {\nswitch($step747) {\ncase 0: $step747 = 1;\n$al752 = L[283];\nR._cA(L[283],List50,lst1749);\nbreak;\ncase 1: $step747 = 2;\n$al752 = L[284];\nR._cA(L[284],List50,lst2750);\nbreak;\ncase 2: var cases755 = lst1749;\n$step747 = 3;\n$al752 = L[282];\nvar $ann$check774 = R._cA(L[282],List50,cases755);\nif(R.isContinuation($ann$check774)) {\n$ans751 = $ann$check774;\n}\nbreak;\ncase 3: $al752 = L[276];\n$step747 = $cases_dispatch773[cases755.$name] || 13;\nbreak;\ncase 4: if(cases755.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[275],false,L[276],cases755.$loc);\n}\nvar cases758 = lst2750;\n$step747 = 5;\n$al752 = L[274];\nvar $ann$check760 = R._cA(L[274],List50,cases758);\nif(R.isContinuation($ann$check760)) {\n$ans751 = $ann$check760;\n}\nbreak;\ncase 5: $al752 = L[273];\n$step747 = $cases_dispatch759[cases758.$name] || 7;\nbreak;\ncase 6: if(cases758.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[272],false,L[273],cases758.$loc);\n}\n$step747 = 14;\n$ans751 = (true);\nbreak;\ncase 7: $step747 = 14;\n$ans751 = (false);\nbreak;\ncase 8: if(cases755.$arity !== 2) {\nif(cases755.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[281],2,cases755.$arity,L[276],cases755.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[281],true,L[276],cases755.$loc);\n}\n}\nvar $fn771 = cases755.$constructor.$fieldNames;\nR.dF(cases755.dict[$fn771[0]],cases755.$mut_fields_mask[0],false);\nvar rest1763 = R.dF(cases755.dict[$fn771[1]],cases755.$mut_fields_mask[1],false);\nvar cases761 = lst2750;\n$step747 = 9;\n$al752 = L[280];\nvar $ann$check769 = R._cA(L[280],List50,cases761);\nif(R.isContinuation($ann$check769)) {\n$ans751 = $ann$check769;\n}\nbreak;\ncase 9: $al752 = L[278];\n$step747 = $cases_dispatch768[cases761.$name] || 12;\nbreak;\ncase 10: if(cases761.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[277],false,L[278],cases761.$loc);\n}\n$step747 = 14;\n$ans751 = (false);\nbreak;\ncase 11: if(cases761.$arity !== 2) {\nif(cases761.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[279],2,cases761.$arity,L[278],cases761.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[279],true,L[278],cases761.$loc);\n}\n}\nvar $fn766 = cases761.$constructor.$fieldNames;\nR.dF(cases761.dict[$fn766[0]],cases761.$mut_fields_mask[0],false);\nvar rest2764 = R.dF(cases761.dict[$fn766[1]],cases761.$mut_fields_mask[1],false);\n$step747 = 0;\n++$elidedFrames754;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans751 = R.mC();\n}\nlst1749 = rest1763;\nlst2750 = rest2764;\ncontinue;\ncase 12: $ans751 = R.throwNoCasesMatched(L[278],cases761);\n$step747 = 14;\nbreak;\ncase 13: $ans751 = R.throwNoCasesMatched(L[276],cases755);\n$step747 = 14;\nbreak;\ncase 14: var ann_check_temp756 = $ans751;\n$step747 = 15;\n$al752 = L[271];\nvar $ann$check757 = R._cA(L[271],$type$Boolean6,ann_check_temp756);\nif(R.isContinuation($ann$check757)) {\n$ans751 = $ann$check757;\n}\nbreak;\ncase 15: $step747 = 16;\n$ans751 = ann_check_temp756;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans751;\ndefault: R.ffi.throwSpinnakerError(L[270],$step747);\n}\n}\nif($step747 !== 16) {\n$ans751.stack[R.EXN_STACKHEIGHT++] = R.mAR($al752,$temp_lam748,$step747,[lst1749,lst2750],[cases761,cases755,cases758,ann_check_temp756,rest1763],$elidedFrames754);\n}\nreturn $ans751;\n};\nvar anf_assign776 = R.mF($temp_lam748,\"same-length\");\nsame$length762.$var = anf_assign776;\nR.nothing;\nvar $temp_lam778 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__285($lst779,$len780) {\nvar $step777 = 0;\nvar $elidedFrames784 = 0;\nvar $ans781 = D;\nvar $al782 = L[285];\nif(R.isAR($lst779)) {\n$step777 = $lst779.step;\n$al782 = $lst779.from;\n$ans781 = $lst779.ans;\n$elidedFrames784 = $lst779.elidedFrames;\nlst779 = $lst779.args[0];\nlen780 = $lst779.args[1];\ncases785 = $lst779.vars[0];\nann_check_temp786 = $lst779.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[285],2,$t,false);\n}\nvar lst779 = $lst779;\nvar len780 = $len780;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans781 = R.mC();\n}\nwhile(!R.isContinuation($ans781)) {\nswitch($step777) {\ncase 0: $step777 = 1;\n$al782 = L[295];\nR._cA(L[295],List50,lst779);\nbreak;\ncase 1: $step777 = 2;\n$al782 = L[296];\nR._cA(L[296],$type$Number3,len780);\nbreak;\ncase 2: var cases785 = lst779;\n$step777 = 3;\n$al782 = L[294];\nvar $ann$check807 = R._cA(L[294],List50,cases785);\nif(R.isContinuation($ann$check807)) {\n$ans781 = $ann$check807;\n}\nbreak;\ncase 3: $al782 = L[289];\n$step777 = $cases_dispatch806[cases785.$name] || 6;\nbreak;\ncase 4: if(cases785.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[288],false,L[289],cases785.$loc);\n}\n$step777 = 7;\n$al782 = L[287];\n// omitting isFunction check;\n$ans781 = _lessthan3.app(len780,(0));\nbreak;\ncase 5: if(cases785.$arity !== 2) {\nif(cases785.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[293],2,cases785.$arity,L[289],cases785.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[293],true,L[289],cases785.$loc);\n}\n}\n$step777 = 7;\n$al782 = L[293];\nvar $temp_branch798 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__289($$underscore804,$rest789) {\nvar $step799 = 0;\nvar $elidedFrames803 = 0;\nvar $ans800 = D;\nvar $al801 = L[292];\nif(R.isAR($$underscore804)) {\n$step799 = $$underscore804.step;\n$al801 = $$underscore804.from;\n$ans800 = $$underscore804.ans;\n$elidedFrames803 = $$underscore804.elidedFrames;\n$underscore804 = $$underscore804.args[0];\nrest789 = $$underscore804.args[1];\n} else {\nvar $underscore804 = $$underscore804;\nvar rest789 = $rest789;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans800 = R.mC();\n}\nwhile(!R.isContinuation($ans800)) {\nswitch($step799) {\ncase 0: $step799 = 1;\n$al801 = L[292];\n// omitting isFunction check;\n$ans800 = _lessthan3.app(len780,(1));\nbreak;\ncase 1: var anf_if797 = $ans800;\n$step799 = R.checkPyretTrue(anf_if797)?2:3;\nbreak;\ncase 2: $step799 = 6;\n$ans800 = (true);\nbreak;\ncase 3: $step799 = 4;\n$al801 = L[291];\n// omitting isFunction check;\n$ans800 = _minus9.app(len780,(1));\nbreak;\ncase 4: var anf_arg791 = $ans800;\n$step799 = 5;\n$al801 = L[290];\n// omitting isFunction check;\n$ans800 = longer$than788.$var.app(rest789,anf_arg791);\nbreak;\ncase 5: var anf_arg796 = $ans800;\n$ans800 = R.checkWrapBoolean(anf_arg796);\n$step799 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans800;\ndefault: R.ffi.throwSpinnakerError(L[292],$step799);\n}\n}\nif($step799 !== 6) {\n$ans800.stack[R.EXN_STACKHEIGHT++] = R.mAR($al801,$temp_branch798,$step799,[$underscore804,rest789],[],$elidedFrames803);\n}\nreturn $ans800;\n};\n$ans781 = cases785.$app_fields($temp_branch798,[false,false]);\nbreak;\ncase 6: $ans781 = R.throwNoCasesMatched(L[289],cases785);\n$step777 = 7;\nbreak;\ncase 7: var ann_check_temp786 = $ans781;\n$step777 = 8;\n$al782 = L[286];\nvar $ann$check787 = R._cA(L[286],$type$Boolean6,ann_check_temp786);\nif(R.isContinuation($ann$check787)) {\n$ans781 = $ann$check787;\n}\nbreak;\ncase 8: $step777 = 9;\n$ans781 = ann_check_temp786;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans781;\ndefault: R.ffi.throwSpinnakerError(L[285],$step777);\n}\n}\nif($step777 !== 9) {\n$ans781.stack[R.EXN_STACKHEIGHT++] = R.mAR($al782,$temp_lam778,$step777,[lst779,len780],[cases785,ann_check_temp786],$elidedFrames784);\n}\nreturn $ans781;\n};\nvar anf_assign811 = R.mF($temp_lam778,\"longer-than\");\nlonger$than788.$var = anf_assign811;\nR.nothing;\nvar $temp_lam813 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__297($lst814,$len815) {\nvar $step812 = 0;\nvar $elidedFrames819 = 0;\nvar $ans816 = D;\nvar $al817 = L[297];\nif(R.isAR($lst814)) {\n$step812 = $lst814.step;\n$al817 = $lst814.from;\n$ans816 = $lst814.ans;\n$elidedFrames819 = $lst814.elidedFrames;\nlst814 = $lst814.args[0];\nlen815 = $lst814.args[1];\ncases820 = $lst814.vars[0];\nann_check_temp821 = $lst814.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[297],2,$t,false);\n}\nvar lst814 = $lst814;\nvar len815 = $len815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans816 = R.mC();\n}\nwhile(!R.isContinuation($ans816)) {\nswitch($step812) {\ncase 0: $step812 = 1;\n$al817 = L[307];\nR._cA(L[307],List50,lst814);\nbreak;\ncase 1: $step812 = 2;\n$al817 = L[308];\nR._cA(L[308],$type$Number3,len815);\nbreak;\ncase 2: var cases820 = lst814;\n$step812 = 3;\n$al817 = L[306];\nvar $ann$check837 = R._cA(L[306],List50,cases820);\nif(R.isContinuation($ann$check837)) {\n$ans816 = $ann$check837;\n}\nbreak;\ncase 3: $al817 = L[301];\n$step812 = $cases_dispatch836[cases820.$name] || 6;\nbreak;\ncase 4: if(cases820.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[300],false,L[301],cases820.$loc);\n}\n$step812 = 7;\n$al817 = L[299];\n// omitting isFunction check;\n$ans816 = _greaterthan5.app(len815,(0));\nbreak;\ncase 5: if(cases820.$arity !== 2) {\nif(cases820.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[305],2,cases820.$arity,L[301],cases820.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[305],true,L[301],cases820.$loc);\n}\n}\n$step812 = 7;\n$al817 = L[305];\nvar $temp_branch828 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__301($$underscore834,$rest824) {\nvar $step829 = 0;\nvar $elidedFrames833 = 0;\nvar $ans830 = D;\nvar $al831 = L[304];\nif(R.isAR($$underscore834)) {\n$step829 = $$underscore834.step;\n$al831 = $$underscore834.from;\n$ans830 = $$underscore834.ans;\n$elidedFrames833 = $$underscore834.elidedFrames;\n$underscore834 = $$underscore834.args[0];\nrest824 = $$underscore834.args[1];\n} else {\nvar $underscore834 = $$underscore834;\nvar rest824 = $rest824;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans830 = R.mC();\n}\nwhile(!R.isContinuation($ans830)) {\nswitch($step829) {\ncase 0: $step829 = 1;\n$al831 = L[304];\n// omitting isFunction check;\n$ans830 = _greaterthan5.app(len815,(1));\nbreak;\ncase 1: var anf_if827 = $ans830;\n$step829 = R.checkPyretTrue(anf_if827)?2:5;\nbreak;\ncase 2: $step829 = 3;\n$al831 = L[303];\n// omitting isFunction check;\n$ans830 = _minus9.app(len815,(1));\nbreak;\ncase 3: var anf_arg825 = $ans830;\n$step829 = 4;\n$al831 = L[302];\n// omitting isFunction check;\n$ans830 = shorter$than823.$var.app(rest824,anf_arg825);\nbreak;\ncase 4: var anf_arg826 = $ans830;\n$ans830 = R.checkWrapBoolean(anf_arg826);\n$step829 = 6;\nbreak;\ncase 5: $step829 = 6;\n$ans830 = (false);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans830;\ndefault: R.ffi.throwSpinnakerError(L[304],$step829);\n}\n}\nif($step829 !== 6) {\n$ans830.stack[R.EXN_STACKHEIGHT++] = R.mAR($al831,$temp_branch828,$step829,[$underscore834,rest824],[],$elidedFrames833);\n}\nreturn $ans830;\n};\n$ans816 = cases820.$app_fields($temp_branch828,[false,false]);\nbreak;\ncase 6: $ans816 = R.throwNoCasesMatched(L[301],cases820);\n$step812 = 7;\nbreak;\ncase 7: var ann_check_temp821 = $ans816;\n$step812 = 8;\n$al817 = L[298];\nvar $ann$check822 = R._cA(L[298],$type$Boolean6,ann_check_temp821);\nif(R.isContinuation($ann$check822)) {\n$ans816 = $ann$check822;\n}\nbreak;\ncase 8: $step812 = 9;\n$ans816 = ann_check_temp821;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans816;\ndefault: R.ffi.throwSpinnakerError(L[297],$step812);\n}\n}\nif($step812 !== 9) {\n$ans816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al817,$temp_lam813,$step812,[lst814,len815],[cases820,ann_check_temp821],$elidedFrames819);\n}\nreturn $ans816;\n};\nvar anf_assign840 = R.mF($temp_lam813,\"shorter-than\");\nshorter$than823.$var = anf_assign840;\nR.nothing;\nvar $temp_lam844 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__309($lst845,$n846) {\nvar $step843 = 0;\nvar $elidedFrames850 = 0;\nvar $ans847 = D;\nvar $al848 = L[309];\nif(R.isAR($lst845)) {\n$step843 = $lst845.step;\n$al848 = $lst845.from;\n$ans847 = $lst845.ans;\n$elidedFrames850 = $lst845.elidedFrames;\nlst845 = $lst845.args[0];\nn846 = $lst845.args[1];\nhelp861 = $lst845.vars[0];\nann_check_temp869 = $lst845.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[309],2,$t,false);\n}\nvar lst845 = $lst845;\nvar n846 = $n846;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans847 = R.mC();\n}\nwhile(!R.isContinuation($ans847)) {\nswitch($step843) {\ncase 0: $step843 = 1;\n$al848 = L[324];\nR._cA(L[324],List50,lst845);\nbreak;\ncase 1: $step843 = 2;\n$al848 = L[325];\nR._cA(L[325],$type$Number3,n846);\nbreak;\ncase 2: var help861 = {\"$var\":D};\nvar $temp_lam852 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__310($l853,$cur854) {\nvar $step851 = 0;\nvar $elidedFrames858 = 0;\nvar $ans855 = D;\nvar $al856 = L[310];\nif(R.isAR($l853)) {\n$step851 = $l853.step;\n$al856 = $l853.from;\n$ans855 = $l853.ans;\n$elidedFrames858 = $l853.elidedFrames;\nl853 = $l853.args[0];\ncur854 = $l853.args[1];\nanf_arg862 = $l853.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[310],2,$t,false);\n}\nvar l853 = $l853;\nvar cur854 = $cur854;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans855 = R.mC();\n}\nwhile(!R.isContinuation($ans855)) {\nswitch($step851) {\ncase 0: // caller optimization;\n$ans855 = is$empty549.$var.app(l853);\nvar anf_if866 = $ans855;\n$step851 = R.checkPyretTrue(anf_if866)?1:4;\nbreak;\ncase 1: $step851 = 2;\n$al856 = L[313];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,tostring1);\n}\n$ans855 = tostring1.app(n846);\nbreak;\ncase 2: var anf_arg859 = $ans855;\n$step851 = 3;\n$al856 = L[312];\n// omitting isFunction check;\n$ans855 = _plus5.app((\"get: n too large \"),anf_arg859);\nbreak;\ncase 3: var anf_arg860 = $ans855;\n$step851 = 9;\n$al856 = L[311];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,raise1);\n}\n$ans855 = raise1.app(anf_arg860);\nbreak;\ncase 4: $step851 = 5;\n$al856 = L[317];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,equal$always1);\n}\n$ans855 = equal$always1.app(cur854,(0));\nbreak;\ncase 5: var anf_if865 = $ans855;\n$step851 = R.checkPyretTrue(anf_if865)?6:7;\nbreak;\ncase 6: $step851 = 9;\n$al856 = L[314];\n$ans855 = G(l853,\"first\",L[314]);\nbreak;\ncase 7: $al856 = L[315];\nvar anf_arg862 = G(l853,\"rest\",L[315]);\n$step851 = 8;\n$al856 = L[316];\n// omitting isFunction check;\n$ans855 = _minus9.app(cur854,(1));\nbreak;\ncase 8: var anf_arg864 = $ans855;\n$step851 = 0;\n++$elidedFrames858;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans855 = R.mC();\n}\nl853 = anf_arg862;\ncur854 = anf_arg864;\ncontinue;\ncase 9: ++R.GAS;\nreturn $ans855;\ndefault: R.ffi.throwSpinnakerError(L[310],$step851);\n}\n}\nif($step851 !== 9) {\n$ans855.stack[R.EXN_STACKHEIGHT++] = R.mAR($al856,$temp_lam852,$step851,[l853,cur854],[anf_arg862],$elidedFrames858);\n}\nreturn $ans855;\n};\nvar anf_assign868 = R.mF($temp_lam852,\"help\");\nhelp861.$var = anf_assign868;\nR.nothing;\n$step843 = 3;\n$al848 = L[323];\n// omitting isFunction check;\n$ans847 = _lessthan3.app(n846,(0));\nbreak;\ncase 3: var anf_if878 = $ans847;\n$step843 = R.checkPyretTrue(anf_if878)?4:7;\nbreak;\ncase 4: $step843 = 5;\n$al848 = L[321];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al848,tostring1);\n}\n$ans847 = tostring1.app(n846);\nbreak;\ncase 5: var anf_arg875 = $ans847;\n$step843 = 6;\n$al848 = L[320];\n// omitting isFunction check;\n$ans847 = _plus5.app((\"get: invalid argument: \"),anf_arg875);\nbreak;\ncase 6: var anf_arg877 = $ans847;\n$step843 = 8;\n$al848 = L[319];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al848,raise1);\n}\n$ans847 = raise1.app(anf_arg877);\nbreak;\ncase 7: $step843 = 8;\n$al848 = L[322];\n// omitting isFunction check;\n$ans847 = help861.$var.app(lst845,n846);\nbreak;\ncase 8: var ann_check_temp869 = $ans847;\n$step843 = 9;\n$al848 = L[318];\nvar $ann$check870 = R._cA(L[318],R.Any,ann_check_temp869);\nif(R.isContinuation($ann$check870)) {\n$ans847 = $ann$check870;\n}\nbreak;\ncase 9: $step843 = 10;\n$ans847 = ann_check_temp869;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans847;\ndefault: R.ffi.throwSpinnakerError(L[309],$step843);\n}\n}\nif($step843 !== 10) {\n$ans847.stack[R.EXN_STACKHEIGHT++] = R.mAR($al848,$temp_lam844,$step843,[lst845,n846],[help861,ann_check_temp869],$elidedFrames850);\n}\nreturn $ans847;\n};\nvar anf_assign880 = R.mF($temp_lam844,\"get\");\nget177.$var = anf_assign880;\nR.nothing;\nvar $temp_lam882 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__326($lst883,$n884,$v885) {\nvar $step881 = 0;\nvar $elidedFrames889 = 0;\nvar $ans886 = D;\nvar $al887 = L[326];\nif(R.isAR($lst883)) {\n$step881 = $lst883.step;\n$al887 = $lst883.from;\n$ans886 = $lst883.ans;\n$elidedFrames889 = $lst883.elidedFrames;\nlst883 = $lst883.args[0];\nn884 = $lst883.args[1];\nv885 = $lst883.args[2];\nhelp902 = $lst883.vars[0];\nann_check_temp911 = $lst883.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[326],3,$t,false);\n}\nvar lst883 = $lst883;\nvar n884 = $n884;\nvar v885 = $v885;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans886 = R.mC();\n}\nwhile(!R.isContinuation($ans886)) {\nswitch($step881) {\ncase 0: $step881 = 1;\n$al887 = L[343];\nR._cA(L[343],List50,lst883);\nbreak;\ncase 1: $step881 = 2;\n$al887 = L[344];\nR._cA(L[344],$type$Number3,n884);\nbreak;\ncase 2: var help902 = {\"$var\":D};\nvar $temp_lam891 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__327($l892,$cur893) {\nvar $step890 = 0;\nvar $elidedFrames897 = 0;\nvar $ans894 = D;\nvar $al895 = L[327];\nif(R.isAR($l892)) {\n$step890 = $l892.step;\n$al895 = $l892.from;\n$ans894 = $l892.ans;\n$elidedFrames897 = $l892.elidedFrames;\nl892 = $l892.args[0];\ncur893 = $l892.args[1];\narg_905 = $l892.vars[0];\nanf_arg903 = $l892.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[327],2,$t,false);\n}\nvar l892 = $l892;\nvar cur893 = $cur893;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans894 = R.mC();\n}\nwhile(!R.isContinuation($ans894)) {\nswitch($step890) {\ncase 0: // caller optimization;\n$ans894 = is$empty549.$var.app(l892);\nvar anf_if908 = $ans894;\n$step890 = R.checkPyretTrue(anf_if908)?1:4;\nbreak;\ncase 1: $step890 = 2;\n$al895 = L[330];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,tostring1);\n}\n$ans894 = tostring1.app(n884);\nbreak;\ncase 2: var anf_arg898 = $ans894;\n$step890 = 3;\n$al895 = L[329];\n// omitting isFunction check;\n$ans894 = _plus5.app((\"set: n too large \"),anf_arg898);\nbreak;\ncase 3: var anf_arg899 = $ans894;\n$step890 = 10;\n$al895 = L[328];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,raise1);\n}\n$ans894 = raise1.app(anf_arg899);\nbreak;\ncase 4: $step890 = 5;\n$al895 = L[336];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,equal$always1);\n}\n$ans894 = equal$always1.app(cur893,(0));\nbreak;\ncase 5: var anf_if907 = $ans894;\n$step890 = R.checkPyretTrue(anf_if907)?6:7;\nbreak;\ncase 6: var arg_900 = v885;\n$al895 = L[331];\nvar anf_arg901 = G(l892,\"rest\",L[331]);\n// caller optimization;\n$ans894 = link124.$var.app(arg_900,anf_arg901);\n$step890 = 10;\nbreak;\ncase 7: $al895 = L[332];\nvar arg_905 = G(l892,\"first\",L[332]);\n$al895 = L[333];\nvar anf_arg903 = G(l892,\"rest\",L[333]);\n$step890 = 8;\n$al895 = L[335];\n// omitting isFunction check;\n$ans894 = _minus9.app(cur893,(1));\nbreak;\ncase 8: var anf_arg904 = $ans894;\n$step890 = 9;\n$al895 = L[334];\n// omitting isFunction check;\n$ans894 = help902.$var.app(anf_arg903,anf_arg904);\nbreak;\ncase 9: var anf_arg906 = $ans894;\n// caller optimization;\n$ans894 = link124.$var.app(arg_905,anf_arg906);\n$step890 = 10;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans894;\ndefault: R.ffi.throwSpinnakerError(L[327],$step890);\n}\n}\nif($step890 !== 10) {\n$ans894.stack[R.EXN_STACKHEIGHT++] = R.mAR($al895,$temp_lam891,$step890,[l892,cur893],[arg_905,anf_arg903],$elidedFrames897);\n}\nreturn $ans894;\n};\nvar anf_assign910 = R.mF($temp_lam891,\"help\");\nhelp902.$var = anf_assign910;\nR.nothing;\n$step881 = 3;\n$al887 = L[342];\n// omitting isFunction check;\n$ans886 = _lessthan3.app(n884,(0));\nbreak;\ncase 3: var anf_if916 = $ans886;\n$step881 = R.checkPyretTrue(anf_if916)?4:7;\nbreak;\ncase 4: $step881 = 5;\n$al887 = L[340];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al887,tostring1);\n}\n$ans886 = tostring1.app(n884);\nbreak;\ncase 5: var anf_arg913 = $ans886;\n$step881 = 6;\n$al887 = L[339];\n// omitting isFunction check;\n$ans886 = _plus5.app((\"set: invalid argument: \"),anf_arg913);\nbreak;\ncase 6: var anf_arg915 = $ans886;\n$step881 = 8;\n$al887 = L[338];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al887,raise1);\n}\n$ans886 = raise1.app(anf_arg915);\nbreak;\ncase 7: $step881 = 8;\n$al887 = L[341];\n// omitting isFunction check;\n$ans886 = help902.$var.app(lst883,n884);\nbreak;\ncase 8: var ann_check_temp911 = $ans886;\n$step881 = 9;\n$al887 = L[337];\nvar $ann$check912 = R._cA(L[337],R.Any,ann_check_temp911);\nif(R.isContinuation($ann$check912)) {\n$ans886 = $ann$check912;\n}\nbreak;\ncase 9: $step881 = 10;\n$ans886 = ann_check_temp911;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans886;\ndefault: R.ffi.throwSpinnakerError(L[326],$step881);\n}\n}\nif($step881 !== 10) {\n$ans886.stack[R.EXN_STACKHEIGHT++] = R.mAR($al887,$temp_lam882,$step881,[lst883,n884,v885],[help902,ann_check_temp911],$elidedFrames889);\n}\nreturn $ans886;\n};\nvar anf_assign918 = R.mF($temp_lam882,\"set\");\nset191.$var = anf_assign918;\nR.nothing;\nvar $temp_lam921 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__345($lst922) {\nvar $step920 = 0;\nvar $elidedFrames926 = 0;\nvar $ans923 = D;\nvar $al924 = L[345];\nif(R.isAR($lst922)) {\n$step920 = $lst922.step;\n$al924 = $lst922.from;\n$ans923 = $lst922.ans;\n$elidedFrames926 = $lst922.elidedFrames;\nlst922 = $lst922.args[0];\nann_check_temp944 = $lst922.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[345],1,$t,false);\n}\nvar lst922 = $lst922;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans923 = R.mC();\n}\nwhile(!R.isContinuation($ans923)) {\nswitch($step920) {\ncase 0: $step920 = 1;\n$al924 = L[350];\nR._cA(L[350],List50,lst922);\nbreak;\ncase 1: var anf_fun937 = fold927.$var === D?U(L[346],\"fold\"):fold927.$var;\nvar $temp_lam929 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__347($acc930,$elt931) {\nvar $step928 = 0;\nvar $elidedFrames935 = 0;\nvar $ans932 = D;\nvar $al933 = L[347];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[347],2,$t,false);\n}\nvar acc930 = $acc930;\nvar elt931 = $elt931;\n// callee optimization;\nwhile(!R.isContinuation($ans932)) {\nswitch($step928) {\ncase 0: // caller optimization;\n$ans932 = link124.$var.app(elt931,acc930);\n$step928 = 1;\nbreak;\ncase 1: return $ans932;\ndefault: R.ffi.throwSpinnakerError(L[347],$step928);\n}\n}\nreturn $ans932;\n};\nvar anf_arg943 = R.mF($temp_lam929,\"\");\n$step920 = 2;\n$al924 = L[349];\nif(typeof(anf_fun937.app) !== \"function\") {\nR.ffi.throwNonFunApp($al924,anf_fun937);\n}\n$ans923 = anf_fun937.app(anf_arg943,empty266.$var,lst922);\nbreak;\ncase 2: var ann_check_temp944 = $ans923;\n$step920 = 3;\n$al924 = L[348];\nvar $ann$check945 = R._cA(L[348],List50,ann_check_temp944);\nif(R.isContinuation($ann$check945)) {\n$ans923 = $ann$check945;\n}\nbreak;\ncase 3: $step920 = 4;\n$ans923 = ann_check_temp944;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans923;\ndefault: R.ffi.throwSpinnakerError(L[345],$step920);\n}\n}\nif($step920 !== 4) {\n$ans923.stack[R.EXN_STACKHEIGHT++] = R.mAR($al924,$temp_lam921,$step920,[lst922],[ann_check_temp944],$elidedFrames926);\n}\nreturn $ans923;\n};\nvar anf_assign947 = R.mF($temp_lam921,\"reverse\");\nreverse111.$var = anf_assign947;\nR.nothing;\nvar $temp_lam949 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__351($l950,$elt951) {\nvar $step948 = 0;\nvar $elidedFrames955 = 0;\nvar $ans952 = D;\nvar $al953 = L[351];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[351],2,$t,false);\n}\nvar l950 = $l950;\nvar elt951 = $elt951;\n// callee optimization;\nwhile(!R.isContinuation($ans952)) {\nswitch($step948) {\ncase 0: $step948 = 1;\n$al953 = L[353];\nR._cA(L[353],List50,l950);\nbreak;\ncase 1: $step948 = 2;\n$al953 = L[354];\nR._cA(L[354],R.Any,elt951);\nbreak;\ncase 2: // caller optimization;\n$ans952 = link124.$var.app(elt951,l950);\nvar ann_check_temp956 = $ans952;\n$step948 = 3;\n$al953 = L[352];\nvar $ann$check957 = R._cA(L[352],List50,ann_check_temp956);\nif(R.isContinuation($ann$check957)) {\n$ans952 = $ann$check957;\n}\nbreak;\ncase 3: $step948 = 4;\n$ans952 = ann_check_temp956;\nbreak;\ncase 4: return $ans952;\ndefault: R.ffi.throwSpinnakerError(L[351],$step948);\n}\n}\nreturn $ans952;\n};\nvar anf_assign960 = R.mF($temp_lam949,\"push\");\npush961.$var = anf_assign960;\nR.nothing;\nvar $temp_lam964 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__355($lst965) {\nvar $step963 = 0;\nvar $elidedFrames969 = 0;\nvar $ans966 = D;\nvar $al967 = L[355];\nif(R.isAR($lst965)) {\n$step963 = $lst965.step;\n$al967 = $lst965.from;\n$ans966 = $lst965.ans;\n$elidedFrames969 = $lst965.elidedFrames;\nlst965 = $lst965.args[0];\nhelper982 = $lst965.vars[0];\nann_check_temp987 = $lst965.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[355],1,$t,false);\n}\nvar lst965 = $lst965;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans966 = R.mC();\n}\nwhile(!R.isContinuation($ans966)) {\nswitch($step963) {\ncase 0: $step963 = 1;\n$al967 = L[365];\nR._cA(L[365],List50,lst965);\nbreak;\ncase 1: var helper982 = {\"$var\":D};\nvar $temp_lam971 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__356($l972) {\nvar $step970 = 0;\nvar $elidedFrames976 = 0;\nvar $ans973 = D;\nvar $al974 = L[356];\nif(R.isAR($l972)) {\n$step970 = $l972.step;\n$al974 = $l972.from;\n$ans973 = $l972.ans;\n$elidedFrames976 = $l972.elidedFrames;\nl972 = $l972.args[0];\nann_check_temp980 = $l972.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[356],1,$t,false);\n}\nvar l972 = $l972;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans973 = R.mC();\n}\nwhile(!R.isContinuation($ans973)) {\nswitch($step970) {\ncase 0: $step970 = 1;\n$al974 = L[361];\nR._cA(L[361],List50,l972);\nbreak;\ncase 1: $al974 = L[357];\nvar anf_arg979 = G(l972,\"rest\",L[357]);\n// caller optimization;\n$ans973 = is$empty549.$var.app(anf_arg979);\nvar anf_if984 = $ans973;\n$step970 = R.checkPyretTrue(anf_if984)?2:3;\nbreak;\ncase 2: $step970 = 4;\n$al974 = L[359];\n$ans973 = G(l972,\"first\",L[359]);\nbreak;\ncase 3: $al974 = L[360];\nvar anf_arg983 = G(l972,\"rest\",L[360]);\n$step970 = 0;\n++$elidedFrames976;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans973 = R.mC();\n}\nl972 = anf_arg983;\ncontinue;\ncase 4: var ann_check_temp980 = $ans973;\n$step970 = 5;\n$al974 = L[358];\nvar $ann$check981 = R._cA(L[358],R.Any,ann_check_temp980);\nif(R.isContinuation($ann$check981)) {\n$ans973 = $ann$check981;\n}\nbreak;\ncase 5: $step970 = 6;\n$ans973 = ann_check_temp980;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans973;\ndefault: R.ffi.throwSpinnakerError(L[356],$step970);\n}\n}\nif($step970 !== 6) {\n$ans973.stack[R.EXN_STACKHEIGHT++] = R.mAR($al974,$temp_lam971,$step970,[l972],[ann_check_temp980],$elidedFrames976);\n}\nreturn $ans973;\n};\nvar anf_assign986 = R.mF($temp_lam971,\"helper\");\nhelper982.$var = anf_assign986;\nR.nothing;\n// caller optimization;\n$ans966 = is$empty549.$var.app(lst965);\nvar anf_if989 = $ans966;\n$step963 = R.checkPyretTrue(anf_if989)?2:3;\nbreak;\ncase 2: $step963 = 4;\n$al967 = L[363];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al967,raise1);\n}\n$ans966 = raise1.app((\"last: took last of empty list\"));\nbreak;\ncase 3: $step963 = 4;\n$al967 = L[364];\n// omitting isFunction check;\n$ans966 = helper982.$var.app(lst965);\nbreak;\ncase 4: var ann_check_temp987 = $ans966;\n$step963 = 5;\n$al967 = L[362];\nvar $ann$check988 = R._cA(L[362],R.Any,ann_check_temp987);\nif(R.isContinuation($ann$check988)) {\n$ans966 = $ann$check988;\n}\nbreak;\ncase 5: $step963 = 6;\n$ans966 = ann_check_temp987;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans966;\ndefault: R.ffi.throwSpinnakerError(L[355],$step963);\n}\n}\nif($step963 !== 6) {\n$ans966.stack[R.EXN_STACKHEIGHT++] = R.mAR($al967,$temp_lam964,$step963,[lst965],[helper982,ann_check_temp987],$elidedFrames969);\n}\nreturn $ans966;\n};\nvar anf_assign991 = R.mF($temp_lam964,\"last\");\nlast992.$var = anf_assign991;\nR.nothing;\nvar $temp_lam994 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__366($lst995,$cmp996,$eq997) {\nvar $step993 = 0;\nvar $elidedFrames1001 = 0;\nvar $ans998 = D;\nvar $al999 = L[366];\nif(R.isAR($lst995)) {\n$step993 = $lst995.step;\n$al999 = $lst995.from;\n$ans998 = $lst995.ans;\n$elidedFrames1001 = $lst995.elidedFrames;\nlst995 = $lst995.args[0];\ncmp996 = $lst995.args[1];\neq997 = $lst995.args[2];\nann_check_temp1002 = $lst995.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[366],3,$t,false);\n}\nvar lst995 = $lst995;\nvar cmp996 = $cmp996;\nvar eq997 = $eq997;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans998 = R.mC();\n}\nwhile(!R.isContinuation($ans998)) {\nswitch($step993) {\ncase 0: $step993 = 1;\n$al999 = L[369];\nR._cA(L[369],List50,lst995);\nbreak;\ncase 1: $step993 = 2;\n$al999 = L[370];\nR._cA(L[370],R.Function,cmp996);\nbreak;\ncase 2: $step993 = 3;\n$al999 = L[371];\nR._cA(L[371],R.Function,eq997);\nbreak;\ncase 3: $step993 = 4;\n$ans998 = R.maybeMethodCall2(lst995,\"sort-by\",L[367],cmp996,eq997);\nbreak;\ncase 4: var ann_check_temp1002 = $ans998;\n$step993 = 5;\n$al999 = L[368];\nvar $ann$check1003 = R._cA(L[368],List50,ann_check_temp1002);\nif(R.isContinuation($ann$check1003)) {\n$ans998 = $ann$check1003;\n}\nbreak;\ncase 5: $step993 = 6;\n$ans998 = ann_check_temp1002;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans998;\ndefault: R.ffi.throwSpinnakerError(L[366],$step993);\n}\n}\nif($step993 !== 6) {\n$ans998.stack[R.EXN_STACKHEIGHT++] = R.mAR($al999,$temp_lam994,$step993,[lst995,cmp996,eq997],[ann_check_temp1002],$elidedFrames1001);\n}\nreturn $ans998;\n};\nvar anf_assign1005 = R.mF($temp_lam994,\"sort-by\");\nsort$by1006.$var = anf_assign1005;\nR.nothing;\nvar $temp_lam1008 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__372($lst1009) {\nvar $step1007 = 0;\nvar $elidedFrames1013 = 0;\nvar $ans1010 = D;\nvar $al1011 = L[372];\nif(R.isAR($lst1009)) {\n$step1007 = $lst1009.step;\n$al1011 = $lst1009.from;\n$ans1010 = $lst1009.ans;\n$elidedFrames1013 = $lst1009.elidedFrames;\nlst1009 = $lst1009.args[0];\nann_check_temp1014 = $lst1009.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[372],1,$t,false);\n}\nvar lst1009 = $lst1009;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1010 = R.mC();\n}\nwhile(!R.isContinuation($ans1010)) {\nswitch($step1007) {\ncase 0: $step1007 = 1;\n$al1011 = L[375];\nR._cA(L[375],List50,lst1009);\nbreak;\ncase 1: $step1007 = 2;\n$ans1010 = R.maybeMethodCall0(lst1009,\"sort\",L[373]);\nbreak;\ncase 2: var ann_check_temp1014 = $ans1010;\n$step1007 = 3;\n$al1011 = L[374];\nvar $ann$check1015 = R._cA(L[374],List50,ann_check_temp1014);\nif(R.isContinuation($ann$check1015)) {\n$ans1010 = $ann$check1015;\n}\nbreak;\ncase 3: $step1007 = 4;\n$ans1010 = ann_check_temp1014;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1010;\ndefault: R.ffi.throwSpinnakerError(L[372],$step1007);\n}\n}\nif($step1007 !== 4) {\n$ans1010.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1011,$temp_lam1008,$step1007,[lst1009],[ann_check_temp1014],$elidedFrames1013);\n}\nreturn $ans1010;\n};\nvar anf_assign1017 = R.mF($temp_lam1008,\"sort\");\nsort1018.$var = anf_assign1017;\nR.nothing;\nvar $temp_lam1020 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__376($start1021,$stop1022) {\nvar $step1019 = 0;\nvar $elidedFrames1026 = 0;\nvar $ans1023 = D;\nvar $al1024 = L[376];\nif(R.isAR($start1021)) {\n$step1019 = $start1021.step;\n$al1024 = $start1021.from;\n$ans1023 = $start1021.ans;\n$elidedFrames1026 = $start1021.elidedFrames;\nstart1021 = $start1021.args[0];\nstop1022 = $start1021.args[1];\nanf_arg1031 = $start1021.vars[0];\nanf_arg1043 = $start1021.vars[1];\nann_check_temp1027 = $start1021.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[376],2,$t,false);\n}\nvar start1021 = $start1021;\nvar stop1022 = $stop1022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1023 = R.mC();\n}\nwhile(!R.isContinuation($ans1023)) {\nswitch($step1019) {\ncase 0: $step1019 = 1;\n$al1024 = L[389];\nR._cA(L[389],$type$Number3,start1021);\nbreak;\ncase 1: $step1019 = 2;\n$al1024 = L[390];\nR._cA(L[390],$type$Number3,stop1022);\nbreak;\ncase 2: $step1019 = 3;\n$al1024 = L[388];\n// omitting isFunction check;\n$ans1023 = _greaterthan5.app(start1021,stop1022);\nbreak;\ncase 3: var anf_if1053 = $ans1023;\n$step1019 = R.checkPyretTrue(anf_if1053)?4:11;\nbreak;\ncase 4: $step1019 = 5;\n$al1024 = L[384];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,tostring1);\n}\n$ans1023 = tostring1.app(start1021);\nbreak;\ncase 5: var anf_arg1029 = $ans1023;\n$step1019 = 6;\n$al1024 = L[383];\n// omitting isFunction check;\n$ans1023 = _plus5.app((\"range: start greater than stop: (\"),anf_arg1029);\nbreak;\ncase 6: var anf_arg1030 = $ans1023;\n$step1019 = 7;\n$al1024 = L[382];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1030,(\", \"));\nbreak;\ncase 7: var anf_arg1031 = $ans1023;\n$step1019 = 8;\n$al1024 = L[381];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,tostring1);\n}\n$ans1023 = tostring1.app(stop1022);\nbreak;\ncase 8: var anf_arg1032 = $ans1023;\n$step1019 = 9;\n$al1024 = L[380];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1031,anf_arg1032);\nbreak;\ncase 9: var anf_arg1033 = $ans1023;\n$step1019 = 10;\n$al1024 = L[379];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1033,(\")\"));\nbreak;\ncase 10: var anf_arg1034 = $ans1023;\n$step1019 = 14;\n$al1024 = L[378];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,raise1);\n}\n$ans1023 = raise1.app(anf_arg1034);\nbreak;\ncase 11: var $temp_lam1036 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__385($arg_1037) {\nvar $step1035 = 0;\nvar $elidedFrames1041 = 0;\nvar $ans1038 = D;\nvar $al1039 = L[385];\nif(R.isAR($arg_1037)) {\n$step1035 = $arg_1037.step;\n$al1039 = $arg_1037.from;\n$ans1038 = $arg_1037.ans;\n$elidedFrames1041 = $arg_1037.elidedFrames;\narg_1037 = $arg_1037.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[385],1,$t,false);\n}\nvar arg_1037 = $arg_1037;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1038 = R.mC();\n}\nwhile(!R.isContinuation($ans1038)) {\nswitch($step1035) {\ncase 0: $step1035 = 1;\n$al1039 = L[385];\n// omitting isFunction check;\n$ans1038 = _plus5.app(arg_1037,start1021);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1038;\ndefault: R.ffi.throwSpinnakerError(L[385],$step1035);\n}\n}\nif($step1035 !== 1) {\n$ans1038.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1039,$temp_lam1036,$step1035,[arg_1037],[],$elidedFrames1041);\n}\nreturn $ans1038;\n};\nvar anf_arg1043 = R.mF($temp_lam1036,\"\");\n$step1019 = 12;\n$al1024 = L[387];\n// omitting isFunction check;\n$ans1023 = _minus9.app(stop1022,start1021);\nbreak;\ncase 12: var anf_arg1046 = $ans1023;\n$step1019 = 13;\n$al1024 = L[386];\nif(typeof(raw$array$build10.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,raw$array$build10);\n}\n$ans1023 = raw$array$build10.app(anf_arg1043,anf_arg1046);\nbreak;\ncase 13: var anf_arg1052 = $ans1023;\n// caller optimization;\n$ans1023 = raw$array$to$list4.app(anf_arg1052);\n$step1019 = 14;\nbreak;\ncase 14: var ann_check_temp1027 = $ans1023;\n$step1019 = 15;\n$al1024 = L[377];\nvar $ann$check1028 = R._cA(L[377],List50,ann_check_temp1027);\nif(R.isContinuation($ann$check1028)) {\n$ans1023 = $ann$check1028;\n}\nbreak;\ncase 15: $step1019 = 16;\n$ans1023 = ann_check_temp1027;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1023;\ndefault: R.ffi.throwSpinnakerError(L[376],$step1019);\n}\n}\nif($step1019 !== 16) {\n$ans1023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1024,$temp_lam1020,$step1019,[start1021,stop1022],[anf_arg1031,anf_arg1043,ann_check_temp1027],$elidedFrames1026);\n}\nreturn $ans1023;\n};\nvar anf_assign1055 = R.mF($temp_lam1020,\"range\");\nrange1056.$var = anf_assign1055;\nR.nothing;\nvar $temp_lam1058 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__391($start1059,$stop1060,$delta1061) {\nvar $step1057 = 0;\nvar $elidedFrames1065 = 0;\nvar $ans1062 = D;\nvar $al1063 = L[391];\nif(R.isAR($start1059)) {\n$step1057 = $start1059.step;\n$al1063 = $start1059.from;\n$ans1062 = $start1059.ans;\n$elidedFrames1065 = $start1059.elidedFrames;\nstart1059 = $start1059.args[0];\nstop1060 = $start1059.args[1];\ndelta1061 = $start1059.args[2];\nann_check_temp1066 = $start1059.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[391],3,$t,false);\n}\nvar start1059 = $start1059;\nvar stop1060 = $stop1060;\nvar delta1061 = $delta1061;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1062 = R.mC();\n}\nwhile(!R.isContinuation($ans1062)) {\nswitch($step1057) {\ncase 0: $step1057 = 1;\n$al1063 = L[402];\nR._cA(L[402],$type$Number3,start1059);\nbreak;\ncase 1: $step1057 = 2;\n$al1063 = L[403];\nR._cA(L[403],$type$Number3,stop1060);\nbreak;\ncase 2: $step1057 = 3;\n$al1063 = L[404];\nR._cA(L[404],$type$Number3,delta1061);\nbreak;\ncase 3: $step1057 = 4;\n$al1063 = L[401];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,equal$always1);\n}\n$ans1062 = equal$always1.app(delta1061,(0));\nbreak;\ncase 4: var anf_if1097 = $ans1062;\n$step1057 = R.checkPyretTrue(anf_if1097)?5:9;\nbreak;\ncase 5: $step1057 = 6;\n$al1063 = L[394];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,equal$always1);\n}\n$ans1062 = equal$always1.app(start1059,stop1060);\nbreak;\ncase 6: var anf_if1068 = $ans1062;\n$step1057 = R.checkPyretTrue(anf_if1068)?7:8;\nbreak;\ncase 7: $step1057 = 13;\n$ans1062 = empty266.$var;\nbreak;\ncase 8: $step1057 = 13;\n$al1063 = L[393];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,raise1);\n}\n$ans1062 = raise1.app((\"range-by: an interval of 0 would produce an infinite list\"));\nbreak;\ncase 9: $step1057 = 10;\n$al1063 = L[400];\n// omitting isFunction check;\n$ans1062 = _minus9.app(stop1060,start1059);\nbreak;\ncase 10: var anf_arg1072 = $ans1062;\n$step1057 = 11;\n$al1063 = L[399];\n// omitting isFunction check;\n$ans1062 = _divide13.app(anf_arg1072,delta1061);\nbreak;\ncase 11: var anf_arg1079 = $ans1062;\n// caller optimization;\n$ans1062 = num$ceiling11.app(anf_arg1079);\nvar anf_arg1084 = $ans1062;\n// caller optimization;\n$ans1062 = num$max15.app(anf_arg1084,(0));\nvar len1095 = $ans1062;\nvar $temp_lam1086 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__395($i1087) {\nvar $step1085 = 0;\nvar $elidedFrames1091 = 0;\nvar $ans1088 = D;\nvar $al1089 = L[395];\nif(R.isAR($i1087)) {\n$step1085 = $i1087.step;\n$al1089 = $i1087.from;\n$ans1088 = $i1087.ans;\n$elidedFrames1091 = $i1087.elidedFrames;\ni1087 = $i1087.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[395],1,$t,false);\n}\nvar i1087 = $i1087;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1088 = R.mC();\n}\nwhile(!R.isContinuation($ans1088)) {\nswitch($step1085) {\ncase 0: $step1085 = 1;\n$al1089 = L[397];\n// omitting isFunction check;\n$ans1088 = _times4.app(i1087,delta1061);\nbreak;\ncase 1: var anf_arg1092 = $ans1088;\n$step1085 = 2;\n$al1089 = L[396];\n// omitting isFunction check;\n$ans1088 = _plus5.app(start1059,anf_arg1092);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1088;\ndefault: R.ffi.throwSpinnakerError(L[395],$step1085);\n}\n}\nif($step1085 !== 2) {\n$ans1088.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1089,$temp_lam1086,$step1085,[i1087],[],$elidedFrames1091);\n}\nreturn $ans1088;\n};\nvar anf_arg1094 = R.mF($temp_lam1086,\"\");\n$step1057 = 12;\n$al1063 = L[398];\nif(typeof(raw$array$build10.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,raw$array$build10);\n}\n$ans1062 = raw$array$build10.app(anf_arg1094,len1095);\nbreak;\ncase 12: var anf_arg1096 = $ans1062;\n// caller optimization;\n$ans1062 = raw$array$to$list4.app(anf_arg1096);\n$step1057 = 13;\nbreak;\ncase 13: var ann_check_temp1066 = $ans1062;\n$step1057 = 14;\n$al1063 = L[392];\nvar $ann$check1067 = R._cA(L[392],List50,ann_check_temp1066);\nif(R.isContinuation($ann$check1067)) {\n$ans1062 = $ann$check1067;\n}\nbreak;\ncase 14: $step1057 = 15;\n$ans1062 = ann_check_temp1066;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1062;\ndefault: R.ffi.throwSpinnakerError(L[391],$step1057);\n}\n}\nif($step1057 !== 15) {\n$ans1062.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1063,$temp_lam1058,$step1057,[start1059,stop1060,delta1061],[ann_check_temp1066],$elidedFrames1065);\n}\nreturn $ans1062;\n};\nvar anf_assign1099 = R.mF($temp_lam1058,\"range-by\");\nrange$by1100.$var = anf_assign1099;\nR.nothing;\nvar $temp_lam1102 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__405($n1103,$e1104) {\nvar $step1101 = 0;\nvar $elidedFrames1108 = 0;\nvar $ans1105 = D;\nvar $al1106 = L[405];\nif(R.isAR($n1103)) {\n$step1101 = $n1103.step;\n$al1106 = $n1103.from;\n$ans1105 = $n1103.ans;\n$elidedFrames1108 = $n1103.elidedFrames;\nn1103 = $n1103.args[0];\ne1104 = $n1103.args[1];\nann_check_temp1109 = $n1103.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[405],2,$t,false);\n}\nvar n1103 = $n1103;\nvar e1104 = $e1104;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1105 = R.mC();\n}\nwhile(!R.isContinuation($ans1105)) {\nswitch($step1101) {\ncase 0: $step1101 = 1;\n$al1106 = L[409];\nR._cA(L[409],$type$Number3,n1103);\nbreak;\ncase 1: $step1101 = 2;\n$al1106 = L[410];\nR._cA(L[410],R.Any,e1104);\nbreak;\ncase 2: $step1101 = 3;\n$al1106 = L[408];\n// omitting isFunction check;\n$ans1105 = _lessthan3.app(n1103,(0));\nbreak;\ncase 3: var anf_if1112 = $ans1105;\n$step1101 = R.checkPyretTrue(anf_if1112)?4:5;\nbreak;\ncase 4: $step1101 = 6;\n$al1106 = L[407];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1106,raise1);\n}\n$ans1105 = raise1.app((\"repeat: can't have a negative argument'\"));\nbreak;\ncase 5: // caller optimization;\n$ans1105 = raw$array$of8.app(e1104,n1103);\nvar anf_arg1111 = $ans1105;\n// caller optimization;\n$ans1105 = raw$array$to$list4.app(anf_arg1111);\n$step1101 = 6;\nbreak;\ncase 6: var ann_check_temp1109 = $ans1105;\n$step1101 = 7;\n$al1106 = L[406];\nvar $ann$check1110 = R._cA(L[406],List50,ann_check_temp1109);\nif(R.isContinuation($ann$check1110)) {\n$ans1105 = $ann$check1110;\n}\nbreak;\ncase 7: $step1101 = 8;\n$ans1105 = ann_check_temp1109;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1105;\ndefault: R.ffi.throwSpinnakerError(L[405],$step1101);\n}\n}\nif($step1101 !== 8) {\n$ans1105.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1106,$temp_lam1102,$step1101,[n1103,e1104],[ann_check_temp1109],$elidedFrames1108);\n}\nreturn $ans1105;\n};\nvar anf_assign1114 = R.mF($temp_lam1102,\"repeat\");\nrepeat1115.$var = anf_assign1114;\nR.nothing;\nvar $temp_lam1117 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__411($f1118,$lst1119) {\nvar $step1116 = 0;\nvar $elidedFrames1123 = 0;\nvar $ans1120 = D;\nvar $al1121 = L[411];\nif(R.isAR($f1118)) {\n$step1116 = $f1118.step;\n$al1121 = $f1118.from;\n$ans1120 = $f1118.ans;\n$elidedFrames1123 = $f1118.elidedFrames;\nf1118 = $f1118.args[0];\nlst1119 = $f1118.args[1];\nann_check_temp1124 = $f1118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[411],2,$t,false);\n}\nvar f1118 = $f1118;\nvar lst1119 = $lst1119;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1120 = R.mC();\n}\nwhile(!R.isContinuation($ans1120)) {\nswitch($step1116) {\ncase 0: $step1116 = 1;\n$al1121 = L[414];\nR._cA(L[414],R.Function,f1118);\nbreak;\ncase 1: $step1116 = 2;\n$al1121 = L[415];\nR._cA(L[415],List50,lst1119);\nbreak;\ncase 2: $step1116 = 3;\n$ans1120 = R.maybeMethodCall2(builtins1,\"raw-list-filter\",L[412],f1118,lst1119);\nbreak;\ncase 3: var ann_check_temp1124 = $ans1120;\n$step1116 = 4;\n$al1121 = L[413];\nvar $ann$check1125 = R._cA(L[413],List50,ann_check_temp1124);\nif(R.isContinuation($ann$check1125)) {\n$ans1120 = $ann$check1125;\n}\nbreak;\ncase 4: $step1116 = 5;\n$ans1120 = ann_check_temp1124;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1120;\ndefault: R.ffi.throwSpinnakerError(L[411],$step1116);\n}\n}\nif($step1116 !== 5) {\n$ans1120.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1121,$temp_lam1117,$step1116,[f1118,lst1119],[ann_check_temp1124],$elidedFrames1123);\n}\nreturn $ans1120;\n};\nvar anf_assign1127 = R.mF($temp_lam1117,\"filter\");\nfilter85.$var = anf_assign1127;\nR.nothing;\nvar $temp_lam1129 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__416($front1130,$back1131) {\nvar $step1128 = 0;\nvar $elidedFrames1135 = 0;\nvar $ans1132 = D;\nvar $al1133 = L[416];\nif(R.isAR($front1130)) {\n$step1128 = $front1130.step;\n$al1133 = $front1130.from;\n$ans1132 = $front1130.ans;\n$elidedFrames1135 = $front1130.elidedFrames;\nfront1130 = $front1130.args[0];\nback1131 = $front1130.args[1];\ncases1136 = $front1130.vars[0];\nf1141 = $front1130.vars[1];\nann_check_temp1137 = $front1130.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[416],2,$t,false);\n}\nvar front1130 = $front1130;\nvar back1131 = $back1131;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1132 = R.mC();\n}\nwhile(!R.isContinuation($ans1132)) {\nswitch($step1128) {\ncase 0: $step1128 = 1;\n$al1133 = L[423];\nR._cA(L[423],List50,front1130);\nbreak;\ncase 1: $step1128 = 2;\n$al1133 = L[424];\nR._cA(L[424],List50,back1131);\nbreak;\ncase 2: var cases1136 = front1130;\n$step1128 = 3;\n$al1133 = L[422];\nvar $ann$check1146 = R._cA(L[422],List50,cases1136);\nif(R.isContinuation($ann$check1146)) {\n$ans1132 = $ann$check1146;\n}\nbreak;\ncase 3: $al1133 = L[419];\n$step1128 = $cases_dispatch1145[cases1136.$name] || 7;\nbreak;\ncase 4: if(cases1136.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[418],false,L[419],cases1136.$loc);\n}\n$step1128 = 8;\n$ans1132 = back1131;\nbreak;\ncase 5: if(cases1136.$arity !== 2) {\nif(cases1136.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[421],2,cases1136.$arity,L[419],cases1136.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[421],true,L[419],cases1136.$loc);\n}\n}\nvar $fn1144 = cases1136.$constructor.$fieldNames;\nvar f1141 = R.dF(cases1136.dict[$fn1144[0]],cases1136.$mut_fields_mask[0],false);\nvar r1140 = R.dF(cases1136.dict[$fn1144[1]],cases1136.$mut_fields_mask[1],false);\n$step1128 = 6;\n$al1133 = L[420];\n// omitting isFunction check;\n$ans1132 = append1139.$var.app(r1140,back1131);\nbreak;\ncase 6: var anf_arg1142 = $ans1132;\n// caller optimization;\n$ans1132 = link124.$var.app(f1141,anf_arg1142);\n$step1128 = 8;\nbreak;\ncase 7: $ans1132 = R.throwNoCasesMatched(L[419],cases1136);\n$step1128 = 8;\nbreak;\ncase 8: var ann_check_temp1137 = $ans1132;\n$step1128 = 9;\n$al1133 = L[417];\nvar $ann$check1138 = R._cA(L[417],List50,ann_check_temp1137);\nif(R.isContinuation($ann$check1138)) {\n$ans1132 = $ann$check1138;\n}\nbreak;\ncase 9: $step1128 = 10;\n$ans1132 = ann_check_temp1137;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1132;\ndefault: R.ffi.throwSpinnakerError(L[416],$step1128);\n}\n}\nif($step1128 !== 10) {\n$ans1132.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1133,$temp_lam1129,$step1128,[front1130,back1131],[cases1136,f1141,ann_check_temp1137],$elidedFrames1135);\n}\nreturn $ans1132;\n};\nvar anf_assign1148 = R.mF($temp_lam1129,\"append\");\nappend1139.$var = anf_assign1148;\nR.nothing;\nvar $temp_lam1151 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__425($f1152,$lst1153) {\nvar $step1150 = 0;\nvar $elidedFrames1157 = 0;\nvar $ans1154 = D;\nvar $al1155 = L[425];\nif(R.isAR($f1152)) {\n$step1150 = $f1152.step;\n$al1155 = $f1152.from;\n$ans1154 = $f1152.ans;\n$elidedFrames1157 = $f1152.elidedFrames;\nf1152 = $f1152.args[0];\nlst1153 = $f1152.args[1];\nann_check_temp1184 = $f1152.vars[0];\nis$false1174 = $f1152.vars[1];\nis$true1170 = $f1152.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[425],2,$t,false);\n}\nvar f1152 = $f1152;\nvar lst1153 = $lst1153;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1154 = R.mC();\n}\nwhile(!R.isContinuation($ans1154)) {\nswitch($step1150) {\ncase 0: $step1150 = 1;\n$al1155 = L[437];\nR._cA(L[437],R.Function,f1152);\nbreak;\ncase 1: $step1150 = 2;\n$al1155 = L[438];\nR._cA(L[438],List50,lst1153);\nbreak;\ncase 2: var is$true1170 = {\"$var\":empty266.$var};\nvar is$false1174 = {\"$var\":empty266.$var};\nvar help1165 = {\"$var\":D};\nvar $temp_lam1159 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__426($inner$lst1160) {\nvar $step1158 = 0;\nvar $elidedFrames1164 = 0;\nvar $ans1161 = D;\nvar $al1162 = L[426];\nif(R.isAR($inner$lst1160)) {\n$step1158 = $inner$lst1160.step;\n$al1162 = $inner$lst1160.from;\n$ans1161 = $inner$lst1160.ans;\n$elidedFrames1164 = $inner$lst1160.elidedFrames;\ninner$lst1160 = $inner$lst1160.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[426],1,$t,false);\n}\nvar inner$lst1160 = $inner$lst1160;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1161 = R.mC();\n}\nwhile(!R.isContinuation($ans1161)) {\nswitch($step1158) {\ncase 0: // caller optimization;\n$ans1161 = is$empty549.$var.app(inner$lst1160);\nvar anf_if1179 = $ans1161;\n$step1158 = R.checkPyretTrue(anf_if1179)?1:2;\nbreak;\ncase 1: $step1158 = 7;\n$ans1161 = nothing2;\nbreak;\ncase 2: $al1162 = L[427];\nvar anf_arg1168 = G(inner$lst1160,\"rest\",L[427]);\n$step1158 = 3;\n$al1162 = L[432];\n// omitting isFunction check;\n$ans1161 = help1165.$var.app(anf_arg1168);\nbreak;\ncase 3: $al1162 = L[428];\nvar anf_arg1169 = G(inner$lst1160,\"first\",L[428]);\n$step1158 = 4;\n$al1162 = L[431];\nif(typeof(f1152.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1162,f1152);\n}\n$ans1161 = f1152.app(anf_arg1169);\nbreak;\ncase 4: var anf_if1178 = $ans1161;\n$step1158 = R.checkPyretTrue(anf_if1178)?5:6;\nbreak;\ncase 5: $al1162 = L[429];\nvar arg_1171 = G(inner$lst1160,\"first\",L[429]);\nvar anf_arg1172 = is$true1170.$var;\n// caller optimization;\n$ans1161 = link124.$var.app(arg_1171,anf_arg1172);\nvar anf_assign1173 = $ans1161;\n$step1158 = 7;\nis$true1170.$var = anf_assign1173;\n$ans1161 = R.nothing;\nbreak;\ncase 6: $al1162 = L[430];\nvar arg_1175 = G(inner$lst1160,\"first\",L[430]);\nvar anf_arg1176 = is$false1174.$var;\n// caller optimization;\n$ans1161 = link124.$var.app(arg_1175,anf_arg1176);\nvar anf_assign1177 = $ans1161;\n$step1158 = 7;\nis$false1174.$var = anf_assign1177;\n$ans1161 = R.nothing;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1161;\ndefault: R.ffi.throwSpinnakerError(L[426],$step1158);\n}\n}\nif($step1158 !== 7) {\n$ans1161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1162,$temp_lam1159,$step1158,[inner$lst1160],[],$elidedFrames1164);\n}\nreturn $ans1161;\n};\nvar anf_assign1181 = R.mF($temp_lam1159,\"help\");\nhelp1165.$var = anf_assign1181;\nR.nothing;\n$step1150 = 3;\n$al1155 = L[436];\n// omitting isFunction check;\n$ans1154 = help1165.$var.app(lst1153);\nbreak;\ncase 3: var anf_obj1182 = is$true1170.$var;\nvar anf_obj1183 = is$false1174.$var;\nvar ann_check_temp1184 = R.mO({\"is-true\":anf_obj1182,\n\"is-false\":anf_obj1183});\n$step1150 = 4;\n$al1155 = L[435];\nvar $ann$check1185 = R._cA(L[435],R.mRA([\"is-true\",\"is-false\"],[L[433],L[434]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp1184);\nif(R.isContinuation($ann$check1185)) {\n$ans1154 = $ann$check1185;\n}\nbreak;\ncase 4: $step1150 = 5;\n$ans1154 = ann_check_temp1184;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1154;\ndefault: R.ffi.throwSpinnakerError(L[425],$step1150);\n}\n}\nif($step1150 !== 5) {\n$ans1154.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1155,$temp_lam1151,$step1150,[f1152,lst1153],[ann_check_temp1184,is$false1174,is$true1170],$elidedFrames1157);\n}\nreturn $ans1154;\n};\nvar anf_assign1187 = R.mF($temp_lam1151,\"partition\");\npartition404.$var = anf_assign1187;\nR.nothing;\nvar $temp_lam1189 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__439($lst1190,$elt1191) {\nvar $step1188 = 0;\nvar $elidedFrames1195 = 0;\nvar $ans1192 = D;\nvar $al1193 = L[439];\nif(R.isAR($lst1190)) {\n$step1188 = $lst1190.step;\n$al1193 = $lst1190.from;\n$ans1192 = $lst1190.ans;\n$elidedFrames1195 = $lst1190.elidedFrames;\nlst1190 = $lst1190.args[0];\nelt1191 = $lst1190.args[1];\nann_check_temp1196 = $lst1190.vars[0];\nanf_arg1207 = $lst1190.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[439],2,$t,false);\n}\nvar lst1190 = $lst1190;\nvar elt1191 = $elt1191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1192 = R.mC();\n}\nwhile(!R.isContinuation($ans1192)) {\nswitch($step1188) {\ncase 0: $step1188 = 1;\n$al1193 = L[447];\nR._cA(L[447],List50,lst1190);\nbreak;\ncase 1: $step1188 = 2;\n$al1193 = L[448];\nR._cA(L[448],R.Any,elt1191);\nbreak;\ncase 2: // caller optimization;\n$ans1192 = is$empty549.$var.app(lst1190);\nvar anf_if1210 = $ans1192;\n$step1188 = R.checkPyretTrue(anf_if1210)?3:4;\nbreak;\ncase 3: $step1188 = 9;\n$ans1192 = empty266.$var;\nbreak;\ncase 4: $al1193 = L[441];\nvar anf_arg1198 = G(lst1190,\"first\",L[441]);\n$step1188 = 5;\n$al1193 = L[446];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1193,equal$always1);\n}\n$ans1192 = equal$always1.app(elt1191,anf_arg1198);\nbreak;\ncase 5: var anf_if1209 = $ans1192;\n$step1188 = R.checkPyretTrue(anf_if1209)?6:7;\nbreak;\ncase 6: $al1193 = L[442];\nvar anf_arg1202 = G(lst1190,\"rest\",L[442]);\n$step1188 = 0;\n++$elidedFrames1195;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1192 = R.mC();\n}\nlst1190 = anf_arg1202;\nelt1191 = elt1191;\ncontinue;\ncase 7: $al1193 = L[443];\nvar anf_arg1207 = G(lst1190,\"first\",L[443]);\n$al1193 = L[444];\nvar anf_arg1206 = G(lst1190,\"rest\",L[444]);\n$step1188 = 8;\n$al1193 = L[445];\n// omitting isFunction check;\n$ans1192 = remove205.$var.app(anf_arg1206,elt1191);\nbreak;\ncase 8: var anf_arg1208 = $ans1192;\n// caller optimization;\n$ans1192 = link124.$var.app(anf_arg1207,anf_arg1208);\n$step1188 = 9;\nbreak;\ncase 9: var ann_check_temp1196 = $ans1192;\n$step1188 = 10;\n$al1193 = L[440];\nvar $ann$check1197 = R._cA(L[440],List50,ann_check_temp1196);\nif(R.isContinuation($ann$check1197)) {\n$ans1192 = $ann$check1197;\n}\nbreak;\ncase 10: $step1188 = 11;\n$ans1192 = ann_check_temp1196;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1192;\ndefault: R.ffi.throwSpinnakerError(L[439],$step1188);\n}\n}\nif($step1188 !== 11) {\n$ans1192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1193,$temp_lam1189,$step1188,[lst1190,elt1191],[ann_check_temp1196,anf_arg1207],$elidedFrames1195);\n}\nreturn $ans1192;\n};\nvar anf_assign1212 = R.mF($temp_lam1189,\"remove\");\nremove205.$var = anf_assign1212;\nR.nothing;\nvar $temp_lam1214 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__449($f1215,$lst1216) {\nvar $step1213 = 0;\nvar $elidedFrames1220 = 0;\nvar $ans1217 = D;\nvar $al1218 = L[449];\nif(R.isAR($f1215)) {\n$step1213 = $f1215.step;\n$al1218 = $f1215.from;\n$ans1217 = $f1215.ans;\n$elidedFrames1220 = $f1215.elidedFrames;\nf1215 = $f1215.args[0];\nlst1216 = $f1215.args[1];\nann_check_temp1221 = $f1215.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[449],2,$t,false);\n}\nvar f1215 = $f1215;\nvar lst1216 = $lst1216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1217 = R.mC();\n}\nwhile(!R.isContinuation($ans1217)) {\nswitch($step1213) {\ncase 0: $step1213 = 1;\n$al1218 = L[455];\nR._cA(L[455],R.Function,f1215);\nbreak;\ncase 1: $step1213 = 2;\n$al1218 = L[456];\nR._cA(L[456],List50,lst1216);\nbreak;\ncase 2: // caller optimization;\n$ans1217 = is$empty549.$var.app(lst1216);\nvar anf_if1227 = $ans1217;\n$step1213 = R.checkPyretTrue(anf_if1227)?3:4;\nbreak;\ncase 3: $step1213 = 8;\n$ans1217 = none19;\nbreak;\ncase 4: $al1218 = L[451];\nvar anf_arg1223 = G(lst1216,\"first\",L[451]);\n$step1213 = 5;\n$al1218 = L[454];\nif(typeof(f1215.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1218,f1215);\n}\n$ans1217 = f1215.app(anf_arg1223);\nbreak;\ncase 5: var anf_if1226 = $ans1217;\n$step1213 = R.checkPyretTrue(anf_if1226)?6:7;\nbreak;\ncase 6: $al1218 = L[452];\nvar anf_arg1224 = G(lst1216,\"first\",L[452]);\n// caller optimization;\n$ans1217 = some20.app(anf_arg1224);\n$step1213 = 8;\nbreak;\ncase 7: $al1218 = L[453];\nvar anf_arg1225 = G(lst1216,\"rest\",L[453]);\n$step1213 = 0;\n++$elidedFrames1220;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1217 = R.mC();\n}\nf1215 = f1215;\nlst1216 = anf_arg1225;\ncontinue;\ncase 8: var ann_check_temp1221 = $ans1217;\n$step1213 = 9;\n$al1218 = L[450];\nvar $ann$check1222 = R._cA(L[450],Option17,ann_check_temp1221);\nif(R.isContinuation($ann$check1222)) {\n$ans1217 = $ann$check1222;\n}\nbreak;\ncase 9: $step1213 = 10;\n$ans1217 = ann_check_temp1221;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1217;\ndefault: R.ffi.throwSpinnakerError(L[449],$step1213);\n}\n}\nif($step1213 !== 10) {\n$ans1217.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1218,$temp_lam1214,$step1213,[f1215,lst1216],[ann_check_temp1221],$elidedFrames1220);\n}\nreturn $ans1217;\n};\nvar anf_assign1229 = R.mF($temp_lam1214,\"find\");\nfind417.$var = anf_assign1229;\nR.nothing;\nvar $temp_lam1231 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__457($n1232,$lst1233) {\nvar $step1230 = 0;\nvar $elidedFrames1237 = 0;\nvar $ans1234 = D;\nvar $al1235 = L[457];\nif(R.isAR($n1232)) {\n$step1230 = $n1232.step;\n$al1235 = $n1232.from;\n$ans1234 = $n1232.ans;\n$elidedFrames1237 = $n1232.elidedFrames;\nn1232 = $n1232.args[0];\nlst1233 = $n1232.args[1];\nsuffix1246 = $n1232.vars[0];\nann_check_temp1267 = $n1232.vars[1];\nprefix1254 = $n1232.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],2,$t,false);\n}\nvar n1232 = $n1232;\nvar lst1233 = $lst1233;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1234 = R.mC();\n}\nwhile(!R.isContinuation($ans1234)) {\nswitch($step1230) {\ncase 0: $step1230 = 1;\n$al1235 = L[474];\nR._cA(L[474],$type$Number3,n1232);\nbreak;\ncase 1: $step1230 = 2;\n$al1235 = L[475];\nR._cA(L[475],List50,lst1233);\nbreak;\ncase 2: $step1230 = 3;\n$al1235 = L[473];\n// omitting isFunction check;\n$ans1234 = _lessthan3.app(n1232,(0));\nbreak;\ncase 3: var anf_if1272 = $ans1234;\n$step1230 = R.checkPyretTrue(anf_if1272)?4:5;\nbreak;\ncase 4: $step1230 = 7;\n$ans1234 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans1234 = num$is$integer2.app(n1232);\nvar anf_arg1270 = $ans1234;\n$step1230 = 6;\n$al1235 = L[472];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1235,not5);\n}\n$ans1234 = not5.app(anf_arg1270);\nbreak;\ncase 6: var anf_arg1271 = $ans1234;\n$ans1234 = R.checkWrapBoolean(anf_arg1271);\n$step1230 = 7;\nbreak;\ncase 7: var anf_if1269 = $ans1234;\n$step1230 = R.checkPyretTrue(anf_if1269)?8:10;\nbreak;\ncase 8: $step1230 = 9;\n$al1235 = L[471];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1235,raise1);\n}\n$ans1234 = raise1.app((\"Invalid index\"));\nbreak;\ncase 9: $step1230 = 11;\n$ans1234 = nothing2;\nbreak;\ncase 10: $step1230 = 11;\n$ans1234 = nothing2;\nbreak;\ncase 11: var prefix1254 = {\"$var\":empty266.$var};\nvar suffix1246 = {\"$var\":empty266.$var};\nvar help1248 = {\"$var\":D};\nvar $temp_lam1239 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__458($ind1240,$l1241) {\nvar $step1238 = 0;\nvar $elidedFrames1245 = 0;\nvar $ans1242 = D;\nvar $al1243 = L[458];\nif(R.isAR($ind1240)) {\n$step1238 = $ind1240.step;\n$al1243 = $ind1240.from;\n$ans1242 = $ind1240.ans;\n$elidedFrames1245 = $ind1240.elidedFrames;\nind1240 = $ind1240.args[0];\nl1241 = $ind1240.args[1];\nrst1252 = $ind1240.vars[0];\nfst1253 = $ind1240.vars[1];\ncases1247 = $ind1240.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[458],2,$t,false);\n}\nvar ind1240 = $ind1240;\nvar l1241 = $l1241;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1242 = R.mC();\n}\nwhile(!R.isContinuation($ans1242)) {\nswitch($step1238) {\ncase 0: $step1238 = 1;\n$al1243 = L[466];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1243,equal$always1);\n}\n$ans1242 = equal$always1.app(ind1240,(0));\nbreak;\ncase 1: var anf_if1262 = $ans1242;\n$step1238 = R.checkPyretTrue(anf_if1262)?2:3;\nbreak;\ncase 2: $step1238 = 10;\nsuffix1246.$var = l1241;\n$ans1242 = R.nothing;\nbreak;\ncase 3: var cases1247 = l1241;\n$step1238 = 4;\n$al1243 = L[465];\nvar $ann$check1261 = R._cA(L[465],List50,cases1247);\nif(R.isContinuation($ann$check1261)) {\n$ans1242 = $ann$check1261;\n}\nbreak;\ncase 4: $al1243 = L[461];\n$step1238 = $cases_dispatch1260[cases1247.$name] || 9;\nbreak;\ncase 5: if(cases1247.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[460],false,L[461],cases1247.$loc);\n}\n$step1238 = 10;\n$al1243 = L[459];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1243,raise1);\n}\n$ans1242 = raise1.app((\"Index too large\"));\nbreak;\ncase 6: if(cases1247.$arity !== 2) {\nif(cases1247.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[464],2,cases1247.$arity,L[461],cases1247.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[464],true,L[461],cases1247.$loc);\n}\n}\nvar $fn1259 = cases1247.$constructor.$fieldNames;\nvar fst1253 = R.dF(cases1247.dict[$fn1259[0]],cases1247.$mut_fields_mask[0],false);\nvar rst1252 = R.dF(cases1247.dict[$fn1259[1]],cases1247.$mut_fields_mask[1],false);\n$step1238 = 7;\n$al1243 = L[463];\n// omitting isFunction check;\n$ans1242 = _minus9.app(ind1240,(1));\nbreak;\ncase 7: var anf_arg1251 = $ans1242;\n$step1238 = 8;\n$al1243 = L[462];\n// omitting isFunction check;\n$ans1242 = help1248.$var.app(anf_arg1251,rst1252);\nbreak;\ncase 8: var arg_1255 = fst1253;\nvar anf_arg1256 = prefix1254.$var;\n// caller optimization;\n$ans1242 = link124.$var.app(arg_1255,anf_arg1256);\nvar anf_assign1257 = $ans1242;\n$step1238 = 10;\nprefix1254.$var = anf_assign1257;\n$ans1242 = R.nothing;\nbreak;\ncase 9: $ans1242 = R.throwNoCasesMatched(L[461],cases1247);\n$step1238 = 10;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1242;\ndefault: R.ffi.throwSpinnakerError(L[458],$step1238);\n}\n}\nif($step1238 !== 10) {\n$ans1242.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1243,$temp_lam1239,$step1238,[ind1240,l1241],[rst1252,fst1253,cases1247],$elidedFrames1245);\n}\nreturn $ans1242;\n};\nvar anf_assign1264 = R.mF($temp_lam1239,\"help\");\nhelp1248.$var = anf_assign1264;\nR.nothing;\n$step1230 = 12;\n$al1235 = L[470];\n// omitting isFunction check;\n$ans1234 = help1248.$var.app(n1232,lst1233);\nbreak;\ncase 12: var anf_obj1265 = prefix1254.$var;\nvar anf_obj1266 = suffix1246.$var;\nvar ann_check_temp1267 = R.mO({\"prefix\":anf_obj1265,\n\"suffix\":anf_obj1266});\n$step1230 = 13;\n$al1235 = L[469];\nvar $ann$check1268 = R._cA(L[469],R.mRA([\"prefix\",\"suffix\"],[L[467],L[468]],{\"prefix\":List50,\n\"suffix\":List50}),ann_check_temp1267);\nif(R.isContinuation($ann$check1268)) {\n$ans1234 = $ann$check1268;\n}\nbreak;\ncase 13: $step1230 = 14;\n$ans1234 = ann_check_temp1267;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1234;\ndefault: R.ffi.throwSpinnakerError(L[457],$step1230);\n}\n}\nif($step1230 !== 14) {\n$ans1234.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1235,$temp_lam1231,$step1230,[n1232,lst1233],[suffix1246,ann_check_temp1267,prefix1254],$elidedFrames1237);\n}\nreturn $ans1234;\n};\nvar anf_assign1274 = R.mF($temp_lam1231,\"split-at\");\nsplit$at137.$var = anf_assign1274;\nR.nothing;\nvar $temp_lam1276 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__476($n1277,$lst1278) {\nvar $step1275 = 0;\nvar $elidedFrames1282 = 0;\nvar $ans1279 = D;\nvar $al1280 = L[476];\nif(R.isAR($n1277)) {\n$step1275 = $n1277.step;\n$al1280 = $n1277.from;\n$ans1279 = $n1277.ans;\n$elidedFrames1282 = $n1277.elidedFrames;\nn1277 = $n1277.args[0];\nlst1278 = $n1277.args[1];\nann_check_temp1284 = $n1277.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[476],2,$t,false);\n}\nvar n1277 = $n1277;\nvar lst1278 = $lst1278;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1279 = R.mC();\n}\nwhile(!R.isContinuation($ans1279)) {\nswitch($step1275) {\ncase 0: $step1275 = 1;\n$al1280 = L[480];\nR._cA(L[480],$type$Number3,n1277);\nbreak;\ncase 1: $step1275 = 2;\n$al1280 = L[481];\nR._cA(L[481],List50,lst1278);\nbreak;\ncase 2: $step1275 = 3;\n$al1280 = L[479];\n// omitting isFunction check;\n$ans1279 = split$at137.$var.app(n1277,lst1278);\nbreak;\ncase 3: var anf_bracket1283 = $ans1279;\n$al1280 = L[477];\nvar ann_check_temp1284 = G(anf_bracket1283,\"prefix\",L[477]);\n$step1275 = 4;\n$al1280 = L[478];\nvar $ann$check1285 = R._cA(L[478],List50,ann_check_temp1284);\nif(R.isContinuation($ann$check1285)) {\n$ans1279 = $ann$check1285;\n}\nbreak;\ncase 4: $step1275 = 5;\n$ans1279 = ann_check_temp1284;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1279;\ndefault: R.ffi.throwSpinnakerError(L[476],$step1275);\n}\n}\nif($step1275 !== 5) {\n$ans1279.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1280,$temp_lam1276,$step1275,[n1277,lst1278],[ann_check_temp1284],$elidedFrames1282);\n}\nreturn $ans1279;\n};\nvar anf_assign1287 = R.mF($temp_lam1276,\"take\");\ntake1288.$var = anf_assign1287;\nR.nothing;\nvar $temp_lam1290 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__482($n1291,$lst1292) {\nvar $step1289 = 0;\nvar $elidedFrames1296 = 0;\nvar $ans1293 = D;\nvar $al1294 = L[482];\nif(R.isAR($n1291)) {\n$step1289 = $n1291.step;\n$al1294 = $n1291.from;\n$ans1293 = $n1291.ans;\n$elidedFrames1296 = $n1291.elidedFrames;\nn1291 = $n1291.args[0];\nlst1292 = $n1291.args[1];\nann_check_temp1298 = $n1291.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[482],2,$t,false);\n}\nvar n1291 = $n1291;\nvar lst1292 = $lst1292;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1293 = R.mC();\n}\nwhile(!R.isContinuation($ans1293)) {\nswitch($step1289) {\ncase 0: $step1289 = 1;\n$al1294 = L[486];\nR._cA(L[486],$type$Number3,n1291);\nbreak;\ncase 1: $step1289 = 2;\n$al1294 = L[487];\nR._cA(L[487],List50,lst1292);\nbreak;\ncase 2: $step1289 = 3;\n$al1294 = L[485];\n// omitting isFunction check;\n$ans1293 = split$at137.$var.app(n1291,lst1292);\nbreak;\ncase 3: var anf_bracket1297 = $ans1293;\n$al1294 = L[483];\nvar ann_check_temp1298 = G(anf_bracket1297,\"suffix\",L[483]);\n$step1289 = 4;\n$al1294 = L[484];\nvar $ann$check1299 = R._cA(L[484],List50,ann_check_temp1298);\nif(R.isContinuation($ann$check1299)) {\n$ans1293 = $ann$check1299;\n}\nbreak;\ncase 4: $step1289 = 5;\n$ans1293 = ann_check_temp1298;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1293;\ndefault: R.ffi.throwSpinnakerError(L[482],$step1289);\n}\n}\nif($step1289 !== 5) {\n$ans1293.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1294,$temp_lam1290,$step1289,[n1291,lst1292],[ann_check_temp1298],$elidedFrames1296);\n}\nreturn $ans1293;\n};\nvar anf_assign1301 = R.mF($temp_lam1290,\"drop\");\ndrop1302.$var = anf_assign1301;\nR.nothing;\nvar $temp_lam1304 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__488($f1305,$lst1306) {\nvar $step1303 = 0;\nvar $elidedFrames1310 = 0;\nvar $ans1307 = D;\nvar $al1308 = L[488];\nif(R.isAR($f1305)) {\n$step1303 = $f1305.step;\n$al1308 = $f1305.from;\n$ans1307 = $f1305.ans;\n$elidedFrames1310 = $f1305.elidedFrames;\nf1305 = $f1305.args[0];\nlst1306 = $f1305.args[1];\nann_check_temp1311 = $f1305.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[488],2,$t,false);\n}\nvar f1305 = $f1305;\nvar lst1306 = $lst1306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1307 = R.mC();\n}\nwhile(!R.isContinuation($ans1307)) {\nswitch($step1303) {\ncase 0: $step1303 = 1;\n$al1308 = L[494];\nR._cA(L[494],R.Function,f1305);\nbreak;\ncase 1: $step1303 = 2;\n$al1308 = L[495];\nR._cA(L[495],List50,lst1306);\nbreak;\ncase 2: // caller optimization;\n$ans1307 = is$empty549.$var.app(lst1306);\nvar anf_if1321 = $ans1307;\n$step1303 = R.checkPyretTrue(anf_if1321)?3:4;\nbreak;\ncase 3: $step1303 = 9;\n$ans1307 = (false);\nbreak;\ncase 4: $al1308 = L[490];\nvar anf_arg1313 = G(lst1306,\"first\",L[490]);\n$step1303 = 5;\n$al1308 = L[493];\nif(typeof(f1305.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1308,f1305);\n}\n$ans1307 = f1305.app(anf_arg1313);\nbreak;\ncase 5: var anf_if1320 = $ans1307;\n$step1303 = R.checkPyretTrue(anf_if1320)?6:7;\nbreak;\ncase 6: $step1303 = 9;\n$ans1307 = (true);\nbreak;\ncase 7: $al1308 = L[491];\nvar anf_arg1316 = G(lst1306,\"rest\",L[491]);\n$step1303 = 8;\n$al1308 = L[492];\n// omitting isFunction check;\n$ans1307 = any1314.$var.app(f1305,anf_arg1316);\nbreak;\ncase 8: var anf_arg1319 = $ans1307;\n$ans1307 = R.checkWrapBoolean(anf_arg1319);\n$step1303 = 9;\nbreak;\ncase 9: var ann_check_temp1311 = $ans1307;\n$step1303 = 10;\n$al1308 = L[489];\nvar $ann$check1312 = R._cA(L[489],$type$Boolean6,ann_check_temp1311);\nif(R.isContinuation($ann$check1312)) {\n$ans1307 = $ann$check1312;\n}\nbreak;\ncase 10: $step1303 = 11;\n$ans1307 = ann_check_temp1311;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1307;\ndefault: R.ffi.throwSpinnakerError(L[488],$step1303);\n}\n}\nif($step1303 !== 11) {\n$ans1307.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1308,$temp_lam1304,$step1303,[f1305,lst1306],[ann_check_temp1311],$elidedFrames1310);\n}\nreturn $ans1307;\n};\nvar anf_assign1323 = R.mF($temp_lam1304,\"any\");\nany1314.$var = anf_assign1323;\nR.nothing;\nvar $temp_lam1325 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__496($f1326,$lst1327) {\nvar $step1324 = 0;\nvar $elidedFrames1331 = 0;\nvar $ans1328 = D;\nvar $al1329 = L[496];\nif(R.isAR($f1326)) {\n$step1324 = $f1326.step;\n$al1329 = $f1326.from;\n$ans1328 = $f1326.ans;\n$elidedFrames1331 = $f1326.elidedFrames;\nf1326 = $f1326.args[0];\nlst1327 = $f1326.args[1];\nann_check_temp1332 = $f1326.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[496],2,$t,false);\n}\nvar f1326 = $f1326;\nvar lst1327 = $lst1327;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1328 = R.mC();\n}\nwhile(!R.isContinuation($ans1328)) {\nswitch($step1324) {\ncase 0: $step1324 = 1;\n$al1329 = L[502];\nR._cA(L[502],R.Function,f1326);\nbreak;\ncase 1: $step1324 = 2;\n$al1329 = L[503];\nR._cA(L[503],List50,lst1327);\nbreak;\ncase 2: // caller optimization;\n$ans1328 = is$empty549.$var.app(lst1327);\nvar anf_if1344 = $ans1328;\n$step1324 = R.checkPyretTrue(anf_if1344)?3:4;\nbreak;\ncase 3: $step1324 = 9;\n$ans1328 = (true);\nbreak;\ncase 4: $al1329 = L[498];\nvar anf_arg1334 = G(lst1327,\"first\",L[498]);\n$step1324 = 5;\n$al1329 = L[501];\nif(typeof(f1326.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1329,f1326);\n}\n$ans1328 = f1326.app(anf_arg1334);\nbreak;\ncase 5: var anf_if1343 = $ans1328;\n$step1324 = R.checkPyretTrue(anf_if1343)?6:8;\nbreak;\ncase 6: $al1329 = L[499];\nvar anf_arg1337 = G(lst1327,\"rest\",L[499]);\n$step1324 = 7;\n$al1329 = L[500];\n// omitting isFunction check;\n$ans1328 = all1335.$var.app(f1326,anf_arg1337);\nbreak;\ncase 7: var anf_arg1341 = $ans1328;\n$ans1328 = R.checkWrapBoolean(anf_arg1341);\n$step1324 = 9;\nbreak;\ncase 8: $step1324 = 9;\n$ans1328 = (false);\nbreak;\ncase 9: var ann_check_temp1332 = $ans1328;\n$step1324 = 10;\n$al1329 = L[497];\nvar $ann$check1333 = R._cA(L[497],$type$Boolean6,ann_check_temp1332);\nif(R.isContinuation($ann$check1333)) {\n$ans1328 = $ann$check1333;\n}\nbreak;\ncase 10: $step1324 = 11;\n$ans1328 = ann_check_temp1332;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1328;\ndefault: R.ffi.throwSpinnakerError(L[496],$step1324);\n}\n}\nif($step1324 !== 11) {\n$ans1328.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1329,$temp_lam1325,$step1324,[f1326,lst1327],[ann_check_temp1332],$elidedFrames1331);\n}\nreturn $ans1328;\n};\nvar anf_assign1346 = R.mF($temp_lam1325,\"all\");\nall1335.$var = anf_assign1346;\nR.nothing;\nvar $temp_lam1348 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__504($f1349,$lst11350,$lst21351) {\nvar $step1347 = 0;\nvar $elidedFrames1355 = 0;\nvar $ans1352 = D;\nvar $al1353 = L[504];\nif(R.isAR($f1349)) {\n$step1347 = $f1349.step;\n$al1353 = $f1349.from;\n$ans1352 = $f1349.ans;\n$elidedFrames1355 = $f1349.elidedFrames;\nf1349 = $f1349.args[0];\nlst11350 = $f1349.args[1];\nlst21351 = $f1349.args[2];\nann_check_temp1380 = $f1349.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[504],3,$t,false);\n}\nvar f1349 = $f1349;\nvar lst11350 = $lst11350;\nvar lst21351 = $lst21351;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1352 = R.mC();\n}\nwhile(!R.isContinuation($ans1352)) {\nswitch($step1347) {\ncase 0: $step1347 = 1;\n$al1353 = L[514];\nR._cA(L[514],R.Function,f1349);\nbreak;\ncase 1: $step1347 = 2;\n$al1353 = L[515];\nR._cA(L[515],List50,lst11350);\nbreak;\ncase 2: $step1347 = 3;\n$al1353 = L[516];\nR._cA(L[516],List50,lst21351);\nbreak;\ncase 3: var help1366 = {\"$var\":D};\nvar $temp_lam1357 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__505($l11358,$l21359) {\nvar $step1356 = 0;\nvar $elidedFrames1363 = 0;\nvar $ans1360 = D;\nvar $al1361 = L[505];\nif(R.isAR($l11358)) {\n$step1356 = $l11358.step;\n$al1361 = $l11358.from;\n$ans1360 = $l11358.ans;\n$elidedFrames1363 = $l11358.elidedFrames;\nl11358 = $l11358.args[0];\nl21359 = $l11358.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[505],2,$t,false);\n}\nvar l11358 = $l11358;\nvar l21359 = $l21359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1360 = R.mC();\n}\nwhile(!R.isContinuation($ans1360)) {\nswitch($step1356) {\ncase 0: // caller optimization;\n$ans1360 = is$empty549.$var.app(l11358);\nvar anf_if1377 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1377)?1:2;\nbreak;\ncase 1: $step1356 = 3;\n$ans1360 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1360 = is$empty549.$var.app(l21359);\nvar anf_arg1376 = $ans1360;\n$ans1360 = R.checkWrapBoolean(anf_arg1376);\n$step1356 = 3;\nbreak;\ncase 3: var anf_if1371 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1371)?4:5;\nbreak;\ncase 4: $step1356 = 10;\n$ans1360 = (true);\nbreak;\ncase 5: $al1361 = L[506];\nvar anf_arg1364 = G(l11358,\"first\",L[506]);\n$al1361 = L[507];\nvar anf_arg1365 = G(l21359,\"first\",L[507]);\n$step1356 = 6;\n$al1361 = L[511];\nif(typeof(f1349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1361,f1349);\n}\n$ans1360 = f1349.app(anf_arg1364,anf_arg1365);\nbreak;\ncase 6: var anf_if1370 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1370)?7:9;\nbreak;\ncase 7: $al1361 = L[508];\nvar anf_arg1367 = G(l11358,\"rest\",L[508]);\n$al1361 = L[509];\nvar anf_arg1368 = G(l21359,\"rest\",L[509]);\n$step1356 = 8;\n$al1361 = L[510];\n// omitting isFunction check;\n$ans1360 = help1366.$var.app(anf_arg1367,anf_arg1368);\nbreak;\ncase 8: var anf_arg1369 = $ans1360;\n$ans1360 = R.checkWrapBoolean(anf_arg1369);\n$step1356 = 10;\nbreak;\ncase 9: $step1356 = 10;\n$ans1360 = (false);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1360;\ndefault: R.ffi.throwSpinnakerError(L[505],$step1356);\n}\n}\nif($step1356 !== 10) {\n$ans1360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1361,$temp_lam1357,$step1356,[l11358,l21359],[],$elidedFrames1363);\n}\nreturn $ans1360;\n};\nvar anf_assign1379 = R.mF($temp_lam1357,\"help\");\nhelp1366.$var = anf_assign1379;\nR.nothing;\n$step1347 = 4;\n$al1353 = L[513];\n// omitting isFunction check;\n$ans1352 = help1366.$var.app(lst11350,lst21351);\nbreak;\ncase 4: var ann_check_temp1380 = $ans1352;\n$step1347 = 5;\n$al1353 = L[512];\nvar $ann$check1381 = R._cA(L[512],$type$Boolean6,ann_check_temp1380);\nif(R.isContinuation($ann$check1381)) {\n$ans1352 = $ann$check1381;\n}\nbreak;\ncase 5: $step1347 = 6;\n$ans1352 = ann_check_temp1380;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1352;\ndefault: R.ffi.throwSpinnakerError(L[504],$step1347);\n}\n}\nif($step1347 !== 6) {\n$ans1352.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1353,$temp_lam1348,$step1347,[f1349,lst11350,lst21351],[ann_check_temp1380],$elidedFrames1355);\n}\nreturn $ans1352;\n};\nvar anf_assign1383 = R.mF($temp_lam1348,\"all2\");\nall21384.$var = anf_assign1383;\nR.nothing;\nvar $temp_lam1386 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__517($f1387,$lst1388) {\nvar $step1385 = 0;\nvar $elidedFrames1392 = 0;\nvar $ans1389 = D;\nvar $al1390 = L[517];\nif(R.isAR($f1387)) {\n$step1385 = $f1387.step;\n$al1390 = $f1387.from;\n$ans1389 = $f1387.ans;\n$elidedFrames1392 = $f1387.elidedFrames;\nf1387 = $f1387.args[0];\nlst1388 = $f1387.args[1];\nann_check_temp1393 = $f1387.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[517],2,$t,false);\n}\nvar f1387 = $f1387;\nvar lst1388 = $lst1388;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1389 = R.mC();\n}\nwhile(!R.isContinuation($ans1389)) {\nswitch($step1385) {\ncase 0: $step1385 = 1;\n$al1390 = L[520];\nR._cA(L[520],R.Function,f1387);\nbreak;\ncase 1: $step1385 = 2;\n$al1390 = L[521];\nR._cA(L[521],List50,lst1388);\nbreak;\ncase 2: $step1385 = 3;\n$ans1389 = R.maybeMethodCall2(builtins1,\"raw-list-map\",L[518],f1387,lst1388);\nbreak;\ncase 3: var ann_check_temp1393 = $ans1389;\n$step1385 = 4;\n$al1390 = L[519];\nvar $ann$check1394 = R._cA(L[519],List50,ann_check_temp1393);\nif(R.isContinuation($ann$check1394)) {\n$ans1389 = $ann$check1394;\n}\nbreak;\ncase 4: $step1385 = 5;\n$ans1389 = ann_check_temp1393;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1389;\ndefault: R.ffi.throwSpinnakerError(L[517],$step1385);\n}\n}\nif($step1385 !== 5) {\n$ans1389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1390,$temp_lam1386,$step1385,[f1387,lst1388],[ann_check_temp1393],$elidedFrames1392);\n}\nreturn $ans1389;\n};\nvar anf_assign1396 = R.mF($temp_lam1386,\"map\");\nmap71.$var = anf_assign1396;\nR.nothing;\nvar $temp_lam1398 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__522($f1399,$l11400,$l21401) {\nvar $step1397 = 0;\nvar $elidedFrames1405 = 0;\nvar $ans1402 = D;\nvar $al1403 = L[522];\nif(R.isAR($f1399)) {\n$step1397 = $f1399.step;\n$al1403 = $f1399.from;\n$ans1402 = $f1399.ans;\n$elidedFrames1405 = $f1399.elidedFrames;\nf1399 = $f1399.args[0];\nl11400 = $f1399.args[1];\nl21401 = $f1399.args[2];\nann_check_temp1406 = $f1399.vars[0];\narg_1418 = $f1399.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[522],3,$t,false);\n}\nvar f1399 = $f1399;\nvar l11400 = $l11400;\nvar l21401 = $l21401;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1402 = R.mC();\n}\nwhile(!R.isContinuation($ans1402)) {\nswitch($step1397) {\ncase 0: $step1397 = 1;\n$al1403 = L[530];\nR._cA(L[530],R.Function,f1399);\nbreak;\ncase 1: $step1397 = 2;\n$al1403 = L[531];\nR._cA(L[531],List50,l11400);\nbreak;\ncase 2: $step1397 = 3;\n$al1403 = L[532];\nR._cA(L[532],List50,l21401);\nbreak;\ncase 3: // caller optimization;\n$ans1402 = is$empty549.$var.app(l11400);\nvar anf_if1428 = $ans1402;\n$step1397 = R.checkPyretTrue(anf_if1428)?4:5;\nbreak;\ncase 4: $step1397 = 6;\n$ans1402 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans1402 = is$empty549.$var.app(l21401);\nvar anf_arg1427 = $ans1402;\n$ans1402 = R.checkWrapBoolean(anf_arg1427);\n$step1397 = 6;\nbreak;\ncase 6: var anf_if1420 = $ans1402;\n$step1397 = R.checkPyretTrue(anf_if1420)?7:8;\nbreak;\ncase 7: $step1397 = 11;\n$ans1402 = empty266.$var;\nbreak;\ncase 8: $al1403 = L[524];\nvar anf_arg1409 = G(l11400,\"first\",L[524]);\n$al1403 = L[525];\nvar anf_arg1414 = G(l21401,\"first\",L[525]);\n$step1397 = 9;\n$al1403 = L[529];\nif(typeof(f1399.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1403,f1399);\n}\n$ans1402 = f1399.app(anf_arg1409,anf_arg1414);\nbreak;\ncase 9: var arg_1418 = $ans1402;\n$al1403 = L[526];\nvar anf_arg1416 = G(l11400,\"rest\",L[526]);\n$al1403 = L[527];\nvar anf_arg1417 = G(l21401,\"rest\",L[527]);\n$step1397 = 10;\n$al1403 = L[528];\n// omitting isFunction check;\n$ans1402 = map21415.$var.app(f1399,anf_arg1416,anf_arg1417);\nbreak;\ncase 10: var anf_arg1419 = $ans1402;\n// caller optimization;\n$ans1402 = link124.$var.app(arg_1418,anf_arg1419);\n$step1397 = 11;\nbreak;\ncase 11: var ann_check_temp1406 = $ans1402;\n$step1397 = 12;\n$al1403 = L[523];\nvar $ann$check1407 = R._cA(L[523],List50,ann_check_temp1406);\nif(R.isContinuation($ann$check1407)) {\n$ans1402 = $ann$check1407;\n}\nbreak;\ncase 12: $step1397 = 13;\n$ans1402 = ann_check_temp1406;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1402;\ndefault: R.ffi.throwSpinnakerError(L[522],$step1397);\n}\n}\nif($step1397 !== 13) {\n$ans1402.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1403,$temp_lam1398,$step1397,[f1399,l11400,l21401],[ann_check_temp1406,arg_1418],$elidedFrames1405);\n}\nreturn $ans1402;\n};\nvar anf_assign1430 = R.mF($temp_lam1398,\"map2\");\nmap21415.$var = anf_assign1430;\nR.nothing;\nvar $temp_lam1432 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__533($f1433,$l11434,$l21435,$l31436) {\nvar $step1431 = 0;\nvar $elidedFrames1440 = 0;\nvar $ans1437 = D;\nvar $al1438 = L[533];\nif(R.isAR($f1433)) {\n$step1431 = $f1433.step;\n$al1438 = $f1433.from;\n$ans1437 = $f1433.ans;\n$elidedFrames1440 = $f1433.elidedFrames;\nf1433 = $f1433.args[0];\nl11434 = $f1433.args[1];\nl21435 = $f1433.args[2];\nl31436 = $f1433.args[3];\nann_check_temp1441 = $f1433.vars[0];\narg_1463 = $f1433.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[533],4,$t,false);\n}\nvar f1433 = $f1433;\nvar l11434 = $l11434;\nvar l21435 = $l21435;\nvar l31436 = $l31436;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1437 = R.mC();\n}\nwhile(!R.isContinuation($ans1437)) {\nswitch($step1431) {\ncase 0: $step1431 = 1;\n$al1438 = L[543];\nR._cA(L[543],R.Function,f1433);\nbreak;\ncase 1: $step1431 = 2;\n$al1438 = L[544];\nR._cA(L[544],List50,l11434);\nbreak;\ncase 2: $step1431 = 3;\n$al1438 = L[545];\nR._cA(L[545],List50,l21435);\nbreak;\ncase 3: $step1431 = 4;\n$al1438 = L[546];\nR._cA(L[546],List50,l31436);\nbreak;\ncase 4: // caller optimization;\n$ans1437 = is$empty549.$var.app(l11434);\nvar anf_if1468 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1468)?5:6;\nbreak;\ncase 5: $step1431 = 9;\n$ans1437 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1437 = is$empty549.$var.app(l21435);\nvar anf_if1467 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1467)?7:8;\nbreak;\ncase 7: $step1431 = 9;\n$ans1437 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans1437 = is$empty549.$var.app(l31436);\nvar anf_arg1466 = $ans1437;\n$ans1437 = R.checkWrapBoolean(anf_arg1466);\n$step1431 = 9;\nbreak;\ncase 9: var anf_if1465 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1465)?10:11;\nbreak;\ncase 10: $step1431 = 14;\n$ans1437 = empty266.$var;\nbreak;\ncase 11: $al1438 = L[535];\nvar anf_arg1443 = G(l11434,\"first\",L[535]);\n$al1438 = L[536];\nvar anf_arg1444 = G(l21435,\"first\",L[536]);\n$al1438 = L[537];\nvar anf_arg1445 = G(l31436,\"first\",L[537]);\n$step1431 = 12;\n$al1438 = L[542];\nif(typeof(f1433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1438,f1433);\n}\n$ans1437 = f1433.app(anf_arg1443,anf_arg1444,anf_arg1445);\nbreak;\ncase 12: var arg_1463 = $ans1437;\n$al1438 = L[538];\nvar anf_arg1452 = G(l11434,\"rest\",L[538]);\n$al1438 = L[539];\nvar anf_arg1458 = G(l21435,\"rest\",L[539]);\n$al1438 = L[540];\nvar anf_arg1462 = G(l31436,\"rest\",L[540]);\n$step1431 = 13;\n$al1438 = L[541];\n// omitting isFunction check;\n$ans1437 = map31446.$var.app(f1433,anf_arg1452,anf_arg1458,anf_arg1462);\nbreak;\ncase 13: var anf_arg1464 = $ans1437;\n// caller optimization;\n$ans1437 = link124.$var.app(arg_1463,anf_arg1464);\n$step1431 = 14;\nbreak;\ncase 14: var ann_check_temp1441 = $ans1437;\n$step1431 = 15;\n$al1438 = L[534];\nvar $ann$check1442 = R._cA(L[534],List50,ann_check_temp1441);\nif(R.isContinuation($ann$check1442)) {\n$ans1437 = $ann$check1442;\n}\nbreak;\ncase 15: $step1431 = 16;\n$ans1437 = ann_check_temp1441;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1437;\ndefault: R.ffi.throwSpinnakerError(L[533],$step1431);\n}\n}\nif($step1431 !== 16) {\n$ans1437.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1438,$temp_lam1432,$step1431,[f1433,l11434,l21435,l31436],[ann_check_temp1441,arg_1463],$elidedFrames1440);\n}\nreturn $ans1437;\n};\nvar anf_assign1470 = R.mF($temp_lam1432,\"map3\");\nmap31446.$var = anf_assign1470;\nR.nothing;\nvar $temp_lam1472 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__547($f1473,$l11474,$l21475,$l31476,$l41477) {\nvar $step1471 = 0;\nvar $elidedFrames1481 = 0;\nvar $ans1478 = D;\nvar $al1479 = L[547];\nif(R.isAR($f1473)) {\n$step1471 = $f1473.step;\n$al1479 = $f1473.from;\n$ans1478 = $f1473.ans;\n$elidedFrames1481 = $f1473.elidedFrames;\nf1473 = $f1473.args[0];\nl11474 = $f1473.args[1];\nl21475 = $f1473.args[2];\nl31476 = $f1473.args[3];\nl41477 = $f1473.args[4];\nann_check_temp1482 = $f1473.vars[0];\narg_1496 = $f1473.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],5,$t,false);\n}\nvar f1473 = $f1473;\nvar l11474 = $l11474;\nvar l21475 = $l21475;\nvar l31476 = $l31476;\nvar l41477 = $l41477;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1478 = R.mC();\n}\nwhile(!R.isContinuation($ans1478)) {\nswitch($step1471) {\ncase 0: $step1471 = 1;\n$al1479 = L[559];\nR._cA(L[559],R.Function,f1473);\nbreak;\ncase 1: $step1471 = 2;\n$al1479 = L[560];\nR._cA(L[560],List50,l11474);\nbreak;\ncase 2: $step1471 = 3;\n$al1479 = L[561];\nR._cA(L[561],List50,l21475);\nbreak;\ncase 3: $step1471 = 4;\n$al1479 = L[562];\nR._cA(L[562],List50,l31476);\nbreak;\ncase 4: $step1471 = 5;\n$al1479 = L[563];\nR._cA(L[563],List50,l41477);\nbreak;\ncase 5: // caller optimization;\n$ans1478 = is$empty549.$var.app(l11474);\nvar anf_if1503 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1503)?6:7;\nbreak;\ncase 6: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans1478 = is$empty549.$var.app(l21475);\nvar anf_if1502 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1502)?8:9;\nbreak;\ncase 8: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans1478 = is$empty549.$var.app(l31476);\nvar anf_if1501 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1501)?10:11;\nbreak;\ncase 10: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 11: // caller optimization;\n$ans1478 = is$empty549.$var.app(l41477);\nvar anf_arg1500 = $ans1478;\n$ans1478 = R.checkWrapBoolean(anf_arg1500);\n$step1471 = 12;\nbreak;\ncase 12: var anf_if1498 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1498)?13:14;\nbreak;\ncase 13: $step1471 = 17;\n$ans1478 = empty266.$var;\nbreak;\ncase 14: $al1479 = L[549];\nvar anf_arg1487 = G(l11474,\"first\",L[549]);\n$al1479 = L[550];\nvar anf_arg1488 = G(l21475,\"first\",L[550]);\n$al1479 = L[551];\nvar anf_arg1489 = G(l31476,\"first\",L[551]);\n$al1479 = L[552];\nvar anf_arg1490 = G(l41477,\"first\",L[552]);\n$step1471 = 15;\n$al1479 = L[558];\nif(typeof(f1473.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1479,f1473);\n}\n$ans1478 = f1473.app(anf_arg1487,anf_arg1488,anf_arg1489,anf_arg1490);\nbreak;\ncase 15: var arg_1496 = $ans1478;\n$al1479 = L[553];\nvar anf_arg1492 = G(l11474,\"rest\",L[553]);\n$al1479 = L[554];\nvar anf_arg1493 = G(l21475,\"rest\",L[554]);\n$al1479 = L[555];\nvar anf_arg1494 = G(l31476,\"rest\",L[555]);\n$al1479 = L[556];\nvar anf_arg1495 = G(l41477,\"rest\",L[556]);\n$step1471 = 16;\n$al1479 = L[557];\n// omitting isFunction check;\n$ans1478 = map41491.$var.app(f1473,anf_arg1492,anf_arg1493,anf_arg1494,anf_arg1495);\nbreak;\ncase 16: var anf_arg1497 = $ans1478;\n// caller optimization;\n$ans1478 = link124.$var.app(arg_1496,anf_arg1497);\n$step1471 = 17;\nbreak;\ncase 17: var ann_check_temp1482 = $ans1478;\n$step1471 = 18;\n$al1479 = L[548];\nvar $ann$check1483 = R._cA(L[548],List50,ann_check_temp1482);\nif(R.isContinuation($ann$check1483)) {\n$ans1478 = $ann$check1483;\n}\nbreak;\ncase 18: $step1471 = 19;\n$ans1478 = ann_check_temp1482;\nbreak;\ncase 19: ++R.GAS;\nreturn $ans1478;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1471);\n}\n}\nif($step1471 !== 19) {\n$ans1478.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1479,$temp_lam1472,$step1471,[f1473,l11474,l21475,l31476,l41477],[ann_check_temp1482,arg_1496],$elidedFrames1481);\n}\nreturn $ans1478;\n};\nvar anf_assign1505 = R.mF($temp_lam1472,\"map4\");\nmap41491.$var = anf_assign1505;\nR.nothing;\nvar $temp_lam1507 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__564($f1508,$n1509,$lst1510) {\nvar $step1506 = 0;\nvar $elidedFrames1514 = 0;\nvar $ans1511 = D;\nvar $al1512 = L[564];\nif(R.isAR($f1508)) {\n$step1506 = $f1508.step;\n$al1512 = $f1508.from;\n$ans1511 = $f1508.ans;\n$elidedFrames1514 = $f1508.elidedFrames;\nf1508 = $f1508.args[0];\nn1509 = $f1508.args[1];\nlst1510 = $f1508.args[2];\narg_1524 = $f1508.vars[0];\nann_check_temp1515 = $f1508.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[564],3,$t,false);\n}\nvar f1508 = $f1508;\nvar n1509 = $n1509;\nvar lst1510 = $lst1510;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1511 = R.mC();\n}\nwhile(!R.isContinuation($ans1511)) {\nswitch($step1506) {\ncase 0: $step1506 = 1;\n$al1512 = L[571];\nR._cA(L[571],R.Function,f1508);\nbreak;\ncase 1: $step1506 = 2;\n$al1512 = L[572];\nR._cA(L[572],$type$Number3,n1509);\nbreak;\ncase 2: $step1506 = 3;\n$al1512 = L[573];\nR._cA(L[573],List50,lst1510);\nbreak;\ncase 3: // caller optimization;\n$ans1511 = is$empty549.$var.app(lst1510);\nvar anf_if1526 = $ans1511;\n$step1506 = R.checkPyretTrue(anf_if1526)?4:5;\nbreak;\ncase 4: $step1506 = 9;\n$ans1511 = empty266.$var;\nbreak;\ncase 5: $al1512 = L[566];\nvar anf_arg1517 = G(lst1510,\"first\",L[566]);\n$step1506 = 6;\n$al1512 = L[570];\nif(typeof(f1508.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1512,f1508);\n}\n$ans1511 = f1508.app(n1509,anf_arg1517);\nbreak;\ncase 6: var arg_1524 = $ans1511;\n$step1506 = 7;\n$al1512 = L[569];\n// omitting isFunction check;\n$ans1511 = _plus5.app(n1509,(1));\nbreak;\ncase 7: var anf_arg1522 = $ans1511;\n$al1512 = L[567];\nvar anf_arg1523 = G(lst1510,\"rest\",L[567]);\n$step1506 = 8;\n$al1512 = L[568];\n// omitting isFunction check;\n$ans1511 = map_n1518.$var.app(f1508,anf_arg1522,anf_arg1523);\nbreak;\ncase 8: var anf_arg1525 = $ans1511;\n// caller optimization;\n$ans1511 = link124.$var.app(arg_1524,anf_arg1525);\n$step1506 = 9;\nbreak;\ncase 9: var ann_check_temp1515 = $ans1511;\n$step1506 = 10;\n$al1512 = L[565];\nvar $ann$check1516 = R._cA(L[565],List50,ann_check_temp1515);\nif(R.isContinuation($ann$check1516)) {\n$ans1511 = $ann$check1516;\n}\nbreak;\ncase 10: $step1506 = 11;\n$ans1511 = ann_check_temp1515;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1511;\ndefault: R.ffi.throwSpinnakerError(L[564],$step1506);\n}\n}\nif($step1506 !== 11) {\n$ans1511.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1512,$temp_lam1507,$step1506,[f1508,n1509,lst1510],[arg_1524,ann_check_temp1515],$elidedFrames1514);\n}\nreturn $ans1511;\n};\nvar anf_assign1528 = R.mF($temp_lam1507,\"map_n\");\nmap_n1518.$var = anf_assign1528;\nR.nothing;\nvar $temp_lam1530 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__574($f1531,$n1532,$l11533,$l21534) {\nvar $step1529 = 0;\nvar $elidedFrames1538 = 0;\nvar $ans1535 = D;\nvar $al1536 = L[574];\nif(R.isAR($f1531)) {\n$step1529 = $f1531.step;\n$al1536 = $f1531.from;\n$ans1535 = $f1531.ans;\n$elidedFrames1538 = $f1531.elidedFrames;\nf1531 = $f1531.args[0];\nn1532 = $f1531.args[1];\nl11533 = $f1531.args[2];\nl21534 = $f1531.args[3];\narg_1547 = $f1531.vars[0];\nann_check_temp1539 = $f1531.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[574],4,$t,false);\n}\nvar f1531 = $f1531;\nvar n1532 = $n1532;\nvar l11533 = $l11533;\nvar l21534 = $l21534;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1535 = R.mC();\n}\nwhile(!R.isContinuation($ans1535)) {\nswitch($step1529) {\ncase 0: $step1529 = 1;\n$al1536 = L[583];\nR._cA(L[583],R.Function,f1531);\nbreak;\ncase 1: $step1529 = 2;\n$al1536 = L[584];\nR._cA(L[584],$type$Number3,n1532);\nbreak;\ncase 2: $step1529 = 3;\n$al1536 = L[585];\nR._cA(L[585],List50,l11533);\nbreak;\ncase 3: $step1529 = 4;\n$al1536 = L[586];\nR._cA(L[586],List50,l21534);\nbreak;\ncase 4: // caller optimization;\n$ans1535 = is$empty549.$var.app(l11533);\nvar anf_if1555 = $ans1535;\n$step1529 = R.checkPyretTrue(anf_if1555)?5:6;\nbreak;\ncase 5: $step1529 = 7;\n$ans1535 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1535 = is$empty549.$var.app(l21534);\nvar anf_arg1554 = $ans1535;\n$ans1535 = R.checkWrapBoolean(anf_arg1554);\n$step1529 = 7;\nbreak;\ncase 7: var anf_if1550 = $ans1535;\n$step1529 = R.checkPyretTrue(anf_if1550)?8:9;\nbreak;\ncase 8: $step1529 = 13;\n$ans1535 = empty266.$var;\nbreak;\ncase 9: $al1536 = L[576];\nvar anf_arg1541 = G(l11533,\"first\",L[576]);\n$al1536 = L[577];\nvar anf_arg1542 = G(l21534,\"first\",L[577]);\n$step1529 = 10;\n$al1536 = L[582];\nif(typeof(f1531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1536,f1531);\n}\n$ans1535 = f1531.app(n1532,anf_arg1541,anf_arg1542);\nbreak;\ncase 10: var arg_1547 = $ans1535;\n$step1529 = 11;\n$al1536 = L[581];\n// omitting isFunction check;\n$ans1535 = _plus5.app(n1532,(1));\nbreak;\ncase 11: var anf_arg1544 = $ans1535;\n$al1536 = L[578];\nvar anf_arg1545 = G(l11533,\"rest\",L[578]);\n$al1536 = L[579];\nvar anf_arg1546 = G(l21534,\"rest\",L[579]);\n$step1529 = 12;\n$al1536 = L[580];\n// omitting isFunction check;\n$ans1535 = map2_n1543.$var.app(f1531,anf_arg1544,anf_arg1545,anf_arg1546);\nbreak;\ncase 12: var anf_arg1549 = $ans1535;\n// caller optimization;\n$ans1535 = link124.$var.app(arg_1547,anf_arg1549);\n$step1529 = 13;\nbreak;\ncase 13: var ann_check_temp1539 = $ans1535;\n$step1529 = 14;\n$al1536 = L[575];\nvar $ann$check1540 = R._cA(L[575],List50,ann_check_temp1539);\nif(R.isContinuation($ann$check1540)) {\n$ans1535 = $ann$check1540;\n}\nbreak;\ncase 14: $step1529 = 15;\n$ans1535 = ann_check_temp1539;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1535;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1529);\n}\n}\nif($step1529 !== 15) {\n$ans1535.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1536,$temp_lam1530,$step1529,[f1531,n1532,l11533,l21534],[arg_1547,ann_check_temp1539],$elidedFrames1538);\n}\nreturn $ans1535;\n};\nvar anf_assign1557 = R.mF($temp_lam1530,\"map2_n\");\nmap2_n1543.$var = anf_assign1557;\nR.nothing;\nvar $temp_lam1559 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__587($f1560,$n1561,$l11562,$l21563,$l31564) {\nvar $step1558 = 0;\nvar $elidedFrames1568 = 0;\nvar $ans1565 = D;\nvar $al1566 = L[587];\nif(R.isAR($f1560)) {\n$step1558 = $f1560.step;\n$al1566 = $f1560.from;\n$ans1565 = $f1560.ans;\n$elidedFrames1568 = $f1560.elidedFrames;\nf1560 = $f1560.args[0];\nn1561 = $f1560.args[1];\nl11562 = $f1560.args[2];\nl21563 = $f1560.args[3];\nl31564 = $f1560.args[4];\narg_1591 = $f1560.vars[0];\nann_check_temp1569 = $f1560.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[587],5,$t,false);\n}\nvar f1560 = $f1560;\nvar n1561 = $n1561;\nvar l11562 = $l11562;\nvar l21563 = $l21563;\nvar l31564 = $l31564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1565 = R.mC();\n}\nwhile(!R.isContinuation($ans1565)) {\nswitch($step1558) {\ncase 0: $step1558 = 1;\n$al1566 = L[598];\nR._cA(L[598],R.Function,f1560);\nbreak;\ncase 1: $step1558 = 2;\n$al1566 = L[599];\nR._cA(L[599],$type$Number3,n1561);\nbreak;\ncase 2: $step1558 = 3;\n$al1566 = L[600];\nR._cA(L[600],List50,l11562);\nbreak;\ncase 3: $step1558 = 4;\n$al1566 = L[601];\nR._cA(L[601],List50,l21563);\nbreak;\ncase 4: $step1558 = 5;\n$al1566 = L[602];\nR._cA(L[602],List50,l31564);\nbreak;\ncase 5: // caller optimization;\n$ans1565 = is$empty549.$var.app(l11562);\nvar anf_if1596 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1596)?6:7;\nbreak;\ncase 6: $step1558 = 10;\n$ans1565 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans1565 = is$empty549.$var.app(l21563);\nvar anf_if1595 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1595)?8:9;\nbreak;\ncase 8: $step1558 = 10;\n$ans1565 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans1565 = is$empty549.$var.app(l31564);\nvar anf_arg1594 = $ans1565;\n$ans1565 = R.checkWrapBoolean(anf_arg1594);\n$step1558 = 10;\nbreak;\ncase 10: var anf_if1593 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1593)?11:12;\nbreak;\ncase 11: $step1558 = 16;\n$ans1565 = empty266.$var;\nbreak;\ncase 12: $al1566 = L[589];\nvar anf_arg1574 = G(l11562,\"first\",L[589]);\n$al1566 = L[590];\nvar anf_arg1579 = G(l21563,\"first\",L[590]);\n$al1566 = L[591];\nvar anf_arg1584 = G(l31564,\"first\",L[591]);\n$step1558 = 13;\n$al1566 = L[597];\nif(typeof(f1560.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1566,f1560);\n}\n$ans1565 = f1560.app(n1561,anf_arg1574,anf_arg1579,anf_arg1584);\nbreak;\ncase 13: var arg_1591 = $ans1565;\n$step1558 = 14;\n$al1566 = L[596];\n// omitting isFunction check;\n$ans1565 = _plus5.app(n1561,(1));\nbreak;\ncase 14: var anf_arg1587 = $ans1565;\n$al1566 = L[592];\nvar anf_arg1588 = G(l11562,\"rest\",L[592]);\n$al1566 = L[593];\nvar anf_arg1589 = G(l21563,\"rest\",L[593]);\n$al1566 = L[594];\nvar anf_arg1590 = G(l31564,\"rest\",L[594]);\n$step1558 = 15;\n$al1566 = L[595];\n// omitting isFunction check;\n$ans1565 = map3_n1585.$var.app(f1560,anf_arg1587,anf_arg1588,anf_arg1589,anf_arg1590);\nbreak;\ncase 15: var anf_arg1592 = $ans1565;\n// caller optimization;\n$ans1565 = link124.$var.app(arg_1591,anf_arg1592);\n$step1558 = 16;\nbreak;\ncase 16: var ann_check_temp1569 = $ans1565;\n$step1558 = 17;\n$al1566 = L[588];\nvar $ann$check1570 = R._cA(L[588],List50,ann_check_temp1569);\nif(R.isContinuation($ann$check1570)) {\n$ans1565 = $ann$check1570;\n}\nbreak;\ncase 17: $step1558 = 18;\n$ans1565 = ann_check_temp1569;\nbreak;\ncase 18: ++R.GAS;\nreturn $ans1565;\ndefault: R.ffi.throwSpinnakerError(L[587],$step1558);\n}\n}\nif($step1558 !== 18) {\n$ans1565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1566,$temp_lam1559,$step1558,[f1560,n1561,l11562,l21563,l31564],[arg_1591,ann_check_temp1569],$elidedFrames1568);\n}\nreturn $ans1565;\n};\nvar anf_assign1598 = R.mF($temp_lam1559,\"map3_n\");\nmap3_n1585.$var = anf_assign1598;\nR.nothing;\nvar $temp_lam1600 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__603($f1601,$n1602,$l11603,$l21604,$l31605,$l41606) {\nvar $step1599 = 0;\nvar $elidedFrames1610 = 0;\nvar $ans1607 = D;\nvar $al1608 = L[603];\nif(R.isAR($f1601)) {\n$step1599 = $f1601.step;\n$al1608 = $f1601.from;\n$ans1607 = $f1601.ans;\n$elidedFrames1610 = $f1601.elidedFrames;\nf1601 = $f1601.args[0];\nn1602 = $f1601.args[1];\nl11603 = $f1601.args[2];\nl21604 = $f1601.args[3];\nl31605 = $f1601.args[4];\nl41606 = $f1601.args[5];\nann_check_temp1611 = $f1601.vars[0];\narg_1626 = $f1601.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[603],6,$t,false);\n}\nvar f1601 = $f1601;\nvar n1602 = $n1602;\nvar l11603 = $l11603;\nvar l21604 = $l21604;\nvar l31605 = $l31605;\nvar l41606 = $l41606;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1607 = R.mC();\n}\nwhile(!R.isContinuation($ans1607)) {\nswitch($step1599) {\ncase 0: $step1599 = 1;\n$al1608 = L[616];\nR._cA(L[616],R.Function,f1601);\nbreak;\ncase 1: $step1599 = 2;\n$al1608 = L[617];\nR._cA(L[617],$type$Number3,n1602);\nbreak;\ncase 2: $step1599 = 3;\n$al1608 = L[618];\nR._cA(L[618],List50,l11603);\nbreak;\ncase 3: $step1599 = 4;\n$al1608 = L[619];\nR._cA(L[619],List50,l21604);\nbreak;\ncase 4: $step1599 = 5;\n$al1608 = L[620];\nR._cA(L[620],List50,l31605);\nbreak;\ncase 5: $step1599 = 6;\n$al1608 = L[621];\nR._cA(L[621],List50,l41606);\nbreak;\ncase 6: // caller optimization;\n$ans1607 = is$empty549.$var.app(l11603);\nvar anf_if1636 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1636)?7:8;\nbreak;\ncase 7: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans1607 = is$empty549.$var.app(l21604);\nvar anf_if1635 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1635)?9:10;\nbreak;\ncase 9: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans1607 = is$empty549.$var.app(l31605);\nvar anf_if1634 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1634)?11:12;\nbreak;\ncase 11: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 12: // caller optimization;\n$ans1607 = is$empty549.$var.app(l41606);\nvar anf_arg1633 = $ans1607;\n$ans1607 = R.checkWrapBoolean(anf_arg1633);\n$step1599 = 13;\nbreak;\ncase 13: var anf_if1631 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1631)?14:15;\nbreak;\ncase 14: $step1599 = 19;\n$ans1607 = empty266.$var;\nbreak;\ncase 15: $al1608 = L[605];\nvar anf_arg1616 = G(l11603,\"first\",L[605]);\n$al1608 = L[606];\nvar anf_arg1617 = G(l21604,\"first\",L[606]);\n$al1608 = L[607];\nvar anf_arg1618 = G(l31605,\"first\",L[607]);\n$al1608 = L[608];\nvar anf_arg1619 = G(l41606,\"first\",L[608]);\n$step1599 = 16;\n$al1608 = L[615];\nif(typeof(f1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1608,f1601);\n}\n$ans1607 = f1601.app(n1602,anf_arg1616,anf_arg1617,anf_arg1618,anf_arg1619);\nbreak;\ncase 16: var arg_1626 = $ans1607;\n$step1599 = 17;\n$al1608 = L[614];\n// omitting isFunction check;\n$ans1607 = _plus5.app(n1602,(1));\nbreak;\ncase 17: var anf_arg1621 = $ans1607;\n$al1608 = L[609];\nvar anf_arg1622 = G(l11603,\"rest\",L[609]);\n$al1608 = L[610];\nvar anf_arg1623 = G(l21604,\"rest\",L[610]);\n$al1608 = L[611];\nvar anf_arg1624 = G(l31605,\"rest\",L[611]);\n$al1608 = L[612];\nvar anf_arg1625 = G(l41606,\"rest\",L[612]);\n$step1599 = 18;\n$al1608 = L[613];\n// omitting isFunction check;\n$ans1607 = map4_n1620.$var.app(f1601,anf_arg1621,anf_arg1622,anf_arg1623,anf_arg1624,anf_arg1625);\nbreak;\ncase 18: var anf_arg1630 = $ans1607;\n// caller optimization;\n$ans1607 = link124.$var.app(arg_1626,anf_arg1630);\n$step1599 = 19;\nbreak;\ncase 19: var ann_check_temp1611 = $ans1607;\n$step1599 = 20;\n$al1608 = L[604];\nvar $ann$check1612 = R._cA(L[604],List50,ann_check_temp1611);\nif(R.isContinuation($ann$check1612)) {\n$ans1607 = $ann$check1612;\n}\nbreak;\ncase 20: $step1599 = 21;\n$ans1607 = ann_check_temp1611;\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1607;\ndefault: R.ffi.throwSpinnakerError(L[603],$step1599);\n}\n}\nif($step1599 !== 21) {\n$ans1607.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1608,$temp_lam1600,$step1599,[f1601,n1602,l11603,l21604,l31605,l41606],[ann_check_temp1611,arg_1626],$elidedFrames1610);\n}\nreturn $ans1607;\n};\nvar anf_assign1638 = R.mF($temp_lam1600,\"map4_n\");\nmap4_n1620.$var = anf_assign1638;\nR.nothing;\nvar $temp_lam1641 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__622($f1642,$lst1643) {\nvar $step1640 = 0;\nvar $elidedFrames1647 = 0;\nvar $ans1644 = D;\nvar $al1645 = L[622];\nif(R.isAR($f1642)) {\n$step1640 = $f1642.step;\n$al1645 = $f1642.from;\n$ans1644 = $f1642.ans;\n$elidedFrames1647 = $f1642.elidedFrames;\nf1642 = $f1642.args[0];\nlst1643 = $f1642.args[1];\nann_check_temp1664 = $f1642.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[622],2,$t,false);\n}\nvar f1642 = $f1642;\nvar lst1643 = $lst1643;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1644 = R.mC();\n}\nwhile(!R.isContinuation($ans1644)) {\nswitch($step1640) {\ncase 0: $step1640 = 1;\n$al1645 = L[628];\nR._cA(L[628],R.Function,f1642);\nbreak;\ncase 1: $step1640 = 2;\n$al1645 = L[629];\nR._cA(L[629],List50,lst1643);\nbreak;\ncase 2: var anf_fun1657 = fold927.$var === D?U(L[623],\"fold\"):fold927.$var;\nvar $temp_lam1649 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__624($$underscore1650,$elt1651) {\nvar $step1648 = 0;\nvar $elidedFrames1655 = 0;\nvar $ans1652 = D;\nvar $al1653 = L[624];\nif(R.isAR($$underscore1650)) {\n$step1648 = $$underscore1650.step;\n$al1653 = $$underscore1650.from;\n$ans1652 = $$underscore1650.ans;\n$elidedFrames1655 = $$underscore1650.elidedFrames;\n$underscore1650 = $$underscore1650.args[0];\nelt1651 = $$underscore1650.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[624],2,$t,false);\n}\nvar $underscore1650 = $$underscore1650;\nvar elt1651 = $elt1651;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1652 = R.mC();\n}\nwhile(!R.isContinuation($ans1652)) {\nswitch($step1648) {\ncase 0: $step1648 = 1;\n$al1653 = L[625];\nif(typeof(f1642.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1653,f1642);\n}\n$ans1652 = f1642.app(elt1651);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1652;\ndefault: R.ffi.throwSpinnakerError(L[624],$step1648);\n}\n}\nif($step1648 !== 1) {\n$ans1652.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1653,$temp_lam1649,$step1648,[$underscore1650,elt1651],[],$elidedFrames1655);\n}\nreturn $ans1652;\n};\nvar anf_arg1663 = R.mF($temp_lam1649,\"\");\n$step1640 = 3;\n$al1645 = L[627];\nif(typeof(anf_fun1657.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1645,anf_fun1657);\n}\n$ans1644 = anf_fun1657.app(anf_arg1663,nothing2,lst1643);\nbreak;\ncase 3: var ann_check_temp1664 = nothing2;\n$step1640 = 4;\n$al1645 = L[626];\nvar $ann$check1665 = R._cA(L[626],$type$Nothing1,ann_check_temp1664);\nif(R.isContinuation($ann$check1665)) {\n$ans1644 = $ann$check1665;\n}\nbreak;\ncase 4: $step1640 = 5;\n$ans1644 = ann_check_temp1664;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1644;\ndefault: R.ffi.throwSpinnakerError(L[622],$step1640);\n}\n}\nif($step1640 !== 5) {\n$ans1644.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1645,$temp_lam1641,$step1640,[f1642,lst1643],[ann_check_temp1664],$elidedFrames1647);\n}\nreturn $ans1644;\n};\nvar anf_assign1667 = R.mF($temp_lam1641,\"each\");\neach98.$var = anf_assign1667;\nR.nothing;\nvar $temp_lam1669 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__630($f1670,$lst11671,$lst21672) {\nvar $step1668 = 0;\nvar $elidedFrames1676 = 0;\nvar $ans1673 = D;\nvar $al1674 = L[630];\nif(R.isAR($f1670)) {\n$step1668 = $f1670.step;\n$al1674 = $f1670.from;\n$ans1673 = $f1670.ans;\n$elidedFrames1676 = $f1670.elidedFrames;\nf1670 = $f1670.args[0];\nlst11671 = $f1670.args[1];\nlst21672 = $f1670.args[2];\nann_check_temp1696 = $f1670.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[630],3,$t,false);\n}\nvar f1670 = $f1670;\nvar lst11671 = $lst11671;\nvar lst21672 = $lst21672;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1673 = R.mC();\n}\nwhile(!R.isContinuation($ans1673)) {\nswitch($step1668) {\ncase 0: $step1668 = 1;\n$al1674 = L[639];\nR._cA(L[639],R.Function,f1670);\nbreak;\ncase 1: $step1668 = 2;\n$al1674 = L[640];\nR._cA(L[640],List50,lst11671);\nbreak;\ncase 2: $step1668 = 3;\n$al1674 = L[641];\nR._cA(L[641],List50,lst21672);\nbreak;\ncase 3: var help1688 = {\"$var\":D};\nvar $temp_lam1678 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__631($l11679,$l21680) {\nvar $step1677 = 0;\nvar $elidedFrames1684 = 0;\nvar $ans1681 = D;\nvar $al1682 = L[631];\nif(R.isAR($l11679)) {\n$step1677 = $l11679.step;\n$al1682 = $l11679.from;\n$ans1681 = $l11679.ans;\n$elidedFrames1684 = $l11679.elidedFrames;\nl11679 = $l11679.args[0];\nl21680 = $l11679.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[631],2,$t,false);\n}\nvar l11679 = $l11679;\nvar l21680 = $l21680;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1681 = R.mC();\n}\nwhile(!R.isContinuation($ans1681)) {\nswitch($step1677) {\ncase 0: // caller optimization;\n$ans1681 = is$empty549.$var.app(l11679);\nvar anf_if1693 = $ans1681;\n$step1677 = R.checkPyretTrue(anf_if1693)?1:2;\nbreak;\ncase 1: $step1677 = 3;\n$ans1681 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1681 = is$empty549.$var.app(l21680);\nvar anf_arg1692 = $ans1681;\n$ans1681 = R.checkWrapBoolean(anf_arg1692);\n$step1677 = 3;\nbreak;\ncase 3: var anf_if1691 = $ans1681;\n$step1677 = R.checkPyretTrue(anf_if1691)?4:5;\nbreak;\ncase 4: $step1677 = 7;\n$ans1681 = nothing2;\nbreak;\ncase 5: $al1682 = L[632];\nvar anf_arg1686 = G(l11679,\"first\",L[632]);\n$al1682 = L[633];\nvar anf_arg1687 = G(l21680,\"first\",L[633]);\n$step1677 = 6;\n$al1682 = L[636];\nif(typeof(f1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1682,f1670);\n}\n$ans1681 = f1670.app(anf_arg1686,anf_arg1687);\nbreak;\ncase 6: $al1682 = L[634];\nvar anf_arg1689 = G(l11679,\"rest\",L[634]);\n$al1682 = L[635];\nvar anf_arg1690 = G(l21680,\"rest\",L[635]);\n$step1677 = 0;\n++$elidedFrames1684;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1681 = R.mC();\n}\nl11679 = anf_arg1689;\nl21680 = anf_arg1690;\ncontinue;\ncase 7: ++R.GAS;\nreturn $ans1681;\ndefault: R.ffi.throwSpinnakerError(L[631],$step1677);\n}\n}\nif($step1677 !== 7) {\n$ans1681.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1682,$temp_lam1678,$step1677,[l11679,l21680],[],$elidedFrames1684);\n}\nreturn $ans1681;\n};\nvar anf_assign1695 = R.mF($temp_lam1678,\"help\");\nhelp1688.$var = anf_assign1695;\nR.nothing;\n$step1668 = 4;\n$al1674 = L[638];\n// omitting isFunction check;\n$ans1673 = help1688.$var.app(lst11671,lst21672);\nbreak;\ncase 4: var ann_check_temp1696 = $ans1673;\n$step1668 = 5;\n$al1674 = L[637];\nvar $ann$check1697 = R._cA(L[637],$type$Nothing1,ann_check_temp1696);\nif(R.isContinuation($ann$check1697)) {\n$ans1673 = $ann$check1697;\n}\nbreak;\ncase 5: $step1668 = 6;\n$ans1673 = ann_check_temp1696;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1673;\ndefault: R.ffi.throwSpinnakerError(L[630],$step1668);\n}\n}\nif($step1668 !== 6) {\n$ans1673.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1674,$temp_lam1669,$step1668,[f1670,lst11671,lst21672],[ann_check_temp1696],$elidedFrames1676);\n}\nreturn $ans1673;\n};\nvar anf_assign1699 = R.mF($temp_lam1669,\"each2\");\neach21700.$var = anf_assign1699;\nR.nothing;\nvar $temp_lam1702 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__642($f1703,$lst11704,$lst21705,$lst31706) {\nvar $step1701 = 0;\nvar $elidedFrames1710 = 0;\nvar $ans1707 = D;\nvar $al1708 = L[642];\nif(R.isAR($f1703)) {\n$step1701 = $f1703.step;\n$al1708 = $f1703.from;\n$ans1707 = $f1703.ans;\n$elidedFrames1710 = $f1703.elidedFrames;\nf1703 = $f1703.args[0];\nlst11704 = $f1703.args[1];\nlst21705 = $f1703.args[2];\nlst31706 = $f1703.args[3];\nann_check_temp1733 = $f1703.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[642],4,$t,false);\n}\nvar f1703 = $f1703;\nvar lst11704 = $lst11704;\nvar lst21705 = $lst21705;\nvar lst31706 = $lst31706;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1707 = R.mC();\n}\nwhile(!R.isContinuation($ans1707)) {\nswitch($step1701) {\ncase 0: $step1701 = 1;\n$al1708 = L[653];\nR._cA(L[653],R.Function,f1703);\nbreak;\ncase 1: $step1701 = 2;\n$al1708 = L[654];\nR._cA(L[654],List50,lst11704);\nbreak;\ncase 2: $step1701 = 3;\n$al1708 = L[655];\nR._cA(L[655],List50,lst21705);\nbreak;\ncase 3: $step1701 = 4;\n$al1708 = L[656];\nR._cA(L[656],List50,lst31706);\nbreak;\ncase 4: var help1723 = {\"$var\":D};\nvar $temp_lam1712 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__643($l11713,$l21714,$l31715) {\nvar $step1711 = 0;\nvar $elidedFrames1719 = 0;\nvar $ans1716 = D;\nvar $al1717 = L[643];\nif(R.isAR($l11713)) {\n$step1711 = $l11713.step;\n$al1717 = $l11713.from;\n$ans1716 = $l11713.ans;\n$elidedFrames1719 = $l11713.elidedFrames;\nl11713 = $l11713.args[0];\nl21714 = $l11713.args[1];\nl31715 = $l11713.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[643],3,$t,false);\n}\nvar l11713 = $l11713;\nvar l21714 = $l21714;\nvar l31715 = $l31715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1716 = R.mC();\n}\nwhile(!R.isContinuation($ans1716)) {\nswitch($step1711) {\ncase 0: // caller optimization;\n$ans1716 = is$empty549.$var.app(l11713);\nvar anf_if1730 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1730)?1:2;\nbreak;\ncase 1: $step1711 = 5;\n$ans1716 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1716 = is$empty549.$var.app(l21714);\nvar anf_if1729 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1729)?3:4;\nbreak;\ncase 3: $step1711 = 5;\n$ans1716 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1716 = is$empty549.$var.app(l31715);\nvar anf_arg1728 = $ans1716;\n$ans1716 = R.checkWrapBoolean(anf_arg1728);\n$step1711 = 5;\nbreak;\ncase 5: var anf_if1727 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1727)?6:7;\nbreak;\ncase 6: $step1711 = 9;\n$ans1716 = nothing2;\nbreak;\ncase 7: $al1717 = L[644];\nvar anf_arg1720 = G(l11713,\"first\",L[644]);\n$al1717 = L[645];\nvar anf_arg1721 = G(l21714,\"first\",L[645]);\n$al1717 = L[646];\nvar anf_arg1722 = G(l31715,\"first\",L[646]);\n$step1711 = 8;\n$al1717 = L[650];\nif(typeof(f1703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1717,f1703);\n}\n$ans1716 = f1703.app(anf_arg1720,anf_arg1721,anf_arg1722);\nbreak;\ncase 8: $al1717 = L[647];\nvar anf_arg1724 = G(l11713,\"rest\",L[647]);\n$al1717 = L[648];\nvar anf_arg1725 = G(l21714,\"rest\",L[648]);\n$al1717 = L[649];\nvar anf_arg1726 = G(l31715,\"rest\",L[649]);\n$step1711 = 0;\n++$elidedFrames1719;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1716 = R.mC();\n}\nl11713 = anf_arg1724;\nl21714 = anf_arg1725;\nl31715 = anf_arg1726;\ncontinue;\ncase 9: ++R.GAS;\nreturn $ans1716;\ndefault: R.ffi.throwSpinnakerError(L[643],$step1711);\n}\n}\nif($step1711 !== 9) {\n$ans1716.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1717,$temp_lam1712,$step1711,[l11713,l21714,l31715],[],$elidedFrames1719);\n}\nreturn $ans1716;\n};\nvar anf_assign1732 = R.mF($temp_lam1712,\"help\");\nhelp1723.$var = anf_assign1732;\nR.nothing;\n$step1701 = 5;\n$al1708 = L[652];\n// omitting isFunction check;\n$ans1707 = help1723.$var.app(lst11704,lst21705,lst31706);\nbreak;\ncase 5: var ann_check_temp1733 = $ans1707;\n$step1701 = 6;\n$al1708 = L[651];\nvar $ann$check1734 = R._cA(L[651],$type$Nothing1,ann_check_temp1733);\nif(R.isContinuation($ann$check1734)) {\n$ans1707 = $ann$check1734;\n}\nbreak;\ncase 6: $step1701 = 7;\n$ans1707 = ann_check_temp1733;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1707;\ndefault: R.ffi.throwSpinnakerError(L[642],$step1701);\n}\n}\nif($step1701 !== 7) {\n$ans1707.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1708,$temp_lam1702,$step1701,[f1703,lst11704,lst21705,lst31706],[ann_check_temp1733],$elidedFrames1710);\n}\nreturn $ans1707;\n};\nvar anf_assign1736 = R.mF($temp_lam1702,\"each3\");\neach31737.$var = anf_assign1736;\nR.nothing;\nvar $temp_lam1739 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__657($f1876,$lst11740,$lst21741,$lst31742,$lst41743) {\nvar $step1738 = 0;\nvar $elidedFrames1747 = 0;\nvar $ans1744 = D;\nvar $al1745 = L[657];\nif(R.isAR($f1876)) {\n$step1738 = $f1876.step;\n$al1745 = $f1876.from;\n$ans1744 = $f1876.ans;\n$elidedFrames1747 = $f1876.elidedFrames;\nf1876 = $f1876.args[0];\nlst11740 = $f1876.args[1];\nlst21741 = $f1876.args[2];\nlst31742 = $f1876.args[3];\nlst41743 = $f1876.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[657],5,$t,false);\n}\nvar f1876 = $f1876;\nvar lst11740 = $lst11740;\nvar lst21741 = $lst21741;\nvar lst31742 = $lst31742;\nvar lst41743 = $lst41743;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1744 = R.mC();\n}\nwhile(!R.isContinuation($ans1744)) {\nswitch($step1738) {\ncase 0: $step1738 = 1;\n$al1745 = L[669];\nR._cA(L[669],R.Function,f1876);\nbreak;\ncase 1: $step1738 = 2;\n$al1745 = L[670];\nR._cA(L[670],List50,lst11740);\nbreak;\ncase 2: $step1738 = 3;\n$al1745 = L[671];\nR._cA(L[671],List50,lst21741);\nbreak;\ncase 3: $step1738 = 4;\n$al1745 = L[672];\nR._cA(L[672],List50,lst31742);\nbreak;\ncase 4: $step1738 = 5;\n$al1745 = L[673];\nR._cA(L[673],List50,lst41743);\nbreak;\ncase 5: var help1764 = {\"$var\":D};\nvar $temp_lam1749 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__658($l11750,$l21751,$l31752,$l41753) {\nvar $step1748 = 0;\nvar $elidedFrames1757 = 0;\nvar $ans1754 = D;\nvar $al1755 = L[658];\nif(R.isAR($l11750)) {\n$step1748 = $l11750.step;\n$al1755 = $l11750.from;\n$ans1754 = $l11750.ans;\n$elidedFrames1757 = $l11750.elidedFrames;\nl11750 = $l11750.args[0];\nl21751 = $l11750.args[1];\nl31752 = $l11750.args[2];\nl41753 = $l11750.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[658],4,$t,false);\n}\nvar l11750 = $l11750;\nvar l21751 = $l21751;\nvar l31752 = $l31752;\nvar l41753 = $l41753;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1754 = R.mC();\n}\nwhile(!R.isContinuation($ans1754)) {\nswitch($step1748) {\ncase 0: // caller optimization;\n$ans1754 = is$empty549.$var.app(l11750);\nvar anf_if1773 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1773)?1:2;\nbreak;\ncase 1: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1754 = is$empty549.$var.app(l21751);\nvar anf_if1772 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1772)?3:4;\nbreak;\ncase 3: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1754 = is$empty549.$var.app(l31752);\nvar anf_if1771 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1771)?5:6;\nbreak;\ncase 5: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1754 = is$empty549.$var.app(l41753);\nvar anf_arg1770 = $ans1754;\n$ans1754 = R.checkWrapBoolean(anf_arg1770);\n$step1748 = 7;\nbreak;\ncase 7: var anf_if1769 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1769)?8:9;\nbreak;\ncase 8: $step1748 = 11;\n$ans1754 = nothing2;\nbreak;\ncase 9: $al1755 = L[659];\nvar anf_arg1760 = G(l11750,\"first\",L[659]);\n$al1755 = L[660];\nvar anf_arg1761 = G(l21751,\"first\",L[660]);\n$al1755 = L[661];\nvar anf_arg1762 = G(l31752,\"first\",L[661]);\n$al1755 = L[662];\nvar anf_arg1763 = G(l41753,\"first\",L[662]);\n$step1748 = 10;\n$al1755 = L[667];\nif(typeof(f1876.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1755,f1876);\n}\n$ans1754 = f1876.app(anf_arg1760,anf_arg1761,anf_arg1762,anf_arg1763);\nbreak;\ncase 10: $al1755 = L[663];\nvar anf_arg1765 = G(l11750,\"rest\",L[663]);\n$al1755 = L[664];\nvar anf_arg1766 = G(l21751,\"rest\",L[664]);\n$al1755 = L[665];\nvar anf_arg1767 = G(l31752,\"rest\",L[665]);\n$al1755 = L[666];\nvar anf_arg1768 = G(l41753,\"rest\",L[666]);\n$step1748 = 0;\n++$elidedFrames1757;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1754 = R.mC();\n}\nl11750 = anf_arg1765;\nl21751 = anf_arg1766;\nl31752 = anf_arg1767;\nl41753 = anf_arg1768;\ncontinue;\ncase 11: ++R.GAS;\nreturn $ans1754;\ndefault: R.ffi.throwSpinnakerError(L[658],$step1748);\n}\n}\nif($step1748 !== 11) {\n$ans1754.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1755,$temp_lam1749,$step1748,[l11750,l21751,l31752,l41753],[],$elidedFrames1757);\n}\nreturn $ans1754;\n};\nvar anf_assign1775 = R.mF($temp_lam1749,\"help\");\nhelp1764.$var = anf_assign1775;\nR.nothing;\n$step1738 = 6;\n$al1745 = L[668];\n// omitting isFunction check;\n$ans1744 = help1764.$var.app(lst11740,lst21741,lst31742,lst41743);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1744;\ndefault: R.ffi.throwSpinnakerError(L[657],$step1738);\n}\n}\nif($step1738 !== 6) {\n$ans1744.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1745,$temp_lam1739,$step1738,[f1876,lst11740,lst21741,lst31742,lst41743],[],$elidedFrames1747);\n}\nreturn $ans1744;\n};\nvar anf_assign1777 = R.mF($temp_lam1739,\"each4\");\neach41778.$var = anf_assign1777;\nR.nothing;\nvar $temp_lam1780 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__674($f1781,$num1782,$lst1783) {\nvar $step1779 = 0;\nvar $elidedFrames1787 = 0;\nvar $ans1784 = D;\nvar $al1785 = L[674];\nif(R.isAR($f1781)) {\n$step1779 = $f1781.step;\n$al1785 = $f1781.from;\n$ans1784 = $f1781.ans;\n$elidedFrames1787 = $f1781.elidedFrames;\nf1781 = $f1781.args[0];\nnum1782 = $f1781.args[1];\nlst1783 = $f1781.args[2];\nann_check_temp1803 = $f1781.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[674],3,$t,false);\n}\nvar f1781 = $f1781;\nvar num1782 = $num1782;\nvar lst1783 = $lst1783;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1784 = R.mC();\n}\nwhile(!R.isContinuation($ans1784)) {\nswitch($step1779) {\ncase 0: $step1779 = 1;\n$al1785 = L[682];\nR._cA(L[682],R.Function,f1781);\nbreak;\ncase 1: $step1779 = 2;\n$al1785 = L[683];\nR._cA(L[683],$type$Number3,num1782);\nbreak;\ncase 2: $step1779 = 3;\n$al1785 = L[684];\nR._cA(L[684],List50,lst1783);\nbreak;\ncase 3: var help1797 = {\"$var\":D};\nvar $temp_lam1789 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__675($n1790,$l1791) {\nvar $step1788 = 0;\nvar $elidedFrames1795 = 0;\nvar $ans1792 = D;\nvar $al1793 = L[675];\nif(R.isAR($n1790)) {\n$step1788 = $n1790.step;\n$al1793 = $n1790.from;\n$ans1792 = $n1790.ans;\n$elidedFrames1795 = $n1790.elidedFrames;\nn1790 = $n1790.args[0];\nl1791 = $n1790.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[675],2,$t,false);\n}\nvar n1790 = $n1790;\nvar l1791 = $l1791;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1792 = R.mC();\n}\nwhile(!R.isContinuation($ans1792)) {\nswitch($step1788) {\ncase 0: // caller optimization;\n$ans1792 = is$empty549.$var.app(l1791);\nvar anf_if1800 = $ans1792;\n$step1788 = R.checkPyretTrue(anf_if1800)?1:2;\nbreak;\ncase 1: $step1788 = 5;\n$ans1792 = nothing2;\nbreak;\ncase 2: $al1793 = L[676];\nvar anf_arg1796 = G(l1791,\"first\",L[676]);\n$step1788 = 3;\n$al1793 = L[679];\nif(typeof(f1781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1793,f1781);\n}\n$ans1792 = f1781.app(n1790,anf_arg1796);\nbreak;\ncase 3: $step1788 = 4;\n$al1793 = L[678];\n// omitting isFunction check;\n$ans1792 = _plus5.app(n1790,(1));\nbreak;\ncase 4: var anf_arg1798 = $ans1792;\n$al1793 = L[677];\nvar anf_arg1799 = G(l1791,\"rest\",L[677]);\n$step1788 = 0;\n++$elidedFrames1795;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1792 = R.mC();\n}\nn1790 = anf_arg1798;\nl1791 = anf_arg1799;\ncontinue;\ncase 5: ++R.GAS;\nreturn $ans1792;\ndefault: R.ffi.throwSpinnakerError(L[675],$step1788);\n}\n}\nif($step1788 !== 5) {\n$ans1792.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1793,$temp_lam1789,$step1788,[n1790,l1791],[],$elidedFrames1795);\n}\nreturn $ans1792;\n};\nvar anf_assign1802 = R.mF($temp_lam1789,\"help\");\nhelp1797.$var = anf_assign1802;\nR.nothing;\n$step1779 = 4;\n$al1785 = L[681];\n// omitting isFunction check;\n$ans1784 = help1797.$var.app(num1782,lst1783);\nbreak;\ncase 4: var ann_check_temp1803 = $ans1784;\n$step1779 = 5;\n$al1785 = L[680];\nvar $ann$check1804 = R._cA(L[680],$type$Nothing1,ann_check_temp1803);\nif(R.isContinuation($ann$check1804)) {\n$ans1784 = $ann$check1804;\n}\nbreak;\ncase 5: $step1779 = 6;\n$ans1784 = ann_check_temp1803;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1784;\ndefault: R.ffi.throwSpinnakerError(L[674],$step1779);\n}\n}\nif($step1779 !== 6) {\n$ans1784.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1785,$temp_lam1780,$step1779,[f1781,num1782,lst1783],[ann_check_temp1803],$elidedFrames1787);\n}\nreturn $ans1784;\n};\nvar anf_assign1806 = R.mF($temp_lam1780,\"each_n\");\neach_n1807.$var = anf_assign1806;\nR.nothing;\nvar $temp_lam1809 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__685($f1810,$num1811,$lst11812,$lst21813) {\nvar $step1808 = 0;\nvar $elidedFrames1817 = 0;\nvar $ans1814 = D;\nvar $al1815 = L[685];\nif(R.isAR($f1810)) {\n$step1808 = $f1810.step;\n$al1815 = $f1810.from;\n$ans1814 = $f1810.ans;\n$elidedFrames1817 = $f1810.elidedFrames;\nf1810 = $f1810.args[0];\nnum1811 = $f1810.args[1];\nlst11812 = $f1810.args[2];\nlst21813 = $f1810.args[3];\nann_check_temp1839 = $f1810.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[685],4,$t,false);\n}\nvar f1810 = $f1810;\nvar num1811 = $num1811;\nvar lst11812 = $lst11812;\nvar lst21813 = $lst21813;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1814 = R.mC();\n}\nwhile(!R.isContinuation($ans1814)) {\nswitch($step1808) {\ncase 0: $step1808 = 1;\n$al1815 = L[695];\nR._cA(L[695],R.Function,f1810);\nbreak;\ncase 1: $step1808 = 2;\n$al1815 = L[696];\nR._cA(L[696],$type$Number3,num1811);\nbreak;\ncase 2: $step1808 = 3;\n$al1815 = L[697];\nR._cA(L[697],List50,lst11812);\nbreak;\ncase 3: $step1808 = 4;\n$al1815 = L[698];\nR._cA(L[698],List50,lst21813);\nbreak;\ncase 4: var help1830 = {\"$var\":D};\nvar $temp_lam1819 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__686($n1820,$l11821,$l21822) {\nvar $step1818 = 0;\nvar $elidedFrames1826 = 0;\nvar $ans1823 = D;\nvar $al1824 = L[686];\nif(R.isAR($n1820)) {\n$step1818 = $n1820.step;\n$al1824 = $n1820.from;\n$ans1823 = $n1820.ans;\n$elidedFrames1826 = $n1820.elidedFrames;\nn1820 = $n1820.args[0];\nl11821 = $n1820.args[1];\nl21822 = $n1820.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],3,$t,false);\n}\nvar n1820 = $n1820;\nvar l11821 = $l11821;\nvar l21822 = $l21822;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1823 = R.mC();\n}\nwhile(!R.isContinuation($ans1823)) {\nswitch($step1818) {\ncase 0: // caller optimization;\n$ans1823 = is$empty549.$var.app(l11821);\nvar anf_if1836 = $ans1823;\n$step1818 = R.checkPyretTrue(anf_if1836)?1:2;\nbreak;\ncase 1: $step1818 = 3;\n$ans1823 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1823 = is$empty549.$var.app(l21822);\nvar anf_arg1835 = $ans1823;\n$ans1823 = R.checkWrapBoolean(anf_arg1835);\n$step1818 = 3;\nbreak;\ncase 3: var anf_if1834 = $ans1823;\n$step1818 = R.checkPyretTrue(anf_if1834)?4:5;\nbreak;\ncase 4: $step1818 = 8;\n$ans1823 = nothing2;\nbreak;\ncase 5: $al1824 = L[687];\nvar anf_arg1828 = G(l11821,\"first\",L[687]);\n$al1824 = L[688];\nvar anf_arg1829 = G(l21822,\"first\",L[688]);\n$step1818 = 6;\n$al1824 = L[692];\nif(typeof(f1810.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1824,f1810);\n}\n$ans1823 = f1810.app(n1820,anf_arg1828,anf_arg1829);\nbreak;\ncase 6: $step1818 = 7;\n$al1824 = L[691];\n// omitting isFunction check;\n$ans1823 = _plus5.app(n1820,(1));\nbreak;\ncase 7: var anf_arg1831 = $ans1823;\n$al1824 = L[689];\nvar anf_arg1832 = G(l11821,\"rest\",L[689]);\n$al1824 = L[690];\nvar anf_arg1833 = G(l21822,\"rest\",L[690]);\n$step1818 = 0;\n++$elidedFrames1826;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1823 = R.mC();\n}\nn1820 = anf_arg1831;\nl11821 = anf_arg1832;\nl21822 = anf_arg1833;\ncontinue;\ncase 8: ++R.GAS;\nreturn $ans1823;\ndefault: R.ffi.throwSpinnakerError(L[686],$step1818);\n}\n}\nif($step1818 !== 8) {\n$ans1823.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1824,$temp_lam1819,$step1818,[n1820,l11821,l21822],[],$elidedFrames1826);\n}\nreturn $ans1823;\n};\nvar anf_assign1838 = R.mF($temp_lam1819,\"help\");\nhelp1830.$var = anf_assign1838;\nR.nothing;\n$step1808 = 5;\n$al1815 = L[694];\n// omitting isFunction check;\n$ans1814 = help1830.$var.app(num1811,lst11812,lst21813);\nbreak;\ncase 5: var ann_check_temp1839 = $ans1814;\n$step1808 = 6;\n$al1815 = L[693];\nvar $ann$check1840 = R._cA(L[693],$type$Nothing1,ann_check_temp1839);\nif(R.isContinuation($ann$check1840)) {\n$ans1814 = $ann$check1840;\n}\nbreak;\ncase 6: $step1808 = 7;\n$ans1814 = ann_check_temp1839;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1814;\ndefault: R.ffi.throwSpinnakerError(L[685],$step1808);\n}\n}\nif($step1808 !== 7) {\n$ans1814.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1815,$temp_lam1809,$step1808,[f1810,num1811,lst11812,lst21813],[ann_check_temp1839],$elidedFrames1817);\n}\nreturn $ans1814;\n};\nvar anf_assign1842 = R.mF($temp_lam1809,\"each2_n\");\neach2_n1843.$var = anf_assign1842;\nR.nothing;\nvar $temp_lam1845 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__699($f1846,$num1847,$lst11848,$lst21849,$lst31850) {\nvar $step1844 = 0;\nvar $elidedFrames1854 = 0;\nvar $ans1851 = D;\nvar $al1852 = L[699];\nif(R.isAR($f1846)) {\n$step1844 = $f1846.step;\n$al1852 = $f1846.from;\n$ans1851 = $f1846.ans;\n$elidedFrames1854 = $f1846.elidedFrames;\nf1846 = $f1846.args[0];\nnum1847 = $f1846.args[1];\nlst11848 = $f1846.args[2];\nlst21849 = $f1846.args[3];\nlst31850 = $f1846.args[4];\nann_check_temp1884 = $f1846.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[699],5,$t,false);\n}\nvar f1846 = $f1846;\nvar num1847 = $num1847;\nvar lst11848 = $lst11848;\nvar lst21849 = $lst21849;\nvar lst31850 = $lst31850;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1851 = R.mC();\n}\nwhile(!R.isContinuation($ans1851)) {\nswitch($step1844) {\ncase 0: $step1844 = 1;\n$al1852 = L[711];\nR._cA(L[711],R.Function,f1846);\nbreak;\ncase 1: $step1844 = 2;\n$al1852 = L[712];\nR._cA(L[712],$type$Number3,num1847);\nbreak;\ncase 2: $step1844 = 3;\n$al1852 = L[713];\nR._cA(L[713],List50,lst11848);\nbreak;\ncase 3: $step1844 = 4;\n$al1852 = L[714];\nR._cA(L[714],List50,lst21849);\nbreak;\ncase 4: $step1844 = 5;\n$al1852 = L[715];\nR._cA(L[715],List50,lst31850);\nbreak;\ncase 5: var help1873 = {\"$var\":D};\nvar $temp_lam1856 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__700($n1857,$l11858,$l21859,$l31860) {\nvar $step1855 = 0;\nvar $elidedFrames1864 = 0;\nvar $ans1861 = D;\nvar $al1862 = L[700];\nif(R.isAR($n1857)) {\n$step1855 = $n1857.step;\n$al1862 = $n1857.from;\n$ans1861 = $n1857.ans;\n$elidedFrames1864 = $n1857.elidedFrames;\nn1857 = $n1857.args[0];\nl11858 = $n1857.args[1];\nl21859 = $n1857.args[2];\nl31860 = $n1857.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[700],4,$t,false);\n}\nvar n1857 = $n1857;\nvar l11858 = $l11858;\nvar l21859 = $l21859;\nvar l31860 = $l31860;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1861 = R.mC();\n}\nwhile(!R.isContinuation($ans1861)) {\nswitch($step1855) {\ncase 0: // caller optimization;\n$ans1861 = is$empty549.$var.app(l11858);\nvar anf_if1881 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1881)?1:2;\nbreak;\ncase 1: $step1855 = 5;\n$ans1861 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1861 = is$empty549.$var.app(l21859);\nvar anf_if1880 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1880)?3:4;\nbreak;\ncase 3: $step1855 = 5;\n$ans1861 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1861 = is$empty549.$var.app(l31860);\nvar anf_arg1879 = $ans1861;\n$ans1861 = R.checkWrapBoolean(anf_arg1879);\n$step1855 = 5;\nbreak;\ncase 5: var anf_if1878 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1878)?6:7;\nbreak;\ncase 6: $step1855 = 10;\n$ans1861 = nothing2;\nbreak;\ncase 7: $al1862 = L[701];\nvar anf_arg1866 = G(l11858,\"first\",L[701]);\n$al1862 = L[702];\nvar anf_arg1871 = G(l21859,\"first\",L[702]);\n$al1862 = L[703];\nvar anf_arg1872 = G(l31860,\"first\",L[703]);\n$step1855 = 8;\n$al1862 = L[708];\nif(typeof(f1846.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1862,f1846);\n}\n$ans1861 = f1846.app(n1857,anf_arg1866,anf_arg1871,anf_arg1872);\nbreak;\ncase 8: $step1855 = 9;\n$al1862 = L[707];\n// omitting isFunction check;\n$ans1861 = _plus5.app(n1857,(1));\nbreak;\ncase 9: var anf_arg1874 = $ans1861;\n$al1862 = L[704];\nvar anf_arg1875 = G(l11858,\"rest\",L[704]);\n$al1862 = L[705];\nvar anf_arg1876 = G(l21859,\"rest\",L[705]);\n$al1862 = L[706];\nvar anf_arg1877 = G(l31860,\"rest\",L[706]);\n$step1855 = 0;\n++$elidedFrames1864;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1861 = R.mC();\n}\nn1857 = anf_arg1874;\nl11858 = anf_arg1875;\nl21859 = anf_arg1876;\nl31860 = anf_arg1877;\ncontinue;\ncase 10: ++R.GAS;\nreturn $ans1861;\ndefault: R.ffi.throwSpinnakerError(L[700],$step1855);\n}\n}\nif($step1855 !== 10) {\n$ans1861.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1862,$temp_lam1856,$step1855,[n1857,l11858,l21859,l31860],[],$elidedFrames1864);\n}\nreturn $ans1861;\n};\nvar anf_assign1883 = R.mF($temp_lam1856,\"help\");\nhelp1873.$var = anf_assign1883;\nR.nothing;\n$step1844 = 6;\n$al1852 = L[710];\n// omitting isFunction check;\n$ans1851 = help1873.$var.app(num1847,lst11848,lst21849,lst31850);\nbreak;\ncase 6: var ann_check_temp1884 = $ans1851;\n$step1844 = 7;\n$al1852 = L[709];\nvar $ann$check1885 = R._cA(L[709],$type$Nothing1,ann_check_temp1884);\nif(R.isContinuation($ann$check1885)) {\n$ans1851 = $ann$check1885;\n}\nbreak;\ncase 7: $step1844 = 8;\n$ans1851 = ann_check_temp1884;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1851;\ndefault: R.ffi.throwSpinnakerError(L[699],$step1844);\n}\n}\nif($step1844 !== 8) {\n$ans1851.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1852,$temp_lam1845,$step1844,[f1846,num1847,lst11848,lst21849,lst31850],[ann_check_temp1884],$elidedFrames1854);\n}\nreturn $ans1851;\n};\nvar anf_assign1887 = R.mF($temp_lam1845,\"each3_n\");\neach3_n1888.$var = anf_assign1887;\nR.nothing;\nvar $temp_lam1890 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__716($f1891,$num1892,$lst11893,$lst21894,$lst31895,$lst41896) {\nvar $step1889 = 0;\nvar $elidedFrames1900 = 0;\nvar $ans1897 = D;\nvar $al1898 = L[716];\nif(R.isAR($f1891)) {\n$step1889 = $f1891.step;\n$al1898 = $f1891.from;\n$ans1897 = $f1891.ans;\n$elidedFrames1900 = $f1891.elidedFrames;\nf1891 = $f1891.args[0];\nnum1892 = $f1891.args[1];\nlst11893 = $f1891.args[2];\nlst21894 = $f1891.args[3];\nlst31895 = $f1891.args[4];\nlst41896 = $f1891.args[5];\nann_check_temp1935 = $f1891.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[716],6,$t,false);\n}\nvar f1891 = $f1891;\nvar num1892 = $num1892;\nvar lst11893 = $lst11893;\nvar lst21894 = $lst21894;\nvar lst31895 = $lst31895;\nvar lst41896 = $lst41896;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1897 = R.mC();\n}\nwhile(!R.isContinuation($ans1897)) {\nswitch($step1889) {\ncase 0: $step1889 = 1;\n$al1898 = L[730];\nR._cA(L[730],R.Function,f1891);\nbreak;\ncase 1: $step1889 = 2;\n$al1898 = L[731];\nR._cA(L[731],$type$Number3,num1892);\nbreak;\ncase 2: $step1889 = 3;\n$al1898 = L[732];\nR._cA(L[732],List50,lst11893);\nbreak;\ncase 3: $step1889 = 4;\n$al1898 = L[733];\nR._cA(L[733],List50,lst21894);\nbreak;\ncase 4: $step1889 = 5;\n$al1898 = L[734];\nR._cA(L[734],List50,lst31895);\nbreak;\ncase 5: $step1889 = 6;\n$al1898 = L[735];\nR._cA(L[735],List50,lst41896);\nbreak;\ncase 6: var help1922 = {\"$var\":D};\nvar $temp_lam1902 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__717($n1903,$l11904,$l21905,$l31906,$l41907) {\nvar $step1901 = 0;\nvar $elidedFrames1911 = 0;\nvar $ans1908 = D;\nvar $al1909 = L[717];\nif(R.isAR($n1903)) {\n$step1901 = $n1903.step;\n$al1909 = $n1903.from;\n$ans1908 = $n1903.ans;\n$elidedFrames1911 = $n1903.elidedFrames;\nn1903 = $n1903.args[0];\nl11904 = $n1903.args[1];\nl21905 = $n1903.args[2];\nl31906 = $n1903.args[3];\nl41907 = $n1903.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[717],5,$t,false);\n}\nvar n1903 = $n1903;\nvar l11904 = $l11904;\nvar l21905 = $l21905;\nvar l31906 = $l31906;\nvar l41907 = $l41907;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1908 = R.mC();\n}\nwhile(!R.isContinuation($ans1908)) {\nswitch($step1901) {\ncase 0: // caller optimization;\n$ans1908 = is$empty549.$var.app(l11904);\nvar anf_if1932 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1932)?1:2;\nbreak;\ncase 1: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1908 = is$empty549.$var.app(l21905);\nvar anf_if1931 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1931)?3:4;\nbreak;\ncase 3: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1908 = is$empty549.$var.app(l31906);\nvar anf_if1930 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1930)?5:6;\nbreak;\ncase 5: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1908 = is$empty549.$var.app(l41907);\nvar anf_arg1929 = $ans1908;\n$ans1908 = R.checkWrapBoolean(anf_arg1929);\n$step1901 = 7;\nbreak;\ncase 7: var anf_if1928 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1928)?8:9;\nbreak;\ncase 8: $step1901 = 12;\n$ans1908 = nothing2;\nbreak;\ncase 9: $al1909 = L[718];\nvar anf_arg1912 = G(l11904,\"first\",L[718]);\n$al1909 = L[719];\nvar anf_arg1914 = G(l21905,\"first\",L[719]);\n$al1909 = L[720];\nvar anf_arg1917 = G(l31906,\"first\",L[720]);\n$al1909 = L[721];\nvar anf_arg1921 = G(l41907,\"first\",L[721]);\n$step1901 = 10;\n$al1909 = L[727];\nif(typeof(f1891.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1909,f1891);\n}\n$ans1908 = f1891.app(n1903,anf_arg1912,anf_arg1914,anf_arg1917,anf_arg1921);\nbreak;\ncase 10: $step1901 = 11;\n$al1909 = L[726];\n// omitting isFunction check;\n$ans1908 = _plus5.app(n1903,(1));\nbreak;\ncase 11: var anf_arg1923 = $ans1908;\n$al1909 = L[722];\nvar anf_arg1924 = G(l11904,\"rest\",L[722]);\n$al1909 = L[723];\nvar anf_arg1925 = G(l21905,\"rest\",L[723]);\n$al1909 = L[724];\nvar anf_arg1926 = G(l31906,\"rest\",L[724]);\n$al1909 = L[725];\nvar anf_arg1927 = G(l41907,\"rest\",L[725]);\n$step1901 = 0;\n++$elidedFrames1911;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1908 = R.mC();\n}\nn1903 = anf_arg1923;\nl11904 = anf_arg1924;\nl21905 = anf_arg1925;\nl31906 = anf_arg1926;\nl41907 = anf_arg1927;\ncontinue;\ncase 12: ++R.GAS;\nreturn $ans1908;\ndefault: R.ffi.throwSpinnakerError(L[717],$step1901);\n}\n}\nif($step1901 !== 12) {\n$ans1908.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1909,$temp_lam1902,$step1901,[n1903,l11904,l21905,l31906,l41907],[],$elidedFrames1911);\n}\nreturn $ans1908;\n};\nvar anf_assign1934 = R.mF($temp_lam1902,\"help\");\nhelp1922.$var = anf_assign1934;\nR.nothing;\n$step1889 = 7;\n$al1898 = L[729];\n// omitting isFunction check;\n$ans1897 = help1922.$var.app(num1892,lst11893,lst21894,lst31895,lst41896);\nbreak;\ncase 7: var ann_check_temp1935 = $ans1897;\n$step1889 = 8;\n$al1898 = L[728];\nvar $ann$check1936 = R._cA(L[728],$type$Nothing1,ann_check_temp1935);\nif(R.isContinuation($ann$check1936)) {\n$ans1897 = $ann$check1936;\n}\nbreak;\ncase 8: $step1889 = 9;\n$ans1897 = ann_check_temp1935;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1897;\ndefault: R.ffi.throwSpinnakerError(L[716],$step1889);\n}\n}\nif($step1889 !== 9) {\n$ans1897.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1898,$temp_lam1890,$step1889,[f1891,num1892,lst11893,lst21894,lst31895,lst41896],[ann_check_temp1935],$elidedFrames1900);\n}\nreturn $ans1897;\n};\nvar anf_assign1938 = R.mF($temp_lam1890,\"each4_n\");\neach4_n1939.$var = anf_assign1938;\nR.nothing;\nvar $temp_lam1942 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__736($f1943,$base1944,$lst1945) {\nvar $step1941 = 0;\nvar $elidedFrames1950 = 0;\nvar $ans1947 = D;\nvar $al1948 = L[736];\nif(R.isAR($f1943)) {\n$step1941 = $f1943.step;\n$al1948 = $f1943.from;\n$ans1947 = $f1943.ans;\n$elidedFrames1950 = $f1943.elidedFrames;\nf1943 = $f1943.args[0];\nbase1944 = $f1943.args[1];\nlst1945 = $f1943.args[2];\ncases1951 = $f1943.vars[0];\nann_check_temp1952 = $f1943.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[736],3,$t,false);\n}\nvar f1943 = $f1943;\nvar base1944 = $base1944;\nvar lst1945 = $lst1945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1947 = R.mC();\n}\nwhile(!R.isContinuation($ans1947)) {\nswitch($step1941) {\ncase 0: $step1941 = 1;\n$al1948 = L[748];\nR._cA(L[748],R.Function,f1943);\nbreak;\ncase 1: $step1941 = 2;\n$al1948 = L[749];\nR._cA(L[749],R.Any,base1944);\nbreak;\ncase 2: $step1941 = 3;\n$al1948 = L[750];\nR._cA(L[750],List50,lst1945);\nbreak;\ncase 3: var cases1951 = lst1945;\n$step1941 = 4;\n$al1948 = L[747];\nvar $ann$check1980 = R._cA(L[747],List50,cases1951);\nif(R.isContinuation($ann$check1980)) {\n$ans1947 = $ann$check1980;\n}\nbreak;\ncase 4: $al1948 = L[739];\n$step1941 = $cases_dispatch1979[cases1951.$name] || 7;\nbreak;\ncase 5: if(cases1951.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[738],false,L[739],cases1951.$loc);\n}\n$step1941 = 8;\n$ans1947 = base1944;\nbreak;\ncase 6: if(cases1951.$arity !== 2) {\nif(cases1951.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[746],2,cases1951.$arity,L[739],cases1951.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[746],true,L[739],cases1951.$loc);\n}\n}\n$step1941 = 8;\n$al1948 = L[746];\nvar $temp_branch1966 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__739($elt1954,$r1958) {\nvar $step1967 = 0;\nvar $elidedFrames1971 = 0;\nvar $ans1968 = D;\nvar $al1969 = L[741];\nif(R.isAR($elt1954)) {\n$step1967 = $elt1954.step;\n$al1969 = $elt1954.from;\n$ans1968 = $elt1954.ans;\n$elidedFrames1971 = $elt1954.elidedFrames;\nelt1954 = $elt1954.args[0];\nr1958 = $elt1954.args[1];\ncases1955 = $elt1954.vars[0];\n} else {\nvar elt1954 = $elt1954;\nvar r1958 = $r1958;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1968 = R.mC();\n}\nwhile(!R.isContinuation($ans1968)) {\nswitch($step1967) {\ncase 0: $step1967 = 1;\n$al1969 = L[744];\nif(typeof(f1943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1969,f1943);\n}\n$ans1968 = f1943.app(base1944,elt1954);\nbreak;\ncase 1: var cases1955 = $ans1968;\n$step1967 = 2;\n$al1969 = L[743];\nvar $ann$check1977 = R._cA(L[743],Either18,cases1955);\nif(R.isContinuation($ann$check1977)) {\n$ans1968 = $ann$check1977;\n}\nbreak;\ncase 2: $al1969 = L[741];\n$step1967 = $cases_dispatch1976[cases1955.$name] || 5;\nbreak;\ncase 3: if(cases1955.$arity !== 1) {\nif(cases1955.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[740],1,cases1955.$arity,L[741],cases1955.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[740],true,L[741],cases1955.$loc);\n}\n}\nvar $fn1973 = cases1955.$constructor.$fieldNames;\nvar v1957 = R.dF(cases1955.dict[$fn1973[0]],cases1955.$mut_fields_mask[0],false);\n$step1967 = 6;\n$al1969 = L[745];\n// omitting isFunction check;\n$ans1968 = fold$while1956.$var.app(f1943,v1957,r1958);\nbreak;\ncase 4: if(cases1955.$arity !== 1) {\nif(cases1955.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[742],1,cases1955.$arity,L[741],cases1955.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[742],true,L[741],cases1955.$loc);\n}\n}\nvar $fn1975 = cases1955.$constructor.$fieldNames;\nvar v1961 = R.dF(cases1955.dict[$fn1975[0]],cases1955.$mut_fields_mask[0],false);\n$step1967 = 6;\n$ans1968 = v1961;\nbreak;\ncase 5: $ans1968 = R.throwNoCasesMatched(L[741],cases1955);\n$step1967 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1968;\ndefault: R.ffi.throwSpinnakerError(L[741],$step1967);\n}\n}\nif($step1967 !== 6) {\n$ans1968.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1969,$temp_branch1966,$step1967,[elt1954,r1958],[cases1955],$elidedFrames1971);\n}\nreturn $ans1968;\n};\n$ans1947 = cases1951.$app_fields($temp_branch1966,[false,false]);\nbreak;\ncase 7: $ans1947 = R.throwNoCasesMatched(L[739],cases1951);\n$step1941 = 8;\nbreak;\ncase 8: var ann_check_temp1952 = $ans1947;\n$step1941 = 9;\n$al1948 = L[737];\nvar $ann$check1953 = R._cA(L[737],R.Any,ann_check_temp1952);\nif(R.isContinuation($ann$check1953)) {\n$ans1947 = $ann$check1953;\n}\nbreak;\ncase 9: $step1941 = 10;\n$ans1947 = ann_check_temp1952;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1947;\ndefault: R.ffi.throwSpinnakerError(L[736],$step1941);\n}\n}\nif($step1941 !== 10) {\n$ans1947.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1948,$temp_lam1942,$step1941,[f1943,base1944,lst1945],[cases1951,ann_check_temp1952],$elidedFrames1950);\n}\nreturn $ans1947;\n};\nvar anf_assign1982 = R.mF($temp_lam1942,\"fold-while\");\nfold$while1956.$var = anf_assign1982;\nR.nothing;\nvar $temp_lam1984 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__751($f1985,$base1986,$lst1987) {\nvar $step1983 = 0;\nvar $elidedFrames1991 = 0;\nvar $ans1988 = D;\nvar $al1989 = L[751];\nif(R.isAR($f1985)) {\n$step1983 = $f1985.step;\n$al1989 = $f1985.from;\n$ans1988 = $f1985.ans;\n$elidedFrames1991 = $f1985.elidedFrames;\nf1985 = $f1985.args[0];\nbase1986 = $f1985.args[1];\nlst1987 = $f1985.args[2];\nann_check_temp1992 = $f1985.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[751],3,$t,false);\n}\nvar f1985 = $f1985;\nvar base1986 = $base1986;\nvar lst1987 = $lst1987;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1988 = R.mC();\n}\nwhile(!R.isContinuation($ans1988)) {\nswitch($step1983) {\ncase 0: $step1983 = 1;\n$al1989 = L[754];\nR._cA(L[754],R.Function,f1985);\nbreak;\ncase 1: $step1983 = 2;\n$al1989 = L[755];\nR._cA(L[755],R.Any,base1986);\nbreak;\ncase 2: $step1983 = 3;\n$al1989 = L[756];\nR._cA(L[756],List50,lst1987);\nbreak;\ncase 3: $step1983 = 4;\n$ans1988 = R.maybeMethodCall3(builtins1,\"raw-list-fold\",L[752],f1985,base1986,lst1987);\nbreak;\ncase 4: var ann_check_temp1992 = $ans1988;\n$step1983 = 5;\n$al1989 = L[753];\nvar $ann$check1993 = R._cA(L[753],R.Any,ann_check_temp1992);\nif(R.isContinuation($ann$check1993)) {\n$ans1988 = $ann$check1993;\n}\nbreak;\ncase 5: $step1983 = 6;\n$ans1988 = ann_check_temp1992;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1988;\ndefault: R.ffi.throwSpinnakerError(L[751],$step1983);\n}\n}\nif($step1983 !== 6) {\n$ans1988.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1989,$temp_lam1984,$step1983,[f1985,base1986,lst1987],[ann_check_temp1992],$elidedFrames1991);\n}\nreturn $ans1988;\n};\nvar anf_assign1995 = R.mF($temp_lam1984,\"fold\");\nfold927.$var = anf_assign1995;\nR.nothing;\nvar $temp_lam1997 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__757($f1998,$base1999,$lst2000) {\nvar $step1996 = 0;\nvar $elidedFrames2004 = 0;\nvar $ans2001 = D;\nvar $al2002 = L[757];\nif(R.isAR($f1998)) {\n$step1996 = $f1998.step;\n$al2002 = $f1998.from;\n$ans2001 = $f1998.ans;\n$elidedFrames2004 = $f1998.elidedFrames;\nf1998 = $f1998.args[0];\nbase1999 = $f1998.args[1];\nlst2000 = $f1998.args[2];\nann_check_temp2005 = $f1998.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[757],3,$t,false);\n}\nvar f1998 = $f1998;\nvar base1999 = $base1999;\nvar lst2000 = $lst2000;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2001 = R.mC();\n}\nwhile(!R.isContinuation($ans2001)) {\nswitch($step1996) {\ncase 0: $step1996 = 1;\n$al2002 = L[763];\nR._cA(L[763],R.Function,f1998);\nbreak;\ncase 1: $step1996 = 2;\n$al2002 = L[764];\nR._cA(L[764],R.Any,base1999);\nbreak;\ncase 2: $step1996 = 3;\n$al2002 = L[765];\nR._cA(L[765],List50,lst2000);\nbreak;\ncase 3: // caller optimization;\n$ans2001 = is$empty549.$var.app(lst2000);\nvar anf_if2011 = $ans2001;\n$step1996 = R.checkPyretTrue(anf_if2011)?4:5;\nbreak;\ncase 4: $step1996 = 7;\n$ans2001 = base1999;\nbreak;\ncase 5: $al2002 = L[759];\nvar anf_arg2008 = G(lst2000,\"rest\",L[759]);\n$step1996 = 6;\n$al2002 = L[762];\n// omitting isFunction check;\n$ans2001 = foldr2007.$var.app(f1998,base1999,anf_arg2008);\nbreak;\ncase 6: var anf_arg2009 = $ans2001;\n$al2002 = L[760];\nvar anf_arg2010 = G(lst2000,\"first\",L[760]);\n$step1996 = 7;\n$al2002 = L[761];\nif(typeof(f1998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2002,f1998);\n}\n$ans2001 = f1998.app(anf_arg2009,anf_arg2010);\nbreak;\ncase 7: var ann_check_temp2005 = $ans2001;\n$step1996 = 8;\n$al2002 = L[758];\nvar $ann$check2006 = R._cA(L[758],R.Any,ann_check_temp2005);\nif(R.isContinuation($ann$check2006)) {\n$ans2001 = $ann$check2006;\n}\nbreak;\ncase 8: $step1996 = 9;\n$ans2001 = ann_check_temp2005;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2001;\ndefault: R.ffi.throwSpinnakerError(L[757],$step1996);\n}\n}\nif($step1996 !== 9) {\n$ans2001.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2002,$temp_lam1997,$step1996,[f1998,base1999,lst2000],[ann_check_temp2005],$elidedFrames2004);\n}\nreturn $ans2001;\n};\nvar anf_assign2013 = R.mF($temp_lam1997,\"foldr\");\nfoldr2007.$var = anf_assign2013;\nR.nothing;\nvar $temp_lam2015 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__766($f2016,$base2017,$l12018,$l22019) {\nvar $step2014 = 0;\nvar $elidedFrames2023 = 0;\nvar $ans2020 = D;\nvar $al2021 = L[766];\nif(R.isAR($f2016)) {\n$step2014 = $f2016.step;\n$al2021 = $f2016.from;\n$ans2020 = $f2016.ans;\n$elidedFrames2023 = $f2016.elidedFrames;\nf2016 = $f2016.args[0];\nbase2017 = $f2016.args[1];\nl12018 = $f2016.args[2];\nl22019 = $f2016.args[3];\nann_check_temp2024 = $f2016.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[766],4,$t,false);\n}\nvar f2016 = $f2016;\nvar base2017 = $base2017;\nvar l12018 = $l12018;\nvar l22019 = $l22019;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2020 = R.mC();\n}\nwhile(!R.isContinuation($ans2020)) {\nswitch($step2014) {\ncase 0: $step2014 = 1;\n$al2021 = L[773];\nR._cA(L[773],R.Function,f2016);\nbreak;\ncase 1: $step2014 = 2;\n$al2021 = L[774];\nR._cA(L[774],R.Any,base2017);\nbreak;\ncase 2: $step2014 = 3;\n$al2021 = L[775];\nR._cA(L[775],List50,l12018);\nbreak;\ncase 3: $step2014 = 4;\n$al2021 = L[776];\nR._cA(L[776],List50,l22019);\nbreak;\ncase 4: // caller optimization;\n$ans2020 = is$empty549.$var.app(l12018);\nvar anf_if2057 = $ans2020;\n$step2014 = R.checkPyretTrue(anf_if2057)?5:6;\nbreak;\ncase 5: $step2014 = 7;\n$ans2020 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans2020 = is$empty549.$var.app(l22019);\nvar anf_arg2056 = $ans2020;\n$ans2020 = R.checkWrapBoolean(anf_arg2056);\n$step2014 = 7;\nbreak;\ncase 7: var anf_if2055 = $ans2020;\n$step2014 = R.checkPyretTrue(anf_if2055)?8:9;\nbreak;\ncase 8: $step2014 = 11;\n$ans2020 = base2017;\nbreak;\ncase 9: $al2021 = L[768];\nvar anf_arg2028 = G(l12018,\"first\",L[768]);\n$al2021 = L[769];\nvar anf_arg2035 = G(l22019,\"first\",L[769]);\n$step2014 = 10;\n$al2021 = L[772];\nif(typeof(f2016.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2021,f2016);\n}\n$ans2020 = f2016.app(base2017,anf_arg2028,anf_arg2035);\nbreak;\ncase 10: var anf_arg2042 = $ans2020;\n$al2021 = L[770];\nvar anf_arg2049 = G(l12018,\"rest\",L[770]);\n$al2021 = L[771];\nvar anf_arg2053 = G(l22019,\"rest\",L[771]);\n$step2014 = 0;\n++$elidedFrames2023;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2020 = R.mC();\n}\nf2016 = f2016;\nbase2017 = anf_arg2042;\nl12018 = anf_arg2049;\nl22019 = anf_arg2053;\ncontinue;\ncase 11: var ann_check_temp2024 = $ans2020;\n$step2014 = 12;\n$al2021 = L[767];\nvar $ann$check2025 = R._cA(L[767],R.Any,ann_check_temp2024);\nif(R.isContinuation($ann$check2025)) {\n$ans2020 = $ann$check2025;\n}\nbreak;\ncase 12: $step2014 = 13;\n$ans2020 = ann_check_temp2024;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans2020;\ndefault: R.ffi.throwSpinnakerError(L[766],$step2014);\n}\n}\nif($step2014 !== 13) {\n$ans2020.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2021,$temp_lam2015,$step2014,[f2016,base2017,l12018,l22019],[ann_check_temp2024],$elidedFrames2023);\n}\nreturn $ans2020;\n};\nvar anf_assign2059 = R.mF($temp_lam2015,\"fold2\");\nfold22036.$var = anf_assign2059;\nR.nothing;\nvar $temp_lam2061 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__777($f2062,$base2063,$l12064,$l22065,$l32066) {\nvar $step2060 = 0;\nvar $elidedFrames2070 = 0;\nvar $ans2067 = D;\nvar $al2068 = L[777];\nif(R.isAR($f2062)) {\n$step2060 = $f2062.step;\n$al2068 = $f2062.from;\n$ans2067 = $f2062.ans;\n$elidedFrames2070 = $f2062.elidedFrames;\nf2062 = $f2062.args[0];\nbase2063 = $f2062.args[1];\nl12064 = $f2062.args[2];\nl22065 = $f2062.args[3];\nl32066 = $f2062.args[4];\nann_check_temp2071 = $f2062.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[777],5,$t,false);\n}\nvar f2062 = $f2062;\nvar base2063 = $base2063;\nvar l12064 = $l12064;\nvar l22065 = $l22065;\nvar l32066 = $l32066;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2067 = R.mC();\n}\nwhile(!R.isContinuation($ans2067)) {\nswitch($step2060) {\ncase 0: $step2060 = 1;\n$al2068 = L[786];\nR._cA(L[786],R.Function,f2062);\nbreak;\ncase 1: $step2060 = 2;\n$al2068 = L[787];\nR._cA(L[787],R.Any,base2063);\nbreak;\ncase 2: $step2060 = 3;\n$al2068 = L[788];\nR._cA(L[788],List50,l12064);\nbreak;\ncase 3: $step2060 = 4;\n$al2068 = L[789];\nR._cA(L[789],List50,l22065);\nbreak;\ncase 4: $step2060 = 5;\n$al2068 = L[790];\nR._cA(L[790],List50,l32066);\nbreak;\ncase 5: // caller optimization;\n$ans2067 = is$empty549.$var.app(l12064);\nvar anf_if2085 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2085)?6:7;\nbreak;\ncase 6: $step2060 = 10;\n$ans2067 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans2067 = is$empty549.$var.app(l22065);\nvar anf_if2084 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2084)?8:9;\nbreak;\ncase 8: $step2060 = 10;\n$ans2067 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans2067 = is$empty549.$var.app(l32066);\nvar anf_arg2083 = $ans2067;\n$ans2067 = R.checkWrapBoolean(anf_arg2083);\n$step2060 = 10;\nbreak;\ncase 10: var anf_if2082 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2082)?11:12;\nbreak;\ncase 11: $step2060 = 14;\n$ans2067 = base2063;\nbreak;\ncase 12: $al2068 = L[779];\nvar anf_arg2074 = G(l12064,\"first\",L[779]);\n$al2068 = L[780];\nvar anf_arg2075 = G(l22065,\"first\",L[780]);\n$al2068 = L[781];\nvar anf_arg2076 = G(l32066,\"first\",L[781]);\n$step2060 = 13;\n$al2068 = L[785];\nif(typeof(f2062.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2068,f2062);\n}\n$ans2067 = f2062.app(base2063,anf_arg2074,anf_arg2075,anf_arg2076);\nbreak;\ncase 13: var anf_arg2078 = $ans2067;\n$al2068 = L[782];\nvar anf_arg2079 = G(l12064,\"rest\",L[782]);\n$al2068 = L[783];\nvar anf_arg2080 = G(l22065,\"rest\",L[783]);\n$al2068 = L[784];\nvar anf_arg2081 = G(l32066,\"rest\",L[784]);\n$step2060 = 0;\n++$elidedFrames2070;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2067 = R.mC();\n}\nf2062 = f2062;\nbase2063 = anf_arg2078;\nl12064 = anf_arg2079;\nl22065 = anf_arg2080;\nl32066 = anf_arg2081;\ncontinue;\ncase 14: var ann_check_temp2071 = $ans2067;\n$step2060 = 15;\n$al2068 = L[778];\nvar $ann$check2072 = R._cA(L[778],R.Any,ann_check_temp2071);\nif(R.isContinuation($ann$check2072)) {\n$ans2067 = $ann$check2072;\n}\nbreak;\ncase 15: $step2060 = 16;\n$ans2067 = ann_check_temp2071;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans2067;\ndefault: R.ffi.throwSpinnakerError(L[777],$step2060);\n}\n}\nif($step2060 !== 16) {\n$ans2067.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2068,$temp_lam2061,$step2060,[f2062,base2063,l12064,l22065,l32066],[ann_check_temp2071],$elidedFrames2070);\n}\nreturn $ans2067;\n};\nvar anf_assign2087 = R.mF($temp_lam2061,\"fold3\");\nfold32077.$var = anf_assign2087;\nR.nothing;\nvar $temp_lam2089 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__791($f2090,$base2091,$l12092,$l22093,$l32094,$l42095) {\nvar $step2088 = 0;\nvar $elidedFrames2099 = 0;\nvar $ans2096 = D;\nvar $al2097 = L[791];\nif(R.isAR($f2090)) {\n$step2088 = $f2090.step;\n$al2097 = $f2090.from;\n$ans2096 = $f2090.ans;\n$elidedFrames2099 = $f2090.elidedFrames;\nf2090 = $f2090.args[0];\nbase2091 = $f2090.args[1];\nl12092 = $f2090.args[2];\nl22093 = $f2090.args[3];\nl32094 = $f2090.args[4];\nl42095 = $f2090.args[5];\nann_check_temp2100 = $f2090.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[791],6,$t,false);\n}\nvar f2090 = $f2090;\nvar base2091 = $base2091;\nvar l12092 = $l12092;\nvar l22093 = $l22093;\nvar l32094 = $l32094;\nvar l42095 = $l42095;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2096 = R.mC();\n}\nwhile(!R.isContinuation($ans2096)) {\nswitch($step2088) {\ncase 0: $step2088 = 1;\n$al2097 = L[802];\nR._cA(L[802],R.Function,f2090);\nbreak;\ncase 1: $step2088 = 2;\n$al2097 = L[803];\nR._cA(L[803],R.Any,base2091);\nbreak;\ncase 2: $step2088 = 3;\n$al2097 = L[804];\nR._cA(L[804],List50,l12092);\nbreak;\ncase 3: $step2088 = 4;\n$al2097 = L[805];\nR._cA(L[805],List50,l22093);\nbreak;\ncase 4: $step2088 = 5;\n$al2097 = L[806];\nR._cA(L[806],List50,l32094);\nbreak;\ncase 5: $step2088 = 6;\n$al2097 = L[807];\nR._cA(L[807],List50,l42095);\nbreak;\ncase 6: // caller optimization;\n$ans2096 = is$empty549.$var.app(l12092);\nvar anf_if2134 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2134)?7:8;\nbreak;\ncase 7: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans2096 = is$empty549.$var.app(l22093);\nvar anf_if2133 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2133)?9:10;\nbreak;\ncase 9: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans2096 = is$empty549.$var.app(l32094);\nvar anf_if2132 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2132)?11:12;\nbreak;\ncase 11: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 12: // caller optimization;\n$ans2096 = is$empty549.$var.app(l42095);\nvar anf_arg2131 = $ans2096;\n$ans2096 = R.checkWrapBoolean(anf_arg2131);\n$step2088 = 13;\nbreak;\ncase 13: var anf_if2130 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2130)?14:15;\nbreak;\ncase 14: $step2088 = 17;\n$ans2096 = base2091;\nbreak;\ncase 15: $al2097 = L[793];\nvar anf_arg2106 = G(l12092,\"first\",L[793]);\n$al2097 = L[794];\nvar anf_arg2109 = G(l22093,\"first\",L[794]);\n$al2097 = L[795];\nvar anf_arg2112 = G(l32094,\"first\",L[795]);\n$al2097 = L[796];\nvar anf_arg2118 = G(l42095,\"first\",L[796]);\n$step2088 = 16;\n$al2097 = L[801];\nif(typeof(f2090.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2097,f2090);\n}\n$ans2096 = f2090.app(base2091,anf_arg2106,anf_arg2109,anf_arg2112,anf_arg2118);\nbreak;\ncase 16: var anf_arg2123 = $ans2096;\n$al2097 = L[797];\nvar anf_arg2126 = G(l12092,\"rest\",L[797]);\n$al2097 = L[798];\nvar anf_arg2127 = G(l22093,\"rest\",L[798]);\n$al2097 = L[799];\nvar anf_arg2128 = G(l32094,\"rest\",L[799]);\n$al2097 = L[800];\nvar anf_arg2129 = G(l42095,\"rest\",L[800]);\n$step2088 = 0;\n++$elidedFrames2099;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2096 = R.mC();\n}\nf2090 = f2090;\nbase2091 = anf_arg2123;\nl12092 = anf_arg2126;\nl22093 = anf_arg2127;\nl32094 = anf_arg2128;\nl42095 = anf_arg2129;\ncontinue;\ncase 17: var ann_check_temp2100 = $ans2096;\n$step2088 = 18;\n$al2097 = L[792];\nvar $ann$check2101 = R._cA(L[792],R.Any,ann_check_temp2100);\nif(R.isContinuation($ann$check2101)) {\n$ans2096 = $ann$check2101;\n}\nbreak;\ncase 18: $step2088 = 19;\n$ans2096 = ann_check_temp2100;\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2096;\ndefault: R.ffi.throwSpinnakerError(L[791],$step2088);\n}\n}\nif($step2088 !== 19) {\n$ans2096.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2097,$temp_lam2089,$step2088,[f2090,base2091,l12092,l22093,l32094,l42095],[ann_check_temp2100],$elidedFrames2099);\n}\nreturn $ans2096;\n};\nvar anf_assign2136 = R.mF($temp_lam2089,\"fold4\");\nfold42119.$var = anf_assign2136;\nR.nothing;\nvar $temp_lam2138 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__808($f2139,$num2140,$base2141,$lst2142) {\nvar $step2137 = 0;\nvar $elidedFrames2146 = 0;\nvar $ans2143 = D;\nvar $al2144 = L[808];\nif(R.isAR($f2139)) {\n$step2137 = $f2139.step;\n$al2144 = $f2139.from;\n$ans2143 = $f2139.ans;\n$elidedFrames2146 = $f2139.elidedFrames;\nf2139 = $f2139.args[0];\nnum2140 = $f2139.args[1];\nbase2141 = $f2139.args[2];\nlst2142 = $f2139.args[3];\nann_check_temp2162 = $f2139.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[808],4,$t,false);\n}\nvar f2139 = $f2139;\nvar num2140 = $num2140;\nvar base2141 = $base2141;\nvar lst2142 = $lst2142;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2143 = R.mC();\n}\nwhile(!R.isContinuation($ans2143)) {\nswitch($step2137) {\ncase 0: $step2137 = 1;\n$al2144 = L[816];\nR._cA(L[816],R.Function,f2139);\nbreak;\ncase 1: $step2137 = 2;\n$al2144 = L[817];\nR._cA(L[817],$type$Number3,num2140);\nbreak;\ncase 2: $step2137 = 3;\n$al2144 = L[818];\nR._cA(L[818],R.Any,base2141);\nbreak;\ncase 3: $step2137 = 4;\n$al2144 = L[819];\nR._cA(L[819],List50,lst2142);\nbreak;\ncase 4: var help2156 = {\"$var\":D};\nvar $temp_lam2148 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__809($n2149,$acc2150,$partial$list2151) {\nvar $step2147 = 0;\nvar $elidedFrames2155 = 0;\nvar $ans2152 = D;\nvar $al2153 = L[809];\nif(R.isAR($n2149)) {\n$step2147 = $n2149.step;\n$al2153 = $n2149.from;\n$ans2152 = $n2149.ans;\n$elidedFrames2155 = $n2149.elidedFrames;\nn2149 = $n2149.args[0];\nacc2150 = $n2149.args[1];\npartial$list2151 = $n2149.args[2];\nanf_arg52 = $n2149.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[809],3,$t,false);\n}\nvar n2149 = $n2149;\nvar acc2150 = $acc2150;\nvar partial$list2151 = $partial$list2151;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2152 = R.mC();\n}\nwhile(!R.isContinuation($ans2152)) {\nswitch($step2147) {\ncase 0: // caller optimization;\n$ans2152 = is$empty549.$var.app(partial$list2151);\nvar anf_if2159 = $ans2152;\n$step2147 = R.checkPyretTrue(anf_if2159)?1:2;\nbreak;\ncase 1: $step2147 = 5;\n$ans2152 = acc2150;\nbreak;\ncase 2: $step2147 = 3;\n$al2153 = L[813];\n// omitting isFunction check;\n$ans2152 = _plus5.app(n2149,(1));\nbreak;\ncase 3: var anf_arg52 = $ans2152;\n$al2153 = L[810];\nvar anf_arg54 = G(partial$list2151,\"first\",L[810]);\n$step2147 = 4;\n$al2153 = L[812];\nif(typeof(f2139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2153,f2139);\n}\n$ans2152 = f2139.app(n2149,acc2150,anf_arg54);\nbreak;\ncase 4: var anf_arg55 = $ans2152;\n$al2153 = L[811];\nvar anf_arg2158 = G(partial$list2151,\"rest\",L[811]);\n$step2147 = 0;\n++$elidedFrames2155;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2152 = R.mC();\n}\nn2149 = anf_arg52;\nacc2150 = anf_arg55;\npartial$list2151 = anf_arg2158;\ncontinue;\ncase 5: ++R.GAS;\nreturn $ans2152;\ndefault: R.ffi.throwSpinnakerError(L[809],$step2147);\n}\n}\nif($step2147 !== 5) {\n$ans2152.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2153,$temp_lam2148,$step2147,[n2149,acc2150,partial$list2151],[anf_arg52],$elidedFrames2155);\n}\nreturn $ans2152;\n};\nvar anf_assign2161 = R.mF($temp_lam2148,\"help\");\nhelp2156.$var = anf_assign2161;\nR.nothing;\n$step2137 = 5;\n$al2144 = L[815];\n// omitting isFunction check;\n$ans2143 = help2156.$var.app(num2140,base2141,lst2142);\nbreak;\ncase 5: var ann_check_temp2162 = $ans2143;\n$step2137 = 6;\n$al2144 = L[814];\nvar $ann$check2163 = R._cA(L[814],R.Any,ann_check_temp2162);\nif(R.isContinuation($ann$check2163)) {\n$ans2143 = $ann$check2163;\n}\nbreak;\ncase 6: $step2137 = 7;\n$ans2143 = ann_check_temp2162;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2143;\ndefault: R.ffi.throwSpinnakerError(L[808],$step2137);\n}\n}\nif($step2137 !== 7) {\n$ans2143.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2144,$temp_lam2138,$step2137,[f2139,num2140,base2141,lst2142],[ann_check_temp2162],$elidedFrames2146);\n}\nreturn $ans2143;\n};\nvar anf_assign2165 = R.mF($temp_lam2138,\"fold_n\");\nfold_n2166.$var = anf_assign2165;\nR.nothing;\nvar $temp_lam2168 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__820($lst2169,$elt2170,$eq2171) {\nvar $step2167 = 0;\nvar $elidedFrames2175 = 0;\nvar $ans2172 = D;\nvar $al2173 = L[820];\nif(R.isAR($lst2169)) {\n$step2167 = $lst2169.step;\n$al2173 = $lst2169.from;\n$ans2172 = $lst2169.ans;\n$elidedFrames2175 = $lst2169.elidedFrames;\nlst2169 = $lst2169.args[0];\nelt2170 = $lst2169.args[1];\neq2171 = $lst2169.args[2];\nr2180 = $lst2169.vars[0];\nfirst$elt$equal2177 = $lst2169.vars[1];\ncases2178 = $lst2169.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[820],3,$t,false);\n}\nvar lst2169 = $lst2169;\nvar elt2170 = $elt2170;\nvar eq2171 = $eq2171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2172 = R.mC();\n}\nwhile(!R.isContinuation($ans2172)) {\nswitch($step2167) {\ncase 0: $step2167 = 1;\n$al2173 = L[831];\nR._cA(L[831],List50,lst2169);\nbreak;\ncase 1: $step2167 = 2;\n$al2173 = L[832];\nR._cA(L[832],R.Any,elt2170);\nbreak;\ncase 2: $step2167 = 3;\n$al2173 = L[833];\nR._cA(L[833],R.Function,eq2171);\nbreak;\ncase 3: // caller optimization;\n$ans2172 = is$empty549.$var.app(lst2169);\nvar anf_if2185 = $ans2172;\n$step2167 = R.checkPyretTrue(anf_if2185)?4:5;\nbreak;\ncase 4: $step2167 = 13;\n$al2173 = L[821];\nif(typeof(equality22.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,equality22.dict.values.dict[\"NotEqual\"]);\n}\n$ans2172 = equality22.dict.values.dict[\"NotEqual\"].app((\"list\"),elt2170,lst2169);\nbreak;\ncase 5: // caller optimization;\n$ans2172 = is$link712.$var.app(lst2169);\nvar anf_if2184 = $ans2172;\n$step2167 = R.checkPyretTrue(anf_if2184)?6:12;\nbreak;\ncase 6: $al2173 = L[822];\nvar f2176 = G(lst2169,\"first\",L[822]);\n$al2173 = L[823];\nvar r2180 = G(lst2169,\"rest\",L[823]);\n$step2167 = 7;\n$al2173 = L[829];\nif(typeof(eq2171.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,eq2171);\n}\n$ans2172 = eq2171.app(f2176,elt2170);\nbreak;\ncase 7: var first$elt$equal2177 = $ans2172;\nvar cases2178 = first$elt$equal2177;\n$step2167 = 8;\n$al2173 = L[828];\nvar $ann$check2183 = R._cA(L[828],R.gDA(L[828],\"equality\",equality22.dict.types,\"EqualityResult\"),cases2178);\nif(R.isContinuation($ann$check2183)) {\n$ans2172 = $ann$check2183;\n}\nbreak;\ncase 8: $al2173 = L[825];\n$step2167 = $cases_dispatch2182[cases2178.$name] || 10;\nbreak;\ncase 9: if(cases2178.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[824],false,L[825],cases2178.$loc);\n}\n$step2167 = 13;\n$ans2172 = equality22.dict.values.dict[\"Equal\"];\nbreak;\ncase 10: $step2167 = 11;\n$al2173 = L[827];\n// omitting isFunction check;\n$ans2172 = member$with2179.$var.app(r2180,elt2170,eq2171);\nbreak;\ncase 11: var anf_arg2181 = $ans2172;\n$step2167 = 13;\n$al2173 = L[826];\nif(typeof(equality22.dict.values.dict[\"equal-or\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,equality22.dict.values.dict[\"equal-or\"]);\n}\n$ans2172 = equality22.dict.values.dict[\"equal-or\"].app(first$elt$equal2177,anf_arg2181);\nbreak;\ncase 12: $ans2172 = R.throwNoBranchesMatched(L[830],(\"ask\"));\n$step2167 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans2172;\ndefault: R.ffi.throwSpinnakerError(L[820],$step2167);\n}\n}\nif($step2167 !== 13) {\n$ans2172.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2173,$temp_lam2168,$step2167,[lst2169,elt2170,eq2171],[r2180,first$elt$equal2177,cases2178],$elidedFrames2175);\n}\nreturn $ans2172;\n};\nvar anf_assign2187 = R.mF($temp_lam2168,\"member-with\");\nmember$with2179.$var = anf_assign2187;\nR.nothing;\nvar $temp_lam2189 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__834($lst2190,$elt2191) {\nvar $step2188 = 0;\nvar $elidedFrames2195 = 0;\nvar $ans2192 = D;\nvar $al2193 = L[834];\nif(R.isAR($lst2190)) {\n$step2188 = $lst2190.step;\n$al2193 = $lst2190.from;\n$ans2192 = $lst2190.ans;\n$elidedFrames2195 = $lst2190.elidedFrames;\nlst2190 = $lst2190.args[0];\nelt2191 = $lst2190.args[1];\nann_check_temp2196 = $lst2190.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[834],2,$t,false);\n}\nvar lst2190 = $lst2190;\nvar elt2191 = $elt2191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2192 = R.mC();\n}\nwhile(!R.isContinuation($ans2192)) {\nswitch($step2188) {\ncase 0: $step2188 = 1;\n$al2193 = L[837];\nR._cA(L[837],List50,lst2190);\nbreak;\ncase 1: $step2188 = 2;\n$al2193 = L[838];\nR._cA(L[838],R.Any,elt2191);\nbreak;\ncase 2: $step2188 = 3;\n$al2193 = L[836];\n// omitting isFunction check;\n$ans2192 = member$with2179.$var.app(lst2190,elt2191,equal$always37);\nbreak;\ncase 3: var ann_check_temp2196 = $ans2192;\n$step2188 = 4;\n$al2193 = L[835];\nvar $ann$check2197 = R._cA(L[835],R.gDA(L[835],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2196);\nif(R.isContinuation($ann$check2197)) {\n$ans2192 = $ann$check2197;\n}\nbreak;\ncase 4: $step2188 = 5;\n$ans2192 = ann_check_temp2196;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2192;\ndefault: R.ffi.throwSpinnakerError(L[834],$step2188);\n}\n}\nif($step2188 !== 5) {\n$ans2192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2193,$temp_lam2189,$step2188,[lst2190,elt2191],[ann_check_temp2196],$elidedFrames2195);\n}\nreturn $ans2192;\n};\nvar anf_assign2199 = R.mF($temp_lam2189,\"member3\");\nmember32200.$var = anf_assign2199;\nR.nothing;\nvar $temp_lam2202 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__839($lst2203,$elt2204) {\nvar $step2201 = 0;\nvar $elidedFrames2208 = 0;\nvar $ans2205 = D;\nvar $al2206 = L[839];\nif(R.isAR($lst2203)) {\n$step2201 = $lst2203.step;\n$al2206 = $lst2203.from;\n$ans2205 = $lst2203.ans;\n$elidedFrames2208 = $lst2203.elidedFrames;\nlst2203 = $lst2203.args[0];\nelt2204 = $lst2203.args[1];\nann_check_temp2209 = $lst2203.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[839],2,$t,false);\n}\nvar lst2203 = $lst2203;\nvar elt2204 = $elt2204;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2205 = R.mC();\n}\nwhile(!R.isContinuation($ans2205)) {\nswitch($step2201) {\ncase 0: $step2201 = 1;\n$al2206 = L[843];\nR._cA(L[843],List50,lst2203);\nbreak;\ncase 1: $step2201 = 2;\n$al2206 = L[844];\nR._cA(L[844],R.Any,elt2204);\nbreak;\ncase 2: $step2201 = 3;\n$al2206 = L[842];\n// omitting isFunction check;\n$ans2205 = member32200.$var.app(lst2203,elt2204);\nbreak;\ncase 3: var anf_arg92 = $ans2205;\n$step2201 = 4;\n$al2206 = L[841];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2206,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2205 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg92);\nbreak;\ncase 4: var ann_check_temp2209 = $ans2205;\n$step2201 = 5;\n$al2206 = L[840];\nvar $ann$check2210 = R._cA(L[840],$type$Boolean6,ann_check_temp2209);\nif(R.isContinuation($ann$check2210)) {\n$ans2205 = $ann$check2210;\n}\nbreak;\ncase 5: $step2201 = 6;\n$ans2205 = ann_check_temp2209;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2205;\ndefault: R.ffi.throwSpinnakerError(L[839],$step2201);\n}\n}\nif($step2201 !== 6) {\n$ans2205.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2206,$temp_lam2202,$step2201,[lst2203,elt2204],[ann_check_temp2209],$elidedFrames2208);\n}\nreturn $ans2205;\n};\nvar anf_assign2212 = R.mF($temp_lam2202,\"member\");\nmember2213.$var = anf_assign2212;\nR.nothing;\nvar $temp_lam2215 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__845($lst2216,$elt2217) {\nvar $step2214 = 0;\nvar $elidedFrames2221 = 0;\nvar $ans2218 = D;\nvar $al2219 = L[845];\nif(R.isAR($lst2216)) {\n$step2214 = $lst2216.step;\n$al2219 = $lst2216.from;\n$ans2218 = $lst2216.ans;\n$elidedFrames2221 = $lst2216.elidedFrames;\nlst2216 = $lst2216.args[0];\nelt2217 = $lst2216.args[1];\nann_check_temp2222 = $lst2216.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[845],2,$t,false);\n}\nvar lst2216 = $lst2216;\nvar elt2217 = $elt2217;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2218 = R.mC();\n}\nwhile(!R.isContinuation($ans2218)) {\nswitch($step2214) {\ncase 0: $step2214 = 1;\n$al2219 = L[848];\nR._cA(L[848],List50,lst2216);\nbreak;\ncase 1: $step2214 = 2;\n$al2219 = L[849];\nR._cA(L[849],R.Any,elt2217);\nbreak;\ncase 2: $step2214 = 3;\n$al2219 = L[847];\n// omitting isFunction check;\n$ans2218 = member$with2179.$var.app(lst2216,elt2217,equal$now312);\nbreak;\ncase 3: var ann_check_temp2222 = $ans2218;\n$step2214 = 4;\n$al2219 = L[846];\nvar $ann$check2223 = R._cA(L[846],R.gDA(L[846],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2222);\nif(R.isContinuation($ann$check2223)) {\n$ans2218 = $ann$check2223;\n}\nbreak;\ncase 4: $step2214 = 5;\n$ans2218 = ann_check_temp2222;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2218;\ndefault: R.ffi.throwSpinnakerError(L[845],$step2214);\n}\n}\nif($step2214 !== 5) {\n$ans2218.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2219,$temp_lam2215,$step2214,[lst2216,elt2217],[ann_check_temp2222],$elidedFrames2221);\n}\nreturn $ans2218;\n};\nvar anf_assign2225 = R.mF($temp_lam2215,\"member-now3\");\nmember$now32226.$var = anf_assign2225;\nR.nothing;\nvar $temp_lam2228 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__850($lst2229,$elt2230) {\nvar $step2227 = 0;\nvar $elidedFrames2234 = 0;\nvar $ans2231 = D;\nvar $al2232 = L[850];\nif(R.isAR($lst2229)) {\n$step2227 = $lst2229.step;\n$al2232 = $lst2229.from;\n$ans2231 = $lst2229.ans;\n$elidedFrames2234 = $lst2229.elidedFrames;\nlst2229 = $lst2229.args[0];\nelt2230 = $lst2229.args[1];\nann_check_temp2235 = $lst2229.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[850],2,$t,false);\n}\nvar lst2229 = $lst2229;\nvar elt2230 = $elt2230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2231 = R.mC();\n}\nwhile(!R.isContinuation($ans2231)) {\nswitch($step2227) {\ncase 0: $step2227 = 1;\n$al2232 = L[854];\nR._cA(L[854],List50,lst2229);\nbreak;\ncase 1: $step2227 = 2;\n$al2232 = L[855];\nR._cA(L[855],R.Any,elt2230);\nbreak;\ncase 2: $step2227 = 3;\n$al2232 = L[853];\n// omitting isFunction check;\n$ans2231 = member$now32226.$var.app(lst2229,elt2230);\nbreak;\ncase 3: var anf_arg96 = $ans2231;\n$step2227 = 4;\n$al2232 = L[852];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2232,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2231 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg96);\nbreak;\ncase 4: var ann_check_temp2235 = $ans2231;\n$step2227 = 5;\n$al2232 = L[851];\nvar $ann$check2236 = R._cA(L[851],$type$Boolean6,ann_check_temp2235);\nif(R.isContinuation($ann$check2236)) {\n$ans2231 = $ann$check2236;\n}\nbreak;\ncase 5: $step2227 = 6;\n$ans2231 = ann_check_temp2235;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2231;\ndefault: R.ffi.throwSpinnakerError(L[850],$step2227);\n}\n}\nif($step2227 !== 6) {\n$ans2231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2232,$temp_lam2228,$step2227,[lst2229,elt2230],[ann_check_temp2235],$elidedFrames2234);\n}\nreturn $ans2231;\n};\nvar anf_assign2238 = R.mF($temp_lam2228,\"member-now\");\nmember$now2239.$var = anf_assign2238;\nR.nothing;\nvar $temp_lam2241 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__856($lst2242,$elt2243) {\nvar $step2240 = 0;\nvar $elidedFrames2247 = 0;\nvar $ans2244 = D;\nvar $al2245 = L[856];\nif(R.isAR($lst2242)) {\n$step2240 = $lst2242.step;\n$al2245 = $lst2242.from;\n$ans2244 = $lst2242.ans;\n$elidedFrames2247 = $lst2242.elidedFrames;\nlst2242 = $lst2242.args[0];\nelt2243 = $lst2242.args[1];\nann_check_temp2248 = $lst2242.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[856],2,$t,false);\n}\nvar lst2242 = $lst2242;\nvar elt2243 = $elt2243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2244 = R.mC();\n}\nwhile(!R.isContinuation($ans2244)) {\nswitch($step2240) {\ncase 0: $step2240 = 1;\n$al2245 = L[859];\nR._cA(L[859],List50,lst2242);\nbreak;\ncase 1: $step2240 = 2;\n$al2245 = L[860];\nR._cA(L[860],R.Any,elt2243);\nbreak;\ncase 2: $step2240 = 3;\n$al2245 = L[858];\n// omitting isFunction check;\n$ans2244 = member$with2179.$var.app(lst2242,elt2243,identical316);\nbreak;\ncase 3: var ann_check_temp2248 = $ans2244;\n$step2240 = 4;\n$al2245 = L[857];\nvar $ann$check2249 = R._cA(L[857],R.gDA(L[857],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2248);\nif(R.isContinuation($ann$check2249)) {\n$ans2244 = $ann$check2249;\n}\nbreak;\ncase 4: $step2240 = 5;\n$ans2244 = ann_check_temp2248;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2244;\ndefault: R.ffi.throwSpinnakerError(L[856],$step2240);\n}\n}\nif($step2240 !== 5) {\n$ans2244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2245,$temp_lam2241,$step2240,[lst2242,elt2243],[ann_check_temp2248],$elidedFrames2247);\n}\nreturn $ans2244;\n};\nvar anf_assign2251 = R.mF($temp_lam2241,\"member-identical3\");\nmember$identical32252.$var = anf_assign2251;\nR.nothing;\nvar $temp_lam2254 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__861($lst2255,$elt2256) {\nvar $step2253 = 0;\nvar $elidedFrames2260 = 0;\nvar $ans2257 = D;\nvar $al2258 = L[861];\nif(R.isAR($lst2255)) {\n$step2253 = $lst2255.step;\n$al2258 = $lst2255.from;\n$ans2257 = $lst2255.ans;\n$elidedFrames2260 = $lst2255.elidedFrames;\nlst2255 = $lst2255.args[0];\nelt2256 = $lst2255.args[1];\nann_check_temp2262 = $lst2255.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[861],2,$t,false);\n}\nvar lst2255 = $lst2255;\nvar elt2256 = $elt2256;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2257 = R.mC();\n}\nwhile(!R.isContinuation($ans2257)) {\nswitch($step2253) {\ncase 0: $step2253 = 1;\n$al2258 = L[865];\nR._cA(L[865],List50,lst2255);\nbreak;\ncase 1: $step2253 = 2;\n$al2258 = L[866];\nR._cA(L[866],R.Any,elt2256);\nbreak;\ncase 2: $step2253 = 3;\n$al2258 = L[864];\n// omitting isFunction check;\n$ans2257 = member$identical32252.$var.app(lst2255,elt2256);\nbreak;\ncase 3: var anf_arg2261 = $ans2257;\n$step2253 = 4;\n$al2258 = L[863];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2258,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2257 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg2261);\nbreak;\ncase 4: var ann_check_temp2262 = $ans2257;\n$step2253 = 5;\n$al2258 = L[862];\nvar $ann$check2263 = R._cA(L[862],$type$Boolean6,ann_check_temp2262);\nif(R.isContinuation($ann$check2263)) {\n$ans2257 = $ann$check2263;\n}\nbreak;\ncase 5: $step2253 = 6;\n$ans2257 = ann_check_temp2262;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2257;\ndefault: R.ffi.throwSpinnakerError(L[861],$step2253);\n}\n}\nif($step2253 !== 6) {\n$ans2257.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2258,$temp_lam2254,$step2253,[lst2255,elt2256],[ann_check_temp2262],$elidedFrames2260);\n}\nreturn $ans2257;\n};\nvar anf_assign2265 = R.mF($temp_lam2254,\"member-identical\");\nmember$identical2266.$var = anf_assign2265;\nR.nothing;\nvar $temp_lam2268 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__867($lst2269) {\nvar $step2267 = 0;\nvar $elidedFrames2273 = 0;\nvar $ans2270 = D;\nvar $al2271 = L[867];\nif(R.isAR($lst2269)) {\n$step2267 = $lst2269.step;\n$al2271 = $lst2269.from;\n$ans2270 = $lst2269.ans;\n$elidedFrames2273 = $lst2269.elidedFrames;\nlst2269 = $lst2269.args[0];\nann_check_temp2274 = $lst2269.vars[0];\nanf_arg142 = $lst2269.vars[1];\nanf_arg138 = $lst2269.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[867],1,$t,false);\n}\nvar lst2269 = $lst2269;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2270 = R.mC();\n}\nwhile(!R.isContinuation($ans2270)) {\nswitch($step2267) {\ncase 0: $step2267 = 1;\n$al2271 = L[874];\nR._cA(L[874],List50,lst2269);\nbreak;\ncase 1: // caller optimization;\n$ans2270 = is$empty549.$var.app(lst2269);\nvar anf_if2297 = $ans2270;\n$step2267 = R.checkPyretTrue(anf_if2297)?2:3;\nbreak;\ncase 2: $step2267 = 6;\n$ans2270 = empty266.$var;\nbreak;\ncase 3: var $temp_lam2277 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__869($i2278,$arr2279,$e2280) {\nvar $step2276 = 0;\nvar $elidedFrames2284 = 0;\nvar $ans2281 = D;\nvar $al2282 = L[869];\nif(R.isAR($i2278)) {\n$step2276 = $i2278.step;\n$al2282 = $i2278.from;\n$ans2281 = $i2278.ans;\n$elidedFrames2284 = $i2278.elidedFrames;\ni2278 = $i2278.args[0];\narr2279 = $i2278.args[1];\ne2280 = $i2278.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[869],3,$t,false);\n}\nvar i2278 = $i2278;\nvar arr2279 = $arr2279;\nvar e2280 = $e2280;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2281 = R.mC();\n}\nwhile(!R.isContinuation($ans2281)) {\nswitch($step2276) {\ncase 0: $step2276 = 1;\n$al2282 = L[870];\n// omitting isFunction check;\n$ans2281 = _plus5.app(i2278,(1));\nbreak;\ncase 1: var anf_arg137 = $ans2281;\n// caller optimization;\n$ans2281 = random3.app(anf_arg137);\nvar ix2285 = $ans2281;\n// caller optimization;\n$ans2281 = raw$array$get14.app(arr2279,ix2285);\nvar anf_arg141 = $ans2281;\n// caller optimization;\n$ans2281 = raw$array$set5.app(arr2279,i2278,anf_arg141);\n// caller optimization;\n$ans2281 = raw$array$set5.app(arr2279,ix2285,e2280);\n$step2276 = 2;\n$ans2281 = arr2279;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2281;\ndefault: R.ffi.throwSpinnakerError(L[869],$step2276);\n}\n}\nif($step2276 !== 2) {\n$ans2281.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2282,$temp_lam2277,$step2276,[i2278,arr2279,e2280],[],$elidedFrames2284);\n}\nreturn $ans2281;\n};\nvar anf_arg138 = R.mF($temp_lam2277,\"for-body\");\n$al2271 = L[871];\nvar anf_arg142 = G(lst2269,\"first\",L[871]);\n$step2267 = 4;\n$ans2270 = R.maybeMethodCall0(lst2269,\"length\",L[872]);\nbreak;\ncase 4: var anf_arg2291 = $ans2270;\n// caller optimization;\n$ans2270 = raw$array$of8.app(anf_arg142,anf_arg2291);\nvar anf_arg2295 = $ans2270;\n$al2271 = L[873];\nvar anf_arg154 = G(lst2269,\"rest\",L[873]);\n$step2267 = 5;\n$al2271 = L[869];\n// omitting isFunction check;\n$ans2270 = fold_n2166.$var.app(anf_arg138,(1),anf_arg2295,anf_arg154);\nbreak;\ncase 5: var elts2296 = $ans2270;\n// caller optimization;\n$ans2270 = raw$array$to$list4.app(elts2296);\n$step2267 = 6;\nbreak;\ncase 6: var ann_check_temp2274 = $ans2270;\n$step2267 = 7;\n$al2271 = L[868];\nvar $ann$check2275 = R._cA(L[868],List50,ann_check_temp2274);\nif(R.isContinuation($ann$check2275)) {\n$ans2270 = $ann$check2275;\n}\nbreak;\ncase 7: $step2267 = 8;\n$ans2270 = ann_check_temp2274;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2270;\ndefault: R.ffi.throwSpinnakerError(L[867],$step2267);\n}\n}\nif($step2267 !== 8) {\n$ans2270.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2271,$temp_lam2268,$step2267,[lst2269],[ann_check_temp2274,anf_arg142,anf_arg138],$elidedFrames2273);\n}\nreturn $ans2270;\n};\nvar anf_assign157 = R.mF($temp_lam2268,\"shuffle\");\nshuffle2299.$var = anf_assign157;\nR.nothing;\nvar $temp_lam2301 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__875($f2302,$lst2303) {\nvar $step2300 = 0;\nvar $elidedFrames2307 = 0;\nvar $ans2304 = D;\nvar $al2305 = L[875];\nif(R.isAR($f2302)) {\n$step2300 = $f2302.step;\n$al2305 = $f2302.from;\n$ans2304 = $f2302.ans;\n$elidedFrames2307 = $f2302.elidedFrames;\nf2302 = $f2302.args[0];\nlst2303 = $f2302.args[1];\ncases2308 = $f2302.vars[0];\nann_check_temp2309 = $f2302.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[875],2,$t,false);\n}\nvar f2302 = $f2302;\nvar lst2303 = $lst2303;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2304 = R.mC();\n}\nwhile(!R.isContinuation($ans2304)) {\nswitch($step2300) {\ncase 0: $step2300 = 1;\n$al2305 = L[888];\nR._cA(L[888],R.Function,f2302);\nbreak;\ncase 1: $step2300 = 2;\n$al2305 = L[889];\nR._cA(L[889],List50,lst2303);\nbreak;\ncase 2: var cases2308 = lst2303;\n$step2300 = 3;\n$al2305 = L[887];\nvar $ann$check2334 = R._cA(L[887],List50,cases2308);\nif(R.isContinuation($ann$check2334)) {\n$ans2304 = $ann$check2334;\n}\nbreak;\ncase 3: $al2305 = L[878];\n$step2300 = $cases_dispatch2333[cases2308.$name] || 6;\nbreak;\ncase 4: if(cases2308.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[877],false,L[878],cases2308.$loc);\n}\n$step2300 = 7;\n$ans2304 = empty266.$var;\nbreak;\ncase 5: if(cases2308.$arity !== 2) {\nif(cases2308.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[886],2,cases2308.$arity,L[878],cases2308.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[886],true,L[878],cases2308.$loc);\n}\n}\n$step2300 = 7;\n$al2305 = L[886];\nvar $temp_branch2322 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__878($first2311,$rest2314) {\nvar $step2323 = 0;\nvar $elidedFrames2327 = 0;\nvar $ans2324 = D;\nvar $al2325 = L[880];\nif(R.isAR($first2311)) {\n$step2323 = $first2311.step;\n$al2325 = $first2311.from;\n$ans2324 = $first2311.ans;\n$elidedFrames2327 = $first2311.elidedFrames;\nfirst2311 = $first2311.args[0];\nrest2314 = $first2311.args[1];\ncases2312 = $first2311.vars[0];\nv2315 = $first2311.vars[1];\n} else {\nvar first2311 = $first2311;\nvar rest2314 = $rest2314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2324 = R.mC();\n}\nwhile(!R.isContinuation($ans2324)) {\nswitch($step2323) {\ncase 0: $step2323 = 1;\n$al2325 = L[884];\nif(typeof(f2302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2325,f2302);\n}\n$ans2324 = f2302.app(first2311);\nbreak;\ncase 1: var cases2312 = $ans2324;\n$step2323 = 2;\n$al2325 = L[883];\nvar $ann$check2331 = R._cA(L[883],Option17,cases2312);\nif(R.isContinuation($ann$check2331)) {\n$ans2324 = $ann$check2331;\n}\nbreak;\ncase 2: $al2325 = L[880];\n$step2323 = $cases_dispatch2330[cases2312.$name] || 6;\nbreak;\ncase 3: if(cases2312.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[879],false,L[880],cases2312.$loc);\n}\n$step2323 = 7;\n$al2325 = L[885];\n// omitting isFunction check;\n$ans2324 = filter$map2313.$var.app(f2302,rest2314);\nbreak;\ncase 4: if(cases2312.$arity !== 1) {\nif(cases2312.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[882],1,cases2312.$arity,L[880],cases2312.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[882],true,L[880],cases2312.$loc);\n}\n}\nvar $fn2329 = cases2312.$constructor.$fieldNames;\nvar v2315 = R.dF(cases2312.dict[$fn2329[0]],cases2312.$mut_fields_mask[0],false);\n$step2323 = 5;\n$al2325 = L[881];\n// omitting isFunction check;\n$ans2324 = filter$map2313.$var.app(f2302,rest2314);\nbreak;\ncase 5: var anf_arg2316 = $ans2324;\n// caller optimization;\n$ans2324 = link124.$var.app(v2315,anf_arg2316);\n$step2323 = 7;\nbreak;\ncase 6: $ans2324 = R.throwNoCasesMatched(L[880],cases2312);\n$step2323 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2324;\ndefault: R.ffi.throwSpinnakerError(L[880],$step2323);\n}\n}\nif($step2323 !== 7) {\n$ans2324.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2325,$temp_branch2322,$step2323,[first2311,rest2314],[cases2312,v2315],$elidedFrames2327);\n}\nreturn $ans2324;\n};\n$ans2304 = cases2308.$app_fields($temp_branch2322,[false,false]);\nbreak;\ncase 6: $ans2304 = R.throwNoCasesMatched(L[878],cases2308);\n$step2300 = 7;\nbreak;\ncase 7: var ann_check_temp2309 = $ans2304;\n$step2300 = 8;\n$al2305 = L[876];\nvar $ann$check2310 = R._cA(L[876],List50,ann_check_temp2309);\nif(R.isContinuation($ann$check2310)) {\n$ans2304 = $ann$check2310;\n}\nbreak;\ncase 8: $step2300 = 9;\n$ans2304 = ann_check_temp2309;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2304;\ndefault: R.ffi.throwSpinnakerError(L[875],$step2300);\n}\n}\nif($step2300 !== 9) {\n$ans2304.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2305,$temp_lam2301,$step2300,[f2302,lst2303],[cases2308,ann_check_temp2309],$elidedFrames2307);\n}\nreturn $ans2304;\n};\nvar anf_assign192 = R.mF($temp_lam2301,\"filter-map\");\nfilter$map2313.$var = anf_assign192;\nR.nothing;\nvar $temp_lam2337 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__890($lst2338) {\nvar $step2336 = 0;\nvar $elidedFrames2342 = 0;\nvar $ans2339 = D;\nvar $al2340 = L[890];\nif(R.isAR($lst2338)) {\n$step2336 = $lst2338.step;\n$al2340 = $lst2338.from;\n$ans2339 = $lst2338.ans;\n$elidedFrames2342 = $lst2338.elidedFrames;\nlst2338 = $lst2338.args[0];\ncases2343 = $lst2338.vars[0];\nann_check_temp2344 = $lst2338.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[890],1,$t,false);\n}\nvar lst2338 = $lst2338;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2339 = R.mC();\n}\nwhile(!R.isContinuation($ans2339)) {\nswitch($step2336) {\ncase 0: $step2336 = 1;\n$al2340 = L[902];\nR._cA(L[902],List50,lst2338);\nbreak;\ncase 1: var cases2343 = lst2338;\n$step2336 = 2;\n$al2340 = L[901];\nvar $ann$check2370 = R._cA(L[901],List50,cases2343);\nif(R.isContinuation($ann$check2370)) {\n$ans2339 = $ann$check2370;\n}\nbreak;\ncase 2: $al2340 = L[893];\n$step2336 = $cases_dispatch2369[cases2343.$name] || 5;\nbreak;\ncase 3: if(cases2343.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[892],false,L[893],cases2343.$loc);\n}\n$step2336 = 6;\n$ans2339 = empty266.$var;\nbreak;\ncase 4: if(cases2343.$arity !== 2) {\nif(cases2343.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[900],2,cases2343.$arity,L[893],cases2343.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[900],true,L[893],cases2343.$loc);\n}\n}\n$step2336 = 6;\n$al2340 = L[900];\nvar $temp_branch2358 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__893($first2346,$rest2349) {\nvar $step2359 = 0;\nvar $elidedFrames2363 = 0;\nvar $ans2360 = D;\nvar $al2361 = L[895];\nif(R.isAR($first2346)) {\n$step2359 = $first2346.step;\n$al2361 = $first2346.from;\n$ans2360 = $first2346.ans;\n$elidedFrames2363 = $first2346.elidedFrames;\nfirst2346 = $first2346.args[0];\nrest2349 = $first2346.args[1];\ncases2347 = $first2346.vars[0];\nv2350 = $first2346.vars[1];\n} else {\nvar first2346 = $first2346;\nvar rest2349 = $rest2349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2360 = R.mC();\n}\nwhile(!R.isContinuation($ans2360)) {\nswitch($step2359) {\ncase 0: var cases2347 = first2346;\n$step2359 = 1;\n$al2361 = L[898];\nvar $ann$check2367 = R._cA(L[898],Option17,cases2347);\nif(R.isContinuation($ann$check2367)) {\n$ans2360 = $ann$check2367;\n}\nbreak;\ncase 1: $al2361 = L[895];\n$step2359 = $cases_dispatch2366[cases2347.$name] || 5;\nbreak;\ncase 2: if(cases2347.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[894],false,L[895],cases2347.$loc);\n}\n$step2359 = 6;\n$al2361 = L[899];\n// omitting isFunction check;\n$ans2360 = filter$values2348.$var.app(rest2349);\nbreak;\ncase 3: if(cases2347.$arity !== 1) {\nif(cases2347.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[897],1,cases2347.$arity,L[895],cases2347.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[897],true,L[895],cases2347.$loc);\n}\n}\nvar $fn2365 = cases2347.$constructor.$fieldNames;\nvar v2350 = R.dF(cases2347.dict[$fn2365[0]],cases2347.$mut_fields_mask[0],false);\n$step2359 = 4;\n$al2361 = L[896];\n// omitting isFunction check;\n$ans2360 = filter$values2348.$var.app(rest2349);\nbreak;\ncase 4: var anf_arg2353 = $ans2360;\n// caller optimization;\n$ans2360 = link124.$var.app(v2350,anf_arg2353);\n$step2359 = 6;\nbreak;\ncase 5: $ans2360 = R.throwNoCasesMatched(L[895],cases2347);\n$step2359 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2360;\ndefault: R.ffi.throwSpinnakerError(L[895],$step2359);\n}\n}\nif($step2359 !== 6) {\n$ans2360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2361,$temp_branch2358,$step2359,[first2346,rest2349],[cases2347,v2350],$elidedFrames2363);\n}\nreturn $ans2360;\n};\n$ans2339 = cases2343.$app_fields($temp_branch2358,[false,false]);\nbreak;\ncase 5: $ans2339 = R.throwNoCasesMatched(L[893],cases2343);\n$step2336 = 6;\nbreak;\ncase 6: var ann_check_temp2344 = $ans2339;\n$step2336 = 7;\n$al2340 = L[891];\nvar $ann$check2345 = R._cA(L[891],List50,ann_check_temp2344);\nif(R.isContinuation($ann$check2345)) {\n$ans2339 = $ann$check2345;\n}\nbreak;\ncase 7: $step2336 = 8;\n$ans2339 = ann_check_temp2344;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2339;\ndefault: R.ffi.throwSpinnakerError(L[890],$step2336);\n}\n}\nif($step2336 !== 8) {\n$ans2339.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2340,$temp_lam2337,$step2336,[lst2338],[cases2343,ann_check_temp2344],$elidedFrames2342);\n}\nreturn $ans2339;\n};\nvar anf_assign2372 = R.mF($temp_lam2337,\"filter-values\");\nfilter$values2348.$var = anf_assign2372;\nR.nothing;\nvar $temp_lam2374 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__903($l2375) {\nvar $step2373 = 0;\nvar $elidedFrames2379 = 0;\nvar $ans2376 = D;\nvar $al2377 = L[903];\nif(R.isAR($l2375)) {\n$step2373 = $l2375.step;\n$al2377 = $l2375.from;\n$ans2376 = $l2375.ans;\n$elidedFrames2379 = $l2375.elidedFrames;\nl2375 = $l2375.args[0];\ncases2380 = $l2375.vars[0];\nann_check_temp2381 = $l2375.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[903],1,$t,false);\n}\nvar l2375 = $l2375;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2376 = R.mC();\n}\nwhile(!R.isContinuation($ans2376)) {\nswitch($step2373) {\ncase 0: $step2373 = 1;\n$al2377 = L[918];\nR._cA(L[918],List50,l2375);\nbreak;\ncase 1: var cases2380 = l2375;\n$step2373 = 2;\n$al2377 = L[917];\nvar $ann$check2413 = R._cA(L[917],List50,cases2380);\nif(R.isContinuation($ann$check2413)) {\n$ans2376 = $ann$check2413;\n}\nbreak;\ncase 2: $al2377 = L[906];\n$step2373 = $cases_dispatch2412[cases2380.$name] || 5;\nbreak;\ncase 3: if(cases2380.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[905],false,L[906],cases2380.$loc);\n}\n$step2373 = 6;\n$ans2376 = empty266.$var;\nbreak;\ncase 4: if(cases2380.$arity !== 2) {\nif(cases2380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[916],2,cases2380.$arity,L[906],cases2380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[916],true,L[906],cases2380.$loc);\n}\n}\n$step2373 = 6;\n$al2377 = L[916];\nvar $temp_branch2399 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__906($first2384,$rest2383) {\nvar $step2400 = 0;\nvar $elidedFrames2404 = 0;\nvar $ans2401 = D;\nvar $al2402 = L[909];\nif(R.isAR($first2384)) {\n$step2400 = $first2384.step;\n$al2402 = $first2384.from;\n$ans2401 = $first2384.ans;\n$elidedFrames2404 = $first2384.elidedFrames;\nfirst2384 = $first2384.args[0];\nrest2383 = $first2384.args[1];\ncases2385 = $first2384.vars[0];\n} else {\nvar first2384 = $first2384;\nvar rest2383 = $rest2383;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2401 = R.mC();\n}\nwhile(!R.isContinuation($ans2401)) {\nswitch($step2400) {\ncase 0: $step2400 = 1;\n$al2402 = L[914];\n// omitting isFunction check;\n$ans2401 = member32200.$var.app(rest2383,first2384);\nbreak;\ncase 1: var cases2385 = $ans2401;\n$step2400 = 2;\n$al2402 = L[913];\nvar $ann$check2410 = R._cA(L[913],R.gDA(L[913],\"equality\",equality22.dict.types,\"EqualityResult\"),cases2385);\nif(R.isContinuation($ann$check2410)) {\n$ans2401 = $ann$check2410;\n}\nbreak;\ncase 2: $al2402 = L[909];\n$step2400 = $cases_dispatch2409[cases2385.$name] || 8;\nbreak;\ncase 3: if(cases2385.$arity !== 3) {\nif(cases2385.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[908],3,cases2385.$arity,L[909],cases2385.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[908],true,L[909],cases2385.$loc);\n}\n}\nvar $fn2406 = cases2385.$constructor.$fieldNames;\nR.dF(cases2385.dict[$fn2406[0]],cases2385.$mut_fields_mask[0],false);\nR.dF(cases2385.dict[$fn2406[1]],cases2385.$mut_fields_mask[1],false);\nR.dF(cases2385.dict[$fn2406[2]],cases2385.$mut_fields_mask[2],false);\n$step2400 = 4;\n$al2402 = L[907];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 4: var anf_arg231 = $ans2401;\n// caller optimization;\n$ans2401 = link124.$var.app(first2384,anf_arg231);\n$step2400 = 9;\nbreak;\ncase 5: if(cases2385.$arity !== 3) {\nif(cases2385.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[911],3,cases2385.$arity,L[909],cases2385.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[911],true,L[909],cases2385.$loc);\n}\n}\nvar $fn2408 = cases2385.$constructor.$fieldNames;\nR.dF(cases2385.dict[$fn2408[0]],cases2385.$mut_fields_mask[0],false);\nR.dF(cases2385.dict[$fn2408[1]],cases2385.$mut_fields_mask[1],false);\nR.dF(cases2385.dict[$fn2408[2]],cases2385.$mut_fields_mask[2],false);\n$step2400 = 6;\n$al2402 = L[910];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 6: var anf_arg252 = $ans2401;\n// caller optimization;\n$ans2401 = link124.$var.app(first2384,anf_arg252);\n$step2400 = 9;\nbreak;\ncase 7: if(cases2385.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[912],false,L[909],cases2385.$loc);\n}\n$step2400 = 9;\n$al2402 = L[915];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 8: $ans2401 = R.throwNoCasesMatched(L[909],cases2385);\n$step2400 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2401;\ndefault: R.ffi.throwSpinnakerError(L[909],$step2400);\n}\n}\nif($step2400 !== 9) {\n$ans2401.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2402,$temp_branch2399,$step2400,[first2384,rest2383],[cases2385],$elidedFrames2404);\n}\nreturn $ans2401;\n};\n$ans2376 = cases2380.$app_fields($temp_branch2399,[false,false]);\nbreak;\ncase 5: $ans2376 = R.throwNoCasesMatched(L[906],cases2380);\n$step2373 = 6;\nbreak;\ncase 6: var ann_check_temp2381 = $ans2376;\n$step2373 = 7;\n$al2377 = L[904];\nvar $ann$check2382 = R._cA(L[904],List50,ann_check_temp2381);\nif(R.isContinuation($ann$check2382)) {\n$ans2376 = $ann$check2382;\n}\nbreak;\ncase 7: $step2373 = 8;\n$ans2376 = ann_check_temp2381;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2376;\ndefault: R.ffi.throwSpinnakerError(L[903],$step2373);\n}\n}\nif($step2373 !== 8) {\n$ans2376.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2377,$temp_lam2374,$step2373,[l2375],[cases2380,ann_check_temp2381],$elidedFrames2379);\n}\nreturn $ans2376;\n};\nvar anf_assign2415 = R.mF($temp_lam2374,\"distinct\");\ndistinct2386.$var = anf_assign2415;\nR.nothing;\nvar $temp_lam2417 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__919($pred2418,$lst2419) {\nvar $step2416 = 0;\nvar $elidedFrames2423 = 0;\nvar $ans2420 = D;\nvar $al2421 = L[919];\nif(R.isAR($pred2418)) {\n$step2416 = $pred2418.step;\n$al2421 = $pred2418.from;\n$ans2420 = $pred2418.ans;\n$elidedFrames2423 = $pred2418.elidedFrames;\npred2418 = $pred2418.args[0];\nlst2419 = $pred2418.args[1];\ntail2435 = $pred2418.vars[0];\nann_check_temp2444 = $pred2418.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[919],2,$t,false);\n}\nvar pred2418 = $pred2418;\nvar lst2419 = $lst2419;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2420 = R.mC();\n}\nwhile(!R.isContinuation($ans2420)) {\nswitch($step2416) {\ncase 0: $step2416 = 1;\n$al2421 = L[931];\nR._cA(L[931],R.Function,pred2418);\nbreak;\ncase 1: $step2416 = 2;\n$al2421 = L[932];\nR._cA(L[932],List50,lst2419);\nbreak;\ncase 2: var tail2435 = {\"$var\":empty266.$var};\nvar help2433 = {\"$var\":D};\nvar $temp_lam2425 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__920($l2426) {\nvar $step2424 = 0;\nvar $elidedFrames2430 = 0;\nvar $ans2427 = D;\nvar $al2428 = L[920];\nif(R.isAR($l2426)) {\n$step2424 = $l2426.step;\n$al2428 = $l2426.from;\n$ans2427 = $l2426.ans;\n$elidedFrames2430 = $l2426.elidedFrames;\nl2426 = $l2426.args[0];\ncases2431 = $l2426.vars[0];\nfirst2432 = $l2426.vars[1];\nrest2434 = $l2426.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[920],1,$t,false);\n}\nvar l2426 = $l2426;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2427 = R.mC();\n}\nwhile(!R.isContinuation($ans2427)) {\nswitch($step2424) {\ncase 0: var cases2431 = l2426;\n$step2424 = 1;\n$al2428 = L[926];\nvar $ann$check2440 = R._cA(L[926],List50,cases2431);\nif(R.isContinuation($ann$check2440)) {\n$ans2427 = $ann$check2440;\n}\nbreak;\ncase 1: $al2428 = L[922];\n$step2424 = $cases_dispatch2439[cases2431.$name] || 8;\nbreak;\ncase 2: if(cases2431.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[921],false,L[922],cases2431.$loc);\n}\n$step2424 = 9;\n$ans2427 = empty266.$var;\nbreak;\ncase 3: if(cases2431.$arity !== 2) {\nif(cases2431.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[925],2,cases2431.$arity,L[922],cases2431.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[925],true,L[922],cases2431.$loc);\n}\n}\nvar $fn2438 = cases2431.$constructor.$fieldNames;\nvar first2432 = R.dF(cases2431.dict[$fn2438[0]],cases2431.$mut_fields_mask[0],false);\nvar rest2434 = R.dF(cases2431.dict[$fn2438[1]],cases2431.$mut_fields_mask[1],false);\n$step2424 = 4;\n$al2428 = L[924];\nif(typeof(pred2418.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2428,pred2418);\n}\n$ans2427 = pred2418.app(first2432);\nbreak;\ncase 4: var anf_if2436 = $ans2427;\n$step2424 = R.checkPyretTrue(anf_if2436)?5:7;\nbreak;\ncase 5: $step2424 = 6;\n$al2428 = L[923];\n// omitting isFunction check;\n$ans2427 = help2433.$var.app(rest2434);\nbreak;\ncase 6: var anf_arg266 = $ans2427;\n// caller optimization;\n$ans2427 = link124.$var.app(first2432,anf_arg266);\n$step2424 = 9;\nbreak;\ncase 7: tail2435.$var = l2426;\nR.nothing;\n$step2424 = 9;\n$ans2427 = empty266.$var;\nbreak;\ncase 8: $ans2427 = R.throwNoCasesMatched(L[922],cases2431);\n$step2424 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2427;\ndefault: R.ffi.throwSpinnakerError(L[920],$step2424);\n}\n}\nif($step2424 !== 9) {\n$ans2427.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2428,$temp_lam2425,$step2424,[l2426],[cases2431,first2432,rest2434],$elidedFrames2430);\n}\nreturn $ans2427;\n};\nvar anf_assign2442 = R.mF($temp_lam2425,\"help\");\nhelp2433.$var = anf_assign2442;\nR.nothing;\n$step2416 = 3;\n$al2421 = L[930];\n// omitting isFunction check;\n$ans2420 = help2433.$var.app(lst2419);\nbreak;\ncase 3: var anf_tuple_fields278 = $ans2420;\nvar anf_tuple_fields2443 = tail2435.$var;\nvar ann_check_temp2444 = R.makeTuple([anf_tuple_fields278,anf_tuple_fields2443]);\n$step2416 = 4;\n$al2421 = L[929];\nvar $ann$check2445 = R._cA(L[929],R.mTA([L[927],L[928]],[List50,List50]),ann_check_temp2444);\nif(R.isContinuation($ann$check2445)) {\n$ans2420 = $ann$check2445;\n}\nbreak;\ncase 4: $step2416 = 5;\n$ans2420 = ann_check_temp2444;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2420;\ndefault: R.ffi.throwSpinnakerError(L[919],$step2416);\n}\n}\nif($step2416 !== 5) {\n$ans2420.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2421,$temp_lam2417,$step2416,[pred2418,lst2419],[tail2435,ann_check_temp2444],$elidedFrames2423);\n}\nreturn $ans2420;\n};\nvar anf_assign2447 = R.mF($temp_lam2417,\"take-while\");\ntake$while2448.$var = anf_assign2447;\nR.nothing;\nvar $temp_lam2450 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__933($l2451,$sep2452) {\nvar $step2449 = 0;\nvar $elidedFrames2456 = 0;\nvar $ans2453 = D;\nvar $al2454 = L[933];\nif(R.isAR($l2451)) {\n$step2449 = $l2451.step;\n$al2454 = $l2451.from;\n$ans2453 = $l2451.ans;\n$elidedFrames2456 = $l2451.elidedFrames;\nl2451 = $l2451.args[0];\nsep2452 = $l2451.args[1];\nann_check_temp2457 = $l2451.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[933],2,$t,false);\n}\nvar l2451 = $l2451;\nvar sep2452 = $sep2452;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2453 = R.mC();\n}\nwhile(!R.isContinuation($ans2453)) {\nswitch($step2449) {\ncase 0: $step2449 = 1;\n$al2454 = L[936];\nR._cA(L[936],List50,l2451);\nbreak;\ncase 1: $step2449 = 2;\n$al2454 = L[937];\nR._cA(L[937],$type$String8,sep2452);\nbreak;\ncase 2: $step2449 = 3;\n$ans2453 = R.maybeMethodCall3(builtins1,\"raw-list-join-str-last\",L[934],l2451,sep2452,sep2452);\nbreak;\ncase 3: var ann_check_temp2457 = $ans2453;\n$step2449 = 4;\n$al2454 = L[935];\nvar $ann$check2458 = R._cA(L[935],$type$String8,ann_check_temp2457);\nif(R.isContinuation($ann$check2458)) {\n$ans2453 = $ann$check2458;\n}\nbreak;\ncase 4: $step2449 = 5;\n$ans2453 = ann_check_temp2457;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2453;\ndefault: R.ffi.throwSpinnakerError(L[933],$step2449);\n}\n}\nif($step2449 !== 5) {\n$ans2453.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2454,$temp_lam2450,$step2449,[l2451,sep2452],[ann_check_temp2457],$elidedFrames2456);\n}\nreturn $ans2453;\n};\nvar anf_assign2461 = R.mF($temp_lam2450,\"join-str\");\njoin$str218.$var = anf_assign2461;\nR.nothing;\nvar $temp_lam2463 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__938($l2464,$sep2465,$last$sep2466) {\nvar $step2462 = 0;\nvar $elidedFrames2470 = 0;\nvar $ans2467 = D;\nvar $al2468 = L[938];\nif(R.isAR($l2464)) {\n$step2462 = $l2464.step;\n$al2468 = $l2464.from;\n$ans2467 = $l2464.ans;\n$elidedFrames2470 = $l2464.elidedFrames;\nl2464 = $l2464.args[0];\nsep2465 = $l2464.args[1];\nlast$sep2466 = $l2464.args[2];\nann_check_temp2471 = $l2464.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[938],3,$t,false);\n}\nvar l2464 = $l2464;\nvar sep2465 = $sep2465;\nvar last$sep2466 = $last$sep2466;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2467 = R.mC();\n}\nwhile(!R.isContinuation($ans2467)) {\nswitch($step2462) {\ncase 0: $step2462 = 1;\n$al2468 = L[941];\nR._cA(L[941],List50,l2464);\nbreak;\ncase 1: $step2462 = 2;\n$al2468 = L[942];\nR._cA(L[942],$type$String8,sep2465);\nbreak;\ncase 2: $step2462 = 3;\n$al2468 = L[943];\nR._cA(L[943],$type$String8,last$sep2466);\nbreak;\ncase 3: $step2462 = 4;\n$ans2467 = R.maybeMethodCall3(builtins1,\"raw-list-join-str-last\",L[939],l2464,sep2465,last$sep2466);\nbreak;\ncase 4: var ann_check_temp2471 = $ans2467;\n$step2462 = 5;\n$al2468 = L[940];\nvar $ann$check2472 = R._cA(L[940],$type$String8,ann_check_temp2471);\nif(R.isContinuation($ann$check2472)) {\n$ans2467 = $ann$check2472;\n}\nbreak;\ncase 5: $step2462 = 6;\n$ans2467 = ann_check_temp2471;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2467;\ndefault: R.ffi.throwSpinnakerError(L[938],$step2462);\n}\n}\nif($step2462 !== 6) {\n$ans2467.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2468,$temp_lam2463,$step2462,[l2464,sep2465,last$sep2466],[ann_check_temp2471],$elidedFrames2470);\n}\nreturn $ans2467;\n};\nvar anf_assign299 = R.mF($temp_lam2463,\"join-str-last\");\njoin$str$last232.$var = anf_assign299;\nR.nothing;\nvar member$always32561 = member32200.$var;\nvar member$always2559 = member2213.$var;\nvar foldl2560 = fold927.$var;\nvar $temp_lam2475 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__944($$resumer13) {\nvar $step2474 = 0;\nvar $elidedFrames2479 = 0;\nvar $ans2476 = D;\nvar $al2477 = L[944];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[944],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2476)) {\nswitch($step2474) {\ncase 0: $step2474 = 1;\n$ans2476 = empty266.$var;\nbreak;\ncase 1: return $ans2476;\ndefault: R.ffi.throwSpinnakerError(L[944],$step2474);\n}\n}\nreturn $ans2476;\n};\nvar anf_obj2552 = R.mF($temp_lam2475,\"\");\nvar $temp_lam2482 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__945($a2483) {\nvar $step2481 = 0;\nvar $elidedFrames2487 = 0;\nvar $ans2484 = D;\nvar $al2485 = L[945];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[945],1,$t,false);\n}\nvar a2483 = $a2483;\n// callee optimization;\nwhile(!R.isContinuation($ans2484)) {\nswitch($step2481) {\ncase 0: // caller optimization;\n$ans2484 = link124.$var.app(a2483,empty266.$var);\n$step2481 = 1;\nbreak;\ncase 1: return $ans2484;\ndefault: R.ffi.throwSpinnakerError(L[945],$step2481);\n}\n}\nreturn $ans2484;\n};\nvar anf_obj2553 = R.mF($temp_lam2482,\"\");\nvar $temp_lam2490 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__946($a2491,$b2492) {\nvar $step2489 = 0;\nvar $elidedFrames2496 = 0;\nvar $ans2493 = D;\nvar $al2494 = L[946];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[946],2,$t,false);\n}\nvar a2491 = $a2491;\nvar b2492 = $b2492;\n// callee optimization;\nwhile(!R.isContinuation($ans2493)) {\nswitch($step2489) {\ncase 0: // caller optimization;\n$ans2493 = link124.$var.app(b2492,empty266.$var);\nvar anf_arg2501 = $ans2493;\n// caller optimization;\n$ans2493 = link124.$var.app(a2491,anf_arg2501);\n$step2489 = 1;\nbreak;\ncase 1: return $ans2493;\ndefault: R.ffi.throwSpinnakerError(L[946],$step2489);\n}\n}\nreturn $ans2493;\n};\nvar anf_obj2554 = R.mF($temp_lam2490,\"\");\nvar $temp_lam2504 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__947($a2505,$b2506,$c2507) {\nvar $step2503 = 0;\nvar $elidedFrames2511 = 0;\nvar $ans2508 = D;\nvar $al2509 = L[947];\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[947],3,$t,false);\n}\nvar a2505 = $a2505;\nvar b2506 = $b2506;\nvar c2507 = $c2507;\n// callee optimization;\nwhile(!R.isContinuation($ans2508)) {\nswitch($step2503) {\ncase 0: // caller optimization;\n$ans2508 = link124.$var.app(c2507,empty266.$var);\nvar anf_arg340 = $ans2508;\n// caller optimization;\n$ans2508 = link124.$var.app(b2506,anf_arg340);\nvar anf_arg2512 = $ans2508;\n// caller optimization;\n$ans2508 = link124.$var.app(a2505,anf_arg2512);\n$step2503 = 1;\nbreak;\ncase 1: return $ans2508;\ndefault: R.ffi.throwSpinnakerError(L[947],$step2503);\n}\n}\nreturn $ans2508;\n};\nvar anf_obj2555 = R.mF($temp_lam2504,\"\");\nvar $temp_lam2516 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__948($a2517,$b2518,$c2519,$d2520) {\nvar $step2515 = 0;\nvar $elidedFrames2524 = 0;\nvar $ans2521 = D;\nvar $al2522 = L[948];\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[948],4,$t,false);\n}\nvar a2517 = $a2517;\nvar b2518 = $b2518;\nvar c2519 = $c2519;\nvar d2520 = $d2520;\n// callee optimization;\nwhile(!R.isContinuation($ans2521)) {\nswitch($step2515) {\ncase 0: // caller optimization;\n$ans2521 = link124.$var.app(d2520,empty266.$var);\nvar anf_arg2525 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(c2519,anf_arg2525);\nvar anf_arg355 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(b2518,anf_arg355);\nvar anf_arg2526 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(a2517,anf_arg2526);\n$step2515 = 1;\nbreak;\ncase 1: return $ans2521;\ndefault: R.ffi.throwSpinnakerError(L[948],$step2515);\n}\n}\nreturn $ans2521;\n};\nvar anf_obj2556 = R.mF($temp_lam2516,\"\");\nvar $temp_lam2529 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__949($a2530,$b2531,$c2532,$d2533,$e2534) {\nvar $step2528 = 0;\nvar $elidedFrames2538 = 0;\nvar $ans2535 = D;\nvar $al2536 = L[949];\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[949],5,$t,false);\n}\nvar a2530 = $a2530;\nvar b2531 = $b2531;\nvar c2532 = $c2532;\nvar d2533 = $d2533;\nvar e2534 = $e2534;\n// callee optimization;\nwhile(!R.isContinuation($ans2535)) {\nswitch($step2528) {\ncase 0: // caller optimization;\n$ans2535 = link124.$var.app(e2534,empty266.$var);\nvar anf_arg2539 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(d2533,anf_arg2539);\nvar anf_arg2542 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(c2532,anf_arg2542);\nvar anf_arg2548 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(b2531,anf_arg2548);\nvar anf_arg2550 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(a2530,anf_arg2550);\n$step2528 = 1;\nbreak;\ncase 1: return $ans2535;\ndefault: R.ffi.throwSpinnakerError(L[949],$step2528);\n}\n}\nreturn $ans2535;\n};\nvar anf_obj2557 = R.mF($temp_lam2529,\"\");\nvar list2562 = R.mO({\"make\":raw$array$to$list4,\n\"make0\":anf_obj2552,\n\"make1\":anf_obj2553,\n\"make2\":anf_obj2554,\n\"make3\":anf_obj2555,\n\"make4\":anf_obj2556,\n\"make5\":anf_obj2557});\n$step29 = 1;\n$ans33 = R.maybeMethodCall2(builtins1,\"trace-value\",L[950],L[950],nothing2);\nbreak;\ncase 1: var answer2563 = $ans33;\n$step29 = 2;\n$ans33 = R.maybeMethodCall0(builtins1,\"current-checker\",L[258]);\nbreak;\ncase 2: var anf_method_obj2558 = $ans33;\n$step29 = 3;\n$ans33 = R.maybeMethodCall0(anf_method_obj2558,\"results\",L[258]);\nbreak;\ncase 3: var checks2564 = $ans33;\n$step29 = 4;\n$ans33 = R.mO({\"answer\":answer2563,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"equality\":equality22,\n\"VS\":VS10},\n\"defined-values\":{\"each2_n\":each2_n1843.$var,\n\"fold\":fold927.$var,\n\"all\":all1335.$var,\n\"each3_n\":each3_n1888.$var,\n\"each\":each98.$var,\n\"is-List\":is$List708.$var,\n\"set\":set191.$var,\n\"member-always\":member$always2559,\n\"member-identical\":member$identical2266.$var,\n\"each4_n\":each4_n1939.$var,\n\"reverse\":reverse111.$var,\n\"member-now\":member$now2239.$var,\n\"remove\":remove205.$var,\n\"map2_n\":map2_n1543.$var,\n\"longer-than\":longer$than788.$var,\n\"fold-while\":fold$while1956.$var,\n\"shorter-than\":shorter$than823.$var,\n\"map3_n\":map3_n1585.$var,\n\"length\":length746.$var,\n\"sort-by\":sort$by1006.$var,\n\"split-at\":split$at137.$var,\n\"map4_n\":map4_n1620.$var,\n\"take\":take1288.$var,\n\"filter-map\":filter$map2313.$var,\n\"range-by\":range$by1100.$var,\n\"partition\":partition404.$var,\n\"is-empty\":is$empty549.$var,\n\"foldl\":foldl2560,\n\"map_n\":map_n1518.$var,\n\"take-while\":take$while2448.$var,\n\"any\":any1314.$var,\n\"empty\":empty266.$var,\n\"same-length\":same$length762.$var,\n\"join-str\":join$str218.$var,\n\"drop\":drop1302.$var,\n\"each_n\":each_n1807.$var,\n\"member-now3\":member$now32226.$var,\n\"fold_n\":fold_n2166.$var,\n\"fold2\":fold22036.$var,\n\"foldr\":foldr2007.$var,\n\"each2\":each21700.$var,\n\"all2\":all21384.$var,\n\"member-identical3\":member$identical32252.$var,\n\"member-always3\":member$always32561,\n\"fold3\":fold32077.$var,\n\"each3\":each31737.$var,\n\"fold4\":fold42119.$var,\n\"each4\":each41778.$var,\n\"join-str-last\":join$str$last232.$var,\n\"map2\":map21415.$var,\n\"last\":last992.$var,\n\"get\":get177.$var,\n\"filter-values\":filter$values2348.$var,\n\"map3\":map31446.$var,\n\"map4\":map41491.$var,\n\"filter\":filter85.$var,\n\"member-with\":member$with2179.$var,\n\"member3\":member32200.$var,\n\"find\":find417.$var,\n\"shuffle\":shuffle2299.$var,\n\"member\":member2213.$var,\n\"push\":push961.$var,\n\"append\":append1139.$var,\n\"link\":link124.$var,\n\"repeat\":repeat1115.$var,\n\"map\":map71.$var,\n\"distinct\":distinct2386.$var,\n\"range\":range1056.$var,\n\"is-link\":is$link712.$var,\n\"list\":list2562,\n\"sort\":sort1018.$var},\n\"defined-types\":{\"List\":List50},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"each2_n\":each2_n1843.$var,\n\"fold\":fold927.$var,\n\"all\":all1335.$var,\n\"each3_n\":each3_n1888.$var,\n\"each\":each98.$var,\n\"is-List\":is$List708.$var,\n\"set\":set191.$var,\n\"member-always\":member$always2559,\n\"member-identical\":member$identical2266.$var,\n\"each4_n\":each4_n1939.$var,\n\"reverse\":reverse111.$var,\n\"member-now\":member$now2239.$var,\n\"remove\":remove205.$var,\n\"map2_n\":map2_n1543.$var,\n\"longer-than\":longer$than788.$var,\n\"fold-while\":fold$while1956.$var,\n\"shorter-than\":shorter$than823.$var,\n\"map3_n\":map3_n1585.$var,\n\"length\":length746.$var,\n\"sort-by\":sort$by1006.$var,\n\"split-at\":split$at137.$var,\n\"map4_n\":map4_n1620.$var,\n\"take\":take1288.$var,\n\"filter-map\":filter$map2313.$var,\n\"range-by\":range$by1100.$var,\n\"partition\":partition404.$var,\n\"is-empty\":is$empty549.$var,\n\"foldl\":foldl2560,\n\"map_n\":map_n1518.$var,\n\"take-while\":take$while2448.$var,\n\"any\":any1314.$var,\n\"empty\":empty266.$var,\n\"same-length\":same$length762.$var,\n\"join-str\":join$str218.$var,\n\"drop\":drop1302.$var,\n\"each_n\":each_n1807.$var,\n\"member-now3\":member$now32226.$var,\n\"fold_n\":fold_n2166.$var,\n\"fold2\":fold22036.$var,\n\"foldr\":foldr2007.$var,\n\"each2\":each21700.$var,\n\"all2\":all21384.$var,\n\"member-identical3\":member$identical32252.$var,\n\"member-always3\":member$always32561,\n\"fold3\":fold32077.$var,\n\"each3\":each31737.$var,\n\"fold4\":fold42119.$var,\n\"each4\":each41778.$var,\n\"join-str-last\":join$str$last232.$var,\n\"map2\":map21415.$var,\n\"last\":last992.$var,\n\"get\":get177.$var,\n\"filter-values\":filter$values2348.$var,\n\"map3\":map31446.$var,\n\"map4\":map41491.$var,\n\"filter\":filter85.$var,\n\"member-with\":member$with2179.$var,\n\"member3\":member32200.$var,\n\"find\":find417.$var,\n\"shuffle\":shuffle2299.$var,\n\"member\":member2213.$var,\n\"push\":push961.$var,\n\"append\":append1139.$var,\n\"link\":link124.$var,\n\"repeat\":repeat1115.$var,\n\"map\":map71.$var,\n\"distinct\":distinct2386.$var,\n\"range\":range1056.$var,\n\"is-link\":is$link712.$var,\n\"list\":list2562,\n\"sort\":sort1018.$var}),\n\"types\":{\"List\":List50},\n\"modules\":{}}),\n\"checks\":checks2564});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans33;\ndefault: R.ffi.throwSpinnakerError(L[951],$step29);\n}\n}\nif($step29 !== 4) {\n$ans33.stack[R.EXN_STACKHEIGHT++] = R.mAR($al34,$toplevel30,$step29,[],[fold_n2166,split$at137,fold32077,each4_n1939,map21415,is$List708,same$length762,find417,take$while2448,member$always2559,filter$map2313,shorter$than823,fold22036,drop1302,member$identical2266,member$with2179,foldl2560,fold42119,each41778,foldr2007,each21700,member$identical32252,empty266,remove205,member$now2239,take1288,filter$values2348,map3_n1585,fold$while1956,partition404,each31737,map4_n1620,length746,any1314,List50,fold927,map2_n1543,each_n1807,each98,list2562,member$now32226,get177,range$by1100,answer2563,map71,distinct2386,map41491,map_n1518,member$always32561,set191,filter85,last992,is$link712,all1335,range1056,member2213,sort1018,repeat1115,each2_n1843,each3_n1888,is$empty549,link124,shuffle2299,member32200,append1139,sort$by1006,push961,reverse111,all21384,longer$than788,join$str218,map31446,join$str$last232],$elidedFrames36);\n}\nreturn $ans33;\n};\nreturn R.safeCall($toplevel30,function module_load(moduleVal) {\nR.modules[\"$builtin://lists24\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"sort":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +348, +0, +13038, +350, +3, +13094], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"sort", +"typ":"tany"}, +"list":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +881, +0, +30901, +889, +1, +31270], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"is-link":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +3, +0, +30, +3, +15, +45], +"definition-bind-site":["builtin://lists", +79, +2, +2952, +165, +8, +6813], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":0, +"name":"is-link", +"typ":"tany"}, +"range":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +352, +0, +13096, +361, +3, +13451], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"range", +"typ":"tany"}, +"distinct":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +821, +0, +28884, +832, +3, +29329], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"distinct", +"typ":"tany"}, +"map":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +510, +0, +17735, +513, +3, +17897], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map", +"typ":"tany"}, +"repeat":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +383, +0, +14191, +388, +3, +14397], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"repeat", +"typ":"tany"}, +"link":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +3, +0, +30, +3, +15, +45], +"definition-bind-site":["builtin://lists", +79, +2, +2952, +165, +8, +6813], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":0, +"name":"link", +"typ":"tany"}, +"append":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +395, +0, +14563, +400, +3, +14722], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"append", +"typ":"tany"}, +"push":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +324, +0, +12511, +326, +3, +12577], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":1, +"name":"push", +"typ":"tany"}, +"member":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +766, +0, +27431, +768, +3, +27527], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member", +"typ":"tany"}, +"shuffle":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +786, +0, +27987, +797, +3, +28332], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"shuffle", +"typ":"tany"}, +"find":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +435, +0, +15633, +447, +3, +15953], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"find", +"typ":"tany"}, +"member3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +762, +0, +27318, +764, +3, +27429], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member3", +"typ":"tany"}, +"member-with":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +748, +0, +26876, +760, +3, +27316], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member-with", +"typ":"tany"}, +"filter":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +390, +0, +14399, +393, +3, +14561], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"filter", +"typ":"tany"}, +"map4":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +533, +0, +18537, +540, +3, +18953], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map4", +"typ":"tany"}, +"map3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +524, +0, +18189, +531, +3, +18535], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map3", +"typ":"tany"}, +"filter-values":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +810, +0, +28618, +819, +3, +28882], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"filter-values", +"typ":"tany"}, +"get":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +289, +0, +11360, +300, +3, +11744], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"get", +"typ":"tany"}, +"last":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +328, +0, +12579, +342, +3, +12914], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"last", +"typ":"tany"}, +"map2":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +515, +0, +17899, +522, +3, +18187], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map2", +"typ":"tany"}, +"join-str-last":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +867, +0, +30444, +875, +3, +30837], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"join-str-last", +"typ":"tany"}, +"each4":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +610, +0, +21499, +621, +3, +22021], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each4", +"typ":"tany"}, +"fold4":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +725, +0, +25855, +733, +3, +26378], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold4", +"typ":"tany"}, +"each3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +597, +0, +21035, +608, +3, +21497], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each3", +"typ":"tany"}, +"fold3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +715, +0, +25385, +723, +3, +25853], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold3", +"typ":"tany"}, +"member-always3":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +877, +0, +30839, +877, +24, +30863], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"member-identical3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +778, +0, +27749, +780, +3, +27867], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member-identical3", +"typ":"tany"}, +"all2":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +499, +0, +17339, +508, +3, +17733], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"all2", +"typ":"tany"}, +"each2":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +584, +0, +20645, +595, +3, +21033], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each2", +"typ":"tany"}, +"foldr":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +695, +0, +24659, +703, +3, +24968], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"foldr", +"typ":"tany"}, +"fold2":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +705, +0, +24970, +713, +3, +25383], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold2", +"typ":"tany"}, +"fold_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +735, +0, +26380, +746, +3, +26874], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold_n", +"typ":"tany"}, +"member-now3":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +770, +0, +27529, +772, +3, +27641], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member-now3", +"typ":"tany"}, +"each_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +623, +0, +22023, +634, +3, +22350], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each_n", +"typ":"tany"}, +"drop":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +476, +0, +16748, +479, +3, +16912], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"drop", +"typ":"tany"}, +"join-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +858, +0, +30178, +865, +3, +30442], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"join-str", +"typ":"tany"}, +"same-length":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +245, +0, +9830, +263, +3, +10467], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"same-length", +"typ":"tany"}, +"empty":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +3, +0, +30, +3, +15, +45], +"definition-bind-site":["builtin://lists", +12, +2, +168, +78, +8, +2949], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"any":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +481, +0, +16914, +488, +3, +17124], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"any", +"typ":"tany"}, +"take-while":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +834, +0, +29331, +856, +3, +30176], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"take-while", +"typ":"tany"}, +"map_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +542, +0, +18955, +549, +3, +19220], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map_n", +"typ":"tany"}, +"foldl":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +879, +0, +30887, +879, +12, +30899], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"is-empty":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +3, +0, +30, +3, +15, +45], +"definition-bind-site":["builtin://lists", +12, +2, +168, +78, +8, +2949], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":0, +"name":"is-empty", +"typ":"tany"}, +"partition":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +402, +0, +14724, +420, +3, +15323], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"partition", +"typ":"tany"}, +"range-by":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +363, +0, +13453, +381, +3, +14189], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"range-by", +"typ":"tany"}, +"filter-map":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +799, +0, +28334, +808, +3, +28616], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"filter-map", +"typ":"tany"}, +"take":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +471, +0, +16590, +474, +3, +16746], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"take", +"typ":"tany"}, +"map4_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +569, +0, +19976, +576, +3, +20456], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map4_n", +"typ":"tany"}, +"split-at":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +449, +0, +15955, +469, +3, +16588], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"split-at", +"typ":"tany"}, +"sort-by":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +344, +0, +12916, +346, +3, +13036], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"sort-by", +"typ":"tany"}, +"length":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +234, +0, +9579, +243, +3, +9828], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"length", +"typ":"tany"}, +"map3_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +560, +0, +19564, +567, +3, +19974], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map3_n", +"typ":"tany"}, +"shorter-than":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +277, +0, +10911, +287, +3, +11358], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"shorter-than", +"typ":"tany"}, +"fold-while":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +675, +0, +23868, +687, +3, +24395], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold-while", +"typ":"tany"}, +"longer-than":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +265, +0, +10469, +275, +3, +10909], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"longer-than", +"typ":"tany"}, +"map2_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +551, +0, +19222, +558, +3, +19562], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"map2_n", +"typ":"tany"}, +"remove":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +422, +0, +15325, +433, +3, +15631], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"remove", +"typ":"tany"}, +"member-now":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +774, +0, +27643, +776, +3, +27747], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member-now", +"typ":"tany"}, +"reverse":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +316, +0, +12242, +322, +3, +12509], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"reverse", +"typ":"tany"}, +"each4_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +662, +0, +23284, +673, +3, +23866], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each4_n", +"typ":"tany"}, +"member-identical":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +782, +0, +27869, +784, +3, +27985], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"member-identical", +"typ":"tany"}, +"member-always":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +878, +0, +30864, +878, +22, +30886], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"set":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +302, +0, +11746, +314, +3, +12240], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"set", +"typ":"tany"}, +"is-List":{"bind":"let", +"origin":{"local-bind-site":["builtin://lists", +3, +0, +30, +3, +15, +45], +"definition-bind-site":["builtin://lists", +11, +0, +152, +232, +3, +9577], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"typ":"tany"}, +"each":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +578, +0, +20458, +582, +3, +20643], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each", +"typ":"tany"}, +"each3_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +649, +0, +22776, +660, +3, +23282], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each3_n", +"typ":"tany"}, +"all":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +490, +0, +17126, +497, +3, +17337], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"all", +"typ":"tany"}, +"fold":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +689, +0, +24397, +693, +3, +24657], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"fold", +"typ":"tany"}, +"each2_n":{"bind":"fun", +"origin":{"local-bind-site":["builtin://lists", +2, +0, +20, +2, +9, +29], +"definition-bind-site":["builtin://lists", +636, +0, +22352, +647, +3, +22774], +"new-definition":true, +"uri-of-definition":"builtin://lists"}, +"flatness":false, +"name":"each2_n", +"typ":"tany"}}, +"datatypes":{"List":["data",{"local-bind-site":["builtin://lists", +11, +0, +152, +232, +3, +9577], +"definition-bind-site":["builtin://lists", +11, +0, +152, +232, +3, +9577], +"new-definition":true, +"uri-of-definition":"builtin://lists"},"List",["atom#a#98"],[["empty", +{"sort":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"append":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"member":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"find":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"Option"},[["tid", +"atom#a#98"]]]], +"last":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tid", +"atom#a#98"]], +"foldr":["forall", +["atom#b#104"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]]], +"any":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"foldl":["forall", +["atom#b#108"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]]], +"partition":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["record",{"is-false":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +"is-true":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]}]], +"sort-by":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"length":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"all":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]}],["link", +[["first", +["tid", +"atom#a#98"]],["rest", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]]], +{"sort":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"append":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"member":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"find":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"Option"},[["tid", +"atom#a#98"]]]], +"last":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tid", +"atom#a#98"]], +"foldr":["forall", +["atom#b#134"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#134"]], +["tid", +"atom#b#134"]], +["tid", +"atom#b#134"]], +["tid", +"atom#b#134"]]], +"any":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"foldl":["forall", +["atom#b#138"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#138"]], +["tid", +"atom#b#138"]], +["tid", +"atom#b#138"]], +["tid", +"atom#b#138"]]], +"partition":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["record",{"is-false":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +"is-true":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]}]], +"sort-by":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"length":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"all":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]}]],{"sort":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"map":["forall", +["atom#b#166"], +["arrow", +["tany", +["arrow", +[["tid", +"atom#a#98"]], +["tid", +"atom#b#166"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#b#166"]]]]], +"append":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"push":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tid", +"atom#a#98"]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"member":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"_plus":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"find":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"Option"},[["tid", +"atom#a#98"]]]], +"filter":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"get":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +["tid", +"atom#a#98"]], +"last":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tid", +"atom#a#98"]], +"join-str-last":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}], +"foldr":["forall", +["atom#b#104"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]], +["tid", +"atom#b#104"]]], +"drop":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"join-str":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}], +"any":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"foldl":["forall", +["atom#b#108"], +["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]], +["tid", +"atom#b#108"]]], +"partition":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["record",{"is-false":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +"is-true":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]}]], +"take":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"split-at":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +["record",{"suffix":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +"prefix":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]}]], +"sort-by":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +["arrow", +[["tid", +"atom#a#98"], +["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"length":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"remove":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["tid", +"atom#a#98"]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"reverse":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"set":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +["tid", +"atom#a#98"]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"each":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Nothing"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Nothing"}], +"all":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]], +["arrow", +[["tid", +"atom#a#98"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"_output":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://lists"}, +"name":"List"},[["tid", +"atom#a#98"]]]], +"tany"]}]}, +"aliases":{"List":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"either"}, +{"import-type":"builtin", +"name":"equality"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://arrays":({"theMap":"{\"version\":3,\"sources\":[\"builtin://arrays\"],\"names\":[\"builtin://arrays\",\",27,9,505,27,27,523\",\",27,39,535,27,73,569\",\",29,37,620,29,59,642\",\",31,6,716,31,33,743\",\",34,22,789,34,43,810\",\",35,27,843,35,49,865\",\",37,9,917,37,34,942\",\",37,36,944,37,62,970\",\",37,6,914,37,63,971\",\",39,52,1033,39,70,1051\",\",39,52,1033,39,87,1068\",\",39,26,1007,39,88,1069\",\",25,2,453,40,4,1078\",\",43,11,1095,43,22,1106\",\",46,8,1177,46,34,1203\",\",48,9,1228,48,16,1235\",\",49,28,1271,49,32,1275\",\",49,6,1249,49,33,1276\",\",50,11,1288,50,16,1293\",\",50,6,1283,50,17,1294\",\",53,2,1311,53,9,1318\",\",54,2,1321,54,11,1330\",\",58,24,1390,58,34,1400\",\",58,8,1374,58,35,1401\",\",60,4,1442,60,30,1468\",\",59,2,1404,61,5,1474\",\",62,2,1477,62,11,1486\",\",66,8,1556,66,32,1580\",\",67,2,1583,67,11,1592\",\",71,2,1677,71,25,1700\",\",75,2,1769,75,20,1787\",\",79,2,1843,79,14,1855\",\",83,2,1917,83,19,1934\",\",88,22,1986,88,31,1995\",\",88,16,1980,88,35,1999\",\",89,23,2028,89,32,2037\",\",89,17,2022,89,37,2042\",\",90,26,2074,90,35,2083\",\",90,20,2068,90,43,2091\",\",91,29,2126,91,38,2135\",\",91,23,2120,91,49,2146\",\",92,32,2184,92,41,2193\",\",92,26,2178,92,55,2207\",\",93,35,2248,93,44,2257\",\",93,29,2242,93,61,2274\",\",20,0,372,20,23,395\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAsEC8B,0DAtED9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA0EC+B,mDA1ED/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA8ECgC,yCA9EDhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://arrays\"}", +"theModule":"function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__87(R,NAMESPACE,M,$$underscore_import5,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://arrays\";\nvar D = R.undefined;\nvar L = [[M,24,0,415,41,3,1082],\n[M,26,4,472,28,7,581],\n[M,27,39,535,27,73,569],\n[M,27,9,505,27,27,523],\n[M,29,4,587,29,63,646],\n[M,29,28,611,29,34,617],\n[M,30,4,652,33,7,765],\n[M,30,47,695,30,54,702],\n[M,30,31,679,30,37,685],\n[M,34,4,771,34,47,814],\n[M,35,4,820,35,53,869],\n[M,36,4,875,38,7,979],\n[M,37,9,917,37,34,942],\n[M,37,36,944,37,62,970],\n[M,37,6,914,37,63,971],\n[M,39,4,985,39,92,1073],\n[M,39,52,1033,39,70,1051],\n[M,39,52,1033,39,87,1068],\n[M,39,26,1007,39,88,1069],\n[M,25,2,453,40,4,1078],\n[M,24,29,444,24,34,449],\n[M,24,16,431,24,24,439],\n[M,43,11,1095,43,22,1106],\n[M,45,0,1108,55,3,1334],\n[M,47,2,1206,52,5,1308],\n[M,50,6,1283,50,17,1294],\n[M,50,11,1288,50,16,1293],\n[M,49,28,1271,49,32,1275],\n[M,48,9,1228,48,16,1235],\n[M,54,2,1321,54,11,1330],\n[M,53,2,1311,53,9,1318],\n[M,45,24,1132,45,37,1145],\n[M,45,46,1154,45,52,1160],\n[M,57,0,1336,63,3,1490],\n[M,58,24,1390,58,34,1400],\n[M,59,2,1404,61,5,1474],\n[M,62,2,1477,62,11,1486],\n[M,65,0,1492,68,3,1596],\n[M,65,46,1538,65,54,1546],\n[M,67,2,1583,67,11,1592],\n[M,65,23,1515,65,24,1516],\n[M,65,35,1527,65,41,1533],\n[M,70,0,1598,72,3,1704],\n[M,71,2,1677,71,25,1700],\n[M,70,68,1666,70,75,1673],\n[M,70,28,1626,70,36,1634],\n[M,70,47,1645,70,53,1651],\n[M,70,62,1660,70,63,1661],\n[M,74,0,1706,76,3,1791],\n[M,75,2,1769,75,20,1787],\n[M,74,58,1764,74,59,1765],\n[M,74,28,1734,74,36,1742],\n[M,74,47,1753,74,53,1759],\n[M,78,0,1793,80,3,1859],\n[M,79,2,1843,79,14,1855],\n[M,78,40,1833,78,46,1839],\n[M,78,27,1820,78,35,1828],\n[M,82,0,1861,84,3,1938],\n[M,83,2,1917,83,19,1934],\n[M,82,45,1906,82,52,1913],\n[M,82,32,1893,82,40,1901],\n[M,88,9,1973,88,39,2003],\n[M,88,21,1985,88,34,1998],\n[M,88,22,1986,88,31,1995],\n[M,88,16,1980,88,35,1999],\n[M,89,9,2014,89,41,2046],\n[M,89,22,2027,89,36,2041],\n[M,89,23,2028,89,32,2037],\n[M,89,17,2022,89,37,2042],\n[M,90,9,2057,90,47,2095],\n[M,90,25,2073,90,42,2090],\n[M,90,26,2074,90,35,2083],\n[M,90,20,2068,90,43,2091],\n[M,91,9,2106,91,53,2150],\n[M,91,28,2125,91,48,2145],\n[M,91,29,2126,91,38,2135],\n[M,91,23,2120,91,49,2146],\n[M,92,9,2161,92,59,2211],\n[M,92,31,2183,92,54,2206],\n[M,92,32,2184,92,41,2193],\n[M,92,26,2178,92,55,2207],\n[M,93,9,2222,93,65,2278],\n[M,93,34,2247,93,60,2273],\n[M,93,35,2248,93,44,2257],\n[M,93,29,2242,93,61,2274],\n[\"dummy location\"],\n[M,20,0,372,20,23,395],\n[M,3,0,21,94,1,2280]];\nvar $type$Nothing1 = R.getModuleField(\"builtin://global\",\"types\",\"Nothing\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar raw$array$set5 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-set\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array$of8 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-of\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar raw$array$length1 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-length\");\nvar $underscore_import4 = $$underscore_import5;\nvar $included$15 = $$included$127;\nvar VS7 = $VS8;\nvar each_n2 = R.getModuleField(\"builtin://lists\",\"values\",\"each_n\");\nvar List3 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel11 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__87($$resumer13) {\nvar $step10 = 0;\nvar $elidedFrames21 = 0;\nvar $ans17 = D;\nvar $al19 = L[87];\nif(R.isAR($$resumer13)) {\n$step10 = $$resumer13.step;\n$al19 = $$resumer13.from;\n$ans17 = $$resumer13.ans;\n$elidedFrames21 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\narray$of178 = $$resumer13.vars[0];\narray$from$list164 = $$resumer13.vars[1];\narray$to$list$now232 = $$resumer13.vars[2];\nget$arr$key38 = $$resumer13.vars[3];\narray341 = $$resumer13.vars[4];\nmake118 = $$resumer13.vars[5];\nArrayT22 = $$resumer13.vars[6];\nArray113 = $$resumer13.vars[7];\narray$length218 = $$resumer13.vars[8];\nbuild$array142 = $$resumer13.vars[9];\narray$set$now192 = $$resumer13.vars[10];\nanswer343 = $$resumer13.vars[11];\narray$get$now205 = $$resumer13.vars[12];\nis$array342 = $$resumer13.vars[13];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans17 = R.mC();\n}\nwhile(!R.isContinuation($ans17)) {\nswitch($step10) {\ncase 0: var ArrayT22 = R.nB(\"Array\",L[86]);\nvar Array113 = R.mBA(ArrayT22,\"Array\");\nvar get$arr$key38 = R.mO({});\nvar make118 = {\"$var\":D};\nvar $temp_lam24 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__0($arr25) {\nvar $step23 = 0;\nvar $elidedFrames29 = 0;\nvar $ans26 = D;\nvar $al27 = L[0];\nif(R.isAR($arr25)) {\n$step23 = $arr25.step;\n$al27 = $arr25.from;\n$ans26 = $arr25.ans;\n$elidedFrames29 = $arr25.elidedFrames;\narr25 = $arr25.args[0];\nann_check_temp112 = $arr25.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar arr25 = $arr25;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans26 = R.mC();\n}\nwhile(!R.isContinuation($ans26)) {\nswitch($step23) {\ncase 0: $step23 = 1;\n$al27 = L[21];\nR._cA(L[21],$type$RawArray1,arr25);\nbreak;\ncase 1: var $temp_full31 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__1($$underscore32,$key33) {\nvar $step30 = 0;\nvar $elidedFrames37 = 0;\nvar $ans34 = D;\nvar $al35 = L[1];\nif(R.isAR($$underscore32)) {\n$step30 = $$underscore32.step;\n$al35 = $$underscore32.from;\n$ans34 = $$underscore32.ans;\n$elidedFrames37 = $$underscore32.elidedFrames;\n$underscore32 = $$underscore32.args[0];\nkey33 = $$underscore32.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1],2,$t,true);\n}\nvar $underscore32 = $$underscore32;\nvar key33 = $key33;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans34 = R.mC();\n}\nwhile(!R.isContinuation($ans34)) {\nswitch($step30) {\ncase 0: $step30 = 1;\n$al35 = L[3];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al35,equal$always1);\n}\n$ans34 = equal$always1.app(key33,get$arr$key38);\nbreak;\ncase 1: var anf_if39 = $ans34;\n$step30 = R.checkPyretTrue(anf_if39)?2:3;\nbreak;\ncase 2: $step30 = 4;\n$ans34 = arr25;\nbreak;\ncase 3: $step30 = 4;\n$al35 = L[2];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al35,raise1);\n}\n$ans34 = raise1.app((\"Cannot get arr externally\"));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans34;\ndefault: R.ffi.throwSpinnakerError(L[1],$step30);\n}\n}\nif($step30 !== 4) {\n$ans34.stack[R.EXN_STACKHEIGHT++] = R.mAR($al35,$temp_full31,$step30,[$underscore32,key33],[],$elidedFrames37);\n}\nreturn $ans34;\n};\nvar anf_obj105 = R.makeMethod1($temp_full31,\"get-arr\");\nvar $temp_full42 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__4($$underscore43,$ix44) {\nvar $step41 = 0;\nvar $elidedFrames48 = 0;\nvar $ans45 = D;\nvar $al46 = L[4];\nif(R.isAR($$underscore43)) {\n$step41 = $$underscore43.step;\n$al46 = $$underscore43.from;\n$ans45 = $$underscore43.ans;\n$elidedFrames48 = $$underscore43.elidedFrames;\n$underscore43 = $$underscore43.args[0];\nix44 = $$underscore43.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],2,$t,true);\n}\nvar $underscore43 = $$underscore43;\nvar ix44 = $ix44;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans45 = R.mC();\n}\nwhile(!R.isContinuation($ans45)) {\nswitch($step41) {\ncase 0: $step41 = 1;\n$al46 = L[5];\nR._cA(L[5],$type$Number3,ix44);\nbreak;\ncase 1: // caller optimization;\n$ans45 = raw$array$get14.app(arr25,ix44);\n$step41 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans45;\ndefault: R.ffi.throwSpinnakerError(L[4],$step41);\n}\n}\nif($step41 !== 2) {\n$ans45.stack[R.EXN_STACKHEIGHT++] = R.mAR($al46,$temp_full42,$step41,[$underscore43,ix44],[],$elidedFrames48);\n}\nreturn $ans45;\n};\nvar anf_obj106 = R.makeMethod1($temp_full42,\"get-now\");\nvar $temp_full51 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__6($self52,$ix53,$val54) {\nvar $step50 = 0;\nvar $elidedFrames58 = 0;\nvar $ans55 = D;\nvar $al56 = L[6];\nif(R.isAR($self52)) {\n$step50 = $self52.step;\n$al56 = $self52.from;\n$ans55 = $self52.ans;\n$elidedFrames58 = $self52.elidedFrames;\nself52 = $self52.args[0];\nix53 = $self52.args[1];\nval54 = $self52.args[2];\nann_check_temp59 = $self52.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],3,$t,true);\n}\nvar self52 = $self52;\nvar ix53 = $ix53;\nvar val54 = $val54;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans55 = R.mC();\n}\nwhile(!R.isContinuation($ans55)) {\nswitch($step50) {\ncase 0: $step50 = 1;\n$al56 = L[8];\nR._cA(L[8],$type$Number3,ix53);\nbreak;\ncase 1: // caller optimization;\n$ans55 = raw$array$set5.app(arr25,ix53,val54);\nvar ann_check_temp59 = nothing2;\n$step50 = 2;\n$al56 = L[7];\nvar $ann$check60 = R._cA(L[7],$type$Nothing1,ann_check_temp59);\nif(R.isContinuation($ann$check60)) {\n$ans55 = $ann$check60;\n}\nbreak;\ncase 2: $step50 = 3;\n$ans55 = ann_check_temp59;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans55;\ndefault: R.ffi.throwSpinnakerError(L[6],$step50);\n}\n}\nif($step50 !== 3) {\n$ans55.stack[R.EXN_STACKHEIGHT++] = R.mAR($al56,$temp_full51,$step50,[self52,ix53,val54],[ann_check_temp59],$elidedFrames58);\n}\nreturn $ans55;\n};\nvar anf_obj107 = R.makeMethod2($temp_full51,\"set-now\");\nvar $temp_full66 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__9($$underscore67) {\nvar $step65 = 0;\nvar $elidedFrames71 = 0;\nvar $ans68 = D;\nvar $al69 = L[9];\nif(R.isAR($$underscore67)) {\n$step65 = $$underscore67.step;\n$al69 = $$underscore67.from;\n$ans68 = $$underscore67.ans;\n$elidedFrames71 = $$underscore67.elidedFrames;\n$underscore67 = $$underscore67.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],1,$t,true);\n}\nvar $underscore67 = $$underscore67;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans68 = R.mC();\n}\nwhile(!R.isContinuation($ans68)) {\nswitch($step65) {\ncase 0: // caller optimization;\n$ans68 = raw$array$length1.app(arr25);\n$step65 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans68;\ndefault: R.ffi.throwSpinnakerError(L[9],$step65);\n}\n}\nif($step65 !== 1) {\n$ans68.stack[R.EXN_STACKHEIGHT++] = R.mAR($al69,$temp_full66,$step65,[$underscore67],[],$elidedFrames71);\n}\nreturn $ans68;\n};\nvar anf_obj108 = R.makeMethod0($temp_full66,\"length\");\nvar $temp_full74 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__10($$underscore75) {\nvar $step73 = 0;\nvar $elidedFrames79 = 0;\nvar $ans76 = D;\nvar $al77 = L[10];\nif(R.isAR($$underscore75)) {\n$step73 = $$underscore75.step;\n$al77 = $$underscore75.from;\n$ans76 = $$underscore75.ans;\n$elidedFrames79 = $$underscore75.elidedFrames;\n$underscore75 = $$underscore75.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],1,$t,true);\n}\nvar $underscore75 = $$underscore75;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans76 = R.mC();\n}\nwhile(!R.isContinuation($ans76)) {\nswitch($step73) {\ncase 0: // caller optimization;\n$ans76 = raw$array$to$list4.app(arr25);\n$step73 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans76;\ndefault: R.ffi.throwSpinnakerError(L[10],$step73);\n}\n}\nif($step73 !== 1) {\n$ans76.stack[R.EXN_STACKHEIGHT++] = R.mAR($al77,$temp_full74,$step73,[$underscore75],[],$elidedFrames79);\n}\nreturn $ans76;\n};\nvar anf_obj109 = R.makeMethod0($temp_full74,\"to-list-now\");\nvar $temp_full83 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__11($self84,$other85,$eq86) {\nvar $step82 = 0;\nvar $elidedFrames90 = 0;\nvar $ans87 = D;\nvar $al88 = L[11];\nif(R.isAR($self84)) {\n$step82 = $self84.step;\n$al88 = $self84.from;\n$ans87 = $self84.ans;\n$elidedFrames90 = $self84.elidedFrames;\nself84 = $self84.args[0];\nother85 = $self84.args[1];\neq86 = $self84.args[2];\nanf_arg247 = $self84.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],3,$t,true);\n}\nvar self84 = $self84;\nvar other85 = $other85;\nvar eq86 = $eq86;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans87 = R.mC();\n}\nwhile(!R.isContinuation($ans87)) {\nswitch($step82) {\ncase 0: $step82 = 1;\n$ans87 = R.maybeMethodCall1(self84,\"get-arr\",L[12],get$arr$key38);\nbreak;\ncase 1: var anf_arg247 = $ans87;\n$step82 = 2;\n$ans87 = R.maybeMethodCall1(other85,\"get-arr\",L[13],get$arr$key38);\nbreak;\ncase 2: var anf_arg248 = $ans87;\n$step82 = 3;\n$al88 = L[14];\nif(typeof(eq86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al88,eq86);\n}\n$ans87 = eq86.app(anf_arg247,anf_arg248);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans87;\ndefault: R.ffi.throwSpinnakerError(L[11],$step82);\n}\n}\nif($step82 !== 3) {\n$ans87.stack[R.EXN_STACKHEIGHT++] = R.mAR($al88,$temp_full83,$step82,[self84,other85,eq86],[anf_arg247],$elidedFrames90);\n}\nreturn $ans87;\n};\nvar anf_obj110 = R.makeMethod2($temp_full83,\"_equals\");\nvar $temp_full93 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__15($self94) {\nvar $step92 = 0;\nvar $elidedFrames98 = 0;\nvar $ans95 = D;\nvar $al96 = L[15];\nif(R.isAR($self94)) {\n$step92 = $self94.step;\n$al96 = $self94.from;\n$ans95 = $self94.ans;\n$elidedFrames98 = $self94.elidedFrames;\nself94 = $self94.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],1,$t,true);\n}\nvar self94 = $self94;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans95 = R.mC();\n}\nwhile(!R.isContinuation($ans95)) {\nswitch($step92) {\ncase 0: $step92 = 1;\n$ans95 = R.maybeMethodCall0(self94,\"to-list-now\",L[16]);\nbreak;\ncase 1: var anf_method_obj99 = $ans95;\n$step92 = 2;\n$ans95 = R.maybeMethodCall1(anf_method_obj99,\"map\",L[17],VS7.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg101 = $ans95;\n$step92 = 3;\n$al96 = L[18];\nif(typeof(VS7.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al96,VS7.dict.values.dict[\"vs-collection\"]);\n}\n$ans95 = VS7.dict.values.dict[\"vs-collection\"].app((\"array\"),anf_arg101);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans95;\ndefault: R.ffi.throwSpinnakerError(L[15],$step92);\n}\n}\nif($step92 !== 3) {\n$ans95.stack[R.EXN_STACKHEIGHT++] = R.mAR($al96,$temp_full93,$step92,[self94],[],$elidedFrames98);\n}\nreturn $ans95;\n};\nvar anf_obj111 = R.makeMethod0($temp_full93,\"_output\");\nvar anf_arg265 = R.mO({\"get-arr\":anf_obj105,\n\"get-now\":anf_obj106,\n\"set-now\":anf_obj107,\n\"length\":anf_obj108,\n\"to-list-now\":anf_obj109,\n\"_equals\":anf_obj110,\n\"_output\":anf_obj111});\n$step23 = 2;\n$ans26 = R.maybeMethodCall1(ArrayT22,\"brand\",L[19],anf_arg265);\nbreak;\ncase 2: var ann_check_temp112 = $ans26;\n$step23 = 3;\n$al27 = L[20];\nvar $ann$check115 = R._cA(L[20],Array113,ann_check_temp112);\nif(R.isContinuation($ann$check115)) {\n$ans26 = $ann$check115;\n}\nbreak;\ncase 3: $step23 = 4;\n$ans26 = ann_check_temp112;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans26;\ndefault: R.ffi.throwSpinnakerError(L[0],$step23);\n}\n}\nif($step23 !== 4) {\n$ans26.stack[R.EXN_STACKHEIGHT++] = R.mAR($al27,$temp_lam24,$step23,[arr25],[ann_check_temp112],$elidedFrames29);\n}\nreturn $ans26;\n};\nvar anf_assign117 = R.mF($temp_lam24,\"make\");\nmake118.$var = anf_assign117;\nR.nothing;\n$al19 = L[22];\nvar is$array342 = G(ArrayT22,\"test\",L[22]);\nvar build$array142 = {\"$var\":D};\nvar array$from$list164 = {\"$var\":D};\nvar array$of178 = {\"$var\":D};\nvar array$set$now192 = {\"$var\":D};\nvar array$get$now205 = {\"$var\":D};\nvar array$length218 = {\"$var\":D};\nvar array$to$list$now232 = {\"$var\":D};\nvar $temp_lam120 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__23($f121,$len122) {\nvar $step119 = 0;\nvar $elidedFrames126 = 0;\nvar $ans123 = D;\nvar $al124 = L[23];\nif(R.isAR($f121)) {\n$step119 = $f121.step;\n$al124 = $f121.from;\n$ans123 = $f121.ans;\n$elidedFrames126 = $f121.elidedFrames;\nf121 = $f121.args[0];\nlen122 = $f121.args[1];\narr456 = $f121.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[23],2,$t,false);\n}\nvar f121 = $f121;\nvar len122 = $len122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans123 = R.mC();\n}\nwhile(!R.isContinuation($ans123)) {\nswitch($step119) {\ncase 0: $step119 = 1;\n$al124 = L[31];\nR._cA(L[31],R.Function,f121);\nbreak;\ncase 1: $step119 = 2;\n$al124 = L[32];\nR._cA(L[32],$type$Number3,len122);\nbreak;\ncase 2: // caller optimization;\n$ans123 = raw$array$of8.app(nothing2,len122);\nvar arr456 = $ans123;\nvar loop134 = {\"$var\":D};\nvar $temp_lam128 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__24($i129) {\nvar $step127 = 0;\nvar $elidedFrames133 = 0;\nvar $ans130 = D;\nvar $al131 = L[24];\nif(R.isAR($i129)) {\n$step127 = $i129.step;\n$al131 = $i129.from;\n$ans130 = $i129.ans;\n$elidedFrames133 = $i129.elidedFrames;\ni129 = $i129.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],1,$t,false);\n}\nvar i129 = $i129;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans130 = R.mC();\n}\nwhile(!R.isContinuation($ans130)) {\nswitch($step127) {\ncase 0: $step127 = 1;\n$al131 = L[28];\n// omitting isFunction check;\n$ans130 = _lessthan3.app(i129,len122);\nbreak;\ncase 1: var anf_if135 = $ans130;\n$step127 = R.checkPyretTrue(anf_if135)?2:6;\nbreak;\ncase 2: $step127 = 3;\n$al131 = L[27];\nif(typeof(f121.app) !== \"function\") {\nR.ffi.throwNonFunApp($al131,f121);\n}\n$ans130 = f121.app(i129);\nbreak;\ncase 3: var anf_arg267 = $ans130;\n// caller optimization;\n$ans130 = raw$array$set5.app(arr456,i129,anf_arg267);\n$step127 = 4;\n$al131 = L[26];\n// omitting isFunction check;\n$ans130 = _plus5.app(i129,(1));\nbreak;\ncase 4: var anf_arg268 = $ans130;\n$step127 = 5;\n$al131 = L[25];\n// omitting isFunction check;\n$ans130 = loop134.$var.app(anf_arg268);\nbreak;\ncase 5: $step127 = 7;\n$ans130 = nothing2;\nbreak;\ncase 6: $step127 = 7;\n$ans130 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans130;\ndefault: R.ffi.throwSpinnakerError(L[24],$step127);\n}\n}\nif($step127 !== 7) {\n$ans130.stack[R.EXN_STACKHEIGHT++] = R.mAR($al131,$temp_lam128,$step127,[i129],[],$elidedFrames133);\n}\nreturn $ans130;\n};\nvar anf_assign139 = R.mF($temp_lam128,\"loop\");\nloop134.$var = anf_assign139;\nR.nothing;\n$step119 = 3;\n$al124 = L[30];\n// omitting isFunction check;\n$ans123 = loop134.$var.app((0));\nbreak;\ncase 3: $step119 = 4;\n$al124 = L[29];\n// omitting isFunction check;\n$ans123 = make118.$var.app(arr456);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans123;\ndefault: R.ffi.throwSpinnakerError(L[23],$step119);\n}\n}\nif($step119 !== 4) {\n$ans123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al124,$temp_lam120,$step119,[f121,len122],[arr456],$elidedFrames126);\n}\nreturn $ans123;\n};\nvar anf_assign141 = R.mF($temp_lam120,\"build-array\");\nbuild$array142.$var = anf_assign141;\nR.nothing;\nvar $temp_lam144 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__33($l145) {\nvar $step143 = 0;\nvar $elidedFrames150 = 0;\nvar $ans147 = D;\nvar $al148 = L[33];\nif(R.isAR($l145)) {\n$step143 = $l145.step;\n$al148 = $l145.from;\n$ans147 = $l145.ans;\n$elidedFrames150 = $l145.elidedFrames;\nl145 = $l145.args[0];\narr159 = $l145.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[33],1,$t,false);\n}\nvar l145 = $l145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans147 = R.mC();\n}\nwhile(!R.isContinuation($ans147)) {\nswitch($step143) {\ncase 0: $step143 = 1;\n$ans147 = R.maybeMethodCall0(l145,\"length\",L[34]);\nbreak;\ncase 1: var anf_arg271 = $ans147;\n// caller optimization;\n$ans147 = raw$array$of8.app((0),anf_arg271);\nvar arr159 = $ans147;\nvar $temp_lam152 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__35($n153,$elt154) {\nvar $step151 = 0;\nvar $elidedFrames158 = 0;\nvar $ans155 = D;\nvar $al156 = L[35];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[35],2,$t,false);\n}\nvar n153 = $n153;\nvar elt154 = $elt154;\n// callee optimization;\nwhile(!R.isContinuation($ans155)) {\nswitch($step151) {\ncase 0: // caller optimization;\n$ans155 = raw$array$set5.app(arr159,n153,elt154);\n$step151 = 1;\nbreak;\ncase 1: return $ans155;\ndefault: R.ffi.throwSpinnakerError(L[35],$step151);\n}\n}\nreturn $ans155;\n};\nvar anf_arg272 = R.mF($temp_lam152,\"for-body\");\n$step143 = 2;\n$al148 = L[35];\n// omitting isFunction check;\n$ans147 = each_n2.app(anf_arg272,(0),l145);\nbreak;\ncase 2: $step143 = 3;\n$al148 = L[36];\n// omitting isFunction check;\n$ans147 = make118.$var.app(arr159);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans147;\ndefault: R.ffi.throwSpinnakerError(L[33],$step143);\n}\n}\nif($step143 !== 3) {\n$ans147.stack[R.EXN_STACKHEIGHT++] = R.mAR($al148,$temp_lam144,$step143,[l145],[arr159],$elidedFrames150);\n}\nreturn $ans147;\n};\nvar anf_assign163 = R.mF($temp_lam144,\"array-from-list\");\narray$from$list164.$var = anf_assign163;\nR.nothing;\nvar $temp_lam166 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__37($elt167,$count168) {\nvar $step165 = 0;\nvar $elidedFrames172 = 0;\nvar $ans169 = D;\nvar $al170 = L[37];\nif(R.isAR($elt167)) {\n$step165 = $elt167.step;\n$al170 = $elt167.from;\n$ans169 = $elt167.ans;\n$elidedFrames172 = $elt167.elidedFrames;\nelt167 = $elt167.args[0];\ncount168 = $elt167.args[1];\nann_check_temp174 = $elt167.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],2,$t,false);\n}\nvar elt167 = $elt167;\nvar count168 = $count168;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans169 = R.mC();\n}\nwhile(!R.isContinuation($ans169)) {\nswitch($step165) {\ncase 0: $step165 = 1;\n$al170 = L[40];\nR._cA(L[40],R.Any,elt167);\nbreak;\ncase 1: $step165 = 2;\n$al170 = L[41];\nR._cA(L[41],$type$Number3,count168);\nbreak;\ncase 2: // caller optimization;\n$ans169 = raw$array$of8.app(elt167,count168);\nvar arr173 = $ans169;\n$step165 = 3;\n$al170 = L[39];\n// omitting isFunction check;\n$ans169 = make118.$var.app(arr173);\nbreak;\ncase 3: var ann_check_temp174 = $ans169;\n$step165 = 4;\n$al170 = L[38];\nvar $ann$check175 = R._cA(L[38],Array113,ann_check_temp174);\nif(R.isContinuation($ann$check175)) {\n$ans169 = $ann$check175;\n}\nbreak;\ncase 4: $step165 = 5;\n$ans169 = ann_check_temp174;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans169;\ndefault: R.ffi.throwSpinnakerError(L[37],$step165);\n}\n}\nif($step165 !== 5) {\n$ans169.stack[R.EXN_STACKHEIGHT++] = R.mAR($al170,$temp_lam166,$step165,[elt167,count168],[ann_check_temp174],$elidedFrames172);\n}\nreturn $ans169;\n};\nvar anf_assign177 = R.mF($temp_lam166,\"array-of\");\narray$of178.$var = anf_assign177;\nR.nothing;\nvar $temp_lam180 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__42($arr181,$index182,$val183) {\nvar $step179 = 0;\nvar $elidedFrames187 = 0;\nvar $ans184 = D;\nvar $al185 = L[42];\nif(R.isAR($arr181)) {\n$step179 = $arr181.step;\n$al185 = $arr181.from;\n$ans184 = $arr181.ans;\n$elidedFrames187 = $arr181.elidedFrames;\narr181 = $arr181.args[0];\nindex182 = $arr181.args[1];\nval183 = $arr181.args[2];\nann_check_temp188 = $arr181.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],3,$t,false);\n}\nvar arr181 = $arr181;\nvar index182 = $index182;\nvar val183 = $val183;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans184 = R.mC();\n}\nwhile(!R.isContinuation($ans184)) {\nswitch($step179) {\ncase 0: $step179 = 1;\n$al185 = L[45];\nR._cA(L[45],Array113,arr181);\nbreak;\ncase 1: $step179 = 2;\n$al185 = L[46];\nR._cA(L[46],$type$Number3,index182);\nbreak;\ncase 2: $step179 = 3;\n$al185 = L[47];\nR._cA(L[47],R.Any,val183);\nbreak;\ncase 3: $step179 = 4;\n$ans184 = R.maybeMethodCall2(arr181,\"set-now\",L[43],index182,val183);\nbreak;\ncase 4: var ann_check_temp188 = $ans184;\n$step179 = 5;\n$al185 = L[44];\nvar $ann$check189 = R._cA(L[44],$type$Nothing1,ann_check_temp188);\nif(R.isContinuation($ann$check189)) {\n$ans184 = $ann$check189;\n}\nbreak;\ncase 5: $step179 = 6;\n$ans184 = ann_check_temp188;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans184;\ndefault: R.ffi.throwSpinnakerError(L[42],$step179);\n}\n}\nif($step179 !== 6) {\n$ans184.stack[R.EXN_STACKHEIGHT++] = R.mAR($al185,$temp_lam180,$step179,[arr181,index182,val183],[ann_check_temp188],$elidedFrames187);\n}\nreturn $ans184;\n};\nvar anf_assign191 = R.mF($temp_lam180,\"array-set-now\");\narray$set$now192.$var = anf_assign191;\nR.nothing;\nvar $temp_lam194 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__48($arr195,$index196) {\nvar $step193 = 0;\nvar $elidedFrames200 = 0;\nvar $ans197 = D;\nvar $al198 = L[48];\nif(R.isAR($arr195)) {\n$step193 = $arr195.step;\n$al198 = $arr195.from;\n$ans197 = $arr195.ans;\n$elidedFrames200 = $arr195.elidedFrames;\narr195 = $arr195.args[0];\nindex196 = $arr195.args[1];\nann_check_temp201 = $arr195.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],2,$t,false);\n}\nvar arr195 = $arr195;\nvar index196 = $index196;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans197 = R.mC();\n}\nwhile(!R.isContinuation($ans197)) {\nswitch($step193) {\ncase 0: $step193 = 1;\n$al198 = L[51];\nR._cA(L[51],Array113,arr195);\nbreak;\ncase 1: $step193 = 2;\n$al198 = L[52];\nR._cA(L[52],$type$Number3,index196);\nbreak;\ncase 2: $step193 = 3;\n$ans197 = R.maybeMethodCall1(arr195,\"get-now\",L[49],index196);\nbreak;\ncase 3: var ann_check_temp201 = $ans197;\n$step193 = 4;\n$al198 = L[50];\nvar $ann$check202 = R._cA(L[50],R.Any,ann_check_temp201);\nif(R.isContinuation($ann$check202)) {\n$ans197 = $ann$check202;\n}\nbreak;\ncase 4: $step193 = 5;\n$ans197 = ann_check_temp201;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans197;\ndefault: R.ffi.throwSpinnakerError(L[48],$step193);\n}\n}\nif($step193 !== 5) {\n$ans197.stack[R.EXN_STACKHEIGHT++] = R.mAR($al198,$temp_lam194,$step193,[arr195,index196],[ann_check_temp201],$elidedFrames200);\n}\nreturn $ans197;\n};\nvar anf_assign204 = R.mF($temp_lam194,\"array-get-now\");\narray$get$now205.$var = anf_assign204;\nR.nothing;\nvar $temp_lam208 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__53($arr209) {\nvar $step207 = 0;\nvar $elidedFrames213 = 0;\nvar $ans210 = D;\nvar $al211 = L[53];\nif(R.isAR($arr209)) {\n$step207 = $arr209.step;\n$al211 = $arr209.from;\n$ans210 = $arr209.ans;\n$elidedFrames213 = $arr209.elidedFrames;\narr209 = $arr209.args[0];\nann_check_temp214 = $arr209.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],1,$t,false);\n}\nvar arr209 = $arr209;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans210 = R.mC();\n}\nwhile(!R.isContinuation($ans210)) {\nswitch($step207) {\ncase 0: $step207 = 1;\n$al211 = L[56];\nR._cA(L[56],Array113,arr209);\nbreak;\ncase 1: $step207 = 2;\n$ans210 = R.maybeMethodCall0(arr209,\"length\",L[54]);\nbreak;\ncase 2: var ann_check_temp214 = $ans210;\n$step207 = 3;\n$al211 = L[55];\nvar $ann$check215 = R._cA(L[55],$type$Number3,ann_check_temp214);\nif(R.isContinuation($ann$check215)) {\n$ans210 = $ann$check215;\n}\nbreak;\ncase 3: $step207 = 4;\n$ans210 = ann_check_temp214;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans210;\ndefault: R.ffi.throwSpinnakerError(L[53],$step207);\n}\n}\nif($step207 !== 4) {\n$ans210.stack[R.EXN_STACKHEIGHT++] = R.mAR($al211,$temp_lam208,$step207,[arr209],[ann_check_temp214],$elidedFrames213);\n}\nreturn $ans210;\n};\nvar anf_assign217 = R.mF($temp_lam208,\"array-length\");\narray$length218.$var = anf_assign217;\nR.nothing;\nvar $temp_lam221 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__57($arr222) {\nvar $step220 = 0;\nvar $elidedFrames227 = 0;\nvar $ans224 = D;\nvar $al225 = L[57];\nif(R.isAR($arr222)) {\n$step220 = $arr222.step;\n$al225 = $arr222.from;\n$ans224 = $arr222.ans;\n$elidedFrames227 = $arr222.elidedFrames;\narr222 = $arr222.args[0];\nann_check_temp228 = $arr222.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar arr222 = $arr222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans224 = R.mC();\n}\nwhile(!R.isContinuation($ans224)) {\nswitch($step220) {\ncase 0: $step220 = 1;\n$al225 = L[60];\nR._cA(L[60],Array113,arr222);\nbreak;\ncase 1: $step220 = 2;\n$ans224 = R.maybeMethodCall0(arr222,\"to-list-now\",L[58]);\nbreak;\ncase 2: var ann_check_temp228 = $ans224;\n$step220 = 3;\n$al225 = L[59];\nvar $ann$check229 = R._cA(L[59],List3,ann_check_temp228);\nif(R.isContinuation($ann$check229)) {\n$ans224 = $ann$check229;\n}\nbreak;\ncase 3: $step220 = 4;\n$ans224 = ann_check_temp228;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans224;\ndefault: R.ffi.throwSpinnakerError(L[57],$step220);\n}\n}\nif($step220 !== 4) {\n$ans224.stack[R.EXN_STACKHEIGHT++] = R.mAR($al225,$temp_lam221,$step220,[arr222],[ann_check_temp228],$elidedFrames227);\n}\nreturn $ans224;\n};\nvar anf_assign231 = R.mF($temp_lam221,\"array-to-list-now\");\narray$to$list$now232.$var = anf_assign231;\nR.nothing;\nvar $temp_lam234 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__61($$resumer13) {\nvar $step233 = 0;\nvar $elidedFrames238 = 0;\nvar $ans235 = D;\nvar $al236 = L[61];\nif(R.isAR($$resumer13)) {\n$step233 = $$resumer13.step;\n$al236 = $$resumer13.from;\n$ans235 = $$resumer13.ans;\n$elidedFrames238 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans235 = R.mC();\n}\nwhile(!R.isContinuation($ans235)) {\nswitch($step233) {\ncase 0: $ans235 = R.getMaker0(raw$array2,(\"make0\"),L[62],L[63]);\nvar anf_fun239 = $ans235;\n$step233 = 1;\n$al236 = L[63];\nif(typeof(anf_fun239.app) !== \"function\") {\nR.ffi.throwNonFunApp($al236,anf_fun239);\n}\n$ans235 = anf_fun239.app();\nbreak;\ncase 1: var anf_arg295 = $ans235;\n$step233 = 2;\n$al236 = L[64];\n// omitting isFunction check;\n$ans235 = make118.$var.app(anf_arg295);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans235;\ndefault: R.ffi.throwSpinnakerError(L[61],$step233);\n}\n}\nif($step233 !== 2) {\n$ans235.stack[R.EXN_STACKHEIGHT++] = R.mAR($al236,$temp_lam234,$step233,[],[],$elidedFrames238);\n}\nreturn $ans235;\n};\nvar anf_obj334 = R.mF($temp_lam234,\"\");\nvar $temp_lam242 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__65($a243) {\nvar $step241 = 0;\nvar $elidedFrames248 = 0;\nvar $ans245 = D;\nvar $al246 = L[65];\nif(R.isAR($a243)) {\n$step241 = $a243.step;\n$al246 = $a243.from;\n$ans245 = $a243.ans;\n$elidedFrames248 = $a243.elidedFrames;\na243 = $a243.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[65],1,$t,false);\n}\nvar a243 = $a243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans245 = R.mC();\n}\nwhile(!R.isContinuation($ans245)) {\nswitch($step241) {\ncase 0: $ans245 = R.getMaker1(raw$array2,(\"make1\"),L[66],L[67]);\nvar anf_fun306 = $ans245;\n$step241 = 1;\n$al246 = L[67];\nif(typeof(anf_fun306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al246,anf_fun306);\n}\n$ans245 = anf_fun306.app(a243);\nbreak;\ncase 1: var anf_arg253 = $ans245;\n$step241 = 2;\n$al246 = L[68];\n// omitting isFunction check;\n$ans245 = make118.$var.app(anf_arg253);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans245;\ndefault: R.ffi.throwSpinnakerError(L[65],$step241);\n}\n}\nif($step241 !== 2) {\n$ans245.stack[R.EXN_STACKHEIGHT++] = R.mAR($al246,$temp_lam242,$step241,[a243],[],$elidedFrames248);\n}\nreturn $ans245;\n};\nvar anf_obj335 = R.mF($temp_lam242,\"\");\nvar $temp_lam257 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__69($a258,$b259) {\nvar $step256 = 0;\nvar $elidedFrames263 = 0;\nvar $ans260 = D;\nvar $al261 = L[69];\nif(R.isAR($a258)) {\n$step256 = $a258.step;\n$al261 = $a258.from;\n$ans260 = $a258.ans;\n$elidedFrames263 = $a258.elidedFrames;\na258 = $a258.args[0];\nb259 = $a258.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[69],2,$t,false);\n}\nvar a258 = $a258;\nvar b259 = $b259;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans260 = R.mC();\n}\nwhile(!R.isContinuation($ans260)) {\nswitch($step256) {\ncase 0: $ans260 = R.getMaker2(raw$array2,(\"make2\"),L[70],L[71]);\nvar anf_fun264 = $ans260;\n$step256 = 1;\n$al261 = L[71];\nif(typeof(anf_fun264.app) !== \"function\") {\nR.ffi.throwNonFunApp($al261,anf_fun264);\n}\n$ans260 = anf_fun264.app(a258,b259);\nbreak;\ncase 1: var anf_arg275 = $ans260;\n$step256 = 2;\n$al261 = L[72];\n// omitting isFunction check;\n$ans260 = make118.$var.app(anf_arg275);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans260;\ndefault: R.ffi.throwSpinnakerError(L[69],$step256);\n}\n}\nif($step256 !== 2) {\n$ans260.stack[R.EXN_STACKHEIGHT++] = R.mAR($al261,$temp_lam257,$step256,[a258,b259],[],$elidedFrames263);\n}\nreturn $ans260;\n};\nvar anf_obj336 = R.mF($temp_lam257,\"\");\nvar $temp_lam279 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__73($a280,$b281,$c282) {\nvar $step278 = 0;\nvar $elidedFrames287 = 0;\nvar $ans284 = D;\nvar $al285 = L[73];\nif(R.isAR($a280)) {\n$step278 = $a280.step;\n$al285 = $a280.from;\n$ans284 = $a280.ans;\n$elidedFrames287 = $a280.elidedFrames;\na280 = $a280.args[0];\nb281 = $a280.args[1];\nc282 = $a280.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],3,$t,false);\n}\nvar a280 = $a280;\nvar b281 = $b281;\nvar c282 = $c282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans284 = R.mC();\n}\nwhile(!R.isContinuation($ans284)) {\nswitch($step278) {\ncase 0: $ans284 = R.getMaker3(raw$array2,(\"make3\"),L[74],L[75]);\nvar anf_fun288 = $ans284;\n$step278 = 1;\n$al285 = L[75];\nif(typeof(anf_fun288.app) !== \"function\") {\nR.ffi.throwNonFunApp($al285,anf_fun288);\n}\n$ans284 = anf_fun288.app(a280,b281,c282);\nbreak;\ncase 1: var anf_arg297 = $ans284;\n$step278 = 2;\n$al285 = L[76];\n// omitting isFunction check;\n$ans284 = make118.$var.app(anf_arg297);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans284;\ndefault: R.ffi.throwSpinnakerError(L[73],$step278);\n}\n}\nif($step278 !== 2) {\n$ans284.stack[R.EXN_STACKHEIGHT++] = R.mAR($al285,$temp_lam279,$step278,[a280,b281,c282],[],$elidedFrames287);\n}\nreturn $ans284;\n};\nvar anf_obj337 = R.mF($temp_lam279,\"\");\nvar $temp_lam301 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__77($a617,$b618,$c619,$d620) {\nvar $step300 = 0;\nvar $elidedFrames306 = 0;\nvar $ans303 = D;\nvar $al304 = L[77];\nif(R.isAR($a617)) {\n$step300 = $a617.step;\n$al304 = $a617.from;\n$ans303 = $a617.ans;\n$elidedFrames306 = $a617.elidedFrames;\na617 = $a617.args[0];\nb618 = $a617.args[1];\nc619 = $a617.args[2];\nd620 = $a617.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[77],4,$t,false);\n}\nvar a617 = $a617;\nvar b618 = $b618;\nvar c619 = $c619;\nvar d620 = $d620;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans303 = R.mC();\n}\nwhile(!R.isContinuation($ans303)) {\nswitch($step300) {\ncase 0: $ans303 = R.getMaker4(raw$array2,(\"make4\"),L[78],L[79]);\nvar anf_fun307 = $ans303;\n$step300 = 1;\n$al304 = L[79];\nif(typeof(anf_fun307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al304,anf_fun307);\n}\n$ans303 = anf_fun307.app(a617,b618,c619,d620);\nbreak;\ncase 1: var anf_arg318 = $ans303;\n$step300 = 2;\n$al304 = L[80];\n// omitting isFunction check;\n$ans303 = make118.$var.app(anf_arg318);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans303;\ndefault: R.ffi.throwSpinnakerError(L[77],$step300);\n}\n}\nif($step300 !== 2) {\n$ans303.stack[R.EXN_STACKHEIGHT++] = R.mAR($al304,$temp_lam301,$step300,[a617,b618,c619,d620],[],$elidedFrames306);\n}\nreturn $ans303;\n};\nvar anf_obj338 = R.mF($temp_lam301,\"\");\nvar $temp_lam321 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__81($a322,$b323,$c324,$d325,$e326) {\nvar $step320 = 0;\nvar $elidedFrames331 = 0;\nvar $ans328 = D;\nvar $al329 = L[81];\nif(R.isAR($a322)) {\n$step320 = $a322.step;\n$al329 = $a322.from;\n$ans328 = $a322.ans;\n$elidedFrames331 = $a322.elidedFrames;\na322 = $a322.args[0];\nb323 = $a322.args[1];\nc324 = $a322.args[2];\nd325 = $a322.args[3];\ne326 = $a322.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[81],5,$t,false);\n}\nvar a322 = $a322;\nvar b323 = $b323;\nvar c324 = $c324;\nvar d325 = $d325;\nvar e326 = $e326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans328 = R.mC();\n}\nwhile(!R.isContinuation($ans328)) {\nswitch($step320) {\ncase 0: $ans328 = R.getMaker5(raw$array2,(\"make5\"),L[82],L[83]);\nvar anf_fun332 = $ans328;\n$step320 = 1;\n$al329 = L[83];\nif(typeof(anf_fun332.app) !== \"function\") {\nR.ffi.throwNonFunApp($al329,anf_fun332);\n}\n$ans328 = anf_fun332.app(a322,b323,c324,d325,e326);\nbreak;\ncase 1: var anf_arg317 = $ans328;\n$step320 = 2;\n$al329 = L[84];\n// omitting isFunction check;\n$ans328 = make118.$var.app(anf_arg317);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans328;\ndefault: R.ffi.throwSpinnakerError(L[81],$step320);\n}\n}\nif($step320 !== 2) {\n$ans328.stack[R.EXN_STACKHEIGHT++] = R.mAR($al329,$temp_lam321,$step320,[a322,b323,c324,d325,e326],[],$elidedFrames331);\n}\nreturn $ans328;\n};\nvar anf_obj339 = R.mF($temp_lam321,\"\");\nvar array341 = R.mO({\"make\":make118.$var,\n\"make0\":anf_obj334,\n\"make1\":anf_obj335,\n\"make2\":anf_obj336,\n\"make3\":anf_obj337,\n\"make4\":anf_obj338,\n\"make5\":anf_obj339});\n$step10 = 1;\n$ans17 = R.maybeMethodCall2(builtins1,\"trace-value\",L[85],L[85],nothing2);\nbreak;\ncase 1: var answer343 = $ans17;\n$step10 = 2;\n$ans17 = R.maybeMethodCall0(builtins1,\"current-checker\",L[86]);\nbreak;\ncase 2: var anf_method_obj340 = $ans17;\n$step10 = 3;\n$ans17 = R.maybeMethodCall0(anf_method_obj340,\"results\",L[86]);\nbreak;\ncase 3: var checks344 = $ans17;\n$step10 = 4;\n$ans17 = R.mO({\"answer\":answer343,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"VS\":VS7},\n\"defined-values\":{\"array-to-list-now\":array$to$list$now232.$var,\n\"array-get-now\":array$get$now205.$var,\n\"array-of\":array$of178.$var,\n\"array-from-list\":array$from$list164.$var,\n\"make\":make118.$var,\n\"is-array\":is$array342,\n\"array-set-now\":array$set$now192.$var,\n\"array\":array341,\n\"array-length\":array$length218.$var,\n\"build-array\":build$array142.$var,\n\"ArrayT\":ArrayT22,\n\"get-arr-key\":get$arr$key38},\n\"defined-types\":{\"Array\":Array113},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"array\":array341,\n\"build-array\":build$array142.$var,\n\"array-from-list\":array$from$list164.$var,\n\"is-array\":is$array342,\n\"array-of\":array$of178.$var,\n\"array-set-now\":array$set$now192.$var,\n\"array-get-now\":array$get$now205.$var,\n\"array-length\":array$length218.$var,\n\"array-to-list-now\":array$to$list$now232.$var}),\n\"types\":{\"Array\":Array113},\n\"modules\":{}}),\n\"checks\":checks344});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans17;\ndefault: R.ffi.throwSpinnakerError(L[87],$step10);\n}\n}\nif($step10 !== 4) {\n$ans17.stack[R.EXN_STACKHEIGHT++] = R.mAR($al19,$toplevel11,$step10,[],[array$of178,array$from$list164,array$to$list$now232,get$arr$key38,array341,make118,ArrayT22,Array113,array$length218,build$array142,array$set$now192,answer343,array$get$now205,is$array342],$elidedFrames21);\n}\nreturn $ans17;\n};\nreturn R.safeCall($toplevel11,function module_load(moduleVal) {\nR.modules[\"$builtin://arrays8\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"build-array":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +5, +2, +49, +5, +26, +73], +"definition-bind-site":["builtin://arrays", +45, +0, +1108, +55, +3, +1334], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"build-array", +"typ":"tany"}, +"array-length":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +11, +2, +221, +11, +28, +247], +"definition-bind-site":["builtin://arrays", +78, +0, +1793, +80, +3, +1859], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-length", +"typ":"tany"}, +"array":{"bind":"let", +"origin":{"local-bind-site":["builtin://arrays", +4, +2, +33, +4, +14, +45], +"definition-bind-site":["builtin://arrays", +86, +0, +1940, +94, +1, +2280], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"typ":"tany"}, +"array-set-now":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +9, +2, +157, +9, +30, +185], +"definition-bind-site":["builtin://arrays", +70, +0, +1598, +72, +3, +1704], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-set-now", +"typ":"tany"}, +"is-array":{"bind":"let", +"origin":{"local-bind-site":["builtin://arrays", +7, +2, +113, +7, +20, +131], +"definition-bind-site":["builtin://arrays", +43, +0, +1084, +43, +22, +1106], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"typ":"tany"}, +"array-from-list":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +6, +2, +77, +6, +34, +109], +"definition-bind-site":["builtin://arrays", +57, +0, +1336, +63, +3, +1490], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-from-list", +"typ":"tany"}, +"array-of":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +8, +2, +135, +8, +20, +153], +"definition-bind-site":["builtin://arrays", +65, +0, +1492, +68, +3, +1596], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-of", +"typ":"tany"}, +"array-get-now":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +10, +2, +189, +10, +30, +217], +"definition-bind-site":["builtin://arrays", +74, +0, +1706, +76, +3, +1791], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-get-now", +"typ":"tany"}, +"array-to-list-now":{"bind":"fun", +"origin":{"local-bind-site":["builtin://arrays", +12, +2, +251, +12, +38, +287], +"definition-bind-site":["builtin://arrays", +82, +0, +1861, +84, +3, +1938], +"new-definition":true, +"uri-of-definition":"builtin://arrays"}, +"flatness":false, +"name":"array-to-list-now", +"typ":"tany"}}, +"datatypes":{}, +"aliases":{"Array":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://pick":({"theMap":"{\"version\":3,\"sources\":[\"builtin://pick\"],\"names\":[\"builtin://pick\",\",6,0,47,9,3,116\",\",7,2,66,7,13,77\",\",8,2,80,8,34,112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAKDC,0BALCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,kCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,+BANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,kCAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,+BAPDH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,mDALCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://pick\"}", +"theModule":"function _4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384__6(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://pick\";\nvar D = R.undefined;\nvar L = [[M,7,2,66,7,13,77],\n[M,8,2,80,8,34,112],\n[M,8,21,99,8,22,100],\n[M,8,32,110,8,33,111],\n[M,6,0,47,9,3,116],\n[\"dummy location\"],\n[M,1,0,0,9,3,116]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel5 = function _4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384__6($$resumer13) {\nvar $step4 = 0;\nvar $elidedFrames24 = 0;\nvar $ans18 = D;\nvar $al22 = L[6];\nif(R.isAR($$resumer13)) {\n$step4 = $$resumer13.step;\n$al22 = $$resumer13.from;\n$ans18 = $$resumer13.ans;\n$elidedFrames24 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$pick$none41 = $$resumer13.vars[0];\nPick45 = $$resumer13.vars[1];\nis$pick$some43 = $$resumer13.vars[2];\nis$Pick40 = $$resumer13.vars[3];\nanswer37 = $$resumer13.vars[4];\npick$none42 = $$resumer13.vars[5];\npick$some44 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans18 = R.mC();\n}\nwhile(!R.isContinuation($ans18)) {\nswitch($step4) {\ncase 0: var Pick25 = R.nB(\"Pick\",L[4]);\nvar Pick45 = R.mBA(Pick25,\"Pick\");\nvar Pick39 = {\"$var\":D};\nvar is$Pick40 = {\"$var\":D};\nvar is$pick$none41 = {\"$var\":D};\nvar pick$none42 = {\"$var\":D};\nvar is$pick$some43 = {\"$var\":D};\nvar pick$some44 = {\"$var\":D};\nvar $pick$none_getfields30 = function variant(f) {\nreturn f();\n};\nvar $pick$none_mutablemask29 = [];\nvar $pick$none$base26 = {\"_match\":R.mM(\"pick-none\",0)};\nvar $pick$none$brander27 = R.nB(\"pick-none\",L[0]);\nvar $pick$none$brands28 = {};\n$pick$none$brands28[Pick25._brand] = true;\n$pick$none$brands28[$pick$none$brander27._brand] = true;\nvar $pick$some_getfields35 = function singleton_variant(f) {\nreturn f(this.dict[\"elt\"],this.dict[\"rest\"]);\n};\nvar $pick$some_mutablemask34 = [false,false];\nvar $pick$some$base31 = {\"$fieldNames\":[\"elt\",\"rest\"],\n\"_match\":R.mM(\"pick-some\",2)};\nvar $pick$some$brander32 = R.nB(\"pick-some\",L[1]);\nvar $pick$some$brands33 = {};\n$pick$some$brands33[Pick25._brand] = true;\n$pick$some$brands33[$pick$some$brander32._brand] = true;\nvar pick$some36 = R.mVC(L[1],function $synthesizedConstructor_$pick$some$base() {\nreturn [R.Any,R.Any];\n},[\"elt37\",\"rest38\"],[L[2],L[3]],[false,false],[\"elt37\",\"rest38\"],$pick$some_mutablemask34,$pick$some$base31,$pick$some$brands33,\"pick-some\",$pick$some_getfields35,$pick$some$base31);\nvar anf_assign23 = R.mO({\"Pick\":G(Pick25,\"test\",L[4]),\n\"is-pick-none\":G($pick$none$brander27,\"test\",L[0]),\n\"pick-none\":R.mDV($pick$none$base26,$pick$none$brands28,\"pick-none\",$pick$none_getfields30,-1,$pick$none_mutablemask29,$pick$none$base26,false,L[0]),\n\"is-pick-some\":G($pick$some$brander32,\"test\",L[1]),\n\"pick-some\":pick$some36});\nPick39.$var = anf_assign23;\nR.nothing;\n$al22 = L[4];\nvar anf_assign25 = G(Pick39.$var,\"Pick\",L[4]);\nis$Pick40.$var = anf_assign25;\nR.nothing;\n$al22 = L[0];\nvar anf_assign27 = G(Pick39.$var,\"is-pick-none\",L[0]);\nis$pick$none41.$var = anf_assign27;\nR.nothing;\n$al22 = L[0];\nvar anf_assign29 = G(Pick39.$var,\"pick-none\",L[0]);\npick$none42.$var = anf_assign29;\nR.nothing;\n$al22 = L[1];\nvar anf_assign31 = G(Pick39.$var,\"is-pick-some\",L[1]);\nis$pick$some43.$var = anf_assign31;\nR.nothing;\n$al22 = L[1];\nvar anf_assign33 = G(Pick39.$var,\"pick-some\",L[1]);\npick$some44.$var = anf_assign33;\nR.nothing;\n$step4 = 1;\n$ans18 = R.maybeMethodCall2(builtins1,\"trace-value\",L[5],L[5],nothing2);\nbreak;\ncase 1: var answer37 = $ans18;\n$step4 = 2;\n$ans18 = R.maybeMethodCall0(builtins1,\"current-checker\",L[4]);\nbreak;\ncase 2: var anf_method_obj35 = $ans18;\n$step4 = 3;\n$ans18 = R.maybeMethodCall0(anf_method_obj35,\"results\",L[4]);\nbreak;\ncase 3: var checks38 = $ans18;\n$step4 = 4;\n$ans18 = R.mO({\"answer\":answer37,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"pick-some\":pick$some44.$var,\n\"is-pick-none\":is$pick$none41.$var,\n\"pick-none\":pick$none42.$var,\n\"is-Pick\":is$Pick40.$var,\n\"is-pick-some\":is$pick$some43.$var},\n\"defined-types\":{\"Pick\":Pick45},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"pick-some\":pick$some44.$var,\n\"is-pick-none\":is$pick$none41.$var,\n\"pick-none\":pick$none42.$var,\n\"is-Pick\":is$Pick40.$var,\n\"is-pick-some\":is$pick$some43.$var}),\n\"types\":{\"Pick\":Pick45},\n\"modules\":{}}),\n\"checks\":checks38});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans18;\ndefault: R.ffi.throwSpinnakerError(L[6],$step4);\n}\n}\nif($step4 !== 4) {\n$ans18.stack[R.EXN_STACKHEIGHT++] = R.mAR($al22,$toplevel5,$step4,[],[is$pick$none41,Pick45,is$pick$some43,is$Pick40,answer37,pick$none42,pick$some44],$elidedFrames24);\n}\nreturn $ans18;\n};\nreturn R.safeCall($toplevel5,function module_load(moduleVal) {\nR.modules[\"$builtin://pick1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-pick-some":{"bind":"fun", +"origin":{"local-bind-site":["builtin://pick", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://pick", +8, +2, +80, +8, +34, +112], +"new-definition":true, +"uri-of-definition":"builtin://pick"}, +"flatness":0, +"name":"is-pick-some", +"typ":"tany"}, +"is-Pick":{"bind":"let", +"origin":{"local-bind-site":["builtin://pick", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://pick", +6, +0, +47, +9, +3, +116], +"new-definition":true, +"uri-of-definition":"builtin://pick"}, +"typ":"tany"}, +"pick-none":{"bind":"let", +"origin":{"local-bind-site":["builtin://pick", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://pick", +7, +2, +66, +7, +13, +77], +"new-definition":true, +"uri-of-definition":"builtin://pick"}, +"typ":"tany"}, +"is-pick-none":{"bind":"fun", +"origin":{"local-bind-site":["builtin://pick", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://pick", +7, +2, +66, +7, +13, +77], +"new-definition":true, +"uri-of-definition":"builtin://pick"}, +"flatness":0, +"name":"is-pick-none", +"typ":"tany"}, +"pick-some":{"bind":"fun", +"origin":{"local-bind-site":["builtin://pick", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://pick", +8, +2, +80, +8, +34, +112], +"new-definition":true, +"uri-of-definition":"builtin://pick"}, +"flatness":0, +"name":"pick-some", +"typ":"tany"}}, +"datatypes":{"Pick":["data",{"local-bind-site":["builtin://pick", +6, +0, +47, +9, +3, +116], +"definition-bind-site":["builtin://pick", +6, +0, +47, +9, +3, +116], +"new-definition":true, +"uri-of-definition":"builtin://pick"},"Pick",["atom#a#10","atom#b#11"],[["pick-none", +{}],["pick-some", +[["elt", +["tid", +"atom#a#10"]],["rest", +["tid", +"atom#b#11"]]], +{}]],{}]}, +"aliases":{"Pick":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://sets":({"theMap":"{\"version\":3,\"sources\":[\"builtin://sets\"],\"names\":[\"builtin://sets\",\",149,4,6146,149,18,6160\",\",152,11,6214,152,28,6231\",\",152,7,6210,152,29,6232\",\",153,6,6240,153,51,6285\",\",155,9,6305,155,23,6319\",\",155,25,6321,155,40,6336\",\",155,6,6302,155,41,6337\",\",31,48,660,31,73,685\",\",52,6,1614,52,12,1620\",\",56,16,1772,56,26,1782\",\",56,9,1765,56,26,1782\",\",57,20,1809,57,30,1819\",\",57,14,1803,57,30,1819\",\",57,32,1821,57,41,1830\",\",57,32,1821,57,55,1844\",\",58,12,1857,58,22,1867\",\",58,12,1857,58,36,1881\",\",63,16,2032,63,26,2042\",\",63,9,2025,63,26,2042\",\",63,42,2058,63,51,2067\",\",63,53,2069,63,63,2079\",\",63,28,2044,63,64,2080\",\",64,20,2101,64,30,2111\",\",64,14,2095,64,30,2111\",\",65,27,2140,65,37,2150\",\",65,39,2152,65,48,2161\",\",65,39,2152,65,60,2173\",\",65,62,2175,65,72,2185\",\",65,18,2131,65,73,2186\",\",65,8,2121,65,74,2187\",\",67,27,2227,67,37,2237\",\",67,39,2239,67,48,2248\",\",67,50,2250,67,60,2260\",\",67,50,2250,67,72,2272\",\",67,18,2218,67,73,2273\",\",67,8,2208,67,74,2274\",\",72,16,2422,72,26,2432\",\",72,9,2415,72,26,2432\",\",72,28,2434,72,45,2451\",\",73,20,2472,73,30,2482\",\",73,14,2466,73,30,2482\",\",74,27,2511,74,37,2521\",\",74,39,2523,74,48,2532\",\",74,39,2523,74,60,2544\",\",74,62,2546,74,72,2556\",\",74,18,2502,74,73,2557\",\",74,8,2492,74,74,2558\",\",76,27,2598,76,37,2608\",\",76,39,2610,76,48,2619\",\",76,50,2621,76,60,2631\",\",76,50,2621,76,72,2643\",\",76,18,2589,76,73,2644\",\",76,8,2579,76,74,2645\",\",81,22,2806,81,32,2816\",\",82,6,2888,82,40,2922\",\",86,22,3107,86,32,3117\",\",87,6,3128,87,39,3161\",\",91,22,3314,91,32,3324\",\",92,6,3335,92,41,3370\",\",96,22,3524,96,32,3534\",\",97,6,3545,97,37,3576\",\",101,22,3727,101,32,3737\",\",102,6,3748,102,36,3778\",\",106,22,3934,106,32,3944\",\",107,6,3955,107,38,3987\",\",112,6,4195,112,16,4205\",\",112,34,4223,112,43,4232\",\",112,69,4258,112,79,4268\",\",112,61,4250,112,80,4269\",\",112,34,4223,112,81,4270\",\",112,6,4195,112,82,4271\",\",117,6,4478,117,16,4488\",\",117,35,4507,117,44,4516\",\",117,35,4507,117,66,4538\",\",117,68,4540,117,78,4550\",\",117,33,4505,117,79,4551\",\",117,6,4478,117,80,4552\",\",122,8,4764,122,18,4774\",\",122,37,4793,122,46,4802\",\",122,37,4793,122,70,4826\",\",122,8,4764,122,71,4827\",\",122,73,4829,122,83,4839\",\",122,6,4762,122,84,4840\",\",127,6,5065,127,15,5074\",\",127,36,5095,127,46,5105\",\",127,75,5134,127,85,5144\",\",127,67,5126,127,86,5145\",\",127,36,5095,127,87,5146\",\",127,6,5065,127,88,5147\",\",132,6,5370,132,15,5379\",\",132,37,5401,132,47,5411\",\",132,37,5401,132,72,5436\",\",132,74,5438,132,84,5448\",\",132,35,5399,132,85,5449\",\",132,6,5370,132,86,5450\",\",137,8,5679,137,17,5688\",\",137,39,5710,137,49,5720\",\",137,39,5710,137,76,5747\",\",137,8,5679,137,77,5748\",\",137,79,5750,137,89,5760\",\",137,6,5677,137,90,5761\",\",139,28,5799,139,37,5808\",\",139,28,5799,139,45,5816\",\",139,24,5795,139,45,5816\",\",139,48,5819,139,58,5829\",\",139,48,5819,139,66,5837\",\",139,24,5795,139,66,5837\",\",141,8,5876,141,18,5886\",\",141,6,5874,141,19,5887\",\",141,24,5892,141,34,5902\",\",141,24,5892,141,41,5909\",\",141,46,5914,141,55,5923\",\",141,46,5914,141,62,5930\",\",144,8,5973,144,18,5983\",\",144,6,5971,144,19,5984\",\",144,23,5988,144,33,5998\",\",144,23,5988,144,40,6005\",\",144,44,6009,144,53,6018\",\",144,44,6009,144,60,6025\",\",27,0,480,158,3,6355\",\",28,2,496,47,34,1449\",\",49,2,1453,145,7,6033\",\",160,30,6387,160,57,6414\",\",161,23,6442,161,34,6453\",\",162,23,6481,162,34,6492\",\",165,22,6581,165,35,6594\",\",165,37,6596,165,51,6610\",\",165,14,6573,165,52,6611\",\",165,14,6573,165,56,6615\",\",165,2,6561,165,70,6629\",\",170,13,6700,170,19,6706\",\",170,13,6700,170,25,6712\",\",170,27,6714,170,33,6720\",\",170,27,6714,170,38,6725\",\",170,49,6736,170,56,6743\",\",170,58,6745,170,64,6751\",\",170,58,6745,170,70,6757\",\",170,72,6759,170,79,6766\",\",170,40,6727,170,80,6767\",\",170,4,6691,170,81,6768\",\",173,13,6810,173,20,6817\",\",173,13,6810,173,26,6823\",\",173,37,6834,173,44,6841\",\",173,46,6843,173,52,6849\",\",173,54,6851,173,61,6858\",\",173,54,6851,173,66,6863\",\",173,28,6825,173,67,6864\",\",173,69,6866,173,76,6873\",\",173,69,6866,173,82,6879\",\",173,4,6801,173,83,6880\",\",176,13,6921,176,19,6927\",\",176,13,6921,176,25,6933\",\",176,13,6921,176,31,6939\",\",177,15,6956,177,21,6962\",\",177,15,6956,177,27,6968\",\",177,29,6970,177,35,6976\",\",177,29,6970,177,40,6981\",\",177,42,6983,177,48,6989\",\",177,42,6983,177,54,6995\",\",177,42,6983,177,59,7000\",\",177,6,6947,177,60,7001\",\",178,15,7018,178,22,7025\",\",178,24,7027,178,30,7033\",\",178,24,7027,178,36,7039\",\",178,24,7027,178,42,7045\",\",178,44,7047,178,51,7054\",\",178,6,7009,178,52,7055\",\",176,4,6912,178,53,7056\",\",181,13,7097,181,20,7104\",\",181,13,7097,181,25,7109\",\",181,13,7097,181,31,7115\",\",182,15,7132,182,22,7139\",\",182,24,7141,182,30,7147\",\",182,32,7149,182,39,7156\",\",182,32,7149,182,44,7161\",\",182,32,7149,182,49,7166\",\",182,6,7123,182,50,7167\",\",183,15,7184,183,22,7191\",\",183,15,7184,183,28,7197\",\",183,30,7199,183,37,7206\",\",183,30,7199,183,42,7211\",\",183,30,7199,183,48,7217\",\",183,50,7219,183,57,7226\",\",183,50,7219,183,63,7232\",\",183,6,7175,183,64,7233\",\",181,4,7088,183,65,7234\",\",185,7,7248,185,16,7257\",\",185,7,7248,185,25,7266\",\",186,7,7274,186,17,7284\",\",186,7,7274,186,26,7293\",\",187,13,7307,187,20,7314\",\",187,5,7299,187,21,7315\",\",187,5,7299,187,26,7320\",\",189,11,7342,189,18,7349\",\",189,10,7341,189,24,7355\",\",190,7,7364,190,16,7373\",\",190,7,7364,190,21,7378\",\",190,7,7364,190,30,7387\",\",190,34,7391,190,43,7400\",\",190,34,7391,190,49,7406\",\",190,34,7391,190,58,7415\",\",190,7,7364,190,58,7415\",\",191,6,7423,191,21,7438\",\",193,6,7455,193,22,7471\",\",195,11,7491,195,18,7498\",\",195,10,7490,195,24,7504\",\",196,7,7513,196,17,7523\",\",196,7,7513,196,23,7529\",\",196,7,7513,196,32,7538\",\",196,36,7542,196,46,7552\",\",196,36,7542,196,51,7557\",\",196,36,7542,196,60,7566\",\",196,7,7513,196,60,7566\",\",197,6,7574,197,23,7591\",\",199,6,7608,199,22,7624\",\",202,4,7645,202,48,7689\",\",207,13,7748,207,22,7757\",\",207,5,7740,207,23,7758\",\",208,15,7775,208,25,7785\",\",208,7,7767,208,26,7786\",\",211,6,7815,211,16,7825\",\",214,15,7857,214,25,7867\",\",214,7,7849,214,26,7868\",\",215,6,7876,215,15,7885\",\",217,6,7902,217,28,7924\",\",225,16,8040,225,55,8079\",\",226,37,8117,226,51,8131\",\",224,4,8006,227,7,8168\",\",231,16,8253,231,53,8290\",\",233,11,8341,233,25,8355\",\",236,40,8426,236,76,8462\",\",236,20,8406,236,77,8463\",\",236,10,8396,236,78,8464\",\",230,4,8219,238,7,8484\",\",240,30,8521,240,39,8530\",\",240,21,8512,240,40,8531\",\",240,21,8512,240,46,8537\",\",241,36,8575,241,45,8584\",\",241,6,8545,241,46,8585\",\",242,6,8593,242,16,8603\",\",240,12,8503,242,17,8604\",\",240,2,8493,242,18,8605\",\",431,4,13841,431,21,13858\",\",431,33,13870,431,54,13891\",\",431,4,13841,431,55,13892\",\",435,11,13947,435,24,13960\",\",435,7,13943,435,25,13961\",\",436,6,13969,436,47,14010\",\",438,18,14039,438,32,14053\",\",439,19,14073,439,34,14088\",\",440,13,14102,440,32,14121\",\",440,36,14125,440,54,14143\",\",440,13,14102,440,54,14143\",\",440,9,14098,440,55,14144\",\",441,8,14154,441,50,14196\",\",444,27,14302,444,59,14334\",\",445,10,14345,445,52,14387\",\",443,8,14217,446,11,14399\",\",262,12,9158,262,22,9168\",\",267,36,9306,267,51,9321\",\",267,23,9293,267,52,9322\",\",269,26,9379,269,35,9388\",\",270,17,9406,270,31,9420\",\",271,29,9451,271,40,9462\",\",271,16,9438,271,41,9463\",\",273,39,9523,273,50,9534\",\",273,30,9514,273,51,9535\",\",273,16,9500,273,52,9536\",\",266,10,9255,275,13,9568\",\",263,6,9175,276,9,9578\",\",278,55,9643,278,69,9657\",\",278,55,9643,278,86,9674\",\",278,26,9614,278,87,9675\",\",281,20,9762,281,30,9772\",\",281,6,9748,281,31,9773\",\",286,6,9892,286,16,9902\",\",286,6,9892,286,29,9915\",\",291,10,10047,291,20,10057\",\",291,10,10047,291,33,10070\",\",294,28,10126,294,38,10136\",\",294,17,10115,294,39,10137\",\",294,8,10106,294,40,10138\",\",300,15,10281,300,25,10291\",\",300,15,10281,300,38,10304\",\",300,6,10272,300,39,10305\",\",305,6,10408,305,16,10418\",\",311,8,10580,311,19,10591\",\",310,6,10547,312,16,10608\",\",318,11,10826,318,29,10844\",\",321,10,10886,321,28,10904\",\",317,38,10780,317,48,10790\",\",317,60,10802,317,70,10812\",\",317,18,10760,323,9,10926\",\",324,6,10933,324,25,10952\",\",329,15,11123,329,27,11135\",\",329,6,11114,329,28,11136\",\",335,11,11357,335,29,11375\",\",336,10,11387,336,28,11405\",\",334,38,11311,334,48,11321\",\",334,60,11333,334,70,11343\",\",334,18,11291,340,9,11457\",\",341,6,11464,341,25,11483\",\",345,6,11540,345,16,11550\",\",345,6,11540,345,25,11559\",\",348,36,11606,348,46,11616\",\",348,27,11597,348,47,11617\",\",351,6,11666,351,16,11676\",\",351,6,11666,351,23,11683\",\",355,6,11736,355,16,11746\",\",355,6,11736,355,23,11753\",\",360,10,11837,360,20,11847\",\",364,32,11964,364,43,11975\",\",364,23,11955,364,44,11976\",\",364,10,11942,364,45,11977\",\",361,6,11854,365,9,11987\",\",367,55,12052,367,69,12066\",\",367,55,12052,367,86,12083\",\",367,26,12023,367,87,12084\",\",370,25,12171,370,35,12181\",\",370,6,12152,370,36,12182\",\",375,6,12301,375,16,12311\",\",375,6,12301,375,31,12326\",\",380,15,12463,380,25,12473\",\",380,15,12463,380,38,12486\",\",380,6,12454,380,39,12487\",\",385,15,12620,385,25,12630\",\",385,15,12620,385,38,12643\",\",385,6,12611,385,39,12644\",\",390,6,12747,390,16,12757\",\",390,6,12747,390,26,12767\",\",395,6,12875,395,33,12902\",\",400,6,13021,400,37,13052\",\",405,15,13223,405,27,13235\",\",405,6,13214,405,28,13236\",\",410,6,13375,410,38,13407\",\",414,6,13464,414,16,13474\",\",414,6,13464,414,24,13482\",\",417,35,13528,417,45,13538\",\",417,27,13520,417,46,13539\",\",420,6,13588,420,16,13598\",\",420,6,13588,420,23,13605\",\",424,6,13658,424,16,13668\",\",424,6,13658,424,23,13675\",\",259,0,9079,450,3,14427\",\",260,2,9091,356,7,11761\",\",358,2,11769,425,7,13683\",\",454,25,14498,454,37,14510\",\",455,25,14536,455,40,14551\",\",453,2,14459,456,5,14557\",\",466,8,14936,466,22,14950\",\",468,7,14975,468,13,14981\",\",469,12,15006,469,26,15020\",\",471,30,15067,471,35,15072\",\",471,20,15057,471,36,15073\",\",471,13,15050,471,37,15074\",\",472,13,15088,472,23,15098\",\",473,14,15113,473,23,15122\",\",474,19,15142,474,32,15155\",\",474,19,15142,474,36,15159\",\",474,64,15187,474,69,15192\",\",474,63,15186,474,74,15197\",\",474,51,15174,474,75,15198\",\",474,44,15167,474,76,15199\",\",474,6,15129,474,77,15200\",\",477,2,15217,477,13,15228\",\",490,5,15752,490,17,15764\",\",491,10,15779,491,22,15791\",\",492,10,15806,492,18,15814\",\",492,21,15817,492,29,15825\",\",492,10,15806,492,29,15825\",\",492,37,15833,492,45,15841\",\",492,61,15857,492,68,15864\",\",492,47,15843,492,73,15869\",\",492,32,15828,492,74,15870\",\",493,10,15881,493,18,15889\",\",493,22,15893,493,30,15901\",\",493,10,15881,493,30,15901\",\",493,46,15917,493,53,15924\",\",494,37,15967,494,45,15975\",\",494,65,15995,494,72,16002\",\",494,47,15977,494,73,16003\",\",494,32,15962,494,74,16004\",\",501,13,16155,501,36,16178\",\",502,13,16192,502,36,16215\",\",503,14,16230,503,47,16263\",\",504,11,16275,504,43,16307\",\",504,2,16266,504,44,16308\",\",509,5,16433,509,17,16445\",\",509,21,16449,509,33,16461\",\",510,10,16479,510,18,16487\",\",510,21,16490,510,29,16498\",\",510,10,16479,510,29,16498\",\",510,48,16517,510,55,16524\",\",511,10,16540,511,18,16548\",\",511,22,16552,511,30,16560\",\",511,10,16540,511,30,16560\",\",511,37,16567,511,45,16575\",\",511,63,16593,511,70,16600\",\",511,72,16602,511,79,16609\",\",511,47,16577,511,80,16610\",\",511,32,16562,511,81,16611\",\",512,52,16664,512,59,16671\",\",519,13,16817,519,36,16840\",\",520,13,16854,520,36,16877\",\",521,14,16892,521,49,16927\",\",522,11,16939,522,43,16971\",\",522,2,16930,522,44,16972\",\",527,5,17101,527,17,17113\",\",527,21,17117,527,33,17129\",\",528,10,17144,528,18,17152\",\",528,22,17156,528,30,17164\",\",528,10,17144,528,30,17164\",\",528,46,17180,528,53,17187\",\",528,55,17189,528,62,17196\",\",529,10,17208,529,18,17216\",\",529,21,17219,529,29,17227\",\",529,10,17208,529,29,17227\",\",529,37,17235,529,45,17243\",\",529,61,17259,529,68,17266\",\",529,47,17245,529,73,17271\",\",529,32,17230,529,74,17272\",\",530,50,17323,530,57,17330\",\",537,13,17475,537,36,17498\",\",538,13,17512,538,36,17535\",\",539,14,17550,539,47,17583\",\",540,11,17595,540,43,17627\",\",540,2,17586,540,44,17628\",\",544,2,17673,544,10,17681\",\",548,2,17726,548,10,17734\",\",552,2,17775,552,17,17790\",\",558,4,17934,558,15,17945\",\",557,2,17888,559,5,17951\",\",564,19,18065,564,34,18080\",\",564,2,18048,564,35,18081\",\",569,19,18195,569,33,18209\",\",569,2,18178,569,34,18210\",\",574,4,18293,574,20,18309\",\",573,2,18249,575,5,18315\",\",580,4,18441,580,15,18452\",\",579,29,18395,579,44,18410\",\",579,2,18368,581,5,18458\",\",586,4,18579,586,17,18592\",\",585,9,18518,587,5,18598\",\",588,2,18601,588,16,18615\",\",591,17,18638,591,32,18653\",\",592,17,18671,592,31,18685\",\",595,5,18712,595,11,18718\",\",595,13,18720,595,27,18734\",\",596,16,18751,596,30,18765\",\",596,8,18743,596,31,18766\",\",600,10,18810,600,16,18816\",\",600,18,18818,600,32,18832\",\",601,10,18843,601,16,18849\",\",601,18,18851,601,32,18865\",\",602,26,18892,602,40,18906\",\",602,18,18884,602,41,18907\",\",606,10,18954,606,16,18960\",\",606,18,18962,606,35,18979\",\",607,10,18990,607,16,18996\",\",607,18,18998,607,35,19015\",\",608,10,19026,608,16,19032\",\",608,18,19034,608,35,19051\",\",609,26,19078,609,43,19095\",\",609,18,19070,609,44,19096\",\",613,10,19146,613,16,19152\",\",613,18,19154,613,38,19174\",\",614,10,19185,614,16,19191\",\",614,18,19193,614,38,19213\",\",615,10,19224,615,16,19230\",\",615,18,19232,615,38,19252\",\",616,10,19263,616,16,19269\",\",616,18,19271,616,38,19291\",\",617,26,19318,617,46,19338\",\",617,18,19310,617,47,19339\",\",624,26,19458,624,40,19472\",\",624,17,19449,624,41,19473\",\",625,29,19508,625,43,19522\",\",625,20,19499,625,44,19523\",\",626,32,19561,626,49,19578\",\",626,23,19552,626,50,19579\",\",627,35,19620,627,55,19640\",\",627,26,19611,627,56,19641\",\",628,38,19685,628,61,19708\",\",628,29,19676,628,62,19709\",\",634,17,19815,634,38,19836\",\",635,20,19862,635,41,19883\",\",635,20,19862,635,48,19890\",\",636,23,19919,636,44,19940\",\",636,23,19919,636,51,19947\",\",636,23,19919,636,58,19954\",\",637,26,19986,637,47,20007\",\",637,26,19986,637,54,20014\",\",637,26,19986,637,61,20021\",\",637,26,19986,637,68,20028\",\",638,29,20063,638,50,20084\",\",638,29,20063,638,57,20091\",\",638,29,20063,638,64,20098\",\",638,29,20063,638,71,20105\",\",638,29,20063,638,78,20112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAoJGC,yCApJHD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJUE,qCAvJVF;AAAAA;AAuJUE,+BAvJVF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJMG,gCAvJNH;AAAAA;AAuJMG,4BAvJNH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwJKI,mEAxJLJ;AAAAA;AAwJKI,oFAxJLJ;AAAAA;AAAAA;AAAAA,SA0JQK,yCA1JRL;AAAAA;AAAAA;AAAAA;AAAAA,SA0JwBM,0CA1JxBN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0JKO,gCA1JLP;AAAAA;AA0JKO,sCA1JLP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8B+CQ,sCA9B/CR;AAAAA;AA8B+CQ,oDA9B/CR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAmDKS,oBAnDLT;AAAAA;AAAAA;AAAAA;AAAAA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AAA;AAAAA;AAAAA;AAAAA;AAgFqBsD,8BAhFrBtD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAiFKuD,yEAjFLvD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqFqBwD,8BArFrBxD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAsFKyD,wEAtFLzD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0FqB0D,8BA1FrB1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA2FK2D,0EA3FL3D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+FqB4D,8BA/FrB5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAgGK6D,sEAhGL7D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoGqB8D,8BApGrB9D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAqGK+D,qEArGL/D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyGqBgE,8BAzGrBhE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA0GKiE,uEA1GLjE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA+GKkE,yBA/GLlE;AAAAA;AAAAA,wBA+GiCmE,wBA/GjCnE;AAAAA;AAAAA,iBA+GoEoE,yBA/GpEpE;AAAAA;AAAAA;AAAAA;AA+G4DqE,iCA/G5DrE;AAAAA;AA+G4DqE,sCA/G5DrE;AAAAA;AAAAA;AAAAA;AAAAA,UA+GiCsE,4EA/GjCtE;AAAAA;AAAAA;AAAAA;AAAAA,UA+GKuE,4EA/GLvE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAoHKwE,yBApHLxE;AAAAA;AAAAA,wBAoHkCyE,wBApHlCzE;AAAAA;AAAAA,UAoHkC0E,wEApHlC1E;AAAAA;AAAAA;AAAAA;AAAAA,iBAoHmE2E,yBApHnE3E;AAAAA;AAAAA;AAAAA;AAoHgC4E,iCApHhC5E;AAAAA;AAoHgC4E,yCApHhC5E;AAAAA;AAAAA;AAAAA;AAAAA,UAoHK6E,2EApHL7E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAyHO8E,yBAzHP9E;AAAAA;AAAAA,wBAyHoC+E,wBAzHpC/E;AAAAA;AAAAA,UAyHoCgF,0EAzHpChF;AAAAA;AAAAA;AAAAA;AAAAA,UAyHOiF,6EAzHPjF;AAAAA;AAAAA;AAAAA;AAAAA,iBAyHwEkF,yBAzHxElF;AAAAA;AAAAA;AAAAA;AAyHKmF,iCAzHLnF;AAAAA;AAyHKmF,yCAzHLnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA8HKoF,wBA9HLpF;AAAAA;AAAAA,wBA8HmCqF,yBA9HnCrF;AAAAA;AAAAA,iBA8H0EsF,yBA9H1EtF;AAAAA;AAAAA;AAAAA;AA8HkEuF,iCA9HlEvF;AAAAA;AA8HkEuF,sCA9HlEvF;AAAAA;AAAAA;AAAAA;AAAAA,UA8HmCwF,+EA9HnCxF;AAAAA;AAAAA;AAAAA;AAAAA,UA8HKyF,+EA9HLzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAmIK0F,wBAnIL1F;AAAAA;AAAAA,wBAmIoC2F,yBAnIpC3F;AAAAA;AAAAA,UAmIoC4F,2EAnIpC5F;AAAAA;AAAAA;AAAAA;AAAAA,iBAmIyE6F,yBAnIzE7F;AAAAA;AAAAA;AAAAA;AAmIkC8F,iCAnIlC9F;AAAAA;AAmIkC8F,yCAnIlC9F;AAAAA;AAAAA;AAAAA;AAAAA,UAmIK+F,8EAnIL/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAwIOgG,wBAxIPhG;AAAAA;AAAAA,wBAwIsCiG,yBAxItCjG;AAAAA;AAAAA,UAwIsCkG,6EAxItClG;AAAAA;AAAAA;AAAAA;AAAAA,UAwIOmG,gFAxIPnG;AAAAA;AAAAA;AAAAA;AAAAA,iBAwI8EoG,yBAxI9EpG;AAAAA;AAAAA;AAAAA;AAwIKqG,iCAxILrG;AAAAA;AAwIKqG,yCAxILrG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA0I2BsG,wBA1I3BtG;AAAAA;AAAAA,UA0I2BuG,oDA1I3BvG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0IuBwG,oCA1IvBxG;AAAAA;AAAAA;AAAAA;AAAAA,wBA0I+CyG,yBA1I/CzG;AAAAA;AAAAA,UA0I+C0G,oDA1I/C1G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0IuB2G,2CA1IvB3G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBA4IO4G,yBA5IP5G;AAAAA;AAAAA;AAAAA;AA4IK6G,iCA5IL7G;AAAAA;AA4IK6G,8BA5IL7G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA4IuB8G,yBA5IvB9G;AAAAA;AAAAA,UA4IuB+G,uDA5IvB/G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA4I6CgH,wBA5I7ChH;AAAAA;AAAAA,UA4I6CiH,uDA5I7CjH;AAAAA;AAAAA;AA4I6CiH,wCA5I7CjH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBA+IOkH,yBA/IPlH;AAAAA;AAAAA;AAAAA;AA+IKmH,iCA/ILnH;AAAAA;AA+IKmH,8BA/ILnH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA+IsBoH,yBA/ItBpH;AAAAA;AAAAA,UA+IsBqH,uDA/ItBrH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBA+I2CsH,wBA/I3CtH;AAAAA;AAAAA,UA+I2CuH,uDA/I3CvH;AAAAA;AAAAA;AA+I2CuH,wCA/I3CvH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBA0BDwH,mCA1BCxH;AAAAA;AAAAA;AAAAA;AAAAA,oBA2BCyH,mCA3BDzH;AAAAA;AAAAA;AAAAA;AAAAA,oBA2BCyH,gCA3BDzH;AAAAA;AAAAA;AAAAA;AAAAA,oBAgDC0H,qCAhDD1H;AAAAA;AAAAA;AAAAA;AAAAA,oBAgDC0H,kCAhDD1H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA+J6B2H,+DA/J7B3H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAgKsB4H,6CAhKtB5H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAiKsB6H,6CAjKtB7H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAoKqB8H,2CApKrB9H;AAAAA;AAAAA;AAAAA;AAAAA,UAoKoC+H,4CApKpC/H;AAAAA;AAAAA;AAAAA;AAoKagI,8CApKbhI;AAAAA;AAAAA;AAAAA;AAAAA;AAoKaiI,oCApKbjI;AAAAA;AAAAA;AAAAA;AAoKCkI,+DApKDlI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAyKYmI,qBAzKZnI;AAAAA;AAAAA,iBAyKYoI,gCAzKZpI;AAAAA;AAAAA,qBAyK0BqI,qBAzK1BrI;AAAAA;AAAAA,iBAyK0BsI,+BAzK1BtI;AAAAA;AAAAA,iBAyKgDuI,sBAzKhDvI;AAAAA;AAAAA,qBAyKyDwI,qBAzKzDxI;AAAAA;AAAAA,iBAyKyDyI,gCAzKzDzI;AAAAA;AAAAA,iBAyKuE0I,sBAzKvE1I;AAAAA;AAAAA;AAAAA;AAyKuC2I,+DAzKvC3I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyKG4I,+DAzKH5I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBA4KY6I,sBA5KZ7I;AAAAA;AAAAA,iBA4KY8I,gCA5KZ9I;AAAAA;AAAAA,iBA4KoC+I,sBA5KpC/I;AAAAA;AAAAA,iBA4K6CgJ,qBA5K7ChJ;AAAAA;AAAAA,qBA4KqDiJ,sBA5KrDjJ;AAAAA;AAAAA,iBA4KqDkJ,+BA5KrDlJ;AAAAA;AAAAA;AAAAA;AA4K2BmJ,+DA5K3BnJ;AAAAA;AAAAA;AAAAA;AAAAA,qBA4KoEoJ,sBA5KpEpJ;AAAAA;AAAAA,iBA4KoEqJ,gCA5KpErJ;AAAAA;AAAAA;AAAAA;AA4KGsJ,+DA5KHtJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBA+KYuJ,qBA/KZvJ;AAAAA;AAAAA,qBA+KYwJ,gCA/KZxJ;AAAAA;AAAAA,iBA+KYyJ,gCA/KZzJ;AAAAA;AAAAA,qBAgLc0J,qBAhLd1J;AAAAA;AAAAA,iBAgLc2J,gCAhLd3J;AAAAA;AAAAA,qBAgL4B4J,qBAhL5B5J;AAAAA;AAAAA,iBAgL4B6J,+BAhL5B7J;AAAAA;AAAAA,qBAgLyC8J,qBAhLzC9J;AAAAA;AAAAA,qBAgLyC+J,gCAhLzC/J;AAAAA;AAAAA,iBAgLyCgK,+BAhLzChK;AAAAA;AAAAA;AAAAA;AAgLKiK,+DAhLLjK;AAAAA;AAAAA;AAAAA;AAAAA,iBAiLckK,sBAjLdlK;AAAAA;AAAAA,qBAiLuBmK,qBAjLvBnK;AAAAA;AAAAA,qBAiLuBoK,gCAjLvBpK;AAAAA;AAAAA,iBAiLuBqK,gCAjLvBrK;AAAAA;AAAAA,iBAiL2CsK,sBAjL3CtK;AAAAA;AAAAA;AAAAA;AAiLKuK,+DAjLLvK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+KGwK,+DA/KHxK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,sBAoLYyK,sBApLZzK;AAAAA;AAAAA,sBAoLY0K,gCApLZ1K;AAAAA;AAAAA,kBAoLY2K,iCApLZ3K;AAAAA;AAAAA,kBAqLc4K,sBArLd5K;AAAAA;AAAAA,kBAqLuB6K,qBArLvB7K;AAAAA;AAAAA,sBAqL+B8K,sBArL/B9K;AAAAA;AAAAA,sBAqL+B+K,gCArL/B/K;AAAAA;AAAAA,kBAqL+BgL,gCArL/BhL;AAAAA;AAAAA;AAAAA;AAqLKiL,kEArLLjL;AAAAA;AAAAA;AAAAA;AAAAA,sBAsLckL,sBAtLdlL;AAAAA;AAAAA,kBAsLcmL,iCAtLdnL;AAAAA;AAAAA,sBAsL6BoL,sBAtL7BpL;AAAAA;AAAAA,sBAsL6BqL,gCAtL7BrL;AAAAA;AAAAA,kBAsL6BsL,iCAtL7BtL;AAAAA;AAAAA,sBAsLiDuL,sBAtLjDvL;AAAAA;AAAAA,kBAsLiDwL,iCAtLjDxL;AAAAA;AAAAA;AAAAA;AAsLKyL,kEAtLLzL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoLG0L,kEApLH1L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAwLM2L,wBAxLN3L;AAAAA;AAAAA,UAwLM4L,sDAxLN5L;AAAAA;AAAAA;AAAAA;AAAAA,yBAyLM6L,yBAzLN7L;AAAAA;AAAAA,UAyLM8L,sDAzLN9L;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0LY+L,oCA1LZ/L;AAAAA;AAAAA;AAAAA;AA0LIgM,mCA1LJhM;AAAAA;AAAAA;AAAAA;AAAAA;AA0LIiM,0CA1LJjM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4LUkM,oCA5LVlM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4LSmM,0CA5LTnM;AAAAA;AA4LSmM,4CA5LTnM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,sBA6LMoM,wBA7LNpM;AAAAA;AAAAA,yBA6LMqM,gCA7LNrM;AAAAA;AAAAA,UA6LMsM,sDA7LNtM;AAAAA;AAAAA;AAAAA;AAAAA,sBA6LiCuM,wBA7LjCvM;AAAAA;AAAAA,yBA6LiCwM,iCA7LjCxM;AAAAA;AAAAA,UA6LiCyM,sDA7LjCzM;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6LM0M,qDA7LN1M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8LK2M,wCA9LL3M;AAAAA;AAAAA;AAAAA;AAAAA;AAgMK4M,yCAhML5M;AAAAA;AAAAA;AAAAA;AAAAA;AAkMU6M,oCAlMV7M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkMS8M,0CAlMT9M;AAAAA;AAkMS8M,4CAlMT9M;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,sBAmMM+M,yBAnMN/M;AAAAA;AAAAA,yBAmMMgN,iCAnMNhN;AAAAA;AAAAA,UAmMMiN,sDAnMNjN;AAAAA;AAAAA;AAAAA;AAAAA,sBAmMmCkN,yBAnMnClN;AAAAA;AAAAA,yBAmMmCmN,gCAnMnCnN;AAAAA;AAAAA,UAmMmCoN,sDAnMnCpN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmMMqN,qDAnMNrN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoMKsN,0CApMLtN;AAAAA;AAAAA;AAAAA;AAAAA;AAsMKuN,0CAtMLvN;AAAAA;AAAAA;AAAAA;AAAAA;AAyMGwN,mCAzMHxN;AAAAA;AAyMGwN,6DAzMHxN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBA8MYyN,yBA9MZzN;AAAAA;AA8MI0N,0CA9MJ1N;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA+Mc2N,0BA/Md3N;AAAAA;AA+MM4N,2CA/MN5N;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAkNK6N,0BAlNL7N;AAAAA;AAAAA;AAAAA,kBAqNc8N,0BArNd9N;AAAAA;AAqNM+N,2CArNN/N;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAsNKgO,yBAtNLhO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwNKiO,yCAxNLjO;AAAAA;AAwNKiO,oCAxNLjO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgOekO,oCAhOflO;AAAAA;AAgOekO,yDAhOflO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiOoCmO,yCAjOpCnO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA+NGoO,kDA/NHpO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsOeqO,oCAtOfrO;AAAAA;AAsOeqO,uDAtOfrO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwOUsO,yCAxOVtO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2OuCuO,gEA3OvCvO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2OmBwO,4DA3OnBxO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2OSyO,4CA3OTzO;AAAAA;AAAAA,QAqOG0O,kDArOH1O;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA+O6B2O,yBA/O7B3O;AAAAA;AAAAA;AAAAA;AA+OoB4O,6CA/OpB5O;AAAAA;AAAAA;AAAAA;AAAAA,iBA+OoB6O,iCA/OpB7O;AAAAA;AAAAA,kBAgPmC8O,yBAhPnC9O;AAAAA;AAAAA;AAAAA;AAgPK+O,kEAhPL/O;AAAAA;AAAAA;AAAAA;AAAAA,iBAiPKgP,0BAjPLhP;AAAAA;AAAAA;AAAAA;AA+OWiP,iEA/OXjP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+OCkP,6CA/ODlP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA8aGmP,qDA9aHnP;AAAAA;AAAAA;AAAAA;AAAAA,WA8agCoP,yDA9ahCpP;AAAAA;AAAAA;AAAAA;AAAAA,WA8aGqP,sEA9aHrP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkbUsP,yCAlbVtP;AAAAA;AAkbUsP,qCAlbVtP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkbMuP,kCAlbNvP;AAAAA;AAkbMuP,gCAlbNvP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmbKwP,qEAnbLxP;AAAAA;AAmbKwP,sFAnbLxP;AAAAA;AAAAA;AAAAA,WAqbiByP,6CArbjBzP;AAAAA;AAAAA;AAAAA;AAAAA,WAsbkB0P,8CAtblB1P;AAAAA;AAAAA;AAAAA;AAAAA,WAubY2P,kDAvbZ3P;AAAAA;AAAAA;AAAAA;AAAAA,WAubmC4P,iDAvbnC5P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAubY6P,2CAvbZ7P;AAAAA;AAubY6P,oDAvbZ7P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAubQ8P,kCAvbR9P;AAAAA;AAubQ8P,gCAvbR9P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwbO+P,qEAxbP/P;AAAAA;AAwbO+P,uFAxbP/P;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2b0BgQ,2DA3b1BhQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4bSiQ,sEA5bTjQ;AAAAA;AA4bSiQ,sFA5bTjQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0bOkQ,oFA1bPlQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAqQWmQ,0BArQXnQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0QmCoQ,yCA1QnCpQ;AAAAA;AA0QmCoQ,kCA1QnCpQ;AAAAA;AAAAA;AAAAA;AA0QsBqQ,6CA1QtBrQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4QyBsQ,2BA5QzBtQ;AAAAA;AAAAA;AAAAA;AAAAA;AA6QgBuQ,2CA7QhBvQ;AAAAA;AA6QgBuQ,+CA7QhBvQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8Q4BwQ,yCA9Q5BxQ;AAAAA;AA8Q4BwQ,iCA9Q5BxQ;AAAAA;AAAAA;AAAAA;AA8QeyQ,6CA9QfzQ;AAAAA;AAAAA;AAAAA;AAAAA;AAgRsC0Q,kCAhRtC1Q;AAAAA;AAAAA;AAAAA;AAAAA;AAgR6B2Q,yCAhR7B3Q;AAAAA;AAgR6B2Q,uCAhR7B3Q;AAAAA;AAAAA;AAAAA;AAgRe4Q,8CAhRf5Q;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAyQS6Q,kDAzQT7Q;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAsQK8Q,kDAtQL9Q;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqRsD+Q,6CArRtD/Q;AAAAA;AAAAA;AAAAA;AAAAA,WAqRsDgR,qFArRtDhR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqRyBiR,oEArRzBjR;AAAAA;AAqRyBiR,+EArRzBjR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAwRmBkR,0BAxRnBlR;AAAAA;AAAAA;AAAAA;AAwRKmR,gDAxRLnR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA6RKoR,0BA7RLpR;AAAAA;AAAAA,WA6RKqR,+DA7RLrR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAkSSsR,yBAlSTtR;AAAAA;AAAAA,WAkSSuR,+DAlSTvR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBAqS2BwR,yBArS3BxR;AAAAA;AAqSgByR,yCArShBzR;AAAAA;AAAAA;AAAAA;AAAAA;AAqSO0R,yCArSP1R;AAAAA;AAqSO0R,uCArSP1R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBA2Sc2R,0BA3Sd3R;AAAAA;AAAAA,WA2Sc4R,+DA3Sd5R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2SK6R,yCA3SL7R;AAAAA;AA2SK6R,uCA3SL7R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAgTK8R,0BAhTL9R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAsTO+R,+CAtTP/R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqTKgS,gEArTLhS;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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A;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA+hBC4a,4CA/hBD5a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmiBC6a,4CAniBD7a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAuiBC8a,sDAviBD9a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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\",\"file\":\"builtin://sets\"}", +"theModule":"function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__707(R,NAMESPACE,M,$equality26,$$underscore_import5,$$included$225,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://sets\";\nvar D = R.undefined;\nvar L = [[M,147,2,6045,150,5,6166],\n[M,149,4,6146,149,18,6160],\n[M,147,26,6069,147,30,6073],\n[M,151,2,6170,157,5,6351],\n[M,152,11,6214,152,21,6224],\n[M,153,6,6240,153,51,6285],\n[M,155,9,6305,155,23,6319],\n[M,155,25,6321,155,40,6336],\n[M,155,6,6302,155,41,6337],\n[M,152,7,6210,152,29,6232],\n[M,152,11,6214,152,28,6231],\n[M,29,4,513,29,40,549],\n[M,29,27,536,29,33,542],\n[M,30,4,555,30,59,610],\n[M,30,41,592,30,48,599],\n[M,31,4,616,31,77,689],\n[M,31,48,660,31,56,668],\n[M,31,62,674,31,66,678],\n[M,31,68,680,31,72,684],\n[M,31,39,651,31,46,658],\n[M,31,48,660,31,73,685],\n[M,32,4,695,32,56,747],\n[M,32,48,739,32,52,743],\n[M,32,39,730,32,46,737],\n[M,33,4,753,33,44,793],\n[M,33,29,778,33,33,782],\n[M,34,4,799,34,43,838],\n[M,34,28,823,34,32,827],\n[M,35,4,844,35,45,885],\n[M,35,30,870,35,34,874],\n[M,36,4,891,36,47,934],\n[M,36,32,919,36,36,923],\n[M,37,4,940,37,46,982],\n[M,37,31,967,37,35,971],\n[M,38,4,988,38,48,1032],\n[M,38,33,1017,38,37,1021],\n[M,39,4,1038,39,49,1083],\n[M,40,4,1089,40,48,1133],\n[M,41,4,1139,41,50,1185],\n[M,42,4,1191,42,52,1239],\n[M,43,4,1245,43,51,1292],\n[M,44,4,1298,44,53,1347],\n[M,45,4,1353,45,29,1378],\n[M,46,4,1384,46,33,1413],\n[M,47,4,1419,47,34,1449],\n[M,50,4,1534,53,7,1628],\n[M,52,6,1614,52,12,1620],\n[M,50,27,1557,50,33,1563],\n[M,54,4,1634,60,7,1899],\n[M,56,16,1772,56,26,1782],\n[M,54,41,1671,54,48,1678],\n[M,57,20,1809,57,30,1819],\n[M,57,32,1821,57,41,1830],\n[M,57,32,1821,57,55,1844],\n[M,58,12,1857,58,22,1867],\n[M,58,12,1857,58,36,1881],\n[M,57,14,1803,57,30,1819],\n[M,56,9,1765,56,26,1782],\n[M,61,4,1905,69,7,2292],\n[M,63,16,2032,63,26,2042],\n[M,61,39,1940,61,46,1947],\n[M,63,28,2044,63,36,2052],\n[M,63,42,2058,63,51,2067],\n[M,63,53,2069,63,63,2079],\n[M,63,28,2044,63,64,2080],\n[M,64,20,2101,64,30,2111],\n[M,65,8,2121,65,17,2130],\n[M,65,18,2131,65,26,2139],\n[M,65,27,2140,65,37,2150],\n[M,65,39,2152,65,48,2161],\n[M,65,39,2152,65,60,2173],\n[M,65,62,2175,65,72,2185],\n[M,65,8,2121,65,74,2187],\n[M,65,18,2131,65,73,2186],\n[M,67,8,2208,67,17,2217],\n[M,67,18,2218,67,26,2226],\n[M,67,27,2227,67,37,2237],\n[M,67,39,2239,67,48,2248],\n[M,67,50,2250,67,60,2260],\n[M,67,50,2250,67,72,2272],\n[M,67,8,2208,67,74,2274],\n[M,67,18,2218,67,73,2273],\n[M,64,14,2095,64,30,2111],\n[M,63,9,2025,63,26,2042],\n[M,70,4,2298,78,7,2663],\n[M,72,16,2422,72,26,2432],\n[M,70,39,2333,70,46,2340],\n[M,72,28,2434,72,39,2445],\n[M,72,28,2434,72,45,2451],\n[M,73,20,2472,73,30,2482],\n[M,74,8,2492,74,17,2501],\n[M,74,18,2502,74,26,2510],\n[M,74,27,2511,74,37,2521],\n[M,74,39,2523,74,48,2532],\n[M,74,39,2523,74,60,2544],\n[M,74,62,2546,74,72,2556],\n[M,74,8,2492,74,74,2558],\n[M,74,18,2502,74,73,2557],\n[M,76,8,2579,76,17,2588],\n[M,76,18,2589,76,26,2597],\n[M,76,27,2598,76,37,2608],\n[M,76,39,2610,76,48,2619],\n[M,76,50,2621,76,60,2631],\n[M,76,50,2621,76,72,2643],\n[M,76,8,2579,76,74,2645],\n[M,76,18,2589,76,73,2644],\n[M,73,14,2466,73,30,2482],\n[M,72,9,2415,72,26,2432],\n[M,79,4,2669,83,7,2966],\n[M,81,6,2790,81,36,2820],\n[M,82,6,2888,82,40,2922],\n[M,79,29,2694,79,33,2698],\n[M,84,4,2972,88,7,3169],\n[M,86,6,3091,86,36,3121],\n[M,87,6,3128,87,39,3161],\n[M,84,28,2996,84,32,3000],\n[M,89,4,3175,93,7,3378],\n[M,91,6,3298,91,36,3328],\n[M,92,6,3335,92,41,3370],\n[M,89,30,3201,89,34,3205],\n[M,94,4,3384,98,7,3584],\n[M,96,6,3508,96,36,3538],\n[M,97,6,3545,97,37,3576],\n[M,94,32,3412,94,36,3416],\n[M,99,4,3590,103,7,3786],\n[M,101,6,3711,101,36,3741],\n[M,102,6,3748,102,36,3778],\n[M,99,31,3617,99,35,3621],\n[M,104,4,3792,108,7,3995],\n[M,106,6,3918,106,36,3948],\n[M,107,6,3955,107,38,3987],\n[M,104,33,3821,104,37,3825],\n[M,109,4,4001,113,7,4279],\n[M,112,6,4195,112,16,4205],\n[M,112,34,4223,112,43,4232],\n[M,112,69,4258,112,79,4268],\n[M,112,34,4223,112,81,4270],\n[M,112,6,4195,112,82,4271],\n[M,112,61,4250,112,80,4269],\n[M,114,4,4285,118,7,4560],\n[M,117,6,4478,117,16,4488],\n[M,117,35,4507,117,44,4516],\n[M,117,35,4507,117,66,4538],\n[M,117,68,4540,117,78,4550],\n[M,117,6,4478,117,80,4552],\n[M,117,33,4505,117,79,4551],\n[M,119,4,4566,123,7,4848],\n[M,122,8,4764,122,18,4774],\n[M,122,37,4793,122,46,4802],\n[M,122,37,4793,122,70,4826],\n[M,122,8,4764,122,71,4827],\n[M,122,73,4829,122,83,4839],\n[M,122,6,4762,122,84,4840],\n[M,124,4,4854,128,7,5155],\n[M,127,6,5065,127,15,5074],\n[M,127,36,5095,127,46,5105],\n[M,127,75,5134,127,85,5144],\n[M,127,36,5095,127,87,5146],\n[M,127,6,5065,127,88,5147],\n[M,127,67,5126,127,86,5145],\n[M,129,4,5161,133,7,5458],\n[M,132,6,5370,132,15,5379],\n[M,132,37,5401,132,47,5411],\n[M,132,37,5401,132,72,5436],\n[M,132,74,5438,132,84,5448],\n[M,132,6,5370,132,86,5450],\n[M,132,35,5399,132,85,5449],\n[M,134,4,5464,138,7,5769],\n[M,137,8,5679,137,17,5688],\n[M,137,39,5710,137,49,5720],\n[M,137,39,5710,137,76,5747],\n[M,137,8,5679,137,77,5748],\n[M,137,79,5750,137,89,5760],\n[M,137,6,5677,137,90,5761],\n[M,139,4,5775,139,70,5841],\n[M,139,28,5799,139,37,5808],\n[M,139,28,5799,139,45,5816],\n[M,139,48,5819,139,58,5829],\n[M,139,48,5819,139,66,5837],\n[M,139,24,5795,139,66,5837],\n[M,139,24,5795,139,45,5816],\n[M,140,4,5847,142,7,5938],\n[M,141,8,5876,141,18,5886],\n[M,141,24,5892,141,34,5902],\n[M,141,24,5892,141,41,5909],\n[M,141,46,5914,141,55,5923],\n[M,141,46,5914,141,62,5930],\n[M,141,6,5874,141,19,5887],\n[M,143,4,5944,145,7,6033],\n[M,144,8,5973,144,18,5983],\n[M,144,23,5988,144,33,5998],\n[M,144,23,5988,144,40,6005],\n[M,144,44,6009,144,53,6018],\n[M,144,44,6009,144,60,6025],\n[M,144,6,5971,144,19,5984],\n[M,28,2,496,47,34,1449],\n[M,49,2,1453,145,7,6033],\n[M,49,30,1481,49,36,1487],\n[M,49,46,1497,49,53,1504],\n[M,49,64,1515,49,71,1522],\n[M,27,0,480,158,3,6355],\n[M,160,0,6357,160,61,6418],\n[M,160,30,6387,160,57,6414],\n[M,161,0,6419,161,38,6457],\n[M,161,23,6442,161,34,6453],\n[M,162,0,6458,162,38,6496],\n[M,162,23,6481,162,34,6492],\n[M,164,0,6498,166,3,6633],\n[M,165,22,6581,165,35,6594],\n[M,165,37,6596,165,51,6610],\n[M,165,14,6573,165,56,6615],\n[M,164,33,6531,164,40,6538],\n[M,164,51,6549,164,58,6556],\n[M,168,0,6635,204,3,7699],\n[M,169,2,6669,171,5,6774],\n[M,170,13,6700,170,19,6706],\n[M,170,13,6700,170,25,6712],\n[M,170,27,6714,170,33,6720],\n[M,170,27,6714,170,38,6725],\n[M,170,49,6736,170,56,6743],\n[M,170,58,6745,170,64,6751],\n[M,170,58,6745,170,70,6757],\n[M,170,72,6759,170,79,6766],\n[M,170,4,6691,170,81,6768],\n[M,170,40,6727,170,80,6767],\n[M,172,2,6777,174,5,6886],\n[M,173,13,6810,173,20,6817],\n[M,173,13,6810,173,26,6823],\n[M,173,37,6834,173,44,6841],\n[M,173,46,6843,173,52,6849],\n[M,173,54,6851,173,61,6858],\n[M,173,54,6851,173,66,6863],\n[M,173,69,6866,173,76,6873],\n[M,173,69,6866,173,82,6879],\n[M,173,4,6801,173,83,6880],\n[M,173,28,6825,173,67,6864],\n[M,175,2,6889,179,5,7062],\n[M,176,13,6921,176,19,6927],\n[M,176,13,6921,176,25,6933],\n[M,176,13,6921,176,31,6939],\n[M,177,15,6956,177,21,6962],\n[M,177,15,6956,177,27,6968],\n[M,177,29,6970,177,35,6976],\n[M,177,29,6970,177,40,6981],\n[M,177,42,6983,177,48,6989],\n[M,177,42,6983,177,54,6995],\n[M,177,42,6983,177,59,7000],\n[M,178,15,7018,178,22,7025],\n[M,178,24,7027,178,30,7033],\n[M,178,24,7027,178,36,7039],\n[M,178,24,7027,178,42,7045],\n[M,178,44,7047,178,51,7054],\n[M,176,4,6912,178,53,7056],\n[M,178,6,7009,178,52,7055],\n[M,177,6,6947,177,60,7001],\n[M,180,2,7065,184,5,7240],\n[M,181,13,7097,181,20,7104],\n[M,181,13,7097,181,25,7109],\n[M,181,13,7097,181,31,7115],\n[M,182,15,7132,182,22,7139],\n[M,182,24,7141,182,30,7147],\n[M,182,32,7149,182,39,7156],\n[M,182,32,7149,182,44,7161],\n[M,182,32,7149,182,49,7166],\n[M,183,15,7184,183,22,7191],\n[M,183,15,7184,183,28,7197],\n[M,183,30,7199,183,37,7206],\n[M,183,30,7199,183,42,7211],\n[M,183,30,7199,183,48,7217],\n[M,183,50,7219,183,57,7226],\n[M,183,50,7219,183,63,7232],\n[M,181,4,7088,183,65,7234],\n[M,183,6,7175,183,64,7233],\n[M,182,6,7123,182,50,7167],\n[M,185,7,7248,185,16,7257],\n[M,185,7,7248,185,25,7266],\n[M,186,7,7274,186,17,7284],\n[M,186,7,7274,186,26,7293],\n[M,190,7,7364,190,16,7373],\n[M,190,7,7364,190,21,7378],\n[M,190,7,7364,190,30,7387],\n[M,190,34,7391,190,43,7400],\n[M,190,34,7391,190,49,7406],\n[M,190,34,7391,190,58,7415],\n[M,191,6,7423,191,21,7438],\n[M,193,6,7455,193,22,7471],\n[M,190,7,7364,190,58,7415],\n[M,196,7,7513,196,17,7523],\n[M,196,7,7513,196,23,7529],\n[M,196,7,7513,196,32,7538],\n[M,196,36,7542,196,46,7552],\n[M,196,36,7542,196,51,7557],\n[M,196,36,7542,196,60,7566],\n[M,197,6,7574,197,23,7591],\n[M,199,6,7608,199,22,7624],\n[M,196,7,7513,196,60,7566],\n[M,202,4,7645,202,48,7689],\n[M,195,10,7490,195,24,7504],\n[M,195,11,7491,195,18,7498],\n[M,189,10,7341,189,24,7355],\n[M,189,11,7342,189,18,7349],\n[M,187,5,7299,187,26,7320],\n[M,187,13,7307,187,20,7314],\n[M,168,22,6657,168,29,6664],\n[M,206,0,7701,220,3,7942],\n[M,207,13,7748,207,22,7757],\n[M,208,15,7775,208,25,7785],\n[M,211,6,7815,211,16,7825],\n[M,214,15,7857,214,25,7867],\n[M,215,6,7876,215,15,7885],\n[M,217,6,7902,217,22,7918],\n[M,217,6,7902,217,28,7924],\n[M,206,24,7725,206,31,7732],\n[M,222,0,7944,243,3,8609],\n[M,223,2,7985,228,5,8174],\n[M,225,16,8040,225,55,8079],\n[M,225,6,8030,225,55,8079],\n[M,224,4,8006,227,7,8168],\n[M,226,6,8086,226,80,8160],\n[M,224,10,8012,224,17,8019],\n[M,229,2,8177,239,5,8490],\n[M,231,16,8253,231,53,8290],\n[M,231,6,8243,231,53,8290],\n[M,230,4,8219,238,7,8484],\n[M,236,10,8396,236,78,8464],\n[M,236,20,8406,236,77,8463],\n[M,236,40,8426,236,76,8462],\n[M,232,6,8297,237,11,8476],\n[M,230,10,8225,230,17,8232],\n[M,240,30,8521,240,39,8530],\n[M,240,21,8512,240,46,8537],\n[M,241,36,8575,241,45,8584],\n[M,242,6,8593,242,16,8603],\n[M,240,2,8493,242,18,8605],\n[M,240,12,8503,242,17,8604],\n[M,241,6,8545,241,46,8585],\n[M,240,21,8512,240,40,8531],\n[M,222,29,7973,222,36,7980],\n[M,429,2,13701,432,5,13898],\n[M,431,4,13841,431,21,13858],\n[M,431,33,13870,431,54,13891],\n[M,431,4,13841,431,55,13892],\n[M,429,60,13759,429,63,13762],\n[M,429,38,13737,429,41,13740],\n[M,429,52,13751,429,55,13754],\n[M,434,2,13903,449,5,14423],\n[M,435,11,13947,435,17,13953],\n[M,436,6,13969,436,47,14010],\n[M,438,18,14039,438,32,14053],\n[M,439,19,14073,439,34,14088],\n[M,440,13,14102,440,32,14121],\n[M,440,36,14125,440,54,14143],\n[M,441,8,14154,441,50,14196],\n[M,443,8,14217,446,11,14399],\n[M,445,10,14345,445,52,14387],\n[M,444,27,14302,444,59,14334],\n[M,440,9,14098,440,55,14144],\n[M,440,13,14102,440,54,14143],\n[M,435,7,13943,435,25,13961],\n[M,435,11,13947,435,24,13960],\n[M,261,4,9127,277,7,9586],\n[M,262,12,9158,262,22,9168],\n[M,264,8,9200,264,28,9220],\n[M,263,6,9175,276,9,9578],\n[M,267,36,9306,267,44,9314],\n[M,267,36,9306,267,51,9321],\n[M,267,12,9282,267,52,9322],\n[M,266,10,9255,275,13,9568],\n[M,271,29,9451,271,37,9459],\n[M,271,29,9451,271,40,9462],\n[M,273,30,9514,273,38,9522],\n[M,273,30,9514,273,51,9535],\n[M,270,17,9406,270,31,9420],\n[M,269,14,9367,269,35,9388],\n[M,268,12,9335,274,17,9554],\n[M,266,16,9261,266,20,9265],\n[M,265,8,9229,275,13,9568],\n[M,263,12,9181,263,16,9185],\n[M,278,4,9592,278,91,9679],\n[M,278,55,9643,278,69,9657],\n[M,278,55,9643,278,86,9674],\n[M,278,26,9614,278,87,9675],\n[M,280,4,9686,282,7,9781],\n[M,281,20,9762,281,30,9772],\n[M,281,6,9748,281,31,9773],\n[M,280,27,9709,280,44,9726],\n[M,284,4,9788,287,7,9923],\n[M,286,6,9892,286,16,9902],\n[M,286,6,9892,286,29,9915],\n[M,284,40,9824,284,47,9831],\n[M,289,4,9930,296,7,10156],\n[M,291,10,10047,291,20,10057],\n[M,291,10,10047,291,33,10070],\n[M,289,37,9963,289,40,9966],\n[M,294,8,10106,294,16,10114],\n[M,294,28,10126,294,38,10136],\n[M,294,8,10106,294,40,10138],\n[M,298,4,10163,301,7,10313],\n[M,300,6,10272,300,14,10280],\n[M,300,15,10281,300,25,10291],\n[M,300,15,10281,300,38,10304],\n[M,298,40,10199,298,43,10202],\n[M,300,6,10272,300,39,10305],\n[M,303,4,10320,306,7,10426],\n[M,305,6,10408,305,16,10418],\n[M,303,28,10344,303,32,10348],\n[M,308,4,10433,313,7,10616],\n[M,310,17,10558,312,9,10601],\n[M,311,8,10580,311,19,10591],\n[M,310,6,10547,312,16,10608],\n[M,308,47,10476,308,50,10479],\n[M,308,25,10454,308,28,10457],\n[M,308,39,10468,308,42,10471],\n[M,315,4,10623,325,7,10960],\n[M,317,18,10760,323,9,10926],\n[M,318,11,10826,318,29,10844],\n[M,321,10,10886,321,28,10904],\n[M,317,38,10780,317,48,10790],\n[M,317,60,10802,317,70,10812],\n[M,324,6,10933,324,14,10941],\n[M,315,51,10670,315,54,10673],\n[M,324,6,10933,324,25,10952],\n[M,315,29,10648,315,32,10651],\n[M,315,43,10662,315,46,10665],\n[M,327,4,10967,330,7,11144],\n[M,329,15,11123,329,27,11135],\n[M,329,6,11114,329,28,11136],\n[M,327,50,11013,327,57,11020],\n[M,327,28,10991,327,31,10994],\n[M,327,42,11005,327,45,11008],\n[M,332,4,11155,342,7,11491],\n[M,334,18,11291,340,9,11457],\n[M,335,11,11357,335,29,11375],\n[M,336,10,11387,336,28,11405],\n[M,334,38,11311,334,48,11321],\n[M,334,60,11333,334,70,11343],\n[M,341,6,11464,341,14,11472],\n[M,332,52,11203,332,55,11206],\n[M,341,6,11464,341,25,11483],\n[M,332,30,11181,332,33,11184],\n[M,332,44,11195,332,47,11198],\n[M,344,4,11498,346,7,11567],\n[M,345,6,11540,345,16,11550],\n[M,345,6,11540,345,25,11559],\n[M,344,32,11526,344,38,11532],\n[M,344,24,11518,344,27,11521],\n[M,348,4,11574,348,51,11621],\n[M,348,36,11606,348,46,11616],\n[M,350,4,11628,352,7,11691],\n[M,351,6,11666,351,16,11676],\n[M,351,6,11666,351,23,11683],\n[M,350,27,11651,350,34,11658],\n[M,354,4,11698,356,7,11761],\n[M,355,6,11736,355,16,11746],\n[M,355,6,11736,355,23,11753],\n[M,354,27,11721,354,34,11728],\n[M,359,4,11808,366,7,11995],\n[M,360,10,11837,360,20,11847],\n[M,362,8,11880,362,27,11899],\n[M,361,6,11854,365,9,11987],\n[M,364,23,11955,364,31,11963],\n[M,364,32,11964,364,43,11975],\n[M,364,23,11955,364,44,11976],\n[M,363,8,11908,364,45,11977],\n[M,361,12,11860,361,19,11867],\n[M,367,4,12001,367,91,12088],\n[M,367,55,12052,367,69,12066],\n[M,367,55,12052,367,86,12083],\n[M,367,26,12023,367,87,12084],\n[M,369,4,12095,371,7,12190],\n[M,370,25,12171,370,35,12181],\n[M,370,6,12152,370,36,12182],\n[M,369,27,12118,369,39,12130],\n[M,373,4,12197,376,7,12334],\n[M,375,6,12301,375,16,12311],\n[M,375,6,12301,375,31,12326],\n[M,373,40,12233,373,47,12240],\n[M,378,4,12341,381,7,12495],\n[M,380,6,12454,380,14,12462],\n[M,380,15,12463,380,25,12473],\n[M,380,15,12463,380,38,12486],\n[M,378,37,12374,378,40,12377],\n[M,380,6,12454,380,39,12487],\n[M,383,4,12502,386,7,12652],\n[M,385,6,12611,385,14,12619],\n[M,385,15,12620,385,25,12630],\n[M,385,15,12620,385,38,12643],\n[M,383,40,12538,383,43,12541],\n[M,385,6,12611,385,39,12644],\n[M,388,4,12659,391,7,12775],\n[M,390,6,12747,390,16,12757],\n[M,390,6,12747,390,26,12767],\n[M,388,28,12683,388,32,12687],\n[M,393,4,12782,396,7,12910],\n[M,395,6,12875,395,20,12889],\n[M,395,6,12875,395,33,12902],\n[M,398,4,12917,401,7,13060],\n[M,400,6,13021,400,24,13039],\n[M,400,6,13021,400,37,13052],\n[M,403,4,13067,406,7,13244],\n[M,405,15,13223,405,27,13235],\n[M,405,6,13214,405,28,13236],\n[M,403,50,13113,403,57,13120],\n[M,403,28,13091,403,31,13094],\n[M,403,42,13105,403,45,13108],\n[M,408,4,13251,411,7,13415],\n[M,410,6,13375,410,25,13394],\n[M,408,52,13299,408,55,13302],\n[M,410,6,13375,410,38,13407],\n[M,408,30,13277,408,33,13280],\n[M,408,44,13291,408,47,13294],\n[M,413,4,13422,415,7,13490],\n[M,414,6,13464,414,16,13474],\n[M,414,6,13464,414,24,13482],\n[M,413,32,13450,413,38,13456],\n[M,413,24,13442,413,27,13445],\n[M,417,4,13497,417,50,13543],\n[M,417,35,13528,417,45,13538],\n[M,419,4,13550,421,7,13613],\n[M,420,6,13588,420,16,13598],\n[M,420,6,13588,420,23,13605],\n[M,419,27,13573,419,34,13580],\n[M,423,4,13620,425,7,13683],\n[M,424,6,13658,424,16,13668],\n[M,424,6,13658,424,23,13675],\n[M,423,27,13643,423,34,13650],\n[M,260,2,9091,356,7,11761],\n[M,260,22,9111,260,26,9115],\n[M,358,2,11769,425,7,13683],\n[M,358,22,11789,358,29,11796],\n[M,259,0,9079,450,3,14427],\n[M,452,0,14429,457,3,14561],\n[M,454,25,14498,454,37,14510],\n[M,454,4,14477,454,37,14510],\n[M,453,2,14459,456,5,14557],\n[M,455,25,14536,455,40,14551],\n[M,455,4,14515,455,40,14551],\n[M,453,8,14465,453,11,14468],\n[M,459,0,14563,486,3,15623],\n[M,466,8,14936,466,22,14950],\n[M,467,2,14953,476,5,15214],\n[M,472,13,15088,472,23,15098],\n[M,473,14,15113,473,23,15122],\n[M,474,19,15142,474,32,15155],\n[M,474,44,15167,474,76,15199],\n[M,474,63,15186,474,74,15197],\n[M,474,64,15187,474,69,15192],\n[M,474,19,15142,474,36,15159],\n[M,471,13,15050,471,37,15074],\n[M,471,30,15067,471,35,15072],\n[M,468,7,14975,468,13,14981],\n[M,477,2,15217,477,13,15228],\n[M,488,0,15625,498,3,16105],\n[M,492,10,15806,492,18,15814],\n[M,492,21,15817,492,29,15825],\n[M,492,37,15833,492,45,15841],\n[M,492,61,15857,492,68,15864],\n[M,492,47,15843,492,73,15869],\n[M,493,10,15881,493,18,15889],\n[M,493,22,15893,493,30,15901],\n[M,493,46,15917,493,53,15924],\n[M,494,37,15967,494,45,15975],\n[M,494,65,15995,494,72,16002],\n[M,494,47,15977,494,73,16003],\n[M,493,10,15881,493,30,15901],\n[M,492,10,15806,492,29,15825],\n[M,500,0,16107,505,3,16312],\n[M,500,30,16137,500,33,16140],\n[M,504,11,16275,504,43,16307],\n[M,503,14,16230,503,47,16263],\n[M,502,13,16192,502,36,16215],\n[M,501,13,16155,501,36,16178],\n[M,507,0,16314,516,3,16763],\n[M,510,10,16479,510,18,16487],\n[M,510,21,16490,510,29,16498],\n[M,510,48,16517,510,55,16524],\n[M,511,10,16540,511,18,16548],\n[M,511,22,16552,511,30,16560],\n[M,511,37,16567,511,45,16575],\n[M,511,63,16593,511,70,16600],\n[M,511,72,16602,511,79,16609],\n[M,511,47,16577,511,80,16610],\n[M,512,52,16664,512,59,16671],\n[M,511,10,16540,511,30,16560],\n[M,510,10,16479,510,29,16498],\n[M,518,0,16765,523,3,16976],\n[M,518,34,16799,518,37,16802],\n[M,522,11,16939,522,43,16971],\n[M,521,14,16892,521,49,16927],\n[M,520,13,16854,520,36,16877],\n[M,519,13,16817,519,36,16840],\n[M,525,0,16978,534,3,17420],\n[M,528,10,17144,528,18,17152],\n[M,528,22,17156,528,30,17164],\n[M,528,46,17180,528,53,17187],\n[M,528,55,17189,528,62,17196],\n[M,529,10,17208,529,18,17216],\n[M,529,21,17219,529,29,17227],\n[M,529,37,17235,529,45,17243],\n[M,529,61,17259,529,68,17266],\n[M,529,47,17245,529,73,17271],\n[M,530,50,17323,530,57,17330],\n[M,529,10,17208,529,29,17227],\n[M,528,10,17144,528,30,17164],\n[M,536,0,17422,541,3,17632],\n[M,536,35,17457,536,38,17460],\n[M,540,11,17595,540,43,17627],\n[M,539,14,17550,539,47,17583],\n[M,538,13,17512,538,36,17535],\n[M,537,13,17475,537,36,17498],\n[M,543,0,17634,545,3,17685],\n[M,544,2,17673,544,10,17681],\n[M,543,28,17662,543,35,17669],\n[M,543,20,17654,543,23,17657],\n[M,547,0,17687,549,3,17738],\n[M,548,2,17726,548,10,17734],\n[M,547,28,17715,547,35,17722],\n[M,547,20,17707,547,23,17710],\n[M,551,0,17740,553,3,17794],\n[M,552,2,17775,552,17,17790],\n[M,551,27,17767,551,30,17770],\n[M,555,0,17796,560,3,17955],\n[M,557,2,17888,559,5,17951],\n[M,558,4,17934,558,15,17945],\n[M,555,49,17845,555,52,17848],\n[M,555,23,17819,555,27,17823],\n[M,555,41,17837,555,44,17840],\n[M,562,0,17957,565,3,18085],\n[M,562,37,17994,562,40,17997],\n[M,564,2,18048,564,35,18081],\n[M,562,28,17985,562,32,17989],\n[M,567,0,18087,570,3,18214],\n[M,567,37,18124,567,40,18127],\n[M,569,2,18178,569,34,18210],\n[M,567,28,18115,567,32,18119],\n[M,572,0,18216,576,3,18319],\n[M,573,2,18249,575,5,18315],\n[M,574,4,18293,574,20,18309],\n[M,572,24,18240,572,28,18244],\n[M,578,0,18321,582,3,18462],\n[M,579,2,18368,581,5,18458],\n[M,580,4,18441,580,15,18452],\n[M,578,40,18361,578,43,18364],\n[M,578,27,18348,578,35,18356],\n[M,584,0,18464,589,3,18619],\n[M,585,9,18518,587,5,18598],\n[M,586,4,18579,586,17,18592],\n[M,584,40,18504,584,43,18507],\n[M,584,27,18491,584,35,18499],\n[M,594,0,18687,598,3,18776],\n[M,595,5,18712,595,11,18718],\n[M,599,0,18777,604,3,18917],\n[M,600,18,18818,600,32,18832],\n[M,601,18,18851,601,32,18865],\n[M,602,26,18892,602,40,18906],\n[M,601,10,18843,601,16,18849],\n[M,600,10,18810,600,16,18816],\n[M,605,0,18918,611,3,19106],\n[M,606,18,18962,606,35,18979],\n[M,607,18,18998,607,35,19015],\n[M,608,18,19034,608,35,19051],\n[M,609,26,19078,609,43,19095],\n[M,608,10,19026,608,16,19032],\n[M,607,10,18990,607,16,18996],\n[M,606,10,18954,606,16,18960],\n[M,612,0,19107,619,3,19349],\n[M,613,18,19154,613,38,19174],\n[M,614,18,19193,614,38,19213],\n[M,615,18,19232,615,38,19252],\n[M,616,18,19271,616,38,19291],\n[M,617,26,19318,617,46,19338],\n[M,616,10,19263,616,16,19269],\n[M,615,10,19224,615,16,19230],\n[M,614,10,19185,614,16,19191],\n[M,613,10,19146,613,16,19152],\n[M,623,9,19405,623,34,19430],\n[M,624,9,19441,624,45,19477],\n[M,625,9,19488,625,48,19527],\n[M,625,29,19508,625,43,19522],\n[M,626,9,19538,626,54,19583],\n[M,626,32,19561,626,49,19578],\n[M,627,9,19594,627,60,19645],\n[M,627,35,19620,627,55,19640],\n[M,628,9,19656,628,66,19713],\n[M,628,38,19685,628,61,19708],\n[M,633,9,19771,633,34,19796],\n[M,634,9,19807,634,42,19840],\n[M,634,17,19815,634,38,19836],\n[M,635,9,19851,635,52,19894],\n[M,635,20,19862,635,41,19883],\n[M,635,20,19862,635,48,19890],\n[M,636,9,19905,636,62,19958],\n[M,636,23,19919,636,44,19940],\n[M,636,23,19919,636,51,19947],\n[M,636,23,19919,636,58,19954],\n[M,637,9,19969,637,72,20032],\n[M,637,26,19986,637,47,20007],\n[M,637,26,19986,637,54,20014],\n[M,637,26,19986,637,61,20021],\n[M,637,26,19986,637,68,20028],\n[M,638,9,20043,638,82,20116],\n[M,638,29,20063,638,50,20084],\n[M,638,29,20063,638,57,20091],\n[M,638,29,20063,638,64,20098],\n[M,638,29,20063,638,71,20105],\n[M,638,29,20063,638,78,20112],\n[\"dummy location\"],\n[M,3,0,21,646,20,20271]];\nvar random3 = R.getModuleField(\"builtin://global\",\"values\",\"random\");\nvar num$floor1 = R.getModuleField(\"builtin://global\",\"values\",\"num-floor\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$abs2 = R.getModuleField(\"builtin://global\",\"values\",\"num-abs\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar num$ceiling11 = R.getModuleField(\"builtin://global\",\"values\",\"num-ceiling\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _greaterequal2 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterequal\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar raw$array$fold3 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-fold\");\nvar _lessequal4 = R.getModuleField(\"builtin://global\",\"values\",\"_lessequal\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar equality12 = $equality26;\nvar $underscore_import13 = $$underscore_import5;\nvar $included$214 = $$included$225;\nvar $included$115 = $$included$127;\nvar VS16 = $VS8;\nvar $cases_dispatch1786 = {\"list-set\":2,\n\"tree-set\":3};\nvar $cases_dispatch1539 = {\"leaf\":2,\n\"branch\":3};\nvar $cases_dispatch1265 = {\"empty\":2,\n\"link\":3};\nvar $cases_dispatch1261 = {\"empty\":2,\n\"link\":4};\nvar $cases_dispatch1245 = {\"empty\":6,\n\"link\":7};\nvar $cases_dispatch1138 = {\"leaf\":2,\n\"branch\":3};\nvar $cases_dispatch1116 = {\"leaf\":2,\n\"branch\":3};\nvar empty4 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar is$empty5 = R.getModuleField(\"builtin://lists\",\"values\",\"is-empty\");\nvar fold6 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar List7 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar link8 = R.getModuleField(\"builtin://lists\",\"values\",\"link\");\nvar pick$none9 = R.getModuleField(\"builtin://pick\",\"values\",\"pick-none\");\nvar pick$some10 = R.getModuleField(\"builtin://pick\",\"values\",\"pick-some\");\nvar member$with11 = R.getModuleField(\"builtin://lists\",\"values\",\"member-with\");\nvar $toplevel20 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__707($$resumer13) {\nvar $step19 = 0;\nvar $elidedFrames28 = 0;\nvar $ans25 = D;\nvar $al26 = L[707];\nif(R.isAR($$resumer13)) {\n$step19 = $$resumer13.step;\n$al26 = $$resumer13.from;\n$ans25 = $$resumer13.ans;\n$elidedFrames28 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$leaf805 = $$resumer13.vars[0];\nis$Set1180 = $$resumer13.vars[1];\nempty$list$set2214 = $$resumer13.vars[2];\ntree$all834 = $$resumer13.vars[3];\nis$list$set1764 = $$resumer13.vars[4];\nis$tree$set1767 = $$resumer13.vars[5];\nmakeSet42190 = $$resumer13.vars[6];\nis$branch808 = $$resumer13.vars[7];\nbranch810 = $$resumer13.vars[8];\nempty$set2354 = $$resumer13.vars[9];\nany2355 = $$resumer13.vars[10];\ntree$fold823 = $$resumer13.vars[11];\nlist$to$tree2097 = $$resumer13.vars[12];\nmakeSet32172 = $$resumer13.vars[13];\nfold2351 = $$resumer13.vars[14];\nrebalance328 = $$resumer13.vars[15];\ntree$any845 = $$resumer13.vars[16];\nset$to$sorted$elems1790 = $$resumer13.vars[17];\nmkbranch97 = $$resumer13.vars[18];\nlist$to$tree$set2076 = $$resumer13.vars[19];\narr$to$tree$set2143 = $$resumer13.vars[20];\nset$any1986 = $$resumer13.vars[21];\ntree$set$difference1662 = $$resumer13.vars[22];\nall2352 = $$resumer13.vars[23];\nleaf98 = $$resumer13.vars[24];\nset2353 = $$resumer13.vars[25];\nlist$to$list$set2058 = $$resumer13.vars[26];\nis$AVLTree52 = $$resumer13.vars[27];\nSet1166 = $$resumer13.vars[28];\nmerge$drop$l21929 = $$resumer13.vars[29];\nset$fold1998 = $$resumer13.vars[30];\nmerge$no$dups1837 = $$resumer13.vars[31];\ntree$set$union1629 = $$resumer13.vars[32];\nAVLTree105 = $$resumer13.vars[33];\nmakeSet22159 = $$resumer13.vars[34];\nmakeSet52207 = $$resumer13.vars[35];\nlist$set2346 = $$resumer13.vars[36];\nlist$to$set2356 = $$resumer13.vars[37];\nanswer2349 = $$resumer13.vars[38];\ntree$set2348 = $$resumer13.vars[39];\narr$to$list$set2119 = $$resumer13.vars[40];\nset$all1974 = $$resumer13.vars[41];\ntree$set$intersect1640 = $$resumer13.vars[42];\nelems$to$balanced$avl1825 = $$resumer13.vars[43];\nremove$root361 = $$resumer13.vars[44];\nswap$next$lowest1088 = $$resumer13.vars[45];\nmerge$only$dups1879 = $$resumer13.vars[46];\nempty$tree$set2278 = $$resumer13.vars[47];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans25 = R.mC();\n}\nwhile(!R.isContinuation($ans25)) {\nswitch($step19) {\ncase 0: var AVLTree29 = R.nB(\"AVLTree\",L[200]);\nvar AVLTree105 = R.mBA(AVLTree29,\"AVLTree\");\nvar Set30 = R.nB(\"Set\",L[530]);\nvar Set1166 = R.mBA(Set30,\"Set\");\nvar AVLTree802 = {\"$var\":D};\nvar is$AVLTree52 = {\"$var\":D};\nvar is$leaf805 = {\"$var\":D};\nvar leaf98 = {\"$var\":D};\nvar is$branch808 = {\"$var\":D};\nvar branch810 = {\"$var\":D};\nvar tree$fold823 = {\"$var\":D};\nvar tree$all834 = {\"$var\":D};\nvar tree$any845 = {\"$var\":D};\nvar mkbranch97 = {\"$var\":D};\nvar rebalance328 = {\"$var\":D};\nvar remove$root361 = {\"$var\":D};\nvar swap$next$lowest1088 = {\"$var\":D};\nvar Set1761 = {\"$var\":D};\nvar is$Set1180 = {\"$var\":D};\nvar is$list$set1764 = {\"$var\":D};\nvar list$set1225 = {\"$var\":D};\nvar is$tree$set1767 = {\"$var\":D};\nvar tree$set1529 = {\"$var\":D};\nvar set$to$sorted$elems1790 = {\"$var\":D};\nvar elems$to$balanced$avl1825 = {\"$var\":D};\nvar merge$no$dups1837 = {\"$var\":D};\nvar tree$set$union1629 = {\"$var\":D};\nvar merge$only$dups1879 = {\"$var\":D};\nvar tree$set$intersect1640 = {\"$var\":D};\nvar merge$drop$l21929 = {\"$var\":D};\nvar tree$set$difference1662 = {\"$var\":D};\nvar set$all1974 = {\"$var\":D};\nvar set$any1986 = {\"$var\":D};\nvar set$fold1998 = {\"$var\":D};\nvar list$to$set2021 = {\"$var\":D};\nvar list$to$list$set2058 = {\"$var\":D};\nvar list$to$tree$set2076 = {\"$var\":D};\nvar list$to$tree2097 = {\"$var\":D};\nvar arr$to$list$set2119 = {\"$var\":D};\nvar arr$to$tree$set2143 = {\"$var\":D};\nvar $temp_full32 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__0($self33) {\nvar $step31 = 0;\nvar $elidedFrames38 = 0;\nvar $ans35 = D;\nvar $al36 = L[0];\nif(R.isAR($self33)) {\n$step31 = $self33.step;\n$al36 = $self33.from;\n$ans35 = $self33.ans;\n$elidedFrames38 = $self33.elidedFrames;\nself33 = $self33.args[0];\nann_check_temp39 = $self33.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,true);\n}\nvar self33 = $self33;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans35 = R.mC();\n}\nwhile(!R.isContinuation($ans35)) {\nswitch($step31) {\ncase 0: $step31 = 1;\n$ans35 = R.maybeMethodCall0(self33,\"inorder\",L[1]);\nbreak;\ncase 1: var ann_check_temp39 = $ans35;\n$step31 = 2;\n$al36 = L[2];\nvar $ann$check40 = R._cA(L[2],List7,ann_check_temp39);\nif(R.isContinuation($ann$check40)) {\n$ans35 = $ann$check40;\n}\nbreak;\ncase 2: $step31 = 3;\n$ans35 = ann_check_temp39;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans35;\ndefault: R.ffi.throwSpinnakerError(L[0],$step31);\n}\n}\nif($step31 !== 3) {\n$ans35.stack[R.EXN_STACKHEIGHT++] = R.mAR($al36,$temp_full32,$step31,[self33],[ann_check_temp39],$elidedFrames38);\n}\nreturn $ans35;\n};\nvar anf_shared746 = R.makeMethod0($temp_full32,\"to-list\");\nvar $temp_full43 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__3($self44,$other45,$eq46) {\nvar $step42 = 0;\nvar $elidedFrames51 = 0;\nvar $ans48 = D;\nvar $al49 = L[3];\nif(R.isAR($self44)) {\n$step42 = $self44.step;\n$al49 = $self44.from;\n$ans48 = $self44.ans;\n$elidedFrames51 = $self44.elidedFrames;\nself44 = $self44.args[0];\nother45 = $self44.args[1];\neq46 = $self44.args[2];\nanf_arg62 = $self44.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],3,$t,true);\n}\nvar self44 = $self44;\nvar other45 = $other45;\nvar eq46 = $eq46;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans48 = R.mC();\n}\nwhile(!R.isContinuation($ans48)) {\nswitch($step42) {\ncase 0: var anf_fun53 = is$AVLTree52.$var === D?U(L[4],\"is-AVLTree\"):is$AVLTree52.$var;\n$step42 = 1;\n$al49 = L[10];\nif(typeof(anf_fun53.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,anf_fun53);\n}\n$ans48 = anf_fun53.app(other45);\nbreak;\ncase 1: var anf_arg61 = $ans48;\n$step42 = 2;\n$al49 = L[9];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,not5);\n}\n$ans48 = not5.app(anf_arg61);\nbreak;\ncase 2: var anf_if64 = $ans48;\n$step42 = R.checkPyretTrue(anf_if64)?3:4;\nbreak;\ncase 3: $step42 = 7;\n$al49 = L[5];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans48 = equality12.dict.values.dict[\"NotEqual\"].app((\"Non-AVLTree\"),self44,other45);\nbreak;\ncase 4: $step42 = 5;\n$ans48 = R.maybeMethodCall0(self44,\"inorder\",L[6]);\nbreak;\ncase 5: var anf_arg62 = $ans48;\n$step42 = 6;\n$ans48 = R.maybeMethodCall0(other45,\"inorder\",L[7]);\nbreak;\ncase 6: var anf_arg63 = $ans48;\n$step42 = 7;\n$al49 = L[8];\nif(typeof(eq46.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,eq46);\n}\n$ans48 = eq46.app(anf_arg62,anf_arg63);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans48;\ndefault: R.ffi.throwSpinnakerError(L[3],$step42);\n}\n}\nif($step42 !== 7) {\n$ans48.stack[R.EXN_STACKHEIGHT++] = R.mAR($al49,$temp_full43,$step42,[self44,other45,eq46],[anf_arg62],$elidedFrames51);\n}\nreturn $ans48;\n};\nvar anf_shared747 = R.makeMethod2($temp_full43,\"_equals\");\nvar $temp_full68 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__11($self69) {\nvar $step67 = 0;\nvar $elidedFrames73 = 0;\nvar $ans70 = D;\nvar $al71 = L[11];\nif(R.isAR($self69)) {\n$step67 = $self69.step;\n$al71 = $self69.from;\n$ans70 = $self69.ans;\n$elidedFrames73 = $self69.elidedFrames;\nself69 = $self69.args[0];\nann_check_temp74 = $self69.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],1,$t,true);\n}\nvar self69 = $self69;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans70 = R.mC();\n}\nwhile(!R.isContinuation($ans70)) {\nswitch($step67) {\ncase 0: var ann_check_temp74 = (0);\n$step67 = 1;\n$al71 = L[12];\nvar $ann$check75 = R._cA(L[12],$type$Number3,ann_check_temp74);\nif(R.isContinuation($ann$check75)) {\n$ans70 = $ann$check75;\n}\nbreak;\ncase 1: $step67 = 2;\n$ans70 = ann_check_temp74;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans70;\ndefault: R.ffi.throwSpinnakerError(L[11],$step67);\n}\n}\nif($step67 !== 2) {\n$ans70.stack[R.EXN_STACKHEIGHT++] = R.mAR($al71,$temp_full68,$step67,[self69],[ann_check_temp74],$elidedFrames73);\n}\nreturn $ans70;\n};\nvar anf_singleton_variant_member751 = R.makeMethod0($temp_full68,\"height\");\nvar $temp_full79 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__13($self442,$val80) {\nvar $step78 = 0;\nvar $elidedFrames85 = 0;\nvar $ans82 = D;\nvar $al83 = L[13];\nif(R.isAR($self442)) {\n$step78 = $self442.step;\n$al83 = $self442.from;\n$ans82 = $self442.ans;\n$elidedFrames85 = $self442.elidedFrames;\nself442 = $self442.args[0];\nval80 = $self442.args[1];\nann_check_temp86 = $self442.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],2,$t,true);\n}\nvar self442 = $self442;\nvar val80 = $val80;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans82 = R.mC();\n}\nwhile(!R.isContinuation($ans82)) {\nswitch($step78) {\ncase 0: var ann_check_temp86 = (false);\n$step78 = 1;\n$al83 = L[14];\nvar $ann$check87 = R._cA(L[14],$type$Boolean6,ann_check_temp86);\nif(R.isContinuation($ann$check87)) {\n$ans82 = $ann$check87;\n}\nbreak;\ncase 1: $step78 = 2;\n$ans82 = ann_check_temp86;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans82;\ndefault: R.ffi.throwSpinnakerError(L[13],$step78);\n}\n}\nif($step78 !== 2) {\n$ans82.stack[R.EXN_STACKHEIGHT++] = R.mAR($al83,$temp_full79,$step78,[self442,val80],[ann_check_temp86],$elidedFrames85);\n}\nreturn $ans82;\n};\nvar anf_singleton_variant_member752 = R.makeMethod1($temp_full79,\"contains\");\nvar $temp_full90 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__15($self91,$val92) {\nvar $step89 = 0;\nvar $elidedFrames96 = 0;\nvar $ans93 = D;\nvar $al94 = L[15];\nif(R.isAR($self91)) {\n$step89 = $self91.step;\n$al94 = $self91.from;\n$ans93 = $self91.ans;\n$elidedFrames96 = $self91.elidedFrames;\nself91 = $self91.args[0];\nval92 = $self91.args[1];\nann_check_temp104 = $self91.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],2,$t,true);\n}\nvar self91 = $self91;\nvar val92 = $val92;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans93 = R.mC();\n}\nwhile(!R.isContinuation($ans93)) {\nswitch($step89) {\ncase 0: var anf_fun100 = mkbranch97.$var === D?U(L[16],\"mkbranch\"):mkbranch97.$var;\nvar anf_arg102 = leaf98.$var === D?U(L[17],\"leaf\"):leaf98.$var;\nvar anf_arg103 = leaf98.$var === D?U(L[18],\"leaf\"):leaf98.$var;\n$step89 = 1;\n$al94 = L[20];\nif(typeof(anf_fun100.app) !== \"function\") {\nR.ffi.throwNonFunApp($al94,anf_fun100);\n}\n$ans93 = anf_fun100.app(val92,anf_arg102,anf_arg103);\nbreak;\ncase 1: var ann_check_temp104 = $ans93;\n$step89 = 2;\n$al94 = L[19];\nvar $ann$check106 = R._cA(L[19],AVLTree105,ann_check_temp104);\nif(R.isContinuation($ann$check106)) {\n$ans93 = $ann$check106;\n}\nbreak;\ncase 2: $step89 = 3;\n$ans93 = ann_check_temp104;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans93;\ndefault: R.ffi.throwSpinnakerError(L[15],$step89);\n}\n}\nif($step89 !== 3) {\n$ans93.stack[R.EXN_STACKHEIGHT++] = R.mAR($al94,$temp_full90,$step89,[self91,val92],[ann_check_temp104],$elidedFrames96);\n}\nreturn $ans93;\n};\nvar anf_singleton_variant_member753 = R.makeMethod1($temp_full90,\"insert\");\nvar $temp_full110 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__21($self457,$val111) {\nvar $step109 = 0;\nvar $elidedFrames115 = 0;\nvar $ans112 = D;\nvar $al113 = L[21];\nif(R.isAR($self457)) {\n$step109 = $self457.step;\n$al113 = $self457.from;\n$ans112 = $self457.ans;\n$elidedFrames115 = $self457.elidedFrames;\nself457 = $self457.args[0];\nval111 = $self457.args[1];\nann_check_temp116 = $self457.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[21],2,$t,true);\n}\nvar self457 = $self457;\nvar val111 = $val111;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans112 = R.mC();\n}\nwhile(!R.isContinuation($ans112)) {\nswitch($step109) {\ncase 0: var ann_check_temp116 = leaf98.$var === D?U(L[22],\"leaf\"):leaf98.$var;\n$step109 = 1;\n$al113 = L[23];\nvar $ann$check117 = R._cA(L[23],AVLTree105,ann_check_temp116);\nif(R.isContinuation($ann$check117)) {\n$ans112 = $ann$check117;\n}\nbreak;\ncase 1: $step109 = 2;\n$ans112 = ann_check_temp116;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans112;\ndefault: R.ffi.throwSpinnakerError(L[21],$step109);\n}\n}\nif($step109 !== 2) {\n$ans112.stack[R.EXN_STACKHEIGHT++] = R.mAR($al113,$temp_full110,$step109,[self457,val111],[ann_check_temp116],$elidedFrames115);\n}\nreturn $ans112;\n};\nvar anf_singleton_variant_member754 = R.makeMethod1($temp_full110,\"remove\");\nvar $temp_full121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__24($self122) {\nvar $step120 = 0;\nvar $elidedFrames127 = 0;\nvar $ans124 = D;\nvar $al125 = L[24];\nif(R.isAR($self122)) {\n$step120 = $self122.step;\n$al125 = $self122.from;\n$ans124 = $self122.ans;\n$elidedFrames127 = $self122.elidedFrames;\nself122 = $self122.args[0];\nann_check_temp128 = $self122.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],1,$t,true);\n}\nvar self122 = $self122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans124 = R.mC();\n}\nwhile(!R.isContinuation($ans124)) {\nswitch($step120) {\ncase 0: var ann_check_temp128 = empty4;\n$step120 = 1;\n$al125 = L[25];\nvar $ann$check129 = R._cA(L[25],List7,ann_check_temp128);\nif(R.isContinuation($ann$check129)) {\n$ans124 = $ann$check129;\n}\nbreak;\ncase 1: $step120 = 2;\n$ans124 = ann_check_temp128;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans124;\ndefault: R.ffi.throwSpinnakerError(L[24],$step120);\n}\n}\nif($step120 !== 2) {\n$ans124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al125,$temp_full121,$step120,[self122],[ann_check_temp128],$elidedFrames127);\n}\nreturn $ans124;\n};\nvar anf_singleton_variant_member755 = R.makeMethod0($temp_full121,\"preorder\");\nvar $temp_full132 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__26($self476) {\nvar $step131 = 0;\nvar $elidedFrames137 = 0;\nvar $ans134 = D;\nvar $al135 = L[26];\nif(R.isAR($self476)) {\n$step131 = $self476.step;\n$al135 = $self476.from;\n$ans134 = $self476.ans;\n$elidedFrames137 = $self476.elidedFrames;\nself476 = $self476.args[0];\nann_check_temp138 = $self476.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[26],1,$t,true);\n}\nvar self476 = $self476;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans134 = R.mC();\n}\nwhile(!R.isContinuation($ans134)) {\nswitch($step131) {\ncase 0: var ann_check_temp138 = empty4;\n$step131 = 1;\n$al135 = L[27];\nvar $ann$check139 = R._cA(L[27],List7,ann_check_temp138);\nif(R.isContinuation($ann$check139)) {\n$ans134 = $ann$check139;\n}\nbreak;\ncase 1: $step131 = 2;\n$ans134 = ann_check_temp138;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans134;\ndefault: R.ffi.throwSpinnakerError(L[26],$step131);\n}\n}\nif($step131 !== 2) {\n$ans134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al135,$temp_full132,$step131,[self476],[ann_check_temp138],$elidedFrames137);\n}\nreturn $ans134;\n};\nvar anf_singleton_variant_member756 = R.makeMethod0($temp_full132,\"inorder\");\nvar $temp_full145 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__28($self146) {\nvar $step144 = 0;\nvar $elidedFrames151 = 0;\nvar $ans148 = D;\nvar $al149 = L[28];\nif(R.isAR($self146)) {\n$step144 = $self146.step;\n$al149 = $self146.from;\n$ans148 = $self146.ans;\n$elidedFrames151 = $self146.elidedFrames;\nself146 = $self146.args[0];\nann_check_temp153 = $self146.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[28],1,$t,true);\n}\nvar self146 = $self146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans148 = R.mC();\n}\nwhile(!R.isContinuation($ans148)) {\nswitch($step144) {\ncase 0: var ann_check_temp153 = empty4;\n$step144 = 1;\n$al149 = L[29];\nvar $ann$check154 = R._cA(L[29],List7,ann_check_temp153);\nif(R.isContinuation($ann$check154)) {\n$ans148 = $ann$check154;\n}\nbreak;\ncase 1: $step144 = 2;\n$ans148 = ann_check_temp153;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans148;\ndefault: R.ffi.throwSpinnakerError(L[28],$step144);\n}\n}\nif($step144 !== 2) {\n$ans148.stack[R.EXN_STACKHEIGHT++] = R.mAR($al149,$temp_full145,$step144,[self146],[ann_check_temp153],$elidedFrames151);\n}\nreturn $ans148;\n};\nvar anf_singleton_variant_member757 = R.makeMethod0($temp_full145,\"postorder\");\nvar $temp_full158 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__30($self503) {\nvar $step157 = 0;\nvar $elidedFrames163 = 0;\nvar $ans160 = D;\nvar $al161 = L[30];\nif(R.isAR($self503)) {\n$step157 = $self503.step;\n$al161 = $self503.from;\n$ans160 = $self503.ans;\n$elidedFrames163 = $self503.elidedFrames;\nself503 = $self503.args[0];\nann_check_temp164 = $self503.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],1,$t,true);\n}\nvar self503 = $self503;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans160 = R.mC();\n}\nwhile(!R.isContinuation($ans160)) {\nswitch($step157) {\ncase 0: var ann_check_temp164 = empty4;\n$step157 = 1;\n$al161 = L[31];\nvar $ann$check165 = R._cA(L[31],List7,ann_check_temp164);\nif(R.isContinuation($ann$check165)) {\n$ans160 = $ann$check165;\n}\nbreak;\ncase 1: $step157 = 2;\n$ans160 = ann_check_temp164;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans160;\ndefault: R.ffi.throwSpinnakerError(L[30],$step157);\n}\n}\nif($step157 !== 2) {\n$ans160.stack[R.EXN_STACKHEIGHT++] = R.mAR($al161,$temp_full158,$step157,[self503],[ann_check_temp164],$elidedFrames163);\n}\nreturn $ans160;\n};\nvar anf_singleton_variant_member758 = R.makeMethod0($temp_full158,\"revpreorder\");\nvar $temp_full168 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__32($self169) {\nvar $step167 = 0;\nvar $elidedFrames173 = 0;\nvar $ans170 = D;\nvar $al171 = L[32];\nif(R.isAR($self169)) {\n$step167 = $self169.step;\n$al171 = $self169.from;\n$ans170 = $self169.ans;\n$elidedFrames173 = $self169.elidedFrames;\nself169 = $self169.args[0];\nann_check_temp175 = $self169.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],1,$t,true);\n}\nvar self169 = $self169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans170 = R.mC();\n}\nwhile(!R.isContinuation($ans170)) {\nswitch($step167) {\ncase 0: var ann_check_temp175 = empty4;\n$step167 = 1;\n$al171 = L[33];\nvar $ann$check176 = R._cA(L[33],List7,ann_check_temp175);\nif(R.isContinuation($ann$check176)) {\n$ans170 = $ann$check176;\n}\nbreak;\ncase 1: $step167 = 2;\n$ans170 = ann_check_temp175;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans170;\ndefault: R.ffi.throwSpinnakerError(L[32],$step167);\n}\n}\nif($step167 !== 2) {\n$ans170.stack[R.EXN_STACKHEIGHT++] = R.mAR($al171,$temp_full168,$step167,[self169],[ann_check_temp175],$elidedFrames173);\n}\nreturn $ans170;\n};\nvar anf_singleton_variant_member759 = R.makeMethod0($temp_full168,\"revinorder\");\nvar $temp_full179 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__34($self528) {\nvar $step178 = 0;\nvar $elidedFrames183 = 0;\nvar $ans180 = D;\nvar $al181 = L[34];\nif(R.isAR($self528)) {\n$step178 = $self528.step;\n$al181 = $self528.from;\n$ans180 = $self528.ans;\n$elidedFrames183 = $self528.elidedFrames;\nself528 = $self528.args[0];\nann_check_temp184 = $self528.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[34],1,$t,true);\n}\nvar self528 = $self528;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans180 = R.mC();\n}\nwhile(!R.isContinuation($ans180)) {\nswitch($step178) {\ncase 0: var ann_check_temp184 = empty4;\n$step178 = 1;\n$al181 = L[35];\nvar $ann$check185 = R._cA(L[35],List7,ann_check_temp184);\nif(R.isContinuation($ann$check185)) {\n$ans180 = $ann$check185;\n}\nbreak;\ncase 1: $step178 = 2;\n$ans180 = ann_check_temp184;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans180;\ndefault: R.ffi.throwSpinnakerError(L[34],$step178);\n}\n}\nif($step178 !== 2) {\n$ans180.stack[R.EXN_STACKHEIGHT++] = R.mAR($al181,$temp_full179,$step178,[self528],[ann_check_temp184],$elidedFrames183);\n}\nreturn $ans180;\n};\nvar anf_singleton_variant_member760 = R.makeMethod0($temp_full179,\"revpostorder\");\nvar $temp_full188 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__36($self189,$f190,$base191) {\nvar $step187 = 0;\nvar $elidedFrames195 = 0;\nvar $ans192 = D;\nvar $al193 = L[36];\nif(R.isAR($self189)) {\n$step187 = $self189.step;\n$al193 = $self189.from;\n$ans192 = $self189.ans;\n$elidedFrames195 = $self189.elidedFrames;\nself189 = $self189.args[0];\nf190 = $self189.args[1];\nbase191 = $self189.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[36],3,$t,true);\n}\nvar self189 = $self189;\nvar f190 = $f190;\nvar base191 = $base191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans192 = R.mC();\n}\nwhile(!R.isContinuation($ans192)) {\nswitch($step187) {\ncase 0: $step187 = 1;\n$ans192 = base191;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans192;\ndefault: R.ffi.throwSpinnakerError(L[36],$step187);\n}\n}\nif($step187 !== 1) {\n$ans192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al193,$temp_full188,$step187,[self189,f190,base191],[],$elidedFrames195);\n}\nreturn $ans192;\n};\nvar anf_singleton_variant_member761 = R.makeMethod2($temp_full188,\"fold-preorder\");\nvar $temp_full199 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__37($self200,$f201,$base202) {\nvar $step198 = 0;\nvar $elidedFrames206 = 0;\nvar $ans203 = D;\nvar $al204 = L[37];\nif(R.isAR($self200)) {\n$step198 = $self200.step;\n$al204 = $self200.from;\n$ans203 = $self200.ans;\n$elidedFrames206 = $self200.elidedFrames;\nself200 = $self200.args[0];\nf201 = $self200.args[1];\nbase202 = $self200.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],3,$t,true);\n}\nvar self200 = $self200;\nvar f201 = $f201;\nvar base202 = $base202;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans203 = R.mC();\n}\nwhile(!R.isContinuation($ans203)) {\nswitch($step198) {\ncase 0: $step198 = 1;\n$ans203 = base202;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans203;\ndefault: R.ffi.throwSpinnakerError(L[37],$step198);\n}\n}\nif($step198 !== 1) {\n$ans203.stack[R.EXN_STACKHEIGHT++] = R.mAR($al204,$temp_full199,$step198,[self200,f201,base202],[],$elidedFrames206);\n}\nreturn $ans203;\n};\nvar anf_singleton_variant_member762 = R.makeMethod2($temp_full199,\"fold-inorder\");\nvar $temp_full209 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__38($self210,$f211,$base212) {\nvar $step208 = 0;\nvar $elidedFrames216 = 0;\nvar $ans213 = D;\nvar $al214 = L[38];\nif(R.isAR($self210)) {\n$step208 = $self210.step;\n$al214 = $self210.from;\n$ans213 = $self210.ans;\n$elidedFrames216 = $self210.elidedFrames;\nself210 = $self210.args[0];\nf211 = $self210.args[1];\nbase212 = $self210.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],3,$t,true);\n}\nvar self210 = $self210;\nvar f211 = $f211;\nvar base212 = $base212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans213 = R.mC();\n}\nwhile(!R.isContinuation($ans213)) {\nswitch($step208) {\ncase 0: $step208 = 1;\n$ans213 = base212;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans213;\ndefault: R.ffi.throwSpinnakerError(L[38],$step208);\n}\n}\nif($step208 !== 1) {\n$ans213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al214,$temp_full209,$step208,[self210,f211,base212],[],$elidedFrames216);\n}\nreturn $ans213;\n};\nvar anf_singleton_variant_member763 = R.makeMethod2($temp_full209,\"fold-postorder\");\nvar $temp_full219 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__39($self220,$f221,$base222) {\nvar $step218 = 0;\nvar $elidedFrames228 = 0;\nvar $ans225 = D;\nvar $al226 = L[39];\nif(R.isAR($self220)) {\n$step218 = $self220.step;\n$al226 = $self220.from;\n$ans225 = $self220.ans;\n$elidedFrames228 = $self220.elidedFrames;\nself220 = $self220.args[0];\nf221 = $self220.args[1];\nbase222 = $self220.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],3,$t,true);\n}\nvar self220 = $self220;\nvar f221 = $f221;\nvar base222 = $base222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans225 = R.mC();\n}\nwhile(!R.isContinuation($ans225)) {\nswitch($step218) {\ncase 0: $step218 = 1;\n$ans225 = base222;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans225;\ndefault: R.ffi.throwSpinnakerError(L[39],$step218);\n}\n}\nif($step218 !== 1) {\n$ans225.stack[R.EXN_STACKHEIGHT++] = R.mAR($al226,$temp_full219,$step218,[self220,f221,base222],[],$elidedFrames228);\n}\nreturn $ans225;\n};\nvar anf_singleton_variant_member764 = R.makeMethod2($temp_full219,\"fold-revpreorder\");\nvar $temp_full231 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__40($self232,$f233,$base234) {\nvar $step230 = 0;\nvar $elidedFrames239 = 0;\nvar $ans236 = D;\nvar $al237 = L[40];\nif(R.isAR($self232)) {\n$step230 = $self232.step;\n$al237 = $self232.from;\n$ans236 = $self232.ans;\n$elidedFrames239 = $self232.elidedFrames;\nself232 = $self232.args[0];\nf233 = $self232.args[1];\nbase234 = $self232.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[40],3,$t,true);\n}\nvar self232 = $self232;\nvar f233 = $f233;\nvar base234 = $base234;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans236 = R.mC();\n}\nwhile(!R.isContinuation($ans236)) {\nswitch($step230) {\ncase 0: $step230 = 1;\n$ans236 = base234;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans236;\ndefault: R.ffi.throwSpinnakerError(L[40],$step230);\n}\n}\nif($step230 !== 1) {\n$ans236.stack[R.EXN_STACKHEIGHT++] = R.mAR($al237,$temp_full231,$step230,[self232,f233,base234],[],$elidedFrames239);\n}\nreturn $ans236;\n};\nvar anf_singleton_variant_member765 = R.makeMethod2($temp_full231,\"fold-revinorder\");\nvar $temp_full243 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__41($self244,$f245,$base246) {\nvar $step242 = 0;\nvar $elidedFrames250 = 0;\nvar $ans247 = D;\nvar $al248 = L[41];\nif(R.isAR($self244)) {\n$step242 = $self244.step;\n$al248 = $self244.from;\n$ans247 = $self244.ans;\n$elidedFrames250 = $self244.elidedFrames;\nself244 = $self244.args[0];\nf245 = $self244.args[1];\nbase246 = $self244.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],3,$t,true);\n}\nvar self244 = $self244;\nvar f245 = $f245;\nvar base246 = $base246;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans247 = R.mC();\n}\nwhile(!R.isContinuation($ans247)) {\nswitch($step242) {\ncase 0: $step242 = 1;\n$ans247 = base246;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans247;\ndefault: R.ffi.throwSpinnakerError(L[41],$step242);\n}\n}\nif($step242 !== 1) {\n$ans247.stack[R.EXN_STACKHEIGHT++] = R.mAR($al248,$temp_full243,$step242,[self244,f245,base246],[],$elidedFrames250);\n}\nreturn $ans247;\n};\nvar anf_singleton_variant_member766 = R.makeMethod2($temp_full243,\"fold-revpostorder\");\nvar $temp_full253 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__42($self254) {\nvar $step252 = 0;\nvar $elidedFrames258 = 0;\nvar $ans255 = D;\nvar $al256 = L[42];\nif(R.isAR($self254)) {\n$step252 = $self254.step;\n$al256 = $self254.from;\n$ans255 = $self254.ans;\n$elidedFrames258 = $self254.elidedFrames;\nself254 = $self254.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],1,$t,true);\n}\nvar self254 = $self254;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans255 = R.mC();\n}\nwhile(!R.isContinuation($ans255)) {\nswitch($step252) {\ncase 0: $step252 = 1;\n$ans255 = (0);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans255;\ndefault: R.ffi.throwSpinnakerError(L[42],$step252);\n}\n}\nif($step252 !== 1) {\n$ans255.stack[R.EXN_STACKHEIGHT++] = R.mAR($al256,$temp_full253,$step252,[self254],[],$elidedFrames258);\n}\nreturn $ans255;\n};\nvar anf_singleton_variant_member767 = R.makeMethod0($temp_full253,\"count\");\nvar $temp_full261 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__43($self262,$f263) {\nvar $step260 = 0;\nvar $elidedFrames267 = 0;\nvar $ans264 = D;\nvar $al265 = L[43];\nif(R.isAR($self262)) {\n$step260 = $self262.step;\n$al265 = $self262.from;\n$ans264 = $self262.ans;\n$elidedFrames267 = $self262.elidedFrames;\nself262 = $self262.args[0];\nf263 = $self262.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[43],2,$t,true);\n}\nvar self262 = $self262;\nvar f263 = $f263;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans264 = R.mC();\n}\nwhile(!R.isContinuation($ans264)) {\nswitch($step260) {\ncase 0: $step260 = 1;\n$ans264 = (true);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans264;\ndefault: R.ffi.throwSpinnakerError(L[43],$step260);\n}\n}\nif($step260 !== 1) {\n$ans264.stack[R.EXN_STACKHEIGHT++] = R.mAR($al265,$temp_full261,$step260,[self262,f263],[],$elidedFrames267);\n}\nreturn $ans264;\n};\nvar anf_singleton_variant_member768 = R.makeMethod1($temp_full261,\"all\");\nvar $temp_full270 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__44($self271,$f272) {\nvar $step269 = 0;\nvar $elidedFrames276 = 0;\nvar $ans273 = D;\nvar $al274 = L[44];\nif(R.isAR($self271)) {\n$step269 = $self271.step;\n$al274 = $self271.from;\n$ans273 = $self271.ans;\n$elidedFrames276 = $self271.elidedFrames;\nself271 = $self271.args[0];\nf272 = $self271.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],2,$t,true);\n}\nvar self271 = $self271;\nvar f272 = $f272;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans273 = R.mC();\n}\nwhile(!R.isContinuation($ans273)) {\nswitch($step269) {\ncase 0: $step269 = 1;\n$ans273 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans273;\ndefault: R.ffi.throwSpinnakerError(L[44],$step269);\n}\n}\nif($step269 !== 1) {\n$ans273.stack[R.EXN_STACKHEIGHT++] = R.mAR($al274,$temp_full270,$step269,[self271,f272],[],$elidedFrames276);\n}\nreturn $ans273;\n};\nvar anf_singleton_variant_member769 = R.makeMethod1($temp_full270,\"any\");\nvar $temp_full280 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__45($self118) {\nvar $step279 = 0;\nvar $elidedFrames284 = 0;\nvar $ans281 = D;\nvar $al282 = L[45];\nif(R.isAR($self118)) {\n$step279 = $self118.step;\n$al282 = $self118.from;\n$ans281 = $self118.ans;\n$elidedFrames284 = $self118.elidedFrames;\nself118 = $self118.args[0];\nann_check_temp285 = $self118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[45],1,$t,true);\n}\nvar self118 = $self118;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans281 = R.mC();\n}\nwhile(!R.isContinuation($ans281)) {\nswitch($step279) {\ncase 0: $al282 = L[46];\nvar ann_check_temp285 = G(self118,\"h\",L[46]);\n$step279 = 1;\n$al282 = L[47];\nvar $ann$check286 = R._cA(L[47],$type$Number3,ann_check_temp285);\nif(R.isContinuation($ann$check286)) {\n$ans281 = $ann$check286;\n}\nbreak;\ncase 1: $step279 = 2;\n$ans281 = ann_check_temp285;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans281;\ndefault: R.ffi.throwSpinnakerError(L[45],$step279);\n}\n}\nif($step279 !== 2) {\n$ans281.stack[R.EXN_STACKHEIGHT++] = R.mAR($al282,$temp_full280,$step279,[self118],[ann_check_temp285],$elidedFrames284);\n}\nreturn $ans281;\n};\nvar anf_variant_member775 = R.makeMethod0($temp_full280,\"height\");\nvar $temp_full291 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__48($self292,$val293) {\nvar $step290 = 0;\nvar $elidedFrames299 = 0;\nvar $ans296 = D;\nvar $al297 = L[48];\nif(R.isAR($self292)) {\n$step290 = $self292.step;\n$al297 = $self292.from;\n$ans296 = $self292.ans;\n$elidedFrames299 = $self292.elidedFrames;\nself292 = $self292.args[0];\nval293 = $self292.args[1];\nann_check_temp302 = $self292.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],2,$t,true);\n}\nvar self292 = $self292;\nvar val293 = $val293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans296 = R.mC();\n}\nwhile(!R.isContinuation($ans296)) {\nswitch($step290) {\ncase 0: $al297 = L[49];\nvar anf_arg301 = G(self292,\"value\",L[49]);\n$step290 = 1;\n$al297 = L[57];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al297,equal$always1);\n}\n$ans296 = equal$always1.app(val293,anf_arg301);\nbreak;\ncase 1: var anf_if308 = $ans296;\n$step290 = R.checkPyretTrue(anf_if308)?2:3;\nbreak;\ncase 2: $step290 = 7;\n$ans296 = (true);\nbreak;\ncase 3: $al297 = L[51];\nvar anf_arg304 = G(self292,\"value\",L[51]);\n$step290 = 4;\n$al297 = L[56];\n// omitting isFunction check;\n$ans296 = _lessthan3.app(val293,anf_arg304);\nbreak;\ncase 4: var anf_if307 = $ans296;\n$step290 = R.checkPyretTrue(anf_if307)?5:6;\nbreak;\ncase 5: $al297 = L[52];\nvar anf_method_obj305 = G(self292,\"left\",L[52]);\n$step290 = 7;\n$ans296 = R.maybeMethodCall1(anf_method_obj305,\"contains\",L[53],val293);\nbreak;\ncase 6: $al297 = L[54];\nvar anf_method_obj306 = G(self292,\"right\",L[54]);\n$step290 = 7;\n$ans296 = R.maybeMethodCall1(anf_method_obj306,\"contains\",L[55],val293);\nbreak;\ncase 7: var ann_check_temp302 = $ans296;\n$step290 = 8;\n$al297 = L[50];\nvar $ann$check303 = R._cA(L[50],$type$Boolean6,ann_check_temp302);\nif(R.isContinuation($ann$check303)) {\n$ans296 = $ann$check303;\n}\nbreak;\ncase 8: $step290 = 9;\n$ans296 = ann_check_temp302;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans296;\ndefault: R.ffi.throwSpinnakerError(L[48],$step290);\n}\n}\nif($step290 !== 9) {\n$ans296.stack[R.EXN_STACKHEIGHT++] = R.mAR($al297,$temp_full291,$step290,[self292,val293],[ann_check_temp302],$elidedFrames299);\n}\nreturn $ans296;\n};\nvar anf_variant_member776 = R.makeMethod1($temp_full291,\"contains\");\nvar $temp_full311 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__58($self312,$val313) {\nvar $step310 = 0;\nvar $elidedFrames318 = 0;\nvar $ans315 = D;\nvar $al316 = L[58];\nif(R.isAR($self312)) {\n$step310 = $self312.step;\n$al316 = $self312.from;\n$ans315 = $self312.ans;\n$elidedFrames318 = $self312.elidedFrames;\nself312 = $self312.args[0];\nval313 = $self312.args[1];\nann_check_temp320 = $self312.vars[0];\nanf_arg341 = $self312.vars[1];\nanf_arg331 = $self312.vars[2];\nanf_arg342 = $self312.vars[3];\nanf_fun330 = $self312.vars[4];\nanf_fun344 = $self312.vars[5];\nanf_fun334 = $self312.vars[6];\nanf_fun338 = $self312.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[58],2,$t,true);\n}\nvar self312 = $self312;\nvar val313 = $val313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans315 = R.mC();\n}\nwhile(!R.isContinuation($ans315)) {\nswitch($step310) {\ncase 0: $al316 = L[59];\nvar anf_arg319 = G(self312,\"value\",L[59]);\n$step310 = 1;\n$al316 = L[83];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,equal$always1);\n}\n$ans315 = equal$always1.app(val313,anf_arg319);\nbreak;\ncase 1: var anf_if347 = $ans315;\n$step310 = R.checkPyretTrue(anf_if347)?2:3;\nbreak;\ncase 2: var anf_fun322 = mkbranch97.$var === D?U(L[61],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[62];\nvar anf_arg323 = G(self312,\"left\",L[62]);\n$al316 = L[63];\nvar anf_arg326 = G(self312,\"right\",L[63]);\n$step310 = 11;\n$al316 = L[64];\nif(typeof(anf_fun322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun322);\n}\n$ans315 = anf_fun322.app(val313,anf_arg323,anf_arg326);\nbreak;\ncase 3: $al316 = L[65];\nvar anf_arg327 = G(self312,\"value\",L[65]);\n$step310 = 4;\n$al316 = L[82];\n// omitting isFunction check;\n$ans315 = _lessthan3.app(val313,anf_arg327);\nbreak;\ncase 4: var anf_if346 = $ans315;\n$step310 = R.checkPyretTrue(anf_if346)?5:8;\nbreak;\ncase 5: var anf_fun334 = rebalance328.$var === D?U(L[66],\"rebalance\"):rebalance328.$var;\nvar anf_fun330 = mkbranch97.$var === D?U(L[67],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[68];\nvar anf_arg331 = G(self312,\"value\",L[68]);\n$al316 = L[69];\nvar anf_method_obj329 = G(self312,\"left\",L[69]);\n$step310 = 6;\n$ans315 = R.maybeMethodCall1(anf_method_obj329,\"insert\",L[70],val313);\nbreak;\ncase 6: var anf_arg332 = $ans315;\n$al316 = L[71];\nvar anf_arg333 = G(self312,\"right\",L[71]);\n$step310 = 7;\n$al316 = L[73];\nif(typeof(anf_fun330.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun330);\n}\n$ans315 = anf_fun330.app(anf_arg331,anf_arg332,anf_arg333);\nbreak;\ncase 7: var anf_arg335 = $ans315;\n$step310 = 11;\n$al316 = L[72];\nif(typeof(anf_fun334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun334);\n}\n$ans315 = anf_fun334.app(anf_arg335);\nbreak;\ncase 8: var anf_fun344 = rebalance328.$var === D?U(L[74],\"rebalance\"):rebalance328.$var;\nvar anf_fun338 = mkbranch97.$var === D?U(L[75],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[76];\nvar anf_arg341 = G(self312,\"value\",L[76]);\n$al316 = L[77];\nvar anf_arg342 = G(self312,\"left\",L[77]);\n$al316 = L[78];\nvar anf_method_obj336 = G(self312,\"right\",L[78]);\n$step310 = 9;\n$ans315 = R.maybeMethodCall1(anf_method_obj336,\"insert\",L[79],val313);\nbreak;\ncase 9: var anf_arg343 = $ans315;\n$step310 = 10;\n$al316 = L[81];\nif(typeof(anf_fun338.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun338);\n}\n$ans315 = anf_fun338.app(anf_arg341,anf_arg342,anf_arg343);\nbreak;\ncase 10: var anf_arg345 = $ans315;\n$step310 = 11;\n$al316 = L[80];\nif(typeof(anf_fun344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun344);\n}\n$ans315 = anf_fun344.app(anf_arg345);\nbreak;\ncase 11: var ann_check_temp320 = $ans315;\n$step310 = 12;\n$al316 = L[60];\nvar $ann$check321 = R._cA(L[60],AVLTree105,ann_check_temp320);\nif(R.isContinuation($ann$check321)) {\n$ans315 = $ann$check321;\n}\nbreak;\ncase 12: $step310 = 13;\n$ans315 = ann_check_temp320;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans315;\ndefault: R.ffi.throwSpinnakerError(L[58],$step310);\n}\n}\nif($step310 !== 13) {\n$ans315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al316,$temp_full311,$step310,[self312,val313],[ann_check_temp320,anf_arg341,anf_arg331,anf_arg342,anf_fun330,anf_fun344,anf_fun334,anf_fun338],$elidedFrames318);\n}\nreturn $ans315;\n};\nvar anf_variant_member777 = R.makeMethod1($temp_full311,\"insert\");\nvar $temp_full350 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__84($self351,$val352) {\nvar $step349 = 0;\nvar $elidedFrames356 = 0;\nvar $ans353 = D;\nvar $al354 = L[84];\nif(R.isAR($self351)) {\n$step349 = $self351.step;\n$al354 = $self351.from;\n$ans353 = $self351.ans;\n$elidedFrames356 = $self351.elidedFrames;\nself351 = $self351.args[0];\nval352 = $self351.args[1];\nanf_arg376 = $self351.vars[0];\nanf_arg366 = $self351.vars[1];\nanf_arg377 = $self351.vars[2];\nann_check_temp359 = $self351.vars[3];\nanf_fun375 = $self351.vars[4];\nanf_fun365 = $self351.vars[5];\nanf_fun379 = $self351.vars[6];\nanf_fun369 = $self351.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],2,$t,true);\n}\nvar self351 = $self351;\nvar val352 = $val352;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans353 = R.mC();\n}\nwhile(!R.isContinuation($ans353)) {\nswitch($step349) {\ncase 0: $al354 = L[85];\nvar anf_arg357 = G(self351,\"value\",L[85]);\n$step349 = 1;\n$al354 = L[107];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,equal$always1);\n}\n$ans353 = equal$always1.app(val352,anf_arg357);\nbreak;\ncase 1: var anf_if383 = $ans353;\n$step349 = R.checkPyretTrue(anf_if383)?2:3;\nbreak;\ncase 2: var anf_fun362 = remove$root361.$var === D?U(L[87],\"remove-root\"):remove$root361.$var;\n$step349 = 11;\n$al354 = L[88];\nif(typeof(anf_fun362.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun362);\n}\n$ans353 = anf_fun362.app(self351);\nbreak;\ncase 3: $al354 = L[89];\nvar anf_arg363 = G(self351,\"value\",L[89]);\n$step349 = 4;\n$al354 = L[106];\n// omitting isFunction check;\n$ans353 = _lessthan3.app(val352,anf_arg363);\nbreak;\ncase 4: var anf_if382 = $ans353;\n$step349 = R.checkPyretTrue(anf_if382)?5:8;\nbreak;\ncase 5: var anf_fun369 = rebalance328.$var === D?U(L[90],\"rebalance\"):rebalance328.$var;\nvar anf_fun365 = mkbranch97.$var === D?U(L[91],\"mkbranch\"):mkbranch97.$var;\n$al354 = L[92];\nvar anf_arg366 = G(self351,\"value\",L[92]);\n$al354 = L[93];\nvar anf_method_obj364 = G(self351,\"left\",L[93]);\n$step349 = 6;\n$ans353 = R.maybeMethodCall1(anf_method_obj364,\"remove\",L[94],val352);\nbreak;\ncase 6: var anf_arg367 = $ans353;\n$al354 = L[95];\nvar anf_arg368 = G(self351,\"right\",L[95]);\n$step349 = 7;\n$al354 = L[97];\nif(typeof(anf_fun365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun365);\n}\n$ans353 = anf_fun365.app(anf_arg366,anf_arg367,anf_arg368);\nbreak;\ncase 7: var anf_arg371 = $ans353;\n$step349 = 11;\n$al354 = L[96];\nif(typeof(anf_fun369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun369);\n}\n$ans353 = anf_fun369.app(anf_arg371);\nbreak;\ncase 8: var anf_fun379 = rebalance328.$var === D?U(L[98],\"rebalance\"):rebalance328.$var;\nvar anf_fun375 = mkbranch97.$var === D?U(L[99],\"mkbranch\"):mkbranch97.$var;\n$al354 = L[100];\nvar anf_arg376 = G(self351,\"value\",L[100]);\n$al354 = L[101];\nvar anf_arg377 = G(self351,\"left\",L[101]);\n$al354 = L[102];\nvar anf_method_obj374 = G(self351,\"right\",L[102]);\n$step349 = 9;\n$ans353 = R.maybeMethodCall1(anf_method_obj374,\"remove\",L[103],val352);\nbreak;\ncase 9: var anf_arg378 = $ans353;\n$step349 = 10;\n$al354 = L[105];\nif(typeof(anf_fun375.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun375);\n}\n$ans353 = anf_fun375.app(anf_arg376,anf_arg377,anf_arg378);\nbreak;\ncase 10: var anf_arg381 = $ans353;\n$step349 = 11;\n$al354 = L[104];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun379);\n}\n$ans353 = anf_fun379.app(anf_arg381);\nbreak;\ncase 11: var ann_check_temp359 = $ans353;\n$step349 = 12;\n$al354 = L[86];\nvar $ann$check360 = R._cA(L[86],AVLTree105,ann_check_temp359);\nif(R.isContinuation($ann$check360)) {\n$ans353 = $ann$check360;\n}\nbreak;\ncase 12: $step349 = 13;\n$ans353 = ann_check_temp359;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans353;\ndefault: R.ffi.throwSpinnakerError(L[84],$step349);\n}\n}\nif($step349 !== 13) {\n$ans353.stack[R.EXN_STACKHEIGHT++] = R.mAR($al354,$temp_full350,$step349,[self351,val352],[anf_arg376,anf_arg366,anf_arg377,ann_check_temp359,anf_fun375,anf_fun365,anf_fun379,anf_fun369],$elidedFrames356);\n}\nreturn $ans353;\n};\nvar anf_variant_member778 = R.makeMethod1($temp_full350,\"remove\");\nvar $temp_full386 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__108($self387) {\nvar $step385 = 0;\nvar $elidedFrames391 = 0;\nvar $ans388 = D;\nvar $al389 = L[108];\nif(R.isAR($self387)) {\n$step385 = $self387.step;\n$al389 = $self387.from;\n$ans388 = $self387.ans;\n$elidedFrames391 = $self387.elidedFrames;\nself387 = $self387.args[0];\nann_check_temp404 = $self387.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],1,$t,true);\n}\nvar self387 = $self387;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans388 = R.mC();\n}\nwhile(!R.isContinuation($ans388)) {\nswitch($step385) {\ncase 0: var knil403 = {\"$var\":D};\nvar $temp_lam393 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__109($l394,$x395) {\nvar $step392 = 0;\nvar $elidedFrames399 = 0;\nvar $ans396 = D;\nvar $al397 = L[109];\nif(R.isAR($l394)) {\n$step392 = $l394.step;\n$al397 = $l394.from;\n$ans396 = $l394.ans;\n$elidedFrames399 = $l394.elidedFrames;\nl394 = $l394.args[0];\nx395 = $l394.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[109],2,$t,false);\n}\nvar l394 = $l394;\nvar x395 = $x395;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans396 = R.mC();\n}\nwhile(!R.isContinuation($ans396)) {\nswitch($step392) {\ncase 0: // caller optimization;\n$ans396 = link8.app(x395,l394);\n$step392 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans396;\ndefault: R.ffi.throwSpinnakerError(L[109],$step392);\n}\n}\nif($step392 !== 1) {\n$ans396.stack[R.EXN_STACKHEIGHT++] = R.mAR($al397,$temp_lam393,$step392,[l394,x395],[],$elidedFrames399);\n}\nreturn $ans396;\n};\nvar anf_assign402 = R.mF($temp_lam393,\"knil\");\nknil403.$var = anf_assign402;\nR.nothing;\n$step385 = 1;\n$ans388 = R.maybeMethodCall2(self387,\"fold-revpreorder\",L[110],knil403.$var,empty4);\nbreak;\ncase 1: var ann_check_temp404 = $ans388;\n$step385 = 2;\n$al389 = L[111];\nvar $ann$check405 = R._cA(L[111],List7,ann_check_temp404);\nif(R.isContinuation($ann$check405)) {\n$ans388 = $ann$check405;\n}\nbreak;\ncase 2: $step385 = 3;\n$ans388 = ann_check_temp404;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans388;\ndefault: R.ffi.throwSpinnakerError(L[108],$step385);\n}\n}\nif($step385 !== 3) {\n$ans388.stack[R.EXN_STACKHEIGHT++] = R.mAR($al389,$temp_full386,$step385,[self387],[ann_check_temp404],$elidedFrames391);\n}\nreturn $ans388;\n};\nvar anf_variant_member779 = R.makeMethod0($temp_full386,\"preorder\");\nvar $temp_full408 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__112($self409) {\nvar $step407 = 0;\nvar $elidedFrames414 = 0;\nvar $ans411 = D;\nvar $al412 = L[112];\nif(R.isAR($self409)) {\n$step407 = $self409.step;\n$al412 = $self409.from;\n$ans411 = $self409.ans;\n$elidedFrames414 = $self409.elidedFrames;\nself409 = $self409.args[0];\nann_check_temp426 = $self409.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[112],1,$t,true);\n}\nvar self409 = $self409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans411 = R.mC();\n}\nwhile(!R.isContinuation($ans411)) {\nswitch($step407) {\ncase 0: var knil425 = {\"$var\":D};\nvar $temp_lam416 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__113($l417,$x418) {\nvar $step415 = 0;\nvar $elidedFrames422 = 0;\nvar $ans419 = D;\nvar $al420 = L[113];\nif(R.isAR($l417)) {\n$step415 = $l417.step;\n$al420 = $l417.from;\n$ans419 = $l417.ans;\n$elidedFrames422 = $l417.elidedFrames;\nl417 = $l417.args[0];\nx418 = $l417.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[113],2,$t,false);\n}\nvar l417 = $l417;\nvar x418 = $x418;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans419 = R.mC();\n}\nwhile(!R.isContinuation($ans419)) {\nswitch($step415) {\ncase 0: // caller optimization;\n$ans419 = link8.app(x418,l417);\n$step415 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans419;\ndefault: R.ffi.throwSpinnakerError(L[113],$step415);\n}\n}\nif($step415 !== 1) {\n$ans419.stack[R.EXN_STACKHEIGHT++] = R.mAR($al420,$temp_lam416,$step415,[l417,x418],[],$elidedFrames422);\n}\nreturn $ans419;\n};\nvar anf_assign424 = R.mF($temp_lam416,\"knil\");\nknil425.$var = anf_assign424;\nR.nothing;\n$step407 = 1;\n$ans411 = R.maybeMethodCall2(self409,\"fold-revinorder\",L[114],knil425.$var,empty4);\nbreak;\ncase 1: var ann_check_temp426 = $ans411;\n$step407 = 2;\n$al412 = L[115];\nvar $ann$check427 = R._cA(L[115],List7,ann_check_temp426);\nif(R.isContinuation($ann$check427)) {\n$ans411 = $ann$check427;\n}\nbreak;\ncase 2: $step407 = 3;\n$ans411 = ann_check_temp426;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans411;\ndefault: R.ffi.throwSpinnakerError(L[112],$step407);\n}\n}\nif($step407 !== 3) {\n$ans411.stack[R.EXN_STACKHEIGHT++] = R.mAR($al412,$temp_full408,$step407,[self409],[ann_check_temp426],$elidedFrames414);\n}\nreturn $ans411;\n};\nvar anf_variant_member780 = R.makeMethod0($temp_full408,\"inorder\");\nvar $temp_full430 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__116($self212) {\nvar $step429 = 0;\nvar $elidedFrames434 = 0;\nvar $ans431 = D;\nvar $al432 = L[116];\nif(R.isAR($self212)) {\n$step429 = $self212.step;\n$al432 = $self212.from;\n$ans431 = $self212.ans;\n$elidedFrames434 = $self212.elidedFrames;\nself212 = $self212.args[0];\nann_check_temp447 = $self212.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[116],1,$t,true);\n}\nvar self212 = $self212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans431 = R.mC();\n}\nwhile(!R.isContinuation($ans431)) {\nswitch($step429) {\ncase 0: var knil446 = {\"$var\":D};\nvar $temp_lam436 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__117($l437,$x438) {\nvar $step435 = 0;\nvar $elidedFrames443 = 0;\nvar $ans440 = D;\nvar $al441 = L[117];\nif(R.isAR($l437)) {\n$step435 = $l437.step;\n$al441 = $l437.from;\n$ans440 = $l437.ans;\n$elidedFrames443 = $l437.elidedFrames;\nl437 = $l437.args[0];\nx438 = $l437.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],2,$t,false);\n}\nvar l437 = $l437;\nvar x438 = $x438;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans440 = R.mC();\n}\nwhile(!R.isContinuation($ans440)) {\nswitch($step435) {\ncase 0: // caller optimization;\n$ans440 = link8.app(x438,l437);\n$step435 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans440;\ndefault: R.ffi.throwSpinnakerError(L[117],$step435);\n}\n}\nif($step435 !== 1) {\n$ans440.stack[R.EXN_STACKHEIGHT++] = R.mAR($al441,$temp_lam436,$step435,[l437,x438],[],$elidedFrames443);\n}\nreturn $ans440;\n};\nvar anf_assign445 = R.mF($temp_lam436,\"knil\");\nknil446.$var = anf_assign445;\nR.nothing;\n$step429 = 1;\n$ans431 = R.maybeMethodCall2(self212,\"fold-revpostorder\",L[118],knil446.$var,empty4);\nbreak;\ncase 1: var ann_check_temp447 = $ans431;\n$step429 = 2;\n$al432 = L[119];\nvar $ann$check448 = R._cA(L[119],List7,ann_check_temp447);\nif(R.isContinuation($ann$check448)) {\n$ans431 = $ann$check448;\n}\nbreak;\ncase 2: $step429 = 3;\n$ans431 = ann_check_temp447;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans431;\ndefault: R.ffi.throwSpinnakerError(L[116],$step429);\n}\n}\nif($step429 !== 3) {\n$ans431.stack[R.EXN_STACKHEIGHT++] = R.mAR($al432,$temp_full430,$step429,[self212],[ann_check_temp447],$elidedFrames434);\n}\nreturn $ans431;\n};\nvar anf_variant_member781 = R.makeMethod0($temp_full430,\"postorder\");\nvar $temp_full451 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__120($self452) {\nvar $step450 = 0;\nvar $elidedFrames456 = 0;\nvar $ans453 = D;\nvar $al454 = L[120];\nif(R.isAR($self452)) {\n$step450 = $self452.step;\n$al454 = $self452.from;\n$ans453 = $self452.ans;\n$elidedFrames456 = $self452.elidedFrames;\nself452 = $self452.args[0];\nann_check_temp468 = $self452.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[120],1,$t,true);\n}\nvar self452 = $self452;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans453 = R.mC();\n}\nwhile(!R.isContinuation($ans453)) {\nswitch($step450) {\ncase 0: var knil467 = {\"$var\":D};\nvar $temp_lam458 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__121($l459,$x460) {\nvar $step457 = 0;\nvar $elidedFrames464 = 0;\nvar $ans461 = D;\nvar $al462 = L[121];\nif(R.isAR($l459)) {\n$step457 = $l459.step;\n$al462 = $l459.from;\n$ans461 = $l459.ans;\n$elidedFrames464 = $l459.elidedFrames;\nl459 = $l459.args[0];\nx460 = $l459.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[121],2,$t,false);\n}\nvar l459 = $l459;\nvar x460 = $x460;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans461 = R.mC();\n}\nwhile(!R.isContinuation($ans461)) {\nswitch($step457) {\ncase 0: // caller optimization;\n$ans461 = link8.app(x460,l459);\n$step457 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans461;\ndefault: R.ffi.throwSpinnakerError(L[121],$step457);\n}\n}\nif($step457 !== 1) {\n$ans461.stack[R.EXN_STACKHEIGHT++] = R.mAR($al462,$temp_lam458,$step457,[l459,x460],[],$elidedFrames464);\n}\nreturn $ans461;\n};\nvar anf_assign466 = R.mF($temp_lam458,\"knil\");\nknil467.$var = anf_assign466;\nR.nothing;\n$step450 = 1;\n$ans453 = R.maybeMethodCall2(self452,\"fold-preorder\",L[122],knil467.$var,empty4);\nbreak;\ncase 1: var ann_check_temp468 = $ans453;\n$step450 = 2;\n$al454 = L[123];\nvar $ann$check469 = R._cA(L[123],List7,ann_check_temp468);\nif(R.isContinuation($ann$check469)) {\n$ans453 = $ann$check469;\n}\nbreak;\ncase 2: $step450 = 3;\n$ans453 = ann_check_temp468;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans453;\ndefault: R.ffi.throwSpinnakerError(L[120],$step450);\n}\n}\nif($step450 !== 3) {\n$ans453.stack[R.EXN_STACKHEIGHT++] = R.mAR($al454,$temp_full451,$step450,[self452],[ann_check_temp468],$elidedFrames456);\n}\nreturn $ans453;\n};\nvar anf_variant_member782 = R.makeMethod0($temp_full451,\"revpreorder\");\nvar $temp_full472 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__124($self473) {\nvar $step471 = 0;\nvar $elidedFrames478 = 0;\nvar $ans475 = D;\nvar $al476 = L[124];\nif(R.isAR($self473)) {\n$step471 = $self473.step;\n$al476 = $self473.from;\n$ans475 = $self473.ans;\n$elidedFrames478 = $self473.elidedFrames;\nself473 = $self473.args[0];\nann_check_temp490 = $self473.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],1,$t,true);\n}\nvar self473 = $self473;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans475 = R.mC();\n}\nwhile(!R.isContinuation($ans475)) {\nswitch($step471) {\ncase 0: var knil489 = {\"$var\":D};\nvar $temp_lam480 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__125($l481,$x482) {\nvar $step479 = 0;\nvar $elidedFrames486 = 0;\nvar $ans483 = D;\nvar $al484 = L[125];\nif(R.isAR($l481)) {\n$step479 = $l481.step;\n$al484 = $l481.from;\n$ans483 = $l481.ans;\n$elidedFrames486 = $l481.elidedFrames;\nl481 = $l481.args[0];\nx482 = $l481.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],2,$t,false);\n}\nvar l481 = $l481;\nvar x482 = $x482;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans483 = R.mC();\n}\nwhile(!R.isContinuation($ans483)) {\nswitch($step479) {\ncase 0: // caller optimization;\n$ans483 = link8.app(x482,l481);\n$step479 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans483;\ndefault: R.ffi.throwSpinnakerError(L[125],$step479);\n}\n}\nif($step479 !== 1) {\n$ans483.stack[R.EXN_STACKHEIGHT++] = R.mAR($al484,$temp_lam480,$step479,[l481,x482],[],$elidedFrames486);\n}\nreturn $ans483;\n};\nvar anf_assign488 = R.mF($temp_lam480,\"knil\");\nknil489.$var = anf_assign488;\nR.nothing;\n$step471 = 1;\n$ans475 = R.maybeMethodCall2(self473,\"fold-inorder\",L[126],knil489.$var,empty4);\nbreak;\ncase 1: var ann_check_temp490 = $ans475;\n$step471 = 2;\n$al476 = L[127];\nvar $ann$check491 = R._cA(L[127],List7,ann_check_temp490);\nif(R.isContinuation($ann$check491)) {\n$ans475 = $ann$check491;\n}\nbreak;\ncase 2: $step471 = 3;\n$ans475 = ann_check_temp490;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans475;\ndefault: R.ffi.throwSpinnakerError(L[124],$step471);\n}\n}\nif($step471 !== 3) {\n$ans475.stack[R.EXN_STACKHEIGHT++] = R.mAR($al476,$temp_full472,$step471,[self473],[ann_check_temp490],$elidedFrames478);\n}\nreturn $ans475;\n};\nvar anf_variant_member783 = R.makeMethod0($temp_full472,\"revinorder\");\nvar $temp_full494 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__128($self303) {\nvar $step493 = 0;\nvar $elidedFrames498 = 0;\nvar $ans495 = D;\nvar $al496 = L[128];\nif(R.isAR($self303)) {\n$step493 = $self303.step;\n$al496 = $self303.from;\n$ans495 = $self303.ans;\n$elidedFrames498 = $self303.elidedFrames;\nself303 = $self303.args[0];\nann_check_temp510 = $self303.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[128],1,$t,true);\n}\nvar self303 = $self303;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans495 = R.mC();\n}\nwhile(!R.isContinuation($ans495)) {\nswitch($step493) {\ncase 0: var knil509 = {\"$var\":D};\nvar $temp_lam500 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__129($l501,$x502) {\nvar $step499 = 0;\nvar $elidedFrames506 = 0;\nvar $ans503 = D;\nvar $al504 = L[129];\nif(R.isAR($l501)) {\n$step499 = $l501.step;\n$al504 = $l501.from;\n$ans503 = $l501.ans;\n$elidedFrames506 = $l501.elidedFrames;\nl501 = $l501.args[0];\nx502 = $l501.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],2,$t,false);\n}\nvar l501 = $l501;\nvar x502 = $x502;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans503 = R.mC();\n}\nwhile(!R.isContinuation($ans503)) {\nswitch($step499) {\ncase 0: // caller optimization;\n$ans503 = link8.app(x502,l501);\n$step499 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans503;\ndefault: R.ffi.throwSpinnakerError(L[129],$step499);\n}\n}\nif($step499 !== 1) {\n$ans503.stack[R.EXN_STACKHEIGHT++] = R.mAR($al504,$temp_lam500,$step499,[l501,x502],[],$elidedFrames506);\n}\nreturn $ans503;\n};\nvar anf_assign508 = R.mF($temp_lam500,\"knil\");\nknil509.$var = anf_assign508;\nR.nothing;\n$step493 = 1;\n$ans495 = R.maybeMethodCall2(self303,\"fold-postorder\",L[130],knil509.$var,empty4);\nbreak;\ncase 1: var ann_check_temp510 = $ans495;\n$step493 = 2;\n$al496 = L[131];\nvar $ann$check511 = R._cA(L[131],List7,ann_check_temp510);\nif(R.isContinuation($ann$check511)) {\n$ans495 = $ann$check511;\n}\nbreak;\ncase 2: $step493 = 3;\n$ans495 = ann_check_temp510;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans495;\ndefault: R.ffi.throwSpinnakerError(L[128],$step493);\n}\n}\nif($step493 !== 3) {\n$ans495.stack[R.EXN_STACKHEIGHT++] = R.mAR($al496,$temp_full494,$step493,[self303],[ann_check_temp510],$elidedFrames498);\n}\nreturn $ans495;\n};\nvar anf_variant_member784 = R.makeMethod0($temp_full494,\"revpostorder\");\nvar $temp_full514 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__132($self515,$f516,$base517) {\nvar $step513 = 0;\nvar $elidedFrames521 = 0;\nvar $ans518 = D;\nvar $al519 = L[132];\nif(R.isAR($self515)) {\n$step513 = $self515.step;\n$al519 = $self515.from;\n$ans518 = $self515.ans;\n$elidedFrames521 = $self515.elidedFrames;\nself515 = $self515.args[0];\nf516 = $self515.args[1];\nbase517 = $self515.args[2];\nanf_method_obj533 = $self515.vars[0];\nanf_method_obj529 = $self515.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],3,$t,true);\n}\nvar self515 = $self515;\nvar f516 = $f516;\nvar base517 = $base517;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans518 = R.mC();\n}\nwhile(!R.isContinuation($ans518)) {\nswitch($step513) {\ncase 0: $al519 = L[133];\nvar anf_method_obj533 = G(self515,\"right\",L[133]);\n$al519 = L[134];\nvar anf_method_obj529 = G(self515,\"left\",L[134]);\n$al519 = L[135];\nvar anf_arg528 = G(self515,\"value\",L[135]);\n$step513 = 1;\n$al519 = L[138];\nif(typeof(f516.app) !== \"function\") {\nR.ffi.throwNonFunApp($al519,f516);\n}\n$ans518 = f516.app(base517,anf_arg528);\nbreak;\ncase 1: var anf_arg532 = $ans518;\n$step513 = 2;\n$ans518 = R.maybeMethodCall2(anf_method_obj529,\"fold-preorder\",L[136],f516,anf_arg532);\nbreak;\ncase 2: var anf_arg537 = $ans518;\n$step513 = 3;\n$ans518 = R.maybeMethodCall2(anf_method_obj533,\"fold-preorder\",L[137],f516,anf_arg537);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans518;\ndefault: R.ffi.throwSpinnakerError(L[132],$step513);\n}\n}\nif($step513 !== 3) {\n$ans518.stack[R.EXN_STACKHEIGHT++] = R.mAR($al519,$temp_full514,$step513,[self515,f516,base517],[anf_method_obj533,anf_method_obj529],$elidedFrames521);\n}\nreturn $ans518;\n};\nvar anf_variant_member785 = R.makeMethod2($temp_full514,\"fold-preorder\");\nvar $temp_full540 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__139($self541,$f542,$base543) {\nvar $step539 = 0;\nvar $elidedFrames547 = 0;\nvar $ans544 = D;\nvar $al545 = L[139];\nif(R.isAR($self541)) {\n$step539 = $self541.step;\n$al545 = $self541.from;\n$ans544 = $self541.ans;\n$elidedFrames547 = $self541.elidedFrames;\nself541 = $self541.args[0];\nf542 = $self541.args[1];\nbase543 = $self541.args[2];\nanf_method_obj559 = $self541.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],3,$t,true);\n}\nvar self541 = $self541;\nvar f542 = $f542;\nvar base543 = $base543;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans544 = R.mC();\n}\nwhile(!R.isContinuation($ans544)) {\nswitch($step539) {\ncase 0: $al545 = L[140];\nvar anf_method_obj559 = G(self541,\"right\",L[140]);\n$al545 = L[141];\nvar anf_method_obj548 = G(self541,\"left\",L[141]);\n$step539 = 1;\n$ans544 = R.maybeMethodCall2(anf_method_obj548,\"fold-inorder\",L[142],f542,base543);\nbreak;\ncase 1: var anf_arg557 = $ans544;\n$al545 = L[143];\nvar anf_arg558 = G(self541,\"value\",L[143]);\n$step539 = 2;\n$al545 = L[145];\nif(typeof(f542.app) !== \"function\") {\nR.ffi.throwNonFunApp($al545,f542);\n}\n$ans544 = f542.app(anf_arg557,anf_arg558);\nbreak;\ncase 2: var anf_arg560 = $ans544;\n$step539 = 3;\n$ans544 = R.maybeMethodCall2(anf_method_obj559,\"fold-inorder\",L[144],f542,anf_arg560);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans544;\ndefault: R.ffi.throwSpinnakerError(L[139],$step539);\n}\n}\nif($step539 !== 3) {\n$ans544.stack[R.EXN_STACKHEIGHT++] = R.mAR($al545,$temp_full540,$step539,[self541,f542,base543],[anf_method_obj559],$elidedFrames547);\n}\nreturn $ans544;\n};\nvar anf_variant_member786 = R.makeMethod2($temp_full540,\"fold-inorder\");\nvar $temp_full563 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__146($self564,$f565,$base566) {\nvar $step562 = 0;\nvar $elidedFrames570 = 0;\nvar $ans567 = D;\nvar $al568 = L[146];\nif(R.isAR($self564)) {\n$step562 = $self564.step;\n$al568 = $self564.from;\n$ans567 = $self564.ans;\n$elidedFrames570 = $self564.elidedFrames;\nself564 = $self564.args[0];\nf565 = $self564.args[1];\nbase566 = $self564.args[2];\nanf_method_obj572 = $self564.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[146],3,$t,true);\n}\nvar self564 = $self564;\nvar f565 = $f565;\nvar base566 = $base566;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans567 = R.mC();\n}\nwhile(!R.isContinuation($ans567)) {\nswitch($step562) {\ncase 0: $al568 = L[147];\nvar anf_method_obj572 = G(self564,\"right\",L[147]);\n$al568 = L[148];\nvar anf_method_obj571 = G(self564,\"left\",L[148]);\n$step562 = 1;\n$ans567 = R.maybeMethodCall2(anf_method_obj571,\"fold-postorder\",L[149],f565,base566);\nbreak;\ncase 1: var anf_arg576 = $ans567;\n$step562 = 2;\n$ans567 = R.maybeMethodCall2(anf_method_obj572,\"fold-postorder\",L[150],f565,anf_arg576);\nbreak;\ncase 2: var anf_arg594 = $ans567;\n$al568 = L[151];\nvar anf_arg621 = G(self564,\"value\",L[151]);\n$step562 = 3;\n$al568 = L[152];\nif(typeof(f565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al568,f565);\n}\n$ans567 = f565.app(anf_arg594,anf_arg621);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans567;\ndefault: R.ffi.throwSpinnakerError(L[146],$step562);\n}\n}\nif($step562 !== 3) {\n$ans567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al568,$temp_full563,$step562,[self564,f565,base566],[anf_method_obj572],$elidedFrames570);\n}\nreturn $ans567;\n};\nvar anf_variant_member787 = R.makeMethod2($temp_full563,\"fold-postorder\");\nvar $temp_full624 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__153($self625,$f626,$base627) {\nvar $step623 = 0;\nvar $elidedFrames631 = 0;\nvar $ans628 = D;\nvar $al629 = L[153];\nif(R.isAR($self625)) {\n$step623 = $self625.step;\n$al629 = $self625.from;\n$ans628 = $self625.ans;\n$elidedFrames631 = $self625.elidedFrames;\nself625 = $self625.args[0];\nf626 = $self625.args[1];\nbase627 = $self625.args[2];\nanf_method_obj637 = $self625.vars[0];\nanf_method_obj633 = $self625.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[153],3,$t,true);\n}\nvar self625 = $self625;\nvar f626 = $f626;\nvar base627 = $base627;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans628 = R.mC();\n}\nwhile(!R.isContinuation($ans628)) {\nswitch($step623) {\ncase 0: $al629 = L[154];\nvar anf_method_obj637 = G(self625,\"left\",L[154]);\n$al629 = L[155];\nvar anf_method_obj633 = G(self625,\"right\",L[155]);\n$al629 = L[156];\nvar anf_arg632 = G(self625,\"value\",L[156]);\n$step623 = 1;\n$al629 = L[159];\nif(typeof(f626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al629,f626);\n}\n$ans628 = f626.app(base627,anf_arg632);\nbreak;\ncase 1: var anf_arg636 = $ans628;\n$step623 = 2;\n$ans628 = R.maybeMethodCall2(anf_method_obj633,\"fold-revpreorder\",L[157],f626,anf_arg636);\nbreak;\ncase 2: var anf_arg641 = $ans628;\n$step623 = 3;\n$ans628 = R.maybeMethodCall2(anf_method_obj637,\"fold-revpreorder\",L[158],f626,anf_arg641);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans628;\ndefault: R.ffi.throwSpinnakerError(L[153],$step623);\n}\n}\nif($step623 !== 3) {\n$ans628.stack[R.EXN_STACKHEIGHT++] = R.mAR($al629,$temp_full624,$step623,[self625,f626,base627],[anf_method_obj637,anf_method_obj633],$elidedFrames631);\n}\nreturn $ans628;\n};\nvar anf_variant_member788 = R.makeMethod2($temp_full624,\"fold-revpreorder\");\nvar $temp_full644 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__160($self379,$f645,$base646) {\nvar $step643 = 0;\nvar $elidedFrames650 = 0;\nvar $ans647 = D;\nvar $al648 = L[160];\nif(R.isAR($self379)) {\n$step643 = $self379.step;\n$al648 = $self379.from;\n$ans647 = $self379.ans;\n$elidedFrames650 = $self379.elidedFrames;\nself379 = $self379.args[0];\nf645 = $self379.args[1];\nbase646 = $self379.args[2];\nanf_method_obj656 = $self379.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[160],3,$t,true);\n}\nvar self379 = $self379;\nvar f645 = $f645;\nvar base646 = $base646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans647 = R.mC();\n}\nwhile(!R.isContinuation($ans647)) {\nswitch($step643) {\ncase 0: $al648 = L[161];\nvar anf_method_obj656 = G(self379,\"left\",L[161]);\n$al648 = L[162];\nvar anf_method_obj651 = G(self379,\"right\",L[162]);\n$step643 = 1;\n$ans647 = R.maybeMethodCall2(anf_method_obj651,\"fold-revinorder\",L[163],f645,base646);\nbreak;\ncase 1: var anf_arg652 = $ans647;\n$al648 = L[164];\nvar anf_arg655 = G(self379,\"value\",L[164]);\n$step643 = 2;\n$al648 = L[166];\nif(typeof(f645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al648,f645);\n}\n$ans647 = f645.app(anf_arg652,anf_arg655);\nbreak;\ncase 2: var anf_arg657 = $ans647;\n$step643 = 3;\n$ans647 = R.maybeMethodCall2(anf_method_obj656,\"fold-revinorder\",L[165],f645,anf_arg657);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans647;\ndefault: R.ffi.throwSpinnakerError(L[160],$step643);\n}\n}\nif($step643 !== 3) {\n$ans647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al648,$temp_full644,$step643,[self379,f645,base646],[anf_method_obj656],$elidedFrames650);\n}\nreturn $ans647;\n};\nvar anf_variant_member789 = R.makeMethod2($temp_full644,\"fold-revinorder\");\nvar $temp_full660 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__167($self661,$f662,$base663) {\nvar $step659 = 0;\nvar $elidedFrames667 = 0;\nvar $ans664 = D;\nvar $al665 = L[167];\nif(R.isAR($self661)) {\n$step659 = $self661.step;\n$al665 = $self661.from;\n$ans664 = $self661.ans;\n$elidedFrames667 = $self661.elidedFrames;\nself661 = $self661.args[0];\nf662 = $self661.args[1];\nbase663 = $self661.args[2];\nanf_method_obj669 = $self661.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[167],3,$t,true);\n}\nvar self661 = $self661;\nvar f662 = $f662;\nvar base663 = $base663;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans664 = R.mC();\n}\nwhile(!R.isContinuation($ans664)) {\nswitch($step659) {\ncase 0: $al665 = L[168];\nvar anf_method_obj669 = G(self661,\"left\",L[168]);\n$al665 = L[169];\nvar anf_method_obj668 = G(self661,\"right\",L[169]);\n$step659 = 1;\n$ans664 = R.maybeMethodCall2(anf_method_obj668,\"fold-revpostorder\",L[170],f662,base663);\nbreak;\ncase 1: var anf_arg675 = $ans664;\n$step659 = 2;\n$ans664 = R.maybeMethodCall2(anf_method_obj669,\"fold-revpostorder\",L[171],f662,anf_arg675);\nbreak;\ncase 2: var anf_arg679 = $ans664;\n$al665 = L[172];\nvar anf_arg688 = G(self661,\"value\",L[172]);\n$step659 = 3;\n$al665 = L[173];\nif(typeof(f662.app) !== \"function\") {\nR.ffi.throwNonFunApp($al665,f662);\n}\n$ans664 = f662.app(anf_arg679,anf_arg688);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans664;\ndefault: R.ffi.throwSpinnakerError(L[167],$step659);\n}\n}\nif($step659 !== 3) {\n$ans664.stack[R.EXN_STACKHEIGHT++] = R.mAR($al665,$temp_full660,$step659,[self661,f662,base663],[anf_method_obj669],$elidedFrames667);\n}\nreturn $ans664;\n};\nvar anf_variant_member790 = R.makeMethod2($temp_full660,\"fold-revpostorder\");\nvar $temp_full691 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__174($self692) {\nvar $step690 = 0;\nvar $elidedFrames696 = 0;\nvar $ans693 = D;\nvar $al694 = L[174];\nif(R.isAR($self692)) {\n$step690 = $self692.step;\n$al694 = $self692.from;\n$ans693 = $self692.ans;\n$elidedFrames696 = $self692.elidedFrames;\nself692 = $self692.args[0];\nanf_arg706 = $self692.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[174],1,$t,true);\n}\nvar self692 = $self692;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans693 = R.mC();\n}\nwhile(!R.isContinuation($ans693)) {\nswitch($step690) {\ncase 0: $al694 = L[175];\nvar anf_method_obj697 = G(self692,\"left\",L[175]);\n$step690 = 1;\n$ans693 = R.maybeMethodCall0(anf_method_obj697,\"count\",L[176]);\nbreak;\ncase 1: var anf_arg698 = $ans693;\n$step690 = 2;\n$al694 = L[180];\n// omitting isFunction check;\n$ans693 = _plus5.app((1),anf_arg698);\nbreak;\ncase 2: var anf_arg706 = $ans693;\n$al694 = L[177];\nvar anf_method_obj699 = G(self692,\"right\",L[177]);\n$step690 = 3;\n$ans693 = R.maybeMethodCall0(anf_method_obj699,\"count\",L[178]);\nbreak;\ncase 3: var anf_arg711 = $ans693;\n$step690 = 4;\n$al694 = L[179];\n// omitting isFunction check;\n$ans693 = _plus5.app(anf_arg706,anf_arg711);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans693;\ndefault: R.ffi.throwSpinnakerError(L[174],$step690);\n}\n}\nif($step690 !== 4) {\n$ans693.stack[R.EXN_STACKHEIGHT++] = R.mAR($al694,$temp_full691,$step690,[self692],[anf_arg706],$elidedFrames696);\n}\nreturn $ans693;\n};\nvar anf_variant_member791 = R.makeMethod0($temp_full691,\"count\");\nvar $temp_full716 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__181($self717,$f718) {\nvar $step715 = 0;\nvar $elidedFrames722 = 0;\nvar $ans719 = D;\nvar $al720 = L[181];\nif(R.isAR($self717)) {\n$step715 = $self717.step;\n$al720 = $self717.from;\n$ans719 = $self717.ans;\n$elidedFrames722 = $self717.elidedFrames;\nself717 = $self717.args[0];\nf718 = $self717.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[181],2,$t,true);\n}\nvar self717 = $self717;\nvar f718 = $f718;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans719 = R.mC();\n}\nwhile(!R.isContinuation($ans719)) {\nswitch($step715) {\ncase 0: $al720 = L[182];\nvar anf_arg723 = G(self717,\"value\",L[182]);\n$step715 = 1;\n$al720 = L[187];\nif(typeof(f718.app) !== \"function\") {\nR.ffi.throwNonFunApp($al720,f718);\n}\n$ans719 = f718.app(anf_arg723);\nbreak;\ncase 1: var anf_if730 = $ans719;\n$step715 = R.checkPyretTrue(anf_if730)?2:7;\nbreak;\ncase 2: $al720 = L[183];\nvar anf_method_obj724 = G(self717,\"right\",L[183]);\n$step715 = 3;\n$ans719 = R.maybeMethodCall1(anf_method_obj724,\"all\",L[184],f718);\nbreak;\ncase 3: var anf_if729 = $ans719;\n$step715 = R.checkPyretTrue(anf_if729)?4:6;\nbreak;\ncase 4: $al720 = L[185];\nvar anf_method_obj725 = G(self717,\"left\",L[185]);\n$step715 = 5;\n$ans719 = R.maybeMethodCall1(anf_method_obj725,\"all\",L[186],f718);\nbreak;\ncase 5: var anf_arg728 = $ans719;\n$ans719 = R.checkWrapBoolean(anf_arg728);\n$step715 = 8;\nbreak;\ncase 6: $step715 = 8;\n$ans719 = (false);\nbreak;\ncase 7: $step715 = 8;\n$ans719 = (false);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans719;\ndefault: R.ffi.throwSpinnakerError(L[181],$step715);\n}\n}\nif($step715 !== 8) {\n$ans719.stack[R.EXN_STACKHEIGHT++] = R.mAR($al720,$temp_full716,$step715,[self717,f718],[],$elidedFrames722);\n}\nreturn $ans719;\n};\nvar anf_variant_member792 = R.makeMethod1($temp_full716,\"all\");\nvar $temp_full733 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__188($self412,$f734) {\nvar $step732 = 0;\nvar $elidedFrames738 = 0;\nvar $ans735 = D;\nvar $al736 = L[188];\nif(R.isAR($self412)) {\n$step732 = $self412.step;\n$al736 = $self412.from;\n$ans735 = $self412.ans;\n$elidedFrames738 = $self412.elidedFrames;\nself412 = $self412.args[0];\nf734 = $self412.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[188],2,$t,true);\n}\nvar self412 = $self412;\nvar f734 = $f734;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans735 = R.mC();\n}\nwhile(!R.isContinuation($ans735)) {\nswitch($step732) {\ncase 0: $al736 = L[189];\nvar anf_arg739 = G(self412,\"value\",L[189]);\n$step732 = 1;\n$al736 = L[194];\nif(typeof(f734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al736,f734);\n}\n$ans735 = f734.app(anf_arg739);\nbreak;\ncase 1: var anf_if744 = $ans735;\n$step732 = R.checkPyretTrue(anf_if744)?2:3;\nbreak;\ncase 2: $step732 = 8;\n$ans735 = (true);\nbreak;\ncase 3: $al736 = L[190];\nvar anf_method_obj740 = G(self412,\"right\",L[190]);\n$step732 = 4;\n$ans735 = R.maybeMethodCall1(anf_method_obj740,\"all\",L[191],f734);\nbreak;\ncase 4: var anf_if743 = $ans735;\n$step732 = R.checkPyretTrue(anf_if743)?5:6;\nbreak;\ncase 5: $step732 = 8;\n$ans735 = (true);\nbreak;\ncase 6: $al736 = L[192];\nvar anf_method_obj741 = G(self412,\"left\",L[192]);\n$step732 = 7;\n$ans735 = R.maybeMethodCall1(anf_method_obj741,\"all\",L[193],f734);\nbreak;\ncase 7: var anf_arg742 = $ans735;\n$ans735 = R.checkWrapBoolean(anf_arg742);\n$step732 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans735;\ndefault: R.ffi.throwSpinnakerError(L[188],$step732);\n}\n}\nif($step732 !== 8) {\n$ans735.stack[R.EXN_STACKHEIGHT++] = R.mAR($al736,$temp_full733,$step732,[self412,f734],[],$elidedFrames738);\n}\nreturn $ans735;\n};\nvar anf_variant_member793 = R.makeMethod1($temp_full733,\"any\");\nvar $leaf_getfields771 = function variant(f) {\nreturn f();\n};\nvar $leaf_mutablemask770 = [];\nvar $leaf$base748 = {\"to-list\":anf_shared746,\n\"_equals\":anf_shared747,\n\"height\":anf_singleton_variant_member751,\n\"contains\":anf_singleton_variant_member752,\n\"insert\":anf_singleton_variant_member753,\n\"remove\":anf_singleton_variant_member754,\n\"preorder\":anf_singleton_variant_member755,\n\"inorder\":anf_singleton_variant_member756,\n\"postorder\":anf_singleton_variant_member757,\n\"revpreorder\":anf_singleton_variant_member758,\n\"revinorder\":anf_singleton_variant_member759,\n\"revpostorder\":anf_singleton_variant_member760,\n\"fold-preorder\":anf_singleton_variant_member761,\n\"fold-inorder\":anf_singleton_variant_member762,\n\"fold-postorder\":anf_singleton_variant_member763,\n\"fold-revpreorder\":anf_singleton_variant_member764,\n\"fold-revinorder\":anf_singleton_variant_member765,\n\"fold-revpostorder\":anf_singleton_variant_member766,\n\"count\":anf_singleton_variant_member767,\n\"all\":anf_singleton_variant_member768,\n\"any\":anf_singleton_variant_member769,\n\"_match\":R.mM(\"leaf\",0)};\nvar $leaf$brander749 = R.nB(\"leaf\",L[195]);\nvar $leaf$brands750 = {};\n$leaf$brands750[AVLTree29._brand] = true;\n$leaf$brands750[$leaf$brander749._brand] = true;\nvar $branch_getfields795 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"],this.dict[\"h\"],this.dict[\"left\"],this.dict[\"right\"]);\n};\nvar $branch_mutablemask794 = [false,false,false,false];\nvar $branch$base772 = {\"$fieldNames\":[\"value\",\"h\",\"left\",\"right\"],\n\"to-list\":anf_shared746,\n\"_equals\":anf_shared747,\n\"height\":anf_variant_member775,\n\"contains\":anf_variant_member776,\n\"insert\":anf_variant_member777,\n\"remove\":anf_variant_member778,\n\"preorder\":anf_variant_member779,\n\"inorder\":anf_variant_member780,\n\"postorder\":anf_variant_member781,\n\"revpreorder\":anf_variant_member782,\n\"revinorder\":anf_variant_member783,\n\"revpostorder\":anf_variant_member784,\n\"fold-preorder\":anf_variant_member785,\n\"fold-inorder\":anf_variant_member786,\n\"fold-postorder\":anf_variant_member787,\n\"fold-revpreorder\":anf_variant_member788,\n\"fold-revinorder\":anf_variant_member789,\n\"fold-revpostorder\":anf_variant_member790,\n\"count\":anf_variant_member791,\n\"all\":anf_variant_member792,\n\"any\":anf_variant_member793,\n\"_match\":R.mM(\"branch\",4)};\nvar $branch$brander773 = R.nB(\"branch\",L[196]);\nvar $branch$brands774 = {};\n$branch$brands774[AVLTree29._brand] = true;\n$branch$brands774[$branch$brander773._brand] = true;\nvar branch796 = R.mVC(L[196],function $synthesizedConstructor_$branch$base() {\nreturn [$type$Number3,AVLTree105,AVLTree105];\n},[\"h797\",\"left798\",\"right799\"],[L[197],L[198],L[199]],[false,false,false,false],[\"value800\",\"h797\",\"left798\",\"right799\"],$branch_mutablemask794,$branch$base772,$branch$brands774,\"branch\",$branch_getfields795,$branch$base772);\nvar anf_assign801 = R.mO({\"AVLTree\":G(AVLTree29,\"test\",L[200]),\n\"is-leaf\":G($leaf$brander749,\"test\",L[195]),\n\"leaf\":R.mDV($leaf$base748,$leaf$brands750,\"leaf\",$leaf_getfields771,-1,$leaf_mutablemask770,$leaf$base748,false,L[195]),\n\"is-branch\":G($branch$brander773,\"test\",L[196]),\n\"branch\":branch796});\nAVLTree802.$var = anf_assign801;\nR.nothing;\n$al26 = L[200];\nvar anf_assign803 = G(AVLTree802.$var,\"AVLTree\",L[200]);\nis$AVLTree52.$var = anf_assign803;\nR.nothing;\n$al26 = L[195];\nvar anf_assign804 = G(AVLTree802.$var,\"is-leaf\",L[195]);\nis$leaf805.$var = anf_assign804;\nR.nothing;\n$al26 = L[195];\nvar anf_assign806 = G(AVLTree802.$var,\"leaf\",L[195]);\nleaf98.$var = anf_assign806;\nR.nothing;\n$al26 = L[196];\nvar anf_assign807 = G(AVLTree802.$var,\"is-branch\",L[196]);\nis$branch808.$var = anf_assign807;\nR.nothing;\n$al26 = L[196];\nvar anf_assign809 = G(AVLTree802.$var,\"branch\",L[196]);\nbranch810.$var = anf_assign809;\nR.nothing;\nvar $temp_lam812 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__201($f813,$base814,$tree815) {\nvar $step811 = 0;\nvar $elidedFrames820 = 0;\nvar $ans817 = D;\nvar $al818 = L[201];\nif(R.isAR($f813)) {\n$step811 = $f813.step;\n$al818 = $f813.from;\n$ans817 = $f813.ans;\n$elidedFrames820 = $f813.elidedFrames;\nf813 = $f813.args[0];\nbase814 = $f813.args[1];\ntree815 = $f813.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[201],3,$t,false);\n}\nvar f813 = $f813;\nvar base814 = $base814;\nvar tree815 = $tree815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans817 = R.mC();\n}\nwhile(!R.isContinuation($ans817)) {\nswitch($step811) {\ncase 0: $step811 = 1;\n$ans817 = R.maybeMethodCall2(tree815,\"fold-preorder\",L[202],f813,base814);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans817;\ndefault: R.ffi.throwSpinnakerError(L[201],$step811);\n}\n}\nif($step811 !== 1) {\n$ans817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al818,$temp_lam812,$step811,[f813,base814,tree815],[],$elidedFrames820);\n}\nreturn $ans817;\n};\nvar anf_assign822 = R.mF($temp_lam812,\"tree-fold\");\ntree$fold823.$var = anf_assign822;\nR.nothing;\nvar $temp_lam825 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__203($f826,$tree827) {\nvar $step824 = 0;\nvar $elidedFrames831 = 0;\nvar $ans828 = D;\nvar $al829 = L[203];\nif(R.isAR($f826)) {\n$step824 = $f826.step;\n$al829 = $f826.from;\n$ans828 = $f826.ans;\n$elidedFrames831 = $f826.elidedFrames;\nf826 = $f826.args[0];\ntree827 = $f826.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[203],2,$t,false);\n}\nvar f826 = $f826;\nvar tree827 = $tree827;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans828 = R.mC();\n}\nwhile(!R.isContinuation($ans828)) {\nswitch($step824) {\ncase 0: $step824 = 1;\n$ans828 = R.maybeMethodCall1(tree827,\"all\",L[204],f826);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans828;\ndefault: R.ffi.throwSpinnakerError(L[203],$step824);\n}\n}\nif($step824 !== 1) {\n$ans828.stack[R.EXN_STACKHEIGHT++] = R.mAR($al829,$temp_lam825,$step824,[f826,tree827],[],$elidedFrames831);\n}\nreturn $ans828;\n};\nvar anf_assign833 = R.mF($temp_lam825,\"tree-all\");\ntree$all834.$var = anf_assign833;\nR.nothing;\nvar $temp_lam836 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__205($f837,$tree838) {\nvar $step835 = 0;\nvar $elidedFrames842 = 0;\nvar $ans839 = D;\nvar $al840 = L[205];\nif(R.isAR($f837)) {\n$step835 = $f837.step;\n$al840 = $f837.from;\n$ans839 = $f837.ans;\n$elidedFrames842 = $f837.elidedFrames;\nf837 = $f837.args[0];\ntree838 = $f837.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[205],2,$t,false);\n}\nvar f837 = $f837;\nvar tree838 = $tree838;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans839 = R.mC();\n}\nwhile(!R.isContinuation($ans839)) {\nswitch($step835) {\ncase 0: $step835 = 1;\n$ans839 = R.maybeMethodCall1(tree838,\"any\",L[206],f837);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans839;\ndefault: R.ffi.throwSpinnakerError(L[205],$step835);\n}\n}\nif($step835 !== 1) {\n$ans839.stack[R.EXN_STACKHEIGHT++] = R.mAR($al840,$temp_lam836,$step835,[f837,tree838],[],$elidedFrames842);\n}\nreturn $ans839;\n};\nvar anf_assign844 = R.mF($temp_lam836,\"tree-any\");\ntree$any845.$var = anf_assign844;\nR.nothing;\nvar $temp_lam847 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__207($val848,$left849,$right850) {\nvar $step846 = 0;\nvar $elidedFrames854 = 0;\nvar $ans851 = D;\nvar $al852 = L[207];\nif(R.isAR($val848)) {\n$step846 = $val848.step;\n$al852 = $val848.from;\n$ans851 = $val848.ans;\n$elidedFrames854 = $val848.elidedFrames;\nval848 = $val848.args[0];\nleft849 = $val848.args[1];\nright850 = $val848.args[2];\nanf_arg858 = $val848.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[207],3,$t,false);\n}\nvar val848 = $val848;\nvar left849 = $left849;\nvar right850 = $right850;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans851 = R.mC();\n}\nwhile(!R.isContinuation($ans851)) {\nswitch($step846) {\ncase 0: $step846 = 1;\n$al852 = L[211];\nR._cA(L[211],AVLTree105,left849);\nbreak;\ncase 1: $step846 = 2;\n$al852 = L[212];\nR._cA(L[212],AVLTree105,right850);\nbreak;\ncase 2: $step846 = 3;\n$ans851 = R.maybeMethodCall0(left849,\"height\",L[208]);\nbreak;\ncase 3: var anf_arg858 = $ans851;\n$step846 = 4;\n$ans851 = R.maybeMethodCall0(right850,\"height\",L[209]);\nbreak;\ncase 4: var anf_arg861 = $ans851;\n// caller optimization;\n$ans851 = num$max15.app(anf_arg858,anf_arg861);\nvar anf_arg867 = $ans851;\n$step846 = 5;\n$al852 = L[210];\n// omitting isFunction check;\n$ans851 = _plus5.app(anf_arg867,(1));\nbreak;\ncase 5: var anf_arg47 = $ans851;\n// caller optimization;\n$ans851 = branch810.$var.app(val848,anf_arg47,left849,right850);\n$step846 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans851;\ndefault: R.ffi.throwSpinnakerError(L[207],$step846);\n}\n}\nif($step846 !== 6) {\n$ans851.stack[R.EXN_STACKHEIGHT++] = R.mAR($al852,$temp_lam847,$step846,[val848,left849,right850],[anf_arg858],$elidedFrames854);\n}\nreturn $ans851;\n};\nvar anf_assign870 = R.mF($temp_lam847,\"mkbranch\");\nmkbranch97.$var = anf_assign870;\nR.nothing;\nvar $temp_lam873 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__213($tree874) {\nvar $step872 = 0;\nvar $elidedFrames878 = 0;\nvar $ans875 = D;\nvar $al876 = L[213];\nif(R.isAR($tree874)) {\n$step872 = $tree874.step;\n$al876 = $tree874.from;\n$ans875 = $tree874.ans;\n$elidedFrames878 = $tree874.elidedFrames;\ntree874 = $tree874.args[0];\nanf_arg1053 = $tree874.vars[0];\nanf_arg1065 = $tree874.vars[1];\nleft$right995 = $tree874.vars[2];\nleft$left921 = $tree874.vars[3];\nlh1034 = $tree874.vars[4];\nright$right953 = $tree874.vars[5];\nrh1035 = $tree874.vars[6];\nright$left1031 = $tree874.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[213],1,$t,false);\n}\nvar tree874 = $tree874;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans875 = R.mC();\n}\nwhile(!R.isContinuation($ans875)) {\nswitch($step872) {\ncase 0: $step872 = 1;\n$al876 = L[303];\nR._cA(L[303],AVLTree105,tree874);\nbreak;\ncase 1: var left$left921 = {\"$var\":D};\nvar right$right953 = {\"$var\":D};\nvar left$right995 = {\"$var\":D};\nvar right$left1031 = {\"$var\":D};\nvar $temp_lam880 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__214($t881) {\nvar $step879 = 0;\nvar $elidedFrames885 = 0;\nvar $ans882 = D;\nvar $al883 = L[214];\nif(R.isAR($t881)) {\n$step879 = $t881.step;\n$al883 = $t881.from;\n$ans882 = $t881.ans;\n$elidedFrames885 = $t881.elidedFrames;\nt881 = $t881.args[0];\nanf_arg902 = $t881.vars[0];\nanf_arg905 = $t881.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[214],1,$t,false);\n}\nvar t881 = $t881;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans882 = R.mC();\n}\nwhile(!R.isContinuation($ans882)) {\nswitch($step879) {\ncase 0: $al883 = L[215];\nvar anf_bracket886 = G(t881,\"left\",L[215]);\n$al883 = L[216];\nvar anf_arg902 = G(anf_bracket886,\"value\",L[216]);\n$al883 = L[217];\nvar anf_bracket887 = G(t881,\"left\",L[217]);\n$al883 = L[218];\nvar anf_arg905 = G(anf_bracket887,\"left\",L[218]);\n$al883 = L[219];\nvar anf_arg889 = G(t881,\"value\",L[219]);\n$al883 = L[220];\nvar anf_bracket888 = G(t881,\"left\",L[220]);\n$al883 = L[221];\nvar anf_arg892 = G(anf_bracket888,\"right\",L[221]);\n$al883 = L[222];\nvar anf_arg900 = G(t881,\"right\",L[222]);\n$step879 = 1;\n$al883 = L[224];\n// omitting isFunction check;\n$ans882 = mkbranch97.$var.app(anf_arg889,anf_arg892,anf_arg900);\nbreak;\ncase 1: var anf_arg918 = $ans882;\n$step879 = 2;\n$al883 = L[223];\n// omitting isFunction check;\n$ans882 = mkbranch97.$var.app(anf_arg902,anf_arg905,anf_arg918);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans882;\ndefault: R.ffi.throwSpinnakerError(L[214],$step879);\n}\n}\nif($step879 !== 2) {\n$ans882.stack[R.EXN_STACKHEIGHT++] = R.mAR($al883,$temp_lam880,$step879,[t881],[anf_arg902,anf_arg905],$elidedFrames885);\n}\nreturn $ans882;\n};\nvar anf_assign920 = R.mF($temp_lam880,\"left-left\");\nleft$left921.$var = anf_assign920;\nR.nothing;\nvar $temp_lam923 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__225($t924) {\nvar $step922 = 0;\nvar $elidedFrames929 = 0;\nvar $ans926 = D;\nvar $al927 = L[225];\nif(R.isAR($t924)) {\n$step922 = $t924.step;\n$al927 = $t924.from;\n$ans926 = $t924.ans;\n$elidedFrames929 = $t924.elidedFrames;\nt924 = $t924.args[0];\nanf_arg936 = $t924.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[225],1,$t,false);\n}\nvar t924 = $t924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans926 = R.mC();\n}\nwhile(!R.isContinuation($ans926)) {\nswitch($step922) {\ncase 0: $al927 = L[226];\nvar anf_bracket930 = G(t924,\"right\",L[226]);\n$al927 = L[227];\nvar anf_arg936 = G(anf_bracket930,\"value\",L[227]);\n$al927 = L[228];\nvar anf_arg932 = G(t924,\"value\",L[228]);\n$al927 = L[229];\nvar anf_arg933 = G(t924,\"left\",L[229]);\n$al927 = L[230];\nvar anf_bracket931 = G(t924,\"right\",L[230]);\n$al927 = L[231];\nvar anf_arg934 = G(anf_bracket931,\"left\",L[231]);\n$step922 = 1;\n$al927 = L[235];\n// omitting isFunction check;\n$ans926 = mkbranch97.$var.app(anf_arg932,anf_arg933,anf_arg934);\nbreak;\ncase 1: var anf_arg946 = $ans926;\n$al927 = L[232];\nvar anf_bracket935 = G(t924,\"right\",L[232]);\n$al927 = L[233];\nvar anf_arg950 = G(anf_bracket935,\"right\",L[233]);\n$step922 = 2;\n$al927 = L[234];\n// omitting isFunction check;\n$ans926 = mkbranch97.$var.app(anf_arg936,anf_arg946,anf_arg950);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans926;\ndefault: R.ffi.throwSpinnakerError(L[225],$step922);\n}\n}\nif($step922 !== 2) {\n$ans926.stack[R.EXN_STACKHEIGHT++] = R.mAR($al927,$temp_lam923,$step922,[t924],[anf_arg936],$elidedFrames929);\n}\nreturn $ans926;\n};\nvar anf_assign952 = R.mF($temp_lam923,\"right-right\");\nright$right953.$var = anf_assign952;\nR.nothing;\nvar $temp_lam955 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__236($t956) {\nvar $step954 = 0;\nvar $elidedFrames961 = 0;\nvar $ans958 = D;\nvar $al959 = L[236];\nif(R.isAR($t956)) {\n$step954 = $t956.step;\n$al959 = $t956.from;\n$ans958 = $t956.ans;\n$elidedFrames961 = $t956.elidedFrames;\nt956 = $t956.args[0];\nanf_arg990 = $t956.vars[0];\nanf_arg991 = $t956.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[236],1,$t,false);\n}\nvar t956 = $t956;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans958 = R.mC();\n}\nwhile(!R.isContinuation($ans958)) {\nswitch($step954) {\ncase 0: $al959 = L[237];\nvar anf_bracket962 = G(t956,\"left\",L[237]);\n$al959 = L[238];\nvar anf_bracket963 = G(anf_bracket962,\"right\",L[238]);\n$al959 = L[239];\nvar anf_arg990 = G(anf_bracket963,\"value\",L[239]);\n$al959 = L[240];\nvar anf_bracket964 = G(t956,\"left\",L[240]);\n$al959 = L[241];\nvar anf_arg968 = G(anf_bracket964,\"value\",L[241]);\n$al959 = L[242];\nvar anf_bracket965 = G(t956,\"left\",L[242]);\n$al959 = L[243];\nvar anf_arg976 = G(anf_bracket965,\"left\",L[243]);\n$al959 = L[244];\nvar anf_bracket966 = G(t956,\"left\",L[244]);\n$al959 = L[245];\nvar anf_bracket967 = G(anf_bracket966,\"right\",L[245]);\n$al959 = L[246];\nvar anf_arg984 = G(anf_bracket967,\"left\",L[246]);\n$step954 = 1;\n$al959 = L[254];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg968,anf_arg976,anf_arg984);\nbreak;\ncase 1: var anf_arg991 = $ans958;\n$al959 = L[247];\nvar anf_arg987 = G(t956,\"value\",L[247]);\n$al959 = L[248];\nvar anf_bracket985 = G(t956,\"left\",L[248]);\n$al959 = L[249];\nvar anf_bracket986 = G(anf_bracket985,\"right\",L[249]);\n$al959 = L[250];\nvar anf_arg988 = G(anf_bracket986,\"right\",L[250]);\n$al959 = L[251];\nvar anf_arg989 = G(t956,\"right\",L[251]);\n$step954 = 2;\n$al959 = L[253];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg987,anf_arg988,anf_arg989);\nbreak;\ncase 2: var anf_arg992 = $ans958;\n$step954 = 3;\n$al959 = L[252];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg990,anf_arg991,anf_arg992);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans958;\ndefault: R.ffi.throwSpinnakerError(L[236],$step954);\n}\n}\nif($step954 !== 3) {\n$ans958.stack[R.EXN_STACKHEIGHT++] = R.mAR($al959,$temp_lam955,$step954,[t956],[anf_arg990,anf_arg991],$elidedFrames961);\n}\nreturn $ans958;\n};\nvar anf_assign994 = R.mF($temp_lam955,\"left-right\");\nleft$right995.$var = anf_assign994;\nR.nothing;\nvar $temp_lam997 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__255($t998) {\nvar $step996 = 0;\nvar $elidedFrames1002 = 0;\nvar $ans999 = D;\nvar $al1000 = L[255];\nif(R.isAR($t998)) {\n$step996 = $t998.step;\n$al1000 = $t998.from;\n$ans999 = $t998.ans;\n$elidedFrames1002 = $t998.elidedFrames;\nt998 = $t998.args[0];\nanf_arg1023 = $t998.vars[0];\nanf_arg1025 = $t998.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[255],1,$t,false);\n}\nvar t998 = $t998;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans999 = R.mC();\n}\nwhile(!R.isContinuation($ans999)) {\nswitch($step996) {\ncase 0: $al1000 = L[256];\nvar anf_bracket1003 = G(t998,\"right\",L[256]);\n$al1000 = L[257];\nvar anf_bracket1004 = G(anf_bracket1003,\"left\",L[257]);\n$al1000 = L[258];\nvar anf_arg1023 = G(anf_bracket1004,\"value\",L[258]);\n$al1000 = L[259];\nvar anf_arg1009 = G(t998,\"value\",L[259]);\n$al1000 = L[260];\nvar anf_arg1013 = G(t998,\"left\",L[260]);\n$al1000 = L[261];\nvar anf_bracket1005 = G(t998,\"right\",L[261]);\n$al1000 = L[262];\nvar anf_bracket1006 = G(anf_bracket1005,\"left\",L[262]);\n$al1000 = L[263];\nvar anf_arg1014 = G(anf_bracket1006,\"left\",L[263]);\n$step996 = 1;\n$al1000 = L[273];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1009,anf_arg1013,anf_arg1014);\nbreak;\ncase 1: var anf_arg1025 = $ans999;\n$al1000 = L[264];\nvar anf_bracket1015 = G(t998,\"right\",L[264]);\n$al1000 = L[265];\nvar anf_arg1019 = G(anf_bracket1015,\"value\",L[265]);\n$al1000 = L[266];\nvar anf_bracket1016 = G(t998,\"right\",L[266]);\n$al1000 = L[267];\nvar anf_bracket1017 = G(anf_bracket1016,\"left\",L[267]);\n$al1000 = L[268];\nvar anf_arg1020 = G(anf_bracket1017,\"right\",L[268]);\n$al1000 = L[269];\nvar anf_bracket1018 = G(t998,\"right\",L[269]);\n$al1000 = L[270];\nvar anf_arg1021 = G(anf_bracket1018,\"right\",L[270]);\n$step996 = 2;\n$al1000 = L[272];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1019,anf_arg1020,anf_arg1021);\nbreak;\ncase 2: var anf_arg1028 = $ans999;\n$step996 = 3;\n$al1000 = L[271];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1023,anf_arg1025,anf_arg1028);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans999;\ndefault: R.ffi.throwSpinnakerError(L[255],$step996);\n}\n}\nif($step996 !== 3) {\n$ans999.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1000,$temp_lam997,$step996,[t998],[anf_arg1023,anf_arg1025],$elidedFrames1002);\n}\nreturn $ans999;\n};\nvar anf_assign1030 = R.mF($temp_lam997,\"right-left\");\nright$left1031.$var = anf_assign1030;\nR.nothing;\n$al876 = L[274];\nvar anf_method_obj1032 = G(tree874,\"left\",L[274]);\n$step872 = 2;\n$ans875 = R.maybeMethodCall0(anf_method_obj1032,\"height\",L[275]);\nbreak;\ncase 2: var lh1034 = $ans875;\n$al876 = L[276];\nvar anf_method_obj1033 = G(tree874,\"right\",L[276]);\n$step872 = 3;\n$ans875 = R.maybeMethodCall0(anf_method_obj1033,\"height\",L[277]);\nbreak;\ncase 3: var rh1035 = $ans875;\n$step872 = 4;\n$al876 = L[302];\n// omitting isFunction check;\n$ans875 = _minus9.app(lh1034,rh1035);\nbreak;\ncase 4: var anf_arg1036 = $ans875;\n// caller optimization;\n$ans875 = num$abs2.app(anf_arg1036);\nvar anf_arg1037 = $ans875;\n$step872 = 5;\n$al876 = L[301];\n// omitting isFunction check;\n$ans875 = _lessequal4.app(anf_arg1037,(1));\nbreak;\ncase 5: var anf_if1072 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1072)?6:7;\nbreak;\ncase 6: $step872 = 26;\n$ans875 = tree874;\nbreak;\ncase 7: $step872 = 8;\n$al876 = L[300];\n// omitting isFunction check;\n$ans875 = _minus9.app(lh1034,rh1035);\nbreak;\ncase 8: var anf_arg1038 = $ans875;\n$step872 = 9;\n$al876 = L[299];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,equal$always1);\n}\n$ans875 = equal$always1.app(anf_arg1038,(2));\nbreak;\ncase 9: var anf_if1071 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1071)?10:16;\nbreak;\ncase 10: $al876 = L[278];\nvar anf_bracket1039 = G(tree874,\"left\",L[278]);\n$al876 = L[279];\nvar anf_method_obj1040 = G(anf_bracket1039,\"left\",L[279]);\n$step872 = 11;\n$ans875 = R.maybeMethodCall0(anf_method_obj1040,\"height\",L[280]);\nbreak;\ncase 11: var anf_arg1053 = $ans875;\n$al876 = L[281];\nvar anf_bracket1041 = G(tree874,\"left\",L[281]);\n$al876 = L[282];\nvar anf_method_obj1042 = G(anf_bracket1041,\"right\",L[282]);\n$step872 = 12;\n$ans875 = R.maybeMethodCall0(anf_method_obj1042,\"height\",L[283]);\nbreak;\ncase 12: var anf_arg1054 = $ans875;\n$step872 = 13;\n$al876 = L[286];\n// omitting isFunction check;\n$ans875 = _greaterequal2.app(anf_arg1053,anf_arg1054);\nbreak;\ncase 13: var anf_if1055 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1055)?14:15;\nbreak;\ncase 14: $step872 = 26;\n$al876 = L[284];\n// omitting isFunction check;\n$ans875 = left$left921.$var.app(tree874);\nbreak;\ncase 15: $step872 = 26;\n$al876 = L[285];\n// omitting isFunction check;\n$ans875 = left$right995.$var.app(tree874);\nbreak;\ncase 16: $step872 = 17;\n$al876 = L[298];\n// omitting isFunction check;\n$ans875 = _minus9.app(rh1035,lh1034);\nbreak;\ncase 17: var anf_arg1057 = $ans875;\n$step872 = 18;\n$al876 = L[297];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,equal$always1);\n}\n$ans875 = equal$always1.app(anf_arg1057,(2));\nbreak;\ncase 18: var anf_if1070 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1070)?19:25;\nbreak;\ncase 19: $al876 = L[287];\nvar anf_bracket1059 = G(tree874,\"right\",L[287]);\n$al876 = L[288];\nvar anf_method_obj1060 = G(anf_bracket1059,\"right\",L[288]);\n$step872 = 20;\n$ans875 = R.maybeMethodCall0(anf_method_obj1060,\"height\",L[289]);\nbreak;\ncase 20: var anf_arg1065 = $ans875;\n$al876 = L[290];\nvar anf_bracket1061 = G(tree874,\"right\",L[290]);\n$al876 = L[291];\nvar anf_method_obj1062 = G(anf_bracket1061,\"left\",L[291]);\n$step872 = 21;\n$ans875 = R.maybeMethodCall0(anf_method_obj1062,\"height\",L[292]);\nbreak;\ncase 21: var anf_arg1068 = $ans875;\n$step872 = 22;\n$al876 = L[295];\n// omitting isFunction check;\n$ans875 = _greaterequal2.app(anf_arg1065,anf_arg1068);\nbreak;\ncase 22: var anf_if1069 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1069)?23:24;\nbreak;\ncase 23: $step872 = 26;\n$al876 = L[293];\n// omitting isFunction check;\n$ans875 = right$right953.$var.app(tree874);\nbreak;\ncase 24: $step872 = 26;\n$al876 = L[294];\n// omitting isFunction check;\n$ans875 = right$left1031.$var.app(tree874);\nbreak;\ncase 25: $step872 = 26;\n$al876 = L[296];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,raise1);\n}\n$ans875 = raise1.app((\"AVL tree invariant has been broken!\"));\nbreak;\ncase 26: ++R.GAS;\nreturn $ans875;\ndefault: R.ffi.throwSpinnakerError(L[213],$step872);\n}\n}\nif($step872 !== 26) {\n$ans875.stack[R.EXN_STACKHEIGHT++] = R.mAR($al876,$temp_lam873,$step872,[tree874],[anf_arg1053,anf_arg1065,left$right995,left$left921,lh1034,right$right953,rh1035,right$left1031],$elidedFrames878);\n}\nreturn $ans875;\n};\nvar anf_assign1074 = R.mF($temp_lam873,\"rebalance\");\nrebalance328.$var = anf_assign1074;\nR.nothing;\nvar $temp_lam1076 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__304($tree1077) {\nvar $step1075 = 0;\nvar $elidedFrames1081 = 0;\nvar $ans1078 = D;\nvar $al1079 = L[304];\nif(R.isAR($tree1077)) {\n$step1075 = $tree1077.step;\n$al1079 = $tree1077.from;\n$ans1078 = $tree1077.ans;\n$elidedFrames1081 = $tree1077.elidedFrames;\ntree1077 = $tree1077.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[304],1,$t,false);\n}\nvar tree1077 = $tree1077;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1078 = R.mC();\n}\nwhile(!R.isContinuation($ans1078)) {\nswitch($step1075) {\ncase 0: $step1075 = 1;\n$al1079 = L[312];\nR._cA(L[312],AVLTree105,tree1077);\nbreak;\ncase 1: $al1079 = L[305];\nvar anf_arg433 = G(tree1077,\"left\",L[305]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg433);\nvar anf_if438 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if438)?2:5;\nbreak;\ncase 2: $al1079 = L[306];\nvar anf_arg1085 = G(tree1077,\"right\",L[306]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg1085);\nvar anf_if1086 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if1086)?3:4;\nbreak;\ncase 3: $step1075 = 8;\n$ans1078 = leaf98.$var;\nbreak;\ncase 4: $step1075 = 8;\n$al1079 = L[307];\n$ans1078 = G(tree1077,\"right\",L[307]);\nbreak;\ncase 5: $al1079 = L[308];\nvar anf_arg1087 = G(tree1077,\"right\",L[308]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg1087);\nvar anf_if1090 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if1090)?6:7;\nbreak;\ncase 6: $step1075 = 8;\n$al1079 = L[309];\n$ans1078 = G(tree1077,\"left\",L[309]);\nbreak;\ncase 7: var anf_fun1089 = swap$next$lowest1088.$var === D?U(L[310],\"swap-next-lowest\"):swap$next$lowest1088.$var;\n$step1075 = 8;\n$al1079 = L[311];\nif(typeof(anf_fun1089.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1079,anf_fun1089);\n}\n$ans1078 = anf_fun1089.app(tree1077);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1078;\ndefault: R.ffi.throwSpinnakerError(L[304],$step1075);\n}\n}\nif($step1075 !== 8) {\n$ans1078.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1079,$temp_lam1076,$step1075,[tree1077],[],$elidedFrames1081);\n}\nreturn $ans1078;\n};\nvar anf_assign1092 = R.mF($temp_lam1076,\"remove-root\");\nremove$root361.$var = anf_assign1092;\nR.nothing;\nvar $temp_lam1094 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__313($tree1095) {\nvar $step1093 = 0;\nvar $elidedFrames1099 = 0;\nvar $ans1096 = D;\nvar $al1097 = L[313];\nif(R.isAR($tree1095)) {\n$step1093 = $tree1095.step;\n$al1097 = $tree1095.from;\n$ans1096 = $tree1095.ans;\n$elidedFrames1099 = $tree1095.elidedFrames;\ntree1095 = $tree1095.args[0];\nremove$greatest$and$rebalance1131 = $tree1095.vars[0];\nanf_arg485 = $tree1095.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[313],1,$t,false);\n}\nvar tree1095 = $tree1095;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1096 = R.mC();\n}\nwhile(!R.isContinuation($ans1096)) {\nswitch($step1093) {\ncase 0: $step1093 = 1;\n$al1097 = L[337];\nR._cA(L[337],AVLTree105,tree1095);\nbreak;\ncase 1: var greatest1109 = {\"$var\":D};\nvar remove$greatest$and$rebalance1131 = {\"$var\":D};\nvar $temp_lam1101 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__314($t1102) {\nvar $step1100 = 0;\nvar $elidedFrames1106 = 0;\nvar $ans1103 = D;\nvar $al1104 = L[314];\nif(R.isAR($t1102)) {\n$step1100 = $t1102.step;\n$al1104 = $t1102.from;\n$ans1103 = $t1102.ans;\n$elidedFrames1106 = $t1102.elidedFrames;\nt1102 = $t1102.args[0];\ncases1107 = $t1102.vars[0];\nright1108 = $t1102.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[314],1,$t,false);\n}\nvar t1102 = $t1102;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1103 = R.mC();\n}\nwhile(!R.isContinuation($ans1103)) {\nswitch($step1100) {\ncase 0: var cases1107 = t1102;\n$step1100 = 1;\n$al1104 = L[319];\nvar $ann$check1117 = R._cA(L[319],AVLTree105,cases1107);\nif(R.isContinuation($ann$check1117)) {\n$ans1103 = $ann$check1117;\n}\nbreak;\ncase 1: $al1104 = L[317];\n$step1100 = $cases_dispatch1116[cases1107.$name] || 6;\nbreak;\ncase 2: if(cases1107.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[316],false,L[317],cases1107.$loc);\n}\n$step1100 = 7;\n$al1104 = L[315];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1104,raise1);\n}\n$ans1103 = raise1.app((\"Went too far in traversal step\"));\nbreak;\ncase 3: if(cases1107.$arity !== 4) {\nif(cases1107.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[318],4,cases1107.$arity,L[317],cases1107.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[318],true,L[317],cases1107.$loc);\n}\n}\nvar $fn1112 = cases1107.$constructor.$fieldNames;\nR.dF(cases1107.dict[$fn1112[0]],cases1107.$mut_fields_mask[0],false);\nR.dF(cases1107.dict[$fn1112[1]],cases1107.$mut_fields_mask[1],false);\nR.dF(cases1107.dict[$fn1112[2]],cases1107.$mut_fields_mask[2],false);\nvar right1108 = R.dF(cases1107.dict[$fn1112[3]],cases1107.$mut_fields_mask[3],false);\n// caller optimization;\n$ans1103 = is$leaf805.$var.app(right1108);\nvar anf_if1110 = $ans1103;\n$step1100 = R.checkPyretTrue(anf_if1110)?4:5;\nbreak;\ncase 4: $step1100 = 7;\n$ans1103 = t1102;\nbreak;\ncase 5: $step1100 = 0;\n++$elidedFrames1106;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1103 = R.mC();\n}\nt1102 = right1108;\ncontinue;\ncase 6: $ans1103 = R.throwNoCasesMatched(L[317],cases1107);\n$step1100 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1103;\ndefault: R.ffi.throwSpinnakerError(L[314],$step1100);\n}\n}\nif($step1100 !== 7) {\n$ans1103.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1104,$temp_lam1101,$step1100,[t1102],[cases1107,right1108],$elidedFrames1106);\n}\nreturn $ans1103;\n};\nvar anf_assign1119 = R.mF($temp_lam1101,\"greatest\");\ngreatest1109.$var = anf_assign1119;\nR.nothing;\nvar $temp_lam1121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__320($t1122) {\nvar $step1120 = 0;\nvar $elidedFrames1127 = 0;\nvar $ans1124 = D;\nvar $al1125 = L[320];\nif(R.isAR($t1122)) {\n$step1120 = $t1122.step;\n$al1125 = $t1122.from;\n$ans1124 = $t1122.ans;\n$elidedFrames1127 = $t1122.elidedFrames;\nt1122 = $t1122.args[0];\nright1129 = $t1122.vars[0];\nleft1130 = $t1122.vars[1];\nval1132 = $t1122.vars[2];\ncases1128 = $t1122.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[320],1,$t,false);\n}\nvar t1122 = $t1122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1124 = R.mC();\n}\nwhile(!R.isContinuation($ans1124)) {\nswitch($step1120) {\ncase 0: var cases1128 = t1122;\n$step1120 = 1;\n$al1125 = L[328];\nvar $ann$check1139 = R._cA(L[328],AVLTree105,cases1128);\nif(R.isContinuation($ann$check1139)) {\n$ans1124 = $ann$check1139;\n}\nbreak;\ncase 1: $al1125 = L[323];\n$step1120 = $cases_dispatch1138[cases1128.$name] || 8;\nbreak;\ncase 2: if(cases1128.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[322],false,L[323],cases1128.$loc);\n}\n$step1120 = 9;\n$al1125 = L[321];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1125,raise1);\n}\n$ans1124 = raise1.app((\"Went too far in removal step\"));\nbreak;\ncase 3: if(cases1128.$arity !== 4) {\nif(cases1128.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[327],4,cases1128.$arity,L[323],cases1128.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[327],true,L[323],cases1128.$loc);\n}\n}\nvar $fn1136 = cases1128.$constructor.$fieldNames;\nvar val1132 = R.dF(cases1128.dict[$fn1136[0]],cases1128.$mut_fields_mask[0],false);\nR.dF(cases1128.dict[$fn1136[1]],cases1128.$mut_fields_mask[1],false);\nvar left1130 = R.dF(cases1128.dict[$fn1136[2]],cases1128.$mut_fields_mask[2],false);\nvar right1129 = R.dF(cases1128.dict[$fn1136[3]],cases1128.$mut_fields_mask[3],false);\n// caller optimization;\n$ans1124 = is$leaf805.$var.app(right1129);\nvar anf_if1134 = $ans1124;\n$step1120 = R.checkPyretTrue(anf_if1134)?4:5;\nbreak;\ncase 4: $step1120 = 9;\n$ans1124 = left1130;\nbreak;\ncase 5: $step1120 = 6;\n$al1125 = L[326];\n// omitting isFunction check;\n$ans1124 = remove$greatest$and$rebalance1131.$var.app(right1129);\nbreak;\ncase 6: var anf_arg1133 = $ans1124;\n$step1120 = 7;\n$al1125 = L[325];\n// omitting isFunction check;\n$ans1124 = mkbranch97.$var.app(val1132,left1130,anf_arg1133);\nbreak;\ncase 7: var anf_arg467 = $ans1124;\n$step1120 = 9;\n$al1125 = L[324];\n// omitting isFunction check;\n$ans1124 = rebalance328.$var.app(anf_arg467);\nbreak;\ncase 8: $ans1124 = R.throwNoCasesMatched(L[323],cases1128);\n$step1120 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1124;\ndefault: R.ffi.throwSpinnakerError(L[320],$step1120);\n}\n}\nif($step1120 !== 9) {\n$ans1124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1125,$temp_lam1121,$step1120,[t1122],[right1129,left1130,val1132,cases1128],$elidedFrames1127);\n}\nreturn $ans1124;\n};\nvar anf_assign1141 = R.mF($temp_lam1121,\"remove-greatest-and-rebalance\");\nremove$greatest$and$rebalance1131.$var = anf_assign1141;\nR.nothing;\n$al1097 = L[329];\nvar anf_arg1143 = G(tree1095,\"left\",L[329]);\n$step1093 = 2;\n$al1097 = L[336];\n// omitting isFunction check;\n$ans1096 = greatest1109.$var.app(anf_arg1143);\nbreak;\ncase 2: var anf_bracket1144 = $ans1096;\n$al1097 = L[330];\nvar anf_arg485 = G(anf_bracket1144,\"value\",L[330]);\n$al1097 = L[331];\nvar anf_arg1147 = G(tree1095,\"left\",L[331]);\n$step1093 = 3;\n$al1097 = L[335];\n// omitting isFunction check;\n$ans1096 = remove$greatest$and$rebalance1131.$var.app(anf_arg1147);\nbreak;\ncase 3: var anf_arg1148 = $ans1096;\n$al1097 = L[332];\nvar anf_arg498 = G(tree1095,\"right\",L[332]);\n$step1093 = 4;\n$al1097 = L[334];\n// omitting isFunction check;\n$ans1096 = mkbranch97.$var.app(anf_arg485,anf_arg1148,anf_arg498);\nbreak;\ncase 4: var anf_arg1149 = $ans1096;\n$step1093 = 5;\n$al1097 = L[333];\n// omitting isFunction check;\n$ans1096 = rebalance328.$var.app(anf_arg1149);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1096;\ndefault: R.ffi.throwSpinnakerError(L[313],$step1093);\n}\n}\nif($step1093 !== 5) {\n$ans1096.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1097,$temp_lam1094,$step1093,[tree1095],[remove$greatest$and$rebalance1131,anf_arg485],$elidedFrames1099);\n}\nreturn $ans1096;\n};\nvar anf_assign1151 = R.mF($temp_lam1094,\"swap-next-lowest\");\nswap$next$lowest1088.$var = anf_assign1151;\nR.nothing;\nvar $temp_full1153 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__338($self1154,$other1155) {\nvar $step1152 = 0;\nvar $elidedFrames1159 = 0;\nvar $ans1156 = D;\nvar $al1157 = L[338];\nif(R.isAR($self1154)) {\n$step1152 = $self1154.step;\n$al1157 = $self1154.from;\n$ans1156 = $self1154.ans;\n$elidedFrames1159 = $self1154.elidedFrames;\nself1154 = $self1154.args[0];\nother1155 = $self1154.args[1];\nanf_method_obj1160 = $self1154.vars[0];\nann_check_temp1165 = $self1154.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[338],2,$t,true);\n}\nvar self1154 = $self1154;\nvar other1155 = $other1155;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1156 = R.mC();\n}\nwhile(!R.isContinuation($ans1156)) {\nswitch($step1152) {\ncase 0: $step1152 = 1;\n$al1157 = L[343];\nR._cA(L[343],Set1166,self1154);\nbreak;\ncase 1: $step1152 = 2;\n$al1157 = L[344];\nR._cA(L[344],Set1166,other1155);\nbreak;\ncase 2: $step1152 = 3;\n$ans1156 = R.maybeMethodCall1(self1154,\"union\",L[339],other1155);\nbreak;\ncase 3: var anf_method_obj1160 = $ans1156;\n$step1152 = 4;\n$ans1156 = R.maybeMethodCall1(self1154,\"intersect\",L[340],other1155);\nbreak;\ncase 4: var anf_arg1164 = $ans1156;\n$step1152 = 5;\n$ans1156 = R.maybeMethodCall1(anf_method_obj1160,\"difference\",L[341],anf_arg1164);\nbreak;\ncase 5: var ann_check_temp1165 = $ans1156;\n$step1152 = 6;\n$al1157 = L[342];\nvar $ann$check1167 = R._cA(L[342],Set1166,ann_check_temp1165);\nif(R.isContinuation($ann$check1167)) {\n$ans1156 = $ann$check1167;\n}\nbreak;\ncase 6: $step1152 = 7;\n$ans1156 = ann_check_temp1165;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1156;\ndefault: R.ffi.throwSpinnakerError(L[338],$step1152);\n}\n}\nif($step1152 !== 7) {\n$ans1156.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1157,$temp_full1153,$step1152,[self1154,other1155],[anf_method_obj1160,ann_check_temp1165],$elidedFrames1159);\n}\nreturn $ans1156;\n};\nvar anf_shared1714 = R.makeMethod1($temp_full1153,\"symmetric-difference\");\nvar $temp_full1171 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__345($self1172,$other1173,$eq1174) {\nvar $step1170 = 0;\nvar $elidedFrames1179 = 0;\nvar $ans1176 = D;\nvar $al1177 = L[345];\nif(R.isAR($self1172)) {\n$step1170 = $self1172.step;\n$al1177 = $self1172.from;\n$ans1176 = $self1172.ans;\n$elidedFrames1179 = $self1172.elidedFrames;\nself1172 = $self1172.args[0];\nother1173 = $self1172.args[1];\neq1174 = $self1172.args[2];\nother$list1183 = $self1172.vars[0];\nself$list1184 = $self1172.vars[1];\nanf_arg1190 = $self1172.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[345],3,$t,true);\n}\nvar self1172 = $self1172;\nvar other1173 = $other1173;\nvar eq1174 = $eq1174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1176 = R.mC();\n}\nwhile(!R.isContinuation($ans1176)) {\nswitch($step1170) {\ncase 0: var anf_fun1181 = is$Set1180.$var === D?U(L[346],\"is-Set\"):is$Set1180.$var;\n$step1170 = 1;\n$al1177 = L[359];\nif(typeof(anf_fun1181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,anf_fun1181);\n}\n$ans1176 = anf_fun1181.app(other1173);\nbreak;\ncase 1: var anf_arg1182 = $ans1176;\n$step1170 = 2;\n$al1177 = L[358];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,not5);\n}\n$ans1176 = not5.app(anf_arg1182);\nbreak;\ncase 2: var anf_if1212 = $ans1176;\n$step1170 = R.checkPyretTrue(anf_if1212)?3:4;\nbreak;\ncase 3: $step1170 = 13;\n$al1177 = L[347];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans1176 = equality12.dict.values.dict[\"NotEqual\"].app((\"Non-Set\"),self1172,other1173);\nbreak;\ncase 4: $step1170 = 5;\n$ans1176 = R.maybeMethodCall0(self1172,\"to-list\",L[348]);\nbreak;\ncase 5: var self$list1184 = $ans1176;\n$step1170 = 6;\n$ans1176 = R.maybeMethodCall0(other1173,\"to-list\",L[349]);\nbreak;\ncase 6: var other$list1183 = $ans1176;\n$step1170 = 7;\n$ans1176 = R.maybeMethodCall0(other$list1183,\"length\",L[350]);\nbreak;\ncase 7: var anf_arg1190 = $ans1176;\n$step1170 = 8;\n$ans1176 = R.maybeMethodCall0(self$list1184,\"length\",L[351]);\nbreak;\ncase 8: var anf_arg538 = $ans1176;\n$step1170 = 9;\n$al1177 = L[357];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equal$always1);\n}\n$ans1176 = equal$always1.app(anf_arg1190,anf_arg538);\nbreak;\ncase 9: var anf_arg1194 = $ans1176;\n$step1170 = 10;\n$al1177 = L[356];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,not5);\n}\n$ans1176 = not5.app(anf_arg1194);\nbreak;\ncase 10: var anf_if1211 = $ans1176;\n$step1170 = R.checkPyretTrue(anf_if1211)?11:12;\nbreak;\ncase 11: $step1170 = 13;\n$al1177 = L[352];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans1176 = equality12.dict.values.dict[\"NotEqual\"].app((\"set size\"),self1172,other1173);\nbreak;\ncase 12: var $temp_lam1196 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__353($result1197,$elt1198) {\nvar $step1195 = 0;\nvar $elidedFrames1202 = 0;\nvar $ans1199 = D;\nvar $al1200 = L[353];\nif(R.isAR($result1197)) {\n$step1195 = $result1197.step;\n$al1200 = $result1197.from;\n$ans1199 = $result1197.ans;\n$elidedFrames1202 = $result1197.elidedFrames;\nresult1197 = $result1197.args[0];\nelt1198 = $result1197.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[353],2,$t,false);\n}\nvar result1197 = $result1197;\nvar elt1198 = $elt1198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1199 = R.mC();\n}\nwhile(!R.isContinuation($ans1199)) {\nswitch($step1195) {\ncase 0: $step1195 = 1;\n$al1200 = L[355];\n// omitting isFunction check;\n$ans1199 = member$with11.app(other$list1183,elt1198,eq1174);\nbreak;\ncase 1: var result$for$elt1203 = $ans1199;\n$step1195 = 2;\n$al1200 = L[354];\nif(typeof(equality12.dict.values.dict[\"equal-and\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1200,equality12.dict.values.dict[\"equal-and\"]);\n}\n$ans1199 = equality12.dict.values.dict[\"equal-and\"].app(result1197,result$for$elt1203);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1199;\ndefault: R.ffi.throwSpinnakerError(L[353],$step1195);\n}\n}\nif($step1195 !== 2) {\n$ans1199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1200,$temp_lam1196,$step1195,[result1197,elt1198],[],$elidedFrames1202);\n}\nreturn $ans1199;\n};\nvar anf_arg1209 = R.mF($temp_lam1196,\"for-body\");\n$step1170 = 13;\n$al1177 = L[353];\n// omitting isFunction check;\n$ans1176 = fold6.app(anf_arg1209,equality12.dict.values.dict[\"Equal\"],self$list1184);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1176;\ndefault: R.ffi.throwSpinnakerError(L[345],$step1170);\n}\n}\nif($step1170 !== 13) {\n$ans1176.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1177,$temp_full1171,$step1170,[self1172,other1173,eq1174],[other$list1183,self$list1184,anf_arg1190],$elidedFrames1179);\n}\nreturn $ans1176;\n};\nvar anf_shared1715 = R.makeMethod2($temp_full1171,\"_equals\");\nvar $temp_full1215 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__360($self1216) {\nvar $step1214 = 0;\nvar $elidedFrames1221 = 0;\nvar $ans1218 = D;\nvar $al1219 = L[360];\nif(R.isAR($self1216)) {\n$step1214 = $self1216.step;\n$al1219 = $self1216.from;\n$ans1218 = $self1216.ans;\n$elidedFrames1221 = $self1216.elidedFrames;\nself1216 = $self1216.args[0];\ncases1222 = $self1216.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[360],1,$t,true);\n}\nvar self1216 = $self1216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1218 = R.mC();\n}\nwhile(!R.isContinuation($ans1218)) {\nswitch($step1214) {\ncase 0: $al1219 = L[361];\nvar lst1153 = G(self1216,\"elems\",L[361]);\nvar cases1222 = lst1153;\n$step1214 = 1;\n$al1219 = L[377];\nvar $ann$check1266 = R._cA(L[377],List7,cases1222);\nif(R.isContinuation($ann$check1266)) {\n$ans1218 = $ann$check1266;\n}\nbreak;\ncase 1: $al1219 = L[363];\n$step1214 = $cases_dispatch1265[cases1222.$name] || 4;\nbreak;\ncase 2: if(cases1222.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[362],false,L[363],cases1222.$loc);\n}\n$step1214 = 5;\n$ans1218 = pick$none9;\nbreak;\ncase 3: if(cases1222.$arity !== 2) {\nif(cases1222.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[376],2,cases1222.$arity,L[363],cases1222.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[376],true,L[363],cases1222.$loc);\n}\n}\n$step1214 = 5;\n$al1219 = L[376];\nvar $temp_branch1247 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__363($f1227,$r1223) {\nvar $step1248 = 0;\nvar $elidedFrames1252 = 0;\nvar $ans1249 = D;\nvar $al1250 = L[367];\nif(R.isAR($f1227)) {\n$step1248 = $f1227.step;\n$al1250 = $f1227.from;\n$ans1249 = $f1227.ans;\n$elidedFrames1252 = $f1227.elidedFrames;\nf1227 = $f1227.args[0];\nr1223 = $f1227.args[1];\ncases1224 = $f1227.vars[0];\n} else {\nvar f1227 = $f1227;\nvar r1223 = $r1223;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1249 = R.mC();\n}\nwhile(!R.isContinuation($ans1249)) {\nswitch($step1248) {\ncase 0: var cases1224 = r1223;\n$step1248 = 1;\n$al1250 = L[375];\nvar $ann$check1262 = R._cA(L[375],List7,cases1224);\nif(R.isContinuation($ann$check1262)) {\n$ans1249 = $ann$check1262;\n}\nbreak;\ncase 1: $al1250 = L[367];\n$step1248 = $cases_dispatch1261[cases1224.$name] || 5;\nbreak;\ncase 2: if(cases1224.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[366],false,L[367],cases1224.$loc);\n}\nvar anf_fun1226 = list$set1225.$var === D?U(L[364],\"list-set\"):list$set1225.$var;\n$step1248 = 3;\n$al1250 = L[365];\nif(typeof(anf_fun1226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1250,anf_fun1226);\n}\n$ans1249 = anf_fun1226.app(empty4);\nbreak;\ncase 3: var anf_arg1228 = $ans1249;\n// caller optimization;\n$ans1249 = pick$some10.app(f1227,anf_arg1228);\n$step1248 = 6;\nbreak;\ncase 4: if(cases1224.$arity !== 2) {\nif(cases1224.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[374],2,cases1224.$arity,L[367],cases1224.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[374],true,L[367],cases1224.$loc);\n}\n}\n$step1248 = 6;\n$al1250 = L[374];\nvar $temp_branch1253 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__367($f21235,$r21232) {\nvar $step1254 = 0;\nvar $elidedFrames1258 = 0;\nvar $ans1255 = D;\nvar $al1256 = L[373];\nif(R.isAR($f21235)) {\n$step1254 = $f21235.step;\n$al1256 = $f21235.from;\n$ans1255 = $f21235.ans;\n$elidedFrames1258 = $f21235.elidedFrames;\nf21235 = $f21235.args[0];\nr21232 = $f21235.args[1];\n} else {\nvar f21235 = $f21235;\nvar r21232 = $r21232;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1255 = R.mC();\n}\nwhile(!R.isContinuation($ans1255)) {\nswitch($step1254) {\ncase 0: // caller optimization;\n$ans1255 = random3.app((2));\nvar get$first1229 = $ans1255;\n$step1254 = 1;\n$al1256 = L[372];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,equal$always1);\n}\n$ans1255 = equal$always1.app(get$first1229,(0));\nbreak;\ncase 1: var anf_if1237 = $ans1255;\n$step1254 = R.checkPyretTrue(anf_if1237)?2:4;\nbreak;\ncase 2: var anf_fun1230 = list$set1225.$var === D?U(L[368],\"list-set\"):list$set1225.$var;\n$step1254 = 3;\n$al1256 = L[369];\nif(typeof(anf_fun1230.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,anf_fun1230);\n}\n$ans1255 = anf_fun1230.app(r1223);\nbreak;\ncase 3: var anf_arg1231 = $ans1255;\n// caller optimization;\n$ans1255 = pick$some10.app(f1227,anf_arg1231);\n$step1254 = 6;\nbreak;\ncase 4: var anf_fun1233 = list$set1225.$var === D?U(L[370],\"list-set\"):list$set1225.$var;\n// caller optimization;\n$ans1255 = link8.app(f1227,r21232);\nvar anf_arg1234 = $ans1255;\n$step1254 = 5;\n$al1256 = L[371];\nif(typeof(anf_fun1233.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,anf_fun1233);\n}\n$ans1255 = anf_fun1233.app(anf_arg1234);\nbreak;\ncase 5: var anf_arg1236 = $ans1255;\n// caller optimization;\n$ans1255 = pick$some10.app(f21235,anf_arg1236);\n$step1254 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1255;\ndefault: R.ffi.throwSpinnakerError(L[373],$step1254);\n}\n}\nif($step1254 !== 6) {\n$ans1255.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1256,$temp_branch1253,$step1254,[f21235,r21232],[],$elidedFrames1258);\n}\nreturn $ans1255;\n};\n$ans1249 = cases1224.$app_fields($temp_branch1253,[false,false]);\nbreak;\ncase 5: $ans1249 = R.throwNoCasesMatched(L[367],cases1224);\n$step1248 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1249;\ndefault: R.ffi.throwSpinnakerError(L[367],$step1248);\n}\n}\nif($step1248 !== 6) {\n$ans1249.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1250,$temp_branch1247,$step1248,[f1227,r1223],[cases1224],$elidedFrames1252);\n}\nreturn $ans1249;\n};\n$ans1218 = cases1222.$app_fields($temp_branch1247,[false,false]);\nbreak;\ncase 4: $ans1218 = R.throwNoCasesMatched(L[363],cases1222);\n$step1214 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1218;\ndefault: R.ffi.throwSpinnakerError(L[360],$step1214);\n}\n}\nif($step1214 !== 5) {\n$ans1218.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1219,$temp_full1215,$step1214,[self1216],[cases1222],$elidedFrames1221);\n}\nreturn $ans1218;\n};\nvar anf_variant_member1719 = R.makeMethod0($temp_full1215,\"pick\");\nvar $temp_full1269 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__378($self1270) {\nvar $step1268 = 0;\nvar $elidedFrames1274 = 0;\nvar $ans1271 = D;\nvar $al1272 = L[378];\nif(R.isAR($self1270)) {\n$step1268 = $self1270.step;\n$al1272 = $self1270.from;\n$ans1271 = $self1270.ans;\n$elidedFrames1274 = $self1270.elidedFrames;\nself1270 = $self1270.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[378],1,$t,true);\n}\nvar self1270 = $self1270;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1271 = R.mC();\n}\nwhile(!R.isContinuation($ans1271)) {\nswitch($step1268) {\ncase 0: $step1268 = 1;\n$ans1271 = R.maybeMethodCall0(self1270,\"to-list\",L[379]);\nbreak;\ncase 1: var anf_method_obj1275 = $ans1271;\n$step1268 = 2;\n$ans1271 = R.maybeMethodCall1(anf_method_obj1275,\"map\",L[380],VS16.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg1276 = $ans1271;\n$step1268 = 3;\n$al1272 = L[381];\nif(typeof(VS16.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1272,VS16.dict.values.dict[\"vs-collection\"]);\n}\n$ans1271 = VS16.dict.values.dict[\"vs-collection\"].app((\"list-set\"),anf_arg1276);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1271;\ndefault: R.ffi.throwSpinnakerError(L[378],$step1268);\n}\n}\nif($step1268 !== 3) {\n$ans1271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1272,$temp_full1269,$step1268,[self1270],[],$elidedFrames1274);\n}\nreturn $ans1271;\n};\nvar anf_variant_member1720 = R.makeMethod0($temp_full1269,\"_output\");\nvar $temp_full1279 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__382($self1280,$f1281,$base1282) {\nvar $step1278 = 0;\nvar $elidedFrames1286 = 0;\nvar $ans1283 = D;\nvar $al1284 = L[382];\nif(R.isAR($self1280)) {\n$step1278 = $self1280.step;\n$al1284 = $self1280.from;\n$ans1283 = $self1280.ans;\n$elidedFrames1286 = $self1280.elidedFrames;\nself1280 = $self1280.args[0];\nf1281 = $self1280.args[1];\nbase1282 = $self1280.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[382],3,$t,true);\n}\nvar self1280 = $self1280;\nvar f1281 = $f1281;\nvar base1282 = $base1282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1283 = R.mC();\n}\nwhile(!R.isContinuation($ans1283)) {\nswitch($step1278) {\ncase 0: $step1278 = 1;\n$al1284 = L[385];\nR._cA(L[385],R.Function,f1281);\nbreak;\ncase 1: $al1284 = L[383];\nvar anf_arg1288 = G(self1280,\"elems\",L[383]);\n$step1278 = 2;\n$al1284 = L[384];\n// omitting isFunction check;\n$ans1283 = fold6.app(f1281,base1282,anf_arg1288);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1283;\ndefault: R.ffi.throwSpinnakerError(L[382],$step1278);\n}\n}\nif($step1278 !== 2) {\n$ans1283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1284,$temp_full1279,$step1278,[self1280,f1281,base1282],[],$elidedFrames1286);\n}\nreturn $ans1283;\n};\nvar anf_variant_member1721 = R.makeMethod2($temp_full1279,\"fold\");\nvar $temp_full1291 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__386($self1292,$elem1293) {\nvar $step1290 = 0;\nvar $elidedFrames1297 = 0;\nvar $ans1294 = D;\nvar $al1295 = L[386];\nif(R.isAR($self1292)) {\n$step1290 = $self1292.step;\n$al1295 = $self1292.from;\n$ans1294 = $self1292.ans;\n$elidedFrames1297 = $self1292.elidedFrames;\nself1292 = $self1292.args[0];\nelem1293 = $self1292.args[1];\nann_check_temp1299 = $self1292.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[386],2,$t,true);\n}\nvar self1292 = $self1292;\nvar elem1293 = $elem1293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1294 = R.mC();\n}\nwhile(!R.isContinuation($ans1294)) {\nswitch($step1290) {\ncase 0: $al1295 = L[387];\nvar anf_method_obj1298 = G(self1292,\"elems\",L[387]);\n$step1290 = 1;\n$ans1294 = R.maybeMethodCall1(anf_method_obj1298,\"member\",L[388],elem1293);\nbreak;\ncase 1: var ann_check_temp1299 = $ans1294;\n$step1290 = 2;\n$al1295 = L[389];\nvar $ann$check1300 = R._cA(L[389],$type$Boolean6,ann_check_temp1299);\nif(R.isContinuation($ann$check1300)) {\n$ans1294 = $ann$check1300;\n}\nbreak;\ncase 2: $step1290 = 3;\n$ans1294 = ann_check_temp1299;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1294;\ndefault: R.ffi.throwSpinnakerError(L[386],$step1290);\n}\n}\nif($step1290 !== 3) {\n$ans1294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1295,$temp_full1291,$step1290,[self1292,elem1293],[ann_check_temp1299],$elidedFrames1297);\n}\nreturn $ans1294;\n};\nvar anf_variant_member1722 = R.makeMethod1($temp_full1291,\"member\");\nvar $temp_full1303 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__390($self902,$elem1304) {\nvar $step1302 = 0;\nvar $elidedFrames1308 = 0;\nvar $ans1305 = D;\nvar $al1306 = L[390];\nif(R.isAR($self902)) {\n$step1302 = $self902.step;\n$al1306 = $self902.from;\n$ans1305 = $self902.ans;\n$elidedFrames1308 = $self902.elidedFrames;\nself902 = $self902.args[0];\nelem1304 = $self902.args[1];\nann_check_temp1310 = $self902.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[390],2,$t,true);\n}\nvar self902 = $self902;\nvar elem1304 = $elem1304;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1305 = R.mC();\n}\nwhile(!R.isContinuation($ans1305)) {\nswitch($step1302) {\ncase 0: $al1306 = L[391];\nvar anf_method_obj1309 = G(self902,\"elems\",L[391]);\n$step1302 = 1;\n$ans1305 = R.maybeMethodCall1(anf_method_obj1309,\"member\",L[392],elem1304);\nbreak;\ncase 1: var anf_if1325 = $ans1305;\n$step1302 = R.checkPyretTrue(anf_if1325)?2:3;\nbreak;\ncase 2: $step1302 = 4;\n$ans1305 = self902;\nbreak;\ncase 3: var anf_fun1312 = list$set1225.$var === D?U(L[394],\"list-set\"):list$set1225.$var;\n$al1306 = L[395];\nvar anf_arg624 = G(self902,\"elems\",L[395]);\n// caller optimization;\n$ans1305 = link8.app(elem1304,anf_arg624);\nvar anf_arg1324 = $ans1305;\n$step1302 = 4;\n$al1306 = L[396];\nif(typeof(anf_fun1312.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1306,anf_fun1312);\n}\n$ans1305 = anf_fun1312.app(anf_arg1324);\nbreak;\ncase 4: var ann_check_temp1310 = $ans1305;\n$step1302 = 5;\n$al1306 = L[393];\nvar $ann$check1311 = R._cA(L[393],Set1166,ann_check_temp1310);\nif(R.isContinuation($ann$check1311)) {\n$ans1305 = $ann$check1311;\n}\nbreak;\ncase 5: $step1302 = 6;\n$ans1305 = ann_check_temp1310;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1305;\ndefault: R.ffi.throwSpinnakerError(L[390],$step1302);\n}\n}\nif($step1302 !== 6) {\n$ans1305.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1306,$temp_full1303,$step1302,[self902,elem1304],[ann_check_temp1310],$elidedFrames1308);\n}\nreturn $ans1305;\n};\nvar anf_variant_member1723 = R.makeMethod1($temp_full1303,\"add\");\nvar $temp_full1328 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__397($self1329,$elem1330) {\nvar $step1327 = 0;\nvar $elidedFrames1334 = 0;\nvar $ans1331 = D;\nvar $al1332 = L[397];\nif(R.isAR($self1329)) {\n$step1327 = $self1329.step;\n$al1332 = $self1329.from;\n$ans1331 = $self1329.ans;\n$elidedFrames1334 = $self1329.elidedFrames;\nself1329 = $self1329.args[0];\nelem1330 = $self1329.args[1];\nanf_fun1336 = $self1329.vars[0];\nann_check_temp1343 = $self1329.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[397],2,$t,true);\n}\nvar self1329 = $self1329;\nvar elem1330 = $elem1330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1331 = R.mC();\n}\nwhile(!R.isContinuation($ans1331)) {\nswitch($step1327) {\ncase 0: var anf_fun1336 = list$set1225.$var === D?U(L[398],\"list-set\"):list$set1225.$var;\n$al1332 = L[399];\nvar anf_method_obj1335 = G(self1329,\"elems\",L[399]);\n$step1327 = 1;\n$ans1331 = R.maybeMethodCall1(anf_method_obj1335,\"remove\",L[400],elem1330);\nbreak;\ncase 1: var anf_arg1342 = $ans1331;\n$step1327 = 2;\n$al1332 = L[402];\nif(typeof(anf_fun1336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1332,anf_fun1336);\n}\n$ans1331 = anf_fun1336.app(anf_arg1342);\nbreak;\ncase 2: var ann_check_temp1343 = $ans1331;\n$step1327 = 3;\n$al1332 = L[401];\nvar $ann$check1344 = R._cA(L[401],Set1166,ann_check_temp1343);\nif(R.isContinuation($ann$check1344)) {\n$ans1331 = $ann$check1344;\n}\nbreak;\ncase 3: $step1327 = 4;\n$ans1331 = ann_check_temp1343;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1331;\ndefault: R.ffi.throwSpinnakerError(L[397],$step1327);\n}\n}\nif($step1327 !== 4) {\n$ans1331.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1332,$temp_full1328,$step1327,[self1329,elem1330],[anf_fun1336,ann_check_temp1343],$elidedFrames1334);\n}\nreturn $ans1331;\n};\nvar anf_variant_member1724 = R.makeMethod1($temp_full1328,\"remove\");\nvar $temp_full1349 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__403($self1350) {\nvar $step1348 = 0;\nvar $elidedFrames1354 = 0;\nvar $ans1351 = D;\nvar $al1352 = L[403];\nif(R.isAR($self1350)) {\n$step1348 = $self1350.step;\n$al1352 = $self1350.from;\n$ans1351 = $self1350.ans;\n$elidedFrames1354 = $self1350.elidedFrames;\nself1350 = $self1350.args[0];\nann_check_temp1355 = $self1350.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[403],1,$t,true);\n}\nvar self1350 = $self1350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1351 = R.mC();\n}\nwhile(!R.isContinuation($ans1351)) {\nswitch($step1348) {\ncase 0: $al1352 = L[404];\nvar ann_check_temp1355 = G(self1350,\"elems\",L[404]);\n$step1348 = 1;\n$al1352 = L[405];\nvar $ann$check1356 = R._cA(L[405],List7,ann_check_temp1355);\nif(R.isContinuation($ann$check1356)) {\n$ans1351 = $ann$check1356;\n}\nbreak;\ncase 1: $step1348 = 2;\n$ans1351 = ann_check_temp1355;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1351;\ndefault: R.ffi.throwSpinnakerError(L[403],$step1348);\n}\n}\nif($step1348 !== 2) {\n$ans1351.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1352,$temp_full1349,$step1348,[self1350],[ann_check_temp1355],$elidedFrames1354);\n}\nreturn $ans1351;\n};\nvar anf_variant_member1725 = R.makeMethod0($temp_full1349,\"to-list\");\nvar $temp_full1359 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__406($self1360,$other1361) {\nvar $step1358 = 0;\nvar $elidedFrames1365 = 0;\nvar $ans1362 = D;\nvar $al1363 = L[406];\nif(R.isAR($self1360)) {\n$step1358 = $self1360.step;\n$al1363 = $self1360.from;\n$ans1362 = $self1360.ans;\n$elidedFrames1365 = $self1360.elidedFrames;\nself1360 = $self1360.args[0];\nother1361 = $self1360.args[1];\nann_check_temp1383 = $self1360.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[406],2,$t,true);\n}\nvar self1360 = $self1360;\nvar other1361 = $other1361;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1362 = R.mC();\n}\nwhile(!R.isContinuation($ans1362)) {\nswitch($step1358) {\ncase 0: $step1358 = 1;\n$al1363 = L[411];\nR._cA(L[411],Set1166,self1360);\nbreak;\ncase 1: $step1358 = 2;\n$al1363 = L[412];\nR._cA(L[412],Set1166,other1361);\nbreak;\ncase 2: var $temp_lam1367 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__407($u1368,$elem1369) {\nvar $step1366 = 0;\nvar $elidedFrames1373 = 0;\nvar $ans1370 = D;\nvar $al1371 = L[407];\nif(R.isAR($u1368)) {\n$step1366 = $u1368.step;\n$al1371 = $u1368.from;\n$ans1370 = $u1368.ans;\n$elidedFrames1373 = $u1368.elidedFrames;\nu1368 = $u1368.args[0];\nelem1369 = $u1368.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[407],2,$t,false);\n}\nvar u1368 = $u1368;\nvar elem1369 = $elem1369;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1370 = R.mC();\n}\nwhile(!R.isContinuation($ans1370)) {\nswitch($step1366) {\ncase 0: $step1366 = 1;\n$ans1370 = R.maybeMethodCall1(u1368,\"add\",L[408],elem1369);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1370;\ndefault: R.ffi.throwSpinnakerError(L[407],$step1366);\n}\n}\nif($step1366 !== 1) {\n$ans1370.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1371,$temp_lam1367,$step1366,[u1368,elem1369],[],$elidedFrames1373);\n}\nreturn $ans1370;\n};\nvar anf_arg1382 = R.mF($temp_lam1367,\"\");\n$step1358 = 3;\n$ans1362 = R.maybeMethodCall2(other1361,\"fold\",L[409],anf_arg1382,self1360);\nbreak;\ncase 3: var ann_check_temp1383 = $ans1362;\n$step1358 = 4;\n$al1363 = L[410];\nvar $ann$check1384 = R._cA(L[410],Set1166,ann_check_temp1383);\nif(R.isContinuation($ann$check1384)) {\n$ans1362 = $ann$check1384;\n}\nbreak;\ncase 4: $step1358 = 5;\n$ans1362 = ann_check_temp1383;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1362;\ndefault: R.ffi.throwSpinnakerError(L[406],$step1358);\n}\n}\nif($step1358 !== 5) {\n$ans1362.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1363,$temp_full1359,$step1358,[self1360,other1361],[ann_check_temp1383],$elidedFrames1365);\n}\nreturn $ans1362;\n};\nvar anf_variant_member1726 = R.makeMethod1($temp_full1359,\"union\");\nvar $temp_full1387 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__413($self1388,$other1389) {\nvar $step1386 = 0;\nvar $elidedFrames1393 = 0;\nvar $ans1390 = D;\nvar $al1391 = L[413];\nif(R.isAR($self1388)) {\n$step1386 = $self1388.step;\n$al1391 = $self1388.from;\n$ans1390 = $self1388.ans;\n$elidedFrames1393 = $self1388.elidedFrames;\nself1388 = $self1388.args[0];\nother1389 = $self1388.args[1];\nann_check_temp730 = $self1388.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[413],2,$t,true);\n}\nvar self1388 = $self1388;\nvar other1389 = $other1389;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1390 = R.mC();\n}\nwhile(!R.isContinuation($ans1390)) {\nswitch($step1386) {\ncase 0: $step1386 = 1;\n$al1391 = L[422];\nR._cA(L[422],Set1166,self1388);\nbreak;\ncase 1: $step1386 = 2;\n$al1391 = L[423];\nR._cA(L[423],Set1166,other1389);\nbreak;\ncase 2: var $temp_lam1395 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__414($elems1396,$elem1397) {\nvar $step1394 = 0;\nvar $elidedFrames1401 = 0;\nvar $ans1398 = D;\nvar $al1399 = L[414];\nif(R.isAR($elems1396)) {\n$step1394 = $elems1396.step;\n$al1399 = $elems1396.from;\n$ans1398 = $elems1396.ans;\n$elidedFrames1401 = $elems1396.elidedFrames;\nelems1396 = $elems1396.args[0];\nelem1397 = $elems1396.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[414],2,$t,false);\n}\nvar elems1396 = $elems1396;\nvar elem1397 = $elem1397;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1398 = R.mC();\n}\nwhile(!R.isContinuation($ans1398)) {\nswitch($step1394) {\ncase 0: $step1394 = 1;\n$ans1398 = R.maybeMethodCall1(other1389,\"member\",L[415],elem1397);\nbreak;\ncase 1: var anf_if1402 = $ans1398;\n$step1394 = R.checkPyretTrue(anf_if1402)?2:3;\nbreak;\ncase 2: $step1394 = 4;\n$ans1398 = elems1396;\nbreak;\ncase 3: $step1394 = 4;\n$ans1398 = R.maybeMethodCall1(elems1396,\"remove\",L[416],elem1397);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1398;\ndefault: R.ffi.throwSpinnakerError(L[414],$step1394);\n}\n}\nif($step1394 !== 4) {\n$ans1398.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1399,$temp_lam1395,$step1394,[elems1396,elem1397],[],$elidedFrames1401);\n}\nreturn $ans1398;\n};\nvar anf_arg1406 = R.mF($temp_lam1395,\"for-body\");\n$al1391 = L[417];\nvar anf_arg1407 = G(self1388,\"elems\",L[417]);\n$al1391 = L[418];\nvar anf_arg1415 = G(self1388,\"elems\",L[418]);\n$step1386 = 3;\n$al1391 = L[414];\n// omitting isFunction check;\n$ans1390 = fold6.app(anf_arg1406,anf_arg1407,anf_arg1415);\nbreak;\ncase 3: var new$elems1417 = $ans1390;\nvar anf_fun1416 = list$set1225.$var === D?U(L[419],\"list-set\"):list$set1225.$var;\n$step1386 = 4;\n$al1391 = L[421];\nif(typeof(anf_fun1416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1391,anf_fun1416);\n}\n$ans1390 = anf_fun1416.app(new$elems1417);\nbreak;\ncase 4: var ann_check_temp730 = $ans1390;\n$step1386 = 5;\n$al1391 = L[420];\nvar $ann$check1418 = R._cA(L[420],Set1166,ann_check_temp730);\nif(R.isContinuation($ann$check1418)) {\n$ans1390 = $ann$check1418;\n}\nbreak;\ncase 5: $step1386 = 6;\n$ans1390 = ann_check_temp730;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1390;\ndefault: R.ffi.throwSpinnakerError(L[413],$step1386);\n}\n}\nif($step1386 !== 6) {\n$ans1390.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1391,$temp_full1387,$step1386,[self1388,other1389],[ann_check_temp730],$elidedFrames1393);\n}\nreturn $ans1390;\n};\nvar anf_variant_member1727 = R.makeMethod1($temp_full1387,\"intersect\");\nvar $temp_full1421 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__424($self964,$other1422) {\nvar $step1420 = 0;\nvar $elidedFrames1426 = 0;\nvar $ans1423 = D;\nvar $al1424 = L[424];\nif(R.isAR($self964)) {\n$step1420 = $self964.step;\n$al1424 = $self964.from;\n$ans1423 = $self964.ans;\n$elidedFrames1426 = $self964.elidedFrames;\nself964 = $self964.args[0];\nother1422 = $self964.args[1];\nann_check_temp1427 = $self964.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[424],2,$t,true);\n}\nvar self964 = $self964;\nvar other1422 = $other1422;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1423 = R.mC();\n}\nwhile(!R.isContinuation($ans1423)) {\nswitch($step1420) {\ncase 0: $step1420 = 1;\n$al1424 = L[428];\nR._cA(L[428],Set1166,self964);\nbreak;\ncase 1: $step1420 = 2;\n$al1424 = L[429];\nR._cA(L[429],Set1166,other1422);\nbreak;\ncase 2: $al1424 = L[425];\nvar anf_arg791 = G(other1422,\"member\",L[425]);\n$step1420 = 3;\n$ans1423 = R.maybeMethodCall1(self964,\"any\",L[426],anf_arg791);\nbreak;\ncase 3: var ann_check_temp1427 = $ans1423;\n$step1420 = 4;\n$al1424 = L[427];\nvar $ann$check1428 = R._cA(L[427],$type$Boolean6,ann_check_temp1427);\nif(R.isContinuation($ann$check1428)) {\n$ans1423 = $ann$check1428;\n}\nbreak;\ncase 4: $step1420 = 5;\n$ans1423 = ann_check_temp1427;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1423;\ndefault: R.ffi.throwSpinnakerError(L[424],$step1420);\n}\n}\nif($step1420 !== 5) {\n$ans1423.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1424,$temp_full1421,$step1420,[self964,other1422],[ann_check_temp1427],$elidedFrames1426);\n}\nreturn $ans1423;\n};\nvar anf_variant_member1728 = R.makeMethod1($temp_full1421,\"overlaps\");\nvar $temp_full1433 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__430($self986,$other1434) {\nvar $step1432 = 0;\nvar $elidedFrames1438 = 0;\nvar $ans1435 = D;\nvar $al1436 = L[430];\nif(R.isAR($self986)) {\n$step1432 = $self986.step;\n$al1436 = $self986.from;\n$ans1435 = $self986.ans;\n$elidedFrames1438 = $self986.elidedFrames;\nself986 = $self986.args[0];\nother1434 = $self986.args[1];\nann_check_temp1466 = $self986.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[430],2,$t,true);\n}\nvar self986 = $self986;\nvar other1434 = $other1434;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1435 = R.mC();\n}\nwhile(!R.isContinuation($ans1435)) {\nswitch($step1432) {\ncase 0: $step1432 = 1;\n$al1436 = L[439];\nR._cA(L[439],Set1166,self986);\nbreak;\ncase 1: $step1432 = 2;\n$al1436 = L[440];\nR._cA(L[440],Set1166,other1434);\nbreak;\ncase 2: var $temp_lam1441 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__431($elems1442,$elem1443) {\nvar $step1440 = 0;\nvar $elidedFrames1447 = 0;\nvar $ans1444 = D;\nvar $al1445 = L[431];\nif(R.isAR($elems1442)) {\n$step1440 = $elems1442.step;\n$al1445 = $elems1442.from;\n$ans1444 = $elems1442.ans;\n$elidedFrames1447 = $elems1442.elidedFrames;\nelems1442 = $elems1442.args[0];\nelem1443 = $elems1442.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[431],2,$t,false);\n}\nvar elems1442 = $elems1442;\nvar elem1443 = $elem1443;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1444 = R.mC();\n}\nwhile(!R.isContinuation($ans1444)) {\nswitch($step1440) {\ncase 0: $step1440 = 1;\n$ans1444 = R.maybeMethodCall1(other1434,\"member\",L[432],elem1443);\nbreak;\ncase 1: var anf_if1448 = $ans1444;\n$step1440 = R.checkPyretTrue(anf_if1448)?2:3;\nbreak;\ncase 2: $step1440 = 4;\n$ans1444 = R.maybeMethodCall1(elems1442,\"remove\",L[433],elem1443);\nbreak;\ncase 3: $step1440 = 4;\n$ans1444 = elems1442;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1444;\ndefault: R.ffi.throwSpinnakerError(L[431],$step1440);\n}\n}\nif($step1440 !== 4) {\n$ans1444.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1445,$temp_lam1441,$step1440,[elems1442,elem1443],[],$elidedFrames1447);\n}\nreturn $ans1444;\n};\nvar anf_arg1463 = R.mF($temp_lam1441,\"for-body\");\n$al1436 = L[434];\nvar anf_arg825 = G(self986,\"elems\",L[434]);\n$al1436 = L[435];\nvar anf_arg826 = G(self986,\"elems\",L[435]);\n$step1432 = 3;\n$al1436 = L[431];\n// omitting isFunction check;\n$ans1435 = fold6.app(anf_arg1463,anf_arg825,anf_arg826);\nbreak;\ncase 3: var new$elems1465 = $ans1435;\nvar anf_fun1464 = list$set1225.$var === D?U(L[436],\"list-set\"):list$set1225.$var;\n$step1432 = 4;\n$al1436 = L[438];\nif(typeof(anf_fun1464.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1436,anf_fun1464);\n}\n$ans1435 = anf_fun1464.app(new$elems1465);\nbreak;\ncase 4: var ann_check_temp1466 = $ans1435;\n$step1432 = 5;\n$al1436 = L[437];\nvar $ann$check1467 = R._cA(L[437],Set1166,ann_check_temp1466);\nif(R.isContinuation($ann$check1467)) {\n$ans1435 = $ann$check1467;\n}\nbreak;\ncase 5: $step1432 = 6;\n$ans1435 = ann_check_temp1466;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1435;\ndefault: R.ffi.throwSpinnakerError(L[430],$step1432);\n}\n}\nif($step1432 !== 6) {\n$ans1435.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1436,$temp_full1433,$step1432,[self986,other1434],[ann_check_temp1466],$elidedFrames1438);\n}\nreturn $ans1435;\n};\nvar anf_variant_member1729 = R.makeMethod1($temp_full1433,\"difference\");\nvar $temp_full1470 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__441($self1471) {\nvar $step1469 = 0;\nvar $elidedFrames1475 = 0;\nvar $ans1472 = D;\nvar $al1473 = L[441];\nif(R.isAR($self1471)) {\n$step1469 = $self1471.step;\n$al1473 = $self1471.from;\n$ans1472 = $self1471.ans;\n$elidedFrames1475 = $self1471.elidedFrames;\nself1471 = $self1471.args[0];\nann_check_temp1477 = $self1471.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[441],1,$t,true);\n}\nvar self1471 = $self1471;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1472 = R.mC();\n}\nwhile(!R.isContinuation($ans1472)) {\nswitch($step1469) {\ncase 0: $step1469 = 1;\n$al1473 = L[445];\nR._cA(L[445],Set1166,self1471);\nbreak;\ncase 1: $al1473 = L[442];\nvar anf_method_obj1476 = G(self1471,\"elems\",L[442]);\n$step1469 = 2;\n$ans1472 = R.maybeMethodCall0(anf_method_obj1476,\"length\",L[443]);\nbreak;\ncase 2: var ann_check_temp1477 = $ans1472;\n$step1469 = 3;\n$al1473 = L[444];\nvar $ann$check1478 = R._cA(L[444],$type$Number3,ann_check_temp1477);\nif(R.isContinuation($ann$check1478)) {\n$ans1472 = $ann$check1478;\n}\nbreak;\ncase 3: $step1469 = 4;\n$ans1472 = ann_check_temp1477;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1472;\ndefault: R.ffi.throwSpinnakerError(L[441],$step1469);\n}\n}\nif($step1469 !== 4) {\n$ans1472.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1473,$temp_full1470,$step1469,[self1471],[ann_check_temp1477],$elidedFrames1475);\n}\nreturn $ans1472;\n};\nvar anf_variant_member1730 = R.makeMethod0($temp_full1470,\"size\");\nvar $temp_full1481 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__446($self1482) {\nvar $step1480 = 0;\nvar $elidedFrames1486 = 0;\nvar $ans1483 = D;\nvar $al1484 = L[446];\nif(R.isAR($self1482)) {\n$step1480 = $self1482.step;\n$al1484 = $self1482.from;\n$ans1483 = $self1482.ans;\n$elidedFrames1486 = $self1482.elidedFrames;\nself1482 = $self1482.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[446],1,$t,true);\n}\nvar self1482 = $self1482;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1483 = R.mC();\n}\nwhile(!R.isContinuation($ans1483)) {\nswitch($step1480) {\ncase 0: $al1484 = L[447];\nvar anf_arg1491 = G(self1482,\"elems\",L[447]);\n// caller optimization;\n$ans1483 = is$empty5.app(anf_arg1491);\n$step1480 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1483;\ndefault: R.ffi.throwSpinnakerError(L[446],$step1480);\n}\n}\nif($step1480 !== 1) {\n$ans1483.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1484,$temp_full1481,$step1480,[self1482],[],$elidedFrames1486);\n}\nreturn $ans1483;\n};\nvar anf_variant_member1731 = R.makeMethod0($temp_full1481,\"is-empty\");\nvar $temp_full1494 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__448($self1495,$f1496) {\nvar $step1493 = 0;\nvar $elidedFrames1500 = 0;\nvar $ans1497 = D;\nvar $al1498 = L[448];\nif(R.isAR($self1495)) {\n$step1493 = $self1495.step;\n$al1498 = $self1495.from;\n$ans1497 = $self1495.ans;\n$elidedFrames1500 = $self1495.elidedFrames;\nself1495 = $self1495.args[0];\nf1496 = $self1495.args[1];\nann_check_temp1502 = $self1495.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[448],2,$t,true);\n}\nvar self1495 = $self1495;\nvar f1496 = $f1496;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1497 = R.mC();\n}\nwhile(!R.isContinuation($ans1497)) {\nswitch($step1493) {\ncase 0: $al1498 = L[449];\nvar anf_method_obj1501 = G(self1495,\"elems\",L[449]);\n$step1493 = 1;\n$ans1497 = R.maybeMethodCall1(anf_method_obj1501,\"all\",L[450],f1496);\nbreak;\ncase 1: var ann_check_temp1502 = $ans1497;\n$step1493 = 2;\n$al1498 = L[451];\nvar $ann$check1503 = R._cA(L[451],$type$Boolean6,ann_check_temp1502);\nif(R.isContinuation($ann$check1503)) {\n$ans1497 = $ann$check1503;\n}\nbreak;\ncase 2: $step1493 = 3;\n$ans1497 = ann_check_temp1502;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1497;\ndefault: R.ffi.throwSpinnakerError(L[448],$step1493);\n}\n}\nif($step1493 !== 3) {\n$ans1497.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1498,$temp_full1494,$step1493,[self1495,f1496],[ann_check_temp1502],$elidedFrames1500);\n}\nreturn $ans1497;\n};\nvar anf_variant_member1732 = R.makeMethod1($temp_full1494,\"all\");\nvar $temp_full1508 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__452($self1509,$f1510) {\nvar $step1507 = 0;\nvar $elidedFrames1515 = 0;\nvar $ans1512 = D;\nvar $al1513 = L[452];\nif(R.isAR($self1509)) {\n$step1507 = $self1509.step;\n$al1513 = $self1509.from;\n$ans1512 = $self1509.ans;\n$elidedFrames1515 = $self1509.elidedFrames;\nself1509 = $self1509.args[0];\nf1510 = $self1509.args[1];\nann_check_temp1517 = $self1509.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[452],2,$t,true);\n}\nvar self1509 = $self1509;\nvar f1510 = $f1510;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1512 = R.mC();\n}\nwhile(!R.isContinuation($ans1512)) {\nswitch($step1507) {\ncase 0: $al1513 = L[453];\nvar anf_method_obj1516 = G(self1509,\"elems\",L[453]);\n$step1507 = 1;\n$ans1512 = R.maybeMethodCall1(anf_method_obj1516,\"any\",L[454],f1510);\nbreak;\ncase 1: var ann_check_temp1517 = $ans1512;\n$step1507 = 2;\n$al1513 = L[455];\nvar $ann$check1518 = R._cA(L[455],$type$Boolean6,ann_check_temp1517);\nif(R.isContinuation($ann$check1518)) {\n$ans1512 = $ann$check1518;\n}\nbreak;\ncase 2: $step1507 = 3;\n$ans1512 = ann_check_temp1517;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1512;\ndefault: R.ffi.throwSpinnakerError(L[452],$step1507);\n}\n}\nif($step1507 !== 3) {\n$ans1512.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1513,$temp_full1508,$step1507,[self1509,f1510],[ann_check_temp1517],$elidedFrames1515);\n}\nreturn $ans1512;\n};\nvar anf_variant_member1733 = R.makeMethod1($temp_full1508,\"any\");\nvar $temp_full1521 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__456($self1522) {\nvar $step1520 = 0;\nvar $elidedFrames1526 = 0;\nvar $ans1523 = D;\nvar $al1524 = L[456];\nif(R.isAR($self1522)) {\n$step1520 = $self1522.step;\n$al1524 = $self1522.from;\n$ans1523 = $self1522.ans;\n$elidedFrames1526 = $self1522.elidedFrames;\nself1522 = $self1522.args[0];\nt1527 = $self1522.vars[0];\ncases1528 = $self1522.vars[1];\nv1530 = $self1522.vars[2];\nanf_fun1532 = $self1522.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[456],1,$t,true);\n}\nvar self1522 = $self1522;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1523 = R.mC();\n}\nwhile(!R.isContinuation($ans1523)) {\nswitch($step1520) {\ncase 0: $al1524 = L[457];\nvar t1527 = G(self1522,\"elems\",L[457]);\nvar cases1528 = t1527;\n$step1520 = 1;\n$al1524 = L[464];\nvar $ann$check1541 = R._cA(L[464],AVLTree105,cases1528);\nif(R.isContinuation($ann$check1541)) {\n$ans1523 = $ann$check1541;\n}\nbreak;\ncase 1: $al1524 = L[459];\n$step1520 = $cases_dispatch1539[cases1528.$name] || 6;\nbreak;\ncase 2: if(cases1528.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[458],false,L[459],cases1528.$loc);\n}\n$step1520 = 7;\n$ans1523 = pick$none9;\nbreak;\ncase 3: if(cases1528.$arity !== 4) {\nif(cases1528.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[463],4,cases1528.$arity,L[459],cases1528.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[463],true,L[459],cases1528.$loc);\n}\n}\nvar $fn1538 = cases1528.$constructor.$fieldNames;\nvar v1530 = R.dF(cases1528.dict[$fn1538[0]],cases1528.$mut_fields_mask[0],false);\nR.dF(cases1528.dict[$fn1538[1]],cases1528.$mut_fields_mask[1],false);\nR.dF(cases1528.dict[$fn1538[2]],cases1528.$mut_fields_mask[2],false);\nR.dF(cases1528.dict[$fn1538[3]],cases1528.$mut_fields_mask[3],false);\nvar anf_fun1532 = tree$set1529.$var === D?U(L[460],\"tree-set\"):tree$set1529.$var;\n$step1520 = 4;\n$ans1523 = R.maybeMethodCall1(t1527,\"remove\",L[461],v1530);\nbreak;\ncase 4: var anf_arg1536 = $ans1523;\n$step1520 = 5;\n$al1524 = L[462];\nif(typeof(anf_fun1532.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1524,anf_fun1532);\n}\n$ans1523 = anf_fun1532.app(anf_arg1536);\nbreak;\ncase 5: var anf_arg898 = $ans1523;\n// caller optimization;\n$ans1523 = pick$some10.app(v1530,anf_arg898);\n$step1520 = 7;\nbreak;\ncase 6: $ans1523 = R.throwNoCasesMatched(L[459],cases1528);\n$step1520 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1523;\ndefault: R.ffi.throwSpinnakerError(L[456],$step1520);\n}\n}\nif($step1520 !== 7) {\n$ans1523.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1524,$temp_full1521,$step1520,[self1522],[t1527,cases1528,v1530,anf_fun1532],$elidedFrames1526);\n}\nreturn $ans1523;\n};\nvar anf_variant_member1741 = R.makeMethod0($temp_full1521,\"pick\");\nvar $temp_full1544 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__465($self1545) {\nvar $step1543 = 0;\nvar $elidedFrames1549 = 0;\nvar $ans1546 = D;\nvar $al1547 = L[465];\nif(R.isAR($self1545)) {\n$step1543 = $self1545.step;\n$al1547 = $self1545.from;\n$ans1546 = $self1545.ans;\n$elidedFrames1549 = $self1545.elidedFrames;\nself1545 = $self1545.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[465],1,$t,true);\n}\nvar self1545 = $self1545;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1546 = R.mC();\n}\nwhile(!R.isContinuation($ans1546)) {\nswitch($step1543) {\ncase 0: $step1543 = 1;\n$ans1546 = R.maybeMethodCall0(self1545,\"to-list\",L[466]);\nbreak;\ncase 1: var anf_method_obj1550 = $ans1546;\n$step1543 = 2;\n$ans1546 = R.maybeMethodCall1(anf_method_obj1550,\"map\",L[467],VS16.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg901 = $ans1546;\n$step1543 = 3;\n$al1547 = L[468];\nif(typeof(VS16.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1547,VS16.dict.values.dict[\"vs-collection\"]);\n}\n$ans1546 = VS16.dict.values.dict[\"vs-collection\"].app((\"tree-set\"),anf_arg901);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1546;\ndefault: R.ffi.throwSpinnakerError(L[465],$step1543);\n}\n}\nif($step1543 !== 3) {\n$ans1546.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1547,$temp_full1544,$step1543,[self1545],[],$elidedFrames1549);\n}\nreturn $ans1546;\n};\nvar anf_variant_member1742 = R.makeMethod0($temp_full1544,\"_output\");\nvar $temp_full1553 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__469($self1554,$f1399,$base1555) {\nvar $step1552 = 0;\nvar $elidedFrames1559 = 0;\nvar $ans1556 = D;\nvar $al1557 = L[469];\nif(R.isAR($self1554)) {\n$step1552 = $self1554.step;\n$al1557 = $self1554.from;\n$ans1556 = $self1554.ans;\n$elidedFrames1559 = $self1554.elidedFrames;\nself1554 = $self1554.args[0];\nf1399 = $self1554.args[1];\nbase1555 = $self1554.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[469],3,$t,true);\n}\nvar self1554 = $self1554;\nvar f1399 = $f1399;\nvar base1555 = $base1555;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1556 = R.mC();\n}\nwhile(!R.isContinuation($ans1556)) {\nswitch($step1552) {\ncase 0: $step1552 = 1;\n$al1557 = L[472];\nR._cA(L[472],R.Function,f1399);\nbreak;\ncase 1: $al1557 = L[470];\nvar anf_arg904 = G(self1554,\"elems\",L[470]);\n$step1552 = 2;\n$al1557 = L[471];\n// omitting isFunction check;\n$ans1556 = tree$fold823.$var.app(f1399,base1555,anf_arg904);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1556;\ndefault: R.ffi.throwSpinnakerError(L[469],$step1552);\n}\n}\nif($step1552 !== 2) {\n$ans1556.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1557,$temp_full1553,$step1552,[self1554,f1399,base1555],[],$elidedFrames1559);\n}\nreturn $ans1556;\n};\nvar anf_variant_member1743 = R.makeMethod2($temp_full1553,\"fold\");\nvar $temp_full1562 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__473($self1563,$elem1564) {\nvar $step1561 = 0;\nvar $elidedFrames1569 = 0;\nvar $ans1566 = D;\nvar $al1567 = L[473];\nif(R.isAR($self1563)) {\n$step1561 = $self1563.step;\n$al1567 = $self1563.from;\n$ans1566 = $self1563.ans;\n$elidedFrames1569 = $self1563.elidedFrames;\nself1563 = $self1563.args[0];\nelem1564 = $self1563.args[1];\nann_check_temp1571 = $self1563.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[473],2,$t,true);\n}\nvar self1563 = $self1563;\nvar elem1564 = $elem1564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1566 = R.mC();\n}\nwhile(!R.isContinuation($ans1566)) {\nswitch($step1561) {\ncase 0: $al1567 = L[474];\nvar anf_method_obj1570 = G(self1563,\"elems\",L[474]);\n$step1561 = 1;\n$ans1566 = R.maybeMethodCall1(anf_method_obj1570,\"contains\",L[475],elem1564);\nbreak;\ncase 1: var ann_check_temp1571 = $ans1566;\n$step1561 = 2;\n$al1567 = L[476];\nvar $ann$check1572 = R._cA(L[476],$type$Boolean6,ann_check_temp1571);\nif(R.isContinuation($ann$check1572)) {\n$ans1566 = $ann$check1572;\n}\nbreak;\ncase 2: $step1561 = 3;\n$ans1566 = ann_check_temp1571;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1566;\ndefault: R.ffi.throwSpinnakerError(L[473],$step1561);\n}\n}\nif($step1561 !== 3) {\n$ans1566.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1567,$temp_full1562,$step1561,[self1563,elem1564],[ann_check_temp1571],$elidedFrames1569);\n}\nreturn $ans1566;\n};\nvar anf_variant_member1744 = R.makeMethod1($temp_full1562,\"member\");\nvar $temp_full1575 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__477($self1576,$elem1577) {\nvar $step1574 = 0;\nvar $elidedFrames1581 = 0;\nvar $ans1578 = D;\nvar $al1579 = L[477];\nif(R.isAR($self1576)) {\n$step1574 = $self1576.step;\n$al1579 = $self1576.from;\n$ans1578 = $self1576.ans;\n$elidedFrames1581 = $self1576.elidedFrames;\nself1576 = $self1576.args[0];\nelem1577 = $self1576.args[1];\nanf_fun1583 = $self1576.vars[0];\nann_check_temp1592 = $self1576.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[477],2,$t,true);\n}\nvar self1576 = $self1576;\nvar elem1577 = $elem1577;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1578 = R.mC();\n}\nwhile(!R.isContinuation($ans1578)) {\nswitch($step1574) {\ncase 0: var anf_fun1583 = tree$set1529.$var === D?U(L[478],\"tree-set\"):tree$set1529.$var;\n$al1579 = L[479];\nvar anf_method_obj1582 = G(self1576,\"elems\",L[479]);\n$step1574 = 1;\n$ans1578 = R.maybeMethodCall1(anf_method_obj1582,\"insert\",L[480],elem1577);\nbreak;\ncase 1: var anf_arg1591 = $ans1578;\n$step1574 = 2;\n$al1579 = L[482];\nif(typeof(anf_fun1583.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1579,anf_fun1583);\n}\n$ans1578 = anf_fun1583.app(anf_arg1591);\nbreak;\ncase 2: var ann_check_temp1592 = $ans1578;\n$step1574 = 3;\n$al1579 = L[481];\nvar $ann$check1593 = R._cA(L[481],Set1166,ann_check_temp1592);\nif(R.isContinuation($ann$check1593)) {\n$ans1578 = $ann$check1593;\n}\nbreak;\ncase 3: $step1574 = 4;\n$ans1578 = ann_check_temp1592;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1578;\ndefault: R.ffi.throwSpinnakerError(L[477],$step1574);\n}\n}\nif($step1574 !== 4) {\n$ans1578.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1579,$temp_full1575,$step1574,[self1576,elem1577],[anf_fun1583,ann_check_temp1592],$elidedFrames1581);\n}\nreturn $ans1578;\n};\nvar anf_variant_member1745 = R.makeMethod1($temp_full1575,\"add\");\nvar $temp_full1596 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__483($self1597,$elem1598) {\nvar $step1595 = 0;\nvar $elidedFrames1602 = 0;\nvar $ans1599 = D;\nvar $al1600 = L[483];\nif(R.isAR($self1597)) {\n$step1595 = $self1597.step;\n$al1600 = $self1597.from;\n$ans1599 = $self1597.ans;\n$elidedFrames1602 = $self1597.elidedFrames;\nself1597 = $self1597.args[0];\nelem1598 = $self1597.args[1];\nanf_fun1604 = $self1597.vars[0];\nann_check_temp1607 = $self1597.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[483],2,$t,true);\n}\nvar self1597 = $self1597;\nvar elem1598 = $elem1598;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1599 = R.mC();\n}\nwhile(!R.isContinuation($ans1599)) {\nswitch($step1595) {\ncase 0: var anf_fun1604 = tree$set1529.$var === D?U(L[484],\"tree-set\"):tree$set1529.$var;\n$al1600 = L[485];\nvar anf_method_obj1603 = G(self1597,\"elems\",L[485]);\n$step1595 = 1;\n$ans1599 = R.maybeMethodCall1(anf_method_obj1603,\"remove\",L[486],elem1598);\nbreak;\ncase 1: var anf_arg1606 = $ans1599;\n$step1595 = 2;\n$al1600 = L[488];\nif(typeof(anf_fun1604.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1600,anf_fun1604);\n}\n$ans1599 = anf_fun1604.app(anf_arg1606);\nbreak;\ncase 2: var ann_check_temp1607 = $ans1599;\n$step1595 = 3;\n$al1600 = L[487];\nvar $ann$check1608 = R._cA(L[487],Set1166,ann_check_temp1607);\nif(R.isContinuation($ann$check1608)) {\n$ans1599 = $ann$check1608;\n}\nbreak;\ncase 3: $step1595 = 4;\n$ans1599 = ann_check_temp1607;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1599;\ndefault: R.ffi.throwSpinnakerError(L[483],$step1595);\n}\n}\nif($step1595 !== 4) {\n$ans1599.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1600,$temp_full1596,$step1595,[self1597,elem1598],[anf_fun1604,ann_check_temp1607],$elidedFrames1602);\n}\nreturn $ans1599;\n};\nvar anf_variant_member1746 = R.makeMethod1($temp_full1596,\"remove\");\nvar $temp_full1611 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__489($self1612) {\nvar $step1610 = 0;\nvar $elidedFrames1616 = 0;\nvar $ans1613 = D;\nvar $al1614 = L[489];\nif(R.isAR($self1612)) {\n$step1610 = $self1612.step;\n$al1614 = $self1612.from;\n$ans1613 = $self1612.ans;\n$elidedFrames1616 = $self1612.elidedFrames;\nself1612 = $self1612.args[0];\nann_check_temp1618 = $self1612.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[489],1,$t,true);\n}\nvar self1612 = $self1612;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1613 = R.mC();\n}\nwhile(!R.isContinuation($ans1613)) {\nswitch($step1610) {\ncase 0: $al1614 = L[490];\nvar anf_method_obj1617 = G(self1612,\"elems\",L[490]);\n$step1610 = 1;\n$ans1613 = R.maybeMethodCall0(anf_method_obj1617,\"inorder\",L[491]);\nbreak;\ncase 1: var ann_check_temp1618 = $ans1613;\n$step1610 = 2;\n$al1614 = L[492];\nvar $ann$check1619 = R._cA(L[492],List7,ann_check_temp1618);\nif(R.isContinuation($ann$check1619)) {\n$ans1613 = $ann$check1619;\n}\nbreak;\ncase 2: $step1610 = 3;\n$ans1613 = ann_check_temp1618;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1613;\ndefault: R.ffi.throwSpinnakerError(L[489],$step1610);\n}\n}\nif($step1610 !== 3) {\n$ans1613.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1614,$temp_full1611,$step1610,[self1612],[ann_check_temp1618],$elidedFrames1616);\n}\nreturn $ans1613;\n};\nvar anf_variant_member1747 = R.makeMethod0($temp_full1611,\"to-list\");\nvar $temp_full1622 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__493($self1623,$other1624) {\nvar $step1621 = 0;\nvar $elidedFrames1628 = 0;\nvar $ans1625 = D;\nvar $al1626 = L[493];\nif(R.isAR($self1623)) {\n$step1621 = $self1623.step;\n$al1626 = $self1623.from;\n$ans1625 = $self1623.ans;\n$elidedFrames1628 = $self1623.elidedFrames;\nself1623 = $self1623.args[0];\nother1624 = $self1623.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[493],2,$t,true);\n}\nvar self1623 = $self1623;\nvar other1624 = $other1624;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1625 = R.mC();\n}\nwhile(!R.isContinuation($ans1625)) {\nswitch($step1621) {\ncase 0: var anf_fun1631 = tree$set$union1629.$var === D?U(L[494],\"tree-set-union\"):tree$set$union1629.$var;\n$step1621 = 1;\n$al1626 = L[495];\nif(typeof(anf_fun1631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1626,anf_fun1631);\n}\n$ans1625 = anf_fun1631.app(self1623,other1624);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1625;\ndefault: R.ffi.throwSpinnakerError(L[493],$step1621);\n}\n}\nif($step1621 !== 1) {\n$ans1625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1626,$temp_full1622,$step1621,[self1623,other1624],[],$elidedFrames1628);\n}\nreturn $ans1625;\n};\nvar anf_variant_member1748 = R.makeMethod1($temp_full1622,\"union\");\nvar $temp_full1634 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__496($self1224,$other1635) {\nvar $step1633 = 0;\nvar $elidedFrames1639 = 0;\nvar $ans1636 = D;\nvar $al1637 = L[496];\nif(R.isAR($self1224)) {\n$step1633 = $self1224.step;\n$al1637 = $self1224.from;\n$ans1636 = $self1224.ans;\n$elidedFrames1639 = $self1224.elidedFrames;\nself1224 = $self1224.args[0];\nother1635 = $self1224.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[496],2,$t,true);\n}\nvar self1224 = $self1224;\nvar other1635 = $other1635;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1636 = R.mC();\n}\nwhile(!R.isContinuation($ans1636)) {\nswitch($step1633) {\ncase 0: var anf_fun1641 = tree$set$intersect1640.$var === D?U(L[497],\"tree-set-intersect\"):tree$set$intersect1640.$var;\n$step1633 = 1;\n$al1637 = L[498];\nif(typeof(anf_fun1641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1637,anf_fun1641);\n}\n$ans1636 = anf_fun1641.app(self1224,other1635);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1636;\ndefault: R.ffi.throwSpinnakerError(L[496],$step1633);\n}\n}\nif($step1633 !== 1) {\n$ans1636.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1637,$temp_full1634,$step1633,[self1224,other1635],[],$elidedFrames1639);\n}\nreturn $ans1636;\n};\nvar anf_variant_member1749 = R.makeMethod1($temp_full1634,\"intersect\");\nvar $temp_full1644 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__499($self1645,$other1646) {\nvar $step1643 = 0;\nvar $elidedFrames1650 = 0;\nvar $ans1647 = D;\nvar $al1648 = L[499];\nif(R.isAR($self1645)) {\n$step1643 = $self1645.step;\n$al1648 = $self1645.from;\n$ans1647 = $self1645.ans;\n$elidedFrames1650 = $self1645.elidedFrames;\nself1645 = $self1645.args[0];\nother1646 = $self1645.args[1];\nann_check_temp1652 = $self1645.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[499],2,$t,true);\n}\nvar self1645 = $self1645;\nvar other1646 = $other1646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1647 = R.mC();\n}\nwhile(!R.isContinuation($ans1647)) {\nswitch($step1643) {\ncase 0: $step1643 = 1;\n$al1648 = L[503];\nR._cA(L[503],Set1166,self1645);\nbreak;\ncase 1: $step1643 = 2;\n$al1648 = L[504];\nR._cA(L[504],Set1166,other1646);\nbreak;\ncase 2: $al1648 = L[500];\nvar anf_arg1651 = G(other1646,\"member\",L[500]);\n$step1643 = 3;\n$ans1647 = R.maybeMethodCall1(self1645,\"any\",L[501],anf_arg1651);\nbreak;\ncase 3: var ann_check_temp1652 = $ans1647;\n$step1643 = 4;\n$al1648 = L[502];\nvar $ann$check1653 = R._cA(L[502],$type$Boolean6,ann_check_temp1652);\nif(R.isContinuation($ann$check1653)) {\n$ans1647 = $ann$check1653;\n}\nbreak;\ncase 4: $step1643 = 5;\n$ans1647 = ann_check_temp1652;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1647;\ndefault: R.ffi.throwSpinnakerError(L[499],$step1643);\n}\n}\nif($step1643 !== 5) {\n$ans1647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1648,$temp_full1644,$step1643,[self1645,other1646],[ann_check_temp1652],$elidedFrames1650);\n}\nreturn $ans1647;\n};\nvar anf_variant_member1750 = R.makeMethod1($temp_full1644,\"overlaps\");\nvar $temp_full1656 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__505($self1255,$other1657) {\nvar $step1655 = 0;\nvar $elidedFrames1661 = 0;\nvar $ans1658 = D;\nvar $al1659 = L[505];\nif(R.isAR($self1255)) {\n$step1655 = $self1255.step;\n$al1659 = $self1255.from;\n$ans1658 = $self1255.ans;\n$elidedFrames1661 = $self1255.elidedFrames;\nself1255 = $self1255.args[0];\nother1657 = $self1255.args[1];\nann_check_temp1027 = $self1255.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[505],2,$t,true);\n}\nvar self1255 = $self1255;\nvar other1657 = $other1657;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1658 = R.mC();\n}\nwhile(!R.isContinuation($ans1658)) {\nswitch($step1655) {\ncase 0: $step1655 = 1;\n$al1659 = L[509];\nR._cA(L[509],Set1166,self1255);\nbreak;\ncase 1: $step1655 = 2;\n$al1659 = L[510];\nR._cA(L[510],Set1166,other1657);\nbreak;\ncase 2: var anf_fun1664 = tree$set$difference1662.$var === D?U(L[506],\"tree-set-difference\"):tree$set$difference1662.$var;\n$step1655 = 3;\n$al1659 = L[508];\nif(typeof(anf_fun1664.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1659,anf_fun1664);\n}\n$ans1658 = anf_fun1664.app(self1255,other1657);\nbreak;\ncase 3: var ann_check_temp1027 = $ans1658;\n$step1655 = 4;\n$al1659 = L[507];\nvar $ann$check1666 = R._cA(L[507],Set1166,ann_check_temp1027);\nif(R.isContinuation($ann$check1666)) {\n$ans1658 = $ann$check1666;\n}\nbreak;\ncase 4: $step1655 = 5;\n$ans1658 = ann_check_temp1027;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1658;\ndefault: R.ffi.throwSpinnakerError(L[505],$step1655);\n}\n}\nif($step1655 !== 5) {\n$ans1658.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1659,$temp_full1656,$step1655,[self1255,other1657],[ann_check_temp1027],$elidedFrames1661);\n}\nreturn $ans1658;\n};\nvar anf_variant_member1751 = R.makeMethod1($temp_full1656,\"difference\");\nvar $temp_full1671 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__511($self1672) {\nvar $step1670 = 0;\nvar $elidedFrames1677 = 0;\nvar $ans1674 = D;\nvar $al1675 = L[511];\nif(R.isAR($self1672)) {\n$step1670 = $self1672.step;\n$al1675 = $self1672.from;\n$ans1674 = $self1672.ans;\n$elidedFrames1677 = $self1672.elidedFrames;\nself1672 = $self1672.args[0];\nann_check_temp1679 = $self1672.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[511],1,$t,true);\n}\nvar self1672 = $self1672;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1674 = R.mC();\n}\nwhile(!R.isContinuation($ans1674)) {\nswitch($step1670) {\ncase 0: $step1670 = 1;\n$al1675 = L[515];\nR._cA(L[515],Set1166,self1672);\nbreak;\ncase 1: $al1675 = L[512];\nvar anf_method_obj1678 = G(self1672,\"elems\",L[512]);\n$step1670 = 2;\n$ans1674 = R.maybeMethodCall0(anf_method_obj1678,\"count\",L[513]);\nbreak;\ncase 2: var ann_check_temp1679 = $ans1674;\n$step1670 = 3;\n$al1675 = L[514];\nvar $ann$check1680 = R._cA(L[514],$type$Number3,ann_check_temp1679);\nif(R.isContinuation($ann$check1680)) {\n$ans1674 = $ann$check1680;\n}\nbreak;\ncase 3: $step1670 = 4;\n$ans1674 = ann_check_temp1679;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1674;\ndefault: R.ffi.throwSpinnakerError(L[511],$step1670);\n}\n}\nif($step1670 !== 4) {\n$ans1674.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1675,$temp_full1671,$step1670,[self1672],[ann_check_temp1679],$elidedFrames1677);\n}\nreturn $ans1674;\n};\nvar anf_variant_member1752 = R.makeMethod0($temp_full1671,\"size\");\nvar $temp_full1683 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__516($self1684) {\nvar $step1682 = 0;\nvar $elidedFrames1688 = 0;\nvar $ans1685 = D;\nvar $al1686 = L[516];\nif(R.isAR($self1684)) {\n$step1682 = $self1684.step;\n$al1686 = $self1684.from;\n$ans1685 = $self1684.ans;\n$elidedFrames1688 = $self1684.elidedFrames;\nself1684 = $self1684.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[516],1,$t,true);\n}\nvar self1684 = $self1684;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1685 = R.mC();\n}\nwhile(!R.isContinuation($ans1685)) {\nswitch($step1682) {\ncase 0: $al1686 = L[517];\nvar anf_arg1033 = G(self1684,\"elems\",L[517]);\n// caller optimization;\n$ans1685 = is$leaf805.$var.app(anf_arg1033);\n$step1682 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1685;\ndefault: R.ffi.throwSpinnakerError(L[516],$step1682);\n}\n}\nif($step1682 !== 1) {\n$ans1685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1686,$temp_full1683,$step1682,[self1684],[],$elidedFrames1688);\n}\nreturn $ans1685;\n};\nvar anf_variant_member1753 = R.makeMethod0($temp_full1683,\"is-empty\");\nvar $temp_full1691 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__518($self1269,$f1692) {\nvar $step1690 = 0;\nvar $elidedFrames1696 = 0;\nvar $ans1693 = D;\nvar $al1694 = L[518];\nif(R.isAR($self1269)) {\n$step1690 = $self1269.step;\n$al1694 = $self1269.from;\n$ans1693 = $self1269.ans;\n$elidedFrames1696 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nf1692 = $self1269.args[1];\nann_check_temp1698 = $self1269.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[518],2,$t,true);\n}\nvar self1269 = $self1269;\nvar f1692 = $f1692;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1693 = R.mC();\n}\nwhile(!R.isContinuation($ans1693)) {\nswitch($step1690) {\ncase 0: $al1694 = L[519];\nvar anf_method_obj1697 = G(self1269,\"elems\",L[519]);\n$step1690 = 1;\n$ans1693 = R.maybeMethodCall1(anf_method_obj1697,\"all\",L[520],f1692);\nbreak;\ncase 1: var ann_check_temp1698 = $ans1693;\n$step1690 = 2;\n$al1694 = L[521];\nvar $ann$check1699 = R._cA(L[521],$type$Boolean6,ann_check_temp1698);\nif(R.isContinuation($ann$check1699)) {\n$ans1693 = $ann$check1699;\n}\nbreak;\ncase 2: $step1690 = 3;\n$ans1693 = ann_check_temp1698;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1693;\ndefault: R.ffi.throwSpinnakerError(L[518],$step1690);\n}\n}\nif($step1690 !== 3) {\n$ans1693.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1694,$temp_full1691,$step1690,[self1269,f1692],[ann_check_temp1698],$elidedFrames1696);\n}\nreturn $ans1693;\n};\nvar anf_variant_member1754 = R.makeMethod1($temp_full1691,\"all\");\nvar $temp_full1703 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__522($self1704,$f1705) {\nvar $step1702 = 0;\nvar $elidedFrames1709 = 0;\nvar $ans1706 = D;\nvar $al1707 = L[522];\nif(R.isAR($self1704)) {\n$step1702 = $self1704.step;\n$al1707 = $self1704.from;\n$ans1706 = $self1704.ans;\n$elidedFrames1709 = $self1704.elidedFrames;\nself1704 = $self1704.args[0];\nf1705 = $self1704.args[1];\nann_check_temp1711 = $self1704.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[522],2,$t,true);\n}\nvar self1704 = $self1704;\nvar f1705 = $f1705;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1706 = R.mC();\n}\nwhile(!R.isContinuation($ans1706)) {\nswitch($step1702) {\ncase 0: $al1707 = L[523];\nvar anf_method_obj1710 = G(self1704,\"elems\",L[523]);\n$step1702 = 1;\n$ans1706 = R.maybeMethodCall1(anf_method_obj1710,\"any\",L[524],f1705);\nbreak;\ncase 1: var ann_check_temp1711 = $ans1706;\n$step1702 = 2;\n$al1707 = L[525];\nvar $ann$check1712 = R._cA(L[525],$type$Boolean6,ann_check_temp1711);\nif(R.isContinuation($ann$check1712)) {\n$ans1706 = $ann$check1712;\n}\nbreak;\ncase 2: $step1702 = 3;\n$ans1706 = ann_check_temp1711;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1706;\ndefault: R.ffi.throwSpinnakerError(L[522],$step1702);\n}\n}\nif($step1702 !== 3) {\n$ans1706.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1707,$temp_full1703,$step1702,[self1704,f1705],[ann_check_temp1711],$elidedFrames1709);\n}\nreturn $ans1706;\n};\nvar anf_variant_member1755 = R.makeMethod1($temp_full1703,\"any\");\nvar $list$set_getfields1735 = function singleton_variant(f) {\nreturn f(this.dict[\"elems\"]);\n};\nvar $list$set_mutablemask1734 = [false];\nvar $list$set$base1716 = {\"$fieldNames\":[\"elems\"],\n\"symmetric-difference\":anf_shared1714,\n\"_equals\":anf_shared1715,\n\"pick\":anf_variant_member1719,\n\"_output\":anf_variant_member1720,\n\"fold\":anf_variant_member1721,\n\"member\":anf_variant_member1722,\n\"add\":anf_variant_member1723,\n\"remove\":anf_variant_member1724,\n\"to-list\":anf_variant_member1725,\n\"union\":anf_variant_member1726,\n\"intersect\":anf_variant_member1727,\n\"overlaps\":anf_variant_member1728,\n\"difference\":anf_variant_member1729,\n\"size\":anf_variant_member1730,\n\"is-empty\":anf_variant_member1731,\n\"all\":anf_variant_member1732,\n\"any\":anf_variant_member1733,\n\"_match\":R.mM(\"list-set\",1)};\nvar $list$set$brander1717 = R.nB(\"list-set\",L[526]);\nvar $list$set$brands1718 = {};\n$list$set$brands1718[Set30._brand] = true;\n$list$set$brands1718[$list$set$brander1717._brand] = true;\nvar list$set1736 = R.mVC(L[526],function $synthesizedConstructor_$list$set$base() {\nreturn [List7];\n},[\"elems1737\"],[L[527]],[false],[\"elems1737\"],$list$set_mutablemask1734,$list$set$base1716,$list$set$brands1718,\"list-set\",$list$set_getfields1735,$list$set$base1716);\nvar $tree$set_getfields1757 = function singleton_variant(f) {\nreturn f(this.dict[\"elems\"]);\n};\nvar $tree$set_mutablemask1756 = [false];\nvar $tree$set$base1738 = {\"$fieldNames\":[\"elems\"],\n\"symmetric-difference\":anf_shared1714,\n\"_equals\":anf_shared1715,\n\"pick\":anf_variant_member1741,\n\"_output\":anf_variant_member1742,\n\"fold\":anf_variant_member1743,\n\"member\":anf_variant_member1744,\n\"add\":anf_variant_member1745,\n\"remove\":anf_variant_member1746,\n\"to-list\":anf_variant_member1747,\n\"union\":anf_variant_member1748,\n\"intersect\":anf_variant_member1749,\n\"overlaps\":anf_variant_member1750,\n\"difference\":anf_variant_member1751,\n\"size\":anf_variant_member1752,\n\"is-empty\":anf_variant_member1753,\n\"all\":anf_variant_member1754,\n\"any\":anf_variant_member1755,\n\"_match\":R.mM(\"tree-set\",1)};\nvar $tree$set$brander1739 = R.nB(\"tree-set\",L[528]);\nvar $tree$set$brands1740 = {};\n$tree$set$brands1740[Set30._brand] = true;\n$tree$set$brands1740[$tree$set$brander1739._brand] = true;\nvar tree$set1758 = R.mVC(L[528],function $synthesizedConstructor_$tree$set$base() {\nreturn [AVLTree105];\n},[\"elems1759\"],[L[529]],[false],[\"elems1759\"],$tree$set_mutablemask1756,$tree$set$base1738,$tree$set$brands1740,\"tree-set\",$tree$set_getfields1757,$tree$set$base1738);\nvar anf_assign1760 = R.mO({\"Set\":G(Set30,\"test\",L[530]),\n\"is-list-set\":G($list$set$brander1717,\"test\",L[526]),\n\"list-set\":list$set1736,\n\"is-tree-set\":G($tree$set$brander1739,\"test\",L[528]),\n\"tree-set\":tree$set1758});\nSet1761.$var = anf_assign1760;\nR.nothing;\n$al26 = L[530];\nvar anf_assign1762 = G(Set1761.$var,\"Set\",L[530]);\nis$Set1180.$var = anf_assign1762;\nR.nothing;\n$al26 = L[526];\nvar anf_assign1763 = G(Set1761.$var,\"is-list-set\",L[526]);\nis$list$set1764.$var = anf_assign1763;\nR.nothing;\n$al26 = L[526];\nvar anf_assign1765 = G(Set1761.$var,\"list-set\",L[526]);\nlist$set1225.$var = anf_assign1765;\nR.nothing;\n$al26 = L[528];\nvar anf_assign1766 = G(Set1761.$var,\"is-tree-set\",L[528]);\nis$tree$set1767.$var = anf_assign1766;\nR.nothing;\n$al26 = L[528];\nvar anf_assign1768 = G(Set1761.$var,\"tree-set\",L[528]);\ntree$set1529.$var = anf_assign1768;\nR.nothing;\nvar $temp_lam1770 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__531($s1771) {\nvar $step1769 = 0;\nvar $elidedFrames1775 = 0;\nvar $ans1772 = D;\nvar $al1773 = L[531];\nif(R.isAR($s1771)) {\n$step1769 = $s1771.step;\n$al1773 = $s1771.from;\n$ans1772 = $s1771.ans;\n$elidedFrames1775 = $s1771.elidedFrames;\ns1771 = $s1771.args[0];\ncases1776 = $s1771.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[531],1,$t,false);\n}\nvar s1771 = $s1771;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1772 = R.mC();\n}\nwhile(!R.isContinuation($ans1772)) {\nswitch($step1769) {\ncase 0: var cases1776 = s1771;\n$step1769 = 1;\n$al1773 = L[537];\nvar $ann$check1787 = R._cA(L[537],Set1166,cases1776);\nif(R.isContinuation($ann$check1787)) {\n$ans1772 = $ann$check1787;\n}\nbreak;\ncase 1: $al1773 = L[534];\n$step1769 = $cases_dispatch1786[cases1776.$name] || 4;\nbreak;\ncase 2: if(cases1776.$arity !== 1) {\nif(cases1776.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[533],1,cases1776.$arity,L[534],cases1776.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[533],true,L[534],cases1776.$loc);\n}\n}\nvar $fn1782 = cases1776.$constructor.$fieldNames;\nvar elems1777 = R.dF(cases1776.dict[$fn1782[0]],cases1776.$mut_fields_mask[0],false);\n$step1769 = 5;\n$ans1772 = R.maybeMethodCall0(elems1777,\"sort\",L[532]);\nbreak;\ncase 3: if(cases1776.$arity !== 1) {\nif(cases1776.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[536],1,cases1776.$arity,L[534],cases1776.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[536],true,L[534],cases1776.$loc);\n}\n}\nvar $fn1785 = cases1776.$constructor.$fieldNames;\nvar elems1783 = R.dF(cases1776.dict[$fn1785[0]],cases1776.$mut_fields_mask[0],false);\n$step1769 = 5;\n$ans1772 = R.maybeMethodCall0(elems1783,\"inorder\",L[535]);\nbreak;\ncase 4: $ans1772 = R.throwNoCasesMatched(L[534],cases1776);\n$step1769 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1772;\ndefault: R.ffi.throwSpinnakerError(L[531],$step1769);\n}\n}\nif($step1769 !== 5) {\n$ans1772.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1773,$temp_lam1770,$step1769,[s1771],[cases1776],$elidedFrames1775);\n}\nreturn $ans1772;\n};\nvar anf_assign1789 = R.mF($temp_lam1770,\"set-to-sorted-elems\");\nset$to$sorted$elems1790.$var = anf_assign1789;\nR.nothing;\nvar $temp_lam1792 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__538($elems1793) {\nvar $step1791 = 0;\nvar $elidedFrames1797 = 0;\nvar $ans1794 = D;\nvar $al1795 = L[538];\nif(R.isAR($elems1793)) {\n$step1791 = $elems1793.step;\n$al1795 = $elems1793.from;\n$ans1794 = $elems1793.ans;\n$elidedFrames1797 = $elems1793.elidedFrames;\nelems1793 = $elems1793.args[0];\nhead1805 = $elems1793.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[538],1,$t,false);\n}\nvar elems1793 = $elems1793;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1794 = R.mC();\n}\nwhile(!R.isContinuation($ans1794)) {\nswitch($step1791) {\ncase 0: var head1805 = {\"$var\":elems1793};\n$step1791 = 1;\n$ans1794 = R.maybeMethodCall0(elems1793,\"length\",L[539]);\nbreak;\ncase 1: var len1822 = $ans1794;\nvar helper1807 = {\"$var\":D};\nvar $temp_lam1799 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__540($l1800) {\nvar $step1798 = 0;\nvar $elidedFrames1804 = 0;\nvar $ans1801 = D;\nvar $al1802 = L[540];\nif(R.isAR($l1800)) {\n$step1798 = $l1800.step;\n$al1802 = $l1800.from;\n$ans1801 = $l1800.ans;\n$elidedFrames1804 = $l1800.elidedFrames;\nl1800 = $l1800.args[0];\nitem1817 = $l1800.vars[0];\nanf_arg1818 = $l1800.vars[1];\nleft1814 = $l1800.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[540],1,$t,false);\n}\nvar l1800 = $l1800;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1801 = R.mC();\n}\nwhile(!R.isContinuation($ans1801)) {\nswitch($step1798) {\ncase 0: $step1798 = 1;\n$al1802 = L[550];\n// omitting isFunction check;\n$ans1801 = _lessequal4.app(l1800,(0));\nbreak;\ncase 1: var anf_if1819 = $ans1801;\n$step1798 = R.checkPyretTrue(anf_if1819)?2:3;\nbreak;\ncase 2: $step1798 = 13;\n$ans1801 = leaf98.$var;\nbreak;\ncase 3: var anf_arg1806 = head1805.$var;\n// caller optimization;\n$ans1801 = is$empty5.app(anf_arg1806);\nvar anf_if1112 = $ans1801;\n$step1798 = R.checkPyretTrue(anf_if1112)?4:5;\nbreak;\ncase 4: $step1798 = 13;\n$ans1801 = leaf98.$var;\nbreak;\ncase 5: $step1798 = 6;\n$al1802 = L[549];\n// omitting isFunction check;\n$ans1801 = _divide13.app(l1800,(2));\nbreak;\ncase 6: var anf_arg1111 = $ans1801;\n// caller optimization;\n$ans1801 = num$floor1.app(anf_arg1111);\nvar anf_arg1810 = $ans1801;\n$step1798 = 7;\n$al1802 = L[548];\n// omitting isFunction check;\n$ans1801 = helper1807.$var.app(anf_arg1810);\nbreak;\ncase 7: var left1814 = $ans1801;\nvar anf_bracket1811 = head1805.$var;\n$al1802 = L[541];\nvar item1817 = G(anf_bracket1811,\"first\",L[541]);\nvar anf_bracket1812 = head1805.$var;\n$al1802 = L[542];\nvar anf_assign1813 = G(anf_bracket1812,\"rest\",L[542]);\nhead1805.$var = anf_assign1813;\nR.nothing;\n$step1798 = 8;\n$ans1801 = R.maybeMethodCall0(left1814,\"height\",L[543]);\nbreak;\ncase 8: var anf_arg1142 = $ans1801;\n$step1798 = 9;\n$al1802 = L[547];\n// omitting isFunction check;\n$ans1801 = _plus5.app(anf_arg1142,(1));\nbreak;\ncase 9: var anf_arg1818 = $ans1801;\n$step1798 = 10;\n$al1802 = L[546];\n// omitting isFunction check;\n$ans1801 = _divide13.app(l1800,(2));\nbreak;\ncase 10: var anf_arg1815 = $ans1801;\n$step1798 = 11;\n$al1802 = L[545];\n// omitting isFunction check;\n$ans1801 = _minus9.app(anf_arg1815,(1));\nbreak;\ncase 11: var anf_arg1816 = $ans1801;\n// caller optimization;\n$ans1801 = num$ceiling11.app(anf_arg1816);\nvar anf_arg1168 = $ans1801;\n$step1798 = 12;\n$al1802 = L[544];\n// omitting isFunction check;\n$ans1801 = helper1807.$var.app(anf_arg1168);\nbreak;\ncase 12: var anf_arg1169 = $ans1801;\n// caller optimization;\n$ans1801 = branch810.$var.app(item1817,anf_arg1818,left1814,anf_arg1169);\n$step1798 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1801;\ndefault: R.ffi.throwSpinnakerError(L[540],$step1798);\n}\n}\nif($step1798 !== 13) {\n$ans1801.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1802,$temp_lam1799,$step1798,[l1800],[item1817,anf_arg1818,left1814],$elidedFrames1804);\n}\nreturn $ans1801;\n};\nvar anf_assign1821 = R.mF($temp_lam1799,\"helper\");\nhelper1807.$var = anf_assign1821;\nR.nothing;\n$step1791 = 2;\n$al1795 = L[551];\n// omitting isFunction check;\n$ans1794 = helper1807.$var.app(len1822);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1794;\ndefault: R.ffi.throwSpinnakerError(L[538],$step1791);\n}\n}\nif($step1791 !== 2) {\n$ans1794.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1795,$temp_lam1792,$step1791,[elems1793],[head1805],$elidedFrames1797);\n}\nreturn $ans1794;\n};\nvar anf_assign1824 = R.mF($temp_lam1792,\"elems-to-balanced-avl\");\nelems$to$balanced$avl1825.$var = anf_assign1824;\nR.nothing;\nvar $temp_lam1827 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__552($l11828,$l21829) {\nvar $step1826 = 0;\nvar $elidedFrames1833 = 0;\nvar $ans1830 = D;\nvar $al1831 = L[552];\nif(R.isAR($l11828)) {\n$step1826 = $l11828.step;\n$al1831 = $l11828.from;\n$ans1830 = $l11828.ans;\n$elidedFrames1833 = $l11828.elidedFrames;\nl11828 = $l11828.args[0];\nl21829 = $l11828.args[1];\nanf_arg1207 = $l11828.vars[0];\nanf_arg1839 = $l11828.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[552],2,$t,false);\n}\nvar l11828 = $l11828;\nvar l21829 = $l21829;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1830 = R.mC();\n}\nwhile(!R.isContinuation($ans1830)) {\nswitch($step1826) {\ncase 0: // caller optimization;\n$ans1830 = is$empty5.app(l11828);\nvar anf_if1847 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1847)?1:2;\nbreak;\ncase 1: $step1826 = 13;\n$ans1830 = l21829;\nbreak;\ncase 2: // caller optimization;\n$ans1830 = is$empty5.app(l21829);\nvar anf_if1846 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1846)?3:4;\nbreak;\ncase 3: $step1826 = 13;\n$ans1830 = l11828;\nbreak;\ncase 4: $al1831 = L[553];\nvar anf_arg1834 = G(l11828,\"first\",L[553]);\n$al1831 = L[554];\nvar anf_arg1836 = G(l21829,\"first\",L[554]);\n$step1826 = 5;\n$al1831 = L[565];\n// omitting isFunction check;\n$ans1830 = _lessthan3.app(anf_arg1834,anf_arg1836);\nbreak;\ncase 5: var anf_if1845 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1845)?6:8;\nbreak;\ncase 6: $al1831 = L[555];\nvar anf_arg1839 = G(l11828,\"first\",L[555]);\n$al1831 = L[556];\nvar anf_arg1838 = G(l11828,\"rest\",L[556]);\n$step1826 = 7;\n$al1831 = L[557];\n// omitting isFunction check;\n$ans1830 = merge$no$dups1837.$var.app(anf_arg1838,l21829);\nbreak;\ncase 7: var anf_arg1841 = $ans1830;\n// caller optimization;\n$ans1830 = link8.app(anf_arg1839,anf_arg1841);\n$step1826 = 13;\nbreak;\ncase 8: $al1831 = L[558];\nvar anf_arg1844 = G(l11828,\"first\",L[558]);\n$al1831 = L[559];\nvar anf_arg1198 = G(l21829,\"first\",L[559]);\n$step1826 = 9;\n$al1831 = L[564];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1831,equal$always1);\n}\n$ans1830 = equal$always1.app(anf_arg1844,anf_arg1198);\nbreak;\ncase 9: var anf_if1209 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1209)?10:11;\nbreak;\ncase 10: $al1831 = L[560];\nvar anf_arg1202 = G(l11828,\"rest\",L[560]);\n$step1826 = 0;\n++$elidedFrames1833;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1830 = R.mC();\n}\nl11828 = anf_arg1202;\nl21829 = l21829;\ncontinue;\ncase 11: $al1831 = L[561];\nvar anf_arg1207 = G(l21829,\"first\",L[561]);\n$al1831 = L[562];\nvar anf_arg1206 = G(l21829,\"rest\",L[562]);\n$step1826 = 12;\n$al1831 = L[563];\n// omitting isFunction check;\n$ans1830 = merge$no$dups1837.$var.app(l11828,anf_arg1206);\nbreak;\ncase 12: var anf_arg1208 = $ans1830;\n// caller optimization;\n$ans1830 = link8.app(anf_arg1207,anf_arg1208);\n$step1826 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1830;\ndefault: R.ffi.throwSpinnakerError(L[552],$step1826);\n}\n}\nif($step1826 !== 13) {\n$ans1830.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1831,$temp_lam1827,$step1826,[l11828,l21829],[anf_arg1207,anf_arg1839],$elidedFrames1833);\n}\nreturn $ans1830;\n};\nvar anf_assign1212 = R.mF($temp_lam1827,\"merge-no-dups\");\nmerge$no$dups1837.$var = anf_assign1212;\nR.nothing;\nvar $temp_lam1850 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__566($s11851,$s21852) {\nvar $step1849 = 0;\nvar $elidedFrames1856 = 0;\nvar $ans1853 = D;\nvar $al1854 = L[566];\nif(R.isAR($s11851)) {\n$step1849 = $s11851.step;\n$al1854 = $s11851.from;\n$ans1853 = $s11851.ans;\n$elidedFrames1856 = $s11851.elidedFrames;\ns11851 = $s11851.args[0];\ns21852 = $s11851.args[1];\ns1$elems1857 = $s11851.vars[0];\nann_check_temp1221 = $s11851.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[566],2,$t,false);\n}\nvar s11851 = $s11851;\nvar s21852 = $s21852;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1853 = R.mC();\n}\nwhile(!R.isContinuation($ans1853)) {\nswitch($step1849) {\ncase 0: $step1849 = 1;\n$al1854 = L[571];\n// omitting isFunction check;\n$ans1853 = set$to$sorted$elems1790.$var.app(s11851);\nbreak;\ncase 1: var s1$elems1857 = $ans1853;\n$step1849 = 2;\n$al1854 = L[570];\n// omitting isFunction check;\n$ans1853 = set$to$sorted$elems1790.$var.app(s21852);\nbreak;\ncase 2: var s2$elems1858 = $ans1853;\n$step1849 = 3;\n$al1854 = L[569];\n// omitting isFunction check;\n$ans1853 = merge$no$dups1837.$var.app(s1$elems1857,s2$elems1858);\nbreak;\ncase 3: var new$elems1859 = $ans1853;\n$step1849 = 4;\n$al1854 = L[568];\n// omitting isFunction check;\n$ans1853 = elems$to$balanced$avl1825.$var.app(new$elems1859);\nbreak;\ncase 4: var anf_arg1861 = $ans1853;\n// caller optimization;\n$ans1853 = tree$set1529.$var.app(anf_arg1861);\nvar ann_check_temp1221 = $ans1853;\n$step1849 = 5;\n$al1854 = L[567];\nvar $ann$check1862 = R._cA(L[567],Set1166,ann_check_temp1221);\nif(R.isContinuation($ann$check1862)) {\n$ans1853 = $ann$check1862;\n}\nbreak;\ncase 5: $step1849 = 6;\n$ans1853 = ann_check_temp1221;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1853;\ndefault: R.ffi.throwSpinnakerError(L[566],$step1849);\n}\n}\nif($step1849 !== 6) {\n$ans1853.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1854,$temp_lam1850,$step1849,[s11851,s21852],[s1$elems1857,ann_check_temp1221],$elidedFrames1856);\n}\nreturn $ans1853;\n};\nvar anf_assign1864 = R.mF($temp_lam1850,\"tree-set-union\");\ntree$set$union1629.$var = anf_assign1864;\nR.nothing;\nvar $temp_lam1866 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__572($l11867,$l21868) {\nvar $step1865 = 0;\nvar $elidedFrames1872 = 0;\nvar $ans1869 = D;\nvar $al1870 = L[572];\nif(R.isAR($l11867)) {\n$step1865 = $l11867.step;\n$al1870 = $l11867.from;\n$ans1869 = $l11867.ans;\n$elidedFrames1872 = $l11867.elidedFrames;\nl11867 = $l11867.args[0];\nl21868 = $l11867.args[1];\nanf_arg1251 = $l11867.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[572],2,$t,false);\n}\nvar l11867 = $l11867;\nvar l21868 = $l21868;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nwhile(!R.isContinuation($ans1869)) {\nswitch($step1865) {\ncase 0: // caller optimization;\n$ans1869 = is$empty5.app(l11867);\nvar anf_if1226 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1226)?1:2;\nbreak;\ncase 1: $step1865 = 3;\n$ans1869 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1869 = is$empty5.app(l21868);\nvar anf_arg1224 = $ans1869;\n$ans1869 = R.checkWrapBoolean(anf_arg1224);\n$step1865 = 3;\nbreak;\ncase 3: var anf_if1884 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1884)?4:5;\nbreak;\ncase 4: $step1865 = 13;\n$ans1869 = empty4;\nbreak;\ncase 5: $al1870 = L[573];\nvar anf_arg1873 = G(l11867,\"first\",L[573]);\n$al1870 = L[574];\nvar anf_arg1878 = G(l21868,\"first\",L[574]);\n$step1865 = 6;\n$al1870 = L[584];\n// omitting isFunction check;\n$ans1869 = _lessthan3.app(anf_arg1873,anf_arg1878);\nbreak;\ncase 6: var anf_if1272 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1272)?7:8;\nbreak;\ncase 7: $al1870 = L[575];\nvar anf_arg1270 = G(l11867,\"rest\",L[575]);\n$step1865 = 0;\n++$elidedFrames1872;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nl11867 = anf_arg1270;\nl21868 = l21868;\ncontinue;\ncase 8: $al1870 = L[576];\nvar anf_arg1271 = G(l11867,\"first\",L[576]);\n$al1870 = L[577];\nvar anf_arg1880 = G(l21868,\"first\",L[577]);\n$step1865 = 9;\n$al1870 = L[583];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1870,equal$always1);\n}\n$ans1869 = equal$always1.app(anf_arg1271,anf_arg1880);\nbreak;\ncase 9: var anf_if1262 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1262)?10:12;\nbreak;\ncase 10: $al1870 = L[578];\nvar anf_arg1251 = G(l11867,\"first\",L[578]);\n$al1870 = L[579];\nvar anf_arg1256 = G(l11867,\"rest\",L[579]);\n$al1870 = L[580];\nvar anf_arg1881 = G(l21868,\"rest\",L[580]);\n$step1865 = 11;\n$al1870 = L[581];\n// omitting isFunction check;\n$ans1869 = merge$only$dups1879.$var.app(anf_arg1256,anf_arg1881);\nbreak;\ncase 11: var anf_arg1882 = $ans1869;\n// caller optimization;\n$ans1869 = link8.app(anf_arg1251,anf_arg1882);\n$step1865 = 13;\nbreak;\ncase 12: $al1870 = L[582];\nvar anf_arg1883 = G(l21868,\"rest\",L[582]);\n$step1865 = 0;\n++$elidedFrames1872;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nl11867 = l11867;\nl21868 = anf_arg1883;\ncontinue;\ncase 13: ++R.GAS;\nreturn $ans1869;\ndefault: R.ffi.throwSpinnakerError(L[572],$step1865);\n}\n}\nif($step1865 !== 13) {\n$ans1869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1870,$temp_lam1866,$step1865,[l11867,l21868],[anf_arg1251],$elidedFrames1872);\n}\nreturn $ans1869;\n};\nvar anf_assign1886 = R.mF($temp_lam1866,\"merge-only-dups\");\nmerge$only$dups1879.$var = anf_assign1886;\nR.nothing;\nvar $temp_lam1888 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__585($s11889,$s21890) {\nvar $step1887 = 0;\nvar $elidedFrames1894 = 0;\nvar $ans1891 = D;\nvar $al1892 = L[585];\nif(R.isAR($s11889)) {\n$step1887 = $s11889.step;\n$al1892 = $s11889.from;\n$ans1891 = $s11889.ans;\n$elidedFrames1894 = $s11889.elidedFrames;\ns11889 = $s11889.args[0];\ns21890 = $s11889.args[1];\ns1$elems1895 = $s11889.vars[0];\nann_check_temp1900 = $s11889.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[585],2,$t,false);\n}\nvar s11889 = $s11889;\nvar s21890 = $s21890;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1891 = R.mC();\n}\nwhile(!R.isContinuation($ans1891)) {\nswitch($step1887) {\ncase 0: $step1887 = 1;\n$al1892 = L[590];\n// omitting isFunction check;\n$ans1891 = set$to$sorted$elems1790.$var.app(s11889);\nbreak;\ncase 1: var s1$elems1895 = $ans1891;\n$step1887 = 2;\n$al1892 = L[589];\n// omitting isFunction check;\n$ans1891 = set$to$sorted$elems1790.$var.app(s21890);\nbreak;\ncase 2: var s2$elems1896 = $ans1891;\n$step1887 = 3;\n$al1892 = L[588];\n// omitting isFunction check;\n$ans1891 = merge$only$dups1879.$var.app(s1$elems1895,s2$elems1896);\nbreak;\ncase 3: var new$elems1897 = $ans1891;\n$step1887 = 4;\n$al1892 = L[587];\n// omitting isFunction check;\n$ans1891 = elems$to$balanced$avl1825.$var.app(new$elems1897);\nbreak;\ncase 4: var anf_arg1899 = $ans1891;\n// caller optimization;\n$ans1891 = tree$set1529.$var.app(anf_arg1899);\nvar ann_check_temp1900 = $ans1891;\n$step1887 = 5;\n$al1892 = L[586];\nvar $ann$check1901 = R._cA(L[586],Set1166,ann_check_temp1900);\nif(R.isContinuation($ann$check1901)) {\n$ans1891 = $ann$check1901;\n}\nbreak;\ncase 5: $step1887 = 6;\n$ans1891 = ann_check_temp1900;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1891;\ndefault: R.ffi.throwSpinnakerError(L[585],$step1887);\n}\n}\nif($step1887 !== 6) {\n$ans1891.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1892,$temp_lam1888,$step1887,[s11889,s21890],[s1$elems1895,ann_check_temp1900],$elidedFrames1894);\n}\nreturn $ans1891;\n};\nvar anf_assign1903 = R.mF($temp_lam1888,\"tree-set-intersect\");\ntree$set$intersect1640.$var = anf_assign1903;\nR.nothing;\nvar $temp_lam1905 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__591($l11906,$l21907) {\nvar $step1904 = 0;\nvar $elidedFrames1912 = 0;\nvar $ans1909 = D;\nvar $al1910 = L[591];\nif(R.isAR($l11906)) {\n$step1904 = $l11906.step;\n$al1910 = $l11906.from;\n$ans1909 = $l11906.ans;\n$elidedFrames1912 = $l11906.elidedFrames;\nl11906 = $l11906.args[0];\nl21907 = $l11906.args[1];\nanf_arg1935 = $l11906.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[591],2,$t,false);\n}\nvar l11906 = $l11906;\nvar l21907 = $l21907;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nwhile(!R.isContinuation($ans1909)) {\nswitch($step1904) {\ncase 0: // caller optimization;\n$ans1909 = is$empty5.app(l11906);\nvar anf_if1943 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1943)?1:2;\nbreak;\ncase 1: $step1904 = 3;\n$ans1909 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1909 = is$empty5.app(l21907);\nvar anf_arg1942 = $ans1909;\n$ans1909 = R.checkWrapBoolean(anf_arg1942);\n$step1904 = 3;\nbreak;\ncase 3: var anf_if1941 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1941)?4:5;\nbreak;\ncase 4: $step1904 = 13;\n$ans1909 = l11906;\nbreak;\ncase 5: $al1910 = L[592];\nvar anf_arg1922 = G(l11906,\"first\",L[592]);\n$al1910 = L[593];\nvar anf_arg1928 = G(l21907,\"first\",L[593]);\n$step1904 = 6;\n$al1910 = L[603];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1910,equal$always1);\n}\n$ans1909 = equal$always1.app(anf_arg1922,anf_arg1928);\nbreak;\ncase 6: var anf_if1321 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1321)?7:8;\nbreak;\ncase 7: $al1910 = L[594];\nvar anf_arg1313 = G(l11906,\"rest\",L[594]);\n$al1910 = L[595];\nvar anf_arg1930 = G(l21907,\"rest\",L[595]);\n$step1904 = 0;\n++$elidedFrames1912;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nl11906 = anf_arg1313;\nl21907 = anf_arg1930;\ncontinue;\ncase 8: $al1910 = L[596];\nvar anf_arg1316 = G(l11906,\"first\",L[596]);\n$al1910 = L[597];\nvar anf_arg1319 = G(l21907,\"first\",L[597]);\n$step1904 = 9;\n$al1910 = L[602];\n// omitting isFunction check;\n$ans1909 = _lessthan3.app(anf_arg1316,anf_arg1319);\nbreak;\ncase 9: var anf_if1940 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1940)?10:12;\nbreak;\ncase 10: $al1910 = L[598];\nvar anf_arg1935 = G(l11906,\"first\",L[598]);\n$al1910 = L[599];\nvar anf_arg1932 = G(l11906,\"rest\",L[599]);\n$step1904 = 11;\n$al1910 = L[600];\n// omitting isFunction check;\n$ans1909 = merge$drop$l21929.$var.app(anf_arg1932,l21907);\nbreak;\ncase 11: var anf_arg1334 = $ans1909;\n// caller optimization;\n$ans1909 = link8.app(anf_arg1935,anf_arg1334);\n$step1904 = 13;\nbreak;\ncase 12: $al1910 = L[601];\nvar anf_arg1939 = G(l21907,\"rest\",L[601]);\n$step1904 = 0;\n++$elidedFrames1912;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nl11906 = l11906;\nl21907 = anf_arg1939;\ncontinue;\ncase 13: ++R.GAS;\nreturn $ans1909;\ndefault: R.ffi.throwSpinnakerError(L[591],$step1904);\n}\n}\nif($step1904 !== 13) {\n$ans1909.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1910,$temp_lam1905,$step1904,[l11906,l21907],[anf_arg1935],$elidedFrames1912);\n}\nreturn $ans1909;\n};\nvar anf_assign1945 = R.mF($temp_lam1905,\"merge-drop-l2\");\nmerge$drop$l21929.$var = anf_assign1945;\nR.nothing;\nvar $temp_lam1947 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__604($s11948,$s21949) {\nvar $step1946 = 0;\nvar $elidedFrames1953 = 0;\nvar $ans1950 = D;\nvar $al1951 = L[604];\nif(R.isAR($s11948)) {\n$step1946 = $s11948.step;\n$al1951 = $s11948.from;\n$ans1950 = $s11948.ans;\n$elidedFrames1953 = $s11948.elidedFrames;\ns11948 = $s11948.args[0];\ns21949 = $s11948.args[1];\ns1$elems1954 = $s11948.vars[0];\nann_check_temp1958 = $s11948.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[604],2,$t,false);\n}\nvar s11948 = $s11948;\nvar s21949 = $s21949;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1950 = R.mC();\n}\nwhile(!R.isContinuation($ans1950)) {\nswitch($step1946) {\ncase 0: $step1946 = 1;\n$al1951 = L[609];\n// omitting isFunction check;\n$ans1950 = set$to$sorted$elems1790.$var.app(s11948);\nbreak;\ncase 1: var s1$elems1954 = $ans1950;\n$step1946 = 2;\n$al1951 = L[608];\n// omitting isFunction check;\n$ans1950 = set$to$sorted$elems1790.$var.app(s21949);\nbreak;\ncase 2: var s2$elems1955 = $ans1950;\n$step1946 = 3;\n$al1951 = L[607];\n// omitting isFunction check;\n$ans1950 = merge$drop$l21929.$var.app(s1$elems1954,s2$elems1955);\nbreak;\ncase 3: var new$elems1956 = $ans1950;\n$step1946 = 4;\n$al1951 = L[606];\n// omitting isFunction check;\n$ans1950 = elems$to$balanced$avl1825.$var.app(new$elems1956);\nbreak;\ncase 4: var anf_arg1957 = $ans1950;\n// caller optimization;\n$ans1950 = tree$set1529.$var.app(anf_arg1957);\nvar ann_check_temp1958 = $ans1950;\n$step1946 = 5;\n$al1951 = L[605];\nvar $ann$check1959 = R._cA(L[605],Set1166,ann_check_temp1958);\nif(R.isContinuation($ann$check1959)) {\n$ans1950 = $ann$check1959;\n}\nbreak;\ncase 5: $step1946 = 6;\n$ans1950 = ann_check_temp1958;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1950;\ndefault: R.ffi.throwSpinnakerError(L[604],$step1946);\n}\n}\nif($step1946 !== 6) {\n$ans1950.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1951,$temp_lam1947,$step1946,[s11948,s21949],[s1$elems1954,ann_check_temp1958],$elidedFrames1953);\n}\nreturn $ans1950;\n};\nvar anf_assign1961 = R.mF($temp_lam1947,\"tree-set-difference\");\ntree$set$difference1662.$var = anf_assign1961;\nR.nothing;\nvar $temp_lam1963 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__610($f1964,$s1965) {\nvar $step1962 = 0;\nvar $elidedFrames1969 = 0;\nvar $ans1966 = D;\nvar $al1967 = L[610];\nif(R.isAR($f1964)) {\n$step1962 = $f1964.step;\n$al1967 = $f1964.from;\n$ans1966 = $f1964.ans;\n$elidedFrames1969 = $f1964.elidedFrames;\nf1964 = $f1964.args[0];\ns1965 = $f1964.args[1];\nann_check_temp1970 = $f1964.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[610],2,$t,false);\n}\nvar f1964 = $f1964;\nvar s1965 = $s1965;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1966 = R.mC();\n}\nwhile(!R.isContinuation($ans1966)) {\nswitch($step1962) {\ncase 0: $step1962 = 1;\n$al1967 = L[613];\nR._cA(L[613],Set1166,s1965);\nbreak;\ncase 1: $step1962 = 2;\n$ans1966 = R.maybeMethodCall1(s1965,\"all\",L[611],f1964);\nbreak;\ncase 2: var ann_check_temp1970 = $ans1966;\n$step1962 = 3;\n$al1967 = L[612];\nvar $ann$check1971 = R._cA(L[612],$type$Boolean6,ann_check_temp1970);\nif(R.isContinuation($ann$check1971)) {\n$ans1966 = $ann$check1971;\n}\nbreak;\ncase 3: $step1962 = 4;\n$ans1966 = ann_check_temp1970;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1966;\ndefault: R.ffi.throwSpinnakerError(L[610],$step1962);\n}\n}\nif($step1962 !== 4) {\n$ans1966.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1967,$temp_lam1963,$step1962,[f1964,s1965],[ann_check_temp1970],$elidedFrames1969);\n}\nreturn $ans1966;\n};\nvar anf_assign1973 = R.mF($temp_lam1963,\"set-all\");\nset$all1974.$var = anf_assign1973;\nR.nothing;\nvar $temp_lam1976 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__614($f1765,$s1977) {\nvar $step1975 = 0;\nvar $elidedFrames1981 = 0;\nvar $ans1978 = D;\nvar $al1979 = L[614];\nif(R.isAR($f1765)) {\n$step1975 = $f1765.step;\n$al1979 = $f1765.from;\n$ans1978 = $f1765.ans;\n$elidedFrames1981 = $f1765.elidedFrames;\nf1765 = $f1765.args[0];\ns1977 = $f1765.args[1];\nann_check_temp1982 = $f1765.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[614],2,$t,false);\n}\nvar f1765 = $f1765;\nvar s1977 = $s1977;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1978 = R.mC();\n}\nwhile(!R.isContinuation($ans1978)) {\nswitch($step1975) {\ncase 0: $step1975 = 1;\n$al1979 = L[617];\nR._cA(L[617],Set1166,s1977);\nbreak;\ncase 1: $step1975 = 2;\n$ans1978 = R.maybeMethodCall1(s1977,\"any\",L[615],f1765);\nbreak;\ncase 2: var ann_check_temp1982 = $ans1978;\n$step1975 = 3;\n$al1979 = L[616];\nvar $ann$check1983 = R._cA(L[616],$type$Boolean6,ann_check_temp1982);\nif(R.isContinuation($ann$check1983)) {\n$ans1978 = $ann$check1983;\n}\nbreak;\ncase 3: $step1975 = 4;\n$ans1978 = ann_check_temp1982;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1978;\ndefault: R.ffi.throwSpinnakerError(L[614],$step1975);\n}\n}\nif($step1975 !== 4) {\n$ans1978.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1979,$temp_lam1976,$step1975,[f1765,s1977],[ann_check_temp1982],$elidedFrames1981);\n}\nreturn $ans1978;\n};\nvar anf_assign1985 = R.mF($temp_lam1976,\"set-any\");\nset$any1986.$var = anf_assign1985;\nR.nothing;\nvar $temp_lam1988 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__618($f1989,$base1990,$s1991) {\nvar $step1987 = 0;\nvar $elidedFrames1995 = 0;\nvar $ans1992 = D;\nvar $al1993 = L[618];\nif(R.isAR($f1989)) {\n$step1987 = $f1989.step;\n$al1993 = $f1989.from;\n$ans1992 = $f1989.ans;\n$elidedFrames1995 = $f1989.elidedFrames;\nf1989 = $f1989.args[0];\nbase1990 = $f1989.args[1];\ns1991 = $f1989.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[618],3,$t,false);\n}\nvar f1989 = $f1989;\nvar base1990 = $base1990;\nvar s1991 = $s1991;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1992 = R.mC();\n}\nwhile(!R.isContinuation($ans1992)) {\nswitch($step1987) {\ncase 0: $step1987 = 1;\n$al1993 = L[620];\nR._cA(L[620],Set1166,s1991);\nbreak;\ncase 1: $step1987 = 2;\n$ans1992 = R.maybeMethodCall2(s1991,\"fold\",L[619],f1989,base1990);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1992;\ndefault: R.ffi.throwSpinnakerError(L[618],$step1987);\n}\n}\nif($step1987 !== 2) {\n$ans1992.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1993,$temp_lam1988,$step1987,[f1989,base1990,s1991],[],$elidedFrames1995);\n}\nreturn $ans1992;\n};\nvar anf_assign1997 = R.mF($temp_lam1988,\"set-fold\");\nset$fold1998.$var = anf_assign1997;\nR.nothing;\nvar $temp_lam2001 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__621($lst2002,$base$set2003) {\nvar $step2000 = 0;\nvar $elidedFrames2007 = 0;\nvar $ans2004 = D;\nvar $al2005 = L[621];\nif(R.isAR($lst2002)) {\n$step2000 = $lst2002.step;\n$al2005 = $lst2002.from;\n$ans2004 = $lst2002.ans;\n$elidedFrames2007 = $lst2002.elidedFrames;\nlst2002 = $lst2002.args[0];\nbase$set2003 = $lst2002.args[1];\nann_check_temp2017 = $lst2002.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[621],2,$t,false);\n}\nvar lst2002 = $lst2002;\nvar base$set2003 = $base$set2003;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2004 = R.mC();\n}\nwhile(!R.isContinuation($ans2004)) {\nswitch($step2000) {\ncase 0: $step2000 = 1;\n$al2005 = L[625];\nR._cA(L[625],List7,lst2002);\nbreak;\ncase 1: $step2000 = 2;\n$al2005 = L[626];\nR._cA(L[626],Set1166,base$set2003);\nbreak;\ncase 2: var $temp_lam2009 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__622($s2010,$elem2011) {\nvar $step2008 = 0;\nvar $elidedFrames2015 = 0;\nvar $ans2012 = D;\nvar $al2013 = L[622];\nif(R.isAR($s2010)) {\n$step2008 = $s2010.step;\n$al2013 = $s2010.from;\n$ans2012 = $s2010.ans;\n$elidedFrames2015 = $s2010.elidedFrames;\ns2010 = $s2010.args[0];\nelem2011 = $s2010.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[622],2,$t,false);\n}\nvar s2010 = $s2010;\nvar elem2011 = $elem2011;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2012 = R.mC();\n}\nwhile(!R.isContinuation($ans2012)) {\nswitch($step2008) {\ncase 0: $step2008 = 1;\n$ans2012 = R.maybeMethodCall1(s2010,\"add\",L[623],elem2011);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2012;\ndefault: R.ffi.throwSpinnakerError(L[622],$step2008);\n}\n}\nif($step2008 !== 1) {\n$ans2012.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2013,$temp_lam2009,$step2008,[s2010,elem2011],[],$elidedFrames2015);\n}\nreturn $ans2012;\n};\nvar anf_arg1367 = R.mF($temp_lam2009,\"for-body\");\n$step2000 = 3;\n$al2005 = L[622];\n// omitting isFunction check;\n$ans2004 = fold6.app(anf_arg1367,base$set2003,lst2002);\nbreak;\ncase 3: var ann_check_temp2017 = $ans2004;\n$step2000 = 4;\n$al2005 = L[624];\nvar $ann$check2018 = R._cA(L[624],Set1166,ann_check_temp2017);\nif(R.isContinuation($ann$check2018)) {\n$ans2004 = $ann$check2018;\n}\nbreak;\ncase 4: $step2000 = 5;\n$ans2004 = ann_check_temp2017;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2004;\ndefault: R.ffi.throwSpinnakerError(L[621],$step2000);\n}\n}\nif($step2000 !== 5) {\n$ans2004.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2005,$temp_lam2001,$step2000,[lst2002,base$set2003],[ann_check_temp2017],$elidedFrames2007);\n}\nreturn $ans2004;\n};\nvar anf_assign2020 = R.mF($temp_lam2001,\"list-to-set\");\nlist$to$set2021.$var = anf_assign2020;\nR.nothing;\nvar $temp_lam2023 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__627($lst2024) {\nvar $step2022 = 0;\nvar $elidedFrames2028 = 0;\nvar $ans2025 = D;\nvar $al2026 = L[627];\nif(R.isAR($lst2024)) {\n$step2022 = $lst2024.step;\n$al2026 = $lst2024.from;\n$ans2025 = $lst2024.ans;\n$elidedFrames2028 = $lst2024.elidedFrames;\nlst2024 = $lst2024.args[0];\nann_check_temp2055 = $lst2024.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[627],1,$t,false);\n}\nvar lst2024 = $lst2024;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2025 = R.mC();\n}\nwhile(!R.isContinuation($ans2025)) {\nswitch($step2022) {\ncase 0: $step2022 = 1;\n$al2026 = L[630];\nR._cA(L[630],List7,lst2024);\nbreak;\ncase 1: // caller optimization;\n$ans2025 = list$set1225.$var.app(empty4);\nvar anf_arg2054 = $ans2025;\n$step2022 = 2;\n$al2026 = L[629];\n// omitting isFunction check;\n$ans2025 = list$to$set2021.$var.app(lst2024,anf_arg2054);\nbreak;\ncase 2: var ann_check_temp2055 = $ans2025;\n$step2022 = 3;\n$al2026 = L[628];\nvar $ann$check2056 = R._cA(L[628],Set1166,ann_check_temp2055);\nif(R.isContinuation($ann$check2056)) {\n$ans2025 = $ann$check2056;\n}\nbreak;\ncase 3: $step2022 = 4;\n$ans2025 = ann_check_temp2055;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2025;\ndefault: R.ffi.throwSpinnakerError(L[627],$step2022);\n}\n}\nif($step2022 !== 4) {\n$ans2025.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2026,$temp_lam2023,$step2022,[lst2024],[ann_check_temp2055],$elidedFrames2028);\n}\nreturn $ans2025;\n};\nvar anf_assign1383 = R.mF($temp_lam2023,\"list-to-list-set\");\nlist$to$list$set2058.$var = anf_assign1383;\nR.nothing;\nvar $temp_lam2060 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__631($lst2061) {\nvar $step2059 = 0;\nvar $elidedFrames2065 = 0;\nvar $ans2062 = D;\nvar $al2063 = L[631];\nif(R.isAR($lst2061)) {\n$step2059 = $lst2061.step;\n$al2063 = $lst2061.from;\n$ans2062 = $lst2061.ans;\n$elidedFrames2065 = $lst2061.elidedFrames;\nlst2061 = $lst2061.args[0];\nann_check_temp1393 = $lst2061.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[631],1,$t,false);\n}\nvar lst2061 = $lst2061;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2062 = R.mC();\n}\nwhile(!R.isContinuation($ans2062)) {\nswitch($step2059) {\ncase 0: $step2059 = 1;\n$al2063 = L[634];\nR._cA(L[634],List7,lst2061);\nbreak;\ncase 1: // caller optimization;\n$ans2062 = tree$set1529.$var.app(leaf98.$var);\nvar anf_arg2071 = $ans2062;\n$step2059 = 2;\n$al2063 = L[633];\n// omitting isFunction check;\n$ans2062 = list$to$set2021.$var.app(lst2061,anf_arg2071);\nbreak;\ncase 2: var ann_check_temp1393 = $ans2062;\n$step2059 = 3;\n$al2063 = L[632];\nvar $ann$check2073 = R._cA(L[632],Set1166,ann_check_temp1393);\nif(R.isContinuation($ann$check2073)) {\n$ans2062 = $ann$check2073;\n}\nbreak;\ncase 3: $step2059 = 4;\n$ans2062 = ann_check_temp1393;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2062;\ndefault: R.ffi.throwSpinnakerError(L[631],$step2059);\n}\n}\nif($step2059 !== 4) {\n$ans2062.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2063,$temp_lam2060,$step2059,[lst2061],[ann_check_temp1393],$elidedFrames2065);\n}\nreturn $ans2062;\n};\nvar anf_assign2075 = R.mF($temp_lam2060,\"list-to-tree-set\");\nlist$to$tree$set2076.$var = anf_assign2075;\nR.nothing;\nvar $temp_lam2078 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__635($lst2079) {\nvar $step2077 = 0;\nvar $elidedFrames2083 = 0;\nvar $ans2080 = D;\nvar $al2081 = L[635];\nif(R.isAR($lst2079)) {\n$step2077 = $lst2079.step;\n$al2081 = $lst2079.from;\n$ans2080 = $lst2079.ans;\n$elidedFrames2083 = $lst2079.elidedFrames;\nlst2079 = $lst2079.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[635],1,$t,false);\n}\nvar lst2079 = $lst2079;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2080 = R.mC();\n}\nwhile(!R.isContinuation($ans2080)) {\nswitch($step2077) {\ncase 0: $step2077 = 1;\n$al2081 = L[638];\nR._cA(L[638],List7,lst2079);\nbreak;\ncase 1: var $temp_lam2086 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__636($tree2087,$elt2088) {\nvar $step2085 = 0;\nvar $elidedFrames2092 = 0;\nvar $ans2089 = D;\nvar $al2090 = L[636];\nif(R.isAR($tree2087)) {\n$step2085 = $tree2087.step;\n$al2090 = $tree2087.from;\n$ans2089 = $tree2087.ans;\n$elidedFrames2092 = $tree2087.elidedFrames;\ntree2087 = $tree2087.args[0];\nelt2088 = $tree2087.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[636],2,$t,false);\n}\nvar tree2087 = $tree2087;\nvar elt2088 = $elt2088;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2089 = R.mC();\n}\nwhile(!R.isContinuation($ans2089)) {\nswitch($step2085) {\ncase 0: $step2085 = 1;\n$ans2089 = R.maybeMethodCall1(tree2087,\"insert\",L[637],elt2088);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2089;\ndefault: R.ffi.throwSpinnakerError(L[636],$step2085);\n}\n}\nif($step2085 !== 1) {\n$ans2089.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2090,$temp_lam2086,$step2085,[tree2087,elt2088],[],$elidedFrames2092);\n}\nreturn $ans2089;\n};\nvar anf_arg2094 = R.mF($temp_lam2086,\"for-body\");\n$step2077 = 2;\n$al2081 = L[636];\n// omitting isFunction check;\n$ans2080 = fold6.app(anf_arg2094,leaf98.$var,lst2079);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2080;\ndefault: R.ffi.throwSpinnakerError(L[635],$step2077);\n}\n}\nif($step2077 !== 2) {\n$ans2080.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2081,$temp_lam2078,$step2077,[lst2079],[],$elidedFrames2083);\n}\nreturn $ans2080;\n};\nvar anf_assign2096 = R.mF($temp_lam2078,\"list-to-tree\");\nlist$to$tree2097.$var = anf_assign2096;\nR.nothing;\nvar $temp_lam2099 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__639($arr2100) {\nvar $step2098 = 0;\nvar $elidedFrames2104 = 0;\nvar $ans2101 = D;\nvar $al2102 = L[639];\nif(R.isAR($arr2100)) {\n$step2098 = $arr2100.step;\n$al2102 = $arr2100.from;\n$ans2101 = $arr2100.ans;\n$elidedFrames2104 = $arr2100.elidedFrames;\narr2100 = $arr2100.args[0];\nann_check_temp2115 = $arr2100.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[639],1,$t,false);\n}\nvar arr2100 = $arr2100;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2101 = R.mC();\n}\nwhile(!R.isContinuation($ans2101)) {\nswitch($step2098) {\ncase 0: $step2098 = 1;\n$al2102 = L[643];\nR._cA(L[643],$type$RawArray1,arr2100);\nbreak;\ncase 1: var $temp_lam2106 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__640($ls2107,$elt2108,$$underscore2109) {\nvar $step2105 = 0;\nvar $elidedFrames2113 = 0;\nvar $ans2110 = D;\nvar $al2111 = L[640];\nif(R.isAR($ls2107)) {\n$step2105 = $ls2107.step;\n$al2111 = $ls2107.from;\n$ans2110 = $ls2107.ans;\n$elidedFrames2113 = $ls2107.elidedFrames;\nls2107 = $ls2107.args[0];\nelt2108 = $ls2107.args[1];\n$underscore2109 = $ls2107.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[640],3,$t,false);\n}\nvar ls2107 = $ls2107;\nvar elt2108 = $elt2108;\nvar $underscore2109 = $$underscore2109;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2110 = R.mC();\n}\nwhile(!R.isContinuation($ans2110)) {\nswitch($step2105) {\ncase 0: $step2105 = 1;\n$ans2110 = R.maybeMethodCall1(ls2107,\"add\",L[641],elt2108);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2110;\ndefault: R.ffi.throwSpinnakerError(L[640],$step2105);\n}\n}\nif($step2105 !== 1) {\n$ans2110.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2111,$temp_lam2106,$step2105,[ls2107,elt2108,$underscore2109],[],$elidedFrames2113);\n}\nreturn $ans2110;\n};\nvar anf_arg1409 = R.mF($temp_lam2106,\"for-body\");\n// caller optimization;\n$ans2101 = list$set1225.$var.app(empty4);\nvar anf_arg1414 = $ans2101;\n$step2098 = 2;\n$al2102 = L[640];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2102,raw$array$fold3);\n}\n$ans2101 = raw$array$fold3.app(anf_arg1409,anf_arg1414,arr2100,(0));\nbreak;\ncase 2: var ann_check_temp2115 = $ans2101;\n$step2098 = 3;\n$al2102 = L[642];\nvar $ann$check2116 = R._cA(L[642],Set1166,ann_check_temp2115);\nif(R.isContinuation($ann$check2116)) {\n$ans2101 = $ann$check2116;\n}\nbreak;\ncase 3: $step2098 = 4;\n$ans2101 = ann_check_temp2115;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2101;\ndefault: R.ffi.throwSpinnakerError(L[639],$step2098);\n}\n}\nif($step2098 !== 4) {\n$ans2101.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2102,$temp_lam2099,$step2098,[arr2100],[ann_check_temp2115],$elidedFrames2104);\n}\nreturn $ans2101;\n};\nvar anf_assign2118 = R.mF($temp_lam2099,\"arr-to-list-set\");\narr$to$list$set2119.$var = anf_assign2118;\nR.nothing;\nvar $temp_lam2121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__644($arr2122) {\nvar $step2120 = 0;\nvar $elidedFrames2126 = 0;\nvar $ans2123 = D;\nvar $al2124 = L[644];\nif(R.isAR($arr2122)) {\n$step2120 = $arr2122.step;\n$al2124 = $arr2122.from;\n$ans2123 = $arr2122.ans;\n$elidedFrames2126 = $arr2122.elidedFrames;\narr2122 = $arr2122.args[0];\nann_check_temp2140 = $arr2122.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[644],1,$t,false);\n}\nvar arr2122 = $arr2122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2123 = R.mC();\n}\nwhile(!R.isContinuation($ans2123)) {\nswitch($step2120) {\ncase 0: $step2120 = 1;\n$al2124 = L[648];\nR._cA(L[648],$type$RawArray1,arr2122);\nbreak;\ncase 1: var $temp_lam2129 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__645($t2130,$elt2131,$$underscore2132) {\nvar $step2128 = 0;\nvar $elidedFrames2137 = 0;\nvar $ans2134 = D;\nvar $al2135 = L[645];\nif(R.isAR($t2130)) {\n$step2128 = $t2130.step;\n$al2135 = $t2130.from;\n$ans2134 = $t2130.ans;\n$elidedFrames2137 = $t2130.elidedFrames;\nt2130 = $t2130.args[0];\nelt2131 = $t2130.args[1];\n$underscore2132 = $t2130.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[645],3,$t,false);\n}\nvar t2130 = $t2130;\nvar elt2131 = $elt2131;\nvar $underscore2132 = $$underscore2132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2134 = R.mC();\n}\nwhile(!R.isContinuation($ans2134)) {\nswitch($step2128) {\ncase 0: $step2128 = 1;\n$ans2134 = R.maybeMethodCall1(t2130,\"insert\",L[646],elt2131);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2134;\ndefault: R.ffi.throwSpinnakerError(L[645],$step2128);\n}\n}\nif($step2128 !== 1) {\n$ans2134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2135,$temp_lam2129,$step2128,[t2130,elt2131,$underscore2132],[],$elidedFrames2137);\n}\nreturn $ans2134;\n};\nvar anf_arg1419 = R.mF($temp_lam2129,\"for-body\");\n$step2120 = 2;\n$al2124 = L[645];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2124,raw$array$fold3);\n}\n$ans2123 = raw$array$fold3.app(anf_arg1419,leaf98.$var,arr2122,(0));\nbreak;\ncase 2: var tree2139 = $ans2123;\n// caller optimization;\n$ans2123 = tree$set1529.$var.app(tree2139);\nvar ann_check_temp2140 = $ans2123;\n$step2120 = 3;\n$al2124 = L[647];\nvar $ann$check2141 = R._cA(L[647],Set1166,ann_check_temp2140);\nif(R.isContinuation($ann$check2141)) {\n$ans2123 = $ann$check2141;\n}\nbreak;\ncase 3: $step2120 = 4;\n$ans2123 = ann_check_temp2140;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2123;\ndefault: R.ffi.throwSpinnakerError(L[644],$step2120);\n}\n}\nif($step2120 !== 4) {\n$ans2123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2124,$temp_lam2121,$step2120,[arr2122],[ann_check_temp2140],$elidedFrames2126);\n}\nreturn $ans2123;\n};\nvar anf_assign1430 = R.mF($temp_lam2121,\"arr-to-tree-set\");\narr$to$tree$set2143.$var = anf_assign1430;\nR.nothing;\n// caller optimization;\n$ans25 = list$set1225.$var.app(empty4);\nvar empty$list$set2214 = $ans25;\n// caller optimization;\n$ans25 = tree$set1529.$var.app(leaf98.$var);\nvar empty$tree$set2278 = $ans25;\nvar makeSet22159 = {\"$var\":D};\nvar makeSet32172 = {\"$var\":D};\nvar makeSet42190 = {\"$var\":D};\nvar makeSet52207 = {\"$var\":D};\nvar $temp_lam2145 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__649($a2146,$b2147) {\nvar $step2144 = 0;\nvar $elidedFrames2151 = 0;\nvar $ans2148 = D;\nvar $al2149 = L[649];\nif(R.isAR($a2146)) {\n$step2144 = $a2146.step;\n$al2149 = $a2146.from;\n$ans2148 = $a2146.ans;\n$elidedFrames2151 = $a2146.elidedFrames;\na2146 = $a2146.args[0];\nb2147 = $a2146.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[649],2,$t,false);\n}\nvar a2146 = $a2146;\nvar b2147 = $b2147;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2148 = R.mC();\n}\nwhile(!R.isContinuation($ans2148)) {\nswitch($step2144) {\ncase 0: $step2144 = 1;\n$al2149 = L[650];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2149,equal$always1);\n}\n$ans2148 = equal$always1.app(a2146,b2147);\nbreak;\ncase 1: var anf_if2156 = $ans2148;\n$step2144 = R.checkPyretTrue(anf_if2156)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans2148 = link8.app(a2146,empty4);\n$step2144 = 4;\nbreak;\ncase 3: // caller optimization;\n$ans2148 = link8.app(b2147,empty4);\nvar anf_arg2155 = $ans2148;\n// caller optimization;\n$ans2148 = link8.app(a2146,anf_arg2155);\n$step2144 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2148;\ndefault: R.ffi.throwSpinnakerError(L[649],$step2144);\n}\n}\nif($step2144 !== 4) {\n$ans2148.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2149,$temp_lam2145,$step2144,[a2146,b2147],[],$elidedFrames2151);\n}\nreturn $ans2148;\n};\nvar anf_assign2158 = R.mF($temp_lam2145,\"makeSet2\");\nmakeSet22159.$var = anf_assign2158;\nR.nothing;\nvar $temp_lam2161 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__651($a2162,$b2163,$c2164) {\nvar $step2160 = 0;\nvar $elidedFrames2168 = 0;\nvar $ans2165 = D;\nvar $al2166 = L[651];\nif(R.isAR($a2162)) {\n$step2160 = $a2162.step;\n$al2166 = $a2162.from;\n$ans2165 = $a2162.ans;\n$elidedFrames2168 = $a2162.elidedFrames;\na2162 = $a2162.args[0];\nb2163 = $a2162.args[1];\nc2164 = $a2162.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[651],3,$t,false);\n}\nvar a2162 = $a2162;\nvar b2163 = $b2163;\nvar c2164 = $c2164;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2165 = R.mC();\n}\nwhile(!R.isContinuation($ans2165)) {\nswitch($step2160) {\ncase 0: $step2160 = 1;\n$al2166 = L[656];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2166,equal$always1);\n}\n$ans2165 = equal$always1.app(a2162,b2163);\nbreak;\ncase 1: var anf_if2169 = $ans2165;\n$step2160 = R.checkPyretTrue(anf_if2169)?2:3;\nbreak;\ncase 2: $step2160 = 8;\n$al2166 = L[652];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(b2163,c2164);\nbreak;\ncase 3: $step2160 = 4;\n$al2166 = L[655];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2166,equal$always1);\n}\n$ans2165 = equal$always1.app(a2162,c2164);\nbreak;\ncase 4: var anf_if1465 = $ans2165;\n$step2160 = R.checkPyretTrue(anf_if1465)?5:6;\nbreak;\ncase 5: $step2160 = 8;\n$al2166 = L[653];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(a2162,b2163);\nbreak;\ncase 6: $step2160 = 7;\n$al2166 = L[654];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(b2163,c2164);\nbreak;\ncase 7: var anf_arg1443 = $ans2165;\n// caller optimization;\n$ans2165 = link8.app(a2162,anf_arg1443);\n$step2160 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2165;\ndefault: R.ffi.throwSpinnakerError(L[651],$step2160);\n}\n}\nif($step2160 !== 8) {\n$ans2165.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2166,$temp_lam2161,$step2160,[a2162,b2163,c2164],[],$elidedFrames2168);\n}\nreturn $ans2165;\n};\nvar anf_assign2171 = R.mF($temp_lam2161,\"makeSet3\");\nmakeSet32172.$var = anf_assign2171;\nR.nothing;\nvar $temp_lam2174 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__657($a2175,$b2176,$c2177,$d2178) {\nvar $step2173 = 0;\nvar $elidedFrames2182 = 0;\nvar $ans2179 = D;\nvar $al2180 = L[657];\nif(R.isAR($a2175)) {\n$step2173 = $a2175.step;\n$al2180 = $a2175.from;\n$ans2179 = $a2175.ans;\n$elidedFrames2182 = $a2175.elidedFrames;\na2175 = $a2175.args[0];\nb2176 = $a2175.args[1];\nc2177 = $a2175.args[2];\nd2178 = $a2175.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[657],4,$t,false);\n}\nvar a2175 = $a2175;\nvar b2176 = $b2176;\nvar c2177 = $c2177;\nvar d2178 = $d2178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2179 = R.mC();\n}\nwhile(!R.isContinuation($ans2179)) {\nswitch($step2173) {\ncase 0: $step2173 = 1;\n$al2180 = L[664];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,b2176);\nbreak;\ncase 1: var anf_if2187 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2187)?2:3;\nbreak;\ncase 2: $step2173 = 11;\n$al2180 = L[658];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(b2176,c2177,d2178);\nbreak;\ncase 3: $step2173 = 4;\n$al2180 = L[663];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,c2177);\nbreak;\ncase 4: var anf_if2186 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2186)?5:6;\nbreak;\ncase 5: $step2173 = 11;\n$al2180 = L[659];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(a2175,b2176,d2178);\nbreak;\ncase 6: $step2173 = 7;\n$al2180 = L[662];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,d2178);\nbreak;\ncase 7: var anf_if2183 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2183)?8:9;\nbreak;\ncase 8: $step2173 = 11;\n$al2180 = L[660];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(a2175,b2176,c2177);\nbreak;\ncase 9: $step2173 = 10;\n$al2180 = L[661];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(b2176,c2177,d2178);\nbreak;\ncase 10: var anf_arg1462 = $ans2179;\n// caller optimization;\n$ans2179 = link8.app(a2175,anf_arg1462);\n$step2173 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans2179;\ndefault: R.ffi.throwSpinnakerError(L[657],$step2173);\n}\n}\nif($step2173 !== 11) {\n$ans2179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2180,$temp_lam2174,$step2173,[a2175,b2176,c2177,d2178],[],$elidedFrames2182);\n}\nreturn $ans2179;\n};\nvar anf_assign2189 = R.mF($temp_lam2174,\"makeSet4\");\nmakeSet42190.$var = anf_assign2189;\nR.nothing;\nvar $temp_lam2192 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__665($a2193,$b2194,$c2195,$d2196,$e2197) {\nvar $step2191 = 0;\nvar $elidedFrames2201 = 0;\nvar $ans2198 = D;\nvar $al2199 = L[665];\nif(R.isAR($a2193)) {\n$step2191 = $a2193.step;\n$al2199 = $a2193.from;\n$ans2198 = $a2193.ans;\n$elidedFrames2201 = $a2193.elidedFrames;\na2193 = $a2193.args[0];\nb2194 = $a2193.args[1];\nc2195 = $a2193.args[2];\nd2196 = $a2193.args[3];\ne2197 = $a2193.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[665],5,$t,false);\n}\nvar a2193 = $a2193;\nvar b2194 = $b2194;\nvar c2195 = $c2195;\nvar d2196 = $d2196;\nvar e2197 = $e2197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2198 = R.mC();\n}\nwhile(!R.isContinuation($ans2198)) {\nswitch($step2191) {\ncase 0: $step2191 = 1;\n$al2199 = L[674];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,b2194);\nbreak;\ncase 1: var anf_if2204 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if2204)?2:3;\nbreak;\ncase 2: $step2191 = 14;\n$al2199 = L[666];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(b2194,c2195,d2196,e2197);\nbreak;\ncase 3: $step2191 = 4;\n$al2199 = L[673];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,c2195);\nbreak;\ncase 4: var anf_if2203 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if2203)?5:6;\nbreak;\ncase 5: $step2191 = 14;\n$al2199 = L[667];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,d2196,e2197);\nbreak;\ncase 6: $step2191 = 7;\n$al2199 = L[672];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,d2196);\nbreak;\ncase 7: var anf_if1503 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if1503)?8:9;\nbreak;\ncase 8: $step2191 = 14;\n$al2199 = L[668];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,c2195,e2197);\nbreak;\ncase 9: $step2191 = 10;\n$al2199 = L[671];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,e2197);\nbreak;\ncase 10: var anf_if1502 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if1502)?11:12;\nbreak;\ncase 11: $step2191 = 14;\n$al2199 = L[669];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,c2195,d2196);\nbreak;\ncase 12: $step2191 = 13;\n$al2199 = L[670];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(b2194,c2195,d2196,e2197);\nbreak;\ncase 13: var anf_arg2202 = $ans2198;\n// caller optimization;\n$ans2198 = link8.app(a2193,anf_arg2202);\n$step2191 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans2198;\ndefault: R.ffi.throwSpinnakerError(L[665],$step2191);\n}\n}\nif($step2191 !== 14) {\n$ans2198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2199,$temp_lam2192,$step2191,[a2193,b2194,c2195,d2196,e2197],[],$elidedFrames2201);\n}\nreturn $ans2198;\n};\nvar anf_assign2206 = R.mF($temp_lam2192,\"makeSet5\");\nmakeSet52207.$var = anf_assign2206;\nR.nothing;\nvar $temp_lam2209 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__675($$resumer13) {\nvar $step2208 = 0;\nvar $elidedFrames2213 = 0;\nvar $ans2210 = D;\nvar $al2211 = L[675];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[675],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2210)) {\nswitch($step2208) {\ncase 0: $step2208 = 1;\n$ans2210 = empty$list$set2214;\nbreak;\ncase 1: return $ans2210;\ndefault: R.ffi.throwSpinnakerError(L[675],$step2208);\n}\n}\nreturn $ans2210;\n};\nvar anf_obj2266 = R.mF($temp_lam2209,\"\");\nvar $temp_lam2217 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__676($a2218) {\nvar $step2216 = 0;\nvar $elidedFrames2222 = 0;\nvar $ans2219 = D;\nvar $al2220 = L[676];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[676],1,$t,false);\n}\nvar a2218 = $a2218;\n// callee optimization;\nwhile(!R.isContinuation($ans2219)) {\nswitch($step2216) {\ncase 0: // caller optimization;\n$ans2219 = link8.app(a2218,empty4);\nvar anf_arg1487 = $ans2219;\n// caller optimization;\n$ans2219 = list$set1225.$var.app(anf_arg1487);\n$step2216 = 1;\nbreak;\ncase 1: return $ans2219;\ndefault: R.ffi.throwSpinnakerError(L[676],$step2216);\n}\n}\nreturn $ans2219;\n};\nvar anf_obj2267 = R.mF($temp_lam2217,\"\");\nvar $temp_lam2225 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__677($a2226,$b2227) {\nvar $step2224 = 0;\nvar $elidedFrames2231 = 0;\nvar $ans2228 = D;\nvar $al2229 = L[677];\nif(R.isAR($a2226)) {\n$step2224 = $a2226.step;\n$al2229 = $a2226.from;\n$ans2228 = $a2226.ans;\n$elidedFrames2231 = $a2226.elidedFrames;\na2226 = $a2226.args[0];\nb2227 = $a2226.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[677],2,$t,false);\n}\nvar a2226 = $a2226;\nvar b2227 = $b2227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2228 = R.mC();\n}\nwhile(!R.isContinuation($ans2228)) {\nswitch($step2224) {\ncase 0: $step2224 = 1;\n$al2229 = L[678];\n// omitting isFunction check;\n$ans2228 = makeSet22159.$var.app(a2226,b2227);\nbreak;\ncase 1: var anf_arg1489 = $ans2228;\n// caller optimization;\n$ans2228 = list$set1225.$var.app(anf_arg1489);\n$step2224 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2228;\ndefault: R.ffi.throwSpinnakerError(L[677],$step2224);\n}\n}\nif($step2224 !== 2) {\n$ans2228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2229,$temp_lam2225,$step2224,[a2226,b2227],[],$elidedFrames2231);\n}\nreturn $ans2228;\n};\nvar anf_obj2268 = R.mF($temp_lam2225,\"\");\nvar $temp_lam2234 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__679($a2235,$b2236,$c2237) {\nvar $step2233 = 0;\nvar $elidedFrames2241 = 0;\nvar $ans2238 = D;\nvar $al2239 = L[679];\nif(R.isAR($a2235)) {\n$step2233 = $a2235.step;\n$al2239 = $a2235.from;\n$ans2238 = $a2235.ans;\n$elidedFrames2241 = $a2235.elidedFrames;\na2235 = $a2235.args[0];\nb2236 = $a2235.args[1];\nc2237 = $a2235.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[679],3,$t,false);\n}\nvar a2235 = $a2235;\nvar b2236 = $b2236;\nvar c2237 = $c2237;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2238 = R.mC();\n}\nwhile(!R.isContinuation($ans2238)) {\nswitch($step2233) {\ncase 0: $step2233 = 1;\n$al2239 = L[680];\n// omitting isFunction check;\n$ans2238 = makeSet32172.$var.app(a2235,b2236,c2237);\nbreak;\ncase 1: var anf_arg1492 = $ans2238;\n// caller optimization;\n$ans2238 = list$set1225.$var.app(anf_arg1492);\n$step2233 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2238;\ndefault: R.ffi.throwSpinnakerError(L[679],$step2233);\n}\n}\nif($step2233 !== 2) {\n$ans2238.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2239,$temp_lam2234,$step2233,[a2235,b2236,c2237],[],$elidedFrames2241);\n}\nreturn $ans2238;\n};\nvar anf_obj2269 = R.mF($temp_lam2234,\"\");\nvar $temp_lam2244 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__681($a2245,$b2246,$c2247,$d2248) {\nvar $step2243 = 0;\nvar $elidedFrames2252 = 0;\nvar $ans2249 = D;\nvar $al2250 = L[681];\nif(R.isAR($a2245)) {\n$step2243 = $a2245.step;\n$al2250 = $a2245.from;\n$ans2249 = $a2245.ans;\n$elidedFrames2252 = $a2245.elidedFrames;\na2245 = $a2245.args[0];\nb2246 = $a2245.args[1];\nc2247 = $a2245.args[2];\nd2248 = $a2245.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[681],4,$t,false);\n}\nvar a2245 = $a2245;\nvar b2246 = $b2246;\nvar c2247 = $c2247;\nvar d2248 = $d2248;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2249 = R.mC();\n}\nwhile(!R.isContinuation($ans2249)) {\nswitch($step2243) {\ncase 0: $step2243 = 1;\n$al2250 = L[682];\n// omitting isFunction check;\n$ans2249 = makeSet42190.$var.app(a2245,b2246,c2247,d2248);\nbreak;\ncase 1: var anf_arg1494 = $ans2249;\n// caller optimization;\n$ans2249 = list$set1225.$var.app(anf_arg1494);\n$step2243 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2249;\ndefault: R.ffi.throwSpinnakerError(L[681],$step2243);\n}\n}\nif($step2243 !== 2) {\n$ans2249.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2250,$temp_lam2244,$step2243,[a2245,b2246,c2247,d2248],[],$elidedFrames2252);\n}\nreturn $ans2249;\n};\nvar anf_obj2270 = R.mF($temp_lam2244,\"\");\nvar $temp_lam2255 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__683($a2256,$b2257,$c2258,$d2259,$e2260) {\nvar $step2254 = 0;\nvar $elidedFrames2264 = 0;\nvar $ans2261 = D;\nvar $al2262 = L[683];\nif(R.isAR($a2256)) {\n$step2254 = $a2256.step;\n$al2262 = $a2256.from;\n$ans2261 = $a2256.ans;\n$elidedFrames2264 = $a2256.elidedFrames;\na2256 = $a2256.args[0];\nb2257 = $a2256.args[1];\nc2258 = $a2256.args[2];\nd2259 = $a2256.args[3];\ne2260 = $a2256.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[683],5,$t,false);\n}\nvar a2256 = $a2256;\nvar b2257 = $b2257;\nvar c2258 = $c2258;\nvar d2259 = $d2259;\nvar e2260 = $e2260;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2261 = R.mC();\n}\nwhile(!R.isContinuation($ans2261)) {\nswitch($step2254) {\ncase 0: $step2254 = 1;\n$al2262 = L[684];\n// omitting isFunction check;\n$ans2261 = makeSet52207.$var.app(a2256,b2257,c2258,d2259,e2260);\nbreak;\ncase 1: var anf_arg1497 = $ans2261;\n// caller optimization;\n$ans2261 = list$set1225.$var.app(anf_arg1497);\n$step2254 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2261;\ndefault: R.ffi.throwSpinnakerError(L[683],$step2254);\n}\n}\nif($step2254 !== 2) {\n$ans2261.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2262,$temp_lam2255,$step2254,[a2256,b2257,c2258,d2259,e2260],[],$elidedFrames2264);\n}\nreturn $ans2261;\n};\nvar anf_obj2271 = R.mF($temp_lam2255,\"\");\nvar list$set2346 = R.mO({\"make\":arr$to$list$set2119.$var,\n\"make0\":anf_obj2266,\n\"make1\":anf_obj2267,\n\"make2\":anf_obj2268,\n\"make3\":anf_obj2269,\n\"make4\":anf_obj2270,\n\"make5\":anf_obj2271});\nvar $temp_lam2273 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__685($$resumer13) {\nvar $step2272 = 0;\nvar $elidedFrames2277 = 0;\nvar $ans2274 = D;\nvar $al2275 = L[685];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[685],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2274)) {\nswitch($step2272) {\ncase 0: $step2272 = 1;\n$ans2274 = empty$tree$set2278;\nbreak;\ncase 1: return $ans2274;\ndefault: R.ffi.throwSpinnakerError(L[685],$step2272);\n}\n}\nreturn $ans2274;\n};\nvar anf_obj2340 = R.mF($temp_lam2273,\"\");\nvar $temp_lam2281 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__686($a2282) {\nvar $step2280 = 0;\nvar $elidedFrames2286 = 0;\nvar $ans2283 = D;\nvar $al2284 = L[686];\nif(R.isAR($a2282)) {\n$step2280 = $a2282.step;\n$al2284 = $a2282.from;\n$ans2283 = $a2282.ans;\n$elidedFrames2286 = $a2282.elidedFrames;\na2282 = $a2282.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],1,$t,false);\n}\nvar a2282 = $a2282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2283 = R.mC();\n}\nwhile(!R.isContinuation($ans2283)) {\nswitch($step2280) {\ncase 0: $step2280 = 1;\n$ans2283 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[687],a2282);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2283;\ndefault: R.ffi.throwSpinnakerError(L[686],$step2280);\n}\n}\nif($step2280 !== 1) {\n$ans2283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2284,$temp_lam2281,$step2280,[a2282],[],$elidedFrames2286);\n}\nreturn $ans2283;\n};\nvar anf_obj2341 = R.mF($temp_lam2281,\"\");\nvar $temp_lam2289 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__688($a2290,$b2291) {\nvar $step2288 = 0;\nvar $elidedFrames2295 = 0;\nvar $ans2292 = D;\nvar $al2293 = L[688];\nif(R.isAR($a2290)) {\n$step2288 = $a2290.step;\n$al2293 = $a2290.from;\n$ans2292 = $a2290.ans;\n$elidedFrames2295 = $a2290.elidedFrames;\na2290 = $a2290.args[0];\nb2291 = $a2290.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[688],2,$t,false);\n}\nvar a2290 = $a2290;\nvar b2291 = $b2291;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2292 = R.mC();\n}\nwhile(!R.isContinuation($ans2292)) {\nswitch($step2288) {\ncase 0: $step2288 = 1;\n$ans2292 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[689],a2290);\nbreak;\ncase 1: var anf_method_obj2296 = $ans2292;\n$step2288 = 2;\n$ans2292 = R.maybeMethodCall1(anf_method_obj2296,\"add\",L[690],b2291);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2292;\ndefault: R.ffi.throwSpinnakerError(L[688],$step2288);\n}\n}\nif($step2288 !== 2) {\n$ans2292.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2293,$temp_lam2289,$step2288,[a2290,b2291],[],$elidedFrames2295);\n}\nreturn $ans2292;\n};\nvar anf_obj2342 = R.mF($temp_lam2289,\"\");\nvar $temp_lam2299 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__691($a2300,$b2301,$c2302) {\nvar $step2298 = 0;\nvar $elidedFrames2306 = 0;\nvar $ans2303 = D;\nvar $al2304 = L[691];\nif(R.isAR($a2300)) {\n$step2298 = $a2300.step;\n$al2304 = $a2300.from;\n$ans2303 = $a2300.ans;\n$elidedFrames2306 = $a2300.elidedFrames;\na2300 = $a2300.args[0];\nb2301 = $a2300.args[1];\nc2302 = $a2300.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[691],3,$t,false);\n}\nvar a2300 = $a2300;\nvar b2301 = $b2301;\nvar c2302 = $c2302;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2303 = R.mC();\n}\nwhile(!R.isContinuation($ans2303)) {\nswitch($step2298) {\ncase 0: $step2298 = 1;\n$ans2303 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[692],a2300);\nbreak;\ncase 1: var anf_method_obj2307 = $ans2303;\n$step2298 = 2;\n$ans2303 = R.maybeMethodCall1(anf_method_obj2307,\"add\",L[693],b2301);\nbreak;\ncase 2: var anf_method_obj2308 = $ans2303;\n$step2298 = 3;\n$ans2303 = R.maybeMethodCall1(anf_method_obj2308,\"add\",L[694],c2302);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans2303;\ndefault: R.ffi.throwSpinnakerError(L[691],$step2298);\n}\n}\nif($step2298 !== 3) {\n$ans2303.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2304,$temp_lam2299,$step2298,[a2300,b2301,c2302],[],$elidedFrames2306);\n}\nreturn $ans2303;\n};\nvar anf_obj2343 = R.mF($temp_lam2299,\"\");\nvar $temp_lam2311 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__695($a2312,$b2313,$c2314,$d2315) {\nvar $step2310 = 0;\nvar $elidedFrames2319 = 0;\nvar $ans2316 = D;\nvar $al2317 = L[695];\nif(R.isAR($a2312)) {\n$step2310 = $a2312.step;\n$al2317 = $a2312.from;\n$ans2316 = $a2312.ans;\n$elidedFrames2319 = $a2312.elidedFrames;\na2312 = $a2312.args[0];\nb2313 = $a2312.args[1];\nc2314 = $a2312.args[2];\nd2315 = $a2312.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[695],4,$t,false);\n}\nvar a2312 = $a2312;\nvar b2313 = $b2313;\nvar c2314 = $c2314;\nvar d2315 = $d2315;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2316 = R.mC();\n}\nwhile(!R.isContinuation($ans2316)) {\nswitch($step2310) {\ncase 0: $step2310 = 1;\n$ans2316 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[696],a2312);\nbreak;\ncase 1: var anf_method_obj2320 = $ans2316;\n$step2310 = 2;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2320,\"add\",L[697],b2313);\nbreak;\ncase 2: var anf_method_obj2321 = $ans2316;\n$step2310 = 3;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2321,\"add\",L[698],c2314);\nbreak;\ncase 3: var anf_method_obj2322 = $ans2316;\n$step2310 = 4;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2322,\"add\",L[699],d2315);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2316;\ndefault: R.ffi.throwSpinnakerError(L[695],$step2310);\n}\n}\nif($step2310 !== 4) {\n$ans2316.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2317,$temp_lam2311,$step2310,[a2312,b2313,c2314,d2315],[],$elidedFrames2319);\n}\nreturn $ans2316;\n};\nvar anf_obj2344 = R.mF($temp_lam2311,\"\");\nvar $temp_lam2325 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__700($a2326,$b2327,$c2328,$d2329,$e2330) {\nvar $step2324 = 0;\nvar $elidedFrames2334 = 0;\nvar $ans2331 = D;\nvar $al2332 = L[700];\nif(R.isAR($a2326)) {\n$step2324 = $a2326.step;\n$al2332 = $a2326.from;\n$ans2331 = $a2326.ans;\n$elidedFrames2334 = $a2326.elidedFrames;\na2326 = $a2326.args[0];\nb2327 = $a2326.args[1];\nc2328 = $a2326.args[2];\nd2329 = $a2326.args[3];\ne2330 = $a2326.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[700],5,$t,false);\n}\nvar a2326 = $a2326;\nvar b2327 = $b2327;\nvar c2328 = $c2328;\nvar d2329 = $d2329;\nvar e2330 = $e2330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2331 = R.mC();\n}\nwhile(!R.isContinuation($ans2331)) {\nswitch($step2324) {\ncase 0: $step2324 = 1;\n$ans2331 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[701],a2326);\nbreak;\ncase 1: var anf_method_obj2335 = $ans2331;\n$step2324 = 2;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2335,\"add\",L[702],b2327);\nbreak;\ncase 2: var anf_method_obj2336 = $ans2331;\n$step2324 = 3;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2336,\"add\",L[703],c2328);\nbreak;\ncase 3: var anf_method_obj2337 = $ans2331;\n$step2324 = 4;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2337,\"add\",L[704],d2329);\nbreak;\ncase 4: var anf_method_obj2338 = $ans2331;\n$step2324 = 5;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2338,\"add\",L[705],e2330);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2331;\ndefault: R.ffi.throwSpinnakerError(L[700],$step2324);\n}\n}\nif($step2324 !== 5) {\n$ans2331.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2332,$temp_lam2325,$step2324,[a2326,b2327,c2328,d2329,e2330],[],$elidedFrames2334);\n}\nreturn $ans2331;\n};\nvar anf_obj2345 = R.mF($temp_lam2325,\"\");\nvar tree$set2348 = R.mO({\"make\":arr$to$tree$set2143.$var,\n\"make0\":anf_obj2340,\n\"make1\":anf_obj2341,\n\"make2\":anf_obj2342,\n\"make3\":anf_obj2343,\n\"make4\":anf_obj2344,\n\"make5\":anf_obj2345});\nvar empty$set2354 = empty$list$set2214;\nvar set2353 = list$set2346;\nvar list$to$set2356 = list$to$list$set2058.$var;\nvar fold2351 = set$fold1998.$var;\nvar all2352 = set$all1974.$var;\nvar any2355 = set$any1986.$var;\n$step19 = 1;\n$ans25 = R.maybeMethodCall2(builtins1,\"trace-value\",L[706],L[706],nothing2);\nbreak;\ncase 1: var answer2349 = $ans25;\n$step19 = 2;\n$ans25 = R.maybeMethodCall0(builtins1,\"current-checker\",L[200]);\nbreak;\ncase 2: var anf_method_obj2347 = $ans25;\n$step19 = 3;\n$ans25 = R.maybeMethodCall0(anf_method_obj2347,\"results\",L[200]);\nbreak;\ncase 3: var checks2350 = $ans25;\n$step19 = 4;\n$ans25 = R.mO({\"answer\":answer2349,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"equality\":equality12,\n\"VS\":VS16},\n\"defined-values\":{\"merge-only-dups\":merge$only$dups1879.$var,\n\"mkbranch\":mkbranch97.$var,\n\"makeSet4\":makeSet42190.$var,\n\"fold\":fold2351,\n\"list-to-tree\":list$to$tree2097.$var,\n\"all\":all2352,\n\"set-any\":set$any1986.$var,\n\"is-leaf\":is$leaf805.$var,\n\"makeSet5\":makeSet52207.$var,\n\"set\":set2353,\n\"branch\":branch810.$var,\n\"empty-set\":empty$set2354,\n\"tree-set-intersect\":tree$set$intersect1640.$var,\n\"is-branch\":is$branch808.$var,\n\"rebalance\":rebalance328.$var,\n\"remove-root\":remove$root361.$var,\n\"merge-no-dups\":merge$no$dups1837.$var,\n\"any\":any2355,\n\"set-fold\":set$fold1998.$var,\n\"merge-drop-l2\":merge$drop$l21929.$var,\n\"tree-fold\":tree$fold823.$var,\n\"swap-next-lowest\":swap$next$lowest1088.$var,\n\"is-AVLTree\":is$AVLTree52.$var,\n\"tree-all\":tree$all834.$var,\n\"tree-set\":tree$set2348,\n\"empty-tree-set\":empty$tree$set2278,\n\"list-set\":list$set2346,\n\"empty-list-set\":empty$list$set2214,\n\"tree-set-union\":tree$set$union1629.$var,\n\"set-all\":set$all1974.$var,\n\"list-to-tree-set\":list$to$tree$set2076.$var,\n\"is-tree-set\":is$tree$set1767.$var,\n\"list-to-list-set\":list$to$list$set2058.$var,\n\"is-list-set\":is$list$set1764.$var,\n\"tree-set-difference\":tree$set$difference1662.$var,\n\"arr-to-list-set\":arr$to$list$set2119.$var,\n\"arr-to-tree-set\":arr$to$tree$set2143.$var,\n\"elems-to-balanced-avl\":elems$to$balanced$avl1825.$var,\n\"set-to-sorted-elems\":set$to$sorted$elems1790.$var,\n\"tree-any\":tree$any845.$var,\n\"makeSet2\":makeSet22159.$var,\n\"leaf\":leaf98.$var,\n\"is-Set\":is$Set1180.$var,\n\"list-to-set\":list$to$set2356,\n\"makeSet3\":makeSet32172.$var},\n\"defined-types\":{\"Set\":Set1166,\n\"AVLTree\":AVLTree105},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"set\":list$set2346,\n\"list-set\":list$set2346,\n\"tree-set\":tree$set2348,\n\"empty-set\":empty$list$set2214,\n\"empty-list-set\":empty$list$set2214,\n\"empty-tree-set\":empty$tree$set2278,\n\"list-to-set\":list$to$list$set2058.$var,\n\"list-to-list-set\":list$to$list$set2058.$var,\n\"list-to-tree-set\":list$to$tree$set2076.$var,\n\"fold\":set$fold1998.$var,\n\"all\":set$all1974.$var,\n\"any\":set$any1986.$var,\n\"is-AVLTree\":is$AVLTree52.$var,\n\"leaf\":leaf98.$var,\n\"is-leaf\":is$leaf805.$var,\n\"branch\":branch810.$var,\n\"is-branch\":is$branch808.$var,\n\"is-Set\":is$Set1180.$var,\n\"is-list-set\":is$list$set1764.$var,\n\"is-tree-set\":is$tree$set1767.$var}),\n\"types\":{\"AVLTree\":AVLTree105,\n\"Set\":Set1166},\n\"modules\":{}}),\n\"checks\":checks2350});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans25;\ndefault: R.ffi.throwSpinnakerError(L[707],$step19);\n}\n}\nif($step19 !== 4) {\n$ans25.stack[R.EXN_STACKHEIGHT++] = R.mAR($al26,$toplevel20,$step19,[],[is$leaf805,is$Set1180,empty$list$set2214,tree$all834,is$list$set1764,is$tree$set1767,makeSet42190,is$branch808,branch810,empty$set2354,any2355,tree$fold823,list$to$tree2097,makeSet32172,fold2351,rebalance328,tree$any845,set$to$sorted$elems1790,mkbranch97,list$to$tree$set2076,arr$to$tree$set2143,set$any1986,tree$set$difference1662,all2352,leaf98,set2353,list$to$list$set2058,is$AVLTree52,Set1166,merge$drop$l21929,set$fold1998,merge$no$dups1837,tree$set$union1629,AVLTree105,makeSet22159,makeSet52207,list$set2346,list$to$set2356,answer2349,tree$set2348,arr$to$list$set2119,set$all1974,tree$set$intersect1640,elems$to$balanced$avl1825,remove$root361,swap$next$lowest1088,merge$only$dups1879,empty$tree$set2278],$elidedFrames28);\n}\nreturn $ans25;\n};\nreturn R.safeCall($toplevel20,function module_load(moduleVal) {\nR.modules[\"$builtin://sets17\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"list-to-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +10, +2, +191, +10, +31, +220], +"definition-bind-site":["builtin://sets", +562, +0, +17957, +565, +3, +18085], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"is-Set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +259, +0, +9079, +450, +3, +14427], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"leaf":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +28, +2, +496, +47, +34, +1449], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"is-list-set":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +260, +2, +9091, +356, +7, +11761], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":0, +"name":"is-list-set", +"typ":"tany"}, +"list-to-list-set":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +11, +2, +224, +11, +36, +258], +"definition-bind-site":["builtin://sets", +562, +0, +17957, +565, +3, +18085], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":false, +"name":"list-to-list-set", +"typ":"tany"}, +"is-tree-set":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +358, +2, +11769, +425, +7, +13683], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":0, +"name":"is-tree-set", +"typ":"tany"}, +"list-to-tree-set":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +12, +2, +262, +12, +36, +296], +"definition-bind-site":["builtin://sets", +567, +0, +18087, +570, +3, +18214], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":false, +"name":"list-to-tree-set", +"typ":"tany"}, +"empty-list-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +8, +2, +123, +8, +32, +153], +"definition-bind-site":["builtin://sets", +591, +0, +18621, +591, +32, +18653], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"list-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +621, +0, +19351, +629, +1, +19715], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"empty-tree-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +9, +2, +157, +9, +32, +187], +"definition-bind-site":["builtin://sets", +592, +0, +18654, +592, +31, +18685], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"tree-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +631, +0, +19717, +639, +1, +20118], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"is-AVLTree":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +27, +0, +480, +158, +3, +6355], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"any":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +15, +2, +334, +15, +14, +346], +"definition-bind-site":["builtin://sets", +547, +0, +17687, +549, +3, +17738], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"is-branch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +49, +2, +1453, +145, +7, +6033], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":0, +"name":"is-branch", +"typ":"tany"}, +"empty-set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +7, +2, +94, +7, +27, +119], +"definition-bind-site":["builtin://sets", +591, +0, +18621, +591, +32, +18653], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"branch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +49, +2, +1453, +145, +7, +6033], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":0, +"name":"branch", +"typ":"tany"}, +"set":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +4, +2, +33, +4, +15, +46], +"definition-bind-site":["builtin://sets", +621, +0, +19351, +629, +1, +19715], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"is-leaf":{"bind":"fun", +"origin":{"local-bind-site":["builtin://sets", +17, +0, +353, +17, +15, +368], +"definition-bind-site":["builtin://sets", +28, +2, +496, +47, +34, +1449], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"flatness":0, +"name":"is-leaf", +"typ":"tany"}, +"all":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +14, +2, +318, +14, +14, +330], +"definition-bind-site":["builtin://sets", +543, +0, +17634, +545, +3, +17685], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}, +"fold":{"bind":"let", +"origin":{"local-bind-site":["builtin://sets", +13, +2, +300, +13, +16, +314], +"definition-bind-site":["builtin://sets", +551, +0, +17740, +553, +3, +17794], +"new-definition":true, +"uri-of-definition":"builtin://sets"}, +"typ":"tany"}}, +"datatypes":{"Set":["data",{"local-bind-site":["builtin://sets", +259, +0, +9079, +450, +3, +14427], +"definition-bind-site":["builtin://sets", +259, +0, +9079, +450, +3, +14427], +"new-definition":true, +"uri-of-definition":"builtin://sets"},"Set",[],[["list-set", +[["elems", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}]], +{"intersect":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"difference":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"member":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"to-list":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"union":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"any":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"overlaps":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"is-empty":["arrow", +["tany"], +"tany"], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"all":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"add":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"pick":["arrow", +["tany"], +"tany"], +"size":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"fold":["arrow", +["tany", +["arrow", +["tany", +"tany"], +"tany"], +"tany"], +"tany"], +"_output":["arrow", +["tany"], +"tany"]}],["tree-set", +[["elems", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}]], +{"intersect":["arrow", +["tany", +"tany"], +"tany"], +"difference":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"member":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"to-list":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"union":["arrow", +["tany", +"tany"], +"tany"], +"any":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"overlaps":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"is-empty":["arrow", +["tany"], +"tany"], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"all":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"add":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"pick":["arrow", +["tany"], +"tany"], +"size":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"fold":["arrow", +["tany", +["arrow", +["tany"], +"tany"], +"tany"], +"tany"], +"_output":["arrow", +["tany"], +"tany"]}]],{"_equals":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"difference":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"member":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"symmetric-difference":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"to-list":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"any":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"overlaps":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"is-empty":["arrow", +["tany"], +"tany"], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"all":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"add":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +"pick":["arrow", +["tany"], +"tany"], +"size":["arrow", +[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"Set"}], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"_output":["arrow", +["tany"], +"tany"]}], +"AVLTree":["data",{"local-bind-site":["builtin://sets", +27, +0, +480, +158, +3, +6355], +"definition-bind-site":["builtin://sets", +27, +0, +480, +158, +3, +6355], +"new-definition":true, +"uri-of-definition":"builtin://sets"},"AVLTree",[],[["leaf", +{"contains":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"fold-inorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"insert":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-revpostorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-preorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revinorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"count":["arrow", +["tany"], +"tany"], +"postorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpreorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"any":["arrow", +["tany", +"tany"], +"tany"], +"preorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpostorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"inorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"height":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"revinorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-postorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revpreorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"all":["arrow", +["tany", +"tany"], +"tany"]}],["branch", +[["value", +"tany"],["h", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["left", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}],["right", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}]], +{"contains":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"fold-inorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"insert":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-revpostorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-preorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revinorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"count":["arrow", +["tany"], +"tany"], +"postorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpreorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"any":["arrow", +["tany", +"tany"], +"tany"], +"preorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpostorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"inorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"height":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"revinorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-postorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revpreorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"all":["arrow", +["tany", +"tany"], +"tany"]}]],{"contains":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}], +"_equals":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-inorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"insert":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-revpostorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-preorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revinorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"to-list":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"count":["arrow", +["tany"], +"tany"], +"postorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpreorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"any":["arrow", +["tany", +"tany"], +"tany"], +"preorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"revpostorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"inorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"height":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"revinorder":["arrow", +["tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"List"}], +"remove":["arrow", +["tany", +"tany"], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://sets"}, +"name":"AVLTree"}], +"fold-postorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"fold-revpreorder":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"all":["arrow", +["tany", +"tany"], +"tany"]}]}, +"aliases":{"Set":"tany", +"AVLTree":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"equality"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"pick"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://contracts":({"theMap":"{\"version\":3,\"sources\":[\"builtin://contracts\"],\"names\":[\"builtin://contracts\",\",11,39,185,11,48,194\",\",11,2,148,11,49,195\",\",16,32,267,16,63,298\",\",19,6,435,19,17,446\",\",19,38,467,19,46,475\",\",19,6,435,19,96,525\",\",22,6,573,22,17,584\",\",22,32,599,22,40,607\",\",22,6,573,22,48,615\",\",26,6,760,26,17,771\",\",26,38,792,26,46,800\",\",26,6,760,26,96,850\",\",29,6,898,29,17,909\",\",29,32,924,29,40,932\",\",29,6,898,29,47,939\",\",14,0,201,31,3,951\",\",15,2,224,16,67,302\",\",17,2,305,23,7,623\",\",24,2,626,30,7,947\",\",37,7,1121,37,15,1129\",\",38,9,1140,38,24,1155\",\",38,26,1157,38,40,1171\",\",38,61,1192,38,69,1200\",\",38,42,1173,38,70,1201\",\",39,10,1213,39,29,1232\",\",39,47,1250,39,57,1260\",\",39,39,1242,39,58,1261\",\",39,31,1234,39,59,1262\",\",39,61,1264,39,87,1290\",\",40,8,1301,40,19,1312\",\",40,8,1301,40,53,1346\",\",44,7,1455,44,15,1463\",\",45,9,1474,45,24,1489\",\",45,26,1491,45,55,1520\",\",45,57,1522,45,80,1545\",\",46,9,1556,46,35,1582\",\",47,8,1593,47,19,1604\",\",47,34,1619,47,42,1627\",\",47,8,1593,47,58,1643\",\",51,7,1748,51,15,1756\",\",52,9,1767,52,16,1774\",\",52,18,1776,52,43,1801\",\",52,61,1819,52,71,1829\",\",52,53,1811,52,72,1830\",\",52,45,1803,52,73,1831\",\",53,10,1843,53,36,1869\",\",53,57,1890,53,65,1898\",\",53,38,1871,53,66,1899\",\",34,0,999,55,3,1913\",\",35,2,1020,41,7,1355\",\",42,2,1358,48,7,1652\",\",49,2,1655,54,7,1909\",\",60,19,2094,60,37,2112\",\",61,22,2136,61,36,2150\",\",63,15,2192,63,26,2203\",\",63,15,2192,63,41,2218\",\",63,43,2220,63,50,2227\",\",63,43,2220,63,52,2229\",\",61,8,2122,67,11,2303\",\",70,7,2337,70,15,2345\",\",71,9,2356,71,16,2363\",\",71,8,2355,76,61,2693\",\",72,10,2375,72,23,2388\",\",72,38,2403,72,67,2432\",\",72,70,2435,72,77,2442\",\",72,79,2444,72,87,2452\",\",72,25,2390,72,92,2457\",\",73,10,2469,73,38,2497\",\",74,18,2517,74,32,2531\",\",74,10,2509,74,33,2532\",\",74,35,2534,74,49,2548\",\",75,18,2568,75,39,2589\",\",75,10,2560,75,40,2590\",\",75,42,2592,75,80,2630\",\",76,18,2650,76,38,2670\",\",76,10,2642,76,39,2671\",\",76,41,2673,76,60,2692\",\",77,18,2713,77,26,2721\",\",77,8,2703,77,27,2722\",\",78,9,2733,78,16,2740\",\",78,18,2742,78,54,2778\",\",79,23,2803,79,40,2820\",\",79,43,2823,79,50,2830\",\",79,10,2790,79,64,2844\",\",79,66,2846,79,82,2862\",\",80,9,2874,80,16,2881\",\",80,27,2892,80,35,2900\",\",80,18,2883,80,36,2901\",\",83,7,2972,83,15,2980\",\",84,9,2991,84,16,2998\",\",84,8,2990,89,77,3329\",\",85,10,3010,85,47,3047\",\",85,68,3068,85,76,3076\",\",85,49,3049,85,77,3077\",\",86,10,3089,86,38,3117\",\",87,18,3137,87,32,3151\",\",87,10,3129,87,33,3152\",\",87,35,3154,87,49,3168\",\",88,18,3188,88,39,3209\",\",88,10,3180,88,40,3210\",\",88,42,3212,88,80,3250\",\",89,18,3270,89,38,3290\",\",89,10,3262,89,39,3291\",\",89,41,3293,89,76,3328\",\",90,9,3340,90,16,3347\",\",90,27,3358,90,35,3366\",\",90,18,3349,90,36,3367\",\",94,20,3565,94,44,3589\",\",96,13,3631,96,35,3653\",\",97,26,3681,97,44,3699\",\",99,28,3758,99,39,3769\",\",101,20,3834,101,44,3858\",\",102,24,3889,102,34,3899\",\",102,24,3889,102,39,3904\",\",102,41,3906,102,48,3913\",\",102,55,3920,102,62,3927\",\",104,21,4007,104,29,4015\",\",104,34,4020,104,44,4030\",\",104,21,4007,104,45,4031\",\",106,17,4094,106,25,4102\",\",107,19,4123,107,26,4130\",\",108,20,4152,108,35,4167\",\",109,33,4202,109,51,4220\",\",109,54,4223,109,61,4230\",\",109,20,4189,109,76,4245\",\",110,19,4267,110,37,4285\",\",111,19,4306,111,26,4313\",\",112,20,4335,112,50,4365\",\",114,23,4424,114,34,4435\",\",114,46,4447,114,56,4457\",\",114,46,4447,114,60,4461\",\",114,36,4437,114,61,4462\",\",114,63,4464,114,83,4484\",\",115,23,4510,115,30,4517\",\",115,32,4519,115,41,4528\",\",113,20,4387,115,46,4533\",\",116,20,4555,116,65,4600\",\",117,18,4621,117,29,4632\",\",117,18,4621,117,104,4707\",\",119,17,4755,119,25,4763\",\",120,19,4784,120,26,4791\",\",121,20,4813,121,35,4828\",\",122,33,4863,122,64,4894\",\",122,67,4897,122,74,4904\",\",122,20,4850,122,88,4918\",\",123,19,4940,123,37,4958\",\",124,19,4979,124,26,4986\",\",125,20,5008,125,50,5038\",\",126,30,5070,126,40,5080\",\",126,30,5070,126,44,5084\",\",126,20,5060,126,45,5085\",\",127,20,5107,127,74,5161\",\",128,18,5182,128,29,5193\",\",128,18,5182,128,104,5268\",\",97,12,3667,129,15,5285\",\",131,13,5315,131,21,5323\",\",132,15,5340,132,22,5347\",\",133,16,5365,133,55,5404\",\",134,16,5422,134,31,5437\",\",135,16,5455,135,47,5486\",\",136,26,5514,136,36,5524\",\",136,26,5514,136,40,5528\",\",136,16,5504,136,41,5529\",\",137,16,5547,137,70,5601\",\",138,14,5618,138,25,5629\",\",138,14,5618,138,108,5712\",\",141,11,5766,141,19,5774\",\",142,13,5789,142,20,5796\",\",143,14,5812,143,43,5841\",\",144,30,5873,144,48,5891\",\",144,22,5865,144,49,5892\",\",144,14,5857,144,50,5893\",\",145,14,5909,145,45,5940\",\",146,24,5966,146,34,5976\",\",146,24,5966,146,38,5980\",\",146,14,5956,146,39,5981\",\",147,14,5997,147,68,6051\",\",148,12,6066,148,23,6077\",\",148,12,6066,148,106,6160\",\",94,6,3551,149,9,6171\",\",152,7,6240,152,15,6248\",\",153,9,6259,153,16,6266\",\",154,26,6294,154,44,6312\",\",154,18,6286,154,45,6313\",\",154,10,6278,154,46,6314\",\",155,60,6376,155,70,6386\",\",155,60,6376,155,74,6390\",\",155,51,6367,155,75,6391\",\",155,18,6334,155,75,6391\",\",155,10,6326,155,76,6392\",\",156,10,6404,156,43,6437\",\",157,8,6448,157,19,6459\",\",157,8,6448,157,53,6493\",\",158,9,6504,158,16,6511\",\",158,18,6513,158,54,6549\",\",159,9,6561,159,16,6568\",\",159,50,6602,159,59,6611\",\",159,36,6588,159,60,6612\",\",159,18,6570,159,75,6627\",\",163,7,6801,163,15,6809\",\",164,9,6820,164,16,6827\",\",165,10,6839,165,55,6884\",\",166,10,6896,166,24,6910\",\",167,10,6922,167,29,6941\",\",168,10,6953,168,21,6964\",\",168,10,6953,168,47,6990\",\",173,11,7122,173,19,7130\",\",174,13,7145,174,20,7152\",\",174,22,7154,174,69,7201\",\",174,71,7203,174,99,7231\",\",175,14,7247,175,33,7266\",\",176,12,7281,176,23,7292\",\",176,12,7281,176,49,7318\",\",178,9,7342,178,17,7350\",\",179,11,7363,179,18,7370\",\",179,20,7372,179,73,7425\",\",180,10,7438,180,21,7449\",\",180,10,7438,180,47,7475\",\",171,6,7060,180,49,7477\",\",184,7,7639,184,15,7647\",\",185,11,7660,185,27,7676\",\",186,11,7689,186,18,7696\",\",187,12,7710,187,38,7736\",\",188,28,7766,188,37,7775\",\",188,20,7758,188,38,7776\",\",188,12,7750,188,39,7777\",\",189,12,7791,189,28,7807\",\",190,12,7821,190,23,7832\",\",191,16,7850,191,34,7868\",\",192,11,7881,192,22,7892\",\",193,13,7907,193,20,7914\",\",194,14,7930,194,29,7945\",\",195,35,7982,195,44,7991\",\",195,35,7982,195,60,8007\",\",195,27,7974,195,61,8008\",\",195,64,8011,195,71,8018\",\",195,14,7961,195,81,8028\",\",196,12,8043,196,26,8057\",\",198,11,8084,198,18,8091\",\",199,12,8105,199,39,8132\",\",200,28,8162,200,37,8171\",\",200,20,8154,200,38,8172\",\",200,12,8146,200,39,8173\",\",201,12,8187,201,28,8203\",\",202,12,8217,202,23,8228\",\",204,9,8252,204,16,8259\",\",205,10,8271,205,51,8312\",\",206,17,8332,206,25,8340\",\",206,8,8323,206,26,8341\",\",208,24,8393,208,48,8417\",\",210,17,8466,210,38,8487\",\",211,17,8506,211,28,8517\",\",212,19,8538,212,26,8545\",\",213,20,8567,213,57,8604\",\",214,19,8626,214,36,8643\",\",216,17,8682,216,24,8689\",\",217,18,8709,217,56,8747\",\",218,18,8767,218,32,8781\",\",221,15,8838,221,26,8849\",\",208,10,8379,222,13,8865\",\",223,15,8881,223,26,8892\",\",226,17,8978,226,24,8985\",\",227,8,8995,227,35,9022\",\",227,53,9040,227,62,9049\",\",227,45,9032,227,63,9050\",\",227,37,9024,227,64,9051\",\",228,8,9061,228,49,9102\",\",228,51,9104,228,74,9127\",\",229,8,9137,229,28,9157\",\",233,13,9250,233,21,9258\",\",233,41,9278,233,49,9286\",\",233,32,9269,233,50,9287\",\",234,15,9304,234,22,9311\",\",234,24,9313,234,54,9343\",\",234,56,9345,234,77,9366\",\",236,11,9395,236,19,9403\",\",236,39,9423,236,47,9431\",\",236,30,9414,236,48,9432\",\",231,8,9191,236,50,9434\",\",238,9,9456,238,17,9464\",\",238,37,9484,238,45,9492\",\",238,28,9475,238,46,9493\",\",243,7,9660,243,15,9668\",\",244,11,9681,244,27,9697\",\",245,11,9710,245,18,9717\",\",246,12,9731,246,36,9755\",\",247,28,9785,247,37,9794\",\",247,20,9777,247,38,9795\",\",247,12,9769,247,39,9796\",\",248,12,9810,248,28,9826\",\",249,12,9840,249,23,9851\",\",250,16,9869,250,34,9887\",\",251,11,9900,251,22,9911\",\",252,13,9926,252,20,9933\",\",253,14,9949,253,39,9974\",\",254,30,10006,254,39,10015\",\",254,22,9998,254,40,10016\",\",254,14,9990,254,41,10017\",\",255,14,10033,255,33,10052\",\",256,27,10081,256,48,10102\",\",256,51,10105,256,58,10112\",\",256,14,10068,256,68,10122\",\",257,12,10137,257,26,10151\",\",259,11,10178,259,18,10185\",\",260,14,10201,260,40,10227\",\",261,30,10259,261,39,10268\",\",261,22,10251,261,40,10269\",\",261,14,10243,261,41,10270\",\",262,14,10286,262,30,10302\",\",263,14,10318,263,25,10329\",\",265,9,10353,265,16,10360\",\",266,10,10372,266,51,10413\",\",267,17,10433,267,25,10441\",\",267,8,10424,267,26,10442\",\",269,24,10494,269,48,10518\",\",271,17,10567,271,38,10588\",\",272,17,10607,272,28,10618\",\",273,19,10639,273,26,10646\",\",274,20,10668,274,57,10705\",\",275,19,10727,275,36,10744\",\",277,17,10783,277,24,10790\",\",278,18,10810,278,56,10848\",\",279,18,10868,279,32,10882\",\",282,15,10939,282,26,10950\",\",269,10,10480,283,13,10966\",\",284,15,10982,284,26,10993\",\",287,17,11079,287,24,11086\",\",288,8,11096,288,32,11120\",\",288,50,11138,288,59,11147\",\",288,42,11130,288,60,11148\",\",288,34,11122,288,61,11149\",\",289,8,11159,289,39,11190\",\",289,41,11192,289,64,11215\",\",289,66,11217,289,107,11258\",\",293,13,11351,293,21,11359\",\",293,41,11379,293,49,11387\",\",293,32,11370,293,50,11388\",\",294,15,11405,294,22,11412\",\",294,24,11414,294,53,11443\",\",294,55,11445,294,76,11466\",\",296,11,11495,296,19,11503\",\",296,39,11523,296,47,11531\",\",296,30,11514,296,48,11532\",\",291,8,11292,296,50,11534\",\",298,9,11556,298,17,11564\",\",298,37,11584,298,45,11592\",\",298,28,11575,298,46,11593\",\",303,7,11793,303,15,11801\",\",304,11,11814,304,27,11830\",\",305,11,11843,305,18,11850\",\",306,12,11864,306,46,11898\",\",307,12,11912,307,23,11923\",\",308,16,11941,308,34,11959\",\",309,11,11972,309,22,11983\",\",310,13,11998,310,20,12005\",\",311,14,12021,311,29,12036\",\",312,27,12065,312,55,12093\",\",312,58,12096,312,65,12103\",\",312,14,12052,312,76,12114\",\",313,12,12129,313,26,12143\",\",315,11,12170,315,18,12177\",\",316,12,12191,316,48,12227\",\",317,12,12241,317,23,12252\",\",319,9,12276,319,16,12283\",\",320,10,12295,320,51,12336\",\",321,17,12356,321,25,12364\",\",321,8,12347,321,26,12365\",\",323,24,12417,323,48,12441\",\",325,17,12490,325,38,12511\",\",326,17,12530,326,28,12541\",\",327,19,12562,327,26,12569\",\",328,20,12591,328,57,12628\",\",329,19,12650,329,36,12667\",\",331,17,12706,331,24,12713\",\",332,18,12733,332,56,12771\",\",333,18,12791,333,32,12805\",\",336,15,12862,336,26,12873\",\",323,10,12403,337,13,12889\",\",338,15,12905,338,26,12916\",\",339,9,12933,339,16,12940\",\",340,10,12952,340,30,12972\",\",344,19,13114,344,36,13131\",\",345,19,13152,345,30,13163\",\",346,20,13185,346,45,13210\",\",347,33,13245,347,52,13264\",\",347,55,13267,347,62,13274\",\",347,20,13232,347,71,13283\",\",348,20,13305,348,54,13339\",\",349,28,13369,349,39,13380\",\",349,20,13361,349,40,13381\",\",351,19,13424,351,30,13435\",\",352,20,13457,352,76,13513\",\",353,28,13543,353,39,13554\",\",353,20,13535,353,40,13555\",\",354,20,13577,354,61,13618\",\",355,20,13640,355,30,13650\",\",357,42,13714,357,83,13755\",\",342,12,13019,358,15,13771\",\",359,18,13790,359,37,13809\",\",341,10,12984,359,38,13810\",\",341,10,12984,359,61,13833\",\",362,7,13904,362,14,13911\",\",363,9,13922,363,16,13929\",\",364,10,13941,364,46,13977\",\",365,10,13989,365,21,14000\",\",366,10,14012,366,43,14045\",\",367,17,14065,367,25,14073\",\",367,8,14056,367,26,14074\",\",368,9,14085,368,16,14092\",\",368,18,14094,368,37,14113\",\",369,29,14145,369,48,14164\",\",369,53,14169,369,80,14196\",\",369,29,14145,369,81,14197\",\",369,8,14124,369,82,14198\",\",374,7,14391,374,15,14399\",\",375,11,14412,375,27,14428\",\",376,11,14441,376,18,14448\",\",377,12,14462,377,47,14497\",\",378,12,14511,378,23,14522\",\",379,16,14540,379,34,14558\",\",380,11,14571,380,22,14582\",\",381,13,14597,381,20,14604\",\",382,14,14620,382,53,14659\",\",383,27,14688,383,48,14709\",\",383,51,14712,383,58,14719\",\",383,14,14675,383,68,14729\",\",384,12,14744,384,26,14758\",\",386,11,14785,386,18,14792\",\",387,12,14806,387,47,14841\",\",388,12,14855,388,23,14866\",\",390,9,14890,390,16,14897\",\",390,18,14899,390,59,14940\",\",391,17,14960,391,25,14968\",\",391,8,14951,391,26,14969\",\",393,24,15021,393,48,15045\",\",395,17,15094,395,38,15115\",\",396,17,15134,396,28,15145\",\",397,19,15166,397,26,15173\",\",398,20,15195,398,57,15232\",\",399,19,15254,399,36,15271\",\",401,17,15310,401,24,15317\",\",402,18,15337,402,56,15375\",\",403,18,15395,403,32,15409\",\",406,15,15466,406,26,15477\",\",393,10,15007,407,13,15493\",\",408,15,15509,408,26,15520\",\",409,9,15537,409,16,15544\",\",410,10,15556,410,30,15576\",\",414,19,15718,414,36,15735\",\",415,19,15756,415,30,15767\",\",416,20,15789,416,45,15814\",\",417,33,15849,417,52,15868\",\",417,55,15871,417,62,15878\",\",417,20,15836,417,71,15887\",\",418,20,15909,418,54,15943\",\",419,28,15973,419,39,15984\",\",419,20,15965,419,40,15985\",\",421,19,16028,421,30,16039\",\",422,20,16061,422,76,16117\",\",423,28,16147,423,39,16158\",\",423,20,16139,423,40,16159\",\",424,20,16181,424,61,16222\",\",425,20,16244,425,30,16254\",\",427,42,16318,427,83,16359\",\",428,40,16400,428,81,16441\",\",412,12,15623,429,15,16457\",\",430,18,16476,430,36,16494\",\",411,10,15588,430,37,16495\",\",411,10,15588,430,60,16518\",\",433,7,16589,433,14,16596\",\",434,9,16607,434,16,16614\",\",435,10,16626,435,45,16661\",\",436,10,16673,436,21,16684\",\",437,10,16696,437,43,16729\",\",438,17,16749,438,25,16757\",\",438,8,16740,438,26,16758\",\",439,9,16769,439,16,16776\",\",439,18,16778,439,38,16798\",\",440,29,16830,440,47,16848\",\",440,52,16853,440,79,16880\",\",440,29,16830,440,80,16881\",\",440,8,16809,440,81,16882\",\",445,7,17071,445,15,17079\",\",446,13,17094,446,29,17110\",\",447,13,17125,447,20,17132\",\",448,14,17148,448,49,17183\",\",449,14,17199,449,25,17210\",\",450,18,17230,450,36,17248\",\",451,13,17263,451,24,17274\",\",452,15,17291,452,22,17298\",\",453,16,17316,453,31,17331\",\",454,29,17362,454,56,17389\",\",454,59,17392,454,66,17399\",\",454,16,17349,454,76,17409\",\",455,14,17426,455,28,17440\",\",457,13,17471,457,20,17478\",\",458,14,17494,458,49,17529\",\",459,14,17545,459,25,17556\",\",461,11,17584,461,18,17591\",\",462,12,17605,462,64,17657\",\",463,29,17688,463,43,17702\",\",463,12,17671,463,44,17703\",\",464,12,17717,464,49,17754\",\",465,21,17777,465,37,17793\",\",465,12,17768,465,38,17794\",\",466,12,17808,466,40,17836\",\",467,19,17858,467,27,17866\",\",467,10,17849,467,28,17867\",\",469,26,17923,469,50,17947\",\",471,19,18000,471,40,18021\",\",472,19,18042,472,30,18053\",\",473,21,18076,473,28,18083\",\",474,22,18107,474,59,18144\",\",475,21,18168,475,38,18185\",\",477,19,18228,477,26,18235\",\",478,20,18257,478,58,18295\",\",479,20,18317,479,34,18331\",\",482,17,18394,482,28,18405\",\",469,12,17909,483,15,18423\",\",484,17,18441,484,28,18452\",\",487,7,18528,487,15,18536\",\",488,9,18547,488,16,18554\",\",489,10,18566,489,45,18601\",\",490,10,18613,490,23,18626\",\",491,10,18638,491,63,18691\",\",492,19,18712,492,33,18726\",\",492,10,18703,492,34,18727\",\",493,9,18739,493,16,18746\",\",494,10,18758,494,65,18813\",\",495,19,18834,495,35,18850\",\",495,10,18825,495,36,18851\",\",500,9,19022,500,25,19038\",\",501,9,19049,501,17,19057\",\",502,11,19070,502,18,19077\",\",503,12,19091,503,42,19121\",\",505,15,19159,505,26,19170\",\",506,24,19196,506,33,19205\",\",506,16,19188,506,34,19206\",\",507,16,19224,507,28,19236\",\",508,24,19262,508,34,19272\",\",508,16,19254,508,35,19273\",\",504,12,19135,508,37,19275\",\",509,12,19289,509,27,19304\",\",510,12,19318,510,23,19329\",\",511,11,19343,511,18,19350\",\",511,10,19342,518,44,19658\",\",512,12,19364,512,51,19403\",\",513,28,19433,513,38,19443\",\",513,20,19425,513,39,19444\",\",513,12,19417,513,40,19445\",\",514,12,19459,514,51,19498\",\",515,28,19528,515,37,19537\",\",515,20,19520,515,38,19538\",\",515,12,19512,515,39,19539\",\",516,12,19553,516,29,19570\",\",517,28,19600,517,38,19610\",\",517,20,19592,517,39,19611\",\",517,12,19584,517,40,19612\",\",518,12,19626,518,43,19657\",\",519,14,19674,519,32,19692\",\",520,9,19703,520,17,19711\",\",521,11,19724,521,18,19731\",\",522,12,19745,522,27,19760\",\",523,25,19787,523,50,19812\",\",523,53,19815,523,60,19822\",\",523,12,19774,523,70,19832\",\",524,10,19845,524,24,19859\",\",525,11,19872,525,18,19879\",\",525,10,19871,532,44,20187\",\",526,12,19893,526,51,19932\",\",527,28,19962,527,38,19972\",\",527,20,19954,527,39,19973\",\",527,12,19946,527,40,19974\",\",528,12,19988,528,51,20027\",\",529,28,20057,529,37,20066\",\",529,20,20049,529,38,20067\",\",529,12,20041,529,39,20068\",\",530,12,20082,530,29,20099\",\",531,28,20129,531,38,20139\",\",531,20,20121,531,39,20140\",\",531,12,20113,531,40,20141\",\",532,12,20155,532,43,20186\",\",534,9,20210,534,17,20218\",\",535,11,20231,535,18,20238\",\",536,12,20252,536,42,20282\",\",538,15,20320,538,26,20331\",\",539,24,20357,539,33,20366\",\",539,16,20349,539,34,20367\",\",540,16,20385,540,28,20397\",\",541,24,20423,541,34,20433\",\",541,16,20415,541,35,20434\",\",537,12,20296,541,37,20436\",\",542,12,20450,542,27,20465\",\",543,12,20479,543,23,20490\",\",544,11,20504,544,18,20511\",\",544,10,20503,551,44,20819\",\",545,12,20525,545,51,20564\",\",546,28,20594,546,38,20604\",\",546,20,20586,546,39,20605\",\",546,12,20578,546,40,20606\",\",547,12,20620,547,51,20659\",\",548,28,20689,548,37,20698\",\",548,20,20681,548,38,20699\",\",548,12,20673,548,39,20700\",\",549,12,20714,549,29,20731\",\",550,28,20761,550,38,20771\",\",550,20,20753,550,39,20772\",\",550,12,20745,550,40,20773\",\",551,12,20787,551,43,20818\",\",555,7,20899,555,15,20907\",\",556,9,20918,556,16,20925\",\",556,18,20927,556,43,20952\",\",557,83,21037,557,93,21047\",\",557,57,21011,557,93,21047\",\",557,49,21003,557,94,21048\",\",557,10,20964,557,95,21049\",\",558,10,21061,558,45,21096\",\",558,63,21114,558,72,21123\",\",558,55,21106,558,73,21124\",\",558,47,21098,558,74,21125\",\",57,0,1915,560,3,21139\",\",58,2,1937,91,7,3377\",\",92,2,3380,160,7,6637\",\",161,2,6640,181,7,7485\",\",182,2,7488,240,7,9512\",\",241,2,9515,300,7,11612\",\",301,2,11615,371,7,14214\",\",372,2,14217,442,7,16898\",\",443,2,16901,497,7,18868\",\",498,2,18871,559,7,21135\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAUsCC,uDAVtCD;AAAAA;AAUsCC,6CAVtCD;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\",\"file\":\"builtin://contracts\"}", +"theModule":"function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__830(R,NAMESPACE,M,$ED12,$$underscore_import5,$$included$127,$$included$225) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://contracts\";\nvar D = R.undefined;\nvar L = [[M,10,0,119,12,3,199],\n[M,11,2,148,11,49,195],\n[M,11,39,185,11,48,194],\n[M,16,4,239,16,67,302],\n[M,16,32,267,16,63,298],\n[M,18,4,352,20,7,533],\n[M,19,6,435,19,17,446],\n[M,19,38,467,19,46,475],\n[M,19,6,435,19,96,525],\n[M,21,4,539,23,7,623],\n[M,22,6,573,22,17,584],\n[M,22,32,599,22,40,607],\n[M,22,6,573,22,48,615],\n[M,25,4,677,27,7,858],\n[M,26,6,760,26,17,771],\n[M,26,38,792,26,46,800],\n[M,26,6,760,26,96,850],\n[M,28,4,864,30,7,947],\n[M,29,6,898,29,17,909],\n[M,29,32,924,29,40,932],\n[M,29,6,898,29,47,939],\n[M,15,2,224,16,67,302],\n[M,17,2,305,23,7,623],\n[M,17,24,327,17,37,340],\n[M,24,2,626,30,7,947],\n[M,24,28,652,24,41,665],\n[M,14,0,201,31,3,951],\n[M,36,4,1066,41,7,1355],\n[M,37,6,1120,40,54,1347],\n[M,37,7,1121,37,15,1129],\n[M,38,8,1139,39,88,1291],\n[M,38,9,1140,38,24,1155],\n[M,38,61,1192,38,69,1200],\n[M,39,47,1250,39,57,1260],\n[M,40,8,1301,40,19,1312],\n[M,40,8,1301,40,53,1346],\n[M,39,61,1264,39,87,1290],\n[M,39,31,1234,39,59,1262],\n[M,39,39,1242,39,58,1261],\n[M,39,10,1213,39,29,1232],\n[M,38,26,1157,38,40,1171],\n[M,43,4,1400,48,7,1652],\n[M,44,6,1454,47,59,1644],\n[M,44,7,1455,44,15,1463],\n[M,45,8,1473,46,36,1583],\n[M,45,9,1474,45,24,1489],\n[M,47,8,1593,47,19,1604],\n[M,47,34,1619,47,42,1627],\n[M,47,8,1593,47,58,1643],\n[M,46,9,1556,46,35,1582],\n[M,45,26,1491,45,55,1520],\n[M,50,4,1693,54,7,1909],\n[M,51,6,1747,53,68,1901],\n[M,51,7,1748,51,15,1756],\n[M,52,8,1766,53,67,1900],\n[M,52,9,1767,52,16,1774],\n[M,52,61,1819,52,71,1829],\n[M,53,57,1890,53,65,1898],\n[M,53,10,1843,53,36,1869],\n[M,52,45,1803,52,73,1831],\n[M,52,53,1811,52,72,1830],\n[M,52,18,1776,52,43,1801],\n[M,35,2,1020,41,7,1355],\n[M,42,2,1358,48,7,1652],\n[M,49,2,1655,54,7,1909],\n[M,34,0,999,55,3,1913],\n[M,59,4,1978,81,7,2911],\n[M,70,6,2336,80,38,2903],\n[M,70,7,2337,70,15,2345],\n[M,71,8,2355,76,61,2693],\n[M,71,9,2356,71,16,2363],\n[M,72,69,2434,72,88,2453],\n[M,72,70,2435,72,77,2442],\n[M,72,79,2444,72,87,2452],\n[M,77,18,2713,77,26,2721],\n[M,78,8,2732,79,83,2863],\n[M,78,9,2733,78,16,2740],\n[M,79,42,2822,79,60,2840],\n[M,79,43,2823,79,50,2830],\n[M,80,8,2873,80,37,2902],\n[M,80,9,2874,80,16,2881],\n[M,80,27,2892,80,35,2900],\n[M,80,18,2883,80,36,2901],\n[M,79,66,2846,79,82,2862],\n[M,79,10,2790,79,64,2844],\n[M,79,23,2803,79,40,2820],\n[M,78,18,2742,78,54,2778],\n[M,77,8,2703,77,27,2722],\n[M,76,41,2673,76,60,2692],\n[M,76,10,2642,76,39,2671],\n[M,76,18,2650,76,38,2670],\n[M,75,42,2592,75,80,2630],\n[M,75,10,2560,75,40,2590],\n[M,75,18,2568,75,39,2589],\n[M,74,35,2534,74,49,2548],\n[M,74,10,2509,74,33,2532],\n[M,74,18,2517,74,32,2531],\n[M,73,10,2469,73,38,2497],\n[M,72,25,2390,72,92,2457],\n[M,72,38,2403,72,67,2432],\n[M,72,10,2375,72,23,2388],\n[M,63,15,2192,63,26,2203],\n[M,63,43,2220,63,50,2227],\n[M,63,43,2220,63,52,2229],\n[M,63,15,2192,63,41,2218],\n[M,62,10,2162,65,15,2267],\n[M,61,8,2122,67,11,2303],\n[M,66,10,2278,66,23,2291],\n[M,61,14,2128,61,20,2134],\n[M,61,22,2136,61,36,2150],\n[M,60,19,2094,60,37,2112],\n[M,82,4,2917,91,7,3377],\n[M,83,6,2971,90,38,3369],\n[M,83,7,2972,83,15,2980],\n[M,84,8,2990,89,77,3329],\n[M,84,9,2991,84,16,2998],\n[M,85,68,3068,85,76,3076],\n[M,90,8,3339,90,37,3368],\n[M,90,9,3340,90,16,3347],\n[M,90,27,3358,90,35,3366],\n[M,90,18,3349,90,36,3367],\n[M,89,41,3293,89,76,3328],\n[M,89,10,3262,89,39,3291],\n[M,89,18,3270,89,38,3290],\n[M,88,42,3212,88,80,3250],\n[M,88,10,3180,88,40,3210],\n[M,88,18,3188,88,39,3209],\n[M,87,35,3154,87,49,3168],\n[M,87,10,3129,87,33,3152],\n[M,87,18,3137,87,32,3151],\n[M,86,10,3089,86,38,3117],\n[M,85,10,3010,85,47,3047],\n[M,93,4,3448,150,7,6179],\n[M,99,28,3758,99,39,3769],\n[M,100,17,3787,100,24,3794],\n[M,100,26,3796,100,35,3805],\n[M,106,16,4093,117,105,4708],\n[M,106,17,4094,106,25,4102],\n[M,107,18,4122,109,77,4246],\n[M,107,19,4123,107,26,4130],\n[M,109,53,4222,109,71,4240],\n[M,109,54,4223,109,61,4230],\n[M,111,18,4305,116,66,4601],\n[M,111,19,4306,111,26,4313],\n[M,114,22,4423,114,84,4485],\n[M,114,23,4424,114,34,4435],\n[M,114,46,4447,114,56,4457],\n[M,115,22,4509,115,42,4529],\n[M,115,23,4510,115,30,4517],\n[M,115,32,4519,115,41,4528],\n[M,117,18,4621,117,29,4632],\n[M,117,18,4621,117,104,4707],\n[M,116,20,4555,116,65,4600],\n[M,113,20,4387,115,46,4533],\n[M,114,63,4464,114,83,4484],\n[M,114,36,4437,114,61,4462],\n[M,114,46,4447,114,60,4461],\n[M,112,20,4335,112,50,4365],\n[M,110,19,4267,110,37,4285],\n[M,109,20,4189,109,76,4245],\n[M,109,33,4202,109,51,4220],\n[M,108,20,4152,108,35,4167],\n[M,100,16,3786,100,36,3806],\n[M,102,24,3889,102,34,3899],\n[M,102,41,3906,102,48,3913],\n[M,102,55,3920,102,62,3927],\n[M,102,24,3889,102,39,3904],\n[M,104,21,4007,104,29,4015],\n[M,104,34,4020,104,44,4030],\n[M,104,21,4007,104,45,4031],\n[M,101,20,3834,101,44,3858],\n[M,99,16,3746,99,39,3769],\n[M,98,14,3715,117,105,4708],\n[M,97,12,3667,129,15,5285],\n[M,119,16,4754,128,105,5269],\n[M,119,17,4755,119,25,4763],\n[M,120,18,4783,122,89,4919],\n[M,120,19,4784,120,26,4791],\n[M,122,66,4896,122,84,4914],\n[M,122,67,4897,122,74,4904],\n[M,124,18,4978,127,75,5162],\n[M,124,19,4979,124,26,4986],\n[M,126,30,5070,126,40,5080],\n[M,128,18,5182,128,29,5193],\n[M,128,18,5182,128,104,5268],\n[M,127,20,5107,127,74,5161],\n[M,126,20,5060,126,45,5085],\n[M,126,30,5070,126,44,5084],\n[M,125,20,5008,125,50,5038],\n[M,123,19,4940,123,37,4958],\n[M,122,20,4850,122,88,4918],\n[M,122,33,4863,122,64,4894],\n[M,121,20,4813,121,35,4828],\n[M,118,14,4723,128,105,5269],\n[M,97,18,3673,97,24,3679],\n[M,97,26,3681,97,44,3699],\n[M,131,12,5314,138,109,5713],\n[M,131,13,5315,131,21,5323],\n[M,132,14,5339,137,71,5602],\n[M,132,15,5340,132,22,5347],\n[M,136,26,5514,136,36,5524],\n[M,138,14,5618,138,25,5629],\n[M,138,14,5618,138,108,5712],\n[M,137,16,5547,137,70,5601],\n[M,136,16,5504,136,41,5529],\n[M,136,26,5514,136,40,5528],\n[M,135,16,5455,135,47,5486],\n[M,134,16,5422,134,31,5437],\n[M,133,16,5365,133,55,5404],\n[M,96,13,3631,96,35,3653],\n[M,95,8,3599,139,13,5727],\n[M,94,6,3551,149,9,6171],\n[M,141,10,5765,148,107,6161],\n[M,141,11,5766,141,19,5774],\n[M,142,12,5788,147,69,6052],\n[M,142,13,5789,142,20,5796],\n[M,144,30,5873,144,48,5891],\n[M,146,24,5966,146,34,5976],\n[M,148,12,6066,148,23,6077],\n[M,148,12,6066,148,106,6160],\n[M,147,14,5997,147,68,6051],\n[M,146,14,5956,146,39,5981],\n[M,146,24,5966,146,38,5980],\n[M,145,14,5909,145,45,5940],\n[M,144,14,5857,144,50,5893],\n[M,144,22,5865,144,49,5892],\n[M,143,14,5812,143,43,5841],\n[M,140,8,5736,148,107,6161],\n[M,94,12,3557,94,18,3563],\n[M,94,20,3565,94,44,3589],\n[M,151,4,6185,160,7,6637],\n[M,152,6,6239,159,77,6629],\n[M,152,7,6240,152,15,6248],\n[M,153,8,6258,156,44,6438],\n[M,153,9,6259,153,16,6266],\n[M,154,26,6294,154,44,6312],\n[M,155,60,6376,155,70,6386],\n[M,157,8,6448,157,19,6459],\n[M,157,8,6448,157,53,6493],\n[M,158,8,6503,158,55,6550],\n[M,158,9,6504,158,16,6511],\n[M,159,8,6560,159,76,6628],\n[M,159,9,6561,159,16,6568],\n[M,159,50,6602,159,59,6611],\n[M,159,18,6570,159,75,6627],\n[M,159,36,6588,159,60,6612],\n[M,158,18,6513,158,54,6549],\n[M,156,10,6404,156,43,6437],\n[M,155,10,6326,155,76,6392],\n[M,155,18,6334,155,75,6391],\n[M,155,51,6367,155,75,6391],\n[M,155,60,6376,155,74,6390],\n[M,154,10,6278,154,46,6314],\n[M,154,18,6286,154,45,6313],\n[M,162,4,6691,169,7,7000],\n[M,163,6,6800,168,49,6992],\n[M,163,7,6801,163,15,6809],\n[M,164,8,6819,168,48,6991],\n[M,164,9,6820,164,16,6827],\n[M,168,10,6953,168,21,6964],\n[M,168,10,6953,168,47,6990],\n[M,167,10,6922,167,29,6941],\n[M,166,10,6896,166,24,6910],\n[M,165,10,6839,165,55,6884],\n[M,170,4,7006,181,7,7485],\n[M,172,8,7096,177,11,7331],\n[M,173,10,7121,176,50,7319],\n[M,173,11,7122,173,19,7130],\n[M,174,12,7144,175,34,7267],\n[M,174,13,7145,174,20,7152],\n[M,176,12,7281,176,23,7292],\n[M,176,12,7281,176,49,7318],\n[M,175,14,7247,175,33,7266],\n[M,174,22,7154,174,69,7201],\n[M,178,8,7341,180,48,7476],\n[M,178,9,7342,178,17,7350],\n[M,179,10,7362,179,74,7426],\n[M,179,11,7363,179,18,7370],\n[M,180,10,7438,180,21,7449],\n[M,180,10,7438,180,47,7475],\n[M,171,6,7060,180,49,7477],\n[M,179,20,7372,179,73,7425],\n[M,183,4,7535,224,7,8907],\n[M,184,6,7638,223,33,8899],\n[M,184,7,7639,184,15,7647],\n[M,185,11,7660,185,27,7676],\n[M,204,8,8251,205,52,8313],\n[M,204,9,8252,204,16,8259],\n[M,206,17,8332,206,25,8340],\n[M,211,16,8505,214,37,8644],\n[M,211,17,8506,211,28,8517],\n[M,212,18,8537,213,58,8605],\n[M,212,19,8538,212,26,8545],\n[M,214,19,8626,214,36,8643],\n[M,213,20,8567,213,57,8604],\n[M,216,16,8681,218,33,8782],\n[M,216,17,8682,216,24,8689],\n[M,218,18,8767,218,32,8781],\n[M,217,18,8709,217,56,8747],\n[M,210,17,8466,210,38,8487],\n[M,209,12,8431,219,17,8800],\n[M,208,10,8379,222,13,8865],\n[M,221,14,8837,221,28,8851],\n[M,221,15,8838,221,26,8849],\n[M,220,12,8813,221,28,8851],\n[M,208,16,8385,208,22,8391],\n[M,208,24,8393,208,48,8417],\n[M,223,14,8880,223,28,8894],\n[M,223,15,8881,223,26,8892],\n[M,206,8,8323,206,26,8341],\n[M,205,10,8271,205,51,8312],\n[M,186,10,7688,190,24,7833],\n[M,186,11,7689,186,18,7696],\n[M,188,28,7766,188,37,7775],\n[M,190,12,7821,190,23,7832],\n[M,189,12,7791,189,28,7807],\n[M,188,12,7750,188,39,7777],\n[M,188,20,7758,188,38,7776],\n[M,187,12,7710,187,38,7736],\n[M,192,10,7880,196,27,8058],\n[M,192,11,7881,192,22,7892],\n[M,193,12,7906,195,82,8029],\n[M,193,13,7907,193,20,7914],\n[M,195,35,7982,195,44,7991],\n[M,195,63,8010,195,77,8024],\n[M,195,64,8011,195,71,8018],\n[M,196,12,8043,196,26,8057],\n[M,195,14,7961,195,81,8028],\n[M,195,27,7974,195,61,8008],\n[M,195,35,7982,195,60,8007],\n[M,194,14,7930,194,29,7945],\n[M,198,10,8083,202,24,8229],\n[M,198,11,8084,198,18,8091],\n[M,200,28,8162,200,37,8171],\n[M,202,12,8217,202,23,8228],\n[M,201,12,8187,201,28,8203],\n[M,200,12,8146,200,39,8173],\n[M,200,20,8154,200,38,8172],\n[M,199,12,8105,199,39,8132],\n[M,191,16,7850,191,34,7868],\n[M,225,4,8913,240,7,9512],\n[M,226,16,8977,229,29,9158],\n[M,226,17,8978,226,24,8985],\n[M,227,53,9040,227,62,9049],\n[M,232,10,9229,235,13,9382],\n[M,233,12,9249,234,79,9368],\n[M,233,13,9250,233,21,9258],\n[M,233,41,9278,233,49,9286],\n[M,234,14,9303,234,78,9367],\n[M,234,15,9304,234,22,9311],\n[M,234,24,9313,234,54,9343],\n[M,233,32,9269,233,50,9287],\n[M,236,10,9394,236,49,9433],\n[M,236,11,9395,236,19,9403],\n[M,236,39,9423,236,47,9431],\n[M,231,8,9191,236,50,9434],\n[M,236,30,9414,236,48,9432],\n[M,238,8,9455,238,47,9494],\n[M,238,9,9456,238,17,9464],\n[M,238,37,9484,238,45,9492],\n[M,238,28,9475,238,46,9493],\n[M,229,8,9137,229,28,9157],\n[M,228,8,9061,228,49,9102],\n[M,227,37,9024,227,64,9051],\n[M,227,45,9032,227,63,9050],\n[M,227,8,8995,227,35,9022],\n[M,242,4,9556,285,7,11008],\n[M,243,6,9659,284,33,11000],\n[M,243,7,9660,243,15,9668],\n[M,244,11,9681,244,27,9697],\n[M,265,8,10352,266,52,10414],\n[M,265,9,10353,265,16,10360],\n[M,267,17,10433,267,25,10441],\n[M,272,16,10606,275,37,10745],\n[M,272,17,10607,272,28,10618],\n[M,273,18,10638,274,58,10706],\n[M,273,19,10639,273,26,10646],\n[M,275,19,10727,275,36,10744],\n[M,274,20,10668,274,57,10705],\n[M,277,16,10782,279,33,10883],\n[M,277,17,10783,277,24,10790],\n[M,279,18,10868,279,32,10882],\n[M,278,18,10810,278,56,10848],\n[M,271,17,10567,271,38,10588],\n[M,270,12,10532,280,17,10901],\n[M,269,10,10480,283,13,10966],\n[M,282,14,10938,282,28,10952],\n[M,282,15,10939,282,26,10950],\n[M,281,12,10914,282,28,10952],\n[M,269,16,10486,269,22,10492],\n[M,269,24,10494,269,48,10518],\n[M,284,14,10981,284,28,10995],\n[M,284,15,10982,284,26,10993],\n[M,267,8,10424,267,26,10442],\n[M,266,10,10372,266,51,10413],\n[M,245,10,9709,249,24,9852],\n[M,245,11,9710,245,18,9717],\n[M,247,28,9785,247,37,9794],\n[M,249,12,9840,249,23,9851],\n[M,248,12,9810,248,28,9826],\n[M,247,12,9769,247,39,9796],\n[M,247,20,9777,247,38,9795],\n[M,246,12,9731,246,36,9755],\n[M,251,10,9899,257,27,10152],\n[M,251,11,9900,251,22,9911],\n[M,252,12,9925,256,69,10123],\n[M,252,13,9926,252,20,9933],\n[M,254,30,10006,254,39,10015],\n[M,256,50,10104,256,64,10118],\n[M,256,51,10105,256,58,10112],\n[M,257,12,10137,257,26,10151],\n[M,256,14,10068,256,68,10122],\n[M,256,27,10081,256,48,10102],\n[M,255,14,10033,255,33,10052],\n[M,254,14,9990,254,41,10017],\n[M,254,22,9998,254,40,10016],\n[M,253,14,9949,253,39,9974],\n[M,259,10,10177,263,26,10330],\n[M,259,11,10178,259,18,10185],\n[M,261,30,10259,261,39,10268],\n[M,263,14,10318,263,25,10329],\n[M,262,14,10286,262,30,10302],\n[M,261,14,10243,261,41,10270],\n[M,261,22,10251,261,40,10269],\n[M,260,14,10201,260,40,10227],\n[M,250,16,9869,250,34,9887],\n[M,286,4,11014,300,7,11612],\n[M,287,16,11078,289,108,11259],\n[M,287,17,11079,287,24,11086],\n[M,288,50,11138,288,59,11147],\n[M,292,10,11330,295,13,11482],\n[M,293,12,11350,294,78,11468],\n[M,293,13,11351,293,21,11359],\n[M,293,41,11379,293,49,11387],\n[M,294,14,11404,294,77,11467],\n[M,294,15,11405,294,22,11412],\n[M,294,24,11414,294,53,11443],\n[M,293,32,11370,293,50,11388],\n[M,296,10,11494,296,49,11533],\n[M,296,11,11495,296,19,11503],\n[M,296,39,11523,296,47,11531],\n[M,291,8,11292,296,50,11534],\n[M,296,30,11514,296,48,11532],\n[M,298,8,11555,298,47,11594],\n[M,298,9,11556,298,17,11564],\n[M,298,37,11584,298,45,11592],\n[M,298,28,11575,298,46,11593],\n[M,289,66,11217,289,107,11258],\n[M,289,8,11159,289,39,11190],\n[M,288,34,11122,288,61,11149],\n[M,288,42,11130,288,60,11148],\n[M,288,8,11096,288,32,11120],\n[M,302,4,11689,360,7,13843],\n[M,303,6,11792,359,63,13835],\n[M,303,7,11793,303,15,11801],\n[M,304,11,11814,304,27,11830],\n[M,319,8,12275,320,52,12337],\n[M,319,9,12276,319,16,12283],\n[M,321,17,12356,321,25,12364],\n[M,339,8,12932,359,62,13834],\n[M,339,9,12933,339,16,12940],\n[M,341,16,12990,359,13,13785],\n[M,345,18,13151,349,41,13382],\n[M,345,19,13152,345,30,13163],\n[M,347,54,13266,347,67,13279],\n[M,347,55,13267,347,62,13274],\n[M,349,20,13361,349,40,13381],\n[M,349,28,13369,349,39,13380],\n[M,348,20,13305,348,54,13339],\n[M,347,20,13232,347,71,13283],\n[M,347,33,13245,347,52,13264],\n[M,346,20,13185,346,45,13210],\n[M,351,18,13423,355,31,13651],\n[M,351,19,13424,351,30,13435],\n[M,355,20,13640,355,30,13650],\n[M,354,20,13577,354,61,13618],\n[M,353,20,13535,353,40,13555],\n[M,353,28,13543,353,39,13554],\n[M,352,20,13457,352,76,13513],\n[M,344,19,13114,344,36,13131],\n[M,343,14,13068,356,19,13671],\n[M,342,12,13019,358,15,13771],\n[M,357,42,13714,357,83,13755],\n[M,357,14,13686,357,83,13755],\n[M,342,18,13025,342,30,13037],\n[M,359,18,13790,359,37,13809],\n[M,341,10,12984,359,61,13833],\n[M,341,10,12984,359,38,13810],\n[M,340,10,12952,340,30,12972],\n[M,326,16,12529,329,37,12668],\n[M,326,17,12530,326,28,12541],\n[M,327,18,12561,328,58,12629],\n[M,327,19,12562,327,26,12569],\n[M,329,19,12650,329,36,12667],\n[M,328,20,12591,328,57,12628],\n[M,331,16,12705,333,33,12806],\n[M,331,17,12706,331,24,12713],\n[M,333,18,12791,333,32,12805],\n[M,332,18,12733,332,56,12771],\n[M,325,17,12490,325,38,12511],\n[M,324,12,12455,334,17,12824],\n[M,323,10,12403,337,13,12889],\n[M,336,14,12861,336,28,12875],\n[M,336,15,12862,336,26,12873],\n[M,335,12,12837,336,28,12875],\n[M,323,16,12409,323,22,12415],\n[M,323,24,12417,323,48,12441],\n[M,338,14,12904,338,28,12918],\n[M,338,15,12905,338,26,12916],\n[M,321,8,12347,321,26,12365],\n[M,320,10,12295,320,51,12336],\n[M,305,10,11842,307,24,11924],\n[M,305,11,11843,305,18,11850],\n[M,307,12,11912,307,23,11923],\n[M,306,12,11864,306,46,11898],\n[M,309,10,11971,313,27,12144],\n[M,309,11,11972,309,22,11983],\n[M,310,12,11997,312,77,12115],\n[M,310,13,11998,310,20,12005],\n[M,312,57,12095,312,71,12109],\n[M,312,58,12096,312,65,12103],\n[M,313,12,12129,313,26,12143],\n[M,312,14,12052,312,76,12114],\n[M,312,27,12065,312,55,12093],\n[M,311,14,12021,311,29,12036],\n[M,315,10,12169,317,24,12253],\n[M,315,11,12170,315,18,12177],\n[M,317,12,12241,317,23,12252],\n[M,316,12,12191,316,48,12227],\n[M,308,16,11941,308,34,11959],\n[M,361,4,13849,371,7,14214],\n[M,362,6,13903,370,7,14206],\n[M,362,7,13904,362,14,13911],\n[M,363,8,13921,366,44,14046],\n[M,363,9,13922,363,16,13929],\n[M,367,17,14065,367,25,14073],\n[M,368,8,14084,368,38,14114],\n[M,368,9,14085,368,16,14092],\n[M,369,29,14145,369,48,14164],\n[M,369,53,14169,369,80,14196],\n[M,369,29,14145,369,81,14197],\n[M,369,8,14124,369,82,14198],\n[M,368,18,14094,368,37,14113],\n[M,367,8,14056,367,26,14074],\n[M,366,10,14012,366,43,14045],\n[M,365,10,13989,365,21,14000],\n[M,364,10,13941,364,46,13977],\n[M,373,4,14287,431,7,16528],\n[M,374,6,14390,430,62,16520],\n[M,374,7,14391,374,15,14399],\n[M,375,11,14412,375,27,14428],\n[M,390,8,14889,390,60,14941],\n[M,390,9,14890,390,16,14897],\n[M,391,17,14960,391,25,14968],\n[M,409,8,15536,430,61,16519],\n[M,409,9,15537,409,16,15544],\n[M,411,16,15594,430,13,16471],\n[M,415,18,15755,419,41,15986],\n[M,415,19,15756,415,30,15767],\n[M,417,54,15870,417,67,15883],\n[M,417,55,15871,417,62,15878],\n[M,419,20,15965,419,40,15985],\n[M,419,28,15973,419,39,15984],\n[M,418,20,15909,418,54,15943],\n[M,417,20,15836,417,71,15887],\n[M,417,33,15849,417,52,15868],\n[M,416,20,15789,416,45,15814],\n[M,421,18,16027,425,31,16255],\n[M,421,19,16028,421,30,16039],\n[M,425,20,16244,425,30,16254],\n[M,424,20,16181,424,61,16222],\n[M,423,20,16139,423,40,16159],\n[M,423,28,16147,423,39,16158],\n[M,422,20,16061,422,76,16117],\n[M,414,19,15718,414,36,15735],\n[M,413,14,15672,426,19,16275],\n[M,412,12,15623,429,15,16457],\n[M,427,42,16318,427,83,16359],\n[M,427,14,16290,427,83,16359],\n[M,428,40,16400,428,81,16441],\n[M,428,14,16374,428,81,16441],\n[M,412,18,15629,412,30,15641],\n[M,430,18,16476,430,36,16494],\n[M,411,10,15588,430,60,16518],\n[M,411,10,15588,430,37,16495],\n[M,410,10,15556,410,30,15576],\n[M,396,16,15133,399,37,15272],\n[M,396,17,15134,396,28,15145],\n[M,397,18,15165,398,58,15233],\n[M,397,19,15166,397,26,15173],\n[M,399,19,15254,399,36,15271],\n[M,398,20,15195,398,57,15232],\n[M,401,16,15309,403,33,15410],\n[M,401,17,15310,401,24,15317],\n[M,403,18,15395,403,32,15409],\n[M,402,18,15337,402,56,15375],\n[M,395,17,15094,395,38,15115],\n[M,394,12,15059,404,17,15428],\n[M,393,10,15007,407,13,15493],\n[M,406,14,15465,406,28,15479],\n[M,406,15,15466,406,26,15477],\n[M,405,12,15441,406,28,15479],\n[M,393,16,15013,393,22,15019],\n[M,393,24,15021,393,48,15045],\n[M,408,14,15508,408,28,15522],\n[M,408,15,15509,408,26,15520],\n[M,391,8,14951,391,26,14969],\n[M,390,18,14899,390,59,14940],\n[M,376,10,14440,378,24,14523],\n[M,376,11,14441,376,18,14448],\n[M,378,12,14511,378,23,14522],\n[M,377,12,14462,377,47,14497],\n[M,380,10,14570,384,27,14759],\n[M,380,11,14571,380,22,14582],\n[M,381,12,14596,383,69,14730],\n[M,381,13,14597,381,20,14604],\n[M,383,50,14711,383,64,14725],\n[M,383,51,14712,383,58,14719],\n[M,384,12,14744,384,26,14758],\n[M,383,14,14675,383,68,14729],\n[M,383,27,14688,383,48,14709],\n[M,382,14,14620,382,53,14659],\n[M,386,10,14784,388,24,14867],\n[M,386,11,14785,386,18,14792],\n[M,388,12,14855,388,23,14866],\n[M,387,12,14806,387,47,14841],\n[M,379,16,14540,379,34,14558],\n[M,432,4,16534,442,7,16898],\n[M,433,6,16588,441,7,16890],\n[M,433,7,16589,433,14,16596],\n[M,434,8,16606,437,44,16730],\n[M,434,9,16607,434,16,16614],\n[M,438,17,16749,438,25,16757],\n[M,439,8,16768,439,39,16799],\n[M,439,9,16769,439,16,16776],\n[M,440,29,16830,440,47,16848],\n[M,440,52,16853,440,79,16880],\n[M,440,29,16830,440,80,16881],\n[M,440,8,16809,440,81,16882],\n[M,439,18,16778,439,38,16798],\n[M,438,8,16740,438,26,16758],\n[M,437,10,16696,437,43,16729],\n[M,436,10,16673,436,21,16684],\n[M,435,10,16626,435,45,16661],\n[M,444,4,16967,485,7,18467],\n[M,445,6,17070,484,35,18459],\n[M,445,7,17071,445,15,17079],\n[M,446,13,17094,446,29,17110],\n[M,461,10,17583,466,41,17837],\n[M,461,11,17584,461,18,17591],\n[M,463,29,17688,463,43,17702],\n[M,465,21,17777,465,37,17793],\n[M,467,19,17858,467,27,17866],\n[M,472,18,18041,475,39,18186],\n[M,472,19,18042,472,30,18053],\n[M,473,20,18075,474,60,18145],\n[M,473,21,18076,473,28,18083],\n[M,475,21,18168,475,38,18185],\n[M,474,22,18107,474,59,18144],\n[M,477,18,18227,479,35,18332],\n[M,477,19,18228,477,26,18235],\n[M,479,20,18317,479,34,18331],\n[M,478,20,18257,478,58,18295],\n[M,471,19,18000,471,40,18021],\n[M,470,14,17963,480,19,18352],\n[M,469,12,17909,483,15,18423],\n[M,482,16,18393,482,30,18407],\n[M,482,17,18394,482,28,18405],\n[M,481,14,18367,482,30,18407],\n[M,469,18,17915,469,24,17921],\n[M,469,26,17923,469,50,17947],\n[M,484,16,18440,484,30,18454],\n[M,484,17,18441,484,28,18452],\n[M,467,10,17849,467,28,17867],\n[M,466,12,17808,466,40,17836],\n[M,465,12,17768,465,38,17794],\n[M,464,12,17717,464,49,17754],\n[M,463,12,17671,463,44,17703],\n[M,462,12,17605,462,64,17657],\n[M,447,12,17124,449,26,17211],\n[M,447,13,17125,447,20,17132],\n[M,449,14,17199,449,25,17210],\n[M,448,14,17148,448,49,17183],\n[M,451,12,17262,455,29,17441],\n[M,451,13,17263,451,24,17274],\n[M,452,14,17290,454,77,17410],\n[M,452,15,17291,452,22,17298],\n[M,454,58,17391,454,72,17405],\n[M,454,59,17392,454,66,17399],\n[M,455,14,17426,455,28,17440],\n[M,454,16,17349,454,76,17409],\n[M,454,29,17362,454,56,17389],\n[M,453,16,17316,453,31,17331],\n[M,457,12,17470,459,26,17557],\n[M,457,13,17471,457,20,17478],\n[M,459,14,17545,459,25,17556],\n[M,458,14,17494,458,49,17529],\n[M,450,18,17230,450,36,17248],\n[M,486,4,18473,497,7,18868],\n[M,487,6,18527,496,7,18860],\n[M,487,7,18528,487,15,18536],\n[M,488,8,18546,492,35,18728],\n[M,488,9,18547,488,16,18554],\n[M,492,19,18712,492,33,18726],\n[M,493,8,18738,495,37,18852],\n[M,493,9,18739,493,16,18746],\n[M,495,19,18834,495,35,18850],\n[M,495,10,18825,495,36,18851],\n[M,494,10,18758,494,65,18813],\n[M,492,10,18703,492,34,18727],\n[M,491,10,18638,491,63,18691],\n[M,490,10,18613,490,23,18626],\n[M,489,10,18566,489,45,18601],\n[M,499,4,18916,553,7,20838],\n[M,500,9,19022,500,25,19038],\n[M,501,8,19048,518,45,19659],\n[M,501,9,19049,501,17,19057],\n[M,502,10,19069,510,24,19330],\n[M,502,11,19070,502,18,19077],\n[M,505,14,19158,508,36,19274],\n[M,505,15,19159,505,26,19170],\n[M,506,24,19196,506,33,19205],\n[M,508,24,19262,508,34,19272],\n[M,511,10,19342,518,44,19658],\n[M,511,11,19343,511,18,19350],\n[M,513,28,19433,513,38,19443],\n[M,515,28,19528,515,37,19537],\n[M,517,28,19600,517,38,19610],\n[M,518,12,19626,518,43,19657],\n[M,517,12,19584,517,40,19612],\n[M,517,20,19592,517,39,19611],\n[M,516,12,19553,516,29,19570],\n[M,515,12,19512,515,39,19539],\n[M,515,20,19520,515,38,19538],\n[M,514,12,19459,514,51,19498],\n[M,513,12,19417,513,40,19445],\n[M,513,20,19425,513,39,19444],\n[M,512,12,19364,512,51,19403],\n[M,510,12,19318,510,23,19329],\n[M,509,12,19289,509,27,19304],\n[M,504,12,19135,508,37,19275],\n[M,508,16,19254,508,35,19273],\n[M,507,16,19224,507,28,19236],\n[M,506,16,19188,506,34,19206],\n[M,503,12,19091,503,42,19121],\n[M,520,8,19702,532,45,20188],\n[M,520,9,19703,520,17,19711],\n[M,521,10,19723,523,71,19833],\n[M,521,11,19724,521,18,19731],\n[M,523,52,19814,523,66,19828],\n[M,523,53,19815,523,60,19822],\n[M,525,10,19871,532,44,20187],\n[M,525,11,19872,525,18,19879],\n[M,527,28,19962,527,38,19972],\n[M,529,28,20057,529,37,20066],\n[M,531,28,20129,531,38,20139],\n[M,532,12,20155,532,43,20186],\n[M,531,12,20113,531,40,20141],\n[M,531,20,20121,531,39,20140],\n[M,530,12,20082,530,29,20099],\n[M,529,12,20041,529,39,20068],\n[M,529,20,20049,529,38,20067],\n[M,528,12,19988,528,51,20027],\n[M,527,12,19946,527,40,19974],\n[M,527,20,19954,527,39,19973],\n[M,526,12,19893,526,51,19932],\n[M,524,10,19845,524,24,19859],\n[M,523,12,19774,523,70,19832],\n[M,523,25,19787,523,50,19812],\n[M,522,12,19745,522,27,19760],\n[M,534,8,20209,551,45,20820],\n[M,534,9,20210,534,17,20218],\n[M,535,10,20230,543,24,20491],\n[M,535,11,20231,535,18,20238],\n[M,538,14,20319,541,36,20435],\n[M,538,15,20320,538,26,20331],\n[M,539,24,20357,539,33,20366],\n[M,541,24,20423,541,34,20433],\n[M,544,10,20503,551,44,20819],\n[M,544,11,20504,544,18,20511],\n[M,546,28,20594,546,38,20604],\n[M,548,28,20689,548,37,20698],\n[M,550,28,20761,550,38,20771],\n[M,551,12,20787,551,43,20818],\n[M,550,12,20745,550,40,20773],\n[M,550,20,20753,550,39,20772],\n[M,549,12,20714,549,29,20731],\n[M,548,12,20673,548,39,20700],\n[M,548,20,20681,548,38,20699],\n[M,547,12,20620,547,51,20659],\n[M,546,12,20578,546,40,20606],\n[M,546,20,20586,546,39,20605],\n[M,545,12,20525,545,51,20564],\n[M,543,12,20479,543,23,20490],\n[M,542,12,20450,542,27,20465],\n[M,537,12,20296,541,37,20436],\n[M,541,16,20415,541,35,20434],\n[M,540,16,20385,540,28,20397],\n[M,539,16,20349,539,34,20367],\n[M,536,12,20252,536,42,20282],\n[M,519,14,19674,519,32,19692],\n[M,554,4,20844,559,7,21135],\n[M,555,6,20898,558,76,21127],\n[M,555,7,20899,555,15,20907],\n[M,556,8,20917,558,75,21126],\n[M,556,9,20918,556,16,20925],\n[M,557,83,21037,557,93,21047],\n[M,558,63,21114,558,72,21123],\n[M,558,47,21098,558,74,21125],\n[M,558,55,21106,558,73,21124],\n[M,558,10,21061,558,45,21096],\n[M,557,10,20964,557,95,21049],\n[M,557,49,21003,557,94,21048],\n[M,557,57,21011,557,93,21047],\n[M,556,18,20927,556,43,20952],\n[M,58,2,1937,91,7,3377],\n[M,92,2,3380,160,7,6637],\n[M,161,2,6640,181,7,7485],\n[M,161,28,6666,161,41,6679],\n[M,182,2,7488,240,7,9512],\n[M,182,31,7517,182,37,7523],\n[M,241,2,9515,300,7,11612],\n[M,301,2,11615,371,7,14214],\n[M,301,46,11659,301,64,11677],\n[M,372,2,14217,442,7,16898],\n[M,372,42,14257,372,60,14275],\n[M,443,2,16901,497,7,18868],\n[M,498,2,18871,559,7,21135],\n[M,57,0,1915,560,3,21139],\n[\"dummy location\"],\n[M,3,0,17,560,3,21139]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar ED5 = $ED12;\nvar $underscore_import6 = $$underscore_import5;\nvar $included$17 = $$included$127;\nvar $included$28 = $$included$225;\nvar $cases_dispatch1621 = {\"some\":28,\n\"none\":29};\nvar $cases_dispatch1482 = {\"some\":24,\n\"none\":25};\nvar $cases_dispatch1437 = {\"missing-field\":2,\n\"field-failure\":3,\n\"ann-failure\":4};\nvar $cases_dispatch1272 = {\"some\":24,\n\"none\":25};\nvar $cases_dispatch1230 = {\"missing-field\":2,\n\"field-failure\":3};\nvar $cases_dispatch1049 = {\"some\":33,\n\"none\":34};\nvar $cases_dispatch824 = {\"some\":31,\n\"none\":32};\nvar $cases_dispatch574 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch482 = {\"some\":5,\n\"none\":6};\nvar $cases_dispatch423 = {\"some\":7,\n\"none\":8};\nvar $cases_dispatch309 = {\"some\":5,\n\"none\":10};\nvar map_n1 = R.getModuleField(\"builtin://lists\",\"values\",\"map_n\");\nvar List2 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar map3 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar Option4 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar $toplevel13 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__830($$resumer13) {\nvar $step12 = 0;\nvar $elidedFrames30 = 0;\nvar $ans27 = D;\nvar $al28 = L[830];\nif(R.isAR($$resumer13)) {\n$step12 = $$resumer13.step;\n$al28 = $$resumer13.from;\n$ans27 = $$resumer13.ans;\n$elidedFrames30 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nok148 = $$resumer13.vars[0];\nFieldFailure1231 = $$resumer13.vars[1];\nanswer1905 = $$resumer13.vars[2];\nis$FieldFailure241 = $$resumer13.vars[3];\nis$FailureReason1866 = $$resumer13.vars[4];\ntup$length$mismatch1898 = $$resumer13.vars[5];\ntuple$anns$fail1895 = $$resumer13.vars[6];\nbad$bracket$target1870 = $$resumer13.vars[7];\nis$fail$arg154 = $$resumer13.vars[8];\nis$field$failure243 = $$resumer13.vars[9];\nis$dot$ann$not$present1900 = $$resumer13.vars[10];\nFailureReason121 = $$resumer13.vars[11];\nann$failure249 = $$resumer13.vars[12];\ndraw$and$highlight44 = $$resumer13.vars[13];\nis$ContractResult138 = $$resumer13.vars[14];\nis$record$fields$fail1889 = $$resumer13.vars[15];\nContractResult1904 = $$resumer13.vars[16];\nis$fail150 = $$resumer13.vars[17];\nis$predicate$failure1883 = $$resumer13.vars[18];\nfail$arg156 = $$resumer13.vars[19];\nis$ann$failure247 = $$resumer13.vars[20];\nis$ok144 = $$resumer13.vars[21];\ndot$ann$not$present1902 = $$resumer13.vars[22];\nfailure$at$arg1874 = $$resumer13.vars[23];\nref$init1877 = $$resumer13.vars[24];\nmissing$field253 = $$resumer13.vars[25];\nis$tuple$anns$fail1893 = $$resumer13.vars[26];\nis$bad$bracket$target1868 = $$resumer13.vars[27];\nis$tup$length$mismatch1897 = $$resumer13.vars[28];\nrecord$fields$fail1891 = $$resumer13.vars[29];\nfail152 = $$resumer13.vars[30];\nis$type$mismatch1879 = $$resumer13.vars[31];\npredicate$failure1885 = $$resumer13.vars[32];\ntype$mismatch1881 = $$resumer13.vars[33];\nfield$failure245 = $$resumer13.vars[34];\nis$failure$at$arg1872 = $$resumer13.vars[35];\nis$missing$field251 = $$resumer13.vars[36];\nis$ref$init1875 = $$resumer13.vars[37];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans27 = R.mC();\n}\nwhile(!R.isContinuation($ans27)) {\nswitch($step12) {\ncase 0: var ContractResult31 = R.nB(\"ContractResult\",L[26]);\nvar ContractResult1904 = R.mBA(ContractResult31,\"ContractResult\");\nvar FieldFailure32 = R.nB(\"FieldFailure\",L[65]);\nvar FieldFailure1231 = R.mBA(FieldFailure32,\"FieldFailure\");\nvar FailureReason33 = R.nB(\"FailureReason\",L[828]);\nvar FailureReason121 = R.mBA(FailureReason33,\"FailureReason\");\nvar draw$and$highlight44 = {\"$var\":D};\nvar ContractResult136 = {\"$var\":D};\nvar is$ContractResult138 = {\"$var\":D};\nvar is$ok144 = {\"$var\":D};\nvar ok148 = {\"$var\":D};\nvar is$fail150 = {\"$var\":D};\nvar fail152 = {\"$var\":D};\nvar is$fail$arg154 = {\"$var\":D};\nvar fail$arg156 = {\"$var\":D};\nvar FieldFailure239 = {\"$var\":D};\nvar is$FieldFailure241 = {\"$var\":D};\nvar is$field$failure243 = {\"$var\":D};\nvar field$failure245 = {\"$var\":D};\nvar is$ann$failure247 = {\"$var\":D};\nvar ann$failure249 = {\"$var\":D};\nvar is$missing$field251 = {\"$var\":D};\nvar missing$field253 = {\"$var\":D};\nvar FailureReason1865 = {\"$var\":D};\nvar is$FailureReason1866 = {\"$var\":D};\nvar is$bad$bracket$target1868 = {\"$var\":D};\nvar bad$bracket$target1870 = {\"$var\":D};\nvar is$failure$at$arg1872 = {\"$var\":D};\nvar failure$at$arg1874 = {\"$var\":D};\nvar is$ref$init1875 = {\"$var\":D};\nvar ref$init1877 = {\"$var\":D};\nvar is$type$mismatch1879 = {\"$var\":D};\nvar type$mismatch1881 = {\"$var\":D};\nvar is$predicate$failure1883 = {\"$var\":D};\nvar predicate$failure1885 = {\"$var\":D};\nvar is$record$fields$fail1889 = {\"$var\":D};\nvar record$fields$fail1891 = {\"$var\":D};\nvar is$tuple$anns$fail1893 = {\"$var\":D};\nvar tuple$anns$fail1895 = {\"$var\":D};\nvar is$tup$length$mismatch1897 = {\"$var\":D};\nvar tup$length$mismatch1898 = {\"$var\":D};\nvar is$dot$ann$not$present1900 = {\"$var\":D};\nvar dot$ann$not$present1902 = {\"$var\":D};\nvar $temp_lam35 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__0($l36) {\nvar $step34 = 0;\nvar $elidedFrames40 = 0;\nvar $ans37 = D;\nvar $al38 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar l36 = $l36;\n// callee optimization;\nwhile(!R.isContinuation($ans37)) {\nswitch($step34) {\ncase 0: $step34 = 1;\n$al38 = L[2];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al38,ED5.dict.values.dict[\"loc\"]);\n}\n$ans37 = ED5.dict.values.dict[\"loc\"].app(l36);\nbreak;\ncase 1: var anf_arg521 = $ans37;\n$step34 = 2;\n$al38 = L[1];\nif(typeof(ED5.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al38,ED5.dict.values.dict[\"loc-display\"]);\n}\n$ans37 = ED5.dict.values.dict[\"loc-display\"].app(l36,(\"error-highlight\"),anf_arg521);\nbreak;\ncase 2: return $ans37;\ndefault: R.ffi.throwSpinnakerError(L[0],$step34);\n}\n}\nreturn $ans37;\n};\nvar anf_assign43 = R.mF($temp_lam35,\"draw-and-highlight\");\ndraw$and$highlight44.$var = anf_assign43;\nR.nothing;\nvar $temp_full46 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__3($self47) {\nvar $step45 = 0;\nvar $elidedFrames52 = 0;\nvar $ans49 = D;\nvar $al50 = L[3];\nif(R.isAR($self47)) {\n$step45 = $self47.step;\n$al50 = $self47.from;\n$ans49 = $self47.ans;\n$elidedFrames52 = $self47.elidedFrames;\nself47 = $self47.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],1,$t,true);\n}\nvar self47 = $self47;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans49 = R.mC();\n}\nwhile(!R.isContinuation($ans49)) {\nswitch($step45) {\ncase 0: $step45 = 1;\n$al50 = L[4];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al50,ED5.dict.values.dict[\"text\"]);\n}\n$ans49 = ED5.dict.values.dict[\"text\"].app((\"There were no errors\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans49;\ndefault: R.ffi.throwSpinnakerError(L[3],$step45);\n}\n}\nif($step45 !== 1) {\n$ans49.stack[R.EXN_STACKHEIGHT++] = R.mAR($al50,$temp_full46,$step45,[self47],[],$elidedFrames52);\n}\nreturn $ans49;\n};\nvar anf_singleton_variant_member110 = R.makeMethod0($temp_full46,\"render-reason\");\nvar $temp_full56 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__5($self122,$maybe$stack$loc57,$src$available58,$maybe$ast59) {\nvar $step55 = 0;\nvar $elidedFrames63 = 0;\nvar $ans60 = D;\nvar $al61 = L[5];\nif(R.isAR($self122)) {\n$step55 = $self122.step;\n$al61 = $self122.from;\n$ans60 = $self122.ans;\n$elidedFrames63 = $self122.elidedFrames;\nself122 = $self122.args[0];\nmaybe$stack$loc57 = $self122.args[1];\nsrc$available58 = $self122.args[2];\nmaybe$ast59 = $self122.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],4,$t,true);\n}\nvar self122 = $self122;\nvar maybe$stack$loc57 = $maybe$stack$loc57;\nvar src$available58 = $src$available58;\nvar maybe$ast59 = $maybe$ast59;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans60 = R.mC();\n}\nwhile(!R.isContinuation($ans60)) {\nswitch($step55) {\ncase 0: $al61 = L[6];\nvar anf_method_obj64 = G(self122,\"reason\",L[6]);\n$al61 = L[7];\nvar anf_arg536 = G(self122,\"loc\",L[7]);\n$step55 = 1;\n$ans60 = R.maybeMethodCall5(anf_method_obj64,\"render-fancy-reason\",L[8],anf_arg536,(true),maybe$stack$loc57,src$available58,maybe$ast59);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans60;\ndefault: R.ffi.throwSpinnakerError(L[5],$step55);\n}\n}\nif($step55 !== 1) {\n$ans60.stack[R.EXN_STACKHEIGHT++] = R.mAR($al61,$temp_full56,$step55,[self122,maybe$stack$loc57,src$available58,maybe$ast59],[],$elidedFrames63);\n}\nreturn $ans60;\n};\nvar anf_variant_member116 = R.makeMethod3($temp_full56,\"render-fancy-reason\");\nvar $temp_full69 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__9($self169) {\nvar $step68 = 0;\nvar $elidedFrames74 = 0;\nvar $ans71 = D;\nvar $al72 = L[9];\nif(R.isAR($self169)) {\n$step68 = $self169.step;\n$al72 = $self169.from;\n$ans71 = $self169.ans;\n$elidedFrames74 = $self169.elidedFrames;\nself169 = $self169.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],1,$t,true);\n}\nvar self169 = $self169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans71 = R.mC();\n}\nwhile(!R.isContinuation($ans71)) {\nswitch($step68) {\ncase 0: $al72 = L[10];\nvar anf_method_obj75 = G(self169,\"reason\",L[10]);\n$al72 = L[11];\nvar anf_arg76 = G(self169,\"loc\",L[11]);\n$step68 = 1;\n$ans71 = R.maybeMethodCall2(anf_method_obj75,\"render-reason\",L[12],anf_arg76,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans71;\ndefault: R.ffi.throwSpinnakerError(L[9],$step68);\n}\n}\nif($step68 !== 1) {\n$ans71.stack[R.EXN_STACKHEIGHT++] = R.mAR($al72,$temp_full69,$step68,[self169],[],$elidedFrames74);\n}\nreturn $ans71;\n};\nvar anf_variant_member117 = R.makeMethod0($temp_full69,\"render-reason\");\nvar $temp_full80 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__13($self544,$maybe$stack$loc81,$src$available82,$maybe$ast83) {\nvar $step79 = 0;\nvar $elidedFrames87 = 0;\nvar $ans84 = D;\nvar $al85 = L[13];\nif(R.isAR($self544)) {\n$step79 = $self544.step;\n$al85 = $self544.from;\n$ans84 = $self544.ans;\n$elidedFrames87 = $self544.elidedFrames;\nself544 = $self544.args[0];\nmaybe$stack$loc81 = $self544.args[1];\nsrc$available82 = $self544.args[2];\nmaybe$ast83 = $self544.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],4,$t,true);\n}\nvar self544 = $self544;\nvar maybe$stack$loc81 = $maybe$stack$loc81;\nvar src$available82 = $src$available82;\nvar maybe$ast83 = $maybe$ast83;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans84 = R.mC();\n}\nwhile(!R.isContinuation($ans84)) {\nswitch($step79) {\ncase 0: $al85 = L[14];\nvar anf_method_obj88 = G(self544,\"reason\",L[14]);\n$al85 = L[15];\nvar anf_arg563 = G(self544,\"loc\",L[15]);\n$step79 = 1;\n$ans84 = R.maybeMethodCall5(anf_method_obj88,\"render-fancy-reason\",L[16],anf_arg563,(true),maybe$stack$loc81,src$available82,maybe$ast83);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans84;\ndefault: R.ffi.throwSpinnakerError(L[13],$step79);\n}\n}\nif($step79 !== 1) {\n$ans84.stack[R.EXN_STACKHEIGHT++] = R.mAR($al85,$temp_full80,$step79,[self544,maybe$stack$loc81,src$available82,maybe$ast83],[],$elidedFrames87);\n}\nreturn $ans84;\n};\nvar anf_variant_member127 = R.makeMethod3($temp_full80,\"render-fancy-reason\");\nvar $temp_full92 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__17($self93) {\nvar $step91 = 0;\nvar $elidedFrames99 = 0;\nvar $ans96 = D;\nvar $al97 = L[17];\nif(R.isAR($self93)) {\n$step91 = $self93.step;\n$al97 = $self93.from;\n$ans96 = $self93.ans;\n$elidedFrames99 = $self93.elidedFrames;\nself93 = $self93.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[17],1,$t,true);\n}\nvar self93 = $self93;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans96 = R.mC();\n}\nwhile(!R.isContinuation($ans96)) {\nswitch($step91) {\ncase 0: $al97 = L[18];\nvar anf_method_obj100 = G(self93,\"reason\",L[18]);\n$al97 = L[19];\nvar anf_arg573 = G(self93,\"loc\",L[19]);\n$step91 = 1;\n$ans96 = R.maybeMethodCall2(anf_method_obj100,\"render-reason\",L[20],anf_arg573,(true));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans96;\ndefault: R.ffi.throwSpinnakerError(L[17],$step91);\n}\n}\nif($step91 !== 1) {\n$ans96.stack[R.EXN_STACKHEIGHT++] = R.mAR($al97,$temp_full92,$step91,[self93],[],$elidedFrames99);\n}\nreturn $ans96;\n};\nvar anf_variant_member128 = R.makeMethod0($temp_full92,\"render-reason\");\nvar $ok_getfields112 = function variant(f) {\nreturn f();\n};\nvar $ok_mutablemask111 = [];\nvar $ok$base107 = {\"render-reason\":anf_singleton_variant_member110,\n\"_match\":R.mM(\"ok\",0)};\nvar $ok$brander108 = R.nB(\"ok\",L[21]);\nvar $ok$brands109 = {};\n$ok$brands109[ContractResult31._brand] = true;\n$ok$brands109[$ok$brander108._brand] = true;\nvar $fail_getfields119 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $fail_mutablemask118 = [false,false];\nvar $fail$base113 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member116,\n\"render-reason\":anf_variant_member117,\n\"_match\":R.mM(\"fail\",2)};\nvar $fail$brander114 = R.nB(\"fail\",L[22]);\nvar $fail$brands115 = {};\n$fail$brands115[ContractResult31._brand] = true;\n$fail$brands115[$fail$brander114._brand] = true;\nvar fail120 = R.mVC(L[22],function $synthesizedConstructor_$fail$base() {\nreturn [FailureReason121];\n},[\"reason122\"],[L[23]],[false,false],[\"loc123\",\"reason122\"],$fail_mutablemask118,$fail$base113,$fail$brands115,\"fail\",$fail_getfields119,$fail$base113);\nvar $fail$arg_getfields130 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $fail$arg_mutablemask129 = [false,false];\nvar $fail$arg$base124 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member127,\n\"render-reason\":anf_variant_member128,\n\"_match\":R.mM(\"fail-arg\",2)};\nvar $fail$arg$brander125 = R.nB(\"fail-arg\",L[24]);\nvar $fail$arg$brands126 = {};\n$fail$arg$brands126[ContractResult31._brand] = true;\n$fail$arg$brands126[$fail$arg$brander125._brand] = true;\nvar fail$arg131 = R.mVC(L[24],function $synthesizedConstructor_$fail$arg$base() {\nreturn [FailureReason121];\n},[\"reason132\"],[L[25]],[false,false],[\"loc133\",\"reason132\"],$fail$arg_mutablemask129,$fail$arg$base124,$fail$arg$brands126,\"fail-arg\",$fail$arg_getfields130,$fail$arg$base124);\nvar anf_assign135 = R.mO({\"ContractResult\":G(ContractResult31,\"test\",L[26]),\n\"is-ok\":G($ok$brander108,\"test\",L[21]),\n\"ok\":R.mDV($ok$base107,$ok$brands109,\"ok\",$ok_getfields112,-1,$ok_mutablemask111,$ok$base107,false,L[21]),\n\"is-fail\":G($fail$brander114,\"test\",L[22]),\n\"fail\":fail120,\n\"is-fail-arg\":G($fail$arg$brander125,\"test\",L[24]),\n\"fail-arg\":fail$arg131});\nContractResult136.$var = anf_assign135;\nR.nothing;\n$al28 = L[26];\nvar anf_assign137 = G(ContractResult136.$var,\"ContractResult\",L[26]);\nis$ContractResult138.$var = anf_assign137;\nR.nothing;\n$al28 = L[21];\nvar anf_assign143 = G(ContractResult136.$var,\"is-ok\",L[21]);\nis$ok144.$var = anf_assign143;\nR.nothing;\n$al28 = L[21];\nvar anf_assign147 = G(ContractResult136.$var,\"ok\",L[21]);\nok148.$var = anf_assign147;\nR.nothing;\n$al28 = L[22];\nvar anf_assign149 = G(ContractResult136.$var,\"is-fail\",L[22]);\nis$fail150.$var = anf_assign149;\nR.nothing;\n$al28 = L[22];\nvar anf_assign151 = G(ContractResult136.$var,\"fail\",L[22]);\nfail152.$var = anf_assign151;\nR.nothing;\n$al28 = L[24];\nvar anf_assign153 = G(ContractResult136.$var,\"is-fail-arg\",L[24]);\nis$fail$arg154.$var = anf_assign153;\nR.nothing;\n$al28 = L[24];\nvar anf_assign155 = G(ContractResult136.$var,\"fail-arg\",L[24]);\nfail$arg156.$var = anf_assign155;\nR.nothing;\nvar $temp_full159 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__27($self220,$loc160,$from$fail$arg161) {\nvar $step158 = 0;\nvar $elidedFrames165 = 0;\nvar $ans162 = D;\nvar $al163 = L[27];\nif(R.isAR($self220)) {\n$step158 = $self220.step;\n$al163 = $self220.from;\n$ans162 = $self220.ans;\n$elidedFrames165 = $self220.elidedFrames;\nself220 = $self220.args[0];\nloc160 = $self220.args[1];\nfrom$fail$arg161 = $self220.args[2];\nanf_arg171 = $self220.vars[0];\nanf_arg166 = $self220.vars[1];\nanf_arg167 = $self220.vars[2];\nanf_fun170 = $self220.vars[3];\nanf_arg168 = $self220.vars[4];\nanf_arg612 = $self220.vars[5];\nanf_fun611 = $self220.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[27],3,$t,true);\n}\nvar self220 = $self220;\nvar loc160 = $loc160;\nvar from$fail$arg161 = $from$fail$arg161;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans162 = R.mC();\n}\nwhile(!R.isContinuation($ans162)) {\nswitch($step158) {\ncase 0: $ans162 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[28],L[29]);\nvar anf_fun170 = $ans162;\n$ans162 = R.getMaker5(ED5.dict.values.dict[\"para-nospace\"],(\"make5\"),L[30],L[31]);\nvar anf_fun611 = $ans162;\n$step158 = 1;\n$al163 = L[40];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\"At \"));\nbreak;\ncase 1: var anf_arg612 = $ans162;\n$al163 = L[32];\nvar anf_arg613 = G(self220,\"loc\",L[32]);\n// caller optimization;\n$ans162 = draw$and$highlight44.$var.app(anf_arg613);\nvar anf_arg166 = $ans162;\n$step158 = 2;\n$al163 = L[39];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\", field \"));\nbreak;\ncase 2: var anf_arg167 = $ans162;\n$al163 = L[33];\nvar anf_arg627 = G(self220,\"field\",L[33]);\n$step158 = 3;\n$al163 = L[38];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app(anf_arg627);\nbreak;\ncase 3: var anf_arg628 = $ans162;\n$step158 = 4;\n$al163 = L[37];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"code\"]);\n}\n$ans162 = ED5.dict.values.dict[\"code\"].app(anf_arg628);\nbreak;\ncase 4: var anf_arg168 = $ans162;\n$step158 = 5;\n$al163 = L[36];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\" failed because\"));\nbreak;\ncase 5: var anf_arg644 = $ans162;\n$step158 = 6;\n$al163 = L[31];\nif(typeof(anf_fun611.app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,anf_fun611);\n}\n$ans162 = anf_fun611.app(anf_arg612,anf_arg166,anf_arg167,anf_arg168,anf_arg644);\nbreak;\ncase 6: var anf_arg171 = $ans162;\n$al163 = L[34];\nvar anf_method_obj169 = G(self220,\"reason\",L[34]);\n$step158 = 7;\n$ans162 = R.maybeMethodCall2(anf_method_obj169,\"render-reason\",L[35],loc160,from$fail$arg161);\nbreak;\ncase 7: var anf_arg653 = $ans162;\n$step158 = 8;\n$al163 = L[29];\nif(typeof(anf_fun170.app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,anf_fun170);\n}\n$ans162 = anf_fun170.app(anf_arg171,anf_arg653);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans162;\ndefault: R.ffi.throwSpinnakerError(L[27],$step158);\n}\n}\nif($step158 !== 8) {\n$ans162.stack[R.EXN_STACKHEIGHT++] = R.mAR($al163,$temp_full159,$step158,[self220,loc160,from$fail$arg161],[anf_arg171,anf_arg166,anf_arg167,anf_fun170,anf_arg168,anf_arg612,anf_fun611],$elidedFrames165);\n}\nreturn $ans162;\n};\nvar anf_variant_member212 = R.makeMethod2($temp_full159,\"render-reason\");\nvar $temp_full174 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__41($self244,$loc175,$from$fail$arg176) {\nvar $step173 = 0;\nvar $elidedFrames180 = 0;\nvar $ans177 = D;\nvar $al178 = L[41];\nif(R.isAR($self244)) {\n$step173 = $self244.step;\n$al178 = $self244.from;\n$ans177 = $self244.ans;\n$elidedFrames180 = $self244.elidedFrames;\nself244 = $self244.args[0];\nloc175 = $self244.args[1];\nfrom$fail$arg176 = $self244.args[2];\nanf_arg185 = $self244.vars[0];\nanf_arg664 = $self244.vars[1];\nanf_arg665 = $self244.vars[2];\nanf_fun184 = $self244.vars[3];\nanf_fun663 = $self244.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],3,$t,true);\n}\nvar self244 = $self244;\nvar loc175 = $loc175;\nvar from$fail$arg176 = $from$fail$arg176;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans177 = R.mC();\n}\nwhile(!R.isContinuation($ans177)) {\nswitch($step173) {\ncase 0: $ans177 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[42],L[43]);\nvar anf_fun184 = $ans177;\n$ans177 = R.getMaker3(ED5.dict.values.dict[\"para-nospace\"],(\"make3\"),L[44],L[45]);\nvar anf_fun663 = $ans177;\n$step173 = 1;\n$al178 = L[50];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,ED5.dict.values.dict[\"text\"]);\n}\n$ans177 = ED5.dict.values.dict[\"text\"].app((\"The annotation at \"));\nbreak;\ncase 1: var anf_arg664 = $ans177;\n// caller optimization;\n$ans177 = draw$and$highlight44.$var.app(loc175);\nvar anf_arg665 = $ans177;\n$step173 = 2;\n$al178 = L[49];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,ED5.dict.values.dict[\"text\"]);\n}\n$ans177 = ED5.dict.values.dict[\"text\"].app((\" failed because\"));\nbreak;\ncase 2: var anf_arg182 = $ans177;\n$step173 = 3;\n$al178 = L[45];\nif(typeof(anf_fun663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,anf_fun663);\n}\n$ans177 = anf_fun663.app(anf_arg664,anf_arg665,anf_arg182);\nbreak;\ncase 3: var anf_arg185 = $ans177;\n$al178 = L[46];\nvar anf_method_obj183 = G(self244,\"reason\",L[46]);\n$al178 = L[47];\nvar anf_arg677 = G(self244,\"loc\",L[47]);\n$step173 = 4;\n$ans177 = R.maybeMethodCall2(anf_method_obj183,\"render-reason\",L[48],anf_arg677,from$fail$arg176);\nbreak;\ncase 4: var anf_arg186 = $ans177;\n$step173 = 5;\n$al178 = L[43];\nif(typeof(anf_fun184.app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,anf_fun184);\n}\n$ans177 = anf_fun184.app(anf_arg185,anf_arg186);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans177;\ndefault: R.ffi.throwSpinnakerError(L[41],$step173);\n}\n}\nif($step173 !== 5) {\n$ans177.stack[R.EXN_STACKHEIGHT++] = R.mAR($al178,$temp_full174,$step173,[self244,loc175,from$fail$arg176],[anf_arg185,anf_arg664,anf_arg665,anf_fun184,anf_fun663],$elidedFrames180);\n}\nreturn $ans177;\n};\nvar anf_variant_member222 = R.makeMethod2($temp_full174,\"render-reason\");\nvar $temp_full190 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__51($self65,$loc191,$from$fail$arg192) {\nvar $step189 = 0;\nvar $elidedFrames196 = 0;\nvar $ans193 = D;\nvar $al194 = L[51];\nif(R.isAR($self65)) {\n$step189 = $self65.step;\n$al194 = $self65.from;\n$ans193 = $self65.ans;\n$elidedFrames196 = $self65.elidedFrames;\nself65 = $self65.args[0];\nloc191 = $self65.args[1];\nfrom$fail$arg192 = $self65.args[2];\nanf_arg204 = $self65.vars[0];\nanf_arg704 = $self65.vars[1];\nanf_fun203 = $self65.vars[2];\nanf_fun207 = $self65.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],3,$t,true);\n}\nvar self65 = $self65;\nvar loc191 = $loc191;\nvar from$fail$arg192 = $from$fail$arg192;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans193 = R.mC();\n}\nwhile(!R.isContinuation($ans193)) {\nswitch($step189) {\ncase 0: $ans193 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[52],L[53]);\nvar anf_fun207 = $ans193;\n$ans193 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[54],L[55]);\nvar anf_fun203 = $ans193;\n$step189 = 1;\n$al194 = L[61];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app((\"Missing field \"));\nbreak;\ncase 1: var anf_arg204 = $ans193;\n$al194 = L[56];\nvar anf_arg201 = G(self65,\"field\",L[56]);\n$step189 = 2;\n$al194 = L[60];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app(anf_arg201);\nbreak;\ncase 2: var anf_arg703 = $ans193;\n$step189 = 3;\n$al194 = L[59];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"code\"]);\n}\n$ans193 = ED5.dict.values.dict[\"code\"].app(anf_arg703);\nbreak;\ncase 3: var anf_arg704 = $ans193;\n$step189 = 4;\n$al194 = L[58];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app((\"is required at \"));\nbreak;\ncase 4: var anf_arg205 = $ans193;\n$al194 = L[57];\nvar anf_arg202 = G(self65,\"loc\",L[57]);\n// caller optimization;\n$ans193 = draw$and$highlight44.$var.app(anf_arg202);\nvar anf_arg718 = $ans193;\n$step189 = 5;\n$al194 = L[55];\nif(typeof(anf_fun203.app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,anf_fun203);\n}\n$ans193 = anf_fun203.app(anf_arg204,anf_arg704,anf_arg205,anf_arg718);\nbreak;\ncase 5: var anf_arg719 = $ans193;\n$step189 = 6;\n$al194 = L[53];\nif(typeof(anf_fun207.app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,anf_fun207);\n}\n$ans193 = anf_fun207.app(anf_arg719);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans193;\ndefault: R.ffi.throwSpinnakerError(L[51],$step189);\n}\n}\nif($step189 !== 6) {\n$ans193.stack[R.EXN_STACKHEIGHT++] = R.mAR($al194,$temp_full190,$step189,[self65,loc191,from$fail$arg192],[anf_arg204,anf_arg704,anf_fun203,anf_fun207],$elidedFrames196);\n}\nreturn $ans193;\n};\nvar anf_variant_member232 = R.makeMethod2($temp_full190,\"render-reason\");\nvar $field$failure_getfields214 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"field\"],this.dict[\"reason\"]);\n};\nvar $field$failure_mutablemask213 = [false,false,false];\nvar $field$failure$base209 = {\"$fieldNames\":[\"loc\",\"field\",\"reason\"],\n\"render-reason\":anf_variant_member212,\n\"_match\":R.mM(\"field-failure\",3)};\nvar $field$failure$brander210 = R.nB(\"field-failure\",L[62]);\nvar $field$failure$brands211 = {};\n$field$failure$brands211[FieldFailure32._brand] = true;\n$field$failure$brands211[$field$failure$brander210._brand] = true;\nvar field$failure215 = R.mVC(L[62],function $synthesizedConstructor_$field$failure$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc216\",\"field217\",\"reason218\"],$field$failure_mutablemask213,$field$failure$base209,$field$failure$brands211,\"field-failure\",$field$failure_getfields214,$field$failure$base209);\nvar $ann$failure_getfields224 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"ann\"],this.dict[\"reason\"]);\n};\nvar $ann$failure_mutablemask223 = [false,false,false];\nvar $ann$failure$base219 = {\"$fieldNames\":[\"loc\",\"ann\",\"reason\"],\n\"render-reason\":anf_variant_member222,\n\"_match\":R.mM(\"ann-failure\",3)};\nvar $ann$failure$brander220 = R.nB(\"ann-failure\",L[63]);\nvar $ann$failure$brands221 = {};\n$ann$failure$brands221[FieldFailure32._brand] = true;\n$ann$failure$brands221[$ann$failure$brander220._brand] = true;\nvar ann$failure225 = R.mVC(L[63],function $synthesizedConstructor_$ann$failure$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc226\",\"ann227\",\"reason228\"],$ann$failure_mutablemask223,$ann$failure$base219,$ann$failure$brands221,\"ann-failure\",$ann$failure_getfields224,$ann$failure$base219);\nvar $missing$field_getfields234 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"field\"]);\n};\nvar $missing$field_mutablemask233 = [false,false];\nvar $missing$field$base229 = {\"$fieldNames\":[\"loc\",\"field\"],\n\"render-reason\":anf_variant_member232,\n\"_match\":R.mM(\"missing-field\",2)};\nvar $missing$field$brander230 = R.nB(\"missing-field\",L[64]);\nvar $missing$field$brands231 = {};\n$missing$field$brands231[FieldFailure32._brand] = true;\n$missing$field$brands231[$missing$field$brander230._brand] = true;\nvar missing$field235 = R.mVC(L[64],function $synthesizedConstructor_$missing$field$base() {\nreturn [];\n},[],[],[false,false],[\"loc236\",\"field237\"],$missing$field_mutablemask233,$missing$field$base229,$missing$field$brands231,\"missing-field\",$missing$field_getfields234,$missing$field$base229);\nvar anf_assign238 = R.mO({\"FieldFailure\":G(FieldFailure32,\"test\",L[65]),\n\"is-field-failure\":G($field$failure$brander210,\"test\",L[62]),\n\"field-failure\":field$failure215,\n\"is-ann-failure\":G($ann$failure$brander220,\"test\",L[63]),\n\"ann-failure\":ann$failure225,\n\"is-missing-field\":G($missing$field$brander230,\"test\",L[64]),\n\"missing-field\":missing$field235});\nFieldFailure239.$var = anf_assign238;\nR.nothing;\n$al28 = L[65];\nvar anf_assign240 = G(FieldFailure239.$var,\"FieldFailure\",L[65]);\nis$FieldFailure241.$var = anf_assign240;\nR.nothing;\n$al28 = L[62];\nvar anf_assign242 = G(FieldFailure239.$var,\"is-field-failure\",L[62]);\nis$field$failure243.$var = anf_assign242;\nR.nothing;\n$al28 = L[62];\nvar anf_assign244 = G(FieldFailure239.$var,\"field-failure\",L[62]);\nfield$failure245.$var = anf_assign244;\nR.nothing;\n$al28 = L[63];\nvar anf_assign246 = G(FieldFailure239.$var,\"is-ann-failure\",L[63]);\nis$ann$failure247.$var = anf_assign246;\nR.nothing;\n$al28 = L[63];\nvar anf_assign248 = G(FieldFailure239.$var,\"ann-failure\",L[63]);\nann$failure249.$var = anf_assign248;\nR.nothing;\n$al28 = L[64];\nvar anf_assign250 = G(FieldFailure239.$var,\"is-missing-field\",L[64]);\nis$missing$field251.$var = anf_assign250;\nR.nothing;\n$al28 = L[64];\nvar anf_assign252 = G(FieldFailure239.$var,\"missing-field\",L[64]);\nmissing$field253.$var = anf_assign252;\nR.nothing;\nvar $temp_full255 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__66($self256,$loc108,$from$fail$arg257,$maybe$stack$loc258,$src$available259,$maybe$ast260) {\nvar $step254 = 0;\nvar $elidedFrames264 = 0;\nvar $ans261 = D;\nvar $al262 = L[66];\nif(R.isAR($self256)) {\n$step254 = $self256.step;\n$al262 = $self256.from;\n$ans261 = $self256.ans;\n$elidedFrames264 = $self256.elidedFrames;\nself256 = $self256.args[0];\nloc108 = $self256.args[1];\nfrom$fail$arg257 = $self256.args[2];\nmaybe$stack$loc258 = $self256.args[3];\nsrc$available259 = $self256.args[4];\nmaybe$ast260 = $self256.args[5];\nast304 = $self256.vars[0];\ncases303 = $self256.vars[1];\nanf_arg283 = $self256.vars[2];\nobj$loc282 = $self256.vars[3];\nanf_arg771 = $self256.vars[4];\nanf_arg298 = $self256.vars[5];\nanf_arg302 = $self256.vars[6];\nanf_fun284 = $self256.vars[7];\nanf_arg799 = $self256.vars[8];\nanf_array279 = $self256.vars[9];\nanf_arg801 = $self256.vars[10];\nanf_fun289 = $self256.vars[11];\nanf_arg816 = $self256.vars[12];\nanf_fun834 = $self256.vars[13];\nanf_fun769 = $self256.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],6,$t,true);\n}\nvar self256 = $self256;\nvar loc108 = $loc108;\nvar from$fail$arg257 = $from$fail$arg257;\nvar maybe$stack$loc258 = $maybe$stack$loc258;\nvar src$available259 = $src$available259;\nvar maybe$ast260 = $maybe$ast260;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans261 = R.mC();\n}\nwhile(!R.isContinuation($ans261)) {\nswitch($step254) {\ncase 0: $step254 = 1;\n$al262 = L[110];\nif(typeof(src$available259.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,src$available259);\n}\n$ans261 = src$available259.app(loc108);\nbreak;\ncase 1: var anf_if311 = $ans261;\n$step254 = R.checkPyretTrue(anf_if311)?2:12;\nbreak;\ncase 2: $step254 = 3;\n$al262 = L[109];\nif(typeof(maybe$ast260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,maybe$ast260);\n}\n$ans261 = maybe$ast260.app(loc108);\nbreak;\ncase 3: var cases303 = $ans261;\n$step254 = 4;\n$al262 = L[108];\nvar $ann$check310 = R._cA(L[108],Option4,cases303);\nif(R.isContinuation($ann$check310)) {\n$ans261 = $ann$check310;\n}\nbreak;\ncase 4: $al262 = L[106];\n$step254 = $cases_dispatch309[cases303.$name] || 11;\nbreak;\ncase 5: if(cases303.$arity !== 1) {\nif(cases303.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[105],1,cases303.$arity,L[106],cases303.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[105],true,L[106],cases303.$loc);\n}\n}\nvar $fn308 = cases303.$constructor.$fieldNames;\nvar ast304 = R.dF(cases303.dict[$fn308[0]],cases303.$mut_fields_mask[0],false);\n$step254 = 6;\n$ans261 = R.maybeMethodCall0(ast304,\"label\",L[101]);\nbreak;\ncase 6: var anf_arg757 = $ans261;\n$step254 = 7;\n$al262 = L[104];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,equal$always1);\n}\n$ans261 = equal$always1.app(anf_arg757,(\"s-bracket\"));\nbreak;\ncase 7: var anf_if306 = $ans261;\n$step254 = R.checkPyretTrue(anf_if306)?8:9;\nbreak;\ncase 8: $al262 = L[102];\nvar anf_bracket305 = G(ast304,\"obj\",L[102]);\n$step254 = 13;\n$al262 = L[103];\n$ans261 = G(anf_bracket305,\"l\",L[103]);\nbreak;\ncase 9: $step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 10: if(cases303.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[107],false,L[106],cases303.$loc);\n}\n$step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 11: $ans261 = R.throwNoCasesMatched(L[106],cases303);\n$step254 = 13;\nbreak;\ncase 12: $step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 13: var obj$loc282 = $ans261;\n$ans261 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[67],L[68]);\nvar anf_fun289 = $ans261;\n$ans261 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[69],L[70]);\nvar anf_fun769 = $ans261;\n$ans261 = R.makeArrayN((9));\nvar anf_array279 = $ans261;\n$step254 = 14;\n$al262 = L[100];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 14: anf_array279[0] = $ans261;\n$step254 = 15;\n$al262 = L[99];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"bracket expression\"));\nbreak;\ncase 15: var anf_arg771 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[71],L[72]);\nvar anf_fun265 = $ans261;\n$al262 = L[73];\nvar anf_arg276 = G(self256,\"loc\",L[73]);\n$step254 = 16;\n$al262 = L[72];\nif(typeof(anf_fun265.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun265);\n}\n$ans261 = anf_fun265.app(anf_arg276);\nbreak;\ncase 16: var anf_arg278 = $ans261;\n$step254 = 17;\n$al262 = L[98];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans261 = ED5.dict.values.dict[\"highlight\"].app(anf_arg771,anf_arg278,(0));\nbreak;\ncase 17: anf_array279[1] = $ans261;\n$step254 = 18;\n$al262 = L[97];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" only works with \"));\nbreak;\ncase 18: anf_array279[2] = $ans261;\n$step254 = 19;\n$al262 = L[96];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"Row\"));\nbreak;\ncase 19: var anf_arg784 = $ans261;\n$step254 = 20;\n$al262 = L[95];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg784);\nbreak;\ncase 20: anf_array279[3] = $ans261;\n$step254 = 21;\n$al262 = L[94];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"s, \"));\nbreak;\ncase 21: anf_array279[4] = $ans261;\n$step254 = 22;\n$al262 = L[93];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"StringDict\"));\nbreak;\ncase 22: var anf_arg785 = $ans261;\n$step254 = 23;\n$al262 = L[92];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg785);\nbreak;\ncase 23: anf_array279[5] = $ans261;\n$step254 = 24;\n$al262 = L[91];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"s, or values that define a \"));\nbreak;\ncase 24: anf_array279[6] = $ans261;\n$step254 = 25;\n$al262 = L[90];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"get-value\"));\nbreak;\ncase 25: var anf_arg786 = $ans261;\n$step254 = 26;\n$al262 = L[89];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg786);\nbreak;\ncase 26: anf_array279[7] = $ans261;\n$step254 = 27;\n$al262 = L[88];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" method.\"));\nbreak;\ncase 27: anf_array279[8] = $ans261;\n$step254 = 28;\n$al262 = L[70];\nif(typeof(anf_fun769.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun769);\n}\n$ans261 = anf_fun769.app(anf_array279);\nbreak;\ncase 28: var anf_arg298 = $ans261;\n$al262 = L[74];\nvar anf_arg281 = G(self256,\"loc\",L[74]);\n$step254 = 29;\n$al262 = L[87];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans261 = ED5.dict.values.dict[\"cmcode\"].app(anf_arg281);\nbreak;\ncase 29: var anf_arg799 = $ans261;\n$ans261 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[75],L[76]);\nvar anf_fun284 = $ans261;\n$step254 = 30;\n$al262 = L[86];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"The bracket expression's \"));\nbreak;\ncase 30: var anf_arg801 = $ans261;\n$step254 = 31;\n$al262 = L[85];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"target\"));\nbreak;\ncase 31: var anf_arg283 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[77],L[78]);\nvar anf_fun814 = $ans261;\n$step254 = 32;\n$al262 = L[78];\nif(typeof(anf_fun814.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun814);\n}\n$ans261 = anf_fun814.app(obj$loc282);\nbreak;\ncase 32: var anf_arg815 = $ans261;\n$step254 = 33;\n$al262 = L[84];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans261 = ED5.dict.values.dict[\"highlight\"].app(anf_arg283,anf_arg815,(1));\nbreak;\ncase 33: var anf_arg816 = $ans261;\n$step254 = 34;\n$al262 = L[83];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 34: var anf_arg817 = $ans261;\n$step254 = 35;\n$al262 = L[76];\nif(typeof(anf_fun284.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun284);\n}\n$ans261 = anf_fun284.app(anf_arg801,anf_arg816,anf_arg817);\nbreak;\ncase 35: var anf_arg302 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[79],L[80]);\nvar anf_fun834 = $ans261;\n$al262 = L[81];\nvar anf_arg835 = G(self256,\"obj\",L[81]);\n$step254 = 36;\n$al262 = L[82];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"embed\"]);\n}\n$ans261 = ED5.dict.values.dict[\"embed\"].app(anf_arg835);\nbreak;\ncase 36: var anf_arg286 = $ans261;\n$step254 = 37;\n$al262 = L[80];\nif(typeof(anf_fun834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun834);\n}\n$ans261 = anf_fun834.app(anf_arg286);\nbreak;\ncase 37: var anf_arg833 = $ans261;\n$step254 = 38;\n$al262 = L[68];\nif(typeof(anf_fun289.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun289);\n}\n$ans261 = anf_fun289.app(anf_arg298,anf_arg799,anf_arg302,anf_arg833);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans261;\ndefault: R.ffi.throwSpinnakerError(L[66],$step254);\n}\n}\nif($step254 !== 38) {\n$ans261.stack[R.EXN_STACKHEIGHT++] = R.mAR($al262,$temp_full255,$step254,[self256,loc108,from$fail$arg257,maybe$stack$loc258,src$available259,maybe$ast260],[ast304,cases303,anf_arg283,obj$loc282,anf_arg771,anf_arg298,anf_arg302,anf_fun284,anf_arg799,anf_array279,anf_arg801,anf_fun289,anf_arg816,anf_fun834,anf_fun769],$elidedFrames264);\n}\nreturn $ans261;\n};\nvar anf_variant_member1775 = R.makeMethod5($temp_full255,\"render-fancy-reason\");\nvar $temp_full314 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__111($self157,$loc315,$from$fail$arg316) {\nvar $step313 = 0;\nvar $elidedFrames320 = 0;\nvar $ans317 = D;\nvar $al318 = L[111];\nif(R.isAR($self157)) {\n$step313 = $self157.step;\n$al318 = $self157.from;\n$ans317 = $self157.ans;\n$elidedFrames320 = $self157.elidedFrames;\nself157 = $self157.args[0];\nloc315 = $self157.args[1];\nfrom$fail$arg316 = $self157.args[2];\nanf_fun849 = $self157.vars[0];\nanf_arg334 = $self157.vars[1];\nanf_array323 = $self157.vars[2];\nanf_fun331 = $self157.vars[3];\nanf_fun329 = $self157.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],3,$t,true);\n}\nvar self157 = $self157;\nvar loc315 = $loc315;\nvar from$fail$arg316 = $from$fail$arg316;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans317 = R.mC();\n}\nwhile(!R.isContinuation($ans317)) {\nswitch($step313) {\ncase 0: $ans317 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[112],L[113]);\nvar anf_fun331 = $ans317;\n$ans317 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[114],L[115]);\nvar anf_fun849 = $ans317;\n$ans317 = R.makeArrayN((9));\nvar anf_array323 = $ans317;\n$step313 = 1;\n$al318 = L[131];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"The bracket expression at \"));\nbreak;\ncase 1: anf_array323[0] = $ans317;\n$al318 = L[116];\nvar anf_arg321 = G(self157,\"loc\",L[116]);\n// caller optimization;\n$ans317 = draw$and$highlight44.$var.app(anf_arg321);\nanf_array323[1] = $ans317;\n$step313 = 2;\n$al318 = L[130];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\" only works with \"));\nbreak;\ncase 2: anf_array323[2] = $ans317;\n$step313 = 3;\n$al318 = L[129];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"Row\"));\nbreak;\ncase 3: var anf_arg848 = $ans317;\n$step313 = 4;\n$al318 = L[128];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg848);\nbreak;\ncase 4: anf_array323[3] = $ans317;\n$step313 = 5;\n$al318 = L[127];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"s, \"));\nbreak;\ncase 5: anf_array323[4] = $ans317;\n$step313 = 6;\n$al318 = L[126];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"StringDict\"));\nbreak;\ncase 6: var anf_arg851 = $ans317;\n$step313 = 7;\n$al318 = L[125];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg851);\nbreak;\ncase 7: anf_array323[5] = $ans317;\n$step313 = 8;\n$al318 = L[124];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"s, or values that define a \"));\nbreak;\ncase 8: anf_array323[6] = $ans317;\n$step313 = 9;\n$al318 = L[123];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"get-value\"));\nbreak;\ncase 9: var anf_arg322 = $ans317;\n$step313 = 10;\n$al318 = L[122];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg322);\nbreak;\ncase 10: anf_array323[7] = $ans317;\n$step313 = 11;\n$al318 = L[121];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\" method. The value was:\"));\nbreak;\ncase 11: anf_array323[8] = $ans317;\n$step313 = 12;\n$al318 = L[115];\nif(typeof(anf_fun849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun849);\n}\n$ans317 = anf_fun849.app(anf_array323);\nbreak;\ncase 12: var anf_arg334 = $ans317;\n$ans317 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[117],L[118]);\nvar anf_fun329 = $ans317;\n$al318 = L[119];\nvar anf_arg328 = G(self157,\"obj\",L[119]);\n$step313 = 13;\n$al318 = L[120];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"embed\"]);\n}\n$ans317 = ED5.dict.values.dict[\"embed\"].app(anf_arg328);\nbreak;\ncase 13: var anf_arg863 = $ans317;\n$step313 = 14;\n$al318 = L[118];\nif(typeof(anf_fun329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun329);\n}\n$ans317 = anf_fun329.app(anf_arg863);\nbreak;\ncase 14: var anf_arg866 = $ans317;\n$step313 = 15;\n$al318 = L[113];\nif(typeof(anf_fun331.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun331);\n}\n$ans317 = anf_fun331.app(anf_arg334,anf_arg866);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans317;\ndefault: R.ffi.throwSpinnakerError(L[111],$step313);\n}\n}\nif($step313 !== 15) {\n$ans317.stack[R.EXN_STACKHEIGHT++] = R.mAR($al318,$temp_full314,$step313,[self157,loc315,from$fail$arg316],[anf_fun849,anf_arg334,anf_array323,anf_fun331,anf_fun329],$elidedFrames320);\n}\nreturn $ans317;\n};\nvar anf_variant_member1776 = R.makeMethod2($temp_full314,\"render-reason\");\nvar $temp_full337 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__132($self338,$loc339,$from$fail$arg340,$maybe$stack$loc341,$src$available342,$maybe$ast343) {\nvar $step336 = 0;\nvar $elidedFrames348 = 0;\nvar $ans345 = D;\nvar $al346 = L[132];\nif(R.isAR($self338)) {\n$step336 = $self338.step;\n$al346 = $self338.from;\n$ans345 = $self338.ans;\n$elidedFrames348 = $self338.elidedFrames;\nself338 = $self338.args[0];\nloc339 = $self338.args[1];\nfrom$fail$arg340 = $self338.args[2];\nmaybe$stack$loc341 = $self338.args[3];\nsrc$available342 = $self338.args[4];\nmaybe$ast343 = $self338.args[5];\ncases349 = $self338.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],6,$t,true);\n}\nvar self338 = $self338;\nvar loc339 = $loc339;\nvar from$fail$arg340 = $from$fail$arg340;\nvar maybe$stack$loc341 = $maybe$stack$loc341;\nvar src$available342 = $src$available342;\nvar maybe$ast343 = $maybe$ast343;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans345 = R.mC();\n}\nwhile(!R.isContinuation($ans345)) {\nswitch($step336) {\ncase 0: $step336 = 1;\n$al346 = L[229];\nif(typeof(maybe$stack$loc341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al346,maybe$stack$loc341);\n}\n$ans345 = maybe$stack$loc341.app((0),(true));\nbreak;\ncase 1: var cases349 = $ans345;\n$step336 = 2;\n$al346 = L[228];\nvar $ann$check575 = R._cA(L[228],Option4,cases349);\nif(R.isContinuation($ann$check575)) {\n$ans345 = $ann$check575;\n}\nbreak;\ncase 2: $al346 = L[211];\n$step336 = $cases_dispatch574[cases349.$name] || 5;\nbreak;\ncase 3: if(cases349.$arity !== 1) {\nif(cases349.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[210],1,cases349.$arity,L[211],cases349.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[210],true,L[211],cases349.$loc);\n}\n}\n$step336 = 6;\n$al346 = L[210];\nvar $temp_branch459 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__211($app$loc350) {\nvar $step460 = 0;\nvar $elidedFrames465 = 0;\nvar $ans462 = D;\nvar $al463 = L[209];\nif(R.isAR($app$loc350)) {\n$step460 = $app$loc350.step;\n$al463 = $app$loc350.from;\n$ans462 = $app$loc350.ans;\n$elidedFrames465 = $app$loc350.elidedFrames;\napp$loc350 = $app$loc350.args[0];\nanf_arg452 = $app$loc350.vars[0];\nanf_arg442 = $app$loc350.vars[1];\nanf_arg102 = $app$loc350.vars[2];\nanf_arg456 = $app$loc350.vars[3];\nanf_arg449 = $app$loc350.vars[4];\nanf_fun455 = $app$loc350.vars[5];\nanf_fun426 = $app$loc350.vars[6];\ncases351 = $app$loc350.vars[7];\n} else {\nvar app$loc350 = $app$loc350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans462 = R.mC();\n}\nwhile(!R.isContinuation($ans462)) {\nswitch($step460) {\ncase 0: $step460 = 1;\n$al463 = L[209];\nif(typeof(src$available342.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,src$available342);\n}\n$ans462 = src$available342.app(app$loc350);\nbreak;\ncase 1: var anf_if458 = $ans462;\n$step460 = R.checkPyretTrue(anf_if458)?2:8;\nbreak;\ncase 2: $step460 = 3;\n$al463 = L[195];\nif(typeof(maybe$ast343.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,maybe$ast343);\n}\n$ans462 = maybe$ast343.app(app$loc350);\nbreak;\ncase 3: var cases351 = $ans462;\n$step460 = 4;\n$al463 = L[194];\nvar $ann$check483 = R._cA(L[194],Option4,cases351);\nif(R.isContinuation($ann$check483)) {\n$ans462 = $ann$check483;\n}\nbreak;\ncase 4: $al463 = L[173];\n$step460 = $cases_dispatch482[cases351.$name] || 7;\nbreak;\ncase 5: if(cases351.$arity !== 1) {\nif(cases351.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[172],1,cases351.$arity,L[173],cases351.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[172],true,L[173],cases351.$loc);\n}\n}\n$step460 = 17;\n$al463 = L[172];\nvar $temp_branch466 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__173($ast352) {\nvar $step467 = 0;\nvar $elidedFrames471 = 0;\nvar $ans468 = D;\nvar $al469 = L[171];\nif(R.isAR($ast352)) {\n$step467 = $ast352.step;\n$al469 = $ast352.from;\n$ans468 = $ast352.ans;\n$elidedFrames471 = $ast352.elidedFrames;\nast352 = $ast352.args[0];\nanf_arg382 = $ast352.vars[0];\nanf_arg372 = $ast352.vars[1];\nanf_arg374 = $ast352.vars[2];\ntup2856 = $ast352.vars[3];\nanf_arg896 = $ast352.vars[4];\nanf_arg941 = $ast352.vars[5];\nanf_arg358 = $ast352.vars[6];\nnth$arg365 = $ast352.vars[7];\nanf_fun373 = $ast352.vars[8];\nanf_fun363 = $ast352.vars[9];\nanf_arg911 = $ast352.vars[10];\nanf_fun377 = $ast352.vars[11];\nanf_arg926 = $ast352.vars[12];\nanf_fun359 = $ast352.vars[13];\nanf_arg908 = $ast352.vars[14];\ncall$type354 = $ast352.vars[15];\n} else {\nvar ast352 = $ast352;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans468 = R.mC();\n}\nwhile(!R.isContinuation($ans468)) {\nswitch($step467) {\ncase 0: $step467 = 1;\n$ans468 = R.maybeMethodCall0(ast352,\"label\",L[133]);\nbreak;\ncase 1: var ast$label353 = $ans468;\n$step467 = 2;\n$al469 = L[170];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,equal$always1);\n}\n$ans468 = equal$always1.app(ast$label353,(\"s-bracket\"));\nbreak;\ncase 2: var anf_if390 = $ans468;\n$step467 = R.checkPyretTrue(anf_if390)?3:8;\nbreak;\ncase 3: $al469 = L[163];\nvar anf_arg384 = G(self338,\"index\",L[163]);\n$step467 = 4;\n$al469 = L[166];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,equal$always1);\n}\n$ans468 = equal$always1.app(anf_arg384,(0));\nbreak;\ncase 4: var anf_if386 = $ans468;\n$step467 = R.checkPyretTrue(anf_if386)?5:6;\nbreak;\ncase 5: $step467 = 7;\n$al469 = L[164];\n$ans468 = G(ast352,\"obj\",L[164]);\nbreak;\ncase 6: $step467 = 7;\n$al469 = L[165];\n$ans468 = G(ast352,\"key\",L[165]);\nbreak;\ncase 7: var anf_tuple_fields385 = $ans468;\n$step467 = 10;\n$ans468 = R.makeTuple([anf_tuple_fields385,(\"bracket expression\")]);\nbreak;\ncase 8: $al469 = L[167];\nvar anf_method_obj387 = G(ast352,\"args\",L[167]);\n$al469 = L[168];\nvar anf_arg388 = G(self338,\"index\",L[168]);\n$step467 = 9;\n$ans468 = R.maybeMethodCall1(anf_method_obj387,\"get\",L[169],anf_arg388);\nbreak;\ncase 9: var anf_tuple_fields389 = $ans468;\n$step467 = 10;\n$ans468 = R.makeTuple([anf_tuple_fields389,(\"function application\")]);\nbreak;\ncase 10: var tup2856 = $ans468;\n$step467 = 11;\n$al469 = L[162];\nR.checkTupleBind(tup2856,2,L[162]);\nbreak;\ncase 11: var nth$arg365 = R.getTuple(tup2856,0,L[134]);\nvar call$type354 = R.getTuple(tup2856,1,L[135]);\n$ans468 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[136],L[137]);\nvar anf_fun377 = $ans468;\n$ans468 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[138],L[139]);\nvar anf_fun359 = $ans468;\n$step467 = 12;\n$al469 = L[161];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 12: var anf_arg896 = $ans468;\n$step467 = 13;\n$al469 = L[160];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app(call$type354);\nbreak;\ncase 13: var anf_arg358 = $ans468;\n$ans468 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[140],L[141]);\nvar anf_fun909 = $ans468;\n$step467 = 14;\n$al469 = L[141];\nif(typeof(anf_fun909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun909);\n}\n$ans468 = anf_fun909.app(app$loc350);\nbreak;\ncase 14: var anf_arg910 = $ans468;\n$step467 = 15;\n$al469 = L[159];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans468 = ED5.dict.values.dict[\"highlight\"].app(anf_arg358,anf_arg910,(-1));\nbreak;\ncase 15: var anf_arg360 = $ans468;\n$step467 = 16;\n$al469 = L[139];\nif(typeof(anf_fun359.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun359);\n}\n$ans468 = anf_fun359.app(anf_arg896,anf_arg360);\nbreak;\ncase 16: var anf_arg908 = $ans468;\n$step467 = 17;\n$al469 = L[158];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans468 = ED5.dict.values.dict[\"cmcode\"].app(app$loc350);\nbreak;\ncase 17: var anf_arg911 = $ans468;\n$ans468 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[142],L[143]);\nvar anf_fun373 = $ans468;\n$step467 = 18;\n$al469 = L[157];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\"failed because the \"));\nbreak;\ncase 18: var anf_arg374 = $ans468;\n$ans468 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[144],L[145]);\nvar anf_fun363 = $ans468;\n$al469 = L[146];\nvar anf_arg361 = G(self338,\"index\",L[146]);\n$step467 = 19;\n$al469 = L[156];\n// omitting isFunction check;\n$ans468 = _plus5.app(anf_arg361,(1));\nbreak;\ncase 19: var anf_arg923 = $ans468;\n$step467 = 20;\n$al469 = L[155];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans468 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg923);\nbreak;\ncase 20: var anf_arg926 = $ans468;\n$step467 = 21;\n$al469 = L[154];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\" argument\"));\nbreak;\ncase 21: var anf_arg364 = $ans468;\n$step467 = 22;\n$al469 = L[145];\nif(typeof(anf_fun363.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun363);\n}\n$ans468 = anf_fun363.app(anf_arg926,anf_arg364);\nbreak;\ncase 22: var anf_arg372 = $ans468;\n$ans468 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[147],L[148]);\nvar anf_fun366 = $ans468;\n$al469 = L[149];\nvar anf_arg369 = G(nth$arg365,\"l\",L[149]);\n$step467 = 23;\n$al469 = L[148];\nif(typeof(anf_fun366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun366);\n}\n$ans468 = anf_fun366.app(anf_arg369);\nbreak;\ncase 23: var anf_arg938 = $ans468;\n$step467 = 24;\n$al469 = L[153];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans468 = ED5.dict.values.dict[\"highlight\"].app(anf_arg372,anf_arg938,(0));\nbreak;\ncase 24: var anf_arg941 = $ans468;\n$step467 = 25;\n$al469 = L[152];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\" evaluated to an unexpected value.\"));\nbreak;\ncase 25: var anf_arg375 = $ans468;\n$step467 = 26;\n$al469 = L[143];\nif(typeof(anf_fun373.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun373);\n}\n$ans468 = anf_fun373.app(anf_arg374,anf_arg941,anf_arg375);\nbreak;\ncase 26: var anf_arg382 = $ans468;\n$al469 = L[150];\nvar anf_method_obj376 = G(self338,\"reason\",L[150]);\n$step467 = 27;\n$ans468 = R.maybeMethodCall5(anf_method_obj376,\"render-fancy-reason\",L[151],loc339,(false),maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 27: var anf_arg383 = $ans468;\n$step467 = 28;\n$al469 = L[137];\nif(typeof(anf_fun377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun377);\n}\n$ans468 = anf_fun377.app(anf_arg908,anf_arg911,anf_arg382,anf_arg383);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans468;\ndefault: R.ffi.throwSpinnakerError(L[171],$step467);\n}\n}\nif($step467 !== 28) {\n$ans468.stack[R.EXN_STACKHEIGHT++] = R.mAR($al469,$temp_branch466,$step467,[ast352],[anf_arg382,anf_arg372,anf_arg374,tup2856,anf_arg896,anf_arg941,anf_arg358,nth$arg365,anf_fun373,anf_fun363,anf_arg911,anf_fun377,anf_arg926,anf_fun359,anf_arg908,call$type354],$elidedFrames471);\n}\nreturn $ans468;\n};\n$ans462 = cases351.$app_fields($temp_branch466,[false]);\nbreak;\ncase 6: if(cases351.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[193],false,L[173],cases351.$loc);\n}\n$step460 = 17;\n$al463 = L[193];\nvar $temp_branch475 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__173($$resumer13) {\nvar $step476 = 0;\nvar $elidedFrames480 = 0;\nvar $ans477 = D;\nvar $al478 = L[175];\nif(R.isAR($$resumer13)) {\n$step476 = $$resumer13.step;\n$al478 = $$resumer13.from;\n$ans477 = $$resumer13.ans;\n$elidedFrames480 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg62 = $$resumer13.vars[0];\nanf_arg970 = $$resumer13.vars[1];\nanf_arg971 = $$resumer13.vars[2];\nanf_arg412 = $$resumer13.vars[3];\nanf_arg404 = $$resumer13.vars[4];\nanf_arg969 = $$resumer13.vars[5];\nanf_arg409 = $$resumer13.vars[6];\nanf_fun411 = $$resumer13.vars[7];\nanf_fun402 = $$resumer13.vars[8];\nanf_fun407 = $$resumer13.vars[9];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans477 = R.mC();\n}\nwhile(!R.isContinuation($ans477)) {\nswitch($step476) {\ncase 0: $ans477 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[174],L[175]);\nvar anf_fun411 = $ans477;\n$ans477 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[176],L[177]);\nvar anf_fun402 = $ans477;\n$step476 = 1;\n$al478 = L[192];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg404 = $ans477;\n$step476 = 2;\n$al478 = L[191];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"function application\"));\nbreak;\ncase 2: var anf_arg969 = $ans477;\n$ans477 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[178],L[179]);\nvar anf_fun400 = $ans477;\n$step476 = 3;\n$al478 = L[179];\nif(typeof(anf_fun400.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun400);\n}\n$ans477 = anf_fun400.app(app$loc350);\nbreak;\ncase 3: var anf_arg401 = $ans477;\n$step476 = 4;\n$al478 = L[190];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans477 = ED5.dict.values.dict[\"highlight\"].app(anf_arg969,anf_arg401,(0));\nbreak;\ncase 4: var anf_arg405 = $ans477;\n$step476 = 5;\n$al478 = L[177];\nif(typeof(anf_fun402.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun402);\n}\n$ans477 = anf_fun402.app(anf_arg404,anf_arg405);\nbreak;\ncase 5: var anf_arg970 = $ans477;\n$step476 = 6;\n$al478 = L[189];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans477 = ED5.dict.values.dict[\"cmcode\"].app(app$loc350);\nbreak;\ncase 6: var anf_arg971 = $ans477;\n$ans477 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[180],L[181]);\nvar anf_fun407 = $ans477;\n$step476 = 7;\n$al478 = L[188];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"failed because the \"));\nbreak;\ncase 7: var anf_arg409 = $ans477;\n$al478 = L[182];\nvar anf_arg61 = G(self338,\"index\",L[182]);\n$step476 = 8;\n$al478 = L[187];\n// omitting isFunction check;\n$ans477 = _plus5.app(anf_arg61,(1));\nbreak;\ncase 8: var anf_arg406 = $ans477;\n$step476 = 9;\n$al478 = L[186];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans477 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg406);\nbreak;\ncase 9: var anf_arg62 = $ans477;\n$step476 = 10;\n$al478 = L[185];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 10: var anf_arg63 = $ans477;\n$step476 = 11;\n$al478 = L[181];\nif(typeof(anf_fun407.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun407);\n}\n$ans477 = anf_fun407.app(anf_arg409,anf_arg62,anf_arg63);\nbreak;\ncase 11: var anf_arg412 = $ans477;\n$al478 = L[183];\nvar anf_method_obj410 = G(self338,\"reason\",L[183]);\n$step476 = 12;\n$ans477 = R.maybeMethodCall5(anf_method_obj410,\"render-fancy-reason\",L[184],loc339,(false),maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 12: var anf_arg413 = $ans477;\n$step476 = 13;\n$al478 = L[175];\nif(typeof(anf_fun411.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun411);\n}\n$ans477 = anf_fun411.app(anf_arg970,anf_arg971,anf_arg412,anf_arg413);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans477;\ndefault: R.ffi.throwSpinnakerError(L[175],$step476);\n}\n}\nif($step476 !== 13) {\n$ans477.stack[R.EXN_STACKHEIGHT++] = R.mAR($al478,$temp_branch475,$step476,[],[anf_arg62,anf_arg970,anf_arg971,anf_arg412,anf_arg404,anf_arg969,anf_arg409,anf_fun411,anf_fun402,anf_fun407],$elidedFrames480);\n}\nreturn $ans477;\n};\n$ans462 = cases351.$app_fields($temp_branch475,[]);\nbreak;\ncase 7: $ans462 = R.throwNoCasesMatched(L[173],cases351);\n$step460 = 17;\nbreak;\ncase 8: $ans462 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[196],L[197]);\nvar anf_fun455 = $ans462;\n$ans462 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[198],L[199]);\nvar anf_fun426 = $ans462;\n$step460 = 9;\n$al463 = L[208];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\"The function application at \"));\nbreak;\ncase 9: var anf_arg442 = $ans462;\n$step460 = 10;\n$al463 = L[207];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"loc\"]);\n}\n$ans462 = ED5.dict.values.dict[\"loc\"].app(app$loc350);\nbreak;\ncase 10: var anf_arg449 = $ans462;\n$step460 = 11;\n$al463 = L[206];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\" failed because the \"));\nbreak;\ncase 11: var anf_arg102 = $ans462;\n$al463 = L[200];\nvar anf_arg103 = G(self338,\"index\",L[200]);\n$step460 = 12;\n$al463 = L[205];\n// omitting isFunction check;\n$ans462 = _plus5.app(anf_arg103,(1));\nbreak;\ncase 12: var anf_arg425 = $ans462;\n$step460 = 13;\n$al463 = L[204];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans462 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg425);\nbreak;\ncase 13: var anf_arg452 = $ans462;\n$step460 = 14;\n$al463 = L[203];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 14: var anf_arg453 = $ans462;\n$step460 = 15;\n$al463 = L[199];\nif(typeof(anf_fun426.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,anf_fun426);\n}\n$ans462 = anf_fun426.app(anf_arg442,anf_arg449,anf_arg102,anf_arg452,anf_arg453);\nbreak;\ncase 15: var anf_arg456 = $ans462;\n$al463 = L[201];\nvar anf_method_obj454 = G(self338,\"reason\",L[201]);\n$step460 = 16;\n$ans462 = R.maybeMethodCall5(anf_method_obj454,\"render-fancy-reason\",L[202],loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 16: var anf_arg457 = $ans462;\n$step460 = 17;\n$al463 = L[197];\nif(typeof(anf_fun455.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,anf_fun455);\n}\n$ans462 = anf_fun455.app(anf_arg456,anf_arg457);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans462;\ndefault: R.ffi.throwSpinnakerError(L[209],$step460);\n}\n}\nif($step460 !== 17) {\n$ans462.stack[R.EXN_STACKHEIGHT++] = R.mAR($al463,$temp_branch459,$step460,[app$loc350],[anf_arg452,anf_arg442,anf_arg102,anf_arg456,anf_arg449,anf_fun455,anf_fun426,cases351],$elidedFrames465);\n}\nreturn $ans462;\n};\n$ans345 = cases349.$app_fields($temp_branch459,[false]);\nbreak;\ncase 4: if(cases349.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[227],false,L[211],cases349.$loc);\n}\n$step336 = 6;\n$al346 = L[227];\nvar $temp_branch566 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__211($$resumer13) {\nvar $step567 = 0;\nvar $elidedFrames572 = 0;\nvar $ans569 = D;\nvar $al570 = L[213];\nif(R.isAR($$resumer13)) {\n$step567 = $$resumer13.step;\n$al570 = $$resumer13.from;\n$ans569 = $$resumer13.ans;\n$elidedFrames572 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg542 = $$resumer13.vars[0];\nanf_arg564 = $$resumer13.vars[1];\nanf_arg543 = $$resumer13.vars[2];\nanf_arg547 = $$resumer13.vars[3];\nanf_arg559 = $$resumer13.vars[4];\nanf_fun563 = $$resumer13.vars[5];\nanf_fun541 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans569 = R.mC();\n}\nwhile(!R.isContinuation($ans569)) {\nswitch($step567) {\ncase 0: $ans569 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[212],L[213]);\nvar anf_fun563 = $ans569;\n$ans569 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[214],L[215]);\nvar anf_fun541 = $ans569;\n$step567 = 1;\n$al570 = L[226];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\"An application of \"));\nbreak;\ncase 1: var anf_arg542 = $ans569;\n$al570 = L[216];\nvar anf_arg487 = G(self338,\"function-name\",L[216]);\n$step567 = 2;\n$al570 = L[225];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app(anf_arg487);\nbreak;\ncase 2: var anf_arg502 = $ans569;\n$step567 = 3;\n$al570 = L[224];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"code\"]);\n}\n$ans569 = ED5.dict.values.dict[\"code\"].app(anf_arg502);\nbreak;\ncase 3: var anf_arg543 = $ans569;\n$step567 = 4;\n$al570 = L[223];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\" failed because the \"));\nbreak;\ncase 4: var anf_arg547 = $ans569;\n$al570 = L[217];\nvar anf_arg539 = G(self338,\"index\",L[217]);\n$step567 = 5;\n$al570 = L[222];\n// omitting isFunction check;\n$ans569 = _plus5.app(anf_arg539,(1));\nbreak;\ncase 5: var anf_arg540 = $ans569;\n$step567 = 6;\n$al570 = L[221];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans569 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg540);\nbreak;\ncase 6: var anf_arg559 = $ans569;\n$step567 = 7;\n$al570 = L[220];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 7: var anf_arg561 = $ans569;\n$step567 = 8;\n$al570 = L[215];\nif(typeof(anf_fun541.app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,anf_fun541);\n}\n$ans569 = anf_fun541.app(anf_arg542,anf_arg543,anf_arg547,anf_arg559,anf_arg561);\nbreak;\ncase 8: var anf_arg564 = $ans569;\n$al570 = L[218];\nvar anf_method_obj562 = G(self338,\"reason\",L[218]);\n$step567 = 9;\n$ans569 = R.maybeMethodCall5(anf_method_obj562,\"render-fancy-reason\",L[219],loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 9: var anf_arg565 = $ans569;\n$step567 = 10;\n$al570 = L[213];\nif(typeof(anf_fun563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,anf_fun563);\n}\n$ans569 = anf_fun563.app(anf_arg564,anf_arg565);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans569;\ndefault: R.ffi.throwSpinnakerError(L[213],$step567);\n}\n}\nif($step567 !== 10) {\n$ans569.stack[R.EXN_STACKHEIGHT++] = R.mAR($al570,$temp_branch566,$step567,[],[anf_arg542,anf_arg564,anf_arg543,anf_arg547,anf_arg559,anf_fun563,anf_fun541],$elidedFrames572);\n}\nreturn $ans569;\n};\n$ans345 = cases349.$app_fields($temp_branch566,[]);\nbreak;\ncase 5: $ans345 = R.throwNoCasesMatched(L[211],cases349);\n$step336 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans345;\ndefault: R.ffi.throwSpinnakerError(L[132],$step336);\n}\n}\nif($step336 !== 6) {\n$ans345.stack[R.EXN_STACKHEIGHT++] = R.mAR($al346,$temp_full337,$step336,[self338,loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343],[cases349],$elidedFrames348);\n}\nreturn $ans345;\n};\nvar anf_variant_member1785 = R.makeMethod5($temp_full337,\"render-fancy-reason\");\nvar $temp_full578 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__230($self579,$loc580,$from$fail$arg581) {\nvar $step577 = 0;\nvar $elidedFrames585 = 0;\nvar $ans582 = D;\nvar $al583 = L[230];\nif(R.isAR($self579)) {\n$step577 = $self579.step;\n$al583 = $self579.from;\n$ans582 = $self579.ans;\n$elidedFrames585 = $self579.elidedFrames;\nself579 = $self579.args[0];\nloc580 = $self579.args[1];\nfrom$fail$arg581 = $self579.args[2];\nanf_arg694 = $self579.vars[0];\nanf_arg712 = $self579.vars[1];\nanf_arg646 = $self579.vars[2];\nanf_arg668 = $self579.vars[3];\nanf_arg647 = $self579.vars[4];\nanf_fun662 = $self579.vars[5];\nanf_fun631 = $self579.vars[6];\nanf_fun653 = $self579.vars[7];\nanf_fun657 = $self579.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[230],3,$t,true);\n}\nvar self579 = $self579;\nvar loc580 = $loc580;\nvar from$fail$arg581 = $from$fail$arg581;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans582 = R.mC();\n}\nwhile(!R.isContinuation($ans582)) {\nswitch($step577) {\ncase 0: $ans582 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[231],L[232]);\nvar anf_fun662 = $ans582;\n$ans582 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[233],L[234]);\nvar anf_fun631 = $ans582;\n$al583 = L[235];\nvar anf_arg625 = G(self579,\"function-name\",L[235]);\n$step577 = 1;\n$al583 = L[253];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app(anf_arg625);\nbreak;\ncase 1: var anf_arg626 = $ans582;\n$step577 = 2;\n$al583 = L[252];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"code\"]);\n}\n$ans582 = ED5.dict.values.dict[\"code\"].app(anf_arg626);\nbreak;\ncase 2: var anf_arg646 = $ans582;\n$al583 = L[236];\nvar anf_arg629 = G(self579,\"index\",L[236]);\n$step577 = 3;\n$al583 = L[251];\n// omitting isFunction check;\n$ans582 = _plus5.app(anf_arg629,(1));\nbreak;\ncase 3: var anf_arg301 = $ans582;\n$step577 = 4;\n$al583 = L[250];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,tostring1);\n}\n$ans582 = tostring1.app(anf_arg301);\nbreak;\ncase 4: var anf_arg630 = $ans582;\n$step577 = 5;\n$al583 = L[249];\n// omitting isFunction check;\n$ans582 = _plus5.app((\" : The argument at position \"),anf_arg630);\nbreak;\ncase 5: var anf_arg304 = $ans582;\n$step577 = 6;\n$al583 = L[248];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app(anf_arg304);\nbreak;\ncase 6: var anf_arg647 = $ans582;\n$step577 = 7;\n$al583 = L[247];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app((\" was invalid because: \"));\nbreak;\ncase 7: var anf_arg650 = $ans582;\n$step577 = 8;\n$al583 = L[234];\nif(typeof(anf_fun631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun631);\n}\n$ans582 = anf_fun631.app(anf_arg646,anf_arg647,anf_arg650);\nbreak;\ncase 8: var anf_arg668 = $ans582;\n$al583 = L[237];\nvar anf_method_obj652 = G(self579,\"reason\",L[237]);\n$step577 = 9;\n$ans582 = R.maybeMethodCall2(anf_method_obj652,\"render-reason\",L[238],loc580,from$fail$arg581);\nbreak;\ncase 9: var anf_arg694 = $ans582;\n$ans582 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[239],L[240]);\nvar anf_fun653 = $ans582;\n$step577 = 10;\n$al583 = L[246];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app((\"The other arguments were:\"));\nbreak;\ncase 10: var anf_arg656 = $ans582;\n$step577 = 11;\n$al583 = L[240];\nif(typeof(anf_fun653.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun653);\n}\n$ans582 = anf_fun653.app(anf_arg656);\nbreak;\ncase 11: var anf_arg712 = $ans582;\n$ans582 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[241],L[242]);\nvar anf_fun657 = $ans582;\n$al583 = L[243];\nvar anf_arg326 = G(self579,\"args\",L[243]);\n$step577 = 12;\n$al583 = L[245];\n// omitting isFunction check;\n$ans582 = map3.app(ED5.dict.values.dict[\"embed\"],anf_arg326);\nbreak;\ncase 12: var anf_arg327 = $ans582;\n$step577 = 13;\n$al583 = L[244];\nif(typeof(ED5.dict.values.dict[\"h-sequence-sep\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"h-sequence-sep\"]);\n}\n$ans582 = ED5.dict.values.dict[\"h-sequence-sep\"].app(anf_arg327,(\" \"),(\" and \"));\nbreak;\ncase 13: var anf_arg661 = $ans582;\n$step577 = 14;\n$al583 = L[242];\nif(typeof(anf_fun657.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun657);\n}\n$ans582 = anf_fun657.app(anf_arg661);\nbreak;\ncase 14: var anf_arg713 = $ans582;\n$step577 = 15;\n$al583 = L[232];\nif(typeof(anf_fun662.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun662);\n}\n$ans582 = anf_fun662.app(anf_arg668,anf_arg694,anf_arg712,anf_arg713);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans582;\ndefault: R.ffi.throwSpinnakerError(L[230],$step577);\n}\n}\nif($step577 !== 15) {\n$ans582.stack[R.EXN_STACKHEIGHT++] = R.mAR($al583,$temp_full578,$step577,[self579,loc580,from$fail$arg581],[anf_arg694,anf_arg712,anf_arg646,anf_arg668,anf_arg647,anf_fun662,anf_fun631,anf_fun653,anf_fun657],$elidedFrames585);\n}\nreturn $ans582;\n};\nvar anf_variant_member1786 = R.makeMethod2($temp_full578,\"render-reason\");\nvar $temp_full717 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__254($self718,$loc719,$from$fail$arg720,$maybe$stack$loc721,$src$available722,$maybe$ast723) {\nvar $step716 = 0;\nvar $elidedFrames727 = 0;\nvar $ans724 = D;\nvar $al725 = L[254];\nif(R.isAR($self718)) {\n$step716 = $self718.step;\n$al725 = $self718.from;\n$ans724 = $self718.ans;\n$elidedFrames727 = $self718.elidedFrames;\nself718 = $self718.args[0];\nloc719 = $self718.args[1];\nfrom$fail$arg720 = $self718.args[2];\nmaybe$stack$loc721 = $self718.args[3];\nsrc$available722 = $self718.args[4];\nmaybe$ast723 = $self718.args[5];\nanf_fun733 = $self718.vars[0];\nanf_fun729 = $self718.vars[1];\nanf_arg332 = $self718.vars[2];\nanf_arg333 = $self718.vars[3];\nanf_arg335 = $self718.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[254],6,$t,true);\n}\nvar self718 = $self718;\nvar loc719 = $loc719;\nvar from$fail$arg720 = $from$fail$arg720;\nvar maybe$stack$loc721 = $maybe$stack$loc721;\nvar src$available722 = $src$available722;\nvar maybe$ast723 = $maybe$ast723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans724 = R.mC();\n}\nwhile(!R.isContinuation($ans724)) {\nswitch($step716) {\ncase 0: $ans724 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[255],L[256]);\nvar anf_fun733 = $ans724;\n$ans724 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[257],L[258]);\nvar anf_fun729 = $ans724;\n$step716 = 1;\n$al725 = L[263];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"text\"]);\n}\n$ans724 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference:\"));\nbreak;\ncase 1: var anf_arg332 = $ans724;\n$step716 = 2;\n$al725 = L[262];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans724 = ED5.dict.values.dict[\"cmcode\"].app(loc719);\nbreak;\ncase 2: var anf_arg333 = $ans724;\n$step716 = 3;\n$al725 = L[261];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"text\"]);\n}\n$ans724 = ED5.dict.values.dict[\"text\"].app((\"because:\"));\nbreak;\ncase 3: var anf_arg335 = $ans724;\n$al725 = L[259];\nvar anf_method_obj728 = G(self718,\"reason\",L[259]);\n$step716 = 4;\n$ans724 = R.maybeMethodCall2(anf_method_obj728,\"render-reason\",L[260],loc719,(false));\nbreak;\ncase 4: var anf_arg732 = $ans724;\n$step716 = 5;\n$al725 = L[258];\nif(typeof(anf_fun729.app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,anf_fun729);\n}\n$ans724 = anf_fun729.app(anf_arg332,anf_arg333,anf_arg335,anf_arg732);\nbreak;\ncase 5: var anf_arg341 = $ans724;\n$step716 = 6;\n$al725 = L[256];\nif(typeof(anf_fun733.app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,anf_fun733);\n}\n$ans724 = anf_fun733.app(anf_arg341);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans724;\ndefault: R.ffi.throwSpinnakerError(L[254],$step716);\n}\n}\nif($step716 !== 6) {\n$ans724.stack[R.EXN_STACKHEIGHT++] = R.mAR($al725,$temp_full717,$step716,[self718,loc719,from$fail$arg720,maybe$stack$loc721,src$available722,maybe$ast723],[anf_fun733,anf_fun729,anf_arg332,anf_arg333,anf_arg335],$elidedFrames727);\n}\nreturn $ans724;\n};\nvar anf_variant_member1798 = R.makeMethod5($temp_full717,\"render-fancy-reason\");\nvar $temp_full736 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__264($self345,$loc737,$from$fail$arg738) {\nvar $step735 = 0;\nvar $elidedFrames744 = 0;\nvar $ans741 = D;\nvar $al742 = L[264];\nif(R.isAR($self345)) {\n$step735 = $self345.step;\n$al742 = $self345.from;\n$ans741 = $self345.ans;\n$elidedFrames744 = $self345.elidedFrames;\nself345 = $self345.args[0];\nloc737 = $self345.args[1];\nfrom$fail$arg738 = $self345.args[2];\nanf_arg363 = $self345.vars[0];\nanf_arg366 = $self345.vars[1];\nanf_fun369 = $self345.vars[2];\nanf_fun768 = $self345.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[264],3,$t,true);\n}\nvar self345 = $self345;\nvar loc737 = $loc737;\nvar from$fail$arg738 = $from$fail$arg738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans741 = R.mC();\n}\nwhile(!R.isContinuation($ans741)) {\nswitch($step735) {\ncase 0: var $temp_lam746 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__265($user$loc747) {\nvar $step745 = 0;\nvar $elidedFrames751 = 0;\nvar $ans748 = D;\nvar $al749 = L[265];\nif(R.isAR($user$loc747)) {\n$step745 = $user$loc747.step;\n$al749 = $user$loc747.from;\n$ans748 = $user$loc747.ans;\n$elidedFrames751 = $user$loc747.elidedFrames;\nuser$loc747 = $user$loc747.args[0];\nanf_fun764 = $user$loc747.vars[0];\nanf_fun752 = $user$loc747.vars[1];\nanf_arg345 = $user$loc747.vars[2];\nanf_arg756 = $user$loc747.vars[3];\nanf_arg357 = $user$loc747.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[265],1,$t,false);\n}\nvar user$loc747 = $user$loc747;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans748 = R.mC();\n}\nwhile(!R.isContinuation($ans748)) {\nswitch($step745) {\ncase 0: $ans748 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[266],L[267]);\nvar anf_fun764 = $ans748;\n$ans748 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[268],L[269]);\nvar anf_fun752 = $ans748;\n$step745 = 1;\n$al749 = L[273];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,ED5.dict.values.dict[\"text\"]);\n}\n$ans748 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference at\"));\nbreak;\ncase 1: var anf_arg345 = $ans748;\n// caller optimization;\n$ans748 = draw$and$highlight44.$var.app(user$loc747);\nvar anf_arg756 = $ans748;\n$step745 = 2;\n$al749 = L[272];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,ED5.dict.values.dict[\"text\"]);\n}\n$ans748 = ED5.dict.values.dict[\"text\"].app((\"because:\"));\nbreak;\ncase 2: var anf_arg762 = $ans748;\n$step745 = 3;\n$al749 = L[269];\nif(typeof(anf_fun752.app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,anf_fun752);\n}\n$ans748 = anf_fun752.app(anf_arg345,anf_arg756,anf_arg762);\nbreak;\ncase 3: var anf_arg357 = $ans748;\n$al749 = L[270];\nvar anf_method_obj763 = G(self345,\"reason\",L[270]);\n$step745 = 4;\n$ans748 = R.maybeMethodCall2(anf_method_obj763,\"render-reason\",L[271],loc737,(false));\nbreak;\ncase 4: var anf_arg765 = $ans748;\n$step745 = 5;\n$al749 = L[267];\nif(typeof(anf_fun764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,anf_fun764);\n}\n$ans748 = anf_fun764.app(anf_arg357,anf_arg765);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans748;\ndefault: R.ffi.throwSpinnakerError(L[265],$step745);\n}\n}\nif($step745 !== 5) {\n$ans748.stack[R.EXN_STACKHEIGHT++] = R.mAR($al749,$temp_lam746,$step745,[user$loc747],[anf_fun764,anf_fun752,anf_arg345,anf_arg756,anf_arg357],$elidedFrames751);\n}\nreturn $ans748;\n};\nvar anf_arg363 = R.mF($temp_lam746,\"\");\n$ans741 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[274],L[275]);\nvar anf_fun768 = $ans741;\n$ans741 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[276],L[277]);\nvar anf_fun369 = $ans741;\n$step735 = 1;\n$al742 = L[281];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,ED5.dict.values.dict[\"text\"]);\n}\n$ans741 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference because:\"));\nbreak;\ncase 1: var anf_arg767 = $ans741;\n$step735 = 2;\n$al742 = L[277];\nif(typeof(anf_fun369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,anf_fun369);\n}\n$ans741 = anf_fun369.app(anf_arg767);\nbreak;\ncase 2: var anf_arg366 = $ans741;\n$al742 = L[278];\nvar anf_method_obj364 = G(self345,\"reason\",L[278]);\n$step735 = 3;\n$ans741 = R.maybeMethodCall2(anf_method_obj364,\"render-reason\",L[279],loc737,(false));\nbreak;\ncase 3: var anf_arg367 = $ans741;\n$step735 = 4;\n$al742 = L[275];\nif(typeof(anf_fun768.app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,anf_fun768);\n}\n$ans741 = anf_fun768.app(anf_arg366,anf_arg367);\nbreak;\ncase 4: var anf_arg368 = $ans741;\n$step735 = 5;\n$al742 = L[280];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans741 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg363,anf_arg368);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans741;\ndefault: R.ffi.throwSpinnakerError(L[264],$step735);\n}\n}\nif($step735 !== 5) {\n$ans741.stack[R.EXN_STACKHEIGHT++] = R.mAR($al742,$temp_full736,$step735,[self345,loc737,from$fail$arg738],[anf_arg363,anf_arg366,anf_fun369,anf_fun768],$elidedFrames744);\n}\nreturn $ans741;\n};\nvar anf_variant_member1799 = R.makeMethod2($temp_full736,\"render-reason\");\nvar $temp_full771 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__282($self772,$loc773,$from$fail$arg774,$maybe$stack$loc775,$src$available776,$maybe$ast777) {\nvar $step770 = 0;\nvar $elidedFrames781 = 0;\nvar $ans778 = D;\nvar $al779 = L[282];\nif(R.isAR($self772)) {\n$step770 = $self772.step;\n$al779 = $self772.from;\n$ans778 = $self772.ans;\n$elidedFrames781 = $self772.elidedFrames;\nself772 = $self772.args[0];\nloc773 = $self772.args[1];\nfrom$fail$arg774 = $self772.args[2];\nmaybe$stack$loc775 = $self772.args[3];\nsrc$available776 = $self772.args[4];\nmaybe$ast777 = $self772.args[5];\nanf_fun828 = $self772.vars[0];\nanf_arg381 = $self772.vars[1];\ncases804 = $self772.vars[2];\nanf_arg377 = $self772.vars[3];\nanf_arg842 = $self772.vars[4];\nanf_arg798 = $self772.vars[5];\nanf_arg887 = $self772.vars[6];\nanf_arg845 = $self772.vars[7];\nanf_arg868 = $self772.vars[8];\nanf_fun782 = $self772.vars[9];\nanf_arg802 = $self772.vars[10];\nanf_arg869 = $self772.vars[11];\nanf_arg528 = $self772.vars[12];\nanf_arg839 = $self772.vars[13];\nanf_fun379 = $self772.vars[14];\nanf_fun841 = $self772.vars[15];\nanf_arg829 = $self772.vars[16];\nanf_fun844 = $self772.vars[17];\nanf_fun855 = $self772.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[282],6,$t,true);\n}\nvar self772 = $self772;\nvar loc773 = $loc773;\nvar from$fail$arg774 = $from$fail$arg774;\nvar maybe$stack$loc775 = $maybe$stack$loc775;\nvar src$available776 = $src$available776;\nvar maybe$ast777 = $maybe$ast777;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans778 = R.mC();\n}\nwhile(!R.isContinuation($ans778)) {\nswitch($step770) {\ncase 0: $ans778 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[283],L[284]);\nvar anf_fun379 = $ans778;\n$step770 = 1;\n$ans778 = R.maybeMethodCall0(loc773,\"is-builtin\",L[285]);\nbreak;\ncase 1: var anf_if921 = $ans778;\n$step770 = R.checkPyretTrue(anf_if921)?2:8;\nbreak;\ncase 2: $ans778 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[311],L[312]);\nvar anf_fun828 = $ans778;\n$step770 = 3;\n$al779 = L[318];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"An annotation, \"));\nbreak;\ncase 3: var anf_arg377 = $ans778;\n$al779 = L[313];\nvar anf_arg827 = G(self772,\"name\",L[313]);\n$step770 = 4;\n$al779 = L[317];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg827);\nbreak;\ncase 4: var anf_arg378 = $ans778;\n$step770 = 5;\n$al779 = L[316];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"code\"]);\n}\n$ans778 = ED5.dict.values.dict[\"code\"].app(anf_arg378);\nbreak;\ncase 5: var anf_arg381 = $ans778;\n$step770 = 6;\n$al779 = L[315];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg829 = $ans778;\n$step770 = 7;\n$al779 = L[314];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"loc\"]);\n}\n$ans778 = ED5.dict.values.dict[\"loc\"].app(loc773);\nbreak;\ncase 7: var anf_arg830 = $ans778;\n$step770 = 24;\n$al779 = L[312];\nif(typeof(anf_fun828.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun828);\n}\n$ans778 = anf_fun828.app(anf_arg377,anf_arg381,anf_arg829,anf_arg830);\nbreak;\ncase 8: $step770 = 9;\n$al779 = L[339];\nif(typeof(src$available776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,src$available776);\n}\n$ans778 = src$available776.app(loc773);\nbreak;\ncase 9: var anf_if920 = $ans778;\n$step770 = R.checkPyretTrue(anf_if920)?10:18;\nbreak;\ncase 10: $ans778 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[319],L[320]);\nvar anf_fun844 = $ans778;\n$ans778 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[321],L[322]);\nvar anf_fun841 = $ans778;\n$step770 = 11;\n$al779 = L[330];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: var anf_arg842 = $ans778;\n$al779 = L[323];\nvar anf_arg831 = G(self772,\"name\",L[323]);\n$step770 = 12;\n$al779 = L[329];\n// omitting isFunction check;\n$ans778 = _plus5.app(anf_arg831,(\" annotation\"));\nbreak;\ncase 12: var anf_arg832 = $ans778;\n$step770 = 13;\n$al779 = L[328];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg832);\nbreak;\ncase 13: var anf_arg839 = $ans778;\n$ans778 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[324],L[325]);\nvar anf_fun833 = $ans778;\n$step770 = 14;\n$al779 = L[325];\nif(typeof(anf_fun833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun833);\n}\n$ans778 = anf_fun833.app(loc773);\nbreak;\ncase 14: var anf_arg840 = $ans778;\n$step770 = 15;\n$al779 = L[327];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans778 = ED5.dict.values.dict[\"highlight\"].app(anf_arg839,anf_arg840,(0));\nbreak;\ncase 15: var anf_arg843 = $ans778;\n$step770 = 16;\n$al779 = L[322];\nif(typeof(anf_fun841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun841);\n}\n$ans778 = anf_fun841.app(anf_arg842,anf_arg843);\nbreak;\ncase 16: var anf_arg845 = $ans778;\n$step770 = 17;\n$al779 = L[326];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans778 = ED5.dict.values.dict[\"cmcode\"].app(loc773);\nbreak;\ncase 17: var anf_arg846 = $ans778;\n$step770 = 24;\n$al779 = L[320];\nif(typeof(anf_fun844.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun844);\n}\n$ans778 = anf_fun844.app(anf_arg845,anf_arg846);\nbreak;\ncase 18: $ans778 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[331],L[332]);\nvar anf_fun855 = $ans778;\n$step770 = 19;\n$al779 = L[338];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"The annotation, \"));\nbreak;\ncase 19: var anf_arg868 = $ans778;\n$al779 = L[333];\nvar anf_arg847 = G(self772,\"name\",L[333]);\n$step770 = 20;\n$al779 = L[337];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg847);\nbreak;\ncase 20: var anf_arg854 = $ans778;\n$step770 = 21;\n$al779 = L[336];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"code\"]);\n}\n$ans778 = ED5.dict.values.dict[\"code\"].app(anf_arg854);\nbreak;\ncase 21: var anf_arg869 = $ans778;\n$step770 = 22;\n$al779 = L[335];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\", at \"));\nbreak;\ncase 22: var anf_arg887 = $ans778;\n$step770 = 23;\n$al779 = L[334];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"loc\"]);\n}\n$ans778 = ED5.dict.values.dict[\"loc\"].app(loc773);\nbreak;\ncase 23: var anf_arg919 = $ans778;\n$step770 = 24;\n$al779 = L[332];\nif(typeof(anf_fun855.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun855);\n}\n$ans778 = anf_fun855.app(anf_arg868,anf_arg869,anf_arg887,anf_arg919);\nbreak;\ncase 24: var anf_arg528 = $ans778;\n$ans778 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[286],L[287]);\nvar anf_fun782 = $ans778;\n$step770 = 25;\n$al779 = L[310];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 25: var anf_arg537 = $ans778;\n$step770 = 26;\n$al779 = L[287];\nif(typeof(anf_fun782.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun782);\n}\n$ans778 = anf_fun782.app(anf_arg537);\nbreak;\ncase 26: var anf_arg798 = $ans778;\n$al779 = L[288];\nvar anf_arg797 = G(self772,\"val\",L[288]);\n$step770 = 27;\n$al779 = L[309];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"embed\"]);\n}\n$ans778 = ED5.dict.values.dict[\"embed\"].app(anf_arg797);\nbreak;\ncase 27: var anf_arg802 = $ans778;\n$step770 = R.checkPyretTrue(from$fail$arg774)?28:34;\nbreak;\ncase 28: $step770 = 29;\n$al779 = L[306];\nif(typeof(maybe$stack$loc775.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,maybe$stack$loc775);\n}\n$ans778 = maybe$stack$loc775.app((1),(true));\nbreak;\ncase 29: var cases804 = $ans778;\n$step770 = 30;\n$al779 = L[305];\nvar $ann$check825 = R._cA(L[305],Option4,cases804);\nif(R.isContinuation($ann$check825)) {\n$ans778 = $ann$check825;\n}\nbreak;\ncase 30: $al779 = L[301];\n$step770 = $cases_dispatch824[cases804.$name] || 33;\nbreak;\ncase 31: if(cases804.$arity !== 1) {\nif(cases804.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[300],1,cases804.$arity,L[301],cases804.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[300],true,L[301],cases804.$loc);\n}\n}\n$step770 = 35;\n$al779 = L[300];\nvar $temp_branch815 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__301($sender805) {\nvar $step816 = 0;\nvar $elidedFrames821 = 0;\nvar $ans818 = D;\nvar $al819 = L[299];\nif(R.isAR($sender805)) {\n$step816 = $sender805.step;\n$al819 = $sender805.from;\n$ans818 = $sender805.ans;\n$elidedFrames821 = $sender805.elidedFrames;\nsender805 = $sender805.args[0];\nanf_fun806 = $sender805.vars[0];\nanf_fun808 = $sender805.vars[1];\nanf_arg594 = $sender805.vars[2];\nanf_arg809 = $sender805.vars[3];\nanf_fun813 = $sender805.vars[4];\n} else {\nvar sender805 = $sender805;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans818 = R.mC();\n}\nwhile(!R.isContinuation($ans818)) {\nswitch($step816) {\ncase 0: $step816 = 1;\n$al819 = L[299];\nif(typeof(src$available776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,src$available776);\n}\n$ans818 = src$available776.app(sender805);\nbreak;\ncase 1: var anf_if814 = $ans818;\n$step816 = R.checkPyretTrue(anf_if814)?2:6;\nbreak;\ncase 2: $ans818 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[289],L[290]);\nvar anf_fun808 = $ans818;\n$ans818 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[291],L[292]);\nvar anf_fun806 = $ans818;\n$step816 = 3;\n$al819 = L[294];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"text\"]);\n}\n$ans818 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg807 = $ans818;\n$step816 = 4;\n$al819 = L[292];\nif(typeof(anf_fun806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun806);\n}\n$ans818 = anf_fun806.app(anf_arg807);\nbreak;\ncase 4: var anf_arg809 = $ans818;\n$step816 = 5;\n$al819 = L[293];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans818 = ED5.dict.values.dict[\"cmcode\"].app(sender805);\nbreak;\ncase 5: var anf_arg812 = $ans818;\n$step816 = 9;\n$al819 = L[290];\nif(typeof(anf_fun808.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun808);\n}\n$ans818 = anf_fun808.app(anf_arg809,anf_arg812);\nbreak;\ncase 6: $ans818 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[295],L[296]);\nvar anf_fun813 = $ans818;\n$step816 = 7;\n$al819 = L[298];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"text\"]);\n}\n$ans818 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg594 = $ans818;\n$step816 = 8;\n$al819 = L[297];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"loc\"]);\n}\n$ans818 = ED5.dict.values.dict[\"loc\"].app(sender805);\nbreak;\ncase 8: var anf_arg621 = $ans818;\n$step816 = 9;\n$al819 = L[296];\nif(typeof(anf_fun813.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun813);\n}\n$ans818 = anf_fun813.app(anf_arg594,anf_arg621);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans818;\ndefault: R.ffi.throwSpinnakerError(L[299],$step816);\n}\n}\nif($step816 !== 9) {\n$ans818.stack[R.EXN_STACKHEIGHT++] = R.mAR($al819,$temp_branch815,$step816,[sender805],[anf_fun806,anf_fun808,anf_arg594,anf_arg809,anf_fun813],$elidedFrames821);\n}\nreturn $ans818;\n};\n$ans778 = cases804.$app_fields($temp_branch815,[false]);\nbreak;\ncase 32: if(cases804.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[304],false,L[301],cases804.$loc);\n}\n$ans778 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[302],L[303]);\nvar anf_fun823 = $ans778;\n$step770 = 35;\n$al779 = L[303];\nif(typeof(anf_fun823.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun823);\n}\n$ans778 = anf_fun823.app();\nbreak;\ncase 33: $ans778 = R.throwNoCasesMatched(L[301],cases804);\n$step770 = 35;\nbreak;\ncase 34: $ans778 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[307],L[308]);\nvar anf_fun826 = $ans778;\n$step770 = 35;\n$al779 = L[308];\nif(typeof(anf_fun826.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun826);\n}\n$ans778 = anf_fun826.app();\nbreak;\ncase 35: var anf_arg803 = $ans778;\n$step770 = 36;\n$al779 = L[284];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun379);\n}\n$ans778 = anf_fun379.app(anf_arg528,anf_arg798,anf_arg802,anf_arg803);\nbreak;\ncase 36: ++R.GAS;\nreturn $ans778;\ndefault: R.ffi.throwSpinnakerError(L[282],$step770);\n}\n}\nif($step770 !== 36) {\n$ans778.stack[R.EXN_STACKHEIGHT++] = R.mAR($al779,$temp_full771,$step770,[self772,loc773,from$fail$arg774,maybe$stack$loc775,src$available776,maybe$ast777],[anf_fun828,anf_arg381,cases804,anf_arg377,anf_arg842,anf_arg798,anf_arg887,anf_arg845,anf_arg868,anf_fun782,anf_arg802,anf_arg869,anf_arg528,anf_arg839,anf_fun379,anf_fun841,anf_arg829,anf_fun844,anf_fun855],$elidedFrames781);\n}\nreturn $ans778;\n};\nvar anf_variant_member1808 = R.makeMethod5($temp_full771,\"render-fancy-reason\");\nvar $temp_full924 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__340($self692,$loc925,$from$fail$arg926) {\nvar $step923 = 0;\nvar $elidedFrames930 = 0;\nvar $ans927 = D;\nvar $al928 = L[340];\nif(R.isAR($self692)) {\n$step923 = $self692.step;\n$al928 = $self692.from;\n$ans927 = $self692.ans;\n$elidedFrames930 = $self692.elidedFrames;\nself692 = $self692.args[0];\nloc925 = $self692.args[1];\nfrom$fail$arg926 = $self692.args[2];\nanf_fun936 = $self692.vars[0];\nmessage962 = $self692.vars[1];\nanf_arg641 = $self692.vars[2];\nanf_arg652 = $self692.vars[3];\nanf_arg951 = $self692.vars[4];\nanf_arg985 = $self692.vars[5];\nanf_arg655 = $self692.vars[6];\nanf_fun986 = $self692.vars[7];\nanf_fun966 = $self692.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[340],3,$t,true);\n}\nvar self692 = $self692;\nvar loc925 = $loc925;\nvar from$fail$arg926 = $from$fail$arg926;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans927 = R.mC();\n}\nwhile(!R.isContinuation($ans927)) {\nswitch($step923) {\ncase 0: $ans927 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[341],L[342]);\nvar anf_fun936 = $ans927;\n$step923 = 1;\n$al928 = L[365];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 1: var anf_arg641 = $ans927;\n$al928 = L[343];\nvar anf_arg931 = G(self692,\"name\",L[343]);\n$step923 = 2;\n$al928 = L[364];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app(anf_arg931);\nbreak;\ncase 2: var anf_arg935 = $ans927;\n$step923 = 3;\n$al928 = L[363];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"code\"]);\n}\n$ans927 = ED5.dict.values.dict[\"code\"].app(anf_arg935);\nbreak;\ncase 3: var anf_arg951 = $ans927;\n$step923 = 4;\n$al928 = L[362];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 4: var anf_arg652 = $ans927;\n// caller optimization;\n$ans927 = draw$and$highlight44.$var.app(loc925);\nvar anf_arg655 = $ans927;\n$step923 = 5;\n$al928 = L[361];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 5: var anf_arg657 = $ans927;\n$step923 = 6;\n$al928 = L[342];\nif(typeof(anf_fun936.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun936);\n}\n$ans927 = anf_fun936.app(anf_arg641,anf_arg951,anf_arg652,anf_arg655,anf_arg657);\nbreak;\ncase 6: var message962 = $ans927;\n$step923 = R.checkPyretTrue(from$fail$arg926)?7:10;\nbreak;\ncase 7: var $temp_lam953 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__344($l954) {\nvar $step952 = 0;\nvar $elidedFrames958 = 0;\nvar $ans955 = D;\nvar $al956 = L[344];\nif(R.isAR($l954)) {\n$step952 = $l954.step;\n$al956 = $l954.from;\n$ans955 = $l954.ans;\n$elidedFrames958 = $l954.elidedFrames;\nl954 = $l954.args[0];\nanf_fun961 = $l954.vars[0];\nanf_arg963 = $l954.vars[1];\nanf_fun960 = $l954.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[344],1,$t,false);\n}\nvar l954 = $l954;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans955 = R.mC();\n}\nwhile(!R.isContinuation($ans955)) {\nswitch($step952) {\ncase 0: $ans955 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[345],L[346]);\nvar anf_fun961 = $ans955;\n$al956 = L[347];\nvar anf_arg959 = G(self692,\"val\",L[347]);\n$step952 = 1;\n$al956 = L[351];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,ED5.dict.values.dict[\"embed\"]);\n}\n$ans955 = ED5.dict.values.dict[\"embed\"].app(anf_arg959);\nbreak;\ncase 1: var anf_arg963 = $ans955;\n$ans955 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[348],L[349]);\nvar anf_fun960 = $ans955;\n$step952 = 2;\n$al956 = L[350];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,ED5.dict.values.dict[\"text\"]);\n}\n$ans955 = ED5.dict.values.dict[\"text\"].app((\"called from around \"));\nbreak;\ncase 2: var anf_arg679 = $ans955;\n// caller optimization;\n$ans955 = draw$and$highlight44.$var.app(l954);\nvar anf_arg688 = $ans955;\n$step952 = 3;\n$al956 = L[349];\nif(typeof(anf_fun960.app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,anf_fun960);\n}\n$ans955 = anf_fun960.app(anf_arg679,anf_arg688);\nbreak;\ncase 3: var anf_arg964 = $ans955;\n$step952 = 4;\n$al956 = L[346];\nif(typeof(anf_fun961.app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,anf_fun961);\n}\n$ans955 = anf_fun961.app(message962,anf_arg963,anf_arg964);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans955;\ndefault: R.ffi.throwSpinnakerError(L[344],$step952);\n}\n}\nif($step952 !== 4) {\n$ans955.stack[R.EXN_STACKHEIGHT++] = R.mAR($al956,$temp_lam953,$step952,[l954],[anf_fun961,anf_arg963,anf_fun960],$elidedFrames958);\n}\nreturn $ans955;\n};\nvar anf_arg985 = R.mF($temp_lam953,\"\");\n$ans927 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[352],L[353]);\nvar anf_fun966 = $ans927;\n$al928 = L[354];\nvar anf_arg706 = G(self692,\"val\",L[354]);\n$step923 = 8;\n$al928 = L[356];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"embed\"]);\n}\n$ans927 = ED5.dict.values.dict[\"embed\"].app(anf_arg706);\nbreak;\ncase 8: var anf_arg967 = $ans927;\n$step923 = 9;\n$al928 = L[353];\nif(typeof(anf_fun966.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun966);\n}\n$ans927 = anf_fun966.app(message962,anf_arg967);\nbreak;\ncase 9: var anf_arg711 = $ans927;\n$step923 = 12;\n$al928 = L[355];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans927 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg985,anf_arg711);\nbreak;\ncase 10: $ans927 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[357],L[358]);\nvar anf_fun986 = $ans927;\n$al928 = L[359];\nvar anf_arg723 = G(self692,\"val\",L[359]);\n$step923 = 11;\n$al928 = L[360];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"embed\"]);\n}\n$ans927 = ED5.dict.values.dict[\"embed\"].app(anf_arg723);\nbreak;\ncase 11: var anf_arg993 = $ans927;\n$step923 = 12;\n$al928 = L[358];\nif(typeof(anf_fun986.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun986);\n}\n$ans927 = anf_fun986.app(message962,anf_arg993);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans927;\ndefault: R.ffi.throwSpinnakerError(L[340],$step923);\n}\n}\nif($step923 !== 12) {\n$ans927.stack[R.EXN_STACKHEIGHT++] = R.mAR($al928,$temp_full924,$step923,[self692,loc925,from$fail$arg926],[anf_fun936,message962,anf_arg641,anf_arg652,anf_arg951,anf_arg985,anf_arg655,anf_fun986,anf_fun966],$elidedFrames930);\n}\nreturn $ans927;\n};\nvar anf_variant_member1809 = R.makeMethod2($temp_full924,\"render-reason\");\nvar $temp_full996 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__366($self453,$loc5685,$from$fail$arg997,$maybe$stack$loc998,$src$available999,$maybe$ast1000) {\nvar $step995 = 0;\nvar $elidedFrames1004 = 0;\nvar $ans1001 = D;\nvar $al1002 = L[366];\nif(R.isAR($self453)) {\n$step995 = $self453.step;\n$al1002 = $self453.from;\n$ans1001 = $self453.ans;\n$elidedFrames1004 = $self453.elidedFrames;\nself453 = $self453.args[0];\nloc5685 = $self453.args[1];\nfrom$fail$arg997 = $self453.args[2];\nmaybe$stack$loc998 = $self453.args[3];\nsrc$available999 = $self453.args[4];\nmaybe$ast1000 = $self453.args[5];\nanf_arg1095 = $self453.vars[0];\nanf_fun1104 = $self453.vars[1];\nanf_fun1006 = $self453.vars[2];\nanf_arg1086 = $self453.vars[3];\nanf_arg1088 = $self453.vars[4];\nanf_arg1099 = $self453.vars[5];\nanf_arg1089 = $self453.vars[6];\nanf_arg1100 = $self453.vars[7];\nanf_arg1101 = $self453.vars[8];\nanf_arg1015 = $self453.vars[9];\nanf_arg1016 = $self453.vars[10];\nanf_arg1105 = $self453.vars[11];\nanf_arg1106 = $self453.vars[12];\nanf_arg861 = $self453.vars[13];\nanf_fun1060 = $self453.vars[14];\ncases1017 = $self453.vars[15];\nanf_arg905 = $self453.vars[16];\nanf_fun86 = $self453.vars[17];\nanf_fun1098 = $self453.vars[18];\nanf_arg918 = $self453.vars[19];\nanf_fun1102 = $self453.vars[20];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[366],6,$t,true);\n}\nvar self453 = $self453;\nvar loc5685 = $loc5685;\nvar from$fail$arg997 = $from$fail$arg997;\nvar maybe$stack$loc998 = $maybe$stack$loc998;\nvar src$available999 = $src$available999;\nvar maybe$ast1000 = $maybe$ast1000;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1001 = R.mC();\n}\nwhile(!R.isContinuation($ans1001)) {\nswitch($step995) {\ncase 0: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[367],L[368]);\nvar anf_fun1006 = $ans1001;\n$step995 = 1;\n$ans1001 = R.maybeMethodCall0(loc5685,\"is-builtin\",L[369]);\nbreak;\ncase 1: var anf_if1108 = $ans1001;\n$step995 = R.checkPyretTrue(anf_if1108)?2:8;\nbreak;\ncase 2: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[395],L[396]);\nvar anf_fun1060 = $ans1001;\n$step995 = 3;\n$al1002 = L[402];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"A predicate, \"));\nbreak;\ncase 3: var anf_arg1086 = $ans1001;\n$al1002 = L[397];\nvar anf_arg739 = G(self453,\"name\",L[397]);\n$step995 = 4;\n$al1002 = L[401];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg739);\nbreak;\ncase 4: var anf_arg1058 = $ans1001;\n$step995 = 5;\n$al1002 = L[400];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg1058);\nbreak;\ncase 5: var anf_arg1088 = $ans1001;\n$step995 = 6;\n$al1002 = L[399];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg1089 = $ans1001;\n$step995 = 7;\n$al1002 = L[398];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"loc\"].app(loc5685);\nbreak;\ncase 7: var anf_arg1090 = $ans1001;\n$step995 = 26;\n$al1002 = L[396];\nif(typeof(anf_fun1060.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1060);\n}\n$ans1001 = anf_fun1060.app(anf_arg1086,anf_arg1088,anf_arg1089,anf_arg1090);\nbreak;\ncase 8: $step995 = 9;\n$al1002 = L[425];\nif(typeof(src$available999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,src$available999);\n}\n$ans1001 = src$available999.app(loc5685);\nbreak;\ncase 9: var anf_if1107 = $ans1001;\n$step995 = R.checkPyretTrue(anf_if1107)?10:20;\nbreak;\ncase 10: $ans1001 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[403],L[404]);\nvar anf_fun1102 = $ans1001;\n$ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[405],L[406]);\nvar anf_fun1098 = $ans1001;\n$step995 = 11;\n$al1002 = L[416];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"The predicate \"));\nbreak;\ncase 11: var anf_arg1099 = $ans1001;\n$al1002 = L[407];\nvar anf_arg1091 = G(self453,\"name\",L[407]);\n$step995 = 12;\n$al1002 = L[415];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg1091);\nbreak;\ncase 12: var anf_arg1093 = $ans1001;\n$step995 = 13;\n$al1002 = L[414];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg1093);\nbreak;\ncase 13: var anf_arg1100 = $ans1001;\n$step995 = 14;\n$al1002 = L[413];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\" in the \"));\nbreak;\ncase 14: var anf_arg1101 = $ans1001;\n$step995 = 15;\n$al1002 = L[412];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"annotation\"));\nbreak;\ncase 15: var anf_arg1095 = $ans1001;\n$ans1001 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[408],L[409]);\nvar anf_fun1094 = $ans1001;\n$step995 = 16;\n$al1002 = L[409];\nif(typeof(anf_fun1094.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1094);\n}\n$ans1001 = anf_fun1094.app(loc5685);\nbreak;\ncase 16: var anf_arg1097 = $ans1001;\n$step995 = 17;\n$al1002 = L[411];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1095,anf_arg1097,(0));\nbreak;\ncase 17: var anf_arg858 = $ans1001;\n$step995 = 18;\n$al1002 = L[406];\nif(typeof(anf_fun1098.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1098);\n}\n$ans1001 = anf_fun1098.app(anf_arg1099,anf_arg1100,anf_arg1101,anf_arg858);\nbreak;\ncase 18: var anf_arg861 = $ans1001;\n$step995 = 19;\n$al1002 = L[410];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"cmcode\"].app(loc5685);\nbreak;\ncase 19: var anf_arg867 = $ans1001;\n$step995 = 26;\n$al1002 = L[404];\nif(typeof(anf_fun1102.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1102);\n}\n$ans1001 = anf_fun1102.app(anf_arg861,anf_arg867);\nbreak;\ncase 20: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[417],L[418]);\nvar anf_fun1104 = $ans1001;\n$step995 = 21;\n$al1002 = L[424];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"The predicate, \"));\nbreak;\ncase 21: var anf_arg1105 = $ans1001;\n$al1002 = L[419];\nvar anf_arg1103 = G(self453,\"name\",L[419]);\n$step995 = 22;\n$al1002 = L[423];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg1103);\nbreak;\ncase 22: var anf_arg902 = $ans1001;\n$step995 = 23;\n$al1002 = L[422];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg902);\nbreak;\ncase 23: var anf_arg1106 = $ans1001;\n$step995 = 24;\n$al1002 = L[421];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\", at \"));\nbreak;\ncase 24: var anf_arg905 = $ans1001;\n$step995 = 25;\n$al1002 = L[420];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"loc\"].app(loc5685);\nbreak;\ncase 25: var anf_arg889 = $ans1001;\n$step995 = 26;\n$al1002 = L[418];\nif(typeof(anf_fun1104.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1104);\n}\n$ans1001 = anf_fun1104.app(anf_arg1105,anf_arg1106,anf_arg905,anf_arg889);\nbreak;\ncase 26: var anf_arg1015 = $ans1001;\n$ans1001 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[370],L[371]);\nvar anf_fun86 = $ans1001;\n$step995 = 27;\n$al1002 = L[394];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 27: var anf_arg900 = $ans1001;\n$step995 = 28;\n$al1002 = L[371];\nif(typeof(anf_fun86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun86);\n}\n$ans1001 = anf_fun86.app(anf_arg900);\nbreak;\ncase 28: var anf_arg918 = $ans1001;\n$al1002 = L[372];\nvar anf_arg1005 = G(self453,\"val\",L[372]);\n$step995 = 29;\n$al1002 = L[393];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"embed\"].app(anf_arg1005);\nbreak;\ncase 29: var anf_arg1016 = $ans1001;\n$step995 = R.checkPyretTrue(from$fail$arg997)?30:36;\nbreak;\ncase 30: $step995 = 31;\n$al1002 = L[390];\nif(typeof(maybe$stack$loc998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,maybe$stack$loc998);\n}\n$ans1001 = maybe$stack$loc998.app((1),(true));\nbreak;\ncase 31: var cases1017 = $ans1001;\n$step995 = 32;\n$al1002 = L[389];\nvar $ann$check1050 = R._cA(L[389],Option4,cases1017);\nif(R.isContinuation($ann$check1050)) {\n$ans1001 = $ann$check1050;\n}\nbreak;\ncase 32: $al1002 = L[385];\n$step995 = $cases_dispatch1049[cases1017.$name] || 35;\nbreak;\ncase 33: if(cases1017.$arity !== 1) {\nif(cases1017.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[384],1,cases1017.$arity,L[385],cases1017.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[384],true,L[385],cases1017.$loc);\n}\n}\n$step995 = 37;\n$al1002 = L[384];\nvar $temp_branch1041 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__385($sender1018) {\nvar $step1042 = 0;\nvar $elidedFrames1046 = 0;\nvar $ans1043 = D;\nvar $al1044 = L[383];\nif(R.isAR($sender1018)) {\n$step1042 = $sender1018.step;\n$al1044 = $sender1018.from;\n$ans1043 = $sender1018.ans;\n$elidedFrames1046 = $sender1018.elidedFrames;\nsender1018 = $sender1018.args[0];\nanf_fun1019 = $sender1018.vars[0];\nanf_arg950 = $sender1018.vars[1];\nanf_arg934 = $sender1018.vars[2];\nanf_fun112 = $sender1018.vars[3];\nanf_fun1036 = $sender1018.vars[4];\n} else {\nvar sender1018 = $sender1018;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1043 = R.mC();\n}\nwhile(!R.isContinuation($ans1043)) {\nswitch($step1042) {\ncase 0: $step1042 = 1;\n$al1044 = L[383];\nif(typeof(src$available999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,src$available999);\n}\n$ans1043 = src$available999.app(sender1018);\nbreak;\ncase 1: var anf_if1040 = $ans1043;\n$step1042 = R.checkPyretTrue(anf_if1040)?2:6;\nbreak;\ncase 2: $ans1043 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[373],L[374]);\nvar anf_fun112 = $ans1043;\n$ans1043 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[375],L[376]);\nvar anf_fun1019 = $ans1043;\n$step1042 = 3;\n$al1044 = L[378];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"text\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1035 = $ans1043;\n$step1042 = 4;\n$al1044 = L[376];\nif(typeof(anf_fun1019.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun1019);\n}\n$ans1043 = anf_fun1019.app(anf_arg1035);\nbreak;\ncase 4: var anf_arg934 = $ans1043;\n$step1042 = 5;\n$al1044 = L[377];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"cmcode\"].app(sender1018);\nbreak;\ncase 5: var anf_arg946 = $ans1043;\n$step1042 = 9;\n$al1044 = L[374];\nif(typeof(anf_fun112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun112);\n}\n$ans1043 = anf_fun112.app(anf_arg934,anf_arg946);\nbreak;\ncase 6: $ans1043 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[379],L[380]);\nvar anf_fun1036 = $ans1043;\n$step1042 = 7;\n$al1044 = L[382];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"text\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg950 = $ans1043;\n$step1042 = 8;\n$al1044 = L[381];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"loc\"].app(sender1018);\nbreak;\ncase 8: var anf_arg1039 = $ans1043;\n$step1042 = 9;\n$al1044 = L[380];\nif(typeof(anf_fun1036.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun1036);\n}\n$ans1043 = anf_fun1036.app(anf_arg950,anf_arg1039);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1043;\ndefault: R.ffi.throwSpinnakerError(L[383],$step1042);\n}\n}\nif($step1042 !== 9) {\n$ans1043.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1044,$temp_branch1041,$step1042,[sender1018],[anf_fun1019,anf_arg950,anf_arg934,anf_fun112,anf_fun1036],$elidedFrames1046);\n}\nreturn $ans1043;\n};\n$ans1001 = cases1017.$app_fields($temp_branch1041,[false]);\nbreak;\ncase 34: if(cases1017.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[388],false,L[385],cases1017.$loc);\n}\n$ans1001 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[386],L[387]);\nvar anf_fun1048 = $ans1001;\n$step995 = 37;\n$al1002 = L[387];\nif(typeof(anf_fun1048.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1048);\n}\n$ans1001 = anf_fun1048.app();\nbreak;\ncase 35: $ans1001 = R.throwNoCasesMatched(L[385],cases1017);\n$step995 = 37;\nbreak;\ncase 36: $ans1001 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[391],L[392]);\nvar anf_fun150 = $ans1001;\n$step995 = 37;\n$al1002 = L[392];\nif(typeof(anf_fun150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun150);\n}\n$ans1001 = anf_fun150.app();\nbreak;\ncase 37: var anf_arg990 = $ans1001;\n$step995 = 38;\n$al1002 = L[368];\nif(typeof(anf_fun1006.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1006);\n}\n$ans1001 = anf_fun1006.app(anf_arg1015,anf_arg918,anf_arg1016,anf_arg990);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans1001;\ndefault: R.ffi.throwSpinnakerError(L[366],$step995);\n}\n}\nif($step995 !== 38) {\n$ans1001.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1002,$temp_full996,$step995,[self453,loc5685,from$fail$arg997,maybe$stack$loc998,src$available999,maybe$ast1000],[anf_arg1095,anf_fun1104,anf_fun1006,anf_arg1086,anf_arg1088,anf_arg1099,anf_arg1089,anf_arg1100,anf_arg1101,anf_arg1015,anf_arg1016,anf_arg1105,anf_arg1106,anf_arg861,anf_fun1060,cases1017,anf_arg905,anf_fun86,anf_fun1098,anf_arg918,anf_fun1102],$elidedFrames1004);\n}\nreturn $ans1001;\n};\nvar anf_variant_member1818 = R.makeMethod5($temp_full996,\"render-fancy-reason\");\nvar $temp_full1111 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__426($self1112,$loc1113,$from$fail$arg1114) {\nvar $step1110 = 0;\nvar $elidedFrames1118 = 0;\nvar $ans1115 = D;\nvar $al1116 = L[426];\nif(R.isAR($self1112)) {\n$step1110 = $self1112.step;\n$al1116 = $self1112.from;\n$ans1115 = $self1112.ans;\n$elidedFrames1118 = $self1112.elidedFrames;\nself1112 = $self1112.args[0];\nloc1113 = $self1112.args[1];\nfrom$fail$arg1114 = $self1112.args[2];\nanf_arg1155 = $self1112.vars[0];\nanf_arg1123 = $self1112.vars[1];\nanf_arg1124 = $self1112.vars[2];\nmessage1151 = $self1112.vars[3];\nanf_arg991 = $self1112.vars[4];\nanf_arg984 = $self1112.vars[5];\nanf_fun1160 = $self1112.vars[6];\nanf_fun1154 = $self1112.vars[7];\nanf_fun1122 = $self1112.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[426],3,$t,true);\n}\nvar self1112 = $self1112;\nvar loc1113 = $loc1113;\nvar from$fail$arg1114 = $from$fail$arg1114;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1115 = R.mC();\n}\nwhile(!R.isContinuation($ans1115)) {\nswitch($step1110) {\ncase 0: $ans1115 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[427],L[428]);\nvar anf_fun1122 = $ans1115;\n$step1110 = 1;\n$al1116 = L[451];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"The predicate\"));\nbreak;\ncase 1: var anf_arg1123 = $ans1115;\n$al1116 = L[429];\nvar anf_arg976 = G(self1112,\"name\",L[429]);\n$step1110 = 2;\n$al1116 = L[450];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app(anf_arg976);\nbreak;\ncase 2: var anf_arg1121 = $ans1115;\n$step1110 = 3;\n$al1116 = L[449];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"code\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"code\"].app(anf_arg1121);\nbreak;\ncase 3: var anf_arg1124 = $ans1115;\n$step1110 = 4;\n$al1116 = L[448];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"in the annotation at\"));\nbreak;\ncase 4: var anf_arg984 = $ans1115;\n// caller optimization;\n$ans1115 = draw$and$highlight44.$var.app(loc1113);\nvar anf_arg991 = $ans1115;\n$step1110 = 5;\n$al1116 = L[447];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"returned false for this value:\"));\nbreak;\ncase 5: var anf_arg987 = $ans1115;\n$step1110 = 6;\n$al1116 = L[428];\nif(typeof(anf_fun1122.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1122);\n}\n$ans1115 = anf_fun1122.app(anf_arg1123,anf_arg1124,anf_arg984,anf_arg991,anf_arg987);\nbreak;\ncase 6: var message1151 = $ans1115;\n$step1110 = R.checkPyretTrue(from$fail$arg1114)?7:10;\nbreak;\ncase 7: var $temp_lam1126 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__430($l1127) {\nvar $step1125 = 0;\nvar $elidedFrames1131 = 0;\nvar $ans1128 = D;\nvar $al1129 = L[430];\nif(R.isAR($l1127)) {\n$step1125 = $l1127.step;\n$al1129 = $l1127.from;\n$ans1128 = $l1127.ans;\n$elidedFrames1131 = $l1127.elidedFrames;\nl1127 = $l1127.args[0];\nanf_fun192 = $l1127.vars[0];\nanf_arg988 = $l1127.vars[1];\nanf_fun206 = $l1127.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[430],1,$t,false);\n}\nvar l1127 = $l1127;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1128 = R.mC();\n}\nwhile(!R.isContinuation($ans1128)) {\nswitch($step1125) {\ncase 0: $ans1128 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[431],L[432]);\nvar anf_fun192 = $ans1128;\n$al1129 = L[433];\nvar anf_arg1138 = G(self1112,\"val\",L[433]);\n$step1125 = 1;\n$al1129 = L[437];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1128 = ED5.dict.values.dict[\"embed\"].app(anf_arg1138);\nbreak;\ncase 1: var anf_arg988 = $ans1128;\n$ans1128 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[434],L[435]);\nvar anf_fun206 = $ans1128;\n$step1125 = 2;\n$al1129 = L[436];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,ED5.dict.values.dict[\"text\"]);\n}\n$ans1128 = ED5.dict.values.dict[\"text\"].app((\"called from around\"));\nbreak;\ncase 2: var anf_arg992 = $ans1128;\n// caller optimization;\n$ans1128 = draw$and$highlight44.$var.app(l1127);\nvar anf_arg1150 = $ans1128;\n$step1125 = 3;\n$al1129 = L[435];\nif(typeof(anf_fun206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,anf_fun206);\n}\n$ans1128 = anf_fun206.app(anf_arg992,anf_arg1150);\nbreak;\ncase 3: var anf_arg1152 = $ans1128;\n$step1125 = 4;\n$al1129 = L[432];\nif(typeof(anf_fun192.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,anf_fun192);\n}\n$ans1128 = anf_fun192.app(message1151,anf_arg988,anf_arg1152);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1128;\ndefault: R.ffi.throwSpinnakerError(L[430],$step1125);\n}\n}\nif($step1125 !== 4) {\n$ans1128.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1129,$temp_lam1126,$step1125,[l1127],[anf_fun192,anf_arg988,anf_fun206],$elidedFrames1131);\n}\nreturn $ans1128;\n};\nvar anf_arg1155 = R.mF($temp_lam1126,\"\");\n$ans1115 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[438],L[439]);\nvar anf_fun1154 = $ans1115;\n$al1116 = L[440];\nvar anf_arg1009 = G(self1112,\"val\",L[440]);\n$step1110 = 8;\n$al1116 = L[442];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"embed\"].app(anf_arg1009);\nbreak;\ncase 8: var anf_arg1013 = $ans1115;\n$step1110 = 9;\n$al1116 = L[439];\nif(typeof(anf_fun1154.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1154);\n}\n$ans1115 = anf_fun1154.app(message1151,anf_arg1013);\nbreak;\ncase 9: var anf_arg1159 = $ans1115;\n$step1110 = 12;\n$al1116 = L[441];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg1155,anf_arg1159);\nbreak;\ncase 10: $ans1115 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[443],L[444]);\nvar anf_fun1160 = $ans1115;\n$al1116 = L[445];\nvar anf_arg1014 = G(self1112,\"val\",L[445]);\n$step1110 = 11;\n$al1116 = L[446];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"embed\"].app(anf_arg1014);\nbreak;\ncase 11: var anf_arg1025 = $ans1115;\n$step1110 = 12;\n$al1116 = L[444];\nif(typeof(anf_fun1160.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1160);\n}\n$ans1115 = anf_fun1160.app(message1151,anf_arg1025);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1115;\ndefault: R.ffi.throwSpinnakerError(L[426],$step1110);\n}\n}\nif($step1110 !== 12) {\n$ans1115.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1116,$temp_full1111,$step1110,[self1112,loc1113,from$fail$arg1114],[anf_arg1155,anf_arg1123,anf_arg1124,message1151,anf_arg991,anf_arg984,anf_fun1160,anf_fun1154,anf_fun1122],$elidedFrames1118);\n}\nreturn $ans1115;\n};\nvar anf_variant_member1819 = R.makeMethod2($temp_full1111,\"render-reason\");\nvar $temp_full1163 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__452($self1164,$loc1165,$from$fail$arg1166,$maybe$stack$loc1167,$src$available1168,$maybe$ast1169) {\nvar $step1162 = 0;\nvar $elidedFrames1173 = 0;\nvar $ans1170 = D;\nvar $al1171 = L[452];\nif(R.isAR($self1164)) {\n$step1162 = $self1164.step;\n$al1171 = $self1164.from;\n$ans1170 = $self1164.ans;\n$elidedFrames1173 = $self1164.elidedFrames;\nself1164 = $self1164.args[0];\nloc1165 = $self1164.args[1];\nfrom$fail$arg1166 = $self1164.args[2];\nmaybe$stack$loc1167 = $self1164.args[3];\nsrc$available1168 = $self1164.args[4];\nmaybe$ast1169 = $self1164.args[5];\nanf_arg1282 = $self1164.vars[0];\nanf_arg1020 = $self1164.vars[1];\nanf_arg1252 = $self1164.vars[2];\nanf_arg1297 = $self1164.vars[3];\nanf_arg1243 = $self1164.vars[4];\nanf_arg392 = $self1164.vars[5];\nanf_arg1279 = $self1164.vars[6];\nanf_arg1247 = $self1164.vars[7];\nanf_arg1038 = $self1164.vars[8];\ncases1254 = $self1164.vars[9];\nanf_arg437 = $self1164.vars[10];\nanf_fun1280 = $self1164.vars[11];\nanf_fun1292 = $self1164.vars[12];\nanf_fun1294 = $self1164.vars[13];\nanf_fun1174 = $self1164.vars[14];\nanf_fun1242 = $self1164.vars[15];\nanf_fun1275 = $self1164.vars[16];\nanf_fun1244 = $self1164.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[452],6,$t,true);\n}\nvar self1164 = $self1164;\nvar loc1165 = $loc1165;\nvar from$fail$arg1166 = $from$fail$arg1166;\nvar maybe$stack$loc1167 = $maybe$stack$loc1167;\nvar src$available1168 = $src$available1168;\nvar maybe$ast1169 = $maybe$ast1169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1170 = R.mC();\n}\nwhile(!R.isContinuation($ans1170)) {\nswitch($step1162) {\ncase 0: $ans1170 = R.getMaker5(ED5.dict.values.dict[\"error\"],(\"make5\"),L[453],L[454]);\nvar anf_fun1244 = $ans1170;\n$step1162 = 1;\n$ans1170 = R.maybeMethodCall0(loc1165,\"is-builtin\",L[455]);\nbreak;\ncase 1: var anf_if1299 = $ans1170;\n$step1162 = R.checkPyretTrue(anf_if1299)?2:5;\nbreak;\ncase 2: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[511],L[512]);\nvar anf_fun1275 = $ans1170;\n$step1162 = 3;\n$al1171 = L[514];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"A record annotation in \"));\nbreak;\ncase 3: var anf_arg1020 = $ans1170;\n$step1162 = 4;\n$al1171 = L[513];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"loc\"].app(loc1165);\nbreak;\ncase 4: var anf_arg1277 = $ans1170;\n$step1162 = 17;\n$al1171 = L[512];\nif(typeof(anf_fun1275.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1275);\n}\n$ans1170 = anf_fun1275.app(anf_arg1020,anf_arg1277);\nbreak;\ncase 5: $step1162 = 6;\n$al1171 = L[529];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,src$available1168);\n}\n$ans1170 = src$available1168.app(loc1165);\nbreak;\ncase 6: var anf_if1298 = $ans1170;\n$step1162 = R.checkPyretTrue(anf_if1298)?7:14;\nbreak;\ncase 7: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[515],L[516]);\nvar anf_fun1292 = $ans1170;\n$ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[517],L[518]);\nvar anf_fun1280 = $ans1170;\n$step1162 = 8;\n$al1171 = L[524];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 8: var anf_arg1282 = $ans1170;\n$step1162 = 9;\n$al1171 = L[523];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"record annotation\"));\nbreak;\ncase 9: var anf_arg1279 = $ans1170;\n$ans1170 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[519],L[520]);\nvar anf_fun1278 = $ans1170;\n$step1162 = 10;\n$al1171 = L[520];\nif(typeof(anf_fun1278.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1278);\n}\n$ans1170 = anf_fun1278.app(loc1165);\nbreak;\ncase 10: var anf_arg1037 = $ans1170;\n$step1162 = 11;\n$al1171 = L[522];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1279,anf_arg1037,(-1));\nbreak;\ncase 11: var anf_arg1291 = $ans1170;\n$step1162 = 12;\n$al1171 = L[518];\nif(typeof(anf_fun1280.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1280);\n}\n$ans1170 = anf_fun1280.app(anf_arg1282,anf_arg1291);\nbreak;\ncase 12: var anf_arg1038 = $ans1170;\n$step1162 = 13;\n$al1171 = L[521];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"cmcode\"].app(loc1165);\nbreak;\ncase 13: var anf_arg1293 = $ans1170;\n$step1162 = 17;\n$al1171 = L[516];\nif(typeof(anf_fun1292.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1292);\n}\n$ans1170 = anf_fun1292.app(anf_arg1038,anf_arg1293);\nbreak;\ncase 14: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[525],L[526]);\nvar anf_fun1294 = $ans1170;\n$step1162 = 15;\n$al1171 = L[528];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"The record annotation at \"));\nbreak;\ncase 15: var anf_arg1297 = $ans1170;\n$step1162 = 16;\n$al1171 = L[527];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"loc\"].app(loc1165);\nbreak;\ncase 16: var anf_arg1053 = $ans1170;\n$step1162 = 17;\n$al1171 = L[526];\nif(typeof(anf_fun1294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1294);\n}\n$ans1170 = anf_fun1294.app(anf_arg1297,anf_arg1053);\nbreak;\ncase 17: var anf_arg1247 = $ans1170;\n$ans1170 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[456],L[457]);\nvar anf_fun1174 = $ans1170;\n$step1162 = 18;\n$al1171 = L[510];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 18: var anf_arg1054 = $ans1170;\n$step1162 = 19;\n$al1171 = L[457];\nif(typeof(anf_fun1174.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1174);\n}\n$ans1170 = anf_fun1174.app(anf_arg1054);\nbreak;\ncase 19: var anf_arg1252 = $ans1170;\n$al1171 = L[458];\nvar anf_arg1057 = G(self1164,\"val\",L[458]);\n$step1162 = 20;\n$al1171 = L[509];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"embed\"].app(anf_arg1057);\nbreak;\ncase 20: var anf_arg392 = $ans1170;\n$step1162 = R.checkPyretTrue(from$fail$arg1166)?21:27;\nbreak;\ncase 21: $step1162 = 22;\n$al1171 = L[506];\nif(typeof(maybe$stack$loc1167.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,maybe$stack$loc1167);\n}\n$ans1170 = maybe$stack$loc1167.app((1),(true));\nbreak;\ncase 22: var cases1254 = $ans1170;\n$step1162 = 23;\n$al1171 = L[505];\nvar $ann$check1273 = R._cA(L[505],Option4,cases1254);\nif(R.isContinuation($ann$check1273)) {\n$ans1170 = $ann$check1273;\n}\nbreak;\ncase 23: $al1171 = L[501];\n$step1162 = $cases_dispatch1272[cases1254.$name] || 26;\nbreak;\ncase 24: if(cases1254.$arity !== 1) {\nif(cases1254.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[500],1,cases1254.$arity,L[501],cases1254.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[500],true,L[501],cases1254.$loc);\n}\n}\n$step1162 = 28;\n$al1171 = L[500];\nvar $temp_branch1264 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__501($sender1255) {\nvar $step1265 = 0;\nvar $elidedFrames1269 = 0;\nvar $ans1266 = D;\nvar $al1267 = L[499];\nif(R.isAR($sender1255)) {\n$step1265 = $sender1255.step;\n$al1267 = $sender1255.from;\n$ans1266 = $sender1255.ans;\n$elidedFrames1269 = $sender1255.elidedFrames;\nsender1255 = $sender1255.args[0];\nanf_fun1258 = $sender1255.vars[0];\nanf_arg1261 = $sender1255.vars[1];\nanf_arg1259 = $sender1255.vars[2];\nanf_fun1260 = $sender1255.vars[3];\nanf_fun405 = $sender1255.vars[4];\n} else {\nvar sender1255 = $sender1255;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1266 = R.mC();\n}\nwhile(!R.isContinuation($ans1266)) {\nswitch($step1265) {\ncase 0: $step1265 = 1;\n$al1267 = L[499];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,src$available1168);\n}\n$ans1266 = src$available1168.app(sender1255);\nbreak;\ncase 1: var anf_if1263 = $ans1266;\n$step1265 = R.checkPyretTrue(anf_if1263)?2:6;\nbreak;\ncase 2: $ans1266 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[489],L[490]);\nvar anf_fun1258 = $ans1266;\n$ans1266 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[491],L[492]);\nvar anf_fun405 = $ans1266;\n$step1265 = 3;\n$al1267 = L[494];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"text\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1257 = $ans1266;\n$step1265 = 4;\n$al1267 = L[492];\nif(typeof(anf_fun405.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun405);\n}\n$ans1266 = anf_fun405.app(anf_arg1257);\nbreak;\ncase 4: var anf_arg1259 = $ans1266;\n$step1265 = 5;\n$al1267 = L[493];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"cmcode\"].app(sender1255);\nbreak;\ncase 5: var anf_arg1068 = $ans1266;\n$step1265 = 9;\n$al1267 = L[490];\nif(typeof(anf_fun1258.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun1258);\n}\n$ans1266 = anf_fun1258.app(anf_arg1259,anf_arg1068);\nbreak;\ncase 6: $ans1266 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[495],L[496]);\nvar anf_fun1260 = $ans1266;\n$step1265 = 7;\n$al1267 = L[498];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"text\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1261 = $ans1266;\n$step1265 = 8;\n$al1267 = L[497];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"loc\"].app(sender1255);\nbreak;\ncase 8: var anf_arg433 = $ans1266;\n$step1265 = 9;\n$al1267 = L[496];\nif(typeof(anf_fun1260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun1260);\n}\n$ans1266 = anf_fun1260.app(anf_arg1261,anf_arg433);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1266;\ndefault: R.ffi.throwSpinnakerError(L[499],$step1265);\n}\n}\nif($step1265 !== 9) {\n$ans1266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1267,$temp_branch1264,$step1265,[sender1255],[anf_fun1258,anf_arg1261,anf_arg1259,anf_fun1260,anf_fun405],$elidedFrames1269);\n}\nreturn $ans1266;\n};\n$ans1170 = cases1254.$app_fields($temp_branch1264,[false]);\nbreak;\ncase 25: if(cases1254.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[504],false,L[501],cases1254.$loc);\n}\n$ans1170 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[502],L[503]);\nvar anf_fun1271 = $ans1170;\n$step1162 = 28;\n$al1171 = L[503];\nif(typeof(anf_fun1271.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1271);\n}\n$ans1170 = anf_fun1271.app();\nbreak;\ncase 26: $ans1170 = R.throwNoCasesMatched(L[501],cases1254);\n$step1162 = 28;\nbreak;\ncase 27: $ans1170 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[507],L[508]);\nvar anf_fun1274 = $ans1170;\n$step1162 = 28;\n$al1171 = L[508];\nif(typeof(anf_fun1274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1274);\n}\n$ans1170 = anf_fun1274.app();\nbreak;\ncase 28: var anf_arg437 = $ans1170;\n$ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[459],L[460]);\nvar anf_fun1242 = $ans1170;\n$step1162 = 29;\n$al1171 = L[488];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"because, \"));\nbreak;\ncase 29: var anf_arg1243 = $ans1170;\nvar $temp_lam1176 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__461($n1177,$failure1178) {\nvar $step1175 = 0;\nvar $elidedFrames1182 = 0;\nvar $ans1179 = D;\nvar $al1180 = L[461];\nif(R.isAR($n1177)) {\n$step1175 = $n1177.step;\n$al1180 = $n1177.from;\n$ans1179 = $n1177.ans;\n$elidedFrames1182 = $n1177.elidedFrames;\nn1177 = $n1177.args[0];\nfailure1178 = $n1177.args[1];\ncases1183 = $n1177.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[461],2,$t,false);\n}\nvar n1177 = $n1177;\nvar failure1178 = $failure1178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1179 = R.mC();\n}\nwhile(!R.isContinuation($ans1179)) {\nswitch($step1175) {\ncase 0: var cases1183 = failure1178;\n$step1175 = 1;\n$al1180 = L[484];\nvar $ann$check1232 = R._cA(L[484],FieldFailure1231,cases1183);\nif(R.isContinuation($ann$check1232)) {\n$ans1179 = $ann$check1232;\n}\nbreak;\ncase 1: $al1180 = L[481];\n$step1175 = $cases_dispatch1230[cases1183.$name] || 4;\nbreak;\ncase 2: if(cases1183.$arity !== 2) {\nif(cases1183.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[480],2,cases1183.$arity,L[481],cases1183.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[480],true,L[481],cases1183.$loc);\n}\n}\n$step1175 = 5;\n$al1180 = L[480];\nvar $temp_branch1218 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__481($fl1184,$ff1211) {\nvar $step1219 = 0;\nvar $elidedFrames1223 = 0;\nvar $ans1220 = D;\nvar $al1221 = L[479];\nif(R.isAR($fl1184)) {\n$step1219 = $fl1184.step;\n$al1221 = $fl1184.from;\n$ans1220 = $fl1184.ans;\n$elidedFrames1223 = $fl1184.elidedFrames;\nfl1184 = $fl1184.args[0];\nff1211 = $fl1184.args[1];\nanf_fun1214 = $fl1184.vars[0];\nanf_arg1210 = $fl1184.vars[1];\nanf_arg1147 = $fl1184.vars[2];\nanf_arg1149 = $fl1184.vars[3];\nanf_arg451 = $fl1184.vars[4];\nanf_arg498 = $fl1184.vars[5];\nanf_arg467 = $fl1184.vars[6];\nanf_arg469 = $fl1184.vars[7];\nanf_fun1212 = $fl1184.vars[8];\n} else {\nvar fl1184 = $fl1184;\nvar ff1211 = $ff1211;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1220 = R.mC();\n}\nwhile(!R.isContinuation($ans1220)) {\nswitch($step1219) {\ncase 0: $step1219 = 1;\n$al1221 = L[479];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,src$available1168);\n}\n$ans1220 = src$available1168.app(fl1184);\nbreak;\ncase 1: var anf_if1217 = $ans1220;\n$step1219 = R.checkPyretTrue(anf_if1217)?2:10;\nbreak;\ncase 2: $ans1220 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[462],L[463]);\nvar anf_fun1212 = $ans1220;\n$step1219 = 3;\n$al1221 = L[471];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"The value was \"));\nbreak;\ncase 3: var anf_arg451 = $ans1220;\n$step1219 = 4;\n$al1221 = L[470];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"expected\"));\nbreak;\ncase 4: var anf_arg1210 = $ans1220;\n$ans1220 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[464],L[465]);\nvar anf_fun1185 = $ans1220;\n$step1219 = 5;\n$al1221 = L[465];\nif(typeof(anf_fun1185.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1185);\n}\n$ans1220 = anf_fun1185.app(fl1184);\nbreak;\ncase 5: var anf_arg1133 = $ans1220;\n$step1219 = 6;\n$al1221 = L[469];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1210,anf_arg1133,n1177);\nbreak;\ncase 6: var anf_arg467 = $ans1220;\n$step1219 = 7;\n$al1221 = L[468];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\" to have a field named \"));\nbreak;\ncase 7: var anf_arg469 = $ans1220;\n$step1219 = 8;\n$al1221 = L[467];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app(ff1211);\nbreak;\ncase 8: var anf_arg1143 = $ans1220;\n$step1219 = 9;\n$al1221 = L[466];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"code\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"code\"].app(anf_arg1143);\nbreak;\ncase 9: var anf_arg1213 = $ans1220;\n$step1219 = 16;\n$al1221 = L[463];\nif(typeof(anf_fun1212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1212);\n}\n$ans1220 = anf_fun1212.app(anf_arg451,anf_arg467,anf_arg469,anf_arg1213);\nbreak;\ncase 10: $ans1220 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[472],L[473]);\nvar anf_fun1214 = $ans1220;\n$step1219 = 11;\n$al1221 = L[478];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"The value was expected to have a field named \"));\nbreak;\ncase 11: var anf_arg1147 = $ans1220;\n$step1219 = 12;\n$al1221 = L[477];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app(ff1211);\nbreak;\ncase 12: var anf_arg1148 = $ans1220;\n$step1219 = 13;\n$al1221 = L[476];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"code\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"code\"].app(anf_arg1148);\nbreak;\ncase 13: var anf_arg498 = $ans1220;\n$step1219 = 14;\n$al1221 = L[475];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 14: var anf_arg1149 = $ans1220;\n$step1219 = 15;\n$al1221 = L[474];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"loc\"].app(fl1184);\nbreak;\ncase 15: var anf_arg1216 = $ans1220;\n$step1219 = 16;\n$al1221 = L[473];\nif(typeof(anf_fun1214.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1214);\n}\n$ans1220 = anf_fun1214.app(anf_arg1147,anf_arg498,anf_arg1149,anf_arg1216);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1220;\ndefault: R.ffi.throwSpinnakerError(L[479],$step1219);\n}\n}\nif($step1219 !== 16) {\n$ans1220.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1221,$temp_branch1218,$step1219,[fl1184,ff1211],[anf_fun1214,anf_arg1210,anf_arg1147,anf_arg1149,anf_arg451,anf_arg498,anf_arg467,anf_arg469,anf_fun1212],$elidedFrames1223);\n}\nreturn $ans1220;\n};\n$ans1179 = cases1183.$app_fields($temp_branch1218,[false,false]);\nbreak;\ncase 3: if(cases1183.$arity !== 3) {\nif(cases1183.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[483],3,cases1183.$arity,L[481],cases1183.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[483],true,L[481],cases1183.$loc);\n}\n}\nvar $fn1226 = cases1183.$constructor.$fieldNames;\nR.dF(cases1183.dict[$fn1226[0]],cases1183.$mut_fields_mask[0],false);\nR.dF(cases1183.dict[$fn1226[1]],cases1183.$mut_fields_mask[1],false);\nR.dF(cases1183.dict[$fn1226[2]],cases1183.$mut_fields_mask[2],false);\n$step1175 = 5;\n$ans1179 = R.maybeMethodCall2(failure1178,\"render-reason\",L[482],loc1165,from$fail$arg1166);\nbreak;\ncase 4: $ans1179 = R.throwNoCasesMatched(L[481],cases1183);\n$step1175 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1179;\ndefault: R.ffi.throwSpinnakerError(L[461],$step1175);\n}\n}\nif($step1175 !== 5) {\n$ans1179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1180,$temp_lam1176,$step1175,[n1177,failure1178],[cases1183],$elidedFrames1182);\n}\nreturn $ans1179;\n};\nvar anf_arg513 = R.mF($temp_lam1176,\"\");\n$al1171 = L[485];\nvar anf_arg1241 = G(self1164,\"field-failures\",L[485]);\n$step1162 = 30;\n$al1171 = L[487];\n// omitting isFunction check;\n$ans1170 = map_n1.app(anf_arg513,(1),anf_arg1241);\nbreak;\ncase 30: var anf_arg1164 = $ans1170;\n$step1162 = 31;\n$al1171 = L[486];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1164);\nbreak;\ncase 31: var anf_arg523 = $ans1170;\n$step1162 = 32;\n$al1171 = L[460];\nif(typeof(anf_fun1242.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1242);\n}\n$ans1170 = anf_fun1242.app(anf_arg1243,anf_arg523);\nbreak;\ncase 32: var anf_arg1253 = $ans1170;\n$step1162 = 33;\n$al1171 = L[454];\nif(typeof(anf_fun1244.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1244);\n}\n$ans1170 = anf_fun1244.app(anf_arg1247,anf_arg1252,anf_arg392,anf_arg437,anf_arg1253);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1170;\ndefault: R.ffi.throwSpinnakerError(L[452],$step1162);\n}\n}\nif($step1162 !== 33) {\n$ans1170.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1171,$temp_full1163,$step1162,[self1164,loc1165,from$fail$arg1166,maybe$stack$loc1167,src$available1168,maybe$ast1169],[anf_arg1282,anf_arg1020,anf_arg1252,anf_arg1297,anf_arg1243,anf_arg392,anf_arg1279,anf_arg1247,anf_arg1038,cases1254,anf_arg437,anf_fun1280,anf_fun1292,anf_fun1294,anf_fun1174,anf_fun1242,anf_fun1275,anf_fun1244],$elidedFrames1173);\n}\nreturn $ans1170;\n};\nvar anf_variant_member1828 = R.makeMethod5($temp_full1163,\"render-fancy-reason\");\nvar $temp_full1305 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__530($self1306,$loc1307,$from$fail$arg1308) {\nvar $step1304 = 0;\nvar $elidedFrames1313 = 0;\nvar $ans1310 = D;\nvar $al1311 = L[530];\nif(R.isAR($self1306)) {\n$step1304 = $self1306.step;\n$al1311 = $self1306.from;\n$ans1310 = $self1306.ans;\n$elidedFrames1313 = $self1306.elidedFrames;\nself1306 = $self1306.args[0];\nloc1307 = $self1306.args[1];\nfrom$fail$arg1308 = $self1306.args[2];\nanf_arg1194 = $self1306.vars[0];\nanf_fun1314 = $self1306.vars[1];\nanf_fun1326 = $self1306.vars[2];\nanf_arg1344 = $self1306.vars[3];\nanf_arg1345 = $self1306.vars[4];\nanf_arg1209 = $self1306.vars[5];\nanf_arg538 = $self1306.vars[6];\nanf_fun536 = $self1306.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[530],3,$t,true);\n}\nvar self1306 = $self1306;\nvar loc1307 = $loc1307;\nvar from$fail$arg1308 = $from$fail$arg1308;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1310 = R.mC();\n}\nwhile(!R.isContinuation($ans1310)) {\nswitch($step1304) {\ncase 0: $ans1310 = R.getMaker4(ED5.dict.values.dict[\"vert\"],(\"make4\"),L[531],L[532]);\nvar anf_fun536 = $ans1310;\n$ans1310 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[533],L[534]);\nvar anf_fun1314 = $ans1310;\n$step1304 = 1;\n$al1311 = L[546];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\"The record annotation at \"));\nbreak;\ncase 1: var anf_arg538 = $ans1310;\n$step1304 = 2;\n$al1311 = L[545];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"loc\"].app(loc1307);\nbreak;\ncase 2: var anf_arg1194 = $ans1310;\n$step1304 = 3;\n$al1311 = L[544];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\" failed on this value:\"));\nbreak;\ncase 3: var anf_arg1325 = $ans1310;\n$step1304 = 4;\n$al1311 = L[534];\nif(typeof(anf_fun1314.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun1314);\n}\n$ans1310 = anf_fun1314.app(anf_arg538,anf_arg1194,anf_arg1325);\nbreak;\ncase 4: var anf_arg1209 = $ans1310;\n$al1311 = L[535];\nvar anf_arg552 = G(self1306,\"val\",L[535]);\n$step1304 = 5;\n$al1311 = L[543];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"embed\"].app(anf_arg552);\nbreak;\ncase 5: var anf_arg1344 = $ans1310;\n$ans1310 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[536],L[537]);\nvar anf_fun1326 = $ans1310;\n$step1304 = 6;\n$al1311 = L[542];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\"Because:\"));\nbreak;\ncase 6: var anf_arg1327 = $ans1310;\n$step1304 = 7;\n$al1311 = L[537];\nif(typeof(anf_fun1326.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun1326);\n}\n$ans1310 = anf_fun1326.app(anf_arg1327);\nbreak;\ncase 7: var anf_arg1345 = $ans1310;\n$al1311 = L[538];\nvar anf_method_obj1337 = G(self1306,\"field-failures\",L[538]);\nvar $temp_lam1329 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__539($recv_1330) {\nvar $step1328 = 0;\nvar $elidedFrames1335 = 0;\nvar $ans1332 = D;\nvar $al1333 = L[539];\nif(R.isAR($recv_1330)) {\n$step1328 = $recv_1330.step;\n$al1333 = $recv_1330.from;\n$ans1332 = $recv_1330.ans;\n$elidedFrames1335 = $recv_1330.elidedFrames;\nrecv_1330 = $recv_1330.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[539],1,$t,false);\n}\nvar recv_1330 = $recv_1330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1332 = R.mC();\n}\nwhile(!R.isContinuation($ans1332)) {\nswitch($step1328) {\ncase 0: $step1328 = 1;\n$ans1332 = R.maybeMethodCall2(recv_1330,\"render-reason\",L[539],loc1307,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1332;\ndefault: R.ffi.throwSpinnakerError(L[539],$step1328);\n}\n}\nif($step1328 !== 1) {\n$ans1332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1333,$temp_lam1329,$step1328,[recv_1330],[],$elidedFrames1335);\n}\nreturn $ans1332;\n};\nvar anf_arg1343 = R.mF($temp_lam1329,\"\");\n$step1304 = 8;\n$ans1310 = R.maybeMethodCall1(anf_method_obj1337,\"map\",L[540],anf_arg1343);\nbreak;\ncase 8: var anf_arg1234 = $ans1310;\n$step1304 = 9;\n$al1311 = L[541];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1234);\nbreak;\ncase 9: var anf_arg1236 = $ans1310;\n$step1304 = 10;\n$al1311 = L[532];\nif(typeof(anf_fun536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun536);\n}\n$ans1310 = anf_fun536.app(anf_arg1209,anf_arg1344,anf_arg1345,anf_arg1236);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1310;\ndefault: R.ffi.throwSpinnakerError(L[530],$step1304);\n}\n}\nif($step1304 !== 10) {\n$ans1310.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1311,$temp_full1305,$step1304,[self1306,loc1307,from$fail$arg1308],[anf_arg1194,anf_fun1314,anf_fun1326,anf_arg1344,anf_arg1345,anf_arg1209,anf_arg538,anf_fun536],$elidedFrames1313);\n}\nreturn $ans1310;\n};\nvar anf_variant_member1719 = R.makeMethod2($temp_full1305,\"render-reason\");\nvar $temp_full1350 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__547($self1351,$loc1352,$from$fail$arg1353,$maybe$stack$loc1354,$src$available1355,$maybe$ast1356) {\nvar $step1349 = 0;\nvar $elidedFrames1360 = 0;\nvar $ans1357 = D;\nvar $al1358 = L[547];\nif(R.isAR($self1351)) {\n$step1349 = $self1351.step;\n$al1358 = $self1351.from;\n$ans1357 = $self1351.ans;\n$elidedFrames1360 = $self1351.elidedFrames;\nself1351 = $self1351.args[0];\nloc1352 = $self1351.args[1];\nfrom$fail$arg1353 = $self1351.args[2];\nmaybe$stack$loc1354 = $self1351.args[3];\nsrc$available1355 = $self1351.args[4];\nmaybe$ast1356 = $self1351.args[5];\nanf_arg1382 = $self1351.vars[0];\nanf_arg1463 = $self1351.vars[1];\nanf_arg1342 = $self1351.vars[2];\nanf_arg1288 = $self1351.vars[3];\nanf_fun1506 = $self1351.vars[4];\nanf_arg1498 = $self1351.vars[5];\nanf_arg1465 = $self1351.vars[6];\nanf_arg1324 = $self1351.vars[7];\nanf_arg1446 = $self1351.vars[8];\ncases1466 = $self1351.vars[9];\nanf_arg649 = $self1351.vars[10];\nanf_arg617 = $self1351.vars[11];\nanf_fun1361 = $self1351.vars[12];\nanf_fun1440 = $self1351.vars[13];\nanf_fun1442 = $self1351.vars[14];\nanf_fun1486 = $self1351.vars[15];\nanf_fun1497 = $self1351.vars[16];\nanf_fun605 = $self1351.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],6,$t,true);\n}\nvar self1351 = $self1351;\nvar loc1352 = $loc1352;\nvar from$fail$arg1353 = $from$fail$arg1353;\nvar maybe$stack$loc1354 = $maybe$stack$loc1354;\nvar src$available1355 = $src$available1355;\nvar maybe$ast1356 = $maybe$ast1356;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1357 = R.mC();\n}\nwhile(!R.isContinuation($ans1357)) {\nswitch($step1349) {\ncase 0: $ans1357 = R.getMaker5(ED5.dict.values.dict[\"error\"],(\"make5\"),L[548],L[549]);\nvar anf_fun1442 = $ans1357;\n$step1349 = 1;\n$ans1357 = R.maybeMethodCall0(loc1352,\"is-builtin\",L[550]);\nbreak;\ncase 1: var anf_if1513 = $ans1357;\n$step1349 = R.checkPyretTrue(anf_if1513)?2:5;\nbreak;\ncase 2: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[608],L[609]);\nvar anf_fun1486 = $ans1357;\n$step1349 = 3;\n$al1358 = L[611];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 3: var anf_arg1288 = $ans1357;\n$step1349 = 4;\n$al1358 = L[610];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"loc\"].app(loc1352);\nbreak;\ncase 4: var anf_arg602 = $ans1357;\n$step1349 = 17;\n$al1358 = L[609];\nif(typeof(anf_fun1486.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1486);\n}\n$ans1357 = anf_fun1486.app(anf_arg1288,anf_arg602);\nbreak;\ncase 5: $step1349 = 6;\n$al1358 = L[626];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,src$available1355);\n}\n$ans1357 = src$available1355.app(loc1352);\nbreak;\ncase 6: var anf_if1512 = $ans1357;\n$step1349 = R.checkPyretTrue(anf_if1512)?7:14;\nbreak;\ncase 7: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[612],L[613]);\nvar anf_fun605 = $ans1357;\n$ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[614],L[615]);\nvar anf_fun1497 = $ans1357;\n$step1349 = 8;\n$al1358 = L[621];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation in the \"));\nbreak;\ncase 8: var anf_arg1498 = $ans1357;\n$step1349 = 9;\n$al1358 = L[620];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"annotation\"));\nbreak;\ncase 9: var anf_arg617 = $ans1357;\n$ans1357 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[616],L[617]);\nvar anf_fun1487 = $ans1357;\n$step1349 = 10;\n$al1358 = L[617];\nif(typeof(anf_fun1487.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1487);\n}\n$ans1357 = anf_fun1487.app(loc1352);\nbreak;\ncase 10: var anf_arg1496 = $ans1357;\n$step1349 = 11;\n$al1358 = L[619];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"highlight\"].app(anf_arg617,anf_arg1496,(0));\nbreak;\ncase 11: var anf_arg624 = $ans1357;\n$step1349 = 12;\n$al1358 = L[615];\nif(typeof(anf_fun1497.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1497);\n}\n$ans1357 = anf_fun1497.app(anf_arg1498,anf_arg624);\nbreak;\ncase 12: var anf_arg1324 = $ans1357;\n$step1349 = 13;\n$al1358 = L[618];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"cmcode\"].app(loc1352);\nbreak;\ncase 13: var anf_arg1505 = $ans1357;\n$step1349 = 17;\n$al1358 = L[613];\nif(typeof(anf_fun605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun605);\n}\n$ans1357 = anf_fun605.app(anf_arg1324,anf_arg1505);\nbreak;\ncase 14: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[622],L[623]);\nvar anf_fun1506 = $ans1357;\n$step1349 = 15;\n$al1358 = L[625];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 15: var anf_arg649 = $ans1357;\n$step1349 = 16;\n$al1358 = L[624];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"loc\"].app(loc1352);\nbreak;\ncase 16: var anf_arg1511 = $ans1357;\n$step1349 = 17;\n$al1358 = L[623];\nif(typeof(anf_fun1506.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1506);\n}\n$ans1357 = anf_fun1506.app(anf_arg649,anf_arg1511);\nbreak;\ncase 17: var anf_arg1342 = $ans1357;\n$ans1357 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[551],L[552]);\nvar anf_fun1361 = $ans1357;\n$step1349 = 18;\n$al1358 = L[607];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 18: var anf_arg1362 = $ans1357;\n$step1349 = 19;\n$al1358 = L[552];\nif(typeof(anf_fun1361.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1361);\n}\n$ans1357 = anf_fun1361.app(anf_arg1362);\nbreak;\ncase 19: var anf_arg1446 = $ans1357;\n$al1358 = L[553];\nvar anf_arg1363 = G(self1351,\"val\",L[553]);\n$step1349 = 20;\n$al1358 = L[606];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"embed\"].app(anf_arg1363);\nbreak;\ncase 20: var anf_arg1382 = $ans1357;\n$step1349 = R.checkPyretTrue(from$fail$arg1353)?21:27;\nbreak;\ncase 21: $step1349 = 22;\n$al1358 = L[603];\nif(typeof(maybe$stack$loc1354.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,maybe$stack$loc1354);\n}\n$ans1357 = maybe$stack$loc1354.app((1),(true));\nbreak;\ncase 22: var cases1466 = $ans1357;\n$step1349 = 23;\n$al1358 = L[602];\nvar $ann$check1484 = R._cA(L[602],Option4,cases1466);\nif(R.isContinuation($ann$check1484)) {\n$ans1357 = $ann$check1484;\n}\nbreak;\ncase 23: $al1358 = L[598];\n$step1349 = $cases_dispatch1482[cases1466.$name] || 26;\nbreak;\ncase 24: if(cases1466.$arity !== 1) {\nif(cases1466.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[597],1,cases1466.$arity,L[598],cases1466.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[597],true,L[598],cases1466.$loc);\n}\n}\n$step1349 = 28;\n$al1358 = L[597];\nvar $temp_branch1473 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__598($sender1467) {\nvar $step1474 = 0;\nvar $elidedFrames1478 = 0;\nvar $ans1475 = D;\nvar $al1476 = L[596];\nif(R.isAR($sender1467)) {\n$step1474 = $sender1467.step;\n$al1476 = $sender1467.from;\n$ans1475 = $sender1467.ans;\n$elidedFrames1478 = $sender1467.elidedFrames;\nsender1467 = $sender1467.args[0];\nanf_fun1468 = $sender1467.vars[0];\nanf_arg1470 = $sender1467.vars[1];\nanf_fun1469 = $sender1467.vars[2];\nanf_fun1416 = $sender1467.vars[3];\nanf_arg1407 = $sender1467.vars[4];\n} else {\nvar sender1467 = $sender1467;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1475 = R.mC();\n}\nwhile(!R.isContinuation($ans1475)) {\nswitch($step1474) {\ncase 0: $step1474 = 1;\n$al1476 = L[596];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,src$available1355);\n}\n$ans1475 = src$available1355.app(sender1467);\nbreak;\ncase 1: var anf_if1472 = $ans1475;\n$step1474 = R.checkPyretTrue(anf_if1472)?2:6;\nbreak;\ncase 2: $ans1475 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[586],L[587]);\nvar anf_fun1469 = $ans1475;\n$ans1475 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[588],L[589]);\nvar anf_fun1468 = $ans1475;\n$step1474 = 3;\n$al1476 = L[591];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"text\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1406 = $ans1475;\n$step1474 = 4;\n$al1476 = L[589];\nif(typeof(anf_fun1468.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1468);\n}\n$ans1475 = anf_fun1468.app(anf_arg1406);\nbreak;\ncase 4: var anf_arg1407 = $ans1475;\n$step1474 = 5;\n$al1476 = L[590];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"cmcode\"].app(sender1467);\nbreak;\ncase 5: var anf_arg1415 = $ans1475;\n$step1474 = 9;\n$al1476 = L[587];\nif(typeof(anf_fun1469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1469);\n}\n$ans1475 = anf_fun1469.app(anf_arg1407,anf_arg1415);\nbreak;\ncase 6: $ans1475 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[592],L[593]);\nvar anf_fun1416 = $ans1475;\n$step1474 = 7;\n$al1476 = L[595];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"text\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1470 = $ans1475;\n$step1474 = 8;\n$al1476 = L[594];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"loc\"].app(sender1467);\nbreak;\ncase 8: var anf_arg1471 = $ans1475;\n$step1474 = 9;\n$al1476 = L[593];\nif(typeof(anf_fun1416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1416);\n}\n$ans1475 = anf_fun1416.app(anf_arg1470,anf_arg1471);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1475;\ndefault: R.ffi.throwSpinnakerError(L[596],$step1474);\n}\n}\nif($step1474 !== 9) {\n$ans1475.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1476,$temp_branch1473,$step1474,[sender1467],[anf_fun1468,anf_arg1470,anf_fun1469,anf_fun1416,anf_arg1407],$elidedFrames1478);\n}\nreturn $ans1475;\n};\n$ans1357 = cases1466.$app_fields($temp_branch1473,[false]);\nbreak;\ncase 25: if(cases1466.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[601],false,L[598],cases1466.$loc);\n}\n$ans1357 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[599],L[600]);\nvar anf_fun1481 = $ans1357;\n$step1349 = 28;\n$al1358 = L[600];\nif(typeof(anf_fun1481.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1481);\n}\n$ans1357 = anf_fun1481.app();\nbreak;\ncase 26: $ans1357 = R.throwNoCasesMatched(L[598],cases1466);\n$step1349 = 28;\nbreak;\ncase 27: $ans1357 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[604],L[605]);\nvar anf_fun1485 = $ans1357;\n$step1349 = 28;\n$al1358 = L[605];\nif(typeof(anf_fun1485.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1485);\n}\n$ans1357 = anf_fun1485.app();\nbreak;\ncase 28: var anf_arg1465 = $ans1357;\n$ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[554],L[555]);\nvar anf_fun1440 = $ans1357;\n$step1349 = 29;\n$al1358 = L[585];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"because, \"));\nbreak;\ncase 29: var anf_arg1463 = $ans1357;\nvar $temp_lam1365 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__556($n1366,$failure1367) {\nvar $step1364 = 0;\nvar $elidedFrames1371 = 0;\nvar $ans1368 = D;\nvar $al1369 = L[556];\nif(R.isAR($n1366)) {\n$step1364 = $n1366.step;\n$al1369 = $n1366.from;\n$ans1368 = $n1366.ans;\n$elidedFrames1371 = $n1366.elidedFrames;\nn1366 = $n1366.args[0];\nfailure1367 = $n1366.args[1];\ncases1372 = $n1366.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[556],2,$t,false);\n}\nvar n1366 = $n1366;\nvar failure1367 = $failure1367;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1368 = R.mC();\n}\nwhile(!R.isContinuation($ans1368)) {\nswitch($step1364) {\ncase 0: var cases1372 = failure1367;\n$step1364 = 1;\n$al1369 = L[581];\nvar $ann$check1438 = R._cA(L[581],FieldFailure1231,cases1372);\nif(R.isContinuation($ann$check1438)) {\n$ans1368 = $ann$check1438;\n}\nbreak;\ncase 1: $al1369 = L[576];\n$step1364 = $cases_dispatch1437[cases1372.$name] || 5;\nbreak;\ncase 2: if(cases1372.$arity !== 2) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[575],2,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[575],true,L[576],cases1372.$loc);\n}\n}\n$step1364 = 6;\n$al1369 = L[575];\nvar $temp_branch1420 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__576($fl1373,$ff1389) {\nvar $step1421 = 0;\nvar $elidedFrames1425 = 0;\nvar $ans1422 = D;\nvar $al1423 = L[574];\nif(R.isAR($fl1373)) {\n$step1421 = $fl1373.step;\n$al1423 = $fl1373.from;\n$ans1422 = $fl1373.ans;\n$elidedFrames1425 = $fl1373.elidedFrames;\nfl1373 = $fl1373.args[0];\nff1389 = $fl1373.args[1];\nanf_arg1491 = $fl1373.vars[0];\nanf_arg1393 = $fl1373.vars[1];\nanf_arg1398 = $fl1373.vars[2];\nanf_arg1388 = $fl1373.vars[3];\nanf_arg860 = $fl1373.vars[4];\nanf_arg877 = $fl1373.vars[5];\nanf_fun1390 = $fl1373.vars[6];\nanf_fun1392 = $fl1373.vars[7];\nanf_arg1391 = $fl1373.vars[8];\n} else {\nvar fl1373 = $fl1373;\nvar ff1389 = $ff1389;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1422 = R.mC();\n}\nwhile(!R.isContinuation($ans1422)) {\nswitch($step1421) {\ncase 0: $step1421 = 1;\n$al1423 = L[574];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,src$available1355);\n}\n$ans1422 = src$available1355.app(fl1373);\nbreak;\ncase 1: var anf_if1419 = $ans1422;\n$step1421 = R.checkPyretTrue(anf_if1419)?2:10;\nbreak;\ncase 2: $ans1422 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[557],L[558]);\nvar anf_fun1390 = $ans1422;\n$step1421 = 3;\n$al1423 = L[566];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"The value was \"));\nbreak;\ncase 3: var anf_arg1391 = $ans1422;\n$step1421 = 4;\n$al1423 = L[565];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"expected\"));\nbreak;\ncase 4: var anf_arg1388 = $ans1422;\n$ans1422 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[559],L[560]);\nvar anf_fun1374 = $ans1422;\n$step1421 = 5;\n$al1423 = L[560];\nif(typeof(anf_fun1374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1374);\n}\n$ans1422 = anf_fun1374.app(fl1373);\nbreak;\ncase 5: var anf_arg859 = $ans1422;\n$step1421 = 6;\n$al1423 = L[564];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1388,anf_arg859,n1366);\nbreak;\ncase 6: var anf_arg860 = $ans1422;\n$step1421 = 7;\n$al1423 = L[563];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\" to have a field named \"));\nbreak;\ncase 7: var anf_arg1491 = $ans1422;\n$step1421 = 8;\n$al1423 = L[562];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app(ff1389);\nbreak;\ncase 8: var anf_arg862 = $ans1422;\n$step1421 = 9;\n$al1423 = L[561];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"code\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"code\"].app(anf_arg862);\nbreak;\ncase 9: var anf_arg864 = $ans1422;\n$step1421 = 16;\n$al1423 = L[558];\nif(typeof(anf_fun1390.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1390);\n}\n$ans1422 = anf_fun1390.app(anf_arg1391,anf_arg860,anf_arg1491,anf_arg864);\nbreak;\ncase 10: $ans1422 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[567],L[568]);\nvar anf_fun1392 = $ans1422;\n$step1421 = 11;\n$al1423 = L[573];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"The value was expected to have a field named \"));\nbreak;\ncase 11: var anf_arg1393 = $ans1422;\n$step1421 = 12;\n$al1423 = L[572];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app(ff1389);\nbreak;\ncase 12: var anf_arg875 = $ans1422;\n$step1421 = 13;\n$al1423 = L[571];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"code\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"code\"].app(anf_arg875);\nbreak;\ncase 13: var anf_arg877 = $ans1422;\n$step1421 = 14;\n$al1423 = L[570];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 14: var anf_arg1398 = $ans1422;\n$step1421 = 15;\n$al1423 = L[569];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"loc\"].app(fl1373);\nbreak;\ncase 15: var anf_arg1418 = $ans1422;\n$step1421 = 16;\n$al1423 = L[568];\nif(typeof(anf_fun1392.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1392);\n}\n$ans1422 = anf_fun1392.app(anf_arg1393,anf_arg877,anf_arg1398,anf_arg1418);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1422;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1421);\n}\n}\nif($step1421 !== 16) {\n$ans1422.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1423,$temp_branch1420,$step1421,[fl1373,ff1389],[anf_arg1491,anf_arg1393,anf_arg1398,anf_arg1388,anf_arg860,anf_arg877,anf_fun1390,anf_fun1392,anf_arg1391],$elidedFrames1425);\n}\nreturn $ans1422;\n};\n$ans1368 = cases1372.$app_fields($temp_branch1420,[false,false]);\nbreak;\ncase 3: if(cases1372.$arity !== 3) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[578],3,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[578],true,L[576],cases1372.$loc);\n}\n}\nvar $fn1428 = cases1372.$constructor.$fieldNames;\nR.dF(cases1372.dict[$fn1428[0]],cases1372.$mut_fields_mask[0],false);\nR.dF(cases1372.dict[$fn1428[1]],cases1372.$mut_fields_mask[1],false);\nR.dF(cases1372.dict[$fn1428[2]],cases1372.$mut_fields_mask[2],false);\n$step1364 = 6;\n$ans1368 = R.maybeMethodCall2(failure1367,\"render-reason\",L[577],loc1352,from$fail$arg1353);\nbreak;\ncase 4: if(cases1372.$arity !== 3) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[580],3,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[580],true,L[576],cases1372.$loc);\n}\n}\nvar $fn1433 = cases1372.$constructor.$fieldNames;\nR.dF(cases1372.dict[$fn1433[0]],cases1372.$mut_fields_mask[0],false);\nR.dF(cases1372.dict[$fn1433[1]],cases1372.$mut_fields_mask[1],false);\nR.dF(cases1372.dict[$fn1433[2]],cases1372.$mut_fields_mask[2],false);\n$step1364 = 6;\n$ans1368 = R.maybeMethodCall2(failure1367,\"render-reason\",L[579],loc1352,from$fail$arg1353);\nbreak;\ncase 5: $ans1368 = R.throwNoCasesMatched(L[576],cases1372);\n$step1364 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1368;\ndefault: R.ffi.throwSpinnakerError(L[556],$step1364);\n}\n}\nif($step1364 !== 6) {\n$ans1368.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1369,$temp_lam1365,$step1364,[n1366,failure1367],[cases1372],$elidedFrames1371);\n}\nreturn $ans1368;\n};\nvar anf_arg1536 = R.mF($temp_lam1365,\"\");\n$al1358 = L[582];\nvar anf_arg898 = G(self1351,\"anns-failures\",L[582]);\n$step1349 = 30;\n$al1358 = L[584];\n// omitting isFunction check;\n$ans1357 = map_n1.app(anf_arg1536,(0),anf_arg898);\nbreak;\ncase 30: var anf_arg899 = $ans1357;\n$step1349 = 31;\n$al1358 = L[583];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg899);\nbreak;\ncase 31: var anf_arg1441 = $ans1357;\n$step1349 = 32;\n$al1358 = L[555];\nif(typeof(anf_fun1440.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1440);\n}\n$ans1357 = anf_fun1440.app(anf_arg1463,anf_arg1441);\nbreak;\ncase 32: var anf_arg901 = $ans1357;\n$step1349 = 33;\n$al1358 = L[549];\nif(typeof(anf_fun1442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1442);\n}\n$ans1357 = anf_fun1442.app(anf_arg1342,anf_arg1446,anf_arg1382,anf_arg1465,anf_arg901);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1357;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1349);\n}\n}\nif($step1349 !== 33) {\n$ans1357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1358,$temp_full1350,$step1349,[self1351,loc1352,from$fail$arg1353,maybe$stack$loc1354,src$available1355,maybe$ast1356],[anf_arg1382,anf_arg1463,anf_arg1342,anf_arg1288,anf_fun1506,anf_arg1498,anf_arg1465,anf_arg1324,anf_arg1446,cases1466,anf_arg649,anf_arg617,anf_fun1361,anf_fun1440,anf_fun1442,anf_fun1486,anf_fun1497,anf_fun605],$elidedFrames1360);\n}\nreturn $ans1357;\n};\nvar anf_variant_member1742 = R.makeMethod5($temp_full1350,\"render-fancy-reason\");\nvar $temp_full1516 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__627($self1517,$loc1518,$from$fail$arg1519) {\nvar $step1515 = 0;\nvar $elidedFrames1523 = 0;\nvar $ans1520 = D;\nvar $al1521 = L[627];\nif(R.isAR($self1517)) {\n$step1515 = $self1517.step;\n$al1521 = $self1517.from;\n$ans1520 = $self1517.ans;\n$elidedFrames1523 = $self1517.elidedFrames;\nself1517 = $self1517.args[0];\nloc1518 = $self1517.args[1];\nfrom$fail$arg1519 = $self1517.args[2];\nanf_fun937 = $self1517.vars[0];\nanf_fun1524 = $self1517.vars[1];\nanf_arg1543 = $self1517.vars[2];\nanf_arg1547 = $self1517.vars[3];\nanf_arg1526 = $self1517.vars[4];\nanf_arg1527 = $self1517.vars[5];\nanf_arg915 = $self1517.vars[6];\nanf_fun1540 = $self1517.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[627],3,$t,true);\n}\nvar self1517 = $self1517;\nvar loc1518 = $loc1518;\nvar from$fail$arg1519 = $from$fail$arg1519;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1520 = R.mC();\n}\nwhile(!R.isContinuation($ans1520)) {\nswitch($step1515) {\ncase 0: $ans1520 = R.getMaker4(ED5.dict.values.dict[\"vert\"],(\"make4\"),L[628],L[629]);\nvar anf_fun1540 = $ans1520;\n$ans1520 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[630],L[631]);\nvar anf_fun1524 = $ans1520;\n$step1515 = 1;\n$al1521 = L[643];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 1: var anf_arg1526 = $ans1520;\n$step1515 = 2;\n$al1521 = L[642];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"loc\"].app(loc1518);\nbreak;\ncase 2: var anf_arg1527 = $ans1520;\n$step1515 = 3;\n$al1521 = L[641];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\" failed on this value:\"));\nbreak;\ncase 3: var anf_arg913 = $ans1520;\n$step1515 = 4;\n$al1521 = L[631];\nif(typeof(anf_fun1524.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun1524);\n}\n$ans1520 = anf_fun1524.app(anf_arg1526,anf_arg1527,anf_arg913);\nbreak;\ncase 4: var anf_arg915 = $ans1520;\n$al1521 = L[632];\nvar anf_arg1528 = G(self1517,\"val\",L[632]);\n$step1515 = 5;\n$al1521 = L[640];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"embed\"].app(anf_arg1528);\nbreak;\ncase 5: var anf_arg1543 = $ans1520;\n$ans1520 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[633],L[634]);\nvar anf_fun937 = $ans1520;\n$step1515 = 6;\n$al1521 = L[639];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\"Because: \"));\nbreak;\ncase 6: var anf_arg943 = $ans1520;\n$step1515 = 7;\n$al1521 = L[634];\nif(typeof(anf_fun937.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun937);\n}\n$ans1520 = anf_fun937.app(anf_arg943);\nbreak;\ncase 7: var anf_arg1547 = $ans1520;\n$al1521 = L[635];\nvar anf_method_obj1538 = G(self1517,\"anns-failures\",L[635]);\nvar $temp_lam1531 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__636($recv_1532) {\nvar $step1530 = 0;\nvar $elidedFrames1536 = 0;\nvar $ans1533 = D;\nvar $al1534 = L[636];\nif(R.isAR($recv_1532)) {\n$step1530 = $recv_1532.step;\n$al1534 = $recv_1532.from;\n$ans1533 = $recv_1532.ans;\n$elidedFrames1536 = $recv_1532.elidedFrames;\nrecv_1532 = $recv_1532.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[636],1,$t,false);\n}\nvar recv_1532 = $recv_1532;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1533 = R.mC();\n}\nwhile(!R.isContinuation($ans1533)) {\nswitch($step1530) {\ncase 0: $step1530 = 1;\n$ans1533 = R.maybeMethodCall2(recv_1532,\"render-reason\",L[636],loc1518,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1533;\ndefault: R.ffi.throwSpinnakerError(L[636],$step1530);\n}\n}\nif($step1530 !== 1) {\n$ans1533.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1534,$temp_lam1531,$step1530,[recv_1532],[],$elidedFrames1536);\n}\nreturn $ans1533;\n};\nvar anf_arg1539 = R.mF($temp_lam1531,\"\");\n$step1515 = 8;\n$ans1520 = R.maybeMethodCall1(anf_method_obj1538,\"map\",L[637],anf_arg1539);\nbreak;\ncase 8: var anf_arg1606 = $ans1520;\n$step1515 = 9;\n$al1521 = L[638];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1606);\nbreak;\ncase 9: var anf_arg1557 = $ans1520;\n$step1515 = 10;\n$al1521 = L[629];\nif(typeof(anf_fun1540.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun1540);\n}\n$ans1520 = anf_fun1540.app(anf_arg915,anf_arg1543,anf_arg1547,anf_arg1557);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1520;\ndefault: R.ffi.throwSpinnakerError(L[627],$step1515);\n}\n}\nif($step1515 !== 10) {\n$ans1520.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1521,$temp_full1516,$step1515,[self1517,loc1518,from$fail$arg1519],[anf_fun937,anf_fun1524,anf_arg1543,anf_arg1547,anf_arg1526,anf_arg1527,anf_arg915,anf_fun1540],$elidedFrames1523);\n}\nreturn $ans1520;\n};\nvar anf_variant_member1837 = R.makeMethod2($temp_full1516,\"render-reason\");\nvar $temp_full1560 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__644($self1561,$loc1562,$from$fail$arg1563,$maybe$stack$loc1564,$src$available1565,$maybe$ast1566) {\nvar $step1559 = 0;\nvar $elidedFrames1570 = 0;\nvar $ans1567 = D;\nvar $al1568 = L[644];\nif(R.isAR($self1561)) {\n$step1559 = $self1561.step;\n$al1568 = $self1561.from;\n$ans1567 = $self1561.ans;\n$elidedFrames1570 = $self1561.elidedFrames;\nself1561 = $self1561.args[0];\nloc1562 = $self1561.args[1];\nfrom$fail$arg1563 = $self1561.args[2];\nmaybe$stack$loc1564 = $self1561.args[3];\nsrc$available1565 = $self1561.args[4];\nmaybe$ast1566 = $self1561.args[5];\nanf_fun1643 = $self1561.vars[0];\nanf_arg1096 = $self1561.vars[1];\nanf_arg1031 = $self1561.vars[2];\nanf_arg1034 = $self1561.vars[3];\nanf_arg1595 = $self1561.vars[4];\nanf_arg1046 = $self1561.vars[5];\nanf_arg1079 = $self1561.vars[6];\nanf_arg1596 = $self1561.vars[7];\nanf_arg1641 = $self1561.vars[8];\nanf_arg1597 = $self1561.vars[9];\nanf_arg1631 = $self1561.vars[10];\nanf_arg1639 = $self1561.vars[11];\ncases1599 = $self1561.vars[12];\nanf_fun1594 = $self1561.vars[13];\nanf_arg1092 = $self1561.vars[14];\nanf_fun1640 = $self1561.vars[15];\nanf_fun1631 = $self1561.vars[16];\nanf_fun1642 = $self1561.vars[17];\nanf_fun1598 = $self1561.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[644],6,$t,true);\n}\nvar self1561 = $self1561;\nvar loc1562 = $loc1562;\nvar from$fail$arg1563 = $from$fail$arg1563;\nvar maybe$stack$loc1564 = $maybe$stack$loc1564;\nvar src$available1565 = $src$available1565;\nvar maybe$ast1566 = $maybe$ast1566;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1567 = R.mC();\n}\nwhile(!R.isContinuation($ans1567)) {\nswitch($step1559) {\ncase 0: $ans1567 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[645],L[646]);\nvar anf_fun1598 = $ans1567;\n$step1559 = 1;\n$ans1567 = R.maybeMethodCall0(loc1562,\"is-builtin\",L[647]);\nbreak;\ncase 1: var anf_if1645 = $ans1567;\n$step1559 = R.checkPyretTrue(anf_if1645)?2:5;\nbreak;\ncase 2: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[679],L[680]);\nvar anf_fun1631 = $ans1567;\n$step1559 = 3;\n$al1568 = L[682];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 3: var anf_arg1631 = $ans1567;\n$step1559 = 4;\n$al1568 = L[681];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"loc\"].app(loc1562);\nbreak;\ncase 4: var anf_arg1638 = $ans1567;\n$step1559 = 17;\n$al1568 = L[680];\nif(typeof(anf_fun1631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1631);\n}\n$ans1567 = anf_fun1631.app(anf_arg1631,anf_arg1638);\nbreak;\ncase 5: $step1559 = 6;\n$al1568 = L[697];\nif(typeof(src$available1565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,src$available1565);\n}\n$ans1567 = src$available1565.app(loc1562);\nbreak;\ncase 6: var anf_if1644 = $ans1567;\n$step1559 = R.checkPyretTrue(anf_if1644)?7:14;\nbreak;\ncase 7: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[683],L[684]);\nvar anf_fun1642 = $ans1567;\n$ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[685],L[686]);\nvar anf_fun1640 = $ans1567;\n$step1559 = 8;\n$al1568 = L[692];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 8: var anf_arg1641 = $ans1567;\n$step1559 = 9;\n$al1568 = L[691];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"tuple annotation\"));\nbreak;\ncase 9: var anf_arg1639 = $ans1567;\n$ans1567 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[687],L[688]);\nvar anf_fun1664 = $ans1567;\n$step1559 = 10;\n$al1568 = L[688];\nif(typeof(anf_fun1664.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1664);\n}\n$ans1567 = anf_fun1664.app(loc1562);\nbreak;\ncase 10: var anf_arg1029 = $ans1567;\n$step1559 = 11;\n$al1568 = L[690];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1639,anf_arg1029,(0));\nbreak;\ncase 11: var anf_arg1030 = $ans1567;\n$step1559 = 12;\n$al1568 = L[686];\nif(typeof(anf_fun1640.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1640);\n}\n$ans1567 = anf_fun1640.app(anf_arg1641,anf_arg1030);\nbreak;\ncase 12: var anf_arg1031 = $ans1567;\n$step1559 = 13;\n$al1568 = L[689];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"cmcode\"].app(loc1562);\nbreak;\ncase 13: var anf_arg1032 = $ans1567;\n$step1559 = 17;\n$al1568 = L[684];\nif(typeof(anf_fun1642.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1642);\n}\n$ans1567 = anf_fun1642.app(anf_arg1031,anf_arg1032);\nbreak;\ncase 14: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[693],L[694]);\nvar anf_fun1643 = $ans1567;\n$step1559 = 15;\n$al1568 = L[696];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 15: var anf_arg1034 = $ans1567;\n$step1559 = 16;\n$al1568 = L[695];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"loc\"].app(loc1562);\nbreak;\ncase 16: var anf_arg1043 = $ans1567;\n$step1559 = 17;\n$al1568 = L[694];\nif(typeof(anf_fun1643.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1643);\n}\n$ans1567 = anf_fun1643.app(anf_arg1034,anf_arg1043);\nbreak;\ncase 17: var anf_arg1046 = $ans1567;\n$ans1567 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[648],L[649]);\nvar anf_fun1594 = $ans1567;\n$step1559 = 18;\n$al1568 = L[678];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"which expects a tuple containing exactly \"));\nbreak;\ncase 18: var anf_arg1595 = $ans1567;\n$al1568 = L[650];\nvar anf_arg1593 = G(self1561,\"annLength\",L[650]);\n$step1559 = 19;\n$al1568 = L[677];\nif(typeof(ED5.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"ed-components\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"ed-components\"].app(anf_arg1593);\nbreak;\ncase 19: var anf_arg1596 = $ans1567;\n$step1559 = 20;\n$al1568 = L[676];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\" was not satisfied by the \"));\nbreak;\ncase 20: var anf_arg1597 = $ans1567;\n$al1568 = L[651];\nvar anf_arg1072 = G(self1561,\"tupleLength\",L[651]);\n$step1559 = 21;\n$al1568 = L[675];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"embed\"].app(anf_arg1072);\nbreak;\ncase 21: var anf_arg1079 = $ans1567;\n$step1559 = 22;\n$al1568 = L[674];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\" component tuple:\"));\nbreak;\ncase 22: var anf_arg1084 = $ans1567;\n$step1559 = 23;\n$al1568 = L[649];\nif(typeof(anf_fun1594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1594);\n}\n$ans1567 = anf_fun1594.app(anf_arg1595,anf_arg1596,anf_arg1597,anf_arg1079,anf_arg1084);\nbreak;\ncase 23: var anf_arg1092 = $ans1567;\n$al1568 = L[652];\nvar anf_arg1094 = G(self1561,\"val\",L[652]);\n$step1559 = 24;\n$al1568 = L[673];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"embed\"].app(anf_arg1094);\nbreak;\ncase 24: var anf_arg1096 = $ans1567;\n$step1559 = R.checkPyretTrue(from$fail$arg1563)?25:31;\nbreak;\ncase 25: $step1559 = 26;\n$al1568 = L[670];\nif(typeof(maybe$stack$loc1564.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,maybe$stack$loc1564);\n}\n$ans1567 = maybe$stack$loc1564.app((1),(true));\nbreak;\ncase 26: var cases1599 = $ans1567;\n$step1559 = 27;\n$al1568 = L[669];\nvar $ann$check1622 = R._cA(L[669],Option4,cases1599);\nif(R.isContinuation($ann$check1622)) {\n$ans1567 = $ann$check1622;\n}\nbreak;\ncase 27: $al1568 = L[665];\n$step1559 = $cases_dispatch1621[cases1599.$name] || 30;\nbreak;\ncase 28: if(cases1599.$arity !== 1) {\nif(cases1599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[664],1,cases1599.$arity,L[665],cases1599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[664],true,L[665],cases1599.$loc);\n}\n}\n$step1559 = 32;\n$al1568 = L[664];\nvar $temp_branch1613 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__665($sender1600) {\nvar $step1614 = 0;\nvar $elidedFrames1618 = 0;\nvar $ans1615 = D;\nvar $al1616 = L[663];\nif(R.isAR($sender1600)) {\n$step1614 = $sender1600.step;\n$al1616 = $sender1600.from;\n$ans1615 = $sender1600.ans;\n$elidedFrames1618 = $sender1600.elidedFrames;\nsender1600 = $sender1600.args[0];\nanf_fun1601 = $sender1600.vars[0];\nanf_fun1602 = $sender1600.vars[1];\nanf_fun1605 = $sender1600.vars[2];\nanf_arg1810 = $sender1600.vars[3];\nanf_arg1612 = $sender1600.vars[4];\n} else {\nvar sender1600 = $sender1600;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1615 = R.mC();\n}\nwhile(!R.isContinuation($ans1615)) {\nswitch($step1614) {\ncase 0: $step1614 = 1;\n$al1616 = L[663];\nif(typeof(src$available1565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,src$available1565);\n}\n$ans1615 = src$available1565.app(sender1600);\nbreak;\ncase 1: var anf_if1819 = $ans1615;\n$step1614 = R.checkPyretTrue(anf_if1819)?2:6;\nbreak;\ncase 2: $ans1615 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[653],L[654]);\nvar anf_fun1602 = $ans1615;\n$ans1615 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[655],L[656]);\nvar anf_fun1601 = $ans1615;\n$step1614 = 3;\n$al1616 = L[658];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"text\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1111 = $ans1615;\n$step1614 = 4;\n$al1616 = L[656];\nif(typeof(anf_fun1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1601);\n}\n$ans1615 = anf_fun1601.app(anf_arg1111);\nbreak;\ncase 4: var anf_arg1810 = $ans1615;\n$step1614 = 5;\n$al1616 = L[657];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"cmcode\"].app(sender1600);\nbreak;\ncase 5: var anf_arg1603 = $ans1615;\n$step1614 = 9;\n$al1616 = L[654];\nif(typeof(anf_fun1602.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1602);\n}\n$ans1615 = anf_fun1602.app(anf_arg1810,anf_arg1603);\nbreak;\ncase 6: $ans1615 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[659],L[660]);\nvar anf_fun1605 = $ans1615;\n$step1614 = 7;\n$al1616 = L[662];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"text\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1612 = $ans1615;\n$step1614 = 8;\n$al1616 = L[661];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"loc\"].app(sender1600);\nbreak;\ncase 8: var anf_arg1142 = $ans1615;\n$step1614 = 9;\n$al1616 = L[660];\nif(typeof(anf_fun1605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1605);\n}\n$ans1615 = anf_fun1605.app(anf_arg1612,anf_arg1142);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1615;\ndefault: R.ffi.throwSpinnakerError(L[663],$step1614);\n}\n}\nif($step1614 !== 9) {\n$ans1615.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1616,$temp_branch1613,$step1614,[sender1600],[anf_fun1601,anf_fun1602,anf_fun1605,anf_arg1810,anf_arg1612],$elidedFrames1618);\n}\nreturn $ans1615;\n};\n$ans1567 = cases1599.$app_fields($temp_branch1613,[false]);\nbreak;\ncase 29: if(cases1599.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[668],false,L[665],cases1599.$loc);\n}\n$ans1567 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[666],L[667]);\nvar anf_fun1620 = $ans1567;\n$step1559 = 32;\n$al1568 = L[667];\nif(typeof(anf_fun1620.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1620);\n}\n$ans1567 = anf_fun1620.app();\nbreak;\ncase 30: $ans1567 = R.throwNoCasesMatched(L[665],cases1599);\n$step1559 = 32;\nbreak;\ncase 31: $ans1567 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[671],L[672]);\nvar anf_fun1623 = $ans1567;\n$step1559 = 32;\n$al1568 = L[672];\nif(typeof(anf_fun1623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1623);\n}\n$ans1567 = anf_fun1623.app();\nbreak;\ncase 32: var anf_arg1816 = $ans1567;\n$step1559 = 33;\n$al1568 = L[646];\nif(typeof(anf_fun1598.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1598);\n}\n$ans1567 = anf_fun1598.app(anf_arg1046,anf_arg1092,anf_arg1096,anf_arg1816);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1567;\ndefault: R.ffi.throwSpinnakerError(L[644],$step1559);\n}\n}\nif($step1559 !== 33) {\n$ans1567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1568,$temp_full1560,$step1559,[self1561,loc1562,from$fail$arg1563,maybe$stack$loc1564,src$available1565,maybe$ast1566],[anf_fun1643,anf_arg1096,anf_arg1031,anf_arg1034,anf_arg1595,anf_arg1046,anf_arg1079,anf_arg1596,anf_arg1641,anf_arg1597,anf_arg1631,anf_arg1639,cases1599,anf_fun1594,anf_arg1092,anf_fun1640,anf_fun1631,anf_fun1642,anf_fun1598],$elidedFrames1570);\n}\nreturn $ans1567;\n};\nvar anf_variant_member1846 = R.makeMethod5($temp_full1560,\"render-fancy-reason\");\nvar $temp_full1648 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__698($self1649,$loc1650,$fail$from$arg1651) {\nvar $step1647 = 0;\nvar $elidedFrames1656 = 0;\nvar $ans1653 = D;\nvar $al1654 = L[698];\nif(R.isAR($self1649)) {\n$step1647 = $self1649.step;\n$al1654 = $self1649.from;\n$ans1653 = $self1649.ans;\n$elidedFrames1656 = $self1649.elidedFrames;\nself1649 = $self1649.args[0];\nloc1650 = $self1649.args[1];\nfail$from$arg1651 = $self1649.args[2];\nanf_arg1172 = $self1649.vars[0];\nanf_arg1176 = $self1649.vars[1];\nanf_fun1658 = $self1649.vars[2];\nanf_fun1669 = $self1649.vars[3];\nanf_arg1671 = $self1649.vars[4];\nanf_arg1668 = $self1649.vars[5];\nanf_arg1838 = $self1649.vars[6];\nanf_fun1670 = $self1649.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[698],3,$t,true);\n}\nvar self1649 = $self1649;\nvar loc1650 = $loc1650;\nvar fail$from$arg1651 = $fail$from$arg1651;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1653 = R.mC();\n}\nwhile(!R.isContinuation($ans1653)) {\nswitch($step1647) {\ncase 0: $ans1653 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[699],L[700]);\nvar anf_fun1670 = $ans1653;\n$ans1653 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[701],L[702]);\nvar anf_fun1658 = $ans1653;\n$step1647 = 1;\n$al1654 = L[712];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 1: var anf_arg1172 = $ans1653;\n$step1647 = 2;\n$al1654 = L[711];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(loc1650);\nbreak;\ncase 2: var anf_arg1668 = $ans1653;\n$step1647 = 3;\n$al1654 = L[710];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\" expected the given tuple to be of length \"));\nbreak;\ncase 3: var anf_arg1176 = $ans1653;\n$al1654 = L[703];\nvar anf_arg1834 = G(self1649,\"annLength\",L[703]);\n$step1647 = 4;\n$al1654 = L[709];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(anf_arg1834);\nbreak;\ncase 4: var anf_arg1836 = $ans1653;\n$step1647 = 5;\n$al1654 = L[702];\nif(typeof(anf_fun1658.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1658);\n}\n$ans1653 = anf_fun1658.app(anf_arg1172,anf_arg1668,anf_arg1176,anf_arg1836);\nbreak;\ncase 5: var anf_arg1671 = $ans1653;\n$ans1653 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[704],L[705]);\nvar anf_fun1669 = $ans1653;\n$step1647 = 6;\n$al1654 = L[708];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\"The given tuple had the incorrect length of \"));\nbreak;\ncase 6: var anf_arg1838 = $ans1653;\n$al1654 = L[706];\nvar anf_arg1841 = G(self1649,\"tupleLength\",L[706]);\n$step1647 = 7;\n$al1654 = L[707];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(anf_arg1841);\nbreak;\ncase 7: var anf_arg1844 = $ans1653;\n$step1647 = 8;\n$al1654 = L[705];\nif(typeof(anf_fun1669.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1669);\n}\n$ans1653 = anf_fun1669.app(anf_arg1838,anf_arg1844);\nbreak;\ncase 8: var anf_arg1198 = $ans1653;\n$step1647 = 9;\n$al1654 = L[700];\nif(typeof(anf_fun1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1670);\n}\n$ans1653 = anf_fun1670.app(anf_arg1671,anf_arg1198);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1653;\ndefault: R.ffi.throwSpinnakerError(L[698],$step1647);\n}\n}\nif($step1647 !== 9) {\n$ans1653.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1654,$temp_full1648,$step1647,[self1649,loc1650,fail$from$arg1651],[anf_arg1172,anf_arg1176,anf_fun1658,anf_fun1669,anf_arg1671,anf_arg1668,anf_arg1838,anf_fun1670],$elidedFrames1656);\n}\nreturn $ans1653;\n};\nvar anf_variant_member1847 = R.makeMethod2($temp_full1648,\"render-reason\");\nvar $temp_full1674 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__713($self1675,$loc1676,$from$fail$arg1677,$maybe$stack$loc1678,$src$available1679,$maybe$ast1680) {\nvar $step1673 = 0;\nvar $elidedFrames1685 = 0;\nvar $ans1682 = D;\nvar $al1683 = L[713];\nif(R.isAR($self1675)) {\n$step1673 = $self1675.step;\n$al1683 = $self1675.from;\n$ans1682 = $self1675.ans;\n$elidedFrames1685 = $self1675.elidedFrames;\nself1675 = $self1675.args[0];\nloc1676 = $self1675.args[1];\nfrom$fail$arg1677 = $self1675.args[2];\nmaybe$stack$loc1678 = $self1675.args[3];\nsrc$available1679 = $self1675.args[4];\nmaybe$ast1680 = $self1675.args[5];\nanf_fun1720 = $self1675.vars[0];\nanf_fun1731 = $self1675.vars[1];\nanf_fun1698 = $self1675.vars[2];\nanf_fun1711 = $self1675.vars[3];\nanf_fun1734 = $self1675.vars[4];\nanf_fun1702 = $self1675.vars[5];\nanf_arg1364 = $self1675.vars[6];\nanf_fun1714 = $self1675.vars[7];\nanf_array1697 = $self1675.vars[8];\nanf_array1732 = $self1675.vars[9];\nanf_arg1861 = $self1675.vars[10];\nanf_arg1223 = $self1675.vars[11];\nanf_fun1717 = $self1675.vars[12];\nanf_arg1873 = $self1675.vars[13];\nanf_arg1368 = $self1675.vars[14];\nanf_array1712 = $self1675.vars[15];\nanf_arg1313 = $self1675.vars[16];\nanf_arg1369 = $self1675.vars[17];\nanf_arg1942 = $self1675.vars[18];\nanf_arg1723 = $self1675.vars[19];\nanf_arg1878 = $self1675.vars[20];\nanf_arg1703 = $self1675.vars[21];\nanf_arg1208 = $self1675.vars[22];\nanf_arg1716 = $self1675.vars[23];\nanf_arg1739 = $self1675.vars[24];\nanf_arg1718 = $self1675.vars[25];\nanf_fun1692 = $self1675.vars[26];\nanf_fun1693 = $self1675.vars[27];\nanf_fun1696 = $self1675.vars[28];\nanf_arg1270 = $self1675.vars[29];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[713],6,$t,true);\n}\nvar self1675 = $self1675;\nvar loc1676 = $loc1676;\nvar from$fail$arg1677 = $from$fail$arg1677;\nvar maybe$stack$loc1678 = $maybe$stack$loc1678;\nvar src$available1679 = $src$available1679;\nvar maybe$ast1680 = $maybe$ast1680;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1682 = R.mC();\n}\nwhile(!R.isContinuation($ans1682)) {\nswitch($step1673) {\ncase 0: $step1673 = 1;\n$ans1682 = R.maybeMethodCall0(loc1676,\"is-builtin\",L[714]);\nbreak;\ncase 1: var anf_if1741 = $ans1682;\n$step1673 = R.checkPyretTrue(anf_if1741)?2:23;\nbreak;\ncase 2: $ans1682 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[715],L[716]);\nvar anf_fun1698 = $ans1682;\n$ans1682 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[717],L[718]);\nvar anf_fun1693 = $ans1682;\n$step1673 = 3;\n$al1683 = L[744];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The dot-annotation \"));\nbreak;\ncase 3: var anf_arg1208 = $ans1682;\n$ans1682 = R.getMaker3(ED5.dict.values.dict[\"sequence\"],(\"make3\"),L[719],L[720]);\nvar anf_fun1692 = $ans1682;\n$al1683 = L[721];\nvar anf_arg1688 = G(self1675,\"name\",L[721]);\n$step1673 = 4;\n$al1683 = L[743];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1688);\nbreak;\ncase 4: var anf_arg1861 = $ans1682;\n$step1673 = 5;\n$al1683 = L[742];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg1223 = $ans1682;\n$al1683 = L[722];\nvar anf_arg1691 = G(self1675,\"field\",L[722]);\n$step1673 = 6;\n$al1683 = L[741];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1691);\nbreak;\ncase 6: var anf_arg1224 = $ans1682;\n$step1673 = 7;\n$al1683 = L[720];\nif(typeof(anf_fun1692.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1692);\n}\n$ans1682 = anf_fun1692.app(anf_arg1861,anf_arg1223,anf_arg1224);\nbreak;\ncase 7: var anf_arg1225 = $ans1682;\n$step1673 = 8;\n$al1683 = L[740];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1225);\nbreak;\ncase 8: var anf_arg1873 = $ans1682;\n$step1673 = 9;\n$al1683 = L[739];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 9: var anf_arg1878 = $ans1682;\n$step1673 = 10;\n$al1683 = L[738];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"loc\"].app(loc1676);\nbreak;\ncase 10: var anf_arg1694 = $ans1682;\n$step1673 = 11;\n$al1683 = L[718];\nif(typeof(anf_fun1693.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1693);\n}\n$ans1682 = anf_fun1693.app(anf_arg1208,anf_arg1873,anf_arg1878,anf_arg1694);\nbreak;\ncase 11: var anf_arg1270 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[723],L[724]);\nvar anf_fun1696 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1697 = $ans1682;\n$step1673 = 12;\n$al1683 = L[737];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 12: anf_array1697[0] = $ans1682;\n$al1683 = L[725];\nvar anf_arg1695 = G(self1675,\"field\",L[725]);\n$step1673 = 13;\n$al1683 = L[736];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1695);\nbreak;\ncase 13: var anf_arg1251 = $ans1682;\n$step1673 = 14;\n$al1683 = L[735];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1251);\nbreak;\ncase 14: anf_array1697[1] = $ans1682;\n$step1673 = 15;\n$al1683 = L[734];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 15: anf_array1697[2] = $ans1682;\n$al1683 = L[726];\nvar anf_arg1256 = G(self1675,\"name\",L[726]);\n$step1673 = 16;\n$al1683 = L[733];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1256);\nbreak;\ncase 16: var anf_arg1881 = $ans1682;\n$step1673 = 17;\n$al1683 = L[732];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1881);\nbreak;\ncase 17: anf_array1697[3] = $ans1682;\n$step1673 = 18;\n$al1683 = L[731];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 18: anf_array1697[4] = $ans1682;\n$al1683 = L[727];\nvar anf_arg1882 = G(self1675,\"field\",L[727]);\n$step1673 = 19;\n$al1683 = L[730];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1882);\nbreak;\ncase 19: var anf_arg1883 = $ans1682;\n$step1673 = 20;\n$al1683 = L[729];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1883);\nbreak;\ncase 20: anf_array1697[5] = $ans1682;\n$step1673 = 21;\n$al1683 = L[728];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 21: anf_array1697[6] = $ans1682;\n$step1673 = 22;\n$al1683 = L[724];\nif(typeof(anf_fun1696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1696);\n}\n$ans1682 = anf_fun1696.app(anf_array1697);\nbreak;\ncase 22: var anf_arg1700 = $ans1682;\n$step1673 = 64;\n$al1683 = L[716];\nif(typeof(anf_fun1698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1698);\n}\n$ans1682 = anf_fun1698.app(anf_arg1270,anf_arg1700);\nbreak;\ncase 23: $step1673 = 24;\n$al1683 = L[800];\nif(typeof(src$available1679.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,src$available1679);\n}\n$ans1682 = src$available1679.app(loc1676);\nbreak;\ncase 24: var anf_if1740 = $ans1682;\n$step1673 = R.checkPyretTrue(anf_if1740)?25:43;\nbreak;\ncase 25: $ans1682 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[745],L[746]);\nvar anf_fun1714 = $ans1682;\n$ans1682 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[747],L[748]);\nvar anf_fun1702 = $ans1682;\n$step1673 = 26;\n$al1683 = L[769];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 26: var anf_arg1703 = $ans1682;\n$step1673 = 27;\n$al1683 = L[768];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"dot-annotation\"));\nbreak;\ncase 27: var anf_arg1942 = $ans1682;\n$ans1682 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[749],L[750]);\nvar anf_fun1701 = $ans1682;\n$step1673 = 28;\n$al1683 = L[750];\nif(typeof(anf_fun1701.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1701);\n}\n$ans1682 = anf_fun1701.app(loc1676);\nbreak;\ncase 28: var anf_arg1922 = $ans1682;\n$step1673 = 29;\n$al1683 = L[767];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1942,anf_arg1922,(0));\nbreak;\ncase 29: var anf_arg1928 = $ans1682;\n$step1673 = 30;\n$al1683 = L[748];\nif(typeof(anf_fun1702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1702);\n}\n$ans1682 = anf_fun1702.app(anf_arg1703,anf_arg1928);\nbreak;\ncase 30: var anf_arg1716 = $ans1682;\n$step1673 = 31;\n$al1683 = L[766];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"cmcode\"].app(loc1676);\nbreak;\ncase 31: var anf_arg1313 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[751],L[752]);\nvar anf_fun1711 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1712 = $ans1682;\n$step1673 = 32;\n$al1683 = L[765];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 32: anf_array1712[0] = $ans1682;\n$al1683 = L[753];\nvar anf_arg1319 = G(self1675,\"field\",L[753]);\n$step1673 = 33;\n$al1683 = L[764];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1319);\nbreak;\ncase 33: var anf_arg1710 = $ans1682;\n$step1673 = 34;\n$al1683 = L[763];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1710);\nbreak;\ncase 34: anf_array1712[1] = $ans1682;\n$step1673 = 35;\n$al1683 = L[762];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 35: anf_array1712[2] = $ans1682;\n$al1683 = L[754];\nvar anf_arg1935 = G(self1675,\"name\",L[754]);\n$step1673 = 36;\n$al1683 = L[761];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1935);\nbreak;\ncase 36: var anf_arg1932 = $ans1682;\n$step1673 = 37;\n$al1683 = L[760];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1932);\nbreak;\ncase 37: anf_array1712[3] = $ans1682;\n$step1673 = 38;\n$al1683 = L[759];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 38: anf_array1712[4] = $ans1682;\n$al1683 = L[755];\nvar anf_arg1334 = G(self1675,\"field\",L[755]);\n$step1673 = 39;\n$al1683 = L[758];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1334);\nbreak;\ncase 39: var anf_arg1939 = $ans1682;\n$step1673 = 40;\n$al1683 = L[757];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1939);\nbreak;\ncase 40: anf_array1712[5] = $ans1682;\n$step1673 = 41;\n$al1683 = L[756];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 41: anf_array1712[6] = $ans1682;\n$step1673 = 42;\n$al1683 = L[752];\nif(typeof(anf_fun1711.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1711);\n}\n$ans1682 = anf_fun1711.app(anf_array1712);\nbreak;\ncase 42: var anf_arg1337 = $ans1682;\n$step1673 = 64;\n$al1683 = L[746];\nif(typeof(anf_fun1714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1714);\n}\n$ans1682 = anf_fun1714.app(anf_arg1716,anf_arg1313,anf_arg1337);\nbreak;\ncase 43: $ans1682 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[770],L[771]);\nvar anf_fun1734 = $ans1682;\n$ans1682 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[772],L[773]);\nvar anf_fun1720 = $ans1682;\n$step1673 = 44;\n$al1683 = L[799];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The dot-annotation \"));\nbreak;\ncase 44: var anf_arg1723 = $ans1682;\n$ans1682 = R.getMaker3(ED5.dict.values.dict[\"sequence\"],(\"make3\"),L[774],L[775]);\nvar anf_fun1717 = $ans1682;\n$al1683 = L[776];\nvar anf_arg1376 = G(self1675,\"name\",L[776]);\n$step1673 = 45;\n$al1683 = L[798];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1376);\nbreak;\ncase 45: var anf_arg1718 = $ans1682;\n$step1673 = 46;\n$al1683 = L[797];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 46: var anf_arg1364 = $ans1682;\n$al1683 = L[777];\nvar anf_arg1365 = G(self1675,\"field\",L[777]);\n$step1673 = 47;\n$al1683 = L[796];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1365);\nbreak;\ncase 47: var anf_arg1719 = $ans1682;\n$step1673 = 48;\n$al1683 = L[775];\nif(typeof(anf_fun1717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1717);\n}\n$ans1682 = anf_fun1717.app(anf_arg1718,anf_arg1364,anf_arg1719);\nbreak;\ncase 48: var anf_arg1367 = $ans1682;\n$step1673 = 49;\n$al1683 = L[795];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1367);\nbreak;\ncase 49: var anf_arg1368 = $ans1682;\n$step1673 = 50;\n$al1683 = L[794];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" at \"));\nbreak;\ncase 50: var anf_arg1369 = $ans1682;\n$step1673 = 51;\n$al1683 = L[793];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"loc\"].app(loc1676);\nbreak;\ncase 51: var anf_arg2054 = $ans1682;\n$step1673 = 52;\n$al1683 = L[773];\nif(typeof(anf_fun1720.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1720);\n}\n$ans1682 = anf_fun1720.app(anf_arg1723,anf_arg1368,anf_arg1369,anf_arg2054);\nbreak;\ncase 52: var anf_arg1739 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[778],L[779]);\nvar anf_fun1731 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1732 = $ans1682;\n$step1673 = 53;\n$al1683 = L[792];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 53: anf_array1732[0] = $ans1682;\n$al1683 = L[780];\nvar anf_arg1727 = G(self1675,\"field\",L[780]);\n$step1673 = 54;\n$al1683 = L[791];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1727);\nbreak;\ncase 54: var anf_arg2094 = $ans1682;\n$step1673 = 55;\n$al1683 = L[790];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg2094);\nbreak;\ncase 55: anf_array1732[1] = $ans1682;\n$step1673 = 56;\n$al1683 = L[789];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 56: anf_array1732[2] = $ans1682;\n$al1683 = L[781];\nvar anf_arg1427 = G(self1675,\"name\",L[781]);\n$step1673 = 57;\n$al1683 = L[788];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1427);\nbreak;\ncase 57: var anf_arg1730 = $ans1682;\n$step1673 = 58;\n$al1683 = L[787];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1730);\nbreak;\ncase 58: anf_array1732[3] = $ans1682;\n$step1673 = 59;\n$al1683 = L[786];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 59: anf_array1732[4] = $ans1682;\n$al1683 = L[782];\nvar anf_arg1409 = G(self1675,\"field\",L[782]);\n$step1673 = 60;\n$al1683 = L[785];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1409);\nbreak;\ncase 60: var anf_arg1414 = $ans1682;\n$step1673 = 61;\n$al1683 = L[784];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1414);\nbreak;\ncase 61: anf_array1732[5] = $ans1682;\n$step1673 = 62;\n$al1683 = L[783];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 62: anf_array1732[6] = $ans1682;\n$step1673 = 63;\n$al1683 = L[779];\nif(typeof(anf_fun1731.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1731);\n}\n$ans1682 = anf_fun1731.app(anf_array1732);\nbreak;\ncase 63: var anf_arg1416 = $ans1682;\n$step1673 = 64;\n$al1683 = L[771];\nif(typeof(anf_fun1734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1734);\n}\n$ans1682 = anf_fun1734.app(anf_arg1739,anf_arg1416);\nbreak;\ncase 64: ++R.GAS;\nreturn $ans1682;\ndefault: R.ffi.throwSpinnakerError(L[713],$step1673);\n}\n}\nif($step1673 !== 64) {\n$ans1682.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1683,$temp_full1674,$step1673,[self1675,loc1676,from$fail$arg1677,maybe$stack$loc1678,src$available1679,maybe$ast1680],[anf_fun1720,anf_fun1731,anf_fun1698,anf_fun1711,anf_fun1734,anf_fun1702,anf_arg1364,anf_fun1714,anf_array1697,anf_array1732,anf_arg1861,anf_arg1223,anf_fun1717,anf_arg1873,anf_arg1368,anf_array1712,anf_arg1313,anf_arg1369,anf_arg1942,anf_arg1723,anf_arg1878,anf_arg1703,anf_arg1208,anf_arg1716,anf_arg1739,anf_arg1718,anf_fun1692,anf_fun1693,anf_fun1696,anf_arg1270],$elidedFrames1685);\n}\nreturn $ans1682;\n};\nvar anf_variant_member1858 = R.makeMethod5($temp_full1674,\"render-fancy-reason\");\nvar $temp_full1744 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__801($self1031,$loc1745,$from$fail$arg1746) {\nvar $step1743 = 0;\nvar $elidedFrames1750 = 0;\nvar $ans1747 = D;\nvar $al1748 = L[801];\nif(R.isAR($self1031)) {\n$step1743 = $self1031.step;\n$al1748 = $self1031.from;\n$ans1747 = $self1031.ans;\n$elidedFrames1750 = $self1031.elidedFrames;\nself1031 = $self1031.args[0];\nloc1745 = $self1031.args[1];\nfrom$fail$arg1746 = $self1031.args[2];\nanf_fun1756 = $self1031.vars[0];\nanf_arg1443 = $self1031.vars[1];\nanf_arg1764 = $self1031.vars[2];\nanf_arg1769 = $self1031.vars[3];\nanf_fun1770 = $self1031.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[801],3,$t,true);\n}\nvar self1031 = $self1031;\nvar loc1745 = $loc1745;\nvar from$fail$arg1746 = $from$fail$arg1746;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1747 = R.mC();\n}\nwhile(!R.isContinuation($ans1747)) {\nswitch($step1743) {\ncase 0: $ans1747 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[802],L[803]);\nvar anf_fun1770 = $ans1747;\n$ans1747 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[804],L[805]);\nvar anf_fun1756 = $ans1747;\n$step1743 = 1;\n$al1748 = L[814];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app((\"Couldn't find \"));\nbreak;\ncase 1: var anf_arg1764 = $ans1747;\n$al1748 = L[806];\nvar anf_arg2155 = G(self1031,\"field\",L[806]);\n$step1743 = 2;\n$al1748 = L[813];\n// omitting isFunction check;\n$ans1747 = _plus5.app((\"the annotation named \"),anf_arg2155);\nbreak;\ncase 2: var anf_arg1755 = $ans1747;\n$step1743 = 3;\n$al1748 = L[812];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app(anf_arg1755);\nbreak;\ncase 3: var anf_arg1466 = $ans1747;\n$step1743 = 4;\n$al1748 = L[811];\nif(typeof(ED5.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"loc-display\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"loc-display\"].app(loc1745,(\"error-highlight\"),anf_arg1466);\nbreak;\ncase 4: var anf_arg1769 = $ans1747;\n$step1743 = 5;\n$al1748 = L[810];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app((\" in the annotations from\"));\nbreak;\ncase 5: var anf_arg1443 = $ans1747;\n$al1748 = L[807];\nvar anf_arg1444 = G(self1031,\"name\",L[807]);\n$step1743 = 6;\n$al1748 = L[809];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app(anf_arg1444);\nbreak;\ncase 6: var anf_arg1445 = $ans1747;\n$step1743 = 7;\n$al1748 = L[808];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"code\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"code\"].app(anf_arg1445);\nbreak;\ncase 7: var anf_arg1452 = $ans1747;\n$step1743 = 8;\n$al1748 = L[805];\nif(typeof(anf_fun1756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,anf_fun1756);\n}\n$ans1747 = anf_fun1756.app(anf_arg1764,anf_arg1769,anf_arg1443,anf_arg1452);\nbreak;\ncase 8: var anf_arg1458 = $ans1747;\n$step1743 = 9;\n$al1748 = L[803];\nif(typeof(anf_fun1770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,anf_fun1770);\n}\n$ans1747 = anf_fun1770.app(anf_arg1458);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1747;\ndefault: R.ffi.throwSpinnakerError(L[801],$step1743);\n}\n}\nif($step1743 !== 9) {\n$ans1747.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1748,$temp_full1744,$step1743,[self1031,loc1745,from$fail$arg1746],[anf_fun1756,anf_arg1443,anf_arg1764,anf_arg1769,anf_fun1770],$elidedFrames1750);\n}\nreturn $ans1747;\n};\nvar anf_variant_member1859 = R.makeMethod2($temp_full1744,\"render-reason\");\nvar $bad$bracket$target_getfields1778 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"]);\n};\nvar $bad$bracket$target_mutablemask1777 = [false,false];\nvar $bad$bracket$target$base1772 = {\"$fieldNames\":[\"loc\",\"obj\"],\n\"render-fancy-reason\":anf_variant_member1775,\n\"render-reason\":anf_variant_member1776,\n\"_match\":R.mM(\"bad-bracket-target\",2)};\nvar $bad$bracket$target$brander1773 = R.nB(\"bad-bracket-target\",L[815]);\nvar $bad$bracket$target$brands1774 = {};\n$bad$bracket$target$brands1774[FailureReason33._brand] = true;\n$bad$bracket$target$brands1774[$bad$bracket$target$brander1773._brand] = true;\nvar bad$bracket$target1779 = R.mVC(L[815],function $synthesizedConstructor_$bad$bracket$target$base() {\nreturn [];\n},[],[],[false,false],[\"loc1780\",\"obj1781\"],$bad$bracket$target_mutablemask1777,$bad$bracket$target$base1772,$bad$bracket$target$brands1774,\"bad-bracket-target\",$bad$bracket$target_getfields1778,$bad$bracket$target$base1772);\nvar $failure$at$arg_getfields1788 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"index\"],this.dict[\"function-name\"],this.dict[\"args\"],this.dict[\"reason\"]);\n};\nvar $failure$at$arg_mutablemask1787 = [false,false,false,false,false];\nvar $failure$at$arg$base1782 = {\"$fieldNames\":[\"loc\",\"index\",\"function-name\",\"args\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member1785,\n\"render-reason\":anf_variant_member1786,\n\"_match\":R.mM(\"failure-at-arg\",5)};\nvar $failure$at$arg$brander1783 = R.nB(\"failure-at-arg\",L[816]);\nvar $failure$at$arg$brands1784 = {};\n$failure$at$arg$brands1784[FailureReason33._brand] = true;\n$failure$at$arg$brands1784[$failure$at$arg$brander1783._brand] = true;\nvar failure$at$arg1789 = R.mVC(L[816],function $synthesizedConstructor_$failure$at$arg$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc1790\",\"index1791\",\"function$name1792\",\"args1793\",\"reason1794\"],$failure$at$arg_mutablemask1787,$failure$at$arg$base1782,$failure$at$arg$brands1784,\"failure-at-arg\",$failure$at$arg_getfields1788,$failure$at$arg$base1782);\nvar $ref$init_getfields1801 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $ref$init_mutablemask1800 = [false,false];\nvar $ref$init$base1795 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member1798,\n\"render-reason\":anf_variant_member1799,\n\"_match\":R.mM(\"ref-init\",2)};\nvar $ref$init$brander1796 = R.nB(\"ref-init\",L[817]);\nvar $ref$init$brands1797 = {};\n$ref$init$brands1797[FailureReason33._brand] = true;\n$ref$init$brands1797[$ref$init$brander1796._brand] = true;\nvar ref$init1802 = R.mVC(L[817],function $synthesizedConstructor_$ref$init$base() {\nreturn [FailureReason121];\n},[\"reason1803\"],[L[818]],[false,false],[\"loc1804\",\"reason1803\"],$ref$init_mutablemask1800,$ref$init$base1795,$ref$init$brands1797,\"ref-init\",$ref$init_getfields1801,$ref$init$base1795);\nvar $type$mismatch_getfields1811 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"name\"]);\n};\nvar $type$mismatch_mutablemask1810 = [false,false];\nvar $type$mismatch$base1805 = {\"$fieldNames\":[\"val\",\"name\"],\n\"render-fancy-reason\":anf_variant_member1808,\n\"render-reason\":anf_variant_member1809,\n\"_match\":R.mM(\"type-mismatch\",2)};\nvar $type$mismatch$brander1806 = R.nB(\"type-mismatch\",L[819]);\nvar $type$mismatch$brands1807 = {};\n$type$mismatch$brands1807[FailureReason33._brand] = true;\n$type$mismatch$brands1807[$type$mismatch$brander1806._brand] = true;\nvar type$mismatch1812 = R.mVC(L[819],function $synthesizedConstructor_$type$mismatch$base() {\nreturn [$type$String8];\n},[\"name1813\"],[L[820]],[false,false],[\"val1814\",\"name1813\"],$type$mismatch_mutablemask1810,$type$mismatch$base1805,$type$mismatch$brands1807,\"type-mismatch\",$type$mismatch_getfields1811,$type$mismatch$base1805);\nvar $predicate$failure_getfields1821 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"name\"]);\n};\nvar $predicate$failure_mutablemask1820 = [false,false];\nvar $predicate$failure$base1815 = {\"$fieldNames\":[\"val\",\"name\"],\n\"render-fancy-reason\":anf_variant_member1818,\n\"render-reason\":anf_variant_member1819,\n\"_match\":R.mM(\"predicate-failure\",2)};\nvar $predicate$failure$brander1816 = R.nB(\"predicate-failure\",L[821]);\nvar $predicate$failure$brands1817 = {};\n$predicate$failure$brands1817[FailureReason33._brand] = true;\n$predicate$failure$brands1817[$predicate$failure$brander1816._brand] = true;\nvar predicate$failure1822 = R.mVC(L[821],function $synthesizedConstructor_$predicate$failure$base() {\nreturn [];\n},[],[],[false,false],[\"val1823\",\"name1824\"],$predicate$failure_mutablemask1820,$predicate$failure$base1815,$predicate$failure$brands1817,\"predicate-failure\",$predicate$failure_getfields1821,$predicate$failure$base1815);\nvar $record$fields$fail_getfields1830 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"field-failures\"]);\n};\nvar $record$fields$fail_mutablemask1829 = [false,false];\nvar $record$fields$fail$base1825 = {\"$fieldNames\":[\"val\",\"field-failures\"],\n\"render-fancy-reason\":anf_variant_member1828,\n\"render-reason\":anf_variant_member1719,\n\"_match\":R.mM(\"record-fields-fail\",2)};\nvar $record$fields$fail$brander1826 = R.nB(\"record-fields-fail\",L[822]);\nvar $record$fields$fail$brands1827 = {};\n$record$fields$fail$brands1827[FailureReason33._brand] = true;\n$record$fields$fail$brands1827[$record$fields$fail$brander1826._brand] = true;\nvar record$fields$fail1831 = R.mVC(L[822],function $synthesizedConstructor_$record$fields$fail$base() {\nreturn [List2];\n},[\"field$failures1832\"],[L[823]],[false,false],[\"val1833\",\"field$failures1832\"],$record$fields$fail_mutablemask1829,$record$fields$fail$base1825,$record$fields$fail$brands1827,\"record-fields-fail\",$record$fields$fail_getfields1830,$record$fields$fail$base1825);\nvar $tuple$anns$fail_getfields1839 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"anns-failures\"]);\n};\nvar $tuple$anns$fail_mutablemask1838 = [false,false];\nvar $tuple$anns$fail$base1834 = {\"$fieldNames\":[\"val\",\"anns-failures\"],\n\"render-fancy-reason\":anf_variant_member1742,\n\"render-reason\":anf_variant_member1837,\n\"_match\":R.mM(\"tuple-anns-fail\",2)};\nvar $tuple$anns$fail$brander1835 = R.nB(\"tuple-anns-fail\",L[824]);\nvar $tuple$anns$fail$brands1836 = {};\n$tuple$anns$fail$brands1836[FailureReason33._brand] = true;\n$tuple$anns$fail$brands1836[$tuple$anns$fail$brander1835._brand] = true;\nvar tuple$anns$fail1840 = R.mVC(L[824],function $synthesizedConstructor_$tuple$anns$fail$base() {\nreturn [List2];\n},[\"anns$failures1841\"],[L[825]],[false,false],[\"val1842\",\"anns$failures1841\"],$tuple$anns$fail_mutablemask1838,$tuple$anns$fail$base1834,$tuple$anns$fail$brands1836,\"tuple-anns-fail\",$tuple$anns$fail_getfields1839,$tuple$anns$fail$base1834);\nvar $tup$length$mismatch_getfields1849 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"annLength\"],this.dict[\"tupleLength\"]);\n};\nvar $tup$length$mismatch_mutablemask1848 = [false,false,false,false];\nvar $tup$length$mismatch$base1843 = {\"$fieldNames\":[\"loc\",\"val\",\"annLength\",\"tupleLength\"],\n\"render-fancy-reason\":anf_variant_member1846,\n\"render-reason\":anf_variant_member1847,\n\"_match\":R.mM(\"tup-length-mismatch\",4)};\nvar $tup$length$mismatch$brander1844 = R.nB(\"tup-length-mismatch\",L[826]);\nvar $tup$length$mismatch$brands1845 = {};\n$tup$length$mismatch$brands1845[FailureReason33._brand] = true;\n$tup$length$mismatch$brands1845[$tup$length$mismatch$brander1844._brand] = true;\nvar tup$length$mismatch1850 = R.mVC(L[826],function $synthesizedConstructor_$tup$length$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc1851\",\"val1852\",\"annLength1853\",\"tupleLength1854\"],$tup$length$mismatch_mutablemask1848,$tup$length$mismatch$base1843,$tup$length$mismatch$brands1845,\"tup-length-mismatch\",$tup$length$mismatch_getfields1849,$tup$length$mismatch$base1843);\nvar $dot$ann$not$present_getfields1861 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"field\"]);\n};\nvar $dot$ann$not$present_mutablemask1860 = [false,false];\nvar $dot$ann$not$present$base1855 = {\"$fieldNames\":[\"name\",\"field\"],\n\"render-fancy-reason\":anf_variant_member1858,\n\"render-reason\":anf_variant_member1859,\n\"_match\":R.mM(\"dot-ann-not-present\",2)};\nvar $dot$ann$not$present$brander1856 = R.nB(\"dot-ann-not-present\",L[827]);\nvar $dot$ann$not$present$brands1857 = {};\n$dot$ann$not$present$brands1857[FailureReason33._brand] = true;\n$dot$ann$not$present$brands1857[$dot$ann$not$present$brander1856._brand] = true;\nvar dot$ann$not$present1862 = R.mVC(L[827],function $synthesizedConstructor_$dot$ann$not$present$base() {\nreturn [];\n},[],[],[false,false],[\"name1863\",\"field1864\"],$dot$ann$not$present_mutablemask1860,$dot$ann$not$present$base1855,$dot$ann$not$present$brands1857,\"dot-ann-not-present\",$dot$ann$not$present_getfields1861,$dot$ann$not$present$base1855);\nvar anf_assign2189 = R.mO({\"FailureReason\":G(FailureReason33,\"test\",L[828]),\n\"is-bad-bracket-target\":G($bad$bracket$target$brander1773,\"test\",L[815]),\n\"bad-bracket-target\":bad$bracket$target1779,\n\"is-failure-at-arg\":G($failure$at$arg$brander1783,\"test\",L[816]),\n\"failure-at-arg\":failure$at$arg1789,\n\"is-ref-init\":G($ref$init$brander1796,\"test\",L[817]),\n\"ref-init\":ref$init1802,\n\"is-type-mismatch\":G($type$mismatch$brander1806,\"test\",L[819]),\n\"type-mismatch\":type$mismatch1812,\n\"is-predicate-failure\":G($predicate$failure$brander1816,\"test\",L[821]),\n\"predicate-failure\":predicate$failure1822,\n\"is-record-fields-fail\":G($record$fields$fail$brander1826,\"test\",L[822]),\n\"record-fields-fail\":record$fields$fail1831,\n\"is-tuple-anns-fail\":G($tuple$anns$fail$brander1835,\"test\",L[824]),\n\"tuple-anns-fail\":tuple$anns$fail1840,\n\"is-tup-length-mismatch\":G($tup$length$mismatch$brander1844,\"test\",L[826]),\n\"tup-length-mismatch\":tup$length$mismatch1850,\n\"is-dot-ann-not-present\":G($dot$ann$not$present$brander1856,\"test\",L[827]),\n\"dot-ann-not-present\":dot$ann$not$present1862});\nFailureReason1865.$var = anf_assign2189;\nR.nothing;\n$al28 = L[828];\nvar anf_assign1470 = G(FailureReason1865.$var,\"FailureReason\",L[828]);\nis$FailureReason1866.$var = anf_assign1470;\nR.nothing;\n$al28 = L[815];\nvar anf_assign1867 = G(FailureReason1865.$var,\"is-bad-bracket-target\",L[815]);\nis$bad$bracket$target1868.$var = anf_assign1867;\nR.nothing;\n$al28 = L[815];\nvar anf_assign1869 = G(FailureReason1865.$var,\"bad-bracket-target\",L[815]);\nbad$bracket$target1870.$var = anf_assign1869;\nR.nothing;\n$al28 = L[816];\nvar anf_assign1871 = G(FailureReason1865.$var,\"is-failure-at-arg\",L[816]);\nis$failure$at$arg1872.$var = anf_assign1871;\nR.nothing;\n$al28 = L[816];\nvar anf_assign1873 = G(FailureReason1865.$var,\"failure-at-arg\",L[816]);\nfailure$at$arg1874.$var = anf_assign1873;\nR.nothing;\n$al28 = L[817];\nvar anf_assign2206 = G(FailureReason1865.$var,\"is-ref-init\",L[817]);\nis$ref$init1875.$var = anf_assign2206;\nR.nothing;\n$al28 = L[817];\nvar anf_assign1876 = G(FailureReason1865.$var,\"ref-init\",L[817]);\nref$init1877.$var = anf_assign1876;\nR.nothing;\n$al28 = L[819];\nvar anf_assign1878 = G(FailureReason1865.$var,\"is-type-mismatch\",L[819]);\nis$type$mismatch1879.$var = anf_assign1878;\nR.nothing;\n$al28 = L[819];\nvar anf_assign1880 = G(FailureReason1865.$var,\"type-mismatch\",L[819]);\ntype$mismatch1881.$var = anf_assign1880;\nR.nothing;\n$al28 = L[821];\nvar anf_assign1882 = G(FailureReason1865.$var,\"is-predicate-failure\",L[821]);\nis$predicate$failure1883.$var = anf_assign1882;\nR.nothing;\n$al28 = L[821];\nvar anf_assign1884 = G(FailureReason1865.$var,\"predicate-failure\",L[821]);\npredicate$failure1885.$var = anf_assign1884;\nR.nothing;\n$al28 = L[822];\nvar anf_assign1888 = G(FailureReason1865.$var,\"is-record-fields-fail\",L[822]);\nis$record$fields$fail1889.$var = anf_assign1888;\nR.nothing;\n$al28 = L[822];\nvar anf_assign1890 = G(FailureReason1865.$var,\"record-fields-fail\",L[822]);\nrecord$fields$fail1891.$var = anf_assign1890;\nR.nothing;\n$al28 = L[824];\nvar anf_assign1892 = G(FailureReason1865.$var,\"is-tuple-anns-fail\",L[824]);\nis$tuple$anns$fail1893.$var = anf_assign1892;\nR.nothing;\n$al28 = L[824];\nvar anf_assign1894 = G(FailureReason1865.$var,\"tuple-anns-fail\",L[824]);\ntuple$anns$fail1895.$var = anf_assign1894;\nR.nothing;\n$al28 = L[826];\nvar anf_assign1896 = G(FailureReason1865.$var,\"is-tup-length-mismatch\",L[826]);\nis$tup$length$mismatch1897.$var = anf_assign1896;\nR.nothing;\n$al28 = L[826];\nvar anf_assign1505 = G(FailureReason1865.$var,\"tup-length-mismatch\",L[826]);\ntup$length$mismatch1898.$var = anf_assign1505;\nR.nothing;\n$al28 = L[827];\nvar anf_assign1899 = G(FailureReason1865.$var,\"is-dot-ann-not-present\",L[827]);\nis$dot$ann$not$present1900.$var = anf_assign1899;\nR.nothing;\n$al28 = L[827];\nvar anf_assign1901 = G(FailureReason1865.$var,\"dot-ann-not-present\",L[827]);\ndot$ann$not$present1902.$var = anf_assign1901;\nR.nothing;\n$step12 = 1;\n$ans27 = R.maybeMethodCall2(builtins1,\"trace-value\",L[829],L[829],nothing2);\nbreak;\ncase 1: var answer1905 = $ans27;\n$step12 = 2;\n$ans27 = R.maybeMethodCall0(builtins1,\"current-checker\",L[26]);\nbreak;\ncase 2: var anf_method_obj1903 = $ans27;\n$step12 = 3;\n$ans27 = R.maybeMethodCall0(anf_method_obj1903,\"results\",L[26]);\nbreak;\ncase 3: var checks1906 = $ans27;\n$step12 = 4;\n$ans27 = R.mO({\"answer\":answer1905,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"ED\":ED5},\n\"defined-values\":{\"is-fail\":is$fail150.$var,\n\"is-bad-bracket-target\":is$bad$bracket$target1868.$var,\n\"type-mismatch\":type$mismatch1881.$var,\n\"is-failure-at-arg\":is$failure$at$arg1872.$var,\n\"fail-arg\":fail$arg156.$var,\n\"is-fail-arg\":is$fail$arg154.$var,\n\"ref-init\":ref$init1877.$var,\n\"is-FailureReason\":is$FailureReason1866.$var,\n\"is-ref-init\":is$ref$init1875.$var,\n\"is-dot-ann-not-present\":is$dot$ann$not$present1900.$var,\n\"is-missing-field\":is$missing$field251.$var,\n\"dot-ann-not-present\":dot$ann$not$present1902.$var,\n\"is-predicate-failure\":is$predicate$failure1883.$var,\n\"is-tuple-anns-fail\":is$tuple$anns$fail1893.$var,\n\"is-ContractResult\":is$ContractResult138.$var,\n\"missing-field\":missing$field253.$var,\n\"is-FieldFailure\":is$FieldFailure241.$var,\n\"is-field-failure\":is$field$failure243.$var,\n\"tuple-anns-fail\":tuple$anns$fail1895.$var,\n\"predicate-failure\":predicate$failure1885.$var,\n\"is-tup-length-mismatch\":is$tup$length$mismatch1897.$var,\n\"draw-and-highlight\":draw$and$highlight44.$var,\n\"record-fields-fail\":record$fields$fail1891.$var,\n\"tup-length-mismatch\":tup$length$mismatch1898.$var,\n\"field-failure\":field$failure245.$var,\n\"is-record-fields-fail\":is$record$fields$fail1889.$var,\n\"is-ann-failure\":is$ann$failure247.$var,\n\"ok\":ok148.$var,\n\"bad-bracket-target\":bad$bracket$target1870.$var,\n\"ann-failure\":ann$failure249.$var,\n\"fail\":fail152.$var,\n\"is-type-mismatch\":is$type$mismatch1879.$var,\n\"is-ok\":is$ok144.$var,\n\"failure-at-arg\":failure$at$arg1874.$var},\n\"defined-types\":{\"FailureReason\":FailureReason121,\n\"ContractResult\":ContractResult1904,\n\"FieldFailure\":FieldFailure1231},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-fail\":is$fail150.$var,\n\"is-bad-bracket-target\":is$bad$bracket$target1868.$var,\n\"type-mismatch\":type$mismatch1881.$var,\n\"is-failure-at-arg\":is$failure$at$arg1872.$var,\n\"fail-arg\":fail$arg156.$var,\n\"is-fail-arg\":is$fail$arg154.$var,\n\"ref-init\":ref$init1877.$var,\n\"is-FailureReason\":is$FailureReason1866.$var,\n\"is-ref-init\":is$ref$init1875.$var,\n\"is-dot-ann-not-present\":is$dot$ann$not$present1900.$var,\n\"is-missing-field\":is$missing$field251.$var,\n\"dot-ann-not-present\":dot$ann$not$present1902.$var,\n\"is-predicate-failure\":is$predicate$failure1883.$var,\n\"is-tuple-anns-fail\":is$tuple$anns$fail1893.$var,\n\"is-ContractResult\":is$ContractResult138.$var,\n\"missing-field\":missing$field253.$var,\n\"is-FieldFailure\":is$FieldFailure241.$var,\n\"is-field-failure\":is$field$failure243.$var,\n\"tuple-anns-fail\":tuple$anns$fail1895.$var,\n\"predicate-failure\":predicate$failure1885.$var,\n\"is-tup-length-mismatch\":is$tup$length$mismatch1897.$var,\n\"draw-and-highlight\":draw$and$highlight44.$var,\n\"record-fields-fail\":record$fields$fail1891.$var,\n\"tup-length-mismatch\":tup$length$mismatch1898.$var,\n\"field-failure\":field$failure245.$var,\n\"is-record-fields-fail\":is$record$fields$fail1889.$var,\n\"is-ann-failure\":is$ann$failure247.$var,\n\"ok\":ok148.$var,\n\"bad-bracket-target\":bad$bracket$target1870.$var,\n\"ann-failure\":ann$failure249.$var,\n\"fail\":fail152.$var,\n\"is-type-mismatch\":is$type$mismatch1879.$var,\n\"is-ok\":is$ok144.$var,\n\"failure-at-arg\":failure$at$arg1874.$var}),\n\"types\":{\"ContractResult\":ContractResult1904,\n\"FieldFailure\":FieldFailure1231,\n\"FailureReason\":FailureReason121},\n\"modules\":{}}),\n\"checks\":checks1906});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans27;\ndefault: R.ffi.throwSpinnakerError(L[830],$step12);\n}\n}\nif($step12 !== 4) {\n$ans27.stack[R.EXN_STACKHEIGHT++] = R.mAR($al28,$toplevel13,$step12,[],[ok148,FieldFailure1231,answer1905,is$FieldFailure241,is$FailureReason1866,tup$length$mismatch1898,tuple$anns$fail1895,bad$bracket$target1870,is$fail$arg154,is$field$failure243,is$dot$ann$not$present1900,FailureReason121,ann$failure249,draw$and$highlight44,is$ContractResult138,is$record$fields$fail1889,ContractResult1904,is$fail150,is$predicate$failure1883,fail$arg156,is$ann$failure247,is$ok144,dot$ann$not$present1902,failure$at$arg1874,ref$init1877,missing$field253,is$tuple$anns$fail1893,is$bad$bracket$target1868,is$tup$length$mismatch1897,record$fields$fail1891,fail152,is$type$mismatch1879,predicate$failure1885,type$mismatch1881,field$failure245,is$failure$at$arg1872,is$missing$field251,is$ref$init1875],$elidedFrames30);\n}\nreturn $ans27;\n};\nreturn R.safeCall($toplevel13,function module_load(moduleVal) {\nR.modules[\"$builtin://contracts9\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"failure-at-arg":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +92, +2, +3380, +160, +7, +6637], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"failure-at-arg", +"typ":"tany"}, +"is-ok":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +15, +2, +224, +16, +67, +302], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-ok", +"typ":"tany"}, +"is-type-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +182, +2, +7488, +240, +7, +9512], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-type-mismatch", +"typ":"tany"}, +"fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +17, +2, +305, +23, +7, +623], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"fail", +"typ":"tany"}, +"ann-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +42, +2, +1358, +48, +7, +1652], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"ann-failure", +"typ":"tany"}, +"bad-bracket-target":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +58, +2, +1937, +91, +7, +3377], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"bad-bracket-target", +"typ":"tany"}, +"ok":{"bind":"let", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +15, +2, +224, +16, +67, +302], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"typ":"tany"}, +"is-ann-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +42, +2, +1358, +48, +7, +1652], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-ann-failure", +"typ":"tany"}, +"is-record-fields-fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +301, +2, +11615, +371, +7, +14214], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-record-fields-fail", +"typ":"tany"}, +"field-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +35, +2, +1020, +41, +7, +1355], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"field-failure", +"typ":"tany"}, +"tup-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +443, +2, +16901, +497, +7, +18868], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"tup-length-mismatch", +"typ":"tany"}, +"record-fields-fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +301, +2, +11615, +371, +7, +14214], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"record-fields-fail", +"typ":"tany"}, +"draw-and-highlight":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +3, +0, +17, +3, +9, +26], +"definition-bind-site":["builtin://contracts", +10, +0, +119, +12, +3, +199], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":1, +"name":"draw-and-highlight", +"typ":"tany"}, +"is-tup-length-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +443, +2, +16901, +497, +7, +18868], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-tup-length-mismatch", +"typ":"tany"}, +"predicate-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +241, +2, +9515, +300, +7, +11612], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"predicate-failure", +"typ":"tany"}, +"tuple-anns-fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +372, +2, +14217, +442, +7, +16898], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"tuple-anns-fail", +"typ":"tany"}, +"is-field-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +35, +2, +1020, +41, +7, +1355], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-field-failure", +"typ":"tany"}, +"is-FieldFailure":{"bind":"let", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +34, +0, +999, +55, +3, +1913], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"typ":"tany"}, +"missing-field":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +49, +2, +1655, +54, +7, +1909], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"missing-field", +"typ":"tany"}, +"is-ContractResult":{"bind":"let", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +14, +0, +201, +31, +3, +951], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"typ":"tany"}, +"is-tuple-anns-fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +372, +2, +14217, +442, +7, +16898], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-tuple-anns-fail", +"typ":"tany"}, +"is-predicate-failure":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +241, +2, +9515, +300, +7, +11612], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-predicate-failure", +"typ":"tany"}, +"dot-ann-not-present":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +498, +2, +18871, +559, +7, +21135], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"dot-ann-not-present", +"typ":"tany"}, +"is-missing-field":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +49, +2, +1655, +54, +7, +1909], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-missing-field", +"typ":"tany"}, +"is-dot-ann-not-present":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +498, +2, +18871, +559, +7, +21135], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-dot-ann-not-present", +"typ":"tany"}, +"is-ref-init":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +161, +2, +6640, +181, +7, +7485], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-ref-init", +"typ":"tany"}, +"is-FailureReason":{"bind":"let", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +57, +0, +1915, +560, +3, +21139], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"typ":"tany"}, +"ref-init":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +161, +2, +6640, +181, +7, +7485], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"ref-init", +"typ":"tany"}, +"is-fail-arg":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +24, +2, +626, +30, +7, +947], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-fail-arg", +"typ":"tany"}, +"fail-arg":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +24, +2, +626, +30, +7, +947], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"fail-arg", +"typ":"tany"}, +"is-failure-at-arg":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +92, +2, +3380, +160, +7, +6637], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-failure-at-arg", +"typ":"tany"}, +"type-mismatch":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +182, +2, +7488, +240, +7, +9512], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"type-mismatch", +"typ":"tany"}, +"is-bad-bracket-target":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +58, +2, +1937, +91, +7, +3377], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-bad-bracket-target", +"typ":"tany"}, +"is-fail":{"bind":"fun", +"origin":{"local-bind-site":["builtin://contracts", +4, +0, +27, +4, +15, +42], +"definition-bind-site":["builtin://contracts", +17, +2, +305, +23, +7, +623], +"new-definition":true, +"uri-of-definition":"builtin://contracts"}, +"flatness":0, +"name":"is-fail", +"typ":"tany"}}, +"datatypes":{"FailureReason":["data",{"local-bind-site":["builtin://contracts", +57, +0, +1915, +560, +3, +21139], +"definition-bind-site":["builtin://contracts", +57, +0, +1915, +560, +3, +21139], +"new-definition":true, +"uri-of-definition":"builtin://contracts"},"FailureReason",[],[["bad-bracket-target", +[["loc", +"tany"],["obj", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-at-arg", +[["loc", +"tany"],["index", +"tany"],["function-name", +"tany"],["args", +"tany"],["reason", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["ref-init", +[["loc", +"tany"],["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"FailureReason"}]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["type-mismatch", +[["val", +"tany"],["name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["predicate-failure", +[["val", +"tany"],["name", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["record-fields-fail", +[["val", +"tany"],["field-failures", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"List"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"FieldFailure"}]]]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["tuple-anns-fail", +[["val", +"tany"],["anns-failures", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"List"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"FieldFailure"}]]]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["tup-length-mismatch", +[["loc", +"tany"],["val", +"tany"],["annLength", +"tany"],["tupleLength", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}],["dot-ann-not-present", +[["name", +"tany"],["field", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}]],{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany", +"tany", +"tany"], +"tany"]}], +"FieldFailure":["data",{"local-bind-site":["builtin://contracts", +34, +0, +999, +55, +3, +1913], +"definition-bind-site":["builtin://contracts", +34, +0, +999, +55, +3, +1913], +"new-definition":true, +"uri-of-definition":"builtin://contracts"},"FieldFailure",[],[["field-failure", +[["loc", +"tany"],["field", +"tany"],["reason", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"]}],["ann-failure", +[["loc", +"tany"],["ann", +"tany"],["reason", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"]}],["missing-field", +[["loc", +"tany"],["field", +"tany"]], +{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"]}]],{"render-reason":["arrow", +["tany", +"tany", +"tany"], +"tany"]}], +"ContractResult":["data",{"local-bind-site":["builtin://contracts", +14, +0, +201, +31, +3, +951], +"definition-bind-site":["builtin://contracts", +14, +0, +201, +31, +3, +951], +"new-definition":true, +"uri-of-definition":"builtin://contracts"},"ContractResult",[],[["ok", +{"render-reason":["arrow", +["tany"], +"tany"]}],["fail", +[["loc", +"tany"],["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"FailureReason"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["fail-arg", +[["loc", +"tany"],["reason", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://contracts"}, +"name":"FailureReason"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}]],{"render-reason":["arrow", +["tany"], +"tany"]}]}, +"aliases":{"FailureReason":"tany", +"FieldFailure":"tany", +"ContractResult":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"error-display"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"option"}]}), +"builtin://string-dict":({ + requires: + [ + { "import-type": "builtin", name: "valueskeleton" } + ], + nativeRequires: ["pyret-base/js/namespace"], + provides: { + shorthands: { + "sdOfA": ["tyapp", ["local", "StringDict"], [["tid", "a"]]], + "msdOfA": ["tyapp", ["local", "MutableStringDict"], [["tid", "a"]]], + + "Equality": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://equality" }, + name: "EqualityResult" }, + "VS": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://valueskeleton" }, + name: "ValueSkeleton" }, + "SetOfA": ["tyapp", { tag: "name", + origin: { "import-type": "uri", uri: "builtin://sets" }, + name: "Set" }, [["tid", "a"]]], + "SetOfString": ["tyapp", { tag: "name", + origin: { "import-type": "uri", uri: "builtin://sets" }, + name: "Set" }, ["String"]], + "tva": ["tid", "a"], + "idB": ["tid", "b"] + }, + values: { + "make-string-dict": ["forall", ["a"], ["arrow", [], "sdOfA"]], + "make-mutable-string-dict": ["forall", ["a"], ["arrow", [], "msdOfA"]], + "string-dict": ["forall", ["a"], ["Maker", "Any", "sdOfA"]], + "mutable-string-dict": ["forall", ["a"], ["Maker", "Any", "msdOfA"]], + "map-keys": ["forall", ["a", "b"], ["arrow", [["arrow", ["String"], "idB"], + "sdOfA"], + ["List", "idB"]]], + "map-keys-now": ["forall", ["a", "b"], ["arrow", [["arrow", ["String"], "idB"], + "msdOfA"], + ["List", "idB"]]], + // NOTE: the signature for this is backwards from the method version, + // so as to match the inconsistency in lists.arr + "fold-keys": ["forall", ["a", "b"], ["arrow", [["arrow", ["idB", "String"], "idB"], + "idB", + "sdOfA"], + "idB"]], + "fold-keys-now": ["forall", ["a", "b"], ["arrow", [["arrow", ["idB", "String"], "idB"], + "idB", + "msdOfA"], + "idB"]], + "each-key": ["forall", ["a"], ["arrow", [["arrow", ["String"], "Nothing"], "sdOfA"], "Nothing"]], + "each-key-now": ["forall", ["a"], ["arrow", [["arrow", ["String"], "Nothing"], "msdOfA"], "Nothing"]], + "is-mutable-string-dict": ["arrow", ["Any"], "Boolean"], + "is-string-dict": ["arrow", ["Any"], "Boolean"], + "string-dict-of": ["forall", "a", ["arrow", [["List", "String"], ["tid", "a"]], "sdOfA"]] + }, + aliases: { + "StringDict": { + tag: "name", + origin: { "import-type": "$ELF" }, + name: "StringDict" + }, + "MutableStringDict": { + tag: "name", + origin: { "import-type": "$ELF" }, + name: "MutableStringDict" + } + }, + datatypes: { + "StringDict": ["data", "StringDict", ["a"], [], { + "get": ["arrow", ["String"], ["Option", ["tid", "a"]]], + "get-value": ["arrow", ["String"], ["tid", "a"]], + "set": ["arrow", ["String", ["tid", "a"]], "sdOfA"], + "merge": ["arrow", ["sdOfA"], "sdOfA"], + "remove": ["arrow", ["String"], "sdOfA"], + "keys": ["arrow", [], "SetOfString"], + "keys-list": ["arrow", [], ["List", "String"]], + "map-keys": ["forall", ["b"], ["arrow", [["arrow", ["String"], "idB"]], ["List", "idB"]]], + "fold-keys": ["forall", ["b"], ["arrow", [["arrow", ["String", "idB"], "idB"], "idB"], "idB"]], + "each-key": ["arrow", [["arrow", ["String"], "Nothing"]], "Nothing"], + "count": ["arrow", [], "Number"], + "has-key": ["arrow", ["String"], "Boolean"], + "_equals": ["arrow", ["sdOfA", ["arrow", ["Any", "Any"], "Equality"]], "Equality"], + "_output": ["arrow", [["arrow", ["Any"], "VS"]], "VS"], + "unfreeze": ["arrow", [], "msdOfA"] + }], + "MutableStringDict": ["data", "MutableStringDict", ["a"], [], { + "get-now": ["arrow", ["String"], ["Option", ["tid", "a"]]], + "get-value-now": ["arrow", ["String"], ["tid", "a"]], + "set-now": ["arrow", ["String", ["tid", "a"]], "Nothing"], + "merge-now": ["arrow", ["msdOfA"], "Nothing"], + "remove-now": ["arrow", ["String"], "Nothing"], + "keys-now": ["arrow", [], "SetOfString"], + "keys-list-now": ["arrow", [], ["List", "String"]], + "map-keys-now": ["forall", ["b"], ["arrow", [["arrow", ["String"], "idB"]], ["List", "idB"]]], + "fold-keys-now": ["forall", ["b"], ["arrow", [["arrow", ["String", "idB"], "idB"], "idB"], "idB"]], + "each-key-now": ["arrow", [["arrow", ["String"], "Nothing"]], "Nothing"], + "count-now": ["arrow", [], "Number"], + "has-key-now": ["arrow", ["String"], "Boolean"], + "_equals": ["arrow", ["sdOfA", ["arrow", ["Any", "Any"], "Equality"]], "Equality"], + "_output": ["arrow", [["arrow", ["Any"], "VS"]], "VS"], + "freeze": ["arrow", [], "sdOfA"], + "seal": ["arrow", [], "msdOfA"] + }], + } + }, + theModule: function(runtime, namespace, uri, VSlib){ + var O = runtime.makeObject; + var F = runtime.makeFunction; + var arity = runtime.checkArity; + var get = runtime.getField; + + var VS = get(VSlib, "values"); + + var brandMutable = runtime.namedBrander("mutable-string-dict", ["string-dict: mutable-string-dict brander"]); + var brandImmutable = runtime.namedBrander("string-dict", ["string-dict: string-dict brander"]); + + var annMutable = runtime.makeBranderAnn(brandMutable, "MutableStringDict"); + var annImmutable = runtime.makeBranderAnn(brandImmutable, "StringDict"); + + var checkMSD = function(v) { runtime._checkAnn(["string-dict"], annMutable, v); }; + var checkISD = function(v) { runtime._checkAnn(["string-dict"], annImmutable, v); }; + + function applyBrand(brand, val) { + return get(brand, "brand").app(val); + } + function hasBrand(brand, val) { + return get(brand, "test").app(val); + } + + // used for removing values + var NOT_SET = {} + + // TODO(MATT): is this bad? + var CHANGE_LENGTH = { value: false }; + var DID_ALTER = { value: false }; + + var SHIFT = 5; + var SIZE = 1 << SHIFT; + var MASK = SIZE - 1; + var MAX_ARRAY_MAP_SIZE = SIZE / 4; + var MAX_BITMAP_INDEXED_SIZE = SIZE / 2; + var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4; + var STRING_HASH_CACHE_MIN_STRLEN = 16; + var STRING_HASH_CACHE_MAX_SIZE = 255; + var STRING_HASH_CACHE_SIZE = 0; + var stringHashCache = {}; + + function OwnerID() {} + + // v8 has an optimization for storing 31-bit signed numbers. + // Values which have either 00 or 11 as the high order bits qualify. + // This function drops the highest order bit in a signed number, maintaining + // the sign bit. + function smi(i32) { + return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF); + } + + function hash(str) { + return str.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(str) : hashString(str); + } + + function cachedHashString(string) { + var hash = stringHashCache[string]; + if (hash === undefined) { + hash = hashString(string); + if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) { + STRING_HASH_CACHE_SIZE = 0; + stringHashCache = {}; + } + STRING_HASH_CACHE_SIZE++; + stringHashCache[string] = hash; + } + return hash; + } + + // http://jsperf.com/hashing-strings + function hashString(string) { + // This is the hash from JVM + // The hash code for a string is computed as + // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1], + // where s[i] is the ith character of the string and n is the length of + // the string. We "mod" the result to make it between 0 (inclusive) and 2^31 + // (exclusive) by dropping high bits. + var hash = 0; + for (var ii = 0; ii < string.length; ii++) { + hash = 31 * hash + string.charCodeAt(ii) | 0; + } + return smi(hash); + } + + function popCount(x) { + x = x - ((x >> 1) & 0x55555555); + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + x = (x + (x >> 4)) & 0x0f0f0f0f; + x = x + (x >> 8); + x = x + (x >> 16); + return x & 0x7f; + } + + function setIn(array, idx, val, canEdit) { + var newArray = canEdit ? array : arrCopy(array); + newArray[idx] = val; + return newArray; + } + + function spliceIn(array, idx, val, canEdit) { + var newLen = array.length + 1; + if (canEdit && idx + 1 === newLen) { + array[idx] = val; + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + newArray[ii] = val; + after = -1; + } else { + newArray[ii] = array[ii + after]; + } + } + return newArray; + } + + function spliceOut(array, idx, canEdit) { + var newLen = array.length - 1; + if (canEdit && idx === newLen) { + array.pop(); + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + after = 1; + } + newArray[ii] = array[ii + after]; + } + return newArray; + } + + function arrCopy(arr, offset) { + offset = offset || 0; + var len = Math.max(0, arr.length - offset); + var newArr = new Array(len); + for (var ii = 0; ii < len; ii++) { + newArr[ii] = arr[ii + offset]; + } + return newArr; + } + + function MakeRef(ref) { + ref.value = false; + return ref; + } + + function SetRef(ref) { + ref && (ref.value = true); + } + + function emptyMap() { + return new ImmutableMap(0); + } + + function ImmutableMap(size, root, ownerID) { + this.size = size; + this._root = root; + this.__ownerID = ownerID; + + this.get = function(k, notSetValue) { + return this._root ? + this._root.get(0, undefined, k, notSetValue) : + notSetValue; + }; + + this.set = function(k, v) { + return updateMap(this, k, v); + }; + + this.remove = function(k) { + return updateMap(this, k, NOT_SET); + }; + + this.keys = function() { + if (!this._root) { + return []; + } else { + return this._root.keys([]); + } + }; + } + + function updateMap(map, k, v) { + var newRoot; + var newSize; + if (!map._root) { + if (v == NOT_SET) { + return map; + } + newSize = 1; + newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]); + } else { + var didChangeSize = MakeRef(CHANGE_LENGTH); + var didAlter = MakeRef(DID_ALTER); + newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter); + if (!didAlter.value) { + return map; + } + newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0); + } + if (map.__ownerID) { + map.size = newSize; + map._root = newRoot; + return map; + } + return newRoot ? new ImmutableMap(newSize, newRoot) : new ImmutableMap(0); + } + + function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (!node) { + if (value === NOT_SET) { + return node; + } + SetRef(didAlter); + SetRef(didChangeSize); + return new ValueNode(ownerID, keyHash, [key, value]); + } + return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter); + } + + function createNodes(ownerID, entries, key, value) { + if (!ownerID) { + ownerID = new OwnerID(); + } + var node = new ValueNode(ownerID, hash(key), [key, value]); + for (var ii = 0; ii < entries.length; ii++) { + var entry = entries[ii]; + node = node.update(ownerID, 0, undefined, entry[0], entry[1]); + } + return node; + } + + function packNodes(ownerID, nodes, count, excluding) { + var bitmap = 0; + var packedII =0; + var packedNodes = new Array(count); + for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) { + var node = nodes[ii]; + if (node !== undefined && ii !== excluding) { + bitmap |= bit; + packedNodes[packedII++] = node; + } + } + return new BitmapIndexedNode(ownerID, bitmap, packedNodes); + } + + function expandNodes(ownerID, nodes, bitmap, including, node) { + var count = 0; + var expandedNodes = new Array(SIZE); + for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) { + expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined; + } + expandedNodes[including] = node; + return new HashArrayMapNode(ownerID, count + 1, expandedNodes); + } + + function mergeIntoNode(node, ownerID, shift, keyHash, entry) { + if (node.keyHash === keyHash) { + return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]); + } + + var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK; + var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + + var newNode; + var nodes = (idx1 === idx2) ? + [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] : + ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]); + + return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes); + } + + function isLeafNode(node) { + return node.constructor === ValueNode || node.constructor === HashCollisionNode; + } + + function ArrayMapNode(ownerID, entries) { + this.ownerID = ownerID; + this.entries = entries; + + this.get = function(shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (key === entries[ii][0]) { + return entries[ii][1]; + } + } + return notSetValue; + }; + + this.keys = function(ret) { + for (var i = 0; i < this.entries.length; i++) + ret.push(this.entries[i][0]); + return ret; + }; + + this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = (value === NOT_SET); + + var entries = this.entries; + var idx = 0; + for (var len = entries.length; idx < len; idx++) { + if (key === entries[idx][0]) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && entries.length === 1) { + return undefined; + } + + if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) { + return createNodes(ownerID, entries, key, value); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new ArrayMapNode(ownerID, newEntries); + }; + } + + function ValueNode(ownerID, keyHash, entry) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entry = entry; + + this.get = function(shift, keyHash, key, notSetValue) { + return key === this.entry[0] ? this.entry[1] : notSetValue; + }; + + this.keys = function(ret) { + ret.push(this.entry[0]); + return ret; + }; + + this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = (value === NOT_SET); + var keyMatch = (key === this.entry[0]); + if (keyMatch ? value === this.entry[1] : removed) { + return this; + } + + SetRef(didAlter); + + if (removed) { + SetRef(didChangeSize); + return undefined; + } + + if (keyMatch) { + if (ownerID && ownerID === this.ownerID) { + this.entry[1] = value; + return this; + } + return new ValueNode(ownerID, this.keyHash, [key, value]); + } + + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]); + }; + } + + function HashCollisionNode(ownerID, keyHash, entries) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entries = entries; + + this.get = function(shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (key === entries[ii][0]) { + return entries[ii][1]; + } + } + return notSetValue; + }; + + this.keys = function(ret) { + for (var i = 0; i < this.entries.length; i++) + ret.push(this.entries[i][0]); + return ret; + }; + + this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + + var removed = (value === NOT_SET); + + if (keyHash !== this.keyHash) { + if (removed) { + return this; + } + SetRef(didAlter); + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]); + } + + var entries = this.entries; + var idx = 0; + for (var len = entries.length; idx < len; idx++) { + if (key === entries[idx][0]) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && len === 2) { + return new ValueNode(ownerID, this.keyHAsh, entries[idx ^ 1]); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new HashCollisionNode(ownerID, this.keyHash, newEntries); + }; + } + + function BitmapIndexedNode(ownerID, bitmap, nodes) { + this.ownerID = ownerID; + this.bitmap = bitmap; + this.nodes = nodes; + + this.get = function(shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK)); + var bitmap = this.bitmap; + return (bitmap & bit) === 0 ? notSetValue : + this.nodes[popCount(bitmap & (bit -1))].get(shift + SHIFT, keyHash, key, notSetValue); + }; + + this.keys = function(ret) { + var nodes = this.nodes; + for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { + var node = nodes[ii]; + if (node) { + node.keys(ret); + } + } + return ret; + }; + + this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var bit = 1 << keyHashFrag; + var bitmap = this.bitmap; + var exists = (bitmap & bit) !== 0; + + if (!exists && value === NOT_SET) { + return this; + } + + var idx = popCount(bitmap & (bit - 1)); + var nodes = this.nodes; + var node = exists ? nodes[idx] : undefined; + var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); + + if (newNode === node) { + return this; + } + + if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) { + return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode); + } + + if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) { + return nodes[idx ^ 1]; + } + + if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) { + return newNode; + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit; + var newNodes = exists ? newNode ? + setIn(nodes, idx, newNode, isEditable) : + spliceOut(nodes, idx, isEditable) : + spliceIn(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.bitmap = newBitmap; + this.nodes = newNodes; + return this; + } + + return new BitmapIndexedNode(ownerID, newBitmap, newNodes); + }; + } + + function HashArrayMapNode(ownerID, count, nodes) { + this.ownerID = ownerID; + this.count = count; + this.nodes = nodes; + + this.get = function(shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var node = this.nodes[idx]; + return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue; + }; + this.keys = function(ret) { + var nodes = this.nodes; + for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { + var node = nodes[ii]; + if (node) { + node.keys(ret); + } + } + return ret; + }; + + this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var removed = (value === NOT_SET); + var nodes = this.nodes; + var node = nodes[idx]; + + if (removed && !node) { + return this; + } + + var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); + if (newNode === node) { + return this; + } + + var newCount = this.count; + if (!node) { + newCount++; + } else if (!newNode) { + newCount--; + if (newCount < MIN_HASH_ARRAY_MAP_SIZE) { + return packNodes(ownerID, nodes, newCount, idx); + } + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newNodes = setIn(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.count = newCount; + this.nodes = newNodes; + return this; + } + + return new HashArrayMapNode(ownerID, newCount, newNodes); + }; + } + + function eqHelp(self, other, selfKeys, hasKey, getValue, recEq) { + if (runtime.isActivationRecord(self)) { + var $ar = sekf; + $step = $ar.step; + $ans = $ar.ans; + curIdx = $ar.vars[0]; + curEq = $ar.vars[1]; + self = $ar.args[0]; + other = $ar.args[1]; + selfKeys = $ar.args[2]; + hasKey = $ar.args[3]; + getValue = $ar.args[4]; + recEq = $ar.args[5]; + } else { + var curIdx = 0; + var curEq = runtime.ffi.equal; + var $step = 0; + var $ans = undefined; + } + while(true) { + switch($step) { + case 0: + if (curIdx == selfKeys.length) + return curEq; + $step = 1; + if (!hasKey.full_meth(other, selfKeys[curIdx])) { + return runtime.ffi.notEqual.app("", self, other); + } + $ans = recEq.app(getValue.full_meth(self, selfKeys[curIdx]), getValue.full_meth(other, selfKeys[curIdx])); + if (runtime.isContinuation($ans)) { + $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( + stackFrameDesc, + equalFun, + $step, + [], + []); + return $ans; + } + break; + case 1: + curEq = runtime.combineEquality(curEq, $ans); + curIdx++; + $step = 0; + break; + } + } + } + + + ////////////////////////////////////////////////// + var getISD = runtime.makeMethod1(function(self, key) { + if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= 0) {\nR.ffi.throwCasesArityErrorC(L[12],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[12],true,L[13],cases93.$loc);\n}\n}\nvar $fn98 = cases93.$constructor.$fieldNames;\nvar contents94 = R.dF(cases93.dict[$fn98[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 4;\n$ans75 = R.maybeMethodCall1(contents94,\"map\",L[10],help95);\nbreak;\ncase 4: var anf_method_obj96 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj96,\"join-str\",L[11],(\"\"));\nbreak;\ncase 5: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[14],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[14],true,L[13],cases93.$loc);\n}\n}\nvar $fn101 = cases93.$constructor.$fieldNames;\nvar str99 = R.dF(cases93.dict[$fn101[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = str99;\nbreak;\ncase 6: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[25],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[25],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[25];\nvar $temp_branch120 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($val108) {\nvar $step121 = 0;\nvar $elidedFrames125 = 0;\nvar $ans122 = D;\nvar $al123 = L[15];\nif(R.isAR($val108)) {\n$step121 = $val108.step;\n$al123 = $val108.from;\n$ans122 = $val108.ans;\n$elidedFrames125 = $val108.elidedFrames;\nval108 = $val108.args[0];\ncases112 = $val108.vars[0];\n} else {\nvar val108 = $val108;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans122 = R.mC();\n}\nwhile(!R.isContinuation($ans122)) {\nswitch($step121) {\ncase 0: var $temp_lam127 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__15($$resumer13) {\nvar $step126 = 0;\nvar $elidedFrames131 = 0;\nvar $ans128 = D;\nvar $al129 = L[15];\nif(R.isAR($$resumer13)) {\n$step126 = $$resumer13.step;\n$al129 = $$resumer13.from;\n$ans128 = $$resumer13.ans;\n$elidedFrames131 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans128 = R.mC();\n}\nwhile(!R.isContinuation($ans128)) {\nswitch($step126) {\ncase 0: $step126 = 1;\n$al129 = L[17];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al129,exn$unwrap2);\n}\n$ans128 = exn$unwrap2.app(val108);\nbreak;\ncase 1: var anf_method_obj109 = $ans128;\n$step126 = 2;\n$ans128 = R.maybeMethodCall0(anf_method_obj109,\"render-reason\",L[16]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans128;\ndefault: R.ffi.throwSpinnakerError(L[15],$step126);\n}\n}\nif($step126 !== 2) {\n$ans128.stack[R.EXN_STACKHEIGHT++] = R.mAR($al129,$temp_lam127,$step126,[],[],$elidedFrames131);\n}\nreturn $ans128;\n};\nvar anf_arg111 = R.mF($temp_lam127,\"\");\n$step121 = 1;\n$al123 = L[24];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al123,run$task1);\n}\n$ans122 = run$task1.app(anf_arg111);\nbreak;\ncase 1: var cases112 = $ans122;\n$step121 = 2;\n$al123 = L[23];\nvar $ann$check138 = R._cA(L[23],R.gDA(L[23],\"E\",E3.dict.types,\"Either\"),cases112);\nif(R.isContinuation($ann$check138)) {\n$ans122 = $ann$check138;\n}\nbreak;\ncase 2: $al123 = L[20];\n$step121 = $cases_dispatch137[cases112.$name] || 5;\nbreak;\ncase 3: if(cases112.$arity !== 1) {\nif(cases112.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[19],1,cases112.$arity,L[20],cases112.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[19],true,L[20],cases112.$loc);\n}\n}\nvar $fn134 = cases112.$constructor.$fieldNames;\nvar v113 = R.dF(cases112.dict[$fn134[0]],cases112.$mut_fields_mask[0],false);\n$step121 = 6;\n$al123 = L[18];\n// omitting isFunction check;\n$ans122 = help95.app(v113);\nbreak;\ncase 4: if(cases112.$arity !== 1) {\nif(cases112.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[22],1,cases112.$arity,L[20],cases112.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[22],true,L[20],cases112.$loc);\n}\n}\nvar $fn136 = cases112.$constructor.$fieldNames;\nR.dF(cases112.dict[$fn136[0]],cases112.$mut_fields_mask[0],false);\n$step121 = 6;\n$al123 = L[21];\nif(typeof(embed$display73.app) !== \"function\") {\nR.ffi.throwNonFunApp($al123,embed$display73);\n}\n$ans122 = embed$display73.app(val108);\nbreak;\ncase 5: $ans122 = R.throwNoCasesMatched(L[20],cases112);\n$step121 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans122;\ndefault: R.ffi.throwSpinnakerError(L[15],$step121);\n}\n}\nif($step121 !== 6) {\n$ans122.stack[R.EXN_STACKHEIGHT++] = R.mAR($al123,$temp_branch120,$step121,[val108],[cases112],$elidedFrames125);\n}\nreturn $ans122;\n};\n$ans75 = cases93.$app_fields($temp_branch120,[false]);\nbreak;\ncase 7: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[27],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[27],true,L[13],cases93.$loc);\n}\n}\nvar $fn142 = cases93.$constructor.$fieldNames;\nvar l140 = R.dF(cases93.dict[$fn142[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(l140,\"format\",L[26],(true));\nbreak;\ncase 8: if(cases93.$arity !== 4) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[36],4,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[36],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[36];\nvar $temp_branch157 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($n143,$user$frames$only144,$contents$with$loc147,$contents$without$loc146) {\nvar $step160 = 0;\nvar $elidedFrames164 = 0;\nvar $ans161 = D;\nvar $al162 = L[30];\nif(R.isAR($n143)) {\n$step160 = $n143.step;\n$al162 = $n143.from;\n$ans161 = $n143.ans;\n$elidedFrames164 = $n143.elidedFrames;\nn143 = $n143.args[0];\nuser$frames$only144 = $n143.args[1];\ncontents$with$loc147 = $n143.args[2];\ncontents$without$loc146 = $n143.args[3];\ncases145 = $n143.vars[0];\n} else {\nvar n143 = $n143;\nvar user$frames$only144 = $user$frames$only144;\nvar contents$with$loc147 = $contents$with$loc147;\nvar contents$without$loc146 = $contents$without$loc146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans161 = R.mC();\n}\nwhile(!R.isContinuation($ans161)) {\nswitch($step160) {\ncase 0: $step160 = 1;\n$al162 = L[35];\n// omitting isFunction check;\n$ans161 = nth$stack$frame69.$var.app(n143,user$frames$only144,stack74);\nbreak;\ncase 1: var cases145 = $ans161;\n$step160 = 2;\n$al162 = L[34];\nvar $ann$check168 = R._cA(L[34],R.gDA(L[34],\"O\",O5.dict.types,\"Option\"),cases145);\nif(R.isContinuation($ann$check168)) {\n$ans161 = $ann$check168;\n}\nbreak;\ncase 2: $al162 = L[30];\n$step160 = $cases_dispatch167[cases145.$name] || 6;\nbreak;\ncase 3: if(cases145.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[29],false,L[30],cases145.$loc);\n}\n$step160 = 7;\n$al162 = L[28];\n// omitting isFunction check;\n$ans161 = help95.app(contents$without$loc146);\nbreak;\ncase 4: if(cases145.$arity !== 1) {\nif(cases145.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[33],1,cases145.$arity,L[30],cases145.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[33],true,L[30],cases145.$loc);\n}\n}\nvar $fn166 = cases145.$constructor.$fieldNames;\nvar l148 = R.dF(cases145.dict[$fn166[0]],cases145.$mut_fields_mask[0],false);\n$step160 = 5;\n$al162 = L[32];\nif(typeof(contents$with$loc147.app) !== \"function\") {\nR.ffi.throwNonFunApp($al162,contents$with$loc147);\n}\n$ans161 = contents$with$loc147.app(l148);\nbreak;\ncase 5: var anf_arg152 = $ans161;\n$step160 = 7;\n$al162 = L[31];\n// omitting isFunction check;\n$ans161 = help95.app(anf_arg152);\nbreak;\ncase 6: $ans161 = R.throwNoCasesMatched(L[30],cases145);\n$step160 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans161;\ndefault: R.ffi.throwSpinnakerError(L[30],$step160);\n}\n}\nif($step160 !== 7) {\n$ans161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al162,$temp_branch157,$step160,[n143,user$frames$only144,contents$with$loc147,contents$without$loc146],[cases145],$elidedFrames164);\n}\nreturn $ans161;\n};\n$ans75 = cases93.$app_fields($temp_branch157,[false,false,false,false]);\nbreak;\ncase 9: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[52],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[52],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[52];\nvar $temp_branch192 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($l173,$$underscore200,$contents170) {\nvar $step195 = 0;\nvar $elidedFrames199 = 0;\nvar $ans196 = D;\nvar $al197 = L[45];\nif(R.isAR($l173)) {\n$step195 = $l173.step;\n$al197 = $l173.from;\n$ans196 = $l173.ans;\n$elidedFrames199 = $l173.elidedFrames;\nl173 = $l173.args[0];\n$underscore200 = $l173.args[1];\ncontents170 = $l173.args[2];\ncases171 = $l173.vars[0];\nanf_arg56 = $l173.vars[1];\n} else {\nvar l173 = $l173;\nvar $underscore200 = $$underscore200;\nvar contents170 = $contents170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans196 = R.mC();\n}\nwhile(!R.isContinuation($ans196)) {\nswitch($step195) {\ncase 0: var cases171 = contents170;\n$step195 = 1;\n$al197 = L[51];\nvar $ann$check212 = R._cA(L[51],R.gDA(L[51],\"ED\",ED4.dict.types,\"ErrorDisplay\"),cases171);\nif(R.isContinuation($ann$check212)) {\n$ans196 = $ann$check212;\n}\nbreak;\ncase 1: $al197 = L[45];\n$step195 = $cases_dispatch211[cases171.$name] || 3;\nbreak;\ncase 2: if(cases171.$arity !== 1) {\nif(cases171.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[44],1,cases171.$arity,L[45],cases171.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[44],true,L[45],cases171.$loc);\n}\n}\n$step195 = 8;\n$al197 = L[44];\nvar $temp_branch201 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__45($l2172) {\nvar $step203 = 0;\nvar $elidedFrames207 = 0;\nvar $ans204 = D;\nvar $al205 = L[43];\nif(R.isAR($l2172)) {\n$step203 = $l2172.step;\n$al205 = $l2172.from;\n$ans204 = $l2172.ans;\n$elidedFrames207 = $l2172.elidedFrames;\nl2172 = $l2172.args[0];\nanf_arg174 = $l2172.vars[0];\n} else {\nvar l2172 = $l2172;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans204 = R.mC();\n}\nwhile(!R.isContinuation($ans204)) {\nswitch($step203) {\ncase 0: $step203 = 1;\n$al205 = L[43];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al205,equal$always1);\n}\n$ans204 = equal$always1.app(l2172,l173);\nbreak;\ncase 1: var anf_if177 = $ans204;\n$step203 = R.checkPyretTrue(anf_if177)?2:3;\nbreak;\ncase 2: $step203 = 8;\n$al205 = L[37];\n// omitting isFunction check;\n$ans204 = help95.app(contents170);\nbreak;\ncase 3: $step203 = 4;\n$al205 = L[42];\n// omitting isFunction check;\n$ans204 = help95.app(contents170);\nbreak;\ncase 4: var anf_arg37 = $ans204;\n$step203 = 5;\n$al205 = L[41];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg37,(\" (at \"));\nbreak;\ncase 5: var anf_arg174 = $ans204;\n$step203 = 6;\n$ans204 = R.maybeMethodCall1(l173,\"format\",L[38],(true));\nbreak;\ncase 6: var anf_arg175 = $ans204;\n$step203 = 7;\n$al205 = L[40];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg174,anf_arg175);\nbreak;\ncase 7: var anf_arg176 = $ans204;\n$step203 = 8;\n$al205 = L[39];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg176,(\")\"));\nbreak;\ncase 8: ++R.GAS;\nreturn $ans204;\ndefault: R.ffi.throwSpinnakerError(L[43],$step203);\n}\n}\nif($step203 !== 8) {\n$ans204.stack[R.EXN_STACKHEIGHT++] = R.mAR($al205,$temp_branch201,$step203,[l2172],[anf_arg174],$elidedFrames207);\n}\nreturn $ans204;\n};\n$ans196 = cases171.$app_fields($temp_branch201,[false]);\nbreak;\ncase 3: $step195 = 4;\n$al197 = L[50];\n// omitting isFunction check;\n$ans196 = help95.app(contents170);\nbreak;\ncase 4: var anf_arg189 = $ans196;\n$step195 = 5;\n$al197 = L[49];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg189,(\" (at \"));\nbreak;\ncase 5: var anf_arg56 = $ans196;\n$step195 = 6;\n$ans196 = R.maybeMethodCall1(l173,\"format\",L[46],(true));\nbreak;\ncase 6: var anf_arg57 = $ans196;\n$step195 = 7;\n$al197 = L[48];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg56,anf_arg57);\nbreak;\ncase 7: var anf_arg59 = $ans196;\n$step195 = 8;\n$al197 = L[47];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg59,(\")\"));\nbreak;\ncase 8: ++R.GAS;\nreturn $ans196;\ndefault: R.ffi.throwSpinnakerError(L[45],$step195);\n}\n}\nif($step195 !== 8) {\n$ans196.stack[R.EXN_STACKHEIGHT++] = R.mAR($al197,$temp_branch192,$step195,[l173,$underscore200,contents170],[cases171,anf_arg56],$elidedFrames199);\n}\nreturn $ans196;\n};\n$ans75 = cases93.$app_fields($temp_branch192,[false,false,false]);\nbreak;\ncase 10: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[56],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[56],true,L[13],cases93.$loc);\n}\n}\nvar $fn220 = cases93.$constructor.$fieldNames;\nvar contents214 = R.dF(cases93.dict[$fn220[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 11;\n$al76 = L[55];\n// omitting isFunction check;\n$ans75 = help95.app(contents214);\nbreak;\ncase 11: var anf_arg218 = $ans75;\n$step70 = 12;\n$al76 = L[54];\n// omitting isFunction check;\n$ans75 = _plus5.app((\"`\"),anf_arg218);\nbreak;\ncase 12: var anf_arg70 = $ans75;\n$step70 = 29;\n$al76 = L[53];\n// omitting isFunction check;\n$ans75 = _plus5.app(anf_arg70,(\"`\"));\nbreak;\ncase 13: if(cases93.$arity !== 2) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[63],2,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[63],true,L[13],cases93.$loc);\n}\n}\nvar $fn249 = cases93.$constructor.$fieldNames;\nvar contents232 = R.dF(cases93.dict[$fn249[0]],cases93.$mut_fields_mask[0],false);\nvar sep246 = R.dF(cases93.dict[$fn249[1]],cases93.$mut_fields_mask[1],false);\nvar $temp_lam222 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__57($c223) {\nvar $step221 = 0;\nvar $elidedFrames229 = 0;\nvar $ans226 = D;\nvar $al227 = L[57];\nif(R.isAR($c223)) {\n$step221 = $c223.step;\n$al227 = $c223.from;\n$ans226 = $c223.ans;\n$elidedFrames229 = $c223.elidedFrames;\nc223 = $c223.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar c223 = $c223;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans226 = R.mC();\n}\nwhile(!R.isContinuation($ans226)) {\nswitch($step221) {\ncase 0: $step221 = 1;\n$al227 = L[59];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al227,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans226 = ED4.dict.values.dict[\"is-optional\"].app(c223);\nbreak;\ncase 1: var anf_arg71 = $ans226;\n$step221 = 2;\n$al227 = L[58];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al227,not5);\n}\n$ans226 = not5.app(anf_arg71);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans226;\ndefault: R.ffi.throwSpinnakerError(L[57],$step221);\n}\n}\nif($step221 !== 2) {\n$ans226.stack[R.EXN_STACKHEIGHT++] = R.mAR($al227,$temp_lam222,$step221,[c223],[],$elidedFrames229);\n}\nreturn $ans226;\n};\nvar anf_arg243 = R.mF($temp_lam222,\"\");\n$step70 = 14;\n$ans75 = R.maybeMethodCall1(contents232,\"filter\",L[60],anf_arg243);\nbreak;\ncase 14: var anf_method_obj244 = $ans75;\n$step70 = 15;\n$ans75 = R.maybeMethodCall1(anf_method_obj244,\"map\",L[61],help95);\nbreak;\ncase 15: var anf_method_obj245 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj245,\"join-str\",L[62],sep246);\nbreak;\ncase 16: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[70],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[70],true,L[13],cases93.$loc);\n}\n}\nvar $fn264 = cases93.$constructor.$fieldNames;\nvar contents32 = R.dF(cases93.dict[$fn264[0]],cases93.$mut_fields_mask[0],false);\nvar sep261 = R.dF(cases93.dict[$fn264[1]],cases93.$mut_fields_mask[1],false);\nvar last$sep262 = R.dF(cases93.dict[$fn264[2]],cases93.$mut_fields_mask[2],false);\nvar $temp_lam251 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__64($c252) {\nvar $step250 = 0;\nvar $elidedFrames256 = 0;\nvar $ans253 = D;\nvar $al254 = L[64];\nif(R.isAR($c252)) {\n$step250 = $c252.step;\n$al254 = $c252.from;\n$ans253 = $c252.ans;\n$elidedFrames256 = $c252.elidedFrames;\nc252 = $c252.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[64],1,$t,false);\n}\nvar c252 = $c252;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans253 = R.mC();\n}\nwhile(!R.isContinuation($ans253)) {\nswitch($step250) {\ncase 0: $step250 = 1;\n$al254 = L[66];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al254,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans253 = ED4.dict.values.dict[\"is-optional\"].app(c252);\nbreak;\ncase 1: var anf_arg114 = $ans253;\n$step250 = 2;\n$al254 = L[65];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al254,not5);\n}\n$ans253 = not5.app(anf_arg114);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans253;\ndefault: R.ffi.throwSpinnakerError(L[64],$step250);\n}\n}\nif($step250 !== 2) {\n$ans253.stack[R.EXN_STACKHEIGHT++] = R.mAR($al254,$temp_lam251,$step250,[c252],[],$elidedFrames256);\n}\nreturn $ans253;\n};\nvar anf_arg116 = R.mF($temp_lam251,\"\");\n$step70 = 17;\n$ans75 = R.maybeMethodCall1(contents32,\"filter\",L[67],anf_arg116);\nbreak;\ncase 17: var anf_method_obj259 = $ans75;\n$step70 = 18;\n$ans75 = R.maybeMethodCall1(anf_method_obj259,\"map\",L[68],help95);\nbreak;\ncase 18: var anf_method_obj260 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall2(anf_method_obj260,\"join-str-last\",L[69],sep261,last$sep262);\nbreak;\ncase 19: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[77],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[77],true,L[13],cases93.$loc);\n}\n}\nvar $fn276 = cases93.$constructor.$fieldNames;\nvar contents56 = R.dF(cases93.dict[$fn276[0]],cases93.$mut_fields_mask[0],false);\nvar $temp_lam266 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__71($c267) {\nvar $step265 = 0;\nvar $elidedFrames271 = 0;\nvar $ans268 = D;\nvar $al269 = L[71];\nif(R.isAR($c267)) {\n$step265 = $c267.step;\n$al269 = $c267.from;\n$ans268 = $c267.ans;\n$elidedFrames271 = $c267.elidedFrames;\nc267 = $c267.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[71],1,$t,false);\n}\nvar c267 = $c267;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans268 = R.mC();\n}\nwhile(!R.isContinuation($ans268)) {\nswitch($step265) {\ncase 0: $step265 = 1;\n$al269 = L[73];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al269,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans268 = ED4.dict.values.dict[\"is-optional\"].app(c267);\nbreak;\ncase 1: var anf_arg118 = $ans268;\n$step265 = 2;\n$al269 = L[72];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al269,not5);\n}\n$ans268 = not5.app(anf_arg118);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans268;\ndefault: R.ffi.throwSpinnakerError(L[71],$step265);\n}\n}\nif($step265 !== 2) {\n$ans268.stack[R.EXN_STACKHEIGHT++] = R.mAR($al269,$temp_lam266,$step265,[c267],[],$elidedFrames271);\n}\nreturn $ans268;\n};\nvar anf_arg120 = R.mF($temp_lam266,\"\");\n$step70 = 20;\n$ans75 = R.maybeMethodCall1(contents56,\"filter\",L[74],anf_arg120);\nbreak;\ncase 20: var anf_method_obj273 = $ans75;\n$step70 = 21;\n$ans75 = R.maybeMethodCall1(anf_method_obj273,\"map\",L[75],help95);\nbreak;\ncase 21: var anf_method_obj274 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj274,\"join-str\",L[76],(\"\\n\"));\nbreak;\ncase 22: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[83],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[83],true,L[13],cases93.$loc);\n}\n}\nvar $fn295 = cases93.$constructor.$fieldNames;\nvar contents292 = R.dF(cases93.dict[$fn295[0]],cases93.$mut_fields_mask[0],false);\nvar $temp_lam281 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__78($elt282) {\nvar $step280 = 0;\nvar $elidedFrames288 = 0;\nvar $ans285 = D;\nvar $al286 = L[78];\nif(R.isAR($elt282)) {\n$step280 = $elt282.step;\n$al286 = $elt282.from;\n$ans285 = $elt282.ans;\n$elidedFrames288 = $elt282.elidedFrames;\nelt282 = $elt282.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[78],1,$t,false);\n}\nvar elt282 = $elt282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans285 = R.mC();\n}\nwhile(!R.isContinuation($ans285)) {\nswitch($step280) {\ncase 0: $step280 = 1;\n$al286 = L[80];\n// omitting isFunction check;\n$ans285 = help95.app(elt282);\nbreak;\ncase 1: var anf_arg122 = $ans285;\n$step280 = 2;\n$al286 = L[79];\n// omitting isFunction check;\n$ans285 = _plus5.app((\"* \"),anf_arg122);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans285;\ndefault: R.ffi.throwSpinnakerError(L[78],$step280);\n}\n}\nif($step280 !== 2) {\n$ans285.stack[R.EXN_STACKHEIGHT++] = R.mAR($al286,$temp_lam281,$step280,[elt282],[],$elidedFrames288);\n}\nreturn $ans285;\n};\nvar anf_arg124 = R.mF($temp_lam281,\"\");\n$step70 = 23;\n$ans75 = R.maybeMethodCall1(contents292,\"map\",L[81],anf_arg124);\nbreak;\ncase 23: var anf_method_obj293 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj293,\"join-str\",L[82],(\"\\n\"));\nbreak;\ncase 24: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[84],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[84],true,L[13],cases93.$loc);\n}\n}\nvar $fn297 = cases93.$constructor.$fieldNames;\nR.dF(cases93.dict[$fn297[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = (\"\");\nbreak;\ncase 25: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[86],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[86],true,L[13],cases93.$loc);\n}\n}\nvar $fn300 = cases93.$constructor.$fieldNames;\nvar loc77 = R.dF(cases93.dict[$fn300[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$al76 = L[85];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al76,tostring1);\n}\n$ans75 = tostring1.app(loc77);\nbreak;\ncase 26: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[90],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[90],true,L[13],cases93.$loc);\n}\n}\nvar $fn304 = cases93.$constructor.$fieldNames;\nvar contents302 = R.dF(cases93.dict[$fn304[0]],cases93.$mut_fields_mask[0],false);\nvar locs301 = R.dF(cases93.dict[$fn304[1]],cases93.$mut_fields_mask[1],false);\nR.dF(cases93.dict[$fn304[2]],cases93.$mut_fields_mask[2],false);\n$al76 = L[87];\nvar anf_arg125 = G(locs301,\"first\",L[87]);\n$step70 = 27;\n$al76 = L[89];\nif(typeof(ED4.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al76,ED4.dict.values.dict[\"loc-display\"]);\n}\n$ans75 = ED4.dict.values.dict[\"loc-display\"].app(anf_arg125,(\"\"),contents302);\nbreak;\ncase 27: var anf_arg126 = $ans75;\n$step70 = 29;\n$al76 = L[88];\n// omitting isFunction check;\n$ans75 = help95.app(anf_arg126);\nbreak;\ncase 28: $ans75 = R.throwNoCasesMatched(L[13],cases93);\n$step70 = 29;\nbreak;\ncase 29: ++R.GAS;\nreturn $ans75;\ndefault: R.ffi.throwSpinnakerError(L[8],$step70);\n}\n}\nif($step70 !== 29) {\n$ans75.stack[R.EXN_STACKHEIGHT++] = R.mAR($al76,$temp_lam71,$step70,[e72,embed$display73,stack74],[help95,cases93,last$sep262,sep261,sep246],$elidedFrames78);\n}\nreturn $ans75;\n};\nvar anf_assign309 = R.mF($temp_lam71,\"display-to-string\");\ndisplay$to$string87.$var = anf_assign309;\nR.nothing;\n$step13 = 1;\n$ans30 = R.maybeMethodCall2(builtins1,\"trace-value\",L[93],L[93],nothing2);\nbreak;\ncase 1: var answer311 = $ans30;\n$step13 = 2;\n$ans30 = R.maybeMethodCall0(builtins1,\"current-checker\",L[94]);\nbreak;\ncase 2: var anf_method_obj310 = $ans30;\n$step13 = 3;\n$ans30 = R.maybeMethodCall0(anf_method_obj310,\"results\",L[94]);\nbreak;\ncase 3: var checks312 = $ans30;\n$step13 = 4;\n$ans30 = R.mO({\"answer\":answer311,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"E\":E3,\n\"ED\":ED4,\n\"S\":S6,\n\"O\":O5},\n\"defined-values\":{\"display-to-string\":display$to$string87.$var,\n\"nth-stack-frame\":nth$stack$frame69.$var},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"display-to-string\":display$to$string87.$var,\n\"nth-stack-frame\":nth$stack$frame69.$var}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks312});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans30;\ndefault: R.ffi.throwSpinnakerError(L[95],$step13);\n}\n}\nif($step13 !== 4) {\n$ans30.stack[R.EXN_STACKHEIGHT++] = R.mAR($al37,$toplevel14,$step13,[],[answer311,nth$stack$frame69,display$to$string87],$elidedFrames39);\n}\nreturn $ans30;\n};\nreturn R.safeCall($toplevel14,function module_load(moduleVal) {\nR.modules[\"$builtin://render$error$display7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"nth-stack-frame":{"bind":"fun", +"origin":{"local-bind-site":["builtin://render-error-display", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://render-error-display", +8, +0, +114, +16, +3, +363], +"new-definition":true, +"uri-of-definition":"builtin://render-error-display"}, +"flatness":false, +"name":"nth-stack-frame", +"typ":"tany"}, +"display-to-string":{"bind":"fun", +"origin":{"local-bind-site":["builtin://render-error-display", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://render-error-display", +18, +0, +365, +55, +3, +2033], +"new-definition":true, +"uri-of-definition":"builtin://render-error-display"}, +"flatness":false, +"name":"display-to-string", +"typ":"tany"}}, +"datatypes":{}, +"aliases":{}}, +"requires":[{"import-type":"builtin", +"name":"either"}, +{"import-type":"builtin", +"name":"error-display"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"srcloc"}]}), +"builtin://ffi":({ + requires: [ + { "import-type": "builtin", name: "lists" }, + { "import-type": "builtin", name: "sets" }, + { "import-type": "builtin", name: "option" }, + { "import-type": "builtin", name: "either" }, + { "import-type": "builtin", name: "equality" }, + { "import-type": "builtin", name: "error" }, + { "import-type": "builtin", name: "srcloc" }, + { "import-type": "builtin", name: "contracts" }, + // skipping checker + { "import-type": "builtin", name: "error-display" }, + { "import-type": "builtin", name: "valueskeleton" } + ], + provides: {}, + nativeRequires: [], + theModule: function(runtime, namespace, uri, L, Se, O, E, EQ, ERR, S, CON, /* CH, */ ED, VS) { + var gf = runtime.getField; + L = gf(L, "values"); + Se = gf(Se, "values"); + O = gf(O, "values"); + E = gf(E, "values"); + EQ = gf(EQ, "values"); + ERR = gf(ERR, "values"); + S = gf(S, "values"); + CON = gf(CON, "values"); + ED = gf(ED, "values"); + VS = gf(VS, "values"); + var link = gf(L, "link"); + var lnk = function(first, rest) { return link.app(first, rest); }; + var mt = gf(L, "empty"); + function makeList(arr) { + if (!arr || typeof arr.length !== "number") { + throw "Non-array given to makeList " + JSON.stringify(arr); + } + var lst = mt; + for(var i = arr.length - 1; i >= 0; i--) { + lst = lnk(arr[i], lst); + } + return lst; + } + + function makePyretPos(fileName, p) { + var n = runtime.makeNumber; + return runtime.getField(S, "srcloc").app( + runtime.makeString(fileName), + n(p.startRow), + n(p.startCol), + n(p.startChar), + n(p.endRow), + n(p.endCol), + n(p.endChar) + ); + } + function combinePyretPos(fileName, p1, p2) { + var n = runtime.makeNumber; + return runtime.getField(S, "srcloc").app( + runtime.makeString(fileName), + n(p1.startRow), + n(p1.startCol), + n(p1.startChar), + n(p2.endRow), + n(p2.endCol), + n(p2.endChar) + ); + } + + function makeTreeSet(arr) { + return gf(Se, 'list-to-tree-set').app(makeList(arr)); + } + function toArray(list) { + var isList = runtime.getField(L, "is-List"); + var isEmpty = runtime.getField(L, "is-empty"); + var isLink = runtime.getField(L, "is-link"); + // console.error("list is " + JSON.stringify(list).substr(0, 100)); + // console.error("list is Object? " + runtime.isObject(list)); + // console.error("list.brands is " + JSON.stringify(list.brands)); + if(!(runtime.unwrap(isList.app(list)) === true)) { + throw "Non-list given to toArray " + String(list); + } + var arr = []; + try { + while(!(runtime.unwrap(isEmpty.app(list)) === true)) { + try { + arr.push(runtime.getField(list, "first")); + } catch(e) { + console.error("***** getField first failed on list: " + JSON.stringify(list)); + console.error(e); + throw e; + } + try { + list = runtime.getField(list, "rest"); + } catch(e) { + console.error("***** getField rest failed on list: " + JSON.stringify(list)); + console.error(e); + throw e; + } + } + } catch(e) { + console.error("******* Calling isEmpty failed on list: " + JSON.stringify(list)); + console.error(e); + throw e; + } + return arr; + } + var checkSrcloc = runtime.makeCheckType(function(val) { + return runtime.unwrap(gf(S, "is-Srcloc").app(val)); + }, "Srcloc"); + +/* NOTE(joe): skipping checker + function isTestResult(val) { return runtime.unwrap(runtime.getField(CH, "TestResult").app(val)); } + var checkTestResult = runtime.makeCheckType(isTestResult, "TestResult"); +*/ + + function isErrorDisplay(val) { return runtime.unwrap(runtime.getField(ED, "ErrorDisplay").app(val)); } + var checkErrorDisplay = runtime.makeCheckType(isErrorDisplay, "ErrorDisplay"); + + function cases(pred, predName, val, casesObj) { + if(!pred.app(val)) { + throwTypeMismatch(val, predName); + } + var pyretObj = {} + var els = runtime.makeFunction(function(v) { + throwMessageException("No cases matched"); + }, "cases-else"); + Object.keys(casesObj).forEach(function(k) { + if(k !== "else") { + pyretObj[k] = runtime.makeFunction(casesObj[k], "cases-" + k); + } else { + els = runtime.makeFunction(casesObj[k], "cases-else"); + } + }); + return runtime.safeTail(function() { + return gf(val, "_match").app(runtime.makeObject(pyretObj), els); + }); + } + + var checkArity = runtime.checkArity; + +/* NOTE(joe): skipping checker + function checkResultsSummary(checkResults) { + return runtime.safeCall( + function() { + return gf(CH, "results-summary").app(checkResults); + }, + function(pySummary) { + return { + message: gf(pySummary, "message"), + passed: gf(pySummary, "passed"), + failed: gf(pySummary, "failed"), + total: gf(pySummary, "total") + }; + }, + "results-summary"); + }; +*/ + function err(str) { return gf(ERR, str).app; } + function contract(str) { return gf(CON, str).app; } + function errPred(str) { + return function(val) { + return runtime.unwrap(gf(ERR, str).app(val)); + }; + } + var raise = runtime.raise; + + function throwInternalError(message, otherArgs) { + runtime.checkString(message); + runtime.checkList(otherArgs); + raise(err("internal-error")(runtime.makeString(message), otherArgs)); + } + + function makeInternalError(message, otherArgs) { + runtime.checkString(message); + runtime.checkList(otherArgs); + return err("internal-error")(runtime.makeString(message), otherArgs); + } + + function throwSpinnakerError(loc, stepNum) { + runtime.checkNumber(stepNum); + raise(err("spinnaker-error")(runtime.makeSrcloc(loc), stepNum)); + } + + function throwFieldNotFound(loc, object, field) { + checkSrcloc(loc); + runtime.checkPyretVal(object); + runtime.checkString(field); + raise(err("field-not-found")(loc, object, runtime.makeString(field))); + } + function throwConstructorSyntaxNonConstructor(exprLoc, constrLoc) { + checkSrcloc(exprLoc); + checkSrcloc(constrLoc); + raise(err("constructor-syntax-non-constructor")(exprLoc, constrLoc)); + } + function throwLookupConstructorNotObject(loc, constrName, field) { + checkSrcloc(loc); + runtime.checkString(constrName); + runtime.checkString(field); + raise(err("lookup-constructor-not-object")(loc, constrName, runtime.makeString(field))); + } + function throwLookupNonObject(loc, nonObject, field) { + checkSrcloc(loc); + runtime.checkPyretVal(nonObject); + runtime.checkString(field); + raise(err("lookup-non-object")(loc, nonObject, runtime.makeString(field))); + } + function throwLookupNonTuple(loc, nonTuple, index) { + checkSrcloc(loc); + runtime.checkPyretVal(nonTuple); + runtime.checkNumber(index); + raise(err("lookup-non-tuple")(loc, nonTuple, runtime.makeNumber(index))); + } + function throwBadTupleBind(loc, tup, length, desiredLength) { + checkSrcloc(loc); + //runtime.checkPyretVal(tup); + raise(err("bad-tuple-bind")(loc, tup, runtime.makeNumber(length), runtime.makeNumber(desiredLength))); + } + function throwLookupLargeIndex(loc, tup, index) { + checkSrcloc(loc); + runtime.checkPyretVal(tup); + runtime.checkNumber(index); + raise(err("lookup-large-index")(loc, tup, runtime.makeNumber(index))); + } + function throwExtendNonObject(loc, nonObject) { + checkSrcloc(loc); + runtime.checkPyretVal(nonObject); + raise(err("extend-non-object")(loc, nonObject)); + } + function throwLookupNonTuple(loc, nonTuple, index) { + checkSrcloc(loc); + runtime.checkPyretVal(nonTuple); + runtime.checkNumber(index); + raise(err("lookup-non-tuple")(loc, nonTuple, runtime.makeNumber(index))); + } + function throwBadTupleBind(loc, tup, length, desiredLength) { + checkSrcloc(loc); + runtime.checkPyretVal(tup); + raise(err("bad-tuple-bind")(loc, tup, length, desiredLength)); + } + function throwNonTupleBind(loc, non_tup) { + checkSrcloc(loc); + raise(err("non-tuple-bind")(loc, non_tup)); + } + function throwLookupLargeIndex(loc, tup, index) { + checkSrcloc(loc); + runtime.checkPyretVal(tup); + runtime.checkNumber(index); + raise(err("lookup-large-index")(loc, tup, tup.vals.length, runtime.makeNumber(index))); + } + function throwExtendNonObject(loc, nonObject) { + checkSrcloc(loc); + runtime.checkPyretVal(nonObject); + raise(err("extend-non-object")(loc, nonObject)); + } + + function throwMessageException(message) { + runtime.checkString(message); + raise(err("message-exception")(message)); + } + + function makeMessageException(message) { + runtime.checkString(message); + return err("message-exception")(message); + } + + function throwMultiErrorException(errs) { + runtime.checkList(errs); + raise(err("multi-error")(errs)); + } + + function throwUserException(errVal) { + runtime.checkPyretVal(errVal); + raise(err("user-exception")(errVal)); + } + function makeUserException(errVal) { + runtime.checkPyretVal(errVal); + return err("user-exception")(errVal); + } + + function throwEqualityException(reason, v1, v2) { + runtime.checkString(reason); + runtime.checkPyretVal(v1); + runtime.checkPyretVal(v2); + raise(err("equality-failure")(reason, v1, v2)); + } + + function throwTypeMismatch(val, typeName) { + // NOTE(joe): can't use checkPyretVal here, because it will re-enter + // this function and blow up... + if(!runtime.isPyretVal(val)) { + console.log("Non Pyret value:", val); + val = "non-Pyret value; see the console for more details"; + } + runtime.checkString(typeName); + raise(err("generic-type-mismatch")(val, typeName)); + } + + function throwInvalidArrayIndex(methodName, array, index, reason) { + runtime.checkString(methodName); + runtime.checkArray(array); + runtime.checkNumber(index); + runtime.checkString(reason); + raise(err("invalid-array-index")(methodName, array, index, reason)); + } + + function throwNumStringBinopError(left, right, opname, opdesc, methodname) { + runtime.checkPyretVal(left); + runtime.checkPyretVal(right); + runtime.checkString(opname); + runtime.checkString(opdesc); + runtime.checkString(methodname); + raise(err("num-string-binop-error")(left, right, opname, opdesc, methodname)); + } + function throwNumericBinopError(left, right, opname, opdesc, methodname) { + runtime.checkPyretVal(left); + runtime.checkPyretVal(right); + runtime.checkString(opname); + runtime.checkString(opdesc); + runtime.checkString(methodname); + raise(err("numeric-binop-error")(left, right, opname, opdesc, methodname)); + } + + function throwUpdateNonObj(loc, objval, objloc) { + runtime.checkPyretVal(objval); + checkSrcloc(loc); + checkSrcloc(objloc); + raise(err("update-non-obj")(loc, objval, objloc)); + } + + function throwUpdateFrozenRef(loc, objval, objloc, fieldname, fieldloc) { + runtime.checkPyretVal(objval); + checkSrcloc(loc); + checkSrcloc(objloc); + runtime.checkString(fieldname); + checkSrcloc(fieldloc); + raise(err("update-frozen-ref")(loc, objval, objloc, fieldname, fieldloc)); + } + + function throwUpdateNonRef(loc, objval, objloc, fieldname, fieldloc) { + runtime.checkPyretVal(objval); + checkSrcloc(loc); + checkSrcloc(objloc); + runtime.checkString(fieldname); + checkSrcloc(fieldloc); + raise(err("update-non-ref")(loc, objval, objloc, fieldname, fieldloc)); + } + + function throwUpdateNonExistentField(loc, objval, objloc, fieldname, fieldloc) { + runtime.checkPyretVal(objval); + checkSrcloc(loc); + checkSrcloc(objloc); + runtime.checkString(fieldname); + checkSrcloc(fieldloc); + raise(err("update-non-existent-field")(loc, objval, objloc, fieldname, fieldloc)); + } + + function throwUninitializedId(loc, name) { + checkSrcloc(loc); + runtime.checkString(name); + raise(err("uninitialized-id")(loc, name)); + } + + function throwUninitializedIdMkLoc(loc, name) { + throwUninitializedId(runtime.makeSrcloc(loc), name); + } + + function throwArityError(funLoc, arity, args, isMethod) { + checkSrcloc(funLoc); + runtime.checkNumber(arity); + runtime.checkList(args); + runtime.checkBoolean(isMethod); + raise(err("arity-mismatch")(funLoc, arity, args, isMethod)); + } + + function throwRowLengthMismatch(colnames, providedVals) { + runtime.checkTable(colnames); + runtime.checkArray(providedVals); + raise(err("row-length-mismatch")(colnames, providedVals)); + } + + function throwColLengthMismatch(colname, expected, actual, value) { + runtime.checkString(colname); + runtime.checkNumber(actual); + runtime.checkNumber(expected); + raise(err("col-length-mismatch")(colname, expected, actual, value)); + } + + function throwArityErrorC(funLoc, arity, args, isMethod) { + var loc = runtime.makeSrcloc(funLoc); + var argsPyret = makeList(args); + throwArityError(loc, arity, argsPyret, isMethod); + } + + function throwConstructorArityErrorC(funLoc, name, arity, args) { + runtime.checkString(name); + runtime.checkNumber(arity); + var loc = runtime.makeSrcloc(funLoc); + var argsPyret = makeList(args); + raise(err("constructor-arity-mismatch")(loc, name, arity, argsPyret)); + } + + function throwCasesArityError(branchLoc, arity, fields, casesLoc, constructorLoc) { + checkSrcloc(branchLoc); + runtime.checkNumber(arity); + runtime.checkNumber(fields); + checkSrcloc(casesLoc); + checkSrcloc(constructorLoc); + raise(err("cases-arity-mismatch")(branchLoc, arity, fields, casesLoc, constructorLoc)); + } + + function throwCasesArityErrorC(branchLoc, arity, fields, casesLoc, constructorLoc) { + var loc = runtime.makeSrcloc(branchLoc); + var cloc = runtime.makeSrcloc(casesLoc); + var constructorLoc = runtime.makeSrcloc(constructorLoc); + throwCasesArityError(loc, arity, fields, cloc, constructorLoc); + } + + function throwCasesSingletonError(branchLoc, shouldBeSingleton, casesLoc, constructorLoc) { + checkSrcloc(branchLoc); + runtime.checkBoolean(shouldBeSingleton); + checkSrcloc(casesLoc) + checkSrcloc(constructorLoc) + raise(err("cases-singleton-mismatch")(branchLoc, shouldBeSingleton, casesLoc, constructorLoc)); + } + + function throwCasesSingletonErrorC(branchLoc, shouldBeSingleton, casesLoc, constructorLoc) { + var loc = runtime.makeSrcloc(branchLoc); + var cloc = runtime.makeSrcloc(casesLoc); + var constructorLoc = runtime.makeSrcloc(constructorLoc); + throwCasesSingletonError(loc, shouldBeSingleton, cloc, constructorLoc); + } + + function throwNonBooleanCondition(locArray, type, val) { + runtime.checkString(type); + runtime.checkPyretVal(val); + raise(err("non-boolean-condition")(runtime.makeSrcloc(locArray), type, val)); + } + function throwNonBooleanOp(locArray, position, type, val) { + runtime.checkString(position); + runtime.checkString(type); + runtime.checkPyretVal(val); + raise(err("non-boolean-op")(runtime.makeSrcloc(locArray), position, type, val)); + } + function throwNoBranchesMatched(locArray, type) { + runtime.checkString(type); + raise(err("no-branches-matched")(runtime.makeSrcloc(locArray), type)); + } + function throwNoCasesMatched(locArray, val) { + runtime.checkPyretVal(val); + raise(err("no-cases-matched")(runtime.makeSrcloc(locArray), val)); + } + function throwUnfinishedTemplate(locArray) { + raise(err("template-not-finished")(runtime.makeSrcloc(locArray))); + } + function throwNonFunApp(locArray, funVal) { + runtime.checkPyretVal(funVal); + raise(err("non-function-app")(runtime.makeSrcloc(locArray), funVal)); + } + + function throwColumnNotFound(operation_loc, col_name, col_loc, columns) { + runtime.checkString(col_name); + runtime.checkList(columns); + raise(err("column-not-found")( + runtime.makeSrcloc(operation_loc), + col_name, + runtime.makeSrcloc(col_loc), + columns)); + } + + function throwDuplicateColumn(operation_loc, col_name, col_loc) { + runtime.checkString(col_name); + raise(err("duplicate-column")( + runtime.makeSrcloc(operation_loc), + col_name, + runtime.makeSrcloc(col_loc))); + } + + function throwParseErrorBadApp(fun_loc, args_loc) { + raise(err("parse-error-bad-app")(fun_loc, args_loc)); + } + function throwParseErrorBadFunHeader(fun_loc, args_loc) { + raise(err("parse-error-bad-fun-header")(fun_loc, args_loc)); + } + function throwParseErrorNextToken(loc, nextToken) { + raise(err("parse-error-next-token")(loc, nextToken)); + } + function throwParseErrorEOF(loc) { + raise(err("parse-error-eof")(loc)); + } + function throwParseErrorUnterminatedString(loc) { + raise(err("parse-error-unterminated-string")(loc)); + } + function throwParseErrorBadNumber(loc) { + raise(err("parse-error-bad-number")(loc)); + } + function throwParseErrorBadOper(loc) { + raise(err("parse-error-bad-operator")(loc)); + } + function throwParseErrorBadCheckOper(loc) { + raise(err("parse-error-bad-check-operator")(loc)); + } + function throwParseErrorColonColon(loc, nextToken) { + raise(err("parse-error-colon-colon")(loc)); + } + + function throwModuleLoadFailureL(names) { + raise(makeModuleLoadFailureL(names)); + } + + function makeModuleLoadFailureL(names) { + var namesList = makeList(names); + return err("module-load-failure")(namesList); + } + + function makeBadBracketException(loc, val) { + runtime.checkPyretVal(val); + return contract("bad-bracket-target")(loc, val); + } + + + function makeRecordFieldsFail(value, failures) { + runtime.checkPyretVal(value); + return contract("record-fields-fail")(value, failures); + } + + function makeTupleAnnsFail(value, failures) { + return contract("tuple-anns-fail")(value, failures); + } + + function makeTupleAnnsFail(value, failures) { + return contract("tuple-anns-fail")(value, failures); + } + + function makeFieldFailure(loc, field, reason) { + checkSrcloc(loc); + runtime.checkString(field); + return contract("field-failure")(loc, field, reason); + } + + function makeAnnFailure(loc, ann, reason) { + checkSrcloc(loc); + return contract("ann-failure")(loc, ann, reason); + } + + function makeMissingField(loc, field) { + checkSrcloc(loc); + runtime.checkString(field); + return contract("missing-field")(loc, field); + } + + function makeTupleLengthMismatch(loc, val, annLength, tupLength) { + checkSrcloc(loc); + runtime.checkNumber(annLength); + runtime.checkNumber(tupLength); + return contract("tup-length-mismatch")(loc, val, annLength, tupLength); + } + + function makeTypeMismatch(val, name) { + runtime.checkString(name); + runtime.checkPyretVal(val); + return contract("type-mismatch")(val, name); + } + + function makeRefInitFail(loc, reason) { + checkSrcloc(loc); + return contract("ref-init")(loc, reason); + } + + function makePredicateFailure(val, name) { + runtime.checkString(name); + runtime.checkPyretVal(val); + return contract("predicate-failure")(val, name); + } + + function makeDotAnnNotPresent(name, field) { + runtime.checkString(name); + runtime.checkPyretVal(field); + return contract("dot-ann-not-present")(name, field); + } + + function makeFailureAtArg(loc, index, name, args, reason) { + checkSrcloc(loc); + runtime.checkNumber(index); + runtime.checkString(name); + runtime.checkList(args); + return contract("failure-at-arg")(loc, index, name, args, reason); + } + + var isOk = contract("is-ok"); + var isFail = contract("is-fail"); + var isFailArg = contract("is-fail-arg"); + + var isEqualityResult = gf(EQ, "is-EqualityResult").app; + var isEqual = gf(EQ, "is-Equal").app; + var isNotEqual = gf(EQ, "is-NotEqual").app; + var isUnknown = gf(EQ, "is-Unknown").app + + var isEmpty = gf(L, "is-empty").app; + var isLink = gf(L, "is-link").app; + function listLength(lst) { + var len = 0; + while (isLink(lst)) { + len++; + lst = gf(lst, "rest"); + } + return len; + } + + function isList(list) { return runtime.unwrap(runtime.getField(L, "is-List").app(list)); } + + runtime.makePrimAnn("List", isList); + + return runtime.makeJSModuleReturn({ + makePyretPos : makePyretPos, + combinePyretPos : combinePyretPos, + throwUpdateNonObj : throwUpdateNonObj, + throwUpdateFrozenRef : throwUpdateFrozenRef, + throwUpdateNonRef : throwUpdateNonRef, + throwUpdateNonExistentField : throwUpdateNonExistentField, + throwNumStringBinopError: throwNumStringBinopError, + throwNumericBinopError: throwNumericBinopError, + throwInternalError: throwInternalError, + throwSpinnakerError: throwSpinnakerError, + throwFieldNotFound: throwFieldNotFound, + throwConstructorSyntaxNonConstructor: throwConstructorSyntaxNonConstructor, + throwLookupConstructorNotObject: throwLookupConstructorNotObject, + throwLookupNonObject: throwLookupNonObject, + throwLookupNonTuple: throwLookupNonTuple, + throwBadTupleBind: throwBadTupleBind, + throwNonTupleBind: throwNonTupleBind, + throwLookupLargeIndex: throwLookupLargeIndex, + throwExtendNonObject: throwExtendNonObject, + throwTypeMismatch: throwTypeMismatch, + throwInvalidArrayIndex: throwInvalidArrayIndex, + throwMessageException: throwMessageException, + throwMultiErrorException: throwMultiErrorException, + throwUserException: throwUserException, + throwEqualityException: throwEqualityException, + throwUninitializedId: throwUninitializedId, + throwUninitializedIdMkLoc: throwUninitializedIdMkLoc, + throwArityError: throwArityError, + throwArityErrorC: throwArityErrorC, + throwRowLengthMismatch: throwRowLengthMismatch, + throwColLengthMismatch: throwColLengthMismatch, + throwConstructorArityErrorC: throwConstructorArityErrorC, + throwCasesArityError: throwCasesArityError, + throwCasesArityErrorC: throwCasesArityErrorC, + throwCasesSingletonError: throwCasesSingletonError, + throwCasesSingletonErrorC: throwCasesSingletonErrorC, + throwNonBooleanCondition: throwNonBooleanCondition, + throwNonBooleanOp: throwNonBooleanOp, + throwNoBranchesMatched: throwNoBranchesMatched, + throwNoCasesMatched: throwNoCasesMatched, + throwNonFunApp: throwNonFunApp, + throwColumnNotFound: throwColumnNotFound, + throwDuplicateColumn: throwDuplicateColumn, + throwUnfinishedTemplate: throwUnfinishedTemplate, + throwModuleLoadFailureL: throwModuleLoadFailureL, + + throwParseErrorBadApp: throwParseErrorBadApp, + throwParseErrorBadFunHeader: throwParseErrorBadFunHeader, + throwParseErrorNextToken: throwParseErrorNextToken, + throwParseErrorColonColon: throwParseErrorColonColon, + throwParseErrorEOF: throwParseErrorEOF, + throwParseErrorUnterminatedString: throwParseErrorUnterminatedString, + throwParseErrorBadNumber: throwParseErrorBadNumber, + throwParseErrorBadOper: throwParseErrorBadOper, + throwParseErrorBadCheckOper: throwParseErrorBadCheckOper, + + makeBadBracketException: makeBadBracketException, + makeRecordFieldsFail: makeRecordFieldsFail, + makeTupleAnnsFail: makeTupleAnnsFail, + makeFieldFailure: makeFieldFailure, + makeAnnFailure: makeAnnFailure, + makeMissingField: makeMissingField, + makeTupleLengthMismatch: makeTupleLengthMismatch, + makeTypeMismatch: makeTypeMismatch, + makeTupleAnnsFail: makeTupleAnnsFail, + makeTupleLengthMismatch: makeTupleLengthMismatch, + makeAnnFailure: makeAnnFailure, + makeRefInitFail: makeRefInitFail, + makePredicateFailure: makePredicateFailure, + makeDotAnnNotPresent: makeDotAnnNotPresent, + makeFailureAtArg: makeFailureAtArg, + contractOk: gf(CON, "ok"), + contractFail: contract("fail"), + contractFailArg: contract("fail-arg"), + isOk: isOk, + isFail: isFail, + isFailArg: isFailArg, + + equal: gf(EQ, "Equal"), + notEqual: gf(EQ, "NotEqual"), + unknown: gf(EQ, "Unknown"), + isEqual: isEqual, + isNotEqual: isNotEqual, + isUnknown: isUnknown, + isEqualityResult: isEqualityResult, + + makeInternalError: makeInternalError, + makeMessageException: makeMessageException, + makeUserException: makeUserException, + makeModuleLoadFailureL: makeModuleLoadFailureL, + + userBreak: gf(ERR, "user-break"), + isUserBreak: errPred("is-user-break"), + isExit: errPred("is-exit"), + isExitQuiet: errPred("is-exit-quiet"), + + errPred: errPred, + + cases: cases, + + checkArity: checkArity, + + /*checkResultsSummary: checkResultsSummary,*/ + + makeList: makeList, + makeTreeSet: makeTreeSet, + + isOption: runtime.getField(O, "is-Option"), + isNone: function(v) { return runtime.getField(O, "is-none").app(v); }, + isSome: function(v) { return runtime.getField(O, "is-some").app(v); }, + makeNone: function() { return runtime.getField(O, "none"); }, + makeSome: function(v) { return runtime.getField(O, "some").app(v); }, + + isEither: runtime.getField(E, "is-Either"), + isLeft: function(v) { return runtime.getField(E, "is-left").app(v); }, + isRight: function(v) { return runtime.getField(E, "is-right").app(v); }, + makeLeft: function(l) { return runtime.getField(E, "left").app(l); }, + makeRight: function(r) { return runtime.getField(E, "right").app(r); }, + + toArray: toArray, + isList: isList, + isLink: isLink, + isEmpty : isEmpty, + listLength: listLength, + + isErrorDisplay: isErrorDisplay, + checkErrorDisplay: checkErrorDisplay, +// NOTE(joe): skipping checker +// isTestResult: isTestResult, +// checkTestResult: checkTestResult, +// isTestSuccess: function(val) { return runtime.unwrap(runtime.getField(CH, "is-success").app(val)); }, + + isValueSkeleton: function(v) { return runtime.unwrap(runtime.getField(VS, "is-ValueSkeleton").app(v)); }, + isVSValue: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-value").app(v)); }, + isVSTable: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-table").app(v)); }, + isVSRow: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-row").app(v)); }, + isVSCollection: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-collection").app(v)); }, + isVSConstr: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-constr").app(v)); }, + isVSStr: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-str").app(v)); }, + isVSSeq: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-seq").app(v)); }, + vsStr: function(s) { + runtime.checkString(s); + return runtime.getField(VS, "vs-str").app(s); + }, + + edEmbed: function(v) { + runtime.checkPyretVal(v); + return runtime.getField(ED, "embed").app(v); + }, + + //TODO(joe): add more creation methods for error-display/valueskeleton + //here, which are super-useful! + + skeletonValues: function(skel) { + var isValueSkeleton = runtime.getField(VS, "is-ValueSkeleton"); + var isValue = runtime.getField(VS, "is-vs-value"); + var isTable = runtime.getField(VS, "is-vs-table"); + var isRow = runtime.getField(VS, "is-vs-row"); + var isCollection = runtime.getField(VS, "is-vs-collection"); + var isConstr = runtime.getField(VS, "is-vs-constr"); + var isStr = runtime.getField(VS, "is-vs-str"); + var isSeq = runtime.getField(VS, "is-vs-seq"); + if(!(runtime.unwrap(isValueSkeleton.app(skel)) === true)) { + throwTypeMismatch(skel, "ValueSkeleton"); + } + var arr = []; + var worklist = [skel]; + try { + for (var i = 0; i < worklist.length; i++) { // length changes as the loop iterates + var cur = worklist[i]; + if (runtime.unwrap(isValue.app(cur)) === true) { + arr.push(runtime.getField(cur, "v")); + } else if (runtime.unwrap(isCollection.app(cur)) === true) { + Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "items"))); + } else if (runtime.unwrap(isRow.app(cur)) === true) { + Array.prototype.push.apply(worklist, runtime.getField(cur, "headers")); + Array.prototype.push.apply(worklist, runtime.getField(cur, "values")); + } else if (runtime.unwrap(isTable.app(cur)) === true) { + Array.prototype.push.apply(worklist, runtime.getField(cur, "headers")); + runtime.getField(cur, "rows").forEach(function(row){ + Array.prototype.push.apply(worklist, row); }); + } else if (runtime.unwrap(isConstr.app(cur)) === true) { + Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "args"))); + } else if (runtime.unwrap(isStr.app(cur)) === true) { + // nothing + } else if (runtime.unwrap(isSeq.app(cur)) === true) { + Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "items"))); + } else { + throwMessageException("Non-value appeared in skeleton: " + String(cur)); + } + } + } catch(e) { + console.error("******* Something went wrong in skeletonValues: " + JSON.stringify(skel)); + console.error(e); + throw e; + } + return arr; + } + }); + } +}) +, +"builtin://checker":({"theMap":"{\"version\":3,\"sources\":[\"builtin://checker\"],\"names\":[\"builtin://checker\",\",24,6,380,24,22,396\",\",25,6,424,25,22,440\",\",26,6,465,26,23,482\",\",27,23,524,27,46,547\",\",27,17,518,27,47,548\",\",47,28,1198,47,46,1216\",\",47,20,1190,47,47,1217\",\",49,22,1256,49,41,1275\",\",51,26,1326,51,37,1337\",\",51,26,1326,51,48,1348\",\",51,26,1326,51,59,1359\",\",51,26,1326,51,72,1372\",\",51,12,1312,51,76,1376\",\",53,13,1413,53,24,1424\",\",54,28,1454,54,39,1465\",\",54,28,1454,54,50,1476\",\",54,28,1454,54,61,1487\",\",54,28,1454,54,74,1500\",\",54,14,1440,54,78,1504\",\",55,14,1520,55,27,1533\",\",56,41,1576,56,53,1588\",\",56,41,1576,56,64,1599\",\",56,41,1576,56,77,1612\",\",56,27,1562,56,81,1616\",\",56,84,1619,56,88,1623\",\",56,90,1625,56,93,1628\",\",56,14,1549,56,99,1634\",\",57,14,1650,57,26,1662\",\",49,8,1242,58,11,1675\",\",64,9,1790,64,16,1797\",\",65,10,1809,65,114,1913\",\",67,9,1940,67,16,1947\",\",68,10,1959,68,39,1988\",\",69,18,2008,69,40,2030\",\",69,10,2000,69,41,2031\",\",70,10,2043,70,42,2075\",\",34,43,680,34,56,693\",\",37,43,802,37,57,816\",\",37,43,802,37,63,822\",\",40,43,936,40,62,955\",\",40,43,936,40,68,961\",\",43,43,1071,43,57,1085\",\",43,43,1071,43,63,1091\",\",31,0,560,73,3,2094\",\",32,2,581,34,61,698\",\",35,2,701,37,68,827\",\",38,2,830,40,73,966\",\",41,2,969,43,68,1096\",\",75,0,2096,83,3,2295\",\",76,2,2121,82,5,2291\",\",86,3,2334,86,14,2345\",\",87,5,2352,87,12,2359\",\",88,6,2367,88,21,2382\",\",90,6,2405,90,22,2421\",\",91,4,2428,91,19,2443\",\",98,9,2667,98,17,2675\",\",98,9,2667,98,30,2688\",\",99,8,2698,99,28,2718\",\",100,28,2747,100,36,2755\",\",100,14,2733,100,37,2756\",\",101,32,2790,101,40,2798\",\",101,22,2780,101,41,2799\",\",103,22,2853,103,35,2866\",\",103,22,2853,103,60,2891\",\",104,22,2914,104,36,2928\",\",104,22,2914,104,61,2953\",\",105,42,2996,105,55,3009\",\",105,42,2996,105,62,3016\",\",105,34,2988,105,63,3017\",\",105,67,3021,105,74,3028\",\",105,76,3030,105,85,3039\",\",105,21,2975,105,90,3044\",\",106,42,3087,106,56,3101\",\",106,42,3087,106,63,3108\",\",106,34,3079,106,64,3109\",\",106,67,3112,106,74,3119\",\",106,76,3121,106,85,3130\",\",106,21,3066,106,90,3135\",\",107,20,3156,107,33,3169\",\",107,20,3156,107,51,3187\",\",108,13,3201,108,21,3209\",\",109,14,3225,109,27,3238\",\",109,14,3225,109,51,3262\",\",110,24,3288,110,32,3296\",\",110,14,3278,110,33,3297\",\",111,15,3314,111,22,3321\",\",112,27,3350,112,38,3361\",\",114,21,3426,114,32,3437\",\",115,22,3461,115,57,3496\",\",116,30,3528,116,46,3544\",\",116,56,3554,116,108,3606\",\",118,34,3676,118,53,3695\",\",120,25,3754,120,36,3765\",\",121,26,3793,121,61,3828\",\",122,34,3864,122,50,3880\",\",122,60,3890,122,82,3912\",\",124,25,3974,124,36,3985\",\",124,24,3973,129,57,4307\",\",125,26,4013,125,61,4048\",\",126,39,4089,126,59,4109\",\",126,62,4112,126,66,4116\",\",126,68,4118,126,71,4121\",\",126,26,4076,126,76,4126\",\",127,26,4154,127,60,4188\",\",128,34,4224,128,50,4240\",\",129,26,4276,129,56,4306\",\",118,20,3662,130,23,4331\",\",132,21,4394,132,32,4405\",\",132,20,4393,137,53,4704\",\",133,22,4429,133,67,4474\",\",134,38,4514,134,57,4533\",\",134,30,4506,134,58,4534\",\",134,22,4498,134,59,4535\",\",135,22,4559,135,56,4593\",\",136,30,4625,136,46,4641\",\",137,22,4673,137,52,4703\",\",112,16,3339,138,19,4724\",\",139,37,4764,139,46,4773\",\",139,16,4743,139,47,4774\",\",140,37,4813,140,47,4823\",\",140,16,4792,140,48,4824\",\",141,25,4851,141,45,4871\",\",101,8,2766,142,11,4883\",\",144,8,4904,144,28,4924\",\",148,7,4983,148,15,4991\",\",149,9,5002,149,16,5009\",\",149,32,5025,149,47,5040\",\",150,25,5067,150,52,5094\",\",151,25,5120,151,77,5172\",\",149,18,5011,152,13,5186\",\",153,17,5206,153,26,5215\",\",153,8,5197,153,27,5216\",\",154,17,5235,154,27,5245\",\",154,8,5226,154,28,5246\",\",158,9,5468,158,17,5476\",\",158,9,5468,158,30,5489\",\",159,8,5499,159,28,5519\",\",160,28,5548,160,36,5556\",\",160,14,5534,160,37,5557\",\",161,32,5591,161,40,5599\",\",161,22,5581,161,41,5600\",\",163,22,5654,163,35,5667\",\",163,22,5654,163,60,5692\",\",164,22,5715,164,36,5729\",\",164,22,5715,164,61,5754\",\",165,42,5797,165,55,5810\",\",165,42,5797,165,62,5817\",\",165,34,5789,165,63,5818\",\",165,67,5822,165,74,5829\",\",165,76,5831,165,85,5840\",\",165,21,5776,165,90,5845\",\",166,42,5888,166,56,5902\",\",166,42,5888,166,63,5909\",\",166,34,5880,166,64,5910\",\",166,67,5913,166,74,5920\",\",166,76,5922,166,85,5931\",\",166,21,5867,166,90,5936\",\",167,20,5957,167,33,5970\",\",167,20,5957,167,51,5988\",\",168,37,6026,168,48,6037\",\",171,20,6117,171,32,6129\",\",176,20,6292,176,32,6304\",\",181,26,6460,181,33,6467\",\",182,14,6483,182,29,6498\",\",182,39,6508,182,60,6529\",\",182,31,6500,182,61,6530\",\",183,14,6546,183,73,6605\",\",184,22,6629,184,42,6649\",\",184,14,6621,184,43,6650\",\",184,45,6652,184,90,6697\",\",187,28,6772,187,42,6786\",\",187,28,6772,187,49,6793\",\",187,16,6760,187,50,6794\",\",187,67,6811,187,81,6825\",\",187,67,6811,187,88,6832\",\",187,55,6799,187,89,6833\",\",189,19,6950,189,26,6957\",\",189,28,6959,189,71,7002\",\",190,28,7033,190,42,7047\",\",190,28,7033,190,49,7054\",\",190,16,7021,190,50,7055\",\",190,66,7071,190,80,7085\",\",190,66,7071,190,87,7092\",\",190,54,7059,190,88,7093\",\",192,19,7202,192,26,7209\",\",192,28,7211,192,79,7262\",\",193,32,7297,193,46,7311\",\",193,32,7297,193,53,7318\",\",193,16,7281,193,54,7319\",\",193,75,7340,193,89,7354\",\",193,75,7340,193,96,7361\",\",193,59,7324,193,97,7362\",\",195,32,7504,195,46,7518\",\",195,32,7504,195,53,7525\",\",195,16,7488,195,54,7526\",\",200,13,7819,200,21,7827\",\",200,12,7818,206,19,8071\",\",201,14,7843,201,27,7856\",\",201,14,7843,201,51,7880\",\",202,24,7906,202,32,7914\",\",202,14,7896,202,33,7915\",\",203,15,7932,203,22,7939\",\",203,24,7941,203,37,7954\",\",204,35,7992,204,44,8001\",\",204,14,7971,204,45,8002\",\",205,35,8039,205,45,8049\",\",205,14,8018,205,46,8050\",\",207,25,8097,207,45,8117\",\",161,8,5567,208,11,8129\",\",210,8,8150,210,28,8170\",\",215,22,8255,215,36,8269\",\",215,22,8255,215,43,8276\",\",215,10,8243,215,44,8277\",\",215,61,8294,215,75,8308\",\",215,61,8294,215,82,8315\",\",215,49,8282,215,83,8316\",\",216,11,8334,216,19,8342\",\",217,13,8357,217,20,8364\",\",218,14,8380,218,115,8481\",\",220,21,8518,220,30,8527\",\",220,12,8509,220,31,8528\",\",221,21,8551,221,31,8561\",\",221,12,8542,221,32,8562\",\",222,22,8586,222,36,8600\",\",222,22,8586,222,43,8607\",\",222,10,8574,222,44,8608\",\",222,60,8624,222,74,8638\",\",222,60,8624,222,81,8645\",\",222,48,8612,222,82,8646\",\",223,11,8664,223,19,8672\",\",224,13,8687,224,20,8694\",\",225,14,8710,225,137,8833\",\",227,21,8870,227,30,8879\",\",227,12,8861,227,31,8880\",\",228,21,8903,228,31,8913\",\",228,12,8894,228,32,8914\",\",230,11,8948,230,19,8956\",\",231,13,8971,231,20,8978\",\",232,14,8994,232,83,9063\",\",232,93,9073,232,114,9094\",\",232,85,9065,232,115,9095\",\",233,14,9111,233,48,9145\",\",234,22,9169,234,39,9186\",\",234,14,9161,234,40,9187\",\",234,42,9189,234,87,9234\",\",236,21,9271,236,30,9280\",\",236,12,9262,236,31,9281\",\",237,21,9304,237,31,9314\",\",237,12,9295,237,32,9315\",\",242,9,9515,242,17,9523\",\",242,9,9515,242,30,9536\",\",243,8,9546,243,28,9566\",\",244,28,9595,244,36,9603\",\",244,14,9581,244,37,9604\",\",245,32,9638,245,40,9646\",\",245,22,9628,245,41,9647\",\",247,22,9701,247,35,9714\",\",247,22,9701,247,60,9739\",\",248,22,9762,248,36,9776\",\",248,22,9762,248,61,9801\",\",249,42,9844,249,55,9857\",\",249,42,9844,249,62,9864\",\",249,34,9836,249,63,9865\",\",249,67,9869,249,74,9876\",\",249,76,9878,249,85,9887\",\",249,21,9823,249,90,9892\",\",250,42,9935,250,56,9949\",\",250,42,9935,250,63,9956\",\",250,34,9927,250,64,9957\",\",250,67,9960,250,74,9967\",\",250,76,9969,250,85,9978\",\",250,21,9914,250,90,9983\",\",251,20,10004,251,33,10017\",\",251,20,10004,251,51,10035\",\",252,13,10049,252,21,10057\",\",253,14,10073,253,27,10086\",\",253,14,10073,253,51,10110\",\",254,24,10136,254,32,10144\",\",254,14,10126,254,33,10145\",\",255,15,10162,255,22,10169\",\",256,27,10198,256,38,10209\",\",258,34,10283,258,53,10302\",\",260,25,10361,260,36,10372\",\",261,26,10400,261,61,10435\",\",262,34,10471,262,50,10487\",\",262,60,10497,262,92,10529\",\",264,25,10591,264,36,10602\",\",264,24,10590,269,63,10934\",\",265,26,10630,265,61,10665\",\",266,39,10706,266,59,10726\",\",266,62,10729,266,66,10733\",\",266,68,10735,266,71,10738\",\",266,26,10693,266,76,10743\",\",267,26,10771,267,64,10809\",\",268,34,10845,268,50,10861\",\",269,26,10897,269,62,10933\",\",258,20,10269,270,23,10958\",\",272,21,11025,272,32,11036\",\",272,20,11024,277,59,11345\",\",273,22,11060,273,67,11105\",\",274,38,11145,274,57,11164\",\",274,30,11137,274,58,11165\",\",274,22,11129,274,59,11166\",\",275,22,11190,275,60,11228\",\",276,30,11260,276,46,11276\",\",277,22,11308,277,58,11344\",\",256,16,10187,278,19,11365\",\",279,37,11405,279,46,11414\",\",279,16,11384,279,47,11415\",\",280,37,11454,280,47,11464\",\",280,16,11433,280,48,11465\",\",281,25,11492,281,45,11512\",\",245,8,9614,282,11,11524\",\",284,8,11545,284,28,11565\",\",288,7,11624,288,15,11632\",\",289,9,11643,289,16,11650\",\",289,32,11666,289,47,11681\",\",290,25,11708,290,56,11739\",\",291,25,11765,291,81,11821\",\",289,18,11652,292,13,11835\",\",293,17,11855,293,26,11864\",\",293,8,11846,293,27,11865\",\",294,17,11884,294,27,11894\",\",294,8,11875,294,28,11895\",\",298,9,12059,298,17,12067\",\",298,9,12059,298,30,12080\",\",299,8,12090,299,28,12110\",\",300,28,12139,300,36,12147\",\",300,14,12125,300,37,12148\",\",301,32,12182,301,40,12190\",\",301,22,12172,301,41,12191\",\",303,22,12245,303,34,12257\",\",303,22,12245,303,59,12282\",\",304,22,12305,304,36,12319\",\",304,22,12305,304,42,12325\",\",305,42,12368,305,54,12380\",\",305,42,12368,305,61,12387\",\",305,34,12360,305,62,12388\",\",305,66,12392,305,73,12399\",\",305,75,12401,305,84,12410\",\",305,21,12347,305,89,12415\",\",306,34,12450,306,54,12470\",\",306,57,12473,306,64,12480\",\",306,66,12482,306,75,12491\",\",306,21,12437,306,80,12496\",\",308,13,12511,308,21,12519\",\",309,14,12535,309,26,12547\",\",309,14,12535,309,50,12571\",\",310,24,12597,310,32,12605\",\",310,14,12587,310,33,12606\",\",311,15,12623,311,22,12630\",\",311,14,12622,318,32,12887\",\",312,16,12648,312,51,12683\",\",314,16,12725,314,61,12770\",\",316,16,12812,316,33,12829\",\",318,16,12871,318,31,12886\",\",319,23,12912,319,31,12920\",\",319,14,12903,319,32,12921\",\",320,20,12943,320,40,12963\",\",301,8,12158,321,11,12975\",\",323,8,12996,323,28,13016\",\",327,7,13075,327,15,13083\",\",328,9,13094,328,16,13101\",\",328,18,13103,328,56,13141\",\",329,17,13161,329,25,13169\",\",329,8,13152,329,26,13170\",\",333,9,13337,333,17,13345\",\",333,9,13337,333,30,13358\",\",334,8,13368,334,28,13388\",\",335,28,13417,335,36,13425\",\",335,14,13403,335,37,13426\",\",336,32,13460,336,40,13468\",\",336,22,13450,336,41,13469\",\",338,22,13523,338,34,13535\",\",338,22,13523,338,59,13560\",\",339,22,13583,339,36,13597\",\",339,22,13583,339,42,13603\",\",340,42,13646,340,54,13658\",\",340,42,13646,340,61,13665\",\",340,34,13638,340,62,13666\",\",340,66,13670,340,73,13677\",\",340,75,13679,340,84,13688\",\",340,21,13625,340,89,13693\",\",341,34,13728,341,54,13748\",\",341,57,13751,341,64,13758\",\",341,66,13760,341,75,13769\",\",341,21,13715,341,80,13774\",\",342,13,13788,342,21,13796\",\",343,14,13812,343,26,13824\",\",343,14,13812,343,50,13848\",\",344,24,13874,344,32,13882\",\",344,14,13864,344,33,13883\",\",345,15,13900,345,22,13907\",\",345,14,13899,352,33,14201\",\",346,16,13925,346,51,13960\",\",348,16,14002,348,67,14053\",\",350,16,14095,350,63,14142\",\",352,16,14184,352,32,14200\",\",353,23,14226,353,31,14234\",\",353,14,14217,353,32,14235\",\",355,12,14269,355,32,14289\",\",336,8,13436,356,11,14301\",\",358,8,14322,358,28,14342\",\",362,7,14401,362,15,14409\",\",363,9,14420,363,16,14427\",\",363,18,14429,363,83,14494\",\",364,17,14514,364,25,14522\",\",364,8,14505,364,26,14523\",\",368,9,14701,368,17,14709\",\",368,9,14701,368,30,14722\",\",369,8,14732,369,28,14752\",\",370,28,14781,370,36,14789\",\",370,14,14767,370,37,14790\",\",371,32,14824,371,40,14832\",\",371,22,14814,371,41,14833\",\",373,13,14878,373,21,14886\",\",373,12,14877,379,42,15177\",\",374,14,14902,374,29,14917\",\",374,14,14902,374,53,14941\",\",375,24,14967,375,32,14975\",\",375,14,14957,375,33,14976\",\",376,15,14993,376,22,15000\",\",376,24,15002,376,60,15038\",\",377,23,15064,377,38,15079\",\",377,14,15055,377,39,15080\",\",378,15,15097,378,22,15104\",\",378,24,15106,378,50,15132\",\",379,23,15158,379,40,15175\",\",379,14,15149,379,41,15176\",\",380,20,15198,380,40,15218\",\",371,8,14800,381,11,15230\",\",383,8,15251,383,28,15271\",\",387,16,15349,387,31,15364\",\",387,6,15339,387,32,15365\",\",390,7,15414,390,15,15422\",\",391,9,15433,391,16,15440\",\",391,18,15442,391,54,15478\",\",392,17,15498,392,32,15513\",\",392,8,15489,392,33,15514\",\",393,9,15525,393,16,15532\",\",393,18,15534,393,44,15560\",\",394,17,15580,394,34,15597\",\",394,8,15571,394,35,15598\",\",398,9,15684,398,13,15688\",\",399,22,15712,399,30,15720\",\",399,10,15700,399,31,15721\",\",400,22,15745,400,39,15762\",\",400,10,15733,400,40,15763\",\",401,33,15798,401,48,15813\",\",401,22,15787,401,49,15814\",\",401,10,15775,401,50,15815\",\",397,6,15641,401,52,15817\",\",405,9,15999,405,17,16007\",\",405,9,15999,405,30,16020\",\",406,8,16030,406,28,16050\",\",407,28,16079,407,36,16087\",\",407,14,16065,407,37,16088\",\",408,32,16122,408,40,16130\",\",408,22,16112,408,41,16131\",\",410,13,16176,410,21,16184\",\",410,12,16175,416,46,16484\",\",411,14,16200,411,29,16215\",\",411,14,16200,411,53,16239\",\",412,24,16265,412,32,16273\",\",412,14,16255,412,33,16274\",\",413,15,16291,413,22,16298\",\",413,24,16300,413,49,16325\",\",414,23,16351,414,38,16366\",\",414,14,16342,414,39,16367\",\",415,15,16384,415,22,16391\",\",415,24,16393,415,66,16435\",\",416,23,16461,416,44,16482\",\",416,14,16452,416,45,16483\",\",417,20,16505,417,40,16525\",\",408,8,16098,418,11,16537\",\",420,8,16558,420,28,16578\",\",424,7,16637,424,15,16645\",\",425,9,16656,425,16,16663\",\",425,18,16665,425,43,16690\",\",426,17,16710,426,32,16725\",\",426,8,16701,426,33,16726\",\",427,9,16737,427,16,16744\",\",427,18,16746,427,60,16788\",\",428,17,16808,428,38,16829\",\",428,8,16799,428,39,16830\",\",432,9,16916,432,13,16920\",\",433,22,16944,433,30,16952\",\",433,10,16932,433,31,16953\",\",434,22,16977,434,43,16998\",\",434,10,16965,434,44,16999\",\",435,33,17034,435,48,17049\",\",435,22,17023,435,49,17050\",\",435,10,17011,435,50,17051\",\",431,6,16873,435,52,17053\",\",439,9,17226,439,17,17234\",\",439,9,17226,439,30,17247\",\",440,8,17257,440,28,17277\",\",441,28,17306,441,36,17314\",\",441,14,17292,441,37,17315\",\",442,32,17349,442,40,17357\",\",442,22,17339,442,41,17358\",\",444,22,17412,444,36,17426\",\",444,22,17412,444,61,17451\",\",445,13,17465,445,21,17473\",\",446,14,17489,446,28,17503\",\",446,14,17489,446,52,17527\",\",447,24,17553,447,32,17561\",\",447,14,17543,447,33,17562\",\",449,17,17609,449,21,17613\",\",449,23,17615,449,74,17666\",\",450,36,17706,450,50,17720\",\",451,36,17758,451,40,17762\",\",451,55,17777,451,75,17797\",\",451,79,17801,451,86,17808\",\",451,88,17810,451,97,17819\",\",451,42,17764,451,103,17825\",\",452,36,17863,452,40,17867\",\",452,55,17882,452,76,17903\",\",452,79,17906,452,86,17913\",\",452,88,17915,452,102,17929\",\",452,88,17915,452,108,17935\",\",452,88,17915,452,110,17937\",\",452,42,17869,452,116,17943\",\",453,36,17981,453,40,17985\",\",453,55,18000,453,77,18022\",\",453,80,18025,453,87,18032\",\",453,89,18034,453,103,18048\",\",453,89,18034,453,109,18054\",\",453,89,18034,453,111,18056\",\",453,42,17987,453,117,18062\",\",455,39,18140,455,58,18159\",\",456,36,18226,456,40,18230\",\",456,55,18245,456,76,18266\",\",456,81,18271,456,88,18278\",\",456,90,18280,456,93,18283\",\",456,42,18232,456,99,18289\",\",458,25,18352,458,29,18356\",\",458,44,18371,458,64,18391\",\",458,68,18395,458,75,18402\",\",458,77,18404,458,91,18418\",\",458,77,18404,458,97,18424\",\",458,77,18404,458,99,18426\",\",458,31,18358,458,105,18432\",\",455,20,18121,459,23,18457\",\",450,16,17686,460,19,18477\",\",449,16,17608,460,19,18477\",\",460,23,18481,460,27,18485\",\",460,29,18487,460,63,18521\",\",449,16,17608,460,64,18522\",\",448,14,17578,460,65,18523\",\",461,23,18548,461,38,18563\",\",461,14,18539,461,39,18564\",\",462,20,18586,462,40,18606\",\",442,8,17325,463,11,18618\",\",465,8,18639,465,28,18659\",\",469,7,18718,469,15,18726\",\",470,9,18737,470,16,18744\",\",470,18,18746,470,54,18782\",\",471,17,18802,471,32,18817\",\",471,8,18793,471,33,18818\",\",476,16,18980,476,31,18995\",\",476,6,18970,476,32,18996\",\",480,9,19075,480,13,19079\",\",481,22,19103,481,30,19111\",\",481,10,19091,481,31,19112\",\",482,33,19147,482,48,19162\",\",482,22,19136,482,49,19163\",\",482,10,19124,482,50,19164\",\",483,22,19188,483,36,19202\",\",483,10,19176,483,37,19203\",\",479,6,19038,483,39,19205\",\",487,9,19402,487,17,19410\",\",487,9,19402,487,30,19423\",\",488,8,19439,488,28,19459\",\",489,28,19488,489,36,19496\",\",489,14,19474,489,37,19497\",\",490,32,19531,490,40,19539\",\",490,22,19521,490,41,19540\",\",492,22,19594,492,34,19606\",\",492,22,19594,492,59,19631\",\",493,42,19674,493,54,19686\",\",493,42,19674,493,61,19693\",\",493,34,19666,493,62,19694\",\",493,65,19697,493,72,19704\",\",493,74,19706,493,83,19715\",\",493,21,19653,493,88,19720\",\",494,26,19747,494,43,19764\",\",496,17,19812,496,25,19820\",\",497,18,19840,497,30,19852\",\",497,18,19840,497,54,19876\",\",498,28,19906,498,36,19914\",\",498,18,19896,498,37,19915\",\",499,19,19936,499,26,19943\",\",500,20,19965,500,72,20017\",\",501,23,20050,501,34,20061\",\",502,22,20085,502,43,20106\",\",504,22,20155,504,68,20201\",\",505,26,20228,505,39,20241\",\",507,17,20284,507,25,20292\",\",508,18,20312,508,30,20324\",\",508,18,20312,508,54,20348\",\",509,28,20378,509,36,20386\",\",509,18,20368,509,37,20387\",\",510,19,20408,510,26,20415\",\",510,28,20417,510,80,20469\",\",494,12,19733,511,15,20495\",\",512,20,20516,512,40,20536\",\",490,8,19507,513,11,20548\",\",515,8,20569,515,28,20589\",\",519,20,20661,519,37,20678\",\",521,11,20714,521,19,20722\",\",522,13,20737,522,20,20744\",\",522,76,20800,522,88,20812\",\",522,76,20800,522,95,20819\",\",522,30,20754,522,95,20819\",\",523,19,20841,523,30,20852\",\",522,30,20754,527,19,20982\",\",522,22,20746,527,20,20983\",\",527,23,20986,527,36,20999\",\",529,11,21030,529,19,21038\",\",530,13,21053,530,20,21060\",\",530,76,21116,530,88,21128\",\",530,76,21116,530,95,21135\",\",530,30,21070,530,95,21135\",\",530,22,21062,530,96,21136\",\",519,6,20647,531,9,21148\",\",535,9,21317,535,17,21325\",\",535,9,21317,535,30,21338\",\",536,8,21348,536,28,21368\",\",537,28,21397,537,36,21405\",\",537,14,21383,537,37,21406\",\",538,32,21440,538,40,21448\",\",538,22,21430,538,41,21449\",\",540,22,21503,540,34,21515\",\",540,22,21503,540,59,21540\",\",541,22,21563,541,36,21577\",\",541,22,21563,541,42,21583\",\",542,42,21626,542,54,21638\",\",542,42,21626,542,61,21645\",\",542,34,21618,542,62,21646\",\",542,66,21650,542,73,21657\",\",542,75,21659,542,84,21668\",\",542,21,21605,542,89,21673\",\",543,34,21708,543,54,21728\",\",543,57,21731,543,64,21738\",\",543,66,21740,543,75,21749\",\",543,21,21695,543,80,21754\",\",545,13,21769,545,21,21777\",\",546,14,21793,546,26,21805\",\",546,14,21793,546,50,21829\",\",547,24,21855,547,32,21863\",\",547,14,21845,547,33,21864\",\",548,15,21881,548,22,21888\",\",548,14,21880,555,33,22202\",\",549,16,21906,549,51,21941\",\",551,16,21983,551,87,22054\",\",553,16,22096,553,63,22143\",\",555,16,22185,555,32,22201\",\",556,23,22227,556,31,22235\",\",556,14,22218,556,32,22236\",\",557,20,22258,557,40,22278\",\",538,8,21416,558,11,22290\",\",560,8,22311,560,28,22331\",\",564,7,22390,564,15,22398\",\",565,9,22409,565,16,22416\",\",565,18,22418,565,60,22460\",\",566,9,22472,566,16,22479\",\",566,38,22501,566,46,22509\",\",566,27,22490,566,47,22510\",\",566,18,22481,566,48,22511\",\",570,9,22608,570,13,22612\",\",571,22,22636,571,30,22644\",\",571,10,22624,571,31,22645\",\",572,33,22680,572,41,22688\",\",572,22,22669,572,42,22689\",\",572,10,22657,572,43,22690\",\",573,22,22714,573,31,22723\",\",573,10,22702,573,32,22724\",\",569,6,22555,573,34,22726\",\",577,9,22898,577,17,22906\",\",577,9,22898,577,30,22919\",\",578,8,22929,578,28,22949\",\",579,28,22978,579,36,22986\",\",579,14,22964,579,37,22987\",\",580,32,23021,580,40,23029\",\",580,22,23011,580,41,23030\",\",582,22,23084,582,34,23096\",\",582,22,23084,582,59,23121\",\",583,22,23144,583,36,23158\",\",583,22,23144,583,42,23164\",\",584,42,23207,584,54,23219\",\",584,42,23207,584,61,23226\",\",584,34,23199,584,62,23227\",\",584,66,23231,584,73,23238\",\",584,75,23240,584,84,23249\",\",584,21,23186,584,89,23254\",\",585,34,23289,585,54,23309\",\",585,57,23312,585,64,23319\",\",585,66,23321,585,75,23330\",\",585,21,23276,585,80,23335\",\",587,13,23350,587,21,23358\",\",588,15,23375,588,22,23382\",\",589,16,23400,589,28,23412\",\",589,16,23400,589,52,23436\",\",593,24,23620,593,32,23628\",\",593,14,23610,593,33,23629\",\",594,15,23646,594,22,23653\",\",594,14,23645,601,32,23970\",\",595,16,23671,595,51,23706\",\",597,16,23748,597,91,23823\",\",599,16,23865,599,63,23912\",\",601,16,23954,601,31,23969\",\",602,23,23995,602,31,24003\",\",602,14,23986,602,32,24004\",\",603,20,24026,603,40,24046\",\",580,8,22997,604,11,24058\",\",606,8,24079,606,28,24099\",\",610,7,24158,610,15,24166\",\",611,9,24177,611,16,24184\",\",611,18,24186,611,87,24255\",\",612,9,24267,612,16,24274\",\",612,38,24296,612,46,24304\",\",612,27,24285,612,47,24305\",\",612,18,24276,612,48,24306\",\",616,9,24406,616,13,24410\",\",617,22,24434,617,30,24442\",\",617,10,24422,617,31,24443\",\",618,33,24478,618,41,24486\",\",618,22,24467,618,42,24487\",\",618,10,24455,618,43,24488\",\",619,22,24512,619,31,24521\",\",619,10,24500,619,32,24522\",\",615,6,24350,619,34,24524\",\",625,7,24823,625,15,24831\",\",626,9,24842,626,16,24849\",\",626,18,24851,626,106,24939\",\",627,9,24951,627,16,24958\",\",627,27,24969,627,43,24985\",\",627,18,24960,627,44,24986\",\",630,7,25037,630,15,25045\",\",631,9,25056,631,16,25063\",\",631,18,25065,631,106,25153\",\",632,9,25165,632,16,25172\",\",632,27,25183,632,43,25199\",\",632,18,25174,632,44,25200\",\",636,9,25366,636,17,25374\",\",636,9,25366,636,30,25387\",\",637,8,25397,637,28,25417\",\",638,28,25446,638,36,25454\",\",638,14,25432,638,37,25455\",\",639,32,25489,639,40,25497\",\",639,22,25479,639,41,25498\",\",641,36,25566,641,61,25591\",\",641,65,25595,641,72,25602\",\",641,74,25604,641,107,25637\",\",641,74,25604,641,109,25639\",\",641,23,25553,641,114,25644\",\",642,13,25658,642,21,25666\",\",643,15,25683,643,22,25690\",\",643,24,25692,643,39,25707\",\",643,85,25753,643,95,25763\",\",643,75,25743,643,96,25764\",\",643,59,25727,643,96,25764\",\",643,59,25727,643,143,25811\",\",643,51,25719,643,144,25812\",\",644,24,25839,644,32,25847\",\",644,14,25829,644,33,25848\",\",645,15,25865,645,22,25872\",\",645,24,25874,645,51,25901\",\",645,62,25912,645,76,25926\",\",645,53,25903,645,77,25927\",\",647,13,25963,647,21,25971\",\",648,15,25988,648,22,25995\",\",648,76,26049,648,86,26059\",\",648,66,26039,648,87,26060\",\",648,32,26005,648,87,26060\",\",648,32,26005,648,155,26128\",\",648,24,25997,648,156,26129\",\",649,15,26147,649,22,26154\",\",649,33,26165,649,47,26179\",\",649,24,26156,649,48,26180\",\",650,24,26207,650,32,26215\",\",650,14,26197,650,33,26216\",\",639,8,25465,651,11,26229\",\",636,6,25363,652,9,26239\",\",655,7,26288,655,15,26296\",\",656,9,26307,656,16,26314\",\",656,70,26368,656,80,26378\",\",656,60,26358,656,81,26379\",\",656,26,26324,656,81,26379\",\",656,26,26324,656,149,26447\",\",656,18,26316,656,150,26448\",\",657,9,26460,657,16,26467\",\",657,27,26478,657,41,26492\",\",657,18,26469,657,42,26493\",\",661,9,26679,661,17,26687\",\",661,9,26679,661,30,26700\",\",662,8,26710,662,28,26730\",\",663,28,26759,663,36,26767\",\",663,14,26745,663,37,26768\",\",664,32,26802,664,40,26810\",\",664,22,26792,664,41,26811\",\",666,22,26865,666,35,26878\",\",666,22,26865,666,60,26903\",\",667,42,26946,667,55,26959\",\",667,42,26946,667,62,26966\",\",667,34,26938,667,63,26967\",\",667,67,26971,667,74,26978\",\",667,76,26980,667,85,26989\",\",667,21,26925,667,90,26994\",\",668,36,27031,668,61,27056\",\",668,65,27060,668,72,27067\",\",668,74,27069,668,107,27102\",\",668,74,27069,668,109,27104\",\",668,23,27018,668,114,27109\",\",669,13,27123,669,21,27131\",\",670,15,27148,670,22,27155\",\",670,24,27157,670,39,27172\",\",670,51,27184,670,85,27218\",\",671,24,27245,671,32,27253\",\",671,14,27235,671,33,27254\",\",672,15,27271,672,22,27278\",\",672,24,27280,672,55,27311\",\",672,66,27322,672,82,27338\",\",672,57,27313,672,83,27339\",\",673,16,27357,673,48,27389\",\",675,13,27433,675,21,27441\",\",676,15,27458,676,22,27465\",\",676,24,27467,676,102,27545\",\",677,15,27563,677,22,27570\",\",677,33,27581,677,49,27597\",\",677,24,27572,677,50,27598\",\",678,15,27616,678,22,27623\",\",678,57,27658,678,70,27671\",\",678,57,27658,678,77,27678\",\",678,32,27633,678,77,27678\",\",678,24,27625,678,78,27679\",\",679,24,27706,679,32,27714\",\",679,14,27696,679,33,27715\",\",664,8,26778,680,11,27728\",\",661,6,26676,681,9,27738\",\",684,7,27787,684,15,27795\",\",685,9,27806,685,16,27813\",\",685,18,27815,685,96,27893\",\",686,9,27905,686,16,27912\",\",686,27,27923,686,43,27939\",\",686,18,27914,686,44,27940\",\",94,0,2450,692,3,28134\",\",95,2,2469,95,23,2490\",\",96,2,2493,155,7,5255\",\",156,2,5258,239,7,9334\",\",240,2,9337,295,7,11904\",\",296,2,11907,330,7,13179\",\",331,2,13182,365,7,14532\",\",366,2,14535,402,8,15826\",\",403,2,15829,436,8,17062\",\",437,2,17065,484,8,19214\",\",485,2,19217,532,7,21156\",\",533,2,21159,574,7,22734\",\",575,2,22737,620,7,24532\",\",623,2,24638,633,7,25210\",\",634,2,25213,658,7,26503\",\",659,2,26506,687,7,27950\",\",695,23,28233,695,27,28237\",\",697,22,28312,697,26,28316\",\",697,21,28311,697,48,28338\",\",699,25,28370,699,29,28374\",\",701,24,28437,701,28,28441\",\",701,23,28436,701,50,28463\",\",705,23,28555,705,40,28572\",\",705,53,28585,705,59,28591\",\",705,11,28543,705,64,28596\",\",706,9,28606,706,28,28625\",\",706,59,28656,706,63,28660\",\",706,42,28639,706,74,28671\",\",706,31,28628,706,75,28672\",\",708,25,28710,708,43,28728\",\",708,57,28742,708,64,28749\",\",708,13,28698,708,69,28754\",\",709,11,28766,709,30,28785\",\",709,61,28816,709,65,28820\",\",709,44,28799,709,77,28832\",\",709,33,28788,709,78,28833\",\",711,42,28890,711,46,28894\",\",711,48,28896,711,52,28900\",\",711,32,28880,711,53,28901\",\",711,16,28864,711,58,28906\",\",712,13,28920,712,33,28940\",\",712,63,28970,712,68,28975\",\",712,46,28953,712,84,28991\",\",712,35,28942,712,85,28992\",\",713,16,29009,713,21,29014\",\",721,23,29163,721,40,29180\",\",721,53,29193,721,59,29199\",\",721,11,29151,721,64,29204\",\",722,9,29214,722,28,29233\",\",722,59,29264,722,63,29268\",\",722,42,29247,722,74,29279\",\",722,31,29236,722,75,29280\",\",724,25,29318,724,43,29336\",\",724,57,29350,724,64,29357\",\",724,13,29306,724,69,29362\",\",725,11,29374,725,30,29393\",\",725,61,29424,725,65,29428\",\",725,44,29407,725,77,29440\",\",725,33,29396,725,78,29441\",\",727,27,29483,727,45,29501\",\",727,59,29515,727,66,29522\",\",727,15,29471,727,71,29527\",\",728,13,29541,728,32,29560\",\",728,63,29591,728,67,29595\",\",728,46,29574,728,78,29606\",\",728,35,29563,728,79,29607\",\",730,44,29668,730,48,29672\",\",730,50,29674,730,54,29678\",\",730,56,29680,730,60,29684\",\",730,34,29658,730,61,29685\",\",730,18,29642,730,66,29690\",\",731,15,29706,731,35,29726\",\",731,65,29756,731,70,29761\",\",731,48,29739,731,86,29777\",\",731,37,29728,731,87,29778\",\",732,18,29797,732,23,29802\",\",741,17,29954,741,29,29966\",\",741,6,29943,741,30,29967\",\",743,17,29995,743,29,30007\",\",743,6,29984,743,30,30008\",\",746,43,30066,746,47,30070\",\",749,25,30157,749,56,30188\",\",749,24,30156,749,57,30189\",\",752,10,30289,752,25,30304\",\",753,28,30333,753,33,30338\",\",753,19,30324,753,34,30339\",\",755,61,30440,755,67,30446\",\",755,69,30448,755,79,30458\",\",755,81,30460,755,96,30475\",\",755,42,30421,755,120,30499\",\",755,25,30404,755,121,30500\",\",756,64,30565,756,70,30571\",\",756,72,30573,756,82,30583\",\",756,84,30585,756,99,30600\",\",756,118,30619,756,127,30628\",\",756,45,30546,756,128,30629\",\",756,28,30529,756,129,30630\",\",754,10,30350,757,13,30644\",\",750,8,30205,759,11,30700\",\",763,10,30781,763,31,30802\",\",764,19,30852,764,40,30873\",\",766,44,30958,766,109,31023\",\",766,33,30947,766,110,31024\",\",767,44,31069,767,99,31124\",\",767,33,31058,767,100,31125\",\",768,44,31170,768,56,31182\",\",768,33,31159,768,57,31183\",\",765,8,30882,769,11,31195\",\",763,6,30777,770,9,31205\",\",774,10,31303,774,37,31330\",\",775,19,31395,775,40,31416\",\",777,44,31501,777,110,31567\",\",777,33,31490,777,111,31568\",\",778,44,31613,778,100,31669\",\",778,33,31602,778,101,31670\",\",780,23,31715,780,44,31736\",\",782,48,31829,782,113,31894\",\",782,37,31818,782,114,31895\",\",783,48,31944,783,103,31999\",\",783,37,31933,783,104,32000\",\",784,48,32049,784,60,32061\",\",784,37,32038,784,61,32062\",\",781,12,31749,785,15,32078\",\",776,8,31425,786,11,32090\",\",774,6,31299,787,9,32100\",\",791,10,32193,791,31,32214\",\",792,19,32264,792,50,32295\",\",792,19,32264,792,58,32303\",\",794,44,32388,794,109,32453\",\",794,33,32377,794,110,32454\",\",795,44,32499,795,99,32554\",\",795,33,32488,795,100,32555\",\",796,44,32600,796,56,32612\",\",796,33,32589,796,57,32613\",\",793,8,32312,797,11,32625\",\",791,6,32189,798,9,32635\",\",802,10,32741,802,37,32768\",\",804,19,32857,804,44,32882\",\",804,19,32857,804,52,32890\",\",806,44,33023,806,110,33089\",\",806,33,33012,806,111,33090\",\",807,44,33135,807,100,33191\",\",807,33,33124,807,101,33192\",\",809,23,33237,809,48,33262\",\",809,23,33237,809,56,33270\",\",811,48,33363,811,113,33428\",\",811,37,33352,811,114,33429\",\",812,48,33478,812,103,33533\",\",812,37,33467,812,104,33534\",\",813,48,33583,813,60,33595\",\",813,37,33572,813,61,33596\",\",810,12,33283,814,15,33612\",\",805,8,32947,815,11,33624\",\",802,6,32737,816,9,33634\",\",820,10,33723,820,31,33744\",\",821,19,33794,821,40,33815\",\",823,44,33900,823,109,33965\",\",823,33,33889,823,110,33966\",\",824,44,34011,824,103,34070\",\",824,33,34000,824,104,34071\",\",825,44,34116,825,56,34128\",\",825,33,34105,825,57,34129\",\",822,8,33824,826,11,34141\",\",820,6,33719,827,9,34151\",\",831,10,34253,831,37,34280\",\",832,19,34345,832,40,34366\",\",834,45,34489,834,111,34555\",\",834,34,34478,834,112,34556\",\",835,44,34601,835,104,34661\",\",835,33,34590,835,105,34662\",\",837,23,34719,837,44,34740\",\",839,48,34833,839,113,34898\",\",839,37,34822,839,114,34899\",\",840,48,34948,840,107,35007\",\",840,37,34937,840,108,35008\",\",841,48,35057,841,60,35069\",\",841,37,35046,841,61,35070\",\",838,12,34753,842,15,35086\",\",833,8,34412,843,11,35098\",\",831,6,34249,844,9,35108\",\",848,10,35216,848,31,35237\",\",849,45,35313,849,63,35331\",\",849,29,35297,849,68,35336\",\",851,20,35384,851,35,35399\",\",852,15,35415,852,41,35441\",\",852,45,35445,852,73,35473\",\",852,86,35486,852,120,35520\",\",852,75,35475,852,121,35521\",\",853,29,35551,853,65,35587\",\",853,18,35540,853,66,35588\",\",857,16,35671,857,39,35694\",\",857,61,35716,857,129,35784\",\",857,50,35705,857,130,35785\",\",858,17,35803,858,37,35823\",\",859,19,35844,859,43,35868\",\",859,84,35909,859,100,35925\",\",859,61,35886,859,128,35953\",\",859,50,35875,859,129,35954\",\",860,20,35975,860,43,35998\",\",861,21,36020,861,42,36041\",\",860,16,35971,861,43,36042\",\",861,61,36060,861,135,36134\",\",861,50,36049,861,136,36135\",\",862,61,36197,862,73,36209\",\",862,50,36186,862,74,36210\",\",849,8,35276,864,11,36238\",\",848,6,35212,865,9,36248\",\",869,10,36369,869,37,36396\",\",870,45,36487,870,63,36505\",\",870,29,36471,870,68,36510\",\",872,20,36593,872,35,36608\",\",873,15,36624,873,41,36650\",\",873,45,36654,873,73,36682\",\",873,86,36695,873,120,36729\",\",873,75,36684,873,121,36730\",\",874,29,36760,874,65,36796\",\",874,18,36749,874,66,36797\",\",878,16,36881,878,40,36905\",\",878,62,36927,878,132,36997\",\",878,51,36916,878,133,36998\",\",879,17,37016,879,38,37037\",\",880,19,37058,880,44,37083\",\",880,85,37124,880,101,37140\",\",880,62,37101,880,130,37169\",\",880,51,37090,880,131,37170\",\",881,20,37191,881,44,37215\",\",882,21,37237,882,43,37259\",\",881,16,37187,882,44,37260\",\",882,62,37278,882,138,37354\",\",882,51,37267,882,139,37355\",\",884,53,37436,884,71,37454\",\",884,37,37420,884,76,37459\",\",886,28,37523,886,43,37538\",\",887,23,37562,887,49,37588\",\",887,53,37592,887,81,37620\",\",887,94,37633,887,128,37667\",\",887,83,37622,887,129,37668\",\",888,37,37706,888,73,37742\",\",888,26,37695,888,74,37743\",\",892,24,37858,892,47,37881\",\",892,69,37903,892,137,37971\",\",892,58,37892,892,138,37972\",\",893,25,37998,893,45,38018\",\",894,27,38047,894,51,38071\",\",894,92,38112,894,108,38128\",\",894,69,38089,894,136,38156\",\",894,58,38078,894,137,38157\",\",895,28,38186,895,51,38209\",\",896,29,38239,896,50,38260\",\",895,24,38182,896,51,38261\",\",896,69,38279,896,143,38353\",\",896,58,38268,896,144,38354\",\",897,69,38424,897,81,38436\",\",897,58,38413,897,82,38437\",\",884,16,37399,899,19,38481\",\",870,8,36450,901,11,38509\",\",869,6,36365,902,9,38519\",\",906,10,38631,906,31,38652\",\",907,45,38728,907,63,38746\",\",907,29,38712,907,68,38751\",\",909,20,38799,909,35,38814\",\",910,15,38830,910,41,38856\",\",910,45,38860,910,73,38888\",\",910,86,38901,910,120,38935\",\",910,75,38890,910,121,38936\",\",911,29,38966,911,65,39002\",\",911,18,38955,911,66,39003\",\",915,16,39086,915,39,39109\",\",915,64,39134,915,132,39202\",\",915,53,39123,915,133,39203\",\",916,17,39221,916,36,39240\",\",917,19,39261,917,40,39282\",\",917,91,39333,917,107,39349\",\",917,64,39306,917,135,39377\",\",917,53,39295,917,136,39378\",\",918,20,39399,918,43,39422\",\",919,21,39444,919,45,39468\",\",918,16,39395,919,46,39469\",\",919,64,39487,919,138,39561\",\",919,53,39476,919,139,39562\",\",920,64,39627,920,76,39639\",\",920,53,39616,920,77,39640\",\",907,8,38691,922,11,39668\",\",906,6,38627,923,9,39678\",\",927,10,39803,927,37,39830\",\",928,45,39921,928,63,39939\",\",928,29,39905,928,68,39944\",\",930,20,40027,930,35,40042\",\",931,15,40058,931,41,40084\",\",931,45,40088,931,73,40116\",\",931,86,40129,931,120,40163\",\",931,75,40118,931,121,40164\",\",932,29,40194,932,65,40230\",\",932,18,40183,932,66,40231\",\",936,16,40315,936,40,40339\",\",936,65,40364,936,135,40434\",\",936,54,40353,936,136,40435\",\",937,17,40453,937,37,40473\",\",938,19,40494,938,41,40516\",\",938,92,40567,938,108,40583\",\",938,65,40540,938,137,40612\",\",938,54,40529,938,138,40613\",\",939,20,40634,939,44,40658\",\",940,21,40680,940,46,40705\",\",939,16,40630,940,47,40706\",\",940,65,40724,940,141,40800\",\",940,54,40713,940,142,40801\",\",942,53,40882,942,71,40900\",\",942,37,40866,942,76,40905\",\",944,28,40969,944,43,40984\",\",945,23,41008,945,49,41034\",\",945,53,41038,945,81,41066\",\",945,94,41079,945,128,41113\",\",945,83,41068,945,129,41114\",\",946,37,41152,946,73,41188\",\",946,26,41141,946,74,41189\",\",950,24,41304,950,47,41327\",\",950,72,41352,950,140,41420\",\",950,61,41341,950,141,41421\",\",951,25,41447,951,44,41466\",\",952,27,41495,952,48,41516\",\",952,99,41567,952,115,41583\",\",952,72,41540,952,143,41611\",\",952,61,41529,952,144,41612\",\",953,28,41641,953,51,41664\",\",954,29,41694,954,53,41718\",\",953,24,41637,954,54,41719\",\",954,72,41737,954,146,41811\",\",954,61,41726,954,147,41812\",\",955,72,41885,955,84,41897\",\",955,61,41874,955,85,41898\",\",942,16,40845,957,19,41942\",\",928,8,39884,959,11,41970\",\",927,6,39799,960,9,41980\",\",964,10,42079,964,31,42100\",\",965,45,42175,965,51,42181\",\",965,29,42159,965,56,42186\",\",967,20,42234,967,35,42249\",\",968,15,42265,968,41,42291\",\",968,45,42295,968,73,42323\",\",968,86,42336,968,112,42362\",\",968,75,42325,968,113,42363\",\",969,29,42393,969,60,42424\",\",969,18,42382,969,61,42425\",\",973,20,42512,973,43,42535\",\",973,16,42508,973,44,42536\",\",973,62,42554,973,119,42611\",\",973,51,42543,973,120,42612\",\",974,16,42629,974,32,42645\",\",974,62,42675,974,105,42718\",\",974,51,42664,974,106,42719\",\",975,62,42782,975,74,42794\",\",975,51,42771,975,75,42795\",\",965,8,42138,977,11,42823\",\",964,6,42075,978,9,42833\",\",982,10,42945,982,37,42972\",\",983,45,43062,983,51,43068\",\",983,29,43046,983,56,43073\",\",985,20,43121,985,35,43136\",\",986,15,43152,986,41,43178\",\",986,45,43182,986,73,43210\",\",986,86,43223,986,112,43249\",\",986,75,43212,986,113,43250\",\",987,29,43280,987,60,43311\",\",987,18,43269,987,61,43312\",\",991,20,43400,991,44,43424\",\",991,16,43396,991,45,43425\",\",991,63,43443,991,122,43502\",\",991,52,43432,991,123,43503\",\",992,16,43520,992,33,43537\",\",992,63,43567,992,107,43611\",\",992,52,43556,992,108,43612\",\",994,53,43693,994,59,43699\",\",994,37,43677,994,64,43704\",\",996,28,43768,996,43,43783\",\",997,23,43807,997,49,43833\",\",997,53,43837,997,81,43865\",\",997,94,43878,997,120,43904\",\",997,83,43867,997,121,43905\",\",998,37,43943,998,68,43974\",\",998,26,43932,998,69,43975\",\",1002,28,44094,1002,51,44117\",\",1002,24,44090,1002,52,44118\",\",1002,70,44136,1002,127,44193\",\",1002,59,44125,1002,128,44194\",\",1003,24,44219,1003,40,44235\",\",1003,70,44265,1003,113,44308\",\",1003,59,44254,1003,114,44309\",\",1004,70,44380,1004,82,44392\",\",1004,59,44369,1004,83,44393\",\",994,16,43656,1006,19,44437\",\",983,8,43025,1008,11,44465\",\",982,6,42941,1009,9,44475\",\",1013,10,44578,1013,31,44599\",\",1014,45,44674,1014,51,44680\",\",1014,29,44658,1014,56,44685\",\",1016,20,44733,1016,35,44748\",\",1017,15,44764,1017,41,44790\",\",1017,45,44794,1017,73,44822\",\",1017,86,44835,1017,112,44861\",\",1017,75,44824,1017,113,44862\",\",1018,29,44892,1018,60,44923\",\",1018,18,44881,1018,61,44924\",\",1022,20,45011,1022,43,45034\",\",1022,16,45007,1022,44,45035\",\",1022,62,45053,1022,119,45110\",\",1022,51,45042,1022,120,45111\",\",1023,62,45174,1023,108,45220\",\",1023,51,45163,1023,109,45221\",\",1024,62,45284,1024,74,45296\",\",1024,51,45273,1024,75,45297\",\",1014,8,44637,1026,11,45325\",\",1013,6,44574,1027,9,45335\",\",1031,10,45451,1031,37,45478\",\",1032,45,45568,1032,51,45574\",\",1032,29,45552,1032,56,45579\",\",1034,20,45627,1034,35,45642\",\",1035,15,45658,1035,41,45684\",\",1035,45,45688,1035,73,45716\",\",1035,86,45729,1035,112,45755\",\",1035,75,45718,1035,113,45756\",\",1036,29,45786,1036,60,45817\",\",1036,18,45775,1036,61,45818\",\",1040,20,45906,1040,44,45930\",\",1040,16,45902,1040,45,45931\",\",1040,63,45949,1040,122,46008\",\",1040,52,45938,1040,123,46009\",\",1041,63,46073,1041,110,46120\",\",1041,52,46062,1041,111,46121\",\",1043,53,46202,1043,59,46208\",\",1043,37,46186,1043,64,46213\",\",1045,28,46277,1045,43,46292\",\",1046,23,46316,1046,49,46342\",\",1046,53,46346,1046,81,46374\",\",1046,94,46387,1046,120,46413\",\",1046,83,46376,1046,121,46414\",\",1047,37,46452,1047,68,46483\",\",1047,26,46441,1047,69,46484\",\",1051,28,46603,1051,51,46626\",\",1051,24,46599,1051,52,46627\",\",1051,70,46645,1051,127,46702\",\",1051,59,46634,1051,128,46703\",\",1052,70,46774,1052,116,46820\",\",1052,59,46763,1052,117,46821\",\",1053,70,46892,1053,82,46904\",\",1053,59,46881,1053,83,46905\",\",1043,16,46165,1055,19,46949\",\",1032,8,45531,1057,11,46977\",\",1031,6,45447,1058,9,46987\",\",1064,8,47137,1064,18,47147\",\",1065,15,47164,1065,53,47202\",\",1063,6,47113,1065,58,47207\",\",1071,12,47365,1071,22,47375\",\",1071,8,47361,1071,23,47376\",\",1072,15,47393,1072,56,47434\",\",1070,6,47337,1072,61,47439\",\",1076,15,47536,1076,30,47551\",\",1078,52,47639,1078,61,47648\",\",1078,32,47619,1078,77,47664\",\",1078,21,47608,1078,78,47665\",\",1080,40,47729,1080,54,47743\",\",1080,33,47722,1080,55,47744\",\",1080,17,47706,1080,61,47750\",\",1080,13,47702,1080,62,47751\",\",1081,23,47776,1081,63,47816\",\",1081,12,47765,1081,64,47817\",\",1083,23,47857,1083,35,47869\",\",1083,12,47846,1083,36,47870\",\",1077,6,47558,1085,9,47894\",\",1089,21,48010,1089,36,48025\",\",1091,52,48119,1091,61,48128\",\",1091,32,48099,1091,78,48145\",\",1091,21,48088,1091,79,48146\",\",1093,40,48210,1093,54,48224\",\",1093,33,48203,1093,55,48225\",\",1093,17,48187,1093,61,48231\",\",1093,13,48183,1093,62,48232\",\",1094,23,48257,1094,64,48298\",\",1094,12,48246,1094,65,48299\",\",1096,21,48337,1096,36,48352\",\",1098,58,48452,1098,67,48461\",\",1098,38,48432,1098,83,48477\",\",1098,27,48421,1098,84,48478\",\",1100,46,48554,1100,60,48568\",\",1100,39,48547,1100,61,48569\",\",1100,23,48531,1100,67,48575\",\",1100,19,48527,1100,68,48576\",\",1101,29,48607,1101,69,48647\",\",1101,18,48596,1101,70,48648\",\",1103,29,48700,1103,41,48712\",\",1103,18,48689,1103,42,48713\",\",1097,12,48365,1105,15,48749\",\",1090,6,48032,1107,9,48773\",\",1111,15,48876,1111,30,48891\",\",1113,52,48979,1113,61,48988\",\",1113,32,48959,1113,78,49005\",\",1113,21,48948,1113,79,49006\",\",1115,36,49066,1115,50,49080\",\",1115,29,49059,1115,51,49081\",\",1115,13,49043,1115,57,49087\",\",1116,23,49112,1116,63,49152\",\",1116,12,49101,1116,64,49153\",\",1118,23,49193,1118,35,49205\",\",1118,12,49182,1118,36,49206\",\",1112,6,48898,1120,9,49230\",\",1124,21,49352,1124,36,49367\",\",1126,52,49461,1126,61,49470\",\",1126,32,49441,1126,79,49488\",\",1126,21,49430,1126,80,49489\",\",1128,36,49549,1128,50,49563\",\",1128,29,49542,1128,51,49564\",\",1128,13,49526,1128,57,49570\",\",1129,23,49595,1129,64,49636\",\",1129,12,49584,1129,65,49637\",\",1131,21,49675,1131,36,49690\",\",1133,58,49790,1133,67,49799\",\",1133,38,49770,1133,84,49816\",\",1133,27,49759,1133,85,49817\",\",1135,42,49889,1135,56,49903\",\",1135,35,49882,1135,57,49904\",\",1135,19,49866,1135,63,49910\",\",1136,29,49941,1136,69,49981\",\",1136,18,49930,1136,70,49982\",\",1138,29,50034,1138,41,50046\",\",1138,18,50023,1138,42,50047\",\",1132,12,49703,1140,15,50083\",\",1125,6,49374,1142,9,50107\",\",1146,27,50211,1146,42,50226\",\",1147,35,50263,1147,65,50293\",\",1147,24,50252,1147,66,50294\",\",1148,35,50330,1148,47,50342\",\",1148,24,50319,1148,48,50343\",\",1146,6,50190,1149,9,50353\",\",1153,27,50470,1153,42,50485\",\",1154,35,50522,1154,66,50553\",\",1154,24,50511,1154,67,50554\",\",1156,31,50611,1156,46,50626\",\",1157,39,50667,1157,69,50697\",\",1157,28,50656,1157,70,50698\",\",1158,39,50738,1158,51,50750\",\",1158,28,50727,1158,52,50751\",\",1156,10,50590,1159,13,50765\",\",1153,6,50449,1160,9,50775\",\",1165,29,50911,1165,44,50926\",\",1166,26,50954,1166,66,50994\",\",1169,37,51080,1169,52,51095\",\",1169,17,51060,1169,53,51096\",\",1170,16,51114,1170,31,51129\",\",1170,16,51114,1170,37,51135\",\",1172,16,51172,1172,31,51187\",\",1174,49,51255,1174,62,51268\",\",1174,33,51239,1174,67,51273\",\",1176,24,51336,1176,39,51351\",\",1177,19,51371,1177,45,51397\",\",1177,49,51401,1177,77,51429\",\",1177,79,51431,1177,107,51459\",\",1178,22,51482,1178,53,51513\",\",1182,24,51616,1182,47,51639\",\",1182,20,51612,1182,48,51640\",\",1182,55,51647,1182,119,51711\",\",1183,20,51732,1183,36,51748\",\",1183,43,51755,1183,95,51807\",\",1184,31,51839,1184,43,51851\",\",1174,12,51218,1186,15,51887\",\",1165,8,50890,1187,11,51899\",\",1164,6,50870,1187,12,51900\",\",1192,29,52049,1192,44,52064\",\",1193,26,52092,1193,67,52133\",\",1196,37,52225,1196,52,52240\",\",1196,17,52205,1196,53,52241\",\",1197,16,52259,1197,31,52274\",\",1197,16,52259,1197,37,52280\",\",1199,16,52317,1199,31,52332\",\",1201,49,52400,1201,68,52419\",\",1201,33,52384,1201,73,52424\",\",1203,24,52487,1203,39,52502\",\",1204,19,52522,1204,45,52548\",\",1204,49,52552,1204,77,52580\",\",1204,79,52582,1204,107,52610\",\",1205,22,52633,1205,53,52664\",\",1209,24,52773,1209,53,52802\",\",1209,20,52769,1209,54,52803\",\",1209,61,52810,1209,138,52887\",\",1210,20,52908,1210,42,52930\",\",1210,49,52937,1210,102,52990\",\",1212,41,53063,1212,56,53078\",\",1213,38,53118,1213,78,53158\",\",1216,49,53294,1216,64,53309\",\",1216,29,53274,1216,65,53310\",\",1217,28,53340,1217,43,53355\",\",1217,28,53340,1217,49,53361\",\",1219,28,53422,1219,43,53437\",\",1221,61,53529,1221,80,53548\",\",1221,45,53513,1221,85,53553\",\",1223,36,53640,1223,51,53655\",\",1224,31,53687,1224,57,53713\",\",1224,61,53717,1224,89,53745\",\",1224,91,53747,1224,119,53775\",\",1225,34,53810,1225,65,53841\",\",1229,36,53998,1229,65,54027\",\",1229,32,53994,1229,66,54028\",\",1229,73,54035,1229,149,54111\",\",1230,32,54144,1230,54,54166\",\",1230,61,54173,1230,113,54225\",\",1231,43,54269,1231,55,54281\",\",1221,24,53492,1233,27,54341\",\",1212,20,53042,1234,23,54365\",\",1201,12,52363,1236,15,54401\",\",1192,8,52028,1237,11,54413\",\",1191,6,52008,1237,12,54414\",\",1242,29,54549,1242,44,54564\",\",1243,26,54592,1243,66,54632\",\",1246,37,54718,1246,52,54733\",\",1246,17,54698,1246,53,54734\",\",1247,16,54752,1247,31,54767\",\",1247,16,54752,1247,37,54773\",\",1249,16,54810,1249,31,54825\",\",1251,49,54893,1251,62,54906\",\",1251,33,54877,1251,67,54911\",\",1253,24,54974,1253,39,54989\",\",1254,19,55009,1254,45,55035\",\",1254,49,55039,1254,77,55067\",\",1254,79,55069,1254,107,55097\",\",1255,22,55120,1255,53,55151\",\",1259,24,55254,1259,47,55277\",\",1259,20,55250,1259,48,55278\",\",1259,55,55285,1259,119,55349\",\",1260,38,55388,1260,93,55443\",\",1261,31,55475,1261,43,55487\",\",1251,12,54856,1263,15,55523\",\",1242,8,54528,1264,11,55535\",\",1241,6,54508,1264,12,55536\",\",1269,29,55684,1269,44,55699\",\",1270,26,55727,1270,67,55768\",\",1273,37,55860,1273,52,55875\",\",1273,17,55840,1273,53,55876\",\",1274,16,55894,1274,31,55909\",\",1274,16,55894,1274,37,55915\",\",1276,16,55952,1276,31,55967\",\",1278,49,56035,1278,68,56054\",\",1278,33,56019,1278,73,56059\",\",1280,24,56122,1280,39,56137\",\",1281,19,56157,1281,45,56183\",\",1281,49,56187,1281,77,56215\",\",1281,79,56217,1281,107,56245\",\",1282,22,56268,1282,53,56299\",\",1286,24,56408,1286,53,56437\",\",1286,20,56404,1286,54,56438\",\",1286,61,56445,1286,138,56522\",\",1287,44,56567,1287,100,56623\",\",1289,41,56696,1289,56,56711\",\",1290,38,56751,1290,78,56791\",\",1293,49,56926,1293,64,56941\",\",1293,29,56906,1293,65,56942\",\",1294,28,56972,1294,43,56987\",\",1294,28,56972,1294,49,56993\",\",1296,28,57054,1296,43,57069\",\",1298,61,57161,1298,80,57180\",\",1298,45,57145,1298,85,57185\",\",1300,36,57272,1300,51,57287\",\",1301,31,57319,1301,57,57345\",\",1301,61,57349,1301,89,57377\",\",1301,91,57379,1301,119,57407\",\",1302,34,57442,1302,65,57473\",\",1306,36,57630,1306,65,57659\",\",1306,32,57626,1306,66,57660\",\",1306,73,57667,1306,149,57743\",\",1307,56,57800,1307,111,57855\",\",1308,43,57899,1308,55,57911\",\",1298,24,57124,1310,27,57971\",\",1289,20,56675,1311,23,57995\",\",1278,12,55998,1313,15,58031\",\",1269,8,55663,1314,11,58043\",\",1268,6,55643,1314,12,58044\",\",1318,6,58100,1318,36,58130\",\",1324,6,58226,1324,41,58261\",\",1344,21,58877,1344,30,58886\",\",1344,21,58877,1344,39,58895\",\",1344,42,58898,1344,59,58915\",\",1344,21,58877,1344,59,58915\",\",1344,21,58877,1344,68,58924\",\",1345,20,58946,1345,28,58954\",\",1345,20,58946,1345,32,58958\",\",1346,19,58979,1346,26,58986\",\",1346,19,58979,1346,30,58990\",\",1349,18,59039,1349,44,59065\",\",1350,14,59080,1350,23,59089\",\",1350,14,59080,1350,32,59098\",\",1350,35,59101,1350,41,59107\",\",1350,35,59101,1350,55,59121\",\",1350,14,59080,1350,55,59121\",\",1350,14,59080,1350,84,59150\",\",1351,36,59187,1351,54,59205\",\",1351,14,59165,1351,70,59221\",\",1350,14,59080,1351,70,59221\",\",1354,20,59280,1354,28,59288\",\",1354,20,59280,1354,32,59292\",\",1355,19,59313,1355,26,59320\",\",1355,19,59313,1355,30,59324\",\",1341,50,58770,1341,65,58785\",\",1341,50,58770,1341,75,58795\",\",1341,20,58740,1358,7,59354\",\",1359,20,59375,1359,36,59391\",\",1360,35,59457,1360,47,59469\",\",1363,16,59527,1363,30,59541\",\",1364,8,59550,1364,27,59569\",\",1364,8,59550,1364,104,59646\",\",1365,34,59681,1365,49,59696\",\",1365,34,59681,1365,65,59712\",\",1365,12,59659,1365,81,59728\",\",1364,8,59550,1365,81,59728\",\",1366,48,59777,1366,66,59795\",\",1366,34,59763,1366,67,59796\",\",1366,12,59741,1366,83,59812\",\",1364,8,59550,1366,83,59812\",\",1364,8,59550,1367,18,59831\",\",1360,21,59443,1368,7,59839\",\",1369,14,59854,1369,29,59869\",\",1369,14,59854,1369,38,59878\",\",1369,41,59881,1369,47,59887\",\",1369,41,59881,1369,60,59900\",\",1369,14,59854,1369,60,59900\",\",1369,14,59854,1369,67,59907\",\",1369,70,59910,1369,77,59917\",\",1369,14,59854,1369,77,59917\",\",1369,14,59854,1369,84,59924\",\",1369,96,59936,1369,116,59956\",\",1369,87,59927,1369,117,59957\",\",1369,14,59854,1369,117,59957\",\",1369,14,59854,1369,123,59963\",\",1369,135,59975,1369,154,59994\",\",1369,126,59966,1369,155,59995\",\",1369,14,59854,1369,155,59995\",\",1369,14,59854,1369,164,60004\",\",1370,30,60035,1370,54,60059\",\",1372,9,60091,1372,29,60111\",\",1372,9,60091,1372,34,60116\",\",1373,12,60133,1373,33,60154\",\",1376,15,60186,1376,56,60227\",\",1377,15,60244,1377,30,60259\",\",1377,44,60273,1377,56,60285\",\",1377,36,60265,1377,57,60286\",\",1377,15,60244,1377,72,60301\",\",1378,14,60317,1378,28,60331\",\",1378,31,60334,1378,51,60354\",\",1378,14,60317,1378,51,60354\",\",1379,14,60370,1379,28,60384\",\",1379,31,60387,1379,51,60407\",\",1379,14,60370,1379,51,60407\",\",1380,13,60422,1380,26,60435\",\",1380,29,60438,1380,48,60457\",\",1380,13,60422,1380,48,60457\",\",1340,57,58694,1340,80,58717\",\",1340,21,58658,1382,5,60469\",\",1383,6,60476,1383,28,60498\",\",1383,6,60476,1383,33,60503\",\",1383,40,60510,1383,64,60534\",\",1383,40,60510,1383,69,60539\",\",1383,39,60509,1383,70,60540\",\",1385,11,60624,1385,34,60647\",\",1385,11,60624,1385,39,60652\",\",1385,46,60659,1385,70,60683\",\",1385,46,60659,1385,75,60688\",\",1385,45,60658,1385,76,60689\",\",1386,19,60710,1386,42,60733\",\",1386,19,60710,1386,47,60738\",\",1389,43,60846,1389,66,60869\",\",1389,34,60837,1389,67,60870\",\",1389,8,60811,1389,67,60870\",\",1389,8,60811,1389,92,60895\",\",1395,15,61004,1395,24,61013\",\",1395,15,61004,1395,41,61030\",\",1395,53,61042,1395,61,61050\",\",1395,44,61033,1395,62,61051\",\",1395,15,61004,1395,62,61051\",\",1395,15,61004,1395,77,61066\",\",1395,89,61078,1395,97,61086\",\",1395,80,61069,1395,98,61087\",\",1395,15,61004,1395,98,61087\",\",1395,15,61004,1395,121,61110\",\",1395,133,61122,1395,142,61131\",\",1395,124,61113,1395,143,61132\",\",1395,15,61004,1395,143,61132\",\",1395,15,61004,1395,157,61146\",\",1395,169,61158,1395,176,61165\",\",1395,160,61149,1395,177,61166\",\",1395,15,61004,1395,177,61166\",\",1395,15,61004,1395,184,61173\",\",1401,2,61234,1401,53,61285\",\",1401,2,61234,1401,61,61293\",\",1405,2,61385,1405,43,61426\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAiC0CqC,2BAjC1CrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAoC0CsC,4BApC1CtC;AAAAA;AAAAA;AAAAA,UAoC0CuC,+BApC1CvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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BM00B,yCA3qBN10B;AAAAA;AA2qBM00B,mDA3qBN10B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBA6FDg1B,2CA7FCh1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8FCi1B,2CA9FDj1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8FCi1B,wCA9FDj1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+FCk1B,qDA/FDl1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+FCk1B,kDA/FDl1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA2JCm1B,2DA3JDn1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA2JCm1B,wDA3JDn1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OCo1B,yDA/ODp1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OCo1B,sDA/ODp1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAuSCq1B,yDAvSDr1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAuSCq1B,sDAvSDr1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA0UCs1B,4DA1UDt1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA0UCs1B,yDA1UDt1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA6WCu1B,qDA7WDv1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA6WCu1B,kDA7WDv1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkZCw1B,qDAlZDx1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkZCw1B,kDAlZDx1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAobCy1B,+CApbDz1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAobCy1B,4CApbDz1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAoeC01B,kDApeD11B;AAAAA;AAAAA;AAAAA;AAAAA,qBAoeC01B,+CApeD11B;AAAAA;AAAAA;AAAAA;AAAAA,qBAohBC21B,+DAphBD31B;AAAAA;AAAAA;AAAAA;AAAAA,qBAohBC21B,4DAphBD31B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8jBC41B,kEA9jBD51B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8jBC41B,+DA9jBD51B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8mBC61B,qDA9mBD71B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8mBC61B,kDA9mBD71B;AAAAA;AAAAA;AAAAA;AAAAA,qBAynBC81B,kDAznBD91B;AAAAA;AAAAA;AAAAA;AAAAA,qBAynBC81B,+CAznBD91B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkpBC+1B,0DAlpBD/1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkpBC+1B,uDAlpBD/1B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAsrBsBg2B,uDAtrBtBh2B;AAAAA;AAAAA;AAAAA;AAAAA;AAsrBsBg2B,yCAtrBtBh2B;AAAAA;AAsrBsBg2B,4BAtrBtBh2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAwrBqBi2B,uDAxrBrBj2B;AAAAA;AAAAA;AAAAA;AAAAA;AAwrBqBi2B,yCAxrBrBj2B;AAAAA;AAwrBqBi2B,mCAxrBrBj2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrBoBk2B,8CAxrBpBl2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0rBwBm2B,uDA1rBxBn2B;AAAAA;AAAAA;AAAAA;AAAAA;AA0rBwBm2B,yCA1rBxBn2B;AAAAA;AA0rBwBm2B,4BA1rBxBn2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4rBuBo2B,uDA5rBvBp2B;AAAAA;AAAAA;AAAAA;AAAAA;AA4rBuBo2B,yCA5rBvBp2B;AAAAA;AA4rBuBo2B,iCA5rBvBp2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4rBsBq2B,8CA5rBtBr2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsBsBs2B,qCAhsBtBt2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgsBoDu2B,uBAhsBpDv2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsBUw2B,uCAhsBVx2B;AAAAA;AAgsBUw2B,qCAhsBVx2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAisBQy2B,mEAjsBRz2B;AAAAA;AAisBQy2B,4DAjsBRz2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAisB0D02B,qBAjsB1D12B;AAAAA;AAisByC22B,wEAjsBzC32B;AAAAA;AAAAA;AAAAA;AAAAA;AAisB8B42B,+CAjsB9B52B;AAAAA;AAAAA;AAmsBwB62B,sCAnsBxB72B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmsBwD82B,wBAnsBxD92B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmsBY+2B,uCAnsBZ/2B;AAAAA;AAmsBY+2B,qCAnsBZ/2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosBUg3B,mEApsBVh3B;AAAAA;AAosBUg3B,4DApsBVh3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAosB4Di3B,qBApsB5Dj3B;AAAAA;AAosB2Ck3B,yEApsB3Cl3B;AAAAA;AAAAA;AAAAA;AAAAA;AAosBgCm3B,+CApsBhCn3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAssByCo3B,qBAtsBzCp3B;AAAAA;AAAAA,kBAssB+Cq3B,qBAtsB/Cr3B;AAAAA;AAAAA;AAAAA;AAssB+Bs3B,2CAtsB/Bt3B;AAAAA;AAssB+Bs3B,qDAtsB/Bt3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAssBeu3B,uCAtsBfv3B;AAAAA;AAssBeu3B,qCAtsBfv3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusBYw3B,mEAvsBZx3B;AAAAA;AAusBYw3B,6DAvsBZx3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAusB8Dy3B,sBAvsB9Dz3B;AAAAA;AAusB6C03B,8EAvsB7C13B;AAAAA;AAAAA;AAAAA;AAAAA;AAusBkC23B,+CAvsBlC33B;AAAAA;AAAAA;AAAAA;AAAAA,WAwsBe43B,sBAxsBf53B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgtBsB63B,qCAhtBtB73B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgtBoD83B,uBAhtBpD93B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgtBU+3B,uCAhtBV/3B;AAAAA;AAgtBU+3B,qCAhtBV/3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAitBQg4B,mEAjtBRh4B;AAAAA;AAitBQg4B,4DAjtBRh4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAitB0Di4B,qBAjtB1Dj4B;AAAAA;AAitByCk4B,wEAjtBzCl4B;AAAAA;AAAAA;AAAAA;AAAAA;AAitB8Bm4B,+CAjtB9Bn4B;AAAAA;AAAAA;AAmtBwBo4B,sCAntBxBp4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmtBwDq4B,wBAntBxDr4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmtBYs4B,uCAntBZt4B;AAAAA;AAmtBYs4B,qCAntBZt4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAotBUu4B,mEAptBVv4B;AAAAA;AAotBUu4B,4DAptBVv4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAotB4Dw4B,qBAptB5Dx4B;AAAAA;AAotB2Cy4B,yEAptB3Cz4B;AAAAA;AAAAA;AAAAA;AAAAA;AAotBgC04B,+CAptBhC14B;AAAAA;AAAAA;AAstB0B24B,sCAttB1B34B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAstB0D44B,wBAttB1D54B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAstBc64B,uCAttBd74B;AAAAA;AAstBc64B,qCAttBd74B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBY84B,mEAvtBZ94B;AAAAA;AAutBY84B,4DAvtBZ94B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAutB8D+4B,qBAvtB9D/4B;AAAAA;AAutB6Cg5B,yEAvtB7Ch5B;AAAAA;AAAAA;AAAAA;AAAAA;AAutBkCi5B,+CAvtBlCj5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAytB2Ck5B,qBAztB3Cl5B;AAAAA;AAAAA,kBAytBiDm5B,qBAztBjDn5B;AAAAA;AAAAA,kBAytBuDo5B,qBAztBvDp5B;AAAAA;AAAAA;AAAAA;AAytBiCq5B,2CAztBjCr5B;AAAAA;AAytBiCq5B,iEAztBjCr5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAytBiBs5B,uCAztBjBt5B;AAAAA;AAytBiBs5B,qCAztBjBt5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0tBcu5B,mEA1tBdv5B;AAAAA;AA0tBcu5B,6DA1tBdv5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0tBgEw5B,sBA1tBhEx5B;AAAAA;AA0tB+Cy5B,8EA1tB/Cz5B;AAAAA;AAAAA;AAAAA;AAAAA;AA0tBoC05B,+CA1tBpC15B;AAAAA;AAAAA;AAAAA;AAAAA,WA2tBiB25B,sBA3tBjB35B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAouBgB45B,wCApuBhB55B;AAAAA;AAAAA;AAAAA;AAAAA;AAouBK65B,+CApuBL75B;AAAAA;AAAAA;AAAAA;AAAAA;AAsuBgB85B,4CAtuBhB95B;AAAAA;AAsuBgB85B,+BAtuBhB95B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsuBK+5B,+CAtuBL/5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAyuB0Cg6B,uDAzuB1Ch6B;AAAAA;AAAAA;AAAAA;AAAAA;AAyuB0Cg6B,yCAzuB1Ch6B;AAAAA;AAyuB0Cg6B,4BAzuB1Ch6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4uBwBi6B,2CA5uBxBj6B;AAAAA;AA4uBwBi6B,kEA5uBxBj6B;AAAAA;AAAAA;AA4uBuBk6B,0CA5uBvBl6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+uBSm6B,uCA/uBTn6B;AAAAA;AAAAA;AAAAA,kBAgvB2Bo6B,sBAhvB3Bp6B;AAAAA;AAAAA;AAAAA;AAgvBkBq6B,uCAhvBlBr6B;AAAAA;AAgvBkBq6B,qCAhvBlBr6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAkvB4Ds6B,uBAlvB5Dt6B;AAAAA;AAAAA,kBAkvBoEu6B,2BAlvBpEv6B;AAAAA;AAAAA,kBAkvBgFw6B,gCAlvBhFx6B;AAAAA;AAAAA;AAkvByCy6B,iGAlvBzCz6B;AAAAA;AAAAA;AAAAA;AAAAA;AAkvBwB06B,qDAlvBxB16B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAmvB+D26B,uBAnvB/D36B;AAAAA;AAAAA,kBAmvBuE46B,2BAnvBvE56B;AAAAA;AAAAA,kBAmvBmF66B,gCAnvBnF76B;AAAAA;AAAAA;AAmvBqH86B,8BAnvBrH96B;AAAAA;AAAAA;AAmvB4C+6B,sGAnvB5C/6B;AAAAA;AAAAA;AAAAA;AAAAA;AAmvB2Bg7B,qDAnvB3Bh7B;AAAAA;AAAAA,QAivBSi7B,mDAjvBTj7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6uBOk7B,4CA7uBPl7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBSm7B,iDA1vBTn7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2vBkBo7B,4CA3vBlBp7B;AAAAA;AA2vBkBo7B,4CA3vBlBp7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vB2Cq7B,oHA7vB3Cr7B;AAAAA;AAAAA;AAAAA;AAAAA;AA6vBgCs7B,+CA7vBhCt7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vB2Cu7B,wGA9vB3Cv7B;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBgCw7B,+CA9vBhCx7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+vB2Cy7B,wCA/vB3Cz7B;AAAAA;AAAAA;AAAAA;AAAAA;AA+vBgC07B,+CA/vBhC17B;AAAAA;AAAAA,QA4vBO27B,mDA5vBP37B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBK47B,yCA1vBL57B;AAAAA;AA0vBK47B,0DA1vBL57B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwBS67B,uDArwBT77B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBkB87B,4CAtwBlB97B;AAAAA;AAswBkB87B,4CAtwBlB97B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwwB2C+7B,qHAxwB3C/7B;AAAAA;AAAAA;AAAAA;AAAAA;AAwwBgCg8B,+CAxwBhCh8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAywB2Ci8B,yGAzwB3Cj8B;AAAAA;AAAAA;AAAAA;AAAAA;AAywBgCk8B,+CAzwBhCl8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2wBsBm8B,4CA3wBtBn8B;AAAAA;AA2wBsBm8B,4CA3wBtBn8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6wB+Co8B,oHA7wB/Cp8B;AAAAA;AAAAA;AAAAA;AAAAA;AA6wBoCq8B,+CA7wBpCr8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8wB+Cs8B,wGA9wB/Ct8B;AAAAA;AAAAA;AAAAA;AAAAA;AA8wBoCu8B,+CA9wBpCv8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+wB+Cw8B,wCA/wB/Cx8B;AAAAA;AAAAA;AAAAA;AAAAA;AA+wBoCy8B,+CA/wBpCz8B;AAAAA;AAAAA,QA4wBW08B,mDA5wBX18B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAuwBO28B,mDAvwBP38B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwBK48B,yCArwBL58B;AAAAA;AAqwBK48B,oEArwBL58B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsxBS68B,iDAtxBT78B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAuxBkB88B,uFAvxBlB98B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuxBkB+8B,yCAvxBlB/8B;AAAAA;AAuxBkB+8B,yCAvxBlB/8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxB2Cg9B,oHAzxB3Ch9B;AAAAA;AAAAA;AAAAA;AAAAA;AAyxBgCi9B,+CAzxBhCj9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0xB2Ck9B,wGA1xB3Cl9B;AAAAA;AAAAA;AAAAA;AAAAA;AA0xBgCm9B,+CA1xBhCn9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2xB2Co9B,wCA3xB3Cp9B;AAAAA;AAAAA;AAAAA;AAAAA;AA2xBgCq9B,+CA3xBhCr9B;AAAAA;AAAAA,QAwxBOs9B,mDAxxBPt9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsxBKu9B,yCAtxBLv9B;AAAAA;AAsxBKu9B,0DAtxBLv9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiyBSw9B,uDAjyBTx9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmyBkBy9B,2DAnyBlBz9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmyBkB09B,yCAnyBlB19B;AAAAA;AAmyBkB09B,yCAnyBlB19B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqyB2C29B,qHAryB3C39B;AAAAA;AAAAA;AAAAA;AAAAA;AAqyBgC49B,+CAryBhC59B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsyB2C69B,yGAtyB3C79B;AAAAA;AAAAA;AAAAA;AAAAA;AAsyBgC89B,+CAtyBhC99B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAwyBsB+9B,2DAxyBtB/9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwyBsBg+B,yCAxyBtBh+B;AAAAA;AAwyBsBg+B,yCAxyBtBh+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0yB+Ci+B,oHA1yB/Cj+B;AAAAA;AAAAA;AAAAA;AAAAA;AA0yBoCk+B,+CA1yBpCl+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2yB+Cm+B,wGA3yB/Cn+B;AAAAA;AAAAA;AAAAA;AAAAA;AA2yBoCo+B,+CA3yBpCp+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4yB+Cq+B,wCA5yB/Cr+B;AAAAA;AAAAA;AAAAA;AAAAA;AA4yBoCs+B,+CA5yBpCt+B;AAAAA;AAAAA,QAyyBWu+B,mDAzyBXv+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAoyBOw+B,mDApyBPx+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiyBKy+B,yCAjyBLz+B;AAAAA;AAiyBKy+B,oEAjyBLz+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmzBS0+B,iDAnzBT1+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAozBkB2+B,4CApzBlB3+B;AAAAA;AAozBkB2+B,4CApzBlB3+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAszB2C4+B,oHAtzB3C5+B;AAAAA;AAAAA;AAAAA;AAAAA;AAszBgC6+B,+CAtzBhC7+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuzB2C8+B,4GAvzB3C9+B;AAAAA;AAAAA;AAAAA;AAAAA;AAuzBgC++B,+CAvzBhC/+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwzB2Cg/B,wCAxzB3Ch/B;AAAAA;AAAAA;AAAAA;AAAAA;AAwzBgCi/B,+CAxzBhCj/B;AAAAA;AAAAA,QAqzBOk/B,mDArzBPl/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmzBKm/B,yCAnzBLn/B;AAAAA;AAmzBKm/B,0DAnzBLn/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8zBSo/B,uDA9zBTp/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+zBkBq/B,4CA/zBlBr/B;AAAAA;AA+zBkBq/B,4CA/zBlBr/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi0B4Cs/B,qHAj0B5Ct/B;AAAAA;AAAAA;AAAAA;AAAAA;AAi0BiCu/B,+CAj0BjCv/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk0B2Cw/B,6GAl0B3Cx/B;AAAAA;AAAAA;AAAAA;AAAAA;AAk0BgCy/B,+CAl0BhCz/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo0BsB0/B,4CAp0BtB1/B;AAAAA;AAo0BsB0/B,4CAp0BtB1/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs0B+C2/B,oHAt0B/C3/B;AAAAA;AAAAA;AAAAA;AAAAA;AAs0BoC4/B,+CAt0BpC5/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu0B+C6/B,4GAv0B/C7/B;AAAAA;AAAAA;AAAAA;AAAAA;AAu0BoC8/B,+CAv0BpC9/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw0B+C+/B,wCAx0B/C//B;AAAAA;AAAAA;AAAAA;AAAAA;AAw0BoCggC,+CAx0BpChgC;AAAAA;AAAAA,QAq0BWigC,mDAr0BXjgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAg0BOkgC,mDAh0BPlgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8zBKmgC,yCA9zBLngC;AAAAA;AA8zBKmgC,oEA9zBLngC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+0BSogC,iDA/0BTpgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg1B4CqgC,4CAh1B5CrgC;AAAAA;AAg1B4CqgC,4CAh1B5CrgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg1B4BsgC,uCAh1B5BtgC;AAAAA;AAg1B4BsgC,qCAh1B5BtgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk1BmBugC,yCAl1BnBvgC;AAAAA;AAk1BmBugC,mCAl1BnBvgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1BcwgC,uEAn1BdxgC;AAAAA;AAm1BcwgC,mEAn1BdxgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1B4CygC,yEAn1B5CzgC;AAAAA;AAm1B4CygC,qEAn1B5CzgC;AAAAA;AAAAA;AAm1B4CygC,0CAn1B5CzgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1BqF0gC,kEAn1BrF1gC;AAAAA;AAAAA;AAAAA;AAAAA;AAm1B0E2gC,+CAn1B1E3gC;AAAAA;AAAAA;AAo1B4B4gC,0EAp1B5B5gC;AAAAA;AAAAA;AAAAA;AAAAA;AAo1BiB6gC,+CAp1BjB7gC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw1Be8gC,2CAx1Bf9gC;AAAAA;AAAAA;AAAAA;AAAAA;AAw1B4D+gC,uHAx1B5D/gC;AAAAA;AAAAA;AAAAA;AAAAA;AAw1BiDghC,+CAx1BjDhhC;AAAAA;AAAAA;AAAAA;AAAAA;AAy1BgBihC,2CAz1BhBjhC;AAAAA;AAy1BgBihC,qDAz1BhBjhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA01BkBkhC,6CA11BlBlhC;AAAAA;AA01BkBkhC,0CA11BlBlhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA01BmFmhC,qCA11BnFnhC;AAAAA;AAAAA;AA01B4DohC,6GA11B5DphC;AAAAA;AAAAA;AAAAA;AAAAA;AA01BiDqhC,+CA11BjDrhC;AAAAA;AAAAA;AA21BmBshC,2CA31BnBthC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA41BoBuhC,yCA51BpBvhC;AAAAA;AA41BoBuhC,0CA51BpBvhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA21BewhC,kCA31BfxhC;AAAAA;AA21BewhC,gCA31BfxhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA41B4DyhC,gIA51B5DzhC;AAAAA;AAAAA;AAAAA;AAAAA;AA41BiD0hC,+CA51BjD1hC;AAAAA;AAAAA;AA61B4D2hC,wCA71B5D3hC;AAAAA;AAAAA;AAAAA;AAAAA;AA61BiD4hC,+CA71BjD5hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAg1BO6hC,mDAh1BP7hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+0BK8hC,yCA/0BL9hC;AAAAA;AA+0BK8hC,0DA/0BL9hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo2BS+hC,uDAp2BT/hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq2B4CgiC,4CAr2B5ChiC;AAAAA;AAq2B4CgiC,4CAr2B5ChiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq2B4BiiC,uCAr2B5BjiC;AAAAA;AAq2B4BiiC,qCAr2B5BjiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu2BmBkiC,yCAv2BnBliC;AAAAA;AAu2BmBkiC,mCAv2BnBliC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2BcmiC,uEAx2BdniC;AAAAA;AAw2BcmiC,mEAx2BdniC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2B4CoiC,yEAx2B5CpiC;AAAAA;AAw2B4CoiC,qEAx2B5CpiC;AAAAA;AAAAA;AAw2B4CoiC,0CAx2B5CpiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2BqFqiC,kEAx2BrFriC;AAAAA;AAAAA;AAAAA;AAAAA;AAw2B0EsiC,+CAx2B1EtiC;AAAAA;AAAAA;AAy2B4BuiC,0EAz2B5BviC;AAAAA;AAAAA;AAAAA;AAAAA;AAy2BiBwiC,+CAz2BjBxiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA62BeyiC,4CA72BfziC;AAAAA;AAAAA;AAAAA;AAAAA;AA62B6D0iC,yHA72B7D1iC;AAAAA;AAAAA;AAAAA;AAAAA;AA62BkD2iC,+CA72BlD3iC;AAAAA;AAAAA;AAAAA;AAAAA;AA82BgB4iC,2CA92BhB5iC;AAAAA;AA82BgB4iC,sDA92BhB5iC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BkB6iC,8CA/2BlB7iC;AAAAA;AA+2BkB6iC,0CA/2BlB7iC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BoF8iC,qCA/2BpF9iC;AAAAA;AAAAA;AA+2B6D+iC,8GA/2B7D/iC;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BkDgjC,+CA/2BlDhjC;AAAAA;AAAAA;AAg3BmBijC,4CAh3BnBjjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi3BoBkjC,0CAj3BpBljC;AAAAA;AAi3BoBkjC,0CAj3BpBljC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg3BemjC,kCAh3BfnjC;AAAAA;AAg3BemjC,gCAh3BfnjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi3B6DojC,kIAj3B7DpjC;AAAAA;AAAAA;AAAAA;AAAAA;AAi3BkDqjC,+CAj3BlDrjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BoDsjC,4CAn3BpDtjC;AAAAA;AAm3BoDsjC,4CAn3BpDtjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BoCujC,uCAn3BpCvjC;AAAAA;AAm3BoCujC,qCAn3BpCvjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq3B2BwjC,yCAr3B3BxjC;AAAAA;AAq3B2BwjC,mCAr3B3BxjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BsByjC,uEAt3BtBzjC;AAAAA;AAs3BsByjC,mEAt3BtBzjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BoD0jC,yEAt3BpD1jC;AAAAA;AAs3BoD0jC,qEAt3BpD1jC;AAAAA;AAAAA;AAs3BoD0jC,0CAt3BpD1jC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3B6F2jC,kEAt3B7F3jC;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BkF4jC,+CAt3BlF5jC;AAAAA;AAAAA;AAu3BoC6jC,0EAv3BpC7jC;AAAAA;AAAAA;AAAAA;AAAAA;AAu3ByB8jC,+CAv3BzB9jC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA23BuB+jC,2CA33BvB/jC;AAAAA;AAAAA;AAAAA;AAAAA;AA23BoEgkC,uHA33BpEhkC;AAAAA;AAAAA;AAAAA;AAAAA;AA23ByDikC,+CA33BzDjkC;AAAAA;AAAAA;AAAAA;AAAAA;AA43BwBkkC,2CA53BxBlkC;AAAAA;AA43BwBkkC,qDA53BxBlkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA63B0BmkC,6CA73B1BnkC;AAAAA;AA63B0BmkC,0CA73B1BnkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA63B2FokC,qCA73B3FpkC;AAAAA;AAAAA;AA63BoEqkC,6GA73BpErkC;AAAAA;AAAAA;AAAAA;AAAAA;AA63ByDskC,+CA73BzDtkC;AAAAA;AAAAA;AA83B2BukC,2CA93B3BvkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+3B4BwkC,yCA/3B5BxkC;AAAAA;AA+3B4BwkC,0CA/3B5BxkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA83BuBykC,kCA93BvBzkC;AAAAA;AA83BuBykC,gCA93BvBzkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+3BoE0kC,gIA/3BpE1kC;AAAAA;AAAAA;AAAAA;AAAAA;AA+3ByD2kC,+CA/3BzD3kC;AAAAA;AAAAA;AAg4BoE4kC,wCAh4BpE5kC;AAAAA;AAAAA;AAAAA;AAAAA;AAg4ByD6kC,+CAh4BzD7kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAm3Be8kC,mDAn3Bf9kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAq2BO+kC,mDAr2BP/kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo2BKglC,yCAp2BLhlC;AAAAA;AAo2BKglC,oEAp2BLhlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4BSilC,iDAz4BTjlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA04B4CklC,4CA14B5CllC;AAAAA;AA04B4CklC,4CA14B5CllC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA04B4BmlC,uCA14B5BnlC;AAAAA;AA04B4BmlC,qCA14B5BnlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA44BmBolC,yCA54BnBplC;AAAAA;AA44BmBolC,mCA54BnBplC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64BcqlC,uEA74BdrlC;AAAAA;AA64BcqlC,mEA74BdrlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64B4CslC,yEA74B5CtlC;AAAAA;AA64B4CslC,qEA74B5CtlC;AAAAA;AAAAA;AA64B4CslC,0CA74B5CtlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64BqFulC,kEA74BrFvlC;AAAAA;AAAAA;AAAAA;AAAAA;AA64B0EwlC,+CA74B1ExlC;AAAAA;AAAAA;AA84B4BylC,0EA94B5BzlC;AAAAA;AAAAA;AAAAA;AAAAA;AA84BiB0lC,+CA94BjB1lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk5Be2lC,2CAl5Bf3lC;AAAAA;AAAAA;AAAAA;AAAAA;AAk5B+D4lC,uHAl5B/D5lC;AAAAA;AAAAA;AAAAA;AAAAA;AAk5BoD6lC,+CAl5BpD7lC;AAAAA;AAAAA;AAAAA;AAAAA;AAm5BgB8lC,2CAn5BhB9lC;AAAAA;AAm5BgB8lC,oDAn5BhB9lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo5BkB+lC,yCAp5BlB/lC;AAAAA;AAo5BkB+lC,0CAp5BlB/lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo5B0FgmC,qCAp5B1FhmC;AAAAA;AAAAA;AAo5B+DimC,iHAp5B/DjmC;AAAAA;AAAAA;AAAAA;AAAAA;AAo5BoDkmC,+CAp5BpDlmC;AAAAA;AAAAA;AAq5BmBmmC,2CAr5BnBnmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs5BoBomC,6CAt5BpBpmC;AAAAA;AAs5BoBomC,0CAt5BpBpmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq5BeqmC,kCAr5BfrmC;AAAAA;AAq5BeqmC,gCAr5BfrmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs5B+DsmC,gIAt5B/DtmC;AAAAA;AAAAA;AAAAA;AAAAA;AAs5BoDumC,+CAt5BpDvmC;AAAAA;AAAAA;AAu5B+DwmC,wCAv5B/DxmC;AAAAA;AAAAA;AAAAA;AAAAA;AAu5BoDymC,+CAv5BpDzmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA04BO0mC,mDA14BP1mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4BK2mC,yCAz4BL3mC;AAAAA;AAy4BK2mC,0DAz4BL3mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA85BS4mC,uDA95BT5mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+5B4C6mC,4CA/5B5C7mC;AAAAA;AA+5B4C6mC,4CA/5B5C7mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+5B4B8mC,uCA/5B5B9mC;AAAAA;AA+5B4B8mC,qCA/5B5B9mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi6BmB+mC,yCAj6BnB/mC;AAAAA;AAi6BmB+mC,mCAj6BnB/mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6BcgnC,uEAl6BdhnC;AAAAA;AAk6BcgnC,mEAl6BdhnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6B4CinC,yEAl6B5CjnC;AAAAA;AAk6B4CinC,qEAl6B5CjnC;AAAAA;AAAAA;AAk6B4CinC,0CAl6B5CjnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6BqFknC,kEAl6BrFlnC;AAAAA;AAAAA;AAAAA;AAAAA;AAk6B0EmnC,+CAl6B1EnnC;AAAAA;AAAAA;AAm6B4BonC,0EAn6B5BpnC;AAAAA;AAAAA;AAAAA;AAAAA;AAm6BiBqnC,+CAn6BjBrnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BesnC,4CAv6BftnC;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BgEunC,yHAv6BhEvnC;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BqDwnC,+CAv6BrDxnC;AAAAA;AAAAA;AAAAA;AAAAA;AAw6BgBynC,2CAx6BhBznC;AAAAA;AAw6BgBynC,qDAx6BhBznC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy6BkB0nC,0CAz6BlB1nC;AAAAA;AAy6BkB0nC,0CAz6BlB1nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy6B2F2nC,qCAz6B3F3nC;AAAAA;AAAAA;AAy6BgE4nC,kHAz6BhE5nC;AAAAA;AAAAA;AAAAA;AAAAA;AAy6BqD6nC,+CAz6BrD7nC;AAAAA;AAAAA;AA06BmB8nC,4CA16BnB9nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA26BoB+nC,8CA36BpB/nC;AAAAA;AA26BoB+nC,0CA36BpB/nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA06BegoC,kCA16BfhoC;AAAAA;AA06BegoC,gCA16BfhoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA26BgEioC,kIA36BhEjoC;AAAAA;AAAAA;AAAAA;AAAAA;AA26BqDkoC,+CA36BrDloC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA66BoDmoC,4CA76BpDnoC;AAAAA;AA66BoDmoC,4CA76BpDnoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA66BoCooC,uCA76BpCpoC;AAAAA;AA66BoCooC,qCA76BpCpoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+6B2BqoC,yCA/6B3BroC;AAAAA;AA+6B2BqoC,mCA/6B3BroC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BsBsoC,uEAh7BtBtoC;AAAAA;AAg7BsBsoC,mEAh7BtBtoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BoDuoC,yEAh7BpDvoC;AAAAA;AAg7BoDuoC,qEAh7BpDvoC;AAAAA;AAAAA;AAg7BoDuoC,0CAh7BpDvoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7B6FwoC,kEAh7B7FxoC;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BkFyoC,+CAh7BlFzoC;AAAAA;AAAAA;AAi7BoC0oC,0EAj7BpC1oC;AAAAA;AAAAA;AAAAA;AAAAA;AAi7ByB2oC,+CAj7BzB3oC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq7BuB4oC,2CAr7BvB5oC;AAAAA;AAAAA;AAAAA;AAAAA;AAq7BuE6oC,uHAr7BvE7oC;AAAAA;AAAAA;AAAAA;AAAAA;AAq7B4D8oC,+CAr7B5D9oC;AAAAA;AAAAA;AAAAA;AAAAA;AAs7BwB+oC,2CAt7BxB/oC;AAAAA;AAs7BwB+oC,oDAt7BxB/oC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu7B0BgpC,yCAv7B1BhpC;AAAAA;AAu7B0BgpC,0CAv7B1BhpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu7BkGipC,qCAv7BlGjpC;AAAAA;AAAAA;AAu7BuEkpC,iHAv7BvElpC;AAAAA;AAAAA;AAAAA;AAAAA;AAu7B4DmpC,+CAv7B5DnpC;AAAAA;AAAAA;AAw7B2BopC,2CAx7B3BppC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy7B4BqpC,6CAz7B5BrpC;AAAAA;AAy7B4BqpC,0CAz7B5BrpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw7BuBspC,kCAx7BvBtpC;AAAAA;AAw7BuBspC,gCAx7BvBtpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy7BuEupC,gIAz7BvEvpC;AAAAA;AAAAA;AAAAA;AAAAA;AAy7B4DwpC,+CAz7B5DxpC;AAAAA;AAAAA;AA07BuEypC,wCA17BvEzpC;AAAAA;AAAAA;AAAAA;AAAAA;AA07B4D0pC,+CA17B5D1pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA66Be2pC,mDA76Bf3pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA+5BO4pC,mDA/5BP5pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA85BK6pC,yCA95BL7pC;AAAAA;AA85BK6pC,oEA95BL7pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm8BS8pC,iDAn8BT9pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo8B4C+pC,oCAp8B5C/pC;AAAAA;AAo8B4C+pC,6BAp8B5C/pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo8B4BgqC,uCAp8B5BhqC;AAAAA;AAo8B4BgqC,qCAp8B5BhqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs8BmBiqC,yCAt8BnBjqC;AAAAA;AAs8BmBiqC,mCAt8BnBjqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8BckqC,uEAv8BdlqC;AAAAA;AAu8BckqC,mEAv8BdlqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8B4CmqC,yEAv8B5CnqC;AAAAA;AAu8B4CmqC,qEAv8B5CnqC;AAAAA;AAAAA;AAu8B4CmqC,0CAv8B5CnqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8BqFoqC,0DAv8BrFpqC;AAAAA;AAAAA;AAAAA;AAAAA;AAu8B0EqqC,+CAv8B1ErqC;AAAAA;AAAAA;AAw8B4BsqC,qEAx8B5BtqC;AAAAA;AAAAA;AAAAA;AAAAA;AAw8BiBuqC,+CAx8BjBvqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA48BmBwqC,2CA58BnBxqC;AAAAA;AAAAA;AAAAA;AAAAA;AA48BeyqC,kCA58BfzqC;AAAAA;AA48BeyqC,gCA58BfzqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA48B6D0qC,qGA58B7D1qC;AAAAA;AAAAA;AAAAA;AAAAA;AA48BkD2qC,+CA58BlD3qC;AAAAA;AAAAA;AAAAA;AAAAA;AA68Be4qC,kCA78Bf5qC;AAAAA;AA68Be4qC,oCA78Bf5qC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA68B6D6qC,oFA78B7D7qC;AAAAA;AAAAA;AAAAA;AAAAA;AA68BkD8qC,+CA78BlD9qC;AAAAA;AAAAA;AA88B6D+qC,wCA98B7D/qC;AAAAA;AAAAA;AAAAA;AAAAA;AA88BkDgrC,+CA98BlDhrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAo8BOirC,mDAp8BPjrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm8BKkrC,yCAn8BLlrC;AAAAA;AAm8BKkrC,yDAn8BLlrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9BSmrC,uDAr9BTnrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9B4CorC,oCAt9B5CprC;AAAAA;AAs9B4CorC,6BAt9B5CprC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9B4BqrC,uCAt9B5BrrC;AAAAA;AAs9B4BqrC,qCAt9B5BrrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw9BmBsrC,yCAx9BnBtrC;AAAAA;AAw9BmBsrC,mCAx9BnBtrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9BcurC,uEAz9BdvrC;AAAAA;AAy9BcurC,mEAz9BdvrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9B4CwrC,yEAz9B5CxrC;AAAAA;AAy9B4CwrC,qEAz9B5CxrC;AAAAA;AAAAA;AAy9B4CwrC,0CAz9B5CxrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9BqFyrC,0DAz9BrFzrC;AAAAA;AAAAA;AAAAA;AAAAA;AAy9B0E0rC,+CAz9B1E1rC;AAAAA;AAAAA;AA09B4B2rC,qEA19B5B3rC;AAAAA;AAAAA;AAAAA;AAAAA;AA09BiB4rC,+CA19BjB5rC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA89BmB6rC,4CA99BnB7rC;AAAAA;AAAAA;AAAAA;AAAAA;AA89Be8rC,kCA99Bf9rC;AAAAA;AA89Be8rC,gCA99Bf9rC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA89B8D+rC,uGA99B9D/rC;AAAAA;AAAAA;AAAAA;AAAAA;AA89BmDgsC,+CA99BnDhsC;AAAAA;AAAAA;AAAAA;AAAAA;AA+9BeisC,kCA/9BfjsC;AAAAA;AA+9BeisC,qCA/9BfjsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+9B8DksC,qFA/9B9DlsC;AAAAA;AAAAA;AAAAA;AAAAA;AA+9BmDmsC,+CA/9BnDnsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi+BoDosC,oCAj+BpDpsC;AAAAA;AAi+BoDosC,6BAj+BpDpsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi+BoCqsC,uCAj+BpCrsC;AAAAA;AAi+BoCqsC,qCAj+BpCrsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm+B2BssC,yCAn+B3BtsC;AAAAA;AAm+B2BssC,mCAn+B3BtsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BsBusC,uEAp+BtBvsC;AAAAA;AAo+BsBusC,mEAp+BtBvsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BoDwsC,yEAp+BpDxsC;AAAAA;AAo+BoDwsC,qEAp+BpDxsC;AAAAA;AAAAA;AAo+BoDwsC,0CAp+BpDxsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+B6FysC,0DAp+B7FzsC;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BkF0sC,+CAp+BlF1sC;AAAAA;AAAAA;AAq+BoC2sC,qEAr+BpC3sC;AAAAA;AAAAA;AAAAA;AAAAA;AAq+ByB4sC,+CAr+BzB5sC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+B2B6sC,2CAz+B3B7sC;AAAAA;AAAAA;AAAAA;AAAAA;AAy+BuB8sC,kCAz+BvB9sC;AAAAA;AAy+BuB8sC,gCAz+BvB9sC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+BqE+sC,qGAz+BrE/sC;AAAAA;AAAAA;AAAAA;AAAAA;AAy+B0DgtC,+CAz+B1DhtC;AAAAA;AAAAA;AAAAA;AAAAA;AA0+BuBitC,kCA1+BvBjtC;AAAAA;AA0+BuBitC,oCA1+BvBjtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0+BqEktC,oFA1+BrEltC;AAAAA;AAAAA;AAAAA;AAAAA;AA0+B0DmtC,+CA1+B1DntC;AAAAA;AAAAA;AA2+BqEotC,wCA3+BrEptC;AAAAA;AAAAA;AAAAA;AAAAA;AA2+B0DqtC,+CA3+B1DrtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAi+BestC,mDAj+BfttC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAs9BOutC,mDAt9BPvtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9BKwtC,yCAr9BLxtC;AAAAA;AAq9BKwtC,mEAr9BLxtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo/BSytC,iDAp/BTztC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq/B4C0tC,oCAr/B5C1tC;AAAAA;AAq/B4C0tC,6BAr/B5C1tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq/B4B2tC,uCAr/B5B3tC;AAAAA;AAq/B4B2tC,qCAr/B5B3tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu/BmB4tC,yCAv/BnB5tC;AAAAA;AAu/BmB4tC,mCAv/BnB5tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/Bc6tC,uEAx/Bd7tC;AAAAA;AAw/Bc6tC,mEAx/Bd7tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/B4C8tC,yEAx/B5C9tC;AAAAA;AAw/B4C8tC,qEAx/B5C9tC;AAAAA;AAAAA;AAw/B4C8tC,0CAx/B5C9tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/BqF+tC,0DAx/BrF/tC;AAAAA;AAAAA;AAAAA;AAAAA;AAw/B0EguC,+CAx/B1EhuC;AAAAA;AAAAA;AAy/B4BiuC,qEAz/B5BjuC;AAAAA;AAAAA;AAAAA;AAAAA;AAy/BiBkuC,+CAz/BjBluC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BmBmuC,2CA7/BnBnuC;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BeouC,kCA7/BfpuC;AAAAA;AA6/BeouC,gCA7/BfpuC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6/B6DquC,qGA7/B7DruC;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BkDsuC,+CA7/BlDtuC;AAAAA;AAAAA;AAAAA;AAAAA;AA8/B6DuuC,uFA9/B7DvuC;AAAAA;AAAAA;AAAAA;AAAAA;AA8/BkDwuC,+CA9/BlDxuC;AAAAA;AAAAA;AA+/B6DyuC,wCA//B7DzuC;AAAAA;AAAAA;AAAAA;AAAAA;AA+/BkD0uC,+CA//BlD1uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAq/BO2uC,mDAr/BP3uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo/BK4uC,yCAp/BL5uC;AAAAA;AAo/BK4uC,yDAp/BL5uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsgCS6uC,uDAtgCT7uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAugC4C8uC,oCAvgC5C9uC;AAAAA;AAugC4C8uC,6BAvgC5C9uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAugC4B+uC,uCAvgC5B/uC;AAAAA;AAugC4B+uC,qCAvgC5B/uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAygCmBgvC,yCAzgCnBhvC;AAAAA;AAygCmBgvC,mCAzgCnBhvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gCcivC,uEA1gCdjvC;AAAAA;AA0gCcivC,mEA1gCdjvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gC4CkvC,yEA1gC5ClvC;AAAAA;AA0gC4CkvC,qEA1gC5ClvC;AAAAA;AAAAA;AA0gC4CkvC,0CA1gC5ClvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gCqFmvC,0DA1gCrFnvC;AAAAA;AAAAA;AAAAA;AAAAA;AA0gC0EovC,+CA1gC1EpvC;AAAAA;AAAAA;AA2gC4BqvC,qEA3gC5BrvC;AAAAA;AAAAA;AAAAA;AAAAA;AA2gCiBsvC,+CA3gCjBtvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCmBuvC,4CA/gCnBvvC;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCewvC,kCA/gCfxvC;AAAAA;AA+gCewvC,gCA/gCfxvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+gC8DyvC,uGA/gC9DzvC;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCmD0vC,+CA/gCnD1vC;AAAAA;AAAAA;AAAAA;AAAAA;AAghC8D2vC,wFAhhC9D3vC;AAAAA;AAAAA;AAAAA;AAAAA;AAghCmD4vC,+CAhhCnD5vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkhCoD6vC,oCAlhCpD7vC;AAAAA;AAkhCoD6vC,6BAlhCpD7vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkhCoC8vC,uCAlhCpC9vC;AAAAA;AAkhCoC8vC,qCAlhCpC9vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAohC2B+vC,yCAphC3B/vC;AAAAA;AAohC2B+vC,mCAphC3B/vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCsBgwC,uEArhCtBhwC;AAAAA;AAqhCsBgwC,mEArhCtBhwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCoDiwC,yEArhCpDjwC;AAAAA;AAqhCoDiwC,qEArhCpDjwC;AAAAA;AAAAA;AAqhCoDiwC,0CArhCpDjwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhC6FkwC,0DArhC7FlwC;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCkFmwC,+CArhClFnwC;AAAAA;AAAAA;AAshCoCowC,qEAthCpCpwC;AAAAA;AAAAA;AAAAA;AAAAA;AAshCyBqwC,+CAthCzBrwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0hC2BswC,2CA1hC3BtwC;AAAAA;AAAAA;AAAAA;AAAAA;AA0hCuBuwC,kCA1hCvBvwC;AAAAA;AA0hCuBuwC,gCA1hCvBvwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0hCqEwwC,qGA1hCrExwC;AAAAA;AAAAA;AAAAA;AAAAA;AA0hC0DywC,+CA1hC1DzwC;AAAAA;AAAAA;AAAAA;AAAAA;AA2hCqE0wC,uFA3hCrE1wC;AAAAA;AAAAA;AAAAA;AAAAA;AA2hC0D2wC,+CA3hC1D3wC;AAAAA;AAAAA;AA4hCqE4wC,wCA5hCrE5wC;AAAAA;AAAAA;AAAAA;AAAAA;AA4hC0D6wC,+CA5hC1D7wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAkhCe8wC,mDAlhCf9wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAugCO+wC,mDAvgCP/wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsgCKgxC,yCAtgCLhxC;AAAAA;AAsgCKgxC,mEAtgCLhxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuiCOixC,sCAviCPjxC;AAAAA;AAuiCOixC,iCAviCPjxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwiCckxC,wEAxiCdlxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsiCKmxC,mEAtiCLnxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8iCWoxC,sCA9iCXpxC;AAAAA;AA8iCWoxC,iCA9iCXpxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8iCOqxC,kCA9iCPrxC;AAAAA;AA8iCOqxC,gCA9iCPrxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+iCcsxC,2EA/iCdtxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6iCKuxC,mEA7iCLvxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmjCcwxC,uCAnjCdxxC;AAAAA;AAmjCcwxC,mCAnjCdxxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqjCmDyxC,8BArjCnDzxC;AAAAA;AAAAA;AAqjC+B0xC,kFArjC/B1xC;AAAAA;AAAAA;AAAAA;AAAAA;AAqjCoB2xC,+CArjCpB3xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAujCuC4xC,yCAvjCvC5xC;AAAAA;AAujCuC4xC,kCAvjCvC5xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAujCgC6xC,qCAvjChC7xC;AAAAA;AAujCgC6xC,mCAvjChC7xC;AAAAA;AAAAA;AAAAA;AAujCgB8xC,oDAvjChB9xC;AAAAA;AAAAA;AAAAA;AAAAA;AAujCY+xC,kCAvjCZ/xC;AAAAA;AAujCY+xC,gCAvjCZ/xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwjCsBgyC,iFAxjCtBhyC;AAAAA;AAAAA;AAAAA;AAAAA;AAwjCWiyC,+CAxjCXjyC;AAAAA;AAAAA;AA0jCsBkyC,wCA1jCtBlyC;AAAAA;AAAAA;AAAAA;AAAAA;AA0jCWmyC,+CA1jCXnyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAojCKoyC,mDApjCLpyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgkCoBqyC,uCAhkCpBryC;AAAAA;AAgkCoBqyC,mCAhkCpBryC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkkCmDsyC,8BAlkCnDtyC;AAAAA;AAAAA;AAkkC+BuyC,mFAlkC/BvyC;AAAAA;AAAAA;AAAAA;AAAAA;AAkkCoBwyC,+CAlkCpBxyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAokCuCyyC,yCApkCvCzyC;AAAAA;AAokCuCyyC,kCApkCvCzyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAokCgC0yC,qCApkChC1yC;AAAAA;AAokCgC0yC,mCApkChC1yC;AAAAA;AAAAA;AAAAA;AAokCgB2yC,oDApkChB3yC;AAAAA;AAAAA;AAAAA;AAAAA;AAokCY4yC,kCApkCZ5yC;AAAAA;AAokCY4yC,gCApkCZ5yC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqkCsB6yC,kFArkCtB7yC;AAAAA;AAAAA;AAAAA;AAAAA;AAqkCW8yC,+CArkCX9yC;AAAAA;AAAAA;AAAAA;AAAAA;AAukCoB+yC,uCAvkCpB/yC;AAAAA;AAukCoB+yC,mCAvkCpB/yC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAykCyDgzC,8BAzkCzDhzC;AAAAA;AAAAA;AAykCqCizC,kFAzkCrCjzC;AAAAA;AAAAA;AAAAA;AAAAA;AAykC0BkzC,+CAzkC1BlzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2kC6CmzC,yCA3kC7CnzC;AAAAA;AA2kC6CmzC,kCA3kC7CnzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2kCsCozC,qCA3kCtCpzC;AAAAA;AA2kCsCozC,mCA3kCtCpzC;AAAAA;AAAAA;AAAAA;AA2kCsBqzC,oDA3kCtBrzC;AAAAA;AAAAA;AAAAA;AAAAA;AA2kCkBszC,kCA3kClBtzC;AAAAA;AA2kCkBszC,gCA3kClBtzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4kC4BuzC,iFA5kC5BvzC;AAAAA;AAAAA;AAAAA;AAAAA;AA4kCiBwzC,+CA5kCjBxzC;AAAAA;AAAAA;AA8kC4ByzC,wCA9kC5BzzC;AAAAA;AAAAA;AAAAA;AAAAA;AA8kCiB0zC,+CA9kCjB1zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAwkCW2zC,mDAxkCX3zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAikCK4zC,mDAjkCL5zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAslCc6zC,uCAtlCd7zC;AAAAA;AAslCc6zC,mCAtlCd7zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwlCmD8zC,8BAxlCnD9zC;AAAAA;AAAAA;AAwlC+B+zC,mFAxlC/B/zC;AAAAA;AAAAA;AAAAA;AAAAA;AAwlCoBg0C,+CAxlCpBh0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0lCmCi0C,yCA1lCnCj0C;AAAAA;AA0lCmCi0C,kCA1lCnCj0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0lC4Bk0C,qCA1lC5Bl0C;AAAAA;AA0lC4Bk0C,mCA1lC5Bl0C;AAAAA;AAAAA;AAAAA;AA0lCYm0C,oDA1lCZn0C;AAAAA;AAAAA;AAAAA;AAAAA;AA2lCsBo0C,iFA3lCtBp0C;AAAAA;AAAAA;AAAAA;AAAAA;AA2lCWq0C,+CA3lCXr0C;AAAAA;AAAAA;AA6lCsBs0C,wCA7lCtBt0C;AAAAA;AAAAA;AAAAA;AAAAA;AA6lCWu0C,+CA7lCXv0C;AAAAA;AAAAA,QAulCKw0C,mDAvlCLx0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmmCoBy0C,uCAnmCpBz0C;AAAAA;AAmmCoBy0C,mCAnmCpBz0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqmCmD00C,8BArmCnD10C;AAAAA;AAAAA;AAqmC+B20C,oFArmC/B30C;AAAAA;AAAAA;AAAAA;AAAAA;AAqmCoB40C,+CArmCpB50C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAumCmC60C,yCAvmCnC70C;AAAAA;AAumCmC60C,kCAvmCnC70C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAumC4B80C,qCAvmC5B90C;AAAAA;AAumC4B80C,mCAvmC5B90C;AAAAA;AAAAA;AAAAA;AAumCY+0C,oDAvmCZ/0C;AAAAA;AAAAA;AAAAA;AAAAA;AAwmCsBg1C,kFAxmCtBh1C;AAAAA;AAAAA;AAAAA;AAAAA;AAwmCWi1C,+CAxmCXj1C;AAAAA;AAAAA;AAAAA;AAAAA;AA0mCoBk1C,uCA1mCpBl1C;AAAAA;AA0mCoBk1C,mCA1mCpBl1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4mCyDm1C,8BA5mCzDn1C;AAAAA;AAAAA;AA4mCqCo1C,mFA5mCrCp1C;AAAAA;AAAAA;AAAAA;AAAAA;AA4mC0Bq1C,+CA5mC1Br1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8mCyCs1C,yCA9mCzCt1C;AAAAA;AA8mCyCs1C,kCA9mCzCt1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8mCkCu1C,qCA9mClCv1C;AAAAA;AA8mCkCu1C,mCA9mClCv1C;AAAAA;AAAAA;AAAAA;AA8mCkBw1C,oDA9mClBx1C;AAAAA;AAAAA;AAAAA;AAAAA;AA+mC4By1C,iFA/mC5Bz1C;AAAAA;AAAAA;AAAAA;AAAAA;AA+mCiB01C,+CA/mCjB11C;AAAAA;AAAAA;AAinC4B21C,wCAjnC5B31C;AAAAA;AAAAA;AAAAA;AAAAA;AAinCiB41C,+CAjnCjB51C;AAAAA;AAAAA,SA2mCW61C,mDA3mCX71C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAomCK81C,mDApmCL91C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAynC0B+1C,uCAznC1B/1C;AAAAA;AAynC0B+1C,mCAznC1B/1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0nCkCg2C,oEA1nClCh2C;AAAAA;AAAAA;AAAAA;AAAAA;AA0nCuBi2C,+CA1nCvBj2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2nCkCk2C,wCA3nClCl2C;AAAAA;AAAAA;AAAAA;AAAAA;AA2nCuBm2C,+CA3nCvBn2C;AAAAA;AAAAA,QAynCKo2C,mDAznCLp2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgoC0Bq2C,uCAhoC1Br2C;AAAAA;AAgoC0Bq2C,mCAhoC1Br2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAioCkCs2C,qEAjoClCt2C;AAAAA;AAAAA;AAAAA;AAAAA;AAioCuBu2C,+CAjoCvBv2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmoC8Bw2C,uCAnoC9Bx2C;AAAAA;AAmoC8Bw2C,mCAnoC9Bx2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAooCsCy2C,oEApoCtCz2C;AAAAA;AAAAA;AAAAA;AAAAA;AAooC2B02C,+CApoC3B12C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqoCsC22C,wCAroCtC32C;AAAAA;AAAAA;AAAAA;AAAAA;AAqoC2B42C,+CAroC3B52C;AAAAA;AAAAA,QAmoCS62C,mDAnoCT72C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAgoCK82C,mDAhoCL92C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4oC4B+2C,uCA5oC5B/2C;AAAAA;AA4oC4B+2C,mCA5oC5B/2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6oCyBg3C,6EA7oCzBh3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpCoCi3C,yCAhpCpCj3C;AAAAA;AAgpCoCi3C,mCAhpCpCj3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpCgBk3C,uEAhpChBl3C;AAAAA;AAgpCgBk3C,qEAhpChBl3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAipCem3C,yCAjpCfn3C;AAAAA;AAipCem3C,mCAjpCfn3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAipCeo3C,kCAjpCfp3C;AAAAA;AAAAA;AAAAA;AAAAA;AAmpCeq3C,yCAnpCfr3C;AAAAA;AAmpCeq3C,mCAnpCfr3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqpCgDs3C,sCArpChDt3C;AAAAA;AAqpCgDs3C,oCArpChDt3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqpCgCu3C,uCArpChCv3C;AAAAA;AAqpCgCu3C,qCArpChCv3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAupCuBw3C,yCAvpCvBx3C;AAAAA;AAupCuBw3C,mCAvpCvBx3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpCkBy3C,uEAxpClBz3C;AAAAA;AAwpCkBy3C,mEAxpClBz3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpCgD03C,yEAxpChD13C;AAAAA;AAwpCgD03C,qEAxpChD13C;AAAAA;AAAAA;AAwpCgD03C,0CAxpChD13C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpC8E23C,4DAxpC9E33C;AAAAA;AAAAA;AAAAA;AAypCqB43C,qEAzpCrB53C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCuB63C,2CA7pCvB73C;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCmB83C,kCA7pCnB93C;AAAAA;AA6pCmB83C,gCA7pCnB93C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCsD+3C,4GA7pCtD/3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8pCmBg4C,kCA9pCnBh4C;AAAAA;AA8pCmBg4C,oCA9pCnBh4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8pC0Ci4C,6FA9pC1Cj4C;AAAAA;AAAAA;AAAAA;AA+pC8Bk4C,wCA/pC9Bl4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAqpCWm4C,mDArpCXn4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4oCOo4C,mDA5oCPp4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2oCKq4C,+CA3oCLr4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuqC4Bs4C,uCAvqC5Bt4C;AAAAA;AAuqC4Bs4C,mCAvqC5Bt4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwqCyBu4C,8EAxqCzBv4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2qCoCw4C,yCA3qCpCx4C;AAAAA;AA2qCoCw4C,mCA3qCpCx4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2qCgBy4C,uEA3qChBz4C;AAAAA;AA2qCgBy4C,qEA3qChBz4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4qCe04C,yCA5qCf14C;AAAAA;AA4qCe04C,mCA5qCf14C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA4qCe24C,kCA5qCf34C;AAAAA;AAAAA;AAAAA;AAAAA;AA8qCe44C,yCA9qCf54C;AAAAA;AA8qCe44C,mCA9qCf54C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgrCgD64C,sCAhrChD74C;AAAAA;AAgrCgD64C,0CAhrChD74C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgrCgC84C,uCAhrChC94C;AAAAA;AAgrCgC84C,qCAhrChC94C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkrCuB+4C,yCAlrCvB/4C;AAAAA;AAkrCuB+4C,mCAlrCvB/4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrCkBg5C,uEAnrClBh5C;AAAAA;AAmrCkBg5C,mEAnrClBh5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrCgDi5C,yEAnrChDj5C;AAAAA;AAmrCgDi5C,qEAnrChDj5C;AAAAA;AAAAA;AAmrCgDi5C,0CAnrChDj5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrC8Ek5C,4DAnrC9El5C;AAAAA;AAAAA;AAAAA;AAorCqBm5C,qEAprCrBn5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrCuBo5C,iDAxrCvBp5C;AAAAA;AAAAA;AAAAA;AAAAA;AAwrCmBq5C,kCAxrCnBr5C;AAAAA;AAwrCmBq5C,gCAxrCnBr5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrC4Ds5C,yHAxrC5Dt5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyrCmBu5C,kCAzrCnBv5C;AAAAA;AAyrCmBu5C,0CAzrCnBv5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyrCgDw5C,8FAzrChDx5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2rCwCy5C,uCA3rCxCz5C;AAAAA;AA2rCwCy5C,mCA3rCxCz5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4rCqC05C,6EA5rCrC15C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+rCgD25C,yCA/rChD35C;AAAAA;AA+rCgD25C,mCA/rChD35C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+rC4B45C,uEA/rC5B55C;AAAAA;AA+rC4B45C,qEA/rC5B55C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsC2B65C,yCAhsC3B75C;AAAAA;AAgsC2B65C,mCAhsC3B75C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgsC2B85C,kCAhsC3B95C;AAAAA;AAAAA;AAAAA;AAAAA;AAksC2B+5C,yCAlsC3B/5C;AAAAA;AAksC2B+5C,mCAlsC3B/5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosC4Dg6C,sCApsC5Dh6C;AAAAA;AAosC4Dg6C,0CApsC5Dh6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosC4Ci6C,uCApsC5Cj6C;AAAAA;AAosC4Ci6C,qCApsC5Cj6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAssCmCk6C,yCAtsCnCl6C;AAAAA;AAssCmCk6C,mCAtsCnCl6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC8Bm6C,uEAvsC9Bn6C;AAAAA;AAusC8Bm6C,mEAvsC9Bn6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC4Do6C,yEAvsC5Dp6C;AAAAA;AAusC4Do6C,qEAvsC5Dp6C;AAAAA;AAAAA;AAusC4Do6C,0CAvsC5Dp6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC0Fq6C,4DAvsC1Fr6C;AAAAA;AAAAA;AAAAA;AAwsCiCs6C,qEAxsCjCt6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4sCmCu6C,iDA5sCnCv6C;AAAAA;AAAAA;AAAAA;AAAAA;AA4sC+Bw6C,kCA5sC/Bx6C;AAAAA;AA4sC+Bw6C,gCA5sC/Bx6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4sCwEy6C,wHA5sCxEz6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sC+B06C,kCA7sC/B16C;AAAAA;AA6sC+B06C,0CA7sC/B16C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sC4D26C,6FA7sC5D36C;AAAAA;AAAAA;AAAAA;AA8sC0C46C,wCA9sC1C56C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAosCuB66C,mDApsCvB76C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA2rCmB86C,mDA3rCnB96C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAgrCW+6C,mDAhrCX/6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAuqCOg7C,mDAvqCPh7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsqCKi7C,+CAtqCLj7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAytC4Bk7C,uCAztC5Bl7C;AAAAA;AAytC4Bk7C,mCAztC5Bl7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0tCyBm7C,6EA1tCzBn7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6tCoCo7C,yCA7tCpCp7C;AAAAA;AA6tCoCo7C,mCA7tCpCp7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6tCgBq7C,uEA7tChBr7C;AAAAA;AA6tCgBq7C,qEA7tChBr7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8tCes7C,yCA9tCft7C;AAAAA;AA8tCes7C,mCA9tCft7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA8tCeu7C,kCA9tCfv7C;AAAAA;AAAAA;AAAAA;AAAAA;AAguCew7C,yCAhuCfx7C;AAAAA;AAguCew7C,mCAhuCfx7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCgDy7C,sCAluChDz7C;AAAAA;AAkuCgDy7C,oCAluChDz7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCgC07C,uCAluChC17C;AAAAA;AAkuCgC07C,qCAluChC17C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAouCuB27C,yCApuCvB37C;AAAAA;AAouCuB27C,mCApuCvB37C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquCkB47C,uEAruClB57C;AAAAA;AAquCkB47C,mEAruClB57C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquCgD67C,yEAruChD77C;AAAAA;AAquCgD67C,qEAruChD77C;AAAAA;AAAAA;AAquCgD67C,0CAruChD77C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquC8E87C,4DAruC9E97C;AAAAA;AAAAA;AAAAA;AAsuCqB+7C,qEAtuCrB/7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCuBg8C,2CA1uCvBh8C;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCmBi8C,kCA1uCnBj8C;AAAAA;AA0uCmBi8C,gCA1uCnBj8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCsDk8C,4GA1uCtDl8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2uCqCm8C,gGA3uCrCn8C;AAAAA;AAAAA;AAAAA;AA4uC8Bo8C,wCA5uC9Bp8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAkuCWq8C,mDAluCXr8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAytCOs8C,mDAztCPt8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwtCKu8C,+CAxtCLv8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAovC4Bw8C,uCApvC5Bx8C;AAAAA;AAovC4Bw8C,mCApvC5Bx8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqvCyBy8C,8EArvCzBz8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwvCoC08C,yCAxvCpC18C;AAAAA;AAwvCoC08C,mCAxvCpC18C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwvCgB28C,uEAxvChB38C;AAAAA;AAwvCgB28C,qEAxvChB38C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyvCe48C,yCAzvCf58C;AAAAA;AAyvCe48C,mCAzvCf58C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAyvCe68C,kCAzvCf78C;AAAAA;AAAAA;AAAAA;AAAAA;AA2vCe88C,yCA3vCf98C;AAAAA;AA2vCe88C,mCA3vCf98C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vCgD+8C,sCA7vChD/8C;AAAAA;AA6vCgD+8C,0CA7vChD/8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vCgCg9C,uCA7vChCh9C;AAAAA;AA6vCgCg9C,qCA7vChCh9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+vCuBi9C,yCA/vCvBj9C;AAAAA;AA+vCuBi9C,mCA/vCvBj9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwCkBk9C,uEAhwClBl9C;AAAAA;AAgwCkBk9C,mEAhwClBl9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwCgDm9C,yEAhwChDn9C;AAAAA;AAgwCgDm9C,qEAhwChDn9C;AAAAA;AAAAA;AAgwCgDm9C,0CAhwChDn9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwC8Eo9C,4DAhwC9Ep9C;AAAAA;AAAAA;AAAAA;AAiwCqBq9C,qEAjwCrBr9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwCuBs9C,iDArwCvBt9C;AAAAA;AAAAA;AAAAA;AAAAA;AAqwCmBu9C,kCArwCnBv9C;AAAAA;AAqwCmBu9C,gCArwCnBv9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwC4Dw9C,yHArwC5Dx9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswC2Cy9C,iGAtwC3Cz9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwwCwC09C,uCAxwCxC19C;AAAAA;AAwwCwC09C,mCAxwCxC19C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAywCqC29C,6EAzwCrC39C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4wCgD49C,yCA5wChD59C;AAAAA;AA4wCgD49C,mCA5wChD59C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4wC4B69C,uEA5wC5B79C;AAAAA;AA4wC4B69C,qEA5wC5B79C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6wC2B89C,yCA7wC3B99C;AAAAA;AA6wC2B89C,mCA7wC3B99C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA6wC2B+9C,kCA7wC3B/9C;AAAAA;AAAAA;AAAAA;AAAAA;AA+wC2Bg+C,yCA/wC3Bh+C;AAAAA;AA+wC2Bg+C,mCA/wC3Bh+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAixC4Di+C,sCAjxC5Dj+C;AAAAA;AAixC4Di+C,0CAjxC5Dj+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAixC4Ck+C,uCAjxC5Cl+C;AAAAA;AAixC4Ck+C,qCAjxC5Cl+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmxCmCm+C,yCAnxCnCn+C;AAAAA;AAmxCmCm+C,mCAnxCnCn+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC8Bo+C,uEApxC9Bp+C;AAAAA;AAoxC8Bo+C,mEApxC9Bp+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC4Dq+C,yEApxC5Dr+C;AAAAA;AAoxC4Dq+C,qEApxC5Dr+C;AAAAA;AAAAA;AAoxC4Dq+C,0CApxC5Dr+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC0Fs+C,4DApxC1Ft+C;AAAAA;AAAAA;AAAAA;AAqxCiCu+C,qEArxCjCv+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxCmCw+C,iDAzxCnCx+C;AAAAA;AAAAA;AAAAA;AAAAA;AAyxC+By+C,kCAzxC/Bz+C;AAAAA;AAyxC+By+C,gCAzxC/Bz+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxCwE0+C,wHAzxCxE1+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0xCuD2+C,gGA1xCvD3+C;AAAAA;AAAAA;AAAAA;AA2xC0C4+C,wCA3xC1C5+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAixCuB6+C,mDAjxCvB7+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAwwCmB8+C,mDAxwCnB9+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA6vCW++C,mDA7vCX/+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAovCOg/C,mDApvCPh/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmvCKi/C,+CAnvCLj/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqyCKk/C,yCAryCLl/C;AAAAA;AAqyCKk/C,uCAryCLl/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2yCKm/C,yCA3yCLn/C;AAAAA;AA2yCKm/C,uCA3yCLn/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://checker\"}", +"theModule":"function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1947(R,NAMESPACE,M,$either31,$$included$127,$E8,$ED12,$$underscore_import5,$$underscore_import5,$$included$225,$$included$332,$RED33,$SL34,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://checker\";\nvar D = R.undefined;\nvar L = [[M,22,0,338,29,3,558],\n[M,27,17,518,27,47,548],\n[M,27,23,524,27,46,547],\n[M,26,6,465,26,23,482],\n[M,25,6,424,25,22,440],\n[M,24,6,380,24,22,396],\n[M,45,2,1108,60,5,1689],\n[M,47,20,1190,47,47,1217],\n[M,47,28,1198,47,46,1216],\n[M,47,6,1176,47,47,1217],\n[M,46,4,1144,59,7,1683],\n[M,49,22,1256,49,41,1275],\n[M,51,26,1326,51,37,1337],\n[M,51,26,1326,51,48,1348],\n[M,51,26,1326,51,59,1359],\n[M,51,26,1326,51,72,1372],\n[M,51,12,1312,51,76,1376],\n[M,50,10,1287,51,76,1376],\n[M,49,8,1242,58,11,1675],\n[M,53,12,1412,57,27,1663],\n[M,53,13,1413,53,24,1424],\n[M,54,28,1454,54,39,1465],\n[M,54,28,1454,54,50,1476],\n[M,54,28,1454,54,61,1487],\n[M,54,28,1454,54,74,1500],\n[M,56,41,1576,56,53,1588],\n[M,56,41,1576,56,64,1599],\n[M,56,41,1576,56,77,1612],\n[M,56,83,1618,56,95,1630],\n[M,56,84,1619,56,88,1623],\n[M,56,90,1625,56,93,1628],\n[M,57,14,1650,57,26,1662],\n[M,56,14,1549,56,99,1634],\n[M,56,27,1562,56,81,1616],\n[M,55,14,1520,55,27,1533],\n[M,54,14,1440,54,78,1504],\n[M,52,10,1387,57,27,1663],\n[M,49,14,1248,49,20,1254],\n[M,46,10,1150,46,22,1162],\n[M,61,2,1693,72,5,2090],\n[M,64,8,1789,65,115,1914],\n[M,64,9,1790,64,16,1797],\n[M,65,10,1809,65,114,1913],\n[M,63,6,1767,65,115,1914],\n[M,62,4,1735,71,7,2084],\n[M,67,8,1939,70,43,2076],\n[M,67,9,1940,67,16,1947],\n[M,69,18,2008,69,40,2030],\n[M,70,10,2043,70,42,2075],\n[M,69,10,2000,69,41,2031],\n[M,68,10,1959,68,39,1988],\n[M,62,10,1741,62,22,1753],\n[M,33,4,601,33,38,635],\n[M,34,4,641,34,60,697],\n[M,34,43,680,34,56,693],\n[M,36,4,722,36,39,757],\n[M,37,4,763,37,67,826],\n[M,37,43,802,37,57,816],\n[M,37,43,802,37,63,822],\n[M,39,4,856,39,39,891],\n[M,40,4,897,40,72,965],\n[M,40,43,936,40,62,955],\n[M,40,43,936,40,68,961],\n[M,42,4,990,42,40,1026],\n[M,43,4,1032,43,67,1095],\n[M,43,43,1071,43,57,1085],\n[M,43,43,1071,43,63,1091],\n[M,32,2,581,34,61,698],\n[M,35,2,701,37,68,827],\n[M,38,2,830,40,73,966],\n[M,41,2,969,43,68,1096],\n[M,31,0,560,73,3,2094],\n[M,76,2,2121,82,5,2291],\n[M,77,14,2157,77,20,2163],\n[M,78,13,2178,78,16,2181],\n[M,79,23,2206,79,30,2213],\n[M,80,22,2237,80,38,2253],\n[M,81,19,2274,81,30,2285],\n[M,75,0,2096,83,3,2295],\n[M,85,0,2297,92,3,2448],\n[M,86,2,2333,91,20,2444],\n[M,86,3,2334,86,14,2345],\n[M,87,4,2351,90,23,2422],\n[M,87,5,2352,87,12,2359],\n[M,91,4,2428,91,19,2443],\n[M,90,6,2405,90,22,2421],\n[M,88,6,2367,88,21,2382],\n[M,691,2,28080,691,52,28130],\n[M,97,4,2581,146,7,4942],\n[M,98,9,2667,98,17,2675],\n[M,98,9,2667,98,30,2688],\n[M,99,8,2698,99,28,2718],\n[M,100,28,2747,100,36,2755],\n[M,101,32,2790,101,40,2798],\n[M,103,22,2853,103,35,2866],\n[M,103,22,2853,103,60,2891],\n[M,104,22,2914,104,36,2928],\n[M,104,22,2914,104,61,2953],\n[M,105,42,2996,105,55,3009],\n[M,105,42,2996,105,62,3016],\n[M,105,66,3020,105,86,3040],\n[M,105,67,3021,105,74,3028],\n[M,105,76,3030,105,85,3039],\n[M,106,42,3087,106,56,3101],\n[M,106,42,3087,106,63,3108],\n[M,106,66,3111,106,86,3131],\n[M,106,67,3112,106,74,3119],\n[M,106,76,3121,106,85,3130],\n[M,107,20,3156,107,33,3169],\n[M,107,20,3156,107,51,3187],\n[M,108,12,3200,140,49,4825],\n[M,108,13,3201,108,21,3209],\n[M,109,14,3225,109,27,3238],\n[M,109,14,3225,109,51,3262],\n[M,110,24,3288,110,32,3296],\n[M,111,14,3313,138,20,4725],\n[M,111,15,3314,111,22,3321],\n[M,112,27,3350,112,38,3361],\n[M,139,37,4764,139,46,4773],\n[M,140,37,4813,140,47,4823],\n[M,140,16,4792,140,48,4824],\n[M,139,16,4743,139,47,4774],\n[M,114,20,3425,116,109,3607],\n[M,114,21,3426,114,32,3437],\n[M,116,56,3554,116,108,3606],\n[M,116,30,3528,116,46,3544],\n[M,115,22,3461,115,57,3496],\n[M,113,18,3381,116,109,3607],\n[M,112,16,3339,138,19,4724],\n[M,118,34,3676,118,53,3695],\n[M,120,24,3753,122,83,3913],\n[M,120,25,3754,120,36,3765],\n[M,122,60,3890,122,82,3912],\n[M,122,34,3864,122,50,3880],\n[M,121,26,3793,121,61,3828],\n[M,119,22,3719,122,83,3913],\n[M,118,20,3662,130,23,4331],\n[M,124,24,3973,129,57,4307],\n[M,124,25,3974,124,36,3985],\n[M,126,61,4111,126,72,4122],\n[M,126,62,4112,126,66,4116],\n[M,126,68,4118,126,71,4121],\n[M,129,26,4276,129,56,4306],\n[M,128,34,4224,128,50,4240],\n[M,127,26,4154,127,60,4188],\n[M,126,26,4076,126,76,4126],\n[M,126,39,4089,126,59,4109],\n[M,125,26,4013,125,61,4048],\n[M,123,22,3936,129,57,4307],\n[M,118,26,3668,118,32,3674],\n[M,117,18,3626,130,23,4331],\n[M,132,20,4393,137,53,4704],\n[M,132,21,4394,132,32,4405],\n[M,137,22,4673,137,52,4703],\n[M,136,30,4625,136,46,4641],\n[M,135,22,4559,135,56,4593],\n[M,134,22,4498,134,59,4535],\n[M,134,30,4506,134,58,4534],\n[M,134,38,4514,134,57,4533],\n[M,133,22,4429,133,67,4474],\n[M,131,18,4350,137,53,4704],\n[M,110,14,3278,110,33,3297],\n[M,106,21,3066,106,90,3135],\n[M,106,34,3079,106,64,3109],\n[M,105,21,2975,105,90,3044],\n[M,105,34,2988,105,63,3017],\n[M,102,10,2811,140,49,4825],\n[M,101,8,2766,142,11,4883],\n[M,141,25,4851,141,45,4871],\n[M,141,10,4836,141,45,4871],\n[M,101,14,2772,101,20,2778],\n[M,101,22,2780,101,41,2799],\n[M,144,8,4904,144,28,4924],\n[M,100,14,2733,100,37,2756],\n[M,147,4,4948,155,7,5255],\n[M,148,6,4982,154,29,5247],\n[M,148,7,4983,148,15,4991],\n[M,149,8,5001,152,14,5187],\n[M,149,9,5002,149,16,5009],\n[M,149,32,5025,149,47,5040],\n[M,153,17,5206,153,26,5215],\n[M,154,17,5235,154,27,5245],\n[M,154,8,5226,154,28,5246],\n[M,153,8,5197,153,27,5216],\n[M,150,25,5067,150,52,5094],\n[M,150,12,5054,150,52,5094],\n[M,149,18,5011,152,13,5186],\n[M,151,25,5120,151,77,5172],\n[M,151,12,5107,151,77,5172],\n[M,149,24,5017,149,30,5023],\n[M,157,4,5382,212,7,8188],\n[M,158,9,5468,158,17,5476],\n[M,158,9,5468,158,30,5489],\n[M,159,8,5499,159,28,5519],\n[M,160,28,5548,160,36,5556],\n[M,161,32,5591,161,40,5599],\n[M,163,22,5654,163,35,5667],\n[M,163,22,5654,163,60,5692],\n[M,164,22,5715,164,36,5729],\n[M,164,22,5715,164,61,5754],\n[M,165,42,5797,165,55,5810],\n[M,165,42,5797,165,62,5817],\n[M,165,66,5821,165,86,5841],\n[M,165,67,5822,165,74,5829],\n[M,165,76,5831,165,85,5840],\n[M,166,42,5888,166,56,5902],\n[M,166,42,5888,166,63,5909],\n[M,166,66,5912,166,86,5932],\n[M,166,67,5913,166,74,5920],\n[M,166,76,5922,166,85,5931],\n[M,167,20,5957,167,33,5970],\n[M,167,20,5957,167,51,5988],\n[M,168,37,6026,168,48,6037],\n[M,181,25,6459,185,13,6711],\n[M,181,26,6460,181,33,6467],\n[M,187,28,6772,187,42,6786],\n[M,187,28,6772,187,49,6793],\n[M,186,13,6725,186,17,6729],\n[M,186,19,6731,186,23,6735],\n[M,200,12,7818,206,19,8071],\n[M,200,13,7819,200,21,7827],\n[M,201,14,7843,201,27,7856],\n[M,201,14,7843,201,51,7880],\n[M,202,24,7906,202,32,7914],\n[M,203,14,7931,203,38,7955],\n[M,203,15,7932,203,22,7939],\n[M,204,35,7992,204,44,8001],\n[M,205,35,8039,205,45,8049],\n[M,205,14,8018,205,46,8050],\n[M,204,14,7971,204,45,8002],\n[M,203,24,7941,203,37,7954],\n[M,202,14,7896,202,33,7915],\n[M,186,12,6724,186,24,6736],\n[M,189,18,6949,189,72,7003],\n[M,189,19,6950,189,26,6957],\n[M,189,28,6959,189,71,7002],\n[M,190,28,7033,190,42,7047],\n[M,190,28,7033,190,49,7054],\n[M,192,18,7201,192,80,7263],\n[M,192,19,7202,192,26,7209],\n[M,192,28,7211,192,79,7262],\n[M,193,32,7297,193,46,7311],\n[M,193,32,7297,193,53,7318],\n[M,195,32,7504,195,46,7518],\n[M,195,32,7504,195,53,7525],\n[M,193,75,7340,193,89,7354],\n[M,193,75,7340,193,96,7361],\n[M,190,66,7071,190,80,7085],\n[M,190,66,7071,190,87,7092],\n[M,187,67,6811,187,81,6825],\n[M,187,67,6811,187,88,6832],\n[M,184,45,6652,184,90,6697],\n[M,184,14,6621,184,43,6650],\n[M,184,22,6629,184,42,6649],\n[M,183,14,6546,183,73,6605],\n[M,182,31,6500,182,61,6530],\n[M,182,39,6508,182,60,6529],\n[M,182,14,6483,182,29,6498],\n[M,171,20,6117,171,32,6129],\n[M,169,14,6053,173,19,6209],\n[M,168,26,6015,180,15,6433],\n[M,176,20,6292,176,32,6304],\n[M,174,14,6224,178,19,6384],\n[M,166,21,5867,166,90,5936],\n[M,166,34,5880,166,64,5910],\n[M,165,21,5776,165,90,5845],\n[M,165,34,5789,165,63,5818],\n[M,162,10,5612,206,19,8071],\n[M,161,8,5567,208,11,8129],\n[M,207,25,8097,207,45,8117],\n[M,207,10,8082,207,45,8117],\n[M,161,14,5573,161,20,5579],\n[M,161,22,5581,161,41,5600],\n[M,210,8,8150,210,28,8170],\n[M,160,14,5534,160,37,5557],\n[M,213,4,8194,239,7,9334],\n[M,215,22,8255,215,36,8269],\n[M,215,22,8255,215,43,8276],\n[M,216,10,8333,221,33,8563],\n[M,216,11,8334,216,19,8342],\n[M,217,12,8356,219,13,8495],\n[M,217,13,8357,217,20,8364],\n[M,220,21,8518,220,30,8527],\n[M,221,21,8551,221,31,8561],\n[M,221,12,8542,221,32,8562],\n[M,220,12,8509,220,31,8528],\n[M,218,14,8380,218,115,8481],\n[M,222,22,8586,222,36,8600],\n[M,222,22,8586,222,43,8607],\n[M,223,10,8663,228,33,8915],\n[M,223,11,8664,223,19,8672],\n[M,224,12,8686,226,13,8847],\n[M,224,13,8687,224,20,8694],\n[M,227,21,8870,227,30,8879],\n[M,228,21,8903,228,31,8913],\n[M,228,12,8894,228,32,8914],\n[M,227,12,8861,227,31,8880],\n[M,225,14,8710,225,137,8833],\n[M,230,10,8947,237,33,9316],\n[M,230,11,8948,230,19,8956],\n[M,231,12,8970,235,13,9248],\n[M,231,13,8971,231,20,8978],\n[M,236,21,9271,236,30,9280],\n[M,237,21,9304,237,31,9314],\n[M,237,12,9295,237,32,9315],\n[M,236,12,9262,236,31,9281],\n[M,234,42,9189,234,87,9234],\n[M,234,14,9161,234,40,9187],\n[M,234,22,9169,234,39,9186],\n[M,233,14,9111,233,48,9145],\n[M,232,85,9065,232,115,9095],\n[M,232,93,9073,232,114,9094],\n[M,232,14,8994,232,83,9063],\n[M,222,60,8624,222,74,8638],\n[M,222,60,8624,222,81,8645],\n[M,215,61,8294,215,75,8308],\n[M,215,61,8294,215,82,8315],\n[M,241,4,9429,286,7,11583],\n[M,242,9,9515,242,17,9523],\n[M,242,9,9515,242,30,9536],\n[M,243,8,9546,243,28,9566],\n[M,244,28,9595,244,36,9603],\n[M,245,32,9638,245,40,9646],\n[M,247,22,9701,247,35,9714],\n[M,247,22,9701,247,60,9739],\n[M,248,22,9762,248,36,9776],\n[M,248,22,9762,248,61,9801],\n[M,249,42,9844,249,55,9857],\n[M,249,42,9844,249,62,9864],\n[M,249,66,9868,249,86,9888],\n[M,249,67,9869,249,74,9876],\n[M,249,76,9878,249,85,9887],\n[M,250,42,9935,250,56,9949],\n[M,250,42,9935,250,63,9956],\n[M,250,66,9959,250,86,9979],\n[M,250,67,9960,250,74,9967],\n[M,250,76,9969,250,85,9978],\n[M,251,20,10004,251,33,10017],\n[M,251,20,10004,251,51,10035],\n[M,252,12,10048,280,49,11466],\n[M,252,13,10049,252,21,10057],\n[M,253,14,10073,253,27,10086],\n[M,253,14,10073,253,51,10110],\n[M,254,24,10136,254,32,10144],\n[M,255,14,10161,278,20,11366],\n[M,255,15,10162,255,22,10169],\n[M,256,27,10198,256,38,10209],\n[M,279,37,11405,279,46,11414],\n[M,280,37,11454,280,47,11464],\n[M,280,16,11433,280,48,11465],\n[M,279,16,11384,279,47,11415],\n[M,258,34,10283,258,53,10302],\n[M,260,24,10360,262,93,10530],\n[M,260,25,10361,260,36,10372],\n[M,262,60,10497,262,92,10529],\n[M,262,34,10471,262,50,10487],\n[M,261,26,10400,261,61,10435],\n[M,259,22,10326,262,93,10530],\n[M,258,20,10269,270,23,10958],\n[M,264,24,10590,269,63,10934],\n[M,264,25,10591,264,36,10602],\n[M,266,61,10728,266,72,10739],\n[M,266,62,10729,266,66,10733],\n[M,266,68,10735,266,71,10738],\n[M,269,26,10897,269,62,10933],\n[M,268,34,10845,268,50,10861],\n[M,267,26,10771,267,64,10809],\n[M,266,26,10693,266,76,10743],\n[M,266,39,10706,266,59,10726],\n[M,265,26,10630,265,61,10665],\n[M,263,22,10553,269,63,10934],\n[M,258,26,10275,258,32,10281],\n[M,257,18,10229,270,23,10958],\n[M,256,16,10187,278,19,11365],\n[M,272,20,11024,277,59,11345],\n[M,272,21,11025,272,32,11036],\n[M,277,22,11308,277,58,11344],\n[M,276,30,11260,276,46,11276],\n[M,275,22,11190,275,60,11228],\n[M,274,22,11129,274,59,11166],\n[M,274,30,11137,274,58,11165],\n[M,274,38,11145,274,57,11164],\n[M,273,22,11060,273,67,11105],\n[M,271,18,10977,277,59,11345],\n[M,254,14,10126,254,33,10145],\n[M,250,21,9914,250,90,9983],\n[M,250,34,9927,250,64,9957],\n[M,249,21,9823,249,90,9892],\n[M,249,34,9836,249,63,9865],\n[M,246,10,9659,280,49,11466],\n[M,245,8,9614,282,11,11524],\n[M,281,25,11492,281,45,11512],\n[M,281,10,11477,281,45,11512],\n[M,245,14,9620,245,20,9626],\n[M,245,22,9628,245,41,9647],\n[M,284,8,11545,284,28,11565],\n[M,244,14,9581,244,37,9604],\n[M,287,4,11589,295,7,11904],\n[M,288,6,11623,294,29,11896],\n[M,288,7,11624,288,15,11632],\n[M,289,8,11642,292,14,11836],\n[M,289,9,11643,289,16,11650],\n[M,289,32,11666,289,47,11681],\n[M,293,17,11855,293,26,11864],\n[M,294,17,11884,294,27,11894],\n[M,294,8,11875,294,28,11895],\n[M,293,8,11846,293,27,11865],\n[M,290,25,11708,290,56,11739],\n[M,290,12,11695,290,56,11739],\n[M,289,18,11652,292,13,11835],\n[M,291,25,11765,291,81,11821],\n[M,291,12,11752,291,81,11821],\n[M,289,24,11658,289,30,11664],\n[M,297,4,11973,325,7,13034],\n[M,298,9,12059,298,17,12067],\n[M,298,9,12059,298,30,12080],\n[M,299,8,12090,299,28,12110],\n[M,300,28,12139,300,36,12147],\n[M,301,32,12182,301,40,12190],\n[M,303,22,12245,303,34,12257],\n[M,303,22,12245,303,59,12282],\n[M,304,22,12305,304,36,12319],\n[M,304,22,12305,304,42,12325],\n[M,305,42,12368,305,54,12380],\n[M,305,42,12368,305,61,12387],\n[M,305,65,12391,305,85,12411],\n[M,305,66,12392,305,73,12399],\n[M,305,75,12401,305,84,12410],\n[M,306,56,12472,306,76,12492],\n[M,306,57,12473,306,64,12480],\n[M,306,66,12482,306,75,12491],\n[M,308,12,12510,319,33,12922],\n[M,308,13,12511,308,21,12519],\n[M,309,14,12535,309,26,12547],\n[M,309,14,12535,309,50,12571],\n[M,310,24,12597,310,32,12605],\n[M,311,14,12622,318,32,12887],\n[M,311,15,12623,311,22,12630],\n[M,319,23,12912,319,31,12920],\n[M,319,14,12903,319,32,12921],\n[M,318,16,12871,318,31,12886],\n[M,316,16,12812,316,33,12829],\n[M,314,16,12725,314,61,12770],\n[M,312,16,12648,312,51,12683],\n[M,310,14,12587,310,33,12606],\n[M,306,21,12437,306,80,12496],\n[M,306,34,12450,306,54,12470],\n[M,305,21,12347,305,89,12415],\n[M,305,34,12360,305,62,12388],\n[M,302,10,12203,319,33,12922],\n[M,301,8,12158,321,11,12975],\n[M,320,20,12943,320,40,12963],\n[M,320,10,12933,320,40,12963],\n[M,301,14,12164,301,20,12170],\n[M,301,22,12172,301,41,12191],\n[M,323,8,12996,323,28,13016],\n[M,300,14,12125,300,37,12148],\n[M,326,4,13040,330,7,13179],\n[M,327,6,13074,329,27,13171],\n[M,327,7,13075,327,15,13083],\n[M,328,8,13093,328,57,13142],\n[M,328,9,13094,328,16,13101],\n[M,329,17,13161,329,25,13169],\n[M,329,8,13152,329,26,13170],\n[M,328,18,13103,328,56,13141],\n[M,332,4,13251,360,7,14360],\n[M,333,9,13337,333,17,13345],\n[M,333,9,13337,333,30,13358],\n[M,334,8,13368,334,28,13388],\n[M,335,28,13417,335,36,13425],\n[M,336,32,13460,336,40,13468],\n[M,338,22,13523,338,34,13535],\n[M,338,22,13523,338,59,13560],\n[M,339,22,13583,339,36,13597],\n[M,339,22,13583,339,42,13603],\n[M,340,42,13646,340,54,13658],\n[M,340,42,13646,340,61,13665],\n[M,340,65,13669,340,85,13689],\n[M,340,66,13670,340,73,13677],\n[M,340,75,13679,340,84,13688],\n[M,341,56,13750,341,76,13770],\n[M,341,57,13751,341,64,13758],\n[M,341,66,13760,341,75,13769],\n[M,342,12,13787,353,33,14236],\n[M,342,13,13788,342,21,13796],\n[M,343,14,13812,343,26,13824],\n[M,343,14,13812,343,50,13848],\n[M,344,24,13874,344,32,13882],\n[M,345,14,13899,352,33,14201],\n[M,345,15,13900,345,22,13907],\n[M,353,23,14226,353,31,14234],\n[M,353,14,14217,353,32,14235],\n[M,352,16,14184,352,32,14200],\n[M,350,16,14095,350,63,14142],\n[M,348,16,14002,348,67,14053],\n[M,346,16,13925,346,51,13960],\n[M,344,14,13864,344,33,13883],\n[M,341,21,13715,341,80,13774],\n[M,341,34,13728,341,54,13748],\n[M,340,21,13625,340,89,13693],\n[M,340,34,13638,340,62,13666],\n[M,337,10,13481,353,33,14236],\n[M,336,8,13436,356,11,14301],\n[M,355,12,14269,355,32,14289],\n[M,354,10,14247,355,32,14289],\n[M,336,14,13442,336,20,13448],\n[M,336,22,13450,336,41,13469],\n[M,358,8,14322,358,28,14342],\n[M,335,14,13403,335,37,13426],\n[M,361,4,14366,365,7,14532],\n[M,362,6,14400,364,27,14524],\n[M,362,7,14401,362,15,14409],\n[M,363,8,14419,363,84,14495],\n[M,363,9,14420,363,16,14427],\n[M,364,17,14514,364,25,14522],\n[M,364,8,14505,364,26,14523],\n[M,363,18,14429,363,83,14494],\n[M,367,4,14615,385,7,15289],\n[M,368,9,14701,368,17,14709],\n[M,368,9,14701,368,30,14722],\n[M,369,8,14732,369,28,14752],\n[M,370,28,14781,370,36,14789],\n[M,371,32,14824,371,40,14832],\n[M,373,12,14877,379,42,15177],\n[M,373,13,14878,373,21,14886],\n[M,374,14,14902,374,29,14917],\n[M,374,14,14902,374,53,14941],\n[M,375,24,14967,375,32,14975],\n[M,376,14,14992,376,61,15039],\n[M,376,15,14993,376,22,15000],\n[M,377,23,15064,377,38,15079],\n[M,378,14,15096,378,51,15133],\n[M,378,15,15097,378,22,15104],\n[M,379,23,15158,379,40,15175],\n[M,379,14,15149,379,41,15176],\n[M,378,24,15106,378,50,15132],\n[M,377,14,15055,377,39,15080],\n[M,376,24,15002,376,60,15038],\n[M,375,14,14957,375,33,14976],\n[M,372,10,14845,379,42,15177],\n[M,371,8,14800,381,11,15230],\n[M,380,20,15198,380,40,15218],\n[M,380,10,15188,380,40,15218],\n[M,371,14,14806,371,20,14812],\n[M,371,22,14814,371,41,14833],\n[M,383,8,15251,383,28,15271],\n[M,370,14,14767,370,37,14790],\n[M,386,4,15295,388,7,15373],\n[M,387,16,15349,387,31,15364],\n[M,387,6,15339,387,32,15365],\n[M,389,4,15379,395,7,15607],\n[M,390,6,15413,394,36,15599],\n[M,390,7,15414,390,15,15422],\n[M,391,8,15432,391,55,15479],\n[M,391,9,15433,391,16,15440],\n[M,392,17,15498,392,32,15513],\n[M,393,8,15524,393,45,15561],\n[M,393,9,15525,393,16,15532],\n[M,394,17,15580,394,34,15597],\n[M,394,8,15571,394,35,15598],\n[M,393,18,15534,393,44,15560],\n[M,392,8,15489,392,33,15514],\n[M,391,18,15442,391,54,15478],\n[M,396,4,15613,402,7,15825],\n[M,398,8,15683,401,51,15816],\n[M,398,9,15684,398,13,15688],\n[M,399,22,15712,399,30,15720],\n[M,400,22,15745,400,39,15762],\n[M,401,33,15798,401,48,15813],\n[M,397,6,15641,401,52,15817],\n[M,401,10,15775,401,50,15815],\n[M,401,22,15787,401,49,15814],\n[M,400,10,15733,400,40,15763],\n[M,399,10,15700,399,31,15721],\n[M,404,4,15913,422,7,16596],\n[M,405,9,15999,405,17,16007],\n[M,405,9,15999,405,30,16020],\n[M,406,8,16030,406,28,16050],\n[M,407,28,16079,407,36,16087],\n[M,408,32,16122,408,40,16130],\n[M,410,12,16175,416,46,16484],\n[M,410,13,16176,410,21,16184],\n[M,411,14,16200,411,29,16215],\n[M,411,14,16200,411,53,16239],\n[M,412,24,16265,412,32,16273],\n[M,413,14,16290,413,50,16326],\n[M,413,15,16291,413,22,16298],\n[M,414,23,16351,414,38,16366],\n[M,415,14,16383,415,67,16436],\n[M,415,15,16384,415,22,16391],\n[M,416,23,16461,416,44,16482],\n[M,416,14,16452,416,45,16483],\n[M,415,24,16393,415,66,16435],\n[M,414,14,16342,414,39,16367],\n[M,413,24,16300,413,49,16325],\n[M,412,14,16255,412,33,16274],\n[M,409,10,16143,416,46,16484],\n[M,408,8,16098,418,11,16537],\n[M,417,20,16505,417,40,16525],\n[M,417,10,16495,417,40,16525],\n[M,408,14,16104,408,20,16110],\n[M,408,22,16112,408,41,16131],\n[M,420,8,16558,420,28,16578],\n[M,407,14,16065,407,37,16088],\n[M,423,4,16602,429,7,16839],\n[M,424,6,16636,428,40,16831],\n[M,424,7,16637,424,15,16645],\n[M,425,8,16655,425,44,16691],\n[M,425,9,16656,425,16,16663],\n[M,426,17,16710,426,32,16725],\n[M,427,8,16736,427,61,16789],\n[M,427,9,16737,427,16,16744],\n[M,428,17,16808,428,38,16829],\n[M,428,8,16799,428,39,16830],\n[M,427,18,16746,427,60,16788],\n[M,426,8,16701,426,33,16726],\n[M,425,18,16665,425,43,16690],\n[M,430,4,16845,436,7,17061],\n[M,432,8,16915,435,51,17052],\n[M,432,9,16916,432,13,16920],\n[M,433,22,16944,433,30,16952],\n[M,434,22,16977,434,43,16998],\n[M,435,33,17034,435,48,17049],\n[M,431,6,16873,435,52,17053],\n[M,435,10,17011,435,50,17051],\n[M,435,22,17023,435,49,17050],\n[M,434,10,16965,434,44,16999],\n[M,433,10,16932,433,31,16953],\n[M,438,4,17140,467,7,18677],\n[M,439,9,17226,439,17,17234],\n[M,439,9,17226,439,30,17247],\n[M,440,8,17257,440,28,17277],\n[M,441,28,17306,441,36,17314],\n[M,442,32,17349,442,40,17357],\n[M,444,22,17412,444,36,17426],\n[M,444,22,17412,444,61,17451],\n[M,445,12,17464,461,40,18565],\n[M,445,13,17465,445,21,17473],\n[M,446,14,17489,446,28,17503],\n[M,446,14,17489,446,52,17527],\n[M,447,24,17553,447,32,17561],\n[M,449,16,17608,449,75,17667],\n[M,449,17,17609,449,21,17613],\n[M,450,36,17706,450,50,17720],\n[M,460,22,18480,460,64,18522],\n[M,460,23,18481,460,27,18485],\n[M,461,23,18548,461,38,18563],\n[M,461,14,18539,461,39,18564],\n[M,448,14,17578,460,65,18523],\n[M,449,16,17608,460,64,18522],\n[M,460,29,18487,460,63,18521],\n[M,449,16,17608,460,19,18477],\n[M,451,35,17757,451,104,17826],\n[M,451,36,17758,451,40,17762],\n[M,451,78,17800,451,98,17820],\n[M,451,79,17801,451,86,17808],\n[M,451,88,17810,451,97,17819],\n[M,451,42,17764,451,103,17825],\n[M,451,55,17777,451,75,17797],\n[M,451,18,17740,451,104,17826],\n[M,450,16,17686,460,19,18477],\n[M,452,35,17862,452,117,17944],\n[M,452,36,17863,452,40,17867],\n[M,452,78,17905,452,111,17938],\n[M,452,79,17906,452,86,17913],\n[M,452,88,17915,452,102,17929],\n[M,452,88,17915,452,108,17935],\n[M,452,88,17915,452,110,17937],\n[M,452,42,17869,452,116,17943],\n[M,452,55,17882,452,76,17903],\n[M,452,18,17845,452,117,17944],\n[M,453,35,17980,453,118,18063],\n[M,453,36,17981,453,40,17985],\n[M,453,79,18024,453,112,18057],\n[M,453,80,18025,453,87,18032],\n[M,453,89,18034,453,103,18048],\n[M,453,89,18034,453,109,18054],\n[M,453,89,18034,453,111,18056],\n[M,453,42,17987,453,117,18062],\n[M,453,55,18000,453,77,18022],\n[M,453,18,17963,453,118,18063],\n[M,455,39,18140,455,58,18159],\n[M,456,35,18225,456,100,18290],\n[M,456,36,18226,456,40,18230],\n[M,456,80,18270,456,94,18284],\n[M,456,81,18271,456,88,18278],\n[M,456,90,18280,456,93,18283],\n[M,456,42,18232,456,99,18289],\n[M,456,55,18245,456,76,18266],\n[M,456,22,18212,456,100,18290],\n[M,455,20,18121,459,23,18457],\n[M,458,24,18351,458,106,18433],\n[M,458,25,18352,458,29,18356],\n[M,458,67,18394,458,100,18427],\n[M,458,68,18395,458,75,18402],\n[M,458,77,18404,458,91,18418],\n[M,458,77,18404,458,97,18424],\n[M,458,77,18404,458,99,18426],\n[M,458,31,18358,458,105,18432],\n[M,458,44,18371,458,64,18391],\n[M,457,22,18313,458,106,18433],\n[M,455,26,18127,455,37,18138],\n[M,454,18,18082,459,23,18457],\n[M,450,22,17692,450,34,17704],\n[M,449,23,17615,449,74,17666],\n[M,447,14,17543,447,33,17562],\n[M,443,10,17370,461,40,18565],\n[M,442,8,17325,463,11,18618],\n[M,462,20,18586,462,40,18606],\n[M,462,10,18576,462,40,18606],\n[M,442,14,17331,442,20,17337],\n[M,442,22,17339,442,41,17358],\n[M,465,8,18639,465,28,18659],\n[M,441,14,17292,441,37,17315],\n[M,468,4,18683,472,7,18827],\n[M,469,6,18717,471,34,18819],\n[M,469,7,18718,469,15,18726],\n[M,470,8,18736,470,55,18783],\n[M,470,9,18737,470,16,18744],\n[M,471,17,18802,471,32,18817],\n[M,471,8,18793,471,33,18818],\n[M,470,18,18746,470,54,18782],\n[M,473,4,18833,477,7,19004],\n[M,476,16,18980,476,31,18995],\n[M,476,6,18970,476,32,18996],\n[M,478,4,19010,484,7,19213],\n[M,480,8,19074,483,38,19204],\n[M,480,9,19075,480,13,19079],\n[M,481,22,19103,481,30,19111],\n[M,482,33,19147,482,48,19162],\n[M,483,22,19188,483,36,19202],\n[M,479,6,19038,483,39,19205],\n[M,483,10,19176,483,37,19203],\n[M,482,10,19124,482,50,19164],\n[M,482,22,19136,482,49,19163],\n[M,481,10,19091,481,31,19112],\n[M,486,4,19316,517,7,20607],\n[M,487,9,19402,487,17,19410],\n[M,487,9,19402,487,30,19423],\n[M,488,8,19439,488,28,19459],\n[M,489,28,19488,489,36,19496],\n[M,490,32,19531,490,40,19539],\n[M,492,22,19594,492,34,19606],\n[M,492,22,19594,492,59,19631],\n[M,493,42,19674,493,54,19686],\n[M,493,42,19674,493,61,19693],\n[M,493,64,19696,493,84,19716],\n[M,493,65,19697,493,72,19704],\n[M,493,74,19706,493,83,19715],\n[M,494,26,19747,494,43,19764],\n[M,496,16,19811,505,40,20242],\n[M,496,17,19812,496,25,19820],\n[M,497,18,19840,497,30,19852],\n[M,497,18,19840,497,54,19876],\n[M,498,28,19906,498,36,19914],\n[M,499,18,19935,505,24,20226],\n[M,499,19,19936,499,26,19943],\n[M,501,23,20050,501,34,20061],\n[M,505,26,20228,505,39,20241],\n[M,502,22,20085,502,43,20106],\n[M,504,22,20155,504,68,20201],\n[M,500,20,19965,500,72,20017],\n[M,498,18,19896,498,37,19915],\n[M,495,14,19780,505,40,20242],\n[M,494,12,19733,511,15,20495],\n[M,507,16,20283,510,90,20479],\n[M,507,17,20284,507,25,20292],\n[M,508,18,20312,508,30,20324],\n[M,508,18,20312,508,54,20348],\n[M,509,28,20378,509,36,20386],\n[M,510,18,20407,510,89,20478],\n[M,510,19,20408,510,26,20415],\n[M,510,28,20417,510,80,20469],\n[M,509,18,20368,509,37,20387],\n[M,506,14,20257,510,90,20479],\n[M,494,18,19739,494,24,19745],\n[M,493,21,19653,493,88,19720],\n[M,493,34,19666,493,62,19694],\n[M,491,10,19552,511,15,20495],\n[M,490,8,19507,513,11,20548],\n[M,512,20,20516,512,40,20536],\n[M,512,10,20506,512,40,20536],\n[M,490,14,19513,490,20,19519],\n[M,490,22,19521,490,41,19540],\n[M,515,8,20569,515,28,20589],\n[M,489,14,19474,489,37,19497],\n[M,518,4,20613,532,7,21156],\n[M,519,20,20661,519,37,20678],\n[M,521,10,20713,527,37,21000],\n[M,521,11,20714,521,19,20722],\n[M,522,12,20736,527,21,20984],\n[M,522,13,20737,522,20,20744],\n[M,522,76,20800,522,88,20812],\n[M,522,76,20800,522,95,20819],\n[M,523,19,20841,523,30,20852],\n[M,527,23,20986,527,36,20999],\n[M,522,22,20746,527,20,20983],\n[M,522,30,20754,527,19,20982],\n[M,522,30,20754,522,95,20819],\n[M,520,8,20688,527,37,21000],\n[M,519,6,20647,531,9,21148],\n[M,529,10,21029,530,98,21138],\n[M,529,11,21030,529,19,21038],\n[M,530,12,21052,530,97,21137],\n[M,530,13,21053,530,20,21060],\n[M,530,76,21116,530,88,21128],\n[M,530,76,21116,530,95,21135],\n[M,530,22,21062,530,96,21136],\n[M,530,30,21070,530,95,21135],\n[M,528,8,21009,530,98,21138],\n[M,519,12,20653,519,18,20659],\n[M,534,4,21231,562,7,22349],\n[M,535,9,21317,535,17,21325],\n[M,535,9,21317,535,30,21338],\n[M,536,8,21348,536,28,21368],\n[M,537,28,21397,537,36,21405],\n[M,538,32,21440,538,40,21448],\n[M,540,22,21503,540,34,21515],\n[M,540,22,21503,540,59,21540],\n[M,541,22,21563,541,36,21577],\n[M,541,22,21563,541,42,21583],\n[M,542,42,21626,542,54,21638],\n[M,542,42,21626,542,61,21645],\n[M,542,65,21649,542,85,21669],\n[M,542,66,21650,542,73,21657],\n[M,542,75,21659,542,84,21668],\n[M,543,56,21730,543,76,21750],\n[M,543,57,21731,543,64,21738],\n[M,543,66,21740,543,75,21749],\n[M,545,12,21768,556,33,22237],\n[M,545,13,21769,545,21,21777],\n[M,546,14,21793,546,26,21805],\n[M,546,14,21793,546,50,21829],\n[M,547,24,21855,547,32,21863],\n[M,548,14,21880,555,33,22202],\n[M,548,15,21881,548,22,21888],\n[M,556,23,22227,556,31,22235],\n[M,556,14,22218,556,32,22236],\n[M,555,16,22185,555,32,22201],\n[M,553,16,22096,553,63,22143],\n[M,551,16,21983,551,87,22054],\n[M,549,16,21906,549,51,21941],\n[M,547,14,21845,547,33,21864],\n[M,543,21,21695,543,80,21754],\n[M,543,34,21708,543,54,21728],\n[M,542,21,21605,542,89,21673],\n[M,542,34,21618,542,62,21646],\n[M,539,10,21461,556,33,22237],\n[M,538,8,21416,558,11,22290],\n[M,557,20,22258,557,40,22278],\n[M,557,10,22248,557,40,22278],\n[M,538,14,21422,538,20,21428],\n[M,538,22,21430,538,41,21449],\n[M,560,8,22311,560,28,22331],\n[M,537,14,21383,537,37,21406],\n[M,563,4,22355,567,7,22521],\n[M,564,6,22389,566,50,22513],\n[M,564,7,22390,564,15,22398],\n[M,565,8,22408,565,61,22461],\n[M,565,9,22409,565,16,22416],\n[M,566,8,22471,566,49,22512],\n[M,566,9,22472,566,16,22479],\n[M,566,38,22501,566,46,22509],\n[M,566,18,22481,566,48,22511],\n[M,566,27,22490,566,47,22510],\n[M,565,18,22418,565,60,22460],\n[M,568,4,22527,574,7,22734],\n[M,570,8,22607,573,33,22725],\n[M,570,9,22608,570,13,22612],\n[M,571,22,22636,571,30,22644],\n[M,572,33,22680,572,41,22688],\n[M,573,22,22714,573,31,22723],\n[M,569,6,22555,573,34,22726],\n[M,573,10,22702,573,32,22724],\n[M,572,10,22657,572,43,22690],\n[M,572,22,22669,572,42,22689],\n[M,571,10,22624,571,31,22645],\n[M,576,4,22812,608,7,24117],\n[M,577,9,22898,577,17,22906],\n[M,577,9,22898,577,30,22919],\n[M,578,8,22929,578,28,22949],\n[M,579,28,22978,579,36,22986],\n[M,580,32,23021,580,40,23029],\n[M,582,22,23084,582,34,23096],\n[M,582,22,23084,582,59,23121],\n[M,583,22,23144,583,36,23158],\n[M,583,22,23144,583,42,23164],\n[M,584,42,23207,584,54,23219],\n[M,584,42,23207,584,61,23226],\n[M,584,65,23230,584,85,23250],\n[M,584,66,23231,584,73,23238],\n[M,584,75,23240,584,84,23249],\n[M,585,56,23311,585,76,23331],\n[M,585,57,23312,585,64,23319],\n[M,585,66,23321,585,75,23330],\n[M,587,12,23349,602,33,24005],\n[M,587,13,23350,587,21,23358],\n[M,588,14,23374,589,53,23437],\n[M,588,15,23375,588,22,23382],\n[M,589,16,23400,589,28,23412],\n[M,589,16,23400,589,52,23436],\n[M,593,24,23620,593,32,23628],\n[M,594,14,23645,601,32,23970],\n[M,594,15,23646,594,22,23653],\n[M,602,23,23995,602,31,24003],\n[M,602,14,23986,602,32,24004],\n[M,601,16,23954,601,31,23969],\n[M,599,16,23865,599,63,23912],\n[M,597,16,23748,597,91,23823],\n[M,595,16,23671,595,51,23706],\n[M,593,14,23610,593,33,23629],\n[M,585,21,23276,585,80,23335],\n[M,585,34,23289,585,54,23309],\n[M,584,21,23186,584,89,23254],\n[M,584,34,23199,584,62,23227],\n[M,581,10,23042,602,33,24005],\n[M,580,8,22997,604,11,24058],\n[M,603,20,24026,603,40,24046],\n[M,603,10,24016,603,40,24046],\n[M,580,14,23003,580,20,23009],\n[M,580,22,23011,580,41,23030],\n[M,606,8,24079,606,28,24099],\n[M,579,14,22964,579,37,22987],\n[M,609,4,24123,613,7,24316],\n[M,610,6,24157,612,50,24308],\n[M,610,7,24158,610,15,24166],\n[M,611,8,24176,611,88,24256],\n[M,611,9,24177,611,16,24184],\n[M,612,8,24266,612,49,24307],\n[M,612,9,24267,612,16,24274],\n[M,612,38,24296,612,46,24304],\n[M,612,18,24276,612,48,24306],\n[M,612,27,24285,612,47,24305],\n[M,611,18,24186,611,87,24255],\n[M,614,4,24322,620,7,24532],\n[M,616,8,24405,619,33,24523],\n[M,616,9,24406,616,13,24410],\n[M,617,22,24434,617,30,24442],\n[M,618,33,24478,618,41,24486],\n[M,619,22,24512,619,31,24521],\n[M,615,6,24350,619,34,24524],\n[M,619,10,24500,619,32,24522],\n[M,618,10,24455,618,43,24488],\n[M,618,22,24467,618,42,24487],\n[M,617,10,24422,617,31,24443],\n[M,624,4,24739,628,7,24996],\n[M,625,6,24822,627,46,24988],\n[M,625,7,24823,625,15,24831],\n[M,626,8,24841,626,107,24940],\n[M,626,9,24842,626,16,24849],\n[M,627,8,24950,627,45,24987],\n[M,627,9,24951,627,16,24958],\n[M,627,27,24969,627,43,24985],\n[M,627,18,24960,627,44,24986],\n[M,626,18,24851,626,106,24939],\n[M,629,4,25002,633,7,25210],\n[M,630,6,25036,632,46,25202],\n[M,630,7,25037,630,15,25045],\n[M,631,8,25055,631,107,25154],\n[M,631,9,25056,631,16,25063],\n[M,632,8,25164,632,45,25201],\n[M,632,9,25165,632,16,25172],\n[M,632,27,25183,632,43,25199],\n[M,632,18,25174,632,44,25200],\n[M,631,18,25065,631,106,25153],\n[M,635,4,25280,653,7,26247],\n[M,636,9,25366,636,17,25374],\n[M,636,9,25366,636,30,25387],\n[M,637,8,25397,637,28,25417],\n[M,638,28,25446,638,36,25454],\n[M,639,32,25489,639,40,25497],\n[M,641,64,25594,641,110,25640],\n[M,641,65,25595,641,72,25602],\n[M,641,74,25604,641,107,25637],\n[M,641,74,25604,641,109,25639],\n[M,642,12,25657,645,79,25929],\n[M,642,13,25658,642,21,25666],\n[M,643,14,25682,643,145,25813],\n[M,643,15,25683,643,22,25690],\n[M,643,85,25753,643,95,25763],\n[M,644,24,25839,644,32,25847],\n[M,645,14,25864,645,78,25928],\n[M,645,15,25865,645,22,25872],\n[M,645,62,25912,645,76,25926],\n[M,645,53,25903,645,77,25927],\n[M,645,24,25874,645,51,25901],\n[M,644,14,25829,644,33,25848],\n[M,643,51,25719,643,144,25812],\n[M,643,59,25727,643,143,25811],\n[M,643,59,25727,643,96,25764],\n[M,643,75,25743,643,96,25764],\n[M,643,24,25692,643,39,25707],\n[M,641,23,25553,641,114,25644],\n[M,641,36,25566,641,61,25591],\n[M,640,10,25510,645,79,25929],\n[M,639,8,25465,651,11,26229],\n[M,647,12,25962,650,34,26217],\n[M,647,13,25963,647,21,25971],\n[M,648,14,25987,648,157,26130],\n[M,648,15,25988,648,22,25995],\n[M,648,76,26049,648,86,26059],\n[M,649,14,26146,649,49,26181],\n[M,649,15,26147,649,22,26154],\n[M,649,33,26165,649,47,26179],\n[M,650,24,26207,650,32,26215],\n[M,650,14,26197,650,33,26216],\n[M,649,24,26156,649,48,26180],\n[M,648,24,25997,648,156,26129],\n[M,648,32,26005,648,155,26128],\n[M,648,32,26005,648,87,26060],\n[M,648,66,26039,648,87,26060],\n[M,646,10,25940,650,34,26217],\n[M,639,14,25471,639,20,25477],\n[M,639,22,25479,639,41,25498],\n[M,636,6,25363,652,9,26239],\n[M,638,14,25432,638,37,25455],\n[M,654,4,26253,658,7,26503],\n[M,655,6,26287,657,44,26495],\n[M,655,7,26288,655,15,26296],\n[M,656,8,26306,656,151,26449],\n[M,656,9,26307,656,16,26314],\n[M,656,70,26368,656,80,26378],\n[M,657,8,26459,657,43,26494],\n[M,657,9,26460,657,16,26467],\n[M,657,27,26478,657,41,26492],\n[M,657,18,26469,657,42,26493],\n[M,656,18,26316,656,150,26448],\n[M,656,26,26324,656,149,26447],\n[M,656,26,26324,656,81,26379],\n[M,656,60,26358,656,81,26379],\n[M,660,4,26593,682,7,27746],\n[M,661,9,26679,661,17,26687],\n[M,661,9,26679,661,30,26700],\n[M,662,8,26710,662,28,26730],\n[M,663,28,26759,663,36,26767],\n[M,664,32,26802,664,40,26810],\n[M,666,22,26865,666,35,26878],\n[M,666,22,26865,666,60,26903],\n[M,667,42,26946,667,55,26959],\n[M,667,42,26946,667,62,26966],\n[M,667,66,26970,667,86,26990],\n[M,667,67,26971,667,74,26978],\n[M,667,76,26980,667,85,26989],\n[M,668,64,27059,668,110,27105],\n[M,668,65,27060,668,72,27067],\n[M,668,74,27069,668,107,27102],\n[M,668,74,27069,668,109,27104],\n[M,669,12,27122,673,58,27399],\n[M,669,13,27123,669,21,27131],\n[M,670,14,27147,670,86,27219],\n[M,670,15,27148,670,22,27155],\n[M,671,24,27245,671,32,27253],\n[M,672,14,27270,673,57,27398],\n[M,672,15,27271,672,22,27278],\n[M,672,66,27322,672,82,27338],\n[M,673,16,27357,673,48,27389],\n[M,672,57,27313,672,83,27339],\n[M,672,24,27280,672,55,27311],\n[M,671,14,27235,671,33,27254],\n[M,670,51,27184,670,85,27218],\n[M,670,24,27157,670,39,27172],\n[M,668,23,27018,668,114,27109],\n[M,668,36,27031,668,61,27056],\n[M,667,21,26925,667,90,26994],\n[M,667,34,26938,667,63,26967],\n[M,665,10,26823,673,58,27399],\n[M,664,8,26778,680,11,27728],\n[M,675,12,27432,679,34,27716],\n[M,675,13,27433,675,21,27441],\n[M,676,14,27457,676,103,27546],\n[M,676,15,27458,676,22,27465],\n[M,677,14,27562,677,51,27599],\n[M,677,15,27563,677,22,27570],\n[M,677,33,27581,677,49,27597],\n[M,678,14,27615,678,79,27680],\n[M,678,15,27616,678,22,27623],\n[M,678,57,27658,678,70,27671],\n[M,678,57,27658,678,77,27678],\n[M,679,24,27706,679,32,27714],\n[M,679,14,27696,679,33,27715],\n[M,678,24,27625,678,78,27679],\n[M,678,32,27633,678,77,27678],\n[M,677,24,27572,677,50,27598],\n[M,676,24,27467,676,102,27545],\n[M,674,10,27410,679,34,27716],\n[M,664,14,26784,664,20,26790],\n[M,664,22,26792,664,41,26811],\n[M,661,6,26676,681,9,27738],\n[M,663,14,26745,663,37,26768],\n[M,683,4,27752,687,7,27950],\n[M,684,6,27786,686,46,27942],\n[M,684,7,27787,684,15,27795],\n[M,685,8,27805,685,97,27894],\n[M,685,9,27806,685,16,27813],\n[M,686,8,27904,686,45,27941],\n[M,686,9,27905,686,16,27912],\n[M,686,27,27923,686,43,27939],\n[M,686,18,27914,686,44,27940],\n[M,685,18,27815,685,96,27893],\n[M,95,2,2469,95,23,2490],\n[M,95,19,2486,95,22,2489],\n[M,96,2,2493,155,7,5255],\n[M,96,29,2520,96,32,2523],\n[M,156,2,5258,239,7,9334],\n[M,156,35,5291,156,38,5294],\n[M,156,53,5309,156,80,5336],\n[M,240,2,9337,295,7,11904],\n[M,240,33,9368,240,36,9371],\n[M,296,2,11907,330,7,13179],\n[M,296,33,11938,296,36,11941],\n[M,331,2,13182,365,7,14532],\n[M,331,36,13216,331,39,13219],\n[M,366,2,14535,402,8,15826],\n[M,366,29,14562,366,32,14565],\n[M,403,2,15829,436,8,17062],\n[M,403,29,15856,403,32,15859],\n[M,437,2,17065,484,8,19214],\n[M,437,23,17086,437,26,17089],\n[M,437,53,17116,437,65,17128],\n[M,485,2,19217,532,7,21156],\n[M,485,26,19241,485,29,19244],\n[M,485,47,19262,485,61,19276],\n[M,485,82,19297,485,89,19304],\n[M,533,2,21159,574,7,22734],\n[M,533,39,21196,533,42,21199],\n[M,575,2,22737,620,7,24532],\n[M,575,42,22777,575,45,22780],\n[M,623,2,24638,633,7,25210],\n[M,623,29,24665,623,32,24668],\n[M,634,2,25213,658,7,26503],\n[M,634,26,25237,634,29,25240],\n[M,634,51,25262,634,57,25268],\n[M,659,2,26506,687,7,27950],\n[M,659,34,26538,659,37,26541],\n[M,94,0,2450,692,3,28134],\n[M,694,0,28136,1327,3,58277],\n[M,695,22,28232,695,30,28240],\n[M,695,23,28233,695,27,28237],\n[M,696,2,28243,698,5,28344],\n[M,697,21,28311,697,32,28322],\n[M,697,22,28312,697,26,28316],\n[M,697,21,28311,697,48,28338],\n[M,696,30,28271,696,46,28287],\n[M,699,24,28369,699,32,28377],\n[M,699,25,28370,699,29,28374],\n[M,700,2,28380,702,5,28469],\n[M,701,23,28436,701,32,28445],\n[M,701,24,28437,701,28,28441],\n[M,701,23,28436,701,50,28463],\n[M,700,22,28400,700,32,28410],\n[M,703,2,28472,718,5,29064],\n[M,704,4,28503,717,7,29058],\n[M,706,59,28656,706,63,28660],\n[M,706,31,28628,706,75,28672],\n[M,709,61,28816,709,65,28820],\n[M,709,33,28788,709,78,28833],\n[M,711,25,28873,711,57,28905],\n[M,711,42,28890,711,46,28894],\n[M,711,48,28896,711,52,28900],\n[M,711,32,28880,711,53,28901],\n[M,712,63,28970,712,68,28975],\n[M,712,35,28942,712,85,28992],\n[M,713,16,29009,713,21,29014],\n[M,712,13,28920,712,33,28940],\n[M,711,16,28864,711,58,28906],\n[M,709,11,28766,709,30,28785],\n[M,708,13,28698,708,69,28754],\n[M,708,57,28742,708,64,28749],\n[M,706,9,28606,706,28,28625],\n[M,705,11,28543,705,64,28596],\n[M,705,53,28585,705,59,28591],\n[M,719,2,29067,738,5,29868],\n[M,720,4,29104,737,7,29862],\n[M,722,59,29264,722,63,29268],\n[M,722,31,29236,722,75,29280],\n[M,725,61,29424,725,65,29428],\n[M,725,33,29396,725,78,29441],\n[M,728,63,29591,728,67,29595],\n[M,728,35,29563,728,79,29607],\n[M,730,27,29651,730,65,29689],\n[M,730,44,29668,730,48,29672],\n[M,730,50,29674,730,54,29678],\n[M,730,56,29680,730,60,29684],\n[M,730,34,29658,730,61,29685],\n[M,731,65,29756,731,70,29761],\n[M,731,37,29728,731,87,29778],\n[M,732,18,29797,732,23,29802],\n[M,731,15,29706,731,35,29726],\n[M,730,18,29642,730,66,29690],\n[M,728,13,29541,728,32,29560],\n[M,727,15,29471,727,71,29527],\n[M,727,59,29515,727,66,29522],\n[M,725,11,29374,725,30,29393],\n[M,724,13,29306,724,69,29362],\n[M,724,57,29350,724,64,29357],\n[M,722,9,29214,722,28,29233],\n[M,721,11,29151,721,64,29204],\n[M,721,53,29193,721,59,29199],\n[M,739,2,29871,745,5,30022],\n[M,741,6,29943,741,30,29967],\n[M,743,6,29984,743,30,30008],\n[M,743,17,29995,743,29,30007],\n[M,746,2,30025,746,54,30077],\n[M,746,42,30065,746,50,30073],\n[M,746,43,30066,746,47,30070],\n[M,748,4,30086,761,7,30718],\n[M,750,8,30205,759,11,30700],\n[M,753,28,30333,753,33,30338],\n[M,755,61,30440,755,67,30446],\n[M,755,69,30448,755,79,30458],\n[M,755,81,30460,755,96,30475],\n[M,755,25,30404,755,121,30500],\n[M,755,12,30391,755,121,30500],\n[M,754,10,30350,757,13,30644],\n[M,756,64,30565,756,70,30571],\n[M,756,72,30573,756,82,30583],\n[M,756,84,30585,756,99,30600],\n[M,756,28,30529,756,129,30630],\n[M,756,12,30513,756,129,30630],\n[M,754,16,30356,754,29,30369],\n[M,753,19,30324,753,34,30339],\n[M,752,10,30289,752,25,30304],\n[M,749,25,30157,749,56,30188],\n[M,762,4,30724,772,7,31227],\n[M,763,6,30777,770,9,31205],\n[M,766,33,30947,766,110,31024],\n[M,766,10,30924,766,110,31024],\n[M,765,8,30882,769,11,31195],\n[M,767,33,31058,767,100,31125],\n[M,767,10,31035,767,100,31125],\n[M,768,33,31159,768,57,31183],\n[M,768,10,31136,768,57,31183],\n[M,765,14,30888,765,28,30902],\n[M,764,19,30852,764,40,30873],\n[M,773,4,31233,789,7,32122],\n[M,774,6,31299,787,9,32100],\n[M,777,33,31490,777,111,31568],\n[M,777,10,31467,777,111,31568],\n[M,776,8,31425,786,11,32090],\n[M,778,33,31602,778,101,31670],\n[M,778,10,31579,778,101,31670],\n[M,782,37,31818,782,114,31895],\n[M,782,14,31795,782,114,31895],\n[M,781,12,31749,785,15,32078],\n[M,783,37,31933,783,104,32000],\n[M,783,14,31910,783,104,32000],\n[M,784,37,32038,784,61,32062],\n[M,784,14,32015,784,61,32062],\n[M,781,18,31755,781,32,31769],\n[M,780,23,31715,780,44,31736],\n[M,780,12,31704,780,44,31736],\n[M,779,10,31681,785,15,32078],\n[M,776,14,31431,776,28,31445],\n[M,775,19,31395,775,40,31416],\n[M,790,4,32128,800,7,32657],\n[M,791,6,32189,798,9,32635],\n[M,792,19,32264,792,50,32295],\n[M,794,33,32377,794,110,32454],\n[M,794,10,32354,794,110,32454],\n[M,793,8,32312,797,11,32625],\n[M,795,33,32488,795,100,32555],\n[M,795,10,32465,795,100,32555],\n[M,796,33,32589,796,57,32613],\n[M,796,10,32566,796,57,32613],\n[M,793,14,32318,793,28,32332],\n[M,792,19,32264,792,58,32303],\n[M,801,4,32663,818,7,33656],\n[M,802,6,32737,816,9,33634],\n[M,804,19,32857,804,44,32882],\n[M,806,33,33012,806,111,33090],\n[M,806,10,32989,806,111,33090],\n[M,805,8,32947,815,11,33624],\n[M,807,33,33124,807,101,33192],\n[M,807,10,33101,807,101,33192],\n[M,809,23,33237,809,48,33262],\n[M,811,37,33352,811,114,33429],\n[M,811,14,33329,811,114,33429],\n[M,810,12,33283,814,15,33612],\n[M,812,37,33467,812,104,33534],\n[M,812,14,33444,812,104,33534],\n[M,813,37,33572,813,61,33596],\n[M,813,14,33549,813,61,33596],\n[M,810,18,33289,810,32,33303],\n[M,809,23,33237,809,56,33270],\n[M,808,10,33203,814,15,33612],\n[M,805,14,32953,805,28,32967],\n[M,804,19,32857,804,52,32890],\n[M,819,4,33662,829,7,34173],\n[M,820,6,33719,827,9,34151],\n[M,823,33,33889,823,110,33966],\n[M,823,10,33866,823,110,33966],\n[M,822,8,33824,826,11,34141],\n[M,824,33,34000,824,104,34071],\n[M,824,10,33977,824,104,34071],\n[M,825,33,34105,825,57,34129],\n[M,825,10,34082,825,57,34129],\n[M,822,14,33830,822,28,33844],\n[M,821,19,33794,821,40,33815],\n[M,830,4,34179,846,7,35130],\n[M,831,6,34249,844,9,35108],\n[M,834,34,34478,834,112,34556],\n[M,834,10,34454,834,112,34556],\n[M,833,8,34412,843,11,35098],\n[M,835,33,34590,835,105,34662],\n[M,835,10,34567,835,105,34662],\n[M,839,37,34822,839,114,34899],\n[M,839,14,34799,839,114,34899],\n[M,838,12,34753,842,15,35086],\n[M,840,37,34937,840,108,35008],\n[M,840,14,34914,840,108,35008],\n[M,841,37,35046,841,61,35070],\n[M,841,14,35023,841,61,35070],\n[M,838,18,34759,838,32,34773],\n[M,837,23,34719,837,44,34740],\n[M,837,12,34708,837,44,34740],\n[M,836,10,34673,842,15,35086],\n[M,833,14,34418,833,28,34432],\n[M,832,19,34345,832,40,34366],\n[M,847,4,35136,867,7,36270],\n[M,848,6,35212,865,9,36248],\n[M,849,38,35306,849,67,35335],\n[M,849,45,35313,849,63,35331],\n[M,852,75,35475,852,121,35521],\n[M,853,18,35540,853,66,35588],\n[M,852,45,35445,852,73,35473],\n[M,852,15,35415,852,41,35441],\n[M,851,20,35384,851,35,35399],\n[M,851,12,35376,851,35,35399],\n[M,850,10,35348,854,15,35604],\n[M,849,8,35276,864,11,36238],\n[M,857,50,35705,857,130,35785],\n[M,859,50,35875,859,129,35954],\n[M,861,50,36049,861,136,36135],\n[M,862,50,36186,862,74,36210],\n[M,860,16,35971,861,43,36042],\n[M,858,17,35803,858,37,35823],\n[M,857,16,35671,857,39,35694],\n[M,855,10,35615,863,15,36226],\n[M,849,14,35282,849,27,35295],\n[M,849,29,35297,849,68,35336],\n[M,868,4,36276,904,7,38541],\n[M,869,6,36365,902,9,38519],\n[M,870,38,36480,870,67,36509],\n[M,870,45,36487,870,63,36505],\n[M,873,75,36684,873,121,36730],\n[M,874,18,36749,874,66,36797],\n[M,873,45,36654,873,73,36682],\n[M,873,15,36624,873,41,36650],\n[M,872,20,36593,872,35,36608],\n[M,872,12,36585,872,35,36608],\n[M,871,10,36557,875,15,36813],\n[M,870,8,36450,901,11,38509],\n[M,878,51,36916,878,133,36998],\n[M,880,51,37090,880,131,37170],\n[M,882,51,37267,882,139,37355],\n[M,884,46,37429,884,75,37458],\n[M,884,53,37436,884,71,37454],\n[M,887,83,37622,887,129,37668],\n[M,888,26,37695,888,74,37743],\n[M,887,53,37592,887,81,37620],\n[M,887,23,37562,887,49,37588],\n[M,886,28,37523,886,43,37538],\n[M,886,20,37515,886,43,37538],\n[M,885,18,37479,889,23,37767],\n[M,884,16,37399,899,19,38481],\n[M,892,58,37892,892,138,37972],\n[M,894,58,38078,894,137,38157],\n[M,896,58,38268,896,144,38354],\n[M,897,58,38413,897,82,38437],\n[M,895,24,38182,896,51,38261],\n[M,893,25,37998,893,45,38018],\n[M,892,24,37858,892,47,37881],\n[M,890,18,37786,898,23,38461],\n[M,884,22,37405,884,35,37418],\n[M,884,37,37420,884,76,37459],\n[M,881,16,37187,882,44,37260],\n[M,879,17,37016,879,38,37037],\n[M,878,16,36881,878,40,36905],\n[M,876,10,36824,900,15,38497],\n[M,870,14,36456,870,27,36469],\n[M,870,29,36471,870,68,36510],\n[M,905,4,38547,925,7,39700],\n[M,906,6,38627,923,9,39678],\n[M,907,38,38721,907,67,38750],\n[M,907,45,38728,907,63,38746],\n[M,910,75,38890,910,121,38936],\n[M,911,18,38955,911,66,39003],\n[M,910,45,38860,910,73,38888],\n[M,910,15,38830,910,41,38856],\n[M,909,20,38799,909,35,38814],\n[M,909,12,38791,909,35,38814],\n[M,908,10,38763,912,15,39019],\n[M,907,8,38691,922,11,39668],\n[M,915,53,39123,915,133,39203],\n[M,917,53,39295,917,136,39378],\n[M,919,53,39476,919,139,39562],\n[M,920,53,39616,920,77,39640],\n[M,918,16,39395,919,46,39469],\n[M,916,17,39221,916,36,39240],\n[M,915,16,39086,915,39,39109],\n[M,913,10,39030,921,15,39656],\n[M,907,14,38697,907,27,38710],\n[M,907,29,38712,907,68,38751],\n[M,926,4,39706,962,7,42002],\n[M,927,6,39799,960,9,41980],\n[M,928,38,39914,928,67,39943],\n[M,928,45,39921,928,63,39939],\n[M,931,75,40118,931,121,40164],\n[M,932,18,40183,932,66,40231],\n[M,931,45,40088,931,73,40116],\n[M,931,15,40058,931,41,40084],\n[M,930,20,40027,930,35,40042],\n[M,930,12,40019,930,35,40042],\n[M,929,10,39991,933,15,40247],\n[M,928,8,39884,959,11,41970],\n[M,936,54,40353,936,136,40435],\n[M,938,54,40529,938,138,40613],\n[M,940,54,40713,940,142,40801],\n[M,942,46,40875,942,75,40904],\n[M,942,53,40882,942,71,40900],\n[M,945,83,41068,945,129,41114],\n[M,946,26,41141,946,74,41189],\n[M,945,53,41038,945,81,41066],\n[M,945,23,41008,945,49,41034],\n[M,944,28,40969,944,43,40984],\n[M,944,20,40961,944,43,40984],\n[M,943,18,40925,947,23,41213],\n[M,942,16,40845,957,19,41942],\n[M,950,61,41341,950,141,41421],\n[M,952,61,41529,952,144,41612],\n[M,954,61,41726,954,147,41812],\n[M,955,61,41874,955,85,41898],\n[M,953,24,41637,954,54,41719],\n[M,951,25,41447,951,44,41466],\n[M,950,24,41304,950,47,41327],\n[M,948,18,41232,956,23,41922],\n[M,942,22,40851,942,35,40864],\n[M,942,37,40866,942,76,40905],\n[M,939,16,40630,940,47,40706],\n[M,937,17,40453,937,37,40473],\n[M,936,16,40315,936,40,40339],\n[M,934,10,40258,958,15,41958],\n[M,928,14,39890,928,27,39903],\n[M,928,29,39905,928,68,39944],\n[M,963,4,42008,980,7,42855],\n[M,964,6,42075,978,9,42833],\n[M,965,38,42168,965,55,42185],\n[M,965,45,42175,965,51,42181],\n[M,968,75,42325,968,113,42363],\n[M,969,18,42382,969,61,42425],\n[M,968,45,42295,968,73,42323],\n[M,968,15,42265,968,41,42291],\n[M,967,20,42234,967,35,42249],\n[M,967,12,42226,967,35,42249],\n[M,966,10,42198,970,15,42441],\n[M,965,8,42138,977,11,42823],\n[M,973,51,42543,973,120,42612],\n[M,974,51,42664,974,106,42719],\n[M,975,51,42771,975,75,42795],\n[M,974,16,42629,974,32,42645],\n[M,973,16,42508,973,44,42536],\n[M,973,20,42512,973,43,42535],\n[M,971,10,42452,976,15,42811],\n[M,965,14,42144,965,27,42157],\n[M,965,29,42159,965,56,42186],\n[M,981,4,42861,1011,7,44497],\n[M,982,6,42941,1009,9,44475],\n[M,983,38,43055,983,55,43072],\n[M,983,45,43062,983,51,43068],\n[M,986,75,43212,986,113,43250],\n[M,987,18,43269,987,61,43312],\n[M,986,45,43182,986,73,43210],\n[M,986,15,43152,986,41,43178],\n[M,985,20,43121,985,35,43136],\n[M,985,12,43113,985,35,43136],\n[M,984,10,43085,988,15,43328],\n[M,983,8,43025,1008,11,44465],\n[M,991,52,43432,991,123,43503],\n[M,992,52,43556,992,108,43612],\n[M,994,46,43686,994,63,43703],\n[M,994,53,43693,994,59,43699],\n[M,997,83,43867,997,121,43905],\n[M,998,26,43932,998,69,43975],\n[M,997,53,43837,997,81,43865],\n[M,997,23,43807,997,49,43833],\n[M,996,28,43768,996,43,43783],\n[M,996,20,43760,996,43,43783],\n[M,995,18,43724,999,23,43999],\n[M,994,16,43656,1006,19,44437],\n[M,1002,59,44125,1002,128,44194],\n[M,1003,59,44254,1003,114,44309],\n[M,1004,59,44369,1004,83,44393],\n[M,1003,24,44219,1003,40,44235],\n[M,1002,24,44090,1002,52,44118],\n[M,1002,28,44094,1002,51,44117],\n[M,1000,18,44018,1005,23,44417],\n[M,994,22,43662,994,35,43675],\n[M,994,37,43677,994,64,43704],\n[M,992,16,43520,992,33,43537],\n[M,991,16,43396,991,45,43425],\n[M,991,20,43400,991,44,43424],\n[M,989,10,43339,1007,15,44453],\n[M,983,14,43031,983,27,43044],\n[M,983,29,43046,983,56,43073],\n[M,1012,4,44503,1029,7,45357],\n[M,1013,6,44574,1027,9,45335],\n[M,1014,38,44667,1014,55,44684],\n[M,1014,45,44674,1014,51,44680],\n[M,1017,75,44824,1017,113,44862],\n[M,1018,18,44881,1018,61,44924],\n[M,1017,45,44794,1017,73,44822],\n[M,1017,15,44764,1017,41,44790],\n[M,1016,20,44733,1016,35,44748],\n[M,1016,12,44725,1016,35,44748],\n[M,1015,10,44697,1019,15,44940],\n[M,1014,8,44637,1026,11,45325],\n[M,1022,51,45042,1022,120,45111],\n[M,1023,51,45163,1023,109,45221],\n[M,1024,51,45273,1024,75,45297],\n[M,1022,16,45007,1022,44,45035],\n[M,1022,20,45011,1022,43,45034],\n[M,1020,10,44951,1025,15,45313],\n[M,1014,14,44643,1014,27,44656],\n[M,1014,29,44658,1014,56,44685],\n[M,1030,4,45363,1060,7,47009],\n[M,1031,6,45447,1058,9,46987],\n[M,1032,38,45561,1032,55,45578],\n[M,1032,45,45568,1032,51,45574],\n[M,1035,75,45718,1035,113,45756],\n[M,1036,18,45775,1036,61,45818],\n[M,1035,45,45688,1035,73,45716],\n[M,1035,15,45658,1035,41,45684],\n[M,1034,20,45627,1034,35,45642],\n[M,1034,12,45619,1034,35,45642],\n[M,1033,10,45591,1037,15,45834],\n[M,1032,8,45531,1057,11,46977],\n[M,1040,52,45938,1040,123,46009],\n[M,1041,52,46062,1041,111,46121],\n[M,1043,46,46195,1043,63,46212],\n[M,1043,53,46202,1043,59,46208],\n[M,1046,83,46376,1046,121,46414],\n[M,1047,26,46441,1047,69,46484],\n[M,1046,53,46346,1046,81,46374],\n[M,1046,23,46316,1046,49,46342],\n[M,1045,28,46277,1045,43,46292],\n[M,1045,20,46269,1045,43,46292],\n[M,1044,18,46233,1048,23,46508],\n[M,1043,16,46165,1055,19,46949],\n[M,1051,59,46634,1051,128,46703],\n[M,1052,59,46763,1052,117,46821],\n[M,1053,59,46881,1053,83,46905],\n[M,1051,24,46599,1051,52,46627],\n[M,1051,28,46603,1051,51,46626],\n[M,1049,18,46527,1054,23,46929],\n[M,1043,22,46171,1043,35,46184],\n[M,1043,37,46186,1043,64,46213],\n[M,1040,16,45902,1040,45,45931],\n[M,1040,20,45906,1040,44,45930],\n[M,1038,10,45845,1056,15,46965],\n[M,1032,14,45537,1032,27,45550],\n[M,1032,29,45552,1032,56,45579],\n[M,1061,4,47015,1067,7,47229],\n[M,1065,8,47157,1065,57,47206],\n[M,1063,6,47113,1065,58,47207],\n[M,1064,8,47137,1064,18,47147],\n[M,1068,4,47235,1074,7,47461],\n[M,1072,8,47386,1072,60,47438],\n[M,1070,6,47337,1072,61,47439],\n[M,1071,8,47361,1071,23,47376],\n[M,1071,12,47365,1071,22,47375],\n[M,1075,4,47467,1087,7,47916],\n[M,1078,21,47608,1078,78,47665],\n[M,1078,8,47595,1078,78,47665],\n[M,1077,6,47558,1085,9,47894],\n[M,1081,12,47765,1081,64,47817],\n[M,1083,12,47846,1083,36,47870],\n[M,1080,13,47702,1080,62,47751],\n[M,1080,33,47722,1080,55,47744],\n[M,1080,40,47729,1080,54,47743],\n[M,1079,8,47674,1084,13,47884],\n[M,1077,12,47564,1077,25,47577],\n[M,1076,15,47536,1076,30,47551],\n[M,1088,4,47922,1109,7,48795],\n[M,1091,21,48088,1091,79,48146],\n[M,1091,8,48075,1091,79,48146],\n[M,1090,6,48032,1107,9,48773],\n[M,1094,12,48246,1094,65,48299],\n[M,1098,27,48421,1098,84,48478],\n[M,1098,14,48408,1098,84,48478],\n[M,1097,12,48365,1105,15,48749],\n[M,1101,18,48596,1101,70,48648],\n[M,1103,18,48689,1103,42,48713],\n[M,1100,19,48527,1100,68,48576],\n[M,1100,39,48547,1100,61,48569],\n[M,1100,46,48554,1100,60,48568],\n[M,1099,14,48493,1104,19,48733],\n[M,1097,18,48371,1097,31,48384],\n[M,1096,21,48337,1096,36,48352],\n[M,1093,13,48183,1093,62,48232],\n[M,1093,33,48203,1093,55,48225],\n[M,1093,40,48210,1093,54,48224],\n[M,1092,8,48155,1106,13,48763],\n[M,1090,12,48038,1090,25,48051],\n[M,1089,21,48010,1089,36,48025],\n[M,1110,4,48801,1122,7,49252],\n[M,1113,21,48948,1113,79,49006],\n[M,1113,8,48935,1113,79,49006],\n[M,1112,6,48898,1120,9,49230],\n[M,1116,12,49101,1116,64,49153],\n[M,1118,12,49182,1118,36,49206],\n[M,1115,29,49059,1115,51,49081],\n[M,1115,36,49066,1115,50,49080],\n[M,1114,8,49015,1119,13,49220],\n[M,1112,12,48904,1112,25,48917],\n[M,1111,15,48876,1111,30,48891],\n[M,1123,4,49258,1144,7,50129],\n[M,1126,21,49430,1126,80,49489],\n[M,1126,8,49417,1126,80,49489],\n[M,1125,6,49374,1142,9,50107],\n[M,1129,12,49584,1129,65,49637],\n[M,1133,27,49759,1133,85,49817],\n[M,1133,14,49746,1133,85,49817],\n[M,1132,12,49703,1140,15,50083],\n[M,1136,18,49930,1136,70,49982],\n[M,1138,18,50023,1138,42,50047],\n[M,1135,35,49882,1135,57,49904],\n[M,1135,42,49889,1135,56,49903],\n[M,1134,14,49832,1139,19,50067],\n[M,1132,18,49709,1132,31,49722],\n[M,1131,21,49675,1131,36,49690],\n[M,1128,29,49542,1128,51,49564],\n[M,1128,36,49549,1128,50,49563],\n[M,1127,8,49498,1141,13,50097],\n[M,1125,12,49380,1125,25,49393],\n[M,1124,21,49352,1124,36,49367],\n[M,1145,4,50135,1151,7,50375],\n[M,1147,24,50252,1147,66,50294],\n[M,1147,8,50236,1147,66,50294],\n[M,1146,6,50190,1149,9,50353],\n[M,1148,24,50319,1148,48,50343],\n[M,1148,8,50303,1148,48,50343],\n[M,1146,12,50196,1146,25,50209],\n[M,1146,27,50211,1146,42,50226],\n[M,1152,4,50381,1162,7,50797],\n[M,1154,24,50511,1154,67,50554],\n[M,1154,8,50495,1154,67,50554],\n[M,1153,6,50449,1160,9,50775],\n[M,1157,28,50656,1157,70,50698],\n[M,1157,12,50640,1157,70,50698],\n[M,1156,10,50590,1159,13,50765],\n[M,1158,28,50727,1158,52,50751],\n[M,1158,12,50711,1158,52,50751],\n[M,1156,16,50596,1156,29,50609],\n[M,1156,31,50611,1156,46,50626],\n[M,1155,8,50563,1159,13,50765],\n[M,1153,12,50455,1153,25,50468],\n[M,1153,27,50470,1153,42,50485],\n[M,1163,4,50803,1189,7,51922],\n[M,1164,6,50870,1187,12,51900],\n[M,1166,10,50938,1166,66,50994],\n[M,1165,8,50890,1187,11,51899],\n[M,1174,42,51248,1174,66,51272],\n[M,1174,49,51255,1174,62,51268],\n[M,1177,49,51401,1177,77,51429],\n[M,1177,19,51371,1177,45,51397],\n[M,1176,24,51336,1176,39,51351],\n[M,1176,16,51328,1176,39,51351],\n[M,1175,14,51289,1179,19,51533],\n[M,1174,12,51218,1186,15,51887],\n[M,1183,20,51732,1183,36,51748],\n[M,1182,20,51612,1182,48,51640],\n[M,1182,24,51616,1182,47,51639],\n[M,1180,14,51548,1185,19,51871],\n[M,1174,18,51224,1174,31,51237],\n[M,1174,33,51239,1174,67,51273],\n[M,1170,16,51114,1170,37,51135],\n[M,1170,16,51114,1170,31,51129],\n[M,1172,16,51172,1172,31,51187],\n[M,1169,17,51060,1169,53,51096],\n[M,1169,37,51080,1169,52,51095],\n[M,1167,10,51005,1186,15,51887],\n[M,1165,14,50896,1165,27,50909],\n[M,1165,29,50911,1165,44,50926],\n[M,1190,4,51928,1239,7,54436],\n[M,1191,6,52008,1237,12,54414],\n[M,1193,10,52076,1193,67,52133],\n[M,1192,8,52028,1237,11,54413],\n[M,1201,42,52393,1201,72,52423],\n[M,1201,49,52400,1201,68,52419],\n[M,1204,49,52552,1204,77,52580],\n[M,1204,19,52522,1204,45,52548],\n[M,1203,24,52487,1203,39,52502],\n[M,1203,16,52479,1203,39,52502],\n[M,1202,14,52440,1206,19,52684],\n[M,1201,12,52363,1236,15,54401],\n[M,1213,22,53102,1213,78,53158],\n[M,1212,20,53042,1234,23,54365],\n[M,1221,54,53522,1221,84,53552],\n[M,1221,61,53529,1221,80,53548],\n[M,1224,61,53717,1224,89,53745],\n[M,1224,31,53687,1224,57,53713],\n[M,1223,36,53640,1223,51,53655],\n[M,1223,28,53632,1223,51,53655],\n[M,1222,26,53581,1226,31,53873],\n[M,1221,24,53492,1233,27,54341],\n[M,1230,32,54144,1230,54,54166],\n[M,1229,32,53994,1229,66,54028],\n[M,1229,36,53998,1229,65,54027],\n[M,1227,26,53900,1232,31,54313],\n[M,1221,30,53498,1221,43,53511],\n[M,1221,45,53513,1221,85,53553],\n[M,1217,28,53340,1217,49,53361],\n[M,1217,28,53340,1217,43,53355],\n[M,1219,28,53422,1219,43,53437],\n[M,1216,29,53274,1216,65,53310],\n[M,1216,49,53294,1216,64,53309],\n[M,1214,22,53181,1233,27,54341],\n[M,1212,26,53048,1212,39,53061],\n[M,1212,41,53063,1212,56,53078],\n[M,1210,20,52908,1210,42,52930],\n[M,1209,20,52769,1209,54,52803],\n[M,1209,24,52773,1209,53,52802],\n[M,1207,14,52699,1235,19,54385],\n[M,1201,18,52369,1201,31,52382],\n[M,1201,33,52384,1201,73,52424],\n[M,1197,16,52259,1197,37,52280],\n[M,1197,16,52259,1197,31,52274],\n[M,1199,16,52317,1199,31,52332],\n[M,1196,17,52205,1196,53,52241],\n[M,1196,37,52225,1196,52,52240],\n[M,1194,10,52144,1236,15,54401],\n[M,1192,14,52034,1192,27,52047],\n[M,1192,29,52049,1192,44,52064],\n[M,1240,4,54442,1266,7,55558],\n[M,1241,6,54508,1264,12,55536],\n[M,1243,10,54576,1243,66,54632],\n[M,1242,8,54528,1264,11,55535],\n[M,1251,42,54886,1251,66,54910],\n[M,1251,49,54893,1251,62,54906],\n[M,1254,49,55039,1254,77,55067],\n[M,1254,19,55009,1254,45,55035],\n[M,1253,24,54974,1253,39,54989],\n[M,1253,16,54966,1253,39,54989],\n[M,1252,14,54927,1256,19,55171],\n[M,1251,12,54856,1263,15,55523],\n[M,1259,20,55250,1259,48,55278],\n[M,1259,24,55254,1259,47,55277],\n[M,1257,14,55186,1262,19,55507],\n[M,1251,18,54862,1251,31,54875],\n[M,1251,33,54877,1251,67,54911],\n[M,1247,16,54752,1247,37,54773],\n[M,1247,16,54752,1247,31,54767],\n[M,1249,16,54810,1249,31,54825],\n[M,1246,17,54698,1246,53,54734],\n[M,1246,37,54718,1246,52,54733],\n[M,1244,10,54643,1263,15,55523],\n[M,1242,14,54534,1242,27,54547],\n[M,1242,29,54549,1242,44,54564],\n[M,1267,4,55564,1316,7,58066],\n[M,1268,6,55643,1314,12,58044],\n[M,1270,10,55711,1270,67,55768],\n[M,1269,8,55663,1314,11,58043],\n[M,1278,42,56028,1278,72,56058],\n[M,1278,49,56035,1278,68,56054],\n[M,1281,49,56187,1281,77,56215],\n[M,1281,19,56157,1281,45,56183],\n[M,1280,24,56122,1280,39,56137],\n[M,1280,16,56114,1280,39,56137],\n[M,1279,14,56075,1283,19,56319],\n[M,1278,12,55998,1313,15,58031],\n[M,1290,22,56735,1290,78,56791],\n[M,1289,20,56675,1311,23,57995],\n[M,1298,54,57154,1298,84,57184],\n[M,1298,61,57161,1298,80,57180],\n[M,1301,61,57349,1301,89,57377],\n[M,1301,31,57319,1301,57,57345],\n[M,1300,36,57272,1300,51,57287],\n[M,1300,28,57264,1300,51,57287],\n[M,1299,26,57213,1303,31,57505],\n[M,1298,24,57124,1310,27,57971],\n[M,1306,32,57626,1306,66,57660],\n[M,1306,36,57630,1306,65,57659],\n[M,1304,26,57532,1309,31,57943],\n[M,1298,30,57130,1298,43,57143],\n[M,1298,45,57145,1298,85,57185],\n[M,1294,28,56972,1294,49,56993],\n[M,1294,28,56972,1294,43,56987],\n[M,1296,28,57054,1296,43,57069],\n[M,1293,29,56906,1293,65,56942],\n[M,1293,49,56926,1293,64,56941],\n[M,1291,22,56814,1310,27,57971],\n[M,1289,26,56681,1289,39,56694],\n[M,1289,41,56696,1289,56,56711],\n[M,1286,20,56404,1286,54,56438],\n[M,1286,24,56408,1286,53,56437],\n[M,1284,14,56334,1312,19,58015],\n[M,1278,18,56004,1278,31,56017],\n[M,1278,33,56019,1278,73,56059],\n[M,1274,16,55894,1274,37,55915],\n[M,1274,16,55894,1274,31,55909],\n[M,1276,16,55952,1276,31,55967],\n[M,1273,17,55840,1273,53,55876],\n[M,1273,37,55860,1273,52,55875],\n[M,1271,10,55779,1313,15,58031],\n[M,1269,14,55669,1269,27,55682],\n[M,1269,29,55684,1269,44,55699],\n[M,1317,4,58072,1319,7,58138],\n[M,1318,6,58100,1318,21,58115],\n[M,1318,6,58100,1318,36,58130],\n[M,1320,4,58144,1322,7,58193],\n[M,1323,4,58199,1325,7,58269],\n[M,1324,6,58226,1324,26,58246],\n[M,1324,6,58226,1324,41,58261],\n[M,694,43,28179,694,49,28185],\n[M,694,64,28200,694,71,28207],\n[M,1332,0,58461,1398,3,61189],\n[M,1340,21,58658,1382,5,60469],\n[M,1341,20,58740,1358,7,59354],\n[M,1344,21,58877,1344,30,58886],\n[M,1344,42,58898,1344,59,58915],\n[M,1345,20,58946,1345,28,58954],\n[M,1346,19,58979,1346,26,58986],\n[M,1343,26,58852,1347,11,59002],\n[M,1346,19,58979,1346,30,58990],\n[M,1345,20,58946,1345,32,58958],\n[M,1344,21,58877,1344,68,58924],\n[M,1344,21,58877,1344,59,58915],\n[M,1344,21,58877,1344,39,58895],\n[M,1343,8,58834,1347,11,59002],\n[M,1342,6,58804,1357,9,59346],\n[M,1349,18,59039,1349,44,59065],\n[M,1350,14,59080,1350,23,59089],\n[M,1350,35,59101,1350,41,59107],\n[M,1350,35,59101,1350,55,59121],\n[M,1351,36,59187,1351,54,59205],\n[M,1354,20,59280,1354,28,59288],\n[M,1355,19,59313,1355,26,59320],\n[M,1352,10,59232,1356,11,59336],\n[M,1355,19,59313,1355,30,59324],\n[M,1354,20,59280,1354,32,59292],\n[M,1350,14,59080,1351,70,59221],\n[M,1351,14,59165,1351,70,59221],\n[M,1350,14,59080,1350,84,59150],\n[M,1350,14,59080,1350,55,59121],\n[M,1350,14,59080,1350,32,59098],\n[M,1342,12,58810,1342,22,58820],\n[M,1341,50,58770,1341,65,58785],\n[M,1341,50,58770,1341,75,58795],\n[M,1359,20,59375,1359,36,59391],\n[M,1360,35,59457,1360,47,59469],\n[M,1369,14,59854,1369,29,59869],\n[M,1369,41,59881,1369,47,59887],\n[M,1369,41,59881,1369,60,59900],\n[M,1369,70,59910,1369,77,59917],\n[M,1369,96,59936,1369,116,59956],\n[M,1369,135,59975,1369,154,59994],\n[M,1372,9,60091,1372,29,60111],\n[M,1377,15,60244,1377,30,60259],\n[M,1377,44,60273,1377,56,60285],\n[M,1378,14,60317,1378,28,60331],\n[M,1378,31,60334,1378,51,60354],\n[M,1379,14,60370,1379,28,60384],\n[M,1379,31,60387,1379,51,60407],\n[M,1380,13,60422,1380,26,60435],\n[M,1380,29,60438,1380,48,60457],\n[M,1380,13,60422,1380,48,60457],\n[M,1379,14,60370,1379,51,60407],\n[M,1378,14,60317,1378,51,60354],\n[M,1377,15,60244,1377,72,60301],\n[M,1376,15,60186,1376,56,60227],\n[M,1373,12,60133,1373,33,60154],\n[M,1372,9,60091,1372,34,60116],\n[M,1370,30,60035,1370,54,60059],\n[M,1369,14,59854,1369,164,60004],\n[M,1369,14,59854,1369,155,59995],\n[M,1369,126,59966,1369,155,59995],\n[M,1369,14,59854,1369,123,59963],\n[M,1369,14,59854,1369,117,59957],\n[M,1369,87,59927,1369,117,59957],\n[M,1369,14,59854,1369,84,59924],\n[M,1369,14,59854,1369,77,59917],\n[M,1369,14,59854,1369,67,59907],\n[M,1369,14,59854,1369,60,59900],\n[M,1369,14,59854,1369,38,59878],\n[M,1361,6,59477,1361,18,59489],\n[M,1360,21,59443,1368,7,59839],\n[M,1365,34,59681,1365,65,59712],\n[M,1364,8,59550,1367,18,59831],\n[M,1364,8,59550,1366,83,59812],\n[M,1366,12,59741,1366,83,59812],\n[M,1366,34,59763,1366,67,59796],\n[M,1366,48,59777,1366,66,59795],\n[M,1364,8,59550,1365,81,59728],\n[M,1365,12,59659,1365,81,59728],\n[M,1365,34,59681,1365,49,59696],\n[M,1364,8,59550,1364,104,59646],\n[M,1364,8,59550,1364,27,59569],\n[M,1363,16,59527,1363,30,59541],\n[M,1363,8,59519,1363,30,59541],\n[M,1362,6,59496,1367,18,59831],\n[M,1360,27,59449,1360,33,59455],\n[M,1340,57,58694,1340,80,58717],\n[M,1383,6,60476,1383,28,60498],\n[M,1384,4,60546,1384,70,60612],\n[M,1385,11,60624,1385,34,60647],\n[M,1386,19,60710,1386,42,60733],\n[M,1391,4,60910,1391,41,60947],\n[M,1389,43,60846,1389,66,60869],\n[M,1389,8,60811,1389,92,60895],\n[M,1389,8,60811,1389,67,60870],\n[M,1389,34,60837,1389,67,60870],\n[M,1386,19,60710,1386,47,60738],\n[M,1395,15,61004,1395,24,61013],\n[M,1395,53,61042,1395,61,61050],\n[M,1395,89,61078,1395,97,61086],\n[M,1395,133,61122,1395,142,61131],\n[M,1395,169,61158,1395,176,61165],\n[M,1394,4,60985,1396,5,61179],\n[M,1395,15,61004,1395,184,61173],\n[M,1395,15,61004,1395,177,61166],\n[M,1395,160,61149,1395,177,61166],\n[M,1395,15,61004,1395,157,61146],\n[M,1395,15,61004,1395,143,61132],\n[M,1395,124,61113,1395,143,61132],\n[M,1395,15,61004,1395,121,61110],\n[M,1395,15,61004,1395,98,61087],\n[M,1395,80,61069,1395,98,61087],\n[M,1395,15,61004,1395,77,61066],\n[M,1395,15,61004,1395,62,61051],\n[M,1395,44,61033,1395,62,61051],\n[M,1395,15,61004,1395,41,61030],\n[M,1385,46,60659,1385,70,60683],\n[M,1385,46,60659,1385,75,60688],\n[M,1385,11,60624,1385,39,60652],\n[M,1383,40,60510,1383,64,60534],\n[M,1383,40,60510,1383,69,60539],\n[M,1383,6,60476,1383,33,60503],\n[M,1332,37,58498,1332,59,58520],\n[M,1400,0,61191,1402,3,61297],\n[M,1401,33,61265,1401,52,61284],\n[M,1401,2,61234,1401,61,61293],\n[M,1401,2,61234,1401,53,61285],\n[M,1404,0,61299,1406,3,61430],\n[M,1405,2,61385,1405,43,61426],\n[M,1404,48,61347,1404,70,61369],\n[\"dummy location\"],\n[M,19,11,285,19,20,294],\n[M,3,0,13,1406,3,61430]];\nvar to$string1 = R.getModuleField(\"builtin://global\",\"values\",\"to-string\");\nvar is$boolean2 = R.getModuleField(\"builtin://global\",\"values\",\"is-boolean\");\nvar run$task1 = R.getModuleField(\"builtin://global\",\"values\",\"run-task\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$is$roughnum2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-roughnum\");\nvar equal$always37 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always3\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar torepr3 = R.getModuleField(\"builtin://global\",\"values\",\"torepr\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar exn$unwrap2 = R.getModuleField(\"builtin://global\",\"values\",\"exn-unwrap\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar is$function4 = R.getModuleField(\"builtin://global\",\"values\",\"is-function\");\nvar string$contains5 = R.getModuleField(\"builtin://global\",\"values\",\"string-contains\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar either20 = $either31;\nvar $included$121 = $$included$127;\nvar E22 = $E8;\nvar ED23 = $ED12;\nvar $underscore_import24 = $$underscore_import5;\nvar $underscore_import6 = $$underscore_import5;\nvar $included$225 = $$included$225;\nvar $included$326 = $$included$332;\nvar RED27 = $RED33;\nvar SL28 = $SL34;\nvar VS29 = $VS8;\nvar $cases_dispatch5163 = {\"none\":7,\n\"some\":8};\nvar $cases_dispatch5114 = {\"success\":2};\nvar $cases_dispatch4999 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4996 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4993 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4990 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4961 = {\"right\":12,\n\"left\":13};\nvar $cases_dispatch4929 = {\"left\":13,\n\"right\":14};\nvar $cases_dispatch4926 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4897 = {\"right\":15,\n\"left\":16};\nvar $cases_dispatch4850 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4847 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4844 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4815 = {\"right\":12,\n\"left\":13};\nvar $cases_dispatch4781 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch4778 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4746 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4670 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4667 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4635 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4586 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4583 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4580 = {\"left\":9,\n\"right\":10};\nvar $cases_dispatch4577 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4548 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4517 = {\"left\":13,\n\"right\":14};\nvar $cases_dispatch4514 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4485 = {\"right\":15,\n\"left\":16};\nvar $cases_dispatch4438 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4435 = {\"left\":9,\n\"right\":10};\nvar $cases_dispatch4432 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4403 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4370 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch4367 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4336 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4253 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4250 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4219 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4169 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4166 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4153 = {\"right\":8,\n\"left\":9};\nvar $cases_dispatch4125 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4105 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4102 = {\"left\":7,\n\"right\":8};\nvar $cases_dispatch4087 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4049 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4018 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4015 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch3997 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch3959 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch3888 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3885 = {\"right\":8,\n\"left\":9};\nvar $cases_dispatch3856 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3773 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3713 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3710 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch3678 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3598 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3541 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3538 = {\"right\":17,\n\"left\":18};\nvar $cases_dispatch3502 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3420 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3363 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3360 = {\"right\":17,\n\"left\":18};\nvar $cases_dispatch3318 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3218 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3159 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3156 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3143 = {\"Unknown\":8,\n\"Equal\":9,\n\"NotEqual\":10};\nvar $cases_dispatch3103 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3066 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch3063 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch3048 = {\"Unknown\":9,\n\"NotEqual\":10,\n\"Equal\":11};\nvar $cases_dispatch2994 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch2957 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2954 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2942 = {\"Unknown\":8,\n\"NotEqual\":9,\n\"Equal\":10};\nvar $cases_dispatch2893 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2858 = {\"left\":4,\n\"right\":5};\nvar $cases_dispatch2414 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2307 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2169 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2071 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1994 = {\"some\":2,\n\"none\":3};\nvar $cases_dispatch1959 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1956 = {\"some\":7,\n\"none\":8};\nvar $cases_dispatch1941 = {\"some\":13,\n\"none\":14};\nvar $cases_dispatch1840 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1837 = {\"on-left\":7,\n\"on-right\":11,\n\"on-cause\":15,\n\"on-refinement\":19};\nvar $cases_dispatch1834 = {\"some\":2,\n\"none\":6};\nvar $cases_dispatch1823 = {\"some\":29,\n\"none\":30};\nvar $cases_dispatch1812 = {\"on-left\":13,\n\"on-right\":14,\n\"on-cause\":15,\n\"on-refinement\":16};\nvar $cases_dispatch1809 = {\"some\":2,\n\"none\":6};\nvar $cases_dispatch1799 = {\"some\":17,\n\"none\":18};\nvar $cases_dispatch1683 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1537 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1447 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1369 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1312 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch1262 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1258 = {\"s-op-is-not\":14,\n\"s-op-is-not-op\":15};\nvar $cases_dispatch1248 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch1231 = {\"none\":22,\n\"some\":23};\nvar $cases_dispatch1213 = {\"s-op-is-not\":13,\n\"s-op-is-not-op\":14};\nvar $cases_dispatch1198 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch1182 = {\"none\":15,\n\"some\":16};\nvar $cases_dispatch800 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch798 = {\"s-op-is-op\":12,\n\"s-op-is-not-op\":16};\nvar $cases_dispatch785 = {\"s-op-is-op\":13,\n\"s-op-is-not-op\":14};\nvar $cases_dispatch467 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch446 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch443 = {\"s-op-is-roughly\":14,\n\"s-op-is\":18,\n\"s-op-is-op\":19};\nvar $cases_dispatch433 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch417 = {\"none\":26,\n\"some\":27};\nvar $cases_dispatch398 = {\"s-op-is-roughly\":13,\n\"s-op-is\":14,\n\"s-op-is-op\":15};\nvar $cases_dispatch381 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch364 = {\"none\":16,\n\"some\":17};\nvar $cases_dispatch131 = {\"on-cause\":2};\nvar $cases_dispatch112 = {\"on-cause\":2};\nvar $cases_dispatch110 = {\"none\":6,\n\"some\":10};\nvar list6 = R.getModuleField(\"builtin://lists\",\"values\",\"list\");\nvar is$Equal7 = R.getModuleField(\"builtin://equality\",\"values\",\"is-Equal\");\nvar is$Unknown8 = R.getModuleField(\"builtin://equality\",\"values\",\"is-Unknown\");\nvar each9 = R.getModuleField(\"builtin://lists\",\"values\",\"each\");\nvar empty10 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar fold11 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar some12 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar is$some13 = R.getModuleField(\"builtin://option\",\"values\",\"is-some\");\nvar none14 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar Option15 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar is$NotEqual16 = R.getModuleField(\"builtin://equality\",\"values\",\"is-NotEqual\");\nvar map17 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar EqualityResult18 = R.getModuleField(\"builtin://equality\",\"types\",\"EqualityResult\");\nvar List19 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel36 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1947($$resumer13) {\nvar $step35 = 0;\nvar $elidedFrames47 = 0;\nvar $ans44 = D;\nvar $al45 = L[1947];\nif(R.isAR($$resumer13)) {\n$step35 = $$resumer13.step;\n$al45 = $$resumer13.from;\n$ans44 = $$resumer13.ans;\n$elidedFrames47 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nresults$summary5009 = $$resumer13.vars[0];\nis$failure$not$different2634 = $$resumer13.vars[1];\nis$check$block$result283 = $$resumer13.vars[2];\nCheckOperand113 = $$resumer13.vars[3];\nerror$not$boolean$pred2680 = $$resumer13.vars[4];\non$cause267 = $$resumer13.vars[5];\nerror$not$pred2676 = $$resumer13.vars[6];\nrender$check$results5028 = $$resumer13.vars[7];\nfailure$not$dissatisfied2644 = $$resumer13.vars[8];\nis$failure$wrong$exn2646 = $$resumer13.vars[9];\nfailure$raise$not$satisfied2664 = $$resumer13.vars[10];\nreport$value306 = $$resumer13.vars[11];\nis$failure$not$equal2626 = $$resumer13.vars[12];\non$left256 = $$resumer13.vars[13];\nTestResult2715 = $$resumer13.vars[14];\non$refinement264 = $$resumer13.vars[15];\nget$op$fun$name61 = $$resumer13.vars[16];\nis$success2622 = $$resumer13.vars[17];\nis$failure$not$satisfied2638 = $$resumer13.vars[18];\nis$error$not$boolean2670 = $$resumer13.vars[19];\nis$failure$exn2654 = $$resumer13.vars[20];\ncheck$block$result284 = $$resumer13.vars[21];\nis$failure$is$incomparable2630 = $$resumer13.vars[22];\nis$error$not$pred2674 = $$resumer13.vars[23];\nis$TestResult2620 = $$resumer13.vars[24];\nis$failure$not$dissatisfied2642 = $$resumer13.vars[25];\nfailure$not$satisfied2640 = $$resumer13.vars[26];\nfailure$not$different2636 = $$resumer13.vars[27];\nmake$check$context5066 = $$resumer13.vars[28];\nfailure$raise$not$dissatisfied2668 = $$resumer13.vars[29];\nis$failure$no$exn2658 = $$resumer13.vars[30];\nis$on$right258 = $$resumer13.vars[31];\nis$failure$right$exn2650 = $$resumer13.vars[32];\non$right260 = $$resumer13.vars[33];\nis$on$left254 = $$resumer13.vars[34];\nfailure$wrong$exn2648 = $$resumer13.vars[35];\nis$CheckBlockResult282 = $$resumer13.vars[36];\nanswer5225 = $$resumer13.vars[37];\nis$on$refinement262 = $$resumer13.vars[38];\nCheckBlockResult2700 = $$resumer13.vars[39];\nis$CheckOperand252 = $$resumer13.vars[40];\nis$error$not$boolean$pred2678 = $$resumer13.vars[41];\nfailure$not$equal2628 = $$resumer13.vars[42];\nis$failure$raise$not$dissatisfied2666 = $$resumer13.vars[43];\nsuccess2624 = $$resumer13.vars[44];\nfailure$exn2656 = $$resumer13.vars[45];\nerror$not$boolean2672 = $$resumer13.vars[46];\nfailure$is$incomparable2632 = $$resumer13.vars[47];\nLoc274 = $$resumer13.vars[48];\nis$on$cause266 = $$resumer13.vars[49];\nis$failure$raise$not$satisfied2662 = $$resumer13.vars[50];\nfailure$right$exn2652 = $$resumer13.vars[51];\nfailure$no$exn2660 = $$resumer13.vars[52];\nrender$check$results$stack5223 = $$resumer13.vars[53];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans44 = R.mC();\n}\nwhile(!R.isContinuation($ans44)) {\nswitch($step35) {\ncase 0: var CheckOperand48 = R.nB(\"CheckOperand\",L[71]);\nvar CheckOperand113 = R.mBA(CheckOperand48,\"CheckOperand\");\nvar CheckBlockResult49 = R.nB(\"CheckBlockResult\",L[78]);\nvar CheckBlockResult2700 = R.mBA(CheckBlockResult49,\"CheckBlockResult\");\nvar TestResult50 = R.nB(\"TestResult\",L[1134]);\nvar TestResult2715 = R.mBA(TestResult50,\"TestResult\");\nvar Loc274 = R.gDA(L[1946],\"SL\",SL28.dict.types,\"Srcloc\");\nvar get$op$fun$name61 = {\"$var\":D};\nvar CheckOperand250 = {\"$var\":D};\nvar is$CheckOperand252 = {\"$var\":D};\nvar is$on$left254 = {\"$var\":D};\nvar on$left256 = {\"$var\":D};\nvar is$on$right258 = {\"$var\":D};\nvar on$right260 = {\"$var\":D};\nvar is$on$refinement262 = {\"$var\":D};\nvar on$refinement264 = {\"$var\":D};\nvar is$on$cause266 = {\"$var\":D};\nvar on$cause267 = {\"$var\":D};\nvar CheckBlockResult280 = {\"$var\":D};\nvar is$CheckBlockResult282 = {\"$var\":D};\nvar is$check$block$result283 = {\"$var\":D};\nvar check$block$result284 = {\"$var\":D};\nvar report$value306 = {\"$var\":D};\nvar TestResult2618 = {\"$var\":D};\nvar is$TestResult2620 = {\"$var\":D};\nvar is$success2622 = {\"$var\":D};\nvar success2624 = {\"$var\":D};\nvar is$failure$not$equal2626 = {\"$var\":D};\nvar failure$not$equal2628 = {\"$var\":D};\nvar is$failure$is$incomparable2630 = {\"$var\":D};\nvar failure$is$incomparable2632 = {\"$var\":D};\nvar is$failure$not$different2634 = {\"$var\":D};\nvar failure$not$different2636 = {\"$var\":D};\nvar is$failure$not$satisfied2638 = {\"$var\":D};\nvar failure$not$satisfied2640 = {\"$var\":D};\nvar is$failure$not$dissatisfied2642 = {\"$var\":D};\nvar failure$not$dissatisfied2644 = {\"$var\":D};\nvar is$failure$wrong$exn2646 = {\"$var\":D};\nvar failure$wrong$exn2648 = {\"$var\":D};\nvar is$failure$right$exn2650 = {\"$var\":D};\nvar failure$right$exn2652 = {\"$var\":D};\nvar is$failure$exn2654 = {\"$var\":D};\nvar failure$exn2656 = {\"$var\":D};\nvar is$failure$no$exn2658 = {\"$var\":D};\nvar failure$no$exn2660 = {\"$var\":D};\nvar is$failure$raise$not$satisfied2662 = {\"$var\":D};\nvar failure$raise$not$satisfied2664 = {\"$var\":D};\nvar is$failure$raise$not$dissatisfied2666 = {\"$var\":D};\nvar failure$raise$not$dissatisfied2668 = {\"$var\":D};\nvar is$error$not$boolean2670 = {\"$var\":D};\nvar error$not$boolean2672 = {\"$var\":D};\nvar is$error$not$pred2674 = {\"$var\":D};\nvar error$not$pred2676 = {\"$var\":D};\nvar is$error$not$boolean$pred2678 = {\"$var\":D};\nvar error$not$boolean$pred2680 = {\"$var\":D};\nvar make$check$context5066 = {\"$var\":D};\nvar results$summary5009 = {\"$var\":D};\nvar render$check$results5028 = {\"$var\":D};\nvar render$check$results$stack5223 = {\"$var\":D};\nvar $temp_lam52 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__0($opname53) {\nvar $step51 = 0;\nvar $elidedFrames57 = 0;\nvar $ans54 = D;\nvar $al55 = L[0];\nif(R.isAR($opname53)) {\n$step51 = $opname53.step;\n$al55 = $opname53.from;\n$ans54 = $opname53.ans;\n$elidedFrames57 = $opname53.elidedFrames;\nopname53 = $opname53.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar opname53 = $opname53;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans54 = R.mC();\n}\nwhile(!R.isContinuation($ans54)) {\nswitch($step51) {\ncase 0: $step51 = 1;\n$al55 = L[5];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op==\"));\nbreak;\ncase 1: var anf_if1097 = $ans54;\n$step51 = R.checkPyretTrue(anf_if1097)?2:3;\nbreak;\ncase 2: $step51 = 11;\n$ans54 = (\"equal-always\");\nbreak;\ncase 3: $step51 = 4;\n$al55 = L[4];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op=~\"));\nbreak;\ncase 4: var anf_if1068 = $ans54;\n$step51 = R.checkPyretTrue(anf_if1068)?5:6;\nbreak;\ncase 5: $step51 = 11;\n$ans54 = (\"equal-now\");\nbreak;\ncase 6: $step51 = 7;\n$al55 = L[3];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op<=>\"));\nbreak;\ncase 7: var anf_if58 = $ans54;\n$step51 = R.checkPyretTrue(anf_if58)?8:9;\nbreak;\ncase 8: $step51 = 11;\n$ans54 = (\"identical\");\nbreak;\ncase 9: $step51 = 10;\n$al55 = L[2];\n// omitting isFunction check;\n$ans54 = _plus5.app((\"Unknown op: \"),opname53);\nbreak;\ncase 10: var anf_arg1079 = $ans54;\n$step51 = 11;\n$al55 = L[1];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,raise1);\n}\n$ans54 = raise1.app(anf_arg1079);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans54;\ndefault: R.ffi.throwSpinnakerError(L[0],$step51);\n}\n}\nif($step51 !== 11) {\n$ans54.stack[R.EXN_STACKHEIGHT++] = R.mAR($al55,$temp_lam52,$step51,[opname53],[],$elidedFrames57);\n}\nreturn $ans54;\n};\nvar anf_assign1765 = R.mF($temp_lam52,\"get-op-fun-name\");\nget$op$fun$name61.$var = anf_assign1765;\nR.nothing;\nvar $temp_full65 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__6($self225,$test$ast66) {\nvar $step64 = 0;\nvar $elidedFrames75 = 0;\nvar $ans72 = D;\nvar $al73 = L[6];\nif(R.isAR($self225)) {\n$step64 = $self225.step;\n$al73 = $self225.from;\n$ans72 = $self225.ans;\n$elidedFrames75 = $self225.elidedFrames;\nself225 = $self225.args[0];\ntest$ast66 = $self225.args[1];\ncases76 = $self225.vars[0];\ncases77 = $self225.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],2,$t,true);\n}\nvar self225 = $self225;\nvar test$ast66 = $test$ast66;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans72 = R.mC();\n}\nwhile(!R.isContinuation($ans72)) {\nswitch($step64) {\ncase 0: var cases76 = self225;\n$step64 = 1;\n$al73 = L[38];\nvar $ann$check116 = R._cA(L[38],CheckOperand113,cases76);\nif(R.isContinuation($ann$check116)) {\n$ans72 = $ann$check116;\n}\nbreak;\ncase 1: $al73 = L[10];\n$step64 = $cases_dispatch112[cases76.$name] || 4;\nbreak;\ncase 2: if(cases76.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[9],false,L[10],cases76.$loc);\n}\n$step64 = 3;\n$al73 = L[8];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"text\"]);\n}\n$ans72 = ED23.dict.values.dict[\"text\"].app((\"because\"));\nbreak;\ncase 3: var anf_arg1092 = $ans72;\n$step64 = 12;\n$al73 = L[7];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"code\"]);\n}\n$ans72 = ED23.dict.values.dict[\"code\"].app(anf_arg1092);\nbreak;\ncase 4: $al73 = L[11];\nvar cases77 = G(test$ast66,\"refinement\",L[11]);\n$step64 = 5;\n$al73 = L[37];\nvar $ann$check111 = R._cA(L[37],Option15,cases77);\nif(R.isContinuation($ann$check111)) {\n$ans72 = $ann$check111;\n}\nbreak;\ncase 5: $al73 = L[18];\n$step64 = $cases_dispatch110[cases77.$name] || 11;\nbreak;\ncase 6: if(cases77.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[17],false,L[18],cases77.$loc);\n}\n$al73 = L[12];\nvar anf_method_obj78 = G(test$ast66,\"op\",L[12]);\n$step64 = 7;\n$ans72 = R.maybeMethodCall0(anf_method_obj78,\"tosource\",L[13]);\nbreak;\ncase 7: var anf_method_obj79 = $ans72;\n$step64 = 8;\n$ans72 = R.maybeMethodCall1(anf_method_obj79,\"pretty\",L[14],(80));\nbreak;\ncase 8: var anf_method_obj80 = $ans72;\n$step64 = 9;\n$ans72 = R.maybeMethodCall1(anf_method_obj80,\"map\",L[15],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 9: var anf_arg1806 = $ans72;\n$step64 = 12;\n$al73 = L[16];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans72 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg1806,(\"\"));\nbreak;\ncase 10: if(cases77.$arity !== 1) {\nif(cases77.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[36],1,cases77.$arity,L[18],cases77.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[36],true,L[18],cases77.$loc);\n}\n}\n$step64 = 12;\n$al73 = L[36];\nvar $temp_branch89 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__18($e85) {\nvar $step93 = 0;\nvar $elidedFrames100 = 0;\nvar $ans97 = D;\nvar $al98 = L[20];\nif(R.isAR($e85)) {\n$step93 = $e85.step;\n$al98 = $e85.from;\n$ans97 = $e85.ans;\n$elidedFrames100 = $e85.elidedFrames;\ne85 = $e85.args[0];\nanf_fun1601 = $e85.vars[0];\nanf_arg1142 = $e85.vars[1];\nanf_arg1168 = $e85.vars[2];\nanf_arg1612 = $e85.vars[3];\nanf_arg1668 = $e85.vars[4];\n} else {\nvar e85 = $e85;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans97 = R.mC();\n}\nwhile(!R.isContinuation($ans97)) {\nswitch($step93) {\ncase 0: $ans97 = R.getMaker4(ED23.dict.values.dict[\"sequence\"],(\"make4\"),L[19],L[20]);\nvar anf_fun1601 = $ans97;\n$al98 = L[21];\nvar anf_method_obj81 = G(test$ast66,\"op\",L[21]);\n$step93 = 1;\n$ans97 = R.maybeMethodCall0(anf_method_obj81,\"tosource\",L[22]);\nbreak;\ncase 1: var anf_method_obj82 = $ans97;\n$step93 = 2;\n$ans97 = R.maybeMethodCall1(anf_method_obj82,\"pretty\",L[23],(80));\nbreak;\ncase 2: var anf_method_obj83 = $ans97;\n$step93 = 3;\n$ans97 = R.maybeMethodCall1(anf_method_obj83,\"map\",L[24],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 3: var anf_arg84 = $ans97;\n$step93 = 4;\n$al98 = L[35];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans97 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg84,(\"\"));\nbreak;\ncase 4: var anf_arg1612 = $ans97;\n$step93 = 5;\n$al98 = L[34];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"text\"]);\n}\n$ans97 = ED23.dict.values.dict[\"text\"].app((\"%(\"));\nbreak;\ncase 5: var anf_arg1142 = $ans97;\n$step93 = 6;\n$ans97 = R.maybeMethodCall0(e85,\"tosource\",L[25]);\nbreak;\ncase 6: var anf_method_obj86 = $ans97;\n$step93 = 7;\n$ans97 = R.maybeMethodCall1(anf_method_obj86,\"pretty\",L[26],(80));\nbreak;\ncase 7: var anf_method_obj87 = $ans97;\n$step93 = 8;\n$ans97 = R.maybeMethodCall1(anf_method_obj87,\"map\",L[27],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 8: var anf_arg1816 = $ans97;\n$step93 = 9;\n$al98 = L[33];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans97 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg1816,(\"\"));\nbreak;\ncase 9: var anf_arg1168 = $ans97;\n$ans97 = R.getMaker1(list6,(\"make1\"),L[28],L[29]);\nvar anf_fun1670 = $ans97;\n$al98 = L[30];\nvar anf_arg88 = G(e85,\"l\",L[30]);\n$step93 = 10;\n$al98 = L[29];\nif(typeof(anf_fun1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,anf_fun1670);\n}\n$ans97 = anf_fun1670.app(anf_arg88);\nbreak;\ncase 10: var anf_arg1172 = $ans97;\n$step93 = 11;\n$al98 = L[32];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans97 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1168,anf_arg1172,(1));\nbreak;\ncase 11: var anf_arg1668 = $ans97;\n$step93 = 12;\n$al98 = L[31];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"text\"]);\n}\n$ans97 = ED23.dict.values.dict[\"text\"].app((\")\"));\nbreak;\ncase 12: var anf_arg1176 = $ans97;\n$step93 = 13;\n$al98 = L[20];\nif(typeof(anf_fun1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,anf_fun1601);\n}\n$ans97 = anf_fun1601.app(anf_arg1612,anf_arg1142,anf_arg1668,anf_arg1176);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans97;\ndefault: R.ffi.throwSpinnakerError(L[20],$step93);\n}\n}\nif($step93 !== 13) {\n$ans97.stack[R.EXN_STACKHEIGHT++] = R.mAR($al98,$temp_branch89,$step93,[e85],[anf_fun1601,anf_arg1142,anf_arg1168,anf_arg1612,anf_arg1668],$elidedFrames100);\n}\nreturn $ans97;\n};\n$ans72 = cases77.$app_fields($temp_branch89,[false]);\nbreak;\ncase 11: $ans72 = R.throwNoCasesMatched(L[18],cases77);\n$step64 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans72;\ndefault: R.ffi.throwSpinnakerError(L[6],$step64);\n}\n}\nif($step64 !== 12) {\n$ans72.stack[R.EXN_STACKHEIGHT++] = R.mAR($al73,$temp_full65,$step64,[self225,test$ast66],[cases76,cases77],$elidedFrames75);\n}\nreturn $ans72;\n};\nvar anf_shared220 = R.makeMethod1($temp_full65,\"test-op\");\nvar $temp_full119 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__39($self120,$test$ast121) {\nvar $step118 = 0;\nvar $elidedFrames128 = 0;\nvar $ans125 = D;\nvar $al126 = L[39];\nif(R.isAR($self120)) {\n$step118 = $self120.step;\n$al126 = $self120.from;\n$ans125 = $self120.ans;\n$elidedFrames128 = $self120.elidedFrames;\nself120 = $self120.args[0];\ntest$ast121 = $self120.args[1];\nanf_fun1669 = $self120.vars[0];\ncases129 = $self120.vars[1];\nanf_arg1844 = $self120.vars[2];\nanf_arg1838 = $self120.vars[3];\nanf_fun130 = $self120.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],2,$t,true);\n}\nvar self120 = $self120;\nvar test$ast121 = $test$ast121;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans125 = R.mC();\n}\nwhile(!R.isContinuation($ans125)) {\nswitch($step118) {\ncase 0: var cases129 = self120;\n$step118 = 1;\n$al126 = L[51];\nvar $ann$check132 = R._cA(L[51],CheckOperand113,cases129);\nif(R.isContinuation($ann$check132)) {\n$ans125 = $ann$check132;\n}\nbreak;\ncase 1: $al126 = L[44];\n$step118 = $cases_dispatch131[cases129.$name] || 4;\nbreak;\ncase 2: if(cases129.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[43],false,L[44],cases129.$loc);\n}\n$ans125 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[40],L[41]);\nvar anf_fun130 = $ans125;\n$step118 = 3;\n$al126 = L[42];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\"The test was inconsistent: the expected answer and the explanation do not match for the test:\"));\nbreak;\ncase 3: var anf_arg1671 = $ans125;\n$step118 = 9;\n$al126 = L[41];\nif(typeof(anf_fun130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,anf_fun130);\n}\n$ans125 = anf_fun130.app(anf_arg1671);\nbreak;\ncase 4: $ans125 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[45],L[46]);\nvar anf_fun1669 = $ans125;\n$step118 = 5;\n$al126 = L[50];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\"The test operator \"));\nbreak;\ncase 5: var anf_arg1838 = $ans125;\n$step118 = 6;\n$ans125 = R.maybeMethodCall1(self120,\"test-op\",L[47],test$ast121);\nbreak;\ncase 6: var anf_arg1841 = $ans125;\n$step118 = 7;\n$al126 = L[49];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"code\"]);\n}\n$ans125 = ED23.dict.values.dict[\"code\"].app(anf_arg1841);\nbreak;\ncase 7: var anf_arg1844 = $ans125;\n$step118 = 8;\n$al126 = L[48];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\" failed for the test:\"));\nbreak;\ncase 8: var anf_arg1198 = $ans125;\n$step118 = 9;\n$al126 = L[46];\nif(typeof(anf_fun1669.app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,anf_fun1669);\n}\n$ans125 = anf_fun1669.app(anf_arg1838,anf_arg1844,anf_arg1198);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans125;\ndefault: R.ffi.throwSpinnakerError(L[39],$step118);\n}\n}\nif($step118 !== 9) {\n$ans125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al126,$temp_full119,$step118,[self120,test$ast121],[anf_fun1669,cases129,anf_arg1844,anf_arg1838,anf_fun130],$elidedFrames128);\n}\nreturn $ans125;\n};\nvar anf_shared221 = R.makeMethod1($temp_full119,\"test-preamble\");\nvar $temp_full135 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__52($self351) {\nvar $step134 = 0;\nvar $elidedFrames139 = 0;\nvar $ans136 = D;\nvar $al137 = L[52];\nif(R.isAR($self351)) {\n$step134 = $self351.step;\n$al137 = $self351.from;\n$ans136 = $self351.ans;\n$elidedFrames139 = $self351.elidedFrames;\nself351 = $self351.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[52],1,$t,true);\n}\nvar self351 = $self351;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans136 = R.mC();\n}\nwhile(!R.isContinuation($ans136)) {\nswitch($step134) {\ncase 0: $step134 = 1;\n$ans136 = (\"left side\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans136;\ndefault: R.ffi.throwSpinnakerError(L[52],$step134);\n}\n}\nif($step134 !== 1) {\n$ans136.stack[R.EXN_STACKHEIGHT++] = R.mAR($al137,$temp_full135,$step134,[self351],[],$elidedFrames139);\n}\nreturn $ans136;\n};\nvar anf_singleton_variant_member225 = R.makeMethod0($temp_full135,\"side\");\nvar $temp_full146 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__53($self157,$test$ast147) {\nvar $step145 = 0;\nvar $elidedFrames153 = 0;\nvar $ans150 = D;\nvar $al151 = L[53];\nif(R.isAR($self157)) {\n$step145 = $self157.step;\n$al151 = $self157.from;\n$ans150 = $self157.ans;\n$elidedFrames153 = $self157.elidedFrames;\nself157 = $self157.args[0];\ntest$ast147 = $self157.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,true);\n}\nvar self157 = $self157;\nvar test$ast147 = $test$ast147;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans150 = R.mC();\n}\nwhile(!R.isContinuation($ans150)) {\nswitch($step145) {\ncase 0: $step145 = 1;\n$al151 = L[54];\n$ans150 = G(test$ast147,\"left\",L[54]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans150;\ndefault: R.ffi.throwSpinnakerError(L[53],$step145);\n}\n}\nif($step145 !== 1) {\n$ans150.stack[R.EXN_STACKHEIGHT++] = R.mAR($al151,$temp_full146,$step145,[self157,test$ast147],[],$elidedFrames153);\n}\nreturn $ans150;\n};\nvar anf_singleton_variant_member226 = R.makeMethod1($temp_full146,\"test-component\");\nvar $temp_full162 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__55($self171) {\nvar $step161 = 0;\nvar $elidedFrames167 = 0;\nvar $ans164 = D;\nvar $al165 = L[55];\nif(R.isAR($self171)) {\n$step161 = $self171.step;\n$al165 = $self171.from;\n$ans164 = $self171.ans;\n$elidedFrames167 = $self171.elidedFrames;\nself171 = $self171.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[55],1,$t,true);\n}\nvar self171 = $self171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans164 = R.mC();\n}\nwhile(!R.isContinuation($ans164)) {\nswitch($step161) {\ncase 0: $step161 = 1;\n$ans164 = (\"right side\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans164;\ndefault: R.ffi.throwSpinnakerError(L[55],$step161);\n}\n}\nif($step161 !== 1) {\n$ans164.stack[R.EXN_STACKHEIGHT++] = R.mAR($al165,$temp_full162,$step161,[self171],[],$elidedFrames167);\n}\nreturn $ans164;\n};\nvar anf_singleton_variant_member232 = R.makeMethod0($temp_full162,\"side\");\nvar $temp_full172 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__56($self173,$test$ast174) {\nvar $step171 = 0;\nvar $elidedFrames178 = 0;\nvar $ans175 = D;\nvar $al176 = L[56];\nif(R.isAR($self173)) {\n$step171 = $self173.step;\n$al176 = $self173.from;\n$ans175 = $self173.ans;\n$elidedFrames178 = $self173.elidedFrames;\nself173 = $self173.args[0];\ntest$ast174 = $self173.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[56],2,$t,true);\n}\nvar self173 = $self173;\nvar test$ast174 = $test$ast174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans175 = R.mC();\n}\nwhile(!R.isContinuation($ans175)) {\nswitch($step171) {\ncase 0: $al176 = L[57];\nvar anf_bracket179 = G(test$ast174,\"right\",L[57]);\n$step171 = 1;\n$al176 = L[58];\n$ans175 = G(anf_bracket179,\"value\",L[58]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans175;\ndefault: R.ffi.throwSpinnakerError(L[56],$step171);\n}\n}\nif($step171 !== 1) {\n$ans175.stack[R.EXN_STACKHEIGHT++] = R.mAR($al176,$temp_full172,$step171,[self173,test$ast174],[],$elidedFrames178);\n}\nreturn $ans175;\n};\nvar anf_singleton_variant_member233 = R.makeMethod1($temp_full172,\"test-component\");\nvar $temp_full182 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__59($self409) {\nvar $step181 = 0;\nvar $elidedFrames186 = 0;\nvar $ans183 = D;\nvar $al184 = L[59];\nif(R.isAR($self409)) {\n$step181 = $self409.step;\n$al184 = $self409.from;\n$ans183 = $self409.ans;\n$elidedFrames186 = $self409.elidedFrames;\nself409 = $self409.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],1,$t,true);\n}\nvar self409 = $self409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans183 = R.mC();\n}\nwhile(!R.isContinuation($ans183)) {\nswitch($step181) {\ncase 0: $step181 = 1;\n$ans183 = (\"refinement\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans183;\ndefault: R.ffi.throwSpinnakerError(L[59],$step181);\n}\n}\nif($step181 !== 1) {\n$ans183.stack[R.EXN_STACKHEIGHT++] = R.mAR($al184,$temp_full182,$step181,[self409],[],$elidedFrames186);\n}\nreturn $ans183;\n};\nvar anf_singleton_variant_member239 = R.makeMethod0($temp_full182,\"side\");\nvar $temp_full191 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__60($self192,$test$ast193) {\nvar $step190 = 0;\nvar $elidedFrames197 = 0;\nvar $ans194 = D;\nvar $al195 = L[60];\nif(R.isAR($self192)) {\n$step190 = $self192.step;\n$al195 = $self192.from;\n$ans194 = $self192.ans;\n$elidedFrames197 = $self192.elidedFrames;\nself192 = $self192.args[0];\ntest$ast193 = $self192.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],2,$t,true);\n}\nvar self192 = $self192;\nvar test$ast193 = $test$ast193;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans194 = R.mC();\n}\nwhile(!R.isContinuation($ans194)) {\nswitch($step190) {\ncase 0: $al195 = L[61];\nvar anf_bracket198 = G(test$ast193,\"refinement\",L[61]);\n$step190 = 1;\n$al195 = L[62];\n$ans194 = G(anf_bracket198,\"value\",L[62]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans194;\ndefault: R.ffi.throwSpinnakerError(L[60],$step190);\n}\n}\nif($step190 !== 1) {\n$ans194.stack[R.EXN_STACKHEIGHT++] = R.mAR($al195,$temp_full191,$step190,[self192,test$ast193],[],$elidedFrames197);\n}\nreturn $ans194;\n};\nvar anf_singleton_variant_member240 = R.makeMethod1($temp_full191,\"test-component\");\nvar $temp_full201 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__63($self338) {\nvar $step200 = 0;\nvar $elidedFrames205 = 0;\nvar $ans202 = D;\nvar $al203 = L[63];\nif(R.isAR($self338)) {\n$step200 = $self338.step;\n$al203 = $self338.from;\n$ans202 = $self338.ans;\n$elidedFrames205 = $self338.elidedFrames;\nself338 = $self338.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[63],1,$t,true);\n}\nvar self338 = $self338;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans202 = R.mC();\n}\nwhile(!R.isContinuation($ans202)) {\nswitch($step200) {\ncase 0: $step200 = 1;\n$ans202 = (\"explanation\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans202;\ndefault: R.ffi.throwSpinnakerError(L[63],$step200);\n}\n}\nif($step200 !== 1) {\n$ans202.stack[R.EXN_STACKHEIGHT++] = R.mAR($al203,$temp_full201,$step200,[self338],[],$elidedFrames205);\n}\nreturn $ans202;\n};\nvar anf_singleton_variant_member246 = R.makeMethod0($temp_full201,\"side\");\nvar $temp_full210 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__64($self212,$test$ast211) {\nvar $step209 = 0;\nvar $elidedFrames215 = 0;\nvar $ans212 = D;\nvar $al213 = L[64];\nif(R.isAR($self212)) {\n$step209 = $self212.step;\n$al213 = $self212.from;\n$ans212 = $self212.ans;\n$elidedFrames215 = $self212.elidedFrames;\nself212 = $self212.args[0];\ntest$ast211 = $self212.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[64],2,$t,true);\n}\nvar self212 = $self212;\nvar test$ast211 = $test$ast211;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans212 = R.mC();\n}\nwhile(!R.isContinuation($ans212)) {\nswitch($step209) {\ncase 0: $al213 = L[65];\nvar anf_bracket216 = G(test$ast211,\"cause\",L[65]);\n$step209 = 1;\n$al213 = L[66];\n$ans212 = G(anf_bracket216,\"value\",L[66]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans212;\ndefault: R.ffi.throwSpinnakerError(L[64],$step209);\n}\n}\nif($step209 !== 1) {\n$ans212.stack[R.EXN_STACKHEIGHT++] = R.mAR($al213,$temp_full210,$step209,[self212,test$ast211],[],$elidedFrames215);\n}\nreturn $ans212;\n};\nvar anf_singleton_variant_member247 = R.makeMethod1($temp_full210,\"test-component\");\nvar $on$left_getfields228 = function variant(f) {\nreturn f();\n};\nvar $on$left_mutablemask227 = [];\nvar $on$left$base222 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member225,\n\"test-component\":anf_singleton_variant_member226,\n\"_match\":R.mM(\"on-left\",0)};\nvar $on$left$brander223 = R.nB(\"on-left\",L[67]);\nvar $on$left$brands224 = {};\n$on$left$brands224[CheckOperand48._brand] = true;\n$on$left$brands224[$on$left$brander223._brand] = true;\nvar $on$right_getfields235 = function variant(f) {\nreturn f();\n};\nvar $on$right_mutablemask234 = [];\nvar $on$right$base229 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member232,\n\"test-component\":anf_singleton_variant_member233,\n\"_match\":R.mM(\"on-right\",0)};\nvar $on$right$brander230 = R.nB(\"on-right\",L[68]);\nvar $on$right$brands231 = {};\n$on$right$brands231[CheckOperand48._brand] = true;\n$on$right$brands231[$on$right$brander230._brand] = true;\nvar $on$refinement_getfields242 = function variant(f) {\nreturn f();\n};\nvar $on$refinement_mutablemask241 = [];\nvar $on$refinement$base236 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member239,\n\"test-component\":anf_singleton_variant_member240,\n\"_match\":R.mM(\"on-refinement\",0)};\nvar $on$refinement$brander237 = R.nB(\"on-refinement\",L[69]);\nvar $on$refinement$brands238 = {};\n$on$refinement$brands238[CheckOperand48._brand] = true;\n$on$refinement$brands238[$on$refinement$brander237._brand] = true;\nvar $on$cause_getfields249 = function variant(f) {\nreturn f();\n};\nvar $on$cause_mutablemask248 = [];\nvar $on$cause$base243 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member246,\n\"test-component\":anf_singleton_variant_member247,\n\"_match\":R.mM(\"on-cause\",0)};\nvar $on$cause$brander244 = R.nB(\"on-cause\",L[70]);\nvar $on$cause$brands245 = {};\n$on$cause$brands245[CheckOperand48._brand] = true;\n$on$cause$brands245[$on$cause$brander244._brand] = true;\nvar anf_assign1229 = R.mO({\"CheckOperand\":G(CheckOperand48,\"test\",L[71]),\n\"is-on-left\":G($on$left$brander223,\"test\",L[67]),\n\"on-left\":R.mDV($on$left$base222,$on$left$brands224,\"on-left\",$on$left_getfields228,-1,$on$left_mutablemask227,$on$left$base222,false,L[67]),\n\"is-on-right\":G($on$right$brander230,\"test\",L[68]),\n\"on-right\":R.mDV($on$right$base229,$on$right$brands231,\"on-right\",$on$right_getfields235,-1,$on$right_mutablemask234,$on$right$base229,false,L[68]),\n\"is-on-refinement\":G($on$refinement$brander237,\"test\",L[69]),\n\"on-refinement\":R.mDV($on$refinement$base236,$on$refinement$brands238,\"on-refinement\",$on$refinement_getfields242,-1,$on$refinement_mutablemask241,$on$refinement$base236,false,L[69]),\n\"is-on-cause\":G($on$cause$brander244,\"test\",L[70]),\n\"on-cause\":R.mDV($on$cause$base243,$on$cause$brands245,\"on-cause\",$on$cause_getfields249,-1,$on$cause_mutablemask248,$on$cause$base243,false,L[70])});\nCheckOperand250.$var = anf_assign1229;\nR.nothing;\n$al45 = L[71];\nvar anf_assign251 = G(CheckOperand250.$var,\"CheckOperand\",L[71]);\nis$CheckOperand252.$var = anf_assign251;\nR.nothing;\n$al45 = L[67];\nvar anf_assign253 = G(CheckOperand250.$var,\"is-on-left\",L[67]);\nis$on$left254.$var = anf_assign253;\nR.nothing;\n$al45 = L[67];\nvar anf_assign255 = G(CheckOperand250.$var,\"on-left\",L[67]);\non$left256.$var = anf_assign255;\nR.nothing;\n$al45 = L[68];\nvar anf_assign257 = G(CheckOperand250.$var,\"is-on-right\",L[68]);\nis$on$right258.$var = anf_assign257;\nR.nothing;\n$al45 = L[68];\nvar anf_assign259 = G(CheckOperand250.$var,\"on-right\",L[68]);\non$right260.$var = anf_assign259;\nR.nothing;\n$al45 = L[69];\nvar anf_assign261 = G(CheckOperand250.$var,\"is-on-refinement\",L[69]);\nis$on$refinement262.$var = anf_assign261;\nR.nothing;\n$al45 = L[69];\nvar anf_assign263 = G(CheckOperand250.$var,\"on-refinement\",L[69]);\non$refinement264.$var = anf_assign263;\nR.nothing;\n$al45 = L[70];\nvar anf_assign265 = G(CheckOperand250.$var,\"is-on-cause\",L[70]);\nis$on$cause266.$var = anf_assign265;\nR.nothing;\n$al45 = L[70];\nvar anf_assign1257 = G(CheckOperand250.$var,\"on-cause\",L[70]);\non$cause267.$var = anf_assign1257;\nR.nothing;\nvar $check$block$result_getfields272 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"loc\"],this.dict[\"keyword-check\"],this.dict[\"test-results\"],this.dict[\"maybe-err\"]);\n};\nvar $check$block$result_mutablemask271 = [false,false,false,false,false];\nvar $check$block$result$base268 = {\"$fieldNames\":[\"name\",\"loc\",\"keyword-check\",\"test-results\",\"maybe-err\"],\n\"_match\":R.mM(\"check-block-result\",5)};\nvar $check$block$result$brander269 = R.nB(\"check-block-result\",L[72]);\nvar $check$block$result$brands270 = {};\n$check$block$result$brands270[CheckBlockResult49._brand] = true;\n$check$block$result$brands270[$check$block$result$brander269._brand] = true;\nvar check$block$result273 = R.mVC(L[72],function $synthesizedConstructor_$check$block$result$base() {\nreturn [$type$String8,Loc274,$type$Boolean6,List19,Option15];\n},[\"name275\",\"loc276\",\"keyword$check277\",\"test$results278\",\"maybe$err279\"],[L[73],L[74],L[75],L[76],L[77]],[false,false,false,false,false],[\"name275\",\"loc276\",\"keyword$check277\",\"test$results278\",\"maybe$err279\"],$check$block$result_mutablemask271,$check$block$result$base268,$check$block$result$brands270,\"check-block-result\",$check$block$result_getfields272,$check$block$result$base268);\nvar anf_assign1264 = R.mO({\"CheckBlockResult\":G(CheckBlockResult49,\"test\",L[78]),\n\"is-check-block-result\":G($check$block$result$brander269,\"test\",L[72]),\n\"check-block-result\":check$block$result273});\nCheckBlockResult280.$var = anf_assign1264;\nR.nothing;\n$al45 = L[78];\nvar anf_assign281 = G(CheckBlockResult280.$var,\"CheckBlockResult\",L[78]);\nis$CheckBlockResult282.$var = anf_assign281;\nR.nothing;\n$al45 = L[72];\nvar anf_assign1886 = G(CheckBlockResult280.$var,\"is-check-block-result\",L[72]);\nis$check$block$result283.$var = anf_assign1886;\nR.nothing;\n$al45 = L[72];\nvar anf_assign1274 = G(CheckBlockResult280.$var,\"check-block-result\",L[72]);\ncheck$block$result284.$var = anf_assign1274;\nR.nothing;\nvar $temp_lam286 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__79($operand287,$value288) {\nvar $step285 = 0;\nvar $elidedFrames292 = 0;\nvar $ans289 = D;\nvar $al290 = L[79];\nif(R.isAR($operand287)) {\n$step285 = $operand287.step;\n$al290 = $operand287.from;\n$ans289 = $operand287.ans;\n$elidedFrames292 = $operand287.elidedFrames;\noperand287 = $operand287.args[0];\nvalue288 = $operand287.args[1];\nanf_fun1714 = $operand287.vars[0];\nanf_fun1702 = $operand287.vars[1];\nanf_arg1703 = $operand287.vars[2];\nanf_arg303 = $operand287.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,false);\n}\nvar operand287 = $operand287;\nvar value288 = $value288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans289 = R.mC();\n}\nwhile(!R.isContinuation($ans289)) {\nswitch($step285) {\ncase 0: $ans289 = R.getMaker2(ED23.dict.values.dict[\"sequence\"],(\"make2\"),L[80],L[81]);\nvar anf_fun1714 = $ans289;\n$ans289 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[82],L[83]);\nvar anf_fun1702 = $ans289;\n$step285 = 1;\n$al290 = L[86];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"text\"]);\n}\n$ans289 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg1703 = $ans289;\n$step285 = 2;\n$al290 = L[85];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"text\"]);\n}\n$ans289 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 2: var anf_arg1942 = $ans289;\n$step285 = 3;\n$al290 = L[83];\nif(typeof(anf_fun1702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,anf_fun1702);\n}\n$ans289 = anf_fun1702.app(anf_arg1703,operand287,anf_arg1942);\nbreak;\ncase 3: var anf_arg303 = $ans289;\n$step285 = 4;\n$al290 = L[84];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"embed\"]);\n}\n$ans289 = ED23.dict.values.dict[\"embed\"].app(value288);\nbreak;\ncase 4: var anf_arg1922 = $ans289;\n$step285 = 5;\n$al290 = L[81];\nif(typeof(anf_fun1714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,anf_fun1714);\n}\n$ans289 = anf_fun1714.app(anf_arg303,anf_arg1922);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans289;\ndefault: R.ffi.throwSpinnakerError(L[79],$step285);\n}\n}\nif($step285 !== 5) {\n$ans289.stack[R.EXN_STACKHEIGHT++] = R.mAR($al290,$temp_lam286,$step285,[operand287,value288],[anf_fun1714,anf_fun1702,anf_arg1703,anf_arg303],$elidedFrames292);\n}\nreturn $ans289;\n};\nvar anf_assign305 = R.mF($temp_lam286,\"report-value\");\nreport$value306.$var = anf_assign305;\nR.nothing;\nvar $temp_full308 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__87($self2001,$stack$getter309) {\nvar $step307 = 0;\nvar $elidedFrames313 = 0;\nvar $ans310 = D;\nvar $al311 = L[87];\nif(R.isAR($self2001)) {\n$step307 = $self2001.step;\n$al311 = $self2001.from;\n$ans310 = $self2001.ans;\n$elidedFrames313 = $self2001.elidedFrames;\nself2001 = $self2001.args[0];\nstack$getter309 = $self2001.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[87],2,$t,true);\n}\nvar self2001 = $self2001;\nvar stack$getter309 = $stack$getter309;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans310 = R.mC();\n}\nwhile(!R.isContinuation($ans310)) {\nswitch($step307) {\ncase 0: $step307 = 1;\n$ans310 = empty10;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans310;\ndefault: R.ffi.throwSpinnakerError(L[87],$step307);\n}\n}\nif($step307 !== 1) {\n$ans310.stack[R.EXN_STACKHEIGHT++] = R.mAR($al311,$temp_full308,$step307,[self2001,stack$getter309],[],$elidedFrames313);\n}\nreturn $ans310;\n};\nvar anf_shared2430 = R.makeMethod1($temp_full308,\"access-stack\");\nvar $temp_full318 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__88($self345,$maybe$stack$loc346,$src$available347,$maybe$ast348) {\nvar $step317 = 0;\nvar $elidedFrames324 = 0;\nvar $ans321 = D;\nvar $al322 = L[88];\nif(R.isAR($self345)) {\n$step317 = $self345.step;\n$al322 = $self345.from;\n$ans321 = $self345.ans;\n$elidedFrames324 = $self345.elidedFrames;\nself345 = $self345.args[0];\nmaybe$stack$loc346 = $self345.args[1];\nsrc$available347 = $self345.args[2];\nmaybe$ast348 = $self345.args[3];\ncases326 = $self345.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],4,$t,true);\n}\nvar self345 = $self345;\nvar maybe$stack$loc346 = $maybe$stack$loc346;\nvar src$available347 = $src$available347;\nvar maybe$ast348 = $maybe$ast348;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans321 = R.mC();\n}\nwhile(!R.isContinuation($ans321)) {\nswitch($step317) {\ncase 0: $al322 = L[89];\nvar anf_method_obj325 = G(self345,\"loc\",L[89]);\n$step317 = 1;\n$ans321 = R.maybeMethodCall0(anf_method_obj325,\"is-builtin\",L[90]);\nbreak;\ncase 1: var anf_if1320 = $ans321;\n$step317 = R.checkPyretTrue(anf_if1320)?2:3;\nbreak;\ncase 2: $step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[91]);\nbreak;\ncase 3: $al322 = L[92];\nvar anf_arg1316 = G(self345,\"loc\",L[92]);\n$step317 = 4;\n$al322 = L[173];\nif(typeof(src$available347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al322,src$available347);\n}\n$ans321 = src$available347.app(anf_arg1316);\nbreak;\ncase 4: var anf_if448 = $ans321;\n$step317 = R.checkPyretTrue(anf_if448)?5:11;\nbreak;\ncase 5: $al322 = L[93];\nvar anf_arg1710 = G(self345,\"loc\",L[93]);\n$step317 = 6;\n$al322 = L[171];\nif(typeof(maybe$ast348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al322,maybe$ast348);\n}\n$ans321 = maybe$ast348.app(anf_arg1710);\nbreak;\ncase 6: var cases326 = $ans321;\n$step317 = 7;\n$al322 = L[170];\nvar $ann$check447 = R._cA(L[170],Option15,cases326);\nif(R.isContinuation($ann$check447)) {\n$ans321 = $ann$check447;\n}\nbreak;\ncase 7: $al322 = L[167];\n$step317 = $cases_dispatch446[cases326.$name] || 10;\nbreak;\ncase 8: if(cases326.$arity !== 1) {\nif(cases326.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[166],1,cases326.$arity,L[167],cases326.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[166],true,L[167],cases326.$loc);\n}\n}\n$step317 = 12;\n$al322 = L[166];\nvar $temp_branch400 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__167($test$ast328) {\nvar $step402 = 0;\nvar $elidedFrames406 = 0;\nvar $ans403 = D;\nvar $al404 = L[94];\nif(R.isAR($test$ast328)) {\n$step402 = $test$ast328.step;\n$al404 = $test$ast328.from;\n$ans403 = $test$ast328.ans;\n$elidedFrames406 = $test$ast328.elidedFrames;\ntest$ast328 = $test$ast328.args[0];\nanf_arg2054 = $test$ast328.vars[0];\nanf_arg1464 = $test$ast328.vars[1];\ncases339 = $test$ast328.vars[2];\nanf_arg1458 = $test$ast328.vars[3];\nanf_arg1337 = $test$ast328.vars[4];\nanf_arg1427 = $test$ast328.vars[5];\nanf_arg346 = $test$ast328.vars[6];\ned$lhs341 = $test$ast328.vars[7];\nanf_arg1718 = $test$ast328.vars[8];\nlhs$ast332 = $test$ast328.vars[9];\nanf_fun340 = $test$ast328.vars[10];\nanf_fun345 = $test$ast328.vars[11];\ned$rhs342 = $test$ast328.vars[12];\nrhs$ast334 = $test$ast328.vars[13];\nanf_fun348 = $test$ast328.vars[14];\nanf_arg2094 = $test$ast328.vars[15];\n} else {\nvar test$ast328 = $test$ast328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans403 = R.mC();\n}\nwhile(!R.isContinuation($ans403)) {\nswitch($step402) {\ncase 0: $al404 = L[94];\nvar anf_method_obj327 = G(self345,\"left-src\",L[94]);\n$step402 = 1;\n$ans403 = R.maybeMethodCall1(anf_method_obj327,\"test-component\",L[95],test$ast328);\nbreak;\ncase 1: var lhs$ast332 = $ans403;\n$al404 = L[96];\nvar anf_method_obj330 = G(self345,\"right-src\",L[96]);\n$step402 = 2;\n$ans403 = R.maybeMethodCall1(anf_method_obj330,\"test-component\",L[97],test$ast328);\nbreak;\ncase 2: var rhs$ast334 = $ans403;\n$al404 = L[98];\nvar anf_method_obj331 = G(self345,\"left-src\",L[98]);\n$step402 = 3;\n$ans403 = R.maybeMethodCall0(anf_method_obj331,\"side\",L[99]);\nbreak;\ncase 3: var anf_arg1939 = $ans403;\n$step402 = 4;\n$al404 = L[165];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app(anf_arg1939);\nbreak;\ncase 4: var anf_arg1337 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[100],L[101]);\nvar anf_fun1734 = $ans403;\n$al404 = L[102];\nvar anf_arg1957 = G(lhs$ast332,\"l\",L[102]);\n$step402 = 5;\n$al404 = L[101];\nif(typeof(anf_fun1734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun1734);\n}\n$ans403 = anf_fun1734.app(anf_arg1957);\nbreak;\ncase 5: var anf_arg1723 = $ans403;\n$step402 = 6;\n$al404 = L[164];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans403 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1337,anf_arg1723,(3));\nbreak;\ncase 6: var ed$lhs341 = $ans403;\n$al404 = L[103];\nvar anf_method_obj333 = G(self345,\"right-src\",L[103]);\n$step402 = 7;\n$ans403 = R.maybeMethodCall0(anf_method_obj333,\"side\",L[104]);\nbreak;\ncase 7: var anf_arg1376 = $ans403;\n$step402 = 8;\n$al404 = L[163];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app(anf_arg1376);\nbreak;\ncase 8: var anf_arg1718 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[105],L[106]);\nvar anf_fun335 = $ans403;\n$al404 = L[107];\nvar anf_arg1365 = G(rhs$ast334,\"l\",L[107]);\n$step402 = 9;\n$al404 = L[106];\nif(typeof(anf_fun335.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun335);\n}\n$ans403 = anf_fun335.app(anf_arg1365);\nbreak;\ncase 9: var anf_arg1719 = $ans403;\n$step402 = 10;\n$al404 = L[162];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans403 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1718,anf_arg1719,(4));\nbreak;\ncase 10: var ed$rhs342 = $ans403;\n$al404 = L[108];\nvar anf_method_obj337 = G(self345,\"left-src\",L[108]);\n$step402 = 11;\n$ans403 = R.maybeMethodCall1(anf_method_obj337,\"test-op\",L[109],test$ast328);\nbreak;\ncase 11: $ans403 = R.getMaker5(ED23.dict.values.dict[\"error\"],(\"make5\"),L[110],L[111]);\nvar anf_fun345 = $ans403;\n$al404 = L[112];\nvar anf_method_obj338 = G(self345,\"left-src\",L[112]);\n$step402 = 12;\n$ans403 = R.maybeMethodCall1(anf_method_obj338,\"test-preamble\",L[113],test$ast328);\nbreak;\ncase 12: var anf_arg2054 = $ans403;\n$al404 = L[114];\nvar anf_arg1739 = G(self345,\"loc\",L[114]);\n$step402 = 13;\n$al404 = L[161];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans403 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1739);\nbreak;\ncase 13: var anf_arg346 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[115],L[116]);\nvar anf_fun340 = $ans403;\n$al404 = L[117];\nvar cases339 = G(test$ast328,\"op\",L[117]);\n$al404 = L[128];\n$step402 = $cases_dispatch443[cases339.$name] || 20;\nbreak;\ncase 14: if(cases339.$arity !== 1) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[127],1,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[127],true,L[128],cases339.$loc);\n}\n}\nvar $fn408 = cases339.$constructor.$fieldNames;\nR.dF(cases339.dict[$fn408[0]],cases339.$mut_fields_mask[0],false);\n$ans403 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[122],L[123]);\nvar anf_fun348 = $ans403;\n$step402 = 15;\n$al404 = L[126];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 15: var anf_arg2094 = $ans403;\n$step402 = 16;\n$al404 = L[125];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 16: var anf_arg1427 = $ans403;\n$step402 = 17;\n$al404 = L[124];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\" are equal (allowing for rough equality).\"));\nbreak;\ncase 17: var anf_arg1730 = $ans403;\n$step402 = 21;\n$al404 = L[123];\nif(typeof(anf_fun348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun348);\n}\n$ans403 = anf_fun348.app(anf_arg2094,ed$lhs341,anf_arg1427,ed$rhs342,anf_arg1730);\nbreak;\ncase 18: if(cases339.$arity !== 1) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[150],1,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[150],true,L[128],cases339.$loc);\n}\n}\n$step402 = 21;\n$al404 = L[150];\nvar $temp_branch419 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__128($$underscore372) {\nvar $step420 = 0;\nvar $elidedFrames424 = 0;\nvar $ans421 = D;\nvar $al422 = L[136];\nif(R.isAR($$underscore372)) {\n$step420 = $$underscore372.step;\n$al422 = $$underscore372.from;\n$ans421 = $$underscore372.ans;\n$elidedFrames424 = $$underscore372.elidedFrames;\n$underscore372 = $$underscore372.args[0];\ncases352 = $$underscore372.vars[0];\nanf_fun353 = $$underscore372.vars[1];\nanf_arg1414 = $$underscore372.vars[2];\nanf_arg1416 = $$underscore372.vars[3];\n} else {\nvar $underscore372 = $$underscore372;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans421 = R.mC();\n}\nwhile(!R.isContinuation($ans421)) {\nswitch($step420) {\ncase 0: $al422 = L[129];\nvar cases352 = G(test$ast328,\"refinement\",L[129]);\n$step420 = 1;\n$al422 = L[149];\nvar $ann$check434 = R._cA(L[149],Option15,cases352);\nif(R.isContinuation($ann$check434)) {\n$ans421 = $ann$check434;\n}\nbreak;\ncase 1: $al422 = L[136];\n$step420 = $cases_dispatch433[cases352.$name] || 7;\nbreak;\ncase 2: if(cases352.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[135],false,L[136],cases352.$loc);\n}\n$ans421 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[130],L[131]);\nvar anf_fun353 = $ans421;\n$step420 = 3;\n$al422 = L[134];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 3: var anf_arg1414 = $ans421;\n$step420 = 4;\n$al422 = L[133];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 4: var anf_arg1416 = $ans421;\n$step420 = 5;\n$al422 = L[132];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\" are equal.\"));\nbreak;\ncase 5: var anf_arg1417 = $ans421;\n$step420 = 8;\n$al422 = L[131];\nif(typeof(anf_fun353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,anf_fun353);\n}\n$ans421 = anf_fun353.app(anf_arg1414,ed$lhs341,anf_arg1416,ed$rhs342,anf_arg1417);\nbreak;\ncase 6: if(cases352.$arity !== 1) {\nif(cases352.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[148],1,cases352.$arity,L[136],cases352.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[148],true,L[136],cases352.$loc);\n}\n}\n$step420 = 8;\n$al422 = L[148];\nvar $temp_branch425 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__136($e354) {\nvar $step426 = 0;\nvar $elidedFrames430 = 0;\nvar $ans427 = D;\nvar $al428 = L[138];\nif(R.isAR($e354)) {\n$step426 = $e354.step;\n$al428 = $e354.from;\n$ans427 = $e354.ans;\n$elidedFrames430 = $e354.elidedFrames;\ne354 = $e354.args[0];\nanf_fun1770 = $e354.vars[0];\nanf_array356 = $e354.vars[1];\nanf_arg1764 = $e354.vars[2];\n} else {\nvar e354 = $e354;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans427 = R.mC();\n}\nwhile(!R.isContinuation($ans427)) {\nswitch($step426) {\ncase 0: $ans427 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[137],L[138]);\nvar anf_fun1770 = $ans427;\n$ans427 = R.makeArrayN((7));\nvar anf_array356 = $ans427;\n$step426 = 1;\n$al428 = L[147];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 1: anf_array356[0] = $ans427;\n$step426 = 2;\n$al428 = L[146];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 2: var anf_arg1764 = $ans427;\n$ans427 = R.getMaker1(list6,(\"make1\"),L[139],L[140]);\nvar anf_fun355 = $ans427;\n$al428 = L[141];\nvar anf_arg1755 = G(e354,\"l\",L[141]);\n$step426 = 3;\n$al428 = L[140];\nif(typeof(anf_fun355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,anf_fun355);\n}\n$ans427 = anf_fun355.app(anf_arg1755);\nbreak;\ncase 3: var anf_arg1466 = $ans427;\n$step426 = 4;\n$al428 = L[145];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans427 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1764,anf_arg1466,(1));\nbreak;\ncase 4: anf_array356[1] = $ans427;\n$step426 = 5;\n$al428 = L[144];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the \"));\nbreak;\ncase 5: anf_array356[2] = $ans427;\nanf_array356[3] = ed$lhs341;\n$step426 = 6;\n$al428 = L[143];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array356[4] = $ans427;\nanf_array356[5] = ed$rhs342;\n$step426 = 7;\n$al428 = L[142];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" are applied to it.\"));\nbreak;\ncase 7: anf_array356[6] = $ans427;\n$step426 = 8;\n$al428 = L[138];\nif(typeof(anf_fun1770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,anf_fun1770);\n}\n$ans427 = anf_fun1770.app(anf_array356);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans427;\ndefault: R.ffi.throwSpinnakerError(L[138],$step426);\n}\n}\nif($step426 !== 8) {\n$ans427.stack[R.EXN_STACKHEIGHT++] = R.mAR($al428,$temp_branch425,$step426,[e354],[anf_fun1770,anf_array356,anf_arg1764],$elidedFrames430);\n}\nreturn $ans427;\n};\n$ans421 = cases352.$app_fields($temp_branch425,[false]);\nbreak;\ncase 7: $ans421 = R.throwNoCasesMatched(L[136],cases352);\n$step420 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans421;\ndefault: R.ffi.throwSpinnakerError(L[136],$step420);\n}\n}\nif($step420 !== 8) {\n$ans421.stack[R.EXN_STACKHEIGHT++] = R.mAR($al422,$temp_branch419,$step420,[$underscore372],[cases352,anf_fun353,anf_arg1414,anf_arg1416],$elidedFrames424);\n}\nreturn $ans421;\n};\n$ans403 = cases339.$app_fields($temp_branch419,[false]);\nbreak;\ncase 19: if(cases339.$arity !== 2) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[160],2,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[160],true,L[128],cases339.$loc);\n}\n}\n$step402 = 21;\n$al404 = L[160];\nvar $temp_branch436 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__128($$underscore396,$op386) {\nvar $step437 = 0;\nvar $elidedFrames441 = 0;\nvar $ans438 = D;\nvar $al439 = L[152];\nif(R.isAR($$underscore396)) {\n$step437 = $$underscore396.step;\n$al439 = $$underscore396.from;\n$ans438 = $$underscore396.ans;\n$elidedFrames441 = $$underscore396.elidedFrames;\n$underscore396 = $$underscore396.args[0];\nop386 = $$underscore396.args[1];\nanf_fun387 = $$underscore396.vars[0];\nanf_array388 = $$underscore396.vars[1];\n} else {\nvar $underscore396 = $$underscore396;\nvar op386 = $op386;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans438 = R.mC();\n}\nwhile(!R.isContinuation($ans438)) {\nswitch($step437) {\ncase 0: $ans438 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[151],L[152]);\nvar anf_fun387 = $ans438;\n$ans438 = R.makeArrayN((7));\nvar anf_array388 = $ans438;\n$step437 = 1;\n$al439 = L[159];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the predicate \"));\nbreak;\ncase 1: anf_array388[0] = $ans438;\n$step437 = 2;\n$al439 = L[158];\n// omitting isFunction check;\n$ans438 = get$op$fun$name61.$var.app(op386);\nbreak;\ncase 2: var anf_arg1444 = $ans438;\n$step437 = 3;\n$al439 = L[157];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app(anf_arg1444);\nbreak;\ncase 3: var anf_arg1445 = $ans438;\n$step437 = 4;\n$al439 = L[156];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"code\"]);\n}\n$ans438 = ED23.dict.values.dict[\"code\"].app(anf_arg1445);\nbreak;\ncase 4: anf_array388[1] = $ans438;\n$step437 = 5;\n$al439 = L[155];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the \"));\nbreak;\ncase 5: anf_array388[2] = $ans438;\nanf_array388[3] = ed$lhs341;\n$step437 = 6;\n$al439 = L[154];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array388[4] = $ans438;\nanf_array388[5] = ed$rhs342;\n$step437 = 7;\n$al439 = L[153];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" are applied to it.\"));\nbreak;\ncase 7: anf_array388[6] = $ans438;\n$step437 = 8;\n$al439 = L[152];\nif(typeof(anf_fun387.app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,anf_fun387);\n}\n$ans438 = anf_fun387.app(anf_array388);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans438;\ndefault: R.ffi.throwSpinnakerError(L[152],$step437);\n}\n}\nif($step437 !== 8) {\n$ans438.stack[R.EXN_STACKHEIGHT++] = R.mAR($al439,$temp_branch436,$step437,[$underscore396,op386],[anf_fun387,anf_array388],$elidedFrames441);\n}\nreturn $ans438;\n};\n$ans403 = cases339.$app_fields($temp_branch436,[false,false]);\nbreak;\ncase 20: $ans403 = R.throwNoCasesMatched(L[128],cases339);\n$step402 = 21;\nbreak;\ncase 21: var anf_arg1452 = $ans403;\n$step402 = 22;\n$al404 = L[116];\nif(typeof(anf_fun340.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun340);\n}\n$ans403 = anf_fun340.app(anf_arg1452);\nbreak;\ncase 22: var anf_arg1458 = $ans403;\n$al404 = L[118];\nvar anf_arg1462 = G(self345,\"left\",L[118]);\n$step402 = 23;\n$al404 = L[121];\n// omitting isFunction check;\n$ans403 = report$value306.$var.app(ed$lhs341,anf_arg1462);\nbreak;\ncase 23: var anf_arg1464 = $ans403;\n$al404 = L[119];\nvar anf_arg344 = G(self345,\"right\",L[119]);\n$step402 = 24;\n$al404 = L[120];\n// omitting isFunction check;\n$ans403 = report$value306.$var.app(ed$rhs342,anf_arg344);\nbreak;\ncase 24: var anf_arg347 = $ans403;\n$step402 = 25;\n$al404 = L[111];\nif(typeof(anf_fun345.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun345);\n}\n$ans403 = anf_fun345.app(anf_arg2054,anf_arg346,anf_arg1458,anf_arg1464,anf_arg347);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans403;\ndefault: R.ffi.throwSpinnakerError(L[94],$step402);\n}\n}\nif($step402 !== 25) {\n$ans403.stack[R.EXN_STACKHEIGHT++] = R.mAR($al404,$temp_branch400,$step402,[test$ast328],[anf_arg2054,anf_arg1464,cases339,anf_arg1458,anf_arg1337,anf_arg1427,anf_arg346,ed$lhs341,anf_arg1718,lhs$ast332,anf_fun340,anf_fun345,ed$rhs342,rhs$ast334,anf_fun348,anf_arg2094],$elidedFrames406);\n}\nreturn $ans403;\n};\n$ans321 = cases326.$app_fields($temp_branch400,[false]);\nbreak;\ncase 9: if(cases326.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[169],false,L[167],cases326.$loc);\n}\n$step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[168]);\nbreak;\ncase 10: $ans321 = R.throwNoCasesMatched(L[167],cases326);\n$step317 = 12;\nbreak;\ncase 11: $step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[172]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans321;\ndefault: R.ffi.throwSpinnakerError(L[88],$step317);\n}\n}\nif($step317 !== 12) {\n$ans321.stack[R.EXN_STACKHEIGHT++] = R.mAR($al322,$temp_full318,$step317,[self345,maybe$stack$loc346,src$available347,maybe$ast348],[cases326],$elidedFrames324);\n}\nreturn $ans321;\n};\nvar anf_variant_member2441 = R.makeMethod3($temp_full318,\"render-fancy-reason\");\nvar $temp_full453 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__174($self454) {\nvar $step452 = 0;\nvar $elidedFrames458 = 0;\nvar $ans455 = D;\nvar $al456 = L[174];\nif(R.isAR($self454)) {\n$step452 = $self454.step;\n$al456 = $self454.from;\n$ans455 = $self454.ans;\n$elidedFrames458 = $self454.elidedFrames;\nself454 = $self454.args[0];\ncases459 = $self454.vars[0];\nanf_arg1488 = $self454.vars[1];\nanf_arg463 = $self454.vars[2];\nanf_fun460 = $self454.vars[3];\nanf_fun461 = $self454.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[174],1,$t,true);\n}\nvar self454 = $self454;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans455 = R.mC();\n}\nwhile(!R.isContinuation($ans455)) {\nswitch($step452) {\ncase 0: $ans455 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[175],L[176]);\nvar anf_fun461 = $ans455;\n$ans455 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[177],L[178]);\nvar anf_fun460 = $ans455;\n$al456 = L[179];\nvar cases459 = G(self454,\"refinement\",L[179]);\n$step452 = 1;\n$al456 = L[189];\nvar $ann$check468 = R._cA(L[189],Option15,cases459);\nif(R.isContinuation($ann$check468)) {\n$ans455 = $ann$check468;\n}\nbreak;\ncase 1: $al456 = L[186];\n$step452 = $cases_dispatch467[cases459.$name] || 4;\nbreak;\ncase 2: if(cases459.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[185],false,L[186],cases459.$loc);\n}\n$step452 = 5;\n$al456 = L[184];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"text\"]);\n}\n$ans455 = ED23.dict.values.dict[\"text\"].app((\"Values not equal\"));\nbreak;\ncase 3: if(cases459.$arity !== 1) {\nif(cases459.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[188],1,cases459.$arity,L[186],cases459.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[188],true,L[186],cases459.$loc);\n}\n}\nvar $fn465 = cases459.$constructor.$fieldNames;\nR.dF(cases459.dict[$fn465[0]],cases459.$mut_fields_mask[0],false);\n$step452 = 5;\n$al456 = L[187];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"text\"]);\n}\n$ans455 = ED23.dict.values.dict[\"text\"].app((\"Values not equal (using custom equality):\"));\nbreak;\ncase 4: $ans455 = R.throwNoCasesMatched(L[186],cases459);\n$step452 = 5;\nbreak;\ncase 5: var anf_arg1500 = $ans455;\n$step452 = 6;\n$al456 = L[178];\nif(typeof(anf_fun460.app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,anf_fun460);\n}\n$ans455 = anf_fun460.app(anf_arg1500);\nbreak;\ncase 6: var anf_arg463 = $ans455;\n$al456 = L[180];\nvar anf_arg1487 = G(self454,\"left\",L[180]);\n$step452 = 7;\n$al456 = L[183];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"embed\"]);\n}\n$ans455 = ED23.dict.values.dict[\"embed\"].app(anf_arg1487);\nbreak;\ncase 7: var anf_arg1488 = $ans455;\n$al456 = L[181];\nvar anf_arg1489 = G(self454,\"right\",L[181]);\n$step452 = 8;\n$al456 = L[182];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"embed\"]);\n}\n$ans455 = ED23.dict.values.dict[\"embed\"].app(anf_arg1489);\nbreak;\ncase 8: var anf_arg1490 = $ans455;\n$step452 = 9;\n$al456 = L[176];\nif(typeof(anf_fun461.app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,anf_fun461);\n}\n$ans455 = anf_fun461.app(anf_arg463,anf_arg1488,anf_arg1490);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans455;\ndefault: R.ffi.throwSpinnakerError(L[174],$step452);\n}\n}\nif($step452 !== 9) {\n$ans455.stack[R.EXN_STACKHEIGHT++] = R.mAR($al456,$temp_full453,$step452,[self454],[cases459,anf_arg1488,anf_arg463,anf_fun460,anf_fun461],$elidedFrames458);\n}\nreturn $ans455;\n};\nvar anf_variant_member2442 = R.makeMethod0($temp_full453,\"render-reason\");\nvar $temp_full471 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__190($self472,$maybe$stack$loc473,$src$available474,$maybe$ast475) {\nvar $step470 = 0;\nvar $elidedFrames482 = 0;\nvar $ans479 = D;\nvar $al480 = L[190];\nif(R.isAR($self472)) {\n$step470 = $self472.step;\n$al480 = $self472.from;\n$ans479 = $self472.ans;\n$elidedFrames482 = $self472.elidedFrames;\nself472 = $self472.args[0];\nmaybe$stack$loc473 = $self472.args[1];\nsrc$available474 = $self472.args[2];\nmaybe$ast475 = $self472.args[3];\ncases542 = $self472.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[190],4,$t,true);\n}\nvar self472 = $self472;\nvar maybe$stack$loc473 = $maybe$stack$loc473;\nvar src$available474 = $src$available474;\nvar maybe$ast475 = $maybe$ast475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans479 = R.mC();\n}\nwhile(!R.isContinuation($ans479)) {\nswitch($step470) {\ncase 0: $al480 = L[191];\nvar anf_method_obj483 = G(self472,\"loc\",L[191]);\n$step470 = 1;\n$ans479 = R.maybeMethodCall0(anf_method_obj483,\"is-builtin\",L[192]);\nbreak;\ncase 1: var anf_if803 = $ans479;\n$step470 = R.checkPyretTrue(anf_if803)?2:3;\nbreak;\ncase 2: $step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[193]);\nbreak;\ncase 3: $al480 = L[194];\nvar anf_arg1495 = G(self472,\"loc\",L[194]);\n$step470 = 4;\n$al480 = L[274];\nif(typeof(src$available474.app) !== \"function\") {\nR.ffi.throwNonFunApp($al480,src$available474);\n}\n$ans479 = src$available474.app(anf_arg1495);\nbreak;\ncase 4: var anf_if802 = $ans479;\n$step470 = R.checkPyretTrue(anf_if802)?5:11;\nbreak;\ncase 5: $al480 = L[195];\nvar anf_arg541 = G(self472,\"loc\",L[195]);\n$step470 = 6;\n$al480 = L[272];\nif(typeof(maybe$ast475.app) !== \"function\") {\nR.ffi.throwNonFunApp($al480,maybe$ast475);\n}\n$ans479 = maybe$ast475.app(anf_arg541);\nbreak;\ncase 6: var cases542 = $ans479;\n$step470 = 7;\n$al480 = L[271];\nvar $ann$check801 = R._cA(L[271],Option15,cases542);\nif(R.isContinuation($ann$check801)) {\n$ans479 = $ann$check801;\n}\nbreak;\ncase 7: $al480 = L[268];\n$step470 = $cases_dispatch800[cases542.$name] || 10;\nbreak;\ncase 8: if(cases542.$arity !== 1) {\nif(cases542.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[267],1,cases542.$arity,L[268],cases542.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[267],true,L[268],cases542.$loc);\n}\n}\n$step470 = 12;\n$al480 = L[267];\nvar $temp_branch787 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__268($test$ast544) {\nvar $step789 = 0;\nvar $elidedFrames793 = 0;\nvar $ans790 = D;\nvar $al791 = L[196];\nif(R.isAR($test$ast544)) {\n$step789 = $test$ast544.step;\n$al791 = $test$ast544.from;\n$ans790 = $test$ast544.ans;\n$elidedFrames793 = $test$ast544.elidedFrames;\ntest$ast544 = $test$ast544.args[0];\nanf_fun739 = $test$ast544.vars[0];\nwithin$name652 = $test$ast544.vars[1];\ncases632 = $test$ast544.vars[2];\nanf_arg1594 = $test$ast544.vars[3];\nanf_arg1574 = $test$ast544.vars[4];\nanf_arg1523 = $test$ast544.vars[5];\ntup2856 = $test$ast544.vars[6];\nanf_arg631 = $test$ast544.vars[7];\nanf_array740 = $test$ast544.vars[8];\nuse$within749 = $test$ast544.vars[9];\nmsg1720 = $test$ast544.vars[10];\nanf_arg716 = $test$ast544.vars[11];\nlhs$ast546 = $test$ast544.vars[12];\ned$lhs722 = $test$ast544.vars[13];\nanf_arg717 = $test$ast544.vars[14];\nanf_fun741 = $test$ast544.vars[15];\nanf_fun721 = $test$ast544.vars[16];\nmsg2738 = $test$ast544.vars[17];\nanf_fun746 = $test$ast544.vars[18];\nrhs$ast568 = $test$ast544.vars[19];\nanf_fun715 = $test$ast544.vars[20];\ned$rhs734 = $test$ast544.vars[21];\n} else {\nvar test$ast544 = $test$ast544;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans790 = R.mC();\n}\nwhile(!R.isContinuation($ans790)) {\nswitch($step789) {\ncase 0: $al791 = L[196];\nvar anf_method_obj543 = G(self472,\"left-src\",L[196]);\n$step789 = 1;\n$ans790 = R.maybeMethodCall1(anf_method_obj543,\"test-component\",L[197],test$ast544);\nbreak;\ncase 1: var lhs$ast546 = $ans790;\n$al791 = L[198];\nvar anf_method_obj545 = G(self472,\"right-src\",L[198]);\n$step789 = 2;\n$ans790 = R.maybeMethodCall1(anf_method_obj545,\"test-component\",L[199],test$ast544);\nbreak;\ncase 2: var rhs$ast568 = $ans790;\n$al791 = L[200];\nvar anf_method_obj2296 = G(self472,\"left-src\",L[200]);\n$step789 = 3;\n$ans790 = R.maybeMethodCall0(anf_method_obj2296,\"side\",L[201]);\nbreak;\ncase 3: var anf_arg1522 = $ans790;\n$step789 = 4;\n$al791 = L[266];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(anf_arg1522);\nbreak;\ncase 4: var anf_arg1523 = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[202],L[203]);\nvar anf_fun548 = $ans790;\n$al791 = L[204];\nvar anf_arg566 = G(lhs$ast546,\"l\",L[204]);\n$step789 = 5;\n$al791 = L[203];\nif(typeof(anf_fun548.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun548);\n}\n$ans790 = anf_fun548.app(anf_arg566);\nbreak;\ncase 5: var anf_arg567 = $ans790;\n$step789 = 6;\n$al791 = L[265];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans790 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1523,anf_arg567,(3));\nbreak;\ncase 6: var ed$lhs722 = $ans790;\n$al791 = L[205];\nvar anf_method_obj2321 = G(self472,\"right-src\",L[205]);\n$step789 = 7;\n$ans790 = R.maybeMethodCall0(anf_method_obj2321,\"side\",L[206]);\nbreak;\ncase 7: var anf_arg1554 = $ans790;\n$step789 = 8;\n$al791 = L[264];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(anf_arg1554);\nbreak;\ncase 8: var anf_arg631 = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[207],L[208]);\nvar anf_fun569 = $ans790;\n$al791 = L[209];\nvar anf_arg1542 = G(rhs$ast568,\"l\",L[209]);\n$step789 = 9;\n$al791 = L[208];\nif(typeof(anf_fun569.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun569);\n}\n$ans790 = anf_fun569.app(anf_arg1542);\nbreak;\ncase 9: var anf_arg1544 = $ans790;\n$step789 = 10;\n$al791 = L[263];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans790 = ED23.dict.values.dict[\"highlight\"].app(anf_arg631,anf_arg1544,(4));\nbreak;\ncase 10: var ed$rhs734 = $ans790;\n$al791 = L[210];\nvar anf_method_obj2338 = G(self472,\"left-src\",L[210]);\n$step789 = 11;\n$ans790 = R.maybeMethodCall1(anf_method_obj2338,\"test-op\",L[211],test$ast544);\nbreak;\ncase 11: $al791 = L[212];\nvar cases632 = G(test$ast544,\"op\",L[212]);\n$al791 = L[260];\n$step789 = $cases_dispatch798[cases632.$name] || 20;\nbreak;\ncase 12: if(cases632.$arity !== 2) {\nif(cases632.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[259],2,cases632.$arity,L[260],cases632.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[259],true,L[260],cases632.$loc);\n}\n}\nvar $fn795 = cases632.$constructor.$fieldNames;\nR.dF(cases632.dict[$fn795[0]],cases632.$mut_fields_mask[0],false);\nvar op775 = R.dF(cases632.dict[$fn795[1]],cases632.$mut_fields_mask[1],false);\n$step789 = 13;\n$al791 = L[258];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,equal$always1);\n}\n$ans790 = equal$always1.app(op775,(\"op=~\"));\nbreak;\ncase 13: var anf_if776 = $ans790;\n$step789 = R.checkPyretTrue(anf_if776)?14:15;\nbreak;\ncase 14: $step789 = 21;\n$ans790 = (\"within-now\");\nbreak;\ncase 15: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 16: if(cases632.$arity !== 2) {\nif(cases632.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[262],2,cases632.$arity,L[260],cases632.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[262],true,L[260],cases632.$loc);\n}\n}\nvar $fn797 = cases632.$constructor.$fieldNames;\nR.dF(cases632.dict[$fn797[0]],cases632.$mut_fields_mask[0],false);\nvar op780 = R.dF(cases632.dict[$fn797[1]],cases632.$mut_fields_mask[1],false);\n$step789 = 17;\n$al791 = L[261];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,equal$always1);\n}\n$ans790 = equal$always1.app(op780,(\"op=~\"));\nbreak;\ncase 17: var anf_if781 = $ans790;\n$step789 = R.checkPyretTrue(anf_if781)?18:19;\nbreak;\ncase 18: $step789 = 21;\n$ans790 = (\"within-now\");\nbreak;\ncase 19: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 20: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 21: var within$name652 = $ans790;\n$ans790 = R.getMaker5(ED23.dict.values.dict[\"para\"],(\"make5\"),L[213],L[214]);\nvar anf_fun715 = $ans790;\n$step789 = 22;\n$al791 = L[257];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Use \"));\nbreak;\ncase 22: var anf_arg716 = $ans790;\n$step789 = 23;\n$al791 = L[256];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"is-roughly\"));\nbreak;\ncase 23: var anf_arg651 = $ans790;\n$step789 = 24;\n$al791 = L[255];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"code\"]);\n}\n$ans790 = ED23.dict.values.dict[\"code\"].app(anf_arg651);\nbreak;\ncase 24: var anf_arg717 = $ans790;\n$step789 = 25;\n$al791 = L[254];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\" as the testing operator, or consider using the \"));\nbreak;\ncase 25: var anf_arg1594 = $ans790;\n$step789 = 26;\n$al791 = L[253];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(within$name652);\nbreak;\ncase 26: var anf_arg714 = $ans790;\n$step789 = 27;\n$al791 = L[252];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"code\"]);\n}\n$ans790 = ED23.dict.values.dict[\"code\"].app(anf_arg714);\nbreak;\ncase 27: var anf_arg1574 = $ans790;\n$step789 = 28;\n$al791 = L[251];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 28: var anf_arg1579 = $ans790;\n$step789 = 29;\n$al791 = L[214];\nif(typeof(anf_fun715.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun715);\n}\n$ans790 = anf_fun715.app(anf_arg716,anf_arg717,anf_arg1594,anf_arg1574,anf_arg1579);\nbreak;\ncase 29: var use$within749 = $ans790;\n$al791 = L[215];\nvar anf_bracket718 = G(self472,\"eq-result\",L[215]);\n$al791 = L[216];\nvar anf_arg1587 = G(anf_bracket718,\"value1\",L[216]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1587);\nvar anf_if774 = $ans790;\n$step789 = R.checkPyretTrue(anf_if774)?30:31;\nbreak;\ncase 30: $al791 = L[249];\nvar anf_bracket773 = G(self472,\"eq-result\",L[249]);\n$al791 = L[250];\nvar anf_arg1590 = G(anf_bracket773,\"value2\",L[250]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1590);\nvar anf_arg1592 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg1592);\n$step789 = 32;\nbreak;\ncase 31: $step789 = 32;\n$ans790 = (false);\nbreak;\ncase 32: var anf_if772 = $ans790;\n$step789 = R.checkPyretTrue(anf_if772)?33:36;\nbreak;\ncase 33: $ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[233],L[234]);\nvar anf_fun741 = $ans790;\n$step789 = 34;\n$al791 = L[235];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Did you mean to call them first?\"));\nbreak;\ncase 34: var anf_arg743 = $ans790;\n$step789 = 35;\n$al791 = L[234];\nif(typeof(anf_fun741.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun741);\n}\n$ans790 = anf_fun741.app(anf_arg743);\nbreak;\ncase 35: var anf_tuple_fields744 = $ans790;\n$step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare two Functions for equality, which is not allowed:\"),anf_tuple_fields744]);\nbreak;\ncase 36: $al791 = L[236];\nvar anf_bracket745 = G(self472,\"eq-result\",L[236]);\n$al791 = L[237];\nvar anf_arg1633 = G(anf_bracket745,\"value1\",L[237]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1633);\nvar anf_if1631 = $ans790;\n$step789 = R.checkPyretTrue(anf_if1631)?37:38;\nbreak;\ncase 37: $step789 = 39;\n$ans790 = (true);\nbreak;\ncase 38: $al791 = L[247];\nvar anf_bracket771 = G(self472,\"eq-result\",L[247]);\n$al791 = L[248];\nvar anf_arg1617 = G(anf_bracket771,\"value2\",L[248]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1617);\nvar anf_arg1618 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg1618);\n$step789 = 39;\nbreak;\ncase 39: var anf_if770 = $ans790;\n$step789 = R.checkPyretTrue(anf_if770)?40:43;\nbreak;\ncase 40: $ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[238],L[239]);\nvar anf_fun746 = $ans790;\n$step789 = 41;\n$al791 = L[240];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Did you mean to call the function first?\"));\nbreak;\ncase 41: var anf_arg1622 = $ans790;\n$step789 = 42;\n$al791 = L[239];\nif(typeof(anf_fun746.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun746);\n}\n$ans790 = anf_fun746.app(anf_arg1622);\nbreak;\ncase 42: var anf_tuple_fields747 = $ans790;\n$step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare a Function to another value for equality:\"),anf_tuple_fields747]);\nbreak;\ncase 43: $al791 = L[241];\nvar anf_bracket748 = G(self472,\"eq-result\",L[241]);\n$al791 = L[242];\nvar anf_arg1625 = G(anf_bracket748,\"value1\",L[242]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg1625);\nvar anf_if769 = $ans790;\n$step789 = R.checkPyretTrue(anf_if769)?44:45;\nbreak;\ncase 44: $al791 = L[245];\nvar anf_bracket765 = G(self472,\"eq-result\",L[245]);\n$al791 = L[246];\nvar anf_arg766 = G(anf_bracket765,\"value2\",L[246]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg766);\nvar anf_arg768 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg768);\n$step789 = 46;\nbreak;\ncase 45: $step789 = 46;\n$ans790 = (false);\nbreak;\ncase 46: var anf_if764 = $ans790;\n$step789 = R.checkPyretTrue(anf_if764)?47:48;\nbreak;\ncase 47: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare two Roughnums for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 48: $al791 = L[243];\nvar anf_bracket750 = G(self472,\"eq-result\",L[243]);\n$al791 = L[244];\nvar anf_arg763 = G(anf_bracket750,\"value1\",L[244]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg763);\nvar anf_if1693 = $ans790;\n$step789 = R.checkPyretTrue(anf_if1693)?49:50;\nbreak;\ncase 49: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare a Roughnum to an Exactnum for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 50: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare an Exactnum to a Roughnum for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 51: var tup2856 = $ans790;\n$step789 = 52;\n$al791 = L[232];\nR.checkTupleBind(tup2856,2,L[232]);\nbreak;\ncase 52: var msg1720 = R.getTuple(tup2856,0,L[217]);\nvar msg2738 = R.getTuple(tup2856,1,L[218]);\n$ans790 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[219],L[220]);\nvar anf_fun739 = $ans790;\n$ans790 = R.makeArrayN((6));\nvar anf_array740 = $ans790;\n$al791 = L[221];\nvar anf_method_obj719 = G(self472,\"left-src\",L[221]);\n$step789 = 53;\n$ans790 = R.maybeMethodCall1(anf_method_obj719,\"test-preamble\",L[222],test$ast544);\nbreak;\ncase 53: anf_array740[0] = $ans790;\n$al791 = L[223];\nvar anf_arg1687 = G(self472,\"loc\",L[223]);\n$step789 = 54;\n$al791 = L[231];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans790 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1687);\nbreak;\ncase 54: anf_array740[1] = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[224],L[225]);\nvar anf_fun721 = $ans790;\n$step789 = 55;\n$al791 = L[230];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(msg1720);\nbreak;\ncase 55: var anf_arg1690 = $ans790;\n$step789 = 56;\n$al791 = L[225];\nif(typeof(anf_fun721.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun721);\n}\n$ans790 = anf_fun721.app(anf_arg1690);\nbreak;\ncase 56: anf_array740[2] = $ans790;\n$al791 = L[226];\nvar anf_arg733 = G(self472,\"left\",L[226]);\n$step789 = 57;\n$al791 = L[229];\n// omitting isFunction check;\n$ans790 = report$value306.$var.app(ed$lhs722,anf_arg733);\nbreak;\ncase 57: anf_array740[3] = $ans790;\n$al791 = L[227];\nvar anf_arg737 = G(self472,\"right\",L[227]);\n$step789 = 58;\n$al791 = L[228];\n// omitting isFunction check;\n$ans790 = report$value306.$var.app(ed$rhs734,anf_arg737);\nbreak;\ncase 58: anf_array740[4] = $ans790;\nanf_array740[5] = msg2738;\n$step789 = 59;\n$al791 = L[220];\nif(typeof(anf_fun739.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun739);\n}\n$ans790 = anf_fun739.app(anf_array740);\nbreak;\ncase 59: ++R.GAS;\nreturn $ans790;\ndefault: R.ffi.throwSpinnakerError(L[196],$step789);\n}\n}\nif($step789 !== 59) {\n$ans790.stack[R.EXN_STACKHEIGHT++] = R.mAR($al791,$temp_branch787,$step789,[test$ast544],[anf_fun739,within$name652,cases632,anf_arg1594,anf_arg1574,anf_arg1523,tup2856,anf_arg631,anf_array740,use$within749,msg1720,anf_arg716,lhs$ast546,ed$lhs722,anf_arg717,anf_fun741,anf_fun721,msg2738,anf_fun746,rhs$ast568,anf_fun715,ed$rhs734],$elidedFrames793);\n}\nreturn $ans790;\n};\n$ans479 = cases542.$app_fields($temp_branch787,[false]);\nbreak;\ncase 9: if(cases542.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[270],false,L[268],cases542.$loc);\n}\n$step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[269]);\nbreak;\ncase 10: $ans479 = R.throwNoCasesMatched(L[268],cases542);\n$step470 = 12;\nbreak;\ncase 11: $step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[273]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans479;\ndefault: R.ffi.throwSpinnakerError(L[190],$step470);\n}\n}\nif($step470 !== 12) {\n$ans479.stack[R.EXN_STACKHEIGHT++] = R.mAR($al480,$temp_full471,$step470,[self472,maybe$stack$loc473,src$available474,maybe$ast475],[cases542],$elidedFrames482);\n}\nreturn $ans479;\n};\nvar anf_variant_member2455 = R.makeMethod3($temp_full471,\"render-fancy-reason\");\nvar $temp_full806 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__275($self807) {\nvar $step805 = 0;\nvar $elidedFrames811 = 0;\nvar $ans808 = D;\nvar $al809 = L[275];\nif(R.isAR($self807)) {\n$step805 = $self807.step;\n$al809 = $self807.from;\n$ans808 = $self807.ans;\n$elidedFrames811 = $self807.elidedFrames;\nself807 = $self807.args[0];\nanf_fun925 = $self807.vars[0];\nanf_fun929 = $self807.vars[1];\nanf_arg1832 = $self807.vars[2];\nanf_arg960 = $self807.vars[3];\nanf_arg961 = $self807.vars[4];\nanf_arg930 = $self807.vars[5];\nanf_arg952 = $self807.vars[6];\nanf_arg920 = $self807.vars[7];\nanf_arg844 = $self807.vars[8];\nanf_arg1829 = $self807.vars[9];\nanf_arg957 = $self807.vars[10];\nanf_arg958 = $self807.vars[11];\nanf_fun962 = $self807.vars[12];\nanf_fun842 = $self807.vars[13];\nanf_fun955 = $self807.vars[14];\nanf_fun824 = $self807.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[275],1,$t,true);\n}\nvar self807 = $self807;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans808 = R.mC();\n}\nwhile(!R.isContinuation($ans808)) {\nswitch($step805) {\ncase 0: $al809 = L[276];\nvar anf_bracket812 = G(self807,\"eq-result\",L[276]);\n$al809 = L[277];\nvar anf_arg822 = G(anf_bracket812,\"value1\",L[277]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg822);\nvar anf_if975 = $ans808;\n$step805 = R.checkPyretTrue(anf_if975)?1:2;\nbreak;\ncase 1: $al809 = L[315];\nvar anf_bracket971 = G(self807,\"eq-result\",L[315]);\n$al809 = L[316];\nvar anf_arg1720 = G(anf_bracket971,\"value2\",L[316]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg1720);\nvar anf_arg1721 = $ans808;\n$ans808 = R.checkWrapBoolean(anf_arg1721);\n$step805 = 3;\nbreak;\ncase 2: $step805 = 3;\n$ans808 = (false);\nbreak;\ncase 3: var anf_if970 = $ans808;\n$step805 = R.checkPyretTrue(anf_if970)?4:9;\nbreak;\ncase 4: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[278],L[279]);\nvar anf_fun842 = $ans808;\n$ans808 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[280],L[281]);\nvar anf_fun824 = $ans808;\n$step805 = 5;\n$al809 = L[286];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare two functions using strict equality: did you mean to call them first?\"));\nbreak;\ncase 5: var anf_arg1726 = $ans808;\n$step805 = 6;\n$al809 = L[281];\nif(typeof(anf_fun824.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun824);\n}\n$ans808 = anf_fun824.app(anf_arg1726);\nbreak;\ncase 6: var anf_arg844 = $ans808;\n$al809 = L[282];\nvar anf_arg828 = G(self807,\"left\",L[282]);\n$step805 = 7;\n$al809 = L[285];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg828);\nbreak;\ncase 7: var anf_arg920 = $ans808;\n$al809 = L[283];\nvar anf_arg841 = G(self807,\"right\",L[283]);\n$step805 = 8;\n$al809 = L[284];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg841);\nbreak;\ncase 8: var anf_arg921 = $ans808;\n$step805 = 29;\n$al809 = L[279];\nif(typeof(anf_fun842.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun842);\n}\n$ans808 = anf_fun842.app(anf_arg844,anf_arg920,anf_arg921);\nbreak;\ncase 9: $al809 = L[287];\nvar anf_bracket922 = G(self807,\"eq-result\",L[287]);\n$al809 = L[288];\nvar anf_arg924 = G(anf_bracket922,\"value1\",L[288]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg924);\nvar anf_if969 = $ans808;\n$step805 = R.checkPyretTrue(anf_if969)?10:11;\nbreak;\ncase 10: $step805 = 12;\n$ans808 = (true);\nbreak;\ncase 11: $al809 = L[313];\nvar anf_bracket968 = G(self807,\"eq-result\",L[313]);\n$al809 = L[314];\nvar anf_arg1762 = G(anf_bracket968,\"value2\",L[314]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg1762);\nvar anf_arg1763 = $ans808;\n$ans808 = R.checkWrapBoolean(anf_arg1763);\n$step805 = 12;\nbreak;\ncase 12: var anf_if966 = $ans808;\n$step805 = R.checkPyretTrue(anf_if966)?13:18;\nbreak;\ncase 13: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[289],L[290]);\nvar anf_fun929 = $ans808;\n$ans808 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[291],L[292]);\nvar anf_fun925 = $ans808;\n$step805 = 14;\n$al809 = L[297];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare a function to another value using strict equality: did you mean to call the function first?\"));\nbreak;\ncase 14: var anf_arg1768 = $ans808;\n$step805 = 15;\n$al809 = L[292];\nif(typeof(anf_fun925.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun925);\n}\n$ans808 = anf_fun925.app(anf_arg1768);\nbreak;\ncase 15: var anf_arg930 = $ans808;\n$al809 = L[293];\nvar anf_arg927 = G(self807,\"left\",L[293]);\n$step805 = 16;\n$al809 = L[296];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg927);\nbreak;\ncase 16: var anf_arg952 = $ans808;\n$al809 = L[294];\nvar anf_arg928 = G(self807,\"right\",L[294]);\n$step805 = 17;\n$al809 = L[295];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg928);\nbreak;\ncase 17: var anf_arg1796 = $ans808;\n$step805 = 29;\n$al809 = L[290];\nif(typeof(anf_fun929.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun929);\n}\n$ans808 = anf_fun929.app(anf_arg930,anf_arg952,anf_arg1796);\nbreak;\ncase 18: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[298],L[299]);\nvar anf_fun962 = $ans808;\n$ans808 = R.getMaker5(ED23.dict.values.dict[\"para\"],(\"make5\"),L[300],L[301]);\nvar anf_fun955 = $ans808;\n$step805 = 19;\n$al809 = L[312];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare roughnums using strict equality: use \"));\nbreak;\ncase 19: var anf_arg957 = $ans808;\n$step805 = 20;\n$al809 = L[311];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"is-roughly\"));\nbreak;\ncase 20: var anf_arg954 = $ans808;\n$step805 = 21;\n$al809 = L[310];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"code\"]);\n}\n$ans808 = ED23.dict.values.dict[\"code\"].app(anf_arg954);\nbreak;\ncase 21: var anf_arg958 = $ans808;\n$step805 = 22;\n$al809 = L[309];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\", or consider using the\"));\nbreak;\ncase 22: var anf_arg960 = $ans808;\n$step805 = 23;\n$al809 = L[308];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"within\"));\nbreak;\ncase 23: var anf_arg1835 = $ans808;\n$step805 = 24;\n$al809 = L[307];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"code\"]);\n}\n$ans808 = ED23.dict.values.dict[\"code\"].app(anf_arg1835);\nbreak;\ncase 24: var anf_arg961 = $ans808;\n$step805 = 25;\n$al809 = L[306];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 25: var anf_arg1828 = $ans808;\n$step805 = 26;\n$al809 = L[301];\nif(typeof(anf_fun955.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun955);\n}\n$ans808 = anf_fun955.app(anf_arg957,anf_arg958,anf_arg960,anf_arg961,anf_arg1828);\nbreak;\ncase 26: var anf_arg1829 = $ans808;\n$al809 = L[302];\nvar anf_arg1831 = G(self807,\"left\",L[302]);\n$step805 = 27;\n$al809 = L[305];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg1831);\nbreak;\ncase 27: var anf_arg1832 = $ans808;\n$al809 = L[303];\nvar anf_arg1833 = G(self807,\"right\",L[303]);\n$step805 = 28;\n$al809 = L[304];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg1833);\nbreak;\ncase 28: var anf_arg965 = $ans808;\n$step805 = 29;\n$al809 = L[299];\nif(typeof(anf_fun962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun962);\n}\n$ans808 = anf_fun962.app(anf_arg1829,anf_arg1832,anf_arg965);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans808;\ndefault: R.ffi.throwSpinnakerError(L[275],$step805);\n}\n}\nif($step805 !== 29) {\n$ans808.stack[R.EXN_STACKHEIGHT++] = R.mAR($al809,$temp_full806,$step805,[self807],[anf_fun925,anf_fun929,anf_arg1832,anf_arg960,anf_arg961,anf_arg930,anf_arg952,anf_arg920,anf_arg844,anf_arg1829,anf_arg957,anf_arg958,anf_fun962,anf_fun842,anf_fun955,anf_fun824],$elidedFrames811);\n}\nreturn $ans808;\n};\nvar anf_variant_member2456 = R.makeMethod0($temp_full806,\"render-reason\");\nvar $temp_full978 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__317($self1306,$maybe$stack$loc979,$src$available980,$maybe$ast981) {\nvar $step977 = 0;\nvar $elidedFrames985 = 0;\nvar $ans982 = D;\nvar $al983 = L[317];\nif(R.isAR($self1306)) {\n$step977 = $self1306.step;\n$al983 = $self1306.from;\n$ans982 = $self1306.ans;\n$elidedFrames985 = $self1306.elidedFrames;\nself1306 = $self1306.args[0];\nmaybe$stack$loc979 = $self1306.args[1];\nsrc$available980 = $self1306.args[2];\nmaybe$ast981 = $self1306.args[3];\ncases997 = $self1306.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[317],4,$t,true);\n}\nvar self1306 = $self1306;\nvar maybe$stack$loc979 = $maybe$stack$loc979;\nvar src$available980 = $src$available980;\nvar maybe$ast981 = $maybe$ast981;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans982 = R.mC();\n}\nwhile(!R.isContinuation($ans982)) {\nswitch($step977) {\ncase 0: $al983 = L[318];\nvar anf_method_obj986 = G(self1306,\"loc\",L[318]);\n$step977 = 1;\n$ans982 = R.maybeMethodCall0(anf_method_obj986,\"is-builtin\",L[319]);\nbreak;\ncase 1: var anf_if1881 = $ans982;\n$step977 = R.checkPyretTrue(anf_if1881)?2:3;\nbreak;\ncase 2: $step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[320]);\nbreak;\ncase 3: $al983 = L[321];\nvar anf_arg994 = G(self1306,\"loc\",L[321]);\n$step977 = 4;\n$al983 = L[396];\nif(typeof(src$available980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al983,src$available980);\n}\n$ans982 = src$available980.app(anf_arg994);\nbreak;\ncase 4: var anf_if1264 = $ans982;\n$step977 = R.checkPyretTrue(anf_if1264)?5:11;\nbreak;\ncase 5: $al983 = L[322];\nvar anf_arg996 = G(self1306,\"loc\",L[322]);\n$step977 = 6;\n$al983 = L[394];\nif(typeof(maybe$ast981.app) !== \"function\") {\nR.ffi.throwNonFunApp($al983,maybe$ast981);\n}\n$ans982 = maybe$ast981.app(anf_arg996);\nbreak;\ncase 6: var cases997 = $ans982;\n$step977 = 7;\n$al983 = L[393];\nvar $ann$check1263 = R._cA(L[393],Option15,cases997);\nif(R.isContinuation($ann$check1263)) {\n$ans982 = $ann$check1263;\n}\nbreak;\ncase 7: $al983 = L[390];\n$step977 = $cases_dispatch1262[cases997.$name] || 10;\nbreak;\ncase 8: if(cases997.$arity !== 1) {\nif(cases997.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[389],1,cases997.$arity,L[390],cases997.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[389],true,L[390],cases997.$loc);\n}\n}\n$step977 = 12;\n$al983 = L[389];\nvar $temp_branch1215 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__390($test$ast999) {\nvar $step1216 = 0;\nvar $elidedFrames1222 = 0;\nvar $ans1219 = D;\nvar $al1220 = L[323];\nif(R.isAR($test$ast999)) {\n$step1216 = $test$ast999.step;\n$al1220 = $test$ast999.from;\n$ans1219 = $test$ast999.ans;\n$elidedFrames1222 = $test$ast999.elidedFrames;\ntest$ast999 = $test$ast999.args[0];\nanf_fun1126 = $test$ast999.vars[0];\nlhs$ast1002 = $test$ast999.vars[1];\nanf_fun1106 = $test$ast999.vars[2];\nanf_arg2056 = $test$ast999.vars[3];\ned$lhs1117 = $test$ast999.vars[4];\nanf_arg1102 = $test$ast999.vars[5];\nanf_arg1127 = $test$ast999.vars[6];\nanf_arg1875 = $test$ast999.vars[7];\nanf_arg1923 = $test$ast999.vars[8];\nrhs$ast1060 = $test$ast999.vars[9];\nanf_arg1917 = $test$ast999.vars[10];\ncases1105 = $test$ast999.vars[11];\ned$rhs1123 = $test$ast999.vars[12];\n} else {\nvar test$ast999 = $test$ast999;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1219 = R.mC();\n}\nwhile(!R.isContinuation($ans1219)) {\nswitch($step1216) {\ncase 0: $al1220 = L[323];\nvar anf_method_obj998 = G(self1306,\"left-src\",L[323]);\n$step1216 = 1;\n$ans1219 = R.maybeMethodCall1(anf_method_obj998,\"test-component\",L[324],test$ast999);\nbreak;\ncase 1: var lhs$ast1002 = $ans1219;\n$al1220 = L[325];\nvar anf_method_obj1000 = G(self1306,\"right-src\",L[325]);\n$step1216 = 2;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1000,\"test-component\",L[326],test$ast999);\nbreak;\ncase 2: var rhs$ast1060 = $ans1219;\n$al1220 = L[327];\nvar anf_method_obj1001 = G(self1306,\"left-src\",L[327]);\n$step1216 = 3;\n$ans1219 = R.maybeMethodCall0(anf_method_obj1001,\"side\",L[328]);\nbreak;\ncase 3: var anf_arg1874 = $ans1219;\n$step1216 = 4;\n$al1220 = L[388];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"text\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"text\"].app(anf_arg1874);\nbreak;\ncase 4: var anf_arg1875 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[329],L[330]);\nvar anf_fun1004 = $ans1219;\n$al1220 = L[331];\nvar anf_arg1877 = G(lhs$ast1002,\"l\",L[331]);\n$step1216 = 5;\n$al1220 = L[330];\nif(typeof(anf_fun1004.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1004);\n}\n$ans1219 = anf_fun1004.app(anf_arg1877);\nbreak;\ncase 5: var anf_arg1017 = $ans1219;\n$step1216 = 6;\n$al1220 = L[387];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1875,anf_arg1017,(3));\nbreak;\ncase 6: var ed$lhs1117 = $ans1219;\n$al1220 = L[332];\nvar anf_method_obj1018 = G(self1306,\"right-src\",L[332]);\n$step1216 = 7;\n$ans1219 = R.maybeMethodCall0(anf_method_obj1018,\"side\",L[333]);\nbreak;\ncase 7: var anf_arg1059 = $ans1219;\n$step1216 = 8;\n$al1220 = L[386];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"text\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"text\"].app(anf_arg1059);\nbreak;\ncase 8: var anf_arg1102 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[334],L[335]);\nvar anf_fun1061 = $ans1219;\n$al1220 = L[336];\nvar anf_arg1098 = G(rhs$ast1060,\"l\",L[336]);\n$step1216 = 9;\n$al1220 = L[335];\nif(typeof(anf_fun1061.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1061);\n}\n$ans1219 = anf_fun1061.app(anf_arg1098);\nbreak;\ncase 9: var anf_arg1929 = $ans1219;\n$step1216 = 10;\n$al1220 = L[385];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1102,anf_arg1929,(4));\nbreak;\ncase 10: var ed$rhs1123 = $ans1219;\n$al1220 = L[337];\nvar anf_method_obj1103 = G(self1306,\"left-src\",L[337]);\n$step1216 = 11;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1103,\"test-op\",L[338],test$ast999);\nbreak;\ncase 11: $ans1219 = R.getMaker5(ED23.dict.values.dict[\"error\"],(\"make5\"),L[339],L[340]);\nvar anf_fun1126 = $ans1219;\n$al1220 = L[341];\nvar anf_method_obj1104 = G(self1306,\"left-src\",L[341]);\n$step1216 = 12;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1104,\"test-preamble\",L[342],test$ast999);\nbreak;\ncase 12: var anf_arg1917 = $ans1219;\n$al1220 = L[343];\nvar anf_arg1921 = G(self1306,\"loc\",L[343]);\n$step1216 = 13;\n$al1220 = L[384];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1921);\nbreak;\ncase 13: var anf_arg1923 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[344],L[345]);\nvar anf_fun1106 = $ans1219;\n$al1220 = L[346];\nvar cases1105 = G(test$ast999,\"op\",L[346]);\n$al1220 = L[373];\n$step1216 = $cases_dispatch1258[cases1105.$name] || 16;\nbreak;\ncase 14: if(cases1105.$arity !== 1) {\nif(cases1105.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[372],1,cases1105.$arity,L[373],cases1105.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[372],true,L[373],cases1105.$loc);\n}\n}\n$step1216 = 17;\n$al1220 = L[372];\nvar $temp_branch1234 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__373($$underscore1190) {\nvar $step1235 = 0;\nvar $elidedFrames1239 = 0;\nvar $ans1236 = D;\nvar $al1237 = L[358];\nif(R.isAR($$underscore1190)) {\n$step1235 = $$underscore1190.step;\n$al1237 = $$underscore1190.from;\n$ans1236 = $$underscore1190.ans;\n$elidedFrames1239 = $$underscore1190.elidedFrames;\n$underscore1190 = $$underscore1190.args[0];\ncases1129 = $$underscore1190.vars[0];\nanf_fun1130 = $$underscore1190.vars[1];\nanf_arg1926 = $$underscore1190.vars[2];\nanf_arg1927 = $$underscore1190.vars[3];\n} else {\nvar $underscore1190 = $$underscore1190;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1236 = R.mC();\n}\nwhile(!R.isContinuation($ans1236)) {\nswitch($step1235) {\ncase 0: $al1237 = L[351];\nvar cases1129 = G(test$ast999,\"refinement\",L[351]);\n$step1235 = 1;\n$al1237 = L[371];\nvar $ann$check1249 = R._cA(L[371],Option15,cases1129);\nif(R.isContinuation($ann$check1249)) {\n$ans1236 = $ann$check1249;\n}\nbreak;\ncase 1: $al1237 = L[358];\n$step1235 = $cases_dispatch1248[cases1129.$name] || 7;\nbreak;\ncase 2: if(cases1129.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[357],false,L[358],cases1129.$loc);\n}\n$ans1236 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[352],L[353]);\nvar anf_fun1130 = $ans1236;\n$step1235 = 3;\n$al1237 = L[356];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 3: var anf_arg1926 = $ans1236;\n$step1235 = 4;\n$al1237 = L[355];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 4: var anf_arg1927 = $ans1236;\n$step1235 = 5;\n$al1237 = L[354];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\" sides are not equal.\"));\nbreak;\ncase 5: var anf_arg1151 = $ans1236;\n$step1235 = 8;\n$al1237 = L[353];\nif(typeof(anf_fun1130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,anf_fun1130);\n}\n$ans1236 = anf_fun1130.app(anf_arg1926,ed$lhs1117,anf_arg1927,ed$rhs1123,anf_arg1151);\nbreak;\ncase 6: if(cases1129.$arity !== 1) {\nif(cases1129.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[370],1,cases1129.$arity,L[358],cases1129.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[370],true,L[358],cases1129.$loc);\n}\n}\n$step1235 = 8;\n$al1237 = L[370];\nvar $temp_branch1240 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__358($e1152) {\nvar $step1241 = 0;\nvar $elidedFrames1246 = 0;\nvar $ans1243 = D;\nvar $al1244 = L[360];\nif(R.isAR($e1152)) {\n$step1241 = $e1152.step;\n$al1244 = $e1152.from;\n$ans1243 = $e1152.ans;\n$elidedFrames1246 = $e1152.elidedFrames;\ne1152 = $e1152.args[0];\nanf_fun1172 = $e1152.vars[0];\nanf_array1173 = $e1152.vars[1];\nanf_arg1170 = $e1152.vars[2];\n} else {\nvar e1152 = $e1152;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1243 = R.mC();\n}\nwhile(!R.isContinuation($ans1243)) {\nswitch($step1241) {\ncase 0: $ans1243 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[359],L[360]);\nvar anf_fun1172 = $ans1243;\n$ans1243 = R.makeArrayN((7));\nvar anf_array1173 = $ans1243;\n$step1241 = 1;\n$al1244 = L[369];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 1: anf_array1173[0] = $ans1243;\n$step1241 = 2;\n$al1244 = L[368];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 2: var anf_arg1170 = $ans1243;\n$ans1243 = R.getMaker1(list6,(\"make1\"),L[361],L[362]);\nvar anf_fun1153 = $ans1243;\n$al1244 = L[363];\nvar anf_arg1154 = G(e1152,\"l\",L[363]);\n$step1241 = 3;\n$al1244 = L[362];\nif(typeof(anf_fun1153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,anf_fun1153);\n}\n$ans1243 = anf_fun1153.app(anf_arg1154);\nbreak;\ncase 3: var anf_arg1171 = $ans1243;\n$step1241 = 4;\n$al1244 = L[367];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1170,anf_arg1171,(1));\nbreak;\ncase 4: anf_array1173[1] = $ans1243;\n$step1241 = 5;\n$al1244 = L[366];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the \"));\nbreak;\ncase 5: anf_array1173[2] = $ans1243;\nanf_array1173[3] = ed$lhs1117;\n$step1241 = 6;\n$al1244 = L[365];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array1173[4] = $ans1243;\nanf_array1173[5] = ed$rhs1123;\n$step1241 = 7;\n$al1244 = L[364];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" sides are applied to it.\"));\nbreak;\ncase 7: anf_array1173[6] = $ans1243;\n$step1241 = 8;\n$al1244 = L[360];\nif(typeof(anf_fun1172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,anf_fun1172);\n}\n$ans1243 = anf_fun1172.app(anf_array1173);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1243;\ndefault: R.ffi.throwSpinnakerError(L[360],$step1241);\n}\n}\nif($step1241 !== 8) {\n$ans1243.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1244,$temp_branch1240,$step1241,[e1152],[anf_fun1172,anf_array1173,anf_arg1170],$elidedFrames1246);\n}\nreturn $ans1243;\n};\n$ans1236 = cases1129.$app_fields($temp_branch1240,[false]);\nbreak;\ncase 7: $ans1236 = R.throwNoCasesMatched(L[358],cases1129);\n$step1235 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1236;\ndefault: R.ffi.throwSpinnakerError(L[358],$step1235);\n}\n}\nif($step1235 !== 8) {\n$ans1236.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1237,$temp_branch1234,$step1235,[$underscore1190],[cases1129,anf_fun1130,anf_arg1926,anf_arg1927],$elidedFrames1239);\n}\nreturn $ans1236;\n};\n$ans1219 = cases1105.$app_fields($temp_branch1234,[false]);\nbreak;\ncase 15: if(cases1105.$arity !== 2) {\nif(cases1105.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[383],2,cases1105.$arity,L[373],cases1105.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[383],true,L[373],cases1105.$loc);\n}\n}\n$step1216 = 17;\n$al1220 = L[383];\nvar $temp_branch1251 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__373($$underscore1210,$op1201) {\nvar $step1252 = 0;\nvar $elidedFrames1256 = 0;\nvar $ans1253 = D;\nvar $al1254 = L[375];\nif(R.isAR($$underscore1210)) {\n$step1252 = $$underscore1210.step;\n$al1254 = $$underscore1210.from;\n$ans1253 = $$underscore1210.ans;\n$elidedFrames1256 = $$underscore1210.elidedFrames;\n$underscore1210 = $$underscore1210.args[0];\nop1201 = $$underscore1210.args[1];\nanf_fun1202 = $$underscore1210.vars[0];\nanf_array1203 = $$underscore1210.vars[1];\n} else {\nvar $underscore1210 = $$underscore1210;\nvar op1201 = $op1201;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1253 = R.mC();\n}\nwhile(!R.isContinuation($ans1253)) {\nswitch($step1252) {\ncase 0: $ans1253 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[374],L[375]);\nvar anf_fun1202 = $ans1253;\n$ans1253 = R.makeArrayN((7));\nvar anf_array1203 = $ans1253;\n$step1252 = 1;\n$al1254 = L[382];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the predicate \"));\nbreak;\ncase 1: anf_array1203[0] = $ans1253;\n$step1252 = 2;\n$al1254 = L[381];\n// omitting isFunction check;\n$ans1253 = get$op$fun$name61.$var.app(op1201);\nbreak;\ncase 2: var anf_arg2009 = $ans1253;\n$step1252 = 3;\n$al1254 = L[380];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app(anf_arg2009);\nbreak;\ncase 3: var anf_arg2010 = $ans1253;\n$step1252 = 4;\n$al1254 = L[379];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"code\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"code\"].app(anf_arg2010);\nbreak;\ncase 4: anf_array1203[1] = $ans1253;\n$step1252 = 5;\n$al1254 = L[378];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the \"));\nbreak;\ncase 5: anf_array1203[2] = $ans1253;\nanf_array1203[3] = ed$lhs1117;\n$step1252 = 6;\n$al1254 = L[377];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array1203[4] = $ans1253;\nanf_array1203[5] = ed$rhs1123;\n$step1252 = 7;\n$al1254 = L[376];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" sides are applied to it.\"));\nbreak;\ncase 7: anf_array1203[6] = $ans1253;\n$step1252 = 8;\n$al1254 = L[375];\nif(typeof(anf_fun1202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,anf_fun1202);\n}\n$ans1253 = anf_fun1202.app(anf_array1203);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1253;\ndefault: R.ffi.throwSpinnakerError(L[375],$step1252);\n}\n}\nif($step1252 !== 8) {\n$ans1253.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1254,$temp_branch1251,$step1252,[$underscore1210,op1201],[anf_fun1202,anf_array1203],$elidedFrames1256);\n}\nreturn $ans1253;\n};\n$ans1219 = cases1105.$app_fields($temp_branch1251,[false,false]);\nbreak;\ncase 16: $ans1219 = R.throwNoCasesMatched(L[373],cases1105);\n$step1216 = 17;\nbreak;\ncase 17: var anf_arg1116 = $ans1219;\n$step1216 = 18;\n$al1220 = L[345];\nif(typeof(anf_fun1106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1106);\n}\n$ans1219 = anf_fun1106.app(anf_arg1116);\nbreak;\ncase 18: var anf_arg1127 = $ans1219;\n$al1220 = L[347];\nvar anf_arg1122 = G(self1306,\"left\",L[347]);\n$step1216 = 19;\n$al1220 = L[350];\n// omitting isFunction check;\n$ans1219 = report$value306.$var.app(ed$lhs1117,anf_arg1122);\nbreak;\ncase 19: var anf_arg2056 = $ans1219;\n$al1220 = L[348];\nvar anf_arg1125 = G(self1306,\"right\",L[348]);\n$step1216 = 20;\n$al1220 = L[349];\n// omitting isFunction check;\n$ans1219 = report$value306.$var.app(ed$rhs1123,anf_arg1125);\nbreak;\ncase 20: var anf_arg2028 = $ans1219;\n$step1216 = 21;\n$al1220 = L[340];\nif(typeof(anf_fun1126.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1126);\n}\n$ans1219 = anf_fun1126.app(anf_arg1917,anf_arg1923,anf_arg1127,anf_arg2056,anf_arg2028);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1219;\ndefault: R.ffi.throwSpinnakerError(L[323],$step1216);\n}\n}\nif($step1216 !== 21) {\n$ans1219.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1220,$temp_branch1215,$step1216,[test$ast999],[anf_fun1126,lhs$ast1002,anf_fun1106,anf_arg2056,ed$lhs1117,anf_arg1102,anf_arg1127,anf_arg1875,anf_arg1923,rhs$ast1060,anf_arg1917,cases1105,ed$rhs1123],$elidedFrames1222);\n}\nreturn $ans1219;\n};\n$ans982 = cases997.$app_fields($temp_branch1215,[false]);\nbreak;\ncase 9: if(cases997.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[392],false,L[390],cases997.$loc);\n}\n$step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[391]);\nbreak;\ncase 10: $ans982 = R.throwNoCasesMatched(L[390],cases997);\n$step977 = 12;\nbreak;\ncase 11: $step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[395]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans982;\ndefault: R.ffi.throwSpinnakerError(L[317],$step977);\n}\n}\nif($step977 !== 12) {\n$ans982.stack[R.EXN_STACKHEIGHT++] = R.mAR($al983,$temp_full978,$step977,[self1306,maybe$stack$loc979,src$available980,maybe$ast981],[cases997],$elidedFrames985);\n}\nreturn $ans982;\n};\nvar anf_variant_member2469 = R.makeMethod3($temp_full978,\"render-fancy-reason\");\nvar $temp_full1267 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__397($self1268) {\nvar $step1266 = 0;\nvar $elidedFrames1272 = 0;\nvar $ans1269 = D;\nvar $al1270 = L[397];\nif(R.isAR($self1268)) {\n$step1266 = $self1268.step;\n$al1270 = $self1268.from;\n$ans1269 = $self1268.ans;\n$elidedFrames1272 = $self1268.elidedFrames;\nself1268 = $self1268.args[0];\nanf_fun1303 = $self1268.vars[0];\nanf_arg1307 = $self1268.vars[1];\ncases1273 = $self1268.vars[2];\nanf_arg1308 = $self1268.vars[3];\nanf_fun1276 = $self1268.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[397],1,$t,true);\n}\nvar self1268 = $self1268;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1269 = R.mC();\n}\nwhile(!R.isContinuation($ans1269)) {\nswitch($step1266) {\ncase 0: $ans1269 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[398],L[399]);\nvar anf_fun1303 = $ans1269;\n$ans1269 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[400],L[401]);\nvar anf_fun1276 = $ans1269;\n$al1270 = L[402];\nvar cases1273 = G(self1268,\"refinement\",L[402]);\n$step1266 = 1;\n$al1270 = L[412];\nvar $ann$check1313 = R._cA(L[412],Option15,cases1273);\nif(R.isContinuation($ann$check1313)) {\n$ans1269 = $ann$check1313;\n}\nbreak;\ncase 1: $al1270 = L[409];\n$step1266 = $cases_dispatch1312[cases1273.$name] || 4;\nbreak;\ncase 2: if(cases1273.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[408],false,L[409],cases1273.$loc);\n}\n$step1266 = 5;\n$al1270 = L[407];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"text\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"text\"].app((\"Values not different\"));\nbreak;\ncase 3: if(cases1273.$arity !== 1) {\nif(cases1273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[411],1,cases1273.$arity,L[409],cases1273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[411],true,L[409],cases1273.$loc);\n}\n}\nvar $fn1310 = cases1273.$constructor.$fieldNames;\nR.dF(cases1273.dict[$fn1310[0]],cases1273.$mut_fields_mask[0],false);\n$step1266 = 5;\n$al1270 = L[410];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"text\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"text\"].app((\"Values not different (using custom equality):\"));\nbreak;\ncase 4: $ans1269 = R.throwNoCasesMatched(L[409],cases1273);\n$step1266 = 5;\nbreak;\ncase 5: var anf_arg2053 = $ans1269;\n$step1266 = 6;\n$al1270 = L[401];\nif(typeof(anf_fun1276.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,anf_fun1276);\n}\n$ans1269 = anf_fun1276.app(anf_arg2053);\nbreak;\ncase 6: var anf_arg1307 = $ans1269;\n$al1270 = L[403];\nvar anf_arg1292 = G(self1268,\"left\",L[403]);\n$step1266 = 7;\n$al1270 = L[406];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"embed\"].app(anf_arg1292);\nbreak;\ncase 7: var anf_arg1308 = $ans1269;\n$al1270 = L[404];\nvar anf_arg1302 = G(self1268,\"right\",L[404]);\n$step1266 = 8;\n$al1270 = L[405];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"embed\"].app(anf_arg1302);\nbreak;\ncase 8: var anf_arg2083 = $ans1269;\n$step1266 = 9;\n$al1270 = L[399];\nif(typeof(anf_fun1303.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,anf_fun1303);\n}\n$ans1269 = anf_fun1303.app(anf_arg1307,anf_arg1308,anf_arg2083);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1269;\ndefault: R.ffi.throwSpinnakerError(L[397],$step1266);\n}\n}\nif($step1266 !== 9) {\n$ans1269.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1270,$temp_full1267,$step1266,[self1268],[anf_fun1303,anf_arg1307,cases1273,anf_arg1308,anf_fun1276],$elidedFrames1272);\n}\nreturn $ans1269;\n};\nvar anf_variant_member2470 = R.makeMethod0($temp_full1267,\"render-reason\");\nvar $temp_full1316 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__413($self1317,$maybe$stack$loc1318,$src$available1319,$maybe$ast1320) {\nvar $step1315 = 0;\nvar $elidedFrames1324 = 0;\nvar $ans1321 = D;\nvar $al1322 = L[413];\nif(R.isAR($self1317)) {\n$step1315 = $self1317.step;\n$al1322 = $self1317.from;\n$ans1321 = $self1317.ans;\n$elidedFrames1324 = $self1317.elidedFrames;\nself1317 = $self1317.args[0];\nmaybe$stack$loc1318 = $self1317.args[1];\nsrc$available1319 = $self1317.args[2];\nmaybe$ast1320 = $self1317.args[3];\ncases1326 = $self1317.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[413],4,$t,true);\n}\nvar self1317 = $self1317;\nvar maybe$stack$loc1318 = $maybe$stack$loc1318;\nvar src$available1319 = $src$available1319;\nvar maybe$ast1320 = $maybe$ast1320;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1321 = R.mC();\n}\nwhile(!R.isContinuation($ans1321)) {\nswitch($step1315) {\ncase 0: $al1322 = L[414];\nvar anf_method_obj1325 = G(self1317,\"loc\",L[414]);\n$step1315 = 1;\n$ans1321 = R.maybeMethodCall0(anf_method_obj1325,\"is-builtin\",L[415]);\nbreak;\ncase 1: var anf_if1373 = $ans1321;\n$step1315 = R.checkPyretTrue(anf_if1373)?2:3;\nbreak;\ncase 2: $step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[416]);\nbreak;\ncase 3: $al1322 = L[417];\nvar anf_arg2076 = G(self1317,\"loc\",L[417]);\n$step1315 = 4;\n$al1322 = L[456];\nif(typeof(src$available1319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1322,src$available1319);\n}\n$ans1321 = src$available1319.app(anf_arg2076);\nbreak;\ncase 4: var anf_if1372 = $ans1321;\n$step1315 = R.checkPyretTrue(anf_if1372)?5:11;\nbreak;\ncase 5: $al1322 = L[418];\nvar anf_arg2079 = G(self1317,\"loc\",L[418]);\n$step1315 = 6;\n$al1322 = L[454];\nif(typeof(maybe$ast1320.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1322,maybe$ast1320);\n}\n$ans1321 = maybe$ast1320.app(anf_arg2079);\nbreak;\ncase 6: var cases1326 = $ans1321;\n$step1315 = 7;\n$al1322 = L[453];\nvar $ann$check1370 = R._cA(L[453],Option15,cases1326);\nif(R.isContinuation($ann$check1370)) {\n$ans1321 = $ann$check1370;\n}\nbreak;\ncase 7: $al1322 = L[450];\n$step1315 = $cases_dispatch1369[cases1326.$name] || 10;\nbreak;\ncase 8: if(cases1326.$arity !== 1) {\nif(cases1326.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[449],1,cases1326.$arity,L[450],cases1326.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[449],true,L[450],cases1326.$loc);\n}\n}\n$step1315 = 12;\n$al1322 = L[449];\nvar $temp_branch1362 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__450($test$ast1328) {\nvar $step1363 = 0;\nvar $elidedFrames1367 = 0;\nvar $ans1364 = D;\nvar $al1365 = L[419];\nif(R.isAR($test$ast1328)) {\n$step1363 = $test$ast1328.step;\n$al1365 = $test$ast1328.from;\n$ans1364 = $test$ast1328.ans;\n$elidedFrames1367 = $test$ast1328.elidedFrames;\ntest$ast1328 = $test$ast1328.args[0];\nrhs$ast1348 = $test$ast1328.vars[0];\nlhs$ast1332 = $test$ast1328.vars[1];\nanf_arg1361 = $test$ast1328.vars[2];\nanf_arg1350 = $test$ast1328.vars[3];\nanf_array1355 = $test$ast1328.vars[4];\nanf_arg2126 = $test$ast1328.vars[5];\nanf_arg2128 = $test$ast1328.vars[6];\nanf_arg1347 = $test$ast1328.vars[7];\ned$rhs1352 = $test$ast1328.vars[8];\nanf_fun1360 = $test$ast1328.vars[9];\nanf_fun1354 = $test$ast1328.vars[10];\ned$lhs1353 = $test$ast1328.vars[11];\n} else {\nvar test$ast1328 = $test$ast1328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1364 = R.mC();\n}\nwhile(!R.isContinuation($ans1364)) {\nswitch($step1363) {\ncase 0: $al1365 = L[419];\nvar anf_method_obj1327 = G(self1317,\"val-src\",L[419]);\n$step1363 = 1;\n$ans1364 = R.maybeMethodCall1(anf_method_obj1327,\"test-component\",L[420],test$ast1328);\nbreak;\ncase 1: var lhs$ast1332 = $ans1364;\n$al1365 = L[421];\nvar anf_bracket1329 = G(test$ast1328,\"right\",L[421]);\n$al1365 = L[422];\nvar rhs$ast1348 = G(anf_bracket1329,\"value\",L[422]);\n$al1365 = L[423];\nvar anf_method_obj1330 = G(self1317,\"val-src\",L[423]);\n$step1363 = 2;\n$ans1364 = R.maybeMethodCall0(anf_method_obj1330,\"side\",L[424]);\nbreak;\ncase 2: var anf_arg1331 = $ans1364;\n$step1363 = 3;\n$al1365 = L[448];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app(anf_arg1331);\nbreak;\ncase 3: var anf_arg1347 = $ans1364;\n$ans1364 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[425],L[426]);\nvar anf_fun1333 = $ans1364;\n$al1365 = L[427];\nvar anf_arg1346 = G(lhs$ast1332,\"l\",L[427]);\n$step1363 = 4;\n$al1365 = L[426];\nif(typeof(anf_fun1333.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1333);\n}\n$ans1364 = anf_fun1333.app(anf_arg1346);\nbreak;\ncase 4: var anf_arg2131 = $ans1364;\n$step1363 = 5;\n$al1365 = L[447];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1347,anf_arg2131,(3));\nbreak;\ncase 5: var ed$lhs1353 = $ans1364;\n$step1363 = 6;\n$al1365 = L[446];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg1350 = $ans1364;\n$ans1364 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[428],L[429]);\nvar anf_fun1349 = $ans1364;\n$al1365 = L[430];\nvar anf_arg2109 = G(rhs$ast1348,\"l\",L[430]);\n$step1363 = 7;\n$al1365 = L[429];\nif(typeof(anf_fun1349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1349);\n}\n$ans1364 = anf_fun1349.app(anf_arg2109);\nbreak;\ncase 7: var anf_arg2112 = $ans1364;\n$step1363 = 8;\n$al1365 = L[445];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1350,anf_arg2112,(4));\nbreak;\ncase 8: var ed$rhs1352 = $ans1364;\n$ans1364 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[431],L[432]);\nvar anf_fun1360 = $ans1364;\n$al1365 = L[433];\nvar anf_method_obj1351 = G(self1317,\"val-src\",L[433]);\n$step1363 = 9;\n$ans1364 = R.maybeMethodCall1(anf_method_obj1351,\"test-preamble\",L[434],test$ast1328);\nbreak;\ncase 9: var anf_arg2126 = $ans1364;\n$al1365 = L[435];\nvar anf_arg2127 = G(self1317,\"loc\",L[435]);\n$step1363 = 10;\n$al1365 = L[444];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg2127);\nbreak;\ncase 10: var anf_arg2128 = $ans1364;\n$ans1364 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[436],L[437]);\nvar anf_fun1354 = $ans1364;\n$ans1364 = R.makeArrayN((7));\nvar anf_array1355 = $ans1364;\n$step1363 = 11;\n$al1365 = L[443];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array1355[0] = $ans1364;\nanf_array1355[1] = ed$rhs1352;\n$step1363 = 12;\n$al1365 = L[442];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when applied to the \"));\nbreak;\ncase 12: anf_array1355[2] = $ans1364;\nanf_array1355[3] = ed$lhs1353;\n$step1363 = 13;\n$al1365 = L[441];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\". The \"));\nbreak;\ncase 13: anf_array1355[4] = $ans1364;\nanf_array1355[5] = ed$lhs1353;\n$step1363 = 14;\n$al1365 = L[440];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\" is:\"));\nbreak;\ncase 14: anf_array1355[6] = $ans1364;\n$step1363 = 15;\n$al1365 = L[437];\nif(typeof(anf_fun1354.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1354);\n}\n$ans1364 = anf_fun1354.app(anf_array1355);\nbreak;\ncase 15: var anf_arg1361 = $ans1364;\n$al1365 = L[438];\nvar anf_arg1359 = G(self1317,\"val\",L[438]);\n$step1363 = 16;\n$al1365 = L[439];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"embed\"].app(anf_arg1359);\nbreak;\ncase 16: var anf_arg52 = $ans1364;\n$step1363 = 17;\n$al1365 = L[432];\nif(typeof(anf_fun1360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1360);\n}\n$ans1364 = anf_fun1360.app(anf_arg2126,anf_arg2128,anf_arg1361,anf_arg52);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans1364;\ndefault: R.ffi.throwSpinnakerError(L[419],$step1363);\n}\n}\nif($step1363 !== 17) {\n$ans1364.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1365,$temp_branch1362,$step1363,[test$ast1328],[rhs$ast1348,lhs$ast1332,anf_arg1361,anf_arg1350,anf_array1355,anf_arg2126,anf_arg2128,anf_arg1347,ed$rhs1352,anf_fun1360,anf_fun1354,ed$lhs1353],$elidedFrames1367);\n}\nreturn $ans1364;\n};\n$ans1321 = cases1326.$app_fields($temp_branch1362,[false]);\nbreak;\ncase 9: if(cases1326.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[452],false,L[450],cases1326.$loc);\n}\n$step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[451]);\nbreak;\ncase 10: $ans1321 = R.throwNoCasesMatched(L[450],cases1326);\n$step1315 = 12;\nbreak;\ncase 11: $step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[455]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1321;\ndefault: R.ffi.throwSpinnakerError(L[413],$step1315);\n}\n}\nif($step1315 !== 12) {\n$ans1321.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1322,$temp_full1316,$step1315,[self1317,maybe$stack$loc1318,src$available1319,maybe$ast1320],[cases1326],$elidedFrames1324);\n}\nreturn $ans1321;\n};\nvar anf_variant_member2483 = R.makeMethod3($temp_full1316,\"render-fancy-reason\");\nvar $temp_full1377 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__457($self1561) {\nvar $step1376 = 0;\nvar $elidedFrames1381 = 0;\nvar $ans1378 = D;\nvar $al1379 = L[457];\nif(R.isAR($self1561)) {\n$step1376 = $self1561.step;\n$al1379 = $self1561.from;\n$ans1378 = $self1561.ans;\n$elidedFrames1381 = $self1561.elidedFrames;\nself1561 = $self1561.args[0];\nanf_fun1394 = $self1561.vars[0];\nanf_fun1383 = $self1561.vars[1];\nanf_arg74 = $self1561.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],1,$t,true);\n}\nvar self1561 = $self1561;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1378 = R.mC();\n}\nwhile(!R.isContinuation($ans1378)) {\nswitch($step1376) {\ncase 0: $ans1378 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[458],L[459]);\nvar anf_fun1394 = $ans1378;\n$ans1378 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[460],L[461]);\nvar anf_fun1383 = $ans1378;\n$step1376 = 1;\n$al1379 = L[464];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,ED23.dict.values.dict[\"text\"]);\n}\n$ans1378 = ED23.dict.values.dict[\"text\"].app((\"Predicate failed for value:\"));\nbreak;\ncase 1: var anf_arg1392 = $ans1378;\n$step1376 = 2;\n$al1379 = L[461];\nif(typeof(anf_fun1383.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,anf_fun1383);\n}\n$ans1378 = anf_fun1383.app(anf_arg1392);\nbreak;\ncase 2: var anf_arg74 = $ans1378;\n$al1379 = L[462];\nvar anf_arg75 = G(self1561,\"val\",L[462]);\n$step1376 = 3;\n$al1379 = L[463];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1378 = ED23.dict.values.dict[\"embed\"].app(anf_arg75);\nbreak;\ncase 3: var anf_arg77 = $ans1378;\n$step1376 = 4;\n$al1379 = L[459];\nif(typeof(anf_fun1394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,anf_fun1394);\n}\n$ans1378 = anf_fun1394.app(anf_arg74,anf_arg77);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1378;\ndefault: R.ffi.throwSpinnakerError(L[457],$step1376);\n}\n}\nif($step1376 !== 4) {\n$ans1378.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1379,$temp_full1377,$step1376,[self1561],[anf_fun1394,anf_fun1383,anf_arg74],$elidedFrames1381);\n}\nreturn $ans1378;\n};\nvar anf_variant_member2484 = R.makeMethod0($temp_full1377,\"render-reason\");\nvar $temp_full1399 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__465($self1400,$maybe$stack$loc1401,$src$available1402,$maybe$ast1403) {\nvar $step1398 = 0;\nvar $elidedFrames1407 = 0;\nvar $ans1404 = D;\nvar $al1405 = L[465];\nif(R.isAR($self1400)) {\n$step1398 = $self1400.step;\n$al1405 = $self1400.from;\n$ans1404 = $self1400.ans;\n$elidedFrames1407 = $self1400.elidedFrames;\nself1400 = $self1400.args[0];\nmaybe$stack$loc1401 = $self1400.args[1];\nsrc$available1402 = $self1400.args[2];\nmaybe$ast1403 = $self1400.args[3];\ncases1409 = $self1400.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[465],4,$t,true);\n}\nvar self1400 = $self1400;\nvar maybe$stack$loc1401 = $maybe$stack$loc1401;\nvar src$available1402 = $src$available1402;\nvar maybe$ast1403 = $maybe$ast1403;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1404 = R.mC();\n}\nwhile(!R.isContinuation($ans1404)) {\nswitch($step1398) {\ncase 0: $al1405 = L[466];\nvar anf_method_obj1408 = G(self1400,\"loc\",L[466]);\n$step1398 = 1;\n$ans1404 = R.maybeMethodCall0(anf_method_obj1408,\"is-builtin\",L[467]);\nbreak;\ncase 1: var anf_if1450 = $ans1404;\n$step1398 = R.checkPyretTrue(anf_if1450)?2:3;\nbreak;\ncase 2: $step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[468]);\nbreak;\ncase 3: $al1405 = L[469];\nvar anf_arg89 = G(self1400,\"loc\",L[469]);\n$step1398 = 4;\n$al1405 = L[508];\nif(typeof(src$available1402.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1405,src$available1402);\n}\n$ans1404 = src$available1402.app(anf_arg89);\nbreak;\ncase 4: var anf_if1449 = $ans1404;\n$step1398 = R.checkPyretTrue(anf_if1449)?5:11;\nbreak;\ncase 5: $al1405 = L[470];\nvar anf_arg92 = G(self1400,\"loc\",L[470]);\n$step1398 = 6;\n$al1405 = L[506];\nif(typeof(maybe$ast1403.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1405,maybe$ast1403);\n}\n$ans1404 = maybe$ast1403.app(anf_arg92);\nbreak;\ncase 6: var cases1409 = $ans1404;\n$step1398 = 7;\n$al1405 = L[505];\nvar $ann$check1448 = R._cA(L[505],Option15,cases1409);\nif(R.isContinuation($ann$check1448)) {\n$ans1404 = $ann$check1448;\n}\nbreak;\ncase 7: $al1405 = L[502];\n$step1398 = $cases_dispatch1447[cases1409.$name] || 10;\nbreak;\ncase 8: if(cases1409.$arity !== 1) {\nif(cases1409.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[501],1,cases1409.$arity,L[502],cases1409.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[501],true,L[502],cases1409.$loc);\n}\n}\n$step1398 = 12;\n$al1405 = L[501];\nvar $temp_branch1439 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__502($test$ast1411) {\nvar $step1441 = 0;\nvar $elidedFrames1445 = 0;\nvar $ans1442 = D;\nvar $al1443 = L[471];\nif(R.isAR($test$ast1411)) {\n$step1441 = $test$ast1411.step;\n$al1443 = $test$ast1411.from;\n$ans1442 = $test$ast1411.ans;\n$elidedFrames1445 = $test$ast1411.elidedFrames;\ntest$ast1411 = $test$ast1411.args[0];\nanf_fun1424 = $test$ast1411.vars[0];\nanf_arg96 = $test$ast1411.vars[1];\nrhs$ast1416 = $test$ast1411.vars[2];\ned$lhs1423 = $test$ast1411.vars[3];\nlhs$ast1414 = $test$ast1411.vars[4];\nanf_arg1420 = $test$ast1411.vars[5];\nanf_array1425 = $test$ast1411.vars[6];\nanf_arg141 = $test$ast1411.vars[7];\nanf_arg142 = $test$ast1411.vars[8];\nanf_arg154 = $test$ast1411.vars[9];\nanf_fun115 = $test$ast1411.vars[10];\ned$rhs1422 = $test$ast1411.vars[11];\n} else {\nvar test$ast1411 = $test$ast1411;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1442 = R.mC();\n}\nwhile(!R.isContinuation($ans1442)) {\nswitch($step1441) {\ncase 0: $al1443 = L[471];\nvar anf_method_obj1410 = G(self1400,\"val-src\",L[471]);\n$step1441 = 1;\n$ans1442 = R.maybeMethodCall1(anf_method_obj1410,\"test-component\",L[472],test$ast1411);\nbreak;\ncase 1: var lhs$ast1414 = $ans1442;\n$al1443 = L[473];\nvar anf_bracket1412 = G(test$ast1411,\"right\",L[473]);\n$al1443 = L[474];\nvar rhs$ast1416 = G(anf_bracket1412,\"value\",L[474]);\n$al1443 = L[475];\nvar anf_method_obj1413 = G(self1400,\"val-src\",L[475]);\n$step1441 = 2;\n$ans1442 = R.maybeMethodCall0(anf_method_obj1413,\"side\",L[476]);\nbreak;\ncase 2: var anf_arg95 = $ans1442;\n$step1441 = 3;\n$al1443 = L[500];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app(anf_arg95);\nbreak;\ncase 3: var anf_arg96 = $ans1442;\n$ans1442 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[477],L[478]);\nvar anf_fun1415 = $ans1442;\n$al1443 = L[479];\nvar anf_arg99 = G(lhs$ast1414,\"l\",L[479]);\n$step1441 = 4;\n$al1443 = L[478];\nif(typeof(anf_fun1415.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun1415);\n}\n$ans1442 = anf_fun1415.app(anf_arg99);\nbreak;\ncase 4: var anf_arg100 = $ans1442;\n$step1441 = 5;\n$al1443 = L[499];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"highlight\"].app(anf_arg96,anf_arg100,(3));\nbreak;\ncase 5: var ed$lhs1423 = $ans1442;\n$step1441 = 6;\n$al1443 = L[498];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg1420 = $ans1442;\n$ans1442 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[480],L[481]);\nvar anf_fun139 = $ans1442;\n$al1443 = L[482];\nvar anf_arg140 = G(rhs$ast1416,\"l\",L[482]);\n$step1441 = 7;\n$al1443 = L[481];\nif(typeof(anf_fun139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun139);\n}\n$ans1442 = anf_fun139.app(anf_arg140);\nbreak;\ncase 7: var anf_arg136 = $ans1442;\n$step1441 = 8;\n$al1443 = L[497];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1420,anf_arg136,(4));\nbreak;\ncase 8: var ed$rhs1422 = $ans1442;\n$ans1442 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[483],L[484]);\nvar anf_fun115 = $ans1442;\n$al1443 = L[485];\nvar anf_method_obj1421 = G(self1400,\"val-src\",L[485]);\n$step1441 = 9;\n$ans1442 = R.maybeMethodCall1(anf_method_obj1421,\"test-preamble\",L[486],test$ast1411);\nbreak;\ncase 9: var anf_arg141 = $ans1442;\n$al1443 = L[487];\nvar anf_arg138 = G(self1400,\"loc\",L[487]);\n$step1441 = 10;\n$al1443 = L[496];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg138);\nbreak;\ncase 10: var anf_arg142 = $ans1442;\n$ans1442 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[488],L[489]);\nvar anf_fun1424 = $ans1442;\n$ans1442 = R.makeArrayN((7));\nvar anf_array1425 = $ans1442;\n$step1441 = 11;\n$al1443 = L[495];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array1425[0] = $ans1442;\nanf_array1425[1] = ed$rhs1422;\n$step1441 = 12;\n$al1443 = L[494];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the value of the \"));\nbreak;\ncase 12: anf_array1425[2] = $ans1442;\nanf_array1425[3] = ed$lhs1423;\n$step1441 = 13;\n$al1443 = L[493];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 13: anf_array1425[4] = $ans1442;\nanf_array1425[5] = ed$lhs1423;\n$step1441 = 14;\n$al1443 = L[492];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 14: anf_array1425[6] = $ans1442;\n$step1441 = 15;\n$al1443 = L[489];\nif(typeof(anf_fun1424.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun1424);\n}\n$ans1442 = anf_fun1424.app(anf_array1425);\nbreak;\ncase 15: var anf_arg154 = $ans1442;\n$al1443 = L[490];\nvar anf_arg1433 = G(self1400,\"val\",L[490]);\n$step1441 = 16;\n$al1443 = L[491];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"embed\"].app(anf_arg1433);\nbreak;\ncase 16: var anf_arg1438 = $ans1442;\n$step1441 = 17;\n$al1443 = L[484];\nif(typeof(anf_fun115.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun115);\n}\n$ans1442 = anf_fun115.app(anf_arg141,anf_arg142,anf_arg154,anf_arg1438);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans1442;\ndefault: R.ffi.throwSpinnakerError(L[471],$step1441);\n}\n}\nif($step1441 !== 17) {\n$ans1442.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1443,$temp_branch1439,$step1441,[test$ast1411],[anf_fun1424,anf_arg96,rhs$ast1416,ed$lhs1423,lhs$ast1414,anf_arg1420,anf_array1425,anf_arg141,anf_arg142,anf_arg154,anf_fun115,ed$rhs1422],$elidedFrames1445);\n}\nreturn $ans1442;\n};\n$ans1404 = cases1409.$app_fields($temp_branch1439,[false]);\nbreak;\ncase 9: if(cases1409.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[504],false,L[502],cases1409.$loc);\n}\n$step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[503]);\nbreak;\ncase 10: $ans1404 = R.throwNoCasesMatched(L[502],cases1409);\n$step1398 = 12;\nbreak;\ncase 11: $step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[507]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1404;\ndefault: R.ffi.throwSpinnakerError(L[465],$step1398);\n}\n}\nif($step1398 !== 12) {\n$ans1404.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1405,$temp_full1399,$step1398,[self1400,maybe$stack$loc1401,src$available1402,maybe$ast1403],[cases1409],$elidedFrames1407);\n}\nreturn $ans1404;\n};\nvar anf_variant_member2495 = R.makeMethod3($temp_full1399,\"render-fancy-reason\");\nvar $temp_full1453 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__509($self1017) {\nvar $step1452 = 0;\nvar $elidedFrames1457 = 0;\nvar $ans1454 = D;\nvar $al1455 = L[509];\nif(R.isAR($self1017)) {\n$step1452 = $self1017.step;\n$al1455 = $self1017.from;\n$ans1454 = $self1017.ans;\n$elidedFrames1457 = $self1017.elidedFrames;\nself1017 = $self1017.args[0];\nanf_fun1470 = $self1017.vars[0];\nanf_fun1459 = $self1017.vars[1];\nanf_arg226 = $self1017.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[509],1,$t,true);\n}\nvar self1017 = $self1017;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1454 = R.mC();\n}\nwhile(!R.isContinuation($ans1454)) {\nswitch($step1452) {\ncase 0: $ans1454 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[510],L[511]);\nvar anf_fun1470 = $ans1454;\n$ans1454 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[512],L[513]);\nvar anf_fun1459 = $ans1454;\n$step1452 = 1;\n$al1455 = L[516];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,ED23.dict.values.dict[\"text\"]);\n}\n$ans1454 = ED23.dict.values.dict[\"text\"].app((\"Predicate succeeded for value (it should have failed):\"));\nbreak;\ncase 1: var anf_arg2353 = $ans1454;\n$step1452 = 2;\n$al1455 = L[513];\nif(typeof(anf_fun1459.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,anf_fun1459);\n}\n$ans1454 = anf_fun1459.app(anf_arg2353);\nbreak;\ncase 2: var anf_arg226 = $ans1454;\n$al1455 = L[514];\nvar anf_arg1467 = G(self1017,\"val\",L[514]);\n$step1452 = 3;\n$al1455 = L[515];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1454 = ED23.dict.values.dict[\"embed\"].app(anf_arg1467);\nbreak;\ncase 3: var anf_arg231 = $ans1454;\n$step1452 = 4;\n$al1455 = L[511];\nif(typeof(anf_fun1470.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,anf_fun1470);\n}\n$ans1454 = anf_fun1470.app(anf_arg226,anf_arg231);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1454;\ndefault: R.ffi.throwSpinnakerError(L[509],$step1452);\n}\n}\nif($step1452 !== 4) {\n$ans1454.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1455,$temp_full1453,$step1452,[self1017],[anf_fun1470,anf_fun1459,anf_arg226],$elidedFrames1457);\n}\nreturn $ans1454;\n};\nvar anf_variant_member2496 = R.makeMethod0($temp_full1453,\"render-reason\");\nvar $temp_full1473 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__517($self1509,$maybe$stack$loc1474,$src$available1475,$maybe$ast1476) {\nvar $step1472 = 0;\nvar $elidedFrames1480 = 0;\nvar $ans1477 = D;\nvar $al1478 = L[517];\nif(R.isAR($self1509)) {\n$step1472 = $self1509.step;\n$al1478 = $self1509.from;\n$ans1477 = $self1509.ans;\n$elidedFrames1480 = $self1509.elidedFrames;\nself1509 = $self1509.args[0];\nmaybe$stack$loc1474 = $self1509.args[1];\nsrc$available1475 = $self1509.args[2];\nmaybe$ast1476 = $self1509.args[3];\ncases1484 = $self1509.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[517],4,$t,true);\n}\nvar self1509 = $self1509;\nvar maybe$stack$loc1474 = $maybe$stack$loc1474;\nvar src$available1475 = $src$available1475;\nvar maybe$ast1476 = $maybe$ast1476;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1477 = R.mC();\n}\nwhile(!R.isContinuation($ans1477)) {\nswitch($step1472) {\ncase 0: $al1478 = L[518];\nvar anf_method_obj1481 = G(self1509,\"loc\",L[518]);\n$step1472 = 1;\n$ans1477 = R.maybeMethodCall0(anf_method_obj1481,\"is-builtin\",L[519]);\nbreak;\ncase 1: var anf_if1540 = $ans1477;\n$step1472 = R.checkPyretTrue(anf_if1540)?2:3;\nbreak;\ncase 2: $step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[520]);\nbreak;\ncase 3: $al1478 = L[521];\nvar anf_arg1483 = G(self1509,\"loc\",L[521]);\n$step1472 = 4;\n$al1478 = L[546];\nif(typeof(src$available1475.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1478,src$available1475);\n}\n$ans1477 = src$available1475.app(anf_arg1483);\nbreak;\ncase 4: var anf_if1539 = $ans1477;\n$step1472 = R.checkPyretTrue(anf_if1539)?5:11;\nbreak;\ncase 5: $al1478 = L[522];\nvar anf_arg274 = G(self1509,\"loc\",L[522]);\n$step1472 = 6;\n$al1478 = L[544];\nif(typeof(maybe$ast1476.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1478,maybe$ast1476);\n}\n$ans1477 = maybe$ast1476.app(anf_arg274);\nbreak;\ncase 6: var cases1484 = $ans1477;\n$step1472 = 7;\n$al1478 = L[543];\nvar $ann$check1538 = R._cA(L[543],Option15,cases1484);\nif(R.isContinuation($ann$check1538)) {\n$ans1477 = $ann$check1538;\n}\nbreak;\ncase 7: $al1478 = L[540];\n$step1472 = $cases_dispatch1537[cases1484.$name] || 10;\nbreak;\ncase 8: if(cases1484.$arity !== 1) {\nif(cases1484.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[539],1,cases1484.$arity,L[540],cases1484.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[539],true,L[540],cases1484.$loc);\n}\n}\n$step1472 = 12;\n$al1478 = L[539];\nvar $temp_branch1528 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__540($test$ast1486) {\nvar $step1531 = 0;\nvar $elidedFrames1535 = 0;\nvar $ans1532 = D;\nvar $al1533 = L[524];\nif(R.isAR($test$ast1486)) {\n$step1531 = $test$ast1486.step;\n$al1533 = $test$ast1486.from;\n$ans1532 = $test$ast1486.ans;\n$elidedFrames1535 = $test$ast1486.elidedFrames;\ntest$ast1486 = $test$ast1486.args[0];\nanf_fun1525 = $test$ast1486.vars[0];\nanf_fun1515 = $test$ast1486.vars[1];\nanf_fun1526 = $test$ast1486.vars[2];\nanf_array1527 = $test$ast1486.vars[3];\n} else {\nvar test$ast1486 = $test$ast1486;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1532 = R.mC();\n}\nwhile(!R.isContinuation($ans1532)) {\nswitch($step1531) {\ncase 0: $ans1532 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[523],L[524]);\nvar anf_fun1526 = $ans1532;\n$ans1532 = R.makeArrayN((6));\nvar anf_array1527 = $ans1532;\n$al1533 = L[525];\nvar anf_method_obj1485 = G(self1509,\"actual-src\",L[525]);\n$step1531 = 1;\n$ans1532 = R.maybeMethodCall1(anf_method_obj1485,\"test-preamble\",L[526],test$ast1486);\nbreak;\ncase 1: anf_array1527[0] = $ans1532;\n$al1533 = L[527];\nvar anf_arg1514 = G(self1509,\"loc\",L[527]);\n$step1531 = 2;\n$al1533 = L[538];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1514);\nbreak;\ncase 2: anf_array1527[1] = $ans1532;\n$ans1532 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[528],L[529]);\nvar anf_fun1515 = $ans1532;\n$step1531 = 3;\n$al1533 = L[537];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"text\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 3: var anf_arg296 = $ans1532;\n$step1531 = 4;\n$al1533 = L[529];\nif(typeof(anf_fun1515.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1515);\n}\n$ans1532 = anf_fun1515.app(anf_arg296);\nbreak;\ncase 4: anf_array1527[2] = $ans1532;\n$al1533 = L[530];\nvar anf_arg1524 = G(self1509,\"actual-exn\",L[530]);\n$step1531 = 5;\n$al1533 = L[536];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"embed\"].app(anf_arg1524);\nbreak;\ncase 5: anf_array1527[3] = $ans1532;\n$ans1532 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[531],L[532]);\nvar anf_fun1525 = $ans1532;\n$step1531 = 6;\n$al1533 = L[535];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"text\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"text\"].app((\"when expecting \"));\nbreak;\ncase 6: var anf_arg320 = $ans1532;\n$step1531 = 7;\n$al1533 = L[532];\nif(typeof(anf_fun1525.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1525);\n}\n$ans1532 = anf_fun1525.app(anf_arg320);\nbreak;\ncase 7: anf_array1527[4] = $ans1532;\n$al1533 = L[533];\nvar anf_arg2501 = G(self1509,\"exn-expected\",L[533]);\n$step1531 = 8;\n$al1533 = L[534];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"embed\"].app(anf_arg2501);\nbreak;\ncase 8: anf_array1527[5] = $ans1532;\n$step1531 = 9;\n$al1533 = L[524];\nif(typeof(anf_fun1526.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1526);\n}\n$ans1532 = anf_fun1526.app(anf_array1527);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1532;\ndefault: R.ffi.throwSpinnakerError(L[524],$step1531);\n}\n}\nif($step1531 !== 9) {\n$ans1532.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1533,$temp_branch1528,$step1531,[test$ast1486],[anf_fun1525,anf_fun1515,anf_fun1526,anf_array1527],$elidedFrames1535);\n}\nreturn $ans1532;\n};\n$ans1477 = cases1484.$app_fields($temp_branch1528,[false]);\nbreak;\ncase 9: if(cases1484.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[542],false,L[540],cases1484.$loc);\n}\n$step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[541]);\nbreak;\ncase 10: $ans1477 = R.throwNoCasesMatched(L[540],cases1484);\n$step1472 = 12;\nbreak;\ncase 11: $step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[545]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1477;\ndefault: R.ffi.throwSpinnakerError(L[517],$step1472);\n}\n}\nif($step1472 !== 12) {\n$ans1477.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1478,$temp_full1473,$step1472,[self1509,maybe$stack$loc1474,src$available1475,maybe$ast1476],[cases1484],$elidedFrames1480);\n}\nreturn $ans1477;\n};\nvar anf_variant_member2506 = R.makeMethod3($temp_full1473,\"render-fancy-reason\");\nvar $temp_full1543 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__547($self1544,$get$stack1545) {\nvar $step1542 = 0;\nvar $elidedFrames1550 = 0;\nvar $ans1547 = D;\nvar $al1548 = L[547];\nif(R.isAR($self1544)) {\n$step1542 = $self1544.step;\n$al1548 = $self1544.from;\n$ans1547 = $self1544.ans;\n$elidedFrames1550 = $self1544.elidedFrames;\nself1544 = $self1544.args[0];\nget$stack1545 = $self1544.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],2,$t,true);\n}\nvar self1544 = $self1544;\nvar get$stack1545 = $get$stack1545;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1547 = R.mC();\n}\nwhile(!R.isContinuation($ans1547)) {\nswitch($step1542) {\ncase 0: $al1548 = L[548];\nvar anf_arg340 = G(self1544,\"actual-exn\",L[548]);\n$step1542 = 1;\n$al1548 = L[549];\nif(typeof(get$stack1545.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1548,get$stack1545);\n}\n$ans1547 = get$stack1545.app(anf_arg340);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1547;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1542);\n}\n}\nif($step1542 !== 1) {\n$ans1547.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1548,$temp_full1543,$step1542,[self1544,get$stack1545],[],$elidedFrames1550);\n}\nreturn $ans1547;\n};\nvar anf_variant_member5641 = R.makeMethod1($temp_full1543,\"access-stack\");\nvar $temp_full1554 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__550($self1555) {\nvar $step1553 = 0;\nvar $elidedFrames1560 = 0;\nvar $ans1557 = D;\nvar $al1558 = L[550];\nif(R.isAR($self1555)) {\n$step1553 = $self1555.step;\n$al1558 = $self1555.from;\n$ans1557 = $self1555.ans;\n$elidedFrames1560 = $self1555.elidedFrames;\nself1555 = $self1555.args[0];\nanf_arg2550 = $self1555.vars[0];\nanf_arg2526 = $self1555.vars[1];\nanf_arg2539 = $self1555.vars[2];\nanf_fun1561 = $self1555.vars[3];\nanf_fun1562 = $self1555.vars[4];\nanf_fun1564 = $self1555.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[550],1,$t,true);\n}\nvar self1555 = $self1555;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1557 = R.mC();\n}\nwhile(!R.isContinuation($ans1557)) {\nswitch($step1553) {\ncase 0: $ans1557 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[551],L[552]);\nvar anf_fun1564 = $ans1557;\n$ans1557 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[553],L[554]);\nvar anf_fun1561 = $ans1557;\n$step1553 = 1;\n$al1558 = L[562];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"text\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 1: var anf_arg355 = $ans1557;\n$step1553 = 2;\n$al1558 = L[554];\nif(typeof(anf_fun1561.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1561);\n}\n$ans1557 = anf_fun1561.app(anf_arg355);\nbreak;\ncase 2: var anf_arg2526 = $ans1557;\n$al1558 = L[555];\nvar anf_arg356 = G(self1555,\"actual-exn\",L[555]);\n$step1553 = 3;\n$al1558 = L[561];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"embed\"].app(anf_arg356);\nbreak;\ncase 3: var anf_arg2539 = $ans1557;\n$ans1557 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[556],L[557]);\nvar anf_fun1562 = $ans1557;\n$step1553 = 4;\n$al1558 = L[560];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"text\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"text\"].app((\"when expecting \"));\nbreak;\ncase 4: var anf_arg2548 = $ans1557;\n$step1553 = 5;\n$al1558 = L[557];\nif(typeof(anf_fun1562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1562);\n}\n$ans1557 = anf_fun1562.app(anf_arg2548);\nbreak;\ncase 5: var anf_arg2550 = $ans1557;\n$al1558 = L[558];\nvar anf_arg1563 = G(self1555,\"exn-expected\",L[558]);\n$step1553 = 6;\n$al1558 = L[559];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"embed\"].app(anf_arg1563);\nbreak;\ncase 6: var anf_arg1565 = $ans1557;\n$step1553 = 7;\n$al1558 = L[552];\nif(typeof(anf_fun1564.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1564);\n}\n$ans1557 = anf_fun1564.app(anf_arg2526,anf_arg2539,anf_arg2550,anf_arg1565);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1557;\ndefault: R.ffi.throwSpinnakerError(L[550],$step1553);\n}\n}\nif($step1553 !== 7) {\n$ans1557.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1558,$temp_full1554,$step1553,[self1555],[anf_arg2550,anf_arg2526,anf_arg2539,anf_fun1561,anf_fun1562,anf_fun1564],$elidedFrames1560);\n}\nreturn $ans1557;\n};\nvar anf_variant_member2507 = R.makeMethod0($temp_full1554,\"render-reason\");\nvar $temp_full1568 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__563($self1569) {\nvar $step1567 = 0;\nvar $elidedFrames1573 = 0;\nvar $ans1570 = D;\nvar $al1571 = L[563];\nif(R.isAR($self1569)) {\n$step1567 = $self1569.step;\n$al1571 = $self1569.from;\n$ans1570 = $self1569.ans;\n$elidedFrames1573 = $self1569.elidedFrames;\nself1569 = $self1569.args[0];\nanf_fun1607 = $self1569.vars[0];\nanf_arg399 = $self1569.vars[1];\nanf_arg408 = $self1569.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[563],1,$t,true);\n}\nvar self1569 = $self1569;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1570 = R.mC();\n}\nwhile(!R.isContinuation($ans1570)) {\nswitch($step1567) {\ncase 0: $ans1570 = R.getMaker3(list6,(\"make3\"),L[564],L[565]);\nvar anf_fun1607 = $ans1570;\n$al1571 = L[566];\nvar anf_arg397 = G(self1569,\"loc\",L[566]);\n$step1567 = 1;\n$al1571 = L[573];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg397);\nbreak;\ncase 1: var anf_arg399 = $ans1570;\n$al1571 = L[567];\nvar anf_arg1598 = G(self1569,\"exn-expected\",L[567]);\n$step1567 = 2;\n$al1571 = L[572];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1598);\nbreak;\ncase 2: var anf_arg408 = $ans1570;\n$al1571 = L[568];\nvar anf_arg1599 = G(self1569,\"actual-exn\",L[568]);\n$step1567 = 3;\n$al1571 = L[571];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,exn$unwrap2);\n}\n$ans1570 = exn$unwrap2.app(anf_arg1599);\nbreak;\ncase 3: var anf_arg1604 = $ans1570;\n$step1567 = 4;\n$al1571 = L[570];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1604);\nbreak;\ncase 4: var anf_arg1620 = $ans1570;\n$step1567 = 5;\n$al1571 = L[565];\nif(typeof(anf_fun1607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,anf_fun1607);\n}\n$ans1570 = anf_fun1607.app(anf_arg399,anf_arg408,anf_arg1620);\nbreak;\ncase 5: var anf_arg1640 = $ans1570;\n$step1567 = 6;\n$al1571 = L[569];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-wrong-exn\"),anf_arg1640);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1570;\ndefault: R.ffi.throwSpinnakerError(L[563],$step1567);\n}\n}\nif($step1567 !== 6) {\n$ans1570.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1571,$temp_full1568,$step1567,[self1569],[anf_fun1607,anf_arg399,anf_arg408],$elidedFrames1573);\n}\nreturn $ans1570;\n};\nvar anf_variant_member2508 = R.makeMethod0($temp_full1568,\"_output\");\nvar $temp_full1643 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__574($self1563,$maybe$stack$loc1644,$src$available1645,$maybe$ast1646) {\nvar $step1642 = 0;\nvar $elidedFrames1651 = 0;\nvar $ans1648 = D;\nvar $al1649 = L[574];\nif(R.isAR($self1563)) {\n$step1642 = $self1563.step;\n$al1649 = $self1563.from;\n$ans1648 = $self1563.ans;\n$elidedFrames1651 = $self1563.elidedFrames;\nself1563 = $self1563.args[0];\nmaybe$stack$loc1644 = $self1563.args[1];\nsrc$available1645 = $self1563.args[2];\nmaybe$ast1646 = $self1563.args[3];\ncases1653 = $self1563.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[574],4,$t,true);\n}\nvar self1563 = $self1563;\nvar maybe$stack$loc1644 = $maybe$stack$loc1644;\nvar src$available1645 = $src$available1645;\nvar maybe$ast1646 = $maybe$ast1646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1648 = R.mC();\n}\nwhile(!R.isContinuation($ans1648)) {\nswitch($step1642) {\ncase 0: $al1649 = L[575];\nvar anf_method_obj1652 = G(self1563,\"loc\",L[575]);\n$step1642 = 1;\n$ans1648 = R.maybeMethodCall0(anf_method_obj1652,\"is-builtin\",L[576]);\nbreak;\ncase 1: var anf_if1688 = $ans1648;\n$step1642 = R.checkPyretTrue(anf_if1688)?2:3;\nbreak;\ncase 2: $step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[577]);\nbreak;\ncase 3: $al1649 = L[578];\nvar anf_arg423 = G(self1563,\"loc\",L[578]);\n$step1642 = 4;\n$al1649 = L[603];\nif(typeof(src$available1645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1649,src$available1645);\n}\n$ans1648 = src$available1645.app(anf_arg423);\nbreak;\ncase 4: var anf_if1685 = $ans1648;\n$step1642 = R.checkPyretTrue(anf_if1685)?5:11;\nbreak;\ncase 5: $al1649 = L[579];\nvar anf_arg424 = G(self1563,\"loc\",L[579]);\n$step1642 = 6;\n$al1649 = L[601];\nif(typeof(maybe$ast1646.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1649,maybe$ast1646);\n}\n$ans1648 = maybe$ast1646.app(anf_arg424);\nbreak;\ncase 6: var cases1653 = $ans1648;\n$step1642 = 7;\n$al1649 = L[600];\nvar $ann$check1684 = R._cA(L[600],Option15,cases1653);\nif(R.isContinuation($ann$check1684)) {\n$ans1648 = $ann$check1684;\n}\nbreak;\ncase 7: $al1649 = L[597];\n$step1642 = $cases_dispatch1683[cases1653.$name] || 10;\nbreak;\ncase 8: if(cases1653.$arity !== 1) {\nif(cases1653.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[596],1,cases1653.$arity,L[597],cases1653.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[596],true,L[597],cases1653.$loc);\n}\n}\n$step1642 = 12;\n$al1649 = L[596];\nvar $temp_branch1675 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__597($test$ast1655) {\nvar $step1676 = 0;\nvar $elidedFrames1680 = 0;\nvar $ans1677 = D;\nvar $al1678 = L[581];\nif(R.isAR($test$ast1655)) {\n$step1676 = $test$ast1655.step;\n$al1678 = $test$ast1655.from;\n$ans1677 = $test$ast1655.ans;\n$elidedFrames1680 = $test$ast1655.elidedFrames;\ntest$ast1655 = $test$ast1655.args[0];\nanf_array1674 = $test$ast1655.vars[0];\nanf_fun1659 = $test$ast1655.vars[1];\nanf_fun1671 = $test$ast1655.vars[2];\nanf_fun1673 = $test$ast1655.vars[3];\n} else {\nvar test$ast1655 = $test$ast1655;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1677 = R.mC();\n}\nwhile(!R.isContinuation($ans1677)) {\nswitch($step1676) {\ncase 0: $ans1677 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[580],L[581]);\nvar anf_fun1673 = $ans1677;\n$ans1677 = R.makeArrayN((6));\nvar anf_array1674 = $ans1677;\n$al1678 = L[582];\nvar anf_method_obj1654 = G(self1563,\"actual-src\",L[582]);\n$step1676 = 1;\n$ans1677 = R.maybeMethodCall1(anf_method_obj1654,\"test-preamble\",L[583],test$ast1655);\nbreak;\ncase 1: anf_array1674[0] = $ans1677;\n$al1678 = L[584];\nvar anf_arg443 = G(self1563,\"loc\",L[584]);\n$step1676 = 2;\n$al1678 = L[595];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg443);\nbreak;\ncase 2: anf_array1674[1] = $ans1677;\n$ans1677 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[585],L[586]);\nvar anf_fun1659 = $ans1677;\n$step1676 = 3;\n$al1678 = L[594];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"text\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"text\"].app((\"Got exception \"));\nbreak;\ncase 3: var anf_arg446 = $ans1677;\n$step1676 = 4;\n$al1678 = L[586];\nif(typeof(anf_fun1659.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1659);\n}\n$ans1677 = anf_fun1659.app(anf_arg446);\nbreak;\ncase 4: anf_array1674[2] = $ans1677;\n$al1678 = L[587];\nvar anf_arg1669 = G(self1563,\"actual-exn\",L[587]);\n$step1676 = 5;\n$al1678 = L[593];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"embed\"].app(anf_arg1669);\nbreak;\ncase 5: anf_array1674[3] = $ans1677;\n$ans1677 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[588],L[589]);\nvar anf_fun1671 = $ans1677;\n$step1676 = 6;\n$al1678 = L[592];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"text\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"text\"].app((\"and expected it not to contain \"));\nbreak;\ncase 6: var anf_arg435 = $ans1677;\n$step1676 = 7;\n$al1678 = L[589];\nif(typeof(anf_fun1671.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1671);\n}\n$ans1677 = anf_fun1671.app(anf_arg435);\nbreak;\ncase 7: anf_array1674[4] = $ans1677;\n$al1678 = L[590];\nvar anf_arg1672 = G(self1563,\"exn-not-expected\",L[590]);\n$step1676 = 8;\n$al1678 = L[591];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"embed\"].app(anf_arg1672);\nbreak;\ncase 8: anf_array1674[5] = $ans1677;\n$step1676 = 9;\n$al1678 = L[581];\nif(typeof(anf_fun1673.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1673);\n}\n$ans1677 = anf_fun1673.app(anf_array1674);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1677;\ndefault: R.ffi.throwSpinnakerError(L[581],$step1676);\n}\n}\nif($step1676 !== 9) {\n$ans1677.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1678,$temp_branch1675,$step1676,[test$ast1655],[anf_array1674,anf_fun1659,anf_fun1671,anf_fun1673],$elidedFrames1680);\n}\nreturn $ans1677;\n};\n$ans1648 = cases1653.$app_fields($temp_branch1675,[false]);\nbreak;\ncase 9: if(cases1653.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[599],false,L[597],cases1653.$loc);\n}\n$step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[598]);\nbreak;\ncase 10: $ans1648 = R.throwNoCasesMatched(L[597],cases1653);\n$step1642 = 12;\nbreak;\ncase 11: $step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[602]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1648;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1642);\n}\n}\nif($step1642 !== 12) {\n$ans1648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1649,$temp_full1643,$step1642,[self1563,maybe$stack$loc1644,src$available1645,maybe$ast1646],[cases1653],$elidedFrames1651);\n}\nreturn $ans1648;\n};\nvar anf_variant_member2518 = R.makeMethod3($temp_full1643,\"render-fancy-reason\");\nvar $temp_full1692 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__604($self1210) {\nvar $step1691 = 0;\nvar $elidedFrames1697 = 0;\nvar $ans1694 = D;\nvar $al1695 = L[604];\nif(R.isAR($self1210)) {\n$step1691 = $self1210.step;\n$al1695 = $self1210.from;\n$ans1694 = $self1210.ans;\n$elidedFrames1697 = $self1210.elidedFrames;\nself1210 = $self1210.args[0];\nanf_fun1699 = $self1210.vars[0];\nanf_fun1712 = $self1210.vars[1];\nanf_fun1704 = $self1210.vars[2];\nanf_arg447 = $self1210.vars[3];\nanf_arg458 = $self1210.vars[4];\nanf_arg448 = $self1210.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[604],1,$t,true);\n}\nvar self1210 = $self1210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1694 = R.mC();\n}\nwhile(!R.isContinuation($ans1694)) {\nswitch($step1691) {\ncase 0: $ans1694 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[605],L[606]);\nvar anf_fun1712 = $ans1694;\n$ans1694 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[607],L[608]);\nvar anf_fun1699 = $ans1694;\n$step1691 = 1;\n$al1695 = L[616];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"text\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"text\"].app((\"Got exception \"));\nbreak;\ncase 1: var anf_arg440 = $ans1694;\n$step1691 = 2;\n$al1695 = L[608];\nif(typeof(anf_fun1699.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1699);\n}\n$ans1694 = anf_fun1699.app(anf_arg440);\nbreak;\ncase 2: var anf_arg447 = $ans1694;\n$al1695 = L[609];\nvar anf_arg441 = G(self1210,\"actual-exn\",L[609]);\n$step1691 = 3;\n$al1695 = L[615];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"embed\"].app(anf_arg441);\nbreak;\ncase 3: var anf_arg448 = $ans1694;\n$ans1694 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[610],L[611]);\nvar anf_fun1704 = $ans1694;\n$step1691 = 4;\n$al1695 = L[614];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"text\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"text\"].app((\"and expected it not to contain \"));\nbreak;\ncase 4: var anf_arg1711 = $ans1694;\n$step1691 = 5;\n$al1695 = L[611];\nif(typeof(anf_fun1704.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1704);\n}\n$ans1694 = anf_fun1704.app(anf_arg1711);\nbreak;\ncase 5: var anf_arg458 = $ans1694;\n$al1695 = L[612];\nvar anf_arg464 = G(self1210,\"exn-not-expected\",L[612]);\n$step1691 = 6;\n$al1695 = L[613];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"embed\"].app(anf_arg464);\nbreak;\ncase 6: var anf_arg1713 = $ans1694;\n$step1691 = 7;\n$al1695 = L[606];\nif(typeof(anf_fun1712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1712);\n}\n$ans1694 = anf_fun1712.app(anf_arg447,anf_arg448,anf_arg458,anf_arg1713);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1694;\ndefault: R.ffi.throwSpinnakerError(L[604],$step1691);\n}\n}\nif($step1691 !== 7) {\n$ans1694.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1695,$temp_full1692,$step1691,[self1210],[anf_fun1699,anf_fun1712,anf_fun1704,anf_arg447,anf_arg458,anf_arg448],$elidedFrames1697);\n}\nreturn $ans1694;\n};\nvar anf_variant_member2519 = R.makeMethod0($temp_full1692,\"render-reason\");\nvar $temp_full1716 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__617($self1612) {\nvar $step1715 = 0;\nvar $elidedFrames1720 = 0;\nvar $ans1717 = D;\nvar $al1718 = L[617];\nif(R.isAR($self1612)) {\n$step1715 = $self1612.step;\n$al1718 = $self1612.from;\n$ans1717 = $self1612.ans;\n$elidedFrames1720 = $self1612.elidedFrames;\nself1612 = $self1612.args[0];\nanf_arg1744 = $self1612.vars[0];\nanf_arg466 = $self1612.vars[1];\nanf_fun1741 = $self1612.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[617],1,$t,true);\n}\nvar self1612 = $self1612;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1717 = R.mC();\n}\nwhile(!R.isContinuation($ans1717)) {\nswitch($step1715) {\ncase 0: $ans1717 = R.getMaker3(list6,(\"make3\"),L[618],L[619]);\nvar anf_fun1741 = $ans1717;\n$al1718 = L[620];\nvar anf_arg462 = G(self1612,\"loc\",L[620]);\n$step1715 = 1;\n$al1718 = L[627];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg462);\nbreak;\ncase 1: var anf_arg466 = $ans1717;\n$al1718 = L[621];\nvar anf_arg1733 = G(self1612,\"exn-not-expected\",L[621]);\n$step1715 = 2;\n$al1718 = L[626];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1733);\nbreak;\ncase 2: var anf_arg1744 = $ans1717;\n$al1718 = L[622];\nvar anf_arg479 = G(self1612,\"actual-exn\",L[622]);\n$step1715 = 3;\n$al1718 = L[625];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,exn$unwrap2);\n}\n$ans1717 = exn$unwrap2.app(anf_arg479);\nbreak;\ncase 3: var anf_arg1740 = $ans1717;\n$step1715 = 4;\n$al1718 = L[624];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1740);\nbreak;\ncase 4: var anf_arg533 = $ans1717;\n$step1715 = 5;\n$al1718 = L[619];\nif(typeof(anf_fun1741.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,anf_fun1741);\n}\n$ans1717 = anf_fun1741.app(anf_arg466,anf_arg1744,anf_arg533);\nbreak;\ncase 5: var anf_arg534 = $ans1717;\n$step1715 = 6;\n$al1718 = L[623];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-right-exn\"),anf_arg534);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1717;\ndefault: R.ffi.throwSpinnakerError(L[617],$step1715);\n}\n}\nif($step1715 !== 6) {\n$ans1717.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1718,$temp_full1716,$step1715,[self1612],[anf_arg1744,anf_arg466,anf_fun1741],$elidedFrames1720);\n}\nreturn $ans1717;\n};\nvar anf_variant_member2520 = R.makeMethod0($temp_full1716,\"_output\");\nvar $temp_full1747 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__628($self1748,$maybe$stack$loc1749,$src$available1750,$maybe$ast1751) {\nvar $step1746 = 0;\nvar $elidedFrames1755 = 0;\nvar $ans1752 = D;\nvar $al1753 = L[628];\nif(R.isAR($self1748)) {\n$step1746 = $self1748.step;\n$al1753 = $self1748.from;\n$ans1752 = $self1748.ans;\n$elidedFrames1755 = $self1748.elidedFrames;\nself1748 = $self1748.args[0];\nmaybe$stack$loc1749 = $self1748.args[1];\nsrc$available1750 = $self1748.args[2];\nmaybe$ast1751 = $self1748.args[3];\ncases1757 = $self1748.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[628],4,$t,true);\n}\nvar self1748 = $self1748;\nvar maybe$stack$loc1749 = $maybe$stack$loc1749;\nvar src$available1750 = $src$available1750;\nvar maybe$ast1751 = $maybe$ast1751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1752 = R.mC();\n}\nwhile(!R.isContinuation($ans1752)) {\nswitch($step1746) {\ncase 0: $al1753 = L[629];\nvar anf_method_obj1756 = G(self1748,\"loc\",L[629]);\n$step1746 = 1;\n$ans1752 = R.maybeMethodCall0(anf_method_obj1756,\"is-builtin\",L[630]);\nbreak;\ncase 1: var anf_if1843 = $ans1752;\n$step1746 = R.checkPyretTrue(anf_if1843)?2:3;\nbreak;\ncase 2: $step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[631]);\nbreak;\ncase 3: $al1753 = L[632];\nvar anf_arg514 = G(self1748,\"loc\",L[632]);\n$step1746 = 4;\n$al1753 = L[713];\nif(typeof(src$available1750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1753,src$available1750);\n}\n$ans1752 = src$available1750.app(anf_arg514);\nbreak;\ncase 4: var anf_if1842 = $ans1752;\n$step1746 = R.checkPyretTrue(anf_if1842)?5:11;\nbreak;\ncase 5: $al1753 = L[633];\nvar anf_arg515 = G(self1748,\"loc\",L[633]);\n$step1746 = 6;\n$al1753 = L[711];\nif(typeof(maybe$ast1751.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1753,maybe$ast1751);\n}\n$ans1752 = maybe$ast1751.app(anf_arg515);\nbreak;\ncase 6: var cases1757 = $ans1752;\n$step1746 = 7;\n$al1753 = L[710];\nvar $ann$check1841 = R._cA(L[710],Option15,cases1757);\nif(R.isContinuation($ann$check1841)) {\n$ans1752 = $ann$check1841;\n}\nbreak;\ncase 7: $al1753 = L[707];\n$step1746 = $cases_dispatch1840[cases1757.$name] || 10;\nbreak;\ncase 8: if(cases1757.$arity !== 1) {\nif(cases1757.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[706],1,cases1757.$arity,L[707],cases1757.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[706],true,L[707],cases1757.$loc);\n}\n}\n$step1746 = 12;\n$al1753 = L[706];\nvar $temp_branch1814 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__707($test$ast1759) {\nvar $step1815 = 0;\nvar $elidedFrames1820 = 0;\nvar $ans1817 = D;\nvar $al1818 = L[634];\nif(R.isAR($test$ast1759)) {\n$step1815 = $test$ast1759.step;\n$al1818 = $test$ast1759.from;\n$ans1817 = $test$ast1759.ans;\n$elidedFrames1820 = $test$ast1759.elidedFrames;\ntest$ast1759 = $test$ast1759.args[0];\nanf_fun1786 = $test$ast1759.vars[0];\nanf_fun1777 = $test$ast1759.vars[1];\nlhs$ast1775 = $test$ast1759.vars[2];\nanf_arg1773 = $test$ast1759.vars[3];\nanf_arg492 = $test$ast1759.vars[4];\nanf_arg1774 = $test$ast1759.vars[5];\nanf_arg486 = $test$ast1759.vars[6];\nanf_arg489 = $test$ast1759.vars[7];\nanf_arg512 = $test$ast1759.vars[8];\ncases1762 = $test$ast1759.vars[9];\nanf_arg549 = $test$ast1759.vars[10];\nanf_arg509 = $test$ast1759.vars[11];\nanf_fun1781 = $test$ast1759.vars[12];\nanf_fun1761 = $test$ast1759.vars[13];\nanf_fun1772 = $test$ast1759.vars[14];\nanf_fun1763 = $test$ast1759.vars[15];\n} else {\nvar test$ast1759 = $test$ast1759;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1817 = R.mC();\n}\nwhile(!R.isContinuation($ans1817)) {\nswitch($step1815) {\ncase 0: $al1818 = L[634];\nvar anf_method_obj1758 = G(self1748,\"exn-place\",L[634]);\n$step1815 = 1;\n$ans1817 = R.maybeMethodCall1(anf_method_obj1758,\"test-component\",L[635],test$ast1759);\nbreak;\ncase 1: var lhs$ast1775 = $ans1817;\n$ans1817 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[636],L[637]);\nvar anf_fun1772 = $ans1817;\n$al1818 = L[638];\nvar anf_method_obj1760 = G(self1748,\"exn-place\",L[638]);\n$step1815 = 2;\n$ans1817 = R.maybeMethodCall1(anf_method_obj1760,\"test-preamble\",L[639],test$ast1759);\nbreak;\ncase 2: var anf_arg1773 = $ans1817;\n$al1818 = L[640];\nvar anf_arg484 = G(self1748,\"loc\",L[640]);\n$step1815 = 3;\n$al1818 = L[705];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg484);\nbreak;\ncase 3: var anf_arg489 = $ans1817;\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[641],L[642]);\nvar anf_fun1761 = $ans1817;\n$step1815 = 4;\n$al1818 = L[704];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"It did not expect the evaluation of the \"));\nbreak;\ncase 4: var anf_arg491 = $ans1817;\n$step1815 = 5;\n$al1818 = L[642];\nif(typeof(anf_fun1761.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1761);\n}\n$ans1817 = anf_fun1761.app(anf_arg491);\nbreak;\ncase 5: var anf_arg492 = $ans1817;\n$al1818 = L[643];\nvar cases1762 = G(self1748,\"exn-place\",L[643]);\n$step1815 = 6;\n$al1818 = L[703];\nvar $ann$check1838 = R._cA(L[703],CheckOperand113,cases1762);\nif(R.isContinuation($ann$check1838)) {\n$ans1817 = $ann$check1838;\n}\nbreak;\ncase 6: $al1818 = L[660];\n$step1815 = $cases_dispatch1837[cases1762.$name] || 20;\nbreak;\ncase 7: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[659],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[652],L[653]);\nvar anf_fun1777 = $ans1817;\n$step1815 = 8;\n$al1818 = L[658];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg486 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[654],L[655]);\nvar anf_fun1776 = $ans1817;\n$al1818 = L[656];\nvar anf_arg488 = G(lhs$ast1775,\"l\",L[656]);\n$step1815 = 9;\n$al1818 = L[655];\nif(typeof(anf_fun1776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1776);\n}\n$ans1817 = anf_fun1776.app(anf_arg488);\nbreak;\ncase 9: var anf_arg497 = $ans1817;\n$step1815 = 10;\n$al1818 = L[657];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg486,anf_arg497,(-3));\nbreak;\ncase 10: var anf_arg499 = $ans1817;\n$step1815 = 21;\n$al1818 = L[653];\nif(typeof(anf_fun1777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1777);\n}\n$ans1817 = anf_fun1777.app(anf_arg499);\nbreak;\ncase 11: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[670],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[661],L[662]);\nvar anf_fun1781 = $ans1817;\n$step1815 = 12;\n$al1818 = L[669];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 12: var anf_arg509 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[663],L[664]);\nvar anf_fun1780 = $ans1817;\n$al1818 = L[665];\nvar anf_bracket1778 = G(test$ast1759,\"right\",L[665]);\n$al1818 = L[666];\nvar anf_bracket1779 = G(anf_bracket1778,\"value\",L[666]);\n$al1818 = L[667];\nvar anf_arg503 = G(anf_bracket1779,\"l\",L[667]);\n$step1815 = 13;\n$al1818 = L[664];\nif(typeof(anf_fun1780.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1780);\n}\n$ans1817 = anf_fun1780.app(anf_arg503);\nbreak;\ncase 13: var anf_arg505 = $ans1817;\n$step1815 = 14;\n$al1818 = L[668];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg509,anf_arg505,(-3));\nbreak;\ncase 14: var anf_arg511 = $ans1817;\n$step1815 = 21;\n$al1818 = L[662];\nif(typeof(anf_fun1781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1781);\n}\n$ans1817 = anf_fun1781.app(anf_arg511);\nbreak;\ncase 15: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[680],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[671],L[672]);\nvar anf_fun1786 = $ans1817;\n$step1815 = 16;\n$al1818 = L[679];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"explanation\"));\nbreak;\ncase 16: var anf_arg512 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[673],L[674]);\nvar anf_fun1784 = $ans1817;\n$al1818 = L[675];\nvar anf_bracket1782 = G(test$ast1759,\"cause\",L[675]);\n$al1818 = L[676];\nvar anf_bracket1783 = G(anf_bracket1782,\"value\",L[676]);\n$al1818 = L[677];\nvar anf_arg529 = G(anf_bracket1783,\"l\",L[677]);\n$step1815 = 17;\n$al1818 = L[674];\nif(typeof(anf_fun1784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1784);\n}\n$ans1817 = anf_fun1784.app(anf_arg529);\nbreak;\ncase 17: var anf_arg1785 = $ans1817;\n$step1815 = 18;\n$al1818 = L[678];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg512,anf_arg1785,(-3));\nbreak;\ncase 18: var anf_arg524 = $ans1817;\n$step1815 = 21;\n$al1818 = L[672];\nif(typeof(anf_fun1786.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1786);\n}\n$ans1817 = anf_fun1786.app(anf_arg524);\nbreak;\ncase 19: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[702],false,L[660],cases1762.$loc);\n}\n$step1815 = 21;\n$al1818 = L[702];\nvar $temp_branch1825 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__660($$resumer13) {\nvar $step1827 = 0;\nvar $elidedFrames1831 = 0;\nvar $ans1828 = D;\nvar $al1829 = L[690];\nif(R.isAR($$resumer13)) {\n$step1827 = $$resumer13.step;\n$al1829 = $$resumer13.from;\n$ans1828 = $$resumer13.ans;\n$elidedFrames1831 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1798 = $$resumer13.vars[0];\nv1788 = $$resumer13.vars[1];\nanf_arg1797 = $$resumer13.vars[2];\nanf_arg522 = $$resumer13.vars[3];\ncases1787 = $$resumer13.vars[4];\nanf_fun1790 = $$resumer13.vars[5];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1828 = R.mC();\n}\nwhile(!R.isContinuation($ans1828)) {\nswitch($step1827) {\ncase 0: $al1829 = L[681];\nvar cases1787 = G(test$ast1759,\"refinement\",L[681]);\n$step1827 = 1;\n$al1829 = L[701];\nvar $ann$check1835 = R._cA(L[701],Option15,cases1787);\nif(R.isContinuation($ann$check1835)) {\n$ans1828 = $ann$check1835;\n}\nbreak;\ncase 1: $al1829 = L[690];\n$step1827 = $cases_dispatch1834[cases1787.$name] || 10;\nbreak;\ncase 2: if(cases1787.$arity !== 1) {\nif(cases1787.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[689],1,cases1787.$arity,L[690],cases1787.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[689],true,L[690],cases1787.$loc);\n}\n}\nvar $fn1833 = cases1787.$constructor.$fieldNames;\nvar v1788 = R.dF(cases1787.dict[$fn1833[0]],cases1787.$mut_fields_mask[0],false);\n$ans1828 = R.getMaker1(list6,(\"make1\"),L[682],L[683]);\nvar anf_fun1790 = $ans1828;\n$step1827 = 3;\n$al1829 = L[688];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"text\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"text\"].app((\"refinement\"));\nbreak;\ncase 3: var anf_arg522 = $ans1828;\n$ans1828 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[684],L[685]);\nvar anf_fun1789 = $ans1828;\n$al1829 = L[686];\nvar anf_arg526 = G(v1788,\"l\",L[686]);\n$step1827 = 4;\n$al1829 = L[685];\nif(typeof(anf_fun1789.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1789);\n}\n$ans1828 = anf_fun1789.app(anf_arg526);\nbreak;\ncase 4: var anf_arg530 = $ans1828;\n$step1827 = 5;\n$al1829 = L[687];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"highlight\"].app(anf_arg522,anf_arg530,(-3));\nbreak;\ncase 5: var anf_arg527 = $ans1828;\n$step1827 = 11;\n$al1829 = L[683];\nif(typeof(anf_fun1790.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1790);\n}\n$ans1828 = anf_fun1790.app(anf_arg527);\nbreak;\ncase 6: if(cases1787.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[700],false,L[690],cases1787.$loc);\n}\n$ans1828 = R.getMaker1(list6,(\"make1\"),L[691],L[692]);\nvar anf_fun1798 = $ans1828;\n$step1827 = 7;\n$al1829 = L[699];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"text\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 7: var anf_arg1797 = $ans1828;\n$ans1828 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[693],L[694]);\nvar anf_fun552 = $ans1828;\n$al1829 = L[695];\nvar anf_bracket1793 = G(test$ast1759,\"right\",L[695]);\n$al1829 = L[696];\nvar anf_bracket1794 = G(anf_bracket1793,\"value\",L[696]);\n$al1829 = L[697];\nvar anf_arg1795 = G(anf_bracket1794,\"l\",L[697]);\n$step1827 = 8;\n$al1829 = L[694];\nif(typeof(anf_fun552.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun552);\n}\n$ans1828 = anf_fun552.app(anf_arg1795);\nbreak;\ncase 8: var anf_arg548 = $ans1828;\n$step1827 = 9;\n$al1829 = L[698];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1797,anf_arg548,(-3));\nbreak;\ncase 9: var anf_arg545 = $ans1828;\n$step1827 = 11;\n$al1829 = L[692];\nif(typeof(anf_fun1798.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1798);\n}\n$ans1828 = anf_fun1798.app(anf_arg545);\nbreak;\ncase 10: $ans1828 = R.throwNoCasesMatched(L[690],cases1787);\n$step1827 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1828;\ndefault: R.ffi.throwSpinnakerError(L[690],$step1827);\n}\n}\nif($step1827 !== 11) {\n$ans1828.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1829,$temp_branch1825,$step1827,[],[anf_fun1798,v1788,anf_arg1797,anf_arg522,cases1787,anf_fun1790],$elidedFrames1831);\n}\nreturn $ans1828;\n};\n$ans1817 = cases1762.$app_fields($temp_branch1825,[]);\nbreak;\ncase 20: $ans1817 = R.throwNoCasesMatched(L[660],cases1762);\n$step1815 = 21;\nbreak;\ncase 21: var anf_arg546 = $ans1817;\n$step1815 = 22;\n$al1818 = L[651];\n// omitting isFunction check;\n$ans1817 = _plus5.app(anf_arg492,anf_arg546);\nbreak;\ncase 22: var anf_arg549 = $ans1817;\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[644],L[645]);\nvar anf_fun1763 = $ans1817;\n$step1815 = 23;\n$al1818 = L[650];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\" to raise an exception:\"));\nbreak;\ncase 23: var anf_arg555 = $ans1817;\n$step1815 = 24;\n$al1818 = L[645];\nif(typeof(anf_fun1763.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1763);\n}\n$ans1817 = anf_fun1763.app(anf_arg555);\nbreak;\ncase 24: var anf_arg551 = $ans1817;\n$step1815 = 25;\n$al1818 = L[649];\n// omitting isFunction check;\n$ans1817 = _plus5.app(anf_arg549,anf_arg551);\nbreak;\ncase 25: var anf_arg556 = $ans1817;\n$step1815 = 26;\n$al1818 = L[648];\nif(typeof(ED23.dict.values.dict[\"paragraph\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"paragraph\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"paragraph\"].app(anf_arg556);\nbreak;\ncase 26: var anf_arg1774 = $ans1817;\n$al1818 = L[646];\nvar anf_arg1771 = G(self1748,\"actual-exn\",L[646]);\n$step1815 = 27;\n$al1818 = L[647];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"embed\"].app(anf_arg1771);\nbreak;\ncase 27: var anf_arg569 = $ans1817;\n$step1815 = 28;\n$al1818 = L[637];\nif(typeof(anf_fun1772.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1772);\n}\n$ans1817 = anf_fun1772.app(anf_arg1773,anf_arg489,anf_arg1774,anf_arg569);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans1817;\ndefault: R.ffi.throwSpinnakerError(L[634],$step1815);\n}\n}\nif($step1815 !== 28) {\n$ans1817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1818,$temp_branch1814,$step1815,[test$ast1759],[anf_fun1786,anf_fun1777,lhs$ast1775,anf_arg1773,anf_arg492,anf_arg1774,anf_arg486,anf_arg489,anf_arg512,cases1762,anf_arg549,anf_arg509,anf_fun1781,anf_fun1761,anf_fun1772,anf_fun1763],$elidedFrames1820);\n}\nreturn $ans1817;\n};\n$ans1752 = cases1757.$app_fields($temp_branch1814,[false]);\nbreak;\ncase 9: if(cases1757.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[709],false,L[707],cases1757.$loc);\n}\n$step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[708]);\nbreak;\ncase 10: $ans1752 = R.throwNoCasesMatched(L[707],cases1757);\n$step1746 = 12;\nbreak;\ncase 11: $step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[712]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1752;\ndefault: R.ffi.throwSpinnakerError(L[628],$step1746);\n}\n}\nif($step1746 !== 12) {\n$ans1752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1753,$temp_full1747,$step1746,[self1748,maybe$stack$loc1749,src$available1750,maybe$ast1751],[cases1757],$elidedFrames1755);\n}\nreturn $ans1752;\n};\nvar anf_variant_member2531 = R.makeMethod3($temp_full1747,\"render-fancy-reason\");\nvar $temp_full1846 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__714($self1269) {\nvar $step1845 = 0;\nvar $elidedFrames1850 = 0;\nvar $ans1847 = D;\nvar $al1848 = L[714];\nif(R.isAR($self1269)) {\n$step1845 = $self1269.step;\n$al1848 = $self1269.from;\n$ans1847 = $self1269.ans;\n$elidedFrames1850 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nanf_fun1853 = $self1269.vars[0];\nanf_fun1851 = $self1269.vars[1];\nanf_arg1855 = $self1269.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[714],1,$t,true);\n}\nvar self1269 = $self1269;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1847 = R.mC();\n}\nwhile(!R.isContinuation($ans1847)) {\nswitch($step1845) {\ncase 0: $ans1847 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[715],L[716]);\nvar anf_fun1853 = $ans1847;\n$ans1847 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[717],L[718]);\nvar anf_fun1851 = $ans1847;\n$step1845 = 1;\n$al1848 = L[721];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,ED23.dict.values.dict[\"text\"]);\n}\n$ans1847 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 1: var anf_arg1852 = $ans1847;\n$step1845 = 2;\n$al1848 = L[718];\nif(typeof(anf_fun1851.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,anf_fun1851);\n}\n$ans1847 = anf_fun1851.app(anf_arg1852);\nbreak;\ncase 2: var anf_arg1855 = $ans1847;\n$al1848 = L[719];\nvar anf_arg570 = G(self1269,\"actual-exn\",L[719]);\n$step1845 = 3;\n$al1848 = L[720];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1847 = ED23.dict.values.dict[\"embed\"].app(anf_arg570);\nbreak;\ncase 3: var anf_arg603 = $ans1847;\n$step1845 = 4;\n$al1848 = L[716];\nif(typeof(anf_fun1853.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,anf_fun1853);\n}\n$ans1847 = anf_fun1853.app(anf_arg1855,anf_arg603);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1847;\ndefault: R.ffi.throwSpinnakerError(L[714],$step1845);\n}\n}\nif($step1845 !== 4) {\n$ans1847.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1848,$temp_full1846,$step1845,[self1269],[anf_fun1853,anf_fun1851,anf_arg1855],$elidedFrames1850);\n}\nreturn $ans1847;\n};\nvar anf_variant_member2532 = R.makeMethod0($temp_full1846,\"render-reason\");\nvar $temp_full1858 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__722($self1859,$get$stack1860) {\nvar $step1857 = 0;\nvar $elidedFrames1865 = 0;\nvar $ans1862 = D;\nvar $al1863 = L[722];\nif(R.isAR($self1859)) {\n$step1857 = $self1859.step;\n$al1863 = $self1859.from;\n$ans1862 = $self1859.ans;\n$elidedFrames1865 = $self1859.elidedFrames;\nself1859 = $self1859.args[0];\nget$stack1860 = $self1859.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[722],2,$t,true);\n}\nvar self1859 = $self1859;\nvar get$stack1860 = $get$stack1860;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1862 = R.mC();\n}\nwhile(!R.isContinuation($ans1862)) {\nswitch($step1857) {\ncase 0: $al1863 = L[723];\nvar anf_arg604 = G(self1859,\"actual-exn\",L[723]);\n$step1857 = 1;\n$al1863 = L[724];\nif(typeof(get$stack1860.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1863,get$stack1860);\n}\n$ans1862 = get$stack1860.app(anf_arg604);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1862;\ndefault: R.ffi.throwSpinnakerError(L[722],$step1857);\n}\n}\nif($step1857 !== 1) {\n$ans1862.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1863,$temp_full1858,$step1857,[self1859,get$stack1860],[],$elidedFrames1865);\n}\nreturn $ans1862;\n};\nvar anf_variant_member2533 = R.makeMethod1($temp_full1858,\"access-stack\");\nvar $temp_full1868 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__725($self1869) {\nvar $step1867 = 0;\nvar $elidedFrames1873 = 0;\nvar $ans1870 = D;\nvar $al1871 = L[725];\nif(R.isAR($self1869)) {\n$step1867 = $self1869.step;\n$al1871 = $self1869.from;\n$ans1870 = $self1869.ans;\n$elidedFrames1873 = $self1869.elidedFrames;\nself1869 = $self1869.args[0];\nanf_fun1874 = $self1869.vars[0];\nanf_arg1884 = $self1869.vars[1];\nanf_arg579 = $self1869.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[725],1,$t,true);\n}\nvar self1869 = $self1869;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1870 = R.mC();\n}\nwhile(!R.isContinuation($ans1870)) {\nswitch($step1867) {\ncase 0: $ans1870 = R.getMaker3(list6,(\"make3\"),L[726],L[727]);\nvar anf_fun1874 = $ans1870;\n$al1871 = L[728];\nvar anf_arg588 = G(self1869,\"loc\",L[728]);\n$step1867 = 1;\n$al1871 = L[735];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg588);\nbreak;\ncase 1: var anf_arg1884 = $ans1870;\n$al1871 = L[729];\nvar anf_arg572 = G(self1869,\"actual-exn\",L[729]);\n$step1867 = 2;\n$al1871 = L[734];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,exn$unwrap2);\n}\n$ans1870 = exn$unwrap2.app(anf_arg572);\nbreak;\ncase 2: var anf_arg578 = $ans1870;\n$step1867 = 3;\n$al1871 = L[733];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg578);\nbreak;\ncase 3: var anf_arg579 = $ans1870;\n$al1871 = L[730];\nvar anf_arg580 = G(self1869,\"exn-place\",L[730]);\n$step1867 = 4;\n$al1871 = L[732];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg580);\nbreak;\ncase 4: var anf_arg581 = $ans1870;\n$step1867 = 5;\n$al1871 = L[727];\nif(typeof(anf_fun1874.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,anf_fun1874);\n}\n$ans1870 = anf_fun1874.app(anf_arg1884,anf_arg579,anf_arg581);\nbreak;\ncase 5: var anf_arg582 = $ans1870;\n$step1867 = 6;\n$al1871 = L[731];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-exn\"),anf_arg582);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1870;\ndefault: R.ffi.throwSpinnakerError(L[725],$step1867);\n}\n}\nif($step1867 !== 6) {\n$ans1870.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1871,$temp_full1868,$step1867,[self1869],[anf_fun1874,anf_arg1884,anf_arg579],$elidedFrames1873);\n}\nreturn $ans1870;\n};\nvar anf_variant_member2534 = R.makeMethod0($temp_full1868,\"_output\");\nvar $temp_full1889 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__736($self1890,$maybe$stack$loc1891,$src$available1892,$maybe$ast1893) {\nvar $step1888 = 0;\nvar $elidedFrames1897 = 0;\nvar $ans1894 = D;\nvar $al1895 = L[736];\nif(R.isAR($self1890)) {\n$step1888 = $self1890.step;\n$al1895 = $self1890.from;\n$ans1894 = $self1890.ans;\n$elidedFrames1897 = $self1890.elidedFrames;\nself1890 = $self1890.args[0];\nmaybe$stack$loc1891 = $self1890.args[1];\nsrc$available1892 = $self1890.args[2];\nmaybe$ast1893 = $self1890.args[3];\ncases1899 = $self1890.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[736],4,$t,true);\n}\nvar self1890 = $self1890;\nvar maybe$stack$loc1891 = $maybe$stack$loc1891;\nvar src$available1892 = $src$available1892;\nvar maybe$ast1893 = $maybe$ast1893;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1894 = R.mC();\n}\nwhile(!R.isContinuation($ans1894)) {\nswitch($step1888) {\ncase 0: $al1895 = L[737];\nvar anf_method_obj1898 = G(self1890,\"loc\",L[737]);\n$step1888 = 1;\n$ans1894 = R.maybeMethodCall0(anf_method_obj1898,\"is-builtin\",L[738]);\nbreak;\ncase 1: var anf_if1962 = $ans1894;\n$step1888 = R.checkPyretTrue(anf_if1962)?2:3;\nbreak;\ncase 2: $step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[739]);\nbreak;\ncase 3: $al1895 = L[740];\nvar anf_arg584 = G(self1890,\"loc\",L[740]);\n$step1888 = 4;\n$al1895 = L[785];\nif(typeof(src$available1892.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1895,src$available1892);\n}\n$ans1894 = src$available1892.app(anf_arg584);\nbreak;\ncase 4: var anf_if1961 = $ans1894;\n$step1888 = R.checkPyretTrue(anf_if1961)?5:11;\nbreak;\ncase 5: $al1895 = L[741];\nvar anf_arg589 = G(self1890,\"loc\",L[741]);\n$step1888 = 6;\n$al1895 = L[783];\nif(typeof(maybe$ast1893.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1895,maybe$ast1893);\n}\n$ans1894 = maybe$ast1893.app(anf_arg589);\nbreak;\ncase 6: var cases1899 = $ans1894;\n$step1888 = 7;\n$al1895 = L[782];\nvar $ann$check1960 = R._cA(L[782],Option15,cases1899);\nif(R.isContinuation($ann$check1960)) {\n$ans1894 = $ann$check1960;\n}\nbreak;\ncase 7: $al1895 = L[779];\n$step1888 = $cases_dispatch1959[cases1899.$name] || 10;\nbreak;\ncase 8: if(cases1899.$arity !== 1) {\nif(cases1899.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[778],1,cases1899.$arity,L[779],cases1899.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[778],true,L[779],cases1899.$loc);\n}\n}\n$step1888 = 12;\n$al1895 = L[778];\nvar $temp_branch1943 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__779($test$ast1901) {\nvar $step1944 = 0;\nvar $elidedFrames1948 = 0;\nvar $ans1945 = D;\nvar $al1946 = L[742];\nif(R.isAR($test$ast1901)) {\n$step1944 = $test$ast1901.step;\n$al1946 = $test$ast1901.from;\n$ans1945 = $test$ast1901.ans;\n$elidedFrames1948 = $test$ast1901.elidedFrames;\ntest$ast1901 = $test$ast1901.args[0];\ncases1906 = $test$ast1901.vars[0];\ned$exn1911 = $test$ast1901.vars[1];\nanf_fun1923 = $test$ast1901.vars[2];\nexn$ast1903 = $test$ast1901.vars[3];\nanf_arg1940 = $test$ast1901.vars[4];\nanf_arg1905 = $test$ast1901.vars[5];\nanf_arg616 = $test$ast1901.vars[6];\nanf_fun641 = $test$ast1901.vars[7];\n} else {\nvar test$ast1901 = $test$ast1901;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1945 = R.mC();\n}\nwhile(!R.isContinuation($ans1945)) {\nswitch($step1944) {\ncase 0: $al1946 = L[742];\nvar anf_method_obj1900 = G(self1890,\"exn-src\",L[742]);\n$step1944 = 1;\n$ans1945 = R.maybeMethodCall1(anf_method_obj1900,\"test-component\",L[743],test$ast1901);\nbreak;\ncase 1: var exn$ast1903 = $ans1945;\n$al1946 = L[744];\nvar anf_method_obj1902 = G(self1890,\"exn-src\",L[744]);\n$step1944 = 2;\n$ans1945 = R.maybeMethodCall0(anf_method_obj1902,\"side\",L[745]);\nbreak;\ncase 2: var anf_arg592 = $ans1945;\n$step1944 = 3;\n$al1946 = L[777];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"text\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"text\"].app(anf_arg592);\nbreak;\ncase 3: var anf_arg1905 = $ans1945;\n$ans1945 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[746],L[747]);\nvar anf_fun1904 = $ans1945;\n$al1946 = L[748];\nvar anf_arg593 = G(exn$ast1903,\"l\",L[748]);\n$step1944 = 4;\n$al1946 = L[747];\nif(typeof(anf_fun1904.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun1904);\n}\n$ans1945 = anf_fun1904.app(anf_arg593);\nbreak;\ncase 4: var anf_arg600 = $ans1945;\n$step1944 = 5;\n$al1946 = L[776];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1905,anf_arg600,(3));\nbreak;\ncase 5: var ed$exn1911 = $ans1945;\n$al1946 = L[749];\nvar cases1906 = G(self1890,\"exn-expected\",L[749]);\n$step1944 = 6;\n$al1946 = L[775];\nvar $ann$check1957 = R._cA(L[775],Option15,cases1906);\nif(R.isContinuation($ann$check1957)) {\n$ans1945 = $ann$check1957;\n}\nbreak;\ncase 6: $al1946 = L[764];\n$step1944 = $cases_dispatch1956[cases1906.$name] || 13;\nbreak;\ncase 7: if(cases1906.$arity !== 1) {\nif(cases1906.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[763],1,cases1906.$arity,L[764],cases1906.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[763],true,L[764],cases1906.$loc);\n}\n}\n$step1944 = 14;\n$al1946 = L[763];\nvar $temp_branch1949 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__764($exn1912) {\nvar $step1950 = 0;\nvar $elidedFrames1954 = 0;\nvar $ans1951 = D;\nvar $al1952 = L[751];\nif(R.isAR($exn1912)) {\n$step1950 = $exn1912.step;\n$al1952 = $exn1912.from;\n$ans1951 = $exn1912.ans;\n$elidedFrames1954 = $exn1912.elidedFrames;\nexn1912 = $exn1912.args[0];\nanf_fun1913 = $exn1912.vars[0];\nanf_arg1910 = $exn1912.vars[1];\nanf_fun1909 = $exn1912.vars[2];\nanf_arg606 = $exn1912.vars[3];\nanf_arg607 = $exn1912.vars[4];\nanf_arg609 = $exn1912.vars[5];\n} else {\nvar exn1912 = $exn1912;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1951 = R.mC();\n}\nwhile(!R.isContinuation($ans1951)) {\nswitch($step1950) {\ncase 0: $ans1951 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[750],L[751]);\nvar anf_fun1913 = $ans1951;\n$al1952 = L[752];\nvar anf_method_obj1907 = G(self1890,\"exn-src\",L[752]);\n$step1950 = 1;\n$ans1951 = R.maybeMethodCall1(anf_method_obj1907,\"test-preamble\",L[753],test$ast1901);\nbreak;\ncase 1: var anf_arg606 = $ans1951;\n$al1952 = L[754];\nvar anf_arg1908 = G(self1890,\"loc\",L[754]);\n$step1950 = 2;\n$al1952 = L[762];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1908);\nbreak;\ncase 2: var anf_arg607 = $ans1951;\n$ans1951 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[755],L[756]);\nvar anf_fun1909 = $ans1951;\n$step1950 = 3;\n$al1952 = L[761];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\"No exception raised while evaluating the \"));\nbreak;\ncase 3: var anf_arg1910 = $ans1951;\n$al1952 = L[757];\nvar anf_if1914 = G(self1890,\"wanted\",L[757]);\n$step1950 = R.checkPyretTrue(anf_if1914)?4:5;\nbreak;\ncase 4: $step1950 = 6;\n$al1952 = L[759];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\", expected\"));\nbreak;\ncase 5: $step1950 = 6;\n$al1952 = L[760];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\", expected any exception other than\"));\nbreak;\ncase 6: var anf_arg608 = $ans1951;\n$step1950 = 7;\n$al1952 = L[756];\nif(typeof(anf_fun1909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,anf_fun1909);\n}\n$ans1951 = anf_fun1909.app(anf_arg1910,ed$exn1911,anf_arg608);\nbreak;\ncase 7: var anf_arg609 = $ans1951;\n$step1950 = 8;\n$al1952 = L[758];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"embed\"].app(exn1912);\nbreak;\ncase 8: var anf_arg614 = $ans1951;\n$step1950 = 9;\n$al1952 = L[751];\nif(typeof(anf_fun1913.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,anf_fun1913);\n}\n$ans1951 = anf_fun1913.app(anf_arg606,anf_arg607,anf_arg609,anf_arg614);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1951;\ndefault: R.ffi.throwSpinnakerError(L[751],$step1950);\n}\n}\nif($step1950 !== 9) {\n$ans1951.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1952,$temp_branch1949,$step1950,[exn1912],[anf_fun1913,anf_arg1910,anf_fun1909,anf_arg606,anf_arg607,anf_arg609],$elidedFrames1954);\n}\nreturn $ans1951;\n};\n$ans1945 = cases1906.$app_fields($temp_branch1949,[false]);\nbreak;\ncase 8: if(cases1906.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[774],false,L[764],cases1906.$loc);\n}\n$ans1945 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[765],L[766]);\nvar anf_fun1923 = $ans1945;\n$al1946 = L[767];\nvar anf_method_obj1922 = G(self1890,\"exn-src\",L[767]);\n$step1944 = 9;\n$ans1945 = R.maybeMethodCall1(anf_method_obj1922,\"test-preamble\",L[768],test$ast1901);\nbreak;\ncase 9: var anf_arg616 = $ans1945;\n$al1946 = L[769];\nvar anf_arg620 = G(self1890,\"loc\",L[769]);\n$step1944 = 10;\n$al1946 = L[773];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg620);\nbreak;\ncase 10: var anf_arg1940 = $ans1945;\n$ans1945 = R.getMaker2(ED23.dict.values.dict[\"para\"],(\"make2\"),L[770],L[771]);\nvar anf_fun641 = $ans1945;\n$step1944 = 11;\n$al1946 = L[772];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"text\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"text\"].app((\"No exception raised while evaluating the \"));\nbreak;\ncase 11: var anf_arg633 = $ans1945;\n$step1944 = 12;\n$al1946 = L[771];\nif(typeof(anf_fun641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun641);\n}\n$ans1945 = anf_fun641.app(anf_arg633,ed$exn1911);\nbreak;\ncase 12: var anf_arg642 = $ans1945;\n$step1944 = 14;\n$al1946 = L[766];\nif(typeof(anf_fun1923.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun1923);\n}\n$ans1945 = anf_fun1923.app(anf_arg616,anf_arg1940,anf_arg642);\nbreak;\ncase 13: $ans1945 = R.throwNoCasesMatched(L[764],cases1906);\n$step1944 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1945;\ndefault: R.ffi.throwSpinnakerError(L[742],$step1944);\n}\n}\nif($step1944 !== 14) {\n$ans1945.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1946,$temp_branch1943,$step1944,[test$ast1901],[cases1906,ed$exn1911,anf_fun1923,exn$ast1903,anf_arg1940,anf_arg1905,anf_arg616,anf_fun641],$elidedFrames1948);\n}\nreturn $ans1945;\n};\n$ans1894 = cases1899.$app_fields($temp_branch1943,[false]);\nbreak;\ncase 9: if(cases1899.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[781],false,L[779],cases1899.$loc);\n}\n$step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[780]);\nbreak;\ncase 10: $ans1894 = R.throwNoCasesMatched(L[779],cases1899);\n$step1888 = 12;\nbreak;\ncase 11: $step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[784]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1894;\ndefault: R.ffi.throwSpinnakerError(L[736],$step1888);\n}\n}\nif($step1888 !== 12) {\n$ans1894.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1895,$temp_full1889,$step1888,[self1890,maybe$stack$loc1891,src$available1892,maybe$ast1893],[cases1899],$elidedFrames1897);\n}\nreturn $ans1894;\n};\nvar anf_variant_member2544 = R.makeMethod3($temp_full1889,\"render-fancy-reason\");\nvar $temp_full1965 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__786($self1966) {\nvar $step1964 = 0;\nvar $elidedFrames1970 = 0;\nvar $ans1967 = D;\nvar $al1968 = L[786];\nif(R.isAR($self1966)) {\n$step1964 = $self1966.step;\n$al1968 = $self1966.from;\n$ans1967 = $self1966.ans;\n$elidedFrames1970 = $self1966.elidedFrames;\nself1966 = $self1966.args[0];\ncases1971 = $self1966.vars[0];\nanf_fun668 = $self1966.vars[1];\nanf_fun1993 = $self1966.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[786],1,$t,true);\n}\nvar self1966 = $self1966;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1967 = R.mC();\n}\nwhile(!R.isContinuation($ans1967)) {\nswitch($step1964) {\ncase 0: $al1968 = L[787];\nvar cases1971 = G(self1966,\"exn-expected\",L[787]);\n$step1964 = 1;\n$al1968 = L[810];\nvar $ann$check1995 = R._cA(L[810],Option15,cases1971);\nif(R.isContinuation($ann$check1995)) {\n$ans1967 = $ann$check1995;\n}\nbreak;\ncase 1: $al1968 = L[800];\n$step1964 = $cases_dispatch1994[cases1971.$name] || 8;\nbreak;\ncase 2: if(cases1971.$arity !== 1) {\nif(cases1971.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[799],1,cases1971.$arity,L[800],cases1971.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[799],true,L[800],cases1971.$loc);\n}\n}\n$step1964 = 9;\n$al1968 = L[799];\nvar $temp_branch1980 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__800($exn1975) {\nvar $step1981 = 0;\nvar $elidedFrames1985 = 0;\nvar $ans1982 = D;\nvar $al1983 = L[789];\nif(R.isAR($exn1975)) {\n$step1981 = $exn1975.step;\n$al1983 = $exn1975.from;\n$ans1982 = $exn1975.ans;\n$elidedFrames1985 = $exn1975.elidedFrames;\nexn1975 = $exn1975.args[0];\nanf_fun1973 = $exn1975.vars[0];\nanf_fun1976 = $exn1975.vars[1];\nanf_arg1977 = $exn1975.vars[2];\nanf_arg639 = $exn1975.vars[3];\n} else {\nvar exn1975 = $exn1975;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1982 = R.mC();\n}\nwhile(!R.isContinuation($ans1982)) {\nswitch($step1981) {\ncase 0: $ans1982 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[788],L[789]);\nvar anf_fun1976 = $ans1982;\n$ans1982 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[790],L[791]);\nvar anf_fun1973 = $ans1982;\n$al1983 = L[792];\nvar anf_method_obj1972 = G(self1966,\"exn-src\",L[792]);\n$step1981 = 1;\n$ans1982 = R.maybeMethodCall0(anf_method_obj1972,\"side\",L[793]);\nbreak;\ncase 1: var anf_arg638 = $ans1982;\n$step1981 = 2;\n$al1983 = L[798];\n// omitting isFunction check;\n$ans1982 = _plus5.app((\"No exception raised while evaluating the \"),anf_arg638);\nbreak;\ncase 2: var anf_arg639 = $ans1982;\n$al1983 = L[794];\nvar anf_if1979 = G(self1966,\"wanted\",L[794]);\n$step1981 = R.checkPyretTrue(anf_if1979)?3:4;\nbreak;\ncase 3: $step1981 = 5;\n$ans1982 = (\", expected\");\nbreak;\ncase 4: $step1981 = 5;\n$ans1982 = (\", expected any exception other than\");\nbreak;\ncase 5: var anf_arg640 = $ans1982;\n$step1981 = 6;\n$al1983 = L[797];\n// omitting isFunction check;\n$ans1982 = _plus5.app(anf_arg639,anf_arg640);\nbreak;\ncase 6: var anf_arg645 = $ans1982;\n$step1981 = 7;\n$al1983 = L[796];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,ED23.dict.values.dict[\"text\"]);\n}\n$ans1982 = ED23.dict.values.dict[\"text\"].app(anf_arg645);\nbreak;\ncase 7: var anf_arg1974 = $ans1982;\n$step1981 = 8;\n$al1983 = L[791];\nif(typeof(anf_fun1973.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,anf_fun1973);\n}\n$ans1982 = anf_fun1973.app(anf_arg1974);\nbreak;\ncase 8: var anf_arg1977 = $ans1982;\n$step1981 = 9;\n$al1983 = L[795];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1982 = ED23.dict.values.dict[\"embed\"].app(exn1975);\nbreak;\ncase 9: var anf_arg1978 = $ans1982;\n$step1981 = 10;\n$al1983 = L[789];\nif(typeof(anf_fun1976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,anf_fun1976);\n}\n$ans1982 = anf_fun1976.app(anf_arg1977,anf_arg1978);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1982;\ndefault: R.ffi.throwSpinnakerError(L[789],$step1981);\n}\n}\nif($step1981 !== 10) {\n$ans1982.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1983,$temp_branch1980,$step1981,[exn1975],[anf_fun1973,anf_fun1976,anf_arg1977,anf_arg639],$elidedFrames1985);\n}\nreturn $ans1982;\n};\n$ans1967 = cases1971.$app_fields($temp_branch1980,[false]);\nbreak;\ncase 3: if(cases1971.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[809],false,L[800],cases1971.$loc);\n}\n$ans1967 = R.getMaker1(ED23.dict.values.dict[\"error\"],(\"make1\"),L[801],L[802]);\nvar anf_fun668 = $ans1967;\n$ans1967 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[803],L[804]);\nvar anf_fun1993 = $ans1967;\n$al1968 = L[805];\nvar anf_method_obj1987 = G(self1966,\"exn-src\",L[805]);\n$step1964 = 4;\n$ans1967 = R.maybeMethodCall0(anf_method_obj1987,\"side\",L[806]);\nbreak;\ncase 4: var anf_arg1992 = $ans1967;\n$step1964 = 5;\n$al1968 = L[808];\n// omitting isFunction check;\n$ans1967 = _plus5.app((\"No exception raised while evaluating the \"),anf_arg1992);\nbreak;\ncase 5: var anf_arg662 = $ans1967;\n$step1964 = 6;\n$al1968 = L[807];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,ED23.dict.values.dict[\"text\"]);\n}\n$ans1967 = ED23.dict.values.dict[\"text\"].app(anf_arg662);\nbreak;\ncase 6: var anf_arg659 = $ans1967;\n$step1964 = 7;\n$al1968 = L[804];\nif(typeof(anf_fun1993.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,anf_fun1993);\n}\n$ans1967 = anf_fun1993.app(anf_arg659);\nbreak;\ncase 7: var anf_arg660 = $ans1967;\n$step1964 = 9;\n$al1968 = L[802];\nif(typeof(anf_fun668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,anf_fun668);\n}\n$ans1967 = anf_fun668.app(anf_arg660);\nbreak;\ncase 8: $ans1967 = R.throwNoCasesMatched(L[800],cases1971);\n$step1964 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1967;\ndefault: R.ffi.throwSpinnakerError(L[786],$step1964);\n}\n}\nif($step1964 !== 9) {\n$ans1967.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1968,$temp_full1965,$step1964,[self1966],[cases1971,anf_fun668,anf_fun1993],$elidedFrames1970);\n}\nreturn $ans1967;\n};\nvar anf_variant_member2545 = R.makeMethod0($temp_full1965,\"render-reason\");\nvar $temp_full1999 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__811($self2000,$maybe$stack$loc2001,$src$available2002,$maybe$ast2003) {\nvar $step1998 = 0;\nvar $elidedFrames2009 = 0;\nvar $ans2006 = D;\nvar $al2007 = L[811];\nif(R.isAR($self2000)) {\n$step1998 = $self2000.step;\n$al2007 = $self2000.from;\n$ans2006 = $self2000.ans;\n$elidedFrames2009 = $self2000.elidedFrames;\nself2000 = $self2000.args[0];\nmaybe$stack$loc2001 = $self2000.args[1];\nsrc$available2002 = $self2000.args[2];\nmaybe$ast2003 = $self2000.args[3];\ncases2013 = $self2000.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[811],4,$t,true);\n}\nvar self2000 = $self2000;\nvar maybe$stack$loc2001 = $maybe$stack$loc2001;\nvar src$available2002 = $src$available2002;\nvar maybe$ast2003 = $maybe$ast2003;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2006 = R.mC();\n}\nwhile(!R.isContinuation($ans2006)) {\nswitch($step1998) {\ncase 0: $al2007 = L[812];\nvar anf_method_obj2010 = G(self2000,\"loc\",L[812]);\n$step1998 = 1;\n$ans2006 = R.maybeMethodCall0(anf_method_obj2010,\"is-builtin\",L[813]);\nbreak;\ncase 1: var anf_if2076 = $ans2006;\n$step1998 = R.checkPyretTrue(anf_if2076)?2:3;\nbreak;\ncase 2: $step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[814]);\nbreak;\ncase 3: $al2007 = L[815];\nvar anf_arg667 = G(self2000,\"loc\",L[815]);\n$step1998 = 4;\n$al2007 = L[854];\nif(typeof(src$available2002.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2007,src$available2002);\n}\n$ans2006 = src$available2002.app(anf_arg667);\nbreak;\ncase 4: var anf_if2075 = $ans2006;\n$step1998 = R.checkPyretTrue(anf_if2075)?5:11;\nbreak;\ncase 5: $al2007 = L[816];\nvar anf_arg2012 = G(self2000,\"loc\",L[816]);\n$step1998 = 6;\n$al2007 = L[852];\nif(typeof(maybe$ast2003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2007,maybe$ast2003);\n}\n$ans2006 = maybe$ast2003.app(anf_arg2012);\nbreak;\ncase 6: var cases2013 = $ans2006;\n$step1998 = 7;\n$al2007 = L[851];\nvar $ann$check2074 = R._cA(L[851],Option15,cases2013);\nif(R.isContinuation($ann$check2074)) {\n$ans2006 = $ann$check2074;\n}\nbreak;\ncase 7: $al2007 = L[848];\n$step1998 = $cases_dispatch2071[cases2013.$name] || 10;\nbreak;\ncase 8: if(cases2013.$arity !== 1) {\nif(cases2013.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[847],1,cases2013.$arity,L[848],cases2013.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[847],true,L[848],cases2013.$loc);\n}\n}\n$step1998 = 12;\n$al2007 = L[847];\nvar $temp_branch2064 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__848($test$ast2015) {\nvar $step2065 = 0;\nvar $elidedFrames2069 = 0;\nvar $ans2066 = D;\nvar $al2067 = L[817];\nif(R.isAR($test$ast2015)) {\n$step2065 = $test$ast2015.step;\n$al2067 = $test$ast2015.from;\n$ans2066 = $test$ast2015.ans;\n$elidedFrames2069 = $test$ast2015.elidedFrames;\ntest$ast2015 = $test$ast2015.args[0];\nanf_arg2022 = $test$ast2015.vars[0];\nlhs$ast2018 = $test$ast2015.vars[1];\nanf_arg680 = $test$ast2015.vars[2];\nanf_arg693 = $test$ast2015.vars[3];\nanf_arg674 = $test$ast2015.vars[4];\nanf_arg678 = $test$ast2015.vars[5];\nanf_fun2061 = $test$ast2015.vars[6];\ned$lhs2060 = $test$ast2015.vars[7];\nanf_fun2063 = $test$ast2015.vars[8];\nrhs$ast2056 = $test$ast2015.vars[9];\ned$rhs2059 = $test$ast2015.vars[10];\nanf_array2062 = $test$ast2015.vars[11];\n} else {\nvar test$ast2015 = $test$ast2015;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2066 = R.mC();\n}\nwhile(!R.isContinuation($ans2066)) {\nswitch($step2065) {\ncase 0: $al2067 = L[817];\nvar anf_method_obj2014 = G(self2000,\"exn-src\",L[817]);\n$step2065 = 1;\n$ans2066 = R.maybeMethodCall1(anf_method_obj2014,\"test-component\",L[818],test$ast2015);\nbreak;\ncase 1: var lhs$ast2018 = $ans2066;\n$al2067 = L[819];\nvar anf_bracket2016 = G(test$ast2015,\"right\",L[819]);\n$al2067 = L[820];\nvar rhs$ast2056 = G(anf_bracket2016,\"value\",L[820]);\n$al2067 = L[821];\nvar anf_method_obj2017 = G(self2000,\"exn-src\",L[821]);\n$step2065 = 2;\n$ans2066 = R.maybeMethodCall0(anf_method_obj2017,\"side\",L[822]);\nbreak;\ncase 2: var anf_arg708 = $ans2066;\n$step2065 = 3;\n$al2067 = L[846];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app(anf_arg708);\nbreak;\ncase 3: var anf_arg2022 = $ans2066;\n$ans2066 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[823],L[824]);\nvar anf_fun2019 = $ans2066;\n$al2067 = L[825];\nvar anf_arg692 = G(lhs$ast2018,\"l\",L[825]);\n$step2065 = 4;\n$al2067 = L[824];\nif(typeof(anf_fun2019.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2019);\n}\n$ans2066 = anf_fun2019.app(anf_arg692);\nbreak;\ncase 4: var anf_arg2055 = $ans2066;\n$step2065 = 5;\n$al2067 = L[845];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"highlight\"].app(anf_arg2022,anf_arg2055,(3));\nbreak;\ncase 5: var ed$lhs2060 = $ans2066;\n$step2065 = 6;\n$al2067 = L[844];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg674 = $ans2066;\n$ans2066 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[826],L[827]);\nvar anf_fun2057 = $ans2066;\n$al2067 = L[828];\nvar anf_arg682 = G(rhs$ast2056,\"l\",L[828]);\n$step2065 = 7;\n$al2067 = L[827];\nif(typeof(anf_fun2057.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2057);\n}\n$ans2066 = anf_fun2057.app(anf_arg682);\nbreak;\ncase 7: var anf_arg683 = $ans2066;\n$step2065 = 8;\n$al2067 = L[843];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"highlight\"].app(anf_arg674,anf_arg683,(4));\nbreak;\ncase 8: var ed$rhs2059 = $ans2066;\n$ans2066 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[829],L[830]);\nvar anf_fun2063 = $ans2066;\n$al2067 = L[831];\nvar anf_method_obj2058 = G(self2000,\"exn-src\",L[831]);\n$step2065 = 9;\n$ans2066 = R.maybeMethodCall1(anf_method_obj2058,\"test-preamble\",L[832],test$ast2015);\nbreak;\ncase 9: var anf_arg678 = $ans2066;\n$al2067 = L[833];\nvar anf_arg686 = G(self2000,\"loc\",L[833]);\n$step2065 = 10;\n$al2067 = L[842];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg686);\nbreak;\ncase 10: var anf_arg680 = $ans2066;\n$ans2066 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[834],L[835]);\nvar anf_fun2061 = $ans2066;\n$ans2066 = R.makeArrayN((7));\nvar anf_array2062 = $ans2066;\n$step2065 = 11;\n$al2067 = L[841];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array2062[0] = $ans2066;\nanf_array2062[1] = ed$rhs2059;\n$step2065 = 12;\n$al2067 = L[840];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the value of the exception raised by the \"));\nbreak;\ncase 12: anf_array2062[2] = $ans2066;\nanf_array2062[3] = ed$lhs2060;\n$step2065 = 13;\n$al2067 = L[839];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 13: anf_array2062[4] = $ans2066;\nanf_array2062[5] = ed$lhs2060;\n$step2065 = 14;\n$al2067 = L[838];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 14: anf_array2062[6] = $ans2066;\n$step2065 = 15;\n$al2067 = L[835];\nif(typeof(anf_fun2061.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2061);\n}\n$ans2066 = anf_fun2061.app(anf_array2062);\nbreak;\ncase 15: var anf_arg693 = $ans2066;\n$al2067 = L[836];\nvar anf_arg700 = G(self2000,\"exn\",L[836]);\n$step2065 = 16;\n$al2067 = L[837];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"embed\"].app(anf_arg700);\nbreak;\ncase 16: var anf_arg701 = $ans2066;\n$step2065 = 17;\n$al2067 = L[830];\nif(typeof(anf_fun2063.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2063);\n}\n$ans2066 = anf_fun2063.app(anf_arg678,anf_arg680,anf_arg693,anf_arg701);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans2066;\ndefault: R.ffi.throwSpinnakerError(L[817],$step2065);\n}\n}\nif($step2065 !== 17) {\n$ans2066.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2067,$temp_branch2064,$step2065,[test$ast2015],[anf_arg2022,lhs$ast2018,anf_arg680,anf_arg693,anf_arg674,anf_arg678,anf_fun2061,ed$lhs2060,anf_fun2063,rhs$ast2056,ed$rhs2059,anf_array2062],$elidedFrames2069);\n}\nreturn $ans2066;\n};\n$ans2006 = cases2013.$app_fields($temp_branch2064,[false]);\nbreak;\ncase 9: if(cases2013.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[850],false,L[848],cases2013.$loc);\n}\n$step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[849]);\nbreak;\ncase 10: $ans2006 = R.throwNoCasesMatched(L[848],cases2013);\n$step1998 = 12;\nbreak;\ncase 11: $step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[853]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2006;\ndefault: R.ffi.throwSpinnakerError(L[811],$step1998);\n}\n}\nif($step1998 !== 12) {\n$ans2006.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2007,$temp_full1999,$step1998,[self2000,maybe$stack$loc2001,src$available2002,maybe$ast2003],[cases2013],$elidedFrames2009);\n}\nreturn $ans2006;\n};\nvar anf_variant_member2556 = R.makeMethod3($temp_full1999,\"render-fancy-reason\");\nvar $temp_full2079 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__855($self2080) {\nvar $step2078 = 0;\nvar $elidedFrames2084 = 0;\nvar $ans2081 = D;\nvar $al2082 = L[855];\nif(R.isAR($self2080)) {\n$step2078 = $self2080.step;\n$al2082 = $self2080.from;\n$ans2081 = $self2080.ans;\n$elidedFrames2084 = $self2080.elidedFrames;\nself2080 = $self2080.args[0];\nanf_arg702 = $self2080.vars[0];\nanf_fun694 = $self2080.vars[1];\nanf_fun2085 = $self2080.vars[2];\nanf_fun2086 = $self2080.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[855],1,$t,true);\n}\nvar self2080 = $self2080;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2081 = R.mC();\n}\nwhile(!R.isContinuation($ans2081)) {\nswitch($step2078) {\ncase 0: $ans2081 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[856],L[857]);\nvar anf_fun694 = $ans2081;\n$ans2081 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[858],L[859]);\nvar anf_fun2085 = $ans2081;\n$step2078 = 1;\n$al2082 = L[865];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,ED23.dict.values.dict[\"text\"]);\n}\n$ans2081 = ED23.dict.values.dict[\"text\"].app((\"Predicate failed for exception:\"));\nbreak;\ncase 1: var anf_arg697 = $ans2081;\n$step2078 = 2;\n$al2082 = L[859];\nif(typeof(anf_fun2085.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun2085);\n}\n$ans2081 = anf_fun2085.app(anf_arg697);\nbreak;\ncase 2: var anf_arg702 = $ans2081;\n$ans2081 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[860],L[861]);\nvar anf_fun2086 = $ans2081;\n$al2082 = L[862];\nvar anf_arg705 = G(self2080,\"exn\",L[862]);\n$step2078 = 3;\n$al2082 = L[864];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,exn$unwrap2);\n}\n$ans2081 = exn$unwrap2.app(anf_arg705);\nbreak;\ncase 3: var anf_arg710 = $ans2081;\n$step2078 = 4;\n$al2082 = L[863];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2081 = ED23.dict.values.dict[\"embed\"].app(anf_arg710);\nbreak;\ncase 4: var anf_arg2087 = $ans2081;\n$step2078 = 5;\n$al2082 = L[861];\nif(typeof(anf_fun2086.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun2086);\n}\n$ans2081 = anf_fun2086.app(anf_arg2087);\nbreak;\ncase 5: var anf_arg2088 = $ans2081;\n$step2078 = 6;\n$al2082 = L[857];\nif(typeof(anf_fun694.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun694);\n}\n$ans2081 = anf_fun694.app(anf_arg702,anf_arg2088);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2081;\ndefault: R.ffi.throwSpinnakerError(L[855],$step2078);\n}\n}\nif($step2078 !== 6) {\n$ans2081.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2082,$temp_full2079,$step2078,[self2080],[anf_arg702,anf_fun694,anf_fun2085,anf_fun2086],$elidedFrames2084);\n}\nreturn $ans2081;\n};\nvar anf_variant_member2557 = R.makeMethod0($temp_full2079,\"render-reason\");\nvar $temp_full2091 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__866($self2092) {\nvar $step2090 = 0;\nvar $elidedFrames2096 = 0;\nvar $ans2093 = D;\nvar $al2094 = L[866];\nif(R.isAR($self2092)) {\n$step2090 = $self2092.step;\n$al2094 = $self2092.from;\n$ans2093 = $self2092.ans;\n$elidedFrames2096 = $self2092.elidedFrames;\nself2092 = $self2092.args[0];\nanf_arg724 = $self2092.vars[0];\nanf_arg725 = $self2092.vars[1];\nanf_fun2098 = $self2092.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[866],1,$t,true);\n}\nvar self2092 = $self2092;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2093 = R.mC();\n}\nwhile(!R.isContinuation($ans2093)) {\nswitch($step2090) {\ncase 0: $ans2093 = R.getMaker3(list6,(\"make3\"),L[867],L[868]);\nvar anf_fun2098 = $ans2093;\n$al2094 = L[869];\nvar anf_arg2097 = G(self2092,\"loc\",L[869]);\n$step2090 = 1;\n$al2094 = L[876];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2097);\nbreak;\ncase 1: var anf_arg724 = $ans2093;\n$al2094 = L[870];\nvar anf_arg721 = G(self2092,\"exn\",L[870]);\n$step2090 = 2;\n$al2094 = L[875];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,exn$unwrap2);\n}\n$ans2093 = exn$unwrap2.app(anf_arg721);\nbreak;\ncase 2: var anf_arg722 = $ans2093;\n$step2090 = 3;\n$al2094 = L[874];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg722);\nbreak;\ncase 3: var anf_arg725 = $ans2093;\n$al2094 = L[871];\nvar anf_arg726 = G(self2092,\"pred\",L[871]);\n$step2090 = 4;\n$al2094 = L[873];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg726);\nbreak;\ncase 4: var anf_arg730 = $ans2093;\n$step2090 = 5;\n$al2094 = L[868];\nif(typeof(anf_fun2098.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,anf_fun2098);\n}\n$ans2093 = anf_fun2098.app(anf_arg724,anf_arg725,anf_arg730);\nbreak;\ncase 5: var anf_arg727 = $ans2093;\n$step2090 = 6;\n$al2094 = L[872];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-raise-not-satisfied\"),anf_arg727);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2093;\ndefault: R.ffi.throwSpinnakerError(L[866],$step2090);\n}\n}\nif($step2090 !== 6) {\n$ans2093.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2094,$temp_full2091,$step2090,[self2092],[anf_arg724,anf_arg725,anf_fun2098],$elidedFrames2096);\n}\nreturn $ans2093;\n};\nvar anf_variant_member2558 = R.makeMethod0($temp_full2091,\"_output\");\nvar $temp_full2101 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__877($self1720,$maybe$stack$loc1721,$src$available1722,$maybe$ast1723) {\nvar $step2100 = 0;\nvar $elidedFrames2105 = 0;\nvar $ans2102 = D;\nvar $al2103 = L[877];\nif(R.isAR($self1720)) {\n$step2100 = $self1720.step;\n$al2103 = $self1720.from;\n$ans2102 = $self1720.ans;\n$elidedFrames2105 = $self1720.elidedFrames;\nself1720 = $self1720.args[0];\nmaybe$stack$loc1721 = $self1720.args[1];\nsrc$available1722 = $self1720.args[2];\nmaybe$ast1723 = $self1720.args[3];\ncases2131 = $self1720.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[877],4,$t,true);\n}\nvar self1720 = $self1720;\nvar maybe$stack$loc1721 = $maybe$stack$loc1721;\nvar src$available1722 = $src$available1722;\nvar maybe$ast1723 = $maybe$ast1723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2102 = R.mC();\n}\nwhile(!R.isContinuation($ans2102)) {\nswitch($step2100) {\ncase 0: $al2103 = L[878];\nvar anf_method_obj2106 = G(self1720,\"loc\",L[878]);\n$step2100 = 1;\n$ans2102 = R.maybeMethodCall0(anf_method_obj2106,\"is-builtin\",L[879]);\nbreak;\ncase 1: var anf_if2172 = $ans2102;\n$step2100 = R.checkPyretTrue(anf_if2172)?2:3;\nbreak;\ncase 2: $step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[880]);\nbreak;\ncase 3: $al2103 = L[881];\nvar anf_arg2130 = G(self1720,\"loc\",L[881]);\n$step2100 = 4;\n$al2103 = L[922];\nif(typeof(src$available1722.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2103,src$available1722);\n}\n$ans2102 = src$available1722.app(anf_arg2130);\nbreak;\ncase 4: var anf_if2171 = $ans2102;\n$step2100 = R.checkPyretTrue(anf_if2171)?5:11;\nbreak;\ncase 5: $al2103 = L[882];\nvar anf_arg837 = G(self1720,\"loc\",L[882]);\n$step2100 = 6;\n$al2103 = L[920];\nif(typeof(maybe$ast1723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2103,maybe$ast1723);\n}\n$ans2102 = maybe$ast1723.app(anf_arg837);\nbreak;\ncase 6: var cases2131 = $ans2102;\n$step2100 = 7;\n$al2103 = L[919];\nvar $ann$check2170 = R._cA(L[919],Option15,cases2131);\nif(R.isContinuation($ann$check2170)) {\n$ans2102 = $ann$check2170;\n}\nbreak;\ncase 7: $al2103 = L[916];\n$step2100 = $cases_dispatch2169[cases2131.$name] || 10;\nbreak;\ncase 8: if(cases2131.$arity !== 1) {\nif(cases2131.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[915],1,cases2131.$arity,L[916],cases2131.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[915],true,L[916],cases2131.$loc);\n}\n}\n$step2100 = 12;\n$al2103 = L[915];\nvar $temp_branch2162 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__916($test$ast2133) {\nvar $step2163 = 0;\nvar $elidedFrames2167 = 0;\nvar $ans2164 = D;\nvar $al2165 = L[883];\nif(R.isAR($test$ast2133)) {\n$step2163 = $test$ast2133.step;\n$al2165 = $test$ast2133.from;\n$ans2164 = $test$ast2133.ans;\n$elidedFrames2167 = $test$ast2133.elidedFrames;\ntest$ast2133 = $test$ast2133.args[0];\nanf_array2145 = $test$ast2133.vars[0];\nlhs$ast2136 = $test$ast2133.vars[1];\nanf_arg2149 = $test$ast2133.vars[2];\nanf_arg761 = $test$ast2133.vars[3];\nanf_arg751 = $test$ast2133.vars[4];\nanf_fun791 = $test$ast2133.vars[5];\ned$rhs2142 = $test$ast2133.vars[6];\nanf_arg749 = $test$ast2133.vars[7];\nanf_fun2144 = $test$ast2133.vars[8];\ned$lhs2143 = $test$ast2133.vars[9];\nrhs$ast2137 = $test$ast2133.vars[10];\nanf_fun2147 = $test$ast2133.vars[11];\nanf_arg2161 = $test$ast2133.vars[12];\n} else {\nvar test$ast2133 = $test$ast2133;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2164 = R.mC();\n}\nwhile(!R.isContinuation($ans2164)) {\nswitch($step2163) {\ncase 0: $al2165 = L[883];\nvar anf_method_obj2132 = G(self1720,\"exn-src\",L[883]);\n$step2163 = 1;\n$ans2164 = R.maybeMethodCall1(anf_method_obj2132,\"test-component\",L[884],test$ast2133);\nbreak;\ncase 1: var lhs$ast2136 = $ans2164;\n$al2165 = L[885];\nvar anf_bracket2134 = G(test$ast2133,\"right\",L[885]);\n$al2165 = L[886];\nvar rhs$ast2137 = G(anf_bracket2134,\"value\",L[886]);\n$al2165 = L[887];\nvar anf_method_obj2135 = G(self1720,\"exn-src\",L[887]);\n$step2163 = 2;\n$ans2164 = R.maybeMethodCall0(anf_method_obj2135,\"side\",L[888]);\nbreak;\ncase 2: var anf_arg744 = $ans2164;\n$step2163 = 3;\n$al2165 = L[914];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app(anf_arg744);\nbreak;\ncase 3: var anf_arg751 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[889],L[890]);\nvar anf_fun745 = $ans2164;\n$al2165 = L[891];\nvar anf_arg748 = G(lhs$ast2136,\"l\",L[891]);\n$step2163 = 4;\n$al2165 = L[890];\nif(typeof(anf_fun745.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun745);\n}\n$ans2164 = anf_fun745.app(anf_arg748);\nbreak;\ncase 4: var anf_arg752 = $ans2164;\n$step2163 = 5;\n$al2165 = L[913];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"highlight\"].app(anf_arg751,anf_arg752,(3));\nbreak;\ncase 5: var ed$lhs2143 = $ans2164;\n$step2163 = 6;\n$al2165 = L[912];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg749 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[892],L[893]);\nvar anf_fun2139 = $ans2164;\n$al2165 = L[894];\nvar anf_arg754 = G(rhs$ast2137,\"l\",L[894]);\n$step2163 = 7;\n$al2165 = L[893];\nif(typeof(anf_fun2139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2139);\n}\n$ans2164 = anf_fun2139.app(anf_arg754);\nbreak;\ncase 7: var anf_arg2140 = $ans2164;\n$step2163 = 8;\n$al2165 = L[911];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"highlight\"].app(anf_arg749,anf_arg2140,(4));\nbreak;\ncase 8: var ed$rhs2142 = $ans2164;\n$ans2164 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[895],L[896]);\nvar anf_fun2147 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[897],L[898]);\nvar anf_fun791 = $ans2164;\n$al2165 = L[899];\nvar anf_method_obj2141 = G(self1720,\"exn-src\",L[899]);\n$step2163 = 9;\n$ans2164 = R.maybeMethodCall1(anf_method_obj2141,\"test-preamble\",L[900],test$ast2133);\nbreak;\ncase 9: var anf_arg792 = $ans2164;\n$step2163 = 10;\n$al2165 = L[898];\nif(typeof(anf_fun791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun791);\n}\n$ans2164 = anf_fun791.app(anf_arg792);\nbreak;\ncase 10: var anf_arg761 = $ans2164;\n$al2165 = L[901];\nvar anf_arg793 = G(self1720,\"loc\",L[901]);\n$step2163 = 11;\n$al2165 = L[910];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg793);\nbreak;\ncase 11: var anf_arg2149 = $ans2164;\n$ans2164 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[902],L[903]);\nvar anf_fun2144 = $ans2164;\n$ans2164 = R.makeArrayN((7));\nvar anf_array2145 = $ans2164;\n$step2163 = 12;\n$al2165 = L[909];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 12: anf_array2145[0] = $ans2164;\nanf_array2145[1] = ed$rhs2142;\n$step2163 = 13;\n$al2165 = L[908];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the value of the exception raised by the \"));\nbreak;\ncase 13: anf_array2145[2] = $ans2164;\nanf_array2145[3] = ed$lhs2143;\n$step2163 = 14;\n$al2165 = L[907];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 14: anf_array2145[4] = $ans2164;\nanf_array2145[5] = ed$lhs2143;\n$step2163 = 15;\n$al2165 = L[906];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is:\"));\nbreak;\ncase 15: anf_array2145[6] = $ans2164;\n$step2163 = 16;\n$al2165 = L[903];\nif(typeof(anf_fun2144.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2144);\n}\n$ans2164 = anf_fun2144.app(anf_array2145);\nbreak;\ncase 16: var anf_arg2161 = $ans2164;\n$al2165 = L[904];\nvar anf_arg773 = G(self1720,\"exn\",L[904]);\n$step2163 = 17;\n$al2165 = L[905];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"embed\"].app(anf_arg773);\nbreak;\ncase 17: var anf_arg775 = $ans2164;\n$step2163 = 18;\n$al2165 = L[896];\nif(typeof(anf_fun2147.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2147);\n}\n$ans2164 = anf_fun2147.app(anf_arg761,anf_arg2149,anf_arg2161,anf_arg775);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2164;\ndefault: R.ffi.throwSpinnakerError(L[883],$step2163);\n}\n}\nif($step2163 !== 18) {\n$ans2164.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2165,$temp_branch2162,$step2163,[test$ast2133],[anf_array2145,lhs$ast2136,anf_arg2149,anf_arg761,anf_arg751,anf_fun791,ed$rhs2142,anf_arg749,anf_fun2144,ed$lhs2143,rhs$ast2137,anf_fun2147,anf_arg2161],$elidedFrames2167);\n}\nreturn $ans2164;\n};\n$ans2102 = cases2131.$app_fields($temp_branch2162,[false]);\nbreak;\ncase 9: if(cases2131.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[918],false,L[916],cases2131.$loc);\n}\n$step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[917]);\nbreak;\ncase 10: $ans2102 = R.throwNoCasesMatched(L[916],cases2131);\n$step2100 = 12;\nbreak;\ncase 11: $step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[921]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2102;\ndefault: R.ffi.throwSpinnakerError(L[877],$step2100);\n}\n}\nif($step2100 !== 12) {\n$ans2102.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2103,$temp_full2101,$step2100,[self1720,maybe$stack$loc1721,src$available1722,maybe$ast1723],[cases2131],$elidedFrames2105);\n}\nreturn $ans2102;\n};\nvar anf_variant_member2569 = R.makeMethod3($temp_full2101,\"render-fancy-reason\");\nvar $temp_full2175 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__923($self2176) {\nvar $step2174 = 0;\nvar $elidedFrames2180 = 0;\nvar $ans2177 = D;\nvar $al2178 = L[923];\nif(R.isAR($self2176)) {\n$step2174 = $self2176.step;\n$al2178 = $self2176.from;\n$ans2177 = $self2176.ans;\n$elidedFrames2180 = $self2176.elidedFrames;\nself2176 = $self2176.args[0];\nanf_fun2182 = $self2176.vars[0];\nanf_fun2186 = $self2176.vars[1];\nanf_fun2187 = $self2176.vars[2];\nanf_arg2193 = $self2176.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[923],1,$t,true);\n}\nvar self2176 = $self2176;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2177 = R.mC();\n}\nwhile(!R.isContinuation($ans2177)) {\nswitch($step2174) {\ncase 0: $ans2177 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[924],L[925]);\nvar anf_fun2187 = $ans2177;\n$ans2177 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[926],L[927]);\nvar anf_fun2182 = $ans2177;\n$step2174 = 1;\n$al2178 = L[933];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,ED23.dict.values.dict[\"text\"]);\n}\n$ans2177 = ED23.dict.values.dict[\"text\"].app((\"Predicate succeeded for exception (it should have failed):\"));\nbreak;\ncase 1: var anf_arg2185 = $ans2177;\n$step2174 = 2;\n$al2178 = L[927];\nif(typeof(anf_fun2182.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2182);\n}\n$ans2177 = anf_fun2182.app(anf_arg2185);\nbreak;\ncase 2: var anf_arg2193 = $ans2177;\n$ans2177 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[928],L[929]);\nvar anf_fun2186 = $ans2177;\n$al2178 = L[930];\nvar anf_arg780 = G(self2176,\"exn\",L[930]);\n$step2174 = 3;\n$al2178 = L[932];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,exn$unwrap2);\n}\n$ans2177 = exn$unwrap2.app(anf_arg780);\nbreak;\ncase 3: var anf_arg788 = $ans2177;\n$step2174 = 4;\n$al2178 = L[931];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2177 = ED23.dict.values.dict[\"embed\"].app(anf_arg788);\nbreak;\ncase 4: var anf_arg789 = $ans2177;\n$step2174 = 5;\n$al2178 = L[929];\nif(typeof(anf_fun2186.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2186);\n}\n$ans2177 = anf_fun2186.app(anf_arg789);\nbreak;\ncase 5: var anf_arg794 = $ans2177;\n$step2174 = 6;\n$al2178 = L[925];\nif(typeof(anf_fun2187.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2187);\n}\n$ans2177 = anf_fun2187.app(anf_arg2193,anf_arg794);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2177;\ndefault: R.ffi.throwSpinnakerError(L[923],$step2174);\n}\n}\nif($step2174 !== 6) {\n$ans2177.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2178,$temp_full2175,$step2174,[self2176],[anf_fun2182,anf_fun2186,anf_fun2187,anf_arg2193],$elidedFrames2180);\n}\nreturn $ans2177;\n};\nvar anf_variant_member2570 = R.makeMethod0($temp_full2175,\"render-reason\");\nvar $temp_full2196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__934($self2197) {\nvar $step2195 = 0;\nvar $elidedFrames2202 = 0;\nvar $ans2199 = D;\nvar $al2200 = L[934];\nif(R.isAR($self2197)) {\n$step2195 = $self2197.step;\n$al2200 = $self2197.from;\n$ans2199 = $self2197.ans;\n$elidedFrames2202 = $self2197.elidedFrames;\nself2197 = $self2197.args[0];\nanf_fun2205 = $self2197.vars[0];\nanf_arg810 = $self2197.vars[1];\nanf_arg819 = $self2197.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[934],1,$t,true);\n}\nvar self2197 = $self2197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2199 = R.mC();\n}\nwhile(!R.isContinuation($ans2199)) {\nswitch($step2195) {\ncase 0: $ans2199 = R.getMaker3(list6,(\"make3\"),L[935],L[936]);\nvar anf_fun2205 = $ans2199;\n$al2200 = L[937];\nvar anf_arg2203 = G(self2197,\"loc\",L[937]);\n$step2195 = 1;\n$al2200 = L[944];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2203);\nbreak;\ncase 1: var anf_arg810 = $ans2199;\n$al2200 = L[938];\nvar anf_arg818 = G(self2197,\"exn\",L[938]);\n$step2195 = 2;\n$al2200 = L[943];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,exn$unwrap2);\n}\n$ans2199 = exn$unwrap2.app(anf_arg818);\nbreak;\ncase 2: var anf_arg811 = $ans2199;\n$step2195 = 3;\n$al2200 = L[942];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg811);\nbreak;\ncase 3: var anf_arg819 = $ans2199;\n$al2200 = L[939];\nvar anf_arg2204 = G(self2197,\"pred\",L[939]);\n$step2195 = 4;\n$al2200 = L[941];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2204);\nbreak;\ncase 4: var anf_arg813 = $ans2199;\n$step2195 = 5;\n$al2200 = L[936];\nif(typeof(anf_fun2205.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,anf_fun2205);\n}\n$ans2199 = anf_fun2205.app(anf_arg810,anf_arg819,anf_arg813);\nbreak;\ncase 5: var anf_arg820 = $ans2199;\n$step2195 = 6;\n$al2200 = L[940];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-raise-not-dissatisfied\"),anf_arg820);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2199;\ndefault: R.ffi.throwSpinnakerError(L[934],$step2195);\n}\n}\nif($step2195 !== 6) {\n$ans2199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2200,$temp_full2196,$step2195,[self2197],[anf_fun2205,anf_arg810,anf_arg819],$elidedFrames2202);\n}\nreturn $ans2199;\n};\nvar anf_variant_member2571 = R.makeMethod0($temp_full2196,\"_output\");\nvar $temp_full2208 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__945($self2209,$maybe$stack$loc2210,$src$available2211,$maybe$ast2212) {\nvar $step2207 = 0;\nvar $elidedFrames2216 = 0;\nvar $ans2213 = D;\nvar $al2214 = L[945];\nif(R.isAR($self2209)) {\n$step2207 = $self2209.step;\n$al2214 = $self2209.from;\n$ans2213 = $self2209.ans;\n$elidedFrames2216 = $self2209.elidedFrames;\nself2209 = $self2209.args[0];\nmaybe$stack$loc2210 = $self2209.args[1];\nsrc$available2211 = $self2209.args[2];\nmaybe$ast2212 = $self2209.args[3];\nanf_fun2227 = $self2209.vars[0];\nanf_fun2217 = $self2209.vars[1];\nanf_arg849 = $self2209.vars[2];\nanf_fun2226 = $self2209.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[945],4,$t,true);\n}\nvar self2209 = $self2209;\nvar maybe$stack$loc2210 = $maybe$stack$loc2210;\nvar src$available2211 = $src$available2211;\nvar maybe$ast2212 = $maybe$ast2212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2213 = R.mC();\n}\nwhile(!R.isContinuation($ans2213)) {\nswitch($step2207) {\ncase 0: $ans2213 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[946],L[947]);\nvar anf_fun2227 = $ans2213;\n$ans2213 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[948],L[949]);\nvar anf_fun2217 = $ans2213;\n$step2207 = 1;\n$al2214 = L[954];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,ED23.dict.values.dict[\"text\"]);\n}\n$ans2213 = ED23.dict.values.dict[\"text\"].app((\"The custom equality function must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2222 = $ans2213;\n$step2207 = 2;\n$al2214 = L[949];\nif(typeof(anf_fun2217.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2217);\n}\n$ans2213 = anf_fun2217.app(anf_arg2222);\nbreak;\ncase 2: var anf_arg849 = $ans2213;\n$ans2213 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[950],L[951]);\nvar anf_fun2226 = $ans2213;\n$al2214 = L[952];\nvar anf_arg2225 = G(self2209,\"test-result\",L[952]);\n$step2207 = 3;\n$al2214 = L[953];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2213 = ED23.dict.values.dict[\"embed\"].app(anf_arg2225);\nbreak;\ncase 3: var anf_arg852 = $ans2213;\n$step2207 = 4;\n$al2214 = L[951];\nif(typeof(anf_fun2226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2226);\n}\n$ans2213 = anf_fun2226.app(anf_arg852);\nbreak;\ncase 4: var anf_arg856 = $ans2213;\n$step2207 = 5;\n$al2214 = L[947];\nif(typeof(anf_fun2227.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2227);\n}\n$ans2213 = anf_fun2227.app(anf_arg849,anf_arg856);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2213;\ndefault: R.ffi.throwSpinnakerError(L[945],$step2207);\n}\n}\nif($step2207 !== 5) {\n$ans2213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2214,$temp_full2208,$step2207,[self2209,maybe$stack$loc2210,src$available2211,maybe$ast2212],[anf_fun2227,anf_fun2217,anf_arg849,anf_fun2226],$elidedFrames2216);\n}\nreturn $ans2213;\n};\nvar anf_variant_member2582 = R.makeMethod3($temp_full2208,\"render-fancy-reason\");\nvar $temp_full2230 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__955($self2231) {\nvar $step2229 = 0;\nvar $elidedFrames2236 = 0;\nvar $ans2233 = D;\nvar $al2234 = L[955];\nif(R.isAR($self2231)) {\n$step2229 = $self2231.step;\n$al2234 = $self2231.from;\n$ans2233 = $self2231.ans;\n$elidedFrames2236 = $self2231.elidedFrames;\nself2231 = $self2231.args[0];\nanf_fun2240 = $self2231.vars[0];\nanf_fun2237 = $self2231.vars[1];\nanf_arg870 = $self2231.vars[2];\nanf_fun2239 = $self2231.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[955],1,$t,true);\n}\nvar self2231 = $self2231;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2233 = R.mC();\n}\nwhile(!R.isContinuation($ans2233)) {\nswitch($step2229) {\ncase 0: $ans2233 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[956],L[957]);\nvar anf_fun2240 = $ans2233;\n$ans2233 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[958],L[959]);\nvar anf_fun2237 = $ans2233;\n$step2229 = 1;\n$al2234 = L[964];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,ED23.dict.values.dict[\"text\"]);\n}\n$ans2233 = ED23.dict.values.dict[\"text\"].app((\"The custom equality function must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2238 = $ans2233;\n$step2229 = 2;\n$al2234 = L[959];\nif(typeof(anf_fun2237.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2237);\n}\n$ans2233 = anf_fun2237.app(anf_arg2238);\nbreak;\ncase 2: var anf_arg870 = $ans2233;\n$ans2233 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[960],L[961]);\nvar anf_fun2239 = $ans2233;\n$al2234 = L[962];\nvar anf_arg894 = G(self2231,\"test-result\",L[962]);\n$step2229 = 3;\n$al2234 = L[963];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2233 = ED23.dict.values.dict[\"embed\"].app(anf_arg894);\nbreak;\ncase 3: var anf_arg897 = $ans2233;\n$step2229 = 4;\n$al2234 = L[961];\nif(typeof(anf_fun2239.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2239);\n}\n$ans2233 = anf_fun2239.app(anf_arg897);\nbreak;\ncase 4: var anf_arg2244 = $ans2233;\n$step2229 = 5;\n$al2234 = L[957];\nif(typeof(anf_fun2240.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2240);\n}\n$ans2233 = anf_fun2240.app(anf_arg870,anf_arg2244);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2233;\ndefault: R.ffi.throwSpinnakerError(L[955],$step2229);\n}\n}\nif($step2229 !== 5) {\n$ans2233.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2234,$temp_full2230,$step2229,[self2231],[anf_fun2240,anf_fun2237,anf_arg870,anf_fun2239],$elidedFrames2236);\n}\nreturn $ans2233;\n};\nvar anf_variant_member2583 = R.makeMethod0($temp_full2230,\"render-reason\");\nvar $temp_full2247 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__965($self2248,$maybe$stack$loc2249,$src$available2250,$maybe$ast2251) {\nvar $step2246 = 0;\nvar $elidedFrames2255 = 0;\nvar $ans2252 = D;\nvar $al2253 = L[965];\nif(R.isAR($self2248)) {\n$step2246 = $self2248.step;\n$al2253 = $self2248.from;\n$ans2252 = $self2248.ans;\n$elidedFrames2255 = $self2248.elidedFrames;\nself2248 = $self2248.args[0];\nmaybe$stack$loc2249 = $self2248.args[1];\nsrc$available2250 = $self2248.args[2];\nmaybe$ast2251 = $self2248.args[3];\ncases2257 = $self2248.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[965],4,$t,true);\n}\nvar self2248 = $self2248;\nvar maybe$stack$loc2249 = $maybe$stack$loc2249;\nvar src$available2250 = $src$available2250;\nvar maybe$ast2251 = $maybe$ast2251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2252 = R.mC();\n}\nwhile(!R.isContinuation($ans2252)) {\nswitch($step2246) {\ncase 0: $al2253 = L[966];\nvar anf_method_obj2256 = G(self2248,\"loc\",L[966]);\n$step2246 = 1;\n$ans2252 = R.maybeMethodCall0(anf_method_obj2256,\"is-builtin\",L[967]);\nbreak;\ncase 1: var anf_if2310 = $ans2252;\n$step2246 = R.checkPyretTrue(anf_if2310)?2:3;\nbreak;\ncase 2: $step2246 = 12;\n$ans2252 = R.maybeMethodCall0(self2248,\"render-reason\",L[968]);\nbreak;\ncase 3: $al2253 = L[969];\nvar anf_arg873 = G(self2248,\"loc\",L[969]);\n$step2246 = 4;\n$al2253 = L[1015];\nif(typeof(src$available2250.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2253,src$available2250);\n}\n$ans2252 = src$available2250.app(anf_arg873);\nbreak;\ncase 4: var anf_if2309 = $ans2252;\n$step2246 = R.checkPyretTrue(anf_if2309)?5:11;\nbreak;\ncase 5: $al2253 = L[970];\nvar anf_arg874 = G(self2248,\"loc\",L[970]);\n$step2246 = 6;\n$al2253 = L[1013];\nif(typeof(maybe$ast2251.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2253,maybe$ast2251);\n}\n$ans2252 = maybe$ast2251.app(anf_arg874);\nbreak;\ncase 6: var cases2257 = $ans2252;\n$step2246 = 7;\n$al2253 = L[1012];\nvar $ann$check2308 = R._cA(L[1012],Option15,cases2257);\nif(R.isContinuation($ann$check2308)) {\n$ans2252 = $ann$check2308;\n}\nbreak;\ncase 7: $al2253 = L[995];\n$step2246 = $cases_dispatch2307[cases2257.$name] || 10;\nbreak;\ncase 8: if(cases2257.$arity !== 1) {\nif(cases2257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[994],1,cases2257.$arity,L[995],cases2257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[994],true,L[995],cases2257.$loc);\n}\n}\n$step2246 = 12;\n$al2253 = L[994];\nvar $temp_branch2271 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__995($test$ast2258) {\nvar $step2273 = 0;\nvar $elidedFrames2278 = 0;\nvar $ans2275 = D;\nvar $al2276 = L[993];\nif(R.isAR($test$ast2258)) {\n$step2273 = $test$ast2258.step;\n$al2276 = $test$ast2258.from;\n$ans2275 = $test$ast2258.ans;\n$elidedFrames2278 = $test$ast2258.elidedFrames;\ntest$ast2258 = $test$ast2258.args[0];\nanf_arg882 = $test$ast2258.vars[0];\nanf_arg886 = $test$ast2258.vars[1];\nanf_arg916 = $test$ast2258.vars[2];\nanf_fun2264 = $test$ast2258.vars[3];\nanf_fun875 = $test$ast2258.vars[4];\npred$lhs2265 = $test$ast2258.vars[5];\nanf_arg909 = $test$ast2258.vars[6];\nanf_arg2270 = $test$ast2258.vars[7];\nanf_fun2268 = $test$ast2258.vars[8];\nanf_fun2269 = $test$ast2258.vars[9];\n} else {\nvar test$ast2258 = $test$ast2258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2275 = R.mC();\n}\nwhile(!R.isContinuation($ans2275)) {\nswitch($step2273) {\ncase 0: $step2273 = 1;\n$al2276 = L[993];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"test predicate\"));\nbreak;\ncase 1: var anf_arg882 = $ans2275;\n$ans2275 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[971],L[972]);\nvar anf_fun875 = $ans2275;\n$step2273 = 2;\n$al2276 = L[973];\nvar $obj2279 = on$right260.$var;\nvar $field2280 = R.gCFL($obj2279,\"test-component\",L[973]);\nif(R.isM($field2280)) {\n$ans2275 = $field2280.full_meth($obj2279,test$ast2258);\n} else {\nif(typeof($field2280.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[973],$field2280);\n}\n$ans2275 = $field2280.app(test$ast2258);\n}\nbreak;\ncase 2: var anf_bracket2261 = $ans2275;\n$al2276 = L[974];\nvar anf_arg883 = G(anf_bracket2261,\"l\",L[974]);\n$step2273 = 3;\n$al2276 = L[972];\nif(typeof(anf_fun875.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun875);\n}\n$ans2275 = anf_fun875.app(anf_arg883);\nbreak;\ncase 3: var anf_arg2262 = $ans2275;\n$step2273 = 4;\n$al2276 = L[992];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"highlight\"].app(anf_arg882,anf_arg2262,(2));\nbreak;\ncase 4: var pred$lhs2265 = $ans2275;\n$ans2275 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[975],L[976]);\nvar anf_fun2269 = $ans2275;\n$ans2275 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[977],L[978]);\nvar anf_fun2264 = $ans2275;\n$step2273 = 5;\n$al2276 = L[991];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 5: var anf_arg886 = $ans2275;\n$al2276 = L[979];\nvar anf_arg890 = G(self2248,\"arity\",L[979]);\n$step2273 = 6;\n$al2276 = L[990];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,to$string1);\n}\n$ans2275 = to$string1.app(anf_arg890);\nbreak;\ncase 6: var anf_arg2263 = $ans2275;\n$step2273 = 7;\n$al2276 = L[989];\n// omitting isFunction check;\n$ans2275 = _plus5.app((\" must be a \"),anf_arg2263);\nbreak;\ncase 7: var anf_arg888 = $ans2275;\n$step2273 = 8;\n$al2276 = L[988];\n// omitting isFunction check;\n$ans2275 = _plus5.app(anf_arg888,(\"-argument function that returns a boolean:\"));\nbreak;\ncase 8: var anf_arg891 = $ans2275;\n$step2273 = 9;\n$al2276 = L[987];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app(anf_arg891);\nbreak;\ncase 9: var anf_arg2266 = $ans2275;\n$step2273 = 10;\n$al2276 = L[978];\nif(typeof(anf_fun2264.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2264);\n}\n$ans2275 = anf_fun2264.app(anf_arg886,pred$lhs2265,anf_arg2266);\nbreak;\ncase 10: var anf_arg2270 = $ans2275;\n$al2276 = L[980];\nvar anf_arg907 = G(self2248,\"loc\",L[980]);\n$step2273 = 11;\n$al2276 = L[986];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg907);\nbreak;\ncase 11: var anf_arg909 = $ans2275;\n$ans2275 = R.getMaker2(ED23.dict.values.dict[\"para\"],(\"make2\"),L[981],L[982]);\nvar anf_fun2268 = $ans2275;\n$step2273 = 12;\n$al2276 = L[985];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"Instead it was: \"));\nbreak;\ncase 12: var anf_arg916 = $ans2275;\n$al2276 = L[983];\nvar anf_arg2267 = G(self2248,\"predicate\",L[983]);\n$step2273 = 13;\n$al2276 = L[984];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"embed\"].app(anf_arg2267);\nbreak;\ncase 13: var anf_arg914 = $ans2275;\n$step2273 = 14;\n$al2276 = L[982];\nif(typeof(anf_fun2268.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2268);\n}\n$ans2275 = anf_fun2268.app(anf_arg916,anf_arg914);\nbreak;\ncase 14: var anf_arg917 = $ans2275;\n$step2273 = 15;\n$al2276 = L[976];\nif(typeof(anf_fun2269.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2269);\n}\n$ans2275 = anf_fun2269.app(anf_arg2270,anf_arg909,anf_arg917);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans2275;\ndefault: R.ffi.throwSpinnakerError(L[993],$step2273);\n}\n}\nif($step2273 !== 15) {\n$ans2275.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2276,$temp_branch2271,$step2273,[test$ast2258],[anf_arg882,anf_arg886,anf_arg916,anf_fun2264,anf_fun875,pred$lhs2265,anf_arg909,anf_arg2270,anf_fun2268,anf_fun2269],$elidedFrames2278);\n}\nreturn $ans2275;\n};\n$ans2252 = cases2257.$app_fields($temp_branch2271,[false]);\nbreak;\ncase 9: if(cases2257.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1011],false,L[995],cases2257.$loc);\n}\n$step2246 = 12;\n$al2253 = L[1011];\nvar $temp_branch2299 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__995($$resumer13) {\nvar $step2301 = 0;\nvar $elidedFrames2305 = 0;\nvar $ans2302 = D;\nvar $al2303 = L[997];\nif(R.isAR($$resumer13)) {\n$step2301 = $$resumer13.step;\n$al2303 = $$resumer13.from;\n$ans2302 = $$resumer13.ans;\n$elidedFrames2305 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg945 = $$resumer13.vars[0];\nanf_arg947 = $$resumer13.vars[1];\nanf_fun2284 = $$resumer13.vars[2];\nanf_fun2285 = $$resumer13.vars[3];\nanf_fun943 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2302 = R.mC();\n}\nwhile(!R.isContinuation($ans2302)) {\nswitch($step2301) {\ncase 0: $ans2302 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[996],L[997]);\nvar anf_fun2285 = $ans2302;\n$ans2302 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[998],L[999]);\nvar anf_fun2284 = $ans2302;\n$al2303 = L[1000];\nvar anf_arg2282 = G(self2248,\"arity\",L[1000]);\n$step2301 = 1;\n$al2303 = L[1010];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,to$string1);\n}\n$ans2302 = to$string1.app(anf_arg2282);\nbreak;\ncase 1: var anf_arg2283 = $ans2302;\n$step2301 = 2;\n$al2303 = L[1009];\n// omitting isFunction check;\n$ans2302 = _plus5.app((\"The test predicate must be a \"),anf_arg2283);\nbreak;\ncase 2: var anf_arg939 = $ans2302;\n$step2301 = 3;\n$al2303 = L[1008];\n// omitting isFunction check;\n$ans2302 = _plus5.app(anf_arg939,(\"-argument function that returns a boolean, but instead it was: \"));\nbreak;\ncase 3: var anf_arg937 = $ans2302;\n$step2301 = 4;\n$al2303 = L[1007];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"text\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"text\"].app(anf_arg937);\nbreak;\ncase 4: var anf_arg942 = $ans2302;\n$step2301 = 5;\n$al2303 = L[999];\nif(typeof(anf_fun2284.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun2284);\n}\n$ans2302 = anf_fun2284.app(anf_arg942);\nbreak;\ncase 5: var anf_arg947 = $ans2302;\n$ans2302 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1001],L[1002]);\nvar anf_fun943 = $ans2302;\n$al2303 = L[1003];\nvar anf_arg944 = G(self2248,\"predicate\",L[1003]);\n$step2301 = 6;\n$al2303 = L[1006];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"embed\"].app(anf_arg944);\nbreak;\ncase 6: var anf_arg948 = $ans2302;\n$step2301 = 7;\n$al2303 = L[1002];\nif(typeof(anf_fun943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun943);\n}\n$ans2302 = anf_fun943.app(anf_arg948);\nbreak;\ncase 7: var anf_arg945 = $ans2302;\n$al2303 = L[1004];\nvar anf_arg949 = G(self2248,\"loc\",L[1004]);\n$step2301 = 8;\n$al2303 = L[1005];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg949);\nbreak;\ncase 8: var anf_arg2298 = $ans2302;\n$step2301 = 9;\n$al2303 = L[997];\nif(typeof(anf_fun2285.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun2285);\n}\n$ans2302 = anf_fun2285.app(anf_arg947,anf_arg945,anf_arg2298);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2302;\ndefault: R.ffi.throwSpinnakerError(L[997],$step2301);\n}\n}\nif($step2301 !== 9) {\n$ans2302.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2303,$temp_branch2299,$step2301,[],[anf_arg945,anf_arg947,anf_fun2284,anf_fun2285,anf_fun943],$elidedFrames2305);\n}\nreturn $ans2302;\n};\n$ans2252 = cases2257.$app_fields($temp_branch2299,[]);\nbreak;\ncase 10: $ans2252 = R.throwNoCasesMatched(L[995],cases2257);\n$step2246 = 12;\nbreak;\ncase 11: $ans2252 = R.throwNoBranchesMatched(L[1014],(\"if\"));\n$step2246 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2252;\ndefault: R.ffi.throwSpinnakerError(L[965],$step2246);\n}\n}\nif($step2246 !== 12) {\n$ans2252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2253,$temp_full2247,$step2246,[self2248,maybe$stack$loc2249,src$available2250,maybe$ast2251],[cases2257],$elidedFrames2255);\n}\nreturn $ans2252;\n};\nvar anf_variant_member5749 = R.makeMethod3($temp_full2247,\"render-fancy-reason\");\nvar $temp_full2313 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1016($self2314) {\nvar $step2312 = 0;\nvar $elidedFrames2318 = 0;\nvar $ans2315 = D;\nvar $al2316 = L[1016];\nif(R.isAR($self2314)) {\n$step2312 = $self2314.step;\n$al2316 = $self2314.from;\n$ans2315 = $self2314.ans;\n$elidedFrames2318 = $self2314.elidedFrames;\nself2314 = $self2314.args[0];\nanf_fun2319 = $self2314.vars[0];\nanf_arg980 = $self2314.vars[1];\nanf_fun976 = $self2314.vars[2];\nanf_fun979 = $self2314.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1016],1,$t,true);\n}\nvar self2314 = $self2314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2315 = R.mC();\n}\nwhile(!R.isContinuation($ans2315)) {\nswitch($step2312) {\ncase 0: $ans2315 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[1017],L[1018]);\nvar anf_fun979 = $ans2315;\n$ans2315 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1019],L[1020]);\nvar anf_fun976 = $ans2315;\n$al2316 = L[1021];\nvar anf_arg972 = G(self2314,\"arity\",L[1021]);\n$step2312 = 1;\n$al2316 = L[1029];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,to$string1);\n}\n$ans2315 = to$string1.app(anf_arg972);\nbreak;\ncase 1: var anf_arg973 = $ans2315;\n$step2312 = 2;\n$al2316 = L[1028];\n// omitting isFunction check;\n$ans2315 = _plus5.app((\"The test predicate must be a \"),anf_arg973);\nbreak;\ncase 2: var anf_arg974 = $ans2315;\n$step2312 = 3;\n$al2316 = L[1027];\n// omitting isFunction check;\n$ans2315 = _plus5.app(anf_arg974,(\"-argument function that returns a boolean, but instead it was: \"));\nbreak;\ncase 3: var anf_arg975 = $ans2315;\n$step2312 = 4;\n$al2316 = L[1026];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,ED23.dict.values.dict[\"text\"]);\n}\n$ans2315 = ED23.dict.values.dict[\"text\"].app(anf_arg975);\nbreak;\ncase 4: var anf_arg977 = $ans2315;\n$step2312 = 5;\n$al2316 = L[1020];\nif(typeof(anf_fun976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun976);\n}\n$ans2315 = anf_fun976.app(anf_arg977);\nbreak;\ncase 5: var anf_arg980 = $ans2315;\n$ans2315 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1022],L[1023]);\nvar anf_fun2319 = $ans2315;\n$al2316 = L[1024];\nvar anf_arg981 = G(self2314,\"predicate\",L[1024]);\n$step2312 = 6;\n$al2316 = L[1025];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2315 = ED23.dict.values.dict[\"embed\"].app(anf_arg981);\nbreak;\ncase 6: var anf_arg982 = $ans2315;\n$step2312 = 7;\n$al2316 = L[1023];\nif(typeof(anf_fun2319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun2319);\n}\n$ans2315 = anf_fun2319.app(anf_arg982);\nbreak;\ncase 7: var anf_arg2320 = $ans2315;\n$step2312 = 8;\n$al2316 = L[1018];\nif(typeof(anf_fun979.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun979);\n}\n$ans2315 = anf_fun979.app(anf_arg980,anf_arg2320);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2315;\ndefault: R.ffi.throwSpinnakerError(L[1016],$step2312);\n}\n}\nif($step2312 !== 8) {\n$ans2315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2316,$temp_full2313,$step2312,[self2314],[anf_fun2319,anf_arg980,anf_fun976,anf_fun979],$elidedFrames2318);\n}\nreturn $ans2315;\n};\nvar anf_variant_member2597 = R.makeMethod0($temp_full2313,\"render-reason\");\nvar $temp_full2326 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1030($self2327,$maybe$stack$loc2328,$src$available2329,$maybe$ast2330) {\nvar $step2325 = 0;\nvar $elidedFrames2336 = 0;\nvar $ans2333 = D;\nvar $al2334 = L[1030];\nif(R.isAR($self2327)) {\n$step2325 = $self2327.step;\n$al2334 = $self2327.from;\n$ans2333 = $self2327.ans;\n$elidedFrames2336 = $self2327.elidedFrames;\nself2327 = $self2327.args[0];\nmaybe$stack$loc2328 = $self2327.args[1];\nsrc$available2329 = $self2327.args[2];\nmaybe$ast2330 = $self2327.args[3];\ncases2342 = $self2327.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1030],4,$t,true);\n}\nvar self2327 = $self2327;\nvar maybe$stack$loc2328 = $maybe$stack$loc2328;\nvar src$available2329 = $src$available2329;\nvar maybe$ast2330 = $maybe$ast2330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2333 = R.mC();\n}\nwhile(!R.isContinuation($ans2333)) {\nswitch($step2325) {\ncase 0: $al2334 = L[1031];\nvar anf_method_obj2339 = G(self2327,\"loc\",L[1031]);\n$step2325 = 1;\n$ans2333 = R.maybeMethodCall0(anf_method_obj2339,\"is-builtin\",L[1032]);\nbreak;\ncase 1: var anf_if2417 = $ans2333;\n$step2325 = R.checkPyretTrue(anf_if2417)?2:3;\nbreak;\ncase 2: $step2325 = 12;\n$ans2333 = R.maybeMethodCall0(self2327,\"render-reason\",L[1033]);\nbreak;\ncase 3: $al2334 = L[1034];\nvar anf_arg1011 = G(self2327,\"loc\",L[1034]);\n$step2325 = 4;\n$al2334 = L[1088];\nif(typeof(src$available2329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2334,src$available2329);\n}\n$ans2333 = src$available2329.app(anf_arg1011);\nbreak;\ncase 4: var anf_if2416 = $ans2333;\n$step2325 = R.checkPyretTrue(anf_if2416)?5:11;\nbreak;\ncase 5: $al2334 = L[1035];\nvar anf_arg2341 = G(self2327,\"loc\",L[1035]);\n$step2325 = 6;\n$al2334 = L[1086];\nif(typeof(maybe$ast2330.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2334,maybe$ast2330);\n}\n$ans2333 = maybe$ast2330.app(anf_arg2341);\nbreak;\ncase 6: var cases2342 = $ans2333;\n$step2325 = 7;\n$al2334 = L[1085];\nvar $ann$check2415 = R._cA(L[1085],Option15,cases2342);\nif(R.isContinuation($ann$check2415)) {\n$ans2333 = $ann$check2415;\n}\nbreak;\ncase 7: $al2334 = L[1066];\n$step2325 = $cases_dispatch2414[cases2342.$name] || 10;\nbreak;\ncase 8: if(cases2342.$arity !== 1) {\nif(cases2342.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1065],1,cases2342.$arity,L[1066],cases2342.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1065],true,L[1066],cases2342.$loc);\n}\n}\n$step2325 = 12;\n$al2334 = L[1065];\nvar $temp_branch2385 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1066($test$ast2344) {\nvar $step2386 = 0;\nvar $elidedFrames2390 = 0;\nvar $ans2387 = D;\nvar $al2388 = L[1036];\nif(R.isAR($test$ast2344)) {\n$step2386 = $test$ast2344.step;\n$al2388 = $test$ast2344.from;\n$ans2387 = $test$ast2344.ans;\n$elidedFrames2390 = $test$ast2344.elidedFrames;\ntest$ast2344 = $test$ast2344.args[0];\nanf_arg2350 = $test$ast2344.vars[0];\nanf_arg2384 = $test$ast2344.vars[1];\nlhs$ast2346 = $test$ast2344.vars[2];\nanf_arg1022 = $test$ast2344.vars[3];\nanf_arg1001 = $test$ast2344.vars[4];\nanf_arg2365 = $test$ast2344.vars[5];\nanf_arg2377 = $test$ast2344.vars[6];\nanf_arg1027 = $test$ast2344.vars[7];\nanf_fun2360 = $test$ast2344.vars[8];\nanf_fun2382 = $test$ast2344.vars[9];\ned$lhs2381 = $test$ast2344.vars[10];\nanf_fun2362 = $test$ast2344.vars[11];\nanf_fun2375 = $test$ast2344.vars[12];\npred$lhs2366 = $test$ast2344.vars[13];\n} else {\nvar test$ast2344 = $test$ast2344;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2387 = R.mC();\n}\nwhile(!R.isContinuation($ans2387)) {\nswitch($step2386) {\ncase 0: $al2388 = L[1036];\nvar anf_method_obj2343 = G(self2327,\"left-src\",L[1036]);\n$step2386 = 1;\n$ans2387 = R.maybeMethodCall1(anf_method_obj2343,\"test-component\",L[1037],test$ast2344);\nbreak;\ncase 1: var lhs$ast2346 = $ans2387;\n$al2388 = L[1038];\nvar anf_method_obj2345 = G(self2327,\"left-src\",L[1038]);\n$step2386 = 2;\n$ans2387 = R.maybeMethodCall0(anf_method_obj2345,\"side\",L[1039]);\nbreak;\ncase 2: var anf_arg999 = $ans2387;\n$step2386 = 3;\n$al2388 = L[1064];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app(anf_arg999);\nbreak;\ncase 3: var anf_arg2350 = $ans2387;\n$ans2387 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[1040],L[1041]);\nvar anf_fun2347 = $ans2387;\n$al2388 = L[1042];\nvar anf_arg1000 = G(lhs$ast2346,\"l\",L[1042]);\n$step2386 = 4;\n$al2388 = L[1041];\nif(typeof(anf_fun2347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2347);\n}\n$ans2387 = anf_fun2347.app(anf_arg1000);\nbreak;\ncase 4: var anf_arg2356 = $ans2387;\n$step2386 = 5;\n$al2388 = L[1063];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"highlight\"].app(anf_arg2350,anf_arg2356,(3));\nbreak;\ncase 5: var ed$lhs2381 = $ans2387;\n$step2386 = 6;\n$al2388 = L[1062];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"test predicate\"));\nbreak;\ncase 6: var anf_arg1001 = $ans2387;\n$ans2387 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[1043],L[1044]);\nvar anf_fun2360 = $ans2387;\n$step2386 = 7;\n$al2388 = L[1045];\nvar $obj2391 = on$right260.$var;\nvar $field2392 = R.gCFL($obj2391,\"test-component\",L[1045]);\nif(R.isM($field2392)) {\n$ans2387 = $field2392.full_meth($obj2391,test$ast2344);\n} else {\nif(typeof($field2392.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1045],$field2392);\n}\n$ans2387 = $field2392.app(test$ast2344);\n}\nbreak;\ncase 7: var anf_bracket2359 = $ans2387;\n$al2388 = L[1046];\nvar anf_arg1007 = G(anf_bracket2359,\"l\",L[1046]);\n$step2386 = 8;\n$al2388 = L[1044];\nif(typeof(anf_fun2360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2360);\n}\n$ans2387 = anf_fun2360.app(anf_arg1007);\nbreak;\ncase 8: var anf_arg2361 = $ans2387;\n$step2386 = 9;\n$al2388 = L[1061];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1001,anf_arg2361,(4));\nbreak;\ncase 9: var pred$lhs2366 = $ans2387;\n$ans2387 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[1047],L[1048]);\nvar anf_fun2382 = $ans2387;\n$ans2387 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[1049],L[1050]);\nvar anf_fun2362 = $ans2387;\n$step2386 = 10;\n$al2388 = L[1060];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg2365 = $ans2387;\n$step2386 = 11;\n$al2388 = L[1059];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\" must return a boolean:\"));\nbreak;\ncase 11: var anf_arg2368 = $ans2387;\n$step2386 = 12;\n$al2388 = L[1050];\nif(typeof(anf_fun2362.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2362);\n}\n$ans2387 = anf_fun2362.app(anf_arg2365,pred$lhs2366,anf_arg2368);\nbreak;\ncase 12: var anf_arg1022 = $ans2387;\n$al2388 = L[1051];\nvar anf_arg1026 = G(self2327,\"loc\",L[1051]);\n$step2386 = 13;\n$al2388 = L[1058];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1026);\nbreak;\ncase 13: var anf_arg2384 = $ans2387;\n$ans2387 = R.getMaker4(ED23.dict.values.dict[\"para\"],(\"make4\"),L[1052],L[1053]);\nvar anf_fun2375 = $ans2387;\n$step2386 = 14;\n$al2388 = L[1057];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"Instead it returned \"));\nbreak;\ncase 14: var anf_arg1027 = $ans2387;\n$al2388 = L[1054];\nvar anf_arg2374 = G(self2327,\"test-result\",L[1054]);\n$step2386 = 15;\n$al2388 = L[1056];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"embed\"].app(anf_arg2374);\nbreak;\ncase 15: var anf_arg2377 = $ans2387;\n$step2386 = 16;\n$al2388 = L[1055];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\" when applied to the \"));\nbreak;\ncase 16: var anf_arg2380 = $ans2387;\n$step2386 = 17;\n$al2388 = L[1053];\nif(typeof(anf_fun2375.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2375);\n}\n$ans2387 = anf_fun2375.app(anf_arg1027,anf_arg2377,anf_arg2380,ed$lhs2381);\nbreak;\ncase 17: var anf_arg1144 = $ans2387;\n$step2386 = 18;\n$al2388 = L[1048];\nif(typeof(anf_fun2382.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2382);\n}\n$ans2387 = anf_fun2382.app(anf_arg1022,anf_arg2384,anf_arg1144);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2387;\ndefault: R.ffi.throwSpinnakerError(L[1036],$step2386);\n}\n}\nif($step2386 !== 18) {\n$ans2387.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2388,$temp_branch2385,$step2386,[test$ast2344],[anf_arg2350,anf_arg2384,lhs$ast2346,anf_arg1022,anf_arg1001,anf_arg2365,anf_arg2377,anf_arg1027,anf_fun2360,anf_fun2382,ed$lhs2381,anf_fun2362,anf_fun2375,pred$lhs2366],$elidedFrames2390);\n}\nreturn $ans2387;\n};\n$ans2333 = cases2342.$app_fields($temp_branch2385,[false]);\nbreak;\ncase 9: if(cases2342.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1084],false,L[1066],cases2342.$loc);\n}\n$step2325 = 12;\n$al2334 = L[1084];\nvar $temp_branch2407 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1066($$resumer13) {\nvar $step2408 = 0;\nvar $elidedFrames2412 = 0;\nvar $ans2409 = D;\nvar $al2410 = L[1068];\nif(R.isAR($$resumer13)) {\n$step2408 = $$resumer13.step;\n$al2410 = $$resumer13.from;\n$ans2409 = $$resumer13.ans;\n$elidedFrames2412 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg1044 = $$resumer13.vars[0];\nanf_arg2406 = $$resumer13.vars[1];\nanf_fun2394 = $$resumer13.vars[2];\nanf_fun2396 = $$resumer13.vars[3];\nanf_fun2399 = $$resumer13.vars[4];\nanf_arg1050 = $$resumer13.vars[5];\nanf_fun2401 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2409 = R.mC();\n}\nwhile(!R.isContinuation($ans2409)) {\nswitch($step2408) {\ncase 0: $ans2409 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[1067],L[1068]);\nvar anf_fun2401 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1069],L[1070]);\nvar anf_fun2394 = $ans2409;\n$step2408 = 1;\n$al2410 = L[1083];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"text\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"text\"].app((\"The test predicate must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2395 = $ans2409;\n$step2408 = 2;\n$al2410 = L[1070];\nif(typeof(anf_fun2394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2394);\n}\n$ans2409 = anf_fun2394.app(anf_arg2395);\nbreak;\ncase 2: var anf_arg2406 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1071],L[1072]);\nvar anf_fun2396 = $ans2409;\n$al2410 = L[1073];\nvar anf_arg1047 = G(self2327,\"test-result\",L[1073]);\n$step2408 = 3;\n$al2410 = L[1082];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"embed\"].app(anf_arg1047);\nbreak;\ncase 3: var anf_arg2397 = $ans2409;\n$step2408 = 4;\n$al2410 = L[1072];\nif(typeof(anf_fun2396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2396);\n}\n$ans2409 = anf_fun2396.app(anf_arg2397);\nbreak;\ncase 4: var anf_arg1044 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1074],L[1075]);\nvar anf_fun2399 = $ans2409;\n$al2410 = L[1076];\nvar anf_method_obj2398 = G(self2327,\"left-src\",L[1076]);\n$step2408 = 5;\n$ans2409 = R.maybeMethodCall0(anf_method_obj2398,\"side\",L[1077]);\nbreak;\ncase 5: var anf_arg1045 = $ans2409;\n$step2408 = 6;\n$al2410 = L[1081];\n// omitting isFunction check;\n$ans2409 = _plus5.app((\"when applied to the \"),anf_arg1045);\nbreak;\ncase 6: var anf_arg1048 = $ans2409;\n$step2408 = 7;\n$al2410 = L[1080];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"text\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"text\"].app(anf_arg1048);\nbreak;\ncase 7: var anf_arg1049 = $ans2409;\n$step2408 = 8;\n$al2410 = L[1075];\nif(typeof(anf_fun2399.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2399);\n}\n$ans2409 = anf_fun2399.app(anf_arg1049);\nbreak;\ncase 8: var anf_arg1050 = $ans2409;\n$al2410 = L[1078];\nvar anf_arg2400 = G(self2327,\"loc\",L[1078]);\n$step2408 = 9;\n$al2410 = L[1079];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg2400);\nbreak;\ncase 9: var anf_arg1051 = $ans2409;\n$step2408 = 10;\n$al2410 = L[1068];\nif(typeof(anf_fun2401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2401);\n}\n$ans2409 = anf_fun2401.app(anf_arg2406,anf_arg1044,anf_arg1050,anf_arg1051);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans2409;\ndefault: R.ffi.throwSpinnakerError(L[1068],$step2408);\n}\n}\nif($step2408 !== 10) {\n$ans2409.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2410,$temp_branch2407,$step2408,[],[anf_arg1044,anf_arg2406,anf_fun2394,anf_fun2396,anf_fun2399,anf_arg1050,anf_fun2401],$elidedFrames2412);\n}\nreturn $ans2409;\n};\n$ans2333 = cases2342.$app_fields($temp_branch2407,[]);\nbreak;\ncase 10: $ans2333 = R.throwNoCasesMatched(L[1066],cases2342);\n$step2325 = 12;\nbreak;\ncase 11: $ans2333 = R.throwNoBranchesMatched(L[1087],(\"if\"));\n$step2325 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2333;\ndefault: R.ffi.throwSpinnakerError(L[1030],$step2325);\n}\n}\nif($step2325 !== 12) {\n$ans2333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2334,$temp_full2326,$step2325,[self2327,maybe$stack$loc2328,src$available2329,maybe$ast2330],[cases2342],$elidedFrames2336);\n}\nreturn $ans2333;\n};\nvar anf_variant_member2607 = R.makeMethod3($temp_full2326,\"render-fancy-reason\");\nvar $temp_full2420 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1089($self2421) {\nvar $step2419 = 0;\nvar $elidedFrames2425 = 0;\nvar $ans2422 = D;\nvar $al2423 = L[1089];\nif(R.isAR($self2421)) {\n$step2419 = $self2421.step;\n$al2423 = $self2421.from;\n$ans2422 = $self2421.ans;\n$elidedFrames2425 = $self2421.elidedFrames;\nself2421 = $self2421.args[0];\nanf_fun2427 = $self2421.vars[0];\nanf_fun2426 = $self2421.vars[1];\nanf_arg1081 = $self2421.vars[2];\nanf_fun1072 = $self2421.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1089],1,$t,true);\n}\nvar self2421 = $self2421;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2422 = R.mC();\n}\nwhile(!R.isContinuation($ans2422)) {\nswitch($step2419) {\ncase 0: $ans2422 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[1090],L[1091]);\nvar anf_fun2427 = $ans2422;\n$ans2422 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1092],L[1093]);\nvar anf_fun2426 = $ans2422;\n$step2419 = 1;\n$al2423 = L[1098];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,ED23.dict.values.dict[\"text\"]);\n}\n$ans2422 = ED23.dict.values.dict[\"text\"].app((\"The test predicate must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg1056 = $ans2422;\n$step2419 = 2;\n$al2423 = L[1093];\nif(typeof(anf_fun2426.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun2426);\n}\n$ans2422 = anf_fun2426.app(anf_arg1056);\nbreak;\ncase 2: var anf_arg1081 = $ans2422;\n$ans2422 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1094],L[1095]);\nvar anf_fun1072 = $ans2422;\n$al2423 = L[1096];\nvar anf_arg1073 = G(self2421,\"test-result\",L[1096]);\n$step2419 = 3;\n$al2423 = L[1097];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2422 = ED23.dict.values.dict[\"embed\"].app(anf_arg1073);\nbreak;\ncase 3: var anf_arg1061 = $ans2422;\n$step2419 = 4;\n$al2423 = L[1095];\nif(typeof(anf_fun1072.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun1072);\n}\n$ans2422 = anf_fun1072.app(anf_arg1061);\nbreak;\ncase 4: var anf_arg2428 = $ans2422;\n$step2419 = 5;\n$al2423 = L[1091];\nif(typeof(anf_fun2427.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun2427);\n}\n$ans2422 = anf_fun2427.app(anf_arg1081,anf_arg2428);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2422;\ndefault: R.ffi.throwSpinnakerError(L[1089],$step2419);\n}\n}\nif($step2419 !== 5) {\n$ans2422.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2423,$temp_full2420,$step2419,[self2421],[anf_fun2427,anf_fun2426,anf_arg1081,anf_fun1072],$elidedFrames2425);\n}\nreturn $ans2422;\n};\nvar anf_variant_member2608 = R.makeMethod0($temp_full2420,\"render-reason\");\nvar $success_getfields2435 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $success_mutablemask2434 = [false];\nvar $success$base2431 = {\"$fieldNames\":[\"loc\"],\n\"access-stack\":anf_shared2430,\n\"_match\":R.mM(\"success\",1)};\nvar $success$brander2432 = R.nB(\"success\",L[1099]);\nvar $success$brands2433 = {};\n$success$brands2433[TestResult50._brand] = true;\n$success$brands2433[$success$brander2432._brand] = true;\nvar success2436 = R.mVC(L[1099],function $synthesizedConstructor_$success$base() {\nreturn [Loc274];\n},[\"loc2437\"],[L[1100]],[false],[\"loc2437\"],$success_mutablemask2434,$success$base2431,$success$brands2433,\"success\",$success_getfields2435,$success$base2431);\nvar $failure$not$equal_getfields2444 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$not$equal_mutablemask2443 = [false,false,false,false,false,false];\nvar $failure$not$equal$base2438 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2441,\n\"render-reason\":anf_variant_member2442,\n\"_match\":R.mM(\"failure-not-equal\",6)};\nvar $failure$not$equal$brander2439 = R.nB(\"failure-not-equal\",L[1101]);\nvar $failure$not$equal$brands2440 = {};\n$failure$not$equal$brands2440[TestResult50._brand] = true;\n$failure$not$equal$brands2440[$failure$not$equal$brander2439._brand] = true;\nvar failure$not$equal2445 = R.mVC(L[1101],function $synthesizedConstructor_$failure$not$equal$base() {\nreturn [Loc274];\n},[\"loc2446\"],[L[1102]],[false,false,false,false,false,false],[\"loc2446\",\"refinement2447\",\"left2448\",\"left$src2449\",\"right2450\",\"right$src2451\"],$failure$not$equal_mutablemask2443,$failure$not$equal$base2438,$failure$not$equal$brands2440,\"failure-not-equal\",$failure$not$equal_getfields2444,$failure$not$equal$base2438);\nvar $failure$is$incomparable_getfields2458 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"eq-result\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$is$incomparable_mutablemask2457 = [false,false,false,false,false,false];\nvar $failure$is$incomparable$base2452 = {\"$fieldNames\":[\"loc\",\"eq-result\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2455,\n\"render-reason\":anf_variant_member2456,\n\"_match\":R.mM(\"failure-is-incomparable\",6)};\nvar $failure$is$incomparable$brander2453 = R.nB(\"failure-is-incomparable\",L[1103]);\nvar $failure$is$incomparable$brands2454 = {};\n$failure$is$incomparable$brands2454[TestResult50._brand] = true;\n$failure$is$incomparable$brands2454[$failure$is$incomparable$brander2453._brand] = true;\nvar failure$is$incomparable2459 = R.mVC(L[1103],function $synthesizedConstructor_$failure$is$incomparable$base() {\nreturn [Loc274,R.makeFlatPredAnn(EqualityResult18,is$Unknown8,\"is-Unknown\")];\n},[\"loc2460\",\"eq$result2461\"],[L[1104],L[1105]],[false,false,false,false,false,false],[\"loc2460\",\"eq$result2461\",\"left2462\",\"left$src2463\",\"right2464\",\"right$src2465\"],$failure$is$incomparable_mutablemask2457,$failure$is$incomparable$base2452,$failure$is$incomparable$brands2454,\"failure-is-incomparable\",$failure$is$incomparable_getfields2458,$failure$is$incomparable$base2452);\nvar $failure$not$different_getfields2472 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$not$different_mutablemask2471 = [false,false,false,false,false,false];\nvar $failure$not$different$base2466 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2469,\n\"render-reason\":anf_variant_member2470,\n\"_match\":R.mM(\"failure-not-different\",6)};\nvar $failure$not$different$brander2467 = R.nB(\"failure-not-different\",L[1106]);\nvar $failure$not$different$brands2468 = {};\n$failure$not$different$brands2468[TestResult50._brand] = true;\n$failure$not$different$brands2468[$failure$not$different$brander2467._brand] = true;\nvar failure$not$different2473 = R.mVC(L[1106],function $synthesizedConstructor_$failure$not$different$base() {\nreturn [Loc274];\n},[\"loc2474\"],[L[1107]],[false,false,false,false,false,false],[\"loc2474\",\"refinement2475\",\"left2476\",\"left$src2477\",\"right2478\",\"right$src2479\"],$failure$not$different_mutablemask2471,$failure$not$different$base2466,$failure$not$different$brands2468,\"failure-not-different\",$failure$not$different_getfields2472,$failure$not$different$base2466);\nvar $failure$not$satisfied_getfields2486 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"val-src\"],this.dict[\"pred\"]);\n};\nvar $failure$not$satisfied_mutablemask2485 = [false,false,false,false];\nvar $failure$not$satisfied$base2480 = {\"$fieldNames\":[\"loc\",\"val\",\"val-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2483,\n\"render-reason\":anf_variant_member2484,\n\"_match\":R.mM(\"failure-not-satisfied\",4)};\nvar $failure$not$satisfied$brander2481 = R.nB(\"failure-not-satisfied\",L[1108]);\nvar $failure$not$satisfied$brands2482 = {};\n$failure$not$satisfied$brands2482[TestResult50._brand] = true;\n$failure$not$satisfied$brands2482[$failure$not$satisfied$brander2481._brand] = true;\nvar failure$not$satisfied2487 = R.mVC(L[1108],function $synthesizedConstructor_$failure$not$satisfied$base() {\nreturn [Loc274];\n},[\"loc2488\"],[L[1109]],[false,false,false,false],[\"loc2488\",\"val2489\",\"val$src2490\",\"pred2491\"],$failure$not$satisfied_mutablemask2485,$failure$not$satisfied$base2480,$failure$not$satisfied$brands2482,\"failure-not-satisfied\",$failure$not$satisfied_getfields2486,$failure$not$satisfied$base2480);\nvar $failure$not$dissatisfied_getfields2498 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"val-src\"],this.dict[\"pred\"]);\n};\nvar $failure$not$dissatisfied_mutablemask2497 = [false,false,false,false];\nvar $failure$not$dissatisfied$base2492 = {\"$fieldNames\":[\"loc\",\"val\",\"val-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2495,\n\"render-reason\":anf_variant_member2496,\n\"_match\":R.mM(\"failure-not-dissatisfied\",4)};\nvar $failure$not$dissatisfied$brander2493 = R.nB(\"failure-not-dissatisfied\",L[1110]);\nvar $failure$not$dissatisfied$brands2494 = {};\n$failure$not$dissatisfied$brands2494[TestResult50._brand] = true;\n$failure$not$dissatisfied$brands2494[$failure$not$dissatisfied$brander2493._brand] = true;\nvar failure$not$dissatisfied2499 = R.mVC(L[1110],function $synthesizedConstructor_$failure$not$dissatisfied$base() {\nreturn [Loc274];\n},[\"loc1562\"],[L[1111]],[false,false,false,false],[\"loc1562\",\"val2500\",\"val$src2501\",\"pred2502\"],$failure$not$dissatisfied_mutablemask2497,$failure$not$dissatisfied$base2492,$failure$not$dissatisfied$brands2494,\"failure-not-dissatisfied\",$failure$not$dissatisfied_getfields2498,$failure$not$dissatisfied$base2492);\nvar $failure$wrong$exn_getfields2510 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-expected\"],this.dict[\"actual-exn\"],this.dict[\"actual-src\"]);\n};\nvar $failure$wrong$exn_mutablemask2509 = [false,false,false,false];\nvar $failure$wrong$exn$base2503 = {\"$fieldNames\":[\"loc\",\"exn-expected\",\"actual-exn\",\"actual-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2506,\n\"access-stack\":anf_variant_member5641,\n\"render-reason\":anf_variant_member2507,\n\"_output\":anf_variant_member2508,\n\"_match\":R.mM(\"failure-wrong-exn\",4)};\nvar $failure$wrong$exn$brander2504 = R.nB(\"failure-wrong-exn\",L[1112]);\nvar $failure$wrong$exn$brands2505 = {};\n$failure$wrong$exn$brands2505[TestResult50._brand] = true;\n$failure$wrong$exn$brands2505[$failure$wrong$exn$brander2504._brand] = true;\nvar failure$wrong$exn2511 = R.mVC(L[1112],function $synthesizedConstructor_$failure$wrong$exn$base() {\nreturn [Loc274];\n},[\"loc5774\"],[L[1113]],[false,false,false,false],[\"loc5774\",\"exn$expected2512\",\"actual$exn2513\",\"actual$src2514\"],$failure$wrong$exn_mutablemask2509,$failure$wrong$exn$base2503,$failure$wrong$exn$brands2505,\"failure-wrong-exn\",$failure$wrong$exn_getfields2510,$failure$wrong$exn$base2503);\nvar $failure$right$exn_getfields2522 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-not-expected\"],this.dict[\"actual-exn\"],this.dict[\"actual-src\"]);\n};\nvar $failure$right$exn_mutablemask2521 = [false,false,false,false];\nvar $failure$right$exn$base2515 = {\"$fieldNames\":[\"loc\",\"exn-not-expected\",\"actual-exn\",\"actual-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2518,\n\"render-reason\":anf_variant_member2519,\n\"_output\":anf_variant_member2520,\n\"_match\":R.mM(\"failure-right-exn\",4)};\nvar $failure$right$exn$brander2516 = R.nB(\"failure-right-exn\",L[1114]);\nvar $failure$right$exn$brands2517 = {};\n$failure$right$exn$brands2517[TestResult50._brand] = true;\n$failure$right$exn$brands2517[$failure$right$exn$brander2516._brand] = true;\nvar failure$right$exn2523 = R.mVC(L[1114],function $synthesizedConstructor_$failure$right$exn$base() {\nreturn [Loc274];\n},[\"loc2524\"],[L[1115]],[false,false,false,false],[\"loc2524\",\"exn$not$expected2525\",\"actual$exn2526\",\"actual$src2527\"],$failure$right$exn_mutablemask2521,$failure$right$exn$base2515,$failure$right$exn$brands2517,\"failure-right-exn\",$failure$right$exn_getfields2522,$failure$right$exn$base2515);\nvar $failure$exn_getfields2536 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"actual-exn\"],this.dict[\"exn-place\"]);\n};\nvar $failure$exn_mutablemask2535 = [false,false,false];\nvar $failure$exn$base2528 = {\"$fieldNames\":[\"loc\",\"actual-exn\",\"exn-place\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2531,\n\"render-reason\":anf_variant_member2532,\n\"access-stack\":anf_variant_member2533,\n\"_output\":anf_variant_member2534,\n\"_match\":R.mM(\"failure-exn\",3)};\nvar $failure$exn$brander2529 = R.nB(\"failure-exn\",L[1116]);\nvar $failure$exn$brands2530 = {};\n$failure$exn$brands2530[TestResult50._brand] = true;\n$failure$exn$brands2530[$failure$exn$brander2529._brand] = true;\nvar failure$exn2537 = R.mVC(L[1116],function $synthesizedConstructor_$failure$exn$base() {\nreturn [Loc274,CheckOperand113];\n},[\"loc2538\",\"exn$place2539\"],[L[1117],L[1118]],[false,false,false],[\"loc2538\",\"actual$exn2540\",\"exn$place2539\"],$failure$exn_mutablemask2535,$failure$exn$base2528,$failure$exn$brands2530,\"failure-exn\",$failure$exn_getfields2536,$failure$exn$base2528);\nvar $failure$no$exn_getfields2547 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-expected\"],this.dict[\"exn-src\"],this.dict[\"wanted\"]);\n};\nvar $failure$no$exn_mutablemask2546 = [false,false,false,false];\nvar $failure$no$exn$base2541 = {\"$fieldNames\":[\"loc\",\"exn-expected\",\"exn-src\",\"wanted\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2544,\n\"render-reason\":anf_variant_member2545,\n\"_match\":R.mM(\"failure-no-exn\",4)};\nvar $failure$no$exn$brander2542 = R.nB(\"failure-no-exn\",L[1119]);\nvar $failure$no$exn$brands2543 = {};\n$failure$no$exn$brands2543[TestResult50._brand] = true;\n$failure$no$exn$brands2543[$failure$no$exn$brander2542._brand] = true;\nvar failure$no$exn2548 = R.mVC(L[1119],function $synthesizedConstructor_$failure$no$exn$base() {\nreturn [Loc274,Option15,$type$Boolean6];\n},[\"loc2549\",\"exn$expected2550\",\"wanted2551\"],[L[1120],L[1121],L[1122]],[false,false,false,false],[\"loc2549\",\"exn$expected2550\",\"exn$src2552\",\"wanted2551\"],$failure$no$exn_mutablemask2546,$failure$no$exn$base2541,$failure$no$exn$brands2543,\"failure-no-exn\",$failure$no$exn_getfields2547,$failure$no$exn$base2541);\nvar $failure$raise$not$satisfied_getfields2560 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn\"],this.dict[\"exn-src\"],this.dict[\"pred\"]);\n};\nvar $failure$raise$not$satisfied_mutablemask2559 = [false,false,false,false];\nvar $failure$raise$not$satisfied$base2553 = {\"$fieldNames\":[\"loc\",\"exn\",\"exn-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2556,\n\"render-reason\":anf_variant_member2557,\n\"_output\":anf_variant_member2558,\n\"_match\":R.mM(\"failure-raise-not-satisfied\",4)};\nvar $failure$raise$not$satisfied$brander2554 = R.nB(\"failure-raise-not-satisfied\",L[1123]);\nvar $failure$raise$not$satisfied$brands2555 = {};\n$failure$raise$not$satisfied$brands2555[TestResult50._brand] = true;\n$failure$raise$not$satisfied$brands2555[$failure$raise$not$satisfied$brander2554._brand] = true;\nvar failure$raise$not$satisfied2561 = R.mVC(L[1123],function $synthesizedConstructor_$failure$raise$not$satisfied$base() {\nreturn [Loc274];\n},[\"loc2562\"],[L[1124]],[false,false,false,false],[\"loc2562\",\"exn2563\",\"exn$src2564\",\"pred2565\"],$failure$raise$not$satisfied_mutablemask2559,$failure$raise$not$satisfied$base2553,$failure$raise$not$satisfied$brands2555,\"failure-raise-not-satisfied\",$failure$raise$not$satisfied_getfields2560,$failure$raise$not$satisfied$base2553);\nvar $failure$raise$not$dissatisfied_getfields2573 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn\"],this.dict[\"exn-src\"],this.dict[\"pred\"]);\n};\nvar $failure$raise$not$dissatisfied_mutablemask2572 = [false,false,false,false];\nvar $failure$raise$not$dissatisfied$base2566 = {\"$fieldNames\":[\"loc\",\"exn\",\"exn-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2569,\n\"render-reason\":anf_variant_member2570,\n\"_output\":anf_variant_member2571,\n\"_match\":R.mM(\"failure-raise-not-dissatisfied\",4)};\nvar $failure$raise$not$dissatisfied$brander2567 = R.nB(\"failure-raise-not-dissatisfied\",L[1125]);\nvar $failure$raise$not$dissatisfied$brands2568 = {};\n$failure$raise$not$dissatisfied$brands2568[TestResult50._brand] = true;\n$failure$raise$not$dissatisfied$brands2568[$failure$raise$not$dissatisfied$brander2567._brand] = true;\nvar failure$raise$not$dissatisfied2574 = R.mVC(L[1125],function $synthesizedConstructor_$failure$raise$not$dissatisfied$base() {\nreturn [Loc274];\n},[\"loc2575\"],[L[1126]],[false,false,false,false],[\"loc2575\",\"exn2576\",\"exn$src2577\",\"pred2578\"],$failure$raise$not$dissatisfied_mutablemask2572,$failure$raise$not$dissatisfied$base2566,$failure$raise$not$dissatisfied$brands2568,\"failure-raise-not-dissatisfied\",$failure$raise$not$dissatisfied_getfields2573,$failure$raise$not$dissatisfied$base2566);\nvar $error$not$boolean_getfields2585 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"],this.dict[\"test-result\"]);\n};\nvar $error$not$boolean_mutablemask2584 = [false,false,false,false,false,false,false];\nvar $error$not$boolean$base2579 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\",\"test-result\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2582,\n\"render-reason\":anf_variant_member2583,\n\"_match\":R.mM(\"error-not-boolean\",7)};\nvar $error$not$boolean$brander2580 = R.nB(\"error-not-boolean\",L[1127]);\nvar $error$not$boolean$brands2581 = {};\n$error$not$boolean$brands2581[TestResult50._brand] = true;\n$error$not$boolean$brands2581[$error$not$boolean$brander2580._brand] = true;\nvar error$not$boolean2586 = R.mVC(L[1127],function $synthesizedConstructor_$error$not$boolean$base() {\nreturn [Loc274];\n},[\"loc2587\"],[L[1128]],[false,false,false,false,false,false,false],[\"loc2587\",\"refinement2588\",\"left2589\",\"left$src2590\",\"right2591\",\"right$src2592\",\"test$result2593\"],$error$not$boolean_mutablemask2584,$error$not$boolean$base2579,$error$not$boolean$brands2581,\"error-not-boolean\",$error$not$boolean_getfields2585,$error$not$boolean$base2579);\nvar $error$not$pred_getfields2599 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"predicate\"],this.dict[\"arity\"]);\n};\nvar $error$not$pred_mutablemask2598 = [false,false,false];\nvar $error$not$pred$base2594 = {\"$fieldNames\":[\"loc\",\"predicate\",\"arity\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member5749,\n\"render-reason\":anf_variant_member2597,\n\"_match\":R.mM(\"error-not-pred\",3)};\nvar $error$not$pred$brander2595 = R.nB(\"error-not-pred\",L[1129]);\nvar $error$not$pred$brands2596 = {};\n$error$not$pred$brands2596[TestResult50._brand] = true;\n$error$not$pred$brands2596[$error$not$pred$brander2595._brand] = true;\nvar error$not$pred2600 = R.mVC(L[1129],function $synthesizedConstructor_$error$not$pred$base() {\nreturn [Loc274,$type$Number3];\n},[\"loc2601\",\"arity2602\"],[L[1130],L[1131]],[false,false,false],[\"loc2601\",\"predicate2603\",\"arity2602\"],$error$not$pred_mutablemask2598,$error$not$pred$base2594,$error$not$pred$brands2596,\"error-not-pred\",$error$not$pred_getfields2599,$error$not$pred$base2594);\nvar $error$not$boolean$pred_getfields2610 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"predicate\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"test-result\"]);\n};\nvar $error$not$boolean$pred_mutablemask2609 = [false,false,false,false,false];\nvar $error$not$boolean$pred$base2604 = {\"$fieldNames\":[\"loc\",\"predicate\",\"left\",\"left-src\",\"test-result\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2607,\n\"render-reason\":anf_variant_member2608,\n\"_match\":R.mM(\"error-not-boolean-pred\",5)};\nvar $error$not$boolean$pred$brander2605 = R.nB(\"error-not-boolean-pred\",L[1132]);\nvar $error$not$boolean$pred$brands2606 = {};\n$error$not$boolean$pred$brands2606[TestResult50._brand] = true;\n$error$not$boolean$pred$brands2606[$error$not$boolean$pred$brander2605._brand] = true;\nvar error$not$boolean$pred2611 = R.mVC(L[1132],function $synthesizedConstructor_$error$not$boolean$pred$base() {\nreturn [Loc274];\n},[\"loc2612\"],[L[1133]],[false,false,false,false,false],[\"loc2612\",\"predicate2613\",\"left2614\",\"left$src2615\",\"test$result2616\"],$error$not$boolean$pred_mutablemask2609,$error$not$boolean$pred$base2604,$error$not$boolean$pred$brands2606,\"error-not-boolean-pred\",$error$not$boolean$pred_getfields2610,$error$not$boolean$pred$base2604);\nvar anf_assign2617 = R.mO({\"TestResult\":G(TestResult50,\"test\",L[1134]),\n\"is-success\":G($success$brander2432,\"test\",L[1099]),\n\"success\":success2436,\n\"is-failure-not-equal\":G($failure$not$equal$brander2439,\"test\",L[1101]),\n\"failure-not-equal\":failure$not$equal2445,\n\"is-failure-is-incomparable\":G($failure$is$incomparable$brander2453,\"test\",L[1103]),\n\"failure-is-incomparable\":failure$is$incomparable2459,\n\"is-failure-not-different\":G($failure$not$different$brander2467,\"test\",L[1106]),\n\"failure-not-different\":failure$not$different2473,\n\"is-failure-not-satisfied\":G($failure$not$satisfied$brander2481,\"test\",L[1108]),\n\"failure-not-satisfied\":failure$not$satisfied2487,\n\"is-failure-not-dissatisfied\":G($failure$not$dissatisfied$brander2493,\"test\",L[1110]),\n\"failure-not-dissatisfied\":failure$not$dissatisfied2499,\n\"is-failure-wrong-exn\":G($failure$wrong$exn$brander2504,\"test\",L[1112]),\n\"failure-wrong-exn\":failure$wrong$exn2511,\n\"is-failure-right-exn\":G($failure$right$exn$brander2516,\"test\",L[1114]),\n\"failure-right-exn\":failure$right$exn2523,\n\"is-failure-exn\":G($failure$exn$brander2529,\"test\",L[1116]),\n\"failure-exn\":failure$exn2537,\n\"is-failure-no-exn\":G($failure$no$exn$brander2542,\"test\",L[1119]),\n\"failure-no-exn\":failure$no$exn2548,\n\"is-failure-raise-not-satisfied\":G($failure$raise$not$satisfied$brander2554,\"test\",L[1123]),\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2561,\n\"is-failure-raise-not-dissatisfied\":G($failure$raise$not$dissatisfied$brander2567,\"test\",L[1125]),\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2574,\n\"is-error-not-boolean\":G($error$not$boolean$brander2580,\"test\",L[1127]),\n\"error-not-boolean\":error$not$boolean2586,\n\"is-error-not-pred\":G($error$not$pred$brander2595,\"test\",L[1129]),\n\"error-not-pred\":error$not$pred2600,\n\"is-error-not-boolean-pred\":G($error$not$boolean$pred$brander2605,\"test\",L[1132]),\n\"error-not-boolean-pred\":error$not$boolean$pred2611});\nTestResult2618.$var = anf_assign2617;\nR.nothing;\n$al45 = L[1134];\nvar anf_assign2619 = G(TestResult2618.$var,\"TestResult\",L[1134]);\nis$TestResult2620.$var = anf_assign2619;\nR.nothing;\n$al45 = L[1099];\nvar anf_assign2621 = G(TestResult2618.$var,\"is-success\",L[1099]);\nis$success2622.$var = anf_assign2621;\nR.nothing;\n$al45 = L[1099];\nvar anf_assign2623 = G(TestResult2618.$var,\"success\",L[1099]);\nsuccess2624.$var = anf_assign2623;\nR.nothing;\n$al45 = L[1101];\nvar anf_assign2625 = G(TestResult2618.$var,\"is-failure-not-equal\",L[1101]);\nis$failure$not$equal2626.$var = anf_assign2625;\nR.nothing;\n$al45 = L[1101];\nvar anf_assign2627 = G(TestResult2618.$var,\"failure-not-equal\",L[1101]);\nfailure$not$equal2628.$var = anf_assign2627;\nR.nothing;\n$al45 = L[1103];\nvar anf_assign2629 = G(TestResult2618.$var,\"is-failure-is-incomparable\",L[1103]);\nis$failure$is$incomparable2630.$var = anf_assign2629;\nR.nothing;\n$al45 = L[1103];\nvar anf_assign2631 = G(TestResult2618.$var,\"failure-is-incomparable\",L[1103]);\nfailure$is$incomparable2632.$var = anf_assign2631;\nR.nothing;\n$al45 = L[1106];\nvar anf_assign2633 = G(TestResult2618.$var,\"is-failure-not-different\",L[1106]);\nis$failure$not$different2634.$var = anf_assign2633;\nR.nothing;\n$al45 = L[1106];\nvar anf_assign2635 = G(TestResult2618.$var,\"failure-not-different\",L[1106]);\nfailure$not$different2636.$var = anf_assign2635;\nR.nothing;\n$al45 = L[1108];\nvar anf_assign2637 = G(TestResult2618.$var,\"is-failure-not-satisfied\",L[1108]);\nis$failure$not$satisfied2638.$var = anf_assign2637;\nR.nothing;\n$al45 = L[1108];\nvar anf_assign2639 = G(TestResult2618.$var,\"failure-not-satisfied\",L[1108]);\nfailure$not$satisfied2640.$var = anf_assign2639;\nR.nothing;\n$al45 = L[1110];\nvar anf_assign2641 = G(TestResult2618.$var,\"is-failure-not-dissatisfied\",L[1110]);\nis$failure$not$dissatisfied2642.$var = anf_assign2641;\nR.nothing;\n$al45 = L[1110];\nvar anf_assign2643 = G(TestResult2618.$var,\"failure-not-dissatisfied\",L[1110]);\nfailure$not$dissatisfied2644.$var = anf_assign2643;\nR.nothing;\n$al45 = L[1112];\nvar anf_assign2645 = G(TestResult2618.$var,\"is-failure-wrong-exn\",L[1112]);\nis$failure$wrong$exn2646.$var = anf_assign2645;\nR.nothing;\n$al45 = L[1112];\nvar anf_assign2647 = G(TestResult2618.$var,\"failure-wrong-exn\",L[1112]);\nfailure$wrong$exn2648.$var = anf_assign2647;\nR.nothing;\n$al45 = L[1114];\nvar anf_assign2649 = G(TestResult2618.$var,\"is-failure-right-exn\",L[1114]);\nis$failure$right$exn2650.$var = anf_assign2649;\nR.nothing;\n$al45 = L[1114];\nvar anf_assign2651 = G(TestResult2618.$var,\"failure-right-exn\",L[1114]);\nfailure$right$exn2652.$var = anf_assign2651;\nR.nothing;\n$al45 = L[1116];\nvar anf_assign2653 = G(TestResult2618.$var,\"is-failure-exn\",L[1116]);\nis$failure$exn2654.$var = anf_assign2653;\nR.nothing;\n$al45 = L[1116];\nvar anf_assign2655 = G(TestResult2618.$var,\"failure-exn\",L[1116]);\nfailure$exn2656.$var = anf_assign2655;\nR.nothing;\n$al45 = L[1119];\nvar anf_assign2657 = G(TestResult2618.$var,\"is-failure-no-exn\",L[1119]);\nis$failure$no$exn2658.$var = anf_assign2657;\nR.nothing;\n$al45 = L[1119];\nvar anf_assign2659 = G(TestResult2618.$var,\"failure-no-exn\",L[1119]);\nfailure$no$exn2660.$var = anf_assign2659;\nR.nothing;\n$al45 = L[1123];\nvar anf_assign2661 = G(TestResult2618.$var,\"is-failure-raise-not-satisfied\",L[1123]);\nis$failure$raise$not$satisfied2662.$var = anf_assign2661;\nR.nothing;\n$al45 = L[1123];\nvar anf_assign2663 = G(TestResult2618.$var,\"failure-raise-not-satisfied\",L[1123]);\nfailure$raise$not$satisfied2664.$var = anf_assign2663;\nR.nothing;\n$al45 = L[1125];\nvar anf_assign2665 = G(TestResult2618.$var,\"is-failure-raise-not-dissatisfied\",L[1125]);\nis$failure$raise$not$dissatisfied2666.$var = anf_assign2665;\nR.nothing;\n$al45 = L[1125];\nvar anf_assign2667 = G(TestResult2618.$var,\"failure-raise-not-dissatisfied\",L[1125]);\nfailure$raise$not$dissatisfied2668.$var = anf_assign2667;\nR.nothing;\n$al45 = L[1127];\nvar anf_assign2669 = G(TestResult2618.$var,\"is-error-not-boolean\",L[1127]);\nis$error$not$boolean2670.$var = anf_assign2669;\nR.nothing;\n$al45 = L[1127];\nvar anf_assign2671 = G(TestResult2618.$var,\"error-not-boolean\",L[1127]);\nerror$not$boolean2672.$var = anf_assign2671;\nR.nothing;\n$al45 = L[1129];\nvar anf_assign2673 = G(TestResult2618.$var,\"is-error-not-pred\",L[1129]);\nis$error$not$pred2674.$var = anf_assign2673;\nR.nothing;\n$al45 = L[1129];\nvar anf_assign2675 = G(TestResult2618.$var,\"error-not-pred\",L[1129]);\nerror$not$pred2676.$var = anf_assign2675;\nR.nothing;\n$al45 = L[1132];\nvar anf_assign2677 = G(TestResult2618.$var,\"is-error-not-boolean-pred\",L[1132]);\nis$error$not$boolean$pred2678.$var = anf_assign2677;\nR.nothing;\n$al45 = L[1132];\nvar anf_assign2679 = G(TestResult2618.$var,\"error-not-boolean-pred\",L[1132]);\nerror$not$boolean$pred2680.$var = anf_assign2679;\nR.nothing;\nvar $temp_lam2682 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1135($main$module$name2683,$check$all2684) {\nvar $step2681 = 0;\nvar $elidedFrames2688 = 0;\nvar $ans2685 = D;\nvar $al2686 = L[1135];\nif(R.isAR($main$module$name2683)) {\n$step2681 = $main$module$name2683.step;\n$al2686 = $main$module$name2683.from;\n$ans2685 = $main$module$name2683.ans;\n$elidedFrames2688 = $main$module$name2683.elidedFrames;\nmain$module$name2683 = $main$module$name2683.args[0];\ncheck$all2684 = $main$module$name2683.args[1];\nadd$block$result2703 = $main$module$name2683.vars[0];\nblock$results2697 = $main$module$name2683.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1135],2,$t,false);\n}\nvar main$module$name2683 = $main$module$name2683;\nvar check$all2684 = $check$all2684;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2685 = R.mC();\n}\nwhile(!R.isContinuation($ans2685)) {\nswitch($step2681) {\ncase 0: $step2681 = 1;\n$al2686 = L[1813];\nR._cA(L[1813],$type$String8,main$module$name2683);\nbreak;\ncase 1: $step2681 = 2;\n$al2686 = L[1814];\nR._cA(L[1814],$type$Boolean6,check$all2684);\nbreak;\ncase 2: $ans2685 = R.getMaker0(list6,(\"make0\"),L[1136],L[1137]);\nvar anf_fun1138 = $ans2685;\n$step2681 = 3;\n$al2686 = L[1137];\nif(typeof(anf_fun1138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2686,anf_fun1138);\n}\n$ans2685 = anf_fun1138.app();\nbreak;\ncase 3: var var5063 = $ans2685;\nvar block$results2697 = {\"$var\":var5063};\nvar add$block$result2703 = {\"$var\":D};\nvar $temp_lam2690 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1138($cbr2691) {\nvar $step2689 = 0;\nvar $elidedFrames2695 = 0;\nvar $ans2692 = D;\nvar $al2693 = L[1138];\nif(R.isAR($cbr2691)) {\n$step2689 = $cbr2691.step;\n$al2693 = $cbr2691.from;\n$ans2692 = $cbr2691.ans;\n$elidedFrames2695 = $cbr2691.elidedFrames;\ncbr2691 = $cbr2691.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1138],1,$t,false);\n}\nvar cbr2691 = $cbr2691;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2692 = R.mC();\n}\nwhile(!R.isContinuation($ans2692)) {\nswitch($step2689) {\ncase 0: $step2689 = 1;\n$al2693 = L[1142];\nR._cA(L[1142],CheckBlockResult2700,cbr2691);\nbreak;\ncase 1: $ans2692 = R.getMaker1(list6,(\"make1\"),L[1139],L[1140]);\nvar anf_fun2696 = $ans2692;\n$step2689 = 2;\n$al2693 = L[1140];\nif(typeof(anf_fun2696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2693,anf_fun2696);\n}\n$ans2692 = anf_fun2696.app(cbr2691);\nbreak;\ncase 2: var anf_arg2698 = $ans2692;\nvar anf_arg1134 = block$results2697.$var;\n$step2689 = 3;\n$al2693 = L[1141];\n// omitting isFunction check;\n$ans2692 = _plus5.app(anf_arg2698,anf_arg1134);\nbreak;\ncase 3: var anf_assign2699 = $ans2692;\n$step2689 = 4;\nblock$results2697.$var = anf_assign2699;\n$ans2692 = R.nothing;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2692;\ndefault: R.ffi.throwSpinnakerError(L[1138],$step2689);\n}\n}\nif($step2689 !== 4) {\n$ans2692.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2693,$temp_lam2690,$step2689,[cbr2691],[],$elidedFrames2695);\n}\nreturn $ans2692;\n};\nvar anf_assign2702 = R.mF($temp_lam2690,\"add-block-result\");\nadd$block$result2703.$var = anf_assign2702;\nR.nothing;\n$ans2685 = R.getMaker0(list6,(\"make0\"),L[1143],L[1144]);\nvar anf_fun2704 = $ans2685;\n$step2681 = 4;\n$al2686 = L[1144];\nif(typeof(anf_fun2704.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2686,anf_fun2704);\n}\n$ans2685 = anf_fun2704.app();\nbreak;\ncase 4: var var5062 = $ans2685;\nvar current$results2713 = {\"$var\":var5062};\nvar add$result2718 = {\"$var\":D};\nvar left$right$check2755 = {\"$var\":D};\nvar left$right$cause$check2800 = {\"$var\":D};\nvar check$bool2814 = {\"$var\":D};\nvar reset$results2825 = {\"$var\":D};\nvar $temp_lam2706 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1145($t2707) {\nvar $step2705 = 0;\nvar $elidedFrames2711 = 0;\nvar $ans2708 = D;\nvar $al2709 = L[1145];\nif(R.isAR($t2707)) {\n$step2705 = $t2707.step;\n$al2709 = $t2707.from;\n$ans2708 = $t2707.ans;\n$elidedFrames2711 = $t2707.elidedFrames;\nt2707 = $t2707.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1145],1,$t,false);\n}\nvar t2707 = $t2707;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2708 = R.mC();\n}\nwhile(!R.isContinuation($ans2708)) {\nswitch($step2705) {\ncase 0: $step2705 = 1;\n$al2709 = L[1149];\nR._cA(L[1149],TestResult2715,t2707);\nbreak;\ncase 1: $ans2708 = R.getMaker1(list6,(\"make1\"),L[1146],L[1147]);\nvar anf_fun2712 = $ans2708;\n$step2705 = 2;\n$al2709 = L[1147];\nif(typeof(anf_fun2712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2709,anf_fun2712);\n}\n$ans2708 = anf_fun2712.app(t2707);\nbreak;\ncase 2: var anf_arg1137 = $ans2708;\nvar anf_arg1141 = current$results2713.$var;\n$step2705 = 3;\n$al2709 = L[1148];\n// omitting isFunction check;\n$ans2708 = _plus5.app(anf_arg1137,anf_arg1141);\nbreak;\ncase 3: var anf_assign2714 = $ans2708;\n$step2705 = 4;\ncurrent$results2713.$var = anf_assign2714;\n$ans2708 = R.nothing;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2708;\ndefault: R.ffi.throwSpinnakerError(L[1145],$step2705);\n}\n}\nif($step2705 !== 4) {\n$ans2708.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2709,$temp_lam2706,$step2705,[t2707],[],$elidedFrames2711);\n}\nreturn $ans2708;\n};\nvar anf_assign2717 = R.mF($temp_lam2706,\"add-result\");\nadd$result2718.$var = anf_assign2717;\nR.nothing;\nvar $temp_lam2720 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1150($loc2721) {\nvar $step2719 = 0;\nvar $elidedFrames2725 = 0;\nvar $ans2722 = D;\nvar $al2723 = L[1150];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1150],1,$t,false);\n}\nvar loc2721 = $loc2721;\n// callee optimization;\nwhile(!R.isContinuation($ans2722)) {\nswitch($step2719) {\ncase 0: $step2719 = 1;\nvar $temp_lam2727 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1151($with$vals2728,$left2729,$right2730) {\nvar $step2726 = 0;\nvar $elidedFrames2734 = 0;\nvar $ans2731 = D;\nvar $al2732 = L[1151];\nif(R.isAR($with$vals2728)) {\n$step2726 = $with$vals2728.step;\n$al2732 = $with$vals2728.from;\n$ans2731 = $with$vals2728.ans;\n$elidedFrames2734 = $with$vals2728.elidedFrames;\nwith$vals2728 = $with$vals2728.args[0];\nleft2729 = $with$vals2728.args[1];\nright2730 = $with$vals2728.args[2];\nlv2735 = $with$vals2728.vars[0];\nrv2736 = $with$vals2728.vars[1];\nres2747 = $with$vals2728.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1151],3,$t,false);\n}\nvar with$vals2728 = $with$vals2728;\nvar left2729 = $left2729;\nvar right2730 = $right2730;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2731 = R.mC();\n}\nwhile(!R.isContinuation($ans2731)) {\nswitch($step2726) {\ncase 0: // caller optimization;\n$ans2731 = is$function4.app(left2729);\nvar anf_if2751 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2751)?1:2;\nbreak;\ncase 1: $step2726 = 3;\n$ans2731 = left2729;\nbreak;\ncase 2: $step2726 = 3;\n$al2732 = L[1170];\n$ans2731 = G(left2729,\"v\",L[1170]);\nbreak;\ncase 3: var anf_arg1165 = $ans2731;\n$step2726 = 4;\n$al2732 = L[1169];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg1165);\nbreak;\ncase 4: var lv2735 = $ans2731;\n$step2726 = 5;\n$al2732 = L[1168];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(lv2735);\nbreak;\ncase 5: var anf_if2750 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2750)?6:7;\nbreak;\ncase 6: $al2732 = L[1152];\nvar anf_arg1160 = G(lv2735,\"v\",L[1152]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1160,on$left256.$var);\nvar anf_arg1157 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1153];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1157);\nbreak;\ncase 7: // caller optimization;\n$ans2731 = is$function4.app(right2730);\nvar anf_if2749 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2749)?8:9;\nbreak;\ncase 8: $step2726 = 10;\n$ans2731 = right2730;\nbreak;\ncase 9: $step2726 = 10;\n$al2732 = L[1167];\n$ans2731 = G(right2730,\"v\",L[1167]);\nbreak;\ncase 10: var anf_arg1161 = $ans2731;\n$step2726 = 11;\n$al2732 = L[1166];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg1161);\nbreak;\ncase 11: var rv2736 = $ans2731;\n$step2726 = 12;\n$al2732 = L[1165];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(rv2736);\nbreak;\ncase 12: var anf_if2748 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2748)?13:14;\nbreak;\ncase 13: $al2732 = L[1154];\nvar anf_arg1166 = G(rv2736,\"v\",L[1154]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1166,on$right260.$var);\nvar anf_arg1163 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1155];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1163);\nbreak;\ncase 14: var $temp_lam2738 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1156($$resumer13) {\nvar $step2737 = 0;\nvar $elidedFrames2743 = 0;\nvar $ans2740 = D;\nvar $al2741 = L[1156];\nif(R.isAR($$resumer13)) {\n$step2737 = $$resumer13.step;\n$al2741 = $$resumer13.from;\n$ans2740 = $$resumer13.ans;\n$elidedFrames2743 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1156],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2740 = R.mC();\n}\nwhile(!R.isContinuation($ans2740)) {\nswitch($step2737) {\ncase 0: $al2741 = L[1157];\nvar anf_arg1167 = G(lv2735,\"v\",L[1157]);\n$al2741 = L[1158];\nvar anf_arg2744 = G(rv2736,\"v\",L[1158]);\n$step2737 = 1;\n$al2741 = L[1159];\nif(typeof(with$vals2728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2741,with$vals2728);\n}\n$ans2740 = with$vals2728.app(anf_arg1167,anf_arg2744);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2740;\ndefault: R.ffi.throwSpinnakerError(L[1156],$step2737);\n}\n}\nif($step2737 !== 1) {\n$ans2740.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2741,$temp_lam2738,$step2737,[],[],$elidedFrames2743);\n}\nreturn $ans2740;\n};\nvar anf_arg2746 = R.mF($temp_lam2738,\"\");\n$step2726 = 15;\n$al2732 = L[1164];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg2746);\nbreak;\ncase 15: var res2747 = $ans2731;\n$step2726 = 16;\n$al2732 = L[1163];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(res2747);\nbreak;\ncase 16: var anf_if1206 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if1206)?17:18;\nbreak;\ncase 17: $al2732 = L[1160];\nvar anf_arg1203 = G(res2747,\"v\",L[1160]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1203,on$refinement264.$var);\nvar anf_arg1204 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1161];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1204);\nbreak;\ncase 18: $step2726 = 19;\n$al2732 = L[1162];\n$ans2731 = G(res2747,\"v\",L[1162]);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2731;\ndefault: R.ffi.throwSpinnakerError(L[1151],$step2726);\n}\n}\nif($step2726 !== 19) {\n$ans2731.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2732,$temp_lam2727,$step2726,[with$vals2728,left2729,right2730],[lv2735,rv2736,res2747],$elidedFrames2734);\n}\nreturn $ans2731;\n};\n$ans2722 = R.mF($temp_lam2727,\"\");\nbreak;\ncase 1: return $ans2722;\ndefault: R.ffi.throwSpinnakerError(L[1150],$step2719);\n}\n}\nreturn $ans2722;\n};\nvar anf_assign2754 = R.mF($temp_lam2720,\"left-right-check\");\nleft$right$check2755.$var = anf_assign2754;\nR.nothing;\nvar $temp_lam2757 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1171($loc2331) {\nvar $step2756 = 0;\nvar $elidedFrames2761 = 0;\nvar $ans2758 = D;\nvar $al2759 = L[1171];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1171],1,$t,false);\n}\nvar loc2331 = $loc2331;\n// callee optimization;\nwhile(!R.isContinuation($ans2758)) {\nswitch($step2756) {\ncase 0: $step2756 = 1;\nvar $temp_lam2763 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1172($with$vals2764,$left2765,$right2766,$cause2767) {\nvar $step2762 = 0;\nvar $elidedFrames2771 = 0;\nvar $ans2768 = D;\nvar $al2769 = L[1172];\nif(R.isAR($with$vals2764)) {\n$step2762 = $with$vals2764.step;\n$al2769 = $with$vals2764.from;\n$ans2768 = $with$vals2764.ans;\n$elidedFrames2771 = $with$vals2764.elidedFrames;\nwith$vals2764 = $with$vals2764.args[0];\nleft2765 = $with$vals2764.args[1];\nright2766 = $with$vals2764.args[2];\ncause2767 = $with$vals2764.args[3];\ncv2777 = $with$vals2764.vars[0];\nlv2773 = $with$vals2764.vars[1];\nrv2775 = $with$vals2764.vars[2];\nres2789 = $with$vals2764.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1172],4,$t,false);\n}\nvar with$vals2764 = $with$vals2764;\nvar left2765 = $left2765;\nvar right2766 = $right2766;\nvar cause2767 = $cause2767;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2768 = R.mC();\n}\nwhile(!R.isContinuation($ans2768)) {\nswitch($step2762) {\ncase 0: // caller optimization;\n$ans2768 = is$function4.app(left2765);\nvar anf_if1202 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if1202)?1:2;\nbreak;\ncase 1: $step2762 = 3;\n$ans2768 = left2765;\nbreak;\ncase 2: $step2762 = 3;\n$al2769 = L[1197];\n$ans2768 = G(left2765,\"v\",L[1197]);\nbreak;\ncase 3: var anf_arg2772 = $ans2768;\n$step2762 = 4;\n$al2769 = L[1196];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg2772);\nbreak;\ncase 4: var lv2773 = $ans2768;\n$step2762 = 5;\n$al2769 = L[1195];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(lv2773);\nbreak;\ncase 5: var anf_if2796 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2796)?6:7;\nbreak;\ncase 6: $al2769 = L[1173];\nvar anf_arg1185 = G(lv2773,\"v\",L[1173]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1185,on$left256.$var);\nvar anf_arg1181 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1174];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg1181);\nbreak;\ncase 7: // caller optimization;\n$ans2768 = is$function4.app(right2766);\nvar anf_if2795 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2795)?8:9;\nbreak;\ncase 8: $step2762 = 10;\n$ans2768 = right2766;\nbreak;\ncase 9: $step2762 = 10;\n$al2769 = L[1194];\n$ans2768 = G(right2766,\"v\",L[1194]);\nbreak;\ncase 10: var anf_arg2774 = $ans2768;\n$step2762 = 11;\n$al2769 = L[1193];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg2774);\nbreak;\ncase 11: var rv2775 = $ans2768;\n$step2762 = 12;\n$al2769 = L[1192];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(rv2775);\nbreak;\ncase 12: var anf_if2794 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2794)?13:14;\nbreak;\ncase 13: $al2769 = L[1175];\nvar anf_arg1187 = G(rv2775,\"v\",L[1175]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1187,on$right260.$var);\nvar anf_arg2776 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1176];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg2776);\nbreak;\ncase 14: // caller optimization;\n$ans2768 = is$function4.app(cause2767);\nvar anf_if2793 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2793)?15:16;\nbreak;\ncase 15: $step2762 = 17;\n$ans2768 = cause2767;\nbreak;\ncase 16: $step2762 = 17;\n$al2769 = L[1191];\n$ans2768 = G(cause2767,\"v\",L[1191]);\nbreak;\ncase 17: var anf_arg1199 = $ans2768;\n$step2762 = 18;\n$al2769 = L[1190];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg1199);\nbreak;\ncase 18: var cv2777 = $ans2768;\n$step2762 = 19;\n$al2769 = L[1189];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(cv2777);\nbreak;\ncase 19: var anf_if2792 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2792)?20:21;\nbreak;\ncase 20: $al2769 = L[1177];\nvar anf_arg1200 = G(cv2777,\"v\",L[1177]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1200,on$cause267.$var);\nvar anf_arg2779 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1178];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg2779);\nbreak;\ncase 21: var $temp_lam2781 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1179($$resumer13) {\nvar $step2780 = 0;\nvar $elidedFrames2785 = 0;\nvar $ans2782 = D;\nvar $al2783 = L[1179];\nif(R.isAR($$resumer13)) {\n$step2780 = $$resumer13.step;\n$al2783 = $$resumer13.from;\n$ans2782 = $$resumer13.ans;\n$elidedFrames2785 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1179],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2782 = R.mC();\n}\nwhile(!R.isContinuation($ans2782)) {\nswitch($step2780) {\ncase 0: $al2783 = L[1180];\nvar anf_arg1195 = G(lv2773,\"v\",L[1180]);\n$al2783 = L[1181];\nvar anf_arg1192 = G(rv2775,\"v\",L[1181]);\n$al2783 = L[1182];\nvar anf_arg2787 = G(cv2777,\"v\",L[1182]);\n$step2780 = 1;\n$al2783 = L[1183];\nif(typeof(with$vals2764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2783,with$vals2764);\n}\n$ans2782 = with$vals2764.app(anf_arg1195,anf_arg1192,anf_arg2787);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2782;\ndefault: R.ffi.throwSpinnakerError(L[1179],$step2780);\n}\n}\nif($step2780 !== 1) {\n$ans2782.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2783,$temp_lam2781,$step2780,[],[],$elidedFrames2785);\n}\nreturn $ans2782;\n};\nvar anf_arg1191 = R.mF($temp_lam2781,\"\");\n$step2762 = 22;\n$al2769 = L[1188];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg1191);\nbreak;\ncase 22: var res2789 = $ans2768;\n$step2762 = 23;\n$al2769 = L[1187];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(res2789);\nbreak;\ncase 23: var anf_if2791 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2791)?24:25;\nbreak;\ncase 24: $al2769 = L[1184];\nvar anf_arg1196 = G(res2789,\"v\",L[1184]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1196,on$refinement264.$var);\nvar anf_arg1197 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1185];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg1197);\nbreak;\ncase 25: $step2762 = 26;\n$al2769 = L[1186];\n$ans2768 = G(res2789,\"v\",L[1186]);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans2768;\ndefault: R.ffi.throwSpinnakerError(L[1172],$step2762);\n}\n}\nif($step2762 !== 26) {\n$ans2768.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2769,$temp_lam2763,$step2762,[with$vals2764,left2765,right2766,cause2767],[cv2777,lv2773,rv2775,res2789],$elidedFrames2771);\n}\nreturn $ans2768;\n};\n$ans2758 = R.mF($temp_lam2763,\"\");\nbreak;\ncase 1: return $ans2758;\ndefault: R.ffi.throwSpinnakerError(L[1171],$step2756);\n}\n}\nreturn $ans2758;\n};\nvar anf_assign2799 = R.mF($temp_lam2757,\"left-right-cause-check\");\nleft$right$cause$check2800.$var = anf_assign2799;\nR.nothing;\nvar $temp_lam2802 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1198($loc2803,$test$result2804,$on$failure2805) {\nvar $step2801 = 0;\nvar $elidedFrames2809 = 0;\nvar $ans2806 = D;\nvar $al2807 = L[1198];\nif(R.isAR($loc2803)) {\n$step2801 = $loc2803.step;\n$al2807 = $loc2803.from;\n$ans2806 = $loc2803.ans;\n$elidedFrames2809 = $loc2803.elidedFrames;\nloc2803 = $loc2803.args[0];\ntest$result2804 = $loc2803.args[1];\non$failure2805 = $loc2803.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1198],3,$t,false);\n}\nvar loc2803 = $loc2803;\nvar test$result2804 = $test$result2804;\nvar on$failure2805 = $on$failure2805;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2806 = R.mC();\n}\nwhile(!R.isContinuation($ans2806)) {\nswitch($step2801) {\ncase 0: $step2801 = R.checkPyretTrue(test$result2804)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans2806 = success2624.$var.app(loc2803);\nvar anf_arg2810 = $ans2806;\n$step2801 = 4;\n$al2807 = L[1199];\n// omitting isFunction check;\n$ans2806 = add$result2718.$var.app(anf_arg2810);\nbreak;\ncase 2: $step2801 = 3;\n$al2807 = L[1201];\nif(typeof(on$failure2805.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2807,on$failure2805);\n}\n$ans2806 = on$failure2805.app();\nbreak;\ncase 3: var anf_arg2811 = $ans2806;\n$step2801 = 4;\n$al2807 = L[1200];\n// omitting isFunction check;\n$ans2806 = add$result2718.$var.app(anf_arg2811);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2806;\ndefault: R.ffi.throwSpinnakerError(L[1198],$step2801);\n}\n}\nif($step2801 !== 4) {\n$ans2806.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2807,$temp_lam2802,$step2801,[loc2803,test$result2804,on$failure2805],[],$elidedFrames2809);\n}\nreturn $ans2806;\n};\nvar anf_assign2813 = R.mF($temp_lam2802,\"check-bool\");\ncheck$bool2814.$var = anf_assign2813;\nR.nothing;\nvar $temp_lam2816 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1202($$resumer13) {\nvar $step2815 = 0;\nvar $elidedFrames2820 = 0;\nvar $ans2817 = D;\nvar $al2818 = L[1202];\nif(R.isAR($$resumer13)) {\n$step2815 = $$resumer13.step;\n$al2818 = $$resumer13.from;\n$ans2817 = $$resumer13.ans;\n$elidedFrames2820 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1202],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2817 = R.mC();\n}\nwhile(!R.isContinuation($ans2817)) {\nswitch($step2815) {\ncase 0: $ans2817 = R.getMaker0(list6,(\"make0\"),L[1203],L[1204]);\nvar anf_fun2821 = $ans2817;\n$step2815 = 1;\n$al2818 = L[1204];\nif(typeof(anf_fun2821.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2818,anf_fun2821);\n}\n$ans2817 = anf_fun2821.app();\nbreak;\ncase 1: var anf_assign2822 = $ans2817;\n$step2815 = 2;\ncurrent$results2713.$var = anf_assign2822;\n$ans2817 = R.nothing;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2817;\ndefault: R.ffi.throwSpinnakerError(L[1202],$step2815);\n}\n}\nif($step2815 !== 2) {\n$ans2817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2818,$temp_lam2816,$step2815,[],[],$elidedFrames2820);\n}\nreturn $ans2817;\n};\nvar anf_assign2824 = R.mF($temp_lam2816,\"reset-results\");\nreset$results2825.$var = anf_assign2824;\nR.nothing;\nvar $temp_full2828 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1205($self2829,$module$name2830,$checks2831) {\nvar $step2827 = 0;\nvar $elidedFrames2835 = 0;\nvar $ans2832 = D;\nvar $al2833 = L[1205];\nif(R.isAR($self2829)) {\n$step2827 = $self2829.step;\n$al2833 = $self2829.from;\n$ans2832 = $self2829.ans;\n$elidedFrames2835 = $self2829.elidedFrames;\nself2829 = $self2829.args[0];\nmodule$name2830 = $self2829.args[1];\nchecks2831 = $self2829.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1205],3,$t,true);\n}\nvar self2829 = $self2829;\nvar module$name2830 = $module$name2830;\nvar checks2831 = $checks2831;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2832 = R.mC();\n}\nwhile(!R.isContinuation($ans2832)) {\nswitch($step2827) {\ncase 0: $step2827 = R.checkPyretTrue(check$all2684)?1:2;\nbreak;\ncase 1: $step2827 = 4;\n$ans2832 = (true);\nbreak;\ncase 2: $step2827 = 3;\n$al2833 = L[1222];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2833,equal$always1);\n}\n$ans2832 = equal$always1.app(module$name2830,main$module$name2683);\nbreak;\ncase 3: var anf_arg1220 = $ans2832;\n$ans2832 = R.checkWrapBoolean(anf_arg1220);\n$step2827 = 4;\nbreak;\ncase 4: var anf_if2862 = $ans2832;\n$step2827 = R.checkPyretTrue(anf_if2862)?5:7;\nbreak;\ncase 5: var $temp_lam2837 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1206($c2838) {\nvar $step2836 = 0;\nvar $elidedFrames2842 = 0;\nvar $ans2839 = D;\nvar $al2840 = L[1206];\nif(R.isAR($c2838)) {\n$step2836 = $c2838.step;\n$al2840 = $c2838.from;\n$ans2839 = $c2838.ans;\n$elidedFrames2842 = $c2838.elidedFrames;\nc2838 = $c2838.args[0];\nresults$before2846 = $c2838.vars[0];\ncases2845 = $c2838.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1206],1,$t,false);\n}\nvar c2838 = $c2838;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2839 = R.mC();\n}\nwhile(!R.isContinuation($ans2839)) {\nswitch($step2836) {\ncase 0: var results$before2846 = current$results2713.$var;\n$step2836 = 1;\n$al2840 = L[1221];\n// omitting isFunction check;\n$ans2839 = reset$results2825.$var.app();\nbreak;\ncase 1: $al2840 = L[1207];\nvar anf_arg2843 = G(c2838,\"run\",L[1207]);\n$step2836 = 2;\n$al2840 = L[1220];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2840,run$task1);\n}\n$ans2839 = run$task1.app(anf_arg2843);\nbreak;\ncase 2: var result2844 = $ans2839;\nvar cases2845 = result2844;\n$step2836 = 3;\n$al2840 = L[1219];\nvar $ann$check2859 = R._cA(L[1219],R.gDA(L[1219],\"either\",either20.dict.types,\"Either\"),cases2845);\nif(R.isContinuation($ann$check2859)) {\n$ans2839 = $ann$check2859;\n}\nbreak;\ncase 3: $al2840 = L[1213];\n$step2836 = $cases_dispatch2858[cases2845.$name] || 6;\nbreak;\ncase 4: if(cases2845.$arity !== 1) {\nif(cases2845.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1212],1,cases2845.$arity,L[1213],cases2845.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1212],true,L[1213],cases2845.$loc);\n}\n}\nvar $fn2851 = cases2845.$constructor.$fieldNames;\nR.dF(cases2845.dict[$fn2851[0]],cases2845.$mut_fields_mask[0],false);\n$al2840 = L[1208];\nvar anf_arg2847 = G(c2838,\"name\",L[1208]);\n$al2840 = L[1209];\nvar anf_arg1248 = G(c2838,\"location\",L[1209]);\n$al2840 = L[1210];\nvar anf_arg1249 = G(c2838,\"keyword-check\",L[1210]);\nvar anf_arg1250 = current$results2713.$var;\n// caller optimization;\n$ans2839 = check$block$result284.$var.app(anf_arg2847,anf_arg1248,anf_arg1249,anf_arg1250,none14);\nvar anf_arg2849 = $ans2839;\n$step2836 = 7;\n$al2840 = L[1211];\n// omitting isFunction check;\n$ans2839 = add$block$result2703.$var.app(anf_arg2849);\nbreak;\ncase 5: if(cases2845.$arity !== 1) {\nif(cases2845.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1218],1,cases2845.$arity,L[1213],cases2845.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1218],true,L[1213],cases2845.$loc);\n}\n}\nvar $fn2857 = cases2845.$constructor.$fieldNames;\nvar err2853 = R.dF(cases2845.dict[$fn2857[0]],cases2845.$mut_fields_mask[0],false);\n$al2840 = L[1214];\nvar anf_arg2854 = G(c2838,\"name\",L[1214]);\n$al2840 = L[1215];\nvar anf_arg1233 = G(c2838,\"location\",L[1215]);\n$al2840 = L[1216];\nvar anf_arg1237 = G(c2838,\"keyword-check\",L[1216]);\nvar anf_arg2855 = current$results2713.$var;\n// caller optimization;\n$ans2839 = some12.app(err2853);\nvar anf_arg1235 = $ans2839;\n// caller optimization;\n$ans2839 = check$block$result284.$var.app(anf_arg2854,anf_arg1233,anf_arg1237,anf_arg2855,anf_arg1235);\nvar anf_arg1238 = $ans2839;\n$step2836 = 7;\n$al2840 = L[1217];\n// omitting isFunction check;\n$ans2839 = add$block$result2703.$var.app(anf_arg1238);\nbreak;\ncase 6: $ans2839 = R.throwNoCasesMatched(L[1213],cases2845);\n$step2836 = 7;\nbreak;\ncase 7: $step2836 = 8;\ncurrent$results2713.$var = results$before2846;\n$ans2839 = R.nothing;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2839;\ndefault: R.ffi.throwSpinnakerError(L[1206],$step2836);\n}\n}\nif($step2836 !== 8) {\n$ans2839.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2840,$temp_lam2837,$step2836,[c2838],[results$before2846,cases2845],$elidedFrames2842);\n}\nreturn $ans2839;\n};\nvar anf_arg2861 = R.mF($temp_lam2837,\"for-body\");\n$step2827 = 6;\n$al2833 = L[1206];\n// omitting isFunction check;\n$ans2832 = each9.app(anf_arg2861,checks2831);\nbreak;\ncase 6: $step2827 = 8;\n$ans2832 = nothing2;\nbreak;\ncase 7: $step2827 = 8;\n$ans2832 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2832;\ndefault: R.ffi.throwSpinnakerError(L[1205],$step2827);\n}\n}\nif($step2827 !== 8) {\n$ans2832.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2833,$temp_full2828,$step2827,[self2829,module$name2830,checks2831],[],$elidedFrames2835);\n}\nreturn $ans2832;\n};\nvar anf_obj5032 = R.makeMethod2($temp_full2828,\"run-checks\");\nvar $temp_full2865 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1223($self2621,$left2866,$right2867,$loc2868) {\nvar $step2864 = 0;\nvar $elidedFrames2872 = 0;\nvar $ans2869 = D;\nvar $al2870 = L[1223];\nif(R.isAR($self2621)) {\n$step2864 = $self2621.step;\n$al2870 = $self2621.from;\n$ans2869 = $self2621.ans;\n$elidedFrames2872 = $self2621.elidedFrames;\nself2621 = $self2621.args[0];\nleft2866 = $self2621.args[1];\nright2867 = $self2621.args[2];\nloc2868 = $self2621.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1223],4,$t,true);\n}\nvar self2621 = $self2621;\nvar left2866 = $left2866;\nvar right2867 = $right2867;\nvar loc2868 = $loc2868;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2869 = R.mC();\n}\nwhile(!R.isContinuation($ans2869)) {\nswitch($step2864) {\ncase 0: // caller optimization;\n$ans2869 = left$right$check2755.$var.app(loc2868);\nvar anf_fun2896 = $ans2869;\nvar $temp_lam2875 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1224($lv2876,$rv2877) {\nvar $step2874 = 0;\nvar $elidedFrames2881 = 0;\nvar $ans2878 = D;\nvar $al2879 = L[1224];\nif(R.isAR($lv2876)) {\n$step2874 = $lv2876.step;\n$al2879 = $lv2876.from;\n$ans2878 = $lv2876.ans;\n$elidedFrames2881 = $lv2876.elidedFrames;\nlv2876 = $lv2876.args[0];\nrv2877 = $lv2876.args[1];\neq$lv$rv2882 = $lv2876.vars[0];\ncases2883 = $lv2876.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1224],2,$t,false);\n}\nvar lv2876 = $lv2876;\nvar rv2877 = $rv2877;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2878 = R.mC();\n}\nwhile(!R.isContinuation($ans2878)) {\nswitch($step2874) {\ncase 0: $step2874 = 1;\n$al2879 = L[1233];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2879,equal$always37);\n}\n$ans2878 = equal$always37.app(lv2876,rv2877);\nbreak;\ncase 1: var eq$lv$rv2882 = $ans2878;\nvar cases2883 = eq$lv$rv2882;\n$step2874 = 2;\n$al2879 = L[1232];\nvar $ann$check2894 = R._cA(L[1232],EqualityResult18,cases2883);\nif(R.isContinuation($ann$check2894)) {\n$ans2878 = $ann$check2894;\n}\nbreak;\ncase 2: $al2879 = L[1227];\n$step2874 = $cases_dispatch2893[cases2883.$name] || 6;\nbreak;\ncase 3: if(cases2883.$arity !== 3) {\nif(cases2883.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1226],3,cases2883.$arity,L[1227],cases2883.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1226],true,L[1227],cases2883.$loc);\n}\n}\nvar $fn2885 = cases2883.$constructor.$fieldNames;\nR.dF(cases2883.dict[$fn2885[0]],cases2883.$mut_fields_mask[0],false);\nR.dF(cases2883.dict[$fn2885[1]],cases2883.$mut_fields_mask[1],false);\nR.dF(cases2883.dict[$fn2885[2]],cases2883.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2878 = failure$is$incomparable2632.$var.app(loc2868,eq$lv$rv2882,lv2876,on$left256.$var,rv2877,on$right260.$var);\nvar anf_arg1240 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1225];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg1240);\nbreak;\ncase 4: if(cases2883.$arity !== 3) {\nif(cases2883.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1229],3,cases2883.$arity,L[1227],cases2883.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1229],true,L[1227],cases2883.$loc);\n}\n}\nvar $fn2889 = cases2883.$constructor.$fieldNames;\nR.dF(cases2883.dict[$fn2889[0]],cases2883.$mut_fields_mask[0],false);\nR.dF(cases2883.dict[$fn2889[1]],cases2883.$mut_fields_mask[1],false);\nR.dF(cases2883.dict[$fn2889[2]],cases2883.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2878 = failure$not$equal2628.$var.app(loc2868,none14,lv2876,on$left256.$var,rv2877,on$right260.$var);\nvar anf_arg1245 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1228];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg1245);\nbreak;\ncase 5: if(cases2883.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1231],false,L[1227],cases2883.$loc);\n}\n// caller optimization;\n$ans2878 = success2624.$var.app(loc2868);\nvar anf_arg2892 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1230];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg2892);\nbreak;\ncase 6: $ans2878 = R.throwNoCasesMatched(L[1227],cases2883);\n$step2874 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2878;\ndefault: R.ffi.throwSpinnakerError(L[1224],$step2874);\n}\n}\nif($step2874 !== 7) {\n$ans2878.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2879,$temp_lam2875,$step2874,[lv2876,rv2877],[eq$lv$rv2882,cases2883],$elidedFrames2881);\n}\nreturn $ans2878;\n};\nvar anf_arg1242 = R.mF($temp_lam2875,\"for-body\");\n$step2864 = 1;\n$al2870 = L[1224];\nif(typeof(anf_fun2896.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2870,anf_fun2896);\n}\n$ans2869 = anf_fun2896.app(anf_arg1242,left2866,right2867);\nbreak;\ncase 1: $step2864 = 2;\n$ans2869 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2869;\ndefault: R.ffi.throwSpinnakerError(L[1223],$step2864);\n}\n}\nif($step2864 !== 2) {\n$ans2869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2870,$temp_full2865,$step2864,[self2621,left2866,right2867,loc2868],[],$elidedFrames2872);\n}\nreturn $ans2869;\n};\nvar anf_obj5033 = R.makeMethod3($temp_full2865,\"check-is\");\nvar $temp_full2899 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1234($self2900,$left2901,$right2902,$cause2903,$loc2904) {\nvar $step2898 = 0;\nvar $elidedFrames2908 = 0;\nvar $ans2905 = D;\nvar $al2906 = L[1234];\nif(R.isAR($self2900)) {\n$step2898 = $self2900.step;\n$al2906 = $self2900.from;\n$ans2905 = $self2900.ans;\n$elidedFrames2908 = $self2900.elidedFrames;\nself2900 = $self2900.args[0];\nleft2901 = $self2900.args[1];\nright2902 = $self2900.args[2];\ncause2903 = $self2900.args[3];\nloc2904 = $self2900.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1234],5,$t,true);\n}\nvar self2900 = $self2900;\nvar left2901 = $left2901;\nvar right2902 = $right2902;\nvar cause2903 = $cause2903;\nvar loc2904 = $loc2904;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2905 = R.mC();\n}\nwhile(!R.isContinuation($ans2905)) {\nswitch($step2898) {\ncase 0: // caller optimization;\n$ans2905 = left$right$cause$check2800.$var.app(loc2904);\nvar anf_fun2960 = $ans2905;\nvar $temp_lam2910 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1235($lv2911,$rv2912,$cv2913) {\nvar $step2909 = 0;\nvar $elidedFrames2917 = 0;\nvar $ans2914 = D;\nvar $al2915 = L[1235];\nif(R.isAR($lv2911)) {\n$step2909 = $lv2911.step;\n$al2915 = $lv2911.from;\n$ans2914 = $lv2911.ans;\n$elidedFrames2917 = $lv2911.elidedFrames;\nlv2911 = $lv2911.args[0];\nrv2912 = $lv2911.args[1];\ncv2913 = $lv2911.args[2];\neq$cv$rv2918 = $lv2911.vars[0];\ncases2919 = $lv2911.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1235],3,$t,false);\n}\nvar lv2911 = $lv2911;\nvar rv2912 = $rv2912;\nvar cv2913 = $cv2913;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2914 = R.mC();\n}\nwhile(!R.isContinuation($ans2914)) {\nswitch($step2909) {\ncase 0: $step2909 = 1;\n$al2915 = L[1253];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2915,equal$always37);\n}\n$ans2914 = equal$always37.app(cv2913,rv2912);\nbreak;\ncase 1: var eq$cv$rv2918 = $ans2914;\nvar cases2919 = eq$cv$rv2918;\n$step2909 = 2;\n$al2915 = L[1252];\nvar $ann$check2958 = R._cA(L[1252],EqualityResult18,cases2919);\nif(R.isContinuation($ann$check2958)) {\n$ans2914 = $ann$check2958;\n}\nbreak;\ncase 2: $al2915 = L[1238];\n$step2909 = $cases_dispatch2957[cases2919.$name] || 6;\nbreak;\ncase 3: if(cases2919.$arity !== 3) {\nif(cases2919.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1237],3,cases2919.$arity,L[1238],cases2919.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1237],true,L[1238],cases2919.$loc);\n}\n}\nvar $fn2922 = cases2919.$constructor.$fieldNames;\nR.dF(cases2919.dict[$fn2922[0]],cases2919.$mut_fields_mask[0],false);\nR.dF(cases2919.dict[$fn2922[1]],cases2919.$mut_fields_mask[1],false);\nR.dF(cases2919.dict[$fn2922[2]],cases2919.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2914 = failure$is$incomparable2632.$var.app(loc2904,eq$cv$rv2918,cv2913,on$cause267.$var,rv2912,on$right260.$var);\nvar anf_arg2920 = $ans2914;\n$step2909 = 7;\n$al2915 = L[1236];\n// omitting isFunction check;\n$ans2914 = add$result2718.$var.app(anf_arg2920);\nbreak;\ncase 4: if(cases2919.$arity !== 3) {\nif(cases2919.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1240],3,cases2919.$arity,L[1238],cases2919.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1240],true,L[1238],cases2919.$loc);\n}\n}\nvar $fn2926 = cases2919.$constructor.$fieldNames;\nR.dF(cases2919.dict[$fn2926[0]],cases2919.$mut_fields_mask[0],false);\nR.dF(cases2919.dict[$fn2926[1]],cases2919.$mut_fields_mask[1],false);\nR.dF(cases2919.dict[$fn2926[2]],cases2919.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2914 = failure$not$equal2628.$var.app(loc2904,none14,cv2913,on$cause267.$var,rv2912,on$right260.$var);\nvar anf_arg1260 = $ans2914;\n$step2909 = 7;\n$al2915 = L[1239];\n// omitting isFunction check;\n$ans2914 = add$result2718.$var.app(anf_arg1260);\nbreak;\ncase 5: if(cases2919.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1251],false,L[1238],cases2919.$loc);\n}\n$step2909 = 7;\n$al2915 = L[1251];\nvar $temp_branch2944 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1238($$resumer13) {\nvar $step2945 = 0;\nvar $elidedFrames2949 = 0;\nvar $ans2946 = D;\nvar $al2947 = L[1250];\nif(R.isAR($$resumer13)) {\n$step2945 = $$resumer13.step;\n$al2947 = $$resumer13.from;\n$ans2946 = $$resumer13.ans;\n$elidedFrames2949 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\neq$lv$rv2929 = $$resumer13.vars[0];\ncases2930 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2946 = R.mC();\n}\nwhile(!R.isContinuation($ans2946)) {\nswitch($step2945) {\ncase 0: $step2945 = 1;\n$al2947 = L[1249];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2947,equal$always37);\n}\n$ans2946 = equal$always37.app(lv2911,rv2912);\nbreak;\ncase 1: var eq$lv$rv2929 = $ans2946;\nvar cases2930 = eq$lv$rv2929;\n$step2945 = 2;\n$al2947 = L[1248];\nvar $ann$check2955 = R._cA(L[1248],EqualityResult18,cases2930);\nif(R.isContinuation($ann$check2955)) {\n$ans2946 = $ann$check2955;\n}\nbreak;\ncase 2: $al2947 = L[1243];\n$step2945 = $cases_dispatch2954[cases2930.$name] || 6;\nbreak;\ncase 3: if(cases2930.$arity !== 3) {\nif(cases2930.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1242],3,cases2930.$arity,L[1243],cases2930.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1242],true,L[1243],cases2930.$loc);\n}\n}\nvar $fn2951 = cases2930.$constructor.$fieldNames;\nR.dF(cases2930.dict[$fn2951[0]],cases2930.$mut_fields_mask[0],false);\nR.dF(cases2930.dict[$fn2951[1]],cases2930.$mut_fields_mask[1],false);\nR.dF(cases2930.dict[$fn2951[2]],cases2930.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2946 = failure$is$incomparable2632.$var.app(loc2904,eq$lv$rv2929,lv2911,on$left256.$var,rv2912,on$right260.$var);\nvar anf_arg1264 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1241];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg1264);\nbreak;\ncase 4: if(cases2930.$arity !== 3) {\nif(cases2930.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1245],3,cases2930.$arity,L[1243],cases2930.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1245],true,L[1243],cases2930.$loc);\n}\n}\nvar $fn2953 = cases2930.$constructor.$fieldNames;\nR.dF(cases2930.dict[$fn2953[0]],cases2930.$mut_fields_mask[0],false);\nR.dF(cases2930.dict[$fn2953[1]],cases2930.$mut_fields_mask[1],false);\nR.dF(cases2930.dict[$fn2953[2]],cases2930.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2946 = failure$not$equal2628.$var.app(loc2904,none14,lv2911,on$left256.$var,rv2912,on$right260.$var);\nvar anf_arg2936 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1244];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg2936);\nbreak;\ncase 5: if(cases2930.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1247],false,L[1243],cases2930.$loc);\n}\n// caller optimization;\n$ans2946 = success2624.$var.app(loc2904);\nvar anf_arg1262 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1246];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg1262);\nbreak;\ncase 6: $ans2946 = R.throwNoCasesMatched(L[1243],cases2930);\n$step2945 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2946;\ndefault: R.ffi.throwSpinnakerError(L[1250],$step2945);\n}\n}\nif($step2945 !== 7) {\n$ans2946.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2947,$temp_branch2944,$step2945,[],[eq$lv$rv2929,cases2930],$elidedFrames2949);\n}\nreturn $ans2946;\n};\n$ans2914 = cases2919.$app_fields($temp_branch2944,[]);\nbreak;\ncase 6: $ans2914 = R.throwNoCasesMatched(L[1238],cases2919);\n$step2909 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2914;\ndefault: R.ffi.throwSpinnakerError(L[1235],$step2909);\n}\n}\nif($step2909 !== 7) {\n$ans2914.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2915,$temp_lam2910,$step2909,[lv2911,rv2912,cv2913],[eq$cv$rv2918,cases2919],$elidedFrames2917);\n}\nreturn $ans2914;\n};\nvar anf_arg1265 = R.mF($temp_lam2910,\"for-body\");\n$step2898 = 1;\n$al2906 = L[1235];\nif(typeof(anf_fun2960.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2906,anf_fun2960);\n}\n$ans2905 = anf_fun2960.app(anf_arg1265,left2901,right2902,cause2903);\nbreak;\ncase 1: $step2898 = 2;\n$ans2905 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2905;\ndefault: R.ffi.throwSpinnakerError(L[1234],$step2898);\n}\n}\nif($step2898 !== 2) {\n$ans2905.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2906,$temp_full2899,$step2898,[self2900,left2901,right2902,cause2903,loc2904],[],$elidedFrames2908);\n}\nreturn $ans2905;\n};\nvar anf_obj5034 = R.makeMethod4($temp_full2899,\"check-is-cause\");\nvar $temp_full2963 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1254($self2964,$left2965,$right2966,$loc2967) {\nvar $step2962 = 0;\nvar $elidedFrames2971 = 0;\nvar $ans2968 = D;\nvar $al2969 = L[1254];\nif(R.isAR($self2964)) {\n$step2962 = $self2964.step;\n$al2969 = $self2964.from;\n$ans2968 = $self2964.ans;\n$elidedFrames2971 = $self2964.elidedFrames;\nself2964 = $self2964.args[0];\nleft2965 = $self2964.args[1];\nright2966 = $self2964.args[2];\nloc2967 = $self2964.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1254],4,$t,true);\n}\nvar self2964 = $self2964;\nvar left2965 = $left2965;\nvar right2966 = $right2966;\nvar loc2967 = $loc2967;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2968 = R.mC();\n}\nwhile(!R.isContinuation($ans2968)) {\nswitch($step2962) {\ncase 0: // caller optimization;\n$ans2968 = left$right$check2755.$var.app(loc2967);\nvar anf_fun2997 = $ans2968;\nvar $temp_lam2973 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1255($lv2974,$rv2975) {\nvar $step2972 = 0;\nvar $elidedFrames2979 = 0;\nvar $ans2976 = D;\nvar $al2977 = L[1255];\nif(R.isAR($lv2974)) {\n$step2972 = $lv2974.step;\n$al2977 = $lv2974.from;\n$ans2976 = $lv2974.ans;\n$elidedFrames2979 = $lv2974.elidedFrames;\nlv2974 = $lv2974.args[0];\nrv2975 = $lv2974.args[1];\neq$lv$rv2981 = $lv2974.vars[0];\ncases2982 = $lv2974.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1255],2,$t,false);\n}\nvar lv2974 = $lv2974;\nvar rv2975 = $rv2975;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2976 = R.mC();\n}\nwhile(!R.isContinuation($ans2976)) {\nswitch($step2972) {\ncase 0: $step2972 = 1;\n$ans2976 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1256],R.makeNumberFromString(\"~0.000001\"));\nbreak;\ncase 1: var anf_fun2980 = $ans2976;\n$step2972 = 2;\n$al2977 = L[1265];\nif(typeof(anf_fun2980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2977,anf_fun2980);\n}\n$ans2976 = anf_fun2980.app(lv2974,rv2975);\nbreak;\ncase 2: var eq$lv$rv2981 = $ans2976;\nvar cases2982 = eq$lv$rv2981;\n$step2972 = 3;\n$al2977 = L[1264];\nvar $ann$check2995 = R._cA(L[1264],EqualityResult18,cases2982);\nif(R.isContinuation($ann$check2995)) {\n$ans2976 = $ann$check2995;\n}\nbreak;\ncase 3: $al2977 = L[1259];\n$step2972 = $cases_dispatch2994[cases2982.$name] || 7;\nbreak;\ncase 4: if(cases2982.$arity !== 3) {\nif(cases2982.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1258],3,cases2982.$arity,L[1259],cases2982.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1258],true,L[1259],cases2982.$loc);\n}\n}\nvar $fn2985 = cases2982.$constructor.$fieldNames;\nR.dF(cases2982.dict[$fn2985[0]],cases2982.$mut_fields_mask[0],false);\nR.dF(cases2982.dict[$fn2985[1]],cases2982.$mut_fields_mask[1],false);\nR.dF(cases2982.dict[$fn2985[2]],cases2982.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2976 = failure$is$incomparable2632.$var.app(loc2967,eq$lv$rv2981,lv2974,on$left256.$var,rv2975,on$right260.$var);\nvar anf_arg2983 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1257];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg2983);\nbreak;\ncase 5: if(cases2982.$arity !== 3) {\nif(cases2982.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1261],3,cases2982.$arity,L[1259],cases2982.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1261],true,L[1259],cases2982.$loc);\n}\n}\nvar $fn2990 = cases2982.$constructor.$fieldNames;\nR.dF(cases2982.dict[$fn2990[0]],cases2982.$mut_fields_mask[0],false);\nR.dF(cases2982.dict[$fn2990[1]],cases2982.$mut_fields_mask[1],false);\nR.dF(cases2982.dict[$fn2990[2]],cases2982.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2976 = failure$not$equal2628.$var.app(loc2967,none14,lv2974,on$left256.$var,rv2975,on$right260.$var);\nvar anf_arg1278 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1260];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg1278);\nbreak;\ncase 6: if(cases2982.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1263],false,L[1259],cases2982.$loc);\n}\n// caller optimization;\n$ans2976 = success2624.$var.app(loc2967);\nvar anf_arg1283 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1262];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg1283);\nbreak;\ncase 7: $ans2976 = R.throwNoCasesMatched(L[1259],cases2982);\n$step2972 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2976;\ndefault: R.ffi.throwSpinnakerError(L[1255],$step2972);\n}\n}\nif($step2972 !== 8) {\n$ans2976.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2977,$temp_lam2973,$step2972,[lv2974,rv2975],[eq$lv$rv2981,cases2982],$elidedFrames2979);\n}\nreturn $ans2976;\n};\nvar anf_arg2998 = R.mF($temp_lam2973,\"for-body\");\n$step2962 = 1;\n$al2969 = L[1255];\nif(typeof(anf_fun2997.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2969,anf_fun2997);\n}\n$ans2968 = anf_fun2997.app(anf_arg2998,left2965,right2966);\nbreak;\ncase 1: $step2962 = 2;\n$ans2968 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2968;\ndefault: R.ffi.throwSpinnakerError(L[1254],$step2962);\n}\n}\nif($step2962 !== 2) {\n$ans2968.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2969,$temp_full2963,$step2962,[self2964,left2965,right2966,loc2967],[],$elidedFrames2971);\n}\nreturn $ans2968;\n};\nvar anf_obj5035 = R.makeMethod3($temp_full2963,\"check-is-roughly\");\nvar $temp_full3001 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1266($self3002,$left3003,$right3004,$cause3005,$loc3006) {\nvar $step3000 = 0;\nvar $elidedFrames3010 = 0;\nvar $ans3007 = D;\nvar $al3008 = L[1266];\nif(R.isAR($self3002)) {\n$step3000 = $self3002.step;\n$al3008 = $self3002.from;\n$ans3007 = $self3002.ans;\n$elidedFrames3010 = $self3002.elidedFrames;\nself3002 = $self3002.args[0];\nleft3003 = $self3002.args[1];\nright3004 = $self3002.args[2];\ncause3005 = $self3002.args[3];\nloc3006 = $self3002.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1266],5,$t,true);\n}\nvar self3002 = $self3002;\nvar left3003 = $left3003;\nvar right3004 = $right3004;\nvar cause3005 = $cause3005;\nvar loc3006 = $loc3006;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3007 = R.mC();\n}\nwhile(!R.isContinuation($ans3007)) {\nswitch($step3000) {\ncase 0: // caller optimization;\n$ans3007 = left$right$cause$check2800.$var.app(loc3006);\nvar anf_fun3069 = $ans3007;\nvar $temp_lam3012 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1267($lv3013,$rv3014,$cv3015) {\nvar $step3011 = 0;\nvar $elidedFrames3019 = 0;\nvar $ans3016 = D;\nvar $al3017 = L[1267];\nif(R.isAR($lv3013)) {\n$step3011 = $lv3013.step;\n$al3017 = $lv3013.from;\n$ans3016 = $lv3013.ans;\n$elidedFrames3019 = $lv3013.elidedFrames;\nlv3013 = $lv3013.args[0];\nrv3014 = $lv3013.args[1];\ncv3015 = $lv3013.args[2];\ncases3023 = $lv3013.vars[0];\neq$cv$rv3022 = $lv3013.vars[1];\ntol3020 = $lv3013.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1267],3,$t,false);\n}\nvar lv3013 = $lv3013;\nvar rv3014 = $rv3014;\nvar cv3015 = $cv3015;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3016 = R.mC();\n}\nwhile(!R.isContinuation($ans3016)) {\nswitch($step3011) {\ncase 0: var tol3020 = R.makeNumberFromString(\"~0.000001\");\n$step3011 = 1;\n$ans3016 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1268],tol3020);\nbreak;\ncase 1: var anf_fun3021 = $ans3016;\n$step3011 = 2;\n$al3017 = L[1286];\nif(typeof(anf_fun3021.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3017,anf_fun3021);\n}\n$ans3016 = anf_fun3021.app(cv3015,rv3014);\nbreak;\ncase 2: var eq$cv$rv3022 = $ans3016;\nvar cases3023 = eq$cv$rv3022;\n$step3011 = 3;\n$al3017 = L[1285];\nvar $ann$check3067 = R._cA(L[1285],EqualityResult18,cases3023);\nif(R.isContinuation($ann$check3067)) {\n$ans3016 = $ann$check3067;\n}\nbreak;\ncase 3: $al3017 = L[1271];\n$step3011 = $cases_dispatch3066[cases3023.$name] || 7;\nbreak;\ncase 4: if(cases3023.$arity !== 3) {\nif(cases3023.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1270],3,cases3023.$arity,L[1271],cases3023.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1270],true,L[1271],cases3023.$loc);\n}\n}\nvar $fn3025 = cases3023.$constructor.$fieldNames;\nR.dF(cases3023.dict[$fn3025[0]],cases3023.$mut_fields_mask[0],false);\nR.dF(cases3023.dict[$fn3025[1]],cases3023.$mut_fields_mask[1],false);\nR.dF(cases3023.dict[$fn3025[2]],cases3023.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3016 = failure$is$incomparable2632.$var.app(loc3006,eq$cv$rv3022,cv3015,on$cause267.$var,rv3014,on$right260.$var);\nvar anf_arg1285 = $ans3016;\n$step3011 = 8;\n$al3017 = L[1269];\n// omitting isFunction check;\n$ans3016 = add$result2718.$var.app(anf_arg1285);\nbreak;\ncase 5: if(cases3023.$arity !== 3) {\nif(cases3023.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1273],3,cases3023.$arity,L[1271],cases3023.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1273],true,L[1271],cases3023.$loc);\n}\n}\nvar $fn3030 = cases3023.$constructor.$fieldNames;\nR.dF(cases3023.dict[$fn3030[0]],cases3023.$mut_fields_mask[0],false);\nR.dF(cases3023.dict[$fn3030[1]],cases3023.$mut_fields_mask[1],false);\nR.dF(cases3023.dict[$fn3030[2]],cases3023.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3016 = failure$not$equal2628.$var.app(loc3006,none14,cv3015,on$cause267.$var,rv3014,on$right260.$var);\nvar anf_arg1286 = $ans3016;\n$step3011 = 8;\n$al3017 = L[1272];\n// omitting isFunction check;\n$ans3016 = add$result2718.$var.app(anf_arg1286);\nbreak;\ncase 6: if(cases3023.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1284],false,L[1271],cases3023.$loc);\n}\n$step3011 = 8;\n$al3017 = L[1284];\nvar $temp_branch3050 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1271($$resumer13) {\nvar $step3051 = 0;\nvar $elidedFrames3055 = 0;\nvar $ans3052 = D;\nvar $al3053 = L[1274];\nif(R.isAR($$resumer13)) {\n$step3051 = $$resumer13.step;\n$al3053 = $$resumer13.from;\n$ans3052 = $$resumer13.ans;\n$elidedFrames3055 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\neq$lv$rv3035 = $$resumer13.vars[0];\ncases3036 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3052 = R.mC();\n}\nwhile(!R.isContinuation($ans3052)) {\nswitch($step3051) {\ncase 0: $step3051 = 1;\n$ans3052 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1274],tol3020);\nbreak;\ncase 1: var anf_fun3034 = $ans3052;\n$step3051 = 2;\n$al3053 = L[1283];\nif(typeof(anf_fun3034.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3053,anf_fun3034);\n}\n$ans3052 = anf_fun3034.app(lv3013,rv3014);\nbreak;\ncase 2: var eq$lv$rv3035 = $ans3052;\nvar cases3036 = eq$lv$rv3035;\n$step3051 = 3;\n$al3053 = L[1282];\nvar $ann$check3064 = R._cA(L[1282],EqualityResult18,cases3036);\nif(R.isContinuation($ann$check3064)) {\n$ans3052 = $ann$check3064;\n}\nbreak;\ncase 3: $al3053 = L[1277];\n$step3051 = $cases_dispatch3063[cases3036.$name] || 7;\nbreak;\ncase 4: if(cases3036.$arity !== 3) {\nif(cases3036.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1276],3,cases3036.$arity,L[1277],cases3036.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1276],true,L[1277],cases3036.$loc);\n}\n}\nvar $fn3059 = cases3036.$constructor.$fieldNames;\nR.dF(cases3036.dict[$fn3059[0]],cases3036.$mut_fields_mask[0],false);\nR.dF(cases3036.dict[$fn3059[1]],cases3036.$mut_fields_mask[1],false);\nR.dF(cases3036.dict[$fn3059[2]],cases3036.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3052 = failure$is$incomparable2632.$var.app(loc3006,eq$lv$rv3035,lv3013,on$left256.$var,rv3014,on$right260.$var);\nvar anf_arg1287 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1275];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg1287);\nbreak;\ncase 5: if(cases3036.$arity !== 3) {\nif(cases3036.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1279],3,cases3036.$arity,L[1277],cases3036.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1279],true,L[1277],cases3036.$loc);\n}\n}\nvar $fn3061 = cases3036.$constructor.$fieldNames;\nR.dF(cases3036.dict[$fn3061[0]],cases3036.$mut_fields_mask[0],false);\nR.dF(cases3036.dict[$fn3061[1]],cases3036.$mut_fields_mask[1],false);\nR.dF(cases3036.dict[$fn3061[2]],cases3036.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3052 = failure$not$equal2628.$var.app(loc3006,none14,lv3013,on$left256.$var,rv3014,on$right260.$var);\nvar anf_arg3042 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1278];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg3042);\nbreak;\ncase 6: if(cases3036.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1281],false,L[1277],cases3036.$loc);\n}\n// caller optimization;\n$ans3052 = success2624.$var.app(loc3006);\nvar anf_arg1289 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1280];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg1289);\nbreak;\ncase 7: $ans3052 = R.throwNoCasesMatched(L[1277],cases3036);\n$step3051 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3052;\ndefault: R.ffi.throwSpinnakerError(L[1274],$step3051);\n}\n}\nif($step3051 !== 8) {\n$ans3052.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3053,$temp_branch3050,$step3051,[],[eq$lv$rv3035,cases3036],$elidedFrames3055);\n}\nreturn $ans3052;\n};\n$ans3016 = cases3023.$app_fields($temp_branch3050,[]);\nbreak;\ncase 7: $ans3016 = R.throwNoCasesMatched(L[1271],cases3023);\n$step3011 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3016;\ndefault: R.ffi.throwSpinnakerError(L[1267],$step3011);\n}\n}\nif($step3011 !== 8) {\n$ans3016.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3017,$temp_lam3012,$step3011,[lv3013,rv3014,cv3015],[cases3023,eq$cv$rv3022,tol3020],$elidedFrames3019);\n}\nreturn $ans3016;\n};\nvar anf_arg1303 = R.mF($temp_lam3012,\"for-body\");\n$step3000 = 1;\n$al3008 = L[1267];\nif(typeof(anf_fun3069.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3008,anf_fun3069);\n}\n$ans3007 = anf_fun3069.app(anf_arg1303,left3003,right3004,cause3005);\nbreak;\ncase 1: $step3000 = 2;\n$ans3007 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3007;\ndefault: R.ffi.throwSpinnakerError(L[1266],$step3000);\n}\n}\nif($step3000 !== 2) {\n$ans3007.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3008,$temp_full3001,$step3000,[self3002,left3003,right3004,cause3005,loc3006],[],$elidedFrames3010);\n}\nreturn $ans3007;\n};\nvar anf_obj5036 = R.makeMethod4($temp_full3001,\"check-is-roughly-cause\");\nvar $temp_full3072 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1287($self3073,$left3074,$right3075,$loc3076) {\nvar $step3071 = 0;\nvar $elidedFrames3081 = 0;\nvar $ans3078 = D;\nvar $al3079 = L[1287];\nif(R.isAR($self3073)) {\n$step3071 = $self3073.step;\n$al3079 = $self3073.from;\n$ans3078 = $self3073.ans;\n$elidedFrames3081 = $self3073.elidedFrames;\nself3073 = $self3073.args[0];\nleft3074 = $self3073.args[1];\nright3075 = $self3073.args[2];\nloc3076 = $self3073.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1287],4,$t,true);\n}\nvar self3073 = $self3073;\nvar left3074 = $left3074;\nvar right3075 = $right3075;\nvar loc3076 = $loc3076;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3078 = R.mC();\n}\nwhile(!R.isContinuation($ans3078)) {\nswitch($step3071) {\ncase 0: // caller optimization;\n$ans3078 = left$right$check2755.$var.app(loc3076);\nvar anf_fun3106 = $ans3078;\nvar $temp_lam3083 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1288($lv3084,$rv3085) {\nvar $step3082 = 0;\nvar $elidedFrames3089 = 0;\nvar $ans3086 = D;\nvar $al3087 = L[1288];\nif(R.isAR($lv3084)) {\n$step3082 = $lv3084.step;\n$al3087 = $lv3084.from;\n$ans3086 = $lv3084.ans;\n$elidedFrames3089 = $lv3084.elidedFrames;\nlv3084 = $lv3084.args[0];\nrv3085 = $lv3084.args[1];\neq$lv$rv3090 = $lv3084.vars[0];\ncases3091 = $lv3084.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1288],2,$t,false);\n}\nvar lv3084 = $lv3084;\nvar rv3085 = $rv3085;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3086 = R.mC();\n}\nwhile(!R.isContinuation($ans3086)) {\nswitch($step3082) {\ncase 0: $step3082 = 1;\n$al3087 = L[1297];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3087,equal$always37);\n}\n$ans3086 = equal$always37.app(lv3084,rv3085);\nbreak;\ncase 1: var eq$lv$rv3090 = $ans3086;\nvar cases3091 = eq$lv$rv3090;\n$step3082 = 2;\n$al3087 = L[1296];\nvar $ann$check3104 = R._cA(L[1296],EqualityResult18,cases3091);\nif(R.isContinuation($ann$check3104)) {\n$ans3086 = $ann$check3104;\n}\nbreak;\ncase 2: $al3087 = L[1291];\n$step3082 = $cases_dispatch3103[cases3091.$name] || 6;\nbreak;\ncase 3: if(cases3091.$arity !== 3) {\nif(cases3091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1290],3,cases3091.$arity,L[1291],cases3091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1290],true,L[1291],cases3091.$loc);\n}\n}\nvar $fn3094 = cases3091.$constructor.$fieldNames;\nR.dF(cases3091.dict[$fn3094[0]],cases3091.$mut_fields_mask[0],false);\nR.dF(cases3091.dict[$fn3094[1]],cases3091.$mut_fields_mask[1],false);\nR.dF(cases3091.dict[$fn3094[2]],cases3091.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3086 = failure$is$incomparable2632.$var.app(loc3076,eq$lv$rv3090,lv3084,on$left256.$var,rv3085,on$right260.$var);\nvar anf_arg3092 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1289];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg3092);\nbreak;\ncase 4: if(cases3091.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1293],false,L[1291],cases3091.$loc);\n}\n// caller optimization;\n$ans3086 = failure$not$different2636.$var.app(loc3076,none14,lv3084,on$left256.$var,rv3085,on$right260.$var);\nvar anf_arg1298 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1292];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg1298);\nbreak;\ncase 5: if(cases3091.$arity !== 3) {\nif(cases3091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1295],3,cases3091.$arity,L[1291],cases3091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1295],true,L[1291],cases3091.$loc);\n}\n}\nvar $fn3099 = cases3091.$constructor.$fieldNames;\nR.dF(cases3091.dict[$fn3099[0]],cases3091.$mut_fields_mask[0],false);\nR.dF(cases3091.dict[$fn3099[1]],cases3091.$mut_fields_mask[1],false);\nR.dF(cases3091.dict[$fn3099[2]],cases3091.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3086 = success2624.$var.app(loc3076);\nvar anf_arg1295 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1294];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg1295);\nbreak;\ncase 6: $ans3086 = R.throwNoCasesMatched(L[1291],cases3091);\n$step3082 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3086;\ndefault: R.ffi.throwSpinnakerError(L[1288],$step3082);\n}\n}\nif($step3082 !== 7) {\n$ans3086.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3087,$temp_lam3083,$step3082,[lv3084,rv3085],[eq$lv$rv3090,cases3091],$elidedFrames3089);\n}\nreturn $ans3086;\n};\nvar anf_arg3107 = R.mF($temp_lam3083,\"for-body\");\n$step3071 = 1;\n$al3079 = L[1288];\nif(typeof(anf_fun3106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3079,anf_fun3106);\n}\n$ans3078 = anf_fun3106.app(anf_arg3107,left3074,right3075);\nbreak;\ncase 1: $step3071 = 2;\n$ans3078 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3078;\ndefault: R.ffi.throwSpinnakerError(L[1287],$step3071);\n}\n}\nif($step3071 !== 2) {\n$ans3078.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3079,$temp_full3072,$step3071,[self3073,left3074,right3075,loc3076],[],$elidedFrames3081);\n}\nreturn $ans3078;\n};\nvar anf_obj5037 = R.makeMethod3($temp_full3072,\"check-is-not\");\nvar $temp_full3110 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1298($self3111,$left3112,$right3113,$cause3114,$loc3115) {\nvar $step3109 = 0;\nvar $elidedFrames3119 = 0;\nvar $ans3116 = D;\nvar $al3117 = L[1298];\nif(R.isAR($self3111)) {\n$step3109 = $self3111.step;\n$al3117 = $self3111.from;\n$ans3116 = $self3111.ans;\n$elidedFrames3119 = $self3111.elidedFrames;\nself3111 = $self3111.args[0];\nleft3112 = $self3111.args[1];\nright3113 = $self3111.args[2];\ncause3114 = $self3111.args[3];\nloc3115 = $self3111.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1298],5,$t,true);\n}\nvar self3111 = $self3111;\nvar left3112 = $left3112;\nvar right3113 = $right3113;\nvar cause3114 = $cause3114;\nvar loc3115 = $loc3115;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3116 = R.mC();\n}\nwhile(!R.isContinuation($ans3116)) {\nswitch($step3109) {\ncase 0: // caller optimization;\n$ans3116 = left$right$cause$check2800.$var.app(loc3115);\nvar anf_fun3162 = $ans3116;\nvar $temp_lam3121 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1299($lv3122,$rv3123,$cv3124) {\nvar $step3120 = 0;\nvar $elidedFrames3128 = 0;\nvar $ans3125 = D;\nvar $al3126 = L[1299];\nif(R.isAR($lv3122)) {\n$step3120 = $lv3122.step;\n$al3126 = $lv3122.from;\n$ans3125 = $lv3122.ans;\n$elidedFrames3128 = $lv3122.elidedFrames;\nlv3122 = $lv3122.args[0];\nrv3123 = $lv3122.args[1];\ncv3124 = $lv3122.args[2];\neq$cv$rv3129 = $lv3122.vars[0];\ncases3130 = $lv3122.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1299],3,$t,false);\n}\nvar lv3122 = $lv3122;\nvar rv3123 = $rv3123;\nvar cv3124 = $cv3124;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3125 = R.mC();\n}\nwhile(!R.isContinuation($ans3125)) {\nswitch($step3120) {\ncase 0: $step3120 = 1;\n$al3126 = L[1317];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3126,equal$always37);\n}\n$ans3125 = equal$always37.app(cv3124,rv3123);\nbreak;\ncase 1: var eq$cv$rv3129 = $ans3125;\nvar cases3130 = eq$cv$rv3129;\n$step3120 = 2;\n$al3126 = L[1316];\nvar $ann$check3160 = R._cA(L[1316],EqualityResult18,cases3130);\nif(R.isContinuation($ann$check3160)) {\n$ans3125 = $ann$check3160;\n}\nbreak;\ncase 2: $al3126 = L[1302];\n$step3120 = $cases_dispatch3159[cases3130.$name] || 6;\nbreak;\ncase 3: if(cases3130.$arity !== 3) {\nif(cases3130.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1301],3,cases3130.$arity,L[1302],cases3130.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1301],true,L[1302],cases3130.$loc);\n}\n}\nvar $fn3132 = cases3130.$constructor.$fieldNames;\nR.dF(cases3130.dict[$fn3132[0]],cases3130.$mut_fields_mask[0],false);\nR.dF(cases3130.dict[$fn3132[1]],cases3130.$mut_fields_mask[1],false);\nR.dF(cases3130.dict[$fn3132[2]],cases3130.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3125 = failure$is$incomparable2632.$var.app(loc3115,eq$cv$rv3129,cv3124,on$cause267.$var,rv3123,on$right260.$var);\nvar anf_arg1296 = $ans3125;\n$step3120 = 7;\n$al3126 = L[1300];\n// omitting isFunction check;\n$ans3125 = add$result2718.$var.app(anf_arg1296);\nbreak;\ncase 4: if(cases3130.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1304],false,L[1302],cases3130.$loc);\n}\n// caller optimization;\n$ans3125 = failure$not$different2636.$var.app(loc3115,none14,cv3124,on$cause267.$var,rv3123,on$right260.$var);\nvar anf_arg1299 = $ans3125;\n$step3120 = 7;\n$al3126 = L[1303];\n// omitting isFunction check;\n$ans3125 = add$result2718.$var.app(anf_arg1299);\nbreak;\ncase 5: if(cases3130.$arity !== 3) {\nif(cases3130.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1315],3,cases3130.$arity,L[1302],cases3130.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1315],true,L[1302],cases3130.$loc);\n}\n}\n$step3120 = 7;\n$al3126 = L[1315];\nvar $temp_branch3145 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1302($$underscore3151,$$underscore2389,$$underscore2390) {\nvar $step3146 = 0;\nvar $elidedFrames3150 = 0;\nvar $ans3147 = D;\nvar $al3148 = L[1314];\nif(R.isAR($$underscore3151)) {\n$step3146 = $$underscore3151.step;\n$al3148 = $$underscore3151.from;\n$ans3147 = $$underscore3151.ans;\n$elidedFrames3150 = $$underscore3151.elidedFrames;\n$underscore3151 = $$underscore3151.args[0];\n$underscore2389 = $$underscore3151.args[1];\n$underscore2390 = $$underscore3151.args[2];\neq$lv$rv3134 = $$underscore3151.vars[0];\ncases3135 = $$underscore3151.vars[1];\n} else {\nvar $underscore3151 = $$underscore3151;\nvar $underscore2389 = $$underscore2389;\nvar $underscore2390 = $$underscore2390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3147 = R.mC();\n}\nwhile(!R.isContinuation($ans3147)) {\nswitch($step3146) {\ncase 0: $step3146 = 1;\n$al3148 = L[1313];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3148,equal$always37);\n}\n$ans3147 = equal$always37.app(lv3122,rv3123);\nbreak;\ncase 1: var eq$lv$rv3134 = $ans3147;\nvar cases3135 = eq$lv$rv3134;\n$step3146 = 2;\n$al3148 = L[1312];\nvar $ann$check3157 = R._cA(L[1312],EqualityResult18,cases3135);\nif(R.isContinuation($ann$check3157)) {\n$ans3147 = $ann$check3157;\n}\nbreak;\ncase 2: $al3148 = L[1307];\n$step3146 = $cases_dispatch3156[cases3135.$name] || 6;\nbreak;\ncase 3: if(cases3135.$arity !== 3) {\nif(cases3135.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1306],3,cases3135.$arity,L[1307],cases3135.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1306],true,L[1307],cases3135.$loc);\n}\n}\nvar $fn3153 = cases3135.$constructor.$fieldNames;\nR.dF(cases3135.dict[$fn3153[0]],cases3135.$mut_fields_mask[0],false);\nR.dF(cases3135.dict[$fn3153[1]],cases3135.$mut_fields_mask[1],false);\nR.dF(cases3135.dict[$fn3153[2]],cases3135.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3147 = failure$is$incomparable2632.$var.app(loc3115,eq$lv$rv3134,lv3122,on$left256.$var,rv3123,on$right260.$var);\nvar anf_arg1300 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1305];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1300);\nbreak;\ncase 4: if(cases3135.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1309],false,L[1307],cases3135.$loc);\n}\n// caller optimization;\n$ans3147 = failure$not$different2636.$var.app(loc3115,none14,lv3122,on$left256.$var,rv3123,on$right260.$var);\nvar anf_arg1305 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1308];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1305);\nbreak;\ncase 5: if(cases3135.$arity !== 3) {\nif(cases3135.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1311],3,cases3135.$arity,L[1307],cases3135.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1311],true,L[1307],cases3135.$loc);\n}\n}\nvar $fn3155 = cases3135.$constructor.$fieldNames;\nR.dF(cases3135.dict[$fn3155[0]],cases3135.$mut_fields_mask[0],false);\nR.dF(cases3135.dict[$fn3155[1]],cases3135.$mut_fields_mask[1],false);\nR.dF(cases3135.dict[$fn3155[2]],cases3135.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3147 = success2624.$var.app(loc3115);\nvar anf_arg1301 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1310];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1301);\nbreak;\ncase 6: $ans3147 = R.throwNoCasesMatched(L[1307],cases3135);\n$step3146 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3147;\ndefault: R.ffi.throwSpinnakerError(L[1314],$step3146);\n}\n}\nif($step3146 !== 7) {\n$ans3147.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3148,$temp_branch3145,$step3146,[$underscore3151,$underscore2389,$underscore2390],[eq$lv$rv3134,cases3135],$elidedFrames3150);\n}\nreturn $ans3147;\n};\n$ans3125 = cases3130.$app_fields($temp_branch3145,[false,false,false]);\nbreak;\ncase 6: $ans3125 = R.throwNoCasesMatched(L[1302],cases3130);\n$step3120 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3125;\ndefault: R.ffi.throwSpinnakerError(L[1299],$step3120);\n}\n}\nif($step3120 !== 7) {\n$ans3125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3126,$temp_lam3121,$step3120,[lv3122,rv3123,cv3124],[eq$cv$rv3129,cases3130],$elidedFrames3128);\n}\nreturn $ans3125;\n};\nvar anf_arg1306 = R.mF($temp_lam3121,\"for-body\");\n$step3109 = 1;\n$al3117 = L[1299];\nif(typeof(anf_fun3162.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3117,anf_fun3162);\n}\n$ans3116 = anf_fun3162.app(anf_arg1306,left3112,right3113,cause3114);\nbreak;\ncase 1: $step3109 = 2;\n$ans3116 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3116;\ndefault: R.ffi.throwSpinnakerError(L[1298],$step3109);\n}\n}\nif($step3109 !== 2) {\n$ans3116.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3117,$temp_full3110,$step3109,[self3111,left3112,right3113,cause3114,loc3115],[],$elidedFrames3119);\n}\nreturn $ans3116;\n};\nvar anf_obj5038 = R.makeMethod4($temp_full3110,\"check-is-not-cause\");\nvar $temp_full3165 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1318($self3166,$refinement3167,$left3168,$right3169,$loc3170) {\nvar $step3164 = 0;\nvar $elidedFrames3174 = 0;\nvar $ans3171 = D;\nvar $al3172 = L[1318];\nif(R.isAR($self3166)) {\n$step3164 = $self3166.step;\n$al3172 = $self3166.from;\n$ans3171 = $self3166.ans;\n$elidedFrames3174 = $self3166.elidedFrames;\nself3166 = $self3166.args[0];\nrefinement3167 = $self3166.args[1];\nleft3168 = $self3166.args[2];\nright3169 = $self3166.args[3];\nloc3170 = $self3166.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1318],5,$t,true);\n}\nvar self3166 = $self3166;\nvar refinement3167 = $refinement3167;\nvar left3168 = $left3168;\nvar right3169 = $right3169;\nvar loc3170 = $loc3170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3171 = R.mC();\n}\nwhile(!R.isContinuation($ans3171)) {\nswitch($step3164) {\ncase 0: // caller optimization;\n$ans3171 = left$right$check2755.$var.app(loc3170);\nvar anf_fun3221 = $ans3171;\nvar $temp_lam3176 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1319($lv3177,$rv3178) {\nvar $step3175 = 0;\nvar $elidedFrames3183 = 0;\nvar $ans3180 = D;\nvar $al3181 = L[1319];\nif(R.isAR($lv3177)) {\n$step3175 = $lv3177.step;\n$al3181 = $lv3177.from;\n$ans3180 = $lv3177.ans;\n$elidedFrames3183 = $lv3177.elidedFrames;\nlv3177 = $lv3177.args[0];\nrv3178 = $lv3177.args[1];\ncases3191 = $lv3177.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1319],2,$t,false);\n}\nvar lv3177 = $lv3177;\nvar rv3178 = $rv3178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3180 = R.mC();\n}\nwhile(!R.isContinuation($ans3180)) {\nswitch($step3175) {\ncase 0: var $temp_lam3185 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1320($$resumer13) {\nvar $step3184 = 0;\nvar $elidedFrames3189 = 0;\nvar $ans3186 = D;\nvar $al3187 = L[1320];\nif(R.isAR($$resumer13)) {\n$step3184 = $$resumer13.step;\n$al3187 = $$resumer13.from;\n$ans3186 = $$resumer13.ans;\n$elidedFrames3189 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1320],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3186 = R.mC();\n}\nwhile(!R.isContinuation($ans3186)) {\nswitch($step3184) {\ncase 0: $step3184 = 1;\n$al3187 = L[1321];\nif(typeof(refinement3167.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3187,refinement3167);\n}\n$ans3186 = refinement3167.app(lv3177,rv3178);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3186;\ndefault: R.ffi.throwSpinnakerError(L[1320],$step3184);\n}\n}\nif($step3184 !== 1) {\n$ans3186.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3187,$temp_lam3185,$step3184,[],[],$elidedFrames3189);\n}\nreturn $ans3186;\n};\nvar anf_arg1320 = R.mF($temp_lam3185,\"\");\n$step3175 = 1;\n$al3181 = L[1339];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3181,run$task1);\n}\n$ans3180 = run$task1.app(anf_arg1320);\nbreak;\ncase 1: var cases3191 = $ans3180;\n$step3175 = 2;\n$al3181 = L[1338];\nvar $ann$check3219 = R._cA(L[1338],R.gDA(L[1338],\"either\",either20.dict.types,\"Either\"),cases3191);\nif(R.isContinuation($ann$check3219)) {\n$ans3180 = $ann$check3219;\n}\nbreak;\ncase 2: $al3181 = L[1329];\n$step3175 = $cases_dispatch3218[cases3191.$name] || 5;\nbreak;\ncase 3: if(cases3191.$arity !== 1) {\nif(cases3191.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1328],1,cases3191.$arity,L[1329],cases3191.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1328],true,L[1329],cases3191.$loc);\n}\n}\n$step3175 = 6;\n$al3181 = L[1328];\nvar $temp_branch3196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1329($exn3192) {\nvar $step3197 = 0;\nvar $elidedFrames3201 = 0;\nvar $ans3198 = D;\nvar $al3199 = L[1327];\nif(R.isAR($exn3192)) {\n$step3197 = $exn3192.step;\n$al3199 = $exn3192.from;\n$ans3198 = $exn3192.ans;\n$elidedFrames3201 = $exn3192.elidedFrames;\nexn3192 = $exn3192.args[0];\nexn$v3193 = $exn3192.vars[0];\n} else {\nvar exn3192 = $exn3192;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3198 = R.mC();\n}\nwhile(!R.isContinuation($ans3198)) {\nswitch($step3197) {\ncase 0: $step3197 = 1;\n$al3199 = L[1326];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,exn$unwrap2);\n}\n$ans3198 = exn$unwrap2.app(exn3192);\nbreak;\ncase 1: var exn$v3193 = $ans3198;\n$step3197 = 2;\n$al3199 = L[1325];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3198 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3193);\nbreak;\ncase 2: var anf_if3195 = $ans3198;\n$step3197 = R.checkPyretTrue(anf_if3195)?3:4;\nbreak;\ncase 3: $step3197 = 6;\n$ans3198 = (true);\nbreak;\ncase 4: $step3197 = 5;\n$al3199 = L[1324];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3198 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3193);\nbreak;\ncase 5: var anf_arg1321 = $ans3198;\n$ans3198 = R.checkWrapBoolean(anf_arg1321);\n$step3197 = 6;\nbreak;\ncase 6: var anf_if3194 = $ans3198;\n$step3197 = R.checkPyretTrue(anf_if3194)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3198 = error$not$pred2676.$var.app(loc3170,refinement3167,(2));\nvar anf_arg1317 = $ans3198;\n$step3197 = 9;\n$al3199 = L[1322];\n// omitting isFunction check;\n$ans3198 = add$result2718.$var.app(anf_arg1317);\nbreak;\ncase 8: // caller optimization;\n$ans3198 = failure$exn2656.$var.app(loc3170,exn3192,on$refinement264.$var);\nvar anf_arg1322 = $ans3198;\n$step3197 = 9;\n$al3199 = L[1323];\n// omitting isFunction check;\n$ans3198 = add$result2718.$var.app(anf_arg1322);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3198;\ndefault: R.ffi.throwSpinnakerError(L[1327],$step3197);\n}\n}\nif($step3197 !== 9) {\n$ans3198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3199,$temp_branch3196,$step3197,[exn3192],[exn$v3193],$elidedFrames3201);\n}\nreturn $ans3198;\n};\n$ans3180 = cases3191.$app_fields($temp_branch3196,[false]);\nbreak;\ncase 4: if(cases3191.$arity !== 1) {\nif(cases3191.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1337],1,cases3191.$arity,L[1329],cases3191.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1337],true,L[1329],cases3191.$loc);\n}\n}\n$step3175 = 6;\n$al3181 = L[1337];\nvar $temp_branch3211 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1329($test$result3203) {\nvar $step3212 = 0;\nvar $elidedFrames3216 = 0;\nvar $ans3213 = D;\nvar $al3214 = L[1336];\nif(R.isAR($test$result3203)) {\n$step3212 = $test$result3203.step;\n$al3214 = $test$result3203.from;\n$ans3213 = $test$result3203.ans;\n$elidedFrames3216 = $test$result3203.elidedFrames;\ntest$result3203 = $test$result3203.args[0];\n} else {\nvar test$result3203 = $test$result3203;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3213 = R.mC();\n}\nwhile(!R.isContinuation($ans3213)) {\nswitch($step3212) {\ncase 0: // caller optimization;\n$ans3213 = is$Unknown8.app(test$result3203);\nvar anf_if3210 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3210)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3213 = failure$is$incomparable2632.$var.app(loc3170,test$result3203,lv3177,on$left256.$var,rv3178,on$right260.$var);\nvar anf_arg1323 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1330];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1323);\nbreak;\ncase 2: $step3212 = 3;\n$al3214 = L[1335];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3214,equal$always1);\n}\n$ans3213 = equal$always1.app(test$result3203,(false));\nbreak;\ncase 3: var anf_if3209 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3209)?4:5;\nbreak;\ncase 4: $step3212 = 6;\n$ans3213 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3213 = is$NotEqual16.app(test$result3203);\nvar anf_arg1333 = $ans3213;\n$ans3213 = R.checkWrapBoolean(anf_arg1333);\n$step3212 = 6;\nbreak;\ncase 6: var anf_if3208 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3208)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3213 = some12.app(refinement3167);\nvar anf_arg3204 = $ans3213;\n// caller optimization;\n$ans3213 = failure$not$equal2628.$var.app(loc3170,anf_arg3204,lv3177,on$left256.$var,rv3178,on$right260.$var);\nvar anf_arg1335 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1331];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1335);\nbreak;\ncase 8: // caller optimization;\n$ans3213 = is$boolean2.app(test$result3203);\nvar anf_if3207 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3207)?9:10;\nbreak;\ncase 9: $step3212 = 11;\n$ans3213 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3213 = is$Equal7.app(test$result3203);\nvar anf_arg1336 = $ans3213;\n$ans3213 = R.checkWrapBoolean(anf_arg1336);\n$step3212 = 11;\nbreak;\ncase 11: var anf_arg1340 = $ans3213;\n$step3212 = 12;\n$al3214 = L[1334];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3214,not5);\n}\n$ans3213 = not5.app(anf_arg1340);\nbreak;\ncase 12: var anf_if3206 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3206)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3213 = error$not$boolean2672.$var.app(loc3170,refinement3167,lv3177,on$left256.$var,rv3178,on$right260.$var,test$result3203);\nvar anf_arg3205 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1332];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg3205);\nbreak;\ncase 14: // caller optimization;\n$ans3213 = success2624.$var.app(loc3170);\nvar anf_arg1351 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1333];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1351);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3213;\ndefault: R.ffi.throwSpinnakerError(L[1336],$step3212);\n}\n}\nif($step3212 !== 15) {\n$ans3213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3214,$temp_branch3211,$step3212,[test$result3203],[],$elidedFrames3216);\n}\nreturn $ans3213;\n};\n$ans3180 = cases3191.$app_fields($temp_branch3211,[false]);\nbreak;\ncase 5: $ans3180 = R.throwNoCasesMatched(L[1329],cases3191);\n$step3175 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3180;\ndefault: R.ffi.throwSpinnakerError(L[1319],$step3175);\n}\n}\nif($step3175 !== 6) {\n$ans3180.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3181,$temp_lam3176,$step3175,[lv3177,rv3178],[cases3191],$elidedFrames3183);\n}\nreturn $ans3180;\n};\nvar anf_arg1356 = R.mF($temp_lam3176,\"for-body\");\n$step3164 = 1;\n$al3172 = L[1319];\nif(typeof(anf_fun3221.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3172,anf_fun3221);\n}\n$ans3171 = anf_fun3221.app(anf_arg1356,left3168,right3169);\nbreak;\ncase 1: $step3164 = 2;\n$ans3171 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3171;\ndefault: R.ffi.throwSpinnakerError(L[1318],$step3164);\n}\n}\nif($step3164 !== 2) {\n$ans3171.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3172,$temp_full3165,$step3164,[self3166,refinement3167,left3168,right3169,loc3170],[],$elidedFrames3174);\n}\nreturn $ans3171;\n};\nvar anf_obj5039 = R.makeMethod4($temp_full3165,\"check-is-refinement\");\nvar $temp_full3224 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1340($self3225,$refinement3226,$left3227,$right3228,$cause3229,$loc3230) {\nvar $step3223 = 0;\nvar $elidedFrames3234 = 0;\nvar $ans3231 = D;\nvar $al3232 = L[1340];\nif(R.isAR($self3225)) {\n$step3223 = $self3225.step;\n$al3232 = $self3225.from;\n$ans3231 = $self3225.ans;\n$elidedFrames3234 = $self3225.elidedFrames;\nself3225 = $self3225.args[0];\nrefinement3226 = $self3225.args[1];\nleft3227 = $self3225.args[2];\nright3228 = $self3225.args[3];\ncause3229 = $self3225.args[4];\nloc3230 = $self3225.args[5];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1340],6,$t,true);\n}\nvar self3225 = $self3225;\nvar refinement3226 = $refinement3226;\nvar left3227 = $left3227;\nvar right3228 = $right3228;\nvar cause3229 = $cause3229;\nvar loc3230 = $loc3230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3231 = R.mC();\n}\nwhile(!R.isContinuation($ans3231)) {\nswitch($step3223) {\ncase 0: // caller optimization;\n$ans3231 = left$right$cause$check2800.$var.app(loc3230);\nvar anf_fun3366 = $ans3231;\nvar $temp_lam3236 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1341($lv3237,$rv3238,$cv3239) {\nvar $step3235 = 0;\nvar $elidedFrames3243 = 0;\nvar $ans3240 = D;\nvar $al3241 = L[1341];\nif(R.isAR($lv3237)) {\n$step3235 = $lv3237.step;\n$al3241 = $lv3237.from;\n$ans3240 = $lv3237.ans;\n$elidedFrames3243 = $lv3237.elidedFrames;\nlv3237 = $lv3237.args[0];\nrv3238 = $lv3237.args[1];\ncv3239 = $lv3237.args[2];\ncases3251 = $lv3237.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1341],3,$t,false);\n}\nvar lv3237 = $lv3237;\nvar rv3238 = $rv3238;\nvar cv3239 = $cv3239;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3240 = R.mC();\n}\nwhile(!R.isContinuation($ans3240)) {\nswitch($step3235) {\ncase 0: var $temp_lam3245 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1342($$resumer13) {\nvar $step3244 = 0;\nvar $elidedFrames3249 = 0;\nvar $ans3246 = D;\nvar $al3247 = L[1342];\nif(R.isAR($$resumer13)) {\n$step3244 = $$resumer13.step;\n$al3247 = $$resumer13.from;\n$ans3246 = $$resumer13.ans;\n$elidedFrames3249 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1342],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3246 = R.mC();\n}\nwhile(!R.isContinuation($ans3246)) {\nswitch($step3244) {\ncase 0: $step3244 = 1;\n$al3247 = L[1343];\nif(typeof(refinement3226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3247,refinement3226);\n}\n$ans3246 = refinement3226.app(cv3239,rv3238);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3246;\ndefault: R.ffi.throwSpinnakerError(L[1342],$step3244);\n}\n}\nif($step3244 !== 1) {\n$ans3246.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3247,$temp_lam3245,$step3244,[],[],$elidedFrames3249);\n}\nreturn $ans3246;\n};\nvar anf_arg1357 = R.mF($temp_lam3245,\"\");\n$step3235 = 1;\n$al3241 = L[1380];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3241,run$task1);\n}\n$ans3240 = run$task1.app(anf_arg1357);\nbreak;\ncase 1: var cases3251 = $ans3240;\n$step3235 = 2;\n$al3241 = L[1379];\nvar $ann$check3364 = R._cA(L[1379],R.gDA(L[1379],\"either\",either20.dict.types,\"Either\"),cases3251);\nif(R.isContinuation($ann$check3364)) {\n$ans3240 = $ann$check3364;\n}\nbreak;\ncase 2: $al3241 = L[1351];\n$step3235 = $cases_dispatch3363[cases3251.$name] || 5;\nbreak;\ncase 3: if(cases3251.$arity !== 1) {\nif(cases3251.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1350],1,cases3251.$arity,L[1351],cases3251.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1350],true,L[1351],cases3251.$loc);\n}\n}\n$step3235 = 6;\n$al3241 = L[1350];\nvar $temp_branch3258 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1351($exn3252) {\nvar $step3259 = 0;\nvar $elidedFrames3263 = 0;\nvar $ans3260 = D;\nvar $al3261 = L[1349];\nif(R.isAR($exn3252)) {\n$step3259 = $exn3252.step;\n$al3261 = $exn3252.from;\n$ans3260 = $exn3252.ans;\n$elidedFrames3263 = $exn3252.elidedFrames;\nexn3252 = $exn3252.args[0];\nexn$v3253 = $exn3252.vars[0];\n} else {\nvar exn3252 = $exn3252;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3260 = R.mC();\n}\nwhile(!R.isContinuation($ans3260)) {\nswitch($step3259) {\ncase 0: $step3259 = 1;\n$al3261 = L[1348];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,exn$unwrap2);\n}\n$ans3260 = exn$unwrap2.app(exn3252);\nbreak;\ncase 1: var exn$v3253 = $ans3260;\n$step3259 = 2;\n$al3261 = L[1347];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3260 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3253);\nbreak;\ncase 2: var anf_if3257 = $ans3260;\n$step3259 = R.checkPyretTrue(anf_if3257)?3:4;\nbreak;\ncase 3: $step3259 = 6;\n$ans3260 = (true);\nbreak;\ncase 4: $step3259 = 5;\n$al3261 = L[1346];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3260 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3253);\nbreak;\ncase 5: var anf_arg1358 = $ans3260;\n$ans3260 = R.checkWrapBoolean(anf_arg1358);\n$step3259 = 6;\nbreak;\ncase 6: var anf_if3256 = $ans3260;\n$step3259 = R.checkPyretTrue(anf_if3256)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3260 = error$not$pred2676.$var.app(loc3230,refinement3226,(2));\nvar anf_arg3254 = $ans3260;\n$step3259 = 9;\n$al3261 = L[1344];\n// omitting isFunction check;\n$ans3260 = add$result2718.$var.app(anf_arg3254);\nbreak;\ncase 8: // caller optimization;\n$ans3260 = failure$exn2656.$var.app(loc3230,exn3252,on$refinement264.$var);\nvar anf_arg3255 = $ans3260;\n$step3259 = 9;\n$al3261 = L[1345];\n// omitting isFunction check;\n$ans3260 = add$result2718.$var.app(anf_arg3255);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3260;\ndefault: R.ffi.throwSpinnakerError(L[1349],$step3259);\n}\n}\nif($step3259 !== 9) {\n$ans3260.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3261,$temp_branch3258,$step3259,[exn3252],[exn$v3253],$elidedFrames3263);\n}\nreturn $ans3260;\n};\n$ans3240 = cases3251.$app_fields($temp_branch3258,[false]);\nbreak;\ncase 4: if(cases3251.$arity !== 1) {\nif(cases3251.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1378],1,cases3251.$arity,L[1351],cases3251.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1378],true,L[1351],cases3251.$loc);\n}\n}\n$step3235 = 6;\n$al3241 = L[1378];\nvar $temp_branch3332 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1351($cause$result3265) {\nvar $step3333 = 0;\nvar $elidedFrames3337 = 0;\nvar $ans3334 = D;\nvar $al3335 = L[1377];\nif(R.isAR($cause$result3265)) {\n$step3333 = $cause$result3265.step;\n$al3335 = $cause$result3265.from;\n$ans3334 = $cause$result3265.ans;\n$elidedFrames3337 = $cause$result3265.elidedFrames;\ncause$result3265 = $cause$result3265.args[0];\ncases3273 = $cause$result3265.vars[0];\n} else {\nvar cause$result3265 = $cause$result3265;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3334 = R.mC();\n}\nwhile(!R.isContinuation($ans3334)) {\nswitch($step3333) {\ncase 0: // caller optimization;\n$ans3334 = is$Unknown8.app(cause$result3265);\nvar anf_if3331 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3331)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3334 = failure$is$incomparable2632.$var.app(loc3230,cause$result3265,cv3239,on$cause267.$var,rv3238,on$right260.$var);\nvar anf_arg1371 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1352];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1371);\nbreak;\ncase 2: $step3333 = 3;\n$al3335 = L[1376];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,equal$always1);\n}\n$ans3334 = equal$always1.app(cause$result3265,(false));\nbreak;\ncase 3: var anf_if3330 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3330)?4:5;\nbreak;\ncase 4: $step3333 = 6;\n$ans3334 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3334 = is$NotEqual16.app(cause$result3265);\nvar anf_arg3329 = $ans3334;\n$ans3334 = R.checkWrapBoolean(anf_arg3329);\n$step3333 = 6;\nbreak;\ncase 6: var anf_if3322 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3322)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3334 = some12.app(refinement3226);\nvar anf_arg1372 = $ans3334;\n// caller optimization;\n$ans3334 = failure$not$equal2628.$var.app(loc3230,anf_arg1372,cv3239,on$cause267.$var,rv3238,on$right260.$var);\nvar anf_arg1378 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1353];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1378);\nbreak;\ncase 8: // caller optimization;\n$ans3334 = is$boolean2.app(cause$result3265);\nvar anf_if3321 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3321)?9:10;\nbreak;\ncase 9: $step3333 = 11;\n$ans3334 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3334 = is$Equal7.app(cause$result3265);\nvar anf_arg1373 = $ans3334;\n$ans3334 = R.checkWrapBoolean(anf_arg1373);\n$step3333 = 11;\nbreak;\ncase 11: var anf_arg1374 = $ans3334;\n$step3333 = 12;\n$al3335 = L[1375];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,not5);\n}\n$ans3334 = not5.app(anf_arg1374);\nbreak;\ncase 12: var anf_if3320 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3320)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3334 = error$not$boolean2672.$var.app(loc3230,refinement3226,cv3239,on$cause267.$var,rv3238,on$right260.$var,cause$result3265);\nvar anf_arg1380 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1354];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1380);\nbreak;\ncase 14: var $temp_lam3339 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1355($$resumer13) {\nvar $step3338 = 0;\nvar $elidedFrames3343 = 0;\nvar $ans3340 = D;\nvar $al3341 = L[1355];\nif(R.isAR($$resumer13)) {\n$step3338 = $$resumer13.step;\n$al3341 = $$resumer13.from;\n$ans3340 = $$resumer13.ans;\n$elidedFrames3343 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1355],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3340 = R.mC();\n}\nwhile(!R.isContinuation($ans3340)) {\nswitch($step3338) {\ncase 0: $step3338 = 1;\n$al3341 = L[1356];\nif(typeof(refinement3226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3341,refinement3226);\n}\n$ans3340 = refinement3226.app(lv3237,rv3238);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3340;\ndefault: R.ffi.throwSpinnakerError(L[1355],$step3338);\n}\n}\nif($step3338 !== 1) {\n$ans3340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3341,$temp_lam3339,$step3338,[],[],$elidedFrames3343);\n}\nreturn $ans3340;\n};\nvar anf_arg1384 = R.mF($temp_lam3339,\"\");\n$step3333 = 15;\n$al3335 = L[1374];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,run$task1);\n}\n$ans3334 = run$task1.app(anf_arg1384);\nbreak;\ncase 15: var cases3273 = $ans3334;\n$step3333 = 16;\n$al3335 = L[1373];\nvar $ann$check3361 = R._cA(L[1373],R.gDA(L[1373],\"either\",either20.dict.types,\"Either\"),cases3273);\nif(R.isContinuation($ann$check3361)) {\n$ans3334 = $ann$check3361;\n}\nbreak;\ncase 16: $al3335 = L[1364];\n$step3333 = $cases_dispatch3360[cases3273.$name] || 19;\nbreak;\ncase 17: if(cases3273.$arity !== 1) {\nif(cases3273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1363],1,cases3273.$arity,L[1364],cases3273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1363],true,L[1364],cases3273.$loc);\n}\n}\n$step3333 = 20;\n$al3335 = L[1363];\nvar $temp_branch3346 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1364($exn3274) {\nvar $step3347 = 0;\nvar $elidedFrames3351 = 0;\nvar $ans3348 = D;\nvar $al3349 = L[1362];\nif(R.isAR($exn3274)) {\n$step3347 = $exn3274.step;\n$al3349 = $exn3274.from;\n$ans3348 = $exn3274.ans;\n$elidedFrames3351 = $exn3274.elidedFrames;\nexn3274 = $exn3274.args[0];\nexn$v3275 = $exn3274.vars[0];\n} else {\nvar exn3274 = $exn3274;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3348 = R.mC();\n}\nwhile(!R.isContinuation($ans3348)) {\nswitch($step3347) {\ncase 0: $step3347 = 1;\n$al3349 = L[1361];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,exn$unwrap2);\n}\n$ans3348 = exn$unwrap2.app(exn3274);\nbreak;\ncase 1: var exn$v3275 = $ans3348;\n$step3347 = 2;\n$al3349 = L[1360];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3348 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3275);\nbreak;\ncase 2: var anf_if3280 = $ans3348;\n$step3347 = R.checkPyretTrue(anf_if3280)?3:4;\nbreak;\ncase 3: $step3347 = 6;\n$ans3348 = (true);\nbreak;\ncase 4: $step3347 = 5;\n$al3349 = L[1359];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3348 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3275);\nbreak;\ncase 5: var anf_arg1385 = $ans3348;\n$ans3348 = R.checkWrapBoolean(anf_arg1385);\n$step3347 = 6;\nbreak;\ncase 6: var anf_if3279 = $ans3348;\n$step3347 = R.checkPyretTrue(anf_if3279)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3348 = error$not$pred2676.$var.app(loc3230,refinement3226,(2));\nvar anf_arg3278 = $ans3348;\n$step3347 = 9;\n$al3349 = L[1357];\n// omitting isFunction check;\n$ans3348 = add$result2718.$var.app(anf_arg3278);\nbreak;\ncase 8: // caller optimization;\n$ans3348 = failure$exn2656.$var.app(loc3230,exn3274,on$refinement264.$var);\nvar anf_arg1387 = $ans3348;\n$step3347 = 9;\n$al3349 = L[1358];\n// omitting isFunction check;\n$ans3348 = add$result2718.$var.app(anf_arg1387);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3348;\ndefault: R.ffi.throwSpinnakerError(L[1362],$step3347);\n}\n}\nif($step3347 !== 9) {\n$ans3348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3349,$temp_branch3346,$step3347,[exn3274],[exn$v3275],$elidedFrames3351);\n}\nreturn $ans3348;\n};\n$ans3334 = cases3273.$app_fields($temp_branch3346,[false]);\nbreak;\ncase 18: if(cases3273.$arity !== 1) {\nif(cases3273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1372],1,cases3273.$arity,L[1364],cases3273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1372],true,L[1364],cases3273.$loc);\n}\n}\n$step3333 = 20;\n$al3335 = L[1372];\nvar $temp_branch3353 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1364($test$result3288) {\nvar $step3354 = 0;\nvar $elidedFrames3358 = 0;\nvar $ans3355 = D;\nvar $al3356 = L[1371];\nif(R.isAR($test$result3288)) {\n$step3354 = $test$result3288.step;\n$al3356 = $test$result3288.from;\n$ans3355 = $test$result3288.ans;\n$elidedFrames3358 = $test$result3288.elidedFrames;\ntest$result3288 = $test$result3288.args[0];\n} else {\nvar test$result3288 = $test$result3288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3355 = R.mC();\n}\nwhile(!R.isContinuation($ans3355)) {\nswitch($step3354) {\ncase 0: // caller optimization;\n$ans3355 = is$Unknown8.app(test$result3288);\nvar anf_if3310 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3310)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3355 = failure$is$incomparable2632.$var.app(loc3230,test$result3288,lv3237,on$left256.$var,rv3238,on$right260.$var);\nvar anf_arg1389 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1365];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1389);\nbreak;\ncase 2: $step3354 = 3;\n$al3356 = L[1370];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3356,equal$always1);\n}\n$ans3355 = equal$always1.app(test$result3288,(false));\nbreak;\ncase 3: var anf_if3309 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3309)?4:5;\nbreak;\ncase 4: $step3354 = 6;\n$ans3355 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3355 = is$NotEqual16.app(test$result3288);\nvar anf_arg1390 = $ans3355;\n$ans3355 = R.checkWrapBoolean(anf_arg1390);\n$step3354 = 6;\nbreak;\ncase 6: var anf_if3308 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3308)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3355 = some12.app(refinement3226);\nvar anf_arg3291 = $ans3355;\n// caller optimization;\n$ans3355 = failure$not$equal2628.$var.app(loc3230,anf_arg3291,lv3237,on$left256.$var,rv3238,on$right260.$var);\nvar anf_arg3294 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1366];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg3294);\nbreak;\ncase 8: // caller optimization;\n$ans3355 = is$boolean2.app(test$result3288);\nvar anf_if3307 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3307)?9:10;\nbreak;\ncase 9: $step3354 = 11;\n$ans3355 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3355 = is$Equal7.app(test$result3288);\nvar anf_arg3306 = $ans3355;\n$ans3355 = R.checkWrapBoolean(anf_arg3306);\n$step3354 = 11;\nbreak;\ncase 11: var anf_arg3298 = $ans3355;\n$step3354 = 12;\n$al3356 = L[1369];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3356,not5);\n}\n$ans3355 = not5.app(anf_arg3298);\nbreak;\ncase 12: var anf_if3299 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3299)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3355 = error$not$boolean2672.$var.app(loc3230,refinement3226,lv3237,on$left256.$var,rv3238,on$right260.$var,test$result3288);\nvar anf_arg1396 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1367];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1396);\nbreak;\ncase 14: // caller optimization;\n$ans3355 = success2624.$var.app(loc3230);\nvar anf_arg1397 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1368];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1397);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3355;\ndefault: R.ffi.throwSpinnakerError(L[1371],$step3354);\n}\n}\nif($step3354 !== 15) {\n$ans3355.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3356,$temp_branch3353,$step3354,[test$result3288],[],$elidedFrames3358);\n}\nreturn $ans3355;\n};\n$ans3334 = cases3273.$app_fields($temp_branch3353,[false]);\nbreak;\ncase 19: $ans3334 = R.throwNoCasesMatched(L[1364],cases3273);\n$step3333 = 20;\nbreak;\ncase 20: ++R.GAS;\nreturn $ans3334;\ndefault: R.ffi.throwSpinnakerError(L[1377],$step3333);\n}\n}\nif($step3333 !== 20) {\n$ans3334.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3335,$temp_branch3332,$step3333,[cause$result3265],[cases3273],$elidedFrames3337);\n}\nreturn $ans3334;\n};\n$ans3240 = cases3251.$app_fields($temp_branch3332,[false]);\nbreak;\ncase 5: $ans3240 = R.throwNoCasesMatched(L[1351],cases3251);\n$step3235 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3240;\ndefault: R.ffi.throwSpinnakerError(L[1341],$step3235);\n}\n}\nif($step3235 !== 6) {\n$ans3240.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3241,$temp_lam3236,$step3235,[lv3237,rv3238,cv3239],[cases3251],$elidedFrames3243);\n}\nreturn $ans3240;\n};\nvar anf_arg1400 = R.mF($temp_lam3236,\"for-body\");\n$step3223 = 1;\n$al3232 = L[1341];\nif(typeof(anf_fun3366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3232,anf_fun3366);\n}\n$ans3231 = anf_fun3366.app(anf_arg1400,left3227,right3228,cause3229);\nbreak;\ncase 1: $step3223 = 2;\n$ans3231 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3231;\ndefault: R.ffi.throwSpinnakerError(L[1340],$step3223);\n}\n}\nif($step3223 !== 2) {\n$ans3231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3232,$temp_full3224,$step3223,[self3225,refinement3226,left3227,right3228,cause3229,loc3230],[],$elidedFrames3234);\n}\nreturn $ans3231;\n};\nvar anf_obj5040 = R.makeMethod5($temp_full3224,\"check-is-refinement-cause\");\nvar $temp_full3369 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1381($self3370,$refinement3371,$left3372,$right3373,$loc3374) {\nvar $step3368 = 0;\nvar $elidedFrames3378 = 0;\nvar $ans3375 = D;\nvar $al3376 = L[1381];\nif(R.isAR($self3370)) {\n$step3368 = $self3370.step;\n$al3376 = $self3370.from;\n$ans3375 = $self3370.ans;\n$elidedFrames3378 = $self3370.elidedFrames;\nself3370 = $self3370.args[0];\nrefinement3371 = $self3370.args[1];\nleft3372 = $self3370.args[2];\nright3373 = $self3370.args[3];\nloc3374 = $self3370.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1381],5,$t,true);\n}\nvar self3370 = $self3370;\nvar refinement3371 = $refinement3371;\nvar left3372 = $left3372;\nvar right3373 = $right3373;\nvar loc3374 = $loc3374;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3375 = R.mC();\n}\nwhile(!R.isContinuation($ans3375)) {\nswitch($step3368) {\ncase 0: // caller optimization;\n$ans3375 = left$right$check2755.$var.app(loc3374);\nvar anf_fun3423 = $ans3375;\nvar $temp_lam3380 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1382($lv3381,$rv3382) {\nvar $step3379 = 0;\nvar $elidedFrames3386 = 0;\nvar $ans3383 = D;\nvar $al3384 = L[1382];\nif(R.isAR($lv3381)) {\n$step3379 = $lv3381.step;\n$al3384 = $lv3381.from;\n$ans3383 = $lv3381.ans;\n$elidedFrames3386 = $lv3381.elidedFrames;\nlv3381 = $lv3381.args[0];\nrv3382 = $lv3381.args[1];\ncases3394 = $lv3381.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1382],2,$t,false);\n}\nvar lv3381 = $lv3381;\nvar rv3382 = $rv3382;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3383 = R.mC();\n}\nwhile(!R.isContinuation($ans3383)) {\nswitch($step3379) {\ncase 0: var $temp_lam3388 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1383($$resumer13) {\nvar $step3387 = 0;\nvar $elidedFrames3392 = 0;\nvar $ans3389 = D;\nvar $al3390 = L[1383];\nif(R.isAR($$resumer13)) {\n$step3387 = $$resumer13.step;\n$al3390 = $$resumer13.from;\n$ans3389 = $$resumer13.ans;\n$elidedFrames3392 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1383],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3389 = R.mC();\n}\nwhile(!R.isContinuation($ans3389)) {\nswitch($step3387) {\ncase 0: $step3387 = 1;\n$al3390 = L[1384];\nif(typeof(refinement3371.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3390,refinement3371);\n}\n$ans3389 = refinement3371.app(lv3381,rv3382);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3389;\ndefault: R.ffi.throwSpinnakerError(L[1383],$step3387);\n}\n}\nif($step3387 !== 1) {\n$ans3389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3390,$temp_lam3388,$step3387,[],[],$elidedFrames3392);\n}\nreturn $ans3389;\n};\nvar anf_arg1401 = R.mF($temp_lam3388,\"\");\n$step3379 = 1;\n$al3384 = L[1402];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3384,run$task1);\n}\n$ans3383 = run$task1.app(anf_arg1401);\nbreak;\ncase 1: var cases3394 = $ans3383;\n$step3379 = 2;\n$al3384 = L[1401];\nvar $ann$check3421 = R._cA(L[1401],R.gDA(L[1401],\"either\",either20.dict.types,\"Either\"),cases3394);\nif(R.isContinuation($ann$check3421)) {\n$ans3383 = $ann$check3421;\n}\nbreak;\ncase 2: $al3384 = L[1392];\n$step3379 = $cases_dispatch3420[cases3394.$name] || 5;\nbreak;\ncase 3: if(cases3394.$arity !== 1) {\nif(cases3394.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1391],1,cases3394.$arity,L[1392],cases3394.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1391],true,L[1392],cases3394.$loc);\n}\n}\n$step3379 = 6;\n$al3384 = L[1391];\nvar $temp_branch3399 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1392($exn3395) {\nvar $step3401 = 0;\nvar $elidedFrames3405 = 0;\nvar $ans3402 = D;\nvar $al3403 = L[1390];\nif(R.isAR($exn3395)) {\n$step3401 = $exn3395.step;\n$al3403 = $exn3395.from;\n$ans3402 = $exn3395.ans;\n$elidedFrames3405 = $exn3395.elidedFrames;\nexn3395 = $exn3395.args[0];\nexn$v3396 = $exn3395.vars[0];\n} else {\nvar exn3395 = $exn3395;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3402 = R.mC();\n}\nwhile(!R.isContinuation($ans3402)) {\nswitch($step3401) {\ncase 0: $step3401 = 1;\n$al3403 = L[1389];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,exn$unwrap2);\n}\n$ans3402 = exn$unwrap2.app(exn3395);\nbreak;\ncase 1: var exn$v3396 = $ans3402;\n$step3401 = 2;\n$al3403 = L[1388];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3402 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3396);\nbreak;\ncase 2: var anf_if3398 = $ans3402;\n$step3401 = R.checkPyretTrue(anf_if3398)?3:4;\nbreak;\ncase 3: $step3401 = 6;\n$ans3402 = (true);\nbreak;\ncase 4: $step3401 = 5;\n$al3403 = L[1387];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3402 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3396);\nbreak;\ncase 5: var anf_arg1403 = $ans3402;\n$ans3402 = R.checkWrapBoolean(anf_arg1403);\n$step3401 = 6;\nbreak;\ncase 6: var anf_if3397 = $ans3402;\n$step3401 = R.checkPyretTrue(anf_if3397)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3402 = error$not$pred2676.$var.app(loc3374,refinement3371,(2));\nvar anf_arg1405 = $ans3402;\n$step3401 = 9;\n$al3403 = L[1385];\n// omitting isFunction check;\n$ans3402 = add$result2718.$var.app(anf_arg1405);\nbreak;\ncase 8: // caller optimization;\n$ans3402 = failure$exn2656.$var.app(loc3374,exn3395,on$refinement264.$var);\nvar anf_arg1412 = $ans3402;\n$step3401 = 9;\n$al3403 = L[1386];\n// omitting isFunction check;\n$ans3402 = add$result2718.$var.app(anf_arg1412);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3402;\ndefault: R.ffi.throwSpinnakerError(L[1390],$step3401);\n}\n}\nif($step3401 !== 9) {\n$ans3402.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3403,$temp_branch3399,$step3401,[exn3395],[exn$v3396],$elidedFrames3405);\n}\nreturn $ans3402;\n};\n$ans3383 = cases3394.$app_fields($temp_branch3399,[false]);\nbreak;\ncase 4: if(cases3394.$arity !== 1) {\nif(cases3394.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1400],1,cases3394.$arity,L[1392],cases3394.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1400],true,L[1392],cases3394.$loc);\n}\n}\n$step3379 = 6;\n$al3384 = L[1400];\nvar $temp_branch3413 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1392($test$result3407) {\nvar $step3414 = 0;\nvar $elidedFrames3418 = 0;\nvar $ans3415 = D;\nvar $al3416 = L[1399];\nif(R.isAR($test$result3407)) {\n$step3414 = $test$result3407.step;\n$al3416 = $test$result3407.from;\n$ans3415 = $test$result3407.ans;\n$elidedFrames3418 = $test$result3407.elidedFrames;\ntest$result3407 = $test$result3407.args[0];\n} else {\nvar test$result3407 = $test$result3407;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3415 = R.mC();\n}\nwhile(!R.isContinuation($ans3415)) {\nswitch($step3414) {\ncase 0: // caller optimization;\n$ans3415 = is$Unknown8.app(test$result3407);\nvar anf_if3412 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3412)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3415 = failure$is$incomparable2632.$var.app(loc3374,test$result3407,lv3381,on$left256.$var,rv3382,on$right260.$var);\nvar anf_arg1413 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1393];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1413);\nbreak;\ncase 2: $step3414 = 3;\n$al3416 = L[1398];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3416,equal$always1);\n}\n$ans3415 = equal$always1.app(test$result3407,(true));\nbreak;\ncase 3: var anf_if3411 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3411)?4:5;\nbreak;\ncase 4: $step3414 = 6;\n$ans3415 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3415 = is$Equal7.app(test$result3407);\nvar anf_arg1421 = $ans3415;\n$ans3415 = R.checkWrapBoolean(anf_arg1421);\n$step3414 = 6;\nbreak;\ncase 6: var anf_if3410 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3410)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3415 = some12.app(refinement3371);\nvar anf_arg1422 = $ans3415;\n// caller optimization;\n$ans3415 = failure$not$different2636.$var.app(loc3374,anf_arg1422,lv3381,on$left256.$var,rv3382,on$right260.$var);\nvar anf_arg1435 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1394];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1435);\nbreak;\ncase 8: // caller optimization;\n$ans3415 = is$boolean2.app(test$result3407);\nvar anf_if3409 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3409)?9:10;\nbreak;\ncase 9: $step3414 = 11;\n$ans3415 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3415 = is$NotEqual16.app(test$result3407);\nvar anf_arg1428 = $ans3415;\n$ans3415 = R.checkWrapBoolean(anf_arg1428);\n$step3414 = 11;\nbreak;\ncase 11: var anf_arg1423 = $ans3415;\n$step3414 = 12;\n$al3416 = L[1397];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3416,not5);\n}\n$ans3415 = not5.app(anf_arg1423);\nbreak;\ncase 12: var anf_if3408 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3408)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3415 = error$not$boolean2672.$var.app(loc3374,refinement3371,lv3381,on$left256.$var,rv3382,on$right260.$var,test$result3407);\nvar anf_arg1430 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1395];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1430);\nbreak;\ncase 14: // caller optimization;\n$ans3415 = success2624.$var.app(loc3374);\nvar anf_arg1424 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1396];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1424);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3415;\ndefault: R.ffi.throwSpinnakerError(L[1399],$step3414);\n}\n}\nif($step3414 !== 15) {\n$ans3415.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3416,$temp_branch3413,$step3414,[test$result3407],[],$elidedFrames3418);\n}\nreturn $ans3415;\n};\n$ans3383 = cases3394.$app_fields($temp_branch3413,[false]);\nbreak;\ncase 5: $ans3383 = R.throwNoCasesMatched(L[1392],cases3394);\n$step3379 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3383;\ndefault: R.ffi.throwSpinnakerError(L[1382],$step3379);\n}\n}\nif($step3379 !== 6) {\n$ans3383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3384,$temp_lam3380,$step3379,[lv3381,rv3382],[cases3394],$elidedFrames3386);\n}\nreturn $ans3383;\n};\nvar anf_arg1425 = R.mF($temp_lam3380,\"for-body\");\n$step3368 = 1;\n$al3376 = L[1382];\nif(typeof(anf_fun3423.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3376,anf_fun3423);\n}\n$ans3375 = anf_fun3423.app(anf_arg1425,left3372,right3373);\nbreak;\ncase 1: $step3368 = 2;\n$ans3375 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3375;\ndefault: R.ffi.throwSpinnakerError(L[1381],$step3368);\n}\n}\nif($step3368 !== 2) {\n$ans3375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3376,$temp_full3369,$step3368,[self3370,refinement3371,left3372,right3373,loc3374],[],$elidedFrames3378);\n}\nreturn $ans3375;\n};\nvar anf_obj5041 = R.makeMethod4($temp_full3369,\"check-is-not-refinement\");\nvar $temp_full3426 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1403($self3427,$refinement3428,$left3429,$right3430,$cause3431,$loc3432) {\nvar $step3425 = 0;\nvar $elidedFrames3436 = 0;\nvar $ans3433 = D;\nvar $al3434 = L[1403];\nif(R.isAR($self3427)) {\n$step3425 = $self3427.step;\n$al3434 = $self3427.from;\n$ans3433 = $self3427.ans;\n$elidedFrames3436 = $self3427.elidedFrames;\nself3427 = $self3427.args[0];\nrefinement3428 = $self3427.args[1];\nleft3429 = $self3427.args[2];\nright3430 = $self3427.args[3];\ncause3431 = $self3427.args[4];\nloc3432 = $self3427.args[5];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1403],6,$t,true);\n}\nvar self3427 = $self3427;\nvar refinement3428 = $refinement3428;\nvar left3429 = $left3429;\nvar right3430 = $right3430;\nvar cause3431 = $cause3431;\nvar loc3432 = $loc3432;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3433 = R.mC();\n}\nwhile(!R.isContinuation($ans3433)) {\nswitch($step3425) {\ncase 0: // caller optimization;\n$ans3433 = left$right$cause$check2800.$var.app(loc3432);\nvar anf_fun3544 = $ans3433;\nvar $temp_lam3438 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1404($lv3439,$rv3440,$cv3441) {\nvar $step3437 = 0;\nvar $elidedFrames3445 = 0;\nvar $ans3442 = D;\nvar $al3443 = L[1404];\nif(R.isAR($lv3439)) {\n$step3437 = $lv3439.step;\n$al3443 = $lv3439.from;\n$ans3442 = $lv3439.ans;\n$elidedFrames3445 = $lv3439.elidedFrames;\nlv3439 = $lv3439.args[0];\nrv3440 = $lv3439.args[1];\ncv3441 = $lv3439.args[2];\ncases3453 = $lv3439.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1404],3,$t,false);\n}\nvar lv3439 = $lv3439;\nvar rv3440 = $rv3440;\nvar cv3441 = $cv3441;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3442 = R.mC();\n}\nwhile(!R.isContinuation($ans3442)) {\nswitch($step3437) {\ncase 0: var $temp_lam3447 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1405($$resumer13) {\nvar $step3446 = 0;\nvar $elidedFrames3451 = 0;\nvar $ans3448 = D;\nvar $al3449 = L[1405];\nif(R.isAR($$resumer13)) {\n$step3446 = $$resumer13.step;\n$al3449 = $$resumer13.from;\n$ans3448 = $$resumer13.ans;\n$elidedFrames3451 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1405],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3448 = R.mC();\n}\nwhile(!R.isContinuation($ans3448)) {\nswitch($step3446) {\ncase 0: $step3446 = 1;\n$al3449 = L[1406];\nif(typeof(refinement3428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3449,refinement3428);\n}\n$ans3448 = refinement3428.app(cv3441,rv3440);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3448;\ndefault: R.ffi.throwSpinnakerError(L[1405],$step3446);\n}\n}\nif($step3446 !== 1) {\n$ans3448.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3449,$temp_lam3447,$step3446,[],[],$elidedFrames3451);\n}\nreturn $ans3448;\n};\nvar anf_arg1436 = R.mF($temp_lam3447,\"\");\n$step3437 = 1;\n$al3443 = L[1443];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3443,run$task1);\n}\n$ans3442 = run$task1.app(anf_arg1436);\nbreak;\ncase 1: var cases3453 = $ans3442;\n$step3437 = 2;\n$al3443 = L[1442];\nvar $ann$check3542 = R._cA(L[1442],R.gDA(L[1442],\"either\",either20.dict.types,\"Either\"),cases3453);\nif(R.isContinuation($ann$check3542)) {\n$ans3442 = $ann$check3542;\n}\nbreak;\ncase 2: $al3443 = L[1414];\n$step3437 = $cases_dispatch3541[cases3453.$name] || 5;\nbreak;\ncase 3: if(cases3453.$arity !== 1) {\nif(cases3453.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1413],1,cases3453.$arity,L[1414],cases3453.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1413],true,L[1414],cases3453.$loc);\n}\n}\n$step3437 = 6;\n$al3443 = L[1413];\nvar $temp_branch3458 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1414($exn3454) {\nvar $step3459 = 0;\nvar $elidedFrames3463 = 0;\nvar $ans3460 = D;\nvar $al3461 = L[1412];\nif(R.isAR($exn3454)) {\n$step3459 = $exn3454.step;\n$al3461 = $exn3454.from;\n$ans3460 = $exn3454.ans;\n$elidedFrames3463 = $exn3454.elidedFrames;\nexn3454 = $exn3454.args[0];\nexn$v3455 = $exn3454.vars[0];\n} else {\nvar exn3454 = $exn3454;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3460 = R.mC();\n}\nwhile(!R.isContinuation($ans3460)) {\nswitch($step3459) {\ncase 0: $step3459 = 1;\n$al3461 = L[1411];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,exn$unwrap2);\n}\n$ans3460 = exn$unwrap2.app(exn3454);\nbreak;\ncase 1: var exn$v3455 = $ans3460;\n$step3459 = 2;\n$al3461 = L[1410];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3460 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3455);\nbreak;\ncase 2: var anf_if3457 = $ans3460;\n$step3459 = R.checkPyretTrue(anf_if3457)?3:4;\nbreak;\ncase 3: $step3459 = 6;\n$ans3460 = (true);\nbreak;\ncase 4: $step3459 = 5;\n$al3461 = L[1409];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3460 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3455);\nbreak;\ncase 5: var anf_arg1437 = $ans3460;\n$ans3460 = R.checkWrapBoolean(anf_arg1437);\n$step3459 = 6;\nbreak;\ncase 6: var anf_if3456 = $ans3460;\n$step3459 = R.checkPyretTrue(anf_if3456)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3460 = error$not$pred2676.$var.app(loc3432,refinement3428,(2));\nvar anf_arg1447 = $ans3460;\n$step3459 = 9;\n$al3461 = L[1407];\n// omitting isFunction check;\n$ans3460 = add$result2718.$var.app(anf_arg1447);\nbreak;\ncase 8: // caller optimization;\n$ans3460 = failure$exn2656.$var.app(loc3432,exn3454,on$refinement264.$var);\nvar anf_arg1459 = $ans3460;\n$step3459 = 9;\n$al3461 = L[1408];\n// omitting isFunction check;\n$ans3460 = add$result2718.$var.app(anf_arg1459);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3460;\ndefault: R.ffi.throwSpinnakerError(L[1412],$step3459);\n}\n}\nif($step3459 !== 9) {\n$ans3460.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3461,$temp_branch3458,$step3459,[exn3454],[exn$v3455],$elidedFrames3463);\n}\nreturn $ans3460;\n};\n$ans3442 = cases3453.$app_fields($temp_branch3458,[false]);\nbreak;\ncase 4: if(cases3453.$arity !== 1) {\nif(cases3453.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1441],1,cases3453.$arity,L[1414],cases3453.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1441],true,L[1414],cases3453.$loc);\n}\n}\n$step3437 = 6;\n$al3443 = L[1441];\nvar $temp_branch3509 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1414($cause$result3465) {\nvar $step3511 = 0;\nvar $elidedFrames3515 = 0;\nvar $ans3512 = D;\nvar $al3513 = L[1440];\nif(R.isAR($cause$result3465)) {\n$step3511 = $cause$result3465.step;\n$al3513 = $cause$result3465.from;\n$ans3512 = $cause$result3465.ans;\n$elidedFrames3515 = $cause$result3465.elidedFrames;\ncause$result3465 = $cause$result3465.args[0];\ncases3474 = $cause$result3465.vars[0];\n} else {\nvar cause$result3465 = $cause$result3465;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3512 = R.mC();\n}\nwhile(!R.isContinuation($ans3512)) {\nswitch($step3511) {\ncase 0: // caller optimization;\n$ans3512 = is$Unknown8.app(cause$result3465);\nvar anf_if3508 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3508)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3512 = failure$is$incomparable2632.$var.app(loc3432,cause$result3465,cv3441,on$cause267.$var,rv3440,on$right260.$var);\nvar anf_arg1453 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1415];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1453);\nbreak;\ncase 2: $step3511 = 3;\n$al3513 = L[1439];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,equal$always1);\n}\n$ans3512 = equal$always1.app(cause$result3465,(true));\nbreak;\ncase 3: var anf_if3507 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3507)?4:5;\nbreak;\ncase 4: $step3511 = 6;\n$ans3512 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3512 = is$Equal7.app(cause$result3465);\nvar anf_arg1454 = $ans3512;\n$ans3512 = R.checkWrapBoolean(anf_arg1454);\n$step3511 = 6;\nbreak;\ncase 6: var anf_if3506 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3506)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3512 = some12.app(refinement3428);\nvar anf_arg1449 = $ans3512;\n// caller optimization;\n$ans3512 = failure$not$different2636.$var.app(loc3432,anf_arg1449,cv3441,on$cause267.$var,rv3440,on$right260.$var);\nvar anf_arg1450 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1416];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1450);\nbreak;\ncase 8: // caller optimization;\n$ans3512 = is$boolean2.app(cause$result3465);\nvar anf_if3505 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3505)?9:10;\nbreak;\ncase 9: $step3511 = 11;\n$ans3512 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3512 = is$NotEqual16.app(cause$result3465);\nvar anf_arg1456 = $ans3512;\n$ans3512 = R.checkWrapBoolean(anf_arg1456);\n$step3511 = 11;\nbreak;\ncase 11: var anf_arg1460 = $ans3512;\n$step3511 = 12;\n$al3513 = L[1438];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,not5);\n}\n$ans3512 = not5.app(anf_arg1460);\nbreak;\ncase 12: var anf_if3504 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3504)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3512 = error$not$boolean2672.$var.app(loc3432,refinement3428,cv3441,on$cause267.$var,rv3440,on$right260.$var,cause$result3465);\nvar anf_arg1461 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1417];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1461);\nbreak;\ncase 14: var $temp_lam3517 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1418($$resumer13) {\nvar $step3516 = 0;\nvar $elidedFrames3521 = 0;\nvar $ans3518 = D;\nvar $al3519 = L[1418];\nif(R.isAR($$resumer13)) {\n$step3516 = $$resumer13.step;\n$al3519 = $$resumer13.from;\n$ans3518 = $$resumer13.ans;\n$elidedFrames3521 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1418],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3518 = R.mC();\n}\nwhile(!R.isContinuation($ans3518)) {\nswitch($step3516) {\ncase 0: $step3516 = 1;\n$al3519 = L[1419];\nif(typeof(refinement3428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3519,refinement3428);\n}\n$ans3518 = refinement3428.app(lv3439,rv3440);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3518;\ndefault: R.ffi.throwSpinnakerError(L[1418],$step3516);\n}\n}\nif($step3516 !== 1) {\n$ans3518.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3519,$temp_lam3517,$step3516,[],[],$elidedFrames3521);\n}\nreturn $ans3518;\n};\nvar anf_arg3473 = R.mF($temp_lam3517,\"\");\n$step3511 = 15;\n$al3513 = L[1437];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,run$task1);\n}\n$ans3512 = run$task1.app(anf_arg3473);\nbreak;\ncase 15: var cases3474 = $ans3512;\n$step3511 = 16;\n$al3513 = L[1436];\nvar $ann$check3539 = R._cA(L[1436],R.gDA(L[1436],\"either\",either20.dict.types,\"Either\"),cases3474);\nif(R.isContinuation($ann$check3539)) {\n$ans3512 = $ann$check3539;\n}\nbreak;\ncase 16: $al3513 = L[1427];\n$step3511 = $cases_dispatch3538[cases3474.$name] || 19;\nbreak;\ncase 17: if(cases3474.$arity !== 1) {\nif(cases3474.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1426],1,cases3474.$arity,L[1427],cases3474.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1426],true,L[1427],cases3474.$loc);\n}\n}\n$step3511 = 20;\n$al3513 = L[1426];\nvar $temp_branch3523 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1427($exn3475) {\nvar $step3524 = 0;\nvar $elidedFrames3528 = 0;\nvar $ans3525 = D;\nvar $al3526 = L[1425];\nif(R.isAR($exn3475)) {\n$step3524 = $exn3475.step;\n$al3526 = $exn3475.from;\n$ans3525 = $exn3475.ans;\n$elidedFrames3528 = $exn3475.elidedFrames;\nexn3475 = $exn3475.args[0];\nexn$v3476 = $exn3475.vars[0];\n} else {\nvar exn3475 = $exn3475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3525 = R.mC();\n}\nwhile(!R.isContinuation($ans3525)) {\nswitch($step3524) {\ncase 0: $step3524 = 1;\n$al3526 = L[1424];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,exn$unwrap2);\n}\n$ans3525 = exn$unwrap2.app(exn3475);\nbreak;\ncase 1: var exn$v3476 = $ans3525;\n$step3524 = 2;\n$al3526 = L[1423];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3525 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3476);\nbreak;\ncase 2: var anf_if3479 = $ans3525;\n$step3524 = R.checkPyretTrue(anf_if3479)?3:4;\nbreak;\ncase 3: $step3524 = 6;\n$ans3525 = (true);\nbreak;\ncase 4: $step3524 = 5;\n$al3526 = L[1422];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3525 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3476);\nbreak;\ncase 5: var anf_arg1472 = $ans3525;\n$ans3525 = R.checkWrapBoolean(anf_arg1472);\n$step3524 = 6;\nbreak;\ncase 6: var anf_if3478 = $ans3525;\n$step3524 = R.checkPyretTrue(anf_if3478)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3525 = error$not$pred2676.$var.app(loc3432,refinement3428,(2));\nvar anf_arg3477 = $ans3525;\n$step3524 = 9;\n$al3526 = L[1420];\n// omitting isFunction check;\n$ans3525 = add$result2718.$var.app(anf_arg3477);\nbreak;\ncase 8: // caller optimization;\n$ans3525 = failure$exn2656.$var.app(loc3432,exn3475,on$refinement264.$var);\nvar anf_arg1478 = $ans3525;\n$step3524 = 9;\n$al3526 = L[1421];\n// omitting isFunction check;\n$ans3525 = add$result2718.$var.app(anf_arg1478);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3525;\ndefault: R.ffi.throwSpinnakerError(L[1425],$step3524);\n}\n}\nif($step3524 !== 9) {\n$ans3525.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3526,$temp_branch3523,$step3524,[exn3475],[exn$v3476],$elidedFrames3528);\n}\nreturn $ans3525;\n};\n$ans3512 = cases3474.$app_fields($temp_branch3523,[false]);\nbreak;\ncase 18: if(cases3474.$arity !== 1) {\nif(cases3474.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1435],1,cases3474.$arity,L[1427],cases3474.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1435],true,L[1427],cases3474.$loc);\n}\n}\n$step3511 = 20;\n$al3513 = L[1435];\nvar $temp_branch3530 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1427($test$result3487) {\nvar $step3531 = 0;\nvar $elidedFrames3536 = 0;\nvar $ans3533 = D;\nvar $al3534 = L[1434];\nif(R.isAR($test$result3487)) {\n$step3531 = $test$result3487.step;\n$al3534 = $test$result3487.from;\n$ans3533 = $test$result3487.ans;\n$elidedFrames3536 = $test$result3487.elidedFrames;\ntest$result3487 = $test$result3487.args[0];\n} else {\nvar test$result3487 = $test$result3487;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3533 = R.mC();\n}\nwhile(!R.isContinuation($ans3533)) {\nswitch($step3531) {\ncase 0: // caller optimization;\n$ans3533 = is$Unknown8.app(test$result3487);\nvar anf_if3494 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3494)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3533 = failure$is$incomparable2632.$var.app(loc3432,test$result3487,lv3439,on$left256.$var,rv3440,on$right260.$var);\nvar anf_arg1479 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1428];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg1479);\nbreak;\ncase 2: $step3531 = 3;\n$al3534 = L[1433];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3534,equal$always1);\n}\n$ans3533 = equal$always1.app(test$result3487,(true));\nbreak;\ncase 3: var anf_if3493 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3493)?4:5;\nbreak;\ncase 4: $step3531 = 6;\n$ans3533 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3533 = is$Equal7.app(test$result3487);\nvar anf_arg1474 = $ans3533;\n$ans3533 = R.checkWrapBoolean(anf_arg1474);\n$step3531 = 6;\nbreak;\ncase 6: var anf_if3492 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3492)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3533 = some12.app(refinement3428);\nvar anf_arg1476 = $ans3533;\n// caller optimization;\n$ans3533 = failure$not$different2636.$var.app(loc3432,anf_arg1476,lv3439,on$left256.$var,rv3440,on$right260.$var);\nvar anf_arg1481 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1429];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg1481);\nbreak;\ncase 8: // caller optimization;\n$ans3533 = is$boolean2.app(test$result3487);\nvar anf_if3491 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3491)?9:10;\nbreak;\ncase 9: $step3531 = 11;\n$ans3533 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3533 = is$NotEqual16.app(test$result3487);\nvar anf_arg1482 = $ans3533;\n$ans3533 = R.checkWrapBoolean(anf_arg1482);\n$step3531 = 11;\nbreak;\ncase 11: var anf_arg1486 = $ans3533;\n$step3531 = 12;\n$al3534 = L[1432];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3534,not5);\n}\n$ans3533 = not5.app(anf_arg1486);\nbreak;\ncase 12: var anf_if3490 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3490)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3533 = error$not$boolean2672.$var.app(loc3432,refinement3428,lv3439,on$left256.$var,rv3440,on$right260.$var,test$result3487);\nvar anf_arg3488 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1430];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg3488);\nbreak;\ncase 14: // caller optimization;\n$ans3533 = success2624.$var.app(loc3432);\nvar anf_arg3489 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1431];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg3489);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3533;\ndefault: R.ffi.throwSpinnakerError(L[1434],$step3531);\n}\n}\nif($step3531 !== 15) {\n$ans3533.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3534,$temp_branch3530,$step3531,[test$result3487],[],$elidedFrames3536);\n}\nreturn $ans3533;\n};\n$ans3512 = cases3474.$app_fields($temp_branch3530,[false]);\nbreak;\ncase 19: $ans3512 = R.throwNoCasesMatched(L[1427],cases3474);\n$step3511 = 20;\nbreak;\ncase 20: ++R.GAS;\nreturn $ans3512;\ndefault: R.ffi.throwSpinnakerError(L[1440],$step3511);\n}\n}\nif($step3511 !== 20) {\n$ans3512.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3513,$temp_branch3509,$step3511,[cause$result3465],[cases3474],$elidedFrames3515);\n}\nreturn $ans3512;\n};\n$ans3442 = cases3453.$app_fields($temp_branch3509,[false]);\nbreak;\ncase 5: $ans3442 = R.throwNoCasesMatched(L[1414],cases3453);\n$step3437 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3442;\ndefault: R.ffi.throwSpinnakerError(L[1404],$step3437);\n}\n}\nif($step3437 !== 6) {\n$ans3442.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3443,$temp_lam3438,$step3437,[lv3439,rv3440,cv3441],[cases3453],$elidedFrames3445);\n}\nreturn $ans3442;\n};\nvar anf_arg3545 = R.mF($temp_lam3438,\"for-body\");\n$step3425 = 1;\n$al3434 = L[1404];\nif(typeof(anf_fun3544.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3434,anf_fun3544);\n}\n$ans3433 = anf_fun3544.app(anf_arg3545,left3429,right3430,cause3431);\nbreak;\ncase 1: $step3425 = 2;\n$ans3433 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3433;\ndefault: R.ffi.throwSpinnakerError(L[1403],$step3425);\n}\n}\nif($step3425 !== 2) {\n$ans3433.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3434,$temp_full3426,$step3425,[self3427,refinement3428,left3429,right3430,cause3431,loc3432],[],$elidedFrames3436);\n}\nreturn $ans3433;\n};\nvar anf_obj5042 = R.makeMethod5($temp_full3426,\"check-is-not-refinement-cause\");\nvar $temp_full3548 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1444($self3549,$left3550,$pred3551,$loc3552) {\nvar $step3547 = 0;\nvar $elidedFrames3556 = 0;\nvar $ans3553 = D;\nvar $al3554 = L[1444];\nif(R.isAR($self3549)) {\n$step3547 = $self3549.step;\n$al3554 = $self3549.from;\n$ans3553 = $self3549.ans;\n$elidedFrames3556 = $self3549.elidedFrames;\nself3549 = $self3549.args[0];\nleft3550 = $self3549.args[1];\npred3551 = $self3549.args[2];\nloc3552 = $self3549.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1444],4,$t,true);\n}\nvar self3549 = $self3549;\nvar left3550 = $left3550;\nvar pred3551 = $pred3551;\nvar loc3552 = $loc3552;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3553 = R.mC();\n}\nwhile(!R.isContinuation($ans3553)) {\nswitch($step3547) {\ncase 0: // caller optimization;\n$ans3553 = left$right$check2755.$var.app(loc3552);\nvar anf_fun3601 = $ans3553;\nvar $temp_lam3558 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1445($lv3559,$pv3560) {\nvar $step3557 = 0;\nvar $elidedFrames3564 = 0;\nvar $ans3561 = D;\nvar $al3562 = L[1445];\nif(R.isAR($lv3559)) {\n$step3557 = $lv3559.step;\n$al3562 = $lv3559.from;\n$ans3561 = $lv3559.ans;\n$elidedFrames3564 = $lv3559.elidedFrames;\nlv3559 = $lv3559.args[0];\npv3560 = $lv3559.args[1];\ncases3572 = $lv3559.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1445],2,$t,false);\n}\nvar lv3559 = $lv3559;\nvar pv3560 = $pv3560;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3561 = R.mC();\n}\nwhile(!R.isContinuation($ans3561)) {\nswitch($step3557) {\ncase 0: var $temp_lam3566 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1446($$resumer13) {\nvar $step3565 = 0;\nvar $elidedFrames3570 = 0;\nvar $ans3567 = D;\nvar $al3568 = L[1446];\nif(R.isAR($$resumer13)) {\n$step3565 = $$resumer13.step;\n$al3568 = $$resumer13.from;\n$ans3567 = $$resumer13.ans;\n$elidedFrames3570 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1446],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3567 = R.mC();\n}\nwhile(!R.isContinuation($ans3567)) {\nswitch($step3565) {\ncase 0: $step3565 = 1;\n$al3568 = L[1447];\nif(typeof(pv3560.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3568,pv3560);\n}\n$ans3567 = pv3560.app(lv3559);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3567;\ndefault: R.ffi.throwSpinnakerError(L[1446],$step3565);\n}\n}\nif($step3565 !== 1) {\n$ans3567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3568,$temp_lam3566,$step3565,[],[],$elidedFrames3570);\n}\nreturn $ans3567;\n};\nvar anf_arg1499 = R.mF($temp_lam3566,\"\");\n$step3557 = 1;\n$al3562 = L[1464];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3562,run$task1);\n}\n$ans3561 = run$task1.app(anf_arg1499);\nbreak;\ncase 1: var cases3572 = $ans3561;\n$step3557 = 2;\n$al3562 = L[1463];\nvar $ann$check3599 = R._cA(L[1463],R.gDA(L[1463],\"either\",either20.dict.types,\"Either\"),cases3572);\nif(R.isContinuation($ann$check3599)) {\n$ans3561 = $ann$check3599;\n}\nbreak;\ncase 2: $al3562 = L[1455];\n$step3557 = $cases_dispatch3598[cases3572.$name] || 5;\nbreak;\ncase 3: if(cases3572.$arity !== 1) {\nif(cases3572.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1454],1,cases3572.$arity,L[1455],cases3572.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1454],true,L[1455],cases3572.$loc);\n}\n}\n$step3557 = 6;\n$al3562 = L[1454];\nvar $temp_branch3577 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1455($exn3573) {\nvar $step3578 = 0;\nvar $elidedFrames3582 = 0;\nvar $ans3579 = D;\nvar $al3580 = L[1453];\nif(R.isAR($exn3573)) {\n$step3578 = $exn3573.step;\n$al3580 = $exn3573.from;\n$ans3579 = $exn3573.ans;\n$elidedFrames3582 = $exn3573.elidedFrames;\nexn3573 = $exn3573.args[0];\nexn$v3574 = $exn3573.vars[0];\n} else {\nvar exn3573 = $exn3573;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3579 = R.mC();\n}\nwhile(!R.isContinuation($ans3579)) {\nswitch($step3578) {\ncase 0: $step3578 = 1;\n$al3580 = L[1452];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,exn$unwrap2);\n}\n$ans3579 = exn$unwrap2.app(exn3573);\nbreak;\ncase 1: var exn$v3574 = $ans3579;\n$step3578 = 2;\n$al3580 = L[1451];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3579 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3574);\nbreak;\ncase 2: var anf_if3576 = $ans3579;\n$step3578 = R.checkPyretTrue(anf_if3576)?3:4;\nbreak;\ncase 3: $step3578 = 6;\n$ans3579 = (true);\nbreak;\ncase 4: $step3578 = 5;\n$al3580 = L[1450];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3579 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3574);\nbreak;\ncase 5: var anf_arg1503 = $ans3579;\n$ans3579 = R.checkWrapBoolean(anf_arg1503);\n$step3578 = 6;\nbreak;\ncase 6: var anf_if3575 = $ans3579;\n$step3578 = R.checkPyretTrue(anf_if3575)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3579 = error$not$pred2676.$var.app(loc3552,pv3560,(1));\nvar anf_arg1504 = $ans3579;\n$step3578 = 9;\n$al3580 = L[1448];\n// omitting isFunction check;\n$ans3579 = add$result2718.$var.app(anf_arg1504);\nbreak;\ncase 8: // caller optimization;\n$ans3579 = failure$exn2656.$var.app(loc3552,exn3573,on$right260.$var);\nvar anf_arg1507 = $ans3579;\n$step3578 = 9;\n$al3580 = L[1449];\n// omitting isFunction check;\n$ans3579 = add$result2718.$var.app(anf_arg1507);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3579;\ndefault: R.ffi.throwSpinnakerError(L[1453],$step3578);\n}\n}\nif($step3578 !== 9) {\n$ans3579.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3580,$temp_branch3577,$step3578,[exn3573],[exn$v3574],$elidedFrames3582);\n}\nreturn $ans3579;\n};\n$ans3561 = cases3572.$app_fields($temp_branch3577,[false]);\nbreak;\ncase 4: if(cases3572.$arity !== 1) {\nif(cases3572.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1462],1,cases3572.$arity,L[1455],cases3572.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1462],true,L[1455],cases3572.$loc);\n}\n}\n$step3557 = 6;\n$al3562 = L[1462];\nvar $temp_branch3590 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1455($test$result3585) {\nvar $step3591 = 0;\nvar $elidedFrames3596 = 0;\nvar $ans3593 = D;\nvar $al3594 = L[1461];\nif(R.isAR($test$result3585)) {\n$step3591 = $test$result3585.step;\n$al3594 = $test$result3585.from;\n$ans3593 = $test$result3585.ans;\n$elidedFrames3596 = $test$result3585.elidedFrames;\ntest$result3585 = $test$result3585.args[0];\n} else {\nvar test$result3585 = $test$result3585;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3593 = R.mC();\n}\nwhile(!R.isContinuation($ans3593)) {\nswitch($step3591) {\ncase 0: // caller optimization;\n$ans3593 = is$boolean2.app(test$result3585);\nvar anf_arg1508 = $ans3593;\n$step3591 = 1;\n$al3594 = L[1460];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3594,not5);\n}\n$ans3593 = not5.app(anf_arg1508);\nbreak;\ncase 1: var anf_if3589 = $ans3593;\n$step3591 = R.checkPyretTrue(anf_if3589)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3593 = error$not$boolean$pred2680.$var.app(loc3552,pv3560,lv3559,on$left256.$var,test$result3585);\nvar anf_arg3586 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1456];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg3586);\nbreak;\ncase 3: $step3591 = 4;\n$al3594 = L[1459];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3594,not5);\n}\n$ans3593 = not5.app(test$result3585);\nbreak;\ncase 4: var anf_if3588 = $ans3593;\n$step3591 = R.checkPyretTrue(anf_if3588)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3593 = failure$not$satisfied2640.$var.app(loc3552,lv3559,on$left256.$var,pv3560);\nvar anf_arg3587 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1457];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg3587);\nbreak;\ncase 6: // caller optimization;\n$ans3593 = success2624.$var.app(loc3552);\nvar anf_arg1512 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1458];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg1512);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3593;\ndefault: R.ffi.throwSpinnakerError(L[1461],$step3591);\n}\n}\nif($step3591 !== 7) {\n$ans3593.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3594,$temp_branch3590,$step3591,[test$result3585],[],$elidedFrames3596);\n}\nreturn $ans3593;\n};\n$ans3561 = cases3572.$app_fields($temp_branch3590,[false]);\nbreak;\ncase 5: $ans3561 = R.throwNoCasesMatched(L[1455],cases3572);\n$step3557 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3561;\ndefault: R.ffi.throwSpinnakerError(L[1445],$step3557);\n}\n}\nif($step3557 !== 6) {\n$ans3561.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3562,$temp_lam3558,$step3557,[lv3559,pv3560],[cases3572],$elidedFrames3564);\n}\nreturn $ans3561;\n};\nvar anf_arg1518 = R.mF($temp_lam3558,\"for-body\");\n$step3547 = 1;\n$al3554 = L[1445];\nif(typeof(anf_fun3601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3554,anf_fun3601);\n}\n$ans3553 = anf_fun3601.app(anf_arg1518,left3550,pred3551);\nbreak;\ncase 1: $step3547 = 2;\n$ans3553 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3553;\ndefault: R.ffi.throwSpinnakerError(L[1444],$step3547);\n}\n}\nif($step3547 !== 2) {\n$ans3553.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3554,$temp_full3548,$step3547,[self3549,left3550,pred3551,loc3552],[],$elidedFrames3556);\n}\nreturn $ans3553;\n};\nvar anf_obj5043 = R.makeMethod3($temp_full3548,\"check-satisfies-delayed\");\nvar $temp_full3604 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1465($self3605,$left3606,$pred3607,$cause3608,$loc3609) {\nvar $step3603 = 0;\nvar $elidedFrames3613 = 0;\nvar $ans3610 = D;\nvar $al3611 = L[1465];\nif(R.isAR($self3605)) {\n$step3603 = $self3605.step;\n$al3611 = $self3605.from;\n$ans3610 = $self3605.ans;\n$elidedFrames3613 = $self3605.elidedFrames;\nself3605 = $self3605.args[0];\nleft3606 = $self3605.args[1];\npred3607 = $self3605.args[2];\ncause3608 = $self3605.args[3];\nloc3609 = $self3605.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1465],5,$t,true);\n}\nvar self3605 = $self3605;\nvar left3606 = $left3606;\nvar pred3607 = $pred3607;\nvar cause3608 = $cause3608;\nvar loc3609 = $loc3609;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3610 = R.mC();\n}\nwhile(!R.isContinuation($ans3610)) {\nswitch($step3603) {\ncase 0: // caller optimization;\n$ans3610 = left$right$cause$check2800.$var.app(loc3609);\nvar anf_fun3716 = $ans3610;\nvar $temp_lam3615 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1466($lv3616,$pv3617,$cv3618) {\nvar $step3614 = 0;\nvar $elidedFrames3622 = 0;\nvar $ans3619 = D;\nvar $al3620 = L[1466];\nif(R.isAR($lv3616)) {\n$step3614 = $lv3616.step;\n$al3620 = $lv3616.from;\n$ans3619 = $lv3616.ans;\n$elidedFrames3622 = $lv3616.elidedFrames;\nlv3616 = $lv3616.args[0];\npv3617 = $lv3616.args[1];\ncv3618 = $lv3616.args[2];\ncases3631 = $lv3616.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1466],3,$t,false);\n}\nvar lv3616 = $lv3616;\nvar pv3617 = $pv3617;\nvar cv3618 = $cv3618;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3619 = R.mC();\n}\nwhile(!R.isContinuation($ans3619)) {\nswitch($step3614) {\ncase 0: var $temp_lam3624 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1467($$resumer13) {\nvar $step3623 = 0;\nvar $elidedFrames3628 = 0;\nvar $ans3625 = D;\nvar $al3626 = L[1467];\nif(R.isAR($$resumer13)) {\n$step3623 = $$resumer13.step;\n$al3626 = $$resumer13.from;\n$ans3625 = $$resumer13.ans;\n$elidedFrames3628 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1467],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3625 = R.mC();\n}\nwhile(!R.isContinuation($ans3625)) {\nswitch($step3623) {\ncase 0: $step3623 = 1;\n$al3626 = L[1468];\nif(typeof(pv3617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3626,pv3617);\n}\n$ans3625 = pv3617.app(cv3618);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3625;\ndefault: R.ffi.throwSpinnakerError(L[1467],$step3623);\n}\n}\nif($step3623 !== 1) {\n$ans3625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3626,$temp_lam3624,$step3623,[],[],$elidedFrames3628);\n}\nreturn $ans3625;\n};\nvar anf_arg3630 = R.mF($temp_lam3624,\"\");\n$step3614 = 1;\n$al3620 = L[1503];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3620,run$task1);\n}\n$ans3619 = run$task1.app(anf_arg3630);\nbreak;\ncase 1: var cases3631 = $ans3619;\n$step3614 = 2;\n$al3620 = L[1502];\nvar $ann$check3714 = R._cA(L[1502],R.gDA(L[1502],\"either\",either20.dict.types,\"Either\"),cases3631);\nif(R.isContinuation($ann$check3714)) {\n$ans3619 = $ann$check3714;\n}\nbreak;\ncase 2: $al3620 = L[1476];\n$step3614 = $cases_dispatch3713[cases3631.$name] || 5;\nbreak;\ncase 3: if(cases3631.$arity !== 1) {\nif(cases3631.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1475],1,cases3631.$arity,L[1476],cases3631.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1475],true,L[1476],cases3631.$loc);\n}\n}\n$step3614 = 6;\n$al3620 = L[1475];\nvar $temp_branch3638 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1476($exn3632) {\nvar $step3639 = 0;\nvar $elidedFrames3644 = 0;\nvar $ans3641 = D;\nvar $al3642 = L[1474];\nif(R.isAR($exn3632)) {\n$step3639 = $exn3632.step;\n$al3642 = $exn3632.from;\n$ans3641 = $exn3632.ans;\n$elidedFrames3644 = $exn3632.elidedFrames;\nexn3632 = $exn3632.args[0];\nexn$v3633 = $exn3632.vars[0];\n} else {\nvar exn3632 = $exn3632;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3641 = R.mC();\n}\nwhile(!R.isContinuation($ans3641)) {\nswitch($step3639) {\ncase 0: $step3639 = 1;\n$al3642 = L[1473];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,exn$unwrap2);\n}\n$ans3641 = exn$unwrap2.app(exn3632);\nbreak;\ncase 1: var exn$v3633 = $ans3641;\n$step3639 = 2;\n$al3642 = L[1472];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3641 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3633);\nbreak;\ncase 2: var anf_if3637 = $ans3641;\n$step3639 = R.checkPyretTrue(anf_if3637)?3:4;\nbreak;\ncase 3: $step3639 = 6;\n$ans3641 = (true);\nbreak;\ncase 4: $step3639 = 5;\n$al3642 = L[1471];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3641 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3633);\nbreak;\ncase 5: var anf_arg1520 = $ans3641;\n$ans3641 = R.checkWrapBoolean(anf_arg1520);\n$step3639 = 6;\nbreak;\ncase 6: var anf_if3636 = $ans3641;\n$step3639 = R.checkPyretTrue(anf_if3636)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3641 = error$not$pred2676.$var.app(loc3609,pv3617,(1));\nvar anf_arg1521 = $ans3641;\n$step3639 = 9;\n$al3642 = L[1469];\n// omitting isFunction check;\n$ans3641 = add$result2718.$var.app(anf_arg1521);\nbreak;\ncase 8: // caller optimization;\n$ans3641 = failure$exn2656.$var.app(loc3609,exn3632,on$right260.$var);\nvar anf_arg3635 = $ans3641;\n$step3639 = 9;\n$al3642 = L[1470];\n// omitting isFunction check;\n$ans3641 = add$result2718.$var.app(anf_arg3635);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3641;\ndefault: R.ffi.throwSpinnakerError(L[1474],$step3639);\n}\n}\nif($step3639 !== 9) {\n$ans3641.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3642,$temp_branch3638,$step3639,[exn3632],[exn$v3633],$elidedFrames3644);\n}\nreturn $ans3641;\n};\n$ans3619 = cases3631.$app_fields($temp_branch3638,[false]);\nbreak;\ncase 4: if(cases3631.$arity !== 1) {\nif(cases3631.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1501],1,cases3631.$arity,L[1476],cases3631.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1501],true,L[1476],cases3631.$loc);\n}\n}\n$step3614 = 6;\n$al3620 = L[1501];\nvar $temp_branch3682 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1476($cause$result3646) {\nvar $step3684 = 0;\nvar $elidedFrames3688 = 0;\nvar $ans3685 = D;\nvar $al3686 = L[1500];\nif(R.isAR($cause$result3646)) {\n$step3684 = $cause$result3646.step;\n$al3686 = $cause$result3646.from;\n$ans3685 = $cause$result3646.ans;\n$elidedFrames3688 = $cause$result3646.elidedFrames;\ncause$result3646 = $cause$result3646.args[0];\ncases3655 = $cause$result3646.vars[0];\n} else {\nvar cause$result3646 = $cause$result3646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3685 = R.mC();\n}\nwhile(!R.isContinuation($ans3685)) {\nswitch($step3684) {\ncase 0: // caller optimization;\n$ans3685 = is$boolean2.app(cause$result3646);\nvar anf_arg3647 = $ans3685;\n$step3684 = 1;\n$al3686 = L[1499];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,not5);\n}\n$ans3685 = not5.app(anf_arg3647);\nbreak;\ncase 1: var anf_if3681 = $ans3685;\n$step3684 = R.checkPyretTrue(anf_if3681)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3685 = error$not$boolean$pred2680.$var.app(loc3609,pv3617,cv3618,on$cause267.$var,cause$result3646);\nvar anf_arg1530 = $ans3685;\n$step3684 = 12;\n$al3686 = L[1477];\n// omitting isFunction check;\n$ans3685 = add$result2718.$var.app(anf_arg1530);\nbreak;\ncase 3: $step3684 = 4;\n$al3686 = L[1498];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,not5);\n}\n$ans3685 = not5.app(cause$result3646);\nbreak;\ncase 4: var anf_if3680 = $ans3685;\n$step3684 = R.checkPyretTrue(anf_if3680)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3685 = failure$not$satisfied2640.$var.app(loc3609,cv3618,on$cause267.$var,pv3617);\nvar anf_arg1534 = $ans3685;\n$step3684 = 12;\n$al3686 = L[1478];\n// omitting isFunction check;\n$ans3685 = add$result2718.$var.app(anf_arg1534);\nbreak;\ncase 6: var $temp_lam3690 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1479($$resumer13) {\nvar $step3689 = 0;\nvar $elidedFrames3694 = 0;\nvar $ans3691 = D;\nvar $al3692 = L[1479];\nif(R.isAR($$resumer13)) {\n$step3689 = $$resumer13.step;\n$al3692 = $$resumer13.from;\n$ans3691 = $$resumer13.ans;\n$elidedFrames3694 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1479],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3691 = R.mC();\n}\nwhile(!R.isContinuation($ans3691)) {\nswitch($step3689) {\ncase 0: $step3689 = 1;\n$al3692 = L[1480];\nif(typeof(pv3617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3692,pv3617);\n}\n$ans3691 = pv3617.app(lv3616);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3691;\ndefault: R.ffi.throwSpinnakerError(L[1479],$step3689);\n}\n}\nif($step3689 !== 1) {\n$ans3691.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3692,$temp_lam3690,$step3689,[],[],$elidedFrames3694);\n}\nreturn $ans3691;\n};\nvar anf_arg1537 = R.mF($temp_lam3690,\"\");\n$step3684 = 7;\n$al3686 = L[1497];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,run$task1);\n}\n$ans3685 = run$task1.app(anf_arg1537);\nbreak;\ncase 7: var cases3655 = $ans3685;\n$step3684 = 8;\n$al3686 = L[1496];\nvar $ann$check3711 = R._cA(L[1496],R.gDA(L[1496],\"either\",either20.dict.types,\"Either\"),cases3655);\nif(R.isContinuation($ann$check3711)) {\n$ans3685 = $ann$check3711;\n}\nbreak;\ncase 8: $al3686 = L[1488];\n$step3684 = $cases_dispatch3710[cases3655.$name] || 11;\nbreak;\ncase 9: if(cases3655.$arity !== 1) {\nif(cases3655.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1487],1,cases3655.$arity,L[1488],cases3655.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1487],true,L[1488],cases3655.$loc);\n}\n}\n$step3684 = 12;\n$al3686 = L[1487];\nvar $temp_branch3696 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1488($exn3656) {\nvar $step3697 = 0;\nvar $elidedFrames3701 = 0;\nvar $ans3698 = D;\nvar $al3699 = L[1486];\nif(R.isAR($exn3656)) {\n$step3697 = $exn3656.step;\n$al3699 = $exn3656.from;\n$ans3698 = $exn3656.ans;\n$elidedFrames3701 = $exn3656.elidedFrames;\nexn3656 = $exn3656.args[0];\nexn$v3657 = $exn3656.vars[0];\n} else {\nvar exn3656 = $exn3656;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3698 = R.mC();\n}\nwhile(!R.isContinuation($ans3698)) {\nswitch($step3697) {\ncase 0: $step3697 = 1;\n$al3699 = L[1485];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,exn$unwrap2);\n}\n$ans3698 = exn$unwrap2.app(exn3656);\nbreak;\ncase 1: var exn$v3657 = $ans3698;\n$step3697 = 2;\n$al3699 = L[1484];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3698 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3657);\nbreak;\ncase 2: var anf_if3660 = $ans3698;\n$step3697 = R.checkPyretTrue(anf_if3660)?3:4;\nbreak;\ncase 3: $step3697 = 6;\n$ans3698 = (true);\nbreak;\ncase 4: $step3697 = 5;\n$al3699 = L[1483];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3698 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3657);\nbreak;\ncase 5: var anf_arg1538 = $ans3698;\n$ans3698 = R.checkWrapBoolean(anf_arg1538);\n$step3697 = 6;\nbreak;\ncase 6: var anf_if3659 = $ans3698;\n$step3697 = R.checkPyretTrue(anf_if3659)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3698 = error$not$pred2676.$var.app(loc3609,pv3617,(1));\nvar anf_arg3658 = $ans3698;\n$step3697 = 9;\n$al3699 = L[1481];\n// omitting isFunction check;\n$ans3698 = add$result2718.$var.app(anf_arg3658);\nbreak;\ncase 8: // caller optimization;\n$ans3698 = failure$exn2656.$var.app(loc3609,exn3656,on$right260.$var);\nvar anf_arg1550 = $ans3698;\n$step3697 = 9;\n$al3699 = L[1482];\n// omitting isFunction check;\n$ans3698 = add$result2718.$var.app(anf_arg1550);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3698;\ndefault: R.ffi.throwSpinnakerError(L[1486],$step3697);\n}\n}\nif($step3697 !== 9) {\n$ans3698.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3699,$temp_branch3696,$step3697,[exn3656],[exn$v3657],$elidedFrames3701);\n}\nreturn $ans3698;\n};\n$ans3685 = cases3655.$app_fields($temp_branch3696,[false]);\nbreak;\ncase 10: if(cases3655.$arity !== 1) {\nif(cases3655.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1495],1,cases3655.$arity,L[1488],cases3655.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1495],true,L[1488],cases3655.$loc);\n}\n}\n$step3684 = 12;\n$al3686 = L[1495];\nvar $temp_branch3703 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1488($test$result3668) {\nvar $step3704 = 0;\nvar $elidedFrames3708 = 0;\nvar $ans3705 = D;\nvar $al3706 = L[1494];\nif(R.isAR($test$result3668)) {\n$step3704 = $test$result3668.step;\n$al3706 = $test$result3668.from;\n$ans3705 = $test$result3668.ans;\n$elidedFrames3708 = $test$result3668.elidedFrames;\ntest$result3668 = $test$result3668.args[0];\n} else {\nvar test$result3668 = $test$result3668;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3705 = R.mC();\n}\nwhile(!R.isContinuation($ans3705)) {\nswitch($step3704) {\ncase 0: // caller optimization;\n$ans3705 = is$boolean2.app(test$result3668);\nvar anf_arg1548 = $ans3705;\n$step3704 = 1;\n$al3706 = L[1493];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3706,not5);\n}\n$ans3705 = not5.app(anf_arg1548);\nbreak;\ncase 1: var anf_if3670 = $ans3705;\n$step3704 = R.checkPyretTrue(anf_if3670)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3705 = error$not$boolean$pred2680.$var.app(loc3609,pv3617,lv3616,on$left256.$var,test$result3668);\nvar anf_arg1552 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1489];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1552);\nbreak;\ncase 3: $step3704 = 4;\n$al3706 = L[1492];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3706,not5);\n}\n$ans3705 = not5.app(test$result3668);\nbreak;\ncase 4: var anf_if3669 = $ans3705;\n$step3704 = R.checkPyretTrue(anf_if3669)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3705 = failure$not$satisfied2640.$var.app(loc3609,lv3616,on$left256.$var,pv3617);\nvar anf_arg1553 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1490];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1553);\nbreak;\ncase 6: // caller optimization;\n$ans3705 = success2624.$var.app(loc3609);\nvar anf_arg1556 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1491];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1556);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3705;\ndefault: R.ffi.throwSpinnakerError(L[1494],$step3704);\n}\n}\nif($step3704 !== 7) {\n$ans3705.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3706,$temp_branch3703,$step3704,[test$result3668],[],$elidedFrames3708);\n}\nreturn $ans3705;\n};\n$ans3685 = cases3655.$app_fields($temp_branch3703,[false]);\nbreak;\ncase 11: $ans3685 = R.throwNoCasesMatched(L[1488],cases3655);\n$step3684 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans3685;\ndefault: R.ffi.throwSpinnakerError(L[1500],$step3684);\n}\n}\nif($step3684 !== 12) {\n$ans3685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3686,$temp_branch3682,$step3684,[cause$result3646],[cases3655],$elidedFrames3688);\n}\nreturn $ans3685;\n};\n$ans3619 = cases3631.$app_fields($temp_branch3682,[false]);\nbreak;\ncase 5: $ans3619 = R.throwNoCasesMatched(L[1476],cases3631);\n$step3614 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3619;\ndefault: R.ffi.throwSpinnakerError(L[1466],$step3614);\n}\n}\nif($step3614 !== 6) {\n$ans3619.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3620,$temp_lam3615,$step3614,[lv3616,pv3617,cv3618],[cases3631],$elidedFrames3622);\n}\nreturn $ans3619;\n};\nvar anf_arg3721 = R.mF($temp_lam3615,\"for-body\");\n$step3603 = 1;\n$al3611 = L[1466];\nif(typeof(anf_fun3716.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3611,anf_fun3716);\n}\n$ans3610 = anf_fun3716.app(anf_arg3721,left3606,pred3607,cause3608);\nbreak;\ncase 1: $step3603 = 2;\n$ans3610 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3610;\ndefault: R.ffi.throwSpinnakerError(L[1465],$step3603);\n}\n}\nif($step3603 !== 2) {\n$ans3610.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3611,$temp_full3604,$step3603,[self3605,left3606,pred3607,cause3608,loc3609],[],$elidedFrames3613);\n}\nreturn $ans3610;\n};\nvar anf_obj5044 = R.makeMethod4($temp_full3604,\"check-satisfies-delayed-cause\");\nvar $temp_full3724 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1504($self3725,$left3726,$pred3727,$loc3728) {\nvar $step3723 = 0;\nvar $elidedFrames3732 = 0;\nvar $ans3729 = D;\nvar $al3730 = L[1504];\nif(R.isAR($self3725)) {\n$step3723 = $self3725.step;\n$al3730 = $self3725.from;\n$ans3729 = $self3725.ans;\n$elidedFrames3732 = $self3725.elidedFrames;\nself3725 = $self3725.args[0];\nleft3726 = $self3725.args[1];\npred3727 = $self3725.args[2];\nloc3728 = $self3725.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1504],4,$t,true);\n}\nvar self3725 = $self3725;\nvar left3726 = $left3726;\nvar pred3727 = $pred3727;\nvar loc3728 = $loc3728;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3729 = R.mC();\n}\nwhile(!R.isContinuation($ans3729)) {\nswitch($step3723) {\ncase 0: // caller optimization;\n$ans3729 = left$right$check2755.$var.app(loc3728);\nvar anf_fun3777 = $ans3729;\nvar $temp_lam3734 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1505($lv3735,$pv3736) {\nvar $step3733 = 0;\nvar $elidedFrames3740 = 0;\nvar $ans3737 = D;\nvar $al3738 = L[1505];\nif(R.isAR($lv3735)) {\n$step3733 = $lv3735.step;\n$al3738 = $lv3735.from;\n$ans3737 = $lv3735.ans;\n$elidedFrames3740 = $lv3735.elidedFrames;\nlv3735 = $lv3735.args[0];\npv3736 = $lv3735.args[1];\ncases3751 = $lv3735.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1505],2,$t,false);\n}\nvar lv3735 = $lv3735;\nvar pv3736 = $pv3736;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3737 = R.mC();\n}\nwhile(!R.isContinuation($ans3737)) {\nswitch($step3733) {\ncase 0: var $temp_lam3743 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1506($$resumer13) {\nvar $step3742 = 0;\nvar $elidedFrames3748 = 0;\nvar $ans3745 = D;\nvar $al3746 = L[1506];\nif(R.isAR($$resumer13)) {\n$step3742 = $$resumer13.step;\n$al3746 = $$resumer13.from;\n$ans3745 = $$resumer13.ans;\n$elidedFrames3748 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1506],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3745 = R.mC();\n}\nwhile(!R.isContinuation($ans3745)) {\nswitch($step3742) {\ncase 0: $step3742 = 1;\n$al3746 = L[1507];\nif(typeof(pv3736.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3746,pv3736);\n}\n$ans3745 = pv3736.app(lv3735);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3745;\ndefault: R.ffi.throwSpinnakerError(L[1506],$step3742);\n}\n}\nif($step3742 !== 1) {\n$ans3745.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3746,$temp_lam3743,$step3742,[],[],$elidedFrames3748);\n}\nreturn $ans3745;\n};\nvar anf_arg3750 = R.mF($temp_lam3743,\"\");\n$step3733 = 1;\n$al3738 = L[1523];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3738,run$task1);\n}\n$ans3737 = run$task1.app(anf_arg3750);\nbreak;\ncase 1: var cases3751 = $ans3737;\n$step3733 = 2;\n$al3738 = L[1522];\nvar $ann$check3774 = R._cA(L[1522],R.gDA(L[1522],\"either\",either20.dict.types,\"Either\"),cases3751);\nif(R.isContinuation($ann$check3774)) {\n$ans3737 = $ann$check3774;\n}\nbreak;\ncase 2: $al3738 = L[1515];\n$step3733 = $cases_dispatch3773[cases3751.$name] || 5;\nbreak;\ncase 3: if(cases3751.$arity !== 1) {\nif(cases3751.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1514],1,cases3751.$arity,L[1515],cases3751.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1514],true,L[1515],cases3751.$loc);\n}\n}\n$step3733 = 6;\n$al3738 = L[1514];\nvar $temp_branch3756 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1515($exn3752) {\nvar $step3757 = 0;\nvar $elidedFrames3761 = 0;\nvar $ans3758 = D;\nvar $al3759 = L[1513];\nif(R.isAR($exn3752)) {\n$step3757 = $exn3752.step;\n$al3759 = $exn3752.from;\n$ans3758 = $exn3752.ans;\n$elidedFrames3761 = $exn3752.elidedFrames;\nexn3752 = $exn3752.args[0];\nexn$v3753 = $exn3752.vars[0];\n} else {\nvar exn3752 = $exn3752;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3758 = R.mC();\n}\nwhile(!R.isContinuation($ans3758)) {\nswitch($step3757) {\ncase 0: $step3757 = 1;\n$al3759 = L[1512];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,exn$unwrap2);\n}\n$ans3758 = exn$unwrap2.app(exn3752);\nbreak;\ncase 1: var exn$v3753 = $ans3758;\n$step3757 = 2;\n$al3759 = L[1511];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3758 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3753);\nbreak;\ncase 2: var anf_if3755 = $ans3758;\n$step3757 = R.checkPyretTrue(anf_if3755)?3:4;\nbreak;\ncase 3: $step3757 = 6;\n$ans3758 = (true);\nbreak;\ncase 4: $step3757 = 5;\n$al3759 = L[1510];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3758 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3753);\nbreak;\ncase 5: var anf_arg1570 = $ans3758;\n$ans3758 = R.checkWrapBoolean(anf_arg1570);\n$step3757 = 6;\nbreak;\ncase 6: var anf_if3754 = $ans3758;\n$step3757 = R.checkPyretTrue(anf_if3754)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3758 = error$not$pred2676.$var.app(loc3728,pv3736,(1));\nvar anf_arg1571 = $ans3758;\n$step3757 = 9;\n$al3759 = L[1508];\n// omitting isFunction check;\n$ans3758 = add$result2718.$var.app(anf_arg1571);\nbreak;\ncase 8: // caller optimization;\n$ans3758 = failure$exn2656.$var.app(loc3728,exn3752,on$right260.$var);\nvar anf_arg1572 = $ans3758;\n$step3757 = 9;\n$al3759 = L[1509];\n// omitting isFunction check;\n$ans3758 = add$result2718.$var.app(anf_arg1572);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3758;\ndefault: R.ffi.throwSpinnakerError(L[1513],$step3757);\n}\n}\nif($step3757 !== 9) {\n$ans3758.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3759,$temp_branch3756,$step3757,[exn3752],[exn$v3753],$elidedFrames3761);\n}\nreturn $ans3758;\n};\n$ans3737 = cases3751.$app_fields($temp_branch3756,[false]);\nbreak;\ncase 4: if(cases3751.$arity !== 1) {\nif(cases3751.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1521],1,cases3751.$arity,L[1515],cases3751.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1521],true,L[1515],cases3751.$loc);\n}\n}\n$step3733 = 6;\n$al3738 = L[1521];\nvar $temp_branch3766 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1515($test$result3763) {\nvar $step3767 = 0;\nvar $elidedFrames3771 = 0;\nvar $ans3768 = D;\nvar $al3769 = L[1520];\nif(R.isAR($test$result3763)) {\n$step3767 = $test$result3763.step;\n$al3769 = $test$result3763.from;\n$ans3768 = $test$result3763.ans;\n$elidedFrames3771 = $test$result3763.elidedFrames;\ntest$result3763 = $test$result3763.args[0];\n} else {\nvar test$result3763 = $test$result3763;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3768 = R.mC();\n}\nwhile(!R.isContinuation($ans3768)) {\nswitch($step3767) {\ncase 0: // caller optimization;\n$ans3768 = is$boolean2.app(test$result3763);\nvar anf_arg1575 = $ans3768;\n$step3767 = 1;\n$al3769 = L[1519];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3769,not5);\n}\n$ans3768 = not5.app(anf_arg1575);\nbreak;\ncase 1: var anf_if3765 = $ans3768;\n$step3767 = R.checkPyretTrue(anf_if3765)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3768 = error$not$boolean$pred2680.$var.app(loc3728,pv3736,lv3735,on$left256.$var,test$result3763);\nvar anf_arg1576 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1516];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg1576);\nbreak;\ncase 3: $step3767 = R.checkPyretTrue(test$result3763)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3768 = failure$not$dissatisfied2644.$var.app(loc3728,lv3735,on$left256.$var,pv3736);\nvar anf_arg1577 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1517];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg1577);\nbreak;\ncase 5: // caller optimization;\n$ans3768 = success2624.$var.app(loc3728);\nvar anf_arg3764 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1518];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg3764);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3768;\ndefault: R.ffi.throwSpinnakerError(L[1520],$step3767);\n}\n}\nif($step3767 !== 6) {\n$ans3768.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3769,$temp_branch3766,$step3767,[test$result3763],[],$elidedFrames3771);\n}\nreturn $ans3768;\n};\n$ans3737 = cases3751.$app_fields($temp_branch3766,[false]);\nbreak;\ncase 5: $ans3737 = R.throwNoCasesMatched(L[1515],cases3751);\n$step3733 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3737;\ndefault: R.ffi.throwSpinnakerError(L[1505],$step3733);\n}\n}\nif($step3733 !== 6) {\n$ans3737.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3738,$temp_lam3734,$step3733,[lv3735,pv3736],[cases3751],$elidedFrames3740);\n}\nreturn $ans3737;\n};\nvar anf_arg3779 = R.mF($temp_lam3734,\"for-body\");\n$step3723 = 1;\n$al3730 = L[1505];\nif(typeof(anf_fun3777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3730,anf_fun3777);\n}\n$ans3729 = anf_fun3777.app(anf_arg3779,left3726,pred3727);\nbreak;\ncase 1: $step3723 = 2;\n$ans3729 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3729;\ndefault: R.ffi.throwSpinnakerError(L[1504],$step3723);\n}\n}\nif($step3723 !== 2) {\n$ans3729.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3730,$temp_full3724,$step3723,[self3725,left3726,pred3727,loc3728],[],$elidedFrames3732);\n}\nreturn $ans3729;\n};\nvar anf_obj5045 = R.makeMethod3($temp_full3724,\"check-satisfies-not-delayed\");\nvar $temp_full3782 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1524($self3783,$left3784,$pred3785,$cause3786,$loc3787) {\nvar $step3781 = 0;\nvar $elidedFrames3791 = 0;\nvar $ans3788 = D;\nvar $al3789 = L[1524];\nif(R.isAR($self3783)) {\n$step3781 = $self3783.step;\n$al3789 = $self3783.from;\n$ans3788 = $self3783.ans;\n$elidedFrames3791 = $self3783.elidedFrames;\nself3783 = $self3783.args[0];\nleft3784 = $self3783.args[1];\npred3785 = $self3783.args[2];\ncause3786 = $self3783.args[3];\nloc3787 = $self3783.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1524],5,$t,true);\n}\nvar self3783 = $self3783;\nvar left3784 = $left3784;\nvar pred3785 = $pred3785;\nvar cause3786 = $cause3786;\nvar loc3787 = $loc3787;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3788 = R.mC();\n}\nwhile(!R.isContinuation($ans3788)) {\nswitch($step3781) {\ncase 0: // caller optimization;\n$ans3788 = left$right$cause$check2800.$var.app(loc3787);\nvar anf_fun3891 = $ans3788;\nvar $temp_lam3793 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1525($lv3794,$pv3795,$cv3796) {\nvar $step3792 = 0;\nvar $elidedFrames3800 = 0;\nvar $ans3797 = D;\nvar $al3798 = L[1525];\nif(R.isAR($lv3794)) {\n$step3792 = $lv3794.step;\n$al3798 = $lv3794.from;\n$ans3797 = $lv3794.ans;\n$elidedFrames3800 = $lv3794.elidedFrames;\nlv3794 = $lv3794.args[0];\npv3795 = $lv3794.args[1];\ncv3796 = $lv3794.args[2];\ncases3808 = $lv3794.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1525],3,$t,false);\n}\nvar lv3794 = $lv3794;\nvar pv3795 = $pv3795;\nvar cv3796 = $cv3796;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3797 = R.mC();\n}\nwhile(!R.isContinuation($ans3797)) {\nswitch($step3792) {\ncase 0: var $temp_lam3802 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1526($$resumer13) {\nvar $step3801 = 0;\nvar $elidedFrames3806 = 0;\nvar $ans3803 = D;\nvar $al3804 = L[1526];\nif(R.isAR($$resumer13)) {\n$step3801 = $$resumer13.step;\n$al3804 = $$resumer13.from;\n$ans3803 = $$resumer13.ans;\n$elidedFrames3806 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1526],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3803 = R.mC();\n}\nwhile(!R.isContinuation($ans3803)) {\nswitch($step3801) {\ncase 0: $step3801 = 1;\n$al3804 = L[1527];\nif(typeof(pv3795.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3804,pv3795);\n}\n$ans3803 = pv3795.app(cv3796);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3803;\ndefault: R.ffi.throwSpinnakerError(L[1526],$step3801);\n}\n}\nif($step3801 !== 1) {\n$ans3803.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3804,$temp_lam3802,$step3801,[],[],$elidedFrames3806);\n}\nreturn $ans3803;\n};\nvar anf_arg1581 = R.mF($temp_lam3802,\"\");\n$step3792 = 1;\n$al3798 = L[1560];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3798,run$task1);\n}\n$ans3797 = run$task1.app(anf_arg1581);\nbreak;\ncase 1: var cases3808 = $ans3797;\n$step3792 = 2;\n$al3798 = L[1559];\nvar $ann$check3889 = R._cA(L[1559],R.gDA(L[1559],\"either\",either20.dict.types,\"Either\"),cases3808);\nif(R.isContinuation($ann$check3889)) {\n$ans3797 = $ann$check3889;\n}\nbreak;\ncase 2: $al3798 = L[1535];\n$step3792 = $cases_dispatch3888[cases3808.$name] || 5;\nbreak;\ncase 3: if(cases3808.$arity !== 1) {\nif(cases3808.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1534],1,cases3808.$arity,L[1535],cases3808.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1534],true,L[1535],cases3808.$loc);\n}\n}\n$step3792 = 6;\n$al3798 = L[1534];\nvar $temp_branch3814 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1535($exn3809) {\nvar $step3815 = 0;\nvar $elidedFrames3819 = 0;\nvar $ans3816 = D;\nvar $al3817 = L[1533];\nif(R.isAR($exn3809)) {\n$step3815 = $exn3809.step;\n$al3817 = $exn3809.from;\n$ans3816 = $exn3809.ans;\n$elidedFrames3819 = $exn3809.elidedFrames;\nexn3809 = $exn3809.args[0];\nexn$v3810 = $exn3809.vars[0];\n} else {\nvar exn3809 = $exn3809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3816 = R.mC();\n}\nwhile(!R.isContinuation($ans3816)) {\nswitch($step3815) {\ncase 0: $step3815 = 1;\n$al3817 = L[1532];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,exn$unwrap2);\n}\n$ans3816 = exn$unwrap2.app(exn3809);\nbreak;\ncase 1: var exn$v3810 = $ans3816;\n$step3815 = 2;\n$al3817 = L[1531];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3816 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3810);\nbreak;\ncase 2: var anf_if3813 = $ans3816;\n$step3815 = R.checkPyretTrue(anf_if3813)?3:4;\nbreak;\ncase 3: $step3815 = 6;\n$ans3816 = (true);\nbreak;\ncase 4: $step3815 = 5;\n$al3817 = L[1530];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3816 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3810);\nbreak;\ncase 5: var anf_arg1585 = $ans3816;\n$ans3816 = R.checkWrapBoolean(anf_arg1585);\n$step3815 = 6;\nbreak;\ncase 6: var anf_if3812 = $ans3816;\n$step3815 = R.checkPyretTrue(anf_if3812)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3816 = error$not$pred2676.$var.app(loc3787,pv3795,(1));\nvar anf_arg1586 = $ans3816;\n$step3815 = 9;\n$al3817 = L[1528];\n// omitting isFunction check;\n$ans3816 = add$result2718.$var.app(anf_arg1586);\nbreak;\ncase 8: // caller optimization;\n$ans3816 = failure$exn2656.$var.app(loc3787,exn3809,on$right260.$var);\nvar anf_arg3811 = $ans3816;\n$step3815 = 9;\n$al3817 = L[1529];\n// omitting isFunction check;\n$ans3816 = add$result2718.$var.app(anf_arg3811);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3816;\ndefault: R.ffi.throwSpinnakerError(L[1533],$step3815);\n}\n}\nif($step3815 !== 9) {\n$ans3816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3817,$temp_branch3814,$step3815,[exn3809],[exn$v3810],$elidedFrames3819);\n}\nreturn $ans3816;\n};\n$ans3797 = cases3808.$app_fields($temp_branch3814,[false]);\nbreak;\ncase 4: if(cases3808.$arity !== 1) {\nif(cases3808.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1558],1,cases3808.$arity,L[1535],cases3808.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1558],true,L[1535],cases3808.$loc);\n}\n}\n$step3792 = 6;\n$al3798 = L[1558];\nvar $temp_branch3858 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1535($cause$result3821) {\nvar $step3859 = 0;\nvar $elidedFrames3863 = 0;\nvar $ans3860 = D;\nvar $al3861 = L[1557];\nif(R.isAR($cause$result3821)) {\n$step3859 = $cause$result3821.step;\n$al3861 = $cause$result3821.from;\n$ans3860 = $cause$result3821.ans;\n$elidedFrames3863 = $cause$result3821.elidedFrames;\ncause$result3821 = $cause$result3821.args[0];\ncases3834 = $cause$result3821.vars[0];\n} else {\nvar cause$result3821 = $cause$result3821;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3860 = R.mC();\n}\nwhile(!R.isContinuation($ans3860)) {\nswitch($step3859) {\ncase 0: // caller optimization;\n$ans3860 = is$boolean2.app(cause$result3821);\nvar anf_arg3822 = $ans3860;\n$step3859 = 1;\n$al3861 = L[1556];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3861,not5);\n}\n$ans3860 = not5.app(anf_arg3822);\nbreak;\ncase 1: var anf_if1687 = $ans3860;\n$step3859 = R.checkPyretTrue(anf_if1687)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3860 = error$not$boolean$pred2680.$var.app(loc3787,pv3795,cv3796,on$cause267.$var,cause$result3821);\nvar anf_arg3823 = $ans3860;\n$step3859 = 11;\n$al3861 = L[1536];\n// omitting isFunction check;\n$ans3860 = add$result2718.$var.app(anf_arg3823);\nbreak;\ncase 3: $step3859 = R.checkPyretTrue(cause$result3821)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3860 = failure$not$dissatisfied2644.$var.app(loc3787,cv3796,on$cause267.$var,pv3795);\nvar anf_arg3824 = $ans3860;\n$step3859 = 11;\n$al3861 = L[1537];\n// omitting isFunction check;\n$ans3860 = add$result2718.$var.app(anf_arg3824);\nbreak;\ncase 5: var $temp_lam3865 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1538($$resumer13) {\nvar $step3864 = 0;\nvar $elidedFrames3869 = 0;\nvar $ans3866 = D;\nvar $al3867 = L[1538];\nif(R.isAR($$resumer13)) {\n$step3864 = $$resumer13.step;\n$al3867 = $$resumer13.from;\n$ans3866 = $$resumer13.ans;\n$elidedFrames3869 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1538],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3866 = R.mC();\n}\nwhile(!R.isContinuation($ans3866)) {\nswitch($step3864) {\ncase 0: $step3864 = 1;\n$al3867 = L[1539];\nif(typeof(pv3795.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3867,pv3795);\n}\n$ans3866 = pv3795.app(lv3794);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3866;\ndefault: R.ffi.throwSpinnakerError(L[1538],$step3864);\n}\n}\nif($step3864 !== 1) {\n$ans3866.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3867,$temp_lam3865,$step3864,[],[],$elidedFrames3869);\n}\nreturn $ans3866;\n};\nvar anf_arg3833 = R.mF($temp_lam3865,\"\");\n$step3859 = 6;\n$al3861 = L[1555];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3861,run$task1);\n}\n$ans3860 = run$task1.app(anf_arg3833);\nbreak;\ncase 6: var cases3834 = $ans3860;\n$step3859 = 7;\n$al3861 = L[1554];\nvar $ann$check3886 = R._cA(L[1554],R.gDA(L[1554],\"either\",either20.dict.types,\"Either\"),cases3834);\nif(R.isContinuation($ann$check3886)) {\n$ans3860 = $ann$check3886;\n}\nbreak;\ncase 7: $al3861 = L[1547];\n$step3859 = $cases_dispatch3885[cases3834.$name] || 10;\nbreak;\ncase 8: if(cases3834.$arity !== 1) {\nif(cases3834.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1546],1,cases3834.$arity,L[1547],cases3834.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1546],true,L[1547],cases3834.$loc);\n}\n}\n$step3859 = 11;\n$al3861 = L[1546];\nvar $temp_branch3871 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1547($exn3835) {\nvar $step3872 = 0;\nvar $elidedFrames3876 = 0;\nvar $ans3873 = D;\nvar $al3874 = L[1545];\nif(R.isAR($exn3835)) {\n$step3872 = $exn3835.step;\n$al3874 = $exn3835.from;\n$ans3873 = $exn3835.ans;\n$elidedFrames3876 = $exn3835.elidedFrames;\nexn3835 = $exn3835.args[0];\nexn$v3836 = $exn3835.vars[0];\n} else {\nvar exn3835 = $exn3835;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3873 = R.mC();\n}\nwhile(!R.isContinuation($ans3873)) {\nswitch($step3872) {\ncase 0: $step3872 = 1;\n$al3874 = L[1544];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,exn$unwrap2);\n}\n$ans3873 = exn$unwrap2.app(exn3835);\nbreak;\ncase 1: var exn$v3836 = $ans3873;\n$step3872 = 2;\n$al3874 = L[1543];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3873 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3836);\nbreak;\ncase 2: var anf_if3838 = $ans3873;\n$step3872 = R.checkPyretTrue(anf_if3838)?3:4;\nbreak;\ncase 3: $step3872 = 6;\n$ans3873 = (true);\nbreak;\ncase 4: $step3872 = 5;\n$al3874 = L[1542];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3873 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3836);\nbreak;\ncase 5: var anf_arg1601 = $ans3873;\n$ans3873 = R.checkWrapBoolean(anf_arg1601);\n$step3872 = 6;\nbreak;\ncase 6: var anf_if3837 = $ans3873;\n$step3872 = R.checkPyretTrue(anf_if3837)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3873 = error$not$pred2676.$var.app(loc3787,pv3795,(1));\nvar anf_arg1607 = $ans3873;\n$step3872 = 9;\n$al3874 = L[1540];\n// omitting isFunction check;\n$ans3873 = add$result2718.$var.app(anf_arg1607);\nbreak;\ncase 8: // caller optimization;\n$ans3873 = failure$exn2656.$var.app(loc3787,exn3835,on$right260.$var);\nvar anf_arg1605 = $ans3873;\n$step3872 = 9;\n$al3874 = L[1541];\n// omitting isFunction check;\n$ans3873 = add$result2718.$var.app(anf_arg1605);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3873;\ndefault: R.ffi.throwSpinnakerError(L[1545],$step3872);\n}\n}\nif($step3872 !== 9) {\n$ans3873.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3874,$temp_branch3871,$step3872,[exn3835],[exn$v3836],$elidedFrames3876);\n}\nreturn $ans3873;\n};\n$ans3860 = cases3834.$app_fields($temp_branch3871,[false]);\nbreak;\ncase 9: if(cases3834.$arity !== 1) {\nif(cases3834.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1553],1,cases3834.$arity,L[1547],cases3834.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1553],true,L[1547],cases3834.$loc);\n}\n}\n$step3859 = 11;\n$al3861 = L[1553];\nvar $temp_branch3878 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1547($test$result3846) {\nvar $step3879 = 0;\nvar $elidedFrames3883 = 0;\nvar $ans3880 = D;\nvar $al3881 = L[1552];\nif(R.isAR($test$result3846)) {\n$step3879 = $test$result3846.step;\n$al3881 = $test$result3846.from;\n$ans3880 = $test$result3846.ans;\n$elidedFrames3883 = $test$result3846.elidedFrames;\ntest$result3846 = $test$result3846.args[0];\n} else {\nvar test$result3846 = $test$result3846;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3880 = R.mC();\n}\nwhile(!R.isContinuation($ans3880)) {\nswitch($step3879) {\ncase 0: // caller optimization;\n$ans3880 = is$boolean2.app(test$result3846);\nvar anf_arg1608 = $ans3880;\n$step3879 = 1;\n$al3881 = L[1551];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3881,not5);\n}\n$ans3880 = not5.app(anf_arg1608);\nbreak;\ncase 1: var anf_if3848 = $ans3880;\n$step3879 = R.checkPyretTrue(anf_if3848)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3880 = error$not$boolean$pred2680.$var.app(loc3787,pv3795,lv3794,on$left256.$var,test$result3846);\nvar anf_arg1610 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1548];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg1610);\nbreak;\ncase 3: $step3879 = R.checkPyretTrue(test$result3846)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3880 = failure$not$dissatisfied2644.$var.app(loc3787,lv3794,on$left256.$var,pv3795);\nvar anf_arg3847 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1549];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg3847);\nbreak;\ncase 5: // caller optimization;\n$ans3880 = success2624.$var.app(loc3787);\nvar anf_arg1611 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1550];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg1611);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3880;\ndefault: R.ffi.throwSpinnakerError(L[1552],$step3879);\n}\n}\nif($step3879 !== 6) {\n$ans3880.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3881,$temp_branch3878,$step3879,[test$result3846],[],$elidedFrames3883);\n}\nreturn $ans3880;\n};\n$ans3860 = cases3834.$app_fields($temp_branch3878,[false]);\nbreak;\ncase 10: $ans3860 = R.throwNoCasesMatched(L[1547],cases3834);\n$step3859 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans3860;\ndefault: R.ffi.throwSpinnakerError(L[1557],$step3859);\n}\n}\nif($step3859 !== 11) {\n$ans3860.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3861,$temp_branch3858,$step3859,[cause$result3821],[cases3834],$elidedFrames3863);\n}\nreturn $ans3860;\n};\n$ans3797 = cases3808.$app_fields($temp_branch3858,[false]);\nbreak;\ncase 5: $ans3797 = R.throwNoCasesMatched(L[1535],cases3808);\n$step3792 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3797;\ndefault: R.ffi.throwSpinnakerError(L[1525],$step3792);\n}\n}\nif($step3792 !== 6) {\n$ans3797.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3798,$temp_lam3793,$step3792,[lv3794,pv3795,cv3796],[cases3808],$elidedFrames3800);\n}\nreturn $ans3797;\n};\nvar anf_arg3892 = R.mF($temp_lam3793,\"for-body\");\n$step3781 = 1;\n$al3789 = L[1525];\nif(typeof(anf_fun3891.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3789,anf_fun3891);\n}\n$ans3788 = anf_fun3891.app(anf_arg3892,left3784,pred3785,cause3786);\nbreak;\ncase 1: $step3781 = 2;\n$ans3788 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3788;\ndefault: R.ffi.throwSpinnakerError(L[1524],$step3781);\n}\n}\nif($step3781 !== 2) {\n$ans3788.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3789,$temp_full3782,$step3781,[self3783,left3784,pred3785,cause3786,loc3787],[],$elidedFrames3791);\n}\nreturn $ans3788;\n};\nvar anf_obj5046 = R.makeMethod4($temp_full3782,\"check-satisfies-not-delayed-cause\");\nvar $temp_full3895 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1561($self3896,$left3897,$pred3898,$loc3899) {\nvar $step3894 = 0;\nvar $elidedFrames3903 = 0;\nvar $ans3900 = D;\nvar $al3901 = L[1561];\nif(R.isAR($self3896)) {\n$step3894 = $self3896.step;\n$al3901 = $self3896.from;\n$ans3900 = $self3896.ans;\n$elidedFrames3903 = $self3896.elidedFrames;\nself3896 = $self3896.args[0];\nleft3897 = $self3896.args[1];\npred3898 = $self3896.args[2];\nloc3899 = $self3896.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1561],4,$t,true);\n}\nvar self3896 = $self3896;\nvar left3897 = $left3897;\nvar pred3898 = $pred3898;\nvar loc3899 = $loc3899;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3900 = R.mC();\n}\nwhile(!R.isContinuation($ans3900)) {\nswitch($step3894) {\ncase 0: $step3894 = 1;\n$al3901 = L[1564];\nif(typeof(pred3898.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3901,pred3898);\n}\n$ans3900 = pred3898.app(left3897);\nbreak;\ncase 1: var anf_arg1634 = $ans3900;\nvar $temp_lam3905 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1562($$resumer13) {\nvar $step3904 = 0;\nvar $elidedFrames3909 = 0;\nvar $ans3906 = D;\nvar $al3907 = L[1562];\nif(R.isAR($$resumer13)) {\n$step3904 = $$resumer13.step;\n$al3907 = $$resumer13.from;\n$ans3906 = $$resumer13.ans;\n$elidedFrames3909 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1562],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3906 = R.mC();\n}\nwhile(!R.isContinuation($ans3906)) {\nswitch($step3904) {\ncase 0: // caller optimization;\n$ans3906 = failure$not$satisfied2640.$var.app(loc3899,left3897,pred3898);\n$step3904 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3906;\ndefault: R.ffi.throwSpinnakerError(L[1562],$step3904);\n}\n}\nif($step3904 !== 1) {\n$ans3906.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3907,$temp_lam3905,$step3904,[],[],$elidedFrames3909);\n}\nreturn $ans3906;\n};\nvar anf_arg1614 = R.mF($temp_lam3905,\"\");\n$step3894 = 2;\n$al3901 = L[1563];\n// omitting isFunction check;\n$ans3900 = check$bool2814.$var.app(loc3899,anf_arg1634,anf_arg1614);\nbreak;\ncase 2: $step3894 = 3;\n$ans3900 = nothing2;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3900;\ndefault: R.ffi.throwSpinnakerError(L[1561],$step3894);\n}\n}\nif($step3894 !== 3) {\n$ans3900.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3901,$temp_full3895,$step3894,[self3896,left3897,pred3898,loc3899],[],$elidedFrames3903);\n}\nreturn $ans3900;\n};\nvar anf_obj5047 = R.makeMethod3($temp_full3895,\"check-satisfies\");\nvar $temp_full3913 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1565($self3914,$left3915,$pred3916,$loc3917) {\nvar $step3912 = 0;\nvar $elidedFrames3921 = 0;\nvar $ans3918 = D;\nvar $al3919 = L[1565];\nif(R.isAR($self3914)) {\n$step3912 = $self3914.step;\n$al3919 = $self3914.from;\n$ans3918 = $self3914.ans;\n$elidedFrames3921 = $self3914.elidedFrames;\nself3914 = $self3914.args[0];\nleft3915 = $self3914.args[1];\npred3916 = $self3914.args[2];\nloc3917 = $self3914.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1565],4,$t,true);\n}\nvar self3914 = $self3914;\nvar left3915 = $left3915;\nvar pred3916 = $pred3916;\nvar loc3917 = $loc3917;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3918 = R.mC();\n}\nwhile(!R.isContinuation($ans3918)) {\nswitch($step3912) {\ncase 0: $step3912 = 1;\n$al3919 = L[1569];\nif(typeof(pred3916.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3919,pred3916);\n}\n$ans3918 = pred3916.app(left3915);\nbreak;\ncase 1: var anf_arg3922 = $ans3918;\n$step3912 = 2;\n$al3919 = L[1568];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3919,not5);\n}\n$ans3918 = not5.app(anf_arg3922);\nbreak;\ncase 2: var anf_arg3930 = $ans3918;\nvar $temp_lam3924 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1566($$resumer13) {\nvar $step3923 = 0;\nvar $elidedFrames3928 = 0;\nvar $ans3925 = D;\nvar $al3926 = L[1566];\nif(R.isAR($$resumer13)) {\n$step3923 = $$resumer13.step;\n$al3926 = $$resumer13.from;\n$ans3925 = $$resumer13.ans;\n$elidedFrames3928 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1566],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3925 = R.mC();\n}\nwhile(!R.isContinuation($ans3925)) {\nswitch($step3923) {\ncase 0: // caller optimization;\n$ans3925 = failure$not$dissatisfied2644.$var.app(loc3917,left3915,pred3916);\n$step3923 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3925;\ndefault: R.ffi.throwSpinnakerError(L[1566],$step3923);\n}\n}\nif($step3923 !== 1) {\n$ans3925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3926,$temp_lam3924,$step3923,[],[],$elidedFrames3928);\n}\nreturn $ans3925;\n};\nvar anf_arg1615 = R.mF($temp_lam3924,\"\");\n$step3912 = 3;\n$al3919 = L[1567];\n// omitting isFunction check;\n$ans3918 = check$bool2814.$var.app(loc3917,anf_arg3930,anf_arg1615);\nbreak;\ncase 3: $step3912 = 4;\n$ans3918 = nothing2;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3918;\ndefault: R.ffi.throwSpinnakerError(L[1565],$step3912);\n}\n}\nif($step3912 !== 4) {\n$ans3918.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3919,$temp_full3913,$step3912,[self3914,left3915,pred3916,loc3917],[],$elidedFrames3921);\n}\nreturn $ans3918;\n};\nvar anf_obj5048 = R.makeMethod3($temp_full3913,\"check-satisfies-not\");\nvar $temp_full3933 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1570($self3934,$thunk3935,$str3936,$loc3937) {\nvar $step3932 = 0;\nvar $elidedFrames3941 = 0;\nvar $ans3938 = D;\nvar $al3939 = L[1570];\nif(R.isAR($self3934)) {\n$step3932 = $self3934.step;\n$al3939 = $self3934.from;\n$ans3938 = $self3934.ans;\n$elidedFrames3941 = $self3934.elidedFrames;\nself3934 = $self3934.args[0];\nthunk3935 = $self3934.args[1];\nstr3936 = $self3934.args[2];\nloc3937 = $self3934.args[3];\ncases3943 = $self3934.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1570],4,$t,true);\n}\nvar self3934 = $self3934;\nvar thunk3935 = $thunk3935;\nvar str3936 = $str3936;\nvar loc3937 = $loc3937;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3938 = R.mC();\n}\nwhile(!R.isContinuation($ans3938)) {\nswitch($step3932) {\ncase 0: $step3932 = 1;\n$al3939 = L[1581];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3939,run$task1);\n}\n$ans3938 = run$task1.app(thunk3935);\nbreak;\ncase 1: var result3942 = $ans3938;\nvar cases3943 = result3942;\n$step3932 = 2;\n$al3939 = L[1580];\nvar $ann$check3960 = R._cA(L[1580],R.gDA(L[1580],\"either\",either20.dict.types,\"Either\"),cases3943);\nif(R.isContinuation($ann$check3960)) {\n$ans3938 = $ann$check3960;\n}\nbreak;\ncase 2: $al3939 = L[1573];\n$step3932 = $cases_dispatch3959[cases3943.$name] || 5;\nbreak;\ncase 3: if(cases3943.$arity !== 1) {\nif(cases3943.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1572],1,cases3943.$arity,L[1573],cases3943.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1572],true,L[1573],cases3943.$loc);\n}\n}\nvar $fn3946 = cases3943.$constructor.$fieldNames;\nR.dF(cases3943.dict[$fn3946[0]],cases3943.$mut_fields_mask[0],false);\n// caller optimization;\n$ans3938 = some12.app(str3936);\nvar anf_arg3944 = $ans3938;\n// caller optimization;\n$ans3938 = failure$no$exn2660.$var.app(loc3937,anf_arg3944,on$left256.$var,(true));\nvar anf_arg1626 = $ans3938;\n$step3932 = 6;\n$al3939 = L[1571];\n// omitting isFunction check;\n$ans3938 = add$result2718.$var.app(anf_arg1626);\nbreak;\ncase 4: if(cases3943.$arity !== 1) {\nif(cases3943.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1579],1,cases3943.$arity,L[1573],cases3943.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1579],true,L[1573],cases3943.$loc);\n}\n}\n$step3932 = 6;\n$al3939 = L[1579];\nvar $temp_branch3951 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1573($lv3948) {\nvar $step3952 = 0;\nvar $elidedFrames3957 = 0;\nvar $ans3954 = D;\nvar $al3955 = L[1578];\nif(R.isAR($lv3948)) {\n$step3952 = $lv3948.step;\n$al3955 = $lv3948.from;\n$ans3954 = $lv3948.ans;\n$elidedFrames3957 = $lv3948.elidedFrames;\nlv3948 = $lv3948.args[0];\n} else {\nvar lv3948 = $lv3948;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3954 = R.mC();\n}\nwhile(!R.isContinuation($ans3954)) {\nswitch($step3952) {\ncase 0: $step3952 = 1;\n$al3955 = L[1578];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,exn$unwrap2);\n}\n$ans3954 = exn$unwrap2.app(lv3948);\nbreak;\ncase 1: var anf_arg1628 = $ans3954;\n$step3952 = 2;\n$al3955 = L[1577];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,torepr3);\n}\n$ans3954 = torepr3.app(anf_arg1628);\nbreak;\ncase 2: var anf_arg1629 = $ans3954;\n// caller optimization;\n$ans3954 = string$contains5.app(anf_arg1629,str3936);\nvar anf_arg1636 = $ans3954;\n$step3952 = 3;\n$al3955 = L[1576];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,not5);\n}\n$ans3954 = not5.app(anf_arg1636);\nbreak;\ncase 3: var anf_if3950 = $ans3954;\n$step3952 = R.checkPyretTrue(anf_if3950)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3954 = failure$wrong$exn2648.$var.app(loc3937,str3936,lv3948,on$left256.$var);\nvar anf_arg1637 = $ans3954;\n$step3952 = 6;\n$al3955 = L[1574];\n// omitting isFunction check;\n$ans3954 = add$result2718.$var.app(anf_arg1637);\nbreak;\ncase 5: // caller optimization;\n$ans3954 = success2624.$var.app(loc3937);\nvar anf_arg3949 = $ans3954;\n$step3952 = 6;\n$al3955 = L[1575];\n// omitting isFunction check;\n$ans3954 = add$result2718.$var.app(anf_arg3949);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3954;\ndefault: R.ffi.throwSpinnakerError(L[1578],$step3952);\n}\n}\nif($step3952 !== 6) {\n$ans3954.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3955,$temp_branch3951,$step3952,[lv3948],[],$elidedFrames3957);\n}\nreturn $ans3954;\n};\n$ans3938 = cases3943.$app_fields($temp_branch3951,[false]);\nbreak;\ncase 5: $ans3938 = R.throwNoCasesMatched(L[1573],cases3943);\n$step3932 = 6;\nbreak;\ncase 6: $step3932 = 7;\n$ans3938 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3938;\ndefault: R.ffi.throwSpinnakerError(L[1570],$step3932);\n}\n}\nif($step3932 !== 7) {\n$ans3938.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3939,$temp_full3933,$step3932,[self3934,thunk3935,str3936,loc3937],[cases3943],$elidedFrames3941);\n}\nreturn $ans3938;\n};\nvar anf_obj5049 = R.makeMethod3($temp_full3933,\"check-raises-str\");\nvar $temp_full3964 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1582($self3965,$thunk3966,$str3967,$cause3968,$loc3969) {\nvar $step3963 = 0;\nvar $elidedFrames3973 = 0;\nvar $ans3970 = D;\nvar $al3971 = L[1582];\nif(R.isAR($self3965)) {\n$step3963 = $self3965.step;\n$al3971 = $self3965.from;\n$ans3970 = $self3965.ans;\n$elidedFrames3973 = $self3965.elidedFrames;\nself3965 = $self3965.args[0];\nthunk3966 = $self3965.args[1];\nstr3967 = $self3965.args[2];\ncause3968 = $self3965.args[3];\nloc3969 = $self3965.args[4];\ncases3975 = $self3965.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1582],5,$t,true);\n}\nvar self3965 = $self3965;\nvar thunk3966 = $thunk3966;\nvar str3967 = $str3967;\nvar cause3968 = $cause3968;\nvar loc3969 = $loc3969;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3970 = R.mC();\n}\nwhile(!R.isContinuation($ans3970)) {\nswitch($step3963) {\ncase 0: $step3963 = 1;\n$al3971 = L[1603];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3971,run$task1);\n}\n$ans3970 = run$task1.app(cause3968);\nbreak;\ncase 1: var cause$result3974 = $ans3970;\nvar cases3975 = cause$result3974;\n$step3963 = 2;\n$al3971 = L[1602];\nvar $ann$check4019 = R._cA(L[1602],R.gDA(L[1602],\"either\",either20.dict.types,\"Either\"),cases3975);\nif(R.isContinuation($ann$check4019)) {\n$ans3970 = $ann$check4019;\n}\nbreak;\ncase 2: $al3971 = L[1585];\n$step3963 = $cases_dispatch4018[cases3975.$name] || 5;\nbreak;\ncase 3: if(cases3975.$arity !== 1) {\nif(cases3975.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1584],1,cases3975.$arity,L[1585],cases3975.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1584],true,L[1585],cases3975.$loc);\n}\n}\nvar $fn3977 = cases3975.$constructor.$fieldNames;\nR.dF(cases3975.dict[$fn3977[0]],cases3975.$mut_fields_mask[0],false);\n// caller optimization;\n$ans3970 = some12.app(str3967);\nvar anf_arg1664 = $ans3970;\n// caller optimization;\n$ans3970 = failure$no$exn2660.$var.app(loc3969,anf_arg1664,on$cause267.$var,(true));\nvar anf_arg1653 = $ans3970;\n$step3963 = 6;\n$al3971 = L[1583];\n// omitting isFunction check;\n$ans3970 = add$result2718.$var.app(anf_arg1653);\nbreak;\ncase 4: if(cases3975.$arity !== 1) {\nif(cases3975.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1601],1,cases3975.$arity,L[1585],cases3975.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1601],true,L[1585],cases3975.$loc);\n}\n}\n$step3963 = 6;\n$al3971 = L[1601];\nvar $temp_branch4000 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1585($cv3980) {\nvar $step4001 = 0;\nvar $elidedFrames4005 = 0;\nvar $ans4002 = D;\nvar $al4003 = L[1600];\nif(R.isAR($cv3980)) {\n$step4001 = $cv3980.step;\n$al4003 = $cv3980.from;\n$ans4002 = $cv3980.ans;\n$elidedFrames4005 = $cv3980.elidedFrames;\ncv3980 = $cv3980.args[0];\ncases3983 = $cv3980.vars[0];\n} else {\nvar cv3980 = $cv3980;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4002 = R.mC();\n}\nwhile(!R.isContinuation($ans4002)) {\nswitch($step4001) {\ncase 0: $step4001 = 1;\n$al4003 = L[1600];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,exn$unwrap2);\n}\n$ans4002 = exn$unwrap2.app(cv3980);\nbreak;\ncase 1: var anf_arg1665 = $ans4002;\n$step4001 = 2;\n$al4003 = L[1599];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,torepr3);\n}\n$ans4002 = torepr3.app(anf_arg1665);\nbreak;\ncase 2: var anf_arg3981 = $ans4002;\n// caller optimization;\n$ans4002 = string$contains5.app(anf_arg3981,str3967);\nvar anf_arg1657 = $ans4002;\n$step4001 = 3;\n$al4003 = L[1598];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,not5);\n}\n$ans4002 = not5.app(anf_arg1657);\nbreak;\ncase 3: var anf_if3999 = $ans4002;\n$step4001 = R.checkPyretTrue(anf_if3999)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4002 = failure$wrong$exn2648.$var.app(loc3969,str3967,cv3980,on$cause267.$var);\nvar anf_arg1658 = $ans4002;\n$step4001 = 11;\n$al4003 = L[1586];\n// omitting isFunction check;\n$ans4002 = add$result2718.$var.app(anf_arg1658);\nbreak;\ncase 5: $step4001 = 6;\n$al4003 = L[1597];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,run$task1);\n}\n$ans4002 = run$task1.app(thunk3966);\nbreak;\ncase 6: var result3982 = $ans4002;\nvar cases3983 = result3982;\n$step4001 = 7;\n$al4003 = L[1596];\nvar $ann$check4016 = R._cA(L[1596],R.gDA(L[1596],\"either\",either20.dict.types,\"Either\"),cases3983);\nif(R.isContinuation($ann$check4016)) {\n$ans4002 = $ann$check4016;\n}\nbreak;\ncase 7: $al4003 = L[1589];\n$step4001 = $cases_dispatch4015[cases3983.$name] || 10;\nbreak;\ncase 8: if(cases3983.$arity !== 1) {\nif(cases3983.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1588],1,cases3983.$arity,L[1589],cases3983.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1588],true,L[1589],cases3983.$loc);\n}\n}\nvar $fn4007 = cases3983.$constructor.$fieldNames;\nR.dF(cases3983.dict[$fn4007[0]],cases3983.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4002 = some12.app(str3967);\nvar anf_arg1659 = $ans4002;\n// caller optimization;\n$ans4002 = failure$no$exn2660.$var.app(loc3969,anf_arg1659,on$left256.$var,(true));\nvar anf_arg1655 = $ans4002;\n$step4001 = 11;\n$al4003 = L[1587];\n// omitting isFunction check;\n$ans4002 = add$result2718.$var.app(anf_arg1655);\nbreak;\ncase 9: if(cases3983.$arity !== 1) {\nif(cases3983.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1595],1,cases3983.$arity,L[1589],cases3983.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1595],true,L[1589],cases3983.$loc);\n}\n}\n$step4001 = 11;\n$al4003 = L[1595];\nvar $temp_branch4008 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1589($lv3987) {\nvar $step4009 = 0;\nvar $elidedFrames4013 = 0;\nvar $ans4010 = D;\nvar $al4011 = L[1594];\nif(R.isAR($lv3987)) {\n$step4009 = $lv3987.step;\n$al4011 = $lv3987.from;\n$ans4010 = $lv3987.ans;\n$elidedFrames4013 = $lv3987.elidedFrames;\nlv3987 = $lv3987.args[0];\n} else {\nvar lv3987 = $lv3987;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4010 = R.mC();\n}\nwhile(!R.isContinuation($ans4010)) {\nswitch($step4009) {\ncase 0: $step4009 = 1;\n$al4011 = L[1594];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,exn$unwrap2);\n}\n$ans4010 = exn$unwrap2.app(lv3987);\nbreak;\ncase 1: var anf_arg1660 = $ans4010;\n$step4009 = 2;\n$al4011 = L[1593];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,torepr3);\n}\n$ans4010 = torepr3.app(anf_arg1660);\nbreak;\ncase 2: var anf_arg1661 = $ans4010;\n// caller optimization;\n$ans4010 = string$contains5.app(anf_arg1661,str3967);\nvar anf_arg1666 = $ans4010;\n$step4009 = 3;\n$al4011 = L[1592];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,not5);\n}\n$ans4010 = not5.app(anf_arg1666);\nbreak;\ncase 3: var anf_if3989 = $ans4010;\n$step4009 = R.checkPyretTrue(anf_if3989)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4010 = failure$wrong$exn2648.$var.app(loc3969,str3967,lv3987,on$left256.$var);\nvar anf_arg1667 = $ans4010;\n$step4009 = 6;\n$al4011 = L[1590];\n// omitting isFunction check;\n$ans4010 = add$result2718.$var.app(anf_arg1667);\nbreak;\ncase 5: // caller optimization;\n$ans4010 = success2624.$var.app(loc3969);\nvar anf_arg3988 = $ans4010;\n$step4009 = 6;\n$al4011 = L[1591];\n// omitting isFunction check;\n$ans4010 = add$result2718.$var.app(anf_arg3988);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4010;\ndefault: R.ffi.throwSpinnakerError(L[1594],$step4009);\n}\n}\nif($step4009 !== 6) {\n$ans4010.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4011,$temp_branch4008,$step4009,[lv3987],[],$elidedFrames4013);\n}\nreturn $ans4010;\n};\n$ans4002 = cases3983.$app_fields($temp_branch4008,[false]);\nbreak;\ncase 10: $ans4002 = R.throwNoCasesMatched(L[1589],cases3983);\n$step4001 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4002;\ndefault: R.ffi.throwSpinnakerError(L[1600],$step4001);\n}\n}\nif($step4001 !== 11) {\n$ans4002.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4003,$temp_branch4000,$step4001,[cv3980],[cases3983],$elidedFrames4005);\n}\nreturn $ans4002;\n};\n$ans3970 = cases3975.$app_fields($temp_branch4000,[false]);\nbreak;\ncase 5: $ans3970 = R.throwNoCasesMatched(L[1585],cases3975);\n$step3963 = 6;\nbreak;\ncase 6: $step3963 = 7;\n$ans3970 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3970;\ndefault: R.ffi.throwSpinnakerError(L[1582],$step3963);\n}\n}\nif($step3963 !== 7) {\n$ans3970.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3971,$temp_full3964,$step3963,[self3965,thunk3966,str3967,cause3968,loc3969],[cases3975],$elidedFrames3973);\n}\nreturn $ans3970;\n};\nvar anf_obj5050 = R.makeMethod4($temp_full3964,\"check-raises-str-cause\");\nvar $temp_full4022 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1604($self4023,$thunk4024,$str4025,$loc4026) {\nvar $step4021 = 0;\nvar $elidedFrames4030 = 0;\nvar $ans4027 = D;\nvar $al4028 = L[1604];\nif(R.isAR($self4023)) {\n$step4021 = $self4023.step;\n$al4028 = $self4023.from;\n$ans4027 = $self4023.ans;\n$elidedFrames4030 = $self4023.elidedFrames;\nself4023 = $self4023.args[0];\nthunk4024 = $self4023.args[1];\nstr4025 = $self4023.args[2];\nloc4026 = $self4023.args[3];\nlv4045 = $self4023.vars[0];\ncases4032 = $self4023.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1604],4,$t,true);\n}\nvar self4023 = $self4023;\nvar thunk4024 = $thunk4024;\nvar str4025 = $str4025;\nvar loc4026 = $loc4026;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4027 = R.mC();\n}\nwhile(!R.isContinuation($ans4027)) {\nswitch($step4021) {\ncase 0: $step4021 = 1;\n$al4028 = L[1614];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,run$task1);\n}\n$ans4027 = run$task1.app(thunk4024);\nbreak;\ncase 1: var result4031 = $ans4027;\nvar cases4032 = result4031;\n$step4021 = 2;\n$al4028 = L[1613];\nvar $ann$check4050 = R._cA(L[1613],R.gDA(L[1613],\"either\",either20.dict.types,\"Either\"),cases4032);\nif(R.isContinuation($ann$check4050)) {\n$ans4027 = $ann$check4050;\n}\nbreak;\ncase 2: $al4028 = L[1607];\n$step4021 = $cases_dispatch4049[cases4032.$name] || 9;\nbreak;\ncase 3: if(cases4032.$arity !== 1) {\nif(cases4032.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1606],1,cases4032.$arity,L[1607],cases4032.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1606],true,L[1607],cases4032.$loc);\n}\n}\nvar $fn4037 = cases4032.$constructor.$fieldNames;\nR.dF(cases4032.dict[$fn4037[0]],cases4032.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4027 = some12.app(str4025);\nvar anf_arg4033 = $ans4027;\n// caller optimization;\n$ans4027 = failure$no$exn2660.$var.app(loc4026,anf_arg4033,on$left256.$var,(false));\nvar anf_arg1677 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1605];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1677);\nbreak;\ncase 4: if(cases4032.$arity !== 1) {\nif(cases4032.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1612],1,cases4032.$arity,L[1607],cases4032.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1612],true,L[1607],cases4032.$loc);\n}\n}\nvar $fn4048 = cases4032.$constructor.$fieldNames;\nvar lv4045 = R.dF(cases4032.dict[$fn4048[0]],cases4032.$mut_fields_mask[0],false);\n$step4021 = 5;\n$al4028 = L[1611];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,exn$unwrap2);\n}\n$ans4027 = exn$unwrap2.app(lv4045);\nbreak;\ncase 5: var anf_arg1678 = $ans4027;\n$step4021 = 6;\n$al4028 = L[1610];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,torepr3);\n}\n$ans4027 = torepr3.app(anf_arg1678);\nbreak;\ncase 6: var anf_arg1679 = $ans4027;\n// caller optimization;\n$ans4027 = string$contains5.app(anf_arg1679,str4025);\nvar anf_if4046 = $ans4027;\n$step4021 = R.checkPyretTrue(anf_if4046)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4027 = failure$right$exn2652.$var.app(loc4026,str4025,lv4045,on$left256.$var);\nvar anf_arg1682 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1608];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1682);\nbreak;\ncase 8: // caller optimization;\n$ans4027 = success2624.$var.app(loc4026);\nvar anf_arg1685 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1609];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1685);\nbreak;\ncase 9: $ans4027 = R.throwNoCasesMatched(L[1607],cases4032);\n$step4021 = 10;\nbreak;\ncase 10: $step4021 = 11;\n$ans4027 = nothing2;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4027;\ndefault: R.ffi.throwSpinnakerError(L[1604],$step4021);\n}\n}\nif($step4021 !== 11) {\n$ans4027.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4028,$temp_full4022,$step4021,[self4023,thunk4024,str4025,loc4026],[lv4045,cases4032],$elidedFrames4030);\n}\nreturn $ans4027;\n};\nvar anf_obj5051 = R.makeMethod3($temp_full4022,\"check-raises-other-str\");\nvar $temp_full4054 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1615($self4055,$thunk4056,$str4057,$cause4058,$loc4059) {\nvar $step4053 = 0;\nvar $elidedFrames4063 = 0;\nvar $ans4060 = D;\nvar $al4061 = L[1615];\nif(R.isAR($self4055)) {\n$step4053 = $self4055.step;\n$al4061 = $self4055.from;\n$ans4060 = $self4055.ans;\n$elidedFrames4063 = $self4055.elidedFrames;\nself4055 = $self4055.args[0];\nthunk4056 = $self4055.args[1];\nstr4057 = $self4055.args[2];\ncause4058 = $self4055.args[3];\nloc4059 = $self4055.args[4];\ncases4065 = $self4055.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1615],5,$t,true);\n}\nvar self4055 = $self4055;\nvar thunk4056 = $thunk4056;\nvar str4057 = $str4057;\nvar cause4058 = $cause4058;\nvar loc4059 = $loc4059;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4060 = R.mC();\n}\nwhile(!R.isContinuation($ans4060)) {\nswitch($step4053) {\ncase 0: $step4053 = 1;\n$al4061 = L[1634];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4061,run$task1);\n}\n$ans4060 = run$task1.app(cause4058);\nbreak;\ncase 1: var cause$result4064 = $ans4060;\nvar cases4065 = cause$result4064;\n$step4053 = 2;\n$al4061 = L[1633];\nvar $ann$check4106 = R._cA(L[1633],R.gDA(L[1633],\"either\",either20.dict.types,\"Either\"),cases4065);\nif(R.isContinuation($ann$check4106)) {\n$ans4060 = $ann$check4106;\n}\nbreak;\ncase 2: $al4061 = L[1618];\n$step4053 = $cases_dispatch4105[cases4065.$name] || 5;\nbreak;\ncase 3: if(cases4065.$arity !== 1) {\nif(cases4065.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1617],1,cases4065.$arity,L[1618],cases4065.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1617],true,L[1618],cases4065.$loc);\n}\n}\nvar $fn4069 = cases4065.$constructor.$fieldNames;\nR.dF(cases4065.dict[$fn4069[0]],cases4065.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4060 = some12.app(str4057);\nvar anf_arg4066 = $ans4060;\n// caller optimization;\n$ans4060 = failure$no$exn2660.$var.app(loc4059,anf_arg4066,on$cause267.$var,(false));\nvar anf_arg4067 = $ans4060;\n$step4053 = 6;\n$al4061 = L[1616];\n// omitting isFunction check;\n$ans4060 = add$result2718.$var.app(anf_arg4067);\nbreak;\ncase 4: if(cases4065.$arity !== 1) {\nif(cases4065.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1632],1,cases4065.$arity,L[1618],cases4065.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1632],true,L[1618],cases4065.$loc);\n}\n}\n$step4053 = 6;\n$al4061 = L[1632];\nvar $temp_branch4090 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1618($cv4071) {\nvar $step4091 = 0;\nvar $elidedFrames4095 = 0;\nvar $ans4092 = D;\nvar $al4093 = L[1631];\nif(R.isAR($cv4071)) {\n$step4091 = $cv4071.step;\n$al4093 = $cv4071.from;\n$ans4092 = $cv4071.ans;\n$elidedFrames4095 = $cv4071.elidedFrames;\ncv4071 = $cv4071.args[0];\nlv4079 = $cv4071.vars[0];\ncases4075 = $cv4071.vars[1];\n} else {\nvar cv4071 = $cv4071;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4092 = R.mC();\n}\nwhile(!R.isContinuation($ans4092)) {\nswitch($step4091) {\ncase 0: $step4091 = 1;\n$al4093 = L[1631];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,exn$unwrap2);\n}\n$ans4092 = exn$unwrap2.app(cv4071);\nbreak;\ncase 1: var anf_arg4072 = $ans4092;\n$step4091 = 2;\n$al4093 = L[1630];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,torepr3);\n}\n$ans4092 = torepr3.app(anf_arg4072);\nbreak;\ncase 2: var anf_arg4073 = $ans4092;\n// caller optimization;\n$ans4092 = string$contains5.app(anf_arg4073,str4057);\nvar anf_if4089 = $ans4092;\n$step4091 = R.checkPyretTrue(anf_if4089)?3:4;\nbreak;\ncase 3: // caller optimization;\n$ans4092 = failure$right$exn2652.$var.app(loc4059,str4057,cv4071,on$cause267.$var);\nvar anf_arg1697 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1619];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1697);\nbreak;\ncase 4: $step4091 = 5;\n$al4093 = L[1629];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,run$task1);\n}\n$ans4092 = run$task1.app(thunk4056);\nbreak;\ncase 5: var result4074 = $ans4092;\nvar cases4075 = result4074;\n$step4091 = 6;\n$al4093 = L[1628];\nvar $ann$check4103 = R._cA(L[1628],R.gDA(L[1628],\"either\",either20.dict.types,\"Either\"),cases4075);\nif(R.isContinuation($ann$check4103)) {\n$ans4092 = $ann$check4103;\n}\nbreak;\ncase 6: $al4093 = L[1622];\n$step4091 = $cases_dispatch4102[cases4075.$name] || 13;\nbreak;\ncase 7: if(cases4075.$arity !== 1) {\nif(cases4075.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1621],1,cases4075.$arity,L[1622],cases4075.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1621],true,L[1622],cases4075.$loc);\n}\n}\nvar $fn4097 = cases4075.$constructor.$fieldNames;\nR.dF(cases4075.dict[$fn4097[0]],cases4075.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4092 = some12.app(str4057);\nvar anf_arg1698 = $ans4092;\n// caller optimization;\n$ans4092 = failure$no$exn2660.$var.app(loc4059,anf_arg1698,on$left256.$var,(false));\nvar anf_arg1699 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1620];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1699);\nbreak;\ncase 8: if(cases4075.$arity !== 1) {\nif(cases4075.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1627],1,cases4075.$arity,L[1622],cases4075.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1627],true,L[1622],cases4075.$loc);\n}\n}\nvar $fn4101 = cases4075.$constructor.$fieldNames;\nvar lv4079 = R.dF(cases4075.dict[$fn4101[0]],cases4075.$mut_fields_mask[0],false);\n$step4091 = 9;\n$al4093 = L[1626];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,exn$unwrap2);\n}\n$ans4092 = exn$unwrap2.app(lv4079);\nbreak;\ncase 9: var anf_arg1704 = $ans4092;\n$step4091 = 10;\n$al4093 = L[1625];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,torepr3);\n}\n$ans4092 = torepr3.app(anf_arg1704);\nbreak;\ncase 10: var anf_arg1702 = $ans4092;\n// caller optimization;\n$ans4092 = string$contains5.app(anf_arg1702,str4057);\nvar anf_if4082 = $ans4092;\n$step4091 = R.checkPyretTrue(anf_if4082)?11:12;\nbreak;\ncase 11: // caller optimization;\n$ans4092 = failure$right$exn2652.$var.app(loc4059,str4057,lv4079,on$left256.$var);\nvar anf_arg1706 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1623];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1706);\nbreak;\ncase 12: // caller optimization;\n$ans4092 = success2624.$var.app(loc4059);\nvar anf_arg4081 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1624];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg4081);\nbreak;\ncase 13: $ans4092 = R.throwNoCasesMatched(L[1622],cases4075);\n$step4091 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans4092;\ndefault: R.ffi.throwSpinnakerError(L[1631],$step4091);\n}\n}\nif($step4091 !== 14) {\n$ans4092.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4093,$temp_branch4090,$step4091,[cv4071],[lv4079,cases4075],$elidedFrames4095);\n}\nreturn $ans4092;\n};\n$ans4060 = cases4065.$app_fields($temp_branch4090,[false]);\nbreak;\ncase 5: $ans4060 = R.throwNoCasesMatched(L[1618],cases4065);\n$step4053 = 6;\nbreak;\ncase 6: $step4053 = 7;\n$ans4060 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4060;\ndefault: R.ffi.throwSpinnakerError(L[1615],$step4053);\n}\n}\nif($step4053 !== 7) {\n$ans4060.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4061,$temp_full4054,$step4053,[self4055,thunk4056,str4057,cause4058,loc4059],[cases4065],$elidedFrames4063);\n}\nreturn $ans4060;\n};\nvar anf_obj5052 = R.makeMethod4($temp_full4054,\"check-raises-other-str-cause\");\nvar $temp_full4109 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1635($self4110,$thunk4111,$loc4112) {\nvar $step4108 = 0;\nvar $elidedFrames4116 = 0;\nvar $ans4113 = D;\nvar $al4114 = L[1635];\nif(R.isAR($self4110)) {\n$step4108 = $self4110.step;\n$al4114 = $self4110.from;\n$ans4113 = $self4110.ans;\n$elidedFrames4116 = $self4110.elidedFrames;\nself4110 = $self4110.args[0];\nthunk4111 = $self4110.args[1];\nloc4112 = $self4110.args[2];\ncases4117 = $self4110.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1635],3,$t,true);\n}\nvar self4110 = $self4110;\nvar thunk4111 = $thunk4111;\nvar loc4112 = $loc4112;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4113 = R.mC();\n}\nwhile(!R.isContinuation($ans4113)) {\nswitch($step4108) {\ncase 0: $step4108 = 1;\n$al4114 = L[1642];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4114,run$task1);\n}\n$ans4113 = run$task1.app(thunk4111);\nbreak;\ncase 1: var cases4117 = $ans4113;\n$step4108 = 2;\n$al4114 = L[1641];\nvar $ann$check4126 = R._cA(L[1641],R.gDA(L[1641],\"either\",either20.dict.types,\"Either\"),cases4117);\nif(R.isContinuation($ann$check4126)) {\n$ans4113 = $ann$check4126;\n}\nbreak;\ncase 2: $al4114 = L[1638];\n$step4108 = $cases_dispatch4125[cases4117.$name] || 5;\nbreak;\ncase 3: if(cases4117.$arity !== 1) {\nif(cases4117.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1637],1,cases4117.$arity,L[1638],cases4117.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1637],true,L[1638],cases4117.$loc);\n}\n}\nvar $fn4121 = cases4117.$constructor.$fieldNames;\nvar exn4118 = R.dF(cases4117.dict[$fn4121[0]],cases4117.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4113 = failure$exn2656.$var.app(loc4112,exn4118,on$left256.$var);\nvar anf_arg4119 = $ans4113;\n$step4108 = 6;\n$al4114 = L[1636];\n// omitting isFunction check;\n$ans4113 = add$result2718.$var.app(anf_arg4119);\nbreak;\ncase 4: if(cases4117.$arity !== 1) {\nif(cases4117.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1640],1,cases4117.$arity,L[1638],cases4117.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1640],true,L[1638],cases4117.$loc);\n}\n}\nvar $fn4123 = cases4117.$constructor.$fieldNames;\nR.dF(cases4117.dict[$fn4123[0]],cases4117.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4113 = success2624.$var.app(loc4112);\nvar anf_arg1707 = $ans4113;\n$step4108 = 6;\n$al4114 = L[1639];\n// omitting isFunction check;\n$ans4113 = add$result2718.$var.app(anf_arg1707);\nbreak;\ncase 5: $ans4113 = R.throwNoCasesMatched(L[1638],cases4117);\n$step4108 = 6;\nbreak;\ncase 6: $step4108 = 7;\n$ans4113 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4113;\ndefault: R.ffi.throwSpinnakerError(L[1635],$step4108);\n}\n}\nif($step4108 !== 7) {\n$ans4113.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4114,$temp_full4109,$step4108,[self4110,thunk4111,loc4112],[cases4117],$elidedFrames4116);\n}\nreturn $ans4113;\n};\nvar anf_obj5053 = R.makeMethod2($temp_full4109,\"check-raises-not\");\nvar $temp_full4129 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1643($self4130,$thunk4131,$cause4132,$loc4133) {\nvar $step4128 = 0;\nvar $elidedFrames4137 = 0;\nvar $ans4134 = D;\nvar $al4135 = L[1643];\nif(R.isAR($self4130)) {\n$step4128 = $self4130.step;\n$al4135 = $self4130.from;\n$ans4134 = $self4130.ans;\n$elidedFrames4137 = $self4130.elidedFrames;\nself4130 = $self4130.args[0];\nthunk4131 = $self4130.args[1];\ncause4132 = $self4130.args[2];\nloc4133 = $self4130.args[3];\ncases4138 = $self4130.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1643],4,$t,true);\n}\nvar self4130 = $self4130;\nvar thunk4131 = $thunk4131;\nvar cause4132 = $cause4132;\nvar loc4133 = $loc4133;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4134 = R.mC();\n}\nwhile(!R.isContinuation($ans4134)) {\nswitch($step4128) {\ncase 0: $step4128 = 1;\n$al4135 = L[1656];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4135,run$task1);\n}\n$ans4134 = run$task1.app(cause4132);\nbreak;\ncase 1: var cases4138 = $ans4134;\n$step4128 = 2;\n$al4135 = L[1655];\nvar $ann$check4170 = R._cA(L[1655],R.gDA(L[1655],\"either\",either20.dict.types,\"Either\"),cases4138);\nif(R.isContinuation($ann$check4170)) {\n$ans4134 = $ann$check4170;\n}\nbreak;\ncase 2: $al4135 = L[1646];\n$step4128 = $cases_dispatch4169[cases4138.$name] || 5;\nbreak;\ncase 3: if(cases4138.$arity !== 1) {\nif(cases4138.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1645],1,cases4138.$arity,L[1646],cases4138.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1645],true,L[1646],cases4138.$loc);\n}\n}\nvar $fn4141 = cases4138.$constructor.$fieldNames;\nvar exn4139 = R.dF(cases4138.dict[$fn4141[0]],cases4138.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4134 = failure$exn2656.$var.app(loc4133,exn4139,on$cause267.$var);\nvar anf_arg1709 = $ans4134;\n$step4128 = 6;\n$al4135 = L[1644];\n// omitting isFunction check;\n$ans4134 = add$result2718.$var.app(anf_arg1709);\nbreak;\ncase 4: if(cases4138.$arity !== 1) {\nif(cases4138.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1654],1,cases4138.$arity,L[1646],cases4138.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1654],true,L[1646],cases4138.$loc);\n}\n}\n$step4128 = 6;\n$al4135 = L[1654];\nvar $temp_branch4155 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1646($$underscore4161) {\nvar $step4156 = 0;\nvar $elidedFrames4160 = 0;\nvar $ans4157 = D;\nvar $al4158 = L[1649];\nif(R.isAR($$underscore4161)) {\n$step4156 = $$underscore4161.step;\n$al4158 = $$underscore4161.from;\n$ans4157 = $$underscore4161.ans;\n$elidedFrames4160 = $$underscore4161.elidedFrames;\n$underscore4161 = $$underscore4161.args[0];\ncases4142 = $$underscore4161.vars[0];\n} else {\nvar $underscore4161 = $$underscore4161;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4157 = R.mC();\n}\nwhile(!R.isContinuation($ans4157)) {\nswitch($step4156) {\ncase 0: $step4156 = 1;\n$al4158 = L[1653];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4158,run$task1);\n}\n$ans4157 = run$task1.app(thunk4131);\nbreak;\ncase 1: var cases4142 = $ans4157;\n$step4156 = 2;\n$al4158 = L[1652];\nvar $ann$check4167 = R._cA(L[1652],R.gDA(L[1652],\"either\",either20.dict.types,\"Either\"),cases4142);\nif(R.isContinuation($ann$check4167)) {\n$ans4157 = $ann$check4167;\n}\nbreak;\ncase 2: $al4158 = L[1649];\n$step4156 = $cases_dispatch4166[cases4142.$name] || 5;\nbreak;\ncase 3: if(cases4142.$arity !== 1) {\nif(cases4142.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1648],1,cases4142.$arity,L[1649],cases4142.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1648],true,L[1649],cases4142.$loc);\n}\n}\nvar $fn4163 = cases4142.$constructor.$fieldNames;\nvar exn4143 = R.dF(cases4142.dict[$fn4163[0]],cases4142.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4157 = failure$exn2656.$var.app(loc4133,exn4143,on$left256.$var);\nvar anf_arg1714 = $ans4157;\n$step4156 = 6;\n$al4158 = L[1647];\n// omitting isFunction check;\n$ans4157 = add$result2718.$var.app(anf_arg1714);\nbreak;\ncase 4: if(cases4142.$arity !== 1) {\nif(cases4142.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1651],1,cases4142.$arity,L[1649],cases4142.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1651],true,L[1649],cases4142.$loc);\n}\n}\nvar $fn4165 = cases4142.$constructor.$fieldNames;\nR.dF(cases4142.dict[$fn4165[0]],cases4142.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4157 = success2624.$var.app(loc4133);\nvar anf_arg1712 = $ans4157;\n$step4156 = 6;\n$al4158 = L[1650];\n// omitting isFunction check;\n$ans4157 = add$result2718.$var.app(anf_arg1712);\nbreak;\ncase 5: $ans4157 = R.throwNoCasesMatched(L[1649],cases4142);\n$step4156 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4157;\ndefault: R.ffi.throwSpinnakerError(L[1649],$step4156);\n}\n}\nif($step4156 !== 6) {\n$ans4157.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4158,$temp_branch4155,$step4156,[$underscore4161],[cases4142],$elidedFrames4160);\n}\nreturn $ans4157;\n};\n$ans4134 = cases4138.$app_fields($temp_branch4155,[false]);\nbreak;\ncase 5: $ans4134 = R.throwNoCasesMatched(L[1646],cases4138);\n$step4128 = 6;\nbreak;\ncase 6: $step4128 = 7;\n$ans4134 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4134;\ndefault: R.ffi.throwSpinnakerError(L[1643],$step4128);\n}\n}\nif($step4128 !== 7) {\n$ans4134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4135,$temp_full4129,$step4128,[self4130,thunk4131,cause4132,loc4133],[cases4138],$elidedFrames4137);\n}\nreturn $ans4134;\n};\nvar anf_obj5054 = R.makeMethod3($temp_full4129,\"check-raises-not-cause\");\nvar $temp_full4173 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1657($self4174,$thunk4175,$pred4176,$loc4177) {\nvar $step4172 = 0;\nvar $elidedFrames4181 = 0;\nvar $ans4178 = D;\nvar $al4179 = L[1657];\nif(R.isAR($self4174)) {\n$step4172 = $self4174.step;\n$al4179 = $self4174.from;\n$ans4178 = $self4174.ans;\n$elidedFrames4181 = $self4174.elidedFrames;\nself4174 = $self4174.args[0];\nthunk4175 = $self4174.args[1];\npred4176 = $self4174.args[2];\nloc4177 = $self4174.args[3];\ncases4182 = $self4174.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1657],4,$t,true);\n}\nvar self4174 = $self4174;\nvar thunk4175 = $thunk4175;\nvar pred4176 = $pred4176;\nvar loc4177 = $loc4177;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4178 = R.mC();\n}\nwhile(!R.isContinuation($ans4178)) {\nswitch($step4172) {\ncase 0: $step4172 = 1;\n$al4179 = L[1682];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4179,run$task1);\n}\n$ans4178 = run$task1.app(thunk4175);\nbreak;\ncase 1: var cases4182 = $ans4178;\n$step4172 = 2;\n$al4179 = L[1681];\nvar $ann$check4254 = R._cA(L[1681],R.gDA(L[1681],\"either\",either20.dict.types,\"Either\"),cases4182);\nif(R.isContinuation($ann$check4254)) {\n$ans4178 = $ann$check4254;\n}\nbreak;\ncase 2: $al4179 = L[1660];\n$step4172 = $cases_dispatch4253[cases4182.$name] || 5;\nbreak;\ncase 3: if(cases4182.$arity !== 1) {\nif(cases4182.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1659],1,cases4182.$arity,L[1660],cases4182.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1659],true,L[1660],cases4182.$loc);\n}\n}\nvar $fn4184 = cases4182.$constructor.$fieldNames;\nR.dF(cases4182.dict[$fn4184[0]],cases4182.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4178 = failure$no$exn2660.$var.app(loc4177,none14,on$left256.$var,(true));\n$step4172 = 6;\nbreak;\ncase 4: if(cases4182.$arity !== 1) {\nif(cases4182.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1680],1,cases4182.$arity,L[1660],cases4182.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1680],true,L[1660],cases4182.$loc);\n}\n}\n$step4172 = 6;\n$al4179 = L[1680];\nvar $temp_branch4223 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1660($exn4186) {\nvar $step4224 = 0;\nvar $elidedFrames4228 = 0;\nvar $ans4225 = D;\nvar $al4226 = L[1679];\nif(R.isAR($exn4186)) {\n$step4224 = $exn4186.step;\n$al4226 = $exn4186.from;\n$ans4225 = $exn4186.ans;\n$elidedFrames4228 = $exn4186.elidedFrames;\nexn4186 = $exn4186.args[0];\ncases4197 = $exn4186.vars[0];\nexn$val4194 = $exn4186.vars[1];\n} else {\nvar exn4186 = $exn4186;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4225 = R.mC();\n}\nwhile(!R.isContinuation($ans4225)) {\nswitch($step4224) {\ncase 0: $step4224 = 1;\n$al4226 = L[1679];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 1: var anf_arg4187 = $ans4225;\n$step4224 = 2;\n$al4226 = L[1678];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4225 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4187);\nbreak;\ncase 2: var anf_if4222 = $ans4225;\n$step4224 = R.checkPyretTrue(anf_if4222)?3:5;\nbreak;\ncase 3: $step4224 = 4;\n$al4226 = L[1676];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 4: var anf_bracket4221 = $ans4225;\n$step4224 = 6;\n$al4226 = L[1675];\n$ans4225 = G(anf_bracket4221,\"value\",L[1675]);\nbreak;\ncase 5: $step4224 = 6;\n$al4226 = L[1677];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 6: var exn$val4194 = $ans4225;\nvar $temp_lam4230 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1661($$resumer13) {\nvar $step4229 = 0;\nvar $elidedFrames4234 = 0;\nvar $ans4231 = D;\nvar $al4232 = L[1661];\nif(R.isAR($$resumer13)) {\n$step4229 = $$resumer13.step;\n$al4232 = $$resumer13.from;\n$ans4231 = $$resumer13.ans;\n$elidedFrames4234 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1661],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4231 = R.mC();\n}\nwhile(!R.isContinuation($ans4231)) {\nswitch($step4229) {\ncase 0: $step4229 = 1;\n$al4232 = L[1662];\nif(typeof(pred4176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4232,pred4176);\n}\n$ans4231 = pred4176.app(exn$val4194);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4231;\ndefault: R.ffi.throwSpinnakerError(L[1661],$step4229);\n}\n}\nif($step4229 !== 1) {\n$ans4231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4232,$temp_lam4230,$step4229,[],[],$elidedFrames4234);\n}\nreturn $ans4231;\n};\nvar anf_arg4196 = R.mF($temp_lam4230,\"\");\n$step4224 = 7;\n$al4226 = L[1674];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,run$task1);\n}\n$ans4225 = run$task1.app(anf_arg4196);\nbreak;\ncase 7: var cases4197 = $ans4225;\n$step4224 = 8;\n$al4226 = L[1673];\nvar $ann$check4251 = R._cA(L[1673],R.gDA(L[1673],\"either\",either20.dict.types,\"Either\"),cases4197);\nif(R.isContinuation($ann$check4251)) {\n$ans4225 = $ann$check4251;\n}\nbreak;\ncase 8: $al4226 = L[1668];\n$step4224 = $cases_dispatch4250[cases4197.$name] || 11;\nbreak;\ncase 9: if(cases4197.$arity !== 1) {\nif(cases4197.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1667],1,cases4197.$arity,L[1668],cases4197.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1667],true,L[1668],cases4197.$loc);\n}\n}\n$step4224 = 12;\n$al4226 = L[1667];\nvar $temp_branch4236 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1668($exn4198) {\nvar $step4237 = 0;\nvar $elidedFrames4241 = 0;\nvar $ans4238 = D;\nvar $al4239 = L[1666];\nif(R.isAR($exn4198)) {\n$step4237 = $exn4198.step;\n$al4239 = $exn4198.from;\n$ans4238 = $exn4198.ans;\n$elidedFrames4241 = $exn4198.elidedFrames;\nexn4198 = $exn4198.args[0];\nexn$v4199 = $exn4198.vars[0];\n} else {\nvar exn4198 = $exn4198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4238 = R.mC();\n}\nwhile(!R.isContinuation($ans4238)) {\nswitch($step4237) {\ncase 0: $step4237 = 1;\n$al4239 = L[1665];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,exn$unwrap2);\n}\n$ans4238 = exn$unwrap2.app(exn4198);\nbreak;\ncase 1: var exn$v4199 = $ans4238;\n$step4237 = 2;\n$al4239 = L[1664];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4238 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4199);\nbreak;\ncase 2: var anf_if4201 = $ans4238;\n$step4237 = R.checkPyretTrue(anf_if4201)?3:4;\nbreak;\ncase 3: $step4237 = 6;\n$ans4238 = (true);\nbreak;\ncase 4: $step4237 = 5;\n$al4239 = L[1663];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4238 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4199);\nbreak;\ncase 5: var anf_arg1734 = $ans4238;\n$ans4238 = R.checkWrapBoolean(anf_arg1734);\n$step4237 = 6;\nbreak;\ncase 6: var anf_if4200 = $ans4238;\n$step4237 = R.checkPyretTrue(anf_if4200)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4238 = error$not$pred2676.$var.app(loc4177,pred4176,(1));\n$step4237 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4238 = failure$exn2656.$var.app(loc4177,exn4198,on$right260.$var);\n$step4237 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4238;\ndefault: R.ffi.throwSpinnakerError(L[1666],$step4237);\n}\n}\nif($step4237 !== 9) {\n$ans4238.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4239,$temp_branch4236,$step4237,[exn4198],[exn$v4199],$elidedFrames4241);\n}\nreturn $ans4238;\n};\n$ans4225 = cases4197.$app_fields($temp_branch4236,[false]);\nbreak;\ncase 10: if(cases4197.$arity !== 1) {\nif(cases4197.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1672],1,cases4197.$arity,L[1668],cases4197.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1672],true,L[1668],cases4197.$loc);\n}\n}\n$step4224 = 12;\n$al4226 = L[1672];\nvar $temp_branch4243 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1668($pred$result4209) {\nvar $step4244 = 0;\nvar $elidedFrames4248 = 0;\nvar $ans4245 = D;\nvar $al4246 = L[1671];\nif(R.isAR($pred$result4209)) {\n$step4244 = $pred$result4209.step;\n$al4246 = $pred$result4209.from;\n$ans4245 = $pred$result4209.ans;\n$elidedFrames4248 = $pred$result4209.elidedFrames;\npred$result4209 = $pred$result4209.args[0];\n} else {\nvar pred$result4209 = $pred$result4209;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4245 = R.mC();\n}\nwhile(!R.isContinuation($ans4245)) {\nswitch($step4244) {\ncase 0: // caller optimization;\n$ans4245 = is$boolean2.app(pred$result4209);\nvar anf_arg1731 = $ans4245;\n$step4244 = 1;\n$al4246 = L[1670];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4246,not5);\n}\n$ans4245 = not5.app(anf_arg1731);\nbreak;\ncase 1: var anf_if4211 = $ans4245;\n$step4244 = R.checkPyretTrue(anf_if4211)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4245 = error$not$boolean$pred2680.$var.app(loc4177,pred4176,exn$val4194,on$left256.$var,pred$result4209);\n$step4244 = 7;\nbreak;\ncase 3: $step4244 = 4;\n$al4246 = L[1669];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4246,not5);\n}\n$ans4245 = not5.app(pred$result4209);\nbreak;\ncase 4: var anf_if4210 = $ans4245;\n$step4244 = R.checkPyretTrue(anf_if4210)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4245 = failure$raise$not$satisfied2664.$var.app(loc4177,exn4186,on$left256.$var,pred4176);\n$step4244 = 7;\nbreak;\ncase 6: // caller optimization;\n$ans4245 = success2624.$var.app(loc4177);\n$step4244 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4245;\ndefault: R.ffi.throwSpinnakerError(L[1671],$step4244);\n}\n}\nif($step4244 !== 7) {\n$ans4245.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4246,$temp_branch4243,$step4244,[pred$result4209],[],$elidedFrames4248);\n}\nreturn $ans4245;\n};\n$ans4225 = cases4197.$app_fields($temp_branch4243,[false]);\nbreak;\ncase 11: $ans4225 = R.throwNoCasesMatched(L[1668],cases4197);\n$step4224 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4225;\ndefault: R.ffi.throwSpinnakerError(L[1679],$step4224);\n}\n}\nif($step4224 !== 12) {\n$ans4225.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4226,$temp_branch4223,$step4224,[exn4186],[cases4197,exn$val4194],$elidedFrames4228);\n}\nreturn $ans4225;\n};\n$ans4178 = cases4182.$app_fields($temp_branch4223,[false]);\nbreak;\ncase 5: $ans4178 = R.throwNoCasesMatched(L[1660],cases4182);\n$step4172 = 6;\nbreak;\ncase 6: var anf_arg1736 = $ans4178;\n$step4172 = 7;\n$al4179 = L[1658];\n// omitting isFunction check;\n$ans4178 = add$result2718.$var.app(anf_arg1736);\nbreak;\ncase 7: $step4172 = 8;\n$ans4178 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4178;\ndefault: R.ffi.throwSpinnakerError(L[1657],$step4172);\n}\n}\nif($step4172 !== 8) {\n$ans4178.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4179,$temp_full4173,$step4172,[self4174,thunk4175,pred4176,loc4177],[cases4182],$elidedFrames4181);\n}\nreturn $ans4178;\n};\nvar anf_obj5055 = R.makeMethod3($temp_full4173,\"check-raises-satisfies\");\nvar $temp_full4257 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1683($self4258,$thunk4259,$pred4260,$cause4261,$loc4262) {\nvar $step4256 = 0;\nvar $elidedFrames4266 = 0;\nvar $ans4263 = D;\nvar $al4264 = L[1683];\nif(R.isAR($self4258)) {\n$step4256 = $self4258.step;\n$al4264 = $self4258.from;\n$ans4263 = $self4258.ans;\n$elidedFrames4266 = $self4258.elidedFrames;\nself4258 = $self4258.args[0];\nthunk4259 = $self4258.args[1];\npred4260 = $self4258.args[2];\ncause4261 = $self4258.args[3];\nloc4262 = $self4258.args[4];\ncases4267 = $self4258.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1683],5,$t,true);\n}\nvar self4258 = $self4258;\nvar thunk4259 = $thunk4259;\nvar pred4260 = $pred4260;\nvar cause4261 = $cause4261;\nvar loc4262 = $loc4262;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4263 = R.mC();\n}\nwhile(!R.isContinuation($ans4263)) {\nswitch($step4256) {\ncase 0: $step4256 = 1;\n$al4264 = L[1732];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4264,run$task1);\n}\n$ans4263 = run$task1.app(cause4261);\nbreak;\ncase 1: var cases4267 = $ans4263;\n$step4256 = 2;\n$al4264 = L[1731];\nvar $ann$check4587 = R._cA(L[1731],R.gDA(L[1731],\"either\",either20.dict.types,\"Either\"),cases4267);\nif(R.isContinuation($ann$check4587)) {\n$ans4263 = $ann$check4587;\n}\nbreak;\ncase 2: $al4264 = L[1686];\n$step4256 = $cases_dispatch4586[cases4267.$name] || 5;\nbreak;\ncase 3: if(cases4267.$arity !== 1) {\nif(cases4267.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1685],1,cases4267.$arity,L[1686],cases4267.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1685],true,L[1686],cases4267.$loc);\n}\n}\nvar $fn4269 = cases4267.$constructor.$fieldNames;\nR.dF(cases4267.dict[$fn4269[0]],cases4267.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4263 = failure$no$exn2660.$var.app(loc4262,none14,on$cause267.$var,(true));\n$step4256 = 6;\nbreak;\ncase 4: if(cases4267.$arity !== 1) {\nif(cases4267.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1730],1,cases4267.$arity,L[1686],cases4267.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1730],true,L[1686],cases4267.$loc);\n}\n}\n$step4256 = 6;\n$al4264 = L[1730];\nvar $temp_branch4442 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1686($exn4271) {\nvar $step4443 = 0;\nvar $elidedFrames4447 = 0;\nvar $ans4444 = D;\nvar $al4445 = L[1729];\nif(R.isAR($exn4271)) {\n$step4443 = $exn4271.step;\n$al4445 = $exn4271.from;\n$ans4444 = $exn4271.ans;\n$elidedFrames4447 = $exn4271.elidedFrames;\nexn4271 = $exn4271.args[0];\ncases4283 = $exn4271.vars[0];\nexn$cause$val4281 = $exn4271.vars[1];\n} else {\nvar exn4271 = $exn4271;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4444 = R.mC();\n}\nwhile(!R.isContinuation($ans4444)) {\nswitch($step4443) {\ncase 0: $step4443 = 1;\n$al4445 = L[1729];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 1: var anf_arg4273 = $ans4444;\n$step4443 = 2;\n$al4445 = L[1728];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4444 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4273);\nbreak;\ncase 2: var anf_if4441 = $ans4444;\n$step4443 = R.checkPyretTrue(anf_if4441)?3:5;\nbreak;\ncase 3: $step4443 = 4;\n$al4445 = L[1726];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 4: var anf_bracket4440 = $ans4444;\n$step4443 = 6;\n$al4445 = L[1725];\n$ans4444 = G(anf_bracket4440,\"value\",L[1725]);\nbreak;\ncase 5: $step4443 = 6;\n$al4445 = L[1727];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 6: var exn$cause$val4281 = $ans4444;\nvar $temp_lam4449 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1687($$resumer13) {\nvar $step4448 = 0;\nvar $elidedFrames4453 = 0;\nvar $ans4450 = D;\nvar $al4451 = L[1687];\nif(R.isAR($$resumer13)) {\n$step4448 = $$resumer13.step;\n$al4451 = $$resumer13.from;\n$ans4450 = $$resumer13.ans;\n$elidedFrames4453 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1687],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4450 = R.mC();\n}\nwhile(!R.isContinuation($ans4450)) {\nswitch($step4448) {\ncase 0: $step4448 = 1;\n$al4451 = L[1688];\nif(typeof(pred4260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4451,pred4260);\n}\n$ans4450 = pred4260.app(exn$cause$val4281);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4450;\ndefault: R.ffi.throwSpinnakerError(L[1687],$step4448);\n}\n}\nif($step4448 !== 1) {\n$ans4450.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4451,$temp_lam4449,$step4448,[],[],$elidedFrames4453);\n}\nreturn $ans4450;\n};\nvar anf_arg1742 = R.mF($temp_lam4449,\"\");\n$step4443 = 7;\n$al4445 = L[1724];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,run$task1);\n}\n$ans4444 = run$task1.app(anf_arg1742);\nbreak;\ncase 7: var cases4283 = $ans4444;\n$step4443 = 8;\n$al4445 = L[1723];\nvar $ann$check4584 = R._cA(L[1723],R.gDA(L[1723],\"either\",either20.dict.types,\"Either\"),cases4283);\nif(R.isContinuation($ann$check4584)) {\n$ans4444 = $ann$check4584;\n}\nbreak;\ncase 8: $al4445 = L[1694];\n$step4443 = $cases_dispatch4583[cases4283.$name] || 11;\nbreak;\ncase 9: if(cases4283.$arity !== 1) {\nif(cases4283.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1693],1,cases4283.$arity,L[1694],cases4283.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1693],true,L[1694],cases4283.$loc);\n}\n}\n$step4443 = 12;\n$al4445 = L[1693];\nvar $temp_branch4455 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1694($exn4284) {\nvar $step4456 = 0;\nvar $elidedFrames4460 = 0;\nvar $ans4457 = D;\nvar $al4458 = L[1692];\nif(R.isAR($exn4284)) {\n$step4456 = $exn4284.step;\n$al4458 = $exn4284.from;\n$ans4457 = $exn4284.ans;\n$elidedFrames4460 = $exn4284.elidedFrames;\nexn4284 = $exn4284.args[0];\nexn$v4285 = $exn4284.vars[0];\n} else {\nvar exn4284 = $exn4284;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4457 = R.mC();\n}\nwhile(!R.isContinuation($ans4457)) {\nswitch($step4456) {\ncase 0: $step4456 = 1;\n$al4458 = L[1691];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,exn$unwrap2);\n}\n$ans4457 = exn$unwrap2.app(exn4284);\nbreak;\ncase 1: var exn$v4285 = $ans4457;\n$step4456 = 2;\n$al4458 = L[1690];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4457 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4285);\nbreak;\ncase 2: var anf_if4287 = $ans4457;\n$step4456 = R.checkPyretTrue(anf_if4287)?3:4;\nbreak;\ncase 3: $step4456 = 6;\n$ans4457 = (true);\nbreak;\ncase 4: $step4456 = 5;\n$al4458 = L[1689];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4457 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4285);\nbreak;\ncase 5: var anf_arg1743 = $ans4457;\n$ans4457 = R.checkWrapBoolean(anf_arg1743);\n$step4456 = 6;\nbreak;\ncase 6: var anf_if4286 = $ans4457;\n$step4456 = R.checkPyretTrue(anf_if4286)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4457 = error$not$pred2676.$var.app(loc4262,pred4260,(1));\n$step4456 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4457 = failure$exn2656.$var.app(loc4262,exn4284,on$right260.$var);\n$step4456 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4457;\ndefault: R.ffi.throwSpinnakerError(L[1692],$step4456);\n}\n}\nif($step4456 !== 9) {\n$ans4457.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4458,$temp_branch4455,$step4456,[exn4284],[exn$v4285],$elidedFrames4460);\n}\nreturn $ans4457;\n};\n$ans4444 = cases4283.$app_fields($temp_branch4455,[false]);\nbreak;\ncase 10: if(cases4283.$arity !== 1) {\nif(cases4283.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1722],1,cases4283.$arity,L[1694],cases4283.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1722],true,L[1694],cases4283.$loc);\n}\n}\n$step4443 = 12;\n$al4445 = L[1722];\nvar $temp_branch4519 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1694($pred$cause$result4295) {\nvar $step4520 = 0;\nvar $elidedFrames4524 = 0;\nvar $ans4521 = D;\nvar $al4522 = L[1721];\nif(R.isAR($pred$cause$result4295)) {\n$step4520 = $pred$cause$result4295.step;\n$al4522 = $pred$cause$result4295.from;\n$ans4521 = $pred$cause$result4295.ans;\n$elidedFrames4524 = $pred$cause$result4295.elidedFrames;\npred$cause$result4295 = $pred$cause$result4295.args[0];\ncases4297 = $pred$cause$result4295.vars[0];\n} else {\nvar pred$cause$result4295 = $pred$cause$result4295;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4521 = R.mC();\n}\nwhile(!R.isContinuation($ans4521)) {\nswitch($step4520) {\ncase 0: // caller optimization;\n$ans4521 = is$boolean2.app(pred$cause$result4295);\nvar anf_arg4296 = $ans4521;\n$step4520 = 1;\n$al4522 = L[1720];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,not5);\n}\n$ans4521 = not5.app(anf_arg4296);\nbreak;\ncase 1: var anf_if4373 = $ans4521;\n$step4520 = R.checkPyretTrue(anf_if4373)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4521 = error$not$boolean$pred2680.$var.app(loc4262,pred4260,exn$cause$val4281,on$cause267.$var,pred$cause$result4295);\n$step4520 = 12;\nbreak;\ncase 3: $step4520 = 4;\n$al4522 = L[1719];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,not5);\n}\n$ans4521 = not5.app(pred$cause$result4295);\nbreak;\ncase 4: var anf_if4372 = $ans4521;\n$step4520 = R.checkPyretTrue(anf_if4372)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4521 = failure$raise$not$satisfied2664.$var.app(loc4262,exn4271,on$cause267.$var,pred4260);\n$step4520 = 12;\nbreak;\ncase 6: $step4520 = 7;\n$al4522 = L[1718];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,run$task1);\n}\n$ans4521 = run$task1.app(thunk4259);\nbreak;\ncase 7: var cases4297 = $ans4521;\n$step4520 = 8;\n$al4522 = L[1717];\nvar $ann$check4581 = R._cA(L[1717],R.gDA(L[1717],\"either\",either20.dict.types,\"Either\"),cases4297);\nif(R.isContinuation($ann$check4581)) {\n$ans4521 = $ann$check4581;\n}\nbreak;\ncase 8: $al4522 = L[1696];\n$step4520 = $cases_dispatch4580[cases4297.$name] || 11;\nbreak;\ncase 9: if(cases4297.$arity !== 1) {\nif(cases4297.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1695],1,cases4297.$arity,L[1696],cases4297.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1695],true,L[1696],cases4297.$loc);\n}\n}\nvar $fn4526 = cases4297.$constructor.$fieldNames;\nR.dF(cases4297.dict[$fn4526[0]],cases4297.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4521 = failure$no$exn2660.$var.app(loc4262,none14,on$left256.$var,(true));\n$step4520 = 12;\nbreak;\ncase 10: if(cases4297.$arity !== 1) {\nif(cases4297.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1716],1,cases4297.$arity,L[1696],cases4297.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1716],true,L[1696],cases4297.$loc);\n}\n}\n$step4520 = 12;\n$al4522 = L[1716];\nvar $temp_branch4550 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1696($exn4301) {\nvar $step4551 = 0;\nvar $elidedFrames4555 = 0;\nvar $ans4552 = D;\nvar $al4553 = L[1715];\nif(R.isAR($exn4301)) {\n$step4551 = $exn4301.step;\n$al4553 = $exn4301.from;\n$ans4552 = $exn4301.ans;\n$elidedFrames4555 = $exn4301.elidedFrames;\nexn4301 = $exn4301.args[0];\nexn$thunk$val4311 = $exn4301.vars[0];\ncases4313 = $exn4301.vars[1];\n} else {\nvar exn4301 = $exn4301;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4552 = R.mC();\n}\nwhile(!R.isContinuation($ans4552)) {\nswitch($step4551) {\ncase 0: $step4551 = 1;\n$al4553 = L[1715];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 1: var anf_arg4304 = $ans4552;\n$step4551 = 2;\n$al4553 = L[1714];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4552 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4304);\nbreak;\ncase 2: var anf_if4339 = $ans4552;\n$step4551 = R.checkPyretTrue(anf_if4339)?3:5;\nbreak;\ncase 3: $step4551 = 4;\n$al4553 = L[1712];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 4: var anf_bracket4338 = $ans4552;\n$step4551 = 6;\n$al4553 = L[1711];\n$ans4552 = G(anf_bracket4338,\"value\",L[1711]);\nbreak;\ncase 5: $step4551 = 6;\n$al4553 = L[1713];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 6: var exn$thunk$val4311 = $ans4552;\nvar $temp_lam4557 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1697($$resumer13) {\nvar $step4556 = 0;\nvar $elidedFrames4561 = 0;\nvar $ans4558 = D;\nvar $al4559 = L[1697];\nif(R.isAR($$resumer13)) {\n$step4556 = $$resumer13.step;\n$al4559 = $$resumer13.from;\n$ans4558 = $$resumer13.ans;\n$elidedFrames4561 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1697],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4558 = R.mC();\n}\nwhile(!R.isContinuation($ans4558)) {\nswitch($step4556) {\ncase 0: $step4556 = 1;\n$al4559 = L[1698];\nif(typeof(pred4260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4559,pred4260);\n}\n$ans4558 = pred4260.app(exn$thunk$val4311);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4558;\ndefault: R.ffi.throwSpinnakerError(L[1697],$step4556);\n}\n}\nif($step4556 !== 1) {\n$ans4558.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4559,$temp_lam4557,$step4556,[],[],$elidedFrames4561);\n}\nreturn $ans4558;\n};\nvar anf_arg1749 = R.mF($temp_lam4557,\"\");\n$step4551 = 7;\n$al4553 = L[1710];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,run$task1);\n}\n$ans4552 = run$task1.app(anf_arg1749);\nbreak;\ncase 7: var cases4313 = $ans4552;\n$step4551 = 8;\n$al4553 = L[1709];\nvar $ann$check4578 = R._cA(L[1709],R.gDA(L[1709],\"either\",either20.dict.types,\"Either\"),cases4313);\nif(R.isContinuation($ann$check4578)) {\n$ans4552 = $ann$check4578;\n}\nbreak;\ncase 8: $al4553 = L[1704];\n$step4551 = $cases_dispatch4577[cases4313.$name] || 11;\nbreak;\ncase 9: if(cases4313.$arity !== 1) {\nif(cases4313.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1703],1,cases4313.$arity,L[1704],cases4313.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1703],true,L[1704],cases4313.$loc);\n}\n}\n$step4551 = 12;\n$al4553 = L[1703];\nvar $temp_branch4563 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1704($exn4314) {\nvar $step4564 = 0;\nvar $elidedFrames4568 = 0;\nvar $ans4565 = D;\nvar $al4566 = L[1702];\nif(R.isAR($exn4314)) {\n$step4564 = $exn4314.step;\n$al4566 = $exn4314.from;\n$ans4565 = $exn4314.ans;\n$elidedFrames4568 = $exn4314.elidedFrames;\nexn4314 = $exn4314.args[0];\nexn$v4315 = $exn4314.vars[0];\n} else {\nvar exn4314 = $exn4314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4565 = R.mC();\n}\nwhile(!R.isContinuation($ans4565)) {\nswitch($step4564) {\ncase 0: $step4564 = 1;\n$al4566 = L[1701];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,exn$unwrap2);\n}\n$ans4565 = exn$unwrap2.app(exn4314);\nbreak;\ncase 1: var exn$v4315 = $ans4565;\n$step4564 = 2;\n$al4566 = L[1700];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4565 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4315);\nbreak;\ncase 2: var anf_if4317 = $ans4565;\n$step4564 = R.checkPyretTrue(anf_if4317)?3:4;\nbreak;\ncase 3: $step4564 = 6;\n$ans4565 = (true);\nbreak;\ncase 4: $step4564 = 5;\n$al4566 = L[1699];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4565 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4315);\nbreak;\ncase 5: var anf_arg1753 = $ans4565;\n$ans4565 = R.checkWrapBoolean(anf_arg1753);\n$step4564 = 6;\nbreak;\ncase 6: var anf_if4316 = $ans4565;\n$step4564 = R.checkPyretTrue(anf_if4316)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4565 = error$not$pred2676.$var.app(loc4262,pred4260,(1));\n$step4564 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4565 = failure$exn2656.$var.app(loc4262,exn4314,on$right260.$var);\n$step4564 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4565;\ndefault: R.ffi.throwSpinnakerError(L[1702],$step4564);\n}\n}\nif($step4564 !== 9) {\n$ans4565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4566,$temp_branch4563,$step4564,[exn4314],[exn$v4315],$elidedFrames4568);\n}\nreturn $ans4565;\n};\n$ans4552 = cases4313.$app_fields($temp_branch4563,[false]);\nbreak;\ncase 10: if(cases4313.$arity !== 1) {\nif(cases4313.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1708],1,cases4313.$arity,L[1704],cases4313.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1708],true,L[1704],cases4313.$loc);\n}\n}\n$step4551 = 12;\n$al4553 = L[1708];\nvar $temp_branch4570 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1704($pred$thunk$result4326) {\nvar $step4571 = 0;\nvar $elidedFrames4575 = 0;\nvar $ans4572 = D;\nvar $al4573 = L[1707];\nif(R.isAR($pred$thunk$result4326)) {\n$step4571 = $pred$thunk$result4326.step;\n$al4573 = $pred$thunk$result4326.from;\n$ans4572 = $pred$thunk$result4326.ans;\n$elidedFrames4575 = $pred$thunk$result4326.elidedFrames;\npred$thunk$result4326 = $pred$thunk$result4326.args[0];\n} else {\nvar pred$thunk$result4326 = $pred$thunk$result4326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4572 = R.mC();\n}\nwhile(!R.isContinuation($ans4572)) {\nswitch($step4571) {\ncase 0: // caller optimization;\n$ans4572 = is$boolean2.app(pred$thunk$result4326);\nvar anf_arg1754 = $ans4572;\n$step4571 = 1;\n$al4573 = L[1706];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4573,not5);\n}\n$ans4572 = not5.app(anf_arg1754);\nbreak;\ncase 1: var anf_if4328 = $ans4572;\n$step4571 = R.checkPyretTrue(anf_if4328)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4572 = error$not$boolean$pred2680.$var.app(loc4262,pred4260,exn$thunk$val4311,on$left256.$var,pred$thunk$result4326);\n$step4571 = 7;\nbreak;\ncase 3: $step4571 = 4;\n$al4573 = L[1705];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4573,not5);\n}\n$ans4572 = not5.app(pred$thunk$result4326);\nbreak;\ncase 4: var anf_if4327 = $ans4572;\n$step4571 = R.checkPyretTrue(anf_if4327)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4572 = failure$raise$not$satisfied2664.$var.app(loc4262,exn4301,on$left256.$var,pred4260);\n$step4571 = 7;\nbreak;\ncase 6: // caller optimization;\n$ans4572 = success2624.$var.app(loc4262);\n$step4571 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4572;\ndefault: R.ffi.throwSpinnakerError(L[1707],$step4571);\n}\n}\nif($step4571 !== 7) {\n$ans4572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4573,$temp_branch4570,$step4571,[pred$thunk$result4326],[],$elidedFrames4575);\n}\nreturn $ans4572;\n};\n$ans4552 = cases4313.$app_fields($temp_branch4570,[false]);\nbreak;\ncase 11: $ans4552 = R.throwNoCasesMatched(L[1704],cases4313);\n$step4551 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4552;\ndefault: R.ffi.throwSpinnakerError(L[1715],$step4551);\n}\n}\nif($step4551 !== 12) {\n$ans4552.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4553,$temp_branch4550,$step4551,[exn4301],[exn$thunk$val4311,cases4313],$elidedFrames4555);\n}\nreturn $ans4552;\n};\n$ans4521 = cases4297.$app_fields($temp_branch4550,[false]);\nbreak;\ncase 11: $ans4521 = R.throwNoCasesMatched(L[1696],cases4297);\n$step4520 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4521;\ndefault: R.ffi.throwSpinnakerError(L[1721],$step4520);\n}\n}\nif($step4520 !== 12) {\n$ans4521.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4522,$temp_branch4519,$step4520,[pred$cause$result4295],[cases4297],$elidedFrames4524);\n}\nreturn $ans4521;\n};\n$ans4444 = cases4283.$app_fields($temp_branch4519,[false]);\nbreak;\ncase 11: $ans4444 = R.throwNoCasesMatched(L[1694],cases4283);\n$step4443 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4444;\ndefault: R.ffi.throwSpinnakerError(L[1729],$step4443);\n}\n}\nif($step4443 !== 12) {\n$ans4444.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4445,$temp_branch4442,$step4443,[exn4271],[cases4283,exn$cause$val4281],$elidedFrames4447);\n}\nreturn $ans4444;\n};\n$ans4263 = cases4267.$app_fields($temp_branch4442,[false]);\nbreak;\ncase 5: $ans4263 = R.throwNoCasesMatched(L[1686],cases4267);\n$step4256 = 6;\nbreak;\ncase 6: var anf_arg1783 = $ans4263;\n$step4256 = 7;\n$al4264 = L[1684];\n// omitting isFunction check;\n$ans4263 = add$result2718.$var.app(anf_arg1783);\nbreak;\ncase 7: $step4256 = 8;\n$ans4263 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4263;\ndefault: R.ffi.throwSpinnakerError(L[1683],$step4256);\n}\n}\nif($step4256 !== 8) {\n$ans4263.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4264,$temp_full4257,$step4256,[self4258,thunk4259,pred4260,cause4261,loc4262],[cases4267],$elidedFrames4266);\n}\nreturn $ans4263;\n};\nvar anf_obj5056 = R.makeMethod4($temp_full4257,\"check-raises-satisfies-cause\");\nvar $temp_full4590 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1733($self4591,$thunk4592,$pred4593,$loc4594) {\nvar $step4589 = 0;\nvar $elidedFrames4598 = 0;\nvar $ans4595 = D;\nvar $al4596 = L[1733];\nif(R.isAR($self4591)) {\n$step4589 = $self4591.step;\n$al4596 = $self4591.from;\n$ans4595 = $self4591.ans;\n$elidedFrames4598 = $self4591.elidedFrames;\nself4591 = $self4591.args[0];\nthunk4592 = $self4591.args[1];\npred4593 = $self4591.args[2];\nloc4594 = $self4591.args[3];\ncases4599 = $self4591.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1733],4,$t,true);\n}\nvar self4591 = $self4591;\nvar thunk4592 = $thunk4592;\nvar pred4593 = $pred4593;\nvar loc4594 = $loc4594;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4595 = R.mC();\n}\nwhile(!R.isContinuation($ans4595)) {\nswitch($step4589) {\ncase 0: $step4589 = 1;\n$al4596 = L[1757];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4596,run$task1);\n}\n$ans4595 = run$task1.app(thunk4592);\nbreak;\ncase 1: var cases4599 = $ans4595;\n$step4589 = 2;\n$al4596 = L[1756];\nvar $ann$check4671 = R._cA(L[1756],R.gDA(L[1756],\"either\",either20.dict.types,\"Either\"),cases4599);\nif(R.isContinuation($ann$check4671)) {\n$ans4595 = $ann$check4671;\n}\nbreak;\ncase 2: $al4596 = L[1736];\n$step4589 = $cases_dispatch4670[cases4599.$name] || 5;\nbreak;\ncase 3: if(cases4599.$arity !== 1) {\nif(cases4599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1735],1,cases4599.$arity,L[1736],cases4599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1735],true,L[1736],cases4599.$loc);\n}\n}\nvar $fn4601 = cases4599.$constructor.$fieldNames;\nR.dF(cases4599.dict[$fn4601[0]],cases4599.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4595 = failure$no$exn2660.$var.app(loc4594,none14,on$left256.$var,(true));\n$step4589 = 6;\nbreak;\ncase 4: if(cases4599.$arity !== 1) {\nif(cases4599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1755],1,cases4599.$arity,L[1736],cases4599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1755],true,L[1736],cases4599.$loc);\n}\n}\n$step4589 = 6;\n$al4596 = L[1755];\nvar $temp_branch4639 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1736($exn4603) {\nvar $step4640 = 0;\nvar $elidedFrames4644 = 0;\nvar $ans4641 = D;\nvar $al4642 = L[1754];\nif(R.isAR($exn4603)) {\n$step4640 = $exn4603.step;\n$al4642 = $exn4603.from;\n$ans4641 = $exn4603.ans;\n$elidedFrames4644 = $exn4603.elidedFrames;\nexn4603 = $exn4603.args[0];\ncases4613 = $exn4603.vars[0];\nexn$val4611 = $exn4603.vars[1];\n} else {\nvar exn4603 = $exn4603;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4641 = R.mC();\n}\nwhile(!R.isContinuation($ans4641)) {\nswitch($step4640) {\ncase 0: $step4640 = 1;\n$al4642 = L[1754];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 1: var anf_arg1784 = $ans4641;\n$step4640 = 2;\n$al4642 = L[1753];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4641 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1784);\nbreak;\ncase 2: var anf_if4638 = $ans4641;\n$step4640 = R.checkPyretTrue(anf_if4638)?3:5;\nbreak;\ncase 3: $step4640 = 4;\n$al4642 = L[1751];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 4: var anf_bracket4637 = $ans4641;\n$step4640 = 6;\n$al4642 = L[1750];\n$ans4641 = G(anf_bracket4637,\"value\",L[1750]);\nbreak;\ncase 5: $step4640 = 6;\n$al4642 = L[1752];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 6: var exn$val4611 = $ans4641;\nvar $temp_lam4646 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1737($$resumer13) {\nvar $step4645 = 0;\nvar $elidedFrames4650 = 0;\nvar $ans4647 = D;\nvar $al4648 = L[1737];\nif(R.isAR($$resumer13)) {\n$step4645 = $$resumer13.step;\n$al4648 = $$resumer13.from;\n$ans4647 = $$resumer13.ans;\n$elidedFrames4650 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1737],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4647 = R.mC();\n}\nwhile(!R.isContinuation($ans4647)) {\nswitch($step4645) {\ncase 0: $step4645 = 1;\n$al4648 = L[1738];\nif(typeof(pred4593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4648,pred4593);\n}\n$ans4647 = pred4593.app(exn$val4611);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4647;\ndefault: R.ffi.throwSpinnakerError(L[1737],$step4645);\n}\n}\nif($step4645 !== 1) {\n$ans4647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4648,$temp_lam4646,$step4645,[],[],$elidedFrames4650);\n}\nreturn $ans4647;\n};\nvar anf_arg1786 = R.mF($temp_lam4646,\"\");\n$step4640 = 7;\n$al4642 = L[1749];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,run$task1);\n}\n$ans4641 = run$task1.app(anf_arg1786);\nbreak;\ncase 7: var cases4613 = $ans4641;\n$step4640 = 8;\n$al4642 = L[1748];\nvar $ann$check4668 = R._cA(L[1748],R.gDA(L[1748],\"either\",either20.dict.types,\"Either\"),cases4613);\nif(R.isContinuation($ann$check4668)) {\n$ans4641 = $ann$check4668;\n}\nbreak;\ncase 8: $al4642 = L[1744];\n$step4640 = $cases_dispatch4667[cases4613.$name] || 11;\nbreak;\ncase 9: if(cases4613.$arity !== 1) {\nif(cases4613.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1743],1,cases4613.$arity,L[1744],cases4613.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1743],true,L[1744],cases4613.$loc);\n}\n}\n$step4640 = 12;\n$al4642 = L[1743];\nvar $temp_branch4652 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1744($exn4614) {\nvar $step4654 = 0;\nvar $elidedFrames4658 = 0;\nvar $ans4655 = D;\nvar $al4656 = L[1742];\nif(R.isAR($exn4614)) {\n$step4654 = $exn4614.step;\n$al4656 = $exn4614.from;\n$ans4655 = $exn4614.ans;\n$elidedFrames4658 = $exn4614.elidedFrames;\nexn4614 = $exn4614.args[0];\nexn$v4615 = $exn4614.vars[0];\n} else {\nvar exn4614 = $exn4614;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4655 = R.mC();\n}\nwhile(!R.isContinuation($ans4655)) {\nswitch($step4654) {\ncase 0: $step4654 = 1;\n$al4656 = L[1741];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,exn$unwrap2);\n}\n$ans4655 = exn$unwrap2.app(exn4614);\nbreak;\ncase 1: var exn$v4615 = $ans4655;\n$step4654 = 2;\n$al4656 = L[1740];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4655 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4615);\nbreak;\ncase 2: var anf_if4617 = $ans4655;\n$step4654 = R.checkPyretTrue(anf_if4617)?3:4;\nbreak;\ncase 3: $step4654 = 6;\n$ans4655 = (true);\nbreak;\ncase 4: $step4654 = 5;\n$al4656 = L[1739];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4655 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4615);\nbreak;\ncase 5: var anf_arg1787 = $ans4655;\n$ans4655 = R.checkWrapBoolean(anf_arg1787);\n$step4654 = 6;\nbreak;\ncase 6: var anf_if4616 = $ans4655;\n$step4654 = R.checkPyretTrue(anf_if4616)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4655 = error$not$pred2676.$var.app(loc4594,pred4593,(1));\n$step4654 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4655 = failure$exn2656.$var.app(loc4594,exn4614,on$right260.$var);\n$step4654 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4655;\ndefault: R.ffi.throwSpinnakerError(L[1742],$step4654);\n}\n}\nif($step4654 !== 9) {\n$ans4655.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4656,$temp_branch4652,$step4654,[exn4614],[exn$v4615],$elidedFrames4658);\n}\nreturn $ans4655;\n};\n$ans4641 = cases4613.$app_fields($temp_branch4652,[false]);\nbreak;\ncase 10: if(cases4613.$arity !== 1) {\nif(cases4613.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1747],1,cases4613.$arity,L[1744],cases4613.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1747],true,L[1744],cases4613.$loc);\n}\n}\n$step4640 = 12;\n$al4642 = L[1747];\nvar $temp_branch4660 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1744($pred$result4625) {\nvar $step4661 = 0;\nvar $elidedFrames4665 = 0;\nvar $ans4662 = D;\nvar $al4663 = L[1746];\nif(R.isAR($pred$result4625)) {\n$step4661 = $pred$result4625.step;\n$al4663 = $pred$result4625.from;\n$ans4662 = $pred$result4625.ans;\n$elidedFrames4665 = $pred$result4625.elidedFrames;\npred$result4625 = $pred$result4625.args[0];\n} else {\nvar pred$result4625 = $pred$result4625;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4662 = R.mC();\n}\nwhile(!R.isContinuation($ans4662)) {\nswitch($step4661) {\ncase 0: // caller optimization;\n$ans4662 = is$boolean2.app(pred$result4625);\nvar anf_arg4626 = $ans4662;\n$step4661 = 1;\n$al4663 = L[1745];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4663,not5);\n}\n$ans4662 = not5.app(anf_arg4626);\nbreak;\ncase 1: var anf_if4627 = $ans4662;\n$step4661 = R.checkPyretTrue(anf_if4627)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4662 = error$not$boolean$pred2680.$var.app(loc4594,pred4593,exn$val4611,on$left256.$var,pred$result4625);\n$step4661 = 6;\nbreak;\ncase 3: $step4661 = R.checkPyretTrue(pred$result4625)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4662 = failure$raise$not$dissatisfied2668.$var.app(loc4594,exn4603,on$left256.$var,pred4593);\n$step4661 = 6;\nbreak;\ncase 5: // caller optimization;\n$ans4662 = success2624.$var.app(loc4594);\n$step4661 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4662;\ndefault: R.ffi.throwSpinnakerError(L[1746],$step4661);\n}\n}\nif($step4661 !== 6) {\n$ans4662.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4663,$temp_branch4660,$step4661,[pred$result4625],[],$elidedFrames4665);\n}\nreturn $ans4662;\n};\n$ans4641 = cases4613.$app_fields($temp_branch4660,[false]);\nbreak;\ncase 11: $ans4641 = R.throwNoCasesMatched(L[1744],cases4613);\n$step4640 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4641;\ndefault: R.ffi.throwSpinnakerError(L[1754],$step4640);\n}\n}\nif($step4640 !== 12) {\n$ans4641.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4642,$temp_branch4639,$step4640,[exn4603],[cases4613,exn$val4611],$elidedFrames4644);\n}\nreturn $ans4641;\n};\n$ans4595 = cases4599.$app_fields($temp_branch4639,[false]);\nbreak;\ncase 5: $ans4595 = R.throwNoCasesMatched(L[1736],cases4599);\n$step4589 = 6;\nbreak;\ncase 6: var anf_arg1807 = $ans4595;\n$step4589 = 7;\n$al4596 = L[1734];\n// omitting isFunction check;\n$ans4595 = add$result2718.$var.app(anf_arg1807);\nbreak;\ncase 7: $step4589 = 8;\n$ans4595 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4595;\ndefault: R.ffi.throwSpinnakerError(L[1733],$step4589);\n}\n}\nif($step4589 !== 8) {\n$ans4595.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4596,$temp_full4590,$step4589,[self4591,thunk4592,pred4593,loc4594],[cases4599],$elidedFrames4598);\n}\nreturn $ans4595;\n};\nvar anf_obj5057 = R.makeMethod3($temp_full4590,\"check-raises-violates\");\nvar $temp_full4674 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1758($self4675,$thunk4676,$pred4677,$cause4678,$loc4679) {\nvar $step4673 = 0;\nvar $elidedFrames4683 = 0;\nvar $ans4680 = D;\nvar $al4681 = L[1758];\nif(R.isAR($self4675)) {\n$step4673 = $self4675.step;\n$al4681 = $self4675.from;\n$ans4680 = $self4675.ans;\n$elidedFrames4683 = $self4675.elidedFrames;\nself4675 = $self4675.args[0];\nthunk4676 = $self4675.args[1];\npred4677 = $self4675.args[2];\ncause4678 = $self4675.args[3];\nloc4679 = $self4675.args[4];\ncases4684 = $self4675.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1758],5,$t,true);\n}\nvar self4675 = $self4675;\nvar thunk4676 = $thunk4676;\nvar pred4677 = $pred4677;\nvar cause4678 = $cause4678;\nvar loc4679 = $loc4679;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4680 = R.mC();\n}\nwhile(!R.isContinuation($ans4680)) {\nswitch($step4673) {\ncase 0: $step4673 = 1;\n$al4681 = L[1805];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4681,run$task1);\n}\n$ans4680 = run$task1.app(cause4678);\nbreak;\ncase 1: var cases4684 = $ans4680;\n$step4673 = 2;\n$al4681 = L[1804];\nvar $ann$check5000 = R._cA(L[1804],R.gDA(L[1804],\"either\",either20.dict.types,\"Either\"),cases4684);\nif(R.isContinuation($ann$check5000)) {\n$ans4680 = $ann$check5000;\n}\nbreak;\ncase 2: $al4681 = L[1761];\n$step4673 = $cases_dispatch4999[cases4684.$name] || 5;\nbreak;\ncase 3: if(cases4684.$arity !== 1) {\nif(cases4684.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1760],1,cases4684.$arity,L[1761],cases4684.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1760],true,L[1761],cases4684.$loc);\n}\n}\nvar $fn4686 = cases4684.$constructor.$fieldNames;\nR.dF(cases4684.dict[$fn4686[0]],cases4684.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4680 = failure$no$exn2660.$var.app(loc4679,none14,on$cause267.$var,(true));\n$step4673 = 6;\nbreak;\ncase 4: if(cases4684.$arity !== 1) {\nif(cases4684.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1803],1,cases4684.$arity,L[1761],cases4684.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1803],true,L[1761],cases4684.$loc);\n}\n}\n$step4673 = 6;\n$al4681 = L[1803];\nvar $temp_branch4854 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1761($exn4688) {\nvar $step4855 = 0;\nvar $elidedFrames4859 = 0;\nvar $ans4856 = D;\nvar $al4857 = L[1802];\nif(R.isAR($exn4688)) {\n$step4855 = $exn4688.step;\n$al4857 = $exn4688.from;\n$ans4856 = $exn4688.ans;\n$elidedFrames4859 = $exn4688.elidedFrames;\nexn4688 = $exn4688.args[0];\ncases4697 = $exn4688.vars[0];\nexn$cause$val4695 = $exn4688.vars[1];\n} else {\nvar exn4688 = $exn4688;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4856 = R.mC();\n}\nwhile(!R.isContinuation($ans4856)) {\nswitch($step4855) {\ncase 0: $step4855 = 1;\n$al4857 = L[1802];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 1: var anf_arg1804 = $ans4856;\n$step4855 = 2;\n$al4857 = L[1801];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4856 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1804);\nbreak;\ncase 2: var anf_if4853 = $ans4856;\n$step4855 = R.checkPyretTrue(anf_if4853)?3:5;\nbreak;\ncase 3: $step4855 = 4;\n$al4857 = L[1799];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 4: var anf_bracket4852 = $ans4856;\n$step4855 = 6;\n$al4857 = L[1798];\n$ans4856 = G(anf_bracket4852,\"value\",L[1798]);\nbreak;\ncase 5: $step4855 = 6;\n$al4857 = L[1800];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 6: var exn$cause$val4695 = $ans4856;\nvar $temp_lam4861 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1762($$resumer13) {\nvar $step4860 = 0;\nvar $elidedFrames4865 = 0;\nvar $ans4862 = D;\nvar $al4863 = L[1762];\nif(R.isAR($$resumer13)) {\n$step4860 = $$resumer13.step;\n$al4863 = $$resumer13.from;\n$ans4862 = $$resumer13.ans;\n$elidedFrames4865 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1762],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4862 = R.mC();\n}\nwhile(!R.isContinuation($ans4862)) {\nswitch($step4860) {\ncase 0: $step4860 = 1;\n$al4863 = L[1763];\nif(typeof(pred4677.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4863,pred4677);\n}\n$ans4862 = pred4677.app(exn$cause$val4695);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4862;\ndefault: R.ffi.throwSpinnakerError(L[1762],$step4860);\n}\n}\nif($step4860 !== 1) {\n$ans4862.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4863,$temp_lam4861,$step4860,[],[],$elidedFrames4865);\n}\nreturn $ans4862;\n};\nvar anf_arg1809 = R.mF($temp_lam4861,\"\");\n$step4855 = 7;\n$al4857 = L[1797];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,run$task1);\n}\n$ans4856 = run$task1.app(anf_arg1809);\nbreak;\ncase 7: var cases4697 = $ans4856;\n$step4855 = 8;\n$al4857 = L[1796];\nvar $ann$check4997 = R._cA(L[1796],R.gDA(L[1796],\"either\",either20.dict.types,\"Either\"),cases4697);\nif(R.isContinuation($ann$check4997)) {\n$ans4856 = $ann$check4997;\n}\nbreak;\ncase 8: $al4857 = L[1769];\n$step4855 = $cases_dispatch4996[cases4697.$name] || 11;\nbreak;\ncase 9: if(cases4697.$arity !== 1) {\nif(cases4697.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1768],1,cases4697.$arity,L[1769],cases4697.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1768],true,L[1769],cases4697.$loc);\n}\n}\n$step4855 = 12;\n$al4857 = L[1768];\nvar $temp_branch4867 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1769($exn4698) {\nvar $step4868 = 0;\nvar $elidedFrames4872 = 0;\nvar $ans4869 = D;\nvar $al4870 = L[1767];\nif(R.isAR($exn4698)) {\n$step4868 = $exn4698.step;\n$al4870 = $exn4698.from;\n$ans4869 = $exn4698.ans;\n$elidedFrames4872 = $exn4698.elidedFrames;\nexn4698 = $exn4698.args[0];\nexn$v4699 = $exn4698.vars[0];\n} else {\nvar exn4698 = $exn4698;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4869 = R.mC();\n}\nwhile(!R.isContinuation($ans4869)) {\nswitch($step4868) {\ncase 0: $step4868 = 1;\n$al4870 = L[1766];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,exn$unwrap2);\n}\n$ans4869 = exn$unwrap2.app(exn4698);\nbreak;\ncase 1: var exn$v4699 = $ans4869;\n$step4868 = 2;\n$al4870 = L[1765];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4869 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4699);\nbreak;\ncase 2: var anf_if4702 = $ans4869;\n$step4868 = R.checkPyretTrue(anf_if4702)?3:4;\nbreak;\ncase 3: $step4868 = 6;\n$ans4869 = (true);\nbreak;\ncase 4: $step4868 = 5;\n$al4870 = L[1764];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4869 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4699);\nbreak;\ncase 5: var anf_arg4701 = $ans4869;\n$ans4869 = R.checkWrapBoolean(anf_arg4701);\n$step4868 = 6;\nbreak;\ncase 6: var anf_if4700 = $ans4869;\n$step4868 = R.checkPyretTrue(anf_if4700)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4869 = error$not$pred2676.$var.app(loc4679,pred4677,(1));\n$step4868 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4869 = failure$exn2656.$var.app(loc4679,exn4698,on$right260.$var);\n$step4868 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4869;\ndefault: R.ffi.throwSpinnakerError(L[1767],$step4868);\n}\n}\nif($step4868 !== 9) {\n$ans4869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4870,$temp_branch4867,$step4868,[exn4698],[exn$v4699],$elidedFrames4872);\n}\nreturn $ans4869;\n};\n$ans4856 = cases4697.$app_fields($temp_branch4867,[false]);\nbreak;\ncase 10: if(cases4697.$arity !== 1) {\nif(cases4697.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1795],1,cases4697.$arity,L[1769],cases4697.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1795],true,L[1769],cases4697.$loc);\n}\n}\n$step4855 = 12;\n$al4857 = L[1795];\nvar $temp_branch4931 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1769($pred$cause$result4710) {\nvar $step4933 = 0;\nvar $elidedFrames4937 = 0;\nvar $ans4934 = D;\nvar $al4935 = L[1794];\nif(R.isAR($pred$cause$result4710)) {\n$step4933 = $pred$cause$result4710.step;\n$al4935 = $pred$cause$result4710.from;\n$ans4934 = $pred$cause$result4710.ans;\n$elidedFrames4937 = $pred$cause$result4710.elidedFrames;\npred$cause$result4710 = $pred$cause$result4710.args[0];\ncases4711 = $pred$cause$result4710.vars[0];\n} else {\nvar pred$cause$result4710 = $pred$cause$result4710;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4934 = R.mC();\n}\nwhile(!R.isContinuation($ans4934)) {\nswitch($step4933) {\ncase 0: // caller optimization;\n$ans4934 = is$boolean2.app(pred$cause$result4710);\nvar anf_arg1825 = $ans4934;\n$step4933 = 1;\n$al4935 = L[1793];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4935,not5);\n}\n$ans4934 = not5.app(anf_arg1825);\nbreak;\ncase 1: var anf_if4783 = $ans4934;\n$step4933 = R.checkPyretTrue(anf_if4783)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4934 = error$not$boolean$pred2680.$var.app(loc4679,pred4677,exn$cause$val4695,on$cause267.$var,pred$cause$result4710);\n$step4933 = 11;\nbreak;\ncase 3: $step4933 = R.checkPyretTrue(pred$cause$result4710)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4934 = failure$raise$not$dissatisfied2668.$var.app(loc4679,exn4688,on$cause267.$var,pred4677);\n$step4933 = 11;\nbreak;\ncase 5: $step4933 = 6;\n$al4935 = L[1792];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4935,run$task1);\n}\n$ans4934 = run$task1.app(thunk4676);\nbreak;\ncase 6: var cases4711 = $ans4934;\n$step4933 = 7;\n$al4935 = L[1791];\nvar $ann$check4994 = R._cA(L[1791],R.gDA(L[1791],\"either\",either20.dict.types,\"Either\"),cases4711);\nif(R.isContinuation($ann$check4994)) {\n$ans4934 = $ann$check4994;\n}\nbreak;\ncase 7: $al4935 = L[1771];\n$step4933 = $cases_dispatch4993[cases4711.$name] || 10;\nbreak;\ncase 8: if(cases4711.$arity !== 1) {\nif(cases4711.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1770],1,cases4711.$arity,L[1771],cases4711.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1770],true,L[1771],cases4711.$loc);\n}\n}\nvar $fn4939 = cases4711.$constructor.$fieldNames;\nR.dF(cases4711.dict[$fn4939[0]],cases4711.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4934 = failure$no$exn2660.$var.app(loc4679,none14,on$left256.$var,(true));\n$step4933 = 11;\nbreak;\ncase 9: if(cases4711.$arity !== 1) {\nif(cases4711.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1790],1,cases4711.$arity,L[1771],cases4711.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1790],true,L[1771],cases4711.$loc);\n}\n}\n$step4933 = 11;\n$al4935 = L[1790];\nvar $temp_branch4963 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1771($exn4715) {\nvar $step4964 = 0;\nvar $elidedFrames4968 = 0;\nvar $ans4965 = D;\nvar $al4966 = L[1789];\nif(R.isAR($exn4715)) {\n$step4964 = $exn4715.step;\n$al4966 = $exn4715.from;\n$ans4965 = $exn4715.ans;\n$elidedFrames4968 = $exn4715.elidedFrames;\nexn4715 = $exn4715.args[0];\nexn$thunk$val4722 = $exn4715.vars[0];\ncases4724 = $exn4715.vars[1];\n} else {\nvar exn4715 = $exn4715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4965 = R.mC();\n}\nwhile(!R.isContinuation($ans4965)) {\nswitch($step4964) {\ncase 0: $step4964 = 1;\n$al4966 = L[1789];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 1: var anf_arg1822 = $ans4965;\n$step4964 = 2;\n$al4966 = L[1788];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4965 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1822);\nbreak;\ncase 2: var anf_if4749 = $ans4965;\n$step4964 = R.checkPyretTrue(anf_if4749)?3:5;\nbreak;\ncase 3: $step4964 = 4;\n$al4966 = L[1786];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 4: var anf_bracket4748 = $ans4965;\n$step4964 = 6;\n$al4966 = L[1785];\n$ans4965 = G(anf_bracket4748,\"value\",L[1785]);\nbreak;\ncase 5: $step4964 = 6;\n$al4966 = L[1787];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 6: var exn$thunk$val4722 = $ans4965;\nvar $temp_lam4970 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1772($$resumer13) {\nvar $step4969 = 0;\nvar $elidedFrames4974 = 0;\nvar $ans4971 = D;\nvar $al4972 = L[1772];\nif(R.isAR($$resumer13)) {\n$step4969 = $$resumer13.step;\n$al4972 = $$resumer13.from;\n$ans4971 = $$resumer13.ans;\n$elidedFrames4974 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1772],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4971 = R.mC();\n}\nwhile(!R.isContinuation($ans4971)) {\nswitch($step4969) {\ncase 0: $step4969 = 1;\n$al4972 = L[1773];\nif(typeof(pred4677.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4972,pred4677);\n}\n$ans4971 = pred4677.app(exn$thunk$val4722);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4971;\ndefault: R.ffi.throwSpinnakerError(L[1772],$step4969);\n}\n}\nif($step4969 !== 1) {\n$ans4971.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4972,$temp_lam4970,$step4969,[],[],$elidedFrames4974);\n}\nreturn $ans4971;\n};\nvar anf_arg1827 = R.mF($temp_lam4970,\"\");\n$step4964 = 7;\n$al4966 = L[1784];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,run$task1);\n}\n$ans4965 = run$task1.app(anf_arg1827);\nbreak;\ncase 7: var cases4724 = $ans4965;\n$step4964 = 8;\n$al4966 = L[1783];\nvar $ann$check4991 = R._cA(L[1783],R.gDA(L[1783],\"either\",either20.dict.types,\"Either\"),cases4724);\nif(R.isContinuation($ann$check4991)) {\n$ans4965 = $ann$check4991;\n}\nbreak;\ncase 8: $al4966 = L[1779];\n$step4964 = $cases_dispatch4990[cases4724.$name] || 11;\nbreak;\ncase 9: if(cases4724.$arity !== 1) {\nif(cases4724.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1778],1,cases4724.$arity,L[1779],cases4724.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1778],true,L[1779],cases4724.$loc);\n}\n}\n$step4964 = 12;\n$al4966 = L[1778];\nvar $temp_branch4976 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1779($exn4725) {\nvar $step4977 = 0;\nvar $elidedFrames4981 = 0;\nvar $ans4978 = D;\nvar $al4979 = L[1777];\nif(R.isAR($exn4725)) {\n$step4977 = $exn4725.step;\n$al4979 = $exn4725.from;\n$ans4978 = $exn4725.ans;\n$elidedFrames4981 = $exn4725.elidedFrames;\nexn4725 = $exn4725.args[0];\nexn$v4726 = $exn4725.vars[0];\n} else {\nvar exn4725 = $exn4725;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4978 = R.mC();\n}\nwhile(!R.isContinuation($ans4978)) {\nswitch($step4977) {\ncase 0: $step4977 = 1;\n$al4979 = L[1776];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,exn$unwrap2);\n}\n$ans4978 = exn$unwrap2.app(exn4725);\nbreak;\ncase 1: var exn$v4726 = $ans4978;\n$step4977 = 2;\n$al4979 = L[1775];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4978 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4726);\nbreak;\ncase 2: var anf_if4728 = $ans4978;\n$step4977 = R.checkPyretTrue(anf_if4728)?3:4;\nbreak;\ncase 3: $step4977 = 6;\n$ans4978 = (true);\nbreak;\ncase 4: $step4977 = 5;\n$al4979 = L[1774];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4978 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4726);\nbreak;\ncase 5: var anf_arg4727 = $ans4978;\n$ans4978 = R.checkWrapBoolean(anf_arg4727);\n$step4977 = 6;\nbreak;\ncase 6: var anf_if1922 = $ans4978;\n$step4977 = R.checkPyretTrue(anf_if1922)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4978 = error$not$pred2676.$var.app(loc4679,pred4677,(1));\n$step4977 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4978 = failure$exn2656.$var.app(loc4679,exn4725,on$right260.$var);\n$step4977 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4978;\ndefault: R.ffi.throwSpinnakerError(L[1777],$step4977);\n}\n}\nif($step4977 !== 9) {\n$ans4978.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4979,$temp_branch4976,$step4977,[exn4725],[exn$v4726],$elidedFrames4981);\n}\nreturn $ans4978;\n};\n$ans4965 = cases4724.$app_fields($temp_branch4976,[false]);\nbreak;\ncase 10: if(cases4724.$arity !== 1) {\nif(cases4724.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1782],1,cases4724.$arity,L[1779],cases4724.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1782],true,L[1779],cases4724.$loc);\n}\n}\n$step4964 = 12;\n$al4966 = L[1782];\nvar $temp_branch4983 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1779($pred$thunk$result4736) {\nvar $step4984 = 0;\nvar $elidedFrames4988 = 0;\nvar $ans4985 = D;\nvar $al4986 = L[1781];\nif(R.isAR($pred$thunk$result4736)) {\n$step4984 = $pred$thunk$result4736.step;\n$al4986 = $pred$thunk$result4736.from;\n$ans4985 = $pred$thunk$result4736.ans;\n$elidedFrames4988 = $pred$thunk$result4736.elidedFrames;\npred$thunk$result4736 = $pred$thunk$result4736.args[0];\n} else {\nvar pred$thunk$result4736 = $pred$thunk$result4736;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4985 = R.mC();\n}\nwhile(!R.isContinuation($ans4985)) {\nswitch($step4984) {\ncase 0: // caller optimization;\n$ans4985 = is$boolean2.app(pred$thunk$result4736);\nvar anf_arg4737 = $ans4985;\n$step4984 = 1;\n$al4986 = L[1780];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4986,not5);\n}\n$ans4985 = not5.app(anf_arg4737);\nbreak;\ncase 1: var anf_if4738 = $ans4985;\n$step4984 = R.checkPyretTrue(anf_if4738)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4985 = error$not$boolean$pred2680.$var.app(loc4679,pred4677,exn$thunk$val4722,on$left256.$var,pred$thunk$result4736);\n$step4984 = 6;\nbreak;\ncase 3: $step4984 = R.checkPyretTrue(pred$thunk$result4736)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4985 = failure$raise$not$dissatisfied2668.$var.app(loc4679,exn4715,on$left256.$var,pred4677);\n$step4984 = 6;\nbreak;\ncase 5: // caller optimization;\n$ans4985 = success2624.$var.app(loc4679);\n$step4984 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4985;\ndefault: R.ffi.throwSpinnakerError(L[1781],$step4984);\n}\n}\nif($step4984 !== 6) {\n$ans4985.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4986,$temp_branch4983,$step4984,[pred$thunk$result4736],[],$elidedFrames4988);\n}\nreturn $ans4985;\n};\n$ans4965 = cases4724.$app_fields($temp_branch4983,[false]);\nbreak;\ncase 11: $ans4965 = R.throwNoCasesMatched(L[1779],cases4724);\n$step4964 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4965;\ndefault: R.ffi.throwSpinnakerError(L[1789],$step4964);\n}\n}\nif($step4964 !== 12) {\n$ans4965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4966,$temp_branch4963,$step4964,[exn4715],[exn$thunk$val4722,cases4724],$elidedFrames4968);\n}\nreturn $ans4965;\n};\n$ans4934 = cases4711.$app_fields($temp_branch4963,[false]);\nbreak;\ncase 10: $ans4934 = R.throwNoCasesMatched(L[1771],cases4711);\n$step4933 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4934;\ndefault: R.ffi.throwSpinnakerError(L[1794],$step4933);\n}\n}\nif($step4933 !== 11) {\n$ans4934.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4935,$temp_branch4931,$step4933,[pred$cause$result4710],[cases4711],$elidedFrames4937);\n}\nreturn $ans4934;\n};\n$ans4856 = cases4697.$app_fields($temp_branch4931,[false]);\nbreak;\ncase 11: $ans4856 = R.throwNoCasesMatched(L[1769],cases4697);\n$step4855 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4856;\ndefault: R.ffi.throwSpinnakerError(L[1802],$step4855);\n}\n}\nif($step4855 !== 12) {\n$ans4856.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4857,$temp_branch4854,$step4855,[exn4688],[cases4697,exn$cause$val4695],$elidedFrames4859);\n}\nreturn $ans4856;\n};\n$ans4680 = cases4684.$app_fields($temp_branch4854,[false]);\nbreak;\ncase 5: $ans4680 = R.throwNoCasesMatched(L[1761],cases4684);\n$step4673 = 6;\nbreak;\ncase 6: var anf_arg1845 = $ans4680;\n$step4673 = 7;\n$al4681 = L[1759];\n// omitting isFunction check;\n$ans4680 = add$result2718.$var.app(anf_arg1845);\nbreak;\ncase 7: $step4673 = 8;\n$ans4680 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4680;\ndefault: R.ffi.throwSpinnakerError(L[1758],$step4673);\n}\n}\nif($step4673 !== 8) {\n$ans4680.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4681,$temp_full4674,$step4673,[self4675,thunk4676,pred4677,cause4678,loc4679],[cases4684],$elidedFrames4683);\n}\nreturn $ans4680;\n};\nvar anf_obj5058 = R.makeMethod4($temp_full4674,\"check-raises-violates-cause\");\nvar $temp_full5003 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1806($self5004) {\nvar $step5002 = 0;\nvar $elidedFrames5008 = 0;\nvar $ans5005 = D;\nvar $al5006 = L[1806];\nif(R.isAR($self5004)) {\n$step5002 = $self5004.step;\n$al5006 = $self5004.from;\n$ans5005 = $self5004.ans;\n$elidedFrames5008 = $self5004.elidedFrames;\nself5004 = $self5004.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1806],1,$t,true);\n}\nvar self5004 = $self5004;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5005 = R.mC();\n}\nwhile(!R.isContinuation($ans5005)) {\nswitch($step5002) {\ncase 0: var anf_fun5010 = results$summary5009.$var === D?U(L[1807],\"results-summary\"):results$summary5009.$var;\nvar anf_arg1846 = block$results2697.$var;\n$step5002 = 1;\n$al5006 = L[1808];\nif(typeof(anf_fun5010.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5006,anf_fun5010);\n}\n$ans5005 = anf_fun5010.app(anf_arg1846);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5005;\ndefault: R.ffi.throwSpinnakerError(L[1806],$step5002);\n}\n}\nif($step5002 !== 1) {\n$ans5005.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5006,$temp_full5003,$step5002,[self5004],[],$elidedFrames5008);\n}\nreturn $ans5005;\n};\nvar anf_obj5059 = R.makeMethod0($temp_full5003,\"summary\");\nvar $temp_full5013 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1809($self5014) {\nvar $step5012 = 0;\nvar $elidedFrames5018 = 0;\nvar $ans5015 = D;\nvar $al5016 = L[1809];\nif(R.isAR($self5014)) {\n$step5012 = $self5014.step;\n$al5016 = $self5014.from;\n$ans5015 = $self5014.ans;\n$elidedFrames5018 = $self5014.elidedFrames;\nself5014 = $self5014.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1809],1,$t,true);\n}\nvar self5014 = $self5014;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5015 = R.mC();\n}\nwhile(!R.isContinuation($ans5015)) {\nswitch($step5012) {\ncase 0: $step5012 = 1;\n$ans5015 = block$results2697.$var;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5015;\ndefault: R.ffi.throwSpinnakerError(L[1809],$step5012);\n}\n}\nif($step5012 !== 1) {\n$ans5015.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5016,$temp_full5013,$step5012,[self5014],[],$elidedFrames5018);\n}\nreturn $ans5015;\n};\nvar anf_obj5060 = R.makeMethod0($temp_full5013,\"results\");\nvar $temp_full5021 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1810($self5022) {\nvar $step5020 = 0;\nvar $elidedFrames5027 = 0;\nvar $ans5024 = D;\nvar $al5025 = L[1810];\nif(R.isAR($self5022)) {\n$step5020 = $self5022.step;\n$al5025 = $self5022.from;\n$ans5024 = $self5022.ans;\n$elidedFrames5027 = $self5022.elidedFrames;\nself5022 = $self5022.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1810],1,$t,true);\n}\nvar self5022 = $self5022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5024 = R.mC();\n}\nwhile(!R.isContinuation($ans5024)) {\nswitch($step5020) {\ncase 0: var anf_fun5029 = render$check$results5028.$var === D?U(L[1811],\"render-check-results\"):render$check$results5028.$var;\nvar anf_arg5030 = block$results2697.$var;\n$step5020 = 1;\n$al5025 = L[1812];\nif(typeof(anf_fun5029.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5025,anf_fun5029);\n}\n$ans5024 = anf_fun5029.app(anf_arg5030);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5024;\ndefault: R.ffi.throwSpinnakerError(L[1810],$step5020);\n}\n}\nif($step5020 !== 1) {\n$ans5024.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5025,$temp_full5021,$step5020,[self5022],[],$elidedFrames5027);\n}\nreturn $ans5024;\n};\nvar anf_obj5061 = R.makeMethod0($temp_full5021,\"render\");\n$step2681 = 5;\n$ans2685 = R.mO({\"run-checks\":anf_obj5032,\n\"check-is\":anf_obj5033,\n\"check-is-cause\":anf_obj5034,\n\"check-is-roughly\":anf_obj5035,\n\"check-is-roughly-cause\":anf_obj5036,\n\"check-is-not\":anf_obj5037,\n\"check-is-not-cause\":anf_obj5038,\n\"check-is-refinement\":anf_obj5039,\n\"check-is-refinement-cause\":anf_obj5040,\n\"check-is-not-refinement\":anf_obj5041,\n\"check-is-not-refinement-cause\":anf_obj5042,\n\"check-satisfies-delayed\":anf_obj5043,\n\"check-satisfies-delayed-cause\":anf_obj5044,\n\"check-satisfies-not-delayed\":anf_obj5045,\n\"check-satisfies-not-delayed-cause\":anf_obj5046,\n\"check-satisfies\":anf_obj5047,\n\"check-satisfies-not\":anf_obj5048,\n\"check-raises-str\":anf_obj5049,\n\"check-raises-str-cause\":anf_obj5050,\n\"check-raises-other-str\":anf_obj5051,\n\"check-raises-other-str-cause\":anf_obj5052,\n\"check-raises-not\":anf_obj5053,\n\"check-raises-not-cause\":anf_obj5054,\n\"check-raises-satisfies\":anf_obj5055,\n\"check-raises-satisfies-cause\":anf_obj5056,\n\"check-raises-violates\":anf_obj5057,\n\"check-raises-violates-cause\":anf_obj5058,\n\"summary\":anf_obj5059,\n\"results\":anf_obj5060,\n\"render\":anf_obj5061});\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2685;\ndefault: R.ffi.throwSpinnakerError(L[1135],$step2681);\n}\n}\nif($step2681 !== 5) {\n$ans2685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2686,$temp_lam2682,$step2681,[main$module$name2683,check$all2684],[add$block$result2703,block$results2697],$elidedFrames2688);\n}\nreturn $ans2685;\n};\nvar anf_assign5065 = R.mF($temp_lam2682,\"make-check-context\");\nmake$check$context5066.$var = anf_assign5065;\nR.nothing;\nvar $temp_lam5068 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1815($block$results5069,$get$stack5070) {\nvar $step5067 = 0;\nvar $elidedFrames5074 = 0;\nvar $ans5071 = D;\nvar $al5072 = L[1815];\nif(R.isAR($block$results5069)) {\n$step5067 = $block$results5069.step;\n$al5072 = $block$results5069.from;\n$ans5071 = $block$results5069.ans;\n$elidedFrames5074 = $block$results5069.elidedFrames;\nblock$results5069 = $block$results5069.args[0];\nget$stack5070 = $block$results5069.args[1];\nanf_arg2032 = $block$results5069.vars[0];\nanf_arg5167 = $block$results5069.vars[1];\ninit5119 = $block$results5069.vars[2];\nanf_arg2036 = $block$results5069.vars[3];\nanf_arg2026 = $block$results5069.vars[4];\nanf_arg2039 = $block$results5069.vars[5];\nc5175 = $block$results5069.vars[6];\ncomplete$summary5169 = $block$results5069.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1815],2,$t,false);\n}\nvar block$results5069 = $block$results5069;\nvar get$stack5070 = $get$stack5070;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5071 = R.mC();\n}\nwhile(!R.isContinuation($ans5071)) {\nswitch($step5067) {\ncase 0: $step5067 = 1;\n$al5072 = L[1937];\nR._cA(L[1937],List19,block$results5069);\nbreak;\ncase 1: var init5119 = R.mO({\"message\":(\"\"),\n\"errored\":(0),\n\"passed\":(0),\n\"failed\":(0),\n\"total\":(0)});\nvar $temp_lam5076 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1816($summary5077,$br5078) {\nvar $step5075 = 0;\nvar $elidedFrames5082 = 0;\nvar $ans5079 = D;\nvar $al5080 = L[1816];\nif(R.isAR($summary5077)) {\n$step5075 = $summary5077.step;\n$al5080 = $summary5077.from;\n$ans5079 = $summary5077.ans;\n$elidedFrames5082 = $summary5077.elidedFrames;\nsummary5077 = $summary5077.args[0];\nbr5078 = $summary5077.args[1];\nblock$summary5124 = $summary5077.vars[0];\nanf_arg5126 = $summary5077.vars[1];\nanf_obj5139 = $summary5077.vars[2];\nanf_arg5118 = $summary5077.vars[3];\nanf_arg5129 = $summary5077.vars[4];\nanf_arg1931 = $summary5077.vars[5];\nwith$error$notification5132 = $summary5077.vars[6];\ncases5120 = $summary5077.vars[7];\nanf_arg1967 = $summary5077.vars[8];\nended$in$error5131 = $summary5077.vars[9];\nanf_obj5140 = $summary5077.vars[10];\nanf_obj5141 = $summary5077.vars[11];\nanf_obj5142 = $summary5077.vars[12];\nblock$type5147 = $summary5077.vars[13];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1816],2,$t,false);\n}\nvar summary5077 = $summary5077;\nvar br5078 = $br5078;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5079 = R.mC();\n}\nwhile(!R.isContinuation($ans5079)) {\nswitch($step5075) {\ncase 0: var $temp_lam5084 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1817($s5085,$tr5086) {\nvar $step5083 = 0;\nvar $elidedFrames5090 = 0;\nvar $ans5087 = D;\nvar $al5088 = L[1817];\nif(R.isAR($s5085)) {\n$step5083 = $s5085.step;\n$al5088 = $s5085.from;\n$ans5087 = $s5085.ans;\n$elidedFrames5090 = $s5085.elidedFrames;\ns5085 = $s5085.args[0];\ntr5086 = $s5085.args[1];\nm5111 = $s5085.vars[0];\ncases5091 = $s5085.vars[1];\nanf_arg1860 = $s5085.vars[2];\nanf_arg1865 = $s5085.vars[3];\nanf_extend5112 = $s5085.vars[4];\nstack5109 = $s5085.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1817],2,$t,false);\n}\nvar s5085 = $s5085;\nvar tr5086 = $tr5086;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5087 = R.mC();\n}\nwhile(!R.isContinuation($ans5087)) {\nswitch($step5083) {\ncase 0: var cases5091 = tr5086;\n$step5083 = 1;\n$al5088 = L[1845];\nvar $ann$check5115 = R._cA(L[1845],TestResult2715,cases5091);\nif(R.isContinuation($ann$check5115)) {\n$ans5087 = $ann$check5115;\n}\nbreak;\ncase 1: $al5088 = L[1829];\n$step5083 = $cases_dispatch5114[cases5091.$name] || 3;\nbreak;\ncase 2: if(cases5091.$arity !== 1) {\nif(cases5091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1828],1,cases5091.$arity,L[1829],cases5091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1828],true,L[1829],cases5091.$loc);\n}\n}\n$step5083 = 14;\n$al5088 = L[1828];\nvar $temp_branch5101 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1829($loc5092) {\nvar $step5102 = 0;\nvar $elidedFrames5106 = 0;\nvar $ans5103 = D;\nvar $al5104 = L[1818];\nif(R.isAR($loc5092)) {\n$step5102 = $loc5092.step;\n$al5104 = $loc5092.from;\n$ans5103 = $loc5092.ans;\n$elidedFrames5106 = $loc5092.elidedFrames;\nloc5092 = $loc5092.args[0];\nanf_extend5098 = $loc5092.vars[0];\nanf_extend5099 = $loc5092.vars[1];\nanf_arg1867 = $loc5092.vars[2];\n} else {\nvar loc5092 = $loc5092;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5103 = R.mC();\n}\nwhile(!R.isContinuation($ans5103)) {\nswitch($step5102) {\ncase 0: $al5104 = L[1818];\nvar anf_arg1853 = G(s5085,\"message\",L[1818]);\n$step5102 = 1;\n$al5104 = L[1827];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1853,(\"\\n \"));\nbreak;\ncase 1: var anf_arg1867 = $ans5103;\n$step5102 = 2;\n$ans5103 = R.maybeMethodCall1(loc5092,\"format\",L[1819],(false));\nbreak;\ncase 2: var anf_arg1854 = $ans5103;\n$step5102 = 3;\n$al5104 = L[1826];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1867,anf_arg1854);\nbreak;\ncase 3: var anf_arg1868 = $ans5103;\n$step5102 = 4;\n$al5104 = L[1825];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1868,(\": ok\"));\nbreak;\ncase 4: var anf_extend5098 = $ans5103;\n$al5104 = L[1820];\nvar anf_arg1862 = G(s5085,\"passed\",L[1820]);\n$step5102 = 5;\n$al5104 = L[1824];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1862,(1));\nbreak;\ncase 5: var anf_extend5099 = $ans5103;\n$al5104 = L[1821];\nvar anf_arg5097 = G(s5085,\"total\",L[1821]);\n$step5102 = 6;\n$al5104 = L[1823];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg5097,(1));\nbreak;\ncase 6: var anf_extend5100 = $ans5103;\n$step5102 = 7;\n$ans5103 = R.extendObj(L[1822],s5085,{\"message\":anf_extend5098,\n\"passed\":anf_extend5099,\n\"total\":anf_extend5100});\nbreak;\ncase 7: ++R.GAS;\nreturn $ans5103;\ndefault: R.ffi.throwSpinnakerError(L[1818],$step5102);\n}\n}\nif($step5102 !== 7) {\n$ans5103.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5104,$temp_branch5101,$step5102,[loc5092],[anf_extend5098,anf_extend5099,anf_arg1867],$elidedFrames5106);\n}\nreturn $ans5103;\n};\n$ans5087 = cases5091.$app_fields($temp_branch5101,[false]);\nbreak;\ncase 3: $step5083 = 4;\n$ans5087 = R.maybeMethodCall1(tr5086,\"access-stack\",L[1830],get$stack5070);\nbreak;\ncase 4: var stack5109 = $ans5087;\n$al5088 = L[1831];\nvar anf_arg1858 = G(s5085,\"message\",L[1831]);\n$step5083 = 5;\n$al5088 = L[1844];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1858,(\"\\n \"));\nbreak;\ncase 5: var anf_arg1860 = $ans5087;\n$al5088 = L[1832];\nvar anf_method_obj5108 = G(tr5086,\"loc\",L[1832]);\n$step5083 = 6;\n$ans5087 = R.maybeMethodCall1(anf_method_obj5108,\"format\",L[1833],(false));\nbreak;\ncase 6: var anf_arg1864 = $ans5087;\n$step5083 = 7;\n$al5088 = L[1843];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1860,anf_arg1864);\nbreak;\ncase 7: var anf_arg1869 = $ans5087;\n$step5083 = 8;\n$al5088 = L[1842];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1869,(\": failed because: \\n \"));\nbreak;\ncase 8: var anf_arg1865 = $ans5087;\n$step5083 = 9;\n$ans5087 = R.maybeMethodCall0(tr5086,\"render-reason\",L[1834]);\nbreak;\ncase 9: var anf_arg1870 = $ans5087;\n$step5083 = 10;\n$al5088 = L[1841];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5088,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5087 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1870,torepr3,stack5109);\nbreak;\ncase 10: var anf_arg5110 = $ans5087;\n$step5083 = 11;\n$al5088 = L[1840];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1865,anf_arg5110);\nbreak;\ncase 11: var m5111 = $ans5087;\n$al5088 = L[1835];\nvar anf_arg1894 = G(s5085,\"failed\",L[1835]);\n$step5083 = 12;\n$al5088 = L[1839];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1894,(1));\nbreak;\ncase 12: var anf_extend5112 = $ans5087;\n$al5088 = L[1836];\nvar anf_arg1895 = G(s5085,\"total\",L[1836]);\n$step5083 = 13;\n$al5088 = L[1838];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1895,(1));\nbreak;\ncase 13: var anf_extend5113 = $ans5087;\n$step5083 = 14;\n$ans5087 = R.extendObj(L[1837],s5085,{\"message\":m5111,\n\"failed\":anf_extend5112,\n\"total\":anf_extend5113});\nbreak;\ncase 14: ++R.GAS;\nreturn $ans5087;\ndefault: R.ffi.throwSpinnakerError(L[1817],$step5083);\n}\n}\nif($step5083 !== 14) {\n$ans5087.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5088,$temp_lam5084,$step5083,[s5085,tr5086],[m5111,cases5091,anf_arg1860,anf_arg1865,anf_extend5112,stack5109],$elidedFrames5090);\n}\nreturn $ans5087;\n};\nvar anf_arg5118 = R.mF($temp_lam5084,\"for-body\");\n$al5080 = L[1846];\nvar anf_method_obj5117 = G(br5078,\"test-results\",L[1846]);\n$step5075 = 1;\n$ans5079 = R.maybeMethodCall0(anf_method_obj5117,\"reverse\",L[1847]);\nbreak;\ncase 1: var anf_arg1902 = $ans5079;\n$step5075 = 2;\n$al5080 = L[1817];\n// omitting isFunction check;\n$ans5079 = fold11.app(anf_arg5118,init5119,anf_arg1902);\nbreak;\ncase 2: var block$summary5124 = $ans5079;\n$al5080 = L[1848];\nvar anf_if5165 = G(br5078,\"keyword-check\",L[1848]);\n$step5075 = R.checkPyretTrue(anf_if5165)?3:4;\nbreak;\ncase 3: $step5075 = 5;\n$ans5079 = (\"Check\");\nbreak;\ncase 4: $step5075 = 5;\n$ans5079 = (\"Examples\");\nbreak;\ncase 5: var block$type5147 = $ans5079;\n$al5080 = L[1849];\nvar cases5120 = G(br5078,\"maybe-err\",L[1849]);\n$step5075 = 6;\n$al5080 = L[1900];\nvar $ann$check5164 = R._cA(L[1900],Option15,cases5120);\nif(R.isContinuation($ann$check5164)) {\n$ans5079 = $ann$check5164;\n}\nbreak;\ncase 6: $al5080 = L[1885];\n$step5075 = $cases_dispatch5163[cases5120.$name] || 9;\nbreak;\ncase 7: if(cases5120.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1884],false,L[1885],cases5120.$loc);\n}\n$step5075 = 10;\n$ans5079 = (\"\");\nbreak;\ncase 8: if(cases5120.$arity !== 1) {\nif(cases5120.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1899],1,cases5120.$arity,L[1885],cases5120.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1899],true,L[1885],cases5120.$loc);\n}\n}\n$step5075 = 10;\n$al5080 = L[1899];\nvar $temp_branch5156 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1885($err5146) {\nvar $step5157 = 0;\nvar $elidedFrames5161 = 0;\nvar $ans5158 = D;\nvar $al5159 = L[1898];\nif(R.isAR($err5146)) {\n$step5157 = $err5146.step;\n$al5159 = $err5146.from;\n$ans5158 = $err5146.ans;\n$elidedFrames5161 = $err5146.elidedFrames;\nerr5146 = $err5146.args[0];\nstack5149 = $err5146.vars[0];\nanf_arg1915 = $err5146.vars[1];\nanf_arg5151 = $err5146.vars[2];\n} else {\nvar err5146 = $err5146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5158 = R.mC();\n}\nwhile(!R.isContinuation($ans5158)) {\nswitch($step5157) {\ncase 0: $step5157 = 1;\n$al5159 = L[1897];\nif(typeof(get$stack5070.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,get$stack5070);\n}\n$ans5158 = get$stack5070.app(err5146);\nbreak;\ncase 1: var stack5149 = $ans5158;\n$step5157 = 2;\n$al5159 = L[1896];\n// omitting isFunction check;\n$ans5158 = _plus5.app((\"\\n \"),block$type5147);\nbreak;\ncase 2: var anf_arg1903 = $ans5158;\n$step5157 = 3;\n$al5159 = L[1895];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg1903,(\" block ended in the following error (not all tests may have run): \\n\\n \"));\nbreak;\ncase 3: var anf_arg5151 = $ans5158;\n$step5157 = 4;\n$al5159 = L[1894];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,exn$unwrap2);\n}\n$ans5158 = exn$unwrap2.app(err5146);\nbreak;\ncase 4: var anf_method_obj5148 = $ans5158;\n$step5157 = 5;\n$ans5158 = R.maybeMethodCall0(anf_method_obj5148,\"render-reason\",L[1886]);\nbreak;\ncase 5: var anf_arg1918 = $ans5158;\n$step5157 = 6;\n$al5159 = L[1893];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5158 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1918,torepr3,stack5149);\nbreak;\ncase 6: var anf_arg5153 = $ans5158;\n$step5157 = 7;\n$al5159 = L[1892];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg5151,anf_arg5153);\nbreak;\ncase 7: var anf_arg1915 = $ans5158;\n$step5157 = 8;\n$al5159 = L[1891];\n// omitting isFunction check;\n$ans5158 = map17.app(ED23.dict.values.dict[\"loc\"],stack5149);\nbreak;\ncase 8: var anf_arg1919 = $ans5158;\n$step5157 = 9;\n$al5159 = L[1890];\nif(typeof(ED23.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,ED23.dict.values.dict[\"v-sequence\"]);\n}\n$ans5158 = ED23.dict.values.dict[\"v-sequence\"].app(anf_arg1919);\nbreak;\ncase 9: var anf_arg1916 = $ans5158;\n$step5157 = 10;\n$al5159 = L[1889];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5158 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1916,torepr3,empty10);\nbreak;\ncase 10: var anf_arg1920 = $ans5158;\n$step5157 = 11;\n$al5159 = L[1888];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg1915,anf_arg1920);\nbreak;\ncase 11: var anf_arg5155 = $ans5158;\n$step5157 = 12;\n$al5159 = L[1887];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg5155,(\"\\n\\n\"));\nbreak;\ncase 12: ++R.GAS;\nreturn $ans5158;\ndefault: R.ffi.throwSpinnakerError(L[1898],$step5157);\n}\n}\nif($step5157 !== 12) {\n$ans5158.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5159,$temp_branch5156,$step5157,[err5146],[stack5149,anf_arg1915,anf_arg5151],$elidedFrames5161);\n}\nreturn $ans5158;\n};\n$ans5079 = cases5120.$app_fields($temp_branch5156,[false]);\nbreak;\ncase 9: $ans5079 = R.throwNoCasesMatched(L[1885],cases5120);\n$step5075 = 10;\nbreak;\ncase 10: var ended$in$error5131 = $ans5079;\n$al5080 = L[1850];\nvar anf_arg5121 = G(summary5077,\"message\",L[1850]);\n$step5075 = 11;\n$al5080 = L[1883];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5121,(\"\\n\\n\"));\nbreak;\ncase 11: var anf_arg1931 = $ans5079;\n$al5080 = L[1851];\nvar anf_method_obj5122 = G(br5078,\"loc\",L[1851]);\n$step5075 = 12;\n$ans5079 = R.maybeMethodCall1(anf_method_obj5122,\"format\",L[1852],(true));\nbreak;\ncase 12: var anf_arg5123 = $ans5079;\n$step5075 = 13;\n$al5080 = L[1882];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1931,anf_arg5123);\nbreak;\ncase 13: var anf_arg1933 = $ans5079;\n$step5075 = 14;\n$al5080 = L[1881];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1933,(\": \"));\nbreak;\ncase 14: var anf_arg1937 = $ans5079;\n$al5080 = L[1853];\nvar anf_arg1934 = G(br5078,\"name\",L[1853]);\n$step5075 = 15;\n$al5080 = L[1880];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1937,anf_arg1934);\nbreak;\ncase 15: var anf_arg1938 = $ans5079;\n$step5075 = 16;\n$al5080 = L[1879];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1938,(\" (\"));\nbreak;\ncase 16: var anf_arg5126 = $ans5079;\n$al5080 = L[1854];\nvar anf_arg5125 = G(block$summary5124,\"passed\",L[1854]);\n$step5075 = 17;\n$al5080 = L[1878];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,tostring1);\n}\n$ans5079 = tostring1.app(anf_arg5125);\nbreak;\ncase 17: var anf_arg5127 = $ans5079;\n$step5075 = 18;\n$al5080 = L[1877];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5126,anf_arg5127);\nbreak;\ncase 18: var anf_arg5128 = $ans5079;\n$step5075 = 19;\n$al5080 = L[1876];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5128,(\"/\"));\nbreak;\ncase 19: var anf_arg5129 = $ans5079;\n$al5080 = L[1855];\nvar anf_arg1958 = G(block$summary5124,\"total\",L[1855]);\n$step5075 = 20;\n$al5080 = L[1875];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,tostring1);\n}\n$ans5079 = tostring1.app(anf_arg1958);\nbreak;\ncase 20: var anf_arg1959 = $ans5079;\n$step5075 = 21;\n$al5080 = L[1874];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5129,anf_arg1959);\nbreak;\ncase 21: var anf_arg1960 = $ans5079;\n$step5075 = 22;\n$al5080 = L[1873];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1960,(\") \\n\"));\nbreak;\ncase 22: var message5130 = $ans5079;\n$step5075 = 23;\n$al5080 = L[1872];\n// omitting isFunction check;\n$ans5079 = _plus5.app(message5130,ended$in$error5131);\nbreak;\ncase 23: var with$error$notification5132 = $ans5079;\n$al5080 = L[1856];\nvar anf_arg1961 = G(block$summary5124,\"failed\",L[1856]);\n$step5075 = 24;\n$al5080 = L[1871];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,equal$always1);\n}\n$ans5079 = equal$always1.app(anf_arg1961,(0));\nbreak;\ncase 24: var anf_if5145 = $ans5079;\n$step5075 = R.checkPyretTrue(anf_if5145)?25:26;\nbreak;\ncase 25: $step5075 = 27;\n$ans5079 = (\"\");\nbreak;\ncase 26: $step5075 = 27;\n$al5080 = L[1870];\n$ans5079 = G(block$summary5124,\"message\",L[1870]);\nbreak;\ncase 27: var rest$of$message5133 = $ans5079;\n$step5075 = 28;\n$al5080 = L[1869];\n// omitting isFunction check;\n$ans5079 = _plus5.app(with$error$notification5132,rest$of$message5133);\nbreak;\ncase 28: var anf_obj5139 = $ans5079;\n$al5080 = L[1857];\nvar anf_arg1967 = G(summary5077,\"errored\",L[1857]);\n$al5080 = L[1858];\nvar anf_arg5135 = G(br5078,\"maybe-err\",L[1858]);\n// caller optimization;\n$ans5079 = is$some13.app(anf_arg5135);\nvar anf_if5144 = $ans5079;\n$step5075 = R.checkPyretTrue(anf_if5144)?29:30;\nbreak;\ncase 29: $step5075 = 31;\n$ans5079 = (1);\nbreak;\ncase 30: $step5075 = 31;\n$ans5079 = (0);\nbreak;\ncase 31: var anf_arg5137 = $ans5079;\n$step5075 = 32;\n$al5080 = L[1868];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1967,anf_arg5137);\nbreak;\ncase 32: var anf_obj5140 = $ans5079;\n$al5080 = L[1859];\nvar anf_arg5138 = G(summary5077,\"passed\",L[1859]);\n$al5080 = L[1860];\nvar anf_arg1987 = G(block$summary5124,\"passed\",L[1860]);\n$step5075 = 33;\n$al5080 = L[1867];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5138,anf_arg1987);\nbreak;\ncase 33: var anf_obj5141 = $ans5079;\n$al5080 = L[1861];\nvar anf_arg1989 = G(summary5077,\"failed\",L[1861]);\n$al5080 = L[1862];\nvar anf_arg1990 = G(block$summary5124,\"failed\",L[1862]);\n$step5075 = 34;\n$al5080 = L[1866];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1989,anf_arg1990);\nbreak;\ncase 34: var anf_obj5142 = $ans5079;\n$al5080 = L[1863];\nvar anf_arg1996 = G(summary5077,\"total\",L[1863]);\n$al5080 = L[1864];\nvar anf_arg1994 = G(block$summary5124,\"total\",L[1864]);\n$step5075 = 35;\n$al5080 = L[1865];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1996,anf_arg1994);\nbreak;\ncase 35: var anf_obj5143 = $ans5079;\n$step5075 = 36;\n$ans5079 = R.mO({\"message\":anf_obj5139,\n\"errored\":anf_obj5140,\n\"passed\":anf_obj5141,\n\"failed\":anf_obj5142,\n\"total\":anf_obj5143});\nbreak;\ncase 36: ++R.GAS;\nreturn $ans5079;\ndefault: R.ffi.throwSpinnakerError(L[1816],$step5075);\n}\n}\nif($step5075 !== 36) {\n$ans5079.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5080,$temp_lam5076,$step5075,[summary5077,br5078],[block$summary5124,anf_arg5126,anf_obj5139,anf_arg5118,anf_arg5129,anf_arg1931,with$error$notification5132,cases5120,anf_arg1967,ended$in$error5131,anf_obj5140,anf_obj5141,anf_obj5142,block$type5147],$elidedFrames5082);\n}\nreturn $ans5079;\n};\nvar anf_arg5167 = R.mF($temp_lam5076,\"for-body\");\n$step5067 = 2;\n$ans5071 = R.maybeMethodCall0(block$results5069,\"reverse\",L[1901]);\nbreak;\ncase 2: var anf_arg5168 = $ans5071;\n$step5067 = 3;\n$al5072 = L[1816];\n// omitting isFunction check;\n$ans5071 = fold11.app(anf_arg5167,init5119,anf_arg5168);\nbreak;\ncase 3: var complete$summary5169 = $ans5071;\n$al5072 = L[1902];\nvar anf_arg5171 = G(complete$summary5169,\"total\",L[1902]);\n$step5067 = 4;\n$al5072 = L[1936];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg5171,(0));\nbreak;\ncase 4: var anf_if5192 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5192)?5:7;\nbreak;\ncase 5: $al5072 = L[1934];\nvar anf_arg2023 = G(complete$summary5169,\"errored\",L[1934]);\n$step5067 = 6;\n$al5072 = L[1935];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2023,(0));\nbreak;\ncase 6: var anf_arg5191 = $ans5071;\n$ans5071 = R.checkWrapBoolean(anf_arg5191);\n$step5067 = 8;\nbreak;\ncase 7: $step5067 = 8;\n$ans5071 = (false);\nbreak;\ncase 8: var anf_if5190 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5190)?9:10;\nbreak;\ncase 9: $step5067 = 37;\n$ans5071 = R.extendObj(L[1903],complete$summary5169,{\"message\":(\"The program didn't define any tests.\")});\nbreak;\ncase 10: $al5072 = L[1904];\nvar anf_arg2013 = G(complete$summary5169,\"failed\",L[1904]);\n$step5067 = 11;\n$al5072 = L[1933];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2013,(0));\nbreak;\ncase 11: var anf_if5189 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5189)?12:14;\nbreak;\ncase 12: $al5072 = L[1931];\nvar anf_arg2018 = G(complete$summary5169,\"errored\",L[1931]);\n$step5067 = 13;\n$al5072 = L[1932];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2018,(0));\nbreak;\ncase 13: var anf_arg2014 = $ans5071;\n$ans5071 = R.checkWrapBoolean(anf_arg2014);\n$step5067 = 15;\nbreak;\ncase 14: $step5067 = 15;\n$ans5071 = (false);\nbreak;\ncase 15: var anf_if5188 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5188)?16:23;\nbreak;\ncase 16: $al5072 = L[1905];\nvar anf_arg2020 = G(complete$summary5169,\"passed\",L[1905]);\n$step5067 = 17;\n$al5072 = L[1911];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2020,(1));\nbreak;\ncase 17: var anf_if5174 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5174)?18:19;\nbreak;\ncase 18: $step5067 = 22;\n$ans5071 = (\"Looks shipshape, your test passed, mate!\");\nbreak;\ncase 19: $al5072 = L[1907];\nvar anf_arg2021 = G(complete$summary5169,\"passed\",L[1907]);\n$step5067 = 20;\n$al5072 = L[1910];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2021);\nbreak;\ncase 20: var anf_arg2025 = $ans5071;\n$step5067 = 21;\n$al5072 = L[1909];\n// omitting isFunction check;\n$ans5071 = _plus5.app((\"Looks shipshape, all \"),anf_arg2025);\nbreak;\ncase 21: var anf_arg5173 = $ans5071;\n$step5067 = 22;\n$al5072 = L[1908];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5173,(\" tests passed, mate!\"));\nbreak;\ncase 22: var happy$msg5172 = $ans5071;\n$step5067 = 37;\n$ans5071 = R.extendObj(L[1906],complete$summary5169,{\"message\":happy$msg5172});\nbreak;\ncase 23: var c5175 = complete$summary5169;\n$al5072 = L[1912];\nvar anf_arg5176 = G(c5175,\"message\",L[1912]);\n$step5067 = 24;\n$al5072 = L[1930];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5176,(\"\\n\\nPassed: \"));\nbreak;\ncase 24: var anf_arg2036 = $ans5071;\n$al5072 = L[1913];\nvar anf_arg2037 = G(c5175,\"passed\",L[1913]);\n$step5067 = 25;\n$al5072 = L[1929];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2037);\nbreak;\ncase 25: var anf_arg5179 = $ans5071;\n$step5067 = 26;\n$al5072 = L[1928];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2036,anf_arg5179);\nbreak;\ncase 26: var anf_arg2029 = $ans5071;\n$step5067 = 27;\n$al5072 = L[1927];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2029,(\"; Failed: \"));\nbreak;\ncase 27: var anf_arg2026 = $ans5071;\n$al5072 = L[1914];\nvar anf_arg2030 = G(c5175,\"failed\",L[1914]);\n$step5067 = 28;\n$al5072 = L[1926];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2030);\nbreak;\ncase 28: var anf_arg2031 = $ans5071;\n$step5067 = 29;\n$al5072 = L[1925];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2026,anf_arg2031);\nbreak;\ncase 29: var anf_arg2027 = $ans5071;\n$step5067 = 30;\n$al5072 = L[1924];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2027,(\"; Ended in Error: \"));\nbreak;\ncase 30: var anf_arg2032 = $ans5071;\n$al5072 = L[1915];\nvar anf_arg2033 = G(c5175,\"errored\",L[1915]);\n$step5067 = 31;\n$al5072 = L[1923];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2033);\nbreak;\ncase 31: var anf_arg2038 = $ans5071;\n$step5067 = 32;\n$al5072 = L[1922];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2032,anf_arg2038);\nbreak;\ncase 32: var anf_arg2034 = $ans5071;\n$step5067 = 33;\n$al5072 = L[1921];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2034,(\"; Total: \"));\nbreak;\ncase 33: var anf_arg2039 = $ans5071;\n$al5072 = L[1916];\nvar anf_arg5181 = G(c5175,\"total\",L[1916]);\n$step5067 = 34;\n$al5072 = L[1920];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg5181);\nbreak;\ncase 34: var anf_arg2050 = $ans5071;\n$step5067 = 35;\n$al5072 = L[1919];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2039,anf_arg2050);\nbreak;\ncase 35: var anf_arg5185 = $ans5071;\n$step5067 = 36;\n$al5072 = L[1918];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5185,(\"\\n\"));\nbreak;\ncase 36: var anf_extend5186 = $ans5071;\n$step5067 = 37;\n$ans5071 = R.extendObj(L[1917],c5175,{\"message\":anf_extend5186});\nbreak;\ncase 37: ++R.GAS;\nreturn $ans5071;\ndefault: R.ffi.throwSpinnakerError(L[1815],$step5067);\n}\n}\nif($step5067 !== 37) {\n$ans5071.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5072,$temp_lam5068,$step5067,[block$results5069,get$stack5070],[anf_arg2032,anf_arg5167,init5119,anf_arg2036,anf_arg2026,anf_arg2039,c5175,complete$summary5169],$elidedFrames5074);\n}\nreturn $ans5071;\n};\nvar anf_assign5194 = R.mF($temp_lam5068,\"results-summary\");\nresults$summary5009.$var = anf_assign5194;\nR.nothing;\nvar $temp_lam5196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1938($block$results5197) {\nvar $step5195 = 0;\nvar $elidedFrames5201 = 0;\nvar $ans5198 = D;\nvar $al5199 = L[1938];\nif(R.isAR($block$results5197)) {\n$step5195 = $block$results5197.step;\n$al5199 = $block$results5197.from;\n$ans5198 = $block$results5197.ans;\n$elidedFrames5201 = $block$results5197.elidedFrames;\nblock$results5197 = $block$results5197.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1938],1,$t,false);\n}\nvar block$results5197 = $block$results5197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5198 = R.mC();\n}\nwhile(!R.isContinuation($ans5198)) {\nswitch($step5195) {\ncase 0: var $temp_lam5203 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1939($err5204) {\nvar $step5202 = 0;\nvar $elidedFrames5208 = 0;\nvar $ans5205 = D;\nvar $al5206 = L[1939];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1939],1,$t,false);\n}\nvar err5204 = $err5204;\n// callee optimization;\nwhile(!R.isContinuation($ans5205)) {\nswitch($step5202) {\ncase 0: $step5202 = 1;\n$ans5205 = empty10;\nbreak;\ncase 1: return $ans5205;\ndefault: R.ffi.throwSpinnakerError(L[1939],$step5202);\n}\n}\nreturn $ans5205;\n};\nvar anf_arg2044 = R.mF($temp_lam5203,\"\");\n$step5195 = 1;\n$al5199 = L[1941];\n// omitting isFunction check;\n$ans5198 = results$summary5009.$var.app(block$results5197,anf_arg2044);\nbreak;\ncase 1: var anf_bracket5210 = $ans5198;\n$step5195 = 2;\n$al5199 = L[1940];\n$ans5198 = G(anf_bracket5210,\"message\",L[1940]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5198;\ndefault: R.ffi.throwSpinnakerError(L[1938],$step5195);\n}\n}\nif($step5195 !== 2) {\n$ans5198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5199,$temp_lam5196,$step5195,[block$results5197],[],$elidedFrames5201);\n}\nreturn $ans5198;\n};\nvar anf_assign5212 = R.mF($temp_lam5196,\"render-check-results\");\nrender$check$results5028.$var = anf_assign5212;\nR.nothing;\nvar $temp_lam5214 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1942($block$results5215,$get$stack5216) {\nvar $step5213 = 0;\nvar $elidedFrames5220 = 0;\nvar $ans5217 = D;\nvar $al5218 = L[1942];\nif(R.isAR($block$results5215)) {\n$step5213 = $block$results5215.step;\n$al5218 = $block$results5215.from;\n$ans5217 = $block$results5215.ans;\n$elidedFrames5220 = $block$results5215.elidedFrames;\nblock$results5215 = $block$results5215.args[0];\nget$stack5216 = $block$results5215.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1942],2,$t,false);\n}\nvar block$results5215 = $block$results5215;\nvar get$stack5216 = $get$stack5216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5217 = R.mC();\n}\nwhile(!R.isContinuation($ans5217)) {\nswitch($step5213) {\ncase 0: $step5213 = 1;\n$al5218 = L[1944];\nR._cA(L[1944],List19,block$results5215);\nbreak;\ncase 1: $step5213 = 2;\n$al5218 = L[1943];\n// omitting isFunction check;\n$ans5217 = results$summary5009.$var.app(block$results5215,get$stack5216);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5217;\ndefault: R.ffi.throwSpinnakerError(L[1942],$step5213);\n}\n}\nif($step5213 !== 2) {\n$ans5217.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5218,$temp_lam5214,$step5213,[block$results5215,get$stack5216],[],$elidedFrames5220);\n}\nreturn $ans5217;\n};\nvar anf_assign5222 = R.mF($temp_lam5214,\"render-check-results-stack\");\nrender$check$results$stack5223.$var = anf_assign5222;\nR.nothing;\n$step35 = 1;\n$ans44 = R.maybeMethodCall2(builtins1,\"trace-value\",L[1945],L[1945],nothing2);\nbreak;\ncase 1: var answer5225 = $ans44;\n$step35 = 2;\n$ans44 = R.maybeMethodCall0(builtins1,\"current-checker\",L[71]);\nbreak;\ncase 2: var anf_method_obj5224 = $ans44;\n$step35 = 3;\n$ans44 = R.maybeMethodCall0(anf_method_obj5224,\"results\",L[71]);\nbreak;\ncase 3: var checks5226 = $ans44;\n$step35 = 4;\n$ans44 = R.mO({\"answer\":answer5225,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"SL\":SL28,\n\"E\":E22,\n\"ED\":ED23,\n\"RED\":RED27,\n\"VS\":VS29,\n\"either\":either20},\n\"defined-values\":{\"is-success\":is$success2622.$var,\n\"error-not-pred\":error$not$pred2676.$var,\n\"failure-not-dissatisfied\":failure$not$dissatisfied2644.$var,\n\"check-block-result\":check$block$result284.$var,\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2668.$var,\n\"success\":success2624.$var,\n\"is-error-not-pred\":is$error$not$pred2674.$var,\n\"is-failure-right-exn\":is$failure$right$exn2650.$var,\n\"is-failure-not-dissatisfied\":is$failure$not$dissatisfied2642.$var,\n\"is-CheckOperand\":is$CheckOperand252.$var,\n\"is-failure-raise-not-dissatisfied\":is$failure$raise$not$dissatisfied2666.$var,\n\"error-not-boolean-pred\":error$not$boolean$pred2680.$var,\n\"is-CheckBlockResult\":is$CheckBlockResult282.$var,\n\"is-check-block-result\":is$check$block$result283.$var,\n\"is-error-not-boolean\":is$error$not$boolean2670.$var,\n\"failure-right-exn\":failure$right$exn2652.$var,\n\"is-error-not-boolean-pred\":is$error$not$boolean$pred2678.$var,\n\"error-not-boolean\":error$not$boolean2672.$var,\n\"make-check-context\":make$check$context5066.$var,\n\"get-op-fun-name\":get$op$fun$name61.$var,\n\"on-right\":on$right260.$var,\n\"results-summary\":results$summary5009.$var,\n\"is-on-right\":is$on$right258.$var,\n\"is-failure-raise-not-satisfied\":is$failure$raise$not$satisfied2662.$var,\n\"is-on-left\":is$on$left254.$var,\n\"failure-no-exn\":failure$no$exn2660.$var,\n\"is-failure-not-satisfied\":is$failure$not$satisfied2638.$var,\n\"is-TestResult\":is$TestResult2620.$var,\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2664.$var,\n\"is-failure-not-equal\":is$failure$not$equal2626.$var,\n\"is-failure-no-exn\":is$failure$no$exn2658.$var,\n\"failure-not-satisfied\":failure$not$satisfied2640.$var,\n\"on-left\":on$left256.$var,\n\"is-failure-exn\":is$failure$exn2654.$var,\n\"render-check-results-stack\":render$check$results$stack5223.$var,\n\"is-failure-wrong-exn\":is$failure$wrong$exn2646.$var,\n\"is-on-refinement\":is$on$refinement262.$var,\n\"failure-not-equal\":failure$not$equal2628.$var,\n\"failure-wrong-exn\":failure$wrong$exn2648.$var,\n\"failure-exn\":failure$exn2656.$var,\n\"report-value\":report$value306.$var,\n\"on-refinement\":on$refinement264.$var,\n\"is-failure-not-different\":is$failure$not$different2634.$var,\n\"render-check-results\":render$check$results5028.$var,\n\"on-cause\":on$cause267.$var,\n\"is-failure-is-incomparable\":is$failure$is$incomparable2630.$var,\n\"failure-not-different\":failure$not$different2636.$var,\n\"is-on-cause\":is$on$cause266.$var,\n\"failure-is-incomparable\":failure$is$incomparable2632.$var},\n\"defined-types\":{\"Loc\":Loc274,\n\"CheckOperand\":CheckOperand113,\n\"CheckBlockResult\":CheckBlockResult2700,\n\"TestResult\":TestResult2715},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-success\":is$success2622.$var,\n\"error-not-pred\":error$not$pred2676.$var,\n\"failure-not-dissatisfied\":failure$not$dissatisfied2644.$var,\n\"check-block-result\":check$block$result284.$var,\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2668.$var,\n\"success\":success2624.$var,\n\"is-error-not-pred\":is$error$not$pred2674.$var,\n\"is-failure-right-exn\":is$failure$right$exn2650.$var,\n\"is-failure-not-dissatisfied\":is$failure$not$dissatisfied2642.$var,\n\"is-CheckOperand\":is$CheckOperand252.$var,\n\"is-failure-raise-not-dissatisfied\":is$failure$raise$not$dissatisfied2666.$var,\n\"error-not-boolean-pred\":error$not$boolean$pred2680.$var,\n\"is-CheckBlockResult\":is$CheckBlockResult282.$var,\n\"is-check-block-result\":is$check$block$result283.$var,\n\"is-error-not-boolean\":is$error$not$boolean2670.$var,\n\"failure-right-exn\":failure$right$exn2652.$var,\n\"is-error-not-boolean-pred\":is$error$not$boolean$pred2678.$var,\n\"error-not-boolean\":error$not$boolean2672.$var,\n\"make-check-context\":make$check$context5066.$var,\n\"get-op-fun-name\":get$op$fun$name61.$var,\n\"on-right\":on$right260.$var,\n\"results-summary\":results$summary5009.$var,\n\"is-on-right\":is$on$right258.$var,\n\"is-failure-raise-not-satisfied\":is$failure$raise$not$satisfied2662.$var,\n\"is-on-left\":is$on$left254.$var,\n\"failure-no-exn\":failure$no$exn2660.$var,\n\"is-failure-not-satisfied\":is$failure$not$satisfied2638.$var,\n\"is-TestResult\":is$TestResult2620.$var,\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2664.$var,\n\"is-failure-not-equal\":is$failure$not$equal2626.$var,\n\"is-failure-no-exn\":is$failure$no$exn2658.$var,\n\"failure-not-satisfied\":failure$not$satisfied2640.$var,\n\"on-left\":on$left256.$var,\n\"is-failure-exn\":is$failure$exn2654.$var,\n\"render-check-results-stack\":render$check$results$stack5223.$var,\n\"is-failure-wrong-exn\":is$failure$wrong$exn2646.$var,\n\"is-on-refinement\":is$on$refinement262.$var,\n\"failure-not-equal\":failure$not$equal2628.$var,\n\"failure-wrong-exn\":failure$wrong$exn2648.$var,\n\"failure-exn\":failure$exn2656.$var,\n\"report-value\":report$value306.$var,\n\"on-refinement\":on$refinement264.$var,\n\"is-failure-not-different\":is$failure$not$different2634.$var,\n\"render-check-results\":render$check$results5028.$var,\n\"on-cause\":on$cause267.$var,\n\"is-failure-is-incomparable\":is$failure$is$incomparable2630.$var,\n\"failure-not-different\":failure$not$different2636.$var,\n\"is-on-cause\":is$on$cause266.$var,\n\"failure-is-incomparable\":failure$is$incomparable2632.$var}),\n\"types\":{\"CheckOperand\":CheckOperand113,\n\"CheckBlockResult\":CheckBlockResult2700,\n\"TestResult\":TestResult2715,\n\"Loc\":Loc274},\n\"modules\":{}}),\n\"checks\":checks5226});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans44;\ndefault: R.ffi.throwSpinnakerError(L[1947],$step35);\n}\n}\nif($step35 !== 4) {\n$ans44.stack[R.EXN_STACKHEIGHT++] = R.mAR($al45,$toplevel36,$step35,[],[results$summary5009,is$failure$not$different2634,is$check$block$result283,CheckOperand113,error$not$boolean$pred2680,on$cause267,error$not$pred2676,render$check$results5028,failure$not$dissatisfied2644,is$failure$wrong$exn2646,failure$raise$not$satisfied2664,report$value306,is$failure$not$equal2626,on$left256,TestResult2715,on$refinement264,get$op$fun$name61,is$success2622,is$failure$not$satisfied2638,is$error$not$boolean2670,is$failure$exn2654,check$block$result284,is$failure$is$incomparable2630,is$error$not$pred2674,is$TestResult2620,is$failure$not$dissatisfied2642,failure$not$satisfied2640,failure$not$different2636,make$check$context5066,failure$raise$not$dissatisfied2668,is$failure$no$exn2658,is$on$right258,is$failure$right$exn2650,on$right260,is$on$left254,failure$wrong$exn2648,is$CheckBlockResult282,answer5225,is$on$refinement262,CheckBlockResult2700,is$CheckOperand252,is$error$not$boolean$pred2678,failure$not$equal2628,is$failure$raise$not$dissatisfied2666,success2624,failure$exn2656,error$not$boolean2672,failure$is$incomparable2632,Loc274,is$on$cause266,is$failure$raise$not$satisfied2662,failure$right$exn2652,failure$no$exn2660,render$check$results$stack5223],$elidedFrames47);\n}\nreturn $ans44;\n};\nreturn R.safeCall($toplevel36,function module_load(moduleVal) {\nR.modules[\"$builtin://checker30\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"failure-is-incomparable":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +156, +2, +5258, +239, +7, +9334], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-is-incomparable", +"typ":"tany"}, +"is-on-cause":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +41, +2, +969, +43, +68, +1096], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-on-cause", +"typ":"tany"}, +"failure-not-different":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +240, +2, +9337, +295, +7, +11904], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-not-different", +"typ":"tany"}, +"is-failure-is-incomparable":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +156, +2, +5258, +239, +7, +9334], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-is-incomparable", +"typ":"tany"}, +"on-cause":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +41, +2, +969, +43, +68, +1096], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"render-check-results":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +1400, +0, +61191, +1402, +3, +61297], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"render-check-results", +"typ":"tany"}, +"is-failure-not-different":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +240, +2, +9337, +295, +7, +11904], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-not-different", +"typ":"tany"}, +"on-refinement":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +38, +2, +830, +40, +73, +966], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"report-value":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +85, +0, +2297, +92, +3, +2448], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"report-value", +"typ":"tany"}, +"failure-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +437, +2, +17065, +484, +8, +19214], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-exn", +"typ":"tany"}, +"failure-wrong-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +366, +2, +14535, +402, +8, +15826], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-wrong-exn", +"typ":"tany"}, +"failure-not-equal":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +96, +2, +2493, +155, +7, +5255], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-not-equal", +"typ":"tany"}, +"is-on-refinement":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +38, +2, +830, +40, +73, +966], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-on-refinement", +"typ":"tany"}, +"is-failure-wrong-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +366, +2, +14535, +402, +8, +15826], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-wrong-exn", +"typ":"tany"}, +"render-check-results-stack":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +1404, +0, +61299, +1406, +3, +61430], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"render-check-results-stack", +"typ":"tany"}, +"is-failure-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +437, +2, +17065, +484, +8, +19214], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-exn", +"typ":"tany"}, +"on-left":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +32, +2, +581, +34, +61, +698], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"failure-not-satisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +296, +2, +11907, +330, +7, +13179], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-not-satisfied", +"typ":"tany"}, +"is-failure-no-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +485, +2, +19217, +532, +7, +21156], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-no-exn", +"typ":"tany"}, +"is-failure-not-equal":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +96, +2, +2493, +155, +7, +5255], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-not-equal", +"typ":"tany"}, +"failure-raise-not-satisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +533, +2, +21159, +574, +7, +22734], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-raise-not-satisfied", +"typ":"tany"}, +"is-TestResult":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +94, +0, +2450, +692, +3, +28134], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"is-failure-not-satisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +296, +2, +11907, +330, +7, +13179], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-not-satisfied", +"typ":"tany"}, +"failure-no-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +485, +2, +19217, +532, +7, +21156], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-no-exn", +"typ":"tany"}, +"is-on-left":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +32, +2, +581, +34, +61, +698], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-on-left", +"typ":"tany"}, +"is-failure-raise-not-satisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +533, +2, +21159, +574, +7, +22734], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-raise-not-satisfied", +"typ":"tany"}, +"is-on-right":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +35, +2, +701, +37, +68, +827], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-on-right", +"typ":"tany"}, +"results-summary":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +1332, +0, +58461, +1398, +3, +61189], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"results-summary", +"typ":"tany"}, +"on-right":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +35, +2, +701, +37, +68, +827], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"get-op-fun-name":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +22, +0, +338, +29, +3, +558], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"get-op-fun-name", +"typ":"tany"}, +"make-check-context":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +3, +0, +13, +3, +9, +22], +"definition-bind-site":["builtin://checker", +694, +0, +28136, +1327, +3, +58277], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":false, +"name":"make-check-context", +"typ":"tany"}, +"error-not-boolean":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +623, +2, +24638, +633, +7, +25210], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"error-not-boolean", +"typ":"tany"}, +"is-error-not-boolean-pred":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +659, +2, +26506, +687, +7, +27950], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-error-not-boolean-pred", +"typ":"tany"}, +"failure-right-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +403, +2, +15829, +436, +8, +17062], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-right-exn", +"typ":"tany"}, +"is-error-not-boolean":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +623, +2, +24638, +633, +7, +25210], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-error-not-boolean", +"typ":"tany"}, +"is-check-block-result":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +76, +2, +2121, +82, +5, +2291], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-check-block-result", +"typ":"tany"}, +"is-CheckBlockResult":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +75, +0, +2096, +83, +3, +2295], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"error-not-boolean-pred":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +659, +2, +26506, +687, +7, +27950], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"error-not-boolean-pred", +"typ":"tany"}, +"is-failure-raise-not-dissatisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +575, +2, +22737, +620, +7, +24532], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-raise-not-dissatisfied", +"typ":"tany"}, +"is-CheckOperand":{"bind":"let", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +31, +0, +560, +73, +3, +2094], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"typ":"tany"}, +"is-failure-not-dissatisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +331, +2, +13182, +365, +7, +14532], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-not-dissatisfied", +"typ":"tany"}, +"is-failure-right-exn":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +403, +2, +15829, +436, +8, +17062], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-failure-right-exn", +"typ":"tany"}, +"is-error-not-pred":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +634, +2, +25213, +658, +7, +26503], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-error-not-pred", +"typ":"tany"}, +"success":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +95, +2, +2469, +95, +23, +2490], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"success", +"typ":"tany"}, +"failure-raise-not-dissatisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +575, +2, +22737, +620, +7, +24532], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-raise-not-dissatisfied", +"typ":"tany"}, +"check-block-result":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +76, +2, +2121, +82, +5, +2291], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"check-block-result", +"typ":"tany"}, +"failure-not-dissatisfied":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +331, +2, +13182, +365, +7, +14532], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"failure-not-dissatisfied", +"typ":"tany"}, +"error-not-pred":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +634, +2, +25213, +658, +7, +26503], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"error-not-pred", +"typ":"tany"}, +"is-success":{"bind":"fun", +"origin":{"local-bind-site":["builtin://checker", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://checker", +95, +2, +2469, +95, +23, +2490], +"new-definition":true, +"uri-of-definition":"builtin://checker"}, +"flatness":0, +"name":"is-success", +"typ":"tany"}}, +"datatypes":{"TestResult":["data",{"local-bind-site":["builtin://checker", +94, +0, +2450, +692, +3, +28134], +"definition-bind-site":["builtin://checker", +94, +0, +2450, +692, +3, +28134], +"new-definition":true, +"uri-of-definition":"builtin://checker"},"TestResult",[],[["success", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}]], +{}],["failure-not-equal", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["refinement", +"tany"],["left", +"tany"],["left-src", +"tany"],["right", +"tany"],["right-src", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-is-incomparable", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["eq-result", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"EqualityResult"}],["left", +"tany"],["left-src", +"tany"],["right", +"tany"],["right-src", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-not-different", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["refinement", +"tany"],["left", +"tany"],["left-src", +"tany"],["right", +"tany"],["right-src", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-not-satisfied", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["val", +"tany"],["val-src", +"tany"],["pred", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-not-dissatisfied", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["val", +"tany"],["val-src", +"tany"],["pred", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-wrong-exn", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["exn-expected", +"tany"],["actual-exn", +"tany"],["actual-src", +"tany"]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"access-stack":["arrow", +["tany", +"tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-right-exn", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["exn-not-expected", +"tany"],["actual-exn", +"tany"],["actual-src", +"tany"]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-exn", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["actual-exn", +"tany"],["exn-place", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"CheckOperand"}]], +{"_output":["arrow", +["tany"], +"tany"], +"access-stack":["arrow", +["tany", +"tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-no-exn", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["exn-expected", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Option"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]]],["exn-src", +"tany"],["wanted", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-raise-not-satisfied", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["exn", +"tany"],["exn-src", +"tany"],["pred", +"tany"]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["failure-raise-not-dissatisfied", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["exn", +"tany"],["exn-src", +"tany"],["pred", +"tany"]], +{"_output":["arrow", +["tany"], +"tany"], +"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["error-not-boolean", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["refinement", +"tany"],["left", +"tany"],["left-src", +"tany"],["right", +"tany"],["right-src", +"tany"],["test-result", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["error-not-pred", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["predicate", +"tany"],["arity", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}],["error-not-boolean-pred", +[["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["predicate", +"tany"],["left", +"tany"],["left-src", +"tany"],["test-result", +"tany"]], +{"render-reason":["arrow", +["tany"], +"tany"], +"render-fancy-reason":["arrow", +["tany", +"tany", +"tany", +"tany"], +"tany"]}]],{"access-stack":["arrow", +["tany", +"tany"], +"tany"]}], +"CheckBlockResult":["data",{"local-bind-site":["builtin://checker", +75, +0, +2096, +83, +3, +2295], +"definition-bind-site":["builtin://checker", +75, +0, +2096, +83, +3, +2295], +"new-definition":true, +"uri-of-definition":"builtin://checker"},"CheckBlockResult",[],[["check-block-result", +[["name", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["loc", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Loc"}],["keyword-check", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}],["test-results", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"List"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"TestResult"}]]],["maybe-err", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://checker"}, +"name":"Option"},["tany"]]]], +{}]],{}], +"CheckOperand":["data",{"local-bind-site":["builtin://checker", +31, +0, +560, +73, +3, +2094], +"definition-bind-site":["builtin://checker", +31, +0, +560, +73, +3, +2094], +"new-definition":true, +"uri-of-definition":"builtin://checker"},"CheckOperand",[],[["on-left", +{"test-component":["arrow", +["tany", +"tany"], +"tany"], +"side":["arrow", +["tany"], +"tany"]}],["on-right", +{"test-component":["arrow", +["tany", +"tany"], +"tany"], +"side":["arrow", +["tany"], +"tany"]}],["on-refinement", +{"test-component":["arrow", +["tany", +"tany"], +"tany"], +"side":["arrow", +["tany"], +"tany"]}],["on-cause", +{"test-component":["arrow", +["tany", +"tany"], +"tany"], +"side":["arrow", +["tany"], +"tany"]}]],{"test-component":["arrow", +["tany", +"tany"], +"tany"], +"side":["arrow", +["tany"], +"tany"], +"test-preamble":["arrow", +["tany", +"tany"], +"tany"], +"test-op":["arrow", +["tany", +"tany"], +"tany"]}]}, +"aliases":{"Loc":"tany", +"TestResult":"tany", +"CheckBlockResult":"tany", +"CheckOperand":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"either"}, +{"import-type":"builtin", +"name":"equality"}, +{"import-type":"builtin", +"name":"error"}, +{"import-type":"builtin", +"name":"error-display"}, +{"import-type":"builtin", +"name":"ffi"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"render-error-display"}, +{"import-type":"builtin", +"name":"srcloc"}, +{"import-type":"builtin", +"name":"valueskeleton"}]}), +"builtin://table":({ + requires: [ + { "import-type": "builtin", name: "valueskeleton" }, + { "import-type": "builtin", name: "equality" }, + { "import-type": "builtin", name: "ffi" } + ], + nativeRequires: [ + "pyret-base/js/type-util" + ], + provides: {}, + theModule: function(runtime, namespace, uri, VSlib, EQlib, ffi, t) { + var get = runtime.getField; + + var VS = get(VSlib, "values"); + var EQ = get(EQlib, "values"); + + var eq = function() { return ffi.equal; }; + var neq = function(left, right) { return ffi.notEqual.app('', left, right); }; + + var brandTable = runtime.namedBrander("table", ["table: table brander"]); + var annTable = runtime.makeBranderAnn(brandTable, "Table"); + + var brandRow = runtime.namedBrander("row", ["table: row brander"]); + var annRow = runtime.makeBranderAnn(brandRow, "Row"); + + var rowGetValue = runtime.makeMethod1(function(self, arg) { + ffi.checkArity(2, arguments, "get-value", true); + runtime.checkArgsInternal2("tables", "get-value", + self, annRow, arg, runtime.String); + var index = self.$underlyingTable.headerIndex["column:" + arg]; + if(typeof index === "number") { + return self.$rowData[index]; + } + else { + return ffi.throwMessageException("No such column: " + arg); + } + }); + + var rowGetColumns = runtime.makeMethod0(function(self) { + ffi.checkArity(1, arguments, "get-column-names", true); + var cols = Object.keys(self.$underlyingTable.headerIndex).map(function(k) { + return k.slice(7); // chop off "column:" + }); + return runtime.ffi.makeList(cols); + }); + + var rowEquals = runtime.makeMethod2(function(self, other, rec) { + ffi.checkArity(3, arguments, "_equals", true); + runtime.checkArgsInternal3("tables", "_equals", + self, annRow, other, annRow, rec, runtime.Function); + var headers1 = self.$underlyingTable.headerIndex; + var headers2 = other.$underlyingTable.headerIndex; + var hk1 = Object.keys(headers1); + var hk2 = Object.keys(headers2); + var rowData1 = self.$rowData; + var rowData2 = other.$rowData; + if(rowData1.length !== rowData2.length) { + return neq(self, other); + } + if(hk1.length !== hk2.length) { + return neq(self, other); + } + for(var i = 0; i < hk1.length; i += 1) { + if(headers1[hk1[i]] !== headers2[hk1[i]]) { + return neq(self, other); + } + } + return runtime.raw_array_fold(runtime.makeFunction(function(ans, val1, j) { + if (ffi.isNotEqual(ans)) { return ans; } + return runtime.safeCall(function() { + return rec.app(val1, rowData2[j]); + }, function(eqAns) { + return get(EQ, "equal-and").app(ans, eqAns); + }, "equals:combine-cells"); + }), eq(), rowData1, 0); + }); + + var rowOutput = runtime.makeMethod0(function(self) { + ffi.checkArity(1, arguments, "_output", true); + var vsValue = get(VS, "vs-value").app; + var keys = Object.keys(self.$underlyingTable.headerIndex); + return get(VS, "vs-row").app( + keys.map(function(hdr){return vsValue(hdr.slice(7));}), + keys.map(function(hdr){return vsValue(self.$rowData[self.$underlyingTable.headerIndex[hdr]]);})); + }); + + function makeRow(underlyingTable, rowData) { + var rowVal = runtime.makeObject({ + "get-value": rowGetValue, + "get-column-names": rowGetColumns, + "_output": rowOutput, + "_equals": rowEquals + }); + rowVal = applyBrand(brandRow, rowVal); + rowVal.$underlyingTable = underlyingTable; + rowVal.$rowData = rowData; + return rowVal; + } + + function makeRowFromArray(rawArrayOfTuples) { + var headerIndex = []; + var rowData = []; + + // TODO(joe): error checking here for bogus values, or elsewhere? + // May be good to keep this fast and do checks in Pyret-land + for(var i = 0; i < rawArrayOfTuples.length; i += 1) { + var colname = rawArrayOfTuples[i].vals[0]; + if(headerIndex["column:" + colname] !== undefined) { + return runtime.ffi.throwMessageException("Duplicate column name in row: " + colname); + } + headerIndex["column:" + colname] = i; + rowData[i] = rawArrayOfTuples[i].vals[1]; + } + + return makeRow({ headerIndex: headerIndex }, rowData); + } + + function applyBrand(brand, val) { + return get(brand, "brand").app(val); + } + + function hasBrand(brand, val) { + return get(brand, "test").app(val); + } + + function isTable(val) { + return hasBrand(brandTable, val); + } + + function isRow(val) { + return hasBrand(brandRow, val); + } + + function openTable(info) { + runtime.checkTuple(info); + if (info.vals.length != 2) { + runtime.ffi.throwMessageException("Expected to find {header; contents} pair, " + + "but found a tuple of length " + + info.vals.length); + } + var headers = info.vals[0]; + var contents = info.vals[1]; + runtime.checkArray(headers); + runtime.checkArray(contents); + var names = []; + var sanitizers = []; + for(var i = 0; i < headers.length; ++i) { + runtime.checkTuple(headers[i]); + if (headers[i].vals.length !== 2) { + runtime.ffi.throwMessageException("Expected to find {name; sanitizer} pairs " + + "in header data, but found a tuple of " + + "length " + headers[i].vals.length); + } + var header = headers[i].vals; + runtime.checkString(header[0]); + runtime.checkFunction(header[1]); + names.push(header[0]); + sanitizers.push(header[1]); + } + return runtime.safeCall(function() { + return runtime.eachLoop(runtime.makeFunction(function(i) { + runtime.checkArray(contents[i]); + if (contents[i].length !== headers.length) { + if (i === 0) { + runtime.ffi.throwMessageException("Contents must match header size"); + } else { + runtime.ffi.throwMessageException("Contents must be rectangular"); + } + } + // This loop is stack safe, since it's just a brand-checker + for (var j = 0; j < contents[i].length; ++j) { + runtime.checkCellContent(contents[i][j]); + } + return runtime.safeCall(function() { + return runtime.raw_array_mapi(runtime.makeFunction(function(v, j) { + return sanitizers[j].app(contents[i][j], names[j], runtime.makeNumber(i)); + }), contents[i]); + }, function(new_contents_i) { + contents[i] = new_contents_i; + return runtime.nothing; + }, "openTable:assign-rows"); + }), 0, contents.length); + }, function(_) { + return makeTable(names, contents); + }, "openTable"); + } + + function makeTable(headers, rows) { + var headerIndex = {}; + + for (var i = 0; i < headers.length; i++) { + headerIndex["column:" + headers[i]] = i; + } + + function getColumn(column_name) { + /* TODO: Raise error if table lacks column */ + var column_index; + Object.keys(headers).forEach(function(i) { + if(headers[i] == column_name) { column_index = i; } + }); + return rows.map(function(row){return row[column_index];}); + } + + function hasColumn(column_name) { + return headerIndex.hasOwnProperty("column:" + column_name); + } + + function getRowContentAsRecordFromHeaders(headers, raw_row) { + /* TODO: Raise error if no row at index */ + var obj = {}; + for(var i = 0; i < headers.length; i++) { + obj[headers[i]] = raw_row[i]; + } + return obj; + } + + function getRowContentAsRecord(raw_row) { + return getRowContentAsRecordFromHeaders(headers, raw_row); + } + + function getRowContentAsGetter(headers, raw_row) { + var obj = getRowContentAsRecordFromHeaders(headers, raw_row); + obj["get-value"] = runtime.makeFunction(function(key) { + if(obj.hasOwnProperty(key)) { + return obj[key]; + } + else { + runtime.ffi.throwMessageException("Not found: " + key); + } + }); + return runtime.makeObject(obj); + } + + function multiOrder(sourceArr, colComps, destArr) { + // sourceArr is a raw JS array of table rows + // colComps is an array of 2-element arrays, [true iff ascending, colName] + // destArr is the final array in which to place the sorted rows + // returns destArr, and mutates destArr + if (sourceArr.length === 0) { return destArr; } + var colIdxs = []; + var comps = []; + var LESS = "less"; + var EQ = "equal"; + var MORE = "more"; + for (var i = 0; i < colComps.length; i++) { + comps[i] = (colComps[i][0] ? runtime.lessthan : runtime.greaterthan); + colIdxs[i] = headerIndex["column:" + colComps[i][1]]; + for (var dupIdx = i + 1; dupIdx < colComps.length; dupIdx++) { + if (colComps[i][1] === colComps[dupIdx][1]) { + runtime.ffi.throwMessageException( + "Attempted to sort on the same column multiple times: " + + "'" + colComps[i][1] + "' is used as sort-key " + i + + ", and also as sort-key " + dupIdx); + } + } + } + function helper(sourceArr) { + var lessers = []; + var equals = []; + var greaters = []; + var pivot = sourceArr[0]; + equals.push(pivot); + return runtime.safeCall(function() { + return runtime.eachLoop(runtime.makeFunction(function(rowIdx) { + return runtime.safeCall(function() { + return runtime.raw_array_fold(runtime.makeFunction(function(order, comp, colIdx) { + if (order !== EQ) return order; + else { + return runtime.safeCall(function() { + return comp(sourceArr[rowIdx][colIdxs[colIdx]], pivot[colIdxs[colIdx]]); + }, function(isLess) { + if (isLess) return LESS; + else return runtime.safeCall(function() { + return runtime.equal_always(sourceArr[rowIdx][colIdxs[colIdx]], pivot[colIdxs[colIdx]]); + }, function(isEqual) { + return (isEqual ? EQ : MORE); + }, "multiOrder-isGreater"); + }, "multiOrder-isLess"); + } + }), EQ, comps, 0); + }, function(order) { + if (order === LESS) { lessers.push(sourceArr[rowIdx]); } + else if (order === EQ) { equals.push(sourceArr[rowIdx]); } + else { greaters.push(sourceArr[rowIdx]); } + return runtime.nothing; + }, "multiOrder-temparrs"); + }), 1, sourceArr.length); // start from 1, since index 0 is the pivot + }, function(_) { + return runtime.safeCall(function() { + if (lessers.length === 0) { return destArr; } + else { return helper(lessers); } + }, function(_) { + for (var i = 0; i < equals.length; i++) + destArr.push(equals[i].slice()); // need to copy here + if (greaters.length === 0) { return destArr; } + else { return helper(greaters); } + }, "multiOrder-finalMoves"); + }); + } + return helper(sourceArr); + } + + function order(direction, colname) { + var asList = runtime.ffi.makeList(rows); + var index = headerIndex["column:" + colname]; + var comparator = direction ? runtime.lessthan : runtime.greaterthan; + var compare = runtime.makeFunction(function(l, r) { + return comparator(l[index], r[index]); + }); + var equal = runtime.makeFunction(function(l, r) { + return runtime.equal_always(l[index], r[index]); + }); + return runtime.safeCall(function() { + return runtime.getField(asList, "sort-by").app(compare, equal); + }, function(sortedList) { + return makeTable(headers, runtime.ffi.toArray(sortedList)); + }, "order-sort-by"); + + } + + function makeRowFromValues(vals) { + if(headers.length !== vals.length) { + throw runtime.ffi.throwRowLengthMismatch(makeTable(headers, []), vals); + } + return makeRow({ headerIndex: headerIndex }, vals); + } + + return applyBrand(brandTable, runtime.makeObject({ + + '_header-raw-array': headers, + '_rows-raw-array': rows, + + 'increasing-by': runtime.makeMethod1(function(self, colname) { + ffi.checkArity(2, arguments, "increasing-by", true); + runtime.checkArgsInternal2("tables", "increasing-by", + self, annTable, colname, runtime.String); + return order(true, colname); + }), + 'decreasing-by': runtime.makeMethod1(function(self, colname) { + ffi.checkArity(2, arguments, "decreasing-by", true); + runtime.checkArgsInternal2("tables", "decreasing-by", + self, annTable, colname, runtime.String); + return order(false, colname); + }), + 'order-by': runtime.makeMethod2(function(self, colname, increasing) { + ffi.checkArity(3, arguments, "order-by", true); + runtime.checkArgsInternal3("tables", "order-by", + self, annTable, colname, runtime.String, increasing, runtime.Boolean); + if(!hasColumn(colname)) { + ffi.throwMessageException("The table does not have a column named `"+colname+"`."); + } + return order(increasing, colname); + }), + 'order-by-columns': runtime.makeMethod1(function(self, specs) { + ffi.checkArity(2, arguments, "order-by-columns", true); + runtime.checkArgsInternal2("tables", "order-by-columns", + self, annTable, specs, runtime.List); + var specsArray = ffi.toArray(specs); + var asArrays = []; + for(var i = 0; i < specsArray.length; i += 1) { + runtime.checkTuple(specsArray[i]); + var colname = runtime.getTuple(specsArray[i], 0); + if(!hasColumn(colname)) { + ffi.throwMessageException("The table does not have a column named `"+colname+"`."); + } + asArrays.push([ + runtime.getTuple(specsArray[i], 1), + colname + ]); + } + return runtime.safeCall(function() { + return multiOrder(rows, asArrays, []); + }, function(destArr) { + return makeTable(headers, destArr); + }, "order-by-columns"); + }), + + 'multi-order': runtime.makeMethod1(function(self, colComps) { + ffi.checkArity(2, arguments, "multi-order", true); + runtime.checkArgsInternal2("tables", "multi-order", + self, annTable, colComps, runtime.RawArray); + // colComps is an array of 2-element arrays, [true iff ascending, colName] + for(var i = 0; i < colComps.length; i += 1) { + var colname = colComps[i][1]; + if(!hasColumn(colname)) { + ffi.throwMessageException("The table does not have a column named `"+colname+"`."); + } + } + return runtime.safeCall(function() { + return multiOrder(rows, colComps, []); + }, function(destArr) { + return makeTable(headers, destArr); + }, "multi-order"); + }), + + 'add-column': runtime.makeMethod2(function(self, colname, eltList) { + ffi.checkArity(3, arguments, "add-column", true); + runtime.checkArgsInternal3("tables", "add-column", + self, annTable, colname, runtime.String, eltList, runtime.List); + if(hasColumn(colname)) { + throw runtime.ffi.throwMessageException("column-name-exists"); + } + var asArray = runtime.ffi.toArray(eltList); + if(rows.length !== asArray.length) { + throw runtime.ffi.throwColLengthMismatch(colname, rows.length, asArray.length, eltList); + } + + var newRows = []; + for(var i = 0; i < rows.length; i += 1) { + newRows.push(rows[i].concat([asArray[i]])); + } + + return makeTable(headers.concat([colname]), newRows); + }), + + 'add-row': runtime.makeMethod1(function(self, row) { + ffi.checkArity(2, arguments, 'add-row', true); + runtime.checkArgsInternal2("tables", "add-row", self, annTable, row, annRow); + var theseKeys = Object.keys(headerIndex); + var rowKeys = Object.keys(row.$underlyingTable.headerIndex); + if(theseKeys.length !== rowKeys.length) { + throw runtime.ffi.throwMessageException("add-row-length"); + } + for(var i = 0; i < theseKeys.length; i += 1) { + if(headerIndex["column:" + headers[i]] !== + row.$underlyingTable.headerIndex["column:" + headers[i]]) { + throw runtime.ffi.throwMessageException("row-name-mismatch: " + headers[i]); + } + } + // NOTE(joe): Here we do not copy all the sub-arrays with the + // existing data, we just copy the outer array containing them. + // This relies on the assumption that we never mutate the + // underlying arrays in tables, and avoids significant copying. + // Note also that add-column doesn't get to do this sharing because + // of the row-major organization of tables. + var newRows = rows.concat([row.$rowData]); + return makeTable(headers, newRows); + }), + + 'row-n': runtime.makeMethod1(function(self, row) { + ffi.checkArity(2, arguments, "row-n", true); + runtime.checkArgsInternal2("tables", "row-n", self, annTable, row, runtime.NumInteger); + runtime.checkNumNonNegative(row); // NOTE(Ben): These should be converted to a call to checkArgsInternal + var rowFix = runtime.num_to_fixnum(row); + if(rowFix >= rows.length) { + throw runtime.ffi.throwMessageException("row-n-too-large"); + } + return makeRow({ headerIndex: headerIndex }, rows[rowFix]); + }), + + 'all-rows': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "all-rows", true); + return runtime.ffi.makeList( + rows.map(function(r) { + return makeRow({ headerIndex: headerIndex }, r); + }) + ); + }), + + + 'column': runtime.makeMethod1(function(self, colname) { + ffi.checkArity(2, arguments, "column", true); + runtime.checkArgsInternal2("tables", "column", + self, annTable, colname, runtime.String); + var lookupName = "column:" + colname; + if(!(lookupName in headerIndex)) { + throw runtime.ffi.throwMessageException("no-such-column"); + } + var results = rows.map(function(r) { + return r[headerIndex[lookupName]]; + }); + return runtime.ffi.makeList(results); + }), + + 'column-n': runtime.makeMethod1(function(self, n) { + ffi.checkArity(2, arguments, "column-n", true); + runtime.checkArgsInternal2("tables", "column-n", self, annTable, n, runtime.NumInteger); + runtime.checkNumNonNegative(n); // NOTE(Ben): These should be converted to checkArgsInternal1 + var lookupIndex = runtime.num_to_fixnum(n); + if(lookupIndex >= headers.length) { + throw runtime.ffi.throwMessageException("column-n-too-large"); + } + var results = rows.map(function(r) { + return r[lookupIndex]; + }); + return runtime.ffi.makeList(results); + }), + + 'all-columns': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "all-columns", true); + var collists = []; + for(var c = 0; c < headers.length; c += 1) { + collists.push([]); + } + for(var r = 0; r < rows.length; r += 1) { + for(var c = 0; c < headers.length; c += 1) { + collists[c].push(rows[r][c]); + } + } + return runtime.ffi.makeList(collists.map(runtime.ffi.makeList)); + }), + + 'column-names': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "column-names", true); + return runtime.ffi.makeList(headers); + }), + + 'stack': runtime.makeMethod1(function(self, otherTable) { + ffi.checkArity(2, arguments, "stack", true); + runtime.checkArgsInternal1("tables", "stack", self, annTable, otherTable, annTable); + var otherHeaders = runtime.getField(otherTable, "_header-raw-array"); + if(otherHeaders.length !== headers.length) { + return ffi.throwMessageException("Tables have different column sizes in stack: " + headers.length + " " + otherHeaders.length); + } + var headersSorted = headers.slice(0, headers.length).sort(); + var otherHeadersSorted = otherHeaders.slice(0, headers.length).sort(); + headersSorted.forEach(function(h, i) { + if(h !== otherHeadersSorted[i]) { + return ffi.throwMessageException("The table to be stacked is missing column " + h); + } + }); + + var newRows = runtime.getField(otherTable, "_rows-raw-array"); + newRows = newRows.map(function(row) { + var rowAsRec = getRowContentAsRecordFromHeaders(otherHeaders, row); + console.log(headers); + var newRow = headers.map(function(h) { + return rowAsRec[h]; + }); + return newRow; + }); + return makeTable(headers, rows.concat(newRows)); + }), + + 'reduce': runtime.makeMethod2(function(self, colname, reducer) { + ffi.checkArity(3, arguments, "reduce", true); + runtime.checkArgsInternal3("tables", "reduce", + self, annTable, + colname, runtime.String, + reducer, runtime.Object); + if(rows.length === 0) { ffi.throwMessageException("Reducing an empty table (column names were " + headers.join(", ") + ")"); } + var column = getColumn(colname); + return runtime.safeCall(function() { + return runtime.safeCall(function() { + return runtime.getField(reducer, "one").app(column[0]); + }, function(one) { + if(rows.length === 1) { + return one; + } + else { + var reduce = runtime.getField(reducer, "reduce"); + var reducerWrapped = runtime.makeFunction(function(acc, val, ix) { + return reduce.app(runtime.getTuple(acc, 0, ["tables"]), val); + }); + return runtime.raw_array_fold(reducerWrapped, one, column.slice(1), 1); + } + }, "reduce-one"); + }, function(answerTuple) { + return runtime.getTuple(answerTuple, 1, ["tables"]); + }, "reduce-rest"); + }), + + 'empty': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "empty", true); + return makeTable(headers, []); + }), + + 'drop': runtime.makeMethod1(function(self, colname) { + ffi.checkArity(2, arguments, "drop", true); + runtime.checkArgsInternal1("tables", "drop", + self, annTable, colname, runtime.String); + var newHeaders = headers.filter(function(h) { return h !== colname; }) + var newRows = rows.map(function(rawRow) { + return rawRow.filter(function(h, i) { + return i !== headerIndex['column:' + colname]; + }); + }); + return makeTable(newHeaders, newRows); + }), + + 'rename-column': runtime.makeMethod1(function(self, colname, newcolname) { + ffi.checkArity(3, arguments, "rename-column", true); + runtime.checkArgsInternal1("tables", "rename-column", + self, annTable, colname, runtime.String, newcolname, runtime.String); + if(!hasColumn(colname)) { + ffi.throwMessageException("transform-column: tried changing the name of column " + colname + " but it doesn't exist (existing column name(s) were " + headers.join(", ") + ")"); + } + if(hasColumn(newcolname)) { + ffi.throwMessageException("transform-column: tried changing the name of column " + colname + " to " + newcolname + " but that new name already exists as a column name (existing column name(s) were " + headers.join(", ") + ")"); + } + var newHeaders = headers.map(function(h) { + if(h === colname) { return newcolname; } else { return h; } + }); + return makeTable(newHeaders, rows); + }), + + 'transform-column': runtime.makeMethod1(function(self, colname, func) { + ffi.checkArity(3, arguments, "transform-column", true); + runtime.checkArgsInternal3("tables", "transform-column", + self, annTable, colname, runtime.String, func, runtime.Function); + + if(!hasColumn(colname)) { + ffi.throwMessageException("transform-column: tried changing the column " + colname + " but it doesn't exist (existing column name(s) were " + headers.join(", ") + ")"); + } + + var i = headerIndex['column:' + colname]; + + var wrappedFunc = function(rawRow) { + return runtime.safeCall(function() { + return func.app(rawRow[i]); + }, + function(newVal) { + var result = rawRow.slice(0, i).concat([newVal]).concat(rawRow.slice(i + 1, rawRow.length)); + return result; + }, "table-transform-cell"); + }; + + return runtime.safeCall(function() { + return runtime.raw_array_map(runtime.makeFunction(wrappedFunc, "func"), rows); + }, function(newRows) { + return makeTable(headers, newRows); + }, "table-transform-column"); + }), + + + + 'build-column': runtime.makeMethod1(function(self, colname, func) { + ffi.checkArity(3, arguments, "build-column", true); + runtime.checkArgsInternal3("tables", "build-column", + self, annTable, colname, runtime.String, func, runtime.Function); + + if(hasColumn(colname)) { + ffi.throwMessageException("build-column: tried adding the column " + colname + " but it already exists (existing column names were " + headers.join(", ") + ")"); + } + + var wrappedFunc = function(rawRow) { + return runtime.safeCall(function() { + var thisRow = makeRow({ headerIndex: headerIndex }, rawRow); + return func.app(thisRow); + }, + function(newVal) { + return rawRow.concat([newVal]); + }, "table-add-cell"); + }; + + return runtime.safeCall(function() { + return runtime.raw_array_map(runtime.makeFunction(wrappedFunc, "func"), rows); + }, function(newRows) { + return makeTable(headers.concat([colname]), newRows); + }, "table-add-column"); + }), + + 'filter-by': runtime.makeMethod2(function(self, colname, pred) { + ffi.checkArity(3, arguments, "filter-by", true); + runtime.checkArgsInternal3("tables", "filter-by", + self, annTable, colname, runtime.String, pred, runtime.Function); + if(!(("column:" + colname) in headerIndex)) { + throw runtime.ffi.throwMessageException("no-such-column"); + } + var wrappedPred = function(rawRow) { + return pred.app(getRowContentAsRecord(rawRow)[colname]); + } + return runtime.safeCall(function() { + return runtime.raw_array_filter(runtime.makeFunction(wrappedPred, "pred"), rows); + }, function(filteredRows) { + return makeTable(headers, filteredRows); + }, "table-filter-by"); + }), + + + 'filter': runtime.makeMethod1(function(self, pred) { + ffi.checkArity(2, arguments, "filter", true); + runtime.checkArgsInternal2("tables", "filter", + self, annTable, pred, runtime.Function); + var wrappedPred = function(rawRow) { + return pred.app(makeRow({ headerIndex: headerIndex }, rawRow)); + } + return runtime.safeCall(function() { + return runtime.raw_array_filter(runtime.makeFunction(wrappedPred, "pred"), rows); + }, function(filteredRows) { + return makeTable(headers, filteredRows); + }, "table-filter"); + }), + + 'length': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "length", true); + return runtime.makeNumber(rows.length); + }), + + 'get-column': runtime.makeMethod1(function(self, col_name) { + ffi.checkArity(2, arguments, "get-column", true); + runtime.checkArgsInternal2("tables", "get-column", + self, annTable, col_name, runtime.String); + if(!hasColumn(col_name)) { + ffi.throwMessageException("The table does not have a column named `"+col_name+"`."); + } + return runtime.ffi.makeList(getColumn(col_name)); + }), + + 'select-columns': runtime.makeMethod1(function(self, colnames) { + ffi.checkArity(2, arguments, "select-columns", true); + runtime.checkArgsInternal2("tables", "select-columns", + self, annTable, colnames, runtime.List); + + var colnamesList = ffi.toArray(colnames); + if(colnamesList.length === 0) { + throw ffi.throwMessageException("zero-columns"); + } + for(var i = 0; i < colnamesList.length; i += 1) { + runtime.checkString(colnamesList[i]); + if(!hasColumn(colnamesList[i])) { + throw ffi.throwMessageException("no-such-column"); + } + } + + var newRows = []; + for(var i = 0; i < rows.length; i += 1) { + newRows[i] = []; + for(var j = 0; j < colnamesList.length; j += 1) { + var colIndex = headerIndex['column:' + colnamesList[j]]; + newRows[i].push(rows[i][colIndex]); + } + } + return makeTable(colnamesList, newRows); + }), + + + '_column-index': runtime.makeMethod3(function(_, operation_loc, table_loc, col_name, col_loc) { + ffi.checkArity(5, arguments, "_column-index", true); + var col_index = headerIndex['column:'+col_name]; + if(col_index === undefined) { + ffi.throwColumnNotFound(operation_loc, col_name, col_loc, + runtime.ffi.makeList(Object.keys(headerIndex).map(function(k) { return k.slice(7); }))); + } + return col_index; + }), + + '_no-column': runtime.makeMethod3(function(_, operation_loc, table_loc, col_name, col_loc) { + ffi.checkArity(5, arguments, "_no-column", true); + var col_index = headerIndex['column:'+col_name]; + if(col_index != undefined) + ffi.throwDuplicateColumn(operation_loc, col_name, col_loc); + return col_index; + }), + + '_equals': runtime.makeMethod2(function(self, other, equals) { + ffi.checkArity(3, arguments, "_equals", true); + // is the other a table + // same number of columns? + // same number of rows? + // columns have same names? + // each row has the same elements + if (!hasBrand(brandTable, other)) { + return neq(self, other); + } + var otherHeaders = get(other, "_header-raw-array"); + var otherRows = get(other, "_rows-raw-array"); + if (headers.length !== otherHeaders.length + || rows.length !== otherRows.length) { + return neq(self, other); + } + for (var i = 0; i < headers.length; ++i) { + if (headers[i] != otherHeaders[i]) { + return neq(self, other); + } + } + return runtime.raw_array_fold(runtime.makeFunction(function(ans, selfRow, i) { + if (ffi.isNotEqual(ans)) { return ans; } + var otherRow = otherRows[i]; + return runtime.raw_array_fold(runtime.makeFunction(function(ans, selfRowJ, j) { + if (ffi.isNotEqual(ans)) { return ans; } + return runtime.safeCall(function() { + return equals.app(selfRowJ, otherRow[j]); + }, function(eqAns) { + return get(EQ, "equal-and").app(ans, eqAns); + }, "equals:combine-cells"); + }), ans, selfRow, 0); + }), eq(), rows, 0); + }), + + '_output': runtime.makeMethod0(function(_) { + ffi.checkArity(1, arguments, "_output", true); + var vsValue = get(VS, "vs-value").app; + var vsString = get(VS, "vs-str").app; + return get(VS, "vs-table").app( + headers.map(function(hdr){return vsString(hdr);}), + rows.map(function(row){return row.map( + function(elm){return vsValue(elm);});})); + }), + + 'row': runtime.makeMethodN(function(self, ...args) { + // NOTE: Deliberately no arity check + if(headers.length !== args.length) { + throw runtime.ffi.throwRowLengthMismatch(makeTable(headers, []), args); + } + return makeRow({ headerIndex: headerIndex }, args); + }), + + 'new-row': runtime.makeObject({ + make: runtime.makeFunction(function(ar) { return makeRowFromValues(ar); }), + make0: runtime.makeFunction(function( ) { return makeRowFromValues([]); }), + make1: runtime.makeFunction(function(v) { return makeRowFromValues([v]); }), + make2: runtime.makeFunction(function(v1, v2) { return makeRowFromValues([v1, v2]); }), + make3: runtime.makeFunction(function(v1, v2, v3) { return makeRowFromValues([v1, v2, v3]); }), + make4: runtime.makeFunction(function(v1, v2, v3, v4) { return makeRowFromValues([v1, v2, v3, v4]); }), + make5: runtime.makeFunction(function(v1, v2, v3, v4, v5) { return makeRowFromValues([v1, v2, v3, v4, v5]); }) + }) + })); + } + + return runtime.makeJSModuleReturn({ + TableAnn : annTable, + RowAnn : annRow, + makeTable: makeTable, + makeRow: makeRow, + makeRowFromArray: makeRowFromArray, + openTable: openTable, + isTable: isTable, + isRow: isRow + }, + {}); + } +}) +, +"builtin://tables":({"theMap":"{\"version\":3,\"sources\":[\"builtin://tables\"],\"names\":[\"builtin://tables\",\",15,11,314,15,19,322\",\",18,11,414,18,21,424\",\",23,13,458,23,31,476\",\",27,14,609,27,19,614\",\",30,15,701,30,22,708\",\",31,17,726,31,26,735\",\",32,30,766,32,51,787\",\",39,18,950,39,29,961\",\",43,17,1042,43,25,1050\",\",53,17,1248,53,25,1256\",\",59,49,1352,59,72,1375\",\",61,49,1426,61,72,1449\",\",63,64,1515,63,69,1520\",\",63,49,1500,63,70,1521\",\",66,18,1553,66,44,1579\",\",67,39,1624,67,48,1633\",\",67,16,1601,67,51,1636\",\",68,40,1682,68,49,1691\",\",68,17,1659,68,54,1696\",\",69,45,1747,69,54,1756\",\",69,22,1724,69,64,1766\",\",70,49,1821,70,58,1830\",\",70,26,1798,70,72,1844\",\",71,53,1903,71,62,1912\",\",71,30,1880,71,80,1930\",\",72,57,1993,72,66,2002\",\",72,34,1970,72,88,2024\",\",76,9,2073,76,30,2094\",\",76,9,2073,76,49,2113\",\",80,6,2214,80,28,2236\",\",78,20,2148,78,52,2180\",\",78,4,2132,81,7,2244\",\",83,4,2311,83,16,2323\",\",82,2,2247,84,5,2329\",\",89,38,2423,89,47,2432\",\",89,16,2401,89,50,2435\",\",90,39,2480,90,48,2489\",\",90,17,2458,90,53,2494\",\",91,44,2544,91,53,2553\",\",91,22,2522,91,63,2563\",\",92,48,2617,92,57,2626\",\",92,26,2595,92,71,2640\",\",93,52,2698,93,61,2707\",\",93,30,2676,93,79,2725\",\",94,56,2787,94,65,2796\",\",94,34,2765,94,87,2818\",\",99,18,2952,99,27,2961\",\",99,4,2938,99,44,2978\",\",98,9,2910,100,5,2984\",\",101,23,3008,101,48,3033\",\",101,2,2987,101,49,3034\",\",108,5,3136,108,31,3162\",\",108,5,3136,108,36,3167\",\",109,4,3173,109,60,3229\",\",111,19,3257,111,45,3283\",\",113,9,3382,113,15,3388\",\",116,8,3439,116,34,3465\",\",112,30,3314,112,59,3343\",\",112,4,3288,118,7,3483\",\",125,33,3577,125,42,3586\",\",125,16,3560,125,45,3589\",\",126,34,3629,126,43,3638\",\",126,17,3612,126,48,3643\",\",127,39,3688,127,48,3697\",\",127,22,3671,127,58,3707\",\",128,43,3756,128,52,3765\",\",128,26,3739,128,66,3779\",\",129,47,3832,129,56,3841\",\",129,30,3815,129,74,3859\",\",130,51,3916,130,60,3925\",\",130,34,3899,130,82,3947\",\",7,0,61,131,1,3954\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAcUC,gCAdVD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiBUE,kCAjBVF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsBYG,oCAtBZH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0BaI,iCA1BbJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6BcK,iCA7BdL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8BgBM,kCA9BhBN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+B6BO,kDA/B7BP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsCiBQ,kCAtCjBR;AAAAA;AAsCiBQ,iCAtCjBR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0CgBS,kCA1ChBT;AAAAA;AA0CgBS,8BA1ChBT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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\",\"file\":\"builtin://tables\"}", +"theModule":"function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__164(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://tables\";\nvar D = R.undefined;\nvar L = [[M,12,18,196,21,3,443],\n[M,14,9,265,16,7,333],\n[M,14,30,286,14,36,292],\n[M,14,38,294,14,44,300],\n[M,14,29,285,14,45,301],\n[M,15,11,314,15,19,322],\n[M,14,18,274,14,24,280],\n[M,17,12,347,19,7,435],\n[M,17,51,386,17,57,392],\n[M,17,59,394,17,65,400],\n[M,17,50,385,17,66,401],\n[M,18,11,414,18,21,424],\n[M,17,26,361,17,32,367],\n[M,17,39,374,17,45,380],\n[M,12,41,219,12,72,250],\n[M,12,30,208,12,36,214],\n[M,26,7,547,28,5,622],\n[M,26,29,569,26,35,575],\n[M,26,37,577,26,43,583],\n[M,26,28,568,26,44,584],\n[M,26,46,586,26,52,592],\n[M,26,27,567,26,53,593],\n[M,27,14,609,27,19,614],\n[M,26,16,556,26,22,562],\n[M,29,10,634,33,5,795],\n[M,29,15,639,29,18,642],\n[M,29,20,644,29,25,649],\n[M,29,36,660,29,42,666],\n[M,29,44,668,29,50,674],\n[M,29,35,659,29,51,675],\n[M,29,53,677,29,59,683],\n[M,29,34,658,29,60,684],\n[M,32,30,766,32,51,787],\n[M,31,17,726,31,26,735],\n[M,30,15,701,30,22,708],\n[M,29,14,638,29,26,650],\n[M,36,15,814,47,3,1095],\n[M,38,9,924,41,7,1000],\n[M,39,18,950,39,29,961],\n[M,42,12,1014,45,7,1087],\n[M,43,17,1042,43,25,1050],\n[M,36,82,881,36,110,909],\n[M,36,40,839,36,46,845],\n[M,36,54,853,36,77,876],\n[M,49,17,1114,57,3,1301],\n[M,51,9,1188,51,27,1206],\n[M,52,12,1220,55,7,1293],\n[M,53,17,1248,53,25,1256],\n[M,49,54,1151,49,76,1173],\n[M,49,32,1129,49,49,1146],\n[M,63,64,1515,63,69,1520],\n[M,66,8,1543,66,48,1583],\n[M,66,18,1553,66,44,1579],\n[M,67,9,1594,67,55,1640],\n[M,67,38,1623,67,50,1635],\n[M,67,39,1624,67,48,1633],\n[M,67,16,1601,67,51,1636],\n[M,68,9,1651,68,58,1700],\n[M,68,39,1681,68,53,1695],\n[M,68,40,1682,68,49,1691],\n[M,68,17,1659,68,54,1696],\n[M,69,9,1711,69,68,1770],\n[M,69,44,1746,69,63,1765],\n[M,69,45,1747,69,54,1756],\n[M,69,22,1724,69,64,1766],\n[M,70,9,1781,70,76,1848],\n[M,70,48,1820,70,71,1843],\n[M,70,49,1821,70,58,1830],\n[M,70,26,1798,70,72,1844],\n[M,71,9,1859,71,84,1934],\n[M,71,52,1902,71,79,1929],\n[M,71,53,1903,71,62,1912],\n[M,71,30,1880,71,80,1930],\n[M,72,9,1945,72,92,2028],\n[M,72,56,1992,72,87,2023],\n[M,72,57,1993,72,66,2002],\n[M,72,34,1970,72,88,2024],\n[M,75,0,2033,85,3,2333],\n[M,76,9,2073,76,49,2113],\n[M,78,4,2132,81,7,2244],\n[M,80,6,2214,80,28,2236],\n[M,78,20,2148,78,52,2180],\n[M,82,2,2247,84,5,2329],\n[M,83,4,2311,83,16,2323],\n[M,89,9,2394,89,54,2439],\n[M,89,37,2422,89,49,2434],\n[M,89,38,2423,89,47,2432],\n[M,89,16,2401,89,50,2435],\n[M,90,9,2450,90,57,2498],\n[M,90,38,2479,90,52,2493],\n[M,90,39,2480,90,48,2489],\n[M,90,17,2458,90,53,2494],\n[M,91,9,2509,91,67,2567],\n[M,91,43,2543,91,62,2562],\n[M,91,44,2544,91,53,2553],\n[M,91,22,2522,91,63,2563],\n[M,92,9,2578,92,75,2644],\n[M,92,47,2616,92,70,2639],\n[M,92,48,2617,92,57,2626],\n[M,92,26,2595,92,71,2640],\n[M,93,9,2655,93,83,2729],\n[M,93,51,2697,93,78,2724],\n[M,93,52,2698,93,61,2707],\n[M,93,30,2676,93,79,2725],\n[M,94,9,2740,94,91,2822],\n[M,94,55,2786,94,86,2817],\n[M,94,56,2787,94,65,2796],\n[M,94,34,2765,94,87,2818],\n[M,97,0,2827,102,3,3038],\n[M,98,9,2910,100,5,2984],\n[M,99,17,2951,99,43,2977],\n[M,99,18,2952,99,27,2961],\n[M,99,4,2938,99,44,2978],\n[M,101,2,2987,101,49,3034],\n[M,97,67,2894,97,72,2899],\n[M,97,37,2864,97,43,2870],\n[M,97,55,2882,97,62,2889],\n[M,107,0,3100,120,3,3493],\n[M,106,52,3094,106,57,3099],\n[M,109,4,3173,109,60,3229],\n[M,111,5,3243,111,9,3247],\n[M,111,11,3249,111,15,3253],\n[M,112,4,3288,118,7,3483],\n[M,115,9,3413,115,14,3418],\n[M,115,16,3420,115,21,3425],\n[M,116,8,3439,116,34,3465],\n[M,115,8,3412,115,22,3426],\n[M,113,9,3382,113,15,3388],\n[M,112,30,3314,112,59,3343],\n[M,111,4,3242,111,16,3254],\n[M,108,5,3136,108,36,3167],\n[M,106,19,3061,106,48,3090],\n[M,125,9,3553,125,49,3593],\n[M,125,32,3576,125,44,3588],\n[M,125,33,3577,125,42,3586],\n[M,125,16,3560,125,45,3589],\n[M,126,9,3604,126,52,3647],\n[M,126,33,3628,126,47,3642],\n[M,126,34,3629,126,43,3638],\n[M,126,17,3612,126,48,3643],\n[M,127,9,3658,127,62,3711],\n[M,127,38,3687,127,57,3706],\n[M,127,39,3688,127,48,3697],\n[M,127,22,3671,127,58,3707],\n[M,128,9,3722,128,70,3783],\n[M,128,42,3755,128,65,3778],\n[M,128,43,3756,128,52,3765],\n[M,128,26,3739,128,66,3779],\n[M,129,9,3794,129,78,3863],\n[M,129,46,3831,129,73,3858],\n[M,129,47,3832,129,56,3841],\n[M,129,30,3815,129,74,3859],\n[M,130,9,3874,130,86,3951],\n[M,130,50,3915,130,81,3946],\n[M,130,51,3916,130,60,3925],\n[M,130,34,3899,130,82,3947],\n[\"dummy location\"],\n[M,7,0,61,131,1,3954],\n[M,63,15,1466,63,46,1497],\n[M,61,15,1392,61,46,1423],\n[M,59,15,1318,59,46,1349],\n[M,25,16,494,25,57,535],\n[M,8,2,100,8,33,131],\n[M,9,2,135,9,41,174],\n[M,1,0,0,131,1,3954]];\nvar $type$Table1 = R.getModuleField(\"builtin://global\",\"types\",\"Table\");\nvar raw$array$from$list2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-from-list\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$min3 = R.getModuleField(\"builtin://global\",\"values\",\"num-min\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar raw$array$fold3 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-fold\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar raw$array$length1 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-length\");\nvar $underscore_import8 = $$underscore_import5;\nvar $included$19 = $$included$127;\nvar fold4 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar empty5 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar List6 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar map7 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar $toplevel15 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__164($$resumer13) {\nvar $step14 = 0;\nvar $elidedFrames49 = 0;\nvar $ans46 = D;\nvar $al47 = L[164];\nif(R.isAR($$resumer13)) {\n$step14 = $$resumer13.step;\n$al47 = $$resumer13.from;\n$ans46 = $$resumer13.ans;\n$elidedFrames49 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nraw$row758 = $$resumer13.vars[0];\nrunning$min1012 = $$resumer13.vars[1];\nReducer99 = $$resumer13.vars[2];\nrunning$mean1014 = $$resumer13.vars[3];\nrunning$fold1013 = $$resumer13.vars[4];\ndifference$from112 = $$resumer13.vars[5];\nrunning$reduce239 = $$resumer13.vars[6];\nrunning$sum1018 = $$resumer13.vars[7];\ndifference1017 = $$resumer13.vars[8];\nrunning$max1015 = $$resumer13.vars[9];\ntable$from$rows771 = $$resumer13.vars[10];\nanswer1019 = $$resumer13.vars[11];\ntable$from$column776 = $$resumer13.vars[12];\ntable$from$columns1016 = $$resumer13.vars[13];\ntable$from$cols827 = $$resumer13.vars[14];\ntable$from$raw$array458 = $$resumer13.vars[15];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans46 = R.mC();\n}\nwhile(!R.isContinuation($ans46)) {\nswitch($step14) {\ncase 0: var Reducer99 = R.mRA([\"one\",\"reduce\"],[L[162],L[163]],{\"one\":R.Function,\n\"reduce\":R.Function});\nvar $temp_lam54 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__0($init55) {\nvar $step53 = 0;\nvar $elidedFrames60 = 0;\nvar $ans57 = D;\nvar $al58 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar init55 = $init55;\n// callee optimization;\nwhile(!R.isContinuation($ans57)) {\nswitch($step53) {\ncase 0: $step53 = 1;\n$al58 = L[15];\nR._cA(L[15],$type$Number3,init55);\nbreak;\ncase 1: var $temp_lam70 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__1($n71) {\nvar $step69 = 0;\nvar $elidedFrames76 = 0;\nvar $ans73 = D;\nvar $al74 = L[1];\nif(R.isAR($n71)) {\n$step69 = $n71.step;\n$al74 = $n71.from;\n$ans73 = $n71.ans;\n$elidedFrames76 = $n71.elidedFrames;\nn71 = $n71.args[0];\nann_check_temp78 = $n71.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1],1,$t,false);\n}\nvar n71 = $n71;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans73 = R.mC();\n}\nwhile(!R.isContinuation($ans73)) {\nswitch($step69) {\ncase 0: $step69 = 1;\n$al74 = L[6];\nR._cA(L[6],$type$Number3,n71);\nbreak;\ncase 1: $step69 = 2;\n$al74 = L[5];\n// omitting isFunction check;\n$ans73 = _minus9.app(n71,init55);\nbreak;\ncase 2: var anf_tuple_fields77 = $ans73;\nvar ann_check_temp78 = R.makeTuple([n71,anf_tuple_fields77]);\n$step69 = 3;\n$al74 = L[4];\nvar $ann$check79 = R._cA(L[4],R.mTA([L[2],L[3]],[$type$Number3,$type$Number3]),ann_check_temp78);\nif(R.isContinuation($ann$check79)) {\n$ans73 = $ann$check79;\n}\nbreak;\ncase 3: $step69 = 4;\n$ans73 = ann_check_temp78;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans73;\ndefault: R.ffi.throwSpinnakerError(L[1],$step69);\n}\n}\nif($step69 !== 4) {\n$ans73.stack[R.EXN_STACKHEIGHT++] = R.mAR($al74,$temp_lam70,$step69,[n71],[ann_check_temp78],$elidedFrames76);\n}\nreturn $ans73;\n};\nvar anf_obj96 = R.mF($temp_lam70,\"\");\nvar $temp_lam84 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__7($last$n85,$n86) {\nvar $step83 = 0;\nvar $elidedFrames91 = 0;\nvar $ans88 = D;\nvar $al89 = L[7];\nif(R.isAR($last$n85)) {\n$step83 = $last$n85.step;\n$al89 = $last$n85.from;\n$ans88 = $last$n85.ans;\n$elidedFrames91 = $last$n85.elidedFrames;\nlast$n85 = $last$n85.args[0];\nn86 = $last$n85.args[1];\nann_check_temp93 = $last$n85.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[7],2,$t,false);\n}\nvar last$n85 = $last$n85;\nvar n86 = $n86;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans88 = R.mC();\n}\nwhile(!R.isContinuation($ans88)) {\nswitch($step83) {\ncase 0: $step83 = 1;\n$al89 = L[12];\nR._cA(L[12],$type$Number3,last$n85);\nbreak;\ncase 1: $step83 = 2;\n$al89 = L[13];\nR._cA(L[13],$type$Number3,n86);\nbreak;\ncase 2: $step83 = 3;\n$al89 = L[11];\n// omitting isFunction check;\n$ans88 = _minus9.app(n86,last$n85);\nbreak;\ncase 3: var anf_tuple_fields92 = $ans88;\nvar ann_check_temp93 = R.makeTuple([n86,anf_tuple_fields92]);\n$step83 = 4;\n$al89 = L[10];\nvar $ann$check94 = R._cA(L[10],R.mTA([L[8],L[9]],[$type$Number3,$type$Number3]),ann_check_temp93);\nif(R.isContinuation($ann$check94)) {\n$ans88 = $ann$check94;\n}\nbreak;\ncase 4: $step83 = 5;\n$ans88 = ann_check_temp93;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans88;\ndefault: R.ffi.throwSpinnakerError(L[7],$step83);\n}\n}\nif($step83 !== 5) {\n$ans88.stack[R.EXN_STACKHEIGHT++] = R.mAR($al89,$temp_lam84,$step83,[last$n85,n86],[ann_check_temp93],$elidedFrames91);\n}\nreturn $ans88;\n};\nvar anf_obj97 = R.mF($temp_lam84,\"\");\nvar ann_check_temp98 = R.mO({\"one\":anf_obj96,\n\"reduce\":anf_obj97});\n$step53 = 2;\n$al58 = L[14];\nvar $ann$check102 = R._cA(L[14],Reducer99,ann_check_temp98);\nif(R.isContinuation($ann$check102)) {\n$ans57 = $ann$check102;\n}\nbreak;\ncase 2: $step53 = 3;\n$ans57 = ann_check_temp98;\nbreak;\ncase 3: return $ans57;\ndefault: R.ffi.throwSpinnakerError(L[0],$step53);\n}\n}\nreturn $ans57;\n};\nvar difference$from112 = R.mF($temp_lam54,\"\");\n// caller optimization;\n$ans46 = difference$from112.app((0));\nvar difference1017 = $ans46;\nvar $temp_lam114 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__16($n115) {\nvar $step113 = 0;\nvar $elidedFrames119 = 0;\nvar $ans116 = D;\nvar $al117 = L[16];\nif(R.isAR($n115)) {\n$step113 = $n115.step;\n$al117 = $n115.from;\n$ans116 = $n115.ans;\n$elidedFrames119 = $n115.elidedFrames;\nn115 = $n115.args[0];\nanf_tuple_fields120 = $n115.vars[0];\nann_check_temp122 = $n115.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[16],1,$t,false);\n}\nvar n115 = $n115;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans116 = R.mC();\n}\nwhile(!R.isContinuation($ans116)) {\nswitch($step113) {\ncase 0: $step113 = 1;\n$al117 = L[23];\nR._cA(L[23],$type$Number3,n115);\nbreak;\ncase 1: var anf_tuple_fields120 = R.makeTuple([n115,(1)]);\n$step113 = 2;\n$al117 = L[22];\n// omitting isFunction check;\n$ans116 = _divide13.app(n115,(1));\nbreak;\ncase 2: var anf_tuple_fields121 = $ans116;\nvar ann_check_temp122 = R.makeTuple([anf_tuple_fields120,anf_tuple_fields121]);\n$step113 = 3;\n$al117 = L[21];\nvar $ann$check123 = R._cA(L[21],R.mTA([L[19],L[20]],[R.mTA([L[17],L[18]],[$type$Number3,$type$Number3]),$type$Number3]),ann_check_temp122);\nif(R.isContinuation($ann$check123)) {\n$ans116 = $ann$check123;\n}\nbreak;\ncase 3: $step113 = 4;\n$ans116 = ann_check_temp122;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans116;\ndefault: R.ffi.throwSpinnakerError(L[16],$step113);\n}\n}\nif($step113 !== 4) {\n$ans116.stack[R.EXN_STACKHEIGHT++] = R.mAR($al117,$temp_lam114,$step113,[n115],[anf_tuple_fields120,ann_check_temp122],$elidedFrames119);\n}\nreturn $ans116;\n};\nvar anf_obj146 = R.mF($temp_lam114,\"\");\nvar $temp_lam126 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__24($tup127,$n128) {\nvar $step125 = 0;\nvar $elidedFrames132 = 0;\nvar $ans129 = D;\nvar $al130 = L[24];\nif(R.isAR($tup127)) {\n$step125 = $tup127.step;\n$al130 = $tup127.from;\n$ans129 = $tup127.ans;\n$elidedFrames132 = $tup127.elidedFrames;\ntup127 = $tup127.args[0];\nn128 = $tup127.args[1];\ncount134 = $tup127.vars[0];\nnext$sum135 = $tup127.vars[1];\nanf_tuple_fields137 = $tup127.vars[2];\nann_check_temp140 = $tup127.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],2,$t,false);\n}\nvar tup127 = $tup127;\nvar n128 = $n128;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans129 = R.mC();\n}\nwhile(!R.isContinuation($ans129)) {\nswitch($step125) {\ncase 0: $step125 = 1;\n$al130 = L[35];\nR.checkTupleBind(tup127,2,L[35]);\nbreak;\ncase 1: var sum133 = R.getTuple(tup127,0,L[25]);\nvar count134 = R.getTuple(tup127,1,L[26]);\n$step125 = 2;\n$al130 = L[34];\n// omitting isFunction check;\n$ans129 = _plus5.app(sum133,n128);\nbreak;\ncase 2: var next$sum135 = $ans129;\n$step125 = 3;\n$al130 = L[33];\n// omitting isFunction check;\n$ans129 = _plus5.app(count134,(1));\nbreak;\ncase 3: var next$count136 = $ans129;\nvar anf_tuple_fields137 = R.makeTuple([next$sum135,next$count136]);\n$step125 = 4;\n$al130 = L[32];\n// omitting isFunction check;\n$ans129 = _divide13.app(next$sum135,next$count136);\nbreak;\ncase 4: var anf_tuple_fields138 = $ans129;\nvar ann_check_temp140 = R.makeTuple([anf_tuple_fields137,anf_tuple_fields138]);\n$step125 = 5;\n$al130 = L[31];\nvar $ann$check141 = R._cA(L[31],R.mTA([L[29],L[30]],[R.mTA([L[27],L[28]],[$type$Number3,$type$Number3]),$type$Number3]),ann_check_temp140);\nif(R.isContinuation($ann$check141)) {\n$ans129 = $ann$check141;\n}\nbreak;\ncase 5: $step125 = 6;\n$ans129 = ann_check_temp140;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans129;\ndefault: R.ffi.throwSpinnakerError(L[24],$step125);\n}\n}\nif($step125 !== 6) {\n$ans129.stack[R.EXN_STACKHEIGHT++] = R.mAR($al130,$temp_lam126,$step125,[tup127,n128],[count134,next$sum135,anf_tuple_fields137,ann_check_temp140],$elidedFrames132);\n}\nreturn $ans129;\n};\nvar anf_obj147 = R.mF($temp_lam126,\"\");\nvar running$mean1014 = R.mO({\"one\":anf_obj146,\n\"reduce\":anf_obj147});\n$step14 = 1;\n$al47 = L[161];\nvar $ann$check1024 = R._cA(L[161],Reducer99,running$mean1014);\nif(R.isContinuation($ann$check1024)) {\n$ans46 = $ann$check1024;\n}\nbreak;\ncase 1: var $temp_lam149 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__36($init150,$op151) {\nvar $step148 = 0;\nvar $elidedFrames155 = 0;\nvar $ans152 = D;\nvar $al153 = L[36];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[36],2,$t,false);\n}\nvar init150 = $init150;\nvar op151 = $op151;\n// callee optimization;\nwhile(!R.isContinuation($ans152)) {\nswitch($step148) {\ncase 0: $step148 = 1;\n$al153 = L[42];\nR._cA(L[42],R.Any,init150);\nbreak;\ncase 1: $step148 = 2;\n$al153 = L[43];\nR._cA(L[43],R.Function,op151);\nbreak;\ncase 2: var $temp_lam157 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__37($n159) {\nvar $step156 = 0;\nvar $elidedFrames168 = 0;\nvar $ans165 = D;\nvar $al166 = L[37];\nif(R.isAR($n159)) {\n$step156 = $n159.step;\n$al166 = $n159.from;\n$ans165 = $n159.ans;\n$elidedFrames168 = $n159.elidedFrames;\nn159 = $n159.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],1,$t,false);\n}\nvar n159 = $n159;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans165 = R.mC();\n}\nwhile(!R.isContinuation($ans165)) {\nswitch($step156) {\ncase 0: $step156 = 1;\n$al166 = L[38];\nif(typeof(op151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al166,op151);\n}\n$ans165 = op151.app(init150,n159);\nbreak;\ncase 1: var first$row169 = $ans165;\n$step156 = 2;\n$ans165 = R.makeTuple([first$row169,first$row169]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans165;\ndefault: R.ffi.throwSpinnakerError(L[37],$step156);\n}\n}\nif($step156 !== 2) {\n$ans165.stack[R.EXN_STACKHEIGHT++] = R.mAR($al166,$temp_lam157,$step156,[n159],[],$elidedFrames168);\n}\nreturn $ans165;\n};\nvar anf_obj183 = R.mF($temp_lam157,\"\");\nvar $temp_lam173 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__39($m174,$n175) {\nvar $step172 = 0;\nvar $elidedFrames179 = 0;\nvar $ans176 = D;\nvar $al177 = L[39];\nif(R.isAR($m174)) {\n$step172 = $m174.step;\n$al177 = $m174.from;\n$ans176 = $m174.ans;\n$elidedFrames179 = $m174.elidedFrames;\nm174 = $m174.args[0];\nn175 = $m174.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],2,$t,false);\n}\nvar m174 = $m174;\nvar n175 = $n175;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans176 = R.mC();\n}\nwhile(!R.isContinuation($ans176)) {\nswitch($step172) {\ncase 0: $step172 = 1;\n$al177 = L[40];\nif(typeof(op151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al177,op151);\n}\n$ans176 = op151.app(m174,n175);\nbreak;\ncase 1: var next$val180 = $ans176;\n$step172 = 2;\n$ans176 = R.makeTuple([next$val180,next$val180]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans176;\ndefault: R.ffi.throwSpinnakerError(L[39],$step172);\n}\n}\nif($step172 !== 2) {\n$ans176.stack[R.EXN_STACKHEIGHT++] = R.mAR($al177,$temp_lam173,$step172,[m174,n175],[],$elidedFrames179);\n}\nreturn $ans176;\n};\nvar anf_obj184 = R.mF($temp_lam173,\"\");\nvar ann_check_temp185 = R.mO({\"one\":anf_obj183,\n\"reduce\":anf_obj184});\n$step148 = 3;\n$al153 = L[41];\nvar $ann$check186 = R._cA(L[41],Reducer99,ann_check_temp185);\nif(R.isContinuation($ann$check186)) {\n$ans152 = $ann$check186;\n}\nbreak;\ncase 3: $step148 = 4;\n$ans152 = ann_check_temp185;\nbreak;\ncase 4: return $ans152;\ndefault: R.ffi.throwSpinnakerError(L[36],$step148);\n}\n}\nreturn $ans152;\n};\nvar running$fold1013 = R.mF($temp_lam149,\"\");\nvar $temp_lam200 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__44($op201) {\nvar $step199 = 0;\nvar $elidedFrames209 = 0;\nvar $ans206 = D;\nvar $al207 = L[44];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],1,$t,false);\n}\nvar op201 = $op201;\n// callee optimization;\nwhile(!R.isContinuation($ans206)) {\nswitch($step199) {\ncase 0: $step199 = 1;\n$al207 = L[49];\nR._cA(L[49],R.Function,op201);\nbreak;\ncase 1: var $temp_lam212 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__45($n213) {\nvar $step211 = 0;\nvar $elidedFrames218 = 0;\nvar $ans215 = D;\nvar $al216 = L[45];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[45],1,$t,false);\n}\nvar n213 = $n213;\n// callee optimization;\nwhile(!R.isContinuation($ans215)) {\nswitch($step211) {\ncase 0: $step211 = 1;\n$ans215 = R.makeTuple([n213,n213]);\nbreak;\ncase 1: return $ans215;\ndefault: R.ffi.throwSpinnakerError(L[45],$step211);\n}\n}\nreturn $ans215;\n};\nvar anf_obj233 = R.mF($temp_lam212,\"\");\nvar $temp_lam223 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__46($m224,$n153) {\nvar $step222 = 0;\nvar $elidedFrames230 = 0;\nvar $ans227 = D;\nvar $al228 = L[46];\nif(R.isAR($m224)) {\n$step222 = $m224.step;\n$al228 = $m224.from;\n$ans227 = $m224.ans;\n$elidedFrames230 = $m224.elidedFrames;\nm224 = $m224.args[0];\nn153 = $m224.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,false);\n}\nvar m224 = $m224;\nvar n153 = $n153;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans227 = R.mC();\n}\nwhile(!R.isContinuation($ans227)) {\nswitch($step222) {\ncase 0: $step222 = 1;\n$al228 = L[47];\nif(typeof(op201.app) !== \"function\") {\nR.ffi.throwNonFunApp($al228,op201);\n}\n$ans227 = op201.app(m224,n153);\nbreak;\ncase 1: var next$val231 = $ans227;\n$step222 = 2;\n$ans227 = R.makeTuple([next$val231,next$val231]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans227;\ndefault: R.ffi.throwSpinnakerError(L[46],$step222);\n}\n}\nif($step222 !== 2) {\n$ans227.stack[R.EXN_STACKHEIGHT++] = R.mAR($al228,$temp_lam223,$step222,[m224,n153],[],$elidedFrames230);\n}\nreturn $ans227;\n};\nvar anf_obj234 = R.mF($temp_lam223,\"\");\nvar ann_check_temp235 = R.mO({\"one\":anf_obj233,\n\"reduce\":anf_obj234});\n$step199 = 2;\n$al207 = L[48];\nvar $ann$check236 = R._cA(L[48],Reducer99,ann_check_temp235);\nif(R.isContinuation($ann$check236)) {\n$ans206 = $ann$check236;\n}\nbreak;\ncase 2: $step199 = 3;\n$ans206 = ann_check_temp235;\nbreak;\ncase 3: return $ans206;\ndefault: R.ffi.throwSpinnakerError(L[44],$step199);\n}\n}\nreturn $ans206;\n};\nvar running$reduce239 = R.mF($temp_lam200,\"\");\n// caller optimization;\n$ans46 = running$reduce239.app(num$max15);\nvar running$max1015 = $ans46;\n$step14 = 2;\n$al47 = L[160];\nvar $ann$check1023 = R._cA(L[160],Reducer99,running$max1015);\nif(R.isContinuation($ann$check1023)) {\n$ans46 = $ann$check1023;\n}\nbreak;\ncase 2: // caller optimization;\n$ans46 = running$reduce239.app(num$min3);\nvar running$min1012 = $ans46;\n$step14 = 3;\n$al47 = L[159];\nvar $ann$check1022 = R._cA(L[159],Reducer99,running$min1012);\nif(R.isContinuation($ann$check1022)) {\n$ans46 = $ann$check1022;\n}\nbreak;\ncase 3: var $temp_lam241 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__50($arg_242,$arg_243) {\nvar $step240 = 0;\nvar $elidedFrames249 = 0;\nvar $ans246 = D;\nvar $al247 = L[50];\nif(R.isAR($arg_242)) {\n$step240 = $arg_242.step;\n$al247 = $arg_242.from;\n$ans246 = $arg_242.ans;\n$elidedFrames249 = $arg_242.elidedFrames;\narg_242 = $arg_242.args[0];\narg_243 = $arg_242.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[50],2,$t,false);\n}\nvar arg_242 = $arg_242;\nvar arg_243 = $arg_243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans246 = R.mC();\n}\nwhile(!R.isContinuation($ans246)) {\nswitch($step240) {\ncase 0: $step240 = 1;\n$al247 = L[50];\n// omitting isFunction check;\n$ans246 = _plus5.app(arg_242,arg_243);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans246;\ndefault: R.ffi.throwSpinnakerError(L[50],$step240);\n}\n}\nif($step240 !== 1) {\n$ans246.stack[R.EXN_STACKHEIGHT++] = R.mAR($al247,$temp_lam241,$step240,[arg_242,arg_243],[],$elidedFrames249);\n}\nreturn $ans246;\n};\nvar anf_arg254 = R.mF($temp_lam241,\"\");\n// caller optimization;\n$ans46 = running$reduce239.app(anf_arg254);\nvar running$sum1018 = $ans46;\n$step14 = 4;\n$al47 = L[158];\nvar $ann$check1021 = R._cA(L[158],Reducer99,running$sum1018);\nif(R.isContinuation($ann$check1021)) {\n$ans46 = $ann$check1021;\n}\nbreak;\ncase 4: var $temp_lam258 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__51($arr259) {\nvar $step257 = 0;\nvar $elidedFrames266 = 0;\nvar $ans263 = D;\nvar $al264 = L[51];\nif(R.isAR($arr259)) {\n$step257 = $arr259.step;\n$al264 = $arr259.from;\n$ans263 = $arr259.ans;\n$elidedFrames266 = $arr259.elidedFrames;\narr259 = $arr259.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],1,$t,false);\n}\nvar arr259 = $arr259;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans263 = R.mC();\n}\nwhile(!R.isContinuation($ans263)) {\nswitch($step257) {\ncase 0: $step257 = 1;\n$ans263 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[52],arr259);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans263;\ndefault: R.ffi.throwSpinnakerError(L[51],$step257);\n}\n}\nif($step257 !== 1) {\n$ans263.stack[R.EXN_STACKHEIGHT++] = R.mAR($al264,$temp_lam258,$step257,[arr259],[],$elidedFrames266);\n}\nreturn $ans263;\n};\nvar anf_obj375 = R.mF($temp_lam258,\"\");\nvar $temp_lam269 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__53($$resumer13) {\nvar $step268 = 0;\nvar $elidedFrames273 = 0;\nvar $ans270 = D;\nvar $al271 = L[53];\nif(R.isAR($$resumer13)) {\n$step268 = $$resumer13.step;\n$al271 = $$resumer13.from;\n$ans270 = $$resumer13.ans;\n$elidedFrames273 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans270 = R.mC();\n}\nwhile(!R.isContinuation($ans270)) {\nswitch($step268) {\ncase 0: $ans270 = R.getMaker0(raw$array2,(\"make0\"),L[54],L[55]);\nvar anf_fun274 = $ans270;\n$step268 = 1;\n$al271 = L[55];\nif(typeof(anf_fun274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al271,anf_fun274);\n}\n$ans270 = anf_fun274.app();\nbreak;\ncase 1: var anf_arg282 = $ans270;\n$step268 = 2;\n$ans270 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[56],anf_arg282);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans270;\ndefault: R.ffi.throwSpinnakerError(L[53],$step268);\n}\n}\nif($step268 !== 2) {\n$ans270.stack[R.EXN_STACKHEIGHT++] = R.mAR($al271,$temp_lam269,$step268,[],[],$elidedFrames273);\n}\nreturn $ans270;\n};\nvar anf_obj376 = R.mF($temp_lam269,\"\");\nvar $temp_lam285 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__57($t286) {\nvar $step284 = 0;\nvar $elidedFrames290 = 0;\nvar $ans287 = D;\nvar $al288 = L[57];\nif(R.isAR($t286)) {\n$step284 = $t286.step;\n$al288 = $t286.from;\n$ans287 = $t286.ans;\n$elidedFrames290 = $t286.elidedFrames;\nt286 = $t286.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar t286 = $t286;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans287 = R.mC();\n}\nwhile(!R.isContinuation($ans287)) {\nswitch($step284) {\ncase 0: $ans287 = R.getMaker1(raw$array2,(\"make1\"),L[58],L[59]);\nvar anf_fun291 = $ans287;\n$step284 = 1;\n$al288 = L[59];\nif(typeof(anf_fun291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al288,anf_fun291);\n}\n$ans287 = anf_fun291.app(t286);\nbreak;\ncase 1: var anf_arg305 = $ans287;\n$step284 = 2;\n$ans287 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[60],anf_arg305);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans287;\ndefault: R.ffi.throwSpinnakerError(L[57],$step284);\n}\n}\nif($step284 !== 2) {\n$ans287.stack[R.EXN_STACKHEIGHT++] = R.mAR($al288,$temp_lam285,$step284,[t286],[],$elidedFrames290);\n}\nreturn $ans287;\n};\nvar anf_obj377 = R.mF($temp_lam285,\"\");\nvar $temp_lam309 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__61($t1310,$t2311) {\nvar $step308 = 0;\nvar $elidedFrames315 = 0;\nvar $ans312 = D;\nvar $al313 = L[61];\nif(R.isAR($t1310)) {\n$step308 = $t1310.step;\n$al313 = $t1310.from;\n$ans312 = $t1310.ans;\n$elidedFrames315 = $t1310.elidedFrames;\nt1310 = $t1310.args[0];\nt2311 = $t1310.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],2,$t,false);\n}\nvar t1310 = $t1310;\nvar t2311 = $t2311;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans312 = R.mC();\n}\nwhile(!R.isContinuation($ans312)) {\nswitch($step308) {\ncase 0: $ans312 = R.getMaker2(raw$array2,(\"make2\"),L[62],L[63]);\nvar anf_fun316 = $ans312;\n$step308 = 1;\n$al313 = L[63];\nif(typeof(anf_fun316.app) !== \"function\") {\nR.ffi.throwNonFunApp($al313,anf_fun316);\n}\n$ans312 = anf_fun316.app(t1310,t2311);\nbreak;\ncase 1: var anf_arg329 = $ans312;\n$step308 = 2;\n$ans312 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[64],anf_arg329);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans312;\ndefault: R.ffi.throwSpinnakerError(L[61],$step308);\n}\n}\nif($step308 !== 2) {\n$ans312.stack[R.EXN_STACKHEIGHT++] = R.mAR($al313,$temp_lam309,$step308,[t1310,t2311],[],$elidedFrames315);\n}\nreturn $ans312;\n};\nvar anf_obj378 = R.mF($temp_lam309,\"\");\nvar $temp_lam333 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__65($t1334,$t2335,$t3336) {\nvar $step332 = 0;\nvar $elidedFrames340 = 0;\nvar $ans337 = D;\nvar $al338 = L[65];\nif(R.isAR($t1334)) {\n$step332 = $t1334.step;\n$al338 = $t1334.from;\n$ans337 = $t1334.ans;\n$elidedFrames340 = $t1334.elidedFrames;\nt1334 = $t1334.args[0];\nt2335 = $t1334.args[1];\nt3336 = $t1334.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[65],3,$t,false);\n}\nvar t1334 = $t1334;\nvar t2335 = $t2335;\nvar t3336 = $t3336;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans337 = R.mC();\n}\nwhile(!R.isContinuation($ans337)) {\nswitch($step332) {\ncase 0: $ans337 = R.getMaker3(raw$array2,(\"make3\"),L[66],L[67]);\nvar anf_fun341 = $ans337;\n$step332 = 1;\n$al338 = L[67];\nif(typeof(anf_fun341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al338,anf_fun341);\n}\n$ans337 = anf_fun341.app(t1334,t2335,t3336);\nbreak;\ncase 1: var anf_arg348 = $ans337;\n$step332 = 2;\n$ans337 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[68],anf_arg348);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans337;\ndefault: R.ffi.throwSpinnakerError(L[65],$step332);\n}\n}\nif($step332 !== 2) {\n$ans337.stack[R.EXN_STACKHEIGHT++] = R.mAR($al338,$temp_lam333,$step332,[t1334,t2335,t3336],[],$elidedFrames340);\n}\nreturn $ans337;\n};\nvar anf_obj265 = R.mF($temp_lam333,\"\");\nvar $temp_lam351 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__69($t1352,$t2353,$t3354,$t4355) {\nvar $step350 = 0;\nvar $elidedFrames359 = 0;\nvar $ans356 = D;\nvar $al357 = L[69];\nif(R.isAR($t1352)) {\n$step350 = $t1352.step;\n$al357 = $t1352.from;\n$ans356 = $t1352.ans;\n$elidedFrames359 = $t1352.elidedFrames;\nt1352 = $t1352.args[0];\nt2353 = $t1352.args[1];\nt3354 = $t1352.args[2];\nt4355 = $t1352.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[69],4,$t,false);\n}\nvar t1352 = $t1352;\nvar t2353 = $t2353;\nvar t3354 = $t3354;\nvar t4355 = $t4355;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans356 = R.mC();\n}\nwhile(!R.isContinuation($ans356)) {\nswitch($step350) {\ncase 0: $ans356 = R.getMaker4(raw$array2,(\"make4\"),L[70],L[71]);\nvar anf_fun202 = $ans356;\n$step350 = 1;\n$al357 = L[71];\nif(typeof(anf_fun202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al357,anf_fun202);\n}\n$ans356 = anf_fun202.app(t1352,t2353,t3354,t4355);\nbreak;\ncase 1: var anf_arg203 = $ans356;\n$step350 = 2;\n$ans356 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[72],anf_arg203);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans356;\ndefault: R.ffi.throwSpinnakerError(L[69],$step350);\n}\n}\nif($step350 !== 2) {\n$ans356.stack[R.EXN_STACKHEIGHT++] = R.mAR($al357,$temp_lam351,$step350,[t1352,t2353,t3354,t4355],[],$elidedFrames359);\n}\nreturn $ans356;\n};\nvar anf_obj266 = R.mF($temp_lam351,\"\");\nvar $temp_lam363 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__73($t1364,$t2365,$t3366,$t4367,$t5368) {\nvar $step362 = 0;\nvar $elidedFrames373 = 0;\nvar $ans370 = D;\nvar $al371 = L[73];\nif(R.isAR($t1364)) {\n$step362 = $t1364.step;\n$al371 = $t1364.from;\n$ans370 = $t1364.ans;\n$elidedFrames373 = $t1364.elidedFrames;\nt1364 = $t1364.args[0];\nt2365 = $t1364.args[1];\nt3366 = $t1364.args[2];\nt4367 = $t1364.args[3];\nt5368 = $t1364.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],5,$t,false);\n}\nvar t1364 = $t1364;\nvar t2365 = $t2365;\nvar t3366 = $t3366;\nvar t4367 = $t4367;\nvar t5368 = $t5368;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans370 = R.mC();\n}\nwhile(!R.isContinuation($ans370)) {\nswitch($step362) {\ncase 0: $ans370 = R.getMaker5(raw$array2,(\"make5\"),L[74],L[75]);\nvar anf_fun212 = $ans370;\n$step362 = 1;\n$al371 = L[75];\nif(typeof(anf_fun212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al371,anf_fun212);\n}\n$ans370 = anf_fun212.app(t1364,t2365,t3366,t4367,t5368);\nbreak;\ncase 1: var anf_arg213 = $ans370;\n$step362 = 2;\n$ans370 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[76],anf_arg213);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans370;\ndefault: R.ffi.throwSpinnakerError(L[73],$step362);\n}\n}\nif($step362 !== 2) {\n$ans370.stack[R.EXN_STACKHEIGHT++] = R.mAR($al371,$temp_lam363,$step362,[t1364,t2365,t3366,t4367,t5368],[],$elidedFrames373);\n}\nreturn $ans370;\n};\nvar anf_obj267 = R.mF($temp_lam363,\"\");\nvar raw$row758 = R.mO({\"make\":anf_obj375,\n\"make0\":anf_obj376,\n\"make1\":anf_obj377,\n\"make2\":anf_obj378,\n\"make3\":anf_obj265,\n\"make4\":anf_obj266,\n\"make5\":anf_obj267});\nvar table$from$raw$array458 = {\"$var\":D};\nvar $temp_lam380 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__77($arr381) {\nvar $step379 = 0;\nvar $elidedFrames385 = 0;\nvar $ans382 = D;\nvar $al383 = L[77];\nif(R.isAR($arr381)) {\n$step379 = $arr381.step;\n$al383 = $arr381.from;\n$ans382 = $arr381.ans;\n$elidedFrames385 = $arr381.elidedFrames;\narr381 = $arr381.args[0];\nanf_arg224 = $arr381.vars[0];\ncols408 = $arr381.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[77],1,$t,false);\n}\nvar arr381 = $arr381;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans382 = R.mC();\n}\nwhile(!R.isContinuation($ans382)) {\nswitch($step379) {\ncase 0: // caller optimization;\n$ans382 = raw$array$get14.app(arr381,(0));\nvar anf_method_obj386 = $ans382;\n$step379 = 1;\n$ans382 = R.maybeMethodCall0(anf_method_obj386,\"get-column-names\",L[78]);\nbreak;\ncase 1: var cols408 = $ans382;\nvar $temp_lam388 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__79($t389,$c390) {\nvar $step387 = 0;\nvar $elidedFrames396 = 0;\nvar $ans393 = D;\nvar $al394 = L[79];\nif(R.isAR($t389)) {\n$step387 = $t389.step;\n$al394 = $t389.from;\n$ans393 = $t389.ans;\n$elidedFrames396 = $t389.elidedFrames;\nt389 = $t389.args[0];\nc390 = $t389.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,false);\n}\nvar t389 = $t389;\nvar c390 = $c390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans393 = R.mC();\n}\nwhile(!R.isContinuation($ans393)) {\nswitch($step387) {\ncase 0: $step387 = 1;\n$ans393 = R.maybeMethodCall2(t389,\"add-column\",L[80],c390,empty5);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans393;\ndefault: R.ffi.throwSpinnakerError(L[79],$step387);\n}\n}\nif($step387 !== 1) {\n$ans393.stack[R.EXN_STACKHEIGHT++] = R.mAR($al394,$temp_lam388,$step387,[t389,c390],[],$elidedFrames396);\n}\nreturn $ans393;\n};\nvar anf_arg224 = R.mF($temp_lam388,\"for-body\");\n$ans382 = R.makeArrayN((1));\nvar anf_array399 = $ans382;\nanf_array399[0] = (\"ignore\");\n$ans382 = R.makeArrayN((0));\nvar anf_array400 = $ans382;\n$ans382 = R.makeTable(anf_array399,anf_array400);\nvar anf_method_obj401 = $ans382;\n$step379 = 2;\n$ans382 = R.maybeMethodCall1(anf_method_obj401,\"drop\",L[81],(\"ignore\"));\nbreak;\ncase 2: var anf_arg407 = $ans382;\n$step379 = 3;\n$al383 = L[79];\n// omitting isFunction check;\n$ans382 = fold4.app(anf_arg224,anf_arg407,cols408);\nbreak;\ncase 3: var with$cols455 = $ans382;\nvar $temp_lam413 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__82($t414,$r415,$$underscore416) {\nvar $step412 = 0;\nvar $elidedFrames421 = 0;\nvar $ans418 = D;\nvar $al419 = L[82];\nif(R.isAR($t414)) {\n$step412 = $t414.step;\n$al419 = $t414.from;\n$ans418 = $t414.ans;\n$elidedFrames421 = $t414.elidedFrames;\nt414 = $t414.args[0];\nr415 = $t414.args[1];\n$underscore416 = $t414.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[82],3,$t,false);\n}\nvar t414 = $t414;\nvar r415 = $r415;\nvar $underscore416 = $$underscore416;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans418 = R.mC();\n}\nwhile(!R.isContinuation($ans418)) {\nswitch($step412) {\ncase 0: $step412 = 1;\n$ans418 = R.maybeMethodCall1(t414,\"add-row\",L[83],r415);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans418;\ndefault: R.ffi.throwSpinnakerError(L[82],$step412);\n}\n}\nif($step412 !== 1) {\n$ans418.stack[R.EXN_STACKHEIGHT++] = R.mAR($al419,$temp_lam413,$step412,[t414,r415,$underscore416],[],$elidedFrames421);\n}\nreturn $ans418;\n};\nvar anf_arg454 = R.mF($temp_lam413,\"for-body\");\n$step379 = 4;\n$al383 = L[82];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al383,raw$array$fold3);\n}\n$ans382 = raw$array$fold3.app(anf_arg454,with$cols455,arr381,(0));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans382;\ndefault: R.ffi.throwSpinnakerError(L[77],$step379);\n}\n}\nif($step379 !== 4) {\n$ans382.stack[R.EXN_STACKHEIGHT++] = R.mAR($al383,$temp_lam380,$step379,[arr381],[anf_arg224,cols408],$elidedFrames385);\n}\nreturn $ans382;\n};\nvar anf_assign457 = R.mF($temp_lam380,\"table-from-raw-array\");\ntable$from$raw$array458.$var = anf_assign457;\nR.nothing;\nvar $temp_lam460 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__84($$resumer13) {\nvar $step459 = 0;\nvar $elidedFrames466 = 0;\nvar $ans463 = D;\nvar $al464 = L[84];\nif(R.isAR($$resumer13)) {\n$step459 = $$resumer13.step;\n$al464 = $$resumer13.from;\n$ans463 = $$resumer13.ans;\n$elidedFrames466 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans463 = R.mC();\n}\nwhile(!R.isContinuation($ans463)) {\nswitch($step459) {\ncase 0: $ans463 = R.getMaker0(raw$array2,(\"make0\"),L[85],L[86]);\nvar anf_fun467 = $ans463;\n$step459 = 1;\n$al464 = L[86];\nif(typeof(anf_fun467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al464,anf_fun467);\n}\n$ans463 = anf_fun467.app();\nbreak;\ncase 1: var anf_arg468 = $ans463;\n$step459 = 2;\n$al464 = L[87];\n// omitting isFunction check;\n$ans463 = table$from$raw$array458.$var.app(anf_arg468);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans463;\ndefault: R.ffi.throwSpinnakerError(L[84],$step459);\n}\n}\nif($step459 !== 2) {\n$ans463.stack[R.EXN_STACKHEIGHT++] = R.mAR($al464,$temp_lam460,$step459,[],[],$elidedFrames466);\n}\nreturn $ans463;\n};\nvar anf_obj734 = R.mF($temp_lam460,\"\");\nvar $temp_lam473 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__88($t474) {\nvar $step472 = 0;\nvar $elidedFrames483 = 0;\nvar $ans480 = D;\nvar $al481 = L[88];\nif(R.isAR($t474)) {\n$step472 = $t474.step;\n$al481 = $t474.from;\n$ans480 = $t474.ans;\n$elidedFrames483 = $t474.elidedFrames;\nt474 = $t474.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],1,$t,false);\n}\nvar t474 = $t474;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans480 = R.mC();\n}\nwhile(!R.isContinuation($ans480)) {\nswitch($step472) {\ncase 0: $ans480 = R.getMaker1(raw$array2,(\"make1\"),L[89],L[90]);\nvar anf_fun484 = $ans480;\n$step472 = 1;\n$al481 = L[90];\nif(typeof(anf_fun484.app) !== \"function\") {\nR.ffi.throwNonFunApp($al481,anf_fun484);\n}\n$ans480 = anf_fun484.app(t474);\nbreak;\ncase 1: var anf_arg279 = $ans480;\n$step472 = 2;\n$al481 = L[91];\n// omitting isFunction check;\n$ans480 = table$from$raw$array458.$var.app(anf_arg279);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans480;\ndefault: R.ffi.throwSpinnakerError(L[88],$step472);\n}\n}\nif($step472 !== 2) {\n$ans480.stack[R.EXN_STACKHEIGHT++] = R.mAR($al481,$temp_lam473,$step472,[t474],[],$elidedFrames483);\n}\nreturn $ans480;\n};\nvar anf_obj356 = R.mF($temp_lam473,\"\");\nvar $temp_lam487 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__92($t1488,$t2489) {\nvar $step486 = 0;\nvar $elidedFrames493 = 0;\nvar $ans490 = D;\nvar $al491 = L[92];\nif(R.isAR($t1488)) {\n$step486 = $t1488.step;\n$al491 = $t1488.from;\n$ans490 = $t1488.ans;\n$elidedFrames493 = $t1488.elidedFrames;\nt1488 = $t1488.args[0];\nt2489 = $t1488.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],2,$t,false);\n}\nvar t1488 = $t1488;\nvar t2489 = $t2489;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans490 = R.mC();\n}\nwhile(!R.isContinuation($ans490)) {\nswitch($step486) {\ncase 0: $ans490 = R.getMaker2(raw$array2,(\"make2\"),L[93],L[94]);\nvar anf_fun287 = $ans490;\n$step486 = 1;\n$al491 = L[94];\nif(typeof(anf_fun287.app) !== \"function\") {\nR.ffi.throwNonFunApp($al491,anf_fun287);\n}\n$ans490 = anf_fun287.app(t1488,t2489);\nbreak;\ncase 1: var anf_arg288 = $ans490;\n$step486 = 2;\n$al491 = L[95];\n// omitting isFunction check;\n$ans490 = table$from$raw$array458.$var.app(anf_arg288);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans490;\ndefault: R.ffi.throwSpinnakerError(L[92],$step486);\n}\n}\nif($step486 !== 2) {\n$ans490.stack[R.EXN_STACKHEIGHT++] = R.mAR($al491,$temp_lam487,$step486,[t1488,t2489],[],$elidedFrames493);\n}\nreturn $ans490;\n};\nvar anf_obj735 = R.mF($temp_lam487,\"\");\nvar $temp_lam496 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__96($t1497,$t2498,$t3499) {\nvar $step495 = 0;\nvar $elidedFrames503 = 0;\nvar $ans500 = D;\nvar $al501 = L[96];\nif(R.isAR($t1497)) {\n$step495 = $t1497.step;\n$al501 = $t1497.from;\n$ans500 = $t1497.ans;\n$elidedFrames503 = $t1497.elidedFrames;\nt1497 = $t1497.args[0];\nt2498 = $t1497.args[1];\nt3499 = $t1497.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[96],3,$t,false);\n}\nvar t1497 = $t1497;\nvar t2498 = $t2498;\nvar t3499 = $t3499;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans500 = R.mC();\n}\nwhile(!R.isContinuation($ans500)) {\nswitch($step495) {\ncase 0: $ans500 = R.getMaker3(raw$array2,(\"make3\"),L[97],L[98]);\nvar anf_fun504 = $ans500;\n$step495 = 1;\n$al501 = L[98];\nif(typeof(anf_fun504.app) !== \"function\") {\nR.ffi.throwNonFunApp($al501,anf_fun504);\n}\n$ans500 = anf_fun504.app(t1497,t2498,t3499);\nbreak;\ncase 1: var anf_arg568 = $ans500;\n$step495 = 2;\n$al501 = L[99];\n// omitting isFunction check;\n$ans500 = table$from$raw$array458.$var.app(anf_arg568);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans500;\ndefault: R.ffi.throwSpinnakerError(L[96],$step495);\n}\n}\nif($step495 !== 2) {\n$ans500.stack[R.EXN_STACKHEIGHT++] = R.mAR($al501,$temp_lam496,$step495,[t1497,t2498,t3499],[],$elidedFrames503);\n}\nreturn $ans500;\n};\nvar anf_obj736 = R.mF($temp_lam496,\"\");\nvar $temp_lam571 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__100($t1572,$t2573,$t3574,$t4575) {\nvar $step570 = 0;\nvar $elidedFrames579 = 0;\nvar $ans576 = D;\nvar $al577 = L[100];\nif(R.isAR($t1572)) {\n$step570 = $t1572.step;\n$al577 = $t1572.from;\n$ans576 = $t1572.ans;\n$elidedFrames579 = $t1572.elidedFrames;\nt1572 = $t1572.args[0];\nt2573 = $t1572.args[1];\nt3574 = $t1572.args[2];\nt4575 = $t1572.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[100],4,$t,false);\n}\nvar t1572 = $t1572;\nvar t2573 = $t2573;\nvar t3574 = $t3574;\nvar t4575 = $t4575;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans576 = R.mC();\n}\nwhile(!R.isContinuation($ans576)) {\nswitch($step570) {\ncase 0: $ans576 = R.getMaker4(raw$array2,(\"make4\"),L[101],L[102]);\nvar anf_fun580 = $ans576;\n$step570 = 1;\n$al577 = L[102];\nif(typeof(anf_fun580.app) !== \"function\") {\nR.ffi.throwNonFunApp($al577,anf_fun580);\n}\n$ans576 = anf_fun580.app(t1572,t2573,t3574,t4575);\nbreak;\ncase 1: var anf_arg715 = $ans576;\n$step570 = 2;\n$al577 = L[103];\n// omitting isFunction check;\n$ans576 = table$from$raw$array458.$var.app(anf_arg715);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans576;\ndefault: R.ffi.throwSpinnakerError(L[100],$step570);\n}\n}\nif($step570 !== 2) {\n$ans576.stack[R.EXN_STACKHEIGHT++] = R.mAR($al577,$temp_lam571,$step570,[t1572,t2573,t3574,t4575],[],$elidedFrames579);\n}\nreturn $ans576;\n};\nvar anf_obj737 = R.mF($temp_lam571,\"\");\nvar $temp_lam718 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__104($t1719,$t2720,$t3721,$t4722,$t5723) {\nvar $step717 = 0;\nvar $elidedFrames729 = 0;\nvar $ans726 = D;\nvar $al727 = L[104];\nif(R.isAR($t1719)) {\n$step717 = $t1719.step;\n$al727 = $t1719.from;\n$ans726 = $t1719.ans;\n$elidedFrames729 = $t1719.elidedFrames;\nt1719 = $t1719.args[0];\nt2720 = $t1719.args[1];\nt3721 = $t1719.args[2];\nt4722 = $t1719.args[3];\nt5723 = $t1719.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[104],5,$t,false);\n}\nvar t1719 = $t1719;\nvar t2720 = $t2720;\nvar t3721 = $t3721;\nvar t4722 = $t4722;\nvar t5723 = $t5723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans726 = R.mC();\n}\nwhile(!R.isContinuation($ans726)) {\nswitch($step717) {\ncase 0: $ans726 = R.getMaker5(raw$array2,(\"make5\"),L[105],L[106]);\nvar anf_fun730 = $ans726;\n$step717 = 1;\n$al727 = L[106];\nif(typeof(anf_fun730.app) !== \"function\") {\nR.ffi.throwNonFunApp($al727,anf_fun730);\n}\n$ans726 = anf_fun730.app(t1719,t2720,t3721,t4722,t5723);\nbreak;\ncase 1: var anf_arg312 = $ans726;\n$step717 = 2;\n$al727 = L[107];\n// omitting isFunction check;\n$ans726 = table$from$raw$array458.$var.app(anf_arg312);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans726;\ndefault: R.ffi.throwSpinnakerError(L[104],$step717);\n}\n}\nif($step717 !== 2) {\n$ans726.stack[R.EXN_STACKHEIGHT++] = R.mAR($al727,$temp_lam718,$step717,[t1719,t2720,t3721,t4722,t5723],[],$elidedFrames729);\n}\nreturn $ans726;\n};\nvar anf_obj359 = R.mF($temp_lam718,\"\");\nvar table$from$rows771 = R.mO({\"make\":table$from$raw$array458.$var,\n\"make0\":anf_obj734,\n\"make1\":anf_obj356,\n\"make2\":anf_obj735,\n\"make3\":anf_obj736,\n\"make4\":anf_obj737,\n\"make5\":anf_obj359});\nvar table$from$column776 = {\"$var\":D};\nvar table$from$cols827 = {\"$var\":D};\nvar $temp_lam740 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__108($col$name741,$values742) {\nvar $step739 = 0;\nvar $elidedFrames746 = 0;\nvar $ans743 = D;\nvar $al744 = L[108];\nif(R.isAR($col$name741)) {\n$step739 = $col$name741.step;\n$al744 = $col$name741.from;\n$ans743 = $col$name741.ans;\n$elidedFrames746 = $col$name741.elidedFrames;\ncol$name741 = $col$name741.args[0];\nvalues742 = $col$name741.args[1];\nann_check_temp772 = $col$name741.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],2,$t,false);\n}\nvar col$name741 = $col$name741;\nvar values742 = $values742;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans743 = R.mC();\n}\nwhile(!R.isContinuation($ans743)) {\nswitch($step739) {\ncase 0: $step739 = 1;\n$al744 = L[115];\nR._cA(L[115],$type$String8,col$name741);\nbreak;\ncase 1: $step739 = 2;\n$al744 = L[116];\nR._cA(L[116],List6,values742);\nbreak;\ncase 2: var $temp_lam749 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__109($v750) {\nvar $step748 = 0;\nvar $elidedFrames756 = 0;\nvar $ans753 = D;\nvar $al754 = L[109];\nif(R.isAR($v750)) {\n$step748 = $v750.step;\n$al754 = $v750.from;\n$ans753 = $v750.ans;\n$elidedFrames756 = $v750.elidedFrames;\nv750 = $v750.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[109],1,$t,false);\n}\nvar v750 = $v750;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans753 = R.mC();\n}\nwhile(!R.isContinuation($ans753)) {\nswitch($step748) {\ncase 0: $ans753 = R.getMaker1(raw$array2,(\"make1\"),L[110],L[111]);\nvar anf_fun757 = $ans753;\nvar anf_arg325 = R.makeTuple([col$name741,v750]);\n$step748 = 1;\n$al754 = L[111];\nif(typeof(anf_fun757.app) !== \"function\") {\nR.ffi.throwNonFunApp($al754,anf_fun757);\n}\n$ans753 = anf_fun757.app(anf_arg325);\nbreak;\ncase 1: var anf_arg764 = $ans753;\n$step748 = 2;\n$ans753 = R.maybeMethodCall1(raw$row758,\"make\",L[112],anf_arg764);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans753;\ndefault: R.ffi.throwSpinnakerError(L[109],$step748);\n}\n}\nif($step748 !== 2) {\n$ans753.stack[R.EXN_STACKHEIGHT++] = R.mAR($al754,$temp_lam749,$step748,[v750],[],$elidedFrames756);\n}\nreturn $ans753;\n};\nvar anf_arg769 = R.mF($temp_lam749,\"for-body\");\n$step739 = 3;\n$al744 = L[109];\n// omitting isFunction check;\n$ans743 = map7.app(anf_arg769,values742);\nbreak;\ncase 3: var rows770 = $ans743;\n// caller optimization;\n$ans743 = raw$array$from$list2.app(rows770);\nvar anf_arg338 = $ans743;\n$step739 = 4;\n$ans743 = R.maybeMethodCall1(table$from$rows771,\"make\",L[113],anf_arg338);\nbreak;\ncase 4: var ann_check_temp772 = $ans743;\n$step739 = 5;\n$al744 = L[114];\nvar $ann$check773 = R._cA(L[114],$type$Table1,ann_check_temp772);\nif(R.isContinuation($ann$check773)) {\n$ans743 = $ann$check773;\n}\nbreak;\ncase 5: $step739 = 6;\n$ans743 = ann_check_temp772;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans743;\ndefault: R.ffi.throwSpinnakerError(L[108],$step739);\n}\n}\nif($step739 !== 6) {\n$ans743.stack[R.EXN_STACKHEIGHT++] = R.mAR($al744,$temp_lam740,$step739,[col$name741,values742],[ann_check_temp772],$elidedFrames746);\n}\nreturn $ans743;\n};\nvar anf_assign775 = R.mF($temp_lam740,\"table-from-column\");\ntable$from$column776.$var = anf_assign775;\nR.nothing;\nvar $temp_lam779 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__117($colspecs780) {\nvar $step778 = 0;\nvar $elidedFrames785 = 0;\nvar $ans782 = D;\nvar $al783 = L[117];\nif(R.isAR($colspecs780)) {\n$step778 = $colspecs780.step;\n$al783 = $colspecs780.from;\n$ans782 = $colspecs780.ans;\n$elidedFrames785 = $colspecs780.elidedFrames;\ncolspecs780 = $colspecs780.args[0];\ntup2816 = $colspecs780.vars[0];\nanf_arg823 = $colspecs780.vars[1];\nann_check_temp805 = $colspecs780.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],1,$t,false);\n}\nvar colspecs780 = $colspecs780;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans782 = R.mC();\n}\nwhile(!R.isContinuation($ans782)) {\nswitch($step778) {\ncase 0: $step778 = 1;\n$al783 = L[131];\nR._cA(L[131],$type$RawArray1,colspecs780);\nbreak;\ncase 1: // caller optimization;\n$ans782 = raw$array$length1.app(colspecs780);\nvar anf_arg804 = $ans782;\n$step778 = 2;\n$al783 = L[130];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,equal$always1);\n}\n$ans782 = equal$always1.app(anf_arg804,(0));\nbreak;\ncase 2: var anf_if824 = $ans782;\n$step778 = R.checkPyretTrue(anf_if824)?3:4;\nbreak;\ncase 3: $step778 = 7;\n$al783 = L[119];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,raise1);\n}\n$ans782 = raise1.app((\"table-from-columns requires at least one column\"));\nbreak;\ncase 4: // caller optimization;\n$ans782 = raw$array$get14.app(colspecs780,(0));\nvar tup2816 = $ans782;\n$step778 = 5;\n$al783 = L[129];\nR.checkTupleBind(tup2816,2,L[129]);\nbreak;\ncase 5: var name83 = R.getTuple(tup2816,0,L[120]);\nvar vals821 = R.getTuple(tup2816,1,L[121]);\nvar $temp_lam808 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__122($t809,$c810,$i811) {\nvar $step807 = 0;\nvar $elidedFrames815 = 0;\nvar $ans812 = D;\nvar $al813 = L[122];\nif(R.isAR($t809)) {\n$step807 = $t809.step;\n$al813 = $t809.from;\n$ans812 = $t809.ans;\n$elidedFrames815 = $t809.elidedFrames;\nt809 = $t809.args[0];\nc810 = $t809.args[1];\ni811 = $t809.args[2];\ntup816 = $t809.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[122],3,$t,false);\n}\nvar t809 = $t809;\nvar c810 = $c810;\nvar i811 = $i811;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans812 = R.mC();\n}\nwhile(!R.isContinuation($ans812)) {\nswitch($step807) {\ncase 0: $step807 = 1;\n$al813 = L[127];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al813,equal$always1);\n}\n$ans812 = equal$always1.app(i811,(0));\nbreak;\ncase 1: var anf_if819 = $ans812;\n$step807 = R.checkPyretTrue(anf_if819)?2:3;\nbreak;\ncase 2: $step807 = 5;\n$ans812 = t809;\nbreak;\ncase 3: var tup816 = c810;\n$step807 = 4;\n$al813 = L[126];\nR.checkTupleBind(tup816,2,L[126]);\nbreak;\ncase 4: var cname817 = R.getTuple(tup816,0,L[123]);\nvar cvals818 = R.getTuple(tup816,1,L[124]);\n$step807 = 5;\n$ans812 = R.maybeMethodCall2(t809,\"add-column\",L[125],cname817,cvals818);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans812;\ndefault: R.ffi.throwSpinnakerError(L[122],$step807);\n}\n}\nif($step807 !== 5) {\n$ans812.stack[R.EXN_STACKHEIGHT++] = R.mAR($al813,$temp_lam808,$step807,[t809,c810,i811],[tup816],$elidedFrames815);\n}\nreturn $ans812;\n};\nvar anf_arg823 = R.mF($temp_lam808,\"for-body\");\n$step778 = 6;\n$al783 = L[128];\n// omitting isFunction check;\n$ans782 = table$from$column776.$var.app(name83,vals821);\nbreak;\ncase 6: var anf_arg370 = $ans782;\n$step778 = 7;\n$al783 = L[122];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,raw$array$fold3);\n}\n$ans782 = raw$array$fold3.app(anf_arg823,anf_arg370,colspecs780,(1));\nbreak;\ncase 7: var ann_check_temp805 = $ans782;\n$step778 = 8;\n$al783 = L[118];\nvar $ann$check806 = R._cA(L[118],$type$Table1,ann_check_temp805);\nif(R.isContinuation($ann$check806)) {\n$ans782 = $ann$check806;\n}\nbreak;\ncase 8: $step778 = 9;\n$ans782 = ann_check_temp805;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans782;\ndefault: R.ffi.throwSpinnakerError(L[117],$step778);\n}\n}\nif($step778 !== 9) {\n$ans782.stack[R.EXN_STACKHEIGHT++] = R.mAR($al783,$temp_lam779,$step778,[colspecs780],[tup2816,anf_arg823,ann_check_temp805],$elidedFrames785);\n}\nreturn $ans782;\n};\nvar anf_assign826 = R.mF($temp_lam779,\"table-from-cols\");\ntable$from$cols827.$var = anf_assign826;\nR.nothing;\nvar $temp_lam829 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__132($$resumer13) {\nvar $step828 = 0;\nvar $elidedFrames834 = 0;\nvar $ans831 = D;\nvar $al832 = L[132];\nif(R.isAR($$resumer13)) {\n$step828 = $$resumer13.step;\n$al832 = $$resumer13.from;\n$ans831 = $$resumer13.ans;\n$elidedFrames834 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans831 = R.mC();\n}\nwhile(!R.isContinuation($ans831)) {\nswitch($step828) {\ncase 0: $ans831 = R.getMaker0(raw$array2,(\"make0\"),L[133],L[134]);\nvar anf_fun378 = $ans831;\n$step828 = 1;\n$al832 = L[134];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al832,anf_fun378);\n}\n$ans831 = anf_fun378.app();\nbreak;\ncase 1: var anf_arg379 = $ans831;\n$step828 = 2;\n$al832 = L[135];\n// omitting isFunction check;\n$ans831 = table$from$cols827.$var.app(anf_arg379);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans831;\ndefault: R.ffi.throwSpinnakerError(L[132],$step828);\n}\n}\nif($step828 !== 2) {\n$ans831.stack[R.EXN_STACKHEIGHT++] = R.mAR($al832,$temp_lam829,$step828,[],[],$elidedFrames834);\n}\nreturn $ans831;\n};\nvar anf_obj1006 = R.mF($temp_lam829,\"\");\nvar $temp_lam838 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__136($t839) {\nvar $step837 = 0;\nvar $elidedFrames843 = 0;\nvar $ans840 = D;\nvar $al841 = L[136];\nif(R.isAR($t839)) {\n$step837 = $t839.step;\n$al841 = $t839.from;\n$ans840 = $t839.ans;\n$elidedFrames843 = $t839.elidedFrames;\nt839 = $t839.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[136],1,$t,false);\n}\nvar t839 = $t839;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans840 = R.mC();\n}\nwhile(!R.isContinuation($ans840)) {\nswitch($step837) {\ncase 0: $ans840 = R.getMaker1(raw$array2,(\"make1\"),L[137],L[138]);\nvar anf_fun845 = $ans840;\n$step837 = 1;\n$al841 = L[138];\nif(typeof(anf_fun845.app) !== \"function\") {\nR.ffi.throwNonFunApp($al841,anf_fun845);\n}\n$ans840 = anf_fun845.app(t839);\nbreak;\ncase 1: var anf_arg922 = $ans840;\n$step837 = 2;\n$al841 = L[139];\n// omitting isFunction check;\n$ans840 = table$from$cols827.$var.app(anf_arg922);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans840;\ndefault: R.ffi.throwSpinnakerError(L[136],$step837);\n}\n}\nif($step837 !== 2) {\n$ans840.stack[R.EXN_STACKHEIGHT++] = R.mAR($al841,$temp_lam838,$step837,[t839],[],$elidedFrames843);\n}\nreturn $ans840;\n};\nvar anf_obj1007 = R.mF($temp_lam838,\"\");\nvar $temp_lam925 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__140($t1926,$t2927) {\nvar $step924 = 0;\nvar $elidedFrames931 = 0;\nvar $ans928 = D;\nvar $al929 = L[140];\nif(R.isAR($t1926)) {\n$step924 = $t1926.step;\n$al929 = $t1926.from;\n$ans928 = $t1926.ans;\n$elidedFrames931 = $t1926.elidedFrames;\nt1926 = $t1926.args[0];\nt2927 = $t1926.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[140],2,$t,false);\n}\nvar t1926 = $t1926;\nvar t2927 = $t2927;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans928 = R.mC();\n}\nwhile(!R.isContinuation($ans928)) {\nswitch($step924) {\ncase 0: $ans928 = R.getMaker2(raw$array2,(\"make2\"),L[141],L[142]);\nvar anf_fun932 = $ans928;\n$step924 = 1;\n$al929 = L[142];\nif(typeof(anf_fun932.app) !== \"function\") {\nR.ffi.throwNonFunApp($al929,anf_fun932);\n}\n$ans928 = anf_fun932.app(t1926,t2927);\nbreak;\ncase 1: var anf_arg962 = $ans928;\n$step924 = 2;\n$al929 = L[143];\n// omitting isFunction check;\n$ans928 = table$from$cols827.$var.app(anf_arg962);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans928;\ndefault: R.ffi.throwSpinnakerError(L[140],$step924);\n}\n}\nif($step924 !== 2) {\n$ans928.stack[R.EXN_STACKHEIGHT++] = R.mAR($al929,$temp_lam925,$step924,[t1926,t2927],[],$elidedFrames931);\n}\nreturn $ans928;\n};\nvar anf_obj1008 = R.mF($temp_lam925,\"\");\nvar $temp_lam965 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__144($t1966,$t2967,$t3968) {\nvar $step964 = 0;\nvar $elidedFrames972 = 0;\nvar $ans969 = D;\nvar $al970 = L[144];\nif(R.isAR($t1966)) {\n$step964 = $t1966.step;\n$al970 = $t1966.from;\n$ans969 = $t1966.ans;\n$elidedFrames972 = $t1966.elidedFrames;\nt1966 = $t1966.args[0];\nt2967 = $t1966.args[1];\nt3968 = $t1966.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[144],3,$t,false);\n}\nvar t1966 = $t1966;\nvar t2967 = $t2967;\nvar t3968 = $t3968;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans969 = R.mC();\n}\nwhile(!R.isContinuation($ans969)) {\nswitch($step964) {\ncase 0: $ans969 = R.getMaker3(raw$array2,(\"make3\"),L[145],L[146]);\nvar anf_fun973 = $ans969;\n$step964 = 1;\n$al970 = L[146];\nif(typeof(anf_fun973.app) !== \"function\") {\nR.ffi.throwNonFunApp($al970,anf_fun973);\n}\n$ans969 = anf_fun973.app(t1966,t2967,t3968);\nbreak;\ncase 1: var anf_arg403 = $ans969;\n$step964 = 2;\n$al970 = L[147];\n// omitting isFunction check;\n$ans969 = table$from$cols827.$var.app(anf_arg403);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans969;\ndefault: R.ffi.throwSpinnakerError(L[144],$step964);\n}\n}\nif($step964 !== 2) {\n$ans969.stack[R.EXN_STACKHEIGHT++] = R.mAR($al970,$temp_lam965,$step964,[t1966,t2967,t3968],[],$elidedFrames972);\n}\nreturn $ans969;\n};\nvar anf_obj450 = R.mF($temp_lam965,\"\");\nvar $temp_lam976 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__148($t1977,$t2978,$t3979,$t4980) {\nvar $step975 = 0;\nvar $elidedFrames984 = 0;\nvar $ans981 = D;\nvar $al982 = L[148];\nif(R.isAR($t1977)) {\n$step975 = $t1977.step;\n$al982 = $t1977.from;\n$ans981 = $t1977.ans;\n$elidedFrames984 = $t1977.elidedFrames;\nt1977 = $t1977.args[0];\nt2978 = $t1977.args[1];\nt3979 = $t1977.args[2];\nt4980 = $t1977.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[148],4,$t,false);\n}\nvar t1977 = $t1977;\nvar t2978 = $t2978;\nvar t3979 = $t3979;\nvar t4980 = $t4980;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans981 = R.mC();\n}\nwhile(!R.isContinuation($ans981)) {\nswitch($step975) {\ncase 0: $ans981 = R.getMaker4(raw$array2,(\"make4\"),L[149],L[150]);\nvar anf_fun414 = $ans981;\n$step975 = 1;\n$al982 = L[150];\nif(typeof(anf_fun414.app) !== \"function\") {\nR.ffi.throwNonFunApp($al982,anf_fun414);\n}\n$ans981 = anf_fun414.app(t1977,t2978,t3979,t4980);\nbreak;\ncase 1: var anf_arg415 = $ans981;\n$step975 = 2;\n$al982 = L[151];\n// omitting isFunction check;\n$ans981 = table$from$cols827.$var.app(anf_arg415);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans981;\ndefault: R.ffi.throwSpinnakerError(L[148],$step975);\n}\n}\nif($step975 !== 2) {\n$ans981.stack[R.EXN_STACKHEIGHT++] = R.mAR($al982,$temp_lam976,$step975,[t1977,t2978,t3979,t4980],[],$elidedFrames984);\n}\nreturn $ans981;\n};\nvar anf_obj1009 = R.mF($temp_lam976,\"\");\nvar $temp_lam988 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__152($t1989,$t2990,$t3991,$t4992,$t5993) {\nvar $step987 = 0;\nvar $elidedFrames997 = 0;\nvar $ans994 = D;\nvar $al995 = L[152];\nif(R.isAR($t1989)) {\n$step987 = $t1989.step;\n$al995 = $t1989.from;\n$ans994 = $t1989.ans;\n$elidedFrames997 = $t1989.elidedFrames;\nt1989 = $t1989.args[0];\nt2990 = $t1989.args[1];\nt3991 = $t1989.args[2];\nt4992 = $t1989.args[3];\nt5993 = $t1989.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],5,$t,false);\n}\nvar t1989 = $t1989;\nvar t2990 = $t2990;\nvar t3991 = $t3991;\nvar t4992 = $t4992;\nvar t5993 = $t5993;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans994 = R.mC();\n}\nwhile(!R.isContinuation($ans994)) {\nswitch($step987) {\ncase 0: $ans994 = R.getMaker5(raw$array2,(\"make5\"),L[153],L[154]);\nvar anf_fun999 = $ans994;\n$step987 = 1;\n$al995 = L[154];\nif(typeof(anf_fun999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al995,anf_fun999);\n}\n$ans994 = anf_fun999.app(t1989,t2990,t3991,t4992,t5993);\nbreak;\ncase 1: var anf_arg1003 = $ans994;\n$step987 = 2;\n$al995 = L[155];\n// omitting isFunction check;\n$ans994 = table$from$cols827.$var.app(anf_arg1003);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans994;\ndefault: R.ffi.throwSpinnakerError(L[152],$step987);\n}\n}\nif($step987 !== 2) {\n$ans994.stack[R.EXN_STACKHEIGHT++] = R.mAR($al995,$temp_lam988,$step987,[t1989,t2990,t3991,t4992,t5993],[],$elidedFrames997);\n}\nreturn $ans994;\n};\nvar anf_obj1010 = R.mF($temp_lam988,\"\");\nvar table$from$columns1016 = R.mO({\"make\":table$from$cols827.$var,\n\"make0\":anf_obj1006,\n\"make1\":anf_obj1007,\n\"make2\":anf_obj1008,\n\"make3\":anf_obj450,\n\"make4\":anf_obj1009,\n\"make5\":anf_obj1010});\n$step14 = 5;\n$ans46 = R.maybeMethodCall2(builtins1,\"trace-value\",L[156],L[156],nothing2);\nbreak;\ncase 5: var answer1019 = $ans46;\n$step14 = 6;\n$ans46 = R.maybeMethodCall0(builtins1,\"current-checker\",L[157]);\nbreak;\ncase 6: var anf_method_obj1011 = $ans46;\n$step14 = 7;\n$ans46 = R.maybeMethodCall0(anf_method_obj1011,\"results\",L[157]);\nbreak;\ncase 7: var checks1020 = $ans46;\n$step14 = 8;\n$ans46 = R.mO({\"answer\":answer1019,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"running-min\":running$min1012,\n\"running-fold\":running$fold1013,\n\"table-from-raw-array\":table$from$raw$array458.$var,\n\"running-mean\":running$mean1014,\n\"running-reduce\":running$reduce239,\n\"raw-row\":raw$row758,\n\"running-max\":running$max1015,\n\"table-from-cols\":table$from$cols827.$var,\n\"table-from-columns\":table$from$columns1016,\n\"difference-from\":difference$from112,\n\"table-from-column\":table$from$column776.$var,\n\"difference\":difference1017,\n\"running-sum\":running$sum1018,\n\"table-from-rows\":table$from$rows771},\n\"defined-types\":{\"Reducer\":Reducer99},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"running-min\":running$min1012,\n\"running-fold\":running$fold1013,\n\"table-from-raw-array\":table$from$raw$array458.$var,\n\"running-mean\":running$mean1014,\n\"running-reduce\":running$reduce239,\n\"raw-row\":raw$row758,\n\"running-max\":running$max1015,\n\"table-from-cols\":table$from$cols827.$var,\n\"table-from-columns\":table$from$columns1016,\n\"difference-from\":difference$from112,\n\"table-from-column\":table$from$column776.$var,\n\"difference\":difference1017,\n\"running-sum\":running$sum1018,\n\"table-from-rows\":table$from$rows771}),\n\"types\":{\"Reducer\":Reducer99},\n\"modules\":{}}),\n\"checks\":checks1020});\nbreak;\ncase 8: ++R.GAS;\nreturn $ans46;\ndefault: R.ffi.throwSpinnakerError(L[164],$step14);\n}\n}\nif($step14 !== 8) {\n$ans46.stack[R.EXN_STACKHEIGHT++] = R.mAR($al47,$toplevel15,$step14,[],[raw$row758,running$min1012,Reducer99,running$mean1014,running$fold1013,difference$from112,running$reduce239,running$sum1018,difference1017,running$max1015,table$from$rows771,answer1019,table$from$column776,table$from$columns1016,table$from$cols827,table$from$raw$array458],$elidedFrames49);\n}\nreturn $ans46;\n};\nreturn R.safeCall($toplevel15,function module_load(moduleVal) {\nR.modules[\"$builtin://tables10\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"table-from-rows":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +87, +0, +2335, +95, +1, +2825], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":"tany"}, +"running-sum":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +63, +0, +1451, +63, +70, +1521], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://tables"}, +"name":"Reducer"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]]}, +"difference":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +23, +0, +445, +23, +31, +476], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":"tany"}, +"table-from-column":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +97, +0, +2827, +102, +3, +3038], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":false, +"name":"table-from-column", +"typ":"tany"}, +"difference-from":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +12, +0, +178, +21, +3, +443], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":0, +"name":"difference-from", +"typ":"tany"}, +"table-from-columns":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +123, +0, +3496, +131, +1, +3954], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":"tany"}, +"table-from-cols":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +107, +0, +3100, +120, +3, +3493], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":false, +"name":"table-from-cols", +"typ":"tany"}, +"running-max":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +59, +0, +1303, +59, +72, +1375], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://tables"}, +"name":"Reducer"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]]}, +"raw-row":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +65, +0, +1523, +73, +1, +2031], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":"tany"}, +"running-reduce":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +49, +0, +1097, +57, +3, +1301], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":0, +"name":"running-reduce", +"typ":"tany"}, +"running-mean":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +25, +0, +478, +34, +1, +797], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://tables"}, +"name":"Reducer"},[["tuple",[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"},{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]]}, +"table-from-raw-array":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +75, +0, +2033, +85, +3, +2333], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":false, +"name":"table-from-raw-array", +"typ":"tany"}, +"running-fold":{"bind":"fun", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +36, +0, +799, +47, +3, +1095], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"flatness":0, +"name":"running-fold", +"typ":"tany"}, +"running-min":{"bind":"let", +"origin":{"local-bind-site":["builtin://tables", +1, +0, +0, +1, +9, +9], +"definition-bind-site":["builtin://tables", +61, +0, +1377, +61, +72, +1449], +"new-definition":true, +"uri-of-definition":"builtin://tables"}, +"typ":["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://tables"}, +"name":"Reducer"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]]}}, +"datatypes":{}, +"aliases":{"Reducer":["forall", +["atom#OutVal#85","atom#InVal#84","atom#Acc#83"], +["record",{"reduce":["arrow", +[["tid", +"atom#Acc#83"], +["tid", +"atom#InVal#84"]], +["tuple",[["tid", +"atom#Acc#83"],["tid", +"atom#OutVal#85"]]]], +"one":["arrow", +[["tid", +"atom#InVal#84"]], +["tuple",[["tid", +"atom#Acc#83"],["tid", +"atom#OutVal#85"]]]]}]]}}, +"requires":[{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}]}), +"builtin://reactor-events":({"theMap":"{\"version\":3,\"sources\":[\"builtin://reactor-events\"],\"names\":[\"builtin://reactor-events\",\",6,0,47,10,3,156\",\",7,2,61,7,13,72\",\",8,2,75,8,51,124\",\",9,2,127,9,27,152\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAKDC,4BALCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,mCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,gCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,+BAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,4BAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCI,kCARDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCI,+BARDJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://reactor-events\"}", +"theModule":"function _c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543__9(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://reactor-events\";\nvar D = R.undefined;\nvar L = [[M,7,2,61,7,13,72],\n[M,8,2,75,8,51,124],\n[M,8,15,88,8,21,94],\n[M,8,28,101,8,34,107],\n[M,8,44,117,8,50,123],\n[M,9,2,127,9,27,152],\n[M,9,20,145,9,26,151],\n[M,6,0,47,10,3,156],\n[\"dummy location\"],\n[M,1,0,0,10,3,156]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel8 = function _c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543__9($$resumer13) {\nvar $step7 = 0;\nvar $elidedFrames64 = 0;\nvar $ans61 = D;\nvar $al62 = L[9];\nif(R.isAR($$resumer13)) {\n$step7 = $$resumer13.step;\n$al62 = $$resumer13.from;\n$ans61 = $$resumer13.ans;\n$elidedFrames64 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanswer103 = $$resumer13.vars[0];\nmouse94 = $$resumer13.vars[1];\nkeypress98 = $$resumer13.vars[2];\nis$Event88 = $$resumer13.vars[3];\nis$keypress96 = $$resumer13.vars[4];\ntime$tick90 = $$resumer13.vars[5];\nis$time$tick89 = $$resumer13.vars[6];\nEvent102 = $$resumer13.vars[7];\nis$mouse92 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans61 = R.mC();\n}\nwhile(!R.isContinuation($ans61)) {\nswitch($step7) {\ncase 0: var Event65 = R.nB(\"Event\",L[7]);\nvar Event102 = R.mBA(Event65,\"Event\");\nvar Event87 = {\"$var\":D};\nvar is$Event88 = {\"$var\":D};\nvar is$time$tick89 = {\"$var\":D};\nvar time$tick90 = {\"$var\":D};\nvar is$mouse92 = {\"$var\":D};\nvar mouse94 = {\"$var\":D};\nvar is$keypress96 = {\"$var\":D};\nvar keypress98 = {\"$var\":D};\nvar $time$tick_getfields70 = function variant(f) {\nreturn f();\n};\nvar $time$tick_mutablemask69 = [];\nvar $time$tick$base66 = {\"_match\":R.mM(\"time-tick\",0)};\nvar $time$tick$brander67 = R.nB(\"time-tick\",L[0]);\nvar $time$tick$brands68 = {};\n$time$tick$brands68[Event65._brand] = true;\n$time$tick$brands68[$time$tick$brander67._brand] = true;\nvar $mouse_getfields75 = function singleton_variant(f) {\nreturn f(this.dict[\"x\"],this.dict[\"y\"],this.dict[\"kind\"]);\n};\nvar $mouse_mutablemask74 = [false,false,false];\nvar $mouse$base71 = {\"$fieldNames\":[\"x\",\"y\",\"kind\"],\n\"_match\":R.mM(\"mouse\",3)};\nvar $mouse$brander72 = R.nB(\"mouse\",L[1]);\nvar $mouse$brands73 = {};\n$mouse$brands73[Event65._brand] = true;\n$mouse$brands73[$mouse$brander72._brand] = true;\nvar mouse76 = R.mVC(L[1],function $synthesizedConstructor_$mouse$base() {\nreturn [$type$Number3,$type$Number3,$type$String8];\n},[\"x77\",\"y78\",\"kind79\"],[L[2],L[3],L[4]],[false,false,false],[\"x77\",\"y78\",\"kind79\"],$mouse_mutablemask74,$mouse$base71,$mouse$brands73,\"mouse\",$mouse_getfields75,$mouse$base71);\nvar $keypress_getfields84 = function singleton_variant(f) {\nreturn f(this.dict[\"key\"]);\n};\nvar $keypress_mutablemask83 = [false];\nvar $keypress$base80 = {\"$fieldNames\":[\"key\"],\n\"_match\":R.mM(\"keypress\",1)};\nvar $keypress$brander81 = R.nB(\"keypress\",L[5]);\nvar $keypress$brands82 = {};\n$keypress$brands82[Event65._brand] = true;\n$keypress$brands82[$keypress$brander81._brand] = true;\nvar keypress85 = R.mVC(L[5],function $synthesizedConstructor_$keypress$base() {\nreturn [$type$String8];\n},[\"key86\"],[L[6]],[false],[\"key86\"],$keypress_mutablemask83,$keypress$base80,$keypress$brands82,\"keypress\",$keypress_getfields84,$keypress$base80);\nvar anf_assign27 = R.mO({\"Event\":G(Event65,\"test\",L[7]),\n\"is-time-tick\":G($time$tick$brander67,\"test\",L[0]),\n\"time-tick\":R.mDV($time$tick$base66,$time$tick$brands68,\"time-tick\",$time$tick_getfields70,-1,$time$tick_mutablemask69,$time$tick$base66,false,L[0]),\n\"is-mouse\":G($mouse$brander72,\"test\",L[1]),\n\"mouse\":mouse76,\n\"is-keypress\":G($keypress$brander81,\"test\",L[5]),\n\"keypress\":keypress85});\nEvent87.$var = anf_assign27;\nR.nothing;\n$al62 = L[7];\nvar anf_assign29 = G(Event87.$var,\"Event\",L[7]);\nis$Event88.$var = anf_assign29;\nR.nothing;\n$al62 = L[0];\nvar anf_assign31 = G(Event87.$var,\"is-time-tick\",L[0]);\nis$time$tick89.$var = anf_assign31;\nR.nothing;\n$al62 = L[0];\nvar anf_assign33 = G(Event87.$var,\"time-tick\",L[0]);\ntime$tick90.$var = anf_assign33;\nR.nothing;\n$al62 = L[1];\nvar anf_assign91 = G(Event87.$var,\"is-mouse\",L[1]);\nis$mouse92.$var = anf_assign91;\nR.nothing;\n$al62 = L[1];\nvar anf_assign93 = G(Event87.$var,\"mouse\",L[1]);\nmouse94.$var = anf_assign93;\nR.nothing;\n$al62 = L[5];\nvar anf_assign95 = G(Event87.$var,\"is-keypress\",L[5]);\nis$keypress96.$var = anf_assign95;\nR.nothing;\n$al62 = L[5];\nvar anf_assign97 = G(Event87.$var,\"keypress\",L[5]);\nkeypress98.$var = anf_assign97;\nR.nothing;\n$step7 = 1;\n$ans61 = R.maybeMethodCall2(builtins1,\"trace-value\",L[8],L[8],nothing2);\nbreak;\ncase 1: var answer103 = $ans61;\n$step7 = 2;\n$ans61 = R.maybeMethodCall0(builtins1,\"current-checker\",L[7]);\nbreak;\ncase 2: var anf_method_obj101 = $ans61;\n$step7 = 3;\n$ans61 = R.maybeMethodCall0(anf_method_obj101,\"results\",L[7]);\nbreak;\ncase 3: var checks104 = $ans61;\n$step7 = 4;\n$ans61 = R.mO({\"answer\":answer103,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-mouse\":is$mouse92.$var,\n\"keypress\":keypress98.$var,\n\"mouse\":mouse94.$var,\n\"is-keypress\":is$keypress96.$var,\n\"is-Event\":is$Event88.$var,\n\"is-time-tick\":is$time$tick89.$var,\n\"time-tick\":time$tick90.$var},\n\"defined-types\":{\"Event\":Event102},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-mouse\":is$mouse92.$var,\n\"keypress\":keypress98.$var,\n\"mouse\":mouse94.$var,\n\"is-keypress\":is$keypress96.$var,\n\"is-Event\":is$Event88.$var,\n\"is-time-tick\":is$time$tick89.$var,\n\"time-tick\":time$tick90.$var}),\n\"types\":{\"Event\":Event102},\n\"modules\":{}}),\n\"checks\":checks104});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans61;\ndefault: R.ffi.throwSpinnakerError(L[9],$step7);\n}\n}\nif($step7 !== 4) {\n$ans61.stack[R.EXN_STACKHEIGHT++] = R.mAR($al62,$toplevel8,$step7,[],[answer103,mouse94,keypress98,is$Event88,is$keypress96,time$tick90,is$time$tick89,Event102,is$mouse92],$elidedFrames64);\n}\nreturn $ans61;\n};\nreturn R.safeCall($toplevel8,function module_load(moduleVal) {\nR.modules[\"$builtin://reactor$events1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"time-tick":{"bind":"let", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +7, +2, +61, +7, +13, +72], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"typ":"tany"}, +"is-time-tick":{"bind":"fun", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +7, +2, +61, +7, +13, +72], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"flatness":0, +"name":"is-time-tick", +"typ":"tany"}, +"is-Event":{"bind":"let", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +6, +0, +47, +10, +3, +156], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"typ":"tany"}, +"is-keypress":{"bind":"fun", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +9, +2, +127, +9, +27, +152], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"flatness":0, +"name":"is-keypress", +"typ":"tany"}, +"mouse":{"bind":"fun", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +8, +2, +75, +8, +51, +124], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"flatness":0, +"name":"mouse", +"typ":"tany"}, +"keypress":{"bind":"fun", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +9, +2, +127, +9, +27, +152], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"flatness":0, +"name":"keypress", +"typ":"tany"}, +"is-mouse":{"bind":"fun", +"origin":{"local-bind-site":["builtin://reactor-events", +2, +0, +10, +2, +15, +25], +"definition-bind-site":["builtin://reactor-events", +8, +2, +75, +8, +51, +124], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"}, +"flatness":0, +"name":"is-mouse", +"typ":"tany"}}, +"datatypes":{"Event":["data",{"local-bind-site":["builtin://reactor-events", +6, +0, +47, +10, +3, +156], +"definition-bind-site":["builtin://reactor-events", +6, +0, +47, +10, +3, +156], +"new-definition":true, +"uri-of-definition":"builtin://reactor-events"},"Event",[],[["time-tick", +{}],["mouse", +[["x", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["y", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}],["kind", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["keypress", +[["key", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}]],{}]}, +"aliases":{"Event":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://reactors":({ + requires: [ + { "import-type": "builtin", "name": "reactor-events" }, + { "import-type": "builtin", "name": "valueskeleton" }, + { "import-type": "builtin", "name": "table" } + ], + nativeRequires: [], + provides: { + shorthands: { + "RofA": ["tyapp", ["local", "Reactor"], [["tid", "a"]]], + "ReactorEvent": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://reactor-events" }, + name: "Event" }, + "Image": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://image-lib" }, + name: "Image" }, + "ValueSkeleton": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://valueskeleton" }, + name: "ValueSkeleton" }, + "Table": { tag: "name", + origin: { "import-type": "uri", uri: "builtin://global" }, + name: "Table" } + }, + values: { + "keypress": ["arrow", ["String"], ["local", "Event"]], + "mouse": ["arrow", ["Number", "Number", "String"], ["local", "Event"]], + "time-tick": ["local", "Event"], + + "get-value": ["forall", ["a"], ["arrow", ["RofA"], ["tid", "a"]]], + "get-instance": ["forall", ["a"], ["arrow", ["RofA"], ["tid", "a"]]], + "draw": ["forall", ["a"], ["arrow", ["RofA"], "Image"]], + "interact": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], + "interact-trace": ["forall", ["a"], ["arrow", ["RofA"], "Table"]], + "simulate-trace": ["forall", ["a"], ["arrow", ["RofA", "Number"], "Table"]], + "start-trace": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], + "stop-trace": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], + "get-trace": ["forall", ["a"], ["arrow", ["RofA"], ["List", ["tid", "a"]]]], + "get-trace-as-table": ["forall", ["a"], ["arrow", ["RofA"], "Table"]], + "react": ["forall", ["a"], ["arrow", ["RofA", ["local", "Event"]], "RofA"]] + }, + aliases: { + "Event": "ReactorEvent", + "Reactor": ["local", "Reactor"] + }, + datatypes: { + "Reactor": ["data", "Reactor", ["a"], [], { + "get-value": ["arrow", [], ["tid", "a"]], + "draw": ["arrow", [], "Image"], + "interact": ["arrow", [], "RofA"], + "interact-trace": ["forall", ["a"], ["arrow", [], "Any"]], + "simulate-trace": ["forall", ["a"], ["arrow", ["Number"], "Any"]], + "start-trace": ["arrow", [], "RofA"], + "stop-trace": ["arrow", [], "RofA"], + "get-trace": ["arrow", [], ["List", ["tid", "a"]]], + "get-trace-as-table": ["arrow", [], "Any"], + "react": ["arrow", [["local", "Event"]], "RofA"], + "is-stopped": ["arrow", [], "Boolean"], + "_output": ["arrow", [], "ValueSkeleton"] + }] + }, + }, + + theModule: function(runtime, _, uri, reactorEvents, VSlib, tables, reactorLib) { + var gf = runtime.getField; + var gmf = function(m, f) { return gf(runtime.getField(m, "values"), f); } + var gtf = function(m, f) { return gf(m, "types")[f]; } + var VS = runtime.getField(VSlib, "values"); + + var brandReactor = runtime.namedBrander("reactors", ["reactors"]); + var annReactor = runtime.makeBranderAnn(brandReactor, "Reactor"); + + var checkArity = runtime.ffi.checkArity; + + var annEvent = gtf(reactorEvents, "Event"); + + function applyBrand(brand, val) { + return gf(brand, "brand").app(val); + } + function hasBrand(brand, val) { + return gf(brand, "test").app(val); + } + + var isEvent = gmf(reactorEvents, "is-Event"); + var externalInteractionHandler = null; + var setInteract = function(newInteract) { + externalInteractionHandler = newInteract; + } + var makeReactor = function(init, fields) { + runtime.ffi.checkArity(2, arguments, "reactor", false); + runtime.checkObject(fields); + var handlerDict = {}; + Object.keys(fields.dict).forEach(function(f) { + if(runtime.ffi.isSome(gf(fields, f))) { + handlerDict[f] = gf(gf(fields, f), "value"); + } + }); + return makeReactorRaw(init, handlerDict, false, []); + } + var makeReactorRaw = function(init, handlers, tracing, trace) { + var o = runtime.makeObject({ + "get-value": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + return init; + }), + "draw": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + if(!handlers.hasOwnProperty("to-draw")) { + runtime.ffi.throwMessageException("Cannot draw() because no to-draw was specified on this reactor."); + } + var drawer = handlers["to-draw"]; + return drawer.app(init); + }), + "interact-trace": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + return runtime.safeThen(function() { + return gf(self, "start-trace").app(); + }).then(function(val) { + return gf(val, "interact").app(); + }).then(function(val) { + return gf(val, "get-trace-as-table").app(); + }).start(); + }), + "simulate-trace": runtime.makeMethod1(function(self, limit) { + checkArity(2, arguments, "reactors", true); + function help(r, i) { + return r.then(function(rval) { + if(i <= 0) { + return gf(rval, "get-trace-as-table").app() + } + else { + return runtime.safeThen(function() { + return gf(rval, "is-stopped").app(); + }).then(function(isStopped) { + if(isStopped) { + return gf(rval, "get-trace-as-table").app() + } + else { + return help(runtime.safeThen(function() { + return gf(rval, "react").app(gmf(reactorEvents, "time-tick")); + }), i - 1).start(); + } + }).start() + } + }); + } + var withTracing = runtime.safeThen(function() { + return gf(self, "start-trace").app(); + }); + return help(withTracing, limit).start(); + }), + interact: runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + if(externalInteractionHandler === null) { + runtime.ffi.throwMessageException("No interaction set up for this context (please report a bug if you are using code.pyret.org and see this message)"); + } + var thisInteractTrace = []; + var tracer = null; + if(tracing) { + tracer = function(newVal, oldVal, k) { + thisInteractTrace.push(newVal); + k(); + }; + } + return runtime.safeCall(function() { + return externalInteractionHandler(init, handlers, tracer); + }, function(newVal) { + // This unshift prevents duplicate first elements + thisInteractTrace.shift(); + return makeReactorRaw(newVal, handlers, tracing, trace.concat(thisInteractTrace)); + }, "interact"); + }), + "start-trace": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + return makeReactorRaw(init, handlers, true, [init]); + }), + "stop-trace": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + return makeReactorRaw(init, handlers, false, []); + }), + "get-trace": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + if(tracing) { + return runtime.ffi.makeList(trace); + } + else { + runtime.ffi.throwMessageException("Tried to get trace of a reactor that isn't tracing; try calling start-trace() first"); + } + }), + "get-trace-as-table": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + if(tracing) { + var i = 0; + var rows = trace.map(function(state) { + var ans = [i, state]; + i += 1; + return ans; + }); + return tables.makeTable(["tick", "state"], rows); + } + else { + runtime.ffi.throwMessageException("Tried to get trace of a reactor that isn't tracing; try calling start-trace() first"); + } + }), + react: runtime.makeMethod1(function(self, event) { + checkArity(2, arguments, "reactors", true); + function callOrError(handlerName, args) { + if(handlers.hasOwnProperty(handlerName)) { + var funObj = handlers[handlerName].app; + return runtime.safeCall(function() { + return funObj.apply(funObj, args); + }, function(newVal) { + if(tracing) { + var newTrace = trace.concat([newVal]); + } + else { + var newTrace = trace; + } + return makeReactorRaw(newVal, handlers, tracing, newTrace); + }, "react:" + handlerName); + } + else { + runtime.ffi.throwMessageException("No " + handlerName + " handler defined"); + } + } + return runtime.safeCall(function() { + if(handlers["stop-when"]) { + return handlers["stop-when"].app(init); + } + else { + return false; + } + }, function(stop) { + if(stop) { + return self; + } + else { + return runtime.ffi.cases(isEvent, "Event", event, { + keypress: function(key) { + return callOrError("on-key", [init, key]); + }, + "time-tick": function() { + return callOrError("on-tick", [init]); + }, + mouse: function(x, y, kind) { + return callOrError("on-mouse", [init, x, y, kind]); + } + }); + } + }, "react:stop-when"); + }), + "is-stopped": runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + if(handlers["stop-when"]) { + return handlers["stop-when"].app(init); + } + else { + return false; + } + }), + _output: runtime.makeMethod0(function(self) { + checkArity(1, arguments, "reactors", true); + return runtime.getField(VS, "vs-constr").app( + "reactor", + runtime.ffi.makeList([ gf(VS, "vs-value").app(init) ])); + }) + }); + return applyBrand(brandReactor, o); + } + + var c = function(name, ...argsAndAnns) { + runtime.checkArgsInternalInline("reactors", name, ...argsAndAnns); + } + + function getValue(reactor) { + checkArity(1, arguments, "reactors", false); + c("get-value", reactor, annReactor); + return runtime.getField(reactor, "get-value").app(); + } + + function draw(reactor) { + checkArity(1, arguments, "reactors", false); + c("draw", reactor, annReactor); + return runtime.getField(reactor, "draw").app(); + } + + function interact(reactor) { + checkArity(1, arguments, "reactors", false); + c("interact", reactor, annReactor); + return runtime.getField(reactor, "interact").app(); + } + + function react(reactor, event) { + checkArity(2, arguments, "reactors", false); + c("react", reactor, annReactor, event, annEvent); + return runtime.getField(reactor, "react").app(event); + } + + function getTrace(reactor) { + checkArity(1, arguments, "reactors", false); + c("get-trace", reactor, annReactor); + return runtime.getField(reactor, "get-trace").app(); + } + + function getTraceAsTable(reactor) { + checkArity(1, arguments, "reactors", false); + c("get-trace-as-table", reactor, annReactor); + return runtime.getField(reactor, "get-trace-as-table").app(); + } + + function startTrace(reactor) { + checkArity(1, arguments, "reactors", false); + c("start-trace", reactor, annReactor); + return runtime.getField(reactor, "start-trace").app(); + } + + function interactTrace(reactor) { + checkArity(1, arguments, "reactors", false); + c("interact-trace", reactor, annReactor); + return runtime.getField(reactor, "interact-trace").app(); + } + + function simulateTrace(reactor, limit) { + checkArity(2, arguments, "reactors", false); + c("simulate-trace", reactor, annReactor, limit, runtime.NumInteger); + return runtime.getField(reactor, "simulate-trace").app(limit); + } + + function stopTrace(reactor) { + checkArity(1, arguments, "reactors", false); + c("stop-trace", reactor, annReactor); + return runtime.getField(reactor, "stop-trace").app(); + } + + var F = runtime.makeFunction; + + var values = { + mouse: gmf(reactorEvents, "mouse"), + keypress: gmf(reactorEvents, "keypress"), + "time-tick": gmf(reactorEvents, "time-tick"), + "make-reactor": F(makeReactor, "make-reactor"), + + "get-value": F(getValue, "get-value"), + "get-instance": F(getValue, "get-instance"), + "draw": F(draw, "draw"), + "get-trace": F(getTrace, "get-trace"), + "get-trace-as-table": F(getTraceAsTable, "get-trace-as-table"), + "start-trace": F(startTrace, "start-trace"), + "stop-trace": F(stopTrace, "stop-trace"), + "interact-trace": F(interactTrace, "interact-trace"), + "simulate-trace": F(simulateTrace, "simulate-trace"), + "react": F(react, "react"), + "interact": F(interact, "interact") + + }; + + var types = { + Event: gtf(reactorEvents, "Event"), + Reactor: annReactor + }; + + var internal = { + setInteract: setInteract + }; + return runtime.makeModuleReturn(values, types, internal); + } +}) +, +"builtin://data-source":({"theMap":"{\"version\":3,\"sources\":[\"builtin://data-source\"],\"names\":[\"builtin://data-source\",\",7,0,93,13,3,225\",\",8,2,116,8,11,125\",\",9,2,128,9,22,148\",\",10,2,151,10,22,171\",\",11,2,174,11,24,196\",\",12,2,199,12,24,221\",\",24,0,523,26,3,625\",\",25,2,559,25,64,621\",\",36,21,889,36,47,915\",\",36,16,884,36,48,916\",\",45,18,1053,45,34,1069\",\",46,19,1089,46,28,1098\",\",47,25,1124,47,38,1137\",\",42,2,973,48,5,1143\",\",52,8,1189,52,23,1204\",\",52,8,1189,52,34,1215\",\",52,37,1218,52,55,1236\",\",52,8,1189,52,55,1236\",\",55,20,1299,55,39,1318\",\",56,24,1344,56,58,1378\",\",56,24,1344,57,23,1402\",\",56,24,1344,57,29,1408\",\",56,24,1344,57,46,1425\",\",56,18,1338,57,47,1426\",\",55,6,1285,59,9,1459\",\",63,12,1591,63,25,1604\",\",62,31,1550,63,25,1604\",\",62,31,1550,63,34,1613\",\",62,31,1550,63,40,1619\",\",62,31,1550,63,57,1636\",\",62,25,1544,63,58,1637\",\",64,23,1661,65,15,1713\",\",64,23,1661,65,32,1730\",\",64,17,1655,65,33,1731\",\",53,2,1239,66,5,1737\",\",70,8,1784,70,23,1799\",\",70,8,1784,70,34,1810\",\",70,37,1813,70,55,1831\",\",70,8,1784,70,55,1831\",\",75,10,1916,75,16,1922\",\",76,10,1945,76,16,1951\",\",78,16,2036,78,32,2052\",\",77,27,1990,78,32,2052\",\",77,27,1990,78,41,2061\",\",77,27,1990,78,47,2067\",\",77,27,1990,78,65,2085\",\",77,21,1984,78,66,2086\",\",82,10,2136,82,27,2153\",\",82,10,2136,82,37,2163\",\",83,10,2185,83,27,2202\",\",83,10,2185,83,38,2213\",\",84,27,2253,85,17,2301\",\",84,27,2253,85,27,2311\",\",84,27,2253,85,33,2317\",\",84,27,2253,85,51,2335\",\",84,21,2247,85,52,2336\",\",88,12,2419,88,25,2432\",\",87,31,2378,88,25,2432\",\",87,31,2378,88,34,2441\",\",87,31,2378,88,40,2447\",\",87,31,2378,88,58,2465\",\",87,25,2372,88,59,2466\",\",89,23,2490,90,15,2542\",\",89,23,2490,90,33,2560\",\",89,17,2484,90,34,2561\",\",71,2,1834,91,5,2567\",\",95,8,2620,95,23,2635\",\",95,8,2620,95,34,2646\",\",95,37,2649,95,55,2667\",\",95,8,2620,95,55,2667\",\",98,20,2730,98,39,2749\",\",99,24,2775,100,17,2823\",\",99,24,2775,100,27,2833\",\",99,24,2775,100,33,2839\",\",99,24,2775,100,50,2856\",\",99,18,2769,100,51,2857\",\",98,6,2716,102,9,2890\",\",105,12,2979,105,21,2988\",\",104,25,2936,105,21,2988\",\",104,25,2936,105,30,2997\",\",104,25,2936,105,36,3003\",\",104,25,2936,105,69,3036\",\",104,19,2930,105,70,3037\",\",107,12,3110,107,25,3123\",\",106,31,3069,107,25,3123\",\",106,31,3069,107,34,3132\",\",106,31,3069,107,40,3138\",\",106,31,3069,107,57,3155\",\",106,25,3063,107,58,3156\",\",108,23,3180,109,15,3232\",\",108,23,3180,109,32,3249\",\",108,17,3174,109,33,3250\",\",96,2,2670,110,5,3256\",\",114,8,3301,114,23,3316\",\",114,8,3301,114,34,3327\",\",114,37,3330,114,55,3348\",\",114,8,3301,114,55,3348\",\",119,38,3482,119,54,3498\",\",119,22,3466,119,54,3498\",\",120,40,3539,120,49,3548\",\",120,23,3522,120,49,3548\",\",121,43,3592,121,56,3605\",\",121,28,3577,121,56,3605\",\",118,15,3422,123,9,3653\",\",124,12,3666,124,39,3693\",\",124,12,3666,124,48,3702\",\",124,12,3666,125,15,3718\",\",124,12,3666,125,32,3735\",\",124,6,3660,125,33,3736\",\",130,8,3787,130,23,3802\",\",130,8,3787,130,34,3813\",\",130,37,3816,130,55,3834\",\",130,8,3787,130,55,3834\",\",135,38,3968,135,47,3977\",\",135,22,3952,135,47,3977\",\",136,40,4018,136,49,4027\",\",136,23,4001,136,49,4027\",\",137,43,4071,137,56,4084\",\",137,28,4056,137,56,4084\",\",134,15,3908,139,9,4131\",\",140,12,4144,140,39,4171\",\",140,12,4144,140,48,4180\",\",140,12,4144,141,15,4196\",\",140,12,4144,141,32,4213\",\",140,6,4138,141,33,4214\",\",146,8,4266,146,23,4281\",\",146,8,4266,146,34,4292\",\",146,37,4295,146,55,4313\",\",146,8,4266,146,55,4313\",\",151,38,4448,151,54,4464\",\",151,22,4432,151,54,4464\",\",152,38,4503,152,47,4512\",\",152,22,4487,152,47,4512\",\",153,43,4556,153,56,4569\",\",153,28,4541,153,56,4569\",\",150,15,4388,155,9,4616\",\",156,12,4629,156,39,4656\",\",156,12,4629,156,48,4665\",\",156,12,4629,157,15,4681\",\",156,12,4629,157,33,4699\",\",156,6,4623,157,34,4700\",\",162,8,4749,162,23,4764\",\",162,8,4749,162,34,4775\",\",162,37,4778,162,55,4796\",\",162,8,4749,162,55,4796\",\",167,34,4928,167,50,4944\",\",167,22,4916,167,50,4944\",\",168,34,4979,168,43,4988\",\",168,22,4967,168,43,4988\",\",169,36,5025,169,45,5034\",\",169,23,5012,169,45,5034\",\",170,39,5074,170,52,5087\",\",170,28,5063,170,52,5087\",\",166,15,4872,171,9,5097\",\",172,12,5110,172,43,5141\",\",172,12,5110,172,52,5150\",\",172,12,5110,173,15,5166\",\",172,12,5110,173,37,5188\",\",172,6,5104,173,38,5189\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAMDC,yCANCD;AAAAA;AAAAA;AAAAA;AAAAA,oBAOCE,wCAPDF;AAAAA;AAAAA;AAAAA;AAAAA,oBAOCE,qCAPDF;AAAAA;AAAAA;AAAAA;AAAAA,oBAQCG,sCARDH;AAAAA;AAAAA;AAAAA;AAAAA,oBAQCG,mCARDH;AAAAA;AAAAA;AAAAA;AAAAA,oBASCI,sCATDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBASCI,mCATDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCK,uCAVDL;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCK,oCAVDL;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCM,yCAXDN;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCM,sCAXDN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAuBDO,gEAvBCP;AAAAA;AAAAA;AAAAA;AAAAA,oBAwBCQ,yDAxBDR;AAAAA;AAAAA;AAAAA;AAAAA,oBAwBCQ,sDAxBDR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmCoBS,6CAnCpBT;AAAAA;AAmCoBS,kDAnCpBT;AAAAA;AAAAA;AAAAA;AAmCeU,+BAnCfV;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4CiBW,kCA5CjBX;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6CkBY,oCA7ClBZ;AAAAA;AA6CkBY,2BA7ClBZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8CwBa,oCA9CxBb;AAAAA;AA8CwBa,+BA9CxBb;AAAAA;AAAAA,QAyCCc,+CAzCDd;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmDOe,wCAnDPf;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmDOgB,2CAnDPhB;AAAAA;AAAAA;AAAAA;AAmDoCiB,oCAnDpCjB;AAAAA;AAAAA;AAAAA;AAAAA;AAmDOkB,2CAnDPlB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsDmBmB,qCAtDnBnB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuDuBoB,4DAvDvBpB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuDuBqB,2CAvDvBrB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuDuBsB,uCAvDvBtB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuDuBuB,iDAvDvBvB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuDiBwB,mCAvDjBxB;AAAAA;AAuDiBwB,gCAvDjBxB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAsDKyB,+CAtDLzB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8DW0B,oCA9DX1B;AAAAA;AA8DW0B,+BA9DX1B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6D8B2B,+DA7D9B3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6D8B4B,yCA7D9B5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6D8B6B,uCA7D9B7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6D8B8B,iDA7D9B9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6DwB+B,mCA7DxB/B;AAAAA;AA6DwB+B,gCA7DxB/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+DsBgC,mEA/DtBhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+DsBiC,iDA/DtBjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+DgBkC,mCA/DhBlC;AAAAA;AA+DgBkC,gCA/DhBlC;AAAAA;AAAAA,SAoDCmC,+CApDDnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqEOoC,wCArEPpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqEOqC,2CArEPrC;AAAAA;AAAAA;AAAAA;AAqEoCsC,oCArEpCtC;AAAAA;AAAAA;AAAAA;AAAAA;AAqEOuC,2CArEPvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0ESwC,0CA1ETxC;AAAAA;AA0ESwC,qCA1ETxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2ESyC,0CA3ETzC;AAAAA;AA2ESyC,qCA3ETzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6Ee0C,kCA7Ef1C;AAAAA;AAAAA;AAAAA;AAAAA;AA4E0B2C,gEA5E1B3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4E0B4C,yCA5E1B5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4E0B6C,uCA5E1B7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4E0B8C,kDA5E1B9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4EoB+C,mCA5EpB/C;AAAAA;AA4EoB+C,gCA5EpB/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiFSgD,mCAjFThD;AAAAA;AAAAA;AAAAA;AAAAA;AAiFSiD,0CAjFTjD;AAAAA;AAiFSiD,gDAjFTjD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkFSkD,mCAlFTlD;AAAAA;AAAAA;AAAAA;AAAAA;AAkFSmD,0CAlFTnD;AAAAA;AAkFSmD,iDAlFTnD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmF0BoD,4DAnF1BpD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmF0BqD,2CAnF1BrD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmF0BsD,uCAnF1BtD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmF0BuD,kDAnF1BvD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmFoBwD,mCAnFpBxD;AAAAA;AAmFoBwD,gCAnFpBxD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuFWyD,oCAvFXzD;AAAAA;AAuFWyD,+BAvFXzD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsF8B0D,+DAtF9B1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsF8B2D,yCAtF9B3D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsF8B4D,uCAtF9B5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsF8B6D,kDAtF9B7D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsFwB8D,mCAtFxB9D;AAAAA;AAsFwB8D,gCAtFxB9D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwFsB+D,mEAxFtB/D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwFsBgE,kDAxFtBhE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwFgBiE,mCAxFhBjE;AAAAA;AAwFgBiE,gCAxFhBjE;AAAAA;AAAAA,SAsECkE,+CAtEDlE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8FOmE,wCA9FPnE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8FOoE,2CA9FPpE;AAAAA;AAAAA;AAAAA;AA8FoCqE,oCA9FpCrE;AAAAA;AAAAA;AAAAA;AAAAA;AA8FOsE,2CA9FPtE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiGmBuE,qCAjGnBvE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkGuBwE,4DAlGvBxE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkGuByE,2CAlGvBzE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkGuB0E,uCAlGvB1E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkGuB2E,iDAlGvB3E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkGiB4E,mCAlGjB5E;AAAAA;AAkGiB4E,gCAlGjB5E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAiGK6E,gDAjGL7E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwGW8E,oCAxGX9E;AAAAA;AAwGW8E,2BAxGX9E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuGwB+E,iEAvGxB/E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuGwBgF,yCAvGxBhF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuGwBiF,uCAvGxBjF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuGwBkF,iEAvGxBlF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuGkBmF,mCAvGlBnF;AAAAA;AAuGkBmF,gCAvGlBnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0GWoF,oCA1GXpF;AAAAA;AA0GWoF,+BA1GXpF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyG8BqF,+DAzG9BrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyG8BsF,yCAzG9BtF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyG8BuF,uCAzG9BvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyG8BwF,iDAzG9BxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyGwByF,mCAzGxBzF;AAAAA;AAyGwByF,gCAzGxBzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2GsB0F,mEA3GtB1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2GsB2F,iDA3GtB3F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2GgB4F,mCA3GhB5F;AAAAA;AA2GgB4F,gCA3GhB5F;AAAAA;AAAAA,SA+FC6F,gDA/FD7F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiHO8F,wCAjHP9F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiHO+F,2CAjHP/F;AAAAA;AAAAA;AAAAA;AAiHoCgG,oCAjHpChG;AAAAA;AAAAA;AAAAA;AAAAA;AAiHOiG,2CAjHPjG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsHqCkG,mCAtHrClG;AAAAA;AAAAA;AAAAA;AAAAA;AAsHqBmG,iDAtHrBnG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuHuCoG,oCAvHvCpG;AAAAA;AAuHuCoG,4BAvHvCpG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuHsBqG,kDAvHtBrG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwH0CsG,oCAxH1CtG;AAAAA;AAwH0CsG,gCAxH1CtG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwH2BuG,+CAxH3BvG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAqHcwG,gDArHdxG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2HWyG,oDA3HXzG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2HW0G,yCA3HX1G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2HW2G,yCA3HX3G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2HW4G,iDA3HX5G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2HK6G,mCA3HL7G;AAAAA;AA2HK6G,iCA3HL7G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiIO8G,0CAjIP9G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiIO+G,4CAjIP/G;AAAAA;AAAAA;AAAAA;AAiIoCgH,sCAjIpChH;AAAAA;AAAAA;AAAAA;AAAAA;AAiIOiH,8CAjIPjH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsIqCkH,qCAtIrClH;AAAAA;AAsIqCkH,6BAtIrClH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsIqBmH,iDAtIrBnH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuIuCoH,qCAvIvCpH;AAAAA;AAuIuCoH,6BAvIvCpH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuIsBqH,mDAvItBrH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwI0CsH,qCAxI1CtH;AAAAA;AAwI0CsH,iCAxI1CtH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwI2BuH,iDAxI3BvH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAqIcwH,kDArIdxH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2IWyH,sDA3IXzH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2IW0H,0CA3IX1H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2IW2H,yCA3IX3H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2IW4H,kDA3IX5H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2IK6H,oCA3IL7H;AAAAA;AA2IK6H,iCA3IL7H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiJO8H,0CAjJP9H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiJO+H,4CAjJP/H;AAAAA;AAAAA;AAAAA;AAiJoCgI,sCAjJpChI;AAAAA;AAAAA;AAAAA;AAAAA;AAiJOiI,6CAjJPjI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsJqCkI,oCAtJrClI;AAAAA;AAAAA;AAAAA;AAAAA;AAsJqBmI,iDAtJrBnI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJqCoI,qCAvJrCpI;AAAAA;AAuJqCoI,6BAvJrCpI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJqBqI,kDAvJrBrI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwJ0CsI,qCAxJ1CtI;AAAAA;AAwJ0CsI,iCAxJ1CtI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwJ2BuI,iDAxJ3BvI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAqJcwI,kDArJdxI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2JWyI,sDA3JXzI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2JW0I,0CA3JX1I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2JW2I,yCA3JX3I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2JW4I,oDA3JX5I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2JK6I,oCA3JL7I;AAAAA;AA2JK6I,iCA3JL7I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiKO8I,0CAjKP9I;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiKO+I,4CAjKP/I;AAAAA;AAAAA;AAAAA;AAiKoCgJ,sCAjKpChJ;AAAAA;AAAAA;AAAAA;AAAAA;AAiKOiJ,6CAjKPjJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsKiCkJ,oCAtKjClJ;AAAAA;AAAAA;AAAAA;AAAAA;AAsKqBmJ,6CAtKrBnJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuKiCoJ,qCAvKjCpJ;AAAAA;AAuKiCoJ,6BAvKjCpJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuKqBqJ,6CAvKrBrJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwKmCsJ,qCAxKnCtJ;AAAAA;AAwKmCsJ,6BAxKnCtJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwKsBuJ,+CAxKtBvJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyKsCwJ,qCAzKtCxJ;AAAAA;AAyKsCwJ,iCAzKtCxJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyK2ByJ,6CAzK3BzJ;AAAAA;AAAAA,SAqKc0J,kDArKd1J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2KW2J,0DA3KX3J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2KW4J,0CA3KX5J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2KW6J,yCA3KX7J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2KW8J,uDA3KX9J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2KK+J,oCA3KL/J;AAAAA;AA2KK+J,iCA3KL/J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAMDC,oDANCD;AAAAA;AAAAA;AAAAA;AAAAA,SAMDC,qDANCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://data-source\"}", +"theModule":"function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__228(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://data-source\";\nvar D = R.undefined;\nvar L = [[M,8,2,116,8,11,125],\n[M,9,2,128,9,22,148],\n[M,9,15,141,9,21,147],\n[M,10,2,151,10,22,171],\n[M,10,15,164,10,21,170],\n[M,11,2,174,11,24,196],\n[M,11,16,188,11,23,195],\n[M,12,2,199,12,24,221],\n[M,12,22,219,12,23,220],\n[M,7,0,93,13,3,225],\n[M,25,2,559,25,64,621],\n[M,25,24,581,25,30,587],\n[M,25,45,602,25,54,611],\n[M,24,0,523,26,3,625],\n[M,32,0,761,39,3,934],\n[M,33,2,800,38,5,930],\n[M,35,6,850,35,23,867],\n[M,34,4,822,37,7,924],\n[M,36,21,889,36,47,915],\n[M,34,10,828,34,21,839],\n[M,41,0,936,49,3,1147],\n[M,43,4,999,43,19,1014],\n[M,42,2,973,48,5,1143],\n[M,44,4,1019,44,19,1034],\n[M,45,4,1039,45,34,1069],\n[M,46,19,1089,46,28,1098],\n[M,46,4,1074,46,28,1098],\n[M,47,25,1124,47,38,1137],\n[M,47,4,1103,47,38,1137],\n[M,42,8,979,42,19,990],\n[M,51,0,1149,67,3,1741],\n[M,56,18,1338,57,47,1426],\n[M,56,24,1344,57,46,1425],\n[M,56,24,1344,57,29,1408],\n[M,56,24,1344,57,23,1402],\n[M,56,24,1344,56,58,1378],\n[M,56,8,1328,57,47,1426],\n[M,55,6,1285,59,9,1459],\n[M,58,8,1435,58,22,1449],\n[M,55,12,1291,55,18,1297],\n[M,54,4,1265,59,9,1459],\n[M,53,2,1239,66,5,1737],\n[M,60,4,1464,60,19,1479],\n[M,61,4,1484,61,38,1518],\n[M,62,25,1544,63,58,1637],\n[M,62,31,1550,63,57,1636],\n[M,62,31,1550,63,40,1619],\n[M,62,31,1550,63,34,1613],\n[M,62,31,1550,63,25,1604],\n[M,63,12,1591,63,25,1604],\n[M,62,4,1523,63,58,1637],\n[M,64,17,1655,65,33,1731],\n[M,64,23,1661,65,32,1730],\n[M,64,23,1661,65,15,1713],\n[M,64,4,1642,65,33,1731],\n[M,53,8,1245,53,19,1256],\n[M,52,8,1189,52,55,1236],\n[M,52,8,1189,52,34,1215],\n[M,52,8,1189,52,23,1204],\n[M,69,0,1743,92,3,2571],\n[M,72,4,1860,72,20,1876],\n[M,71,2,1834,91,5,2567],\n[M,77,21,1984,78,66,2086],\n[M,77,27,1990,78,65,2085],\n[M,77,27,1990,78,47,2067],\n[M,77,27,1990,78,41,2061],\n[M,77,27,1990,78,32,2052],\n[M,76,10,1945,76,16,1951],\n[M,75,10,1916,75,16,1922],\n[M,73,4,1881,79,9,2096],\n[M,84,21,2247,85,52,2336],\n[M,84,27,2253,85,51,2335],\n[M,84,27,2253,85,33,2317],\n[M,84,27,2253,85,27,2311],\n[M,84,27,2253,85,17,2301],\n[M,83,10,2185,83,38,2213],\n[M,82,10,2136,82,37,2163],\n[M,82,10,2136,82,27,2153],\n[M,80,4,2101,86,9,2346],\n[M,87,25,2372,88,59,2466],\n[M,87,31,2378,88,58,2465],\n[M,87,31,2378,88,40,2447],\n[M,87,31,2378,88,34,2441],\n[M,87,31,2378,88,25,2432],\n[M,88,12,2419,88,25,2432],\n[M,87,4,2351,88,59,2466],\n[M,89,17,2484,90,34,2561],\n[M,89,23,2490,90,33,2560],\n[M,89,23,2490,90,15,2542],\n[M,89,4,2471,90,34,2561],\n[M,71,8,1840,71,19,1851],\n[M,70,8,1784,70,55,1831],\n[M,70,8,1784,70,34,1810],\n[M,70,8,1784,70,23,1799],\n[M,94,0,2573,111,3,3260],\n[M,99,18,2769,100,51,2857],\n[M,99,24,2775,100,50,2856],\n[M,99,24,2775,100,33,2839],\n[M,99,24,2775,100,27,2833],\n[M,99,24,2775,100,17,2823],\n[M,99,8,2759,100,51,2857],\n[M,98,6,2716,102,9,2890],\n[M,101,8,2866,101,22,2880],\n[M,98,12,2722,98,18,2728],\n[M,97,4,2696,102,9,2890],\n[M,96,2,2670,110,5,3256],\n[M,103,4,2895,103,19,2910],\n[M,104,19,2930,105,70,3037],\n[M,104,25,2936,105,69,3036],\n[M,104,25,2936,105,36,3003],\n[M,104,25,2936,105,30,2997],\n[M,104,25,2936,105,21,2988],\n[M,105,12,2979,105,21,2988],\n[M,104,4,2915,105,70,3037],\n[M,106,25,3063,107,58,3156],\n[M,106,31,3069,107,57,3155],\n[M,106,31,3069,107,40,3138],\n[M,106,31,3069,107,34,3132],\n[M,106,31,3069,107,25,3123],\n[M,107,12,3110,107,25,3123],\n[M,106,4,3042,107,58,3156],\n[M,108,17,3174,109,33,3250],\n[M,108,23,3180,109,32,3249],\n[M,108,23,3180,109,15,3232],\n[M,108,4,3161,109,33,3250],\n[M,96,8,2676,96,19,2687],\n[M,95,8,2620,95,55,2667],\n[M,95,8,2620,95,34,2646],\n[M,95,8,2620,95,23,2635],\n[M,113,0,3262,127,3,3746],\n[M,116,4,3377,116,19,3392],\n[M,115,2,3351,126,5,3742],\n[M,124,6,3660,125,33,3736],\n[M,124,12,3666,125,32,3735],\n[M,124,12,3666,125,15,3718],\n[M,124,12,3666,124,48,3702],\n[M,124,12,3666,124,39,3693],\n[M,119,22,3466,119,54,3498],\n[M,119,8,3452,119,54,3498],\n[M,118,15,3422,123,9,3653],\n[M,120,23,3522,120,49,3548],\n[M,120,40,3539,120,49,3548],\n[M,120,8,3507,120,49,3548],\n[M,121,28,3577,121,56,3605],\n[M,121,43,3592,121,56,3605],\n[M,121,8,3557,121,56,3605],\n[M,122,8,3614,122,37,3643],\n[M,118,21,3428,118,32,3439],\n[M,115,8,3357,115,19,3368],\n[M,114,8,3301,114,55,3348],\n[M,114,8,3301,114,34,3327],\n[M,114,8,3301,114,23,3316],\n[M,129,0,3748,143,3,4224],\n[M,132,4,3863,132,19,3878],\n[M,131,2,3837,142,5,4220],\n[M,140,6,4138,141,33,4214],\n[M,140,12,4144,141,32,4213],\n[M,140,12,4144,141,15,4196],\n[M,140,12,4144,140,48,4180],\n[M,140,12,4144,140,39,4171],\n[M,135,22,3952,135,47,3977],\n[M,135,38,3968,135,47,3977],\n[M,135,8,3938,135,47,3977],\n[M,134,15,3908,139,9,4131],\n[M,136,23,4001,136,49,4027],\n[M,136,40,4018,136,49,4027],\n[M,136,8,3986,136,49,4027],\n[M,137,28,4056,137,56,4084],\n[M,137,43,4071,137,56,4084],\n[M,137,8,4036,137,56,4084],\n[M,138,8,4093,138,36,4121],\n[M,134,21,3914,134,32,3925],\n[M,131,8,3843,131,19,3854],\n[M,130,8,3787,130,55,3834],\n[M,130,8,3787,130,34,3813],\n[M,130,8,3787,130,23,3802],\n[M,145,0,4226,159,3,4710],\n[M,148,4,4342,148,20,4358],\n[M,147,2,4316,158,5,4706],\n[M,156,6,4623,157,34,4700],\n[M,156,12,4629,157,33,4699],\n[M,156,12,4629,157,15,4681],\n[M,156,12,4629,156,48,4665],\n[M,156,12,4629,156,39,4656],\n[M,151,22,4432,151,54,4464],\n[M,151,8,4418,151,54,4464],\n[M,150,15,4388,155,9,4616],\n[M,152,22,4487,152,47,4512],\n[M,152,38,4503,152,47,4512],\n[M,152,8,4473,152,47,4512],\n[M,153,28,4541,153,56,4569],\n[M,153,43,4556,153,56,4569],\n[M,153,8,4521,153,56,4569],\n[M,154,8,4578,154,36,4606],\n[M,150,21,4394,150,32,4405],\n[M,147,8,4322,147,19,4333],\n[M,146,8,4266,146,55,4313],\n[M,146,8,4266,146,34,4292],\n[M,146,8,4266,146,23,4281],\n[M,161,0,4712,175,3,5199],\n[M,164,4,4825,164,21,4842],\n[M,163,2,4799,174,5,5195],\n[M,172,6,5104,173,38,5189],\n[M,172,12,5110,173,37,5188],\n[M,172,12,5110,173,15,5166],\n[M,172,12,5110,172,52,5150],\n[M,172,12,5110,172,43,5141],\n[M,167,22,4916,167,50,4944],\n[M,167,8,4902,167,50,4944],\n[M,166,15,4872,171,9,5097],\n[M,168,22,4967,168,43,4988],\n[M,168,34,4979,168,43,4988],\n[M,168,8,4953,168,43,4988],\n[M,169,23,5012,169,45,5034],\n[M,169,36,5025,169,45,5034],\n[M,169,8,4997,169,45,5034],\n[M,170,28,5063,170,52,5087],\n[M,170,39,5074,170,52,5087],\n[M,170,8,5043,170,52,5087],\n[M,166,21,4878,166,32,4889],\n[M,163,8,4805,163,19,4816],\n[M,162,8,4749,162,55,4796],\n[M,162,8,4749,162,34,4775],\n[M,162,8,4749,162,23,4764],\n[\"dummy location\"],\n[M,29,2,664,29,95,757],\n[M,20,2,441,20,40,479],\n[M,21,2,483,21,38,519],\n[M,2,0,32,175,3,5199]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar string$tolower1 = R.getModuleField(\"builtin://global\",\"values\",\"string-tolower\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar torepr3 = R.getModuleField(\"builtin://global\",\"values\",\"torepr\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar string$to$number2 = R.getModuleField(\"builtin://global\",\"values\",\"string-to-number\");\nvar $underscore_import13 = $$underscore_import5;\nvar $included$115 = $$included$127;\nvar $cases_dispatch1358 = {\"c-empty\":5};\nvar $cases_dispatch1355 = {\"c-num\":8,\n\"c-str\":9,\n\"c-bool\":11,\n\"c-datum\":13};\nvar $cases_dispatch1315 = {\"c-bool\":5};\nvar $cases_dispatch1313 = {\"c-num\":8,\n\"c-str\":9,\n\"c-datum\":11,\n\"c-empty\":13};\nvar $cases_dispatch1224 = {\"c-num\":5};\nvar $cases_dispatch1221 = {\"c-str\":8,\n\"c-bool\":10,\n\"c-datum\":12,\n\"c-empty\":14};\nvar $cases_dispatch1161 = {\"c-str\":5};\nvar $cases_dispatch1159 = {\"c-num\":8,\n\"c-bool\":9,\n\"c-datum\":11,\n\"c-empty\":13};\nvar $cases_dispatch930 = {\"c-str\":5,\n\"c-num\":6,\n\"c-bool\":7,\n\"c-custom\":8,\n\"c-empty\":9};\nvar $cases_dispatch487 = {\"none\":2,\n\"some\":7};\nvar $cases_dispatch476 = {\"none\":14,\n\"some\":15};\nvar $cases_dispatch399 = {\"c-bool\":5,\n\"c-num\":6,\n\"c-str\":7,\n\"c-custom\":8,\n\"c-empty\":9};\nvar $cases_dispatch331 = {\"c-str\":5,\n\"c-num\":6,\n\"c-bool\":7,\n\"c-custom\":10,\n\"c-empty\":11};\nvar $cases_dispatch279 = {\"none\":2,\n\"some\":7};\nvar $cases_dispatch266 = {\"none\":16,\n\"some\":17};\nvar $cases_dispatch230 = {\"c-empty\":2,\n\"c-str\":3,\n\"c-num\":4,\n\"c-bool\":5,\n\"c-custom\":6};\nvar $cases_dispatch194 = {\"c-empty\":2};\nvar some3 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar Option5 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar none6 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar $toplevel9 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__228($$resumer13) {\nvar $step8 = 0;\nvar $elidedFrames66 = 0;\nvar $ans63 = D;\nvar $al64 = L[228];\nif(R.isAR($$resumer13)) {\n$step8 = $$resumer13.step;\n$al64 = $$resumer13.from;\n$ans63 = $$resumer13.ans;\n$elidedFrames66 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$c$bool121 = $$resumer13.vars[0];\nstrings$only1165 = $$resumer13.vars[1];\nis$CellContent107 = $$resumer13.vars[2];\nDataSourceLoaderOption1364 = $$resumer13.vars[3];\nSanitizer134 = $$resumer13.vars[4];\nsanitize$col168 = $$resumer13.vars[5];\nc$empty111 = $$resumer13.vars[6];\nc$num119 = $$resumer13.vars[7];\nis$c$custom125 = $$resumer13.vars[8];\nnum$sanitizer336 = $$resumer13.vars[9];\nempty$only1362 = $$resumer13.vars[10];\nc$bool123 = $$resumer13.vars[11];\nLoadedTable1365 = $$resumer13.vars[12];\nCellContent195 = $$resumer13.vars[13];\nc$str115 = $$resumer13.vars[14];\nis$c$num117 = $$resumer13.vars[15];\nnumbers$only1228 = $$resumer13.vars[16];\nbool$sanitizer403 = $$resumer13.vars[17];\nanswer1367 = $$resumer13.vars[18];\nc$custom127 = $$resumer13.vars[19];\nis$c$str113 = $$resumer13.vars[20];\nstrict$num$sanitizer933 = $$resumer13.vars[21];\nstring$sanitizer235 = $$resumer13.vars[22];\nbooleans$only1319 = $$resumer13.vars[23];\nis$sanitize$col166 = $$resumer13.vars[24];\nDataSourceLoader1366 = $$resumer13.vars[25];\nis$c$empty109 = $$resumer13.vars[26];\noption$sanitizer202 = $$resumer13.vars[27];\nis$DataSourceLoaderOption162 = $$resumer13.vars[28];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans63 = R.mC();\n}\nwhile(!R.isContinuation($ans63)) {\nswitch($step8) {\ncase 0: var CellContent67 = R.nB(\"CellContent\",L[9]);\nvar CellContent195 = R.mBA(CellContent67,\"CellContent\");\nvar DataSourceLoaderOption68 = R.nB(\"DataSourceLoaderOption\",L[13]);\nvar DataSourceLoaderOption1364 = R.mBA(DataSourceLoaderOption68,\"DataSourceLoaderOption\");\nvar CellContent105 = {\"$var\":D};\nvar is$CellContent107 = {\"$var\":D};\nvar is$c$empty109 = {\"$var\":D};\nvar c$empty111 = {\"$var\":D};\nvar is$c$str113 = {\"$var\":D};\nvar c$str115 = {\"$var\":D};\nvar is$c$num117 = {\"$var\":D};\nvar c$num119 = {\"$var\":D};\nvar is$c$bool121 = {\"$var\":D};\nvar c$bool123 = {\"$var\":D};\nvar is$c$custom125 = {\"$var\":D};\nvar c$custom127 = {\"$var\":D};\nvar $c$empty_getfields73 = function variant(f) {\nreturn f();\n};\nvar $c$empty_mutablemask72 = [];\nvar $c$empty$base69 = {\"_match\":R.mM(\"c-empty\",0)};\nvar $c$empty$brander70 = R.nB(\"c-empty\",L[0]);\nvar $c$empty$brands71 = {};\n$c$empty$brands71[CellContent67._brand] = true;\n$c$empty$brands71[$c$empty$brander70._brand] = true;\nvar $c$str_getfields78 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $c$str_mutablemask77 = [false];\nvar $c$str$base74 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"c-str\",1)};\nvar $c$str$brander75 = R.nB(\"c-str\",L[1]);\nvar $c$str$brands76 = {};\n$c$str$brands76[CellContent67._brand] = true;\n$c$str$brands76[$c$str$brander75._brand] = true;\nvar c$str79 = R.mVC(L[1],function $synthesizedConstructor_$c$str$base() {\nreturn [$type$String8];\n},[\"s80\"],[L[2]],[false],[\"s80\"],$c$str_mutablemask77,$c$str$base74,$c$str$brands76,\"c-str\",$c$str_getfields78,$c$str$base74);\nvar $c$num_getfields85 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"]);\n};\nvar $c$num_mutablemask84 = [false];\nvar $c$num$base81 = {\"$fieldNames\":[\"n\"],\n\"_match\":R.mM(\"c-num\",1)};\nvar $c$num$brander82 = R.nB(\"c-num\",L[3]);\nvar $c$num$brands83 = {};\n$c$num$brands83[CellContent67._brand] = true;\n$c$num$brands83[$c$num$brander82._brand] = true;\nvar c$num86 = R.mVC(L[3],function $synthesizedConstructor_$c$num$base() {\nreturn [$type$Number3];\n},[\"n87\"],[L[4]],[false],[\"n87\"],$c$num_mutablemask84,$c$num$base81,$c$num$brands83,\"c-num\",$c$num_getfields85,$c$num$base81);\nvar $c$bool_getfields92 = function singleton_variant(f) {\nreturn f(this.dict[\"b\"]);\n};\nvar $c$bool_mutablemask91 = [false];\nvar $c$bool$base88 = {\"$fieldNames\":[\"b\"],\n\"_match\":R.mM(\"c-bool\",1)};\nvar $c$bool$brander89 = R.nB(\"c-bool\",L[5]);\nvar $c$bool$brands90 = {};\n$c$bool$brands90[CellContent67._brand] = true;\n$c$bool$brands90[$c$bool$brander89._brand] = true;\nvar c$bool93 = R.mVC(L[5],function $synthesizedConstructor_$c$bool$base() {\nreturn [$type$Boolean6];\n},[\"b94\"],[L[6]],[false],[\"b94\"],$c$bool_mutablemask91,$c$bool$base88,$c$bool$brands90,\"c-bool\",$c$bool_getfields92,$c$bool$base88);\nvar $c$custom_getfields99 = function singleton_variant(f) {\nreturn f(this.dict[\"datum\"]);\n};\nvar $c$custom_mutablemask98 = [false];\nvar $c$custom$base95 = {\"$fieldNames\":[\"datum\"],\n\"_match\":R.mM(\"c-custom\",1)};\nvar $c$custom$brander96 = R.nB(\"c-custom\",L[7]);\nvar $c$custom$brands97 = {};\n$c$custom$brands97[CellContent67._brand] = true;\n$c$custom$brands97[$c$custom$brander96._brand] = true;\nvar c$custom100 = R.mVC(L[7],function $synthesizedConstructor_$c$custom$base() {\nreturn [R.Any];\n},[\"datum101\"],[L[8]],[false],[\"datum101\"],$c$custom_mutablemask98,$c$custom$base95,$c$custom$brands97,\"c-custom\",$c$custom_getfields99,$c$custom$base95);\nvar anf_assign104 = R.mO({\"CellContent\":G(CellContent67,\"test\",L[9]),\n\"is-c-empty\":G($c$empty$brander70,\"test\",L[0]),\n\"c-empty\":R.mDV($c$empty$base69,$c$empty$brands71,\"c-empty\",$c$empty_getfields73,-1,$c$empty_mutablemask72,$c$empty$base69,false,L[0]),\n\"is-c-str\":G($c$str$brander75,\"test\",L[1]),\n\"c-str\":c$str79,\n\"is-c-num\":G($c$num$brander82,\"test\",L[3]),\n\"c-num\":c$num86,\n\"is-c-bool\":G($c$bool$brander89,\"test\",L[5]),\n\"c-bool\":c$bool93,\n\"is-c-custom\":G($c$custom$brander96,\"test\",L[7]),\n\"c-custom\":c$custom100});\nCellContent105.$var = anf_assign104;\nR.nothing;\n$al64 = L[9];\nvar anf_assign106 = G(CellContent105.$var,\"CellContent\",L[9]);\nis$CellContent107.$var = anf_assign106;\nR.nothing;\n$al64 = L[0];\nvar anf_assign108 = G(CellContent105.$var,\"is-c-empty\",L[0]);\nis$c$empty109.$var = anf_assign108;\nR.nothing;\n$al64 = L[0];\nvar anf_assign110 = G(CellContent105.$var,\"c-empty\",L[0]);\nc$empty111.$var = anf_assign110;\nR.nothing;\n$al64 = L[1];\nvar anf_assign112 = G(CellContent105.$var,\"is-c-str\",L[1]);\nis$c$str113.$var = anf_assign112;\nR.nothing;\n$al64 = L[1];\nvar anf_assign114 = G(CellContent105.$var,\"c-str\",L[1]);\nc$str115.$var = anf_assign114;\nR.nothing;\n$al64 = L[3];\nvar anf_assign116 = G(CellContent105.$var,\"is-c-num\",L[3]);\nis$c$num117.$var = anf_assign116;\nR.nothing;\n$al64 = L[3];\nvar anf_assign118 = G(CellContent105.$var,\"c-num\",L[3]);\nc$num119.$var = anf_assign118;\nR.nothing;\n$al64 = L[5];\nvar anf_assign120 = G(CellContent105.$var,\"is-c-bool\",L[5]);\nis$c$bool121.$var = anf_assign120;\nR.nothing;\n$al64 = L[5];\nvar anf_assign122 = G(CellContent105.$var,\"c-bool\",L[5]);\nc$bool123.$var = anf_assign122;\nR.nothing;\n$al64 = L[7];\nvar anf_assign124 = G(CellContent105.$var,\"is-c-custom\",L[7]);\nis$c$custom125.$var = anf_assign124;\nR.nothing;\n$al64 = L[7];\nvar anf_assign126 = G(CellContent105.$var,\"c-custom\",L[7]);\nc$custom127.$var = anf_assign126;\nR.nothing;\nvar Sanitizer134 = R.Function;\nvar LoadedTable1365 = R.mTA([L[226],L[227]],[$type$RawArray1,$type$RawArray1]);\nvar DataSourceLoaderOption160 = {\"$var\":D};\nvar is$DataSourceLoaderOption162 = {\"$var\":D};\nvar is$sanitize$col166 = {\"$var\":D};\nvar sanitize$col168 = {\"$var\":D};\nvar $sanitize$col_getfields132 = function singleton_variant(f) {\nreturn f(this.dict[\"col\"],this.dict[\"sanitizer\"]);\n};\nvar $sanitize$col_mutablemask131 = [false,false];\nvar $sanitize$col$base128 = {\"$fieldNames\":[\"col\",\"sanitizer\"],\n\"_match\":R.mM(\"sanitize-col\",2)};\nvar $sanitize$col$brander129 = R.nB(\"sanitize-col\",L[10]);\nvar $sanitize$col$brands130 = {};\n$sanitize$col$brands130[DataSourceLoaderOption68._brand] = true;\n$sanitize$col$brands130[$sanitize$col$brander129._brand] = true;\nvar sanitize$col133 = R.mVC(L[10],function $synthesizedConstructor_$sanitize$col$base() {\nreturn [$type$String8,Sanitizer134];\n},[\"col135\",\"sanitizer136\"],[L[11],L[12]],[false,false],[\"col135\",\"sanitizer136\"],$sanitize$col_mutablemask131,$sanitize$col$base128,$sanitize$col$brands130,\"sanitize-col\",$sanitize$col_getfields132,$sanitize$col$base128);\nvar anf_assign159 = R.mO({\"DataSourceLoaderOption\":G(DataSourceLoaderOption68,\"test\",L[13]),\n\"is-sanitize-col\":G($sanitize$col$brander129,\"test\",L[10]),\n\"sanitize-col\":sanitize$col133});\nDataSourceLoaderOption160.$var = anf_assign159;\nR.nothing;\n$al64 = L[13];\nvar anf_assign161 = G(DataSourceLoaderOption160.$var,\"DataSourceLoaderOption\",L[13]);\nis$DataSourceLoaderOption162.$var = anf_assign161;\nR.nothing;\n$al64 = L[10];\nvar anf_assign165 = G(DataSourceLoaderOption160.$var,\"is-sanitize-col\",L[10]);\nis$sanitize$col166.$var = anf_assign165;\nR.nothing;\n$al64 = L[10];\nvar anf_assign167 = G(DataSourceLoaderOption160.$var,\"sanitize-col\",L[10]);\nsanitize$col168.$var = anf_assign167;\nR.nothing;\nvar DataSourceLoader1366 = R.mRA([\"load\"],[L[225]],{\"load\":R.Function});\nvar option$sanitizer202 = {\"$var\":D};\nvar string$sanitizer235 = {\"$var\":D};\nvar num$sanitizer336 = {\"$var\":D};\nvar bool$sanitizer403 = {\"$var\":D};\nvar strict$num$sanitizer933 = {\"$var\":D};\nvar strings$only1165 = {\"$var\":D};\nvar numbers$only1228 = {\"$var\":D};\nvar booleans$only1319 = {\"$var\":D};\nvar empty$only1362 = {\"$var\":D};\nvar $temp_lam171 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__14($val$sanitizer172) {\nvar $step170 = 0;\nvar $elidedFrames177 = 0;\nvar $ans174 = D;\nvar $al175 = L[14];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[14],1,$t,false);\n}\nvar val$sanitizer172 = $val$sanitizer172;\n// callee optimization;\nwhile(!R.isContinuation($ans174)) {\nswitch($step170) {\ncase 0: $step170 = 1;\nvar $temp_lam184 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__15($x185,$col186,$row187) {\nvar $step183 = 0;\nvar $elidedFrames192 = 0;\nvar $ans189 = D;\nvar $al190 = L[15];\nif(R.isAR($x185)) {\n$step183 = $x185.step;\n$al190 = $x185.from;\n$ans189 = $x185.ans;\n$elidedFrames192 = $x185.elidedFrames;\nx185 = $x185.args[0];\ncol186 = $x185.args[1];\nrow187 = $x185.args[2];\ncases193 = $x185.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],3,$t,false);\n}\nvar x185 = $x185;\nvar col186 = $col186;\nvar row187 = $row187;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans189 = R.mC();\n}\nwhile(!R.isContinuation($ans189)) {\nswitch($step183) {\ncase 0: var cases193 = x185;\n$step183 = 1;\n$al190 = L[19];\nvar $ann$check196 = R._cA(L[19],CellContent195,cases193);\nif(R.isContinuation($ann$check196)) {\n$ans189 = $ann$check196;\n}\nbreak;\ncase 1: $al190 = L[17];\n$step183 = $cases_dispatch194[cases193.$name] || 3;\nbreak;\ncase 2: if(cases193.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[16],false,L[17],cases193.$loc);\n}\n$step183 = 5;\n$ans189 = none6;\nbreak;\ncase 3: $step183 = 4;\n$al190 = L[18];\nif(typeof(val$sanitizer172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al190,val$sanitizer172);\n}\n$ans189 = val$sanitizer172.app(x185,col186,row187);\nbreak;\ncase 4: var anf_arg251 = $ans189;\n// caller optimization;\n$ans189 = some3.app(anf_arg251);\n$step183 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans189;\ndefault: R.ffi.throwSpinnakerError(L[15],$step183);\n}\n}\nif($step183 !== 5) {\n$ans189.stack[R.EXN_STACKHEIGHT++] = R.mAR($al190,$temp_lam184,$step183,[x185,col186,row187],[cases193],$elidedFrames192);\n}\nreturn $ans189;\n};\n$ans174 = R.mF($temp_lam184,\"\");\nbreak;\ncase 1: return $ans174;\ndefault: R.ffi.throwSpinnakerError(L[14],$step170);\n}\n}\nreturn $ans174;\n};\nvar anf_assign201 = R.mF($temp_lam171,\"option-sanitizer\");\noption$sanitizer202.$var = anf_assign201;\nR.nothing;\nvar $temp_lam205 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__20($x206,$col207,$row208) {\nvar $step204 = 0;\nvar $elidedFrames214 = 0;\nvar $ans211 = D;\nvar $al212 = L[20];\nif(R.isAR($x206)) {\n$step204 = $x206.step;\n$al212 = $x206.from;\n$ans211 = $x206.ans;\n$elidedFrames214 = $x206.elidedFrames;\nx206 = $x206.args[0];\ncol207 = $x206.args[1];\nrow208 = $x206.args[2];\ncases216 = $x206.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[20],3,$t,false);\n}\nvar x206 = $x206;\nvar col207 = $col207;\nvar row208 = $row208;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans211 = R.mC();\n}\nwhile(!R.isContinuation($ans211)) {\nswitch($step204) {\ncase 0: var cases216 = x206;\n$step204 = 1;\n$al212 = L[29];\nvar $ann$check231 = R._cA(L[29],CellContent195,cases216);\nif(R.isContinuation($ann$check231)) {\n$ans211 = $ann$check231;\n}\nbreak;\ncase 1: $al212 = L[22];\n$step204 = $cases_dispatch230[cases216.$name] || 7;\nbreak;\ncase 2: if(cases216.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[21],false,L[22],cases216.$loc);\n}\n$step204 = 8;\n$ans211 = (\"\");\nbreak;\ncase 3: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[23],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[23],true,L[22],cases216.$loc);\n}\n}\nvar $fn221 = cases216.$constructor.$fieldNames;\nvar s217 = R.dF(cases216.dict[$fn221[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$ans211 = s217;\nbreak;\ncase 4: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[24],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[24],true,L[22],cases216.$loc);\n}\n}\nvar $fn224 = cases216.$constructor.$fieldNames;\nvar n222 = R.dF(cases216.dict[$fn224[0]],cases216.$mut_fields_mask[0],false);\n// caller optimization;\n$ans211 = num$to$string7.app(n222);\n$step204 = 8;\nbreak;\ncase 5: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[26],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[26],true,L[22],cases216.$loc);\n}\n}\nvar $fn226 = cases216.$constructor.$fieldNames;\nvar b229 = R.dF(cases216.dict[$fn226[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$al212 = L[25];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al212,torepr3);\n}\n$ans211 = torepr3.app(b229);\nbreak;\ncase 6: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[28],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[28],true,L[22],cases216.$loc);\n}\n}\nvar $fn229 = cases216.$constructor.$fieldNames;\nvar datum227 = R.dF(cases216.dict[$fn229[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$al212 = L[27];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al212,torepr3);\n}\n$ans211 = torepr3.app(datum227);\nbreak;\ncase 7: $ans211 = R.throwNoCasesMatched(L[22],cases216);\n$step204 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans211;\ndefault: R.ffi.throwSpinnakerError(L[20],$step204);\n}\n}\nif($step204 !== 8) {\n$ans211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al212,$temp_lam205,$step204,[x206,col207,row208],[cases216],$elidedFrames214);\n}\nreturn $ans211;\n};\nvar anf_assign234 = R.mF($temp_lam205,\"string-sanitizer\");\nstring$sanitizer235.$var = anf_assign234;\nR.nothing;\nvar $temp_lam237 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__30($x238,$col239,$row240) {\nvar $step236 = 0;\nvar $elidedFrames244 = 0;\nvar $ans241 = D;\nvar $al242 = L[30];\nif(R.isAR($x238)) {\n$step236 = $x238.step;\n$al242 = $x238.from;\n$ans241 = $x238.ans;\n$elidedFrames244 = $x238.elidedFrames;\nx238 = $x238.args[0];\ncol239 = $x238.args[1];\nrow240 = $x238.args[2];\ncases257 = $x238.vars[0];\nloc260 = $x238.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],3,$t,false);\n}\nvar x238 = $x238;\nvar col239 = $col239;\nvar row240 = $row240;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans241 = R.mC();\n}\nwhile(!R.isContinuation($ans241)) {\nswitch($step236) {\ncase 0: $step236 = 1;\n$al242 = L[58];\n// omitting isFunction check;\n$ans241 = _plus5.app((\"column \"),col239);\nbreak;\ncase 1: var anf_arg265 = $ans241;\n$step236 = 2;\n$al242 = L[57];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg265,(\", row \"));\nbreak;\ncase 2: var anf_arg255 = $ans241;\n// caller optimization;\n$ans241 = num$to$string7.app(row240);\nvar anf_arg256 = $ans241;\n$step236 = 3;\n$al242 = L[56];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg255,anf_arg256);\nbreak;\ncase 3: var loc260 = $ans241;\nvar cases257 = x238;\n$step236 = 4;\n$al242 = L[55];\nvar $ann$check332 = R._cA(L[55],CellContent195,cases257);\nif(R.isContinuation($ann$check332)) {\n$ans241 = $ann$check332;\n}\nbreak;\ncase 4: $al242 = L[41];\n$step236 = $cases_dispatch331[cases257.$name] || 14;\nbreak;\ncase 5: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[40],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[40],true,L[41],cases257.$loc);\n}\n}\n$step236 = 15;\n$al242 = L[40];\nvar $temp_branch268 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__41($s258) {\nvar $step270 = 0;\nvar $elidedFrames274 = 0;\nvar $ans271 = D;\nvar $al272 = L[37];\nif(R.isAR($s258)) {\n$step270 = $s258.step;\n$al272 = $s258.from;\n$ans271 = $s258.ans;\n$elidedFrames274 = $s258.elidedFrames;\ns258 = $s258.args[0];\ncases259 = $s258.vars[0];\n} else {\nvar s258 = $s258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans271 = R.mC();\n}\nwhile(!R.isContinuation($ans271)) {\nswitch($step270) {\ncase 0: // caller optimization;\n$ans271 = string$to$number2.app(s258);\nvar cases259 = $ans271;\n$step270 = 1;\n$al272 = L[39];\nvar $ann$check280 = R._cA(L[39],Option5,cases259);\nif(R.isContinuation($ann$check280)) {\n$ans271 = $ann$check280;\n}\nbreak;\ncase 1: $al272 = L[37];\n$step270 = $cases_dispatch279[cases259.$name] || 8;\nbreak;\ncase 2: if(cases259.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[36],false,L[37],cases259.$loc);\n}\n$step270 = 3;\n$al272 = L[35];\n// omitting isFunction check;\n$ans271 = _plus5.app((\"Cannot sanitize the string \\\"\"),s258);\nbreak;\ncase 3: var anf_arg267 = $ans271;\n$step270 = 4;\n$al272 = L[34];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg267,(\"\\\" at \"));\nbreak;\ncase 4: var anf_arg268 = $ans271;\n$step270 = 5;\n$al272 = L[33];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg268,loc260);\nbreak;\ncase 5: var anf_arg269 = $ans271;\n$step270 = 6;\n$al272 = L[32];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg269,(\" as a number\"));\nbreak;\ncase 6: var anf_arg270 = $ans271;\n$step270 = 9;\n$al272 = L[31];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al272,raise1);\n}\n$ans271 = raise1.app(anf_arg270);\nbreak;\ncase 7: if(cases259.$arity !== 1) {\nif(cases259.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[38],1,cases259.$arity,L[37],cases259.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[38],true,L[37],cases259.$loc);\n}\n}\nvar $fn278 = cases259.$constructor.$fieldNames;\nvar n261 = R.dF(cases259.dict[$fn278[0]],cases259.$mut_fields_mask[0],false);\n$step270 = 9;\n$ans271 = n261;\nbreak;\ncase 8: $ans271 = R.throwNoCasesMatched(L[37],cases259);\n$step270 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans271;\ndefault: R.ffi.throwSpinnakerError(L[37],$step270);\n}\n}\nif($step270 !== 9) {\n$ans271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al272,$temp_branch268,$step270,[s258],[cases259],$elidedFrames274);\n}\nreturn $ans271;\n};\n$ans241 = cases257.$app_fields($temp_branch268,[false]);\nbreak;\ncase 6: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[42],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[42],true,L[41],cases257.$loc);\n}\n}\nvar $fn284 = cases257.$constructor.$fieldNames;\nvar n282 = R.dF(cases257.dict[$fn284[0]],cases257.$mut_fields_mask[0],false);\n$step236 = 15;\n$ans241 = n282;\nbreak;\ncase 7: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[43],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[43],true,L[41],cases257.$loc);\n}\n}\nvar $fn287 = cases257.$constructor.$fieldNames;\nvar b285 = R.dF(cases257.dict[$fn287[0]],cases257.$mut_fields_mask[0],false);\n$step236 = R.checkPyretTrue(b285)?8:9;\nbreak;\ncase 8: $step236 = 15;\n$ans241 = (1);\nbreak;\ncase 9: $step236 = 15;\n$ans241 = (0);\nbreak;\ncase 10: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[50],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[50],true,L[41],cases257.$loc);\n}\n}\n$step236 = 15;\n$al242 = L[50];\nvar $temp_branch307 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__41($datum288) {\nvar $step309 = 0;\nvar $elidedFrames314 = 0;\nvar $ans311 = D;\nvar $al312 = L[49];\nif(R.isAR($datum288)) {\n$step309 = $datum288.step;\n$al312 = $datum288.from;\n$ans311 = $datum288.ans;\n$elidedFrames314 = $datum288.elidedFrames;\ndatum288 = $datum288.args[0];\n} else {\nvar datum288 = $datum288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans311 = R.mC();\n}\nwhile(!R.isContinuation($ans311)) {\nswitch($step309) {\ncase 0: $step309 = 1;\n$al312 = L[49];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al312,torepr3);\n}\n$ans311 = torepr3.app(datum288);\nbreak;\ncase 1: var anf_arg271 = $ans311;\n$step309 = 2;\n$al312 = L[48];\n// omitting isFunction check;\n$ans311 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg271);\nbreak;\ncase 2: var anf_arg272 = $ans311;\n$step309 = 3;\n$al312 = L[47];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg272,(\" at \"));\nbreak;\ncase 3: var anf_arg273 = $ans311;\n$step309 = 4;\n$al312 = L[46];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg273,loc260);\nbreak;\ncase 4: var anf_arg306 = $ans311;\n$step309 = 5;\n$al312 = L[45];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg306,(\" as a number\"));\nbreak;\ncase 5: var anf_arg284 = $ans311;\n$step309 = 6;\n$al312 = L[44];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al312,raise1);\n}\n$ans311 = raise1.app(anf_arg284);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans311;\ndefault: R.ffi.throwSpinnakerError(L[49],$step309);\n}\n}\nif($step309 !== 6) {\n$ans311.stack[R.EXN_STACKHEIGHT++] = R.mAR($al312,$temp_branch307,$step309,[datum288],[],$elidedFrames314);\n}\nreturn $ans311;\n};\n$ans241 = cases257.$app_fields($temp_branch307,[false]);\nbreak;\ncase 11: if(cases257.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[54],false,L[41],cases257.$loc);\n}\n$step236 = 12;\n$al242 = L[53];\n// omitting isFunction check;\n$ans241 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc260);\nbreak;\ncase 12: var anf_arg285 = $ans241;\n$step236 = 13;\n$al242 = L[52];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg285,(\" as a number\"));\nbreak;\ncase 13: var anf_arg330 = $ans241;\n$step236 = 15;\n$al242 = L[51];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al242,raise1);\n}\n$ans241 = raise1.app(anf_arg330);\nbreak;\ncase 14: $ans241 = R.throwNoCasesMatched(L[41],cases257);\n$step236 = 15;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans241;\ndefault: R.ffi.throwSpinnakerError(L[30],$step236);\n}\n}\nif($step236 !== 15) {\n$ans241.stack[R.EXN_STACKHEIGHT++] = R.mAR($al242,$temp_lam237,$step236,[x238,col239,row240],[cases257,loc260],$elidedFrames244);\n}\nreturn $ans241;\n};\nvar anf_assign335 = R.mF($temp_lam237,\"num-sanitizer\");\nnum$sanitizer336.$var = anf_assign335;\nR.nothing;\nvar $temp_lam338 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__59($x339,$col340,$row341) {\nvar $step337 = 0;\nvar $elidedFrames345 = 0;\nvar $ans342 = D;\nvar $al343 = L[59];\nif(R.isAR($x339)) {\n$step337 = $x339.step;\n$al343 = $x339.from;\n$ans342 = $x339.ans;\n$elidedFrames345 = $x339.elidedFrames;\nx339 = $x339.args[0];\ncol340 = $x339.args[1];\nrow341 = $x339.args[2];\ncases346 = $x339.vars[0];\nloc351 = $x339.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],3,$t,false);\n}\nvar x339 = $x339;\nvar col340 = $col340;\nvar row341 = $row341;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans342 = R.mC();\n}\nwhile(!R.isContinuation($ans342)) {\nswitch($step337) {\ncase 0: $step337 = 1;\n$al343 = L[93];\n// omitting isFunction check;\n$ans342 = _plus5.app((\"column \"),col340);\nbreak;\ncase 1: var anf_arg287 = $ans342;\n$step337 = 2;\n$al343 = L[92];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg287,(\", row \"));\nbreak;\ncase 2: var anf_arg290 = $ans342;\n// caller optimization;\n$ans342 = num$to$string7.app(row341);\nvar anf_arg291 = $ans342;\n$step337 = 3;\n$al343 = L[91];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg290,anf_arg291);\nbreak;\ncase 3: var loc351 = $ans342;\nvar cases346 = x339;\n$step337 = 4;\n$al343 = L[90];\nvar $ann$check400 = R._cA(L[90],CellContent195,cases346);\nif(R.isContinuation($ann$check400)) {\n$ans342 = $ann$check400;\n}\nbreak;\ncase 4: $al343 = L[61];\n$step337 = $cases_dispatch399[cases346.$name] || 12;\nbreak;\ncase 5: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[60],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[60],true,L[61],cases346.$loc);\n}\n}\nvar $fn348 = cases346.$constructor.$fieldNames;\nvar b305 = R.dF(cases346.dict[$fn348[0]],cases346.$mut_fields_mask[0],false);\n$step337 = 13;\n$ans342 = b305;\nbreak;\ncase 6: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[69],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[69],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[69];\nvar $temp_branch355 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($n349) {\nvar $step356 = 0;\nvar $elidedFrames360 = 0;\nvar $ans357 = D;\nvar $al358 = L[68];\nif(R.isAR($n349)) {\n$step356 = $n349.step;\n$al358 = $n349.from;\n$ans357 = $n349.ans;\n$elidedFrames360 = $n349.elidedFrames;\nn349 = $n349.args[0];\n} else {\nvar n349 = $n349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans357 = R.mC();\n}\nwhile(!R.isContinuation($ans357)) {\nswitch($step356) {\ncase 0: $step356 = 1;\n$al358 = L[68];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,equal$always1);\n}\n$ans357 = equal$always1.app(n349,(0));\nbreak;\ncase 1: var anf_if354 = $ans357;\n$step356 = R.checkPyretTrue(anf_if354)?2:3;\nbreak;\ncase 2: $step356 = 11;\n$ans357 = (false);\nbreak;\ncase 3: $step356 = 4;\n$al358 = L[67];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,equal$always1);\n}\n$ans357 = equal$always1.app(n349,(1));\nbreak;\ncase 4: var anf_if353 = $ans357;\n$step356 = R.checkPyretTrue(anf_if353)?5:6;\nbreak;\ncase 5: $step356 = 11;\n$ans357 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans357 = num$to$string7.app(n349);\nvar anf_arg294 = $ans357;\n$step356 = 7;\n$al358 = L[66];\n// omitting isFunction check;\n$ans357 = _plus5.app((\"Cannot sanitize the number \"),anf_arg294);\nbreak;\ncase 7: var anf_arg295 = $ans357;\n$step356 = 8;\n$al358 = L[65];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg295,(\" at \"));\nbreak;\ncase 8: var anf_arg350 = $ans357;\n$step356 = 9;\n$al358 = L[64];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg350,loc351);\nbreak;\ncase 9: var anf_arg352 = $ans357;\n$step356 = 10;\n$al358 = L[63];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg352,(\" as a boolean\"));\nbreak;\ncase 10: var anf_arg253 = $ans357;\n$step356 = 11;\n$al358 = L[62];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,raise1);\n}\n$ans357 = raise1.app(anf_arg253);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans357;\ndefault: R.ffi.throwSpinnakerError(L[68],$step356);\n}\n}\nif($step356 !== 11) {\n$ans357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al358,$temp_branch355,$step356,[n349],[],$elidedFrames360);\n}\nreturn $ans357;\n};\n$ans342 = cases346.$app_fields($temp_branch355,[false]);\nbreak;\ncase 7: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[78],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[78],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[78];\nvar $temp_branch367 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($s363) {\nvar $step368 = 0;\nvar $elidedFrames374 = 0;\nvar $ans371 = D;\nvar $al372 = L[77];\nif(R.isAR($s363)) {\n$step368 = $s363.step;\n$al372 = $s363.from;\n$ans371 = $s363.ans;\n$elidedFrames374 = $s363.elidedFrames;\ns363 = $s363.args[0];\n} else {\nvar s363 = $s363;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans371 = R.mC();\n}\nwhile(!R.isContinuation($ans371)) {\nswitch($step368) {\ncase 0: // caller optimization;\n$ans371 = string$tolower1.app(s363);\nvar anf_arg307 = $ans371;\n$step368 = 1;\n$al372 = L[76];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,equal$always1);\n}\n$ans371 = equal$always1.app(anf_arg307,(\"true\"));\nbreak;\ncase 1: var anf_if366 = $ans371;\n$step368 = R.checkPyretTrue(anf_if366)?2:3;\nbreak;\ncase 2: $step368 = 11;\n$ans371 = (true);\nbreak;\ncase 3: // caller optimization;\n$ans371 = string$tolower1.app(s363);\nvar anf_arg275 = $ans371;\n$step368 = 4;\n$al372 = L[75];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,equal$always1);\n}\n$ans371 = equal$always1.app(anf_arg275,(\"false\"));\nbreak;\ncase 4: var anf_if365 = $ans371;\n$step368 = R.checkPyretTrue(anf_if365)?5:6;\nbreak;\ncase 5: $step368 = 11;\n$ans371 = (false);\nbreak;\ncase 6: $step368 = 7;\n$al372 = L[74];\n// omitting isFunction check;\n$ans371 = _plus5.app((\"Cannot sanitize the string \\\"\"),s363);\nbreak;\ncase 7: var anf_arg310 = $ans371;\n$step368 = 8;\n$al372 = L[73];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg310,(\"\\\" at \"));\nbreak;\ncase 8: var anf_arg297 = $ans371;\n$step368 = 9;\n$al372 = L[72];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg297,loc351);\nbreak;\ncase 9: var anf_arg313 = $ans371;\n$step368 = 10;\n$al372 = L[71];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg313,(\" as a boolean\"));\nbreak;\ncase 10: var anf_arg314 = $ans371;\n$step368 = 11;\n$al372 = L[70];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,raise1);\n}\n$ans371 = raise1.app(anf_arg314);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans371;\ndefault: R.ffi.throwSpinnakerError(L[77],$step368);\n}\n}\nif($step368 !== 11) {\n$ans371.stack[R.EXN_STACKHEIGHT++] = R.mAR($al372,$temp_branch367,$step368,[s363],[],$elidedFrames374);\n}\nreturn $ans371;\n};\n$ans342 = cases346.$app_fields($temp_branch367,[false]);\nbreak;\ncase 8: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[85],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[85],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[85];\nvar $temp_branch386 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($datum378) {\nvar $step389 = 0;\nvar $elidedFrames393 = 0;\nvar $ans390 = D;\nvar $al391 = L[84];\nif(R.isAR($datum378)) {\n$step389 = $datum378.step;\n$al391 = $datum378.from;\n$ans390 = $datum378.ans;\n$elidedFrames393 = $datum378.elidedFrames;\ndatum378 = $datum378.args[0];\n} else {\nvar datum378 = $datum378;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans390 = R.mC();\n}\nwhile(!R.isContinuation($ans390)) {\nswitch($step389) {\ncase 0: $step389 = 1;\n$al391 = L[84];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al391,torepr3);\n}\n$ans390 = torepr3.app(datum378);\nbreak;\ncase 1: var anf_arg318 = $ans390;\n$step389 = 2;\n$al391 = L[83];\n// omitting isFunction check;\n$ans390 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg318);\nbreak;\ncase 2: var anf_arg315 = $ans390;\n$step389 = 3;\n$al391 = L[82];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg315,(\" at \"));\nbreak;\ncase 3: var anf_arg316 = $ans390;\n$step389 = 4;\n$al391 = L[81];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg316,loc351);\nbreak;\ncase 4: var anf_arg317 = $ans390;\n$step389 = 5;\n$al391 = L[80];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg317,(\" as a boolean\"));\nbreak;\ncase 5: var anf_arg385 = $ans390;\n$step389 = 6;\n$al391 = L[79];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al391,raise1);\n}\n$ans390 = raise1.app(anf_arg385);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans390;\ndefault: R.ffi.throwSpinnakerError(L[84],$step389);\n}\n}\nif($step389 !== 6) {\n$ans390.stack[R.EXN_STACKHEIGHT++] = R.mAR($al391,$temp_branch386,$step389,[datum378],[],$elidedFrames393);\n}\nreturn $ans390;\n};\n$ans342 = cases346.$app_fields($temp_branch386,[false]);\nbreak;\ncase 9: if(cases346.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[89],false,L[61],cases346.$loc);\n}\n$step337 = 10;\n$al343 = L[88];\n// omitting isFunction check;\n$ans342 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc351);\nbreak;\ncase 10: var anf_arg396 = $ans342;\n$step337 = 11;\n$al343 = L[87];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg396,(\" as a boolean\"));\nbreak;\ncase 11: var anf_arg398 = $ans342;\n$step337 = 13;\n$al343 = L[86];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al343,raise1);\n}\n$ans342 = raise1.app(anf_arg398);\nbreak;\ncase 12: $ans342 = R.throwNoCasesMatched(L[61],cases346);\n$step337 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans342;\ndefault: R.ffi.throwSpinnakerError(L[59],$step337);\n}\n}\nif($step337 !== 13) {\n$ans342.stack[R.EXN_STACKHEIGHT++] = R.mAR($al343,$temp_lam338,$step337,[x339,col340,row341],[cases346,loc351],$elidedFrames345);\n}\nreturn $ans342;\n};\nvar anf_assign134 = R.mF($temp_lam338,\"bool-sanitizer\");\nbool$sanitizer403.$var = anf_assign134;\nR.nothing;\nvar $temp_lam405 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__94($x406,$col407,$row408) {\nvar $step404 = 0;\nvar $elidedFrames412 = 0;\nvar $ans409 = D;\nvar $al410 = L[94];\nif(R.isAR($x406)) {\n$step404 = $x406.step;\n$al410 = $x406.from;\n$ans409 = $x406.ans;\n$elidedFrames412 = $x406.elidedFrames;\nx406 = $x406.args[0];\ncol407 = $x406.args[1];\nrow408 = $x406.args[2];\nloc456 = $x406.vars[0];\ncases419 = $x406.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[94],3,$t,false);\n}\nvar x406 = $x406;\nvar col407 = $col407;\nvar row408 = $row408;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans409 = R.mC();\n}\nwhile(!R.isContinuation($ans409)) {\nswitch($step404) {\ncase 0: $step404 = 1;\n$al410 = L[128];\n// omitting isFunction check;\n$ans409 = _plus5.app((\"column \"),col407);\nbreak;\ncase 1: var anf_arg414 = $ans409;\n$step404 = 2;\n$al410 = L[127];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg414,(\", row \"));\nbreak;\ncase 2: var anf_arg417 = $ans409;\n// caller optimization;\n$ans409 = num$to$string7.app(row408);\nvar anf_arg418 = $ans409;\n$step404 = 3;\n$al410 = L[126];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg417,anf_arg418);\nbreak;\ncase 3: var loc456 = $ans409;\nvar cases419 = x406;\n$step404 = 4;\n$al410 = L[125];\nvar $ann$check931 = R._cA(L[125],CellContent195,cases419);\nif(R.isContinuation($ann$check931)) {\n$ans409 = $ann$check931;\n}\nbreak;\ncase 4: $al410 = L[105];\n$step404 = $cases_dispatch930[cases419.$name] || 12;\nbreak;\ncase 5: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[104],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[104],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[104];\nvar $temp_branch478 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($s420) {\nvar $step480 = 0;\nvar $elidedFrames484 = 0;\nvar $ans481 = D;\nvar $al482 = L[101];\nif(R.isAR($s420)) {\n$step480 = $s420.step;\n$al482 = $s420.from;\n$ans481 = $s420.ans;\n$elidedFrames484 = $s420.elidedFrames;\ns420 = $s420.args[0];\ncases421 = $s420.vars[0];\n} else {\nvar s420 = $s420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans481 = R.mC();\n}\nwhile(!R.isContinuation($ans481)) {\nswitch($step480) {\ncase 0: // caller optimization;\n$ans481 = string$to$number2.app(s420);\nvar cases421 = $ans481;\n$step480 = 1;\n$al482 = L[103];\nvar $ann$check488 = R._cA(L[103],Option5,cases421);\nif(R.isContinuation($ann$check488)) {\n$ans481 = $ann$check488;\n}\nbreak;\ncase 1: $al482 = L[101];\n$step480 = $cases_dispatch487[cases421.$name] || 8;\nbreak;\ncase 2: if(cases421.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[100],false,L[101],cases421.$loc);\n}\n$step480 = 3;\n$al482 = L[99];\n// omitting isFunction check;\n$ans481 = _plus5.app((\"Cannot sanitize the string \\\"\"),s420);\nbreak;\ncase 3: var anf_arg422 = $ans481;\n$step480 = 4;\n$al482 = L[98];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg422,(\"\\\" at \"));\nbreak;\ncase 4: var anf_arg455 = $ans481;\n$step480 = 5;\n$al482 = L[97];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg455,loc456);\nbreak;\ncase 5: var anf_arg459 = $ans481;\n$step480 = 6;\n$al482 = L[96];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg459,(\" as a number\"));\nbreak;\ncase 6: var anf_arg472 = $ans481;\n$step480 = 9;\n$al482 = L[95];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al482,raise1);\n}\n$ans481 = raise1.app(anf_arg472);\nbreak;\ncase 7: if(cases421.$arity !== 1) {\nif(cases421.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[102],1,cases421.$arity,L[101],cases421.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[102],true,L[101],cases421.$loc);\n}\n}\nvar $fn486 = cases421.$constructor.$fieldNames;\nvar n473 = R.dF(cases421.dict[$fn486[0]],cases421.$mut_fields_mask[0],false);\n$step480 = 9;\n$ans481 = n473;\nbreak;\ncase 8: $ans481 = R.throwNoCasesMatched(L[101],cases421);\n$step480 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans481;\ndefault: R.ffi.throwSpinnakerError(L[101],$step480);\n}\n}\nif($step480 !== 9) {\n$ans481.stack[R.EXN_STACKHEIGHT++] = R.mAR($al482,$temp_branch478,$step480,[s420],[cases421],$elidedFrames484);\n}\nreturn $ans481;\n};\n$ans409 = cases419.$app_fields($temp_branch478,[false]);\nbreak;\ncase 6: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[106],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[106],true,L[105],cases419.$loc);\n}\n}\nvar $fn491 = cases419.$constructor.$fieldNames;\nvar n71 = R.dF(cases419.dict[$fn491[0]],cases419.$mut_fields_mask[0],false);\n$step404 = 13;\n$ans409 = n71;\nbreak;\ncase 7: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[113],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[113],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[113];\nvar $temp_branch777 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($b492) {\nvar $step779 = 0;\nvar $elidedFrames783 = 0;\nvar $ans780 = D;\nvar $al781 = L[112];\nif(R.isAR($b492)) {\n$step779 = $b492.step;\n$al781 = $b492.from;\n$ans780 = $b492.ans;\n$elidedFrames783 = $b492.elidedFrames;\nb492 = $b492.args[0];\n} else {\nvar b492 = $b492;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans780 = R.mC();\n}\nwhile(!R.isContinuation($ans780)) {\nswitch($step779) {\ncase 0: $step779 = 1;\n$al781 = L[112];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al781,torepr3);\n}\n$ans780 = torepr3.app(b492);\nbreak;\ncase 1: var anf_arg738 = $ans780;\n$step779 = 2;\n$al781 = L[111];\n// omitting isFunction check;\n$ans780 = _plus5.app((\"Cannot sanitize the boolean \"),anf_arg738);\nbreak;\ncase 2: var anf_arg740 = $ans780;\n$step779 = 3;\n$al781 = L[110];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg740,(\" at \"));\nbreak;\ncase 3: var anf_arg741 = $ans780;\n$step779 = 4;\n$al781 = L[109];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg741,loc456);\nbreak;\ncase 4: var anf_arg750 = $ans780;\n$step779 = 5;\n$al781 = L[108];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg750,(\" as a number in strict mode.\"));\nbreak;\ncase 5: var anf_arg776 = $ans780;\n$step779 = 6;\n$al781 = L[107];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al781,raise1);\n}\n$ans780 = raise1.app(anf_arg776);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans780;\ndefault: R.ffi.throwSpinnakerError(L[112],$step779);\n}\n}\nif($step779 !== 6) {\n$ans780.stack[R.EXN_STACKHEIGHT++] = R.mAR($al781,$temp_branch777,$step779,[b492],[],$elidedFrames783);\n}\nreturn $ans780;\n};\n$ans409 = cases419.$app_fields($temp_branch777,[false]);\nbreak;\ncase 8: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[120],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[120],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[120];\nvar $temp_branch809 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($datum785) {\nvar $step810 = 0;\nvar $elidedFrames814 = 0;\nvar $ans811 = D;\nvar $al812 = L[119];\nif(R.isAR($datum785)) {\n$step810 = $datum785.step;\n$al812 = $datum785.from;\n$ans811 = $datum785.ans;\n$elidedFrames814 = $datum785.elidedFrames;\ndatum785 = $datum785.args[0];\n} else {\nvar datum785 = $datum785;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans811 = R.mC();\n}\nwhile(!R.isContinuation($ans811)) {\nswitch($step810) {\ncase 0: $step810 = 1;\n$al812 = L[119];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al812,torepr3);\n}\n$ans811 = torepr3.app(datum785);\nbreak;\ncase 1: var anf_arg805 = $ans811;\n$step810 = 2;\n$al812 = L[118];\n// omitting isFunction check;\n$ans811 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg805);\nbreak;\ncase 2: var anf_arg254 = $ans811;\n$step810 = 3;\n$al812 = L[117];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg254,(\" at \"));\nbreak;\ncase 3: var anf_arg806 = $ans811;\n$step810 = 4;\n$al812 = L[116];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg806,loc456);\nbreak;\ncase 4: var anf_arg808 = $ans811;\n$step810 = 5;\n$al812 = L[115];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg808,(\" as a number\"));\nbreak;\ncase 5: var anf_arg282 = $ans811;\n$step810 = 6;\n$al812 = L[114];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al812,raise1);\n}\n$ans811 = raise1.app(anf_arg282);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans811;\ndefault: R.ffi.throwSpinnakerError(L[119],$step810);\n}\n}\nif($step810 !== 6) {\n$ans811.stack[R.EXN_STACKHEIGHT++] = R.mAR($al812,$temp_branch809,$step810,[datum785],[],$elidedFrames814);\n}\nreturn $ans811;\n};\n$ans409 = cases419.$app_fields($temp_branch809,[false]);\nbreak;\ncase 9: if(cases419.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[124],false,L[105],cases419.$loc);\n}\n$step404 = 10;\n$al410 = L[123];\n// omitting isFunction check;\n$ans409 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc456);\nbreak;\ncase 10: var anf_arg824 = $ans409;\n$step404 = 11;\n$al410 = L[122];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg824,(\" as a number\"));\nbreak;\ncase 11: var anf_arg929 = $ans409;\n$step404 = 13;\n$al410 = L[121];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al410,raise1);\n}\n$ans409 = raise1.app(anf_arg929);\nbreak;\ncase 12: $ans409 = R.throwNoCasesMatched(L[105],cases419);\n$step404 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans409;\ndefault: R.ffi.throwSpinnakerError(L[94],$step404);\n}\n}\nif($step404 !== 13) {\n$ans409.stack[R.EXN_STACKHEIGHT++] = R.mAR($al410,$temp_lam405,$step404,[x406,col407,row408],[loc456,cases419],$elidedFrames412);\n}\nreturn $ans409;\n};\nvar anf_assign174 = R.mF($temp_lam405,\"strict-num-sanitizer\");\nstrict$num$sanitizer933.$var = anf_assign174;\nR.nothing;\nvar $temp_lam935 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__129($x936,$col937,$row938) {\nvar $step934 = 0;\nvar $elidedFrames942 = 0;\nvar $ans939 = D;\nvar $al940 = L[129];\nif(R.isAR($x936)) {\n$step934 = $x936.step;\n$al940 = $x936.from;\n$ans939 = $x936.ans;\n$elidedFrames942 = $x936.elidedFrames;\nx936 = $x936.args[0];\ncol937 = $x936.args[1];\nrow938 = $x936.args[2];\ncases987 = $x936.vars[0];\nloc1019 = $x936.vars[1];\ncases991 = $x936.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],3,$t,false);\n}\nvar x936 = $x936;\nvar col937 = $col937;\nvar row938 = $row938;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans939 = R.mC();\n}\nwhile(!R.isContinuation($ans939)) {\nswitch($step934) {\ncase 0: $step934 = 1;\n$al940 = L[151];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"column \"),col937);\nbreak;\ncase 1: var anf_arg966 = $ans939;\n$step934 = 2;\n$al940 = L[150];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg966,(\", row \"));\nbreak;\ncase 2: var anf_arg986 = $ans939;\n// caller optimization;\n$ans939 = num$to$string7.app(row938);\nvar anf_arg329 = $ans939;\n$step934 = 3;\n$al940 = L[149];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg986,anf_arg329);\nbreak;\ncase 3: var loc1019 = $ans939;\nvar cases987 = x936;\n$step934 = 4;\n$al940 = L[148];\nvar $ann$check1162 = R._cA(L[148],CellContent195,cases987);\nif(R.isContinuation($ann$check1162)) {\n$ans939 = $ann$check1162;\n}\nbreak;\ncase 4: $al940 = L[131];\n$step934 = $cases_dispatch1161[cases987.$name] || 6;\nbreak;\ncase 5: if(cases987.$arity !== 1) {\nif(cases987.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[130],1,cases987.$arity,L[131],cases987.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[130],true,L[131],cases987.$loc);\n}\n}\nvar $fn990 = cases987.$constructor.$fieldNames;\nvar s988 = R.dF(cases987.dict[$fn990[0]],cases987.$mut_fields_mask[0],false);\n$step934 = 20;\n$ans939 = s988;\nbreak;\ncase 6: var cases991 = x936;\n$step934 = 7;\n$al940 = L[147];\nvar $ann$check1160 = R._cA(L[147],CellContent195,cases991);\nif(R.isContinuation($ann$check1160)) {\n$ans939 = $ann$check1160;\n}\nbreak;\ncase 7: $al940 = L[139];\n$step934 = $cases_dispatch1159[cases991.$name] || 14;\nbreak;\ncase 8: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[138],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[138],true,L[139],cases991.$loc);\n}\n}\nvar $fn1128 = cases991.$constructor.$fieldNames;\nvar n1105 = R.dF(cases991.dict[$fn1128[0]],cases991.$mut_fields_mask[0],false);\n// caller optimization;\n$ans939 = num$to$string7.app(n1105);\nvar anf_arg1126 = $ans939;\n$step934 = 15;\n$al940 = L[137];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the number \"),anf_arg1126);\nbreak;\ncase 9: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[142],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[142],true,L[139],cases991.$loc);\n}\n}\nvar $fn1155 = cases991.$constructor.$fieldNames;\nvar b1129 = R.dF(cases991.dict[$fn1155[0]],cases991.$mut_fields_mask[0],false);\n$step934 = 10;\n$al940 = L[141];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,torepr3);\n}\n$ans939 = torepr3.app(b1129);\nbreak;\ncase 10: var anf_arg1153 = $ans939;\n$step934 = 15;\n$al940 = L[140];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the boolean \"),anf_arg1153);\nbreak;\ncase 11: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[145],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[145],true,L[139],cases991.$loc);\n}\n}\nvar $fn1158 = cases991.$constructor.$fieldNames;\nvar datum1156 = R.dF(cases991.dict[$fn1158[0]],cases991.$mut_fields_mask[0],false);\n$step934 = 12;\n$al940 = L[144];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,torepr3);\n}\n$ans939 = torepr3.app(datum1156);\nbreak;\ncase 12: var anf_arg348 = $ans939;\n$step934 = 15;\n$al940 = L[143];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the datum \"),anf_arg348);\nbreak;\ncase 13: if(cases991.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[146],false,L[139],cases991.$loc);\n}\n$step934 = 15;\n$ans939 = (\"the empty cell\");\nbreak;\ncase 14: $ans939 = R.throwNoCasesMatched(L[139],cases991);\n$step934 = 15;\nbreak;\ncase 15: var as$str992 = $ans939;\n$step934 = 16;\n$al940 = L[136];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"Cannot sanitize \"),as$str992);\nbreak;\ncase 16: var anf_arg998 = $ans939;\n$step934 = 17;\n$al940 = L[135];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg998,(\" at \"));\nbreak;\ncase 17: var anf_arg1018 = $ans939;\n$step934 = 18;\n$al940 = L[134];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg1018,loc1019);\nbreak;\ncase 18: var anf_arg203 = $ans939;\n$step934 = 19;\n$al940 = L[133];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg203,(\" as a string\"));\nbreak;\ncase 19: var anf_arg1104 = $ans939;\n$step934 = 20;\n$al940 = L[132];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,raise1);\n}\n$ans939 = raise1.app(anf_arg1104);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans939;\ndefault: R.ffi.throwSpinnakerError(L[129],$step934);\n}\n}\nif($step934 !== 20) {\n$ans939.stack[R.EXN_STACKHEIGHT++] = R.mAR($al940,$temp_lam935,$step934,[x936,col937,row938],[cases987,loc1019,cases991],$elidedFrames942);\n}\nreturn $ans939;\n};\nvar anf_assign1164 = R.mF($temp_lam935,\"strings-only\");\nstrings$only1165.$var = anf_assign1164;\nR.nothing;\nvar $temp_lam1167 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__152($x1168,$col1169,$row1170) {\nvar $step1166 = 0;\nvar $elidedFrames1174 = 0;\nvar $ans1171 = D;\nvar $al1172 = L[152];\nif(R.isAR($x1168)) {\n$step1166 = $x1168.step;\n$al1172 = $x1168.from;\n$ans1171 = $x1168.ans;\n$elidedFrames1174 = $x1168.elidedFrames;\nx1168 = $x1168.args[0];\ncol1169 = $x1168.args[1];\nrow1170 = $x1168.args[2];\ncases1181 = $x1168.vars[0];\nloc1183 = $x1168.vars[1];\ncases1178 = $x1168.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],3,$t,false);\n}\nvar x1168 = $x1168;\nvar col1169 = $col1169;\nvar row1170 = $row1170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1171 = R.mC();\n}\nwhile(!R.isContinuation($ans1171)) {\nswitch($step1166) {\ncase 0: $step1166 = 1;\n$al1172 = L[175];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"column \"),col1169);\nbreak;\ncase 1: var anf_arg213 = $ans1171;\n$step1166 = 2;\n$al1172 = L[174];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg213,(\", row \"));\nbreak;\ncase 2: var anf_arg1175 = $ans1171;\n// caller optimization;\n$ans1171 = num$to$string7.app(row1170);\nvar anf_arg1177 = $ans1171;\n$step1166 = 3;\n$al1172 = L[173];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg1175,anf_arg1177);\nbreak;\ncase 3: var loc1183 = $ans1171;\nvar cases1178 = x1168;\n$step1166 = 4;\n$al1172 = L[172];\nvar $ann$check1225 = R._cA(L[172],CellContent195,cases1178);\nif(R.isContinuation($ann$check1225)) {\n$ans1171 = $ann$check1225;\n}\nbreak;\ncase 4: $al1172 = L[154];\n$step1166 = $cases_dispatch1224[cases1178.$name] || 6;\nbreak;\ncase 5: if(cases1178.$arity !== 1) {\nif(cases1178.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[153],1,cases1178.$arity,L[154],cases1178.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[153],true,L[154],cases1178.$loc);\n}\n}\nvar $fn1180 = cases1178.$constructor.$fieldNames;\nvar n159 = R.dF(cases1178.dict[$fn1180[0]],cases1178.$mut_fields_mask[0],false);\n$step1166 = 21;\n$ans1171 = n159;\nbreak;\ncase 6: var cases1181 = x1168;\n$step1166 = 7;\n$al1172 = L[171];\nvar $ann$check1223 = R._cA(L[171],CellContent195,cases1181);\nif(R.isContinuation($ann$check1223)) {\n$ans1171 = $ann$check1223;\n}\nbreak;\ncase 7: $al1172 = L[163];\n$step1166 = $cases_dispatch1221[cases1181.$name] || 15;\nbreak;\ncase 8: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[162],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[162],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1186 = cases1181.$constructor.$fieldNames;\nvar s1184 = R.dF(cases1181.dict[$fn1186[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 9;\n$al1172 = L[161];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(s1184);\nbreak;\ncase 9: var anf_arg224 = $ans1171;\n$step1166 = 16;\n$al1172 = L[160];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the string \"),anf_arg224);\nbreak;\ncase 10: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[166],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[166],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1213 = cases1181.$constructor.$fieldNames;\nvar b1187 = R.dF(cases1181.dict[$fn1213[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 11;\n$al1172 = L[165];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(b1187);\nbreak;\ncase 11: var anf_arg1211 = $ans1171;\n$step1166 = 16;\n$al1172 = L[164];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the boolean \"),anf_arg1211);\nbreak;\ncase 12: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[169],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[169],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1220 = cases1181.$constructor.$fieldNames;\nvar datum1214 = R.dF(cases1181.dict[$fn1220[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 13;\n$al1172 = L[168];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(datum1214);\nbreak;\ncase 13: var anf_arg1218 = $ans1171;\n$step1166 = 16;\n$al1172 = L[167];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the datum \"),anf_arg1218);\nbreak;\ncase 14: if(cases1181.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[170],false,L[163],cases1181.$loc);\n}\n$step1166 = 16;\n$ans1171 = (\"an empty cell\");\nbreak;\ncase 15: $ans1171 = R.throwNoCasesMatched(L[163],cases1181);\n$step1166 = 16;\nbreak;\ncase 16: var as$str1182 = $ans1171;\n$step1166 = 17;\n$al1172 = L[159];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"Cannot sanitize \"),as$str1182);\nbreak;\ncase 17: var anf_arg236 = $ans1171;\n$step1166 = 18;\n$al1172 = L[158];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg236,(\" at \"));\nbreak;\ncase 18: var anf_arg407 = $ans1171;\n$step1166 = 19;\n$al1172 = L[157];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg407,loc1183);\nbreak;\ncase 19: var anf_arg454 = $ans1171;\n$step1166 = 20;\n$al1172 = L[156];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg454,(\" as a number\"));\nbreak;\ncase 20: var anf_arg249 = $ans1171;\n$step1166 = 21;\n$al1172 = L[155];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,raise1);\n}\n$ans1171 = raise1.app(anf_arg249);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1171;\ndefault: R.ffi.throwSpinnakerError(L[152],$step1166);\n}\n}\nif($step1166 !== 21) {\n$ans1171.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1172,$temp_lam1167,$step1166,[x1168,col1169,row1170],[cases1181,loc1183,cases1178],$elidedFrames1174);\n}\nreturn $ans1171;\n};\nvar anf_assign1227 = R.mF($temp_lam1167,\"numbers-only\");\nnumbers$only1228.$var = anf_assign1227;\nR.nothing;\nvar $temp_lam1230 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__176($x1231,$col1232,$row1233) {\nvar $step1229 = 0;\nvar $elidedFrames1238 = 0;\nvar $ans1235 = D;\nvar $al1236 = L[176];\nif(R.isAR($x1231)) {\n$step1229 = $x1231.step;\n$al1236 = $x1231.from;\n$ans1235 = $x1231.ans;\n$elidedFrames1238 = $x1231.elidedFrames;\nx1231 = $x1231.args[0];\ncol1232 = $x1231.args[1];\nrow1233 = $x1231.args[2];\ncases1261 = $x1231.vars[0];\ncases1255 = $x1231.vars[1];\nloc1263 = $x1231.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[176],3,$t,false);\n}\nvar x1231 = $x1231;\nvar col1232 = $col1232;\nvar row1233 = $row1233;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1235 = R.mC();\n}\nwhile(!R.isContinuation($ans1235)) {\nswitch($step1229) {\ncase 0: $step1229 = 1;\n$al1236 = L[198];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"column \"),col1232);\nbreak;\ncase 1: var anf_arg468 = $ans1235;\n$step1229 = 2;\n$al1236 = L[197];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg468,(\", row \"));\nbreak;\ncase 2: var anf_arg263 = $ans1235;\n// caller optimization;\n$ans1235 = num$to$string7.app(row1233);\nvar anf_arg1254 = $ans1235;\n$step1229 = 3;\n$al1236 = L[196];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg263,anf_arg1254);\nbreak;\ncase 3: var loc1263 = $ans1235;\nvar cases1255 = x1231;\n$step1229 = 4;\n$al1236 = L[195];\nvar $ann$check1316 = R._cA(L[195],CellContent195,cases1255);\nif(R.isContinuation($ann$check1316)) {\n$ans1235 = $ann$check1316;\n}\nbreak;\ncase 4: $al1236 = L[178];\n$step1229 = $cases_dispatch1315[cases1255.$name] || 6;\nbreak;\ncase 5: if(cases1255.$arity !== 1) {\nif(cases1255.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[177],1,cases1255.$arity,L[178],cases1255.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[177],true,L[178],cases1255.$loc);\n}\n}\nvar $fn1260 = cases1255.$constructor.$fieldNames;\nvar b1256 = R.dF(cases1255.dict[$fn1260[0]],cases1255.$mut_fields_mask[0],false);\n$step1229 = 20;\n$ans1235 = b1256;\nbreak;\ncase 6: var cases1261 = x1231;\n$step1229 = 7;\n$al1236 = L[194];\nvar $ann$check1314 = R._cA(L[194],CellContent195,cases1261);\nif(R.isContinuation($ann$check1314)) {\n$ans1235 = $ann$check1314;\n}\nbreak;\ncase 7: $al1236 = L[186];\n$step1229 = $cases_dispatch1313[cases1261.$name] || 14;\nbreak;\ncase 8: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[185],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[185],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1269 = cases1261.$constructor.$fieldNames;\nvar n1267 = R.dF(cases1261.dict[$fn1269[0]],cases1261.$mut_fields_mask[0],false);\n// caller optimization;\n$ans1235 = num$to$string7.app(n1267);\nvar anf_arg279 = $ans1235;\n$step1229 = 15;\n$al1236 = L[184];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the number \"),anf_arg279);\nbreak;\ncase 9: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[189],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[189],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1274 = cases1261.$constructor.$fieldNames;\nvar s1270 = R.dF(cases1261.dict[$fn1274[0]],cases1261.$mut_fields_mask[0],false);\n$step1229 = 10;\n$al1236 = L[188];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,torepr3);\n}\n$ans1235 = torepr3.app(s1270);\nbreak;\ncase 10: var anf_arg1272 = $ans1235;\n$step1229 = 15;\n$al1236 = L[187];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the string \"),anf_arg1272);\nbreak;\ncase 11: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[192],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[192],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1312 = cases1261.$constructor.$fieldNames;\nvar datum1275 = R.dF(cases1261.dict[$fn1312[0]],cases1261.$mut_fields_mask[0],false);\n$step1229 = 12;\n$al1236 = L[191];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,torepr3);\n}\n$ans1235 = torepr3.app(datum1275);\nbreak;\ncase 12: var anf_arg1309 = $ans1235;\n$step1229 = 15;\n$al1236 = L[190];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the datum \"),anf_arg1309);\nbreak;\ncase 13: if(cases1261.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[193],false,L[186],cases1261.$loc);\n}\n$step1229 = 15;\n$ans1235 = (\"an empty cell\");\nbreak;\ncase 14: $ans1235 = R.throwNoCasesMatched(L[186],cases1261);\n$step1229 = 15;\nbreak;\ncase 15: var as$str1262 = $ans1235;\n$step1229 = 16;\n$al1236 = L[183];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"Cannot sanitize \"),as$str1262);\nbreak;\ncase 16: var anf_arg288 = $ans1235;\n$step1229 = 17;\n$al1236 = L[182];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg288,(\" at \"));\nbreak;\ncase 17: var anf_arg289 = $ans1235;\n$step1229 = 18;\n$al1236 = L[181];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg289,loc1263);\nbreak;\ncase 18: var anf_arg1266 = $ans1235;\n$step1229 = 19;\n$al1236 = L[180];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg1266,(\" as a boolean\"));\nbreak;\ncase 19: var anf_arg568 = $ans1235;\n$step1229 = 20;\n$al1236 = L[179];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,raise1);\n}\n$ans1235 = raise1.app(anf_arg568);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1235;\ndefault: R.ffi.throwSpinnakerError(L[176],$step1229);\n}\n}\nif($step1229 !== 20) {\n$ans1235.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1236,$temp_lam1230,$step1229,[x1231,col1232,row1233],[cases1261,cases1255,loc1263],$elidedFrames1238);\n}\nreturn $ans1235;\n};\nvar anf_assign1318 = R.mF($temp_lam1230,\"booleans-only\");\nbooleans$only1319.$var = anf_assign1318;\nR.nothing;\nvar $temp_lam1321 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__199($x1322,$col1323,$row1324) {\nvar $step1320 = 0;\nvar $elidedFrames1328 = 0;\nvar $ans1325 = D;\nvar $al1326 = L[199];\nif(R.isAR($x1322)) {\n$step1320 = $x1322.step;\n$al1326 = $x1322.from;\n$ans1325 = $x1322.ans;\n$elidedFrames1328 = $x1322.elidedFrames;\nx1322 = $x1322.args[0];\ncol1323 = $x1322.args[1];\nrow1324 = $x1322.args[2];\ncases1330 = $x1322.vars[0];\ncases1331 = $x1322.vars[1];\nloc1333 = $x1322.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[199],3,$t,false);\n}\nvar x1322 = $x1322;\nvar col1323 = $col1323;\nvar row1324 = $row1324;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1325 = R.mC();\n}\nwhile(!R.isContinuation($ans1325)) {\nswitch($step1320) {\ncase 0: $step1320 = 1;\n$al1326 = L[223];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"column \"),col1323);\nbreak;\ncase 1: var anf_arg300 = $ans1325;\n$step1320 = 2;\n$al1326 = L[222];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg300,(\", row \"));\nbreak;\ncase 2: var anf_arg715 = $ans1325;\n// caller optimization;\n$ans1325 = num$to$string7.app(row1324);\nvar anf_arg1329 = $ans1325;\n$step1320 = 3;\n$al1326 = L[221];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg715,anf_arg1329);\nbreak;\ncase 3: var loc1333 = $ans1325;\nvar cases1330 = x1322;\n$step1320 = 4;\n$al1326 = L[220];\nvar $ann$check1359 = R._cA(L[220],CellContent195,cases1330);\nif(R.isContinuation($ann$check1359)) {\n$ans1325 = $ann$check1359;\n}\nbreak;\ncase 4: $al1326 = L[201];\n$step1320 = $cases_dispatch1358[cases1330.$name] || 6;\nbreak;\ncase 5: if(cases1330.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[200],false,L[201],cases1330.$loc);\n}\n$step1320 = 21;\n$ans1325 = none6;\nbreak;\ncase 6: var cases1331 = x1322;\n$step1320 = 7;\n$al1326 = L[219];\nvar $ann$check1357 = R._cA(L[219],CellContent195,cases1331);\nif(R.isContinuation($ann$check1357)) {\n$ans1325 = $ann$check1357;\n}\nbreak;\ncase 7: $al1326 = L[209];\n$step1320 = $cases_dispatch1355[cases1331.$name] || 15;\nbreak;\ncase 8: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[208],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[208],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1336 = cases1331.$constructor.$fieldNames;\nvar n1334 = R.dF(cases1331.dict[$fn1336[0]],cases1331.$mut_fields_mask[0],false);\n// caller optimization;\n$ans1325 = num$to$string7.app(n1334);\nvar anf_arg311 = $ans1325;\n$step1320 = 16;\n$al1326 = L[207];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"number \"),anf_arg311);\nbreak;\ncase 9: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[212],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[212],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1339 = cases1331.$constructor.$fieldNames;\nvar s1337 = R.dF(cases1331.dict[$fn1339[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 10;\n$al1326 = L[211];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(s1337);\nbreak;\ncase 10: var anf_arg312 = $ans1325;\n$step1320 = 16;\n$al1326 = L[210];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"string \"),anf_arg312);\nbreak;\ncase 11: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[215],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[215],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1350 = cases1331.$constructor.$fieldNames;\nvar b1340 = R.dF(cases1331.dict[$fn1350[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 12;\n$al1326 = L[214];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(b1340);\nbreak;\ncase 12: var anf_arg1348 = $ans1325;\n$step1320 = 16;\n$al1326 = L[213];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"boolean \"),anf_arg1348);\nbreak;\ncase 13: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[218],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[218],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1354 = cases1331.$constructor.$fieldNames;\nvar datum1351 = R.dF(cases1331.dict[$fn1354[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 14;\n$al1326 = L[217];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(datum1351);\nbreak;\ncase 14: var anf_arg1352 = $ans1325;\n$step1320 = 16;\n$al1326 = L[216];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"datum \"),anf_arg1352);\nbreak;\ncase 15: $ans1325 = R.throwNoCasesMatched(L[209],cases1331);\n$step1320 = 16;\nbreak;\ncase 16: var as$str1332 = $ans1325;\n$step1320 = 17;\n$al1326 = L[206];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"Cannot sanitize the \"),as$str1332);\nbreak;\ncase 17: var anf_arg324 = $ans1325;\n$step1320 = 18;\n$al1326 = L[205];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg324,(\" at \"));\nbreak;\ncase 18: var anf_arg325 = $ans1325;\n$step1320 = 19;\n$al1326 = L[204];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg325,loc1333);\nbreak;\ncase 19: var anf_arg764 = $ans1325;\n$step1320 = 20;\n$al1326 = L[203];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg764,(\" as an empty cell\"));\nbreak;\ncase 20: var anf_arg769 = $ans1325;\n$step1320 = 21;\n$al1326 = L[202];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,raise1);\n}\n$ans1325 = raise1.app(anf_arg769);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1325;\ndefault: R.ffi.throwSpinnakerError(L[199],$step1320);\n}\n}\nif($step1320 !== 21) {\n$ans1325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1326,$temp_lam1321,$step1320,[x1322,col1323,row1324],[cases1330,cases1331,loc1333],$elidedFrames1328);\n}\nreturn $ans1325;\n};\nvar anf_assign1361 = R.mF($temp_lam1321,\"empty-only\");\nempty$only1362.$var = anf_assign1361;\nR.nothing;\n$step8 = 1;\n$ans63 = R.maybeMethodCall2(builtins1,\"trace-value\",L[224],L[224],nothing2);\nbreak;\ncase 1: var answer1367 = $ans63;\n$step8 = 2;\n$ans63 = R.maybeMethodCall0(builtins1,\"current-checker\",L[9]);\nbreak;\ncase 2: var anf_method_obj1363 = $ans63;\n$step8 = 3;\n$ans63 = R.maybeMethodCall0(anf_method_obj1363,\"results\",L[9]);\nbreak;\ncase 3: var checks1368 = $ans63;\n$step8 = 4;\n$ans63 = R.mO({\"answer\":answer1367,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-c-empty\":is$c$empty109.$var,\n\"num-sanitizer\":num$sanitizer336.$var,\n\"c-empty\":c$empty111.$var,\n\"is-c-str\":is$c$str113.$var,\n\"bool-sanitizer\":bool$sanitizer403.$var,\n\"c-str\":c$str115.$var,\n\"empty-only\":empty$only1362.$var,\n\"string-sanitizer\":string$sanitizer235.$var,\n\"booleans-only\":booleans$only1319.$var,\n\"numbers-only\":numbers$only1228.$var,\n\"is-DataSourceLoaderOption\":is$DataSourceLoaderOption162.$var,\n\"option-sanitizer\":option$sanitizer202.$var,\n\"is-CellContent\":is$CellContent107.$var,\n\"c-bool\":c$bool123.$var,\n\"is-c-bool\":is$c$bool121.$var,\n\"strings-only\":strings$only1165.$var,\n\"is-c-num\":is$c$num117.$var,\n\"c-custom\":c$custom127.$var,\n\"sanitize-col\":sanitize$col168.$var,\n\"c-num\":c$num119.$var,\n\"is-c-custom\":is$c$custom125.$var,\n\"strict-num-sanitizer\":strict$num$sanitizer933.$var,\n\"is-sanitize-col\":is$sanitize$col166.$var},\n\"defined-types\":{\"Sanitizer\":Sanitizer134,\n\"LoadedTable\":LoadedTable1365,\n\"DataSourceLoaderOption\":DataSourceLoaderOption1364,\n\"CellContent\":CellContent195,\n\"DataSourceLoader\":DataSourceLoader1366},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-c-empty\":is$c$empty109.$var,\n\"num-sanitizer\":num$sanitizer336.$var,\n\"c-empty\":c$empty111.$var,\n\"is-c-str\":is$c$str113.$var,\n\"bool-sanitizer\":bool$sanitizer403.$var,\n\"c-str\":c$str115.$var,\n\"empty-only\":empty$only1362.$var,\n\"string-sanitizer\":string$sanitizer235.$var,\n\"booleans-only\":booleans$only1319.$var,\n\"numbers-only\":numbers$only1228.$var,\n\"is-DataSourceLoaderOption\":is$DataSourceLoaderOption162.$var,\n\"option-sanitizer\":option$sanitizer202.$var,\n\"is-CellContent\":is$CellContent107.$var,\n\"c-bool\":c$bool123.$var,\n\"is-c-bool\":is$c$bool121.$var,\n\"strings-only\":strings$only1165.$var,\n\"is-c-num\":is$c$num117.$var,\n\"c-custom\":c$custom127.$var,\n\"sanitize-col\":sanitize$col168.$var,\n\"c-num\":c$num119.$var,\n\"is-c-custom\":is$c$custom125.$var,\n\"strict-num-sanitizer\":strict$num$sanitizer933.$var,\n\"is-sanitize-col\":is$sanitize$col166.$var}),\n\"types\":{\"CellContent\":CellContent195,\n\"DataSourceLoaderOption\":DataSourceLoaderOption1364,\n\"Sanitizer\":Sanitizer134,\n\"LoadedTable\":LoadedTable1365,\n\"DataSourceLoader\":DataSourceLoader1366},\n\"modules\":{}}),\n\"checks\":checks1368});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans63;\ndefault: R.ffi.throwSpinnakerError(L[228],$step8);\n}\n}\nif($step8 !== 4) {\n$ans63.stack[R.EXN_STACKHEIGHT++] = R.mAR($al64,$toplevel9,$step8,[],[is$c$bool121,strings$only1165,is$CellContent107,DataSourceLoaderOption1364,Sanitizer134,sanitize$col168,c$empty111,c$num119,is$c$custom125,num$sanitizer336,empty$only1362,c$bool123,LoadedTable1365,CellContent195,c$str115,is$c$num117,numbers$only1228,bool$sanitizer403,answer1367,c$custom127,is$c$str113,strict$num$sanitizer933,string$sanitizer235,booleans$only1319,is$sanitize$col166,DataSourceLoader1366,is$c$empty109,option$sanitizer202,is$DataSourceLoaderOption162],$elidedFrames66);\n}\nreturn $ans63;\n};\nreturn R.safeCall($toplevel9,function module_load(moduleVal) {\nR.modules[\"$builtin://data$source7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-sanitize-col":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +25, +2, +559, +25, +64, +621], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-sanitize-col", +"typ":"tany"}, +"strict-num-sanitizer":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +94, +0, +2573, +111, +3, +3260], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"strict-num-sanitizer", +"typ":"tany"}, +"is-c-custom":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +12, +2, +199, +12, +24, +221], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-c-custom", +"typ":"tany"}, +"c-num":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +10, +2, +151, +10, +22, +171], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"c-num", +"typ":"tany"}, +"sanitize-col":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +25, +2, +559, +25, +64, +621], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"sanitize-col", +"typ":"tany"}, +"c-custom":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +12, +2, +199, +12, +24, +221], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"c-custom", +"typ":"tany"}, +"is-c-num":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +10, +2, +151, +10, +22, +171], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-c-num", +"typ":"tany"}, +"strings-only":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +113, +0, +3262, +127, +3, +3746], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"strings-only", +"typ":"tany"}, +"is-c-bool":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +11, +2, +174, +11, +24, +196], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-c-bool", +"typ":"tany"}, +"c-bool":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +11, +2, +174, +11, +24, +196], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"c-bool", +"typ":"tany"}, +"is-CellContent":{"bind":"let", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +7, +0, +93, +13, +3, +225], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"typ":"tany"}, +"option-sanitizer":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +32, +0, +761, +39, +3, +934], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"option-sanitizer", +"typ":"tany"}, +"is-DataSourceLoaderOption":{"bind":"let", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +24, +0, +523, +26, +3, +625], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"typ":"tany"}, +"numbers-only":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +129, +0, +3748, +143, +3, +4224], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"numbers-only", +"typ":"tany"}, +"booleans-only":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +145, +0, +4226, +159, +3, +4710], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"booleans-only", +"typ":"tany"}, +"string-sanitizer":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +41, +0, +936, +49, +3, +1147], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"string-sanitizer", +"typ":"tany"}, +"empty-only":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +161, +0, +4712, +175, +3, +5199], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"empty-only", +"typ":"tany"}, +"c-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +9, +2, +128, +9, +22, +148], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"c-str", +"typ":"tany"}, +"bool-sanitizer":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +69, +0, +1743, +92, +3, +2571], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"bool-sanitizer", +"typ":"tany"}, +"is-c-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +9, +2, +128, +9, +22, +148], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-c-str", +"typ":"tany"}, +"c-empty":{"bind":"let", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +8, +2, +116, +8, +11, +125], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"typ":"tany"}, +"num-sanitizer":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +2, +0, +32, +2, +9, +41], +"definition-bind-site":["builtin://data-source", +51, +0, +1149, +67, +3, +1741], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":false, +"name":"num-sanitizer", +"typ":"tany"}, +"is-c-empty":{"bind":"fun", +"origin":{"local-bind-site":["builtin://data-source", +3, +0, +42, +3, +15, +57], +"definition-bind-site":["builtin://data-source", +8, +2, +116, +8, +11, +125], +"new-definition":true, +"uri-of-definition":"builtin://data-source"}, +"flatness":0, +"name":"is-c-empty", +"typ":"tany"}}, +"datatypes":{"DataSourceLoaderOption":["data",{"local-bind-site":["builtin://data-source", +24, +0, +523, +26, +3, +625], +"definition-bind-site":["builtin://data-source", +24, +0, +523, +26, +3, +625], +"new-definition":true, +"uri-of-definition":"builtin://data-source"},"DataSourceLoaderOption",["atom#A#41","atom#B#42"],[["sanitize-col", +[["col", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}],["sanitizer", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"Sanitizer"}]], +{}]],{}], +"CellContent":["data",{"local-bind-site":["builtin://data-source", +7, +0, +93, +13, +3, +225], +"definition-bind-site":["builtin://data-source", +7, +0, +93, +13, +3, +225], +"new-definition":true, +"uri-of-definition":"builtin://data-source"},"CellContent",["atom#A#31"],[["c-empty", +{}],["c-str", +[["s", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["c-num", +[["n", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{}],["c-bool", +[["b", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Boolean"}]], +{}],["c-custom", +[["datum", +["tid", +"atom#A#31"]]], +{}]],{}]}, +"aliases":{"DataSourceLoader":["record",{"load":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"DataSourceLoaderOption"}]]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"LoadedTable"}]}], +"LoadedTable":["tuple",[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"},[["tuple",[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"},{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"Sanitizer"}]]]],["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"},[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"RawArray"},[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"CellContent"},["tany"]]]]]]]], +"Sanitizer":["arrow", +[["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://data-source"}, +"name":"CellContent"},["tany"]], +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}, +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}], +"tany"], +"DataSourceLoaderOption":"tany", +"CellContent":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"option"}]}), +"builtin://constants":({"theMap":"{\"version\":3,\"sources\":[\"builtin://constants\"],\"names\":[\"builtin://constants\",\",13,0,329,13,23,352\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAYDC,oDAZCD;AAAAA;AAAAA;AAAAA;AAAAA,SAYDC,mDAZCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://constants\"}", +"theModule":"function _dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee__2(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://constants\";\nvar D = R.undefined;\nvar L = [[\"dummy location\"],\n[M,13,0,329,13,23,352],\n[M,1,0,0,13,23,352]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import4 = $$underscore_import5;\nvar $toplevel18 = function _dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee__2($$resumer13) {\nvar $step17 = 0;\nvar $elidedFrames77 = 0;\nvar $ans74 = D;\nvar $al75 = L[2];\nif(R.isAR($$resumer13)) {\n$step17 = $$resumer13.step;\n$al75 = $$resumer13.from;\n$ans74 = $$resumer13.ans;\n$elidedFrames77 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nPI85 = $$resumer13.vars[0];\nanswer86 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans74 = R.mC();\n}\nwhile(!R.isContinuation($ans74)) {\nswitch($step17) {\ncase 0: var PI85 = R.makeNumberFromString(\"~3.141592653589793\");\n$step17 = 1;\n$ans74 = R.maybeMethodCall2(builtins1,\"trace-value\",L[0],L[0],nothing2);\nbreak;\ncase 1: var answer86 = $ans74;\n$step17 = 2;\n$ans74 = R.maybeMethodCall0(builtins1,\"current-checker\",L[1]);\nbreak;\ncase 2: var anf_method_obj84 = $ans74;\n$step17 = 3;\n$ans74 = R.maybeMethodCall0(anf_method_obj84,\"results\",L[1]);\nbreak;\ncase 3: var checks87 = $ans74;\n$step17 = 4;\n$ans74 = R.mO({\"answer\":answer86,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"PI\":PI85},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"PI\":PI85}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks87});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans74;\ndefault: R.ffi.throwSpinnakerError(L[2],$step17);\n}\n}\nif($step17 !== 4) {\n$ans74.stack[R.EXN_STACKHEIGHT++] = R.mAR($al75,$toplevel18,$step17,[],[PI85,answer86],$elidedFrames77);\n}\nreturn $ans74;\n};\nreturn R.safeCall($toplevel18,function module_load(moduleVal) {\nR.modules[\"$builtin://constants1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"PI":{"bind":"let", +"origin":{"local-bind-site":["builtin://constants", +1, +9, +9, +1, +11, +11], +"definition-bind-site":["builtin://constants", +13, +0, +329, +13, +23, +352], +"new-definition":true, +"uri-of-definition":"builtin://constants"}, +"typ":"tany"}}, +"datatypes":{}, +"aliases":{}}, +"requires":[{"import-type":"builtin", +"name":"global"}]}), +"builtin://s-exp-structs":({"theMap":"{\"version\":3,\"sources\":[\"builtin://s-exp-structs\"],\"names\":[\"builtin://s-exp-structs\",\",9,0,74,14,3,190\",\",10,2,88,10,31,117\",\",11,2,120,11,22,140\",\",12,2,143,12,22,163\",\",13,2,166,13,22,186\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAQDC,6BARCD;AAAAA;AAAAA;AAAAA;AAAAA,oBASCE,iCATDF;AAAAA;AAAAA;AAAAA;AAAAA,oBASCE,8BATDF;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCG,gCAVDH;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCG,6BAVDH;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCI,gCAXDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCI,6BAXDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBAYCK,gCAZDL;AAAAA;AAAAA;AAAAA;AAAAA,oBAYCK,6BAZDL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAQDC,oDARCD;AAAAA;AAAAA;AAAAA;AAAAA,SAQDC,oDARCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://s-exp-structs\"}", +"theModule":"function _03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0__10(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://s-exp-structs\";\nvar D = R.undefined;\nvar L = [[M,10,2,88,10,31,117],\n[M,10,19,105,10,30,116],\n[M,11,2,120,11,22,140],\n[M,11,15,133,11,21,139],\n[M,12,2,143,12,22,163],\n[M,12,15,156,12,21,162],\n[M,13,2,166,13,22,186],\n[M,13,15,179,13,21,185],\n[M,9,0,74,14,3,190],\n[\"dummy location\"],\n[M,3,0,13,14,3,190]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar $included$123 = $$included$127;\nvar List1 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel21 = function _03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0__10($$resumer13) {\nvar $step20 = 0;\nvar $elidedFrames82 = 0;\nvar $ans79 = D;\nvar $al80 = L[10];\nif(R.isAR($$resumer13)) {\n$step20 = $$resumer13.step;\n$al80 = $$resumer13.from;\n$ans79 = $$resumer13.ans;\n$elidedFrames82 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanswer137 = $$resumer13.vars[0];\nis$s$list120 = $$resumer13.vars[1];\nS$Exp136 = $$resumer13.vars[2];\nis$s$str128 = $$resumer13.vars[3];\ns$list122 = $$resumer13.vars[4];\ns$sym134 = $$resumer13.vars[5];\ns$num126 = $$resumer13.vars[6];\nis$S$Exp116 = $$resumer13.vars[7];\ns$str130 = $$resumer13.vars[8];\nis$s$sym132 = $$resumer13.vars[9];\nis$s$num124 = $$resumer13.vars[10];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans79 = R.mC();\n}\nwhile(!R.isContinuation($ans79)) {\nswitch($step20) {\ncase 0: var S$Exp83 = R.nB(\"S-Exp\",L[8]);\nvar S$Exp136 = R.mBA(S$Exp83,\"S-Exp\");\nvar S$Exp114 = {\"$var\":D};\nvar is$S$Exp116 = {\"$var\":D};\nvar is$s$list120 = {\"$var\":D};\nvar s$list122 = {\"$var\":D};\nvar is$s$num124 = {\"$var\":D};\nvar s$num126 = {\"$var\":D};\nvar is$s$str128 = {\"$var\":D};\nvar s$str130 = {\"$var\":D};\nvar is$s$sym132 = {\"$var\":D};\nvar s$sym134 = {\"$var\":D};\nvar $s$list_getfields88 = function singleton_variant(f) {\nreturn f(this.dict[\"exps\"]);\n};\nvar $s$list_mutablemask87 = [false];\nvar $s$list$base84 = {\"$fieldNames\":[\"exps\"],\n\"_match\":R.mM(\"s-list\",1)};\nvar $s$list$brander85 = R.nB(\"s-list\",L[0]);\nvar $s$list$brands86 = {};\n$s$list$brands86[S$Exp83._brand] = true;\n$s$list$brands86[$s$list$brander85._brand] = true;\nvar s$list89 = R.mVC(L[0],function $synthesizedConstructor_$s$list$base() {\nreturn [List1];\n},[\"exps90\"],[L[1]],[false],[\"exps90\"],$s$list_mutablemask87,$s$list$base84,$s$list$brands86,\"s-list\",$s$list_getfields88,$s$list$base84);\nvar $s$num_getfields95 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"]);\n};\nvar $s$num_mutablemask94 = [false];\nvar $s$num$base91 = {\"$fieldNames\":[\"n\"],\n\"_match\":R.mM(\"s-num\",1)};\nvar $s$num$brander92 = R.nB(\"s-num\",L[2]);\nvar $s$num$brands93 = {};\n$s$num$brands93[S$Exp83._brand] = true;\n$s$num$brands93[$s$num$brander92._brand] = true;\nvar s$num96 = R.mVC(L[2],function $synthesizedConstructor_$s$num$base() {\nreturn [$type$Number3];\n},[\"n97\"],[L[3]],[false],[\"n97\"],$s$num_mutablemask94,$s$num$base91,$s$num$brands93,\"s-num\",$s$num_getfields95,$s$num$base91);\nvar $s$str_getfields102 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $s$str_mutablemask101 = [false];\nvar $s$str$base98 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"s-str\",1)};\nvar $s$str$brander99 = R.nB(\"s-str\",L[4]);\nvar $s$str$brands100 = {};\n$s$str$brands100[S$Exp83._brand] = true;\n$s$str$brands100[$s$str$brander99._brand] = true;\nvar s$str103 = R.mVC(L[4],function $synthesizedConstructor_$s$str$base() {\nreturn [$type$String8];\n},[\"s104\"],[L[5]],[false],[\"s104\"],$s$str_mutablemask101,$s$str$base98,$s$str$brands100,\"s-str\",$s$str_getfields102,$s$str$base98);\nvar $s$sym_getfields109 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $s$sym_mutablemask108 = [false];\nvar $s$sym$base105 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"s-sym\",1)};\nvar $s$sym$brander106 = R.nB(\"s-sym\",L[6]);\nvar $s$sym$brands107 = {};\n$s$sym$brands107[S$Exp83._brand] = true;\n$s$sym$brands107[$s$sym$brander106._brand] = true;\nvar s$sym110 = R.mVC(L[6],function $synthesizedConstructor_$s$sym$base() {\nreturn [$type$String8];\n},[\"s111\"],[L[7]],[false],[\"s111\"],$s$sym_mutablemask108,$s$sym$base105,$s$sym$brands107,\"s-sym\",$s$sym_getfields109,$s$sym$base105);\nvar anf_assign113 = R.mO({\"S-Exp\":G(S$Exp83,\"test\",L[8]),\n\"is-s-list\":G($s$list$brander85,\"test\",L[0]),\n\"s-list\":s$list89,\n\"is-s-num\":G($s$num$brander92,\"test\",L[2]),\n\"s-num\":s$num96,\n\"is-s-str\":G($s$str$brander99,\"test\",L[4]),\n\"s-str\":s$str103,\n\"is-s-sym\":G($s$sym$brander106,\"test\",L[6]),\n\"s-sym\":s$sym110});\nS$Exp114.$var = anf_assign113;\nR.nothing;\n$al80 = L[8];\nvar anf_assign115 = G(S$Exp114.$var,\"S-Exp\",L[8]);\nis$S$Exp116.$var = anf_assign115;\nR.nothing;\n$al80 = L[0];\nvar anf_assign119 = G(S$Exp114.$var,\"is-s-list\",L[0]);\nis$s$list120.$var = anf_assign119;\nR.nothing;\n$al80 = L[0];\nvar anf_assign121 = G(S$Exp114.$var,\"s-list\",L[0]);\ns$list122.$var = anf_assign121;\nR.nothing;\n$al80 = L[2];\nvar anf_assign123 = G(S$Exp114.$var,\"is-s-num\",L[2]);\nis$s$num124.$var = anf_assign123;\nR.nothing;\n$al80 = L[2];\nvar anf_assign125 = G(S$Exp114.$var,\"s-num\",L[2]);\ns$num126.$var = anf_assign125;\nR.nothing;\n$al80 = L[4];\nvar anf_assign127 = G(S$Exp114.$var,\"is-s-str\",L[4]);\nis$s$str128.$var = anf_assign127;\nR.nothing;\n$al80 = L[4];\nvar anf_assign129 = G(S$Exp114.$var,\"s-str\",L[4]);\ns$str130.$var = anf_assign129;\nR.nothing;\n$al80 = L[6];\nvar anf_assign131 = G(S$Exp114.$var,\"is-s-sym\",L[6]);\nis$s$sym132.$var = anf_assign131;\nR.nothing;\n$al80 = L[6];\nvar anf_assign133 = G(S$Exp114.$var,\"s-sym\",L[6]);\ns$sym134.$var = anf_assign133;\nR.nothing;\n$step20 = 1;\n$ans79 = R.maybeMethodCall2(builtins1,\"trace-value\",L[9],L[9],nothing2);\nbreak;\ncase 1: var answer137 = $ans79;\n$step20 = 2;\n$ans79 = R.maybeMethodCall0(builtins1,\"current-checker\",L[8]);\nbreak;\ncase 2: var anf_method_obj135 = $ans79;\n$step20 = 3;\n$ans79 = R.maybeMethodCall0(anf_method_obj135,\"results\",L[8]);\nbreak;\ncase 3: var checks138 = $ans79;\n$step20 = 4;\n$ans79 = R.mO({\"answer\":answer137,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-S-Exp\":is$S$Exp116.$var,\n\"is-s-num\":is$s$num124.$var,\n\"is-s-sym\":is$s$sym132.$var,\n\"s-num\":s$num126.$var,\n\"s-sym\":s$sym134.$var,\n\"is-s-str\":is$s$str128.$var,\n\"s-str\":s$str130.$var,\n\"s-list\":s$list122.$var,\n\"is-s-list\":is$s$list120.$var},\n\"defined-types\":{\"S-Exp\":S$Exp136},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-S-Exp\":is$S$Exp116.$var,\n\"is-s-num\":is$s$num124.$var,\n\"is-s-sym\":is$s$sym132.$var,\n\"s-num\":s$num126.$var,\n\"s-sym\":s$sym134.$var,\n\"is-s-str\":is$s$str128.$var,\n\"s-str\":s$str130.$var,\n\"s-list\":s$list122.$var,\n\"is-s-list\":is$s$list120.$var}),\n\"types\":{\"S-Exp\":S$Exp136},\n\"modules\":{}}),\n\"checks\":checks138});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans79;\ndefault: R.ffi.throwSpinnakerError(L[10],$step20);\n}\n}\nif($step20 !== 4) {\n$ans79.stack[R.EXN_STACKHEIGHT++] = R.mAR($al80,$toplevel21,$step20,[],[answer137,is$s$list120,S$Exp136,is$s$str128,s$list122,s$sym134,s$num126,is$S$Exp116,s$str130,is$s$sym132,is$s$num124],$elidedFrames82);\n}\nreturn $ans79;\n};\nreturn R.safeCall($toplevel21,function module_load(moduleVal) {\nR.modules[\"$builtin://s$exp$structs2\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"is-s-list":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +10, +2, +88, +10, +31, +117], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"is-s-list", +"typ":"tany"}, +"s-list":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +10, +2, +88, +10, +31, +117], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"s-list", +"typ":"tany"}, +"s-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +12, +2, +143, +12, +22, +163], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"s-str", +"typ":"tany"}, +"is-s-str":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +12, +2, +143, +12, +22, +163], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"is-s-str", +"typ":"tany"}, +"s-sym":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +13, +2, +166, +13, +22, +186], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"s-sym", +"typ":"tany"}, +"s-num":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +11, +2, +120, +11, +22, +140], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"s-num", +"typ":"tany"}, +"is-s-sym":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +13, +2, +166, +13, +22, +186], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"is-s-sym", +"typ":"tany"}, +"is-s-num":{"bind":"fun", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +11, +2, +120, +11, +22, +140], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"flatness":0, +"name":"is-s-num", +"typ":"tany"}, +"is-S-Exp":{"bind":"let", +"origin":{"local-bind-site":["builtin://s-exp-structs", +4, +0, +23, +4, +15, +38], +"definition-bind-site":["builtin://s-exp-structs", +9, +0, +74, +14, +3, +190], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"}, +"typ":"tany"}}, +"datatypes":{"S-Exp":["data",{"local-bind-site":["builtin://s-exp-structs", +9, +0, +74, +14, +3, +190], +"definition-bind-site":["builtin://s-exp-structs", +9, +0, +74, +14, +3, +190], +"new-definition":true, +"uri-of-definition":"builtin://s-exp-structs"},"S-Exp",[],[["s-list", +[["exps", +["tyapp",{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://s-exp-structs"}, +"name":"List"},[{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://s-exp-structs"}, +"name":"S-Exp"}]]]], +{}],["s-num", +[["n", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"Number"}]], +{}],["s-str", +[["s", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}],["s-sym", +[["s", +{"tag":"name", +"origin":{"import-type":"uri", +"uri":"builtin://global"}, +"name":"String"}]], +{}]],{}]}, +"aliases":{"S-Exp":"tany"}}, +"requires":[{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}]}), +"builtin://s-exp":({ + requires: [ + { "import-type": "builtin", "name": "s-exp-structs" } + ], + nativeRequires: ["s-expression"], + provides: { + shorthands: { + "S-Exp": { + tag: "name", + origin: { "import-type": "uri", uri: "builtin://s-exp-structs" }, + name: "S-Exp" + }, + "pred": ["arrow", ["Any"], "Boolean"] + }, + values: { + "s-list": ["arrow", [["List", "S-Exp"]], "S-Exp"], + "s-num": ["arrow", ["Number"], "S-Exp"], + "s-str": ["arrow", ["String"], "S-Exp"], + "s-sym": ["arrow", ["String"], "S-Exp"], + "is-s-list": "pred", + "is-s-num": "pred", + "is-s-str": "pred", + "is-s-sym": "pred", + "read-s-exp": ["arrow", ["String"], "S-Exp"] + }, + types: { + "S-Exp": "S-Exp" + } + }, + theModule: function(RUNTIME, NAMESPACE, uri, sstruct, sexp) { + var gf = RUNTIME.getField; + var vals = gf(sstruct, "values"); + var typs = gf(sstruct, "types"); + function readSexp(s) { + RUNTIME.checkArity(1, arguments, "s-exp", false); + RUNTIME.checkString(s); + // Wrap in quotes to satisfy parser for simple atoms like "a" + var jsVal = new sexp("(" + s + ")"); + var sList = gf(vals, "s-list"); + var sStr = gf(vals, "s-str"); + var sNum = gf(vals, "s-num"); + var sSym = gf(vals, "s-sym"); + var list = function(l) { return sList.app(RUNTIME.ffi.makeList(l)); } + var str = function(s) { return sStr.app(RUNTIME.makeString(s)); } + var num = function(nstr) { return sNum.app(RUNTIME.makeNumberFromString(nstr)); } + var sym = function(x) { return sSym.app(RUNTIME.makeString(x)); } + function convert(v) { + if(v instanceof String) { + return str(String(v)); + } else if (typeof v === "string") { + if(RUNTIME.string_isnumber(v)) { + return num(v); + } else { + if(v.indexOf("'") !== -1 || v.indexOf('"') !== -1) { + RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); + } + return sym(v); + } + } + else if(Array.isArray(v)) { + if(v.length === 0) { return list([]); } + if(v[0] === "quote") { + RUNTIME.ffi.throwMessageException("Invalid s-expression: Single quotation mark (') and keyword 'quote' not supported" + s); + } + return list(v.map(convert)); + } + else { + RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); + } + } + if(Array.isArray(jsVal) && jsVal.length === 1) { + return convert(jsVal[0]); + } + else { + RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); + } + } + var values = { + "s-list": gf(vals, "s-list"), + "s-num": gf(vals, "s-num"), + "s-str": gf(vals, "s-str"), + "s-sym": gf(vals, "s-sym"), + "is-s-list": gf(vals, "is-s-list"), + "is-s-num": gf(vals, "is-s-num"), + "is-s-str": gf(vals, "is-s-str"), + "is-s-sym": gf(vals, "is-s-sym"), + "read-s-exp": RUNTIME.makeFunction(readSexp) + }; + var types = { + "S-Exp": typs["S-Exp"] + }; + return RUNTIME.makeModuleReturn(values, types); + } +}) +, +"builtin://base":({ + requires: [ + { "import-type": "builtin", name: "global" }, + { "import-type": "builtin", name: "option" }, + { "import-type": "builtin", name: "either" }, + { "import-type": "builtin", name: "error-display" }, + { "import-type": "builtin", name: "error" }, + { "import-type": "builtin", name: "equality" }, + { "import-type": "builtin", name: "valueskeleton" }, + { "import-type": "builtin", name: "lists" }, + { "import-type": "builtin", name: "arrays" }, + { "import-type": "builtin", name: "pick" }, + { "import-type": "builtin", name: "sets" }, + { "import-type": "builtin", name: "contracts" }, + { "import-type": "builtin", name: "srcloc" }, + { "import-type": "builtin", name: "string-dict" }, + { "import-type": "builtin", name: "render-error-display" }, + { "import-type": "builtin", name: "checker" }, + { "import-type": "builtin", name: "ffi" }, + { "import-type": "builtin", name: "table" }, + { "import-type": "builtin", name: "tables" }, + { "import-type": "builtin", name: "reactors" }, + { "import-type": "builtin", name: "data-source" }, + { "import-type": "builtin", name: "constants" }, + { "import-type": "builtin", "name": "s-exp" } + ], + provides: {}, + nativeRequires: [], + theModule: function(runtime, namespace, uri /* intentionally blank */) { + return runtime.makeObject({ + "defined-values": {}, + "defined-types": {}, + "provide-plus-types": runtime.makeObject({ + "values": runtime.makeObject({}), + "types": {} + }) + }); + } +}) +, +"file:///workspaces/pyret/exercises/practice/etl/etl.arr":({"theMap":"{\"version\":3,\"sources\":[\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\"],\"names\":[\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\",\",6,18,103,6,37,122\",\",7,5,130,7,18,143\",\",7,5,130,7,28,153\",\",7,43,168,7,62,187\",\",7,96,221,7,119,244\",\",7,81,206,7,123,248\",\",7,43,168,7,128,253\",\",7,4,129,7,133,258\",\",4,0,44,11,3,288\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAKiBC,+DALjBD;AAAAA;AAAAA;AAAAA;AAAAA;AAKiBC,sCALjBD;AAAAA;AAKiBC,yBALjBD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAMIE,wCANJF;AAAAA;AAAAA;AAAAA;AAAAA,UAMIG,oDANJH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAM0CI,kDAN1CJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAM+FK,yCAN/FL;AAAAA;AAAAA;AAAAA,UAMgFM,mEANhFN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAM0CO,2DAN1CP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAMGQ,4DANHR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAGDS,oCAHCT;AAAAA;AAGDS,yBAHCT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAGDS,mDAHCT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\"}", +"theModule":"function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__12(R,NAMESPACE,M,$arrays12,$$base13,$$constants14,$error15,$$global16,$lists17,$option18,$sets19,$$included$120) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"file:///workspaces/pyret/exercises/practice/etl/etl.arr\";\nvar D = R.undefined;\nvar L = [[M,4,0,44,11,3,288],\n[M,6,17,102,6,39,124],\n[M,6,18,103,6,37,122],\n[M,7,5,130,7,18,143],\n[M,7,5,130,7,28,153],\n[M,7,35,160,7,132,257],\n[M,7,43,168,7,62,187],\n[M,7,68,193,7,127,252],\n[M,7,81,206,7,123,248],\n[M,7,43,168,7,128,253],\n[M,7,4,129,7,133,258],\n[\"dummy location\"],\n[M,1,0,0,11,3,288]];\nvar string$to$lower1 = R.getModuleField(\"builtin://global\",\"values\",\"string-to-lower\");\nvar arrays2 = $arrays12;\nvar $base3 = $$base13;\nvar $constants4 = $$constants14;\nvar error5 = $error15;\nvar $global6 = $$global16;\nvar lists7 = $lists17;\nvar option8 = $option18;\nvar sets9 = $sets19;\nvar $included$110 = $$included$120;\nvar mutable$string$dict1 = R.getModuleField(\"builtin://string-dict\",\"values\",\"mutable-string-dict\");\nvar $toplevel125 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__12($$resumer28) {\nvar $step124 = 0;\nvar $elidedFrames269 = 0;\nvar $ans266 = D;\nvar $al267 = L[12];\nif(R.isAR($$resumer28)) {\n$step124 = $$resumer28.step;\n$al267 = $$resumer28.from;\n$ans266 = $$resumer28.ans;\n$elidedFrames269 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanswer245 = $$resumer28.vars[0];\ntranslate28 = $$resumer28.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans266 = R.mC();\n}\nwhile(!R.isContinuation($ans266)) {\nswitch($step124) {\ncase 0: var translate28 = {\"$var\":D};\nvar $temp_lam277 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__0($legacy20) {\nvar $step276 = 0;\nvar $elidedFrames281 = 0;\nvar $ans278 = D;\nvar $al279 = L[0];\nif(R.isAR($legacy20)) {\n$step276 = $legacy20.step;\n$al279 = $legacy20.from;\n$ans278 = $legacy20.ans;\n$elidedFrames281 = $legacy20.elidedFrames;\nlegacy20 = $legacy20.args[0];\nresult127 = $legacy20.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar legacy20 = $legacy20;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans278 = R.mC();\n}\nwhile(!R.isContinuation($ans278)) {\nswitch($step276) {\ncase 0: $ans278 = R.getMaker0(mutable$string$dict1,(\"make0\"),L[1],L[2]);\nvar anf_fun38 = $ans278;\n$step276 = 1;\n$al279 = L[2];\nif(typeof(anf_fun38.app) !== \"function\") {\nR.ffi.throwNonFunApp($al279,anf_fun38);\n}\n$ans278 = anf_fun38.app();\nbreak;\ncase 1: var var122 = $ans278;\nvar result127 = {\"$var\":var122};\n$step276 = 2;\n$ans278 = R.maybeMethodCall0(legacy20,\"keys\",L[3]);\nbreak;\ncase 2: var anf_method_obj101 = $ans278;\n$step276 = 3;\n$ans278 = R.maybeMethodCall0(anf_method_obj101,\"to-list\",L[4]);\nbreak;\ncase 3: var anf_method_obj129 = $ans278;\nvar $temp_lam283 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__5($n122) {\nvar $step282 = 0;\nvar $elidedFrames287 = 0;\nvar $ans284 = D;\nvar $al285 = L[5];\nif(R.isAR($n122)) {\n$step282 = $n122.step;\n$al285 = $n122.from;\n$ans284 = $n122.ans;\n$elidedFrames287 = $n122.elidedFrames;\nn122 = $n122.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],1,$t,false);\n}\nvar n122 = $n122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans284 = R.mC();\n}\nwhile(!R.isContinuation($ans284)) {\nswitch($step282) {\ncase 0: $step282 = 1;\n$ans284 = R.maybeMethodCall1(legacy20,\"get-value\",L[6],n122);\nbreak;\ncase 1: var anf_method_obj233 = $ans284;\nvar $temp_lam289 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__7($letter226) {\nvar $step288 = 0;\nvar $elidedFrames293 = 0;\nvar $ans290 = D;\nvar $al291 = L[7];\nif(R.isAR($letter226)) {\n$step288 = $letter226.step;\n$al291 = $letter226.from;\n$ans290 = $letter226.ans;\n$elidedFrames293 = $letter226.elidedFrames;\nletter226 = $letter226.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[7],1,$t,false);\n}\nvar letter226 = $letter226;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans290 = R.mC();\n}\nwhile(!R.isContinuation($ans290)) {\nswitch($step288) {\ncase 0: var anf_method_obj121 = result127.$var;\n// caller optimization;\n$ans290 = string$to$lower1.app(letter226);\nvar anf_arg48 = $ans290;\n$step288 = 1;\n$ans290 = R.maybeMethodCall2(anf_method_obj121,\"set-now\",L[8],anf_arg48,n122);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans290;\ndefault: R.ffi.throwSpinnakerError(L[7],$step288);\n}\n}\nif($step288 !== 1) {\n$ans290.stack[R.EXN_STACKHEIGHT++] = R.mAR($al291,$temp_lam289,$step288,[letter226],[],$elidedFrames293);\n}\nreturn $ans290;\n};\nvar anf_arg54 = R.mF($temp_lam289,\"\");\n$step282 = 2;\n$ans284 = R.maybeMethodCall1(anf_method_obj233,\"each\",L[9],anf_arg54);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans284;\ndefault: R.ffi.throwSpinnakerError(L[5],$step282);\n}\n}\nif($step282 !== 2) {\n$ans284.stack[R.EXN_STACKHEIGHT++] = R.mAR($al285,$temp_lam283,$step282,[n122],[],$elidedFrames287);\n}\nreturn $ans284;\n};\nvar anf_arg55 = R.mF($temp_lam283,\"\");\n$step276 = 4;\n$ans278 = R.maybeMethodCall1(anf_method_obj129,\"each\",L[10],anf_arg55);\nbreak;\ncase 4: var result32 = result127.$var;\n$step276 = 5;\n$ans278 = result32;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans278;\ndefault: R.ffi.throwSpinnakerError(L[0],$step276);\n}\n}\nif($step276 !== 5) {\n$ans278.stack[R.EXN_STACKHEIGHT++] = R.mAR($al279,$temp_lam277,$step276,[legacy20],[result127],$elidedFrames281);\n}\nreturn $ans278;\n};\nvar anf_assign240 = R.mF($temp_lam277,\"translate\");\ntranslate28.$var = anf_assign240;\nR.nothing;\n$step124 = 1;\n$al267 = L[11];\nvar $obj303 = R.builtins;\nvar $field304 = R.gCFL($obj303,\"trace-value\",L[11]);\nif(R.isM($field304)) {\n$ans266 = $field304.full_meth($obj303,L[11],R.nothing);\n} else {\nif(typeof($field304.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[11],$field304);\n}\n$ans266 = $field304.app(L[11],R.nothing);\n}\nbreak;\ncase 1: var answer245 = $ans266;\n$step124 = 2;\n$al267 = L[0];\nvar $obj305 = R.builtins;\nvar $field306 = R.gCFL($obj305,\"current-checker\",L[0]);\nif(R.isM($field306)) {\n$ans266 = $field306.full_meth($obj305);\n} else {\nif(typeof($field306.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[0],$field306);\n}\n$ans266 = $field306.app();\n}\nbreak;\ncase 2: var anf_method_obj86 = $ans266;\n$step124 = 3;\n$ans266 = R.maybeMethodCall0(anf_method_obj86,\"results\",L[0]);\nbreak;\ncase 3: var checks246 = $ans266;\n$step124 = 4;\n$ans266 = R.mO({\"answer\":answer245,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"sets\":sets9,\n\"error\":error5,\n\"option\":option8,\n\"lists\":lists7,\n\"arrays\":arrays2,\n\"$constants\":$constants4,\n\"$base\":$base3,\n\"$global\":$global6},\n\"defined-values\":{\"translate\":translate28.$var},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"translate\":translate28.$var}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks246});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans266;\ndefault: R.ffi.throwSpinnakerError(L[12],$step124);\n}\n}\nif($step124 !== 4) {\n$ans266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al267,$toplevel125,$step124,[],[answer245,translate28],$elidedFrames269);\n}\nreturn $ans266;\n};\nreturn R.safeCall($toplevel125,function module_load(moduleVal) {\nR.modules[\"$file:///workspaces/pyret/exercises/practice/etl/etl.arr20\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{"translate":{"bind":"fun", +"origin":{"local-bind-site":["file:///workspaces/pyret/exercises/practice/etl/etl.arr", +1, +9, +9, +1, +18, +18], +"definition-bind-site":["file:///workspaces/pyret/exercises/practice/etl/etl.arr", +4, +0, +44, +11, +3, +288], +"new-definition":true, +"uri-of-definition":"file:///workspaces/pyret/exercises/practice/etl/etl.arr"}, +"flatness":false, +"name":"translate", +"typ":"tany"}}, +"datatypes":{}, +"aliases":{}}, +"requires":[{"import-type":"builtin", +"name":"arrays"}, +{"import-type":"builtin", +"name":"base"}, +{"import-type":"builtin", +"name":"constants"}, +{"import-type":"builtin", +"name":"error"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"sets"}, +{"import-type":"builtin", +"name":"string-dict"}]}), +"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr":({"theMap":"{\"version\":3,\"sources\":[\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"],\"names\":[\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\",\",4,0,45,34,3,1542\",\",5,2,70,5,79,147\",\",5,13,81,5,24,92\",\",5,32,100,5,36,104\",\",5,2,70,5,44,112\",\",5,49,117,5,68,136\",\",4,0,45,6,3,151\",\",9,2,199,9,139,336\",\",9,13,210,9,24,221\",\",9,32,229,9,36,233\",\",9,2,199,9,64,261\",\",9,69,266,9,88,285\",\",9,68,265,9,139,336\",\",8,0,153,10,3,340\",\",13,11,400,13,22,411\",\",13,30,419,13,34,423\",\",13,68,457,13,72,461\",\",14,14,488,14,33,507\",\",14,13,487,14,104,578\",\",15,2,581,15,30,609\",\",15,2,581,15,18,597\",\",12,0,342,16,3,613\",\",19,11,693,19,22,704\",\",19,10,692,25,47,1052\",\",19,30,712,19,34,716\",\",20,30,775,20,34,779\",\",21,30,823,21,34,827\",\",22,30,881,22,34,885\",\",23,30,944,23,34,948\",\",24,30,987,24,34,991\",\",25,31,1036,25,35,1040\",\",26,14,1067,26,33,1086\",\",26,13,1066,32,55,1507\",\",33,2,1510,33,30,1538\",\",33,2,1510,33,18,1526\",\",18,0,615,34,3,1542\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAGDC,oCAHCD;AAAAA;AAGDC,yBAHCD;AAAAA;AAAAA;AAAAA;AAGDC,2BAHCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAICE,oCAJDF;AAAAA;AAICE,yBAJDF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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\",\"file\":\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"}", +"theModule":"function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__54(R,NAMESPACE,M,$arrays12,$$base13,$$constants14,$error15,$$global16,$lists17,$option18,$sets19,$$included$26,$$included$120) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\";\nvar D = R.undefined;\nvar L = [[\"dummy location\"],\n[M,4,0,45,34,3,1542],\n[M,4,0,45,6,3,151],\n[M,5,2,70,5,79,147],\n[M,5,2,70,5,44,112],\n[M,5,12,80,5,43,111],\n[M,5,13,81,5,24,92],\n[M,5,31,99,5,42,110],\n[M,5,32,100,5,36,104],\n[M,5,48,116,5,79,147],\n[M,5,49,117,5,68,136],\n[M,8,0,153,10,3,340],\n[M,9,2,199,9,139,336],\n[M,9,2,199,9,64,261],\n[M,9,12,209,9,63,260],\n[M,9,13,210,9,24,221],\n[M,9,31,228,9,62,259],\n[M,9,32,229,9,36,233],\n[M,9,68,265,9,139,336],\n[M,9,69,266,9,88,285],\n[M,12,0,342,16,3,613],\n[M,13,10,399,13,84,473],\n[M,13,11,400,13,22,411],\n[M,13,29,418,13,60,449],\n[M,13,30,419,13,34,423],\n[M,13,67,456,13,83,472],\n[M,13,68,457,13,72,461],\n[M,14,13,487,14,104,578],\n[M,14,14,488,14,33,507],\n[M,15,2,581,15,30,609],\n[M,15,2,581,15,18,597],\n[M,15,22,601,15,30,609],\n[M,18,0,615,34,3,1542],\n[M,19,10,692,25,47,1052],\n[M,19,11,693,19,22,704],\n[M,19,29,711,19,60,742],\n[M,19,30,712,19,34,716],\n[M,20,29,774,20,45,790],\n[M,20,30,775,20,34,779],\n[M,21,29,822,21,55,848],\n[M,21,30,823,21,34,827],\n[M,22,29,880,22,60,911],\n[M,22,30,881,22,34,885],\n[M,23,29,943,23,40,954],\n[M,23,30,944,23,34,948],\n[M,24,29,986,24,45,1002],\n[M,24,30,987,24,34,991],\n[M,25,30,1035,25,46,1051],\n[M,25,31,1036,25,35,1040],\n[M,26,13,1066,32,55,1507],\n[M,26,14,1067,26,33,1086],\n[M,33,2,1510,33,30,1538],\n[M,33,2,1510,33,18,1526],\n[M,33,22,1530,33,30,1538],\n[M,1,0,0,34,3,1542]];\nvar nothing1 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar arrays2 = $arrays12;\nvar $base3 = $$base13;\nvar $constants4 = $$constants14;\nvar error5 = $error15;\nvar $global6 = $$global16;\nvar lists7 = $lists17;\nvar option8 = $option18;\nvar sets9 = $sets19;\nvar $included$24 = $$included$26;\nvar $included$110 = $$included$120;\nvar translate1 = R.getModuleField(\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\",\"values\",\"translate\");\nvar mutable$string$dict2 = R.getModuleField(\"builtin://string-dict\",\"values\",\"mutable-string-dict\");\nvar list1 = R.getModuleField(\"builtin://lists\",\"values\",\"list\");\nvar string$dict2 = R.getModuleField(\"builtin://string-dict\",\"values\",\"string-dict\");\nvar $toplevel128 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__54($$resumer28) {\nvar $step127 = 0;\nvar $elidedFrames291 = 0;\nvar $ans288 = D;\nvar $al289 = L[54];\nif(R.isAR($$resumer28)) {\n$step127 = $$resumer28.step;\n$al289 = $$resumer28.from;\n$ans288 = $$resumer28.ans;\n$elidedFrames291 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_method_obj79 = $$resumer28.vars[0];\nresult$after$checks1420 = $$resumer28.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans288 = R.mC();\n}\nwhile(!R.isContinuation($ans288)) {\nswitch($step127) {\ncase 0: var $underscore14 = {\"$var\":D};\nvar $underscore19 = {\"$var\":D};\nvar $underscore252 = {\"$var\":D};\nvar $underscore253 = {\"$var\":D};\n$underscore14.$var = nothing1;\nR.nothing;\n$underscore19.$var = nothing1;\nR.nothing;\n$underscore252.$var = nothing1;\nR.nothing;\n$underscore253.$var = nothing1;\nR.nothing;\n$step127 = 1;\n$al289 = L[0];\nvar $obj293 = R.builtins;\nvar $field294 = R.gCFL($obj293,\"trace-value\",L[0]);\nif(R.isM($field294)) {\n$ans288 = $field294.full_meth($obj293,L[0],R.nothing);\n} else {\nif(typeof($field294.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[0],$field294);\n}\n$ans288 = $field294.app(L[0],R.nothing);\n}\nbreak;\ncase 1: var result$after$checks1420 = $ans288;\n$step127 = 2;\n$al289 = L[1];\nvar $obj295 = R.builtins;\nvar $field296 = R.gCFL($obj295,\"current-checker\",L[1]);\nif(R.isM($field296)) {\n$ans288 = $field296.full_meth($obj295);\n} else {\nif(typeof($field296.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field296);\n}\n$ans288 = $field296.app();\n}\nbreak;\ncase 2: var anf_method_obj79 = $ans288;\n$ans288 = R.makeArrayN((4));\nvar anf_array413 = $ans288;\nvar $temp_lam298 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__2($$resumer28) {\nvar $step297 = 0;\nvar $elidedFrames302 = 0;\nvar $ans299 = D;\nvar $al300 = L[2];\nif(R.isAR($$resumer28)) {\n$step297 = $$resumer28.step;\n$al300 = $$resumer28.from;\n$ans299 = $$resumer28.ans;\n$elidedFrames302 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans299 = R.mC();\n}\nwhile(!R.isContinuation($ans299)) {\nswitch($step297) {\ncase 0: $step297 = 1;\n$al300 = L[3];\nvar $obj304 = R.builtins;\nvar $field305 = R.gCFL($obj304,\"current-checker\",L[3]);\nif(R.isM($field305)) {\n$ans299 = $field305.full_meth($obj304);\n} else {\nif(typeof($field305.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[3],$field305);\n}\n$ans299 = $field305.app();\n}\nbreak;\ncase 1: var anf_method_obj86 = $ans299;\nvar $temp_lam307 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__4($$resumer28) {\nvar $step306 = 0;\nvar $elidedFrames311 = 0;\nvar $ans308 = D;\nvar $al309 = L[4];\nif(R.isAR($$resumer28)) {\n$step306 = $$resumer28.step;\n$al309 = $$resumer28.from;\n$ans308 = $$resumer28.ans;\n$elidedFrames311 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_fun74 = $$resumer28.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans308 = R.mC();\n}\nwhile(!R.isContinuation($ans308)) {\nswitch($step306) {\ncase 0: $ans308 = R.getMaker2(string$dict2,(\"make2\"),L[5],L[6]);\nvar anf_fun74 = $ans308;\n$ans308 = R.getMaker1(list1,(\"make1\"),L[7],L[8]);\nvar anf_fun73 = $ans308;\n$step306 = 1;\n$al309 = L[8];\nif(typeof(anf_fun73.app) !== \"function\") {\nR.ffi.throwNonFunApp($al309,anf_fun73);\n}\n$ans308 = anf_fun73.app((\"A\"));\nbreak;\ncase 1: var anf_arg75 = $ans308;\n$step306 = 2;\n$al309 = L[6];\nif(typeof(anf_fun74.app) !== \"function\") {\nR.ffi.throwNonFunApp($al309,anf_fun74);\n}\n$ans308 = anf_fun74.app((\"1\"),anf_arg75);\nbreak;\ncase 2: var anf_arg87 = $ans308;\n$step306 = 3;\n$al309 = L[4];\n// omitting isFunction check;\n$ans308 = translate1.app(anf_arg87);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans308;\ndefault: R.ffi.throwSpinnakerError(L[4],$step306);\n}\n}\nif($step306 !== 3) {\n$ans308.stack[R.EXN_STACKHEIGHT++] = R.mAR($al309,$temp_lam307,$step306,[],[anf_fun74],$elidedFrames311);\n}\nreturn $ans308;\n};\nvar anf_arg81 = R.mF($temp_lam307,\"\");\nvar $temp_lam314 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__9($$resumer28) {\nvar $step313 = 0;\nvar $elidedFrames318 = 0;\nvar $ans315 = D;\nvar $al316 = L[9];\nif(R.isAR($$resumer28)) {\n$step313 = $$resumer28.step;\n$al316 = $$resumer28.from;\n$ans315 = $$resumer28.ans;\n$elidedFrames318 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans315 = R.mC();\n}\nwhile(!R.isContinuation($ans315)) {\nswitch($step313) {\ncase 0: $ans315 = R.getMaker2(mutable$string$dict2,(\"make2\"),L[9],L[10]);\nvar anf_fun302 = $ans315;\n$step313 = 1;\n$al316 = L[10];\nif(typeof(anf_fun302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun302);\n}\n$ans315 = anf_fun302.app((\"a\"),(\"1\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans315;\ndefault: R.ffi.throwSpinnakerError(L[9],$step313);\n}\n}\nif($step313 !== 1) {\n$ans315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al316,$temp_lam314,$step313,[],[],$elidedFrames318);\n}\nreturn $ans315;\n};\nvar anf_arg88 = R.mF($temp_lam314,\"\");\n$ans299 = R.makeSrcloc(L[3]);\nvar anf_arg89 = $ans299;\n$step297 = 2;\n$ans299 = R.maybeMethodCall3(anf_method_obj86,\"check-is\",L[3],anf_arg81,anf_arg88,anf_arg89);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans299;\ndefault: R.ffi.throwSpinnakerError(L[2],$step297);\n}\n}\nif($step297 !== 2) {\n$ans299.stack[R.EXN_STACKHEIGHT++] = R.mAR($al300,$temp_lam298,$step297,[],[],$elidedFrames302);\n}\nreturn $ans299;\n};\nvar anf_obj91 = R.mF($temp_lam298,\"\");\n$ans288 = R.makeSrcloc(L[2]);\nvar anf_obj92 = $ans288;\nanf_array413[0] = R.mO({\"name\":(\"single letter\"),\n\"run\":anf_obj91,\n\"keyword-check\":(true),\n\"location\":anf_obj92});\nvar $temp_lam324 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__11($$resumer28) {\nvar $step323 = 0;\nvar $elidedFrames328 = 0;\nvar $ans325 = D;\nvar $al326 = L[11];\nif(R.isAR($$resumer28)) {\n$step323 = $$resumer28.step;\n$al326 = $$resumer28.from;\n$ans325 = $$resumer28.ans;\n$elidedFrames328 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans325 = R.mC();\n}\nwhile(!R.isContinuation($ans325)) {\nswitch($step323) {\ncase 0: $step323 = 1;\n$al326 = L[12];\nvar $obj329 = R.builtins;\nvar $field330 = R.gCFL($obj329,\"current-checker\",L[12]);\nif(R.isM($field330)) {\n$ans325 = $field330.full_meth($obj329);\n} else {\nif(typeof($field330.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[12],$field330);\n}\n$ans325 = $field330.app();\n}\nbreak;\ncase 1: var anf_method_obj332 = $ans325;\nvar $temp_lam332 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__13($$resumer28) {\nvar $step331 = 0;\nvar $elidedFrames336 = 0;\nvar $ans333 = D;\nvar $al334 = L[13];\nif(R.isAR($$resumer28)) {\n$step331 = $$resumer28.step;\n$al334 = $$resumer28.from;\n$ans333 = $$resumer28.ans;\n$elidedFrames336 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_fun321 = $$resumer28.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans333 = R.mC();\n}\nwhile(!R.isContinuation($ans333)) {\nswitch($step331) {\ncase 0: $ans333 = R.getMaker2(string$dict2,(\"make2\"),L[14],L[15]);\nvar anf_fun321 = $ans333;\n$ans333 = R.getMaker5(list1,(\"make5\"),L[16],L[17]);\nvar anf_fun327 = $ans333;\n$step331 = 1;\n$al334 = L[17];\nif(typeof(anf_fun327.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun327);\n}\n$ans333 = anf_fun327.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: var anf_arg322 = $ans333;\n$step331 = 2;\n$al334 = L[15];\nif(typeof(anf_fun321.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun321);\n}\n$ans333 = anf_fun321.app((\"1\"),anf_arg322);\nbreak;\ncase 2: var anf_arg330 = $ans333;\n$step331 = 3;\n$al334 = L[13];\n// omitting isFunction check;\n$ans333 = translate1.app(anf_arg330);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans333;\ndefault: R.ffi.throwSpinnakerError(L[13],$step331);\n}\n}\nif($step331 !== 3) {\n$ans333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al334,$temp_lam332,$step331,[],[anf_fun321],$elidedFrames336);\n}\nreturn $ans333;\n};\nvar anf_arg331 = R.mF($temp_lam332,\"\");\nvar $temp_lam339 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__18($$resumer28) {\nvar $step338 = 0;\nvar $elidedFrames343 = 0;\nvar $ans340 = D;\nvar $al341 = L[18];\nif(R.isAR($$resumer28)) {\n$step338 = $$resumer28.step;\n$al341 = $$resumer28.from;\n$ans340 = $$resumer28.ans;\n$elidedFrames343 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[18],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans340 = R.mC();\n}\nwhile(!R.isContinuation($ans340)) {\nswitch($step338) {\ncase 0: $ans340 = R.getMaker(mutable$string$dict2,(\"make\"),L[18],L[19]);\nvar anf_fun336 = $ans340;\n$ans340 = R.makeArrayN((10));\nvar anf_array330 = $ans340;\nanf_array330[0] = (\"a\");\nanf_array330[1] = (\"1\");\nanf_array330[2] = (\"e\");\nanf_array330[3] = (\"1\");\nanf_array330[4] = (\"i\");\nanf_array330[5] = (\"1\");\nanf_array330[6] = (\"o\");\nanf_array330[7] = (\"1\");\nanf_array330[8] = (\"u\");\nanf_array330[9] = (\"1\");\n$step338 = 1;\n$al341 = L[19];\nif(typeof(anf_fun336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al341,anf_fun336);\n}\n$ans340 = anf_fun336.app(anf_array330);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans340;\ndefault: R.ffi.throwSpinnakerError(L[18],$step338);\n}\n}\nif($step338 !== 1) {\n$ans340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al341,$temp_lam339,$step338,[],[],$elidedFrames343);\n}\nreturn $ans340;\n};\nvar anf_arg333 = R.mF($temp_lam339,\"\");\n$ans325 = R.makeSrcloc(L[12]);\nvar anf_arg340 = $ans325;\n$step323 = 2;\n$ans325 = R.maybeMethodCall3(anf_method_obj332,\"check-is\",L[12],anf_arg331,anf_arg333,anf_arg340);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans325;\ndefault: R.ffi.throwSpinnakerError(L[11],$step323);\n}\n}\nif($step323 !== 2) {\n$ans325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al326,$temp_lam324,$step323,[],[],$elidedFrames328);\n}\nreturn $ans325;\n};\nvar anf_obj335 = R.mF($temp_lam324,\"\");\n$ans288 = R.makeSrcloc(L[11]);\nvar anf_obj336 = $ans288;\nanf_array413[1] = R.mO({\"name\":(\"single score with multiple letters\"),\n\"run\":anf_obj335,\n\"keyword-check\":(true),\n\"location\":anf_obj336});\nvar $temp_lam347 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__20($$resumer28) {\nvar $step346 = 0;\nvar $elidedFrames351 = 0;\nvar $ans348 = D;\nvar $al349 = L[20];\nif(R.isAR($$resumer28)) {\n$step346 = $$resumer28.step;\n$al349 = $$resumer28.from;\n$ans348 = $$resumer28.ans;\n$elidedFrames351 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\ninput357 = $$resumer28.vars[0];\nanf_arg354 = $$resumer28.vars[1];\nexpected367 = $$resumer28.vars[2];\nanf_fun349 = $$resumer28.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[20],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans348 = R.mC();\n}\nwhile(!R.isContinuation($ans348)) {\nswitch($step346) {\ncase 0: $ans348 = R.getMaker4(string$dict2,(\"make4\"),L[21],L[22]);\nvar anf_fun349 = $ans348;\n$ans348 = R.getMaker5(list1,(\"make5\"),L[23],L[24]);\nvar anf_fun343 = $ans348;\n$step346 = 1;\n$al349 = L[24];\nif(typeof(anf_fun343.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun343);\n}\n$ans348 = anf_fun343.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: var anf_arg354 = $ans348;\n$ans348 = R.getMaker2(list1,(\"make2\"),L[25],L[26]);\nvar anf_fun344 = $ans348;\n$step346 = 2;\n$al349 = L[26];\nif(typeof(anf_fun344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun344);\n}\n$ans348 = anf_fun344.app((\"D\"),(\"G\"));\nbreak;\ncase 2: var anf_arg345 = $ans348;\n$step346 = 3;\n$al349 = L[22];\nif(typeof(anf_fun349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun349);\n}\n$ans348 = anf_fun349.app((\"1\"),anf_arg354,(\"2\"),anf_arg345);\nbreak;\ncase 3: var input357 = $ans348;\n$ans348 = R.getMaker(mutable$string$dict2,(\"make\"),L[27],L[28]);\nvar anf_fun346 = $ans348;\n$ans348 = R.makeArrayN((14));\nvar anf_array347 = $ans348;\nanf_array347[0] = (\"a\");\nanf_array347[1] = (\"1\");\nanf_array347[2] = (\"e\");\nanf_array347[3] = (\"1\");\nanf_array347[4] = (\"i\");\nanf_array347[5] = (\"1\");\nanf_array347[6] = (\"o\");\nanf_array347[7] = (\"1\");\nanf_array347[8] = (\"u\");\nanf_array347[9] = (\"1\");\nanf_array347[10] = (\"d\");\nanf_array347[11] = (\"2\");\nanf_array347[12] = (\"g\");\nanf_array347[13] = (\"2\");\n$step346 = 4;\n$al349 = L[28];\nif(typeof(anf_fun346.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun346);\n}\n$ans348 = anf_fun346.app(anf_array347);\nbreak;\ncase 4: var expected367 = $ans348;\n$step346 = 5;\n$al349 = L[29];\nvar $obj352 = R.builtins;\nvar $field353 = R.gCFL($obj352,\"current-checker\",L[29]);\nif(R.isM($field353)) {\n$ans348 = $field353.full_meth($obj352);\n} else {\nif(typeof($field353.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[29],$field353);\n}\n$ans348 = $field353.app();\n}\nbreak;\ncase 5: var anf_method_obj370 = $ans348;\nvar $temp_lam356 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__30($$resumer28) {\nvar $step355 = 0;\nvar $elidedFrames360 = 0;\nvar $ans357 = D;\nvar $al358 = L[30];\nif(R.isAR($$resumer28)) {\n$step355 = $$resumer28.step;\n$al358 = $$resumer28.from;\n$ans357 = $$resumer28.ans;\n$elidedFrames360 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans357 = R.mC();\n}\nwhile(!R.isContinuation($ans357)) {\nswitch($step355) {\ncase 0: $step355 = 1;\n$al358 = L[30];\n// omitting isFunction check;\n$ans357 = translate1.app(input357);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans357;\ndefault: R.ffi.throwSpinnakerError(L[30],$step355);\n}\n}\nif($step355 !== 1) {\n$ans357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al358,$temp_lam356,$step355,[],[],$elidedFrames360);\n}\nreturn $ans357;\n};\nvar anf_arg371 = R.mF($temp_lam356,\"\");\nvar $temp_lam363 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__31($$resumer28) {\nvar $step362 = 0;\nvar $elidedFrames367 = 0;\nvar $ans364 = D;\nvar $al365 = L[31];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[31],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans364)) {\nswitch($step362) {\ncase 0: $step362 = 1;\n$ans364 = expected367;\nbreak;\ncase 1: return $ans364;\ndefault: R.ffi.throwSpinnakerError(L[31],$step362);\n}\n}\nreturn $ans364;\n};\nvar anf_arg372 = R.mF($temp_lam363,\"\");\n$ans348 = R.makeSrcloc(L[29]);\nvar anf_arg373 = $ans348;\n$step346 = 6;\n$ans348 = R.maybeMethodCall3(anf_method_obj370,\"check-is\",L[29],anf_arg371,anf_arg372,anf_arg373);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans348;\ndefault: R.ffi.throwSpinnakerError(L[20],$step346);\n}\n}\nif($step346 !== 6) {\n$ans348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al349,$temp_lam347,$step346,[],[input357,anf_arg354,expected367,anf_fun349],$elidedFrames351);\n}\nreturn $ans348;\n};\nvar anf_obj375 = R.mF($temp_lam347,\"\");\n$ans288 = R.makeSrcloc(L[20]);\nvar anf_obj376 = $ans288;\nanf_array413[2] = R.mO({\"name\":(\"multiple scores with multiple letters\"),\n\"run\":anf_obj375,\n\"keyword-check\":(true),\n\"location\":anf_obj376});\nvar $temp_lam374 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__32($$resumer28) {\nvar $step373 = 0;\nvar $elidedFrames378 = 0;\nvar $ans375 = D;\nvar $al376 = L[32];\nif(R.isAR($$resumer28)) {\n$step373 = $$resumer28.step;\n$al376 = $$resumer28.from;\n$ans375 = $$resumer28.ans;\n$elidedFrames378 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nexpected405 = $$resumer28.vars[0];\ninput395 = $$resumer28.vars[1];\nanf_array385 = $$resumer28.vars[2];\nanf_fun378 = $$resumer28.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans375 = R.mC();\n}\nwhile(!R.isContinuation($ans375)) {\nswitch($step373) {\ncase 0: $ans375 = R.getMaker(string$dict2,(\"make\"),L[33],L[34]);\nvar anf_fun378 = $ans375;\n$ans375 = R.makeArrayN((14));\nvar anf_array385 = $ans375;\nanf_array385[0] = (\"1\");\n$ans375 = R.getMaker5(list1,(\"make5\"),L[35],L[36]);\nvar anf_fun379 = $ans375;\n$step373 = 1;\n$al376 = L[36];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun379);\n}\n$ans375 = anf_fun379.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: anf_array385[1] = $ans375;\nanf_array385[2] = (\"2\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[37],L[38]);\nvar anf_fun377 = $ans375;\n$step373 = 2;\n$al376 = L[38];\nif(typeof(anf_fun377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun377);\n}\n$ans375 = anf_fun377.app((\"D\"),(\"G\"));\nbreak;\ncase 2: anf_array385[3] = $ans375;\nanf_array385[4] = (\"3\");\n$ans375 = R.getMaker4(list1,(\"make4\"),L[39],L[40]);\nvar anf_fun380 = $ans375;\n$step373 = 3;\n$al376 = L[40];\nif(typeof(anf_fun380.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun380);\n}\n$ans375 = anf_fun380.app((\"B\"),(\"C\"),(\"M\"),(\"P\"));\nbreak;\ncase 3: anf_array385[5] = $ans375;\nanf_array385[6] = (\"4\");\n$ans375 = R.getMaker5(list1,(\"make5\"),L[41],L[42]);\nvar anf_fun366 = $ans375;\n$step373 = 4;\n$al376 = L[42];\nif(typeof(anf_fun366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun366);\n}\n$ans375 = anf_fun366.app((\"F\"),(\"H\"),(\"V\"),(\"W\"),(\"Y\"));\nbreak;\ncase 4: anf_array385[7] = $ans375;\nanf_array385[8] = (\"5\");\n$ans375 = R.getMaker1(list1,(\"make1\"),L[43],L[44]);\nvar anf_fun381 = $ans375;\n$step373 = 5;\n$al376 = L[44];\nif(typeof(anf_fun381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun381);\n}\n$ans375 = anf_fun381.app((\"K\"));\nbreak;\ncase 5: anf_array385[9] = $ans375;\nanf_array385[10] = (\"8\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[45],L[46]);\nvar anf_fun383 = $ans375;\n$step373 = 6;\n$al376 = L[46];\nif(typeof(anf_fun383.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun383);\n}\n$ans375 = anf_fun383.app((\"J\"),(\"X\"));\nbreak;\ncase 6: anf_array385[11] = $ans375;\nanf_array385[12] = (\"10\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[47],L[48]);\nvar anf_fun384 = $ans375;\n$step373 = 7;\n$al376 = L[48];\nif(typeof(anf_fun384.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun384);\n}\n$ans375 = anf_fun384.app((\"Q\"),(\"Z\"));\nbreak;\ncase 7: anf_array385[13] = $ans375;\n$step373 = 8;\n$al376 = L[34];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun378);\n}\n$ans375 = anf_fun378.app(anf_array385);\nbreak;\ncase 8: var input395 = $ans375;\n$ans375 = R.getMaker(mutable$string$dict2,(\"make\"),L[49],L[50]);\nvar anf_fun394 = $ans375;\n$ans375 = R.makeArrayN((42));\nvar anf_array395 = $ans375;\nanf_array395[0] = (\"a\");\nanf_array395[1] = (\"1\");\nanf_array395[2] = (\"e\");\nanf_array395[3] = (\"1\");\nanf_array395[4] = (\"i\");\nanf_array395[5] = (\"1\");\nanf_array395[6] = (\"o\");\nanf_array395[7] = (\"1\");\nanf_array395[8] = (\"u\");\nanf_array395[9] = (\"1\");\nanf_array395[10] = (\"d\");\nanf_array395[11] = (\"2\");\nanf_array395[12] = (\"g\");\nanf_array395[13] = (\"2\");\nanf_array395[14] = (\"b\");\nanf_array395[15] = (\"3\");\nanf_array395[16] = (\"c\");\nanf_array395[17] = (\"3\");\nanf_array395[18] = (\"m\");\nanf_array395[19] = (\"3\");\nanf_array395[20] = (\"p\");\nanf_array395[21] = (\"3\");\nanf_array395[22] = (\"f\");\nanf_array395[23] = (\"4\");\nanf_array395[24] = (\"h\");\nanf_array395[25] = (\"4\");\nanf_array395[26] = (\"v\");\nanf_array395[27] = (\"4\");\nanf_array395[28] = (\"w\");\nanf_array395[29] = (\"4\");\nanf_array395[30] = (\"y\");\nanf_array395[31] = (\"4\");\nanf_array395[32] = (\"k\");\nanf_array395[33] = (\"5\");\nanf_array395[34] = (\"j\");\nanf_array395[35] = (\"8\");\nanf_array395[36] = (\"x\");\nanf_array395[37] = (\"8\");\nanf_array395[38] = (\"q\");\nanf_array395[39] = (\"10\");\nanf_array395[40] = (\"z\");\nanf_array395[41] = (\"10\");\n$step373 = 9;\n$al376 = L[50];\nif(typeof(anf_fun394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun394);\n}\n$ans375 = anf_fun394.app(anf_array395);\nbreak;\ncase 9: var expected405 = $ans375;\n$step373 = 10;\n$al376 = L[51];\nvar $obj379 = R.builtins;\nvar $field380 = R.gCFL($obj379,\"current-checker\",L[51]);\nif(R.isM($field380)) {\n$ans375 = $field380.full_meth($obj379);\n} else {\nif(typeof($field380.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[51],$field380);\n}\n$ans375 = $field380.app();\n}\nbreak;\ncase 10: var anf_method_obj407 = $ans375;\nvar $temp_lam382 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__52($$resumer28) {\nvar $step381 = 0;\nvar $elidedFrames386 = 0;\nvar $ans383 = D;\nvar $al384 = L[52];\nif(R.isAR($$resumer28)) {\n$step381 = $$resumer28.step;\n$al384 = $$resumer28.from;\n$ans383 = $$resumer28.ans;\n$elidedFrames386 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[52],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans383 = R.mC();\n}\nwhile(!R.isContinuation($ans383)) {\nswitch($step381) {\ncase 0: $step381 = 1;\n$al384 = L[52];\n// omitting isFunction check;\n$ans383 = translate1.app(input395);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans383;\ndefault: R.ffi.throwSpinnakerError(L[52],$step381);\n}\n}\nif($step381 !== 1) {\n$ans383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al384,$temp_lam382,$step381,[],[],$elidedFrames386);\n}\nreturn $ans383;\n};\nvar anf_arg400 = R.mF($temp_lam382,\"\");\nvar $temp_lam392 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__53($$resumer28) {\nvar $step391 = 0;\nvar $elidedFrames396 = 0;\nvar $ans393 = D;\nvar $al394 = L[53];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans393)) {\nswitch($step391) {\ncase 0: $step391 = 1;\n$ans393 = expected405;\nbreak;\ncase 1: return $ans393;\ndefault: R.ffi.throwSpinnakerError(L[53],$step391);\n}\n}\nreturn $ans393;\n};\nvar anf_arg409 = R.mF($temp_lam392,\"\");\n$ans375 = R.makeSrcloc(L[51]);\nvar anf_arg408 = $ans375;\n$step373 = 11;\n$ans375 = R.maybeMethodCall3(anf_method_obj407,\"check-is\",L[51],anf_arg400,anf_arg409,anf_arg408);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans375;\ndefault: R.ffi.throwSpinnakerError(L[32],$step373);\n}\n}\nif($step373 !== 11) {\n$ans375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al376,$temp_lam374,$step373,[],[expected405,input395,anf_array385,anf_fun378],$elidedFrames378);\n}\nreturn $ans375;\n};\nvar anf_obj411 = R.mF($temp_lam374,\"\");\n$ans288 = R.makeSrcloc(L[32]);\nvar anf_obj412 = $ans288;\nanf_array413[3] = R.mO({\"name\":(\"multiple scores with multiple letters and multiple scores\"),\n\"run\":anf_obj411,\n\"keyword-check\":(true),\n\"location\":anf_obj412});\n$step127 = 3;\n$al289 = L[1];\nvar $obj401 = R.builtins;\nvar $field402 = R.gCFL($obj401,\"raw-array-to-list\",L[1]);\nif(R.isM($field402)) {\n$ans288 = $field402.full_meth($obj401,anf_array413);\n} else {\nif(typeof($field402.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field402);\n}\n$ans288 = $field402.app(anf_array413);\n}\nbreak;\ncase 3: var anf_arg416 = $ans288;\n$step127 = 4;\n$ans288 = R.maybeMethodCall2(anf_method_obj79,\"run-checks\",L[1],(\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"),anf_arg416);\nbreak;\ncase 4: $step127 = 5;\n$al289 = L[1];\nvar $obj403 = R.builtins;\nvar $field404 = R.gCFL($obj403,\"current-checker\",L[1]);\nif(R.isM($field404)) {\n$ans288 = $field404.full_meth($obj403);\n} else {\nif(typeof($field404.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field404);\n}\n$ans288 = $field404.app();\n}\nbreak;\ncase 5: var anf_method_obj419 = $ans288;\n$step127 = 6;\n$ans288 = R.maybeMethodCall0(anf_method_obj419,\"results\",L[1]);\nbreak;\ncase 6: var checks421 = $ans288;\n$step127 = 7;\n$ans288 = R.mO({\"answer\":result$after$checks1420,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"sets\":sets9,\n\"error\":error5,\n\"option\":option8,\n\"lists\":lists7,\n\"arrays\":arrays2,\n\"$constants\":$constants4,\n\"$base\":$base3,\n\"$global\":$global6},\n\"defined-values\":{},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks421});\nbreak;\ncase 7: ++R.GAS;\nreturn $ans288;\ndefault: R.ffi.throwSpinnakerError(L[54],$step127);\n}\n}\nif($step127 !== 7) {\n$ans288.stack[R.EXN_STACKHEIGHT++] = R.mAR($al289,$toplevel128,$step127,[],[anf_method_obj79,result$after$checks1420],$elidedFrames291);\n}\nreturn $ans288;\n};\nreturn R.safeCall($toplevel128,function module_load(moduleVal) {\nR.modules[\"$file:///workspaces/pyret/exercises/practice/etl/etl$test.arr28\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", +"nativeRequires":[], +"provides":{"modules":{}, +"values":{}, +"datatypes":{}, +"aliases":{}}, +"requires":[{"import-type":"builtin", +"name":"arrays"}, +{"import-type":"builtin", +"name":"base"}, +{"import-type":"builtin", +"name":"constants"}, +{"import-type":"builtin", +"name":"error"}, +{"import-type":"builtin", +"name":"global"}, +{"import-type":"builtin", +"name":"lists"}, +{"import-type":"builtin", +"name":"option"}, +{"import-type":"builtin", +"name":"sets"}, +{"import-type":"builtin", +"name":"string-dict"}, +{"import-type":"dependency", +"protocol":"file", +"args":["etl.arr"]}]})}, +"depMap":{"builtin://global":{}, +"builtin://either":{"builtin(global)":"builtin://global"}, +"builtin://error-display":{"builtin(global)":"builtin://global"}, +"builtin://option":{"builtin(global)":"builtin://global"}, +"builtin://valueskeleton":{"builtin(global)":"builtin://global"}, +"builtin://srcloc":{"builtin(global)":"builtin://global", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://error":{"builtin(error-display)":"builtin://error-display", +"builtin(global)":"builtin://global", +"builtin(option)":"builtin://option", +"builtin(srcloc)":"builtin://srcloc", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://equality":{"builtin(error)":"builtin://error", +"builtin(global)":"builtin://global"}, +"builtin://lists":{"builtin(either)":"builtin://either", +"builtin(equality)":"builtin://equality", +"builtin(global)":"builtin://global", +"builtin(option)":"builtin://option", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://arrays":{"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://pick":{"builtin(global)":"builtin://global"}, +"builtin://sets":{"builtin(equality)":"builtin://equality", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(pick)":"builtin://pick", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://contracts":{"builtin(error-display)":"builtin://error-display", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option"}, +"builtin://string-dict":{"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://render-error-display":{"builtin(either)":"builtin://either", +"builtin(error-display)":"builtin://error-display", +"builtin(global)":"builtin://global", +"builtin(option)":"builtin://option", +"builtin(srcloc)":"builtin://srcloc"}, +"builtin://ffi":{"builtin(contracts)":"builtin://contracts", +"builtin(either)":"builtin://either", +"builtin(equality)":"builtin://equality", +"builtin(error)":"builtin://error", +"builtin(error-display)":"builtin://error-display", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option", +"builtin(sets)":"builtin://sets", +"builtin(srcloc)":"builtin://srcloc", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://checker":{"builtin(either)":"builtin://either", +"builtin(equality)":"builtin://equality", +"builtin(error)":"builtin://error", +"builtin(error-display)":"builtin://error-display", +"builtin(ffi)":"builtin://ffi", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option", +"builtin(render-error-display)":"builtin://render-error-display", +"builtin(srcloc)":"builtin://srcloc", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://table":{"builtin(equality)":"builtin://equality", +"builtin(ffi)":"builtin://ffi", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://tables":{"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists"}, +"builtin://reactor-events":{"builtin(global)":"builtin://global"}, +"builtin://reactors":{"builtin(reactor-events)":"builtin://reactor-events", +"builtin(table)":"builtin://table", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"builtin://data-source":{"builtin(global)":"builtin://global", +"builtin(option)":"builtin://option"}, +"builtin://constants":{"builtin(global)":"builtin://global"}, +"builtin://s-exp-structs":{"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists"}, +"builtin://s-exp":{"builtin(s-exp-structs)":"builtin://s-exp-structs"}, +"builtin://base":{"builtin(arrays)":"builtin://arrays", +"builtin(checker)":"builtin://checker", +"builtin(constants)":"builtin://constants", +"builtin(contracts)":"builtin://contracts", +"builtin(data-source)":"builtin://data-source", +"builtin(either)":"builtin://either", +"builtin(equality)":"builtin://equality", +"builtin(error)":"builtin://error", +"builtin(error-display)":"builtin://error-display", +"builtin(ffi)":"builtin://ffi", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option", +"builtin(pick)":"builtin://pick", +"builtin(reactors)":"builtin://reactors", +"builtin(render-error-display)":"builtin://render-error-display", +"builtin(s-exp)":"builtin://s-exp", +"builtin(sets)":"builtin://sets", +"builtin(srcloc)":"builtin://srcloc", +"builtin(string-dict)":"builtin://string-dict", +"builtin(table)":"builtin://table", +"builtin(tables)":"builtin://tables", +"builtin(valueskeleton)":"builtin://valueskeleton"}, +"file:///workspaces/pyret/exercises/practice/etl/etl.arr":{"builtin(arrays)":"builtin://arrays", +"builtin(base)":"builtin://base", +"builtin(constants)":"builtin://constants", +"builtin(error)":"builtin://error", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option", +"builtin(sets)":"builtin://sets", +"builtin(string-dict)":"builtin://string-dict"}, +"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr":{"builtin(arrays)":"builtin://arrays", +"builtin(base)":"builtin://base", +"builtin(constants)":"builtin://constants", +"builtin(error)":"builtin://error", +"builtin(global)":"builtin://global", +"builtin(lists)":"builtin://lists", +"builtin(option)":"builtin://option", +"builtin(sets)":"builtin://sets", +"builtin(string-dict)":"builtin://string-dict", +"file(etl.arr)":"file:///workspaces/pyret/exercises/practice/etl/etl.arr"}}, +"toLoad":["builtin://global","builtin://either","builtin://error-display","builtin://option","builtin://valueskeleton","builtin://srcloc","builtin://error","builtin://equality","builtin://lists","builtin://arrays","builtin://pick","builtin://sets","builtin://contracts","builtin://string-dict","builtin://render-error-display","builtin://ffi","builtin://checker","builtin://table","builtin://tables","builtin://reactor-events","builtin://reactors","builtin://data-source","builtin://constants","builtin://s-exp-structs","builtin://s-exp","builtin://base","file:///workspaces/pyret/exercises/practice/etl/etl.arr","file:///workspaces/pyret/exercises/practice/etl/etl-test.arr"], +"uris":{"63dbd0f07813bfaa79cd9de0fdff53b53a0ec4bb05cfb52a327435decc390b59":"builtin://global", +"3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d":"builtin://either", +"45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e":"builtin://error-display", +"031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645":"builtin://option", +"62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f":"builtin://valueskeleton", +"8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f":"builtin://srcloc", +"9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453":"builtin://error", +"7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115":"builtin://equality", +"848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b":"builtin://lists", +"a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0":"builtin://arrays", +"4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384":"builtin://pick", +"c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275":"builtin://sets", +"935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b":"builtin://contracts", +"e8d3007cbac535b595e70655683a876934ecf3a307ab2d4115ffa914dd011889":"builtin://string-dict", +"4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96":"builtin://render-error-display", +"db6c2f9817723ebf6fc8a375b59983de450942f6db406a149cd7040f53ddf095":"builtin://ffi", +"87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72":"builtin://checker", +"7067bdbcac8eb8b1b8b3c085cf69f2ad489ed9301ad3076df3ee5881c4bd257f":"builtin://table", +"7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c":"builtin://tables", +"c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543":"builtin://reactor-events", +"9ab64718c5223291b20b694148b2e830b4247d9cd4a2aa873cdc1c3f86ac40ee":"builtin://reactors", +"7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72":"builtin://data-source", +"dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee":"builtin://constants", +"03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0":"builtin://s-exp-structs", +"6c90c8c7901bf89f1ccc6cd3480cc9e7863e3bd36fa5e1d90440757ee55b2c7c":"builtin://s-exp", +"17d273f0ec8b89bb47c40676d0adc211fef13d13830b71c0fbc3c2a24531f9b3":"builtin://base", +"9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517":"file:///workspaces/pyret/exercises/practice/etl/etl.arr", +"a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db":"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr"}, +"runtimeOptions":{"checks":"all", +"disableAnnotationChecks":false}} +}); +/* +TODO(joe): see how the lack of this interacts with CPO + +if(typeof window === 'undefined') { +var require = require("requirejs"); +} +require(["pyret-base/js/runtime", "pyret-base/js/exn-stack-parser", "program"], function(runtimeLib, stackLib, program) { + +*/ +// TODO: Change to myrequire +requirejs(["pyret-base/js/runtime", "pyret-base/js/post-load-hooks", "pyret-base/js/exn-stack-parser", "program"], function(runtimeLib, loadHooksLib, stackLib, program) { + + var staticModules = program.staticModules; + var depMap = program.depMap; + var toLoad = program.toLoad; + var uris = program.uris; + var realm = { instantiated: {}, static: {}}; + var util = require('util'); // This lets us mimic console.log of fancy objects, while using process.stderr.write + + var main = toLoad[toLoad.length - 1]; + + var runtime = runtimeLib.makeRuntime({ + stdout: function(s) { process.stdout.write(s); }, + stderr: function(s) { process.stderr.write(s); } + }); + + var EXIT_SUCCESS = 0; + var EXIT_ERROR = 1; + var EXIT_ERROR_RENDERING_ERROR = 2; + var EXIT_ERROR_DISPLAYING_ERROR = 3; + var EXIT_ERROR_CHECK_FAILURES = 4; + var EXIT_ERROR_JS = 5; + var EXIT_ERROR_UNKNOWN = 6; + + runtime.setParam("command-line-arguments", process.argv.slice(1)); + + function checkFlag(name) { + return program.runtimeOptions && program.runtimeOptions[name]; + } + + if(checkFlag("disableAnnotationChecks")) { + runtime.checkArgsInternal1 = function() {}; + runtime.checkArgsInternal2 = function() {}; + runtime.checkArgsInternal3 = function() {}; + runtime._checkAnn = function() {}; + } + + var postLoadHooks = loadHooksLib.makeDefaultPostLoadHooks(runtime, {main: main, checkAll: checkFlag("checks") === "all"}); + postLoadHooks[main] = function(answer) { + var checks = checkFlag("checks"); + if(checks && checks === "none") { process.exit(EXIT_SUCCESS); } + var checkerLib = runtime.modules["builtin://checker"]; + var checker = runtime.getField(runtime.getField(checkerLib, "provide-plus-types"), "values"); + var getStack = function(err) { + + err.val.pyretStack = stackLib.convertExceptionToPyretStackTrace(err.val, realm); + + var locArray = err.val.pyretStack.map(runtime.makeSrcloc); + var locList = runtime.ffi.makeList(locArray); + return locList; + }; + var getStackP = runtime.makeFunction(getStack, "get-stack"); + var toCall = runtime.getField(checker, "render-check-results-stack"); + var checks = runtime.getField(answer, "checks"); + return runtime.safeCall(function() { + return toCall.app(checks, getStackP); + }, function(summary) { + // We're technically on the Pyret stack right now, but don't need to be. + // So, pause the stack and switch off Pyret stack management so that the + // use of the callbacks to write (and therefore lack of Pyret return value) + // doesn't screw up Pyret's runtime. + return runtime.pauseStack(function(resumer) { + if(runtime.isObject(summary)) { + var errs = runtime.getField(summary, "errored"); + var failed = runtime.getField(summary, "failed"); + var exitCode = (errs !== 0 || failed !== 0) ? EXIT_ERROR_CHECK_FAILURES : EXIT_SUCCESS; + process.stdout.write(util.format(runtime.getField(summary, "message"))); + process.stdout.write("\n", + function() { process.exit(exitCode); }); + } + // NOTE: Never calls resumer.resume, because there's nothing to do here beside exit + }); + }, "postLoadHooks[main]:render-check-results-stack"); + } + + function renderErrorMessageAndExit(execRt, res) { + if (execRt.isPyretException(res.exn)) { + var rendererrorMod = execRt.modules["builtin://render-error-display"]; + var rendererror = execRt.getField(rendererrorMod, "provide-plus-types"); + var gf = execRt.getField; + var exnStack = res.exn.stack; + + res.exn.pyretStack = stackLib.convertExceptionToPyretStackTrace(res.exn, realm); + + execRt.runThunk( + function() { + if (execRt.isObject(res.exn.exn) && execRt.hasField(res.exn.exn, "render-reason")) { + return execRt.getColonField(res.exn.exn, "render-reason").full_meth(res.exn.exn); + } else { + return execRt.ffi.edEmbed(res.exn.exn); + } + }, + function(reasonResult) { + // This callback is *not* on the Pyret stack, so no need to pause + if (execRt.isFailureResult(reasonResult)) { + process.stderr.write( + "While trying to report that Pyret terminated with an error:\n" + JSON.stringify(res) + + "\nPyret encountered an error rendering that error:\n" + JSON.stringify(reasonResult) + + "\nStack:\n" + JSON.stringify(exnStack) + + "\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack, true) + "\n", + function() { process.exit(EXIT_ERROR_RENDERING_ERROR); }); + } else { + execRt.runThunk( + function() { + var cliRender = execRt.makeFunction(function(val) { + return execRt.toReprJS(val, execRt.ReprMethods["$cli"]); + }, "cliRender"); + return gf(gf(rendererror, "values"), "display-to-string").app( + reasonResult.result, + cliRender, + execRt.ffi.makeList(res.exn.pyretStack.map(execRt.makeSrcloc))); + }, + function(printResult) { + // This callback is *not* on the Pyret stack, so no need to pause + if(execRt.isSuccessResult(printResult)) { + process.stderr.write(util.format(printResult.result)); + process.stderr.write("\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack) + "\n", + function() { process.exit(EXIT_ERROR); }); + } else { + process.stderr.write( + "While trying to report that Pyret terminated with an error:\n" + JSON.stringify(res) + + "\ndisplaying that error produced another error:\n" + JSON.stringify(printResult) + + "\nStack:\n" + JSON.stringify(exnStack) + + "\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack, true) + "\n", + function() { process.exit(EXIT_ERROR_DISPLAYING_ERROR); }); + } + }, "errordisplay->to-string"); + } + }, "error->display"); + } else if (res.exn && res.exn.stack) { + process.stderr.write("Abstraction breaking: Uncaught JavaScript error:\n" + util.format(res.exn)); + process.stderr.write("Stack trace:\n" + util.format(res.exn.stack) + "\n", + function() { process.exit(EXIT_ERROR_JS); }); + } else { + process.stderr.write("Unknown error result: " + util.format(res.exn) + "\n", + function() { process.exit(EXIT_ERROR_UNKNOWN); }); + } + } + + function isExit(execRt, result) { + var exn = result.exn.exn; + return execRt.ffi.isExit(exn) || execRt.ffi.isExitQuiet(exn); + } + + function processExit(execRt, exn) { + var exitCode = execRt.getField(exn, "code"); + if (execRt.ffi.isExit(exn)) { + var message = "Exited with code " + exitCode.toString() + "\n"; + process.stdout.write(message); + } + process.stdout.write("", function() { process.exit(exitCode); }); + } + + function onComplete(result) { + // This function is *not* on the Pyret stack, so no need to pause + if(runtime.isSuccessResult(result)) { + //console.log("The program completed successfully"); + //console.log(result); + process.exit(EXIT_SUCCESS); + } + else if (runtime.isFailureResult(result)) { + if (runtime.isPyretException(result.exn) && isExit(runtime, result)) { + processExit(runtime, result.exn.exn); + } else { + process.stderr.write("The run ended in error:\n"); + try { + renderErrorMessageAndExit(runtime, result); + } catch(e) { + process.stderr.write("EXCEPTION!\n" + util.format(e) + "\n", + function() { process.exit(EXIT_ERROR_JS); }); + } + } + } else { + process.stderr.write("The run ended in an unknown error:\n" + util.format(result) + "\n"); + process.stderr.write(result.exn.stack, + function() { process.exit(EXIT_ERROR_UNKNOWN); }); + } + } + + return runtime.runThunk(function() { + runtime.modules = realm.instantiated; + return runtime.runStandalone(staticModules, realm, depMap, toLoad, postLoadHooks); + }, onComplete); +}); diff --git a/exercises/practice/etl/etl.arr b/exercises/practice/etl/etl.arr new file mode 100644 index 0000000..89dd936 --- /dev/null +++ b/exercises/practice/etl/etl.arr @@ -0,0 +1,6 @@ +provide: translate end +include string-dict + +fun translate(legacy): + raise("Please implement the translate function") +end From 718d0c7b39c93c39f2482f61358794c4092b99bd Mon Sep 17 00:00:00 2001 From: meatball <69751659+meatball133@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:09:45 +0000 Subject: [PATCH 010/244] Add new line --- exercises/practice/etl/etl-test.arr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index b58d740..c0d86e8 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -31,4 +31,4 @@ check "multiple scores with multiple letters and multiple scores": "j", "8", "x", "8", "q", "10", "z", "10"] translate(input) is expected -end \ No newline at end of file +end From 6d4b3cbf60dfaa97a3099effe26912a1ac4592a2 Mon Sep 17 00:00:00 2001 From: meatball <69751659+meatball133@users.noreply.github.com> Date: Fri, 30 Jun 2023 18:20:13 +0000 Subject: [PATCH 011/244] Remove jarr file --- exercises/practice/etl/etl-test.jarr | 171382 ------------------------ 1 file changed, 171382 deletions(-) delete mode 100644 exercises/practice/etl/etl-test.jarr diff --git a/exercises/practice/etl/etl-test.jarr b/exercises/practice/etl/etl-test.jarr deleted file mode 100644 index d4e3593..0000000 --- a/exercises/practice/etl/etl-test.jarr +++ /dev/null @@ -1,171382 +0,0 @@ -var define, requirejs; - -// NOTE(joe): this is defined for use in dependency bundles. Even though it -// isn't used in this file, it's an important definition -if(typeof require === "function") { - var nodeRequire = require; -} - -(function () { - var isArray = function(arg) { - return Object.prototype.toString.call(arg) === '[object Array]'; - }; - - var nodeRequire = (typeof require != "undefined") ? require : null; - - function isAvailableNodeModule(name) { - try { - require.resolve(name); - isNodeModuleAvailable = true; - } - catch(e) { - isNodeModuleAvailable = false; - } - return isNodeModuleAvailable; - } - - - // module name -> module object - var moduleTable = {}; - - function moduleResolved(modName) { - return (modName in moduleTable) && (moduleTable[modName].resolved); - } - - function buildCallbackArgs(deps) { - return deps.map(function(depName) { - if (moduleResolved(depName)) { - return moduleTable[depName].val; - } else { - throw new Error("Module " + depName + " not yet resolved"); - } - }); - } - - function evaluateModuleFn(moduleObj) { - - if (moduleObj.val != null) { - throw new Error("Already evaluated " + moduleObj.name); - } - - if(isAvailableNodeModule(moduleObj.name)) { - moduleObj.val = require(moduleObj.name); - moduleObj.resolved = true; - return; - } - - var callbackArgs = buildCallbackArgs(moduleObj.deps); - - // NOTE(joe): This is independent of Pyret code running, so calling - // this function doesn't interact with stack management in any way - moduleObj.val = moduleObj.callback.apply(null, callbackArgs); - moduleObj.resolved = true; } - - define = function(name, deps, callback) { - //This module might have no dependencies - if (!isArray(deps)) { - callback = deps; - deps = null; - } - - if (callback === undefined) { - throw new Error("no callback for " + name); - } - - if (name in moduleTable) { - throw new Error("Module " + name + " already defined"); - } - - moduleTable[name] = { - callback: callback, - name: name, - deps: deps != null ? deps : [], - val: null, - - // Since module functions might return weird values like undefined - // we separately keep track of whether we've resolved it or not. - resolved: false, - }; - }; - - function getLoadOrder(deps) { - // Do DFS + topsort in one pass over the graph without destroying it - var topsorted = []; - - var toVisit = {}; // Nodes we haven't touched - var currentlyVisitedNodes = {}; // Nodes we're currently working on (used to find cycles) - var visitedNodes = {}; // Nodes we're done with - - function visitNode(node) { - if (isAvailableNodeModule(node)) { - topsorted.push(node); - visitedNodes[node] = true; - delete toVisit[node]; - return; - } - - if (!(node in moduleTable)) { - throw new Error("Unknown module : " + node); - } - if (node in currentlyVisitedNodes) { - throw new Error("We have a cycle, which includes " + node); - } - if (node in visitedNodes) { - // already visited it - return; - } - - // It's unvisited, so mark it as currently being visited - currentlyVisitedNodes[node] = true; - if (node in toVisit) { - delete toVisit[node]; - } - - // Now visit its children - for (var i = 0; i < moduleTable[node].deps.length; i++) { - var child = moduleTable[node].deps[i]; - visitNode(child); - } - - // Now all of node's dependencies have been added to the list - // so we're safe to add it - topsorted.push(node); - delete currentlyVisitedNodes[node]; - visitedNodes[node] = true; - }; - - for (var i = 0; i < deps.length; i++) { - toVisit[deps[i]] = true; - } - - while (Object.keys(toVisit).length > 0) { - var node = Object.keys(toVisit)[0]; - visitNode(node); - } - - return topsorted; - } - - requirejs = function(deps, callback) { - if (typeof deps === 'string') { - // Trying to require("somemodule"). It needs to be in our table, or - // we have to be in node with a synchronous require() function - if ((deps in moduleTable) && moduleTable[deps].val) { - return moduleTable[deps].val; - } - - if (nodeRequire) { - return require(deps); - } - - // It's not in our table and we don't have require() so it's unknown. - throw new Error("Unresolved module " + deps + "...use require([], callback)"); - } - - var loadOrder = getLoadOrder(deps); - - for (var i = 0; i < loadOrder.length; i++) { - var modName = loadOrder[i]; - if (!moduleTable[modName] && isAvailableNodeModule(modName)) { - moduleTable[modName] = { - callback: null, - name: modName, - deps: [], - val: null, - resolved: false, - }; - } - if (!moduleTable[modName].resolved) { - evaluateModuleFn(moduleTable[modName]); - } - } - - var callbackArgs = buildCallbackArgs(deps); - callback.apply(null, callbackArgs); - }; -}()); -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i> 6]; - var primitive = (tag & 0x20) === 0; - - // Multi-octet tag - load - if ((tag & 0x1f) === 0x1f) { - var oct = tag; - tag = 0; - while ((oct & 0x80) === 0x80) { - oct = buf.readUInt8(fail); - if (buf.isError(oct)) - return oct; - - tag <<= 7; - tag |= oct & 0x7f; - } - } else { - tag &= 0x1f; - } - var tagStr = der.tag[tag]; - - return { - cls: cls, - primitive: primitive, - tag: tag, - tagStr: tagStr - }; -} - -function derDecodeLen(buf, primitive, fail) { - var len = buf.readUInt8(fail); - if (buf.isError(len)) - return len; - - // Indefinite form - if (!primitive && len === 0x80) - return null; - - // Definite form - if ((len & 0x80) === 0) { - // Short form - return len; - } - - // Long form - var num = len & 0x7f; - if (num > 4) - return buf.error('length octect is too long'); - - len = 0; - for (var i = 0; i < num; i++) { - len <<= 8; - var j = buf.readUInt8(fail); - if (buf.isError(j)) - return j; - len |= j; - } - - return len; -} - -},{"../../asn1":1,"inherits":117}],10:[function(require,module,exports){ -var decoders = exports; - -decoders.der = require('./der'); -decoders.pem = require('./pem'); - -},{"./der":9,"./pem":11}],11:[function(require,module,exports){ -var inherits = require('inherits'); -var Buffer = require('buffer').Buffer; - -var DERDecoder = require('./der'); - -function PEMDecoder(entity) { - DERDecoder.call(this, entity); - this.enc = 'pem'; -}; -inherits(PEMDecoder, DERDecoder); -module.exports = PEMDecoder; - -PEMDecoder.prototype.decode = function decode(data, options) { - var lines = data.toString().split(/[\r\n]+/g); - - var label = options.label.toUpperCase(); - - var re = /^-----(BEGIN|END) ([^-]+)-----$/; - var start = -1; - var end = -1; - for (var i = 0; i < lines.length; i++) { - var match = lines[i].match(re); - if (match === null) - continue; - - if (match[2] !== label) - continue; - - if (start === -1) { - if (match[1] !== 'BEGIN') - break; - start = i; - } else { - if (match[1] !== 'END') - break; - end = i; - break; - } - } - if (start === -1 || end === -1) - throw new Error('PEM section not found for: ' + label); - - var base64 = lines.slice(start + 1, end).join(''); - // Remove excessive symbols - base64.replace(/[^a-z0-9\+\/=]+/gi, ''); - - var input = new Buffer(base64, 'base64'); - return DERDecoder.prototype.decode.call(this, input, options); -}; - -},{"./der":9,"buffer":47,"inherits":117}],12:[function(require,module,exports){ -var inherits = require('inherits'); -var Buffer = require('buffer').Buffer; - -var asn1 = require('../../asn1'); -var base = asn1.base; - -// Import DER constants -var der = asn1.constants.der; - -function DEREncoder(entity) { - this.enc = 'der'; - this.name = entity.name; - this.entity = entity; - - // Construct base tree - this.tree = new DERNode(); - this.tree._init(entity.body); -}; -module.exports = DEREncoder; - -DEREncoder.prototype.encode = function encode(data, reporter) { - return this.tree._encode(data, reporter).join(); -}; - -// Tree methods - -function DERNode(parent) { - base.Node.call(this, 'der', parent); -} -inherits(DERNode, base.Node); - -DERNode.prototype._encodeComposite = function encodeComposite(tag, - primitive, - cls, - content) { - var encodedTag = encodeTag(tag, primitive, cls, this.reporter); - - // Short form - if (content.length < 0x80) { - var header = new Buffer(2); - header[0] = encodedTag; - header[1] = content.length; - return this._createEncoderBuffer([ header, content ]); - } - - // Long form - // Count octets required to store length - var lenOctets = 1; - for (var i = content.length; i >= 0x100; i >>= 8) - lenOctets++; - - var header = new Buffer(1 + 1 + lenOctets); - header[0] = encodedTag; - header[1] = 0x80 | lenOctets; - - for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8) - header[i] = j & 0xff; - - return this._createEncoderBuffer([ header, content ]); -}; - -DERNode.prototype._encodeStr = function encodeStr(str, tag) { - if (tag === 'bitstr') { - return this._createEncoderBuffer([ str.unused | 0, str.data ]); - } else if (tag === 'bmpstr') { - var buf = new Buffer(str.length * 2); - for (var i = 0; i < str.length; i++) { - buf.writeUInt16BE(str.charCodeAt(i), i * 2); - } - return this._createEncoderBuffer(buf); - } else if (tag === 'numstr') { - if (!this._isNumstr(str)) { - return this.reporter.error('Encoding of string type: numstr supports ' + - 'only digits and space'); - } - return this._createEncoderBuffer(str); - } else if (tag === 'printstr') { - if (!this._isPrintstr(str)) { - return this.reporter.error('Encoding of string type: printstr supports ' + - 'only latin upper and lower case letters, ' + - 'digits, space, apostrophe, left and rigth ' + - 'parenthesis, plus sign, comma, hyphen, ' + - 'dot, slash, colon, equal sign, ' + - 'question mark'); - } - return this._createEncoderBuffer(str); - } else if (/str$/.test(tag)) { - return this._createEncoderBuffer(str); - } else if (tag === 'objDesc') { - return this._createEncoderBuffer(str); - } else { - return this.reporter.error('Encoding of string type: ' + tag + - ' unsupported'); - } -}; - -DERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) { - if (typeof id === 'string') { - if (!values) - return this.reporter.error('string objid given, but no values map found'); - if (!values.hasOwnProperty(id)) - return this.reporter.error('objid not found in values map'); - id = values[id].split(/[\s\.]+/g); - for (var i = 0; i < id.length; i++) - id[i] |= 0; - } else if (Array.isArray(id)) { - id = id.slice(); - for (var i = 0; i < id.length; i++) - id[i] |= 0; - } - - if (!Array.isArray(id)) { - return this.reporter.error('objid() should be either array or string, ' + - 'got: ' + JSON.stringify(id)); - } - - if (!relative) { - if (id[1] >= 40) - return this.reporter.error('Second objid identifier OOB'); - id.splice(0, 2, id[0] * 40 + id[1]); - } - - // Count number of octets - var size = 0; - for (var i = 0; i < id.length; i++) { - var ident = id[i]; - for (size++; ident >= 0x80; ident >>= 7) - size++; - } - - var objid = new Buffer(size); - var offset = objid.length - 1; - for (var i = id.length - 1; i >= 0; i--) { - var ident = id[i]; - objid[offset--] = ident & 0x7f; - while ((ident >>= 7) > 0) - objid[offset--] = 0x80 | (ident & 0x7f); - } - - return this._createEncoderBuffer(objid); -}; - -function two(num) { - if (num < 10) - return '0' + num; - else - return num; -} - -DERNode.prototype._encodeTime = function encodeTime(time, tag) { - var str; - var date = new Date(time); - - if (tag === 'gentime') { - str = [ - two(date.getFullYear()), - two(date.getUTCMonth() + 1), - two(date.getUTCDate()), - two(date.getUTCHours()), - two(date.getUTCMinutes()), - two(date.getUTCSeconds()), - 'Z' - ].join(''); - } else if (tag === 'utctime') { - str = [ - two(date.getFullYear() % 100), - two(date.getUTCMonth() + 1), - two(date.getUTCDate()), - two(date.getUTCHours()), - two(date.getUTCMinutes()), - two(date.getUTCSeconds()), - 'Z' - ].join(''); - } else { - this.reporter.error('Encoding ' + tag + ' time is not supported yet'); - } - - return this._encodeStr(str, 'octstr'); -}; - -DERNode.prototype._encodeNull = function encodeNull() { - return this._createEncoderBuffer(''); -}; - -DERNode.prototype._encodeInt = function encodeInt(num, values) { - if (typeof num === 'string') { - if (!values) - return this.reporter.error('String int or enum given, but no values map'); - if (!values.hasOwnProperty(num)) { - return this.reporter.error('Values map doesn\'t contain: ' + - JSON.stringify(num)); - } - num = values[num]; - } - - // Bignum, assume big endian - if (typeof num !== 'number' && !Buffer.isBuffer(num)) { - var numArray = num.toArray(); - if (!num.sign && numArray[0] & 0x80) { - numArray.unshift(0); - } - num = new Buffer(numArray); - } - - if (Buffer.isBuffer(num)) { - var size = num.length; - if (num.length === 0) - size++; - - var out = new Buffer(size); - num.copy(out); - if (num.length === 0) - out[0] = 0 - return this._createEncoderBuffer(out); - } - - if (num < 0x80) - return this._createEncoderBuffer(num); - - if (num < 0x100) - return this._createEncoderBuffer([0, num]); - - var size = 1; - for (var i = num; i >= 0x100; i >>= 8) - size++; - - var out = new Array(size); - for (var i = out.length - 1; i >= 0; i--) { - out[i] = num & 0xff; - num >>= 8; - } - if(out[0] & 0x80) { - out.unshift(0); - } - - return this._createEncoderBuffer(new Buffer(out)); -}; - -DERNode.prototype._encodeBool = function encodeBool(value) { - return this._createEncoderBuffer(value ? 0xff : 0); -}; - -DERNode.prototype._use = function use(entity, obj) { - if (typeof entity === 'function') - entity = entity(obj); - return entity._getEncoder('der').tree; -}; - -DERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) { - var state = this._baseState; - var i; - if (state['default'] === null) - return false; - - var data = dataBuffer.join(); - if (state.defaultBuffer === undefined) - state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join(); - - if (data.length !== state.defaultBuffer.length) - return false; - - for (i=0; i < data.length; i++) - if (data[i] !== state.defaultBuffer[i]) - return false; - - return true; -}; - -// Utility methods - -function encodeTag(tag, primitive, cls, reporter) { - var res; - - if (tag === 'seqof') - tag = 'seq'; - else if (tag === 'setof') - tag = 'set'; - - if (der.tagByName.hasOwnProperty(tag)) - res = der.tagByName[tag]; - else if (typeof tag === 'number' && (tag | 0) === tag) - res = tag; - else - return reporter.error('Unknown tag: ' + tag); - - if (res >= 0x1f) - return reporter.error('Multi-octet tag encoding unsupported'); - - if (!primitive) - res |= 0x20; - - res |= (der.tagClassByName[cls || 'universal'] << 6); - - return res; -} - -},{"../../asn1":1,"buffer":47,"inherits":117}],13:[function(require,module,exports){ -var encoders = exports; - -encoders.der = require('./der'); -encoders.pem = require('./pem'); - -},{"./der":12,"./pem":14}],14:[function(require,module,exports){ -var inherits = require('inherits'); - -var DEREncoder = require('./der'); - -function PEMEncoder(entity) { - DEREncoder.call(this, entity); - this.enc = 'pem'; -}; -inherits(PEMEncoder, DEREncoder); -module.exports = PEMEncoder; - -PEMEncoder.prototype.encode = function encode(data, options) { - var buf = DEREncoder.prototype.encode.call(this, data); - - var p = buf.toString('base64'); - var out = [ '-----BEGIN ' + options.label + '-----' ]; - for (var i = 0; i < p.length; i += 64) - out.push(p.slice(i, i + 64)); - out.push('-----END ' + options.label + '-----'); - return out.join('\n'); -}; - -},{"./der":12,"inherits":117}],15:[function(require,module,exports){ -'use strict' - -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray - -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} - -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 - -function getLens (b64) { - var len = b64.length - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len - - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - - return [validLen, placeHoldersLen] -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - - var curByte = 0 - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - - var i - for (i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk( - uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) - )) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) - } - - return parts.join('') -} - -},{}],16:[function(require,module,exports){ -(function (module, exports) { - 'use strict'; - - // Utils - function assert (val, msg) { - if (!val) throw new Error(msg || 'Assertion failed'); - } - - // Could use `inherits` module, but don't want to move from single file - // architecture yet. - function inherits (ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - - // BN - - function BN (number, base, endian) { - if (BN.isBN(number)) { - return number; - } - - this.negative = 0; - this.words = null; - this.length = 0; - - // Reduction context - this.red = null; - - if (number !== null) { - if (base === 'le' || base === 'be') { - endian = base; - base = 10; - } - - this._init(number || 0, base || 10, endian || 'be'); - } - } - if (typeof module === 'object') { - module.exports = BN; - } else { - exports.BN = BN; - } - - BN.BN = BN; - BN.wordSize = 26; - - var Buffer; - try { - Buffer = require('buffer').Buffer; - } catch (e) { - } - - BN.isBN = function isBN (num) { - if (num instanceof BN) { - return true; - } - - return num !== null && typeof num === 'object' && - num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - - BN.max = function max (left, right) { - if (left.cmp(right) > 0) return left; - return right; - }; - - BN.min = function min (left, right) { - if (left.cmp(right) < 0) return left; - return right; - }; - - BN.prototype._init = function init (number, base, endian) { - if (typeof number === 'number') { - return this._initNumber(number, base, endian); - } - - if (typeof number === 'object') { - return this._initArray(number, base, endian); - } - - if (base === 'hex') { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - - number = number.toString().replace(/\s+/g, ''); - var start = 0; - if (number[0] === '-') { - start++; - } - - if (base === 16) { - this._parseHex(number, start); - } else { - this._parseBase(number, base, start); - } - - if (number[0] === '-') { - this.negative = 1; - } - - this.strip(); - - if (endian !== 'le') return; - - this._initArray(this.toArray(), base, endian); - }; - - BN.prototype._initNumber = function _initNumber (number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 0x4000000) { - this.words = [ number & 0x3ffffff ]; - this.length = 1; - } else if (number < 0x10000000000000) { - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff - ]; - this.length = 2; - } else { - assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff, - 1 - ]; - this.length = 3; - } - - if (endian !== 'le') return; - - // Reverse the bytes - this._initArray(this.toArray(), base, endian); - }; - - BN.prototype._initArray = function _initArray (number, base, endian) { - // Perhaps a Uint8Array - assert(typeof number.length === 'number'); - if (number.length <= 0) { - this.words = [ 0 ]; - this.length = 1; - return this; - } - - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - var j, w; - var off = 0; - if (endian === 'be') { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === 'le') { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this.strip(); - }; - - function parseHex (str, start, end) { - var r = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - - r <<= 4; - - // 'a' - 'f' - if (c >= 49 && c <= 54) { - r |= c - 49 + 0xa; - - // 'A' - 'F' - } else if (c >= 17 && c <= 22) { - r |= c - 17 + 0xa; - - // '0' - '9' - } else { - r |= c & 0xf; - } - } - return r; - } - - BN.prototype._parseHex = function _parseHex (number, start) { - // Create possibly bigger array to ensure that it fits the number - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - var j, w; - // Scan 24-bit chunks and add them to the number - var off = 0; - for (i = number.length - 6, j = 0; i >= start; i -= 6) { - w = parseHex(number, i, i + 6); - this.words[j] |= (w << off) & 0x3ffffff; - // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb - this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - if (i + 6 !== start) { - w = parseHex(number, start, i + 6); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; - } - this.strip(); - }; - - function parseBase (str, start, end, mul) { - var r = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - - r *= mul; - - // 'a' - if (c >= 49) { - r += c - 49 + 0xa; - - // 'A' - } else if (c >= 17) { - r += c - 17 + 0xa; - - // '0' - '9' - } else { - r += c; - } - } - return r; - } - - BN.prototype._parseBase = function _parseBase (number, base, start) { - // Initialize as zero - this.words = [ 0 ]; - this.length = 1; - - // Find length of limb in base - for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = (limbPow / base) | 0; - - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - - this.imuln(limbPow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - - for (i = 0; i < mod; i++) { - pow *= base; - } - - this.imuln(pow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - }; - - BN.prototype.copy = function copy (dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - - BN.prototype.clone = function clone () { - var r = new BN(null); - this.copy(r); - return r; - }; - - BN.prototype._expand = function _expand (size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - - // Remove leading `0` from `this` - BN.prototype.strip = function strip () { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - - BN.prototype._normSign = function _normSign () { - // -0 = 0 - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - - BN.prototype.inspect = function inspect () { - return (this.red ? ''; - }; - - /* - - var zeros = []; - var groupSizes = []; - var groupBases = []; - - var s = ''; - var i = -1; - while (++i < BN.wordSize) { - zeros[i] = s; - s += '0'; - } - groupSizes[0] = 0; - groupSizes[1] = 0; - groupBases[0] = 0; - groupBases[1] = 0; - var base = 2 - 1; - while (++base < 36 + 1) { - var groupSize = 0; - var groupBase = 1; - while (groupBase < (1 << BN.wordSize) / base) { - groupBase *= base; - groupSize += 1; - } - groupSizes[base] = groupSize; - groupBases[base] = groupBase; - } - - */ - - var zeros = [ - '', - '0', - '00', - '000', - '0000', - '00000', - '000000', - '0000000', - '00000000', - '000000000', - '0000000000', - '00000000000', - '000000000000', - '0000000000000', - '00000000000000', - '000000000000000', - '0000000000000000', - '00000000000000000', - '000000000000000000', - '0000000000000000000', - '00000000000000000000', - '000000000000000000000', - '0000000000000000000000', - '00000000000000000000000', - '000000000000000000000000', - '0000000000000000000000000' - ]; - - var groupSizes = [ - 0, 0, - 25, 16, 12, 11, 10, 9, 8, - 8, 7, 7, 7, 7, 6, 6, - 6, 6, 6, 6, 6, 5, 5, - 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5 - ]; - - var groupBases = [ - 0, 0, - 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, - 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, - 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, - 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, - 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 - ]; - - BN.prototype.toString = function toString (base, padding) { - base = base || 10; - padding = padding | 0 || 1; - - var out; - if (base === 16 || base === 'hex') { - out = ''; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = (((w << off) | carry) & 0xffffff).toString(16); - carry = (w >>> (24 - off)) & 0xffffff; - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - if (base === (base | 0) && base >= 2 && base <= 36) { - // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); - var groupSize = groupSizes[base]; - // var groupBase = Math.pow(base, groupSize); - var groupBase = groupBases[base]; - out = ''; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modn(groupBase).toString(base); - c = c.idivn(groupBase); - - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = '0' + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - assert(false, 'Base should be between 2 and 36'); - }; - - BN.prototype.toNumber = function toNumber () { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 0x4000000; - } else if (this.length === 3 && this.words[2] === 0x01) { - // NOTE: at this stage it is known that the top bit is set - ret += 0x10000000000000 + (this.words[1] * 0x4000000); - } else if (this.length > 2) { - assert(false, 'Number can only safely store up to 53 bits'); - } - return (this.negative !== 0) ? -ret : ret; - }; - - BN.prototype.toJSON = function toJSON () { - return this.toString(16); - }; - - BN.prototype.toBuffer = function toBuffer (endian, length) { - assert(typeof Buffer !== 'undefined'); - return this.toArrayLike(Buffer, endian, length); - }; - - BN.prototype.toArray = function toArray (endian, length) { - return this.toArrayLike(Array, endian, length); - }; - - BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, 'byte array longer than desired length'); - assert(reqLength > 0, 'Requested array length <= 0'); - - this.strip(); - var littleEndian = endian === 'le'; - var res = new ArrayType(reqLength); - - var b, i; - var q = this.clone(); - if (!littleEndian) { - // Assume big-endian - for (i = 0; i < reqLength - byteLength; i++) { - res[i] = 0; - } - - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[reqLength - i - 1] = b; - } - } else { - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[i] = b; - } - - for (; i < reqLength; i++) { - res[i] = 0; - } - } - - return res; - }; - - if (Math.clz32) { - BN.prototype._countBits = function _countBits (w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits (w) { - var t = w; - var r = 0; - if (t >= 0x1000) { - r += 13; - t >>>= 13; - } - if (t >= 0x40) { - r += 7; - t >>>= 7; - } - if (t >= 0x8) { - r += 4; - t >>>= 4; - } - if (t >= 0x02) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - - BN.prototype._zeroBits = function _zeroBits (w) { - // Short-cut - if (w === 0) return 26; - - var t = w; - var r = 0; - if ((t & 0x1fff) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 0x7f) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 0xf) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 0x3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 0x1) === 0) { - r++; - } - return r; - }; - - // Return number of used bits in a BN - BN.prototype.bitLength = function bitLength () { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - - function toBitArray (num) { - var w = new Array(num.bitLength()); - - for (var bit = 0; bit < w.length; bit++) { - var off = (bit / 26) | 0; - var wbit = bit % 26; - - w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; - } - - return w; - } - - // Number of trailing zero bits - BN.prototype.zeroBits = function zeroBits () { - if (this.isZero()) return 0; - - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) break; - } - return r; - }; - - BN.prototype.byteLength = function byteLength () { - return Math.ceil(this.bitLength() / 8); - }; - - BN.prototype.toTwos = function toTwos (width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - - BN.prototype.fromTwos = function fromTwos (width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - - BN.prototype.isNeg = function isNeg () { - return this.negative !== 0; - }; - - // Return negative clone of `this` - BN.prototype.neg = function neg () { - return this.clone().ineg(); - }; - - BN.prototype.ineg = function ineg () { - if (!this.isZero()) { - this.negative ^= 1; - } - - return this; - }; - - // Or `num` with `this` in-place - BN.prototype.iuor = function iuor (num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - - return this.strip(); - }; - - BN.prototype.ior = function ior (num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - - // Or `num` with `this` - BN.prototype.or = function or (num) { - if (this.length > num.length) return this.clone().ior(num); - return num.clone().ior(this); - }; - - BN.prototype.uor = function uor (num) { - if (this.length > num.length) return this.clone().iuor(num); - return num.clone().iuor(this); - }; - - // And `num` with `this` in-place - BN.prototype.iuand = function iuand (num) { - // b = min-length(num, this) - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - - this.length = b.length; - - return this.strip(); - }; - - BN.prototype.iand = function iand (num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - - // And `num` with `this` - BN.prototype.and = function and (num) { - if (this.length > num.length) return this.clone().iand(num); - return num.clone().iand(this); - }; - - BN.prototype.uand = function uand (num) { - if (this.length > num.length) return this.clone().iuand(num); - return num.clone().iuand(this); - }; - - // Xor `num` with `this` in-place - BN.prototype.iuxor = function iuxor (num) { - // a.length > b.length - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = a.length; - - return this.strip(); - }; - - BN.prototype.ixor = function ixor (num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - - // Xor `num` with `this` - BN.prototype.xor = function xor (num) { - if (this.length > num.length) return this.clone().ixor(num); - return num.clone().ixor(this); - }; - - BN.prototype.uxor = function uxor (num) { - if (this.length > num.length) return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - - // Not ``this`` with ``width`` bitwidth - BN.prototype.inotn = function inotn (width) { - assert(typeof width === 'number' && width >= 0); - - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - - // Extend the buffer with leading zeroes - this._expand(bytesNeeded); - - if (bitsLeft > 0) { - bytesNeeded--; - } - - // Handle complete words - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 0x3ffffff; - } - - // Handle the residue - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); - } - - // And remove leading zeroes - return this.strip(); - }; - - BN.prototype.notn = function notn (width) { - return this.clone().inotn(width); - }; - - // Set `bit` of `this` - BN.prototype.setn = function setn (bit, val) { - assert(typeof bit === 'number' && bit >= 0); - - var off = (bit / 26) | 0; - var wbit = bit % 26; - - this._expand(off + 1); - - if (val) { - this.words[off] = this.words[off] | (1 << wbit); - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - - return this.strip(); - }; - - // Add `num` to `this` in-place - BN.prototype.iadd = function iadd (num) { - var r; - - // negative + positive - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - - // positive + negative - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - - // a.length > b.length - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - // Copy the rest of the words - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - return this; - }; - - // Add `num` to `this` - BN.prototype.add = function add (num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - - if (this.length > num.length) return this.clone().iadd(num); - - return num.clone().iadd(this); - }; - - // Subtract `num` from `this` in-place - BN.prototype.isub = function isub (num) { - // this - (-num) = this + num - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - - // -this - num = -(this + num) - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - - // At this point both numbers are positive - var cmp = this.cmp(num); - - // Optimization - zeroify - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - - // a > b - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - - // Copy rest of the words - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = Math.max(this.length, i); - - if (a !== this) { - this.negative = 1; - } - - return this.strip(); - }; - - // Subtract `num` from `this` - BN.prototype.sub = function sub (num) { - return this.clone().isub(num); - }; - - function smallMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - var len = (self.length + num.length) | 0; - out.length = len; - len = (len - 1) | 0; - - // Peel one iteration (compiler can't do it, because of code complexity) - var a = self.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - var carry = (r / 0x4000000) | 0; - out.words[0] = lo; - - for (var k = 1; k < len; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = carry >>> 26; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = (k - j) | 0; - a = self.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += (r / 0x4000000) | 0; - rword = r & 0x3ffffff; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - - return out.strip(); - } - - // TODO(indutny): it may be reasonable to omit it for users who don't need - // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit - // multiplication (like elliptic secp256k1). - var comb10MulTo = function comb10MulTo (self, num, out) { - var a = self.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 0x1fff; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 0x1fff; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 0x1fff; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 0x1fff; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 0x1fff; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 0x1fff; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 0x1fff; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 0x1fff; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 0x1fff; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 0x1fff; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 0x1fff; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 0x1fff; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 0x1fff; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 0x1fff; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 0x1fff; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 0x1fff; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 0x1fff; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 0x1fff; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 0x1fff; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 0x1fff; - var bh9 = b9 >>> 13; - - out.negative = self.negative ^ num.negative; - out.length = 19; - /* k = 0 */ - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = (mid + Math.imul(ah0, bl0)) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; - w0 &= 0x3ffffff; - /* k = 1 */ - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = (mid + Math.imul(ah1, bl0)) | 0; - hi = Math.imul(ah1, bh0); - lo = (lo + Math.imul(al0, bl1)) | 0; - mid = (mid + Math.imul(al0, bh1)) | 0; - mid = (mid + Math.imul(ah0, bl1)) | 0; - hi = (hi + Math.imul(ah0, bh1)) | 0; - var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; - w1 &= 0x3ffffff; - /* k = 2 */ - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = (mid + Math.imul(ah2, bl0)) | 0; - hi = Math.imul(ah2, bh0); - lo = (lo + Math.imul(al1, bl1)) | 0; - mid = (mid + Math.imul(al1, bh1)) | 0; - mid = (mid + Math.imul(ah1, bl1)) | 0; - hi = (hi + Math.imul(ah1, bh1)) | 0; - lo = (lo + Math.imul(al0, bl2)) | 0; - mid = (mid + Math.imul(al0, bh2)) | 0; - mid = (mid + Math.imul(ah0, bl2)) | 0; - hi = (hi + Math.imul(ah0, bh2)) | 0; - var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; - w2 &= 0x3ffffff; - /* k = 3 */ - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = (mid + Math.imul(ah3, bl0)) | 0; - hi = Math.imul(ah3, bh0); - lo = (lo + Math.imul(al2, bl1)) | 0; - mid = (mid + Math.imul(al2, bh1)) | 0; - mid = (mid + Math.imul(ah2, bl1)) | 0; - hi = (hi + Math.imul(ah2, bh1)) | 0; - lo = (lo + Math.imul(al1, bl2)) | 0; - mid = (mid + Math.imul(al1, bh2)) | 0; - mid = (mid + Math.imul(ah1, bl2)) | 0; - hi = (hi + Math.imul(ah1, bh2)) | 0; - lo = (lo + Math.imul(al0, bl3)) | 0; - mid = (mid + Math.imul(al0, bh3)) | 0; - mid = (mid + Math.imul(ah0, bl3)) | 0; - hi = (hi + Math.imul(ah0, bh3)) | 0; - var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; - w3 &= 0x3ffffff; - /* k = 4 */ - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = (mid + Math.imul(ah4, bl0)) | 0; - hi = Math.imul(ah4, bh0); - lo = (lo + Math.imul(al3, bl1)) | 0; - mid = (mid + Math.imul(al3, bh1)) | 0; - mid = (mid + Math.imul(ah3, bl1)) | 0; - hi = (hi + Math.imul(ah3, bh1)) | 0; - lo = (lo + Math.imul(al2, bl2)) | 0; - mid = (mid + Math.imul(al2, bh2)) | 0; - mid = (mid + Math.imul(ah2, bl2)) | 0; - hi = (hi + Math.imul(ah2, bh2)) | 0; - lo = (lo + Math.imul(al1, bl3)) | 0; - mid = (mid + Math.imul(al1, bh3)) | 0; - mid = (mid + Math.imul(ah1, bl3)) | 0; - hi = (hi + Math.imul(ah1, bh3)) | 0; - lo = (lo + Math.imul(al0, bl4)) | 0; - mid = (mid + Math.imul(al0, bh4)) | 0; - mid = (mid + Math.imul(ah0, bl4)) | 0; - hi = (hi + Math.imul(ah0, bh4)) | 0; - var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; - w4 &= 0x3ffffff; - /* k = 5 */ - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = (mid + Math.imul(ah5, bl0)) | 0; - hi = Math.imul(ah5, bh0); - lo = (lo + Math.imul(al4, bl1)) | 0; - mid = (mid + Math.imul(al4, bh1)) | 0; - mid = (mid + Math.imul(ah4, bl1)) | 0; - hi = (hi + Math.imul(ah4, bh1)) | 0; - lo = (lo + Math.imul(al3, bl2)) | 0; - mid = (mid + Math.imul(al3, bh2)) | 0; - mid = (mid + Math.imul(ah3, bl2)) | 0; - hi = (hi + Math.imul(ah3, bh2)) | 0; - lo = (lo + Math.imul(al2, bl3)) | 0; - mid = (mid + Math.imul(al2, bh3)) | 0; - mid = (mid + Math.imul(ah2, bl3)) | 0; - hi = (hi + Math.imul(ah2, bh3)) | 0; - lo = (lo + Math.imul(al1, bl4)) | 0; - mid = (mid + Math.imul(al1, bh4)) | 0; - mid = (mid + Math.imul(ah1, bl4)) | 0; - hi = (hi + Math.imul(ah1, bh4)) | 0; - lo = (lo + Math.imul(al0, bl5)) | 0; - mid = (mid + Math.imul(al0, bh5)) | 0; - mid = (mid + Math.imul(ah0, bl5)) | 0; - hi = (hi + Math.imul(ah0, bh5)) | 0; - var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; - w5 &= 0x3ffffff; - /* k = 6 */ - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = (mid + Math.imul(ah6, bl0)) | 0; - hi = Math.imul(ah6, bh0); - lo = (lo + Math.imul(al5, bl1)) | 0; - mid = (mid + Math.imul(al5, bh1)) | 0; - mid = (mid + Math.imul(ah5, bl1)) | 0; - hi = (hi + Math.imul(ah5, bh1)) | 0; - lo = (lo + Math.imul(al4, bl2)) | 0; - mid = (mid + Math.imul(al4, bh2)) | 0; - mid = (mid + Math.imul(ah4, bl2)) | 0; - hi = (hi + Math.imul(ah4, bh2)) | 0; - lo = (lo + Math.imul(al3, bl3)) | 0; - mid = (mid + Math.imul(al3, bh3)) | 0; - mid = (mid + Math.imul(ah3, bl3)) | 0; - hi = (hi + Math.imul(ah3, bh3)) | 0; - lo = (lo + Math.imul(al2, bl4)) | 0; - mid = (mid + Math.imul(al2, bh4)) | 0; - mid = (mid + Math.imul(ah2, bl4)) | 0; - hi = (hi + Math.imul(ah2, bh4)) | 0; - lo = (lo + Math.imul(al1, bl5)) | 0; - mid = (mid + Math.imul(al1, bh5)) | 0; - mid = (mid + Math.imul(ah1, bl5)) | 0; - hi = (hi + Math.imul(ah1, bh5)) | 0; - lo = (lo + Math.imul(al0, bl6)) | 0; - mid = (mid + Math.imul(al0, bh6)) | 0; - mid = (mid + Math.imul(ah0, bl6)) | 0; - hi = (hi + Math.imul(ah0, bh6)) | 0; - var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; - w6 &= 0x3ffffff; - /* k = 7 */ - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = (mid + Math.imul(ah7, bl0)) | 0; - hi = Math.imul(ah7, bh0); - lo = (lo + Math.imul(al6, bl1)) | 0; - mid = (mid + Math.imul(al6, bh1)) | 0; - mid = (mid + Math.imul(ah6, bl1)) | 0; - hi = (hi + Math.imul(ah6, bh1)) | 0; - lo = (lo + Math.imul(al5, bl2)) | 0; - mid = (mid + Math.imul(al5, bh2)) | 0; - mid = (mid + Math.imul(ah5, bl2)) | 0; - hi = (hi + Math.imul(ah5, bh2)) | 0; - lo = (lo + Math.imul(al4, bl3)) | 0; - mid = (mid + Math.imul(al4, bh3)) | 0; - mid = (mid + Math.imul(ah4, bl3)) | 0; - hi = (hi + Math.imul(ah4, bh3)) | 0; - lo = (lo + Math.imul(al3, bl4)) | 0; - mid = (mid + Math.imul(al3, bh4)) | 0; - mid = (mid + Math.imul(ah3, bl4)) | 0; - hi = (hi + Math.imul(ah3, bh4)) | 0; - lo = (lo + Math.imul(al2, bl5)) | 0; - mid = (mid + Math.imul(al2, bh5)) | 0; - mid = (mid + Math.imul(ah2, bl5)) | 0; - hi = (hi + Math.imul(ah2, bh5)) | 0; - lo = (lo + Math.imul(al1, bl6)) | 0; - mid = (mid + Math.imul(al1, bh6)) | 0; - mid = (mid + Math.imul(ah1, bl6)) | 0; - hi = (hi + Math.imul(ah1, bh6)) | 0; - lo = (lo + Math.imul(al0, bl7)) | 0; - mid = (mid + Math.imul(al0, bh7)) | 0; - mid = (mid + Math.imul(ah0, bl7)) | 0; - hi = (hi + Math.imul(ah0, bh7)) | 0; - var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; - w7 &= 0x3ffffff; - /* k = 8 */ - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = (mid + Math.imul(ah8, bl0)) | 0; - hi = Math.imul(ah8, bh0); - lo = (lo + Math.imul(al7, bl1)) | 0; - mid = (mid + Math.imul(al7, bh1)) | 0; - mid = (mid + Math.imul(ah7, bl1)) | 0; - hi = (hi + Math.imul(ah7, bh1)) | 0; - lo = (lo + Math.imul(al6, bl2)) | 0; - mid = (mid + Math.imul(al6, bh2)) | 0; - mid = (mid + Math.imul(ah6, bl2)) | 0; - hi = (hi + Math.imul(ah6, bh2)) | 0; - lo = (lo + Math.imul(al5, bl3)) | 0; - mid = (mid + Math.imul(al5, bh3)) | 0; - mid = (mid + Math.imul(ah5, bl3)) | 0; - hi = (hi + Math.imul(ah5, bh3)) | 0; - lo = (lo + Math.imul(al4, bl4)) | 0; - mid = (mid + Math.imul(al4, bh4)) | 0; - mid = (mid + Math.imul(ah4, bl4)) | 0; - hi = (hi + Math.imul(ah4, bh4)) | 0; - lo = (lo + Math.imul(al3, bl5)) | 0; - mid = (mid + Math.imul(al3, bh5)) | 0; - mid = (mid + Math.imul(ah3, bl5)) | 0; - hi = (hi + Math.imul(ah3, bh5)) | 0; - lo = (lo + Math.imul(al2, bl6)) | 0; - mid = (mid + Math.imul(al2, bh6)) | 0; - mid = (mid + Math.imul(ah2, bl6)) | 0; - hi = (hi + Math.imul(ah2, bh6)) | 0; - lo = (lo + Math.imul(al1, bl7)) | 0; - mid = (mid + Math.imul(al1, bh7)) | 0; - mid = (mid + Math.imul(ah1, bl7)) | 0; - hi = (hi + Math.imul(ah1, bh7)) | 0; - lo = (lo + Math.imul(al0, bl8)) | 0; - mid = (mid + Math.imul(al0, bh8)) | 0; - mid = (mid + Math.imul(ah0, bl8)) | 0; - hi = (hi + Math.imul(ah0, bh8)) | 0; - var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; - w8 &= 0x3ffffff; - /* k = 9 */ - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = (mid + Math.imul(ah9, bl0)) | 0; - hi = Math.imul(ah9, bh0); - lo = (lo + Math.imul(al8, bl1)) | 0; - mid = (mid + Math.imul(al8, bh1)) | 0; - mid = (mid + Math.imul(ah8, bl1)) | 0; - hi = (hi + Math.imul(ah8, bh1)) | 0; - lo = (lo + Math.imul(al7, bl2)) | 0; - mid = (mid + Math.imul(al7, bh2)) | 0; - mid = (mid + Math.imul(ah7, bl2)) | 0; - hi = (hi + Math.imul(ah7, bh2)) | 0; - lo = (lo + Math.imul(al6, bl3)) | 0; - mid = (mid + Math.imul(al6, bh3)) | 0; - mid = (mid + Math.imul(ah6, bl3)) | 0; - hi = (hi + Math.imul(ah6, bh3)) | 0; - lo = (lo + Math.imul(al5, bl4)) | 0; - mid = (mid + Math.imul(al5, bh4)) | 0; - mid = (mid + Math.imul(ah5, bl4)) | 0; - hi = (hi + Math.imul(ah5, bh4)) | 0; - lo = (lo + Math.imul(al4, bl5)) | 0; - mid = (mid + Math.imul(al4, bh5)) | 0; - mid = (mid + Math.imul(ah4, bl5)) | 0; - hi = (hi + Math.imul(ah4, bh5)) | 0; - lo = (lo + Math.imul(al3, bl6)) | 0; - mid = (mid + Math.imul(al3, bh6)) | 0; - mid = (mid + Math.imul(ah3, bl6)) | 0; - hi = (hi + Math.imul(ah3, bh6)) | 0; - lo = (lo + Math.imul(al2, bl7)) | 0; - mid = (mid + Math.imul(al2, bh7)) | 0; - mid = (mid + Math.imul(ah2, bl7)) | 0; - hi = (hi + Math.imul(ah2, bh7)) | 0; - lo = (lo + Math.imul(al1, bl8)) | 0; - mid = (mid + Math.imul(al1, bh8)) | 0; - mid = (mid + Math.imul(ah1, bl8)) | 0; - hi = (hi + Math.imul(ah1, bh8)) | 0; - lo = (lo + Math.imul(al0, bl9)) | 0; - mid = (mid + Math.imul(al0, bh9)) | 0; - mid = (mid + Math.imul(ah0, bl9)) | 0; - hi = (hi + Math.imul(ah0, bh9)) | 0; - var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; - w9 &= 0x3ffffff; - /* k = 10 */ - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = (mid + Math.imul(ah9, bl1)) | 0; - hi = Math.imul(ah9, bh1); - lo = (lo + Math.imul(al8, bl2)) | 0; - mid = (mid + Math.imul(al8, bh2)) | 0; - mid = (mid + Math.imul(ah8, bl2)) | 0; - hi = (hi + Math.imul(ah8, bh2)) | 0; - lo = (lo + Math.imul(al7, bl3)) | 0; - mid = (mid + Math.imul(al7, bh3)) | 0; - mid = (mid + Math.imul(ah7, bl3)) | 0; - hi = (hi + Math.imul(ah7, bh3)) | 0; - lo = (lo + Math.imul(al6, bl4)) | 0; - mid = (mid + Math.imul(al6, bh4)) | 0; - mid = (mid + Math.imul(ah6, bl4)) | 0; - hi = (hi + Math.imul(ah6, bh4)) | 0; - lo = (lo + Math.imul(al5, bl5)) | 0; - mid = (mid + Math.imul(al5, bh5)) | 0; - mid = (mid + Math.imul(ah5, bl5)) | 0; - hi = (hi + Math.imul(ah5, bh5)) | 0; - lo = (lo + Math.imul(al4, bl6)) | 0; - mid = (mid + Math.imul(al4, bh6)) | 0; - mid = (mid + Math.imul(ah4, bl6)) | 0; - hi = (hi + Math.imul(ah4, bh6)) | 0; - lo = (lo + Math.imul(al3, bl7)) | 0; - mid = (mid + Math.imul(al3, bh7)) | 0; - mid = (mid + Math.imul(ah3, bl7)) | 0; - hi = (hi + Math.imul(ah3, bh7)) | 0; - lo = (lo + Math.imul(al2, bl8)) | 0; - mid = (mid + Math.imul(al2, bh8)) | 0; - mid = (mid + Math.imul(ah2, bl8)) | 0; - hi = (hi + Math.imul(ah2, bh8)) | 0; - lo = (lo + Math.imul(al1, bl9)) | 0; - mid = (mid + Math.imul(al1, bh9)) | 0; - mid = (mid + Math.imul(ah1, bl9)) | 0; - hi = (hi + Math.imul(ah1, bh9)) | 0; - var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; - w10 &= 0x3ffffff; - /* k = 11 */ - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = (mid + Math.imul(ah9, bl2)) | 0; - hi = Math.imul(ah9, bh2); - lo = (lo + Math.imul(al8, bl3)) | 0; - mid = (mid + Math.imul(al8, bh3)) | 0; - mid = (mid + Math.imul(ah8, bl3)) | 0; - hi = (hi + Math.imul(ah8, bh3)) | 0; - lo = (lo + Math.imul(al7, bl4)) | 0; - mid = (mid + Math.imul(al7, bh4)) | 0; - mid = (mid + Math.imul(ah7, bl4)) | 0; - hi = (hi + Math.imul(ah7, bh4)) | 0; - lo = (lo + Math.imul(al6, bl5)) | 0; - mid = (mid + Math.imul(al6, bh5)) | 0; - mid = (mid + Math.imul(ah6, bl5)) | 0; - hi = (hi + Math.imul(ah6, bh5)) | 0; - lo = (lo + Math.imul(al5, bl6)) | 0; - mid = (mid + Math.imul(al5, bh6)) | 0; - mid = (mid + Math.imul(ah5, bl6)) | 0; - hi = (hi + Math.imul(ah5, bh6)) | 0; - lo = (lo + Math.imul(al4, bl7)) | 0; - mid = (mid + Math.imul(al4, bh7)) | 0; - mid = (mid + Math.imul(ah4, bl7)) | 0; - hi = (hi + Math.imul(ah4, bh7)) | 0; - lo = (lo + Math.imul(al3, bl8)) | 0; - mid = (mid + Math.imul(al3, bh8)) | 0; - mid = (mid + Math.imul(ah3, bl8)) | 0; - hi = (hi + Math.imul(ah3, bh8)) | 0; - lo = (lo + Math.imul(al2, bl9)) | 0; - mid = (mid + Math.imul(al2, bh9)) | 0; - mid = (mid + Math.imul(ah2, bl9)) | 0; - hi = (hi + Math.imul(ah2, bh9)) | 0; - var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; - w11 &= 0x3ffffff; - /* k = 12 */ - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = (mid + Math.imul(ah9, bl3)) | 0; - hi = Math.imul(ah9, bh3); - lo = (lo + Math.imul(al8, bl4)) | 0; - mid = (mid + Math.imul(al8, bh4)) | 0; - mid = (mid + Math.imul(ah8, bl4)) | 0; - hi = (hi + Math.imul(ah8, bh4)) | 0; - lo = (lo + Math.imul(al7, bl5)) | 0; - mid = (mid + Math.imul(al7, bh5)) | 0; - mid = (mid + Math.imul(ah7, bl5)) | 0; - hi = (hi + Math.imul(ah7, bh5)) | 0; - lo = (lo + Math.imul(al6, bl6)) | 0; - mid = (mid + Math.imul(al6, bh6)) | 0; - mid = (mid + Math.imul(ah6, bl6)) | 0; - hi = (hi + Math.imul(ah6, bh6)) | 0; - lo = (lo + Math.imul(al5, bl7)) | 0; - mid = (mid + Math.imul(al5, bh7)) | 0; - mid = (mid + Math.imul(ah5, bl7)) | 0; - hi = (hi + Math.imul(ah5, bh7)) | 0; - lo = (lo + Math.imul(al4, bl8)) | 0; - mid = (mid + Math.imul(al4, bh8)) | 0; - mid = (mid + Math.imul(ah4, bl8)) | 0; - hi = (hi + Math.imul(ah4, bh8)) | 0; - lo = (lo + Math.imul(al3, bl9)) | 0; - mid = (mid + Math.imul(al3, bh9)) | 0; - mid = (mid + Math.imul(ah3, bl9)) | 0; - hi = (hi + Math.imul(ah3, bh9)) | 0; - var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; - w12 &= 0x3ffffff; - /* k = 13 */ - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = (mid + Math.imul(ah9, bl4)) | 0; - hi = Math.imul(ah9, bh4); - lo = (lo + Math.imul(al8, bl5)) | 0; - mid = (mid + Math.imul(al8, bh5)) | 0; - mid = (mid + Math.imul(ah8, bl5)) | 0; - hi = (hi + Math.imul(ah8, bh5)) | 0; - lo = (lo + Math.imul(al7, bl6)) | 0; - mid = (mid + Math.imul(al7, bh6)) | 0; - mid = (mid + Math.imul(ah7, bl6)) | 0; - hi = (hi + Math.imul(ah7, bh6)) | 0; - lo = (lo + Math.imul(al6, bl7)) | 0; - mid = (mid + Math.imul(al6, bh7)) | 0; - mid = (mid + Math.imul(ah6, bl7)) | 0; - hi = (hi + Math.imul(ah6, bh7)) | 0; - lo = (lo + Math.imul(al5, bl8)) | 0; - mid = (mid + Math.imul(al5, bh8)) | 0; - mid = (mid + Math.imul(ah5, bl8)) | 0; - hi = (hi + Math.imul(ah5, bh8)) | 0; - lo = (lo + Math.imul(al4, bl9)) | 0; - mid = (mid + Math.imul(al4, bh9)) | 0; - mid = (mid + Math.imul(ah4, bl9)) | 0; - hi = (hi + Math.imul(ah4, bh9)) | 0; - var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; - w13 &= 0x3ffffff; - /* k = 14 */ - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = (mid + Math.imul(ah9, bl5)) | 0; - hi = Math.imul(ah9, bh5); - lo = (lo + Math.imul(al8, bl6)) | 0; - mid = (mid + Math.imul(al8, bh6)) | 0; - mid = (mid + Math.imul(ah8, bl6)) | 0; - hi = (hi + Math.imul(ah8, bh6)) | 0; - lo = (lo + Math.imul(al7, bl7)) | 0; - mid = (mid + Math.imul(al7, bh7)) | 0; - mid = (mid + Math.imul(ah7, bl7)) | 0; - hi = (hi + Math.imul(ah7, bh7)) | 0; - lo = (lo + Math.imul(al6, bl8)) | 0; - mid = (mid + Math.imul(al6, bh8)) | 0; - mid = (mid + Math.imul(ah6, bl8)) | 0; - hi = (hi + Math.imul(ah6, bh8)) | 0; - lo = (lo + Math.imul(al5, bl9)) | 0; - mid = (mid + Math.imul(al5, bh9)) | 0; - mid = (mid + Math.imul(ah5, bl9)) | 0; - hi = (hi + Math.imul(ah5, bh9)) | 0; - var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; - w14 &= 0x3ffffff; - /* k = 15 */ - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = (mid + Math.imul(ah9, bl6)) | 0; - hi = Math.imul(ah9, bh6); - lo = (lo + Math.imul(al8, bl7)) | 0; - mid = (mid + Math.imul(al8, bh7)) | 0; - mid = (mid + Math.imul(ah8, bl7)) | 0; - hi = (hi + Math.imul(ah8, bh7)) | 0; - lo = (lo + Math.imul(al7, bl8)) | 0; - mid = (mid + Math.imul(al7, bh8)) | 0; - mid = (mid + Math.imul(ah7, bl8)) | 0; - hi = (hi + Math.imul(ah7, bh8)) | 0; - lo = (lo + Math.imul(al6, bl9)) | 0; - mid = (mid + Math.imul(al6, bh9)) | 0; - mid = (mid + Math.imul(ah6, bl9)) | 0; - hi = (hi + Math.imul(ah6, bh9)) | 0; - var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; - w15 &= 0x3ffffff; - /* k = 16 */ - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = (mid + Math.imul(ah9, bl7)) | 0; - hi = Math.imul(ah9, bh7); - lo = (lo + Math.imul(al8, bl8)) | 0; - mid = (mid + Math.imul(al8, bh8)) | 0; - mid = (mid + Math.imul(ah8, bl8)) | 0; - hi = (hi + Math.imul(ah8, bh8)) | 0; - lo = (lo + Math.imul(al7, bl9)) | 0; - mid = (mid + Math.imul(al7, bh9)) | 0; - mid = (mid + Math.imul(ah7, bl9)) | 0; - hi = (hi + Math.imul(ah7, bh9)) | 0; - var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; - w16 &= 0x3ffffff; - /* k = 17 */ - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = (mid + Math.imul(ah9, bl8)) | 0; - hi = Math.imul(ah9, bh8); - lo = (lo + Math.imul(al8, bl9)) | 0; - mid = (mid + Math.imul(al8, bh9)) | 0; - mid = (mid + Math.imul(ah8, bl9)) | 0; - hi = (hi + Math.imul(ah8, bh9)) | 0; - var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; - w17 &= 0x3ffffff; - /* k = 18 */ - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = (mid + Math.imul(ah9, bl9)) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; - w18 &= 0x3ffffff; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - - // Polyfill comb - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - - function bigMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - out.length = self.length + num.length; - - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; - lo = (lo + rword) | 0; - rword = lo & 0x3ffffff; - ncarry = (ncarry + (lo >>> 26)) | 0; - - hncarry += ncarry >>> 26; - ncarry &= 0x3ffffff; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - - return out.strip(); - } - - function jumboMulTo (self, num, out) { - var fftm = new FFTM(); - return fftm.mulp(self, num, out); - } - - BN.prototype.mulTo = function mulTo (num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - - return res; - }; - - // Cooley-Tukey algorithm for FFT - // slightly revisited to rely on looping instead of recursion - - function FFTM (x, y) { - this.x = x; - this.y = y; - } - - FFTM.prototype.makeRBT = function makeRBT (N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - - return t; - }; - - // Returns binary-reversed representation of `x` - FFTM.prototype.revBin = function revBin (x, l, N) { - if (x === 0 || x === N - 1) return x; - - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << (l - i - 1); - x >>= 1; - } - - return rb; - }; - - // Performs "tweedling" phase, therefore 'emulating' - // behaviour of the recursive algorithm - FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - - FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - - var rx = rtwdf_ * ro - itwdf_ * io; - - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - - /* jshint maxdepth : false */ - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - - FFTM.prototype.guessLen13b = function guessLen13b (n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - - return 1 << i + 1 + odd; - }; - - FFTM.prototype.conjugate = function conjugate (rws, iws, N) { - if (N <= 1) return; - - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - - t = iws[i]; - - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - - FFTM.prototype.normalize13b = function normalize13b (ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + - Math.round(ws[2 * i] / N) + - carry; - - ws[i] = w & 0x3ffffff; - - if (w < 0x4000000) { - carry = 0; - } else { - carry = w / 0x4000000 | 0; - } - } - - return ws; - }; - - FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - - rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; - rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; - } - - // Pad with zeroes - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - - assert(carry === 0); - assert((carry & ~0x1fff) === 0); - }; - - FFTM.prototype.stub = function stub (N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - - return ph; - }; - - FFTM.prototype.mulp = function mulp (x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - - var rbt = this.makeRBT(N); - - var _ = this.stub(N); - - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - - var rmws = out.words; - rmws.length = N; - - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out.strip(); - }; - - // Multiply `this` by `num` - BN.prototype.mul = function mul (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - - // Multiply employing FFT - BN.prototype.mulf = function mulf (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - - // In-place Multiplication - BN.prototype.imul = function imul (num) { - return this.clone().mulTo(num, this); - }; - - BN.prototype.imuln = function imuln (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - - // Carry - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); - carry >>= 26; - carry += (w / 0x4000000) | 0; - // NOTE: lo is 27bit maximum - carry += lo >>> 26; - this.words[i] = lo & 0x3ffffff; - } - - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - - return this; - }; - - BN.prototype.muln = function muln (num) { - return this.clone().imuln(num); - }; - - // `this` * `this` - BN.prototype.sqr = function sqr () { - return this.mul(this); - }; - - // `this` * `this` in-place - BN.prototype.isqr = function isqr () { - return this.imul(this.clone()); - }; - - // Math.pow(`this`, `num`) - BN.prototype.pow = function pow (num) { - var w = toBitArray(num); - if (w.length === 0) return new BN(1); - - // Skip leading zeroes - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) break; - } - - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) continue; - - res = res.mul(q); - } - } - - return res; - }; - - // Shift-left in-place - BN.prototype.iushln = function iushln (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); - var i; - - if (r !== 0) { - var carry = 0; - - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = ((this.words[i] | 0) - newCarry) << r; - this.words[i] = c | carry; - carry = newCarry >>> (26 - r); - } - - if (carry) { - this.words[i] = carry; - this.length++; - } - } - - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - - this.length += s; - } - - return this.strip(); - }; - - BN.prototype.ishln = function ishln (bits) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushln(bits); - }; - - // Shift-right in-place - // NOTE: `hint` is a lowest bit before trailing zeroes - // NOTE: if `extended` is present - it will be filled with destroyed bits - BN.prototype.iushrn = function iushrn (bits, hint, extended) { - assert(typeof bits === 'number' && bits >= 0); - var h; - if (hint) { - h = (hint - (hint % 26)) / 26; - } else { - h = 0; - } - - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - var maskedWords = extended; - - h -= s; - h = Math.max(0, h); - - // Extended mode, copy masked part - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - - if (s === 0) { - // No-op, we should not move anything at all - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = (carry << (26 - r)) | (word >>> r); - carry = word & mask; - } - - // Push carried bits as a mask - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - - return this.strip(); - }; - - BN.prototype.ishrn = function ishrn (bits, hint, extended) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - - // Shift-left - BN.prototype.shln = function shln (bits) { - return this.clone().ishln(bits); - }; - - BN.prototype.ushln = function ushln (bits) { - return this.clone().iushln(bits); - }; - - // Shift-right - BN.prototype.shrn = function shrn (bits) { - return this.clone().ishrn(bits); - }; - - BN.prototype.ushrn = function ushrn (bits) { - return this.clone().iushrn(bits); - }; - - // Test if n bit is set - BN.prototype.testn = function testn (bit) { - assert(typeof bit === 'number' && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) return false; - - // Check bit and return - var w = this.words[s]; - - return !!(w & q); - }; - - // Return only lowers bits of number (in-place) - BN.prototype.imaskn = function imaskn (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - - assert(this.negative === 0, 'imaskn works only with positive numbers'); - - if (this.length <= s) { - return this; - } - - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - - if (r !== 0) { - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - this.words[this.length - 1] &= mask; - } - - return this.strip(); - }; - - // Return only lowers bits of number - BN.prototype.maskn = function maskn (bits) { - return this.clone().imaskn(bits); - }; - - // Add plain number `num` to `this` - BN.prototype.iaddn = function iaddn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.isubn(-num); - - // Possible sign change - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) < num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - - // Add without checks - return this._iaddn(num); - }; - - BN.prototype._iaddn = function _iaddn (num) { - this.words[0] += num; - - // Carry - for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { - this.words[i] -= 0x4000000; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - - return this; - }; - - // Subtract plain number `num` from `this` - BN.prototype.isubn = function isubn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.iaddn(-num); - - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - - this.words[0] -= num; - - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - // Carry - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 0x4000000; - this.words[i + 1] -= 1; - } - } - - return this.strip(); - }; - - BN.prototype.addn = function addn (num) { - return this.clone().iaddn(num); - }; - - BN.prototype.subn = function subn (num) { - return this.clone().isubn(num); - }; - - BN.prototype.iabs = function iabs () { - this.negative = 0; - - return this; - }; - - BN.prototype.abs = function abs () { - return this.clone().iabs(); - }; - - BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { - var len = num.length + shift; - var i; - - this._expand(len); - - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 0x3ffffff; - carry = (w >> 26) - ((right / 0x4000000) | 0); - this.words[i + shift] = w & 0x3ffffff; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 0x3ffffff; - } - - if (carry === 0) return this.strip(); - - // Subtraction overflow - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 0x3ffffff; - } - this.negative = 1; - - return this.strip(); - }; - - BN.prototype._wordDiv = function _wordDiv (num, mode) { - var shift = this.length - num.length; - - var a = this.clone(); - var b = num; - - // Normalize - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - - // Initialize quotient - var m = a.length - b.length; - var q; - - if (mode !== 'mod') { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 0x4000000 + - (a.words[b.length + j - 1] | 0); - - // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max - // (0x7ffffff) - qj = Math.min((qj / bhi) | 0, 0x3ffffff); - - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q.strip(); - } - a.strip(); - - // Denormalize - if (mode !== 'div' && shift !== 0) { - a.iushrn(shift); - } - - return { - div: q || null, - mod: a - }; - }; - - // NOTE: 1) `mode` can be set to `mod` to request mod only, - // to `div` to request div only, or be absent to - // request both div & mod - // 2) `positive` is true if unsigned mod is requested - BN.prototype.divmod = function divmod (num, mode, positive) { - assert(!num.isZero()); - - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - - return { - div: div, - mod: mod - }; - } - - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - return { - div: div, - mod: res.mod - }; - } - - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - - return { - div: res.div, - mod: mod - }; - } - - // Both numbers are positive at this point - - // Strip both numbers to approximate shift value - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - - // Very short reduction - if (num.length === 1) { - if (mode === 'div') { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - - if (mode === 'mod') { - return { - div: null, - mod: new BN(this.modn(num.words[0])) - }; - } - - return { - div: this.divn(num.words[0]), - mod: new BN(this.modn(num.words[0])) - }; - } - - return this._wordDiv(num, mode); - }; - - // Find `this` / `num` - BN.prototype.div = function div (num) { - return this.divmod(num, 'div', false).div; - }; - - // Find `this` % `num` - BN.prototype.mod = function mod (num) { - return this.divmod(num, 'mod', false).mod; - }; - - BN.prototype.umod = function umod (num) { - return this.divmod(num, 'mod', true).mod; - }; - - // Find Round(`this` / `num`) - BN.prototype.divRound = function divRound (num) { - var dm = this.divmod(num); - - // Fast case - exact division - if (dm.mod.isZero()) return dm.div; - - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - - // Round down - if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; - - // Round up - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - - BN.prototype.modn = function modn (num) { - assert(num <= 0x3ffffff); - var p = (1 << 26) % num; - - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - - return acc; - }; - - // In-place division by number - BN.prototype.idivn = function idivn (num) { - assert(num <= 0x3ffffff); - - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 0x4000000; - this.words[i] = (w / num) | 0; - carry = w % num; - } - - return this.strip(); - }; - - BN.prototype.divn = function divn (num) { - return this.clone().idivn(num); - }; - - BN.prototype.egcd = function egcd (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var x = this; - var y = p.clone(); - - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - - // A * x + B * y = x - var A = new BN(1); - var B = new BN(0); - - // C * x + D * y = y - var C = new BN(0); - var D = new BN(1); - - var g = 0; - - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - - var yp = y.clone(); - var xp = x.clone(); - - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - - A.iushrn(1); - B.iushrn(1); - } - } - - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - - C.iushrn(1); - D.iushrn(1); - } - } - - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - - // This is reduced incarnation of the binary EEA - // above, designated to invert members of the - // _prime_ fields F(p) at a maximal speed - BN.prototype._invmp = function _invmp (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var a = this; - var b = p.clone(); - - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - - var x1 = new BN(1); - var x2 = new BN(0); - - var delta = b.clone(); - - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - - x1.iushrn(1); - } - } - - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - - x2.iushrn(1); - } - } - - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - - if (res.cmpn(0) < 0) { - res.iadd(p); - } - - return res; - }; - - BN.prototype.gcd = function gcd (num) { - if (this.isZero()) return num.abs(); - if (num.isZero()) return this.abs(); - - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - - // Remove common factor of two - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - - var r = a.cmp(b); - if (r < 0) { - // Swap `a` and `b` to make `a` always bigger than `b` - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - - a.isub(b); - } while (true); - - return b.iushln(shift); - }; - - // Invert number in the field F(num) - BN.prototype.invm = function invm (num) { - return this.egcd(num).a.umod(num); - }; - - BN.prototype.isEven = function isEven () { - return (this.words[0] & 1) === 0; - }; - - BN.prototype.isOdd = function isOdd () { - return (this.words[0] & 1) === 1; - }; - - // And first word and num - BN.prototype.andln = function andln (num) { - return this.words[0] & num; - }; - - // Increment at the bit position in-line - BN.prototype.bincn = function bincn (bit) { - assert(typeof bit === 'number'); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - - // Add bit and propagate, if needed - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 0x3ffffff; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - - BN.prototype.isZero = function isZero () { - return this.length === 1 && this.words[0] === 0; - }; - - BN.prototype.cmpn = function cmpn (num) { - var negative = num < 0; - - if (this.negative !== 0 && !negative) return -1; - if (this.negative === 0 && negative) return 1; - - this.strip(); - - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - - assert(num <= 0x3ffffff, 'Number is too big'); - - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Compare two numbers and return: - // 1 - if `this` > `num` - // 0 - if `this` == `num` - // -1 - if `this` < `num` - BN.prototype.cmp = function cmp (num) { - if (this.negative !== 0 && num.negative === 0) return -1; - if (this.negative === 0 && num.negative !== 0) return 1; - - var res = this.ucmp(num); - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Unsigned comparison - BN.prototype.ucmp = function ucmp (num) { - // At this point both numbers have the same sign - if (this.length > num.length) return 1; - if (this.length < num.length) return -1; - - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - - if (a === b) continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - - BN.prototype.gtn = function gtn (num) { - return this.cmpn(num) === 1; - }; - - BN.prototype.gt = function gt (num) { - return this.cmp(num) === 1; - }; - - BN.prototype.gten = function gten (num) { - return this.cmpn(num) >= 0; - }; - - BN.prototype.gte = function gte (num) { - return this.cmp(num) >= 0; - }; - - BN.prototype.ltn = function ltn (num) { - return this.cmpn(num) === -1; - }; - - BN.prototype.lt = function lt (num) { - return this.cmp(num) === -1; - }; - - BN.prototype.lten = function lten (num) { - return this.cmpn(num) <= 0; - }; - - BN.prototype.lte = function lte (num) { - return this.cmp(num) <= 0; - }; - - BN.prototype.eqn = function eqn (num) { - return this.cmpn(num) === 0; - }; - - BN.prototype.eq = function eq (num) { - return this.cmp(num) === 0; - }; - - // - // A reduce context, could be using montgomery or something better, depending - // on the `m` itself. - // - BN.red = function red (num) { - return new Red(num); - }; - - BN.prototype.toRed = function toRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - assert(this.negative === 0, 'red works only with positives'); - return ctx.convertTo(this)._forceRed(ctx); - }; - - BN.prototype.fromRed = function fromRed () { - assert(this.red, 'fromRed works only with numbers in reduction context'); - return this.red.convertFrom(this); - }; - - BN.prototype._forceRed = function _forceRed (ctx) { - this.red = ctx; - return this; - }; - - BN.prototype.forceRed = function forceRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - return this._forceRed(ctx); - }; - - BN.prototype.redAdd = function redAdd (num) { - assert(this.red, 'redAdd works only with red numbers'); - return this.red.add(this, num); - }; - - BN.prototype.redIAdd = function redIAdd (num) { - assert(this.red, 'redIAdd works only with red numbers'); - return this.red.iadd(this, num); - }; - - BN.prototype.redSub = function redSub (num) { - assert(this.red, 'redSub works only with red numbers'); - return this.red.sub(this, num); - }; - - BN.prototype.redISub = function redISub (num) { - assert(this.red, 'redISub works only with red numbers'); - return this.red.isub(this, num); - }; - - BN.prototype.redShl = function redShl (num) { - assert(this.red, 'redShl works only with red numbers'); - return this.red.shl(this, num); - }; - - BN.prototype.redMul = function redMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - - BN.prototype.redIMul = function redIMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - - BN.prototype.redSqr = function redSqr () { - assert(this.red, 'redSqr works only with red numbers'); - this.red._verify1(this); - return this.red.sqr(this); - }; - - BN.prototype.redISqr = function redISqr () { - assert(this.red, 'redISqr works only with red numbers'); - this.red._verify1(this); - return this.red.isqr(this); - }; - - // Square root over p - BN.prototype.redSqrt = function redSqrt () { - assert(this.red, 'redSqrt works only with red numbers'); - this.red._verify1(this); - return this.red.sqrt(this); - }; - - BN.prototype.redInvm = function redInvm () { - assert(this.red, 'redInvm works only with red numbers'); - this.red._verify1(this); - return this.red.invm(this); - }; - - // Return negative clone of `this` % `red modulo` - BN.prototype.redNeg = function redNeg () { - assert(this.red, 'redNeg works only with red numbers'); - this.red._verify1(this); - return this.red.neg(this); - }; - - BN.prototype.redPow = function redPow (num) { - assert(this.red && !num.red, 'redPow(normalNum)'); - this.red._verify1(this); - return this.red.pow(this, num); - }; - - // Prime numbers with efficient reduction - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - - // Pseudo-Mersenne prime - function MPrime (name, p) { - // P = 2 ^ N - K - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - - this.tmp = this._tmp(); - } - - MPrime.prototype._tmp = function _tmp () { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - - MPrime.prototype.ireduce = function ireduce (num) { - // Assumes that `num` is less than `P^2` - // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) - var r = num; - var rlen; - - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - r.strip(); - } - - return r; - }; - - MPrime.prototype.split = function split (input, out) { - input.iushrn(this.n, 0, out); - }; - - MPrime.prototype.imulK = function imulK (num) { - return num.imul(this.k); - }; - - function K256 () { - MPrime.call( - this, - 'k256', - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); - } - inherits(K256, MPrime); - - K256.prototype.split = function split (input, output) { - // 256 = 9 * 26 + 22 - var mask = 0x3fffff; - - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - - // Shift by 9 limbs - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - - K256.prototype.imulK = function imulK (num) { - // K = 0x1000003d1 = [ 0x40, 0x3d1 ] - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - - // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 0x3d1; - num.words[i] = lo & 0x3ffffff; - lo = w * 0x40 + ((lo / 0x4000000) | 0); - } - - // Fast length reduction - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - - function P224 () { - MPrime.call( - this, - 'p224', - 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); - } - inherits(P224, MPrime); - - function P192 () { - MPrime.call( - this, - 'p192', - 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); - } - inherits(P192, MPrime); - - function P25519 () { - // 2 ^ 255 - 19 - MPrime.call( - this, - '25519', - '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); - } - inherits(P25519, MPrime); - - P25519.prototype.imulK = function imulK (num) { - // K = 0x13 - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 0x13 + carry; - var lo = hi & 0x3ffffff; - hi >>>= 26; - - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - - // Exported mostly for testing purposes, use plain name instead - BN._prime = function prime (name) { - // Cached version of prime - if (primes[name]) return primes[name]; - - var prime; - if (name === 'k256') { - prime = new K256(); - } else if (name === 'p224') { - prime = new P224(); - } else if (name === 'p192') { - prime = new P192(); - } else if (name === 'p25519') { - prime = new P25519(); - } else { - throw new Error('Unknown prime ' + name); - } - primes[name] = prime; - - return prime; - }; - - // - // Base reduction engine - // - function Red (m) { - if (typeof m === 'string') { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), 'modulus must be greater than 1'); - this.m = m; - this.prime = null; - } - } - - Red.prototype._verify1 = function _verify1 (a) { - assert(a.negative === 0, 'red works only with positives'); - assert(a.red, 'red works only with red numbers'); - }; - - Red.prototype._verify2 = function _verify2 (a, b) { - assert((a.negative | b.negative) === 0, 'red works only with positives'); - assert(a.red && a.red === b.red, - 'red works only with red numbers'); - }; - - Red.prototype.imod = function imod (a) { - if (this.prime) return this.prime.ireduce(a)._forceRed(this); - return a.umod(this.m)._forceRed(this); - }; - - Red.prototype.neg = function neg (a) { - if (a.isZero()) { - return a.clone(); - } - - return this.m.sub(a)._forceRed(this); - }; - - Red.prototype.add = function add (a, b) { - this._verify2(a, b); - - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.iadd = function iadd (a, b) { - this._verify2(a, b); - - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - - Red.prototype.sub = function sub (a, b) { - this._verify2(a, b); - - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.isub = function isub (a, b) { - this._verify2(a, b); - - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - - Red.prototype.shl = function shl (a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - - Red.prototype.imul = function imul (a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - - Red.prototype.mul = function mul (a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - - Red.prototype.isqr = function isqr (a) { - return this.imul(a, a.clone()); - }; - - Red.prototype.sqr = function sqr (a) { - return this.mul(a, a); - }; - - Red.prototype.sqrt = function sqrt (a) { - if (a.isZero()) return a.clone(); - - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - - // Fast case - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - - // Tonelli-Shanks algorithm (Totally unoptimized and slow) - // - // Find Q and S, that Q * 2 ^ S = (P - 1) - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - - // Find quadratic non-residue - // NOTE: Max is such because of generalized Riemann hypothesis. - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - - return r; - }; - - Red.prototype.invm = function invm (a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - - Red.prototype.pow = function pow (a, num) { - if (num.isZero()) return new BN(1).toRed(this); - if (num.cmpn(1) === 0) return a.clone(); - - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = (word >> j) & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; - - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - - return res; - }; - - Red.prototype.convertTo = function convertTo (num) { - var r = num.umod(this.m); - - return r === num ? r.clone() : r; - }; - - Red.prototype.convertFrom = function convertFrom (num) { - var res = num.clone(); - res.red = null; - return res; - }; - - // - // Montgomery method engine - // - - BN.mont = function mont (num) { - return new Mont(num); - }; - - function Mont (m) { - Red.call(this, m); - - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - (this.shift % 26); - } - - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits(Mont, Red); - - Mont.prototype.convertTo = function convertTo (num) { - return this.imod(num.ushln(this.shift)); - }; - - Mont.prototype.convertFrom = function convertFrom (num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - - Mont.prototype.imul = function imul (a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.mul = function mul (a, b) { - if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); - - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.invm = function invm (a) { - // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; -})(typeof module === 'undefined' || module, this); - -},{"buffer":18}],17:[function(require,module,exports){ -var r; - -module.exports = function rand(len) { - if (!r) - r = new Rand(null); - - return r.generate(len); -}; - -function Rand(rand) { - this.rand = rand; -} -module.exports.Rand = Rand; - -Rand.prototype.generate = function generate(len) { - return this._rand(len); -}; - -// Emulate crypto API using randy -Rand.prototype._rand = function _rand(n) { - if (this.rand.getBytes) - return this.rand.getBytes(n); - - var res = new Uint8Array(n); - for (var i = 0; i < res.length; i++) - res[i] = this.rand.getByte(); - return res; -}; - -if (typeof self === 'object') { - if (self.crypto && self.crypto.getRandomValues) { - // Modern browsers - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.crypto.getRandomValues(arr); - return arr; - }; - } else if (self.msCrypto && self.msCrypto.getRandomValues) { - // IE - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.msCrypto.getRandomValues(arr); - return arr; - }; - - // Safari's WebWorkers do not have `crypto` - } else if (typeof window === 'object') { - // Old junk - Rand.prototype._rand = function() { - throw new Error('Not implemented yet'); - }; - } -} else { - // Node.js or Web worker with no crypto support - try { - var crypto = require('crypto'); - if (typeof crypto.randomBytes !== 'function') - throw new Error('Not supported'); - - Rand.prototype._rand = function _rand(n) { - return crypto.randomBytes(n); - }; - } catch (e) { - } -} - -},{"crypto":18}],18:[function(require,module,exports){ - -},{}],19:[function(require,module,exports){ -// based on the aes implimentation in triple sec -// https://github.com/keybase/triplesec -// which is in turn based on the one from crypto-js -// https://code.google.com/p/crypto-js/ - -var Buffer = require('safe-buffer').Buffer - -function asUInt32Array (buf) { - if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf) - - var len = (buf.length / 4) | 0 - var out = new Array(len) - - for (var i = 0; i < len; i++) { - out[i] = buf.readUInt32BE(i * 4) - } - - return out -} - -function scrubVec (v) { - for (var i = 0; i < v.length; v++) { - v[i] = 0 - } -} - -function cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) { - var SUB_MIX0 = SUB_MIX[0] - var SUB_MIX1 = SUB_MIX[1] - var SUB_MIX2 = SUB_MIX[2] - var SUB_MIX3 = SUB_MIX[3] - - var s0 = M[0] ^ keySchedule[0] - var s1 = M[1] ^ keySchedule[1] - var s2 = M[2] ^ keySchedule[2] - var s3 = M[3] ^ keySchedule[3] - var t0, t1, t2, t3 - var ksRow = 4 - - for (var round = 1; round < nRounds; round++) { - t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++] - t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++] - t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++] - t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++] - s0 = t0 - s1 = t1 - s2 = t2 - s3 = t3 - } - - t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++] - t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++] - t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++] - t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++] - t0 = t0 >>> 0 - t1 = t1 >>> 0 - t2 = t2 >>> 0 - t3 = t3 >>> 0 - - return [t0, t1, t2, t3] -} - -// AES constants -var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36] -var G = (function () { - // Compute double table - var d = new Array(256) - for (var j = 0; j < 256; j++) { - if (j < 128) { - d[j] = j << 1 - } else { - d[j] = (j << 1) ^ 0x11b - } - } - - var SBOX = [] - var INV_SBOX = [] - var SUB_MIX = [[], [], [], []] - var INV_SUB_MIX = [[], [], [], []] - - // Walk GF(2^8) - var x = 0 - var xi = 0 - for (var i = 0; i < 256; ++i) { - // Compute sbox - var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4) - sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63 - SBOX[x] = sx - INV_SBOX[sx] = x - - // Compute multiplication - var x2 = d[x] - var x4 = d[x2] - var x8 = d[x4] - - // Compute sub bytes, mix columns tables - var t = (d[sx] * 0x101) ^ (sx * 0x1010100) - SUB_MIX[0][x] = (t << 24) | (t >>> 8) - SUB_MIX[1][x] = (t << 16) | (t >>> 16) - SUB_MIX[2][x] = (t << 8) | (t >>> 24) - SUB_MIX[3][x] = t - - // Compute inv sub bytes, inv mix columns tables - t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100) - INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8) - INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16) - INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24) - INV_SUB_MIX[3][sx] = t - - if (x === 0) { - x = xi = 1 - } else { - x = x2 ^ d[d[d[x8 ^ x2]]] - xi ^= d[d[xi]] - } - } - - return { - SBOX: SBOX, - INV_SBOX: INV_SBOX, - SUB_MIX: SUB_MIX, - INV_SUB_MIX: INV_SUB_MIX - } -})() - -function AES (key) { - this._key = asUInt32Array(key) - this._reset() -} - -AES.blockSize = 4 * 4 -AES.keySize = 256 / 8 -AES.prototype.blockSize = AES.blockSize -AES.prototype.keySize = AES.keySize -AES.prototype._reset = function () { - var keyWords = this._key - var keySize = keyWords.length - var nRounds = keySize + 6 - var ksRows = (nRounds + 1) * 4 - - var keySchedule = [] - for (var k = 0; k < keySize; k++) { - keySchedule[k] = keyWords[k] - } - - for (k = keySize; k < ksRows; k++) { - var t = keySchedule[k - 1] - - if (k % keySize === 0) { - t = (t << 8) | (t >>> 24) - t = - (G.SBOX[t >>> 24] << 24) | - (G.SBOX[(t >>> 16) & 0xff] << 16) | - (G.SBOX[(t >>> 8) & 0xff] << 8) | - (G.SBOX[t & 0xff]) - - t ^= RCON[(k / keySize) | 0] << 24 - } else if (keySize > 6 && k % keySize === 4) { - t = - (G.SBOX[t >>> 24] << 24) | - (G.SBOX[(t >>> 16) & 0xff] << 16) | - (G.SBOX[(t >>> 8) & 0xff] << 8) | - (G.SBOX[t & 0xff]) - } - - keySchedule[k] = keySchedule[k - keySize] ^ t - } - - var invKeySchedule = [] - for (var ik = 0; ik < ksRows; ik++) { - var ksR = ksRows - ik - var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)] - - if (ik < 4 || ksR <= 4) { - invKeySchedule[ik] = tt - } else { - invKeySchedule[ik] = - G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ - G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^ - G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^ - G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]] - } - } - - this._nRounds = nRounds - this._keySchedule = keySchedule - this._invKeySchedule = invKeySchedule -} - -AES.prototype.encryptBlockRaw = function (M) { - M = asUInt32Array(M) - return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds) -} - -AES.prototype.encryptBlock = function (M) { - var out = this.encryptBlockRaw(M) - var buf = Buffer.allocUnsafe(16) - buf.writeUInt32BE(out[0], 0) - buf.writeUInt32BE(out[1], 4) - buf.writeUInt32BE(out[2], 8) - buf.writeUInt32BE(out[3], 12) - return buf -} - -AES.prototype.decryptBlock = function (M) { - M = asUInt32Array(M) - - // swap - var m1 = M[1] - M[1] = M[3] - M[3] = m1 - - var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds) - var buf = Buffer.allocUnsafe(16) - buf.writeUInt32BE(out[0], 0) - buf.writeUInt32BE(out[3], 4) - buf.writeUInt32BE(out[2], 8) - buf.writeUInt32BE(out[1], 12) - return buf -} - -AES.prototype.scrub = function () { - scrubVec(this._keySchedule) - scrubVec(this._invKeySchedule) - scrubVec(this._key) -} - -module.exports.AES = AES - -},{"safe-buffer":163}],20:[function(require,module,exports){ -var aes = require('./aes') -var Buffer = require('safe-buffer').Buffer -var Transform = require('cipher-base') -var inherits = require('inherits') -var GHASH = require('./ghash') -var xor = require('buffer-xor') -var incr32 = require('./incr32') - -function xorTest (a, b) { - var out = 0 - if (a.length !== b.length) out++ - - var len = Math.min(a.length, b.length) - for (var i = 0; i < len; ++i) { - out += (a[i] ^ b[i]) - } - - return out -} - -function calcIv (self, iv, ck) { - if (iv.length === 12) { - self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])]) - return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])]) - } - var ghash = new GHASH(ck) - var len = iv.length - var toPad = len % 16 - ghash.update(iv) - if (toPad) { - toPad = 16 - toPad - ghash.update(Buffer.alloc(toPad, 0)) - } - ghash.update(Buffer.alloc(8, 0)) - var ivBits = len * 8 - var tail = Buffer.alloc(8) - tail.writeUIntBE(ivBits, 0, 8) - ghash.update(tail) - self._finID = ghash.state - var out = Buffer.from(self._finID) - incr32(out) - return out -} -function StreamCipher (mode, key, iv, decrypt) { - Transform.call(this) - - var h = Buffer.alloc(4, 0) - - this._cipher = new aes.AES(key) - var ck = this._cipher.encryptBlock(h) - this._ghash = new GHASH(ck) - iv = calcIv(this, iv, ck) - - this._prev = Buffer.from(iv) - this._cache = Buffer.allocUnsafe(0) - this._secCache = Buffer.allocUnsafe(0) - this._decrypt = decrypt - this._alen = 0 - this._len = 0 - this._mode = mode - - this._authTag = null - this._called = false -} - -inherits(StreamCipher, Transform) - -StreamCipher.prototype._update = function (chunk) { - if (!this._called && this._alen) { - var rump = 16 - (this._alen % 16) - if (rump < 16) { - rump = Buffer.alloc(rump, 0) - this._ghash.update(rump) - } - } - - this._called = true - var out = this._mode.encrypt(this, chunk) - if (this._decrypt) { - this._ghash.update(chunk) - } else { - this._ghash.update(out) - } - this._len += chunk.length - return out -} - -StreamCipher.prototype._final = function () { - if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data') - - var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID)) - if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data') - - this._authTag = tag - this._cipher.scrub() -} - -StreamCipher.prototype.getAuthTag = function getAuthTag () { - if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state') - - return this._authTag -} - -StreamCipher.prototype.setAuthTag = function setAuthTag (tag) { - if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state') - - this._authTag = tag -} - -StreamCipher.prototype.setAAD = function setAAD (buf) { - if (this._called) throw new Error('Attempting to set AAD in unsupported state') - - this._ghash.update(buf) - this._alen += buf.length -} - -module.exports = StreamCipher - -},{"./aes":19,"./ghash":24,"./incr32":25,"buffer-xor":46,"cipher-base":48,"inherits":117,"safe-buffer":163}],21:[function(require,module,exports){ -var ciphers = require('./encrypter') -var deciphers = require('./decrypter') -var modes = require('./modes/list.json') - -function getCiphers () { - return Object.keys(modes) -} - -exports.createCipher = exports.Cipher = ciphers.createCipher -exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv -exports.createDecipher = exports.Decipher = deciphers.createDecipher -exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv -exports.listCiphers = exports.getCiphers = getCiphers - -},{"./decrypter":22,"./encrypter":23,"./modes/list.json":33}],22:[function(require,module,exports){ -var AuthCipher = require('./authCipher') -var Buffer = require('safe-buffer').Buffer -var MODES = require('./modes') -var StreamCipher = require('./streamCipher') -var Transform = require('cipher-base') -var aes = require('./aes') -var ebtk = require('evp_bytestokey') -var inherits = require('inherits') - -function Decipher (mode, key, iv) { - Transform.call(this) - - this._cache = new Splitter() - this._last = void 0 - this._cipher = new aes.AES(key) - this._prev = Buffer.from(iv) - this._mode = mode - this._autopadding = true -} - -inherits(Decipher, Transform) - -Decipher.prototype._update = function (data) { - this._cache.add(data) - var chunk - var thing - var out = [] - while ((chunk = this._cache.get(this._autopadding))) { - thing = this._mode.decrypt(this, chunk) - out.push(thing) - } - return Buffer.concat(out) -} - -Decipher.prototype._final = function () { - var chunk = this._cache.flush() - if (this._autopadding) { - return unpad(this._mode.decrypt(this, chunk)) - } else if (chunk) { - throw new Error('data not multiple of block length') - } -} - -Decipher.prototype.setAutoPadding = function (setTo) { - this._autopadding = !!setTo - return this -} - -function Splitter () { - this.cache = Buffer.allocUnsafe(0) -} - -Splitter.prototype.add = function (data) { - this.cache = Buffer.concat([this.cache, data]) -} - -Splitter.prototype.get = function (autoPadding) { - var out - if (autoPadding) { - if (this.cache.length > 16) { - out = this.cache.slice(0, 16) - this.cache = this.cache.slice(16) - return out - } - } else { - if (this.cache.length >= 16) { - out = this.cache.slice(0, 16) - this.cache = this.cache.slice(16) - return out - } - } - - return null -} - -Splitter.prototype.flush = function () { - if (this.cache.length) return this.cache -} - -function unpad (last) { - var padded = last[15] - if (padded < 1 || padded > 16) { - throw new Error('unable to decrypt data') - } - var i = -1 - while (++i < padded) { - if (last[(i + (16 - padded))] !== padded) { - throw new Error('unable to decrypt data') - } - } - if (padded === 16) return - - return last.slice(0, 16 - padded) -} - -function createDecipheriv (suite, password, iv) { - var config = MODES[suite.toLowerCase()] - if (!config) throw new TypeError('invalid suite type') - - if (typeof iv === 'string') iv = Buffer.from(iv) - if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length) - - if (typeof password === 'string') password = Buffer.from(password) - if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length) - - if (config.type === 'stream') { - return new StreamCipher(config.module, password, iv, true) - } else if (config.type === 'auth') { - return new AuthCipher(config.module, password, iv, true) - } - - return new Decipher(config.module, password, iv) -} - -function createDecipher (suite, password) { - var config = MODES[suite.toLowerCase()] - if (!config) throw new TypeError('invalid suite type') - - var keys = ebtk(password, false, config.key, config.iv) - return createDecipheriv(suite, keys.key, keys.iv) -} - -exports.createDecipher = createDecipher -exports.createDecipheriv = createDecipheriv - -},{"./aes":19,"./authCipher":20,"./modes":32,"./streamCipher":35,"cipher-base":48,"evp_bytestokey":84,"inherits":117,"safe-buffer":163}],23:[function(require,module,exports){ -var MODES = require('./modes') -var AuthCipher = require('./authCipher') -var Buffer = require('safe-buffer').Buffer -var StreamCipher = require('./streamCipher') -var Transform = require('cipher-base') -var aes = require('./aes') -var ebtk = require('evp_bytestokey') -var inherits = require('inherits') - -function Cipher (mode, key, iv) { - Transform.call(this) - - this._cache = new Splitter() - this._cipher = new aes.AES(key) - this._prev = Buffer.from(iv) - this._mode = mode - this._autopadding = true -} - -inherits(Cipher, Transform) - -Cipher.prototype._update = function (data) { - this._cache.add(data) - var chunk - var thing - var out = [] - - while ((chunk = this._cache.get())) { - thing = this._mode.encrypt(this, chunk) - out.push(thing) - } - - return Buffer.concat(out) -} - -var PADDING = Buffer.alloc(16, 0x10) - -Cipher.prototype._final = function () { - var chunk = this._cache.flush() - if (this._autopadding) { - chunk = this._mode.encrypt(this, chunk) - this._cipher.scrub() - return chunk - } - - if (!chunk.equals(PADDING)) { - this._cipher.scrub() - throw new Error('data not multiple of block length') - } -} - -Cipher.prototype.setAutoPadding = function (setTo) { - this._autopadding = !!setTo - return this -} - -function Splitter () { - this.cache = Buffer.allocUnsafe(0) -} - -Splitter.prototype.add = function (data) { - this.cache = Buffer.concat([this.cache, data]) -} - -Splitter.prototype.get = function () { - if (this.cache.length > 15) { - var out = this.cache.slice(0, 16) - this.cache = this.cache.slice(16) - return out - } - return null -} - -Splitter.prototype.flush = function () { - var len = 16 - this.cache.length - var padBuff = Buffer.allocUnsafe(len) - - var i = -1 - while (++i < len) { - padBuff.writeUInt8(len, i) - } - - return Buffer.concat([this.cache, padBuff]) -} - -function createCipheriv (suite, password, iv) { - var config = MODES[suite.toLowerCase()] - if (!config) throw new TypeError('invalid suite type') - - if (typeof password === 'string') password = Buffer.from(password) - if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length) - - if (typeof iv === 'string') iv = Buffer.from(iv) - if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length) - - if (config.type === 'stream') { - return new StreamCipher(config.module, password, iv) - } else if (config.type === 'auth') { - return new AuthCipher(config.module, password, iv) - } - - return new Cipher(config.module, password, iv) -} - -function createCipher (suite, password) { - var config = MODES[suite.toLowerCase()] - if (!config) throw new TypeError('invalid suite type') - - var keys = ebtk(password, false, config.key, config.iv) - return createCipheriv(suite, keys.key, keys.iv) -} - -exports.createCipheriv = createCipheriv -exports.createCipher = createCipher - -},{"./aes":19,"./authCipher":20,"./modes":32,"./streamCipher":35,"cipher-base":48,"evp_bytestokey":84,"inherits":117,"safe-buffer":163}],24:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer -var ZEROES = Buffer.alloc(16, 0) - -function toArray (buf) { - return [ - buf.readUInt32BE(0), - buf.readUInt32BE(4), - buf.readUInt32BE(8), - buf.readUInt32BE(12) - ] -} - -function fromArray (out) { - var buf = Buffer.allocUnsafe(16) - buf.writeUInt32BE(out[0] >>> 0, 0) - buf.writeUInt32BE(out[1] >>> 0, 4) - buf.writeUInt32BE(out[2] >>> 0, 8) - buf.writeUInt32BE(out[3] >>> 0, 12) - return buf -} - -function GHASH (key) { - this.h = key - this.state = Buffer.alloc(16, 0) - this.cache = Buffer.allocUnsafe(0) -} - -// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html -// by Juho Vähä-Herttua -GHASH.prototype.ghash = function (block) { - var i = -1 - while (++i < block.length) { - this.state[i] ^= block[i] - } - this._multiply() -} - -GHASH.prototype._multiply = function () { - var Vi = toArray(this.h) - var Zi = [0, 0, 0, 0] - var j, xi, lsbVi - var i = -1 - while (++i < 128) { - xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0 - if (xi) { - // Z_i+1 = Z_i ^ V_i - Zi[0] ^= Vi[0] - Zi[1] ^= Vi[1] - Zi[2] ^= Vi[2] - Zi[3] ^= Vi[3] - } - - // Store the value of LSB(V_i) - lsbVi = (Vi[3] & 1) !== 0 - - // V_i+1 = V_i >> 1 - for (j = 3; j > 0; j--) { - Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31) - } - Vi[0] = Vi[0] >>> 1 - - // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R - if (lsbVi) { - Vi[0] = Vi[0] ^ (0xe1 << 24) - } - } - this.state = fromArray(Zi) -} - -GHASH.prototype.update = function (buf) { - this.cache = Buffer.concat([this.cache, buf]) - var chunk - while (this.cache.length >= 16) { - chunk = this.cache.slice(0, 16) - this.cache = this.cache.slice(16) - this.ghash(chunk) - } -} - -GHASH.prototype.final = function (abl, bl) { - if (this.cache.length) { - this.ghash(Buffer.concat([this.cache, ZEROES], 16)) - } - - this.ghash(fromArray([0, abl, 0, bl])) - return this.state -} - -module.exports = GHASH - -},{"safe-buffer":163}],25:[function(require,module,exports){ -function incr32 (iv) { - var len = iv.length - var item - while (len--) { - item = iv.readUInt8(len) - if (item === 255) { - iv.writeUInt8(0, len) - } else { - item++ - iv.writeUInt8(item, len) - break - } - } -} -module.exports = incr32 - -},{}],26:[function(require,module,exports){ -var xor = require('buffer-xor') - -exports.encrypt = function (self, block) { - var data = xor(block, self._prev) - - self._prev = self._cipher.encryptBlock(data) - return self._prev -} - -exports.decrypt = function (self, block) { - var pad = self._prev - - self._prev = block - var out = self._cipher.decryptBlock(block) - - return xor(out, pad) -} - -},{"buffer-xor":46}],27:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer -var xor = require('buffer-xor') - -function encryptStart (self, data, decrypt) { - var len = data.length - var out = xor(data, self._cache) - self._cache = self._cache.slice(len) - self._prev = Buffer.concat([self._prev, decrypt ? data : out]) - return out -} - -exports.encrypt = function (self, data, decrypt) { - var out = Buffer.allocUnsafe(0) - var len - - while (data.length) { - if (self._cache.length === 0) { - self._cache = self._cipher.encryptBlock(self._prev) - self._prev = Buffer.allocUnsafe(0) - } - - if (self._cache.length <= data.length) { - len = self._cache.length - out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]) - data = data.slice(len) - } else { - out = Buffer.concat([out, encryptStart(self, data, decrypt)]) - break - } - } - - return out -} - -},{"buffer-xor":46,"safe-buffer":163}],28:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer - -function encryptByte (self, byteParam, decrypt) { - var pad - var i = -1 - var len = 8 - var out = 0 - var bit, value - while (++i < len) { - pad = self._cipher.encryptBlock(self._prev) - bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0 - value = pad[0] ^ bit - out += ((value & 0x80) >> (i % 8)) - self._prev = shiftIn(self._prev, decrypt ? bit : value) - } - return out -} - -function shiftIn (buffer, value) { - var len = buffer.length - var i = -1 - var out = Buffer.allocUnsafe(buffer.length) - buffer = Buffer.concat([buffer, Buffer.from([value])]) - - while (++i < len) { - out[i] = buffer[i] << 1 | buffer[i + 1] >> (7) - } - - return out -} - -exports.encrypt = function (self, chunk, decrypt) { - var len = chunk.length - var out = Buffer.allocUnsafe(len) - var i = -1 - - while (++i < len) { - out[i] = encryptByte(self, chunk[i], decrypt) - } - - return out -} - -},{"safe-buffer":163}],29:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer - -function encryptByte (self, byteParam, decrypt) { - var pad = self._cipher.encryptBlock(self._prev) - var out = pad[0] ^ byteParam - - self._prev = Buffer.concat([ - self._prev.slice(1), - Buffer.from([decrypt ? byteParam : out]) - ]) - - return out -} - -exports.encrypt = function (self, chunk, decrypt) { - var len = chunk.length - var out = Buffer.allocUnsafe(len) - var i = -1 - - while (++i < len) { - out[i] = encryptByte(self, chunk[i], decrypt) - } - - return out -} - -},{"safe-buffer":163}],30:[function(require,module,exports){ -var xor = require('buffer-xor') -var Buffer = require('safe-buffer').Buffer -var incr32 = require('../incr32') - -function getBlock (self) { - var out = self._cipher.encryptBlockRaw(self._prev) - incr32(self._prev) - return out -} - -var blockSize = 16 -exports.encrypt = function (self, chunk) { - var chunkNum = Math.ceil(chunk.length / blockSize) - var start = self._cache.length - self._cache = Buffer.concat([ - self._cache, - Buffer.allocUnsafe(chunkNum * blockSize) - ]) - for (var i = 0; i < chunkNum; i++) { - var out = getBlock(self) - var offset = start + i * blockSize - self._cache.writeUInt32BE(out[0], offset + 0) - self._cache.writeUInt32BE(out[1], offset + 4) - self._cache.writeUInt32BE(out[2], offset + 8) - self._cache.writeUInt32BE(out[3], offset + 12) - } - var pad = self._cache.slice(0, chunk.length) - self._cache = self._cache.slice(chunk.length) - return xor(chunk, pad) -} - -},{"../incr32":25,"buffer-xor":46,"safe-buffer":163}],31:[function(require,module,exports){ -exports.encrypt = function (self, block) { - return self._cipher.encryptBlock(block) -} - -exports.decrypt = function (self, block) { - return self._cipher.decryptBlock(block) -} - -},{}],32:[function(require,module,exports){ -var modeModules = { - ECB: require('./ecb'), - CBC: require('./cbc'), - CFB: require('./cfb'), - CFB8: require('./cfb8'), - CFB1: require('./cfb1'), - OFB: require('./ofb'), - CTR: require('./ctr'), - GCM: require('./ctr') -} - -var modes = require('./list.json') - -for (var key in modes) { - modes[key].module = modeModules[modes[key].mode] -} - -module.exports = modes - -},{"./cbc":26,"./cfb":27,"./cfb1":28,"./cfb8":29,"./ctr":30,"./ecb":31,"./list.json":33,"./ofb":34}],33:[function(require,module,exports){ -module.exports={ - "aes-128-ecb": { - "cipher": "AES", - "key": 128, - "iv": 0, - "mode": "ECB", - "type": "block" - }, - "aes-192-ecb": { - "cipher": "AES", - "key": 192, - "iv": 0, - "mode": "ECB", - "type": "block" - }, - "aes-256-ecb": { - "cipher": "AES", - "key": 256, - "iv": 0, - "mode": "ECB", - "type": "block" - }, - "aes-128-cbc": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes-192-cbc": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes-256-cbc": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes128": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes192": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes256": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CBC", - "type": "block" - }, - "aes-128-cfb": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CFB", - "type": "stream" - }, - "aes-192-cfb": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CFB", - "type": "stream" - }, - "aes-256-cfb": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CFB", - "type": "stream" - }, - "aes-128-cfb8": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CFB8", - "type": "stream" - }, - "aes-192-cfb8": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CFB8", - "type": "stream" - }, - "aes-256-cfb8": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CFB8", - "type": "stream" - }, - "aes-128-cfb1": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CFB1", - "type": "stream" - }, - "aes-192-cfb1": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CFB1", - "type": "stream" - }, - "aes-256-cfb1": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CFB1", - "type": "stream" - }, - "aes-128-ofb": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "OFB", - "type": "stream" - }, - "aes-192-ofb": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "OFB", - "type": "stream" - }, - "aes-256-ofb": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "OFB", - "type": "stream" - }, - "aes-128-ctr": { - "cipher": "AES", - "key": 128, - "iv": 16, - "mode": "CTR", - "type": "stream" - }, - "aes-192-ctr": { - "cipher": "AES", - "key": 192, - "iv": 16, - "mode": "CTR", - "type": "stream" - }, - "aes-256-ctr": { - "cipher": "AES", - "key": 256, - "iv": 16, - "mode": "CTR", - "type": "stream" - }, - "aes-128-gcm": { - "cipher": "AES", - "key": 128, - "iv": 12, - "mode": "GCM", - "type": "auth" - }, - "aes-192-gcm": { - "cipher": "AES", - "key": 192, - "iv": 12, - "mode": "GCM", - "type": "auth" - }, - "aes-256-gcm": { - "cipher": "AES", - "key": 256, - "iv": 12, - "mode": "GCM", - "type": "auth" - } -} - -},{}],34:[function(require,module,exports){ -(function (Buffer){ -var xor = require('buffer-xor') - -function getBlock (self) { - self._prev = self._cipher.encryptBlock(self._prev) - return self._prev -} - -exports.encrypt = function (self, chunk) { - while (self._cache.length < chunk.length) { - self._cache = Buffer.concat([self._cache, getBlock(self)]) - } - - var pad = self._cache.slice(0, chunk.length) - self._cache = self._cache.slice(chunk.length) - return xor(chunk, pad) -} - -}).call(this,require("buffer").Buffer) -},{"buffer":47,"buffer-xor":46}],35:[function(require,module,exports){ -var aes = require('./aes') -var Buffer = require('safe-buffer').Buffer -var Transform = require('cipher-base') -var inherits = require('inherits') - -function StreamCipher (mode, key, iv, decrypt) { - Transform.call(this) - - this._cipher = new aes.AES(key) - this._prev = Buffer.from(iv) - this._cache = Buffer.allocUnsafe(0) - this._secCache = Buffer.allocUnsafe(0) - this._decrypt = decrypt - this._mode = mode -} - -inherits(StreamCipher, Transform) - -StreamCipher.prototype._update = function (chunk) { - return this._mode.encrypt(this, chunk, this._decrypt) -} - -StreamCipher.prototype._final = function () { - this._cipher.scrub() -} - -module.exports = StreamCipher - -},{"./aes":19,"cipher-base":48,"inherits":117,"safe-buffer":163}],36:[function(require,module,exports){ -var DES = require('browserify-des') -var aes = require('browserify-aes/browser') -var aesModes = require('browserify-aes/modes') -var desModes = require('browserify-des/modes') -var ebtk = require('evp_bytestokey') - -function createCipher (suite, password) { - suite = suite.toLowerCase() - - var keyLen, ivLen - if (aesModes[suite]) { - keyLen = aesModes[suite].key - ivLen = aesModes[suite].iv - } else if (desModes[suite]) { - keyLen = desModes[suite].key * 8 - ivLen = desModes[suite].iv - } else { - throw new TypeError('invalid suite type') - } - - var keys = ebtk(password, false, keyLen, ivLen) - return createCipheriv(suite, keys.key, keys.iv) -} - -function createDecipher (suite, password) { - suite = suite.toLowerCase() - - var keyLen, ivLen - if (aesModes[suite]) { - keyLen = aesModes[suite].key - ivLen = aesModes[suite].iv - } else if (desModes[suite]) { - keyLen = desModes[suite].key * 8 - ivLen = desModes[suite].iv - } else { - throw new TypeError('invalid suite type') - } - - var keys = ebtk(password, false, keyLen, ivLen) - return createDecipheriv(suite, keys.key, keys.iv) -} - -function createCipheriv (suite, key, iv) { - suite = suite.toLowerCase() - if (aesModes[suite]) return aes.createCipheriv(suite, key, iv) - if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite }) - - throw new TypeError('invalid suite type') -} - -function createDecipheriv (suite, key, iv) { - suite = suite.toLowerCase() - if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv) - if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true }) - - throw new TypeError('invalid suite type') -} - -function getCiphers () { - return Object.keys(desModes).concat(aes.getCiphers()) -} - -exports.createCipher = exports.Cipher = createCipher -exports.createCipheriv = exports.Cipheriv = createCipheriv -exports.createDecipher = exports.Decipher = createDecipher -exports.createDecipheriv = exports.Decipheriv = createDecipheriv -exports.listCiphers = exports.getCiphers = getCiphers - -},{"browserify-aes/browser":21,"browserify-aes/modes":32,"browserify-des":37,"browserify-des/modes":38,"evp_bytestokey":84}],37:[function(require,module,exports){ -var CipherBase = require('cipher-base') -var des = require('des.js') -var inherits = require('inherits') -var Buffer = require('safe-buffer').Buffer - -var modes = { - 'des-ede3-cbc': des.CBC.instantiate(des.EDE), - 'des-ede3': des.EDE, - 'des-ede-cbc': des.CBC.instantiate(des.EDE), - 'des-ede': des.EDE, - 'des-cbc': des.CBC.instantiate(des.DES), - 'des-ecb': des.DES -} -modes.des = modes['des-cbc'] -modes.des3 = modes['des-ede3-cbc'] -module.exports = DES -inherits(DES, CipherBase) -function DES (opts) { - CipherBase.call(this) - var modeName = opts.mode.toLowerCase() - var mode = modes[modeName] - var type - if (opts.decrypt) { - type = 'decrypt' - } else { - type = 'encrypt' - } - var key = opts.key - if (!Buffer.isBuffer(key)) { - key = Buffer.from(key) - } - if (modeName === 'des-ede' || modeName === 'des-ede-cbc') { - key = Buffer.concat([key, key.slice(0, 8)]) - } - var iv = opts.iv - if (!Buffer.isBuffer(iv)) { - iv = Buffer.from(iv) - } - this._des = mode.create({ - key: key, - iv: iv, - type: type - }) -} -DES.prototype._update = function (data) { - return Buffer.from(this._des.update(data)) -} -DES.prototype._final = function () { - return Buffer.from(this._des.final()) -} - -},{"cipher-base":48,"des.js":56,"inherits":117,"safe-buffer":163}],38:[function(require,module,exports){ -exports['des-ecb'] = { - key: 8, - iv: 0 -} -exports['des-cbc'] = exports.des = { - key: 8, - iv: 8 -} -exports['des-ede3-cbc'] = exports.des3 = { - key: 24, - iv: 8 -} -exports['des-ede3'] = { - key: 24, - iv: 0 -} -exports['des-ede-cbc'] = { - key: 16, - iv: 8 -} -exports['des-ede'] = { - key: 16, - iv: 0 -} - -},{}],39:[function(require,module,exports){ -(function (Buffer){ -var bn = require('bn.js'); -var randomBytes = require('randombytes'); -module.exports = crt; -function blind(priv) { - var r = getr(priv); - var blinder = r.toRed(bn.mont(priv.modulus)) - .redPow(new bn(priv.publicExponent)).fromRed(); - return { - blinder: blinder, - unblinder:r.invm(priv.modulus) - }; -} -function crt(msg, priv) { - var blinds = blind(priv); - var len = priv.modulus.byteLength(); - var mod = bn.mont(priv.modulus); - var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus); - var c1 = blinded.toRed(bn.mont(priv.prime1)); - var c2 = blinded.toRed(bn.mont(priv.prime2)); - var qinv = priv.coefficient; - var p = priv.prime1; - var q = priv.prime2; - var m1 = c1.redPow(priv.exponent1); - var m2 = c2.redPow(priv.exponent2); - m1 = m1.fromRed(); - m2 = m2.fromRed(); - var h = m1.isub(m2).imul(qinv).umod(p); - h.imul(q); - m2.iadd(h); - return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len)); -} -crt.getr = getr; -function getr(priv) { - var len = priv.modulus.byteLength(); - var r = new bn(randomBytes(len)); - while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) { - r = new bn(randomBytes(len)); - } - return r; -} - -}).call(this,require("buffer").Buffer) -},{"bn.js":16,"buffer":47,"randombytes":144}],40:[function(require,module,exports){ -module.exports = require('./browser/algorithms.json') - -},{"./browser/algorithms.json":41}],41:[function(require,module,exports){ -module.exports={ - "sha224WithRSAEncryption": { - "sign": "rsa", - "hash": "sha224", - "id": "302d300d06096086480165030402040500041c" - }, - "RSA-SHA224": { - "sign": "ecdsa/rsa", - "hash": "sha224", - "id": "302d300d06096086480165030402040500041c" - }, - "sha256WithRSAEncryption": { - "sign": "rsa", - "hash": "sha256", - "id": "3031300d060960864801650304020105000420" - }, - "RSA-SHA256": { - "sign": "ecdsa/rsa", - "hash": "sha256", - "id": "3031300d060960864801650304020105000420" - }, - "sha384WithRSAEncryption": { - "sign": "rsa", - "hash": "sha384", - "id": "3041300d060960864801650304020205000430" - }, - "RSA-SHA384": { - "sign": "ecdsa/rsa", - "hash": "sha384", - "id": "3041300d060960864801650304020205000430" - }, - "sha512WithRSAEncryption": { - "sign": "rsa", - "hash": "sha512", - "id": "3051300d060960864801650304020305000440" - }, - "RSA-SHA512": { - "sign": "ecdsa/rsa", - "hash": "sha512", - "id": "3051300d060960864801650304020305000440" - }, - "RSA-SHA1": { - "sign": "rsa", - "hash": "sha1", - "id": "3021300906052b0e03021a05000414" - }, - "ecdsa-with-SHA1": { - "sign": "ecdsa", - "hash": "sha1", - "id": "" - }, - "sha256": { - "sign": "ecdsa", - "hash": "sha256", - "id": "" - }, - "sha224": { - "sign": "ecdsa", - "hash": "sha224", - "id": "" - }, - "sha384": { - "sign": "ecdsa", - "hash": "sha384", - "id": "" - }, - "sha512": { - "sign": "ecdsa", - "hash": "sha512", - "id": "" - }, - "DSA-SHA": { - "sign": "dsa", - "hash": "sha1", - "id": "" - }, - "DSA-SHA1": { - "sign": "dsa", - "hash": "sha1", - "id": "" - }, - "DSA": { - "sign": "dsa", - "hash": "sha1", - "id": "" - }, - "DSA-WITH-SHA224": { - "sign": "dsa", - "hash": "sha224", - "id": "" - }, - "DSA-SHA224": { - "sign": "dsa", - "hash": "sha224", - "id": "" - }, - "DSA-WITH-SHA256": { - "sign": "dsa", - "hash": "sha256", - "id": "" - }, - "DSA-SHA256": { - "sign": "dsa", - "hash": "sha256", - "id": "" - }, - "DSA-WITH-SHA384": { - "sign": "dsa", - "hash": "sha384", - "id": "" - }, - "DSA-SHA384": { - "sign": "dsa", - "hash": "sha384", - "id": "" - }, - "DSA-WITH-SHA512": { - "sign": "dsa", - "hash": "sha512", - "id": "" - }, - "DSA-SHA512": { - "sign": "dsa", - "hash": "sha512", - "id": "" - }, - "DSA-RIPEMD160": { - "sign": "dsa", - "hash": "rmd160", - "id": "" - }, - "ripemd160WithRSA": { - "sign": "rsa", - "hash": "rmd160", - "id": "3021300906052b2403020105000414" - }, - "RSA-RIPEMD160": { - "sign": "rsa", - "hash": "rmd160", - "id": "3021300906052b2403020105000414" - }, - "md5WithRSAEncryption": { - "sign": "rsa", - "hash": "md5", - "id": "3020300c06082a864886f70d020505000410" - }, - "RSA-MD5": { - "sign": "rsa", - "hash": "md5", - "id": "3020300c06082a864886f70d020505000410" - } -} - -},{}],42:[function(require,module,exports){ -module.exports={ - "1.3.132.0.10": "secp256k1", - "1.3.132.0.33": "p224", - "1.2.840.10045.3.1.1": "p192", - "1.2.840.10045.3.1.7": "p256", - "1.3.132.0.34": "p384", - "1.3.132.0.35": "p521" -} - -},{}],43:[function(require,module,exports){ -(function (Buffer){ -var createHash = require('create-hash') -var stream = require('stream') -var inherits = require('inherits') -var sign = require('./sign') -var verify = require('./verify') - -var algorithms = require('./algorithms.json') -Object.keys(algorithms).forEach(function (key) { - algorithms[key].id = new Buffer(algorithms[key].id, 'hex') - algorithms[key.toLowerCase()] = algorithms[key] -}) - -function Sign (algorithm) { - stream.Writable.call(this) - - var data = algorithms[algorithm] - if (!data) throw new Error('Unknown message digest') - - this._hashType = data.hash - this._hash = createHash(data.hash) - this._tag = data.id - this._signType = data.sign -} -inherits(Sign, stream.Writable) - -Sign.prototype._write = function _write (data, _, done) { - this._hash.update(data) - done() -} - -Sign.prototype.update = function update (data, enc) { - if (typeof data === 'string') data = new Buffer(data, enc) - - this._hash.update(data) - return this -} - -Sign.prototype.sign = function signMethod (key, enc) { - this.end() - var hash = this._hash.digest() - var sig = sign(hash, key, this._hashType, this._signType, this._tag) - - return enc ? sig.toString(enc) : sig -} - -function Verify (algorithm) { - stream.Writable.call(this) - - var data = algorithms[algorithm] - if (!data) throw new Error('Unknown message digest') - - this._hash = createHash(data.hash) - this._tag = data.id - this._signType = data.sign -} -inherits(Verify, stream.Writable) - -Verify.prototype._write = function _write (data, _, done) { - this._hash.update(data) - done() -} - -Verify.prototype.update = function update (data, enc) { - if (typeof data === 'string') data = new Buffer(data, enc) - - this._hash.update(data) - return this -} - -Verify.prototype.verify = function verifyMethod (key, sig, enc) { - if (typeof sig === 'string') sig = new Buffer(sig, enc) - - this.end() - var hash = this._hash.digest() - return verify(sig, hash, key, this._signType, this._tag) -} - -function createSign (algorithm) { - return new Sign(algorithm) -} - -function createVerify (algorithm) { - return new Verify(algorithm) -} - -module.exports = { - Sign: createSign, - Verify: createVerify, - createSign: createSign, - createVerify: createVerify -} - -}).call(this,require("buffer").Buffer) -},{"./algorithms.json":41,"./sign":44,"./verify":45,"buffer":47,"create-hash":51,"inherits":117,"stream":184}],44:[function(require,module,exports){ -(function (Buffer){ -// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js -var createHmac = require('create-hmac') -var crt = require('browserify-rsa') -var EC = require('elliptic').ec -var BN = require('bn.js') -var parseKeys = require('parse-asn1') -var curves = require('./curves.json') - -function sign (hash, key, hashType, signType, tag) { - var priv = parseKeys(key) - if (priv.curve) { - // rsa keys can be interpreted as ecdsa ones in openssl - if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type') - return ecSign(hash, priv) - } else if (priv.type === 'dsa') { - if (signType !== 'dsa') throw new Error('wrong private key type') - return dsaSign(hash, priv, hashType) - } else { - if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type') - } - hash = Buffer.concat([tag, hash]) - var len = priv.modulus.byteLength() - var pad = [ 0, 1 ] - while (hash.length + pad.length + 1 < len) pad.push(0xff) - pad.push(0x00) - var i = -1 - while (++i < hash.length) pad.push(hash[i]) - - var out = crt(pad, priv) - return out -} - -function ecSign (hash, priv) { - var curveId = curves[priv.curve.join('.')] - if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.')) - - var curve = new EC(curveId) - var key = curve.keyFromPrivate(priv.privateKey) - var out = key.sign(hash) - - return new Buffer(out.toDER()) -} - -function dsaSign (hash, priv, algo) { - var x = priv.params.priv_key - var p = priv.params.p - var q = priv.params.q - var g = priv.params.g - var r = new BN(0) - var k - var H = bits2int(hash, q).mod(q) - var s = false - var kv = getKey(x, q, hash, algo) - while (s === false) { - k = makeKey(q, kv, algo) - r = makeR(g, k, p, q) - s = k.invm(q).imul(H.add(x.mul(r))).mod(q) - if (s.cmpn(0) === 0) { - s = false - r = new BN(0) - } - } - return toDER(r, s) -} - -function toDER (r, s) { - r = r.toArray() - s = s.toArray() - - // Pad values - if (r[0] & 0x80) r = [ 0 ].concat(r) - if (s[0] & 0x80) s = [ 0 ].concat(s) - - var total = r.length + s.length + 4 - var res = [ 0x30, total, 0x02, r.length ] - res = res.concat(r, [ 0x02, s.length ], s) - return new Buffer(res) -} - -function getKey (x, q, hash, algo) { - x = new Buffer(x.toArray()) - if (x.length < q.byteLength()) { - var zeros = new Buffer(q.byteLength() - x.length) - zeros.fill(0) - x = Buffer.concat([ zeros, x ]) - } - var hlen = hash.length - var hbits = bits2octets(hash, q) - var v = new Buffer(hlen) - v.fill(1) - var k = new Buffer(hlen) - k.fill(0) - k = createHmac(algo, k).update(v).update(new Buffer([ 0 ])).update(x).update(hbits).digest() - v = createHmac(algo, k).update(v).digest() - k = createHmac(algo, k).update(v).update(new Buffer([ 1 ])).update(x).update(hbits).digest() - v = createHmac(algo, k).update(v).digest() - return { k: k, v: v } -} - -function bits2int (obits, q) { - var bits = new BN(obits) - var shift = (obits.length << 3) - q.bitLength() - if (shift > 0) bits.ishrn(shift) - return bits -} - -function bits2octets (bits, q) { - bits = bits2int(bits, q) - bits = bits.mod(q) - var out = new Buffer(bits.toArray()) - if (out.length < q.byteLength()) { - var zeros = new Buffer(q.byteLength() - out.length) - zeros.fill(0) - out = Buffer.concat([ zeros, out ]) - } - return out -} - -function makeKey (q, kv, algo) { - var t - var k - - do { - t = new Buffer(0) - - while (t.length * 8 < q.bitLength()) { - kv.v = createHmac(algo, kv.k).update(kv.v).digest() - t = Buffer.concat([ t, kv.v ]) - } - - k = bits2int(t, q) - kv.k = createHmac(algo, kv.k).update(kv.v).update(new Buffer([ 0 ])).digest() - kv.v = createHmac(algo, kv.k).update(kv.v).digest() - } while (k.cmp(q) !== -1) - - return k -} - -function makeR (g, k, p, q) { - return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q) -} - -module.exports = sign -module.exports.getKey = getKey -module.exports.makeKey = makeKey - -}).call(this,require("buffer").Buffer) -},{"./curves.json":42,"bn.js":16,"browserify-rsa":39,"buffer":47,"create-hmac":53,"elliptic":66,"parse-asn1":129}],45:[function(require,module,exports){ -(function (Buffer){ -// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js -var BN = require('bn.js') -var EC = require('elliptic').ec -var parseKeys = require('parse-asn1') -var curves = require('./curves.json') - -function verify (sig, hash, key, signType, tag) { - var pub = parseKeys(key) - if (pub.type === 'ec') { - // rsa keys can be interpreted as ecdsa ones in openssl - if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') - return ecVerify(sig, hash, pub) - } else if (pub.type === 'dsa') { - if (signType !== 'dsa') throw new Error('wrong public key type') - return dsaVerify(sig, hash, pub) - } else { - if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') - } - hash = Buffer.concat([tag, hash]) - var len = pub.modulus.byteLength() - var pad = [ 1 ] - var padNum = 0 - while (hash.length + pad.length + 2 < len) { - pad.push(0xff) - padNum++ - } - pad.push(0x00) - var i = -1 - while (++i < hash.length) { - pad.push(hash[i]) - } - pad = new Buffer(pad) - var red = BN.mont(pub.modulus) - sig = new BN(sig).toRed(red) - - sig = sig.redPow(new BN(pub.publicExponent)) - sig = new Buffer(sig.fromRed().toArray()) - var out = padNum < 8 ? 1 : 0 - len = Math.min(sig.length, pad.length) - if (sig.length !== pad.length) out = 1 - - i = -1 - while (++i < len) out |= sig[i] ^ pad[i] - return out === 0 -} - -function ecVerify (sig, hash, pub) { - var curveId = curves[pub.data.algorithm.curve.join('.')] - if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')) - - var curve = new EC(curveId) - var pubkey = pub.data.subjectPrivateKey.data - - return curve.verify(hash, sig, pubkey) -} - -function dsaVerify (sig, hash, pub) { - var p = pub.data.p - var q = pub.data.q - var g = pub.data.g - var y = pub.data.pub_key - var unpacked = parseKeys.signature.decode(sig, 'der') - var s = unpacked.s - var r = unpacked.r - checkValue(s, q) - checkValue(r, q) - var montp = BN.mont(p) - var w = s.invm(q) - var v = g.toRed(montp) - .redPow(new BN(hash).mul(w).mod(q)) - .fromRed() - .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()) - .mod(p) - .mod(q) - return v.cmp(r) === 0 -} - -function checkValue (b, q) { - if (b.cmpn(0) <= 0) throw new Error('invalid sig') - if (b.cmp(q) >= q) throw new Error('invalid sig') -} - -module.exports = verify - -}).call(this,require("buffer").Buffer) -},{"./curves.json":42,"bn.js":16,"buffer":47,"elliptic":66,"parse-asn1":129}],46:[function(require,module,exports){ -(function (Buffer){ -module.exports = function xor (a, b) { - var length = Math.min(a.length, b.length) - var buffer = new Buffer(length) - - for (var i = 0; i < length; ++i) { - buffer[i] = a[i] ^ b[i] - } - - return buffer -} - -}).call(this,require("buffer").Buffer) -},{"buffer":47}],47:[function(require,module,exports){ -(function (Buffer){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - -'use strict' - -var base64 = require('base64-js') -var ieee754 = require('ieee754') -var customInspectSymbol = - (typeof Symbol === 'function' && typeof Symbol.for === 'function') - ? Symbol.for('nodejs.util.inspect.custom') - : null - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -var K_MAX_LENGTH = 0x7fffffff -exports.kMaxLength = K_MAX_LENGTH - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Print warning and recommend using `buffer` v4.x which has an Object - * implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * We report that the browser does not support typed arrays if the are not subclassable - * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` - * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support - * for __proto__ and has a buggy typed array implementation. - */ -Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() - -if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && - typeof console.error === 'function') { - console.error( - 'This browser lacks typed array (Uint8Array) support which is required by ' + - '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' - ) -} - -function typedArraySupport () { - // Can typed array instances can be augmented? - try { - var arr = new Uint8Array(1) - var proto = { foo: function () { return 42 } } - Object.setPrototypeOf(proto, Uint8Array.prototype) - Object.setPrototypeOf(arr, proto) - return arr.foo() === 42 - } catch (e) { - return false - } -} - -Object.defineProperty(Buffer.prototype, 'parent', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined - return this.buffer - } -}) - -Object.defineProperty(Buffer.prototype, 'offset', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined - return this.byteOffset - } -}) - -function createBuffer (length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('The value "' + length + '" is invalid for option "size"') - } - // Return an augmented `Uint8Array` instance - var buf = new Uint8Array(length) - Object.setPrototypeOf(buf, Buffer.prototype) - return buf -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new TypeError( - 'The "string" argument must be of type string. Received type number' - ) - } - return allocUnsafe(arg) - } - return from(arg, encodingOrOffset, length) -} - -Buffer.poolSize = 8192 // not used by this implementation - -function from (value, encodingOrOffset, length) { - if (typeof value === 'string') { - return fromString(value, encodingOrOffset) - } - - if (ArrayBuffer.isView(value)) { - return fromArrayLike(value) - } - - if (value == null) { - throw new TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + (typeof value) - ) - } - - if (isInstance(value, ArrayBuffer) || - (value && isInstance(value.buffer, ArrayBuffer))) { - return fromArrayBuffer(value, encodingOrOffset, length) - } - - if (typeof SharedArrayBuffer !== 'undefined' && - (isInstance(value, SharedArrayBuffer) || - (value && isInstance(value.buffer, SharedArrayBuffer)))) { - return fromArrayBuffer(value, encodingOrOffset, length) - } - - if (typeof value === 'number') { - throw new TypeError( - 'The "value" argument must not be of type number. Received type number' - ) - } - - var valueOf = value.valueOf && value.valueOf() - if (valueOf != null && valueOf !== value) { - return Buffer.from(valueOf, encodingOrOffset, length) - } - - var b = fromObject(value) - if (b) return b - - if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && - typeof value[Symbol.toPrimitive] === 'function') { - return Buffer.from( - value[Symbol.toPrimitive]('string'), encodingOrOffset, length - ) - } - - throw new TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + (typeof value) - ) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length) -} - -// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: -// https://github.com/feross/buffer/pull/148 -Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype) -Object.setPrototypeOf(Buffer, Uint8Array) - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be of type number') - } else if (size < 0) { - throw new RangeError('The value "' + size + '" is invalid for option "size"') - } -} - -function alloc (size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(size).fill(fill, encoding) - : createBuffer(size).fill(fill) - } - return createBuffer(size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(size, fill, encoding) -} - -function allocUnsafe (size) { - assertSize(size) - return createBuffer(size < 0 ? 0 : checked(size) | 0) -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(size) -} - -function fromString (string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - - var length = byteLength(string, encoding) | 0 - var buf = createBuffer(length) - - var actual = buf.write(string, encoding) - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - buf = buf.slice(0, actual) - } - - return buf -} - -function fromArrayLike (array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - var buf = createBuffer(length) - for (var i = 0; i < length; i += 1) { - buf[i] = array[i] & 255 - } - return buf -} - -function fromArrayBuffer (array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('"offset" is outside of buffer bounds') - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('"length" is outside of buffer bounds') - } - - var buf - if (byteOffset === undefined && length === undefined) { - buf = new Uint8Array(array) - } else if (length === undefined) { - buf = new Uint8Array(array, byteOffset) - } else { - buf = new Uint8Array(array, byteOffset, length) - } - - // Return an augmented `Uint8Array` instance - Object.setPrototypeOf(buf, Buffer.prototype) - - return buf -} - -function fromObject (obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - var buf = createBuffer(len) - - if (buf.length === 0) { - return buf - } - - obj.copy(buf, 0, 0, len) - return buf - } - - if (obj.length !== undefined) { - if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { - return createBuffer(0) - } - return fromArrayLike(obj) - } - - if (obj.type === 'Buffer' && Array.isArray(obj.data)) { - return fromArrayLike(obj.data) - } -} - -function checked (length) { - // Note: cannot use `length < K_MAX_LENGTH` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= K_MAX_LENGTH) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return b != null && b._isBuffer === true && - b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false -} - -Buffer.compare = function compare (a, b) { - if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength) - if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength) - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError( - 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' - ) - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - - if (list.length === 0) { - return Buffer.alloc(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } - - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (isInstance(buf, Uint8Array)) { - buf = Buffer.from(buf) - } - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} - -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - throw new TypeError( - 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + - 'Received type ' + typeof string - ) - } - - var len = string.length - var mustMatch = (arguments.length > 2 && arguments[2] === true) - if (!mustMatch && len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) { - return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8 - } - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -function slowToString (encoding, start, end) { - var loweredCase = false - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } - - if (end === undefined || end > this.length) { - end = this.length - } - - if (end <= 0) { - return '' - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 - - if (end <= start) { - return '' - } - - if (!encoding) encoding = 'utf8' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) -// to detect a Buffer instance. It's not possible to use `instanceof Buffer` -// reliably in a browserify context because there could be multiple different -// copies of the 'buffer' package in use. This method works even for Buffer -// instances that were created from another copy of the `buffer` package. -// See: https://github.com/feross/buffer/issues/154 -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} - -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} - -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.toLocaleString = Buffer.prototype.toString - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim() - if (this.length > max) str += ' ... ' - return '' -} -if (customInspectSymbol) { - Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (isInstance(target, Uint8Array)) { - target = Buffer.from(target, target.offset, target.byteLength) - } - if (!Buffer.isBuffer(target)) { - throw new TypeError( - 'The "target" argument must be one of type Buffer or Uint8Array. ' + - 'Received type ' + (typeof target) - ) - } - - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } - - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } - - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 - - if (this === target) return 0 - - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) - - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (numberIsNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [val], byteOffset, encoding, dir) - } - - throw new TypeError('val must be string, number or Buffer') -} - -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } - - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } - - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) return i - } - } - - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - var strLen = string.length - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (numberIsNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset >>> 0 - if (isFinite(length)) { - length = length >>> 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; ++i) { - out += hexSliceLookupTable[buf[i]] - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256)) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf = this.subarray(start, end) - // Return an augmented `Uint8Array` instance - Object.setPrototypeOf(newBuf, Buffer.prototype) - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer') - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('Index out of range') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - - if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { - // Use built-in when available, missing from IE11 - this.copyWithin(targetStart, start, end) - } else if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (var i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, end), - targetStart - ) - } - - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if ((encoding === 'utf8' && code < 128) || - encoding === 'latin1') { - // Fast path: If `val` fits into a single byte, use that numeric value. - val = code - } - } - } else if (typeof val === 'number') { - val = val & 255 - } else if (typeof val === 'boolean') { - val = Number(val) - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } - - if (end <= start) { - return this - } - - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 - - if (!val) val = 0 - - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : Buffer.from(val, encoding) - var len = bytes.length - if (len === 0) { - throw new TypeError('The value "' + val + - '" is invalid for argument "value"') - } - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this -} - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node takes equal signs as end of the Base64 encoding - str = str.split('=')[0] - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = str.trim().replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass -// the `instanceof` check but they should be treated as of that type. -// See: https://github.com/feross/buffer/issues/166 -function isInstance (obj, type) { - return obj instanceof type || - (obj != null && obj.constructor != null && obj.constructor.name != null && - obj.constructor.name === type.name) -} -function numberIsNaN (obj) { - // For IE11 support - return obj !== obj // eslint-disable-line no-self-compare -} - -// Create lookup table for `toString('hex')` -// See: https://github.com/feross/buffer/issues/219 -var hexSliceLookupTable = (function () { - var alphabet = '0123456789abcdef' - var table = new Array(256) - for (var i = 0; i < 16; ++i) { - var i16 = i * 16 - for (var j = 0; j < 16; ++j) { - table[i16 + j] = alphabet[i] + alphabet[j] - } - } - return table -})() - -}).call(this,require("buffer").Buffer) -},{"base64-js":15,"buffer":47,"ieee754":115}],48:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer -var Transform = require('stream').Transform -var StringDecoder = require('string_decoder').StringDecoder -var inherits = require('inherits') - -function CipherBase (hashMode) { - Transform.call(this) - this.hashMode = typeof hashMode === 'string' - if (this.hashMode) { - this[hashMode] = this._finalOrDigest - } else { - this.final = this._finalOrDigest - } - if (this._final) { - this.__final = this._final - this._final = null - } - this._decoder = null - this._encoding = null -} -inherits(CipherBase, Transform) - -CipherBase.prototype.update = function (data, inputEnc, outputEnc) { - if (typeof data === 'string') { - data = Buffer.from(data, inputEnc) - } - - var outData = this._update(data) - if (this.hashMode) return this - - if (outputEnc) { - outData = this._toString(outData, outputEnc) - } - - return outData -} - -CipherBase.prototype.setAutoPadding = function () {} -CipherBase.prototype.getAuthTag = function () { - throw new Error('trying to get auth tag in unsupported state') -} - -CipherBase.prototype.setAuthTag = function () { - throw new Error('trying to set auth tag in unsupported state') -} - -CipherBase.prototype.setAAD = function () { - throw new Error('trying to set aad in unsupported state') -} - -CipherBase.prototype._transform = function (data, _, next) { - var err - try { - if (this.hashMode) { - this._update(data) - } else { - this.push(this._update(data)) - } - } catch (e) { - err = e - } finally { - next(err) - } -} -CipherBase.prototype._flush = function (done) { - var err - try { - this.push(this.__final()) - } catch (e) { - err = e - } - - done(err) -} -CipherBase.prototype._finalOrDigest = function (outputEnc) { - var outData = this.__final() || Buffer.alloc(0) - if (outputEnc) { - outData = this._toString(outData, outputEnc, true) - } - return outData -} - -CipherBase.prototype._toString = function (value, enc, fin) { - if (!this._decoder) { - this._decoder = new StringDecoder(enc) - this._encoding = enc - } - - if (this._encoding !== enc) throw new Error('can\'t switch encodings') - - var out = this._decoder.write(value) - if (fin) { - out += this._decoder.end() - } - - return out -} - -module.exports = CipherBase - -},{"inherits":117,"safe-buffer":163,"stream":184,"string_decoder":185}],49:[function(require,module,exports){ -(function (Buffer){ -// 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. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -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 objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return (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 = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - -}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":118}],50:[function(require,module,exports){ -(function (Buffer){ -var elliptic = require('elliptic') -var BN = require('bn.js') - -module.exports = function createECDH (curve) { - return new ECDH(curve) -} - -var aliases = { - secp256k1: { - name: 'secp256k1', - byteLength: 32 - }, - secp224r1: { - name: 'p224', - byteLength: 28 - }, - prime256v1: { - name: 'p256', - byteLength: 32 - }, - prime192v1: { - name: 'p192', - byteLength: 24 - }, - ed25519: { - name: 'ed25519', - byteLength: 32 - }, - secp384r1: { - name: 'p384', - byteLength: 48 - }, - secp521r1: { - name: 'p521', - byteLength: 66 - } -} - -aliases.p224 = aliases.secp224r1 -aliases.p256 = aliases.secp256r1 = aliases.prime256v1 -aliases.p192 = aliases.secp192r1 = aliases.prime192v1 -aliases.p384 = aliases.secp384r1 -aliases.p521 = aliases.secp521r1 - -function ECDH (curve) { - this.curveType = aliases[curve] - if (!this.curveType) { - this.curveType = { - name: curve - } - } - this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap - this.keys = void 0 -} - -ECDH.prototype.generateKeys = function (enc, format) { - this.keys = this.curve.genKeyPair() - return this.getPublicKey(enc, format) -} - -ECDH.prototype.computeSecret = function (other, inenc, enc) { - inenc = inenc || 'utf8' - if (!Buffer.isBuffer(other)) { - other = new Buffer(other, inenc) - } - var otherPub = this.curve.keyFromPublic(other).getPublic() - var out = otherPub.mul(this.keys.getPrivate()).getX() - return formatReturnValue(out, enc, this.curveType.byteLength) -} - -ECDH.prototype.getPublicKey = function (enc, format) { - var key = this.keys.getPublic(format === 'compressed', true) - if (format === 'hybrid') { - if (key[key.length - 1] % 2) { - key[0] = 7 - } else { - key[0] = 6 - } - } - return formatReturnValue(key, enc) -} - -ECDH.prototype.getPrivateKey = function (enc) { - return formatReturnValue(this.keys.getPrivate(), enc) -} - -ECDH.prototype.setPublicKey = function (pub, enc) { - enc = enc || 'utf8' - if (!Buffer.isBuffer(pub)) { - pub = new Buffer(pub, enc) - } - this.keys._importPublic(pub) - return this -} - -ECDH.prototype.setPrivateKey = function (priv, enc) { - enc = enc || 'utf8' - if (!Buffer.isBuffer(priv)) { - priv = new Buffer(priv, enc) - } - - var _priv = new BN(priv) - _priv = _priv.toString(16) - this.keys = this.curve.genKeyPair() - this.keys._importPrivate(_priv) - return this -} - -function formatReturnValue (bn, enc, len) { - if (!Array.isArray(bn)) { - bn = bn.toArray() - } - var buf = new Buffer(bn) - if (len && buf.length < len) { - var zeros = new Buffer(len - buf.length) - zeros.fill(0) - buf = Buffer.concat([zeros, buf]) - } - if (!enc) { - return buf - } else { - return buf.toString(enc) - } -} - -}).call(this,require("buffer").Buffer) -},{"bn.js":16,"buffer":47,"elliptic":66}],51:[function(require,module,exports){ -'use strict' -var inherits = require('inherits') -var MD5 = require('md5.js') -var RIPEMD160 = require('ripemd160') -var sha = require('sha.js') -var Base = require('cipher-base') - -function Hash (hash) { - Base.call(this, 'digest') - - this._hash = hash -} - -inherits(Hash, Base) - -Hash.prototype._update = function (data) { - this._hash.update(data) -} - -Hash.prototype._final = function () { - return this._hash.digest() -} - -module.exports = function createHash (alg) { - alg = alg.toLowerCase() - if (alg === 'md5') return new MD5() - if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160() - - return new Hash(sha(alg)) -} - -},{"cipher-base":48,"inherits":117,"md5.js":121,"ripemd160":161,"sha.js":166}],52:[function(require,module,exports){ -var MD5 = require('md5.js') - -module.exports = function (buffer) { - return new MD5().update(buffer).digest() -} - -},{"md5.js":121}],53:[function(require,module,exports){ -'use strict' -var inherits = require('inherits') -var Legacy = require('./legacy') -var Base = require('cipher-base') -var Buffer = require('safe-buffer').Buffer -var md5 = require('create-hash/md5') -var RIPEMD160 = require('ripemd160') - -var sha = require('sha.js') - -var ZEROS = Buffer.alloc(128) - -function Hmac (alg, key) { - Base.call(this, 'digest') - if (typeof key === 'string') { - key = Buffer.from(key) - } - - var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64 - - this._alg = alg - this._key = key - if (key.length > blocksize) { - var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg) - key = hash.update(key).digest() - } else if (key.length < blocksize) { - key = Buffer.concat([key, ZEROS], blocksize) - } - - var ipad = this._ipad = Buffer.allocUnsafe(blocksize) - var opad = this._opad = Buffer.allocUnsafe(blocksize) - - for (var i = 0; i < blocksize; i++) { - ipad[i] = key[i] ^ 0x36 - opad[i] = key[i] ^ 0x5C - } - this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg) - this._hash.update(ipad) -} - -inherits(Hmac, Base) - -Hmac.prototype._update = function (data) { - this._hash.update(data) -} - -Hmac.prototype._final = function () { - var h = this._hash.digest() - var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg) - return hash.update(this._opad).update(h).digest() -} - -module.exports = function createHmac (alg, key) { - alg = alg.toLowerCase() - if (alg === 'rmd160' || alg === 'ripemd160') { - return new Hmac('rmd160', key) - } - if (alg === 'md5') { - return new Legacy(md5, key) - } - return new Hmac(alg, key) -} - -},{"./legacy":54,"cipher-base":48,"create-hash/md5":52,"inherits":117,"ripemd160":161,"safe-buffer":163,"sha.js":166}],54:[function(require,module,exports){ -'use strict' -var inherits = require('inherits') -var Buffer = require('safe-buffer').Buffer - -var Base = require('cipher-base') - -var ZEROS = Buffer.alloc(128) -var blocksize = 64 - -function Hmac (alg, key) { - Base.call(this, 'digest') - if (typeof key === 'string') { - key = Buffer.from(key) - } - - this._alg = alg - this._key = key - - if (key.length > blocksize) { - key = alg(key) - } else if (key.length < blocksize) { - key = Buffer.concat([key, ZEROS], blocksize) - } - - var ipad = this._ipad = Buffer.allocUnsafe(blocksize) - var opad = this._opad = Buffer.allocUnsafe(blocksize) - - for (var i = 0; i < blocksize; i++) { - ipad[i] = key[i] ^ 0x36 - opad[i] = key[i] ^ 0x5C - } - - this._hash = [ipad] -} - -inherits(Hmac, Base) - -Hmac.prototype._update = function (data) { - this._hash.push(data) -} - -Hmac.prototype._final = function () { - var h = this._alg(Buffer.concat(this._hash)) - return this._alg(Buffer.concat([this._opad, h])) -} -module.exports = Hmac - -},{"cipher-base":48,"inherits":117,"safe-buffer":163}],55:[function(require,module,exports){ -'use strict' - -exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes') -exports.createHash = exports.Hash = require('create-hash') -exports.createHmac = exports.Hmac = require('create-hmac') - -var algos = require('browserify-sign/algos') -var algoKeys = Object.keys(algos) -var hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys) -exports.getHashes = function () { - return hashes -} - -var p = require('pbkdf2') -exports.pbkdf2 = p.pbkdf2 -exports.pbkdf2Sync = p.pbkdf2Sync - -var aes = require('browserify-cipher') - -exports.Cipher = aes.Cipher -exports.createCipher = aes.createCipher -exports.Cipheriv = aes.Cipheriv -exports.createCipheriv = aes.createCipheriv -exports.Decipher = aes.Decipher -exports.createDecipher = aes.createDecipher -exports.Decipheriv = aes.Decipheriv -exports.createDecipheriv = aes.createDecipheriv -exports.getCiphers = aes.getCiphers -exports.listCiphers = aes.listCiphers - -var dh = require('diffie-hellman') - -exports.DiffieHellmanGroup = dh.DiffieHellmanGroup -exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup -exports.getDiffieHellman = dh.getDiffieHellman -exports.createDiffieHellman = dh.createDiffieHellman -exports.DiffieHellman = dh.DiffieHellman - -var sign = require('browserify-sign') - -exports.createSign = sign.createSign -exports.Sign = sign.Sign -exports.createVerify = sign.createVerify -exports.Verify = sign.Verify - -exports.createECDH = require('create-ecdh') - -var publicEncrypt = require('public-encrypt') - -exports.publicEncrypt = publicEncrypt.publicEncrypt -exports.privateEncrypt = publicEncrypt.privateEncrypt -exports.publicDecrypt = publicEncrypt.publicDecrypt -exports.privateDecrypt = publicEncrypt.privateDecrypt - -// the least I can do is make error messages for the rest of the node.js/crypto api. -// ;[ -// 'createCredentials' -// ].forEach(function (name) { -// exports[name] = function () { -// throw new Error([ -// 'sorry, ' + name + ' is not implemented yet', -// 'we accept pull requests', -// 'https://github.com/crypto-browserify/crypto-browserify' -// ].join('\n')) -// } -// }) - -var rf = require('randomfill') - -exports.randomFill = rf.randomFill -exports.randomFillSync = rf.randomFillSync - -exports.createCredentials = function () { - throw new Error([ - 'sorry, createCredentials is not implemented yet', - 'we accept pull requests', - 'https://github.com/crypto-browserify/crypto-browserify' - ].join('\n')) -} - -exports.constants = { - 'DH_CHECK_P_NOT_SAFE_PRIME': 2, - 'DH_CHECK_P_NOT_PRIME': 1, - 'DH_UNABLE_TO_CHECK_GENERATOR': 4, - 'DH_NOT_SUITABLE_GENERATOR': 8, - 'NPN_ENABLED': 1, - 'ALPN_ENABLED': 1, - 'RSA_PKCS1_PADDING': 1, - 'RSA_SSLV23_PADDING': 2, - 'RSA_NO_PADDING': 3, - 'RSA_PKCS1_OAEP_PADDING': 4, - 'RSA_X931_PADDING': 5, - 'RSA_PKCS1_PSS_PADDING': 6, - 'POINT_CONVERSION_COMPRESSED': 2, - 'POINT_CONVERSION_UNCOMPRESSED': 4, - 'POINT_CONVERSION_HYBRID': 6 -} - -},{"browserify-cipher":36,"browserify-sign":43,"browserify-sign/algos":40,"create-ecdh":50,"create-hash":51,"create-hmac":53,"diffie-hellman":62,"pbkdf2":130,"public-encrypt":137,"randombytes":144,"randomfill":145}],56:[function(require,module,exports){ -'use strict'; - -exports.utils = require('./des/utils'); -exports.Cipher = require('./des/cipher'); -exports.DES = require('./des/des'); -exports.CBC = require('./des/cbc'); -exports.EDE = require('./des/ede'); - -},{"./des/cbc":57,"./des/cipher":58,"./des/des":59,"./des/ede":60,"./des/utils":61}],57:[function(require,module,exports){ -'use strict'; - -var assert = require('minimalistic-assert'); -var inherits = require('inherits'); - -var proto = {}; - -function CBCState(iv) { - assert.equal(iv.length, 8, 'Invalid IV length'); - - this.iv = new Array(8); - for (var i = 0; i < this.iv.length; i++) - this.iv[i] = iv[i]; -} - -function instantiate(Base) { - function CBC(options) { - Base.call(this, options); - this._cbcInit(); - } - inherits(CBC, Base); - - var keys = Object.keys(proto); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - CBC.prototype[key] = proto[key]; - } - - CBC.create = function create(options) { - return new CBC(options); - }; - - return CBC; -} - -exports.instantiate = instantiate; - -proto._cbcInit = function _cbcInit() { - var state = new CBCState(this.options.iv); - this._cbcState = state; -}; - -proto._update = function _update(inp, inOff, out, outOff) { - var state = this._cbcState; - var superProto = this.constructor.super_.prototype; - - var iv = state.iv; - if (this.type === 'encrypt') { - for (var i = 0; i < this.blockSize; i++) - iv[i] ^= inp[inOff + i]; - - superProto._update.call(this, iv, 0, out, outOff); - - for (var i = 0; i < this.blockSize; i++) - iv[i] = out[outOff + i]; - } else { - superProto._update.call(this, inp, inOff, out, outOff); - - for (var i = 0; i < this.blockSize; i++) - out[outOff + i] ^= iv[i]; - - for (var i = 0; i < this.blockSize; i++) - iv[i] = inp[inOff + i]; - } -}; - -},{"inherits":117,"minimalistic-assert":123}],58:[function(require,module,exports){ -'use strict'; - -var assert = require('minimalistic-assert'); - -function Cipher(options) { - this.options = options; - - this.type = this.options.type; - this.blockSize = 8; - this._init(); - - this.buffer = new Array(this.blockSize); - this.bufferOff = 0; -} -module.exports = Cipher; - -Cipher.prototype._init = function _init() { - // Might be overrided -}; - -Cipher.prototype.update = function update(data) { - if (data.length === 0) - return []; - - if (this.type === 'decrypt') - return this._updateDecrypt(data); - else - return this._updateEncrypt(data); -}; - -Cipher.prototype._buffer = function _buffer(data, off) { - // Append data to buffer - var min = Math.min(this.buffer.length - this.bufferOff, data.length - off); - for (var i = 0; i < min; i++) - this.buffer[this.bufferOff + i] = data[off + i]; - this.bufferOff += min; - - // Shift next - return min; -}; - -Cipher.prototype._flushBuffer = function _flushBuffer(out, off) { - this._update(this.buffer, 0, out, off); - this.bufferOff = 0; - return this.blockSize; -}; - -Cipher.prototype._updateEncrypt = function _updateEncrypt(data) { - var inputOff = 0; - var outputOff = 0; - - var count = ((this.bufferOff + data.length) / this.blockSize) | 0; - var out = new Array(count * this.blockSize); - - if (this.bufferOff !== 0) { - inputOff += this._buffer(data, inputOff); - - if (this.bufferOff === this.buffer.length) - outputOff += this._flushBuffer(out, outputOff); - } - - // Write blocks - var max = data.length - ((data.length - inputOff) % this.blockSize); - for (; inputOff < max; inputOff += this.blockSize) { - this._update(data, inputOff, out, outputOff); - outputOff += this.blockSize; - } - - // Queue rest - for (; inputOff < data.length; inputOff++, this.bufferOff++) - this.buffer[this.bufferOff] = data[inputOff]; - - return out; -}; - -Cipher.prototype._updateDecrypt = function _updateDecrypt(data) { - var inputOff = 0; - var outputOff = 0; - - var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1; - var out = new Array(count * this.blockSize); - - // TODO(indutny): optimize it, this is far from optimal - for (; count > 0; count--) { - inputOff += this._buffer(data, inputOff); - outputOff += this._flushBuffer(out, outputOff); - } - - // Buffer rest of the input - inputOff += this._buffer(data, inputOff); - - return out; -}; - -Cipher.prototype.final = function final(buffer) { - var first; - if (buffer) - first = this.update(buffer); - - var last; - if (this.type === 'encrypt') - last = this._finalEncrypt(); - else - last = this._finalDecrypt(); - - if (first) - return first.concat(last); - else - return last; -}; - -Cipher.prototype._pad = function _pad(buffer, off) { - if (off === 0) - return false; - - while (off < buffer.length) - buffer[off++] = 0; - - return true; -}; - -Cipher.prototype._finalEncrypt = function _finalEncrypt() { - if (!this._pad(this.buffer, this.bufferOff)) - return []; - - var out = new Array(this.blockSize); - this._update(this.buffer, 0, out, 0); - return out; -}; - -Cipher.prototype._unpad = function _unpad(buffer) { - return buffer; -}; - -Cipher.prototype._finalDecrypt = function _finalDecrypt() { - assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt'); - var out = new Array(this.blockSize); - this._flushBuffer(out, 0); - - return this._unpad(out); -}; - -},{"minimalistic-assert":123}],59:[function(require,module,exports){ -'use strict'; - -var assert = require('minimalistic-assert'); -var inherits = require('inherits'); - -var utils = require('./utils'); -var Cipher = require('./cipher'); - -function DESState() { - this.tmp = new Array(2); - this.keys = null; -} - -function DES(options) { - Cipher.call(this, options); - - var state = new DESState(); - this._desState = state; - - this.deriveKeys(state, options.key); -} -inherits(DES, Cipher); -module.exports = DES; - -DES.create = function create(options) { - return new DES(options); -}; - -var shiftTable = [ - 1, 1, 2, 2, 2, 2, 2, 2, - 1, 2, 2, 2, 2, 2, 2, 1 -]; - -DES.prototype.deriveKeys = function deriveKeys(state, key) { - state.keys = new Array(16 * 2); - - assert.equal(key.length, this.blockSize, 'Invalid key length'); - - var kL = utils.readUInt32BE(key, 0); - var kR = utils.readUInt32BE(key, 4); - - utils.pc1(kL, kR, state.tmp, 0); - kL = state.tmp[0]; - kR = state.tmp[1]; - for (var i = 0; i < state.keys.length; i += 2) { - var shift = shiftTable[i >>> 1]; - kL = utils.r28shl(kL, shift); - kR = utils.r28shl(kR, shift); - utils.pc2(kL, kR, state.keys, i); - } -}; - -DES.prototype._update = function _update(inp, inOff, out, outOff) { - var state = this._desState; - - var l = utils.readUInt32BE(inp, inOff); - var r = utils.readUInt32BE(inp, inOff + 4); - - // Initial Permutation - utils.ip(l, r, state.tmp, 0); - l = state.tmp[0]; - r = state.tmp[1]; - - if (this.type === 'encrypt') - this._encrypt(state, l, r, state.tmp, 0); - else - this._decrypt(state, l, r, state.tmp, 0); - - l = state.tmp[0]; - r = state.tmp[1]; - - utils.writeUInt32BE(out, l, outOff); - utils.writeUInt32BE(out, r, outOff + 4); -}; - -DES.prototype._pad = function _pad(buffer, off) { - var value = buffer.length - off; - for (var i = off; i < buffer.length; i++) - buffer[i] = value; - - return true; -}; - -DES.prototype._unpad = function _unpad(buffer) { - var pad = buffer[buffer.length - 1]; - for (var i = buffer.length - pad; i < buffer.length; i++) - assert.equal(buffer[i], pad); - - return buffer.slice(0, buffer.length - pad); -}; - -DES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) { - var l = lStart; - var r = rStart; - - // Apply f() x16 times - for (var i = 0; i < state.keys.length; i += 2) { - var keyL = state.keys[i]; - var keyR = state.keys[i + 1]; - - // f(r, k) - utils.expand(r, state.tmp, 0); - - keyL ^= state.tmp[0]; - keyR ^= state.tmp[1]; - var s = utils.substitute(keyL, keyR); - var f = utils.permute(s); - - var t = r; - r = (l ^ f) >>> 0; - l = t; - } - - // Reverse Initial Permutation - utils.rip(r, l, out, off); -}; - -DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) { - var l = rStart; - var r = lStart; - - // Apply f() x16 times - for (var i = state.keys.length - 2; i >= 0; i -= 2) { - var keyL = state.keys[i]; - var keyR = state.keys[i + 1]; - - // f(r, k) - utils.expand(l, state.tmp, 0); - - keyL ^= state.tmp[0]; - keyR ^= state.tmp[1]; - var s = utils.substitute(keyL, keyR); - var f = utils.permute(s); - - var t = l; - l = (r ^ f) >>> 0; - r = t; - } - - // Reverse Initial Permutation - utils.rip(l, r, out, off); -}; - -},{"./cipher":58,"./utils":61,"inherits":117,"minimalistic-assert":123}],60:[function(require,module,exports){ -'use strict'; - -var assert = require('minimalistic-assert'); -var inherits = require('inherits'); - -var Cipher = require('./cipher'); -var DES = require('./des'); - -function EDEState(type, key) { - assert.equal(key.length, 24, 'Invalid key length'); - - var k1 = key.slice(0, 8); - var k2 = key.slice(8, 16); - var k3 = key.slice(16, 24); - - if (type === 'encrypt') { - this.ciphers = [ - DES.create({ type: 'encrypt', key: k1 }), - DES.create({ type: 'decrypt', key: k2 }), - DES.create({ type: 'encrypt', key: k3 }) - ]; - } else { - this.ciphers = [ - DES.create({ type: 'decrypt', key: k3 }), - DES.create({ type: 'encrypt', key: k2 }), - DES.create({ type: 'decrypt', key: k1 }) - ]; - } -} - -function EDE(options) { - Cipher.call(this, options); - - var state = new EDEState(this.type, this.options.key); - this._edeState = state; -} -inherits(EDE, Cipher); - -module.exports = EDE; - -EDE.create = function create(options) { - return new EDE(options); -}; - -EDE.prototype._update = function _update(inp, inOff, out, outOff) { - var state = this._edeState; - - state.ciphers[0]._update(inp, inOff, out, outOff); - state.ciphers[1]._update(out, outOff, out, outOff); - state.ciphers[2]._update(out, outOff, out, outOff); -}; - -EDE.prototype._pad = DES.prototype._pad; -EDE.prototype._unpad = DES.prototype._unpad; - -},{"./cipher":58,"./des":59,"inherits":117,"minimalistic-assert":123}],61:[function(require,module,exports){ -'use strict'; - -exports.readUInt32BE = function readUInt32BE(bytes, off) { - var res = (bytes[0 + off] << 24) | - (bytes[1 + off] << 16) | - (bytes[2 + off] << 8) | - bytes[3 + off]; - return res >>> 0; -}; - -exports.writeUInt32BE = function writeUInt32BE(bytes, value, off) { - bytes[0 + off] = value >>> 24; - bytes[1 + off] = (value >>> 16) & 0xff; - bytes[2 + off] = (value >>> 8) & 0xff; - bytes[3 + off] = value & 0xff; -}; - -exports.ip = function ip(inL, inR, out, off) { - var outL = 0; - var outR = 0; - - for (var i = 6; i >= 0; i -= 2) { - for (var j = 0; j <= 24; j += 8) { - outL <<= 1; - outL |= (inR >>> (j + i)) & 1; - } - for (var j = 0; j <= 24; j += 8) { - outL <<= 1; - outL |= (inL >>> (j + i)) & 1; - } - } - - for (var i = 6; i >= 0; i -= 2) { - for (var j = 1; j <= 25; j += 8) { - outR <<= 1; - outR |= (inR >>> (j + i)) & 1; - } - for (var j = 1; j <= 25; j += 8) { - outR <<= 1; - outR |= (inL >>> (j + i)) & 1; - } - } - - out[off + 0] = outL >>> 0; - out[off + 1] = outR >>> 0; -}; - -exports.rip = function rip(inL, inR, out, off) { - var outL = 0; - var outR = 0; - - for (var i = 0; i < 4; i++) { - for (var j = 24; j >= 0; j -= 8) { - outL <<= 1; - outL |= (inR >>> (j + i)) & 1; - outL <<= 1; - outL |= (inL >>> (j + i)) & 1; - } - } - for (var i = 4; i < 8; i++) { - for (var j = 24; j >= 0; j -= 8) { - outR <<= 1; - outR |= (inR >>> (j + i)) & 1; - outR <<= 1; - outR |= (inL >>> (j + i)) & 1; - } - } - - out[off + 0] = outL >>> 0; - out[off + 1] = outR >>> 0; -}; - -exports.pc1 = function pc1(inL, inR, out, off) { - var outL = 0; - var outR = 0; - - // 7, 15, 23, 31, 39, 47, 55, 63 - // 6, 14, 22, 30, 39, 47, 55, 63 - // 5, 13, 21, 29, 39, 47, 55, 63 - // 4, 12, 20, 28 - for (var i = 7; i >= 5; i--) { - for (var j = 0; j <= 24; j += 8) { - outL <<= 1; - outL |= (inR >> (j + i)) & 1; - } - for (var j = 0; j <= 24; j += 8) { - outL <<= 1; - outL |= (inL >> (j + i)) & 1; - } - } - for (var j = 0; j <= 24; j += 8) { - outL <<= 1; - outL |= (inR >> (j + i)) & 1; - } - - // 1, 9, 17, 25, 33, 41, 49, 57 - // 2, 10, 18, 26, 34, 42, 50, 58 - // 3, 11, 19, 27, 35, 43, 51, 59 - // 36, 44, 52, 60 - for (var i = 1; i <= 3; i++) { - for (var j = 0; j <= 24; j += 8) { - outR <<= 1; - outR |= (inR >> (j + i)) & 1; - } - for (var j = 0; j <= 24; j += 8) { - outR <<= 1; - outR |= (inL >> (j + i)) & 1; - } - } - for (var j = 0; j <= 24; j += 8) { - outR <<= 1; - outR |= (inL >> (j + i)) & 1; - } - - out[off + 0] = outL >>> 0; - out[off + 1] = outR >>> 0; -}; - -exports.r28shl = function r28shl(num, shift) { - return ((num << shift) & 0xfffffff) | (num >>> (28 - shift)); -}; - -var pc2table = [ - // inL => outL - 14, 11, 17, 4, 27, 23, 25, 0, - 13, 22, 7, 18, 5, 9, 16, 24, - 2, 20, 12, 21, 1, 8, 15, 26, - - // inR => outR - 15, 4, 25, 19, 9, 1, 26, 16, - 5, 11, 23, 8, 12, 7, 17, 0, - 22, 3, 10, 14, 6, 20, 27, 24 -]; - -exports.pc2 = function pc2(inL, inR, out, off) { - var outL = 0; - var outR = 0; - - var len = pc2table.length >>> 1; - for (var i = 0; i < len; i++) { - outL <<= 1; - outL |= (inL >>> pc2table[i]) & 0x1; - } - for (var i = len; i < pc2table.length; i++) { - outR <<= 1; - outR |= (inR >>> pc2table[i]) & 0x1; - } - - out[off + 0] = outL >>> 0; - out[off + 1] = outR >>> 0; -}; - -exports.expand = function expand(r, out, off) { - var outL = 0; - var outR = 0; - - outL = ((r & 1) << 5) | (r >>> 27); - for (var i = 23; i >= 15; i -= 4) { - outL <<= 6; - outL |= (r >>> i) & 0x3f; - } - for (var i = 11; i >= 3; i -= 4) { - outR |= (r >>> i) & 0x3f; - outR <<= 6; - } - outR |= ((r & 0x1f) << 1) | (r >>> 31); - - out[off + 0] = outL >>> 0; - out[off + 1] = outR >>> 0; -}; - -var sTable = [ - 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, - 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, - 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7, - 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13, - - 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, - 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, - 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2, - 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9, - - 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, - 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, - 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7, - 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12, - - 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, - 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, - 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8, - 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14, - - 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, - 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, - 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13, - 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3, - - 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, - 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, - 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10, - 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13, - - 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, - 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, - 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7, - 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12, - - 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, - 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, - 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13, - 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11 -]; - -exports.substitute = function substitute(inL, inR) { - var out = 0; - for (var i = 0; i < 4; i++) { - var b = (inL >>> (18 - i * 6)) & 0x3f; - var sb = sTable[i * 0x40 + b]; - - out <<= 4; - out |= sb; - } - for (var i = 0; i < 4; i++) { - var b = (inR >>> (18 - i * 6)) & 0x3f; - var sb = sTable[4 * 0x40 + i * 0x40 + b]; - - out <<= 4; - out |= sb; - } - return out >>> 0; -}; - -var permuteTable = [ - 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, - 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7 -]; - -exports.permute = function permute(num) { - var out = 0; - for (var i = 0; i < permuteTable.length; i++) { - out <<= 1; - out |= (num >>> permuteTable[i]) & 0x1; - } - return out >>> 0; -}; - -exports.padSplit = function padSplit(num, size, group) { - var str = num.toString(2); - while (str.length < size) - str = '0' + str; - - var out = []; - for (var i = 0; i < size; i += group) - out.push(str.slice(i, i + group)); - return out.join(' '); -}; - -},{}],62:[function(require,module,exports){ -(function (Buffer){ -var generatePrime = require('./lib/generatePrime') -var primes = require('./lib/primes.json') - -var DH = require('./lib/dh') - -function getDiffieHellman (mod) { - var prime = new Buffer(primes[mod].prime, 'hex') - var gen = new Buffer(primes[mod].gen, 'hex') - - return new DH(prime, gen) -} - -var ENCODINGS = { - 'binary': true, 'hex': true, 'base64': true -} - -function createDiffieHellman (prime, enc, generator, genc) { - if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) { - return createDiffieHellman(prime, 'binary', enc, generator) - } - - enc = enc || 'binary' - genc = genc || 'binary' - generator = generator || new Buffer([2]) - - if (!Buffer.isBuffer(generator)) { - generator = new Buffer(generator, genc) - } - - if (typeof prime === 'number') { - return new DH(generatePrime(prime, generator), generator, true) - } - - if (!Buffer.isBuffer(prime)) { - prime = new Buffer(prime, enc) - } - - return new DH(prime, generator, true) -} - -exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman -exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman - -}).call(this,require("buffer").Buffer) -},{"./lib/dh":63,"./lib/generatePrime":64,"./lib/primes.json":65,"buffer":47}],63:[function(require,module,exports){ -(function (Buffer){ -var BN = require('bn.js'); -var MillerRabin = require('miller-rabin'); -var millerRabin = new MillerRabin(); -var TWENTYFOUR = new BN(24); -var ELEVEN = new BN(11); -var TEN = new BN(10); -var THREE = new BN(3); -var SEVEN = new BN(7); -var primes = require('./generatePrime'); -var randomBytes = require('randombytes'); -module.exports = DH; - -function setPublicKey(pub, enc) { - enc = enc || 'utf8'; - if (!Buffer.isBuffer(pub)) { - pub = new Buffer(pub, enc); - } - this._pub = new BN(pub); - return this; -} - -function setPrivateKey(priv, enc) { - enc = enc || 'utf8'; - if (!Buffer.isBuffer(priv)) { - priv = new Buffer(priv, enc); - } - this._priv = new BN(priv); - return this; -} - -var primeCache = {}; -function checkPrime(prime, generator) { - var gen = generator.toString('hex'); - var hex = [gen, prime.toString(16)].join('_'); - if (hex in primeCache) { - return primeCache[hex]; - } - var error = 0; - - if (prime.isEven() || - !primes.simpleSieve || - !primes.fermatTest(prime) || - !millerRabin.test(prime)) { - //not a prime so +1 - error += 1; - - if (gen === '02' || gen === '05') { - // we'd be able to check the generator - // it would fail so +8 - error += 8; - } else { - //we wouldn't be able to test the generator - // so +4 - error += 4; - } - primeCache[hex] = error; - return error; - } - if (!millerRabin.test(prime.shrn(1))) { - //not a safe prime - error += 2; - } - var rem; - switch (gen) { - case '02': - if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) { - // unsuidable generator - error += 8; - } - break; - case '05': - rem = prime.mod(TEN); - if (rem.cmp(THREE) && rem.cmp(SEVEN)) { - // prime mod 10 needs to equal 3 or 7 - error += 8; - } - break; - default: - error += 4; - } - primeCache[hex] = error; - return error; -} - -function DH(prime, generator, malleable) { - this.setGenerator(generator); - this.__prime = new BN(prime); - this._prime = BN.mont(this.__prime); - this._primeLen = prime.length; - this._pub = undefined; - this._priv = undefined; - this._primeCode = undefined; - if (malleable) { - this.setPublicKey = setPublicKey; - this.setPrivateKey = setPrivateKey; - } else { - this._primeCode = 8; - } -} -Object.defineProperty(DH.prototype, 'verifyError', { - enumerable: true, - get: function () { - if (typeof this._primeCode !== 'number') { - this._primeCode = checkPrime(this.__prime, this.__gen); - } - return this._primeCode; - } -}); -DH.prototype.generateKeys = function () { - if (!this._priv) { - this._priv = new BN(randomBytes(this._primeLen)); - } - this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(); - return this.getPublicKey(); -}; - -DH.prototype.computeSecret = function (other) { - other = new BN(other); - other = other.toRed(this._prime); - var secret = other.redPow(this._priv).fromRed(); - var out = new Buffer(secret.toArray()); - var prime = this.getPrime(); - if (out.length < prime.length) { - var front = new Buffer(prime.length - out.length); - front.fill(0); - out = Buffer.concat([front, out]); - } - return out; -}; - -DH.prototype.getPublicKey = function getPublicKey(enc) { - return formatReturnValue(this._pub, enc); -}; - -DH.prototype.getPrivateKey = function getPrivateKey(enc) { - return formatReturnValue(this._priv, enc); -}; - -DH.prototype.getPrime = function (enc) { - return formatReturnValue(this.__prime, enc); -}; - -DH.prototype.getGenerator = function (enc) { - return formatReturnValue(this._gen, enc); -}; - -DH.prototype.setGenerator = function (gen, enc) { - enc = enc || 'utf8'; - if (!Buffer.isBuffer(gen)) { - gen = new Buffer(gen, enc); - } - this.__gen = gen; - this._gen = new BN(gen); - return this; -}; - -function formatReturnValue(bn, enc) { - var buf = new Buffer(bn.toArray()); - if (!enc) { - return buf; - } else { - return buf.toString(enc); - } -} - -}).call(this,require("buffer").Buffer) -},{"./generatePrime":64,"bn.js":16,"buffer":47,"miller-rabin":122,"randombytes":144}],64:[function(require,module,exports){ -var randomBytes = require('randombytes'); -module.exports = findPrime; -findPrime.simpleSieve = simpleSieve; -findPrime.fermatTest = fermatTest; -var BN = require('bn.js'); -var TWENTYFOUR = new BN(24); -var MillerRabin = require('miller-rabin'); -var millerRabin = new MillerRabin(); -var ONE = new BN(1); -var TWO = new BN(2); -var FIVE = new BN(5); -var SIXTEEN = new BN(16); -var EIGHT = new BN(8); -var TEN = new BN(10); -var THREE = new BN(3); -var SEVEN = new BN(7); -var ELEVEN = new BN(11); -var FOUR = new BN(4); -var TWELVE = new BN(12); -var primes = null; - -function _getPrimes() { - if (primes !== null) - return primes; - - var limit = 0x100000; - var res = []; - res[0] = 2; - for (var i = 1, k = 3; k < limit; k += 2) { - var sqrt = Math.ceil(Math.sqrt(k)); - for (var j = 0; j < i && res[j] <= sqrt; j++) - if (k % res[j] === 0) - break; - - if (i !== j && res[j] <= sqrt) - continue; - - res[i++] = k; - } - primes = res; - return res; -} - -function simpleSieve(p) { - var primes = _getPrimes(); - - for (var i = 0; i < primes.length; i++) - if (p.modn(primes[i]) === 0) { - if (p.cmpn(primes[i]) === 0) { - return true; - } else { - return false; - } - } - - return true; -} - -function fermatTest(p) { - var red = BN.mont(p); - return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0; -} - -function findPrime(bits, gen) { - if (bits < 16) { - // this is what openssl does - if (gen === 2 || gen === 5) { - return new BN([0x8c, 0x7b]); - } else { - return new BN([0x8c, 0x27]); - } - } - gen = new BN(gen); - - var num, n2; - - while (true) { - num = new BN(randomBytes(Math.ceil(bits / 8))); - while (num.bitLength() > bits) { - num.ishrn(1); - } - if (num.isEven()) { - num.iadd(ONE); - } - if (!num.testn(1)) { - num.iadd(TWO); - } - if (!gen.cmp(TWO)) { - while (num.mod(TWENTYFOUR).cmp(ELEVEN)) { - num.iadd(FOUR); - } - } else if (!gen.cmp(FIVE)) { - while (num.mod(TEN).cmp(THREE)) { - num.iadd(FOUR); - } - } - n2 = num.shrn(1); - if (simpleSieve(n2) && simpleSieve(num) && - fermatTest(n2) && fermatTest(num) && - millerRabin.test(n2) && millerRabin.test(num)) { - return num; - } - } - -} - -},{"bn.js":16,"miller-rabin":122,"randombytes":144}],65:[function(require,module,exports){ -module.exports={ - "modp1": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff" - }, - "modp2": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff" - }, - "modp5": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff" - }, - "modp14": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff" - }, - "modp15": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff" - }, - "modp16": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff" - }, - "modp17": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff" - }, - "modp18": { - "gen": "02", - "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff" - } -} -},{}],66:[function(require,module,exports){ -'use strict'; - -var elliptic = exports; - -elliptic.version = require('../package.json').version; -elliptic.utils = require('./elliptic/utils'); -elliptic.rand = require('brorand'); -elliptic.curve = require('./elliptic/curve'); -elliptic.curves = require('./elliptic/curves'); - -// Protocols -elliptic.ec = require('./elliptic/ec'); -elliptic.eddsa = require('./elliptic/eddsa'); - -},{"../package.json":82,"./elliptic/curve":69,"./elliptic/curves":72,"./elliptic/ec":73,"./elliptic/eddsa":76,"./elliptic/utils":80,"brorand":17}],67:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); -var utils = require('../utils'); -var getNAF = utils.getNAF; -var getJSF = utils.getJSF; -var assert = utils.assert; - -function BaseCurve(type, conf) { - this.type = type; - this.p = new BN(conf.p, 16); - - // Use Montgomery, when there is no fast reduction for the prime - this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p); - - // Useful for many curves - this.zero = new BN(0).toRed(this.red); - this.one = new BN(1).toRed(this.red); - this.two = new BN(2).toRed(this.red); - - // Curve configuration, optional - this.n = conf.n && new BN(conf.n, 16); - this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); - - // Temporary arrays - this._wnafT1 = new Array(4); - this._wnafT2 = new Array(4); - this._wnafT3 = new Array(4); - this._wnafT4 = new Array(4); - - this._bitLength = this.n ? this.n.bitLength() : 0; - - // Generalized Greg Maxwell's trick - var adjustCount = this.n && this.p.div(this.n); - if (!adjustCount || adjustCount.cmpn(100) > 0) { - this.redN = null; - } else { - this._maxwellTrick = true; - this.redN = this.n.toRed(this.red); - } -} -module.exports = BaseCurve; - -BaseCurve.prototype.point = function point() { - throw new Error('Not implemented'); -}; - -BaseCurve.prototype.validate = function validate() { - throw new Error('Not implemented'); -}; - -BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) { - assert(p.precomputed); - var doubles = p._getDoubles(); - - var naf = getNAF(k, 1, this._bitLength); - var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1); - I /= 3; - - // Translate into more windowed form - var repr = []; - var j; - var nafW; - for (j = 0; j < naf.length; j += doubles.step) { - nafW = 0; - for (var l = j + doubles.step - 1; l >= j; l--) - nafW = (nafW << 1) + naf[l]; - repr.push(nafW); - } - - var a = this.jpoint(null, null, null); - var b = this.jpoint(null, null, null); - for (var i = I; i > 0; i--) { - for (j = 0; j < repr.length; j++) { - nafW = repr[j]; - if (nafW === i) - b = b.mixedAdd(doubles.points[j]); - else if (nafW === -i) - b = b.mixedAdd(doubles.points[j].neg()); - } - a = a.add(b); - } - return a.toP(); -}; - -BaseCurve.prototype._wnafMul = function _wnafMul(p, k) { - var w = 4; - - // Precompute window - var nafPoints = p._getNAFPoints(w); - w = nafPoints.wnd; - var wnd = nafPoints.points; - - // Get NAF form - var naf = getNAF(k, w, this._bitLength); - - // Add `this`*(N+1) for every w-NAF index - var acc = this.jpoint(null, null, null); - for (var i = naf.length - 1; i >= 0; i--) { - // Count zeroes - for (var l = 0; i >= 0 && naf[i] === 0; i--) - l++; - if (i >= 0) - l++; - acc = acc.dblp(l); - - if (i < 0) - break; - var z = naf[i]; - assert(z !== 0); - if (p.type === 'affine') { - // J +- P - if (z > 0) - acc = acc.mixedAdd(wnd[(z - 1) >> 1]); - else - acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg()); - } else { - // J +- J - if (z > 0) - acc = acc.add(wnd[(z - 1) >> 1]); - else - acc = acc.add(wnd[(-z - 1) >> 1].neg()); - } - } - return p.type === 'affine' ? acc.toP() : acc; -}; - -BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, - points, - coeffs, - len, - jacobianResult) { - var wndWidth = this._wnafT1; - var wnd = this._wnafT2; - var naf = this._wnafT3; - - // Fill all arrays - var max = 0; - var i; - var j; - var p; - for (i = 0; i < len; i++) { - p = points[i]; - var nafPoints = p._getNAFPoints(defW); - wndWidth[i] = nafPoints.wnd; - wnd[i] = nafPoints.points; - } - - // Comb small window NAFs - for (i = len - 1; i >= 1; i -= 2) { - var a = i - 1; - var b = i; - if (wndWidth[a] !== 1 || wndWidth[b] !== 1) { - naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength); - naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength); - max = Math.max(naf[a].length, max); - max = Math.max(naf[b].length, max); - continue; - } - - var comb = [ - points[a], /* 1 */ - null, /* 3 */ - null, /* 5 */ - points[b], /* 7 */ - ]; - - // Try to avoid Projective points, if possible - if (points[a].y.cmp(points[b].y) === 0) { - comb[1] = points[a].add(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].add(points[b].neg()); - } else { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } - - var index = [ - -3, /* -1 -1 */ - -1, /* -1 0 */ - -5, /* -1 1 */ - -7, /* 0 -1 */ - 0, /* 0 0 */ - 7, /* 0 1 */ - 5, /* 1 -1 */ - 1, /* 1 0 */ - 3, /* 1 1 */ - ]; - - var jsf = getJSF(coeffs[a], coeffs[b]); - max = Math.max(jsf[0].length, max); - naf[a] = new Array(max); - naf[b] = new Array(max); - for (j = 0; j < max; j++) { - var ja = jsf[0][j] | 0; - var jb = jsf[1][j] | 0; - - naf[a][j] = index[(ja + 1) * 3 + (jb + 1)]; - naf[b][j] = 0; - wnd[a] = comb; - } - } - - var acc = this.jpoint(null, null, null); - var tmp = this._wnafT4; - for (i = max; i >= 0; i--) { - var k = 0; - - while (i >= 0) { - var zero = true; - for (j = 0; j < len; j++) { - tmp[j] = naf[j][i] | 0; - if (tmp[j] !== 0) - zero = false; - } - if (!zero) - break; - k++; - i--; - } - if (i >= 0) - k++; - acc = acc.dblp(k); - if (i < 0) - break; - - for (j = 0; j < len; j++) { - var z = tmp[j]; - p; - if (z === 0) - continue; - else if (z > 0) - p = wnd[j][(z - 1) >> 1]; - else if (z < 0) - p = wnd[j][(-z - 1) >> 1].neg(); - - if (p.type === 'affine') - acc = acc.mixedAdd(p); - else - acc = acc.add(p); - } - } - // Zeroify references - for (i = 0; i < len; i++) - wnd[i] = null; - - if (jacobianResult) - return acc; - else - return acc.toP(); -}; - -function BasePoint(curve, type) { - this.curve = curve; - this.type = type; - this.precomputed = null; -} -BaseCurve.BasePoint = BasePoint; - -BasePoint.prototype.eq = function eq(/*other*/) { - throw new Error('Not implemented'); -}; - -BasePoint.prototype.validate = function validate() { - return this.curve.validate(this); -}; - -BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - bytes = utils.toArray(bytes, enc); - - var len = this.p.byteLength(); - - // uncompressed, hybrid-odd, hybrid-even - if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) && - bytes.length - 1 === 2 * len) { - if (bytes[0] === 0x06) - assert(bytes[bytes.length - 1] % 2 === 0); - else if (bytes[0] === 0x07) - assert(bytes[bytes.length - 1] % 2 === 1); - - var res = this.point(bytes.slice(1, 1 + len), - bytes.slice(1 + len, 1 + 2 * len)); - - return res; - } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) && - bytes.length - 1 === len) { - return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03); - } - throw new Error('Unknown point format'); -}; - -BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) { - return this.encode(enc, true); -}; - -BasePoint.prototype._encode = function _encode(compact) { - var len = this.curve.p.byteLength(); - var x = this.getX().toArray('be', len); - - if (compact) - return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x); - - return [ 0x04 ].concat(x, this.getY().toArray('be', len)); -}; - -BasePoint.prototype.encode = function encode(enc, compact) { - return utils.encode(this._encode(compact), enc); -}; - -BasePoint.prototype.precompute = function precompute(power) { - if (this.precomputed) - return this; - - var precomputed = { - doubles: null, - naf: null, - beta: null, - }; - precomputed.naf = this._getNAFPoints(8); - precomputed.doubles = this._getDoubles(4, power); - precomputed.beta = this._getBeta(); - this.precomputed = precomputed; - - return this; -}; - -BasePoint.prototype._hasDoubles = function _hasDoubles(k) { - if (!this.precomputed) - return false; - - var doubles = this.precomputed.doubles; - if (!doubles) - return false; - - return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step); -}; - -BasePoint.prototype._getDoubles = function _getDoubles(step, power) { - if (this.precomputed && this.precomputed.doubles) - return this.precomputed.doubles; - - var doubles = [ this ]; - var acc = this; - for (var i = 0; i < power; i += step) { - for (var j = 0; j < step; j++) - acc = acc.dbl(); - doubles.push(acc); - } - return { - step: step, - points: doubles, - }; -}; - -BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) { - if (this.precomputed && this.precomputed.naf) - return this.precomputed.naf; - - var res = [ this ]; - var max = (1 << wnd) - 1; - var dbl = max === 1 ? null : this.dbl(); - for (var i = 1; i < max; i++) - res[i] = res[i - 1].add(dbl); - return { - wnd: wnd, - points: res, - }; -}; - -BasePoint.prototype._getBeta = function _getBeta() { - return null; -}; - -BasePoint.prototype.dblp = function dblp(k) { - var r = this; - for (var i = 0; i < k; i++) - r = r.dbl(); - return r; -}; - -},{"../utils":80,"bn.js":81}],68:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var BN = require('bn.js'); -var inherits = require('inherits'); -var Base = require('./base'); - -var assert = utils.assert; - -function EdwardsCurve(conf) { - // NOTE: Important as we are creating point in Base.call() - this.twisted = (conf.a | 0) !== 1; - this.mOneA = this.twisted && (conf.a | 0) === -1; - this.extended = this.mOneA; - - Base.call(this, 'edwards', conf); - - this.a = new BN(conf.a, 16).umod(this.red.m); - this.a = this.a.toRed(this.red); - this.c = new BN(conf.c, 16).toRed(this.red); - this.c2 = this.c.redSqr(); - this.d = new BN(conf.d, 16).toRed(this.red); - this.dd = this.d.redAdd(this.d); - - assert(!this.twisted || this.c.fromRed().cmpn(1) === 0); - this.oneC = (conf.c | 0) === 1; -} -inherits(EdwardsCurve, Base); -module.exports = EdwardsCurve; - -EdwardsCurve.prototype._mulA = function _mulA(num) { - if (this.mOneA) - return num.redNeg(); - else - return this.a.redMul(num); -}; - -EdwardsCurve.prototype._mulC = function _mulC(num) { - if (this.oneC) - return num; - else - return this.c.redMul(num); -}; - -// Just for compatibility with Short curve -EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) { - return this.point(x, y, z, t); -}; - -EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - - var x2 = x.redSqr(); - var rhs = this.c2.redSub(this.a.redMul(x2)); - var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)); - - var y2 = rhs.redMul(lhs.redInvm()); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - - return this.point(x, y); -}; - -EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) { - y = new BN(y, 16); - if (!y.red) - y = y.toRed(this.red); - - // x^2 = (y^2 - c^2) / (c^2 d y^2 - a) - var y2 = y.redSqr(); - var lhs = y2.redSub(this.c2); - var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a); - var x2 = lhs.redMul(rhs.redInvm()); - - if (x2.cmp(this.zero) === 0) { - if (odd) - throw new Error('invalid point'); - else - return this.point(this.zero, y); - } - - var x = x2.redSqrt(); - if (x.redSqr().redSub(x2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - if (x.fromRed().isOdd() !== odd) - x = x.redNeg(); - - return this.point(x, y); -}; - -EdwardsCurve.prototype.validate = function validate(point) { - if (point.isInfinity()) - return true; - - // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2) - point.normalize(); - - var x2 = point.x.redSqr(); - var y2 = point.y.redSqr(); - var lhs = x2.redMul(this.a).redAdd(y2); - var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2))); - - return lhs.cmp(rhs) === 0; -}; - -function Point(curve, x, y, z, t) { - Base.BasePoint.call(this, curve, 'projective'); - if (x === null && y === null && z === null) { - this.x = this.curve.zero; - this.y = this.curve.one; - this.z = this.curve.one; - this.t = this.curve.zero; - this.zOne = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = z ? new BN(z, 16) : this.curve.one; - this.t = t && new BN(t, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - if (this.t && !this.t.red) - this.t = this.t.toRed(this.curve.red); - this.zOne = this.z === this.curve.one; - - // Use extended coordinates - if (this.curve.extended && !this.t) { - this.t = this.x.redMul(this.y); - if (!this.zOne) - this.t = this.t.redMul(this.z.redInvm()); - } - } -} -inherits(Point, Base.BasePoint); - -EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); -}; - -EdwardsCurve.prototype.point = function point(x, y, z, t) { - return new Point(this, x, y, z, t); -}; - -Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1], obj[2]); -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.x.cmpn(0) === 0 && - (this.y.cmp(this.z) === 0 || - (this.zOne && this.y.cmp(this.curve.c) === 0)); -}; - -Point.prototype._extDbl = function _extDbl() { - // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html - // #doubling-dbl-2008-hwcd - // 4M + 4S - - // A = X1^2 - var a = this.x.redSqr(); - // B = Y1^2 - var b = this.y.redSqr(); - // C = 2 * Z1^2 - var c = this.z.redSqr(); - c = c.redIAdd(c); - // D = a * A - var d = this.curve._mulA(a); - // E = (X1 + Y1)^2 - A - B - var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b); - // G = D + B - var g = d.redAdd(b); - // F = G - C - var f = g.redSub(c); - // H = D - B - var h = d.redSub(b); - // X3 = E * F - var nx = e.redMul(f); - // Y3 = G * H - var ny = g.redMul(h); - // T3 = E * H - var nt = e.redMul(h); - // Z3 = F * G - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); -}; - -Point.prototype._projDbl = function _projDbl() { - // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html - // #doubling-dbl-2008-bbjlp - // #doubling-dbl-2007-bl - // and others - // Generally 3M + 4S or 2M + 4S - - // B = (X1 + Y1)^2 - var b = this.x.redAdd(this.y).redSqr(); - // C = X1^2 - var c = this.x.redSqr(); - // D = Y1^2 - var d = this.y.redSqr(); - - var nx; - var ny; - var nz; - var e; - var h; - var j; - if (this.curve.twisted) { - // E = a * C - e = this.curve._mulA(c); - // F = E + D - var f = e.redAdd(d); - if (this.zOne) { - // X3 = (B - C - D) * (F - 2) - nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)); - // Y3 = F * (E - D) - ny = f.redMul(e.redSub(d)); - // Z3 = F^2 - 2 * F - nz = f.redSqr().redSub(f).redSub(f); - } else { - // H = Z1^2 - h = this.z.redSqr(); - // J = F - 2 * H - j = f.redSub(h).redISub(h); - // X3 = (B-C-D)*J - nx = b.redSub(c).redISub(d).redMul(j); - // Y3 = F * (E - D) - ny = f.redMul(e.redSub(d)); - // Z3 = F * J - nz = f.redMul(j); - } - } else { - // E = C + D - e = c.redAdd(d); - // H = (c * Z1)^2 - h = this.curve._mulC(this.z).redSqr(); - // J = E - 2 * H - j = e.redSub(h).redSub(h); - // X3 = c * (B - E) * J - nx = this.curve._mulC(b.redISub(e)).redMul(j); - // Y3 = c * E * (C - D) - ny = this.curve._mulC(e).redMul(c.redISub(d)); - // Z3 = E * J - nz = e.redMul(j); - } - return this.curve.point(nx, ny, nz); -}; - -Point.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - - // Double in extended coordinates - if (this.curve.extended) - return this._extDbl(); - else - return this._projDbl(); -}; - -Point.prototype._extAdd = function _extAdd(p) { - // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html - // #addition-add-2008-hwcd-3 - // 8M - - // A = (Y1 - X1) * (Y2 - X2) - var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)); - // B = (Y1 + X1) * (Y2 + X2) - var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)); - // C = T1 * k * T2 - var c = this.t.redMul(this.curve.dd).redMul(p.t); - // D = Z1 * 2 * Z2 - var d = this.z.redMul(p.z.redAdd(p.z)); - // E = B - A - var e = b.redSub(a); - // F = D - C - var f = d.redSub(c); - // G = D + C - var g = d.redAdd(c); - // H = B + A - var h = b.redAdd(a); - // X3 = E * F - var nx = e.redMul(f); - // Y3 = G * H - var ny = g.redMul(h); - // T3 = E * H - var nt = e.redMul(h); - // Z3 = F * G - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); -}; - -Point.prototype._projAdd = function _projAdd(p) { - // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html - // #addition-add-2008-bbjlp - // #addition-add-2007-bl - // 10M + 1S - - // A = Z1 * Z2 - var a = this.z.redMul(p.z); - // B = A^2 - var b = a.redSqr(); - // C = X1 * X2 - var c = this.x.redMul(p.x); - // D = Y1 * Y2 - var d = this.y.redMul(p.y); - // E = d * C * D - var e = this.curve.d.redMul(c).redMul(d); - // F = B - E - var f = b.redSub(e); - // G = B + E - var g = b.redAdd(e); - // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D) - var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d); - var nx = a.redMul(f).redMul(tmp); - var ny; - var nz; - if (this.curve.twisted) { - // Y3 = A * G * (D - a * C) - ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))); - // Z3 = F * G - nz = f.redMul(g); - } else { - // Y3 = A * G * (D - C) - ny = a.redMul(g).redMul(d.redSub(c)); - // Z3 = c * F * G - nz = this.curve._mulC(f).redMul(g); - } - return this.curve.point(nx, ny, nz); -}; - -Point.prototype.add = function add(p) { - if (this.isInfinity()) - return p; - if (p.isInfinity()) - return this; - - if (this.curve.extended) - return this._extAdd(p); - else - return this._projAdd(p); -}; - -Point.prototype.mul = function mul(k) { - if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else - return this.curve._wnafMul(this, k); -}; - -Point.prototype.mulAdd = function mulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false); -}; - -Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true); -}; - -Point.prototype.normalize = function normalize() { - if (this.zOne) - return this; - - // Normalize coordinates - var zi = this.z.redInvm(); - this.x = this.x.redMul(zi); - this.y = this.y.redMul(zi); - if (this.t) - this.t = this.t.redMul(zi); - this.z = this.curve.one; - this.zOne = true; - return this; -}; - -Point.prototype.neg = function neg() { - return this.curve.point(this.x.redNeg(), - this.y, - this.z, - this.t && this.t.redNeg()); -}; - -Point.prototype.getX = function getX() { - this.normalize(); - return this.x.fromRed(); -}; - -Point.prototype.getY = function getY() { - this.normalize(); - return this.y.fromRed(); -}; - -Point.prototype.eq = function eq(other) { - return this === other || - this.getX().cmp(other.getX()) === 0 && - this.getY().cmp(other.getY()) === 0; -}; - -Point.prototype.eqXToP = function eqXToP(x) { - var rx = x.toRed(this.curve.red).redMul(this.z); - if (this.x.cmp(rx) === 0) - return true; - - var xc = x.clone(); - var t = this.curve.redN.redMul(this.z); - for (;;) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } -}; - -// Compatibility with BaseCurve -Point.prototype.toP = Point.prototype.normalize; -Point.prototype.mixedAdd = Point.prototype.add; - -},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],69:[function(require,module,exports){ -'use strict'; - -var curve = exports; - -curve.base = require('./base'); -curve.short = require('./short'); -curve.mont = require('./mont'); -curve.edwards = require('./edwards'); - -},{"./base":67,"./edwards":68,"./mont":70,"./short":71}],70:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); -var inherits = require('inherits'); -var Base = require('./base'); - -var utils = require('../utils'); - -function MontCurve(conf) { - Base.call(this, 'mont', conf); - - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.i4 = new BN(4).toRed(this.red).redInvm(); - this.two = new BN(2).toRed(this.red); - this.a24 = this.i4.redMul(this.a.redAdd(this.two)); -} -inherits(MontCurve, Base); -module.exports = MontCurve; - -MontCurve.prototype.validate = function validate(point) { - var x = point.normalize().x; - var x2 = x.redSqr(); - var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x); - var y = rhs.redSqrt(); - - return y.redSqr().cmp(rhs) === 0; -}; - -function Point(curve, x, z) { - Base.BasePoint.call(this, curve, 'projective'); - if (x === null && z === null) { - this.x = this.curve.one; - this.z = this.curve.zero; - } else { - this.x = new BN(x, 16); - this.z = new BN(z, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - } -} -inherits(Point, Base.BasePoint); - -MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - return this.point(utils.toArray(bytes, enc), 1); -}; - -MontCurve.prototype.point = function point(x, z) { - return new Point(this, x, z); -}; - -MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); -}; - -Point.prototype.precompute = function precompute() { - // No-op -}; - -Point.prototype._encode = function _encode() { - return this.getX().toArray('be', this.curve.p.byteLength()); -}; - -Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1] || curve.one); -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.z.cmpn(0) === 0; -}; - -Point.prototype.dbl = function dbl() { - // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3 - // 2M + 2S + 4A - - // A = X1 + Z1 - var a = this.x.redAdd(this.z); - // AA = A^2 - var aa = a.redSqr(); - // B = X1 - Z1 - var b = this.x.redSub(this.z); - // BB = B^2 - var bb = b.redSqr(); - // C = AA - BB - var c = aa.redSub(bb); - // X3 = AA * BB - var nx = aa.redMul(bb); - // Z3 = C * (BB + A24 * C) - var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c))); - return this.curve.point(nx, nz); -}; - -Point.prototype.add = function add() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.diffAdd = function diffAdd(p, diff) { - // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3 - // 4M + 2S + 6A - - // A = X2 + Z2 - var a = this.x.redAdd(this.z); - // B = X2 - Z2 - var b = this.x.redSub(this.z); - // C = X3 + Z3 - var c = p.x.redAdd(p.z); - // D = X3 - Z3 - var d = p.x.redSub(p.z); - // DA = D * A - var da = d.redMul(a); - // CB = C * B - var cb = c.redMul(b); - // X5 = Z1 * (DA + CB)^2 - var nx = diff.z.redMul(da.redAdd(cb).redSqr()); - // Z5 = X1 * (DA - CB)^2 - var nz = diff.x.redMul(da.redISub(cb).redSqr()); - return this.curve.point(nx, nz); -}; - -Point.prototype.mul = function mul(k) { - var t = k.clone(); - var a = this; // (N / 2) * Q + Q - var b = this.curve.point(null, null); // (N / 2) * Q - var c = this; // Q - - for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1)) - bits.push(t.andln(1)); - - for (var i = bits.length - 1; i >= 0; i--) { - if (bits[i] === 0) { - // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q - a = a.diffAdd(b, c); - // N * Q = 2 * ((N / 2) * Q + Q)) - b = b.dbl(); - } else { - // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q) - b = a.diffAdd(b, c); - // N * Q + Q = 2 * ((N / 2) * Q + Q) - a = a.dbl(); - } - } - return b; -}; - -Point.prototype.mulAdd = function mulAdd() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.jumlAdd = function jumlAdd() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.eq = function eq(other) { - return this.getX().cmp(other.getX()) === 0; -}; - -Point.prototype.normalize = function normalize() { - this.x = this.x.redMul(this.z.redInvm()); - this.z = this.curve.one; - return this; -}; - -Point.prototype.getX = function getX() { - // Normalize coordinates - this.normalize(); - - return this.x.fromRed(); -}; - -},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],71:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var BN = require('bn.js'); -var inherits = require('inherits'); -var Base = require('./base'); - -var assert = utils.assert; - -function ShortCurve(conf) { - Base.call(this, 'short', conf); - - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.tinv = this.two.redInvm(); - - this.zeroA = this.a.fromRed().cmpn(0) === 0; - this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0; - - // If the curve is endomorphic, precalculate beta and lambda - this.endo = this._getEndomorphism(conf); - this._endoWnafT1 = new Array(4); - this._endoWnafT2 = new Array(4); -} -inherits(ShortCurve, Base); -module.exports = ShortCurve; - -ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { - // No efficient endomorphism - if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) - return; - - // Compute beta and lambda, that lambda * P = (beta * Px; Py) - var beta; - var lambda; - if (conf.beta) { - beta = new BN(conf.beta, 16).toRed(this.red); - } else { - var betas = this._getEndoRoots(this.p); - // Choose the smallest beta - beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1]; - beta = beta.toRed(this.red); - } - if (conf.lambda) { - lambda = new BN(conf.lambda, 16); - } else { - // Choose the lambda that is matching selected beta - var lambdas = this._getEndoRoots(this.n); - if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) { - lambda = lambdas[0]; - } else { - lambda = lambdas[1]; - assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0); - } - } - - // Get basis vectors, used for balanced length-two representation - var basis; - if (conf.basis) { - basis = conf.basis.map(function(vec) { - return { - a: new BN(vec.a, 16), - b: new BN(vec.b, 16), - }; - }); - } else { - basis = this._getEndoBasis(lambda); - } - - return { - beta: beta, - lambda: lambda, - basis: basis, - }; -}; - -ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { - // Find roots of for x^2 + x + 1 in F - // Root = (-1 +- Sqrt(-3)) / 2 - // - var red = num === this.p ? this.red : BN.mont(num); - var tinv = new BN(2).toRed(red).redInvm(); - var ntinv = tinv.redNeg(); - - var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv); - - var l1 = ntinv.redAdd(s).fromRed(); - var l2 = ntinv.redSub(s).fromRed(); - return [ l1, l2 ]; -}; - -ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { - // aprxSqrt >= sqrt(this.n) - var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); - - // 3.74 - // Run EGCD, until r(L + 1) < aprxSqrt - var u = lambda; - var v = this.n.clone(); - var x1 = new BN(1); - var y1 = new BN(0); - var x2 = new BN(0); - var y2 = new BN(1); - - // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n) - var a0; - var b0; - // First vector - var a1; - var b1; - // Second vector - var a2; - var b2; - - var prevR; - var i = 0; - var r; - var x; - while (u.cmpn(0) !== 0) { - var q = v.div(u); - r = v.sub(q.mul(u)); - x = x2.sub(q.mul(x1)); - var y = y2.sub(q.mul(y1)); - - if (!a1 && r.cmp(aprxSqrt) < 0) { - a0 = prevR.neg(); - b0 = x1; - a1 = r.neg(); - b1 = x; - } else if (a1 && ++i === 2) { - break; - } - prevR = r; - - v = u; - u = r; - x2 = x1; - x1 = x; - y2 = y1; - y1 = y; - } - a2 = r.neg(); - b2 = x; - - var len1 = a1.sqr().add(b1.sqr()); - var len2 = a2.sqr().add(b2.sqr()); - if (len2.cmp(len1) >= 0) { - a2 = a0; - b2 = b0; - } - - // Normalize signs - if (a1.negative) { - a1 = a1.neg(); - b1 = b1.neg(); - } - if (a2.negative) { - a2 = a2.neg(); - b2 = b2.neg(); - } - - return [ - { a: a1, b: b1 }, - { a: a2, b: b2 }, - ]; -}; - -ShortCurve.prototype._endoSplit = function _endoSplit(k) { - var basis = this.endo.basis; - var v1 = basis[0]; - var v2 = basis[1]; - - var c1 = v2.b.mul(k).divRound(this.n); - var c2 = v1.b.neg().mul(k).divRound(this.n); - - var p1 = c1.mul(v1.a); - var p2 = c2.mul(v2.a); - var q1 = c1.mul(v1.b); - var q2 = c2.mul(v2.b); - - // Calculate answer - var k1 = k.sub(p1).sub(p2); - var k2 = q1.add(q2).neg(); - return { k1: k1, k2: k2 }; -}; - -ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - - var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - // XXX Is there any way to tell if the number is odd without converting it - // to non-red form? - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - - return this.point(x, y); -}; - -ShortCurve.prototype.validate = function validate(point) { - if (point.inf) - return true; - - var x = point.x; - var y = point.y; - - var ax = this.a.redMul(x); - var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b); - return y.redSqr().redISub(rhs).cmpn(0) === 0; -}; - -ShortCurve.prototype._endoWnafMulAdd = - function _endoWnafMulAdd(points, coeffs, jacobianResult) { - var npoints = this._endoWnafT1; - var ncoeffs = this._endoWnafT2; - for (var i = 0; i < points.length; i++) { - var split = this._endoSplit(coeffs[i]); - var p = points[i]; - var beta = p._getBeta(); - - if (split.k1.negative) { - split.k1.ineg(); - p = p.neg(true); - } - if (split.k2.negative) { - split.k2.ineg(); - beta = beta.neg(true); - } - - npoints[i * 2] = p; - npoints[i * 2 + 1] = beta; - ncoeffs[i * 2] = split.k1; - ncoeffs[i * 2 + 1] = split.k2; - } - var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult); - - // Clean-up references to points and coefficients - for (var j = 0; j < i * 2; j++) { - npoints[j] = null; - ncoeffs[j] = null; - } - return res; - }; - -function Point(curve, x, y, isRed) { - Base.BasePoint.call(this, curve, 'affine'); - if (x === null && y === null) { - this.x = null; - this.y = null; - this.inf = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - // Force redgomery representation when loading from JSON - if (isRed) { - this.x.forceRed(this.curve.red); - this.y.forceRed(this.curve.red); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - this.inf = false; - } -} -inherits(Point, Base.BasePoint); - -ShortCurve.prototype.point = function point(x, y, isRed) { - return new Point(this, x, y, isRed); -}; - -ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) { - return Point.fromJSON(this, obj, red); -}; - -Point.prototype._getBeta = function _getBeta() { - if (!this.curve.endo) - return; - - var pre = this.precomputed; - if (pre && pre.beta) - return pre.beta; - - var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); - if (pre) { - var curve = this.curve; - var endoMul = function(p) { - return curve.point(p.x.redMul(curve.endo.beta), p.y); - }; - pre.beta = beta; - beta.precomputed = { - beta: null, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(endoMul), - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(endoMul), - }, - }; - } - return beta; -}; - -Point.prototype.toJSON = function toJSON() { - if (!this.precomputed) - return [ this.x, this.y ]; - - return [ this.x, this.y, this.precomputed && { - doubles: this.precomputed.doubles && { - step: this.precomputed.doubles.step, - points: this.precomputed.doubles.points.slice(1), - }, - naf: this.precomputed.naf && { - wnd: this.precomputed.naf.wnd, - points: this.precomputed.naf.points.slice(1), - }, - } ]; -}; - -Point.fromJSON = function fromJSON(curve, obj, red) { - if (typeof obj === 'string') - obj = JSON.parse(obj); - var res = curve.point(obj[0], obj[1], red); - if (!obj[2]) - return res; - - function obj2point(obj) { - return curve.point(obj[0], obj[1], red); - } - - var pre = obj[2]; - res.precomputed = { - beta: null, - doubles: pre.doubles && { - step: pre.doubles.step, - points: [ res ].concat(pre.doubles.points.map(obj2point)), - }, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: [ res ].concat(pre.naf.points.map(obj2point)), - }, - }; - return res; -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - return this.inf; -}; - -Point.prototype.add = function add(p) { - // O + P = P - if (this.inf) - return p; - - // P + O = P - if (p.inf) - return this; - - // P + P = 2P - if (this.eq(p)) - return this.dbl(); - - // P + (-P) = O - if (this.neg().eq(p)) - return this.curve.point(null, null); - - // P + Q = O - if (this.x.cmp(p.x) === 0) - return this.curve.point(null, null); - - var c = this.y.redSub(p.y); - if (c.cmpn(0) !== 0) - c = c.redMul(this.x.redSub(p.x).redInvm()); - var nx = c.redSqr().redISub(this.x).redISub(p.x); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); -}; - -Point.prototype.dbl = function dbl() { - if (this.inf) - return this; - - // 2P = O - var ys1 = this.y.redAdd(this.y); - if (ys1.cmpn(0) === 0) - return this.curve.point(null, null); - - var a = this.curve.a; - - var x2 = this.x.redSqr(); - var dyinv = ys1.redInvm(); - var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv); - - var nx = c.redSqr().redISub(this.x.redAdd(this.x)); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); -}; - -Point.prototype.getX = function getX() { - return this.x.fromRed(); -}; - -Point.prototype.getY = function getY() { - return this.y.fromRed(); -}; - -Point.prototype.mul = function mul(k) { - k = new BN(k, 16); - if (this.isInfinity()) - return this; - else if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else if (this.curve.endo) - return this.curve._endoWnafMulAdd([ this ], [ k ]); - else - return this.curve._wnafMul(this, k); -}; - -Point.prototype.mulAdd = function mulAdd(k1, p2, k2) { - var points = [ this, p2 ]; - var coeffs = [ k1, k2 ]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2); -}; - -Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) { - var points = [ this, p2 ]; - var coeffs = [ k1, k2 ]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs, true); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2, true); -}; - -Point.prototype.eq = function eq(p) { - return this === p || - this.inf === p.inf && - (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0); -}; - -Point.prototype.neg = function neg(_precompute) { - if (this.inf) - return this; - - var res = this.curve.point(this.x, this.y.redNeg()); - if (_precompute && this.precomputed) { - var pre = this.precomputed; - var negate = function(p) { - return p.neg(); - }; - res.precomputed = { - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(negate), - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(negate), - }, - }; - } - return res; -}; - -Point.prototype.toJ = function toJ() { - if (this.inf) - return this.curve.jpoint(null, null, null); - - var res = this.curve.jpoint(this.x, this.y, this.curve.one); - return res; -}; - -function JPoint(curve, x, y, z) { - Base.BasePoint.call(this, curve, 'jacobian'); - if (x === null && y === null && z === null) { - this.x = this.curve.one; - this.y = this.curve.one; - this.z = new BN(0); - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = new BN(z, 16); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - - this.zOne = this.z === this.curve.one; -} -inherits(JPoint, Base.BasePoint); - -ShortCurve.prototype.jpoint = function jpoint(x, y, z) { - return new JPoint(this, x, y, z); -}; - -JPoint.prototype.toP = function toP() { - if (this.isInfinity()) - return this.curve.point(null, null); - - var zinv = this.z.redInvm(); - var zinv2 = zinv.redSqr(); - var ax = this.x.redMul(zinv2); - var ay = this.y.redMul(zinv2).redMul(zinv); - - return this.curve.point(ax, ay); -}; - -JPoint.prototype.neg = function neg() { - return this.curve.jpoint(this.x, this.y.redNeg(), this.z); -}; - -JPoint.prototype.add = function add(p) { - // O + P = P - if (this.isInfinity()) - return p; - - // P + O = P - if (p.isInfinity()) - return this; - - // 12M + 4S + 7A - var pz2 = p.z.redSqr(); - var z2 = this.z.redSqr(); - var u1 = this.x.redMul(pz2); - var u2 = p.x.redMul(z2); - var s1 = this.y.redMul(pz2.redMul(p.z)); - var s2 = p.y.redMul(z2.redMul(this.z)); - - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(p.z).redMul(h); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.mixedAdd = function mixedAdd(p) { - // O + P = P - if (this.isInfinity()) - return p.toJ(); - - // P + O = P - if (p.isInfinity()) - return this; - - // 8M + 3S + 7A - var z2 = this.z.redSqr(); - var u1 = this.x; - var u2 = p.x.redMul(z2); - var s1 = this.y; - var s2 = p.y.redMul(z2).redMul(this.z); - - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(h); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.dblp = function dblp(pow) { - if (pow === 0) - return this; - if (this.isInfinity()) - return this; - if (!pow) - return this.dbl(); - - var i; - if (this.curve.zeroA || this.curve.threeA) { - var r = this; - for (i = 0; i < pow; i++) - r = r.dbl(); - return r; - } - - // 1M + 2S + 1A + N * (4S + 5M + 8A) - // N = 1 => 6M + 6S + 9A - var a = this.curve.a; - var tinv = this.curve.tinv; - - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - - // Reuse results - var jyd = jy.redAdd(jy); - for (i = 0; i < pow; i++) { - var jx2 = jx.redSqr(); - var jyd2 = jyd.redSqr(); - var jyd4 = jyd2.redSqr(); - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - - var t1 = jx.redMul(jyd2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - var dny = c.redMul(t2); - dny = dny.redIAdd(dny).redISub(jyd4); - var nz = jyd.redMul(jz); - if (i + 1 < pow) - jz4 = jz4.redMul(jyd4); - - jx = nx; - jz = nz; - jyd = dny; - } - - return this.curve.jpoint(jx, jyd.redMul(tinv), jz); -}; - -JPoint.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - - if (this.curve.zeroA) - return this._zeroDbl(); - else if (this.curve.threeA) - return this._threeDbl(); - else - return this._dbl(); -}; - -JPoint.prototype._zeroDbl = function _zeroDbl() { - var nx; - var ny; - var nz; - // Z = 1 - if (this.zOne) { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html - // #doubling-mdbl-2007-bl - // 1M + 5S + 14A - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // S = 2 * ((X1 + YY)^2 - XX - YYYY) - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - // M = 3 * XX + a; a = 0 - var m = xx.redAdd(xx).redIAdd(xx); - // T = M ^ 2 - 2*S - var t = m.redSqr().redISub(s).redISub(s); - - // 8 * YYYY - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - - // X3 = T - nx = t; - // Y3 = M * (S - T) - 8 * YYYY - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - // Z3 = 2*Y1 - nz = this.y.redAdd(this.y); - } else { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html - // #doubling-dbl-2009-l - // 2M + 5S + 13A - - // A = X1^2 - var a = this.x.redSqr(); - // B = Y1^2 - var b = this.y.redSqr(); - // C = B^2 - var c = b.redSqr(); - // D = 2 * ((X1 + B)^2 - A - C) - var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c); - d = d.redIAdd(d); - // E = 3 * A - var e = a.redAdd(a).redIAdd(a); - // F = E^2 - var f = e.redSqr(); - - // 8 * C - var c8 = c.redIAdd(c); - c8 = c8.redIAdd(c8); - c8 = c8.redIAdd(c8); - - // X3 = F - 2 * D - nx = f.redISub(d).redISub(d); - // Y3 = E * (D - X3) - 8 * C - ny = e.redMul(d.redISub(nx)).redISub(c8); - // Z3 = 2 * Y1 * Z1 - nz = this.y.redMul(this.z); - nz = nz.redIAdd(nz); - } - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype._threeDbl = function _threeDbl() { - var nx; - var ny; - var nz; - // Z = 1 - if (this.zOne) { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html - // #doubling-mdbl-2007-bl - // 1M + 5S + 15A - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // S = 2 * ((X1 + YY)^2 - XX - YYYY) - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - // M = 3 * XX + a - var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a); - // T = M^2 - 2 * S - var t = m.redSqr().redISub(s).redISub(s); - // X3 = T - nx = t; - // Y3 = M * (S - T) - 8 * YYYY - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - // Z3 = 2 * Y1 - nz = this.y.redAdd(this.y); - } else { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b - // 3M + 5S - - // delta = Z1^2 - var delta = this.z.redSqr(); - // gamma = Y1^2 - var gamma = this.y.redSqr(); - // beta = X1 * gamma - var beta = this.x.redMul(gamma); - // alpha = 3 * (X1 - delta) * (X1 + delta) - var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta)); - alpha = alpha.redAdd(alpha).redIAdd(alpha); - // X3 = alpha^2 - 8 * beta - var beta4 = beta.redIAdd(beta); - beta4 = beta4.redIAdd(beta4); - var beta8 = beta4.redAdd(beta4); - nx = alpha.redSqr().redISub(beta8); - // Z3 = (Y1 + Z1)^2 - gamma - delta - nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta); - // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2 - var ggamma8 = gamma.redSqr(); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8); - } - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype._dbl = function _dbl() { - var a = this.curve.a; - - // 4M + 6S + 10A - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - - var jx2 = jx.redSqr(); - var jy2 = jy.redSqr(); - - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - - var jxd4 = jx.redAdd(jx); - jxd4 = jxd4.redIAdd(jxd4); - var t1 = jxd4.redMul(jy2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - - var jyd8 = jy2.redSqr(); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - var ny = c.redMul(t2).redISub(jyd8); - var nz = jy.redAdd(jy).redMul(jz); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.trpl = function trpl() { - if (!this.curve.zeroA) - return this.dbl().add(this); - - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl - // 5M + 10S + ... - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // ZZ = Z1^2 - var zz = this.z.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // M = 3 * XX + a * ZZ2; a = 0 - var m = xx.redAdd(xx).redIAdd(xx); - // MM = M^2 - var mm = m.redSqr(); - // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM - var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - e = e.redIAdd(e); - e = e.redAdd(e).redIAdd(e); - e = e.redISub(mm); - // EE = E^2 - var ee = e.redSqr(); - // T = 16*YYYY - var t = yyyy.redIAdd(yyyy); - t = t.redIAdd(t); - t = t.redIAdd(t); - t = t.redIAdd(t); - // U = (M + E)^2 - MM - EE - T - var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t); - // X3 = 4 * (X1 * EE - 4 * YY * U) - var yyu4 = yy.redMul(u); - yyu4 = yyu4.redIAdd(yyu4); - yyu4 = yyu4.redIAdd(yyu4); - var nx = this.x.redMul(ee).redISub(yyu4); - nx = nx.redIAdd(nx); - nx = nx.redIAdd(nx); - // Y3 = 8 * Y1 * (U * (T - U) - E * EE) - var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee))); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - // Z3 = (Z1 + E)^2 - ZZ - EE - var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.mul = function mul(k, kbase) { - k = new BN(k, kbase); - - return this.curve._wnafMul(this, k); -}; - -JPoint.prototype.eq = function eq(p) { - if (p.type === 'affine') - return this.eq(p.toJ()); - - if (this === p) - return true; - - // x1 * z2^2 == x2 * z1^2 - var z2 = this.z.redSqr(); - var pz2 = p.z.redSqr(); - if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) - return false; - - // y1 * z2^3 == y2 * z1^3 - var z3 = z2.redMul(this.z); - var pz3 = pz2.redMul(p.z); - return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0; -}; - -JPoint.prototype.eqXToP = function eqXToP(x) { - var zs = this.z.redSqr(); - var rx = x.toRed(this.curve.red).redMul(zs); - if (this.x.cmp(rx) === 0) - return true; - - var xc = x.clone(); - var t = this.curve.redN.redMul(zs); - for (;;) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } -}; - -JPoint.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -JPoint.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.z.cmpn(0) === 0; -}; - -},{"../utils":80,"./base":67,"bn.js":81,"inherits":117}],72:[function(require,module,exports){ -'use strict'; - -var curves = exports; - -var hash = require('hash.js'); -var curve = require('./curve'); -var utils = require('./utils'); - -var assert = utils.assert; - -function PresetCurve(options) { - if (options.type === 'short') - this.curve = new curve.short(options); - else if (options.type === 'edwards') - this.curve = new curve.edwards(options); - else - this.curve = new curve.mont(options); - this.g = this.curve.g; - this.n = this.curve.n; - this.hash = options.hash; - - assert(this.g.validate(), 'Invalid curve'); - assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O'); -} -curves.PresetCurve = PresetCurve; - -function defineCurve(name, options) { - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - get: function() { - var curve = new PresetCurve(options); - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - value: curve, - }); - return curve; - }, - }); -} - -defineCurve('p192', { - type: 'short', - prime: 'p192', - p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff', - a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc', - b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1', - n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831', - hash: hash.sha256, - gRed: false, - g: [ - '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012', - '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811', - ], -}); - -defineCurve('p224', { - type: 'short', - prime: 'p224', - p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001', - a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe', - b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4', - n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d', - hash: hash.sha256, - gRed: false, - g: [ - 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21', - 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34', - ], -}); - -defineCurve('p256', { - type: 'short', - prime: null, - p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff', - a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc', - b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b', - n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551', - hash: hash.sha256, - gRed: false, - g: [ - '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296', - '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5', - ], -}); - -defineCurve('p384', { - type: 'short', - prime: null, - p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'fffffffe ffffffff 00000000 00000000 ffffffff', - a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'fffffffe ffffffff 00000000 00000000 fffffffc', - b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' + - '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef', - n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' + - 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973', - hash: hash.sha384, - gRed: false, - g: [ - 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' + - '5502f25d bf55296c 3a545e38 72760ab7', - '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' + - '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f', - ], -}); - -defineCurve('p521', { - type: 'short', - prime: null, - p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff', - a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff fffffffc', - b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' + - '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' + - '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00', - n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' + - 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409', - hash: hash.sha512, - gRed: false, - g: [ - '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' + - '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' + - 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66', - '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' + - '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' + - '3fad0761 353c7086 a272c240 88be9476 9fd16650', - ], -}); - -defineCurve('curve25519', { - type: 'mont', - prime: 'p25519', - p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', - a: '76d06', - b: '1', - n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', - hash: hash.sha256, - gRed: false, - g: [ - '9', - ], -}); - -defineCurve('ed25519', { - type: 'edwards', - prime: 'p25519', - p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', - a: '-1', - c: '1', - // -121665 * (121666^(-1)) (mod P) - d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3', - n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', - hash: hash.sha256, - gRed: false, - g: [ - '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a', - - // 4/5 - '6666666666666666666666666666666666666666666666666666666666666658', - ], -}); - -var pre; -try { - pre = require('./precomputed/secp256k1'); -} catch (e) { - pre = undefined; -} - -defineCurve('secp256k1', { - type: 'short', - prime: 'k256', - p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f', - a: '0', - b: '7', - n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141', - h: '1', - hash: hash.sha256, - - // Precomputed endomorphism - beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee', - lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72', - basis: [ - { - a: '3086d221a7d46bcde86c90e49284eb15', - b: '-e4437ed6010e88286f547fa90abfe4c3', - }, - { - a: '114ca50f7a8e2f3f657c1108d9d44cfd8', - b: '3086d221a7d46bcde86c90e49284eb15', - }, - ], - - gRed: false, - g: [ - '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', - '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8', - pre, - ], -}); - -},{"./curve":69,"./precomputed/secp256k1":79,"./utils":80,"hash.js":102}],73:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); -var HmacDRBG = require('hmac-drbg'); -var utils = require('../utils'); -var curves = require('../curves'); -var rand = require('brorand'); -var assert = utils.assert; - -var KeyPair = require('./key'); -var Signature = require('./signature'); - -function EC(options) { - if (!(this instanceof EC)) - return new EC(options); - - // Shortcut `elliptic.ec(curve-name)` - if (typeof options === 'string') { - assert(Object.prototype.hasOwnProperty.call(curves, options), - 'Unknown curve ' + options); - - options = curves[options]; - } - - // Shortcut for `elliptic.ec(elliptic.curves.curveName)` - if (options instanceof curves.PresetCurve) - options = { curve: options }; - - this.curve = options.curve.curve; - this.n = this.curve.n; - this.nh = this.n.ushrn(1); - this.g = this.curve.g; - - // Point on curve - this.g = options.curve.g; - this.g.precompute(options.curve.n.bitLength() + 1); - - // Hash for function for DRBG - this.hash = options.hash || options.curve.hash; -} -module.exports = EC; - -EC.prototype.keyPair = function keyPair(options) { - return new KeyPair(this, options); -}; - -EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) { - return KeyPair.fromPrivate(this, priv, enc); -}; - -EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) { - return KeyPair.fromPublic(this, pub, enc); -}; - -EC.prototype.genKeyPair = function genKeyPair(options) { - if (!options) - options = {}; - - // Instantiate Hmac_DRBG - var drbg = new HmacDRBG({ - hash: this.hash, - pers: options.pers, - persEnc: options.persEnc || 'utf8', - entropy: options.entropy || rand(this.hash.hmacStrength), - entropyEnc: options.entropy && options.entropyEnc || 'utf8', - nonce: this.n.toArray(), - }); - - var bytes = this.n.byteLength(); - var ns2 = this.n.sub(new BN(2)); - for (;;) { - var priv = new BN(drbg.generate(bytes)); - if (priv.cmp(ns2) > 0) - continue; - - priv.iaddn(1); - return this.keyFromPrivate(priv); - } -}; - -EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) { - var delta = msg.byteLength() * 8 - this.n.bitLength(); - if (delta > 0) - msg = msg.ushrn(delta); - if (!truncOnly && msg.cmp(this.n) >= 0) - return msg.sub(this.n); - else - return msg; -}; - -EC.prototype.sign = function sign(msg, key, enc, options) { - if (typeof enc === 'object') { - options = enc; - enc = null; - } - if (!options) - options = {}; - - key = this.keyFromPrivate(key, enc); - msg = this._truncateToN(new BN(msg, 16)); - - // Zero-extend key to provide enough entropy - var bytes = this.n.byteLength(); - var bkey = key.getPrivate().toArray('be', bytes); - - // Zero-extend nonce to have the same byte size as N - var nonce = msg.toArray('be', bytes); - - // Instantiate Hmac_DRBG - var drbg = new HmacDRBG({ - hash: this.hash, - entropy: bkey, - nonce: nonce, - pers: options.pers, - persEnc: options.persEnc || 'utf8', - }); - - // Number of bytes to generate - var ns1 = this.n.sub(new BN(1)); - - for (var iter = 0; ; iter++) { - var k = options.k ? - options.k(iter) : - new BN(drbg.generate(this.n.byteLength())); - k = this._truncateToN(k, true); - if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) - continue; - - var kp = this.g.mul(k); - if (kp.isInfinity()) - continue; - - var kpX = kp.getX(); - var r = kpX.umod(this.n); - if (r.cmpn(0) === 0) - continue; - - var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg)); - s = s.umod(this.n); - if (s.cmpn(0) === 0) - continue; - - var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | - (kpX.cmp(r) !== 0 ? 2 : 0); - - // Use complement of `s`, if it is > `n / 2` - if (options.canonical && s.cmp(this.nh) > 0) { - s = this.n.sub(s); - recoveryParam ^= 1; - } - - return new Signature({ r: r, s: s, recoveryParam: recoveryParam }); - } -}; - -EC.prototype.verify = function verify(msg, signature, key, enc) { - msg = this._truncateToN(new BN(msg, 16)); - key = this.keyFromPublic(key, enc); - signature = new Signature(signature, 'hex'); - - // Perform primitive values validation - var r = signature.r; - var s = signature.s; - if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) - return false; - if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) - return false; - - // Validate signature - var sinv = s.invm(this.n); - var u1 = sinv.mul(msg).umod(this.n); - var u2 = sinv.mul(r).umod(this.n); - var p; - - if (!this.curve._maxwellTrick) { - p = this.g.mulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - - return p.getX().umod(this.n).cmp(r) === 0; - } - - // NOTE: Greg Maxwell's trick, inspired by: - // https://git.io/vad3K - - p = this.g.jmulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - - // Compare `p.x` of Jacobian point with `r`, - // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the - // inverse of `p.z^2` - return p.eqXToP(r); -}; - -EC.prototype.recoverPubKey = function(msg, signature, j, enc) { - assert((3 & j) === j, 'The recovery param is more than two bits'); - signature = new Signature(signature, enc); - - var n = this.n; - var e = new BN(msg); - var r = signature.r; - var s = signature.s; - - // A set LSB signifies that the y-coordinate is odd - var isYOdd = j & 1; - var isSecondKey = j >> 1; - if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) - throw new Error('Unable to find sencond key candinate'); - - // 1.1. Let x = r + jn. - if (isSecondKey) - r = this.curve.pointFromX(r.add(this.curve.n), isYOdd); - else - r = this.curve.pointFromX(r, isYOdd); - - var rInv = signature.r.invm(n); - var s1 = n.sub(e).mul(rInv).umod(n); - var s2 = s.mul(rInv).umod(n); - - // 1.6.1 Compute Q = r^-1 (sR - eG) - // Q = r^-1 (sR + -eG) - return this.g.mulAdd(s1, r, s2); -}; - -EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { - signature = new Signature(signature, enc); - if (signature.recoveryParam !== null) - return signature.recoveryParam; - - for (var i = 0; i < 4; i++) { - var Qprime; - try { - Qprime = this.recoverPubKey(e, signature, i); - } catch (e) { - continue; - } - - if (Qprime.eq(Q)) - return i; - } - throw new Error('Unable to find valid recovery factor'); -}; - -},{"../curves":72,"../utils":80,"./key":74,"./signature":75,"bn.js":81,"brorand":17,"hmac-drbg":114}],74:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); -var utils = require('../utils'); -var assert = utils.assert; - -function KeyPair(ec, options) { - this.ec = ec; - this.priv = null; - this.pub = null; - - // KeyPair(ec, { priv: ..., pub: ... }) - if (options.priv) - this._importPrivate(options.priv, options.privEnc); - if (options.pub) - this._importPublic(options.pub, options.pubEnc); -} -module.exports = KeyPair; - -KeyPair.fromPublic = function fromPublic(ec, pub, enc) { - if (pub instanceof KeyPair) - return pub; - - return new KeyPair(ec, { - pub: pub, - pubEnc: enc, - }); -}; - -KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) { - if (priv instanceof KeyPair) - return priv; - - return new KeyPair(ec, { - priv: priv, - privEnc: enc, - }); -}; - -KeyPair.prototype.validate = function validate() { - var pub = this.getPublic(); - - if (pub.isInfinity()) - return { result: false, reason: 'Invalid public key' }; - if (!pub.validate()) - return { result: false, reason: 'Public key is not a point' }; - if (!pub.mul(this.ec.curve.n).isInfinity()) - return { result: false, reason: 'Public key * N != O' }; - - return { result: true, reason: null }; -}; - -KeyPair.prototype.getPublic = function getPublic(compact, enc) { - // compact is optional argument - if (typeof compact === 'string') { - enc = compact; - compact = null; - } - - if (!this.pub) - this.pub = this.ec.g.mul(this.priv); - - if (!enc) - return this.pub; - - return this.pub.encode(enc, compact); -}; - -KeyPair.prototype.getPrivate = function getPrivate(enc) { - if (enc === 'hex') - return this.priv.toString(16, 2); - else - return this.priv; -}; - -KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { - this.priv = new BN(key, enc || 16); - - // Ensure that the priv won't be bigger than n, otherwise we may fail - // in fixed multiplication method - this.priv = this.priv.umod(this.ec.curve.n); -}; - -KeyPair.prototype._importPublic = function _importPublic(key, enc) { - if (key.x || key.y) { - // Montgomery points only have an `x` coordinate. - // Weierstrass/Edwards points on the other hand have both `x` and - // `y` coordinates. - if (this.ec.curve.type === 'mont') { - assert(key.x, 'Need x coordinate'); - } else if (this.ec.curve.type === 'short' || - this.ec.curve.type === 'edwards') { - assert(key.x && key.y, 'Need both x and y coordinate'); - } - this.pub = this.ec.curve.point(key.x, key.y); - return; - } - this.pub = this.ec.curve.decodePoint(key, enc); -}; - -// ECDH -KeyPair.prototype.derive = function derive(pub) { - if(!pub.validate()) { - assert(pub.validate(), 'public point not validated'); - } - return pub.mul(this.priv).getX(); -}; - -// ECDSA -KeyPair.prototype.sign = function sign(msg, enc, options) { - return this.ec.sign(msg, this, enc, options); -}; - -KeyPair.prototype.verify = function verify(msg, signature) { - return this.ec.verify(msg, signature, this); -}; - -KeyPair.prototype.inspect = function inspect() { - return ''; -}; - -},{"../utils":80,"bn.js":81}],75:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); - -var utils = require('../utils'); -var assert = utils.assert; - -function Signature(options, enc) { - if (options instanceof Signature) - return options; - - if (this._importDER(options, enc)) - return; - - assert(options.r && options.s, 'Signature without r or s'); - this.r = new BN(options.r, 16); - this.s = new BN(options.s, 16); - if (options.recoveryParam === undefined) - this.recoveryParam = null; - else - this.recoveryParam = options.recoveryParam; -} -module.exports = Signature; - -function Position() { - this.place = 0; -} - -function getLength(buf, p) { - var initial = buf[p.place++]; - if (!(initial & 0x80)) { - return initial; - } - var octetLen = initial & 0xf; - - // Indefinite length or overflow - if (octetLen === 0 || octetLen > 4) { - return false; - } - - var val = 0; - for (var i = 0, off = p.place; i < octetLen; i++, off++) { - val <<= 8; - val |= buf[off]; - val >>>= 0; - } - - // Leading zeroes - if (val <= 0x7f) { - return false; - } - - p.place = off; - return val; -} - -function rmPadding(buf) { - var i = 0; - var len = buf.length - 1; - while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) { - i++; - } - if (i === 0) { - return buf; - } - return buf.slice(i); -} - -Signature.prototype._importDER = function _importDER(data, enc) { - data = utils.toArray(data, enc); - var p = new Position(); - if (data[p.place++] !== 0x30) { - return false; - } - var len = getLength(data, p); - if (len === false) { - return false; - } - if ((len + p.place) !== data.length) { - return false; - } - if (data[p.place++] !== 0x02) { - return false; - } - var rlen = getLength(data, p); - if (rlen === false) { - return false; - } - var r = data.slice(p.place, rlen + p.place); - p.place += rlen; - if (data[p.place++] !== 0x02) { - return false; - } - var slen = getLength(data, p); - if (slen === false) { - return false; - } - if (data.length !== slen + p.place) { - return false; - } - var s = data.slice(p.place, slen + p.place); - if (r[0] === 0) { - if (r[1] & 0x80) { - r = r.slice(1); - } else { - // Leading zeroes - return false; - } - } - if (s[0] === 0) { - if (s[1] & 0x80) { - s = s.slice(1); - } else { - // Leading zeroes - return false; - } - } - - this.r = new BN(r); - this.s = new BN(s); - this.recoveryParam = null; - - return true; -}; - -function constructLength(arr, len) { - if (len < 0x80) { - arr.push(len); - return; - } - var octets = 1 + (Math.log(len) / Math.LN2 >>> 3); - arr.push(octets | 0x80); - while (--octets) { - arr.push((len >>> (octets << 3)) & 0xff); - } - arr.push(len); -} - -Signature.prototype.toDER = function toDER(enc) { - var r = this.r.toArray(); - var s = this.s.toArray(); - - // Pad values - if (r[0] & 0x80) - r = [ 0 ].concat(r); - // Pad values - if (s[0] & 0x80) - s = [ 0 ].concat(s); - - r = rmPadding(r); - s = rmPadding(s); - - while (!s[0] && !(s[1] & 0x80)) { - s = s.slice(1); - } - var arr = [ 0x02 ]; - constructLength(arr, r.length); - arr = arr.concat(r); - arr.push(0x02); - constructLength(arr, s.length); - var backHalf = arr.concat(s); - var res = [ 0x30 ]; - constructLength(res, backHalf.length); - res = res.concat(backHalf); - return utils.encode(res, enc); -}; - -},{"../utils":80,"bn.js":81}],76:[function(require,module,exports){ -'use strict'; - -var hash = require('hash.js'); -var curves = require('../curves'); -var utils = require('../utils'); -var assert = utils.assert; -var parseBytes = utils.parseBytes; -var KeyPair = require('./key'); -var Signature = require('./signature'); - -function EDDSA(curve) { - assert(curve === 'ed25519', 'only tested with ed25519 so far'); - - if (!(this instanceof EDDSA)) - return new EDDSA(curve); - - curve = curves[curve].curve; - this.curve = curve; - this.g = curve.g; - this.g.precompute(curve.n.bitLength() + 1); - - this.pointClass = curve.point().constructor; - this.encodingLength = Math.ceil(curve.n.bitLength() / 8); - this.hash = hash.sha512; -} - -module.exports = EDDSA; - -/** -* @param {Array|String} message - message bytes -* @param {Array|String|KeyPair} secret - secret bytes or a keypair -* @returns {Signature} - signature -*/ -EDDSA.prototype.sign = function sign(message, secret) { - message = parseBytes(message); - var key = this.keyFromSecret(secret); - var r = this.hashInt(key.messagePrefix(), message); - var R = this.g.mul(r); - var Rencoded = this.encodePoint(R); - var s_ = this.hashInt(Rencoded, key.pubBytes(), message) - .mul(key.priv()); - var S = r.add(s_).umod(this.curve.n); - return this.makeSignature({ R: R, S: S, Rencoded: Rencoded }); -}; - -/** -* @param {Array} message - message bytes -* @param {Array|String|Signature} sig - sig bytes -* @param {Array|String|Point|KeyPair} pub - public key -* @returns {Boolean} - true if public key matches sig of message -*/ -EDDSA.prototype.verify = function verify(message, sig, pub) { - message = parseBytes(message); - sig = this.makeSignature(sig); - var key = this.keyFromPublic(pub); - var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message); - var SG = this.g.mul(sig.S()); - var RplusAh = sig.R().add(key.pub().mul(h)); - return RplusAh.eq(SG); -}; - -EDDSA.prototype.hashInt = function hashInt() { - var hash = this.hash(); - for (var i = 0; i < arguments.length; i++) - hash.update(arguments[i]); - return utils.intFromLE(hash.digest()).umod(this.curve.n); -}; - -EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) { - return KeyPair.fromPublic(this, pub); -}; - -EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) { - return KeyPair.fromSecret(this, secret); -}; - -EDDSA.prototype.makeSignature = function makeSignature(sig) { - if (sig instanceof Signature) - return sig; - return new Signature(this, sig); -}; - -/** -* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2 -* -* EDDSA defines methods for encoding and decoding points and integers. These are -* helper convenience methods, that pass along to utility functions implied -* parameters. -* -*/ -EDDSA.prototype.encodePoint = function encodePoint(point) { - var enc = point.getY().toArray('le', this.encodingLength); - enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0; - return enc; -}; - -EDDSA.prototype.decodePoint = function decodePoint(bytes) { - bytes = utils.parseBytes(bytes); - - var lastIx = bytes.length - 1; - var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80); - var xIsOdd = (bytes[lastIx] & 0x80) !== 0; - - var y = utils.intFromLE(normed); - return this.curve.pointFromY(y, xIsOdd); -}; - -EDDSA.prototype.encodeInt = function encodeInt(num) { - return num.toArray('le', this.encodingLength); -}; - -EDDSA.prototype.decodeInt = function decodeInt(bytes) { - return utils.intFromLE(bytes); -}; - -EDDSA.prototype.isPoint = function isPoint(val) { - return val instanceof this.pointClass; -}; - -},{"../curves":72,"../utils":80,"./key":77,"./signature":78,"hash.js":102}],77:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var assert = utils.assert; -var parseBytes = utils.parseBytes; -var cachedProperty = utils.cachedProperty; - -/** -* @param {EDDSA} eddsa - instance -* @param {Object} params - public/private key parameters -* -* @param {Array} [params.secret] - secret seed bytes -* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms) -* @param {Array} [params.pub] - public key point encoded as bytes -* -*/ -function KeyPair(eddsa, params) { - this.eddsa = eddsa; - this._secret = parseBytes(params.secret); - if (eddsa.isPoint(params.pub)) - this._pub = params.pub; - else - this._pubBytes = parseBytes(params.pub); -} - -KeyPair.fromPublic = function fromPublic(eddsa, pub) { - if (pub instanceof KeyPair) - return pub; - return new KeyPair(eddsa, { pub: pub }); -}; - -KeyPair.fromSecret = function fromSecret(eddsa, secret) { - if (secret instanceof KeyPair) - return secret; - return new KeyPair(eddsa, { secret: secret }); -}; - -KeyPair.prototype.secret = function secret() { - return this._secret; -}; - -cachedProperty(KeyPair, 'pubBytes', function pubBytes() { - return this.eddsa.encodePoint(this.pub()); -}); - -cachedProperty(KeyPair, 'pub', function pub() { - if (this._pubBytes) - return this.eddsa.decodePoint(this._pubBytes); - return this.eddsa.g.mul(this.priv()); -}); - -cachedProperty(KeyPair, 'privBytes', function privBytes() { - var eddsa = this.eddsa; - var hash = this.hash(); - var lastIx = eddsa.encodingLength - 1; - - var a = hash.slice(0, eddsa.encodingLength); - a[0] &= 248; - a[lastIx] &= 127; - a[lastIx] |= 64; - - return a; -}); - -cachedProperty(KeyPair, 'priv', function priv() { - return this.eddsa.decodeInt(this.privBytes()); -}); - -cachedProperty(KeyPair, 'hash', function hash() { - return this.eddsa.hash().update(this.secret()).digest(); -}); - -cachedProperty(KeyPair, 'messagePrefix', function messagePrefix() { - return this.hash().slice(this.eddsa.encodingLength); -}); - -KeyPair.prototype.sign = function sign(message) { - assert(this._secret, 'KeyPair can only verify'); - return this.eddsa.sign(message, this); -}; - -KeyPair.prototype.verify = function verify(message, sig) { - return this.eddsa.verify(message, sig, this); -}; - -KeyPair.prototype.getSecret = function getSecret(enc) { - assert(this._secret, 'KeyPair is public only'); - return utils.encode(this.secret(), enc); -}; - -KeyPair.prototype.getPublic = function getPublic(enc) { - return utils.encode(this.pubBytes(), enc); -}; - -module.exports = KeyPair; - -},{"../utils":80}],78:[function(require,module,exports){ -'use strict'; - -var BN = require('bn.js'); -var utils = require('../utils'); -var assert = utils.assert; -var cachedProperty = utils.cachedProperty; -var parseBytes = utils.parseBytes; - -/** -* @param {EDDSA} eddsa - eddsa instance -* @param {Array|Object} sig - -* @param {Array|Point} [sig.R] - R point as Point or bytes -* @param {Array|bn} [sig.S] - S scalar as bn or bytes -* @param {Array} [sig.Rencoded] - R point encoded -* @param {Array} [sig.Sencoded] - S scalar encoded -*/ -function Signature(eddsa, sig) { - this.eddsa = eddsa; - - if (typeof sig !== 'object') - sig = parseBytes(sig); - - if (Array.isArray(sig)) { - sig = { - R: sig.slice(0, eddsa.encodingLength), - S: sig.slice(eddsa.encodingLength), - }; - } - - assert(sig.R && sig.S, 'Signature without R or S'); - - if (eddsa.isPoint(sig.R)) - this._R = sig.R; - if (sig.S instanceof BN) - this._S = sig.S; - - this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded; - this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded; -} - -cachedProperty(Signature, 'S', function S() { - return this.eddsa.decodeInt(this.Sencoded()); -}); - -cachedProperty(Signature, 'R', function R() { - return this.eddsa.decodePoint(this.Rencoded()); -}); - -cachedProperty(Signature, 'Rencoded', function Rencoded() { - return this.eddsa.encodePoint(this.R()); -}); - -cachedProperty(Signature, 'Sencoded', function Sencoded() { - return this.eddsa.encodeInt(this.S()); -}); - -Signature.prototype.toBytes = function toBytes() { - return this.Rencoded().concat(this.Sencoded()); -}; - -Signature.prototype.toHex = function toHex() { - return utils.encode(this.toBytes(), 'hex').toUpperCase(); -}; - -module.exports = Signature; - -},{"../utils":80,"bn.js":81}],79:[function(require,module,exports){ -module.exports = { - doubles: { - step: 4, - points: [ - [ - 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a', - 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821', - ], - [ - '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508', - '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf', - ], - [ - '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739', - 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695', - ], - [ - '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640', - '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9', - ], - [ - '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c', - '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36', - ], - [ - '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda', - '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f', - ], - [ - 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa', - '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999', - ], - [ - '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0', - 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09', - ], - [ - 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d', - '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d', - ], - [ - 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d', - 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088', - ], - [ - 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1', - '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d', - ], - [ - '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0', - '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8', - ], - [ - '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047', - '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a', - ], - [ - '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862', - '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453', - ], - [ - '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7', - '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160', - ], - [ - '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd', - '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0', - ], - [ - '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83', - '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6', - ], - [ - '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a', - '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589', - ], - [ - '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8', - 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17', - ], - [ - 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d', - '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda', - ], - [ - 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725', - '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd', - ], - [ - '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754', - '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2', - ], - [ - '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c', - '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6', - ], - [ - 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6', - '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f', - ], - [ - '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39', - 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01', - ], - [ - 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891', - '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3', - ], - [ - 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b', - 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f', - ], - [ - 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03', - '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7', - ], - [ - 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d', - 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78', - ], - [ - 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070', - '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1', - ], - [ - '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4', - 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150', - ], - [ - '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da', - '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82', - ], - [ - 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11', - '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc', - ], - [ - '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e', - 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b', - ], - [ - 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41', - '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51', - ], - [ - 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef', - '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45', - ], - [ - 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8', - 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120', - ], - [ - '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d', - '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84', - ], - [ - '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96', - '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d', - ], - [ - '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd', - 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d', - ], - [ - '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5', - '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8', - ], - [ - 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266', - '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8', - ], - [ - '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71', - '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac', - ], - [ - '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac', - 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f', - ], - [ - '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751', - '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962', - ], - [ - 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e', - '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907', - ], - [ - '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241', - 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec', - ], - [ - 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3', - 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d', - ], - [ - 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f', - '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414', - ], - [ - '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19', - 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd', - ], - [ - '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be', - 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0', - ], - [ - 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9', - '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811', - ], - [ - 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2', - '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1', - ], - [ - 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13', - '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c', - ], - [ - '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c', - 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73', - ], - [ - '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba', - '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd', - ], - [ - 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151', - 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405', - ], - [ - '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073', - 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589', - ], - [ - '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458', - '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e', - ], - [ - '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b', - '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27', - ], - [ - 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366', - 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1', - ], - [ - '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa', - '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482', - ], - [ - '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0', - '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945', - ], - [ - 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787', - '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573', - ], - [ - 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e', - 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82', - ], - ], - }, - naf: { - wnd: 7, - points: [ - [ - 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9', - '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672', - ], - [ - '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4', - 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6', - ], - [ - '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc', - '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da', - ], - [ - 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe', - 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37', - ], - [ - '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb', - 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b', - ], - [ - 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8', - 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81', - ], - [ - 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e', - '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58', - ], - [ - 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34', - '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77', - ], - [ - '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c', - '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a', - ], - [ - '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5', - '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c', - ], - [ - '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f', - '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67', - ], - [ - '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714', - '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402', - ], - [ - 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729', - 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55', - ], - [ - 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db', - '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482', - ], - [ - '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4', - 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82', - ], - [ - '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5', - 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396', - ], - [ - '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479', - '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49', - ], - [ - '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d', - '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf', - ], - [ - '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f', - '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a', - ], - [ - '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb', - 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7', - ], - [ - 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9', - 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933', - ], - [ - '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963', - '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a', - ], - [ - '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74', - '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6', - ], - [ - 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530', - 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37', - ], - [ - '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b', - '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e', - ], - [ - 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247', - 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6', - ], - [ - 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1', - 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476', - ], - [ - '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120', - '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40', - ], - [ - '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435', - '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61', - ], - [ - '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18', - '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683', - ], - [ - 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8', - '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5', - ], - [ - '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb', - '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b', - ], - [ - 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f', - '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417', - ], - [ - '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143', - 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868', - ], - [ - '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba', - 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a', - ], - [ - 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45', - 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6', - ], - [ - '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a', - '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996', - ], - [ - '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e', - 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e', - ], - [ - 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8', - 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d', - ], - [ - '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c', - '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2', - ], - [ - '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519', - 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e', - ], - [ - '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab', - '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437', - ], - [ - '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca', - 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311', - ], - [ - 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf', - '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4', - ], - [ - '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610', - '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575', - ], - [ - '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4', - 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d', - ], - [ - '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c', - 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d', - ], - [ - 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940', - 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629', - ], - [ - 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980', - 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06', - ], - [ - '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3', - '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374', - ], - [ - '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf', - '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee', - ], - [ - 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63', - '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1', - ], - [ - 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448', - 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b', - ], - [ - '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf', - '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661', - ], - [ - '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5', - '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6', - ], - [ - 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6', - '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e', - ], - [ - '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5', - '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d', - ], - [ - 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99', - 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc', - ], - [ - '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51', - 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4', - ], - [ - '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5', - '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c', - ], - [ - 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5', - '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b', - ], - [ - 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997', - '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913', - ], - [ - '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881', - '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154', - ], - [ - '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5', - '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865', - ], - [ - '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66', - 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc', - ], - [ - '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726', - 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224', - ], - [ - '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede', - '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e', - ], - [ - '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94', - '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6', - ], - [ - '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31', - '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511', - ], - [ - '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51', - 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b', - ], - [ - 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252', - 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2', - ], - [ - '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5', - 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c', - ], - [ - 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b', - '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3', - ], - [ - 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4', - '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d', - ], - [ - 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f', - '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700', - ], - [ - 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889', - '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4', - ], - [ - '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246', - 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196', - ], - [ - '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984', - '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4', - ], - [ - '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a', - 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257', - ], - [ - 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030', - 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13', - ], - [ - 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197', - '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096', - ], - [ - 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593', - 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38', - ], - [ - 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef', - '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f', - ], - [ - '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38', - '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448', - ], - [ - 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a', - '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a', - ], - [ - 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111', - '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4', - ], - [ - '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502', - '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437', - ], - [ - '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea', - 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7', - ], - [ - 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26', - '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d', - ], - [ - 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986', - '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a', - ], - [ - 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e', - '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54', - ], - [ - '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4', - '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77', - ], - [ - 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda', - 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517', - ], - [ - '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859', - 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10', - ], - [ - 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f', - 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125', - ], - [ - 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c', - '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e', - ], - [ - '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942', - 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1', - ], - [ - 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a', - '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2', - ], - [ - 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80', - '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423', - ], - [ - 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d', - '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8', - ], - [ - '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1', - 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758', - ], - [ - '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63', - 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375', - ], - [ - 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352', - '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d', - ], - [ - '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193', - 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec', - ], - [ - '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00', - '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0', - ], - [ - '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58', - 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c', - ], - [ - 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7', - 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4', - ], - [ - '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8', - 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f', - ], - [ - '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e', - '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649', - ], - [ - '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d', - 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826', - ], - [ - '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b', - '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5', - ], - [ - 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f', - 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87', - ], - [ - '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6', - '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b', - ], - [ - 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297', - '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc', - ], - [ - '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a', - '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c', - ], - [ - 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c', - 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f', - ], - [ - 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52', - '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a', - ], - [ - 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb', - 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46', - ], - [ - '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065', - 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f', - ], - [ - '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917', - '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03', - ], - [ - '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9', - 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08', - ], - [ - '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3', - '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8', - ], - [ - '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57', - '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373', - ], - [ - '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66', - 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3', - ], - [ - '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8', - '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8', - ], - [ - '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721', - '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1', - ], - [ - '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180', - '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9', - ], - ], - }, -}; - -},{}],80:[function(require,module,exports){ -'use strict'; - -var utils = exports; -var BN = require('bn.js'); -var minAssert = require('minimalistic-assert'); -var minUtils = require('minimalistic-crypto-utils'); - -utils.assert = minAssert; -utils.toArray = minUtils.toArray; -utils.zero2 = minUtils.zero2; -utils.toHex = minUtils.toHex; -utils.encode = minUtils.encode; - -// Represent num in a w-NAF form -function getNAF(num, w, bits) { - var naf = new Array(Math.max(num.bitLength(), bits) + 1); - naf.fill(0); - - var ws = 1 << (w + 1); - var k = num.clone(); - - for (var i = 0; i < naf.length; i++) { - var z; - var mod = k.andln(ws - 1); - if (k.isOdd()) { - if (mod > (ws >> 1) - 1) - z = (ws >> 1) - mod; - else - z = mod; - k.isubn(z); - } else { - z = 0; - } - - naf[i] = z; - k.iushrn(1); - } - - return naf; -} -utils.getNAF = getNAF; - -// Represent k1, k2 in a Joint Sparse Form -function getJSF(k1, k2) { - var jsf = [ - [], - [], - ]; - - k1 = k1.clone(); - k2 = k2.clone(); - var d1 = 0; - var d2 = 0; - var m8; - while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) { - // First phase - var m14 = (k1.andln(3) + d1) & 3; - var m24 = (k2.andln(3) + d2) & 3; - if (m14 === 3) - m14 = -1; - if (m24 === 3) - m24 = -1; - var u1; - if ((m14 & 1) === 0) { - u1 = 0; - } else { - m8 = (k1.andln(7) + d1) & 7; - if ((m8 === 3 || m8 === 5) && m24 === 2) - u1 = -m14; - else - u1 = m14; - } - jsf[0].push(u1); - - var u2; - if ((m24 & 1) === 0) { - u2 = 0; - } else { - m8 = (k2.andln(7) + d2) & 7; - if ((m8 === 3 || m8 === 5) && m14 === 2) - u2 = -m24; - else - u2 = m24; - } - jsf[1].push(u2); - - // Second phase - if (2 * d1 === u1 + 1) - d1 = 1 - d1; - if (2 * d2 === u2 + 1) - d2 = 1 - d2; - k1.iushrn(1); - k2.iushrn(1); - } - - return jsf; -} -utils.getJSF = getJSF; - -function cachedProperty(obj, name, computer) { - var key = '_' + name; - obj.prototype[name] = function cachedProperty() { - return this[key] !== undefined ? this[key] : - this[key] = computer.call(this); - }; -} -utils.cachedProperty = cachedProperty; - -function parseBytes(bytes) { - return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') : - bytes; -} -utils.parseBytes = parseBytes; - -function intFromLE(bytes) { - return new BN(bytes, 'hex', 'le'); -} -utils.intFromLE = intFromLE; - - -},{"bn.js":81,"minimalistic-assert":123,"minimalistic-crypto-utils":124}],81:[function(require,module,exports){ -(function (module, exports) { - 'use strict'; - - // Utils - function assert (val, msg) { - if (!val) throw new Error(msg || 'Assertion failed'); - } - - // Could use `inherits` module, but don't want to move from single file - // architecture yet. - function inherits (ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - - // BN - - function BN (number, base, endian) { - if (BN.isBN(number)) { - return number; - } - - this.negative = 0; - this.words = null; - this.length = 0; - - // Reduction context - this.red = null; - - if (number !== null) { - if (base === 'le' || base === 'be') { - endian = base; - base = 10; - } - - this._init(number || 0, base || 10, endian || 'be'); - } - } - if (typeof module === 'object') { - module.exports = BN; - } else { - exports.BN = BN; - } - - BN.BN = BN; - BN.wordSize = 26; - - var Buffer; - try { - if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') { - Buffer = window.Buffer; - } else { - Buffer = require('buffer').Buffer; - } - } catch (e) { - } - - BN.isBN = function isBN (num) { - if (num instanceof BN) { - return true; - } - - return num !== null && typeof num === 'object' && - num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - - BN.max = function max (left, right) { - if (left.cmp(right) > 0) return left; - return right; - }; - - BN.min = function min (left, right) { - if (left.cmp(right) < 0) return left; - return right; - }; - - BN.prototype._init = function init (number, base, endian) { - if (typeof number === 'number') { - return this._initNumber(number, base, endian); - } - - if (typeof number === 'object') { - return this._initArray(number, base, endian); - } - - if (base === 'hex') { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - - number = number.toString().replace(/\s+/g, ''); - var start = 0; - if (number[0] === '-') { - start++; - this.negative = 1; - } - - if (start < number.length) { - if (base === 16) { - this._parseHex(number, start, endian); - } else { - this._parseBase(number, base, start); - if (endian === 'le') { - this._initArray(this.toArray(), base, endian); - } - } - } - }; - - BN.prototype._initNumber = function _initNumber (number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 0x4000000) { - this.words = [ number & 0x3ffffff ]; - this.length = 1; - } else if (number < 0x10000000000000) { - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff - ]; - this.length = 2; - } else { - assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff, - 1 - ]; - this.length = 3; - } - - if (endian !== 'le') return; - - // Reverse the bytes - this._initArray(this.toArray(), base, endian); - }; - - BN.prototype._initArray = function _initArray (number, base, endian) { - // Perhaps a Uint8Array - assert(typeof number.length === 'number'); - if (number.length <= 0) { - this.words = [ 0 ]; - this.length = 1; - return this; - } - - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - var j, w; - var off = 0; - if (endian === 'be') { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === 'le') { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this.strip(); - }; - - function parseHex4Bits (string, index) { - var c = string.charCodeAt(index); - // 'A' - 'F' - if (c >= 65 && c <= 70) { - return c - 55; - // 'a' - 'f' - } else if (c >= 97 && c <= 102) { - return c - 87; - // '0' - '9' - } else { - return (c - 48) & 0xf; - } - } - - function parseHexByte (string, lowerBound, index) { - var r = parseHex4Bits(string, index); - if (index - 1 >= lowerBound) { - r |= parseHex4Bits(string, index - 1) << 4; - } - return r; - } - - BN.prototype._parseHex = function _parseHex (number, start, endian) { - // Create possibly bigger array to ensure that it fits the number - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - // 24-bits chunks - var off = 0; - var j = 0; - - var w; - if (endian === 'be') { - for (i = number.length - 1; i >= start; i -= 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } else { - var parseLength = number.length - start; - for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } - - this.strip(); - }; - - function parseBase (str, start, end, mul) { - var r = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - - r *= mul; - - // 'a' - if (c >= 49) { - r += c - 49 + 0xa; - - // 'A' - } else if (c >= 17) { - r += c - 17 + 0xa; - - // '0' - '9' - } else { - r += c; - } - } - return r; - } - - BN.prototype._parseBase = function _parseBase (number, base, start) { - // Initialize as zero - this.words = [ 0 ]; - this.length = 1; - - // Find length of limb in base - for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = (limbPow / base) | 0; - - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - - this.imuln(limbPow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - - for (i = 0; i < mod; i++) { - pow *= base; - } - - this.imuln(pow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - this.strip(); - }; - - BN.prototype.copy = function copy (dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - - BN.prototype.clone = function clone () { - var r = new BN(null); - this.copy(r); - return r; - }; - - BN.prototype._expand = function _expand (size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - - // Remove leading `0` from `this` - BN.prototype.strip = function strip () { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - - BN.prototype._normSign = function _normSign () { - // -0 = 0 - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - - BN.prototype.inspect = function inspect () { - return (this.red ? ''; - }; - - /* - - var zeros = []; - var groupSizes = []; - var groupBases = []; - - var s = ''; - var i = -1; - while (++i < BN.wordSize) { - zeros[i] = s; - s += '0'; - } - groupSizes[0] = 0; - groupSizes[1] = 0; - groupBases[0] = 0; - groupBases[1] = 0; - var base = 2 - 1; - while (++base < 36 + 1) { - var groupSize = 0; - var groupBase = 1; - while (groupBase < (1 << BN.wordSize) / base) { - groupBase *= base; - groupSize += 1; - } - groupSizes[base] = groupSize; - groupBases[base] = groupBase; - } - - */ - - var zeros = [ - '', - '0', - '00', - '000', - '0000', - '00000', - '000000', - '0000000', - '00000000', - '000000000', - '0000000000', - '00000000000', - '000000000000', - '0000000000000', - '00000000000000', - '000000000000000', - '0000000000000000', - '00000000000000000', - '000000000000000000', - '0000000000000000000', - '00000000000000000000', - '000000000000000000000', - '0000000000000000000000', - '00000000000000000000000', - '000000000000000000000000', - '0000000000000000000000000' - ]; - - var groupSizes = [ - 0, 0, - 25, 16, 12, 11, 10, 9, 8, - 8, 7, 7, 7, 7, 6, 6, - 6, 6, 6, 6, 6, 5, 5, - 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5 - ]; - - var groupBases = [ - 0, 0, - 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, - 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, - 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, - 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, - 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 - ]; - - BN.prototype.toString = function toString (base, padding) { - base = base || 10; - padding = padding | 0 || 1; - - var out; - if (base === 16 || base === 'hex') { - out = ''; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = (((w << off) | carry) & 0xffffff).toString(16); - carry = (w >>> (24 - off)) & 0xffffff; - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - if (base === (base | 0) && base >= 2 && base <= 36) { - // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); - var groupSize = groupSizes[base]; - // var groupBase = Math.pow(base, groupSize); - var groupBase = groupBases[base]; - out = ''; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modn(groupBase).toString(base); - c = c.idivn(groupBase); - - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = '0' + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - assert(false, 'Base should be between 2 and 36'); - }; - - BN.prototype.toNumber = function toNumber () { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 0x4000000; - } else if (this.length === 3 && this.words[2] === 0x01) { - // NOTE: at this stage it is known that the top bit is set - ret += 0x10000000000000 + (this.words[1] * 0x4000000); - } else if (this.length > 2) { - assert(false, 'Number can only safely store up to 53 bits'); - } - return (this.negative !== 0) ? -ret : ret; - }; - - BN.prototype.toJSON = function toJSON () { - return this.toString(16); - }; - - BN.prototype.toBuffer = function toBuffer (endian, length) { - assert(typeof Buffer !== 'undefined'); - return this.toArrayLike(Buffer, endian, length); - }; - - BN.prototype.toArray = function toArray (endian, length) { - return this.toArrayLike(Array, endian, length); - }; - - BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, 'byte array longer than desired length'); - assert(reqLength > 0, 'Requested array length <= 0'); - - this.strip(); - var littleEndian = endian === 'le'; - var res = new ArrayType(reqLength); - - var b, i; - var q = this.clone(); - if (!littleEndian) { - // Assume big-endian - for (i = 0; i < reqLength - byteLength; i++) { - res[i] = 0; - } - - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[reqLength - i - 1] = b; - } - } else { - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[i] = b; - } - - for (; i < reqLength; i++) { - res[i] = 0; - } - } - - return res; - }; - - if (Math.clz32) { - BN.prototype._countBits = function _countBits (w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits (w) { - var t = w; - var r = 0; - if (t >= 0x1000) { - r += 13; - t >>>= 13; - } - if (t >= 0x40) { - r += 7; - t >>>= 7; - } - if (t >= 0x8) { - r += 4; - t >>>= 4; - } - if (t >= 0x02) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - - BN.prototype._zeroBits = function _zeroBits (w) { - // Short-cut - if (w === 0) return 26; - - var t = w; - var r = 0; - if ((t & 0x1fff) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 0x7f) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 0xf) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 0x3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 0x1) === 0) { - r++; - } - return r; - }; - - // Return number of used bits in a BN - BN.prototype.bitLength = function bitLength () { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - - function toBitArray (num) { - var w = new Array(num.bitLength()); - - for (var bit = 0; bit < w.length; bit++) { - var off = (bit / 26) | 0; - var wbit = bit % 26; - - w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; - } - - return w; - } - - // Number of trailing zero bits - BN.prototype.zeroBits = function zeroBits () { - if (this.isZero()) return 0; - - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) break; - } - return r; - }; - - BN.prototype.byteLength = function byteLength () { - return Math.ceil(this.bitLength() / 8); - }; - - BN.prototype.toTwos = function toTwos (width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - - BN.prototype.fromTwos = function fromTwos (width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - - BN.prototype.isNeg = function isNeg () { - return this.negative !== 0; - }; - - // Return negative clone of `this` - BN.prototype.neg = function neg () { - return this.clone().ineg(); - }; - - BN.prototype.ineg = function ineg () { - if (!this.isZero()) { - this.negative ^= 1; - } - - return this; - }; - - // Or `num` with `this` in-place - BN.prototype.iuor = function iuor (num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - - return this.strip(); - }; - - BN.prototype.ior = function ior (num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - - // Or `num` with `this` - BN.prototype.or = function or (num) { - if (this.length > num.length) return this.clone().ior(num); - return num.clone().ior(this); - }; - - BN.prototype.uor = function uor (num) { - if (this.length > num.length) return this.clone().iuor(num); - return num.clone().iuor(this); - }; - - // And `num` with `this` in-place - BN.prototype.iuand = function iuand (num) { - // b = min-length(num, this) - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - - this.length = b.length; - - return this.strip(); - }; - - BN.prototype.iand = function iand (num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - - // And `num` with `this` - BN.prototype.and = function and (num) { - if (this.length > num.length) return this.clone().iand(num); - return num.clone().iand(this); - }; - - BN.prototype.uand = function uand (num) { - if (this.length > num.length) return this.clone().iuand(num); - return num.clone().iuand(this); - }; - - // Xor `num` with `this` in-place - BN.prototype.iuxor = function iuxor (num) { - // a.length > b.length - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = a.length; - - return this.strip(); - }; - - BN.prototype.ixor = function ixor (num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - - // Xor `num` with `this` - BN.prototype.xor = function xor (num) { - if (this.length > num.length) return this.clone().ixor(num); - return num.clone().ixor(this); - }; - - BN.prototype.uxor = function uxor (num) { - if (this.length > num.length) return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - - // Not ``this`` with ``width`` bitwidth - BN.prototype.inotn = function inotn (width) { - assert(typeof width === 'number' && width >= 0); - - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - - // Extend the buffer with leading zeroes - this._expand(bytesNeeded); - - if (bitsLeft > 0) { - bytesNeeded--; - } - - // Handle complete words - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 0x3ffffff; - } - - // Handle the residue - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); - } - - // And remove leading zeroes - return this.strip(); - }; - - BN.prototype.notn = function notn (width) { - return this.clone().inotn(width); - }; - - // Set `bit` of `this` - BN.prototype.setn = function setn (bit, val) { - assert(typeof bit === 'number' && bit >= 0); - - var off = (bit / 26) | 0; - var wbit = bit % 26; - - this._expand(off + 1); - - if (val) { - this.words[off] = this.words[off] | (1 << wbit); - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - - return this.strip(); - }; - - // Add `num` to `this` in-place - BN.prototype.iadd = function iadd (num) { - var r; - - // negative + positive - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - - // positive + negative - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - - // a.length > b.length - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - // Copy the rest of the words - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - return this; - }; - - // Add `num` to `this` - BN.prototype.add = function add (num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - - if (this.length > num.length) return this.clone().iadd(num); - - return num.clone().iadd(this); - }; - - // Subtract `num` from `this` in-place - BN.prototype.isub = function isub (num) { - // this - (-num) = this + num - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - - // -this - num = -(this + num) - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - - // At this point both numbers are positive - var cmp = this.cmp(num); - - // Optimization - zeroify - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - - // a > b - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - - // Copy rest of the words - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = Math.max(this.length, i); - - if (a !== this) { - this.negative = 1; - } - - return this.strip(); - }; - - // Subtract `num` from `this` - BN.prototype.sub = function sub (num) { - return this.clone().isub(num); - }; - - function smallMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - var len = (self.length + num.length) | 0; - out.length = len; - len = (len - 1) | 0; - - // Peel one iteration (compiler can't do it, because of code complexity) - var a = self.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - var carry = (r / 0x4000000) | 0; - out.words[0] = lo; - - for (var k = 1; k < len; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = carry >>> 26; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = (k - j) | 0; - a = self.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += (r / 0x4000000) | 0; - rword = r & 0x3ffffff; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - - return out.strip(); - } - - // TODO(indutny): it may be reasonable to omit it for users who don't need - // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit - // multiplication (like elliptic secp256k1). - var comb10MulTo = function comb10MulTo (self, num, out) { - var a = self.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 0x1fff; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 0x1fff; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 0x1fff; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 0x1fff; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 0x1fff; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 0x1fff; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 0x1fff; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 0x1fff; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 0x1fff; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 0x1fff; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 0x1fff; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 0x1fff; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 0x1fff; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 0x1fff; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 0x1fff; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 0x1fff; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 0x1fff; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 0x1fff; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 0x1fff; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 0x1fff; - var bh9 = b9 >>> 13; - - out.negative = self.negative ^ num.negative; - out.length = 19; - /* k = 0 */ - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = (mid + Math.imul(ah0, bl0)) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; - w0 &= 0x3ffffff; - /* k = 1 */ - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = (mid + Math.imul(ah1, bl0)) | 0; - hi = Math.imul(ah1, bh0); - lo = (lo + Math.imul(al0, bl1)) | 0; - mid = (mid + Math.imul(al0, bh1)) | 0; - mid = (mid + Math.imul(ah0, bl1)) | 0; - hi = (hi + Math.imul(ah0, bh1)) | 0; - var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; - w1 &= 0x3ffffff; - /* k = 2 */ - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = (mid + Math.imul(ah2, bl0)) | 0; - hi = Math.imul(ah2, bh0); - lo = (lo + Math.imul(al1, bl1)) | 0; - mid = (mid + Math.imul(al1, bh1)) | 0; - mid = (mid + Math.imul(ah1, bl1)) | 0; - hi = (hi + Math.imul(ah1, bh1)) | 0; - lo = (lo + Math.imul(al0, bl2)) | 0; - mid = (mid + Math.imul(al0, bh2)) | 0; - mid = (mid + Math.imul(ah0, bl2)) | 0; - hi = (hi + Math.imul(ah0, bh2)) | 0; - var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; - w2 &= 0x3ffffff; - /* k = 3 */ - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = (mid + Math.imul(ah3, bl0)) | 0; - hi = Math.imul(ah3, bh0); - lo = (lo + Math.imul(al2, bl1)) | 0; - mid = (mid + Math.imul(al2, bh1)) | 0; - mid = (mid + Math.imul(ah2, bl1)) | 0; - hi = (hi + Math.imul(ah2, bh1)) | 0; - lo = (lo + Math.imul(al1, bl2)) | 0; - mid = (mid + Math.imul(al1, bh2)) | 0; - mid = (mid + Math.imul(ah1, bl2)) | 0; - hi = (hi + Math.imul(ah1, bh2)) | 0; - lo = (lo + Math.imul(al0, bl3)) | 0; - mid = (mid + Math.imul(al0, bh3)) | 0; - mid = (mid + Math.imul(ah0, bl3)) | 0; - hi = (hi + Math.imul(ah0, bh3)) | 0; - var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; - w3 &= 0x3ffffff; - /* k = 4 */ - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = (mid + Math.imul(ah4, bl0)) | 0; - hi = Math.imul(ah4, bh0); - lo = (lo + Math.imul(al3, bl1)) | 0; - mid = (mid + Math.imul(al3, bh1)) | 0; - mid = (mid + Math.imul(ah3, bl1)) | 0; - hi = (hi + Math.imul(ah3, bh1)) | 0; - lo = (lo + Math.imul(al2, bl2)) | 0; - mid = (mid + Math.imul(al2, bh2)) | 0; - mid = (mid + Math.imul(ah2, bl2)) | 0; - hi = (hi + Math.imul(ah2, bh2)) | 0; - lo = (lo + Math.imul(al1, bl3)) | 0; - mid = (mid + Math.imul(al1, bh3)) | 0; - mid = (mid + Math.imul(ah1, bl3)) | 0; - hi = (hi + Math.imul(ah1, bh3)) | 0; - lo = (lo + Math.imul(al0, bl4)) | 0; - mid = (mid + Math.imul(al0, bh4)) | 0; - mid = (mid + Math.imul(ah0, bl4)) | 0; - hi = (hi + Math.imul(ah0, bh4)) | 0; - var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; - w4 &= 0x3ffffff; - /* k = 5 */ - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = (mid + Math.imul(ah5, bl0)) | 0; - hi = Math.imul(ah5, bh0); - lo = (lo + Math.imul(al4, bl1)) | 0; - mid = (mid + Math.imul(al4, bh1)) | 0; - mid = (mid + Math.imul(ah4, bl1)) | 0; - hi = (hi + Math.imul(ah4, bh1)) | 0; - lo = (lo + Math.imul(al3, bl2)) | 0; - mid = (mid + Math.imul(al3, bh2)) | 0; - mid = (mid + Math.imul(ah3, bl2)) | 0; - hi = (hi + Math.imul(ah3, bh2)) | 0; - lo = (lo + Math.imul(al2, bl3)) | 0; - mid = (mid + Math.imul(al2, bh3)) | 0; - mid = (mid + Math.imul(ah2, bl3)) | 0; - hi = (hi + Math.imul(ah2, bh3)) | 0; - lo = (lo + Math.imul(al1, bl4)) | 0; - mid = (mid + Math.imul(al1, bh4)) | 0; - mid = (mid + Math.imul(ah1, bl4)) | 0; - hi = (hi + Math.imul(ah1, bh4)) | 0; - lo = (lo + Math.imul(al0, bl5)) | 0; - mid = (mid + Math.imul(al0, bh5)) | 0; - mid = (mid + Math.imul(ah0, bl5)) | 0; - hi = (hi + Math.imul(ah0, bh5)) | 0; - var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; - w5 &= 0x3ffffff; - /* k = 6 */ - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = (mid + Math.imul(ah6, bl0)) | 0; - hi = Math.imul(ah6, bh0); - lo = (lo + Math.imul(al5, bl1)) | 0; - mid = (mid + Math.imul(al5, bh1)) | 0; - mid = (mid + Math.imul(ah5, bl1)) | 0; - hi = (hi + Math.imul(ah5, bh1)) | 0; - lo = (lo + Math.imul(al4, bl2)) | 0; - mid = (mid + Math.imul(al4, bh2)) | 0; - mid = (mid + Math.imul(ah4, bl2)) | 0; - hi = (hi + Math.imul(ah4, bh2)) | 0; - lo = (lo + Math.imul(al3, bl3)) | 0; - mid = (mid + Math.imul(al3, bh3)) | 0; - mid = (mid + Math.imul(ah3, bl3)) | 0; - hi = (hi + Math.imul(ah3, bh3)) | 0; - lo = (lo + Math.imul(al2, bl4)) | 0; - mid = (mid + Math.imul(al2, bh4)) | 0; - mid = (mid + Math.imul(ah2, bl4)) | 0; - hi = (hi + Math.imul(ah2, bh4)) | 0; - lo = (lo + Math.imul(al1, bl5)) | 0; - mid = (mid + Math.imul(al1, bh5)) | 0; - mid = (mid + Math.imul(ah1, bl5)) | 0; - hi = (hi + Math.imul(ah1, bh5)) | 0; - lo = (lo + Math.imul(al0, bl6)) | 0; - mid = (mid + Math.imul(al0, bh6)) | 0; - mid = (mid + Math.imul(ah0, bl6)) | 0; - hi = (hi + Math.imul(ah0, bh6)) | 0; - var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; - w6 &= 0x3ffffff; - /* k = 7 */ - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = (mid + Math.imul(ah7, bl0)) | 0; - hi = Math.imul(ah7, bh0); - lo = (lo + Math.imul(al6, bl1)) | 0; - mid = (mid + Math.imul(al6, bh1)) | 0; - mid = (mid + Math.imul(ah6, bl1)) | 0; - hi = (hi + Math.imul(ah6, bh1)) | 0; - lo = (lo + Math.imul(al5, bl2)) | 0; - mid = (mid + Math.imul(al5, bh2)) | 0; - mid = (mid + Math.imul(ah5, bl2)) | 0; - hi = (hi + Math.imul(ah5, bh2)) | 0; - lo = (lo + Math.imul(al4, bl3)) | 0; - mid = (mid + Math.imul(al4, bh3)) | 0; - mid = (mid + Math.imul(ah4, bl3)) | 0; - hi = (hi + Math.imul(ah4, bh3)) | 0; - lo = (lo + Math.imul(al3, bl4)) | 0; - mid = (mid + Math.imul(al3, bh4)) | 0; - mid = (mid + Math.imul(ah3, bl4)) | 0; - hi = (hi + Math.imul(ah3, bh4)) | 0; - lo = (lo + Math.imul(al2, bl5)) | 0; - mid = (mid + Math.imul(al2, bh5)) | 0; - mid = (mid + Math.imul(ah2, bl5)) | 0; - hi = (hi + Math.imul(ah2, bh5)) | 0; - lo = (lo + Math.imul(al1, bl6)) | 0; - mid = (mid + Math.imul(al1, bh6)) | 0; - mid = (mid + Math.imul(ah1, bl6)) | 0; - hi = (hi + Math.imul(ah1, bh6)) | 0; - lo = (lo + Math.imul(al0, bl7)) | 0; - mid = (mid + Math.imul(al0, bh7)) | 0; - mid = (mid + Math.imul(ah0, bl7)) | 0; - hi = (hi + Math.imul(ah0, bh7)) | 0; - var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; - w7 &= 0x3ffffff; - /* k = 8 */ - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = (mid + Math.imul(ah8, bl0)) | 0; - hi = Math.imul(ah8, bh0); - lo = (lo + Math.imul(al7, bl1)) | 0; - mid = (mid + Math.imul(al7, bh1)) | 0; - mid = (mid + Math.imul(ah7, bl1)) | 0; - hi = (hi + Math.imul(ah7, bh1)) | 0; - lo = (lo + Math.imul(al6, bl2)) | 0; - mid = (mid + Math.imul(al6, bh2)) | 0; - mid = (mid + Math.imul(ah6, bl2)) | 0; - hi = (hi + Math.imul(ah6, bh2)) | 0; - lo = (lo + Math.imul(al5, bl3)) | 0; - mid = (mid + Math.imul(al5, bh3)) | 0; - mid = (mid + Math.imul(ah5, bl3)) | 0; - hi = (hi + Math.imul(ah5, bh3)) | 0; - lo = (lo + Math.imul(al4, bl4)) | 0; - mid = (mid + Math.imul(al4, bh4)) | 0; - mid = (mid + Math.imul(ah4, bl4)) | 0; - hi = (hi + Math.imul(ah4, bh4)) | 0; - lo = (lo + Math.imul(al3, bl5)) | 0; - mid = (mid + Math.imul(al3, bh5)) | 0; - mid = (mid + Math.imul(ah3, bl5)) | 0; - hi = (hi + Math.imul(ah3, bh5)) | 0; - lo = (lo + Math.imul(al2, bl6)) | 0; - mid = (mid + Math.imul(al2, bh6)) | 0; - mid = (mid + Math.imul(ah2, bl6)) | 0; - hi = (hi + Math.imul(ah2, bh6)) | 0; - lo = (lo + Math.imul(al1, bl7)) | 0; - mid = (mid + Math.imul(al1, bh7)) | 0; - mid = (mid + Math.imul(ah1, bl7)) | 0; - hi = (hi + Math.imul(ah1, bh7)) | 0; - lo = (lo + Math.imul(al0, bl8)) | 0; - mid = (mid + Math.imul(al0, bh8)) | 0; - mid = (mid + Math.imul(ah0, bl8)) | 0; - hi = (hi + Math.imul(ah0, bh8)) | 0; - var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; - w8 &= 0x3ffffff; - /* k = 9 */ - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = (mid + Math.imul(ah9, bl0)) | 0; - hi = Math.imul(ah9, bh0); - lo = (lo + Math.imul(al8, bl1)) | 0; - mid = (mid + Math.imul(al8, bh1)) | 0; - mid = (mid + Math.imul(ah8, bl1)) | 0; - hi = (hi + Math.imul(ah8, bh1)) | 0; - lo = (lo + Math.imul(al7, bl2)) | 0; - mid = (mid + Math.imul(al7, bh2)) | 0; - mid = (mid + Math.imul(ah7, bl2)) | 0; - hi = (hi + Math.imul(ah7, bh2)) | 0; - lo = (lo + Math.imul(al6, bl3)) | 0; - mid = (mid + Math.imul(al6, bh3)) | 0; - mid = (mid + Math.imul(ah6, bl3)) | 0; - hi = (hi + Math.imul(ah6, bh3)) | 0; - lo = (lo + Math.imul(al5, bl4)) | 0; - mid = (mid + Math.imul(al5, bh4)) | 0; - mid = (mid + Math.imul(ah5, bl4)) | 0; - hi = (hi + Math.imul(ah5, bh4)) | 0; - lo = (lo + Math.imul(al4, bl5)) | 0; - mid = (mid + Math.imul(al4, bh5)) | 0; - mid = (mid + Math.imul(ah4, bl5)) | 0; - hi = (hi + Math.imul(ah4, bh5)) | 0; - lo = (lo + Math.imul(al3, bl6)) | 0; - mid = (mid + Math.imul(al3, bh6)) | 0; - mid = (mid + Math.imul(ah3, bl6)) | 0; - hi = (hi + Math.imul(ah3, bh6)) | 0; - lo = (lo + Math.imul(al2, bl7)) | 0; - mid = (mid + Math.imul(al2, bh7)) | 0; - mid = (mid + Math.imul(ah2, bl7)) | 0; - hi = (hi + Math.imul(ah2, bh7)) | 0; - lo = (lo + Math.imul(al1, bl8)) | 0; - mid = (mid + Math.imul(al1, bh8)) | 0; - mid = (mid + Math.imul(ah1, bl8)) | 0; - hi = (hi + Math.imul(ah1, bh8)) | 0; - lo = (lo + Math.imul(al0, bl9)) | 0; - mid = (mid + Math.imul(al0, bh9)) | 0; - mid = (mid + Math.imul(ah0, bl9)) | 0; - hi = (hi + Math.imul(ah0, bh9)) | 0; - var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; - w9 &= 0x3ffffff; - /* k = 10 */ - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = (mid + Math.imul(ah9, bl1)) | 0; - hi = Math.imul(ah9, bh1); - lo = (lo + Math.imul(al8, bl2)) | 0; - mid = (mid + Math.imul(al8, bh2)) | 0; - mid = (mid + Math.imul(ah8, bl2)) | 0; - hi = (hi + Math.imul(ah8, bh2)) | 0; - lo = (lo + Math.imul(al7, bl3)) | 0; - mid = (mid + Math.imul(al7, bh3)) | 0; - mid = (mid + Math.imul(ah7, bl3)) | 0; - hi = (hi + Math.imul(ah7, bh3)) | 0; - lo = (lo + Math.imul(al6, bl4)) | 0; - mid = (mid + Math.imul(al6, bh4)) | 0; - mid = (mid + Math.imul(ah6, bl4)) | 0; - hi = (hi + Math.imul(ah6, bh4)) | 0; - lo = (lo + Math.imul(al5, bl5)) | 0; - mid = (mid + Math.imul(al5, bh5)) | 0; - mid = (mid + Math.imul(ah5, bl5)) | 0; - hi = (hi + Math.imul(ah5, bh5)) | 0; - lo = (lo + Math.imul(al4, bl6)) | 0; - mid = (mid + Math.imul(al4, bh6)) | 0; - mid = (mid + Math.imul(ah4, bl6)) | 0; - hi = (hi + Math.imul(ah4, bh6)) | 0; - lo = (lo + Math.imul(al3, bl7)) | 0; - mid = (mid + Math.imul(al3, bh7)) | 0; - mid = (mid + Math.imul(ah3, bl7)) | 0; - hi = (hi + Math.imul(ah3, bh7)) | 0; - lo = (lo + Math.imul(al2, bl8)) | 0; - mid = (mid + Math.imul(al2, bh8)) | 0; - mid = (mid + Math.imul(ah2, bl8)) | 0; - hi = (hi + Math.imul(ah2, bh8)) | 0; - lo = (lo + Math.imul(al1, bl9)) | 0; - mid = (mid + Math.imul(al1, bh9)) | 0; - mid = (mid + Math.imul(ah1, bl9)) | 0; - hi = (hi + Math.imul(ah1, bh9)) | 0; - var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; - w10 &= 0x3ffffff; - /* k = 11 */ - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = (mid + Math.imul(ah9, bl2)) | 0; - hi = Math.imul(ah9, bh2); - lo = (lo + Math.imul(al8, bl3)) | 0; - mid = (mid + Math.imul(al8, bh3)) | 0; - mid = (mid + Math.imul(ah8, bl3)) | 0; - hi = (hi + Math.imul(ah8, bh3)) | 0; - lo = (lo + Math.imul(al7, bl4)) | 0; - mid = (mid + Math.imul(al7, bh4)) | 0; - mid = (mid + Math.imul(ah7, bl4)) | 0; - hi = (hi + Math.imul(ah7, bh4)) | 0; - lo = (lo + Math.imul(al6, bl5)) | 0; - mid = (mid + Math.imul(al6, bh5)) | 0; - mid = (mid + Math.imul(ah6, bl5)) | 0; - hi = (hi + Math.imul(ah6, bh5)) | 0; - lo = (lo + Math.imul(al5, bl6)) | 0; - mid = (mid + Math.imul(al5, bh6)) | 0; - mid = (mid + Math.imul(ah5, bl6)) | 0; - hi = (hi + Math.imul(ah5, bh6)) | 0; - lo = (lo + Math.imul(al4, bl7)) | 0; - mid = (mid + Math.imul(al4, bh7)) | 0; - mid = (mid + Math.imul(ah4, bl7)) | 0; - hi = (hi + Math.imul(ah4, bh7)) | 0; - lo = (lo + Math.imul(al3, bl8)) | 0; - mid = (mid + Math.imul(al3, bh8)) | 0; - mid = (mid + Math.imul(ah3, bl8)) | 0; - hi = (hi + Math.imul(ah3, bh8)) | 0; - lo = (lo + Math.imul(al2, bl9)) | 0; - mid = (mid + Math.imul(al2, bh9)) | 0; - mid = (mid + Math.imul(ah2, bl9)) | 0; - hi = (hi + Math.imul(ah2, bh9)) | 0; - var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; - w11 &= 0x3ffffff; - /* k = 12 */ - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = (mid + Math.imul(ah9, bl3)) | 0; - hi = Math.imul(ah9, bh3); - lo = (lo + Math.imul(al8, bl4)) | 0; - mid = (mid + Math.imul(al8, bh4)) | 0; - mid = (mid + Math.imul(ah8, bl4)) | 0; - hi = (hi + Math.imul(ah8, bh4)) | 0; - lo = (lo + Math.imul(al7, bl5)) | 0; - mid = (mid + Math.imul(al7, bh5)) | 0; - mid = (mid + Math.imul(ah7, bl5)) | 0; - hi = (hi + Math.imul(ah7, bh5)) | 0; - lo = (lo + Math.imul(al6, bl6)) | 0; - mid = (mid + Math.imul(al6, bh6)) | 0; - mid = (mid + Math.imul(ah6, bl6)) | 0; - hi = (hi + Math.imul(ah6, bh6)) | 0; - lo = (lo + Math.imul(al5, bl7)) | 0; - mid = (mid + Math.imul(al5, bh7)) | 0; - mid = (mid + Math.imul(ah5, bl7)) | 0; - hi = (hi + Math.imul(ah5, bh7)) | 0; - lo = (lo + Math.imul(al4, bl8)) | 0; - mid = (mid + Math.imul(al4, bh8)) | 0; - mid = (mid + Math.imul(ah4, bl8)) | 0; - hi = (hi + Math.imul(ah4, bh8)) | 0; - lo = (lo + Math.imul(al3, bl9)) | 0; - mid = (mid + Math.imul(al3, bh9)) | 0; - mid = (mid + Math.imul(ah3, bl9)) | 0; - hi = (hi + Math.imul(ah3, bh9)) | 0; - var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; - w12 &= 0x3ffffff; - /* k = 13 */ - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = (mid + Math.imul(ah9, bl4)) | 0; - hi = Math.imul(ah9, bh4); - lo = (lo + Math.imul(al8, bl5)) | 0; - mid = (mid + Math.imul(al8, bh5)) | 0; - mid = (mid + Math.imul(ah8, bl5)) | 0; - hi = (hi + Math.imul(ah8, bh5)) | 0; - lo = (lo + Math.imul(al7, bl6)) | 0; - mid = (mid + Math.imul(al7, bh6)) | 0; - mid = (mid + Math.imul(ah7, bl6)) | 0; - hi = (hi + Math.imul(ah7, bh6)) | 0; - lo = (lo + Math.imul(al6, bl7)) | 0; - mid = (mid + Math.imul(al6, bh7)) | 0; - mid = (mid + Math.imul(ah6, bl7)) | 0; - hi = (hi + Math.imul(ah6, bh7)) | 0; - lo = (lo + Math.imul(al5, bl8)) | 0; - mid = (mid + Math.imul(al5, bh8)) | 0; - mid = (mid + Math.imul(ah5, bl8)) | 0; - hi = (hi + Math.imul(ah5, bh8)) | 0; - lo = (lo + Math.imul(al4, bl9)) | 0; - mid = (mid + Math.imul(al4, bh9)) | 0; - mid = (mid + Math.imul(ah4, bl9)) | 0; - hi = (hi + Math.imul(ah4, bh9)) | 0; - var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; - w13 &= 0x3ffffff; - /* k = 14 */ - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = (mid + Math.imul(ah9, bl5)) | 0; - hi = Math.imul(ah9, bh5); - lo = (lo + Math.imul(al8, bl6)) | 0; - mid = (mid + Math.imul(al8, bh6)) | 0; - mid = (mid + Math.imul(ah8, bl6)) | 0; - hi = (hi + Math.imul(ah8, bh6)) | 0; - lo = (lo + Math.imul(al7, bl7)) | 0; - mid = (mid + Math.imul(al7, bh7)) | 0; - mid = (mid + Math.imul(ah7, bl7)) | 0; - hi = (hi + Math.imul(ah7, bh7)) | 0; - lo = (lo + Math.imul(al6, bl8)) | 0; - mid = (mid + Math.imul(al6, bh8)) | 0; - mid = (mid + Math.imul(ah6, bl8)) | 0; - hi = (hi + Math.imul(ah6, bh8)) | 0; - lo = (lo + Math.imul(al5, bl9)) | 0; - mid = (mid + Math.imul(al5, bh9)) | 0; - mid = (mid + Math.imul(ah5, bl9)) | 0; - hi = (hi + Math.imul(ah5, bh9)) | 0; - var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; - w14 &= 0x3ffffff; - /* k = 15 */ - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = (mid + Math.imul(ah9, bl6)) | 0; - hi = Math.imul(ah9, bh6); - lo = (lo + Math.imul(al8, bl7)) | 0; - mid = (mid + Math.imul(al8, bh7)) | 0; - mid = (mid + Math.imul(ah8, bl7)) | 0; - hi = (hi + Math.imul(ah8, bh7)) | 0; - lo = (lo + Math.imul(al7, bl8)) | 0; - mid = (mid + Math.imul(al7, bh8)) | 0; - mid = (mid + Math.imul(ah7, bl8)) | 0; - hi = (hi + Math.imul(ah7, bh8)) | 0; - lo = (lo + Math.imul(al6, bl9)) | 0; - mid = (mid + Math.imul(al6, bh9)) | 0; - mid = (mid + Math.imul(ah6, bl9)) | 0; - hi = (hi + Math.imul(ah6, bh9)) | 0; - var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; - w15 &= 0x3ffffff; - /* k = 16 */ - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = (mid + Math.imul(ah9, bl7)) | 0; - hi = Math.imul(ah9, bh7); - lo = (lo + Math.imul(al8, bl8)) | 0; - mid = (mid + Math.imul(al8, bh8)) | 0; - mid = (mid + Math.imul(ah8, bl8)) | 0; - hi = (hi + Math.imul(ah8, bh8)) | 0; - lo = (lo + Math.imul(al7, bl9)) | 0; - mid = (mid + Math.imul(al7, bh9)) | 0; - mid = (mid + Math.imul(ah7, bl9)) | 0; - hi = (hi + Math.imul(ah7, bh9)) | 0; - var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; - w16 &= 0x3ffffff; - /* k = 17 */ - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = (mid + Math.imul(ah9, bl8)) | 0; - hi = Math.imul(ah9, bh8); - lo = (lo + Math.imul(al8, bl9)) | 0; - mid = (mid + Math.imul(al8, bh9)) | 0; - mid = (mid + Math.imul(ah8, bl9)) | 0; - hi = (hi + Math.imul(ah8, bh9)) | 0; - var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; - w17 &= 0x3ffffff; - /* k = 18 */ - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = (mid + Math.imul(ah9, bl9)) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; - w18 &= 0x3ffffff; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - - // Polyfill comb - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - - function bigMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - out.length = self.length + num.length; - - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; - lo = (lo + rword) | 0; - rword = lo & 0x3ffffff; - ncarry = (ncarry + (lo >>> 26)) | 0; - - hncarry += ncarry >>> 26; - ncarry &= 0x3ffffff; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - - return out.strip(); - } - - function jumboMulTo (self, num, out) { - var fftm = new FFTM(); - return fftm.mulp(self, num, out); - } - - BN.prototype.mulTo = function mulTo (num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - - return res; - }; - - // Cooley-Tukey algorithm for FFT - // slightly revisited to rely on looping instead of recursion - - function FFTM (x, y) { - this.x = x; - this.y = y; - } - - FFTM.prototype.makeRBT = function makeRBT (N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - - return t; - }; - - // Returns binary-reversed representation of `x` - FFTM.prototype.revBin = function revBin (x, l, N) { - if (x === 0 || x === N - 1) return x; - - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << (l - i - 1); - x >>= 1; - } - - return rb; - }; - - // Performs "tweedling" phase, therefore 'emulating' - // behaviour of the recursive algorithm - FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - - FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - - var rx = rtwdf_ * ro - itwdf_ * io; - - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - - /* jshint maxdepth : false */ - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - - FFTM.prototype.guessLen13b = function guessLen13b (n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - - return 1 << i + 1 + odd; - }; - - FFTM.prototype.conjugate = function conjugate (rws, iws, N) { - if (N <= 1) return; - - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - - t = iws[i]; - - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - - FFTM.prototype.normalize13b = function normalize13b (ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + - Math.round(ws[2 * i] / N) + - carry; - - ws[i] = w & 0x3ffffff; - - if (w < 0x4000000) { - carry = 0; - } else { - carry = w / 0x4000000 | 0; - } - } - - return ws; - }; - - FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - - rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; - rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; - } - - // Pad with zeroes - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - - assert(carry === 0); - assert((carry & ~0x1fff) === 0); - }; - - FFTM.prototype.stub = function stub (N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - - return ph; - }; - - FFTM.prototype.mulp = function mulp (x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - - var rbt = this.makeRBT(N); - - var _ = this.stub(N); - - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - - var rmws = out.words; - rmws.length = N; - - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out.strip(); - }; - - // Multiply `this` by `num` - BN.prototype.mul = function mul (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - - // Multiply employing FFT - BN.prototype.mulf = function mulf (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - - // In-place Multiplication - BN.prototype.imul = function imul (num) { - return this.clone().mulTo(num, this); - }; - - BN.prototype.imuln = function imuln (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - - // Carry - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); - carry >>= 26; - carry += (w / 0x4000000) | 0; - // NOTE: lo is 27bit maximum - carry += lo >>> 26; - this.words[i] = lo & 0x3ffffff; - } - - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - - return this; - }; - - BN.prototype.muln = function muln (num) { - return this.clone().imuln(num); - }; - - // `this` * `this` - BN.prototype.sqr = function sqr () { - return this.mul(this); - }; - - // `this` * `this` in-place - BN.prototype.isqr = function isqr () { - return this.imul(this.clone()); - }; - - // Math.pow(`this`, `num`) - BN.prototype.pow = function pow (num) { - var w = toBitArray(num); - if (w.length === 0) return new BN(1); - - // Skip leading zeroes - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) break; - } - - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) continue; - - res = res.mul(q); - } - } - - return res; - }; - - // Shift-left in-place - BN.prototype.iushln = function iushln (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); - var i; - - if (r !== 0) { - var carry = 0; - - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = ((this.words[i] | 0) - newCarry) << r; - this.words[i] = c | carry; - carry = newCarry >>> (26 - r); - } - - if (carry) { - this.words[i] = carry; - this.length++; - } - } - - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - - this.length += s; - } - - return this.strip(); - }; - - BN.prototype.ishln = function ishln (bits) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushln(bits); - }; - - // Shift-right in-place - // NOTE: `hint` is a lowest bit before trailing zeroes - // NOTE: if `extended` is present - it will be filled with destroyed bits - BN.prototype.iushrn = function iushrn (bits, hint, extended) { - assert(typeof bits === 'number' && bits >= 0); - var h; - if (hint) { - h = (hint - (hint % 26)) / 26; - } else { - h = 0; - } - - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - var maskedWords = extended; - - h -= s; - h = Math.max(0, h); - - // Extended mode, copy masked part - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - - if (s === 0) { - // No-op, we should not move anything at all - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = (carry << (26 - r)) | (word >>> r); - carry = word & mask; - } - - // Push carried bits as a mask - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - - return this.strip(); - }; - - BN.prototype.ishrn = function ishrn (bits, hint, extended) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - - // Shift-left - BN.prototype.shln = function shln (bits) { - return this.clone().ishln(bits); - }; - - BN.prototype.ushln = function ushln (bits) { - return this.clone().iushln(bits); - }; - - // Shift-right - BN.prototype.shrn = function shrn (bits) { - return this.clone().ishrn(bits); - }; - - BN.prototype.ushrn = function ushrn (bits) { - return this.clone().iushrn(bits); - }; - - // Test if n bit is set - BN.prototype.testn = function testn (bit) { - assert(typeof bit === 'number' && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) return false; - - // Check bit and return - var w = this.words[s]; - - return !!(w & q); - }; - - // Return only lowers bits of number (in-place) - BN.prototype.imaskn = function imaskn (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - - assert(this.negative === 0, 'imaskn works only with positive numbers'); - - if (this.length <= s) { - return this; - } - - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - - if (r !== 0) { - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - this.words[this.length - 1] &= mask; - } - - return this.strip(); - }; - - // Return only lowers bits of number - BN.prototype.maskn = function maskn (bits) { - return this.clone().imaskn(bits); - }; - - // Add plain number `num` to `this` - BN.prototype.iaddn = function iaddn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.isubn(-num); - - // Possible sign change - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) < num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - - // Add without checks - return this._iaddn(num); - }; - - BN.prototype._iaddn = function _iaddn (num) { - this.words[0] += num; - - // Carry - for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { - this.words[i] -= 0x4000000; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - - return this; - }; - - // Subtract plain number `num` from `this` - BN.prototype.isubn = function isubn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.iaddn(-num); - - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - - this.words[0] -= num; - - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - // Carry - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 0x4000000; - this.words[i + 1] -= 1; - } - } - - return this.strip(); - }; - - BN.prototype.addn = function addn (num) { - return this.clone().iaddn(num); - }; - - BN.prototype.subn = function subn (num) { - return this.clone().isubn(num); - }; - - BN.prototype.iabs = function iabs () { - this.negative = 0; - - return this; - }; - - BN.prototype.abs = function abs () { - return this.clone().iabs(); - }; - - BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { - var len = num.length + shift; - var i; - - this._expand(len); - - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 0x3ffffff; - carry = (w >> 26) - ((right / 0x4000000) | 0); - this.words[i + shift] = w & 0x3ffffff; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 0x3ffffff; - } - - if (carry === 0) return this.strip(); - - // Subtraction overflow - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 0x3ffffff; - } - this.negative = 1; - - return this.strip(); - }; - - BN.prototype._wordDiv = function _wordDiv (num, mode) { - var shift = this.length - num.length; - - var a = this.clone(); - var b = num; - - // Normalize - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - - // Initialize quotient - var m = a.length - b.length; - var q; - - if (mode !== 'mod') { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 0x4000000 + - (a.words[b.length + j - 1] | 0); - - // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max - // (0x7ffffff) - qj = Math.min((qj / bhi) | 0, 0x3ffffff); - - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q.strip(); - } - a.strip(); - - // Denormalize - if (mode !== 'div' && shift !== 0) { - a.iushrn(shift); - } - - return { - div: q || null, - mod: a - }; - }; - - // NOTE: 1) `mode` can be set to `mod` to request mod only, - // to `div` to request div only, or be absent to - // request both div & mod - // 2) `positive` is true if unsigned mod is requested - BN.prototype.divmod = function divmod (num, mode, positive) { - assert(!num.isZero()); - - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - - return { - div: div, - mod: mod - }; - } - - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - return { - div: div, - mod: res.mod - }; - } - - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - - return { - div: res.div, - mod: mod - }; - } - - // Both numbers are positive at this point - - // Strip both numbers to approximate shift value - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - - // Very short reduction - if (num.length === 1) { - if (mode === 'div') { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - - if (mode === 'mod') { - return { - div: null, - mod: new BN(this.modn(num.words[0])) - }; - } - - return { - div: this.divn(num.words[0]), - mod: new BN(this.modn(num.words[0])) - }; - } - - return this._wordDiv(num, mode); - }; - - // Find `this` / `num` - BN.prototype.div = function div (num) { - return this.divmod(num, 'div', false).div; - }; - - // Find `this` % `num` - BN.prototype.mod = function mod (num) { - return this.divmod(num, 'mod', false).mod; - }; - - BN.prototype.umod = function umod (num) { - return this.divmod(num, 'mod', true).mod; - }; - - // Find Round(`this` / `num`) - BN.prototype.divRound = function divRound (num) { - var dm = this.divmod(num); - - // Fast case - exact division - if (dm.mod.isZero()) return dm.div; - - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - - // Round down - if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; - - // Round up - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - - BN.prototype.modn = function modn (num) { - assert(num <= 0x3ffffff); - var p = (1 << 26) % num; - - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - - return acc; - }; - - // In-place division by number - BN.prototype.idivn = function idivn (num) { - assert(num <= 0x3ffffff); - - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 0x4000000; - this.words[i] = (w / num) | 0; - carry = w % num; - } - - return this.strip(); - }; - - BN.prototype.divn = function divn (num) { - return this.clone().idivn(num); - }; - - BN.prototype.egcd = function egcd (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var x = this; - var y = p.clone(); - - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - - // A * x + B * y = x - var A = new BN(1); - var B = new BN(0); - - // C * x + D * y = y - var C = new BN(0); - var D = new BN(1); - - var g = 0; - - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - - var yp = y.clone(); - var xp = x.clone(); - - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - - A.iushrn(1); - B.iushrn(1); - } - } - - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - - C.iushrn(1); - D.iushrn(1); - } - } - - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - - // This is reduced incarnation of the binary EEA - // above, designated to invert members of the - // _prime_ fields F(p) at a maximal speed - BN.prototype._invmp = function _invmp (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var a = this; - var b = p.clone(); - - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - - var x1 = new BN(1); - var x2 = new BN(0); - - var delta = b.clone(); - - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - - x1.iushrn(1); - } - } - - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - - x2.iushrn(1); - } - } - - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - - if (res.cmpn(0) < 0) { - res.iadd(p); - } - - return res; - }; - - BN.prototype.gcd = function gcd (num) { - if (this.isZero()) return num.abs(); - if (num.isZero()) return this.abs(); - - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - - // Remove common factor of two - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - - var r = a.cmp(b); - if (r < 0) { - // Swap `a` and `b` to make `a` always bigger than `b` - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - - a.isub(b); - } while (true); - - return b.iushln(shift); - }; - - // Invert number in the field F(num) - BN.prototype.invm = function invm (num) { - return this.egcd(num).a.umod(num); - }; - - BN.prototype.isEven = function isEven () { - return (this.words[0] & 1) === 0; - }; - - BN.prototype.isOdd = function isOdd () { - return (this.words[0] & 1) === 1; - }; - - // And first word and num - BN.prototype.andln = function andln (num) { - return this.words[0] & num; - }; - - // Increment at the bit position in-line - BN.prototype.bincn = function bincn (bit) { - assert(typeof bit === 'number'); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - - // Add bit and propagate, if needed - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 0x3ffffff; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - - BN.prototype.isZero = function isZero () { - return this.length === 1 && this.words[0] === 0; - }; - - BN.prototype.cmpn = function cmpn (num) { - var negative = num < 0; - - if (this.negative !== 0 && !negative) return -1; - if (this.negative === 0 && negative) return 1; - - this.strip(); - - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - - assert(num <= 0x3ffffff, 'Number is too big'); - - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Compare two numbers and return: - // 1 - if `this` > `num` - // 0 - if `this` == `num` - // -1 - if `this` < `num` - BN.prototype.cmp = function cmp (num) { - if (this.negative !== 0 && num.negative === 0) return -1; - if (this.negative === 0 && num.negative !== 0) return 1; - - var res = this.ucmp(num); - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Unsigned comparison - BN.prototype.ucmp = function ucmp (num) { - // At this point both numbers have the same sign - if (this.length > num.length) return 1; - if (this.length < num.length) return -1; - - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - - if (a === b) continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - - BN.prototype.gtn = function gtn (num) { - return this.cmpn(num) === 1; - }; - - BN.prototype.gt = function gt (num) { - return this.cmp(num) === 1; - }; - - BN.prototype.gten = function gten (num) { - return this.cmpn(num) >= 0; - }; - - BN.prototype.gte = function gte (num) { - return this.cmp(num) >= 0; - }; - - BN.prototype.ltn = function ltn (num) { - return this.cmpn(num) === -1; - }; - - BN.prototype.lt = function lt (num) { - return this.cmp(num) === -1; - }; - - BN.prototype.lten = function lten (num) { - return this.cmpn(num) <= 0; - }; - - BN.prototype.lte = function lte (num) { - return this.cmp(num) <= 0; - }; - - BN.prototype.eqn = function eqn (num) { - return this.cmpn(num) === 0; - }; - - BN.prototype.eq = function eq (num) { - return this.cmp(num) === 0; - }; - - // - // A reduce context, could be using montgomery or something better, depending - // on the `m` itself. - // - BN.red = function red (num) { - return new Red(num); - }; - - BN.prototype.toRed = function toRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - assert(this.negative === 0, 'red works only with positives'); - return ctx.convertTo(this)._forceRed(ctx); - }; - - BN.prototype.fromRed = function fromRed () { - assert(this.red, 'fromRed works only with numbers in reduction context'); - return this.red.convertFrom(this); - }; - - BN.prototype._forceRed = function _forceRed (ctx) { - this.red = ctx; - return this; - }; - - BN.prototype.forceRed = function forceRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - return this._forceRed(ctx); - }; - - BN.prototype.redAdd = function redAdd (num) { - assert(this.red, 'redAdd works only with red numbers'); - return this.red.add(this, num); - }; - - BN.prototype.redIAdd = function redIAdd (num) { - assert(this.red, 'redIAdd works only with red numbers'); - return this.red.iadd(this, num); - }; - - BN.prototype.redSub = function redSub (num) { - assert(this.red, 'redSub works only with red numbers'); - return this.red.sub(this, num); - }; - - BN.prototype.redISub = function redISub (num) { - assert(this.red, 'redISub works only with red numbers'); - return this.red.isub(this, num); - }; - - BN.prototype.redShl = function redShl (num) { - assert(this.red, 'redShl works only with red numbers'); - return this.red.shl(this, num); - }; - - BN.prototype.redMul = function redMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - - BN.prototype.redIMul = function redIMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - - BN.prototype.redSqr = function redSqr () { - assert(this.red, 'redSqr works only with red numbers'); - this.red._verify1(this); - return this.red.sqr(this); - }; - - BN.prototype.redISqr = function redISqr () { - assert(this.red, 'redISqr works only with red numbers'); - this.red._verify1(this); - return this.red.isqr(this); - }; - - // Square root over p - BN.prototype.redSqrt = function redSqrt () { - assert(this.red, 'redSqrt works only with red numbers'); - this.red._verify1(this); - return this.red.sqrt(this); - }; - - BN.prototype.redInvm = function redInvm () { - assert(this.red, 'redInvm works only with red numbers'); - this.red._verify1(this); - return this.red.invm(this); - }; - - // Return negative clone of `this` % `red modulo` - BN.prototype.redNeg = function redNeg () { - assert(this.red, 'redNeg works only with red numbers'); - this.red._verify1(this); - return this.red.neg(this); - }; - - BN.prototype.redPow = function redPow (num) { - assert(this.red && !num.red, 'redPow(normalNum)'); - this.red._verify1(this); - return this.red.pow(this, num); - }; - - // Prime numbers with efficient reduction - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - - // Pseudo-Mersenne prime - function MPrime (name, p) { - // P = 2 ^ N - K - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - - this.tmp = this._tmp(); - } - - MPrime.prototype._tmp = function _tmp () { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - - MPrime.prototype.ireduce = function ireduce (num) { - // Assumes that `num` is less than `P^2` - // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) - var r = num; - var rlen; - - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - if (r.strip !== undefined) { - // r is BN v4 instance - r.strip(); - } else { - // r is BN v5 instance - r._strip(); - } - } - - return r; - }; - - MPrime.prototype.split = function split (input, out) { - input.iushrn(this.n, 0, out); - }; - - MPrime.prototype.imulK = function imulK (num) { - return num.imul(this.k); - }; - - function K256 () { - MPrime.call( - this, - 'k256', - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); - } - inherits(K256, MPrime); - - K256.prototype.split = function split (input, output) { - // 256 = 9 * 26 + 22 - var mask = 0x3fffff; - - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - - // Shift by 9 limbs - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - - K256.prototype.imulK = function imulK (num) { - // K = 0x1000003d1 = [ 0x40, 0x3d1 ] - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - - // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 0x3d1; - num.words[i] = lo & 0x3ffffff; - lo = w * 0x40 + ((lo / 0x4000000) | 0); - } - - // Fast length reduction - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - - function P224 () { - MPrime.call( - this, - 'p224', - 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); - } - inherits(P224, MPrime); - - function P192 () { - MPrime.call( - this, - 'p192', - 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); - } - inherits(P192, MPrime); - - function P25519 () { - // 2 ^ 255 - 19 - MPrime.call( - this, - '25519', - '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); - } - inherits(P25519, MPrime); - - P25519.prototype.imulK = function imulK (num) { - // K = 0x13 - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 0x13 + carry; - var lo = hi & 0x3ffffff; - hi >>>= 26; - - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - - // Exported mostly for testing purposes, use plain name instead - BN._prime = function prime (name) { - // Cached version of prime - if (primes[name]) return primes[name]; - - var prime; - if (name === 'k256') { - prime = new K256(); - } else if (name === 'p224') { - prime = new P224(); - } else if (name === 'p192') { - prime = new P192(); - } else if (name === 'p25519') { - prime = new P25519(); - } else { - throw new Error('Unknown prime ' + name); - } - primes[name] = prime; - - return prime; - }; - - // - // Base reduction engine - // - function Red (m) { - if (typeof m === 'string') { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), 'modulus must be greater than 1'); - this.m = m; - this.prime = null; - } - } - - Red.prototype._verify1 = function _verify1 (a) { - assert(a.negative === 0, 'red works only with positives'); - assert(a.red, 'red works only with red numbers'); - }; - - Red.prototype._verify2 = function _verify2 (a, b) { - assert((a.negative | b.negative) === 0, 'red works only with positives'); - assert(a.red && a.red === b.red, - 'red works only with red numbers'); - }; - - Red.prototype.imod = function imod (a) { - if (this.prime) return this.prime.ireduce(a)._forceRed(this); - return a.umod(this.m)._forceRed(this); - }; - - Red.prototype.neg = function neg (a) { - if (a.isZero()) { - return a.clone(); - } - - return this.m.sub(a)._forceRed(this); - }; - - Red.prototype.add = function add (a, b) { - this._verify2(a, b); - - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.iadd = function iadd (a, b) { - this._verify2(a, b); - - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - - Red.prototype.sub = function sub (a, b) { - this._verify2(a, b); - - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.isub = function isub (a, b) { - this._verify2(a, b); - - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - - Red.prototype.shl = function shl (a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - - Red.prototype.imul = function imul (a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - - Red.prototype.mul = function mul (a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - - Red.prototype.isqr = function isqr (a) { - return this.imul(a, a.clone()); - }; - - Red.prototype.sqr = function sqr (a) { - return this.mul(a, a); - }; - - Red.prototype.sqrt = function sqrt (a) { - if (a.isZero()) return a.clone(); - - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - - // Fast case - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - - // Tonelli-Shanks algorithm (Totally unoptimized and slow) - // - // Find Q and S, that Q * 2 ^ S = (P - 1) - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - - // Find quadratic non-residue - // NOTE: Max is such because of generalized Riemann hypothesis. - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - - return r; - }; - - Red.prototype.invm = function invm (a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - - Red.prototype.pow = function pow (a, num) { - if (num.isZero()) return new BN(1).toRed(this); - if (num.cmpn(1) === 0) return a.clone(); - - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = (word >> j) & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; - - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - - return res; - }; - - Red.prototype.convertTo = function convertTo (num) { - var r = num.umod(this.m); - - return r === num ? r.clone() : r; - }; - - Red.prototype.convertFrom = function convertFrom (num) { - var res = num.clone(); - res.red = null; - return res; - }; - - // - // Montgomery method engine - // - - BN.mont = function mont (num) { - return new Mont(num); - }; - - function Mont (m) { - Red.call(this, m); - - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - (this.shift % 26); - } - - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits(Mont, Red); - - Mont.prototype.convertTo = function convertTo (num) { - return this.imod(num.ushln(this.shift)); - }; - - Mont.prototype.convertFrom = function convertFrom (num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - - Mont.prototype.imul = function imul (a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.mul = function mul (a, b) { - if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); - - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.invm = function invm (a) { - // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; -})(typeof module === 'undefined' || module, this); - -},{"buffer":18}],82:[function(require,module,exports){ -module.exports={ - "_args": [ - [ - "elliptic@6.5.4", - "/home/travis/build/brownplt/pyret-npm/pyret-lang" - ] - ], - "_from": "elliptic@6.5.4", - "_id": "elliptic@6.5.4", - "_inBundle": false, - "_integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "_location": "/elliptic", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "elliptic@6.5.4", - "name": "elliptic", - "escapedName": "elliptic", - "rawSpec": "6.5.4", - "saveSpec": null, - "fetchSpec": "6.5.4" - }, - "_requiredBy": [ - "/browserify-sign", - "/create-ecdh" - ], - "_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "_spec": "6.5.4", - "_where": "/home/travis/build/brownplt/pyret-npm/pyret-lang", - "author": { - "name": "Fedor Indutny", - "email": "fedor@indutny.com" - }, - "bugs": { - "url": "https://github.com/indutny/elliptic/issues" - }, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "description": "EC cryptography", - "devDependencies": { - "brfs": "^2.0.2", - "coveralls": "^3.1.0", - "eslint": "^7.6.0", - "grunt": "^1.2.1", - "grunt-browserify": "^5.3.0", - "grunt-cli": "^1.3.2", - "grunt-contrib-connect": "^3.0.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-uglify": "^5.0.0", - "grunt-mocha-istanbul": "^5.0.2", - "grunt-saucelabs": "^9.0.1", - "istanbul": "^0.4.5", - "mocha": "^8.0.1" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/indutny/elliptic", - "keywords": [ - "EC", - "Elliptic", - "curve", - "Cryptography" - ], - "license": "MIT", - "main": "lib/elliptic.js", - "name": "elliptic", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/indutny/elliptic.git" - }, - "scripts": { - "lint": "eslint lib test", - "lint:fix": "npm run lint -- --fix", - "test": "npm run lint && npm run unit", - "unit": "istanbul test _mocha --reporter=spec test/index.js", - "version": "grunt dist && git add dist/" - }, - "version": "6.5.4" -} - -},{}],83:[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 - } else { - // At least give some kind of context to the user - var err = new Error('Uncaught, unspecified "error" event. (' + er + ')'); - err.context = er; - throw err; - } - } - } - - 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: - args = Array.prototype.slice.call(arguments, 1); - handler.apply(this, args); - } - } else if (isObject(handler)) { - args = Array.prototype.slice.call(arguments, 1); - 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) { - 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 if (listeners) { - // 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.prototype.listenerCount = function(type) { - if (this._events) { - var evlistener = this._events[type]; - - if (isFunction(evlistener)) - return 1; - else if (evlistener) - return evlistener.length; - } - return 0; -}; - -EventEmitter.listenerCount = function(emitter, type) { - return emitter.listenerCount(type); -}; - -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; -} - -},{}],84:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer -var MD5 = require('md5.js') - -/* eslint-disable camelcase */ -function EVP_BytesToKey (password, salt, keyBits, ivLen) { - if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary') - if (salt) { - if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary') - if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length') - } - - var keyLen = keyBits / 8 - var key = Buffer.alloc(keyLen) - var iv = Buffer.alloc(ivLen || 0) - var tmp = Buffer.alloc(0) - - while (keyLen > 0 || ivLen > 0) { - var hash = new MD5() - hash.update(tmp) - hash.update(password) - if (salt) hash.update(salt) - tmp = hash.digest() - - var used = 0 - - if (keyLen > 0) { - var keyStart = key.length - keyLen - used = Math.min(keyLen, tmp.length) - tmp.copy(key, keyStart, 0, used) - keyLen -= used - } - - if (used < tmp.length && ivLen > 0) { - var ivStart = iv.length - ivLen - var length = Math.min(ivLen, tmp.length - used) - tmp.copy(iv, ivStart, used, used + length) - ivLen -= length - } - } - - tmp.fill(0) - return { key: key, iv: iv } -} - -module.exports = EVP_BytesToKey - -},{"md5.js":121,"safe-buffer":163}],85:[function(require,module,exports){ -'use strict' -var Buffer = require('safe-buffer').Buffer -var Transform = require('readable-stream').Transform -var inherits = require('inherits') - -function throwIfNotStringOrBuffer (val, prefix) { - if (!Buffer.isBuffer(val) && typeof val !== 'string') { - throw new TypeError(prefix + ' must be a string or a buffer') - } -} - -function HashBase (blockSize) { - Transform.call(this) - - this._block = Buffer.allocUnsafe(blockSize) - this._blockSize = blockSize - this._blockOffset = 0 - this._length = [0, 0, 0, 0] - - this._finalized = false -} - -inherits(HashBase, Transform) - -HashBase.prototype._transform = function (chunk, encoding, callback) { - var error = null - try { - this.update(chunk, encoding) - } catch (err) { - error = err - } - - callback(error) -} - -HashBase.prototype._flush = function (callback) { - var error = null - try { - this.push(this.digest()) - } catch (err) { - error = err - } - - callback(error) -} - -HashBase.prototype.update = function (data, encoding) { - throwIfNotStringOrBuffer(data, 'Data') - if (this._finalized) throw new Error('Digest already called') - if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding) - - // consume data - var block = this._block - var offset = 0 - while (this._blockOffset + data.length - offset >= this._blockSize) { - for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++] - this._update() - this._blockOffset = 0 - } - while (offset < data.length) block[this._blockOffset++] = data[offset++] - - // update length - for (var j = 0, carry = data.length * 8; carry > 0; ++j) { - this._length[j] += carry - carry = (this._length[j] / 0x0100000000) | 0 - if (carry > 0) this._length[j] -= 0x0100000000 * carry - } - - return this -} - -HashBase.prototype._update = function () { - throw new Error('_update is not implemented') -} - -HashBase.prototype.digest = function (encoding) { - if (this._finalized) throw new Error('Digest already called') - this._finalized = true - - var digest = this._digest() - if (encoding !== undefined) digest = digest.toString(encoding) - - // reset state - this._block.fill(0) - this._blockOffset = 0 - for (var i = 0; i < 4; ++i) this._length[i] = 0 - - return digest -} - -HashBase.prototype._digest = function () { - throw new Error('_digest is not implemented') -} - -module.exports = HashBase - -},{"inherits":117,"readable-stream":100,"safe-buffer":163}],86:[function(require,module,exports){ -'use strict'; - -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } - -var codes = {}; - -function createErrorType(code, message, Base) { - if (!Base) { - Base = Error; - } - - function getMessage(arg1, arg2, arg3) { - if (typeof message === 'string') { - return message; - } else { - return message(arg1, arg2, arg3); - } - } - - var NodeError = - /*#__PURE__*/ - function (_Base) { - _inheritsLoose(NodeError, _Base); - - function NodeError(arg1, arg2, arg3) { - return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; - } - - return NodeError; - }(Base); - - NodeError.prototype.name = Base.name; - NodeError.prototype.code = code; - codes[code] = NodeError; -} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js - - -function oneOf(expected, thing) { - if (Array.isArray(expected)) { - var len = expected.length; - expected = expected.map(function (i) { - return String(i); - }); - - if (len > 2) { - return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1]; - } else if (len === 2) { - return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); - } else { - return "of ".concat(thing, " ").concat(expected[0]); - } - } else { - return "of ".concat(thing, " ").concat(String(expected)); - } -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith - - -function startsWith(str, search, pos) { - return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith - - -function endsWith(str, search, this_len) { - if (this_len === undefined || this_len > str.length) { - this_len = str.length; - } - - return str.substring(this_len - search.length, this_len) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes - - -function includes(str, search, start) { - if (typeof start !== 'number') { - start = 0; - } - - if (start + search.length > str.length) { - return false; - } else { - return str.indexOf(search, start) !== -1; - } -} - -createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { - return 'The value "' + value + '" is invalid for option "' + name + '"'; -}, TypeError); -createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { - // determiner: 'must be' or 'must not be' - var determiner; - - if (typeof expected === 'string' && startsWith(expected, 'not ')) { - determiner = 'must not be'; - expected = expected.replace(/^not /, ''); - } else { - determiner = 'must be'; - } - - var msg; - - if (endsWith(name, ' argument')) { - // For cases like 'first argument' - msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } else { - var type = includes(name, '.') ? 'property' : 'argument'; - msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } - - msg += ". Received type ".concat(typeof actual); - return msg; -}, TypeError); -createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); -createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { - return 'The ' + name + ' method is not implemented'; -}); -createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); -createErrorType('ERR_STREAM_DESTROYED', function (name) { - return 'Cannot call ' + name + ' after a stream was destroyed'; -}); -createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); -createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); -createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); -createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); -createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { - return 'Unknown encoding: ' + arg; -}, TypeError); -createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); -module.exports.codes = codes; - -},{}],87:[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. -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. -'use strict'; -/**/ - -var objectKeys = Object.keys || function (obj) { - var keys = []; - - for (var key in obj) { - keys.push(key); - } - - return keys; -}; -/**/ - - -module.exports = Duplex; - -var Readable = require('./_stream_readable'); - -var Writable = require('./_stream_writable'); - -require('inherits')(Duplex, Readable); - -{ - // Allow the keys array to be GC'ed. - var keys = objectKeys(Writable.prototype); - - for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; - } -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - Readable.call(this, options); - Writable.call(this, options); - this.allowHalfOpen = true; - - if (options) { - if (options.readable === false) this.readable = false; - if (options.writable === false) this.writable = false; - - if (options.allowHalfOpen === false) { - this.allowHalfOpen = false; - this.once('end', onend); - } - } -} - -Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); -Object.defineProperty(Duplex.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); -Object.defineProperty(Duplex.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); // the no-half-open enforcer - -function onend() { - // If the writable side ended, then we're ok. - if (this._writableState.ended) return; // no more data can be written. - // But allow more writes to happen in this tick. - - process.nextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } - - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); -}).call(this,require('_process')) -},{"./_stream_readable":89,"./_stream_writable":91,"_process":136,"inherits":117}],88:[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. -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -require('inherits')(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; -},{"./_stream_transform":90,"inherits":117}],89:[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. -'use strict'; - -module.exports = Readable; -/**/ - -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; -/**/ - -var EE = require('events').EventEmitter; - -var EElistenerCount = function EElistenerCount(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ - - -var Stream = require('./internal/streams/stream'); -/**/ - - -var Buffer = require('buffer').Buffer; - -var OurUint8Array = global.Uint8Array || function () {}; - -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} - -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - - -var debugUtil = require('util'); - -var debug; - -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function debug() {}; -} -/**/ - - -var BufferList = require('./internal/streams/buffer_list'); - -var destroyImpl = require('./internal/streams/destroy'); - -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; - -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. - - -var StringDecoder; -var createReadableStreamAsyncIterator; -var from; - -require('inherits')(Readable, Stream); - -var errorOrDestroy = destroyImpl.errorOrDestroy; -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} - -function ReadableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. - - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - - this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - - this.sync = true; // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - this.paused = true; // Should close be emitted on destroy. Defaults to true. - - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') - - this.autoDestroy = !!options.autoDestroy; // has it been destroyed - - this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - - this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s - - this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled - - this.readingMore = false; - this.decoder = null; - this.encoding = null; - - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside - // the ReadableState constructor, at least with V8 6.5 - - var isDuplex = this instanceof Duplex; - this._readableState = new ReadableState(options, this, isDuplex); // legacy - - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined) { - return false; - } - - return this._readableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._readableState.destroyed = value; - } -}); -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; - -Readable.prototype._destroy = function (err, cb) { - cb(err); -}; // Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. - - -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; // Unshift should *always* be something directly out of read() - - -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - debug('readableAddChunk', chunk); - var state = stream._readableState; - - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - - if (er) { - errorOrDestroy(stream, er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); - } else if (state.ended) { - errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); - } else if (state.destroyed) { - return false; - } else { - state.reading = false; - - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - maybeReadMore(stream, state); - } - } // We can push more data if we are below the highWaterMark. - // Also, if we have no data yet, we can stand some more bytes. - // This is to work around cases where hwm=0, such as the repl. - - - return !state.ended && (state.length < state.highWaterMark || state.length === 0); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - state.awaitDrain = 0; - stream.emit('data', chunk); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - if (state.needReadable) emitReadable(stream); - } - - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk); - } - - return er; -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; // backwards compatibility. - - -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - var decoder = new StringDecoder(enc); - this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 - - this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: - - var p = this._readableState.buffer.head; - var content = ''; - - while (p !== null) { - content += decoder.write(p.data); - p = p.next; - } - - this._readableState.buffer.clear(); - - if (content !== '') this._readableState.buffer.push(content); - this._readableState.length = content.length; - return this; -}; // Don't raise the hwm > 1GB - - -var MAX_HWM = 0x40000000; - -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - - return n; -} // This function is designed to be inlinable, so please take care when making -// changes to the function body. - - -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } // If we're asking for more than the current hwm, then raise the hwm. - - - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; // Don't have enough - - if (!state.ended) { - state.needReadable = true; - return 0; - } - - return state.length; -} // you can override either this method, or the async _read(n) below. - - -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - - if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. - - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - // if we need a readable event, then we need to do some reading. - - - var doRead = state.needReadable; - debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some - - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - - - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; // if the length is currently zero, then we *need* a readable event. - - if (state.length === 0) state.needReadable = true; // call internal read method - - this._read(state.highWaterMark); - - state.sync = false; // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = state.length <= state.highWaterMark; - n = 0; - } else { - state.length -= n; - state.awaitDrain = 0; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. - - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - return ret; -}; - -function onEofChunk(stream, state) { - debug('onEofChunk'); - if (state.ended) return; - - if (state.decoder) { - var chunk = state.decoder.end(); - - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - - state.ended = true; - - if (state.sync) { - // if we are sync, wait until next tick to emit the data. - // Otherwise we risk emitting data in the flow() - // the readable code triggers during a read() call - emitReadable(stream); - } else { - // emit 'readable' now to make sure it gets picked up. - state.needReadable = false; - - if (!state.emittedReadable) { - state.emittedReadable = true; - emitReadable_(stream); - } - } -} // Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. - - -function emitReadable(stream) { - var state = stream._readableState; - debug('emitReadable', state.needReadable, state.emittedReadable); - state.needReadable = false; - - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - process.nextTick(emitReadable_, stream); - } -} - -function emitReadable_(stream) { - var state = stream._readableState; - debug('emitReadable_', state.destroyed, state.length, state.ended); - - if (!state.destroyed && (state.length || state.ended)) { - stream.emit('readable'); - state.emittedReadable = false; - } // The stream needs another readable event if - // 1. It is not flowing, as the flow mechanism will take - // care of it. - // 2. It is not ended. - // 3. It is below the highWaterMark, so we can schedule - // another readable later. - - - state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; - flow(stream); -} // at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. - - -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - // Attempt to read more data if we should. - // - // The conditions for reading more data are (one of): - // - Not enough data buffered (state.length < state.highWaterMark). The loop - // is responsible for filling the buffer with enough data if such data - // is available. If highWaterMark is 0 and we are not in the flowing mode - // we should _not_ attempt to buffer any extra data. We'll get more data - // when the stream consumer calls read() instead. - // - No data in the buffer, and the stream is in flowing mode. In this mode - // the loop below is responsible for ensuring read() is called. Failing to - // call read here would abort the flow and there's no other mechanism for - // continuing the flow if the stream consumer has just subscribed to the - // 'data' event. - // - // In addition to the above conditions to keep reading data, the following - // conditions prevent the data from being read: - // - The stream has ended (state.ended). - // - There is already a pending 'read' operation (state.reading). This is a - // case where the the stream has called the implementation defined _read() - // method, but they are processing the call asynchronously and have _not_ - // called push() with new data. In this case we skip performing more - // read()s. The execution ends in this method again after the _read() ends - // up calling push() with more data. - while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { - var len = state.length; - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) // didn't get any data, stop spinning. - break; - } - - state.readingMore = false; -} // abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. - - -Readable.prototype._read = function (n) { - errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - - case 1: - state.pipes = [state.pipes, dest]; - break; - - default: - state.pipes.push(dest); - break; - } - - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn); - dest.on('unpipe', onunpipe); - - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - - - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - var cleanedUp = false; - - function cleanup() { - debug('cleanup'); // cleanup event handlers once the pipe is broken - - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - cleanedUp = true; // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - src.on('data', ondata); - - function ondata(chunk) { - debug('ondata'); - var ret = dest.write(chunk); - debug('dest.write', ret); - - if (ret === false) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', state.awaitDrain); - state.awaitDrain++; - } - - src.pause(); - } - } // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - - - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); - } // Make sure our error handler is attached before userland ones. - - - prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once. - - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - - dest.once('close', onclose); - - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } // tell the dest that it's being piped to - - - dest.emit('pipe', src); // start the flow if it hasn't been started already. - - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function pipeOnDrainFunctionResult() { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { - hasUnpiped: false - }; // if we're not piping anywhere, then do nothing. - - if (state.pipesCount === 0) return this; // just one destination. most common case. - - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - if (!dest) dest = state.pipes; // got a match. - - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } // slow case. multiple pipe destinations. - - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, { - hasUnpiped: false - }); - } - - return this; - } // try to find the right one. - - - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - dest.emit('unpipe', this, unpipeInfo); - return this; -}; // set up data events if they are asked for -// Ensure readable listeners eventually get something - - -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - var state = this._readableState; - - if (ev === 'data') { - // update readableListening so that resume() may be a no-op - // a few lines down. This is needed to support once('readable'). - state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused - - if (state.flowing !== false) this.resume(); - } else if (ev === 'readable') { - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.flowing = false; - state.emittedReadable = false; - debug('on readable', state.length, state.reading); - - if (state.length) { - emitReadable(this); - } else if (!state.reading) { - process.nextTick(nReadingNextTick, this); - } - } - } - - return res; -}; - -Readable.prototype.addListener = Readable.prototype.on; - -Readable.prototype.removeListener = function (ev, fn) { - var res = Stream.prototype.removeListener.call(this, ev, fn); - - if (ev === 'readable') { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } - - return res; -}; - -Readable.prototype.removeAllListeners = function (ev) { - var res = Stream.prototype.removeAllListeners.apply(this, arguments); - - if (ev === 'readable' || ev === undefined) { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } - - return res; -}; - -function updateReadableListening(self) { - var state = self._readableState; - state.readableListening = self.listenerCount('readable') > 0; - - if (state.resumeScheduled && !state.paused) { - // flowing needs to be set to true now, otherwise - // the upcoming resume will not flow. - state.flowing = true; // crude way to check if we should resume - } else if (self.listenerCount('data') > 0) { - self.resume(); - } -} - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} // pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. - - -Readable.prototype.resume = function () { - var state = this._readableState; - - if (!state.flowing) { - debug('resume'); // we flow only if there is no one listening - // for readable, but we still have to call - // resume() - - state.flowing = !state.readableListening; - resume(this, state); - } - - state.paused = false; - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - debug('resume', state.reading); - - if (!state.reading) { - stream.read(0); - } - - state.resumeScheduled = false; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - - if (this._readableState.flowing !== false) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - - this._readableState.paused = true; - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - - while (state.flowing && stream.read() !== null) { - ; - } -} // wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. - - -Readable.prototype.wrap = function (stream) { - var _this = this; - - var state = this._readableState; - var paused = false; - stream.on('end', function () { - debug('wrapped end'); - - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) _this.push(chunk); - } - - _this.push(null); - }); - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode - - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = _this.push(chunk); - - if (!ret) { - paused = true; - stream.pause(); - } - }); // proxy all the other methods. - // important when wrapping filters and duplexes. - - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function methodWrap(method) { - return function methodWrapReturnFunction() { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } // proxy certain important events. - - - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } // when we try to consume some more bytes, simply unpause the - // underlying stream. - - - this._read = function (n) { - debug('wrapped _read', n); - - if (paused) { - paused = false; - stream.resume(); - } - }; - - return this; -}; - -if (typeof Symbol === 'function') { - Readable.prototype[Symbol.asyncIterator] = function () { - if (createReadableStreamAsyncIterator === undefined) { - createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); - } - - return createReadableStreamAsyncIterator(this); - }; -} - -Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.highWaterMark; - } -}); -Object.defineProperty(Readable.prototype, 'readableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState && this._readableState.buffer; - } -}); -Object.defineProperty(Readable.prototype, 'readableFlowing', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.flowing; - }, - set: function set(state) { - if (this._readableState) { - this._readableState.flowing = state; - } - } -}); // exposed for testing purposes only. - -Readable._fromList = fromList; -Object.defineProperty(Readable.prototype, 'readableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.length; - } -}); // Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. - -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = state.buffer.consume(n, state.decoder); - } - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - debug('endReadable', state.endEmitted); - - if (!state.endEmitted) { - state.ended = true; - process.nextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift. - - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the writable side is ready for autoDestroy as well - var wState = stream._writableState; - - if (!wState || wState.autoDestroy && wState.finished) { - stream.destroy(); - } - } - } -} - -if (typeof Symbol === 'function') { - Readable.from = function (iterable, opts) { - if (from === undefined) { - from = require('./internal/streams/from'); - } - - return from(Readable, iterable, opts); - }; -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - - return -1; -} -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":86,"./_stream_duplex":87,"./internal/streams/async_iterator":92,"./internal/streams/buffer_list":93,"./internal/streams/destroy":94,"./internal/streams/from":96,"./internal/streams/state":98,"./internal/streams/stream":99,"_process":136,"buffer":47,"events":83,"inherits":117,"string_decoder/":101,"util":18}],90:[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. -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. -'use strict'; - -module.exports = Transform; - -var _require$codes = require('../errors').codes, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, - ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; - -var Duplex = require('./_stream_duplex'); - -require('inherits')(Transform, Duplex); - -function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - var cb = ts.writecb; - - if (cb === null) { - return this.emit('error', new ERR_MULTIPLE_CALLBACK()); - } - - ts.writechunk = null; - ts.writecb = null; - if (data != null) // single equals check for both `null` and `undefined` - this.push(data); - cb(er); - var rs = this._readableState; - rs.reading = false; - - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - Duplex.call(this, options); - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; // start out asking for a readable event once data is transformed. - - this._readableState.needReadable = true; // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - if (typeof options.flush === 'function') this._flush = options.flush; - } // When the writable side finishes, then flush out anything remaining. - - - this.on('prefinish', prefinish); -} - -function prefinish() { - var _this = this; - - if (typeof this._flush === 'function' && !this._readableState.destroyed) { - this._flush(function (er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; // This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. - - -Transform.prototype._transform = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()')); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; // Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. - - -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && !ts.transforming) { - ts.transforming = true; - - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - if (data != null) // single equals check for both `null` and `undefined` - stream.push(data); // TODO(BridgeAR): Write a test for these two error cases - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - - if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); - if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); - return stream.push(null); -} -},{"../errors":86,"./_stream_duplex":87,"inherits":117}],91:[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. -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. -'use strict'; - -module.exports = Writable; -/* */ - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} // It seems a linked list but it is not -// there will be only 2 of these for each stream - - -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ - - -var Duplex; -/**/ - -Writable.WritableState = WritableState; -/**/ - -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ - -var Stream = require('./internal/streams/stream'); -/**/ - - -var Buffer = require('buffer').Buffer; - -var OurUint8Array = global.Uint8Array || function () {}; - -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} - -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} - -var destroyImpl = require('./internal/streams/destroy'); - -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; - -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, - ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, - ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, - ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; - -var errorOrDestroy = destroyImpl.errorOrDestroy; - -require('inherits')(Writable, Stream); - -function nop() {} - -function WritableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream, - // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. - - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream - // contains buffers or objects. - - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - - this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called - - this.finalCalled = false; // drain event flag. - - this.needDrain = false; // at the start of calling end() - - this.ending = false; // when end() has been called, and returned - - this.ended = false; // when 'finish' is emitted - - this.finished = false; // has it been destroyed - - this.destroyed = false; // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - - this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - - this.length = 0; // a flag to see when we're in the middle of a write. - - this.writing = false; // when true all writes will be buffered until .uncork() call - - this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - - this.sync = true; // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - - this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) - - this.onwrite = function (er) { - onwrite(stream, er); - }; // the callback that the user supplies to write(chunk,encoding,cb) - - - this.writecb = null; // the amount that is being written when _write is called. - - this.writelen = 0; - this.bufferedRequest = null; - this.lastBufferedRequest = null; // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - - this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - - this.prefinished = false; // True if the error was already emitted and should not be thrown again - - this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. - - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') - - this.autoDestroy = !!options.autoDestroy; // count buffered requests - - this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - - while (current) { - out.push(current); - current = current.next; - } - - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function writableStateBufferGetter() { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); // Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. - - -var realHasInstance; - -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function value(object) { - if (realHasInstance.call(this, object)) return true; - if (this !== Writable) return false; - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function realHasInstance(object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - // Checking for a Stream.Duplex instance is faster here instead of inside - // the WritableState constructor, at least with V8 6.5 - - var isDuplex = this instanceof Duplex; - if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); - this._writableState = new WritableState(options, this, isDuplex); // legacy. - - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - if (typeof options.writev === 'function') this._writev = options.writev; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - if (typeof options.final === 'function') this._final = options.final; - } - - Stream.call(this); -} // Otherwise people can pipe Writable streams, which is just wrong. - - -Writable.prototype.pipe = function () { - errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); -}; - -function writeAfterEnd(stream, cb) { - var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb - - errorOrDestroy(stream, er); - process.nextTick(cb, er); -} // Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. - - -function validChunk(stream, state, chunk, cb) { - var er; - - if (chunk === null) { - er = new ERR_STREAM_NULL_VALUES(); - } else if (typeof chunk !== 'string' && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); - } - - if (er) { - errorOrDestroy(stream, er); - process.nextTick(cb, er); - return false; - } - - return true; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - var isBuf = !state.objectMode && _isUint8Array(chunk); - - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - if (typeof cb !== 'function') cb = nop; - if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - return ret; -}; - -Writable.prototype.cork = function () { - this._writableState.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -Object.defineProperty(Writable.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } - - return chunk; -} - -Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); // if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. - -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } - - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. - - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - process.nextTick(cb, er); // this can emit finish, and it will always happen - // after error - - process.nextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); // this can emit finish, but finish must - // always follow error - - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK(); - onwriteStateUpdate(state); - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state) || stream.destroyed; - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - process.nextTick(afterWrite, stream, state, finished, cb); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} // Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. - - -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} // if there's something in the buffer waiting, then process it - - -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - var count = 0; - var allBuffers = true; - - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } - - buffer.allBuffers = allBuffers; - doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - - state.pendingcb++; - state.lastBufferedRequest = null; - - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - - state.bufferedRequestCount = 0; - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks - - if (state.corked) { - state.corked = 1; - this.uncork(); - } // ignore unnecessary end() calls. - - - if (!state.ending) endWritable(this, state, cb); - return this; -}; - -Object.defineProperty(Writable.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} - -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; - - if (err) { - errorOrDestroy(stream, err); - } - - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} - -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function' && !state.destroyed) { - state.pendingcb++; - state.finalCalled = true; - process.nextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - - if (need) { - prefinish(stream, state); - - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); - - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the readable side is ready for autoDestroy as well - var rState = stream._readableState; - - if (!rState || rState.autoDestroy && rState.endEmitted) { - stream.destroy(); - } - } - } - } - - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - - if (cb) { - if (state.finished) process.nextTick(cb);else stream.once('finish', cb); - } - - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } // reuse the free corkReq. - - - state.corkedRequestsFree.next = corkReq; -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._writableState === undefined) { - return false; - } - - return this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._writableState.destroyed = value; - } -}); -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; - -Writable.prototype._destroy = function (err, cb) { - cb(err); -}; -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":86,"./_stream_duplex":87,"./internal/streams/destroy":94,"./internal/streams/state":98,"./internal/streams/stream":99,"_process":136,"buffer":47,"inherits":117,"util-deprecate":188}],92:[function(require,module,exports){ -(function (process){ -'use strict'; - -var _Object$setPrototypeO; - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var finished = require('./end-of-stream'); - -var kLastResolve = Symbol('lastResolve'); -var kLastReject = Symbol('lastReject'); -var kError = Symbol('error'); -var kEnded = Symbol('ended'); -var kLastPromise = Symbol('lastPromise'); -var kHandlePromise = Symbol('handlePromise'); -var kStream = Symbol('stream'); - -function createIterResult(value, done) { - return { - value: value, - done: done - }; -} - -function readAndResolve(iter) { - var resolve = iter[kLastResolve]; - - if (resolve !== null) { - var data = iter[kStream].read(); // we defer if data is null - // we can be expecting either 'end' or - // 'error' - - if (data !== null) { - iter[kLastPromise] = null; - iter[kLastResolve] = null; - iter[kLastReject] = null; - resolve(createIterResult(data, false)); - } - } -} - -function onReadable(iter) { - // we wait for the next tick, because it might - // emit an error with process.nextTick - process.nextTick(readAndResolve, iter); -} - -function wrapForNext(lastPromise, iter) { - return function (resolve, reject) { - lastPromise.then(function () { - if (iter[kEnded]) { - resolve(createIterResult(undefined, true)); - return; - } - - iter[kHandlePromise](resolve, reject); - }, reject); - }; -} - -var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); -var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { - get stream() { - return this[kStream]; - }, - - next: function next() { - var _this = this; - - // if we have detected an error in the meanwhile - // reject straight away - var error = this[kError]; - - if (error !== null) { - return Promise.reject(error); - } - - if (this[kEnded]) { - return Promise.resolve(createIterResult(undefined, true)); - } - - if (this[kStream].destroyed) { - // We need to defer via nextTick because if .destroy(err) is - // called, the error will be emitted via nextTick, and - // we cannot guarantee that there is no error lingering around - // waiting to be emitted. - return new Promise(function (resolve, reject) { - process.nextTick(function () { - if (_this[kError]) { - reject(_this[kError]); - } else { - resolve(createIterResult(undefined, true)); - } - }); - }); - } // if we have multiple next() calls - // we will wait for the previous Promise to finish - // this logic is optimized to support for await loops, - // where next() is only called once at a time - - - var lastPromise = this[kLastPromise]; - var promise; - - if (lastPromise) { - promise = new Promise(wrapForNext(lastPromise, this)); - } else { - // fast path needed to support multiple this.push() - // without triggering the next() queue - var data = this[kStream].read(); - - if (data !== null) { - return Promise.resolve(createIterResult(data, false)); - } - - promise = new Promise(this[kHandlePromise]); - } - - this[kLastPromise] = promise; - return promise; - } -}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { - return this; -}), _defineProperty(_Object$setPrototypeO, "return", function _return() { - var _this2 = this; - - // destroy(err, cb) is a private API - // we can guarantee we have that here, because we control the - // Readable class this is attached to - return new Promise(function (resolve, reject) { - _this2[kStream].destroy(null, function (err) { - if (err) { - reject(err); - return; - } - - resolve(createIterResult(undefined, true)); - }); - }); -}), _Object$setPrototypeO), AsyncIteratorPrototype); - -var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { - var _Object$create; - - var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { - value: stream, - writable: true - }), _defineProperty(_Object$create, kLastResolve, { - value: null, - writable: true - }), _defineProperty(_Object$create, kLastReject, { - value: null, - writable: true - }), _defineProperty(_Object$create, kError, { - value: null, - writable: true - }), _defineProperty(_Object$create, kEnded, { - value: stream._readableState.endEmitted, - writable: true - }), _defineProperty(_Object$create, kHandlePromise, { - value: function value(resolve, reject) { - var data = iterator[kStream].read(); - - if (data) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(data, false)); - } else { - iterator[kLastResolve] = resolve; - iterator[kLastReject] = reject; - } - }, - writable: true - }), _Object$create)); - iterator[kLastPromise] = null; - finished(stream, function (err) { - if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') { - var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise - // returned by next() and store the error - - if (reject !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - reject(err); - } - - iterator[kError] = err; - return; - } - - var resolve = iterator[kLastResolve]; - - if (resolve !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(undefined, true)); - } - - iterator[kEnded] = true; - }); - stream.on('readable', onReadable.bind(null, iterator)); - return iterator; -}; - -module.exports = createReadableStreamAsyncIterator; -}).call(this,require('_process')) -},{"./end-of-stream":95,"_process":136}],93:[function(require,module,exports){ -'use strict'; - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _require = require('buffer'), - Buffer = _require.Buffer; - -var _require2 = require('util'), - inspect = _require2.inspect; - -var custom = inspect && inspect.custom || 'inspect'; - -function copyBuffer(src, target, offset) { - Buffer.prototype.copy.call(src, target, offset); -} - -module.exports = -/*#__PURE__*/ -function () { - function BufferList() { - _classCallCheck(this, BufferList); - - this.head = null; - this.tail = null; - this.length = 0; - } - - _createClass(BufferList, [{ - key: "push", - value: function push(v) { - var entry = { - data: v, - next: null - }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - } - }, { - key: "unshift", - value: function unshift(v) { - var entry = { - data: v, - next: this.head - }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - } - }, { - key: "shift", - value: function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - } - }, { - key: "clear", - value: function clear() { - this.head = this.tail = null; - this.length = 0; - } - }, { - key: "join", - value: function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - - while (p = p.next) { - ret += s + p.data; - } - - return ret; - } - }, { - key: "concat", - value: function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - - return ret; - } // Consumes a specified amount of bytes or characters from the buffered data. - - }, { - key: "consume", - value: function consume(n, hasStrings) { - var ret; - - if (n < this.head.data.length) { - // `slice` is the same for buffers and strings. - ret = this.head.data.slice(0, n); - this.head.data = this.head.data.slice(n); - } else if (n === this.head.data.length) { - // First chunk is a perfect match. - ret = this.shift(); - } else { - // Result spans more than one buffer. - ret = hasStrings ? this._getString(n) : this._getBuffer(n); - } - - return ret; - } - }, { - key: "first", - value: function first() { - return this.head.data; - } // Consumes a specified amount of characters from the buffered data. - - }, { - key: "_getString", - value: function _getString(n) { - var p = this.head; - var c = 1; - var ret = p.data; - n -= ret.length; - - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = str.slice(nb); - } - - break; - } - - ++c; - } - - this.length -= c; - return ret; - } // Consumes a specified amount of bytes from the buffered data. - - }, { - key: "_getBuffer", - value: function _getBuffer(n) { - var ret = Buffer.allocUnsafe(n); - var p = this.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = buf.slice(nb); - } - - break; - } - - ++c; - } - - this.length -= c; - return ret; - } // Make sure the linked list only shows the minimal necessary information. - - }, { - key: custom, - value: function value(_, options) { - return inspect(this, _objectSpread({}, options, { - // Only inspect one level. - depth: 0, - // It should not recurse. - customInspect: false - })); - } - }]); - - return BufferList; -}(); -},{"buffer":47,"util":18}],94:[function(require,module,exports){ -(function (process){ -'use strict'; // undocumented cb() API, needed for core, not for public API - -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err) { - if (!this._writableState) { - process.nextTick(emitErrorNT, this, err); - } else if (!this._writableState.errorEmitted) { - this._writableState.errorEmitted = true; - process.nextTick(emitErrorNT, this, err); - } - } - - return this; - } // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - - if (this._readableState) { - this._readableState.destroyed = true; - } // if this is a duplex stream mark the writable part as destroyed as well - - - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - if (!_this._writableState) { - process.nextTick(emitErrorAndCloseNT, _this, err); - } else if (!_this._writableState.errorEmitted) { - _this._writableState.errorEmitted = true; - process.nextTick(emitErrorAndCloseNT, _this, err); - } else { - process.nextTick(emitCloseNT, _this); - } - } else if (cb) { - process.nextTick(emitCloseNT, _this); - cb(err); - } else { - process.nextTick(emitCloseNT, _this); - } - }); - - return this; -} - -function emitErrorAndCloseNT(self, err) { - emitErrorNT(self, err); - emitCloseNT(self); -} - -function emitCloseNT(self) { - if (self._writableState && !self._writableState.emitClose) return; - if (self._readableState && !self._readableState.emitClose) return; - self.emit('close'); -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finalCalled = false; - this._writableState.prefinished = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -function errorOrDestroy(stream, err) { - // We have tests that rely on errors being emitted - // in the same tick, so changing this is semver major. - // For now when you opt-in to autoDestroy we allow - // the error to be emitted nextTick. In a future - // semver major update we should change the default to this. - var rState = stream._readableState; - var wState = stream._writableState; - if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy, - errorOrDestroy: errorOrDestroy -}; -}).call(this,require('_process')) -},{"_process":136}],95:[function(require,module,exports){ -// Ported from https://github.com/mafintosh/end-of-stream with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - callback.apply(this, args); - }; -} - -function noop() {} - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} - -function eos(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - callback = once(callback || noop); - var readable = opts.readable || opts.readable !== false && stream.readable; - var writable = opts.writable || opts.writable !== false && stream.writable; - - var onlegacyfinish = function onlegacyfinish() { - if (!stream.writable) onfinish(); - }; - - var writableEnded = stream._writableState && stream._writableState.finished; - - var onfinish = function onfinish() { - writable = false; - writableEnded = true; - if (!readable) callback.call(stream); - }; - - var readableEnded = stream._readableState && stream._readableState.endEmitted; - - var onend = function onend() { - readable = false; - readableEnded = true; - if (!writable) callback.call(stream); - }; - - var onerror = function onerror(err) { - callback.call(stream, err); - }; - - var onclose = function onclose() { - var err; - - if (readable && !readableEnded) { - if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } - - if (writable && !writableEnded) { - if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } - }; - - var onrequest = function onrequest() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest();else stream.on('request', onrequest); - } else if (writable && !stream._writableState) { - // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - return function () { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -} - -module.exports = eos; -},{"../../../errors":86}],96:[function(require,module,exports){ -module.exports = function () { - throw new Error('Readable.from is not available in the browser') -}; - -},{}],97:[function(require,module,exports){ -// Ported from https://github.com/mafintosh/pump with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var eos; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - callback.apply(void 0, arguments); - }; -} - -var _require$codes = require('../../../errors').codes, - ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; - -function noop(err) { - // Rethrow the error if it exists to avoid swallowing it - if (err) throw err; -} - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} - -function destroyer(stream, reading, writing, callback) { - callback = once(callback); - var closed = false; - stream.on('close', function () { - closed = true; - }); - if (eos === undefined) eos = require('./end-of-stream'); - eos(stream, { - readable: reading, - writable: writing - }, function (err) { - if (err) return callback(err); - closed = true; - callback(); - }); - var destroyed = false; - return function (err) { - if (closed) return; - if (destroyed) return; - destroyed = true; // request.destroy just do .end - .abort is what we want - - if (isRequest(stream)) return stream.abort(); - if (typeof stream.destroy === 'function') return stream.destroy(); - callback(err || new ERR_STREAM_DESTROYED('pipe')); - }; -} - -function call(fn) { - fn(); -} - -function pipe(from, to) { - return from.pipe(to); -} - -function popCallback(streams) { - if (!streams.length) return noop; - if (typeof streams[streams.length - 1] !== 'function') return noop; - return streams.pop(); -} - -function pipeline() { - for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { - streams[_key] = arguments[_key]; - } - - var callback = popCallback(streams); - if (Array.isArray(streams[0])) streams = streams[0]; - - if (streams.length < 2) { - throw new ERR_MISSING_ARGS('streams'); - } - - var error; - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1; - var writing = i > 0; - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err; - if (err) destroys.forEach(call); - if (reading) return; - destroys.forEach(call); - callback(error); - }); - }); - return streams.reduce(pipe); -} - -module.exports = pipeline; -},{"../../../errors":86,"./end-of-stream":95}],98:[function(require,module,exports){ -'use strict'; - -var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; - -function highWaterMarkFrom(options, isDuplex, duplexKey) { - return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; -} - -function getHighWaterMark(state, options, duplexKey, isDuplex) { - var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); - - if (hwm != null) { - if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { - var name = isDuplex ? duplexKey : 'highWaterMark'; - throw new ERR_INVALID_OPT_VALUE(name, hwm); - } - - return Math.floor(hwm); - } // Default value - - - return state.objectMode ? 16 : 16 * 1024; -} - -module.exports = { - getHighWaterMark: getHighWaterMark -}; -},{"../../../errors":86}],99:[function(require,module,exports){ -module.exports = require('events').EventEmitter; - -},{"events":83}],100:[function(require,module,exports){ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -exports.finished = require('./lib/internal/streams/end-of-stream.js'); -exports.pipeline = require('./lib/internal/streams/pipeline.js'); - -},{"./lib/_stream_duplex.js":87,"./lib/_stream_passthrough.js":88,"./lib/_stream_readable.js":89,"./lib/_stream_transform.js":90,"./lib/_stream_writable.js":91,"./lib/internal/streams/end-of-stream.js":95,"./lib/internal/streams/pipeline.js":97}],101:[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. - -'use strict'; - -/**/ - -var Buffer = require('safe-buffer').Buffer; -/**/ - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; - -StringDecoder.prototype.end = utf8End; - -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; - -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. If an invalid byte is detected, -2 is returned. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return byte >> 6 === 0x02 ? -1 : -2; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'; - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character is added when ending on a partial -// character. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'; - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} - -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} -},{"safe-buffer":163}],102:[function(require,module,exports){ -var hash = exports; - -hash.utils = require('./hash/utils'); -hash.common = require('./hash/common'); -hash.sha = require('./hash/sha'); -hash.ripemd = require('./hash/ripemd'); -hash.hmac = require('./hash/hmac'); - -// Proxy hash functions to the main object -hash.sha1 = hash.sha.sha1; -hash.sha256 = hash.sha.sha256; -hash.sha224 = hash.sha.sha224; -hash.sha384 = hash.sha.sha384; -hash.sha512 = hash.sha.sha512; -hash.ripemd160 = hash.ripemd.ripemd160; - -},{"./hash/common":103,"./hash/hmac":104,"./hash/ripemd":105,"./hash/sha":106,"./hash/utils":113}],103:[function(require,module,exports){ -'use strict'; - -var utils = require('./utils'); -var assert = require('minimalistic-assert'); - -function BlockHash() { - this.pending = null; - this.pendingTotal = 0; - this.blockSize = this.constructor.blockSize; - this.outSize = this.constructor.outSize; - this.hmacStrength = this.constructor.hmacStrength; - this.padLength = this.constructor.padLength / 8; - this.endian = 'big'; - - this._delta8 = this.blockSize / 8; - this._delta32 = this.blockSize / 32; -} -exports.BlockHash = BlockHash; - -BlockHash.prototype.update = function update(msg, enc) { - // Convert message to array, pad it, and join into 32bit blocks - msg = utils.toArray(msg, enc); - if (!this.pending) - this.pending = msg; - else - this.pending = this.pending.concat(msg); - this.pendingTotal += msg.length; - - // Enough data, try updating - if (this.pending.length >= this._delta8) { - msg = this.pending; - - // Process pending data in blocks - var r = msg.length % this._delta8; - this.pending = msg.slice(msg.length - r, msg.length); - if (this.pending.length === 0) - this.pending = null; - - msg = utils.join32(msg, 0, msg.length - r, this.endian); - for (var i = 0; i < msg.length; i += this._delta32) - this._update(msg, i, i + this._delta32); - } - - return this; -}; - -BlockHash.prototype.digest = function digest(enc) { - this.update(this._pad()); - assert(this.pending === null); - - return this._digest(enc); -}; - -BlockHash.prototype._pad = function pad() { - var len = this.pendingTotal; - var bytes = this._delta8; - var k = bytes - ((len + this.padLength) % bytes); - var res = new Array(k + this.padLength); - res[0] = 0x80; - for (var i = 1; i < k; i++) - res[i] = 0; - - // Append length - len <<= 3; - if (this.endian === 'big') { - for (var t = 8; t < this.padLength; t++) - res[i++] = 0; - - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = (len >>> 24) & 0xff; - res[i++] = (len >>> 16) & 0xff; - res[i++] = (len >>> 8) & 0xff; - res[i++] = len & 0xff; - } else { - res[i++] = len & 0xff; - res[i++] = (len >>> 8) & 0xff; - res[i++] = (len >>> 16) & 0xff; - res[i++] = (len >>> 24) & 0xff; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - - for (t = 8; t < this.padLength; t++) - res[i++] = 0; - } - - return res; -}; - -},{"./utils":113,"minimalistic-assert":123}],104:[function(require,module,exports){ -'use strict'; - -var utils = require('./utils'); -var assert = require('minimalistic-assert'); - -function Hmac(hash, key, enc) { - if (!(this instanceof Hmac)) - return new Hmac(hash, key, enc); - this.Hash = hash; - this.blockSize = hash.blockSize / 8; - this.outSize = hash.outSize / 8; - this.inner = null; - this.outer = null; - - this._init(utils.toArray(key, enc)); -} -module.exports = Hmac; - -Hmac.prototype._init = function init(key) { - // Shorten key, if needed - if (key.length > this.blockSize) - key = new this.Hash().update(key).digest(); - assert(key.length <= this.blockSize); - - // Add padding to key - for (var i = key.length; i < this.blockSize; i++) - key.push(0); - - for (i = 0; i < key.length; i++) - key[i] ^= 0x36; - this.inner = new this.Hash().update(key); - - // 0x36 ^ 0x5c = 0x6a - for (i = 0; i < key.length; i++) - key[i] ^= 0x6a; - this.outer = new this.Hash().update(key); -}; - -Hmac.prototype.update = function update(msg, enc) { - this.inner.update(msg, enc); - return this; -}; - -Hmac.prototype.digest = function digest(enc) { - this.outer.update(this.inner.digest()); - return this.outer.digest(enc); -}; - -},{"./utils":113,"minimalistic-assert":123}],105:[function(require,module,exports){ -'use strict'; - -var utils = require('./utils'); -var common = require('./common'); - -var rotl32 = utils.rotl32; -var sum32 = utils.sum32; -var sum32_3 = utils.sum32_3; -var sum32_4 = utils.sum32_4; -var BlockHash = common.BlockHash; - -function RIPEMD160() { - if (!(this instanceof RIPEMD160)) - return new RIPEMD160(); - - BlockHash.call(this); - - this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ]; - this.endian = 'little'; -} -utils.inherits(RIPEMD160, BlockHash); -exports.ripemd160 = RIPEMD160; - -RIPEMD160.blockSize = 512; -RIPEMD160.outSize = 160; -RIPEMD160.hmacStrength = 192; -RIPEMD160.padLength = 64; - -RIPEMD160.prototype._update = function update(msg, start) { - var A = this.h[0]; - var B = this.h[1]; - var C = this.h[2]; - var D = this.h[3]; - var E = this.h[4]; - var Ah = A; - var Bh = B; - var Ch = C; - var Dh = D; - var Eh = E; - for (var j = 0; j < 80; j++) { - var T = sum32( - rotl32( - sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), - s[j]), - E); - A = E; - E = D; - D = rotl32(C, 10); - C = B; - B = T; - T = sum32( - rotl32( - sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), - sh[j]), - Eh); - Ah = Eh; - Eh = Dh; - Dh = rotl32(Ch, 10); - Ch = Bh; - Bh = T; - } - T = sum32_3(this.h[1], C, Dh); - this.h[1] = sum32_3(this.h[2], D, Eh); - this.h[2] = sum32_3(this.h[3], E, Ah); - this.h[3] = sum32_3(this.h[4], A, Bh); - this.h[4] = sum32_3(this.h[0], B, Ch); - this.h[0] = T; -}; - -RIPEMD160.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'little'); - else - return utils.split32(this.h, 'little'); -}; - -function f(j, x, y, z) { - if (j <= 15) - return x ^ y ^ z; - else if (j <= 31) - return (x & y) | ((~x) & z); - else if (j <= 47) - return (x | (~y)) ^ z; - else if (j <= 63) - return (x & z) | (y & (~z)); - else - return x ^ (y | (~z)); -} - -function K(j) { - if (j <= 15) - return 0x00000000; - else if (j <= 31) - return 0x5a827999; - else if (j <= 47) - return 0x6ed9eba1; - else if (j <= 63) - return 0x8f1bbcdc; - else - return 0xa953fd4e; -} - -function Kh(j) { - if (j <= 15) - return 0x50a28be6; - else if (j <= 31) - return 0x5c4dd124; - else if (j <= 47) - return 0x6d703ef3; - else if (j <= 63) - return 0x7a6d76e9; - else - return 0x00000000; -} - -var r = [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, - 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, - 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, - 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 -]; - -var rh = [ - 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, - 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, - 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, - 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, - 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 -]; - -var s = [ - 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, - 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, - 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, - 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, - 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 -]; - -var sh = [ - 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, - 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, - 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, - 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, - 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 -]; - -},{"./common":103,"./utils":113}],106:[function(require,module,exports){ -'use strict'; - -exports.sha1 = require('./sha/1'); -exports.sha224 = require('./sha/224'); -exports.sha256 = require('./sha/256'); -exports.sha384 = require('./sha/384'); -exports.sha512 = require('./sha/512'); - -},{"./sha/1":107,"./sha/224":108,"./sha/256":109,"./sha/384":110,"./sha/512":111}],107:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var common = require('../common'); -var shaCommon = require('./common'); - -var rotl32 = utils.rotl32; -var sum32 = utils.sum32; -var sum32_5 = utils.sum32_5; -var ft_1 = shaCommon.ft_1; -var BlockHash = common.BlockHash; - -var sha1_K = [ - 0x5A827999, 0x6ED9EBA1, - 0x8F1BBCDC, 0xCA62C1D6 -]; - -function SHA1() { - if (!(this instanceof SHA1)) - return new SHA1(); - - BlockHash.call(this); - this.h = [ - 0x67452301, 0xefcdab89, 0x98badcfe, - 0x10325476, 0xc3d2e1f0 ]; - this.W = new Array(80); -} - -utils.inherits(SHA1, BlockHash); -module.exports = SHA1; - -SHA1.blockSize = 512; -SHA1.outSize = 160; -SHA1.hmacStrength = 80; -SHA1.padLength = 64; - -SHA1.prototype._update = function _update(msg, start) { - var W = this.W; - - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - - for(; i < W.length; i++) - W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1); - - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - - for (i = 0; i < W.length; i++) { - var s = ~~(i / 20); - var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]); - e = d; - d = c; - c = rotl32(b, 30); - b = a; - a = t; - } - - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); -}; - -SHA1.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - -},{"../common":103,"../utils":113,"./common":112}],108:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var SHA256 = require('./256'); - -function SHA224() { - if (!(this instanceof SHA224)) - return new SHA224(); - - SHA256.call(this); - this.h = [ - 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, - 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ]; -} -utils.inherits(SHA224, SHA256); -module.exports = SHA224; - -SHA224.blockSize = 512; -SHA224.outSize = 224; -SHA224.hmacStrength = 192; -SHA224.padLength = 64; - -SHA224.prototype._digest = function digest(enc) { - // Just truncate output - if (enc === 'hex') - return utils.toHex32(this.h.slice(0, 7), 'big'); - else - return utils.split32(this.h.slice(0, 7), 'big'); -}; - - -},{"../utils":113,"./256":109}],109:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var common = require('../common'); -var shaCommon = require('./common'); -var assert = require('minimalistic-assert'); - -var sum32 = utils.sum32; -var sum32_4 = utils.sum32_4; -var sum32_5 = utils.sum32_5; -var ch32 = shaCommon.ch32; -var maj32 = shaCommon.maj32; -var s0_256 = shaCommon.s0_256; -var s1_256 = shaCommon.s1_256; -var g0_256 = shaCommon.g0_256; -var g1_256 = shaCommon.g1_256; - -var BlockHash = common.BlockHash; - -var sha256_K = [ - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, - 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, - 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, - 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, - 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, - 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -]; - -function SHA256() { - if (!(this instanceof SHA256)) - return new SHA256(); - - BlockHash.call(this); - this.h = [ - 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 - ]; - this.k = sha256_K; - this.W = new Array(64); -} -utils.inherits(SHA256, BlockHash); -module.exports = SHA256; - -SHA256.blockSize = 512; -SHA256.outSize = 256; -SHA256.hmacStrength = 192; -SHA256.padLength = 64; - -SHA256.prototype._update = function _update(msg, start) { - var W = this.W; - - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - for (; i < W.length; i++) - W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]); - - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - var f = this.h[5]; - var g = this.h[6]; - var h = this.h[7]; - - assert(this.k.length === W.length); - for (i = 0; i < W.length; i++) { - var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]); - var T2 = sum32(s0_256(a), maj32(a, b, c)); - h = g; - g = f; - f = e; - e = sum32(d, T1); - d = c; - c = b; - b = a; - a = sum32(T1, T2); - } - - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); - this.h[5] = sum32(this.h[5], f); - this.h[6] = sum32(this.h[6], g); - this.h[7] = sum32(this.h[7], h); -}; - -SHA256.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - -},{"../common":103,"../utils":113,"./common":112,"minimalistic-assert":123}],110:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); - -var SHA512 = require('./512'); - -function SHA384() { - if (!(this instanceof SHA384)) - return new SHA384(); - - SHA512.call(this); - this.h = [ - 0xcbbb9d5d, 0xc1059ed8, - 0x629a292a, 0x367cd507, - 0x9159015a, 0x3070dd17, - 0x152fecd8, 0xf70e5939, - 0x67332667, 0xffc00b31, - 0x8eb44a87, 0x68581511, - 0xdb0c2e0d, 0x64f98fa7, - 0x47b5481d, 0xbefa4fa4 ]; -} -utils.inherits(SHA384, SHA512); -module.exports = SHA384; - -SHA384.blockSize = 1024; -SHA384.outSize = 384; -SHA384.hmacStrength = 192; -SHA384.padLength = 128; - -SHA384.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h.slice(0, 12), 'big'); - else - return utils.split32(this.h.slice(0, 12), 'big'); -}; - -},{"../utils":113,"./512":111}],111:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var common = require('../common'); -var assert = require('minimalistic-assert'); - -var rotr64_hi = utils.rotr64_hi; -var rotr64_lo = utils.rotr64_lo; -var shr64_hi = utils.shr64_hi; -var shr64_lo = utils.shr64_lo; -var sum64 = utils.sum64; -var sum64_hi = utils.sum64_hi; -var sum64_lo = utils.sum64_lo; -var sum64_4_hi = utils.sum64_4_hi; -var sum64_4_lo = utils.sum64_4_lo; -var sum64_5_hi = utils.sum64_5_hi; -var sum64_5_lo = utils.sum64_5_lo; - -var BlockHash = common.BlockHash; - -var sha512_K = [ - 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, - 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, - 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, - 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, - 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, - 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, - 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, - 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, - 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, - 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, - 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, - 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, - 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, - 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, - 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, - 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, - 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, - 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, - 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, - 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, - 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, - 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, - 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, - 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, - 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, - 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, - 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, - 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, - 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, - 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, - 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, - 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, - 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, - 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, - 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, - 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, - 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, - 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, - 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, - 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 -]; - -function SHA512() { - if (!(this instanceof SHA512)) - return new SHA512(); - - BlockHash.call(this); - this.h = [ - 0x6a09e667, 0xf3bcc908, - 0xbb67ae85, 0x84caa73b, - 0x3c6ef372, 0xfe94f82b, - 0xa54ff53a, 0x5f1d36f1, - 0x510e527f, 0xade682d1, - 0x9b05688c, 0x2b3e6c1f, - 0x1f83d9ab, 0xfb41bd6b, - 0x5be0cd19, 0x137e2179 ]; - this.k = sha512_K; - this.W = new Array(160); -} -utils.inherits(SHA512, BlockHash); -module.exports = SHA512; - -SHA512.blockSize = 1024; -SHA512.outSize = 512; -SHA512.hmacStrength = 192; -SHA512.padLength = 128; - -SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) { - var W = this.W; - - // 32 x 32bit words - for (var i = 0; i < 32; i++) - W[i] = msg[start + i]; - for (; i < W.length; i += 2) { - var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2 - var c0_lo = g1_512_lo(W[i - 4], W[i - 3]); - var c1_hi = W[i - 14]; // i - 7 - var c1_lo = W[i - 13]; - var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15 - var c2_lo = g0_512_lo(W[i - 30], W[i - 29]); - var c3_hi = W[i - 32]; // i - 16 - var c3_lo = W[i - 31]; - - W[i] = sum64_4_hi( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo); - W[i + 1] = sum64_4_lo( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo); - } -}; - -SHA512.prototype._update = function _update(msg, start) { - this._prepareBlock(msg, start); - - var W = this.W; - - var ah = this.h[0]; - var al = this.h[1]; - var bh = this.h[2]; - var bl = this.h[3]; - var ch = this.h[4]; - var cl = this.h[5]; - var dh = this.h[6]; - var dl = this.h[7]; - var eh = this.h[8]; - var el = this.h[9]; - var fh = this.h[10]; - var fl = this.h[11]; - var gh = this.h[12]; - var gl = this.h[13]; - var hh = this.h[14]; - var hl = this.h[15]; - - assert(this.k.length === W.length); - for (var i = 0; i < W.length; i += 2) { - var c0_hi = hh; - var c0_lo = hl; - var c1_hi = s1_512_hi(eh, el); - var c1_lo = s1_512_lo(eh, el); - var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl); - var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl); - var c3_hi = this.k[i]; - var c3_lo = this.k[i + 1]; - var c4_hi = W[i]; - var c4_lo = W[i + 1]; - - var T1_hi = sum64_5_hi( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo, - c4_hi, c4_lo); - var T1_lo = sum64_5_lo( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo, - c4_hi, c4_lo); - - c0_hi = s0_512_hi(ah, al); - c0_lo = s0_512_lo(ah, al); - c1_hi = maj64_hi(ah, al, bh, bl, ch, cl); - c1_lo = maj64_lo(ah, al, bh, bl, ch, cl); - - var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo); - var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo); - - hh = gh; - hl = gl; - - gh = fh; - gl = fl; - - fh = eh; - fl = el; - - eh = sum64_hi(dh, dl, T1_hi, T1_lo); - el = sum64_lo(dl, dl, T1_hi, T1_lo); - - dh = ch; - dl = cl; - - ch = bh; - cl = bl; - - bh = ah; - bl = al; - - ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo); - al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo); - } - - sum64(this.h, 0, ah, al); - sum64(this.h, 2, bh, bl); - sum64(this.h, 4, ch, cl); - sum64(this.h, 6, dh, dl); - sum64(this.h, 8, eh, el); - sum64(this.h, 10, fh, fl); - sum64(this.h, 12, gh, gl); - sum64(this.h, 14, hh, hl); -}; - -SHA512.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - -function ch64_hi(xh, xl, yh, yl, zh) { - var r = (xh & yh) ^ ((~xh) & zh); - if (r < 0) - r += 0x100000000; - return r; -} - -function ch64_lo(xh, xl, yh, yl, zh, zl) { - var r = (xl & yl) ^ ((~xl) & zl); - if (r < 0) - r += 0x100000000; - return r; -} - -function maj64_hi(xh, xl, yh, yl, zh) { - var r = (xh & yh) ^ (xh & zh) ^ (yh & zh); - if (r < 0) - r += 0x100000000; - return r; -} - -function maj64_lo(xh, xl, yh, yl, zh, zl) { - var r = (xl & yl) ^ (xl & zl) ^ (yl & zl); - if (r < 0) - r += 0x100000000; - return r; -} - -function s0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 28); - var c1_hi = rotr64_hi(xl, xh, 2); // 34 - var c2_hi = rotr64_hi(xl, xh, 7); // 39 - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function s0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 28); - var c1_lo = rotr64_lo(xl, xh, 2); // 34 - var c2_lo = rotr64_lo(xl, xh, 7); // 39 - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function s1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 14); - var c1_hi = rotr64_hi(xh, xl, 18); - var c2_hi = rotr64_hi(xl, xh, 9); // 41 - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function s1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 14); - var c1_lo = rotr64_lo(xh, xl, 18); - var c2_lo = rotr64_lo(xl, xh, 9); // 41 - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function g0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 1); - var c1_hi = rotr64_hi(xh, xl, 8); - var c2_hi = shr64_hi(xh, xl, 7); - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function g0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 1); - var c1_lo = rotr64_lo(xh, xl, 8); - var c2_lo = shr64_lo(xh, xl, 7); - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function g1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 19); - var c1_hi = rotr64_hi(xl, xh, 29); // 61 - var c2_hi = shr64_hi(xh, xl, 6); - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function g1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 19); - var c1_lo = rotr64_lo(xl, xh, 29); // 61 - var c2_lo = shr64_lo(xh, xl, 6); - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -},{"../common":103,"../utils":113,"minimalistic-assert":123}],112:[function(require,module,exports){ -'use strict'; - -var utils = require('../utils'); -var rotr32 = utils.rotr32; - -function ft_1(s, x, y, z) { - if (s === 0) - return ch32(x, y, z); - if (s === 1 || s === 3) - return p32(x, y, z); - if (s === 2) - return maj32(x, y, z); -} -exports.ft_1 = ft_1; - -function ch32(x, y, z) { - return (x & y) ^ ((~x) & z); -} -exports.ch32 = ch32; - -function maj32(x, y, z) { - return (x & y) ^ (x & z) ^ (y & z); -} -exports.maj32 = maj32; - -function p32(x, y, z) { - return x ^ y ^ z; -} -exports.p32 = p32; - -function s0_256(x) { - return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22); -} -exports.s0_256 = s0_256; - -function s1_256(x) { - return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25); -} -exports.s1_256 = s1_256; - -function g0_256(x) { - return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3); -} -exports.g0_256 = g0_256; - -function g1_256(x) { - return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10); -} -exports.g1_256 = g1_256; - -},{"../utils":113}],113:[function(require,module,exports){ -'use strict'; - -var assert = require('minimalistic-assert'); -var inherits = require('inherits'); - -exports.inherits = inherits; - -function isSurrogatePair(msg, i) { - if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) { - return false; - } - if (i < 0 || i + 1 >= msg.length) { - return false; - } - return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00; -} - -function toArray(msg, enc) { - if (Array.isArray(msg)) - return msg.slice(); - if (!msg) - return []; - var res = []; - if (typeof msg === 'string') { - if (!enc) { - // Inspired by stringToUtf8ByteArray() in closure-library by Google - // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143 - // Apache License 2.0 - // https://github.com/google/closure-library/blob/master/LICENSE - var p = 0; - for (var i = 0; i < msg.length; i++) { - var c = msg.charCodeAt(i); - if (c < 128) { - res[p++] = c; - } else if (c < 2048) { - res[p++] = (c >> 6) | 192; - res[p++] = (c & 63) | 128; - } else if (isSurrogatePair(msg, i)) { - c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF); - res[p++] = (c >> 18) | 240; - res[p++] = ((c >> 12) & 63) | 128; - res[p++] = ((c >> 6) & 63) | 128; - res[p++] = (c & 63) | 128; - } else { - res[p++] = (c >> 12) | 224; - res[p++] = ((c >> 6) & 63) | 128; - res[p++] = (c & 63) | 128; - } - } - } else if (enc === 'hex') { - msg = msg.replace(/[^a-z0-9]+/ig, ''); - if (msg.length % 2 !== 0) - msg = '0' + msg; - for (i = 0; i < msg.length; i += 2) - res.push(parseInt(msg[i] + msg[i + 1], 16)); - } - } else { - for (i = 0; i < msg.length; i++) - res[i] = msg[i] | 0; - } - return res; -} -exports.toArray = toArray; - -function toHex(msg) { - var res = ''; - for (var i = 0; i < msg.length; i++) - res += zero2(msg[i].toString(16)); - return res; -} -exports.toHex = toHex; - -function htonl(w) { - var res = (w >>> 24) | - ((w >>> 8) & 0xff00) | - ((w << 8) & 0xff0000) | - ((w & 0xff) << 24); - return res >>> 0; -} -exports.htonl = htonl; - -function toHex32(msg, endian) { - var res = ''; - for (var i = 0; i < msg.length; i++) { - var w = msg[i]; - if (endian === 'little') - w = htonl(w); - res += zero8(w.toString(16)); - } - return res; -} -exports.toHex32 = toHex32; - -function zero2(word) { - if (word.length === 1) - return '0' + word; - else - return word; -} -exports.zero2 = zero2; - -function zero8(word) { - if (word.length === 7) - return '0' + word; - else if (word.length === 6) - return '00' + word; - else if (word.length === 5) - return '000' + word; - else if (word.length === 4) - return '0000' + word; - else if (word.length === 3) - return '00000' + word; - else if (word.length === 2) - return '000000' + word; - else if (word.length === 1) - return '0000000' + word; - else - return word; -} -exports.zero8 = zero8; - -function join32(msg, start, end, endian) { - var len = end - start; - assert(len % 4 === 0); - var res = new Array(len / 4); - for (var i = 0, k = start; i < res.length; i++, k += 4) { - var w; - if (endian === 'big') - w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3]; - else - w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k]; - res[i] = w >>> 0; - } - return res; -} -exports.join32 = join32; - -function split32(msg, endian) { - var res = new Array(msg.length * 4); - for (var i = 0, k = 0; i < msg.length; i++, k += 4) { - var m = msg[i]; - if (endian === 'big') { - res[k] = m >>> 24; - res[k + 1] = (m >>> 16) & 0xff; - res[k + 2] = (m >>> 8) & 0xff; - res[k + 3] = m & 0xff; - } else { - res[k + 3] = m >>> 24; - res[k + 2] = (m >>> 16) & 0xff; - res[k + 1] = (m >>> 8) & 0xff; - res[k] = m & 0xff; - } - } - return res; -} -exports.split32 = split32; - -function rotr32(w, b) { - return (w >>> b) | (w << (32 - b)); -} -exports.rotr32 = rotr32; - -function rotl32(w, b) { - return (w << b) | (w >>> (32 - b)); -} -exports.rotl32 = rotl32; - -function sum32(a, b) { - return (a + b) >>> 0; -} -exports.sum32 = sum32; - -function sum32_3(a, b, c) { - return (a + b + c) >>> 0; -} -exports.sum32_3 = sum32_3; - -function sum32_4(a, b, c, d) { - return (a + b + c + d) >>> 0; -} -exports.sum32_4 = sum32_4; - -function sum32_5(a, b, c, d, e) { - return (a + b + c + d + e) >>> 0; -} -exports.sum32_5 = sum32_5; - -function sum64(buf, pos, ah, al) { - var bh = buf[pos]; - var bl = buf[pos + 1]; - - var lo = (al + bl) >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - buf[pos] = hi >>> 0; - buf[pos + 1] = lo; -} -exports.sum64 = sum64; - -function sum64_hi(ah, al, bh, bl) { - var lo = (al + bl) >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - return hi >>> 0; -} -exports.sum64_hi = sum64_hi; - -function sum64_lo(ah, al, bh, bl) { - var lo = al + bl; - return lo >>> 0; -} -exports.sum64_lo = sum64_lo; - -function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) { - var carry = 0; - var lo = al; - lo = (lo + bl) >>> 0; - carry += lo < al ? 1 : 0; - lo = (lo + cl) >>> 0; - carry += lo < cl ? 1 : 0; - lo = (lo + dl) >>> 0; - carry += lo < dl ? 1 : 0; - - var hi = ah + bh + ch + dh + carry; - return hi >>> 0; -} -exports.sum64_4_hi = sum64_4_hi; - -function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) { - var lo = al + bl + cl + dl; - return lo >>> 0; -} -exports.sum64_4_lo = sum64_4_lo; - -function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var carry = 0; - var lo = al; - lo = (lo + bl) >>> 0; - carry += lo < al ? 1 : 0; - lo = (lo + cl) >>> 0; - carry += lo < cl ? 1 : 0; - lo = (lo + dl) >>> 0; - carry += lo < dl ? 1 : 0; - lo = (lo + el) >>> 0; - carry += lo < el ? 1 : 0; - - var hi = ah + bh + ch + dh + eh + carry; - return hi >>> 0; -} -exports.sum64_5_hi = sum64_5_hi; - -function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var lo = al + bl + cl + dl + el; - - return lo >>> 0; -} -exports.sum64_5_lo = sum64_5_lo; - -function rotr64_hi(ah, al, num) { - var r = (al << (32 - num)) | (ah >>> num); - return r >>> 0; -} -exports.rotr64_hi = rotr64_hi; - -function rotr64_lo(ah, al, num) { - var r = (ah << (32 - num)) | (al >>> num); - return r >>> 0; -} -exports.rotr64_lo = rotr64_lo; - -function shr64_hi(ah, al, num) { - return ah >>> num; -} -exports.shr64_hi = shr64_hi; - -function shr64_lo(ah, al, num) { - var r = (ah << (32 - num)) | (al >>> num); - return r >>> 0; -} -exports.shr64_lo = shr64_lo; - -},{"inherits":117,"minimalistic-assert":123}],114:[function(require,module,exports){ -'use strict'; - -var hash = require('hash.js'); -var utils = require('minimalistic-crypto-utils'); -var assert = require('minimalistic-assert'); - -function HmacDRBG(options) { - if (!(this instanceof HmacDRBG)) - return new HmacDRBG(options); - this.hash = options.hash; - this.predResist = !!options.predResist; - - this.outLen = this.hash.outSize; - this.minEntropy = options.minEntropy || this.hash.hmacStrength; - - this._reseed = null; - this.reseedInterval = null; - this.K = null; - this.V = null; - - var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex'); - var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex'); - var pers = utils.toArray(options.pers, options.persEnc || 'hex'); - assert(entropy.length >= (this.minEntropy / 8), - 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); - this._init(entropy, nonce, pers); -} -module.exports = HmacDRBG; - -HmacDRBG.prototype._init = function init(entropy, nonce, pers) { - var seed = entropy.concat(nonce).concat(pers); - - this.K = new Array(this.outLen / 8); - this.V = new Array(this.outLen / 8); - for (var i = 0; i < this.V.length; i++) { - this.K[i] = 0x00; - this.V[i] = 0x01; - } - - this._update(seed); - this._reseed = 1; - this.reseedInterval = 0x1000000000000; // 2^48 -}; - -HmacDRBG.prototype._hmac = function hmac() { - return new hash.hmac(this.hash, this.K); -}; - -HmacDRBG.prototype._update = function update(seed) { - var kmac = this._hmac() - .update(this.V) - .update([ 0x00 ]); - if (seed) - kmac = kmac.update(seed); - this.K = kmac.digest(); - this.V = this._hmac().update(this.V).digest(); - if (!seed) - return; - - this.K = this._hmac() - .update(this.V) - .update([ 0x01 ]) - .update(seed) - .digest(); - this.V = this._hmac().update(this.V).digest(); -}; - -HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) { - // Optional entropy enc - if (typeof entropyEnc !== 'string') { - addEnc = add; - add = entropyEnc; - entropyEnc = null; - } - - entropy = utils.toArray(entropy, entropyEnc); - add = utils.toArray(add, addEnc); - - assert(entropy.length >= (this.minEntropy / 8), - 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); - - this._update(entropy.concat(add || [])); - this._reseed = 1; -}; - -HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { - if (this._reseed > this.reseedInterval) - throw new Error('Reseed is required'); - - // Optional encoding - if (typeof enc !== 'string') { - addEnc = add; - add = enc; - enc = null; - } - - // Optional additional data - if (add) { - add = utils.toArray(add, addEnc || 'hex'); - this._update(add); - } - - var temp = []; - while (temp.length < len) { - this.V = this._hmac().update(this.V).digest(); - temp = temp.concat(this.V); - } - - var res = temp.slice(0, len); - this._update(add); - this._reseed++; - return utils.encode(res, enc); -}; - -},{"hash.js":102,"minimalistic-assert":123,"minimalistic-crypto-utils":124}],115:[function(require,module,exports){ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = ((value * c) - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - -},{}],116:[function(require,module,exports){ - -var indexOf = [].indexOf; - -module.exports = function(arr, obj){ - if (indexOf) return arr.indexOf(obj); - for (var i = 0; i < arr.length; ++i) { - if (arr[i] === obj) return i; - } - return -1; -}; -},{}],117:[function(require,module,exports){ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (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) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} - -},{}],118:[function(require,module,exports){ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} - -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} - -},{}],119:[function(require,module,exports){ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - -},{}],120:[function(require,module,exports){ -(function (process,global){ -/** - * [js-sha256]{@link https://github.com/emn178/js-sha256} - * - * @version 0.5.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2014-2017 - * @license MIT - */ -/*jslint bitwise: true */ -(function () { - 'use strict'; - - var root = typeof window === 'object' ? window : {}; - var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process == 'object' && process.versions && process.versions.node; - if (NODE_JS) { - root = global; - } - var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports; - var AMD = typeof define === 'function' && define.amd; - var ARRAY_BUFFER = typeof ArrayBuffer !== 'undefined'; - var HEX_CHARS = '0123456789abcdef'.split(''); - var EXTRA = [-2147483648, 8388608, 32768, 128]; - var SHIFT = [24, 16, 8, 0]; - var K = [ - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - ]; - var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer']; - - var blocks = []; - - var createOutputMethod = function (outputType, is224) { - return function (message) { - return new Sha256(is224, true).update(message)[outputType](); - }; - }; - - var createMethod = function (is224) { - var method = createOutputMethod('hex', is224); - if (NODE_JS) { - method = nodeWrap(method, is224); - } - method.create = function () { - return new Sha256(is224); - }; - method.update = function (message) { - return method.create().update(message); - }; - for (var i = 0; i < OUTPUT_TYPES.length; ++i) { - var type = OUTPUT_TYPES[i]; - method[type] = createOutputMethod(type, is224); - } - return method; - }; - - var nodeWrap = function (method, is224) { - var crypto = require('crypto'); - var Buffer = require('buffer').Buffer; - var algorithm = is224 ? 'sha224' : 'sha256'; - var nodeMethod = function (message) { - if (typeof message === 'string') { - return crypto.createHash(algorithm).update(message, 'utf8').digest('hex'); - } else if (ARRAY_BUFFER && message instanceof ArrayBuffer) { - message = new Uint8Array(message); - } else if (message.length === undefined) { - return method(message); - } - return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex'); - }; - return nodeMethod; - }; - - function Sha256(is224, sharedMemory) { - if (sharedMemory) { - blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = - blocks[4] = blocks[5] = blocks[6] = blocks[7] = - blocks[8] = blocks[9] = blocks[10] = blocks[11] = - blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; - this.blocks = blocks; - } else { - this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - } - - if (is224) { - this.h0 = 0xc1059ed8; - this.h1 = 0x367cd507; - this.h2 = 0x3070dd17; - this.h3 = 0xf70e5939; - this.h4 = 0xffc00b31; - this.h5 = 0x68581511; - this.h6 = 0x64f98fa7; - this.h7 = 0xbefa4fa4; - } else { // 256 - this.h0 = 0x6a09e667; - this.h1 = 0xbb67ae85; - this.h2 = 0x3c6ef372; - this.h3 = 0xa54ff53a; - this.h4 = 0x510e527f; - this.h5 = 0x9b05688c; - this.h6 = 0x1f83d9ab; - this.h7 = 0x5be0cd19; - } - - this.block = this.start = this.bytes = 0; - this.finalized = this.hashed = false; - this.first = true; - this.is224 = is224; - } - - Sha256.prototype.update = function (message) { - if (this.finalized) { - return; - } - var notString = typeof(message) !== 'string'; - if (notString && ARRAY_BUFFER && message instanceof root.ArrayBuffer) { - message = new Uint8Array(message); - } - var code, index = 0, i, length = message.length || 0, blocks = this.blocks; - - while (index < length) { - if (this.hashed) { - this.hashed = false; - blocks[0] = this.block; - blocks[16] = blocks[1] = blocks[2] = blocks[3] = - blocks[4] = blocks[5] = blocks[6] = blocks[7] = - blocks[8] = blocks[9] = blocks[10] = blocks[11] = - blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; - } - - if(notString) { - for (i = this.start; index < length && i < 64; ++index) { - blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; - } - } else { - for (i = this.start; index < length && i < 64; ++index) { - code = message.charCodeAt(index); - if (code < 0x80) { - blocks[i >> 2] |= code << SHIFT[i++ & 3]; - } else if (code < 0x800) { - blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } else if (code < 0xd800 || code >= 0xe000) { - blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } else { - code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff)); - blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } - } - } - - this.lastByteIndex = i; - this.bytes += i - this.start; - if (i >= 64) { - this.block = blocks[16]; - this.start = i - 64; - this.hash(); - this.hashed = true; - } else { - this.start = i; - } - } - return this; - }; - - Sha256.prototype.finalize = function () { - if (this.finalized) { - return; - } - this.finalized = true; - var blocks = this.blocks, i = this.lastByteIndex; - blocks[16] = this.block; - blocks[i >> 2] |= EXTRA[i & 3]; - this.block = blocks[16]; - if (i >= 56) { - if (!this.hashed) { - this.hash(); - } - blocks[0] = this.block; - blocks[16] = blocks[1] = blocks[2] = blocks[3] = - blocks[4] = blocks[5] = blocks[6] = blocks[7] = - blocks[8] = blocks[9] = blocks[10] = blocks[11] = - blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; - } - blocks[15] = this.bytes << 3; - this.hash(); - }; - - Sha256.prototype.hash = function () { - var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6, - h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc; - - for (j = 16; j < 64; ++j) { - // rightrotate - t1 = blocks[j - 15]; - s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3); - t1 = blocks[j - 2]; - s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10); - blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0; - } - - bc = b & c; - for (j = 0; j < 64; j += 4) { - if (this.first) { - if (this.is224) { - ab = 300032; - t1 = blocks[0] - 1413257819; - h = t1 - 150054599 << 0; - d = t1 + 24177077 << 0; - } else { - ab = 704751109; - t1 = blocks[0] - 210244248; - h = t1 - 1521486534 << 0; - d = t1 + 143694565 << 0; - } - this.first = false; - } else { - s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10)); - s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7)); - ab = a & b; - maj = ab ^ (a & c) ^ bc; - ch = (e & f) ^ (~e & g); - t1 = h + s1 + ch + K[j] + blocks[j]; - t2 = s0 + maj; - h = d + t1 << 0; - d = t1 + t2 << 0; - } - s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10)); - s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7)); - da = d & a; - maj = da ^ (d & b) ^ ab; - ch = (h & e) ^ (~h & f); - t1 = g + s1 + ch + K[j + 1] + blocks[j + 1]; - t2 = s0 + maj; - g = c + t1 << 0; - c = t1 + t2 << 0; - s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10)); - s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7)); - cd = c & d; - maj = cd ^ (c & a) ^ da; - ch = (g & h) ^ (~g & e); - t1 = f + s1 + ch + K[j + 2] + blocks[j + 2]; - t2 = s0 + maj; - f = b + t1 << 0; - b = t1 + t2 << 0; - s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10)); - s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7)); - bc = b & c; - maj = bc ^ (b & d) ^ cd; - ch = (f & g) ^ (~f & h); - t1 = e + s1 + ch + K[j + 3] + blocks[j + 3]; - t2 = s0 + maj; - e = a + t1 << 0; - a = t1 + t2 << 0; - } - - this.h0 = this.h0 + a << 0; - this.h1 = this.h1 + b << 0; - this.h2 = this.h2 + c << 0; - this.h3 = this.h3 + d << 0; - this.h4 = this.h4 + e << 0; - this.h5 = this.h5 + f << 0; - this.h6 = this.h6 + g << 0; - this.h7 = this.h7 + h << 0; - }; - - Sha256.prototype.hex = function () { - this.finalize(); - - var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, - h6 = this.h6, h7 = this.h7; - - var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] + - HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] + - HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] + - HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] + - HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] + - HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] + - HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] + - HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] + - HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] + - HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] + - HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] + - HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] + - HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] + - HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] + - HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] + - HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] + - HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] + - HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] + - HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] + - HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] + - HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] + - HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] + - HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] + - HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] + - HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] + - HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] + - HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] + - HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F]; - if (!this.is224) { - hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] + - HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] + - HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] + - HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F]; - } - return hex; - }; - - Sha256.prototype.toString = Sha256.prototype.hex; - - Sha256.prototype.digest = function () { - this.finalize(); - - var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, - h6 = this.h6, h7 = this.h7; - - var arr = [ - (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF, - (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF, - (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF, - (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF, - (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF, - (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF, - (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF - ]; - if (!this.is224) { - arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF); - } - return arr; - }; - - Sha256.prototype.array = Sha256.prototype.digest; - - Sha256.prototype.arrayBuffer = function () { - this.finalize(); - - var buffer = new ArrayBuffer(this.is224 ? 28 : 32); - var dataView = new DataView(buffer); - dataView.setUint32(0, this.h0); - dataView.setUint32(4, this.h1); - dataView.setUint32(8, this.h2); - dataView.setUint32(12, this.h3); - dataView.setUint32(16, this.h4); - dataView.setUint32(20, this.h5); - dataView.setUint32(24, this.h6); - if (!this.is224) { - dataView.setUint32(28, this.h7); - } - return buffer; - }; - - var exports = createMethod(); - exports.sha256 = exports; - exports.sha224 = createMethod(true); - - if (COMMON_JS) { - module.exports = exports; - } else { - root.sha256 = exports.sha256; - root.sha224 = exports.sha224; - if (AMD) { - define(function () { - return exports; - }); - } - } -})(); - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":136,"buffer":47,"crypto":55}],121:[function(require,module,exports){ -'use strict' -var inherits = require('inherits') -var HashBase = require('hash-base') -var Buffer = require('safe-buffer').Buffer - -var ARRAY16 = new Array(16) - -function MD5 () { - HashBase.call(this, 64) - - // state - this._a = 0x67452301 - this._b = 0xefcdab89 - this._c = 0x98badcfe - this._d = 0x10325476 -} - -inherits(MD5, HashBase) - -MD5.prototype._update = function () { - var M = ARRAY16 - for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4) - - var a = this._a - var b = this._b - var c = this._c - var d = this._d - - a = fnF(a, b, c, d, M[0], 0xd76aa478, 7) - d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12) - c = fnF(c, d, a, b, M[2], 0x242070db, 17) - b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22) - a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7) - d = fnF(d, a, b, c, M[5], 0x4787c62a, 12) - c = fnF(c, d, a, b, M[6], 0xa8304613, 17) - b = fnF(b, c, d, a, M[7], 0xfd469501, 22) - a = fnF(a, b, c, d, M[8], 0x698098d8, 7) - d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12) - c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17) - b = fnF(b, c, d, a, M[11], 0x895cd7be, 22) - a = fnF(a, b, c, d, M[12], 0x6b901122, 7) - d = fnF(d, a, b, c, M[13], 0xfd987193, 12) - c = fnF(c, d, a, b, M[14], 0xa679438e, 17) - b = fnF(b, c, d, a, M[15], 0x49b40821, 22) - - a = fnG(a, b, c, d, M[1], 0xf61e2562, 5) - d = fnG(d, a, b, c, M[6], 0xc040b340, 9) - c = fnG(c, d, a, b, M[11], 0x265e5a51, 14) - b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20) - a = fnG(a, b, c, d, M[5], 0xd62f105d, 5) - d = fnG(d, a, b, c, M[10], 0x02441453, 9) - c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14) - b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20) - a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5) - d = fnG(d, a, b, c, M[14], 0xc33707d6, 9) - c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14) - b = fnG(b, c, d, a, M[8], 0x455a14ed, 20) - a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5) - d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9) - c = fnG(c, d, a, b, M[7], 0x676f02d9, 14) - b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20) - - a = fnH(a, b, c, d, M[5], 0xfffa3942, 4) - d = fnH(d, a, b, c, M[8], 0x8771f681, 11) - c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16) - b = fnH(b, c, d, a, M[14], 0xfde5380c, 23) - a = fnH(a, b, c, d, M[1], 0xa4beea44, 4) - d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11) - c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16) - b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23) - a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4) - d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11) - c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16) - b = fnH(b, c, d, a, M[6], 0x04881d05, 23) - a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4) - d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11) - c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16) - b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23) - - a = fnI(a, b, c, d, M[0], 0xf4292244, 6) - d = fnI(d, a, b, c, M[7], 0x432aff97, 10) - c = fnI(c, d, a, b, M[14], 0xab9423a7, 15) - b = fnI(b, c, d, a, M[5], 0xfc93a039, 21) - a = fnI(a, b, c, d, M[12], 0x655b59c3, 6) - d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10) - c = fnI(c, d, a, b, M[10], 0xffeff47d, 15) - b = fnI(b, c, d, a, M[1], 0x85845dd1, 21) - a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6) - d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10) - c = fnI(c, d, a, b, M[6], 0xa3014314, 15) - b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21) - a = fnI(a, b, c, d, M[4], 0xf7537e82, 6) - d = fnI(d, a, b, c, M[11], 0xbd3af235, 10) - c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15) - b = fnI(b, c, d, a, M[9], 0xeb86d391, 21) - - this._a = (this._a + a) | 0 - this._b = (this._b + b) | 0 - this._c = (this._c + c) | 0 - this._d = (this._d + d) | 0 -} - -MD5.prototype._digest = function () { - // create padding and handle blocks - this._block[this._blockOffset++] = 0x80 - if (this._blockOffset > 56) { - this._block.fill(0, this._blockOffset, 64) - this._update() - this._blockOffset = 0 - } - - this._block.fill(0, this._blockOffset, 56) - this._block.writeUInt32LE(this._length[0], 56) - this._block.writeUInt32LE(this._length[1], 60) - this._update() - - // produce result - var buffer = Buffer.allocUnsafe(16) - buffer.writeInt32LE(this._a, 0) - buffer.writeInt32LE(this._b, 4) - buffer.writeInt32LE(this._c, 8) - buffer.writeInt32LE(this._d, 12) - return buffer -} - -function rotl (x, n) { - return (x << n) | (x >>> (32 - n)) -} - -function fnF (a, b, c, d, m, k, s) { - return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0 -} - -function fnG (a, b, c, d, m, k, s) { - return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0 -} - -function fnH (a, b, c, d, m, k, s) { - return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0 -} - -function fnI (a, b, c, d, m, k, s) { - return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0 -} - -module.exports = MD5 - -},{"hash-base":85,"inherits":117,"safe-buffer":163}],122:[function(require,module,exports){ -var bn = require('bn.js'); -var brorand = require('brorand'); - -function MillerRabin(rand) { - this.rand = rand || new brorand.Rand(); -} -module.exports = MillerRabin; - -MillerRabin.create = function create(rand) { - return new MillerRabin(rand); -}; - -MillerRabin.prototype._randbelow = function _randbelow(n) { - var len = n.bitLength(); - var min_bytes = Math.ceil(len / 8); - - // Generage random bytes until a number less than n is found. - // This ensures that 0..n-1 have an equal probability of being selected. - do - var a = new bn(this.rand.generate(min_bytes)); - while (a.cmp(n) >= 0); - - return a; -}; - -MillerRabin.prototype._randrange = function _randrange(start, stop) { - // Generate a random number greater than or equal to start and less than stop. - var size = stop.sub(start); - return start.add(this._randbelow(size)); -}; - -MillerRabin.prototype.test = function test(n, k, cb) { - var len = n.bitLength(); - var red = bn.mont(n); - var rone = new bn(1).toRed(red); - - if (!k) - k = Math.max(1, (len / 48) | 0); - - // Find d and s, (n - 1) = (2 ^ s) * d; - var n1 = n.subn(1); - for (var s = 0; !n1.testn(s); s++) {} - var d = n.shrn(s); - - var rn1 = n1.toRed(red); - - var prime = true; - for (; k > 0; k--) { - var a = this._randrange(new bn(2), n1); - if (cb) - cb(a); - - var x = a.toRed(red).redPow(d); - if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) - continue; - - for (var i = 1; i < s; i++) { - x = x.redSqr(); - - if (x.cmp(rone) === 0) - return false; - if (x.cmp(rn1) === 0) - break; - } - - if (i === s) - return false; - } - - return prime; -}; - -MillerRabin.prototype.getDivisor = function getDivisor(n, k) { - var len = n.bitLength(); - var red = bn.mont(n); - var rone = new bn(1).toRed(red); - - if (!k) - k = Math.max(1, (len / 48) | 0); - - // Find d and s, (n - 1) = (2 ^ s) * d; - var n1 = n.subn(1); - for (var s = 0; !n1.testn(s); s++) {} - var d = n.shrn(s); - - var rn1 = n1.toRed(red); - - for (; k > 0; k--) { - var a = this._randrange(new bn(2), n1); - - var g = n.gcd(a); - if (g.cmpn(1) !== 0) - return g; - - var x = a.toRed(red).redPow(d); - if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) - continue; - - for (var i = 1; i < s; i++) { - x = x.redSqr(); - - if (x.cmp(rone) === 0) - return x.fromRed().subn(1).gcd(n); - if (x.cmp(rn1) === 0) - break; - } - - if (i === s) { - x = x.redSqr(); - return x.fromRed().subn(1).gcd(n); - } - } - - return false; -}; - -},{"bn.js":16,"brorand":17}],123:[function(require,module,exports){ -module.exports = assert; - -function assert(val, msg) { - if (!val) - throw new Error(msg || 'Assertion failed'); -} - -assert.equal = function assertEqual(l, r, msg) { - if (l != r) - throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); -}; - -},{}],124:[function(require,module,exports){ -'use strict'; - -var utils = exports; - -function toArray(msg, enc) { - if (Array.isArray(msg)) - return msg.slice(); - if (!msg) - return []; - var res = []; - if (typeof msg !== 'string') { - for (var i = 0; i < msg.length; i++) - res[i] = msg[i] | 0; - return res; - } - if (enc === 'hex') { - msg = msg.replace(/[^a-z0-9]+/ig, ''); - if (msg.length % 2 !== 0) - msg = '0' + msg; - for (var i = 0; i < msg.length; i += 2) - res.push(parseInt(msg[i] + msg[i + 1], 16)); - } else { - for (var i = 0; i < msg.length; i++) { - var c = msg.charCodeAt(i); - var hi = c >> 8; - var lo = c & 0xff; - if (hi) - res.push(hi, lo); - else - res.push(lo); - } - } - return res; -} -utils.toArray = toArray; - -function zero2(word) { - if (word.length === 1) - return '0' + word; - else - return word; -} -utils.zero2 = zero2; - -function toHex(msg) { - var res = ''; - for (var i = 0; i < msg.length; i++) - res += zero2(msg[i].toString(16)); - return res; -} -utils.toHex = toHex; - -utils.encode = function encode(arr, enc) { - if (enc === 'hex') - return toHex(arr); - else - return arr; -}; - -},{}],125:[function(require,module,exports){ -module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", -"2.16.840.1.101.3.4.1.2": "aes-128-cbc", -"2.16.840.1.101.3.4.1.3": "aes-128-ofb", -"2.16.840.1.101.3.4.1.4": "aes-128-cfb", -"2.16.840.1.101.3.4.1.21": "aes-192-ecb", -"2.16.840.1.101.3.4.1.22": "aes-192-cbc", -"2.16.840.1.101.3.4.1.23": "aes-192-ofb", -"2.16.840.1.101.3.4.1.24": "aes-192-cfb", -"2.16.840.1.101.3.4.1.41": "aes-256-ecb", -"2.16.840.1.101.3.4.1.42": "aes-256-cbc", -"2.16.840.1.101.3.4.1.43": "aes-256-ofb", -"2.16.840.1.101.3.4.1.44": "aes-256-cfb" -} -},{}],126:[function(require,module,exports){ -// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js -// Fedor, you are amazing. -'use strict' - -var asn1 = require('asn1.js') - -exports.certificate = require('./certificate') - -var RSAPrivateKey = asn1.define('RSAPrivateKey', function () { - this.seq().obj( - this.key('version').int(), - this.key('modulus').int(), - this.key('publicExponent').int(), - this.key('privateExponent').int(), - this.key('prime1').int(), - this.key('prime2').int(), - this.key('exponent1').int(), - this.key('exponent2').int(), - this.key('coefficient').int() - ) -}) -exports.RSAPrivateKey = RSAPrivateKey - -var RSAPublicKey = asn1.define('RSAPublicKey', function () { - this.seq().obj( - this.key('modulus').int(), - this.key('publicExponent').int() - ) -}) -exports.RSAPublicKey = RSAPublicKey - -var PublicKey = asn1.define('SubjectPublicKeyInfo', function () { - this.seq().obj( - this.key('algorithm').use(AlgorithmIdentifier), - this.key('subjectPublicKey').bitstr() - ) -}) -exports.PublicKey = PublicKey - -var AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () { - this.seq().obj( - this.key('algorithm').objid(), - this.key('none').null_().optional(), - this.key('curve').objid().optional(), - this.key('params').seq().obj( - this.key('p').int(), - this.key('q').int(), - this.key('g').int() - ).optional() - ) -}) - -var PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () { - this.seq().obj( - this.key('version').int(), - this.key('algorithm').use(AlgorithmIdentifier), - this.key('subjectPrivateKey').octstr() - ) -}) -exports.PrivateKey = PrivateKeyInfo -var EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () { - this.seq().obj( - this.key('algorithm').seq().obj( - this.key('id').objid(), - this.key('decrypt').seq().obj( - this.key('kde').seq().obj( - this.key('id').objid(), - this.key('kdeparams').seq().obj( - this.key('salt').octstr(), - this.key('iters').int() - ) - ), - this.key('cipher').seq().obj( - this.key('algo').objid(), - this.key('iv').octstr() - ) - ) - ), - this.key('subjectPrivateKey').octstr() - ) -}) - -exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo - -var DSAPrivateKey = asn1.define('DSAPrivateKey', function () { - this.seq().obj( - this.key('version').int(), - this.key('p').int(), - this.key('q').int(), - this.key('g').int(), - this.key('pub_key').int(), - this.key('priv_key').int() - ) -}) -exports.DSAPrivateKey = DSAPrivateKey - -exports.DSAparam = asn1.define('DSAparam', function () { - this.int() -}) - -var ECPrivateKey = asn1.define('ECPrivateKey', function () { - this.seq().obj( - this.key('version').int(), - this.key('privateKey').octstr(), - this.key('parameters').optional().explicit(0).use(ECParameters), - this.key('publicKey').optional().explicit(1).bitstr() - ) -}) -exports.ECPrivateKey = ECPrivateKey - -var ECParameters = asn1.define('ECParameters', function () { - this.choice({ - namedCurve: this.objid() - }) -}) - -exports.signature = asn1.define('signature', function () { - this.seq().obj( - this.key('r').int(), - this.key('s').int() - ) -}) - -},{"./certificate":127,"asn1.js":1}],127:[function(require,module,exports){ -// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js -// thanks to @Rantanen - -'use strict' - -var asn = require('asn1.js') - -var Time = asn.define('Time', function () { - this.choice({ - utcTime: this.utctime(), - generalTime: this.gentime() - }) -}) - -var AttributeTypeValue = asn.define('AttributeTypeValue', function () { - this.seq().obj( - this.key('type').objid(), - this.key('value').any() - ) -}) - -var AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () { - this.seq().obj( - this.key('algorithm').objid(), - this.key('parameters').optional(), - this.key('curve').objid().optional() - ) -}) - -var SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () { - this.seq().obj( - this.key('algorithm').use(AlgorithmIdentifier), - this.key('subjectPublicKey').bitstr() - ) -}) - -var RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () { - this.setof(AttributeTypeValue) -}) - -var RDNSequence = asn.define('RDNSequence', function () { - this.seqof(RelativeDistinguishedName) -}) - -var Name = asn.define('Name', function () { - this.choice({ - rdnSequence: this.use(RDNSequence) - }) -}) - -var Validity = asn.define('Validity', function () { - this.seq().obj( - this.key('notBefore').use(Time), - this.key('notAfter').use(Time) - ) -}) - -var Extension = asn.define('Extension', function () { - this.seq().obj( - this.key('extnID').objid(), - this.key('critical').bool().def(false), - this.key('extnValue').octstr() - ) -}) - -var TBSCertificate = asn.define('TBSCertificate', function () { - this.seq().obj( - this.key('version').explicit(0).int().optional(), - this.key('serialNumber').int(), - this.key('signature').use(AlgorithmIdentifier), - this.key('issuer').use(Name), - this.key('validity').use(Validity), - this.key('subject').use(Name), - this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo), - this.key('issuerUniqueID').implicit(1).bitstr().optional(), - this.key('subjectUniqueID').implicit(2).bitstr().optional(), - this.key('extensions').explicit(3).seqof(Extension).optional() - ) -}) - -var X509Certificate = asn.define('X509Certificate', function () { - this.seq().obj( - this.key('tbsCertificate').use(TBSCertificate), - this.key('signatureAlgorithm').use(AlgorithmIdentifier), - this.key('signatureValue').bitstr() - ) -}) - -module.exports = X509Certificate - -},{"asn1.js":1}],128:[function(require,module,exports){ -// adapted from https://github.com/apatil/pemstrip -var findProc = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m -var startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m -var fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m -var evp = require('evp_bytestokey') -var ciphers = require('browserify-aes') -var Buffer = require('safe-buffer').Buffer -module.exports = function (okey, password) { - var key = okey.toString() - var match = key.match(findProc) - var decrypted - if (!match) { - var match2 = key.match(fullRegex) - decrypted = new Buffer(match2[2].replace(/[\r\n]/g, ''), 'base64') - } else { - var suite = 'aes' + match[1] - var iv = Buffer.from(match[2], 'hex') - var cipherText = Buffer.from(match[3].replace(/[\r\n]/g, ''), 'base64') - var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key - var out = [] - var cipher = ciphers.createDecipheriv(suite, cipherKey, iv) - out.push(cipher.update(cipherText)) - out.push(cipher.final()) - decrypted = Buffer.concat(out) - } - var tag = key.match(startRegex)[1] - return { - tag: tag, - data: decrypted - } -} - -},{"browserify-aes":21,"evp_bytestokey":84,"safe-buffer":163}],129:[function(require,module,exports){ -var asn1 = require('./asn1') -var aesid = require('./aesid.json') -var fixProc = require('./fixProc') -var ciphers = require('browserify-aes') -var compat = require('pbkdf2') -var Buffer = require('safe-buffer').Buffer -module.exports = parseKeys - -function parseKeys (buffer) { - var password - if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) { - password = buffer.passphrase - buffer = buffer.key - } - if (typeof buffer === 'string') { - buffer = Buffer.from(buffer) - } - - var stripped = fixProc(buffer, password) - - var type = stripped.tag - var data = stripped.data - var subtype, ndata - switch (type) { - case 'CERTIFICATE': - ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo - // falls through - case 'PUBLIC KEY': - if (!ndata) { - ndata = asn1.PublicKey.decode(data, 'der') - } - subtype = ndata.algorithm.algorithm.join('.') - switch (subtype) { - case '1.2.840.113549.1.1.1': - return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der') - case '1.2.840.10045.2.1': - ndata.subjectPrivateKey = ndata.subjectPublicKey - return { - type: 'ec', - data: ndata - } - case '1.2.840.10040.4.1': - ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der') - return { - type: 'dsa', - data: ndata.algorithm.params - } - default: throw new Error('unknown key id ' + subtype) - } - throw new Error('unknown key type ' + type) - case 'ENCRYPTED PRIVATE KEY': - data = asn1.EncryptedPrivateKey.decode(data, 'der') - data = decrypt(data, password) - // falls through - case 'PRIVATE KEY': - ndata = asn1.PrivateKey.decode(data, 'der') - subtype = ndata.algorithm.algorithm.join('.') - switch (subtype) { - case '1.2.840.113549.1.1.1': - return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der') - case '1.2.840.10045.2.1': - return { - curve: ndata.algorithm.curve, - privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey - } - case '1.2.840.10040.4.1': - ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der') - return { - type: 'dsa', - params: ndata.algorithm.params - } - default: throw new Error('unknown key id ' + subtype) - } - throw new Error('unknown key type ' + type) - case 'RSA PUBLIC KEY': - return asn1.RSAPublicKey.decode(data, 'der') - case 'RSA PRIVATE KEY': - return asn1.RSAPrivateKey.decode(data, 'der') - case 'DSA PRIVATE KEY': - return { - type: 'dsa', - params: asn1.DSAPrivateKey.decode(data, 'der') - } - case 'EC PRIVATE KEY': - data = asn1.ECPrivateKey.decode(data, 'der') - return { - curve: data.parameters.value, - privateKey: data.privateKey - } - default: throw new Error('unknown key type ' + type) - } -} -parseKeys.signature = asn1.signature -function decrypt (data, password) { - var salt = data.algorithm.decrypt.kde.kdeparams.salt - var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10) - var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')] - var iv = data.algorithm.decrypt.cipher.iv - var cipherText = data.subjectPrivateKey - var keylen = parseInt(algo.split('-')[1], 10) / 8 - var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1') - var cipher = ciphers.createDecipheriv(algo, key, iv) - var out = [] - out.push(cipher.update(cipherText)) - out.push(cipher.final()) - return Buffer.concat(out) -} - -},{"./aesid.json":125,"./asn1":126,"./fixProc":128,"browserify-aes":21,"pbkdf2":130,"safe-buffer":163}],130:[function(require,module,exports){ -exports.pbkdf2 = require('./lib/async') -exports.pbkdf2Sync = require('./lib/sync') - -},{"./lib/async":131,"./lib/sync":134}],131:[function(require,module,exports){ -(function (process,global){ -var checkParameters = require('./precondition') -var defaultEncoding = require('./default-encoding') -var sync = require('./sync') -var Buffer = require('safe-buffer').Buffer - -var ZERO_BUF -var subtle = global.crypto && global.crypto.subtle -var toBrowser = { - 'sha': 'SHA-1', - 'sha-1': 'SHA-1', - 'sha1': 'SHA-1', - 'sha256': 'SHA-256', - 'sha-256': 'SHA-256', - 'sha384': 'SHA-384', - 'sha-384': 'SHA-384', - 'sha-512': 'SHA-512', - 'sha512': 'SHA-512' -} -var checks = [] -function checkNative (algo) { - if (global.process && !global.process.browser) { - return Promise.resolve(false) - } - if (!subtle || !subtle.importKey || !subtle.deriveBits) { - return Promise.resolve(false) - } - if (checks[algo] !== undefined) { - return checks[algo] - } - ZERO_BUF = ZERO_BUF || Buffer.alloc(8) - var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo) - .then(function () { - return true - }).catch(function () { - return false - }) - checks[algo] = prom - return prom -} - -function browserPbkdf2 (password, salt, iterations, length, algo) { - return subtle.importKey( - 'raw', password, {name: 'PBKDF2'}, false, ['deriveBits'] - ).then(function (key) { - return subtle.deriveBits({ - name: 'PBKDF2', - salt: salt, - iterations: iterations, - hash: { - name: algo - } - }, key, length << 3) - }).then(function (res) { - return Buffer.from(res) - }) -} - -function resolvePromise (promise, callback) { - promise.then(function (out) { - process.nextTick(function () { - callback(null, out) - }) - }, function (e) { - process.nextTick(function () { - callback(e) - }) - }) -} -module.exports = function (password, salt, iterations, keylen, digest, callback) { - if (typeof digest === 'function') { - callback = digest - digest = undefined - } - - digest = digest || 'sha1' - var algo = toBrowser[digest.toLowerCase()] - - if (!algo || typeof global.Promise !== 'function') { - return process.nextTick(function () { - var out - try { - out = sync(password, salt, iterations, keylen, digest) - } catch (e) { - return callback(e) - } - callback(null, out) - }) - } - - checkParameters(password, salt, iterations, keylen) - if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2') - if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) - if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) - - resolvePromise(checkNative(algo).then(function (resp) { - if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo) - - return sync(password, salt, iterations, keylen, digest) - }), callback) -} - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./default-encoding":132,"./precondition":133,"./sync":134,"_process":136,"safe-buffer":163}],132:[function(require,module,exports){ -(function (process){ -var defaultEncoding -/* istanbul ignore next */ -if (process.browser) { - defaultEncoding = 'utf-8' -} else { - var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10) - - defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary' -} -module.exports = defaultEncoding - -}).call(this,require('_process')) -},{"_process":136}],133:[function(require,module,exports){ -(function (Buffer){ -var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs - -function checkBuffer (buf, name) { - if (typeof buf !== 'string' && !Buffer.isBuffer(buf)) { - throw new TypeError(name + ' must be a buffer or string') - } -} - -module.exports = function (password, salt, iterations, keylen) { - checkBuffer(password, 'Password') - checkBuffer(salt, 'Salt') - - if (typeof iterations !== 'number') { - throw new TypeError('Iterations not a number') - } - - if (iterations < 0) { - throw new TypeError('Bad iterations') - } - - if (typeof keylen !== 'number') { - throw new TypeError('Key length not a number') - } - - if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */ - throw new TypeError('Bad key length') - } -} - -}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":118}],134:[function(require,module,exports){ -var md5 = require('create-hash/md5') -var RIPEMD160 = require('ripemd160') -var sha = require('sha.js') - -var checkParameters = require('./precondition') -var defaultEncoding = require('./default-encoding') -var Buffer = require('safe-buffer').Buffer -var ZEROS = Buffer.alloc(128) -var sizes = { - md5: 16, - sha1: 20, - sha224: 28, - sha256: 32, - sha384: 48, - sha512: 64, - rmd160: 20, - ripemd160: 20 -} - -function Hmac (alg, key, saltLen) { - var hash = getDigest(alg) - var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64 - - if (key.length > blocksize) { - key = hash(key) - } else if (key.length < blocksize) { - key = Buffer.concat([key, ZEROS], blocksize) - } - - var ipad = Buffer.allocUnsafe(blocksize + sizes[alg]) - var opad = Buffer.allocUnsafe(blocksize + sizes[alg]) - for (var i = 0; i < blocksize; i++) { - ipad[i] = key[i] ^ 0x36 - opad[i] = key[i] ^ 0x5C - } - - var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4) - ipad.copy(ipad1, 0, 0, blocksize) - this.ipad1 = ipad1 - this.ipad2 = ipad - this.opad = opad - this.alg = alg - this.blocksize = blocksize - this.hash = hash - this.size = sizes[alg] -} - -Hmac.prototype.run = function (data, ipad) { - data.copy(ipad, this.blocksize) - var h = this.hash(ipad) - h.copy(this.opad, this.blocksize) - return this.hash(this.opad) -} - -function getDigest (alg) { - function shaFunc (data) { - return sha(alg).update(data).digest() - } - function rmd160Func (data) { - return new RIPEMD160().update(data).digest() - } - - if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func - if (alg === 'md5') return md5 - return shaFunc -} - -function pbkdf2 (password, salt, iterations, keylen, digest) { - checkParameters(password, salt, iterations, keylen) - - if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) - if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) - - digest = digest || 'sha1' - - var hmac = new Hmac(digest, password, salt.length) - - var DK = Buffer.allocUnsafe(keylen) - var block1 = Buffer.allocUnsafe(salt.length + 4) - salt.copy(block1, 0, 0, salt.length) - - var destPos = 0 - var hLen = sizes[digest] - var l = Math.ceil(keylen / hLen) - - for (var i = 1; i <= l; i++) { - block1.writeUInt32BE(i, salt.length) - - var T = hmac.run(block1, hmac.ipad1) - var U = T - - for (var j = 1; j < iterations; j++) { - U = hmac.run(U, hmac.ipad2) - for (var k = 0; k < hLen; k++) T[k] ^= U[k] - } - - T.copy(DK, destPos) - destPos += hLen - } - - return DK -} - -module.exports = pbkdf2 - -},{"./default-encoding":132,"./precondition":133,"create-hash/md5":52,"ripemd160":161,"safe-buffer":163,"sha.js":166}],135:[function(require,module,exports){ -(function (process){ -'use strict'; - -if (typeof process === 'undefined' || - !process.version || - process.version.indexOf('v0.') === 0 || - process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { - module.exports = { nextTick: nextTick }; -} else { - module.exports = process -} - -function nextTick(fn, arg1, arg2, arg3) { - if (typeof fn !== 'function') { - throw new TypeError('"callback" argument must be a function'); - } - var len = arguments.length; - var args, i; - switch (len) { - case 0: - case 1: - return process.nextTick(fn); - case 2: - return process.nextTick(function afterTickOne() { - fn.call(null, arg1); - }); - case 3: - return process.nextTick(function afterTickTwo() { - fn.call(null, arg1, arg2); - }); - case 4: - return process.nextTick(function afterTickThree() { - fn.call(null, arg1, arg2, arg3); - }); - default: - args = new Array(len - 1); - i = 0; - while (i < args.length) { - args[i++] = arguments[i]; - } - return process.nextTick(function afterTick() { - fn.apply(null, args); - }); - } -} - - -}).call(this,require('_process')) -},{"_process":136}],136:[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; }; - -},{}],137:[function(require,module,exports){ -exports.publicEncrypt = require('./publicEncrypt') -exports.privateDecrypt = require('./privateDecrypt') - -exports.privateEncrypt = function privateEncrypt (key, buf) { - return exports.publicEncrypt(key, buf, true) -} - -exports.publicDecrypt = function publicDecrypt (key, buf) { - return exports.privateDecrypt(key, buf, true) -} - -},{"./privateDecrypt":139,"./publicEncrypt":140}],138:[function(require,module,exports){ -var createHash = require('create-hash') -var Buffer = require('safe-buffer').Buffer - -module.exports = function (seed, len) { - var t = Buffer.alloc(0) - var i = 0 - var c - while (t.length < len) { - c = i2ops(i++) - t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()]) - } - return t.slice(0, len) -} - -function i2ops (c) { - var out = Buffer.allocUnsafe(4) - out.writeUInt32BE(c, 0) - return out -} - -},{"create-hash":51,"safe-buffer":163}],139:[function(require,module,exports){ -var parseKeys = require('parse-asn1') -var mgf = require('./mgf') -var xor = require('./xor') -var BN = require('bn.js') -var crt = require('browserify-rsa') -var createHash = require('create-hash') -var withPublic = require('./withPublic') -var Buffer = require('safe-buffer').Buffer - -module.exports = function privateDecrypt (privateKey, enc, reverse) { - var padding - if (privateKey.padding) { - padding = privateKey.padding - } else if (reverse) { - padding = 1 - } else { - padding = 4 - } - - var key = parseKeys(privateKey) - var k = key.modulus.byteLength() - if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) { - throw new Error('decryption error') - } - var msg - if (reverse) { - msg = withPublic(new BN(enc), key) - } else { - msg = crt(enc, key) - } - var zBuffer = Buffer.alloc(k - msg.length) - msg = Buffer.concat([zBuffer, msg], k) - if (padding === 4) { - return oaep(key, msg) - } else if (padding === 1) { - return pkcs1(key, msg, reverse) - } else if (padding === 3) { - return msg - } else { - throw new Error('unknown padding') - } -} - -function oaep (key, msg) { - var k = key.modulus.byteLength() - var iHash = createHash('sha1').update(Buffer.alloc(0)).digest() - var hLen = iHash.length - if (msg[0] !== 0) { - throw new Error('decryption error') - } - var maskedSeed = msg.slice(1, hLen + 1) - var maskedDb = msg.slice(hLen + 1) - var seed = xor(maskedSeed, mgf(maskedDb, hLen)) - var db = xor(maskedDb, mgf(seed, k - hLen - 1)) - if (compare(iHash, db.slice(0, hLen))) { - throw new Error('decryption error') - } - var i = hLen - while (db[i] === 0) { - i++ - } - if (db[i++] !== 1) { - throw new Error('decryption error') - } - return db.slice(i) -} - -function pkcs1 (key, msg, reverse) { - var p1 = msg.slice(0, 2) - var i = 2 - var status = 0 - while (msg[i++] !== 0) { - if (i >= msg.length) { - status++ - break - } - } - var ps = msg.slice(2, i - 1) - - if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) { - status++ - } - if (ps.length < 8) { - status++ - } - if (status) { - throw new Error('decryption error') - } - return msg.slice(i) -} -function compare (a, b) { - a = Buffer.from(a) - b = Buffer.from(b) - var dif = 0 - var len = a.length - if (a.length !== b.length) { - dif++ - len = Math.min(a.length, b.length) - } - var i = -1 - while (++i < len) { - dif += (a[i] ^ b[i]) - } - return dif -} - -},{"./mgf":138,"./withPublic":141,"./xor":142,"bn.js":16,"browserify-rsa":39,"create-hash":51,"parse-asn1":129,"safe-buffer":163}],140:[function(require,module,exports){ -var parseKeys = require('parse-asn1') -var randomBytes = require('randombytes') -var createHash = require('create-hash') -var mgf = require('./mgf') -var xor = require('./xor') -var BN = require('bn.js') -var withPublic = require('./withPublic') -var crt = require('browserify-rsa') -var Buffer = require('safe-buffer').Buffer - -module.exports = function publicEncrypt (publicKey, msg, reverse) { - var padding - if (publicKey.padding) { - padding = publicKey.padding - } else if (reverse) { - padding = 1 - } else { - padding = 4 - } - var key = parseKeys(publicKey) - var paddedMsg - if (padding === 4) { - paddedMsg = oaep(key, msg) - } else if (padding === 1) { - paddedMsg = pkcs1(key, msg, reverse) - } else if (padding === 3) { - paddedMsg = new BN(msg) - if (paddedMsg.cmp(key.modulus) >= 0) { - throw new Error('data too long for modulus') - } - } else { - throw new Error('unknown padding') - } - if (reverse) { - return crt(paddedMsg, key) - } else { - return withPublic(paddedMsg, key) - } -} - -function oaep (key, msg) { - var k = key.modulus.byteLength() - var mLen = msg.length - var iHash = createHash('sha1').update(Buffer.alloc(0)).digest() - var hLen = iHash.length - var hLen2 = 2 * hLen - if (mLen > k - hLen2 - 2) { - throw new Error('message too long') - } - var ps = Buffer.alloc(k - mLen - hLen2 - 2) - var dblen = k - hLen - 1 - var seed = randomBytes(hLen) - var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen)) - var maskedSeed = xor(seed, mgf(maskedDb, hLen)) - return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k)) -} -function pkcs1 (key, msg, reverse) { - var mLen = msg.length - var k = key.modulus.byteLength() - if (mLen > k - 11) { - throw new Error('message too long') - } - var ps - if (reverse) { - ps = Buffer.alloc(k - mLen - 3, 0xff) - } else { - ps = nonZero(k - mLen - 3) - } - return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k)) -} -function nonZero (len) { - var out = Buffer.allocUnsafe(len) - var i = 0 - var cache = randomBytes(len * 2) - var cur = 0 - var num - while (i < len) { - if (cur === cache.length) { - cache = randomBytes(len * 2) - cur = 0 - } - num = cache[cur++] - if (num) { - out[i++] = num - } - } - return out -} - -},{"./mgf":138,"./withPublic":141,"./xor":142,"bn.js":16,"browserify-rsa":39,"create-hash":51,"parse-asn1":129,"randombytes":144,"safe-buffer":163}],141:[function(require,module,exports){ -var BN = require('bn.js') -var Buffer = require('safe-buffer').Buffer - -function withPublic (paddedMsg, key) { - return Buffer.from(paddedMsg - .toRed(BN.mont(key.modulus)) - .redPow(new BN(key.publicExponent)) - .fromRed() - .toArray()) -} - -module.exports = withPublic - -},{"bn.js":16,"safe-buffer":163}],142:[function(require,module,exports){ -module.exports = function xor (a, b) { - var len = a.length - var i = -1 - while (++i < len) { - a[i] ^= b[i] - } - return a -} - -},{}],143:[function(require,module,exports){ -(function (process,setImmediate){ -// vim:ts=4:sts=4:sw=4: -/*! - * - * Copyright 2009-2012 Kris Kowal under the terms of the MIT - * license found at http://github.com/kriskowal/q/raw/master/LICENSE - * - * With parts by Tyler Close - * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found - * at http://www.opensource.org/licenses/mit-license.html - * Forked at ref_send.js version: 2009-05-11 - * - * With parts by Mark Miller - * Copyright (C) 2011 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -(function (definition) { - // Turn off strict mode for this function so we can assign to global.Q - /* jshint strict: false */ - - // This file will function properly as a - -// Sets Math.random to a PRNG initialized using the given explicit seed. -Math.seedrandom('hello.'); -console.log(Math.random()); // Always 0.9282578795792454 -console.log(Math.random()); // Always 0.3752569768646784 - -// Sets Math.random to an ARC4-based PRNG that is autoseeded using the -// current time, dom state, and other accumulated local entropy. -// The generated seed string is returned. -Math.seedrandom(); -console.log(Math.random()); // Reasonably unpredictable. - -// Seeds using the given explicit seed mixed with accumulated entropy. -Math.seedrandom('added entropy.', { entropy: true }); -console.log(Math.random()); // As unpredictable as added entropy. - -// Use "new" to create a local prng without altering Math.random. -var myrng = new Math.seedrandom('hello.'); -console.log(myrng()); // Always 0.9282578795792454 - - -Node.js usage -------------- - -npm install seedrandom - -// Local PRNG: does not affect Math.random. -var seedrandom = require('seedrandom'); -var rng = seedrandom('hello.'); -console.log(rng()); // Always 0.9282578795792454 - -// Autoseeded ARC4-based PRNG. -rng = seedrandom(); -console.log(rng()); // Reasonably unpredictable. - -// Global PRNG: set Math.random. -seedrandom('hello.', { global: true }); -console.log(Math.random()); // Always 0.9282578795792454 - -// Mixing accumulated entropy. -rng = seedrandom('added entropy.', { entropy: true }); -console.log(rng()); // As unpredictable as added entropy. - - -Require.js usage ----------------- - -Similar to node.js usage: - -bower install seedrandom - -require(['seedrandom'], function(seedrandom) { - var rng = seedrandom('hello.'); - console.log(rng()); // Always 0.9282578795792454 -}); - - -Network seeding ---------------- - - - - - - - - - -Reseeding using user input --------------------------- - -var seed = Math.seedrandom(); // Use prng with an automatic seed. -document.write(Math.random()); // Pretty much unpredictable x. - -var rng = new Math.seedrandom(seed); // A new prng with the same seed. -document.write(rng()); // Repeat the 'unpredictable' x. - -function reseed(event, count) { // Define a custom entropy collector. - var t = []; - function w(e) { - t.push([e.pageX, e.pageY, +new Date]); - if (t.length < count) { return; } - document.removeEventListener(event, w); - Math.seedrandom(t, { entropy: true }); - } - document.addEventListener(event, w); -} -reseed('mousemove', 100); // Reseed after 100 mouse moves. - -The "pass" option can be used to get both the prng and the seed. -The following returns both an autoseeded prng and the seed as an object, -without mutating Math.random: - -var obj = Math.seedrandom(null, { pass: function(prng, seed) { - return { random: prng, seed: seed }; -}}); - - -Saving and Restoring PRNG state -------------------------------- - -var seedrandom = Math.seedrandom; -var saveable = seedrandom("secret-seed", {state: true}); -for (var j = 0; j < 1e5; ++j) saveable(); -var saved = saveable.state(); -var replica = seedrandom("", {state: saved}); -assert(replica() == saveable()); - -In normal use the prng is opaque and its internal state cannot be accessed. -However, if the "state" option is specified, the prng gets a state() method -that returns a plain object the can be used to reconstruct a prng later in -the same state (by passing that saved object back as the state option). - - -Version notes -------------- - -The random number sequence is the same as version 1.0 for string seeds. -* Version 2.0 changed the sequence for non-string seeds. -* Version 2.1 speeds seeding and uses window.crypto to autoseed if present. -* Version 2.2 alters non-crypto autoseeding to sweep up entropy from plugins. -* Version 2.3 adds support for "new", module loading, and a null seed arg. -* Version 2.3.1 adds a build environment, module packaging, and tests. -* Version 2.3.4 fixes bugs on IE8, and switches to MIT license. -* Version 2.3.6 adds a readable options object argument. -* Version 2.3.10 adds support for node.js crypto (contributed by ctd1500). -* Version 2.3.11 adds an option to load and save internal state. - -The standard ARC4 key scheduler cycles short keys, which means that -seedrandom('ab') is equivalent to seedrandom('abab') and 'ababab'. -Therefore it is a good idea to add a terminator to avoid trivial -equivalences on short string seeds, e.g., Math.seedrandom(str + '\0'). -Starting with version 2.0, a terminator is added automatically for -non-string seeds, so seeding with the number 111 is the same as seeding -with '111\0'. - -When seedrandom() is called with zero args or a null seed, it uses a -seed drawn from the browser crypto object if present. If there is no -crypto support, seedrandom() uses the current time, the native rng, -and a walk of several DOM objects to collect a few bits of entropy. - -Each time the one- or two-argument forms of seedrandom are called, -entropy from the passed seed is accumulated in a pool to help generate -future seeds for the zero- and two-argument forms of seedrandom. - -On speed - This javascript implementation of Math.random() is several -times slower than the built-in Math.random() because it is not native -code, but that is typically fast enough. Some details (timings on -Chrome 25 on a 2010 vintage macbook): - -* seeded Math.random() - avg less than 0.0002 milliseconds per call -* seedrandom('explicit.') - avg less than 0.2 milliseconds per call -* seedrandom('explicit.', true) - avg less than 0.2 milliseconds per call -* seedrandom() with crypto - avg less than 0.2 milliseconds per call - -Autoseeding without crypto is somewhat slower, about 20-30 milliseconds on -a 2012 windows 7 1.5ghz i5 laptop, as seen on Firefox 19, IE 10, and Opera. -Seeded rng calls themselves are fast across these browsers, with slowest -numbers on Opera at about 0.0005 ms per seeded Math.random(). - - -LICENSE (MIT) -------------- - -Copyright 2014 David Bau. - -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. - -*/ - -/** - * All code is in an anonymous closure to keep the global namespace clean. - */ -(function ( - global, pool, math, width, chunks, digits, module, define, rngname) { - -// -// The following constants are related to IEEE 754 limits. -// -var startdenom = math.pow(width, chunks), - significance = math.pow(2, digits), - overflow = significance * 2, - mask = width - 1, - nodecrypto; - -// -// seedrandom() -// This is the seedrandom function described above. -// -var impl = math['seed' + rngname] = function(seed, options, callback) { - var key = []; - options = (options == true) ? { entropy: true } : (options || {}); - - // Flatten the seed string or build one from local entropy if needed. - var shortseed = mixkey(flatten( - options.entropy ? [seed, tostring(pool)] : - (seed == null) ? autoseed() : seed, 3), key); - - // Use the seed to initialize an ARC4 generator. - var arc4 = new ARC4(key); - - // Mix the randomness into accumulated entropy. - mixkey(tostring(arc4.S), pool); - - // Calling convention: what to return as a function of prng, seed, is_math. - return (options.pass || callback || - function(prng, seed, is_math_call, state) { - if (state) { - // Load the arc4 state from the given state if it has an S array. - if (state.S) { copy(state, arc4); } - // Only provide the .state method if requested via options.state. - prng.state = function() { return copy(arc4, {}); } - } - - // If called as a method of Math (Math.seedrandom()), mutate - // Math.random because that is how seedrandom.js has worked since v1.0. - if (is_math_call) { math[rngname] = prng; return seed; } - - // Otherwise, it is a newer calling convention, so return the - // prng directly. - else return prng; - })( - - // This function returns a random double in [0, 1) that contains - // randomness in every bit of the mantissa of the IEEE 754 value. - function() { - var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48 - d = startdenom, // and denominator d = 2 ^ 48. - x = 0; // and no 'extra last byte'. - while (n < significance) { // Fill up all significant digits by - n = (n + x) * width; // shifting numerator and - d *= width; // denominator and generating a - x = arc4.g(1); // new least-significant-byte. - } - while (n >= overflow) { // To avoid rounding up, before adding - n /= 2; // last byte, shift everything - d /= 2; // right using integer math until - x >>>= 1; // we have exactly the desired bits. - } - return (n + x) / d; // Form the number within [0, 1). - }, - shortseed, - 'global' in options ? options.global : (this == math), - options.state); -}; - -// -// ARC4 -// -// An ARC4 implementation. The constructor takes a key in the form of -// an array of at most (width) integers that should be 0 <= x < (width). -// -// The g(count) method returns a pseudorandom integer that concatenates -// the next (count) outputs from ARC4. Its return value is a number x -// that is in the range 0 <= x < (width ^ count). -// -/** @constructor */ -function ARC4(key) { - var t, keylen = key.length, - me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; - - // The empty key [] is treated as [0]. - if (!keylen) { key = [keylen++]; } - - // Set up S using the standard key scheduling algorithm. - while (i < width) { - s[i] = i++; - } - for (i = 0; i < width; i++) { - s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))]; - s[j] = t; - } - - // The "g" method returns the next (count) outputs as one number. - (me.g = function(count) { - // Using instance members instead of closure state nearly doubles speed. - var t, r = 0, - i = me.i, j = me.j, s = me.S; - while (count--) { - t = s[i = mask & (i + 1)]; - r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))]; - } - me.i = i; me.j = j; - return r; - // For robust unpredictability, the function call below automatically - // discards an initial batch of values. This is called RC4-drop[256]. - // See http://google.com/search?q=rsa+fluhrer+response&btnI - })(width); -} - -// -// copy() -// Copies internal state of ARC4 to or from a plain object. -// -function copy(f, t) { - t.i = f.i; - t.j = f.j; - t.S = f.S.slice(); - return t; -}; - -// -// flatten() -// Converts an object tree to nested arrays of strings. -// -function flatten(obj, depth) { - var result = [], typ = (typeof obj), prop; - if (depth && typ == 'object') { - for (prop in obj) { - try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {} - } - } - return (result.length ? result : typ == 'string' ? obj : obj + '\0'); -} - -// -// mixkey() -// Mixes a string seed into a key that is an array of integers, and -// returns a shortened string seed that is equivalent to the result key. -// -function mixkey(seed, key) { - var stringseed = seed + '', smear, j = 0; - while (j < stringseed.length) { - key[mask & j] = - mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++)); - } - return tostring(key); -} - -// -// autoseed() -// Returns an object for autoseeding, using window.crypto if available. -// -/** @param {Uint8Array|Navigator=} seed */ -function autoseed(seed) { - try { - if (nodecrypto) return tostring(nodecrypto.randomBytes(width)); - global.crypto.getRandomValues(seed = new Uint8Array(width)); - return tostring(seed); - } catch (e) { - return [+new Date, global, (seed = global.navigator) && seed.plugins, - global.screen, tostring(pool)]; - } -} - -// -// tostring() -// Converts an array of charcodes to a string -// -function tostring(a) { - return String.fromCharCode.apply(0, a); -} - -// -// When seedrandom.js is loaded, we immediately mix a few bits -// from the built-in RNG into the entropy pool. Because we do -// not want to interfere with deterministic PRNG state later, -// seedrandom will not call math.random on its own again after -// initialization. -// -mixkey(math[rngname](), pool); - -// -// Nodejs and AMD support: export the implementation as a module using -// either convention. -// -if (module && module.exports) { - module.exports = impl; - try { - // When in node.js, try using crypto package for autoseeding. - nodecrypto = require('crypto'); - } catch (ex) {} -} else if (define && define.amd) { - define(function() { return impl; }); -} - -// -// Node.js native crypto support. -// - -// End anonymous scope, and pass initial values. -})( - this, // global window object - [], // pool: entropy pool starts empty - Math, // math: package containing random, pow, and seedrandom - 256, // width: each RC4 output is 0 <= x < 256 - 6, // chunks: at least six RC4 outputs for each double - 52, // digits: there are 52 significant digits in a double - (typeof module) == 'object' && module, // present in node.js - (typeof define) == 'function' && define, // present with an AMD loader - 'random'// rngname: name for Math.random and Math.seedrandom -); - -},{"crypto":55}],165:[function(require,module,exports){ -var Buffer = require('safe-buffer').Buffer - -// prototype class for hash functions -function Hash (blockSize, finalSize) { - this._block = Buffer.alloc(blockSize) - this._finalSize = finalSize - this._blockSize = blockSize - this._len = 0 -} - -Hash.prototype.update = function (data, enc) { - if (typeof data === 'string') { - enc = enc || 'utf8' - data = Buffer.from(data, enc) - } - - var block = this._block - var blockSize = this._blockSize - var length = data.length - var accum = this._len - - for (var offset = 0; offset < length;) { - var assigned = accum % blockSize - var remainder = Math.min(length - offset, blockSize - assigned) - - for (var i = 0; i < remainder; i++) { - block[assigned + i] = data[offset + i] - } - - accum += remainder - offset += remainder - - if ((accum % blockSize) === 0) { - this._update(block) - } - } - - this._len += length - return this -} - -Hash.prototype.digest = function (enc) { - var rem = this._len % this._blockSize - - this._block[rem] = 0x80 - - // zero (rem + 1) trailing bits, where (rem + 1) is the smallest - // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize - this._block.fill(0, rem + 1) - - if (rem >= this._finalSize) { - this._update(this._block) - this._block.fill(0) - } - - var bits = this._len * 8 - - // uint32 - if (bits <= 0xffffffff) { - this._block.writeUInt32BE(bits, this._blockSize - 4) - - // uint64 - } else { - var lowBits = (bits & 0xffffffff) >>> 0 - var highBits = (bits - lowBits) / 0x100000000 - - this._block.writeUInt32BE(highBits, this._blockSize - 8) - this._block.writeUInt32BE(lowBits, this._blockSize - 4) - } - - this._update(this._block) - var hash = this._hash() - - return enc ? hash.toString(enc) : hash -} - -Hash.prototype._update = function () { - throw new Error('_update must be implemented by subclass') -} - -module.exports = Hash - -},{"safe-buffer":163}],166:[function(require,module,exports){ -var exports = module.exports = function SHA (algorithm) { - algorithm = algorithm.toLowerCase() - - var Algorithm = exports[algorithm] - if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)') - - return new Algorithm() -} - -exports.sha = require('./sha') -exports.sha1 = require('./sha1') -exports.sha224 = require('./sha224') -exports.sha256 = require('./sha256') -exports.sha384 = require('./sha384') -exports.sha512 = require('./sha512') - -},{"./sha":167,"./sha1":168,"./sha224":169,"./sha256":170,"./sha384":171,"./sha512":172}],167:[function(require,module,exports){ -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined - * in FIPS PUB 180-1 - * This source code is derived from sha1.js of the same repository. - * The difference between SHA-0 and SHA-1 is just a bitwise rotate left - * operation was added. - */ - -var inherits = require('inherits') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var K = [ - 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 -] - -var W = new Array(80) - -function Sha () { - this.init() - this._w = W - - Hash.call(this, 64, 56) -} - -inherits(Sha, Hash) - -Sha.prototype.init = function () { - this._a = 0x67452301 - this._b = 0xefcdab89 - this._c = 0x98badcfe - this._d = 0x10325476 - this._e = 0xc3d2e1f0 - - return this -} - -function rotl5 (num) { - return (num << 5) | (num >>> 27) -} - -function rotl30 (num) { - return (num << 30) | (num >>> 2) -} - -function ft (s, b, c, d) { - if (s === 0) return (b & c) | ((~b) & d) - if (s === 2) return (b & c) | (b & d) | (c & d) - return b ^ c ^ d -} - -Sha.prototype._update = function (M) { - var W = this._w - - var a = this._a | 0 - var b = this._b | 0 - var c = this._c | 0 - var d = this._d | 0 - var e = this._e | 0 - - for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) - for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16] - - for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20) - var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0 - - e = d - d = c - c = rotl30(b) - b = a - a = t - } - - this._a = (a + this._a) | 0 - this._b = (b + this._b) | 0 - this._c = (c + this._c) | 0 - this._d = (d + this._d) | 0 - this._e = (e + this._e) | 0 -} - -Sha.prototype._hash = function () { - var H = Buffer.allocUnsafe(20) - - H.writeInt32BE(this._a | 0, 0) - H.writeInt32BE(this._b | 0, 4) - H.writeInt32BE(this._c | 0, 8) - H.writeInt32BE(this._d | 0, 12) - H.writeInt32BE(this._e | 0, 16) - - return H -} - -module.exports = Sha - -},{"./hash":165,"inherits":117,"safe-buffer":163}],168:[function(require,module,exports){ -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined - * in FIPS PUB 180-1 - * Version 2.1a Copyright Paul Johnston 2000 - 2002. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for details. - */ - -var inherits = require('inherits') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var K = [ - 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 -] - -var W = new Array(80) - -function Sha1 () { - this.init() - this._w = W - - Hash.call(this, 64, 56) -} - -inherits(Sha1, Hash) - -Sha1.prototype.init = function () { - this._a = 0x67452301 - this._b = 0xefcdab89 - this._c = 0x98badcfe - this._d = 0x10325476 - this._e = 0xc3d2e1f0 - - return this -} - -function rotl1 (num) { - return (num << 1) | (num >>> 31) -} - -function rotl5 (num) { - return (num << 5) | (num >>> 27) -} - -function rotl30 (num) { - return (num << 30) | (num >>> 2) -} - -function ft (s, b, c, d) { - if (s === 0) return (b & c) | ((~b) & d) - if (s === 2) return (b & c) | (b & d) | (c & d) - return b ^ c ^ d -} - -Sha1.prototype._update = function (M) { - var W = this._w - - var a = this._a | 0 - var b = this._b | 0 - var c = this._c | 0 - var d = this._d | 0 - var e = this._e | 0 - - for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) - for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]) - - for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20) - var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0 - - e = d - d = c - c = rotl30(b) - b = a - a = t - } - - this._a = (a + this._a) | 0 - this._b = (b + this._b) | 0 - this._c = (c + this._c) | 0 - this._d = (d + this._d) | 0 - this._e = (e + this._e) | 0 -} - -Sha1.prototype._hash = function () { - var H = Buffer.allocUnsafe(20) - - H.writeInt32BE(this._a | 0, 0) - H.writeInt32BE(this._b | 0, 4) - H.writeInt32BE(this._c | 0, 8) - H.writeInt32BE(this._d | 0, 12) - H.writeInt32BE(this._e | 0, 16) - - return H -} - -module.exports = Sha1 - -},{"./hash":165,"inherits":117,"safe-buffer":163}],169:[function(require,module,exports){ -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ - -var inherits = require('inherits') -var Sha256 = require('./sha256') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var W = new Array(64) - -function Sha224 () { - this.init() - - this._w = W // new Array(64) - - Hash.call(this, 64, 56) -} - -inherits(Sha224, Sha256) - -Sha224.prototype.init = function () { - this._a = 0xc1059ed8 - this._b = 0x367cd507 - this._c = 0x3070dd17 - this._d = 0xf70e5939 - this._e = 0xffc00b31 - this._f = 0x68581511 - this._g = 0x64f98fa7 - this._h = 0xbefa4fa4 - - return this -} - -Sha224.prototype._hash = function () { - var H = Buffer.allocUnsafe(28) - - H.writeInt32BE(this._a, 0) - H.writeInt32BE(this._b, 4) - H.writeInt32BE(this._c, 8) - H.writeInt32BE(this._d, 12) - H.writeInt32BE(this._e, 16) - H.writeInt32BE(this._f, 20) - H.writeInt32BE(this._g, 24) - - return H -} - -module.exports = Sha224 - -},{"./hash":165,"./sha256":170,"inherits":117,"safe-buffer":163}],170:[function(require,module,exports){ -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ - -var inherits = require('inherits') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var K = [ - 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, - 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, - 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, - 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, - 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, - 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, - 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, - 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, - 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, - 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, - 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, - 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, - 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, - 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, - 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, - 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2 -] - -var W = new Array(64) - -function Sha256 () { - this.init() - - this._w = W // new Array(64) - - Hash.call(this, 64, 56) -} - -inherits(Sha256, Hash) - -Sha256.prototype.init = function () { - this._a = 0x6a09e667 - this._b = 0xbb67ae85 - this._c = 0x3c6ef372 - this._d = 0xa54ff53a - this._e = 0x510e527f - this._f = 0x9b05688c - this._g = 0x1f83d9ab - this._h = 0x5be0cd19 - - return this -} - -function ch (x, y, z) { - return z ^ (x & (y ^ z)) -} - -function maj (x, y, z) { - return (x & y) | (z & (x | y)) -} - -function sigma0 (x) { - return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10) -} - -function sigma1 (x) { - return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7) -} - -function gamma0 (x) { - return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3) -} - -function gamma1 (x) { - return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10) -} - -Sha256.prototype._update = function (M) { - var W = this._w - - var a = this._a | 0 - var b = this._b | 0 - var c = this._c | 0 - var d = this._d | 0 - var e = this._e | 0 - var f = this._f | 0 - var g = this._g | 0 - var h = this._h | 0 - - for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4) - for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0 - - for (var j = 0; j < 64; ++j) { - var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0 - var T2 = (sigma0(a) + maj(a, b, c)) | 0 - - h = g - g = f - f = e - e = (d + T1) | 0 - d = c - c = b - b = a - a = (T1 + T2) | 0 - } - - this._a = (a + this._a) | 0 - this._b = (b + this._b) | 0 - this._c = (c + this._c) | 0 - this._d = (d + this._d) | 0 - this._e = (e + this._e) | 0 - this._f = (f + this._f) | 0 - this._g = (g + this._g) | 0 - this._h = (h + this._h) | 0 -} - -Sha256.prototype._hash = function () { - var H = Buffer.allocUnsafe(32) - - H.writeInt32BE(this._a, 0) - H.writeInt32BE(this._b, 4) - H.writeInt32BE(this._c, 8) - H.writeInt32BE(this._d, 12) - H.writeInt32BE(this._e, 16) - H.writeInt32BE(this._f, 20) - H.writeInt32BE(this._g, 24) - H.writeInt32BE(this._h, 28) - - return H -} - -module.exports = Sha256 - -},{"./hash":165,"inherits":117,"safe-buffer":163}],171:[function(require,module,exports){ -var inherits = require('inherits') -var SHA512 = require('./sha512') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var W = new Array(160) - -function Sha384 () { - this.init() - this._w = W - - Hash.call(this, 128, 112) -} - -inherits(Sha384, SHA512) - -Sha384.prototype.init = function () { - this._ah = 0xcbbb9d5d - this._bh = 0x629a292a - this._ch = 0x9159015a - this._dh = 0x152fecd8 - this._eh = 0x67332667 - this._fh = 0x8eb44a87 - this._gh = 0xdb0c2e0d - this._hh = 0x47b5481d - - this._al = 0xc1059ed8 - this._bl = 0x367cd507 - this._cl = 0x3070dd17 - this._dl = 0xf70e5939 - this._el = 0xffc00b31 - this._fl = 0x68581511 - this._gl = 0x64f98fa7 - this._hl = 0xbefa4fa4 - - return this -} - -Sha384.prototype._hash = function () { - var H = Buffer.allocUnsafe(48) - - function writeInt64BE (h, l, offset) { - H.writeInt32BE(h, offset) - H.writeInt32BE(l, offset + 4) - } - - writeInt64BE(this._ah, this._al, 0) - writeInt64BE(this._bh, this._bl, 8) - writeInt64BE(this._ch, this._cl, 16) - writeInt64BE(this._dh, this._dl, 24) - writeInt64BE(this._eh, this._el, 32) - writeInt64BE(this._fh, this._fl, 40) - - return H -} - -module.exports = Sha384 - -},{"./hash":165,"./sha512":172,"inherits":117,"safe-buffer":163}],172:[function(require,module,exports){ -var inherits = require('inherits') -var Hash = require('./hash') -var Buffer = require('safe-buffer').Buffer - -var K = [ - 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, - 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, - 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, - 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, - 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, - 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, - 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, - 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, - 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, - 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, - 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, - 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, - 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, - 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, - 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, - 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, - 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, - 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, - 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, - 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, - 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, - 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, - 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, - 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, - 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, - 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, - 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, - 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, - 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, - 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, - 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, - 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, - 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, - 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, - 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, - 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, - 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, - 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, - 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, - 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 -] - -var W = new Array(160) - -function Sha512 () { - this.init() - this._w = W - - Hash.call(this, 128, 112) -} - -inherits(Sha512, Hash) - -Sha512.prototype.init = function () { - this._ah = 0x6a09e667 - this._bh = 0xbb67ae85 - this._ch = 0x3c6ef372 - this._dh = 0xa54ff53a - this._eh = 0x510e527f - this._fh = 0x9b05688c - this._gh = 0x1f83d9ab - this._hh = 0x5be0cd19 - - this._al = 0xf3bcc908 - this._bl = 0x84caa73b - this._cl = 0xfe94f82b - this._dl = 0x5f1d36f1 - this._el = 0xade682d1 - this._fl = 0x2b3e6c1f - this._gl = 0xfb41bd6b - this._hl = 0x137e2179 - - return this -} - -function Ch (x, y, z) { - return z ^ (x & (y ^ z)) -} - -function maj (x, y, z) { - return (x & y) | (z & (x | y)) -} - -function sigma0 (x, xl) { - return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25) -} - -function sigma1 (x, xl) { - return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23) -} - -function Gamma0 (x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7) -} - -function Gamma0l (x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25) -} - -function Gamma1 (x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6) -} - -function Gamma1l (x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26) -} - -function getCarry (a, b) { - return (a >>> 0) < (b >>> 0) ? 1 : 0 -} - -Sha512.prototype._update = function (M) { - var W = this._w - - var ah = this._ah | 0 - var bh = this._bh | 0 - var ch = this._ch | 0 - var dh = this._dh | 0 - var eh = this._eh | 0 - var fh = this._fh | 0 - var gh = this._gh | 0 - var hh = this._hh | 0 - - var al = this._al | 0 - var bl = this._bl | 0 - var cl = this._cl | 0 - var dl = this._dl | 0 - var el = this._el | 0 - var fl = this._fl | 0 - var gl = this._gl | 0 - var hl = this._hl | 0 - - for (var i = 0; i < 32; i += 2) { - W[i] = M.readInt32BE(i * 4) - W[i + 1] = M.readInt32BE(i * 4 + 4) - } - for (; i < 160; i += 2) { - var xh = W[i - 15 * 2] - var xl = W[i - 15 * 2 + 1] - var gamma0 = Gamma0(xh, xl) - var gamma0l = Gamma0l(xl, xh) - - xh = W[i - 2 * 2] - xl = W[i - 2 * 2 + 1] - var gamma1 = Gamma1(xh, xl) - var gamma1l = Gamma1l(xl, xh) - - // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] - var Wi7h = W[i - 7 * 2] - var Wi7l = W[i - 7 * 2 + 1] - - var Wi16h = W[i - 16 * 2] - var Wi16l = W[i - 16 * 2 + 1] - - var Wil = (gamma0l + Wi7l) | 0 - var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0 - Wil = (Wil + gamma1l) | 0 - Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0 - Wil = (Wil + Wi16l) | 0 - Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0 - - W[i] = Wih - W[i + 1] = Wil - } - - for (var j = 0; j < 160; j += 2) { - Wih = W[j] - Wil = W[j + 1] - - var majh = maj(ah, bh, ch) - var majl = maj(al, bl, cl) - - var sigma0h = sigma0(ah, al) - var sigma0l = sigma0(al, ah) - var sigma1h = sigma1(eh, el) - var sigma1l = sigma1(el, eh) - - // t1 = h + sigma1 + ch + K[j] + W[j] - var Kih = K[j] - var Kil = K[j + 1] - - var chh = Ch(eh, fh, gh) - var chl = Ch(el, fl, gl) - - var t1l = (hl + sigma1l) | 0 - var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0 - t1l = (t1l + chl) | 0 - t1h = (t1h + chh + getCarry(t1l, chl)) | 0 - t1l = (t1l + Kil) | 0 - t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0 - t1l = (t1l + Wil) | 0 - t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0 - - // t2 = sigma0 + maj - var t2l = (sigma0l + majl) | 0 - var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0 - - hh = gh - hl = gl - gh = fh - gl = fl - fh = eh - fl = el - el = (dl + t1l) | 0 - eh = (dh + t1h + getCarry(el, dl)) | 0 - dh = ch - dl = cl - ch = bh - cl = bl - bh = ah - bl = al - al = (t1l + t2l) | 0 - ah = (t1h + t2h + getCarry(al, t1l)) | 0 - } - - this._al = (this._al + al) | 0 - this._bl = (this._bl + bl) | 0 - this._cl = (this._cl + cl) | 0 - this._dl = (this._dl + dl) | 0 - this._el = (this._el + el) | 0 - this._fl = (this._fl + fl) | 0 - this._gl = (this._gl + gl) | 0 - this._hl = (this._hl + hl) | 0 - - this._ah = (this._ah + ah + getCarry(this._al, al)) | 0 - this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0 - this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0 - this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0 - this._eh = (this._eh + eh + getCarry(this._el, el)) | 0 - this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0 - this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0 - this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0 -} - -Sha512.prototype._hash = function () { - var H = Buffer.allocUnsafe(64) - - function writeInt64BE (h, l, offset) { - H.writeInt32BE(h, offset) - H.writeInt32BE(l, offset + 4) - } - - writeInt64BE(this._ah, this._al, 0) - writeInt64BE(this._bh, this._bl, 8) - writeInt64BE(this._ch, this._cl, 16) - writeInt64BE(this._dh, this._dl, 24) - writeInt64BE(this._eh, this._el, 32) - writeInt64BE(this._fh, this._fl, 40) - writeInt64BE(this._gh, this._gl, 48) - writeInt64BE(this._hh, this._hl, 56) - - return H -} - -module.exports = Sha512 - -},{"./hash":165,"inherits":117,"safe-buffer":163}],173:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var util = require('./util'); -var has = Object.prototype.hasOwnProperty; -var hasNativeMap = typeof Map !== "undefined"; - -/** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ -function ArraySet() { - this._array = []; - this._set = hasNativeMap ? new Map() : Object.create(null); -} - -/** - * Static method for creating ArraySet instances from an existing array. - */ -ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; -}; - -/** - * Return how many unique items are in this ArraySet. If duplicates have been - * added, than those do not count towards the size. - * - * @returns Number - */ -ArraySet.prototype.size = function ArraySet_size() { - return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; -}; - -/** - * Add the given string to this set. - * - * @param String aStr - */ -ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var sStr = hasNativeMap ? aStr : util.toSetString(aStr); - var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - if (hasNativeMap) { - this._set.set(aStr, idx); - } else { - this._set[sStr] = idx; - } - } -}; - -/** - * Is the given string a member of this set? - * - * @param String aStr - */ -ArraySet.prototype.has = function ArraySet_has(aStr) { - if (hasNativeMap) { - return this._set.has(aStr); - } else { - var sStr = util.toSetString(aStr); - return has.call(this._set, sStr); - } -}; - -/** - * What is the index of the given string in the array? - * - * @param String aStr - */ -ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (hasNativeMap) { - var idx = this._set.get(aStr); - if (idx >= 0) { - return idx; - } - } else { - var sStr = util.toSetString(aStr); - if (has.call(this._set, sStr)) { - return this._set[sStr]; - } - } - - throw new Error('"' + aStr + '" is not in the set.'); -}; - -/** - * What is the element at the given index? - * - * @param Number aIdx - */ -ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error('No element indexed by ' + aIdx); -}; - -/** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ -ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); -}; - -exports.ArraySet = ArraySet; - -},{"./util":182}],174:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -var base64 = require('./base64'); - -// A single base 64 digit can contain 6 bits of data. For the base 64 variable -// length quantities we use in the source map spec, the first bit is the sign, -// the next four bits are the actual value, and the 6th bit is the -// continuation bit. The continuation bit tells us whether there are more -// digits in this value following this digit. -// -// Continuation -// | Sign -// | | -// V V -// 101011 - -var VLQ_BASE_SHIFT = 5; - -// binary: 100000 -var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - -// binary: 011111 -var VLQ_BASE_MASK = VLQ_BASE - 1; - -// binary: 100000 -var VLQ_CONTINUATION_BIT = VLQ_BASE; - -/** - * Converts from a two-complement value to a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ -function toVLQSigned(aValue) { - return aValue < 0 - ? ((-aValue) << 1) + 1 - : (aValue << 1) + 0; -} - -/** - * Converts to a two-complement value from a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ -function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative - ? -shifted - : shifted; -} - -/** - * Returns the base 64 VLQ encoded value. - */ -exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; - - var vlq = toVLQSigned(aValue); - - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); - - return encoded; -}; - -/** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string via the out parameter. - */ -exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - - do { - if (aIndex >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - - digit = base64.decode(aStr.charCodeAt(aIndex++)); - if (digit === -1) { - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); - } - - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); - - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aIndex; -}; - -},{"./base64":175}],175:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); - -/** - * Encode an integer in the range of 0 to 63 to a single base 64 digit. - */ -exports.encode = function (number) { - if (0 <= number && number < intToCharMap.length) { - return intToCharMap[number]; - } - throw new TypeError("Must be between 0 and 63: " + number); -}; - -/** - * Decode a single base 64 character code digit to an integer. Returns -1 on - * failure. - */ -exports.decode = function (charCode) { - var bigA = 65; // 'A' - var bigZ = 90; // 'Z' - - var littleA = 97; // 'a' - var littleZ = 122; // 'z' - - var zero = 48; // '0' - var nine = 57; // '9' - - var plus = 43; // '+' - var slash = 47; // '/' - - var littleOffset = 26; - var numberOffset = 52; - - // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ - if (bigA <= charCode && charCode <= bigZ) { - return (charCode - bigA); - } - - // 26 - 51: abcdefghijklmnopqrstuvwxyz - if (littleA <= charCode && charCode <= littleZ) { - return (charCode - littleA + littleOffset); - } - - // 52 - 61: 0123456789 - if (zero <= charCode && charCode <= nine) { - return (charCode - zero + numberOffset); - } - - // 62: + - if (charCode == plus) { - return 62; - } - - // 63: / - if (charCode == slash) { - return 63; - } - - // Invalid base64 digit. - return -1; -}; - -},{}],176:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -exports.GREATEST_LOWER_BOUND = 1; -exports.LEAST_UPPER_BOUND = 2; - -/** - * Recursive implementation of binary search. - * - * @param aLow Indices here and lower do not contain the needle. - * @param aHigh Indices here and higher do not contain the needle. - * @param aNeedle The element being searched for. - * @param aHaystack The non-empty array being searched. - * @param aCompare Function which takes two elements and returns -1, 0, or 1. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - */ -function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { - // This function terminates when one of the following is true: - // - // 1. We find the exact element we are looking for. - // - // 2. We did not find the exact element, but we can return the index of - // the next-closest element. - // - // 3. We did not find the exact element, and there is no next-closest - // element than the one we are searching for, so we return -1. - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - if (cmp === 0) { - // Found the element we are looking for. - return mid; - } - else if (cmp > 0) { - // Our needle is greater than aHaystack[mid]. - if (aHigh - mid > 1) { - // The element is in the upper half. - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); - } - - // The exact needle element was not found in this haystack. Determine if - // we are in termination case (3) or (2) and return the appropriate thing. - if (aBias == exports.LEAST_UPPER_BOUND) { - return aHigh < aHaystack.length ? aHigh : -1; - } else { - return mid; - } - } - else { - // Our needle is less than aHaystack[mid]. - if (mid - aLow > 1) { - // The element is in the lower half. - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); - } - - // we are in termination case (3) or (2) and return the appropriate thing. - if (aBias == exports.LEAST_UPPER_BOUND) { - return mid; - } else { - return aLow < 0 ? -1 : aLow; - } - } -} - -/** - * This is an implementation of binary search which will always try and return - * the index of the closest element if there is no exact hit. This is because - * mappings between original and generated line/col pairs are single points, - * and there is an implicit region between each of them, so a miss just means - * that you aren't on the very start of a region. - * - * @param aNeedle The element you are looking for. - * @param aHaystack The array that is being searched. - * @param aCompare A function which takes the needle and an element in the - * array and returns -1, 0, or 1 depending on whether the needle is less - * than, equal to, or greater than the element, respectively. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. - */ -exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { - if (aHaystack.length === 0) { - return -1; - } - - var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, - aCompare, aBias || exports.GREATEST_LOWER_BOUND); - if (index < 0) { - return -1; - } - - // We have found either the exact element, or the next-closest element than - // the one we are searching for. However, there may be more than one such - // element. Make sure we always return the smallest of these. - while (index - 1 >= 0) { - if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { - break; - } - --index; - } - - return index; -}; - -},{}],177:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2014 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var util = require('./util'); - -/** - * Determine whether mappingB is after mappingA with respect to generated - * position. - */ -function generatedPositionAfter(mappingA, mappingB) { - // Optimized for most common case - var lineA = mappingA.generatedLine; - var lineB = mappingB.generatedLine; - var columnA = mappingA.generatedColumn; - var columnB = mappingB.generatedColumn; - return lineB > lineA || lineB == lineA && columnB >= columnA || - util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; -} - -/** - * A data structure to provide a sorted view of accumulated mappings in a - * performance conscious manner. It trades a neglibable overhead in general - * case for a large speedup in case of mappings being added in order. - */ -function MappingList() { - this._array = []; - this._sorted = true; - // Serves as infimum - this._last = {generatedLine: -1, generatedColumn: 0}; -} - -/** - * Iterate through internal items. This method takes the same arguments that - * `Array.prototype.forEach` takes. - * - * NOTE: The order of the mappings is NOT guaranteed. - */ -MappingList.prototype.unsortedForEach = - function MappingList_forEach(aCallback, aThisArg) { - this._array.forEach(aCallback, aThisArg); - }; - -/** - * Add the given source mapping. - * - * @param Object aMapping - */ -MappingList.prototype.add = function MappingList_add(aMapping) { - if (generatedPositionAfter(this._last, aMapping)) { - this._last = aMapping; - this._array.push(aMapping); - } else { - this._sorted = false; - this._array.push(aMapping); - } -}; - -/** - * Returns the flat, sorted array of mappings. The mappings are sorted by - * generated position. - * - * WARNING: This method returns internal data without copying, for - * performance. The return value must NOT be mutated, and should be treated as - * an immutable borrow. If you want to take ownership, you must make your own - * copy. - */ -MappingList.prototype.toArray = function MappingList_toArray() { - if (!this._sorted) { - this._array.sort(util.compareByGeneratedPositionsInflated); - this._sorted = true; - } - return this._array; -}; - -exports.MappingList = MappingList; - -},{"./util":182}],178:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -// It turns out that some (most?) JavaScript engines don't self-host -// `Array.prototype.sort`. This makes sense because C++ will likely remain -// faster than JS when doing raw CPU-intensive sorting. However, when using a -// custom comparator function, calling back and forth between the VM's C++ and -// JIT'd JS is rather slow *and* loses JIT type information, resulting in -// worse generated code for the comparator function than would be optimal. In -// fact, when sorting with a comparator, these costs outweigh the benefits of -// sorting in C++. By using our own JS-implemented Quick Sort (below), we get -// a ~3500ms mean speed-up in `bench/bench.html`. - -/** - * Swap the elements indexed by `x` and `y` in the array `ary`. - * - * @param {Array} ary - * The array. - * @param {Number} x - * The index of the first item. - * @param {Number} y - * The index of the second item. - */ -function swap(ary, x, y) { - var temp = ary[x]; - ary[x] = ary[y]; - ary[y] = temp; -} - -/** - * Returns a random integer within the range `low .. high` inclusive. - * - * @param {Number} low - * The lower bound on the range. - * @param {Number} high - * The upper bound on the range. - */ -function randomIntInRange(low, high) { - return Math.round(low + (Math.random() * (high - low))); -} - -/** - * The Quick Sort algorithm. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - * @param {Number} p - * Start index of the array - * @param {Number} r - * End index of the array - */ -function doQuickSort(ary, comparator, p, r) { - // If our lower bound is less than our upper bound, we (1) partition the - // array into two pieces and (2) recurse on each half. If it is not, this is - // the empty array and our base case. - - if (p < r) { - // (1) Partitioning. - // - // The partitioning chooses a pivot between `p` and `r` and moves all - // elements that are less than or equal to the pivot to the before it, and - // all the elements that are greater than it after it. The effect is that - // once partition is done, the pivot is in the exact place it will be when - // the array is put in sorted order, and it will not need to be moved - // again. This runs in O(n) time. - - // Always choose a random pivot so that an input array which is reverse - // sorted does not cause O(n^2) running time. - var pivotIndex = randomIntInRange(p, r); - var i = p - 1; - - swap(ary, pivotIndex, r); - var pivot = ary[r]; - - // Immediately after `j` is incremented in this loop, the following hold - // true: - // - // * Every element in `ary[p .. i]` is less than or equal to the pivot. - // - // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. - for (var j = p; j < r; j++) { - if (comparator(ary[j], pivot) <= 0) { - i += 1; - swap(ary, i, j); - } - } - - swap(ary, i + 1, j); - var q = i + 1; - - // (2) Recurse on each half. - - doQuickSort(ary, comparator, p, q - 1); - doQuickSort(ary, comparator, q + 1, r); - } -} - -/** - * Sort the given array in-place with the given comparator function. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - */ -exports.quickSort = function (ary, comparator) { - doQuickSort(ary, comparator, 0, ary.length - 1); -}; - -},{}],179:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var util = require('./util'); -var binarySearch = require('./binary-search'); -var ArraySet = require('./array-set').ArraySet; -var base64VLQ = require('./base64-vlq'); -var quickSort = require('./quick-sort').quickSort; - -function SourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - return sourceMap.sections != null - ? new IndexedSourceMapConsumer(sourceMap) - : new BasicSourceMapConsumer(sourceMap); -} - -SourceMapConsumer.fromSourceMap = function(aSourceMap) { - return BasicSourceMapConsumer.fromSourceMap(aSourceMap); -} - -/** - * The version of the source mapping spec that we are consuming. - */ -SourceMapConsumer.prototype._version = 3; - -// `__generatedMappings` and `__originalMappings` are arrays that hold the -// parsed mapping coordinates from the source map's "mappings" attribute. They -// are lazily instantiated, accessed via the `_generatedMappings` and -// `_originalMappings` getters respectively, and we only parse the mappings -// and create these arrays once queried for a source location. We jump through -// these hoops because there can be many thousands of mappings, and parsing -// them is expensive, so we only want to do it if we must. -// -// Each object in the arrays is of the form: -// -// { -// generatedLine: The line number in the generated code, -// generatedColumn: The column number in the generated code, -// source: The path to the original source file that generated this -// chunk of code, -// originalLine: The line number in the original source that -// corresponds to this chunk of generated code, -// originalColumn: The column number in the original source that -// corresponds to this chunk of generated code, -// name: The name of the original symbol which generated this chunk of -// code. -// } -// -// All properties except for `generatedLine` and `generatedColumn` can be -// `null`. -// -// `_generatedMappings` is ordered by the generated positions. -// -// `_originalMappings` is ordered by the original positions. - -SourceMapConsumer.prototype.__generatedMappings = null; -Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { - get: function () { - if (!this.__generatedMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__generatedMappings; - } -}); - -SourceMapConsumer.prototype.__originalMappings = null; -Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { - get: function () { - if (!this.__originalMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__originalMappings; - } -}); - -SourceMapConsumer.prototype._charIsMappingSeparator = - function SourceMapConsumer_charIsMappingSeparator(aStr, index) { - var c = aStr.charAt(index); - return c === ";" || c === ","; - }; - -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ -SourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - throw new Error("Subclasses must implement _parseMappings"); - }; - -SourceMapConsumer.GENERATED_ORDER = 1; -SourceMapConsumer.ORIGINAL_ORDER = 2; - -SourceMapConsumer.GREATEST_LOWER_BOUND = 1; -SourceMapConsumer.LEAST_UPPER_BOUND = 2; - -/** - * Iterate over each mapping between an original source/line/column and a - * generated line/column in this source map. - * - * @param Function aCallback - * The function that is called with each mapping. - * @param Object aContext - * Optional. If specified, this object will be the value of `this` every - * time that `aCallback` is called. - * @param aOrder - * Either `SourceMapConsumer.GENERATED_ORDER` or - * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to - * iterate over the mappings sorted by the generated file's line/column - * order or the original's source/line/column order, respectively. Defaults to - * `SourceMapConsumer.GENERATED_ORDER`. - */ -SourceMapConsumer.prototype.eachMapping = - function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - - var mappings; - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - default: - throw new Error("Unknown order of iteration."); - } - - var sourceRoot = this.sourceRoot; - mappings.map(function (mapping) { - var source = mapping.source === null ? null : this._sources.at(mapping.source); - if (source != null && sourceRoot != null) { - source = util.join(sourceRoot, source); - } - return { - source: source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name === null ? null : this._names.at(mapping.name) - }; - }, this).forEach(aCallback, context); - }; - -/** - * Returns all generated line and column information for the original source, - * line, and column provided. If no column is provided, returns all mappings - * corresponding to a either the line we are searching for or the next - * closest line that has any mappings. Otherwise, returns all mappings - * corresponding to the given line and either the column we are searching for - * or the next closest column that has any offsets. - * - * The only argument is an object with the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: Optional. the column number in the original source. - * - * and an array of objects is returned, each with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ -SourceMapConsumer.prototype.allGeneratedPositionsFor = - function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { - var line = util.getArg(aArgs, 'line'); - - // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping - // returns the index of the closest mapping less than the needle. By - // setting needle.originalColumn to 0, we thus find the last mapping for - // the given line, provided such a mapping exists. - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: line, - originalColumn: util.getArg(aArgs, 'column', 0) - }; - - if (this.sourceRoot != null) { - needle.source = util.relative(this.sourceRoot, needle.source); - } - if (!this._sources.has(needle.source)) { - return []; - } - needle.source = this._sources.indexOf(needle.source); - - var mappings = []; - - var index = this._findMapping(needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - binarySearch.LEAST_UPPER_BOUND); - if (index >= 0) { - var mapping = this._originalMappings[index]; - - if (aArgs.column === undefined) { - var originalLine = mapping.originalLine; - - // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we found. Since - // mappings are sorted, this is guaranteed to find all mappings for - // the line we found. - while (mapping && mapping.originalLine === originalLine) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); - - mapping = this._originalMappings[++index]; - } - } else { - var originalColumn = mapping.originalColumn; - - // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we were searching for. - // Since mappings are sorted, this is guaranteed to find all mappings for - // the line we are searching for. - while (mapping && - mapping.originalLine === line && - mapping.originalColumn == originalColumn) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); - - mapping = this._originalMappings[++index]; - } - } - } - - return mappings; - }; - -exports.SourceMapConsumer = SourceMapConsumer; - -/** - * A BasicSourceMapConsumer instance represents a parsed source map which we can - * query for information about the original file positions by giving it a file - * position in the generated source. - * - * The only parameter is the raw source map (either as a JSON string, or - * already parsed to an object). According to the spec, source maps have the - * following attributes: - * - * - version: Which version of the source map spec this map is following. - * - sources: An array of URLs to the original source files. - * - names: An array of identifiers which can be referrenced by individual mappings. - * - sourceRoot: Optional. The URL root from which all sources are relative. - * - sourcesContent: Optional. An array of contents of the original source files. - * - mappings: A string of base64 VLQs which contain the actual mappings. - * - file: Optional. The generated file this source map is associated with. - * - * Here is an example source map, taken from the source map spec[0]: - * - * { - * version : 3, - * file: "out.js", - * sourceRoot : "", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AA,AB;;ABCDE;" - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# - */ -function BasicSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sources = util.getArg(sourceMap, 'sources'); - // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which - // requires the array) to play nice here. - var names = util.getArg(sourceMap, 'names', []); - var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); - var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); - var mappings = util.getArg(sourceMap, 'mappings'); - var file = util.getArg(sourceMap, 'file', null); - - // Once again, Sass deviates from the spec and supplies the version as a - // string rather than a number, so we use loose equality checking here. - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - sources = sources - .map(String) - // Some source maps produce relative source paths like "./foo.js" instead of - // "foo.js". Normalize these first so that future comparisons will succeed. - // See bugzil.la/1090768. - .map(util.normalize) - // Always ensure that absolute sources are internally stored relative to - // the source root, if the source root is absolute. Not doing this would - // be particularly problematic when the source root is a prefix of the - // source (valid, but why??). See github issue #199 and bugzil.la/1188982. - .map(function (source) { - return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) - ? util.relative(sourceRoot, source) - : source; - }); - - // Pass `true` below to allow duplicate names and sources. While source maps - // are intended to be compressed and deduplicated, the TypeScript compiler - // sometimes generates source maps with duplicates in them. See Github issue - // #72 and bugzil.la/889492. - this._names = ArraySet.fromArray(names.map(String), true); - this._sources = ArraySet.fromArray(sources, true); - - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this.file = file; -} - -BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); -BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; - -/** - * Create a BasicSourceMapConsumer from a SourceMapGenerator. - * - * @param SourceMapGenerator aSourceMap - * The source map that will be consumed. - * @returns BasicSourceMapConsumer - */ -BasicSourceMapConsumer.fromSourceMap = - function SourceMapConsumer_fromSourceMap(aSourceMap) { - var smc = Object.create(BasicSourceMapConsumer.prototype); - - var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); - var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), - smc.sourceRoot); - smc.file = aSourceMap._file; - - // Because we are modifying the entries (by converting string sources and - // names to indices into the sources and names ArraySets), we have to make - // a copy of the entry or else bad things happen. Shared mutable state - // strikes again! See github issue #191. - - var generatedMappings = aSourceMap._mappings.toArray().slice(); - var destGeneratedMappings = smc.__generatedMappings = []; - var destOriginalMappings = smc.__originalMappings = []; - - for (var i = 0, length = generatedMappings.length; i < length; i++) { - var srcMapping = generatedMappings[i]; - var destMapping = new Mapping; - destMapping.generatedLine = srcMapping.generatedLine; - destMapping.generatedColumn = srcMapping.generatedColumn; - - if (srcMapping.source) { - destMapping.source = sources.indexOf(srcMapping.source); - destMapping.originalLine = srcMapping.originalLine; - destMapping.originalColumn = srcMapping.originalColumn; - - if (srcMapping.name) { - destMapping.name = names.indexOf(srcMapping.name); - } - - destOriginalMappings.push(destMapping); - } - - destGeneratedMappings.push(destMapping); - } - - quickSort(smc.__originalMappings, util.compareByOriginalPositions); - - return smc; - }; - -/** - * The version of the source mapping spec that we are consuming. - */ -BasicSourceMapConsumer.prototype._version = 3; - -/** - * The list of original sources. - */ -Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { - get: function () { - return this._sources.toArray().map(function (s) { - return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; - }, this); - } -}); - -/** - * Provide the JIT with a nice shape / hidden class. - */ -function Mapping() { - this.generatedLine = 0; - this.generatedColumn = 0; - this.source = null; - this.originalLine = null; - this.originalColumn = null; - this.name = null; -} - -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ -BasicSourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var length = aStr.length; - var index = 0; - var cachedSegments = {}; - var temp = {}; - var originalMappings = []; - var generatedMappings = []; - var mapping, str, segment, end, value; - - while (index < length) { - if (aStr.charAt(index) === ';') { - generatedLine++; - index++; - previousGeneratedColumn = 0; - } - else if (aStr.charAt(index) === ',') { - index++; - } - else { - mapping = new Mapping(); - mapping.generatedLine = generatedLine; - - // Because each offset is encoded relative to the previous one, - // many segments often have the same encoding. We can exploit this - // fact by caching the parsed variable length fields of each segment, - // allowing us to avoid a second parse if we encounter the same - // segment again. - for (end = index; end < length; end++) { - if (this._charIsMappingSeparator(aStr, end)) { - break; - } - } - str = aStr.slice(index, end); - - segment = cachedSegments[str]; - if (segment) { - index += str.length; - } else { - segment = []; - while (index < end) { - base64VLQ.decode(aStr, index, temp); - value = temp.value; - index = temp.rest; - segment.push(value); - } - - if (segment.length === 2) { - throw new Error('Found a source, but no line and column'); - } - - if (segment.length === 3) { - throw new Error('Found a source and line, but no column'); - } - - cachedSegments[str] = segment; - } - - // Generated column. - mapping.generatedColumn = previousGeneratedColumn + segment[0]; - previousGeneratedColumn = mapping.generatedColumn; - - if (segment.length > 1) { - // Original source. - mapping.source = previousSource + segment[1]; - previousSource += segment[1]; - - // Original line. - mapping.originalLine = previousOriginalLine + segment[2]; - previousOriginalLine = mapping.originalLine; - // Lines are stored 0-based - mapping.originalLine += 1; - - // Original column. - mapping.originalColumn = previousOriginalColumn + segment[3]; - previousOriginalColumn = mapping.originalColumn; - - if (segment.length > 4) { - // Original name. - mapping.name = previousName + segment[4]; - previousName += segment[4]; - } - } - - generatedMappings.push(mapping); - if (typeof mapping.originalLine === 'number') { - originalMappings.push(mapping); - } - } - } - - quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); - this.__generatedMappings = generatedMappings; - - quickSort(originalMappings, util.compareByOriginalPositions); - this.__originalMappings = originalMappings; - }; - -/** - * Find the mapping that best matches the hypothetical "needle" mapping that - * we are searching for in the given "haystack" of mappings. - */ -BasicSourceMapConsumer.prototype._findMapping = - function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, - aColumnName, aComparator, aBias) { - // To return the position we are searching for, we must first find the - // mapping for the given position and then return the opposite position it - // points to. Because the mappings are sorted, we can use binary search to - // find the best mapping. - - if (aNeedle[aLineName] <= 0) { - throw new TypeError('Line must be greater than or equal to 1, got ' - + aNeedle[aLineName]); - } - if (aNeedle[aColumnName] < 0) { - throw new TypeError('Column must be greater than or equal to 0, got ' - + aNeedle[aColumnName]); - } - - return binarySearch.search(aNeedle, aMappings, aComparator, aBias); - }; - -/** - * Compute the last column for each generated mapping. The last column is - * inclusive. - */ -BasicSourceMapConsumer.prototype.computeColumnSpans = - function SourceMapConsumer_computeColumnSpans() { - for (var index = 0; index < this._generatedMappings.length; ++index) { - var mapping = this._generatedMappings[index]; - - // Mappings do not contain a field for the last generated columnt. We - // can come up with an optimistic estimate, however, by assuming that - // mappings are contiguous (i.e. given two consecutive mappings, the - // first mapping ends where the second one starts). - if (index + 1 < this._generatedMappings.length) { - var nextMapping = this._generatedMappings[index + 1]; - - if (mapping.generatedLine === nextMapping.generatedLine) { - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; - continue; - } - } - - // The last mapping for each line spans the entire line. - mapping.lastGeneratedColumn = Infinity; - } - }; - -/** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ -BasicSourceMapConsumer.prototype.originalPositionFor = - function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - var index = this._findMapping( - needle, - this._generatedMappings, - "generatedLine", - "generatedColumn", - util.compareByGeneratedPositionsDeflated, - util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) - ); - - if (index >= 0) { - var mapping = this._generatedMappings[index]; - - if (mapping.generatedLine === needle.generatedLine) { - var source = util.getArg(mapping, 'source', null); - if (source !== null) { - source = this._sources.at(source); - if (this.sourceRoot != null) { - source = util.join(this.sourceRoot, source); - } - } - var name = util.getArg(mapping, 'name', null); - if (name !== null) { - name = this._names.at(name); - } - return { - source: source, - line: util.getArg(mapping, 'originalLine', null), - column: util.getArg(mapping, 'originalColumn', null), - name: name - }; - } - } - - return { - source: null, - line: null, - column: null, - name: null - }; - }; - -/** - * Return true if we have the source content for every source in the source - * map, false otherwise. - */ -BasicSourceMapConsumer.prototype.hasContentsOfAllSources = - function BasicSourceMapConsumer_hasContentsOfAllSources() { - if (!this.sourcesContent) { - return false; - } - return this.sourcesContent.length >= this._sources.size() && - !this.sourcesContent.some(function (sc) { return sc == null; }); - }; - -/** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ -BasicSourceMapConsumer.prototype.sourceContentFor = - function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - if (!this.sourcesContent) { - return null; - } - - if (this.sourceRoot != null) { - aSource = util.relative(this.sourceRoot, aSource); - } - - if (this._sources.has(aSource)) { - return this.sourcesContent[this._sources.indexOf(aSource)]; - } - - var url; - if (this.sourceRoot != null - && (url = util.urlParse(this.sourceRoot))) { - // XXX: file:// URIs and absolute paths lead to unexpected behavior for - // many users. We can help them out when they expect file:// URIs to - // behave like it would if they were running a local HTTP server. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. - var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); - if (url.scheme == "file" - && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] - } - - if ((!url.path || url.path == "/") - && this._sources.has("/" + aSource)) { - return this.sourcesContent[this._sources.indexOf("/" + aSource)]; - } - } - - // This function is used recursively from - // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we - // don't want to throw if we can't find the source - we just want to - // return null, so we provide a flag to exit gracefully. - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; - -/** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ -BasicSourceMapConsumer.prototype.generatedPositionFor = - function SourceMapConsumer_generatedPositionFor(aArgs) { - var source = util.getArg(aArgs, 'source'); - if (this.sourceRoot != null) { - source = util.relative(this.sourceRoot, source); - } - if (!this._sources.has(source)) { - return { - line: null, - column: null, - lastColumn: null - }; - } - source = this._sources.indexOf(source); - - var needle = { - source: source, - originalLine: util.getArg(aArgs, 'line'), - originalColumn: util.getArg(aArgs, 'column') - }; - - var index = this._findMapping( - needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) - ); - - if (index >= 0) { - var mapping = this._originalMappings[index]; - - if (mapping.source === needle.source) { - return { - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }; - } - } - - return { - line: null, - column: null, - lastColumn: null - }; - }; - -exports.BasicSourceMapConsumer = BasicSourceMapConsumer; - -/** - * An IndexedSourceMapConsumer instance represents a parsed source map which - * we can query for information. It differs from BasicSourceMapConsumer in - * that it takes "indexed" source maps (i.e. ones with a "sections" field) as - * input. - * - * The only parameter is a raw source map (either as a JSON string, or already - * parsed to an object). According to the spec for indexed source maps, they - * have the following attributes: - * - * - version: Which version of the source map spec this map is following. - * - file: Optional. The generated file this source map is associated with. - * - sections: A list of section definitions. - * - * Each value under the "sections" field has two fields: - * - offset: The offset into the original specified at which this section - * begins to apply, defined as an object with a "line" and "column" - * field. - * - map: A source map definition. This source map could also be indexed, - * but doesn't have to be. - * - * Instead of the "map" field, it's also possible to have a "url" field - * specifying a URL to retrieve a source map from, but that's currently - * unsupported. - * - * Here's an example source map, taken from the source map spec[0], but - * modified to omit a section which uses the "url" field. - * - * { - * version : 3, - * file: "app.js", - * sections: [{ - * offset: {line:100, column:10}, - * map: { - * version : 3, - * file: "section.js", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AAAA,E;;ABCDE;" - * } - * }], - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt - */ -function IndexedSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sections = util.getArg(sourceMap, 'sections'); - - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - this._sources = new ArraySet(); - this._names = new ArraySet(); - - var lastOffset = { - line: -1, - column: 0 - }; - this._sections = sections.map(function (s) { - if (s.url) { - // The url field will require support for asynchronicity. - // See https://github.com/mozilla/source-map/issues/16 - throw new Error('Support for url field in sections not implemented.'); - } - var offset = util.getArg(s, 'offset'); - var offsetLine = util.getArg(offset, 'line'); - var offsetColumn = util.getArg(offset, 'column'); - - if (offsetLine < lastOffset.line || - (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { - throw new Error('Section offsets must be ordered and non-overlapping.'); - } - lastOffset = offset; - - return { - generatedOffset: { - // The offset fields are 0-based, but we use 1-based indices when - // encoding/decoding from VLQ. - generatedLine: offsetLine + 1, - generatedColumn: offsetColumn + 1 - }, - consumer: new SourceMapConsumer(util.getArg(s, 'map')) - } - }); -} - -IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); -IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; - -/** - * The version of the source mapping spec that we are consuming. - */ -IndexedSourceMapConsumer.prototype._version = 3; - -/** - * The list of original sources. - */ -Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { - get: function () { - var sources = []; - for (var i = 0; i < this._sections.length; i++) { - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { - sources.push(this._sections[i].consumer.sources[j]); - } - } - return sources; - } -}); - -/** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ -IndexedSourceMapConsumer.prototype.originalPositionFor = - function IndexedSourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - // Find the section containing the generated position we're trying to map - // to an original position. - var sectionIndex = binarySearch.search(needle, this._sections, - function(needle, section) { - var cmp = needle.generatedLine - section.generatedOffset.generatedLine; - if (cmp) { - return cmp; - } - - return (needle.generatedColumn - - section.generatedOffset.generatedColumn); - }); - var section = this._sections[sectionIndex]; - - if (!section) { - return { - source: null, - line: null, - column: null, - name: null - }; - } - - return section.consumer.originalPositionFor({ - line: needle.generatedLine - - (section.generatedOffset.generatedLine - 1), - column: needle.generatedColumn - - (section.generatedOffset.generatedLine === needle.generatedLine - ? section.generatedOffset.generatedColumn - 1 - : 0), - bias: aArgs.bias - }); - }; - -/** - * Return true if we have the source content for every source in the source - * map, false otherwise. - */ -IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = - function IndexedSourceMapConsumer_hasContentsOfAllSources() { - return this._sections.every(function (s) { - return s.consumer.hasContentsOfAllSources(); - }); - }; - -/** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ -IndexedSourceMapConsumer.prototype.sourceContentFor = - function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - var content = section.consumer.sourceContentFor(aSource, true); - if (content) { - return content; - } - } - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; - -/** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ -IndexedSourceMapConsumer.prototype.generatedPositionFor = - function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - // Only consider this section if the requested source is in the list of - // sources of the consumer. - if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { - continue; - } - var generatedPosition = section.consumer.generatedPositionFor(aArgs); - if (generatedPosition) { - var ret = { - line: generatedPosition.line + - (section.generatedOffset.generatedLine - 1), - column: generatedPosition.column + - (section.generatedOffset.generatedLine === generatedPosition.line - ? section.generatedOffset.generatedColumn - 1 - : 0) - }; - return ret; - } - } - - return { - line: null, - column: null - }; - }; - -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ -IndexedSourceMapConsumer.prototype._parseMappings = - function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { - this.__generatedMappings = []; - this.__originalMappings = []; - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var sectionMappings = section.consumer._generatedMappings; - for (var j = 0; j < sectionMappings.length; j++) { - var mapping = sectionMappings[j]; - - var source = section.consumer._sources.at(mapping.source); - if (section.consumer.sourceRoot !== null) { - source = util.join(section.consumer.sourceRoot, source); - } - this._sources.add(source); - source = this._sources.indexOf(source); - - var name = section.consumer._names.at(mapping.name); - this._names.add(name); - name = this._names.indexOf(name); - - // The mappings coming from the consumer for the section have - // generated positions relative to the start of the section, so we - // need to offset them to be relative to the start of the concatenated - // generated file. - var adjustedMapping = { - source: source, - generatedLine: mapping.generatedLine + - (section.generatedOffset.generatedLine - 1), - generatedColumn: mapping.generatedColumn + - (section.generatedOffset.generatedLine === mapping.generatedLine - ? section.generatedOffset.generatedColumn - 1 - : 0), - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: name - }; - - this.__generatedMappings.push(adjustedMapping); - if (typeof adjustedMapping.originalLine === 'number') { - this.__originalMappings.push(adjustedMapping); - } - } - } - - quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); - quickSort(this.__originalMappings, util.compareByOriginalPositions); - }; - -exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; - -},{"./array-set":173,"./base64-vlq":174,"./binary-search":176,"./quick-sort":178,"./util":182}],180:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var base64VLQ = require('./base64-vlq'); -var util = require('./util'); -var ArraySet = require('./array-set').ArraySet; -var MappingList = require('./mapping-list').MappingList; - -/** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. You may pass an object with the following - * properties: - * - * - file: The filename of the generated source. - * - sourceRoot: A root for all relative URLs in this source map. - */ -function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; - } - this._file = util.getArg(aArgs, 'file', null); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._skipValidation = util.getArg(aArgs, 'skipValidation', false); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = new MappingList(); - this._sourcesContents = null; -} - -SourceMapGenerator.prototype._version = 3; - -/** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. - */ -SourceMapGenerator.fromSourceMap = - function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; - - if (mapping.source != null) { - newMapping.source = mapping.source; - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } - - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; - }; - -/** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ -SourceMapGenerator.prototype.addMapping = - function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); - - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } - - if (source != null) { - source = String(source); - if (!this._sources.has(source)) { - this._sources.add(source); - } - } - - if (name != null) { - name = String(name); - if (!this._names.has(name)) { - this._names.add(name); - } - } - - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); - }; - -/** - * Set the source content for a source file. - */ -SourceMapGenerator.prototype.setSourceContent = - function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } - - if (aSourceContent != null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = Object.create(null); - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } - }; - -/** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - * @param aSourceMapPath Optional. The dirname of the path to the source map - * to be applied. If relative, it is relative to the SourceMapConsumer. - * This parameter is needed when the two source maps aren't in the same - * directory, and the source map to be applied contains relative source - * paths. If so, those relative source paths need to be rewritten - * relative to the SourceMapGenerator. - */ -SourceMapGenerator.prototype.applySourceMap = - function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; - // If aSourceFile is omitted, we will use the file property of the SourceMap - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error( - 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + - 'or the source map\'s "file" property. Both were omitted.' - ); - } - sourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - // Make "sourceFile" relative if an absolute Url is passed. - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - // Applying the SourceMap can add and remove items from the sources and - // the names array. - var newSources = new ArraySet(); - var newNames = new ArraySet(); - - // Find mappings for the "sourceFile" - this._mappings.unsortedForEach(function (mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source != null) { - // Copy mapping - mapping.source = original.source; - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source) - } - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name != null) { - mapping.name = original.name; - } - } - } - - var source = mapping.source; - if (source != null && !newSources.has(source)) { - newSources.add(source); - } - - var name = mapping.name; - if (name != null && !newNames.has(name)) { - newNames.add(name); - } - - }, this); - this._sources = newSources; - this._names = newNames; - - // Copy sourcesContents of applied map. - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aSourceMapPath != null) { - sourceFile = util.join(aSourceMapPath, sourceFile); - } - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - this.setSourceContent(sourceFile, content); - } - }, this); - }; - -/** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ -SourceMapGenerator.prototype._validateMapping = - function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, - aName) { - // When aOriginal is truthy but has empty values for .line and .column, - // it is most likely a programmer error. In this case we throw a very - // specific error message to try to guide them the right way. - // For example: https://github.com/Polymer/polymer-bundler/pull/519 - if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { - throw new Error( - 'original.line and original.column are not numbers -- you probably meant to omit ' + - 'the original mapping entirely and only map the generated position. If so, pass ' + - 'null for the original mapping instead of an object with empty or null values.' - ); - } - - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aGenerated.line > 0 && aGenerated.column >= 0 - && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } - else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aOriginal && 'line' in aOriginal && 'column' in aOriginal - && aGenerated.line > 0 && aGenerated.column >= 0 - && aOriginal.line > 0 && aOriginal.column >= 0 - && aSource) { - // Cases 2 and 3. - return; - } - else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } - }; - -/** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. - */ -SourceMapGenerator.prototype._serializeMappings = - function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var next; - var mapping; - var nameIdx; - var sourceIdx; - - var mappings = this._mappings.toArray(); - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - next = '' - - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - next += ';'; - previousGeneratedLine++; - } - } - else { - if (i > 0) { - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { - continue; - } - next += ','; - } - } - - next += base64VLQ.encode(mapping.generatedColumn - - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; - - if (mapping.source != null) { - sourceIdx = this._sources.indexOf(mapping.source); - next += base64VLQ.encode(sourceIdx - previousSource); - previousSource = sourceIdx; - - // lines are stored 0-based in SourceMap spec version 3 - next += base64VLQ.encode(mapping.originalLine - 1 - - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; - - next += base64VLQ.encode(mapping.originalColumn - - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; - - if (mapping.name != null) { - nameIdx = this._names.indexOf(mapping.name); - next += base64VLQ.encode(nameIdx - previousName); - previousName = nameIdx; - } - } - - result += next; - } - - return result; - }; - -SourceMapGenerator.prototype._generateSourcesContent = - function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) - ? this._sourcesContents[key] - : null; - }, this); - }; - -/** - * Externalize the source map. - */ -SourceMapGenerator.prototype.toJSON = - function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._file != null) { - map.file = this._file; - } - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } - - return map; - }; - -/** - * Render the source map being generated to a string. - */ -SourceMapGenerator.prototype.toString = - function SourceMapGenerator_toString() { - return JSON.stringify(this.toJSON()); - }; - -exports.SourceMapGenerator = SourceMapGenerator; - -},{"./array-set":173,"./base64-vlq":174,"./mapping-list":177,"./util":182}],181:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; -var util = require('./util'); - -// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other -// operating systems these days (capturing the result). -var REGEX_NEWLINE = /(\r?\n)/; - -// Newline character code for charCodeAt() comparisons -var NEWLINE_CODE = 10; - -// Private symbol for identifying `SourceNode`s when multiple versions of -// the source-map library are loaded. This MUST NOT CHANGE across -// versions! -var isSourceNode = "$$$isSourceNode$$$"; - -/** - * SourceNodes provide a way to abstract over interpolating/concatenating - * snippets of generated JavaScript source code while maintaining the line and - * column information associated with the original source code. - * - * @param aLine The original line number. - * @param aColumn The original column number. - * @param aSource The original source's filename. - * @param aChunks Optional. An array of strings which are snippets of - * generated JS, or other SourceNodes. - * @param aName The original identifier. - */ -function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine == null ? null : aLine; - this.column = aColumn == null ? null : aColumn; - this.source = aSource == null ? null : aSource; - this.name = aName == null ? null : aName; - this[isSourceNode] = true; - if (aChunks != null) this.add(aChunks); -} - -/** - * Creates a SourceNode from generated code and a SourceMapConsumer. - * - * @param aGeneratedCode The generated code - * @param aSourceMapConsumer The SourceMap for the generated code - * @param aRelativePath Optional. The path that relative sources in the - * SourceMapConsumer should be relative to. - */ -SourceNode.fromStringWithSourceMap = - function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { - // The SourceNode we want to fill with the generated code - // and the SourceMap - var node = new SourceNode(); - - // All even indices of this array are one line of the generated code, - // while all odd indices are the newlines between two adjacent lines - // (since `REGEX_NEWLINE` captures its match). - // Processed fragments are accessed by calling `shiftNextLine`. - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); - var remainingLinesIndex = 0; - var shiftNextLine = function() { - var lineContents = getNextLine(); - // The last line of a file might not have a newline. - var newLine = getNextLine() || ""; - return lineContents + newLine; - - function getNextLine() { - return remainingLinesIndex < remainingLines.length ? - remainingLines[remainingLinesIndex++] : undefined; - } - }; - - // We need to remember the position of "remainingLines" - var lastGeneratedLine = 1, lastGeneratedColumn = 0; - - // The generate SourceNodes we need a code range. - // To extract it current and last mapping is used. - // Here we store the last mapping. - var lastMapping = null; - - aSourceMapConsumer.eachMapping(function (mapping) { - if (lastMapping !== null) { - // We add the code from "lastMapping" to "mapping": - // First check if there is a new line in between. - if (lastGeneratedLine < mapping.generatedLine) { - // Associate first line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - lastGeneratedLine++; - lastGeneratedColumn = 0; - // The remaining code is added without mapping - } else { - // There is no new line in between. - // Associate the code between "lastGeneratedColumn" and - // "mapping.generatedColumn" with "lastMapping" - var nextLine = remainingLines[remainingLinesIndex]; - var code = nextLine.substr(0, mapping.generatedColumn - - lastGeneratedColumn); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); - // No more remaining code, continue - lastMapping = mapping; - return; - } - } - // We add the generated code until the first mapping - // to the SourceNode without any mapping. - // Each line is added as separate string. - while (lastGeneratedLine < mapping.generatedLine) { - node.add(shiftNextLine()); - lastGeneratedLine++; - } - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[remainingLinesIndex]; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - lastMapping = mapping; - }, this); - // We have processed all mappings. - if (remainingLinesIndex < remainingLines.length) { - if (lastMapping) { - // Associate the remaining code in the current line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - } - // and add the remaining lines without any mapping - node.add(remainingLines.splice(remainingLinesIndex).join("")); - } - - // Copy sourcesContent into SourceNode - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aRelativePath != null) { - sourceFile = util.join(aRelativePath, sourceFile); - } - node.setSourceContent(sourceFile, content); - } - }); - - return node; - - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === undefined) { - node.add(code); - } else { - var source = aRelativePath - ? util.join(aRelativePath, mapping.source) - : mapping.source; - node.add(new SourceNode(mapping.originalLine, - mapping.originalColumn, - source, - code, - mapping.name)); - } - } - }; - -/** - * Add a chunk of generated JS to this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ -SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function (chunk) { - this.add(chunk); - }, this); - } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); - } - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; -}; - -/** - * Add a chunk of generated JS to the beginning of this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ -SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length-1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - this.children.unshift(aChunk); - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; -}; - -/** - * Walk over the tree of JS snippets in this node and its children. The - * walking function is called once for each snippet of JS and is passed that - * snippet and the its original associated source's line/column location. - * - * @param aFn The traversal function. - */ -SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - if (chunk[isSourceNode]) { - chunk.walk(aFn); - } - else { - if (chunk !== '') { - aFn(chunk, { source: this.source, - line: this.line, - column: this.column, - name: this.name }); - } - } - } -}; - -/** - * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between - * each of `this.children`. - * - * @param aSep The separator. - */ -SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - if (len > 0) { - newChildren = []; - for (i = 0; i < len-1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - newChildren.push(this.children[i]); - this.children = newChildren; - } - return this; -}; - -/** - * Call String.prototype.replace on the very right-most source snippet. Useful - * for trimming whitespace from the end of a source node, etc. - * - * @param aPattern The pattern to replace. - * @param aReplacement The thing to replace the pattern with. - */ -SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - if (lastChild[isSourceNode]) { - lastChild.replaceRight(aPattern, aReplacement); - } - else if (typeof lastChild === 'string') { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); - } - else { - this.children.push(''.replace(aPattern, aReplacement)); - } - return this; -}; - -/** - * Set the source content for a source file. This will be added to the SourceMapGenerator - * in the sourcesContent field. - * - * @param aSourceFile The filename of the source file - * @param aSourceContent The content of the source file - */ -SourceNode.prototype.setSourceContent = - function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; - }; - -/** - * Walk over the tree of SourceNodes. The walking function is called for each - * source file content and is passed the filename and source content. - * - * @param aFn The traversal function. - */ -SourceNode.prototype.walkSourceContents = - function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i][isSourceNode]) { - this.children[i].walkSourceContents(aFn); - } - } - - var sources = Object.keys(this.sourceContents); - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); - } - }; - -/** - * Return the string representation of this source node. Walks over the tree - * and concatenates all the various snippets together to one string. - */ -SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function (chunk) { - str += chunk; - }); - return str; -}; - -/** - * Returns the string representation of this source node along with a source - * map. - */ -SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function (chunk, original) { - generated.code += chunk; - if (original.source !== null - && original.line !== null - && original.column !== null) { - if(lastOriginalSource !== original.source - || lastOriginalLine !== original.line - || lastOriginalColumn !== original.column - || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - for (var idx = 0, length = chunk.length; idx < length; idx++) { - if (chunk.charCodeAt(idx) === NEWLINE_CODE) { - generated.line++; - generated.column = 0; - // Mappings end at eol - if (idx + 1 === length) { - lastOriginalSource = null; - sourceMappingActive = false; - } else if (sourceMappingActive) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - } else { - generated.column++; - } - } - }); - this.walkSourceContents(function (sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); - - return { code: generated.code, map: map }; -}; - -exports.SourceNode = SourceNode; - -},{"./source-map-generator":180,"./util":182}],182:[function(require,module,exports){ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -/** - * This is a helper function for getting values from parameter/options - * objects. - * - * @param args The object we are extracting values from - * @param name The name of the property we are getting. - * @param defaultValue An optional value to return if the property is missing - * from the object. If this is not specified and the property is missing, an - * error will be thrown. - */ -function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } -} -exports.getArg = getArg; - -var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; -var dataUrlRegexp = /^data:.+\,.+$/; - -function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - if (!match) { - return null; - } - return { - scheme: match[1], - auth: match[2], - host: match[3], - port: match[4], - path: match[5] - }; -} -exports.urlParse = urlParse; - -function urlGenerate(aParsedUrl) { - var url = ''; - if (aParsedUrl.scheme) { - url += aParsedUrl.scheme + ':'; - } - url += '//'; - if (aParsedUrl.auth) { - url += aParsedUrl.auth + '@'; - } - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port - } - if (aParsedUrl.path) { - url += aParsedUrl.path; - } - return url; -} -exports.urlGenerate = urlGenerate; - -/** - * Normalizes a path, or the path portion of a URL: - * - * - Replaces consecutive slashes with one slash. - * - Removes unnecessary '.' parts. - * - Removes unnecessary '/..' parts. - * - * Based on code in the Node.js 'path' core module. - * - * @param aPath The path or url to normalize. - */ -function normalize(aPath) { - var path = aPath; - var url = urlParse(aPath); - if (url) { - if (!url.path) { - return aPath; - } - path = url.path; - } - var isAbsolute = exports.isAbsolute(path); - - var parts = path.split(/\/+/); - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { - part = parts[i]; - if (part === '.') { - parts.splice(i, 1); - } else if (part === '..') { - up++; - } else if (up > 0) { - if (part === '') { - // The first part is blank if the path is absolute. Trying to go - // above the root is a no-op. Therefore we can remove all '..' parts - // directly after the root. - parts.splice(i + 1, up); - up = 0; - } else { - parts.splice(i, 2); - up--; - } - } - } - path = parts.join('/'); - - if (path === '') { - path = isAbsolute ? '/' : '.'; - } - - if (url) { - url.path = path; - return urlGenerate(url); - } - return path; -} -exports.normalize = normalize; - -/** - * Joins two paths/URLs. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be joined with the root. - * - * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a - * scheme-relative URL: Then the scheme of aRoot, if any, is prepended - * first. - * - Otherwise aPath is a path. If aRoot is a URL, then its path portion - * is updated with the result and aRoot is returned. Otherwise the result - * is returned. - * - If aPath is absolute, the result is aPath. - * - Otherwise the two paths are joined with a slash. - * - Joining for example 'http://' and 'www.example.com' is also supported. - */ -function join(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - if (aPath === "") { - aPath = "."; - } - var aPathUrl = urlParse(aPath); - var aRootUrl = urlParse(aRoot); - if (aRootUrl) { - aRoot = aRootUrl.path || '/'; - } - - // `join(foo, '//www.example.org')` - if (aPathUrl && !aPathUrl.scheme) { - if (aRootUrl) { - aPathUrl.scheme = aRootUrl.scheme; - } - return urlGenerate(aPathUrl); - } - - if (aPathUrl || aPath.match(dataUrlRegexp)) { - return aPath; - } - - // `join('http://', 'www.example.com')` - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { - aRootUrl.host = aPath; - return urlGenerate(aRootUrl); - } - - var joined = aPath.charAt(0) === '/' - ? aPath - : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); - - if (aRootUrl) { - aRootUrl.path = joined; - return urlGenerate(aRootUrl); - } - return joined; -} -exports.join = join; - -exports.isAbsolute = function (aPath) { - return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp); -}; - -/** - * Make a path relative to a URL or another path. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be made relative to aRoot. - */ -function relative(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - - aRoot = aRoot.replace(/\/$/, ''); - - // It is possible for the path to be above the root. In this case, simply - // checking whether the root is a prefix of the path won't work. Instead, we - // need to remove components from the root one by one, until either we find - // a prefix that fits, or we run out of components to remove. - var level = 0; - while (aPath.indexOf(aRoot + '/') !== 0) { - var index = aRoot.lastIndexOf("/"); - if (index < 0) { - return aPath; - } - - // If the only part of the root that is left is the scheme (i.e. http://, - // file:///, etc.), one or more slashes (/), or simply nothing at all, we - // have exhausted all components, so the path is not relative to the root. - aRoot = aRoot.slice(0, index); - if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { - return aPath; - } - - ++level; - } - - // Make sure we add a "../" for each component we removed from the root. - return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); -} -exports.relative = relative; - -var supportsNullProto = (function () { - var obj = Object.create(null); - return !('__proto__' in obj); -}()); - -function identity (s) { - return s; -} - -/** - * Because behavior goes wacky when you set `__proto__` on objects, we - * have to prefix all the strings in our set with an arbitrary character. - * - * See https://github.com/mozilla/source-map/pull/31 and - * https://github.com/mozilla/source-map/issues/30 - * - * @param String aStr - */ -function toSetString(aStr) { - if (isProtoString(aStr)) { - return '$' + aStr; - } - - return aStr; -} -exports.toSetString = supportsNullProto ? identity : toSetString; - -function fromSetString(aStr) { - if (isProtoString(aStr)) { - return aStr.slice(1); - } - - return aStr; -} -exports.fromSetString = supportsNullProto ? identity : fromSetString; - -function isProtoString(s) { - if (!s) { - return false; - } - - var length = s.length; - - if (length < 9 /* "__proto__".length */) { - return false; - } - - if (s.charCodeAt(length - 1) !== 95 /* '_' */ || - s.charCodeAt(length - 2) !== 95 /* '_' */ || - s.charCodeAt(length - 3) !== 111 /* 'o' */ || - s.charCodeAt(length - 4) !== 116 /* 't' */ || - s.charCodeAt(length - 5) !== 111 /* 'o' */ || - s.charCodeAt(length - 6) !== 114 /* 'r' */ || - s.charCodeAt(length - 7) !== 112 /* 'p' */ || - s.charCodeAt(length - 8) !== 95 /* '_' */ || - s.charCodeAt(length - 9) !== 95 /* '_' */) { - return false; - } - - for (var i = length - 10; i >= 0; i--) { - if (s.charCodeAt(i) !== 36 /* '$' */) { - return false; - } - } - - return true; -} - -/** - * Comparator between two mappings where the original positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same original source/line/column, but different generated - * line and column the same. Useful when searching for a mapping with a - * stubbed out mapping. - */ -function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp = mappingA.source - mappingB.source; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0 || onlyCompareOriginal) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - - return mappingA.name - mappingB.name; -} -exports.compareByOriginalPositions = compareByOriginalPositions; - -/** - * Comparator between two mappings with deflated source and name indices where - * the generated positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same generated line and column, but different - * source/name/original line and column the same. Useful when searching for a - * mapping with a stubbed out mapping. - */ -function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0 || onlyCompareGenerated) { - return cmp; - } - - cmp = mappingA.source - mappingB.source; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; - } - - return mappingA.name - mappingB.name; -} -exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - -function strcmp(aStr1, aStr2) { - if (aStr1 === aStr2) { - return 0; - } - - if (aStr1 > aStr2) { - return 1; - } - - return -1; -} - -/** - * Comparator between two mappings with inflated source and name strings where - * the generated positions are compared. - */ -function compareByGeneratedPositionsInflated(mappingA, mappingB) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } - - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; - } - - return strcmp(mappingA.name, mappingB.name); -} -exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; - -},{}],183:[function(require,module,exports){ -/* - * Copyright 2009-2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE.txt or: - * http://opensource.org/licenses/BSD-3-Clause - */ -exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; -exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; -exports.SourceNode = require('./lib/source-node').SourceNode; - -},{"./lib/source-map-consumer":179,"./lib/source-map-generator":180,"./lib/source-node":181}],184:[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. - -module.exports = Stream; - -var EE = require('events').EventEmitter; -var inherits = require('inherits'); - -inherits(Stream, EE); -Stream.Readable = require('readable-stream/readable.js'); -Stream.Writable = require('readable-stream/writable.js'); -Stream.Duplex = require('readable-stream/duplex.js'); -Stream.Transform = require('readable-stream/transform.js'); -Stream.PassThrough = require('readable-stream/passthrough.js'); - -// Backwards-compat with node 0.4.x -Stream.Stream = Stream; - - - -// old-style streams. Note that the pipe method (the only relevant -// part of this class) is overridden in the Readable class. - -function Stream() { - EE.call(this); -} - -Stream.prototype.pipe = function(dest, options) { - var source = this; - - function ondata(chunk) { - if (dest.writable) { - if (false === dest.write(chunk) && source.pause) { - source.pause(); - } - } - } - - source.on('data', ondata); - - function ondrain() { - if (source.readable && source.resume) { - source.resume(); - } - } - - dest.on('drain', ondrain); - - // If the 'end' option is not supplied, dest.end() will be called when - // source gets the 'end' or 'close' events. Only dest.end() once. - if (!dest._isStdio && (!options || options.end !== false)) { - source.on('end', onend); - source.on('close', onclose); - } - - var didOnEnd = false; - function onend() { - if (didOnEnd) return; - didOnEnd = true; - - dest.end(); - } - - - function onclose() { - if (didOnEnd) return; - didOnEnd = true; - - if (typeof dest.destroy === 'function') dest.destroy(); - } - - // don't leave dangling pipes when there are errors. - function onerror(er) { - cleanup(); - if (EE.listenerCount(this, 'error') === 0) { - throw er; // Unhandled stream error in pipe. - } - } - - source.on('error', onerror); - dest.on('error', onerror); - - // remove all the event listeners that were added. - function cleanup() { - source.removeListener('data', ondata); - dest.removeListener('drain', ondrain); - - source.removeListener('end', onend); - source.removeListener('close', onclose); - - source.removeListener('error', onerror); - dest.removeListener('error', onerror); - - source.removeListener('end', cleanup); - source.removeListener('close', cleanup); - - dest.removeListener('close', cleanup); - } - - source.on('end', cleanup); - source.on('close', cleanup); - - dest.on('close', cleanup); - - dest.emit('pipe', source); - - // Allow for unix-like usage: A.pipe(B).pipe(C) - return dest; -}; - -},{"events":83,"inherits":117,"readable-stream/duplex.js":146,"readable-stream/passthrough.js":157,"readable-stream/readable.js":158,"readable-stream/transform.js":159,"readable-stream/writable.js":160}],185:[function(require,module,exports){ -'use strict'; - -var Buffer = require('safe-buffer').Buffer; - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; - -StringDecoder.prototype.end = utf8End; - -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; - -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return -1; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'.repeat(p); - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'.repeat(p + 1); - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'.repeat(p + 2); - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character for each buffered byte of a (partial) -// character needs to be added to the output. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'.repeat(this.lastTotal - this.lastNeed); - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} - -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} -},{"safe-buffer":186}],186:[function(require,module,exports){ -arguments[4][155][0].apply(exports,arguments) -},{"buffer":47,"dup":155}],187:[function(require,module,exports){ -(function (setImmediate,clearImmediate){ -var nextTick = require('process/browser.js').nextTick; -var apply = Function.prototype.apply; -var slice = Array.prototype.slice; -var immediateIds = {}; -var nextImmediateId = 0; - -// DOM APIs, for completeness - -exports.setTimeout = function() { - return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); -}; -exports.setInterval = function() { - return new Timeout(apply.call(setInterval, window, arguments), clearInterval); -}; -exports.clearTimeout = -exports.clearInterval = function(timeout) { timeout.close(); }; - -function Timeout(id, clearFn) { - this._id = id; - this._clearFn = clearFn; -} -Timeout.prototype.unref = Timeout.prototype.ref = function() {}; -Timeout.prototype.close = function() { - this._clearFn.call(window, this._id); -}; - -// Does not start the time, just sets up the members needed. -exports.enroll = function(item, msecs) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = msecs; -}; - -exports.unenroll = function(item) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = -1; -}; - -exports._unrefActive = exports.active = function(item) { - clearTimeout(item._idleTimeoutId); - - var msecs = item._idleTimeout; - if (msecs >= 0) { - item._idleTimeoutId = setTimeout(function onTimeout() { - if (item._onTimeout) - item._onTimeout(); - }, msecs); - } -}; - -// That's not how node.js implements it but the exposed api is the same. -exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { - var id = nextImmediateId++; - var args = arguments.length < 2 ? false : slice.call(arguments, 1); - - immediateIds[id] = true; - - nextTick(function onNextTick() { - if (immediateIds[id]) { - // fn.call() is faster so we optimize for the common use-case - // @see http://jsperf.com/call-apply-segu - if (args) { - fn.apply(null, args); - } else { - fn.call(null); - } - // Prevent ids from leaking - exports.clearImmediate(id); - } - }); - - return id; -}; - -exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { - delete immediateIds[id]; -}; -}).call(this,require("timers").setImmediate,require("timers").clearImmediate) -},{"process/browser.js":136,"timers":187}],188:[function(require,module,exports){ -(function (global){ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],189:[function(require,module,exports){ -var indexOf = require('indexof'); - -var Object_keys = function (obj) { - if (Object.keys) return Object.keys(obj) - else { - var res = []; - for (var key in obj) res.push(key) - return res; - } -}; - -var forEach = function (xs, fn) { - if (xs.forEach) return xs.forEach(fn) - else for (var i = 0; i < xs.length; i++) { - fn(xs[i], i, xs); - } -}; - -var defineProp = (function() { - try { - Object.defineProperty({}, '_', {}); - return function(obj, name, value) { - Object.defineProperty(obj, name, { - writable: true, - enumerable: false, - configurable: true, - value: value - }) - }; - } catch(e) { - return function(obj, name, value) { - obj[name] = value; - }; - } -}()); - -var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', -'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', -'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', -'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', -'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; - -function Context() {} -Context.prototype = {}; - -var Script = exports.Script = function NodeScript (code) { - if (!(this instanceof Script)) return new Script(code); - this.code = code; -}; - -Script.prototype.runInContext = function (context) { - if (!(context instanceof Context)) { - throw new TypeError("needs a 'context' argument."); - } - - var iframe = document.createElement('iframe'); - if (!iframe.style) iframe.style = {}; - iframe.style.display = 'none'; - - document.body.appendChild(iframe); - - var win = iframe.contentWindow; - var wEval = win.eval, wExecScript = win.execScript; - - if (!wEval && wExecScript) { - // win.eval() magically appears when this is called in IE: - wExecScript.call(win, 'null'); - wEval = win.eval; - } - - forEach(Object_keys(context), function (key) { - win[key] = context[key]; - }); - forEach(globals, function (key) { - if (context[key]) { - win[key] = context[key]; - } - }); - - var winKeys = Object_keys(win); - - var res = wEval.call(win, this.code); - - forEach(Object_keys(win), function (key) { - // Avoid copying circular objects like `top` and `window` by only - // updating existing context properties or new properties in the `win` - // that was only introduced after the eval. - if (key in context || indexOf(winKeys, key) === -1) { - context[key] = win[key]; - } - }); - - forEach(globals, function (key) { - if (!(key in context)) { - defineProp(context, key, win[key]); - } - }); - - document.body.removeChild(iframe); - - return res; -}; - -Script.prototype.runInThisContext = function () { - return eval(this.code); // maybe... -}; - -Script.prototype.runInNewContext = function (context) { - var ctx = Script.createContext(context); - var res = this.runInContext(ctx); - - forEach(Object_keys(ctx), function (key) { - context[key] = ctx[key]; - }); - - return res; -}; - -forEach(Object_keys(Script.prototype), function (name) { - exports[name] = Script[name] = function (code) { - var s = Script(code); - return s[name].apply(s, [].slice.call(arguments, 1)); - }; -}); - -exports.createScript = function (code) { - return exports.Script(code); -}; - -exports.createContext = Script.createContext = function (context) { - var copy = new Context(); - if(typeof context === 'object') { - forEach(Object_keys(context), function (key) { - copy[key] = context[key]; - }); - } - return copy; -}; - -},{"indexof":116}],190:[function(require,module,exports){ -// -// When building a standalone, browserify will parse this file -// and produce a version which include each dependency that is required() -// -sexpr = require("s-expression"); -define("s-expression", [], function() {return sexpr;}); - -q = require("q"); -define("q", [], function() {return q;}); - -seedrandom = require("seedrandom"); -define("seedrandom", [], function() {return seedrandom;}); - -sourcemap = require("source-map"); -define("source-map", [], function () { return sourcemap; }); - -jssha256 = require("js-sha256"); -define("js-sha256", [], function () { return jssha256; }); - -fs = nodeRequire("fs"); -define("fs", [], function () { return fs; }); - -path = nodeRequire("path"); -define("path", [], function () { return path; }); - -http = nodeRequire("http"); -define("http", [], function () {return http;}); - - -},{"js-sha256":120,"q":143,"s-expression":162,"seedrandom":164,"source-map":183}]},{},[190]); -// Modifications to Danny Yoo's js-numbers library, whose LICENSE is: - -/* - -Licensing ---------- - -This software is covered under the following copyright: - - * - * Copyright (c) 2010 Danny Yoo - * All Rights Reserved. - * - * 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" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - * - -====================================================================== - -js-numbers uses code from the jsbn library. The LICENSE to it is: - -Licensing ---------- - -This software is covered under the following copyright: - - * - * Copyright (c) 2003-2005 Tom Wu - * All Rights Reserved. - * - * 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" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - * - -Address all questions regarding this license to: - - Tom Wu - tjw@cs.Stanford.EDU - -*/ - -/* - -No notion of levels (complex, exact, inexact, flonum). - -No complex numbers. - -Added roughnums. - -pyretnum := fixnum | boxnum - -A fixnum is simply a JS double, and we prefer to use them -whenever possible, viz., for integers that are small enough. - -boxnum := BigInteger | Rational | Roughnum. - -An integer is either a fixnum or a BigInteger. - -*/ - -define("pyret-base/js/js-numbers", function() { - 'use strict'; - // Abbreviation - var Numbers = {}; - - // makeNumericBinop: (fixnum fixnum -> any) (pyretnum pyretnum -> any) -> (pyretnum pyretnum) X - // Creates a binary function that works either on fixnums or boxnums. - // Applies the appropriate binary function, ensuring that both pyretnums are - // coerced to be the same kind. - var makeNumericBinop = function(onFixnums, onBoxednums, options) { - options = options || {}; - return function(x, y, errbacks) { - - if (options.isXSpecialCase && options.isXSpecialCase(x, errbacks)) - return options.onXSpecialCase(x, y, errbacks); - if (options.isYSpecialCase && options.isYSpecialCase(y, errbacks)) - return options.onYSpecialCase(x, y, errbacks); - - if (typeof(x) === 'number' && - typeof(y) === 'number') { - return onFixnums(x, y, errbacks); - } - - if (typeof(x) === 'number') { - x = liftFixnumInteger(x, y); - } - if (typeof(y) === 'number') { - y = liftFixnumInteger(y, x); - } - - if (x instanceof Roughnum) { - // y is rough, rat or bigint - if (!(y instanceof Roughnum)) { - // y is rat or bigint - y = y.toRoughnum(errbacks); - } - } else if (y instanceof Roughnum) { - // x is rat or bigint - x = x.toRoughnum(errbacks); - } else if (x instanceof Rational) { - // y is rat or bigint - if (!(y instanceof Rational)) { - // y is bigint - y = new Rational(y, 1); - } - } else if (y instanceof Rational) { - // x is bigint - x = new Rational(x, 1); - } - - return onBoxednums(x, y, errbacks); - }; - }; - - // fromFixnum: fixnum -> pyretnum - var fromFixnum = function(x, errbacks) { - if (!isFinite(x)) { - return Roughnum.makeInstance(x, errbacks); - } - var nf = Math.floor(x); - if (nf === x) { - if (isOverflow(nf)) { - return makeBignum(expandExponent(x+'')); - } else { - return nf; - } - } else { - // used to return float, now rational - var stringRep = x.toString(); - var match = stringRep.match(/^(.*)\.(.*)$/); - if (match) { - var afterDecimal = parseInt(match[2]); - var factorToInt = Math.pow(10, match[2].length); - var extraFactor = _integerGcd(factorToInt, afterDecimal); - var multFactor = factorToInt / extraFactor; - return Rational.makeInstance(Math.round(x*multFactor), Math.round(factorToInt/extraFactor), errbacks); - } else { - return Rational.makeInstance(x, 1, errbacks); - } - - } - }; - - var expandExponent = function(s) { - var match = s.match(scientificPattern), mantissaChunks, exponent; - if (match) { - mantissaChunks = match[1].match(/^([^.]*)(.*)$/); - exponent = Number(match[2]); - - if (mantissaChunks[2].length === 0) { - return mantissaChunks[1] + zfill(exponent); - } - - if (exponent >= mantissaChunks[2].length - 1) { - return (mantissaChunks[1] + - mantissaChunks[2].substring(1) + - zfill(exponent - (mantissaChunks[2].length - 1))); - } else { - return (mantissaChunks[1] + - mantissaChunks[2].substring(1, 1+exponent)); - } - } else { - return s; - } - }; - - // zfill: integer -> string - // builds a string of "0"'s of length n. - var zfill = function(n) { - var buffer = []; - buffer.length = n; - for (var i = 0; i < n; i++) { - buffer[i] = '0'; - } - return buffer.join(''); - }; - - // liftFixnumInteger: fixnum-integer boxed-pyretnum -> boxed-pyretnum - // Lifts up fixnum integers to a boxed type. - - var liftFixnumInteger = function(x, other, errbacks) { - if (other instanceof Roughnum) - return new Roughnum(x, errbacks); - else if (other instanceof BigInteger) - return makeBignum(x); - else - return new Rational(x, 1, errbacks); - }; - - - // isPyretNumber: any -> boolean - // Returns true if the thing is a pyretnum - var isPyretNumber = function(thing) { - return (typeof(thing) === 'number' - || (thing instanceof Rational || - thing instanceof Roughnum || - thing instanceof BigInteger)); - }; - - // isRational: pyretnum -> boolean - var isRational = function(n) { - return (typeof(n) === 'number' || - (isPyretNumber(n) && n.isRational())); - }; - - var isExact = isRational; - - // isReal: pyretnum -> boolean - var isReal = function(n) { - return (typeof(n) === 'number' || - (isPyretNumber(n) && n.isReal())); - }; - - // isInteger: pyretnum -> boolean - var isInteger = function(n) { - return (typeof(n) === 'number' || - (isPyretNumber(n) && n.isInteger())); - }; - - var isRoughnum = function(n) { - if (typeof(n) === 'number') { - return false; - } else { - return (isPyretNumber(n) && n.isRoughnum()); - } - }; - - var isPositive = function(n) { - if (typeof(n) === 'number') { - return n > 0; - } else { - return (isPyretNumber(n) && n.isPositive()); - } - }; - - var isNonPositive = function(n) { - if (typeof(n) === 'number') { - return n <= 0; - } else { - return (isPyretNumber(n) && n.isNonPositive()); - } - }; - - var isNegative = function(n) { - if (typeof(n) === 'number') { - return n < 0; - } else { - return (isPyretNumber(n) && n.isNegative()); - } - }; - - var isNonNegative = function(n) { - if (typeof(n) === 'number') { - return n >= 0; - } else { - return (isPyretNumber(n) && n.isNonNegative()); - } - }; - - // toFixnum: pyretnum -> javascript-number - var toFixnum = function(n) { - if (typeof(n) === 'number') - return n; - return n.toFixnum(); - }; - - // toRational: pyretnum -> pyretnum - var toRational = function(n, errbacks) { - if (typeof(n) === 'number') - return n; - return n.toRational(errbacks); - }; - - var toExact = toRational; - - // toRoughnum: pyretnum -> pyretnum - - var toRoughnum = function(n, errbacks) { - if (typeof(n) === 'number') { - return Roughnum.makeInstance(n, errbacks); - } else { - return n.toRoughnum(errbacks); - } - }; - - ////////////////////////////////////////////////////////////////////// - - // add: pyretnum pyretnum -> pyretnum - var add = function(x, y, errbacks) { - var sum; - if (typeof(x) === 'number' && typeof(y) === 'number') { - sum = x + y; - if (isOverflow(sum)) { - return (makeBignum(x)).add(makeBignum(y)); - } - else { - return sum; - } - } - return addSlow(x, y, errbacks); - }; - - var addSlow = makeNumericBinop( - function(x, y, errbacks) { - var sum = x + y; - if (isOverflow(sum)) { - return (makeBignum(x)).add(makeBignum(y)); - } else { - return sum; - } - }, - function(x, y, errbacks) { - return x.add(y); - }, - {isXSpecialCase: function(x, errbacks) { - return isInteger(x) && _integerIsZero(x) }, - onXSpecialCase: function(x, y, errbacks) { return y; }, - isYSpecialCase: function(y, errbacks) { - return isInteger(y) && _integerIsZero(y) }, - onYSpecialCase: function(x, y, errbacks) { return x; } - }); - - var subtract = function(x, y, errbacks) { - if (typeof(x) === 'number' && typeof(y) === 'number') { - var diff = x - y; - if (isOverflow(diff)) { - return (makeBignum(x)).subtract(makeBignum(y)); - } else { - return diff; - } - } - return subtractSlow(x, y, errbacks); - }; - - // subtract: pyretnum pyretnum -> pyretnum - var subtractSlow = makeNumericBinop( - function(x, y, errbacks) { - var diff = x - y; - if (isOverflow(diff)) { - return (makeBignum(x)).subtract(makeBignum(y)); - } else { - return diff; - } - }, - function(x, y, errbacks) { - return x.subtract(y); - }, - {isXSpecialCase: function(x, errbacks) { - return isInteger(x) && _integerIsZero(x) }, - onXSpecialCase: function(x, y, errbacks) { return negate(y, errbacks); }, - isYSpecialCase: function(y, errbacks) { - return isInteger(y) && _integerIsZero(y) }, - onYSpecialCase: function(x, y, errbacks) { return x; } - }); - - // mulitply: pyretnum pyretnum -> pyretnum - var multiply = function(x, y, errbacks) { - var prod; - if (typeof(x) === 'number' && typeof(y) === 'number') { - prod = x * y; - if (isOverflow(prod)) { - return (makeBignum(x)).multiply(makeBignum(y)); - } else { - return prod; - } - } - return multiplySlow(x, y, errbacks); - }; - var multiplySlow = makeNumericBinop( - function(x, y, errbacks) { - var prod = x * y; - if (isOverflow(prod)) { - return (makeBignum(x)).multiply(makeBignum(y), errbacks); - } else { - return prod; - } - }, - function(x, y, errbacks) { - return x.multiply(y, errbacks); - }, - {isXSpecialCase: function(x, errbacks) { - return (isInteger(x) && - (_integerIsZero(x) || _integerIsOne(x) || _integerIsNegativeOne(x))) }, - onXSpecialCase: function(x, y, errbacks) { - if (_integerIsZero(x)) - return 0; - if (_integerIsOne(x)) - return y; - if (_integerIsNegativeOne(x)) - return negate(y, errbacks); - }, - isYSpecialCase: function(y, errbacks) { - return (isInteger(y) && - (_integerIsZero(y) || _integerIsOne(y) || _integerIsNegativeOne(y)))}, - onYSpecialCase: function(x, y, errbacks) { - if (_integerIsZero(y)) - return 0; - if (_integerIsOne(y)) - return x; - if (_integerIsNegativeOne(y)) - return negate(x, errbacks); - } - }); - - // divide: pyretnum pyretnum -> pyretnum - var divide = makeNumericBinop( - function(x, y, errbacks) { - if (_integerIsZero(y)) - errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); - var div = x / y; - if (isOverflow(div)) { - return (makeBignum(x)).divide(makeBignum(y), errbacks); - } else if (Math.floor(div) !== div) { - return Rational.makeInstance(x, y, errbacks); - } else { - return div; - } - }, - function(x, y, errbacks) { - if (equalsAnyZero(y, errbacks)) { - errbacks.throwDivByZero('/: division by zero, ' + x + ' ' + y); - } - return x.divide(y, errbacks); - }, - { - isXSpecialCase: function(x, errbacks) { - return equalsAnyZero(x, errbacks); - }, - onXSpecialCase: function(x, y, errbacks) { - if (equalsAnyZero(y, errbacks)) { - errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); - } - return 0; - }, - isYSpecialCase: function(y, errbacks) { - return equalsAnyZero(y, errbacks); - }, - onYSpecialCase: function(x, y, errbacks) { - errbacks.throwDivByZero("/: division by zero, " + x + ' ' + y); - } - }); - - var equals = function(x, y, errbacks) { - if (x === y) { return true; } - else { - if (typeof x === "number" && typeof y === "number") { return false; } - else { - return equalsSlow(x, y, errbacks); - } - } - }; - // equals: pyretnum pyretnum -> boolean - var equalsSlow = makeNumericBinop( - function(x, y, errbacks) { - return x === y; - }, - function(x, y, errbacks) { - return x.equals(y, errbacks); - }); - - var equalsAnyZero = function(x, errbacks) { - if (typeof(x) === 'number') return x === 0; - if (isRoughnum(x)) return x.n === 0; - return x.equals(0, errbacks); - }; - - // eqv: pyretnum pyretnum -> boolean - var eqv = function(x, y, errbacks) { - if (x === y) - return true; - if (typeof(x) === 'number' && typeof(y) === 'number') - return x === y; - var ex = isRational(x), ey = isRational(y); - return (((ex && ey) || (!ex && !ey)) && equals(x, y, errbacks)); - }; - - // approxEqual: pyretnum pyretnum pyretnum -> boolean - var approxEquals = function(x, y, delta, errbacks) { - return lessThanOrEqual(abs(subtract(x, y, errbacks), errbacks), - delta, errbacks); - }; - - // used for within - var roughlyEquals = function(x, y, delta, errbacks) { - if (isNegative(delta)) { - errbacks.throwToleranceError("negative tolerance " + delta); - } - - if (x === y) return true; - - if (isRoughnum(delta) && delta.n === Number.MIN_VALUE) { - if ((isRoughnum(x) || isRoughnum(y)) && - (Math.abs(subtract(x,y).n) === Number.MIN_VALUE)) { - errbacks.throwToleranceError("roughnum tolerance too small for meaningful comparison, " + x + ' ' + y + ' ' + delta); - } - } - - var ratx = isRoughnum(x) ? x.toRational(errbacks) : x; - var raty = isRoughnum(y) ? y.toRational(errbacks) : y; - - var ratdelta = isRoughnum(delta) ? delta.toRational(errbacks) : delta; - return approxEquals(ratx, raty, ratdelta, errbacks); - }; - - var roughlyEqualsRel = function(computedValue, trueValue, delta, errbacks) { - if (isNegative(delta)) { - errbacks.throwRelToleranceError('negative relative tolerance ' + delta) - } - - if (computedValue === trueValue) { - return true - } - - var deltaIsRough = isRoughnum(delta) - var argNumsAreRough = isRoughnum(computedValue) || isRoughnum(trueValue) - - var ratCv = isRoughnum(computedValue) ? computedValue.toRational(errbacks) : computedValue - var ratTv = isRoughnum(trueValue) ? trueValue.toRational(errbacks) : trueValue - - var ratDelta = isRoughnum(delta) ? delta.toRational(errbacks): delta - - var err = abs(subtract(ratCv, ratTv, errbacks), errbacks) - - if (lessThanOrEqual(ratDelta, 1, errbacks)) { - var absDelta = multiply(ratDelta, abs(ratTv, errbacks), errbacks) - if (deltaIsRough && toRoughnum(absDelta, errbacks).n === Number.MIN_VALUE) { - if (argNumsAreRough && Math.abs(toRoughnum(err, errbacks).n) === Number.MIN_VALUE) { - errbacks.throwRelToleranceError('roughnum tolerance too small for meaningful comparison, ' + - computedValue + ' ' + trueValue + ' ' + delta) - } - } - - return lessThanOrEqual(err, absDelta, errbacks) - } else { - var errRatio = divide(err, abs(ratTv, errbacks), errbacks) - - if (deltaIsRough && delta.n === Number.MIN_VALUE) { - if (argNumsAreRough && Math.abs(toRoughnum(errRatio, errbacks).n) === Number.MIN_VALUE) { - errbacks.throwRelToleranceError('roughnum tolerance too small for meaningful comparison, ' + - computedValue + ' ' + trueValue + ' ' + delta) - } - } - - return lessThanOrEqual(errRatio, ratDelta, errbacks) - } - } - - // greaterThanOrEqual: pyretnum pyretnum -> boolean - var greaterThanOrEqual = function(x, y, errbacks) { - if(typeof x === "number" && typeof y === "number") { - return x >= y; - } - return makeNumericBinop(undefined, function(x, y, errbacks) { - return x.greaterThanOrEqual(y); - })(x, y, errbacks); - } - - // lessThanOrEqual: pyretnum pyretnum -> boolean - var lessThanOrEqual = function(x, y, errbacks) { - if(typeof x === "number" && typeof y === "number") { - return x <= y; - } - return makeNumericBinop(undefined, function(x, y, errbacks) { - return x.lessThanOrEqual(y); - })(x, y, errbacks); - }; - - // greaterThan: pyretnum pyretnum -> boolean - var greaterThan = function(x, y, errbacks) { - if(typeof x === "number" && typeof y === "number") { - return x > y; - } - return makeNumericBinop(undefined, function(x, y, errbacks) { - return x.greaterThan(y); - })(x, y, errbacks); - }; - - // lessThan: pyretnum pyretnum -> boolean - var lessThan = function(x, y, errbacks) { - if(typeof x === "number" && typeof y === "number") { - return x < y; - } - return makeNumericBinop(undefined, function(x, y, errbacks) { - return x.lessThan(y); - })(x, y, errbacks); - }; - - // expt: pyretnum pyretnum -> pyretnum - var expt = makeNumericBinop( - function(x, y, errbacks) { - var pow = Math.pow(x, y); - if (isOverflow(pow)) { - return (makeBignum(x)).expt(makeBignum(y)); - } else { - return pow; - } - }, - function(x, y, errbacks) { - return x.expt(y, errbacks); - }, - { - isXSpecialCase: function(x, errbacks) { - return eqv(x, 0, errbacks) || eqv(x, 1, errbacks); - }, - onXSpecialCase: function(x, y, errbacks) { - if (eqv(x, 0, errbacks)) { - if (eqv(y, 0, errbacks)) { - return 1; - } else if (lessThan(y, 0, errbacks)) { - errbacks.throwDivByZero("expt: division by zero"); - } else { - return 0; - } - } else { // i.e., x is 1 - return 1; - } - }, - - isYSpecialCase: function(y, errbacks) { - return eqv(y, 0, errbacks) || lessThan(y, 0, errbacks); - }, - onYSpecialCase: function(x, y, errbacks) { - if (eqv(y, 0, errbacks)) { - return 1; - } else { // i.e., y is negative - return expt(divide(1, x, errbacks), negate(y, errbacks), errbacks); - } - } - }); - - // exp: pyretnum -> pyretnum - var exp = function(n, errbacks) { - if ( eqv(n, 0, errbacks) ) { - return 1; - } - if (typeof(n) === 'number') { - var res = Math.exp(n); - if (!isFinite(res)) - errbacks.throwGeneralError('exp: argument too large: ' + n); - return Roughnum.makeInstance(res, errbacks); - } - return n.exp(errbacks); - }; - - // modulo: pyretnum pyretnum -> pyretnum - var modulo = function(m, n, errbacks) { - if (! isInteger(m)) { - errbacks.throwDomainError('modulo: the first argument ' - + m + " is not an integer.", m, n); - } - if (! isInteger(n)) { - errbacks.throwDomainError('modulo: the second argument ' - + n + " is not an integer.", m, n); - } - if (_integerIsZero(n)) { - errbacks.throwDomainError('modulo: the second argument is zero'); - } - var result; - if (typeof(m) === 'number') { - result = m % n; - if (n < 0) { - if (result <= 0) - return result; - else - return result + n; - } else { - if (result < 0) - return result + n; - else - return result; - } - } - result = _integerModulo(floor(m), floor(n)); - // The sign of the result should match the sign of n. - if (lessThan(n, 0, errbacks)) { - if (lessThanOrEqual(result, 0, errbacks)) { - return result; - } - return add(result, n, errbacks); - - } else { - if (lessThan(result, 0, errbacks)) { - return add(result, n, errbacks); - } - return result; - } - }; - - // numerator: pyretnum -> pyretnum - var numerator = function(n, errbacks) { - if (typeof(n) === 'number') - return n; - return n.numerator(); - }; - - // denominator: pyretnum -> pyretnum - var denominator = function(n, errbacks) { - if (typeof(n) === 'number') - return 1; - return n.denominator(); - }; - - // sqrt: pyretnum -> pyretnum - var sqrt = function(n, errbacks) { - if (lessThan(n, 0, errbacks)) { - errbacks.throwSqrtNegative('sqrt: negative argument ' + n); - } - if (typeof(n) === 'number') { - var result = Math.sqrt(n); - if (Math.floor(result) === result) { - return result; - } else { - return Roughnum.makeInstance(result, errbacks); - } - } - return n.sqrt(errbacks); - }; - - // abs: pyretnum -> pyretnum - var abs = function(n, errbacks) { - if (typeof(n) === 'number') { - return Math.abs(n); - } - return n.abs(errbacks); - }; - - // floor: pyretnum -> pyretnum - var floor = function(n, errbacks) { - if (typeof(n) === 'number') - return Math.floor(n); - return n.floor(errbacks); - }; - - // ceiling: pyretnum -> pyretnum - var ceiling = function(n, errbacks) { - if (typeof(n) === 'number') - return Math.ceil(n); - return n.ceiling(errbacks); - }; - - // round: pyretnum -> pyretnum - var round = function(n, errbacks) { - if (typeof(n) === 'number') { - return n; - } - return n.round(errbacks); - }; - - var roundEven = function(n, errbacks) { - if (typeof(n) === 'number') return n; - return n.roundEven(errbacks); - }; - - // NB: all of these trig-gy generic functions should now return roughnum rather than float - // (except for an arg of 0, etc) - - // log: pyretnum -> pyretnum - var log = function(n, errbacks) { - if ( eqv(n, 1, errbacks) ) { - return 0; - } - if (lessThanOrEqual(n, 0, errbacks)) { - errbacks.throwLogNonPositive('log: non-positive argument ' + n); - } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.log(n), errbacks); - } - return n.log(errbacks); - }; - - // tan: pyretnum -> pyretnum - var tan = function(n, errbacks) { - if (eqv(n, 0, errbacks)) { return 0; } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.tan(n), errbacks); - } - return n.tan(errbacks); - }; - - // atan: pyretnum -> pyretnum - var atan = function(n, errbacks) { - if (eqv(n, 0, errbacks)) { return 0; } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.atan(n), errbacks); - } - return n.atan(errbacks); - }; - - var atan2 = function(y, x, errbacks) { - if (eqv(x, 0, errbacks)) { // x = 0 - if (eqv(y, 0, errbacks)) { // x = 0, y = 0 - //return Roughnum.makeInstance(Infinity, errbacks); - errbacks.throwDomainError('atan2: out of domain argument (0, 0)'); - } else if (greaterThan(y, 0, errbacks)) { // x = 0, y > 0 - return Roughnum.makeInstance(Math.PI/2, errbacks); - } else { // x = 0, y < 0 - return Roughnum.makeInstance(3*Math.PI/2, errbacks); - } - } else if (greaterThan(x, 0, errbacks)) { // x > 0 - if (greaterThanOrEqual(y, 0, errbacks)) { // x > 0, y >= 0, 1st qdt - // atan(y/x) is already in the right qdt - return atan(divide(y, x, errbacks), errbacks); - } else { // x > 0, y < 0, 4th qdt - // atan(y/x) is the 4th qdt and negative, so make it positive by adding 2pi - return add(atan(divide(y, x, errbacks), errbacks), 2*Math.PI, errbacks); - } - } else { // x < 0 - // either x < 0, y >= 0 (2nd qdt), in which case - // atan(y/x) must be reflected from 4th to 2nd qdt, by adding pi - // or x < 0, y < 0 (3rd qdt), in which case - // atan(y/x) must be reflected from 1st to 3rd qdt, again by adding pi - return add(atan(divide(y, x, errbacks), errbacks), Math.PI, errbacks); - } - }; - - // cos: pyretnum -> pyretnum - var cos = function(n, errbacks) { - if (eqv(n, 0, errbacks)) { return 1; } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.cos(n), errbacks); - } - return n.cos(errbacks); - }; - - // sin: pyretnum -> pyretnum - var sin = function(n, errbacks) { - if (eqv(n, 0, errbacks)) { return 0; } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.sin(n), errbacks); - } - return n.sin(errbacks); - }; - - // acos: pyretnum -> pyretnum - var acos = function(n, errbacks) { - if (eqv(n, 1, errbacks)) { return 0; } - if (lessThan(n, -1, errbacks) || greaterThan(n, 1, errbacks)) { - errbacks.throwDomainError('acos: out of domain argument ' + n); - } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.acos(n), errbacks); - } - return n.acos(errbacks); - }; - - // asin: pyretnum -> pyretnum - var asin = function(n, errbacks) { - if (eqv(n, 0, errbacks)) { return 0; } - if (lessThan(n, -1, errbacks) || greaterThan(n, 1, errbacks)) { - errbacks.throwDomainError('asin: out of domain argument ' + n); - } - if (typeof(n) === 'number') { - return Roughnum.makeInstance(Math.asin(n), errbacks); - } - return n.asin(errbacks); - }; - - // sqr: pyretnum -> pyretnum - var sqr = function(x, errbacks) { - return multiply(x, x, errbacks); - }; - - // integerSqrt: pyretnum -> pyretnum - var integerSqrt = function(x, errbacks) { - if (! isInteger(x)) { - errbacks.throwDomainError('integer-sqrt: the argument ' + x.toString() + - " is not an integer.", x); - } - if (typeof (x) === 'number') { - if(x < 0) { - errbacks.throwSqrtNegative('integerSqrt of negative number', x); - } else { - return Math.floor(Math.sqrt(x)); - } - } - return x.integerSqrt(errbacks); - }; - - // gcd: pyretnum [pyretnum ...] -> pyretnum - var gcd = function(first, rest, errbacks) { - if (! isInteger(first)) { - errbacks.throwDomainError('gcd: the argument ' + first.toString() + - " is not an integer.", first); - } - var a = abs(first, errbacks), t, b; - for(var i = 0; i < rest.length; i++) { - b = abs(rest[i], errbacks); - if (! isInteger(b)) { - errbacks.throwDomainError('gcd: the argument ' + b.toString() + - " is not an integer.", b); - } - while (! _integerIsZero(b)) { - t = a; - a = b; - b = _integerModulo(t, b); - } - } - return a; - }; - - // lcm: pyretnum [pyretnum ...] -> pyretnum - var lcm = function(first, rest, errbacks) { - if (! isInteger(first)) { - errbacks.throwDomainError('lcm: the argument ' + first.toString() + - " is not an integer.", first); - } - var result = abs(first, errbacks); - if (_integerIsZero(result)) { return 0; } - for (var i = 0; i < rest.length; i++) { - if (! isInteger(rest[i])) { - errbacks.throwDomainError('lcm: the argument ' + rest[i].toString() + - " is not an integer.", rest[i]); - } - var divisor = _integerGcd(result, rest[i]); - if (_integerIsZero(divisor)) { - return 0; - } - result = divide(multiply(result, rest[i], errbacks), divisor, errbacks); - } - return result; - }; - - var quotient = function(x, y, errbacks) { - if (! isInteger(x)) { - errbacks.throwDomainError('quotient: the first argument ' + x.toString() + - " is not an integer.", x); - } - if (! isInteger(y)) { - errbacks.throwDomainError('quotient: the second argument ' + y.toString() + - " is not an integer.", y); - } - return _integerQuotient(x, y); - }; - - var remainder = function(x, y, errbacks) { - if (isInteger(x) && isInteger(y)) { - return _integerRemainder(x, y); - } else if (isRational(x) && isRational(y)) { - var xn = numerator(x); var xd = denominator(x); - var yn = numerator(y); var yd = denominator(y); - var new_d = lcm(xd, [yd], errbacks); - var new_xn = multiply(xn, divide(new_d, xd, errbacks), errbacks); - var new_yn = multiply(yn, divide(new_d, yd, errbacks), errbacks); - return divide(remainder(new_xn, new_yn, errbacks), new_d, errbacks); - } else { - var res = toFixnum(x) % toFixnum(y); - return Roughnum.makeInstance(res, errbacks); - } - }; - - ////////////////////////////////////////////////////////////////////// - - // Helpers - - // isOverflow: javascript-number -> boolean - // Returns true if we consider the number an overflow. - var MIN_FIXNUM = -(9e15); - var MAX_FIXNUM = (9e15); - var isOverflow = function(n) { - return (n < MIN_FIXNUM || MAX_FIXNUM < n); - }; - - // negate: pyretnum -> pyretnum - // multiplies a number times -1. - var negate = function(n, errbacks) { - if (typeof(n) === 'number') { - return -n; - } - return n.negate(errbacks); - }; - - // halve: pyretnum -> pyretnum - // Divide a number by 2. - var halve = function(n, errbacks) { - return divide(n, 2, errbacks); - }; - - // fastExpt: computes n^k by squaring. - // n^k = (n^2)^(k/2) - // Assumes k is non-negative integer. - var fastExpt = function(n, k, errbacks) { - var acc = 1; - while (true) { - if (_integerIsZero(k)) { - return acc; - } - if (equals(modulo(k, 2, errbacks), 0, errbacks)) { - n = multiply(n, n, errbacks); - k = divide(k, 2, errbacks); - } else { - acc = multiply(acc, n, errbacks); - k = subtract(k, 1, errbacks); - } - } - }; - - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - - // Integer operations - // Integers are either represented as fixnums or as BigIntegers. - - // makeIntegerBinop: (fixnum fixnum -> X) (BigInteger BigInteger -> X) -> X - // Helper to collect the common logic for coercing integer fixnums or bignums to a - // common type before doing an operation. - var makeIntegerBinop = function(onFixnums, onBignums, options) { - options = options || {}; - return (function(m, n) { - if (m instanceof Rational) { - m = numerator(m); - } - - if (n instanceof Rational) { - n = numerator(n); - } - - if (typeof(m) === 'number' && typeof(n) === 'number') { - var result = onFixnums(m, n); - if (! isOverflow(result) || - (options.ignoreOverflow)) { - return result; - } - } - if (m instanceof Roughnum || n instanceof Roughnum) { - return Roughnum.makeInstance( - onFixnums(toFixnum(m), toFixnum(n)), errbacks); - } - if (typeof(m) === 'number') { - m = makeBignum(m); - } - if (typeof(n) === 'number') { - n = makeBignum(n); - } - return onBignums(m, n); - }); - }; - - var makeIntegerUnOp = function(onFixnums, onBignums, options, errbacks) { - options = options || {}; - return (function(m) { - if (m instanceof Rational) { - m = numerator(m); - } - - if (typeof(m) === 'number') { - var result = onFixnums(m); - if (! isOverflow(result) || - (options.ignoreOverflow)) { - return result; - } - } - if (m instanceof Roughnum) { - return Roughnum.makeInstance(onFixnums(toFixnum(m)), errbacks); - } - if (typeof(m) === 'number') { - m = makeBignum(m); - } - return onBignums(m); - }); - }; - - // _integerModulo: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerModulo = makeIntegerBinop( - function(m, n) { - return m % n; - }, - function(m, n) { - return bnMod.call(m, n); - }); - - // _integerGcd: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerGcd = makeIntegerBinop( - function(a, b) { - var t; - while (b !== 0) { - t = a; - a = b; - b = t % b; - } - return a; - }, - function(m, n) { - return bnGCD.call(m, n); - }); - - // _integerIsZero: integer-pyretnum -> boolean - // Returns true if the number is zero. - var _integerIsZero = makeIntegerUnOp( - function(n){ - return n === 0; - }, - function(n) { - return bnEquals.call(n, BigInteger.ZERO); - } - ); - - // _integerIsOne: integer-pyretnum -> boolean - var _integerIsOne = makeIntegerUnOp( - function(n) { - return n === 1; - }, - function(n) { - return bnEquals.call(n, BigInteger.ONE); - }); - - // _integerIsNegativeOne: integer-pyretnum -> boolean - var _integerIsNegativeOne = makeIntegerUnOp( - function(n) { - return n === -1; - }, - function(n) { - return bnEquals.call(n, BigInteger.NEGATIVE_ONE); - }); - - // _integerAdd: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerAdd = makeIntegerBinop( - function(m, n) { - return m + n; - }, - function(m, n) { - return bnAdd.call(m, n); - }); - - // _integerSubtract: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerSubtract = makeIntegerBinop( - function(m, n) { - return m - n; - }, - function(m, n) { - return bnSubtract.call(m, n); - }); - - // _integerMultiply: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerMultiply = makeIntegerBinop( - function(m, n) { - return m * n; - }, - function(m, n) { - return bnMultiply.call(m, n); - }); - - //_integerQuotient: integer-pyretnum integer-pyretnum -> integer-pyretnum - var _integerQuotient = makeIntegerBinop( - function(m, n) { - return ((m - (m % n))/ n); - }, - function(m, n) { - return bnDivide.call(m, n); - }); - - var _integerRemainder = makeIntegerBinop( - function(m, n) { - return m % n; - }, - function(m, n) { - return bnRemainder.call(m, n); - }); - - // splitIntIntoMantissaExpt: integer-pyretnum -> [JS-double, JS-int] - // - // splitIntIntoMantissaExpt takes an integer s (either unboxed or BigInteger) - // and returns [mantissa, exponent] - // such that s ~= mantissa * 10^exponent. - // mantissa is a JS-double, and is chosen to have one non-zero digit - // to the left of the decimal point. - // Because mantissa is a JS-double, there is in general a loss of precision. - // splitIntIntoMantissaExpt is used to create a best-possible JS-double version - // of its argument arbitrarily precise integer. - // E.g., splitIntIntoMantissaExpt(256) returns - // [2.56, 2] - // splitIntIntoMantissaExpt(111222333444555666777888999) returns - // [1.1122233344455567, 26] - // - var splitIntIntoMantissaExpt = function(s) { - var str = s.toString(); - var c0 = str[0]; - var sign = ''; - - if (c0 === '-' || c0 === '+') { - str = str.substring(1); - if (c0 === '-') { - sign = '-'; - } - } - - var d0 = str[0]; - str = str.substring(1); - - var mantissa = Number(sign + d0 + '.' + str); - var expt = str.length; - - return [mantissa, expt]; - }; - - // _integerDivideToFixnum: integer-pyretnum integer-pyretnum -> fixnum - // - // _integerDivideToFixnum takes two integers (possibly BigIntegers) and - // returns the best fixnum representing their quotient. - // If the args are both JS-doubles, the JS quotient is returned if it - // doesn't overflow. - // If it does overflow, or if at least one of the args is a BigInt, then - // splitIntIntoMantissaExpt is used to convert the args to - // [mantissa, exponent] form. The result a*10^b, where - // a = the mantissae's quotient, and - // b = the exponents' difference - // - var _integerDivideToFixnum = makeIntegerBinop( - function(m, n) { - return m / n; - }, - function(m, n) { - var xm = splitIntIntoMantissaExpt(m); - var xn = splitIntIntoMantissaExpt(n); - var r = Number(String(xm[0] / xn[0]) + 'e' + - String(xm[1] - xn[1])); - return r; - }, - { ignoreOverflow: false, - doNotCoerceToFloating: true - } - ); - - // _integerEquals: integer-pyretnum integer-pyretnum -> boolean - var _integerEquals = makeIntegerBinop( - function(m, n) { - return m === n; - }, - function(m, n) { - return bnEquals.call(m, n); - }, - {doNotCoerceToFloating: true}); - - // _integerGreaterThan: integer-pyretnum integer-pyretnum -> boolean - var _integerGreaterThan = makeIntegerBinop( - function(m, n) { - return m > n; - }, - function(m, n) { - return bnCompareTo.call(m, n) > 0; - }, - {doNotCoerceToFloating: true}); - - // _integerLessThan: integer-pyretnum integer-pyretnum -> boolean - var _integerLessThan = makeIntegerBinop( - function(m, n) { - return m < n; - }, - function(m, n) { - return bnCompareTo.call(m, n) < 0; - }, - {doNotCoerceToFloating: true}); - - // _integerGreaterThanOrEqual: integer-pyretnum integer-pyretnum -> boolean - var _integerGreaterThanOrEqual = makeIntegerBinop( - function(m, n) { - return m >= n; - }, - function(m, n) { - return bnCompareTo.call(m, n) >= 0; - }, - {doNotCoerceToFloating: true}); - - // _integerLessThanOrEqual: integer-pyretnum integer-pyretnum -> boolean - var _integerLessThanOrEqual = makeIntegerBinop( - function(m, n) { - return m <= n; - }, - function(m, n) { - return bnCompareTo.call(m, n) <= 0; - }, - {doNotCoerceToFloating: true}); - - ////////////////////////////////////////////////////////////////////// - // The boxed number types are expected to implement the following - // interface. - // - // toString: -> string - - // isFinite: -> boolean - - // isInteger: -> boolean - // Produce true if this number can be coerced into an integer. - - // isRational: -> boolean - // Produce true if the number is rational. - - // isExact === isRational - - // isReal: -> boolean - // Produce true if the number is real. - - // toRational: -> pyretnum - // Produce an exact number. - - // toExact === toRational - - // toRoughnum: -> pyretnum - // Produce a roughnum. - - // toFixnum: -> fixnum - // Produce a javascript number. - - // greaterThan: pyretnum -> boolean - // Compare against instance of the same type. - - // greaterThanOrEqual: pyretnum -> boolean - // Compare against instance of the same type. - - // lessThan: pyretnum -> boolean - // Compare against instance of the same type. - - // lessThanOrEqual: pyretnum -> boolean - // Compare against instance of the same type. - - // add: pyretnum -> pyretnum - // Add with an instance of the same type. - - // subtract: pyretnum -> pyretnum - // Subtract with an instance of the same type. - - // multiply: pyretnum -> pyretnum - // Multiply with an instance of the same type. - - // divide: pyretnum -> pyretnum - // Divide with an instance of the same type. - - // numerator: -> pyretnum - // Return the numerator. - - // denominator: -> pyretnum - // Return the denominator. - - // integerSqrt: -> pyretnum - // Produce the integer square root. - - // sqrt: -> pyretnum - // Produce the square root. - - // abs: -> pyretnum - // Produce the absolute value. - - // floor: -> pyretnum - // Produce the floor. - - // ceiling: -> pyretnum - // Produce the ceiling. - - // log: -> pyretnum - // Produce the log. - - // atan: -> pyretnum - // Produce the arc tangent. - - // cos: -> pyretnum - // Produce the cosine. - - // sin: -> pyretnum - // Produce the sine. - - // expt: pyretnum -> pyretnum - // Produce the power to the input. - - // exp: -> pyretnum - // Produce e raised to the given power. - - // acos: -> pyretnum - // Produce the arc cosine. - - // asin: -> pyretnum - // Produce the arc sine. - - // round: -> pyretnum - // Round to the nearest integer. - - // equals: pyretnum -> boolean - // Produce true if the given number of the same type is equal. - - ////////////////////////////////////////////////////////////////////// - - // Rationals - - var Rational = function(n, d) { - this.n = n; - this.d = d; - }; - - Rational.makeInstance = function(n, d, errbacks) { - if (n === undefined) - errbacks.throwUndefinedValue("n undefined", n, d); - - if (d === undefined) { d = 1; } - - if (_integerLessThan(d, 0)) { - n = negate(n, errbacks); - d = negate(d, errbacks); - } - - var divisor = _integerGcd(abs(n, errbacks), abs(d, errbacks)); - n = _integerQuotient(n, divisor); - d = _integerQuotient(d, divisor); - - // Optimization: if we can get around construction the rational - // in favor of just returning n, do it: - if (_integerIsOne(d) || _integerIsZero(n)) { - return n; - } - - return new Rational(n, d); - }; - - Rational.prototype.toString = function() { - if (_integerIsOne(this.d)) { - return this.n.toString() + ""; - } else { - return this.n.toString() + "/" + this.d.toString(); - } - }; - - Rational.prototype.isFinite = function() { - return true; - }; - - Rational.prototype.equals = function(other, errbacks) { - return (other instanceof Rational && - _integerEquals(this.n, other.n) && - _integerEquals(this.d, other.d)); - }; - - Rational.prototype.isInteger = function() { - return _integerIsOne(this.d); - }; - - Rational.prototype.isRational = function() { - return true; - }; - - Rational.prototype.isExact = Rational.prototype.isRational; - - Rational.prototype.isReal = function() { - return true; - }; - - Rational.prototype.isRoughnum = function() { - return false; - }; - - Rational.prototype.isPositive = function() { - // don't care about this.d - return this.n > 0; - }; - - Rational.prototype.isNonNegative = function() { - return this.n >= 0; - }; - - Rational.prototype.isNegative = function() { - return this.n < 0; - }; - - Rational.prototype.isNonPositive = function() { - return this.n <= 0; - }; - - Rational.prototype.add = function(other, errbacks) { - return Rational.makeInstance(_integerAdd(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)), - _integerMultiply(this.d, other.d), errbacks); - }; - - Rational.prototype.subtract = function(other, errbacks) { - return Rational.makeInstance(_integerSubtract(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)), - _integerMultiply(this.d, other.d), errbacks); - }; - - Rational.prototype.negate = function(errbacks) { - return Rational.makeInstance(negate(this.n, errbacks), this.d, errbacks) - }; - - Rational.prototype.multiply = function(other, errbacks) { - return Rational.makeInstance(_integerMultiply(this.n, other.n), - _integerMultiply(this.d, other.d), errbacks); - }; - - Rational.prototype.divide = function(other, errbacks) { - if (_integerIsZero(this.d) || _integerIsZero(other.n)) { // dead code! - errbacks.throwDivByZero("/: division by zero", this, other); - } - return Rational.makeInstance(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n), errbacks); - }; - - Rational.prototype.toRational = function() { - return this; - }; - - Rational.prototype.toExact = Rational.prototype.toRational; - - - Rational.prototype.toFixnum = function() { - return _integerDivideToFixnum(this.n, this.d); - }; - - Rational.prototype.toRoughnum = function(errbacks) { - return Roughnum.makeInstance(this.toFixnum(), errbacks); - }; - - Rational.prototype.numerator = function() { - return this.n; - }; - - Rational.prototype.denominator = function() { - return this.d; - }; - - Rational.prototype.greaterThan = function(other, errbacks) { - return _integerGreaterThan(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)); - }; - - Rational.prototype.greaterThanOrEqual = function(other, errbacks) { - return _integerGreaterThanOrEqual(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)); - }; - - Rational.prototype.lessThan = function(other, errbacks) { - return _integerLessThan(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)); - }; - - Rational.prototype.lessThanOrEqual = function(other, errbacks) { - return _integerLessThanOrEqual(_integerMultiply(this.n, other.d), - _integerMultiply(this.d, other.n)); - }; - - Rational.prototype.integerSqrt = function(errbacks) { - var result = sqrt(this); - return toRational(floor(result, errbacks), errbacks); - }; - - Rational.prototype.sqrt = function(errbacks) { - var newN = sqrt(this.n); - var newD = sqrt(this.d); - if (isRational(newN) && isRational(newD) && - equals(floor(newN), newN) && - equals(floor(newD), newD)) { - return Rational.makeInstance(newN, newD, errbacks); - } else { - return divide(newN, newD, errbacks); - } - }; - - Rational.prototype.abs = function(errbacks) { - return Rational.makeInstance(abs(this.n, errbacks), - this.d, errbacks); - }; - - Rational.prototype.floor = function(errbacks) { - var quotient = _integerQuotient(this.n, this.d); - if (_integerLessThan(this.n, 0)) { - return subtract(quotient, 1, errbacks); - } else { - return quotient; - } - }; - - Rational.prototype.ceiling = function(errbacks) { - var quotient = _integerQuotient(this.n, this.d); - if (_integerLessThan(this.n, 0)) { - return quotient; - } else { - return add(quotient, 1, errbacks); - } - }; - - Rational.prototype.round = function(errbacks) { - var halfintp = equals(this.d, 2); - var negativep = _integerLessThan(this.n, 0); - var n = this.n; - if (negativep) { - n = negate(n, errbacks); - } - var quo = _integerQuotient(n, this.d); - if (halfintp) { - // rounding half to away from 0 - // uncomment following if rounding half to even - // if (_integerIsOne(_integerModulo(quo, 2))) - quo = add(quo, 1, errbacks); - } else { - var rem = _integerRemainder(n, this.d); - if (greaterThan(multiply(rem, 2, errbacks), this.d, errbacks)) { - quo = add(quo, 1, errbacks); - } - } - if (negativep) { - quo = negate(quo, errbacks); - } - return quo; - }; - - Rational.prototype.roundEven = function(errbacks) { - // rounds half-integers to even - var halfintp = equals(this.d, 2, errbacks); - var negativep = _integerLessThan(this.n, 0); - var n = this.n; - if (negativep) n = negate(n, errbacks); - var quo = _integerQuotient(n, this.d); - if (halfintp) { - if (_integerIsOne(_integerModulo(quo, 2))) - quo = add(quo, 1, errbacks); - } else { - var rem = _integerRemainder(n, this.d); - if (greaterThan(multiply(rem, 2, errbacks), this.d, errbacks)) - quo = add(quo, 1, errbacks); - } - if (negativep) quo = negate(quo, errbacks); - return quo; - }; - - Rational.prototype.log = function(errbacks){ - return Roughnum.makeInstance(Math.log(this.toFixnum()), errbacks); - }; - - Rational.prototype.tan = function(errbacks){ - return Roughnum.makeInstance(Math.tan(this.toFixnum()), errbacks); - }; - - Rational.prototype.atan = function(errbacks){ - return Roughnum.makeInstance(Math.atan(this.toFixnum()), errbacks); - }; - - Rational.prototype.cos = function(errbacks){ - return Roughnum.makeInstance(Math.cos(this.toFixnum()), errbacks); - }; - - Rational.prototype.sin = function(errbacks){ - return Roughnum.makeInstance(Math.sin(this.toFixnum()), errbacks); - }; - - var integerNthRoot = function(n, m, errbacks) { - var guessPrev, guessToTheN; - var guess = m; - - // find closest integral zero of x^n - m = 0 using Newton-Raphson. - // if k'th guess is x_k, then - // x_{k+1} = floor( x_k - [(x_k)^n - m]/[n (x_k)^(n-1)] ). - // Stop iteration if (x_k)^n is close enough to m, or - // if x_k stops evolving - - while(true) { - guessToTheN = expt(guess, n, errbacks); - if (lessThanOrEqual(guessToTheN, m, errbacks) && - lessThan(m, expt(add(guess, 1, errbacks), n, errbacks), errbacks)) break; - guessPrev = guess; - guess = floor(subtract(guess, divide(subtract(guessToTheN, m, errbacks), - multiply(n, divide(guessToTheN, guess, errbacks), errbacks), errbacks), errbacks), errbacks); - if (equals(guess, guessPrev, errbacks)) break; - } - - return guess; - }; - - var nthRoot = function(n, m, errbacks) { - var mNeg = (sign(m) < 0); - var mAbs = (mNeg ? abs(m, errbacks) : m); - var approx; - - if (mNeg && _integerModulo(n, 2) === 0) - errbacks.throwDomainError('expt: taking even (' + n + ') root of negative integer ' + m); - - approx = integerNthRoot(n, mAbs, errbacks); - if (mNeg) approx = negate(approx, errbacks); - if (eqv(expt(approx, n, errbacks), m, errbacks)) return approx; - - approx = Roughnum.makeInstance(Math.pow(toFixnum(mAbs), - toFixnum(divide(1,n, errbacks))), errbacks); - return (mNeg ? negate(approx, errbacks) : approx); - }; - - Rational.prototype.expt = function(a, errbacks) { - if (isInteger(a) && greaterThanOrEqual(a, 0, errbacks)) { - return fastExpt(this, a, errbacks); - } else if (_integerLessThanOrEqual(a.d, 8)) { - var nRaisedToAn = expt(this.n, a.n, errbacks); - var dRaisedToAn = expt(this.d, a.n, errbacks); - var newN = nthRoot(a.d, nRaisedToAn, errbacks); - var newD = nthRoot(a.d, dRaisedToAn, errbacks); - if (isRational(newN) && isRational(newD) && - equals(floor(newN), newN, errbacks) && - equals(floor(newD), newD, errbacks)) { - return Rational.makeInstance(newN, newD, errbacks); - } else { - return divide(newN, newD, errbacks); - } - } else { - if (this.isNegative() && !a.isInteger()) - errbacks.throwDomainError('expt: raising negative number ' + this + ' to nonintegral power ' + a); - return Roughnum.makeInstance(Math.pow(this.toFixnum(), a.toFixnum()), errbacks); - } - }; - - Rational.prototype.exp = function(errbacks){ - var res = Math.exp(this.toFixnum()); - if (!isFinite(res)) - errbacks.throwDomainError('exp: argument too large: ' + this); - return Roughnum.makeInstance(res, errbacks); - }; - - Rational.prototype.acos = function(errbacks){ - return acos(this.toFixnum(), errbacks); - }; - - Rational.prototype.asin = function(errbacks){ - return asin(this.toFixnum(), errbacks); - }; - - // sign: Number -> {-1, 0, 1} - var sign = function(n, errbacks) { - if (lessThan(n, 0, errbacks)) { - return -1; - } else if (greaterThan(n, 0, errbacks)) { - return 1; - } else { - return 0; - } - }; - - // Roughnums - - var Roughnum = function(n, errbacks) { - if (!(typeof(n) === 'number')) - errbacks.throwGeneralError('roughnum constructor got unsuitable arg ' + n); - this.n = n; - }; - - Roughnum.makeInstance = function(n, errbacks) { - if (typeof(n) === 'number' && !isFinite(n)) { - errbacks.throwDomainError('roughnum overflow error'); - } - return new Roughnum(n, errbacks); - }; - - Roughnum.prototype.isFinite = function() { - //actually always true, as we don't store overflows - return (isFinite(this.n)); - }; - - Roughnum.prototype.toRational = function(errbacks) { - if (!isFinite(this.n)) { - // this _should_ be dead, as we don't store overflows - errbacks.throwInternalError("toRational: no exact representation for " + this); - } - - return fromString(this.n.toString(), errbacks); - }; - - Roughnum.prototype.toExact = Roughnum.prototype.toRational; - - Roughnum.prototype.toString = function() { - return '~' + this.n.toString(); - }; - - Roughnum.prototype.equals = function(other, errbacks) { - errbacks.throwIncomparableValues("roughnums cannot be compared for equality"); - }; - - Roughnum.prototype.isRational = function() { - return false; - }; - - Roughnum.prototype.isExact = Roughnum.prototype.isRational; - - Roughnum.prototype.isInteger = function() { - return false; - }; - - Roughnum.prototype.isReal = function() { - return true; - }; - - Roughnum.prototype.isRoughnum = function() { - return true; - }; - - Roughnum.prototype.isPositive = function() { - return this.n > 0; - }; - - Roughnum.prototype.isNonNegative = function() { - return this.n >= 0; - }; - - Roughnum.prototype.isNegative = function() { - return this.n < 0; - }; - - Roughnum.prototype.isNonPositive = function() { - return this.n <= 0; - }; - - Roughnum.prototype.add = function(other, errbacks) { - return Roughnum.makeInstance(this.n + other.n, errbacks); - }; - - Roughnum.prototype.subtract = function(other, errbacks) { - return Roughnum.makeInstance(this.n - other.n, errbacks); - }; - - Roughnum.prototype.negate = function(errbacks) { - return Roughnum.makeInstance(-this.n, errbacks); - }; - - Roughnum.prototype.multiply = function(other, errbacks) { - return Roughnum.makeInstance(this.n * other.n, errbacks); - }; - - Roughnum.prototype.divide = function(other, errbacks) { - return Roughnum.makeInstance(this.n / other.n, errbacks); - }; - - Roughnum.prototype.toFixnum = function() { - return this.n; - }; - - Roughnum.prototype.toRoughnum = function(errbacks) { - return this; - }; - - Roughnum.prototype.numerator = function() { - var stringRep = this.n.toString(); - var match = stringRep.match(/^(.*)\.(.*)$/); - if (match) { - var afterDecimal = parseInt(match[2]); - var factorToInt = Math.pow(10, match[2].length); - var extraFactor = _integerGcd(factorToInt, afterDecimal); - var multFactor = factorToInt / extraFactor; - return Roughnum.makeInstance( Math.round(this.n * multFactor) ); - } else { - return this; - } - }; - - Roughnum.prototype.denominator = function() { - var stringRep = this.n.toString(); - var match = stringRep.match(/^(.*)\.(.*)$/); - if (match) { - var afterDecimal = parseInt(match[2]); - var factorToInt = Math.pow(10, match[2].length); - var extraFactor = _integerGcd(factorToInt, afterDecimal); - return Roughnum.makeInstance( Math.round(factorToInt/extraFactor) ); - } else { - return Roughnum.makeInstance(1); - } - }; - - Roughnum.prototype.floor = function(errbacks) { - return Math.floor(this.n); - }; - - Roughnum.prototype.ceiling = function(errbacks) { - return Math.ceil(this.n); - }; - - Roughnum.prototype.round = function(errbacks){ - var negativep = (this.n < 0); - var n = this.n; - if (negativep) n = -n; - var res = Math.round(n); - if (negativep) res = -res; - return res; - }; - - Roughnum.prototype.roundEven = function(errbacks) { - var negativep = (this.n < 0); - var n = this.n; - if (negativep) n = -n; - var res = Math.round(n); - if ((Math.abs(n - res) === 0.5) && (res % 2 === 1)) - res -= 1; - return res; - }; - - Roughnum.prototype.greaterThan = function(other, errbacks) { - return this.n > other.n; - }; - - Roughnum.prototype.greaterThanOrEqual = function(other, errbacks) { - return this.n >= other.n; - }; - - Roughnum.prototype.lessThan = function(other, errbacks) { - return this.n < other.n; - }; - - Roughnum.prototype.lessThanOrEqual = function(other, errbacks) { - return this.n <= other.n; - }; - - Roughnum.prototype.integerSqrt = function(errbacks) { - if (isInteger(this)) { - if(this.n >= 0) { - return Roughnum.makeInstance(Math.floor(Math.sqrt(this.n)), errbacks); - } else { - errbacks.throwDomainError('integerSqrt of negative roughnum', this.n); - } - } else { - errbacks.throwDomainError("integerSqrt: can only be applied to an integer", this); - } - }; - - Roughnum.prototype.sqrt = function(errbacks) { - return Roughnum.makeInstance(Math.sqrt(this.n), errbacks); - }; - - Roughnum.prototype.abs = function(errbacks) { - return Roughnum.makeInstance(Math.abs(this.n), errbacks); - }; - - Roughnum.prototype.log = function(errbacks){ - if (this.n < 0) - errbacks.throwDomainError('log of negative roughnum', this.n); - else - return Roughnum.makeInstance(Math.log(this.n), errbacks); - }; - - Roughnum.prototype.tan = function(errbacks){ - return Roughnum.makeInstance(Math.tan(this.n), errbacks); - }; - - Roughnum.prototype.atan = function(errbacks){ - return Roughnum.makeInstance(Math.atan(this.n), errbacks); - }; - - Roughnum.prototype.cos = function(errbacks){ - return Roughnum.makeInstance(Math.cos(this.n), errbacks); - }; - - Roughnum.prototype.sin = function(errbacks){ - return Roughnum.makeInstance(Math.sin(this.n), errbacks); - }; - - Roughnum.prototype.expt = function(a, errbacks){ - if (this.n === 1) { - return this; - } else { - return Roughnum.makeInstance(Math.pow(this.n, a.n), errbacks); - } - }; - - Roughnum.prototype.exp = function(errbacks){ - var res = Math.exp(this.n); - if (!isFinite(res)) - errbacks.throwDomainError('exp: argument too large: ' + this); - return Roughnum.makeInstance(res); - }; - - Roughnum.prototype.acos = function(errbacks){ - return acos(this.n, errbacks); - }; - - Roughnum.prototype.asin = function(errbacks){ - return asin(this.n, errbacks); - }; - - var rationalRegexp = new RegExp("^([+-]?\\d+)/(\\d+)$"); - var digitRegexp = new RegExp("^[+-]?\\d+$"); - var flonumRegexp = new RegExp("^([-+]?)(\\d+\)((?:\\.\\d+)?)((?:[Ee][-+]?\\d+)?)$"); - - - var roughnumDecRegexp = new RegExp("^~([-+]?\\d+(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)$"); - - var roughnumRatRegexp = new RegExp("^~([+-]?\\d+)/(\\d+)$"); - - - var scientificPattern = new RegExp("^([+-]?\\d*\\.?\\d*)[Ee]([+]?\\d+)$"); - - // fromString: string -> (pyretnum | false) - var fromString = function(x, errbacks) { - if (x.match(digitRegexp)) { - var n = Number(x); - if (isOverflow(n)) { - return makeBignum(x); - } else { - return n; - } - } - - var aMatch = x.match(rationalRegexp); - if (aMatch) { - return Rational.makeInstance(fromString(aMatch[1]), - fromString(aMatch[2]), errbacks); - } - - aMatch = x.match(flonumRegexp); - if (aMatch) { - var negativeP = (aMatch[1] === "-"); - // - var beforeDecimalString = aMatch[2]; - var beforeDecimal = 0; - if (beforeDecimalString !== '') { - beforeDecimal = makeBignum(beforeDecimalString); - } - // - var afterDecimalString = aMatch[3]; - var denominatorTen = 1; - var afterDecimal = 0; - if (afterDecimalString !== '') { - afterDecimalString = afterDecimalString.substring(1); - denominatorTen = makeBignum('1' + new Array(afterDecimalString.length + 1).join('0')); - if (afterDecimalString !== '') { - afterDecimal = makeBignum(afterDecimalString); - } - } - // - var exponentString = aMatch[4]; - var exponentNegativeP = false; - var exponent = 1; - if (exponentString !== '') { - exponentString = exponentString.substring(1); - var exponentSign = exponentString.charAt(0); - exponentNegativeP = (exponentSign === '-'); - if (exponentSign === '-' || exponentSign === '+') { - exponentString = exponentString.substring(1); - } - exponent = makeBignum('1' + new Array(Number(exponentString) + 1).join('0')); - } - - var finalDen = denominatorTen; - var finalNum = _integerAdd(_integerMultiply(beforeDecimal, denominatorTen), afterDecimal); - if (negativeP) { - finalNum = negate(finalNum, errbacks); - } - // - if (!equals(exponent, 1)) { - if (exponentNegativeP) { - finalDen = _integerMultiply(finalDen, exponent); - } else { - finalNum = _integerMultiply(finalNum, exponent); - } - } - return Rational.makeInstance(finalNum, finalDen, errbacks); - } - - aMatch = x.match(roughnumRatRegexp); - if (aMatch) { - return toRoughnum(Rational.makeInstance(fromString(aMatch[1]), fromString(aMatch[2])), - errbacks); - } - - aMatch = x.match(roughnumDecRegexp); - if (aMatch) { - return Roughnum.makeInstance(Number(aMatch[1]), errbacks); - } - - return false; // if all else fails - - }; - - /////////////////////////////////////////////////////////// - - // recognizing numbers in (We)Scheme syntax: - - var hashModifiersRegexp = new RegExp("^(#[ei]#[bodx]|#[bodx]#[ei]|#[bodxei])(.*)$") - - function schemeRationalRegexp(digits) { return new RegExp("^([+-]?["+digits+"]+)/(["+digits+"]+)$"); } - - function matchComplexRegexp(radix, x, errbacks) { - var sign = "[+-]"; - var maybeSign = "[+-]?"; - var digits = digitsForRadix(radix, errbacks) - var expmark = "["+expMarkForRadix(radix, errbacks)+"]" - var digitSequence = "["+digits+"]+" - - var unsignedRational = digitSequence+"/"+digitSequence - var rational = maybeSign + unsignedRational - - var noDecimal = digitSequence - var decimalNumOnRight = "["+digits+"]*\\.["+digits+"]+" - var decimalNumOnLeft = "["+digits+"]+\\.["+digits+"]*" - - var unsignedDecimal = "(?:" + noDecimal + "|" + decimalNumOnRight + "|" + decimalNumOnLeft + ")" - - var special = "(?:inf\.0|nan\.0|inf\.f|nan\.f)" - - var unsignedRealNoExp = "(?:" + unsignedDecimal + "|" + unsignedRational + ")" - var unsignedReal = unsignedRealNoExp + "(?:" + expmark + maybeSign + digitSequence + ")?" - var unsignedRealOrSpecial = "(?:" + unsignedReal + "|" + special + ")" - var real = "(?:" + maybeSign + unsignedReal + "|" + sign + special + ")" - - var alt1 = new RegExp("^(" + rational + ")" - + "(" + sign + unsignedRational + "?)" - + "i$"); - var alt2 = new RegExp("^(" + real + ")?" - + "(" + sign + unsignedRealOrSpecial + "?)" - + "i$"); - var alt3 = new RegExp("^(" + real + ")@(" + real + ")$"); - - var match1 = x.match(alt1) - var match2 = x.match(alt2) - var match3 = x.match(alt3) - - return match1 ? match1 : - match2 ? match2 : - match3 ? match3 : - /* else */ false - } - - function schemeDigitRegexp(digits) { return new RegExp("^[+-]?["+digits+"]+$"); } - /** - /* NB: !!!! flonum regexp only matches "X.", ".X", or "X.X", NOT "X", this - /* must be separately checked with schemeDigitRegexp. - /* I know this seems dumb, but the alternative would be that this regexp - /* returns six matches, which also seems dumb. - /***/ - function schemeFlonumRegexp(digits) { - var decimalNumOnRight = "(["+digits+"]*)\\.(["+digits+"]+)" - var decimalNumOnLeft = "(["+digits+"]+)\\.(["+digits+"]*)" - return new RegExp("^(?:([+-]?)(" + - decimalNumOnRight+"|"+decimalNumOnLeft + - "))$"); - } - function schemeScientificPattern(digits, exp_mark) { - var noDecimal = "["+digits+"]+" - var decimalNumOnRight = "["+digits+"]*\\.["+digits+"]+" - var decimalNumOnLeft = "["+digits+"]+\\.["+digits+"]*" - return new RegExp("^(?:([+-]?" + - "(?:"+noDecimal+"|"+decimalNumOnRight+"|"+decimalNumOnLeft+")" + - ")["+exp_mark+"]([+-]?["+digits+"]+))$"); - } - - function digitsForRadix(radix, errbacks) { - return radix === 2 ? "01" : - radix === 8 ? "0-7" : - radix === 10 ? "0-9" : - radix === 16 ? "0-9a-fA-F" : - errbacks.throwInternalError("digitsForRadix: invalid radix", this, radix) - } - function expMarkForRadix(radix, errbacks) { - return (radix === 2 || radix === 8 || radix === 10) ? "defsl" : - (radix === 16) ? "sl" : - errbacks.throwInternalError("expMarkForRadix: invalid radix", this, radix) - } - - function Exactness(i) { - this.defaultp = function () { return i == 0; } - this.exactp = function () { return i == 1; } - this.inexactp = function () { return i == 2; } - } - - Exactness.def = new Exactness(0); - Exactness.on = new Exactness(1); - Exactness.off = new Exactness(2); - - Exactness.prototype.intAsExactp = function () { return this.defaultp() || this.exactp(); }; - Exactness.prototype.floatAsInexactp = function () { return this.defaultp() || this.inexactp(); }; - - // fromSchemeString: string boolean -> (scheme-number | false) - var fromSchemeString = function(x, exactness, errbacks) { - - var radix = 10 - var exactness = typeof exactness === 'undefined' ? Exactness.def : - exactness === true ? Exactness.on : - exactness === false ? Exactness.off : - /* else */ errbacks.throwInternalError( "exactness must be true or false" - , this - , r) ; - - var hMatch = x.toLowerCase().match(hashModifiersRegexp) - if (hMatch) { - var modifierString = hMatch[1].toLowerCase(); - - var exactFlag = modifierString.match(new RegExp("(#[ei])")) - var radixFlag = modifierString.match(new RegExp("(#[bodx])")) - - if (exactFlag) { - var f = exactFlag[1].charAt(1) - exactness = f === 'e' ? Exactness.on : - f === 'i' ? Exactness.off : - // this case is unreachable - errbacks.throwInternalError("invalid exactness flag", this, r) - } - if (radixFlag) { - var f = radixFlag[1].charAt(1) - radix = f === 'b' ? 2 : - f === 'o' ? 8 : - f === 'd' ? 10 : - f === 'x' ? 16 : - // this case is unreachable - errbacks.throwInternalError("invalid radix flag", this, r) - } - } - - var numberString = hMatch ? hMatch[2] : x - // if the string begins with a hash modifier, then it must parse as a - // number, an invalid parse is an error, not false. False is returned - // when the item could potentially have been read as a symbol. - var mustBeANumberp = hMatch ? true : false - - return fromSchemeStringRaw(numberString, radix, exactness, mustBeANumberp, errbacks) - }; - - function fromSchemeStringRaw(x, radix, exactness, mustBeANumberp, errbacks) { - var cMatch = matchComplexRegexp(radix, x, errbacks); - if (cMatch) { - throw "Complex Numbers are not supported in Pyret"; - } - - return fromSchemeStringRawNoComplex(x, radix, exactness, mustBeANumberp, errbacks) - } - - function fromSchemeStringRawNoComplex(x, radix, exactness, mustBeANumberp, errbacks) { - var aMatch = x.match(schemeRationalRegexp(digitsForRadix(radix, errbacks))); - if (aMatch) { - return Rational.makeInstance( fromSchemeStringRawNoComplex( aMatch[1] - , radix - , exactness - , errbacks - ) - , fromSchemeStringRawNoComplex( aMatch[2] - , radix - , exactness - , errbacks - ) - , errbacks); - } - - if (x === '+nan.0' || - x === '-nan.0' || - x === '+inf.0' || - x === '-inf.0' || - x === '-0.0') { - return Roughnum.makeInstance(Infinity); - } - - var fMatch = x.match(schemeFlonumRegexp(digitsForRadix(radix, errbacks))) - if (fMatch) { - var integralPart = fMatch[3] !== undefined ? fMatch[3] : fMatch[5]; - var fractionalPart = fMatch[4] !== undefined ? fMatch[4] : fMatch[6]; - return parseFloat( fMatch[1] - , integralPart - , fractionalPart - , radix - , exactness - , errbacks - ) - } - - var sMatch = x.match(schemeScientificPattern( digitsForRadix(radix, errbacks) - , expMarkForRadix(radix, errbacks) - )) - if (sMatch) { - var coefficient = fromSchemeStringRawNoComplex(sMatch[1], radix, exactness, errbacks) - var exponent = fromSchemeStringRawNoComplex(sMatch[2], radix, exactness, errbacks) - return multiply(coefficient, expt(radix, exponent, errbacks), errbacks); - } - - // Finally, integer tests. - if (x.match(schemeDigitRegexp(digitsForRadix(radix, errbacks)))) { - var n = parseInt(x, radix); - if (isOverflow(n)) { - return makeBignum(x); - } else if (exactness.intAsExactp()) { - return n; - } else { - return Roughnum.makeInstance(n) - } - } else if (mustBeANumberp) { - if(x.length===0) errbacks.throwGeneralError("no digits"); - errbacks.throwGeneralError("bad number: " + x, this); - } else { - return false; - } - }; - - function parseFloat(sign, integralPart, fractionalPart, radix, exactness, errbacks) { - var sign = (sign == "-" ? -1 : 1); - var integralPartValue = integralPart === "" ? 0 : - exactness.intAsExactp() ? parseExactInt(integralPart, radix, errbacks) : - parseInt(integralPart, radix) - - var fractionalNumerator = fractionalPart === "" ? 0 : - exactness.intAsExactp() ? parseExactInt(fractionalPart, radix, errbacks) : - parseInt(fractionalPart, radix) - /* unfortunately, for these next two calculations, `expt` and `divide` */ - /* will promote to Bignum and Rational, respectively, but we only want */ - /* these if we're parsing in exact mode */ - var fractionalDenominator = exactness.intAsExactp() ? expt(radix, fractionalPart.length, errbacks) : - Math.pow(radix, fractionalPart.length) - var fractionalPartValue = fractionalPart === "" ? 0 : - exactness.intAsExactp() ? divide(fractionalNumerator, fractionalDenominator, errbacks) : - fractionalNumerator / fractionalDenominator - - var forceInexact = function(o) { - return typeof o === "number" ? Roughnum.makeInstance(o, errbacks) : - o.toRoughnum(errbacks); - } - - return exactness.floatAsInexactp() ? forceInexact(multiply(sign, add( integralPartValue, fractionalPartValue))) : - multiply(sign, add(integralPartValue, fractionalPartValue)); - } - - function parseExactInt(str, radix, errbacks) { - return fromSchemeStringRawNoComplex(str, radix, Exactness.on, true, errbacks); - } - - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - - // The code below comes from Tom Wu's BigInteger implementation: - - // Copyright (c) 2005 Tom Wu - // All Rights Reserved. - // See "LICENSE" for details. - - // Basic JavaScript BN library - subset useful for RSA encryption. - - // Bits per digit - var dbits; - - // JavaScript engine analysis - var canary = 0xdeadbeefcafe; - var j_lm = ((canary&0xffffff)==0xefcafe); - - // (public) Constructor - function BigInteger(a,b,c) { - if(a != null) - if("number" == typeof a) this.fromNumber(a,b,c); - else if(b == null && "string" != typeof a) this.fromString(a,256); - else this.fromString(a,b); - } - - // return new, unset BigInteger - function nbi() { return new BigInteger(null); } - - // am: Compute w_j += (x*this_i), propagate carries, - // c is initial carry, returns final carry. - // c < 3*dvalue, x < 2*dvalue, this_i < dvalue - // We need to select the fastest one that works in this environment. - - // am1: use a single mult and divide to get the high bits, - // max digit bits should be 26 because - // max internal value = 2*dvalue^2-2*dvalue (< 2^53) - function am1(i,x,w,j,c,n) { - while(--n >= 0) { - var v = x*this[i++]+w[j]+c; - c = Math.floor(v/0x4000000); - w[j++] = v&0x3ffffff; - } - return c; - } - // am2 avoids a big mult-and-extract completely. - // Max digit bits should be <= 30 because we do bitwise ops - // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) - function am2(i,x,w,j,c,n) { - var xl = x&0x7fff, xh = x>>15; - while(--n >= 0) { - var l = this[i]&0x7fff; - var h = this[i++]>>15; - var m = xh*l+h*xl; - l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); - c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); - w[j++] = l&0x3fffffff; - } - return c; - } - // Alternately, set max digit bits to 28 since some - // browsers slow down when dealing with 32-bit numbers. - function am3(i,x,w,j,c,n) { - var xl = x&0x3fff, xh = x>>14; - while(--n >= 0) { - var l = this[i]&0x3fff; - var h = this[i++]>>14; - var m = xh*l+h*xl; - l = xl*l+((m&0x3fff)<<14)+w[j]+c; - c = (l>>28)+(m>>14)+xh*h; - w[j++] = l&0xfffffff; - } - return c; - } - if(j_lm && (typeof(navigator) !== 'undefined' && navigator.appName == "Microsoft Internet Explorer")) { - BigInteger.prototype.am = am2; - dbits = 30; - } - else if(j_lm && (typeof(navigator) !== 'undefined' && navigator.appName != "Netscape")) { - BigInteger.prototype.am = am1; - dbits = 26; - } - else { // Mozilla/Netscape seems to prefer am3 - BigInteger.prototype.am = am3; - dbits = 28; - } - - BigInteger.prototype.DB = dbits; - BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; - r.t = this.t; - r.s = this.s; - } - - // (protected) set from integer value x, -DV <= x < DV - function bnpFromInt(x) { - this.t = 1; - this.s = (x<0)?-1:0; - if(x > 0) this[0] = x; - else if(x < -1) this[0] = x+DV; - else this.t = 0; - } - - // return bigint initialized to value - function nbv(i) { var r = nbi(); r.fromInt(i); return r; } - - // (protected) set from string and radix - function bnpFromString(s,b) { - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 256) k = 8; // byte array - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else { this.fromRadix(s,b); return; } - this.t = 0; - this.s = 0; - var i = s.length, mi = false, sh = 0; - while(--i >= 0) { - var x = (k==8)?s[i]&0xff:intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-") mi = true; - continue; - } - mi = false; - if(sh == 0) - this[this.t++] = x; - else if(sh+k > this.DB) { - this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); - } - else - this[this.t-1] |= x<= this.DB) sh -= this.DB; - } - if(k == 8 && (s[0]&0x80) != 0) { - this.s = -1; - if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; - } - - // (public) return string representation in given radix - function bnToString(b) { - if(this.s < 0) return "-"+this.negate().toString(b); - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else return this.toRadix(b); - var km = (1< 0) { - if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r.push(int2char(d)); } - while(i >= 0) { - if(p < k) { - d = (this[i]&((1<>(p+=this.DB-k); - } - else { - d = (this[i]>>(p-=k))&km; - if(p <= 0) { p += this.DB; --i; } - } - if(d > 0) m = true; - if(m) r.push(int2char(d)); - } - } - return m?r.join(""):"0"; - } - - // (public) -this - function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } - - // (public) |this| - function bnAbs() { return (this.s<0)?this.negate():this; } - - // (public) return + if this > a, - if this < a, 0 if equal - function bnCompareTo(a) { - var r = this.s-a.s; - if(r != 0) return r; - var i = this.t; - if ( this.s < 0 ) { - r = a.t - i; - } - else { - r = i - a.t; - } - if(r != 0) return r; - while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; - return 0; - } - - // returns bit length of the integer x - function nbits(x) { - var r = 1, t; - if((t=x>>>16) != 0) { x = t; r += 16; } - if((t=x>>8) != 0) { x = t; r += 8; } - if((t=x>>4) != 0) { x = t; r += 4; } - if((t=x>>2) != 0) { x = t; r += 2; } - if((t=x>>1) != 0) { x = t; r += 1; } - return r; - } - - // (public) return the number of bits in "this" - function bnBitLength() { - if(this.t <= 0) return 0; - return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); - } - - // (protected) r = this << n*DB - function bnpDLShiftTo(n,r) { - var i; - for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; - for(i = n-1; i >= 0; --i) r[i] = 0; - r.t = this.t+n; - r.s = this.s; - } - - // (protected) r = this >> n*DB - function bnpDRShiftTo(n,r) { - for(var i = n; i < this.t; ++i) r[i-n] = this[i]; - r.t = Math.max(this.t-n,0); - r.s = this.s; - } - - // (protected) r = this << n - function bnpLShiftTo(n,r) { - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<= 0; --i) { - r[i+ds+1] = (this[i]>>cbs)|c; - c = (this[i]&bm)<= 0; --i) r[i] = 0; - r[ds] = c; - r.t = this.t+ds+1; - r.s = this.s; - r.clamp(); - } - - // (protected) r = this >> n - function bnpRShiftTo(n,r) { - r.s = this.s; - var ds = Math.floor(n/this.DB); - if(ds >= this.t) { r.t = 0; return; } - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<>bs; - for(var i = ds+1; i < this.t; ++i) { - r[i-ds-1] |= (this[i]&bm)<>bs; - } - if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; - } - if(a.t < this.t) { - c -= a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c -= a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c -= a.s; - } - r.s = (c<0)?-1:0; - if(c < -1) r[i++] = this.DV+c; - else if(c > 0) r[i++] = c; - r.t = i; - r.clamp(); - } - - // (protected) r = this * a, r != this,a (HAC 14.12) - // "this" should be the larger one if appropriate. - function bnpMultiplyTo(a,r) { - var x = this.abs(), y = a.abs(); - var i = x.t; - r.t = i+y.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); - r.s = 0; - r.clamp(); - if(this.s != a.s) BigInteger.ZERO.subTo(r,r); - } - - // (protected) r = this^2, r != this (HAC 14.16) - function bnpSquareTo(r) { - var x = this.abs(); - var i = r.t = 2*x.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < x.t-1; ++i) { - var c = x.am(i,x[i],r,2*i,0,1); - if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { - r[i+x.t] -= x.DV; - r[i+x.t+1] = 1; - } - } - if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); - r.s = 0; - r.clamp(); - } - - // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) - // r != q, this != m. q or r may be null. - function bnpDivRemTo(m,q,r) { - var pm = m.abs(); - if(pm.t <= 0) return; - var pt = this.abs(); - if(pt.t < pm.t) { - if(q != null) q.fromInt(0); - if(r != null) this.copyTo(r); - return; - } - if(r == null) r = nbi(); - var y = nbi(), ts = this.s, ms = m.s; - var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus - if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } - else { pm.copyTo(y); pt.copyTo(r); } - var ys = y.t; - var y0 = y[ys-1]; - if(y0 == 0) return; - var yt = y0*(1<1)?y[ys-2]>>this.F2:0); - var d1 = this.FV/yt, d2 = (1<= 0) { - r[r.t++] = 1; - r.subTo(t,r); - } - BigInteger.ONE.dlShiftTo(ys,t); - t.subTo(y,y); // "negative" y so we can replace sub with am later - while(y.t < ys) y[y.t++] = 0; - while(--j >= 0) { - // Estimate quotient digit - var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); - if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out - y.dlShiftTo(j,t); - r.subTo(t,r); - while(r[i] < --qd) r.subTo(t,r); - } - } - if(q != null) { - r.drShiftTo(ys,q); - if(ts != ms) BigInteger.ZERO.subTo(q,q); - } - r.t = ys; - r.clamp(); - if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder - if(ts < 0) BigInteger.ZERO.subTo(r,r); - } - - // (public) this mod a - function bnMod(a) { - var r = nbi(); - this.abs().divRemTo(a,null,r); - if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); - return r; - } - - // Modular reduction using "classic" algorithm - function Classic(m) { this.m = m; } - function cConvert(x) { - if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); - else return x; - } - function cRevert(x) { return x; } - function cReduce(x) { x.divRemTo(this.m,null,x); } - function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - Classic.prototype.convert = cConvert; - Classic.prototype.revert = cRevert; - Classic.prototype.reduce = cReduce; - Classic.prototype.mulTo = cMulTo; - Classic.prototype.sqrTo = cSqrTo; - - // (protected) return "-1/this % 2^DB"; useful for Mont. reduction - // justification: - // xy == 1 (mod m) - // xy = 1+km - // xy(2-xy) = (1+km)(1-km) - // x[y(2-xy)] = 1-k^2m^2 - // x[y(2-xy)] == 1 (mod m^2) - // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 - // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. - // JS multiply "overflows" differently from C/C++, so care is needed here. - function bnpInvDigit() { - if(this.t < 1) return 0; - var x = this[0]; - if((x&1) == 0) return 0; - var y = x&3; // y == 1/x mod 2^2 - y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 - y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 - y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 - // last step - calculate inverse mod DV directly; - // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints - y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits - // we really want the negative inverse, and -DV < y < DV - return (y>0)?this.DV-y:-y; - } - - // Montgomery reduction - function Montgomery(m) { - this.m = m; - this.mp = m.invDigit(); - this.mpl = this.mp&0x7fff; - this.mph = this.mp>>15; - this.um = (1<<(m.DB-15))-1; - this.mt2 = 2*m.t; - } - - // xR mod m - function montConvert(x) { - var r = nbi(); - x.abs().dlShiftTo(this.m.t,r); - r.divRemTo(this.m,null,r); - if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); - return r; - } - - // x/R mod m - function montRevert(x) { - var r = nbi(); - x.copyTo(r); - this.reduce(r); - return r; - } - - // x = x/R mod m (HAC 14.32) - function montReduce(x) { - while(x.t <= this.mt2) // pad x so am has enough room later - x[x.t++] = 0; - for(var i = 0; i < this.m.t; ++i) { - // faster way of calculating u0 = x[i]*mp mod DV - var j = x[i]&0x7fff; - var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; - // use am to combine the multiply-shift-add into one call - j = i+this.m.t; - x[j] += this.m.am(0,u0,x,i,0,this.m.t); - // propagate carry - while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } - } - x.clamp(); - x.drShiftTo(this.m.t,x); - if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); - } - - // r = "x^2/R mod m"; x != r - function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - // r = "xy/R mod m"; x,y != r - function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - - Montgomery.prototype.convert = montConvert; - Montgomery.prototype.revert = montRevert; - Montgomery.prototype.reduce = montReduce; - Montgomery.prototype.mulTo = montMulTo; - Montgomery.prototype.sqrTo = montSqrTo; - - // (protected) true iff this is even - function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } - - // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) - function bnpExp(e,z) { - if(e > 0xffffffff || e < 1) return BigInteger.ONE; - var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; - g.copyTo(r); - while(--i >= 0) { - z.sqrTo(r,r2); - if((e&(1< 0) z.mulTo(r2,g,r); - else { var t = r; r = r2; r2 = t; } - } - return z.revert(r); - } - - // (public) this^e % m, 0 <= e < 2^32 - function bnModPowInt(e,m) { - var z; - if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); - return this.bnpExp(e,z); - } - - // protected - BigInteger.prototype.copyTo = bnpCopyTo; - BigInteger.prototype.fromInt = bnpFromInt; - BigInteger.prototype.fromString = bnpFromString; - BigInteger.prototype.clamp = bnpClamp; - BigInteger.prototype.dlShiftTo = bnpDLShiftTo; - BigInteger.prototype.drShiftTo = bnpDRShiftTo; - BigInteger.prototype.lShiftTo = bnpLShiftTo; - BigInteger.prototype.rShiftTo = bnpRShiftTo; - BigInteger.prototype.subTo = bnpSubTo; - BigInteger.prototype.multiplyTo = bnpMultiplyTo; - BigInteger.prototype.squareTo = bnpSquareTo; - BigInteger.prototype.divRemTo = bnpDivRemTo; - BigInteger.prototype.invDigit = bnpInvDigit; - BigInteger.prototype.isEven = bnpIsEven; - BigInteger.prototype.bnpExp = bnpExp; // renamed from exp, because we need the latter for Pyret - - // public - BigInteger.prototype.toString = bnToString; - BigInteger.prototype.negate = bnNegate; - BigInteger.prototype.abs = bnAbs; - BigInteger.prototype.compareTo = bnCompareTo; - BigInteger.prototype.bitLength = bnBitLength; - BigInteger.prototype.mod = bnMod; - BigInteger.prototype.modPowInt = bnModPowInt; - - // "constants" - BigInteger.ZERO = nbv(0); - BigInteger.ONE = nbv(1); - - // Copyright (c) 2005-2009 Tom Wu - // All Rights Reserved. - // See "LICENSE" for details. - - // Extended JavaScript BN functions, required for RSA private ops. - - // Version 1.1: new BigInteger("0", 10) returns "proper" zero - - // (public) - function bnClone() { var r = nbi(); this.copyTo(r); return r; } - - // (public) return value as integer - function bnIntValue() { - if(this.s < 0) { - if(this.t == 1) return this[0]-this.DV; - else if(this.t == 0) return -1; - } - else if(this.t == 1) return this[0]; - else if(this.t == 0) return 0; - // assumes 16 < DB < 32 - return ((this[1]&((1<<(32-this.DB))-1))<>24; } - - // (public) return value as short (assumes DB>=16) - function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; } - - // (protected) return x s.t. r^x < DV - function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } - - // (public) 0 if this == 0, 1 if this > 0 - function bnSigNum() { - if(this.s < 0) return -1; - else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; - else return 1; - } - - // (protected) convert to radix string - function bnpToRadix(b) { - if(b == null) b = 10; - if(this.signum() == 0 || b < 2 || b > 36) return "0"; - var cs = this.chunkSize(b); - var a = Math.pow(b,cs); - var d = nbv(a), y = nbi(), z = nbi(), r = ""; - this.divRemTo(d,y,z); - while(y.signum() > 0) { - r = (a+z.intValue()).toString(b).substr(1) + r; - y.divRemTo(d,y,z); - } - return z.intValue().toString(b) + r; - } - - // (protected) convert from radix string - function bnpFromRadix(s,b) { - this.fromInt(0); - if(b == null) b = 10; - var cs = this.chunkSize(b); - var d = Math.pow(b,cs), mi = false, j = 0, w = 0; - for(var i = 0; i < s.length; ++i) { - var x = intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-" && this.signum() == 0) mi = true; - continue; - } - w = b*w+x; - if(++j >= cs) { - this.dMultiply(d); - this.dAddOffset(w,0); - j = 0; - w = 0; - } - } - if(j > 0) { - this.dMultiply(Math.pow(b,j)); - this.dAddOffset(w,0); - } - if(mi) BigInteger.ZERO.subTo(this,this); - } - - // (protected) alternate constructor - function bnpFromNumber(a,b,c) { - if("number" == typeof b) { - // new BigInteger(int,int,RNG) - if(a < 2) this.fromInt(1); - else { - this.fromNumber(a,c); - if(!this.testBit(a-1)) // force MSB set - this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); - if(this.isEven()) this.dAddOffset(1,0); // force odd - while(!this.isProbablePrime(b)) { - this.dAddOffset(2,0); - if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); - } - } - } - else { - // new BigInteger(int,RNG) - var x = [], t = a&7; - x.length = (a>>3)+1; - b.nextBytes(x); - if(t > 0) x[0] &= ((1< 0) { - if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p) - r[k++] = d|(this.s<<(this.DB-p)); - while(i >= 0) { - if(p < 8) { - d = (this[i]&((1<>(p+=this.DB-8); - } - else { - d = (this[i]>>(p-=8))&0xff; - if(p <= 0) { p += this.DB; --i; } - } - if((d&0x80) != 0) d |= -256; - if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; - if(k > 0 || d != this.s) r[k++] = d; - } - } - return r; - } - - function bnEquals(a) { return(this.compareTo(a)==0); } - function bnMin(a) { return(this.compareTo(a)<0)?this:a; } - function bnMax(a) { return(this.compareTo(a)>0)?this:a; } - - // (protected) r = this op a (bitwise) - function bnpBitwiseTo(a,op,r) { - var i, f, m = Math.min(a.t,this.t); - for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]); - if(a.t < this.t) { - f = a.s&this.DM; - for(i = m; i < this.t; ++i) r[i] = op(this[i],f); - r.t = this.t; - } - else { - f = this.s&this.DM; - for(i = m; i < a.t; ++i) r[i] = op(f,a[i]); - r.t = a.t; - } - r.s = op(this.s,a.s); - r.clamp(); - } - - // (public) this & a - function op_and(x,y) { return x&y; } - function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } - - // (public) this | a - function op_or(x,y) { return x|y; } - function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } - - // (public) this ^ a - function op_xor(x,y) { return x^y; } - function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } - - // (public) this & ~a - function op_andnot(x,y) { return x&~y; } - function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } - - // (public) ~this - function bnNot() { - var r = nbi(); - for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i]; - r.t = this.t; - r.s = ~this.s; - return r; - } - - // (public) this << n - function bnShiftLeft(n) { - var r = nbi(); - if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); - return r; - } - - // (public) this >> n - function bnShiftRight(n) { - var r = nbi(); - if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); - return r; - } - - // return index of lowest 1-bit in x, x < 2^31 - function lbit(x) { - if(x == 0) return -1; - var r = 0; - if((x&0xffff) == 0) { x >>= 16; r += 16; } - if((x&0xff) == 0) { x >>= 8; r += 8; } - if((x&0xf) == 0) { x >>= 4; r += 4; } - if((x&3) == 0) { x >>= 2; r += 2; } - if((x&1) == 0) ++r; - return r; - } - - // (public) returns index of lowest 1-bit (or -1 if none) - function bnGetLowestSetBit() { - for(var i = 0; i < this.t; ++i) - if(this[i] != 0) return i*this.DB+lbit(this[i]); - if(this.s < 0) return this.t*this.DB; - return -1; - } - - // return number of 1 bits in x - function cbit(x) { - var r = 0; - while(x != 0) { x &= x-1; ++r; } - return r; - } - - // (public) return number of set bits - function bnBitCount() { - var r = 0, x = this.s&this.DM; - for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x); - return r; - } - - // (public) true iff nth bit is set - function bnTestBit(n) { - var j = Math.floor(n/this.DB); - if(j >= this.t) return(this.s!=0); - return((this[j]&(1<<(n%this.DB)))!=0); - } - - // (protected) this op (1<>= this.DB; - } - if(a.t < this.t) { - c += a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c += a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += a.s; - } - r.s = (c<0)?-1:0; - if(c > 0) r[i++] = c; - else if(c < -1) r[i++] = this.DV+c; - r.t = i; - r.clamp(); - } - - // (public) this + a - function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } - - // (public) this - a - function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } - - // (public) this * a - function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } - - // (public) this / a - function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } - - // (public) this % a - function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } - - // (public) [this/a,this%a] - function bnDivideAndRemainder(a) { - var q = nbi(), r = nbi(); - this.divRemTo(a,q,r); - return [q,r]; - } - - // (protected) this *= n, this >= 0, 1 < n < DV - function bnpDMultiply(n) { - this[this.t] = this.am(0,n-1,this,0,0,this.t); - ++this.t; - this.clamp(); - } - - // (protected) this += n << w words, this >= 0 - function bnpDAddOffset(n,w) { - if(n == 0) return; - while(this.t <= w) this[this.t++] = 0; - this[w] += n; - while(this[w] >= this.DV) { - this[w] -= this.DV; - if(++w >= this.t) this[this.t++] = 0; - ++this[w]; - } - } - - // A "null" reducer - function NullExp() {} - function nNop(x) { return x; } - function nMulTo(x,y,r) { x.multiplyTo(y,r); } - function nSqrTo(x,r) { x.squareTo(r); } - - NullExp.prototype.convert = nNop; - NullExp.prototype.revert = nNop; - NullExp.prototype.mulTo = nMulTo; - NullExp.prototype.sqrTo = nSqrTo; - - // (public) this^e - function bnPow(e) { return this.bnpExp(e,new NullExp()); } - - // (protected) r = lower n words of "this * a", a.t <= n - // "this" should be the larger one if appropriate. - function bnpMultiplyLowerTo(a,n,r) { - var i = Math.min(this.t+a.t,n); - r.s = 0; // assumes a,this >= 0 - r.t = i; - while(i > 0) r[--i] = 0; - var j; - for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t); - for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i); - r.clamp(); - } - - // (protected) r = "this * a" without lower n words, n > 0 - // "this" should be the larger one if appropriate. - function bnpMultiplyUpperTo(a,n,r) { - --n; - var i = r.t = this.t+a.t-n; - r.s = 0; // assumes a,this >= 0 - while(--i >= 0) r[i] = 0; - for(i = Math.max(n-this.t,0); i < a.t; ++i) - r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n); - r.clamp(); - r.drShiftTo(1,r); - } - - // Barrett modular reduction - function Barrett(m) { - // setup Barrett - this.r2 = nbi(); - this.q3 = nbi(); - BigInteger.ONE.dlShiftTo(2*m.t,this.r2); - this.mu = this.r2.divide(m); - this.m = m; - } - - function barrettConvert(x) { - if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); - else if(x.compareTo(this.m) < 0) return x; - else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } - } - - function barrettRevert(x) { return x; } - - // x = x mod m (HAC 14.42) - function barrettReduce(x) { - x.drShiftTo(this.m.t-1,this.r2); - if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } - this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); - this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); - while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); - x.subTo(this.r2,x); - while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); - } - - // r = x^2 mod m; x != r - function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - // r = x*y mod m; x,y != r - function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - - Barrett.prototype.convert = barrettConvert; - Barrett.prototype.revert = barrettRevert; - Barrett.prototype.reduce = barrettReduce; - Barrett.prototype.mulTo = barrettMulTo; - Barrett.prototype.sqrTo = barrettSqrTo; - - // (public) this^e % m (HAC 14.85) - function bnModPow(e,m) { - var i = e.bitLength(), k, r = nbv(1), z; - if(i <= 0) return r; - else if(i < 18) k = 1; - else if(i < 48) k = 3; - else if(i < 144) k = 4; - else if(i < 768) k = 5; - else k = 6; - if(i < 8) - z = new Classic(m); - else if(m.isEven()) - z = new Barrett(m); - else - z = new Montgomery(m); - - // precomputation - var g = [], n = 3, k1 = k-1, km = (1< 1) { - var g2 = nbi(); - z.sqrTo(g[1],g2); - while(n <= km) { - g[n] = nbi(); - z.mulTo(g2,g[n-2],g[n]); - n += 2; - } - } - - var j = e.t-1, w, is1 = true, r2 = nbi(), t; - i = nbits(e[j])-1; - while(j >= 0) { - if(i >= k1) w = (e[j]>>(i-k1))&km; - else { - w = (e[j]&((1<<(i+1))-1))<<(k1-i); - if(j > 0) w |= e[j-1]>>(this.DB+i-k1); - } - - n = k; - while((w&1) == 0) { w >>= 1; --n; } - if((i -= n) < 0) { i += this.DB; --j; } - if(is1) { // ret == 1, don't bother squaring or multiplying it - g[w].copyTo(r); - is1 = false; - } - else { - while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } - if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } - z.mulTo(r2,g[w],r); - } - - while(j >= 0 && (e[j]&(1< 0) { - x.rShiftTo(g,x); - y.rShiftTo(g,y); - } - while(x.signum() > 0) { - if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); - if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); - if(x.compareTo(y) >= 0) { - x.subTo(y,x); - x.rShiftTo(1,x); - } - else { - y.subTo(x,y); - y.rShiftTo(1,y); - } - } - if(g > 0) y.lShiftTo(g,y); - return y; - } - - // (protected) this % n, n < 2^26 - function bnpModInt(n) { - if(n <= 0) return 0; - var d = this.DV%n, r = (this.s<0)?n-1:0; - if(this.t > 0) - if(d == 0) r = this[0]%n; - else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n; - return r; - } - - // (public) 1/this % m (HAC 14.61) - function bnModInverse(m) { - var ac = m.isEven(); - if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; - var u = m.clone(), v = this.clone(); - var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); - while(u.signum() != 0) { - while(u.isEven()) { - u.rShiftTo(1,u); - if(ac) { - if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } - a.rShiftTo(1,a); - } - else if(!b.isEven()) b.subTo(m,b); - b.rShiftTo(1,b); - } - while(v.isEven()) { - v.rShiftTo(1,v); - if(ac) { - if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } - c.rShiftTo(1,c); - } - else if(!d.isEven()) d.subTo(m,d); - d.rShiftTo(1,d); - } - if(u.compareTo(v) >= 0) { - u.subTo(v,u); - if(ac) a.subTo(c,a); - b.subTo(d,b); - } - else { - v.subTo(u,v); - if(ac) c.subTo(a,c); - d.subTo(b,d); - } - } - if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; - if(d.compareTo(m) >= 0) return d.subtract(m); - if(d.signum() < 0) d.addTo(m,d); else return d; - if(d.signum() < 0) return d.add(m); else return d; - } - - var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509]; - var lplim = (1<<26)/lowprimes[lowprimes.length-1]; - - // (public) test primality with certainty >= 1-.5^t - function bnIsProbablePrime(t) { - var i, x = this.abs(); - if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) { - for(i = 0; i < lowprimes.length; ++i) - if(x[0] == lowprimes[i]) return true; - return false; - } - if(x.isEven()) return false; - i = 1; - while(i < lowprimes.length) { - var m = lowprimes[i], j = i+1; - while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; - m = x.modInt(m); - while(i < j) if(m%lowprimes[i++] == 0) return false; - } - return x.millerRabin(t); - } - - // (protected) true if probably prime (HAC 4.24, Miller-Rabin) - function bnpMillerRabin(t) { - var n1 = this.subtract(BigInteger.ONE); - var k = n1.getLowestSetBit(); - if(k <= 0) return false; - var r = n1.shiftRight(k); - t = (t+1)>>1; - if(t > lowprimes.length) t = lowprimes.length; - var a = nbi(); - for(var i = 0; i < t; ++i) { - a.fromInt(lowprimes[i]); - var y = a.modPow(r,this); - if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { - var j = 1; - while(j++ < k && y.compareTo(n1) != 0) { - y = y.modPowInt(2,this); - if(y.compareTo(BigInteger.ONE) == 0) return false; - } - if(y.compareTo(n1) != 0) return false; - } - } - return true; - } - - // protected - BigInteger.prototype.chunkSize = bnpChunkSize; - BigInteger.prototype.toRadix = bnpToRadix; - BigInteger.prototype.fromRadix = bnpFromRadix; - BigInteger.prototype.fromNumber = bnpFromNumber; - BigInteger.prototype.bitwiseTo = bnpBitwiseTo; - BigInteger.prototype.changeBit = bnpChangeBit; - BigInteger.prototype.addTo = bnpAddTo; - BigInteger.prototype.dMultiply = bnpDMultiply; - BigInteger.prototype.dAddOffset = bnpDAddOffset; - BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; - BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; - BigInteger.prototype.modInt = bnpModInt; - BigInteger.prototype.millerRabin = bnpMillerRabin; - - // public - BigInteger.prototype.clone = bnClone; - BigInteger.prototype.intValue = bnIntValue; - BigInteger.prototype.byteValue = bnByteValue; - BigInteger.prototype.shortValue = bnShortValue; - BigInteger.prototype.signum = bnSigNum; - BigInteger.prototype.toByteArray = bnToByteArray; - BigInteger.prototype.equals = bnEquals; - BigInteger.prototype.min = bnMin; - BigInteger.prototype.max = bnMax; - BigInteger.prototype.and = bnAnd; - BigInteger.prototype.or = bnOr; - BigInteger.prototype.xor = bnXor; - BigInteger.prototype.andNot = bnAndNot; - BigInteger.prototype.not = bnNot; - BigInteger.prototype.shiftLeft = bnShiftLeft; - BigInteger.prototype.shiftRight = bnShiftRight; - BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; - BigInteger.prototype.bitCount = bnBitCount; - BigInteger.prototype.testBit = bnTestBit; - BigInteger.prototype.setBit = bnSetBit; - BigInteger.prototype.clearBit = bnClearBit; - BigInteger.prototype.flipBit = bnFlipBit; - BigInteger.prototype.add = bnAdd; - BigInteger.prototype.subtract = bnSubtract; - BigInteger.prototype.multiply = bnMultiply; - BigInteger.prototype.divide = bnDivide; - BigInteger.prototype.remainder = bnRemainder; - BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; - BigInteger.prototype.modPow = bnModPow; - BigInteger.prototype.modInverse = bnModInverse; - BigInteger.prototype.pow = bnPow; - BigInteger.prototype.gcd = bnGCD; - BigInteger.prototype.isProbablePrime = bnIsProbablePrime; - - // BigInteger interfaces not implemented in jsbn: - - // BigInteger(int signum, byte[] magnitude) - // double doubleValue() - // float floatValue() - // int hashCode() - // long longValue() - // static BigInteger valueOf(long val) - - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////// - // END OF copy-and-paste of jsbn. - - BigInteger.NEGATIVE_ONE = BigInteger.ONE.negate(); - - // Other methods we need to add for compatibilty with js-numbers numeric tower. - - // add is implemented above. - // subtract is implemented above. - // multiply is implemented above. - // equals is implemented above. - // abs is implemented above. - // negate is defined above. - - // makeBignum: string -> BigInteger - var makeBignum = function(s) { - if (typeof(s) === 'number') { s = s + ''; } - s = expandExponent(s); - return new BigInteger(s, 10); - }; - - var zerostring = function(n) { - var buf = []; - for (var i = 0; i < n; i++) { - buf.push('0'); - } - return buf.join(''); - }; - - BigInteger.prototype.isFinite = function() { - return true; - }; - - BigInteger.prototype.isInteger = function() { - return true; - }; - - BigInteger.prototype.isRational = function() { - return true; - }; - - BigInteger.prototype.isExact = BigInteger.prototype.isRational; - - BigInteger.prototype.isReal = function() { - return true; - }; - - BigInteger.prototype.isRoughnum = function() { - return false; - }; - - BigInteger.prototype.isPositive = function() { - return this.compareTo(BigInteger.ZERO) > 0; - }; - - BigInteger.prototype.isNonNegative = function() { - return this.compareTo(BigInteger.ZERO) >= 0; - }; - - BigInteger.prototype.isNegative = function() { - return this.compareTo(BigInteger.ZERO) < 0; - }; - - BigInteger.prototype.isNonPositive = function() { - return this.compareTo(BigInteger.ZERO) <= 0; - }; - - BigInteger.prototype.toRational = function() { - return this; - }; - - BigInteger.prototype.toExact = BigInteger.prototype.toRational; - - BigInteger.prototype.toFixnum = function() { - var a = splitIntIntoMantissaExpt(this); - //console.log('bigint.tofixnum of', this); - //console.log('split = ', a); - var r = Number(String(a[0]) + 'e' + String(a[1])); - //console.log('returning', r); - return r; - } - - BigInteger.prototype.toRoughnum = function(errbacks) { - return Roughnum.makeInstance(this.toFixnum(), errbacks); - }; - - BigInteger.prototype.greaterThan = function(other, errbacks) { - return this.compareTo(other, errbacks) > 0; - }; - - BigInteger.prototype.greaterThanOrEqual = function(other, errbacks) { - return this.compareTo(other, errbacks) >= 0; - }; - - BigInteger.prototype.lessThan = function(other, errbacks) { - return this.compareTo(other, errbacks) < 0; - }; - - BigInteger.prototype.lessThanOrEqual = function(other, errbacks) { - return this.compareTo(other, errbacks) <= 0; - }; - - // divide: pyretnum -> pyretnum - // WARNING NOTE: we override the old version of divide. - BigInteger.prototype.divide = function(other, errbacks) { - var quotientAndRemainder = bnDivideAndRemainder.call(this, other); - if (quotientAndRemainder[1].compareTo(BigInteger.ZERO) === 0) { - return quotientAndRemainder[0]; - } else { - var result = add(quotientAndRemainder[0], - Rational.makeInstance(quotientAndRemainder[1], other, errbacks), errbacks); - return result; - } - }; - - BigInteger.prototype.numerator = function() { - return this; - }; - - BigInteger.prototype.denominator = function() { - return 1; - }; - - (function() { - // Classic implementation of Newton-Raphson square-root search, - // adapted for integer-sqrt. - // http://en.wikipedia.org/wiki/Newton's_method#Square_root_of_a_number - var searchIter = function(n, guess, errbacks) { - while(!(lessThanOrEqual(sqr(guess),n, errbacks) && - lessThan(n,sqr(add(guess, 1, errbacks), errbacks), errbacks))) { - guess = floor(divide(add(guess, - floor(divide(n, guess, errbacks), errbacks), errbacks), - 2, errbacks), errbacks); - } - return guess; - }; - - // integerSqrt: -> pyretnum - BigInteger.prototype.integerSqrt = function(errbacks) { - var n; - if(sign(this) >= 0) { - return searchIter(this, this, errbacks); - } else { - errbacks.throwDomainError('integerSqrt of negative bignum ' + this); - } - }; - })(); - - (function() { - // Get an approximation using integerSqrt, and then start another - // Newton-Raphson search if necessary. - BigInteger.prototype.sqrt = function(errbacks) { - var approx = this.integerSqrt(errbacks), fix; - if (eqv(sqr(approx, errbacks), this, errbacks)) { - return approx; - } - fix = toFixnum(this); - if (isFinite(fix)) { - return Roughnum.makeInstance(Math.sqrt(fix), errbacks); - } else { - return approx; - } - }; - })(); - - // sqrt: -> pyretnum - // http://en.wikipedia.org/wiki/Newton's_method#Square_root_of_a_number - // Produce the square root. - - // floor: -> pyretnum - // Produce the floor. - BigInteger.prototype.floor = function(errbacks) { - return this; - } - - // ceiling: -> pyretnum - // Produce the ceiling. - BigInteger.prototype.ceiling = function(errbacks) { - return this; - } - - // round: -> pyretnum - // Round to the nearest integer. - BigInteger.prototype.round = function(n, errbacks) { - return this; - }; - - BigInteger.prototype.roundEven = function(n, errbacks) { - return this; - }; - - // log: -> pyretnum - // Produce the log. - BigInteger.prototype.log = function(n, errbacks) { - return log(this.toFixnum(), errbacks); - }; - - // tan: -> pyretnum - // Produce the tan. - BigInteger.prototype.tan = function(n, errbacks) { - return tan(this.toFixnum(), errbacks); - }; - - // atan: -> pyretnum - // Produce the arc tangent. - BigInteger.prototype.atan = function(n, errbacks) { - return atan(this.toFixnum(), errbacks); - }; - - // cos: -> pyretnum - // Produce the cosine. - BigInteger.prototype.cos = function(n, errbacks) { - return cos(this.toFixnum(), errbacks); - }; - - // sin: -> pyretnum - // Produce the sine. - BigInteger.prototype.sin = function(n, errbacks) { - return sin(this.toFixnum(), errbacks); - }; - - // expt: pyretnum -> pyretnum - // Produce the power to the input. - BigInteger.prototype.expt = function(n, errbacks) { - return bnPow.call(this, n); - }; - - // exp: -> pyretnum - // Produce e raised to the given power. - BigInteger.prototype.exp = function(errbacks) { - var res = Math.exp(this.toFixnum()); - if (!isFinite(res)) - errbacks.throwDomainError('exp: argument too large: ' + this); - return Roughnum.makeInstance(res, errbacks); - }; - - // acos: -> pyretnum - // Produce the arc cosine. - BigInteger.prototype.acos = function(n, errbacks) { - return acos(this.toFixnum(), errbacks); - }; - - // asin: -> pyretnum - // Produce the arc sine. - BigInteger.prototype.asin = function(n, errbacks) { - return asin(this.toFixnum(), errbacks); - }; - - ////////////////////////////////////////////////////////////////////// - // toRepeatingDecimal: jsnum jsnum {limit: number}? -> [string, string, string] - // - // Given the numerator and denominator parts of a rational, - // produces the repeating-decimal representation, where the first - // part are the digits before the decimal, the second are the - // non-repeating digits after the decimal, and the third are the - // remaining repeating decimals. - // - // An optional limit on the decimal expansion can be provided, in which - // case the search cuts off if we go past the limit. - // If this happens, the third argument returned becomes '...' to indicate - // that the search was prematurely cut off. - var toRepeatingDecimal = (function() { - var getResidue = function(r, d, limit, errbacks) { - var digits = []; - var seenRemainders = {}; - seenRemainders[r] = true; - while(true) { - if (limit-- <= 0) { - return [digits.join(''), '...'] - } - - var nextDigit = quotient( - multiply(r, 10, errbacks), d, errbacks); - var nextRemainder = remainder( - multiply(r, 10, errbacks), - d, errbacks); - digits.push(nextDigit.toString()); - if (seenRemainders[nextRemainder]) { - r = nextRemainder; - break; - } else { - seenRemainders[nextRemainder] = true; - r = nextRemainder; - } - } - - var firstRepeatingRemainder = r; - var repeatingDigits = []; - while (true) { - var nextDigit = quotient(multiply(r, 10, errbacks), d, errbacks); - var nextRemainder = remainder( - multiply(r, 10, errbacks), - d, errbacks); - repeatingDigits.push(nextDigit.toString()); - if (equals(nextRemainder, firstRepeatingRemainder)) { - break; - } else { - r = nextRemainder; - } - }; - - var digitString = digits.join(''); - var repeatingDigitString = repeatingDigits.join(''); - - while (digitString.length >= repeatingDigitString.length && - (digitString.substring( - digitString.length - repeatingDigitString.length) - === repeatingDigitString)) { - digitString = digitString.substring( - 0, digitString.length - repeatingDigitString.length); - } - - return [digitString, repeatingDigitString]; - - }; - - return function(n, d, options, errbacks) { - // default limit on decimal expansion; can be overridden - var limit = 512; - if (options && typeof(options.limit) !== 'undefined') { - limit = options.limit; - } - if (! isInteger(n)) { - errbacks.throwDomainError('toRepeatingDecimal: n ' + n.toString() + - " is not an integer."); - } - if (! isInteger(d)) { - errbacks.throwDomainError('toRepeatingDecimal: d ' + d.toString() + - " is not an integer."); - } - if (equals(d, 0, errbacks)) { - errbacks.throwDomainError('toRepeatingDecimal: d equals 0'); - } - if (lessThan(d, 0, errbacks)) { - errbacks.throwDomainError('toRepeatingDecimal: d < 0'); - } - var sign = (lessThan(n, 0) ? "-" : ""); - n = abs(n, errbacks); - var beforeDecimalPoint = sign + quotient(n, d, errbacks); - var afterDecimals = getResidue(remainder(n, d, errbacks), d, limit, errbacks); - return [beforeDecimalPoint].concat(afterDecimals); - }; - })(); - ////////////////////////////////////////////////////////////////////// - // toStringDigits: jsnum jsnum -> string - // Converts the number to a string, providing digits precision in the - // output. If digits is positive, provides that many digits to the right - // of the decimal point (including adding zeroes beyond the actual precision of - // the number). If digits is negative, rounds that many positions to the - // left of the decimal, replacing them with zeroes. - // - // Note that num-to-string-digits is only for formatting, and its - // output's apparent precision may be unrelated to the actual precision of the - // input number, which may have been an approximation, or unrepresentable in - // decimal. - function toStringDigits(n, digits, errbacks) { - if (!isInteger(digits)) { - errbacks.throwDomainError('num-to-string-digits: digits should be an integer'); - } - var tenDigits = expt(10, digits, errbacks); - var d = toFixnum(digits); - n = divide(round(multiply(n, tenDigits, errbacks), errbacks), tenDigits, errbacks); - if (isInteger(n)) { - var ans = n.toString(); - if (d >= 1) { - ans += '.'; - for (var i = 0; i < d; i++) { - ans += '0'; - } - } - return ans; - } - // n is not an integer implies that d >= 1 - var decimal = toRepeatingDecimal(n.numerator(), n.denominator(), undefined, errbacks); - var ans = decimal[1].toString(); - while (ans.length < d) { - ans += decimal[2]; - } - return decimal[0] + '.' + ans.substring(0, d); - } - ////////////////////////////////////////////////////////////////////// - - // External interface of js-numbers: - - Numbers['fromFixnum'] = fromFixnum; - Numbers['fromString'] = fromString; - Numbers['fromSchemeString'] = fromSchemeString; - Numbers['makeBignum'] = makeBignum; - Numbers['makeRational'] = Rational.makeInstance; - Numbers['makeRoughnum'] = Roughnum.makeInstance; - - Numbers['isPyretNumber'] = isPyretNumber; - Numbers['isRational'] = isRational; - Numbers['isReal'] = isReal; - Numbers['isExact'] = isExact; - Numbers['isInteger'] = isInteger; - Numbers['isRoughnum'] = isRoughnum; - Numbers['isPositive'] = isPositive; - Numbers['isNegative'] = isNegative; - Numbers['isNonPositive'] = isNonPositive; - Numbers['isNonNegative'] = isNonNegative; - - Numbers['toFixnum'] = toFixnum; - Numbers['toExact'] = toExact; - Numbers['toRational'] = toRational; - Numbers['toRoughnum'] = toRoughnum; - - Numbers['add'] = add; - Numbers['subtract'] = subtract; - Numbers['multiply'] = multiply; - Numbers['divide'] = divide; - Numbers['equals'] = equals; - Numbers['equalsAnyZero'] = equalsAnyZero; - Numbers['eqv'] = eqv; // why is this being exported? - Numbers['roughlyEquals'] = roughlyEquals; - Numbers['roughlyEqualsRel'] = roughlyEqualsRel; - Numbers['greaterThanOrEqual'] = greaterThanOrEqual; - Numbers['lessThanOrEqual'] = lessThanOrEqual; - Numbers['greaterThan'] = greaterThan; - Numbers['lessThan'] = lessThan; - Numbers['expt'] = expt; - Numbers['exp'] = exp; - Numbers['modulo'] = modulo; - Numbers['numerator'] = numerator; - Numbers['denominator'] = denominator; - Numbers['integerSqrt'] = integerSqrt; - Numbers['sqrt'] = sqrt; - Numbers['abs'] = abs; - Numbers['quotient'] = quotient; - Numbers['remainder'] = remainder; - Numbers['floor'] = floor; - Numbers['ceiling'] = ceiling; - Numbers['round'] = round; - Numbers['roundEven'] = roundEven; - Numbers['log'] = log; - Numbers['tan'] = tan; - Numbers['atan'] = atan; - Numbers['atan2'] = atan2; - Numbers['cos'] = cos; - Numbers['sin'] = sin; - Numbers['tan'] = tan; - Numbers['acos'] = acos; - Numbers['asin'] = asin; - Numbers['sqr'] = sqr; - Numbers['gcd'] = gcd; - Numbers['lcm'] = lcm; - - Numbers['toRepeatingDecimal'] = toRepeatingDecimal; - Numbers['toStringDigits'] = toStringDigits; - - // The following exposes the class representations for easier - // integration with other projects. - Numbers['BigInteger'] = BigInteger; - Numbers['Rational'] = Rational; - Numbers['Roughnum'] = Roughnum; - Numbers['FloatPoint'] = Roughnum; //FIXME - Numbers['Complex'] = Roughnum; //FIXME - - Numbers['MIN_FIXNUM'] = MIN_FIXNUM; - Numbers['MAX_FIXNUM'] = MAX_FIXNUM; - - return Numbers; -}); -define("jglr/rnglr", ["jglr/cyclicJSON"], function(cycle) { - function SrcLoc(startRow, startCol, startChar, endRow, endCol, endChar) { - this.startRow = startRow; - this.startCol = startCol; - this.startChar = startChar; - this.endRow = endRow; - this.endCol = endCol; - this.endChar = endChar; - } - SrcLoc.cache = {}; - SrcLoc.reset = function() { SrcLoc.cache = {}; } - SrcLoc.make = function(startRow, startCol, startChar, endRow, endCol, endChar) { - var byStartChar = SrcLoc.cache[startChar]; - if (byStartChar === undefined) - byStartChar = SrcLoc.cache[startChar] = {}; - var byEndChar = byStartChar[endChar]; - if (byEndChar === undefined) - byEndChar = byStartChar[endChar] = new SrcLoc(startRow, startCol, startChar, endRow, endCol, endChar); - return byEndChar; - } - SrcLoc.prototype.toString = function(show_span) { - var ret = this.startRow + ":" + this.startCol; - if (show_span) - ret += "-" + this.endRow + ":" + this.endCol; - return ret; - } - SrcLoc.prototype.combine = function(that) { - if (this.startChar < that.startChar) { - if (this.endChar < that.endChar) { - return SrcLoc.make(this.startRow, this.startCol, this.startChar, that.endRow, that.endCol, that.endChar); - } else { - return SrcLoc.make(this.startRow, this.startCol, this.startChar, this.endRow, this.endCol, this.endChar); - } - } else { - if (this.endChar < that.endChar) { - return SrcLoc.make(that.startRow, that.startCol, that.startChar, that.endRow, that.endCol, that.endChar); - } else { - return SrcLoc.make(that.startRow, that.startCol, that.startChar, this.endRow, this.endCol, this.endChar); - } - } - } - SrcLoc.prototype.posAtStart = function() { - return SrcLoc.make(this.startRow, this.startCol, this.startChar, this.startRow, this.startCol, this.startChar); - } - SrcLoc.prototype.posAtEnd = function() { - return SrcLoc.make(this.endRow, this.endCol, this.endChar, this.endRow, this.endCol, this.endChar); - } - - ////////////////////////////////// - ////////// Various Sets ////////// - ////////////////////////////////// - function IntSet(items) { - this.elements = {}; - this.ordered = []; - if (items instanceof IntSet) { - for (var i = 0; i < items.ordered.length; i++) - this.add(items.ordered[i]); - } else if (items) { - for (var i = 0; i < items.length; i++) - this.add(items[i]); - } - } - IntSet.prototype.add = function(item) { - if (this.elements[item] === undefined) { - this.elements[item] = item; - this.ordered.push(item); - return true; - } - return false; - } - IntSet.prototype.contains = function(item) { return this.elements[item] !== undefined; } - IntSet.prototype.size = function() { return this.ordered.length; } - IntSet.prototype.get = function(index) { return this.ordered[index]; } - IntSet.prototype.toString = function() { - var items = this.ordered.slice(0); - items.sort(); - return "{" + JSON.stringify(items) + "}"; - } - IntSet.prototype.equals = function(that) { - if (this.size() !== that.size()) return false; - if (!(that instanceof IntSet)) return false; - for (var i = 0; i < this.ordered.length; i++) - if (that.elements[this.ordered[i]] === undefined) - return false; - return true; - } - - - function KeyedSet(key, items) { - this.elements = {}; - this.ordered = []; - this.uniqueId = "KS" + (++KeyedSet.nextSetId); - this.byKey = key; - if (key instanceof KeyedSet) { - items = key; - this.byKey = items.byKey; - for (var i = 0; i < items.ordered.length; i++) - this.add(items.ordered[i]); - } else if (items) { - for (var i = 0; i < items.length; i++) - this.add(items[i]); - } - } - KeyedSet.nextSetId = 0; - KeyedSet.equals = function(thiz, that) { return thiz.equals(that); } - KeyedSet.prototype.add = function(item) { - var key = item[this.byKey]; - if (this.elements[key] === undefined) { - this.elements[key] = item; - this.ordered.push(item); - return true; - } - return false; - } - KeyedSet.prototype.size = function() { return this.ordered.length; } - KeyedSet.prototype.contains = function(item) { return this.elements[item[this.byKey]] !== undefined; } - KeyedSet.prototype.equals = function(that) { - if (this.size() !== that.size()) return false; - if (this.byKey !== that.byKey) return false; - for (var i = 0; i < this.ordered.length; i++) - if (that.elements[this.ordered[i][this.byKey]] === undefined) - return false; - return true; - } - KeyedSet.prototype.get = function(index) { return this.ordered[index]; } - KeyedSet.prototype.itemForKey = function(key) { return this.elements[key]; } - KeyedSet.prototype.merge = function(that) { - var ret = false; - for (var i = 0; i < that.ordered.length; i++) - ret = this.add(that.ordered[i]) || ret; - return ret; - } - KeyedSet.prototype.toString = function() { - var keys = []; - for (var i = 0; i < this.ordered.length; i++) - keys.push(this.ordered[i][this.byKey]); - keys.sort(); - var s = ""; - for (var i = 0; i < keys.length; i++) { - if (s !== "") s += ", "; - var elt = this.elements[keys[i]]; - s += elt.asString ? elt.asString : elt.toString(); - } - return "{" + s + "}"; - } - - function LR1Set(rules) { - this.uniqueId = "LR" + ++LR1Set.nextId; - this.ruleIdx = {}; // maps rules-as-strings to indices in coreRules - this.coreRules = []; // array of core rules - this.core = []; // maps indices to sets of lookahead tokens - this.noLook = []; // true iff we have an LR0 item in this set - if (rules instanceof KeyedSet) { - for (var i = 0; i < rules.size(); i++) - this.addRule(rules.get(i)); - } else if (rules instanceof Array) { - for (var i = 0; i < rules.length; i++) - this.addRule(rules[i]); - } else if (rules instanceof LR1Set) { - this.coreRules = rules.coreRules.slice(0); - this.noLook = rules.noLook.slice(0); - for (var r in rules.ruleIdx) - this.ruleIdx[r] = rules.ruleIdx[r]; - for (var i = 0; i < rules.core.length; i++) - this.core[i] = new KeyedSet(rules.core[i]); - } - } - LR1Set.nextId = 0; - LR1Set.prototype.exhaustive = function() { - var ret = []; - for (var i = 0; i < this.coreRules.length; i++) { - if (this.noLook[i]) - ret.push(this.coreRules[i]); - for (var j = 0; j < this.core[i].size(); j++) { - ret.push(this.coreRules[i].withLookahead(this.core[i].get(j))); - } - } - return ret; - } - LR1Set.prototype.coreSize = function() { return this.coreRules.length; } - LR1Set.prototype.getCore = function(i) { return this.coreRules[i]; } - LR1Set.prototype.getLookaheads = function(i) { return this.core[i]; } - LR1Set.prototype.addRule = function(rule) { - var ret = false; - var noLookahead = rule.withLookahead(undefined); - ruleKey = noLookahead.toString(); - var idx = this.ruleIdx[ruleKey]; - if (idx === undefined) { - ret = true; - idx = this.ruleIdx[ruleKey] = this.coreRules.push(noLookahead) - 1; - } - if (rule.lookahead === undefined) { - ret = ret || !this.noLook[idx]; - this.noLook[idx] = true; - } else { - if (this.core[idx] === undefined) - this.core[idx] = new KeyedSet("key"); - ret = this.core[idx].add(rule.lookahead) || ret; - } - return ret; // Return true if something's been added - } - LR1Set.prototype.addRuleWithLookaheads = function(rule, lookaheads) { - var noLookahead = rule.withLookahead(undefined); - ruleKey = noLookahead.toString(); - var idx = this.ruleIdx[ruleKey]; - if (idx === undefined) { - idx = this.ruleIdx[ruleKey] = this.coreRules.push(noLookahead) - 1; - } - if (lookaheads.size() === 0) { - this.noLook[idx] = true; - } else { - if (this.core[idx] === undefined) - this.core[idx] = new KeyedSet("key"); - this.core[idx].merge(lookaheads); - } - } - LR1Set.prototype.toString = function(multiLine) { - var s = ""; - var sep = (multiLine ? "\n" : ", "); - var leader = (multiLine ? " " : ""); - for (var i = 0; i < this.coreRules.length; i++) { - if (this.noLook[i]) { - if (s !== "") s += sep; - s += leader + this.coreRules[i].toString(); - } - if (this.core[i] !== undefined) { - if (s !== "") s += sep; - s += leader + "[" + this.coreRules[i].toString() + ", " + this.core[i].toString() + "]"; - } - } - return "{" + (multiLine ? "\n" : "") + s + "}"; - } - LR1Set.equals = function(thiz, that) { return thiz.equalsCore(that); } - LR1Set.prototype.equalsCore = function(that) { - ret = true - if (this.core.length !== that.core.length) ret = false; - for (var r in this.ruleIdx) - if (that.ruleIdx[r] === undefined) ret = false; - return ret; - } - - - function SetOfSets(items, comparison) { - this.ordered = []; - this.comparison = comparison - if (items instanceof SetOfSets) { - if (!this.comparison) - this.comparison = items.comparison; - for (var i = 0; i < items.ordered.length; i++) - this.add(items.ordered[i]); - } else if (items) { - for (var i = 0; i < items.length; i++) - this.add(items[i]); - } - } - SetOfSets.prototype.toString = function(sep_lines, sorted) { - var s = ""; - var items_strs = [] - for (var i = 0; i < this.ordered.length; i++) - items_strs[i] = this.ordered[i].toString(); - if (sorted) - items_strs.sort(); - for (var i = 0; i < items_strs.length; i++) { - if (s == "") - s += "{" + items_strs[i] - else - s += (sep_lines ? ",\n " : ", ") + items_strs[i]; - } - if (s == "") - return "{}"; - return s + "}"; - } - SetOfSets.prototype.add = function(item) { - var key = item.toString(); - if (this.indexOf(item) === -1) { - this.ordered.push(item); - return true; - } - return false; - } - SetOfSets.prototype.indexOf = function(item) { - return this.indexOfHelp(this.ordered, item); - } - SetOfSets.prototype.indexOfHelp = function(items, item) { - for (var i = 0; i < items.length; i++) { - if ((this.comparison && this.comparison(items[i], item)) || - ((!this.comparison) && (items[i] == item))) { - return i; - } - } - return -1; - } - SetOfSets.prototype.size = function() { return this.ordered.length; } - SetOfSets.prototype.get = function(index) { return this.ordered[index]; } - - ////////////////////////////////// - ///////////// Queues ///////////// - ////////////////////////////////// - - function Queue(items) { - this.items = items.slice(0); - this.start = 0; - this.end = items.length; - this.length = items.length; - } - Queue.prototype.push = function(item) { - this.items[this.end] = item; - this.end++; - this.length++; - } - Queue.prototype.shift = function() { - if (this.length === 0) return undefined; - var ret = this.items[this.start]; - this.start++; - this.length--; - return ret; - } - Queue.prototype.get = function(idx) { - if (this.start + idx < this.end) return this.items[this.start + idx]; - return undefined; - } - Queue.prototype.insertAt = function(idx, item) { - if (this.start + idx < this.end) { - this.items.splice(this.start + idx, 0, item); - this.end++; - this.length++; - } else - this.push(item); - } - Queue.prototype.debugPrint = function() { - console.log("********** Debug print of queue: start = " + this.start + ", end = " + this.end + ", length = " + this.length); - for (var i = this.start; i < this.end; i++) { - if (this.end === i) console.log("<<-- END"); - if (this.start === i) console.log("-->> START"); - if (this.items[i].hasOwnProperty("debugPrint")) - console.log(i + ": " + this.items[i].debugPrint()); - else - console.log(i + ": " + this.items[i].toString(true)); - } - if (this.items.length === this.start) console.log("-->> START"); - if (this.items.length === this.end) console.log("<<-- END"); - } - - - ////////////////////////////////// - ///////////// Atoms ////////////// - ////////////////////////////////// - - function Atom() {} - Atom.equals = function(thiz, that) { - if (thiz === that) return true; - if ((thiz instanceof Nonterm) && (that instanceof Nonterm) && (thiz.name == that.name)) return true; - if ((thiz instanceof Token) && (that instanceof Token) && (thiz.name == that.name)) return true; - return false; - } - Atom.equals.toString = function() { return "Atom.equals" }; - Atom.fromSerializable = function(obj) { - if (obj === undefined) return undefined; - if (typeof obj === "string") { - if (obj === "EOF") return EOF; - if (obj === "EPSILON") return EPSILON; - if (obj === "HASH") return HASH; - var c = obj.charAt(0); - if (c === "'") return new Token(obj.substring(1)); - if (c === "@") return new Nonterm(obj.substring(1)); - } - if (obj.type === "Nonterm") return new Nonterm(obj.name); - if (obj.type === "Token") return new Token(obj.name, obj.value); - if (obj.type === "EOF") return EOF; - if (obj.type === "EPSILON") return EPSILON; - if (obj.type === "HASH") return HASH; - return null; - } - function Nonterm(name) { - this.name = name; - this.key = "@" + this.name; - this.asString = this.name; - } - Nonterm.prototype = Object.create(Atom.prototype); - Nonterm.prototype.toString = function() { /*throw new Error("Don't call me!");*/ return this.name; } - Nonterm.prototype.toSerializable = function() { return this.key; } - function Token(name, value) { - this.name = name; - if (value !== undefined) { - this.value = value; - this.key = "'" + this.name + ":" + this.value; - this.asString = "'" + this.name; - } else { - this.value = name; - this.key = "'" + this.name; - this.asString = this.key; - } - } - Token.prototype = Object.create(Atom.prototype); - Token.prototype.toRepr = function(showVal) { - if (showVal && this.name !== this.value) - return "('" + this.name + " " + JSON.stringify(this.value) + ")"; - else - return this.asString; - } - Token.prototype.toString = function() { /*throw new Error("Don't call me!");*/ return this.asString; } - Token.prototype.toSerializable = function() { - if (this.name !== this.value) - return {type: "Token", name: this.name, value: this.value}; - else - return "'" + this.name; - } - - const EOF = Object.create(Token.prototype, - {name: {enumerable: true, value: "EOF"}, - asString: {enumerable: true, value: "$"}, - toString: {value: function() { /*throw new Error("Don't call me!");*/ return "$"; }}, - toRepr: {value: function(showVal) { - if (showVal) return ""; - return "$"; - }}, - key: {enumerable: true, value: "$"}, - toSerializable: {value: function() { return "EOF"; } }}); - const EPSILON = Object.create(Atom.prototype, - {name: {enumerable: true, value: "EPSILON"}, - asString: {enumerable: true, value: "ε"}, - toString: {value: function() { /*throw new Error("Don't call me!");*/ return this.key; }}, - toRepr: {value: function() { return "ε"; }}, - key: {enumerable: true, value: "ε"}, - toSerializable: {value: function() { return "EPSILON"; } }}); - const HASH = Object.create(Atom.prototype, - {name: {enumerable: true, value: "HASH"}, - asString: {enumerable: true, value: "#"}, - toString: {value: function() { /*throw new Error("Don't call me!");*/ return "#"; }}, - toRepr: {value: function() { return "#"; }}, - key: {enumerable: true, value: "#"}, - toSerializable: {value: function() { return "HASH"; } }}); - - ////////////////////////////////// - //////////// Actions ///////////// - ////////////////////////////////// - - function Action() { } - Action.equals = function actionEquals(thiz, that) { - return (thiz.type === that.type && Rule.equals(thiz.rule, that.rule) && thiz.dest == that.dest); - } - Action.equals.toString = function() { return "Action.equals"; } - function ReduceAction(rule, f) { - this.type = "Reduce"; - this.rule = rule; - this.f = f; - //assert.notEqual(f, undefined, "Bad f value for rule " + rule); - this.key = rule.id + "#" + f - } - ReduceAction.prototype = Object.create(Action.prototype); - ReduceAction.prototype.toString = function(hideRule) { - if (hideRule) - return "Reduce " + this.rule.id; - else - return "Reduce(" + this.rule.id + ":" + this.rule.asString + ", m" + this.rule.position + ", f" + this.f + ")"; - } - ReduceAction.prototype.equals = function(that) { return (that instanceof ReduceAction) && (this.rule == that.rule); } - - ////////////////////////////////// - ///////////// Rules ////////////// - ////////////////////////////////// - - // name :: string - // symbols :: array of Atoms - // lookahead :: Atom or undefined - // position :: Number or undefined - function Rule(name, symbols, lookahead, position) { - this.id = Rule.NextRuleId++; - this.name = name; - this.symbols = symbols; - this.lookahead = lookahead - this.position = position || 0; - var s = this.name.toString() + " =>"; - var c = s - for (var i = 0; i < this.symbols.length; i++) { - if (i === this.position) - s += " ."; - s += " " + this.symbols[i].asString; - c += " " + this.symbols[i].asString; - } - this.coreString = c; - if (this.position === this.symbols.length) - s += " ."; - if (this.lookahead) - s = "[" + s + ", " + this.lookahead.asString + "]"; - this.asString = s; - } - Rule.semanticActions = {}; - Rule.defaultASTToString = function(show_pos) { - var toStr = "(" + this.name; - if (show_pos) - toStr += "@" + this.pos.toString(true); - for (var i = 0; i < this.kids.length; i++) { - if (this.kids[i].toRepr) - toStr += " " + this.kids[i].toRepr(true); - else if (this.kids[i].asString) - toStr += " " + this.kids[i].asString - else - toStr += " " + this.kids[i].toString(true); - } - toStr += ")"; - return toStr; - } - Rule.defaultAction = function(kids, curPos, semActions) { - var useful_kids = []; - for (var i = 0; i < kids.length; i++) { - if (kids[i].shouldInline === true) useful_kids = useful_kids.concat(kids[i].kids); - else useful_kids.push(kids[i]); - } - var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); - if (semActions !== undefined && semActions[this.name] !== undefined) - return semActions[this.name](useful_kids, pos); - else - return { name: this.name, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos }; - } - Rule.defaultAction.toString = function() { return "Rule.defaultAction"; } - Rule.defaultAction.toSerializable = function() { return "dA"; } - Rule.semanticActions["dA"] = Rule.defaultAction; - - Rule.ListSnoc = function(tl, hd, shouldInline) { - var ret = function(kids, curPos, ignoredSemActions) { - var useful_kids = []; - for (var i = 0; i < kids.length; i++) { - if (kids[i].name === hd) { - if (kids[i].shouldInline === true) - useful_kids = useful_kids.concat(kids[i].kids); - else - useful_kids.push(kids[i]); - } else if (kids[i].name === tl) useful_kids = useful_kids.concat(kids[i].kids); - } - var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); - return { name: tl, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos, - shouldInline: shouldInline }; - } - if (shouldInline) { - ret.toString = function() { return "Rule.ListSnoc(" + JSON.stringify(tl) + ", " + JSON.stringify(hd) + ", true)"; } - } - else { - ret.toString = function() { return "Rule.ListSnoc(" + JSON.stringify(tl) + ", " + JSON.stringify(hd) + ")"; } - } - ret.toSerializable = function() { return ["ListSnoc", tl, hd, shouldInline]; } - return ret; - } - Rule.semanticActions["ListSnoc"] = Rule.ListSnoc; - - Rule.Inline = function(kids, curPos, semActions) { - var ret = Rule.defaultAction.call(this, kids, curPos, semActions); - ret.shouldInline = true; - return ret; - } - Rule.Inline.toString = function() { return "Rule.Inline"; } - Rule.Inline.toSerializable = function() { return "Inline"; } - Rule.semanticActions["Inline"] = Rule.Inline; - - Rule.KeepOnly = function(names, shouldInline) { - var name_dict = {}; - for (var i = 0; i < names.length; i++) - name_dict[names[i]] = true; - var ret = function(kids, curPos, ignoredSemActions) { - var useful_kids = []; - for (var i = 0; i < kids.length; i++) { - if (name_dict[kids[i].name] === true) { - if (kids[i].shouldInline === true) - useful_kids = useful_kids.concat(kids[i].kids); - else - useful_kids.push(kids[i]); - } - } - var pos = (kids.length > 0 ? kids[0].pos.combine(kids[kids.length - 1].pos) : curPos); - return { name: this.name, kids: useful_kids, toString: Rule.defaultASTToString, pos: pos, - shouldInline: shouldInline }; - } - if (shouldInline) { - ret.toString = function() { return "Rule.KeepOnly(" + JSON.stringify(names) + ", true)"; }; - } else { - ret.toString = function() { return "Rule.KeepOnly(" + JSON.stringify(names) + ")"; }; - } - ret.toSerializable = function() { return ["KeepOnly", names, shouldInline]; } - return ret; - } - Rule.semanticActions["KeepOnly"] = Rule.KeepOnly; - - var RuleFactory = {}; - RuleFactory.cache = {}; - RuleFactory.byId = {}; - RuleFactory.make = function(name, symbols, lookahead, pos) { - pos = pos || 0; - var findByName = RuleFactory.cache[name]; - var symbolsStr = "" + symbols.map((s) => s.asString); - if (findByName) { - var findBySymbols = findByName[symbolsStr]; - if (findBySymbols) { - var findByLookahead = findBySymbols[lookahead ? lookahead.asString : undefined]; - if (findByLookahead) { - var findByPos = findByLookahead[pos]; - if (findByPos) return findByPos; - else { - var rule = new Rule(name, symbols, lookahead, pos); - RuleFactory.byId[rule.id] = rule; - findByLookahead[pos] = rule; - return rule; - } - } else { - var rule = new Rule(name, symbols, lookahead, pos); - RuleFactory.byId[rule.id] = rule; - var byPos = {}; byPos[pos] = rule; - findBySymbols[lookahead ? lookahead.asString : undefined] = byPos; - return rule; - } - } else { - var rule = new Rule(name, symbols, lookahead, pos); - RuleFactory.byId[rule.id] = rule; - var byPos = {}; byPos[pos] = rule; - var byLookahead = {}; byLookahead[lookahead ? lookahead.asString : undefined] = byPos; - findByName[symbolsStr] = byLookahead; - return rule; - } - } else { - var rule = new Rule(name, symbols, lookahead, pos); - RuleFactory.byId[rule.id] = rule; - var byPos = {}; byPos[pos] = rule; - var byLookahead = {}; byLookahead[lookahead ? lookahead.asString : undefined] = byPos; - var bySymbols = {}; bySymbols[symbolsStr] = byLookahead; - RuleFactory.cache[name] = {}; RuleFactory.cache[name] = bySymbols; - return rule; - } - } - Rule.fromSerializable = function(rulesByOldId, id) { - var obj = rulesByOldId[id]; - if (obj.hasOwnProperty("like")) { - var base = Rule.fromSerializable(rulesByOldId, obj.like); - var lookahead = obj.lookahead; - var pos = obj.position; - return RuleFactory.make(base.name, base.symbols, Atom.fromSerializable(lookahead), pos); - } else { - var sym = []; - for (var i = 0; i < obj.symbols.length; i++) { - sym[i] = Atom.fromSerializable(obj.symbols[i]); - } - return RuleFactory.make(obj.name, sym, Atom.fromSerializable(obj.lookahead), obj.position); - } - } - - Rule.NextRuleId = 0; - Rule.equals = function(thiz, that) { - if (thiz === that) return true; - if (thiz === undefined || that === undefined) return false; - if (thiz.id === that.id) return true; - if (!(thiz.name == that.name && - thiz.symbols == that.symbols && - thiz.lookahead == that.lookahead && - thiz.position == that.position)) return false; - return true; - } - Rule.equalsCore = function(thiz, that) { - if (thiz === that) return true; - if (thiz === undefined || that === undefined) return false; - if (!(thiz.name == that.name && - thiz.symbols == that.symbols && - thiz.position == that.position)) return false; - return true; - } - Rule.prototype = { - toString: function() { return this.asString; }, - withPosition: function(pos) { - return RuleFactory.make(this.name, this.symbols, this.lookahead, pos); - }, - withLookahead: function(lookahead) { - return RuleFactory.make(this.name, this.symbols, lookahead, this.position); - }, - withLookaheadPosition: function(lookahead, pos) { - return RuleFactory.make(this.name, this.symbols, lookahead, pos); - }, - toSerializable: function() { - var ret = {}; - if (this.lookahead || this.position) { - if (this.lookahead) - ret.lookahead = this.lookahead.toSerializable(); - if (this.position) - ret.position = this.position; - ret.like = this.withLookaheadPosition(undefined, 0).id; - return ret; - } - ret.name = this.name; - if (this.position) - ret.position = this.position; - ret.symbols = []; - for (var i = 0; i < this.symbols.length; i++) - ret.symbols[i] = this.symbols[i].toSerializable(); - return ret; - } - } - - - - function Link(prev, val) { - this.prev = prev; - this.val = val; - this.linkId = Link.NextLinkId++; - } - Link.NextLinkId = 0; - Link.prototype.toString = function() { - return this.prev.state + "<-(" + this.linkId + (this.reduced ? "r" : "") + ")-" + this.val; - } - - - - function ShiftPair(gssNode, state) { - this.gssNode = gssNode; - this.state = state; - } - ShiftPair.prototype.toString = function() { return "Shift(" + this.gssNode.toString() + ", " + this.state + ")"; } - function ReductionItem(gssNode, rule, m, f, label) { - this.gssNode = gssNode; - this.rule = rule; - this.m = m; - this.f = f; - this.label = label; - } - ReductionItem.prototype.toString = function() { - return "RedItem(" + this.gssNode + ", " + this.rule + ", " + this.m + ", " + this.f + ", " + this.label + ")"; - } - function GSSNode(label) { - this.gssId = GSSNode.NextNodeId++; - this.label = label; - this.links = []; - // GSSNode.allNodes.push(this); - } - GSSNode.NextNodeId = 0; - // GSSNode.allNodes = []; - // GSSNode.reset = function() { - // GSSNode.NextNodeId = 0; - // GSSNode.allNodes = []; - // } - GSSNode.prototype.toString = function() { - return "GSSNode(#" + this.gssId + ",s" + this.parentSetId + ":st" + this.label + ")"; - } - GSSNode.prototype.forPathsOfLength = function(len, callback) { - if (len === 0) { - callback({labels: [], leftSib: this}); - } else { - //assert(this.links.length > 0, "Can't find any paths of length " + len + " from " + this) - for (var i = 0; i < this.links.length; i++) - pathLengthHelp(this.links[i], len, [], /*[this.toString()], */callback); - } - } - function pathLengthHelp(link, len, labels, /*stack, */callback) { - labels[len - 1] = link.val; - //stack.push(link.prev.toString()); - if (len == 1) { - // console.log("Constructed path via [" + stack + "]"); - // console.log("Calling callback with [" + labels + "] and leftSib.state " + link.prev.label); - callback({labels: labels, leftSib: link.prev}); - } else { - var prev_links = link.prev.links; - //assert(prev_links.length > 0, "Can't find any paths of length " + len + " from " + this) - for (var i = 0; i < prev_links.length; i++) - pathLengthHelp(prev_links[i], len - 1, labels, /*stack, */callback); - } - //stack.pop(); - } - - - - var allowNull = false; - function SPPFNode(label, pos) { - //if (!allowNull) - //assert(pos !== undefined && pos !== null); - this.sppfId = SPPFNode.NextId++; - this.label = label; - this.pos = pos; - this.rule = undefined; - this.kids = undefined; - this.ambig = undefined; - // SPPFNode.allNodes.push(this); - } - SPPFNode.NextId = 0; - // SPPFNode.allNodes = []; - // SPPFNode.reset = function() { - // SPPFNode.NextId = 0; - // SPPFNode.allNodes = []; - // } - SPPFNode.prototype.toString = function() { - var posString = "null"; - if (this.pos) - posString = this.pos.toString(true); - var ruleAmbig = ""; - if (this.rule) - ruleAmbig = this.rule.toString(); - else if (this.ambig) - ruleAmbig = "ambig"; - else if (this.label instanceof Token) - ruleAmbig = ""; - else - ruleAmbig = ""; - return "SPPFNode(" + this.sppfId + ", " + this.label.toString(true) + "@" + posString + " " + ruleAmbig + ")"; - } - SPPFNode.prototype.addChildren = function(rule, kids, grammar) { - if (this.kids === undefined && this.ambig === undefined) { - this.kids = kids; - this.rule = rule; - } else if (this.ambig === undefined) { - this.ambig = []; - this.ambig.push({kids: this.kids, rule: this.rule}); - this.ambig.push({kids: kids, rule: rule}); - delete this.kids; delete this.rule; - } else { - var ruleFlags = grammar.getFlags(rule); - var sortingFlag = grammar.ambiguitySortingFlag; - if (sortingFlag === undefined || ruleFlags === undefined || ruleFlags[sortingFlag] === undefined) { - this.ambig.push({kids: kids, rule: rule}); - } else { - var newFlag = ruleFlags[sortingFlag]; - for (var i = 0; i < this.ambig.length; i++) { - var flags = grammar.getFlags(this.ambig[i].rule); - var relevantFlag = flags ? flags[sortingFlag] : undefined; - if (relevantFlag > newFlag) { - this.ambig.splice(i, 0, {kids: kids, rule: rule}); - return; - } - } - this.ambig.push({kids: kids, rule: rule}); - } - } - } - - ////////////////////////////////// - //////////// Grammars //////////// - ////////////////////////////////// - - function Grammar(name, start) { - this.name = name; - this.rules = {}; - this.actions = {}; - this.flags = {}; - this.start = start; - this.rnTable = []; - this.acceptStates = []; - this.atoms = new KeyedSet("key", [EOF, EPSILON]); - this.tokens = new KeyedSet("key", [EOF, EPSILON]); - this.nonterms = new KeyedSet("key"); - } - - Grammar.fromSerializable = function(obj) { - switch(obj.version || 0) { - case 1: return Grammar.fromSerializableV1(obj); - case 0: - default: return Grammar.fromSerializableV0(obj); - } - } - Grammar.fromSerializableV1 = function(obj) { - const rawTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime - : (((typeof performance !== "undefined") && performance.now) ? performance.now.bind(performance) : Date.now); - var startTime = rawTime(); - function getTime() { return rawTime(startTime); } - var times = [] - times.push({"Start ": getTime()}); - var g = new Grammar(obj.name, obj.start); - times.push({"Constr ": getTime()}); - var rulesByOldId = {}; - var actionsByOldId = {}; - var flagsByOldId = {}; - GSSNode.NextNodeId = 0; - Link.NextLinkId = 0; - SPPFNode.NextId = 0 - for (var id in obj.rulesByOldId) { - rulesByOldId[id] = Rule.fromSerializable(obj.rulesByOldId, id); - var action = obj.actionsByOldId[id] - if (typeof action === "string" || action instanceof String) { - actionsByOldId[id] = Rule.semanticActions[action]; - } else if (action instanceof Array) { - var actionMaker = Rule.semanticActions[action.shift()]; - actionsByOldId[id] = actionMaker.apply(Rule, action); - } - flagsByOldId[id] = obj.flagsByOldId[id]; - } - times.push({"rulesByOldId ": getTime()}); - for (var i = 0; i < obj.rules.length; i++) { - g.addRule(rulesByOldId[obj.rules[i]], actionsByOldId[obj.rules[i]], flagsByOldId[obj.rules[i]]); - } - times.push({"addRules ": getTime()}); - g.rnTable = []; - var reduceActions = []; - for (var i = 0; i < obj.reduceActions.length; i += 2) - reduceActions[i] = new ReduceAction(rulesByOldId[obj.reduceActions[i]], obj.reduceActions[i + 1]); - times.push({"new redActs ": getTime(), numRedActs: reduceActions.length}); - var emptyActions = {push: undefined, reductions: new Set()}; - for (var i = 0; i < obj.rnTable.length; i++) { - var tableRow = obj.rnTable[i]; - var newRow = g.rnTable[i] = {}; - for (var j = 0; j < g.atoms.size(); j++) { - var atom = g.atoms.get(j).asString; - if (atom in tableRow) { - var nr = newRow[atom] = {push: undefined, reductions: new Set()}; - var tr = tableRow[atom]; - if (tr[0] >= 0) - nr.push = tr[0]; - var last = tr.length; - if (tr.length > 1 && tr[tr.length - 1] === -1) { - last--; - nr.accept = true; - } - for (var k = 1; k < last; k++) { - nr.reductions.add(reduceActions[tr[k]]); - } - } else { - newRow[atom] = emptyActions; - } - } - } - times.push({"rnTable ": getTime(), numAtoms: g.atoms.size(), tableLen: obj.rnTable.length}); - g.acceptStates = []; - for (var i = 0; i < obj.acceptStates.length; i++) - g.acceptStates[obj.acceptStates[i]] = true; - g.ambiguitySortingFlag = obj.ambiguitySortingFlag; - g.mode = obj.mode; - g.eSPPFs = []; - g.I = obj.I; - allowNull = true; - for (var i = 0; i < obj.eSPPFs.length; i++) { - var label = obj.eSPPFs[i].label; - if (label === "EPSILON") - label = EPSILON; - g.eSPPFs[i] = {null: new SPPFNode(label, null)}; - } - times.push({"bareSPPFs ": getTime()}); - allowNull = false; - for (var i = 0; i < obj.eSPPFs.length; i++) { - var src = obj.eSPPFs[i]; - var dest = g.eSPPFs[i].null; - if (src.kids) { - var kids = []; - for (var j = 0; j < src.kids.length; j++) - kids.push(g.eSPPFs[src.kids[j]].null); - dest.addChildren(rulesByOldId[src.rule], kids, this); - } - } - times.push({"finished ": getTime()}); - var end = rawTime(startTime); - const NS_PER_SEC = 1e9; - var cur = 0; - for (var i = 0; i < times.length; i++) { - for (var k in times[i]) { - if (times[i][k] instanceof Array) { - var next = (times[i][k][0] * NS_PER_SEC + times[i][k][1]) / NS_PER_SEC; - times[i][k] = (next - cur).toFixed(10); - cur = next; - } - } - } - times.push({"TOTAL ": ((end[0] * NS_PER_SEC + end[1]) / NS_PER_SEC).toFixed(10)}); - //console.log(times); - return g; - } - - Grammar.fromSerializableV0 = function(obj) { - const rawTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime - : (((typeof performance !== "undefined") && performance.now) ? performance.now.bind(performance) : Date.now); - var startTime = rawTime(); - function getTime() { return rawTime(startTime); } - var g = new Grammar(obj.name, obj.start); - var rulesByOldId = {}; - var actionsByOldId = {}; - var flagsByOldId = {}; - GSSNode.NextNodeId = 0; - Link.NextLinkId = 0; - SPPFNode.NextId = 0 - for (var id in obj.rulesByOldId) { - rulesByOldId[id] = Rule.fromSerializable(obj.rulesByOldId, id); - actionsByOldId[id] = obj.actionsByOldId[id] ? eval(obj.actionsByOldId[id]) : undefined; - flagsByOldId[id] = obj.flagsByOldId[id]; - } - for (var i = 0; i < obj.rules.length; i++) { - g.addRule(rulesByOldId[obj.rules[i]], actionsByOldId[obj.rules[i]], flagsByOldId[obj.rules[i]]); - } - g.rnTable = []; - for (var i = 0; i < obj.rnTable.length; i++) { - var tableRow = obj.rnTable[i]; - var newRow = g.rnTable[i] = {}; - for (var j = 0; j < g.atoms.size(); j++) { - var atom = g.atoms.get(j); - newRow[atom] = {push: undefined, reductions: new Set()}; - if (atom in tableRow) { - if (tableRow[atom].accept) - newRow[atom].accept = true; - if (tableRow[atom].push) { - //assert.equal(newRow[atom].push, undefined, "Already have a push action for atom " + atom); - newRow[atom].push = tableRow[atom].push; - } - if (tableRow[atom].reductions) { - for (var k = 0; k < tableRow[atom].reductions.length; k++) { - var red = tableRow[atom].reductions[k]; - newRow[atom].reductions.add(new ReduceAction(rulesByOldId[red[0]], red[1])); - } - } - } - } - } - g.acceptStates = []; - for (var i = 0; i < obj.acceptStates.length; i++) - g.acceptStates[obj.acceptStates[i]] = true; - g.derivable = {}; - for (var name in obj.derivable) { - g.derivable[name] = {}; - for (var i = 0; i < obj.derivable[name].length; i++) - g.derivable[name][obj.derivable[name][i]] = true; - } - g.ambiguitySortingFlag = obj.ambiguitySortingFlag; - g.mode = obj.mode; - g.eSPPFs = []; - g.I = obj.I; - allowNull = true; - for (var i = 0; i < obj.eSPPFs.length; i++) { - var label = obj.eSPPFs[i].label; - if (label === "EPSILON") - label = EPSILON; - g.eSPPFs[i] = {null: new SPPFNode(label, null)}; - } - allowNull = false; - for (var i = 0; i < obj.eSPPFs.length; i++) { - var src = obj.eSPPFs[i]; - var dest = g.eSPPFs[i].null; - if (src.kids) { - var kids = []; - for (var j = 0; j < src.kids.length; j++) - kids.push(g.eSPPFs[src.kids[j]].null); - dest.addChildren(rulesByOldId[src.rule], kids, this); - } - } - var end = rawTime(startTime); - const NS_PER_SEC = 1e9; - var cur = 0; - console.log({"TOTAL ": ((end[0] * NS_PER_SEC + end[1]) / NS_PER_SEC).toFixed(10)}); - return g; - } - - - - Grammar.prototype = { - resetParser: function() { - this.rnTable = []; - this.acceptStates = []; - delete this.first; - delete this.nontermFirst; - delete this.states; - this.firstStringCache = {}; - this.closureCache = {}; - }, - initializeParser: function(verbose) { - console.log("Initializing " + this.name); - var new_start; - if (!this.initialized) { - new_start = "START"; - while (this.rules.hasOwnProperty(new_start)) - new_start += "_"; - this.addRule(new_start, [new Nonterm(this.start)]); - this.start = new_start; - this.initialized = true; - } - var orig_start = this.rules[this.start][0].symbols[0]; - if (verbose) { - console.log("Grammar productions:"); - for (var name in this.rules) - for (var i = 0; i < this.rules[name].length; i++) - console.log(" " + this.rules[name][i].toString(true)); - } - console.log("Computing first sets"); - this.resetParser(); - this.computeFirstSets(); - console.log("Computing derivability"); - this.computeDerivability(); - console.log("Computing states"); - this.computeStateKernels(); - console.log("Computing required nullable parts"); - this.computeRequiredNullableParts(); - console.log("Computing RN Table"); - this.computeRNTable(); - // console.log(this.printTables()); - this.mode = "RNGLR"; - console.log("Done initializing " + this.name); - }, - parse: function(token_stream) { - this.resetESPPFs(); - if (this.mode === "RNGLR") - return this.parseRNGLR(token_stream); - return "Unknown parsing mode -- can't actually parse!" - }, - toString: function() { - var s = "Grammar " + this.name + ": (initial rule " + this.start + ")\n"; - for (var name in this.rules) { - var rules = this.rules[name]; - for (var i = 0; i < rules.length; i++) - s += rules[i].toString() + "\n"; - } - return s; - }, - sortAmbiguitiesBy: function(s) { - this.ambiguitySortingFlag = s; - }, - toSerializable: function(version) { - switch(version || 0) { - case 1: return this.toSerializableV1(); - case 0: - default: return this.toSerializableV0(); - } - }, - - - toSerializableV1: function() { - var ret = {}; - ret.version = 1; - ret.start = this.start; - ret.name = this.name; - ret.acceptStates = []; - for (var i = 0; i < this.acceptStates.length; i++) - if (this.acceptStates[i]) - ret.acceptStates.push(i); - if (this.ambiguitySortingFlag) - ret.ambiguitySortingFlag = this.ambiguitySortingFlag; - ret.mode = this.mode; - ret.rulesByOldId = {}; - ret.actionsByOldId = {}; - ret.flagsByOldId = {}; - ret.rules = []; - for (var name in this.rules) { - for (var i = 0; i < this.rules[name].length; i++) { - var rule = this.rules[name][i]; - var id = rule.id; - ret.rulesByOldId[id] = rule.toSerializable(); - ret.rules.push(id); - var rule_noLookahead = rule.withLookahead(undefined); - ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); - ret.actionsByOldId[rule_noLookahead.id] = this.getAction(rule_noLookahead); - if (ret.actionsByOldId[rule_noLookahead.id] !== undefined) { - ret.actionsByOldId[rule_noLookahead.id] = ret.actionsByOldId[rule_noLookahead.id].toSerializable(); - } - ret.flagsByOldId[rule_noLookahead.id] = this.getFlags(rule_noLookahead); - } - } - ret.reduceActions = []; - var reduceActionsCache = {}; - ret.rnTable = []; // TODO: Fix this - for (var i = 0; i < this.rnTable.length; i++) { - var tableRow = this.rnTable[i]; - ret.rnTable[i] = {}; - for (var name in tableRow) { - if (tableRow[name].push === undefined && !tableRow[name].accept && tableRow[name].reductions.size === 0) { - //ret.rnTable[i][name] = "empty"; - } else { - var entry = tableRow[name]; - var dest = ret.rnTable[i][name] = []; - dest.push(entry.push === undefined ? -1 : entry.push); - entry.reductions.forEach(function(red) { - if (reduceActionsCache[red.rule.id] === undefined) - reduceActionsCache[red.rule.id] = {}; - if (reduceActionsCache[red.rule.id][red.f] === undefined) { - reduceActionsCache[red.rule.id][red.f] = ret.reduceActions.length; - ret.reduceActions.push(red.rule.id, red.f); - } - dest.push(reduceActionsCache[red.rule.id][red.f]); - ret.rulesByOldId[red.rule.id] = red.rule.toSerializable(); - var rule_noLookahead = red.rule.withLookahead(undefined); - ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); - }); - if (entry.accept) dest.push(-1); - } - } - } - ret.I = this.I; - ret.eSPPFs = []; - for (var i = 0; i < this.eSPPFs.length; i++) { - var null_eSPPF = this.eSPPFs[i].null; - var label = null_eSPPF.label; - if (label === EPSILON) { - label = "EPSILON"; - } - if (null_eSPPF.kids) { - var kids = []; - for (var j = 0; j < null_eSPPF.kids.length; j++) - kids.push(null_eSPPF.kids[j].sppfId); - if (null_eSPPF.rule) - ret.eSPPFs[i] = {label: label, kids: kids, rule: null_eSPPF.rule.id}; - else - ret.eSPPFs[i] = {label: label, kids: kids}; - } else { - if (null_eSPPF.rule) - ret.eSPPFs[i] = {label: label, rule: null_eSPPF.rule.id}; - else - ret.eSPPFs[i] = {label: label}; - } - } - return ret; - }, - - - toSerializableV0: function() { - var ret = {}; - ret.start = this.start; - ret.name = this.name; - ret.acceptStates = []; - for (var i = 0; i < this.acceptStates.length; i++) - if (this.acceptStates[i]) - ret.acceptStates.push(i); - if (this.ambiguitySortingFlag) - ret.ambiguitySortingFlag = this.ambiguitySortingFlag; - ret.mode = this.mode; - ret.derivable = {}; - for (var name in this.derivable) { - ret.derivable[name] = []; - for (var der in this.derivable[name]) - ret.derivable[name].push(der); - } - ret.rulesByOldId = {}; - ret.actionsByOldId = {}; - ret.flagsByOldId = {}; - ret.rules = []; - for (var name in this.rules) { - for (var i = 0; i < this.rules[name].length; i++) { - var rule = this.rules[name][i]; - var id = rule.id; - ret.rulesByOldId[id] = rule.toSerializable(); - ret.rules.push(id); - var rule_noLookahead = rule.withLookahead(undefined); - ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); - ret.actionsByOldId[rule_noLookahead.id] = this.getAction(rule_noLookahead); - if (ret.actionsByOldId[rule_noLookahead.id] !== undefined) { - ret.actionsByOldId[rule_noLookahead.id] = ret.actionsByOldId[rule_noLookahead.id].toString(); - } - ret.flagsByOldId[rule_noLookahead.id] = this.getFlags(rule_noLookahead); - } - } - ret.rnTable = []; // TODO: Fix this - for (var i = 0; i < this.rnTable.length; i++) { - var tableRow = this.rnTable[i]; - ret.rnTable[i] = {}; - for (var name in tableRow) { - if (tableRow[name].push === undefined && !tableRow[name].accept && tableRow[name].reductions.size === 0) { - //ret.rnTable[i][name] = "empty"; - } else { - var entry = tableRow[name]; - var dest = ret.rnTable[i][name] = {}; - if (entry.accept) dest.accept = true; - if (entry.push !== undefined) { - dest.push = entry.push; - } - if (entry.reductions.size > 0) { - dest.reductions = []; - entry.reductions.forEach(function(red) { - dest.reductions.push([red.rule.id, red.f]); - ret.rulesByOldId[red.rule.id] = red.rule.toSerializable(); - var rule_noLookahead = red.rule.withLookahead(undefined); - ret.rulesByOldId[rule_noLookahead.id] = rule_noLookahead.toSerializable(); - }); - } - } - } - } - ret.I = this.I; - ret.eSPPFs = []; - for (var i = 0; i < this.eSPPFs.length; i++) { - var null_eSPPF = this.eSPPFs[i].null; - var label = null_eSPPF.label; - if (label === EPSILON) { - label = "EPSILON"; - } - if (null_eSPPF.kids) { - var kids = []; - for (var j = 0; j < null_eSPPF.kids.length; j++) - kids.push(null_eSPPF.kids[j].sppfId); - if (null_eSPPF.rule) - ret.eSPPFs[i] = {label: label, kids: kids, rule: null_eSPPF.rule.id}; - else - ret.eSPPFs[i] = {label: label, kids: kids}; - } else { - if (null_eSPPF.rule) - ret.eSPPFs[i] = {label: label, rule: null_eSPPF.rule.id}; - else - ret.eSPPFs[i] = {label: label}; - } - } - return ret; - }, - - addRule: function(name, symbols, action, flags) { - var new_rule; - if (name instanceof Rule) { - new_rule = name; - name = new_rule.name; - flags = action; // slide arguments over by one - action = symbols; - symbols = new_rule.symbols; - } else { - new_rule = RuleFactory.make(name, symbols, undefined, undefined); - } - if (action === undefined) - action = Rule.defaultAction; - this.actions[new_rule.id] = action; - this.flags[new_rule.id] = flags; - if (!(this.rules.hasOwnProperty(name))) - this.rules[name] = []; - this.rules[name].push(new_rule); - this.atoms.add(new Nonterm(name)); - this.nonterms.add(new Nonterm(name)); - for (var i = 0; i < symbols.length; i++) { - this.atoms.add(symbols[i]); - if (symbols[i] instanceof Nonterm) - this.nonterms.add(symbols[i]) - else - this.tokens.add(symbols[i]) - } - return new_rule; - }, - - getAction: function(rule) { - var baseRule = rule.withLookaheadPosition(undefined, 0); - var action = this.actions[baseRule.id]; - return action; - }, - applyAction: function(rule, kids, pos, semActions) { - var action = this.getAction(rule); - return action.call(rule, kids, pos, semActions); - }, - getFlags: function(rule) { - return this.flags[rule.withLookaheadPosition(undefined, 0).id]; - }, - - ////////////////////////////////// - // Computes what nonterminals can derive other nonterminals in one or more steps, - // i.e. A ->+ B for two nonterminals A and B (possibly the same) - ////////////////////////////////// - computeDerivability: function() { - this.derivable = {} - for (var i = 0; i < this.nonterms.size(); i++) - this.derivable[this.nonterms.get(i).asString] = {}; - var changed = true; - while(changed) { - changed = false; - // console.log("\nNew loop..."); - for (var name in this.rules) { - var rules = this.rules[name] - for (var i = 0; i < rules.length; i++) { - var rule = rules[i]; - // console.log("Processing rule [" + rule + "]"); - if (rule.symbols.length === 0) { - // if (!this.derivable[name][EPSILON.asString]) - // console.log(" " + name + " can derive EPSILON via rule " + rule); - changed = changed || (!this.derivable[name][EPSILON.asString]); - this.derivable[name][EPSILON.asString] = true; // Rule is nullable - } - for (var j = 0; j < rule.symbols.length; j++) { - var sym = rule.symbols[j] - if ((sym instanceof Token) && (sym !== EOF)) { - // console.log(" Rule [" + rule + "] isn't nullable due to " + sym.asString + " so skipping rest"); - break; // A token in the RHS of a rule means it can't derive a nonterminal on its own - } - var restNullable = true; - for (var k = j + 1; k < rule.symbols.length; k++) { - if (rule.symbols[k] === EOF) continue; - if ((rule.symbols[k] instanceof Token) || - (this.derivable[rule.symbols[k].asString][EPSILON.asString] !== true)) { - restNullable = false; - break; - } - } - if (restNullable) { - // if (!this.derivable[name][sym.asString]) - // console.log(" " + name + " can derive " + sym.asString + " via [" + rule + "]"); - changed = changed || (!this.derivable[name][sym.asString]); - this.derivable[name][sym.asString] = true; - } - if ((!this.derivable[sym.asString]) || this.derivable[sym.asString][EPSILON.asString] !== true) { - // console.log("Rule [" + rule + "] isn't nullable after " + sym.asString + " so skipping rest"); - break; // This nonterminal isn't nullable, so skip the rest of the rule - } - } - } - } - - for (var i = 0; i < this.nonterms.size(); i++) { - var term_i = this.nonterms.get(i).asString; - for (var j = 0; j < this.nonterms.size(); j++) { - var term_j = this.nonterms.get(j).asString; - if (i == j || !this.derivable[term_i][term_j]) continue; - if (this.derivable[term_j][EPSILON.asString] && !this.derivable[term_i][EPSILON.asString]) { - // console.log(term_i + " can derive EPSILON via " + term_j); - this.derivable[term_i][EPSILON.asString] = true; - } - for (var k = 0; k < this.nonterms.size(); k++) { - var term_k = this.nonterms.get(k); - if (j == k || !this.derivable[term_j][term_k]) continue; - // if (!this.derivable[term_i][term_k]) - // console.log(term_i + " can derive " + term_k + " via " + term_j); - changed = changed || (!this.derivable[term_i][term_k]) - this.derivable[term_i][term_k] = true; - } - } - } - } - // console.log("Done"); - }, - - ////////////////////////////////// - // Computes the set of first tokens in a rule - // If a rule is nullable, then EPSILON is one possible token - ////////////////////////////////// - computeFirstSets: function() { - var thiz = this; - var changed = true; - function addFirst(name, token) { - var ret = !(token.asString in thiz.first[name]) - thiz.first[name][token.asString] = token; - return ret; - } - function merge(dest, source) { - var ret = false; - for (var tok in thiz.first[source]) - if (thiz.first[source][tok] !== EPSILON) - ret = addFirst(dest, thiz.first[source][tok]) || ret; - return ret; - } - this.first = {}; - this.nontermFirst = {}; - for (var name in this.rules) { - if (this.rules.hasOwnProperty(name)) { - this.first[name] = {}; - this.nontermFirst[name] = new KeyedSet("key", [new Nonterm(name)]); - for (var i = 0; i < this.rules[name].length; i++) - if (this.rules[name][i].symbols.length === 0) - addFirst(name, EPSILON); - } - } - while (changed) { - changed = false; - for (var name in this.rules) { - var name_rules = this.rules[name]; - for (var i = 0; i < name_rules.length; i++) { - var name_rule = name_rules[i]; - var allNullable = true; - for (var j = 0; j < name_rule.symbols.length; j++) { - if (name_rule.symbols[j] instanceof Nonterm) { - changed = merge(name, name_rule.symbols[j].asString) || changed; - //if (this.nontermFirst[name_rule.symbols[j]] === undefined) - //assert(false, "Couldn't find a nontermFirst for " + name_rule.symbols[j]); - this.nontermFirst[name].merge(this.nontermFirst[name_rule.symbols[j].asString]); - if (this.first[name_rule.symbols[j].asString][EPSILON.asString] !== EPSILON) { - allNullable = false; - break; - } - } else { - changed = addFirst(name, name_rule.symbols[j]) || changed; - allNullable = false; - break; - } - } - if (allNullable) { - addFirst(name, EPSILON); - } - } - } - } - }, - - - ////////////////////////////////// - // Computes the tokens that can immediately follow the specified position - // in the current rule. This is a subset of the Follow set for the given - // nonterminal, and is therefore more precise and less prone to producing - // parsing conflicts. - ////////////////////////////////// - computeFollowAtPosition: function(rule, pos) { - if (rule.lookahead) - return this.computeFirstOfStrings(rule.symbols.slice(pos).concat(rule.lookahead)); - else - return this.computeFirstOfStrings(rule.symbols.slice(pos)); - }, - - ////////////////////////////////// - // Lifts the first relation from non-terminals to strings of grammar symbols - computeFirstOfStrings: function(string) { - var joinedStrings = "" + string.map((s) => s.asString); - var ret = this.firstStringCache[joinedStrings]; - if (ret !== undefined) return ret; - ret = this.firstStringCache[joinedStrings] = new KeyedSet("key"); - var nullable = true; - // console.log("syms[" + i + "] = [" + string + "], length = " + string.length); - for (var j = 0; j < string.length; j++) { - if (string[j] instanceof Token || string[j] === HASH) { // Tokens aren't nullable, so we're done - ret.add(string[j]); - nullable = false; - break; - } else { - var first = this.first[string[j].asString]; - if (first === undefined) { - console.log("Internal error! string[j] = " + JSON.stringify(string[j]) + " but first is undefined"); - } - for (var name in first) { - if (first[name] !== EPSILON) - ret.add(first[name]); - } - if (first[EPSILON.asString] === undefined) { // This nonterminal isn't nullable, so we're done - nullable = false; - break; - } - } - } - if (nullable) - ret.add(EPSILON); - return ret; - }, - - ////////////////////////////////// - // Computes the LR(1) closure of a rule set: - // For a given rule [A -> a.Bb, x] in the set, it adds [B -> .g, y] - // for all [B -> g] in the grammar, and all y in FIRST(bx). - // - // If inline = true, then it mutates the provided argument - // otherwise it constructs a new set and returns that. - // Dragon book 2ed, p261 - completeClosure: function(lrSet, inline) { - var ret = inline ? lrSet : new LR1Set(lrSet); - var worklist = new Queue(ret.exhaustive()); - while (worklist.length > 0) { - var rule = worklist.shift(); - if (rule.position < rule.symbols.length) { - var next_symbol = rule.symbols[rule.position]; - if (next_symbol instanceof Nonterm) { - var next = this.computeFollowAtPosition(rule, rule.position + 1); - // console.log(" next(" + rule + ") = " + next); - var rules_to_add = this.rules[next_symbol.asString] - if (rules_to_add === undefined) { - throw("No rules known for symbol " + next_symbol.asString); - } - for (var j = 0; j < rules_to_add.length; j++) { - var rule_to_add = rules_to_add[j]; - for (var k = 0; k < next.size(); k++) { - var new_rule = RuleFactory.make(rule_to_add.name, rule_to_add.symbols, next.get(k), 0) - if (ret.addRule(new_rule)) { - worklist.push(new_rule); - } - } - } - } - } - } - return ret; - }, - - ////////////////////////////////// - // Computes the kernel of the LR(1) Goto set for a given kernel and symbol - // Dragon book 2ed, p261 - computeGotoKernel: function(setNum, lrSet, symbol) { - // console.log("--> Rule_set #" + setNum + " = " + lrSet + ", symbol = " + symbol); - var ret = new LR1Set(); - for (var i = 0; i < lrSet.coreSize(); i++) { - var rule = lrSet.getCore(i); - // console.log(" Processing rule " + rule); - if (rule.position < rule.symbols.length && rule.symbols[rule.position].asString == symbol.asString) { - // console.log(" Pushing " + symbol + " over in rule " + rule); - var new_rule = rule.withPosition(rule.position + 1); - // console.log(" new_rule = " + new_rule + " and lookaheads = " + lrSet.getLookaheads(i)); - ret.addRuleWithLookaheads(new_rule, lrSet.getLookaheads(i)); - } - } - this.completeClosure(ret, true); - // console.log("<-- Result = " + ret); - return ret; - }, - - reducer: function(U, R, Q, N, i, cur_tok, skipped_WS_loc) { - // cur_tok = token #i+1: i starts at index 0, and tokens start at index 1 - // U is an array of sets of GSS nodes - // R is the worklist of pending reductions - // Q is the set of (GSS node, token) pairs of pending shifts - // N is the set of SPPF nodes created in this step - // cur_tok is the current token - var item = R.shift(); - // console.log("In reducer, i = " + i + ", cur_tok = " + cur_tok.toString(true) + ", and item = " + item); - var v = item.gssNode; // GSS node from which the reduction is to be applied - var X = item.rule.name; // the name of the reduction rule - var m = item.m; // the length of the RHS of the reduction rule (maybe just item.rule.position?) - var f = item.f; // the index of the required nullable part at the righthand end of the reduction - // or 0 if the reduction isn't right-nullable - var y = item.label; // the SPPF node labels the first edge of the path down which the reduction is applied - // (if m = 0 then y = epsilon) [sic] - var y_m = (m !== 0 ? y : undefined) - var U_i = U[i] - const thiz = this; - v.forPathsOfLength(m > 0 ? (m - 1) : 0, function(p) { - // console.log("Found path " + JSON.stringify(p, null, " ")); - // p.labels contain the edge labels of the path - var u = p.leftSib; - var k = u.label; - var l = thiz.rnTable[k][X].push; - if (l !== undefined) { - // console.log("k = " + k + ", X = " + X + ", l = " + l); - var z = undefined; - if (m === 0) - z = thiz.getEpsilonSPPF(f, cur_tok.pos.posAtStart()); - else { - var c = u.parentSetId; - var nodes_X = N[X]; - if (nodes_X === undefined) - nodes_X = N[X] = {}; - z = nodes_X[c]; - if (z === undefined) { - var pos; - if (skipped_WS_loc !== undefined) { - pos = skipped_WS_loc.posAtStart(); - } else { - pos = cur_tok.pos; - } - if (p.labels.length > 0) { - pos = pos.combine(p.labels[0].pos); - } - z = nodes_X[c] = new SPPFNode(X, pos); - } - } - // console.log("z = " + z); // XXX Serializing of eSPPFs isn't working - var w = U_i.itemForKey(l); - if (w !== undefined) { - // console.log("1. Adding link from " + w + " to " + u + " labelled " + z); - if (thiz.addLink(/*from*/w, /*to*/u, /*labelled*/z)) { - if (m !== 0) { - var actions = thiz.getActions(l, cur_tok); - if (actions !== undefined) { - var reductions = actions.reductions; - reductions.forEach(function(red) { - if (red.rule.position !== 0) - R.push(new ReductionItem(u, red.rule, red.rule.position, red.f, z)); - }); - } else { - // Possibly shouldn't throw? - // throw("No actions found in state " + l + " for token " + next_tok.toString(true) + " at " + - // next_tok.pos.toString(true)); - } - } - } - } else { - w = new GSSNode(/*labelled*/l); - w.parentSetId = U_i.id; - U_i.add(w); - // console.log("Added " + w + " to U[" + i + "] ==> " + U_i); - // console.log("2. Adding link from " + w + " to " + u + " labelled " + z); - thiz.addLink(/*from*/w,/*to*/u,/*labelled*/z); - var actions = thiz.getActions(l, cur_tok); - if (actions !== undefined) { - var ph = actions.push; - if (ph !== undefined) - Q.push(new ShiftPair(w, ph)); - var reductions = actions.reductions; - // console.log("reductions(" + l + ", " + cur_tok.toString(true) + ") = " + reductions); - reductions.forEach(function(red) { - if (red.rule.position === 0) - // the label here is irrelevant, because m == 0 means the rest of the rule derives EPSILON - R.push(new ReductionItem(w, red.rule, 0, red.f, EPSILON)); - }); - if (m !== 0) { - reductions.forEach(function(red) { - if (red.rule.position !== 0) - R.push(new ReductionItem(u, red.rule, red.rule.position, red.f, z)); - }); - } - } else { - // Possibly shouldn't throw? - // throw("No actions found in state " + l + " for token " + next_tok.toString(true) + " at " + - // next_tok.pos.toString(true)); - } - } - // console.log("R.length = " + R.length); - // R.debugPrint(); - if (m !== 0) { - var labels = p.labels.slice(0); - labels.push(y_m); - thiz.addChildren(item.rule, z, labels, f, skipped_WS_loc !== undefined ? skipped_WS_loc.posAtStart() : cur_tok.pos.posAtStart()); - } - } - }); - }, - - addLink: function(rightSib, leftSib, val) { - var link = undefined; - for (var i = 0; i < rightSib.links.length; i++) { - if (rightSib.links[i].prev === leftSib) { - link = rightSib.links[i]; - break; - } - } - if (link === undefined) { - link = new Link(leftSib, val); - rightSib.links.push(link); - // console.log("Linking " + leftSib.toString() + " <-- " + rightSib.toString() + " with val " + val + "@" + val.pos); - return link; - } else { - // console.log("Link already exists between " + leftSib.toString() + " <-- " + rightSib.toString()); - return undefined; - } - }, - - shifter: function(U, R, Q, N, i, cur_tok, next_tok) { - // cur_tok = token #i+1: i starts at index 0, and tokens start at index 1 - // next_tok = token #i+2 - // U is an array of sets of GSS nodes - // R is the worklist of pending reductions - // Q is the set of (GSS node, token) pairs of pending shifts - // N is the set of SPPF nodes created in this step - var success = false; - if (cur_tok !== EOF) { // if i != d, in the paper, where d is the last token number - // Q.debugPrint(); - var Qprime = new Queue([]); - var z = new SPPFNode(cur_tok, cur_tok.pos); - var U_i1 = U[i+1] = new KeyedSet("label"); - U_i1.id = i + 1; - while (Q.length > 0) { - var item = Q.shift(); - var v = item.gssNode; - var k = item.state; - var w = U_i1.itemForKey(k); - // console.log("item = " + item + ", k = " + k + " and therefore w = " + w); - if (w !== undefined) { - success = true; - this.addLink(/*from*/w, /*to*/v, /*labelled*/z); - var actions = this.getActions(k, next_tok); - if (actions !== undefined) { - var reductions = actions.reductions; - reductions.forEach(function(red) { - if (red.rule.position !== 0) - R.push(new ReductionItem(v, red.rule, red.rule.position, red.f, z)); - }); - } else { - // Possibly shouldn't throw? - // throw("No actions found in state " + k + " for token " + next_tok.toString(true) + " at " + - // next_tok.pos.toString(true)); - } - } else { - w = new GSSNode(/*labelled*/k); - w.parentSetId = U_i1.id; - U_i1.add(w); - // console.log("Added " + w + " to U[" + (i + 1) + "] ==> " + U_i1); - this.addLink(/*from*/w, /*to*/v, /*labelled*/z); - - var actions = this.getActions(k, next_tok); - // console.log("next_tok = " + next_tok.toString(true) + ", k = " + k + ", actions = " + JSON.stringify(actions)); - if (actions !== undefined) { - success = true; - var ph = actions.push; - if (ph !== undefined) { - var sp = new ShiftPair(w, ph); - // console.log("Pushing " + sp + " onto Q'"); - Qprime.push(sp); - } - var reductions = actions.reductions; - // console.log("Reductions for k = " + k + " next_tok = " + next_tok + " are " + reductions); - reductions.forEach(function(red) { - // console.log("red.f = " + red.f + ", red.rule.position = " + red.rule.position); - if (red.rule.position !== 0) { - R.push(new ReductionItem(v, red.rule, red.rule.position, red.f, z)); - } - }); - reductions.forEach(function(red) { - if (red.rule.position === 0) { - // the label here is irrelevant, because m == 0 means the rest of the rule derives EPSILON - R.push(new ReductionItem(w, red.rule, 0, red.f, EPSILON)); - } - }); - // console.log("R = "); - // R.debugPrint(); - } else { - // Possibly shouldn't throw? - // throw("No actions found in state " + k + " for token " + next_tok.toString(true) + " at " + - // next_tok.pos.toString(true)); - } - } - } - while (Qprime.length > 0) - Q.push(Qprime.shift()); - // console.log("At the end of shifter(" + i + "), Q = "); - // Q.debugPrint(); - } - return success; - }, - - addChildren: function(rule, y, kids, f, pos) { - var lambda = kids.slice(0); - if (f !== 0) - lambda.push(this.getEpsilonSPPF(f, pos)); - // Find lambda in the kids of y - function examine(y_rule, y_kids) { - if (y_rule !== rule) return false; - if (y_kids.length !== lambda.length) return false; - for (var i = 0; i < y_kids.length; i++) - if (y_kids[i] !== lambda[i]) return false; - return true; - } - var found = false; - if (y.kids) { - found = examine(y.rule, y.kids); - } else if (y.ambig) { - for (var i = 0; i < y.ambig.length; i++) - if (examine(y.ambig[i].rule, y.ambig[i].kids)) { - found = true; - break; - } - } - if (!found) - y.addChildren(rule, lambda, this); - }, - - getActions: function(state, tok) { - var tableRow = this.rnTable[state]; - var actions1 = tableRow[tok.asString]; - return actions1; - }, - /* - printSPPFasDot: function() { - var ret = []; - ret.push("digraph " + this.name + "_SPPF {"); - ret.push(" rankdir=RL; clusterrank=local;"); - ret.push(" // Nodes"); - for (var i = 0; i < SPPFNode.allNodes.length; i++) { - var node = SPPFNode.allNodes[i]; - var style = ""; - if (node.inline) - style = ", style=dashed"; - var label = "SPPFNode #" + node.sppfId; - if (node.inline) - label += "\nInlined e-SPPF for " + node.label; - else - label += "\nLabel: " + node.label.toString(true); - if (node.rule) - label += "\nRule: " + node.rule.toString(); - else if (node.ambig) - label += "\nMultiple derivations"; - - ret.push(" " + node.sppfId + " [label=" + JSON.stringify(label) + style + "];"); - if (node.ambig !== undefined) { - for (var j = 0; j < node.ambig.length; j++) { - ret.push(" \"" + node.sppfId + "_" + j - + "\" [label=" + JSON.stringify(node.ambig[j].rule.toString()) +", shape=box];"); - } - } - } - ret.push(" // Edges"); - for (var i = 0; i < SPPFNode.allNodes.length; i++) { - var node = SPPFNode.allNodes[i]; - if (node.kids !== undefined) - for (var j = 0; j < node.kids.length; j++) - ret.push(" " + node.sppfId + " -> " + node.kids[j].sppfId - + " [label=\"" + j + "\"];"); - else if (node.ambig !== undefined) { - for (var j = 0; j < node.ambig.length; j++) { - ret.push(" " + node.sppfId + " -> \"" + node.sppfId + "_" + j + "\";"); - for (var k = 0; k < node.ambig[j].kids.length; k++) - ret.push(" \"" + node.sppfId + "_" + j + "\" -> " + node.ambig[j].kids[k].sppfId - + " [label=\"" + k + "\"];"); - } - } - } - ret.push("}"); - return ret.join("\n"); - }, - - printGSSasDot: function() { - var ret = []; - ret.push("digraph " + this.name + "_GSS {"); - ret.push(" rankdir=RL; clusterrank=local;"); - ret.push(" // Nodes"); - for (var i = 0; i < GSSNode.allNodes.length; i++) { - var node = GSSNode.allNodes[i]; - ret.push(" " + node.gssId + "[label=" + JSON.stringify(node.toString()) + "];"); - } - ret.push(" // Ranks"); - for (var i = 0; i < this.U.length; i++) { - var s = ""; - for (var j = 0; j < this.U[i].size(); j++) - s += " " + this.U[i].get(j).gssId + ";"; - ret.push(" subgraph cluster" + i + " {"); - ret.push(" rank = same; color=black;"); - if (i > 0) - ret.push(" label=\"Token " + i + "\""); - ret.push(" " + s); - ret.push(" }"); - } - ret.push(" // Edges"); - for (var i = 0; i < GSSNode.allNodes.length; i++) { - var node = GSSNode.allNodes[i]; - for (var j = 0; j < node.links.length; j++) - ret.push(" " + node.gssId + " -> " + node.links[j].prev.gssId - + "[label=" + JSON.stringify(node.links[j].val.toString()) + "]" - //+ "[label=" + JSON.stringify(JSON.decycle(node.links[j].val), null, " ") + "]" - + ";"); - } - ret.push("}"); - return ret.join("\n"); - }, - */ - - ////////////////////////////////// - // The RNGLR algorithm - // Following Scott & Johnstone '06, TOPLAS 28:4 - ////////////////////////////////// - parseRNGLR: function(token_source) { - if (token_source.isEmpty()) { - if (this.acceptStates[0]) - return this.getEpsilonSPPF(this.I[this.start.asString], SrcLoc.make(0,0,0,0,0,0)); - else { - console.log("There are zero tokens available, but the grammar does not accept the empty string"); - return undefined; - } - } else { - var v0 = new GSSNode(0); - var U0 = new KeyedSet("label", [v0]); - U0.id = 0; - v0.parentSetId = U0.id; - this.U = []; - this.U[0] = U0; - var R = new Queue([]); - var Q = new Queue([]); - var hasNext = true; - var cur_tok = token_source.next(); // need to peek at first token - var actions = this.getActions(0, cur_tok); - // console.log("Actions[0][" + cur_tok.toRepr(true) + "] = " + JSON.stringify(actions)); - if (actions !== undefined) { - var pk = actions.push; - if (pk !== undefined) - Q.push(new ShiftPair(v0, pk)); - // console.log("Q = "); - // Q.debugPrint(); - var reductions = actions.reductions; - reductions.forEach(function(red) { - if (red.rule.position === 0) - // Again, label shouldn't matter because length is 0 - R.push(new ReductionItem(v0, red.rule, 0, red.f, EPSILON)); - }); - } - // console.log("R = "); - // R.debugPrint(); - var i = 0; - // try { - while (hasNext && this.U[i].size() > 0) { - var N = new Queue([]); - // console.log("Phase 1: reducing due to token #" + i + ": " + cur_tok.toRepr(true)); - while (R.length > 0) { - this.reducer(this.U, R, Q, N, i, cur_tok, token_source.skippedWhitespace); - } - hasNext = token_source.hasNext(); - var next_tok = hasNext ? token_source.next() : undefined; - // console.log("Phase 2: shifting token #" + i + ": " + cur_tok.toRepr(true)); - hasNext = this.shifter(this.U, R, Q, N, i, cur_tok, next_tok) && hasNext; - if (hasNext) { - cur_tok = next_tok; - } else { - token_source.unshiftToken(cur_tok); - } - i++; - } - // console.log("DONE WITH LOOP, i = " + i - // + ", last token = " + cur_tok.toString(true) + "@" + cur_tok.pos.toString(true) - // + ", hasNext = " + hasNext + ", final set emptied out: " + (this.U[i].size() == 0)); - if (!hasNext) i--; - // console.log("Finalizing: i = " + i + " and U[i] = " + this.U[i]); - for (var acc = 0; acc < this.acceptStates.length; acc++) { - if (this.acceptStates[acc]) { - //console.log("Searching for " + acc); - var t = this.U[i].itemForKey(acc); - if (t !== undefined) { - //console.log("Parse success!"); - var link = undefined; - for (var j = 0; j < t.links.length; j++) { - if (t.links[j].prev === v0) { - link = t.links[j]; - break; - } - } - if (link !== undefined) { - return link.val; - } else - console.log("Couldn't find correct link in " + JSON.stringify(JSON.decycle(t), null, " ")); - } else { - //console.log("Parse failure"); - } - } - } - // // Collect error information - // if (i > 0) { - // var acc = undefined; - // for (var j = 0; j < this.U[i - 1].size(); j++) { - // var head = this.U[i - 1].get(j); - // console.log("For token " + i + ", " + cur_tok + ", head is in state " + head.label); - // acc = this.plausibleTokensForState(head.label, acc); - // } - // throw(acc); - // } - // } catch(e) { - // console.log(e); - // return undefined; - // } - } - }, - - plausibleTokensForState: function(state, ret) { - if (ret === undefined) - ret = {}; - for (var j = 0; j < this.tokens.size(); j++) { - var tok = this.tokens.get(j); - var actions = this.getActions(state, tok); - if (tok !== EPSILON && actions !== undefined && - (actions.push !== undefined || (actions.reductions !== undefined && actions.reductions.size > 0))) { - console.log("In state " + state + " for token " + tok + ", actions = " + JSON.stringify([...actions.reductions])); - ret[tok] = true; - } - } - return ret; - }, - - constructAllParses: function(sppfNode, semActions) { - if (sppfNode === undefined) return undefined; - if (sppfNode.label instanceof Token) { - return [sppfNode.label]; - } - var options = undefined; - if (sppfNode.ambig) - options = sppfNode.ambig; - else - options = [{kids: sppfNode.kids, rule: sppfNode.rule}]; - var ret = []; - for (var i = 0; i < options.length; i++) { - var kids = options[i].kids; - var rule = options[i].rule; - var kidsParses = []; - for (var j = 0; j < kids.length; j++) { - if (kids[j].rule === undefined && kids[j].ambig === undefined && kids[j].inline === true) { - for (var k = 0; k < kids[j].kids.length; k++) { - kidsParses.push([this.applyAction(kids[j].kids[k].rule, kids[j].kids[k].kids, kids[j].kids[k].pos, semActions)]); - } - } else if (kids[j].rule === undefined && kids[j].kids !== undefined && kids[j].label.indexOf(',') > -1) { - for (var k = 0; k < kids[j].kids.length; k++) { - kidsParses.push(this.constructAllParses(kids[j].kids[k], semActions)); - } - } else { - kidsParses.push(this.constructAllParses(kids[j], semActions)); - } - } - const thiz = this; - ret = ret.concat(this.cartesian(kidsParses, 0, [], - function(kids) { return thiz.applyAction(rule, kids, sppfNode.pos, semActions); })); - } - return ret; - }, - cartesian: function(arrays, idx, arr, callback) { - if (arrays.length == idx) return callback(arr); - var ret = []; - for (var i = 0; i < arrays[idx].length; i++) { - ret = ret.concat(this.cartesian(arrays, idx+1, arr.concat(arrays[idx][i]), callback)); - } - return ret; - }, - - countAllParses: function(sppfNode) { - if (sppfNode === undefined) return 0; - var todo = [[[sppfNode]]]; // stack of alternate lists of children - var count = [[[]], [[]]]; // stack of sums of factors - while (todo.length > 0) { - var top = todo[todo.length - 1]; - var topCount = count[count.length - 1]; - if (top.length === 0) { // done with all parses of a given node - todo.pop(); - count.pop(); - var tot = 0; - for (var i = 0; i < topCount.length; i++) { - var prod = 1; - for (var j = 0; j < topCount[i].length; j++) - prod *= topCount[i][j]; - tot += prod; - } - var newTopCount = count[count.length - 1]; - newTopCount[newTopCount.length - 1].push(tot); - } else if (top[top.length - 1].length === 0) { // done with one alternative - top.pop(); - if (top.length > 0) { - topCount.push([]); - } - } else { - var node = top[top.length - 1].pop(); - if (node.label instanceof Token) { - topCount[topCount.length - 1].push(1); - } else if (node.ambig && node.ambig.length > 0) { - count.push([[]]); - todo.push(node.ambig.map(function(d) { return d.kids.slice(0); })); - } else if (node.kids && node.kids.length > 0) { - count.push([[]]); - todo.push([node.kids.slice(0)]); - } - } - } - if (count.length > 0 && count[0].length > 0 && count[0][0].length > 0) - return count[0][0][0]; - else - throw count; - }, - - constructUniqueParse: function(sppfNode, semActions) { - if (sppfNode === undefined) return undefined; - // Each stack item is a pair {todo, done}, where todo is a list of children - // in reverse order (so that pop goes from left-to-right in actual tree order) - // and done is a list of children in tree order - // If there are nodes todo: - // We examine the pop()ed node from stack[TOP].todo: - // if it has kids, we push a new stack item - // otherwise, we move it over - // Otherwise we reduce - var stack = [{todo: [sppfNode], done: []}]; - while (stack.length > 0 && stack[0].todo.length > 0) { - var curr = stack[stack.length - 1]; - if (curr.todo.length > 0) { - var next = curr.todo[curr.todo.length - 1]; - if (next.label instanceof Token) { - curr.todo.pop(); - curr.done.push(next.label); - } else if (next.ambig) { - throw("Not a unique parse"); - } else if (next.rule === undefined && next.label.indexOf(',') > -1) { - curr.todo.pop(); - for (var k = next.kids.length - 1; k >= 0; k--) - curr.todo.unshift(next.kids[k]); - } else if (next.kids.length == 0) { - // Optimization for nullary nonterminals - curr.todo.pop(); - var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; - curr.done.push(this.applyAction(next.rule, [], pos, semActions)) - } else { - stack.push({todo: next.kids.slice(0).reverse(), done: []}); - } - } else { - if (stack.length > 1) { - stack.pop(); - var prev = stack[stack.length - 1]; - var toReduce = prev.todo.pop(); - if (toReduce.rule === undefined) { - function jsonPos(key, value) { - if (key === "pos") { return "SrcLoc(" + value.toString(true) + ")"; } - else { return value; } - } - throw("Cannot find a reduction rule on " + JSON.stringify(toReduce, jsonPos, " ")); - } else { - prev.done.push(this.applyAction(toReduce.rule, curr.done, toReduce.pos, semActions)); - } - } - } - } - return stack[0].done[0]; - }, - - constructNextParse: function(sppfNode, semActions, directions) { - if (sppfNode === undefined) return undefined; - // Directions contains an array of pairs {choice, of} - // saying which index choice (out of how many choices) at an ambig node - // was taken by the previous parse. - // To compute the next parse, remove all trailing pairs for which choice == of, - // then increment the last remaining choice - var newDirs = []; - if (directions) { - var lastIndex = directions.length - 1; - while (lastIndex >= directions[lastIndex].choice == directions[lastIndex].of) - lastIndex--; - if (lastIndex < 0) return undefined; - for (var i = 0; i < lastIndex; i++) - newDirs[i] = directions[i]; - newDirs[lastIndex] = {choice: directions[i].choice + 1, of: directions[i].of}; - } - var stack = [{todo: [sppfNode], done: []}]; - var curDir = 0; - while (stack.length > 0 && stack[0].todo.length > 0) { - var curr = stack[stack.length - 1]; - if (curr.todo.length > 0) { - var next = curr.todo[curr.todo.length - 1]; - if (next.label instanceof Token) { - curr.todo.pop(); - curr.done.push(next.label); - } else if (next.rule === undefined && next.label.indexOf(',') > -1) { - curr.todo.pop(); - for (var k = next.kids.length - 1; k >= 0; k--) - curr.todo.unshift(next.kids[k]); - } else if (next.ambig) { - if (curDir < newDirs.length) { - next = next.ambig[newDirs[curDir++].choice]; - } else { - newDirs.push({choice: 0, of: next.ambig.length}) - next = next.ambig[0]; - } - if (next.kids.length == 0) { - // Optimization for nullary nonterminals - curr.todo.pop(); - var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; - curr.done.push(this.applyAction(next.rule, [], pos, semActions)) - } else { - stack.push({todo: next.kids.slice(0).reverse(), done: []}); - } - } else if (next.kids.length == 0) { - // Optimization for nullary nonterminals - curr.todo.pop(); - var pos = curr.done.length > 0 ? curr.done[curr.done.length - 1].pos : next.pos; - curr.done.push(this.applyAction(next.rule, [], pos, semActions)) - } else { - stack.push({todo: next.kids.slice(0).reverse(), done: []}); - } - } else { - if (stack.length > 1) { - stack.pop(); - var prev = stack[stack.length - 1]; - var toReduce = prev.todo.pop(); - if (toReduce.rule === undefined) { - function jsonPos(key, value) { - if (key === "pos") { return "SrcLoc(" + value.toString(true) + ")"; } - else { return value; } - } - throw("Cannot find a reduction rule on " + JSON.stringify(toReduce, jsonPos, " ")); - } else { - prev.done.push(this.applyAction(toReduce.rule, curr.done, toReduce.pos, semActions)); - } - } - } - } - return {parse: stack[0].done[0], directions: newDirs}; - }, - checkPositionContainment: function(sppfNode) { - if (sppfNode === undefined) return undefined; - var violations = []; - //var worklist = [sppfNode]; - function helper(node) { - var pos = node.pos; - if (node.kids) { - for (var i = 0; i < node.kids.length; i++) { - var kidPos = node.kids[i].pos; - if (kidPos.startChar < pos.startChar || kidPos.endChar > pos.endChar) { - violations.push(node); - break; - } - } - } else if (node.ambig) { - for (var i = 0; i < node.ambig.length; i++) { - var kids = node.ambig[i].kids; - var shouldBreak = false - for (var j = 0; j < kids.length; j++) { - var kidPos = kids[j].pos; - if (kidPos.startChar < pos.startChar || kidPos.endChar > pos.endChar) { - violations.push(node); - shouldBreak = true; - break; - } - } - if (shouldBreak) break; - } - } - } - helper(sppfNode); - if (violations.length > 0) return violations; - return false; - }, - - computeRequiredNullableParts: function() { - // The I dictionary is an index of all nullable nonterminals and (nonempty) strings of - // nonterminals that appear as right-hand tails in rules in the grammar. - // The eSPPFs table is a dictionary indexed first by I value and second by position. - // We already ensure that position objects are singletons, and this second-level - // dictionary ensures that e-SPPFs are singletons too, for each position in the - // parse tree for which they are needed. This helps ensure that finding existing links - // doesn't create duplicates and therefore does't cause duplicate parses, later. - allowNull = true; - this.I = {}; - this.I[EPSILON.asString] = 0; - this.eSPPFs = []; - this.eSPPFs[0] = {null: new SPPFNode(EPSILON, null)}; - // Initialize all eSPPFs to empty nodes - for (var name in this.rules) { - if (this.derivable[name][EPSILON.asString] !== true) continue; - var name_eSPPF = new SPPFNode(name, null); - this.I[name] = this.eSPPFs.length; - this.eSPPFs.push({null: name_eSPPF}); - } - // Compute the e-closure of the rules - for (var name in this.rules) { - if (this.derivable[name][EPSILON.asString] !== true) continue; - var rules_name = this.rules[name]; - var name_eSPPF = this.eSPPFs[this.I[name]].null; - for (var i = 0; i < rules_name.length; i++) { - var rule = rules_name[i]; - if (this.computeFirstOfStrings(rule.symbols).contains(EPSILON)) { - var kids = []; - for (var j = 0; j < rule.symbols.length; j++) { - kids.push(this.eSPPFs[this.I[rule.symbols[j].asString]].null); - } - name_eSPPF.addChildren(rule, kids, this); - } - } - } - // Compute required nullable parts - for (var name in this.rules) { - var rules_name = this.rules[name]; - for (var i = 0; i < rules_name.length; i++) { - var rule = rules_name[i]; - for (var j = 1/*note: not 0*/; j < rule.symbols.length; j++) { - var slice = rule.symbols.slice(j); - var sliceStrs = slice.map((s) => s.asString); - var sliceStr = "" + sliceStrs; - if (this.computeFirstOfStrings(slice).contains(EPSILON) && this.I[sliceStr] === undefined) { - var eSPPF_slice = new SPPFNode(sliceStr, null); - eSPPF_slice.inline = true; - var kids = []; - for (var k = 0; k < slice.length; k++) - kids[k] = this.eSPPFs[this.I[sliceStrs[k]]].null; - eSPPF_slice.kids = kids; - this.I[sliceStrs] = this.eSPPFs.length; - this.eSPPFs.push({null: eSPPF_slice}); - } - } - } - } - allowNull = false; - }, - getI: function(rule) { - var ret = undefined; - if (rule.position === 0) ret = this.I[rule.name]; - else if (rule.position === rule.symbols.length) ret = this.I[EPSILON.asString]; - else ret = this.I[rule.symbols.slice(rule.position).map((s) => s.asString)]; - return ret; - }, - getEpsilonSPPF: function(i, pos) { - function find(node, cache) { - for (var i = 0; i < cache.length; i++) { - if (cache[i].key === node) { - return cache[i].value; - } - } - return undefined; - } - function clone(node, cache) { - var ret = find(node, cache); - if (ret !== undefined) return ret; - ret = {}; - cache.push({key: node, value: ret}); - ret.sppfId = node.sppfId; - ret.name = node.name; - ret.label = node.label; - ret.pos = pos; - ret.toString = node.toString; - ret.rule = node.rule; - ret.inline = node.inline; - if (node.kids !== undefined) { - ret.kids = []; - for (var i = 0; i < node.kids.length; i++) { - ret.kids[i] = clone(node.kids[i], cache); - } - } else if (node.ambig !== undefined) { - ret.ambig = []; - for (var i = 0; i < node.ambig.length; i++) { - var kids = []; - ret.ambig.push({kids: kids, rule: node.ambig[i].rule}); - for (var j = 0; j < node.ambig[i].kids.length; j++) { - kids[j] = clone(node.ambig[i].kids[j], cache); - } - } - } - return ret; - } - var byI = this.eSPPFs[i]; - var ret = byI[pos]; - if (ret === undefined) - ret = byI[pos] = clone(byI[null], []); - return ret; - }, - resetESPPFs: function() { - for (var i = 0; i < this.eSPPFs.length; i++) { - this.eSPPFs[i] = {null: this.eSPPFs[i].null}; - } - }, - - computeRNTable: function() { - const thiz = this; - function initTables(index) { - var tableRow = thiz.rnTable[index]; - if (tableRow === undefined) - tableRow = thiz.rnTable[index] = {}; - for (var k = 0; k < thiz.atoms.size(); k++) { - if (tableRow[thiz.atoms.get(k).asString] === undefined) - tableRow[thiz.atoms.get(k).asString] = {push: undefined, reductions: new Set()}; - } - } - - - initTables(0); - // This doesn't seem to be needed, because we always explicitly shift the EOF token - // if (this.derivable[this.start][EPSILON] === true) { - // this.acceptStates[0] = true; - // this.rnTable[0][EOF].accept = true; - // } - for (var i = 0; i < this.states.size(); i++) { - var state_i = this.states.get(i); - initTables(i); - // console.log("State " + i + " = " + state_i.toString()); - var full_state = this.completeClosure(state_i); - // console.log("FullState " + i + " = " + full_state.toString()); - for (var j = 0; j < full_state.coreSize(); j++) { - var rule_j = full_state.getCore(j); - if (rule_j.name === this.start) { - if (rule_j.position === rule_j.symbols.length && full_state.getLookaheads(j).contains(EOF)) { - this.acceptStates[i] = true; - this.rnTable[i][EOF.asString].accept = true; - } - } else { - if (this.computeFollowAtPosition(rule_j, rule_j.position).contains(EPSILON)) { - var lookaheads = full_state.getLookaheads(j); - for (var k = 0; k < lookaheads.size(); k++) { - if (this.rnTable[i][lookaheads.get(k).asString] === undefined) { - throw("Can't get rnTable actions for i = " + i + " and symbol = " + lookaheads.get(k).asString + " in rule " + rule_j.toString(true)); - } - this.rnTable[i][lookaheads.get(k).asString].reductions.add(new ReduceAction(rule_j, this.getI(rule_j))); - } - } - } - } - } - }, - - ////////////////////////////////// - // - - - ////////////////////////////////// - // Algorithm 4.13 (p242-243) in Dragon book - computeStateKernels: function() { - var init_rule = this.rules[this.start][0].withLookahead(EOF); - this.init_set = new LR1Set([init_rule]); - this.completeClosure(this.init_set, true); - var kernelStates = new SetOfSets([this.init_set], LR1Set.equals); - this.rnTable = []; - // Step 1 - var worklist = new Queue([this.init_set]); - var state_num = -1; - while (worklist.length > 0) { - var set = worklist.shift(); - state_num++; - this.rnTable[state_num] = undefined; - for (var j = 0; j < this.atoms.size(); j++) { - var atom_j = this.atoms.get(j); - var new_set = this.computeGotoKernel(state_num, set, atom_j); - if (new_set.coreSize() > 0) { - var gotoStateNum = undefined; - if (kernelStates.add(new_set)) { - gotoStateNum = kernelStates.size() - 1; - // console.log("\nAdded new_set at index " + gotoStateNum + ": " + new_set.toString() + "\n"); - // console.log("Added new_set at index " + gotoStateNum); - worklist.push(new_set); - } else { - gotoStateNum = kernelStates.indexOf(new_set); - // console.log("Set already exists at index " + gotoStateNum + ": " + new_set.toString()); - } - // console.log(state_num + ":" + set + " goes to " + gotoStateNum + ":" + new_set + " via symbol " + atom_j); - var tableRow = this.rnTable[state_num]; - if (tableRow === undefined) - tableRow = this.rnTable[state_num] = {}; - var tableCell = tableRow[atom_j.asString]; - if (tableCell === undefined) - tableCell = tableRow[atom_j.asString] = {push: undefined, reductions: new Set()}; - if (tableCell.push !== undefined && tableCell.push !== gotoStateNum) - throw ("Already have a push action for atom " + atom_j.asString + " in state " + state_num + ": supposed to goto state " + tableCell.push + " and now need to go to " + gotoStateNum); - tableCell.push = gotoStateNum; - } - } - } - console.log("Done with step 1"); - // console.log("There are " + kernelStates.size() + " kernel states"); - // console.log(kernelStates.toString(true)); - // Step 2 - this.states = []; - var spontLookaheads = {}; // Map from goto state number -> rule id -> setOf(lookaheads) - var propLookaheads = {}; // Map from state number -> goto state num -> rule id -> setOf(rule ids) - for (var i = 0; i < kernelStates.size(); i++) { - this.states.push(new LR1Set()); - spontLookaheads[i] = {}; - propLookaheads[i] = {}; - } - init_rule = this.rules[this.start][0]; - spontLookaheads[0][init_rule.id] = new KeyedSet("key", [EOF]); - for (var i = 0; i < kernelStates.size(); i++) { - // if (i > 0 && i % 100 == 0) { console.log("Processing state " + i); } - this.applyLookaheads(spontLookaheads, propLookaheads, kernelStates.get(i), i, this.atoms.get(j)); - } - console.log("Done with step 2"); - // Step 3 - var allLookaheads = {}; // Map from goto state num -> rule id -> setOf(lookaheads) - for (var i = 0; i < kernelStates.size(); i++) { - allLookaheads[i] = {}; - for (var j in spontLookaheads[i]) { - // console.log("i = " + i + ", j = " + j + ", spontLookaheads[i][j] = " + spontLookaheads[i][j]); - allLookaheads[i][j] = new KeyedSet(spontLookaheads[i][j]); - } - } - console.log("Done with step 3"); - // Step 4 - // console.log("\n\n\n"); - function printSets(k, v) { - if (v instanceof KeyedSet || v instanceof IntSet || v instanceof LR1Set) - return v.toString(); - else - return v; - } - // console.log("spontLookaheads = " + JSON.stringify(spontLookaheads, printSets, " ")); - // console.log("propLookaheads = " + JSON.stringify(propLookaheads, printSets, " ")); - var changed = true; - var pass = 0; - while (changed) { - changed = false; - pass++; - for (var i = 0; i < kernelStates.size(); i++) { - var state_i = kernelStates.get(i); - var rnTable_i = this.rnTable[i]; - for (var x in rnTable_i) { - var gotoState = rnTable_i[x].push; - if (gotoState !== undefined) { - for (var j = 0; j < state_i.coreSize(); j++) { - var rule_j = state_i.getCore(j); - var prop = propLookaheads[i][gotoState] ? propLookaheads[i][gotoState][rule_j.id] : undefined; - var look = allLookaheads[i][rule_j.id]; - if (prop !== undefined && look !== undefined) { - // console.log("Propagating " + look + " from state " + i + " to all rules " + prop.toString() + " in state " + gotoState); - for (var k = 0; k < prop.size(); k++) { - var id_k = prop.get(k); - if (allLookaheads[gotoState][id_k] === undefined) - allLookaheads[gotoState][id_k] = new KeyedSet("key"); - changed = allLookaheads[gotoState][id_k].merge(look) || changed; - } - } - } - } - } - } - } - console.log("Done with step 4"); - // console.log("allLookaheads = " + JSON.stringify(allLookaheads, printSets, " ")); - // console.log("All rules:") - // for (var r in RuleFactory.byId) - // console.log(r + ": " + RuleFactory.byId[r]); - // Step 5 -- expand - for (var i = 0; i < kernelStates.size(); i++) { - var kernelState_i = kernelStates.get(i); - var state_i = this.states[i]; - for (var j = 0; j < kernelState_i.coreSize(); j++) { - var rule_j = kernelState_i.getCore(j); - var lookahead = allLookaheads[i][rule_j.id]; - // console.log("Lookaheads in state " + i + " for rule #" + rule_j.id + " " + rule_j.toString(true) + ": " + lookahead); - if (lookahead) { - state_i.addRuleWithLookaheads(rule_j, lookahead); - // for (var k = 0; k < lookahead.size(); k++) - // state_i.addRule(RuleFactory.make(rule_j.name, rule_j.symbols, lookahead.get(k), rule_j.position)); - } - } - } - this.states = new SetOfSets(this.states, LR1Set.equals); - }, - - ////////////////////////////////// - // Algorithm 4.12 (p242) in Dragon book - applyLookaheads: function(spont, prop, rule_set, set_num) { - // console.log("-----------------------------\nRuleSet #" + set_num + " = " + rule_set); - for (var i = 0; i < rule_set.coreSize(); i++) { - var rule = rule_set.getCore(i); - var jPrime_rule = RuleFactory.make(rule.name, rule.symbols, HASH, rule.position); - var jPrime = this.closureCache[jPrime_rule]; - if (jPrime === undefined) - jPrime = this.closureCache[jPrime_rule] = this.completeClosure(new LR1Set([jPrime_rule]), true); - // console.log("\nClosure(" + jPrime_rule.toString(true) + ") = " + jPrime.toString()); - for (var a = 0; a < this.atoms.size(); a++) { - var symbol = this.atoms.get(a); - if (this.rnTable[set_num] === undefined || this.rnTable[set_num][symbol.asString] === undefined) { - continue; - } - var goto_set_num = this.rnTable[set_num][symbol.asString].push; - // console.log("GOTO(" + set_num + ", " + symbol + ") = " + goto_set_num); - - for (var j = 0; j < jPrime.coreSize(); j++) { - var rule_j = jPrime.getCore(j); - if (rule_j.position < rule_j.symbols.length && rule_j.symbols[rule_j.position].asString == symbol.asString) { - var lookaheads = jPrime.getLookaheads(j); - if (lookaheads !== undefined) { - for (var k = 0; k < lookaheads.size(); k++) { - if (lookaheads.get(k) !== HASH) { - var new_rule = RuleFactory.make(rule_j.name, rule_j.symbols, undefined, rule_j.position + 1); - if (spont[goto_set_num][new_rule.id] === undefined) - spont[goto_set_num][new_rule.id] = new KeyedSet("key"); - if (spont[goto_set_num][new_rule.id].add(lookaheads.get(k))) { - // console.log("Added " + lookaheads.get(k) + " to rule " + new_rule + " in set " + goto_set_num); - } - } else { - var new_rule = RuleFactory.make(rule_j.name, rule_j.symbols, undefined, rule_j.position + 1); - if (prop[set_num][goto_set_num] === undefined) - prop[set_num][goto_set_num] = {}; - if (prop[set_num][goto_set_num][rule.id] === undefined) - prop[set_num][goto_set_num][rule.id] = new IntSet(); - if (prop[set_num][goto_set_num][rule.id].add(new_rule.id)) { - // console.log("Propagating from " + rule + " in state " + set_num + " to " + new_rule + " in state " + goto_set_num); - } - } - } - } - } - } - } - } - }, - - - - - printTables: function() { - var ret = ""; - for (var i = 0; i < this.rnTable.length; i++) { - var str_action = "" - rnTable_i = this.rnTable[i]; - if (rnTable_i === undefined) { - var state = this.states.get(i); - ret += "No actions in state #" + i + ":" + (state ? state.toString() : "undefined!") + "\n"; - continue; - } - for (var j = 0; j < this.atoms.size(); j++) { - actions = this.rnTable[i][this.atoms.get(j)] - if (actions.accept) - str_action += "\n On " + this.atoms.get(j) + ", accept"; - if (actions.push !== undefined) - str_action += "\n On " + this.atoms.get(j) + ", " + actions.push; - if (actions.reductions && actions.reductions.size > 0) - str_action += "\n On " + this.atoms.get(j) + ", " + [...actions.reductions]; - } - var s = "In state #" + i + ":" + this.states.get(i).toString(); - if (this.acceptStates[i]) - s += " (ACCEPT STATE)"; - if (str_action) - s += "\n Actions:" + str_action; - if (s !== "") s += "\n"; - ret += s; - } - return ret; - }, - - checkForCycles: function() { - var cyclic = [] - for (var name in this.rules) - if (this.derivable[name][name]) - cyclic.push(name); - if (cyclic.length === 0) return false; - return cyclic; - } - - // ////////////////////////////////// - // // A LALR(1) ambiguity is a state/token pair that has multiple enabled actions - // // Returns a list of warning messages - // ////////////////////////////////// - // checkForLALRAmbiguity: function() { - // var ambiguities = [] - // for (var i = 0; i < this.rnTable.length; i++) { - // var tableRow = this.rnTable[i]; - // for (var name in tableRow) { - // if (tableRow.hasOwnProperty(name)) { - // var actions = tableRow[name]; - // if (actions.size() > 1) { - // ambiguities.push("In state #" + i + ", conflicting actions on token " + name + ": " + actions); - // } - // } - // } - // } - // return ambiguities; - // }, - - } - - - return { - Atom: Atom, - Nonterm: Nonterm, - Token: Token, - Rule: Rule, - Grammar: Grammar, - SetOfSets: SetOfSets, - EOF: EOF, - EPSILON: EPSILON, - SrcLoc: SrcLoc - }; -}); -define("pyret-base/js/pyret-tokenizer", ["jglr/jglr"], function(E) { - const SrcLoc = E.SrcLoc - const GenTokenizer = E.Tokenizer2; - const IGNORED_WS = {name: "WS"}; - - function Tokenizer(spec) { - [spec.keywords, spec.comments, spec.symbols].forEach(function(specs) { - for (var first in specs) - specs[first].forEach(function(s) { - if (s.parenIsForExp === true) - s.parenIsForExp = "PARENSPACE"; - else if (!s.parenIsForExp) - s.parenIsForExp = false; - }); - }); - for (var first in spec.keywords) { - spec.keywords[first].forEach(function(s) { s.noFollow = spec.keywordsNoFollow; }) - } - GenTokenizer.call(this, spec); - this.parenIsForExp = "PARENSPACE"; - } - Tokenizer.prototype = Object.create(GenTokenizer.prototype); - Tokenizer.prototype.tokenizeFrom = function(str) { - GenTokenizer.prototype.tokenizeFrom.call(this, str); - this.parenIsForExp = "PARENSPACE"; - } - Tokenizer.prototype.makeToken = function makeToken(tok_name, s, pos, tok_spec) { - var t = new E.Token(tok_name, s); - t.pos = pos; - this.parenIsForExp = tok_spec && tok_spec.parenIsForExp; - this.priorWhitespace = false; - return t; - }; - Tokenizer.prototype.makeWSToken = function makeWSToken(startLine, startCol, startPos) { - this.parenIsForExp = true; - this.priorWhitespace = true; - this.addWhitespace(SrcLoc.make(startLine, startCol, startPos, this.line, this.col, this.pos)); - return IGNORED_WS; - // var t = new E.Token("WS", this.str.slice(startPos, this.pos)); - // t.pos = SrcLoc.make(startLine, startCol, startPos, this.line, this.col, this.pos); - // // Note: do not change parenIsForExp at all - // return t; - } - - const escapes = new RegExp("^(.*?)\\\\([\\\\\"\'nrt]|u[0-9A-Fa-f]{1,4}|x[0-9A-Fa-f]{1,2}|[0-7]{1,3}|[\r\n]{1,2})"); - function fixEscapes(s) { - var ret = ""; - var match = escapes.exec(s); - while (match !== null) { - var esc = match[2]; - ret += match[1]; - s = s.slice(match[0].length); - if (esc === "\n") {} - else if (esc === "\r") {} - else if (esc === "\n\r") {} - else if (esc === "\r\n") {} - else if (esc === "n") { ret += "\n"; } - else if (esc === "r") { ret += "\r"; } - else if (esc === "t") { ret += "\t"; } - else if (esc === "\"") { ret += "\""; } - else if (esc === "'") { ret += "'"; } - else if (esc === "\\") { ret += "\\"; } - else if (esc[0] === 'u') { ret += String.fromCharCode(parseInt(esc.slice(1), 16)); } - else if (esc[0] === 'x') { ret += String.fromCharCode(parseInt(esc.slice(1), 16)); } - else { ret += String.fromCharCode(parseInt(esc, 8)); } - match = escapes.exec(s); - } - ret += s; - return ret; - } - - function makeTrie(kwds) { - var ans = Object.create(null); - for (var i = 0; i < kwds.length; i++) { - var firsts = kwds[i].firsts || [kwds[i].val[0]]; - firsts.forEach(function(first) { - var byFirst = ans[first]; - if (byFirst === undefined) - byFirst = ans[first] = []; - byFirst.push(kwds[i]); - }) - } - return ans; - } - function makeDict(str) { - var ans = {}; - for (var i = 0; i < str.length; i++) { - ans[str[i]] = true; - } - return ans; - } - - var keywords = makeTrie([ - {name: "AND", val: "and", parenIsForExp: true}, - {name: "AS", val: "as"}, - {name: "ASCENDING", val: "ascending"}, - {name: "ASK", val: "ask", parenIsForExp: true}, - {name: "BY", val: "by"}, - {name: "CASES", val: "cases"}, - {name: "CHECK", val: "check"}, - {name: "DATA", val: "data"}, - {name: "DESCENDING", val: "descending"}, - {name: "DO", val: "do"}, - {name: "RAISESNOT", val: "does-not-raise", parenIsForExp: true}, - {name: "ELSE", val: "else"}, - {name: "ELSEIF", val: "else if"}, - {name: "END", val: "end"}, - {name: "EXAMPLES", val: "examples", parenIsForExp: true}, - {name: "TABLE-EXTEND", val: "extend"}, - {name: "TABLE-EXTRACT", val: "extract"}, - {name: "FALSE", val: "false"}, - {name: "FOR", val: "for"}, - {name: "FROM", val: "from"}, - {name: "FUN", val: "fun"}, - {name: "HIDING", val: "hiding"}, - {name: "IF", val: "if"}, - {name: "IMPORT", val: "import"}, - {name: "INCLUDE", val: "include"}, - {name: "IS", val: "is", parenIsForExp: true}, - {name: "ISEQUALEQUAL", val: "is==", parenIsForExp: true}, - {name: "ISEQUALTILDE", val: "is=~", parenIsForExp: true}, - {name: "ISNOT", val: "is-not", parenIsForExp: true}, - {name: "ISNOTEQUALEQUAL", val: "is-not==", parenIsForExp: true}, - {name: "ISNOTEQUALTILDE", val: "is-not=~", parenIsForExp: true}, - {name: "ISNOTSPACESHIP", val: "is-not<=>", parenIsForExp: true}, - {name: "ISROUGHLY", val: "is-roughly", parenIsForExp: true}, - {name: "ISSPACESHIP", val: "is<=>", parenIsForExp: true}, - {name: "BECAUSE", val: "because", parenIsForExp: true}, - {name: "LAM", val: "lam"}, - {name: "LAZY", val: "lazy"}, - {name: "LET", val: "let"}, - {name: "LETREC", val: "letrec"}, - {name: "LOAD-TABLE", val: "load-table"}, - {name: "METHOD", val: "method"}, - {name: "MODULE", val: "module"}, - {name: "NEWTYPE", val: "newtype"}, - {name: "OF", val: "of"}, - {name: "OR", val: "or", parenIsForExp: true}, - {name: "PROVIDE", val: "provide"}, - {name: "PROVIDE-TYPES", val: "provide-types"}, - {name: "RAISES", val: "raises", parenIsForExp: true}, - {name: "RAISESOTHER", val: "raises-other-than", parenIsForExp: true}, - {name: "RAISESSATISFIES", val: "raises-satisfies", parenIsForExp: true}, - {name: "RAISESVIOLATES", val: "raises-violates", parenIsForExp: true}, - {name: "REACTOR", val: "reactor"}, - {name: "REC", val: "rec"}, - {name: "REF", val: "ref"}, - {name: "SANITIZE", val: "sanitize"}, - {name: "SATISFIES", val: "satisfies", parenIsForExp: true}, - {name: "TABLE-SELECT", val: "select"}, - {name: "SHADOW", val: "shadow"}, - {name: "TABLE-FILTER", val: "sieve"}, - {name: "SPY", val: "spy"}, - {name: "TABLE-ORDER", val: "order"}, - {name: "TABLE-UPDATE", val: "transform"}, - {name: "TRUE", val: "true"}, - {name: "TYPE", val: "type"}, - {name: "TYPE-LET", val: "type-let"}, - {name: "USING", val: "using"}, - {name: "USE", val: "use"}, - {name: "VAR", val: "var"}, - {name: "SATISFIESNOT", val: "violates", parenIsForExp: true}, - {name: "WHEN", val: "when", parenIsForExp: true} - ]); - const keywordsNoFollow = new Set("-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"); - - const wsString = " \f\n\r\t\v\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff"; - const whitespace = makeDict(wsString); - - const wsMustFollow = new Set(wsString); wsMustFollow.add("#"); wsMustFollow.add(undefined); // EOF - - //const identChars = new RegExp("[_a-zA-Z][_a-zA-Z0-9]*(?:-+[_a-zA-Z0-9]+)*", "g"); - const identChars = makeDict("_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); - - - // const unsigned_decimal_part = "[0-9]+(?:\\.[0-9]+)?(?:[eE][-+]?[0-9]+)?"; - // const unsigned_rational_part = "[0-9]+/[0-9]+"; - - // const number = new RegExp("[-+]?" + unsigned_decimal_part, "g"); - - const badNumber = new RegExp("~?[+-]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?", "g"); - - // const roughnum = new RegExp("~[-+]?" + unsigned_decimal_part, "g"); - - // const rational = new RegExp("[-+]?" + unsigned_rational_part, "g"); - - // const roughrational = new RegExp("~[-+]?" + unsigned_rational_part, "g"); - - const badOp = new RegExp("(?:\\^|\\+|-|\\*|/|<=|>=|<=>|>=|==|=~|<>|<|>|<-)", "g"); - - const tquot_str = - new RegExp("```(?:" + - "\\\\[01234567]{1,3}" + - "|\\\\x[0-9a-fA-F]{1,2}" + - "|\\\\u[0-9a-fA-F]{1,4}" + - "|\\\\[\\\\nrt\"\'`]" + - "|`{1,2}(?!`)" + - "|[^`\\\\])*```", "g"); // NOTE: Allow unescaped newlines - const dquot_str = - new RegExp("\"(?:" + - "\\\\[01234567]{1,3}" + - "|\\\\x[0-9a-fA-F]{1,2}" + - "|\\\\u[0-9a-fA-F]{1,4}" + - "|\\\\[\\\\nrt\"\']" + - "|[^\\\\\"\n\r])*\"", "g"); - const squot_str = - new RegExp("\'(?:" + - "\\\\[01234567]{1,3}" + - "|\\\\x[0-9a-fA-F]{1,2}" + - "|\\\\u[0-9a-fA-F]{1,4}" + - "|\\\\[\\\\nrt\"\']" + - "|[^\\\\\'\n\r])*\'", "g"); - - const unterminated_string = new RegExp("(?:[\"\']|```).*", "g"); - const octit = makeDict("01234567"); - const digit = makeDict("0123456789"); - const hexit = makeDict("0123456789abcdefABCDEF"); - - var symbols = makeTrie([ - {name: "BLOCK", val: "block:", parenIsForExp: true}, - {name: "CHECKCOLON", val: "check:", parenIsForExp: true}, - {name: "DOC", val: "doc:", parenIsForExp: true}, - {name: "ELSECOLON", val: "else:", parenIsForExp: true}, - {name: "EXAMPLESCOLON", val: "examples:", parenIsForExp: true}, - {name: "OTHERWISECOLON", val: "otherwise:", parenIsForExp: true}, - {name: "PROVIDECOLON", val: "provide:", parenIsForExp: true}, - {name: "ROW", val: "row:"}, - {name: "SHARING", val: "sharing:", parenIsForExp: true}, - {name: "SOURCECOLON", val: "source:"}, - {name: "TABLE", val: "table:"}, - {name: "THENCOLON", val: "then:", parenIsForExp: true}, - {name: "WHERE", val: "where:", parenIsForExp: true}, - {name: "WITH", val: "with:", parenIsForExp: true}, - {name: "LBRACK", val: "[", parenIsForExp: true}, - {name: "RBRACK", val: "]"}, - {name: "LBRACE", val: "{", parenIsForExp: "PARENAFTERBRACE"}, - {name: "RBRACE", val: "}"}, - { name: "LPAREN", val: "(", parenIsForExp: true, - process: function processLParen(tok_spec) { - var tok_type = this.parenIsForExp || "PARENNOSPACE"; - if (this.priorWhitespace) - tok_type = "PARENSPACE"; - var line = this.curLine, col = this.curCol, pos = this.pos; - this.curCol++; - this.pos++; - return this.makeToken(tok_type, "(", - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - }}, - {name: "RPAREN", val: ")"}, - {name: "SEMI", val: ";"}, - {name: "BACKSLASH", val: "\\"}, - {name: "DOTDOTDOT", val: "..."}, - {name: "DOT", val: ".", noFollow: new Set("1234567890")}, - {name: "BANG", val: "!"}, - {name: "PERCENT", val: "%"}, - {name: "COMMA", val: ",", parenIsForExp: true}, - {name: "THINARROW", val: "->"}, - {name: "COLONEQUALS", val: ":=", parenIsForExp: true}, - {name: "COLON", val: ":", parenIsForExp: true}, - {name: "BAR", val: "|", parenIsForExp: true}, - {name: "EQUALS", val: "=", noFollow: new Set("~"), parenIsForExp: true}, - {name: "LANGLE", val: "<", noFollow: new Set(">=")}, - {name: "STAR", val: "*", noFollow: new Set(wsString), needsWs: true, parenIsForExp: true}, - {name: "RANGLE", val: ">", noFollow: new Set("=")}, - { name: "NUMBER", val: "", firsts: new Set("~-+1234567890"), - process: function tokenizeNumber(tok_spec) { - var match = undefined; - var line = this.curLine, col = this.curCol, pos = this.pos; - var tok_type = ""; - var rough = false; - if (this.str[this.pos] === "~") { - rough = true; - this.pos++; this.curCol++; - } - if (this.str[this.pos] === "-" || this.str[this.pos] === "+") { - this.pos++; this.curCol++; - } - if (this.str[this.pos] === ".") { // BAD-NUMBER - this.pos = pos; this.curCol = col; - return undefined; - } - if (digit[this.str[this.pos]]) { - // Integer portion, or numerator - this.pos++; this.curCol++; - while (digit[this.str[this.pos]]) { - this.pos++; this.curCol++; - } - if (this.str[this.pos] === "/") { // fraction - this.pos++; this.curCol++; - if (digit[this.str[this.pos]]) { - this.pos++; this.curCol++; - while (digit[this.str[this.pos]]) { - this.pos++; this.curCol++; - } - this.parenIsForExp = false; - this.priorWhitespace = false; - return this.makeToken(rough ? "ROUGHRATIONAL" : "RATIONAL", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } else { - this.pos = pos; this.curCol = col; - return undefined; - } - } - if (this.str[this.pos] === ".") { - this.pos++; this.curCol++; - // decimal portion - if (digit[this.str[this.pos]]) { - this.pos++; this.curCol++; - while (digit[this.str[this.pos]]) { - this.pos++; this.curCol++; - } - } else { - this.pos--; this.curCol--; - this.parenIsForExp = false; - this.priorWhitespace = false; - return this.makeToken("NUMBER", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - } - if (this.str[this.pos] === "e" || this.str[this.pos] === "E") { - var advance = this.pos + 1; - if (this.str[advance] === "+" || this.str[advance] === "-") { - advance++; - } - if (digit[this.str[advance]]) { - advance++; - while (digit[this.str[advance]]) { - advance++; - } - this.curCol += (advance - this.pos); - this.pos = advance; - this.parenIsForExp = false; - this.priorWhitespace = false; - return this.makeToken("NUMBER", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - } - this.parenIsForExp = false; - this.priorWhitespace = false; - return this.makeToken("NUMBER", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - // BAD-NUMBER - this.pos = pos; this.curCol = col; - return undefined; - } - - /*function tokenizeNumber(tok_spec) { - var match = undefined; - var line = this.curLine, col = this.curCol, pos = this.pos; - var tok_type = ""; - number.lastIndex = this.pos; - roughnum.lastIndex = this.pos; - rational.lastIndex = this.pos; - roughrational.lastIndex = this.pos; - var rough = (this.str[this.pos] === "~") - if (rough) { - if ((this.str[this.pos + 1] === ".") || - ((this.str[this.pos + 1] === "-" || this.str[this.pos + 1] === "+") && this.str[this.pos + 2] === ".")) { - return undefined; - } else if ((match = roughrational.exec(this.str)) && match.index === this.pos) { - tok_type = "ROUGHRATIONAL"; - } else if ((match = rational.exec(this.str)) && match.index === this.pos) { - tok_type = "RATIONAL"; - } - } else if ((match = roughnum.exec(this.str)) && match.index === this.pos) { - tok_type = "NUMBER"; - } else if ((match = number.exec(this.str)) && match.index === this.pos) { - tok_type = "NUMBER"; - } else { - return undefined; - } - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken(tok_type, match[0], - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - }*/ - }, - { name: "BAD-NUMBER", val: "", firsts: new Set("~-+."), - process: function tokenizeNumber(tok_spec) { - var match = undefined; - var line = this.curLine, col = this.curCol, pos = this.pos; - var tok_type = ""; - badNumber.lastIndex = this.pos; - if ((match = badNumber.exec(this.str))) { - tok_type = "BAD-NUMBER"; - } else { - return undefined; - } - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken(tok_type, match[0], - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - }}, - { name: "NAME", val: "", firsts: new Set("_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), - process: function tokenizeName(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - this.pos++; this.curCol++; - while (this.pos < this.len) { - if (identChars[this.str[this.pos]]) { - this.pos++; this.curCol++; - } else if (this.str[this.pos] === "-") { - var front = this.pos + 1; - while (this.str[front] === "-") - front++; - if (identChars[this.str[front]]) { - this.curCol += (front - this.pos); - this.pos = front; - } else { - break; - } - } else { - break; - } - } - return this.makeToken("NAME", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - }}, - { name: "STRING", val: "\"", - process: function tokenizeDQString(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - dquot_str.lastIndex = this.pos; - unterminated_string.lastIndex = this.pos; - if ((match = dquot_str.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } else if ((match = unterminated_string.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - }}, - { name: "STRING", val: "'", - process: function tokenizeSQString(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - squot_str.lastIndex = this.pos; - unterminated_string.lastIndex = this.pos; - if ((match = squot_str.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos)); - } else if ((match = unterminated_string.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - }}, - { name: "STRING", val: "```", - process: function tokenizeTQString(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - tquot_str.lastIndex = this.pos; - unterminated_string.lastIndex = this.pos; - if ((match = tquot_str.exec(this.str))) { - this.pos += match[0].length; - var lines = match[0].split("\n"); // From jsPerf, this is UNBELIEVABLY much faster than the prior implementation - this.curLine += lines.length - 1; - if (lines.length === 1) - this.curCol += match[0].length; - else - this.curCol = lines[lines.length - 1].length; - return this.makeToken("STRING", fixEscapes(this.str.slice(pos, this.pos)), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } else if ((match = unterminated_string.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - return this.makeToken("UNTERMINATED-STRING", this.str.slice(pos, this.pos), // no escaping - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } - }}, - {name: "CARET", val: "^", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "PLUS", val: "+", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "DASH", val: "-", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "TIMES", val: "*", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "SLASH", val: "/", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "SPACESHIP", val: "<=>", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "LEQ", val: "<=", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "GEQ", val: ">=", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "EQUALEQUAL", val: "==", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "EQUALTILDE", val: "=~", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "NEQ", val: "<>", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "LT", val: "<", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "GT", val: ">", mustFollow: wsMustFollow, needsWs: true, parenIsForExp: true}, - {name: "THICKARROW", val: "=>", mustFollow: wsMustFollow, parenIsForExp: true}, - {name: "COLONCOLON", val: "::", mustFollow: wsMustFollow, parenIsForExp: true}, - { name: "BAD-OPER", val: "", firsts: new Set("^+-*/\<>="), - process: function tokenizeBadOper(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - badOp.lastIndex = this.pos; - var match; - if ((match = badOp.exec(this.str))) { - this.pos += match[0].length; - this.curCol += match[0].length; - this.parenIsForExp = false; - this.priorWhitespace = false; - return this.makeToken("BAD-OPER", this.str.slice(pos, this.pos), - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - tok_spec); - } else { - return undefined; - } - }} - ]); - - - const comments = makeTrie([ - { name: "BLOCKCOMMENT", val: "#|", - process: function tokenizeBlockComment(tok_spec) { - var nestingDepth = 1; - var line = this.curLine, col = this.curCol, pos = this.pos; - this.pos += 2; this.curCol += 2; - while (nestingDepth > 0 && this.pos < this.len) { - if (this.str.startsWith("#|", this.pos)) { - nestingDepth++; - this.pos += 2; - this.curCol += 2; - } else if (this.str.startsWith("|#", this.pos)) { - nestingDepth--; - this.pos += 2; - this.curCol += 2; - } else if (this.str[this.pos] === "\n") { - this.curLine++; - this.curCol = 0; - this.pos++; - } else { - this.pos++; - this.curCol++; - } - } - if (nestingDepth === 0) { - return this.makeWSToken(line, col, pos); - } else { - var ws_loc = SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos); - return this.makeToken("UNTERMINATED-BLOCK-COMMENT", this.str.slice(pos, this.pos), ws_loc, tok_spec); - } - }}, - { name: "COMMENT", val: "#", - process: function tokenizeLineComment(tok_spec) { - var line = this.curLine, col = this.curCol, pos = this.pos; - while (this.pos < this.len && this.str[this.pos] !== "\n" && this.str[this.pos] !== "\r") { - this.pos++; - this.curCol++; - } - return this.makeToken("COMMENT", ""/*this.str.slice(pos, this.pos)*/, line, col, pos); - }} - ]); - - const spec = { - keywords, - keywordsNoFollow, - symbols, - whitespace, - comments, - ignore: new Set(["WS", "COMMENT"]) - }; - - - return { - 'Tokenizer': new Tokenizer(spec) - }; -}); -"use strict"; -define("pyret-base/js/codePoint", [], function() { - - /* NOTE(joe): Polyfills for Unicode, from - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt - * - * *Not* adding them as methods on String because that breaks sandbox guarantees - * in things like Caja, so just make them functions available in this scope - */ - /*! http://mths.be/codepointat v0.1.0 by @mathias */ - var codePointAt = function(string, position) { - var size = string.length; - // `ToInteger` - var index = position ? Number(position) : 0; - if (index != index) { // better `isNaN` - index = 0; - } - // Account for out-of-bounds indices: - if (index < 0 || index >= size) { - return undefined; - } - // Get the first code unit - var first = string.charCodeAt(index); - var second; - if ( // check if it is the start of a surrogate pair - first >= 0xD800 && first <= 0xDBFF && // high surrogate - size > index + 1 // there is a next code unit - ) { - second = string.charCodeAt(index + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - return first; - }; - - /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ - var stringFromCharCode = String.fromCharCode; - var floor = Math.floor; - var fromCodePoint = function(codePoints) { - var MAX_SIZE = 0x4000; - var codeUnits = []; - var highSurrogate; - var lowSurrogate; - var index = -1; - var length = arguments.length; - if (!length) { - return ''; - } - var result = ''; - while (++index < length) { - var codePoint = Number(arguments[index]); - if ( - !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` - codePoint < 0 || // not a valid Unicode code point - codePoint > 0x10FFFF || // not a valid Unicode code point - floor(codePoint) != codePoint // not an integer - ) { - throw RangeError('Invalid code point: ' + codePoint); - } - if (codePoint <= 0xFFFF) { // BMP code point - codeUnits.push(codePoint); - } else { // Astral code point; split in surrogate halves - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xD800; - lowSurrogate = (codePoint % 0x400) + 0xDC00; - codeUnits.push(highSurrogate, lowSurrogate); - } - if (index + 1 == length || codeUnits.length > MAX_SIZE) { - result += stringFromCharCode.apply(null, codeUnits); - codeUnits.length = 0; - } - } - return result; - }; - - return { - codePointAt: codePointAt, - fromCodePoint: fromCodePoint - }; -}); -define("pyret-base/js/secure-loader", ["q", "pyret-base/js/runtime-util"], function(Q, util) { - function compileInNewScriptContext(src) { - var promise = Q.defer(); - var loader_callback_count = 0; - if(util.isBrowser()) { - loader_callback_count += 1 - var callback = "loader_callback_" + loader_callback_count; - window[callback] = function(result) { - document.body.removeChild(script); - delete window[callback]; - promise.resolve(result); - } - var script = document.createElement("script"); - script.innerHTML = "(window['" + callback + "'](" + src + "));"; - document.body.appendChild(script); - return promise.promise; - } - else { - var VM = require("vm"); - } - } - var ourCajaVM; - function unsafeCaja() { - var compileExpr = function(src) { - return function(env) { - var define = env.define; - return Function("define", src)(define); - } - }; - ourCajaVM = { compileExpr: compileExpr }; - } - if(util.isBrowser()) { - // caja.js had better be on the page already - if(typeof caja === "undefined") { - console.warn("Page was loaded without SES, so evals will be unguarded. Does this page load https://caja.appspot.com/caja.js?"); - unsafeCaja(); - } - else { - caja.initialize({ - debug: true, - forceES5Mode: true - }); - caja.load(undefined, undefined, function(frame) { - ourCajaVM = { - compileExpr: function(s) { - return function(env) { frame.code("https://", "application/javascript", s).api(env).run(); } - } - }; - }); - } - } - else { - var FS = require("fs"); - var VM = require("vm"); - - var RUN_SES = false; // NOTE(joe): skipping on servers for now; SES isn't really there yet - if(RUN_SES) { - var source = FS.readFileSync(require.nodeRequire.resolve("ses/initSES.js")); - var oldLog = console.log; - console.log = function() { /* intentional no-op to suppress SES logging */ } - var script = new VM.Script(source); - script.runInThisContext(); - ourCajaVM = cajaVM; - console.log = oldLog; - } else { - unsafeCaja(); - } - } - - function safeEval(string, env) { - var f = ourCajaVM.compileExpr(string); - return f(env); - } - - function loadClosure(runtime, mod, dependencies) { - var deferred = Q.defer(); - try { - var answer = mod.apply(null, dependencies); - deferred.resolve(answer); - } catch(e) { - deferred.reject(e); - } - return deferred.promise; - } - - - function loadSingle(runtime, src, dependencies) { - var deferred = Q.defer(); - try { - safeEval(src, { - define: function(_, body) { - try { - // NOTE(joe): dependencies should be empty list, or the whole - // object should just be passed in here - var moduleAsObject = body.apply(null, dependencies); - // NOTE(joe): modules should be objects, but old ones are - // functions - if(typeof moduleAsObject === "function") { - deferred.resolve(moduleAsObject); - } - else { - deferred.resolve(moduleAsObject.theModule.apply(null, dependencies)); - } - } catch(e) { - deferred.reject(e); - } - } - }); - } - catch(e) { - deferred.reject(e); - } - return deferred.promise; - } - - function goodIdea(runtime, name, src) { - var deferred = Q.defer(); - require.undef(name); - try { - safeEval(src, { define: function(deps, body) { - define(name, deps, body); - function success(val) { - deferred.resolve(val); - } - // Since requirejs seems to not call our errback, use its global - // error handler. - var oldOnError = require.onError; - require.onError = function(err) { - require.onError = oldOnError; - var names = []; - for(var i = 0; i < err.requireModules.length; i++) { - require.undef(err.requireModules[i]); - names.push(err.requireModules[i]); - } - deferred.reject(runtime.makePyretFailException(runtime.ffi.makeModuleLoadFailureL(names))); - }; - require([name], success); - } - }); - } - catch(e) { - deferred.reject(e); - } - return deferred.promise; - } - - return { - safeEval: safeEval, - goodIdea: goodIdea, - loadSingle: loadSingle, - loadClosure: loadClosure, - compileInNewScriptContext: compileInNewScriptContext, - } -}); -define("jglr/cyclicJSON", [], function() { -/* - cycle.js - 2013-02-19 - - Public Domain. - - NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. - - This code should be minified before deployment. - See http://javascript.crockford.com/jsmin.html - - USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO - NOT CONTROL. -*/ - -/*jslint evil: true, regexp: true */ - -/*members $ref, apply, call, decycle, hasOwnProperty, length, prototype, push, - retrocycle, stringify, test, toString -*/ -////////////////////////////////// -if (typeof JSON.decycle !== 'function') { - JSON.decycle = function decycle(object) { - 'use strict'; - - // Make a deep copy of an object or array, assuring that there is at most - // one instance of each object or array in the resulting structure. The - // duplicate references (which might be forming cycles) are replaced with - // an object of the form - // {$ref: PATH} - // where the PATH is a JSONPath string that locates the first occurance. - // So, - // var a = []; - // a[0] = a; - // return JSON.stringify(JSON.decycle(a)); - // produces the string '[{"$ref":"$"}]'. - - // JSONPath is used to locate the unique object. $ indicates the top level of - // the object or array. [NUMBER] or [STRING] indicates a child member or - // property. - - var objects = [], // Keep a reference to each unique object or array - paths = []; // Keep the path to each unique object or array - - return (function derez(value, path) { - - // The derez recurses through the object, producing the deep copy. - - var i, // The loop counter - name, // Property name - nu; // The new object or array - - // typeof null === 'object', so go on if this value is really an object but not - // one of the weird builtin objects. - - if (typeof value === 'object' && value !== null && - !(value instanceof Boolean) && - !(value instanceof Date) && - !(value instanceof Number) && - !(value instanceof RegExp) && - !(value instanceof String)) { - - // If the value is an object or array, look to see if we have already - // encountered it. If so, return a $ref/path object. This is a hard way, - // linear search that will get slower as the number of unique objects grows. - - for (i = 0; i < objects.length; i += 1) { - if (objects[i] === value) { - return {$ref: paths[i]}; - } - } - - // Otherwise, accumulate the unique value and its path. - - objects.push(value); - paths.push(path); - - // If it is an array, replicate the array. - - if (Object.prototype.toString.apply(value) === '[object Array]') { - nu = []; - for (i = 0; i < value.length; i += 1) { - nu[i] = derez(value[i], path + '[' + i + ']'); - } - } else { - - // If it is an object, replicate the object. - - nu = {}; - for (name in value) { - if (Object.prototype.hasOwnProperty.call(value, name)) { - nu[name] = derez(value[name], - path + '[' + JSON.stringify(name) + ']'); - } - } - } - return nu; - } - return value; - }(object, '$')); - }; -} - - -if (typeof JSON.retrocycle !== 'function') { - JSON.retrocycle = function retrocycle($) { - 'use strict'; - - // Restore an object that was reduced by decycle. Members whose values are - // objects of the form - // {$ref: PATH} - // are replaced with references to the value found by the PATH. This will - // restore cycles. The object will be mutated. - - // The eval function is used to locate the values described by a PATH. The - // root object is kept in a $ variable. A regular expression is used to - // assure that the PATH is extremely well formed. The regexp contains nested - // * quantifiers. That has been known to have extremely bad performance - // problems on some browsers for very long strings. A PATH is expected to be - // reasonably short. A PATH is allowed to belong to a very restricted subset of - // Goessner's JSONPath. - - // So, - // var s = '[{"$ref":"$"}]'; - // return JSON.retrocycle(JSON.parse(s)); - // produces an array containing a single element which is the array itself. - - var px = - /^\$(?:\[(?:\d+|\"(?:[^\\\"\u0000-\u001f]|\\([\\\"\/bfnrt]|u[0-9a-zA-Z]{4}))*\")\])*$/; - - (function rez(value) { - - // The rez function walks recursively through the object looking for $ref - // properties. When it finds one that has a value that is a path, then it - // replaces the $ref object with a reference to the value that is found by - // the path. - - var i, item, name, path; - - if (value && typeof value === 'object') { - if (Object.prototype.toString.apply(value) === '[object Array]') { - for (i = 0; i < value.length; i += 1) { - item = value[i]; - if (item && typeof item === 'object') { - path = item.$ref; - if (typeof path === 'string' && px.test(path)) { - value[i] = eval(path); - } else { - rez(item); - } - } - } - } else { - for (name in value) { - if (typeof value[name] === 'object') { - item = value[name]; - if (item) { - path = item.$ref; - if (typeof path === 'string' && px.test(path)) { - value[name] = eval(path); - } else { - rez(item); - } - } - } - } - } - } - }($)); - return $; - }; -} -}); -define("jglr/jglr", ["jglr/rnglr"], function(E) { - const SrcLoc = E.SrcLoc - const NS_PER_SEC = 1e9; - var start; - function startTimer() { - if (typeof window !== "undefined" && window.performance) { - start = window.performance.now(); - } else if (typeof process !== "undefined" && process.hrtime) { - start = process.hrtime(); - } - } - function endTimer() { - if (typeof window !== "undefined" && window.performance) { - return window.performance.now() - start; - } else if (typeof process !== "undefined" && process.hrtime) { - return process.hrtime(start); - } - } - - /*! https://mths.be/startswith v0.2.0 by @mathias */ - if (!String.prototype.startsWith) { - (function() { - 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` - var defineProperty = (function() { - // IE 8 only supports `Object.defineProperty` on DOM elements - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch(error) {} - return result; - }()); - var toString = {}.toString; - var startsWith = function(search) { - if (this == null) { - throw TypeError(); - } - var string = String(this); - if (search && toString.call(search) == '[object RegExp]') { - throw TypeError(); - } - var stringLength = string.length; - var searchString = String(search); - var searchLength = searchString.length; - var position = arguments.length > 1 ? arguments[1] : undefined; - // `ToInteger` - var pos = position ? Number(position) : 0; - if (pos != pos) { // better `isNaN` - pos = 0; - } - var start = Math.min(Math.max(pos, 0), stringLength); - // Avoid the `indexOf` call if no match is possible - if (searchLength + start > stringLength) { - return false; - } - var index = -1; - while (++index < searchLength) { - if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) { - return false; - } - } - return true; - }; - if (defineProperty) { - defineProperty(String.prototype, 'startsWith', { - 'value': startsWith, - 'configurable': true, - 'writable': true - }); - } else { - String.prototype.startsWith = startsWith; - } - }()); - } - - - - - ////////////////////////////////////////////////// - ///////////////////////// Old Tokenizer - ////////////////////////////////////////////////// - - var Tokenizer = (function() { - function Tokenizer(ignore_ws, Tokens) { - this.ignore_ws = ignore_ws; - this.Tokens = Tokens; - } - Tokenizer.prototype.isEOF = function(tok) { return tok === E.EOF; } - Tokenizer.prototype.tokenizeFrom = function(str) { - this.str = str; - this.curLine = 1; - this.curCol = 0; - this.pos = 0; - this.len = str.length; - delete this.curTok; - delete E.EOF.pos; - SrcLoc.reset(); - this.times = {}; - } - const STICKY_REGEXP = ''; //(function() { try { new RegExp("", 'y'); return 'y' } catch(e) { return ''; }})(); - - Tokenizer.prototype.hasNext = function() { return this.pos <= this.len; } - Tokenizer.prototype.isEmpty = function() { return this.length == 0; } - if (STICKY_REGEXP === 'y') { - Tokenizer.prototype.positionTokenRegexp = function(tok) { tok.val.lastIndex = this.pos; }; - Tokenizer.prototype.updateString = function(match) { }; - Tokenizer.prototype.updatePosition = function(tok, match) { this.pos = tok.val.lastIndex; }; - } else { - Tokenizer.prototype.positionTokenRegexp = function(tok) { }; - Tokenizer.prototype.updateString = function(match) { this.str = this.str.slice(match[0].length); }; - Tokenizer.prototype.updatePosition = function(tok, match) { this.pos += match[0].length; }; - } - Tokenizer.prototype.makeToken = function (tok_type, s, pos) { - var t = new E.Token(tok_type, s); - t.pos = pos; - return t; - } - Tokenizer.prototype.postProcessMatch = function(tok, match, str) { return tok.name; } - Tokenizer.prototype.unshiftToken = function(prev_tok) { this.curTok = prev_tok; } - Tokenizer.prototype.next = function() { - delete this.skippedWhitespace; - startTimer(); - while (this.hasNext()) { // Surround the tokenizer loop... - if (this.pos == this.len) { - this.pos++; - E.EOF.pos = SrcLoc.make(this.curLine, this.curCol, this.pos, this.curLine, this.curCol, this.pos); - this.curTok = E.EOF; - return E.EOF; - } - for (var i = 0; i < this.Tokens.length; i++) { - var tok = this.Tokens[i]; - this.positionTokenRegexp(tok); - var match = tok.val.exec(this.str); - if (match !== null) { - var tok_type = this.postProcessMatch(tok, match, this.str); - this.updateString(match); - var p = this.pos; - var l = this.curLine; - var c = this.curCol; - var s = match[0]; - var lines = s.split("\n").length - 1; // From jsPerf, this is UNBELIEVABLY much faster than the prior implementation - this.updatePosition(tok, match); - this.curLine += lines; - if (lines === 0) - this.curCol += s.length; - else - this.curCol = s.length - s.lastIndexOf("\n") - 1; - if (this.ignore_ws && (tok_type === "WS" || tok_type === "COMMENT")) { - // ... in case we're ignoring whitespace - var endT = endTimer(); - if (this.times[tok_type] === undefined) this.times[tok_type] = []; - this.times[tok_type].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); - var newWS = SrcLoc.make(l, c, p, this.curLine, this.curCol, this.pos); - if (this.skippedWhitespace === undefined) - this.skippedWhitespace = newWS; - else - this.skippedWhitespace = this.skippedWhitespace.combine(newWS); - break; - } - var t = this.makeToken(tok_type, s, SrcLoc.make(l, c, p, this.curLine, this.curCol, this.pos)); - this.curTok = t; - var endT = endTimer(); - if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; - this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); - return t; - } - } - } - } - - return Tokenizer; - })(); - - ////////////////////////////////////////////////// - ///////////////////////// New Tokenizer - ////////////////////////////////////////////////// - - var Tokenizer2 = (function() { - const ws = new RegExp("\\s+", "g"); - - function merge(dest, src) { - for (var first in src) { - var cur = dest[first]; - if (cur === undefined) - cur = dest[first] = []; - var ext = src[first]; - for (var i = 0; i < ext.length; i++) { - cur.push(ext[i]); - } - } - } - - function Tokenizer(spec) { - this.ignore = spec.ignore; - - this.whitespace = spec.whitespace; - this.keywords = Object.create(null); - merge(this.keywords, spec.symbols); - merge(this.keywords, spec.comments); - merge(this.keywords, spec.keywords); - for (var first in this.keywords) { - this.keywords[first].sort(function(a, b) { - // sort in descending length, then by which needs priorWhitespace, then alphabetically - if (b.val.length === a.val.length) { - if (a.needsWs && !b.needsWs) return -1; - if (b.needsWs && !a.needsWs) return 1; - return (a < b) ? -1 : 0; - } - return b.val.length - a.val.length; - }); - } - } - Tokenizer.prototype.tokenizeFrom = function(str) { - if (typeof str.normalize === "function") - this.str = str.normalize("NFC"); - else - this.str = str; - - this.len = str.length; // XXX Not necessarily unicode-aware - this.curCol = 0; - this.curLine = 1; - this.pos = 0; - this.priorWhitespace = true; - delete this.curTok; - delete E.EOF.pos; - SrcLoc.reset(); - this.times = {}; - } - Tokenizer.prototype.isEOF = function(tok) { return tok === E.EOF; } - Tokenizer.prototype.isEmpty = function() { return this.length == 0; } - Tokenizer.prototype.hasNext = function() { return this.pos <= this.len; } - Tokenizer.prototype.unshiftToken = function(prev_tok) { this.curTok = prev_tok; } - Tokenizer.prototype.addWhitespace = function(ws_loc) { - if (this.skippedWhitespace === undefined) - this.skippedWhitespace = ws_loc; - else - this.skippedWhitespace = this.skippedWhitespace.combine(ws_loc); - } - Tokenizer.prototype.next = function() { - delete this.skippedWhitespace; - this.curTok = undefined; - var startT = startTimer(); - while (this.curTok === undefined && this.hasNext()) { - if (this.pos == this.len) { - this.pos++; - this.curCol++; - E.EOF.pos = SrcLoc.make(this.curLine, this.curCol, this.pos, this.curLine, this.curCol, this.pos); - this.curTok = E.EOF; - return E.EOF; - } - var c = this.str[this.pos]; // XXX not unicode aware - var candidates = this.keywords[c]; - var line = this.curLine, col = this.curCol, pos = this.pos; - if (candidates) { - for (var i = 0; i < candidates.length; i++) { - var candidate = candidates[i]; - if (this.str.startsWith(candidate.val, this.pos)) { - if (candidate.process) { - this.curTok = candidate.process.call(this, candidate); - if (this.curTok) break; - } else { - var noFollow = candidate.noFollow; - var mustFollow = candidate.mustFollow; - var match = false; - if (candidate.needsWs && !this.priorWhitespace) { - match = false; - } else if (!noFollow && !mustFollow) { - match = true; - } else if (noFollow && !noFollow.has(this.str[this.pos + candidate.val.length])) { - match = true; - } else if (mustFollow && mustFollow.has(this.str[this.pos + candidate.val.length])) { - match = true; - } - if (match) { - this.curCol += candidate.val.length; - this.pos += candidate.val.length; - var t = this.makeToken(candidate.name, candidate.val, - SrcLoc.make(line, col, pos, this.curLine, this.curCol, this.pos), - candidate); - this.priorWhitespace = false; - this.curTok = t; - break; - } - } - } - } - } - // Handle whitespace - if (this.curTok === undefined && this.whitespace[c]) { - this.priorWhitespace = true; - while (this.whitespace[c]) { - this.pos++; - this.curCol++; - if (c === "\n") { - this.curLine++; - this.curCol = 0; - } - c = this.str[this.pos]; // XXX not unicode aware - } - this.curTok = this.makeWSToken(line, col, pos); - } - if (this.curTok === undefined) { - // FAILOVER - var t = this.makeToken("UNKNOWN", this.str[this.pos], - SrcLoc.make(line, col, pos, line, col + 1, pos + 1)); - this.curCol++; - this.pos++; - this.curTok = t; - } - - if (this.ignore.has(this.curTok.name)) { - var endT = endTimer(); - if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; - this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); - this.curTok = undefined; - } - } - var endT = endTimer(); - if (this.times[this.curTok.name] === undefined) this.times[this.curTok.name] = []; - this.times[this.curTok.name].push((endT[0] * NS_PER_SEC + endT[1]) / NS_PER_SEC); - return this.curTok; - } - - return Tokenizer; - })(); - - return { - 'Tokenizer': Tokenizer, - 'Tokenizer2': Tokenizer2, - 'STICKY_REGEXP': '', - 'Atom': E.Atom, - 'Nonterm': E.Nonterm, - 'Token': E.Token, - 'Rule': E.Rule, - 'Grammar': E.Grammar, - 'SetOfSets': E.SetOfSets, - 'EOF': E.EOF, - 'EPSILON': E.EPSILON, - 'SrcLoc': E.SrcLoc - }; -}); -define('pyret-base/js/pyret-parser', ['jglr/jglr'], -/** @param {{Grammar : {fromSerializable : !Function}, Nonterm : !Object, Token : !Object, Rule : !Object}} E */ -function(E) { - const Grammar = E.Grammar; - const Nonterm = E.Nonterm; - const Token = E.Token; - const Rule = E.Rule; - - var g_json = { - "version": 1, - "start": "START", - "name": "PyretGrammar", - "acceptStates": [ - 1 - ], - "mode": "RNGLR", - "rulesByOldId": { - "0": { - "name": "program", - "symbols": [ - "@prelude", - "@block" - ] - }, - "1": { - "name": "prelude", - "symbols": [ - "@prelude_I0?", - "@prelude_I1*" - ] - }, - "2": { - "name": "prelude_I0?", - "symbols": [] - }, - "3": { - "name": "prelude_I0?", - "symbols": [ - "@prelude_I0" - ] - }, - "4": { - "name": "prelude_I0", - "symbols": [ - "@use-stmt" - ] - }, - "5": { - "name": "prelude_I1*", - "symbols": [] - }, - "6": { - "name": "prelude_I1*", - "symbols": [ - "@prelude_I1*", - "@prelude_I1" - ] - }, - "7": { - "name": "prelude_I1", - "symbols": [ - "@provide-stmt" - ] - }, - "8": { - "name": "prelude_I1", - "symbols": [ - "@import-stmt" - ] - }, - "9": { - "name": "use-stmt", - "symbols": [ - "'USE", - "'NAME", - "@import-source" - ] - }, - "10": { - "name": "import-stmt", - "symbols": [ - "'INCLUDE", - "@import-source" - ] - }, - "11": { - "name": "import-stmt", - "symbols": [ - "'INCLUDE", - "'FROM", - "@module-ref", - "'COLON", - "@import-stmt_A1_I4?", - "'END" - ] - }, - "12": { - "name": "import-stmt_A1_I4?", - "symbols": [] - }, - "13": { - "name": "import-stmt_A1_I4?", - "symbols": [ - "@import-stmt_A1_I4" - ] - }, - "14": { - "name": "import-stmt_A1_I4", - "symbols": [ - "@include-spec", - "@import-stmt_A1_I4_I1*", - "@import-stmt_A1_I4_I2?" - ] - }, - "15": { - "name": "import-stmt_A1_I4_I1*", - "symbols": [] - }, - "16": { - "name": "import-stmt_A1_I4_I1*", - "symbols": [ - "@import-stmt_A1_I4_I1*", - "@import-stmt_A1_I4_I1" - ] - }, - "17": { - "name": "import-stmt_A1_I4_I1", - "symbols": [ - "'COMMA", - "@include-spec" - ] - }, - "18": { - "name": "import-stmt_A1_I4_I2?", - "symbols": [] - }, - "19": { - "name": "import-stmt_A1_I4_I2?", - "symbols": [ - "@import-stmt_A1_I4_I2" - ] - }, - "20": { - "name": "import-stmt_A1_I4_I2", - "symbols": [ - "'COMMA" - ] - }, - "21": { - "name": "import-stmt", - "symbols": [ - "'IMPORT", - "@import-source", - "'AS", - "'NAME" - ] - }, - "22": { - "name": "import-stmt", - "symbols": [ - "'IMPORT", - "@comma-names", - "'FROM", - "@import-source" - ] - }, - "23": { - "name": "import-source", - "symbols": [ - "@import-special" - ] - }, - "24": { - "name": "import-source", - "symbols": [ - "@import-name" - ] - }, - "25": { - "name": "import-special", - "symbols": [ - "'NAME", - "'PARENNOSPACE", - "'STRING", - "@import-special_I3*", - "'RPAREN" - ] - }, - "26": { - "name": "import-special_I3*", - "symbols": [] - }, - "27": { - "name": "import-special_I3*", - "symbols": [ - "@import-special_I3*", - "@import-special_I3" - ] - }, - "28": { - "name": "import-special_I3", - "symbols": [ - "'COMMA", - "'STRING" - ] - }, - "29": { - "name": "import-name", - "symbols": [ - "'NAME" - ] - }, - "30": { - "name": "include-spec", - "symbols": [ - "@include-name-spec" - ] - }, - "31": { - "name": "include-spec", - "symbols": [ - "@include-type-spec" - ] - }, - "32": { - "name": "include-spec", - "symbols": [ - "@include-data-spec" - ] - }, - "33": { - "name": "include-spec", - "symbols": [ - "@include-module-spec" - ] - }, - "34": { - "name": "include-name-spec", - "symbols": [ - "@name-spec" - ] - }, - "35": { - "name": "include-type-spec", - "symbols": [ - "'TYPE", - "@name-spec" - ] - }, - "36": { - "name": "include-data-spec", - "symbols": [ - "'DATA", - "@data-name-spec", - "@include-data-spec_I2?" - ] - }, - "37": { - "name": "include-data-spec_I2?", - "symbols": [] - }, - "38": { - "name": "include-data-spec_I2?", - "symbols": [ - "@include-data-spec_I2" - ] - }, - "39": { - "name": "include-data-spec_I2", - "symbols": [ - "@hiding-spec" - ] - }, - "40": { - "name": "include-module-spec", - "symbols": [ - "'MODULE", - "@name-spec" - ] - }, - "41": { - "name": "provide-stmt", - "symbols": [ - "@provide-vals-stmt" - ] - }, - "42": { - "name": "provide-stmt", - "symbols": [ - "@provide-types-stmt" - ] - }, - "43": { - "name": "provide-stmt", - "symbols": [ - "@provide-block" - ] - }, - "44": { - "name": "provide-vals-stmt", - "symbols": [ - "'PROVIDE", - "@stmt", - "'END" - ] - }, - "45": { - "name": "provide-vals-stmt", - "symbols": [ - "'PROVIDE", - "@provide-vals-stmt_A1_I1" - ] - }, - "46": { - "name": "provide-vals-stmt_A1_I1", - "symbols": [ - "'STAR" - ] - }, - "47": { - "name": "provide-vals-stmt_A1_I1", - "symbols": [ - "'TIMES" - ] - }, - "48": { - "name": "provide-types-stmt", - "symbols": [ - "'PROVIDE-TYPES", - "@record-ann" - ] - }, - "49": { - "name": "provide-types-stmt", - "symbols": [ - "'PROVIDE-TYPES", - "@provide-types-stmt_A1_I1" - ] - }, - "50": { - "name": "provide-types-stmt_A1_I1", - "symbols": [ - "'STAR" - ] - }, - "51": { - "name": "provide-types-stmt_A1_I1", - "symbols": [ - "'TIMES" - ] - }, - "52": { - "name": "provide-block", - "symbols": [ - "'PROVIDECOLON", - "@provide-block_A0_I1?", - "'END" - ] - }, - "53": { - "name": "provide-block_A0_I1?", - "symbols": [] - }, - "54": { - "name": "provide-block_A0_I1?", - "symbols": [ - "@provide-block_A0_I1" - ] - }, - "55": { - "name": "provide-block_A0_I1", - "symbols": [ - "@provide-spec", - "@provide-block_A0_I1_I1*", - "@provide-block_A0_I1_I2?" - ] - }, - "56": { - "name": "provide-block_A0_I1_I1*", - "symbols": [] - }, - "57": { - "name": "provide-block_A0_I1_I1*", - "symbols": [ - "@provide-block_A0_I1_I1*", - "@provide-block_A0_I1_I1" - ] - }, - "58": { - "name": "provide-block_A0_I1_I1", - "symbols": [ - "'COMMA", - "@provide-spec" - ] - }, - "59": { - "name": "provide-block_A0_I1_I2?", - "symbols": [] - }, - "60": { - "name": "provide-block_A0_I1_I2?", - "symbols": [ - "@provide-block_A0_I1_I2" - ] - }, - "61": { - "name": "provide-block_A0_I1_I2", - "symbols": [ - "'COMMA" - ] - }, - "62": { - "name": "provide-block", - "symbols": [ - "'PROVIDE", - "'FROM", - "@module-ref", - "'COLON", - "@provide-block_A1_I4?", - "'END" - ] - }, - "63": { - "name": "provide-block_A1_I4?", - "symbols": [] - }, - "64": { - "name": "provide-block_A1_I4?", - "symbols": [ - "@provide-block_A1_I4" - ] - }, - "65": { - "name": "provide-block_A1_I4", - "symbols": [ - "@provide-spec", - "@provide-block_A1_I4_I1*", - "@provide-block_A1_I4_I2?" - ] - }, - "66": { - "name": "provide-block_A1_I4_I1*", - "symbols": [] - }, - "67": { - "name": "provide-block_A1_I4_I1*", - "symbols": [ - "@provide-block_A1_I4_I1*", - "@provide-block_A1_I4_I1" - ] - }, - "68": { - "name": "provide-block_A1_I4_I1", - "symbols": [ - "'COMMA", - "@provide-spec" - ] - }, - "69": { - "name": "provide-block_A1_I4_I2?", - "symbols": [] - }, - "70": { - "name": "provide-block_A1_I4_I2?", - "symbols": [ - "@provide-block_A1_I4_I2" - ] - }, - "71": { - "name": "provide-block_A1_I4_I2", - "symbols": [ - "'COMMA" - ] - }, - "72": { - "name": "provide-spec", - "symbols": [ - "@provide-name-spec" - ] - }, - "73": { - "name": "provide-spec", - "symbols": [ - "@provide-type-spec" - ] - }, - "74": { - "name": "provide-spec", - "symbols": [ - "@provide-data-spec" - ] - }, - "75": { - "name": "provide-spec", - "symbols": [ - "@provide-module-spec" - ] - }, - "76": { - "name": "name-spec", - "symbols": [ - "@name-spec_A0_I0", - "@name-spec_A0_I1?" - ] - }, - "77": { - "name": "name-spec_A0_I0", - "symbols": [ - "'STAR" - ] - }, - "78": { - "name": "name-spec_A0_I0", - "symbols": [ - "'TIMES" - ] - }, - "79": { - "name": "name-spec_A0_I1?", - "symbols": [] - }, - "80": { - "name": "name-spec_A0_I1?", - "symbols": [ - "@name-spec_A0_I1" - ] - }, - "81": { - "name": "name-spec_A0_I1", - "symbols": [ - "@hiding-spec" - ] - }, - "82": { - "name": "name-spec", - "symbols": [ - "@module-ref" - ] - }, - "83": { - "name": "name-spec", - "symbols": [ - "@module-ref", - "'AS", - "'NAME" - ] - }, - "84": { - "name": "data-name-spec", - "symbols": [ - "@data-name-spec_A0_I0" - ] - }, - "85": { - "name": "data-name-spec_A0_I0", - "symbols": [ - "'STAR" - ] - }, - "86": { - "name": "data-name-spec_A0_I0", - "symbols": [ - "'TIMES" - ] - }, - "87": { - "name": "data-name-spec", - "symbols": [ - "@module-ref" - ] - }, - "88": { - "name": "provide-name-spec", - "symbols": [ - "@name-spec" - ] - }, - "89": { - "name": "provide-type-spec", - "symbols": [ - "'TYPE", - "@name-spec" - ] - }, - "90": { - "name": "provide-data-spec", - "symbols": [ - "'DATA", - "@data-name-spec", - "@provide-data-spec_I2?" - ] - }, - "91": { - "name": "provide-data-spec_I2?", - "symbols": [] - }, - "92": { - "name": "provide-data-spec_I2?", - "symbols": [ - "@provide-data-spec_I2" - ] - }, - "93": { - "name": "provide-data-spec_I2", - "symbols": [ - "@hiding-spec" - ] - }, - "94": { - "name": "provide-module-spec", - "symbols": [ - "'MODULE", - "@name-spec" - ] - }, - "95": { - "name": "hiding-spec", - "symbols": [ - "'HIDING", - "@hiding-spec_I1", - "@hiding-spec_I2?", - "'RPAREN" - ] - }, - "96": { - "name": "hiding-spec_I1", - "symbols": [ - "'PARENSPACE" - ] - }, - "97": { - "name": "hiding-spec_I1", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "98": { - "name": "hiding-spec_I2?", - "symbols": [] - }, - "99": { - "name": "hiding-spec_I2?", - "symbols": [ - "@hiding-spec_I2" - ] - }, - "100": { - "name": "hiding-spec_I2", - "symbols": [ - "@hiding-spec_I2_I0*", - "'NAME" - ] - }, - "101": { - "name": "hiding-spec_I2_I0*", - "symbols": [] - }, - "102": { - "name": "hiding-spec_I2_I0*", - "symbols": [ - "@hiding-spec_I2_I0*", - "@hiding-spec_I2_I0" - ] - }, - "103": { - "name": "hiding-spec_I2_I0", - "symbols": [ - "'NAME", - "'COMMA" - ] - }, - "104": { - "name": "module-ref", - "symbols": [ - "@module-ref_I0*", - "'NAME" - ] - }, - "105": { - "name": "module-ref_I0*", - "symbols": [] - }, - "106": { - "name": "module-ref_I0*", - "symbols": [ - "@module-ref_I0*", - "@module-ref_I0" - ] - }, - "107": { - "name": "module-ref_I0", - "symbols": [ - "'NAME", - "'DOT" - ] - }, - "108": { - "name": "comma-names", - "symbols": [ - "'NAME", - "@comma-names_I1*" - ] - }, - "109": { - "name": "comma-names_I1*", - "symbols": [] - }, - "110": { - "name": "comma-names_I1*", - "symbols": [ - "@comma-names_I1*", - "@comma-names_I1" - ] - }, - "111": { - "name": "comma-names_I1", - "symbols": [ - "'COMMA", - "'NAME" - ] - }, - "112": { - "name": "block", - "symbols": [ - "@block_I0*" - ] - }, - "113": { - "name": "block_I0*", - "symbols": [] - }, - "114": { - "name": "block_I0*", - "symbols": [ - "@block_I0*", - "@block_I0" - ] - }, - "115": { - "name": "block_I0", - "symbols": [ - "@stmt" - ] - }, - "116": { - "name": "stmt", - "symbols": [ - "@type-expr" - ] - }, - "117": { - "name": "stmt", - "symbols": [ - "@newtype-expr" - ] - }, - "118": { - "name": "stmt", - "symbols": [ - "@spy-stmt" - ] - }, - "119": { - "name": "stmt", - "symbols": [ - "@let-expr" - ] - }, - "120": { - "name": "stmt", - "symbols": [ - "@fun-expr" - ] - }, - "121": { - "name": "stmt", - "symbols": [ - "@data-expr" - ] - }, - "122": { - "name": "stmt", - "symbols": [ - "@when-expr" - ] - }, - "123": { - "name": "stmt", - "symbols": [ - "@var-expr" - ] - }, - "124": { - "name": "stmt", - "symbols": [ - "@rec-expr" - ] - }, - "125": { - "name": "stmt", - "symbols": [ - "@assign-expr" - ] - }, - "126": { - "name": "stmt", - "symbols": [ - "@check-test" - ] - }, - "127": { - "name": "stmt", - "symbols": [ - "@check-expr" - ] - }, - "128": { - "name": "stmt", - "symbols": [ - "@contract-stmt" - ] - }, - "129": { - "name": "spy-stmt", - "symbols": [ - "'SPY", - "@spy-stmt_I1?", - "'COLON", - "@spy-stmt_I3?", - "'END" - ] - }, - "130": { - "name": "spy-stmt_I1?", - "symbols": [] - }, - "131": { - "name": "spy-stmt_I1?", - "symbols": [ - "@spy-stmt_I1" - ] - }, - "132": { - "name": "spy-stmt_I1", - "symbols": [ - "@binop-expr" - ] - }, - "133": { - "name": "spy-stmt_I3?", - "symbols": [] - }, - "134": { - "name": "spy-stmt_I3?", - "symbols": [ - "@spy-stmt_I3" - ] - }, - "135": { - "name": "spy-stmt_I3", - "symbols": [ - "@spy-contents" - ] - }, - "136": { - "name": "spy-contents", - "symbols": [ - "@spy-field", - "@spy-contents_I1*" - ] - }, - "137": { - "name": "spy-contents_I1*", - "symbols": [] - }, - "138": { - "name": "spy-contents_I1*", - "symbols": [ - "@spy-contents_I1*", - "@spy-contents_I1" - ] - }, - "139": { - "name": "spy-contents_I1", - "symbols": [ - "'COMMA", - "@spy-field" - ] - }, - "140": { - "name": "spy-field", - "symbols": [ - "@id-expr" - ] - }, - "141": { - "name": "spy-field", - "symbols": [ - "'NAME", - "'COLON", - "@binop-expr" - ] - }, - "142": { - "name": "type-expr", - "symbols": [ - "'TYPE", - "'NAME", - "@ty-params", - "'EQUALS", - "@ann" - ] - }, - "143": { - "name": "newtype-expr", - "symbols": [ - "'NEWTYPE", - "'NAME", - "'AS", - "'NAME" - ] - }, - "144": { - "name": "let-expr", - "symbols": [ - "@toplevel-binding", - "'EQUALS", - "@binop-expr" - ] - }, - "145": { - "name": "binding", - "symbols": [ - "@name-binding" - ] - }, - "146": { - "name": "binding", - "symbols": [ - "@tuple-binding" - ] - }, - "147": { - "name": "tuple-binding", - "symbols": [ - "'LBRACE", - "@tuple-binding_I1*", - "@binding", - "@tuple-binding_I3?", - "'RBRACE", - "@tuple-binding_I5?" - ] - }, - "148": { - "name": "tuple-binding_I1*", - "symbols": [] - }, - "149": { - "name": "tuple-binding_I1*", - "symbols": [ - "@tuple-binding_I1*", - "@tuple-binding_I1" - ] - }, - "150": { - "name": "tuple-binding_I1", - "symbols": [ - "@binding", - "'SEMI" - ] - }, - "151": { - "name": "tuple-binding_I3?", - "symbols": [] - }, - "152": { - "name": "tuple-binding_I3?", - "symbols": [ - "@tuple-binding_I3" - ] - }, - "153": { - "name": "tuple-binding_I3", - "symbols": [ - "'SEMI" - ] - }, - "154": { - "name": "tuple-binding_I5?", - "symbols": [] - }, - "155": { - "name": "tuple-binding_I5?", - "symbols": [ - "@tuple-binding_I5" - ] - }, - "156": { - "name": "tuple-binding_I5", - "symbols": [ - "'AS", - "@name-binding" - ] - }, - "157": { - "name": "name-binding", - "symbols": [ - "@name-binding_I0?", - "'NAME", - "@name-binding_I2?" - ] - }, - "158": { - "name": "name-binding_I0?", - "symbols": [] - }, - "159": { - "name": "name-binding_I0?", - "symbols": [ - "@name-binding_I0" - ] - }, - "160": { - "name": "name-binding_I0", - "symbols": [ - "'SHADOW" - ] - }, - "161": { - "name": "name-binding_I2?", - "symbols": [] - }, - "162": { - "name": "name-binding_I2?", - "symbols": [ - "@name-binding_I2" - ] - }, - "163": { - "name": "name-binding_I2", - "symbols": [ - "'COLONCOLON", - "@ann" - ] - }, - "164": { - "name": "toplevel-binding", - "symbols": [ - "@binding" - ] - }, - "165": { - "name": "multi-let-expr", - "symbols": [ - "'LET", - "@let-binding", - "@multi-let-expr_I2*", - "@multi-let-expr_I3", - "@block", - "'END" - ] - }, - "166": { - "name": "multi-let-expr_I2*", - "symbols": [] - }, - "167": { - "name": "multi-let-expr_I2*", - "symbols": [ - "@multi-let-expr_I2*", - "@multi-let-expr_I2" - ] - }, - "168": { - "name": "multi-let-expr_I2", - "symbols": [ - "'COMMA", - "@let-binding" - ] - }, - "169": { - "name": "multi-let-expr_I3", - "symbols": [ - "'BLOCK" - ] - }, - "170": { - "name": "multi-let-expr_I3", - "symbols": [ - "'COLON" - ] - }, - "171": { - "name": "let-binding", - "symbols": [ - "@let-expr" - ] - }, - "172": { - "name": "let-binding", - "symbols": [ - "@var-expr" - ] - }, - "173": { - "name": "letrec-expr", - "symbols": [ - "'LETREC", - "@let-expr", - "@letrec-expr_I2*", - "@letrec-expr_I3", - "@block", - "'END" - ] - }, - "174": { - "name": "letrec-expr_I2*", - "symbols": [] - }, - "175": { - "name": "letrec-expr_I2*", - "symbols": [ - "@letrec-expr_I2*", - "@letrec-expr_I2" - ] - }, - "176": { - "name": "letrec-expr_I2", - "symbols": [ - "'COMMA", - "@let-expr" - ] - }, - "177": { - "name": "letrec-expr_I3", - "symbols": [ - "'BLOCK" - ] - }, - "178": { - "name": "letrec-expr_I3", - "symbols": [ - "'COLON" - ] - }, - "179": { - "name": "type-bind", - "symbols": [ - "'NAME", - "@ty-params", - "'EQUALS", - "@ann" - ] - }, - "180": { - "name": "newtype-bind", - "symbols": [ - "'NEWTYPE", - "'NAME", - "'AS", - "'NAME" - ] - }, - "181": { - "name": "type-let-bind", - "symbols": [ - "@type-bind" - ] - }, - "182": { - "name": "type-let-bind", - "symbols": [ - "@newtype-bind" - ] - }, - "183": { - "name": "type-let-expr", - "symbols": [ - "'TYPE-LET", - "@type-let-bind", - "@type-let-expr_I2*", - "@type-let-expr_I3", - "@block", - "'END" - ] - }, - "184": { - "name": "type-let-expr_I2*", - "symbols": [] - }, - "185": { - "name": "type-let-expr_I2*", - "symbols": [ - "@type-let-expr_I2*", - "@type-let-expr_I2" - ] - }, - "186": { - "name": "type-let-expr_I2", - "symbols": [ - "'COMMA", - "@type-let-bind" - ] - }, - "187": { - "name": "type-let-expr_I3", - "symbols": [ - "'BLOCK" - ] - }, - "188": { - "name": "type-let-expr_I3", - "symbols": [ - "'COLON" - ] - }, - "189": { - "name": "contract-stmt", - "symbols": [ - "'NAME", - "'COLONCOLON", - "@ty-params", - "@contract-stmt_I3" - ] - }, - "190": { - "name": "contract-stmt_I3", - "symbols": [ - "@ann" - ] - }, - "191": { - "name": "contract-stmt_I3", - "symbols": [ - "@noparen-arrow-ann" - ] - }, - "192": { - "name": "fun-expr", - "symbols": [ - "'FUN", - "'NAME", - "@fun-header", - "@fun-expr_I3", - "@doc-string", - "@block", - "@where-clause", - "'END" - ] - }, - "193": { - "name": "fun-expr_I3", - "symbols": [ - "'BLOCK" - ] - }, - "194": { - "name": "fun-expr_I3", - "symbols": [ - "'COLON" - ] - }, - "195": { - "name": "fun-header", - "symbols": [ - "@ty-params", - "@args", - "@return-ann" - ] - }, - "196": { - "name": "fun-header", - "symbols": [ - "@ty-params", - "@bad-args", - "@return-ann" - ] - }, - "197": { - "name": "ty-params", - "symbols": [ - "@ty-params_I0?" - ] - }, - "198": { - "name": "ty-params_I0?", - "symbols": [] - }, - "199": { - "name": "ty-params_I0?", - "symbols": [ - "@ty-params_I0" - ] - }, - "200": { - "name": "ty-params_I0", - "symbols": [ - "@ty-params_I0_I0", - "@comma-names", - "@ty-params_I0_I2" - ] - }, - "201": { - "name": "ty-params_I0_I0", - "symbols": [ - "'LANGLE" - ] - }, - "202": { - "name": "ty-params_I0_I0", - "symbols": [ - "'LT" - ] - }, - "203": { - "name": "ty-params_I0_I2", - "symbols": [ - "'RANGLE" - ] - }, - "204": { - "name": "ty-params_I0_I2", - "symbols": [ - "'GT" - ] - }, - "205": { - "name": "args", - "symbols": [ - "@args_I0", - "@args_I1?", - "'RPAREN" - ] - }, - "206": { - "name": "args_I0", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "207": { - "name": "args_I0", - "symbols": [ - "'PARENAFTERBRACE" - ] - }, - "208": { - "name": "args_I1?", - "symbols": [] - }, - "209": { - "name": "args_I1?", - "symbols": [ - "@args_I1" - ] - }, - "210": { - "name": "args_I1", - "symbols": [ - "@binding", - "@args_I1_I1*" - ] - }, - "211": { - "name": "args_I1_I1*", - "symbols": [] - }, - "212": { - "name": "args_I1_I1*", - "symbols": [ - "@args_I1_I1*", - "@args_I1_I1" - ] - }, - "213": { - "name": "args_I1_I1", - "symbols": [ - "'COMMA", - "@binding" - ] - }, - "214": { - "name": "bad-args", - "symbols": [ - "'PARENSPACE", - "@bad-args_I1?", - "'RPAREN" - ] - }, - "215": { - "name": "bad-args_I1?", - "symbols": [] - }, - "216": { - "name": "bad-args_I1?", - "symbols": [ - "@bad-args_I1" - ] - }, - "217": { - "name": "bad-args_I1", - "symbols": [ - "@binding", - "@bad-args_I1_I1*" - ] - }, - "218": { - "name": "bad-args_I1_I1*", - "symbols": [] - }, - "219": { - "name": "bad-args_I1_I1*", - "symbols": [ - "@bad-args_I1_I1*", - "@bad-args_I1_I1" - ] - }, - "220": { - "name": "bad-args_I1_I1", - "symbols": [ - "'COMMA", - "@binding" - ] - }, - "221": { - "name": "return-ann", - "symbols": [ - "@return-ann_I0?" - ] - }, - "222": { - "name": "return-ann_I0?", - "symbols": [] - }, - "223": { - "name": "return-ann_I0?", - "symbols": [ - "@return-ann_I0" - ] - }, - "224": { - "name": "return-ann_I0", - "symbols": [ - "'THINARROW", - "@ann" - ] - }, - "225": { - "name": "doc-string", - "symbols": [ - "@doc-string_I0?" - ] - }, - "226": { - "name": "doc-string_I0?", - "symbols": [] - }, - "227": { - "name": "doc-string_I0?", - "symbols": [ - "@doc-string_I0" - ] - }, - "228": { - "name": "doc-string_I0", - "symbols": [ - "'DOC", - "'STRING" - ] - }, - "229": { - "name": "where-clause", - "symbols": [ - "@where-clause_I0?" - ] - }, - "230": { - "name": "where-clause_I0?", - "symbols": [] - }, - "231": { - "name": "where-clause_I0?", - "symbols": [ - "@where-clause_I0" - ] - }, - "232": { - "name": "where-clause_I0", - "symbols": [ - "'WHERE", - "@block" - ] - }, - "233": { - "name": "check-expr", - "symbols": [ - "@check-expr_A0_I0", - "'STRING", - "'COLON", - "@block", - "'END" - ] - }, - "234": { - "name": "check-expr_A0_I0", - "symbols": [ - "'CHECK" - ] - }, - "235": { - "name": "check-expr_A0_I0", - "symbols": [ - "'EXAMPLES" - ] - }, - "236": { - "name": "check-expr", - "symbols": [ - "@check-expr_A1_I0", - "@block", - "'END" - ] - }, - "237": { - "name": "check-expr_A1_I0", - "symbols": [ - "'CHECKCOLON" - ] - }, - "238": { - "name": "check-expr_A1_I0", - "symbols": [ - "'EXAMPLESCOLON" - ] - }, - "239": { - "name": "check-test", - "symbols": [ - "@binop-expr", - "@check-op", - "@check-test_A0_I2?", - "@binop-expr", - "@check-test_A0_I4?" - ] - }, - "240": { - "name": "check-test_A0_I2?", - "symbols": [] - }, - "241": { - "name": "check-test_A0_I2?", - "symbols": [ - "@check-test_A0_I2" - ] - }, - "242": { - "name": "check-test_A0_I2", - "symbols": [ - "'PERCENT", - "@check-test_A0_I2_I1", - "@binop-expr", - "'RPAREN" - ] - }, - "243": { - "name": "check-test_A0_I2_I1", - "symbols": [ - "'PARENSPACE" - ] - }, - "244": { - "name": "check-test_A0_I2_I1", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "245": { - "name": "check-test_A0_I4?", - "symbols": [] - }, - "246": { - "name": "check-test_A0_I4?", - "symbols": [ - "@check-test_A0_I4" - ] - }, - "247": { - "name": "check-test_A0_I4", - "symbols": [ - "'BECAUSE", - "@binop-expr" - ] - }, - "248": { - "name": "check-test", - "symbols": [ - "@binop-expr", - "@check-op-postfix", - "@check-test_A1_I2?" - ] - }, - "249": { - "name": "check-test_A1_I2?", - "symbols": [] - }, - "250": { - "name": "check-test_A1_I2?", - "symbols": [ - "@check-test_A1_I2" - ] - }, - "251": { - "name": "check-test_A1_I2", - "symbols": [ - "'BECAUSE", - "@binop-expr" - ] - }, - "252": { - "name": "check-test", - "symbols": [ - "@binop-expr" - ] - }, - "253": { - "name": "data-expr", - "symbols": [ - "'DATA", - "'NAME", - "@ty-params", - "'COLON", - "@data-expr_I4?", - "@data-expr_I5*", - "@data-sharing", - "@where-clause", - "'END" - ] - }, - "254": { - "name": "data-expr_I4?", - "symbols": [] - }, - "255": { - "name": "data-expr_I4?", - "symbols": [ - "@data-expr_I4" - ] - }, - "256": { - "name": "data-expr_I4", - "symbols": [ - "@first-data-variant" - ] - }, - "257": { - "name": "data-expr_I5*", - "symbols": [] - }, - "258": { - "name": "data-expr_I5*", - "symbols": [ - "@data-expr_I5*", - "@data-expr_I5" - ] - }, - "259": { - "name": "data-expr_I5", - "symbols": [ - "@data-variant" - ] - }, - "260": { - "name": "variant-constructor", - "symbols": [ - "'NAME", - "@variant-members" - ] - }, - "261": { - "name": "first-data-variant", - "symbols": [ - "@variant-constructor", - "@data-with" - ] - }, - "262": { - "name": "first-data-variant", - "symbols": [ - "'NAME", - "@data-with" - ] - }, - "263": { - "name": "data-variant", - "symbols": [ - "'BAR", - "@variant-constructor", - "@data-with" - ] - }, - "264": { - "name": "data-variant", - "symbols": [ - "'BAR", - "'NAME", - "@data-with" - ] - }, - "265": { - "name": "variant-members", - "symbols": [ - "'PARENNOSPACE", - "@variant-members_I1?", - "'RPAREN" - ] - }, - "266": { - "name": "variant-members_I1?", - "symbols": [] - }, - "267": { - "name": "variant-members_I1?", - "symbols": [ - "@variant-members_I1" - ] - }, - "268": { - "name": "variant-members_I1", - "symbols": [ - "@variant-member", - "@variant-members_I1_I1*" - ] - }, - "269": { - "name": "variant-members_I1_I1*", - "symbols": [] - }, - "270": { - "name": "variant-members_I1_I1*", - "symbols": [ - "@variant-members_I1_I1*", - "@variant-members_I1_I1" - ] - }, - "271": { - "name": "variant-members_I1_I1", - "symbols": [ - "'COMMA", - "@variant-member" - ] - }, - "272": { - "name": "variant-member", - "symbols": [ - "@variant-member_I0?", - "@binding" - ] - }, - "273": { - "name": "variant-member_I0?", - "symbols": [] - }, - "274": { - "name": "variant-member_I0?", - "symbols": [ - "@variant-member_I0" - ] - }, - "275": { - "name": "variant-member_I0", - "symbols": [ - "'REF" - ] - }, - "276": { - "name": "data-with", - "symbols": [ - "@data-with_I0?" - ] - }, - "277": { - "name": "data-with_I0?", - "symbols": [] - }, - "278": { - "name": "data-with_I0?", - "symbols": [ - "@data-with_I0" - ] - }, - "279": { - "name": "data-with_I0", - "symbols": [ - "'WITH", - "@fields" - ] - }, - "280": { - "name": "data-sharing", - "symbols": [ - "@data-sharing_I0?" - ] - }, - "281": { - "name": "data-sharing_I0?", - "symbols": [] - }, - "282": { - "name": "data-sharing_I0?", - "symbols": [ - "@data-sharing_I0" - ] - }, - "283": { - "name": "data-sharing_I0", - "symbols": [ - "'SHARING", - "@fields" - ] - }, - "284": { - "name": "var-expr", - "symbols": [ - "'VAR", - "@toplevel-binding", - "'EQUALS", - "@binop-expr" - ] - }, - "285": { - "name": "rec-expr", - "symbols": [ - "'REC", - "@toplevel-binding", - "'EQUALS", - "@binop-expr" - ] - }, - "286": { - "name": "assign-expr", - "symbols": [ - "'NAME", - "'COLONEQUALS", - "@binop-expr" - ] - }, - "287": { - "name": "when-expr", - "symbols": [ - "'WHEN", - "@binop-expr", - "@when-expr_I2", - "@block", - "'END" - ] - }, - "288": { - "name": "when-expr_I2", - "symbols": [ - "'BLOCK" - ] - }, - "289": { - "name": "when-expr_I2", - "symbols": [ - "'COLON" - ] - }, - "290": { - "name": "binop-expr", - "symbols": [ - "@expr", - "@binop-expr_I1*" - ] - }, - "291": { - "name": "binop-expr_I1*", - "symbols": [] - }, - "292": { - "name": "binop-expr_I1*", - "symbols": [ - "@binop-expr_I1*", - "@binop-expr_I1" - ] - }, - "293": { - "name": "binop-expr_I1", - "symbols": [ - "@binop", - "@expr" - ] - }, - "294": { - "name": "binop", - "symbols": [ - "'PLUS" - ] - }, - "295": { - "name": "binop", - "symbols": [ - "'DASH" - ] - }, - "296": { - "name": "binop", - "symbols": [ - "'TIMES" - ] - }, - "297": { - "name": "binop", - "symbols": [ - "'SLASH" - ] - }, - "298": { - "name": "binop", - "symbols": [ - "'LEQ" - ] - }, - "299": { - "name": "binop", - "symbols": [ - "'GEQ" - ] - }, - "300": { - "name": "binop", - "symbols": [ - "'EQUALEQUAL" - ] - }, - "301": { - "name": "binop", - "symbols": [ - "'SPACESHIP" - ] - }, - "302": { - "name": "binop", - "symbols": [ - "'EQUALTILDE" - ] - }, - "303": { - "name": "binop", - "symbols": [ - "'NEQ" - ] - }, - "304": { - "name": "binop", - "symbols": [ - "'LT" - ] - }, - "305": { - "name": "binop", - "symbols": [ - "'GT" - ] - }, - "306": { - "name": "binop", - "symbols": [ - "'AND" - ] - }, - "307": { - "name": "binop", - "symbols": [ - "'OR" - ] - }, - "308": { - "name": "binop", - "symbols": [ - "'CARET" - ] - }, - "309": { - "name": "check-op", - "symbols": [ - "'IS" - ] - }, - "310": { - "name": "check-op", - "symbols": [ - "'ISEQUALEQUAL" - ] - }, - "311": { - "name": "check-op", - "symbols": [ - "'ISEQUALTILDE" - ] - }, - "312": { - "name": "check-op", - "symbols": [ - "'ISSPACESHIP" - ] - }, - "313": { - "name": "check-op", - "symbols": [ - "'ISROUGHLY" - ] - }, - "314": { - "name": "check-op", - "symbols": [ - "'ISNOT" - ] - }, - "315": { - "name": "check-op", - "symbols": [ - "'ISNOTEQUALEQUAL" - ] - }, - "316": { - "name": "check-op", - "symbols": [ - "'ISNOTEQUALTILDE" - ] - }, - "317": { - "name": "check-op", - "symbols": [ - "'ISNOTSPACESHIP" - ] - }, - "318": { - "name": "check-op", - "symbols": [ - "'RAISES" - ] - }, - "319": { - "name": "check-op", - "symbols": [ - "'RAISESOTHER" - ] - }, - "320": { - "name": "check-op", - "symbols": [ - "'SATISFIES" - ] - }, - "321": { - "name": "check-op", - "symbols": [ - "'SATISFIESNOT" - ] - }, - "322": { - "name": "check-op", - "symbols": [ - "'RAISESSATISFIES" - ] - }, - "323": { - "name": "check-op", - "symbols": [ - "'RAISESVIOLATES" - ] - }, - "324": { - "name": "check-op-postfix", - "symbols": [ - "'RAISESNOT" - ] - }, - "325": { - "name": "expr", - "symbols": [ - "@paren-expr" - ] - }, - "326": { - "name": "expr", - "symbols": [ - "@id-expr" - ] - }, - "327": { - "name": "expr", - "symbols": [ - "@prim-expr" - ] - }, - "328": { - "name": "expr", - "symbols": [ - "@lambda-expr" - ] - }, - "329": { - "name": "expr", - "symbols": [ - "@method-expr" - ] - }, - "330": { - "name": "expr", - "symbols": [ - "@app-expr" - ] - }, - "331": { - "name": "expr", - "symbols": [ - "@obj-expr" - ] - }, - "332": { - "name": "expr", - "symbols": [ - "@tuple-expr" - ] - }, - "333": { - "name": "expr", - "symbols": [ - "@tuple-get" - ] - }, - "334": { - "name": "expr", - "symbols": [ - "@dot-expr" - ] - }, - "335": { - "name": "expr", - "symbols": [ - "@template-expr" - ] - }, - "336": { - "name": "expr", - "symbols": [ - "@bracket-expr" - ] - }, - "337": { - "name": "expr", - "symbols": [ - "@get-bang-expr" - ] - }, - "338": { - "name": "expr", - "symbols": [ - "@update-expr" - ] - }, - "339": { - "name": "expr", - "symbols": [ - "@extend-expr" - ] - }, - "340": { - "name": "expr", - "symbols": [ - "@if-expr" - ] - }, - "341": { - "name": "expr", - "symbols": [ - "@if-pipe-expr" - ] - }, - "342": { - "name": "expr", - "symbols": [ - "@cases-expr" - ] - }, - "343": { - "name": "expr", - "symbols": [ - "@for-expr" - ] - }, - "344": { - "name": "expr", - "symbols": [ - "@user-block-expr" - ] - }, - "345": { - "name": "expr", - "symbols": [ - "@inst-expr" - ] - }, - "346": { - "name": "expr", - "symbols": [ - "@multi-let-expr" - ] - }, - "347": { - "name": "expr", - "symbols": [ - "@letrec-expr" - ] - }, - "348": { - "name": "expr", - "symbols": [ - "@type-let-expr" - ] - }, - "349": { - "name": "expr", - "symbols": [ - "@construct-expr" - ] - }, - "350": { - "name": "expr", - "symbols": [ - "@table-select" - ] - }, - "351": { - "name": "expr", - "symbols": [ - "@table-extend" - ] - }, - "352": { - "name": "expr", - "symbols": [ - "@table-filter" - ] - }, - "353": { - "name": "expr", - "symbols": [ - "@table-order" - ] - }, - "354": { - "name": "expr", - "symbols": [ - "@table-extract" - ] - }, - "355": { - "name": "expr", - "symbols": [ - "@table-update" - ] - }, - "356": { - "name": "expr", - "symbols": [ - "@table-expr" - ] - }, - "357": { - "name": "expr", - "symbols": [ - "@load-table-expr" - ] - }, - "358": { - "name": "expr", - "symbols": [ - "@reactor-expr" - ] - }, - "359": { - "name": "template-expr", - "symbols": [ - "'DOTDOTDOT" - ] - }, - "360": { - "name": "bad-expr", - "symbols": [ - "'UNTERMINATED-STRING" - ] - }, - "361": { - "name": "bad-expr", - "symbols": [ - "'UNTERMINATED-BLOCK-COMMENT" - ] - }, - "362": { - "name": "bad-expr", - "symbols": [ - "'BAD-OPER" - ] - }, - "363": { - "name": "bad-expr", - "symbols": [ - "'BAD-NUMBER" - ] - }, - "364": { - "name": "bad-expr", - "symbols": [ - "'UNKNOWN" - ] - }, - "365": { - "name": "paren-expr", - "symbols": [ - "@paren-expr_I0", - "@binop-expr", - "'RPAREN" - ] - }, - "366": { - "name": "paren-expr_I0", - "symbols": [ - "'PARENSPACE" - ] - }, - "367": { - "name": "paren-expr_I0", - "symbols": [ - "'PARENAFTERBRACE" - ] - }, - "368": { - "name": "id-expr", - "symbols": [ - "'NAME" - ] - }, - "369": { - "name": "prim-expr", - "symbols": [ - "@num-expr" - ] - }, - "370": { - "name": "prim-expr", - "symbols": [ - "@frac-expr" - ] - }, - "371": { - "name": "prim-expr", - "symbols": [ - "@rfrac-expr" - ] - }, - "372": { - "name": "prim-expr", - "symbols": [ - "@bool-expr" - ] - }, - "373": { - "name": "prim-expr", - "symbols": [ - "@string-expr" - ] - }, - "374": { - "name": "num-expr", - "symbols": [ - "'NUMBER" - ] - }, - "375": { - "name": "frac-expr", - "symbols": [ - "'RATIONAL" - ] - }, - "376": { - "name": "rfrac-expr", - "symbols": [ - "'ROUGHRATIONAL" - ] - }, - "377": { - "name": "bool-expr", - "symbols": [ - "'TRUE" - ] - }, - "378": { - "name": "bool-expr", - "symbols": [ - "'FALSE" - ] - }, - "379": { - "name": "string-expr", - "symbols": [ - "'STRING" - ] - }, - "380": { - "name": "lambda-expr", - "symbols": [ - "'LAM", - "@fun-header", - "@lambda-expr_A0_I2", - "@doc-string", - "@block", - "@where-clause", - "'END" - ] - }, - "381": { - "name": "lambda-expr_A0_I2", - "symbols": [ - "'BLOCK" - ] - }, - "382": { - "name": "lambda-expr_A0_I2", - "symbols": [ - "'COLON" - ] - }, - "383": { - "name": "lambda-expr", - "symbols": [ - "'LBRACE", - "@fun-header", - "@lambda-expr_A1_I2", - "@doc-string", - "@block", - "@where-clause", - "'RBRACE" - ] - }, - "384": { - "name": "lambda-expr_A1_I2", - "symbols": [ - "'BLOCK" - ] - }, - "385": { - "name": "lambda-expr_A1_I2", - "symbols": [ - "'COLON" - ] - }, - "386": { - "name": "method-expr", - "symbols": [ - "'METHOD", - "@fun-header", - "@method-expr_I2", - "@doc-string", - "@block", - "@where-clause", - "'END" - ] - }, - "387": { - "name": "method-expr_I2", - "symbols": [ - "'BLOCK" - ] - }, - "388": { - "name": "method-expr_I2", - "symbols": [ - "'COLON" - ] - }, - "389": { - "name": "app-expr", - "symbols": [ - "@expr", - "@app-args" - ] - }, - "390": { - "name": "app-expr", - "symbols": [ - "@expr", - "'PARENSPACE", - "'RPAREN" - ] - }, - "391": { - "name": "app-expr", - "symbols": [ - "@expr", - "'PARENSPACE", - "@binop-expr", - "'COMMA", - "@binop-expr", - "@app-expr_A2_I5*", - "'RPAREN" - ] - }, - "392": { - "name": "app-expr_A2_I5*", - "symbols": [] - }, - "393": { - "name": "app-expr_A2_I5*", - "symbols": [ - "@app-expr_A2_I5*", - "@app-expr_A2_I5" - ] - }, - "394": { - "name": "app-expr_A2_I5", - "symbols": [ - "'COMMA", - "@binop-expr" - ] - }, - "395": { - "name": "app-args", - "symbols": [ - "'PARENNOSPACE", - "@opt-comma-binops", - "'RPAREN" - ] - }, - "396": { - "name": "opt-comma-binops", - "symbols": [ - "@opt-comma-binops_I0?" - ] - }, - "397": { - "name": "opt-comma-binops_I0?", - "symbols": [] - }, - "398": { - "name": "opt-comma-binops_I0?", - "symbols": [ - "@opt-comma-binops_I0" - ] - }, - "399": { - "name": "opt-comma-binops_I0", - "symbols": [ - "@comma-binops" - ] - }, - "400": { - "name": "comma-binops", - "symbols": [ - "@binop-expr", - "@comma-binops_I1*" - ] - }, - "401": { - "name": "comma-binops_I1*", - "symbols": [] - }, - "402": { - "name": "comma-binops_I1*", - "symbols": [ - "@comma-binops_I1*", - "@comma-binops_I1" - ] - }, - "403": { - "name": "comma-binops_I1", - "symbols": [ - "'COMMA", - "@binop-expr" - ] - }, - "404": { - "name": "trailing-opt-comma-binops", - "symbols": [ - "@trailing-opt-comma-binops_I0" - ] - }, - "405": { - "name": "trailing-opt-comma-binops_I0", - "symbols": [ - "@comma-binops", - "@trailing-opt-comma-binops_I0_A0_I1?" - ] - }, - "406": { - "name": "trailing-opt-comma-binops_I0_A0_I1?", - "symbols": [] - }, - "407": { - "name": "trailing-opt-comma-binops_I0_A0_I1?", - "symbols": [ - "@trailing-opt-comma-binops_I0_A0_I1" - ] - }, - "408": { - "name": "trailing-opt-comma-binops_I0_A0_I1", - "symbols": [ - "'COMMA" - ] - }, - "409": { - "name": "trailing-opt-comma-binops_I0", - "symbols": [] - }, - "410": { - "name": "inst-expr", - "symbols": [ - "@expr", - "'LANGLE", - "@ann", - "@inst-expr_I3*", - "@inst-expr_I4" - ] - }, - "411": { - "name": "inst-expr_I3*", - "symbols": [] - }, - "412": { - "name": "inst-expr_I3*", - "symbols": [ - "@inst-expr_I3*", - "@inst-expr_I3" - ] - }, - "413": { - "name": "inst-expr_I3", - "symbols": [ - "'COMMA", - "@ann" - ] - }, - "414": { - "name": "inst-expr_I4", - "symbols": [ - "'RANGLE" - ] - }, - "415": { - "name": "inst-expr_I4", - "symbols": [ - "'GT" - ] - }, - "416": { - "name": "tuple-expr", - "symbols": [ - "'LBRACE", - "@tuple-fields", - "'RBRACE" - ] - }, - "417": { - "name": "tuple-fields", - "symbols": [ - "@binop-expr", - "@tuple-fields_I1*", - "@tuple-fields_I2?" - ] - }, - "418": { - "name": "tuple-fields_I1*", - "symbols": [] - }, - "419": { - "name": "tuple-fields_I1*", - "symbols": [ - "@tuple-fields_I1*", - "@tuple-fields_I1" - ] - }, - "420": { - "name": "tuple-fields_I1", - "symbols": [ - "'SEMI", - "@binop-expr" - ] - }, - "421": { - "name": "tuple-fields_I2?", - "symbols": [] - }, - "422": { - "name": "tuple-fields_I2?", - "symbols": [ - "@tuple-fields_I2" - ] - }, - "423": { - "name": "tuple-fields_I2", - "symbols": [ - "'SEMI" - ] - }, - "424": { - "name": "tuple-get", - "symbols": [ - "@expr", - "'DOT", - "'LBRACE", - "'NUMBER", - "'RBRACE" - ] - }, - "425": { - "name": "obj-expr", - "symbols": [ - "'LBRACE", - "@obj-fields", - "'RBRACE" - ] - }, - "426": { - "name": "obj-expr", - "symbols": [ - "'LBRACE", - "'RBRACE" - ] - }, - "427": { - "name": "obj-fields", - "symbols": [ - "@obj-field", - "@obj-fields_I1*", - "@obj-fields_I2?" - ] - }, - "428": { - "name": "obj-fields_I1*", - "symbols": [] - }, - "429": { - "name": "obj-fields_I1*", - "symbols": [ - "@obj-fields_I1*", - "@obj-fields_I1" - ] - }, - "430": { - "name": "obj-fields_I1", - "symbols": [ - "'COMMA", - "@obj-field" - ] - }, - "431": { - "name": "obj-fields_I2?", - "symbols": [] - }, - "432": { - "name": "obj-fields_I2?", - "symbols": [ - "@obj-fields_I2" - ] - }, - "433": { - "name": "obj-fields_I2", - "symbols": [ - "'COMMA" - ] - }, - "434": { - "name": "obj-field", - "symbols": [ - "@key", - "'COLON", - "@binop-expr" - ] - }, - "435": { - "name": "obj-field", - "symbols": [ - "'REF", - "@key", - "@obj-field_A1_I2?", - "'COLON", - "@binop-expr" - ] - }, - "436": { - "name": "obj-field_A1_I2?", - "symbols": [] - }, - "437": { - "name": "obj-field_A1_I2?", - "symbols": [ - "@obj-field_A1_I2" - ] - }, - "438": { - "name": "obj-field_A1_I2", - "symbols": [ - "'COLONCOLON", - "@ann" - ] - }, - "439": { - "name": "obj-field", - "symbols": [ - "'METHOD", - "@key", - "@fun-header", - "@obj-field_A2_I3", - "@doc-string", - "@block", - "@where-clause", - "'END" - ] - }, - "440": { - "name": "obj-field_A2_I3", - "symbols": [ - "'BLOCK" - ] - }, - "441": { - "name": "obj-field_A2_I3", - "symbols": [ - "'COLON" - ] - }, - "442": { - "name": "fields", - "symbols": [ - "@field", - "@fields_I1*", - "@fields_I2?" - ] - }, - "443": { - "name": "fields_I1*", - "symbols": [] - }, - "444": { - "name": "fields_I1*", - "symbols": [ - "@fields_I1*", - "@fields_I1" - ] - }, - "445": { - "name": "fields_I1", - "symbols": [ - "'COMMA", - "@field" - ] - }, - "446": { - "name": "fields_I2?", - "symbols": [] - }, - "447": { - "name": "fields_I2?", - "symbols": [ - "@fields_I2" - ] - }, - "448": { - "name": "fields_I2", - "symbols": [ - "'COMMA" - ] - }, - "449": { - "name": "field", - "symbols": [ - "@key", - "'COLON", - "@binop-expr" - ] - }, - "450": { - "name": "field", - "symbols": [ - "'METHOD", - "@key", - "@fun-header", - "@field_A1_I3", - "@doc-string", - "@block", - "@where-clause", - "'END" - ] - }, - "451": { - "name": "field_A1_I3", - "symbols": [ - "'BLOCK" - ] - }, - "452": { - "name": "field_A1_I3", - "symbols": [ - "'COLON" - ] - }, - "453": { - "name": "key", - "symbols": [ - "'NAME" - ] - }, - "454": { - "name": "construct-expr", - "symbols": [ - "'LBRACK", - "@construct-modifier", - "@binop-expr", - "'COLON", - "@trailing-opt-comma-binops", - "'RBRACK" - ] - }, - "455": { - "name": "construct-modifier", - "symbols": [] - }, - "456": { - "name": "construct-modifier", - "symbols": [ - "'LAZY" - ] - }, - "457": { - "name": "table-expr", - "symbols": [ - "'TABLE", - "@table-headers", - "@table-rows", - "'END" - ] - }, - "458": { - "name": "table-headers", - "symbols": [ - "@table-headers_I0?" - ] - }, - "459": { - "name": "table-headers_I0?", - "symbols": [] - }, - "460": { - "name": "table-headers_I0?", - "symbols": [ - "@table-headers_I0" - ] - }, - "461": { - "name": "table-headers_I0", - "symbols": [ - "@table-headers_I0_I0*", - "@table-header" - ] - }, - "462": { - "name": "table-headers_I0_I0*", - "symbols": [] - }, - "463": { - "name": "table-headers_I0_I0*", - "symbols": [ - "@table-headers_I0_I0*", - "@table-headers_I0_I0" - ] - }, - "464": { - "name": "table-headers_I0_I0", - "symbols": [ - "@list-table-header" - ] - }, - "465": { - "name": "list-table-header", - "symbols": [ - "@table-header", - "'COMMA" - ] - }, - "466": { - "name": "table-header", - "symbols": [ - "'NAME", - "@table-header_I1?" - ] - }, - "467": { - "name": "table-header_I1?", - "symbols": [] - }, - "468": { - "name": "table-header_I1?", - "symbols": [ - "@table-header_I1" - ] - }, - "469": { - "name": "table-header_I1", - "symbols": [ - "'COLONCOLON", - "@ann" - ] - }, - "470": { - "name": "table-rows", - "symbols": [ - "@table-rows_I0?" - ] - }, - "471": { - "name": "table-rows_I0?", - "symbols": [] - }, - "472": { - "name": "table-rows_I0?", - "symbols": [ - "@table-rows_I0" - ] - }, - "473": { - "name": "table-rows_I0", - "symbols": [ - "@table-rows_I0_I0*", - "@table-row" - ] - }, - "474": { - "name": "table-rows_I0_I0*", - "symbols": [] - }, - "475": { - "name": "table-rows_I0_I0*", - "symbols": [ - "@table-rows_I0_I0*", - "@table-rows_I0_I0" - ] - }, - "476": { - "name": "table-rows_I0_I0", - "symbols": [ - "@table-row" - ] - }, - "477": { - "name": "table-row", - "symbols": [ - "'ROW", - "@table-items" - ] - }, - "478": { - "name": "table-items", - "symbols": [ - "@table-items_I0?" - ] - }, - "479": { - "name": "table-items_I0?", - "symbols": [] - }, - "480": { - "name": "table-items_I0?", - "symbols": [ - "@table-items_I0" - ] - }, - "481": { - "name": "table-items_I0", - "symbols": [ - "@table-items_I0_I0*", - "@binop-expr" - ] - }, - "482": { - "name": "table-items_I0_I0*", - "symbols": [] - }, - "483": { - "name": "table-items_I0_I0*", - "symbols": [ - "@table-items_I0_I0*", - "@table-items_I0_I0" - ] - }, - "484": { - "name": "table-items_I0_I0", - "symbols": [ - "@list-table-item" - ] - }, - "485": { - "name": "list-table-item", - "symbols": [ - "@binop-expr", - "'COMMA" - ] - }, - "486": { - "name": "reactor-expr", - "symbols": [ - "'REACTOR", - "'COLON", - "@fields", - "'END" - ] - }, - "487": { - "name": "dot-expr", - "symbols": [ - "@expr", - "'DOT", - "'NAME" - ] - }, - "488": { - "name": "bracket-expr", - "symbols": [ - "@expr", - "'LBRACK", - "@binop-expr", - "'RBRACK" - ] - }, - "489": { - "name": "get-bang-expr", - "symbols": [ - "@expr", - "'BANG", - "'NAME" - ] - }, - "490": { - "name": "extend-expr", - "symbols": [ - "@expr", - "'DOT", - "'LBRACE", - "@fields", - "'RBRACE" - ] - }, - "491": { - "name": "update-expr", - "symbols": [ - "@expr", - "'BANG", - "'LBRACE", - "@fields", - "'RBRACE" - ] - }, - "492": { - "name": "if-expr", - "symbols": [ - "'IF", - "@binop-expr", - "@if-expr_I2", - "@block", - "@if-expr_I4*", - "@if-expr_I5?", - "'END" - ] - }, - "493": { - "name": "if-expr_I2", - "symbols": [ - "'BLOCK" - ] - }, - "494": { - "name": "if-expr_I2", - "symbols": [ - "'COLON" - ] - }, - "495": { - "name": "if-expr_I4*", - "symbols": [] - }, - "496": { - "name": "if-expr_I4*", - "symbols": [ - "@if-expr_I4*", - "@if-expr_I4" - ] - }, - "497": { - "name": "if-expr_I4", - "symbols": [ - "@else-if" - ] - }, - "498": { - "name": "if-expr_I5?", - "symbols": [] - }, - "499": { - "name": "if-expr_I5?", - "symbols": [ - "@if-expr_I5" - ] - }, - "500": { - "name": "if-expr_I5", - "symbols": [ - "'ELSECOLON", - "@block" - ] - }, - "501": { - "name": "else-if", - "symbols": [ - "'ELSEIF", - "@binop-expr", - "'COLON", - "@block" - ] - }, - "502": { - "name": "if-pipe-expr", - "symbols": [ - "'ASK", - "@if-pipe-expr_I1", - "@if-pipe-expr_I2*", - "@if-pipe-expr_I3?", - "'END" - ] - }, - "503": { - "name": "if-pipe-expr_I1", - "symbols": [ - "'BLOCK" - ] - }, - "504": { - "name": "if-pipe-expr_I1", - "symbols": [ - "'COLON" - ] - }, - "505": { - "name": "if-pipe-expr_I2*", - "symbols": [] - }, - "506": { - "name": "if-pipe-expr_I2*", - "symbols": [ - "@if-pipe-expr_I2*", - "@if-pipe-expr_I2" - ] - }, - "507": { - "name": "if-pipe-expr_I2", - "symbols": [ - "@if-pipe-branch" - ] - }, - "508": { - "name": "if-pipe-expr_I3?", - "symbols": [] - }, - "509": { - "name": "if-pipe-expr_I3?", - "symbols": [ - "@if-pipe-expr_I3" - ] - }, - "510": { - "name": "if-pipe-expr_I3", - "symbols": [ - "'BAR", - "'OTHERWISECOLON", - "@block" - ] - }, - "511": { - "name": "if-pipe-branch", - "symbols": [ - "'BAR", - "@binop-expr", - "'THENCOLON", - "@block" - ] - }, - "512": { - "name": "cases-binding", - "symbols": [ - "@cases-binding_I0?", - "@binding" - ] - }, - "513": { - "name": "cases-binding_I0?", - "symbols": [] - }, - "514": { - "name": "cases-binding_I0?", - "symbols": [ - "@cases-binding_I0" - ] - }, - "515": { - "name": "cases-binding_I0", - "symbols": [ - "'REF" - ] - }, - "516": { - "name": "cases-args", - "symbols": [ - "'PARENNOSPACE", - "@cases-args_I1?", - "'RPAREN" - ] - }, - "517": { - "name": "cases-args_I1?", - "symbols": [] - }, - "518": { - "name": "cases-args_I1?", - "symbols": [ - "@cases-args_I1" - ] - }, - "519": { - "name": "cases-args_I1", - "symbols": [ - "@cases-binding", - "@cases-args_I1_I1*" - ] - }, - "520": { - "name": "cases-args_I1_I1*", - "symbols": [] - }, - "521": { - "name": "cases-args_I1_I1*", - "symbols": [ - "@cases-args_I1_I1*", - "@cases-args_I1_I1" - ] - }, - "522": { - "name": "cases-args_I1_I1", - "symbols": [ - "'COMMA", - "@cases-binding" - ] - }, - "523": { - "name": "cases-expr", - "symbols": [ - "'CASES", - "@cases-expr_I1", - "@ann", - "'RPAREN", - "@binop-expr", - "@cases-expr_I5", - "@cases-expr_I6*", - "@cases-expr_I7?", - "'END" - ] - }, - "524": { - "name": "cases-expr_I1", - "symbols": [ - "'PARENSPACE" - ] - }, - "525": { - "name": "cases-expr_I1", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "526": { - "name": "cases-expr_I5", - "symbols": [ - "'BLOCK" - ] - }, - "527": { - "name": "cases-expr_I5", - "symbols": [ - "'COLON" - ] - }, - "528": { - "name": "cases-expr_I6*", - "symbols": [] - }, - "529": { - "name": "cases-expr_I6*", - "symbols": [ - "@cases-expr_I6*", - "@cases-expr_I6" - ] - }, - "530": { - "name": "cases-expr_I6", - "symbols": [ - "@cases-branch" - ] - }, - "531": { - "name": "cases-expr_I7?", - "symbols": [] - }, - "532": { - "name": "cases-expr_I7?", - "symbols": [ - "@cases-expr_I7" - ] - }, - "533": { - "name": "cases-expr_I7", - "symbols": [ - "'BAR", - "'ELSE", - "'THICKARROW", - "@block" - ] - }, - "534": { - "name": "cases-branch", - "symbols": [ - "'BAR", - "'NAME", - "@cases-branch_I2?", - "'THICKARROW", - "@block" - ] - }, - "535": { - "name": "cases-branch_I2?", - "symbols": [] - }, - "536": { - "name": "cases-branch_I2?", - "symbols": [ - "@cases-branch_I2" - ] - }, - "537": { - "name": "cases-branch_I2", - "symbols": [ - "@cases-args" - ] - }, - "538": { - "name": "for-bind", - "symbols": [ - "@binding", - "'FROM", - "@binop-expr" - ] - }, - "539": { - "name": "for-expr", - "symbols": [ - "'FOR", - "@expr", - "'PARENNOSPACE", - "@for-expr_I3?", - "'RPAREN", - "@return-ann", - "@for-expr_I6", - "@block", - "'END" - ] - }, - "540": { - "name": "for-expr_I3?", - "symbols": [] - }, - "541": { - "name": "for-expr_I3?", - "symbols": [ - "@for-expr_I3" - ] - }, - "542": { - "name": "for-expr_I3", - "symbols": [ - "@for-bind", - "@for-expr_I3_I1*" - ] - }, - "543": { - "name": "for-expr_I3_I1*", - "symbols": [] - }, - "544": { - "name": "for-expr_I3_I1*", - "symbols": [ - "@for-expr_I3_I1*", - "@for-expr_I3_I1" - ] - }, - "545": { - "name": "for-expr_I3_I1", - "symbols": [ - "'COMMA", - "@for-bind" - ] - }, - "546": { - "name": "for-expr_I6", - "symbols": [ - "'BLOCK" - ] - }, - "547": { - "name": "for-expr_I6", - "symbols": [ - "'COLON" - ] - }, - "548": { - "name": "column-order", - "symbols": [ - "'NAME", - "@column-order_I1" - ] - }, - "549": { - "name": "column-order_I1", - "symbols": [ - "'ASCENDING" - ] - }, - "550": { - "name": "column-order_I1", - "symbols": [ - "'DESCENDING" - ] - }, - "551": { - "name": "table-select", - "symbols": [ - "'TABLE-SELECT", - "'NAME", - "@table-select_I2*", - "'FROM", - "@expr", - "'END" - ] - }, - "552": { - "name": "table-select_I2*", - "symbols": [] - }, - "553": { - "name": "table-select_I2*", - "symbols": [ - "@table-select_I2*", - "@table-select_I2" - ] - }, - "554": { - "name": "table-select_I2", - "symbols": [ - "'COMMA", - "'NAME" - ] - }, - "555": { - "name": "table-filter", - "symbols": [ - "'TABLE-FILTER", - "@expr", - "@table-filter_I2?", - "'COLON", - "@binop-expr", - "'END" - ] - }, - "556": { - "name": "table-filter_I2?", - "symbols": [] - }, - "557": { - "name": "table-filter_I2?", - "symbols": [ - "@table-filter_I2" - ] - }, - "558": { - "name": "table-filter_I2", - "symbols": [ - "'USING", - "@binding", - "@table-filter_I2_I2*" - ] - }, - "559": { - "name": "table-filter_I2_I2*", - "symbols": [] - }, - "560": { - "name": "table-filter_I2_I2*", - "symbols": [ - "@table-filter_I2_I2*", - "@table-filter_I2_I2" - ] - }, - "561": { - "name": "table-filter_I2_I2", - "symbols": [ - "'COMMA", - "@binding" - ] - }, - "562": { - "name": "table-order", - "symbols": [ - "'TABLE-ORDER", - "@expr", - "'COLON", - "@column-order", - "@table-order_I4*", - "'END" - ] - }, - "563": { - "name": "table-order_I4*", - "symbols": [] - }, - "564": { - "name": "table-order_I4*", - "symbols": [ - "@table-order_I4*", - "@table-order_I4" - ] - }, - "565": { - "name": "table-order_I4", - "symbols": [ - "'COMMA", - "@column-order" - ] - }, - "566": { - "name": "table-extract", - "symbols": [ - "'TABLE-EXTRACT", - "'NAME", - "'FROM", - "@expr", - "'END" - ] - }, - "567": { - "name": "table-update", - "symbols": [ - "'TABLE-UPDATE", - "@expr", - "@table-update_I2?", - "'COLON", - "@obj-fields", - "'END" - ] - }, - "568": { - "name": "table-update_I2?", - "symbols": [] - }, - "569": { - "name": "table-update_I2?", - "symbols": [ - "@table-update_I2" - ] - }, - "570": { - "name": "table-update_I2", - "symbols": [ - "'USING", - "@binding", - "@table-update_I2_I2*" - ] - }, - "571": { - "name": "table-update_I2_I2*", - "symbols": [] - }, - "572": { - "name": "table-update_I2_I2*", - "symbols": [ - "@table-update_I2_I2*", - "@table-update_I2_I2" - ] - }, - "573": { - "name": "table-update_I2_I2", - "symbols": [ - "'COMMA", - "@binding" - ] - }, - "574": { - "name": "table-extend", - "symbols": [ - "'TABLE-EXTEND", - "@expr", - "@table-extend_I2?", - "'COLON", - "@table-extend-fields", - "'END" - ] - }, - "575": { - "name": "table-extend_I2?", - "symbols": [] - }, - "576": { - "name": "table-extend_I2?", - "symbols": [ - "@table-extend_I2" - ] - }, - "577": { - "name": "table-extend_I2", - "symbols": [ - "'USING", - "@binding", - "@table-extend_I2_I2*" - ] - }, - "578": { - "name": "table-extend_I2_I2*", - "symbols": [] - }, - "579": { - "name": "table-extend_I2_I2*", - "symbols": [ - "@table-extend_I2_I2*", - "@table-extend_I2_I2" - ] - }, - "580": { - "name": "table-extend_I2_I2", - "symbols": [ - "'COMMA", - "@binding" - ] - }, - "581": { - "name": "table-extend-fields", - "symbols": [ - "@table-extend-fields_I0*", - "@table-extend-field", - "@table-extend-fields_I2?" - ] - }, - "582": { - "name": "table-extend-fields_I0*", - "symbols": [] - }, - "583": { - "name": "table-extend-fields_I0*", - "symbols": [ - "@table-extend-fields_I0*", - "@table-extend-fields_I0" - ] - }, - "584": { - "name": "table-extend-fields_I0", - "symbols": [ - "@list-table-extend-field" - ] - }, - "585": { - "name": "table-extend-fields_I2?", - "symbols": [] - }, - "586": { - "name": "table-extend-fields_I2?", - "symbols": [ - "@table-extend-fields_I2" - ] - }, - "587": { - "name": "table-extend-fields_I2", - "symbols": [ - "'COMMA" - ] - }, - "588": { - "name": "list-table-extend-field", - "symbols": [ - "@table-extend-field", - "'COMMA" - ] - }, - "589": { - "name": "table-extend-field", - "symbols": [ - "@key", - "@table-extend-field_A0_I1?", - "'COLON", - "@binop-expr" - ] - }, - "590": { - "name": "table-extend-field_A0_I1?", - "symbols": [] - }, - "591": { - "name": "table-extend-field_A0_I1?", - "symbols": [ - "@table-extend-field_A0_I1" - ] - }, - "592": { - "name": "table-extend-field_A0_I1", - "symbols": [ - "'COLONCOLON", - "@ann" - ] - }, - "593": { - "name": "table-extend-field", - "symbols": [ - "@key", - "@table-extend-field_A1_I1?", - "'COLON", - "@expr", - "'OF", - "'NAME" - ] - }, - "594": { - "name": "table-extend-field_A1_I1?", - "symbols": [] - }, - "595": { - "name": "table-extend-field_A1_I1?", - "symbols": [ - "@table-extend-field_A1_I1" - ] - }, - "596": { - "name": "table-extend-field_A1_I1", - "symbols": [ - "'COLONCOLON", - "@ann" - ] - }, - "597": { - "name": "load-table-expr", - "symbols": [ - "'LOAD-TABLE", - "'COLON", - "@table-headers", - "@load-table-expr_I3?", - "'END" - ] - }, - "598": { - "name": "load-table-expr_I3?", - "symbols": [] - }, - "599": { - "name": "load-table-expr_I3?", - "symbols": [ - "@load-table-expr_I3" - ] - }, - "600": { - "name": "load-table-expr_I3", - "symbols": [ - "@load-table-specs" - ] - }, - "601": { - "name": "load-table-specs", - "symbols": [ - "@load-table-specs_I0*", - "@load-table-spec" - ] - }, - "602": { - "name": "load-table-specs_I0*", - "symbols": [] - }, - "603": { - "name": "load-table-specs_I0*", - "symbols": [ - "@load-table-specs_I0*", - "@load-table-specs_I0" - ] - }, - "604": { - "name": "load-table-specs_I0", - "symbols": [ - "@load-table-spec" - ] - }, - "605": { - "name": "load-table-spec", - "symbols": [ - "'SOURCECOLON", - "@expr" - ] - }, - "606": { - "name": "load-table-spec", - "symbols": [ - "'SANITIZE", - "'NAME", - "'USING", - "@expr" - ] - }, - "607": { - "name": "user-block-expr", - "symbols": [ - "'BLOCK", - "@block", - "'END" - ] - }, - "608": { - "name": "ann", - "symbols": [ - "@name-ann" - ] - }, - "609": { - "name": "ann", - "symbols": [ - "@record-ann" - ] - }, - "610": { - "name": "ann", - "symbols": [ - "@arrow-ann" - ] - }, - "611": { - "name": "ann", - "symbols": [ - "@app-ann" - ] - }, - "612": { - "name": "ann", - "symbols": [ - "@pred-ann" - ] - }, - "613": { - "name": "ann", - "symbols": [ - "@dot-ann" - ] - }, - "614": { - "name": "ann", - "symbols": [ - "@tuple-ann" - ] - }, - "615": { - "name": "name-ann", - "symbols": [ - "'NAME" - ] - }, - "616": { - "name": "comma-ann-field", - "symbols": [ - "@ann-field", - "@comma-ann-field_I1*" - ] - }, - "617": { - "name": "comma-ann-field_I1*", - "symbols": [] - }, - "618": { - "name": "comma-ann-field_I1*", - "symbols": [ - "@comma-ann-field_I1*", - "@comma-ann-field_I1" - ] - }, - "619": { - "name": "comma-ann-field_I1", - "symbols": [ - "'COMMA", - "@ann-field" - ] - }, - "620": { - "name": "trailing-opt-comma-ann-field", - "symbols": [ - "@trailing-opt-comma-ann-field_I0" - ] - }, - "621": { - "name": "trailing-opt-comma-ann-field_I0", - "symbols": [ - "@comma-ann-field", - "@trailing-opt-comma-ann-field_I0_A0_I1?" - ] - }, - "622": { - "name": "trailing-opt-comma-ann-field_I0_A0_I1?", - "symbols": [] - }, - "623": { - "name": "trailing-opt-comma-ann-field_I0_A0_I1?", - "symbols": [ - "@trailing-opt-comma-ann-field_I0_A0_I1" - ] - }, - "624": { - "name": "trailing-opt-comma-ann-field_I0_A0_I1", - "symbols": [ - "'COMMA" - ] - }, - "625": { - "name": "trailing-opt-comma-ann-field_I0", - "symbols": [] - }, - "626": { - "name": "record-ann", - "symbols": [ - "'LBRACE", - "@trailing-opt-comma-ann-field", - "'RBRACE" - ] - }, - "627": { - "name": "ann-field", - "symbols": [ - "'NAME", - "'COLONCOLON", - "@ann" - ] - }, - "628": { - "name": "tuple-ann", - "symbols": [ - "'LBRACE", - "@ann", - "@tuple-ann_I2*", - "@tuple-ann_I3?", - "'RBRACE" - ] - }, - "629": { - "name": "tuple-ann_I2*", - "symbols": [] - }, - "630": { - "name": "tuple-ann_I2*", - "symbols": [ - "@tuple-ann_I2*", - "@tuple-ann_I2" - ] - }, - "631": { - "name": "tuple-ann_I2", - "symbols": [ - "'SEMI", - "@ann" - ] - }, - "632": { - "name": "tuple-ann_I3?", - "symbols": [] - }, - "633": { - "name": "tuple-ann_I3?", - "symbols": [ - "@tuple-ann_I3" - ] - }, - "634": { - "name": "tuple-ann_I3", - "symbols": [ - "'SEMI" - ] - }, - "635": { - "name": "noparen-arrow-ann", - "symbols": [ - "@noparen-arrow-ann_I0?", - "'THINARROW", - "@ann" - ] - }, - "636": { - "name": "noparen-arrow-ann_I0?", - "symbols": [] - }, - "637": { - "name": "noparen-arrow-ann_I0?", - "symbols": [ - "@noparen-arrow-ann_I0" - ] - }, - "638": { - "name": "noparen-arrow-ann_I0", - "symbols": [ - "@arrow-ann-args" - ] - }, - "639": { - "name": "arrow-ann-args", - "symbols": [ - "@comma-anns" - ] - }, - "640": { - "name": "arrow-ann-args", - "symbols": [ - "@arrow-ann-args_A1_I0", - "@comma-ann-field", - "'RPAREN" - ] - }, - "641": { - "name": "arrow-ann-args_A1_I0", - "symbols": [ - "'PARENSPACE" - ] - }, - "642": { - "name": "arrow-ann-args_A1_I0", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "643": { - "name": "arrow-ann-args_A1_I0", - "symbols": [ - "'PARENAFTERBRACE" - ] - }, - "644": { - "name": "arrow-ann", - "symbols": [ - "@arrow-ann_I0", - "@arrow-ann_I1?", - "'THINARROW", - "@ann", - "'RPAREN" - ] - }, - "645": { - "name": "arrow-ann_I0", - "symbols": [ - "'PARENSPACE" - ] - }, - "646": { - "name": "arrow-ann_I0", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "647": { - "name": "arrow-ann_I0", - "symbols": [ - "'PARENAFTERBRACE" - ] - }, - "648": { - "name": "arrow-ann_I1?", - "symbols": [] - }, - "649": { - "name": "arrow-ann_I1?", - "symbols": [ - "@arrow-ann_I1" - ] - }, - "650": { - "name": "arrow-ann_I1", - "symbols": [ - "@arrow-ann-args" - ] - }, - "651": { - "name": "app-ann", - "symbols": [ - "@app-ann_I0", - "'LANGLE", - "@comma-anns", - "@app-ann_I3" - ] - }, - "652": { - "name": "app-ann_I0", - "symbols": [ - "@name-ann" - ] - }, - "653": { - "name": "app-ann_I0", - "symbols": [ - "@dot-ann" - ] - }, - "654": { - "name": "app-ann_I3", - "symbols": [ - "'RANGLE" - ] - }, - "655": { - "name": "app-ann_I3", - "symbols": [ - "'GT" - ] - }, - "656": { - "name": "comma-anns", - "symbols": [ - "@ann", - "@comma-anns_I1*" - ] - }, - "657": { - "name": "comma-anns_I1*", - "symbols": [] - }, - "658": { - "name": "comma-anns_I1*", - "symbols": [ - "@comma-anns_I1*", - "@comma-anns_I1" - ] - }, - "659": { - "name": "comma-anns_I1", - "symbols": [ - "'COMMA", - "@ann" - ] - }, - "660": { - "name": "pred-ann", - "symbols": [ - "@ann", - "'PERCENT", - "@pred-ann_I2", - "@id-expr", - "'RPAREN" - ] - }, - "661": { - "name": "pred-ann_I2", - "symbols": [ - "'PARENSPACE" - ] - }, - "662": { - "name": "pred-ann_I2", - "symbols": [ - "'PARENNOSPACE" - ] - }, - "663": { - "name": "dot-ann", - "symbols": [ - "'NAME", - "'DOT", - "'NAME" - ] - }, - "664": { - "name": "START", - "symbols": [ - "@program" - ] - }, - "914": { - "position": 1, - "like": 0 - }, - "1007": { - "position": 1, - "like": 1 - }, - "1153": { - "position": 1, - "like": 3 - }, - "1204": { - "position": 1, - "like": 4 - }, - "1306": { - "position": 2, - "like": 0 - }, - "1308": { - "position": 1, - "like": 112 - }, - "9489": { - "position": 2, - "like": 1 - }, - "10589": { - "position": 1, - "like": 368 - }, - "10760": { - "position": 1, - "like": 379 - }, - "10933": { - "position": 1, - "like": 115 - }, - "10979": { - "position": 1, - "like": 366 - }, - "11011": { - "position": 2, - "like": 114 - }, - "11057": { - "position": 1, - "like": 116 - }, - "11103": { - "position": 1, - "like": 117 - }, - "11149": { - "position": 1, - "like": 118 - }, - "11195": { - "position": 1, - "like": 119 - }, - "11241": { - "position": 1, - "like": 120 - }, - "11287": { - "position": 1, - "like": 121 - }, - "11333": { - "position": 1, - "like": 122 - }, - "11379": { - "position": 1, - "like": 123 - }, - "11425": { - "position": 1, - "like": 124 - }, - "11471": { - "position": 1, - "like": 125 - }, - "11517": { - "position": 1, - "like": 126 - }, - "11563": { - "position": 1, - "like": 127 - }, - "11609": { - "position": 1, - "like": 128 - }, - "11789": { - "position": 1, - "like": 252 - }, - "12451": { - "position": 1, - "like": 326 - }, - "12624": { - "position": 1, - "like": 164 - }, - "12626": { - "position": 1, - "like": 145 - }, - "12628": { - "position": 1, - "like": 146 - }, - "13157": { - "position": 1, - "like": 159 - }, - "13159": { - "position": 1, - "like": 160 - }, - "13161": { - "position": 1, - "like": 346 - }, - "13417": { - "position": 1, - "like": 347 - }, - "13579": { - "position": 1, - "like": 348 - }, - "13799": { - "position": 1, - "like": 367 - }, - "13877": { - "position": 1, - "like": 234 - }, - "13879": { - "position": 1, - "like": 235 - }, - "13927": { - "position": 1, - "like": 237 - }, - "13973": { - "position": 1, - "like": 238 - }, - "14157": { - "position": 1, - "like": 290 - }, - "15261": { - "position": 1, - "like": 325 - }, - "15342": { - "position": 1, - "like": 327 - }, - "15423": { - "position": 1, - "like": 328 - }, - "15504": { - "position": 1, - "like": 329 - }, - "15585": { - "position": 1, - "like": 330 - }, - "15666": { - "position": 1, - "like": 331 - }, - "15747": { - "position": 1, - "like": 332 - }, - "15828": { - "position": 1, - "like": 333 - }, - "15909": { - "position": 1, - "like": 334 - }, - "15990": { - "position": 1, - "like": 335 - }, - "16071": { - "position": 1, - "like": 336 - }, - "16152": { - "position": 1, - "like": 337 - }, - "16233": { - "position": 1, - "like": 338 - }, - "16314": { - "position": 1, - "like": 339 - }, - "16395": { - "position": 1, - "like": 340 - }, - "16476": { - "position": 1, - "like": 341 - }, - "16557": { - "position": 1, - "like": 342 - }, - "16638": { - "position": 1, - "like": 343 - }, - "16719": { - "position": 1, - "like": 344 - }, - "16800": { - "position": 1, - "like": 345 - }, - "16881": { - "position": 1, - "like": 349 - }, - "16962": { - "position": 1, - "like": 350 - }, - "17043": { - "position": 1, - "like": 351 - }, - "17124": { - "position": 1, - "like": 352 - }, - "17205": { - "position": 1, - "like": 353 - }, - "17286": { - "position": 1, - "like": 354 - }, - "17367": { - "position": 1, - "like": 355 - }, - "17448": { - "position": 1, - "like": 356 - }, - "17529": { - "position": 1, - "like": 357 - }, - "17610": { - "position": 1, - "like": 358 - }, - "17691": { - "position": 1, - "like": 359 - }, - "17936": { - "position": 1, - "like": 369 - }, - "18017": { - "position": 1, - "like": 370 - }, - "18098": { - "position": 1, - "like": 371 - }, - "18179": { - "position": 1, - "like": 372 - }, - "18260": { - "position": 1, - "like": 373 - }, - "18341": { - "position": 1, - "like": 374 - }, - "18422": { - "position": 1, - "like": 375 - }, - "18503": { - "position": 1, - "like": 376 - }, - "18584": { - "position": 1, - "like": 377 - }, - "18665": { - "position": 1, - "like": 378 - }, - "20210": { - "position": 2, - "like": 6 - }, - "20261": { - "position": 1, - "like": 7 - }, - "20312": { - "position": 1, - "like": 8 - }, - "20572": { - "position": 1, - "like": 41 - }, - "20623": { - "position": 1, - "like": 42 - }, - "20674": { - "position": 1, - "like": 43 - }, - "21430": { - "position": 1, - "like": 29 - }, - "21531": { - "position": 3, - "like": 9 - }, - "21582": { - "position": 1, - "like": 23 - }, - "21633": { - "position": 1, - "like": 24 - }, - "21936": { - "position": 1, - "like": 131 - }, - "21938": { - "position": 1, - "like": 132 - }, - "22163": { - "position": 2, - "like": 248 - }, - "22344": { - "position": 1, - "like": 309 - }, - "22377": { - "position": 1, - "like": 310 - }, - "22410": { - "position": 1, - "like": 311 - }, - "22443": { - "position": 1, - "like": 312 - }, - "22476": { - "position": 1, - "like": 313 - }, - "22509": { - "position": 1, - "like": 314 - }, - "22542": { - "position": 1, - "like": 315 - }, - "22575": { - "position": 1, - "like": 316 - }, - "22608": { - "position": 1, - "like": 317 - }, - "22641": { - "position": 1, - "like": 318 - }, - "22674": { - "position": 1, - "like": 319 - }, - "22707": { - "position": 1, - "like": 320 - }, - "22740": { - "position": 1, - "like": 321 - }, - "22773": { - "position": 1, - "like": 322 - }, - "22806": { - "position": 1, - "like": 323 - }, - "22839": { - "position": 1, - "like": 324 - }, - "22978": { - "position": 1, - "like": 453 - }, - "22984": { - "position": 1, - "like": 417 - }, - "23037": { - "position": 2, - "like": 426 - }, - "23307": { - "position": 1, - "like": 197 - }, - "23311": { - "position": 1, - "like": 199 - }, - "23321": { - "position": 1, - "like": 201 - }, - "23323": { - "position": 1, - "like": 202 - }, - "23615": { - "position": 1, - "like": 427 - }, - "23652": { - "position": 2, - "like": 157 - }, - "23657": { - "position": 1, - "like": 171 - }, - "23661": { - "position": 1, - "like": 172 - }, - "23935": { - "position": 1, - "like": 181 - }, - "23939": { - "position": 1, - "like": 182 - }, - "25129": { - "position": 2, - "like": 290 - }, - "25809": { - "position": 2, - "like": 389 - }, - "26814": { - "position": 1, - "like": 456 - }, - "26933": { - "position": 1, - "like": 458 - }, - "26936": { - "position": 1, - "like": 460 - }, - "27210": { - "position": 1, - "like": 504 - }, - "27213": { - "position": 1, - "like": 503 - }, - "27301": { - "position": 1, - "like": 525 - }, - "27307": { - "position": 1, - "like": 524 - }, - "28160": { - "position": 2, - "like": 10 - }, - "28263": { - "position": 1, - "like": 108 - }, - "28483": { - "position": 2, - "like": 45 - }, - "28534": { - "position": 1, - "like": 46 - }, - "28585": { - "position": 1, - "like": 47 - }, - "28746": { - "position": 1, - "like": 50 - }, - "28797": { - "position": 1, - "like": 51 - }, - "28848": { - "position": 2, - "like": 48 - }, - "28899": { - "position": 2, - "like": 49 - }, - "29008": { - "position": 1, - "like": 82 - }, - "29014": { - "position": 1, - "like": 88 - }, - "29039": { - "position": 1, - "like": 77 - }, - "29043": { - "position": 1, - "like": 78 - }, - "29098": { - "position": 1, - "like": 54 - }, - "29100": { - "position": 1, - "like": 55 - }, - "29106": { - "position": 1, - "like": 72 - }, - "29109": { - "position": 1, - "like": 73 - }, - "29112": { - "position": 1, - "like": 74 - }, - "29115": { - "position": 1, - "like": 75 - }, - "29118": { - "position": 1, - "like": 76 - }, - "29985": { - "position": 3, - "like": 286 - }, - "30316": { - "position": 1, - "like": 241 - }, - "30488": { - "position": 3, - "like": 248 - }, - "30534": { - "position": 1, - "like": 250 - }, - "30626": { - "position": 3, - "like": 144 - }, - "30672": { - "position": 2, - "like": 417 - }, - "30682": { - "position": 1, - "like": 206 - }, - "30702": { - "position": 2, - "like": 195 - }, - "30713": { - "position": 2, - "like": 196 - }, - "30723": { - "position": 1, - "like": 207 - }, - "30743": { - "position": 2, - "like": 149 - }, - "30749": { - "position": 1, - "like": 385 - }, - "30797": { - "position": 1, - "like": 384 - }, - "31143": { - "position": 3, - "like": 416 - }, - "31224": { - "position": 3, - "like": 425 - }, - "31305": { - "position": 2, - "like": 427 - }, - "31318": { - "position": 3, - "like": 157 - }, - "31320": { - "position": 1, - "like": 162 - }, - "31516": { - "position": 3, - "like": 607 - }, - "32147": { - "position": 3, - "like": 236 - }, - "32285": { - "position": 1, - "like": 289 - }, - "32331": { - "position": 1, - "like": 288 - }, - "32425": { - "position": 1, - "like": 400 - }, - "32582": { - "position": 1, - "like": 396 - }, - "32584": { - "position": 1, - "like": 398 - }, - "32586": { - "position": 1, - "like": 399 - }, - "32602": { - "position": 3, - "like": 390 - }, - "32764": { - "position": 3, - "like": 487 - }, - "33010": { - "position": 1, - "like": 615 - }, - "33022": { - "position": 1, - "like": 646 - }, - "33029": { - "position": 1, - "like": 609 - }, - "33034": { - "position": 1, - "like": 645 - }, - "33170": { - "position": 1, - "like": 647 - }, - "33177": { - "position": 1, - "like": 608 - }, - "33178": { - "position": 1, - "like": 652 - }, - "33184": { - "position": 1, - "like": 610 - }, - "33189": { - "position": 1, - "like": 611 - }, - "33194": { - "position": 1, - "like": 612 - }, - "33199": { - "position": 1, - "like": 613 - }, - "33200": { - "position": 1, - "like": 653 - }, - "33206": { - "position": 1, - "like": 614 - }, - "33224": { - "position": 1, - "like": 296 - }, - "33256": { - "position": 1, - "like": 304 - }, - "33288": { - "position": 1, - "like": 305 - }, - "33320": { - "position": 2, - "like": 292 - }, - "33474": { - "position": 1, - "like": 294 - }, - "33506": { - "position": 1, - "like": 295 - }, - "33538": { - "position": 1, - "like": 297 - }, - "33570": { - "position": 1, - "like": 298 - }, - "33602": { - "position": 1, - "like": 299 - }, - "33634": { - "position": 1, - "like": 300 - }, - "33666": { - "position": 1, - "like": 301 - }, - "33698": { - "position": 1, - "like": 302 - }, - "33730": { - "position": 1, - "like": 303 - }, - "33762": { - "position": 1, - "like": 306 - }, - "33794": { - "position": 1, - "like": 307 - }, - "33826": { - "position": 1, - "like": 308 - }, - "34025": { - "position": 3, - "like": 489 - }, - "34187": { - "position": 3, - "like": 365 - }, - "34268": { - "position": 1, - "like": 382 - }, - "34316": { - "position": 1, - "like": 381 - }, - "34449": { - "position": 1, - "like": 388 - }, - "34497": { - "position": 1, - "like": 387 - }, - "34788": { - "position": 1, - "like": 470 - }, - "34790": { - "position": 1, - "like": 472 - }, - "34799": { - "position": 1, - "like": 466 - }, - "34812": { - "position": 2, - "like": 461 - }, - "34817": { - "position": 2, - "like": 463 - }, - "34819": { - "position": 1, - "like": 464 - }, - "34908": { - "position": 1, - "like": 442 - }, - "34914": { - "position": 1, - "like": 494 - }, - "34962": { - "position": 1, - "like": 493 - }, - "35562": { - "position": 1, - "like": 557 - }, - "35817": { - "position": 1, - "like": 569 - }, - "35902": { - "position": 1, - "like": 576 - }, - "36054": { - "position": 2, - "like": 108 - }, - "36214": { - "position": 3, - "like": 44 - }, - "36268": { - "position": 1, - "like": 621 - }, - "36273": { - "position": 1, - "like": 616 - }, - "36331": { - "position": 1, - "like": 620 - }, - "36336": { - "position": 2, - "like": 89 - }, - "36339": { - "position": 1, - "like": 87 - }, - "36343": { - "position": 2, - "like": 90 - }, - "36352": { - "position": 1, - "like": 85 - }, - "36356": { - "position": 1, - "like": 86 - }, - "36360": { - "position": 1, - "like": 84 - }, - "36365": { - "position": 2, - "like": 94 - }, - "36368": { - "position": 3, - "like": 52 - }, - "36419": { - "position": 2, - "like": 55 - }, - "36429": { - "position": 1, - "like": 81 - }, - "36432": { - "position": 2, - "like": 76 - }, - "36435": { - "position": 1, - "like": 80 - }, - "36445": { - "position": 2, - "like": 104 - }, - "36451": { - "position": 2, - "like": 106 - }, - "36600": { - "position": 1, - "like": 642 - }, - "36648": { - "position": 1, - "like": 641 - }, - "36650": { - "position": 1, - "like": 190 - }, - "36651": { - "position": 1, - "like": 656 - }, - "36795": { - "position": 4, - "like": 189 - }, - "36841": { - "position": 1, - "like": 191 - }, - "36887": { - "position": 1, - "like": 643 - }, - "37211": { - "position": 1, - "like": 637 - }, - "37213": { - "position": 1, - "like": 638 - }, - "37215": { - "position": 1, - "like": 639 - }, - "37479": { - "position": 1, - "like": 134 - }, - "37481": { - "position": 1, - "like": 135 - }, - "37483": { - "position": 1, - "like": 136 - }, - "37489": { - "position": 1, - "like": 140 - }, - "37494": { - "position": 4, - "like": 239 - }, - "37759": { - "position": 1, - "like": 244 - }, - "37791": { - "position": 1, - "like": 243 - }, - "37855": { - "position": 2, - "like": 251 - }, - "37901": { - "position": 4, - "like": 143 - }, - "37948": { - "position": 1, - "like": 423 - }, - "37952": { - "position": 3, - "like": 417 - }, - "37954": { - "position": 2, - "like": 419 - }, - "37957": { - "position": 1, - "like": 422 - }, - "37959": { - "position": 1, - "like": 217 - }, - "37977": { - "position": 1, - "like": 216 - }, - "37979": { - "position": 3, - "like": 195 - }, - "37982": { - "position": 1, - "like": 221 - }, - "37985": { - "position": 1, - "like": 223 - }, - "38005": { - "position": 3, - "like": 196 - }, - "38008": { - "position": 1, - "like": 210 - }, - "38018": { - "position": 1, - "like": 209 - }, - "38022": { - "position": 2, - "like": 150 - }, - "38023": { - "position": 1, - "like": 153 - }, - "38028": { - "position": 1, - "like": 152 - }, - "38117": { - "position": 1, - "like": 225 - }, - "38164": { - "position": 1, - "like": 227 - }, - "38264": { - "position": 3, - "like": 200 - }, - "38268": { - "position": 1, - "like": 203 - }, - "38272": { - "position": 1, - "like": 204 - }, - "38281": { - "position": 1, - "like": 437 - }, - "38381": { - "position": 1, - "like": 433 - }, - "38385": { - "position": 3, - "like": 427 - }, - "38387": { - "position": 2, - "like": 429 - }, - "38390": { - "position": 1, - "like": 432 - }, - "38392": { - "position": 3, - "like": 434 - }, - "38398": { - "position": 2, - "like": 163 - }, - "38411": { - "position": 1, - "like": 170 - }, - "38542": { - "position": 2, - "like": 167 - }, - "38546": { - "position": 1, - "like": 169 - }, - "38592": { - "position": 1, - "like": 178 - }, - "38642": { - "position": 1, - "like": 177 - }, - "38769": { - "position": 2, - "like": 175 - }, - "38781": { - "position": 1, - "like": 188 - }, - "38831": { - "position": 1, - "like": 187 - }, - "38958": { - "position": 2, - "like": 185 - }, - "38962": { - "position": 1, - "like": 194 - }, - "39010": { - "position": 1, - "like": 193 - }, - "39150": { - "position": 4, - "like": 284 - }, - "39196": { - "position": 4, - "like": 285 - }, - "39288": { - "position": 2, - "like": 400 - }, - "39295": { - "position": 3, - "like": 395 - }, - "39926": { - "position": 1, - "like": 650 - }, - "39933": { - "position": 1, - "like": 649 - }, - "39942": { - "position": 2, - "like": 293 - }, - "40019": { - "position": 4, - "like": 488 - }, - "40432": { - "position": 4, - "like": 457 - }, - "40513": { - "position": 2, - "like": 473 - }, - "40514": { - "position": 1, - "like": 476 - }, - "40517": { - "position": 2, - "like": 475 - }, - "40519": { - "position": 1, - "like": 477 - }, - "40624": { - "position": 2, - "like": 466 - }, - "40628": { - "position": 1, - "like": 468 - }, - "40632": { - "position": 2, - "like": 465 - }, - "40634": { - "position": 4, - "like": 486 - }, - "40721": { - "position": 2, - "like": 442 - }, - "41217": { - "position": 2, - "like": 506 - }, - "41220": { - "position": 1, - "like": 507 - }, - "41223": { - "position": 1, - "like": 509 - }, - "41314": { - "position": 1, - "like": 542 - }, - "41401": { - "position": 1, - "like": 541 - }, - "41487": { - "position": 2, - "like": 553 - }, - "41571": { - "position": 2, - "like": 558 - }, - "41754": { - "position": 2, - "like": 570 - }, - "41845": { - "position": 2, - "like": 577 - }, - "42016": { - "position": 1, - "like": 599 - }, - "42018": { - "position": 1, - "like": 600 - }, - "42106": { - "position": 2, - "like": 110 - }, - "42109": { - "position": 4, - "like": 21 - }, - "42160": { - "position": 4, - "like": 22 - }, - "42268": { - "position": 1, - "like": 624 - }, - "42270": { - "position": 2, - "like": 621 - }, - "42272": { - "position": 1, - "like": 623 - }, - "42274": { - "position": 2, - "like": 616 - }, - "42282": { - "position": 3, - "like": 626 - }, - "42333": { - "position": 3, - "like": 83 - }, - "42336": { - "position": 1, - "like": 93 - }, - "42339": { - "position": 3, - "like": 90 - }, - "42342": { - "position": 1, - "like": 92 - }, - "42346": { - "position": 1, - "like": 61 - }, - "42350": { - "position": 3, - "like": 55 - }, - "42352": { - "position": 2, - "like": 57 - }, - "42355": { - "position": 1, - "like": 60 - }, - "42357": { - "position": 1, - "like": 97 - }, - "42368": { - "position": 1, - "like": 96 - }, - "42371": { - "position": 2, - "like": 107 - }, - "42475": { - "position": 2, - "like": 656 - }, - "42534": { - "position": 5, - "like": 142 - }, - "42580": { - "position": 1, - "like": 262 - }, - "42666": { - "position": 1, - "like": 255 - }, - "42671": { - "position": 1, - "like": 256 - }, - "42676": { - "position": 1, - "like": 261 - }, - "42684": { - "position": 5, - "like": 129 - }, - "42730": { - "position": 2, - "like": 136 - }, - "42737": { - "position": 5, - "like": 239 - }, - "42783": { - "position": 1, - "like": 246 - }, - "42907": { - "position": 2, - "like": 420 - }, - "42910": { - "position": 2, - "like": 217 - }, - "42917": { - "position": 3, - "like": 214 - }, - "42924": { - "position": 2, - "like": 224 - }, - "42938": { - "position": 2, - "like": 210 - }, - "42945": { - "position": 3, - "like": 205 - }, - "42949": { - "position": 5, - "like": 147 - }, - "43186": { - "position": 2, - "like": 228 - }, - "43233": { - "position": 2, - "like": 438 - }, - "43238": { - "position": 1, - "like": 441 - }, - "43286": { - "position": 1, - "like": 440 - }, - "43337": { - "position": 2, - "like": 430 - }, - "43341": { - "position": 2, - "like": 168 - }, - "43426": { - "position": 2, - "like": 176 - }, - "43511": { - "position": 4, - "like": 179 - }, - "43515": { - "position": 4, - "like": 180 - }, - "43519": { - "position": 2, - "like": 186 - }, - "43650": { - "position": 5, - "like": 233 - }, - "43696": { - "position": 5, - "like": 287 - }, - "43745": { - "position": 2, - "like": 402 - }, - "43833": { - "position": 5, - "like": 490 - }, - "43914": { - "position": 5, - "like": 424 - }, - "43995": { - "position": 3, - "like": 663 - }, - "44001": { - "position": 1, - "like": 662 - }, - "44003": { - "position": 1, - "like": 661 - }, - "44014": { - "position": 1, - "like": 414 - }, - "44095": { - "position": 1, - "like": 415 - }, - "44176": { - "position": 5, - "like": 410 - }, - "44257": { - "position": 2, - "like": 412 - }, - "44302": { - "position": 5, - "like": 491 - }, - "44553": { - "position": 1, - "like": 405 - }, - "44639": { - "position": 1, - "like": 404 - }, - "44641": { - "position": 2, - "like": 477 - }, - "44644": { - "position": 1, - "like": 478 - }, - "44647": { - "position": 1, - "like": 480 - }, - "44836": { - "position": 2, - "like": 469 - }, - "44959": { - "position": 3, - "like": 449 - }, - "44963": { - "position": 1, - "like": 448 - }, - "44967": { - "position": 3, - "like": 442 - }, - "44969": { - "position": 2, - "like": 444 - }, - "44972": { - "position": 1, - "like": 447 - }, - "45148": { - "position": 2, - "like": 510 - }, - "45159": { - "position": 5, - "like": 502 - }, - "45328": { - "position": 2, - "like": 542 - }, - "45497": { - "position": 2, - "like": 554 - }, - "45581": { - "position": 3, - "like": 558 - }, - "45588": { - "position": 2, - "like": 548 - }, - "45591": { - "position": 1, - "like": 549 - }, - "45594": { - "position": 1, - "like": 550 - }, - "45683": { - "position": 5, - "like": 566 - }, - "45775": { - "position": 3, - "like": 570 - }, - "45869": { - "position": 3, - "like": 577 - }, - "45967": { - "position": 5, - "like": 597 - }, - "46048": { - "position": 2, - "like": 601 - }, - "46049": { - "position": 1, - "like": 604 - }, - "46053": { - "position": 2, - "like": 603 - }, - "46279": { - "position": 1, - "like": 13 - }, - "46281": { - "position": 1, - "like": 14 - }, - "46287": { - "position": 1, - "like": 30 - }, - "46290": { - "position": 1, - "like": 31 - }, - "46293": { - "position": 1, - "like": 32 - }, - "46296": { - "position": 1, - "like": 33 - }, - "46299": { - "position": 1, - "like": 34 - }, - "46311": { - "position": 2, - "like": 111 - }, - "46314": { - "position": 1, - "like": 65 - }, - "46371": { - "position": 1, - "like": 64 - }, - "46373": { - "position": 3, - "like": 627 - }, - "46379": { - "position": 2, - "like": 618 - }, - "46382": { - "position": 2, - "like": 58 - }, - "46388": { - "position": 1, - "like": 99 - }, - "46398": { - "position": 5, - "like": 25 - }, - "46449": { - "position": 2, - "like": 27 - }, - "46455": { - "position": 2, - "like": 658 - }, - "46458": { - "position": 3, - "like": 635 - }, - "46504": { - "position": 3, - "like": 640 - }, - "46526": { - "position": 2, - "like": 260 - }, - "46532": { - "position": 2, - "like": 262 - }, - "46537": { - "position": 1, - "like": 276 - }, - "46542": { - "position": 1, - "like": 278 - }, - "46632": { - "position": 2, - "like": 261 - }, - "46637": { - "position": 3, - "like": 141 - }, - "46643": { - "position": 2, - "like": 138 - }, - "46646": { - "position": 2, - "like": 247 - }, - "46692": { - "position": 4, - "like": 242 - }, - "46727": { - "position": 2, - "like": 219 - }, - "46734": { - "position": 2, - "like": 212 - }, - "46739": { - "position": 6, - "like": 147 - }, - "46741": { - "position": 1, - "like": 155 - }, - "46824": { - "position": 1, - "like": 229 - }, - "46826": { - "position": 1, - "like": 231 - }, - "46828": { - "position": 1, - "like": 232 - }, - "46830": { - "position": 5, - "like": 435 - }, - "46836": { - "position": 6, - "like": 165 - }, - "46917": { - "position": 6, - "like": 173 - }, - "46998": { - "position": 6, - "like": 183 - }, - "47125": { - "position": 2, - "like": 403 - }, - "47219": { - "position": 2, - "like": 413 - }, - "47224": { - "position": 1, - "like": 634 - }, - "47233": { - "position": 2, - "like": 630 - }, - "47236": { - "position": 1, - "like": 633 - }, - "47243": { - "position": 1, - "like": 654 - }, - "47248": { - "position": 1, - "like": 655 - }, - "47253": { - "position": 4, - "like": 651 - }, - "47423": { - "position": 1, - "like": 408 - }, - "47425": { - "position": 2, - "like": 405 - }, - "47427": { - "position": 1, - "like": 407 - }, - "47429": { - "position": 6, - "like": 454 - }, - "47512": { - "position": 2, - "like": 481 - }, - "47619": { - "position": 2, - "like": 483 - }, - "47651": { - "position": 1, - "like": 484 - }, - "47697": { - "position": 1, - "like": 452 - }, - "47745": { - "position": 1, - "like": 451 - }, - "47796": { - "position": 2, - "like": 445 - }, - "47880": { - "position": 2, - "like": 496 - }, - "47884": { - "position": 1, - "like": 497 - }, - "47888": { - "position": 1, - "like": 499 - }, - "47890": { - "position": 1, - "like": 500 - }, - "47896": { - "position": 3, - "like": 511 - }, - "47902": { - "position": 3, - "like": 510 - }, - "47904": { - "position": 1, - "like": 527 - }, - "47907": { - "position": 1, - "like": 526 - }, - "47995": { - "position": 3, - "like": 538 - }, - "48001": { - "position": 2, - "like": 544 - }, - "48175": { - "position": 6, - "like": 551 - }, - "48256": { - "position": 6, - "like": 555 - }, - "48340": { - "position": 2, - "like": 560 - }, - "48343": { - "position": 6, - "like": 562 - }, - "48427": { - "position": 2, - "like": 564 - }, - "48433": { - "position": 2, - "like": 572 - }, - "48436": { - "position": 6, - "like": 567 - }, - "48520": { - "position": 2, - "like": 579 - }, - "48523": { - "position": 6, - "like": 574 - }, - "48616": { - "position": 2, - "like": 581 - }, - "48623": { - "position": 2, - "like": 583 - }, - "48625": { - "position": 1, - "like": 584 - }, - "48655": { - "position": 2, - "like": 605 - }, - "48801": { - "position": 6, - "like": 11 - }, - "48852": { - "position": 2, - "like": 14 - }, - "48862": { - "position": 2, - "like": 35 - }, - "48865": { - "position": 2, - "like": 36 - }, - "48874": { - "position": 2, - "like": 40 - }, - "48877": { - "position": 2, - "like": 65 - }, - "48887": { - "position": 6, - "like": 62 - }, - "48938": { - "position": 2, - "like": 619 - }, - "48941": { - "position": 4, - "like": 95 - }, - "48944": { - "position": 2, - "like": 100 - }, - "48948": { - "position": 2, - "like": 102 - }, - "48950": { - "position": 2, - "like": 28 - }, - "48953": { - "position": 2, - "like": 659 - }, - "48962": { - "position": 1, - "like": 267 - }, - "48964": { - "position": 1, - "like": 268 - }, - "48973": { - "position": 1, - "like": 274 - }, - "48977": { - "position": 1, - "like": 275 - }, - "48981": { - "position": 2, - "like": 279 - }, - "49047": { - "position": 2, - "like": 258 - }, - "49052": { - "position": 1, - "like": 259 - }, - "49067": { - "position": 1, - "like": 280 - }, - "49070": { - "position": 1, - "like": 282 - }, - "49076": { - "position": 2, - "like": 139 - }, - "49079": { - "position": 2, - "like": 220 - }, - "49082": { - "position": 2, - "like": 213 - }, - "49085": { - "position": 2, - "like": 156 - }, - "49087": { - "position": 7, - "like": 383 - }, - "49168": { - "position": 2, - "like": 232 - }, - "49222": { - "position": 7, - "like": 391 - }, - "49303": { - "position": 2, - "like": 393 - }, - "49306": { - "position": 5, - "like": 660 - }, - "49311": { - "position": 2, - "like": 631 - }, - "49314": { - "position": 5, - "like": 628 - }, - "49319": { - "position": 5, - "like": 644 - }, - "49324": { - "position": 7, - "like": 380 - }, - "49405": { - "position": 7, - "like": 386 - }, - "49486": { - "position": 2, - "like": 485 - }, - "49521": { - "position": 7, - "like": 492 - }, - "49602": { - "position": 2, - "like": 500 - }, - "49608": { - "position": 4, - "like": 511 - }, - "49817": { - "position": 2, - "like": 545 - }, - "49820": { - "position": 1, - "like": 547 - }, - "49866": { - "position": 1, - "like": 546 - }, - "49993": { - "position": 2, - "like": 561 - }, - "49996": { - "position": 2, - "like": 565 - }, - "49999": { - "position": 2, - "like": 573 - }, - "50002": { - "position": 2, - "like": 580 - }, - "50012": { - "position": 1, - "like": 591 - }, - "50017": { - "position": 1, - "like": 595 - }, - "50019": { - "position": 2, - "like": 588 - }, - "50020": { - "position": 1, - "like": 587 - }, - "50023": { - "position": 3, - "like": 581 - }, - "50025": { - "position": 1, - "like": 586 - }, - "50053": { - "position": 3, - "like": 14 - }, - "50055": { - "position": 2, - "like": 16 - }, - "50059": { - "position": 1, - "like": 20 - }, - "50063": { - "position": 1, - "like": 19 - }, - "50065": { - "position": 3, - "like": 36 - }, - "50068": { - "position": 1, - "like": 38 - }, - "50071": { - "position": 1, - "like": 39 - }, - "50075": { - "position": 1, - "like": 71 - }, - "50079": { - "position": 3, - "like": 65 - }, - "50081": { - "position": 2, - "like": 67 - }, - "50084": { - "position": 1, - "like": 70 - }, - "50086": { - "position": 2, - "like": 103 - }, - "50088": { - "position": 3, - "like": 265 - }, - "50094": { - "position": 2, - "like": 268 - }, - "50101": { - "position": 2, - "like": 272 - }, - "50150": { - "position": 2, - "like": 264 - }, - "50155": { - "position": 2, - "like": 263 - }, - "50160": { - "position": 2, - "like": 283 - }, - "50166": { - "position": 8, - "like": 192 - }, - "50212": { - "position": 2, - "like": 394 - }, - "50218": { - "position": 3, - "like": 501 - }, - "50308": { - "position": 2, - "like": 529 - }, - "50311": { - "position": 1, - "like": 530 - }, - "50314": { - "position": 1, - "like": 532 - }, - "50397": { - "position": 2, - "like": 592 - }, - "50398": { - "position": 2, - "like": 596 - }, - "50489": { - "position": 4, - "like": 606 - }, - "50493": { - "position": 2, - "like": 17 - }, - "50496": { - "position": 2, - "like": 68 - }, - "50502": { - "position": 2, - "like": 270 - }, - "50505": { - "position": 9, - "like": 253 - }, - "50551": { - "position": 3, - "like": 264 - }, - "50556": { - "position": 3, - "like": 263 - }, - "50561": { - "position": 8, - "like": 439 - }, - "50567": { - "position": 4, - "like": 501 - }, - "50580": { - "position": 9, - "like": 523 - }, - "50661": { - "position": 9, - "like": 539 - }, - "50742": { - "position": 4, - "like": 589 - }, - "50831": { - "position": 2, - "like": 271 - }, - "50834": { - "position": 8, - "like": 450 - }, - "50853": { - "position": 1, - "like": 537 - }, - "50858": { - "position": 1, - "like": 536 - }, - "50860": { - "position": 3, - "like": 533 - }, - "50876": { - "position": 1, - "like": 515 - }, - "50880": { - "position": 1, - "like": 519 - }, - "50889": { - "position": 1, - "like": 514 - }, - "50895": { - "position": 1, - "like": 518 - }, - "50897": { - "position": 4, - "like": 534 - }, - "50900": { - "position": 4, - "like": 533 - }, - "50902": { - "position": 6, - "like": 593 - }, - "50905": { - "position": 2, - "like": 519 - }, - "50912": { - "position": 2, - "like": 512 - }, - "50915": { - "position": 3, - "like": 516 - }, - "50917": { - "position": 5, - "like": 534 - }, - "50923": { - "position": 2, - "like": 521 - }, - "50926": { - "position": 2, - "like": 522 - } - }, - "actionsByOldId": { - "0": "dA", - "1": "dA", - "2": "Inline", - "3": "Inline", - "4": "Inline", - "5": "Inline", - "6": [ - "ListSnoc", - "prelude_I1*", - "prelude_I1", - true - ], - "7": "Inline", - "8": "Inline", - "9": "dA", - "10": "dA", - "11": "dA", - "12": "Inline", - "13": "Inline", - "14": "Inline", - "15": "Inline", - "16": [ - "ListSnoc", - "import-stmt_A1_I4_I1*", - "import-stmt_A1_I4_I1", - true - ], - "17": "Inline", - "18": "Inline", - "19": "Inline", - "20": "Inline", - "21": "dA", - "22": "dA", - "23": "dA", - "24": "dA", - "25": "dA", - "26": "Inline", - "27": [ - "ListSnoc", - "import-special_I3*", - "import-special_I3", - true - ], - "28": "Inline", - "29": "dA", - "30": "dA", - "31": "dA", - "32": "dA", - "33": "dA", - "34": "dA", - "35": "dA", - "36": "dA", - "37": "Inline", - "38": "Inline", - "39": "Inline", - "40": "dA", - "41": "dA", - "42": "dA", - "43": "dA", - "44": "dA", - "45": "dA", - "46": "Inline", - "47": "Inline", - "48": "dA", - "49": "dA", - "50": "Inline", - "51": "Inline", - "52": "dA", - "53": "Inline", - "54": "Inline", - "55": "Inline", - "56": "Inline", - "57": [ - "ListSnoc", - "provide-block_A0_I1_I1*", - "provide-block_A0_I1_I1", - true - ], - "58": "Inline", - "59": "Inline", - "60": "Inline", - "61": "Inline", - "62": "dA", - "63": "Inline", - "64": "Inline", - "65": "Inline", - "66": "Inline", - "67": [ - "ListSnoc", - "provide-block_A1_I4_I1*", - "provide-block_A1_I4_I1", - true - ], - "68": "Inline", - "69": "Inline", - "70": "Inline", - "71": "Inline", - "72": "dA", - "73": "dA", - "74": "dA", - "75": "dA", - "76": "dA", - "77": "Inline", - "78": "Inline", - "79": "Inline", - "80": "Inline", - "81": "Inline", - "82": "dA", - "83": "dA", - "84": "dA", - "85": "Inline", - "86": "Inline", - "87": "dA", - "88": "dA", - "89": "dA", - "90": "dA", - "91": "Inline", - "92": "Inline", - "93": "Inline", - "94": "dA", - "95": "dA", - "96": "Inline", - "97": "Inline", - "98": "Inline", - "99": "Inline", - "100": "Inline", - "101": "Inline", - "102": [ - "ListSnoc", - "hiding-spec_I2_I0*", - "hiding-spec_I2_I0", - true - ], - "103": "Inline", - "104": "dA", - "105": "Inline", - "106": [ - "ListSnoc", - "module-ref_I0*", - "module-ref_I0", - true - ], - "107": "Inline", - "108": "dA", - "109": "Inline", - "110": [ - "ListSnoc", - "comma-names_I1*", - "comma-names_I1", - true - ], - "111": "Inline", - "112": "dA", - "113": "Inline", - "114": [ - "ListSnoc", - "block_I0*", - "block_I0", - true - ], - "115": "Inline", - "116": "dA", - "117": "dA", - "118": "dA", - "119": "dA", - "120": "dA", - "121": "dA", - "122": "dA", - "123": "dA", - "124": "dA", - "125": "dA", - "126": "dA", - "127": "dA", - "128": "dA", - "129": "dA", - "130": "Inline", - "131": "Inline", - "132": "Inline", - "133": "Inline", - "134": "Inline", - "135": "Inline", - "136": "dA", - "137": "Inline", - "138": [ - "ListSnoc", - "spy-contents_I1*", - "spy-contents_I1", - true - ], - "139": "Inline", - "140": "dA", - "141": "dA", - "142": "dA", - "143": "dA", - "144": "dA", - "145": "dA", - "146": "dA", - "147": "dA", - "148": "Inline", - "149": [ - "ListSnoc", - "tuple-binding_I1*", - "tuple-binding_I1", - true - ], - "150": "Inline", - "151": "Inline", - "152": "Inline", - "153": "Inline", - "154": "Inline", - "155": "Inline", - "156": "Inline", - "157": "dA", - "158": "Inline", - "159": "Inline", - "160": "Inline", - "161": "Inline", - "162": "Inline", - "163": "Inline", - "164": "dA", - "165": "dA", - "166": "Inline", - "167": [ - "ListSnoc", - "multi-let-expr_I2*", - "multi-let-expr_I2", - true - ], - "168": "Inline", - "169": "Inline", - "170": "Inline", - "171": "dA", - "172": "dA", - "173": "dA", - "174": "Inline", - "175": [ - "ListSnoc", - "letrec-expr_I2*", - "letrec-expr_I2", - true - ], - "176": "Inline", - "177": "Inline", - "178": "Inline", - "179": "dA", - "180": "dA", - "181": "dA", - "182": "dA", - "183": "dA", - "184": "Inline", - "185": [ - "ListSnoc", - "type-let-expr_I2*", - "type-let-expr_I2", - true - ], - "186": "Inline", - "187": "Inline", - "188": "Inline", - "189": "dA", - "190": "Inline", - "191": "Inline", - "192": "dA", - "193": "Inline", - "194": "Inline", - "195": "dA", - "196": "dA", - "197": "dA", - "198": "Inline", - "199": "Inline", - "200": "Inline", - "201": "Inline", - "202": "Inline", - "203": "Inline", - "204": "Inline", - "205": "dA", - "206": "Inline", - "207": "Inline", - "208": "Inline", - "209": "Inline", - "210": "Inline", - "211": "Inline", - "212": [ - "ListSnoc", - "args_I1_I1*", - "args_I1_I1", - true - ], - "213": "Inline", - "214": "dA", - "215": "Inline", - "216": "Inline", - "217": "Inline", - "218": "Inline", - "219": [ - "ListSnoc", - "bad-args_I1_I1*", - "bad-args_I1_I1", - true - ], - "220": "Inline", - "221": "dA", - "222": "Inline", - "223": "Inline", - "224": "Inline", - "225": "dA", - "226": "Inline", - "227": "Inline", - "228": "Inline", - "229": "dA", - "230": "Inline", - "231": "Inline", - "232": "Inline", - "233": "dA", - "234": "Inline", - "235": "Inline", - "236": "dA", - "237": "Inline", - "238": "Inline", - "239": "dA", - "240": "Inline", - "241": "Inline", - "242": "Inline", - "243": "Inline", - "244": "Inline", - "245": "Inline", - "246": "Inline", - "247": "Inline", - "248": "dA", - "249": "Inline", - "250": "Inline", - "251": "Inline", - "252": "dA", - "253": "dA", - "254": "Inline", - "255": "Inline", - "256": "Inline", - "257": "Inline", - "258": [ - "ListSnoc", - "data-expr_I5*", - "data-expr_I5", - true - ], - "259": "Inline", - "260": "dA", - "261": "dA", - "262": "dA", - "263": "dA", - "264": "dA", - "265": "dA", - "266": "Inline", - "267": "Inline", - "268": "Inline", - "269": "Inline", - "270": [ - "ListSnoc", - "variant-members_I1_I1*", - "variant-members_I1_I1", - true - ], - "271": "Inline", - "272": "dA", - "273": "Inline", - "274": "Inline", - "275": "Inline", - "276": "dA", - "277": "Inline", - "278": "Inline", - "279": "Inline", - "280": "dA", - "281": "Inline", - "282": "Inline", - "283": "Inline", - "284": "dA", - "285": "dA", - "286": "dA", - "287": "dA", - "288": "Inline", - "289": "Inline", - "290": "dA", - "291": "Inline", - "292": [ - "ListSnoc", - "binop-expr_I1*", - "binop-expr_I1", - true - ], - "293": "Inline", - "294": "dA", - "295": "dA", - "296": "dA", - "297": "dA", - "298": "dA", - "299": "dA", - "300": "dA", - "301": "dA", - "302": "dA", - "303": "dA", - "304": "dA", - "305": "dA", - "306": "dA", - "307": "dA", - "308": "dA", - "309": "dA", - "310": "dA", - "311": "dA", - "312": "dA", - "313": "dA", - "314": "dA", - "315": "dA", - "316": "dA", - "317": "dA", - "318": "dA", - "319": "dA", - "320": "dA", - "321": "dA", - "322": "dA", - "323": "dA", - "324": "dA", - "325": "dA", - "326": "dA", - "327": "dA", - "328": "dA", - "329": "dA", - "330": "dA", - "331": "dA", - "332": "dA", - "333": "dA", - "334": "dA", - "335": "dA", - "336": "dA", - "337": "dA", - "338": "dA", - "339": "dA", - "340": "dA", - "341": "dA", - "342": "dA", - "343": "dA", - "344": "dA", - "345": "dA", - "346": "dA", - "347": "dA", - "348": "dA", - "349": "dA", - "350": "dA", - "351": "dA", - "352": "dA", - "353": "dA", - "354": "dA", - "355": "dA", - "356": "dA", - "357": "dA", - "358": "dA", - "359": "dA", - "360": "dA", - "361": "dA", - "362": "dA", - "363": "dA", - "364": "dA", - "365": "dA", - "366": "Inline", - "367": "Inline", - "368": "dA", - "369": "dA", - "370": "dA", - "371": "dA", - "372": "dA", - "373": "dA", - "374": "dA", - "375": "dA", - "376": "dA", - "377": "dA", - "378": "dA", - "379": "dA", - "380": "dA", - "381": "Inline", - "382": "Inline", - "383": "dA", - "384": "Inline", - "385": "Inline", - "386": "dA", - "387": "Inline", - "388": "Inline", - "389": "dA", - "390": "dA", - "391": "dA", - "392": "Inline", - "393": [ - "ListSnoc", - "app-expr_A2_I5*", - "app-expr_A2_I5", - true - ], - "394": "Inline", - "395": "dA", - "396": "dA", - "397": "Inline", - "398": "Inline", - "399": "Inline", - "400": "dA", - "401": "Inline", - "402": [ - "ListSnoc", - "comma-binops_I1*", - "comma-binops_I1", - true - ], - "403": "Inline", - "404": "dA", - "405": "Inline", - "406": "Inline", - "407": "Inline", - "408": "Inline", - "409": "Inline", - "410": "dA", - "411": "Inline", - "412": [ - "ListSnoc", - "inst-expr_I3*", - "inst-expr_I3", - true - ], - "413": "Inline", - "414": "Inline", - "415": "Inline", - "416": "dA", - "417": "dA", - "418": "Inline", - "419": [ - "ListSnoc", - "tuple-fields_I1*", - "tuple-fields_I1", - true - ], - "420": "Inline", - "421": "Inline", - "422": "Inline", - "423": "Inline", - "424": "dA", - "425": "dA", - "426": "dA", - "427": "dA", - "428": "Inline", - "429": [ - "ListSnoc", - "obj-fields_I1*", - "obj-fields_I1", - true - ], - "430": "Inline", - "431": "Inline", - "432": "Inline", - "433": "Inline", - "434": "dA", - "435": "dA", - "436": "Inline", - "437": "Inline", - "438": "Inline", - "439": "dA", - "440": "Inline", - "441": "Inline", - "442": "dA", - "443": "Inline", - "444": [ - "ListSnoc", - "fields_I1*", - "fields_I1", - true - ], - "445": "Inline", - "446": "Inline", - "447": "Inline", - "448": "Inline", - "449": "dA", - "450": "dA", - "451": "Inline", - "452": "Inline", - "453": "dA", - "454": "dA", - "455": "dA", - "456": "dA", - "457": "dA", - "458": "dA", - "459": "Inline", - "460": "Inline", - "461": "Inline", - "462": "Inline", - "463": [ - "ListSnoc", - "table-headers_I0_I0*", - "table-headers_I0_I0", - true - ], - "464": "Inline", - "465": "dA", - "466": "dA", - "467": "Inline", - "468": "Inline", - "469": "Inline", - "470": "dA", - "471": "Inline", - "472": "Inline", - "473": "Inline", - "474": "Inline", - "475": [ - "ListSnoc", - "table-rows_I0_I0*", - "table-rows_I0_I0", - true - ], - "476": "Inline", - "477": "dA", - "478": "dA", - "479": "Inline", - "480": "Inline", - "481": "Inline", - "482": "Inline", - "483": [ - "ListSnoc", - "table-items_I0_I0*", - "table-items_I0_I0", - true - ], - "484": "Inline", - "485": "dA", - "486": "dA", - "487": "dA", - "488": "dA", - "489": "dA", - "490": "dA", - "491": "dA", - "492": "dA", - "493": "Inline", - "494": "Inline", - "495": "Inline", - "496": [ - "ListSnoc", - "if-expr_I4*", - "if-expr_I4", - true - ], - "497": "Inline", - "498": "Inline", - "499": "Inline", - "500": "Inline", - "501": "dA", - "502": "dA", - "503": "Inline", - "504": "Inline", - "505": "Inline", - "506": [ - "ListSnoc", - "if-pipe-expr_I2*", - "if-pipe-expr_I2", - true - ], - "507": "Inline", - "508": "Inline", - "509": "Inline", - "510": "Inline", - "511": "dA", - "512": "dA", - "513": "Inline", - "514": "Inline", - "515": "Inline", - "516": "dA", - "517": "Inline", - "518": "Inline", - "519": "Inline", - "520": "Inline", - "521": [ - "ListSnoc", - "cases-args_I1_I1*", - "cases-args_I1_I1", - true - ], - "522": "Inline", - "523": "dA", - "524": "Inline", - "525": "Inline", - "526": "Inline", - "527": "Inline", - "528": "Inline", - "529": [ - "ListSnoc", - "cases-expr_I6*", - "cases-expr_I6", - true - ], - "530": "Inline", - "531": "Inline", - "532": "Inline", - "533": "Inline", - "534": "dA", - "535": "Inline", - "536": "Inline", - "537": "Inline", - "538": "dA", - "539": "dA", - "540": "Inline", - "541": "Inline", - "542": "Inline", - "543": "Inline", - "544": [ - "ListSnoc", - "for-expr_I3_I1*", - "for-expr_I3_I1", - true - ], - "545": "Inline", - "546": "Inline", - "547": "Inline", - "548": "dA", - "549": "Inline", - "550": "Inline", - "551": "dA", - "552": "Inline", - "553": [ - "ListSnoc", - "table-select_I2*", - "table-select_I2", - true - ], - "554": "Inline", - "555": "dA", - "556": "Inline", - "557": "Inline", - "558": "Inline", - "559": "Inline", - "560": [ - "ListSnoc", - "table-filter_I2_I2*", - "table-filter_I2_I2", - true - ], - "561": "Inline", - "562": "dA", - "563": "Inline", - "564": [ - "ListSnoc", - "table-order_I4*", - "table-order_I4", - true - ], - "565": "Inline", - "566": "dA", - "567": "dA", - "568": "Inline", - "569": "Inline", - "570": "Inline", - "571": "Inline", - "572": [ - "ListSnoc", - "table-update_I2_I2*", - "table-update_I2_I2", - true - ], - "573": "Inline", - "574": "dA", - "575": "Inline", - "576": "Inline", - "577": "Inline", - "578": "Inline", - "579": [ - "ListSnoc", - "table-extend_I2_I2*", - "table-extend_I2_I2", - true - ], - "580": "Inline", - "581": "dA", - "582": "Inline", - "583": [ - "ListSnoc", - "table-extend-fields_I0*", - "table-extend-fields_I0", - true - ], - "584": "Inline", - "585": "Inline", - "586": "Inline", - "587": "Inline", - "588": "dA", - "589": "dA", - "590": "Inline", - "591": "Inline", - "592": "Inline", - "593": "dA", - "594": "Inline", - "595": "Inline", - "596": "Inline", - "597": "dA", - "598": "Inline", - "599": "Inline", - "600": "Inline", - "601": "dA", - "602": "Inline", - "603": [ - "ListSnoc", - "load-table-specs_I0*", - "load-table-specs_I0", - true - ], - "604": "Inline", - "605": "dA", - "606": "dA", - "607": "dA", - "608": "dA", - "609": "dA", - "610": "dA", - "611": "dA", - "612": "dA", - "613": "dA", - "614": "dA", - "615": "dA", - "616": "dA", - "617": "Inline", - "618": [ - "ListSnoc", - "comma-ann-field_I1*", - "comma-ann-field_I1", - true - ], - "619": "Inline", - "620": "dA", - "621": "Inline", - "622": "Inline", - "623": "Inline", - "624": "Inline", - "625": "Inline", - "626": "dA", - "627": "dA", - "628": "dA", - "629": "Inline", - "630": [ - "ListSnoc", - "tuple-ann_I2*", - "tuple-ann_I2", - true - ], - "631": "Inline", - "632": "Inline", - "633": "Inline", - "634": "Inline", - "635": "dA", - "636": "Inline", - "637": "Inline", - "638": "Inline", - "639": "dA", - "640": "dA", - "641": "Inline", - "642": "Inline", - "643": "Inline", - "644": "dA", - "645": "Inline", - "646": "Inline", - "647": "Inline", - "648": "Inline", - "649": "Inline", - "650": "Inline", - "651": "dA", - "652": "Inline", - "653": "Inline", - "654": "Inline", - "655": "Inline", - "656": "dA", - "657": "Inline", - "658": [ - "ListSnoc", - "comma-anns_I1*", - "comma-anns_I1", - true - ], - "659": "Inline", - "660": "dA", - "661": "Inline", - "662": "Inline", - "663": "dA", - "664": "dA" - }, - "flagsByOldId": {}, - "rules": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 21, - 22, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 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, - 62, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 82, - 83, - 77, - 78, - 79, - 80, - 81, - 84, - 87, - 85, - 86, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 236, - 234, - 235, - 237, - 238, - 239, - 248, - 252, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 249, - 250, - 251, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 383, - 381, - 382, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 409, - 406, - 407, - 408, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 439, - 436, - 437, - 438, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 593, - 590, - 591, - 592, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 625, - 622, - 623, - 624, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664 - ], - "reduceActions": [ - 0, - 1, - 1, - 2, - 2, - 3, - 914, - 22, - 112, - 22, - 113, - 23, - 1007, - 4, - 5, - 4, - 1153, - 0, - 1204, - 0, - 1306, - 0, - 158, - 30, - 1308, - 0, - 9489, - 0, - 10589, - 0, - 10760, - 0, - 10933, - 0, - 10979, - 0, - 11011, - 0, - 11057, - 0, - 11103, - 0, - 11149, - 0, - 11195, - 0, - 11241, - 0, - 11287, - 0, - 11333, - 0, - 11379, - 0, - 11425, - 0, - 11471, - 0, - 11517, - 0, - 11563, - 0, - 11609, - 0, - 130, - 24, - 11789, - 0, - 12451, - 0, - 12624, - 0, - 12626, - 0, - 12628, - 0, - 148, - 27, - 197, - 35, - 198, - 36, - 13157, - 0, - 13159, - 0, - 13161, - 0, - 13417, - 0, - 13579, - 0, - 13799, - 0, - 13877, - 0, - 13879, - 0, - 13927, - 0, - 13973, - 0, - 14157, - 59, - 291, - 59, - 15261, - 0, - 15342, - 0, - 15423, - 0, - 15504, - 0, - 15585, - 0, - 15666, - 0, - 15747, - 0, - 15828, - 0, - 15909, - 0, - 15990, - 0, - 16071, - 0, - 16152, - 0, - 16233, - 0, - 16314, - 0, - 16395, - 0, - 16476, - 0, - 16557, - 0, - 16638, - 0, - 16719, - 0, - 16800, - 0, - 16881, - 0, - 16962, - 0, - 17043, - 0, - 17124, - 0, - 17205, - 0, - 17286, - 0, - 17367, - 0, - 17448, - 0, - 17529, - 0, - 17610, - 0, - 17691, - 0, - 17936, - 0, - 18017, - 0, - 18098, - 0, - 18179, - 0, - 18260, - 0, - 18341, - 0, - 18422, - 0, - 18503, - 0, - 18584, - 0, - 18665, - 0, - 455, - 75, - 462, - 78, - 458, - 76, - 459, - 77, - 20210, - 0, - 20261, - 0, - 20312, - 0, - 20572, - 0, - 20623, - 0, - 20674, - 0, - 105, - 20, - 53, - 10, - 21430, - 0, - 21531, - 0, - 21582, - 0, - 21633, - 0, - 21936, - 0, - 21938, - 0, - 240, - 47, - 22163, - 49, - 249, - 49, - 22344, - 0, - 22377, - 0, - 22410, - 0, - 22443, - 0, - 22476, - 0, - 22509, - 0, - 22542, - 0, - 22575, - 0, - 22608, - 0, - 22641, - 0, - 22674, - 0, - 22707, - 0, - 22740, - 0, - 22773, - 0, - 22806, - 0, - 22839, - 0, - 22978, - 0, - 22984, - 125, - 418, - 68, - 23037, - 0, - 23307, - 0, - 23311, - 0, - 23321, - 0, - 23323, - 0, - 23615, - 126, - 428, - 70, - 23652, - 31, - 161, - 31, - 23657, - 0, - 23661, - 0, - 166, - 32, - 174, - 33, - 23935, - 0, - 23939, - 0, - 184, - 34, - 396, - 61, - 397, - 62, - 25129, - 0, - 25809, - 0, - 26814, - 0, - 470, - 80, - 471, - 81, - 474, - 82, - 26933, - 0, - 26936, - 0, - 27210, - 0, - 27213, - 0, - 505, - 88, - 27301, - 0, - 27307, - 0, - 552, - 98, - 556, - 99, - 568, - 102, - 575, - 104, - 28160, - 0, - 28263, - 21, - 109, - 21, - 28483, - 0, - 28534, - 0, - 28585, - 0, - 28746, - 0, - 28797, - 0, - 28848, - 0, - 28899, - 0, - 620, - 113, - 625, - 114, - 29008, - 0, - 29014, - 0, - 29039, - 0, - 29043, - 0, - 29098, - 0, - 29100, - 123, - 56, - 11, - 29106, - 0, - 29109, - 0, - 29112, - 0, - 29115, - 0, - 29118, - 16, - 79, - 16, - 636, - 118, - 29985, - 0, - 133, - 25, - 30316, - 0, - 30488, - 0, - 30534, - 0, - 30626, - 0, - 30672, - 69, - 421, - 69, - 30682, - 0, - 215, - 39, - 30702, - 41, - 221, - 41, - 222, - 42, - 30713, - 41, - 208, - 37, - 30723, - 0, - 151, - 28, - 30743, - 0, - 30749, - 0, - 30797, - 0, - 225, - 43, - 226, - 44, - 436, - 72, - 31143, - 0, - 31224, - 0, - 31305, - 71, - 431, - 71, - 31318, - 0, - 31320, - 0, - 31516, - 0, - 32147, - 0, - 32285, - 0, - 32331, - 0, - 32425, - 63, - 401, - 63, - 32582, - 0, - 32584, - 0, - 32586, - 0, - 32602, - 0, - 32764, - 0, - 33010, - 0, - 33022, - 0, - 33029, - 0, - 33034, - 0, - 411, - 67, - 33170, - 0, - 33177, - 0, - 33178, - 0, - 33184, - 0, - 33189, - 0, - 33194, - 0, - 33199, - 0, - 33200, - 0, - 33206, - 0, - 648, - 119, - 33224, - 0, - 33256, - 0, - 33288, - 0, - 33320, - 0, - 33474, - 0, - 33506, - 0, - 33538, - 0, - 33570, - 0, - 33602, - 0, - 33634, - 0, - 33666, - 0, - 33698, - 0, - 33730, - 0, - 33762, - 0, - 33794, - 0, - 33826, - 0, - 34025, - 0, - 34187, - 0, - 34268, - 0, - 34316, - 0, - 34449, - 0, - 34497, - 0, - 34788, - 0, - 34790, - 0, - 34799, - 79, - 467, - 79, - 34812, - 0, - 34817, - 0, - 34819, - 0, - 34908, - 127, - 443, - 73, - 34914, - 0, - 34962, - 0, - 508, - 89, - 540, - 96, - 35562, - 0, - 35817, - 0, - 35902, - 0, - 598, - 110, - 602, - 111, - 36054, - 0, - 36214, - 0, - 36268, - 115, - 622, - 115, - 36273, - 112, - 617, - 112, - 36331, - 0, - 36336, - 0, - 36339, - 0, - 36343, - 17, - 91, - 17, - 36352, - 0, - 36356, - 0, - 36360, - 0, - 36365, - 0, - 36368, - 0, - 36419, - 12, - 59, - 12, - 36429, - 0, - 36432, - 0, - 36435, - 0, - 36445, - 0, - 36451, - 0, - 26, - 8, - 36600, - 0, - 36648, - 0, - 36650, - 0, - 657, - 120, - 36651, - 120, - 36795, - 0, - 36841, - 0, - 36887, - 0, - 37211, - 0, - 37213, - 0, - 37215, - 0, - 254, - 50, - 37479, - 0, - 37481, - 0, - 37483, - 26, - 137, - 26, - 37489, - 0, - 37494, - 48, - 245, - 48, - 37759, - 0, - 37791, - 0, - 37855, - 0, - 37901, - 0, - 37948, - 0, - 37952, - 0, - 37954, - 0, - 37957, - 0, - 218, - 40, - 37959, - 40, - 37977, - 0, - 37979, - 0, - 37982, - 0, - 37985, - 0, - 38005, - 0, - 211, - 38, - 38008, - 38, - 38018, - 0, - 38022, - 0, - 38023, - 0, - 38028, - 0, - 38117, - 0, - 38164, - 0, - 38264, - 0, - 38268, - 0, - 38272, - 0, - 38281, - 0, - 38381, - 0, - 38385, - 0, - 38387, - 0, - 38390, - 0, - 38392, - 0, - 38398, - 0, - 38411, - 0, - 38542, - 0, - 38546, - 0, - 38592, - 0, - 38642, - 0, - 38769, - 0, - 38781, - 0, - 38831, - 0, - 38958, - 0, - 38962, - 0, - 39010, - 0, - 39150, - 0, - 39196, - 0, - 39288, - 0, - 39295, - 0, - 629, - 116, - 39926, - 0, - 39933, - 0, - 39942, - 0, - 40019, - 0, - 404, - 64, - 409, - 65, - 40432, - 0, - 40513, - 0, - 40514, - 0, - 40517, - 0, - 482, - 85, - 40519, - 83, - 478, - 83, - 479, - 84, - 40624, - 0, - 40628, - 0, - 40632, - 0, - 40634, - 0, - 40721, - 74, - 446, - 74, - 495, - 86, - 41217, - 0, - 41220, - 0, - 41223, - 0, - 543, - 97, - 41314, - 97, - 41401, - 0, - 41487, - 0, - 41571, - 100, - 559, - 100, - 563, - 101, - 41754, - 103, - 571, - 103, - 41845, - 105, - 578, - 105, - 582, - 106, - 42016, - 0, - 42018, - 0, - 12, - 5, - 42106, - 0, - 42109, - 0, - 42160, - 0, - 63, - 13, - 42268, - 0, - 42270, - 0, - 42272, - 0, - 42274, - 0, - 42282, - 0, - 42333, - 0, - 42336, - 0, - 42339, - 0, - 42342, - 0, - 42346, - 0, - 42350, - 0, - 42352, - 0, - 42355, - 0, - 42357, - 0, - 101, - 19, - 98, - 18, - 42368, - 0, - 42371, - 0, - 42475, - 0, - 42534, - 0, - 42580, - 55, - 276, - 55, - 277, - 56, - 257, - 51, - 42666, - 0, - 42671, - 0, - 42676, - 55, - 42684, - 0, - 42730, - 0, - 42737, - 0, - 42783, - 0, - 42907, - 0, - 42910, - 0, - 42917, - 0, - 42924, - 0, - 42938, - 0, - 42945, - 0, - 42949, - 29, - 154, - 29, - 229, - 45, - 230, - 46, - 43186, - 0, - 43233, - 0, - 43238, - 0, - 43286, - 0, - 43337, - 0, - 43341, - 0, - 43426, - 0, - 43511, - 0, - 43515, - 0, - 43519, - 0, - 43650, - 0, - 43696, - 0, - 43745, - 0, - 392, - 60, - 43833, - 0, - 43914, - 0, - 43995, - 0, - 44001, - 0, - 44003, - 0, - 44014, - 0, - 44095, - 0, - 44176, - 0, - 44257, - 0, - 632, - 117, - 44302, - 0, - 44553, - 66, - 406, - 66, - 44639, - 0, - 44641, - 0, - 44644, - 0, - 44647, - 0, - 44836, - 0, - 44959, - 0, - 44963, - 0, - 44967, - 0, - 44969, - 0, - 44972, - 0, - 498, - 87, - 45148, - 22, - 45159, - 0, - 45328, - 0, - 45497, - 0, - 45581, - 0, - 45588, - 0, - 45591, - 0, - 45594, - 0, - 45683, - 0, - 45775, - 0, - 45869, - 0, - 45967, - 0, - 46048, - 0, - 46049, - 0, - 46053, - 0, - 46279, - 0, - 46281, - 122, - 15, - 6, - 46287, - 0, - 46290, - 0, - 46293, - 0, - 46296, - 0, - 46299, - 0, - 46311, - 0, - 46314, - 124, - 66, - 14, - 46371, - 0, - 46373, - 0, - 46379, - 0, - 46382, - 0, - 46388, - 0, - 46398, - 0, - 46449, - 0, - 46455, - 0, - 46458, - 0, - 46504, - 0, - 273, - 54, - 266, - 52, - 46526, - 0, - 46532, - 0, - 46537, - 0, - 46542, - 0, - 280, - 57, - 281, - 58, - 46632, - 0, - 46637, - 0, - 46643, - 0, - 46646, - 0, - 46692, - 0, - 46727, - 0, - 46734, - 0, - 46739, - 0, - 46741, - 0, - 46824, - 0, - 46826, - 0, - 46828, - 22, - 46830, - 0, - 46836, - 0, - 46917, - 0, - 46998, - 0, - 47125, - 0, - 47219, - 0, - 47224, - 0, - 47233, - 0, - 47236, - 0, - 47243, - 0, - 47248, - 0, - 47253, - 0, - 47423, - 0, - 47425, - 0, - 47427, - 0, - 47429, - 0, - 47512, - 0, - 47619, - 0, - 47651, - 0, - 47697, - 0, - 47745, - 0, - 47796, - 0, - 47880, - 0, - 47884, - 0, - 47888, - 0, - 47890, - 22, - 47896, - 22, - 47902, - 0, - 47904, - 0, - 47907, - 0, - 528, - 93, - 47995, - 0, - 48001, - 0, - 48175, - 0, - 48256, - 0, - 48340, - 0, - 48343, - 0, - 48427, - 0, - 48433, - 0, - 48436, - 0, - 48520, - 0, - 48523, - 0, - 590, - 108, - 594, - 109, - 48616, - 107, - 585, - 107, - 48623, - 0, - 48625, - 0, - 48655, - 0, - 48801, - 0, - 48852, - 7, - 18, - 7, - 48862, - 0, - 48865, - 9, - 37, - 9, - 48874, - 0, - 48877, - 15, - 69, - 15, - 48887, - 0, - 48938, - 0, - 48941, - 0, - 48944, - 0, - 48948, - 0, - 48950, - 0, - 48953, - 0, - 48962, - 0, - 269, - 53, - 48964, - 53, - 48973, - 0, - 48977, - 0, - 48981, - 0, - 49047, - 0, - 49052, - 0, - 49067, - 0, - 49070, - 0, - 49076, - 0, - 49079, - 0, - 49082, - 0, - 49085, - 0, - 49087, - 0, - 49168, - 0, - 49222, - 0, - 49303, - 0, - 49306, - 0, - 49311, - 0, - 49314, - 0, - 49319, - 0, - 49324, - 0, - 49405, - 0, - 49486, - 0, - 49521, - 0, - 49602, - 0, - 49608, - 0, - 531, - 94, - 49817, - 0, - 49820, - 0, - 49866, - 0, - 49993, - 0, - 49996, - 0, - 49999, - 0, - 50002, - 0, - 50012, - 0, - 50017, - 0, - 50019, - 0, - 50020, - 0, - 50023, - 0, - 50025, - 0, - 50053, - 0, - 50055, - 0, - 50059, - 0, - 50063, - 0, - 50065, - 0, - 50068, - 0, - 50071, - 0, - 50075, - 0, - 50079, - 0, - 50081, - 0, - 50084, - 0, - 50086, - 0, - 50088, - 0, - 50094, - 0, - 50101, - 0, - 50150, - 55, - 50155, - 55, - 50160, - 0, - 50166, - 0, - 50212, - 0, - 50218, - 22, - 50308, - 0, - 50311, - 0, - 50314, - 0, - 50397, - 0, - 50398, - 0, - 50489, - 0, - 50493, - 0, - 50496, - 0, - 50502, - 0, - 50505, - 0, - 50551, - 0, - 50556, - 0, - 50561, - 0, - 50567, - 0, - 535, - 95, - 50580, - 0, - 50661, - 0, - 50742, - 0, - 50831, - 0, - 50834, - 0, - 513, - 90, - 517, - 91, - 50853, - 0, - 50858, - 0, - 50860, - 22, - 50876, - 0, - 520, - 92, - 50880, - 92, - 50889, - 0, - 50895, - 0, - 50897, - 22, - 50900, - 0, - 50902, - 0, - 50905, - 0, - 50912, - 0, - 50915, - 0, - 50917, - 0, - 50923, - 0, - 50926, - 0 - ], - "rnTable": [ - { - "program": [ - 1 - ], - "prelude": [ - 2 - ], - "prelude_I0?": [ - 3 - ], - "prelude_I0": [ - 4 - ], - "use-stmt": [ - 5 - ], - "'USE": [ - 6 - ], - "$": [ - -1, - 0, - 2, - 4 - ], - "'NAME": [ - -1, - 2, - 4 - ], - "'INCLUDE": [ - -1, - 4 - ], - "'IMPORT": [ - -1, - 4 - ], - "'STRING": [ - -1, - 2, - 4 - ], - "'TYPE": [ - -1, - 2, - 4 - ], - "'DATA": [ - -1, - 2, - 4 - ], - "'PROVIDE": [ - -1, - 4 - ], - "'PROVIDE-TYPES": [ - -1, - 4 - ], - "'PROVIDECOLON": [ - -1, - 4 - ], - "'PARENSPACE": [ - -1, - 2, - 4 - ], - "'SPY": [ - -1, - 2, - 4 - ], - "'NEWTYPE": [ - -1, - 2, - 4 - ], - "'LBRACE": [ - -1, - 2, - 4 - ], - "'SHADOW": [ - -1, - 2, - 4 - ], - "'LET": [ - -1, - 2, - 4 - ], - "'BLOCK": [ - -1, - 2, - 4 - ], - "'LETREC": [ - -1, - 2, - 4 - ], - "'TYPE-LET": [ - -1, - 2, - 4 - ], - "'FUN": [ - -1, - 2, - 4 - ], - "'PARENAFTERBRACE": [ - -1, - 2, - 4 - ], - "'CHECK": [ - -1, - 2, - 4 - ], - "'EXAMPLES": [ - -1, - 2, - 4 - ], - "'CHECKCOLON": [ - -1, - 2, - 4 - ], - "'EXAMPLESCOLON": [ - -1, - 2, - 4 - ], - "'VAR": [ - -1, - 2, - 4 - ], - "'REC": [ - -1, - 2, - 4 - ], - "'WHEN": [ - -1, - 2, - 4 - ], - "'DOTDOTDOT": [ - -1, - 2, - 4 - ], - "'NUMBER": [ - -1, - 2, - 4 - ], - "'RATIONAL": [ - -1, - 2, - 4 - ], - "'ROUGHRATIONAL": [ - -1, - 2, - 4 - ], - "'TRUE": [ - -1, - 2, - 4 - ], - "'FALSE": [ - -1, - 2, - 4 - ], - "'LAM": [ - -1, - 2, - 4 - ], - "'METHOD": [ - -1, - 2, - 4 - ], - "'LBRACK": [ - -1, - 2, - 4 - ], - "'TABLE": [ - -1, - 2, - 4 - ], - "'REACTOR": [ - -1, - 2, - 4 - ], - "'IF": [ - -1, - 2, - 4 - ], - "'ASK": [ - -1, - 2, - 4 - ], - "'CASES": [ - -1, - 2, - 4 - ], - "'FOR": [ - -1, - 2, - 4 - ], - "'TABLE-SELECT": [ - -1, - 2, - 4 - ], - "'TABLE-FILTER": [ - -1, - 2, - 4 - ], - "'TABLE-ORDER": [ - -1, - 2, - 4 - ], - "'TABLE-EXTRACT": [ - -1, - 2, - 4 - ], - "'TABLE-UPDATE": [ - -1, - 2, - 4 - ], - "'TABLE-EXTEND": [ - -1, - 2, - 4 - ], - "'LOAD-TABLE": [ - -1, - 2, - 4 - ] - }, - { - "$": [ - -1, - -1 - ] - }, - { - "block": [ - 7 - ], - "block_I0*": [ - 8 - ], - "$": [ - -1, - 6, - 8, - 10 - ], - "'NAME": [ - -1, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "prelude_I1*": [ - 9 - ], - "$": [ - -1, - 12, - 14 - ], - "'NAME": [ - -1, - 12, - 14 - ], - "'INCLUDE": [ - -1, - 14 - ], - "'IMPORT": [ - -1, - 14 - ], - "'STRING": [ - -1, - 12, - 14 - ], - "'TYPE": [ - -1, - 12, - 14 - ], - "'DATA": [ - -1, - 12, - 14 - ], - "'PROVIDE": [ - -1, - 14 - ], - "'PROVIDE-TYPES": [ - -1, - 14 - ], - "'PROVIDECOLON": [ - -1, - 14 - ], - "'PARENSPACE": [ - -1, - 12, - 14 - ], - "'SPY": [ - -1, - 12, - 14 - ], - "'NEWTYPE": [ - -1, - 12, - 14 - ], - "'LBRACE": [ - -1, - 12, - 14 - ], - "'SHADOW": [ - -1, - 12, - 14 - ], - "'LET": [ - -1, - 12, - 14 - ], - "'BLOCK": [ - -1, - 12, - 14 - ], - "'LETREC": [ - -1, - 12, - 14 - ], - "'TYPE-LET": [ - -1, - 12, - 14 - ], - "'FUN": [ - -1, - 12, - 14 - ], - "'PARENAFTERBRACE": [ - -1, - 12, - 14 - ], - "'CHECK": [ - -1, - 12, - 14 - ], - "'EXAMPLES": [ - -1, - 12, - 14 - ], - "'CHECKCOLON": [ - -1, - 12, - 14 - ], - "'EXAMPLESCOLON": [ - -1, - 12, - 14 - ], - "'VAR": [ - -1, - 12, - 14 - ], - "'REC": [ - -1, - 12, - 14 - ], - "'WHEN": [ - -1, - 12, - 14 - ], - "'DOTDOTDOT": [ - -1, - 12, - 14 - ], - "'NUMBER": [ - -1, - 12, - 14 - ], - "'RATIONAL": [ - -1, - 12, - 14 - ], - "'ROUGHRATIONAL": [ - -1, - 12, - 14 - ], - "'TRUE": [ - -1, - 12, - 14 - ], - "'FALSE": [ - -1, - 12, - 14 - ], - "'LAM": [ - -1, - 12, - 14 - ], - "'METHOD": [ - -1, - 12, - 14 - ], - "'LBRACK": [ - -1, - 12, - 14 - ], - "'TABLE": [ - -1, - 12, - 14 - ], - "'REACTOR": [ - -1, - 12, - 14 - ], - "'IF": [ - -1, - 12, - 14 - ], - "'ASK": [ - -1, - 12, - 14 - ], - "'CASES": [ - -1, - 12, - 14 - ], - "'FOR": [ - -1, - 12, - 14 - ], - "'TABLE-SELECT": [ - -1, - 12, - 14 - ], - "'TABLE-FILTER": [ - -1, - 12, - 14 - ], - "'TABLE-ORDER": [ - -1, - 12, - 14 - ], - "'TABLE-EXTRACT": [ - -1, - 12, - 14 - ], - "'TABLE-UPDATE": [ - -1, - 12, - 14 - ], - "'TABLE-EXTEND": [ - -1, - 12, - 14 - ], - "'LOAD-TABLE": [ - -1, - 12, - 14 - ] - }, - { - "$": [ - -1, - 16 - ], - "'NAME": [ - -1, - 16 - ], - "'INCLUDE": [ - -1, - 16 - ], - "'IMPORT": [ - -1, - 16 - ], - "'STRING": [ - -1, - 16 - ], - "'TYPE": [ - -1, - 16 - ], - "'DATA": [ - -1, - 16 - ], - "'PROVIDE": [ - -1, - 16 - ], - "'PROVIDE-TYPES": [ - -1, - 16 - ], - "'PROVIDECOLON": [ - -1, - 16 - ], - "'PARENSPACE": [ - -1, - 16 - ], - "'SPY": [ - -1, - 16 - ], - "'NEWTYPE": [ - -1, - 16 - ], - "'LBRACE": [ - -1, - 16 - ], - "'SHADOW": [ - -1, - 16 - ], - "'LET": [ - -1, - 16 - ], - "'BLOCK": [ - -1, - 16 - ], - "'LETREC": [ - -1, - 16 - ], - "'TYPE-LET": [ - -1, - 16 - ], - "'FUN": [ - -1, - 16 - ], - "'PARENAFTERBRACE": [ - -1, - 16 - ], - "'CHECK": [ - -1, - 16 - ], - "'EXAMPLES": [ - -1, - 16 - ], - "'CHECKCOLON": [ - -1, - 16 - ], - "'EXAMPLESCOLON": [ - -1, - 16 - ], - "'VAR": [ - -1, - 16 - ], - "'REC": [ - -1, - 16 - ], - "'WHEN": [ - -1, - 16 - ], - "'DOTDOTDOT": [ - -1, - 16 - ], - "'NUMBER": [ - -1, - 16 - ], - "'RATIONAL": [ - -1, - 16 - ], - "'ROUGHRATIONAL": [ - -1, - 16 - ], - "'TRUE": [ - -1, - 16 - ], - "'FALSE": [ - -1, - 16 - ], - "'LAM": [ - -1, - 16 - ], - "'METHOD": [ - -1, - 16 - ], - "'LBRACK": [ - -1, - 16 - ], - "'TABLE": [ - -1, - 16 - ], - "'REACTOR": [ - -1, - 16 - ], - "'IF": [ - -1, - 16 - ], - "'ASK": [ - -1, - 16 - ], - "'CASES": [ - -1, - 16 - ], - "'FOR": [ - -1, - 16 - ], - "'TABLE-SELECT": [ - -1, - 16 - ], - "'TABLE-FILTER": [ - -1, - 16 - ], - "'TABLE-ORDER": [ - -1, - 16 - ], - "'TABLE-EXTRACT": [ - -1, - 16 - ], - "'TABLE-UPDATE": [ - -1, - 16 - ], - "'TABLE-EXTEND": [ - -1, - 16 - ], - "'LOAD-TABLE": [ - -1, - 16 - ] - }, - { - "$": [ - -1, - 18 - ], - "'NAME": [ - -1, - 18 - ], - "'INCLUDE": [ - -1, - 18 - ], - "'IMPORT": [ - -1, - 18 - ], - "'STRING": [ - -1, - 18 - ], - "'TYPE": [ - -1, - 18 - ], - "'DATA": [ - -1, - 18 - ], - "'PROVIDE": [ - -1, - 18 - ], - "'PROVIDE-TYPES": [ - -1, - 18 - ], - "'PROVIDECOLON": [ - -1, - 18 - ], - "'PARENSPACE": [ - -1, - 18 - ], - "'SPY": [ - -1, - 18 - ], - "'NEWTYPE": [ - -1, - 18 - ], - "'LBRACE": [ - -1, - 18 - ], - "'SHADOW": [ - -1, - 18 - ], - "'LET": [ - -1, - 18 - ], - "'BLOCK": [ - -1, - 18 - ], - "'LETREC": [ - -1, - 18 - ], - "'TYPE-LET": [ - -1, - 18 - ], - "'FUN": [ - -1, - 18 - ], - "'PARENAFTERBRACE": [ - -1, - 18 - ], - "'CHECK": [ - -1, - 18 - ], - "'EXAMPLES": [ - -1, - 18 - ], - "'CHECKCOLON": [ - -1, - 18 - ], - "'EXAMPLESCOLON": [ - -1, - 18 - ], - "'VAR": [ - -1, - 18 - ], - "'REC": [ - -1, - 18 - ], - "'WHEN": [ - -1, - 18 - ], - "'DOTDOTDOT": [ - -1, - 18 - ], - "'NUMBER": [ - -1, - 18 - ], - "'RATIONAL": [ - -1, - 18 - ], - "'ROUGHRATIONAL": [ - -1, - 18 - ], - "'TRUE": [ - -1, - 18 - ], - "'FALSE": [ - -1, - 18 - ], - "'LAM": [ - -1, - 18 - ], - "'METHOD": [ - -1, - 18 - ], - "'LBRACK": [ - -1, - 18 - ], - "'TABLE": [ - -1, - 18 - ], - "'REACTOR": [ - -1, - 18 - ], - "'IF": [ - -1, - 18 - ], - "'ASK": [ - -1, - 18 - ], - "'CASES": [ - -1, - 18 - ], - "'FOR": [ - -1, - 18 - ], - "'TABLE-SELECT": [ - -1, - 18 - ], - "'TABLE-FILTER": [ - -1, - 18 - ], - "'TABLE-ORDER": [ - -1, - 18 - ], - "'TABLE-EXTRACT": [ - -1, - 18 - ], - "'TABLE-UPDATE": [ - -1, - 18 - ], - "'TABLE-EXTEND": [ - -1, - 18 - ], - "'LOAD-TABLE": [ - -1, - 18 - ] - }, - { - "'NAME": [ - 10 - ] - }, - { - "$": [ - -1, - 20 - ] - }, - { - "'NAME": [ - 11, - 22 - ], - "'STRING": [ - 12 - ], - "'TYPE": [ - 13 - ], - "'DATA": [ - 14 - ], - "stmt": [ - 15 - ], - "'PARENSPACE": [ - 16 - ], - "block_I0": [ - 17 - ], - "type-expr": [ - 18 - ], - "newtype-expr": [ - 19 - ], - "spy-stmt": [ - 20 - ], - "let-expr": [ - 21 - ], - "fun-expr": [ - 22 - ], - "data-expr": [ - 23 - ], - "when-expr": [ - 24 - ], - "var-expr": [ - 25 - ], - "rec-expr": [ - 26 - ], - "assign-expr": [ - 27 - ], - "check-test": [ - 28 - ], - "check-expr": [ - 29 - ], - "contract-stmt": [ - 30 - ], - "'SPY": [ - 31 - ], - "binop-expr": [ - 32 - ], - "id-expr": [ - 33 - ], - "'NEWTYPE": [ - 34 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 39 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'FUN": [ - 50 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "check-expr_A0_I0": [ - 52 - ], - "'CHECK": [ - 53 - ], - "'EXAMPLES": [ - 54 - ], - "check-expr_A1_I0": [ - 55 - ], - "'CHECKCOLON": [ - 56 - ], - "'EXAMPLESCOLON": [ - 57 - ], - "'VAR": [ - 58 - ], - "'REC": [ - 59 - ], - "'WHEN": [ - 60 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "$": [ - -1, - 24 - ], - "'END": [ - -1, - 24 - ], - "'RBRACE": [ - -1, - 24 - ], - "'WHERE": [ - -1, - 24 - ], - "'BAR": [ - -1, - 24 - ], - "'ELSECOLON": [ - -1, - 24 - ], - "'ELSEIF": [ - -1, - 24 - ] - }, - { - "prelude_I1": [ - 120 - ], - "provide-stmt": [ - 121 - ], - "import-stmt": [ - 122 - ], - "'INCLUDE": [ - 123 - ], - "'IMPORT": [ - 124 - ], - "provide-vals-stmt": [ - 125 - ], - "provide-types-stmt": [ - 126 - ], - "provide-block": [ - 127 - ], - "'PROVIDE": [ - 128 - ], - "'PROVIDE-TYPES": [ - 129 - ], - "'PROVIDECOLON": [ - 130 - ], - "$": [ - -1, - 26 - ], - "'NAME": [ - -1, - 26 - ], - "'STRING": [ - -1, - 26 - ], - "'TYPE": [ - -1, - 26 - ], - "'DATA": [ - -1, - 26 - ], - "'PARENSPACE": [ - -1, - 26 - ], - "'SPY": [ - -1, - 26 - ], - "'NEWTYPE": [ - -1, - 26 - ], - "'LBRACE": [ - -1, - 26 - ], - "'SHADOW": [ - -1, - 26 - ], - "'LET": [ - -1, - 26 - ], - "'BLOCK": [ - -1, - 26 - ], - "'LETREC": [ - -1, - 26 - ], - "'TYPE-LET": [ - -1, - 26 - ], - "'FUN": [ - -1, - 26 - ], - "'PARENAFTERBRACE": [ - -1, - 26 - ], - "'CHECK": [ - -1, - 26 - ], - "'EXAMPLES": [ - -1, - 26 - ], - "'CHECKCOLON": [ - -1, - 26 - ], - "'EXAMPLESCOLON": [ - -1, - 26 - ], - "'VAR": [ - -1, - 26 - ], - "'REC": [ - -1, - 26 - ], - "'WHEN": [ - -1, - 26 - ], - "'DOTDOTDOT": [ - -1, - 26 - ], - "'NUMBER": [ - -1, - 26 - ], - "'RATIONAL": [ - -1, - 26 - ], - "'ROUGHRATIONAL": [ - -1, - 26 - ], - "'TRUE": [ - -1, - 26 - ], - "'FALSE": [ - -1, - 26 - ], - "'LAM": [ - -1, - 26 - ], - "'METHOD": [ - -1, - 26 - ], - "'LBRACK": [ - -1, - 26 - ], - "'TABLE": [ - -1, - 26 - ], - "'REACTOR": [ - -1, - 26 - ], - "'IF": [ - -1, - 26 - ], - "'ASK": [ - -1, - 26 - ], - "'CASES": [ - -1, - 26 - ], - "'FOR": [ - -1, - 26 - ], - "'TABLE-SELECT": [ - -1, - 26 - ], - "'TABLE-FILTER": [ - -1, - 26 - ], - "'TABLE-ORDER": [ - -1, - 26 - ], - "'TABLE-EXTRACT": [ - -1, - 26 - ], - "'TABLE-UPDATE": [ - -1, - 26 - ], - "'TABLE-EXTEND": [ - -1, - 26 - ], - "'LOAD-TABLE": [ - -1, - 26 - ] - }, - { - "'NAME": [ - 131 - ], - "import-source": [ - 132 - ], - "import-special": [ - 133 - ], - "import-name": [ - 134 - ] - }, - { - "'COLONCOLON": [ - 135 - ], - "'COLONEQUALS": [ - 136 - ], - "$": [ - -1, - 28 - ], - "'NAME": [ - -1, - 28 - ], - "'END": [ - -1, - 28 - ], - "'PARENNOSPACE": [ - -1, - 28 - ], - "'STRING": [ - -1, - 28 - ], - "'TYPE": [ - -1, - 28 - ], - "'DATA": [ - -1, - 28 - ], - "'TIMES": [ - -1, - 28 - ], - "'PARENSPACE": [ - -1, - 28 - ], - "'DOT": [ - -1, - 28 - ], - "'SPY": [ - -1, - 28 - ], - "'NEWTYPE": [ - -1, - 28 - ], - "'LBRACE": [ - -1, - 28 - ], - "'RBRACE": [ - -1, - 28 - ], - "'SHADOW": [ - -1, - 28 - ], - "'LET": [ - -1, - 28 - ], - "'BLOCK": [ - -1, - 28 - ], - "'LETREC": [ - -1, - 28 - ], - "'TYPE-LET": [ - -1, - 28 - ], - "'FUN": [ - -1, - 28 - ], - "'LANGLE": [ - -1, - 28 - ], - "'LT": [ - -1, - 28 - ], - "'GT": [ - -1, - 28 - ], - "'PARENAFTERBRACE": [ - -1, - 28 - ], - "'WHERE": [ - -1, - 28 - ], - "'CHECK": [ - -1, - 28 - ], - "'EXAMPLES": [ - -1, - 28 - ], - "'CHECKCOLON": [ - -1, - 28 - ], - "'EXAMPLESCOLON": [ - -1, - 28 - ], - "'BAR": [ - -1, - 28 - ], - "'VAR": [ - -1, - 28 - ], - "'REC": [ - -1, - 28 - ], - "'WHEN": [ - -1, - 28 - ], - "'PLUS": [ - -1, - 28 - ], - "'DASH": [ - -1, - 28 - ], - "'SLASH": [ - -1, - 28 - ], - "'LEQ": [ - -1, - 28 - ], - "'GEQ": [ - -1, - 28 - ], - "'EQUALEQUAL": [ - -1, - 28 - ], - "'SPACESHIP": [ - -1, - 28 - ], - "'EQUALTILDE": [ - -1, - 28 - ], - "'NEQ": [ - -1, - 28 - ], - "'AND": [ - -1, - 28 - ], - "'OR": [ - -1, - 28 - ], - "'CARET": [ - -1, - 28 - ], - "'IS": [ - -1, - 28 - ], - "'ISEQUALEQUAL": [ - -1, - 28 - ], - "'ISEQUALTILDE": [ - -1, - 28 - ], - "'ISSPACESHIP": [ - -1, - 28 - ], - "'ISROUGHLY": [ - -1, - 28 - ], - "'ISNOT": [ - -1, - 28 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 28 - ], - "'ISNOTEQUALTILDE": [ - -1, - 28 - ], - "'ISNOTSPACESHIP": [ - -1, - 28 - ], - "'RAISES": [ - -1, - 28 - ], - "'RAISESOTHER": [ - -1, - 28 - ], - "'SATISFIES": [ - -1, - 28 - ], - "'SATISFIESNOT": [ - -1, - 28 - ], - "'RAISESSATISFIES": [ - -1, - 28 - ], - "'RAISESVIOLATES": [ - -1, - 28 - ], - "'RAISESNOT": [ - -1, - 28 - ], - "'DOTDOTDOT": [ - -1, - 28 - ], - "'NUMBER": [ - -1, - 28 - ], - "'RATIONAL": [ - -1, - 28 - ], - "'ROUGHRATIONAL": [ - -1, - 28 - ], - "'TRUE": [ - -1, - 28 - ], - "'FALSE": [ - -1, - 28 - ], - "'LAM": [ - -1, - 28 - ], - "'METHOD": [ - -1, - 28 - ], - "'LBRACK": [ - -1, - 28 - ], - "'TABLE": [ - -1, - 28 - ], - "'REACTOR": [ - -1, - 28 - ], - "'BANG": [ - -1, - 28 - ], - "'IF": [ - -1, - 28 - ], - "'ELSECOLON": [ - -1, - 28 - ], - "'ELSEIF": [ - -1, - 28 - ], - "'ASK": [ - -1, - 28 - ], - "'CASES": [ - -1, - 28 - ], - "'FOR": [ - -1, - 28 - ], - "'TABLE-SELECT": [ - -1, - 28 - ], - "'TABLE-FILTER": [ - -1, - 28 - ], - "'TABLE-ORDER": [ - -1, - 28 - ], - "'TABLE-EXTRACT": [ - -1, - 28 - ], - "'TABLE-UPDATE": [ - -1, - 28 - ], - "'TABLE-EXTEND": [ - -1, - 28 - ], - "'LOAD-TABLE": [ - -1, - 28 - ] - }, - { - "$": [ - -1, - 30 - ], - "'NAME": [ - -1, - 30 - ], - "'COLON": [ - -1, - 30 - ], - "'END": [ - -1, - 30 - ], - "'COMMA": [ - -1, - 30 - ], - "'PARENNOSPACE": [ - -1, - 30 - ], - "'STRING": [ - -1, - 30 - ], - "'RPAREN": [ - -1, - 30 - ], - "'TYPE": [ - -1, - 30 - ], - "'DATA": [ - -1, - 30 - ], - "'TIMES": [ - -1, - 30 - ], - "'PARENSPACE": [ - -1, - 30 - ], - "'DOT": [ - -1, - 30 - ], - "'SPY": [ - -1, - 30 - ], - "'NEWTYPE": [ - -1, - 30 - ], - "'LBRACE": [ - -1, - 30 - ], - "'RBRACE": [ - -1, - 30 - ], - "'SEMI": [ - -1, - 30 - ], - "'SHADOW": [ - -1, - 30 - ], - "'LET": [ - -1, - 30 - ], - "'BLOCK": [ - -1, - 30 - ], - "'LETREC": [ - -1, - 30 - ], - "'TYPE-LET": [ - -1, - 30 - ], - "'FUN": [ - -1, - 30 - ], - "'LANGLE": [ - -1, - 30 - ], - "'LT": [ - -1, - 30 - ], - "'GT": [ - -1, - 30 - ], - "'PARENAFTERBRACE": [ - -1, - 30 - ], - "'WHERE": [ - -1, - 30 - ], - "'CHECK": [ - -1, - 30 - ], - "'EXAMPLES": [ - -1, - 30 - ], - "'CHECKCOLON": [ - -1, - 30 - ], - "'EXAMPLESCOLON": [ - -1, - 30 - ], - "'BECAUSE": [ - -1, - 30 - ], - "'BAR": [ - -1, - 30 - ], - "'SHARING": [ - -1, - 30 - ], - "'VAR": [ - -1, - 30 - ], - "'REC": [ - -1, - 30 - ], - "'WHEN": [ - -1, - 30 - ], - "'PLUS": [ - -1, - 30 - ], - "'DASH": [ - -1, - 30 - ], - "'SLASH": [ - -1, - 30 - ], - "'LEQ": [ - -1, - 30 - ], - "'GEQ": [ - -1, - 30 - ], - "'EQUALEQUAL": [ - -1, - 30 - ], - "'SPACESHIP": [ - -1, - 30 - ], - "'EQUALTILDE": [ - -1, - 30 - ], - "'NEQ": [ - -1, - 30 - ], - "'AND": [ - -1, - 30 - ], - "'OR": [ - -1, - 30 - ], - "'CARET": [ - -1, - 30 - ], - "'IS": [ - -1, - 30 - ], - "'ISEQUALEQUAL": [ - -1, - 30 - ], - "'ISEQUALTILDE": [ - -1, - 30 - ], - "'ISSPACESHIP": [ - -1, - 30 - ], - "'ISROUGHLY": [ - -1, - 30 - ], - "'ISNOT": [ - -1, - 30 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 30 - ], - "'ISNOTEQUALTILDE": [ - -1, - 30 - ], - "'ISNOTSPACESHIP": [ - -1, - 30 - ], - "'RAISES": [ - -1, - 30 - ], - "'RAISESOTHER": [ - -1, - 30 - ], - "'SATISFIES": [ - -1, - 30 - ], - "'SATISFIESNOT": [ - -1, - 30 - ], - "'RAISESSATISFIES": [ - -1, - 30 - ], - "'RAISESVIOLATES": [ - -1, - 30 - ], - "'RAISESNOT": [ - -1, - 30 - ], - "'DOTDOTDOT": [ - -1, - 30 - ], - "'NUMBER": [ - -1, - 30 - ], - "'RATIONAL": [ - -1, - 30 - ], - "'ROUGHRATIONAL": [ - -1, - 30 - ], - "'TRUE": [ - -1, - 30 - ], - "'FALSE": [ - -1, - 30 - ], - "'LAM": [ - -1, - 30 - ], - "'METHOD": [ - -1, - 30 - ], - "'LBRACK": [ - -1, - 30 - ], - "'RBRACK": [ - -1, - 30 - ], - "'TABLE": [ - -1, - 30 - ], - "'ROW": [ - -1, - 30 - ], - "'REACTOR": [ - -1, - 30 - ], - "'BANG": [ - -1, - 30 - ], - "'IF": [ - -1, - 30 - ], - "'ELSECOLON": [ - -1, - 30 - ], - "'ELSEIF": [ - -1, - 30 - ], - "'ASK": [ - -1, - 30 - ], - "'THENCOLON": [ - -1, - 30 - ], - "'CASES": [ - -1, - 30 - ], - "'FOR": [ - -1, - 30 - ], - "'TABLE-SELECT": [ - -1, - 30 - ], - "'TABLE-FILTER": [ - -1, - 30 - ], - "'USING": [ - -1, - 30 - ], - "'TABLE-ORDER": [ - -1, - 30 - ], - "'TABLE-EXTRACT": [ - -1, - 30 - ], - "'TABLE-UPDATE": [ - -1, - 30 - ], - "'TABLE-EXTEND": [ - -1, - 30 - ], - "'OF": [ - -1, - 30 - ], - "'LOAD-TABLE": [ - -1, - 30 - ], - "'SOURCECOLON": [ - -1, - 30 - ], - "'SANITIZE": [ - -1, - 30 - ] - }, - { - "'NAME": [ - 137 - ] - }, - { - "'NAME": [ - 138 - ] - }, - { - "$": [ - -1, - 32 - ], - "'NAME": [ - -1, - 32 - ], - "'END": [ - -1, - 32 - ], - "'STRING": [ - -1, - 32 - ], - "'TYPE": [ - -1, - 32 - ], - "'DATA": [ - -1, - 32 - ], - "'PARENSPACE": [ - -1, - 32 - ], - "'SPY": [ - -1, - 32 - ], - "'NEWTYPE": [ - -1, - 32 - ], - "'LBRACE": [ - -1, - 32 - ], - "'RBRACE": [ - -1, - 32 - ], - "'SHADOW": [ - -1, - 32 - ], - "'LET": [ - -1, - 32 - ], - "'BLOCK": [ - -1, - 32 - ], - "'LETREC": [ - -1, - 32 - ], - "'TYPE-LET": [ - -1, - 32 - ], - "'FUN": [ - -1, - 32 - ], - "'PARENAFTERBRACE": [ - -1, - 32 - ], - "'WHERE": [ - -1, - 32 - ], - "'CHECK": [ - -1, - 32 - ], - "'EXAMPLES": [ - -1, - 32 - ], - "'CHECKCOLON": [ - -1, - 32 - ], - "'EXAMPLESCOLON": [ - -1, - 32 - ], - "'BAR": [ - -1, - 32 - ], - "'VAR": [ - -1, - 32 - ], - "'REC": [ - -1, - 32 - ], - "'WHEN": [ - -1, - 32 - ], - "'DOTDOTDOT": [ - -1, - 32 - ], - "'NUMBER": [ - -1, - 32 - ], - "'RATIONAL": [ - -1, - 32 - ], - "'ROUGHRATIONAL": [ - -1, - 32 - ], - "'TRUE": [ - -1, - 32 - ], - "'FALSE": [ - -1, - 32 - ], - "'LAM": [ - -1, - 32 - ], - "'METHOD": [ - -1, - 32 - ], - "'LBRACK": [ - -1, - 32 - ], - "'TABLE": [ - -1, - 32 - ], - "'REACTOR": [ - -1, - 32 - ], - "'IF": [ - -1, - 32 - ], - "'ELSECOLON": [ - -1, - 32 - ], - "'ELSEIF": [ - -1, - 32 - ], - "'ASK": [ - -1, - 32 - ], - "'CASES": [ - -1, - 32 - ], - "'FOR": [ - -1, - 32 - ], - "'TABLE-SELECT": [ - -1, - 32 - ], - "'TABLE-FILTER": [ - -1, - 32 - ], - "'TABLE-ORDER": [ - -1, - 32 - ], - "'TABLE-EXTRACT": [ - -1, - 32 - ], - "'TABLE-UPDATE": [ - -1, - 32 - ], - "'TABLE-EXTEND": [ - -1, - 32 - ], - "'LOAD-TABLE": [ - -1, - 32 - ] - }, - { - "'NAME": [ - -1, - 34 - ], - "'STRING": [ - -1, - 34 - ], - "'PARENSPACE": [ - -1, - 34 - ], - "'LBRACE": [ - -1, - 34 - ], - "'LET": [ - -1, - 34 - ], - "'BLOCK": [ - -1, - 34 - ], - "'LETREC": [ - -1, - 34 - ], - "'TYPE-LET": [ - -1, - 34 - ], - "'PARENAFTERBRACE": [ - -1, - 34 - ], - "'DOTDOTDOT": [ - -1, - 34 - ], - "'NUMBER": [ - -1, - 34 - ], - "'RATIONAL": [ - -1, - 34 - ], - "'ROUGHRATIONAL": [ - -1, - 34 - ], - "'TRUE": [ - -1, - 34 - ], - "'FALSE": [ - -1, - 34 - ], - "'LAM": [ - -1, - 34 - ], - "'METHOD": [ - -1, - 34 - ], - "'LBRACK": [ - -1, - 34 - ], - "'TABLE": [ - -1, - 34 - ], - "'REACTOR": [ - -1, - 34 - ], - "'IF": [ - -1, - 34 - ], - "'ASK": [ - -1, - 34 - ], - "'CASES": [ - -1, - 34 - ], - "'FOR": [ - -1, - 34 - ], - "'TABLE-SELECT": [ - -1, - 34 - ], - "'TABLE-FILTER": [ - -1, - 34 - ], - "'TABLE-ORDER": [ - -1, - 34 - ], - "'TABLE-EXTRACT": [ - -1, - 34 - ], - "'TABLE-UPDATE": [ - -1, - 34 - ], - "'TABLE-EXTEND": [ - -1, - 34 - ], - "'LOAD-TABLE": [ - -1, - 34 - ] - }, - { - "$": [ - -1, - 36 - ], - "'NAME": [ - -1, - 36 - ], - "'END": [ - -1, - 36 - ], - "'STRING": [ - -1, - 36 - ], - "'TYPE": [ - -1, - 36 - ], - "'DATA": [ - -1, - 36 - ], - "'PARENSPACE": [ - -1, - 36 - ], - "'SPY": [ - -1, - 36 - ], - "'NEWTYPE": [ - -1, - 36 - ], - "'LBRACE": [ - -1, - 36 - ], - "'RBRACE": [ - -1, - 36 - ], - "'SHADOW": [ - -1, - 36 - ], - "'LET": [ - -1, - 36 - ], - "'BLOCK": [ - -1, - 36 - ], - "'LETREC": [ - -1, - 36 - ], - "'TYPE-LET": [ - -1, - 36 - ], - "'FUN": [ - -1, - 36 - ], - "'PARENAFTERBRACE": [ - -1, - 36 - ], - "'WHERE": [ - -1, - 36 - ], - "'CHECK": [ - -1, - 36 - ], - "'EXAMPLES": [ - -1, - 36 - ], - "'CHECKCOLON": [ - -1, - 36 - ], - "'EXAMPLESCOLON": [ - -1, - 36 - ], - "'BAR": [ - -1, - 36 - ], - "'VAR": [ - -1, - 36 - ], - "'REC": [ - -1, - 36 - ], - "'WHEN": [ - -1, - 36 - ], - "'DOTDOTDOT": [ - -1, - 36 - ], - "'NUMBER": [ - -1, - 36 - ], - "'RATIONAL": [ - -1, - 36 - ], - "'ROUGHRATIONAL": [ - -1, - 36 - ], - "'TRUE": [ - -1, - 36 - ], - "'FALSE": [ - -1, - 36 - ], - "'LAM": [ - -1, - 36 - ], - "'METHOD": [ - -1, - 36 - ], - "'LBRACK": [ - -1, - 36 - ], - "'TABLE": [ - -1, - 36 - ], - "'REACTOR": [ - -1, - 36 - ], - "'IF": [ - -1, - 36 - ], - "'ELSECOLON": [ - -1, - 36 - ], - "'ELSEIF": [ - -1, - 36 - ], - "'ASK": [ - -1, - 36 - ], - "'CASES": [ - -1, - 36 - ], - "'FOR": [ - -1, - 36 - ], - "'TABLE-SELECT": [ - -1, - 36 - ], - "'TABLE-FILTER": [ - -1, - 36 - ], - "'TABLE-ORDER": [ - -1, - 36 - ], - "'TABLE-EXTRACT": [ - -1, - 36 - ], - "'TABLE-UPDATE": [ - -1, - 36 - ], - "'TABLE-EXTEND": [ - -1, - 36 - ], - "'LOAD-TABLE": [ - -1, - 36 - ] - }, - { - "$": [ - -1, - 38 - ], - "'NAME": [ - -1, - 38 - ], - "'END": [ - -1, - 38 - ], - "'STRING": [ - -1, - 38 - ], - "'TYPE": [ - -1, - 38 - ], - "'DATA": [ - -1, - 38 - ], - "'PARENSPACE": [ - -1, - 38 - ], - "'SPY": [ - -1, - 38 - ], - "'NEWTYPE": [ - -1, - 38 - ], - "'LBRACE": [ - -1, - 38 - ], - "'RBRACE": [ - -1, - 38 - ], - "'SHADOW": [ - -1, - 38 - ], - "'LET": [ - -1, - 38 - ], - "'BLOCK": [ - -1, - 38 - ], - "'LETREC": [ - -1, - 38 - ], - "'TYPE-LET": [ - -1, - 38 - ], - "'FUN": [ - -1, - 38 - ], - "'PARENAFTERBRACE": [ - -1, - 38 - ], - "'WHERE": [ - -1, - 38 - ], - "'CHECK": [ - -1, - 38 - ], - "'EXAMPLES": [ - -1, - 38 - ], - "'CHECKCOLON": [ - -1, - 38 - ], - "'EXAMPLESCOLON": [ - -1, - 38 - ], - "'BAR": [ - -1, - 38 - ], - "'VAR": [ - -1, - 38 - ], - "'REC": [ - -1, - 38 - ], - "'WHEN": [ - -1, - 38 - ], - "'DOTDOTDOT": [ - -1, - 38 - ], - "'NUMBER": [ - -1, - 38 - ], - "'RATIONAL": [ - -1, - 38 - ], - "'ROUGHRATIONAL": [ - -1, - 38 - ], - "'TRUE": [ - -1, - 38 - ], - "'FALSE": [ - -1, - 38 - ], - "'LAM": [ - -1, - 38 - ], - "'METHOD": [ - -1, - 38 - ], - "'LBRACK": [ - -1, - 38 - ], - "'TABLE": [ - -1, - 38 - ], - "'REACTOR": [ - -1, - 38 - ], - "'IF": [ - -1, - 38 - ], - "'ELSECOLON": [ - -1, - 38 - ], - "'ELSEIF": [ - -1, - 38 - ], - "'ASK": [ - -1, - 38 - ], - "'CASES": [ - -1, - 38 - ], - "'FOR": [ - -1, - 38 - ], - "'TABLE-SELECT": [ - -1, - 38 - ], - "'TABLE-FILTER": [ - -1, - 38 - ], - "'TABLE-ORDER": [ - -1, - 38 - ], - "'TABLE-EXTRACT": [ - -1, - 38 - ], - "'TABLE-UPDATE": [ - -1, - 38 - ], - "'TABLE-EXTEND": [ - -1, - 38 - ], - "'LOAD-TABLE": [ - -1, - 38 - ] - }, - { - "$": [ - -1, - 40 - ], - "'NAME": [ - -1, - 40 - ], - "'END": [ - -1, - 40 - ], - "'STRING": [ - -1, - 40 - ], - "'TYPE": [ - -1, - 40 - ], - "'DATA": [ - -1, - 40 - ], - "'PARENSPACE": [ - -1, - 40 - ], - "'SPY": [ - -1, - 40 - ], - "'NEWTYPE": [ - -1, - 40 - ], - "'LBRACE": [ - -1, - 40 - ], - "'RBRACE": [ - -1, - 40 - ], - "'SHADOW": [ - -1, - 40 - ], - "'LET": [ - -1, - 40 - ], - "'BLOCK": [ - -1, - 40 - ], - "'LETREC": [ - -1, - 40 - ], - "'TYPE-LET": [ - -1, - 40 - ], - "'FUN": [ - -1, - 40 - ], - "'PARENAFTERBRACE": [ - -1, - 40 - ], - "'WHERE": [ - -1, - 40 - ], - "'CHECK": [ - -1, - 40 - ], - "'EXAMPLES": [ - -1, - 40 - ], - "'CHECKCOLON": [ - -1, - 40 - ], - "'EXAMPLESCOLON": [ - -1, - 40 - ], - "'BAR": [ - -1, - 40 - ], - "'VAR": [ - -1, - 40 - ], - "'REC": [ - -1, - 40 - ], - "'WHEN": [ - -1, - 40 - ], - "'DOTDOTDOT": [ - -1, - 40 - ], - "'NUMBER": [ - -1, - 40 - ], - "'RATIONAL": [ - -1, - 40 - ], - "'ROUGHRATIONAL": [ - -1, - 40 - ], - "'TRUE": [ - -1, - 40 - ], - "'FALSE": [ - -1, - 40 - ], - "'LAM": [ - -1, - 40 - ], - "'METHOD": [ - -1, - 40 - ], - "'LBRACK": [ - -1, - 40 - ], - "'TABLE": [ - -1, - 40 - ], - "'REACTOR": [ - -1, - 40 - ], - "'IF": [ - -1, - 40 - ], - "'ELSECOLON": [ - -1, - 40 - ], - "'ELSEIF": [ - -1, - 40 - ], - "'ASK": [ - -1, - 40 - ], - "'CASES": [ - -1, - 40 - ], - "'FOR": [ - -1, - 40 - ], - "'TABLE-SELECT": [ - -1, - 40 - ], - "'TABLE-FILTER": [ - -1, - 40 - ], - "'TABLE-ORDER": [ - -1, - 40 - ], - "'TABLE-EXTRACT": [ - -1, - 40 - ], - "'TABLE-UPDATE": [ - -1, - 40 - ], - "'TABLE-EXTEND": [ - -1, - 40 - ], - "'LOAD-TABLE": [ - -1, - 40 - ] - }, - { - "$": [ - -1, - 42 - ], - "'NAME": [ - -1, - 42 - ], - "'END": [ - -1, - 42 - ], - "'STRING": [ - -1, - 42 - ], - "'TYPE": [ - -1, - 42 - ], - "'DATA": [ - -1, - 42 - ], - "'PARENSPACE": [ - -1, - 42 - ], - "'SPY": [ - -1, - 42 - ], - "'NEWTYPE": [ - -1, - 42 - ], - "'LBRACE": [ - -1, - 42 - ], - "'RBRACE": [ - -1, - 42 - ], - "'SHADOW": [ - -1, - 42 - ], - "'LET": [ - -1, - 42 - ], - "'BLOCK": [ - -1, - 42 - ], - "'LETREC": [ - -1, - 42 - ], - "'TYPE-LET": [ - -1, - 42 - ], - "'FUN": [ - -1, - 42 - ], - "'PARENAFTERBRACE": [ - -1, - 42 - ], - "'WHERE": [ - -1, - 42 - ], - "'CHECK": [ - -1, - 42 - ], - "'EXAMPLES": [ - -1, - 42 - ], - "'CHECKCOLON": [ - -1, - 42 - ], - "'EXAMPLESCOLON": [ - -1, - 42 - ], - "'BAR": [ - -1, - 42 - ], - "'VAR": [ - -1, - 42 - ], - "'REC": [ - -1, - 42 - ], - "'WHEN": [ - -1, - 42 - ], - "'DOTDOTDOT": [ - -1, - 42 - ], - "'NUMBER": [ - -1, - 42 - ], - "'RATIONAL": [ - -1, - 42 - ], - "'ROUGHRATIONAL": [ - -1, - 42 - ], - "'TRUE": [ - -1, - 42 - ], - "'FALSE": [ - -1, - 42 - ], - "'LAM": [ - -1, - 42 - ], - "'METHOD": [ - -1, - 42 - ], - "'LBRACK": [ - -1, - 42 - ], - "'TABLE": [ - -1, - 42 - ], - "'REACTOR": [ - -1, - 42 - ], - "'IF": [ - -1, - 42 - ], - "'ELSECOLON": [ - -1, - 42 - ], - "'ELSEIF": [ - -1, - 42 - ], - "'ASK": [ - -1, - 42 - ], - "'CASES": [ - -1, - 42 - ], - "'FOR": [ - -1, - 42 - ], - "'TABLE-SELECT": [ - -1, - 42 - ], - "'TABLE-FILTER": [ - -1, - 42 - ], - "'TABLE-ORDER": [ - -1, - 42 - ], - "'TABLE-EXTRACT": [ - -1, - 42 - ], - "'TABLE-UPDATE": [ - -1, - 42 - ], - "'TABLE-EXTEND": [ - -1, - 42 - ], - "'LOAD-TABLE": [ - -1, - 42 - ] - }, - { - "$": [ - -1, - 44 - ], - "'NAME": [ - -1, - 44 - ], - "'END": [ - -1, - 44 - ], - "'STRING": [ - -1, - 44 - ], - "'TYPE": [ - -1, - 44 - ], - "'DATA": [ - -1, - 44 - ], - "'PARENSPACE": [ - -1, - 44 - ], - "'SPY": [ - -1, - 44 - ], - "'NEWTYPE": [ - -1, - 44 - ], - "'LBRACE": [ - -1, - 44 - ], - "'RBRACE": [ - -1, - 44 - ], - "'SHADOW": [ - -1, - 44 - ], - "'LET": [ - -1, - 44 - ], - "'BLOCK": [ - -1, - 44 - ], - "'LETREC": [ - -1, - 44 - ], - "'TYPE-LET": [ - -1, - 44 - ], - "'FUN": [ - -1, - 44 - ], - "'PARENAFTERBRACE": [ - -1, - 44 - ], - "'WHERE": [ - -1, - 44 - ], - "'CHECK": [ - -1, - 44 - ], - "'EXAMPLES": [ - -1, - 44 - ], - "'CHECKCOLON": [ - -1, - 44 - ], - "'EXAMPLESCOLON": [ - -1, - 44 - ], - "'BAR": [ - -1, - 44 - ], - "'VAR": [ - -1, - 44 - ], - "'REC": [ - -1, - 44 - ], - "'WHEN": [ - -1, - 44 - ], - "'DOTDOTDOT": [ - -1, - 44 - ], - "'NUMBER": [ - -1, - 44 - ], - "'RATIONAL": [ - -1, - 44 - ], - "'ROUGHRATIONAL": [ - -1, - 44 - ], - "'TRUE": [ - -1, - 44 - ], - "'FALSE": [ - -1, - 44 - ], - "'LAM": [ - -1, - 44 - ], - "'METHOD": [ - -1, - 44 - ], - "'LBRACK": [ - -1, - 44 - ], - "'TABLE": [ - -1, - 44 - ], - "'REACTOR": [ - -1, - 44 - ], - "'IF": [ - -1, - 44 - ], - "'ELSECOLON": [ - -1, - 44 - ], - "'ELSEIF": [ - -1, - 44 - ], - "'ASK": [ - -1, - 44 - ], - "'CASES": [ - -1, - 44 - ], - "'FOR": [ - -1, - 44 - ], - "'TABLE-SELECT": [ - -1, - 44 - ], - "'TABLE-FILTER": [ - -1, - 44 - ], - "'TABLE-ORDER": [ - -1, - 44 - ], - "'TABLE-EXTRACT": [ - -1, - 44 - ], - "'TABLE-UPDATE": [ - -1, - 44 - ], - "'TABLE-EXTEND": [ - -1, - 44 - ], - "'LOAD-TABLE": [ - -1, - 44 - ] - }, - { - "$": [ - -1, - 46 - ], - "'NAME": [ - -1, - 46 - ], - "'END": [ - -1, - 46 - ], - "'STRING": [ - -1, - 46 - ], - "'TYPE": [ - -1, - 46 - ], - "'DATA": [ - -1, - 46 - ], - "'PARENSPACE": [ - -1, - 46 - ], - "'SPY": [ - -1, - 46 - ], - "'NEWTYPE": [ - -1, - 46 - ], - "'LBRACE": [ - -1, - 46 - ], - "'RBRACE": [ - -1, - 46 - ], - "'SHADOW": [ - -1, - 46 - ], - "'LET": [ - -1, - 46 - ], - "'BLOCK": [ - -1, - 46 - ], - "'LETREC": [ - -1, - 46 - ], - "'TYPE-LET": [ - -1, - 46 - ], - "'FUN": [ - -1, - 46 - ], - "'PARENAFTERBRACE": [ - -1, - 46 - ], - "'WHERE": [ - -1, - 46 - ], - "'CHECK": [ - -1, - 46 - ], - "'EXAMPLES": [ - -1, - 46 - ], - "'CHECKCOLON": [ - -1, - 46 - ], - "'EXAMPLESCOLON": [ - -1, - 46 - ], - "'BAR": [ - -1, - 46 - ], - "'VAR": [ - -1, - 46 - ], - "'REC": [ - -1, - 46 - ], - "'WHEN": [ - -1, - 46 - ], - "'DOTDOTDOT": [ - -1, - 46 - ], - "'NUMBER": [ - -1, - 46 - ], - "'RATIONAL": [ - -1, - 46 - ], - "'ROUGHRATIONAL": [ - -1, - 46 - ], - "'TRUE": [ - -1, - 46 - ], - "'FALSE": [ - -1, - 46 - ], - "'LAM": [ - -1, - 46 - ], - "'METHOD": [ - -1, - 46 - ], - "'LBRACK": [ - -1, - 46 - ], - "'TABLE": [ - -1, - 46 - ], - "'REACTOR": [ - -1, - 46 - ], - "'IF": [ - -1, - 46 - ], - "'ELSECOLON": [ - -1, - 46 - ], - "'ELSEIF": [ - -1, - 46 - ], - "'ASK": [ - -1, - 46 - ], - "'CASES": [ - -1, - 46 - ], - "'FOR": [ - -1, - 46 - ], - "'TABLE-SELECT": [ - -1, - 46 - ], - "'TABLE-FILTER": [ - -1, - 46 - ], - "'TABLE-ORDER": [ - -1, - 46 - ], - "'TABLE-EXTRACT": [ - -1, - 46 - ], - "'TABLE-UPDATE": [ - -1, - 46 - ], - "'TABLE-EXTEND": [ - -1, - 46 - ], - "'LOAD-TABLE": [ - -1, - 46 - ] - }, - { - "$": [ - -1, - 48 - ], - "'NAME": [ - -1, - 48 - ], - "'END": [ - -1, - 48 - ], - "'STRING": [ - -1, - 48 - ], - "'TYPE": [ - -1, - 48 - ], - "'DATA": [ - -1, - 48 - ], - "'PARENSPACE": [ - -1, - 48 - ], - "'SPY": [ - -1, - 48 - ], - "'NEWTYPE": [ - -1, - 48 - ], - "'LBRACE": [ - -1, - 48 - ], - "'RBRACE": [ - -1, - 48 - ], - "'SHADOW": [ - -1, - 48 - ], - "'LET": [ - -1, - 48 - ], - "'BLOCK": [ - -1, - 48 - ], - "'LETREC": [ - -1, - 48 - ], - "'TYPE-LET": [ - -1, - 48 - ], - "'FUN": [ - -1, - 48 - ], - "'PARENAFTERBRACE": [ - -1, - 48 - ], - "'WHERE": [ - -1, - 48 - ], - "'CHECK": [ - -1, - 48 - ], - "'EXAMPLES": [ - -1, - 48 - ], - "'CHECKCOLON": [ - -1, - 48 - ], - "'EXAMPLESCOLON": [ - -1, - 48 - ], - "'BAR": [ - -1, - 48 - ], - "'VAR": [ - -1, - 48 - ], - "'REC": [ - -1, - 48 - ], - "'WHEN": [ - -1, - 48 - ], - "'DOTDOTDOT": [ - -1, - 48 - ], - "'NUMBER": [ - -1, - 48 - ], - "'RATIONAL": [ - -1, - 48 - ], - "'ROUGHRATIONAL": [ - -1, - 48 - ], - "'TRUE": [ - -1, - 48 - ], - "'FALSE": [ - -1, - 48 - ], - "'LAM": [ - -1, - 48 - ], - "'METHOD": [ - -1, - 48 - ], - "'LBRACK": [ - -1, - 48 - ], - "'TABLE": [ - -1, - 48 - ], - "'REACTOR": [ - -1, - 48 - ], - "'IF": [ - -1, - 48 - ], - "'ELSECOLON": [ - -1, - 48 - ], - "'ELSEIF": [ - -1, - 48 - ], - "'ASK": [ - -1, - 48 - ], - "'CASES": [ - -1, - 48 - ], - "'FOR": [ - -1, - 48 - ], - "'TABLE-SELECT": [ - -1, - 48 - ], - "'TABLE-FILTER": [ - -1, - 48 - ], - "'TABLE-ORDER": [ - -1, - 48 - ], - "'TABLE-EXTRACT": [ - -1, - 48 - ], - "'TABLE-UPDATE": [ - -1, - 48 - ], - "'TABLE-EXTEND": [ - -1, - 48 - ], - "'LOAD-TABLE": [ - -1, - 48 - ] - }, - { - "$": [ - -1, - 50 - ], - "'NAME": [ - -1, - 50 - ], - "'END": [ - -1, - 50 - ], - "'STRING": [ - -1, - 50 - ], - "'TYPE": [ - -1, - 50 - ], - "'DATA": [ - -1, - 50 - ], - "'PARENSPACE": [ - -1, - 50 - ], - "'SPY": [ - -1, - 50 - ], - "'NEWTYPE": [ - -1, - 50 - ], - "'LBRACE": [ - -1, - 50 - ], - "'RBRACE": [ - -1, - 50 - ], - "'SHADOW": [ - -1, - 50 - ], - "'LET": [ - -1, - 50 - ], - "'BLOCK": [ - -1, - 50 - ], - "'LETREC": [ - -1, - 50 - ], - "'TYPE-LET": [ - -1, - 50 - ], - "'FUN": [ - -1, - 50 - ], - "'PARENAFTERBRACE": [ - -1, - 50 - ], - "'WHERE": [ - -1, - 50 - ], - "'CHECK": [ - -1, - 50 - ], - "'EXAMPLES": [ - -1, - 50 - ], - "'CHECKCOLON": [ - -1, - 50 - ], - "'EXAMPLESCOLON": [ - -1, - 50 - ], - "'BAR": [ - -1, - 50 - ], - "'VAR": [ - -1, - 50 - ], - "'REC": [ - -1, - 50 - ], - "'WHEN": [ - -1, - 50 - ], - "'DOTDOTDOT": [ - -1, - 50 - ], - "'NUMBER": [ - -1, - 50 - ], - "'RATIONAL": [ - -1, - 50 - ], - "'ROUGHRATIONAL": [ - -1, - 50 - ], - "'TRUE": [ - -1, - 50 - ], - "'FALSE": [ - -1, - 50 - ], - "'LAM": [ - -1, - 50 - ], - "'METHOD": [ - -1, - 50 - ], - "'LBRACK": [ - -1, - 50 - ], - "'TABLE": [ - -1, - 50 - ], - "'REACTOR": [ - -1, - 50 - ], - "'IF": [ - -1, - 50 - ], - "'ELSECOLON": [ - -1, - 50 - ], - "'ELSEIF": [ - -1, - 50 - ], - "'ASK": [ - -1, - 50 - ], - "'CASES": [ - -1, - 50 - ], - "'FOR": [ - -1, - 50 - ], - "'TABLE-SELECT": [ - -1, - 50 - ], - "'TABLE-FILTER": [ - -1, - 50 - ], - "'TABLE-ORDER": [ - -1, - 50 - ], - "'TABLE-EXTRACT": [ - -1, - 50 - ], - "'TABLE-UPDATE": [ - -1, - 50 - ], - "'TABLE-EXTEND": [ - -1, - 50 - ], - "'LOAD-TABLE": [ - -1, - 50 - ] - }, - { - "$": [ - -1, - 52 - ], - "'NAME": [ - -1, - 52 - ], - "'END": [ - -1, - 52 - ], - "'STRING": [ - -1, - 52 - ], - "'TYPE": [ - -1, - 52 - ], - "'DATA": [ - -1, - 52 - ], - "'PARENSPACE": [ - -1, - 52 - ], - "'SPY": [ - -1, - 52 - ], - "'NEWTYPE": [ - -1, - 52 - ], - "'LBRACE": [ - -1, - 52 - ], - "'RBRACE": [ - -1, - 52 - ], - "'SHADOW": [ - -1, - 52 - ], - "'LET": [ - -1, - 52 - ], - "'BLOCK": [ - -1, - 52 - ], - "'LETREC": [ - -1, - 52 - ], - "'TYPE-LET": [ - -1, - 52 - ], - "'FUN": [ - -1, - 52 - ], - "'PARENAFTERBRACE": [ - -1, - 52 - ], - "'WHERE": [ - -1, - 52 - ], - "'CHECK": [ - -1, - 52 - ], - "'EXAMPLES": [ - -1, - 52 - ], - "'CHECKCOLON": [ - -1, - 52 - ], - "'EXAMPLESCOLON": [ - -1, - 52 - ], - "'BAR": [ - -1, - 52 - ], - "'VAR": [ - -1, - 52 - ], - "'REC": [ - -1, - 52 - ], - "'WHEN": [ - -1, - 52 - ], - "'DOTDOTDOT": [ - -1, - 52 - ], - "'NUMBER": [ - -1, - 52 - ], - "'RATIONAL": [ - -1, - 52 - ], - "'ROUGHRATIONAL": [ - -1, - 52 - ], - "'TRUE": [ - -1, - 52 - ], - "'FALSE": [ - -1, - 52 - ], - "'LAM": [ - -1, - 52 - ], - "'METHOD": [ - -1, - 52 - ], - "'LBRACK": [ - -1, - 52 - ], - "'TABLE": [ - -1, - 52 - ], - "'REACTOR": [ - -1, - 52 - ], - "'IF": [ - -1, - 52 - ], - "'ELSECOLON": [ - -1, - 52 - ], - "'ELSEIF": [ - -1, - 52 - ], - "'ASK": [ - -1, - 52 - ], - "'CASES": [ - -1, - 52 - ], - "'FOR": [ - -1, - 52 - ], - "'TABLE-SELECT": [ - -1, - 52 - ], - "'TABLE-FILTER": [ - -1, - 52 - ], - "'TABLE-ORDER": [ - -1, - 52 - ], - "'TABLE-EXTRACT": [ - -1, - 52 - ], - "'TABLE-UPDATE": [ - -1, - 52 - ], - "'TABLE-EXTEND": [ - -1, - 52 - ], - "'LOAD-TABLE": [ - -1, - 52 - ] - }, - { - "$": [ - -1, - 54 - ], - "'NAME": [ - -1, - 54 - ], - "'END": [ - -1, - 54 - ], - "'STRING": [ - -1, - 54 - ], - "'TYPE": [ - -1, - 54 - ], - "'DATA": [ - -1, - 54 - ], - "'PARENSPACE": [ - -1, - 54 - ], - "'SPY": [ - -1, - 54 - ], - "'NEWTYPE": [ - -1, - 54 - ], - "'LBRACE": [ - -1, - 54 - ], - "'RBRACE": [ - -1, - 54 - ], - "'SHADOW": [ - -1, - 54 - ], - "'LET": [ - -1, - 54 - ], - "'BLOCK": [ - -1, - 54 - ], - "'LETREC": [ - -1, - 54 - ], - "'TYPE-LET": [ - -1, - 54 - ], - "'FUN": [ - -1, - 54 - ], - "'PARENAFTERBRACE": [ - -1, - 54 - ], - "'WHERE": [ - -1, - 54 - ], - "'CHECK": [ - -1, - 54 - ], - "'EXAMPLES": [ - -1, - 54 - ], - "'CHECKCOLON": [ - -1, - 54 - ], - "'EXAMPLESCOLON": [ - -1, - 54 - ], - "'BAR": [ - -1, - 54 - ], - "'VAR": [ - -1, - 54 - ], - "'REC": [ - -1, - 54 - ], - "'WHEN": [ - -1, - 54 - ], - "'DOTDOTDOT": [ - -1, - 54 - ], - "'NUMBER": [ - -1, - 54 - ], - "'RATIONAL": [ - -1, - 54 - ], - "'ROUGHRATIONAL": [ - -1, - 54 - ], - "'TRUE": [ - -1, - 54 - ], - "'FALSE": [ - -1, - 54 - ], - "'LAM": [ - -1, - 54 - ], - "'METHOD": [ - -1, - 54 - ], - "'LBRACK": [ - -1, - 54 - ], - "'TABLE": [ - -1, - 54 - ], - "'REACTOR": [ - -1, - 54 - ], - "'IF": [ - -1, - 54 - ], - "'ELSECOLON": [ - -1, - 54 - ], - "'ELSEIF": [ - -1, - 54 - ], - "'ASK": [ - -1, - 54 - ], - "'CASES": [ - -1, - 54 - ], - "'FOR": [ - -1, - 54 - ], - "'TABLE-SELECT": [ - -1, - 54 - ], - "'TABLE-FILTER": [ - -1, - 54 - ], - "'TABLE-ORDER": [ - -1, - 54 - ], - "'TABLE-EXTRACT": [ - -1, - 54 - ], - "'TABLE-UPDATE": [ - -1, - 54 - ], - "'TABLE-EXTEND": [ - -1, - 54 - ], - "'LOAD-TABLE": [ - -1, - 54 - ] - }, - { - "$": [ - -1, - 56 - ], - "'NAME": [ - -1, - 56 - ], - "'END": [ - -1, - 56 - ], - "'STRING": [ - -1, - 56 - ], - "'TYPE": [ - -1, - 56 - ], - "'DATA": [ - -1, - 56 - ], - "'PARENSPACE": [ - -1, - 56 - ], - "'SPY": [ - -1, - 56 - ], - "'NEWTYPE": [ - -1, - 56 - ], - "'LBRACE": [ - -1, - 56 - ], - "'RBRACE": [ - -1, - 56 - ], - "'SHADOW": [ - -1, - 56 - ], - "'LET": [ - -1, - 56 - ], - "'BLOCK": [ - -1, - 56 - ], - "'LETREC": [ - -1, - 56 - ], - "'TYPE-LET": [ - -1, - 56 - ], - "'FUN": [ - -1, - 56 - ], - "'PARENAFTERBRACE": [ - -1, - 56 - ], - "'WHERE": [ - -1, - 56 - ], - "'CHECK": [ - -1, - 56 - ], - "'EXAMPLES": [ - -1, - 56 - ], - "'CHECKCOLON": [ - -1, - 56 - ], - "'EXAMPLESCOLON": [ - -1, - 56 - ], - "'BAR": [ - -1, - 56 - ], - "'VAR": [ - -1, - 56 - ], - "'REC": [ - -1, - 56 - ], - "'WHEN": [ - -1, - 56 - ], - "'DOTDOTDOT": [ - -1, - 56 - ], - "'NUMBER": [ - -1, - 56 - ], - "'RATIONAL": [ - -1, - 56 - ], - "'ROUGHRATIONAL": [ - -1, - 56 - ], - "'TRUE": [ - -1, - 56 - ], - "'FALSE": [ - -1, - 56 - ], - "'LAM": [ - -1, - 56 - ], - "'METHOD": [ - -1, - 56 - ], - "'LBRACK": [ - -1, - 56 - ], - "'TABLE": [ - -1, - 56 - ], - "'REACTOR": [ - -1, - 56 - ], - "'IF": [ - -1, - 56 - ], - "'ELSECOLON": [ - -1, - 56 - ], - "'ELSEIF": [ - -1, - 56 - ], - "'ASK": [ - -1, - 56 - ], - "'CASES": [ - -1, - 56 - ], - "'FOR": [ - -1, - 56 - ], - "'TABLE-SELECT": [ - -1, - 56 - ], - "'TABLE-FILTER": [ - -1, - 56 - ], - "'TABLE-ORDER": [ - -1, - 56 - ], - "'TABLE-EXTRACT": [ - -1, - 56 - ], - "'TABLE-UPDATE": [ - -1, - 56 - ], - "'TABLE-EXTEND": [ - -1, - 56 - ], - "'LOAD-TABLE": [ - -1, - 56 - ] - }, - { - "$": [ - -1, - 58 - ], - "'NAME": [ - -1, - 58 - ], - "'END": [ - -1, - 58 - ], - "'STRING": [ - -1, - 58 - ], - "'TYPE": [ - -1, - 58 - ], - "'DATA": [ - -1, - 58 - ], - "'PARENSPACE": [ - -1, - 58 - ], - "'SPY": [ - -1, - 58 - ], - "'NEWTYPE": [ - -1, - 58 - ], - "'LBRACE": [ - -1, - 58 - ], - "'RBRACE": [ - -1, - 58 - ], - "'SHADOW": [ - -1, - 58 - ], - "'LET": [ - -1, - 58 - ], - "'BLOCK": [ - -1, - 58 - ], - "'LETREC": [ - -1, - 58 - ], - "'TYPE-LET": [ - -1, - 58 - ], - "'FUN": [ - -1, - 58 - ], - "'PARENAFTERBRACE": [ - -1, - 58 - ], - "'WHERE": [ - -1, - 58 - ], - "'CHECK": [ - -1, - 58 - ], - "'EXAMPLES": [ - -1, - 58 - ], - "'CHECKCOLON": [ - -1, - 58 - ], - "'EXAMPLESCOLON": [ - -1, - 58 - ], - "'BAR": [ - -1, - 58 - ], - "'VAR": [ - -1, - 58 - ], - "'REC": [ - -1, - 58 - ], - "'WHEN": [ - -1, - 58 - ], - "'DOTDOTDOT": [ - -1, - 58 - ], - "'NUMBER": [ - -1, - 58 - ], - "'RATIONAL": [ - -1, - 58 - ], - "'ROUGHRATIONAL": [ - -1, - 58 - ], - "'TRUE": [ - -1, - 58 - ], - "'FALSE": [ - -1, - 58 - ], - "'LAM": [ - -1, - 58 - ], - "'METHOD": [ - -1, - 58 - ], - "'LBRACK": [ - -1, - 58 - ], - "'TABLE": [ - -1, - 58 - ], - "'REACTOR": [ - -1, - 58 - ], - "'IF": [ - -1, - 58 - ], - "'ELSECOLON": [ - -1, - 58 - ], - "'ELSEIF": [ - -1, - 58 - ], - "'ASK": [ - -1, - 58 - ], - "'CASES": [ - -1, - 58 - ], - "'FOR": [ - -1, - 58 - ], - "'TABLE-SELECT": [ - -1, - 58 - ], - "'TABLE-FILTER": [ - -1, - 58 - ], - "'TABLE-ORDER": [ - -1, - 58 - ], - "'TABLE-EXTRACT": [ - -1, - 58 - ], - "'TABLE-UPDATE": [ - -1, - 58 - ], - "'TABLE-EXTEND": [ - -1, - 58 - ], - "'LOAD-TABLE": [ - -1, - 58 - ] - }, - { - "$": [ - -1, - 60 - ], - "'NAME": [ - -1, - 60 - ], - "'END": [ - -1, - 60 - ], - "'STRING": [ - -1, - 60 - ], - "'TYPE": [ - -1, - 60 - ], - "'DATA": [ - -1, - 60 - ], - "'PARENSPACE": [ - -1, - 60 - ], - "'SPY": [ - -1, - 60 - ], - "'NEWTYPE": [ - -1, - 60 - ], - "'LBRACE": [ - -1, - 60 - ], - "'RBRACE": [ - -1, - 60 - ], - "'SHADOW": [ - -1, - 60 - ], - "'LET": [ - -1, - 60 - ], - "'BLOCK": [ - -1, - 60 - ], - "'LETREC": [ - -1, - 60 - ], - "'TYPE-LET": [ - -1, - 60 - ], - "'FUN": [ - -1, - 60 - ], - "'PARENAFTERBRACE": [ - -1, - 60 - ], - "'WHERE": [ - -1, - 60 - ], - "'CHECK": [ - -1, - 60 - ], - "'EXAMPLES": [ - -1, - 60 - ], - "'CHECKCOLON": [ - -1, - 60 - ], - "'EXAMPLESCOLON": [ - -1, - 60 - ], - "'BAR": [ - -1, - 60 - ], - "'VAR": [ - -1, - 60 - ], - "'REC": [ - -1, - 60 - ], - "'WHEN": [ - -1, - 60 - ], - "'DOTDOTDOT": [ - -1, - 60 - ], - "'NUMBER": [ - -1, - 60 - ], - "'RATIONAL": [ - -1, - 60 - ], - "'ROUGHRATIONAL": [ - -1, - 60 - ], - "'TRUE": [ - -1, - 60 - ], - "'FALSE": [ - -1, - 60 - ], - "'LAM": [ - -1, - 60 - ], - "'METHOD": [ - -1, - 60 - ], - "'LBRACK": [ - -1, - 60 - ], - "'TABLE": [ - -1, - 60 - ], - "'REACTOR": [ - -1, - 60 - ], - "'IF": [ - -1, - 60 - ], - "'ELSECOLON": [ - -1, - 60 - ], - "'ELSEIF": [ - -1, - 60 - ], - "'ASK": [ - -1, - 60 - ], - "'CASES": [ - -1, - 60 - ], - "'FOR": [ - -1, - 60 - ], - "'TABLE-SELECT": [ - -1, - 60 - ], - "'TABLE-FILTER": [ - -1, - 60 - ], - "'TABLE-ORDER": [ - -1, - 60 - ], - "'TABLE-EXTRACT": [ - -1, - 60 - ], - "'TABLE-UPDATE": [ - -1, - 60 - ], - "'TABLE-EXTEND": [ - -1, - 60 - ], - "'LOAD-TABLE": [ - -1, - 60 - ] - }, - { - "$": [ - -1, - 62 - ], - "'NAME": [ - -1, - 62 - ], - "'END": [ - -1, - 62 - ], - "'STRING": [ - -1, - 62 - ], - "'TYPE": [ - -1, - 62 - ], - "'DATA": [ - -1, - 62 - ], - "'PARENSPACE": [ - -1, - 62 - ], - "'SPY": [ - -1, - 62 - ], - "'NEWTYPE": [ - -1, - 62 - ], - "'LBRACE": [ - -1, - 62 - ], - "'RBRACE": [ - -1, - 62 - ], - "'SHADOW": [ - -1, - 62 - ], - "'LET": [ - -1, - 62 - ], - "'BLOCK": [ - -1, - 62 - ], - "'LETREC": [ - -1, - 62 - ], - "'TYPE-LET": [ - -1, - 62 - ], - "'FUN": [ - -1, - 62 - ], - "'PARENAFTERBRACE": [ - -1, - 62 - ], - "'WHERE": [ - -1, - 62 - ], - "'CHECK": [ - -1, - 62 - ], - "'EXAMPLES": [ - -1, - 62 - ], - "'CHECKCOLON": [ - -1, - 62 - ], - "'EXAMPLESCOLON": [ - -1, - 62 - ], - "'BAR": [ - -1, - 62 - ], - "'VAR": [ - -1, - 62 - ], - "'REC": [ - -1, - 62 - ], - "'WHEN": [ - -1, - 62 - ], - "'DOTDOTDOT": [ - -1, - 62 - ], - "'NUMBER": [ - -1, - 62 - ], - "'RATIONAL": [ - -1, - 62 - ], - "'ROUGHRATIONAL": [ - -1, - 62 - ], - "'TRUE": [ - -1, - 62 - ], - "'FALSE": [ - -1, - 62 - ], - "'LAM": [ - -1, - 62 - ], - "'METHOD": [ - -1, - 62 - ], - "'LBRACK": [ - -1, - 62 - ], - "'TABLE": [ - -1, - 62 - ], - "'REACTOR": [ - -1, - 62 - ], - "'IF": [ - -1, - 62 - ], - "'ELSECOLON": [ - -1, - 62 - ], - "'ELSEIF": [ - -1, - 62 - ], - "'ASK": [ - -1, - 62 - ], - "'CASES": [ - -1, - 62 - ], - "'FOR": [ - -1, - 62 - ], - "'TABLE-SELECT": [ - -1, - 62 - ], - "'TABLE-FILTER": [ - -1, - 62 - ], - "'TABLE-ORDER": [ - -1, - 62 - ], - "'TABLE-EXTRACT": [ - -1, - 62 - ], - "'TABLE-UPDATE": [ - -1, - 62 - ], - "'TABLE-EXTEND": [ - -1, - 62 - ], - "'LOAD-TABLE": [ - -1, - 62 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "spy-stmt_I1?": [ - 140 - ], - "spy-stmt_I1": [ - 141 - ], - "binop-expr": [ - 142 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'COLON": [ - -1, - 64 - ] - }, - { - "check-op": [ - 144 - ], - "check-op-postfix": [ - 145 - ], - "'IS": [ - 146 - ], - "'ISEQUALEQUAL": [ - 147 - ], - "'ISEQUALTILDE": [ - 148 - ], - "'ISSPACESHIP": [ - 149 - ], - "'ISROUGHLY": [ - 150 - ], - "'ISNOT": [ - 151 - ], - "'ISNOTEQUALEQUAL": [ - 152 - ], - "'ISNOTEQUALTILDE": [ - 153 - ], - "'ISNOTSPACESHIP": [ - 154 - ], - "'RAISES": [ - 155 - ], - "'RAISESOTHER": [ - 156 - ], - "'SATISFIES": [ - 157 - ], - "'SATISFIESNOT": [ - 158 - ], - "'RAISESSATISFIES": [ - 159 - ], - "'RAISESVIOLATES": [ - 160 - ], - "'RAISESNOT": [ - 161 - ], - "$": [ - -1, - 66 - ], - "'NAME": [ - -1, - 66 - ], - "'END": [ - -1, - 66 - ], - "'STRING": [ - -1, - 66 - ], - "'TYPE": [ - -1, - 66 - ], - "'DATA": [ - -1, - 66 - ], - "'PARENSPACE": [ - -1, - 66 - ], - "'SPY": [ - -1, - 66 - ], - "'NEWTYPE": [ - -1, - 66 - ], - "'LBRACE": [ - -1, - 66 - ], - "'RBRACE": [ - -1, - 66 - ], - "'SHADOW": [ - -1, - 66 - ], - "'LET": [ - -1, - 66 - ], - "'BLOCK": [ - -1, - 66 - ], - "'LETREC": [ - -1, - 66 - ], - "'TYPE-LET": [ - -1, - 66 - ], - "'FUN": [ - -1, - 66 - ], - "'PARENAFTERBRACE": [ - -1, - 66 - ], - "'WHERE": [ - -1, - 66 - ], - "'CHECK": [ - -1, - 66 - ], - "'EXAMPLES": [ - -1, - 66 - ], - "'CHECKCOLON": [ - -1, - 66 - ], - "'EXAMPLESCOLON": [ - -1, - 66 - ], - "'BAR": [ - -1, - 66 - ], - "'VAR": [ - -1, - 66 - ], - "'REC": [ - -1, - 66 - ], - "'WHEN": [ - -1, - 66 - ], - "'DOTDOTDOT": [ - -1, - 66 - ], - "'NUMBER": [ - -1, - 66 - ], - "'RATIONAL": [ - -1, - 66 - ], - "'ROUGHRATIONAL": [ - -1, - 66 - ], - "'TRUE": [ - -1, - 66 - ], - "'FALSE": [ - -1, - 66 - ], - "'LAM": [ - -1, - 66 - ], - "'METHOD": [ - -1, - 66 - ], - "'LBRACK": [ - -1, - 66 - ], - "'TABLE": [ - -1, - 66 - ], - "'REACTOR": [ - -1, - 66 - ], - "'IF": [ - -1, - 66 - ], - "'ELSECOLON": [ - -1, - 66 - ], - "'ELSEIF": [ - -1, - 66 - ], - "'ASK": [ - -1, - 66 - ], - "'CASES": [ - -1, - 66 - ], - "'FOR": [ - -1, - 66 - ], - "'TABLE-SELECT": [ - -1, - 66 - ], - "'TABLE-FILTER": [ - -1, - 66 - ], - "'TABLE-ORDER": [ - -1, - 66 - ], - "'TABLE-EXTRACT": [ - -1, - 66 - ], - "'TABLE-UPDATE": [ - -1, - 66 - ], - "'TABLE-EXTEND": [ - -1, - 66 - ], - "'LOAD-TABLE": [ - -1, - 66 - ] - }, - { - "$": [ - -1, - 68 - ], - "'NAME": [ - -1, - 68 - ], - "'COLON": [ - -1, - 68 - ], - "'END": [ - -1, - 68 - ], - "'COMMA": [ - -1, - 68 - ], - "'PARENNOSPACE": [ - -1, - 68 - ], - "'STRING": [ - -1, - 68 - ], - "'RPAREN": [ - -1, - 68 - ], - "'TYPE": [ - -1, - 68 - ], - "'DATA": [ - -1, - 68 - ], - "'TIMES": [ - -1, - 68 - ], - "'PARENSPACE": [ - -1, - 68 - ], - "'DOT": [ - -1, - 68 - ], - "'SPY": [ - -1, - 68 - ], - "'NEWTYPE": [ - -1, - 68 - ], - "'LBRACE": [ - -1, - 68 - ], - "'RBRACE": [ - -1, - 68 - ], - "'SEMI": [ - -1, - 68 - ], - "'SHADOW": [ - -1, - 68 - ], - "'LET": [ - -1, - 68 - ], - "'BLOCK": [ - -1, - 68 - ], - "'LETREC": [ - -1, - 68 - ], - "'TYPE-LET": [ - -1, - 68 - ], - "'FUN": [ - -1, - 68 - ], - "'LANGLE": [ - -1, - 68 - ], - "'LT": [ - -1, - 68 - ], - "'GT": [ - -1, - 68 - ], - "'PARENAFTERBRACE": [ - -1, - 68 - ], - "'WHERE": [ - -1, - 68 - ], - "'CHECK": [ - -1, - 68 - ], - "'EXAMPLES": [ - -1, - 68 - ], - "'CHECKCOLON": [ - -1, - 68 - ], - "'EXAMPLESCOLON": [ - -1, - 68 - ], - "'BECAUSE": [ - -1, - 68 - ], - "'BAR": [ - -1, - 68 - ], - "'SHARING": [ - -1, - 68 - ], - "'VAR": [ - -1, - 68 - ], - "'REC": [ - -1, - 68 - ], - "'WHEN": [ - -1, - 68 - ], - "'PLUS": [ - -1, - 68 - ], - "'DASH": [ - -1, - 68 - ], - "'SLASH": [ - -1, - 68 - ], - "'LEQ": [ - -1, - 68 - ], - "'GEQ": [ - -1, - 68 - ], - "'EQUALEQUAL": [ - -1, - 68 - ], - "'SPACESHIP": [ - -1, - 68 - ], - "'EQUALTILDE": [ - -1, - 68 - ], - "'NEQ": [ - -1, - 68 - ], - "'AND": [ - -1, - 68 - ], - "'OR": [ - -1, - 68 - ], - "'CARET": [ - -1, - 68 - ], - "'IS": [ - -1, - 68 - ], - "'ISEQUALEQUAL": [ - -1, - 68 - ], - "'ISEQUALTILDE": [ - -1, - 68 - ], - "'ISSPACESHIP": [ - -1, - 68 - ], - "'ISROUGHLY": [ - -1, - 68 - ], - "'ISNOT": [ - -1, - 68 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 68 - ], - "'ISNOTEQUALTILDE": [ - -1, - 68 - ], - "'ISNOTSPACESHIP": [ - -1, - 68 - ], - "'RAISES": [ - -1, - 68 - ], - "'RAISESOTHER": [ - -1, - 68 - ], - "'SATISFIES": [ - -1, - 68 - ], - "'SATISFIESNOT": [ - -1, - 68 - ], - "'RAISESSATISFIES": [ - -1, - 68 - ], - "'RAISESVIOLATES": [ - -1, - 68 - ], - "'RAISESNOT": [ - -1, - 68 - ], - "'DOTDOTDOT": [ - -1, - 68 - ], - "'NUMBER": [ - -1, - 68 - ], - "'RATIONAL": [ - -1, - 68 - ], - "'ROUGHRATIONAL": [ - -1, - 68 - ], - "'TRUE": [ - -1, - 68 - ], - "'FALSE": [ - -1, - 68 - ], - "'LAM": [ - -1, - 68 - ], - "'METHOD": [ - -1, - 68 - ], - "'LBRACK": [ - -1, - 68 - ], - "'RBRACK": [ - -1, - 68 - ], - "'TABLE": [ - -1, - 68 - ], - "'ROW": [ - -1, - 68 - ], - "'REACTOR": [ - -1, - 68 - ], - "'BANG": [ - -1, - 68 - ], - "'IF": [ - -1, - 68 - ], - "'ELSECOLON": [ - -1, - 68 - ], - "'ELSEIF": [ - -1, - 68 - ], - "'ASK": [ - -1, - 68 - ], - "'THENCOLON": [ - -1, - 68 - ], - "'CASES": [ - -1, - 68 - ], - "'FOR": [ - -1, - 68 - ], - "'TABLE-SELECT": [ - -1, - 68 - ], - "'TABLE-FILTER": [ - -1, - 68 - ], - "'USING": [ - -1, - 68 - ], - "'TABLE-ORDER": [ - -1, - 68 - ], - "'TABLE-EXTRACT": [ - -1, - 68 - ], - "'TABLE-UPDATE": [ - -1, - 68 - ], - "'TABLE-EXTEND": [ - -1, - 68 - ], - "'OF": [ - -1, - 68 - ], - "'LOAD-TABLE": [ - -1, - 68 - ], - "'SOURCECOLON": [ - -1, - 68 - ], - "'SANITIZE": [ - -1, - 68 - ] - }, - { - "'NAME": [ - 162 - ] - }, - { - "'EQUALS": [ - 163 - ] - }, - { - "'EQUALS": [ - -1, - 70 - ] - }, - { - "'FROM": [ - -1, - 72 - ], - "'COLON": [ - -1, - 72 - ], - "'COMMA": [ - -1, - 72 - ], - "'RPAREN": [ - -1, - 72 - ], - "'EQUALS": [ - -1, - 72 - ], - "'RBRACE": [ - -1, - 72 - ], - "'SEMI": [ - -1, - 72 - ] - }, - { - "'FROM": [ - -1, - 74 - ], - "'COLON": [ - -1, - 74 - ], - "'COMMA": [ - -1, - 74 - ], - "'RPAREN": [ - -1, - 74 - ], - "'EQUALS": [ - -1, - 74 - ], - "'RBRACE": [ - -1, - 74 - ], - "'SEMI": [ - -1, - 74 - ] - }, - { - "'NAME": [ - 164, - 76 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16, - 78, - 80 - ], - "binop-expr": [ - 165 - ], - "id-expr": [ - 33 - ], - "ty-params": [ - 166 - ], - "'LBRACE": [ - 143, - 76 - ], - "tuple-binding_I1*": [ - 167 - ], - "'RBRACE": [ - 168 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "fun-header": [ - 169 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENAFTERBRACE": [ - 51, - 78, - 80 - ], - "'REF": [ - 175 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 176 - ], - "tuple-fields": [ - 177 - ], - "obj-fields": [ - 178 - ], - "obj-field": [ - 179 - ], - "key": [ - 180 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'SHADOW": [ - -1, - 76 - ] - }, - { - "'NAME": [ - 181 - ] - }, - { - "'NAME": [ - -1, - 82 - ] - }, - { - "'NAME": [ - -1, - 84 - ] - }, - { - "$": [ - -1, - 86 - ], - "'NAME": [ - -1, - 86 - ], - "'COLON": [ - -1, - 86 - ], - "'END": [ - -1, - 86 - ], - "'COMMA": [ - -1, - 86 - ], - "'PARENNOSPACE": [ - -1, - 86 - ], - "'STRING": [ - -1, - 86 - ], - "'RPAREN": [ - -1, - 86 - ], - "'TYPE": [ - -1, - 86 - ], - "'DATA": [ - -1, - 86 - ], - "'TIMES": [ - -1, - 86 - ], - "'PARENSPACE": [ - -1, - 86 - ], - "'DOT": [ - -1, - 86 - ], - "'SPY": [ - -1, - 86 - ], - "'NEWTYPE": [ - -1, - 86 - ], - "'LBRACE": [ - -1, - 86 - ], - "'RBRACE": [ - -1, - 86 - ], - "'SEMI": [ - -1, - 86 - ], - "'SHADOW": [ - -1, - 86 - ], - "'LET": [ - -1, - 86 - ], - "'BLOCK": [ - -1, - 86 - ], - "'LETREC": [ - -1, - 86 - ], - "'TYPE-LET": [ - -1, - 86 - ], - "'FUN": [ - -1, - 86 - ], - "'LANGLE": [ - -1, - 86 - ], - "'LT": [ - -1, - 86 - ], - "'GT": [ - -1, - 86 - ], - "'PARENAFTERBRACE": [ - -1, - 86 - ], - "'WHERE": [ - -1, - 86 - ], - "'CHECK": [ - -1, - 86 - ], - "'EXAMPLES": [ - -1, - 86 - ], - "'CHECKCOLON": [ - -1, - 86 - ], - "'EXAMPLESCOLON": [ - -1, - 86 - ], - "'BECAUSE": [ - -1, - 86 - ], - "'BAR": [ - -1, - 86 - ], - "'SHARING": [ - -1, - 86 - ], - "'VAR": [ - -1, - 86 - ], - "'REC": [ - -1, - 86 - ], - "'WHEN": [ - -1, - 86 - ], - "'PLUS": [ - -1, - 86 - ], - "'DASH": [ - -1, - 86 - ], - "'SLASH": [ - -1, - 86 - ], - "'LEQ": [ - -1, - 86 - ], - "'GEQ": [ - -1, - 86 - ], - "'EQUALEQUAL": [ - -1, - 86 - ], - "'SPACESHIP": [ - -1, - 86 - ], - "'EQUALTILDE": [ - -1, - 86 - ], - "'NEQ": [ - -1, - 86 - ], - "'AND": [ - -1, - 86 - ], - "'OR": [ - -1, - 86 - ], - "'CARET": [ - -1, - 86 - ], - "'IS": [ - -1, - 86 - ], - "'ISEQUALEQUAL": [ - -1, - 86 - ], - "'ISEQUALTILDE": [ - -1, - 86 - ], - "'ISSPACESHIP": [ - -1, - 86 - ], - "'ISROUGHLY": [ - -1, - 86 - ], - "'ISNOT": [ - -1, - 86 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 86 - ], - "'ISNOTEQUALTILDE": [ - -1, - 86 - ], - "'ISNOTSPACESHIP": [ - -1, - 86 - ], - "'RAISES": [ - -1, - 86 - ], - "'RAISESOTHER": [ - -1, - 86 - ], - "'SATISFIES": [ - -1, - 86 - ], - "'SATISFIESNOT": [ - -1, - 86 - ], - "'RAISESSATISFIES": [ - -1, - 86 - ], - "'RAISESVIOLATES": [ - -1, - 86 - ], - "'RAISESNOT": [ - -1, - 86 - ], - "'DOTDOTDOT": [ - -1, - 86 - ], - "'NUMBER": [ - -1, - 86 - ], - "'RATIONAL": [ - -1, - 86 - ], - "'ROUGHRATIONAL": [ - -1, - 86 - ], - "'TRUE": [ - -1, - 86 - ], - "'FALSE": [ - -1, - 86 - ], - "'LAM": [ - -1, - 86 - ], - "'METHOD": [ - -1, - 86 - ], - "'LBRACK": [ - -1, - 86 - ], - "'RBRACK": [ - -1, - 86 - ], - "'TABLE": [ - -1, - 86 - ], - "'ROW": [ - -1, - 86 - ], - "'REACTOR": [ - -1, - 86 - ], - "'BANG": [ - -1, - 86 - ], - "'IF": [ - -1, - 86 - ], - "'ELSECOLON": [ - -1, - 86 - ], - "'ELSEIF": [ - -1, - 86 - ], - "'ASK": [ - -1, - 86 - ], - "'THENCOLON": [ - -1, - 86 - ], - "'CASES": [ - -1, - 86 - ], - "'FOR": [ - -1, - 86 - ], - "'TABLE-SELECT": [ - -1, - 86 - ], - "'TABLE-FILTER": [ - -1, - 86 - ], - "'USING": [ - -1, - 86 - ], - "'TABLE-ORDER": [ - -1, - 86 - ], - "'TABLE-EXTRACT": [ - -1, - 86 - ], - "'TABLE-UPDATE": [ - -1, - 86 - ], - "'TABLE-EXTEND": [ - -1, - 86 - ], - "'OF": [ - -1, - 86 - ], - "'LOAD-TABLE": [ - -1, - 86 - ], - "'SOURCECOLON": [ - -1, - 86 - ], - "'SANITIZE": [ - -1, - 86 - ] - }, - { - "let-expr": [ - 182 - ], - "var-expr": [ - 183 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "let-binding": [ - 185 - ], - "'VAR": [ - 58 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "block": [ - 186 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 88 - ], - "'NAME": [ - -1, - 88 - ], - "'COLON": [ - -1, - 88 - ], - "'END": [ - -1, - 88 - ], - "'COMMA": [ - -1, - 88 - ], - "'PARENNOSPACE": [ - -1, - 88 - ], - "'STRING": [ - -1, - 88 - ], - "'RPAREN": [ - -1, - 88 - ], - "'TYPE": [ - -1, - 88 - ], - "'DATA": [ - -1, - 88 - ], - "'TIMES": [ - -1, - 88 - ], - "'PARENSPACE": [ - -1, - 88 - ], - "'DOT": [ - -1, - 88 - ], - "'SPY": [ - -1, - 88 - ], - "'NEWTYPE": [ - -1, - 88 - ], - "'LBRACE": [ - -1, - 88 - ], - "'RBRACE": [ - -1, - 88 - ], - "'SEMI": [ - -1, - 88 - ], - "'SHADOW": [ - -1, - 88 - ], - "'LET": [ - -1, - 88 - ], - "'BLOCK": [ - -1, - 88 - ], - "'LETREC": [ - -1, - 88 - ], - "'TYPE-LET": [ - -1, - 88 - ], - "'FUN": [ - -1, - 88 - ], - "'LANGLE": [ - -1, - 88 - ], - "'LT": [ - -1, - 88 - ], - "'GT": [ - -1, - 88 - ], - "'PARENAFTERBRACE": [ - -1, - 88 - ], - "'WHERE": [ - -1, - 88 - ], - "'CHECK": [ - -1, - 88 - ], - "'EXAMPLES": [ - -1, - 88 - ], - "'CHECKCOLON": [ - -1, - 88 - ], - "'EXAMPLESCOLON": [ - -1, - 88 - ], - "'BECAUSE": [ - -1, - 88 - ], - "'BAR": [ - -1, - 88 - ], - "'SHARING": [ - -1, - 88 - ], - "'VAR": [ - -1, - 88 - ], - "'REC": [ - -1, - 88 - ], - "'WHEN": [ - -1, - 88 - ], - "'PLUS": [ - -1, - 88 - ], - "'DASH": [ - -1, - 88 - ], - "'SLASH": [ - -1, - 88 - ], - "'LEQ": [ - -1, - 88 - ], - "'GEQ": [ - -1, - 88 - ], - "'EQUALEQUAL": [ - -1, - 88 - ], - "'SPACESHIP": [ - -1, - 88 - ], - "'EQUALTILDE": [ - -1, - 88 - ], - "'NEQ": [ - -1, - 88 - ], - "'AND": [ - -1, - 88 - ], - "'OR": [ - -1, - 88 - ], - "'CARET": [ - -1, - 88 - ], - "'IS": [ - -1, - 88 - ], - "'ISEQUALEQUAL": [ - -1, - 88 - ], - "'ISEQUALTILDE": [ - -1, - 88 - ], - "'ISSPACESHIP": [ - -1, - 88 - ], - "'ISROUGHLY": [ - -1, - 88 - ], - "'ISNOT": [ - -1, - 88 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 88 - ], - "'ISNOTEQUALTILDE": [ - -1, - 88 - ], - "'ISNOTSPACESHIP": [ - -1, - 88 - ], - "'RAISES": [ - -1, - 88 - ], - "'RAISESOTHER": [ - -1, - 88 - ], - "'SATISFIES": [ - -1, - 88 - ], - "'SATISFIESNOT": [ - -1, - 88 - ], - "'RAISESSATISFIES": [ - -1, - 88 - ], - "'RAISESVIOLATES": [ - -1, - 88 - ], - "'RAISESNOT": [ - -1, - 88 - ], - "'DOTDOTDOT": [ - -1, - 88 - ], - "'NUMBER": [ - -1, - 88 - ], - "'RATIONAL": [ - -1, - 88 - ], - "'ROUGHRATIONAL": [ - -1, - 88 - ], - "'TRUE": [ - -1, - 88 - ], - "'FALSE": [ - -1, - 88 - ], - "'LAM": [ - -1, - 88 - ], - "'METHOD": [ - -1, - 88 - ], - "'LBRACK": [ - -1, - 88 - ], - "'RBRACK": [ - -1, - 88 - ], - "'TABLE": [ - -1, - 88 - ], - "'ROW": [ - -1, - 88 - ], - "'REACTOR": [ - -1, - 88 - ], - "'BANG": [ - -1, - 88 - ], - "'IF": [ - -1, - 88 - ], - "'ELSECOLON": [ - -1, - 88 - ], - "'ELSEIF": [ - -1, - 88 - ], - "'ASK": [ - -1, - 88 - ], - "'THENCOLON": [ - -1, - 88 - ], - "'CASES": [ - -1, - 88 - ], - "'FOR": [ - -1, - 88 - ], - "'TABLE-SELECT": [ - -1, - 88 - ], - "'TABLE-FILTER": [ - -1, - 88 - ], - "'USING": [ - -1, - 88 - ], - "'TABLE-ORDER": [ - -1, - 88 - ], - "'TABLE-EXTRACT": [ - -1, - 88 - ], - "'TABLE-UPDATE": [ - -1, - 88 - ], - "'TABLE-EXTEND": [ - -1, - 88 - ], - "'OF": [ - -1, - 88 - ], - "'LOAD-TABLE": [ - -1, - 88 - ], - "'SOURCECOLON": [ - -1, - 88 - ], - "'SANITIZE": [ - -1, - 88 - ] - }, - { - "let-expr": [ - 187 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "$": [ - -1, - 90 - ], - "'NAME": [ - -1, - 90 - ], - "'COLON": [ - -1, - 90 - ], - "'END": [ - -1, - 90 - ], - "'COMMA": [ - -1, - 90 - ], - "'PARENNOSPACE": [ - -1, - 90 - ], - "'STRING": [ - -1, - 90 - ], - "'RPAREN": [ - -1, - 90 - ], - "'TYPE": [ - -1, - 90 - ], - "'DATA": [ - -1, - 90 - ], - "'TIMES": [ - -1, - 90 - ], - "'PARENSPACE": [ - -1, - 90 - ], - "'DOT": [ - -1, - 90 - ], - "'SPY": [ - -1, - 90 - ], - "'NEWTYPE": [ - -1, - 90 - ], - "'LBRACE": [ - -1, - 90 - ], - "'RBRACE": [ - -1, - 90 - ], - "'SEMI": [ - -1, - 90 - ], - "'SHADOW": [ - -1, - 90 - ], - "'LET": [ - -1, - 90 - ], - "'BLOCK": [ - -1, - 90 - ], - "'LETREC": [ - -1, - 90 - ], - "'TYPE-LET": [ - -1, - 90 - ], - "'FUN": [ - -1, - 90 - ], - "'LANGLE": [ - -1, - 90 - ], - "'LT": [ - -1, - 90 - ], - "'GT": [ - -1, - 90 - ], - "'PARENAFTERBRACE": [ - -1, - 90 - ], - "'WHERE": [ - -1, - 90 - ], - "'CHECK": [ - -1, - 90 - ], - "'EXAMPLES": [ - -1, - 90 - ], - "'CHECKCOLON": [ - -1, - 90 - ], - "'EXAMPLESCOLON": [ - -1, - 90 - ], - "'BECAUSE": [ - -1, - 90 - ], - "'BAR": [ - -1, - 90 - ], - "'SHARING": [ - -1, - 90 - ], - "'VAR": [ - -1, - 90 - ], - "'REC": [ - -1, - 90 - ], - "'WHEN": [ - -1, - 90 - ], - "'PLUS": [ - -1, - 90 - ], - "'DASH": [ - -1, - 90 - ], - "'SLASH": [ - -1, - 90 - ], - "'LEQ": [ - -1, - 90 - ], - "'GEQ": [ - -1, - 90 - ], - "'EQUALEQUAL": [ - -1, - 90 - ], - "'SPACESHIP": [ - -1, - 90 - ], - "'EQUALTILDE": [ - -1, - 90 - ], - "'NEQ": [ - -1, - 90 - ], - "'AND": [ - -1, - 90 - ], - "'OR": [ - -1, - 90 - ], - "'CARET": [ - -1, - 90 - ], - "'IS": [ - -1, - 90 - ], - "'ISEQUALEQUAL": [ - -1, - 90 - ], - "'ISEQUALTILDE": [ - -1, - 90 - ], - "'ISSPACESHIP": [ - -1, - 90 - ], - "'ISROUGHLY": [ - -1, - 90 - ], - "'ISNOT": [ - -1, - 90 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 90 - ], - "'ISNOTEQUALTILDE": [ - -1, - 90 - ], - "'ISNOTSPACESHIP": [ - -1, - 90 - ], - "'RAISES": [ - -1, - 90 - ], - "'RAISESOTHER": [ - -1, - 90 - ], - "'SATISFIES": [ - -1, - 90 - ], - "'SATISFIESNOT": [ - -1, - 90 - ], - "'RAISESSATISFIES": [ - -1, - 90 - ], - "'RAISESVIOLATES": [ - -1, - 90 - ], - "'RAISESNOT": [ - -1, - 90 - ], - "'DOTDOTDOT": [ - -1, - 90 - ], - "'NUMBER": [ - -1, - 90 - ], - "'RATIONAL": [ - -1, - 90 - ], - "'ROUGHRATIONAL": [ - -1, - 90 - ], - "'TRUE": [ - -1, - 90 - ], - "'FALSE": [ - -1, - 90 - ], - "'LAM": [ - -1, - 90 - ], - "'METHOD": [ - -1, - 90 - ], - "'LBRACK": [ - -1, - 90 - ], - "'RBRACK": [ - -1, - 90 - ], - "'TABLE": [ - -1, - 90 - ], - "'ROW": [ - -1, - 90 - ], - "'REACTOR": [ - -1, - 90 - ], - "'BANG": [ - -1, - 90 - ], - "'IF": [ - -1, - 90 - ], - "'ELSECOLON": [ - -1, - 90 - ], - "'ELSEIF": [ - -1, - 90 - ], - "'ASK": [ - -1, - 90 - ], - "'THENCOLON": [ - -1, - 90 - ], - "'CASES": [ - -1, - 90 - ], - "'FOR": [ - -1, - 90 - ], - "'TABLE-SELECT": [ - -1, - 90 - ], - "'TABLE-FILTER": [ - -1, - 90 - ], - "'USING": [ - -1, - 90 - ], - "'TABLE-ORDER": [ - -1, - 90 - ], - "'TABLE-EXTRACT": [ - -1, - 90 - ], - "'TABLE-UPDATE": [ - -1, - 90 - ], - "'TABLE-EXTEND": [ - -1, - 90 - ], - "'OF": [ - -1, - 90 - ], - "'LOAD-TABLE": [ - -1, - 90 - ], - "'SOURCECOLON": [ - -1, - 90 - ], - "'SANITIZE": [ - -1, - 90 - ] - }, - { - "'NAME": [ - 188 - ], - "'NEWTYPE": [ - 189 - ], - "type-bind": [ - 190 - ], - "newtype-bind": [ - 191 - ], - "type-let-bind": [ - 192 - ] - }, - { - "'NAME": [ - 193 - ] - }, - { - "'NAME": [ - -1, - 92 - ], - "'STRING": [ - -1, - 92 - ], - "'PARENSPACE": [ - -1, - 92 - ], - "'LBRACE": [ - -1, - 92 - ], - "'LET": [ - -1, - 92 - ], - "'BLOCK": [ - -1, - 92 - ], - "'LETREC": [ - -1, - 92 - ], - "'TYPE-LET": [ - -1, - 92 - ], - "'PARENAFTERBRACE": [ - -1, - 92 - ], - "'DOTDOTDOT": [ - -1, - 92 - ], - "'NUMBER": [ - -1, - 92 - ], - "'RATIONAL": [ - -1, - 92 - ], - "'ROUGHRATIONAL": [ - -1, - 92 - ], - "'TRUE": [ - -1, - 92 - ], - "'FALSE": [ - -1, - 92 - ], - "'LAM": [ - -1, - 92 - ], - "'METHOD": [ - -1, - 92 - ], - "'LBRACK": [ - -1, - 92 - ], - "'TABLE": [ - -1, - 92 - ], - "'REACTOR": [ - -1, - 92 - ], - "'IF": [ - -1, - 92 - ], - "'ASK": [ - -1, - 92 - ], - "'CASES": [ - -1, - 92 - ], - "'FOR": [ - -1, - 92 - ], - "'TABLE-SELECT": [ - -1, - 92 - ], - "'TABLE-FILTER": [ - -1, - 92 - ], - "'TABLE-ORDER": [ - -1, - 92 - ], - "'TABLE-EXTRACT": [ - -1, - 92 - ], - "'TABLE-UPDATE": [ - -1, - 92 - ], - "'TABLE-EXTEND": [ - -1, - 92 - ], - "'LOAD-TABLE": [ - -1, - 92 - ] - }, - { - "'STRING": [ - 194 - ] - }, - { - "'STRING": [ - -1, - 94 - ] - }, - { - "'STRING": [ - -1, - 96 - ] - }, - { - "block": [ - 195 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - -1, - 98 - ], - "'END": [ - -1, - 98 - ], - "'STRING": [ - -1, - 98 - ], - "'TYPE": [ - -1, - 98 - ], - "'DATA": [ - -1, - 98 - ], - "'PARENSPACE": [ - -1, - 98 - ], - "'SPY": [ - -1, - 98 - ], - "'NEWTYPE": [ - -1, - 98 - ], - "'LBRACE": [ - -1, - 98 - ], - "'SHADOW": [ - -1, - 98 - ], - "'LET": [ - -1, - 98 - ], - "'BLOCK": [ - -1, - 98 - ], - "'LETREC": [ - -1, - 98 - ], - "'TYPE-LET": [ - -1, - 98 - ], - "'FUN": [ - -1, - 98 - ], - "'PARENAFTERBRACE": [ - -1, - 98 - ], - "'CHECK": [ - -1, - 98 - ], - "'EXAMPLES": [ - -1, - 98 - ], - "'CHECKCOLON": [ - -1, - 98 - ], - "'EXAMPLESCOLON": [ - -1, - 98 - ], - "'VAR": [ - -1, - 98 - ], - "'REC": [ - -1, - 98 - ], - "'WHEN": [ - -1, - 98 - ], - "'DOTDOTDOT": [ - -1, - 98 - ], - "'NUMBER": [ - -1, - 98 - ], - "'RATIONAL": [ - -1, - 98 - ], - "'ROUGHRATIONAL": [ - -1, - 98 - ], - "'TRUE": [ - -1, - 98 - ], - "'FALSE": [ - -1, - 98 - ], - "'LAM": [ - -1, - 98 - ], - "'METHOD": [ - -1, - 98 - ], - "'LBRACK": [ - -1, - 98 - ], - "'TABLE": [ - -1, - 98 - ], - "'REACTOR": [ - -1, - 98 - ], - "'IF": [ - -1, - 98 - ], - "'ASK": [ - -1, - 98 - ], - "'CASES": [ - -1, - 98 - ], - "'FOR": [ - -1, - 98 - ], - "'TABLE-SELECT": [ - -1, - 98 - ], - "'TABLE-FILTER": [ - -1, - 98 - ], - "'TABLE-ORDER": [ - -1, - 98 - ], - "'TABLE-EXTRACT": [ - -1, - 98 - ], - "'TABLE-UPDATE": [ - -1, - 98 - ], - "'TABLE-EXTEND": [ - -1, - 98 - ], - "'LOAD-TABLE": [ - -1, - 98 - ] - }, - { - "'NAME": [ - -1, - 100 - ], - "'END": [ - -1, - 100 - ], - "'STRING": [ - -1, - 100 - ], - "'TYPE": [ - -1, - 100 - ], - "'DATA": [ - -1, - 100 - ], - "'PARENSPACE": [ - -1, - 100 - ], - "'SPY": [ - -1, - 100 - ], - "'NEWTYPE": [ - -1, - 100 - ], - "'LBRACE": [ - -1, - 100 - ], - "'SHADOW": [ - -1, - 100 - ], - "'LET": [ - -1, - 100 - ], - "'BLOCK": [ - -1, - 100 - ], - "'LETREC": [ - -1, - 100 - ], - "'TYPE-LET": [ - -1, - 100 - ], - "'FUN": [ - -1, - 100 - ], - "'PARENAFTERBRACE": [ - -1, - 100 - ], - "'CHECK": [ - -1, - 100 - ], - "'EXAMPLES": [ - -1, - 100 - ], - "'CHECKCOLON": [ - -1, - 100 - ], - "'EXAMPLESCOLON": [ - -1, - 100 - ], - "'VAR": [ - -1, - 100 - ], - "'REC": [ - -1, - 100 - ], - "'WHEN": [ - -1, - 100 - ], - "'DOTDOTDOT": [ - -1, - 100 - ], - "'NUMBER": [ - -1, - 100 - ], - "'RATIONAL": [ - -1, - 100 - ], - "'ROUGHRATIONAL": [ - -1, - 100 - ], - "'TRUE": [ - -1, - 100 - ], - "'FALSE": [ - -1, - 100 - ], - "'LAM": [ - -1, - 100 - ], - "'METHOD": [ - -1, - 100 - ], - "'LBRACK": [ - -1, - 100 - ], - "'TABLE": [ - -1, - 100 - ], - "'REACTOR": [ - -1, - 100 - ], - "'IF": [ - -1, - 100 - ], - "'ASK": [ - -1, - 100 - ], - "'CASES": [ - -1, - 100 - ], - "'FOR": [ - -1, - 100 - ], - "'TABLE-SELECT": [ - -1, - 100 - ], - "'TABLE-FILTER": [ - -1, - 100 - ], - "'TABLE-ORDER": [ - -1, - 100 - ], - "'TABLE-EXTRACT": [ - -1, - 100 - ], - "'TABLE-UPDATE": [ - -1, - 100 - ], - "'TABLE-EXTEND": [ - -1, - 100 - ], - "'LOAD-TABLE": [ - -1, - 100 - ] - }, - { - "toplevel-binding": [ - 196 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "toplevel-binding": [ - 197 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 198 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200, - 102, - 104 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "binop-expr_I1*": [ - 203 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205, - 102, - 104 - ], - "'BANG": [ - 206 - ], - "$": [ - -1, - 102, - 104 - ], - "'NAME": [ - -1, - 102, - 104 - ], - "'COLON": [ - -1, - 102, - 104 - ], - "'END": [ - -1, - 102, - 104 - ], - "'COMMA": [ - -1, - 102, - 104 - ], - "'STRING": [ - -1, - 102, - 104 - ], - "'RPAREN": [ - -1, - 102, - 104 - ], - "'TYPE": [ - -1, - 102, - 104 - ], - "'DATA": [ - -1, - 102, - 104 - ], - "'TIMES": [ - -1, - 104 - ], - "'SPY": [ - -1, - 102, - 104 - ], - "'NEWTYPE": [ - -1, - 102, - 104 - ], - "'LBRACE": [ - -1, - 102, - 104 - ], - "'RBRACE": [ - -1, - 102, - 104 - ], - "'SEMI": [ - -1, - 102, - 104 - ], - "'SHADOW": [ - -1, - 102, - 104 - ], - "'LET": [ - -1, - 102, - 104 - ], - "'BLOCK": [ - -1, - 102, - 104 - ], - "'LETREC": [ - -1, - 102, - 104 - ], - "'TYPE-LET": [ - -1, - 102, - 104 - ], - "'FUN": [ - -1, - 102, - 104 - ], - "'LT": [ - -1, - 104 - ], - "'GT": [ - -1, - 104 - ], - "'PARENAFTERBRACE": [ - -1, - 102, - 104 - ], - "'WHERE": [ - -1, - 102, - 104 - ], - "'CHECK": [ - -1, - 102, - 104 - ], - "'EXAMPLES": [ - -1, - 102, - 104 - ], - "'CHECKCOLON": [ - -1, - 102, - 104 - ], - "'EXAMPLESCOLON": [ - -1, - 102, - 104 - ], - "'BECAUSE": [ - -1, - 102, - 104 - ], - "'BAR": [ - -1, - 102, - 104 - ], - "'SHARING": [ - -1, - 102, - 104 - ], - "'VAR": [ - -1, - 102, - 104 - ], - "'REC": [ - -1, - 102, - 104 - ], - "'WHEN": [ - -1, - 102, - 104 - ], - "'PLUS": [ - -1, - 104 - ], - "'DASH": [ - -1, - 104 - ], - "'SLASH": [ - -1, - 104 - ], - "'LEQ": [ - -1, - 104 - ], - "'GEQ": [ - -1, - 104 - ], - "'EQUALEQUAL": [ - -1, - 104 - ], - "'SPACESHIP": [ - -1, - 104 - ], - "'EQUALTILDE": [ - -1, - 104 - ], - "'NEQ": [ - -1, - 104 - ], - "'AND": [ - -1, - 104 - ], - "'OR": [ - -1, - 104 - ], - "'CARET": [ - -1, - 104 - ], - "'IS": [ - -1, - 102, - 104 - ], - "'ISEQUALEQUAL": [ - -1, - 102, - 104 - ], - "'ISEQUALTILDE": [ - -1, - 102, - 104 - ], - "'ISSPACESHIP": [ - -1, - 102, - 104 - ], - "'ISROUGHLY": [ - -1, - 102, - 104 - ], - "'ISNOT": [ - -1, - 102, - 104 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 102, - 104 - ], - "'ISNOTEQUALTILDE": [ - -1, - 102, - 104 - ], - "'ISNOTSPACESHIP": [ - -1, - 102, - 104 - ], - "'RAISES": [ - -1, - 102, - 104 - ], - "'RAISESOTHER": [ - -1, - 102, - 104 - ], - "'SATISFIES": [ - -1, - 102, - 104 - ], - "'SATISFIESNOT": [ - -1, - 102, - 104 - ], - "'RAISESSATISFIES": [ - -1, - 102, - 104 - ], - "'RAISESVIOLATES": [ - -1, - 102, - 104 - ], - "'RAISESNOT": [ - -1, - 102, - 104 - ], - "'DOTDOTDOT": [ - -1, - 102, - 104 - ], - "'NUMBER": [ - -1, - 102, - 104 - ], - "'RATIONAL": [ - -1, - 102, - 104 - ], - "'ROUGHRATIONAL": [ - -1, - 102, - 104 - ], - "'TRUE": [ - -1, - 102, - 104 - ], - "'FALSE": [ - -1, - 102, - 104 - ], - "'LAM": [ - -1, - 102, - 104 - ], - "'METHOD": [ - -1, - 102, - 104 - ], - "'RBRACK": [ - -1, - 102, - 104 - ], - "'TABLE": [ - -1, - 102, - 104 - ], - "'ROW": [ - -1, - 102, - 104 - ], - "'REACTOR": [ - -1, - 102, - 104 - ], - "'IF": [ - -1, - 102, - 104 - ], - "'ELSECOLON": [ - -1, - 102, - 104 - ], - "'ELSEIF": [ - -1, - 102, - 104 - ], - "'ASK": [ - -1, - 102, - 104 - ], - "'THENCOLON": [ - -1, - 102, - 104 - ], - "'CASES": [ - -1, - 102, - 104 - ], - "'FOR": [ - -1, - 102, - 104 - ], - "'TABLE-SELECT": [ - -1, - 102, - 104 - ], - "'TABLE-FILTER": [ - -1, - 102, - 104 - ], - "'TABLE-ORDER": [ - -1, - 102, - 104 - ], - "'TABLE-EXTRACT": [ - -1, - 102, - 104 - ], - "'TABLE-UPDATE": [ - -1, - 102, - 104 - ], - "'TABLE-EXTEND": [ - -1, - 102, - 104 - ], - "'LOAD-TABLE": [ - -1, - 102, - 104 - ] - }, - { - "$": [ - -1, - 106 - ], - "'NAME": [ - -1, - 106 - ], - "'COLON": [ - -1, - 106 - ], - "'END": [ - -1, - 106 - ], - "'COMMA": [ - -1, - 106 - ], - "'PARENNOSPACE": [ - -1, - 106 - ], - "'STRING": [ - -1, - 106 - ], - "'RPAREN": [ - -1, - 106 - ], - "'TYPE": [ - -1, - 106 - ], - "'DATA": [ - -1, - 106 - ], - "'TIMES": [ - -1, - 106 - ], - "'PARENSPACE": [ - -1, - 106 - ], - "'DOT": [ - -1, - 106 - ], - "'SPY": [ - -1, - 106 - ], - "'NEWTYPE": [ - -1, - 106 - ], - "'LBRACE": [ - -1, - 106 - ], - "'RBRACE": [ - -1, - 106 - ], - "'SEMI": [ - -1, - 106 - ], - "'SHADOW": [ - -1, - 106 - ], - "'LET": [ - -1, - 106 - ], - "'BLOCK": [ - -1, - 106 - ], - "'LETREC": [ - -1, - 106 - ], - "'TYPE-LET": [ - -1, - 106 - ], - "'FUN": [ - -1, - 106 - ], - "'LANGLE": [ - -1, - 106 - ], - "'LT": [ - -1, - 106 - ], - "'GT": [ - -1, - 106 - ], - "'PARENAFTERBRACE": [ - -1, - 106 - ], - "'WHERE": [ - -1, - 106 - ], - "'CHECK": [ - -1, - 106 - ], - "'EXAMPLES": [ - -1, - 106 - ], - "'CHECKCOLON": [ - -1, - 106 - ], - "'EXAMPLESCOLON": [ - -1, - 106 - ], - "'BECAUSE": [ - -1, - 106 - ], - "'BAR": [ - -1, - 106 - ], - "'SHARING": [ - -1, - 106 - ], - "'VAR": [ - -1, - 106 - ], - "'REC": [ - -1, - 106 - ], - "'WHEN": [ - -1, - 106 - ], - "'PLUS": [ - -1, - 106 - ], - "'DASH": [ - -1, - 106 - ], - "'SLASH": [ - -1, - 106 - ], - "'LEQ": [ - -1, - 106 - ], - "'GEQ": [ - -1, - 106 - ], - "'EQUALEQUAL": [ - -1, - 106 - ], - "'SPACESHIP": [ - -1, - 106 - ], - "'EQUALTILDE": [ - -1, - 106 - ], - "'NEQ": [ - -1, - 106 - ], - "'AND": [ - -1, - 106 - ], - "'OR": [ - -1, - 106 - ], - "'CARET": [ - -1, - 106 - ], - "'IS": [ - -1, - 106 - ], - "'ISEQUALEQUAL": [ - -1, - 106 - ], - "'ISEQUALTILDE": [ - -1, - 106 - ], - "'ISSPACESHIP": [ - -1, - 106 - ], - "'ISROUGHLY": [ - -1, - 106 - ], - "'ISNOT": [ - -1, - 106 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 106 - ], - "'ISNOTEQUALTILDE": [ - -1, - 106 - ], - "'ISNOTSPACESHIP": [ - -1, - 106 - ], - "'RAISES": [ - -1, - 106 - ], - "'RAISESOTHER": [ - -1, - 106 - ], - "'SATISFIES": [ - -1, - 106 - ], - "'SATISFIESNOT": [ - -1, - 106 - ], - "'RAISESSATISFIES": [ - -1, - 106 - ], - "'RAISESVIOLATES": [ - -1, - 106 - ], - "'RAISESNOT": [ - -1, - 106 - ], - "'DOTDOTDOT": [ - -1, - 106 - ], - "'NUMBER": [ - -1, - 106 - ], - "'RATIONAL": [ - -1, - 106 - ], - "'ROUGHRATIONAL": [ - -1, - 106 - ], - "'TRUE": [ - -1, - 106 - ], - "'FALSE": [ - -1, - 106 - ], - "'LAM": [ - -1, - 106 - ], - "'METHOD": [ - -1, - 106 - ], - "'LBRACK": [ - -1, - 106 - ], - "'RBRACK": [ - -1, - 106 - ], - "'TABLE": [ - -1, - 106 - ], - "'ROW": [ - -1, - 106 - ], - "'REACTOR": [ - -1, - 106 - ], - "'BANG": [ - -1, - 106 - ], - "'IF": [ - -1, - 106 - ], - "'ELSECOLON": [ - -1, - 106 - ], - "'ELSEIF": [ - -1, - 106 - ], - "'ASK": [ - -1, - 106 - ], - "'THENCOLON": [ - -1, - 106 - ], - "'CASES": [ - -1, - 106 - ], - "'FOR": [ - -1, - 106 - ], - "'TABLE-SELECT": [ - -1, - 106 - ], - "'TABLE-FILTER": [ - -1, - 106 - ], - "'USING": [ - -1, - 106 - ], - "'TABLE-ORDER": [ - -1, - 106 - ], - "'TABLE-EXTRACT": [ - -1, - 106 - ], - "'TABLE-UPDATE": [ - -1, - 106 - ], - "'TABLE-EXTEND": [ - -1, - 106 - ], - "'OF": [ - -1, - 106 - ], - "'LOAD-TABLE": [ - -1, - 106 - ], - "'SOURCECOLON": [ - -1, - 106 - ], - "'SANITIZE": [ - -1, - 106 - ] - }, - { - "$": [ - -1, - 108 - ], - "'NAME": [ - -1, - 108 - ], - "'COLON": [ - -1, - 108 - ], - "'END": [ - -1, - 108 - ], - "'COMMA": [ - -1, - 108 - ], - "'PARENNOSPACE": [ - -1, - 108 - ], - "'STRING": [ - -1, - 108 - ], - "'RPAREN": [ - -1, - 108 - ], - "'TYPE": [ - -1, - 108 - ], - "'DATA": [ - -1, - 108 - ], - "'TIMES": [ - -1, - 108 - ], - "'PARENSPACE": [ - -1, - 108 - ], - "'DOT": [ - -1, - 108 - ], - "'SPY": [ - -1, - 108 - ], - "'NEWTYPE": [ - -1, - 108 - ], - "'LBRACE": [ - -1, - 108 - ], - "'RBRACE": [ - -1, - 108 - ], - "'SEMI": [ - -1, - 108 - ], - "'SHADOW": [ - -1, - 108 - ], - "'LET": [ - -1, - 108 - ], - "'BLOCK": [ - -1, - 108 - ], - "'LETREC": [ - -1, - 108 - ], - "'TYPE-LET": [ - -1, - 108 - ], - "'FUN": [ - -1, - 108 - ], - "'LANGLE": [ - -1, - 108 - ], - "'LT": [ - -1, - 108 - ], - "'GT": [ - -1, - 108 - ], - "'PARENAFTERBRACE": [ - -1, - 108 - ], - "'WHERE": [ - -1, - 108 - ], - "'CHECK": [ - -1, - 108 - ], - "'EXAMPLES": [ - -1, - 108 - ], - "'CHECKCOLON": [ - -1, - 108 - ], - "'EXAMPLESCOLON": [ - -1, - 108 - ], - "'BECAUSE": [ - -1, - 108 - ], - "'BAR": [ - -1, - 108 - ], - "'SHARING": [ - -1, - 108 - ], - "'VAR": [ - -1, - 108 - ], - "'REC": [ - -1, - 108 - ], - "'WHEN": [ - -1, - 108 - ], - "'PLUS": [ - -1, - 108 - ], - "'DASH": [ - -1, - 108 - ], - "'SLASH": [ - -1, - 108 - ], - "'LEQ": [ - -1, - 108 - ], - "'GEQ": [ - -1, - 108 - ], - "'EQUALEQUAL": [ - -1, - 108 - ], - "'SPACESHIP": [ - -1, - 108 - ], - "'EQUALTILDE": [ - -1, - 108 - ], - "'NEQ": [ - -1, - 108 - ], - "'AND": [ - -1, - 108 - ], - "'OR": [ - -1, - 108 - ], - "'CARET": [ - -1, - 108 - ], - "'IS": [ - -1, - 108 - ], - "'ISEQUALEQUAL": [ - -1, - 108 - ], - "'ISEQUALTILDE": [ - -1, - 108 - ], - "'ISSPACESHIP": [ - -1, - 108 - ], - "'ISROUGHLY": [ - -1, - 108 - ], - "'ISNOT": [ - -1, - 108 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 108 - ], - "'ISNOTEQUALTILDE": [ - -1, - 108 - ], - "'ISNOTSPACESHIP": [ - -1, - 108 - ], - "'RAISES": [ - -1, - 108 - ], - "'RAISESOTHER": [ - -1, - 108 - ], - "'SATISFIES": [ - -1, - 108 - ], - "'SATISFIESNOT": [ - -1, - 108 - ], - "'RAISESSATISFIES": [ - -1, - 108 - ], - "'RAISESVIOLATES": [ - -1, - 108 - ], - "'RAISESNOT": [ - -1, - 108 - ], - "'DOTDOTDOT": [ - -1, - 108 - ], - "'NUMBER": [ - -1, - 108 - ], - "'RATIONAL": [ - -1, - 108 - ], - "'ROUGHRATIONAL": [ - -1, - 108 - ], - "'TRUE": [ - -1, - 108 - ], - "'FALSE": [ - -1, - 108 - ], - "'LAM": [ - -1, - 108 - ], - "'METHOD": [ - -1, - 108 - ], - "'LBRACK": [ - -1, - 108 - ], - "'RBRACK": [ - -1, - 108 - ], - "'TABLE": [ - -1, - 108 - ], - "'ROW": [ - -1, - 108 - ], - "'REACTOR": [ - -1, - 108 - ], - "'BANG": [ - -1, - 108 - ], - "'IF": [ - -1, - 108 - ], - "'ELSECOLON": [ - -1, - 108 - ], - "'ELSEIF": [ - -1, - 108 - ], - "'ASK": [ - -1, - 108 - ], - "'THENCOLON": [ - -1, - 108 - ], - "'CASES": [ - -1, - 108 - ], - "'FOR": [ - -1, - 108 - ], - "'TABLE-SELECT": [ - -1, - 108 - ], - "'TABLE-FILTER": [ - -1, - 108 - ], - "'USING": [ - -1, - 108 - ], - "'TABLE-ORDER": [ - -1, - 108 - ], - "'TABLE-EXTRACT": [ - -1, - 108 - ], - "'TABLE-UPDATE": [ - -1, - 108 - ], - "'TABLE-EXTEND": [ - -1, - 108 - ], - "'OF": [ - -1, - 108 - ], - "'LOAD-TABLE": [ - -1, - 108 - ], - "'SOURCECOLON": [ - -1, - 108 - ], - "'SANITIZE": [ - -1, - 108 - ] - }, - { - "$": [ - -1, - 110 - ], - "'NAME": [ - -1, - 110 - ], - "'COLON": [ - -1, - 110 - ], - "'END": [ - -1, - 110 - ], - "'COMMA": [ - -1, - 110 - ], - "'PARENNOSPACE": [ - -1, - 110 - ], - "'STRING": [ - -1, - 110 - ], - "'RPAREN": [ - -1, - 110 - ], - "'TYPE": [ - -1, - 110 - ], - "'DATA": [ - -1, - 110 - ], - "'TIMES": [ - -1, - 110 - ], - "'PARENSPACE": [ - -1, - 110 - ], - "'DOT": [ - -1, - 110 - ], - "'SPY": [ - -1, - 110 - ], - "'NEWTYPE": [ - -1, - 110 - ], - "'LBRACE": [ - -1, - 110 - ], - "'RBRACE": [ - -1, - 110 - ], - "'SEMI": [ - -1, - 110 - ], - "'SHADOW": [ - -1, - 110 - ], - "'LET": [ - -1, - 110 - ], - "'BLOCK": [ - -1, - 110 - ], - "'LETREC": [ - -1, - 110 - ], - "'TYPE-LET": [ - -1, - 110 - ], - "'FUN": [ - -1, - 110 - ], - "'LANGLE": [ - -1, - 110 - ], - "'LT": [ - -1, - 110 - ], - "'GT": [ - -1, - 110 - ], - "'PARENAFTERBRACE": [ - -1, - 110 - ], - "'WHERE": [ - -1, - 110 - ], - "'CHECK": [ - -1, - 110 - ], - "'EXAMPLES": [ - -1, - 110 - ], - "'CHECKCOLON": [ - -1, - 110 - ], - "'EXAMPLESCOLON": [ - -1, - 110 - ], - "'BECAUSE": [ - -1, - 110 - ], - "'BAR": [ - -1, - 110 - ], - "'SHARING": [ - -1, - 110 - ], - "'VAR": [ - -1, - 110 - ], - "'REC": [ - -1, - 110 - ], - "'WHEN": [ - -1, - 110 - ], - "'PLUS": [ - -1, - 110 - ], - "'DASH": [ - -1, - 110 - ], - "'SLASH": [ - -1, - 110 - ], - "'LEQ": [ - -1, - 110 - ], - "'GEQ": [ - -1, - 110 - ], - "'EQUALEQUAL": [ - -1, - 110 - ], - "'SPACESHIP": [ - -1, - 110 - ], - "'EQUALTILDE": [ - -1, - 110 - ], - "'NEQ": [ - -1, - 110 - ], - "'AND": [ - -1, - 110 - ], - "'OR": [ - -1, - 110 - ], - "'CARET": [ - -1, - 110 - ], - "'IS": [ - -1, - 110 - ], - "'ISEQUALEQUAL": [ - -1, - 110 - ], - "'ISEQUALTILDE": [ - -1, - 110 - ], - "'ISSPACESHIP": [ - -1, - 110 - ], - "'ISROUGHLY": [ - -1, - 110 - ], - "'ISNOT": [ - -1, - 110 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 110 - ], - "'ISNOTEQUALTILDE": [ - -1, - 110 - ], - "'ISNOTSPACESHIP": [ - -1, - 110 - ], - "'RAISES": [ - -1, - 110 - ], - "'RAISESOTHER": [ - -1, - 110 - ], - "'SATISFIES": [ - -1, - 110 - ], - "'SATISFIESNOT": [ - -1, - 110 - ], - "'RAISESSATISFIES": [ - -1, - 110 - ], - "'RAISESVIOLATES": [ - -1, - 110 - ], - "'RAISESNOT": [ - -1, - 110 - ], - "'DOTDOTDOT": [ - -1, - 110 - ], - "'NUMBER": [ - -1, - 110 - ], - "'RATIONAL": [ - -1, - 110 - ], - "'ROUGHRATIONAL": [ - -1, - 110 - ], - "'TRUE": [ - -1, - 110 - ], - "'FALSE": [ - -1, - 110 - ], - "'LAM": [ - -1, - 110 - ], - "'METHOD": [ - -1, - 110 - ], - "'LBRACK": [ - -1, - 110 - ], - "'RBRACK": [ - -1, - 110 - ], - "'TABLE": [ - -1, - 110 - ], - "'ROW": [ - -1, - 110 - ], - "'REACTOR": [ - -1, - 110 - ], - "'BANG": [ - -1, - 110 - ], - "'IF": [ - -1, - 110 - ], - "'ELSECOLON": [ - -1, - 110 - ], - "'ELSEIF": [ - -1, - 110 - ], - "'ASK": [ - -1, - 110 - ], - "'THENCOLON": [ - -1, - 110 - ], - "'CASES": [ - -1, - 110 - ], - "'FOR": [ - -1, - 110 - ], - "'TABLE-SELECT": [ - -1, - 110 - ], - "'TABLE-FILTER": [ - -1, - 110 - ], - "'USING": [ - -1, - 110 - ], - "'TABLE-ORDER": [ - -1, - 110 - ], - "'TABLE-EXTRACT": [ - -1, - 110 - ], - "'TABLE-UPDATE": [ - -1, - 110 - ], - "'TABLE-EXTEND": [ - -1, - 110 - ], - "'OF": [ - -1, - 110 - ], - "'LOAD-TABLE": [ - -1, - 110 - ], - "'SOURCECOLON": [ - -1, - 110 - ], - "'SANITIZE": [ - -1, - 110 - ] - }, - { - "$": [ - -1, - 112 - ], - "'NAME": [ - -1, - 112 - ], - "'COLON": [ - -1, - 112 - ], - "'END": [ - -1, - 112 - ], - "'COMMA": [ - -1, - 112 - ], - "'PARENNOSPACE": [ - -1, - 112 - ], - "'STRING": [ - -1, - 112 - ], - "'RPAREN": [ - -1, - 112 - ], - "'TYPE": [ - -1, - 112 - ], - "'DATA": [ - -1, - 112 - ], - "'TIMES": [ - -1, - 112 - ], - "'PARENSPACE": [ - -1, - 112 - ], - "'DOT": [ - -1, - 112 - ], - "'SPY": [ - -1, - 112 - ], - "'NEWTYPE": [ - -1, - 112 - ], - "'LBRACE": [ - -1, - 112 - ], - "'RBRACE": [ - -1, - 112 - ], - "'SEMI": [ - -1, - 112 - ], - "'SHADOW": [ - -1, - 112 - ], - "'LET": [ - -1, - 112 - ], - "'BLOCK": [ - -1, - 112 - ], - "'LETREC": [ - -1, - 112 - ], - "'TYPE-LET": [ - -1, - 112 - ], - "'FUN": [ - -1, - 112 - ], - "'LANGLE": [ - -1, - 112 - ], - "'LT": [ - -1, - 112 - ], - "'GT": [ - -1, - 112 - ], - "'PARENAFTERBRACE": [ - -1, - 112 - ], - "'WHERE": [ - -1, - 112 - ], - "'CHECK": [ - -1, - 112 - ], - "'EXAMPLES": [ - -1, - 112 - ], - "'CHECKCOLON": [ - -1, - 112 - ], - "'EXAMPLESCOLON": [ - -1, - 112 - ], - "'BECAUSE": [ - -1, - 112 - ], - "'BAR": [ - -1, - 112 - ], - "'SHARING": [ - -1, - 112 - ], - "'VAR": [ - -1, - 112 - ], - "'REC": [ - -1, - 112 - ], - "'WHEN": [ - -1, - 112 - ], - "'PLUS": [ - -1, - 112 - ], - "'DASH": [ - -1, - 112 - ], - "'SLASH": [ - -1, - 112 - ], - "'LEQ": [ - -1, - 112 - ], - "'GEQ": [ - -1, - 112 - ], - "'EQUALEQUAL": [ - -1, - 112 - ], - "'SPACESHIP": [ - -1, - 112 - ], - "'EQUALTILDE": [ - -1, - 112 - ], - "'NEQ": [ - -1, - 112 - ], - "'AND": [ - -1, - 112 - ], - "'OR": [ - -1, - 112 - ], - "'CARET": [ - -1, - 112 - ], - "'IS": [ - -1, - 112 - ], - "'ISEQUALEQUAL": [ - -1, - 112 - ], - "'ISEQUALTILDE": [ - -1, - 112 - ], - "'ISSPACESHIP": [ - -1, - 112 - ], - "'ISROUGHLY": [ - -1, - 112 - ], - "'ISNOT": [ - -1, - 112 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 112 - ], - "'ISNOTEQUALTILDE": [ - -1, - 112 - ], - "'ISNOTSPACESHIP": [ - -1, - 112 - ], - "'RAISES": [ - -1, - 112 - ], - "'RAISESOTHER": [ - -1, - 112 - ], - "'SATISFIES": [ - -1, - 112 - ], - "'SATISFIESNOT": [ - -1, - 112 - ], - "'RAISESSATISFIES": [ - -1, - 112 - ], - "'RAISESVIOLATES": [ - -1, - 112 - ], - "'RAISESNOT": [ - -1, - 112 - ], - "'DOTDOTDOT": [ - -1, - 112 - ], - "'NUMBER": [ - -1, - 112 - ], - "'RATIONAL": [ - -1, - 112 - ], - "'ROUGHRATIONAL": [ - -1, - 112 - ], - "'TRUE": [ - -1, - 112 - ], - "'FALSE": [ - -1, - 112 - ], - "'LAM": [ - -1, - 112 - ], - "'METHOD": [ - -1, - 112 - ], - "'LBRACK": [ - -1, - 112 - ], - "'RBRACK": [ - -1, - 112 - ], - "'TABLE": [ - -1, - 112 - ], - "'ROW": [ - -1, - 112 - ], - "'REACTOR": [ - -1, - 112 - ], - "'BANG": [ - -1, - 112 - ], - "'IF": [ - -1, - 112 - ], - "'ELSECOLON": [ - -1, - 112 - ], - "'ELSEIF": [ - -1, - 112 - ], - "'ASK": [ - -1, - 112 - ], - "'THENCOLON": [ - -1, - 112 - ], - "'CASES": [ - -1, - 112 - ], - "'FOR": [ - -1, - 112 - ], - "'TABLE-SELECT": [ - -1, - 112 - ], - "'TABLE-FILTER": [ - -1, - 112 - ], - "'USING": [ - -1, - 112 - ], - "'TABLE-ORDER": [ - -1, - 112 - ], - "'TABLE-EXTRACT": [ - -1, - 112 - ], - "'TABLE-UPDATE": [ - -1, - 112 - ], - "'TABLE-EXTEND": [ - -1, - 112 - ], - "'OF": [ - -1, - 112 - ], - "'LOAD-TABLE": [ - -1, - 112 - ], - "'SOURCECOLON": [ - -1, - 112 - ], - "'SANITIZE": [ - -1, - 112 - ] - }, - { - "$": [ - -1, - 114 - ], - "'NAME": [ - -1, - 114 - ], - "'COLON": [ - -1, - 114 - ], - "'END": [ - -1, - 114 - ], - "'COMMA": [ - -1, - 114 - ], - "'PARENNOSPACE": [ - -1, - 114 - ], - "'STRING": [ - -1, - 114 - ], - "'RPAREN": [ - -1, - 114 - ], - "'TYPE": [ - -1, - 114 - ], - "'DATA": [ - -1, - 114 - ], - "'TIMES": [ - -1, - 114 - ], - "'PARENSPACE": [ - -1, - 114 - ], - "'DOT": [ - -1, - 114 - ], - "'SPY": [ - -1, - 114 - ], - "'NEWTYPE": [ - -1, - 114 - ], - "'LBRACE": [ - -1, - 114 - ], - "'RBRACE": [ - -1, - 114 - ], - "'SEMI": [ - -1, - 114 - ], - "'SHADOW": [ - -1, - 114 - ], - "'LET": [ - -1, - 114 - ], - "'BLOCK": [ - -1, - 114 - ], - "'LETREC": [ - -1, - 114 - ], - "'TYPE-LET": [ - -1, - 114 - ], - "'FUN": [ - -1, - 114 - ], - "'LANGLE": [ - -1, - 114 - ], - "'LT": [ - -1, - 114 - ], - "'GT": [ - -1, - 114 - ], - "'PARENAFTERBRACE": [ - -1, - 114 - ], - "'WHERE": [ - -1, - 114 - ], - "'CHECK": [ - -1, - 114 - ], - "'EXAMPLES": [ - -1, - 114 - ], - "'CHECKCOLON": [ - -1, - 114 - ], - "'EXAMPLESCOLON": [ - -1, - 114 - ], - "'BECAUSE": [ - -1, - 114 - ], - "'BAR": [ - -1, - 114 - ], - "'SHARING": [ - -1, - 114 - ], - "'VAR": [ - -1, - 114 - ], - "'REC": [ - -1, - 114 - ], - "'WHEN": [ - -1, - 114 - ], - "'PLUS": [ - -1, - 114 - ], - "'DASH": [ - -1, - 114 - ], - "'SLASH": [ - -1, - 114 - ], - "'LEQ": [ - -1, - 114 - ], - "'GEQ": [ - -1, - 114 - ], - "'EQUALEQUAL": [ - -1, - 114 - ], - "'SPACESHIP": [ - -1, - 114 - ], - "'EQUALTILDE": [ - -1, - 114 - ], - "'NEQ": [ - -1, - 114 - ], - "'AND": [ - -1, - 114 - ], - "'OR": [ - -1, - 114 - ], - "'CARET": [ - -1, - 114 - ], - "'IS": [ - -1, - 114 - ], - "'ISEQUALEQUAL": [ - -1, - 114 - ], - "'ISEQUALTILDE": [ - -1, - 114 - ], - "'ISSPACESHIP": [ - -1, - 114 - ], - "'ISROUGHLY": [ - -1, - 114 - ], - "'ISNOT": [ - -1, - 114 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 114 - ], - "'ISNOTEQUALTILDE": [ - -1, - 114 - ], - "'ISNOTSPACESHIP": [ - -1, - 114 - ], - "'RAISES": [ - -1, - 114 - ], - "'RAISESOTHER": [ - -1, - 114 - ], - "'SATISFIES": [ - -1, - 114 - ], - "'SATISFIESNOT": [ - -1, - 114 - ], - "'RAISESSATISFIES": [ - -1, - 114 - ], - "'RAISESVIOLATES": [ - -1, - 114 - ], - "'RAISESNOT": [ - -1, - 114 - ], - "'DOTDOTDOT": [ - -1, - 114 - ], - "'NUMBER": [ - -1, - 114 - ], - "'RATIONAL": [ - -1, - 114 - ], - "'ROUGHRATIONAL": [ - -1, - 114 - ], - "'TRUE": [ - -1, - 114 - ], - "'FALSE": [ - -1, - 114 - ], - "'LAM": [ - -1, - 114 - ], - "'METHOD": [ - -1, - 114 - ], - "'LBRACK": [ - -1, - 114 - ], - "'RBRACK": [ - -1, - 114 - ], - "'TABLE": [ - -1, - 114 - ], - "'ROW": [ - -1, - 114 - ], - "'REACTOR": [ - -1, - 114 - ], - "'BANG": [ - -1, - 114 - ], - "'IF": [ - -1, - 114 - ], - "'ELSECOLON": [ - -1, - 114 - ], - "'ELSEIF": [ - -1, - 114 - ], - "'ASK": [ - -1, - 114 - ], - "'THENCOLON": [ - -1, - 114 - ], - "'CASES": [ - -1, - 114 - ], - "'FOR": [ - -1, - 114 - ], - "'TABLE-SELECT": [ - -1, - 114 - ], - "'TABLE-FILTER": [ - -1, - 114 - ], - "'USING": [ - -1, - 114 - ], - "'TABLE-ORDER": [ - -1, - 114 - ], - "'TABLE-EXTRACT": [ - -1, - 114 - ], - "'TABLE-UPDATE": [ - -1, - 114 - ], - "'TABLE-EXTEND": [ - -1, - 114 - ], - "'OF": [ - -1, - 114 - ], - "'LOAD-TABLE": [ - -1, - 114 - ], - "'SOURCECOLON": [ - -1, - 114 - ], - "'SANITIZE": [ - -1, - 114 - ] - }, - { - "$": [ - -1, - 116 - ], - "'NAME": [ - -1, - 116 - ], - "'COLON": [ - -1, - 116 - ], - "'END": [ - -1, - 116 - ], - "'COMMA": [ - -1, - 116 - ], - "'PARENNOSPACE": [ - -1, - 116 - ], - "'STRING": [ - -1, - 116 - ], - "'RPAREN": [ - -1, - 116 - ], - "'TYPE": [ - -1, - 116 - ], - "'DATA": [ - -1, - 116 - ], - "'TIMES": [ - -1, - 116 - ], - "'PARENSPACE": [ - -1, - 116 - ], - "'DOT": [ - -1, - 116 - ], - "'SPY": [ - -1, - 116 - ], - "'NEWTYPE": [ - -1, - 116 - ], - "'LBRACE": [ - -1, - 116 - ], - "'RBRACE": [ - -1, - 116 - ], - "'SEMI": [ - -1, - 116 - ], - "'SHADOW": [ - -1, - 116 - ], - "'LET": [ - -1, - 116 - ], - "'BLOCK": [ - -1, - 116 - ], - "'LETREC": [ - -1, - 116 - ], - "'TYPE-LET": [ - -1, - 116 - ], - "'FUN": [ - -1, - 116 - ], - "'LANGLE": [ - -1, - 116 - ], - "'LT": [ - -1, - 116 - ], - "'GT": [ - -1, - 116 - ], - "'PARENAFTERBRACE": [ - -1, - 116 - ], - "'WHERE": [ - -1, - 116 - ], - "'CHECK": [ - -1, - 116 - ], - "'EXAMPLES": [ - -1, - 116 - ], - "'CHECKCOLON": [ - -1, - 116 - ], - "'EXAMPLESCOLON": [ - -1, - 116 - ], - "'BECAUSE": [ - -1, - 116 - ], - "'BAR": [ - -1, - 116 - ], - "'SHARING": [ - -1, - 116 - ], - "'VAR": [ - -1, - 116 - ], - "'REC": [ - -1, - 116 - ], - "'WHEN": [ - -1, - 116 - ], - "'PLUS": [ - -1, - 116 - ], - "'DASH": [ - -1, - 116 - ], - "'SLASH": [ - -1, - 116 - ], - "'LEQ": [ - -1, - 116 - ], - "'GEQ": [ - -1, - 116 - ], - "'EQUALEQUAL": [ - -1, - 116 - ], - "'SPACESHIP": [ - -1, - 116 - ], - "'EQUALTILDE": [ - -1, - 116 - ], - "'NEQ": [ - -1, - 116 - ], - "'AND": [ - -1, - 116 - ], - "'OR": [ - -1, - 116 - ], - "'CARET": [ - -1, - 116 - ], - "'IS": [ - -1, - 116 - ], - "'ISEQUALEQUAL": [ - -1, - 116 - ], - "'ISEQUALTILDE": [ - -1, - 116 - ], - "'ISSPACESHIP": [ - -1, - 116 - ], - "'ISROUGHLY": [ - -1, - 116 - ], - "'ISNOT": [ - -1, - 116 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 116 - ], - "'ISNOTEQUALTILDE": [ - -1, - 116 - ], - "'ISNOTSPACESHIP": [ - -1, - 116 - ], - "'RAISES": [ - -1, - 116 - ], - "'RAISESOTHER": [ - -1, - 116 - ], - "'SATISFIES": [ - -1, - 116 - ], - "'SATISFIESNOT": [ - -1, - 116 - ], - "'RAISESSATISFIES": [ - -1, - 116 - ], - "'RAISESVIOLATES": [ - -1, - 116 - ], - "'RAISESNOT": [ - -1, - 116 - ], - "'DOTDOTDOT": [ - -1, - 116 - ], - "'NUMBER": [ - -1, - 116 - ], - "'RATIONAL": [ - -1, - 116 - ], - "'ROUGHRATIONAL": [ - -1, - 116 - ], - "'TRUE": [ - -1, - 116 - ], - "'FALSE": [ - -1, - 116 - ], - "'LAM": [ - -1, - 116 - ], - "'METHOD": [ - -1, - 116 - ], - "'LBRACK": [ - -1, - 116 - ], - "'RBRACK": [ - -1, - 116 - ], - "'TABLE": [ - -1, - 116 - ], - "'ROW": [ - -1, - 116 - ], - "'REACTOR": [ - -1, - 116 - ], - "'BANG": [ - -1, - 116 - ], - "'IF": [ - -1, - 116 - ], - "'ELSECOLON": [ - -1, - 116 - ], - "'ELSEIF": [ - -1, - 116 - ], - "'ASK": [ - -1, - 116 - ], - "'THENCOLON": [ - -1, - 116 - ], - "'CASES": [ - -1, - 116 - ], - "'FOR": [ - -1, - 116 - ], - "'TABLE-SELECT": [ - -1, - 116 - ], - "'TABLE-FILTER": [ - -1, - 116 - ], - "'USING": [ - -1, - 116 - ], - "'TABLE-ORDER": [ - -1, - 116 - ], - "'TABLE-EXTRACT": [ - -1, - 116 - ], - "'TABLE-UPDATE": [ - -1, - 116 - ], - "'TABLE-EXTEND": [ - -1, - 116 - ], - "'OF": [ - -1, - 116 - ], - "'LOAD-TABLE": [ - -1, - 116 - ], - "'SOURCECOLON": [ - -1, - 116 - ], - "'SANITIZE": [ - -1, - 116 - ] - }, - { - "$": [ - -1, - 118 - ], - "'NAME": [ - -1, - 118 - ], - "'COLON": [ - -1, - 118 - ], - "'END": [ - -1, - 118 - ], - "'COMMA": [ - -1, - 118 - ], - "'PARENNOSPACE": [ - -1, - 118 - ], - "'STRING": [ - -1, - 118 - ], - "'RPAREN": [ - -1, - 118 - ], - "'TYPE": [ - -1, - 118 - ], - "'DATA": [ - -1, - 118 - ], - "'TIMES": [ - -1, - 118 - ], - "'PARENSPACE": [ - -1, - 118 - ], - "'DOT": [ - -1, - 118 - ], - "'SPY": [ - -1, - 118 - ], - "'NEWTYPE": [ - -1, - 118 - ], - "'LBRACE": [ - -1, - 118 - ], - "'RBRACE": [ - -1, - 118 - ], - "'SEMI": [ - -1, - 118 - ], - "'SHADOW": [ - -1, - 118 - ], - "'LET": [ - -1, - 118 - ], - "'BLOCK": [ - -1, - 118 - ], - "'LETREC": [ - -1, - 118 - ], - "'TYPE-LET": [ - -1, - 118 - ], - "'FUN": [ - -1, - 118 - ], - "'LANGLE": [ - -1, - 118 - ], - "'LT": [ - -1, - 118 - ], - "'GT": [ - -1, - 118 - ], - "'PARENAFTERBRACE": [ - -1, - 118 - ], - "'WHERE": [ - -1, - 118 - ], - "'CHECK": [ - -1, - 118 - ], - "'EXAMPLES": [ - -1, - 118 - ], - "'CHECKCOLON": [ - -1, - 118 - ], - "'EXAMPLESCOLON": [ - -1, - 118 - ], - "'BECAUSE": [ - -1, - 118 - ], - "'BAR": [ - -1, - 118 - ], - "'SHARING": [ - -1, - 118 - ], - "'VAR": [ - -1, - 118 - ], - "'REC": [ - -1, - 118 - ], - "'WHEN": [ - -1, - 118 - ], - "'PLUS": [ - -1, - 118 - ], - "'DASH": [ - -1, - 118 - ], - "'SLASH": [ - -1, - 118 - ], - "'LEQ": [ - -1, - 118 - ], - "'GEQ": [ - -1, - 118 - ], - "'EQUALEQUAL": [ - -1, - 118 - ], - "'SPACESHIP": [ - -1, - 118 - ], - "'EQUALTILDE": [ - -1, - 118 - ], - "'NEQ": [ - -1, - 118 - ], - "'AND": [ - -1, - 118 - ], - "'OR": [ - -1, - 118 - ], - "'CARET": [ - -1, - 118 - ], - "'IS": [ - -1, - 118 - ], - "'ISEQUALEQUAL": [ - -1, - 118 - ], - "'ISEQUALTILDE": [ - -1, - 118 - ], - "'ISSPACESHIP": [ - -1, - 118 - ], - "'ISROUGHLY": [ - -1, - 118 - ], - "'ISNOT": [ - -1, - 118 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 118 - ], - "'ISNOTEQUALTILDE": [ - -1, - 118 - ], - "'ISNOTSPACESHIP": [ - -1, - 118 - ], - "'RAISES": [ - -1, - 118 - ], - "'RAISESOTHER": [ - -1, - 118 - ], - "'SATISFIES": [ - -1, - 118 - ], - "'SATISFIESNOT": [ - -1, - 118 - ], - "'RAISESSATISFIES": [ - -1, - 118 - ], - "'RAISESVIOLATES": [ - -1, - 118 - ], - "'RAISESNOT": [ - -1, - 118 - ], - "'DOTDOTDOT": [ - -1, - 118 - ], - "'NUMBER": [ - -1, - 118 - ], - "'RATIONAL": [ - -1, - 118 - ], - "'ROUGHRATIONAL": [ - -1, - 118 - ], - "'TRUE": [ - -1, - 118 - ], - "'FALSE": [ - -1, - 118 - ], - "'LAM": [ - -1, - 118 - ], - "'METHOD": [ - -1, - 118 - ], - "'LBRACK": [ - -1, - 118 - ], - "'RBRACK": [ - -1, - 118 - ], - "'TABLE": [ - -1, - 118 - ], - "'ROW": [ - -1, - 118 - ], - "'REACTOR": [ - -1, - 118 - ], - "'BANG": [ - -1, - 118 - ], - "'IF": [ - -1, - 118 - ], - "'ELSECOLON": [ - -1, - 118 - ], - "'ELSEIF": [ - -1, - 118 - ], - "'ASK": [ - -1, - 118 - ], - "'THENCOLON": [ - -1, - 118 - ], - "'CASES": [ - -1, - 118 - ], - "'FOR": [ - -1, - 118 - ], - "'TABLE-SELECT": [ - -1, - 118 - ], - "'TABLE-FILTER": [ - -1, - 118 - ], - "'USING": [ - -1, - 118 - ], - "'TABLE-ORDER": [ - -1, - 118 - ], - "'TABLE-EXTRACT": [ - -1, - 118 - ], - "'TABLE-UPDATE": [ - -1, - 118 - ], - "'TABLE-EXTEND": [ - -1, - 118 - ], - "'OF": [ - -1, - 118 - ], - "'LOAD-TABLE": [ - -1, - 118 - ], - "'SOURCECOLON": [ - -1, - 118 - ], - "'SANITIZE": [ - -1, - 118 - ] - }, - { - "$": [ - -1, - 120 - ], - "'NAME": [ - -1, - 120 - ], - "'COLON": [ - -1, - 120 - ], - "'END": [ - -1, - 120 - ], - "'COMMA": [ - -1, - 120 - ], - "'PARENNOSPACE": [ - -1, - 120 - ], - "'STRING": [ - -1, - 120 - ], - "'RPAREN": [ - -1, - 120 - ], - "'TYPE": [ - -1, - 120 - ], - "'DATA": [ - -1, - 120 - ], - "'TIMES": [ - -1, - 120 - ], - "'PARENSPACE": [ - -1, - 120 - ], - "'DOT": [ - -1, - 120 - ], - "'SPY": [ - -1, - 120 - ], - "'NEWTYPE": [ - -1, - 120 - ], - "'LBRACE": [ - -1, - 120 - ], - "'RBRACE": [ - -1, - 120 - ], - "'SEMI": [ - -1, - 120 - ], - "'SHADOW": [ - -1, - 120 - ], - "'LET": [ - -1, - 120 - ], - "'BLOCK": [ - -1, - 120 - ], - "'LETREC": [ - -1, - 120 - ], - "'TYPE-LET": [ - -1, - 120 - ], - "'FUN": [ - -1, - 120 - ], - "'LANGLE": [ - -1, - 120 - ], - "'LT": [ - -1, - 120 - ], - "'GT": [ - -1, - 120 - ], - "'PARENAFTERBRACE": [ - -1, - 120 - ], - "'WHERE": [ - -1, - 120 - ], - "'CHECK": [ - -1, - 120 - ], - "'EXAMPLES": [ - -1, - 120 - ], - "'CHECKCOLON": [ - -1, - 120 - ], - "'EXAMPLESCOLON": [ - -1, - 120 - ], - "'BECAUSE": [ - -1, - 120 - ], - "'BAR": [ - -1, - 120 - ], - "'SHARING": [ - -1, - 120 - ], - "'VAR": [ - -1, - 120 - ], - "'REC": [ - -1, - 120 - ], - "'WHEN": [ - -1, - 120 - ], - "'PLUS": [ - -1, - 120 - ], - "'DASH": [ - -1, - 120 - ], - "'SLASH": [ - -1, - 120 - ], - "'LEQ": [ - -1, - 120 - ], - "'GEQ": [ - -1, - 120 - ], - "'EQUALEQUAL": [ - -1, - 120 - ], - "'SPACESHIP": [ - -1, - 120 - ], - "'EQUALTILDE": [ - -1, - 120 - ], - "'NEQ": [ - -1, - 120 - ], - "'AND": [ - -1, - 120 - ], - "'OR": [ - -1, - 120 - ], - "'CARET": [ - -1, - 120 - ], - "'IS": [ - -1, - 120 - ], - "'ISEQUALEQUAL": [ - -1, - 120 - ], - "'ISEQUALTILDE": [ - -1, - 120 - ], - "'ISSPACESHIP": [ - -1, - 120 - ], - "'ISROUGHLY": [ - -1, - 120 - ], - "'ISNOT": [ - -1, - 120 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 120 - ], - "'ISNOTEQUALTILDE": [ - -1, - 120 - ], - "'ISNOTSPACESHIP": [ - -1, - 120 - ], - "'RAISES": [ - -1, - 120 - ], - "'RAISESOTHER": [ - -1, - 120 - ], - "'SATISFIES": [ - -1, - 120 - ], - "'SATISFIESNOT": [ - -1, - 120 - ], - "'RAISESSATISFIES": [ - -1, - 120 - ], - "'RAISESVIOLATES": [ - -1, - 120 - ], - "'RAISESNOT": [ - -1, - 120 - ], - "'DOTDOTDOT": [ - -1, - 120 - ], - "'NUMBER": [ - -1, - 120 - ], - "'RATIONAL": [ - -1, - 120 - ], - "'ROUGHRATIONAL": [ - -1, - 120 - ], - "'TRUE": [ - -1, - 120 - ], - "'FALSE": [ - -1, - 120 - ], - "'LAM": [ - -1, - 120 - ], - "'METHOD": [ - -1, - 120 - ], - "'LBRACK": [ - -1, - 120 - ], - "'RBRACK": [ - -1, - 120 - ], - "'TABLE": [ - -1, - 120 - ], - "'ROW": [ - -1, - 120 - ], - "'REACTOR": [ - -1, - 120 - ], - "'BANG": [ - -1, - 120 - ], - "'IF": [ - -1, - 120 - ], - "'ELSECOLON": [ - -1, - 120 - ], - "'ELSEIF": [ - -1, - 120 - ], - "'ASK": [ - -1, - 120 - ], - "'THENCOLON": [ - -1, - 120 - ], - "'CASES": [ - -1, - 120 - ], - "'FOR": [ - -1, - 120 - ], - "'TABLE-SELECT": [ - -1, - 120 - ], - "'TABLE-FILTER": [ - -1, - 120 - ], - "'USING": [ - -1, - 120 - ], - "'TABLE-ORDER": [ - -1, - 120 - ], - "'TABLE-EXTRACT": [ - -1, - 120 - ], - "'TABLE-UPDATE": [ - -1, - 120 - ], - "'TABLE-EXTEND": [ - -1, - 120 - ], - "'OF": [ - -1, - 120 - ], - "'LOAD-TABLE": [ - -1, - 120 - ], - "'SOURCECOLON": [ - -1, - 120 - ], - "'SANITIZE": [ - -1, - 120 - ] - }, - { - "$": [ - -1, - 122 - ], - "'NAME": [ - -1, - 122 - ], - "'COLON": [ - -1, - 122 - ], - "'END": [ - -1, - 122 - ], - "'COMMA": [ - -1, - 122 - ], - "'PARENNOSPACE": [ - -1, - 122 - ], - "'STRING": [ - -1, - 122 - ], - "'RPAREN": [ - -1, - 122 - ], - "'TYPE": [ - -1, - 122 - ], - "'DATA": [ - -1, - 122 - ], - "'TIMES": [ - -1, - 122 - ], - "'PARENSPACE": [ - -1, - 122 - ], - "'DOT": [ - -1, - 122 - ], - "'SPY": [ - -1, - 122 - ], - "'NEWTYPE": [ - -1, - 122 - ], - "'LBRACE": [ - -1, - 122 - ], - "'RBRACE": [ - -1, - 122 - ], - "'SEMI": [ - -1, - 122 - ], - "'SHADOW": [ - -1, - 122 - ], - "'LET": [ - -1, - 122 - ], - "'BLOCK": [ - -1, - 122 - ], - "'LETREC": [ - -1, - 122 - ], - "'TYPE-LET": [ - -1, - 122 - ], - "'FUN": [ - -1, - 122 - ], - "'LANGLE": [ - -1, - 122 - ], - "'LT": [ - -1, - 122 - ], - "'GT": [ - -1, - 122 - ], - "'PARENAFTERBRACE": [ - -1, - 122 - ], - "'WHERE": [ - -1, - 122 - ], - "'CHECK": [ - -1, - 122 - ], - "'EXAMPLES": [ - -1, - 122 - ], - "'CHECKCOLON": [ - -1, - 122 - ], - "'EXAMPLESCOLON": [ - -1, - 122 - ], - "'BECAUSE": [ - -1, - 122 - ], - "'BAR": [ - -1, - 122 - ], - "'SHARING": [ - -1, - 122 - ], - "'VAR": [ - -1, - 122 - ], - "'REC": [ - -1, - 122 - ], - "'WHEN": [ - -1, - 122 - ], - "'PLUS": [ - -1, - 122 - ], - "'DASH": [ - -1, - 122 - ], - "'SLASH": [ - -1, - 122 - ], - "'LEQ": [ - -1, - 122 - ], - "'GEQ": [ - -1, - 122 - ], - "'EQUALEQUAL": [ - -1, - 122 - ], - "'SPACESHIP": [ - -1, - 122 - ], - "'EQUALTILDE": [ - -1, - 122 - ], - "'NEQ": [ - -1, - 122 - ], - "'AND": [ - -1, - 122 - ], - "'OR": [ - -1, - 122 - ], - "'CARET": [ - -1, - 122 - ], - "'IS": [ - -1, - 122 - ], - "'ISEQUALEQUAL": [ - -1, - 122 - ], - "'ISEQUALTILDE": [ - -1, - 122 - ], - "'ISSPACESHIP": [ - -1, - 122 - ], - "'ISROUGHLY": [ - -1, - 122 - ], - "'ISNOT": [ - -1, - 122 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 122 - ], - "'ISNOTEQUALTILDE": [ - -1, - 122 - ], - "'ISNOTSPACESHIP": [ - -1, - 122 - ], - "'RAISES": [ - -1, - 122 - ], - "'RAISESOTHER": [ - -1, - 122 - ], - "'SATISFIES": [ - -1, - 122 - ], - "'SATISFIESNOT": [ - -1, - 122 - ], - "'RAISESSATISFIES": [ - -1, - 122 - ], - "'RAISESVIOLATES": [ - -1, - 122 - ], - "'RAISESNOT": [ - -1, - 122 - ], - "'DOTDOTDOT": [ - -1, - 122 - ], - "'NUMBER": [ - -1, - 122 - ], - "'RATIONAL": [ - -1, - 122 - ], - "'ROUGHRATIONAL": [ - -1, - 122 - ], - "'TRUE": [ - -1, - 122 - ], - "'FALSE": [ - -1, - 122 - ], - "'LAM": [ - -1, - 122 - ], - "'METHOD": [ - -1, - 122 - ], - "'LBRACK": [ - -1, - 122 - ], - "'RBRACK": [ - -1, - 122 - ], - "'TABLE": [ - -1, - 122 - ], - "'ROW": [ - -1, - 122 - ], - "'REACTOR": [ - -1, - 122 - ], - "'BANG": [ - -1, - 122 - ], - "'IF": [ - -1, - 122 - ], - "'ELSECOLON": [ - -1, - 122 - ], - "'ELSEIF": [ - -1, - 122 - ], - "'ASK": [ - -1, - 122 - ], - "'THENCOLON": [ - -1, - 122 - ], - "'CASES": [ - -1, - 122 - ], - "'FOR": [ - -1, - 122 - ], - "'TABLE-SELECT": [ - -1, - 122 - ], - "'TABLE-FILTER": [ - -1, - 122 - ], - "'USING": [ - -1, - 122 - ], - "'TABLE-ORDER": [ - -1, - 122 - ], - "'TABLE-EXTRACT": [ - -1, - 122 - ], - "'TABLE-UPDATE": [ - -1, - 122 - ], - "'TABLE-EXTEND": [ - -1, - 122 - ], - "'OF": [ - -1, - 122 - ], - "'LOAD-TABLE": [ - -1, - 122 - ], - "'SOURCECOLON": [ - -1, - 122 - ], - "'SANITIZE": [ - -1, - 122 - ] - }, - { - "$": [ - -1, - 124 - ], - "'NAME": [ - -1, - 124 - ], - "'COLON": [ - -1, - 124 - ], - "'END": [ - -1, - 124 - ], - "'COMMA": [ - -1, - 124 - ], - "'PARENNOSPACE": [ - -1, - 124 - ], - "'STRING": [ - -1, - 124 - ], - "'RPAREN": [ - -1, - 124 - ], - "'TYPE": [ - -1, - 124 - ], - "'DATA": [ - -1, - 124 - ], - "'TIMES": [ - -1, - 124 - ], - "'PARENSPACE": [ - -1, - 124 - ], - "'DOT": [ - -1, - 124 - ], - "'SPY": [ - -1, - 124 - ], - "'NEWTYPE": [ - -1, - 124 - ], - "'LBRACE": [ - -1, - 124 - ], - "'RBRACE": [ - -1, - 124 - ], - "'SEMI": [ - -1, - 124 - ], - "'SHADOW": [ - -1, - 124 - ], - "'LET": [ - -1, - 124 - ], - "'BLOCK": [ - -1, - 124 - ], - "'LETREC": [ - -1, - 124 - ], - "'TYPE-LET": [ - -1, - 124 - ], - "'FUN": [ - -1, - 124 - ], - "'LANGLE": [ - -1, - 124 - ], - "'LT": [ - -1, - 124 - ], - "'GT": [ - -1, - 124 - ], - "'PARENAFTERBRACE": [ - -1, - 124 - ], - "'WHERE": [ - -1, - 124 - ], - "'CHECK": [ - -1, - 124 - ], - "'EXAMPLES": [ - -1, - 124 - ], - "'CHECKCOLON": [ - -1, - 124 - ], - "'EXAMPLESCOLON": [ - -1, - 124 - ], - "'BECAUSE": [ - -1, - 124 - ], - "'BAR": [ - -1, - 124 - ], - "'SHARING": [ - -1, - 124 - ], - "'VAR": [ - -1, - 124 - ], - "'REC": [ - -1, - 124 - ], - "'WHEN": [ - -1, - 124 - ], - "'PLUS": [ - -1, - 124 - ], - "'DASH": [ - -1, - 124 - ], - "'SLASH": [ - -1, - 124 - ], - "'LEQ": [ - -1, - 124 - ], - "'GEQ": [ - -1, - 124 - ], - "'EQUALEQUAL": [ - -1, - 124 - ], - "'SPACESHIP": [ - -1, - 124 - ], - "'EQUALTILDE": [ - -1, - 124 - ], - "'NEQ": [ - -1, - 124 - ], - "'AND": [ - -1, - 124 - ], - "'OR": [ - -1, - 124 - ], - "'CARET": [ - -1, - 124 - ], - "'IS": [ - -1, - 124 - ], - "'ISEQUALEQUAL": [ - -1, - 124 - ], - "'ISEQUALTILDE": [ - -1, - 124 - ], - "'ISSPACESHIP": [ - -1, - 124 - ], - "'ISROUGHLY": [ - -1, - 124 - ], - "'ISNOT": [ - -1, - 124 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 124 - ], - "'ISNOTEQUALTILDE": [ - -1, - 124 - ], - "'ISNOTSPACESHIP": [ - -1, - 124 - ], - "'RAISES": [ - -1, - 124 - ], - "'RAISESOTHER": [ - -1, - 124 - ], - "'SATISFIES": [ - -1, - 124 - ], - "'SATISFIESNOT": [ - -1, - 124 - ], - "'RAISESSATISFIES": [ - -1, - 124 - ], - "'RAISESVIOLATES": [ - -1, - 124 - ], - "'RAISESNOT": [ - -1, - 124 - ], - "'DOTDOTDOT": [ - -1, - 124 - ], - "'NUMBER": [ - -1, - 124 - ], - "'RATIONAL": [ - -1, - 124 - ], - "'ROUGHRATIONAL": [ - -1, - 124 - ], - "'TRUE": [ - -1, - 124 - ], - "'FALSE": [ - -1, - 124 - ], - "'LAM": [ - -1, - 124 - ], - "'METHOD": [ - -1, - 124 - ], - "'LBRACK": [ - -1, - 124 - ], - "'RBRACK": [ - -1, - 124 - ], - "'TABLE": [ - -1, - 124 - ], - "'ROW": [ - -1, - 124 - ], - "'REACTOR": [ - -1, - 124 - ], - "'BANG": [ - -1, - 124 - ], - "'IF": [ - -1, - 124 - ], - "'ELSECOLON": [ - -1, - 124 - ], - "'ELSEIF": [ - -1, - 124 - ], - "'ASK": [ - -1, - 124 - ], - "'THENCOLON": [ - -1, - 124 - ], - "'CASES": [ - -1, - 124 - ], - "'FOR": [ - -1, - 124 - ], - "'TABLE-SELECT": [ - -1, - 124 - ], - "'TABLE-FILTER": [ - -1, - 124 - ], - "'USING": [ - -1, - 124 - ], - "'TABLE-ORDER": [ - -1, - 124 - ], - "'TABLE-EXTRACT": [ - -1, - 124 - ], - "'TABLE-UPDATE": [ - -1, - 124 - ], - "'TABLE-EXTEND": [ - -1, - 124 - ], - "'OF": [ - -1, - 124 - ], - "'LOAD-TABLE": [ - -1, - 124 - ], - "'SOURCECOLON": [ - -1, - 124 - ], - "'SANITIZE": [ - -1, - 124 - ] - }, - { - "$": [ - -1, - 126 - ], - "'NAME": [ - -1, - 126 - ], - "'COLON": [ - -1, - 126 - ], - "'END": [ - -1, - 126 - ], - "'COMMA": [ - -1, - 126 - ], - "'PARENNOSPACE": [ - -1, - 126 - ], - "'STRING": [ - -1, - 126 - ], - "'RPAREN": [ - -1, - 126 - ], - "'TYPE": [ - -1, - 126 - ], - "'DATA": [ - -1, - 126 - ], - "'TIMES": [ - -1, - 126 - ], - "'PARENSPACE": [ - -1, - 126 - ], - "'DOT": [ - -1, - 126 - ], - "'SPY": [ - -1, - 126 - ], - "'NEWTYPE": [ - -1, - 126 - ], - "'LBRACE": [ - -1, - 126 - ], - "'RBRACE": [ - -1, - 126 - ], - "'SEMI": [ - -1, - 126 - ], - "'SHADOW": [ - -1, - 126 - ], - "'LET": [ - -1, - 126 - ], - "'BLOCK": [ - -1, - 126 - ], - "'LETREC": [ - -1, - 126 - ], - "'TYPE-LET": [ - -1, - 126 - ], - "'FUN": [ - -1, - 126 - ], - "'LANGLE": [ - -1, - 126 - ], - "'LT": [ - -1, - 126 - ], - "'GT": [ - -1, - 126 - ], - "'PARENAFTERBRACE": [ - -1, - 126 - ], - "'WHERE": [ - -1, - 126 - ], - "'CHECK": [ - -1, - 126 - ], - "'EXAMPLES": [ - -1, - 126 - ], - "'CHECKCOLON": [ - -1, - 126 - ], - "'EXAMPLESCOLON": [ - -1, - 126 - ], - "'BECAUSE": [ - -1, - 126 - ], - "'BAR": [ - -1, - 126 - ], - "'SHARING": [ - -1, - 126 - ], - "'VAR": [ - -1, - 126 - ], - "'REC": [ - -1, - 126 - ], - "'WHEN": [ - -1, - 126 - ], - "'PLUS": [ - -1, - 126 - ], - "'DASH": [ - -1, - 126 - ], - "'SLASH": [ - -1, - 126 - ], - "'LEQ": [ - -1, - 126 - ], - "'GEQ": [ - -1, - 126 - ], - "'EQUALEQUAL": [ - -1, - 126 - ], - "'SPACESHIP": [ - -1, - 126 - ], - "'EQUALTILDE": [ - -1, - 126 - ], - "'NEQ": [ - -1, - 126 - ], - "'AND": [ - -1, - 126 - ], - "'OR": [ - -1, - 126 - ], - "'CARET": [ - -1, - 126 - ], - "'IS": [ - -1, - 126 - ], - "'ISEQUALEQUAL": [ - -1, - 126 - ], - "'ISEQUALTILDE": [ - -1, - 126 - ], - "'ISSPACESHIP": [ - -1, - 126 - ], - "'ISROUGHLY": [ - -1, - 126 - ], - "'ISNOT": [ - -1, - 126 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 126 - ], - "'ISNOTEQUALTILDE": [ - -1, - 126 - ], - "'ISNOTSPACESHIP": [ - -1, - 126 - ], - "'RAISES": [ - -1, - 126 - ], - "'RAISESOTHER": [ - -1, - 126 - ], - "'SATISFIES": [ - -1, - 126 - ], - "'SATISFIESNOT": [ - -1, - 126 - ], - "'RAISESSATISFIES": [ - -1, - 126 - ], - "'RAISESVIOLATES": [ - -1, - 126 - ], - "'RAISESNOT": [ - -1, - 126 - ], - "'DOTDOTDOT": [ - -1, - 126 - ], - "'NUMBER": [ - -1, - 126 - ], - "'RATIONAL": [ - -1, - 126 - ], - "'ROUGHRATIONAL": [ - -1, - 126 - ], - "'TRUE": [ - -1, - 126 - ], - "'FALSE": [ - -1, - 126 - ], - "'LAM": [ - -1, - 126 - ], - "'METHOD": [ - -1, - 126 - ], - "'LBRACK": [ - -1, - 126 - ], - "'RBRACK": [ - -1, - 126 - ], - "'TABLE": [ - -1, - 126 - ], - "'ROW": [ - -1, - 126 - ], - "'REACTOR": [ - -1, - 126 - ], - "'BANG": [ - -1, - 126 - ], - "'IF": [ - -1, - 126 - ], - "'ELSECOLON": [ - -1, - 126 - ], - "'ELSEIF": [ - -1, - 126 - ], - "'ASK": [ - -1, - 126 - ], - "'THENCOLON": [ - -1, - 126 - ], - "'CASES": [ - -1, - 126 - ], - "'FOR": [ - -1, - 126 - ], - "'TABLE-SELECT": [ - -1, - 126 - ], - "'TABLE-FILTER": [ - -1, - 126 - ], - "'USING": [ - -1, - 126 - ], - "'TABLE-ORDER": [ - -1, - 126 - ], - "'TABLE-EXTRACT": [ - -1, - 126 - ], - "'TABLE-UPDATE": [ - -1, - 126 - ], - "'TABLE-EXTEND": [ - -1, - 126 - ], - "'OF": [ - -1, - 126 - ], - "'LOAD-TABLE": [ - -1, - 126 - ], - "'SOURCECOLON": [ - -1, - 126 - ], - "'SANITIZE": [ - -1, - 126 - ] - }, - { - "$": [ - -1, - 128 - ], - "'NAME": [ - -1, - 128 - ], - "'COLON": [ - -1, - 128 - ], - "'END": [ - -1, - 128 - ], - "'COMMA": [ - -1, - 128 - ], - "'PARENNOSPACE": [ - -1, - 128 - ], - "'STRING": [ - -1, - 128 - ], - "'RPAREN": [ - -1, - 128 - ], - "'TYPE": [ - -1, - 128 - ], - "'DATA": [ - -1, - 128 - ], - "'TIMES": [ - -1, - 128 - ], - "'PARENSPACE": [ - -1, - 128 - ], - "'DOT": [ - -1, - 128 - ], - "'SPY": [ - -1, - 128 - ], - "'NEWTYPE": [ - -1, - 128 - ], - "'LBRACE": [ - -1, - 128 - ], - "'RBRACE": [ - -1, - 128 - ], - "'SEMI": [ - -1, - 128 - ], - "'SHADOW": [ - -1, - 128 - ], - "'LET": [ - -1, - 128 - ], - "'BLOCK": [ - -1, - 128 - ], - "'LETREC": [ - -1, - 128 - ], - "'TYPE-LET": [ - -1, - 128 - ], - "'FUN": [ - -1, - 128 - ], - "'LANGLE": [ - -1, - 128 - ], - "'LT": [ - -1, - 128 - ], - "'GT": [ - -1, - 128 - ], - "'PARENAFTERBRACE": [ - -1, - 128 - ], - "'WHERE": [ - -1, - 128 - ], - "'CHECK": [ - -1, - 128 - ], - "'EXAMPLES": [ - -1, - 128 - ], - "'CHECKCOLON": [ - -1, - 128 - ], - "'EXAMPLESCOLON": [ - -1, - 128 - ], - "'BECAUSE": [ - -1, - 128 - ], - "'BAR": [ - -1, - 128 - ], - "'SHARING": [ - -1, - 128 - ], - "'VAR": [ - -1, - 128 - ], - "'REC": [ - -1, - 128 - ], - "'WHEN": [ - -1, - 128 - ], - "'PLUS": [ - -1, - 128 - ], - "'DASH": [ - -1, - 128 - ], - "'SLASH": [ - -1, - 128 - ], - "'LEQ": [ - -1, - 128 - ], - "'GEQ": [ - -1, - 128 - ], - "'EQUALEQUAL": [ - -1, - 128 - ], - "'SPACESHIP": [ - -1, - 128 - ], - "'EQUALTILDE": [ - -1, - 128 - ], - "'NEQ": [ - -1, - 128 - ], - "'AND": [ - -1, - 128 - ], - "'OR": [ - -1, - 128 - ], - "'CARET": [ - -1, - 128 - ], - "'IS": [ - -1, - 128 - ], - "'ISEQUALEQUAL": [ - -1, - 128 - ], - "'ISEQUALTILDE": [ - -1, - 128 - ], - "'ISSPACESHIP": [ - -1, - 128 - ], - "'ISROUGHLY": [ - -1, - 128 - ], - "'ISNOT": [ - -1, - 128 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 128 - ], - "'ISNOTEQUALTILDE": [ - -1, - 128 - ], - "'ISNOTSPACESHIP": [ - -1, - 128 - ], - "'RAISES": [ - -1, - 128 - ], - "'RAISESOTHER": [ - -1, - 128 - ], - "'SATISFIES": [ - -1, - 128 - ], - "'SATISFIESNOT": [ - -1, - 128 - ], - "'RAISESSATISFIES": [ - -1, - 128 - ], - "'RAISESVIOLATES": [ - -1, - 128 - ], - "'RAISESNOT": [ - -1, - 128 - ], - "'DOTDOTDOT": [ - -1, - 128 - ], - "'NUMBER": [ - -1, - 128 - ], - "'RATIONAL": [ - -1, - 128 - ], - "'ROUGHRATIONAL": [ - -1, - 128 - ], - "'TRUE": [ - -1, - 128 - ], - "'FALSE": [ - -1, - 128 - ], - "'LAM": [ - -1, - 128 - ], - "'METHOD": [ - -1, - 128 - ], - "'LBRACK": [ - -1, - 128 - ], - "'RBRACK": [ - -1, - 128 - ], - "'TABLE": [ - -1, - 128 - ], - "'ROW": [ - -1, - 128 - ], - "'REACTOR": [ - -1, - 128 - ], - "'BANG": [ - -1, - 128 - ], - "'IF": [ - -1, - 128 - ], - "'ELSECOLON": [ - -1, - 128 - ], - "'ELSEIF": [ - -1, - 128 - ], - "'ASK": [ - -1, - 128 - ], - "'THENCOLON": [ - -1, - 128 - ], - "'CASES": [ - -1, - 128 - ], - "'FOR": [ - -1, - 128 - ], - "'TABLE-SELECT": [ - -1, - 128 - ], - "'TABLE-FILTER": [ - -1, - 128 - ], - "'USING": [ - -1, - 128 - ], - "'TABLE-ORDER": [ - -1, - 128 - ], - "'TABLE-EXTRACT": [ - -1, - 128 - ], - "'TABLE-UPDATE": [ - -1, - 128 - ], - "'TABLE-EXTEND": [ - -1, - 128 - ], - "'OF": [ - -1, - 128 - ], - "'LOAD-TABLE": [ - -1, - 128 - ], - "'SOURCECOLON": [ - -1, - 128 - ], - "'SANITIZE": [ - -1, - 128 - ] - }, - { - "$": [ - -1, - 130 - ], - "'NAME": [ - -1, - 130 - ], - "'COLON": [ - -1, - 130 - ], - "'END": [ - -1, - 130 - ], - "'COMMA": [ - -1, - 130 - ], - "'PARENNOSPACE": [ - -1, - 130 - ], - "'STRING": [ - -1, - 130 - ], - "'RPAREN": [ - -1, - 130 - ], - "'TYPE": [ - -1, - 130 - ], - "'DATA": [ - -1, - 130 - ], - "'TIMES": [ - -1, - 130 - ], - "'PARENSPACE": [ - -1, - 130 - ], - "'DOT": [ - -1, - 130 - ], - "'SPY": [ - -1, - 130 - ], - "'NEWTYPE": [ - -1, - 130 - ], - "'LBRACE": [ - -1, - 130 - ], - "'RBRACE": [ - -1, - 130 - ], - "'SEMI": [ - -1, - 130 - ], - "'SHADOW": [ - -1, - 130 - ], - "'LET": [ - -1, - 130 - ], - "'BLOCK": [ - -1, - 130 - ], - "'LETREC": [ - -1, - 130 - ], - "'TYPE-LET": [ - -1, - 130 - ], - "'FUN": [ - -1, - 130 - ], - "'LANGLE": [ - -1, - 130 - ], - "'LT": [ - -1, - 130 - ], - "'GT": [ - -1, - 130 - ], - "'PARENAFTERBRACE": [ - -1, - 130 - ], - "'WHERE": [ - -1, - 130 - ], - "'CHECK": [ - -1, - 130 - ], - "'EXAMPLES": [ - -1, - 130 - ], - "'CHECKCOLON": [ - -1, - 130 - ], - "'EXAMPLESCOLON": [ - -1, - 130 - ], - "'BECAUSE": [ - -1, - 130 - ], - "'BAR": [ - -1, - 130 - ], - "'SHARING": [ - -1, - 130 - ], - "'VAR": [ - -1, - 130 - ], - "'REC": [ - -1, - 130 - ], - "'WHEN": [ - -1, - 130 - ], - "'PLUS": [ - -1, - 130 - ], - "'DASH": [ - -1, - 130 - ], - "'SLASH": [ - -1, - 130 - ], - "'LEQ": [ - -1, - 130 - ], - "'GEQ": [ - -1, - 130 - ], - "'EQUALEQUAL": [ - -1, - 130 - ], - "'SPACESHIP": [ - -1, - 130 - ], - "'EQUALTILDE": [ - -1, - 130 - ], - "'NEQ": [ - -1, - 130 - ], - "'AND": [ - -1, - 130 - ], - "'OR": [ - -1, - 130 - ], - "'CARET": [ - -1, - 130 - ], - "'IS": [ - -1, - 130 - ], - "'ISEQUALEQUAL": [ - -1, - 130 - ], - "'ISEQUALTILDE": [ - -1, - 130 - ], - "'ISSPACESHIP": [ - -1, - 130 - ], - "'ISROUGHLY": [ - -1, - 130 - ], - "'ISNOT": [ - -1, - 130 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 130 - ], - "'ISNOTEQUALTILDE": [ - -1, - 130 - ], - "'ISNOTSPACESHIP": [ - -1, - 130 - ], - "'RAISES": [ - -1, - 130 - ], - "'RAISESOTHER": [ - -1, - 130 - ], - "'SATISFIES": [ - -1, - 130 - ], - "'SATISFIESNOT": [ - -1, - 130 - ], - "'RAISESSATISFIES": [ - -1, - 130 - ], - "'RAISESVIOLATES": [ - -1, - 130 - ], - "'RAISESNOT": [ - -1, - 130 - ], - "'DOTDOTDOT": [ - -1, - 130 - ], - "'NUMBER": [ - -1, - 130 - ], - "'RATIONAL": [ - -1, - 130 - ], - "'ROUGHRATIONAL": [ - -1, - 130 - ], - "'TRUE": [ - -1, - 130 - ], - "'FALSE": [ - -1, - 130 - ], - "'LAM": [ - -1, - 130 - ], - "'METHOD": [ - -1, - 130 - ], - "'LBRACK": [ - -1, - 130 - ], - "'RBRACK": [ - -1, - 130 - ], - "'TABLE": [ - -1, - 130 - ], - "'ROW": [ - -1, - 130 - ], - "'REACTOR": [ - -1, - 130 - ], - "'BANG": [ - -1, - 130 - ], - "'IF": [ - -1, - 130 - ], - "'ELSECOLON": [ - -1, - 130 - ], - "'ELSEIF": [ - -1, - 130 - ], - "'ASK": [ - -1, - 130 - ], - "'THENCOLON": [ - -1, - 130 - ], - "'CASES": [ - -1, - 130 - ], - "'FOR": [ - -1, - 130 - ], - "'TABLE-SELECT": [ - -1, - 130 - ], - "'TABLE-FILTER": [ - -1, - 130 - ], - "'USING": [ - -1, - 130 - ], - "'TABLE-ORDER": [ - -1, - 130 - ], - "'TABLE-EXTRACT": [ - -1, - 130 - ], - "'TABLE-UPDATE": [ - -1, - 130 - ], - "'TABLE-EXTEND": [ - -1, - 130 - ], - "'OF": [ - -1, - 130 - ], - "'LOAD-TABLE": [ - -1, - 130 - ], - "'SOURCECOLON": [ - -1, - 130 - ], - "'SANITIZE": [ - -1, - 130 - ] - }, - { - "$": [ - -1, - 132 - ], - "'NAME": [ - -1, - 132 - ], - "'COLON": [ - -1, - 132 - ], - "'END": [ - -1, - 132 - ], - "'COMMA": [ - -1, - 132 - ], - "'PARENNOSPACE": [ - -1, - 132 - ], - "'STRING": [ - -1, - 132 - ], - "'RPAREN": [ - -1, - 132 - ], - "'TYPE": [ - -1, - 132 - ], - "'DATA": [ - -1, - 132 - ], - "'TIMES": [ - -1, - 132 - ], - "'PARENSPACE": [ - -1, - 132 - ], - "'DOT": [ - -1, - 132 - ], - "'SPY": [ - -1, - 132 - ], - "'NEWTYPE": [ - -1, - 132 - ], - "'LBRACE": [ - -1, - 132 - ], - "'RBRACE": [ - -1, - 132 - ], - "'SEMI": [ - -1, - 132 - ], - "'SHADOW": [ - -1, - 132 - ], - "'LET": [ - -1, - 132 - ], - "'BLOCK": [ - -1, - 132 - ], - "'LETREC": [ - -1, - 132 - ], - "'TYPE-LET": [ - -1, - 132 - ], - "'FUN": [ - -1, - 132 - ], - "'LANGLE": [ - -1, - 132 - ], - "'LT": [ - -1, - 132 - ], - "'GT": [ - -1, - 132 - ], - "'PARENAFTERBRACE": [ - -1, - 132 - ], - "'WHERE": [ - -1, - 132 - ], - "'CHECK": [ - -1, - 132 - ], - "'EXAMPLES": [ - -1, - 132 - ], - "'CHECKCOLON": [ - -1, - 132 - ], - "'EXAMPLESCOLON": [ - -1, - 132 - ], - "'BECAUSE": [ - -1, - 132 - ], - "'BAR": [ - -1, - 132 - ], - "'SHARING": [ - -1, - 132 - ], - "'VAR": [ - -1, - 132 - ], - "'REC": [ - -1, - 132 - ], - "'WHEN": [ - -1, - 132 - ], - "'PLUS": [ - -1, - 132 - ], - "'DASH": [ - -1, - 132 - ], - "'SLASH": [ - -1, - 132 - ], - "'LEQ": [ - -1, - 132 - ], - "'GEQ": [ - -1, - 132 - ], - "'EQUALEQUAL": [ - -1, - 132 - ], - "'SPACESHIP": [ - -1, - 132 - ], - "'EQUALTILDE": [ - -1, - 132 - ], - "'NEQ": [ - -1, - 132 - ], - "'AND": [ - -1, - 132 - ], - "'OR": [ - -1, - 132 - ], - "'CARET": [ - -1, - 132 - ], - "'IS": [ - -1, - 132 - ], - "'ISEQUALEQUAL": [ - -1, - 132 - ], - "'ISEQUALTILDE": [ - -1, - 132 - ], - "'ISSPACESHIP": [ - -1, - 132 - ], - "'ISROUGHLY": [ - -1, - 132 - ], - "'ISNOT": [ - -1, - 132 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 132 - ], - "'ISNOTEQUALTILDE": [ - -1, - 132 - ], - "'ISNOTSPACESHIP": [ - -1, - 132 - ], - "'RAISES": [ - -1, - 132 - ], - "'RAISESOTHER": [ - -1, - 132 - ], - "'SATISFIES": [ - -1, - 132 - ], - "'SATISFIESNOT": [ - -1, - 132 - ], - "'RAISESSATISFIES": [ - -1, - 132 - ], - "'RAISESVIOLATES": [ - -1, - 132 - ], - "'RAISESNOT": [ - -1, - 132 - ], - "'DOTDOTDOT": [ - -1, - 132 - ], - "'NUMBER": [ - -1, - 132 - ], - "'RATIONAL": [ - -1, - 132 - ], - "'ROUGHRATIONAL": [ - -1, - 132 - ], - "'TRUE": [ - -1, - 132 - ], - "'FALSE": [ - -1, - 132 - ], - "'LAM": [ - -1, - 132 - ], - "'METHOD": [ - -1, - 132 - ], - "'LBRACK": [ - -1, - 132 - ], - "'RBRACK": [ - -1, - 132 - ], - "'TABLE": [ - -1, - 132 - ], - "'ROW": [ - -1, - 132 - ], - "'REACTOR": [ - -1, - 132 - ], - "'BANG": [ - -1, - 132 - ], - "'IF": [ - -1, - 132 - ], - "'ELSECOLON": [ - -1, - 132 - ], - "'ELSEIF": [ - -1, - 132 - ], - "'ASK": [ - -1, - 132 - ], - "'THENCOLON": [ - -1, - 132 - ], - "'CASES": [ - -1, - 132 - ], - "'FOR": [ - -1, - 132 - ], - "'TABLE-SELECT": [ - -1, - 132 - ], - "'TABLE-FILTER": [ - -1, - 132 - ], - "'USING": [ - -1, - 132 - ], - "'TABLE-ORDER": [ - -1, - 132 - ], - "'TABLE-EXTRACT": [ - -1, - 132 - ], - "'TABLE-UPDATE": [ - -1, - 132 - ], - "'TABLE-EXTEND": [ - -1, - 132 - ], - "'OF": [ - -1, - 132 - ], - "'LOAD-TABLE": [ - -1, - 132 - ], - "'SOURCECOLON": [ - -1, - 132 - ], - "'SANITIZE": [ - -1, - 132 - ] - }, - { - "$": [ - -1, - 134 - ], - "'NAME": [ - -1, - 134 - ], - "'COLON": [ - -1, - 134 - ], - "'END": [ - -1, - 134 - ], - "'COMMA": [ - -1, - 134 - ], - "'PARENNOSPACE": [ - -1, - 134 - ], - "'STRING": [ - -1, - 134 - ], - "'RPAREN": [ - -1, - 134 - ], - "'TYPE": [ - -1, - 134 - ], - "'DATA": [ - -1, - 134 - ], - "'TIMES": [ - -1, - 134 - ], - "'PARENSPACE": [ - -1, - 134 - ], - "'DOT": [ - -1, - 134 - ], - "'SPY": [ - -1, - 134 - ], - "'NEWTYPE": [ - -1, - 134 - ], - "'LBRACE": [ - -1, - 134 - ], - "'RBRACE": [ - -1, - 134 - ], - "'SEMI": [ - -1, - 134 - ], - "'SHADOW": [ - -1, - 134 - ], - "'LET": [ - -1, - 134 - ], - "'BLOCK": [ - -1, - 134 - ], - "'LETREC": [ - -1, - 134 - ], - "'TYPE-LET": [ - -1, - 134 - ], - "'FUN": [ - -1, - 134 - ], - "'LANGLE": [ - -1, - 134 - ], - "'LT": [ - -1, - 134 - ], - "'GT": [ - -1, - 134 - ], - "'PARENAFTERBRACE": [ - -1, - 134 - ], - "'WHERE": [ - -1, - 134 - ], - "'CHECK": [ - -1, - 134 - ], - "'EXAMPLES": [ - -1, - 134 - ], - "'CHECKCOLON": [ - -1, - 134 - ], - "'EXAMPLESCOLON": [ - -1, - 134 - ], - "'BECAUSE": [ - -1, - 134 - ], - "'BAR": [ - -1, - 134 - ], - "'SHARING": [ - -1, - 134 - ], - "'VAR": [ - -1, - 134 - ], - "'REC": [ - -1, - 134 - ], - "'WHEN": [ - -1, - 134 - ], - "'PLUS": [ - -1, - 134 - ], - "'DASH": [ - -1, - 134 - ], - "'SLASH": [ - -1, - 134 - ], - "'LEQ": [ - -1, - 134 - ], - "'GEQ": [ - -1, - 134 - ], - "'EQUALEQUAL": [ - -1, - 134 - ], - "'SPACESHIP": [ - -1, - 134 - ], - "'EQUALTILDE": [ - -1, - 134 - ], - "'NEQ": [ - -1, - 134 - ], - "'AND": [ - -1, - 134 - ], - "'OR": [ - -1, - 134 - ], - "'CARET": [ - -1, - 134 - ], - "'IS": [ - -1, - 134 - ], - "'ISEQUALEQUAL": [ - -1, - 134 - ], - "'ISEQUALTILDE": [ - -1, - 134 - ], - "'ISSPACESHIP": [ - -1, - 134 - ], - "'ISROUGHLY": [ - -1, - 134 - ], - "'ISNOT": [ - -1, - 134 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 134 - ], - "'ISNOTEQUALTILDE": [ - -1, - 134 - ], - "'ISNOTSPACESHIP": [ - -1, - 134 - ], - "'RAISES": [ - -1, - 134 - ], - "'RAISESOTHER": [ - -1, - 134 - ], - "'SATISFIES": [ - -1, - 134 - ], - "'SATISFIESNOT": [ - -1, - 134 - ], - "'RAISESSATISFIES": [ - -1, - 134 - ], - "'RAISESVIOLATES": [ - -1, - 134 - ], - "'RAISESNOT": [ - -1, - 134 - ], - "'DOTDOTDOT": [ - -1, - 134 - ], - "'NUMBER": [ - -1, - 134 - ], - "'RATIONAL": [ - -1, - 134 - ], - "'ROUGHRATIONAL": [ - -1, - 134 - ], - "'TRUE": [ - -1, - 134 - ], - "'FALSE": [ - -1, - 134 - ], - "'LAM": [ - -1, - 134 - ], - "'METHOD": [ - -1, - 134 - ], - "'LBRACK": [ - -1, - 134 - ], - "'RBRACK": [ - -1, - 134 - ], - "'TABLE": [ - -1, - 134 - ], - "'ROW": [ - -1, - 134 - ], - "'REACTOR": [ - -1, - 134 - ], - "'BANG": [ - -1, - 134 - ], - "'IF": [ - -1, - 134 - ], - "'ELSECOLON": [ - -1, - 134 - ], - "'ELSEIF": [ - -1, - 134 - ], - "'ASK": [ - -1, - 134 - ], - "'THENCOLON": [ - -1, - 134 - ], - "'CASES": [ - -1, - 134 - ], - "'FOR": [ - -1, - 134 - ], - "'TABLE-SELECT": [ - -1, - 134 - ], - "'TABLE-FILTER": [ - -1, - 134 - ], - "'USING": [ - -1, - 134 - ], - "'TABLE-ORDER": [ - -1, - 134 - ], - "'TABLE-EXTRACT": [ - -1, - 134 - ], - "'TABLE-UPDATE": [ - -1, - 134 - ], - "'TABLE-EXTEND": [ - -1, - 134 - ], - "'OF": [ - -1, - 134 - ], - "'LOAD-TABLE": [ - -1, - 134 - ], - "'SOURCECOLON": [ - -1, - 134 - ], - "'SANITIZE": [ - -1, - 134 - ] - }, - { - "$": [ - -1, - 136 - ], - "'NAME": [ - -1, - 136 - ], - "'COLON": [ - -1, - 136 - ], - "'END": [ - -1, - 136 - ], - "'COMMA": [ - -1, - 136 - ], - "'PARENNOSPACE": [ - -1, - 136 - ], - "'STRING": [ - -1, - 136 - ], - "'RPAREN": [ - -1, - 136 - ], - "'TYPE": [ - -1, - 136 - ], - "'DATA": [ - -1, - 136 - ], - "'TIMES": [ - -1, - 136 - ], - "'PARENSPACE": [ - -1, - 136 - ], - "'DOT": [ - -1, - 136 - ], - "'SPY": [ - -1, - 136 - ], - "'NEWTYPE": [ - -1, - 136 - ], - "'LBRACE": [ - -1, - 136 - ], - "'RBRACE": [ - -1, - 136 - ], - "'SEMI": [ - -1, - 136 - ], - "'SHADOW": [ - -1, - 136 - ], - "'LET": [ - -1, - 136 - ], - "'BLOCK": [ - -1, - 136 - ], - "'LETREC": [ - -1, - 136 - ], - "'TYPE-LET": [ - -1, - 136 - ], - "'FUN": [ - -1, - 136 - ], - "'LANGLE": [ - -1, - 136 - ], - "'LT": [ - -1, - 136 - ], - "'GT": [ - -1, - 136 - ], - "'PARENAFTERBRACE": [ - -1, - 136 - ], - "'WHERE": [ - -1, - 136 - ], - "'CHECK": [ - -1, - 136 - ], - "'EXAMPLES": [ - -1, - 136 - ], - "'CHECKCOLON": [ - -1, - 136 - ], - "'EXAMPLESCOLON": [ - -1, - 136 - ], - "'BECAUSE": [ - -1, - 136 - ], - "'BAR": [ - -1, - 136 - ], - "'SHARING": [ - -1, - 136 - ], - "'VAR": [ - -1, - 136 - ], - "'REC": [ - -1, - 136 - ], - "'WHEN": [ - -1, - 136 - ], - "'PLUS": [ - -1, - 136 - ], - "'DASH": [ - -1, - 136 - ], - "'SLASH": [ - -1, - 136 - ], - "'LEQ": [ - -1, - 136 - ], - "'GEQ": [ - -1, - 136 - ], - "'EQUALEQUAL": [ - -1, - 136 - ], - "'SPACESHIP": [ - -1, - 136 - ], - "'EQUALTILDE": [ - -1, - 136 - ], - "'NEQ": [ - -1, - 136 - ], - "'AND": [ - -1, - 136 - ], - "'OR": [ - -1, - 136 - ], - "'CARET": [ - -1, - 136 - ], - "'IS": [ - -1, - 136 - ], - "'ISEQUALEQUAL": [ - -1, - 136 - ], - "'ISEQUALTILDE": [ - -1, - 136 - ], - "'ISSPACESHIP": [ - -1, - 136 - ], - "'ISROUGHLY": [ - -1, - 136 - ], - "'ISNOT": [ - -1, - 136 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 136 - ], - "'ISNOTEQUALTILDE": [ - -1, - 136 - ], - "'ISNOTSPACESHIP": [ - -1, - 136 - ], - "'RAISES": [ - -1, - 136 - ], - "'RAISESOTHER": [ - -1, - 136 - ], - "'SATISFIES": [ - -1, - 136 - ], - "'SATISFIESNOT": [ - -1, - 136 - ], - "'RAISESSATISFIES": [ - -1, - 136 - ], - "'RAISESVIOLATES": [ - -1, - 136 - ], - "'RAISESNOT": [ - -1, - 136 - ], - "'DOTDOTDOT": [ - -1, - 136 - ], - "'NUMBER": [ - -1, - 136 - ], - "'RATIONAL": [ - -1, - 136 - ], - "'ROUGHRATIONAL": [ - -1, - 136 - ], - "'TRUE": [ - -1, - 136 - ], - "'FALSE": [ - -1, - 136 - ], - "'LAM": [ - -1, - 136 - ], - "'METHOD": [ - -1, - 136 - ], - "'LBRACK": [ - -1, - 136 - ], - "'RBRACK": [ - -1, - 136 - ], - "'TABLE": [ - -1, - 136 - ], - "'ROW": [ - -1, - 136 - ], - "'REACTOR": [ - -1, - 136 - ], - "'BANG": [ - -1, - 136 - ], - "'IF": [ - -1, - 136 - ], - "'ELSECOLON": [ - -1, - 136 - ], - "'ELSEIF": [ - -1, - 136 - ], - "'ASK": [ - -1, - 136 - ], - "'THENCOLON": [ - -1, - 136 - ], - "'CASES": [ - -1, - 136 - ], - "'FOR": [ - -1, - 136 - ], - "'TABLE-SELECT": [ - -1, - 136 - ], - "'TABLE-FILTER": [ - -1, - 136 - ], - "'USING": [ - -1, - 136 - ], - "'TABLE-ORDER": [ - -1, - 136 - ], - "'TABLE-EXTRACT": [ - -1, - 136 - ], - "'TABLE-UPDATE": [ - -1, - 136 - ], - "'TABLE-EXTEND": [ - -1, - 136 - ], - "'OF": [ - -1, - 136 - ], - "'LOAD-TABLE": [ - -1, - 136 - ], - "'SOURCECOLON": [ - -1, - 136 - ], - "'SANITIZE": [ - -1, - 136 - ] - }, - { - "$": [ - -1, - 138 - ], - "'NAME": [ - -1, - 138 - ], - "'COLON": [ - -1, - 138 - ], - "'END": [ - -1, - 138 - ], - "'COMMA": [ - -1, - 138 - ], - "'PARENNOSPACE": [ - -1, - 138 - ], - "'STRING": [ - -1, - 138 - ], - "'RPAREN": [ - -1, - 138 - ], - "'TYPE": [ - -1, - 138 - ], - "'DATA": [ - -1, - 138 - ], - "'TIMES": [ - -1, - 138 - ], - "'PARENSPACE": [ - -1, - 138 - ], - "'DOT": [ - -1, - 138 - ], - "'SPY": [ - -1, - 138 - ], - "'NEWTYPE": [ - -1, - 138 - ], - "'LBRACE": [ - -1, - 138 - ], - "'RBRACE": [ - -1, - 138 - ], - "'SEMI": [ - -1, - 138 - ], - "'SHADOW": [ - -1, - 138 - ], - "'LET": [ - -1, - 138 - ], - "'BLOCK": [ - -1, - 138 - ], - "'LETREC": [ - -1, - 138 - ], - "'TYPE-LET": [ - -1, - 138 - ], - "'FUN": [ - -1, - 138 - ], - "'LANGLE": [ - -1, - 138 - ], - "'LT": [ - -1, - 138 - ], - "'GT": [ - -1, - 138 - ], - "'PARENAFTERBRACE": [ - -1, - 138 - ], - "'WHERE": [ - -1, - 138 - ], - "'CHECK": [ - -1, - 138 - ], - "'EXAMPLES": [ - -1, - 138 - ], - "'CHECKCOLON": [ - -1, - 138 - ], - "'EXAMPLESCOLON": [ - -1, - 138 - ], - "'BECAUSE": [ - -1, - 138 - ], - "'BAR": [ - -1, - 138 - ], - "'SHARING": [ - -1, - 138 - ], - "'VAR": [ - -1, - 138 - ], - "'REC": [ - -1, - 138 - ], - "'WHEN": [ - -1, - 138 - ], - "'PLUS": [ - -1, - 138 - ], - "'DASH": [ - -1, - 138 - ], - "'SLASH": [ - -1, - 138 - ], - "'LEQ": [ - -1, - 138 - ], - "'GEQ": [ - -1, - 138 - ], - "'EQUALEQUAL": [ - -1, - 138 - ], - "'SPACESHIP": [ - -1, - 138 - ], - "'EQUALTILDE": [ - -1, - 138 - ], - "'NEQ": [ - -1, - 138 - ], - "'AND": [ - -1, - 138 - ], - "'OR": [ - -1, - 138 - ], - "'CARET": [ - -1, - 138 - ], - "'IS": [ - -1, - 138 - ], - "'ISEQUALEQUAL": [ - -1, - 138 - ], - "'ISEQUALTILDE": [ - -1, - 138 - ], - "'ISSPACESHIP": [ - -1, - 138 - ], - "'ISROUGHLY": [ - -1, - 138 - ], - "'ISNOT": [ - -1, - 138 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 138 - ], - "'ISNOTEQUALTILDE": [ - -1, - 138 - ], - "'ISNOTSPACESHIP": [ - -1, - 138 - ], - "'RAISES": [ - -1, - 138 - ], - "'RAISESOTHER": [ - -1, - 138 - ], - "'SATISFIES": [ - -1, - 138 - ], - "'SATISFIESNOT": [ - -1, - 138 - ], - "'RAISESSATISFIES": [ - -1, - 138 - ], - "'RAISESVIOLATES": [ - -1, - 138 - ], - "'RAISESNOT": [ - -1, - 138 - ], - "'DOTDOTDOT": [ - -1, - 138 - ], - "'NUMBER": [ - -1, - 138 - ], - "'RATIONAL": [ - -1, - 138 - ], - "'ROUGHRATIONAL": [ - -1, - 138 - ], - "'TRUE": [ - -1, - 138 - ], - "'FALSE": [ - -1, - 138 - ], - "'LAM": [ - -1, - 138 - ], - "'METHOD": [ - -1, - 138 - ], - "'LBRACK": [ - -1, - 138 - ], - "'RBRACK": [ - -1, - 138 - ], - "'TABLE": [ - -1, - 138 - ], - "'ROW": [ - -1, - 138 - ], - "'REACTOR": [ - -1, - 138 - ], - "'BANG": [ - -1, - 138 - ], - "'IF": [ - -1, - 138 - ], - "'ELSECOLON": [ - -1, - 138 - ], - "'ELSEIF": [ - -1, - 138 - ], - "'ASK": [ - -1, - 138 - ], - "'THENCOLON": [ - -1, - 138 - ], - "'CASES": [ - -1, - 138 - ], - "'FOR": [ - -1, - 138 - ], - "'TABLE-SELECT": [ - -1, - 138 - ], - "'TABLE-FILTER": [ - -1, - 138 - ], - "'USING": [ - -1, - 138 - ], - "'TABLE-ORDER": [ - -1, - 138 - ], - "'TABLE-EXTRACT": [ - -1, - 138 - ], - "'TABLE-UPDATE": [ - -1, - 138 - ], - "'TABLE-EXTEND": [ - -1, - 138 - ], - "'OF": [ - -1, - 138 - ], - "'LOAD-TABLE": [ - -1, - 138 - ], - "'SOURCECOLON": [ - -1, - 138 - ], - "'SANITIZE": [ - -1, - 138 - ] - }, - { - "$": [ - -1, - 140 - ], - "'NAME": [ - -1, - 140 - ], - "'COLON": [ - -1, - 140 - ], - "'END": [ - -1, - 140 - ], - "'COMMA": [ - -1, - 140 - ], - "'PARENNOSPACE": [ - -1, - 140 - ], - "'STRING": [ - -1, - 140 - ], - "'RPAREN": [ - -1, - 140 - ], - "'TYPE": [ - -1, - 140 - ], - "'DATA": [ - -1, - 140 - ], - "'TIMES": [ - -1, - 140 - ], - "'PARENSPACE": [ - -1, - 140 - ], - "'DOT": [ - -1, - 140 - ], - "'SPY": [ - -1, - 140 - ], - "'NEWTYPE": [ - -1, - 140 - ], - "'LBRACE": [ - -1, - 140 - ], - "'RBRACE": [ - -1, - 140 - ], - "'SEMI": [ - -1, - 140 - ], - "'SHADOW": [ - -1, - 140 - ], - "'LET": [ - -1, - 140 - ], - "'BLOCK": [ - -1, - 140 - ], - "'LETREC": [ - -1, - 140 - ], - "'TYPE-LET": [ - -1, - 140 - ], - "'FUN": [ - -1, - 140 - ], - "'LANGLE": [ - -1, - 140 - ], - "'LT": [ - -1, - 140 - ], - "'GT": [ - -1, - 140 - ], - "'PARENAFTERBRACE": [ - -1, - 140 - ], - "'WHERE": [ - -1, - 140 - ], - "'CHECK": [ - -1, - 140 - ], - "'EXAMPLES": [ - -1, - 140 - ], - "'CHECKCOLON": [ - -1, - 140 - ], - "'EXAMPLESCOLON": [ - -1, - 140 - ], - "'BECAUSE": [ - -1, - 140 - ], - "'BAR": [ - -1, - 140 - ], - "'SHARING": [ - -1, - 140 - ], - "'VAR": [ - -1, - 140 - ], - "'REC": [ - -1, - 140 - ], - "'WHEN": [ - -1, - 140 - ], - "'PLUS": [ - -1, - 140 - ], - "'DASH": [ - -1, - 140 - ], - "'SLASH": [ - -1, - 140 - ], - "'LEQ": [ - -1, - 140 - ], - "'GEQ": [ - -1, - 140 - ], - "'EQUALEQUAL": [ - -1, - 140 - ], - "'SPACESHIP": [ - -1, - 140 - ], - "'EQUALTILDE": [ - -1, - 140 - ], - "'NEQ": [ - -1, - 140 - ], - "'AND": [ - -1, - 140 - ], - "'OR": [ - -1, - 140 - ], - "'CARET": [ - -1, - 140 - ], - "'IS": [ - -1, - 140 - ], - "'ISEQUALEQUAL": [ - -1, - 140 - ], - "'ISEQUALTILDE": [ - -1, - 140 - ], - "'ISSPACESHIP": [ - -1, - 140 - ], - "'ISROUGHLY": [ - -1, - 140 - ], - "'ISNOT": [ - -1, - 140 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 140 - ], - "'ISNOTEQUALTILDE": [ - -1, - 140 - ], - "'ISNOTSPACESHIP": [ - -1, - 140 - ], - "'RAISES": [ - -1, - 140 - ], - "'RAISESOTHER": [ - -1, - 140 - ], - "'SATISFIES": [ - -1, - 140 - ], - "'SATISFIESNOT": [ - -1, - 140 - ], - "'RAISESSATISFIES": [ - -1, - 140 - ], - "'RAISESVIOLATES": [ - -1, - 140 - ], - "'RAISESNOT": [ - -1, - 140 - ], - "'DOTDOTDOT": [ - -1, - 140 - ], - "'NUMBER": [ - -1, - 140 - ], - "'RATIONAL": [ - -1, - 140 - ], - "'ROUGHRATIONAL": [ - -1, - 140 - ], - "'TRUE": [ - -1, - 140 - ], - "'FALSE": [ - -1, - 140 - ], - "'LAM": [ - -1, - 140 - ], - "'METHOD": [ - -1, - 140 - ], - "'LBRACK": [ - -1, - 140 - ], - "'RBRACK": [ - -1, - 140 - ], - "'TABLE": [ - -1, - 140 - ], - "'ROW": [ - -1, - 140 - ], - "'REACTOR": [ - -1, - 140 - ], - "'BANG": [ - -1, - 140 - ], - "'IF": [ - -1, - 140 - ], - "'ELSECOLON": [ - -1, - 140 - ], - "'ELSEIF": [ - -1, - 140 - ], - "'ASK": [ - -1, - 140 - ], - "'THENCOLON": [ - -1, - 140 - ], - "'CASES": [ - -1, - 140 - ], - "'FOR": [ - -1, - 140 - ], - "'TABLE-SELECT": [ - -1, - 140 - ], - "'TABLE-FILTER": [ - -1, - 140 - ], - "'USING": [ - -1, - 140 - ], - "'TABLE-ORDER": [ - -1, - 140 - ], - "'TABLE-EXTRACT": [ - -1, - 140 - ], - "'TABLE-UPDATE": [ - -1, - 140 - ], - "'TABLE-EXTEND": [ - -1, - 140 - ], - "'OF": [ - -1, - 140 - ], - "'LOAD-TABLE": [ - -1, - 140 - ], - "'SOURCECOLON": [ - -1, - 140 - ], - "'SANITIZE": [ - -1, - 140 - ] - }, - { - "$": [ - -1, - 142 - ], - "'NAME": [ - -1, - 142 - ], - "'COLON": [ - -1, - 142 - ], - "'END": [ - -1, - 142 - ], - "'COMMA": [ - -1, - 142 - ], - "'PARENNOSPACE": [ - -1, - 142 - ], - "'STRING": [ - -1, - 142 - ], - "'RPAREN": [ - -1, - 142 - ], - "'TYPE": [ - -1, - 142 - ], - "'DATA": [ - -1, - 142 - ], - "'TIMES": [ - -1, - 142 - ], - "'PARENSPACE": [ - -1, - 142 - ], - "'DOT": [ - -1, - 142 - ], - "'SPY": [ - -1, - 142 - ], - "'NEWTYPE": [ - -1, - 142 - ], - "'LBRACE": [ - -1, - 142 - ], - "'RBRACE": [ - -1, - 142 - ], - "'SEMI": [ - -1, - 142 - ], - "'SHADOW": [ - -1, - 142 - ], - "'LET": [ - -1, - 142 - ], - "'BLOCK": [ - -1, - 142 - ], - "'LETREC": [ - -1, - 142 - ], - "'TYPE-LET": [ - -1, - 142 - ], - "'FUN": [ - -1, - 142 - ], - "'LANGLE": [ - -1, - 142 - ], - "'LT": [ - -1, - 142 - ], - "'GT": [ - -1, - 142 - ], - "'PARENAFTERBRACE": [ - -1, - 142 - ], - "'WHERE": [ - -1, - 142 - ], - "'CHECK": [ - -1, - 142 - ], - "'EXAMPLES": [ - -1, - 142 - ], - "'CHECKCOLON": [ - -1, - 142 - ], - "'EXAMPLESCOLON": [ - -1, - 142 - ], - "'BECAUSE": [ - -1, - 142 - ], - "'BAR": [ - -1, - 142 - ], - "'SHARING": [ - -1, - 142 - ], - "'VAR": [ - -1, - 142 - ], - "'REC": [ - -1, - 142 - ], - "'WHEN": [ - -1, - 142 - ], - "'PLUS": [ - -1, - 142 - ], - "'DASH": [ - -1, - 142 - ], - "'SLASH": [ - -1, - 142 - ], - "'LEQ": [ - -1, - 142 - ], - "'GEQ": [ - -1, - 142 - ], - "'EQUALEQUAL": [ - -1, - 142 - ], - "'SPACESHIP": [ - -1, - 142 - ], - "'EQUALTILDE": [ - -1, - 142 - ], - "'NEQ": [ - -1, - 142 - ], - "'AND": [ - -1, - 142 - ], - "'OR": [ - -1, - 142 - ], - "'CARET": [ - -1, - 142 - ], - "'IS": [ - -1, - 142 - ], - "'ISEQUALEQUAL": [ - -1, - 142 - ], - "'ISEQUALTILDE": [ - -1, - 142 - ], - "'ISSPACESHIP": [ - -1, - 142 - ], - "'ISROUGHLY": [ - -1, - 142 - ], - "'ISNOT": [ - -1, - 142 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 142 - ], - "'ISNOTEQUALTILDE": [ - -1, - 142 - ], - "'ISNOTSPACESHIP": [ - -1, - 142 - ], - "'RAISES": [ - -1, - 142 - ], - "'RAISESOTHER": [ - -1, - 142 - ], - "'SATISFIES": [ - -1, - 142 - ], - "'SATISFIESNOT": [ - -1, - 142 - ], - "'RAISESSATISFIES": [ - -1, - 142 - ], - "'RAISESVIOLATES": [ - -1, - 142 - ], - "'RAISESNOT": [ - -1, - 142 - ], - "'DOTDOTDOT": [ - -1, - 142 - ], - "'NUMBER": [ - -1, - 142 - ], - "'RATIONAL": [ - -1, - 142 - ], - "'ROUGHRATIONAL": [ - -1, - 142 - ], - "'TRUE": [ - -1, - 142 - ], - "'FALSE": [ - -1, - 142 - ], - "'LAM": [ - -1, - 142 - ], - "'METHOD": [ - -1, - 142 - ], - "'LBRACK": [ - -1, - 142 - ], - "'RBRACK": [ - -1, - 142 - ], - "'TABLE": [ - -1, - 142 - ], - "'ROW": [ - -1, - 142 - ], - "'REACTOR": [ - -1, - 142 - ], - "'BANG": [ - -1, - 142 - ], - "'IF": [ - -1, - 142 - ], - "'ELSECOLON": [ - -1, - 142 - ], - "'ELSEIF": [ - -1, - 142 - ], - "'ASK": [ - -1, - 142 - ], - "'THENCOLON": [ - -1, - 142 - ], - "'CASES": [ - -1, - 142 - ], - "'FOR": [ - -1, - 142 - ], - "'TABLE-SELECT": [ - -1, - 142 - ], - "'TABLE-FILTER": [ - -1, - 142 - ], - "'USING": [ - -1, - 142 - ], - "'TABLE-ORDER": [ - -1, - 142 - ], - "'TABLE-EXTRACT": [ - -1, - 142 - ], - "'TABLE-UPDATE": [ - -1, - 142 - ], - "'TABLE-EXTEND": [ - -1, - 142 - ], - "'OF": [ - -1, - 142 - ], - "'LOAD-TABLE": [ - -1, - 142 - ], - "'SOURCECOLON": [ - -1, - 142 - ], - "'SANITIZE": [ - -1, - 142 - ] - }, - { - "$": [ - -1, - 144 - ], - "'NAME": [ - -1, - 144 - ], - "'COLON": [ - -1, - 144 - ], - "'END": [ - -1, - 144 - ], - "'COMMA": [ - -1, - 144 - ], - "'PARENNOSPACE": [ - -1, - 144 - ], - "'STRING": [ - -1, - 144 - ], - "'RPAREN": [ - -1, - 144 - ], - "'TYPE": [ - -1, - 144 - ], - "'DATA": [ - -1, - 144 - ], - "'TIMES": [ - -1, - 144 - ], - "'PARENSPACE": [ - -1, - 144 - ], - "'DOT": [ - -1, - 144 - ], - "'SPY": [ - -1, - 144 - ], - "'NEWTYPE": [ - -1, - 144 - ], - "'LBRACE": [ - -1, - 144 - ], - "'RBRACE": [ - -1, - 144 - ], - "'SEMI": [ - -1, - 144 - ], - "'SHADOW": [ - -1, - 144 - ], - "'LET": [ - -1, - 144 - ], - "'BLOCK": [ - -1, - 144 - ], - "'LETREC": [ - -1, - 144 - ], - "'TYPE-LET": [ - -1, - 144 - ], - "'FUN": [ - -1, - 144 - ], - "'LANGLE": [ - -1, - 144 - ], - "'LT": [ - -1, - 144 - ], - "'GT": [ - -1, - 144 - ], - "'PARENAFTERBRACE": [ - -1, - 144 - ], - "'WHERE": [ - -1, - 144 - ], - "'CHECK": [ - -1, - 144 - ], - "'EXAMPLES": [ - -1, - 144 - ], - "'CHECKCOLON": [ - -1, - 144 - ], - "'EXAMPLESCOLON": [ - -1, - 144 - ], - "'BECAUSE": [ - -1, - 144 - ], - "'BAR": [ - -1, - 144 - ], - "'SHARING": [ - -1, - 144 - ], - "'VAR": [ - -1, - 144 - ], - "'REC": [ - -1, - 144 - ], - "'WHEN": [ - -1, - 144 - ], - "'PLUS": [ - -1, - 144 - ], - "'DASH": [ - -1, - 144 - ], - "'SLASH": [ - -1, - 144 - ], - "'LEQ": [ - -1, - 144 - ], - "'GEQ": [ - -1, - 144 - ], - "'EQUALEQUAL": [ - -1, - 144 - ], - "'SPACESHIP": [ - -1, - 144 - ], - "'EQUALTILDE": [ - -1, - 144 - ], - "'NEQ": [ - -1, - 144 - ], - "'AND": [ - -1, - 144 - ], - "'OR": [ - -1, - 144 - ], - "'CARET": [ - -1, - 144 - ], - "'IS": [ - -1, - 144 - ], - "'ISEQUALEQUAL": [ - -1, - 144 - ], - "'ISEQUALTILDE": [ - -1, - 144 - ], - "'ISSPACESHIP": [ - -1, - 144 - ], - "'ISROUGHLY": [ - -1, - 144 - ], - "'ISNOT": [ - -1, - 144 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 144 - ], - "'ISNOTEQUALTILDE": [ - -1, - 144 - ], - "'ISNOTSPACESHIP": [ - -1, - 144 - ], - "'RAISES": [ - -1, - 144 - ], - "'RAISESOTHER": [ - -1, - 144 - ], - "'SATISFIES": [ - -1, - 144 - ], - "'SATISFIESNOT": [ - -1, - 144 - ], - "'RAISESSATISFIES": [ - -1, - 144 - ], - "'RAISESVIOLATES": [ - -1, - 144 - ], - "'RAISESNOT": [ - -1, - 144 - ], - "'DOTDOTDOT": [ - -1, - 144 - ], - "'NUMBER": [ - -1, - 144 - ], - "'RATIONAL": [ - -1, - 144 - ], - "'ROUGHRATIONAL": [ - -1, - 144 - ], - "'TRUE": [ - -1, - 144 - ], - "'FALSE": [ - -1, - 144 - ], - "'LAM": [ - -1, - 144 - ], - "'METHOD": [ - -1, - 144 - ], - "'LBRACK": [ - -1, - 144 - ], - "'RBRACK": [ - -1, - 144 - ], - "'TABLE": [ - -1, - 144 - ], - "'ROW": [ - -1, - 144 - ], - "'REACTOR": [ - -1, - 144 - ], - "'BANG": [ - -1, - 144 - ], - "'IF": [ - -1, - 144 - ], - "'ELSECOLON": [ - -1, - 144 - ], - "'ELSEIF": [ - -1, - 144 - ], - "'ASK": [ - -1, - 144 - ], - "'THENCOLON": [ - -1, - 144 - ], - "'CASES": [ - -1, - 144 - ], - "'FOR": [ - -1, - 144 - ], - "'TABLE-SELECT": [ - -1, - 144 - ], - "'TABLE-FILTER": [ - -1, - 144 - ], - "'USING": [ - -1, - 144 - ], - "'TABLE-ORDER": [ - -1, - 144 - ], - "'TABLE-EXTRACT": [ - -1, - 144 - ], - "'TABLE-UPDATE": [ - -1, - 144 - ], - "'TABLE-EXTEND": [ - -1, - 144 - ], - "'OF": [ - -1, - 144 - ], - "'LOAD-TABLE": [ - -1, - 144 - ], - "'SOURCECOLON": [ - -1, - 144 - ], - "'SANITIZE": [ - -1, - 144 - ] - }, - { - "$": [ - -1, - 146 - ], - "'NAME": [ - -1, - 146 - ], - "'COLON": [ - -1, - 146 - ], - "'END": [ - -1, - 146 - ], - "'COMMA": [ - -1, - 146 - ], - "'PARENNOSPACE": [ - -1, - 146 - ], - "'STRING": [ - -1, - 146 - ], - "'RPAREN": [ - -1, - 146 - ], - "'TYPE": [ - -1, - 146 - ], - "'DATA": [ - -1, - 146 - ], - "'TIMES": [ - -1, - 146 - ], - "'PARENSPACE": [ - -1, - 146 - ], - "'DOT": [ - -1, - 146 - ], - "'SPY": [ - -1, - 146 - ], - "'NEWTYPE": [ - -1, - 146 - ], - "'LBRACE": [ - -1, - 146 - ], - "'RBRACE": [ - -1, - 146 - ], - "'SEMI": [ - -1, - 146 - ], - "'SHADOW": [ - -1, - 146 - ], - "'LET": [ - -1, - 146 - ], - "'BLOCK": [ - -1, - 146 - ], - "'LETREC": [ - -1, - 146 - ], - "'TYPE-LET": [ - -1, - 146 - ], - "'FUN": [ - -1, - 146 - ], - "'LANGLE": [ - -1, - 146 - ], - "'LT": [ - -1, - 146 - ], - "'GT": [ - -1, - 146 - ], - "'PARENAFTERBRACE": [ - -1, - 146 - ], - "'WHERE": [ - -1, - 146 - ], - "'CHECK": [ - -1, - 146 - ], - "'EXAMPLES": [ - -1, - 146 - ], - "'CHECKCOLON": [ - -1, - 146 - ], - "'EXAMPLESCOLON": [ - -1, - 146 - ], - "'BECAUSE": [ - -1, - 146 - ], - "'BAR": [ - -1, - 146 - ], - "'SHARING": [ - -1, - 146 - ], - "'VAR": [ - -1, - 146 - ], - "'REC": [ - -1, - 146 - ], - "'WHEN": [ - -1, - 146 - ], - "'PLUS": [ - -1, - 146 - ], - "'DASH": [ - -1, - 146 - ], - "'SLASH": [ - -1, - 146 - ], - "'LEQ": [ - -1, - 146 - ], - "'GEQ": [ - -1, - 146 - ], - "'EQUALEQUAL": [ - -1, - 146 - ], - "'SPACESHIP": [ - -1, - 146 - ], - "'EQUALTILDE": [ - -1, - 146 - ], - "'NEQ": [ - -1, - 146 - ], - "'AND": [ - -1, - 146 - ], - "'OR": [ - -1, - 146 - ], - "'CARET": [ - -1, - 146 - ], - "'IS": [ - -1, - 146 - ], - "'ISEQUALEQUAL": [ - -1, - 146 - ], - "'ISEQUALTILDE": [ - -1, - 146 - ], - "'ISSPACESHIP": [ - -1, - 146 - ], - "'ISROUGHLY": [ - -1, - 146 - ], - "'ISNOT": [ - -1, - 146 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 146 - ], - "'ISNOTEQUALTILDE": [ - -1, - 146 - ], - "'ISNOTSPACESHIP": [ - -1, - 146 - ], - "'RAISES": [ - -1, - 146 - ], - "'RAISESOTHER": [ - -1, - 146 - ], - "'SATISFIES": [ - -1, - 146 - ], - "'SATISFIESNOT": [ - -1, - 146 - ], - "'RAISESSATISFIES": [ - -1, - 146 - ], - "'RAISESVIOLATES": [ - -1, - 146 - ], - "'RAISESNOT": [ - -1, - 146 - ], - "'DOTDOTDOT": [ - -1, - 146 - ], - "'NUMBER": [ - -1, - 146 - ], - "'RATIONAL": [ - -1, - 146 - ], - "'ROUGHRATIONAL": [ - -1, - 146 - ], - "'TRUE": [ - -1, - 146 - ], - "'FALSE": [ - -1, - 146 - ], - "'LAM": [ - -1, - 146 - ], - "'METHOD": [ - -1, - 146 - ], - "'LBRACK": [ - -1, - 146 - ], - "'RBRACK": [ - -1, - 146 - ], - "'TABLE": [ - -1, - 146 - ], - "'ROW": [ - -1, - 146 - ], - "'REACTOR": [ - -1, - 146 - ], - "'BANG": [ - -1, - 146 - ], - "'IF": [ - -1, - 146 - ], - "'ELSECOLON": [ - -1, - 146 - ], - "'ELSEIF": [ - -1, - 146 - ], - "'ASK": [ - -1, - 146 - ], - "'THENCOLON": [ - -1, - 146 - ], - "'CASES": [ - -1, - 146 - ], - "'FOR": [ - -1, - 146 - ], - "'TABLE-SELECT": [ - -1, - 146 - ], - "'TABLE-FILTER": [ - -1, - 146 - ], - "'USING": [ - -1, - 146 - ], - "'TABLE-ORDER": [ - -1, - 146 - ], - "'TABLE-EXTRACT": [ - -1, - 146 - ], - "'TABLE-UPDATE": [ - -1, - 146 - ], - "'TABLE-EXTEND": [ - -1, - 146 - ], - "'OF": [ - -1, - 146 - ], - "'LOAD-TABLE": [ - -1, - 146 - ], - "'SOURCECOLON": [ - -1, - 146 - ], - "'SANITIZE": [ - -1, - 146 - ] - }, - { - "$": [ - -1, - 148 - ], - "'NAME": [ - -1, - 148 - ], - "'COLON": [ - -1, - 148 - ], - "'END": [ - -1, - 148 - ], - "'COMMA": [ - -1, - 148 - ], - "'PARENNOSPACE": [ - -1, - 148 - ], - "'STRING": [ - -1, - 148 - ], - "'RPAREN": [ - -1, - 148 - ], - "'TYPE": [ - -1, - 148 - ], - "'DATA": [ - -1, - 148 - ], - "'TIMES": [ - -1, - 148 - ], - "'PARENSPACE": [ - -1, - 148 - ], - "'DOT": [ - -1, - 148 - ], - "'SPY": [ - -1, - 148 - ], - "'NEWTYPE": [ - -1, - 148 - ], - "'LBRACE": [ - -1, - 148 - ], - "'RBRACE": [ - -1, - 148 - ], - "'SEMI": [ - -1, - 148 - ], - "'SHADOW": [ - -1, - 148 - ], - "'LET": [ - -1, - 148 - ], - "'BLOCK": [ - -1, - 148 - ], - "'LETREC": [ - -1, - 148 - ], - "'TYPE-LET": [ - -1, - 148 - ], - "'FUN": [ - -1, - 148 - ], - "'LANGLE": [ - -1, - 148 - ], - "'LT": [ - -1, - 148 - ], - "'GT": [ - -1, - 148 - ], - "'PARENAFTERBRACE": [ - -1, - 148 - ], - "'WHERE": [ - -1, - 148 - ], - "'CHECK": [ - -1, - 148 - ], - "'EXAMPLES": [ - -1, - 148 - ], - "'CHECKCOLON": [ - -1, - 148 - ], - "'EXAMPLESCOLON": [ - -1, - 148 - ], - "'BECAUSE": [ - -1, - 148 - ], - "'BAR": [ - -1, - 148 - ], - "'SHARING": [ - -1, - 148 - ], - "'VAR": [ - -1, - 148 - ], - "'REC": [ - -1, - 148 - ], - "'WHEN": [ - -1, - 148 - ], - "'PLUS": [ - -1, - 148 - ], - "'DASH": [ - -1, - 148 - ], - "'SLASH": [ - -1, - 148 - ], - "'LEQ": [ - -1, - 148 - ], - "'GEQ": [ - -1, - 148 - ], - "'EQUALEQUAL": [ - -1, - 148 - ], - "'SPACESHIP": [ - -1, - 148 - ], - "'EQUALTILDE": [ - -1, - 148 - ], - "'NEQ": [ - -1, - 148 - ], - "'AND": [ - -1, - 148 - ], - "'OR": [ - -1, - 148 - ], - "'CARET": [ - -1, - 148 - ], - "'IS": [ - -1, - 148 - ], - "'ISEQUALEQUAL": [ - -1, - 148 - ], - "'ISEQUALTILDE": [ - -1, - 148 - ], - "'ISSPACESHIP": [ - -1, - 148 - ], - "'ISROUGHLY": [ - -1, - 148 - ], - "'ISNOT": [ - -1, - 148 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 148 - ], - "'ISNOTEQUALTILDE": [ - -1, - 148 - ], - "'ISNOTSPACESHIP": [ - -1, - 148 - ], - "'RAISES": [ - -1, - 148 - ], - "'RAISESOTHER": [ - -1, - 148 - ], - "'SATISFIES": [ - -1, - 148 - ], - "'SATISFIESNOT": [ - -1, - 148 - ], - "'RAISESSATISFIES": [ - -1, - 148 - ], - "'RAISESVIOLATES": [ - -1, - 148 - ], - "'RAISESNOT": [ - -1, - 148 - ], - "'DOTDOTDOT": [ - -1, - 148 - ], - "'NUMBER": [ - -1, - 148 - ], - "'RATIONAL": [ - -1, - 148 - ], - "'ROUGHRATIONAL": [ - -1, - 148 - ], - "'TRUE": [ - -1, - 148 - ], - "'FALSE": [ - -1, - 148 - ], - "'LAM": [ - -1, - 148 - ], - "'METHOD": [ - -1, - 148 - ], - "'LBRACK": [ - -1, - 148 - ], - "'RBRACK": [ - -1, - 148 - ], - "'TABLE": [ - -1, - 148 - ], - "'ROW": [ - -1, - 148 - ], - "'REACTOR": [ - -1, - 148 - ], - "'BANG": [ - -1, - 148 - ], - "'IF": [ - -1, - 148 - ], - "'ELSECOLON": [ - -1, - 148 - ], - "'ELSEIF": [ - -1, - 148 - ], - "'ASK": [ - -1, - 148 - ], - "'THENCOLON": [ - -1, - 148 - ], - "'CASES": [ - -1, - 148 - ], - "'FOR": [ - -1, - 148 - ], - "'TABLE-SELECT": [ - -1, - 148 - ], - "'TABLE-FILTER": [ - -1, - 148 - ], - "'USING": [ - -1, - 148 - ], - "'TABLE-ORDER": [ - -1, - 148 - ], - "'TABLE-EXTRACT": [ - -1, - 148 - ], - "'TABLE-UPDATE": [ - -1, - 148 - ], - "'TABLE-EXTEND": [ - -1, - 148 - ], - "'OF": [ - -1, - 148 - ], - "'LOAD-TABLE": [ - -1, - 148 - ], - "'SOURCECOLON": [ - -1, - 148 - ], - "'SANITIZE": [ - -1, - 148 - ] - }, - { - "$": [ - -1, - 150 - ], - "'NAME": [ - -1, - 150 - ], - "'COLON": [ - -1, - 150 - ], - "'END": [ - -1, - 150 - ], - "'COMMA": [ - -1, - 150 - ], - "'PARENNOSPACE": [ - -1, - 150 - ], - "'STRING": [ - -1, - 150 - ], - "'RPAREN": [ - -1, - 150 - ], - "'TYPE": [ - -1, - 150 - ], - "'DATA": [ - -1, - 150 - ], - "'TIMES": [ - -1, - 150 - ], - "'PARENSPACE": [ - -1, - 150 - ], - "'DOT": [ - -1, - 150 - ], - "'SPY": [ - -1, - 150 - ], - "'NEWTYPE": [ - -1, - 150 - ], - "'LBRACE": [ - -1, - 150 - ], - "'RBRACE": [ - -1, - 150 - ], - "'SEMI": [ - -1, - 150 - ], - "'SHADOW": [ - -1, - 150 - ], - "'LET": [ - -1, - 150 - ], - "'BLOCK": [ - -1, - 150 - ], - "'LETREC": [ - -1, - 150 - ], - "'TYPE-LET": [ - -1, - 150 - ], - "'FUN": [ - -1, - 150 - ], - "'LANGLE": [ - -1, - 150 - ], - "'LT": [ - -1, - 150 - ], - "'GT": [ - -1, - 150 - ], - "'PARENAFTERBRACE": [ - -1, - 150 - ], - "'WHERE": [ - -1, - 150 - ], - "'CHECK": [ - -1, - 150 - ], - "'EXAMPLES": [ - -1, - 150 - ], - "'CHECKCOLON": [ - -1, - 150 - ], - "'EXAMPLESCOLON": [ - -1, - 150 - ], - "'BECAUSE": [ - -1, - 150 - ], - "'BAR": [ - -1, - 150 - ], - "'SHARING": [ - -1, - 150 - ], - "'VAR": [ - -1, - 150 - ], - "'REC": [ - -1, - 150 - ], - "'WHEN": [ - -1, - 150 - ], - "'PLUS": [ - -1, - 150 - ], - "'DASH": [ - -1, - 150 - ], - "'SLASH": [ - -1, - 150 - ], - "'LEQ": [ - -1, - 150 - ], - "'GEQ": [ - -1, - 150 - ], - "'EQUALEQUAL": [ - -1, - 150 - ], - "'SPACESHIP": [ - -1, - 150 - ], - "'EQUALTILDE": [ - -1, - 150 - ], - "'NEQ": [ - -1, - 150 - ], - "'AND": [ - -1, - 150 - ], - "'OR": [ - -1, - 150 - ], - "'CARET": [ - -1, - 150 - ], - "'IS": [ - -1, - 150 - ], - "'ISEQUALEQUAL": [ - -1, - 150 - ], - "'ISEQUALTILDE": [ - -1, - 150 - ], - "'ISSPACESHIP": [ - -1, - 150 - ], - "'ISROUGHLY": [ - -1, - 150 - ], - "'ISNOT": [ - -1, - 150 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 150 - ], - "'ISNOTEQUALTILDE": [ - -1, - 150 - ], - "'ISNOTSPACESHIP": [ - -1, - 150 - ], - "'RAISES": [ - -1, - 150 - ], - "'RAISESOTHER": [ - -1, - 150 - ], - "'SATISFIES": [ - -1, - 150 - ], - "'SATISFIESNOT": [ - -1, - 150 - ], - "'RAISESSATISFIES": [ - -1, - 150 - ], - "'RAISESVIOLATES": [ - -1, - 150 - ], - "'RAISESNOT": [ - -1, - 150 - ], - "'DOTDOTDOT": [ - -1, - 150 - ], - "'NUMBER": [ - -1, - 150 - ], - "'RATIONAL": [ - -1, - 150 - ], - "'ROUGHRATIONAL": [ - -1, - 150 - ], - "'TRUE": [ - -1, - 150 - ], - "'FALSE": [ - -1, - 150 - ], - "'LAM": [ - -1, - 150 - ], - "'METHOD": [ - -1, - 150 - ], - "'LBRACK": [ - -1, - 150 - ], - "'RBRACK": [ - -1, - 150 - ], - "'TABLE": [ - -1, - 150 - ], - "'ROW": [ - -1, - 150 - ], - "'REACTOR": [ - -1, - 150 - ], - "'BANG": [ - -1, - 150 - ], - "'IF": [ - -1, - 150 - ], - "'ELSECOLON": [ - -1, - 150 - ], - "'ELSEIF": [ - -1, - 150 - ], - "'ASK": [ - -1, - 150 - ], - "'THENCOLON": [ - -1, - 150 - ], - "'CASES": [ - -1, - 150 - ], - "'FOR": [ - -1, - 150 - ], - "'TABLE-SELECT": [ - -1, - 150 - ], - "'TABLE-FILTER": [ - -1, - 150 - ], - "'USING": [ - -1, - 150 - ], - "'TABLE-ORDER": [ - -1, - 150 - ], - "'TABLE-EXTRACT": [ - -1, - 150 - ], - "'TABLE-UPDATE": [ - -1, - 150 - ], - "'TABLE-EXTEND": [ - -1, - 150 - ], - "'OF": [ - -1, - 150 - ], - "'LOAD-TABLE": [ - -1, - 150 - ], - "'SOURCECOLON": [ - -1, - 150 - ], - "'SANITIZE": [ - -1, - 150 - ] - }, - { - "$": [ - -1, - 152 - ], - "'NAME": [ - -1, - 152 - ], - "'COLON": [ - -1, - 152 - ], - "'END": [ - -1, - 152 - ], - "'COMMA": [ - -1, - 152 - ], - "'PARENNOSPACE": [ - -1, - 152 - ], - "'STRING": [ - -1, - 152 - ], - "'RPAREN": [ - -1, - 152 - ], - "'TYPE": [ - -1, - 152 - ], - "'DATA": [ - -1, - 152 - ], - "'TIMES": [ - -1, - 152 - ], - "'PARENSPACE": [ - -1, - 152 - ], - "'DOT": [ - -1, - 152 - ], - "'SPY": [ - -1, - 152 - ], - "'NEWTYPE": [ - -1, - 152 - ], - "'LBRACE": [ - -1, - 152 - ], - "'RBRACE": [ - -1, - 152 - ], - "'SEMI": [ - -1, - 152 - ], - "'SHADOW": [ - -1, - 152 - ], - "'LET": [ - -1, - 152 - ], - "'BLOCK": [ - -1, - 152 - ], - "'LETREC": [ - -1, - 152 - ], - "'TYPE-LET": [ - -1, - 152 - ], - "'FUN": [ - -1, - 152 - ], - "'LANGLE": [ - -1, - 152 - ], - "'LT": [ - -1, - 152 - ], - "'GT": [ - -1, - 152 - ], - "'PARENAFTERBRACE": [ - -1, - 152 - ], - "'WHERE": [ - -1, - 152 - ], - "'CHECK": [ - -1, - 152 - ], - "'EXAMPLES": [ - -1, - 152 - ], - "'CHECKCOLON": [ - -1, - 152 - ], - "'EXAMPLESCOLON": [ - -1, - 152 - ], - "'BECAUSE": [ - -1, - 152 - ], - "'BAR": [ - -1, - 152 - ], - "'SHARING": [ - -1, - 152 - ], - "'VAR": [ - -1, - 152 - ], - "'REC": [ - -1, - 152 - ], - "'WHEN": [ - -1, - 152 - ], - "'PLUS": [ - -1, - 152 - ], - "'DASH": [ - -1, - 152 - ], - "'SLASH": [ - -1, - 152 - ], - "'LEQ": [ - -1, - 152 - ], - "'GEQ": [ - -1, - 152 - ], - "'EQUALEQUAL": [ - -1, - 152 - ], - "'SPACESHIP": [ - -1, - 152 - ], - "'EQUALTILDE": [ - -1, - 152 - ], - "'NEQ": [ - -1, - 152 - ], - "'AND": [ - -1, - 152 - ], - "'OR": [ - -1, - 152 - ], - "'CARET": [ - -1, - 152 - ], - "'IS": [ - -1, - 152 - ], - "'ISEQUALEQUAL": [ - -1, - 152 - ], - "'ISEQUALTILDE": [ - -1, - 152 - ], - "'ISSPACESHIP": [ - -1, - 152 - ], - "'ISROUGHLY": [ - -1, - 152 - ], - "'ISNOT": [ - -1, - 152 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 152 - ], - "'ISNOTEQUALTILDE": [ - -1, - 152 - ], - "'ISNOTSPACESHIP": [ - -1, - 152 - ], - "'RAISES": [ - -1, - 152 - ], - "'RAISESOTHER": [ - -1, - 152 - ], - "'SATISFIES": [ - -1, - 152 - ], - "'SATISFIESNOT": [ - -1, - 152 - ], - "'RAISESSATISFIES": [ - -1, - 152 - ], - "'RAISESVIOLATES": [ - -1, - 152 - ], - "'RAISESNOT": [ - -1, - 152 - ], - "'DOTDOTDOT": [ - -1, - 152 - ], - "'NUMBER": [ - -1, - 152 - ], - "'RATIONAL": [ - -1, - 152 - ], - "'ROUGHRATIONAL": [ - -1, - 152 - ], - "'TRUE": [ - -1, - 152 - ], - "'FALSE": [ - -1, - 152 - ], - "'LAM": [ - -1, - 152 - ], - "'METHOD": [ - -1, - 152 - ], - "'LBRACK": [ - -1, - 152 - ], - "'RBRACK": [ - -1, - 152 - ], - "'TABLE": [ - -1, - 152 - ], - "'ROW": [ - -1, - 152 - ], - "'REACTOR": [ - -1, - 152 - ], - "'BANG": [ - -1, - 152 - ], - "'IF": [ - -1, - 152 - ], - "'ELSECOLON": [ - -1, - 152 - ], - "'ELSEIF": [ - -1, - 152 - ], - "'ASK": [ - -1, - 152 - ], - "'THENCOLON": [ - -1, - 152 - ], - "'CASES": [ - -1, - 152 - ], - "'FOR": [ - -1, - 152 - ], - "'TABLE-SELECT": [ - -1, - 152 - ], - "'TABLE-FILTER": [ - -1, - 152 - ], - "'USING": [ - -1, - 152 - ], - "'TABLE-ORDER": [ - -1, - 152 - ], - "'TABLE-EXTRACT": [ - -1, - 152 - ], - "'TABLE-UPDATE": [ - -1, - 152 - ], - "'TABLE-EXTEND": [ - -1, - 152 - ], - "'OF": [ - -1, - 152 - ], - "'LOAD-TABLE": [ - -1, - 152 - ], - "'SOURCECOLON": [ - -1, - 152 - ], - "'SANITIZE": [ - -1, - 152 - ] - }, - { - "$": [ - -1, - 154 - ], - "'NAME": [ - -1, - 154 - ], - "'COLON": [ - -1, - 154 - ], - "'END": [ - -1, - 154 - ], - "'COMMA": [ - -1, - 154 - ], - "'PARENNOSPACE": [ - -1, - 154 - ], - "'STRING": [ - -1, - 154 - ], - "'RPAREN": [ - -1, - 154 - ], - "'TYPE": [ - -1, - 154 - ], - "'DATA": [ - -1, - 154 - ], - "'TIMES": [ - -1, - 154 - ], - "'PARENSPACE": [ - -1, - 154 - ], - "'DOT": [ - -1, - 154 - ], - "'SPY": [ - -1, - 154 - ], - "'NEWTYPE": [ - -1, - 154 - ], - "'LBRACE": [ - -1, - 154 - ], - "'RBRACE": [ - -1, - 154 - ], - "'SEMI": [ - -1, - 154 - ], - "'SHADOW": [ - -1, - 154 - ], - "'LET": [ - -1, - 154 - ], - "'BLOCK": [ - -1, - 154 - ], - "'LETREC": [ - -1, - 154 - ], - "'TYPE-LET": [ - -1, - 154 - ], - "'FUN": [ - -1, - 154 - ], - "'LANGLE": [ - -1, - 154 - ], - "'LT": [ - -1, - 154 - ], - "'GT": [ - -1, - 154 - ], - "'PARENAFTERBRACE": [ - -1, - 154 - ], - "'WHERE": [ - -1, - 154 - ], - "'CHECK": [ - -1, - 154 - ], - "'EXAMPLES": [ - -1, - 154 - ], - "'CHECKCOLON": [ - -1, - 154 - ], - "'EXAMPLESCOLON": [ - -1, - 154 - ], - "'BECAUSE": [ - -1, - 154 - ], - "'BAR": [ - -1, - 154 - ], - "'SHARING": [ - -1, - 154 - ], - "'VAR": [ - -1, - 154 - ], - "'REC": [ - -1, - 154 - ], - "'WHEN": [ - -1, - 154 - ], - "'PLUS": [ - -1, - 154 - ], - "'DASH": [ - -1, - 154 - ], - "'SLASH": [ - -1, - 154 - ], - "'LEQ": [ - -1, - 154 - ], - "'GEQ": [ - -1, - 154 - ], - "'EQUALEQUAL": [ - -1, - 154 - ], - "'SPACESHIP": [ - -1, - 154 - ], - "'EQUALTILDE": [ - -1, - 154 - ], - "'NEQ": [ - -1, - 154 - ], - "'AND": [ - -1, - 154 - ], - "'OR": [ - -1, - 154 - ], - "'CARET": [ - -1, - 154 - ], - "'IS": [ - -1, - 154 - ], - "'ISEQUALEQUAL": [ - -1, - 154 - ], - "'ISEQUALTILDE": [ - -1, - 154 - ], - "'ISSPACESHIP": [ - -1, - 154 - ], - "'ISROUGHLY": [ - -1, - 154 - ], - "'ISNOT": [ - -1, - 154 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 154 - ], - "'ISNOTEQUALTILDE": [ - -1, - 154 - ], - "'ISNOTSPACESHIP": [ - -1, - 154 - ], - "'RAISES": [ - -1, - 154 - ], - "'RAISESOTHER": [ - -1, - 154 - ], - "'SATISFIES": [ - -1, - 154 - ], - "'SATISFIESNOT": [ - -1, - 154 - ], - "'RAISESSATISFIES": [ - -1, - 154 - ], - "'RAISESVIOLATES": [ - -1, - 154 - ], - "'RAISESNOT": [ - -1, - 154 - ], - "'DOTDOTDOT": [ - -1, - 154 - ], - "'NUMBER": [ - -1, - 154 - ], - "'RATIONAL": [ - -1, - 154 - ], - "'ROUGHRATIONAL": [ - -1, - 154 - ], - "'TRUE": [ - -1, - 154 - ], - "'FALSE": [ - -1, - 154 - ], - "'LAM": [ - -1, - 154 - ], - "'METHOD": [ - -1, - 154 - ], - "'LBRACK": [ - -1, - 154 - ], - "'RBRACK": [ - -1, - 154 - ], - "'TABLE": [ - -1, - 154 - ], - "'ROW": [ - -1, - 154 - ], - "'REACTOR": [ - -1, - 154 - ], - "'BANG": [ - -1, - 154 - ], - "'IF": [ - -1, - 154 - ], - "'ELSECOLON": [ - -1, - 154 - ], - "'ELSEIF": [ - -1, - 154 - ], - "'ASK": [ - -1, - 154 - ], - "'THENCOLON": [ - -1, - 154 - ], - "'CASES": [ - -1, - 154 - ], - "'FOR": [ - -1, - 154 - ], - "'TABLE-SELECT": [ - -1, - 154 - ], - "'TABLE-FILTER": [ - -1, - 154 - ], - "'USING": [ - -1, - 154 - ], - "'TABLE-ORDER": [ - -1, - 154 - ], - "'TABLE-EXTRACT": [ - -1, - 154 - ], - "'TABLE-UPDATE": [ - -1, - 154 - ], - "'TABLE-EXTEND": [ - -1, - 154 - ], - "'OF": [ - -1, - 154 - ], - "'LOAD-TABLE": [ - -1, - 154 - ], - "'SOURCECOLON": [ - -1, - 154 - ], - "'SANITIZE": [ - -1, - 154 - ] - }, - { - "$": [ - -1, - 156 - ], - "'NAME": [ - -1, - 156 - ], - "'COLON": [ - -1, - 156 - ], - "'END": [ - -1, - 156 - ], - "'COMMA": [ - -1, - 156 - ], - "'PARENNOSPACE": [ - -1, - 156 - ], - "'STRING": [ - -1, - 156 - ], - "'RPAREN": [ - -1, - 156 - ], - "'TYPE": [ - -1, - 156 - ], - "'DATA": [ - -1, - 156 - ], - "'TIMES": [ - -1, - 156 - ], - "'PARENSPACE": [ - -1, - 156 - ], - "'DOT": [ - -1, - 156 - ], - "'SPY": [ - -1, - 156 - ], - "'NEWTYPE": [ - -1, - 156 - ], - "'LBRACE": [ - -1, - 156 - ], - "'RBRACE": [ - -1, - 156 - ], - "'SEMI": [ - -1, - 156 - ], - "'SHADOW": [ - -1, - 156 - ], - "'LET": [ - -1, - 156 - ], - "'BLOCK": [ - -1, - 156 - ], - "'LETREC": [ - -1, - 156 - ], - "'TYPE-LET": [ - -1, - 156 - ], - "'FUN": [ - -1, - 156 - ], - "'LANGLE": [ - -1, - 156 - ], - "'LT": [ - -1, - 156 - ], - "'GT": [ - -1, - 156 - ], - "'PARENAFTERBRACE": [ - -1, - 156 - ], - "'WHERE": [ - -1, - 156 - ], - "'CHECK": [ - -1, - 156 - ], - "'EXAMPLES": [ - -1, - 156 - ], - "'CHECKCOLON": [ - -1, - 156 - ], - "'EXAMPLESCOLON": [ - -1, - 156 - ], - "'BECAUSE": [ - -1, - 156 - ], - "'BAR": [ - -1, - 156 - ], - "'SHARING": [ - -1, - 156 - ], - "'VAR": [ - -1, - 156 - ], - "'REC": [ - -1, - 156 - ], - "'WHEN": [ - -1, - 156 - ], - "'PLUS": [ - -1, - 156 - ], - "'DASH": [ - -1, - 156 - ], - "'SLASH": [ - -1, - 156 - ], - "'LEQ": [ - -1, - 156 - ], - "'GEQ": [ - -1, - 156 - ], - "'EQUALEQUAL": [ - -1, - 156 - ], - "'SPACESHIP": [ - -1, - 156 - ], - "'EQUALTILDE": [ - -1, - 156 - ], - "'NEQ": [ - -1, - 156 - ], - "'AND": [ - -1, - 156 - ], - "'OR": [ - -1, - 156 - ], - "'CARET": [ - -1, - 156 - ], - "'IS": [ - -1, - 156 - ], - "'ISEQUALEQUAL": [ - -1, - 156 - ], - "'ISEQUALTILDE": [ - -1, - 156 - ], - "'ISSPACESHIP": [ - -1, - 156 - ], - "'ISROUGHLY": [ - -1, - 156 - ], - "'ISNOT": [ - -1, - 156 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 156 - ], - "'ISNOTEQUALTILDE": [ - -1, - 156 - ], - "'ISNOTSPACESHIP": [ - -1, - 156 - ], - "'RAISES": [ - -1, - 156 - ], - "'RAISESOTHER": [ - -1, - 156 - ], - "'SATISFIES": [ - -1, - 156 - ], - "'SATISFIESNOT": [ - -1, - 156 - ], - "'RAISESSATISFIES": [ - -1, - 156 - ], - "'RAISESVIOLATES": [ - -1, - 156 - ], - "'RAISESNOT": [ - -1, - 156 - ], - "'DOTDOTDOT": [ - -1, - 156 - ], - "'NUMBER": [ - -1, - 156 - ], - "'RATIONAL": [ - -1, - 156 - ], - "'ROUGHRATIONAL": [ - -1, - 156 - ], - "'TRUE": [ - -1, - 156 - ], - "'FALSE": [ - -1, - 156 - ], - "'LAM": [ - -1, - 156 - ], - "'METHOD": [ - -1, - 156 - ], - "'LBRACK": [ - -1, - 156 - ], - "'RBRACK": [ - -1, - 156 - ], - "'TABLE": [ - -1, - 156 - ], - "'ROW": [ - -1, - 156 - ], - "'REACTOR": [ - -1, - 156 - ], - "'BANG": [ - -1, - 156 - ], - "'IF": [ - -1, - 156 - ], - "'ELSECOLON": [ - -1, - 156 - ], - "'ELSEIF": [ - -1, - 156 - ], - "'ASK": [ - -1, - 156 - ], - "'THENCOLON": [ - -1, - 156 - ], - "'CASES": [ - -1, - 156 - ], - "'FOR": [ - -1, - 156 - ], - "'TABLE-SELECT": [ - -1, - 156 - ], - "'TABLE-FILTER": [ - -1, - 156 - ], - "'USING": [ - -1, - 156 - ], - "'TABLE-ORDER": [ - -1, - 156 - ], - "'TABLE-EXTRACT": [ - -1, - 156 - ], - "'TABLE-UPDATE": [ - -1, - 156 - ], - "'TABLE-EXTEND": [ - -1, - 156 - ], - "'OF": [ - -1, - 156 - ], - "'LOAD-TABLE": [ - -1, - 156 - ], - "'SOURCECOLON": [ - -1, - 156 - ], - "'SANITIZE": [ - -1, - 156 - ] - }, - { - "$": [ - -1, - 158 - ], - "'NAME": [ - -1, - 158 - ], - "'COLON": [ - -1, - 158 - ], - "'END": [ - -1, - 158 - ], - "'COMMA": [ - -1, - 158 - ], - "'PARENNOSPACE": [ - -1, - 158 - ], - "'STRING": [ - -1, - 158 - ], - "'RPAREN": [ - -1, - 158 - ], - "'TYPE": [ - -1, - 158 - ], - "'DATA": [ - -1, - 158 - ], - "'TIMES": [ - -1, - 158 - ], - "'PARENSPACE": [ - -1, - 158 - ], - "'DOT": [ - -1, - 158 - ], - "'SPY": [ - -1, - 158 - ], - "'NEWTYPE": [ - -1, - 158 - ], - "'LBRACE": [ - -1, - 158 - ], - "'RBRACE": [ - -1, - 158 - ], - "'SEMI": [ - -1, - 158 - ], - "'SHADOW": [ - -1, - 158 - ], - "'LET": [ - -1, - 158 - ], - "'BLOCK": [ - -1, - 158 - ], - "'LETREC": [ - -1, - 158 - ], - "'TYPE-LET": [ - -1, - 158 - ], - "'FUN": [ - -1, - 158 - ], - "'LANGLE": [ - -1, - 158 - ], - "'LT": [ - -1, - 158 - ], - "'GT": [ - -1, - 158 - ], - "'PARENAFTERBRACE": [ - -1, - 158 - ], - "'WHERE": [ - -1, - 158 - ], - "'CHECK": [ - -1, - 158 - ], - "'EXAMPLES": [ - -1, - 158 - ], - "'CHECKCOLON": [ - -1, - 158 - ], - "'EXAMPLESCOLON": [ - -1, - 158 - ], - "'BECAUSE": [ - -1, - 158 - ], - "'BAR": [ - -1, - 158 - ], - "'SHARING": [ - -1, - 158 - ], - "'VAR": [ - -1, - 158 - ], - "'REC": [ - -1, - 158 - ], - "'WHEN": [ - -1, - 158 - ], - "'PLUS": [ - -1, - 158 - ], - "'DASH": [ - -1, - 158 - ], - "'SLASH": [ - -1, - 158 - ], - "'LEQ": [ - -1, - 158 - ], - "'GEQ": [ - -1, - 158 - ], - "'EQUALEQUAL": [ - -1, - 158 - ], - "'SPACESHIP": [ - -1, - 158 - ], - "'EQUALTILDE": [ - -1, - 158 - ], - "'NEQ": [ - -1, - 158 - ], - "'AND": [ - -1, - 158 - ], - "'OR": [ - -1, - 158 - ], - "'CARET": [ - -1, - 158 - ], - "'IS": [ - -1, - 158 - ], - "'ISEQUALEQUAL": [ - -1, - 158 - ], - "'ISEQUALTILDE": [ - -1, - 158 - ], - "'ISSPACESHIP": [ - -1, - 158 - ], - "'ISROUGHLY": [ - -1, - 158 - ], - "'ISNOT": [ - -1, - 158 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 158 - ], - "'ISNOTEQUALTILDE": [ - -1, - 158 - ], - "'ISNOTSPACESHIP": [ - -1, - 158 - ], - "'RAISES": [ - -1, - 158 - ], - "'RAISESOTHER": [ - -1, - 158 - ], - "'SATISFIES": [ - -1, - 158 - ], - "'SATISFIESNOT": [ - -1, - 158 - ], - "'RAISESSATISFIES": [ - -1, - 158 - ], - "'RAISESVIOLATES": [ - -1, - 158 - ], - "'RAISESNOT": [ - -1, - 158 - ], - "'DOTDOTDOT": [ - -1, - 158 - ], - "'NUMBER": [ - -1, - 158 - ], - "'RATIONAL": [ - -1, - 158 - ], - "'ROUGHRATIONAL": [ - -1, - 158 - ], - "'TRUE": [ - -1, - 158 - ], - "'FALSE": [ - -1, - 158 - ], - "'LAM": [ - -1, - 158 - ], - "'METHOD": [ - -1, - 158 - ], - "'LBRACK": [ - -1, - 158 - ], - "'RBRACK": [ - -1, - 158 - ], - "'TABLE": [ - -1, - 158 - ], - "'ROW": [ - -1, - 158 - ], - "'REACTOR": [ - -1, - 158 - ], - "'BANG": [ - -1, - 158 - ], - "'IF": [ - -1, - 158 - ], - "'ELSECOLON": [ - -1, - 158 - ], - "'ELSEIF": [ - -1, - 158 - ], - "'ASK": [ - -1, - 158 - ], - "'THENCOLON": [ - -1, - 158 - ], - "'CASES": [ - -1, - 158 - ], - "'FOR": [ - -1, - 158 - ], - "'TABLE-SELECT": [ - -1, - 158 - ], - "'TABLE-FILTER": [ - -1, - 158 - ], - "'USING": [ - -1, - 158 - ], - "'TABLE-ORDER": [ - -1, - 158 - ], - "'TABLE-EXTRACT": [ - -1, - 158 - ], - "'TABLE-UPDATE": [ - -1, - 158 - ], - "'TABLE-EXTEND": [ - -1, - 158 - ], - "'OF": [ - -1, - 158 - ], - "'LOAD-TABLE": [ - -1, - 158 - ], - "'SOURCECOLON": [ - -1, - 158 - ], - "'SANITIZE": [ - -1, - 158 - ] - }, - { - "$": [ - -1, - 160 - ], - "'NAME": [ - -1, - 160 - ], - "'COLON": [ - -1, - 160 - ], - "'END": [ - -1, - 160 - ], - "'COMMA": [ - -1, - 160 - ], - "'PARENNOSPACE": [ - -1, - 160 - ], - "'STRING": [ - -1, - 160 - ], - "'RPAREN": [ - -1, - 160 - ], - "'TYPE": [ - -1, - 160 - ], - "'DATA": [ - -1, - 160 - ], - "'TIMES": [ - -1, - 160 - ], - "'PARENSPACE": [ - -1, - 160 - ], - "'DOT": [ - -1, - 160 - ], - "'SPY": [ - -1, - 160 - ], - "'NEWTYPE": [ - -1, - 160 - ], - "'LBRACE": [ - -1, - 160 - ], - "'RBRACE": [ - -1, - 160 - ], - "'SEMI": [ - -1, - 160 - ], - "'SHADOW": [ - -1, - 160 - ], - "'LET": [ - -1, - 160 - ], - "'BLOCK": [ - -1, - 160 - ], - "'LETREC": [ - -1, - 160 - ], - "'TYPE-LET": [ - -1, - 160 - ], - "'FUN": [ - -1, - 160 - ], - "'LANGLE": [ - -1, - 160 - ], - "'LT": [ - -1, - 160 - ], - "'GT": [ - -1, - 160 - ], - "'PARENAFTERBRACE": [ - -1, - 160 - ], - "'WHERE": [ - -1, - 160 - ], - "'CHECK": [ - -1, - 160 - ], - "'EXAMPLES": [ - -1, - 160 - ], - "'CHECKCOLON": [ - -1, - 160 - ], - "'EXAMPLESCOLON": [ - -1, - 160 - ], - "'BECAUSE": [ - -1, - 160 - ], - "'BAR": [ - -1, - 160 - ], - "'SHARING": [ - -1, - 160 - ], - "'VAR": [ - -1, - 160 - ], - "'REC": [ - -1, - 160 - ], - "'WHEN": [ - -1, - 160 - ], - "'PLUS": [ - -1, - 160 - ], - "'DASH": [ - -1, - 160 - ], - "'SLASH": [ - -1, - 160 - ], - "'LEQ": [ - -1, - 160 - ], - "'GEQ": [ - -1, - 160 - ], - "'EQUALEQUAL": [ - -1, - 160 - ], - "'SPACESHIP": [ - -1, - 160 - ], - "'EQUALTILDE": [ - -1, - 160 - ], - "'NEQ": [ - -1, - 160 - ], - "'AND": [ - -1, - 160 - ], - "'OR": [ - -1, - 160 - ], - "'CARET": [ - -1, - 160 - ], - "'IS": [ - -1, - 160 - ], - "'ISEQUALEQUAL": [ - -1, - 160 - ], - "'ISEQUALTILDE": [ - -1, - 160 - ], - "'ISSPACESHIP": [ - -1, - 160 - ], - "'ISROUGHLY": [ - -1, - 160 - ], - "'ISNOT": [ - -1, - 160 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 160 - ], - "'ISNOTEQUALTILDE": [ - -1, - 160 - ], - "'ISNOTSPACESHIP": [ - -1, - 160 - ], - "'RAISES": [ - -1, - 160 - ], - "'RAISESOTHER": [ - -1, - 160 - ], - "'SATISFIES": [ - -1, - 160 - ], - "'SATISFIESNOT": [ - -1, - 160 - ], - "'RAISESSATISFIES": [ - -1, - 160 - ], - "'RAISESVIOLATES": [ - -1, - 160 - ], - "'RAISESNOT": [ - -1, - 160 - ], - "'DOTDOTDOT": [ - -1, - 160 - ], - "'NUMBER": [ - -1, - 160 - ], - "'RATIONAL": [ - -1, - 160 - ], - "'ROUGHRATIONAL": [ - -1, - 160 - ], - "'TRUE": [ - -1, - 160 - ], - "'FALSE": [ - -1, - 160 - ], - "'LAM": [ - -1, - 160 - ], - "'METHOD": [ - -1, - 160 - ], - "'LBRACK": [ - -1, - 160 - ], - "'RBRACK": [ - -1, - 160 - ], - "'TABLE": [ - -1, - 160 - ], - "'ROW": [ - -1, - 160 - ], - "'REACTOR": [ - -1, - 160 - ], - "'BANG": [ - -1, - 160 - ], - "'IF": [ - -1, - 160 - ], - "'ELSECOLON": [ - -1, - 160 - ], - "'ELSEIF": [ - -1, - 160 - ], - "'ASK": [ - -1, - 160 - ], - "'THENCOLON": [ - -1, - 160 - ], - "'CASES": [ - -1, - 160 - ], - "'FOR": [ - -1, - 160 - ], - "'TABLE-SELECT": [ - -1, - 160 - ], - "'TABLE-FILTER": [ - -1, - 160 - ], - "'USING": [ - -1, - 160 - ], - "'TABLE-ORDER": [ - -1, - 160 - ], - "'TABLE-EXTRACT": [ - -1, - 160 - ], - "'TABLE-UPDATE": [ - -1, - 160 - ], - "'TABLE-EXTEND": [ - -1, - 160 - ], - "'OF": [ - -1, - 160 - ], - "'LOAD-TABLE": [ - -1, - 160 - ], - "'SOURCECOLON": [ - -1, - 160 - ], - "'SANITIZE": [ - -1, - 160 - ] - }, - { - "$": [ - -1, - 162 - ], - "'NAME": [ - -1, - 162 - ], - "'COLON": [ - -1, - 162 - ], - "'END": [ - -1, - 162 - ], - "'COMMA": [ - -1, - 162 - ], - "'PARENNOSPACE": [ - -1, - 162 - ], - "'STRING": [ - -1, - 162 - ], - "'RPAREN": [ - -1, - 162 - ], - "'TYPE": [ - -1, - 162 - ], - "'DATA": [ - -1, - 162 - ], - "'TIMES": [ - -1, - 162 - ], - "'PARENSPACE": [ - -1, - 162 - ], - "'DOT": [ - -1, - 162 - ], - "'SPY": [ - -1, - 162 - ], - "'NEWTYPE": [ - -1, - 162 - ], - "'LBRACE": [ - -1, - 162 - ], - "'RBRACE": [ - -1, - 162 - ], - "'SEMI": [ - -1, - 162 - ], - "'SHADOW": [ - -1, - 162 - ], - "'LET": [ - -1, - 162 - ], - "'BLOCK": [ - -1, - 162 - ], - "'LETREC": [ - -1, - 162 - ], - "'TYPE-LET": [ - -1, - 162 - ], - "'FUN": [ - -1, - 162 - ], - "'LANGLE": [ - -1, - 162 - ], - "'LT": [ - -1, - 162 - ], - "'GT": [ - -1, - 162 - ], - "'PARENAFTERBRACE": [ - -1, - 162 - ], - "'WHERE": [ - -1, - 162 - ], - "'CHECK": [ - -1, - 162 - ], - "'EXAMPLES": [ - -1, - 162 - ], - "'CHECKCOLON": [ - -1, - 162 - ], - "'EXAMPLESCOLON": [ - -1, - 162 - ], - "'BECAUSE": [ - -1, - 162 - ], - "'BAR": [ - -1, - 162 - ], - "'SHARING": [ - -1, - 162 - ], - "'VAR": [ - -1, - 162 - ], - "'REC": [ - -1, - 162 - ], - "'WHEN": [ - -1, - 162 - ], - "'PLUS": [ - -1, - 162 - ], - "'DASH": [ - -1, - 162 - ], - "'SLASH": [ - -1, - 162 - ], - "'LEQ": [ - -1, - 162 - ], - "'GEQ": [ - -1, - 162 - ], - "'EQUALEQUAL": [ - -1, - 162 - ], - "'SPACESHIP": [ - -1, - 162 - ], - "'EQUALTILDE": [ - -1, - 162 - ], - "'NEQ": [ - -1, - 162 - ], - "'AND": [ - -1, - 162 - ], - "'OR": [ - -1, - 162 - ], - "'CARET": [ - -1, - 162 - ], - "'IS": [ - -1, - 162 - ], - "'ISEQUALEQUAL": [ - -1, - 162 - ], - "'ISEQUALTILDE": [ - -1, - 162 - ], - "'ISSPACESHIP": [ - -1, - 162 - ], - "'ISROUGHLY": [ - -1, - 162 - ], - "'ISNOT": [ - -1, - 162 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 162 - ], - "'ISNOTEQUALTILDE": [ - -1, - 162 - ], - "'ISNOTSPACESHIP": [ - -1, - 162 - ], - "'RAISES": [ - -1, - 162 - ], - "'RAISESOTHER": [ - -1, - 162 - ], - "'SATISFIES": [ - -1, - 162 - ], - "'SATISFIESNOT": [ - -1, - 162 - ], - "'RAISESSATISFIES": [ - -1, - 162 - ], - "'RAISESVIOLATES": [ - -1, - 162 - ], - "'RAISESNOT": [ - -1, - 162 - ], - "'DOTDOTDOT": [ - -1, - 162 - ], - "'NUMBER": [ - -1, - 162 - ], - "'RATIONAL": [ - -1, - 162 - ], - "'ROUGHRATIONAL": [ - -1, - 162 - ], - "'TRUE": [ - -1, - 162 - ], - "'FALSE": [ - -1, - 162 - ], - "'LAM": [ - -1, - 162 - ], - "'METHOD": [ - -1, - 162 - ], - "'LBRACK": [ - -1, - 162 - ], - "'RBRACK": [ - -1, - 162 - ], - "'TABLE": [ - -1, - 162 - ], - "'ROW": [ - -1, - 162 - ], - "'REACTOR": [ - -1, - 162 - ], - "'BANG": [ - -1, - 162 - ], - "'IF": [ - -1, - 162 - ], - "'ELSECOLON": [ - -1, - 162 - ], - "'ELSEIF": [ - -1, - 162 - ], - "'ASK": [ - -1, - 162 - ], - "'THENCOLON": [ - -1, - 162 - ], - "'CASES": [ - -1, - 162 - ], - "'FOR": [ - -1, - 162 - ], - "'TABLE-SELECT": [ - -1, - 162 - ], - "'TABLE-FILTER": [ - -1, - 162 - ], - "'USING": [ - -1, - 162 - ], - "'TABLE-ORDER": [ - -1, - 162 - ], - "'TABLE-EXTRACT": [ - -1, - 162 - ], - "'TABLE-UPDATE": [ - -1, - 162 - ], - "'TABLE-EXTEND": [ - -1, - 162 - ], - "'OF": [ - -1, - 162 - ], - "'LOAD-TABLE": [ - -1, - 162 - ], - "'SOURCECOLON": [ - -1, - 162 - ], - "'SANITIZE": [ - -1, - 162 - ] - }, - { - "$": [ - -1, - 164 - ], - "'NAME": [ - -1, - 164 - ], - "'COLON": [ - -1, - 164 - ], - "'END": [ - -1, - 164 - ], - "'COMMA": [ - -1, - 164 - ], - "'PARENNOSPACE": [ - -1, - 164 - ], - "'STRING": [ - -1, - 164 - ], - "'RPAREN": [ - -1, - 164 - ], - "'TYPE": [ - -1, - 164 - ], - "'DATA": [ - -1, - 164 - ], - "'TIMES": [ - -1, - 164 - ], - "'PARENSPACE": [ - -1, - 164 - ], - "'DOT": [ - -1, - 164 - ], - "'SPY": [ - -1, - 164 - ], - "'NEWTYPE": [ - -1, - 164 - ], - "'LBRACE": [ - -1, - 164 - ], - "'RBRACE": [ - -1, - 164 - ], - "'SEMI": [ - -1, - 164 - ], - "'SHADOW": [ - -1, - 164 - ], - "'LET": [ - -1, - 164 - ], - "'BLOCK": [ - -1, - 164 - ], - "'LETREC": [ - -1, - 164 - ], - "'TYPE-LET": [ - -1, - 164 - ], - "'FUN": [ - -1, - 164 - ], - "'LANGLE": [ - -1, - 164 - ], - "'LT": [ - -1, - 164 - ], - "'GT": [ - -1, - 164 - ], - "'PARENAFTERBRACE": [ - -1, - 164 - ], - "'WHERE": [ - -1, - 164 - ], - "'CHECK": [ - -1, - 164 - ], - "'EXAMPLES": [ - -1, - 164 - ], - "'CHECKCOLON": [ - -1, - 164 - ], - "'EXAMPLESCOLON": [ - -1, - 164 - ], - "'BECAUSE": [ - -1, - 164 - ], - "'BAR": [ - -1, - 164 - ], - "'SHARING": [ - -1, - 164 - ], - "'VAR": [ - -1, - 164 - ], - "'REC": [ - -1, - 164 - ], - "'WHEN": [ - -1, - 164 - ], - "'PLUS": [ - -1, - 164 - ], - "'DASH": [ - -1, - 164 - ], - "'SLASH": [ - -1, - 164 - ], - "'LEQ": [ - -1, - 164 - ], - "'GEQ": [ - -1, - 164 - ], - "'EQUALEQUAL": [ - -1, - 164 - ], - "'SPACESHIP": [ - -1, - 164 - ], - "'EQUALTILDE": [ - -1, - 164 - ], - "'NEQ": [ - -1, - 164 - ], - "'AND": [ - -1, - 164 - ], - "'OR": [ - -1, - 164 - ], - "'CARET": [ - -1, - 164 - ], - "'IS": [ - -1, - 164 - ], - "'ISEQUALEQUAL": [ - -1, - 164 - ], - "'ISEQUALTILDE": [ - -1, - 164 - ], - "'ISSPACESHIP": [ - -1, - 164 - ], - "'ISROUGHLY": [ - -1, - 164 - ], - "'ISNOT": [ - -1, - 164 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 164 - ], - "'ISNOTEQUALTILDE": [ - -1, - 164 - ], - "'ISNOTSPACESHIP": [ - -1, - 164 - ], - "'RAISES": [ - -1, - 164 - ], - "'RAISESOTHER": [ - -1, - 164 - ], - "'SATISFIES": [ - -1, - 164 - ], - "'SATISFIESNOT": [ - -1, - 164 - ], - "'RAISESSATISFIES": [ - -1, - 164 - ], - "'RAISESVIOLATES": [ - -1, - 164 - ], - "'RAISESNOT": [ - -1, - 164 - ], - "'DOTDOTDOT": [ - -1, - 164 - ], - "'NUMBER": [ - -1, - 164 - ], - "'RATIONAL": [ - -1, - 164 - ], - "'ROUGHRATIONAL": [ - -1, - 164 - ], - "'TRUE": [ - -1, - 164 - ], - "'FALSE": [ - -1, - 164 - ], - "'LAM": [ - -1, - 164 - ], - "'METHOD": [ - -1, - 164 - ], - "'LBRACK": [ - -1, - 164 - ], - "'RBRACK": [ - -1, - 164 - ], - "'TABLE": [ - -1, - 164 - ], - "'ROW": [ - -1, - 164 - ], - "'REACTOR": [ - -1, - 164 - ], - "'BANG": [ - -1, - 164 - ], - "'IF": [ - -1, - 164 - ], - "'ELSECOLON": [ - -1, - 164 - ], - "'ELSEIF": [ - -1, - 164 - ], - "'ASK": [ - -1, - 164 - ], - "'THENCOLON": [ - -1, - 164 - ], - "'CASES": [ - -1, - 164 - ], - "'FOR": [ - -1, - 164 - ], - "'TABLE-SELECT": [ - -1, - 164 - ], - "'TABLE-FILTER": [ - -1, - 164 - ], - "'USING": [ - -1, - 164 - ], - "'TABLE-ORDER": [ - -1, - 164 - ], - "'TABLE-EXTRACT": [ - -1, - 164 - ], - "'TABLE-UPDATE": [ - -1, - 164 - ], - "'TABLE-EXTEND": [ - -1, - 164 - ], - "'OF": [ - -1, - 164 - ], - "'LOAD-TABLE": [ - -1, - 164 - ], - "'SOURCECOLON": [ - -1, - 164 - ], - "'SANITIZE": [ - -1, - 164 - ] - }, - { - "$": [ - -1, - 166 - ], - "'NAME": [ - -1, - 166 - ], - "'COLON": [ - -1, - 166 - ], - "'END": [ - -1, - 166 - ], - "'COMMA": [ - -1, - 166 - ], - "'PARENNOSPACE": [ - -1, - 166 - ], - "'STRING": [ - -1, - 166 - ], - "'RPAREN": [ - -1, - 166 - ], - "'TYPE": [ - -1, - 166 - ], - "'DATA": [ - -1, - 166 - ], - "'TIMES": [ - -1, - 166 - ], - "'PARENSPACE": [ - -1, - 166 - ], - "'DOT": [ - -1, - 166 - ], - "'SPY": [ - -1, - 166 - ], - "'NEWTYPE": [ - -1, - 166 - ], - "'LBRACE": [ - -1, - 166 - ], - "'RBRACE": [ - -1, - 166 - ], - "'SEMI": [ - -1, - 166 - ], - "'SHADOW": [ - -1, - 166 - ], - "'LET": [ - -1, - 166 - ], - "'BLOCK": [ - -1, - 166 - ], - "'LETREC": [ - -1, - 166 - ], - "'TYPE-LET": [ - -1, - 166 - ], - "'FUN": [ - -1, - 166 - ], - "'LANGLE": [ - -1, - 166 - ], - "'LT": [ - -1, - 166 - ], - "'GT": [ - -1, - 166 - ], - "'PARENAFTERBRACE": [ - -1, - 166 - ], - "'WHERE": [ - -1, - 166 - ], - "'CHECK": [ - -1, - 166 - ], - "'EXAMPLES": [ - -1, - 166 - ], - "'CHECKCOLON": [ - -1, - 166 - ], - "'EXAMPLESCOLON": [ - -1, - 166 - ], - "'BECAUSE": [ - -1, - 166 - ], - "'BAR": [ - -1, - 166 - ], - "'SHARING": [ - -1, - 166 - ], - "'VAR": [ - -1, - 166 - ], - "'REC": [ - -1, - 166 - ], - "'WHEN": [ - -1, - 166 - ], - "'PLUS": [ - -1, - 166 - ], - "'DASH": [ - -1, - 166 - ], - "'SLASH": [ - -1, - 166 - ], - "'LEQ": [ - -1, - 166 - ], - "'GEQ": [ - -1, - 166 - ], - "'EQUALEQUAL": [ - -1, - 166 - ], - "'SPACESHIP": [ - -1, - 166 - ], - "'EQUALTILDE": [ - -1, - 166 - ], - "'NEQ": [ - -1, - 166 - ], - "'AND": [ - -1, - 166 - ], - "'OR": [ - -1, - 166 - ], - "'CARET": [ - -1, - 166 - ], - "'IS": [ - -1, - 166 - ], - "'ISEQUALEQUAL": [ - -1, - 166 - ], - "'ISEQUALTILDE": [ - -1, - 166 - ], - "'ISSPACESHIP": [ - -1, - 166 - ], - "'ISROUGHLY": [ - -1, - 166 - ], - "'ISNOT": [ - -1, - 166 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 166 - ], - "'ISNOTEQUALTILDE": [ - -1, - 166 - ], - "'ISNOTSPACESHIP": [ - -1, - 166 - ], - "'RAISES": [ - -1, - 166 - ], - "'RAISESOTHER": [ - -1, - 166 - ], - "'SATISFIES": [ - -1, - 166 - ], - "'SATISFIESNOT": [ - -1, - 166 - ], - "'RAISESSATISFIES": [ - -1, - 166 - ], - "'RAISESVIOLATES": [ - -1, - 166 - ], - "'RAISESNOT": [ - -1, - 166 - ], - "'DOTDOTDOT": [ - -1, - 166 - ], - "'NUMBER": [ - -1, - 166 - ], - "'RATIONAL": [ - -1, - 166 - ], - "'ROUGHRATIONAL": [ - -1, - 166 - ], - "'TRUE": [ - -1, - 166 - ], - "'FALSE": [ - -1, - 166 - ], - "'LAM": [ - -1, - 166 - ], - "'METHOD": [ - -1, - 166 - ], - "'LBRACK": [ - -1, - 166 - ], - "'RBRACK": [ - -1, - 166 - ], - "'TABLE": [ - -1, - 166 - ], - "'ROW": [ - -1, - 166 - ], - "'REACTOR": [ - -1, - 166 - ], - "'BANG": [ - -1, - 166 - ], - "'IF": [ - -1, - 166 - ], - "'ELSECOLON": [ - -1, - 166 - ], - "'ELSEIF": [ - -1, - 166 - ], - "'ASK": [ - -1, - 166 - ], - "'THENCOLON": [ - -1, - 166 - ], - "'CASES": [ - -1, - 166 - ], - "'FOR": [ - -1, - 166 - ], - "'TABLE-SELECT": [ - -1, - 166 - ], - "'TABLE-FILTER": [ - -1, - 166 - ], - "'USING": [ - -1, - 166 - ], - "'TABLE-ORDER": [ - -1, - 166 - ], - "'TABLE-EXTRACT": [ - -1, - 166 - ], - "'TABLE-UPDATE": [ - -1, - 166 - ], - "'TABLE-EXTEND": [ - -1, - 166 - ], - "'OF": [ - -1, - 166 - ], - "'LOAD-TABLE": [ - -1, - 166 - ], - "'SOURCECOLON": [ - -1, - 166 - ], - "'SANITIZE": [ - -1, - 166 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 207 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "$": [ - -1, - 168 - ], - "'NAME": [ - -1, - 168 - ], - "'COLON": [ - -1, - 168 - ], - "'END": [ - -1, - 168 - ], - "'COMMA": [ - -1, - 168 - ], - "'PARENNOSPACE": [ - -1, - 168 - ], - "'STRING": [ - -1, - 168 - ], - "'RPAREN": [ - -1, - 168 - ], - "'TYPE": [ - -1, - 168 - ], - "'DATA": [ - -1, - 168 - ], - "'TIMES": [ - -1, - 168 - ], - "'PARENSPACE": [ - -1, - 168 - ], - "'DOT": [ - -1, - 168 - ], - "'SPY": [ - -1, - 168 - ], - "'NEWTYPE": [ - -1, - 168 - ], - "'LBRACE": [ - -1, - 168 - ], - "'RBRACE": [ - -1, - 168 - ], - "'SEMI": [ - -1, - 168 - ], - "'SHADOW": [ - -1, - 168 - ], - "'LET": [ - -1, - 168 - ], - "'BLOCK": [ - -1, - 168 - ], - "'LETREC": [ - -1, - 168 - ], - "'TYPE-LET": [ - -1, - 168 - ], - "'FUN": [ - -1, - 168 - ], - "'LANGLE": [ - -1, - 168 - ], - "'LT": [ - -1, - 168 - ], - "'GT": [ - -1, - 168 - ], - "'PARENAFTERBRACE": [ - -1, - 168 - ], - "'WHERE": [ - -1, - 168 - ], - "'CHECK": [ - -1, - 168 - ], - "'EXAMPLES": [ - -1, - 168 - ], - "'CHECKCOLON": [ - -1, - 168 - ], - "'EXAMPLESCOLON": [ - -1, - 168 - ], - "'BECAUSE": [ - -1, - 168 - ], - "'BAR": [ - -1, - 168 - ], - "'SHARING": [ - -1, - 168 - ], - "'VAR": [ - -1, - 168 - ], - "'REC": [ - -1, - 168 - ], - "'WHEN": [ - -1, - 168 - ], - "'PLUS": [ - -1, - 168 - ], - "'DASH": [ - -1, - 168 - ], - "'SLASH": [ - -1, - 168 - ], - "'LEQ": [ - -1, - 168 - ], - "'GEQ": [ - -1, - 168 - ], - "'EQUALEQUAL": [ - -1, - 168 - ], - "'SPACESHIP": [ - -1, - 168 - ], - "'EQUALTILDE": [ - -1, - 168 - ], - "'NEQ": [ - -1, - 168 - ], - "'AND": [ - -1, - 168 - ], - "'OR": [ - -1, - 168 - ], - "'CARET": [ - -1, - 168 - ], - "'IS": [ - -1, - 168 - ], - "'ISEQUALEQUAL": [ - -1, - 168 - ], - "'ISEQUALTILDE": [ - -1, - 168 - ], - "'ISSPACESHIP": [ - -1, - 168 - ], - "'ISROUGHLY": [ - -1, - 168 - ], - "'ISNOT": [ - -1, - 168 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 168 - ], - "'ISNOTEQUALTILDE": [ - -1, - 168 - ], - "'ISNOTSPACESHIP": [ - -1, - 168 - ], - "'RAISES": [ - -1, - 168 - ], - "'RAISESOTHER": [ - -1, - 168 - ], - "'SATISFIES": [ - -1, - 168 - ], - "'SATISFIESNOT": [ - -1, - 168 - ], - "'RAISESSATISFIES": [ - -1, - 168 - ], - "'RAISESVIOLATES": [ - -1, - 168 - ], - "'RAISESNOT": [ - -1, - 168 - ], - "'DOTDOTDOT": [ - -1, - 168 - ], - "'NUMBER": [ - -1, - 168 - ], - "'RATIONAL": [ - -1, - 168 - ], - "'ROUGHRATIONAL": [ - -1, - 168 - ], - "'TRUE": [ - -1, - 168 - ], - "'FALSE": [ - -1, - 168 - ], - "'LAM": [ - -1, - 168 - ], - "'METHOD": [ - -1, - 168 - ], - "'LBRACK": [ - -1, - 168 - ], - "'RBRACK": [ - -1, - 168 - ], - "'TABLE": [ - -1, - 168 - ], - "'ROW": [ - -1, - 168 - ], - "'REACTOR": [ - -1, - 168 - ], - "'BANG": [ - -1, - 168 - ], - "'IF": [ - -1, - 168 - ], - "'ELSECOLON": [ - -1, - 168 - ], - "'ELSEIF": [ - -1, - 168 - ], - "'ASK": [ - -1, - 168 - ], - "'THENCOLON": [ - -1, - 168 - ], - "'CASES": [ - -1, - 168 - ], - "'FOR": [ - -1, - 168 - ], - "'TABLE-SELECT": [ - -1, - 168 - ], - "'TABLE-FILTER": [ - -1, - 168 - ], - "'USING": [ - -1, - 168 - ], - "'TABLE-ORDER": [ - -1, - 168 - ], - "'TABLE-EXTRACT": [ - -1, - 168 - ], - "'TABLE-UPDATE": [ - -1, - 168 - ], - "'TABLE-EXTEND": [ - -1, - 168 - ], - "'OF": [ - -1, - 168 - ], - "'LOAD-TABLE": [ - -1, - 168 - ], - "'SOURCECOLON": [ - -1, - 168 - ], - "'SANITIZE": [ - -1, - 168 - ] - }, - { - "$": [ - -1, - 170 - ], - "'NAME": [ - -1, - 170 - ], - "'COLON": [ - -1, - 170 - ], - "'END": [ - -1, - 170 - ], - "'COMMA": [ - -1, - 170 - ], - "'PARENNOSPACE": [ - -1, - 170 - ], - "'STRING": [ - -1, - 170 - ], - "'RPAREN": [ - -1, - 170 - ], - "'TYPE": [ - -1, - 170 - ], - "'DATA": [ - -1, - 170 - ], - "'TIMES": [ - -1, - 170 - ], - "'PARENSPACE": [ - -1, - 170 - ], - "'DOT": [ - -1, - 170 - ], - "'SPY": [ - -1, - 170 - ], - "'NEWTYPE": [ - -1, - 170 - ], - "'LBRACE": [ - -1, - 170 - ], - "'RBRACE": [ - -1, - 170 - ], - "'SEMI": [ - -1, - 170 - ], - "'SHADOW": [ - -1, - 170 - ], - "'LET": [ - -1, - 170 - ], - "'BLOCK": [ - -1, - 170 - ], - "'LETREC": [ - -1, - 170 - ], - "'TYPE-LET": [ - -1, - 170 - ], - "'FUN": [ - -1, - 170 - ], - "'LANGLE": [ - -1, - 170 - ], - "'LT": [ - -1, - 170 - ], - "'GT": [ - -1, - 170 - ], - "'PARENAFTERBRACE": [ - -1, - 170 - ], - "'WHERE": [ - -1, - 170 - ], - "'CHECK": [ - -1, - 170 - ], - "'EXAMPLES": [ - -1, - 170 - ], - "'CHECKCOLON": [ - -1, - 170 - ], - "'EXAMPLESCOLON": [ - -1, - 170 - ], - "'BECAUSE": [ - -1, - 170 - ], - "'BAR": [ - -1, - 170 - ], - "'SHARING": [ - -1, - 170 - ], - "'VAR": [ - -1, - 170 - ], - "'REC": [ - -1, - 170 - ], - "'WHEN": [ - -1, - 170 - ], - "'PLUS": [ - -1, - 170 - ], - "'DASH": [ - -1, - 170 - ], - "'SLASH": [ - -1, - 170 - ], - "'LEQ": [ - -1, - 170 - ], - "'GEQ": [ - -1, - 170 - ], - "'EQUALEQUAL": [ - -1, - 170 - ], - "'SPACESHIP": [ - -1, - 170 - ], - "'EQUALTILDE": [ - -1, - 170 - ], - "'NEQ": [ - -1, - 170 - ], - "'AND": [ - -1, - 170 - ], - "'OR": [ - -1, - 170 - ], - "'CARET": [ - -1, - 170 - ], - "'IS": [ - -1, - 170 - ], - "'ISEQUALEQUAL": [ - -1, - 170 - ], - "'ISEQUALTILDE": [ - -1, - 170 - ], - "'ISSPACESHIP": [ - -1, - 170 - ], - "'ISROUGHLY": [ - -1, - 170 - ], - "'ISNOT": [ - -1, - 170 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 170 - ], - "'ISNOTEQUALTILDE": [ - -1, - 170 - ], - "'ISNOTSPACESHIP": [ - -1, - 170 - ], - "'RAISES": [ - -1, - 170 - ], - "'RAISESOTHER": [ - -1, - 170 - ], - "'SATISFIES": [ - -1, - 170 - ], - "'SATISFIESNOT": [ - -1, - 170 - ], - "'RAISESSATISFIES": [ - -1, - 170 - ], - "'RAISESVIOLATES": [ - -1, - 170 - ], - "'RAISESNOT": [ - -1, - 170 - ], - "'DOTDOTDOT": [ - -1, - 170 - ], - "'NUMBER": [ - -1, - 170 - ], - "'RATIONAL": [ - -1, - 170 - ], - "'ROUGHRATIONAL": [ - -1, - 170 - ], - "'TRUE": [ - -1, - 170 - ], - "'FALSE": [ - -1, - 170 - ], - "'LAM": [ - -1, - 170 - ], - "'METHOD": [ - -1, - 170 - ], - "'LBRACK": [ - -1, - 170 - ], - "'RBRACK": [ - -1, - 170 - ], - "'TABLE": [ - -1, - 170 - ], - "'ROW": [ - -1, - 170 - ], - "'REACTOR": [ - -1, - 170 - ], - "'BANG": [ - -1, - 170 - ], - "'IF": [ - -1, - 170 - ], - "'ELSECOLON": [ - -1, - 170 - ], - "'ELSEIF": [ - -1, - 170 - ], - "'ASK": [ - -1, - 170 - ], - "'THENCOLON": [ - -1, - 170 - ], - "'CASES": [ - -1, - 170 - ], - "'FOR": [ - -1, - 170 - ], - "'TABLE-SELECT": [ - -1, - 170 - ], - "'TABLE-FILTER": [ - -1, - 170 - ], - "'USING": [ - -1, - 170 - ], - "'TABLE-ORDER": [ - -1, - 170 - ], - "'TABLE-EXTRACT": [ - -1, - 170 - ], - "'TABLE-UPDATE": [ - -1, - 170 - ], - "'TABLE-EXTEND": [ - -1, - 170 - ], - "'OF": [ - -1, - 170 - ], - "'LOAD-TABLE": [ - -1, - 170 - ], - "'SOURCECOLON": [ - -1, - 170 - ], - "'SANITIZE": [ - -1, - 170 - ] - }, - { - "$": [ - -1, - 172 - ], - "'NAME": [ - -1, - 172 - ], - "'COLON": [ - -1, - 172 - ], - "'END": [ - -1, - 172 - ], - "'COMMA": [ - -1, - 172 - ], - "'PARENNOSPACE": [ - -1, - 172 - ], - "'STRING": [ - -1, - 172 - ], - "'RPAREN": [ - -1, - 172 - ], - "'TYPE": [ - -1, - 172 - ], - "'DATA": [ - -1, - 172 - ], - "'TIMES": [ - -1, - 172 - ], - "'PARENSPACE": [ - -1, - 172 - ], - "'DOT": [ - -1, - 172 - ], - "'SPY": [ - -1, - 172 - ], - "'NEWTYPE": [ - -1, - 172 - ], - "'LBRACE": [ - -1, - 172 - ], - "'RBRACE": [ - -1, - 172 - ], - "'SEMI": [ - -1, - 172 - ], - "'SHADOW": [ - -1, - 172 - ], - "'LET": [ - -1, - 172 - ], - "'BLOCK": [ - -1, - 172 - ], - "'LETREC": [ - -1, - 172 - ], - "'TYPE-LET": [ - -1, - 172 - ], - "'FUN": [ - -1, - 172 - ], - "'LANGLE": [ - -1, - 172 - ], - "'LT": [ - -1, - 172 - ], - "'GT": [ - -1, - 172 - ], - "'PARENAFTERBRACE": [ - -1, - 172 - ], - "'WHERE": [ - -1, - 172 - ], - "'CHECK": [ - -1, - 172 - ], - "'EXAMPLES": [ - -1, - 172 - ], - "'CHECKCOLON": [ - -1, - 172 - ], - "'EXAMPLESCOLON": [ - -1, - 172 - ], - "'BECAUSE": [ - -1, - 172 - ], - "'BAR": [ - -1, - 172 - ], - "'SHARING": [ - -1, - 172 - ], - "'VAR": [ - -1, - 172 - ], - "'REC": [ - -1, - 172 - ], - "'WHEN": [ - -1, - 172 - ], - "'PLUS": [ - -1, - 172 - ], - "'DASH": [ - -1, - 172 - ], - "'SLASH": [ - -1, - 172 - ], - "'LEQ": [ - -1, - 172 - ], - "'GEQ": [ - -1, - 172 - ], - "'EQUALEQUAL": [ - -1, - 172 - ], - "'SPACESHIP": [ - -1, - 172 - ], - "'EQUALTILDE": [ - -1, - 172 - ], - "'NEQ": [ - -1, - 172 - ], - "'AND": [ - -1, - 172 - ], - "'OR": [ - -1, - 172 - ], - "'CARET": [ - -1, - 172 - ], - "'IS": [ - -1, - 172 - ], - "'ISEQUALEQUAL": [ - -1, - 172 - ], - "'ISEQUALTILDE": [ - -1, - 172 - ], - "'ISSPACESHIP": [ - -1, - 172 - ], - "'ISROUGHLY": [ - -1, - 172 - ], - "'ISNOT": [ - -1, - 172 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 172 - ], - "'ISNOTEQUALTILDE": [ - -1, - 172 - ], - "'ISNOTSPACESHIP": [ - -1, - 172 - ], - "'RAISES": [ - -1, - 172 - ], - "'RAISESOTHER": [ - -1, - 172 - ], - "'SATISFIES": [ - -1, - 172 - ], - "'SATISFIESNOT": [ - -1, - 172 - ], - "'RAISESSATISFIES": [ - -1, - 172 - ], - "'RAISESVIOLATES": [ - -1, - 172 - ], - "'RAISESNOT": [ - -1, - 172 - ], - "'DOTDOTDOT": [ - -1, - 172 - ], - "'NUMBER": [ - -1, - 172 - ], - "'RATIONAL": [ - -1, - 172 - ], - "'ROUGHRATIONAL": [ - -1, - 172 - ], - "'TRUE": [ - -1, - 172 - ], - "'FALSE": [ - -1, - 172 - ], - "'LAM": [ - -1, - 172 - ], - "'METHOD": [ - -1, - 172 - ], - "'LBRACK": [ - -1, - 172 - ], - "'RBRACK": [ - -1, - 172 - ], - "'TABLE": [ - -1, - 172 - ], - "'ROW": [ - -1, - 172 - ], - "'REACTOR": [ - -1, - 172 - ], - "'BANG": [ - -1, - 172 - ], - "'IF": [ - -1, - 172 - ], - "'ELSECOLON": [ - -1, - 172 - ], - "'ELSEIF": [ - -1, - 172 - ], - "'ASK": [ - -1, - 172 - ], - "'THENCOLON": [ - -1, - 172 - ], - "'CASES": [ - -1, - 172 - ], - "'FOR": [ - -1, - 172 - ], - "'TABLE-SELECT": [ - -1, - 172 - ], - "'TABLE-FILTER": [ - -1, - 172 - ], - "'USING": [ - -1, - 172 - ], - "'TABLE-ORDER": [ - -1, - 172 - ], - "'TABLE-EXTRACT": [ - -1, - 172 - ], - "'TABLE-UPDATE": [ - -1, - 172 - ], - "'TABLE-EXTEND": [ - -1, - 172 - ], - "'OF": [ - -1, - 172 - ], - "'LOAD-TABLE": [ - -1, - 172 - ], - "'SOURCECOLON": [ - -1, - 172 - ], - "'SANITIZE": [ - -1, - 172 - ] - }, - { - "$": [ - -1, - 174 - ], - "'NAME": [ - -1, - 174 - ], - "'COLON": [ - -1, - 174 - ], - "'END": [ - -1, - 174 - ], - "'COMMA": [ - -1, - 174 - ], - "'PARENNOSPACE": [ - -1, - 174 - ], - "'STRING": [ - -1, - 174 - ], - "'RPAREN": [ - -1, - 174 - ], - "'TYPE": [ - -1, - 174 - ], - "'DATA": [ - -1, - 174 - ], - "'TIMES": [ - -1, - 174 - ], - "'PARENSPACE": [ - -1, - 174 - ], - "'DOT": [ - -1, - 174 - ], - "'SPY": [ - -1, - 174 - ], - "'NEWTYPE": [ - -1, - 174 - ], - "'LBRACE": [ - -1, - 174 - ], - "'RBRACE": [ - -1, - 174 - ], - "'SEMI": [ - -1, - 174 - ], - "'SHADOW": [ - -1, - 174 - ], - "'LET": [ - -1, - 174 - ], - "'BLOCK": [ - -1, - 174 - ], - "'LETREC": [ - -1, - 174 - ], - "'TYPE-LET": [ - -1, - 174 - ], - "'FUN": [ - -1, - 174 - ], - "'LANGLE": [ - -1, - 174 - ], - "'LT": [ - -1, - 174 - ], - "'GT": [ - -1, - 174 - ], - "'PARENAFTERBRACE": [ - -1, - 174 - ], - "'WHERE": [ - -1, - 174 - ], - "'CHECK": [ - -1, - 174 - ], - "'EXAMPLES": [ - -1, - 174 - ], - "'CHECKCOLON": [ - -1, - 174 - ], - "'EXAMPLESCOLON": [ - -1, - 174 - ], - "'BECAUSE": [ - -1, - 174 - ], - "'BAR": [ - -1, - 174 - ], - "'SHARING": [ - -1, - 174 - ], - "'VAR": [ - -1, - 174 - ], - "'REC": [ - -1, - 174 - ], - "'WHEN": [ - -1, - 174 - ], - "'PLUS": [ - -1, - 174 - ], - "'DASH": [ - -1, - 174 - ], - "'SLASH": [ - -1, - 174 - ], - "'LEQ": [ - -1, - 174 - ], - "'GEQ": [ - -1, - 174 - ], - "'EQUALEQUAL": [ - -1, - 174 - ], - "'SPACESHIP": [ - -1, - 174 - ], - "'EQUALTILDE": [ - -1, - 174 - ], - "'NEQ": [ - -1, - 174 - ], - "'AND": [ - -1, - 174 - ], - "'OR": [ - -1, - 174 - ], - "'CARET": [ - -1, - 174 - ], - "'IS": [ - -1, - 174 - ], - "'ISEQUALEQUAL": [ - -1, - 174 - ], - "'ISEQUALTILDE": [ - -1, - 174 - ], - "'ISSPACESHIP": [ - -1, - 174 - ], - "'ISROUGHLY": [ - -1, - 174 - ], - "'ISNOT": [ - -1, - 174 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 174 - ], - "'ISNOTEQUALTILDE": [ - -1, - 174 - ], - "'ISNOTSPACESHIP": [ - -1, - 174 - ], - "'RAISES": [ - -1, - 174 - ], - "'RAISESOTHER": [ - -1, - 174 - ], - "'SATISFIES": [ - -1, - 174 - ], - "'SATISFIESNOT": [ - -1, - 174 - ], - "'RAISESSATISFIES": [ - -1, - 174 - ], - "'RAISESVIOLATES": [ - -1, - 174 - ], - "'RAISESNOT": [ - -1, - 174 - ], - "'DOTDOTDOT": [ - -1, - 174 - ], - "'NUMBER": [ - -1, - 174 - ], - "'RATIONAL": [ - -1, - 174 - ], - "'ROUGHRATIONAL": [ - -1, - 174 - ], - "'TRUE": [ - -1, - 174 - ], - "'FALSE": [ - -1, - 174 - ], - "'LAM": [ - -1, - 174 - ], - "'METHOD": [ - -1, - 174 - ], - "'LBRACK": [ - -1, - 174 - ], - "'RBRACK": [ - -1, - 174 - ], - "'TABLE": [ - -1, - 174 - ], - "'ROW": [ - -1, - 174 - ], - "'REACTOR": [ - -1, - 174 - ], - "'BANG": [ - -1, - 174 - ], - "'IF": [ - -1, - 174 - ], - "'ELSECOLON": [ - -1, - 174 - ], - "'ELSEIF": [ - -1, - 174 - ], - "'ASK": [ - -1, - 174 - ], - "'THENCOLON": [ - -1, - 174 - ], - "'CASES": [ - -1, - 174 - ], - "'FOR": [ - -1, - 174 - ], - "'TABLE-SELECT": [ - -1, - 174 - ], - "'TABLE-FILTER": [ - -1, - 174 - ], - "'USING": [ - -1, - 174 - ], - "'TABLE-ORDER": [ - -1, - 174 - ], - "'TABLE-EXTRACT": [ - -1, - 174 - ], - "'TABLE-UPDATE": [ - -1, - 174 - ], - "'TABLE-EXTEND": [ - -1, - 174 - ], - "'OF": [ - -1, - 174 - ], - "'LOAD-TABLE": [ - -1, - 174 - ], - "'SOURCECOLON": [ - -1, - 174 - ], - "'SANITIZE": [ - -1, - 174 - ] - }, - { - "$": [ - -1, - 176 - ], - "'NAME": [ - -1, - 176 - ], - "'COLON": [ - -1, - 176 - ], - "'END": [ - -1, - 176 - ], - "'COMMA": [ - -1, - 176 - ], - "'PARENNOSPACE": [ - -1, - 176 - ], - "'STRING": [ - -1, - 176 - ], - "'RPAREN": [ - -1, - 176 - ], - "'TYPE": [ - -1, - 176 - ], - "'DATA": [ - -1, - 176 - ], - "'TIMES": [ - -1, - 176 - ], - "'PARENSPACE": [ - -1, - 176 - ], - "'DOT": [ - -1, - 176 - ], - "'SPY": [ - -1, - 176 - ], - "'NEWTYPE": [ - -1, - 176 - ], - "'LBRACE": [ - -1, - 176 - ], - "'RBRACE": [ - -1, - 176 - ], - "'SEMI": [ - -1, - 176 - ], - "'SHADOW": [ - -1, - 176 - ], - "'LET": [ - -1, - 176 - ], - "'BLOCK": [ - -1, - 176 - ], - "'LETREC": [ - -1, - 176 - ], - "'TYPE-LET": [ - -1, - 176 - ], - "'FUN": [ - -1, - 176 - ], - "'LANGLE": [ - -1, - 176 - ], - "'LT": [ - -1, - 176 - ], - "'GT": [ - -1, - 176 - ], - "'PARENAFTERBRACE": [ - -1, - 176 - ], - "'WHERE": [ - -1, - 176 - ], - "'CHECK": [ - -1, - 176 - ], - "'EXAMPLES": [ - -1, - 176 - ], - "'CHECKCOLON": [ - -1, - 176 - ], - "'EXAMPLESCOLON": [ - -1, - 176 - ], - "'BECAUSE": [ - -1, - 176 - ], - "'BAR": [ - -1, - 176 - ], - "'SHARING": [ - -1, - 176 - ], - "'VAR": [ - -1, - 176 - ], - "'REC": [ - -1, - 176 - ], - "'WHEN": [ - -1, - 176 - ], - "'PLUS": [ - -1, - 176 - ], - "'DASH": [ - -1, - 176 - ], - "'SLASH": [ - -1, - 176 - ], - "'LEQ": [ - -1, - 176 - ], - "'GEQ": [ - -1, - 176 - ], - "'EQUALEQUAL": [ - -1, - 176 - ], - "'SPACESHIP": [ - -1, - 176 - ], - "'EQUALTILDE": [ - -1, - 176 - ], - "'NEQ": [ - -1, - 176 - ], - "'AND": [ - -1, - 176 - ], - "'OR": [ - -1, - 176 - ], - "'CARET": [ - -1, - 176 - ], - "'IS": [ - -1, - 176 - ], - "'ISEQUALEQUAL": [ - -1, - 176 - ], - "'ISEQUALTILDE": [ - -1, - 176 - ], - "'ISSPACESHIP": [ - -1, - 176 - ], - "'ISROUGHLY": [ - -1, - 176 - ], - "'ISNOT": [ - -1, - 176 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 176 - ], - "'ISNOTEQUALTILDE": [ - -1, - 176 - ], - "'ISNOTSPACESHIP": [ - -1, - 176 - ], - "'RAISES": [ - -1, - 176 - ], - "'RAISESOTHER": [ - -1, - 176 - ], - "'SATISFIES": [ - -1, - 176 - ], - "'SATISFIESNOT": [ - -1, - 176 - ], - "'RAISESSATISFIES": [ - -1, - 176 - ], - "'RAISESVIOLATES": [ - -1, - 176 - ], - "'RAISESNOT": [ - -1, - 176 - ], - "'DOTDOTDOT": [ - -1, - 176 - ], - "'NUMBER": [ - -1, - 176 - ], - "'RATIONAL": [ - -1, - 176 - ], - "'ROUGHRATIONAL": [ - -1, - 176 - ], - "'TRUE": [ - -1, - 176 - ], - "'FALSE": [ - -1, - 176 - ], - "'LAM": [ - -1, - 176 - ], - "'METHOD": [ - -1, - 176 - ], - "'LBRACK": [ - -1, - 176 - ], - "'RBRACK": [ - -1, - 176 - ], - "'TABLE": [ - -1, - 176 - ], - "'ROW": [ - -1, - 176 - ], - "'REACTOR": [ - -1, - 176 - ], - "'BANG": [ - -1, - 176 - ], - "'IF": [ - -1, - 176 - ], - "'ELSECOLON": [ - -1, - 176 - ], - "'ELSEIF": [ - -1, - 176 - ], - "'ASK": [ - -1, - 176 - ], - "'THENCOLON": [ - -1, - 176 - ], - "'CASES": [ - -1, - 176 - ], - "'FOR": [ - -1, - 176 - ], - "'TABLE-SELECT": [ - -1, - 176 - ], - "'TABLE-FILTER": [ - -1, - 176 - ], - "'USING": [ - -1, - 176 - ], - "'TABLE-ORDER": [ - -1, - 176 - ], - "'TABLE-EXTRACT": [ - -1, - 176 - ], - "'TABLE-UPDATE": [ - -1, - 176 - ], - "'TABLE-EXTEND": [ - -1, - 176 - ], - "'OF": [ - -1, - 176 - ], - "'LOAD-TABLE": [ - -1, - 176 - ], - "'SOURCECOLON": [ - -1, - 176 - ], - "'SANITIZE": [ - -1, - 176 - ] - }, - { - "$": [ - -1, - 178 - ], - "'NAME": [ - -1, - 178 - ], - "'COLON": [ - -1, - 178 - ], - "'END": [ - -1, - 178 - ], - "'COMMA": [ - -1, - 178 - ], - "'PARENNOSPACE": [ - -1, - 178 - ], - "'STRING": [ - -1, - 178 - ], - "'RPAREN": [ - -1, - 178 - ], - "'TYPE": [ - -1, - 178 - ], - "'DATA": [ - -1, - 178 - ], - "'TIMES": [ - -1, - 178 - ], - "'PARENSPACE": [ - -1, - 178 - ], - "'DOT": [ - -1, - 178 - ], - "'SPY": [ - -1, - 178 - ], - "'NEWTYPE": [ - -1, - 178 - ], - "'LBRACE": [ - -1, - 178 - ], - "'RBRACE": [ - -1, - 178 - ], - "'SEMI": [ - -1, - 178 - ], - "'SHADOW": [ - -1, - 178 - ], - "'LET": [ - -1, - 178 - ], - "'BLOCK": [ - -1, - 178 - ], - "'LETREC": [ - -1, - 178 - ], - "'TYPE-LET": [ - -1, - 178 - ], - "'FUN": [ - -1, - 178 - ], - "'LANGLE": [ - -1, - 178 - ], - "'LT": [ - -1, - 178 - ], - "'GT": [ - -1, - 178 - ], - "'PARENAFTERBRACE": [ - -1, - 178 - ], - "'WHERE": [ - -1, - 178 - ], - "'CHECK": [ - -1, - 178 - ], - "'EXAMPLES": [ - -1, - 178 - ], - "'CHECKCOLON": [ - -1, - 178 - ], - "'EXAMPLESCOLON": [ - -1, - 178 - ], - "'BECAUSE": [ - -1, - 178 - ], - "'BAR": [ - -1, - 178 - ], - "'SHARING": [ - -1, - 178 - ], - "'VAR": [ - -1, - 178 - ], - "'REC": [ - -1, - 178 - ], - "'WHEN": [ - -1, - 178 - ], - "'PLUS": [ - -1, - 178 - ], - "'DASH": [ - -1, - 178 - ], - "'SLASH": [ - -1, - 178 - ], - "'LEQ": [ - -1, - 178 - ], - "'GEQ": [ - -1, - 178 - ], - "'EQUALEQUAL": [ - -1, - 178 - ], - "'SPACESHIP": [ - -1, - 178 - ], - "'EQUALTILDE": [ - -1, - 178 - ], - "'NEQ": [ - -1, - 178 - ], - "'AND": [ - -1, - 178 - ], - "'OR": [ - -1, - 178 - ], - "'CARET": [ - -1, - 178 - ], - "'IS": [ - -1, - 178 - ], - "'ISEQUALEQUAL": [ - -1, - 178 - ], - "'ISEQUALTILDE": [ - -1, - 178 - ], - "'ISSPACESHIP": [ - -1, - 178 - ], - "'ISROUGHLY": [ - -1, - 178 - ], - "'ISNOT": [ - -1, - 178 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 178 - ], - "'ISNOTEQUALTILDE": [ - -1, - 178 - ], - "'ISNOTSPACESHIP": [ - -1, - 178 - ], - "'RAISES": [ - -1, - 178 - ], - "'RAISESOTHER": [ - -1, - 178 - ], - "'SATISFIES": [ - -1, - 178 - ], - "'SATISFIESNOT": [ - -1, - 178 - ], - "'RAISESSATISFIES": [ - -1, - 178 - ], - "'RAISESVIOLATES": [ - -1, - 178 - ], - "'RAISESNOT": [ - -1, - 178 - ], - "'DOTDOTDOT": [ - -1, - 178 - ], - "'NUMBER": [ - -1, - 178 - ], - "'RATIONAL": [ - -1, - 178 - ], - "'ROUGHRATIONAL": [ - -1, - 178 - ], - "'TRUE": [ - -1, - 178 - ], - "'FALSE": [ - -1, - 178 - ], - "'LAM": [ - -1, - 178 - ], - "'METHOD": [ - -1, - 178 - ], - "'LBRACK": [ - -1, - 178 - ], - "'RBRACK": [ - -1, - 178 - ], - "'TABLE": [ - -1, - 178 - ], - "'ROW": [ - -1, - 178 - ], - "'REACTOR": [ - -1, - 178 - ], - "'BANG": [ - -1, - 178 - ], - "'IF": [ - -1, - 178 - ], - "'ELSECOLON": [ - -1, - 178 - ], - "'ELSEIF": [ - -1, - 178 - ], - "'ASK": [ - -1, - 178 - ], - "'THENCOLON": [ - -1, - 178 - ], - "'CASES": [ - -1, - 178 - ], - "'FOR": [ - -1, - 178 - ], - "'TABLE-SELECT": [ - -1, - 178 - ], - "'TABLE-FILTER": [ - -1, - 178 - ], - "'USING": [ - -1, - 178 - ], - "'TABLE-ORDER": [ - -1, - 178 - ], - "'TABLE-EXTRACT": [ - -1, - 178 - ], - "'TABLE-UPDATE": [ - -1, - 178 - ], - "'TABLE-EXTEND": [ - -1, - 178 - ], - "'OF": [ - -1, - 178 - ], - "'LOAD-TABLE": [ - -1, - 178 - ], - "'SOURCECOLON": [ - -1, - 178 - ], - "'SANITIZE": [ - -1, - 178 - ] - }, - { - "$": [ - -1, - 180 - ], - "'NAME": [ - -1, - 180 - ], - "'COLON": [ - -1, - 180 - ], - "'END": [ - -1, - 180 - ], - "'COMMA": [ - -1, - 180 - ], - "'PARENNOSPACE": [ - -1, - 180 - ], - "'STRING": [ - -1, - 180 - ], - "'RPAREN": [ - -1, - 180 - ], - "'TYPE": [ - -1, - 180 - ], - "'DATA": [ - -1, - 180 - ], - "'TIMES": [ - -1, - 180 - ], - "'PARENSPACE": [ - -1, - 180 - ], - "'DOT": [ - -1, - 180 - ], - "'SPY": [ - -1, - 180 - ], - "'NEWTYPE": [ - -1, - 180 - ], - "'LBRACE": [ - -1, - 180 - ], - "'RBRACE": [ - -1, - 180 - ], - "'SEMI": [ - -1, - 180 - ], - "'SHADOW": [ - -1, - 180 - ], - "'LET": [ - -1, - 180 - ], - "'BLOCK": [ - -1, - 180 - ], - "'LETREC": [ - -1, - 180 - ], - "'TYPE-LET": [ - -1, - 180 - ], - "'FUN": [ - -1, - 180 - ], - "'LANGLE": [ - -1, - 180 - ], - "'LT": [ - -1, - 180 - ], - "'GT": [ - -1, - 180 - ], - "'PARENAFTERBRACE": [ - -1, - 180 - ], - "'WHERE": [ - -1, - 180 - ], - "'CHECK": [ - -1, - 180 - ], - "'EXAMPLES": [ - -1, - 180 - ], - "'CHECKCOLON": [ - -1, - 180 - ], - "'EXAMPLESCOLON": [ - -1, - 180 - ], - "'BECAUSE": [ - -1, - 180 - ], - "'BAR": [ - -1, - 180 - ], - "'SHARING": [ - -1, - 180 - ], - "'VAR": [ - -1, - 180 - ], - "'REC": [ - -1, - 180 - ], - "'WHEN": [ - -1, - 180 - ], - "'PLUS": [ - -1, - 180 - ], - "'DASH": [ - -1, - 180 - ], - "'SLASH": [ - -1, - 180 - ], - "'LEQ": [ - -1, - 180 - ], - "'GEQ": [ - -1, - 180 - ], - "'EQUALEQUAL": [ - -1, - 180 - ], - "'SPACESHIP": [ - -1, - 180 - ], - "'EQUALTILDE": [ - -1, - 180 - ], - "'NEQ": [ - -1, - 180 - ], - "'AND": [ - -1, - 180 - ], - "'OR": [ - -1, - 180 - ], - "'CARET": [ - -1, - 180 - ], - "'IS": [ - -1, - 180 - ], - "'ISEQUALEQUAL": [ - -1, - 180 - ], - "'ISEQUALTILDE": [ - -1, - 180 - ], - "'ISSPACESHIP": [ - -1, - 180 - ], - "'ISROUGHLY": [ - -1, - 180 - ], - "'ISNOT": [ - -1, - 180 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 180 - ], - "'ISNOTEQUALTILDE": [ - -1, - 180 - ], - "'ISNOTSPACESHIP": [ - -1, - 180 - ], - "'RAISES": [ - -1, - 180 - ], - "'RAISESOTHER": [ - -1, - 180 - ], - "'SATISFIES": [ - -1, - 180 - ], - "'SATISFIESNOT": [ - -1, - 180 - ], - "'RAISESSATISFIES": [ - -1, - 180 - ], - "'RAISESVIOLATES": [ - -1, - 180 - ], - "'RAISESNOT": [ - -1, - 180 - ], - "'DOTDOTDOT": [ - -1, - 180 - ], - "'NUMBER": [ - -1, - 180 - ], - "'RATIONAL": [ - -1, - 180 - ], - "'ROUGHRATIONAL": [ - -1, - 180 - ], - "'TRUE": [ - -1, - 180 - ], - "'FALSE": [ - -1, - 180 - ], - "'LAM": [ - -1, - 180 - ], - "'METHOD": [ - -1, - 180 - ], - "'LBRACK": [ - -1, - 180 - ], - "'RBRACK": [ - -1, - 180 - ], - "'TABLE": [ - -1, - 180 - ], - "'ROW": [ - -1, - 180 - ], - "'REACTOR": [ - -1, - 180 - ], - "'BANG": [ - -1, - 180 - ], - "'IF": [ - -1, - 180 - ], - "'ELSECOLON": [ - -1, - 180 - ], - "'ELSEIF": [ - -1, - 180 - ], - "'ASK": [ - -1, - 180 - ], - "'THENCOLON": [ - -1, - 180 - ], - "'CASES": [ - -1, - 180 - ], - "'FOR": [ - -1, - 180 - ], - "'TABLE-SELECT": [ - -1, - 180 - ], - "'TABLE-FILTER": [ - -1, - 180 - ], - "'USING": [ - -1, - 180 - ], - "'TABLE-ORDER": [ - -1, - 180 - ], - "'TABLE-EXTRACT": [ - -1, - 180 - ], - "'TABLE-UPDATE": [ - -1, - 180 - ], - "'TABLE-EXTEND": [ - -1, - 180 - ], - "'OF": [ - -1, - 180 - ], - "'LOAD-TABLE": [ - -1, - 180 - ], - "'SOURCECOLON": [ - -1, - 180 - ], - "'SANITIZE": [ - -1, - 180 - ] - }, - { - "$": [ - -1, - 182 - ], - "'NAME": [ - -1, - 182 - ], - "'COLON": [ - -1, - 182 - ], - "'END": [ - -1, - 182 - ], - "'COMMA": [ - -1, - 182 - ], - "'PARENNOSPACE": [ - -1, - 182 - ], - "'STRING": [ - -1, - 182 - ], - "'RPAREN": [ - -1, - 182 - ], - "'TYPE": [ - -1, - 182 - ], - "'DATA": [ - -1, - 182 - ], - "'TIMES": [ - -1, - 182 - ], - "'PARENSPACE": [ - -1, - 182 - ], - "'DOT": [ - -1, - 182 - ], - "'SPY": [ - -1, - 182 - ], - "'NEWTYPE": [ - -1, - 182 - ], - "'LBRACE": [ - -1, - 182 - ], - "'RBRACE": [ - -1, - 182 - ], - "'SEMI": [ - -1, - 182 - ], - "'SHADOW": [ - -1, - 182 - ], - "'LET": [ - -1, - 182 - ], - "'BLOCK": [ - -1, - 182 - ], - "'LETREC": [ - -1, - 182 - ], - "'TYPE-LET": [ - -1, - 182 - ], - "'FUN": [ - -1, - 182 - ], - "'LANGLE": [ - -1, - 182 - ], - "'LT": [ - -1, - 182 - ], - "'GT": [ - -1, - 182 - ], - "'PARENAFTERBRACE": [ - -1, - 182 - ], - "'WHERE": [ - -1, - 182 - ], - "'CHECK": [ - -1, - 182 - ], - "'EXAMPLES": [ - -1, - 182 - ], - "'CHECKCOLON": [ - -1, - 182 - ], - "'EXAMPLESCOLON": [ - -1, - 182 - ], - "'BECAUSE": [ - -1, - 182 - ], - "'BAR": [ - -1, - 182 - ], - "'SHARING": [ - -1, - 182 - ], - "'VAR": [ - -1, - 182 - ], - "'REC": [ - -1, - 182 - ], - "'WHEN": [ - -1, - 182 - ], - "'PLUS": [ - -1, - 182 - ], - "'DASH": [ - -1, - 182 - ], - "'SLASH": [ - -1, - 182 - ], - "'LEQ": [ - -1, - 182 - ], - "'GEQ": [ - -1, - 182 - ], - "'EQUALEQUAL": [ - -1, - 182 - ], - "'SPACESHIP": [ - -1, - 182 - ], - "'EQUALTILDE": [ - -1, - 182 - ], - "'NEQ": [ - -1, - 182 - ], - "'AND": [ - -1, - 182 - ], - "'OR": [ - -1, - 182 - ], - "'CARET": [ - -1, - 182 - ], - "'IS": [ - -1, - 182 - ], - "'ISEQUALEQUAL": [ - -1, - 182 - ], - "'ISEQUALTILDE": [ - -1, - 182 - ], - "'ISSPACESHIP": [ - -1, - 182 - ], - "'ISROUGHLY": [ - -1, - 182 - ], - "'ISNOT": [ - -1, - 182 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 182 - ], - "'ISNOTEQUALTILDE": [ - -1, - 182 - ], - "'ISNOTSPACESHIP": [ - -1, - 182 - ], - "'RAISES": [ - -1, - 182 - ], - "'RAISESOTHER": [ - -1, - 182 - ], - "'SATISFIES": [ - -1, - 182 - ], - "'SATISFIESNOT": [ - -1, - 182 - ], - "'RAISESSATISFIES": [ - -1, - 182 - ], - "'RAISESVIOLATES": [ - -1, - 182 - ], - "'RAISESNOT": [ - -1, - 182 - ], - "'DOTDOTDOT": [ - -1, - 182 - ], - "'NUMBER": [ - -1, - 182 - ], - "'RATIONAL": [ - -1, - 182 - ], - "'ROUGHRATIONAL": [ - -1, - 182 - ], - "'TRUE": [ - -1, - 182 - ], - "'FALSE": [ - -1, - 182 - ], - "'LAM": [ - -1, - 182 - ], - "'METHOD": [ - -1, - 182 - ], - "'LBRACK": [ - -1, - 182 - ], - "'RBRACK": [ - -1, - 182 - ], - "'TABLE": [ - -1, - 182 - ], - "'ROW": [ - -1, - 182 - ], - "'REACTOR": [ - -1, - 182 - ], - "'BANG": [ - -1, - 182 - ], - "'IF": [ - -1, - 182 - ], - "'ELSECOLON": [ - -1, - 182 - ], - "'ELSEIF": [ - -1, - 182 - ], - "'ASK": [ - -1, - 182 - ], - "'THENCOLON": [ - -1, - 182 - ], - "'CASES": [ - -1, - 182 - ], - "'FOR": [ - -1, - 182 - ], - "'TABLE-SELECT": [ - -1, - 182 - ], - "'TABLE-FILTER": [ - -1, - 182 - ], - "'USING": [ - -1, - 182 - ], - "'TABLE-ORDER": [ - -1, - 182 - ], - "'TABLE-EXTRACT": [ - -1, - 182 - ], - "'TABLE-UPDATE": [ - -1, - 182 - ], - "'TABLE-EXTEND": [ - -1, - 182 - ], - "'OF": [ - -1, - 182 - ], - "'LOAD-TABLE": [ - -1, - 182 - ], - "'SOURCECOLON": [ - -1, - 182 - ], - "'SANITIZE": [ - -1, - 182 - ] - }, - { - "$": [ - -1, - 184 - ], - "'NAME": [ - -1, - 184 - ], - "'COLON": [ - -1, - 184 - ], - "'END": [ - -1, - 184 - ], - "'COMMA": [ - -1, - 184 - ], - "'PARENNOSPACE": [ - -1, - 184 - ], - "'STRING": [ - -1, - 184 - ], - "'RPAREN": [ - -1, - 184 - ], - "'TYPE": [ - -1, - 184 - ], - "'DATA": [ - -1, - 184 - ], - "'TIMES": [ - -1, - 184 - ], - "'PARENSPACE": [ - -1, - 184 - ], - "'DOT": [ - -1, - 184 - ], - "'SPY": [ - -1, - 184 - ], - "'NEWTYPE": [ - -1, - 184 - ], - "'LBRACE": [ - -1, - 184 - ], - "'RBRACE": [ - -1, - 184 - ], - "'SEMI": [ - -1, - 184 - ], - "'SHADOW": [ - -1, - 184 - ], - "'LET": [ - -1, - 184 - ], - "'BLOCK": [ - -1, - 184 - ], - "'LETREC": [ - -1, - 184 - ], - "'TYPE-LET": [ - -1, - 184 - ], - "'FUN": [ - -1, - 184 - ], - "'LANGLE": [ - -1, - 184 - ], - "'LT": [ - -1, - 184 - ], - "'GT": [ - -1, - 184 - ], - "'PARENAFTERBRACE": [ - -1, - 184 - ], - "'WHERE": [ - -1, - 184 - ], - "'CHECK": [ - -1, - 184 - ], - "'EXAMPLES": [ - -1, - 184 - ], - "'CHECKCOLON": [ - -1, - 184 - ], - "'EXAMPLESCOLON": [ - -1, - 184 - ], - "'BECAUSE": [ - -1, - 184 - ], - "'BAR": [ - -1, - 184 - ], - "'SHARING": [ - -1, - 184 - ], - "'VAR": [ - -1, - 184 - ], - "'REC": [ - -1, - 184 - ], - "'WHEN": [ - -1, - 184 - ], - "'PLUS": [ - -1, - 184 - ], - "'DASH": [ - -1, - 184 - ], - "'SLASH": [ - -1, - 184 - ], - "'LEQ": [ - -1, - 184 - ], - "'GEQ": [ - -1, - 184 - ], - "'EQUALEQUAL": [ - -1, - 184 - ], - "'SPACESHIP": [ - -1, - 184 - ], - "'EQUALTILDE": [ - -1, - 184 - ], - "'NEQ": [ - -1, - 184 - ], - "'AND": [ - -1, - 184 - ], - "'OR": [ - -1, - 184 - ], - "'CARET": [ - -1, - 184 - ], - "'IS": [ - -1, - 184 - ], - "'ISEQUALEQUAL": [ - -1, - 184 - ], - "'ISEQUALTILDE": [ - -1, - 184 - ], - "'ISSPACESHIP": [ - -1, - 184 - ], - "'ISROUGHLY": [ - -1, - 184 - ], - "'ISNOT": [ - -1, - 184 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 184 - ], - "'ISNOTEQUALTILDE": [ - -1, - 184 - ], - "'ISNOTSPACESHIP": [ - -1, - 184 - ], - "'RAISES": [ - -1, - 184 - ], - "'RAISESOTHER": [ - -1, - 184 - ], - "'SATISFIES": [ - -1, - 184 - ], - "'SATISFIESNOT": [ - -1, - 184 - ], - "'RAISESSATISFIES": [ - -1, - 184 - ], - "'RAISESVIOLATES": [ - -1, - 184 - ], - "'RAISESNOT": [ - -1, - 184 - ], - "'DOTDOTDOT": [ - -1, - 184 - ], - "'NUMBER": [ - -1, - 184 - ], - "'RATIONAL": [ - -1, - 184 - ], - "'ROUGHRATIONAL": [ - -1, - 184 - ], - "'TRUE": [ - -1, - 184 - ], - "'FALSE": [ - -1, - 184 - ], - "'LAM": [ - -1, - 184 - ], - "'METHOD": [ - -1, - 184 - ], - "'LBRACK": [ - -1, - 184 - ], - "'RBRACK": [ - -1, - 184 - ], - "'TABLE": [ - -1, - 184 - ], - "'ROW": [ - -1, - 184 - ], - "'REACTOR": [ - -1, - 184 - ], - "'BANG": [ - -1, - 184 - ], - "'IF": [ - -1, - 184 - ], - "'ELSECOLON": [ - -1, - 184 - ], - "'ELSEIF": [ - -1, - 184 - ], - "'ASK": [ - -1, - 184 - ], - "'THENCOLON": [ - -1, - 184 - ], - "'CASES": [ - -1, - 184 - ], - "'FOR": [ - -1, - 184 - ], - "'TABLE-SELECT": [ - -1, - 184 - ], - "'TABLE-FILTER": [ - -1, - 184 - ], - "'USING": [ - -1, - 184 - ], - "'TABLE-ORDER": [ - -1, - 184 - ], - "'TABLE-EXTRACT": [ - -1, - 184 - ], - "'TABLE-UPDATE": [ - -1, - 184 - ], - "'TABLE-EXTEND": [ - -1, - 184 - ], - "'OF": [ - -1, - 184 - ], - "'LOAD-TABLE": [ - -1, - 184 - ], - "'SOURCECOLON": [ - -1, - 184 - ], - "'SANITIZE": [ - -1, - 184 - ] - }, - { - "$": [ - -1, - 186 - ], - "'NAME": [ - -1, - 186 - ], - "'COLON": [ - -1, - 186 - ], - "'END": [ - -1, - 186 - ], - "'COMMA": [ - -1, - 186 - ], - "'PARENNOSPACE": [ - -1, - 186 - ], - "'STRING": [ - -1, - 186 - ], - "'RPAREN": [ - -1, - 186 - ], - "'TYPE": [ - -1, - 186 - ], - "'DATA": [ - -1, - 186 - ], - "'TIMES": [ - -1, - 186 - ], - "'PARENSPACE": [ - -1, - 186 - ], - "'DOT": [ - -1, - 186 - ], - "'SPY": [ - -1, - 186 - ], - "'NEWTYPE": [ - -1, - 186 - ], - "'LBRACE": [ - -1, - 186 - ], - "'RBRACE": [ - -1, - 186 - ], - "'SEMI": [ - -1, - 186 - ], - "'SHADOW": [ - -1, - 186 - ], - "'LET": [ - -1, - 186 - ], - "'BLOCK": [ - -1, - 186 - ], - "'LETREC": [ - -1, - 186 - ], - "'TYPE-LET": [ - -1, - 186 - ], - "'FUN": [ - -1, - 186 - ], - "'LANGLE": [ - -1, - 186 - ], - "'LT": [ - -1, - 186 - ], - "'GT": [ - -1, - 186 - ], - "'PARENAFTERBRACE": [ - -1, - 186 - ], - "'WHERE": [ - -1, - 186 - ], - "'CHECK": [ - -1, - 186 - ], - "'EXAMPLES": [ - -1, - 186 - ], - "'CHECKCOLON": [ - -1, - 186 - ], - "'EXAMPLESCOLON": [ - -1, - 186 - ], - "'BECAUSE": [ - -1, - 186 - ], - "'BAR": [ - -1, - 186 - ], - "'SHARING": [ - -1, - 186 - ], - "'VAR": [ - -1, - 186 - ], - "'REC": [ - -1, - 186 - ], - "'WHEN": [ - -1, - 186 - ], - "'PLUS": [ - -1, - 186 - ], - "'DASH": [ - -1, - 186 - ], - "'SLASH": [ - -1, - 186 - ], - "'LEQ": [ - -1, - 186 - ], - "'GEQ": [ - -1, - 186 - ], - "'EQUALEQUAL": [ - -1, - 186 - ], - "'SPACESHIP": [ - -1, - 186 - ], - "'EQUALTILDE": [ - -1, - 186 - ], - "'NEQ": [ - -1, - 186 - ], - "'AND": [ - -1, - 186 - ], - "'OR": [ - -1, - 186 - ], - "'CARET": [ - -1, - 186 - ], - "'IS": [ - -1, - 186 - ], - "'ISEQUALEQUAL": [ - -1, - 186 - ], - "'ISEQUALTILDE": [ - -1, - 186 - ], - "'ISSPACESHIP": [ - -1, - 186 - ], - "'ISROUGHLY": [ - -1, - 186 - ], - "'ISNOT": [ - -1, - 186 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 186 - ], - "'ISNOTEQUALTILDE": [ - -1, - 186 - ], - "'ISNOTSPACESHIP": [ - -1, - 186 - ], - "'RAISES": [ - -1, - 186 - ], - "'RAISESOTHER": [ - -1, - 186 - ], - "'SATISFIES": [ - -1, - 186 - ], - "'SATISFIESNOT": [ - -1, - 186 - ], - "'RAISESSATISFIES": [ - -1, - 186 - ], - "'RAISESVIOLATES": [ - -1, - 186 - ], - "'RAISESNOT": [ - -1, - 186 - ], - "'DOTDOTDOT": [ - -1, - 186 - ], - "'NUMBER": [ - -1, - 186 - ], - "'RATIONAL": [ - -1, - 186 - ], - "'ROUGHRATIONAL": [ - -1, - 186 - ], - "'TRUE": [ - -1, - 186 - ], - "'FALSE": [ - -1, - 186 - ], - "'LAM": [ - -1, - 186 - ], - "'METHOD": [ - -1, - 186 - ], - "'LBRACK": [ - -1, - 186 - ], - "'RBRACK": [ - -1, - 186 - ], - "'TABLE": [ - -1, - 186 - ], - "'ROW": [ - -1, - 186 - ], - "'REACTOR": [ - -1, - 186 - ], - "'BANG": [ - -1, - 186 - ], - "'IF": [ - -1, - 186 - ], - "'ELSECOLON": [ - -1, - 186 - ], - "'ELSEIF": [ - -1, - 186 - ], - "'ASK": [ - -1, - 186 - ], - "'THENCOLON": [ - -1, - 186 - ], - "'CASES": [ - -1, - 186 - ], - "'FOR": [ - -1, - 186 - ], - "'TABLE-SELECT": [ - -1, - 186 - ], - "'TABLE-FILTER": [ - -1, - 186 - ], - "'USING": [ - -1, - 186 - ], - "'TABLE-ORDER": [ - -1, - 186 - ], - "'TABLE-EXTRACT": [ - -1, - 186 - ], - "'TABLE-UPDATE": [ - -1, - 186 - ], - "'TABLE-EXTEND": [ - -1, - 186 - ], - "'OF": [ - -1, - 186 - ], - "'LOAD-TABLE": [ - -1, - 186 - ], - "'SOURCECOLON": [ - -1, - 186 - ], - "'SANITIZE": [ - -1, - 186 - ] - }, - { - "ty-params": [ - 166 - ], - "fun-header": [ - 208 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "ty-params": [ - 166 - ], - "fun-header": [ - 209 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "construct-modifier": [ - 210 - ], - "'LAZY": [ - 211 - ], - "'NAME": [ - -1, - 188 - ], - "'STRING": [ - -1, - 188 - ], - "'PARENSPACE": [ - -1, - 188 - ], - "'LBRACE": [ - -1, - 188 - ], - "'LET": [ - -1, - 188 - ], - "'BLOCK": [ - -1, - 188 - ], - "'LETREC": [ - -1, - 188 - ], - "'TYPE-LET": [ - -1, - 188 - ], - "'PARENAFTERBRACE": [ - -1, - 188 - ], - "'DOTDOTDOT": [ - -1, - 188 - ], - "'NUMBER": [ - -1, - 188 - ], - "'RATIONAL": [ - -1, - 188 - ], - "'ROUGHRATIONAL": [ - -1, - 188 - ], - "'TRUE": [ - -1, - 188 - ], - "'FALSE": [ - -1, - 188 - ], - "'LAM": [ - -1, - 188 - ], - "'METHOD": [ - -1, - 188 - ], - "'LBRACK": [ - -1, - 188 - ], - "'TABLE": [ - -1, - 188 - ], - "'REACTOR": [ - -1, - 188 - ], - "'IF": [ - -1, - 188 - ], - "'ASK": [ - -1, - 188 - ], - "'CASES": [ - -1, - 188 - ], - "'FOR": [ - -1, - 188 - ], - "'TABLE-SELECT": [ - -1, - 188 - ], - "'TABLE-FILTER": [ - -1, - 188 - ], - "'TABLE-ORDER": [ - -1, - 188 - ], - "'TABLE-EXTRACT": [ - -1, - 188 - ], - "'TABLE-UPDATE": [ - -1, - 188 - ], - "'TABLE-EXTEND": [ - -1, - 188 - ], - "'LOAD-TABLE": [ - -1, - 188 - ] - }, - { - "table-headers": [ - 212 - ], - "table-headers_I0?": [ - 213 - ], - "table-headers_I0": [ - 214 - ], - "table-headers_I0_I0*": [ - 215 - ], - "'NAME": [ - -1, - 190 - ], - "'END": [ - -1, - 192, - 194 - ], - "'ROW": [ - -1, - 192, - 194 - ] - }, - { - "'COLON": [ - 216 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 217 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COLON": [ - 218 - ], - "'BLOCK": [ - 219 - ], - "if-pipe-expr_I1": [ - 220 - ] - }, - { - "'PARENNOSPACE": [ - 221 - ], - "'PARENSPACE": [ - 222 - ], - "cases-expr_I1": [ - 223 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 224 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 225 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 226 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 227 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 228 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 229 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 230 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COLON": [ - 231 - ] - }, - { - "$": [ - -1, - 196 - ], - "'NAME": [ - -1, - 196 - ], - "'INCLUDE": [ - -1, - 196 - ], - "'IMPORT": [ - -1, - 196 - ], - "'STRING": [ - -1, - 196 - ], - "'TYPE": [ - -1, - 196 - ], - "'DATA": [ - -1, - 196 - ], - "'PROVIDE": [ - -1, - 196 - ], - "'PROVIDE-TYPES": [ - -1, - 196 - ], - "'PROVIDECOLON": [ - -1, - 196 - ], - "'PARENSPACE": [ - -1, - 196 - ], - "'SPY": [ - -1, - 196 - ], - "'NEWTYPE": [ - -1, - 196 - ], - "'LBRACE": [ - -1, - 196 - ], - "'SHADOW": [ - -1, - 196 - ], - "'LET": [ - -1, - 196 - ], - "'BLOCK": [ - -1, - 196 - ], - "'LETREC": [ - -1, - 196 - ], - "'TYPE-LET": [ - -1, - 196 - ], - "'FUN": [ - -1, - 196 - ], - "'PARENAFTERBRACE": [ - -1, - 196 - ], - "'CHECK": [ - -1, - 196 - ], - "'EXAMPLES": [ - -1, - 196 - ], - "'CHECKCOLON": [ - -1, - 196 - ], - "'EXAMPLESCOLON": [ - -1, - 196 - ], - "'VAR": [ - -1, - 196 - ], - "'REC": [ - -1, - 196 - ], - "'WHEN": [ - -1, - 196 - ], - "'DOTDOTDOT": [ - -1, - 196 - ], - "'NUMBER": [ - -1, - 196 - ], - "'RATIONAL": [ - -1, - 196 - ], - "'ROUGHRATIONAL": [ - -1, - 196 - ], - "'TRUE": [ - -1, - 196 - ], - "'FALSE": [ - -1, - 196 - ], - "'LAM": [ - -1, - 196 - ], - "'METHOD": [ - -1, - 196 - ], - "'LBRACK": [ - -1, - 196 - ], - "'TABLE": [ - -1, - 196 - ], - "'REACTOR": [ - -1, - 196 - ], - "'IF": [ - -1, - 196 - ], - "'ASK": [ - -1, - 196 - ], - "'CASES": [ - -1, - 196 - ], - "'FOR": [ - -1, - 196 - ], - "'TABLE-SELECT": [ - -1, - 196 - ], - "'TABLE-FILTER": [ - -1, - 196 - ], - "'TABLE-ORDER": [ - -1, - 196 - ], - "'TABLE-EXTRACT": [ - -1, - 196 - ], - "'TABLE-UPDATE": [ - -1, - 196 - ], - "'TABLE-EXTEND": [ - -1, - 196 - ], - "'LOAD-TABLE": [ - -1, - 196 - ] - }, - { - "$": [ - -1, - 198 - ], - "'NAME": [ - -1, - 198 - ], - "'INCLUDE": [ - -1, - 198 - ], - "'IMPORT": [ - -1, - 198 - ], - "'STRING": [ - -1, - 198 - ], - "'TYPE": [ - -1, - 198 - ], - "'DATA": [ - -1, - 198 - ], - "'PROVIDE": [ - -1, - 198 - ], - "'PROVIDE-TYPES": [ - -1, - 198 - ], - "'PROVIDECOLON": [ - -1, - 198 - ], - "'PARENSPACE": [ - -1, - 198 - ], - "'SPY": [ - -1, - 198 - ], - "'NEWTYPE": [ - -1, - 198 - ], - "'LBRACE": [ - -1, - 198 - ], - "'SHADOW": [ - -1, - 198 - ], - "'LET": [ - -1, - 198 - ], - "'BLOCK": [ - -1, - 198 - ], - "'LETREC": [ - -1, - 198 - ], - "'TYPE-LET": [ - -1, - 198 - ], - "'FUN": [ - -1, - 198 - ], - "'PARENAFTERBRACE": [ - -1, - 198 - ], - "'CHECK": [ - -1, - 198 - ], - "'EXAMPLES": [ - -1, - 198 - ], - "'CHECKCOLON": [ - -1, - 198 - ], - "'EXAMPLESCOLON": [ - -1, - 198 - ], - "'VAR": [ - -1, - 198 - ], - "'REC": [ - -1, - 198 - ], - "'WHEN": [ - -1, - 198 - ], - "'DOTDOTDOT": [ - -1, - 198 - ], - "'NUMBER": [ - -1, - 198 - ], - "'RATIONAL": [ - -1, - 198 - ], - "'ROUGHRATIONAL": [ - -1, - 198 - ], - "'TRUE": [ - -1, - 198 - ], - "'FALSE": [ - -1, - 198 - ], - "'LAM": [ - -1, - 198 - ], - "'METHOD": [ - -1, - 198 - ], - "'LBRACK": [ - -1, - 198 - ], - "'TABLE": [ - -1, - 198 - ], - "'REACTOR": [ - -1, - 198 - ], - "'IF": [ - -1, - 198 - ], - "'ASK": [ - -1, - 198 - ], - "'CASES": [ - -1, - 198 - ], - "'FOR": [ - -1, - 198 - ], - "'TABLE-SELECT": [ - -1, - 198 - ], - "'TABLE-FILTER": [ - -1, - 198 - ], - "'TABLE-ORDER": [ - -1, - 198 - ], - "'TABLE-EXTRACT": [ - -1, - 198 - ], - "'TABLE-UPDATE": [ - -1, - 198 - ], - "'TABLE-EXTEND": [ - -1, - 198 - ], - "'LOAD-TABLE": [ - -1, - 198 - ] - }, - { - "$": [ - -1, - 200 - ], - "'NAME": [ - -1, - 200 - ], - "'INCLUDE": [ - -1, - 200 - ], - "'IMPORT": [ - -1, - 200 - ], - "'STRING": [ - -1, - 200 - ], - "'TYPE": [ - -1, - 200 - ], - "'DATA": [ - -1, - 200 - ], - "'PROVIDE": [ - -1, - 200 - ], - "'PROVIDE-TYPES": [ - -1, - 200 - ], - "'PROVIDECOLON": [ - -1, - 200 - ], - "'PARENSPACE": [ - -1, - 200 - ], - "'SPY": [ - -1, - 200 - ], - "'NEWTYPE": [ - -1, - 200 - ], - "'LBRACE": [ - -1, - 200 - ], - "'SHADOW": [ - -1, - 200 - ], - "'LET": [ - -1, - 200 - ], - "'BLOCK": [ - -1, - 200 - ], - "'LETREC": [ - -1, - 200 - ], - "'TYPE-LET": [ - -1, - 200 - ], - "'FUN": [ - -1, - 200 - ], - "'PARENAFTERBRACE": [ - -1, - 200 - ], - "'CHECK": [ - -1, - 200 - ], - "'EXAMPLES": [ - -1, - 200 - ], - "'CHECKCOLON": [ - -1, - 200 - ], - "'EXAMPLESCOLON": [ - -1, - 200 - ], - "'VAR": [ - -1, - 200 - ], - "'REC": [ - -1, - 200 - ], - "'WHEN": [ - -1, - 200 - ], - "'DOTDOTDOT": [ - -1, - 200 - ], - "'NUMBER": [ - -1, - 200 - ], - "'RATIONAL": [ - -1, - 200 - ], - "'ROUGHRATIONAL": [ - -1, - 200 - ], - "'TRUE": [ - -1, - 200 - ], - "'FALSE": [ - -1, - 200 - ], - "'LAM": [ - -1, - 200 - ], - "'METHOD": [ - -1, - 200 - ], - "'LBRACK": [ - -1, - 200 - ], - "'TABLE": [ - -1, - 200 - ], - "'REACTOR": [ - -1, - 200 - ], - "'IF": [ - -1, - 200 - ], - "'ASK": [ - -1, - 200 - ], - "'CASES": [ - -1, - 200 - ], - "'FOR": [ - -1, - 200 - ], - "'TABLE-SELECT": [ - -1, - 200 - ], - "'TABLE-FILTER": [ - -1, - 200 - ], - "'TABLE-ORDER": [ - -1, - 200 - ], - "'TABLE-EXTRACT": [ - -1, - 200 - ], - "'TABLE-UPDATE": [ - -1, - 200 - ], - "'TABLE-EXTEND": [ - -1, - 200 - ], - "'LOAD-TABLE": [ - -1, - 200 - ] - }, - { - "'NAME": [ - 131 - ], - "import-source": [ - 232 - ], - "'FROM": [ - 233 - ], - "import-special": [ - 133 - ], - "import-name": [ - 134 - ] - }, - { - "'NAME": [ - 234 - ], - "import-source": [ - 235 - ], - "comma-names": [ - 236 - ], - "import-special": [ - 133 - ], - "import-name": [ - 134 - ] - }, - { - "$": [ - -1, - 202 - ], - "'NAME": [ - -1, - 202 - ], - "'INCLUDE": [ - -1, - 202 - ], - "'IMPORT": [ - -1, - 202 - ], - "'STRING": [ - -1, - 202 - ], - "'TYPE": [ - -1, - 202 - ], - "'DATA": [ - -1, - 202 - ], - "'PROVIDE": [ - -1, - 202 - ], - "'PROVIDE-TYPES": [ - -1, - 202 - ], - "'PROVIDECOLON": [ - -1, - 202 - ], - "'PARENSPACE": [ - -1, - 202 - ], - "'SPY": [ - -1, - 202 - ], - "'NEWTYPE": [ - -1, - 202 - ], - "'LBRACE": [ - -1, - 202 - ], - "'SHADOW": [ - -1, - 202 - ], - "'LET": [ - -1, - 202 - ], - "'BLOCK": [ - -1, - 202 - ], - "'LETREC": [ - -1, - 202 - ], - "'TYPE-LET": [ - -1, - 202 - ], - "'FUN": [ - -1, - 202 - ], - "'PARENAFTERBRACE": [ - -1, - 202 - ], - "'CHECK": [ - -1, - 202 - ], - "'EXAMPLES": [ - -1, - 202 - ], - "'CHECKCOLON": [ - -1, - 202 - ], - "'EXAMPLESCOLON": [ - -1, - 202 - ], - "'VAR": [ - -1, - 202 - ], - "'REC": [ - -1, - 202 - ], - "'WHEN": [ - -1, - 202 - ], - "'DOTDOTDOT": [ - -1, - 202 - ], - "'NUMBER": [ - -1, - 202 - ], - "'RATIONAL": [ - -1, - 202 - ], - "'ROUGHRATIONAL": [ - -1, - 202 - ], - "'TRUE": [ - -1, - 202 - ], - "'FALSE": [ - -1, - 202 - ], - "'LAM": [ - -1, - 202 - ], - "'METHOD": [ - -1, - 202 - ], - "'LBRACK": [ - -1, - 202 - ], - "'TABLE": [ - -1, - 202 - ], - "'REACTOR": [ - -1, - 202 - ], - "'IF": [ - -1, - 202 - ], - "'ASK": [ - -1, - 202 - ], - "'CASES": [ - -1, - 202 - ], - "'FOR": [ - -1, - 202 - ], - "'TABLE-SELECT": [ - -1, - 202 - ], - "'TABLE-FILTER": [ - -1, - 202 - ], - "'TABLE-ORDER": [ - -1, - 202 - ], - "'TABLE-EXTRACT": [ - -1, - 202 - ], - "'TABLE-UPDATE": [ - -1, - 202 - ], - "'TABLE-EXTEND": [ - -1, - 202 - ], - "'LOAD-TABLE": [ - -1, - 202 - ] - }, - { - "$": [ - -1, - 204 - ], - "'NAME": [ - -1, - 204 - ], - "'INCLUDE": [ - -1, - 204 - ], - "'IMPORT": [ - -1, - 204 - ], - "'STRING": [ - -1, - 204 - ], - "'TYPE": [ - -1, - 204 - ], - "'DATA": [ - -1, - 204 - ], - "'PROVIDE": [ - -1, - 204 - ], - "'PROVIDE-TYPES": [ - -1, - 204 - ], - "'PROVIDECOLON": [ - -1, - 204 - ], - "'PARENSPACE": [ - -1, - 204 - ], - "'SPY": [ - -1, - 204 - ], - "'NEWTYPE": [ - -1, - 204 - ], - "'LBRACE": [ - -1, - 204 - ], - "'SHADOW": [ - -1, - 204 - ], - "'LET": [ - -1, - 204 - ], - "'BLOCK": [ - -1, - 204 - ], - "'LETREC": [ - -1, - 204 - ], - "'TYPE-LET": [ - -1, - 204 - ], - "'FUN": [ - -1, - 204 - ], - "'PARENAFTERBRACE": [ - -1, - 204 - ], - "'CHECK": [ - -1, - 204 - ], - "'EXAMPLES": [ - -1, - 204 - ], - "'CHECKCOLON": [ - -1, - 204 - ], - "'EXAMPLESCOLON": [ - -1, - 204 - ], - "'VAR": [ - -1, - 204 - ], - "'REC": [ - -1, - 204 - ], - "'WHEN": [ - -1, - 204 - ], - "'DOTDOTDOT": [ - -1, - 204 - ], - "'NUMBER": [ - -1, - 204 - ], - "'RATIONAL": [ - -1, - 204 - ], - "'ROUGHRATIONAL": [ - -1, - 204 - ], - "'TRUE": [ - -1, - 204 - ], - "'FALSE": [ - -1, - 204 - ], - "'LAM": [ - -1, - 204 - ], - "'METHOD": [ - -1, - 204 - ], - "'LBRACK": [ - -1, - 204 - ], - "'TABLE": [ - -1, - 204 - ], - "'REACTOR": [ - -1, - 204 - ], - "'IF": [ - -1, - 204 - ], - "'ASK": [ - -1, - 204 - ], - "'CASES": [ - -1, - 204 - ], - "'FOR": [ - -1, - 204 - ], - "'TABLE-SELECT": [ - -1, - 204 - ], - "'TABLE-FILTER": [ - -1, - 204 - ], - "'TABLE-ORDER": [ - -1, - 204 - ], - "'TABLE-EXTRACT": [ - -1, - 204 - ], - "'TABLE-UPDATE": [ - -1, - 204 - ], - "'TABLE-EXTEND": [ - -1, - 204 - ], - "'LOAD-TABLE": [ - -1, - 204 - ] - }, - { - "$": [ - -1, - 206 - ], - "'NAME": [ - -1, - 206 - ], - "'INCLUDE": [ - -1, - 206 - ], - "'IMPORT": [ - -1, - 206 - ], - "'STRING": [ - -1, - 206 - ], - "'TYPE": [ - -1, - 206 - ], - "'DATA": [ - -1, - 206 - ], - "'PROVIDE": [ - -1, - 206 - ], - "'PROVIDE-TYPES": [ - -1, - 206 - ], - "'PROVIDECOLON": [ - -1, - 206 - ], - "'PARENSPACE": [ - -1, - 206 - ], - "'SPY": [ - -1, - 206 - ], - "'NEWTYPE": [ - -1, - 206 - ], - "'LBRACE": [ - -1, - 206 - ], - "'SHADOW": [ - -1, - 206 - ], - "'LET": [ - -1, - 206 - ], - "'BLOCK": [ - -1, - 206 - ], - "'LETREC": [ - -1, - 206 - ], - "'TYPE-LET": [ - -1, - 206 - ], - "'FUN": [ - -1, - 206 - ], - "'PARENAFTERBRACE": [ - -1, - 206 - ], - "'CHECK": [ - -1, - 206 - ], - "'EXAMPLES": [ - -1, - 206 - ], - "'CHECKCOLON": [ - -1, - 206 - ], - "'EXAMPLESCOLON": [ - -1, - 206 - ], - "'VAR": [ - -1, - 206 - ], - "'REC": [ - -1, - 206 - ], - "'WHEN": [ - -1, - 206 - ], - "'DOTDOTDOT": [ - -1, - 206 - ], - "'NUMBER": [ - -1, - 206 - ], - "'RATIONAL": [ - -1, - 206 - ], - "'ROUGHRATIONAL": [ - -1, - 206 - ], - "'TRUE": [ - -1, - 206 - ], - "'FALSE": [ - -1, - 206 - ], - "'LAM": [ - -1, - 206 - ], - "'METHOD": [ - -1, - 206 - ], - "'LBRACK": [ - -1, - 206 - ], - "'TABLE": [ - -1, - 206 - ], - "'REACTOR": [ - -1, - 206 - ], - "'IF": [ - -1, - 206 - ], - "'ASK": [ - -1, - 206 - ], - "'CASES": [ - -1, - 206 - ], - "'FOR": [ - -1, - 206 - ], - "'TABLE-SELECT": [ - -1, - 206 - ], - "'TABLE-FILTER": [ - -1, - 206 - ], - "'TABLE-ORDER": [ - -1, - 206 - ], - "'TABLE-EXTRACT": [ - -1, - 206 - ], - "'TABLE-UPDATE": [ - -1, - 206 - ], - "'TABLE-EXTEND": [ - -1, - 206 - ], - "'LOAD-TABLE": [ - -1, - 206 - ] - }, - { - "'NAME": [ - 11, - 22 - ], - "'FROM": [ - 237 - ], - "'STRING": [ - 12 - ], - "'TYPE": [ - 13 - ], - "'DATA": [ - 14 - ], - "stmt": [ - 238 - ], - "provide-vals-stmt_A1_I1": [ - 239 - ], - "'STAR": [ - 240 - ], - "'TIMES": [ - 241 - ], - "'PARENSPACE": [ - 16 - ], - "type-expr": [ - 18 - ], - "newtype-expr": [ - 19 - ], - "spy-stmt": [ - 20 - ], - "let-expr": [ - 21 - ], - "fun-expr": [ - 22 - ], - "data-expr": [ - 23 - ], - "when-expr": [ - 24 - ], - "var-expr": [ - 25 - ], - "rec-expr": [ - 26 - ], - "assign-expr": [ - 27 - ], - "check-test": [ - 28 - ], - "check-expr": [ - 29 - ], - "contract-stmt": [ - 30 - ], - "'SPY": [ - 31 - ], - "binop-expr": [ - 32 - ], - "id-expr": [ - 33 - ], - "'NEWTYPE": [ - 34 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 39 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'FUN": [ - 50 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "check-expr_A0_I0": [ - 52 - ], - "'CHECK": [ - 53 - ], - "'EXAMPLES": [ - 54 - ], - "check-expr_A1_I0": [ - 55 - ], - "'CHECKCOLON": [ - 56 - ], - "'EXAMPLESCOLON": [ - 57 - ], - "'VAR": [ - 58 - ], - "'REC": [ - 59 - ], - "'WHEN": [ - 60 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'STAR": [ - 242 - ], - "'TIMES": [ - 243 - ], - "record-ann": [ - 244 - ], - "provide-types-stmt_A1_I1": [ - 245 - ], - "'LBRACE": [ - 246 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 248 - ], - "'TYPE": [ - 249 - ], - "'DATA": [ - 250 - ], - "'MODULE": [ - 251 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "provide-block_A0_I1?": [ - 254 - ], - "provide-block_A0_I1": [ - 255 - ], - "provide-spec": [ - 256 - ], - "provide-name-spec": [ - 257 - ], - "provide-type-spec": [ - 258 - ], - "provide-data-spec": [ - 259 - ], - "provide-module-spec": [ - 260 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 210 - ] - }, - { - "'PARENNOSPACE": [ - 263 - ], - "$": [ - -1, - 212 - ], - "'NAME": [ - -1, - 212 - ], - "'INCLUDE": [ - -1, - 212 - ], - "'IMPORT": [ - -1, - 212 - ], - "'STRING": [ - -1, - 212 - ], - "'TYPE": [ - -1, - 212 - ], - "'DATA": [ - -1, - 212 - ], - "'PROVIDE": [ - -1, - 212 - ], - "'PROVIDE-TYPES": [ - -1, - 212 - ], - "'PROVIDECOLON": [ - -1, - 212 - ], - "'PARENSPACE": [ - -1, - 212 - ], - "'SPY": [ - -1, - 212 - ], - "'NEWTYPE": [ - -1, - 212 - ], - "'LBRACE": [ - -1, - 212 - ], - "'SHADOW": [ - -1, - 212 - ], - "'LET": [ - -1, - 212 - ], - "'BLOCK": [ - -1, - 212 - ], - "'LETREC": [ - -1, - 212 - ], - "'TYPE-LET": [ - -1, - 212 - ], - "'FUN": [ - -1, - 212 - ], - "'PARENAFTERBRACE": [ - -1, - 212 - ], - "'CHECK": [ - -1, - 212 - ], - "'EXAMPLES": [ - -1, - 212 - ], - "'CHECKCOLON": [ - -1, - 212 - ], - "'EXAMPLESCOLON": [ - -1, - 212 - ], - "'VAR": [ - -1, - 212 - ], - "'REC": [ - -1, - 212 - ], - "'WHEN": [ - -1, - 212 - ], - "'DOTDOTDOT": [ - -1, - 212 - ], - "'NUMBER": [ - -1, - 212 - ], - "'RATIONAL": [ - -1, - 212 - ], - "'ROUGHRATIONAL": [ - -1, - 212 - ], - "'TRUE": [ - -1, - 212 - ], - "'FALSE": [ - -1, - 212 - ], - "'LAM": [ - -1, - 212 - ], - "'METHOD": [ - -1, - 212 - ], - "'LBRACK": [ - -1, - 212 - ], - "'TABLE": [ - -1, - 212 - ], - "'REACTOR": [ - -1, - 212 - ], - "'IF": [ - -1, - 212 - ], - "'ASK": [ - -1, - 212 - ], - "'CASES": [ - -1, - 212 - ], - "'FOR": [ - -1, - 212 - ], - "'TABLE-SELECT": [ - -1, - 212 - ], - "'TABLE-FILTER": [ - -1, - 212 - ], - "'TABLE-ORDER": [ - -1, - 212 - ], - "'TABLE-EXTRACT": [ - -1, - 212 - ], - "'TABLE-UPDATE": [ - -1, - 212 - ], - "'TABLE-EXTEND": [ - -1, - 212 - ], - "'LOAD-TABLE": [ - -1, - 212 - ] - }, - { - "$": [ - -1, - 214 - ], - "'NAME": [ - -1, - 214 - ], - "'INCLUDE": [ - -1, - 214 - ], - "'IMPORT": [ - -1, - 214 - ], - "'STRING": [ - -1, - 214 - ], - "'TYPE": [ - -1, - 214 - ], - "'DATA": [ - -1, - 214 - ], - "'PROVIDE": [ - -1, - 214 - ], - "'PROVIDE-TYPES": [ - -1, - 214 - ], - "'PROVIDECOLON": [ - -1, - 214 - ], - "'PARENSPACE": [ - -1, - 214 - ], - "'SPY": [ - -1, - 214 - ], - "'NEWTYPE": [ - -1, - 214 - ], - "'LBRACE": [ - -1, - 214 - ], - "'SHADOW": [ - -1, - 214 - ], - "'LET": [ - -1, - 214 - ], - "'BLOCK": [ - -1, - 214 - ], - "'LETREC": [ - -1, - 214 - ], - "'TYPE-LET": [ - -1, - 214 - ], - "'FUN": [ - -1, - 214 - ], - "'PARENAFTERBRACE": [ - -1, - 214 - ], - "'CHECK": [ - -1, - 214 - ], - "'EXAMPLES": [ - -1, - 214 - ], - "'CHECKCOLON": [ - -1, - 214 - ], - "'EXAMPLESCOLON": [ - -1, - 214 - ], - "'VAR": [ - -1, - 214 - ], - "'REC": [ - -1, - 214 - ], - "'WHEN": [ - -1, - 214 - ], - "'DOTDOTDOT": [ - -1, - 214 - ], - "'NUMBER": [ - -1, - 214 - ], - "'RATIONAL": [ - -1, - 214 - ], - "'ROUGHRATIONAL": [ - -1, - 214 - ], - "'TRUE": [ - -1, - 214 - ], - "'FALSE": [ - -1, - 214 - ], - "'LAM": [ - -1, - 214 - ], - "'METHOD": [ - -1, - 214 - ], - "'LBRACK": [ - -1, - 214 - ], - "'TABLE": [ - -1, - 214 - ], - "'REACTOR": [ - -1, - 214 - ], - "'IF": [ - -1, - 214 - ], - "'ASK": [ - -1, - 214 - ], - "'CASES": [ - -1, - 214 - ], - "'FOR": [ - -1, - 214 - ], - "'TABLE-SELECT": [ - -1, - 214 - ], - "'TABLE-FILTER": [ - -1, - 214 - ], - "'TABLE-ORDER": [ - -1, - 214 - ], - "'TABLE-EXTRACT": [ - -1, - 214 - ], - "'TABLE-UPDATE": [ - -1, - 214 - ], - "'TABLE-EXTEND": [ - -1, - 214 - ], - "'LOAD-TABLE": [ - -1, - 214 - ] - }, - { - "$": [ - -1, - 216 - ], - "'NAME": [ - -1, - 216 - ], - "'INCLUDE": [ - -1, - 216 - ], - "'IMPORT": [ - -1, - 216 - ], - "'AS": [ - -1, - 216 - ], - "'STRING": [ - -1, - 216 - ], - "'TYPE": [ - -1, - 216 - ], - "'DATA": [ - -1, - 216 - ], - "'PROVIDE": [ - -1, - 216 - ], - "'PROVIDE-TYPES": [ - -1, - 216 - ], - "'PROVIDECOLON": [ - -1, - 216 - ], - "'PARENSPACE": [ - -1, - 216 - ], - "'SPY": [ - -1, - 216 - ], - "'NEWTYPE": [ - -1, - 216 - ], - "'LBRACE": [ - -1, - 216 - ], - "'SHADOW": [ - -1, - 216 - ], - "'LET": [ - -1, - 216 - ], - "'BLOCK": [ - -1, - 216 - ], - "'LETREC": [ - -1, - 216 - ], - "'TYPE-LET": [ - -1, - 216 - ], - "'FUN": [ - -1, - 216 - ], - "'PARENAFTERBRACE": [ - -1, - 216 - ], - "'CHECK": [ - -1, - 216 - ], - "'EXAMPLES": [ - -1, - 216 - ], - "'CHECKCOLON": [ - -1, - 216 - ], - "'EXAMPLESCOLON": [ - -1, - 216 - ], - "'VAR": [ - -1, - 216 - ], - "'REC": [ - -1, - 216 - ], - "'WHEN": [ - -1, - 216 - ], - "'DOTDOTDOT": [ - -1, - 216 - ], - "'NUMBER": [ - -1, - 216 - ], - "'RATIONAL": [ - -1, - 216 - ], - "'ROUGHRATIONAL": [ - -1, - 216 - ], - "'TRUE": [ - -1, - 216 - ], - "'FALSE": [ - -1, - 216 - ], - "'LAM": [ - -1, - 216 - ], - "'METHOD": [ - -1, - 216 - ], - "'LBRACK": [ - -1, - 216 - ], - "'TABLE": [ - -1, - 216 - ], - "'REACTOR": [ - -1, - 216 - ], - "'IF": [ - -1, - 216 - ], - "'ASK": [ - -1, - 216 - ], - "'CASES": [ - -1, - 216 - ], - "'FOR": [ - -1, - 216 - ], - "'TABLE-SELECT": [ - -1, - 216 - ], - "'TABLE-FILTER": [ - -1, - 216 - ], - "'TABLE-ORDER": [ - -1, - 216 - ], - "'TABLE-EXTRACT": [ - -1, - 216 - ], - "'TABLE-UPDATE": [ - -1, - 216 - ], - "'TABLE-EXTEND": [ - -1, - 216 - ], - "'LOAD-TABLE": [ - -1, - 216 - ] - }, - { - "$": [ - -1, - 218 - ], - "'NAME": [ - -1, - 218 - ], - "'INCLUDE": [ - -1, - 218 - ], - "'IMPORT": [ - -1, - 218 - ], - "'AS": [ - -1, - 218 - ], - "'STRING": [ - -1, - 218 - ], - "'TYPE": [ - -1, - 218 - ], - "'DATA": [ - -1, - 218 - ], - "'PROVIDE": [ - -1, - 218 - ], - "'PROVIDE-TYPES": [ - -1, - 218 - ], - "'PROVIDECOLON": [ - -1, - 218 - ], - "'PARENSPACE": [ - -1, - 218 - ], - "'SPY": [ - -1, - 218 - ], - "'NEWTYPE": [ - -1, - 218 - ], - "'LBRACE": [ - -1, - 218 - ], - "'SHADOW": [ - -1, - 218 - ], - "'LET": [ - -1, - 218 - ], - "'BLOCK": [ - -1, - 218 - ], - "'LETREC": [ - -1, - 218 - ], - "'TYPE-LET": [ - -1, - 218 - ], - "'FUN": [ - -1, - 218 - ], - "'PARENAFTERBRACE": [ - -1, - 218 - ], - "'CHECK": [ - -1, - 218 - ], - "'EXAMPLES": [ - -1, - 218 - ], - "'CHECKCOLON": [ - -1, - 218 - ], - "'EXAMPLESCOLON": [ - -1, - 218 - ], - "'VAR": [ - -1, - 218 - ], - "'REC": [ - -1, - 218 - ], - "'WHEN": [ - -1, - 218 - ], - "'DOTDOTDOT": [ - -1, - 218 - ], - "'NUMBER": [ - -1, - 218 - ], - "'RATIONAL": [ - -1, - 218 - ], - "'ROUGHRATIONAL": [ - -1, - 218 - ], - "'TRUE": [ - -1, - 218 - ], - "'FALSE": [ - -1, - 218 - ], - "'LAM": [ - -1, - 218 - ], - "'METHOD": [ - -1, - 218 - ], - "'LBRACK": [ - -1, - 218 - ], - "'TABLE": [ - -1, - 218 - ], - "'REACTOR": [ - -1, - 218 - ], - "'IF": [ - -1, - 218 - ], - "'ASK": [ - -1, - 218 - ], - "'CASES": [ - -1, - 218 - ], - "'FOR": [ - -1, - 218 - ], - "'TABLE-SELECT": [ - -1, - 218 - ], - "'TABLE-FILTER": [ - -1, - 218 - ], - "'TABLE-ORDER": [ - -1, - 218 - ], - "'TABLE-EXTRACT": [ - -1, - 218 - ], - "'TABLE-UPDATE": [ - -1, - 218 - ], - "'TABLE-EXTEND": [ - -1, - 218 - ], - "'LOAD-TABLE": [ - -1, - 218 - ] - }, - { - "ty-params": [ - 264 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'NAME": [ - -1, - 78, - 80 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'LBRACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ], - "'THINARROW": [ - -1, - 78, - 80 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 265 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "ty-params": [ - 266 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'EQUALS": [ - -1, - 78, - 80 - ] - }, - { - "ty-params": [ - 267 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'COLON": [ - -1, - 78, - 80 - ] - }, - { - "$": [ - -1, - 28 - ], - "'NAME": [ - -1, - 28 - ], - "'COLON": [ - -1, - 28 - ], - "'END": [ - -1, - 28 - ], - "'COMMA": [ - -1, - 28 - ], - "'PARENNOSPACE": [ - -1, - 28 - ], - "'STRING": [ - -1, - 28 - ], - "'RPAREN": [ - -1, - 28 - ], - "'TYPE": [ - -1, - 28 - ], - "'DATA": [ - -1, - 28 - ], - "'TIMES": [ - -1, - 28 - ], - "'PARENSPACE": [ - -1, - 28 - ], - "'DOT": [ - -1, - 28 - ], - "'SPY": [ - -1, - 28 - ], - "'NEWTYPE": [ - -1, - 28 - ], - "'LBRACE": [ - -1, - 28 - ], - "'RBRACE": [ - -1, - 28 - ], - "'SEMI": [ - -1, - 28 - ], - "'SHADOW": [ - -1, - 28 - ], - "'LET": [ - -1, - 28 - ], - "'BLOCK": [ - -1, - 28 - ], - "'LETREC": [ - -1, - 28 - ], - "'TYPE-LET": [ - -1, - 28 - ], - "'FUN": [ - -1, - 28 - ], - "'LANGLE": [ - -1, - 28 - ], - "'LT": [ - -1, - 28 - ], - "'GT": [ - -1, - 28 - ], - "'PARENAFTERBRACE": [ - -1, - 28 - ], - "'WHERE": [ - -1, - 28 - ], - "'CHECK": [ - -1, - 28 - ], - "'EXAMPLES": [ - -1, - 28 - ], - "'CHECKCOLON": [ - -1, - 28 - ], - "'EXAMPLESCOLON": [ - -1, - 28 - ], - "'BECAUSE": [ - -1, - 28 - ], - "'BAR": [ - -1, - 28 - ], - "'SHARING": [ - -1, - 28 - ], - "'VAR": [ - -1, - 28 - ], - "'REC": [ - -1, - 28 - ], - "'WHEN": [ - -1, - 28 - ], - "'PLUS": [ - -1, - 28 - ], - "'DASH": [ - -1, - 28 - ], - "'SLASH": [ - -1, - 28 - ], - "'LEQ": [ - -1, - 28 - ], - "'GEQ": [ - -1, - 28 - ], - "'EQUALEQUAL": [ - -1, - 28 - ], - "'SPACESHIP": [ - -1, - 28 - ], - "'EQUALTILDE": [ - -1, - 28 - ], - "'NEQ": [ - -1, - 28 - ], - "'AND": [ - -1, - 28 - ], - "'OR": [ - -1, - 28 - ], - "'CARET": [ - -1, - 28 - ], - "'IS": [ - -1, - 28 - ], - "'ISEQUALEQUAL": [ - -1, - 28 - ], - "'ISEQUALTILDE": [ - -1, - 28 - ], - "'ISSPACESHIP": [ - -1, - 28 - ], - "'ISROUGHLY": [ - -1, - 28 - ], - "'ISNOT": [ - -1, - 28 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 28 - ], - "'ISNOTEQUALTILDE": [ - -1, - 28 - ], - "'ISNOTSPACESHIP": [ - -1, - 28 - ], - "'RAISES": [ - -1, - 28 - ], - "'RAISESOTHER": [ - -1, - 28 - ], - "'SATISFIES": [ - -1, - 28 - ], - "'SATISFIESNOT": [ - -1, - 28 - ], - "'RAISESSATISFIES": [ - -1, - 28 - ], - "'RAISESVIOLATES": [ - -1, - 28 - ], - "'RAISESNOT": [ - -1, - 28 - ], - "'DOTDOTDOT": [ - -1, - 28 - ], - "'NUMBER": [ - -1, - 28 - ], - "'RATIONAL": [ - -1, - 28 - ], - "'ROUGHRATIONAL": [ - -1, - 28 - ], - "'TRUE": [ - -1, - 28 - ], - "'FALSE": [ - -1, - 28 - ], - "'LAM": [ - -1, - 28 - ], - "'METHOD": [ - -1, - 28 - ], - "'LBRACK": [ - -1, - 28 - ], - "'RBRACK": [ - -1, - 28 - ], - "'TABLE": [ - -1, - 28 - ], - "'ROW": [ - -1, - 28 - ], - "'REACTOR": [ - -1, - 28 - ], - "'BANG": [ - -1, - 28 - ], - "'IF": [ - -1, - 28 - ], - "'ELSECOLON": [ - -1, - 28 - ], - "'ELSEIF": [ - -1, - 28 - ], - "'ASK": [ - -1, - 28 - ], - "'THENCOLON": [ - -1, - 28 - ], - "'CASES": [ - -1, - 28 - ], - "'FOR": [ - -1, - 28 - ], - "'TABLE-SELECT": [ - -1, - 28 - ], - "'TABLE-FILTER": [ - -1, - 28 - ], - "'USING": [ - -1, - 28 - ], - "'TABLE-ORDER": [ - -1, - 28 - ], - "'TABLE-EXTRACT": [ - -1, - 28 - ], - "'TABLE-UPDATE": [ - -1, - 28 - ], - "'TABLE-EXTEND": [ - -1, - 28 - ], - "'OF": [ - -1, - 28 - ], - "'LOAD-TABLE": [ - -1, - 28 - ], - "'SOURCECOLON": [ - -1, - 28 - ], - "'SANITIZE": [ - -1, - 28 - ] - }, - { - "'COLON": [ - 268 - ] - }, - { - "'COLON": [ - -1, - 220 - ] - }, - { - "'COLON": [ - -1, - 222 - ] - }, - { - "'NAME": [ - 164 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16, - 78, - 80 - ], - "binop-expr": [ - 165 - ], - "id-expr": [ - 33 - ], - "ty-params": [ - 166 - ], - "'LBRACE": [ - 143 - ], - "'RBRACE": [ - 168 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "fun-header": [ - 169 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENAFTERBRACE": [ - 51, - 78, - 80 - ], - "'REF": [ - 175 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 176 - ], - "tuple-fields": [ - 177 - ], - "obj-fields": [ - 178 - ], - "obj-field": [ - 179 - ], - "key": [ - 180 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ] - }, - { - "check-test_A0_I2?": [ - 269 - ], - "check-test_A0_I2": [ - 270 - ], - "'PERCENT": [ - 271 - ], - "'NAME": [ - -1, - 224 - ], - "'STRING": [ - -1, - 224 - ], - "'PARENSPACE": [ - -1, - 224 - ], - "'LBRACE": [ - -1, - 224 - ], - "'LET": [ - -1, - 224 - ], - "'BLOCK": [ - -1, - 224 - ], - "'LETREC": [ - -1, - 224 - ], - "'TYPE-LET": [ - -1, - 224 - ], - "'PARENAFTERBRACE": [ - -1, - 224 - ], - "'DOTDOTDOT": [ - -1, - 224 - ], - "'NUMBER": [ - -1, - 224 - ], - "'RATIONAL": [ - -1, - 224 - ], - "'ROUGHRATIONAL": [ - -1, - 224 - ], - "'TRUE": [ - -1, - 224 - ], - "'FALSE": [ - -1, - 224 - ], - "'LAM": [ - -1, - 224 - ], - "'METHOD": [ - -1, - 224 - ], - "'LBRACK": [ - -1, - 224 - ], - "'TABLE": [ - -1, - 224 - ], - "'REACTOR": [ - -1, - 224 - ], - "'IF": [ - -1, - 224 - ], - "'ASK": [ - -1, - 224 - ], - "'CASES": [ - -1, - 224 - ], - "'FOR": [ - -1, - 224 - ], - "'TABLE-SELECT": [ - -1, - 224 - ], - "'TABLE-FILTER": [ - -1, - 224 - ], - "'TABLE-ORDER": [ - -1, - 224 - ], - "'TABLE-EXTRACT": [ - -1, - 224 - ], - "'TABLE-UPDATE": [ - -1, - 224 - ], - "'TABLE-EXTEND": [ - -1, - 224 - ], - "'LOAD-TABLE": [ - -1, - 224 - ] - }, - { - "'BECAUSE": [ - 272 - ], - "check-test_A1_I2?": [ - 273 - ], - "check-test_A1_I2": [ - 274 - ], - "$": [ - -1, - 226, - 228 - ], - "'NAME": [ - -1, - 226, - 228 - ], - "'END": [ - -1, - 226, - 228 - ], - "'STRING": [ - -1, - 226, - 228 - ], - "'TYPE": [ - -1, - 226, - 228 - ], - "'DATA": [ - -1, - 226, - 228 - ], - "'PARENSPACE": [ - -1, - 226, - 228 - ], - "'SPY": [ - -1, - 226, - 228 - ], - "'NEWTYPE": [ - -1, - 226, - 228 - ], - "'LBRACE": [ - -1, - 226, - 228 - ], - "'RBRACE": [ - -1, - 226, - 228 - ], - "'SHADOW": [ - -1, - 226, - 228 - ], - "'LET": [ - -1, - 226, - 228 - ], - "'BLOCK": [ - -1, - 226, - 228 - ], - "'LETREC": [ - -1, - 226, - 228 - ], - "'TYPE-LET": [ - -1, - 226, - 228 - ], - "'FUN": [ - -1, - 226, - 228 - ], - "'PARENAFTERBRACE": [ - -1, - 226, - 228 - ], - "'WHERE": [ - -1, - 226, - 228 - ], - "'CHECK": [ - -1, - 226, - 228 - ], - "'EXAMPLES": [ - -1, - 226, - 228 - ], - "'CHECKCOLON": [ - -1, - 226, - 228 - ], - "'EXAMPLESCOLON": [ - -1, - 226, - 228 - ], - "'BAR": [ - -1, - 226, - 228 - ], - "'VAR": [ - -1, - 226, - 228 - ], - "'REC": [ - -1, - 226, - 228 - ], - "'WHEN": [ - -1, - 226, - 228 - ], - "'DOTDOTDOT": [ - -1, - 226, - 228 - ], - "'NUMBER": [ - -1, - 226, - 228 - ], - "'RATIONAL": [ - -1, - 226, - 228 - ], - "'ROUGHRATIONAL": [ - -1, - 226, - 228 - ], - "'TRUE": [ - -1, - 226, - 228 - ], - "'FALSE": [ - -1, - 226, - 228 - ], - "'LAM": [ - -1, - 226, - 228 - ], - "'METHOD": [ - -1, - 226, - 228 - ], - "'LBRACK": [ - -1, - 226, - 228 - ], - "'TABLE": [ - -1, - 226, - 228 - ], - "'REACTOR": [ - -1, - 226, - 228 - ], - "'IF": [ - -1, - 226, - 228 - ], - "'ELSECOLON": [ - -1, - 226, - 228 - ], - "'ELSEIF": [ - -1, - 226, - 228 - ], - "'ASK": [ - -1, - 226, - 228 - ], - "'CASES": [ - -1, - 226, - 228 - ], - "'FOR": [ - -1, - 226, - 228 - ], - "'TABLE-SELECT": [ - -1, - 226, - 228 - ], - "'TABLE-FILTER": [ - -1, - 226, - 228 - ], - "'TABLE-ORDER": [ - -1, - 226, - 228 - ], - "'TABLE-EXTRACT": [ - -1, - 226, - 228 - ], - "'TABLE-UPDATE": [ - -1, - 226, - 228 - ], - "'TABLE-EXTEND": [ - -1, - 226, - 228 - ], - "'LOAD-TABLE": [ - -1, - 226, - 228 - ] - }, - { - "'NAME": [ - -1, - 230 - ], - "'STRING": [ - -1, - 230 - ], - "'PARENSPACE": [ - -1, - 230 - ], - "'LBRACE": [ - -1, - 230 - ], - "'LET": [ - -1, - 230 - ], - "'BLOCK": [ - -1, - 230 - ], - "'LETREC": [ - -1, - 230 - ], - "'TYPE-LET": [ - -1, - 230 - ], - "'PARENAFTERBRACE": [ - -1, - 230 - ], - "'PERCENT": [ - -1, - 230 - ], - "'DOTDOTDOT": [ - -1, - 230 - ], - "'NUMBER": [ - -1, - 230 - ], - "'RATIONAL": [ - -1, - 230 - ], - "'ROUGHRATIONAL": [ - -1, - 230 - ], - "'TRUE": [ - -1, - 230 - ], - "'FALSE": [ - -1, - 230 - ], - "'LAM": [ - -1, - 230 - ], - "'METHOD": [ - -1, - 230 - ], - "'LBRACK": [ - -1, - 230 - ], - "'TABLE": [ - -1, - 230 - ], - "'REACTOR": [ - -1, - 230 - ], - "'IF": [ - -1, - 230 - ], - "'ASK": [ - -1, - 230 - ], - "'CASES": [ - -1, - 230 - ], - "'FOR": [ - -1, - 230 - ], - "'TABLE-SELECT": [ - -1, - 230 - ], - "'TABLE-FILTER": [ - -1, - 230 - ], - "'TABLE-ORDER": [ - -1, - 230 - ], - "'TABLE-EXTRACT": [ - -1, - 230 - ], - "'TABLE-UPDATE": [ - -1, - 230 - ], - "'TABLE-EXTEND": [ - -1, - 230 - ], - "'LOAD-TABLE": [ - -1, - 230 - ] - }, - { - "'NAME": [ - -1, - 232 - ], - "'STRING": [ - -1, - 232 - ], - "'PARENSPACE": [ - -1, - 232 - ], - "'LBRACE": [ - -1, - 232 - ], - "'LET": [ - -1, - 232 - ], - "'BLOCK": [ - -1, - 232 - ], - "'LETREC": [ - -1, - 232 - ], - "'TYPE-LET": [ - -1, - 232 - ], - "'PARENAFTERBRACE": [ - -1, - 232 - ], - "'PERCENT": [ - -1, - 232 - ], - "'DOTDOTDOT": [ - -1, - 232 - ], - "'NUMBER": [ - -1, - 232 - ], - "'RATIONAL": [ - -1, - 232 - ], - "'ROUGHRATIONAL": [ - -1, - 232 - ], - "'TRUE": [ - -1, - 232 - ], - "'FALSE": [ - -1, - 232 - ], - "'LAM": [ - -1, - 232 - ], - "'METHOD": [ - -1, - 232 - ], - "'LBRACK": [ - -1, - 232 - ], - "'TABLE": [ - -1, - 232 - ], - "'REACTOR": [ - -1, - 232 - ], - "'IF": [ - -1, - 232 - ], - "'ASK": [ - -1, - 232 - ], - "'CASES": [ - -1, - 232 - ], - "'FOR": [ - -1, - 232 - ], - "'TABLE-SELECT": [ - -1, - 232 - ], - "'TABLE-FILTER": [ - -1, - 232 - ], - "'TABLE-ORDER": [ - -1, - 232 - ], - "'TABLE-EXTRACT": [ - -1, - 232 - ], - "'TABLE-UPDATE": [ - -1, - 232 - ], - "'TABLE-EXTEND": [ - -1, - 232 - ], - "'LOAD-TABLE": [ - -1, - 232 - ] - }, - { - "'NAME": [ - -1, - 234 - ], - "'STRING": [ - -1, - 234 - ], - "'PARENSPACE": [ - -1, - 234 - ], - "'LBRACE": [ - -1, - 234 - ], - "'LET": [ - -1, - 234 - ], - "'BLOCK": [ - -1, - 234 - ], - "'LETREC": [ - -1, - 234 - ], - "'TYPE-LET": [ - -1, - 234 - ], - "'PARENAFTERBRACE": [ - -1, - 234 - ], - "'PERCENT": [ - -1, - 234 - ], - "'DOTDOTDOT": [ - -1, - 234 - ], - "'NUMBER": [ - -1, - 234 - ], - "'RATIONAL": [ - -1, - 234 - ], - "'ROUGHRATIONAL": [ - -1, - 234 - ], - "'TRUE": [ - -1, - 234 - ], - "'FALSE": [ - -1, - 234 - ], - "'LAM": [ - -1, - 234 - ], - "'METHOD": [ - -1, - 234 - ], - "'LBRACK": [ - -1, - 234 - ], - "'TABLE": [ - -1, - 234 - ], - "'REACTOR": [ - -1, - 234 - ], - "'IF": [ - -1, - 234 - ], - "'ASK": [ - -1, - 234 - ], - "'CASES": [ - -1, - 234 - ], - "'FOR": [ - -1, - 234 - ], - "'TABLE-SELECT": [ - -1, - 234 - ], - "'TABLE-FILTER": [ - -1, - 234 - ], - "'TABLE-ORDER": [ - -1, - 234 - ], - "'TABLE-EXTRACT": [ - -1, - 234 - ], - "'TABLE-UPDATE": [ - -1, - 234 - ], - "'TABLE-EXTEND": [ - -1, - 234 - ], - "'LOAD-TABLE": [ - -1, - 234 - ] - }, - { - "'NAME": [ - -1, - 236 - ], - "'STRING": [ - -1, - 236 - ], - "'PARENSPACE": [ - -1, - 236 - ], - "'LBRACE": [ - -1, - 236 - ], - "'LET": [ - -1, - 236 - ], - "'BLOCK": [ - -1, - 236 - ], - "'LETREC": [ - -1, - 236 - ], - "'TYPE-LET": [ - -1, - 236 - ], - "'PARENAFTERBRACE": [ - -1, - 236 - ], - "'PERCENT": [ - -1, - 236 - ], - "'DOTDOTDOT": [ - -1, - 236 - ], - "'NUMBER": [ - -1, - 236 - ], - "'RATIONAL": [ - -1, - 236 - ], - "'ROUGHRATIONAL": [ - -1, - 236 - ], - "'TRUE": [ - -1, - 236 - ], - "'FALSE": [ - -1, - 236 - ], - "'LAM": [ - -1, - 236 - ], - "'METHOD": [ - -1, - 236 - ], - "'LBRACK": [ - -1, - 236 - ], - "'TABLE": [ - -1, - 236 - ], - "'REACTOR": [ - -1, - 236 - ], - "'IF": [ - -1, - 236 - ], - "'ASK": [ - -1, - 236 - ], - "'CASES": [ - -1, - 236 - ], - "'FOR": [ - -1, - 236 - ], - "'TABLE-SELECT": [ - -1, - 236 - ], - "'TABLE-FILTER": [ - -1, - 236 - ], - "'TABLE-ORDER": [ - -1, - 236 - ], - "'TABLE-EXTRACT": [ - -1, - 236 - ], - "'TABLE-UPDATE": [ - -1, - 236 - ], - "'TABLE-EXTEND": [ - -1, - 236 - ], - "'LOAD-TABLE": [ - -1, - 236 - ] - }, - { - "'NAME": [ - -1, - 238 - ], - "'STRING": [ - -1, - 238 - ], - "'PARENSPACE": [ - -1, - 238 - ], - "'LBRACE": [ - -1, - 238 - ], - "'LET": [ - -1, - 238 - ], - "'BLOCK": [ - -1, - 238 - ], - "'LETREC": [ - -1, - 238 - ], - "'TYPE-LET": [ - -1, - 238 - ], - "'PARENAFTERBRACE": [ - -1, - 238 - ], - "'PERCENT": [ - -1, - 238 - ], - "'DOTDOTDOT": [ - -1, - 238 - ], - "'NUMBER": [ - -1, - 238 - ], - "'RATIONAL": [ - -1, - 238 - ], - "'ROUGHRATIONAL": [ - -1, - 238 - ], - "'TRUE": [ - -1, - 238 - ], - "'FALSE": [ - -1, - 238 - ], - "'LAM": [ - -1, - 238 - ], - "'METHOD": [ - -1, - 238 - ], - "'LBRACK": [ - -1, - 238 - ], - "'TABLE": [ - -1, - 238 - ], - "'REACTOR": [ - -1, - 238 - ], - "'IF": [ - -1, - 238 - ], - "'ASK": [ - -1, - 238 - ], - "'CASES": [ - -1, - 238 - ], - "'FOR": [ - -1, - 238 - ], - "'TABLE-SELECT": [ - -1, - 238 - ], - "'TABLE-FILTER": [ - -1, - 238 - ], - "'TABLE-ORDER": [ - -1, - 238 - ], - "'TABLE-EXTRACT": [ - -1, - 238 - ], - "'TABLE-UPDATE": [ - -1, - 238 - ], - "'TABLE-EXTEND": [ - -1, - 238 - ], - "'LOAD-TABLE": [ - -1, - 238 - ] - }, - { - "'NAME": [ - -1, - 240 - ], - "'STRING": [ - -1, - 240 - ], - "'PARENSPACE": [ - -1, - 240 - ], - "'LBRACE": [ - -1, - 240 - ], - "'LET": [ - -1, - 240 - ], - "'BLOCK": [ - -1, - 240 - ], - "'LETREC": [ - -1, - 240 - ], - "'TYPE-LET": [ - -1, - 240 - ], - "'PARENAFTERBRACE": [ - -1, - 240 - ], - "'PERCENT": [ - -1, - 240 - ], - "'DOTDOTDOT": [ - -1, - 240 - ], - "'NUMBER": [ - -1, - 240 - ], - "'RATIONAL": [ - -1, - 240 - ], - "'ROUGHRATIONAL": [ - -1, - 240 - ], - "'TRUE": [ - -1, - 240 - ], - "'FALSE": [ - -1, - 240 - ], - "'LAM": [ - -1, - 240 - ], - "'METHOD": [ - -1, - 240 - ], - "'LBRACK": [ - -1, - 240 - ], - "'TABLE": [ - -1, - 240 - ], - "'REACTOR": [ - -1, - 240 - ], - "'IF": [ - -1, - 240 - ], - "'ASK": [ - -1, - 240 - ], - "'CASES": [ - -1, - 240 - ], - "'FOR": [ - -1, - 240 - ], - "'TABLE-SELECT": [ - -1, - 240 - ], - "'TABLE-FILTER": [ - -1, - 240 - ], - "'TABLE-ORDER": [ - -1, - 240 - ], - "'TABLE-EXTRACT": [ - -1, - 240 - ], - "'TABLE-UPDATE": [ - -1, - 240 - ], - "'TABLE-EXTEND": [ - -1, - 240 - ], - "'LOAD-TABLE": [ - -1, - 240 - ] - }, - { - "'NAME": [ - -1, - 242 - ], - "'STRING": [ - -1, - 242 - ], - "'PARENSPACE": [ - -1, - 242 - ], - "'LBRACE": [ - -1, - 242 - ], - "'LET": [ - -1, - 242 - ], - "'BLOCK": [ - -1, - 242 - ], - "'LETREC": [ - -1, - 242 - ], - "'TYPE-LET": [ - -1, - 242 - ], - "'PARENAFTERBRACE": [ - -1, - 242 - ], - "'PERCENT": [ - -1, - 242 - ], - "'DOTDOTDOT": [ - -1, - 242 - ], - "'NUMBER": [ - -1, - 242 - ], - "'RATIONAL": [ - -1, - 242 - ], - "'ROUGHRATIONAL": [ - -1, - 242 - ], - "'TRUE": [ - -1, - 242 - ], - "'FALSE": [ - -1, - 242 - ], - "'LAM": [ - -1, - 242 - ], - "'METHOD": [ - -1, - 242 - ], - "'LBRACK": [ - -1, - 242 - ], - "'TABLE": [ - -1, - 242 - ], - "'REACTOR": [ - -1, - 242 - ], - "'IF": [ - -1, - 242 - ], - "'ASK": [ - -1, - 242 - ], - "'CASES": [ - -1, - 242 - ], - "'FOR": [ - -1, - 242 - ], - "'TABLE-SELECT": [ - -1, - 242 - ], - "'TABLE-FILTER": [ - -1, - 242 - ], - "'TABLE-ORDER": [ - -1, - 242 - ], - "'TABLE-EXTRACT": [ - -1, - 242 - ], - "'TABLE-UPDATE": [ - -1, - 242 - ], - "'TABLE-EXTEND": [ - -1, - 242 - ], - "'LOAD-TABLE": [ - -1, - 242 - ] - }, - { - "'NAME": [ - -1, - 244 - ], - "'STRING": [ - -1, - 244 - ], - "'PARENSPACE": [ - -1, - 244 - ], - "'LBRACE": [ - -1, - 244 - ], - "'LET": [ - -1, - 244 - ], - "'BLOCK": [ - -1, - 244 - ], - "'LETREC": [ - -1, - 244 - ], - "'TYPE-LET": [ - -1, - 244 - ], - "'PARENAFTERBRACE": [ - -1, - 244 - ], - "'PERCENT": [ - -1, - 244 - ], - "'DOTDOTDOT": [ - -1, - 244 - ], - "'NUMBER": [ - -1, - 244 - ], - "'RATIONAL": [ - -1, - 244 - ], - "'ROUGHRATIONAL": [ - -1, - 244 - ], - "'TRUE": [ - -1, - 244 - ], - "'FALSE": [ - -1, - 244 - ], - "'LAM": [ - -1, - 244 - ], - "'METHOD": [ - -1, - 244 - ], - "'LBRACK": [ - -1, - 244 - ], - "'TABLE": [ - -1, - 244 - ], - "'REACTOR": [ - -1, - 244 - ], - "'IF": [ - -1, - 244 - ], - "'ASK": [ - -1, - 244 - ], - "'CASES": [ - -1, - 244 - ], - "'FOR": [ - -1, - 244 - ], - "'TABLE-SELECT": [ - -1, - 244 - ], - "'TABLE-FILTER": [ - -1, - 244 - ], - "'TABLE-ORDER": [ - -1, - 244 - ], - "'TABLE-EXTRACT": [ - -1, - 244 - ], - "'TABLE-UPDATE": [ - -1, - 244 - ], - "'TABLE-EXTEND": [ - -1, - 244 - ], - "'LOAD-TABLE": [ - -1, - 244 - ] - }, - { - "'NAME": [ - -1, - 246 - ], - "'STRING": [ - -1, - 246 - ], - "'PARENSPACE": [ - -1, - 246 - ], - "'LBRACE": [ - -1, - 246 - ], - "'LET": [ - -1, - 246 - ], - "'BLOCK": [ - -1, - 246 - ], - "'LETREC": [ - -1, - 246 - ], - "'TYPE-LET": [ - -1, - 246 - ], - "'PARENAFTERBRACE": [ - -1, - 246 - ], - "'PERCENT": [ - -1, - 246 - ], - "'DOTDOTDOT": [ - -1, - 246 - ], - "'NUMBER": [ - -1, - 246 - ], - "'RATIONAL": [ - -1, - 246 - ], - "'ROUGHRATIONAL": [ - -1, - 246 - ], - "'TRUE": [ - -1, - 246 - ], - "'FALSE": [ - -1, - 246 - ], - "'LAM": [ - -1, - 246 - ], - "'METHOD": [ - -1, - 246 - ], - "'LBRACK": [ - -1, - 246 - ], - "'TABLE": [ - -1, - 246 - ], - "'REACTOR": [ - -1, - 246 - ], - "'IF": [ - -1, - 246 - ], - "'ASK": [ - -1, - 246 - ], - "'CASES": [ - -1, - 246 - ], - "'FOR": [ - -1, - 246 - ], - "'TABLE-SELECT": [ - -1, - 246 - ], - "'TABLE-FILTER": [ - -1, - 246 - ], - "'TABLE-ORDER": [ - -1, - 246 - ], - "'TABLE-EXTRACT": [ - -1, - 246 - ], - "'TABLE-UPDATE": [ - -1, - 246 - ], - "'TABLE-EXTEND": [ - -1, - 246 - ], - "'LOAD-TABLE": [ - -1, - 246 - ] - }, - { - "'NAME": [ - -1, - 248 - ], - "'STRING": [ - -1, - 248 - ], - "'PARENSPACE": [ - -1, - 248 - ], - "'LBRACE": [ - -1, - 248 - ], - "'LET": [ - -1, - 248 - ], - "'BLOCK": [ - -1, - 248 - ], - "'LETREC": [ - -1, - 248 - ], - "'TYPE-LET": [ - -1, - 248 - ], - "'PARENAFTERBRACE": [ - -1, - 248 - ], - "'PERCENT": [ - -1, - 248 - ], - "'DOTDOTDOT": [ - -1, - 248 - ], - "'NUMBER": [ - -1, - 248 - ], - "'RATIONAL": [ - -1, - 248 - ], - "'ROUGHRATIONAL": [ - -1, - 248 - ], - "'TRUE": [ - -1, - 248 - ], - "'FALSE": [ - -1, - 248 - ], - "'LAM": [ - -1, - 248 - ], - "'METHOD": [ - -1, - 248 - ], - "'LBRACK": [ - -1, - 248 - ], - "'TABLE": [ - -1, - 248 - ], - "'REACTOR": [ - -1, - 248 - ], - "'IF": [ - -1, - 248 - ], - "'ASK": [ - -1, - 248 - ], - "'CASES": [ - -1, - 248 - ], - "'FOR": [ - -1, - 248 - ], - "'TABLE-SELECT": [ - -1, - 248 - ], - "'TABLE-FILTER": [ - -1, - 248 - ], - "'TABLE-ORDER": [ - -1, - 248 - ], - "'TABLE-EXTRACT": [ - -1, - 248 - ], - "'TABLE-UPDATE": [ - -1, - 248 - ], - "'TABLE-EXTEND": [ - -1, - 248 - ], - "'LOAD-TABLE": [ - -1, - 248 - ] - }, - { - "'NAME": [ - -1, - 250 - ], - "'STRING": [ - -1, - 250 - ], - "'PARENSPACE": [ - -1, - 250 - ], - "'LBRACE": [ - -1, - 250 - ], - "'LET": [ - -1, - 250 - ], - "'BLOCK": [ - -1, - 250 - ], - "'LETREC": [ - -1, - 250 - ], - "'TYPE-LET": [ - -1, - 250 - ], - "'PARENAFTERBRACE": [ - -1, - 250 - ], - "'PERCENT": [ - -1, - 250 - ], - "'DOTDOTDOT": [ - -1, - 250 - ], - "'NUMBER": [ - -1, - 250 - ], - "'RATIONAL": [ - -1, - 250 - ], - "'ROUGHRATIONAL": [ - -1, - 250 - ], - "'TRUE": [ - -1, - 250 - ], - "'FALSE": [ - -1, - 250 - ], - "'LAM": [ - -1, - 250 - ], - "'METHOD": [ - -1, - 250 - ], - "'LBRACK": [ - -1, - 250 - ], - "'TABLE": [ - -1, - 250 - ], - "'REACTOR": [ - -1, - 250 - ], - "'IF": [ - -1, - 250 - ], - "'ASK": [ - -1, - 250 - ], - "'CASES": [ - -1, - 250 - ], - "'FOR": [ - -1, - 250 - ], - "'TABLE-SELECT": [ - -1, - 250 - ], - "'TABLE-FILTER": [ - -1, - 250 - ], - "'TABLE-ORDER": [ - -1, - 250 - ], - "'TABLE-EXTRACT": [ - -1, - 250 - ], - "'TABLE-UPDATE": [ - -1, - 250 - ], - "'TABLE-EXTEND": [ - -1, - 250 - ], - "'LOAD-TABLE": [ - -1, - 250 - ] - }, - { - "'NAME": [ - -1, - 252 - ], - "'STRING": [ - -1, - 252 - ], - "'PARENSPACE": [ - -1, - 252 - ], - "'LBRACE": [ - -1, - 252 - ], - "'LET": [ - -1, - 252 - ], - "'BLOCK": [ - -1, - 252 - ], - "'LETREC": [ - -1, - 252 - ], - "'TYPE-LET": [ - -1, - 252 - ], - "'PARENAFTERBRACE": [ - -1, - 252 - ], - "'PERCENT": [ - -1, - 252 - ], - "'DOTDOTDOT": [ - -1, - 252 - ], - "'NUMBER": [ - -1, - 252 - ], - "'RATIONAL": [ - -1, - 252 - ], - "'ROUGHRATIONAL": [ - -1, - 252 - ], - "'TRUE": [ - -1, - 252 - ], - "'FALSE": [ - -1, - 252 - ], - "'LAM": [ - -1, - 252 - ], - "'METHOD": [ - -1, - 252 - ], - "'LBRACK": [ - -1, - 252 - ], - "'TABLE": [ - -1, - 252 - ], - "'REACTOR": [ - -1, - 252 - ], - "'IF": [ - -1, - 252 - ], - "'ASK": [ - -1, - 252 - ], - "'CASES": [ - -1, - 252 - ], - "'FOR": [ - -1, - 252 - ], - "'TABLE-SELECT": [ - -1, - 252 - ], - "'TABLE-FILTER": [ - -1, - 252 - ], - "'TABLE-ORDER": [ - -1, - 252 - ], - "'TABLE-EXTRACT": [ - -1, - 252 - ], - "'TABLE-UPDATE": [ - -1, - 252 - ], - "'TABLE-EXTEND": [ - -1, - 252 - ], - "'LOAD-TABLE": [ - -1, - 252 - ] - }, - { - "'NAME": [ - -1, - 254 - ], - "'STRING": [ - -1, - 254 - ], - "'PARENSPACE": [ - -1, - 254 - ], - "'LBRACE": [ - -1, - 254 - ], - "'LET": [ - -1, - 254 - ], - "'BLOCK": [ - -1, - 254 - ], - "'LETREC": [ - -1, - 254 - ], - "'TYPE-LET": [ - -1, - 254 - ], - "'PARENAFTERBRACE": [ - -1, - 254 - ], - "'PERCENT": [ - -1, - 254 - ], - "'DOTDOTDOT": [ - -1, - 254 - ], - "'NUMBER": [ - -1, - 254 - ], - "'RATIONAL": [ - -1, - 254 - ], - "'ROUGHRATIONAL": [ - -1, - 254 - ], - "'TRUE": [ - -1, - 254 - ], - "'FALSE": [ - -1, - 254 - ], - "'LAM": [ - -1, - 254 - ], - "'METHOD": [ - -1, - 254 - ], - "'LBRACK": [ - -1, - 254 - ], - "'TABLE": [ - -1, - 254 - ], - "'REACTOR": [ - -1, - 254 - ], - "'IF": [ - -1, - 254 - ], - "'ASK": [ - -1, - 254 - ], - "'CASES": [ - -1, - 254 - ], - "'FOR": [ - -1, - 254 - ], - "'TABLE-SELECT": [ - -1, - 254 - ], - "'TABLE-FILTER": [ - -1, - 254 - ], - "'TABLE-ORDER": [ - -1, - 254 - ], - "'TABLE-EXTRACT": [ - -1, - 254 - ], - "'TABLE-UPDATE": [ - -1, - 254 - ], - "'TABLE-EXTEND": [ - -1, - 254 - ], - "'LOAD-TABLE": [ - -1, - 254 - ] - }, - { - "'NAME": [ - -1, - 256 - ], - "'STRING": [ - -1, - 256 - ], - "'PARENSPACE": [ - -1, - 256 - ], - "'LBRACE": [ - -1, - 256 - ], - "'LET": [ - -1, - 256 - ], - "'BLOCK": [ - -1, - 256 - ], - "'LETREC": [ - -1, - 256 - ], - "'TYPE-LET": [ - -1, - 256 - ], - "'PARENAFTERBRACE": [ - -1, - 256 - ], - "'PERCENT": [ - -1, - 256 - ], - "'DOTDOTDOT": [ - -1, - 256 - ], - "'NUMBER": [ - -1, - 256 - ], - "'RATIONAL": [ - -1, - 256 - ], - "'ROUGHRATIONAL": [ - -1, - 256 - ], - "'TRUE": [ - -1, - 256 - ], - "'FALSE": [ - -1, - 256 - ], - "'LAM": [ - -1, - 256 - ], - "'METHOD": [ - -1, - 256 - ], - "'LBRACK": [ - -1, - 256 - ], - "'TABLE": [ - -1, - 256 - ], - "'REACTOR": [ - -1, - 256 - ], - "'IF": [ - -1, - 256 - ], - "'ASK": [ - -1, - 256 - ], - "'CASES": [ - -1, - 256 - ], - "'FOR": [ - -1, - 256 - ], - "'TABLE-SELECT": [ - -1, - 256 - ], - "'TABLE-FILTER": [ - -1, - 256 - ], - "'TABLE-ORDER": [ - -1, - 256 - ], - "'TABLE-EXTRACT": [ - -1, - 256 - ], - "'TABLE-UPDATE": [ - -1, - 256 - ], - "'TABLE-EXTEND": [ - -1, - 256 - ], - "'LOAD-TABLE": [ - -1, - 256 - ] - }, - { - "'NAME": [ - -1, - 258 - ], - "'STRING": [ - -1, - 258 - ], - "'PARENSPACE": [ - -1, - 258 - ], - "'LBRACE": [ - -1, - 258 - ], - "'LET": [ - -1, - 258 - ], - "'BLOCK": [ - -1, - 258 - ], - "'LETREC": [ - -1, - 258 - ], - "'TYPE-LET": [ - -1, - 258 - ], - "'PARENAFTERBRACE": [ - -1, - 258 - ], - "'PERCENT": [ - -1, - 258 - ], - "'DOTDOTDOT": [ - -1, - 258 - ], - "'NUMBER": [ - -1, - 258 - ], - "'RATIONAL": [ - -1, - 258 - ], - "'ROUGHRATIONAL": [ - -1, - 258 - ], - "'TRUE": [ - -1, - 258 - ], - "'FALSE": [ - -1, - 258 - ], - "'LAM": [ - -1, - 258 - ], - "'METHOD": [ - -1, - 258 - ], - "'LBRACK": [ - -1, - 258 - ], - "'TABLE": [ - -1, - 258 - ], - "'REACTOR": [ - -1, - 258 - ], - "'IF": [ - -1, - 258 - ], - "'ASK": [ - -1, - 258 - ], - "'CASES": [ - -1, - 258 - ], - "'FOR": [ - -1, - 258 - ], - "'TABLE-SELECT": [ - -1, - 258 - ], - "'TABLE-FILTER": [ - -1, - 258 - ], - "'TABLE-ORDER": [ - -1, - 258 - ], - "'TABLE-EXTRACT": [ - -1, - 258 - ], - "'TABLE-UPDATE": [ - -1, - 258 - ], - "'TABLE-EXTEND": [ - -1, - 258 - ], - "'LOAD-TABLE": [ - -1, - 258 - ] - }, - { - "$": [ - -1, - 260 - ], - "'NAME": [ - -1, - 260 - ], - "'END": [ - -1, - 260 - ], - "'STRING": [ - -1, - 260 - ], - "'TYPE": [ - -1, - 260 - ], - "'DATA": [ - -1, - 260 - ], - "'PARENSPACE": [ - -1, - 260 - ], - "'SPY": [ - -1, - 260 - ], - "'NEWTYPE": [ - -1, - 260 - ], - "'LBRACE": [ - -1, - 260 - ], - "'RBRACE": [ - -1, - 260 - ], - "'SHADOW": [ - -1, - 260 - ], - "'LET": [ - -1, - 260 - ], - "'BLOCK": [ - -1, - 260 - ], - "'LETREC": [ - -1, - 260 - ], - "'TYPE-LET": [ - -1, - 260 - ], - "'FUN": [ - -1, - 260 - ], - "'PARENAFTERBRACE": [ - -1, - 260 - ], - "'WHERE": [ - -1, - 260 - ], - "'CHECK": [ - -1, - 260 - ], - "'EXAMPLES": [ - -1, - 260 - ], - "'CHECKCOLON": [ - -1, - 260 - ], - "'EXAMPLESCOLON": [ - -1, - 260 - ], - "'BECAUSE": [ - -1, - 260 - ], - "'BAR": [ - -1, - 260 - ], - "'VAR": [ - -1, - 260 - ], - "'REC": [ - -1, - 260 - ], - "'WHEN": [ - -1, - 260 - ], - "'DOTDOTDOT": [ - -1, - 260 - ], - "'NUMBER": [ - -1, - 260 - ], - "'RATIONAL": [ - -1, - 260 - ], - "'ROUGHRATIONAL": [ - -1, - 260 - ], - "'TRUE": [ - -1, - 260 - ], - "'FALSE": [ - -1, - 260 - ], - "'LAM": [ - -1, - 260 - ], - "'METHOD": [ - -1, - 260 - ], - "'LBRACK": [ - -1, - 260 - ], - "'TABLE": [ - -1, - 260 - ], - "'REACTOR": [ - -1, - 260 - ], - "'IF": [ - -1, - 260 - ], - "'ELSECOLON": [ - -1, - 260 - ], - "'ELSEIF": [ - -1, - 260 - ], - "'ASK": [ - -1, - 260 - ], - "'CASES": [ - -1, - 260 - ], - "'FOR": [ - -1, - 260 - ], - "'TABLE-SELECT": [ - -1, - 260 - ], - "'TABLE-FILTER": [ - -1, - 260 - ], - "'TABLE-ORDER": [ - -1, - 260 - ], - "'TABLE-EXTRACT": [ - -1, - 260 - ], - "'TABLE-UPDATE": [ - -1, - 260 - ], - "'TABLE-EXTEND": [ - -1, - 260 - ], - "'LOAD-TABLE": [ - -1, - 260 - ] - }, - { - "'AS": [ - 275 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 276 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COLON": [ - -1, - 262 - ], - "'PARENNOSPACE": [ - -1, - 28 - ], - "'TIMES": [ - -1, - 28 - ], - "'PARENSPACE": [ - -1, - 28 - ], - "'DOT": [ - -1, - 28 - ], - "'RBRACE": [ - -1, - 28 - ], - "'SEMI": [ - -1, - 28 - ], - "'LANGLE": [ - -1, - 28 - ], - "'LT": [ - -1, - 28 - ], - "'GT": [ - -1, - 28 - ], - "'PLUS": [ - -1, - 28 - ], - "'DASH": [ - -1, - 28 - ], - "'SLASH": [ - -1, - 28 - ], - "'LEQ": [ - -1, - 28 - ], - "'GEQ": [ - -1, - 28 - ], - "'EQUALEQUAL": [ - -1, - 28 - ], - "'SPACESHIP": [ - -1, - 28 - ], - "'EQUALTILDE": [ - -1, - 28 - ], - "'NEQ": [ - -1, - 28 - ], - "'AND": [ - -1, - 28 - ], - "'OR": [ - -1, - 28 - ], - "'CARET": [ - -1, - 28 - ], - "'LBRACK": [ - -1, - 28 - ], - "'BANG": [ - -1, - 28 - ] - }, - { - "tuple-fields_I1*": [ - 277 - ], - "'RBRACE": [ - -1, - 264, - 266 - ], - "'SEMI": [ - -1, - 266 - ] - }, - { - "'PARENNOSPACE": [ - 278 - ], - "'PARENSPACE": [ - 279 - ], - "args": [ - 280 - ], - "bad-args": [ - 281 - ], - "args_I0": [ - 282 - ], - "'PARENAFTERBRACE": [ - 283 - ] - }, - { - "binding": [ - 284 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "tuple-binding_I1": [ - 285 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "$": [ - -1, - 268 - ], - "'NAME": [ - -1, - 268 - ], - "'COLON": [ - -1, - 268 - ], - "'END": [ - -1, - 268 - ], - "'COMMA": [ - -1, - 268 - ], - "'PARENNOSPACE": [ - -1, - 268 - ], - "'STRING": [ - -1, - 268 - ], - "'RPAREN": [ - -1, - 268 - ], - "'TYPE": [ - -1, - 268 - ], - "'DATA": [ - -1, - 268 - ], - "'TIMES": [ - -1, - 268 - ], - "'PARENSPACE": [ - -1, - 268 - ], - "'DOT": [ - -1, - 268 - ], - "'SPY": [ - -1, - 268 - ], - "'NEWTYPE": [ - -1, - 268 - ], - "'LBRACE": [ - -1, - 268 - ], - "'RBRACE": [ - -1, - 268 - ], - "'SEMI": [ - -1, - 268 - ], - "'SHADOW": [ - -1, - 268 - ], - "'LET": [ - -1, - 268 - ], - "'BLOCK": [ - -1, - 268 - ], - "'LETREC": [ - -1, - 268 - ], - "'TYPE-LET": [ - -1, - 268 - ], - "'FUN": [ - -1, - 268 - ], - "'LANGLE": [ - -1, - 268 - ], - "'LT": [ - -1, - 268 - ], - "'GT": [ - -1, - 268 - ], - "'PARENAFTERBRACE": [ - -1, - 268 - ], - "'WHERE": [ - -1, - 268 - ], - "'CHECK": [ - -1, - 268 - ], - "'EXAMPLES": [ - -1, - 268 - ], - "'CHECKCOLON": [ - -1, - 268 - ], - "'EXAMPLESCOLON": [ - -1, - 268 - ], - "'BECAUSE": [ - -1, - 268 - ], - "'BAR": [ - -1, - 268 - ], - "'SHARING": [ - -1, - 268 - ], - "'VAR": [ - -1, - 268 - ], - "'REC": [ - -1, - 268 - ], - "'WHEN": [ - -1, - 268 - ], - "'PLUS": [ - -1, - 268 - ], - "'DASH": [ - -1, - 268 - ], - "'SLASH": [ - -1, - 268 - ], - "'LEQ": [ - -1, - 268 - ], - "'GEQ": [ - -1, - 268 - ], - "'EQUALEQUAL": [ - -1, - 268 - ], - "'SPACESHIP": [ - -1, - 268 - ], - "'EQUALTILDE": [ - -1, - 268 - ], - "'NEQ": [ - -1, - 268 - ], - "'AND": [ - -1, - 268 - ], - "'OR": [ - -1, - 268 - ], - "'CARET": [ - -1, - 268 - ], - "'IS": [ - -1, - 268 - ], - "'ISEQUALEQUAL": [ - -1, - 268 - ], - "'ISEQUALTILDE": [ - -1, - 268 - ], - "'ISSPACESHIP": [ - -1, - 268 - ], - "'ISROUGHLY": [ - -1, - 268 - ], - "'ISNOT": [ - -1, - 268 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 268 - ], - "'ISNOTEQUALTILDE": [ - -1, - 268 - ], - "'ISNOTSPACESHIP": [ - -1, - 268 - ], - "'RAISES": [ - -1, - 268 - ], - "'RAISESOTHER": [ - -1, - 268 - ], - "'SATISFIES": [ - -1, - 268 - ], - "'SATISFIESNOT": [ - -1, - 268 - ], - "'RAISESSATISFIES": [ - -1, - 268 - ], - "'RAISESVIOLATES": [ - -1, - 268 - ], - "'RAISESNOT": [ - -1, - 268 - ], - "'DOTDOTDOT": [ - -1, - 268 - ], - "'NUMBER": [ - -1, - 268 - ], - "'RATIONAL": [ - -1, - 268 - ], - "'ROUGHRATIONAL": [ - -1, - 268 - ], - "'TRUE": [ - -1, - 268 - ], - "'FALSE": [ - -1, - 268 - ], - "'LAM": [ - -1, - 268 - ], - "'METHOD": [ - -1, - 268 - ], - "'LBRACK": [ - -1, - 268 - ], - "'RBRACK": [ - -1, - 268 - ], - "'TABLE": [ - -1, - 268 - ], - "'ROW": [ - -1, - 268 - ], - "'REACTOR": [ - -1, - 268 - ], - "'BANG": [ - -1, - 268 - ], - "'IF": [ - -1, - 268 - ], - "'ELSECOLON": [ - -1, - 268 - ], - "'ELSEIF": [ - -1, - 268 - ], - "'ASK": [ - -1, - 268 - ], - "'THENCOLON": [ - -1, - 268 - ], - "'CASES": [ - -1, - 268 - ], - "'FOR": [ - -1, - 268 - ], - "'TABLE-SELECT": [ - -1, - 268 - ], - "'TABLE-FILTER": [ - -1, - 268 - ], - "'USING": [ - -1, - 268 - ], - "'TABLE-ORDER": [ - -1, - 268 - ], - "'TABLE-EXTRACT": [ - -1, - 268 - ], - "'TABLE-UPDATE": [ - -1, - 268 - ], - "'TABLE-EXTEND": [ - -1, - 268 - ], - "'OF": [ - -1, - 268 - ], - "'LOAD-TABLE": [ - -1, - 268 - ], - "'SOURCECOLON": [ - -1, - 268 - ], - "'SANITIZE": [ - -1, - 268 - ] - }, - { - "'COLON": [ - 286 - ], - "'BLOCK": [ - 287 - ], - "lambda-expr_A1_I2": [ - 288 - ] - }, - { - "'NAME": [ - -1, - 270 - ], - "'COLON": [ - -1, - 270 - ], - "'PARENNOSPACE": [ - -1, - 270 - ], - "'PARENSPACE": [ - -1, - 270 - ], - "'EQUALS": [ - -1, - 270 - ], - "'LBRACE": [ - -1, - 270 - ], - "'PARENAFTERBRACE": [ - -1, - 270 - ], - "'THINARROW": [ - -1, - 270 - ] - }, - { - "'NAME": [ - -1, - 272 - ], - "'COLON": [ - -1, - 272 - ], - "'PARENNOSPACE": [ - -1, - 272 - ], - "'PARENSPACE": [ - -1, - 272 - ], - "'EQUALS": [ - -1, - 272 - ], - "'LBRACE": [ - -1, - 272 - ], - "'PARENAFTERBRACE": [ - -1, - 272 - ], - "'THINARROW": [ - -1, - 272 - ] - }, - { - "'NAME": [ - 289 - ], - "comma-names": [ - 290 - ] - }, - { - "'NAME": [ - -1, - 274 - ] - }, - { - "'NAME": [ - -1, - 276 - ] - }, - { - "'NAME": [ - 291 - ], - "key": [ - 292 - ] - }, - { - "'NAME": [ - 291 - ], - "ty-params": [ - 166 - ], - "fun-header": [ - 209 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "key": [ - 293 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "'RBRACE": [ - 294 - ] - }, - { - "'RBRACE": [ - 295 - ] - }, - { - "obj-fields_I1*": [ - 296 - ], - "'END": [ - -1, - 278, - 280 - ], - "'COMMA": [ - -1, - 280 - ], - "'RBRACE": [ - -1, - 278, - 280 - ] - }, - { - "'COLON": [ - 297 - ] - }, - { - "name-binding_I2?": [ - 298 - ], - "name-binding_I2": [ - 299 - ], - "'COLONCOLON": [ - 300 - ], - "'FROM": [ - -1, - 282, - 284 - ], - "'COLON": [ - -1, - 282, - 284 - ], - "'COMMA": [ - -1, - 282, - 284 - ], - "'RPAREN": [ - -1, - 282, - 284 - ], - "'EQUALS": [ - -1, - 282, - 284 - ], - "'RBRACE": [ - -1, - 282, - 284 - ], - "'SEMI": [ - -1, - 282, - 284 - ] - }, - { - "'COLON": [ - -1, - 286 - ], - "'COMMA": [ - -1, - 286 - ], - "'BLOCK": [ - -1, - 286 - ] - }, - { - "'COLON": [ - -1, - 288 - ], - "'COMMA": [ - -1, - 288 - ], - "'BLOCK": [ - -1, - 288 - ] - }, - { - "tuple-binding_I1*": [ - 167 - ], - "'NAME": [ - -1, - 76 - ], - "'LBRACE": [ - -1, - 76 - ], - "'SHADOW": [ - -1, - 76 - ] - }, - { - "multi-let-expr_I2*": [ - 301 - ], - "'COLON": [ - -1, - 290 - ], - "'COMMA": [ - -1, - 290 - ], - "'BLOCK": [ - -1, - 290 - ] - }, - { - "'END": [ - 302 - ] - }, - { - "letrec-expr_I2*": [ - 303 - ], - "'COLON": [ - -1, - 292 - ], - "'COMMA": [ - -1, - 292 - ], - "'BLOCK": [ - -1, - 292 - ] - }, - { - "ty-params": [ - 304 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'EQUALS": [ - -1, - 78, - 80 - ] - }, - { - "'NAME": [ - 305 - ] - }, - { - "'COLON": [ - -1, - 294 - ], - "'COMMA": [ - -1, - 294 - ], - "'BLOCK": [ - -1, - 294 - ] - }, - { - "'COLON": [ - -1, - 296 - ], - "'COMMA": [ - -1, - 296 - ], - "'BLOCK": [ - -1, - 296 - ] - }, - { - "type-let-expr_I2*": [ - 306 - ], - "'COLON": [ - -1, - 298 - ], - "'COMMA": [ - -1, - 298 - ], - "'BLOCK": [ - -1, - 298 - ] - }, - { - "ty-params": [ - 166 - ], - "fun-header": [ - 307 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "'COLON": [ - 308 - ] - }, - { - "'END": [ - 309 - ] - }, - { - "'EQUALS": [ - 310 - ] - }, - { - "'EQUALS": [ - 311 - ] - }, - { - "'COLON": [ - 312 - ], - "'BLOCK": [ - 313 - ], - "when-expr_I2": [ - 314 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 315 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "opt-comma-binops": [ - 316 - ], - "opt-comma-binops_I0?": [ - 317 - ], - "opt-comma-binops_I0": [ - 318 - ], - "comma-binops": [ - 319 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'RPAREN": [ - -1, - 300, - 302 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'RPAREN": [ - 320 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 321 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 322 - ], - "'LBRACE": [ - 323 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 328 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'TIMES": [ - 339 - ], - "'LT": [ - 340 - ], - "'GT": [ - 341 - ], - "binop-expr_I1": [ - 342 - ], - "binop": [ - 343 - ], - "'PLUS": [ - 344 - ], - "'DASH": [ - 345 - ], - "'SLASH": [ - 346 - ], - "'LEQ": [ - 347 - ], - "'GEQ": [ - 348 - ], - "'EQUALEQUAL": [ - 349 - ], - "'SPACESHIP": [ - 350 - ], - "'EQUALTILDE": [ - 351 - ], - "'NEQ": [ - 352 - ], - "'AND": [ - 353 - ], - "'OR": [ - 354 - ], - "'CARET": [ - 355 - ], - "$": [ - -1, - 304 - ], - "'NAME": [ - -1, - 304 - ], - "'COLON": [ - -1, - 304 - ], - "'END": [ - -1, - 304 - ], - "'COMMA": [ - -1, - 304 - ], - "'STRING": [ - -1, - 304 - ], - "'RPAREN": [ - -1, - 304 - ], - "'TYPE": [ - -1, - 304 - ], - "'DATA": [ - -1, - 304 - ], - "'PARENSPACE": [ - -1, - 304 - ], - "'SPY": [ - -1, - 304 - ], - "'NEWTYPE": [ - -1, - 304 - ], - "'LBRACE": [ - -1, - 304 - ], - "'RBRACE": [ - -1, - 304 - ], - "'SEMI": [ - -1, - 304 - ], - "'SHADOW": [ - -1, - 304 - ], - "'LET": [ - -1, - 304 - ], - "'BLOCK": [ - -1, - 304 - ], - "'LETREC": [ - -1, - 304 - ], - "'TYPE-LET": [ - -1, - 304 - ], - "'FUN": [ - -1, - 304 - ], - "'PARENAFTERBRACE": [ - -1, - 304 - ], - "'WHERE": [ - -1, - 304 - ], - "'CHECK": [ - -1, - 304 - ], - "'EXAMPLES": [ - -1, - 304 - ], - "'CHECKCOLON": [ - -1, - 304 - ], - "'EXAMPLESCOLON": [ - -1, - 304 - ], - "'BECAUSE": [ - -1, - 304 - ], - "'BAR": [ - -1, - 304 - ], - "'SHARING": [ - -1, - 304 - ], - "'VAR": [ - -1, - 304 - ], - "'REC": [ - -1, - 304 - ], - "'WHEN": [ - -1, - 304 - ], - "'IS": [ - -1, - 304 - ], - "'ISEQUALEQUAL": [ - -1, - 304 - ], - "'ISEQUALTILDE": [ - -1, - 304 - ], - "'ISSPACESHIP": [ - -1, - 304 - ], - "'ISROUGHLY": [ - -1, - 304 - ], - "'ISNOT": [ - -1, - 304 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 304 - ], - "'ISNOTEQUALTILDE": [ - -1, - 304 - ], - "'ISNOTSPACESHIP": [ - -1, - 304 - ], - "'RAISES": [ - -1, - 304 - ], - "'RAISESOTHER": [ - -1, - 304 - ], - "'SATISFIES": [ - -1, - 304 - ], - "'SATISFIESNOT": [ - -1, - 304 - ], - "'RAISESSATISFIES": [ - -1, - 304 - ], - "'RAISESVIOLATES": [ - -1, - 304 - ], - "'RAISESNOT": [ - -1, - 304 - ], - "'DOTDOTDOT": [ - -1, - 304 - ], - "'NUMBER": [ - -1, - 304 - ], - "'RATIONAL": [ - -1, - 304 - ], - "'ROUGHRATIONAL": [ - -1, - 304 - ], - "'TRUE": [ - -1, - 304 - ], - "'FALSE": [ - -1, - 304 - ], - "'LAM": [ - -1, - 304 - ], - "'METHOD": [ - -1, - 304 - ], - "'LBRACK": [ - -1, - 304 - ], - "'RBRACK": [ - -1, - 304 - ], - "'TABLE": [ - -1, - 304 - ], - "'ROW": [ - -1, - 304 - ], - "'REACTOR": [ - -1, - 304 - ], - "'IF": [ - -1, - 304 - ], - "'ELSECOLON": [ - -1, - 304 - ], - "'ELSEIF": [ - -1, - 304 - ], - "'ASK": [ - -1, - 304 - ], - "'THENCOLON": [ - -1, - 304 - ], - "'CASES": [ - -1, - 304 - ], - "'FOR": [ - -1, - 304 - ], - "'TABLE-SELECT": [ - -1, - 304 - ], - "'TABLE-FILTER": [ - -1, - 304 - ], - "'TABLE-ORDER": [ - -1, - 304 - ], - "'TABLE-EXTRACT": [ - -1, - 304 - ], - "'TABLE-UPDATE": [ - -1, - 304 - ], - "'TABLE-EXTEND": [ - -1, - 304 - ], - "'LOAD-TABLE": [ - -1, - 304 - ] - }, - { - "$": [ - -1, - 306 - ], - "'NAME": [ - -1, - 306 - ], - "'COLON": [ - -1, - 306 - ], - "'END": [ - -1, - 306 - ], - "'COMMA": [ - -1, - 306 - ], - "'PARENNOSPACE": [ - -1, - 306 - ], - "'STRING": [ - -1, - 306 - ], - "'RPAREN": [ - -1, - 306 - ], - "'TYPE": [ - -1, - 306 - ], - "'DATA": [ - -1, - 306 - ], - "'TIMES": [ - -1, - 306 - ], - "'PARENSPACE": [ - -1, - 306 - ], - "'DOT": [ - -1, - 306 - ], - "'SPY": [ - -1, - 306 - ], - "'NEWTYPE": [ - -1, - 306 - ], - "'LBRACE": [ - -1, - 306 - ], - "'RBRACE": [ - -1, - 306 - ], - "'SEMI": [ - -1, - 306 - ], - "'SHADOW": [ - -1, - 306 - ], - "'LET": [ - -1, - 306 - ], - "'BLOCK": [ - -1, - 306 - ], - "'LETREC": [ - -1, - 306 - ], - "'TYPE-LET": [ - -1, - 306 - ], - "'FUN": [ - -1, - 306 - ], - "'LANGLE": [ - -1, - 306 - ], - "'LT": [ - -1, - 306 - ], - "'GT": [ - -1, - 306 - ], - "'PARENAFTERBRACE": [ - -1, - 306 - ], - "'WHERE": [ - -1, - 306 - ], - "'CHECK": [ - -1, - 306 - ], - "'EXAMPLES": [ - -1, - 306 - ], - "'CHECKCOLON": [ - -1, - 306 - ], - "'EXAMPLESCOLON": [ - -1, - 306 - ], - "'BECAUSE": [ - -1, - 306 - ], - "'BAR": [ - -1, - 306 - ], - "'SHARING": [ - -1, - 306 - ], - "'VAR": [ - -1, - 306 - ], - "'REC": [ - -1, - 306 - ], - "'WHEN": [ - -1, - 306 - ], - "'PLUS": [ - -1, - 306 - ], - "'DASH": [ - -1, - 306 - ], - "'SLASH": [ - -1, - 306 - ], - "'LEQ": [ - -1, - 306 - ], - "'GEQ": [ - -1, - 306 - ], - "'EQUALEQUAL": [ - -1, - 306 - ], - "'SPACESHIP": [ - -1, - 306 - ], - "'EQUALTILDE": [ - -1, - 306 - ], - "'NEQ": [ - -1, - 306 - ], - "'AND": [ - -1, - 306 - ], - "'OR": [ - -1, - 306 - ], - "'CARET": [ - -1, - 306 - ], - "'IS": [ - -1, - 306 - ], - "'ISEQUALEQUAL": [ - -1, - 306 - ], - "'ISEQUALTILDE": [ - -1, - 306 - ], - "'ISSPACESHIP": [ - -1, - 306 - ], - "'ISROUGHLY": [ - -1, - 306 - ], - "'ISNOT": [ - -1, - 306 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 306 - ], - "'ISNOTEQUALTILDE": [ - -1, - 306 - ], - "'ISNOTSPACESHIP": [ - -1, - 306 - ], - "'RAISES": [ - -1, - 306 - ], - "'RAISESOTHER": [ - -1, - 306 - ], - "'SATISFIES": [ - -1, - 306 - ], - "'SATISFIESNOT": [ - -1, - 306 - ], - "'RAISESSATISFIES": [ - -1, - 306 - ], - "'RAISESVIOLATES": [ - -1, - 306 - ], - "'RAISESNOT": [ - -1, - 306 - ], - "'DOTDOTDOT": [ - -1, - 306 - ], - "'NUMBER": [ - -1, - 306 - ], - "'RATIONAL": [ - -1, - 306 - ], - "'ROUGHRATIONAL": [ - -1, - 306 - ], - "'TRUE": [ - -1, - 306 - ], - "'FALSE": [ - -1, - 306 - ], - "'LAM": [ - -1, - 306 - ], - "'METHOD": [ - -1, - 306 - ], - "'LBRACK": [ - -1, - 306 - ], - "'RBRACK": [ - -1, - 306 - ], - "'TABLE": [ - -1, - 306 - ], - "'ROW": [ - -1, - 306 - ], - "'REACTOR": [ - -1, - 306 - ], - "'BANG": [ - -1, - 306 - ], - "'IF": [ - -1, - 306 - ], - "'ELSECOLON": [ - -1, - 306 - ], - "'ELSEIF": [ - -1, - 306 - ], - "'ASK": [ - -1, - 306 - ], - "'THENCOLON": [ - -1, - 306 - ], - "'CASES": [ - -1, - 306 - ], - "'FOR": [ - -1, - 306 - ], - "'TABLE-SELECT": [ - -1, - 306 - ], - "'TABLE-FILTER": [ - -1, - 306 - ], - "'USING": [ - -1, - 306 - ], - "'TABLE-ORDER": [ - -1, - 306 - ], - "'TABLE-EXTRACT": [ - -1, - 306 - ], - "'TABLE-UPDATE": [ - -1, - 306 - ], - "'TABLE-EXTEND": [ - -1, - 306 - ], - "'OF": [ - -1, - 306 - ], - "'LOAD-TABLE": [ - -1, - 306 - ], - "'SOURCECOLON": [ - -1, - 306 - ], - "'SANITIZE": [ - -1, - 306 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 356 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 357 - ], - "'LBRACE": [ - 358 - ] - }, - { - "'RPAREN": [ - 359 - ] - }, - { - "'COLON": [ - 360 - ], - "'BLOCK": [ - 361 - ], - "lambda-expr_A0_I2": [ - 362 - ] - }, - { - "'COLON": [ - 363 - ], - "'BLOCK": [ - 364 - ], - "method-expr_I2": [ - 365 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 366 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - -1, - 308 - ], - "'STRING": [ - -1, - 308 - ], - "'PARENSPACE": [ - -1, - 308 - ], - "'LBRACE": [ - -1, - 308 - ], - "'LET": [ - -1, - 308 - ], - "'BLOCK": [ - -1, - 308 - ], - "'LETREC": [ - -1, - 308 - ], - "'TYPE-LET": [ - -1, - 308 - ], - "'PARENAFTERBRACE": [ - -1, - 308 - ], - "'DOTDOTDOT": [ - -1, - 308 - ], - "'NUMBER": [ - -1, - 308 - ], - "'RATIONAL": [ - -1, - 308 - ], - "'ROUGHRATIONAL": [ - -1, - 308 - ], - "'TRUE": [ - -1, - 308 - ], - "'FALSE": [ - -1, - 308 - ], - "'LAM": [ - -1, - 308 - ], - "'METHOD": [ - -1, - 308 - ], - "'LBRACK": [ - -1, - 308 - ], - "'TABLE": [ - -1, - 308 - ], - "'REACTOR": [ - -1, - 308 - ], - "'IF": [ - -1, - 308 - ], - "'ASK": [ - -1, - 308 - ], - "'CASES": [ - -1, - 308 - ], - "'FOR": [ - -1, - 308 - ], - "'TABLE-SELECT": [ - -1, - 308 - ], - "'TABLE-FILTER": [ - -1, - 308 - ], - "'TABLE-ORDER": [ - -1, - 308 - ], - "'TABLE-EXTRACT": [ - -1, - 308 - ], - "'TABLE-UPDATE": [ - -1, - 308 - ], - "'TABLE-EXTEND": [ - -1, - 308 - ], - "'LOAD-TABLE": [ - -1, - 308 - ] - }, - { - "table-rows": [ - 367 - ], - "table-rows_I0?": [ - 368 - ], - "table-rows_I0": [ - 369 - ], - "table-rows_I0_I0*": [ - 370 - ], - "'END": [ - -1, - 310, - 312 - ], - "'ROW": [ - -1, - 314 - ] - }, - { - "'END": [ - -1, - 316 - ], - "'ROW": [ - -1, - 316 - ], - "'SOURCECOLON": [ - -1, - 316 - ], - "'SANITIZE": [ - -1, - 316 - ] - }, - { - "'END": [ - -1, - 318 - ], - "'ROW": [ - -1, - 318 - ], - "'SOURCECOLON": [ - -1, - 318 - ], - "'SANITIZE": [ - -1, - 318 - ] - }, - { - "'NAME": [ - 371 - ], - "table-header": [ - 372 - ], - "table-headers_I0_I0": [ - 373 - ], - "list-table-header": [ - 374 - ] - }, - { - "'NAME": [ - 291 - ], - "fields": [ - 375 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 378 - ] - }, - { - "'COLON": [ - 379 - ], - "'BLOCK": [ - 380 - ], - "if-expr_I2": [ - 381 - ] - }, - { - "'END": [ - -1, - 320 - ], - "'BAR": [ - -1, - 320 - ] - }, - { - "'END": [ - -1, - 322 - ], - "'BAR": [ - -1, - 322 - ] - }, - { - "if-pipe-expr_I2*": [ - 382 - ], - "'END": [ - -1, - 324 - ], - "'BAR": [ - -1, - 324 - ] - }, - { - "'NAME": [ - -1, - 326 - ], - "'PARENNOSPACE": [ - -1, - 326 - ], - "'PARENSPACE": [ - -1, - 326 - ], - "'LBRACE": [ - -1, - 326 - ], - "'PARENAFTERBRACE": [ - -1, - 326 - ] - }, - { - "'NAME": [ - -1, - 328 - ], - "'PARENNOSPACE": [ - -1, - 328 - ], - "'PARENSPACE": [ - -1, - 328 - ], - "'LBRACE": [ - -1, - 328 - ], - "'PARENAFTERBRACE": [ - -1, - 328 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 383 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'PARENNOSPACE": [ - 384 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ] - }, - { - "table-select_I2*": [ - 385 - ], - "'FROM": [ - -1, - 330 - ], - "'COMMA": [ - -1, - 330 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "table-filter_I2?": [ - 386 - ], - "table-filter_I2": [ - 387 - ], - "'USING": [ - 388 - ], - "'COLON": [ - -1, - 332 - ] - }, - { - "'COLON": [ - 389 - ], - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ] - }, - { - "'FROM": [ - 390 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "'USING": [ - 391 - ], - "table-update_I2?": [ - 392 - ], - "table-update_I2": [ - 393 - ], - "'COLON": [ - -1, - 334 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "'USING": [ - 394 - ], - "table-extend_I2?": [ - 395 - ], - "table-extend_I2": [ - 396 - ], - "'COLON": [ - -1, - 336 - ] - }, - { - "table-headers": [ - 397 - ], - "table-headers_I0?": [ - 213 - ], - "table-headers_I0": [ - 214 - ], - "table-headers_I0_I0*": [ - 215 - ], - "'NAME": [ - -1, - 190 - ], - "'END": [ - -1, - 192, - 194 - ], - "'SOURCECOLON": [ - -1, - 192, - 194 - ], - "'SANITIZE": [ - -1, - 192, - 194 - ] - }, - { - "$": [ - -1, - 338 - ], - "'NAME": [ - -1, - 338 - ], - "'INCLUDE": [ - -1, - 338 - ], - "'IMPORT": [ - -1, - 338 - ], - "'STRING": [ - -1, - 338 - ], - "'TYPE": [ - -1, - 338 - ], - "'DATA": [ - -1, - 338 - ], - "'PROVIDE": [ - -1, - 338 - ], - "'PROVIDE-TYPES": [ - -1, - 338 - ], - "'PROVIDECOLON": [ - -1, - 338 - ], - "'PARENSPACE": [ - -1, - 338 - ], - "'SPY": [ - -1, - 338 - ], - "'NEWTYPE": [ - -1, - 338 - ], - "'LBRACE": [ - -1, - 338 - ], - "'SHADOW": [ - -1, - 338 - ], - "'LET": [ - -1, - 338 - ], - "'BLOCK": [ - -1, - 338 - ], - "'LETREC": [ - -1, - 338 - ], - "'TYPE-LET": [ - -1, - 338 - ], - "'FUN": [ - -1, - 338 - ], - "'PARENAFTERBRACE": [ - -1, - 338 - ], - "'CHECK": [ - -1, - 338 - ], - "'EXAMPLES": [ - -1, - 338 - ], - "'CHECKCOLON": [ - -1, - 338 - ], - "'EXAMPLESCOLON": [ - -1, - 338 - ], - "'VAR": [ - -1, - 338 - ], - "'REC": [ - -1, - 338 - ], - "'WHEN": [ - -1, - 338 - ], - "'DOTDOTDOT": [ - -1, - 338 - ], - "'NUMBER": [ - -1, - 338 - ], - "'RATIONAL": [ - -1, - 338 - ], - "'ROUGHRATIONAL": [ - -1, - 338 - ], - "'TRUE": [ - -1, - 338 - ], - "'FALSE": [ - -1, - 338 - ], - "'LAM": [ - -1, - 338 - ], - "'METHOD": [ - -1, - 338 - ], - "'LBRACK": [ - -1, - 338 - ], - "'TABLE": [ - -1, - 338 - ], - "'REACTOR": [ - -1, - 338 - ], - "'IF": [ - -1, - 338 - ], - "'ASK": [ - -1, - 338 - ], - "'CASES": [ - -1, - 338 - ], - "'FOR": [ - -1, - 338 - ], - "'TABLE-SELECT": [ - -1, - 338 - ], - "'TABLE-FILTER": [ - -1, - 338 - ], - "'TABLE-ORDER": [ - -1, - 338 - ], - "'TABLE-EXTRACT": [ - -1, - 338 - ], - "'TABLE-UPDATE": [ - -1, - 338 - ], - "'TABLE-EXTEND": [ - -1, - 338 - ], - "'LOAD-TABLE": [ - -1, - 338 - ] - }, - { - "module-ref": [ - 398 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "'PARENNOSPACE": [ - 263 - ], - "comma-names_I1*": [ - 399 - ], - "'FROM": [ - -1, - 340, - 342 - ], - "'COMMA": [ - -1, - 342 - ], - "'AS": [ - -1, - 212 - ] - }, - { - "'AS": [ - 400 - ] - }, - { - "'FROM": [ - 401 - ] - }, - { - "module-ref": [ - 402 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "'END": [ - 403 - ] - }, - { - "$": [ - -1, - 344 - ], - "'NAME": [ - -1, - 344 - ], - "'INCLUDE": [ - -1, - 344 - ], - "'IMPORT": [ - -1, - 344 - ], - "'STRING": [ - -1, - 344 - ], - "'TYPE": [ - -1, - 344 - ], - "'DATA": [ - -1, - 344 - ], - "'PROVIDE": [ - -1, - 344 - ], - "'PROVIDE-TYPES": [ - -1, - 344 - ], - "'PROVIDECOLON": [ - -1, - 344 - ], - "'PARENSPACE": [ - -1, - 344 - ], - "'SPY": [ - -1, - 344 - ], - "'NEWTYPE": [ - -1, - 344 - ], - "'LBRACE": [ - -1, - 344 - ], - "'SHADOW": [ - -1, - 344 - ], - "'LET": [ - -1, - 344 - ], - "'BLOCK": [ - -1, - 344 - ], - "'LETREC": [ - -1, - 344 - ], - "'TYPE-LET": [ - -1, - 344 - ], - "'FUN": [ - -1, - 344 - ], - "'PARENAFTERBRACE": [ - -1, - 344 - ], - "'CHECK": [ - -1, - 344 - ], - "'EXAMPLES": [ - -1, - 344 - ], - "'CHECKCOLON": [ - -1, - 344 - ], - "'EXAMPLESCOLON": [ - -1, - 344 - ], - "'VAR": [ - -1, - 344 - ], - "'REC": [ - -1, - 344 - ], - "'WHEN": [ - -1, - 344 - ], - "'DOTDOTDOT": [ - -1, - 344 - ], - "'NUMBER": [ - -1, - 344 - ], - "'RATIONAL": [ - -1, - 344 - ], - "'ROUGHRATIONAL": [ - -1, - 344 - ], - "'TRUE": [ - -1, - 344 - ], - "'FALSE": [ - -1, - 344 - ], - "'LAM": [ - -1, - 344 - ], - "'METHOD": [ - -1, - 344 - ], - "'LBRACK": [ - -1, - 344 - ], - "'TABLE": [ - -1, - 344 - ], - "'REACTOR": [ - -1, - 344 - ], - "'IF": [ - -1, - 344 - ], - "'ASK": [ - -1, - 344 - ], - "'CASES": [ - -1, - 344 - ], - "'FOR": [ - -1, - 344 - ], - "'TABLE-SELECT": [ - -1, - 344 - ], - "'TABLE-FILTER": [ - -1, - 344 - ], - "'TABLE-ORDER": [ - -1, - 344 - ], - "'TABLE-EXTRACT": [ - -1, - 344 - ], - "'TABLE-UPDATE": [ - -1, - 344 - ], - "'TABLE-EXTEND": [ - -1, - 344 - ], - "'LOAD-TABLE": [ - -1, - 344 - ] - }, - { - "$": [ - -1, - 346 - ], - "'NAME": [ - -1, - 346 - ], - "'INCLUDE": [ - -1, - 346 - ], - "'IMPORT": [ - -1, - 346 - ], - "'STRING": [ - -1, - 346 - ], - "'TYPE": [ - -1, - 346 - ], - "'DATA": [ - -1, - 346 - ], - "'PROVIDE": [ - -1, - 346 - ], - "'PROVIDE-TYPES": [ - -1, - 346 - ], - "'PROVIDECOLON": [ - -1, - 346 - ], - "'PARENSPACE": [ - -1, - 346 - ], - "'SPY": [ - -1, - 346 - ], - "'NEWTYPE": [ - -1, - 346 - ], - "'LBRACE": [ - -1, - 346 - ], - "'SHADOW": [ - -1, - 346 - ], - "'LET": [ - -1, - 346 - ], - "'BLOCK": [ - -1, - 346 - ], - "'LETREC": [ - -1, - 346 - ], - "'TYPE-LET": [ - -1, - 346 - ], - "'FUN": [ - -1, - 346 - ], - "'PARENAFTERBRACE": [ - -1, - 346 - ], - "'CHECK": [ - -1, - 346 - ], - "'EXAMPLES": [ - -1, - 346 - ], - "'CHECKCOLON": [ - -1, - 346 - ], - "'EXAMPLESCOLON": [ - -1, - 346 - ], - "'VAR": [ - -1, - 346 - ], - "'REC": [ - -1, - 346 - ], - "'WHEN": [ - -1, - 346 - ], - "'DOTDOTDOT": [ - -1, - 346 - ], - "'NUMBER": [ - -1, - 346 - ], - "'RATIONAL": [ - -1, - 346 - ], - "'ROUGHRATIONAL": [ - -1, - 346 - ], - "'TRUE": [ - -1, - 346 - ], - "'FALSE": [ - -1, - 346 - ], - "'LAM": [ - -1, - 346 - ], - "'METHOD": [ - -1, - 346 - ], - "'LBRACK": [ - -1, - 346 - ], - "'TABLE": [ - -1, - 346 - ], - "'REACTOR": [ - -1, - 346 - ], - "'IF": [ - -1, - 346 - ], - "'ASK": [ - -1, - 346 - ], - "'CASES": [ - -1, - 346 - ], - "'FOR": [ - -1, - 346 - ], - "'TABLE-SELECT": [ - -1, - 346 - ], - "'TABLE-FILTER": [ - -1, - 346 - ], - "'TABLE-ORDER": [ - -1, - 346 - ], - "'TABLE-EXTRACT": [ - -1, - 346 - ], - "'TABLE-UPDATE": [ - -1, - 346 - ], - "'TABLE-EXTEND": [ - -1, - 346 - ], - "'LOAD-TABLE": [ - -1, - 346 - ] - }, - { - "$": [ - -1, - 348 - ], - "'NAME": [ - -1, - 348 - ], - "'INCLUDE": [ - -1, - 348 - ], - "'IMPORT": [ - -1, - 348 - ], - "'STRING": [ - -1, - 348 - ], - "'TYPE": [ - -1, - 348 - ], - "'DATA": [ - -1, - 348 - ], - "'PROVIDE": [ - -1, - 348 - ], - "'PROVIDE-TYPES": [ - -1, - 348 - ], - "'PROVIDECOLON": [ - -1, - 348 - ], - "'PARENSPACE": [ - -1, - 348 - ], - "'SPY": [ - -1, - 348 - ], - "'NEWTYPE": [ - -1, - 348 - ], - "'LBRACE": [ - -1, - 348 - ], - "'SHADOW": [ - -1, - 348 - ], - "'LET": [ - -1, - 348 - ], - "'BLOCK": [ - -1, - 348 - ], - "'LETREC": [ - -1, - 348 - ], - "'TYPE-LET": [ - -1, - 348 - ], - "'FUN": [ - -1, - 348 - ], - "'PARENAFTERBRACE": [ - -1, - 348 - ], - "'CHECK": [ - -1, - 348 - ], - "'EXAMPLES": [ - -1, - 348 - ], - "'CHECKCOLON": [ - -1, - 348 - ], - "'EXAMPLESCOLON": [ - -1, - 348 - ], - "'VAR": [ - -1, - 348 - ], - "'REC": [ - -1, - 348 - ], - "'WHEN": [ - -1, - 348 - ], - "'DOTDOTDOT": [ - -1, - 348 - ], - "'NUMBER": [ - -1, - 348 - ], - "'RATIONAL": [ - -1, - 348 - ], - "'ROUGHRATIONAL": [ - -1, - 348 - ], - "'TRUE": [ - -1, - 348 - ], - "'FALSE": [ - -1, - 348 - ], - "'LAM": [ - -1, - 348 - ], - "'METHOD": [ - -1, - 348 - ], - "'LBRACK": [ - -1, - 348 - ], - "'TABLE": [ - -1, - 348 - ], - "'REACTOR": [ - -1, - 348 - ], - "'IF": [ - -1, - 348 - ], - "'ASK": [ - -1, - 348 - ], - "'CASES": [ - -1, - 348 - ], - "'FOR": [ - -1, - 348 - ], - "'TABLE-SELECT": [ - -1, - 348 - ], - "'TABLE-FILTER": [ - -1, - 348 - ], - "'TABLE-ORDER": [ - -1, - 348 - ], - "'TABLE-EXTRACT": [ - -1, - 348 - ], - "'TABLE-UPDATE": [ - -1, - 348 - ], - "'TABLE-EXTEND": [ - -1, - 348 - ], - "'LOAD-TABLE": [ - -1, - 348 - ] - }, - { - "$": [ - -1, - 350 - ], - "'NAME": [ - -1, - 350 - ], - "'INCLUDE": [ - -1, - 350 - ], - "'IMPORT": [ - -1, - 350 - ], - "'STRING": [ - -1, - 350 - ], - "'TYPE": [ - -1, - 350 - ], - "'DATA": [ - -1, - 350 - ], - "'PROVIDE": [ - -1, - 350 - ], - "'PROVIDE-TYPES": [ - -1, - 350 - ], - "'PROVIDECOLON": [ - -1, - 350 - ], - "'PARENSPACE": [ - -1, - 350 - ], - "'SPY": [ - -1, - 350 - ], - "'NEWTYPE": [ - -1, - 350 - ], - "'LBRACE": [ - -1, - 350 - ], - "'SHADOW": [ - -1, - 350 - ], - "'LET": [ - -1, - 350 - ], - "'BLOCK": [ - -1, - 350 - ], - "'LETREC": [ - -1, - 350 - ], - "'TYPE-LET": [ - -1, - 350 - ], - "'FUN": [ - -1, - 350 - ], - "'PARENAFTERBRACE": [ - -1, - 350 - ], - "'CHECK": [ - -1, - 350 - ], - "'EXAMPLES": [ - -1, - 350 - ], - "'CHECKCOLON": [ - -1, - 350 - ], - "'EXAMPLESCOLON": [ - -1, - 350 - ], - "'VAR": [ - -1, - 350 - ], - "'REC": [ - -1, - 350 - ], - "'WHEN": [ - -1, - 350 - ], - "'DOTDOTDOT": [ - -1, - 350 - ], - "'NUMBER": [ - -1, - 350 - ], - "'RATIONAL": [ - -1, - 350 - ], - "'ROUGHRATIONAL": [ - -1, - 350 - ], - "'TRUE": [ - -1, - 350 - ], - "'FALSE": [ - -1, - 350 - ], - "'LAM": [ - -1, - 350 - ], - "'METHOD": [ - -1, - 350 - ], - "'LBRACK": [ - -1, - 350 - ], - "'TABLE": [ - -1, - 350 - ], - "'REACTOR": [ - -1, - 350 - ], - "'IF": [ - -1, - 350 - ], - "'ASK": [ - -1, - 350 - ], - "'CASES": [ - -1, - 350 - ], - "'FOR": [ - -1, - 350 - ], - "'TABLE-SELECT": [ - -1, - 350 - ], - "'TABLE-FILTER": [ - -1, - 350 - ], - "'TABLE-ORDER": [ - -1, - 350 - ], - "'TABLE-EXTRACT": [ - -1, - 350 - ], - "'TABLE-UPDATE": [ - -1, - 350 - ], - "'TABLE-EXTEND": [ - -1, - 350 - ], - "'LOAD-TABLE": [ - -1, - 350 - ] - }, - { - "$": [ - -1, - 352 - ], - "'NAME": [ - -1, - 352 - ], - "'INCLUDE": [ - -1, - 352 - ], - "'IMPORT": [ - -1, - 352 - ], - "'STRING": [ - -1, - 352 - ], - "'TYPE": [ - -1, - 352 - ], - "'DATA": [ - -1, - 352 - ], - "'PROVIDE": [ - -1, - 352 - ], - "'PROVIDE-TYPES": [ - -1, - 352 - ], - "'PROVIDECOLON": [ - -1, - 352 - ], - "'PARENSPACE": [ - -1, - 352 - ], - "'SPY": [ - -1, - 352 - ], - "'NEWTYPE": [ - -1, - 352 - ], - "'LBRACE": [ - -1, - 352 - ], - "'SHADOW": [ - -1, - 352 - ], - "'LET": [ - -1, - 352 - ], - "'BLOCK": [ - -1, - 352 - ], - "'LETREC": [ - -1, - 352 - ], - "'TYPE-LET": [ - -1, - 352 - ], - "'FUN": [ - -1, - 352 - ], - "'PARENAFTERBRACE": [ - -1, - 352 - ], - "'CHECK": [ - -1, - 352 - ], - "'EXAMPLES": [ - -1, - 352 - ], - "'CHECKCOLON": [ - -1, - 352 - ], - "'EXAMPLESCOLON": [ - -1, - 352 - ], - "'VAR": [ - -1, - 352 - ], - "'REC": [ - -1, - 352 - ], - "'WHEN": [ - -1, - 352 - ], - "'DOTDOTDOT": [ - -1, - 352 - ], - "'NUMBER": [ - -1, - 352 - ], - "'RATIONAL": [ - -1, - 352 - ], - "'ROUGHRATIONAL": [ - -1, - 352 - ], - "'TRUE": [ - -1, - 352 - ], - "'FALSE": [ - -1, - 352 - ], - "'LAM": [ - -1, - 352 - ], - "'METHOD": [ - -1, - 352 - ], - "'LBRACK": [ - -1, - 352 - ], - "'TABLE": [ - -1, - 352 - ], - "'REACTOR": [ - -1, - 352 - ], - "'IF": [ - -1, - 352 - ], - "'ASK": [ - -1, - 352 - ], - "'CASES": [ - -1, - 352 - ], - "'FOR": [ - -1, - 352 - ], - "'TABLE-SELECT": [ - -1, - 352 - ], - "'TABLE-FILTER": [ - -1, - 352 - ], - "'TABLE-ORDER": [ - -1, - 352 - ], - "'TABLE-EXTRACT": [ - -1, - 352 - ], - "'TABLE-UPDATE": [ - -1, - 352 - ], - "'TABLE-EXTEND": [ - -1, - 352 - ], - "'LOAD-TABLE": [ - -1, - 352 - ] - }, - { - "$": [ - -1, - 354 - ], - "'NAME": [ - -1, - 354 - ], - "'INCLUDE": [ - -1, - 354 - ], - "'IMPORT": [ - -1, - 354 - ], - "'STRING": [ - -1, - 354 - ], - "'TYPE": [ - -1, - 354 - ], - "'DATA": [ - -1, - 354 - ], - "'PROVIDE": [ - -1, - 354 - ], - "'PROVIDE-TYPES": [ - -1, - 354 - ], - "'PROVIDECOLON": [ - -1, - 354 - ], - "'PARENSPACE": [ - -1, - 354 - ], - "'SPY": [ - -1, - 354 - ], - "'NEWTYPE": [ - -1, - 354 - ], - "'LBRACE": [ - -1, - 354 - ], - "'SHADOW": [ - -1, - 354 - ], - "'LET": [ - -1, - 354 - ], - "'BLOCK": [ - -1, - 354 - ], - "'LETREC": [ - -1, - 354 - ], - "'TYPE-LET": [ - -1, - 354 - ], - "'FUN": [ - -1, - 354 - ], - "'PARENAFTERBRACE": [ - -1, - 354 - ], - "'CHECK": [ - -1, - 354 - ], - "'EXAMPLES": [ - -1, - 354 - ], - "'CHECKCOLON": [ - -1, - 354 - ], - "'EXAMPLESCOLON": [ - -1, - 354 - ], - "'VAR": [ - -1, - 354 - ], - "'REC": [ - -1, - 354 - ], - "'WHEN": [ - -1, - 354 - ], - "'DOTDOTDOT": [ - -1, - 354 - ], - "'NUMBER": [ - -1, - 354 - ], - "'RATIONAL": [ - -1, - 354 - ], - "'ROUGHRATIONAL": [ - -1, - 354 - ], - "'TRUE": [ - -1, - 354 - ], - "'FALSE": [ - -1, - 354 - ], - "'LAM": [ - -1, - 354 - ], - "'METHOD": [ - -1, - 354 - ], - "'LBRACK": [ - -1, - 354 - ], - "'TABLE": [ - -1, - 354 - ], - "'REACTOR": [ - -1, - 354 - ], - "'IF": [ - -1, - 354 - ], - "'ASK": [ - -1, - 354 - ], - "'CASES": [ - -1, - 354 - ], - "'FOR": [ - -1, - 354 - ], - "'TABLE-SELECT": [ - -1, - 354 - ], - "'TABLE-FILTER": [ - -1, - 354 - ], - "'TABLE-ORDER": [ - -1, - 354 - ], - "'TABLE-EXTRACT": [ - -1, - 354 - ], - "'TABLE-UPDATE": [ - -1, - 354 - ], - "'TABLE-EXTEND": [ - -1, - 354 - ], - "'LOAD-TABLE": [ - -1, - 354 - ] - }, - { - "$": [ - -1, - 356 - ], - "'NAME": [ - -1, - 356 - ], - "'INCLUDE": [ - -1, - 356 - ], - "'IMPORT": [ - -1, - 356 - ], - "'STRING": [ - -1, - 356 - ], - "'TYPE": [ - -1, - 356 - ], - "'DATA": [ - -1, - 356 - ], - "'PROVIDE": [ - -1, - 356 - ], - "'PROVIDE-TYPES": [ - -1, - 356 - ], - "'PROVIDECOLON": [ - -1, - 356 - ], - "'PARENSPACE": [ - -1, - 356 - ], - "'SPY": [ - -1, - 356 - ], - "'NEWTYPE": [ - -1, - 356 - ], - "'LBRACE": [ - -1, - 356 - ], - "'SHADOW": [ - -1, - 356 - ], - "'LET": [ - -1, - 356 - ], - "'BLOCK": [ - -1, - 356 - ], - "'LETREC": [ - -1, - 356 - ], - "'TYPE-LET": [ - -1, - 356 - ], - "'FUN": [ - -1, - 356 - ], - "'PARENAFTERBRACE": [ - -1, - 356 - ], - "'CHECK": [ - -1, - 356 - ], - "'EXAMPLES": [ - -1, - 356 - ], - "'CHECKCOLON": [ - -1, - 356 - ], - "'EXAMPLESCOLON": [ - -1, - 356 - ], - "'VAR": [ - -1, - 356 - ], - "'REC": [ - -1, - 356 - ], - "'WHEN": [ - -1, - 356 - ], - "'DOTDOTDOT": [ - -1, - 356 - ], - "'NUMBER": [ - -1, - 356 - ], - "'RATIONAL": [ - -1, - 356 - ], - "'ROUGHRATIONAL": [ - -1, - 356 - ], - "'TRUE": [ - -1, - 356 - ], - "'FALSE": [ - -1, - 356 - ], - "'LAM": [ - -1, - 356 - ], - "'METHOD": [ - -1, - 356 - ], - "'LBRACK": [ - -1, - 356 - ], - "'TABLE": [ - -1, - 356 - ], - "'REACTOR": [ - -1, - 356 - ], - "'IF": [ - -1, - 356 - ], - "'ASK": [ - -1, - 356 - ], - "'CASES": [ - -1, - 356 - ], - "'FOR": [ - -1, - 356 - ], - "'TABLE-SELECT": [ - -1, - 356 - ], - "'TABLE-FILTER": [ - -1, - 356 - ], - "'TABLE-ORDER": [ - -1, - 356 - ], - "'TABLE-EXTRACT": [ - -1, - 356 - ], - "'TABLE-UPDATE": [ - -1, - 356 - ], - "'TABLE-EXTEND": [ - -1, - 356 - ], - "'LOAD-TABLE": [ - -1, - 356 - ] - }, - { - "'NAME": [ - 404 - ], - "comma-ann-field": [ - 405 - ], - "ann-field": [ - 406 - ], - "trailing-opt-comma-ann-field": [ - 407 - ], - "trailing-opt-comma-ann-field_I0": [ - 408 - ], - "'RBRACE": [ - -1, - 358, - 360 - ] - }, - { - "'AS": [ - 409 - ], - "'END": [ - -1, - 362 - ], - "'COMMA": [ - -1, - 362 - ] - }, - { - "'END": [ - -1, - 364 - ], - "'COMMA": [ - -1, - 364 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 410 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "module-ref": [ - 411 - ], - "data-name-spec": [ - 412 - ], - "'STAR": [ - 413 - ], - "'TIMES": [ - 414 - ], - "data-name-spec_A0_I0": [ - 415 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 416 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "'END": [ - -1, - 366 - ], - "'COMMA": [ - -1, - 366 - ], - "'HIDING": [ - -1, - 366 - ] - }, - { - "'END": [ - -1, - 368 - ], - "'COMMA": [ - -1, - 368 - ], - "'HIDING": [ - -1, - 368 - ] - }, - { - "'END": [ - 417 - ] - }, - { - "'END": [ - -1, - 370 - ] - }, - { - "provide-block_A0_I1_I1*": [ - 418 - ], - "'END": [ - -1, - 372, - 374 - ], - "'COMMA": [ - -1, - 374 - ] - }, - { - "'END": [ - -1, - 376 - ], - "'COMMA": [ - -1, - 376 - ] - }, - { - "'END": [ - -1, - 378 - ], - "'COMMA": [ - -1, - 378 - ] - }, - { - "'END": [ - -1, - 380 - ], - "'COMMA": [ - -1, - 380 - ] - }, - { - "'END": [ - -1, - 382 - ], - "'COMMA": [ - -1, - 382 - ] - }, - { - "hiding-spec": [ - 419 - ], - "name-spec_A0_I1?": [ - 420 - ], - "name-spec_A0_I1": [ - 421 - ], - "'HIDING": [ - 422 - ], - "'END": [ - -1, - 384, - 386 - ], - "'COMMA": [ - -1, - 384, - 386 - ] - }, - { - "'NAME": [ - 423 - ], - "module-ref_I0": [ - 424 - ] - }, - { - "'STRING": [ - 425 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 426 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 427 - ], - "ann": [ - 428 - ], - "'LBRACE": [ - 329 - ], - "contract-stmt_I3": [ - 429 - ], - "noparen-arrow-ann": [ - 430 - ], - "'PARENAFTERBRACE": [ - 431 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "noparen-arrow-ann_I0?": [ - 432 - ], - "noparen-arrow-ann_I0": [ - 433 - ], - "arrow-ann-args": [ - 434 - ], - "comma-anns": [ - 435 - ], - "arrow-ann-args_A1_I0": [ - 436 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ], - "'THINARROW": [ - -1, - 388 - ] - }, - { - "$": [ - -1, - 390 - ], - "'NAME": [ - -1, - 390 - ], - "'END": [ - -1, - 390 - ], - "'STRING": [ - -1, - 390 - ], - "'TYPE": [ - -1, - 390 - ], - "'DATA": [ - -1, - 390 - ], - "'PARENSPACE": [ - -1, - 390 - ], - "'SPY": [ - -1, - 390 - ], - "'NEWTYPE": [ - -1, - 390 - ], - "'LBRACE": [ - -1, - 390 - ], - "'RBRACE": [ - -1, - 390 - ], - "'SHADOW": [ - -1, - 390 - ], - "'LET": [ - -1, - 390 - ], - "'BLOCK": [ - -1, - 390 - ], - "'LETREC": [ - -1, - 390 - ], - "'TYPE-LET": [ - -1, - 390 - ], - "'FUN": [ - -1, - 390 - ], - "'PARENAFTERBRACE": [ - -1, - 390 - ], - "'WHERE": [ - -1, - 390 - ], - "'CHECK": [ - -1, - 390 - ], - "'EXAMPLES": [ - -1, - 390 - ], - "'CHECKCOLON": [ - -1, - 390 - ], - "'EXAMPLESCOLON": [ - -1, - 390 - ], - "'BAR": [ - -1, - 390 - ], - "'VAR": [ - -1, - 390 - ], - "'REC": [ - -1, - 390 - ], - "'WHEN": [ - -1, - 390 - ], - "'DOTDOTDOT": [ - -1, - 390 - ], - "'NUMBER": [ - -1, - 390 - ], - "'RATIONAL": [ - -1, - 390 - ], - "'ROUGHRATIONAL": [ - -1, - 390 - ], - "'TRUE": [ - -1, - 390 - ], - "'FALSE": [ - -1, - 390 - ], - "'LAM": [ - -1, - 390 - ], - "'METHOD": [ - -1, - 390 - ], - "'LBRACK": [ - -1, - 390 - ], - "'TABLE": [ - -1, - 390 - ], - "'REACTOR": [ - -1, - 390 - ], - "'IF": [ - -1, - 390 - ], - "'ELSECOLON": [ - -1, - 390 - ], - "'ELSEIF": [ - -1, - 390 - ], - "'ASK": [ - -1, - 390 - ], - "'CASES": [ - -1, - 390 - ], - "'FOR": [ - -1, - 390 - ], - "'TABLE-SELECT": [ - -1, - 390 - ], - "'TABLE-FILTER": [ - -1, - 390 - ], - "'TABLE-ORDER": [ - -1, - 390 - ], - "'TABLE-EXTRACT": [ - -1, - 390 - ], - "'TABLE-UPDATE": [ - -1, - 390 - ], - "'TABLE-EXTEND": [ - -1, - 390 - ], - "'LOAD-TABLE": [ - -1, - 390 - ] - }, - { - "'EQUALS": [ - 437 - ] - }, - { - "'COLON": [ - 438 - ] - }, - { - "'NAME": [ - 439 - ], - "spy-stmt_I3?": [ - 440 - ], - "spy-stmt_I3": [ - 441 - ], - "spy-contents": [ - 442 - ], - "spy-field": [ - 443 - ], - "id-expr": [ - 444 - ], - "'END": [ - -1, - 392 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 445 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - -1, - 394 - ], - "'STRING": [ - -1, - 394 - ], - "'PARENSPACE": [ - -1, - 394 - ], - "'LBRACE": [ - -1, - 394 - ], - "'LET": [ - -1, - 394 - ], - "'BLOCK": [ - -1, - 394 - ], - "'LETREC": [ - -1, - 394 - ], - "'TYPE-LET": [ - -1, - 394 - ], - "'PARENAFTERBRACE": [ - -1, - 394 - ], - "'DOTDOTDOT": [ - -1, - 394 - ], - "'NUMBER": [ - -1, - 394 - ], - "'RATIONAL": [ - -1, - 394 - ], - "'ROUGHRATIONAL": [ - -1, - 394 - ], - "'TRUE": [ - -1, - 394 - ], - "'FALSE": [ - -1, - 394 - ], - "'LAM": [ - -1, - 394 - ], - "'METHOD": [ - -1, - 394 - ], - "'LBRACK": [ - -1, - 394 - ], - "'TABLE": [ - -1, - 394 - ], - "'REACTOR": [ - -1, - 394 - ], - "'IF": [ - -1, - 394 - ], - "'ASK": [ - -1, - 394 - ], - "'CASES": [ - -1, - 394 - ], - "'FOR": [ - -1, - 394 - ], - "'TABLE-SELECT": [ - -1, - 394 - ], - "'TABLE-FILTER": [ - -1, - 394 - ], - "'TABLE-ORDER": [ - -1, - 394 - ], - "'TABLE-EXTRACT": [ - -1, - 394 - ], - "'TABLE-UPDATE": [ - -1, - 394 - ], - "'TABLE-EXTEND": [ - -1, - 394 - ], - "'LOAD-TABLE": [ - -1, - 394 - ] - }, - { - "'PARENNOSPACE": [ - 446 - ], - "'PARENSPACE": [ - 447 - ], - "check-test_A0_I2_I1": [ - 448 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 449 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "$": [ - -1, - 396 - ], - "'NAME": [ - -1, - 396 - ], - "'END": [ - -1, - 396 - ], - "'STRING": [ - -1, - 396 - ], - "'TYPE": [ - -1, - 396 - ], - "'DATA": [ - -1, - 396 - ], - "'PARENSPACE": [ - -1, - 396 - ], - "'SPY": [ - -1, - 396 - ], - "'NEWTYPE": [ - -1, - 396 - ], - "'LBRACE": [ - -1, - 396 - ], - "'RBRACE": [ - -1, - 396 - ], - "'SHADOW": [ - -1, - 396 - ], - "'LET": [ - -1, - 396 - ], - "'BLOCK": [ - -1, - 396 - ], - "'LETREC": [ - -1, - 396 - ], - "'TYPE-LET": [ - -1, - 396 - ], - "'FUN": [ - -1, - 396 - ], - "'PARENAFTERBRACE": [ - -1, - 396 - ], - "'WHERE": [ - -1, - 396 - ], - "'CHECK": [ - -1, - 396 - ], - "'EXAMPLES": [ - -1, - 396 - ], - "'CHECKCOLON": [ - -1, - 396 - ], - "'EXAMPLESCOLON": [ - -1, - 396 - ], - "'BAR": [ - -1, - 396 - ], - "'VAR": [ - -1, - 396 - ], - "'REC": [ - -1, - 396 - ], - "'WHEN": [ - -1, - 396 - ], - "'DOTDOTDOT": [ - -1, - 396 - ], - "'NUMBER": [ - -1, - 396 - ], - "'RATIONAL": [ - -1, - 396 - ], - "'ROUGHRATIONAL": [ - -1, - 396 - ], - "'TRUE": [ - -1, - 396 - ], - "'FALSE": [ - -1, - 396 - ], - "'LAM": [ - -1, - 396 - ], - "'METHOD": [ - -1, - 396 - ], - "'LBRACK": [ - -1, - 396 - ], - "'TABLE": [ - -1, - 396 - ], - "'REACTOR": [ - -1, - 396 - ], - "'IF": [ - -1, - 396 - ], - "'ELSECOLON": [ - -1, - 396 - ], - "'ELSEIF": [ - -1, - 396 - ], - "'ASK": [ - -1, - 396 - ], - "'CASES": [ - -1, - 396 - ], - "'FOR": [ - -1, - 396 - ], - "'TABLE-SELECT": [ - -1, - 396 - ], - "'TABLE-FILTER": [ - -1, - 396 - ], - "'TABLE-ORDER": [ - -1, - 396 - ], - "'TABLE-EXTRACT": [ - -1, - 396 - ], - "'TABLE-UPDATE": [ - -1, - 396 - ], - "'TABLE-EXTEND": [ - -1, - 396 - ], - "'LOAD-TABLE": [ - -1, - 396 - ] - }, - { - "$": [ - -1, - 398 - ], - "'NAME": [ - -1, - 398 - ], - "'END": [ - -1, - 398 - ], - "'STRING": [ - -1, - 398 - ], - "'TYPE": [ - -1, - 398 - ], - "'DATA": [ - -1, - 398 - ], - "'PARENSPACE": [ - -1, - 398 - ], - "'SPY": [ - -1, - 398 - ], - "'NEWTYPE": [ - -1, - 398 - ], - "'LBRACE": [ - -1, - 398 - ], - "'RBRACE": [ - -1, - 398 - ], - "'SHADOW": [ - -1, - 398 - ], - "'LET": [ - -1, - 398 - ], - "'BLOCK": [ - -1, - 398 - ], - "'LETREC": [ - -1, - 398 - ], - "'TYPE-LET": [ - -1, - 398 - ], - "'FUN": [ - -1, - 398 - ], - "'PARENAFTERBRACE": [ - -1, - 398 - ], - "'WHERE": [ - -1, - 398 - ], - "'CHECK": [ - -1, - 398 - ], - "'EXAMPLES": [ - -1, - 398 - ], - "'CHECKCOLON": [ - -1, - 398 - ], - "'EXAMPLESCOLON": [ - -1, - 398 - ], - "'BAR": [ - -1, - 398 - ], - "'VAR": [ - -1, - 398 - ], - "'REC": [ - -1, - 398 - ], - "'WHEN": [ - -1, - 398 - ], - "'DOTDOTDOT": [ - -1, - 398 - ], - "'NUMBER": [ - -1, - 398 - ], - "'RATIONAL": [ - -1, - 398 - ], - "'ROUGHRATIONAL": [ - -1, - 398 - ], - "'TRUE": [ - -1, - 398 - ], - "'FALSE": [ - -1, - 398 - ], - "'LAM": [ - -1, - 398 - ], - "'METHOD": [ - -1, - 398 - ], - "'LBRACK": [ - -1, - 398 - ], - "'TABLE": [ - -1, - 398 - ], - "'REACTOR": [ - -1, - 398 - ], - "'IF": [ - -1, - 398 - ], - "'ELSECOLON": [ - -1, - 398 - ], - "'ELSEIF": [ - -1, - 398 - ], - "'ASK": [ - -1, - 398 - ], - "'CASES": [ - -1, - 398 - ], - "'FOR": [ - -1, - 398 - ], - "'TABLE-SELECT": [ - -1, - 398 - ], - "'TABLE-FILTER": [ - -1, - 398 - ], - "'TABLE-ORDER": [ - -1, - 398 - ], - "'TABLE-EXTRACT": [ - -1, - 398 - ], - "'TABLE-UPDATE": [ - -1, - 398 - ], - "'TABLE-EXTEND": [ - -1, - 398 - ], - "'LOAD-TABLE": [ - -1, - 398 - ] - }, - { - "'NAME": [ - 450 - ] - }, - { - "$": [ - -1, - 400 - ], - "'NAME": [ - -1, - 400 - ], - "'COLON": [ - -1, - 400 - ], - "'END": [ - -1, - 400 - ], - "'COMMA": [ - -1, - 400 - ], - "'STRING": [ - -1, - 400 - ], - "'TYPE": [ - -1, - 400 - ], - "'DATA": [ - -1, - 400 - ], - "'PARENSPACE": [ - -1, - 400 - ], - "'SPY": [ - -1, - 400 - ], - "'NEWTYPE": [ - -1, - 400 - ], - "'LBRACE": [ - -1, - 400 - ], - "'RBRACE": [ - -1, - 400 - ], - "'SHADOW": [ - -1, - 400 - ], - "'LET": [ - -1, - 400 - ], - "'BLOCK": [ - -1, - 400 - ], - "'LETREC": [ - -1, - 400 - ], - "'TYPE-LET": [ - -1, - 400 - ], - "'FUN": [ - -1, - 400 - ], - "'PARENAFTERBRACE": [ - -1, - 400 - ], - "'WHERE": [ - -1, - 400 - ], - "'CHECK": [ - -1, - 400 - ], - "'EXAMPLES": [ - -1, - 400 - ], - "'CHECKCOLON": [ - -1, - 400 - ], - "'EXAMPLESCOLON": [ - -1, - 400 - ], - "'BAR": [ - -1, - 400 - ], - "'VAR": [ - -1, - 400 - ], - "'REC": [ - -1, - 400 - ], - "'WHEN": [ - -1, - 400 - ], - "'DOTDOTDOT": [ - -1, - 400 - ], - "'NUMBER": [ - -1, - 400 - ], - "'RATIONAL": [ - -1, - 400 - ], - "'ROUGHRATIONAL": [ - -1, - 400 - ], - "'TRUE": [ - -1, - 400 - ], - "'FALSE": [ - -1, - 400 - ], - "'LAM": [ - -1, - 400 - ], - "'METHOD": [ - -1, - 400 - ], - "'LBRACK": [ - -1, - 400 - ], - "'TABLE": [ - -1, - 400 - ], - "'REACTOR": [ - -1, - 400 - ], - "'IF": [ - -1, - 400 - ], - "'ELSECOLON": [ - -1, - 400 - ], - "'ELSEIF": [ - -1, - 400 - ], - "'ASK": [ - -1, - 400 - ], - "'CASES": [ - -1, - 400 - ], - "'FOR": [ - -1, - 400 - ], - "'TABLE-SELECT": [ - -1, - 400 - ], - "'TABLE-FILTER": [ - -1, - 400 - ], - "'TABLE-ORDER": [ - -1, - 400 - ], - "'TABLE-EXTRACT": [ - -1, - 400 - ], - "'TABLE-UPDATE": [ - -1, - 400 - ], - "'TABLE-EXTEND": [ - -1, - 400 - ], - "'LOAD-TABLE": [ - -1, - 400 - ] - }, - { - "'SEMI": [ - 451 - ], - "tuple-fields_I2?": [ - 452 - ], - "tuple-fields_I1": [ - 453 - ], - "tuple-fields_I2": [ - 454 - ], - "'RBRACE": [ - -1, - 402, - 404 - ] - }, - { - "'NAME": [ - -1, - 406 - ], - "'RPAREN": [ - -1, - 406 - ], - "'LBRACE": [ - -1, - 406 - ], - "'SHADOW": [ - -1, - 406 - ] - }, - { - "binding": [ - 455 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "bad-args_I1?": [ - 456 - ], - "bad-args_I1": [ - 457 - ], - "'NAME": [ - -1, - 22 - ], - "'RPAREN": [ - -1, - 408 - ] - }, - { - "return-ann": [ - 458 - ], - "return-ann_I0?": [ - 459 - ], - "return-ann_I0": [ - 460 - ], - "'THINARROW": [ - 461 - ], - "'COLON": [ - -1, - 410, - 412, - 414 - ], - "'BLOCK": [ - -1, - 410, - 412, - 414 - ] - }, - { - "return-ann": [ - 462 - ], - "return-ann_I0?": [ - 459 - ], - "return-ann_I0": [ - 460 - ], - "'THINARROW": [ - 461 - ], - "'COLON": [ - -1, - 416, - 412, - 414 - ], - "'BLOCK": [ - -1, - 416, - 412, - 414 - ] - }, - { - "binding": [ - 463 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "args_I1?": [ - 464 - ], - "args_I1": [ - 465 - ], - "'NAME": [ - -1, - 22 - ], - "'RPAREN": [ - -1, - 418 - ] - }, - { - "'NAME": [ - -1, - 420 - ], - "'RPAREN": [ - -1, - 420 - ], - "'LBRACE": [ - -1, - 420 - ], - "'SHADOW": [ - -1, - 420 - ] - }, - { - "tuple-binding_I3?": [ - 466 - ], - "'SEMI": [ - 467 - ], - "tuple-binding_I3": [ - 468 - ], - "'RBRACE": [ - -1, - 422 - ] - }, - { - "'NAME": [ - -1, - 424 - ], - "'LBRACE": [ - -1, - 424 - ], - "'SHADOW": [ - -1, - 424 - ] - }, - { - "'NAME": [ - -1, - 426 - ], - "'STRING": [ - -1, - 426 - ], - "'TYPE": [ - -1, - 426 - ], - "'DATA": [ - -1, - 426 - ], - "'PARENSPACE": [ - -1, - 426 - ], - "'SPY": [ - -1, - 426 - ], - "'NEWTYPE": [ - -1, - 426 - ], - "'LBRACE": [ - -1, - 426 - ], - "'RBRACE": [ - -1, - 426 - ], - "'SHADOW": [ - -1, - 426 - ], - "'LET": [ - -1, - 426 - ], - "'BLOCK": [ - -1, - 426 - ], - "'LETREC": [ - -1, - 426 - ], - "'TYPE-LET": [ - -1, - 426 - ], - "'FUN": [ - -1, - 426 - ], - "'PARENAFTERBRACE": [ - -1, - 426 - ], - "'DOC": [ - -1, - 426 - ], - "'WHERE": [ - -1, - 426 - ], - "'CHECK": [ - -1, - 426 - ], - "'EXAMPLES": [ - -1, - 426 - ], - "'CHECKCOLON": [ - -1, - 426 - ], - "'EXAMPLESCOLON": [ - -1, - 426 - ], - "'VAR": [ - -1, - 426 - ], - "'REC": [ - -1, - 426 - ], - "'WHEN": [ - -1, - 426 - ], - "'DOTDOTDOT": [ - -1, - 426 - ], - "'NUMBER": [ - -1, - 426 - ], - "'RATIONAL": [ - -1, - 426 - ], - "'ROUGHRATIONAL": [ - -1, - 426 - ], - "'TRUE": [ - -1, - 426 - ], - "'FALSE": [ - -1, - 426 - ], - "'LAM": [ - -1, - 426 - ], - "'METHOD": [ - -1, - 426 - ], - "'LBRACK": [ - -1, - 426 - ], - "'TABLE": [ - -1, - 426 - ], - "'REACTOR": [ - -1, - 426 - ], - "'IF": [ - -1, - 426 - ], - "'ASK": [ - -1, - 426 - ], - "'CASES": [ - -1, - 426 - ], - "'FOR": [ - -1, - 426 - ], - "'TABLE-SELECT": [ - -1, - 426 - ], - "'TABLE-FILTER": [ - -1, - 426 - ], - "'TABLE-ORDER": [ - -1, - 426 - ], - "'TABLE-EXTRACT": [ - -1, - 426 - ], - "'TABLE-UPDATE": [ - -1, - 426 - ], - "'TABLE-EXTEND": [ - -1, - 426 - ], - "'LOAD-TABLE": [ - -1, - 426 - ] - }, - { - "'NAME": [ - -1, - 428 - ], - "'STRING": [ - -1, - 428 - ], - "'TYPE": [ - -1, - 428 - ], - "'DATA": [ - -1, - 428 - ], - "'PARENSPACE": [ - -1, - 428 - ], - "'SPY": [ - -1, - 428 - ], - "'NEWTYPE": [ - -1, - 428 - ], - "'LBRACE": [ - -1, - 428 - ], - "'RBRACE": [ - -1, - 428 - ], - "'SHADOW": [ - -1, - 428 - ], - "'LET": [ - -1, - 428 - ], - "'BLOCK": [ - -1, - 428 - ], - "'LETREC": [ - -1, - 428 - ], - "'TYPE-LET": [ - -1, - 428 - ], - "'FUN": [ - -1, - 428 - ], - "'PARENAFTERBRACE": [ - -1, - 428 - ], - "'DOC": [ - -1, - 428 - ], - "'WHERE": [ - -1, - 428 - ], - "'CHECK": [ - -1, - 428 - ], - "'EXAMPLES": [ - -1, - 428 - ], - "'CHECKCOLON": [ - -1, - 428 - ], - "'EXAMPLESCOLON": [ - -1, - 428 - ], - "'VAR": [ - -1, - 428 - ], - "'REC": [ - -1, - 428 - ], - "'WHEN": [ - -1, - 428 - ], - "'DOTDOTDOT": [ - -1, - 428 - ], - "'NUMBER": [ - -1, - 428 - ], - "'RATIONAL": [ - -1, - 428 - ], - "'ROUGHRATIONAL": [ - -1, - 428 - ], - "'TRUE": [ - -1, - 428 - ], - "'FALSE": [ - -1, - 428 - ], - "'LAM": [ - -1, - 428 - ], - "'METHOD": [ - -1, - 428 - ], - "'LBRACK": [ - -1, - 428 - ], - "'TABLE": [ - -1, - 428 - ], - "'REACTOR": [ - -1, - 428 - ], - "'IF": [ - -1, - 428 - ], - "'ASK": [ - -1, - 428 - ], - "'CASES": [ - -1, - 428 - ], - "'FOR": [ - -1, - 428 - ], - "'TABLE-SELECT": [ - -1, - 428 - ], - "'TABLE-FILTER": [ - -1, - 428 - ], - "'TABLE-ORDER": [ - -1, - 428 - ], - "'TABLE-EXTRACT": [ - -1, - 428 - ], - "'TABLE-UPDATE": [ - -1, - 428 - ], - "'TABLE-EXTEND": [ - -1, - 428 - ], - "'LOAD-TABLE": [ - -1, - 428 - ] - }, - { - "doc-string": [ - 469 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'RBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "comma-names_I1*": [ - 399 - ], - "'COMMA": [ - -1, - 342 - ], - "'RANGLE": [ - -1, - 340, - 342 - ], - "'GT": [ - -1, - 340, - 342 - ] - }, - { - "ty-params_I0_I2": [ - 473 - ], - "'RANGLE": [ - 474 - ], - "'GT": [ - 475 - ] - }, - { - "'COLON": [ - -1, - 262 - ], - "'PARENNOSPACE": [ - -1, - 262 - ], - "'PARENSPACE": [ - -1, - 262 - ], - "'COLONCOLON": [ - -1, - 262 - ], - "'LANGLE": [ - -1, - 262 - ], - "'LT": [ - -1, - 262 - ], - "'PARENAFTERBRACE": [ - -1, - 262 - ] - }, - { - "'COLONCOLON": [ - 476 - ], - "obj-field_A1_I2?": [ - 477 - ], - "obj-field_A1_I2": [ - 478 - ], - "'COLON": [ - -1, - 434 - ] - }, - { - "ty-params": [ - 166 - ], - "fun-header": [ - 479 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "$": [ - -1, - 436 - ], - "'NAME": [ - -1, - 436 - ], - "'COLON": [ - -1, - 436 - ], - "'END": [ - -1, - 436 - ], - "'COMMA": [ - -1, - 436 - ], - "'PARENNOSPACE": [ - -1, - 436 - ], - "'STRING": [ - -1, - 436 - ], - "'RPAREN": [ - -1, - 436 - ], - "'TYPE": [ - -1, - 436 - ], - "'DATA": [ - -1, - 436 - ], - "'TIMES": [ - -1, - 436 - ], - "'PARENSPACE": [ - -1, - 436 - ], - "'DOT": [ - -1, - 436 - ], - "'SPY": [ - -1, - 436 - ], - "'NEWTYPE": [ - -1, - 436 - ], - "'LBRACE": [ - -1, - 436 - ], - "'RBRACE": [ - -1, - 436 - ], - "'SEMI": [ - -1, - 436 - ], - "'SHADOW": [ - -1, - 436 - ], - "'LET": [ - -1, - 436 - ], - "'BLOCK": [ - -1, - 436 - ], - "'LETREC": [ - -1, - 436 - ], - "'TYPE-LET": [ - -1, - 436 - ], - "'FUN": [ - -1, - 436 - ], - "'LANGLE": [ - -1, - 436 - ], - "'LT": [ - -1, - 436 - ], - "'GT": [ - -1, - 436 - ], - "'PARENAFTERBRACE": [ - -1, - 436 - ], - "'WHERE": [ - -1, - 436 - ], - "'CHECK": [ - -1, - 436 - ], - "'EXAMPLES": [ - -1, - 436 - ], - "'CHECKCOLON": [ - -1, - 436 - ], - "'EXAMPLESCOLON": [ - -1, - 436 - ], - "'BECAUSE": [ - -1, - 436 - ], - "'BAR": [ - -1, - 436 - ], - "'SHARING": [ - -1, - 436 - ], - "'VAR": [ - -1, - 436 - ], - "'REC": [ - -1, - 436 - ], - "'WHEN": [ - -1, - 436 - ], - "'PLUS": [ - -1, - 436 - ], - "'DASH": [ - -1, - 436 - ], - "'SLASH": [ - -1, - 436 - ], - "'LEQ": [ - -1, - 436 - ], - "'GEQ": [ - -1, - 436 - ], - "'EQUALEQUAL": [ - -1, - 436 - ], - "'SPACESHIP": [ - -1, - 436 - ], - "'EQUALTILDE": [ - -1, - 436 - ], - "'NEQ": [ - -1, - 436 - ], - "'AND": [ - -1, - 436 - ], - "'OR": [ - -1, - 436 - ], - "'CARET": [ - -1, - 436 - ], - "'IS": [ - -1, - 436 - ], - "'ISEQUALEQUAL": [ - -1, - 436 - ], - "'ISEQUALTILDE": [ - -1, - 436 - ], - "'ISSPACESHIP": [ - -1, - 436 - ], - "'ISROUGHLY": [ - -1, - 436 - ], - "'ISNOT": [ - -1, - 436 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 436 - ], - "'ISNOTEQUALTILDE": [ - -1, - 436 - ], - "'ISNOTSPACESHIP": [ - -1, - 436 - ], - "'RAISES": [ - -1, - 436 - ], - "'RAISESOTHER": [ - -1, - 436 - ], - "'SATISFIES": [ - -1, - 436 - ], - "'SATISFIESNOT": [ - -1, - 436 - ], - "'RAISESSATISFIES": [ - -1, - 436 - ], - "'RAISESVIOLATES": [ - -1, - 436 - ], - "'RAISESNOT": [ - -1, - 436 - ], - "'DOTDOTDOT": [ - -1, - 436 - ], - "'NUMBER": [ - -1, - 436 - ], - "'RATIONAL": [ - -1, - 436 - ], - "'ROUGHRATIONAL": [ - -1, - 436 - ], - "'TRUE": [ - -1, - 436 - ], - "'FALSE": [ - -1, - 436 - ], - "'LAM": [ - -1, - 436 - ], - "'METHOD": [ - -1, - 436 - ], - "'LBRACK": [ - -1, - 436 - ], - "'RBRACK": [ - -1, - 436 - ], - "'TABLE": [ - -1, - 436 - ], - "'ROW": [ - -1, - 436 - ], - "'REACTOR": [ - -1, - 436 - ], - "'BANG": [ - -1, - 436 - ], - "'IF": [ - -1, - 436 - ], - "'ELSECOLON": [ - -1, - 436 - ], - "'ELSEIF": [ - -1, - 436 - ], - "'ASK": [ - -1, - 436 - ], - "'THENCOLON": [ - -1, - 436 - ], - "'CASES": [ - -1, - 436 - ], - "'FOR": [ - -1, - 436 - ], - "'TABLE-SELECT": [ - -1, - 436 - ], - "'TABLE-FILTER": [ - -1, - 436 - ], - "'USING": [ - -1, - 436 - ], - "'TABLE-ORDER": [ - -1, - 436 - ], - "'TABLE-EXTRACT": [ - -1, - 436 - ], - "'TABLE-UPDATE": [ - -1, - 436 - ], - "'TABLE-EXTEND": [ - -1, - 436 - ], - "'OF": [ - -1, - 436 - ], - "'LOAD-TABLE": [ - -1, - 436 - ], - "'SOURCECOLON": [ - -1, - 436 - ], - "'SANITIZE": [ - -1, - 436 - ] - }, - { - "$": [ - -1, - 438 - ], - "'NAME": [ - -1, - 438 - ], - "'COLON": [ - -1, - 438 - ], - "'END": [ - -1, - 438 - ], - "'COMMA": [ - -1, - 438 - ], - "'PARENNOSPACE": [ - -1, - 438 - ], - "'STRING": [ - -1, - 438 - ], - "'RPAREN": [ - -1, - 438 - ], - "'TYPE": [ - -1, - 438 - ], - "'DATA": [ - -1, - 438 - ], - "'TIMES": [ - -1, - 438 - ], - "'PARENSPACE": [ - -1, - 438 - ], - "'DOT": [ - -1, - 438 - ], - "'SPY": [ - -1, - 438 - ], - "'NEWTYPE": [ - -1, - 438 - ], - "'LBRACE": [ - -1, - 438 - ], - "'RBRACE": [ - -1, - 438 - ], - "'SEMI": [ - -1, - 438 - ], - "'SHADOW": [ - -1, - 438 - ], - "'LET": [ - -1, - 438 - ], - "'BLOCK": [ - -1, - 438 - ], - "'LETREC": [ - -1, - 438 - ], - "'TYPE-LET": [ - -1, - 438 - ], - "'FUN": [ - -1, - 438 - ], - "'LANGLE": [ - -1, - 438 - ], - "'LT": [ - -1, - 438 - ], - "'GT": [ - -1, - 438 - ], - "'PARENAFTERBRACE": [ - -1, - 438 - ], - "'WHERE": [ - -1, - 438 - ], - "'CHECK": [ - -1, - 438 - ], - "'EXAMPLES": [ - -1, - 438 - ], - "'CHECKCOLON": [ - -1, - 438 - ], - "'EXAMPLESCOLON": [ - -1, - 438 - ], - "'BECAUSE": [ - -1, - 438 - ], - "'BAR": [ - -1, - 438 - ], - "'SHARING": [ - -1, - 438 - ], - "'VAR": [ - -1, - 438 - ], - "'REC": [ - -1, - 438 - ], - "'WHEN": [ - -1, - 438 - ], - "'PLUS": [ - -1, - 438 - ], - "'DASH": [ - -1, - 438 - ], - "'SLASH": [ - -1, - 438 - ], - "'LEQ": [ - -1, - 438 - ], - "'GEQ": [ - -1, - 438 - ], - "'EQUALEQUAL": [ - -1, - 438 - ], - "'SPACESHIP": [ - -1, - 438 - ], - "'EQUALTILDE": [ - -1, - 438 - ], - "'NEQ": [ - -1, - 438 - ], - "'AND": [ - -1, - 438 - ], - "'OR": [ - -1, - 438 - ], - "'CARET": [ - -1, - 438 - ], - "'IS": [ - -1, - 438 - ], - "'ISEQUALEQUAL": [ - -1, - 438 - ], - "'ISEQUALTILDE": [ - -1, - 438 - ], - "'ISSPACESHIP": [ - -1, - 438 - ], - "'ISROUGHLY": [ - -1, - 438 - ], - "'ISNOT": [ - -1, - 438 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 438 - ], - "'ISNOTEQUALTILDE": [ - -1, - 438 - ], - "'ISNOTSPACESHIP": [ - -1, - 438 - ], - "'RAISES": [ - -1, - 438 - ], - "'RAISESOTHER": [ - -1, - 438 - ], - "'SATISFIES": [ - -1, - 438 - ], - "'SATISFIESNOT": [ - -1, - 438 - ], - "'RAISESSATISFIES": [ - -1, - 438 - ], - "'RAISESVIOLATES": [ - -1, - 438 - ], - "'RAISESNOT": [ - -1, - 438 - ], - "'DOTDOTDOT": [ - -1, - 438 - ], - "'NUMBER": [ - -1, - 438 - ], - "'RATIONAL": [ - -1, - 438 - ], - "'ROUGHRATIONAL": [ - -1, - 438 - ], - "'TRUE": [ - -1, - 438 - ], - "'FALSE": [ - -1, - 438 - ], - "'LAM": [ - -1, - 438 - ], - "'METHOD": [ - -1, - 438 - ], - "'LBRACK": [ - -1, - 438 - ], - "'RBRACK": [ - -1, - 438 - ], - "'TABLE": [ - -1, - 438 - ], - "'ROW": [ - -1, - 438 - ], - "'REACTOR": [ - -1, - 438 - ], - "'BANG": [ - -1, - 438 - ], - "'IF": [ - -1, - 438 - ], - "'ELSECOLON": [ - -1, - 438 - ], - "'ELSEIF": [ - -1, - 438 - ], - "'ASK": [ - -1, - 438 - ], - "'THENCOLON": [ - -1, - 438 - ], - "'CASES": [ - -1, - 438 - ], - "'FOR": [ - -1, - 438 - ], - "'TABLE-SELECT": [ - -1, - 438 - ], - "'TABLE-FILTER": [ - -1, - 438 - ], - "'USING": [ - -1, - 438 - ], - "'TABLE-ORDER": [ - -1, - 438 - ], - "'TABLE-EXTRACT": [ - -1, - 438 - ], - "'TABLE-UPDATE": [ - -1, - 438 - ], - "'TABLE-EXTEND": [ - -1, - 438 - ], - "'OF": [ - -1, - 438 - ], - "'LOAD-TABLE": [ - -1, - 438 - ], - "'SOURCECOLON": [ - -1, - 438 - ], - "'SANITIZE": [ - -1, - 438 - ] - }, - { - "'COMMA": [ - 480 - ], - "obj-fields_I2?": [ - 481 - ], - "obj-fields_I1": [ - 482 - ], - "obj-fields_I2": [ - 483 - ], - "'END": [ - -1, - 440, - 442 - ], - "'RBRACE": [ - -1, - 440, - 442 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 484 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'FROM": [ - -1, - 444 - ], - "'COLON": [ - -1, - 444 - ], - "'COMMA": [ - -1, - 444 - ], - "'RPAREN": [ - -1, - 444 - ], - "'EQUALS": [ - -1, - 444 - ], - "'RBRACE": [ - -1, - 444 - ], - "'SEMI": [ - -1, - 444 - ] - }, - { - "'FROM": [ - -1, - 446 - ], - "'COLON": [ - -1, - 446 - ], - "'COMMA": [ - -1, - 446 - ], - "'RPAREN": [ - -1, - 446 - ], - "'EQUALS": [ - -1, - 446 - ], - "'RBRACE": [ - -1, - 446 - ], - "'SEMI": [ - -1, - 446 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 485 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'COLON": [ - 486 - ], - "'COMMA": [ - 487 - ], - "multi-let-expr_I3": [ - 488 - ], - "multi-let-expr_I2": [ - 489 - ], - "'BLOCK": [ - 490 - ] - }, - { - "$": [ - -1, - 448 - ], - "'NAME": [ - -1, - 448 - ], - "'COLON": [ - -1, - 448 - ], - "'END": [ - -1, - 448 - ], - "'COMMA": [ - -1, - 448 - ], - "'PARENNOSPACE": [ - -1, - 448 - ], - "'STRING": [ - -1, - 448 - ], - "'RPAREN": [ - -1, - 448 - ], - "'TYPE": [ - -1, - 448 - ], - "'DATA": [ - -1, - 448 - ], - "'TIMES": [ - -1, - 448 - ], - "'PARENSPACE": [ - -1, - 448 - ], - "'DOT": [ - -1, - 448 - ], - "'SPY": [ - -1, - 448 - ], - "'NEWTYPE": [ - -1, - 448 - ], - "'LBRACE": [ - -1, - 448 - ], - "'RBRACE": [ - -1, - 448 - ], - "'SEMI": [ - -1, - 448 - ], - "'SHADOW": [ - -1, - 448 - ], - "'LET": [ - -1, - 448 - ], - "'BLOCK": [ - -1, - 448 - ], - "'LETREC": [ - -1, - 448 - ], - "'TYPE-LET": [ - -1, - 448 - ], - "'FUN": [ - -1, - 448 - ], - "'LANGLE": [ - -1, - 448 - ], - "'LT": [ - -1, - 448 - ], - "'GT": [ - -1, - 448 - ], - "'PARENAFTERBRACE": [ - -1, - 448 - ], - "'WHERE": [ - -1, - 448 - ], - "'CHECK": [ - -1, - 448 - ], - "'EXAMPLES": [ - -1, - 448 - ], - "'CHECKCOLON": [ - -1, - 448 - ], - "'EXAMPLESCOLON": [ - -1, - 448 - ], - "'BECAUSE": [ - -1, - 448 - ], - "'BAR": [ - -1, - 448 - ], - "'SHARING": [ - -1, - 448 - ], - "'VAR": [ - -1, - 448 - ], - "'REC": [ - -1, - 448 - ], - "'WHEN": [ - -1, - 448 - ], - "'PLUS": [ - -1, - 448 - ], - "'DASH": [ - -1, - 448 - ], - "'SLASH": [ - -1, - 448 - ], - "'LEQ": [ - -1, - 448 - ], - "'GEQ": [ - -1, - 448 - ], - "'EQUALEQUAL": [ - -1, - 448 - ], - "'SPACESHIP": [ - -1, - 448 - ], - "'EQUALTILDE": [ - -1, - 448 - ], - "'NEQ": [ - -1, - 448 - ], - "'AND": [ - -1, - 448 - ], - "'OR": [ - -1, - 448 - ], - "'CARET": [ - -1, - 448 - ], - "'IS": [ - -1, - 448 - ], - "'ISEQUALEQUAL": [ - -1, - 448 - ], - "'ISEQUALTILDE": [ - -1, - 448 - ], - "'ISSPACESHIP": [ - -1, - 448 - ], - "'ISROUGHLY": [ - -1, - 448 - ], - "'ISNOT": [ - -1, - 448 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 448 - ], - "'ISNOTEQUALTILDE": [ - -1, - 448 - ], - "'ISNOTSPACESHIP": [ - -1, - 448 - ], - "'RAISES": [ - -1, - 448 - ], - "'RAISESOTHER": [ - -1, - 448 - ], - "'SATISFIES": [ - -1, - 448 - ], - "'SATISFIESNOT": [ - -1, - 448 - ], - "'RAISESSATISFIES": [ - -1, - 448 - ], - "'RAISESVIOLATES": [ - -1, - 448 - ], - "'RAISESNOT": [ - -1, - 448 - ], - "'DOTDOTDOT": [ - -1, - 448 - ], - "'NUMBER": [ - -1, - 448 - ], - "'RATIONAL": [ - -1, - 448 - ], - "'ROUGHRATIONAL": [ - -1, - 448 - ], - "'TRUE": [ - -1, - 448 - ], - "'FALSE": [ - -1, - 448 - ], - "'LAM": [ - -1, - 448 - ], - "'METHOD": [ - -1, - 448 - ], - "'LBRACK": [ - -1, - 448 - ], - "'RBRACK": [ - -1, - 448 - ], - "'TABLE": [ - -1, - 448 - ], - "'ROW": [ - -1, - 448 - ], - "'REACTOR": [ - -1, - 448 - ], - "'BANG": [ - -1, - 448 - ], - "'IF": [ - -1, - 448 - ], - "'ELSECOLON": [ - -1, - 448 - ], - "'ELSEIF": [ - -1, - 448 - ], - "'ASK": [ - -1, - 448 - ], - "'THENCOLON": [ - -1, - 448 - ], - "'CASES": [ - -1, - 448 - ], - "'FOR": [ - -1, - 448 - ], - "'TABLE-SELECT": [ - -1, - 448 - ], - "'TABLE-FILTER": [ - -1, - 448 - ], - "'USING": [ - -1, - 448 - ], - "'TABLE-ORDER": [ - -1, - 448 - ], - "'TABLE-EXTRACT": [ - -1, - 448 - ], - "'TABLE-UPDATE": [ - -1, - 448 - ], - "'TABLE-EXTEND": [ - -1, - 448 - ], - "'OF": [ - -1, - 448 - ], - "'LOAD-TABLE": [ - -1, - 448 - ], - "'SOURCECOLON": [ - -1, - 448 - ], - "'SANITIZE": [ - -1, - 448 - ] - }, - { - "'COLON": [ - 491 - ], - "'COMMA": [ - 492 - ], - "'BLOCK": [ - 493 - ], - "letrec-expr_I3": [ - 494 - ], - "letrec-expr_I2": [ - 495 - ] - }, - { - "'EQUALS": [ - 496 - ] - }, - { - "'AS": [ - 497 - ] - }, - { - "'COLON": [ - 498 - ], - "'COMMA": [ - 499 - ], - "'BLOCK": [ - 500 - ], - "type-let-expr_I3": [ - 501 - ], - "type-let-expr_I2": [ - 502 - ] - }, - { - "'COLON": [ - 503 - ], - "'BLOCK": [ - 504 - ], - "fun-expr_I3": [ - 505 - ] - }, - { - "block": [ - 506 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 450 - ], - "'NAME": [ - -1, - 450 - ], - "'END": [ - -1, - 450 - ], - "'STRING": [ - -1, - 450 - ], - "'TYPE": [ - -1, - 450 - ], - "'DATA": [ - -1, - 450 - ], - "'PARENSPACE": [ - -1, - 450 - ], - "'SPY": [ - -1, - 450 - ], - "'NEWTYPE": [ - -1, - 450 - ], - "'LBRACE": [ - -1, - 450 - ], - "'RBRACE": [ - -1, - 450 - ], - "'SHADOW": [ - -1, - 450 - ], - "'LET": [ - -1, - 450 - ], - "'BLOCK": [ - -1, - 450 - ], - "'LETREC": [ - -1, - 450 - ], - "'TYPE-LET": [ - -1, - 450 - ], - "'FUN": [ - -1, - 450 - ], - "'PARENAFTERBRACE": [ - -1, - 450 - ], - "'WHERE": [ - -1, - 450 - ], - "'CHECK": [ - -1, - 450 - ], - "'EXAMPLES": [ - -1, - 450 - ], - "'CHECKCOLON": [ - -1, - 450 - ], - "'EXAMPLESCOLON": [ - -1, - 450 - ], - "'BAR": [ - -1, - 450 - ], - "'VAR": [ - -1, - 450 - ], - "'REC": [ - -1, - 450 - ], - "'WHEN": [ - -1, - 450 - ], - "'DOTDOTDOT": [ - -1, - 450 - ], - "'NUMBER": [ - -1, - 450 - ], - "'RATIONAL": [ - -1, - 450 - ], - "'ROUGHRATIONAL": [ - -1, - 450 - ], - "'TRUE": [ - -1, - 450 - ], - "'FALSE": [ - -1, - 450 - ], - "'LAM": [ - -1, - 450 - ], - "'METHOD": [ - -1, - 450 - ], - "'LBRACK": [ - -1, - 450 - ], - "'TABLE": [ - -1, - 450 - ], - "'REACTOR": [ - -1, - 450 - ], - "'IF": [ - -1, - 450 - ], - "'ELSECOLON": [ - -1, - 450 - ], - "'ELSEIF": [ - -1, - 450 - ], - "'ASK": [ - -1, - 450 - ], - "'CASES": [ - -1, - 450 - ], - "'FOR": [ - -1, - 450 - ], - "'TABLE-SELECT": [ - -1, - 450 - ], - "'TABLE-FILTER": [ - -1, - 450 - ], - "'TABLE-ORDER": [ - -1, - 450 - ], - "'TABLE-EXTRACT": [ - -1, - 450 - ], - "'TABLE-UPDATE": [ - -1, - 450 - ], - "'TABLE-EXTEND": [ - -1, - 450 - ], - "'LOAD-TABLE": [ - -1, - 450 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 507 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 508 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - -1, - 452 - ], - "'END": [ - -1, - 452 - ], - "'STRING": [ - -1, - 452 - ], - "'TYPE": [ - -1, - 452 - ], - "'DATA": [ - -1, - 452 - ], - "'PARENSPACE": [ - -1, - 452 - ], - "'SPY": [ - -1, - 452 - ], - "'NEWTYPE": [ - -1, - 452 - ], - "'LBRACE": [ - -1, - 452 - ], - "'SHADOW": [ - -1, - 452 - ], - "'LET": [ - -1, - 452 - ], - "'BLOCK": [ - -1, - 452 - ], - "'LETREC": [ - -1, - 452 - ], - "'TYPE-LET": [ - -1, - 452 - ], - "'FUN": [ - -1, - 452 - ], - "'PARENAFTERBRACE": [ - -1, - 452 - ], - "'CHECK": [ - -1, - 452 - ], - "'EXAMPLES": [ - -1, - 452 - ], - "'CHECKCOLON": [ - -1, - 452 - ], - "'EXAMPLESCOLON": [ - -1, - 452 - ], - "'VAR": [ - -1, - 452 - ], - "'REC": [ - -1, - 452 - ], - "'WHEN": [ - -1, - 452 - ], - "'DOTDOTDOT": [ - -1, - 452 - ], - "'NUMBER": [ - -1, - 452 - ], - "'RATIONAL": [ - -1, - 452 - ], - "'ROUGHRATIONAL": [ - -1, - 452 - ], - "'TRUE": [ - -1, - 452 - ], - "'FALSE": [ - -1, - 452 - ], - "'LAM": [ - -1, - 452 - ], - "'METHOD": [ - -1, - 452 - ], - "'LBRACK": [ - -1, - 452 - ], - "'TABLE": [ - -1, - 452 - ], - "'REACTOR": [ - -1, - 452 - ], - "'IF": [ - -1, - 452 - ], - "'ASK": [ - -1, - 452 - ], - "'CASES": [ - -1, - 452 - ], - "'FOR": [ - -1, - 452 - ], - "'TABLE-SELECT": [ - -1, - 452 - ], - "'TABLE-FILTER": [ - -1, - 452 - ], - "'TABLE-ORDER": [ - -1, - 452 - ], - "'TABLE-EXTRACT": [ - -1, - 452 - ], - "'TABLE-UPDATE": [ - -1, - 452 - ], - "'TABLE-EXTEND": [ - -1, - 452 - ], - "'LOAD-TABLE": [ - -1, - 452 - ] - }, - { - "'NAME": [ - -1, - 454 - ], - "'END": [ - -1, - 454 - ], - "'STRING": [ - -1, - 454 - ], - "'TYPE": [ - -1, - 454 - ], - "'DATA": [ - -1, - 454 - ], - "'PARENSPACE": [ - -1, - 454 - ], - "'SPY": [ - -1, - 454 - ], - "'NEWTYPE": [ - -1, - 454 - ], - "'LBRACE": [ - -1, - 454 - ], - "'SHADOW": [ - -1, - 454 - ], - "'LET": [ - -1, - 454 - ], - "'BLOCK": [ - -1, - 454 - ], - "'LETREC": [ - -1, - 454 - ], - "'TYPE-LET": [ - -1, - 454 - ], - "'FUN": [ - -1, - 454 - ], - "'PARENAFTERBRACE": [ - -1, - 454 - ], - "'CHECK": [ - -1, - 454 - ], - "'EXAMPLES": [ - -1, - 454 - ], - "'CHECKCOLON": [ - -1, - 454 - ], - "'EXAMPLESCOLON": [ - -1, - 454 - ], - "'VAR": [ - -1, - 454 - ], - "'REC": [ - -1, - 454 - ], - "'WHEN": [ - -1, - 454 - ], - "'DOTDOTDOT": [ - -1, - 454 - ], - "'NUMBER": [ - -1, - 454 - ], - "'RATIONAL": [ - -1, - 454 - ], - "'ROUGHRATIONAL": [ - -1, - 454 - ], - "'TRUE": [ - -1, - 454 - ], - "'FALSE": [ - -1, - 454 - ], - "'LAM": [ - -1, - 454 - ], - "'METHOD": [ - -1, - 454 - ], - "'LBRACK": [ - -1, - 454 - ], - "'TABLE": [ - -1, - 454 - ], - "'REACTOR": [ - -1, - 454 - ], - "'IF": [ - -1, - 454 - ], - "'ASK": [ - -1, - 454 - ], - "'CASES": [ - -1, - 454 - ], - "'FOR": [ - -1, - 454 - ], - "'TABLE-SELECT": [ - -1, - 454 - ], - "'TABLE-FILTER": [ - -1, - 454 - ], - "'TABLE-ORDER": [ - -1, - 454 - ], - "'TABLE-EXTRACT": [ - -1, - 454 - ], - "'TABLE-UPDATE": [ - -1, - 454 - ], - "'TABLE-EXTEND": [ - -1, - 454 - ], - "'LOAD-TABLE": [ - -1, - 454 - ] - }, - { - "block": [ - 509 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "comma-binops_I1*": [ - 510 - ], - "'COMMA": [ - -1, - 456, - 458 - ], - "'RPAREN": [ - -1, - 456, - 458 - ], - "'RBRACK": [ - -1, - 456, - 458 - ] - }, - { - "'RPAREN": [ - 511 - ] - }, - { - "'RPAREN": [ - -1, - 460 - ] - }, - { - "'RPAREN": [ - -1, - 462 - ] - }, - { - "'RPAREN": [ - -1, - 464 - ] - }, - { - "$": [ - -1, - 466 - ], - "'NAME": [ - -1, - 466 - ], - "'COLON": [ - -1, - 466 - ], - "'END": [ - -1, - 466 - ], - "'COMMA": [ - -1, - 466 - ], - "'PARENNOSPACE": [ - -1, - 466 - ], - "'STRING": [ - -1, - 466 - ], - "'RPAREN": [ - -1, - 466 - ], - "'TYPE": [ - -1, - 466 - ], - "'DATA": [ - -1, - 466 - ], - "'TIMES": [ - -1, - 466 - ], - "'PARENSPACE": [ - -1, - 466 - ], - "'DOT": [ - -1, - 466 - ], - "'SPY": [ - -1, - 466 - ], - "'NEWTYPE": [ - -1, - 466 - ], - "'LBRACE": [ - -1, - 466 - ], - "'RBRACE": [ - -1, - 466 - ], - "'SEMI": [ - -1, - 466 - ], - "'SHADOW": [ - -1, - 466 - ], - "'LET": [ - -1, - 466 - ], - "'BLOCK": [ - -1, - 466 - ], - "'LETREC": [ - -1, - 466 - ], - "'TYPE-LET": [ - -1, - 466 - ], - "'FUN": [ - -1, - 466 - ], - "'LANGLE": [ - -1, - 466 - ], - "'LT": [ - -1, - 466 - ], - "'GT": [ - -1, - 466 - ], - "'PARENAFTERBRACE": [ - -1, - 466 - ], - "'WHERE": [ - -1, - 466 - ], - "'CHECK": [ - -1, - 466 - ], - "'EXAMPLES": [ - -1, - 466 - ], - "'CHECKCOLON": [ - -1, - 466 - ], - "'EXAMPLESCOLON": [ - -1, - 466 - ], - "'BECAUSE": [ - -1, - 466 - ], - "'BAR": [ - -1, - 466 - ], - "'SHARING": [ - -1, - 466 - ], - "'VAR": [ - -1, - 466 - ], - "'REC": [ - -1, - 466 - ], - "'WHEN": [ - -1, - 466 - ], - "'PLUS": [ - -1, - 466 - ], - "'DASH": [ - -1, - 466 - ], - "'SLASH": [ - -1, - 466 - ], - "'LEQ": [ - -1, - 466 - ], - "'GEQ": [ - -1, - 466 - ], - "'EQUALEQUAL": [ - -1, - 466 - ], - "'SPACESHIP": [ - -1, - 466 - ], - "'EQUALTILDE": [ - -1, - 466 - ], - "'NEQ": [ - -1, - 466 - ], - "'AND": [ - -1, - 466 - ], - "'OR": [ - -1, - 466 - ], - "'CARET": [ - -1, - 466 - ], - "'IS": [ - -1, - 466 - ], - "'ISEQUALEQUAL": [ - -1, - 466 - ], - "'ISEQUALTILDE": [ - -1, - 466 - ], - "'ISSPACESHIP": [ - -1, - 466 - ], - "'ISROUGHLY": [ - -1, - 466 - ], - "'ISNOT": [ - -1, - 466 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 466 - ], - "'ISNOTEQUALTILDE": [ - -1, - 466 - ], - "'ISNOTSPACESHIP": [ - -1, - 466 - ], - "'RAISES": [ - -1, - 466 - ], - "'RAISESOTHER": [ - -1, - 466 - ], - "'SATISFIES": [ - -1, - 466 - ], - "'SATISFIESNOT": [ - -1, - 466 - ], - "'RAISESSATISFIES": [ - -1, - 466 - ], - "'RAISESVIOLATES": [ - -1, - 466 - ], - "'RAISESNOT": [ - -1, - 466 - ], - "'DOTDOTDOT": [ - -1, - 466 - ], - "'NUMBER": [ - -1, - 466 - ], - "'RATIONAL": [ - -1, - 466 - ], - "'ROUGHRATIONAL": [ - -1, - 466 - ], - "'TRUE": [ - -1, - 466 - ], - "'FALSE": [ - -1, - 466 - ], - "'LAM": [ - -1, - 466 - ], - "'METHOD": [ - -1, - 466 - ], - "'LBRACK": [ - -1, - 466 - ], - "'RBRACK": [ - -1, - 466 - ], - "'TABLE": [ - -1, - 466 - ], - "'ROW": [ - -1, - 466 - ], - "'REACTOR": [ - -1, - 466 - ], - "'BANG": [ - -1, - 466 - ], - "'IF": [ - -1, - 466 - ], - "'ELSECOLON": [ - -1, - 466 - ], - "'ELSEIF": [ - -1, - 466 - ], - "'ASK": [ - -1, - 466 - ], - "'THENCOLON": [ - -1, - 466 - ], - "'CASES": [ - -1, - 466 - ], - "'FOR": [ - -1, - 466 - ], - "'TABLE-SELECT": [ - -1, - 466 - ], - "'TABLE-FILTER": [ - -1, - 466 - ], - "'USING": [ - -1, - 466 - ], - "'TABLE-ORDER": [ - -1, - 466 - ], - "'TABLE-EXTRACT": [ - -1, - 466 - ], - "'TABLE-UPDATE": [ - -1, - 466 - ], - "'TABLE-EXTEND": [ - -1, - 466 - ], - "'OF": [ - -1, - 466 - ], - "'LOAD-TABLE": [ - -1, - 466 - ], - "'SOURCECOLON": [ - -1, - 466 - ], - "'SANITIZE": [ - -1, - 466 - ] - }, - { - "'COMMA": [ - 512 - ] - }, - { - "$": [ - -1, - 468 - ], - "'NAME": [ - -1, - 468 - ], - "'COLON": [ - -1, - 468 - ], - "'END": [ - -1, - 468 - ], - "'COMMA": [ - -1, - 468 - ], - "'PARENNOSPACE": [ - -1, - 468 - ], - "'STRING": [ - -1, - 468 - ], - "'RPAREN": [ - -1, - 468 - ], - "'TYPE": [ - -1, - 468 - ], - "'DATA": [ - -1, - 468 - ], - "'TIMES": [ - -1, - 468 - ], - "'PARENSPACE": [ - -1, - 468 - ], - "'DOT": [ - -1, - 468 - ], - "'SPY": [ - -1, - 468 - ], - "'NEWTYPE": [ - -1, - 468 - ], - "'LBRACE": [ - -1, - 468 - ], - "'RBRACE": [ - -1, - 468 - ], - "'SEMI": [ - -1, - 468 - ], - "'SHADOW": [ - -1, - 468 - ], - "'LET": [ - -1, - 468 - ], - "'BLOCK": [ - -1, - 468 - ], - "'LETREC": [ - -1, - 468 - ], - "'TYPE-LET": [ - -1, - 468 - ], - "'FUN": [ - -1, - 468 - ], - "'LANGLE": [ - -1, - 468 - ], - "'LT": [ - -1, - 468 - ], - "'GT": [ - -1, - 468 - ], - "'PARENAFTERBRACE": [ - -1, - 468 - ], - "'WHERE": [ - -1, - 468 - ], - "'CHECK": [ - -1, - 468 - ], - "'EXAMPLES": [ - -1, - 468 - ], - "'CHECKCOLON": [ - -1, - 468 - ], - "'EXAMPLESCOLON": [ - -1, - 468 - ], - "'BECAUSE": [ - -1, - 468 - ], - "'BAR": [ - -1, - 468 - ], - "'SHARING": [ - -1, - 468 - ], - "'VAR": [ - -1, - 468 - ], - "'REC": [ - -1, - 468 - ], - "'WHEN": [ - -1, - 468 - ], - "'PLUS": [ - -1, - 468 - ], - "'DASH": [ - -1, - 468 - ], - "'SLASH": [ - -1, - 468 - ], - "'LEQ": [ - -1, - 468 - ], - "'GEQ": [ - -1, - 468 - ], - "'EQUALEQUAL": [ - -1, - 468 - ], - "'SPACESHIP": [ - -1, - 468 - ], - "'EQUALTILDE": [ - -1, - 468 - ], - "'NEQ": [ - -1, - 468 - ], - "'AND": [ - -1, - 468 - ], - "'OR": [ - -1, - 468 - ], - "'CARET": [ - -1, - 468 - ], - "'IS": [ - -1, - 468 - ], - "'ISEQUALEQUAL": [ - -1, - 468 - ], - "'ISEQUALTILDE": [ - -1, - 468 - ], - "'ISSPACESHIP": [ - -1, - 468 - ], - "'ISROUGHLY": [ - -1, - 468 - ], - "'ISNOT": [ - -1, - 468 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 468 - ], - "'ISNOTEQUALTILDE": [ - -1, - 468 - ], - "'ISNOTSPACESHIP": [ - -1, - 468 - ], - "'RAISES": [ - -1, - 468 - ], - "'RAISESOTHER": [ - -1, - 468 - ], - "'SATISFIES": [ - -1, - 468 - ], - "'SATISFIESNOT": [ - -1, - 468 - ], - "'RAISESSATISFIES": [ - -1, - 468 - ], - "'RAISESVIOLATES": [ - -1, - 468 - ], - "'RAISESNOT": [ - -1, - 468 - ], - "'DOTDOTDOT": [ - -1, - 468 - ], - "'NUMBER": [ - -1, - 468 - ], - "'RATIONAL": [ - -1, - 468 - ], - "'ROUGHRATIONAL": [ - -1, - 468 - ], - "'TRUE": [ - -1, - 468 - ], - "'FALSE": [ - -1, - 468 - ], - "'LAM": [ - -1, - 468 - ], - "'METHOD": [ - -1, - 468 - ], - "'LBRACK": [ - -1, - 468 - ], - "'RBRACK": [ - -1, - 468 - ], - "'TABLE": [ - -1, - 468 - ], - "'ROW": [ - -1, - 468 - ], - "'REACTOR": [ - -1, - 468 - ], - "'BANG": [ - -1, - 468 - ], - "'IF": [ - -1, - 468 - ], - "'ELSECOLON": [ - -1, - 468 - ], - "'ELSEIF": [ - -1, - 468 - ], - "'ASK": [ - -1, - 468 - ], - "'THENCOLON": [ - -1, - 468 - ], - "'CASES": [ - -1, - 468 - ], - "'FOR": [ - -1, - 468 - ], - "'TABLE-SELECT": [ - -1, - 468 - ], - "'TABLE-FILTER": [ - -1, - 468 - ], - "'USING": [ - -1, - 468 - ], - "'TABLE-ORDER": [ - -1, - 468 - ], - "'TABLE-EXTRACT": [ - -1, - 468 - ], - "'TABLE-UPDATE": [ - -1, - 468 - ], - "'TABLE-EXTEND": [ - -1, - 468 - ], - "'OF": [ - -1, - 468 - ], - "'LOAD-TABLE": [ - -1, - 468 - ], - "'SOURCECOLON": [ - -1, - 468 - ], - "'SANITIZE": [ - -1, - 468 - ] - }, - { - "'NAME": [ - 291 - ], - "fields": [ - 513 - ], - "'NUMBER": [ - 514 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 378 - ] - }, - { - "'DOT": [ - 515 - ], - "$": [ - -1, - 470 - ], - "'NAME": [ - -1, - 470 - ], - "'FROM": [ - -1, - 470 - ], - "'COLON": [ - -1, - 470 - ], - "'END": [ - -1, - 470 - ], - "'COMMA": [ - -1, - 470 - ], - "'STRING": [ - -1, - 470 - ], - "'RPAREN": [ - -1, - 470 - ], - "'TYPE": [ - -1, - 470 - ], - "'DATA": [ - -1, - 470 - ], - "'PARENSPACE": [ - -1, - 470 - ], - "'SPY": [ - -1, - 470 - ], - "'EQUALS": [ - -1, - 470 - ], - "'NEWTYPE": [ - -1, - 470 - ], - "'LBRACE": [ - -1, - 470 - ], - "'RBRACE": [ - -1, - 470 - ], - "'SEMI": [ - -1, - 470 - ], - "'SHADOW": [ - -1, - 470 - ], - "'LET": [ - -1, - 470 - ], - "'BLOCK": [ - -1, - 470 - ], - "'LETREC": [ - -1, - 470 - ], - "'TYPE-LET": [ - -1, - 470 - ], - "'FUN": [ - -1, - 470 - ], - "'LANGLE": [ - -1, - 470 - ], - "'RANGLE": [ - -1, - 470 - ], - "'GT": [ - -1, - 470 - ], - "'PARENAFTERBRACE": [ - -1, - 470 - ], - "'THINARROW": [ - -1, - 470 - ], - "'WHERE": [ - -1, - 470 - ], - "'CHECK": [ - -1, - 470 - ], - "'EXAMPLES": [ - -1, - 470 - ], - "'CHECKCOLON": [ - -1, - 470 - ], - "'EXAMPLESCOLON": [ - -1, - 470 - ], - "'PERCENT": [ - -1, - 470 - ], - "'BAR": [ - -1, - 470 - ], - "'VAR": [ - -1, - 470 - ], - "'REC": [ - -1, - 470 - ], - "'WHEN": [ - -1, - 470 - ], - "'DOTDOTDOT": [ - -1, - 470 - ], - "'NUMBER": [ - -1, - 470 - ], - "'RATIONAL": [ - -1, - 470 - ], - "'ROUGHRATIONAL": [ - -1, - 470 - ], - "'TRUE": [ - -1, - 470 - ], - "'FALSE": [ - -1, - 470 - ], - "'LAM": [ - -1, - 470 - ], - "'METHOD": [ - -1, - 470 - ], - "'LBRACK": [ - -1, - 470 - ], - "'TABLE": [ - -1, - 470 - ], - "'ROW": [ - -1, - 470 - ], - "'REACTOR": [ - -1, - 470 - ], - "'IF": [ - -1, - 470 - ], - "'ELSECOLON": [ - -1, - 470 - ], - "'ELSEIF": [ - -1, - 470 - ], - "'ASK": [ - -1, - 470 - ], - "'CASES": [ - -1, - 470 - ], - "'FOR": [ - -1, - 470 - ], - "'TABLE-SELECT": [ - -1, - 470 - ], - "'TABLE-FILTER": [ - -1, - 470 - ], - "'TABLE-ORDER": [ - -1, - 470 - ], - "'TABLE-EXTRACT": [ - -1, - 470 - ], - "'TABLE-UPDATE": [ - -1, - 470 - ], - "'TABLE-EXTEND": [ - -1, - 470 - ], - "'LOAD-TABLE": [ - -1, - 470 - ], - "'SOURCECOLON": [ - -1, - 470 - ], - "'SANITIZE": [ - -1, - 470 - ] - }, - { - "'NAME": [ - -1, - 472 - ], - "'PARENNOSPACE": [ - -1, - 472 - ], - "'PARENSPACE": [ - -1, - 472 - ], - "'LBRACE": [ - -1, - 472 - ], - "'PARENAFTERBRACE": [ - -1, - 472 - ], - "'THINARROW": [ - -1, - 472 - ] - }, - { - "$": [ - -1, - 474 - ], - "'NAME": [ - -1, - 474 - ], - "'FROM": [ - -1, - 474 - ], - "'COLON": [ - -1, - 474 - ], - "'END": [ - -1, - 474 - ], - "'COMMA": [ - -1, - 474 - ], - "'STRING": [ - -1, - 474 - ], - "'RPAREN": [ - -1, - 474 - ], - "'TYPE": [ - -1, - 474 - ], - "'DATA": [ - -1, - 474 - ], - "'PARENSPACE": [ - -1, - 474 - ], - "'SPY": [ - -1, - 474 - ], - "'EQUALS": [ - -1, - 474 - ], - "'NEWTYPE": [ - -1, - 474 - ], - "'LBRACE": [ - -1, - 474 - ], - "'RBRACE": [ - -1, - 474 - ], - "'SEMI": [ - -1, - 474 - ], - "'SHADOW": [ - -1, - 474 - ], - "'LET": [ - -1, - 474 - ], - "'BLOCK": [ - -1, - 474 - ], - "'LETREC": [ - -1, - 474 - ], - "'TYPE-LET": [ - -1, - 474 - ], - "'FUN": [ - -1, - 474 - ], - "'RANGLE": [ - -1, - 474 - ], - "'GT": [ - -1, - 474 - ], - "'PARENAFTERBRACE": [ - -1, - 474 - ], - "'THINARROW": [ - -1, - 474 - ], - "'WHERE": [ - -1, - 474 - ], - "'CHECK": [ - -1, - 474 - ], - "'EXAMPLES": [ - -1, - 474 - ], - "'CHECKCOLON": [ - -1, - 474 - ], - "'EXAMPLESCOLON": [ - -1, - 474 - ], - "'PERCENT": [ - -1, - 474 - ], - "'BAR": [ - -1, - 474 - ], - "'VAR": [ - -1, - 474 - ], - "'REC": [ - -1, - 474 - ], - "'WHEN": [ - -1, - 474 - ], - "'DOTDOTDOT": [ - -1, - 474 - ], - "'NUMBER": [ - -1, - 474 - ], - "'RATIONAL": [ - -1, - 474 - ], - "'ROUGHRATIONAL": [ - -1, - 474 - ], - "'TRUE": [ - -1, - 474 - ], - "'FALSE": [ - -1, - 474 - ], - "'LAM": [ - -1, - 474 - ], - "'METHOD": [ - -1, - 474 - ], - "'LBRACK": [ - -1, - 474 - ], - "'TABLE": [ - -1, - 474 - ], - "'ROW": [ - -1, - 474 - ], - "'REACTOR": [ - -1, - 474 - ], - "'IF": [ - -1, - 474 - ], - "'ELSECOLON": [ - -1, - 474 - ], - "'ELSEIF": [ - -1, - 474 - ], - "'ASK": [ - -1, - 474 - ], - "'CASES": [ - -1, - 474 - ], - "'FOR": [ - -1, - 474 - ], - "'TABLE-SELECT": [ - -1, - 474 - ], - "'TABLE-FILTER": [ - -1, - 474 - ], - "'TABLE-ORDER": [ - -1, - 474 - ], - "'TABLE-EXTRACT": [ - -1, - 474 - ], - "'TABLE-UPDATE": [ - -1, - 474 - ], - "'TABLE-EXTEND": [ - -1, - 474 - ], - "'LOAD-TABLE": [ - -1, - 474 - ], - "'SOURCECOLON": [ - -1, - 474 - ], - "'SANITIZE": [ - -1, - 474 - ] - }, - { - "'NAME": [ - -1, - 476 - ], - "'PARENNOSPACE": [ - -1, - 476 - ], - "'PARENSPACE": [ - -1, - 476 - ], - "'LBRACE": [ - -1, - 476 - ], - "'PARENAFTERBRACE": [ - -1, - 476 - ], - "'THINARROW": [ - -1, - 476 - ] - }, - { - "'PERCENT": [ - 516 - ], - "inst-expr_I3*": [ - 517 - ], - "'COMMA": [ - -1, - 478 - ], - "'RANGLE": [ - -1, - 478 - ], - "'GT": [ - -1, - 478 - ] - }, - { - "'NAME": [ - 518 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 519 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "comma-ann-field": [ - 405 - ], - "ann-field": [ - 406 - ], - "trailing-opt-comma-ann-field": [ - 407 - ], - "trailing-opt-comma-ann-field_I0": [ - 408 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ], - "'RBRACE": [ - -1, - 358, - 360 - ] - }, - { - "'NAME": [ - -1, - 480 - ], - "'PARENNOSPACE": [ - -1, - 480 - ], - "'PARENSPACE": [ - -1, - 480 - ], - "'LBRACE": [ - -1, - 480 - ], - "'PARENAFTERBRACE": [ - -1, - 480 - ], - "'THINARROW": [ - -1, - 480 - ] - }, - { - "$": [ - -1, - 482 - ], - "'NAME": [ - -1, - 482 - ], - "'FROM": [ - -1, - 482 - ], - "'COLON": [ - -1, - 482 - ], - "'END": [ - -1, - 482 - ], - "'COMMA": [ - -1, - 482 - ], - "'STRING": [ - -1, - 482 - ], - "'RPAREN": [ - -1, - 482 - ], - "'TYPE": [ - -1, - 482 - ], - "'DATA": [ - -1, - 482 - ], - "'PARENSPACE": [ - -1, - 482 - ], - "'SPY": [ - -1, - 482 - ], - "'EQUALS": [ - -1, - 482 - ], - "'NEWTYPE": [ - -1, - 482 - ], - "'LBRACE": [ - -1, - 482 - ], - "'RBRACE": [ - -1, - 482 - ], - "'SEMI": [ - -1, - 482 - ], - "'SHADOW": [ - -1, - 482 - ], - "'LET": [ - -1, - 482 - ], - "'BLOCK": [ - -1, - 482 - ], - "'LETREC": [ - -1, - 482 - ], - "'TYPE-LET": [ - -1, - 482 - ], - "'FUN": [ - -1, - 482 - ], - "'LANGLE": [ - -1, - 484 - ], - "'RANGLE": [ - -1, - 482 - ], - "'GT": [ - -1, - 482 - ], - "'PARENAFTERBRACE": [ - -1, - 482 - ], - "'THINARROW": [ - -1, - 482 - ], - "'WHERE": [ - -1, - 482 - ], - "'CHECK": [ - -1, - 482 - ], - "'EXAMPLES": [ - -1, - 482 - ], - "'CHECKCOLON": [ - -1, - 482 - ], - "'EXAMPLESCOLON": [ - -1, - 482 - ], - "'PERCENT": [ - -1, - 482 - ], - "'BAR": [ - -1, - 482 - ], - "'VAR": [ - -1, - 482 - ], - "'REC": [ - -1, - 482 - ], - "'WHEN": [ - -1, - 482 - ], - "'DOTDOTDOT": [ - -1, - 482 - ], - "'NUMBER": [ - -1, - 482 - ], - "'RATIONAL": [ - -1, - 482 - ], - "'ROUGHRATIONAL": [ - -1, - 482 - ], - "'TRUE": [ - -1, - 482 - ], - "'FALSE": [ - -1, - 482 - ], - "'LAM": [ - -1, - 482 - ], - "'METHOD": [ - -1, - 482 - ], - "'LBRACK": [ - -1, - 482 - ], - "'TABLE": [ - -1, - 482 - ], - "'ROW": [ - -1, - 482 - ], - "'REACTOR": [ - -1, - 482 - ], - "'IF": [ - -1, - 482 - ], - "'ELSECOLON": [ - -1, - 482 - ], - "'ELSEIF": [ - -1, - 482 - ], - "'ASK": [ - -1, - 482 - ], - "'CASES": [ - -1, - 482 - ], - "'FOR": [ - -1, - 482 - ], - "'TABLE-SELECT": [ - -1, - 482 - ], - "'TABLE-FILTER": [ - -1, - 482 - ], - "'TABLE-ORDER": [ - -1, - 482 - ], - "'TABLE-EXTRACT": [ - -1, - 482 - ], - "'TABLE-UPDATE": [ - -1, - 482 - ], - "'TABLE-EXTEND": [ - -1, - 482 - ], - "'LOAD-TABLE": [ - -1, - 482 - ], - "'SOURCECOLON": [ - -1, - 482 - ], - "'SANITIZE": [ - -1, - 482 - ] - }, - { - "$": [ - -1, - 486 - ], - "'NAME": [ - -1, - 486 - ], - "'FROM": [ - -1, - 486 - ], - "'COLON": [ - -1, - 486 - ], - "'END": [ - -1, - 486 - ], - "'COMMA": [ - -1, - 486 - ], - "'STRING": [ - -1, - 486 - ], - "'RPAREN": [ - -1, - 486 - ], - "'TYPE": [ - -1, - 486 - ], - "'DATA": [ - -1, - 486 - ], - "'PARENSPACE": [ - -1, - 486 - ], - "'SPY": [ - -1, - 486 - ], - "'EQUALS": [ - -1, - 486 - ], - "'NEWTYPE": [ - -1, - 486 - ], - "'LBRACE": [ - -1, - 486 - ], - "'RBRACE": [ - -1, - 486 - ], - "'SEMI": [ - -1, - 486 - ], - "'SHADOW": [ - -1, - 486 - ], - "'LET": [ - -1, - 486 - ], - "'BLOCK": [ - -1, - 486 - ], - "'LETREC": [ - -1, - 486 - ], - "'TYPE-LET": [ - -1, - 486 - ], - "'FUN": [ - -1, - 486 - ], - "'RANGLE": [ - -1, - 486 - ], - "'GT": [ - -1, - 486 - ], - "'PARENAFTERBRACE": [ - -1, - 486 - ], - "'THINARROW": [ - -1, - 486 - ], - "'WHERE": [ - -1, - 486 - ], - "'CHECK": [ - -1, - 486 - ], - "'EXAMPLES": [ - -1, - 486 - ], - "'CHECKCOLON": [ - -1, - 486 - ], - "'EXAMPLESCOLON": [ - -1, - 486 - ], - "'PERCENT": [ - -1, - 486 - ], - "'BAR": [ - -1, - 486 - ], - "'VAR": [ - -1, - 486 - ], - "'REC": [ - -1, - 486 - ], - "'WHEN": [ - -1, - 486 - ], - "'DOTDOTDOT": [ - -1, - 486 - ], - "'NUMBER": [ - -1, - 486 - ], - "'RATIONAL": [ - -1, - 486 - ], - "'ROUGHRATIONAL": [ - -1, - 486 - ], - "'TRUE": [ - -1, - 486 - ], - "'FALSE": [ - -1, - 486 - ], - "'LAM": [ - -1, - 486 - ], - "'METHOD": [ - -1, - 486 - ], - "'LBRACK": [ - -1, - 486 - ], - "'TABLE": [ - -1, - 486 - ], - "'ROW": [ - -1, - 486 - ], - "'REACTOR": [ - -1, - 486 - ], - "'IF": [ - -1, - 486 - ], - "'ELSECOLON": [ - -1, - 486 - ], - "'ELSEIF": [ - -1, - 486 - ], - "'ASK": [ - -1, - 486 - ], - "'CASES": [ - -1, - 486 - ], - "'FOR": [ - -1, - 486 - ], - "'TABLE-SELECT": [ - -1, - 486 - ], - "'TABLE-FILTER": [ - -1, - 486 - ], - "'TABLE-ORDER": [ - -1, - 486 - ], - "'TABLE-EXTRACT": [ - -1, - 486 - ], - "'TABLE-UPDATE": [ - -1, - 486 - ], - "'TABLE-EXTEND": [ - -1, - 486 - ], - "'LOAD-TABLE": [ - -1, - 486 - ], - "'SOURCECOLON": [ - -1, - 486 - ], - "'SANITIZE": [ - -1, - 486 - ] - }, - { - "$": [ - -1, - 488 - ], - "'NAME": [ - -1, - 488 - ], - "'FROM": [ - -1, - 488 - ], - "'COLON": [ - -1, - 488 - ], - "'END": [ - -1, - 488 - ], - "'COMMA": [ - -1, - 488 - ], - "'STRING": [ - -1, - 488 - ], - "'RPAREN": [ - -1, - 488 - ], - "'TYPE": [ - -1, - 488 - ], - "'DATA": [ - -1, - 488 - ], - "'PARENSPACE": [ - -1, - 488 - ], - "'SPY": [ - -1, - 488 - ], - "'EQUALS": [ - -1, - 488 - ], - "'NEWTYPE": [ - -1, - 488 - ], - "'LBRACE": [ - -1, - 488 - ], - "'RBRACE": [ - -1, - 488 - ], - "'SEMI": [ - -1, - 488 - ], - "'SHADOW": [ - -1, - 488 - ], - "'LET": [ - -1, - 488 - ], - "'BLOCK": [ - -1, - 488 - ], - "'LETREC": [ - -1, - 488 - ], - "'TYPE-LET": [ - -1, - 488 - ], - "'FUN": [ - -1, - 488 - ], - "'RANGLE": [ - -1, - 488 - ], - "'GT": [ - -1, - 488 - ], - "'PARENAFTERBRACE": [ - -1, - 488 - ], - "'THINARROW": [ - -1, - 488 - ], - "'WHERE": [ - -1, - 488 - ], - "'CHECK": [ - -1, - 488 - ], - "'EXAMPLES": [ - -1, - 488 - ], - "'CHECKCOLON": [ - -1, - 488 - ], - "'EXAMPLESCOLON": [ - -1, - 488 - ], - "'PERCENT": [ - -1, - 488 - ], - "'BAR": [ - -1, - 488 - ], - "'VAR": [ - -1, - 488 - ], - "'REC": [ - -1, - 488 - ], - "'WHEN": [ - -1, - 488 - ], - "'DOTDOTDOT": [ - -1, - 488 - ], - "'NUMBER": [ - -1, - 488 - ], - "'RATIONAL": [ - -1, - 488 - ], - "'ROUGHRATIONAL": [ - -1, - 488 - ], - "'TRUE": [ - -1, - 488 - ], - "'FALSE": [ - -1, - 488 - ], - "'LAM": [ - -1, - 488 - ], - "'METHOD": [ - -1, - 488 - ], - "'LBRACK": [ - -1, - 488 - ], - "'TABLE": [ - -1, - 488 - ], - "'ROW": [ - -1, - 488 - ], - "'REACTOR": [ - -1, - 488 - ], - "'IF": [ - -1, - 488 - ], - "'ELSECOLON": [ - -1, - 488 - ], - "'ELSEIF": [ - -1, - 488 - ], - "'ASK": [ - -1, - 488 - ], - "'CASES": [ - -1, - 488 - ], - "'FOR": [ - -1, - 488 - ], - "'TABLE-SELECT": [ - -1, - 488 - ], - "'TABLE-FILTER": [ - -1, - 488 - ], - "'TABLE-ORDER": [ - -1, - 488 - ], - "'TABLE-EXTRACT": [ - -1, - 488 - ], - "'TABLE-UPDATE": [ - -1, - 488 - ], - "'TABLE-EXTEND": [ - -1, - 488 - ], - "'LOAD-TABLE": [ - -1, - 488 - ], - "'SOURCECOLON": [ - -1, - 488 - ], - "'SANITIZE": [ - -1, - 488 - ] - }, - { - "$": [ - -1, - 490 - ], - "'NAME": [ - -1, - 490 - ], - "'FROM": [ - -1, - 490 - ], - "'COLON": [ - -1, - 490 - ], - "'END": [ - -1, - 490 - ], - "'COMMA": [ - -1, - 490 - ], - "'STRING": [ - -1, - 490 - ], - "'RPAREN": [ - -1, - 490 - ], - "'TYPE": [ - -1, - 490 - ], - "'DATA": [ - -1, - 490 - ], - "'PARENSPACE": [ - -1, - 490 - ], - "'SPY": [ - -1, - 490 - ], - "'EQUALS": [ - -1, - 490 - ], - "'NEWTYPE": [ - -1, - 490 - ], - "'LBRACE": [ - -1, - 490 - ], - "'RBRACE": [ - -1, - 490 - ], - "'SEMI": [ - -1, - 490 - ], - "'SHADOW": [ - -1, - 490 - ], - "'LET": [ - -1, - 490 - ], - "'BLOCK": [ - -1, - 490 - ], - "'LETREC": [ - -1, - 490 - ], - "'TYPE-LET": [ - -1, - 490 - ], - "'FUN": [ - -1, - 490 - ], - "'RANGLE": [ - -1, - 490 - ], - "'GT": [ - -1, - 490 - ], - "'PARENAFTERBRACE": [ - -1, - 490 - ], - "'THINARROW": [ - -1, - 490 - ], - "'WHERE": [ - -1, - 490 - ], - "'CHECK": [ - -1, - 490 - ], - "'EXAMPLES": [ - -1, - 490 - ], - "'CHECKCOLON": [ - -1, - 490 - ], - "'EXAMPLESCOLON": [ - -1, - 490 - ], - "'PERCENT": [ - -1, - 490 - ], - "'BAR": [ - -1, - 490 - ], - "'VAR": [ - -1, - 490 - ], - "'REC": [ - -1, - 490 - ], - "'WHEN": [ - -1, - 490 - ], - "'DOTDOTDOT": [ - -1, - 490 - ], - "'NUMBER": [ - -1, - 490 - ], - "'RATIONAL": [ - -1, - 490 - ], - "'ROUGHRATIONAL": [ - -1, - 490 - ], - "'TRUE": [ - -1, - 490 - ], - "'FALSE": [ - -1, - 490 - ], - "'LAM": [ - -1, - 490 - ], - "'METHOD": [ - -1, - 490 - ], - "'LBRACK": [ - -1, - 490 - ], - "'TABLE": [ - -1, - 490 - ], - "'ROW": [ - -1, - 490 - ], - "'REACTOR": [ - -1, - 490 - ], - "'IF": [ - -1, - 490 - ], - "'ELSECOLON": [ - -1, - 490 - ], - "'ELSEIF": [ - -1, - 490 - ], - "'ASK": [ - -1, - 490 - ], - "'CASES": [ - -1, - 490 - ], - "'FOR": [ - -1, - 490 - ], - "'TABLE-SELECT": [ - -1, - 490 - ], - "'TABLE-FILTER": [ - -1, - 490 - ], - "'TABLE-ORDER": [ - -1, - 490 - ], - "'TABLE-EXTRACT": [ - -1, - 490 - ], - "'TABLE-UPDATE": [ - -1, - 490 - ], - "'TABLE-EXTEND": [ - -1, - 490 - ], - "'LOAD-TABLE": [ - -1, - 490 - ], - "'SOURCECOLON": [ - -1, - 490 - ], - "'SANITIZE": [ - -1, - 490 - ] - }, - { - "$": [ - -1, - 492 - ], - "'NAME": [ - -1, - 492 - ], - "'FROM": [ - -1, - 492 - ], - "'COLON": [ - -1, - 492 - ], - "'END": [ - -1, - 492 - ], - "'COMMA": [ - -1, - 492 - ], - "'STRING": [ - -1, - 492 - ], - "'RPAREN": [ - -1, - 492 - ], - "'TYPE": [ - -1, - 492 - ], - "'DATA": [ - -1, - 492 - ], - "'PARENSPACE": [ - -1, - 492 - ], - "'SPY": [ - -1, - 492 - ], - "'EQUALS": [ - -1, - 492 - ], - "'NEWTYPE": [ - -1, - 492 - ], - "'LBRACE": [ - -1, - 492 - ], - "'RBRACE": [ - -1, - 492 - ], - "'SEMI": [ - -1, - 492 - ], - "'SHADOW": [ - -1, - 492 - ], - "'LET": [ - -1, - 492 - ], - "'BLOCK": [ - -1, - 492 - ], - "'LETREC": [ - -1, - 492 - ], - "'TYPE-LET": [ - -1, - 492 - ], - "'FUN": [ - -1, - 492 - ], - "'LANGLE": [ - -1, - 494 - ], - "'RANGLE": [ - -1, - 492 - ], - "'GT": [ - -1, - 492 - ], - "'PARENAFTERBRACE": [ - -1, - 492 - ], - "'THINARROW": [ - -1, - 492 - ], - "'WHERE": [ - -1, - 492 - ], - "'CHECK": [ - -1, - 492 - ], - "'EXAMPLES": [ - -1, - 492 - ], - "'CHECKCOLON": [ - -1, - 492 - ], - "'EXAMPLESCOLON": [ - -1, - 492 - ], - "'PERCENT": [ - -1, - 492 - ], - "'BAR": [ - -1, - 492 - ], - "'VAR": [ - -1, - 492 - ], - "'REC": [ - -1, - 492 - ], - "'WHEN": [ - -1, - 492 - ], - "'DOTDOTDOT": [ - -1, - 492 - ], - "'NUMBER": [ - -1, - 492 - ], - "'RATIONAL": [ - -1, - 492 - ], - "'ROUGHRATIONAL": [ - -1, - 492 - ], - "'TRUE": [ - -1, - 492 - ], - "'FALSE": [ - -1, - 492 - ], - "'LAM": [ - -1, - 492 - ], - "'METHOD": [ - -1, - 492 - ], - "'LBRACK": [ - -1, - 492 - ], - "'TABLE": [ - -1, - 492 - ], - "'ROW": [ - -1, - 492 - ], - "'REACTOR": [ - -1, - 492 - ], - "'IF": [ - -1, - 492 - ], - "'ELSECOLON": [ - -1, - 492 - ], - "'ELSEIF": [ - -1, - 492 - ], - "'ASK": [ - -1, - 492 - ], - "'CASES": [ - -1, - 492 - ], - "'FOR": [ - -1, - 492 - ], - "'TABLE-SELECT": [ - -1, - 492 - ], - "'TABLE-FILTER": [ - -1, - 492 - ], - "'TABLE-ORDER": [ - -1, - 492 - ], - "'TABLE-EXTRACT": [ - -1, - 492 - ], - "'TABLE-UPDATE": [ - -1, - 492 - ], - "'TABLE-EXTEND": [ - -1, - 492 - ], - "'LOAD-TABLE": [ - -1, - 492 - ], - "'SOURCECOLON": [ - -1, - 492 - ], - "'SANITIZE": [ - -1, - 492 - ] - }, - { - "$": [ - -1, - 496 - ], - "'NAME": [ - -1, - 496 - ], - "'FROM": [ - -1, - 496 - ], - "'COLON": [ - -1, - 496 - ], - "'END": [ - -1, - 496 - ], - "'COMMA": [ - -1, - 496 - ], - "'STRING": [ - -1, - 496 - ], - "'RPAREN": [ - -1, - 496 - ], - "'TYPE": [ - -1, - 496 - ], - "'DATA": [ - -1, - 496 - ], - "'PARENSPACE": [ - -1, - 496 - ], - "'SPY": [ - -1, - 496 - ], - "'EQUALS": [ - -1, - 496 - ], - "'NEWTYPE": [ - -1, - 496 - ], - "'LBRACE": [ - -1, - 496 - ], - "'RBRACE": [ - -1, - 496 - ], - "'SEMI": [ - -1, - 496 - ], - "'SHADOW": [ - -1, - 496 - ], - "'LET": [ - -1, - 496 - ], - "'BLOCK": [ - -1, - 496 - ], - "'LETREC": [ - -1, - 496 - ], - "'TYPE-LET": [ - -1, - 496 - ], - "'FUN": [ - -1, - 496 - ], - "'RANGLE": [ - -1, - 496 - ], - "'GT": [ - -1, - 496 - ], - "'PARENAFTERBRACE": [ - -1, - 496 - ], - "'THINARROW": [ - -1, - 496 - ], - "'WHERE": [ - -1, - 496 - ], - "'CHECK": [ - -1, - 496 - ], - "'EXAMPLES": [ - -1, - 496 - ], - "'CHECKCOLON": [ - -1, - 496 - ], - "'EXAMPLESCOLON": [ - -1, - 496 - ], - "'PERCENT": [ - -1, - 496 - ], - "'BAR": [ - -1, - 496 - ], - "'VAR": [ - -1, - 496 - ], - "'REC": [ - -1, - 496 - ], - "'WHEN": [ - -1, - 496 - ], - "'DOTDOTDOT": [ - -1, - 496 - ], - "'NUMBER": [ - -1, - 496 - ], - "'RATIONAL": [ - -1, - 496 - ], - "'ROUGHRATIONAL": [ - -1, - 496 - ], - "'TRUE": [ - -1, - 496 - ], - "'FALSE": [ - -1, - 496 - ], - "'LAM": [ - -1, - 496 - ], - "'METHOD": [ - -1, - 496 - ], - "'LBRACK": [ - -1, - 496 - ], - "'TABLE": [ - -1, - 496 - ], - "'ROW": [ - -1, - 496 - ], - "'REACTOR": [ - -1, - 496 - ], - "'IF": [ - -1, - 496 - ], - "'ELSECOLON": [ - -1, - 496 - ], - "'ELSEIF": [ - -1, - 496 - ], - "'ASK": [ - -1, - 496 - ], - "'CASES": [ - -1, - 496 - ], - "'FOR": [ - -1, - 496 - ], - "'TABLE-SELECT": [ - -1, - 496 - ], - "'TABLE-FILTER": [ - -1, - 496 - ], - "'TABLE-ORDER": [ - -1, - 496 - ], - "'TABLE-EXTRACT": [ - -1, - 496 - ], - "'TABLE-UPDATE": [ - -1, - 496 - ], - "'TABLE-EXTEND": [ - -1, - 496 - ], - "'LOAD-TABLE": [ - -1, - 496 - ], - "'SOURCECOLON": [ - -1, - 496 - ], - "'SANITIZE": [ - -1, - 496 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 426 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 427 - ], - "ann": [ - 520 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 431 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann-args": [ - 521 - ], - "comma-anns": [ - 435 - ], - "arrow-ann-args_A1_I0": [ - 436 - ], - "arrow-ann_I0": [ - 337 - ], - "arrow-ann_I1?": [ - 522 - ], - "arrow-ann_I1": [ - 523 - ], - "app-ann_I0": [ - 338 - ], - "'THINARROW": [ - -1, - 498 - ] - }, - { - "'LANGLE": [ - 524 - ] - }, - { - "'NAME": [ - -1, - 500 - ], - "'STRING": [ - -1, - 500 - ], - "'PARENSPACE": [ - -1, - 500 - ], - "'LBRACE": [ - -1, - 500 - ], - "'LET": [ - -1, - 500 - ], - "'BLOCK": [ - -1, - 500 - ], - "'LETREC": [ - -1, - 500 - ], - "'TYPE-LET": [ - -1, - 500 - ], - "'PARENAFTERBRACE": [ - -1, - 500 - ], - "'DOTDOTDOT": [ - -1, - 500 - ], - "'NUMBER": [ - -1, - 500 - ], - "'RATIONAL": [ - -1, - 500 - ], - "'ROUGHRATIONAL": [ - -1, - 500 - ], - "'TRUE": [ - -1, - 500 - ], - "'FALSE": [ - -1, - 500 - ], - "'LAM": [ - -1, - 500 - ], - "'METHOD": [ - -1, - 500 - ], - "'LBRACK": [ - -1, - 500 - ], - "'TABLE": [ - -1, - 500 - ], - "'REACTOR": [ - -1, - 500 - ], - "'IF": [ - -1, - 500 - ], - "'ASK": [ - -1, - 500 - ], - "'CASES": [ - -1, - 500 - ], - "'FOR": [ - -1, - 500 - ], - "'TABLE-SELECT": [ - -1, - 500 - ], - "'TABLE-FILTER": [ - -1, - 500 - ], - "'TABLE-ORDER": [ - -1, - 500 - ], - "'TABLE-EXTRACT": [ - -1, - 500 - ], - "'TABLE-UPDATE": [ - -1, - 500 - ], - "'TABLE-EXTEND": [ - -1, - 500 - ], - "'LOAD-TABLE": [ - -1, - 500 - ] - }, - { - "'NAME": [ - -1, - 502 - ], - "'STRING": [ - -1, - 502 - ], - "'PARENSPACE": [ - -1, - 502 - ], - "'LBRACE": [ - -1, - 502 - ], - "'LET": [ - -1, - 502 - ], - "'BLOCK": [ - -1, - 502 - ], - "'LETREC": [ - -1, - 502 - ], - "'TYPE-LET": [ - -1, - 502 - ], - "'PARENAFTERBRACE": [ - -1, - 502 - ], - "'DOTDOTDOT": [ - -1, - 502 - ], - "'NUMBER": [ - -1, - 502 - ], - "'RATIONAL": [ - -1, - 502 - ], - "'ROUGHRATIONAL": [ - -1, - 502 - ], - "'TRUE": [ - -1, - 502 - ], - "'FALSE": [ - -1, - 502 - ], - "'LAM": [ - -1, - 502 - ], - "'METHOD": [ - -1, - 502 - ], - "'LBRACK": [ - -1, - 502 - ], - "'TABLE": [ - -1, - 502 - ], - "'REACTOR": [ - -1, - 502 - ], - "'IF": [ - -1, - 502 - ], - "'ASK": [ - -1, - 502 - ], - "'CASES": [ - -1, - 502 - ], - "'FOR": [ - -1, - 502 - ], - "'TABLE-SELECT": [ - -1, - 502 - ], - "'TABLE-FILTER": [ - -1, - 502 - ], - "'TABLE-ORDER": [ - -1, - 502 - ], - "'TABLE-EXTRACT": [ - -1, - 502 - ], - "'TABLE-UPDATE": [ - -1, - 502 - ], - "'TABLE-EXTEND": [ - -1, - 502 - ], - "'LOAD-TABLE": [ - -1, - 502 - ] - }, - { - "'NAME": [ - -1, - 504 - ], - "'STRING": [ - -1, - 504 - ], - "'PARENSPACE": [ - -1, - 504 - ], - "'LBRACE": [ - -1, - 504 - ], - "'LET": [ - -1, - 504 - ], - "'BLOCK": [ - -1, - 504 - ], - "'LETREC": [ - -1, - 504 - ], - "'TYPE-LET": [ - -1, - 504 - ], - "'PARENAFTERBRACE": [ - -1, - 504 - ], - "'DOTDOTDOT": [ - -1, - 504 - ], - "'NUMBER": [ - -1, - 504 - ], - "'RATIONAL": [ - -1, - 504 - ], - "'ROUGHRATIONAL": [ - -1, - 504 - ], - "'TRUE": [ - -1, - 504 - ], - "'FALSE": [ - -1, - 504 - ], - "'LAM": [ - -1, - 504 - ], - "'METHOD": [ - -1, - 504 - ], - "'LBRACK": [ - -1, - 504 - ], - "'TABLE": [ - -1, - 504 - ], - "'REACTOR": [ - -1, - 504 - ], - "'IF": [ - -1, - 504 - ], - "'ASK": [ - -1, - 504 - ], - "'CASES": [ - -1, - 504 - ], - "'FOR": [ - -1, - 504 - ], - "'TABLE-SELECT": [ - -1, - 504 - ], - "'TABLE-FILTER": [ - -1, - 504 - ], - "'TABLE-ORDER": [ - -1, - 504 - ], - "'TABLE-EXTRACT": [ - -1, - 504 - ], - "'TABLE-UPDATE": [ - -1, - 504 - ], - "'TABLE-EXTEND": [ - -1, - 504 - ], - "'LOAD-TABLE": [ - -1, - 504 - ] - }, - { - "$": [ - -1, - 506 - ], - "'NAME": [ - -1, - 506 - ], - "'COLON": [ - -1, - 506 - ], - "'END": [ - -1, - 506 - ], - "'COMMA": [ - -1, - 506 - ], - "'STRING": [ - -1, - 506 - ], - "'RPAREN": [ - -1, - 506 - ], - "'TYPE": [ - -1, - 506 - ], - "'DATA": [ - -1, - 506 - ], - "'TIMES": [ - -1, - 506 - ], - "'PARENSPACE": [ - -1, - 506 - ], - "'SPY": [ - -1, - 506 - ], - "'NEWTYPE": [ - -1, - 506 - ], - "'LBRACE": [ - -1, - 506 - ], - "'RBRACE": [ - -1, - 506 - ], - "'SEMI": [ - -1, - 506 - ], - "'SHADOW": [ - -1, - 506 - ], - "'LET": [ - -1, - 506 - ], - "'BLOCK": [ - -1, - 506 - ], - "'LETREC": [ - -1, - 506 - ], - "'TYPE-LET": [ - -1, - 506 - ], - "'FUN": [ - -1, - 506 - ], - "'LT": [ - -1, - 506 - ], - "'GT": [ - -1, - 506 - ], - "'PARENAFTERBRACE": [ - -1, - 506 - ], - "'WHERE": [ - -1, - 506 - ], - "'CHECK": [ - -1, - 506 - ], - "'EXAMPLES": [ - -1, - 506 - ], - "'CHECKCOLON": [ - -1, - 506 - ], - "'EXAMPLESCOLON": [ - -1, - 506 - ], - "'BECAUSE": [ - -1, - 506 - ], - "'BAR": [ - -1, - 506 - ], - "'SHARING": [ - -1, - 506 - ], - "'VAR": [ - -1, - 506 - ], - "'REC": [ - -1, - 506 - ], - "'WHEN": [ - -1, - 506 - ], - "'PLUS": [ - -1, - 506 - ], - "'DASH": [ - -1, - 506 - ], - "'SLASH": [ - -1, - 506 - ], - "'LEQ": [ - -1, - 506 - ], - "'GEQ": [ - -1, - 506 - ], - "'EQUALEQUAL": [ - -1, - 506 - ], - "'SPACESHIP": [ - -1, - 506 - ], - "'EQUALTILDE": [ - -1, - 506 - ], - "'NEQ": [ - -1, - 506 - ], - "'AND": [ - -1, - 506 - ], - "'OR": [ - -1, - 506 - ], - "'CARET": [ - -1, - 506 - ], - "'IS": [ - -1, - 506 - ], - "'ISEQUALEQUAL": [ - -1, - 506 - ], - "'ISEQUALTILDE": [ - -1, - 506 - ], - "'ISSPACESHIP": [ - -1, - 506 - ], - "'ISROUGHLY": [ - -1, - 506 - ], - "'ISNOT": [ - -1, - 506 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 506 - ], - "'ISNOTEQUALTILDE": [ - -1, - 506 - ], - "'ISNOTSPACESHIP": [ - -1, - 506 - ], - "'RAISES": [ - -1, - 506 - ], - "'RAISESOTHER": [ - -1, - 506 - ], - "'SATISFIES": [ - -1, - 506 - ], - "'SATISFIESNOT": [ - -1, - 506 - ], - "'RAISESSATISFIES": [ - -1, - 506 - ], - "'RAISESVIOLATES": [ - -1, - 506 - ], - "'RAISESNOT": [ - -1, - 506 - ], - "'DOTDOTDOT": [ - -1, - 506 - ], - "'NUMBER": [ - -1, - 506 - ], - "'RATIONAL": [ - -1, - 506 - ], - "'ROUGHRATIONAL": [ - -1, - 506 - ], - "'TRUE": [ - -1, - 506 - ], - "'FALSE": [ - -1, - 506 - ], - "'LAM": [ - -1, - 506 - ], - "'METHOD": [ - -1, - 506 - ], - "'LBRACK": [ - -1, - 506 - ], - "'RBRACK": [ - -1, - 506 - ], - "'TABLE": [ - -1, - 506 - ], - "'ROW": [ - -1, - 506 - ], - "'REACTOR": [ - -1, - 506 - ], - "'IF": [ - -1, - 506 - ], - "'ELSECOLON": [ - -1, - 506 - ], - "'ELSEIF": [ - -1, - 506 - ], - "'ASK": [ - -1, - 506 - ], - "'THENCOLON": [ - -1, - 506 - ], - "'CASES": [ - -1, - 506 - ], - "'FOR": [ - -1, - 506 - ], - "'TABLE-SELECT": [ - -1, - 506 - ], - "'TABLE-FILTER": [ - -1, - 506 - ], - "'TABLE-ORDER": [ - -1, - 506 - ], - "'TABLE-EXTRACT": [ - -1, - 506 - ], - "'TABLE-UPDATE": [ - -1, - 506 - ], - "'TABLE-EXTEND": [ - -1, - 506 - ], - "'LOAD-TABLE": [ - -1, - 506 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 525 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - -1, - 508 - ], - "'STRING": [ - -1, - 508 - ], - "'PARENSPACE": [ - -1, - 508 - ], - "'LBRACE": [ - -1, - 508 - ], - "'LET": [ - -1, - 508 - ], - "'BLOCK": [ - -1, - 508 - ], - "'LETREC": [ - -1, - 508 - ], - "'TYPE-LET": [ - -1, - 508 - ], - "'PARENAFTERBRACE": [ - -1, - 508 - ], - "'DOTDOTDOT": [ - -1, - 508 - ], - "'NUMBER": [ - -1, - 508 - ], - "'RATIONAL": [ - -1, - 508 - ], - "'ROUGHRATIONAL": [ - -1, - 508 - ], - "'TRUE": [ - -1, - 508 - ], - "'FALSE": [ - -1, - 508 - ], - "'LAM": [ - -1, - 508 - ], - "'METHOD": [ - -1, - 508 - ], - "'LBRACK": [ - -1, - 508 - ], - "'TABLE": [ - -1, - 508 - ], - "'REACTOR": [ - -1, - 508 - ], - "'IF": [ - -1, - 508 - ], - "'ASK": [ - -1, - 508 - ], - "'CASES": [ - -1, - 508 - ], - "'FOR": [ - -1, - 508 - ], - "'TABLE-SELECT": [ - -1, - 508 - ], - "'TABLE-FILTER": [ - -1, - 508 - ], - "'TABLE-ORDER": [ - -1, - 508 - ], - "'TABLE-EXTRACT": [ - -1, - 508 - ], - "'TABLE-UPDATE": [ - -1, - 508 - ], - "'TABLE-EXTEND": [ - -1, - 508 - ], - "'LOAD-TABLE": [ - -1, - 508 - ] - }, - { - "'NAME": [ - -1, - 510 - ], - "'STRING": [ - -1, - 510 - ], - "'PARENSPACE": [ - -1, - 510 - ], - "'LBRACE": [ - -1, - 510 - ], - "'LET": [ - -1, - 510 - ], - "'BLOCK": [ - -1, - 510 - ], - "'LETREC": [ - -1, - 510 - ], - "'TYPE-LET": [ - -1, - 510 - ], - "'PARENAFTERBRACE": [ - -1, - 510 - ], - "'DOTDOTDOT": [ - -1, - 510 - ], - "'NUMBER": [ - -1, - 510 - ], - "'RATIONAL": [ - -1, - 510 - ], - "'ROUGHRATIONAL": [ - -1, - 510 - ], - "'TRUE": [ - -1, - 510 - ], - "'FALSE": [ - -1, - 510 - ], - "'LAM": [ - -1, - 510 - ], - "'METHOD": [ - -1, - 510 - ], - "'LBRACK": [ - -1, - 510 - ], - "'TABLE": [ - -1, - 510 - ], - "'REACTOR": [ - -1, - 510 - ], - "'IF": [ - -1, - 510 - ], - "'ASK": [ - -1, - 510 - ], - "'CASES": [ - -1, - 510 - ], - "'FOR": [ - -1, - 510 - ], - "'TABLE-SELECT": [ - -1, - 510 - ], - "'TABLE-FILTER": [ - -1, - 510 - ], - "'TABLE-ORDER": [ - -1, - 510 - ], - "'TABLE-EXTRACT": [ - -1, - 510 - ], - "'TABLE-UPDATE": [ - -1, - 510 - ], - "'TABLE-EXTEND": [ - -1, - 510 - ], - "'LOAD-TABLE": [ - -1, - 510 - ] - }, - { - "'NAME": [ - -1, - 512 - ], - "'STRING": [ - -1, - 512 - ], - "'PARENSPACE": [ - -1, - 512 - ], - "'LBRACE": [ - -1, - 512 - ], - "'LET": [ - -1, - 512 - ], - "'BLOCK": [ - -1, - 512 - ], - "'LETREC": [ - -1, - 512 - ], - "'TYPE-LET": [ - -1, - 512 - ], - "'PARENAFTERBRACE": [ - -1, - 512 - ], - "'DOTDOTDOT": [ - -1, - 512 - ], - "'NUMBER": [ - -1, - 512 - ], - "'RATIONAL": [ - -1, - 512 - ], - "'ROUGHRATIONAL": [ - -1, - 512 - ], - "'TRUE": [ - -1, - 512 - ], - "'FALSE": [ - -1, - 512 - ], - "'LAM": [ - -1, - 512 - ], - "'METHOD": [ - -1, - 512 - ], - "'LBRACK": [ - -1, - 512 - ], - "'TABLE": [ - -1, - 512 - ], - "'REACTOR": [ - -1, - 512 - ], - "'IF": [ - -1, - 512 - ], - "'ASK": [ - -1, - 512 - ], - "'CASES": [ - -1, - 512 - ], - "'FOR": [ - -1, - 512 - ], - "'TABLE-SELECT": [ - -1, - 512 - ], - "'TABLE-FILTER": [ - -1, - 512 - ], - "'TABLE-ORDER": [ - -1, - 512 - ], - "'TABLE-EXTRACT": [ - -1, - 512 - ], - "'TABLE-UPDATE": [ - -1, - 512 - ], - "'TABLE-EXTEND": [ - -1, - 512 - ], - "'LOAD-TABLE": [ - -1, - 512 - ] - }, - { - "'NAME": [ - -1, - 514 - ], - "'STRING": [ - -1, - 514 - ], - "'PARENSPACE": [ - -1, - 514 - ], - "'LBRACE": [ - -1, - 514 - ], - "'LET": [ - -1, - 514 - ], - "'BLOCK": [ - -1, - 514 - ], - "'LETREC": [ - -1, - 514 - ], - "'TYPE-LET": [ - -1, - 514 - ], - "'PARENAFTERBRACE": [ - -1, - 514 - ], - "'DOTDOTDOT": [ - -1, - 514 - ], - "'NUMBER": [ - -1, - 514 - ], - "'RATIONAL": [ - -1, - 514 - ], - "'ROUGHRATIONAL": [ - -1, - 514 - ], - "'TRUE": [ - -1, - 514 - ], - "'FALSE": [ - -1, - 514 - ], - "'LAM": [ - -1, - 514 - ], - "'METHOD": [ - -1, - 514 - ], - "'LBRACK": [ - -1, - 514 - ], - "'TABLE": [ - -1, - 514 - ], - "'REACTOR": [ - -1, - 514 - ], - "'IF": [ - -1, - 514 - ], - "'ASK": [ - -1, - 514 - ], - "'CASES": [ - -1, - 514 - ], - "'FOR": [ - -1, - 514 - ], - "'TABLE-SELECT": [ - -1, - 514 - ], - "'TABLE-FILTER": [ - -1, - 514 - ], - "'TABLE-ORDER": [ - -1, - 514 - ], - "'TABLE-EXTRACT": [ - -1, - 514 - ], - "'TABLE-UPDATE": [ - -1, - 514 - ], - "'TABLE-EXTEND": [ - -1, - 514 - ], - "'LOAD-TABLE": [ - -1, - 514 - ] - }, - { - "'NAME": [ - -1, - 516 - ], - "'STRING": [ - -1, - 516 - ], - "'PARENSPACE": [ - -1, - 516 - ], - "'LBRACE": [ - -1, - 516 - ], - "'LET": [ - -1, - 516 - ], - "'BLOCK": [ - -1, - 516 - ], - "'LETREC": [ - -1, - 516 - ], - "'TYPE-LET": [ - -1, - 516 - ], - "'PARENAFTERBRACE": [ - -1, - 516 - ], - "'DOTDOTDOT": [ - -1, - 516 - ], - "'NUMBER": [ - -1, - 516 - ], - "'RATIONAL": [ - -1, - 516 - ], - "'ROUGHRATIONAL": [ - -1, - 516 - ], - "'TRUE": [ - -1, - 516 - ], - "'FALSE": [ - -1, - 516 - ], - "'LAM": [ - -1, - 516 - ], - "'METHOD": [ - -1, - 516 - ], - "'LBRACK": [ - -1, - 516 - ], - "'TABLE": [ - -1, - 516 - ], - "'REACTOR": [ - -1, - 516 - ], - "'IF": [ - -1, - 516 - ], - "'ASK": [ - -1, - 516 - ], - "'CASES": [ - -1, - 516 - ], - "'FOR": [ - -1, - 516 - ], - "'TABLE-SELECT": [ - -1, - 516 - ], - "'TABLE-FILTER": [ - -1, - 516 - ], - "'TABLE-ORDER": [ - -1, - 516 - ], - "'TABLE-EXTRACT": [ - -1, - 516 - ], - "'TABLE-UPDATE": [ - -1, - 516 - ], - "'TABLE-EXTEND": [ - -1, - 516 - ], - "'LOAD-TABLE": [ - -1, - 516 - ] - }, - { - "'NAME": [ - -1, - 518 - ], - "'STRING": [ - -1, - 518 - ], - "'PARENSPACE": [ - -1, - 518 - ], - "'LBRACE": [ - -1, - 518 - ], - "'LET": [ - -1, - 518 - ], - "'BLOCK": [ - -1, - 518 - ], - "'LETREC": [ - -1, - 518 - ], - "'TYPE-LET": [ - -1, - 518 - ], - "'PARENAFTERBRACE": [ - -1, - 518 - ], - "'DOTDOTDOT": [ - -1, - 518 - ], - "'NUMBER": [ - -1, - 518 - ], - "'RATIONAL": [ - -1, - 518 - ], - "'ROUGHRATIONAL": [ - -1, - 518 - ], - "'TRUE": [ - -1, - 518 - ], - "'FALSE": [ - -1, - 518 - ], - "'LAM": [ - -1, - 518 - ], - "'METHOD": [ - -1, - 518 - ], - "'LBRACK": [ - -1, - 518 - ], - "'TABLE": [ - -1, - 518 - ], - "'REACTOR": [ - -1, - 518 - ], - "'IF": [ - -1, - 518 - ], - "'ASK": [ - -1, - 518 - ], - "'CASES": [ - -1, - 518 - ], - "'FOR": [ - -1, - 518 - ], - "'TABLE-SELECT": [ - -1, - 518 - ], - "'TABLE-FILTER": [ - -1, - 518 - ], - "'TABLE-ORDER": [ - -1, - 518 - ], - "'TABLE-EXTRACT": [ - -1, - 518 - ], - "'TABLE-UPDATE": [ - -1, - 518 - ], - "'TABLE-EXTEND": [ - -1, - 518 - ], - "'LOAD-TABLE": [ - -1, - 518 - ] - }, - { - "'NAME": [ - -1, - 520 - ], - "'STRING": [ - -1, - 520 - ], - "'PARENSPACE": [ - -1, - 520 - ], - "'LBRACE": [ - -1, - 520 - ], - "'LET": [ - -1, - 520 - ], - "'BLOCK": [ - -1, - 520 - ], - "'LETREC": [ - -1, - 520 - ], - "'TYPE-LET": [ - -1, - 520 - ], - "'PARENAFTERBRACE": [ - -1, - 520 - ], - "'DOTDOTDOT": [ - -1, - 520 - ], - "'NUMBER": [ - -1, - 520 - ], - "'RATIONAL": [ - -1, - 520 - ], - "'ROUGHRATIONAL": [ - -1, - 520 - ], - "'TRUE": [ - -1, - 520 - ], - "'FALSE": [ - -1, - 520 - ], - "'LAM": [ - -1, - 520 - ], - "'METHOD": [ - -1, - 520 - ], - "'LBRACK": [ - -1, - 520 - ], - "'TABLE": [ - -1, - 520 - ], - "'REACTOR": [ - -1, - 520 - ], - "'IF": [ - -1, - 520 - ], - "'ASK": [ - -1, - 520 - ], - "'CASES": [ - -1, - 520 - ], - "'FOR": [ - -1, - 520 - ], - "'TABLE-SELECT": [ - -1, - 520 - ], - "'TABLE-FILTER": [ - -1, - 520 - ], - "'TABLE-ORDER": [ - -1, - 520 - ], - "'TABLE-EXTRACT": [ - -1, - 520 - ], - "'TABLE-UPDATE": [ - -1, - 520 - ], - "'TABLE-EXTEND": [ - -1, - 520 - ], - "'LOAD-TABLE": [ - -1, - 520 - ] - }, - { - "'NAME": [ - -1, - 522 - ], - "'STRING": [ - -1, - 522 - ], - "'PARENSPACE": [ - -1, - 522 - ], - "'LBRACE": [ - -1, - 522 - ], - "'LET": [ - -1, - 522 - ], - "'BLOCK": [ - -1, - 522 - ], - "'LETREC": [ - -1, - 522 - ], - "'TYPE-LET": [ - -1, - 522 - ], - "'PARENAFTERBRACE": [ - -1, - 522 - ], - "'DOTDOTDOT": [ - -1, - 522 - ], - "'NUMBER": [ - -1, - 522 - ], - "'RATIONAL": [ - -1, - 522 - ], - "'ROUGHRATIONAL": [ - -1, - 522 - ], - "'TRUE": [ - -1, - 522 - ], - "'FALSE": [ - -1, - 522 - ], - "'LAM": [ - -1, - 522 - ], - "'METHOD": [ - -1, - 522 - ], - "'LBRACK": [ - -1, - 522 - ], - "'TABLE": [ - -1, - 522 - ], - "'REACTOR": [ - -1, - 522 - ], - "'IF": [ - -1, - 522 - ], - "'ASK": [ - -1, - 522 - ], - "'CASES": [ - -1, - 522 - ], - "'FOR": [ - -1, - 522 - ], - "'TABLE-SELECT": [ - -1, - 522 - ], - "'TABLE-FILTER": [ - -1, - 522 - ], - "'TABLE-ORDER": [ - -1, - 522 - ], - "'TABLE-EXTRACT": [ - -1, - 522 - ], - "'TABLE-UPDATE": [ - -1, - 522 - ], - "'TABLE-EXTEND": [ - -1, - 522 - ], - "'LOAD-TABLE": [ - -1, - 522 - ] - }, - { - "'NAME": [ - -1, - 524 - ], - "'STRING": [ - -1, - 524 - ], - "'PARENSPACE": [ - -1, - 524 - ], - "'LBRACE": [ - -1, - 524 - ], - "'LET": [ - -1, - 524 - ], - "'BLOCK": [ - -1, - 524 - ], - "'LETREC": [ - -1, - 524 - ], - "'TYPE-LET": [ - -1, - 524 - ], - "'PARENAFTERBRACE": [ - -1, - 524 - ], - "'DOTDOTDOT": [ - -1, - 524 - ], - "'NUMBER": [ - -1, - 524 - ], - "'RATIONAL": [ - -1, - 524 - ], - "'ROUGHRATIONAL": [ - -1, - 524 - ], - "'TRUE": [ - -1, - 524 - ], - "'FALSE": [ - -1, - 524 - ], - "'LAM": [ - -1, - 524 - ], - "'METHOD": [ - -1, - 524 - ], - "'LBRACK": [ - -1, - 524 - ], - "'TABLE": [ - -1, - 524 - ], - "'REACTOR": [ - -1, - 524 - ], - "'IF": [ - -1, - 524 - ], - "'ASK": [ - -1, - 524 - ], - "'CASES": [ - -1, - 524 - ], - "'FOR": [ - -1, - 524 - ], - "'TABLE-SELECT": [ - -1, - 524 - ], - "'TABLE-FILTER": [ - -1, - 524 - ], - "'TABLE-ORDER": [ - -1, - 524 - ], - "'TABLE-EXTRACT": [ - -1, - 524 - ], - "'TABLE-UPDATE": [ - -1, - 524 - ], - "'TABLE-EXTEND": [ - -1, - 524 - ], - "'LOAD-TABLE": [ - -1, - 524 - ] - }, - { - "'NAME": [ - -1, - 526 - ], - "'STRING": [ - -1, - 526 - ], - "'PARENSPACE": [ - -1, - 526 - ], - "'LBRACE": [ - -1, - 526 - ], - "'LET": [ - -1, - 526 - ], - "'BLOCK": [ - -1, - 526 - ], - "'LETREC": [ - -1, - 526 - ], - "'TYPE-LET": [ - -1, - 526 - ], - "'PARENAFTERBRACE": [ - -1, - 526 - ], - "'DOTDOTDOT": [ - -1, - 526 - ], - "'NUMBER": [ - -1, - 526 - ], - "'RATIONAL": [ - -1, - 526 - ], - "'ROUGHRATIONAL": [ - -1, - 526 - ], - "'TRUE": [ - -1, - 526 - ], - "'FALSE": [ - -1, - 526 - ], - "'LAM": [ - -1, - 526 - ], - "'METHOD": [ - -1, - 526 - ], - "'LBRACK": [ - -1, - 526 - ], - "'TABLE": [ - -1, - 526 - ], - "'REACTOR": [ - -1, - 526 - ], - "'IF": [ - -1, - 526 - ], - "'ASK": [ - -1, - 526 - ], - "'CASES": [ - -1, - 526 - ], - "'FOR": [ - -1, - 526 - ], - "'TABLE-SELECT": [ - -1, - 526 - ], - "'TABLE-FILTER": [ - -1, - 526 - ], - "'TABLE-ORDER": [ - -1, - 526 - ], - "'TABLE-EXTRACT": [ - -1, - 526 - ], - "'TABLE-UPDATE": [ - -1, - 526 - ], - "'TABLE-EXTEND": [ - -1, - 526 - ], - "'LOAD-TABLE": [ - -1, - 526 - ] - }, - { - "'NAME": [ - -1, - 528 - ], - "'STRING": [ - -1, - 528 - ], - "'PARENSPACE": [ - -1, - 528 - ], - "'LBRACE": [ - -1, - 528 - ], - "'LET": [ - -1, - 528 - ], - "'BLOCK": [ - -1, - 528 - ], - "'LETREC": [ - -1, - 528 - ], - "'TYPE-LET": [ - -1, - 528 - ], - "'PARENAFTERBRACE": [ - -1, - 528 - ], - "'DOTDOTDOT": [ - -1, - 528 - ], - "'NUMBER": [ - -1, - 528 - ], - "'RATIONAL": [ - -1, - 528 - ], - "'ROUGHRATIONAL": [ - -1, - 528 - ], - "'TRUE": [ - -1, - 528 - ], - "'FALSE": [ - -1, - 528 - ], - "'LAM": [ - -1, - 528 - ], - "'METHOD": [ - -1, - 528 - ], - "'LBRACK": [ - -1, - 528 - ], - "'TABLE": [ - -1, - 528 - ], - "'REACTOR": [ - -1, - 528 - ], - "'IF": [ - -1, - 528 - ], - "'ASK": [ - -1, - 528 - ], - "'CASES": [ - -1, - 528 - ], - "'FOR": [ - -1, - 528 - ], - "'TABLE-SELECT": [ - -1, - 528 - ], - "'TABLE-FILTER": [ - -1, - 528 - ], - "'TABLE-ORDER": [ - -1, - 528 - ], - "'TABLE-EXTRACT": [ - -1, - 528 - ], - "'TABLE-UPDATE": [ - -1, - 528 - ], - "'TABLE-EXTEND": [ - -1, - 528 - ], - "'LOAD-TABLE": [ - -1, - 528 - ] - }, - { - "'NAME": [ - -1, - 530 - ], - "'STRING": [ - -1, - 530 - ], - "'PARENSPACE": [ - -1, - 530 - ], - "'LBRACE": [ - -1, - 530 - ], - "'LET": [ - -1, - 530 - ], - "'BLOCK": [ - -1, - 530 - ], - "'LETREC": [ - -1, - 530 - ], - "'TYPE-LET": [ - -1, - 530 - ], - "'PARENAFTERBRACE": [ - -1, - 530 - ], - "'DOTDOTDOT": [ - -1, - 530 - ], - "'NUMBER": [ - -1, - 530 - ], - "'RATIONAL": [ - -1, - 530 - ], - "'ROUGHRATIONAL": [ - -1, - 530 - ], - "'TRUE": [ - -1, - 530 - ], - "'FALSE": [ - -1, - 530 - ], - "'LAM": [ - -1, - 530 - ], - "'METHOD": [ - -1, - 530 - ], - "'LBRACK": [ - -1, - 530 - ], - "'TABLE": [ - -1, - 530 - ], - "'REACTOR": [ - -1, - 530 - ], - "'IF": [ - -1, - 530 - ], - "'ASK": [ - -1, - 530 - ], - "'CASES": [ - -1, - 530 - ], - "'FOR": [ - -1, - 530 - ], - "'TABLE-SELECT": [ - -1, - 530 - ], - "'TABLE-FILTER": [ - -1, - 530 - ], - "'TABLE-ORDER": [ - -1, - 530 - ], - "'TABLE-EXTRACT": [ - -1, - 530 - ], - "'TABLE-UPDATE": [ - -1, - 530 - ], - "'TABLE-EXTEND": [ - -1, - 530 - ], - "'LOAD-TABLE": [ - -1, - 530 - ] - }, - { - "'RBRACK": [ - 526 - ] - }, - { - "$": [ - -1, - 532 - ], - "'NAME": [ - -1, - 532 - ], - "'COLON": [ - -1, - 532 - ], - "'END": [ - -1, - 532 - ], - "'COMMA": [ - -1, - 532 - ], - "'PARENNOSPACE": [ - -1, - 532 - ], - "'STRING": [ - -1, - 532 - ], - "'RPAREN": [ - -1, - 532 - ], - "'TYPE": [ - -1, - 532 - ], - "'DATA": [ - -1, - 532 - ], - "'TIMES": [ - -1, - 532 - ], - "'PARENSPACE": [ - -1, - 532 - ], - "'DOT": [ - -1, - 532 - ], - "'SPY": [ - -1, - 532 - ], - "'NEWTYPE": [ - -1, - 532 - ], - "'LBRACE": [ - -1, - 532 - ], - "'RBRACE": [ - -1, - 532 - ], - "'SEMI": [ - -1, - 532 - ], - "'SHADOW": [ - -1, - 532 - ], - "'LET": [ - -1, - 532 - ], - "'BLOCK": [ - -1, - 532 - ], - "'LETREC": [ - -1, - 532 - ], - "'TYPE-LET": [ - -1, - 532 - ], - "'FUN": [ - -1, - 532 - ], - "'LANGLE": [ - -1, - 532 - ], - "'LT": [ - -1, - 532 - ], - "'GT": [ - -1, - 532 - ], - "'PARENAFTERBRACE": [ - -1, - 532 - ], - "'WHERE": [ - -1, - 532 - ], - "'CHECK": [ - -1, - 532 - ], - "'EXAMPLES": [ - -1, - 532 - ], - "'CHECKCOLON": [ - -1, - 532 - ], - "'EXAMPLESCOLON": [ - -1, - 532 - ], - "'BECAUSE": [ - -1, - 532 - ], - "'BAR": [ - -1, - 532 - ], - "'SHARING": [ - -1, - 532 - ], - "'VAR": [ - -1, - 532 - ], - "'REC": [ - -1, - 532 - ], - "'WHEN": [ - -1, - 532 - ], - "'PLUS": [ - -1, - 532 - ], - "'DASH": [ - -1, - 532 - ], - "'SLASH": [ - -1, - 532 - ], - "'LEQ": [ - -1, - 532 - ], - "'GEQ": [ - -1, - 532 - ], - "'EQUALEQUAL": [ - -1, - 532 - ], - "'SPACESHIP": [ - -1, - 532 - ], - "'EQUALTILDE": [ - -1, - 532 - ], - "'NEQ": [ - -1, - 532 - ], - "'AND": [ - -1, - 532 - ], - "'OR": [ - -1, - 532 - ], - "'CARET": [ - -1, - 532 - ], - "'IS": [ - -1, - 532 - ], - "'ISEQUALEQUAL": [ - -1, - 532 - ], - "'ISEQUALTILDE": [ - -1, - 532 - ], - "'ISSPACESHIP": [ - -1, - 532 - ], - "'ISROUGHLY": [ - -1, - 532 - ], - "'ISNOT": [ - -1, - 532 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 532 - ], - "'ISNOTEQUALTILDE": [ - -1, - 532 - ], - "'ISNOTSPACESHIP": [ - -1, - 532 - ], - "'RAISES": [ - -1, - 532 - ], - "'RAISESOTHER": [ - -1, - 532 - ], - "'SATISFIES": [ - -1, - 532 - ], - "'SATISFIESNOT": [ - -1, - 532 - ], - "'RAISESSATISFIES": [ - -1, - 532 - ], - "'RAISESVIOLATES": [ - -1, - 532 - ], - "'RAISESNOT": [ - -1, - 532 - ], - "'DOTDOTDOT": [ - -1, - 532 - ], - "'NUMBER": [ - -1, - 532 - ], - "'RATIONAL": [ - -1, - 532 - ], - "'ROUGHRATIONAL": [ - -1, - 532 - ], - "'TRUE": [ - -1, - 532 - ], - "'FALSE": [ - -1, - 532 - ], - "'LAM": [ - -1, - 532 - ], - "'METHOD": [ - -1, - 532 - ], - "'LBRACK": [ - -1, - 532 - ], - "'RBRACK": [ - -1, - 532 - ], - "'TABLE": [ - -1, - 532 - ], - "'ROW": [ - -1, - 532 - ], - "'REACTOR": [ - -1, - 532 - ], - "'BANG": [ - -1, - 532 - ], - "'IF": [ - -1, - 532 - ], - "'ELSECOLON": [ - -1, - 532 - ], - "'ELSEIF": [ - -1, - 532 - ], - "'ASK": [ - -1, - 532 - ], - "'THENCOLON": [ - -1, - 532 - ], - "'CASES": [ - -1, - 532 - ], - "'FOR": [ - -1, - 532 - ], - "'TABLE-SELECT": [ - -1, - 532 - ], - "'TABLE-FILTER": [ - -1, - 532 - ], - "'USING": [ - -1, - 532 - ], - "'TABLE-ORDER": [ - -1, - 532 - ], - "'TABLE-EXTRACT": [ - -1, - 532 - ], - "'TABLE-UPDATE": [ - -1, - 532 - ], - "'TABLE-EXTEND": [ - -1, - 532 - ], - "'OF": [ - -1, - 532 - ], - "'LOAD-TABLE": [ - -1, - 532 - ], - "'SOURCECOLON": [ - -1, - 532 - ], - "'SANITIZE": [ - -1, - 532 - ] - }, - { - "'NAME": [ - 291 - ], - "fields": [ - 527 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 378 - ] - }, - { - "$": [ - -1, - 534 - ], - "'NAME": [ - -1, - 534 - ], - "'COLON": [ - -1, - 534 - ], - "'END": [ - -1, - 534 - ], - "'COMMA": [ - -1, - 534 - ], - "'PARENNOSPACE": [ - -1, - 534 - ], - "'STRING": [ - -1, - 534 - ], - "'RPAREN": [ - -1, - 534 - ], - "'TYPE": [ - -1, - 534 - ], - "'DATA": [ - -1, - 534 - ], - "'TIMES": [ - -1, - 534 - ], - "'PARENSPACE": [ - -1, - 534 - ], - "'DOT": [ - -1, - 534 - ], - "'SPY": [ - -1, - 534 - ], - "'NEWTYPE": [ - -1, - 534 - ], - "'LBRACE": [ - -1, - 534 - ], - "'RBRACE": [ - -1, - 534 - ], - "'SEMI": [ - -1, - 534 - ], - "'SHADOW": [ - -1, - 534 - ], - "'LET": [ - -1, - 534 - ], - "'BLOCK": [ - -1, - 534 - ], - "'LETREC": [ - -1, - 534 - ], - "'TYPE-LET": [ - -1, - 534 - ], - "'FUN": [ - -1, - 534 - ], - "'LANGLE": [ - -1, - 534 - ], - "'LT": [ - -1, - 534 - ], - "'GT": [ - -1, - 534 - ], - "'PARENAFTERBRACE": [ - -1, - 534 - ], - "'WHERE": [ - -1, - 534 - ], - "'CHECK": [ - -1, - 534 - ], - "'EXAMPLES": [ - -1, - 534 - ], - "'CHECKCOLON": [ - -1, - 534 - ], - "'EXAMPLESCOLON": [ - -1, - 534 - ], - "'BECAUSE": [ - -1, - 534 - ], - "'BAR": [ - -1, - 534 - ], - "'SHARING": [ - -1, - 534 - ], - "'VAR": [ - -1, - 534 - ], - "'REC": [ - -1, - 534 - ], - "'WHEN": [ - -1, - 534 - ], - "'PLUS": [ - -1, - 534 - ], - "'DASH": [ - -1, - 534 - ], - "'SLASH": [ - -1, - 534 - ], - "'LEQ": [ - -1, - 534 - ], - "'GEQ": [ - -1, - 534 - ], - "'EQUALEQUAL": [ - -1, - 534 - ], - "'SPACESHIP": [ - -1, - 534 - ], - "'EQUALTILDE": [ - -1, - 534 - ], - "'NEQ": [ - -1, - 534 - ], - "'AND": [ - -1, - 534 - ], - "'OR": [ - -1, - 534 - ], - "'CARET": [ - -1, - 534 - ], - "'IS": [ - -1, - 534 - ], - "'ISEQUALEQUAL": [ - -1, - 534 - ], - "'ISEQUALTILDE": [ - -1, - 534 - ], - "'ISSPACESHIP": [ - -1, - 534 - ], - "'ISROUGHLY": [ - -1, - 534 - ], - "'ISNOT": [ - -1, - 534 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 534 - ], - "'ISNOTEQUALTILDE": [ - -1, - 534 - ], - "'ISNOTSPACESHIP": [ - -1, - 534 - ], - "'RAISES": [ - -1, - 534 - ], - "'RAISESOTHER": [ - -1, - 534 - ], - "'SATISFIES": [ - -1, - 534 - ], - "'SATISFIESNOT": [ - -1, - 534 - ], - "'RAISESSATISFIES": [ - -1, - 534 - ], - "'RAISESVIOLATES": [ - -1, - 534 - ], - "'RAISESNOT": [ - -1, - 534 - ], - "'DOTDOTDOT": [ - -1, - 534 - ], - "'NUMBER": [ - -1, - 534 - ], - "'RATIONAL": [ - -1, - 534 - ], - "'ROUGHRATIONAL": [ - -1, - 534 - ], - "'TRUE": [ - -1, - 534 - ], - "'FALSE": [ - -1, - 534 - ], - "'LAM": [ - -1, - 534 - ], - "'METHOD": [ - -1, - 534 - ], - "'LBRACK": [ - -1, - 534 - ], - "'RBRACK": [ - -1, - 534 - ], - "'TABLE": [ - -1, - 534 - ], - "'ROW": [ - -1, - 534 - ], - "'REACTOR": [ - -1, - 534 - ], - "'BANG": [ - -1, - 534 - ], - "'IF": [ - -1, - 534 - ], - "'ELSECOLON": [ - -1, - 534 - ], - "'ELSEIF": [ - -1, - 534 - ], - "'ASK": [ - -1, - 534 - ], - "'THENCOLON": [ - -1, - 534 - ], - "'CASES": [ - -1, - 534 - ], - "'FOR": [ - -1, - 534 - ], - "'TABLE-SELECT": [ - -1, - 534 - ], - "'TABLE-FILTER": [ - -1, - 534 - ], - "'USING": [ - -1, - 534 - ], - "'TABLE-ORDER": [ - -1, - 534 - ], - "'TABLE-EXTRACT": [ - -1, - 534 - ], - "'TABLE-UPDATE": [ - -1, - 534 - ], - "'TABLE-EXTEND": [ - -1, - 534 - ], - "'OF": [ - -1, - 534 - ], - "'LOAD-TABLE": [ - -1, - 534 - ], - "'SOURCECOLON": [ - -1, - 534 - ], - "'SANITIZE": [ - -1, - 534 - ] - }, - { - "'NAME": [ - -1, - 536 - ], - "'END": [ - -1, - 536 - ], - "'STRING": [ - -1, - 536 - ], - "'TYPE": [ - -1, - 536 - ], - "'DATA": [ - -1, - 536 - ], - "'PARENSPACE": [ - -1, - 536 - ], - "'SPY": [ - -1, - 536 - ], - "'NEWTYPE": [ - -1, - 536 - ], - "'LBRACE": [ - -1, - 536 - ], - "'SHADOW": [ - -1, - 536 - ], - "'LET": [ - -1, - 536 - ], - "'BLOCK": [ - -1, - 536 - ], - "'LETREC": [ - -1, - 536 - ], - "'TYPE-LET": [ - -1, - 536 - ], - "'FUN": [ - -1, - 536 - ], - "'PARENAFTERBRACE": [ - -1, - 536 - ], - "'DOC": [ - -1, - 536 - ], - "'WHERE": [ - -1, - 536 - ], - "'CHECK": [ - -1, - 536 - ], - "'EXAMPLES": [ - -1, - 536 - ], - "'CHECKCOLON": [ - -1, - 536 - ], - "'EXAMPLESCOLON": [ - -1, - 536 - ], - "'VAR": [ - -1, - 536 - ], - "'REC": [ - -1, - 536 - ], - "'WHEN": [ - -1, - 536 - ], - "'DOTDOTDOT": [ - -1, - 536 - ], - "'NUMBER": [ - -1, - 536 - ], - "'RATIONAL": [ - -1, - 536 - ], - "'ROUGHRATIONAL": [ - -1, - 536 - ], - "'TRUE": [ - -1, - 536 - ], - "'FALSE": [ - -1, - 536 - ], - "'LAM": [ - -1, - 536 - ], - "'METHOD": [ - -1, - 536 - ], - "'LBRACK": [ - -1, - 536 - ], - "'TABLE": [ - -1, - 536 - ], - "'REACTOR": [ - -1, - 536 - ], - "'IF": [ - -1, - 536 - ], - "'ASK": [ - -1, - 536 - ], - "'CASES": [ - -1, - 536 - ], - "'FOR": [ - -1, - 536 - ], - "'TABLE-SELECT": [ - -1, - 536 - ], - "'TABLE-FILTER": [ - -1, - 536 - ], - "'TABLE-ORDER": [ - -1, - 536 - ], - "'TABLE-EXTRACT": [ - -1, - 536 - ], - "'TABLE-UPDATE": [ - -1, - 536 - ], - "'TABLE-EXTEND": [ - -1, - 536 - ], - "'LOAD-TABLE": [ - -1, - 536 - ] - }, - { - "'NAME": [ - -1, - 538 - ], - "'END": [ - -1, - 538 - ], - "'STRING": [ - -1, - 538 - ], - "'TYPE": [ - -1, - 538 - ], - "'DATA": [ - -1, - 538 - ], - "'PARENSPACE": [ - -1, - 538 - ], - "'SPY": [ - -1, - 538 - ], - "'NEWTYPE": [ - -1, - 538 - ], - "'LBRACE": [ - -1, - 538 - ], - "'SHADOW": [ - -1, - 538 - ], - "'LET": [ - -1, - 538 - ], - "'BLOCK": [ - -1, - 538 - ], - "'LETREC": [ - -1, - 538 - ], - "'TYPE-LET": [ - -1, - 538 - ], - "'FUN": [ - -1, - 538 - ], - "'PARENAFTERBRACE": [ - -1, - 538 - ], - "'DOC": [ - -1, - 538 - ], - "'WHERE": [ - -1, - 538 - ], - "'CHECK": [ - -1, - 538 - ], - "'EXAMPLES": [ - -1, - 538 - ], - "'CHECKCOLON": [ - -1, - 538 - ], - "'EXAMPLESCOLON": [ - -1, - 538 - ], - "'VAR": [ - -1, - 538 - ], - "'REC": [ - -1, - 538 - ], - "'WHEN": [ - -1, - 538 - ], - "'DOTDOTDOT": [ - -1, - 538 - ], - "'NUMBER": [ - -1, - 538 - ], - "'RATIONAL": [ - -1, - 538 - ], - "'ROUGHRATIONAL": [ - -1, - 538 - ], - "'TRUE": [ - -1, - 538 - ], - "'FALSE": [ - -1, - 538 - ], - "'LAM": [ - -1, - 538 - ], - "'METHOD": [ - -1, - 538 - ], - "'LBRACK": [ - -1, - 538 - ], - "'TABLE": [ - -1, - 538 - ], - "'REACTOR": [ - -1, - 538 - ], - "'IF": [ - -1, - 538 - ], - "'ASK": [ - -1, - 538 - ], - "'CASES": [ - -1, - 538 - ], - "'FOR": [ - -1, - 538 - ], - "'TABLE-SELECT": [ - -1, - 538 - ], - "'TABLE-FILTER": [ - -1, - 538 - ], - "'TABLE-ORDER": [ - -1, - 538 - ], - "'TABLE-EXTRACT": [ - -1, - 538 - ], - "'TABLE-UPDATE": [ - -1, - 538 - ], - "'TABLE-EXTEND": [ - -1, - 538 - ], - "'LOAD-TABLE": [ - -1, - 538 - ] - }, - { - "doc-string": [ - 528 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'END": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "'NAME": [ - -1, - 540 - ], - "'END": [ - -1, - 540 - ], - "'STRING": [ - -1, - 540 - ], - "'TYPE": [ - -1, - 540 - ], - "'DATA": [ - -1, - 540 - ], - "'PARENSPACE": [ - -1, - 540 - ], - "'SPY": [ - -1, - 540 - ], - "'NEWTYPE": [ - -1, - 540 - ], - "'LBRACE": [ - -1, - 540 - ], - "'SHADOW": [ - -1, - 540 - ], - "'LET": [ - -1, - 540 - ], - "'BLOCK": [ - -1, - 540 - ], - "'LETREC": [ - -1, - 540 - ], - "'TYPE-LET": [ - -1, - 540 - ], - "'FUN": [ - -1, - 540 - ], - "'PARENAFTERBRACE": [ - -1, - 540 - ], - "'DOC": [ - -1, - 540 - ], - "'WHERE": [ - -1, - 540 - ], - "'CHECK": [ - -1, - 540 - ], - "'EXAMPLES": [ - -1, - 540 - ], - "'CHECKCOLON": [ - -1, - 540 - ], - "'EXAMPLESCOLON": [ - -1, - 540 - ], - "'VAR": [ - -1, - 540 - ], - "'REC": [ - -1, - 540 - ], - "'WHEN": [ - -1, - 540 - ], - "'DOTDOTDOT": [ - -1, - 540 - ], - "'NUMBER": [ - -1, - 540 - ], - "'RATIONAL": [ - -1, - 540 - ], - "'ROUGHRATIONAL": [ - -1, - 540 - ], - "'TRUE": [ - -1, - 540 - ], - "'FALSE": [ - -1, - 540 - ], - "'LAM": [ - -1, - 540 - ], - "'METHOD": [ - -1, - 540 - ], - "'LBRACK": [ - -1, - 540 - ], - "'TABLE": [ - -1, - 540 - ], - "'REACTOR": [ - -1, - 540 - ], - "'IF": [ - -1, - 540 - ], - "'ASK": [ - -1, - 540 - ], - "'CASES": [ - -1, - 540 - ], - "'FOR": [ - -1, - 540 - ], - "'TABLE-SELECT": [ - -1, - 540 - ], - "'TABLE-FILTER": [ - -1, - 540 - ], - "'TABLE-ORDER": [ - -1, - 540 - ], - "'TABLE-EXTRACT": [ - -1, - 540 - ], - "'TABLE-UPDATE": [ - -1, - 540 - ], - "'TABLE-EXTEND": [ - -1, - 540 - ], - "'LOAD-TABLE": [ - -1, - 540 - ] - }, - { - "'NAME": [ - -1, - 542 - ], - "'END": [ - -1, - 542 - ], - "'STRING": [ - -1, - 542 - ], - "'TYPE": [ - -1, - 542 - ], - "'DATA": [ - -1, - 542 - ], - "'PARENSPACE": [ - -1, - 542 - ], - "'SPY": [ - -1, - 542 - ], - "'NEWTYPE": [ - -1, - 542 - ], - "'LBRACE": [ - -1, - 542 - ], - "'SHADOW": [ - -1, - 542 - ], - "'LET": [ - -1, - 542 - ], - "'BLOCK": [ - -1, - 542 - ], - "'LETREC": [ - -1, - 542 - ], - "'TYPE-LET": [ - -1, - 542 - ], - "'FUN": [ - -1, - 542 - ], - "'PARENAFTERBRACE": [ - -1, - 542 - ], - "'DOC": [ - -1, - 542 - ], - "'WHERE": [ - -1, - 542 - ], - "'CHECK": [ - -1, - 542 - ], - "'EXAMPLES": [ - -1, - 542 - ], - "'CHECKCOLON": [ - -1, - 542 - ], - "'EXAMPLESCOLON": [ - -1, - 542 - ], - "'VAR": [ - -1, - 542 - ], - "'REC": [ - -1, - 542 - ], - "'WHEN": [ - -1, - 542 - ], - "'DOTDOTDOT": [ - -1, - 542 - ], - "'NUMBER": [ - -1, - 542 - ], - "'RATIONAL": [ - -1, - 542 - ], - "'ROUGHRATIONAL": [ - -1, - 542 - ], - "'TRUE": [ - -1, - 542 - ], - "'FALSE": [ - -1, - 542 - ], - "'LAM": [ - -1, - 542 - ], - "'METHOD": [ - -1, - 542 - ], - "'LBRACK": [ - -1, - 542 - ], - "'TABLE": [ - -1, - 542 - ], - "'REACTOR": [ - -1, - 542 - ], - "'IF": [ - -1, - 542 - ], - "'ASK": [ - -1, - 542 - ], - "'CASES": [ - -1, - 542 - ], - "'FOR": [ - -1, - 542 - ], - "'TABLE-SELECT": [ - -1, - 542 - ], - "'TABLE-FILTER": [ - -1, - 542 - ], - "'TABLE-ORDER": [ - -1, - 542 - ], - "'TABLE-EXTRACT": [ - -1, - 542 - ], - "'TABLE-UPDATE": [ - -1, - 542 - ], - "'TABLE-EXTEND": [ - -1, - 542 - ], - "'LOAD-TABLE": [ - -1, - 542 - ] - }, - { - "doc-string": [ - 529 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'END": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "'COLON": [ - 530 - ] - }, - { - "'END": [ - 531 - ] - }, - { - "'END": [ - -1, - 544 - ] - }, - { - "'END": [ - -1, - 546 - ] - }, - { - "table-row": [ - 532 - ], - "table-rows_I0_I0": [ - 533 - ], - "'ROW": [ - 534 - ] - }, - { - "'COLONCOLON": [ - 535 - ], - "table-header_I1?": [ - 536 - ], - "table-header_I1": [ - 537 - ], - "'END": [ - -1, - 548, - 550 - ], - "'COMMA": [ - -1, - 548, - 550 - ], - "'ROW": [ - -1, - 548, - 550 - ], - "'SOURCECOLON": [ - -1, - 548, - 550 - ], - "'SANITIZE": [ - -1, - 548, - 550 - ] - }, - { - "'COMMA": [ - 538 - ], - "'END": [ - -1, - 552 - ], - "'ROW": [ - -1, - 552 - ], - "'SOURCECOLON": [ - -1, - 552 - ], - "'SANITIZE": [ - -1, - 552 - ] - }, - { - "'NAME": [ - -1, - 554 - ] - }, - { - "'NAME": [ - -1, - 556 - ] - }, - { - "'END": [ - 539 - ] - }, - { - "'NAME": [ - 291 - ], - "key": [ - 540 - ] - }, - { - "'COLON": [ - 541 - ] - }, - { - "fields_I1*": [ - 542 - ], - "'END": [ - -1, - 558, - 560 - ], - "'COMMA": [ - -1, - 560 - ], - "'RBRACE": [ - -1, - 558, - 560 - ], - "'WHERE": [ - -1, - 558, - 560 - ], - "'BAR": [ - -1, - 558, - 560 - ], - "'SHARING": [ - -1, - 558, - 560 - ] - }, - { - "'NAME": [ - -1, - 562 - ], - "'END": [ - -1, - 562 - ], - "'STRING": [ - -1, - 562 - ], - "'TYPE": [ - -1, - 562 - ], - "'DATA": [ - -1, - 562 - ], - "'PARENSPACE": [ - -1, - 562 - ], - "'SPY": [ - -1, - 562 - ], - "'NEWTYPE": [ - -1, - 562 - ], - "'LBRACE": [ - -1, - 562 - ], - "'SHADOW": [ - -1, - 562 - ], - "'LET": [ - -1, - 562 - ], - "'BLOCK": [ - -1, - 562 - ], - "'LETREC": [ - -1, - 562 - ], - "'TYPE-LET": [ - -1, - 562 - ], - "'FUN": [ - -1, - 562 - ], - "'PARENAFTERBRACE": [ - -1, - 562 - ], - "'CHECK": [ - -1, - 562 - ], - "'EXAMPLES": [ - -1, - 562 - ], - "'CHECKCOLON": [ - -1, - 562 - ], - "'EXAMPLESCOLON": [ - -1, - 562 - ], - "'VAR": [ - -1, - 562 - ], - "'REC": [ - -1, - 562 - ], - "'WHEN": [ - -1, - 562 - ], - "'DOTDOTDOT": [ - -1, - 562 - ], - "'NUMBER": [ - -1, - 562 - ], - "'RATIONAL": [ - -1, - 562 - ], - "'ROUGHRATIONAL": [ - -1, - 562 - ], - "'TRUE": [ - -1, - 562 - ], - "'FALSE": [ - -1, - 562 - ], - "'LAM": [ - -1, - 562 - ], - "'METHOD": [ - -1, - 562 - ], - "'LBRACK": [ - -1, - 562 - ], - "'TABLE": [ - -1, - 562 - ], - "'REACTOR": [ - -1, - 562 - ], - "'IF": [ - -1, - 562 - ], - "'ELSECOLON": [ - -1, - 562 - ], - "'ELSEIF": [ - -1, - 562 - ], - "'ASK": [ - -1, - 562 - ], - "'CASES": [ - -1, - 562 - ], - "'FOR": [ - -1, - 562 - ], - "'TABLE-SELECT": [ - -1, - 562 - ], - "'TABLE-FILTER": [ - -1, - 562 - ], - "'TABLE-ORDER": [ - -1, - 562 - ], - "'TABLE-EXTRACT": [ - -1, - 562 - ], - "'TABLE-UPDATE": [ - -1, - 562 - ], - "'TABLE-EXTEND": [ - -1, - 562 - ], - "'LOAD-TABLE": [ - -1, - 562 - ] - }, - { - "'NAME": [ - -1, - 564 - ], - "'END": [ - -1, - 564 - ], - "'STRING": [ - -1, - 564 - ], - "'TYPE": [ - -1, - 564 - ], - "'DATA": [ - -1, - 564 - ], - "'PARENSPACE": [ - -1, - 564 - ], - "'SPY": [ - -1, - 564 - ], - "'NEWTYPE": [ - -1, - 564 - ], - "'LBRACE": [ - -1, - 564 - ], - "'SHADOW": [ - -1, - 564 - ], - "'LET": [ - -1, - 564 - ], - "'BLOCK": [ - -1, - 564 - ], - "'LETREC": [ - -1, - 564 - ], - "'TYPE-LET": [ - -1, - 564 - ], - "'FUN": [ - -1, - 564 - ], - "'PARENAFTERBRACE": [ - -1, - 564 - ], - "'CHECK": [ - -1, - 564 - ], - "'EXAMPLES": [ - -1, - 564 - ], - "'CHECKCOLON": [ - -1, - 564 - ], - "'EXAMPLESCOLON": [ - -1, - 564 - ], - "'VAR": [ - -1, - 564 - ], - "'REC": [ - -1, - 564 - ], - "'WHEN": [ - -1, - 564 - ], - "'DOTDOTDOT": [ - -1, - 564 - ], - "'NUMBER": [ - -1, - 564 - ], - "'RATIONAL": [ - -1, - 564 - ], - "'ROUGHRATIONAL": [ - -1, - 564 - ], - "'TRUE": [ - -1, - 564 - ], - "'FALSE": [ - -1, - 564 - ], - "'LAM": [ - -1, - 564 - ], - "'METHOD": [ - -1, - 564 - ], - "'LBRACK": [ - -1, - 564 - ], - "'TABLE": [ - -1, - 564 - ], - "'REACTOR": [ - -1, - 564 - ], - "'IF": [ - -1, - 564 - ], - "'ELSECOLON": [ - -1, - 564 - ], - "'ELSEIF": [ - -1, - 564 - ], - "'ASK": [ - -1, - 564 - ], - "'CASES": [ - -1, - 564 - ], - "'FOR": [ - -1, - 564 - ], - "'TABLE-SELECT": [ - -1, - 564 - ], - "'TABLE-FILTER": [ - -1, - 564 - ], - "'TABLE-ORDER": [ - -1, - 564 - ], - "'TABLE-EXTRACT": [ - -1, - 564 - ], - "'TABLE-UPDATE": [ - -1, - 564 - ], - "'TABLE-EXTEND": [ - -1, - 564 - ], - "'LOAD-TABLE": [ - -1, - 564 - ] - }, - { - "block": [ - 543 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ELSECOLON": [ - -1, - 8, - 10 - ], - "'ELSEIF": [ - -1, - 8, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'BAR": [ - 544 - ], - "if-pipe-expr_I3?": [ - 545 - ], - "if-pipe-expr_I2": [ - 546 - ], - "if-pipe-branch": [ - 547 - ], - "if-pipe-expr_I3": [ - 548 - ], - "'END": [ - -1, - 566 - ] - }, - { - "'RPAREN": [ - 549 - ], - "'PERCENT": [ - 516 - ] - }, - { - "'NAME": [ - 139, - 22 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 315 - ], - "id-expr": [ - 33 - ], - "binding": [ - 550 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 39 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "opt-comma-binops": [ - 316 - ], - "opt-comma-binops_I0?": [ - 317 - ], - "opt-comma-binops_I0": [ - 318 - ], - "comma-binops": [ - 319 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "for-bind": [ - 551 - ], - "'FOR": [ - 112 - ], - "for-expr_I3?": [ - 552 - ], - "for-expr_I3": [ - 553 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'RPAREN": [ - -1, - 568, - 300, - 302 - ] - }, - { - "'FROM": [ - 554 - ], - "'COMMA": [ - 555 - ], - "table-select_I2": [ - 556 - ] - }, - { - "'COLON": [ - 557 - ] - }, - { - "'COLON": [ - -1, - 570 - ] - }, - { - "binding": [ - 558 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'NAME": [ - 559 - ], - "column-order": [ - 560 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 561 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "binding": [ - 562 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COLON": [ - 563 - ] - }, - { - "'COLON": [ - -1, - 572 - ] - }, - { - "binding": [ - 564 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COLON": [ - 565 - ] - }, - { - "'COLON": [ - -1, - 574 - ] - }, - { - "load-table-expr_I3?": [ - 566 - ], - "load-table-expr_I3": [ - 567 - ], - "load-table-specs": [ - 568 - ], - "load-table-specs_I0*": [ - 569 - ], - "'END": [ - -1, - 576 - ], - "'SOURCECOLON": [ - -1, - 578 - ], - "'SANITIZE": [ - -1, - 578 - ] - }, - { - "'COLON": [ - 570 - ] - }, - { - "'COMMA": [ - 571 - ], - "comma-names_I1": [ - 572 - ], - "'FROM": [ - -1, - 580 - ], - "'RANGLE": [ - -1, - 580 - ], - "'GT": [ - -1, - 580 - ] - }, - { - "'NAME": [ - 573 - ] - }, - { - "'NAME": [ - 131 - ], - "import-source": [ - 574 - ], - "import-special": [ - 133 - ], - "import-name": [ - 134 - ] - }, - { - "'COLON": [ - 575 - ] - }, - { - "$": [ - -1, - 582 - ], - "'NAME": [ - -1, - 582 - ], - "'INCLUDE": [ - -1, - 582 - ], - "'IMPORT": [ - -1, - 582 - ], - "'STRING": [ - -1, - 582 - ], - "'TYPE": [ - -1, - 582 - ], - "'DATA": [ - -1, - 582 - ], - "'PROVIDE": [ - -1, - 582 - ], - "'PROVIDE-TYPES": [ - -1, - 582 - ], - "'PROVIDECOLON": [ - -1, - 582 - ], - "'PARENSPACE": [ - -1, - 582 - ], - "'SPY": [ - -1, - 582 - ], - "'NEWTYPE": [ - -1, - 582 - ], - "'LBRACE": [ - -1, - 582 - ], - "'SHADOW": [ - -1, - 582 - ], - "'LET": [ - -1, - 582 - ], - "'BLOCK": [ - -1, - 582 - ], - "'LETREC": [ - -1, - 582 - ], - "'TYPE-LET": [ - -1, - 582 - ], - "'FUN": [ - -1, - 582 - ], - "'PARENAFTERBRACE": [ - -1, - 582 - ], - "'CHECK": [ - -1, - 582 - ], - "'EXAMPLES": [ - -1, - 582 - ], - "'CHECKCOLON": [ - -1, - 582 - ], - "'EXAMPLESCOLON": [ - -1, - 582 - ], - "'VAR": [ - -1, - 582 - ], - "'REC": [ - -1, - 582 - ], - "'WHEN": [ - -1, - 582 - ], - "'DOTDOTDOT": [ - -1, - 582 - ], - "'NUMBER": [ - -1, - 582 - ], - "'RATIONAL": [ - -1, - 582 - ], - "'ROUGHRATIONAL": [ - -1, - 582 - ], - "'TRUE": [ - -1, - 582 - ], - "'FALSE": [ - -1, - 582 - ], - "'LAM": [ - -1, - 582 - ], - "'METHOD": [ - -1, - 582 - ], - "'LBRACK": [ - -1, - 582 - ], - "'TABLE": [ - -1, - 582 - ], - "'REACTOR": [ - -1, - 582 - ], - "'IF": [ - -1, - 582 - ], - "'ASK": [ - -1, - 582 - ], - "'CASES": [ - -1, - 582 - ], - "'FOR": [ - -1, - 582 - ], - "'TABLE-SELECT": [ - -1, - 582 - ], - "'TABLE-FILTER": [ - -1, - 582 - ], - "'TABLE-ORDER": [ - -1, - 582 - ], - "'TABLE-EXTRACT": [ - -1, - 582 - ], - "'TABLE-UPDATE": [ - -1, - 582 - ], - "'TABLE-EXTEND": [ - -1, - 582 - ], - "'LOAD-TABLE": [ - -1, - 582 - ] - }, - { - "'COLONCOLON": [ - 576 - ] - }, - { - "'COMMA": [ - 577 - ], - "trailing-opt-comma-ann-field_I0_A0_I1?": [ - 578 - ], - "trailing-opt-comma-ann-field_I0_A0_I1": [ - 579 - ], - "'RBRACE": [ - -1, - 584, - 586 - ] - }, - { - "comma-ann-field_I1*": [ - 580 - ], - "'COMMA": [ - -1, - 588, - 590 - ], - "'RPAREN": [ - -1, - 588, - 590 - ], - "'RBRACE": [ - -1, - 588, - 590 - ] - }, - { - "'RBRACE": [ - 581 - ] - }, - { - "'RBRACE": [ - -1, - 592 - ] - }, - { - "'NAME": [ - 582 - ] - }, - { - "'END": [ - -1, - 594 - ], - "'COMMA": [ - -1, - 594 - ] - }, - { - "'END": [ - -1, - 596 - ], - "'COMMA": [ - -1, - 596 - ], - "'HIDING": [ - -1, - 596 - ] - }, - { - "hiding-spec": [ - 583 - ], - "provide-data-spec_I2?": [ - 584 - ], - "provide-data-spec_I2": [ - 585 - ], - "'HIDING": [ - 422 - ], - "'END": [ - -1, - 598, - 600 - ], - "'COMMA": [ - -1, - 598, - 600 - ] - }, - { - "'END": [ - -1, - 602 - ], - "'COMMA": [ - -1, - 602 - ], - "'HIDING": [ - -1, - 602 - ] - }, - { - "'END": [ - -1, - 604 - ], - "'COMMA": [ - -1, - 604 - ], - "'HIDING": [ - -1, - 604 - ] - }, - { - "'END": [ - -1, - 606 - ], - "'COMMA": [ - -1, - 606 - ], - "'HIDING": [ - -1, - 606 - ] - }, - { - "'END": [ - -1, - 608 - ], - "'COMMA": [ - -1, - 608 - ] - }, - { - "$": [ - -1, - 610 - ], - "'NAME": [ - -1, - 610 - ], - "'INCLUDE": [ - -1, - 610 - ], - "'IMPORT": [ - -1, - 610 - ], - "'STRING": [ - -1, - 610 - ], - "'TYPE": [ - -1, - 610 - ], - "'DATA": [ - -1, - 610 - ], - "'PROVIDE": [ - -1, - 610 - ], - "'PROVIDE-TYPES": [ - -1, - 610 - ], - "'PROVIDECOLON": [ - -1, - 610 - ], - "'PARENSPACE": [ - -1, - 610 - ], - "'SPY": [ - -1, - 610 - ], - "'NEWTYPE": [ - -1, - 610 - ], - "'LBRACE": [ - -1, - 610 - ], - "'SHADOW": [ - -1, - 610 - ], - "'LET": [ - -1, - 610 - ], - "'BLOCK": [ - -1, - 610 - ], - "'LETREC": [ - -1, - 610 - ], - "'TYPE-LET": [ - -1, - 610 - ], - "'FUN": [ - -1, - 610 - ], - "'PARENAFTERBRACE": [ - -1, - 610 - ], - "'CHECK": [ - -1, - 610 - ], - "'EXAMPLES": [ - -1, - 610 - ], - "'CHECKCOLON": [ - -1, - 610 - ], - "'EXAMPLESCOLON": [ - -1, - 610 - ], - "'VAR": [ - -1, - 610 - ], - "'REC": [ - -1, - 610 - ], - "'WHEN": [ - -1, - 610 - ], - "'DOTDOTDOT": [ - -1, - 610 - ], - "'NUMBER": [ - -1, - 610 - ], - "'RATIONAL": [ - -1, - 610 - ], - "'ROUGHRATIONAL": [ - -1, - 610 - ], - "'TRUE": [ - -1, - 610 - ], - "'FALSE": [ - -1, - 610 - ], - "'LAM": [ - -1, - 610 - ], - "'METHOD": [ - -1, - 610 - ], - "'LBRACK": [ - -1, - 610 - ], - "'TABLE": [ - -1, - 610 - ], - "'REACTOR": [ - -1, - 610 - ], - "'IF": [ - -1, - 610 - ], - "'ASK": [ - -1, - 610 - ], - "'CASES": [ - -1, - 610 - ], - "'FOR": [ - -1, - 610 - ], - "'TABLE-SELECT": [ - -1, - 610 - ], - "'TABLE-FILTER": [ - -1, - 610 - ], - "'TABLE-ORDER": [ - -1, - 610 - ], - "'TABLE-EXTRACT": [ - -1, - 610 - ], - "'TABLE-UPDATE": [ - -1, - 610 - ], - "'TABLE-EXTEND": [ - -1, - 610 - ], - "'LOAD-TABLE": [ - -1, - 610 - ] - }, - { - "'COMMA": [ - 586 - ], - "provide-block_A0_I1_I2?": [ - 587 - ], - "provide-block_A0_I1_I1": [ - 588 - ], - "provide-block_A0_I1_I2": [ - 589 - ], - "'END": [ - -1, - 612, - 614 - ] - }, - { - "'END": [ - -1, - 616 - ], - "'COMMA": [ - -1, - 616 - ] - }, - { - "'END": [ - -1, - 618 - ], - "'COMMA": [ - -1, - 618 - ] - }, - { - "'END": [ - -1, - 620 - ], - "'COMMA": [ - -1, - 620 - ] - }, - { - "'PARENNOSPACE": [ - 590 - ], - "hiding-spec_I1": [ - 591 - ], - "'PARENSPACE": [ - 592 - ] - }, - { - "'DOT": [ - 593 - ], - "'COLON": [ - -1, - 622 - ], - "'END": [ - -1, - 622 - ], - "'COMMA": [ - -1, - 622 - ], - "'AS": [ - -1, - 622 - ], - "'HIDING": [ - -1, - 622 - ] - }, - { - "'NAME": [ - -1, - 624 - ] - }, - { - "import-special_I3*": [ - 594 - ], - "'COMMA": [ - -1, - 626 - ], - "'RPAREN": [ - -1, - 626 - ] - }, - { - "'NAME": [ - -1, - 472, - 628 - ], - "'PARENNOSPACE": [ - -1, - 472 - ], - "'PARENSPACE": [ - -1, - 472 - ], - "'LBRACE": [ - -1, - 472 - ], - "'PARENAFTERBRACE": [ - -1, - 472 - ], - "'THINARROW": [ - -1, - 472 - ] - }, - { - "'NAME": [ - -1, - 476, - 630 - ], - "'PARENNOSPACE": [ - -1, - 476 - ], - "'PARENSPACE": [ - -1, - 476 - ], - "'LBRACE": [ - -1, - 476 - ], - "'PARENAFTERBRACE": [ - -1, - 476 - ], - "'THINARROW": [ - -1, - 476 - ] - }, - { - "'PERCENT": [ - 516 - ], - "comma-anns_I1*": [ - 595 - ], - "$": [ - -1, - 632 - ], - "'NAME": [ - -1, - 632 - ], - "'END": [ - -1, - 632 - ], - "'COMMA": [ - -1, - 634 - ], - "'STRING": [ - -1, - 632 - ], - "'TYPE": [ - -1, - 632 - ], - "'DATA": [ - -1, - 632 - ], - "'PARENSPACE": [ - -1, - 632 - ], - "'SPY": [ - -1, - 632 - ], - "'NEWTYPE": [ - -1, - 632 - ], - "'LBRACE": [ - -1, - 632 - ], - "'RBRACE": [ - -1, - 632 - ], - "'SHADOW": [ - -1, - 632 - ], - "'LET": [ - -1, - 632 - ], - "'BLOCK": [ - -1, - 632 - ], - "'LETREC": [ - -1, - 632 - ], - "'TYPE-LET": [ - -1, - 632 - ], - "'FUN": [ - -1, - 632 - ], - "'PARENAFTERBRACE": [ - -1, - 632 - ], - "'THINARROW": [ - -1, - 636, - 634 - ], - "'WHERE": [ - -1, - 632 - ], - "'CHECK": [ - -1, - 632 - ], - "'EXAMPLES": [ - -1, - 632 - ], - "'CHECKCOLON": [ - -1, - 632 - ], - "'EXAMPLESCOLON": [ - -1, - 632 - ], - "'BAR": [ - -1, - 632 - ], - "'VAR": [ - -1, - 632 - ], - "'REC": [ - -1, - 632 - ], - "'WHEN": [ - -1, - 632 - ], - "'DOTDOTDOT": [ - -1, - 632 - ], - "'NUMBER": [ - -1, - 632 - ], - "'RATIONAL": [ - -1, - 632 - ], - "'ROUGHRATIONAL": [ - -1, - 632 - ], - "'TRUE": [ - -1, - 632 - ], - "'FALSE": [ - -1, - 632 - ], - "'LAM": [ - -1, - 632 - ], - "'METHOD": [ - -1, - 632 - ], - "'LBRACK": [ - -1, - 632 - ], - "'TABLE": [ - -1, - 632 - ], - "'REACTOR": [ - -1, - 632 - ], - "'IF": [ - -1, - 632 - ], - "'ELSECOLON": [ - -1, - 632 - ], - "'ELSEIF": [ - -1, - 632 - ], - "'ASK": [ - -1, - 632 - ], - "'CASES": [ - -1, - 632 - ], - "'FOR": [ - -1, - 632 - ], - "'TABLE-SELECT": [ - -1, - 632 - ], - "'TABLE-FILTER": [ - -1, - 632 - ], - "'TABLE-ORDER": [ - -1, - 632 - ], - "'TABLE-EXTRACT": [ - -1, - 632 - ], - "'TABLE-UPDATE": [ - -1, - 632 - ], - "'TABLE-EXTEND": [ - -1, - 632 - ], - "'LOAD-TABLE": [ - -1, - 632 - ] - }, - { - "$": [ - -1, - 638 - ], - "'NAME": [ - -1, - 638 - ], - "'END": [ - -1, - 638 - ], - "'STRING": [ - -1, - 638 - ], - "'TYPE": [ - -1, - 638 - ], - "'DATA": [ - -1, - 638 - ], - "'PARENSPACE": [ - -1, - 638 - ], - "'SPY": [ - -1, - 638 - ], - "'NEWTYPE": [ - -1, - 638 - ], - "'LBRACE": [ - -1, - 638 - ], - "'RBRACE": [ - -1, - 638 - ], - "'SHADOW": [ - -1, - 638 - ], - "'LET": [ - -1, - 638 - ], - "'BLOCK": [ - -1, - 638 - ], - "'LETREC": [ - -1, - 638 - ], - "'TYPE-LET": [ - -1, - 638 - ], - "'FUN": [ - -1, - 638 - ], - "'PARENAFTERBRACE": [ - -1, - 638 - ], - "'WHERE": [ - -1, - 638 - ], - "'CHECK": [ - -1, - 638 - ], - "'EXAMPLES": [ - -1, - 638 - ], - "'CHECKCOLON": [ - -1, - 638 - ], - "'EXAMPLESCOLON": [ - -1, - 638 - ], - "'BAR": [ - -1, - 638 - ], - "'VAR": [ - -1, - 638 - ], - "'REC": [ - -1, - 638 - ], - "'WHEN": [ - -1, - 638 - ], - "'DOTDOTDOT": [ - -1, - 638 - ], - "'NUMBER": [ - -1, - 638 - ], - "'RATIONAL": [ - -1, - 638 - ], - "'ROUGHRATIONAL": [ - -1, - 638 - ], - "'TRUE": [ - -1, - 638 - ], - "'FALSE": [ - -1, - 638 - ], - "'LAM": [ - -1, - 638 - ], - "'METHOD": [ - -1, - 638 - ], - "'LBRACK": [ - -1, - 638 - ], - "'TABLE": [ - -1, - 638 - ], - "'REACTOR": [ - -1, - 638 - ], - "'IF": [ - -1, - 638 - ], - "'ELSECOLON": [ - -1, - 638 - ], - "'ELSEIF": [ - -1, - 638 - ], - "'ASK": [ - -1, - 638 - ], - "'CASES": [ - -1, - 638 - ], - "'FOR": [ - -1, - 638 - ], - "'TABLE-SELECT": [ - -1, - 638 - ], - "'TABLE-FILTER": [ - -1, - 638 - ], - "'TABLE-ORDER": [ - -1, - 638 - ], - "'TABLE-EXTRACT": [ - -1, - 638 - ], - "'TABLE-UPDATE": [ - -1, - 638 - ], - "'TABLE-EXTEND": [ - -1, - 638 - ], - "'LOAD-TABLE": [ - -1, - 638 - ] - }, - { - "$": [ - -1, - 640 - ], - "'NAME": [ - -1, - 640 - ], - "'END": [ - -1, - 640 - ], - "'STRING": [ - -1, - 640 - ], - "'TYPE": [ - -1, - 640 - ], - "'DATA": [ - -1, - 640 - ], - "'PARENSPACE": [ - -1, - 640 - ], - "'SPY": [ - -1, - 640 - ], - "'NEWTYPE": [ - -1, - 640 - ], - "'LBRACE": [ - -1, - 640 - ], - "'RBRACE": [ - -1, - 640 - ], - "'SHADOW": [ - -1, - 640 - ], - "'LET": [ - -1, - 640 - ], - "'BLOCK": [ - -1, - 640 - ], - "'LETREC": [ - -1, - 640 - ], - "'TYPE-LET": [ - -1, - 640 - ], - "'FUN": [ - -1, - 640 - ], - "'PARENAFTERBRACE": [ - -1, - 640 - ], - "'WHERE": [ - -1, - 640 - ], - "'CHECK": [ - -1, - 640 - ], - "'EXAMPLES": [ - -1, - 640 - ], - "'CHECKCOLON": [ - -1, - 640 - ], - "'EXAMPLESCOLON": [ - -1, - 640 - ], - "'BAR": [ - -1, - 640 - ], - "'VAR": [ - -1, - 640 - ], - "'REC": [ - -1, - 640 - ], - "'WHEN": [ - -1, - 640 - ], - "'DOTDOTDOT": [ - -1, - 640 - ], - "'NUMBER": [ - -1, - 640 - ], - "'RATIONAL": [ - -1, - 640 - ], - "'ROUGHRATIONAL": [ - -1, - 640 - ], - "'TRUE": [ - -1, - 640 - ], - "'FALSE": [ - -1, - 640 - ], - "'LAM": [ - -1, - 640 - ], - "'METHOD": [ - -1, - 640 - ], - "'LBRACK": [ - -1, - 640 - ], - "'TABLE": [ - -1, - 640 - ], - "'REACTOR": [ - -1, - 640 - ], - "'IF": [ - -1, - 640 - ], - "'ELSECOLON": [ - -1, - 640 - ], - "'ELSEIF": [ - -1, - 640 - ], - "'ASK": [ - -1, - 640 - ], - "'CASES": [ - -1, - 640 - ], - "'FOR": [ - -1, - 640 - ], - "'TABLE-SELECT": [ - -1, - 640 - ], - "'TABLE-FILTER": [ - -1, - 640 - ], - "'TABLE-ORDER": [ - -1, - 640 - ], - "'TABLE-EXTRACT": [ - -1, - 640 - ], - "'TABLE-UPDATE": [ - -1, - 640 - ], - "'TABLE-EXTEND": [ - -1, - 640 - ], - "'LOAD-TABLE": [ - -1, - 640 - ] - }, - { - "'NAME": [ - -1, - 480, - 642 - ], - "'PARENNOSPACE": [ - -1, - 480 - ], - "'PARENSPACE": [ - -1, - 480 - ], - "'LBRACE": [ - -1, - 480 - ], - "'PARENAFTERBRACE": [ - -1, - 480 - ], - "'THINARROW": [ - -1, - 480 - ] - }, - { - "'THINARROW": [ - 596 - ] - }, - { - "'THINARROW": [ - -1, - 644 - ] - }, - { - "'THINARROW": [ - -1, - 646 - ] - }, - { - "'THINARROW": [ - -1, - 648 - ] - }, - { - "'NAME": [ - 404 - ], - "comma-ann-field": [ - 597 - ], - "ann-field": [ - 406 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 598 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'NAME": [ - 599 - ], - "data-expr_I4?": [ - 600 - ], - "data-expr_I4": [ - 601 - ], - "first-data-variant": [ - 602 - ], - "variant-constructor": [ - 603 - ], - "'END": [ - -1, - 650 - ], - "'WHERE": [ - -1, - 650 - ], - "'BAR": [ - -1, - 650 - ], - "'SHARING": [ - -1, - 650 - ] - }, - { - "'COLON": [ - 604 - ], - "'END": [ - -1, - 28 - ], - "'COMMA": [ - -1, - 28 - ] - }, - { - "'END": [ - 605 - ] - }, - { - "'END": [ - -1, - 652 - ] - }, - { - "'END": [ - -1, - 654 - ] - }, - { - "spy-contents_I1*": [ - 606 - ], - "'END": [ - -1, - 656, - 658 - ], - "'COMMA": [ - -1, - 658 - ] - }, - { - "'END": [ - -1, - 660 - ], - "'COMMA": [ - -1, - 660 - ] - }, - { - "check-test_A0_I4?": [ - 607 - ], - "check-test_A0_I4": [ - 608 - ], - "'BECAUSE": [ - 609 - ], - "$": [ - -1, - 662, - 664 - ], - "'NAME": [ - -1, - 662, - 664 - ], - "'END": [ - -1, - 662, - 664 - ], - "'STRING": [ - -1, - 662, - 664 - ], - "'TYPE": [ - -1, - 662, - 664 - ], - "'DATA": [ - -1, - 662, - 664 - ], - "'PARENSPACE": [ - -1, - 662, - 664 - ], - "'SPY": [ - -1, - 662, - 664 - ], - "'NEWTYPE": [ - -1, - 662, - 664 - ], - "'LBRACE": [ - -1, - 662, - 664 - ], - "'RBRACE": [ - -1, - 662, - 664 - ], - "'SHADOW": [ - -1, - 662, - 664 - ], - "'LET": [ - -1, - 662, - 664 - ], - "'BLOCK": [ - -1, - 662, - 664 - ], - "'LETREC": [ - -1, - 662, - 664 - ], - "'TYPE-LET": [ - -1, - 662, - 664 - ], - "'FUN": [ - -1, - 662, - 664 - ], - "'PARENAFTERBRACE": [ - -1, - 662, - 664 - ], - "'WHERE": [ - -1, - 662, - 664 - ], - "'CHECK": [ - -1, - 662, - 664 - ], - "'EXAMPLES": [ - -1, - 662, - 664 - ], - "'CHECKCOLON": [ - -1, - 662, - 664 - ], - "'EXAMPLESCOLON": [ - -1, - 662, - 664 - ], - "'BAR": [ - -1, - 662, - 664 - ], - "'VAR": [ - -1, - 662, - 664 - ], - "'REC": [ - -1, - 662, - 664 - ], - "'WHEN": [ - -1, - 662, - 664 - ], - "'DOTDOTDOT": [ - -1, - 662, - 664 - ], - "'NUMBER": [ - -1, - 662, - 664 - ], - "'RATIONAL": [ - -1, - 662, - 664 - ], - "'ROUGHRATIONAL": [ - -1, - 662, - 664 - ], - "'TRUE": [ - -1, - 662, - 664 - ], - "'FALSE": [ - -1, - 662, - 664 - ], - "'LAM": [ - -1, - 662, - 664 - ], - "'METHOD": [ - -1, - 662, - 664 - ], - "'LBRACK": [ - -1, - 662, - 664 - ], - "'TABLE": [ - -1, - 662, - 664 - ], - "'REACTOR": [ - -1, - 662, - 664 - ], - "'IF": [ - -1, - 662, - 664 - ], - "'ELSECOLON": [ - -1, - 662, - 664 - ], - "'ELSEIF": [ - -1, - 662, - 664 - ], - "'ASK": [ - -1, - 662, - 664 - ], - "'CASES": [ - -1, - 662, - 664 - ], - "'FOR": [ - -1, - 662, - 664 - ], - "'TABLE-SELECT": [ - -1, - 662, - 664 - ], - "'TABLE-FILTER": [ - -1, - 662, - 664 - ], - "'TABLE-ORDER": [ - -1, - 662, - 664 - ], - "'TABLE-EXTRACT": [ - -1, - 662, - 664 - ], - "'TABLE-UPDATE": [ - -1, - 662, - 664 - ], - "'TABLE-EXTEND": [ - -1, - 662, - 664 - ], - "'LOAD-TABLE": [ - -1, - 662, - 664 - ] - }, - { - "'NAME": [ - -1, - 666 - ], - "'STRING": [ - -1, - 666 - ], - "'PARENSPACE": [ - -1, - 666 - ], - "'LBRACE": [ - -1, - 666 - ], - "'LET": [ - -1, - 666 - ], - "'BLOCK": [ - -1, - 666 - ], - "'LETREC": [ - -1, - 666 - ], - "'TYPE-LET": [ - -1, - 666 - ], - "'PARENAFTERBRACE": [ - -1, - 666 - ], - "'DOTDOTDOT": [ - -1, - 666 - ], - "'NUMBER": [ - -1, - 666 - ], - "'RATIONAL": [ - -1, - 666 - ], - "'ROUGHRATIONAL": [ - -1, - 666 - ], - "'TRUE": [ - -1, - 666 - ], - "'FALSE": [ - -1, - 666 - ], - "'LAM": [ - -1, - 666 - ], - "'METHOD": [ - -1, - 666 - ], - "'LBRACK": [ - -1, - 666 - ], - "'TABLE": [ - -1, - 666 - ], - "'REACTOR": [ - -1, - 666 - ], - "'IF": [ - -1, - 666 - ], - "'ASK": [ - -1, - 666 - ], - "'CASES": [ - -1, - 666 - ], - "'FOR": [ - -1, - 666 - ], - "'TABLE-SELECT": [ - -1, - 666 - ], - "'TABLE-FILTER": [ - -1, - 666 - ], - "'TABLE-ORDER": [ - -1, - 666 - ], - "'TABLE-EXTRACT": [ - -1, - 666 - ], - "'TABLE-UPDATE": [ - -1, - 666 - ], - "'TABLE-EXTEND": [ - -1, - 666 - ], - "'LOAD-TABLE": [ - -1, - 666 - ] - }, - { - "'NAME": [ - -1, - 668 - ], - "'STRING": [ - -1, - 668 - ], - "'PARENSPACE": [ - -1, - 668 - ], - "'LBRACE": [ - -1, - 668 - ], - "'LET": [ - -1, - 668 - ], - "'BLOCK": [ - -1, - 668 - ], - "'LETREC": [ - -1, - 668 - ], - "'TYPE-LET": [ - -1, - 668 - ], - "'PARENAFTERBRACE": [ - -1, - 668 - ], - "'DOTDOTDOT": [ - -1, - 668 - ], - "'NUMBER": [ - -1, - 668 - ], - "'RATIONAL": [ - -1, - 668 - ], - "'ROUGHRATIONAL": [ - -1, - 668 - ], - "'TRUE": [ - -1, - 668 - ], - "'FALSE": [ - -1, - 668 - ], - "'LAM": [ - -1, - 668 - ], - "'METHOD": [ - -1, - 668 - ], - "'LBRACK": [ - -1, - 668 - ], - "'TABLE": [ - -1, - 668 - ], - "'REACTOR": [ - -1, - 668 - ], - "'IF": [ - -1, - 668 - ], - "'ASK": [ - -1, - 668 - ], - "'CASES": [ - -1, - 668 - ], - "'FOR": [ - -1, - 668 - ], - "'TABLE-SELECT": [ - -1, - 668 - ], - "'TABLE-FILTER": [ - -1, - 668 - ], - "'TABLE-ORDER": [ - -1, - 668 - ], - "'TABLE-EXTRACT": [ - -1, - 668 - ], - "'TABLE-UPDATE": [ - -1, - 668 - ], - "'TABLE-EXTEND": [ - -1, - 668 - ], - "'LOAD-TABLE": [ - -1, - 668 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 610 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "$": [ - -1, - 670 - ], - "'NAME": [ - -1, - 670 - ], - "'END": [ - -1, - 670 - ], - "'STRING": [ - -1, - 670 - ], - "'TYPE": [ - -1, - 670 - ], - "'DATA": [ - -1, - 670 - ], - "'PARENSPACE": [ - -1, - 670 - ], - "'SPY": [ - -1, - 670 - ], - "'NEWTYPE": [ - -1, - 670 - ], - "'LBRACE": [ - -1, - 670 - ], - "'RBRACE": [ - -1, - 670 - ], - "'SHADOW": [ - -1, - 670 - ], - "'LET": [ - -1, - 670 - ], - "'BLOCK": [ - -1, - 670 - ], - "'LETREC": [ - -1, - 670 - ], - "'TYPE-LET": [ - -1, - 670 - ], - "'FUN": [ - -1, - 670 - ], - "'PARENAFTERBRACE": [ - -1, - 670 - ], - "'WHERE": [ - -1, - 670 - ], - "'CHECK": [ - -1, - 670 - ], - "'EXAMPLES": [ - -1, - 670 - ], - "'CHECKCOLON": [ - -1, - 670 - ], - "'EXAMPLESCOLON": [ - -1, - 670 - ], - "'BAR": [ - -1, - 670 - ], - "'VAR": [ - -1, - 670 - ], - "'REC": [ - -1, - 670 - ], - "'WHEN": [ - -1, - 670 - ], - "'DOTDOTDOT": [ - -1, - 670 - ], - "'NUMBER": [ - -1, - 670 - ], - "'RATIONAL": [ - -1, - 670 - ], - "'ROUGHRATIONAL": [ - -1, - 670 - ], - "'TRUE": [ - -1, - 670 - ], - "'FALSE": [ - -1, - 670 - ], - "'LAM": [ - -1, - 670 - ], - "'METHOD": [ - -1, - 670 - ], - "'LBRACK": [ - -1, - 670 - ], - "'TABLE": [ - -1, - 670 - ], - "'REACTOR": [ - -1, - 670 - ], - "'IF": [ - -1, - 670 - ], - "'ELSECOLON": [ - -1, - 670 - ], - "'ELSEIF": [ - -1, - 670 - ], - "'ASK": [ - -1, - 670 - ], - "'CASES": [ - -1, - 670 - ], - "'FOR": [ - -1, - 670 - ], - "'TABLE-SELECT": [ - -1, - 670 - ], - "'TABLE-FILTER": [ - -1, - 670 - ], - "'TABLE-ORDER": [ - -1, - 670 - ], - "'TABLE-EXTRACT": [ - -1, - 670 - ], - "'TABLE-UPDATE": [ - -1, - 670 - ], - "'TABLE-EXTEND": [ - -1, - 670 - ], - "'LOAD-TABLE": [ - -1, - 670 - ] - }, - { - "$": [ - -1, - 672 - ], - "'NAME": [ - -1, - 672 - ], - "'END": [ - -1, - 672 - ], - "'STRING": [ - -1, - 672 - ], - "'TYPE": [ - -1, - 672 - ], - "'DATA": [ - -1, - 672 - ], - "'PARENSPACE": [ - -1, - 672 - ], - "'SPY": [ - -1, - 672 - ], - "'NEWTYPE": [ - -1, - 672 - ], - "'LBRACE": [ - -1, - 672 - ], - "'RBRACE": [ - -1, - 672 - ], - "'SHADOW": [ - -1, - 672 - ], - "'LET": [ - -1, - 672 - ], - "'BLOCK": [ - -1, - 672 - ], - "'LETREC": [ - -1, - 672 - ], - "'TYPE-LET": [ - -1, - 672 - ], - "'FUN": [ - -1, - 672 - ], - "'PARENAFTERBRACE": [ - -1, - 672 - ], - "'WHERE": [ - -1, - 672 - ], - "'CHECK": [ - -1, - 672 - ], - "'EXAMPLES": [ - -1, - 672 - ], - "'CHECKCOLON": [ - -1, - 672 - ], - "'EXAMPLESCOLON": [ - -1, - 672 - ], - "'BAR": [ - -1, - 672 - ], - "'VAR": [ - -1, - 672 - ], - "'REC": [ - -1, - 672 - ], - "'WHEN": [ - -1, - 672 - ], - "'DOTDOTDOT": [ - -1, - 672 - ], - "'NUMBER": [ - -1, - 672 - ], - "'RATIONAL": [ - -1, - 672 - ], - "'ROUGHRATIONAL": [ - -1, - 672 - ], - "'TRUE": [ - -1, - 672 - ], - "'FALSE": [ - -1, - 672 - ], - "'LAM": [ - -1, - 672 - ], - "'METHOD": [ - -1, - 672 - ], - "'LBRACK": [ - -1, - 672 - ], - "'TABLE": [ - -1, - 672 - ], - "'REACTOR": [ - -1, - 672 - ], - "'IF": [ - -1, - 672 - ], - "'ELSECOLON": [ - -1, - 672 - ], - "'ELSEIF": [ - -1, - 672 - ], - "'ASK": [ - -1, - 672 - ], - "'CASES": [ - -1, - 672 - ], - "'FOR": [ - -1, - 672 - ], - "'TABLE-SELECT": [ - -1, - 672 - ], - "'TABLE-FILTER": [ - -1, - 672 - ], - "'TABLE-ORDER": [ - -1, - 672 - ], - "'TABLE-EXTRACT": [ - -1, - 672 - ], - "'TABLE-UPDATE": [ - -1, - 672 - ], - "'TABLE-EXTEND": [ - -1, - 672 - ], - "'LOAD-TABLE": [ - -1, - 672 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 611 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'RBRACE": [ - -1, - 674 - ] - }, - { - "'RBRACE": [ - -1, - 676 - ] - }, - { - "'RBRACE": [ - -1, - 678 - ], - "'SEMI": [ - -1, - 678 - ] - }, - { - "'RBRACE": [ - -1, - 680 - ] - }, - { - "bad-args_I1_I1*": [ - 612 - ], - "'COMMA": [ - -1, - 682 - ], - "'RPAREN": [ - -1, - 684, - 682 - ] - }, - { - "'RPAREN": [ - 613 - ] - }, - { - "'RPAREN": [ - -1, - 686 - ] - }, - { - "'COLON": [ - -1, - 688 - ], - "'BLOCK": [ - -1, - 688 - ] - }, - { - "'COLON": [ - -1, - 690 - ], - "'BLOCK": [ - -1, - 690 - ] - }, - { - "'COLON": [ - -1, - 692 - ], - "'BLOCK": [ - -1, - 692 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 614 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'COLON": [ - -1, - 694 - ], - "'BLOCK": [ - -1, - 694 - ] - }, - { - "args_I1_I1*": [ - 615 - ], - "'COMMA": [ - -1, - 696 - ], - "'RPAREN": [ - -1, - 698, - 696 - ] - }, - { - "'RPAREN": [ - 616 - ] - }, - { - "'RPAREN": [ - -1, - 700 - ] - }, - { - "'RBRACE": [ - 617 - ] - }, - { - "'NAME": [ - -1, - 702 - ], - "'LBRACE": [ - -1, - 702 - ], - "'RBRACE": [ - -1, - 704 - ], - "'SHADOW": [ - -1, - 702 - ] - }, - { - "'RBRACE": [ - -1, - 706 - ] - }, - { - "block": [ - 618 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'RBRACE": [ - -1, - 8, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - -1, - 708 - ], - "'END": [ - -1, - 708 - ], - "'STRING": [ - -1, - 708 - ], - "'TYPE": [ - -1, - 708 - ], - "'DATA": [ - -1, - 708 - ], - "'PARENSPACE": [ - -1, - 708 - ], - "'SPY": [ - -1, - 708 - ], - "'NEWTYPE": [ - -1, - 708 - ], - "'LBRACE": [ - -1, - 708 - ], - "'RBRACE": [ - -1, - 708 - ], - "'SHADOW": [ - -1, - 708 - ], - "'LET": [ - -1, - 708 - ], - "'BLOCK": [ - -1, - 708 - ], - "'LETREC": [ - -1, - 708 - ], - "'TYPE-LET": [ - -1, - 708 - ], - "'FUN": [ - -1, - 708 - ], - "'PARENAFTERBRACE": [ - -1, - 708 - ], - "'WHERE": [ - -1, - 708 - ], - "'CHECK": [ - -1, - 708 - ], - "'EXAMPLES": [ - -1, - 708 - ], - "'CHECKCOLON": [ - -1, - 708 - ], - "'EXAMPLESCOLON": [ - -1, - 708 - ], - "'VAR": [ - -1, - 708 - ], - "'REC": [ - -1, - 708 - ], - "'WHEN": [ - -1, - 708 - ], - "'DOTDOTDOT": [ - -1, - 708 - ], - "'NUMBER": [ - -1, - 708 - ], - "'RATIONAL": [ - -1, - 708 - ], - "'ROUGHRATIONAL": [ - -1, - 708 - ], - "'TRUE": [ - -1, - 708 - ], - "'FALSE": [ - -1, - 708 - ], - "'LAM": [ - -1, - 708 - ], - "'METHOD": [ - -1, - 708 - ], - "'LBRACK": [ - -1, - 708 - ], - "'TABLE": [ - -1, - 708 - ], - "'REACTOR": [ - -1, - 708 - ], - "'IF": [ - -1, - 708 - ], - "'ASK": [ - -1, - 708 - ], - "'CASES": [ - -1, - 708 - ], - "'FOR": [ - -1, - 708 - ], - "'TABLE-SELECT": [ - -1, - 708 - ], - "'TABLE-FILTER": [ - -1, - 708 - ], - "'TABLE-ORDER": [ - -1, - 708 - ], - "'TABLE-EXTRACT": [ - -1, - 708 - ], - "'TABLE-UPDATE": [ - -1, - 708 - ], - "'TABLE-EXTEND": [ - -1, - 708 - ], - "'LOAD-TABLE": [ - -1, - 708 - ] - }, - { - "'NAME": [ - -1, - 710 - ], - "'END": [ - -1, - 710 - ], - "'STRING": [ - -1, - 710 - ], - "'TYPE": [ - -1, - 710 - ], - "'DATA": [ - -1, - 710 - ], - "'PARENSPACE": [ - -1, - 710 - ], - "'SPY": [ - -1, - 710 - ], - "'NEWTYPE": [ - -1, - 710 - ], - "'LBRACE": [ - -1, - 710 - ], - "'RBRACE": [ - -1, - 710 - ], - "'SHADOW": [ - -1, - 710 - ], - "'LET": [ - -1, - 710 - ], - "'BLOCK": [ - -1, - 710 - ], - "'LETREC": [ - -1, - 710 - ], - "'TYPE-LET": [ - -1, - 710 - ], - "'FUN": [ - -1, - 710 - ], - "'PARENAFTERBRACE": [ - -1, - 710 - ], - "'WHERE": [ - -1, - 710 - ], - "'CHECK": [ - -1, - 710 - ], - "'EXAMPLES": [ - -1, - 710 - ], - "'CHECKCOLON": [ - -1, - 710 - ], - "'EXAMPLESCOLON": [ - -1, - 710 - ], - "'VAR": [ - -1, - 710 - ], - "'REC": [ - -1, - 710 - ], - "'WHEN": [ - -1, - 710 - ], - "'DOTDOTDOT": [ - -1, - 710 - ], - "'NUMBER": [ - -1, - 710 - ], - "'RATIONAL": [ - -1, - 710 - ], - "'ROUGHRATIONAL": [ - -1, - 710 - ], - "'TRUE": [ - -1, - 710 - ], - "'FALSE": [ - -1, - 710 - ], - "'LAM": [ - -1, - 710 - ], - "'METHOD": [ - -1, - 710 - ], - "'LBRACK": [ - -1, - 710 - ], - "'TABLE": [ - -1, - 710 - ], - "'REACTOR": [ - -1, - 710 - ], - "'IF": [ - -1, - 710 - ], - "'ASK": [ - -1, - 710 - ], - "'CASES": [ - -1, - 710 - ], - "'FOR": [ - -1, - 710 - ], - "'TABLE-SELECT": [ - -1, - 710 - ], - "'TABLE-FILTER": [ - -1, - 710 - ], - "'TABLE-ORDER": [ - -1, - 710 - ], - "'TABLE-EXTRACT": [ - -1, - 710 - ], - "'TABLE-UPDATE": [ - -1, - 710 - ], - "'TABLE-EXTEND": [ - -1, - 710 - ], - "'LOAD-TABLE": [ - -1, - 710 - ] - }, - { - "'STRING": [ - 619 - ] - }, - { - "'NAME": [ - -1, - 712 - ], - "'COLON": [ - -1, - 712 - ], - "'PARENNOSPACE": [ - -1, - 712 - ], - "'PARENSPACE": [ - -1, - 712 - ], - "'EQUALS": [ - -1, - 712 - ], - "'LBRACE": [ - -1, - 712 - ], - "'PARENAFTERBRACE": [ - -1, - 712 - ], - "'THINARROW": [ - -1, - 712 - ] - }, - { - "'NAME": [ - -1, - 714 - ], - "'COLON": [ - -1, - 714 - ], - "'PARENNOSPACE": [ - -1, - 714 - ], - "'PARENSPACE": [ - -1, - 714 - ], - "'EQUALS": [ - -1, - 714 - ], - "'LBRACE": [ - -1, - 714 - ], - "'PARENAFTERBRACE": [ - -1, - 714 - ], - "'THINARROW": [ - -1, - 714 - ] - }, - { - "'NAME": [ - -1, - 716 - ], - "'COLON": [ - -1, - 716 - ], - "'PARENNOSPACE": [ - -1, - 716 - ], - "'PARENSPACE": [ - -1, - 716 - ], - "'EQUALS": [ - -1, - 716 - ], - "'LBRACE": [ - -1, - 716 - ], - "'PARENAFTERBRACE": [ - -1, - 716 - ], - "'THINARROW": [ - -1, - 716 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 620 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'COLON": [ - 621 - ] - }, - { - "'COLON": [ - -1, - 718 - ] - }, - { - "'COLON": [ - 622 - ], - "'BLOCK": [ - 623 - ], - "obj-field_A2_I3": [ - 624 - ] - }, - { - "'NAME": [ - 291 - ], - "'REF": [ - 175 - ], - "'METHOD": [ - 625 - ], - "obj-field": [ - 626 - ], - "key": [ - 180 - ], - "'END": [ - -1, - 720 - ], - "'RBRACE": [ - -1, - 720 - ] - }, - { - "'END": [ - -1, - 722 - ], - "'RBRACE": [ - -1, - 722 - ] - }, - { - "'END": [ - -1, - 724 - ], - "'COMMA": [ - -1, - 724 - ], - "'RBRACE": [ - -1, - 724 - ] - }, - { - "'END": [ - -1, - 726 - ], - "'RBRACE": [ - -1, - 726 - ] - }, - { - "'END": [ - -1, - 728 - ], - "'COMMA": [ - -1, - 728 - ], - "'RBRACE": [ - -1, - 728 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'FROM": [ - -1, - 730 - ], - "'COLON": [ - -1, - 730 - ], - "'COMMA": [ - -1, - 730 - ], - "'RPAREN": [ - -1, - 730 - ], - "'EQUALS": [ - -1, - 730 - ], - "'RBRACE": [ - -1, - 730 - ], - "'SEMI": [ - -1, - 730 - ] - }, - { - "'NAME": [ - -1, - 732 - ], - "'END": [ - -1, - 732 - ], - "'STRING": [ - -1, - 732 - ], - "'TYPE": [ - -1, - 732 - ], - "'DATA": [ - -1, - 732 - ], - "'PARENSPACE": [ - -1, - 732 - ], - "'SPY": [ - -1, - 732 - ], - "'NEWTYPE": [ - -1, - 732 - ], - "'LBRACE": [ - -1, - 732 - ], - "'SHADOW": [ - -1, - 732 - ], - "'LET": [ - -1, - 732 - ], - "'BLOCK": [ - -1, - 732 - ], - "'LETREC": [ - -1, - 732 - ], - "'TYPE-LET": [ - -1, - 732 - ], - "'FUN": [ - -1, - 732 - ], - "'PARENAFTERBRACE": [ - -1, - 732 - ], - "'CHECK": [ - -1, - 732 - ], - "'EXAMPLES": [ - -1, - 732 - ], - "'CHECKCOLON": [ - -1, - 732 - ], - "'EXAMPLESCOLON": [ - -1, - 732 - ], - "'VAR": [ - -1, - 732 - ], - "'REC": [ - -1, - 732 - ], - "'WHEN": [ - -1, - 732 - ], - "'DOTDOTDOT": [ - -1, - 732 - ], - "'NUMBER": [ - -1, - 732 - ], - "'RATIONAL": [ - -1, - 732 - ], - "'ROUGHRATIONAL": [ - -1, - 732 - ], - "'TRUE": [ - -1, - 732 - ], - "'FALSE": [ - -1, - 732 - ], - "'LAM": [ - -1, - 732 - ], - "'METHOD": [ - -1, - 732 - ], - "'LBRACK": [ - -1, - 732 - ], - "'TABLE": [ - -1, - 732 - ], - "'REACTOR": [ - -1, - 732 - ], - "'IF": [ - -1, - 732 - ], - "'ASK": [ - -1, - 732 - ], - "'CASES": [ - -1, - 732 - ], - "'FOR": [ - -1, - 732 - ], - "'TABLE-SELECT": [ - -1, - 732 - ], - "'TABLE-FILTER": [ - -1, - 732 - ], - "'TABLE-ORDER": [ - -1, - 732 - ], - "'TABLE-EXTRACT": [ - -1, - 732 - ], - "'TABLE-UPDATE": [ - -1, - 732 - ], - "'TABLE-EXTEND": [ - -1, - 732 - ], - "'LOAD-TABLE": [ - -1, - 732 - ] - }, - { - "let-expr": [ - 182 - ], - "var-expr": [ - 183 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "let-binding": [ - 627 - ], - "'VAR": [ - 58 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "block": [ - 628 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'COLON": [ - -1, - 734 - ], - "'COMMA": [ - -1, - 734 - ], - "'BLOCK": [ - -1, - 734 - ] - }, - { - "'NAME": [ - -1, - 736 - ], - "'END": [ - -1, - 736 - ], - "'STRING": [ - -1, - 736 - ], - "'TYPE": [ - -1, - 736 - ], - "'DATA": [ - -1, - 736 - ], - "'PARENSPACE": [ - -1, - 736 - ], - "'SPY": [ - -1, - 736 - ], - "'NEWTYPE": [ - -1, - 736 - ], - "'LBRACE": [ - -1, - 736 - ], - "'SHADOW": [ - -1, - 736 - ], - "'LET": [ - -1, - 736 - ], - "'BLOCK": [ - -1, - 736 - ], - "'LETREC": [ - -1, - 736 - ], - "'TYPE-LET": [ - -1, - 736 - ], - "'FUN": [ - -1, - 736 - ], - "'PARENAFTERBRACE": [ - -1, - 736 - ], - "'CHECK": [ - -1, - 736 - ], - "'EXAMPLES": [ - -1, - 736 - ], - "'CHECKCOLON": [ - -1, - 736 - ], - "'EXAMPLESCOLON": [ - -1, - 736 - ], - "'VAR": [ - -1, - 736 - ], - "'REC": [ - -1, - 736 - ], - "'WHEN": [ - -1, - 736 - ], - "'DOTDOTDOT": [ - -1, - 736 - ], - "'NUMBER": [ - -1, - 736 - ], - "'RATIONAL": [ - -1, - 736 - ], - "'ROUGHRATIONAL": [ - -1, - 736 - ], - "'TRUE": [ - -1, - 736 - ], - "'FALSE": [ - -1, - 736 - ], - "'LAM": [ - -1, - 736 - ], - "'METHOD": [ - -1, - 736 - ], - "'LBRACK": [ - -1, - 736 - ], - "'TABLE": [ - -1, - 736 - ], - "'REACTOR": [ - -1, - 736 - ], - "'IF": [ - -1, - 736 - ], - "'ASK": [ - -1, - 736 - ], - "'CASES": [ - -1, - 736 - ], - "'FOR": [ - -1, - 736 - ], - "'TABLE-SELECT": [ - -1, - 736 - ], - "'TABLE-FILTER": [ - -1, - 736 - ], - "'TABLE-ORDER": [ - -1, - 736 - ], - "'TABLE-EXTRACT": [ - -1, - 736 - ], - "'TABLE-UPDATE": [ - -1, - 736 - ], - "'TABLE-EXTEND": [ - -1, - 736 - ], - "'LOAD-TABLE": [ - -1, - 736 - ] - }, - { - "'NAME": [ - -1, - 738 - ], - "'END": [ - -1, - 738 - ], - "'STRING": [ - -1, - 738 - ], - "'TYPE": [ - -1, - 738 - ], - "'DATA": [ - -1, - 738 - ], - "'PARENSPACE": [ - -1, - 738 - ], - "'SPY": [ - -1, - 738 - ], - "'NEWTYPE": [ - -1, - 738 - ], - "'LBRACE": [ - -1, - 738 - ], - "'SHADOW": [ - -1, - 738 - ], - "'LET": [ - -1, - 738 - ], - "'BLOCK": [ - -1, - 738 - ], - "'LETREC": [ - -1, - 738 - ], - "'TYPE-LET": [ - -1, - 738 - ], - "'FUN": [ - -1, - 738 - ], - "'PARENAFTERBRACE": [ - -1, - 738 - ], - "'CHECK": [ - -1, - 738 - ], - "'EXAMPLES": [ - -1, - 738 - ], - "'CHECKCOLON": [ - -1, - 738 - ], - "'EXAMPLESCOLON": [ - -1, - 738 - ], - "'VAR": [ - -1, - 738 - ], - "'REC": [ - -1, - 738 - ], - "'WHEN": [ - -1, - 738 - ], - "'DOTDOTDOT": [ - -1, - 738 - ], - "'NUMBER": [ - -1, - 738 - ], - "'RATIONAL": [ - -1, - 738 - ], - "'ROUGHRATIONAL": [ - -1, - 738 - ], - "'TRUE": [ - -1, - 738 - ], - "'FALSE": [ - -1, - 738 - ], - "'LAM": [ - -1, - 738 - ], - "'METHOD": [ - -1, - 738 - ], - "'LBRACK": [ - -1, - 738 - ], - "'TABLE": [ - -1, - 738 - ], - "'REACTOR": [ - -1, - 738 - ], - "'IF": [ - -1, - 738 - ], - "'ASK": [ - -1, - 738 - ], - "'CASES": [ - -1, - 738 - ], - "'FOR": [ - -1, - 738 - ], - "'TABLE-SELECT": [ - -1, - 738 - ], - "'TABLE-FILTER": [ - -1, - 738 - ], - "'TABLE-ORDER": [ - -1, - 738 - ], - "'TABLE-EXTRACT": [ - -1, - 738 - ], - "'TABLE-UPDATE": [ - -1, - 738 - ], - "'TABLE-EXTEND": [ - -1, - 738 - ], - "'LOAD-TABLE": [ - -1, - 738 - ] - }, - { - "let-expr": [ - 629 - ], - "toplevel-binding": [ - 35 - ], - "binding": [ - 36 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'NAME": [ - -1, - 740 - ], - "'END": [ - -1, - 740 - ], - "'STRING": [ - -1, - 740 - ], - "'TYPE": [ - -1, - 740 - ], - "'DATA": [ - -1, - 740 - ], - "'PARENSPACE": [ - -1, - 740 - ], - "'SPY": [ - -1, - 740 - ], - "'NEWTYPE": [ - -1, - 740 - ], - "'LBRACE": [ - -1, - 740 - ], - "'SHADOW": [ - -1, - 740 - ], - "'LET": [ - -1, - 740 - ], - "'BLOCK": [ - -1, - 740 - ], - "'LETREC": [ - -1, - 740 - ], - "'TYPE-LET": [ - -1, - 740 - ], - "'FUN": [ - -1, - 740 - ], - "'PARENAFTERBRACE": [ - -1, - 740 - ], - "'CHECK": [ - -1, - 740 - ], - "'EXAMPLES": [ - -1, - 740 - ], - "'CHECKCOLON": [ - -1, - 740 - ], - "'EXAMPLESCOLON": [ - -1, - 740 - ], - "'VAR": [ - -1, - 740 - ], - "'REC": [ - -1, - 740 - ], - "'WHEN": [ - -1, - 740 - ], - "'DOTDOTDOT": [ - -1, - 740 - ], - "'NUMBER": [ - -1, - 740 - ], - "'RATIONAL": [ - -1, - 740 - ], - "'ROUGHRATIONAL": [ - -1, - 740 - ], - "'TRUE": [ - -1, - 740 - ], - "'FALSE": [ - -1, - 740 - ], - "'LAM": [ - -1, - 740 - ], - "'METHOD": [ - -1, - 740 - ], - "'LBRACK": [ - -1, - 740 - ], - "'TABLE": [ - -1, - 740 - ], - "'REACTOR": [ - -1, - 740 - ], - "'IF": [ - -1, - 740 - ], - "'ASK": [ - -1, - 740 - ], - "'CASES": [ - -1, - 740 - ], - "'FOR": [ - -1, - 740 - ], - "'TABLE-SELECT": [ - -1, - 740 - ], - "'TABLE-FILTER": [ - -1, - 740 - ], - "'TABLE-ORDER": [ - -1, - 740 - ], - "'TABLE-EXTRACT": [ - -1, - 740 - ], - "'TABLE-UPDATE": [ - -1, - 740 - ], - "'TABLE-EXTEND": [ - -1, - 740 - ], - "'LOAD-TABLE": [ - -1, - 740 - ] - }, - { - "block": [ - 630 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'COLON": [ - -1, - 742 - ], - "'COMMA": [ - -1, - 742 - ], - "'BLOCK": [ - -1, - 742 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 631 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'NAME": [ - 632 - ] - }, - { - "'NAME": [ - -1, - 744 - ], - "'END": [ - -1, - 744 - ], - "'STRING": [ - -1, - 744 - ], - "'TYPE": [ - -1, - 744 - ], - "'DATA": [ - -1, - 744 - ], - "'PARENSPACE": [ - -1, - 744 - ], - "'SPY": [ - -1, - 744 - ], - "'NEWTYPE": [ - -1, - 744 - ], - "'LBRACE": [ - -1, - 744 - ], - "'SHADOW": [ - -1, - 744 - ], - "'LET": [ - -1, - 744 - ], - "'BLOCK": [ - -1, - 744 - ], - "'LETREC": [ - -1, - 744 - ], - "'TYPE-LET": [ - -1, - 744 - ], - "'FUN": [ - -1, - 744 - ], - "'PARENAFTERBRACE": [ - -1, - 744 - ], - "'CHECK": [ - -1, - 744 - ], - "'EXAMPLES": [ - -1, - 744 - ], - "'CHECKCOLON": [ - -1, - 744 - ], - "'EXAMPLESCOLON": [ - -1, - 744 - ], - "'VAR": [ - -1, - 744 - ], - "'REC": [ - -1, - 744 - ], - "'WHEN": [ - -1, - 744 - ], - "'DOTDOTDOT": [ - -1, - 744 - ], - "'NUMBER": [ - -1, - 744 - ], - "'RATIONAL": [ - -1, - 744 - ], - "'ROUGHRATIONAL": [ - -1, - 744 - ], - "'TRUE": [ - -1, - 744 - ], - "'FALSE": [ - -1, - 744 - ], - "'LAM": [ - -1, - 744 - ], - "'METHOD": [ - -1, - 744 - ], - "'LBRACK": [ - -1, - 744 - ], - "'TABLE": [ - -1, - 744 - ], - "'REACTOR": [ - -1, - 744 - ], - "'IF": [ - -1, - 744 - ], - "'ASK": [ - -1, - 744 - ], - "'CASES": [ - -1, - 744 - ], - "'FOR": [ - -1, - 744 - ], - "'TABLE-SELECT": [ - -1, - 744 - ], - "'TABLE-FILTER": [ - -1, - 744 - ], - "'TABLE-ORDER": [ - -1, - 744 - ], - "'TABLE-EXTRACT": [ - -1, - 744 - ], - "'TABLE-UPDATE": [ - -1, - 744 - ], - "'TABLE-EXTEND": [ - -1, - 744 - ], - "'LOAD-TABLE": [ - -1, - 744 - ] - }, - { - "'NAME": [ - 188 - ], - "'NEWTYPE": [ - 189 - ], - "type-bind": [ - 190 - ], - "newtype-bind": [ - 191 - ], - "type-let-bind": [ - 633 - ] - }, - { - "'NAME": [ - -1, - 746 - ], - "'END": [ - -1, - 746 - ], - "'STRING": [ - -1, - 746 - ], - "'TYPE": [ - -1, - 746 - ], - "'DATA": [ - -1, - 746 - ], - "'PARENSPACE": [ - -1, - 746 - ], - "'SPY": [ - -1, - 746 - ], - "'NEWTYPE": [ - -1, - 746 - ], - "'LBRACE": [ - -1, - 746 - ], - "'SHADOW": [ - -1, - 746 - ], - "'LET": [ - -1, - 746 - ], - "'BLOCK": [ - -1, - 746 - ], - "'LETREC": [ - -1, - 746 - ], - "'TYPE-LET": [ - -1, - 746 - ], - "'FUN": [ - -1, - 746 - ], - "'PARENAFTERBRACE": [ - -1, - 746 - ], - "'CHECK": [ - -1, - 746 - ], - "'EXAMPLES": [ - -1, - 746 - ], - "'CHECKCOLON": [ - -1, - 746 - ], - "'EXAMPLESCOLON": [ - -1, - 746 - ], - "'VAR": [ - -1, - 746 - ], - "'REC": [ - -1, - 746 - ], - "'WHEN": [ - -1, - 746 - ], - "'DOTDOTDOT": [ - -1, - 746 - ], - "'NUMBER": [ - -1, - 746 - ], - "'RATIONAL": [ - -1, - 746 - ], - "'ROUGHRATIONAL": [ - -1, - 746 - ], - "'TRUE": [ - -1, - 746 - ], - "'FALSE": [ - -1, - 746 - ], - "'LAM": [ - -1, - 746 - ], - "'METHOD": [ - -1, - 746 - ], - "'LBRACK": [ - -1, - 746 - ], - "'TABLE": [ - -1, - 746 - ], - "'REACTOR": [ - -1, - 746 - ], - "'IF": [ - -1, - 746 - ], - "'ASK": [ - -1, - 746 - ], - "'CASES": [ - -1, - 746 - ], - "'FOR": [ - -1, - 746 - ], - "'TABLE-SELECT": [ - -1, - 746 - ], - "'TABLE-FILTER": [ - -1, - 746 - ], - "'TABLE-ORDER": [ - -1, - 746 - ], - "'TABLE-EXTRACT": [ - -1, - 746 - ], - "'TABLE-UPDATE": [ - -1, - 746 - ], - "'TABLE-EXTEND": [ - -1, - 746 - ], - "'LOAD-TABLE": [ - -1, - 746 - ] - }, - { - "block": [ - 634 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'COLON": [ - -1, - 748 - ], - "'COMMA": [ - -1, - 748 - ], - "'BLOCK": [ - -1, - 748 - ] - }, - { - "'NAME": [ - -1, - 750 - ], - "'END": [ - -1, - 750 - ], - "'STRING": [ - -1, - 750 - ], - "'TYPE": [ - -1, - 750 - ], - "'DATA": [ - -1, - 750 - ], - "'PARENSPACE": [ - -1, - 750 - ], - "'SPY": [ - -1, - 750 - ], - "'NEWTYPE": [ - -1, - 750 - ], - "'LBRACE": [ - -1, - 750 - ], - "'SHADOW": [ - -1, - 750 - ], - "'LET": [ - -1, - 750 - ], - "'BLOCK": [ - -1, - 750 - ], - "'LETREC": [ - -1, - 750 - ], - "'TYPE-LET": [ - -1, - 750 - ], - "'FUN": [ - -1, - 750 - ], - "'PARENAFTERBRACE": [ - -1, - 750 - ], - "'DOC": [ - -1, - 750 - ], - "'WHERE": [ - -1, - 750 - ], - "'CHECK": [ - -1, - 750 - ], - "'EXAMPLES": [ - -1, - 750 - ], - "'CHECKCOLON": [ - -1, - 750 - ], - "'EXAMPLESCOLON": [ - -1, - 750 - ], - "'VAR": [ - -1, - 750 - ], - "'REC": [ - -1, - 750 - ], - "'WHEN": [ - -1, - 750 - ], - "'DOTDOTDOT": [ - -1, - 750 - ], - "'NUMBER": [ - -1, - 750 - ], - "'RATIONAL": [ - -1, - 750 - ], - "'ROUGHRATIONAL": [ - -1, - 750 - ], - "'TRUE": [ - -1, - 750 - ], - "'FALSE": [ - -1, - 750 - ], - "'LAM": [ - -1, - 750 - ], - "'METHOD": [ - -1, - 750 - ], - "'LBRACK": [ - -1, - 750 - ], - "'TABLE": [ - -1, - 750 - ], - "'REACTOR": [ - -1, - 750 - ], - "'IF": [ - -1, - 750 - ], - "'ASK": [ - -1, - 750 - ], - "'CASES": [ - -1, - 750 - ], - "'FOR": [ - -1, - 750 - ], - "'TABLE-SELECT": [ - -1, - 750 - ], - "'TABLE-FILTER": [ - -1, - 750 - ], - "'TABLE-ORDER": [ - -1, - 750 - ], - "'TABLE-EXTRACT": [ - -1, - 750 - ], - "'TABLE-UPDATE": [ - -1, - 750 - ], - "'TABLE-EXTEND": [ - -1, - 750 - ], - "'LOAD-TABLE": [ - -1, - 750 - ] - }, - { - "'NAME": [ - -1, - 752 - ], - "'END": [ - -1, - 752 - ], - "'STRING": [ - -1, - 752 - ], - "'TYPE": [ - -1, - 752 - ], - "'DATA": [ - -1, - 752 - ], - "'PARENSPACE": [ - -1, - 752 - ], - "'SPY": [ - -1, - 752 - ], - "'NEWTYPE": [ - -1, - 752 - ], - "'LBRACE": [ - -1, - 752 - ], - "'SHADOW": [ - -1, - 752 - ], - "'LET": [ - -1, - 752 - ], - "'BLOCK": [ - -1, - 752 - ], - "'LETREC": [ - -1, - 752 - ], - "'TYPE-LET": [ - -1, - 752 - ], - "'FUN": [ - -1, - 752 - ], - "'PARENAFTERBRACE": [ - -1, - 752 - ], - "'DOC": [ - -1, - 752 - ], - "'WHERE": [ - -1, - 752 - ], - "'CHECK": [ - -1, - 752 - ], - "'EXAMPLES": [ - -1, - 752 - ], - "'CHECKCOLON": [ - -1, - 752 - ], - "'EXAMPLESCOLON": [ - -1, - 752 - ], - "'VAR": [ - -1, - 752 - ], - "'REC": [ - -1, - 752 - ], - "'WHEN": [ - -1, - 752 - ], - "'DOTDOTDOT": [ - -1, - 752 - ], - "'NUMBER": [ - -1, - 752 - ], - "'RATIONAL": [ - -1, - 752 - ], - "'ROUGHRATIONAL": [ - -1, - 752 - ], - "'TRUE": [ - -1, - 752 - ], - "'FALSE": [ - -1, - 752 - ], - "'LAM": [ - -1, - 752 - ], - "'METHOD": [ - -1, - 752 - ], - "'LBRACK": [ - -1, - 752 - ], - "'TABLE": [ - -1, - 752 - ], - "'REACTOR": [ - -1, - 752 - ], - "'IF": [ - -1, - 752 - ], - "'ASK": [ - -1, - 752 - ], - "'CASES": [ - -1, - 752 - ], - "'FOR": [ - -1, - 752 - ], - "'TABLE-SELECT": [ - -1, - 752 - ], - "'TABLE-FILTER": [ - -1, - 752 - ], - "'TABLE-ORDER": [ - -1, - 752 - ], - "'TABLE-EXTRACT": [ - -1, - 752 - ], - "'TABLE-UPDATE": [ - -1, - 752 - ], - "'TABLE-EXTEND": [ - -1, - 752 - ], - "'LOAD-TABLE": [ - -1, - 752 - ] - }, - { - "doc-string": [ - 635 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'END": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "'END": [ - 636 - ] - }, - { - "$": [ - -1, - 754 - ], - "'NAME": [ - -1, - 754 - ], - "'COLON": [ - -1, - 754 - ], - "'END": [ - -1, - 754 - ], - "'COMMA": [ - -1, - 754 - ], - "'STRING": [ - -1, - 754 - ], - "'TYPE": [ - -1, - 754 - ], - "'DATA": [ - -1, - 754 - ], - "'PARENSPACE": [ - -1, - 754 - ], - "'SPY": [ - -1, - 754 - ], - "'NEWTYPE": [ - -1, - 754 - ], - "'LBRACE": [ - -1, - 754 - ], - "'RBRACE": [ - -1, - 754 - ], - "'SHADOW": [ - -1, - 754 - ], - "'LET": [ - -1, - 754 - ], - "'BLOCK": [ - -1, - 754 - ], - "'LETREC": [ - -1, - 754 - ], - "'TYPE-LET": [ - -1, - 754 - ], - "'FUN": [ - -1, - 754 - ], - "'PARENAFTERBRACE": [ - -1, - 754 - ], - "'WHERE": [ - -1, - 754 - ], - "'CHECK": [ - -1, - 754 - ], - "'EXAMPLES": [ - -1, - 754 - ], - "'CHECKCOLON": [ - -1, - 754 - ], - "'EXAMPLESCOLON": [ - -1, - 754 - ], - "'BAR": [ - -1, - 754 - ], - "'VAR": [ - -1, - 754 - ], - "'REC": [ - -1, - 754 - ], - "'WHEN": [ - -1, - 754 - ], - "'DOTDOTDOT": [ - -1, - 754 - ], - "'NUMBER": [ - -1, - 754 - ], - "'RATIONAL": [ - -1, - 754 - ], - "'ROUGHRATIONAL": [ - -1, - 754 - ], - "'TRUE": [ - -1, - 754 - ], - "'FALSE": [ - -1, - 754 - ], - "'LAM": [ - -1, - 754 - ], - "'METHOD": [ - -1, - 754 - ], - "'LBRACK": [ - -1, - 754 - ], - "'TABLE": [ - -1, - 754 - ], - "'REACTOR": [ - -1, - 754 - ], - "'IF": [ - -1, - 754 - ], - "'ELSECOLON": [ - -1, - 754 - ], - "'ELSEIF": [ - -1, - 754 - ], - "'ASK": [ - -1, - 754 - ], - "'CASES": [ - -1, - 754 - ], - "'FOR": [ - -1, - 754 - ], - "'TABLE-SELECT": [ - -1, - 754 - ], - "'TABLE-FILTER": [ - -1, - 754 - ], - "'TABLE-ORDER": [ - -1, - 754 - ], - "'TABLE-EXTRACT": [ - -1, - 754 - ], - "'TABLE-UPDATE": [ - -1, - 754 - ], - "'TABLE-EXTEND": [ - -1, - 754 - ], - "'LOAD-TABLE": [ - -1, - 754 - ] - }, - { - "$": [ - -1, - 756 - ], - "'NAME": [ - -1, - 756 - ], - "'END": [ - -1, - 756 - ], - "'STRING": [ - -1, - 756 - ], - "'TYPE": [ - -1, - 756 - ], - "'DATA": [ - -1, - 756 - ], - "'PARENSPACE": [ - -1, - 756 - ], - "'SPY": [ - -1, - 756 - ], - "'NEWTYPE": [ - -1, - 756 - ], - "'LBRACE": [ - -1, - 756 - ], - "'RBRACE": [ - -1, - 756 - ], - "'SHADOW": [ - -1, - 756 - ], - "'LET": [ - -1, - 756 - ], - "'BLOCK": [ - -1, - 756 - ], - "'LETREC": [ - -1, - 756 - ], - "'TYPE-LET": [ - -1, - 756 - ], - "'FUN": [ - -1, - 756 - ], - "'PARENAFTERBRACE": [ - -1, - 756 - ], - "'WHERE": [ - -1, - 756 - ], - "'CHECK": [ - -1, - 756 - ], - "'EXAMPLES": [ - -1, - 756 - ], - "'CHECKCOLON": [ - -1, - 756 - ], - "'EXAMPLESCOLON": [ - -1, - 756 - ], - "'BAR": [ - -1, - 756 - ], - "'VAR": [ - -1, - 756 - ], - "'REC": [ - -1, - 756 - ], - "'WHEN": [ - -1, - 756 - ], - "'DOTDOTDOT": [ - -1, - 756 - ], - "'NUMBER": [ - -1, - 756 - ], - "'RATIONAL": [ - -1, - 756 - ], - "'ROUGHRATIONAL": [ - -1, - 756 - ], - "'TRUE": [ - -1, - 756 - ], - "'FALSE": [ - -1, - 756 - ], - "'LAM": [ - -1, - 756 - ], - "'METHOD": [ - -1, - 756 - ], - "'LBRACK": [ - -1, - 756 - ], - "'TABLE": [ - -1, - 756 - ], - "'REACTOR": [ - -1, - 756 - ], - "'IF": [ - -1, - 756 - ], - "'ELSECOLON": [ - -1, - 756 - ], - "'ELSEIF": [ - -1, - 756 - ], - "'ASK": [ - -1, - 756 - ], - "'CASES": [ - -1, - 756 - ], - "'FOR": [ - -1, - 756 - ], - "'TABLE-SELECT": [ - -1, - 756 - ], - "'TABLE-FILTER": [ - -1, - 756 - ], - "'TABLE-ORDER": [ - -1, - 756 - ], - "'TABLE-EXTRACT": [ - -1, - 756 - ], - "'TABLE-UPDATE": [ - -1, - 756 - ], - "'TABLE-EXTEND": [ - -1, - 756 - ], - "'LOAD-TABLE": [ - -1, - 756 - ] - }, - { - "'END": [ - 637 - ] - }, - { - "'COMMA": [ - 638, - 758 - ], - "comma-binops_I1": [ - 639 - ], - "'RPAREN": [ - -1, - 758 - ], - "'RBRACK": [ - -1, - 758 - ] - }, - { - "$": [ - -1, - 760 - ], - "'NAME": [ - -1, - 760 - ], - "'COLON": [ - -1, - 760 - ], - "'END": [ - -1, - 760 - ], - "'COMMA": [ - -1, - 760 - ], - "'PARENNOSPACE": [ - -1, - 760 - ], - "'STRING": [ - -1, - 760 - ], - "'RPAREN": [ - -1, - 760 - ], - "'TYPE": [ - -1, - 760 - ], - "'DATA": [ - -1, - 760 - ], - "'TIMES": [ - -1, - 760 - ], - "'PARENSPACE": [ - -1, - 760 - ], - "'DOT": [ - -1, - 760 - ], - "'SPY": [ - -1, - 760 - ], - "'NEWTYPE": [ - -1, - 760 - ], - "'LBRACE": [ - -1, - 760 - ], - "'RBRACE": [ - -1, - 760 - ], - "'SEMI": [ - -1, - 760 - ], - "'SHADOW": [ - -1, - 760 - ], - "'LET": [ - -1, - 760 - ], - "'BLOCK": [ - -1, - 760 - ], - "'LETREC": [ - -1, - 760 - ], - "'TYPE-LET": [ - -1, - 760 - ], - "'FUN": [ - -1, - 760 - ], - "'LANGLE": [ - -1, - 760 - ], - "'LT": [ - -1, - 760 - ], - "'GT": [ - -1, - 760 - ], - "'PARENAFTERBRACE": [ - -1, - 760 - ], - "'WHERE": [ - -1, - 760 - ], - "'CHECK": [ - -1, - 760 - ], - "'EXAMPLES": [ - -1, - 760 - ], - "'CHECKCOLON": [ - -1, - 760 - ], - "'EXAMPLESCOLON": [ - -1, - 760 - ], - "'BECAUSE": [ - -1, - 760 - ], - "'BAR": [ - -1, - 760 - ], - "'SHARING": [ - -1, - 760 - ], - "'VAR": [ - -1, - 760 - ], - "'REC": [ - -1, - 760 - ], - "'WHEN": [ - -1, - 760 - ], - "'PLUS": [ - -1, - 760 - ], - "'DASH": [ - -1, - 760 - ], - "'SLASH": [ - -1, - 760 - ], - "'LEQ": [ - -1, - 760 - ], - "'GEQ": [ - -1, - 760 - ], - "'EQUALEQUAL": [ - -1, - 760 - ], - "'SPACESHIP": [ - -1, - 760 - ], - "'EQUALTILDE": [ - -1, - 760 - ], - "'NEQ": [ - -1, - 760 - ], - "'AND": [ - -1, - 760 - ], - "'OR": [ - -1, - 760 - ], - "'CARET": [ - -1, - 760 - ], - "'IS": [ - -1, - 760 - ], - "'ISEQUALEQUAL": [ - -1, - 760 - ], - "'ISEQUALTILDE": [ - -1, - 760 - ], - "'ISSPACESHIP": [ - -1, - 760 - ], - "'ISROUGHLY": [ - -1, - 760 - ], - "'ISNOT": [ - -1, - 760 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 760 - ], - "'ISNOTEQUALTILDE": [ - -1, - 760 - ], - "'ISNOTSPACESHIP": [ - -1, - 760 - ], - "'RAISES": [ - -1, - 760 - ], - "'RAISESOTHER": [ - -1, - 760 - ], - "'SATISFIES": [ - -1, - 760 - ], - "'SATISFIESNOT": [ - -1, - 760 - ], - "'RAISESSATISFIES": [ - -1, - 760 - ], - "'RAISESVIOLATES": [ - -1, - 760 - ], - "'RAISESNOT": [ - -1, - 760 - ], - "'DOTDOTDOT": [ - -1, - 760 - ], - "'NUMBER": [ - -1, - 760 - ], - "'RATIONAL": [ - -1, - 760 - ], - "'ROUGHRATIONAL": [ - -1, - 760 - ], - "'TRUE": [ - -1, - 760 - ], - "'FALSE": [ - -1, - 760 - ], - "'LAM": [ - -1, - 760 - ], - "'METHOD": [ - -1, - 760 - ], - "'LBRACK": [ - -1, - 760 - ], - "'RBRACK": [ - -1, - 760 - ], - "'TABLE": [ - -1, - 760 - ], - "'ROW": [ - -1, - 760 - ], - "'REACTOR": [ - -1, - 760 - ], - "'BANG": [ - -1, - 760 - ], - "'IF": [ - -1, - 760 - ], - "'ELSECOLON": [ - -1, - 760 - ], - "'ELSEIF": [ - -1, - 760 - ], - "'ASK": [ - -1, - 760 - ], - "'THENCOLON": [ - -1, - 760 - ], - "'CASES": [ - -1, - 760 - ], - "'FOR": [ - -1, - 760 - ], - "'TABLE-SELECT": [ - -1, - 760 - ], - "'TABLE-FILTER": [ - -1, - 760 - ], - "'USING": [ - -1, - 760 - ], - "'TABLE-ORDER": [ - -1, - 760 - ], - "'TABLE-EXTRACT": [ - -1, - 760 - ], - "'TABLE-UPDATE": [ - -1, - 760 - ], - "'TABLE-EXTEND": [ - -1, - 760 - ], - "'OF": [ - -1, - 760 - ], - "'LOAD-TABLE": [ - -1, - 760 - ], - "'SOURCECOLON": [ - -1, - 760 - ], - "'SANITIZE": [ - -1, - 760 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 640 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'RBRACE": [ - 641 - ] - }, - { - "'RBRACE": [ - 642 - ] - }, - { - "'NAME": [ - 643 - ] - }, - { - "'PARENNOSPACE": [ - 644 - ], - "'PARENSPACE": [ - 645 - ], - "pred-ann_I2": [ - 646 - ] - }, - { - "'COMMA": [ - 647 - ], - "'RANGLE": [ - 648 - ], - "'GT": [ - 649 - ], - "inst-expr_I4": [ - 650 - ], - "inst-expr_I3": [ - 651 - ] - }, - { - "'DOT": [ - 515 - ], - "'COLONCOLON": [ - 576 - ], - "'RBRACE": [ - -1, - 470 - ], - "'SEMI": [ - -1, - 470 - ], - "'LANGLE": [ - -1, - 470 - ], - "'PERCENT": [ - -1, - 470 - ] - }, - { - "'PERCENT": [ - 516 - ], - "tuple-ann_I2*": [ - 652 - ], - "'RBRACE": [ - -1, - 762 - ], - "'SEMI": [ - -1, - 762 - ] - }, - { - "'PERCENT": [ - 516 - ], - "comma-anns_I1*": [ - 595 - ], - "'COMMA": [ - -1, - 634 - ], - "'RANGLE": [ - -1, - 636, - 634 - ], - "'GT": [ - -1, - 636, - 634 - ], - "'THINARROW": [ - -1, - 636, - 634 - ] - }, - { - "'THINARROW": [ - -1, - 764 - ] - }, - { - "'THINARROW": [ - 653 - ] - }, - { - "'THINARROW": [ - -1, - 766 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 520 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "comma-anns": [ - 654 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200, - 768 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205, - 768 - ], - "'BANG": [ - 206 - ], - "$": [ - -1, - 768 - ], - "'NAME": [ - -1, - 768 - ], - "'COLON": [ - -1, - 768 - ], - "'END": [ - -1, - 768 - ], - "'COMMA": [ - -1, - 768 - ], - "'STRING": [ - -1, - 768 - ], - "'RPAREN": [ - -1, - 768 - ], - "'TYPE": [ - -1, - 768 - ], - "'DATA": [ - -1, - 768 - ], - "'TIMES": [ - -1, - 768 - ], - "'SPY": [ - -1, - 768 - ], - "'NEWTYPE": [ - -1, - 768 - ], - "'LBRACE": [ - -1, - 768 - ], - "'RBRACE": [ - -1, - 768 - ], - "'SEMI": [ - -1, - 768 - ], - "'SHADOW": [ - -1, - 768 - ], - "'LET": [ - -1, - 768 - ], - "'BLOCK": [ - -1, - 768 - ], - "'LETREC": [ - -1, - 768 - ], - "'TYPE-LET": [ - -1, - 768 - ], - "'FUN": [ - -1, - 768 - ], - "'LT": [ - -1, - 768 - ], - "'GT": [ - -1, - 768 - ], - "'PARENAFTERBRACE": [ - -1, - 768 - ], - "'WHERE": [ - -1, - 768 - ], - "'CHECK": [ - -1, - 768 - ], - "'EXAMPLES": [ - -1, - 768 - ], - "'CHECKCOLON": [ - -1, - 768 - ], - "'EXAMPLESCOLON": [ - -1, - 768 - ], - "'BECAUSE": [ - -1, - 768 - ], - "'BAR": [ - -1, - 768 - ], - "'SHARING": [ - -1, - 768 - ], - "'VAR": [ - -1, - 768 - ], - "'REC": [ - -1, - 768 - ], - "'WHEN": [ - -1, - 768 - ], - "'PLUS": [ - -1, - 768 - ], - "'DASH": [ - -1, - 768 - ], - "'SLASH": [ - -1, - 768 - ], - "'LEQ": [ - -1, - 768 - ], - "'GEQ": [ - -1, - 768 - ], - "'EQUALEQUAL": [ - -1, - 768 - ], - "'SPACESHIP": [ - -1, - 768 - ], - "'EQUALTILDE": [ - -1, - 768 - ], - "'NEQ": [ - -1, - 768 - ], - "'AND": [ - -1, - 768 - ], - "'OR": [ - -1, - 768 - ], - "'CARET": [ - -1, - 768 - ], - "'IS": [ - -1, - 768 - ], - "'ISEQUALEQUAL": [ - -1, - 768 - ], - "'ISEQUALTILDE": [ - -1, - 768 - ], - "'ISSPACESHIP": [ - -1, - 768 - ], - "'ISROUGHLY": [ - -1, - 768 - ], - "'ISNOT": [ - -1, - 768 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 768 - ], - "'ISNOTEQUALTILDE": [ - -1, - 768 - ], - "'ISNOTSPACESHIP": [ - -1, - 768 - ], - "'RAISES": [ - -1, - 768 - ], - "'RAISESOTHER": [ - -1, - 768 - ], - "'SATISFIES": [ - -1, - 768 - ], - "'SATISFIESNOT": [ - -1, - 768 - ], - "'RAISESSATISFIES": [ - -1, - 768 - ], - "'RAISESVIOLATES": [ - -1, - 768 - ], - "'RAISESNOT": [ - -1, - 768 - ], - "'DOTDOTDOT": [ - -1, - 768 - ], - "'NUMBER": [ - -1, - 768 - ], - "'RATIONAL": [ - -1, - 768 - ], - "'ROUGHRATIONAL": [ - -1, - 768 - ], - "'TRUE": [ - -1, - 768 - ], - "'FALSE": [ - -1, - 768 - ], - "'LAM": [ - -1, - 768 - ], - "'METHOD": [ - -1, - 768 - ], - "'RBRACK": [ - -1, - 768 - ], - "'TABLE": [ - -1, - 768 - ], - "'ROW": [ - -1, - 768 - ], - "'REACTOR": [ - -1, - 768 - ], - "'IF": [ - -1, - 768 - ], - "'ELSECOLON": [ - -1, - 768 - ], - "'ELSEIF": [ - -1, - 768 - ], - "'ASK": [ - -1, - 768 - ], - "'THENCOLON": [ - -1, - 768 - ], - "'CASES": [ - -1, - 768 - ], - "'FOR": [ - -1, - 768 - ], - "'TABLE-SELECT": [ - -1, - 768 - ], - "'TABLE-FILTER": [ - -1, - 768 - ], - "'TABLE-ORDER": [ - -1, - 768 - ], - "'TABLE-EXTRACT": [ - -1, - 768 - ], - "'TABLE-UPDATE": [ - -1, - 768 - ], - "'TABLE-EXTEND": [ - -1, - 768 - ], - "'LOAD-TABLE": [ - -1, - 768 - ] - }, - { - "$": [ - -1, - 770 - ], - "'NAME": [ - -1, - 770 - ], - "'COLON": [ - -1, - 770 - ], - "'END": [ - -1, - 770 - ], - "'COMMA": [ - -1, - 770 - ], - "'PARENNOSPACE": [ - -1, - 770 - ], - "'STRING": [ - -1, - 770 - ], - "'RPAREN": [ - -1, - 770 - ], - "'TYPE": [ - -1, - 770 - ], - "'DATA": [ - -1, - 770 - ], - "'TIMES": [ - -1, - 770 - ], - "'PARENSPACE": [ - -1, - 770 - ], - "'DOT": [ - -1, - 770 - ], - "'SPY": [ - -1, - 770 - ], - "'NEWTYPE": [ - -1, - 770 - ], - "'LBRACE": [ - -1, - 770 - ], - "'RBRACE": [ - -1, - 770 - ], - "'SEMI": [ - -1, - 770 - ], - "'SHADOW": [ - -1, - 770 - ], - "'LET": [ - -1, - 770 - ], - "'BLOCK": [ - -1, - 770 - ], - "'LETREC": [ - -1, - 770 - ], - "'TYPE-LET": [ - -1, - 770 - ], - "'FUN": [ - -1, - 770 - ], - "'LANGLE": [ - -1, - 770 - ], - "'LT": [ - -1, - 770 - ], - "'GT": [ - -1, - 770 - ], - "'PARENAFTERBRACE": [ - -1, - 770 - ], - "'WHERE": [ - -1, - 770 - ], - "'CHECK": [ - -1, - 770 - ], - "'EXAMPLES": [ - -1, - 770 - ], - "'CHECKCOLON": [ - -1, - 770 - ], - "'EXAMPLESCOLON": [ - -1, - 770 - ], - "'BECAUSE": [ - -1, - 770 - ], - "'BAR": [ - -1, - 770 - ], - "'SHARING": [ - -1, - 770 - ], - "'VAR": [ - -1, - 770 - ], - "'REC": [ - -1, - 770 - ], - "'WHEN": [ - -1, - 770 - ], - "'PLUS": [ - -1, - 770 - ], - "'DASH": [ - -1, - 770 - ], - "'SLASH": [ - -1, - 770 - ], - "'LEQ": [ - -1, - 770 - ], - "'GEQ": [ - -1, - 770 - ], - "'EQUALEQUAL": [ - -1, - 770 - ], - "'SPACESHIP": [ - -1, - 770 - ], - "'EQUALTILDE": [ - -1, - 770 - ], - "'NEQ": [ - -1, - 770 - ], - "'AND": [ - -1, - 770 - ], - "'OR": [ - -1, - 770 - ], - "'CARET": [ - -1, - 770 - ], - "'IS": [ - -1, - 770 - ], - "'ISEQUALEQUAL": [ - -1, - 770 - ], - "'ISEQUALTILDE": [ - -1, - 770 - ], - "'ISSPACESHIP": [ - -1, - 770 - ], - "'ISROUGHLY": [ - -1, - 770 - ], - "'ISNOT": [ - -1, - 770 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 770 - ], - "'ISNOTEQUALTILDE": [ - -1, - 770 - ], - "'ISNOTSPACESHIP": [ - -1, - 770 - ], - "'RAISES": [ - -1, - 770 - ], - "'RAISESOTHER": [ - -1, - 770 - ], - "'SATISFIES": [ - -1, - 770 - ], - "'SATISFIESNOT": [ - -1, - 770 - ], - "'RAISESSATISFIES": [ - -1, - 770 - ], - "'RAISESVIOLATES": [ - -1, - 770 - ], - "'RAISESNOT": [ - -1, - 770 - ], - "'DOTDOTDOT": [ - -1, - 770 - ], - "'NUMBER": [ - -1, - 770 - ], - "'RATIONAL": [ - -1, - 770 - ], - "'ROUGHRATIONAL": [ - -1, - 770 - ], - "'TRUE": [ - -1, - 770 - ], - "'FALSE": [ - -1, - 770 - ], - "'LAM": [ - -1, - 770 - ], - "'METHOD": [ - -1, - 770 - ], - "'LBRACK": [ - -1, - 770 - ], - "'RBRACK": [ - -1, - 770 - ], - "'TABLE": [ - -1, - 770 - ], - "'ROW": [ - -1, - 770 - ], - "'REACTOR": [ - -1, - 770 - ], - "'BANG": [ - -1, - 770 - ], - "'IF": [ - -1, - 770 - ], - "'ELSECOLON": [ - -1, - 770 - ], - "'ELSEIF": [ - -1, - 770 - ], - "'ASK": [ - -1, - 770 - ], - "'THENCOLON": [ - -1, - 770 - ], - "'CASES": [ - -1, - 770 - ], - "'FOR": [ - -1, - 770 - ], - "'TABLE-SELECT": [ - -1, - 770 - ], - "'TABLE-FILTER": [ - -1, - 770 - ], - "'USING": [ - -1, - 770 - ], - "'TABLE-ORDER": [ - -1, - 770 - ], - "'TABLE-EXTRACT": [ - -1, - 770 - ], - "'TABLE-UPDATE": [ - -1, - 770 - ], - "'TABLE-EXTEND": [ - -1, - 770 - ], - "'OF": [ - -1, - 770 - ], - "'LOAD-TABLE": [ - -1, - 770 - ], - "'SOURCECOLON": [ - -1, - 770 - ], - "'SANITIZE": [ - -1, - 770 - ] - }, - { - "'RBRACE": [ - 655 - ] - }, - { - "block": [ - 656 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "block": [ - 657 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 315 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "comma-binops": [ - 658 - ], - "trailing-opt-comma-binops": [ - 659 - ], - "trailing-opt-comma-binops_I0": [ - 660 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ], - "'RBRACK": [ - -1, - 772, - 774 - ] - }, - { - "$": [ - -1, - 776 - ], - "'NAME": [ - -1, - 776 - ], - "'COLON": [ - -1, - 776 - ], - "'END": [ - -1, - 776 - ], - "'COMMA": [ - -1, - 776 - ], - "'PARENNOSPACE": [ - -1, - 776 - ], - "'STRING": [ - -1, - 776 - ], - "'RPAREN": [ - -1, - 776 - ], - "'TYPE": [ - -1, - 776 - ], - "'DATA": [ - -1, - 776 - ], - "'TIMES": [ - -1, - 776 - ], - "'PARENSPACE": [ - -1, - 776 - ], - "'DOT": [ - -1, - 776 - ], - "'SPY": [ - -1, - 776 - ], - "'NEWTYPE": [ - -1, - 776 - ], - "'LBRACE": [ - -1, - 776 - ], - "'RBRACE": [ - -1, - 776 - ], - "'SEMI": [ - -1, - 776 - ], - "'SHADOW": [ - -1, - 776 - ], - "'LET": [ - -1, - 776 - ], - "'BLOCK": [ - -1, - 776 - ], - "'LETREC": [ - -1, - 776 - ], - "'TYPE-LET": [ - -1, - 776 - ], - "'FUN": [ - -1, - 776 - ], - "'LANGLE": [ - -1, - 776 - ], - "'LT": [ - -1, - 776 - ], - "'GT": [ - -1, - 776 - ], - "'PARENAFTERBRACE": [ - -1, - 776 - ], - "'WHERE": [ - -1, - 776 - ], - "'CHECK": [ - -1, - 776 - ], - "'EXAMPLES": [ - -1, - 776 - ], - "'CHECKCOLON": [ - -1, - 776 - ], - "'EXAMPLESCOLON": [ - -1, - 776 - ], - "'BECAUSE": [ - -1, - 776 - ], - "'BAR": [ - -1, - 776 - ], - "'SHARING": [ - -1, - 776 - ], - "'VAR": [ - -1, - 776 - ], - "'REC": [ - -1, - 776 - ], - "'WHEN": [ - -1, - 776 - ], - "'PLUS": [ - -1, - 776 - ], - "'DASH": [ - -1, - 776 - ], - "'SLASH": [ - -1, - 776 - ], - "'LEQ": [ - -1, - 776 - ], - "'GEQ": [ - -1, - 776 - ], - "'EQUALEQUAL": [ - -1, - 776 - ], - "'SPACESHIP": [ - -1, - 776 - ], - "'EQUALTILDE": [ - -1, - 776 - ], - "'NEQ": [ - -1, - 776 - ], - "'AND": [ - -1, - 776 - ], - "'OR": [ - -1, - 776 - ], - "'CARET": [ - -1, - 776 - ], - "'IS": [ - -1, - 776 - ], - "'ISEQUALEQUAL": [ - -1, - 776 - ], - "'ISEQUALTILDE": [ - -1, - 776 - ], - "'ISSPACESHIP": [ - -1, - 776 - ], - "'ISROUGHLY": [ - -1, - 776 - ], - "'ISNOT": [ - -1, - 776 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 776 - ], - "'ISNOTEQUALTILDE": [ - -1, - 776 - ], - "'ISNOTSPACESHIP": [ - -1, - 776 - ], - "'RAISES": [ - -1, - 776 - ], - "'RAISESOTHER": [ - -1, - 776 - ], - "'SATISFIES": [ - -1, - 776 - ], - "'SATISFIESNOT": [ - -1, - 776 - ], - "'RAISESSATISFIES": [ - -1, - 776 - ], - "'RAISESVIOLATES": [ - -1, - 776 - ], - "'RAISESNOT": [ - -1, - 776 - ], - "'DOTDOTDOT": [ - -1, - 776 - ], - "'NUMBER": [ - -1, - 776 - ], - "'RATIONAL": [ - -1, - 776 - ], - "'ROUGHRATIONAL": [ - -1, - 776 - ], - "'TRUE": [ - -1, - 776 - ], - "'FALSE": [ - -1, - 776 - ], - "'LAM": [ - -1, - 776 - ], - "'METHOD": [ - -1, - 776 - ], - "'LBRACK": [ - -1, - 776 - ], - "'RBRACK": [ - -1, - 776 - ], - "'TABLE": [ - -1, - 776 - ], - "'ROW": [ - -1, - 776 - ], - "'REACTOR": [ - -1, - 776 - ], - "'BANG": [ - -1, - 776 - ], - "'IF": [ - -1, - 776 - ], - "'ELSECOLON": [ - -1, - 776 - ], - "'ELSEIF": [ - -1, - 776 - ], - "'ASK": [ - -1, - 776 - ], - "'THENCOLON": [ - -1, - 776 - ], - "'CASES": [ - -1, - 776 - ], - "'FOR": [ - -1, - 776 - ], - "'TABLE-SELECT": [ - -1, - 776 - ], - "'TABLE-FILTER": [ - -1, - 776 - ], - "'USING": [ - -1, - 776 - ], - "'TABLE-ORDER": [ - -1, - 776 - ], - "'TABLE-EXTRACT": [ - -1, - 776 - ], - "'TABLE-UPDATE": [ - -1, - 776 - ], - "'TABLE-EXTEND": [ - -1, - 776 - ], - "'OF": [ - -1, - 776 - ], - "'LOAD-TABLE": [ - -1, - 776 - ], - "'SOURCECOLON": [ - -1, - 776 - ], - "'SANITIZE": [ - -1, - 776 - ] - }, - { - "'END": [ - -1, - 778 - ], - "'ROW": [ - -1, - 780 - ] - }, - { - "'ROW": [ - -1, - 782 - ] - }, - { - "table-items": [ - 661 - ], - "table-items_I0?": [ - 662 - ], - "table-items_I0": [ - 663 - ], - "table-items_I0_I0*": [ - 664 - ], - "'NAME": [ - -1, - 784 - ], - "'END": [ - -1, - 786, - 788, - 790 - ], - "'STRING": [ - -1, - 784 - ], - "'PARENSPACE": [ - -1, - 784 - ], - "'LBRACE": [ - -1, - 784 - ], - "'LET": [ - -1, - 784 - ], - "'BLOCK": [ - -1, - 784 - ], - "'LETREC": [ - -1, - 784 - ], - "'TYPE-LET": [ - -1, - 784 - ], - "'PARENAFTERBRACE": [ - -1, - 784 - ], - "'DOTDOTDOT": [ - -1, - 784 - ], - "'NUMBER": [ - -1, - 784 - ], - "'RATIONAL": [ - -1, - 784 - ], - "'ROUGHRATIONAL": [ - -1, - 784 - ], - "'TRUE": [ - -1, - 784 - ], - "'FALSE": [ - -1, - 784 - ], - "'LAM": [ - -1, - 784 - ], - "'METHOD": [ - -1, - 784 - ], - "'LBRACK": [ - -1, - 784 - ], - "'TABLE": [ - -1, - 784 - ], - "'ROW": [ - -1, - 786, - 788, - 790 - ], - "'REACTOR": [ - -1, - 784 - ], - "'IF": [ - -1, - 784 - ], - "'ASK": [ - -1, - 784 - ], - "'CASES": [ - -1, - 784 - ], - "'FOR": [ - -1, - 784 - ], - "'TABLE-SELECT": [ - -1, - 784 - ], - "'TABLE-FILTER": [ - -1, - 784 - ], - "'TABLE-ORDER": [ - -1, - 784 - ], - "'TABLE-EXTRACT": [ - -1, - 784 - ], - "'TABLE-UPDATE": [ - -1, - 784 - ], - "'TABLE-EXTEND": [ - -1, - 784 - ], - "'LOAD-TABLE": [ - -1, - 784 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 665 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'END": [ - -1, - 792 - ], - "'COMMA": [ - -1, - 792 - ], - "'ROW": [ - -1, - 792 - ], - "'SOURCECOLON": [ - -1, - 792 - ], - "'SANITIZE": [ - -1, - 792 - ] - }, - { - "'END": [ - -1, - 794 - ], - "'COMMA": [ - -1, - 794 - ], - "'ROW": [ - -1, - 794 - ], - "'SOURCECOLON": [ - -1, - 794 - ], - "'SANITIZE": [ - -1, - 794 - ] - }, - { - "'NAME": [ - -1, - 796 - ] - }, - { - "$": [ - -1, - 798 - ], - "'NAME": [ - -1, - 798 - ], - "'COLON": [ - -1, - 798 - ], - "'END": [ - -1, - 798 - ], - "'COMMA": [ - -1, - 798 - ], - "'PARENNOSPACE": [ - -1, - 798 - ], - "'STRING": [ - -1, - 798 - ], - "'RPAREN": [ - -1, - 798 - ], - "'TYPE": [ - -1, - 798 - ], - "'DATA": [ - -1, - 798 - ], - "'TIMES": [ - -1, - 798 - ], - "'PARENSPACE": [ - -1, - 798 - ], - "'DOT": [ - -1, - 798 - ], - "'SPY": [ - -1, - 798 - ], - "'NEWTYPE": [ - -1, - 798 - ], - "'LBRACE": [ - -1, - 798 - ], - "'RBRACE": [ - -1, - 798 - ], - "'SEMI": [ - -1, - 798 - ], - "'SHADOW": [ - -1, - 798 - ], - "'LET": [ - -1, - 798 - ], - "'BLOCK": [ - -1, - 798 - ], - "'LETREC": [ - -1, - 798 - ], - "'TYPE-LET": [ - -1, - 798 - ], - "'FUN": [ - -1, - 798 - ], - "'LANGLE": [ - -1, - 798 - ], - "'LT": [ - -1, - 798 - ], - "'GT": [ - -1, - 798 - ], - "'PARENAFTERBRACE": [ - -1, - 798 - ], - "'WHERE": [ - -1, - 798 - ], - "'CHECK": [ - -1, - 798 - ], - "'EXAMPLES": [ - -1, - 798 - ], - "'CHECKCOLON": [ - -1, - 798 - ], - "'EXAMPLESCOLON": [ - -1, - 798 - ], - "'BECAUSE": [ - -1, - 798 - ], - "'BAR": [ - -1, - 798 - ], - "'SHARING": [ - -1, - 798 - ], - "'VAR": [ - -1, - 798 - ], - "'REC": [ - -1, - 798 - ], - "'WHEN": [ - -1, - 798 - ], - "'PLUS": [ - -1, - 798 - ], - "'DASH": [ - -1, - 798 - ], - "'SLASH": [ - -1, - 798 - ], - "'LEQ": [ - -1, - 798 - ], - "'GEQ": [ - -1, - 798 - ], - "'EQUALEQUAL": [ - -1, - 798 - ], - "'SPACESHIP": [ - -1, - 798 - ], - "'EQUALTILDE": [ - -1, - 798 - ], - "'NEQ": [ - -1, - 798 - ], - "'AND": [ - -1, - 798 - ], - "'OR": [ - -1, - 798 - ], - "'CARET": [ - -1, - 798 - ], - "'IS": [ - -1, - 798 - ], - "'ISEQUALEQUAL": [ - -1, - 798 - ], - "'ISEQUALTILDE": [ - -1, - 798 - ], - "'ISSPACESHIP": [ - -1, - 798 - ], - "'ISROUGHLY": [ - -1, - 798 - ], - "'ISNOT": [ - -1, - 798 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 798 - ], - "'ISNOTEQUALTILDE": [ - -1, - 798 - ], - "'ISNOTSPACESHIP": [ - -1, - 798 - ], - "'RAISES": [ - -1, - 798 - ], - "'RAISESOTHER": [ - -1, - 798 - ], - "'SATISFIES": [ - -1, - 798 - ], - "'SATISFIESNOT": [ - -1, - 798 - ], - "'RAISESSATISFIES": [ - -1, - 798 - ], - "'RAISESVIOLATES": [ - -1, - 798 - ], - "'RAISESNOT": [ - -1, - 798 - ], - "'DOTDOTDOT": [ - -1, - 798 - ], - "'NUMBER": [ - -1, - 798 - ], - "'RATIONAL": [ - -1, - 798 - ], - "'ROUGHRATIONAL": [ - -1, - 798 - ], - "'TRUE": [ - -1, - 798 - ], - "'FALSE": [ - -1, - 798 - ], - "'LAM": [ - -1, - 798 - ], - "'METHOD": [ - -1, - 798 - ], - "'LBRACK": [ - -1, - 798 - ], - "'RBRACK": [ - -1, - 798 - ], - "'TABLE": [ - -1, - 798 - ], - "'ROW": [ - -1, - 798 - ], - "'REACTOR": [ - -1, - 798 - ], - "'BANG": [ - -1, - 798 - ], - "'IF": [ - -1, - 798 - ], - "'ELSECOLON": [ - -1, - 798 - ], - "'ELSEIF": [ - -1, - 798 - ], - "'ASK": [ - -1, - 798 - ], - "'THENCOLON": [ - -1, - 798 - ], - "'CASES": [ - -1, - 798 - ], - "'FOR": [ - -1, - 798 - ], - "'TABLE-SELECT": [ - -1, - 798 - ], - "'TABLE-FILTER": [ - -1, - 798 - ], - "'USING": [ - -1, - 798 - ], - "'TABLE-ORDER": [ - -1, - 798 - ], - "'TABLE-EXTRACT": [ - -1, - 798 - ], - "'TABLE-UPDATE": [ - -1, - 798 - ], - "'TABLE-EXTEND": [ - -1, - 798 - ], - "'OF": [ - -1, - 798 - ], - "'LOAD-TABLE": [ - -1, - 798 - ], - "'SOURCECOLON": [ - -1, - 798 - ], - "'SANITIZE": [ - -1, - 798 - ] - }, - { - "ty-params": [ - 166 - ], - "fun-header": [ - 666 - ], - "ty-params_I0?": [ - 170 - ], - "ty-params_I0": [ - 171 - ], - "ty-params_I0_I0": [ - 172 - ], - "'LANGLE": [ - 173 - ], - "'LT": [ - 174 - ], - "'PARENNOSPACE": [ - -1, - 78, - 80 - ], - "'PARENSPACE": [ - -1, - 78, - 80 - ], - "'PARENAFTERBRACE": [ - -1, - 78, - 80 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 667 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COMMA": [ - 668 - ], - "fields_I2?": [ - 669 - ], - "fields_I1": [ - 670 - ], - "fields_I2": [ - 671 - ], - "'END": [ - -1, - 800, - 802 - ], - "'RBRACE": [ - -1, - 800, - 802 - ], - "'WHERE": [ - -1, - 800, - 802 - ], - "'BAR": [ - -1, - 800, - 802 - ], - "'SHARING": [ - -1, - 800, - 802 - ] - }, - { - "if-expr_I4*": [ - 672 - ], - "'END": [ - -1, - 804 - ], - "'ELSECOLON": [ - -1, - 804 - ], - "'ELSEIF": [ - -1, - 804 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 673 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'OTHERWISECOLON": [ - 674 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'END": [ - 675 - ] - }, - { - "'END": [ - -1, - 806 - ], - "'BAR": [ - -1, - 806 - ] - }, - { - "'END": [ - -1, - 808 - ], - "'BAR": [ - -1, - 808 - ] - }, - { - "'END": [ - -1, - 810 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 676 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'FROM": [ - 677 - ] - }, - { - "for-expr_I3_I1*": [ - 678 - ], - "'COMMA": [ - -1, - 812 - ], - "'RPAREN": [ - -1, - 814, - 812 - ] - }, - { - "'RPAREN": [ - 679 - ] - }, - { - "'RPAREN": [ - -1, - 816 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 680 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 681 - ] - }, - { - "'FROM": [ - -1, - 818 - ], - "'COMMA": [ - -1, - 818 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 682 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "table-filter_I2_I2*": [ - 683 - ], - "'COLON": [ - -1, - 820, - 822 - ], - "'COMMA": [ - -1, - 822 - ] - }, - { - "column-order_I1": [ - 684 - ], - "'ASCENDING": [ - 685 - ], - "'DESCENDING": [ - 686 - ] - }, - { - "table-order_I4*": [ - 687 - ], - "'END": [ - -1, - 824 - ], - "'COMMA": [ - -1, - 824 - ] - }, - { - "'END": [ - 688 - ], - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ] - }, - { - "table-update_I2_I2*": [ - 689 - ], - "'COLON": [ - -1, - 826, - 828 - ], - "'COMMA": [ - -1, - 828 - ] - }, - { - "'NAME": [ - 291 - ], - "'REF": [ - 175 - ], - "'METHOD": [ - 625 - ], - "obj-fields": [ - 690 - ], - "obj-field": [ - 179 - ], - "key": [ - 180 - ] - }, - { - "table-extend_I2_I2*": [ - 691 - ], - "'COLON": [ - -1, - 830, - 832 - ], - "'COMMA": [ - -1, - 832 - ] - }, - { - "table-extend-fields": [ - 692 - ], - "table-extend-fields_I0*": [ - 693 - ], - "'NAME": [ - -1, - 834 - ] - }, - { - "'END": [ - 694 - ] - }, - { - "'END": [ - -1, - 836 - ] - }, - { - "'END": [ - -1, - 838 - ] - }, - { - "load-table-spec": [ - 695 - ], - "load-table-specs_I0": [ - 696 - ], - "'SOURCECOLON": [ - 697 - ], - "'SANITIZE": [ - 698 - ] - }, - { - "module-ref": [ - 247 - ], - "import-stmt_A1_I4?": [ - 699 - ], - "import-stmt_A1_I4": [ - 700 - ], - "include-spec": [ - 701 - ], - "include-name-spec": [ - 702 - ], - "include-type-spec": [ - 703 - ], - "include-data-spec": [ - 704 - ], - "include-module-spec": [ - 705 - ], - "name-spec": [ - 706 - ], - "'TYPE": [ - 707 - ], - "'DATA": [ - 708 - ], - "'MODULE": [ - 709 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 840 - ] - }, - { - "'NAME": [ - 710 - ] - }, - { - "'FROM": [ - -1, - 842 - ], - "'COMMA": [ - -1, - 842 - ], - "'RANGLE": [ - -1, - 842 - ], - "'GT": [ - -1, - 842 - ] - }, - { - "$": [ - -1, - 844 - ], - "'NAME": [ - -1, - 844 - ], - "'INCLUDE": [ - -1, - 844 - ], - "'IMPORT": [ - -1, - 844 - ], - "'STRING": [ - -1, - 844 - ], - "'TYPE": [ - -1, - 844 - ], - "'DATA": [ - -1, - 844 - ], - "'PROVIDE": [ - -1, - 844 - ], - "'PROVIDE-TYPES": [ - -1, - 844 - ], - "'PROVIDECOLON": [ - -1, - 844 - ], - "'PARENSPACE": [ - -1, - 844 - ], - "'SPY": [ - -1, - 844 - ], - "'NEWTYPE": [ - -1, - 844 - ], - "'LBRACE": [ - -1, - 844 - ], - "'SHADOW": [ - -1, - 844 - ], - "'LET": [ - -1, - 844 - ], - "'BLOCK": [ - -1, - 844 - ], - "'LETREC": [ - -1, - 844 - ], - "'TYPE-LET": [ - -1, - 844 - ], - "'FUN": [ - -1, - 844 - ], - "'PARENAFTERBRACE": [ - -1, - 844 - ], - "'CHECK": [ - -1, - 844 - ], - "'EXAMPLES": [ - -1, - 844 - ], - "'CHECKCOLON": [ - -1, - 844 - ], - "'EXAMPLESCOLON": [ - -1, - 844 - ], - "'VAR": [ - -1, - 844 - ], - "'REC": [ - -1, - 844 - ], - "'WHEN": [ - -1, - 844 - ], - "'DOTDOTDOT": [ - -1, - 844 - ], - "'NUMBER": [ - -1, - 844 - ], - "'RATIONAL": [ - -1, - 844 - ], - "'ROUGHRATIONAL": [ - -1, - 844 - ], - "'TRUE": [ - -1, - 844 - ], - "'FALSE": [ - -1, - 844 - ], - "'LAM": [ - -1, - 844 - ], - "'METHOD": [ - -1, - 844 - ], - "'LBRACK": [ - -1, - 844 - ], - "'TABLE": [ - -1, - 844 - ], - "'REACTOR": [ - -1, - 844 - ], - "'IF": [ - -1, - 844 - ], - "'ASK": [ - -1, - 844 - ], - "'CASES": [ - -1, - 844 - ], - "'FOR": [ - -1, - 844 - ], - "'TABLE-SELECT": [ - -1, - 844 - ], - "'TABLE-FILTER": [ - -1, - 844 - ], - "'TABLE-ORDER": [ - -1, - 844 - ], - "'TABLE-EXTRACT": [ - -1, - 844 - ], - "'TABLE-UPDATE": [ - -1, - 844 - ], - "'TABLE-EXTEND": [ - -1, - 844 - ], - "'LOAD-TABLE": [ - -1, - 844 - ] - }, - { - "$": [ - -1, - 846 - ], - "'NAME": [ - -1, - 846 - ], - "'INCLUDE": [ - -1, - 846 - ], - "'IMPORT": [ - -1, - 846 - ], - "'STRING": [ - -1, - 846 - ], - "'TYPE": [ - -1, - 846 - ], - "'DATA": [ - -1, - 846 - ], - "'PROVIDE": [ - -1, - 846 - ], - "'PROVIDE-TYPES": [ - -1, - 846 - ], - "'PROVIDECOLON": [ - -1, - 846 - ], - "'PARENSPACE": [ - -1, - 846 - ], - "'SPY": [ - -1, - 846 - ], - "'NEWTYPE": [ - -1, - 846 - ], - "'LBRACE": [ - -1, - 846 - ], - "'SHADOW": [ - -1, - 846 - ], - "'LET": [ - -1, - 846 - ], - "'BLOCK": [ - -1, - 846 - ], - "'LETREC": [ - -1, - 846 - ], - "'TYPE-LET": [ - -1, - 846 - ], - "'FUN": [ - -1, - 846 - ], - "'PARENAFTERBRACE": [ - -1, - 846 - ], - "'CHECK": [ - -1, - 846 - ], - "'EXAMPLES": [ - -1, - 846 - ], - "'CHECKCOLON": [ - -1, - 846 - ], - "'EXAMPLESCOLON": [ - -1, - 846 - ], - "'VAR": [ - -1, - 846 - ], - "'REC": [ - -1, - 846 - ], - "'WHEN": [ - -1, - 846 - ], - "'DOTDOTDOT": [ - -1, - 846 - ], - "'NUMBER": [ - -1, - 846 - ], - "'RATIONAL": [ - -1, - 846 - ], - "'ROUGHRATIONAL": [ - -1, - 846 - ], - "'TRUE": [ - -1, - 846 - ], - "'FALSE": [ - -1, - 846 - ], - "'LAM": [ - -1, - 846 - ], - "'METHOD": [ - -1, - 846 - ], - "'LBRACK": [ - -1, - 846 - ], - "'TABLE": [ - -1, - 846 - ], - "'REACTOR": [ - -1, - 846 - ], - "'IF": [ - -1, - 846 - ], - "'ASK": [ - -1, - 846 - ], - "'CASES": [ - -1, - 846 - ], - "'FOR": [ - -1, - 846 - ], - "'TABLE-SELECT": [ - -1, - 846 - ], - "'TABLE-FILTER": [ - -1, - 846 - ], - "'TABLE-ORDER": [ - -1, - 846 - ], - "'TABLE-EXTRACT": [ - -1, - 846 - ], - "'TABLE-UPDATE": [ - -1, - 846 - ], - "'TABLE-EXTEND": [ - -1, - 846 - ], - "'LOAD-TABLE": [ - -1, - 846 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 248 - ], - "'TYPE": [ - 249 - ], - "'DATA": [ - 250 - ], - "'MODULE": [ - 251 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "provide-spec": [ - 711 - ], - "provide-block_A1_I4?": [ - 712 - ], - "provide-block_A1_I4": [ - 713 - ], - "provide-name-spec": [ - 257 - ], - "provide-type-spec": [ - 258 - ], - "provide-data-spec": [ - 259 - ], - "provide-module-spec": [ - 260 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 848 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 714 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'RBRACE": [ - -1, - 850 - ] - }, - { - "'RBRACE": [ - -1, - 852 - ] - }, - { - "'RBRACE": [ - -1, - 854 - ] - }, - { - "'COMMA": [ - 715, - 856 - ], - "comma-ann-field_I1": [ - 716 - ], - "'RPAREN": [ - -1, - 856 - ], - "'RBRACE": [ - -1, - 856 - ] - }, - { - "$": [ - -1, - 858 - ], - "'NAME": [ - -1, - 858 - ], - "'INCLUDE": [ - -1, - 858 - ], - "'FROM": [ - -1, - 858 - ], - "'COLON": [ - -1, - 858 - ], - "'END": [ - -1, - 858 - ], - "'COMMA": [ - -1, - 858 - ], - "'IMPORT": [ - -1, - 858 - ], - "'STRING": [ - -1, - 858 - ], - "'RPAREN": [ - -1, - 858 - ], - "'TYPE": [ - -1, - 858 - ], - "'DATA": [ - -1, - 858 - ], - "'PROVIDE": [ - -1, - 858 - ], - "'PROVIDE-TYPES": [ - -1, - 858 - ], - "'PROVIDECOLON": [ - -1, - 858 - ], - "'PARENSPACE": [ - -1, - 858 - ], - "'SPY": [ - -1, - 858 - ], - "'EQUALS": [ - -1, - 858 - ], - "'NEWTYPE": [ - -1, - 858 - ], - "'LBRACE": [ - -1, - 858 - ], - "'RBRACE": [ - -1, - 858 - ], - "'SEMI": [ - -1, - 858 - ], - "'SHADOW": [ - -1, - 858 - ], - "'LET": [ - -1, - 858 - ], - "'BLOCK": [ - -1, - 858 - ], - "'LETREC": [ - -1, - 858 - ], - "'TYPE-LET": [ - -1, - 858 - ], - "'FUN": [ - -1, - 858 - ], - "'RANGLE": [ - -1, - 858 - ], - "'GT": [ - -1, - 858 - ], - "'PARENAFTERBRACE": [ - -1, - 858 - ], - "'THINARROW": [ - -1, - 858 - ], - "'WHERE": [ - -1, - 858 - ], - "'CHECK": [ - -1, - 858 - ], - "'EXAMPLES": [ - -1, - 858 - ], - "'CHECKCOLON": [ - -1, - 858 - ], - "'EXAMPLESCOLON": [ - -1, - 858 - ], - "'PERCENT": [ - -1, - 858 - ], - "'BAR": [ - -1, - 858 - ], - "'VAR": [ - -1, - 858 - ], - "'REC": [ - -1, - 858 - ], - "'WHEN": [ - -1, - 858 - ], - "'DOTDOTDOT": [ - -1, - 858 - ], - "'NUMBER": [ - -1, - 858 - ], - "'RATIONAL": [ - -1, - 858 - ], - "'ROUGHRATIONAL": [ - -1, - 858 - ], - "'TRUE": [ - -1, - 858 - ], - "'FALSE": [ - -1, - 858 - ], - "'LAM": [ - -1, - 858 - ], - "'METHOD": [ - -1, - 858 - ], - "'LBRACK": [ - -1, - 858 - ], - "'TABLE": [ - -1, - 858 - ], - "'ROW": [ - -1, - 858 - ], - "'REACTOR": [ - -1, - 858 - ], - "'IF": [ - -1, - 858 - ], - "'ELSECOLON": [ - -1, - 858 - ], - "'ELSEIF": [ - -1, - 858 - ], - "'ASK": [ - -1, - 858 - ], - "'CASES": [ - -1, - 858 - ], - "'FOR": [ - -1, - 858 - ], - "'TABLE-SELECT": [ - -1, - 858 - ], - "'TABLE-FILTER": [ - -1, - 858 - ], - "'TABLE-ORDER": [ - -1, - 858 - ], - "'TABLE-EXTRACT": [ - -1, - 858 - ], - "'TABLE-UPDATE": [ - -1, - 858 - ], - "'TABLE-EXTEND": [ - -1, - 858 - ], - "'LOAD-TABLE": [ - -1, - 858 - ], - "'SOURCECOLON": [ - -1, - 858 - ], - "'SANITIZE": [ - -1, - 858 - ] - }, - { - "'END": [ - -1, - 860 - ], - "'COMMA": [ - -1, - 860 - ] - }, - { - "'END": [ - -1, - 862 - ], - "'COMMA": [ - -1, - 862 - ] - }, - { - "'END": [ - -1, - 864 - ], - "'COMMA": [ - -1, - 864 - ] - }, - { - "'END": [ - -1, - 866 - ], - "'COMMA": [ - -1, - 866 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 248 - ], - "'TYPE": [ - 249 - ], - "'DATA": [ - 250 - ], - "'MODULE": [ - 251 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "provide-spec": [ - 717 - ], - "provide-name-spec": [ - 257 - ], - "provide-type-spec": [ - 258 - ], - "provide-data-spec": [ - 259 - ], - "provide-module-spec": [ - 260 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 868 - ] - }, - { - "'END": [ - -1, - 870 - ] - }, - { - "'END": [ - -1, - 872 - ], - "'COMMA": [ - -1, - 872 - ] - }, - { - "'END": [ - -1, - 874 - ] - }, - { - "'NAME": [ - -1, - 876 - ], - "'RPAREN": [ - -1, - 876 - ] - }, - { - "hiding-spec_I2?": [ - 718 - ], - "hiding-spec_I2": [ - 719 - ], - "hiding-spec_I2_I0*": [ - 720 - ], - "'NAME": [ - -1, - 878 - ], - "'RPAREN": [ - -1, - 880 - ] - }, - { - "'NAME": [ - -1, - 882 - ], - "'RPAREN": [ - -1, - 882 - ] - }, - { - "'NAME": [ - -1, - 884 - ] - }, - { - "'COMMA": [ - 721 - ], - "'RPAREN": [ - 722 - ], - "import-special_I3": [ - 723 - ] - }, - { - "'COMMA": [ - 724 - ], - "comma-anns_I1": [ - 725 - ], - "'RANGLE": [ - -1, - 886 - ], - "'GT": [ - -1, - 886 - ], - "'THINARROW": [ - -1, - 886 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 726 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'RPAREN": [ - 727 - ] - }, - { - "'PERCENT": [ - 516 - ], - "$": [ - -1, - 888 - ], - "'NAME": [ - -1, - 888 - ], - "'END": [ - -1, - 888 - ], - "'STRING": [ - -1, - 888 - ], - "'TYPE": [ - -1, - 888 - ], - "'DATA": [ - -1, - 888 - ], - "'PARENSPACE": [ - -1, - 888 - ], - "'SPY": [ - -1, - 888 - ], - "'NEWTYPE": [ - -1, - 888 - ], - "'LBRACE": [ - -1, - 888 - ], - "'RBRACE": [ - -1, - 888 - ], - "'SHADOW": [ - -1, - 888 - ], - "'LET": [ - -1, - 888 - ], - "'BLOCK": [ - -1, - 888 - ], - "'LETREC": [ - -1, - 888 - ], - "'TYPE-LET": [ - -1, - 888 - ], - "'FUN": [ - -1, - 888 - ], - "'PARENAFTERBRACE": [ - -1, - 888 - ], - "'WHERE": [ - -1, - 888 - ], - "'CHECK": [ - -1, - 888 - ], - "'EXAMPLES": [ - -1, - 888 - ], - "'CHECKCOLON": [ - -1, - 888 - ], - "'EXAMPLESCOLON": [ - -1, - 888 - ], - "'BAR": [ - -1, - 888 - ], - "'VAR": [ - -1, - 888 - ], - "'REC": [ - -1, - 888 - ], - "'WHEN": [ - -1, - 888 - ], - "'DOTDOTDOT": [ - -1, - 888 - ], - "'NUMBER": [ - -1, - 888 - ], - "'RATIONAL": [ - -1, - 888 - ], - "'ROUGHRATIONAL": [ - -1, - 888 - ], - "'TRUE": [ - -1, - 888 - ], - "'FALSE": [ - -1, - 888 - ], - "'LAM": [ - -1, - 888 - ], - "'METHOD": [ - -1, - 888 - ], - "'LBRACK": [ - -1, - 888 - ], - "'TABLE": [ - -1, - 888 - ], - "'REACTOR": [ - -1, - 888 - ], - "'IF": [ - -1, - 888 - ], - "'ELSECOLON": [ - -1, - 888 - ], - "'ELSEIF": [ - -1, - 888 - ], - "'ASK": [ - -1, - 888 - ], - "'CASES": [ - -1, - 888 - ], - "'FOR": [ - -1, - 888 - ], - "'TABLE-SELECT": [ - -1, - 888 - ], - "'TABLE-FILTER": [ - -1, - 888 - ], - "'TABLE-ORDER": [ - -1, - 888 - ], - "'TABLE-EXTRACT": [ - -1, - 888 - ], - "'TABLE-UPDATE": [ - -1, - 888 - ], - "'TABLE-EXTEND": [ - -1, - 888 - ], - "'LOAD-TABLE": [ - -1, - 888 - ] - }, - { - "'PARENNOSPACE": [ - 728 - ], - "variant-members": [ - 729 - ], - "data-with": [ - 730 - ], - "data-with_I0?": [ - 731 - ], - "data-with_I0": [ - 732 - ], - "'WITH": [ - 733 - ], - "'END": [ - -1, - 890, - 892, - 894 - ], - "'WHERE": [ - -1, - 890, - 892, - 894 - ], - "'BAR": [ - -1, - 890, - 892, - 894 - ], - "'SHARING": [ - -1, - 890, - 892, - 894 - ] - }, - { - "data-expr_I5*": [ - 734 - ], - "'END": [ - -1, - 896 - ], - "'WHERE": [ - -1, - 896 - ], - "'BAR": [ - -1, - 896 - ], - "'SHARING": [ - -1, - 896 - ] - }, - { - "'END": [ - -1, - 898 - ], - "'WHERE": [ - -1, - 898 - ], - "'BAR": [ - -1, - 898 - ], - "'SHARING": [ - -1, - 898 - ] - }, - { - "'END": [ - -1, - 900 - ], - "'WHERE": [ - -1, - 900 - ], - "'BAR": [ - -1, - 900 - ], - "'SHARING": [ - -1, - 900 - ] - }, - { - "data-with": [ - 735 - ], - "data-with_I0?": [ - 731 - ], - "data-with_I0": [ - 732 - ], - "'WITH": [ - 733 - ], - "'END": [ - -1, - 902, - 892, - 894 - ], - "'WHERE": [ - -1, - 902, - 892, - 894 - ], - "'BAR": [ - -1, - 902, - 892, - 894 - ], - "'SHARING": [ - -1, - 902, - 892, - 894 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 736 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "$": [ - -1, - 904 - ], - "'NAME": [ - -1, - 904 - ], - "'END": [ - -1, - 904 - ], - "'STRING": [ - -1, - 904 - ], - "'TYPE": [ - -1, - 904 - ], - "'DATA": [ - -1, - 904 - ], - "'PARENSPACE": [ - -1, - 904 - ], - "'SPY": [ - -1, - 904 - ], - "'NEWTYPE": [ - -1, - 904 - ], - "'LBRACE": [ - -1, - 904 - ], - "'RBRACE": [ - -1, - 904 - ], - "'SHADOW": [ - -1, - 904 - ], - "'LET": [ - -1, - 904 - ], - "'BLOCK": [ - -1, - 904 - ], - "'LETREC": [ - -1, - 904 - ], - "'TYPE-LET": [ - -1, - 904 - ], - "'FUN": [ - -1, - 904 - ], - "'PARENAFTERBRACE": [ - -1, - 904 - ], - "'WHERE": [ - -1, - 904 - ], - "'CHECK": [ - -1, - 904 - ], - "'EXAMPLES": [ - -1, - 904 - ], - "'CHECKCOLON": [ - -1, - 904 - ], - "'EXAMPLESCOLON": [ - -1, - 904 - ], - "'BAR": [ - -1, - 904 - ], - "'VAR": [ - -1, - 904 - ], - "'REC": [ - -1, - 904 - ], - "'WHEN": [ - -1, - 904 - ], - "'DOTDOTDOT": [ - -1, - 904 - ], - "'NUMBER": [ - -1, - 904 - ], - "'RATIONAL": [ - -1, - 904 - ], - "'ROUGHRATIONAL": [ - -1, - 904 - ], - "'TRUE": [ - -1, - 904 - ], - "'FALSE": [ - -1, - 904 - ], - "'LAM": [ - -1, - 904 - ], - "'METHOD": [ - -1, - 904 - ], - "'LBRACK": [ - -1, - 904 - ], - "'TABLE": [ - -1, - 904 - ], - "'REACTOR": [ - -1, - 904 - ], - "'IF": [ - -1, - 904 - ], - "'ELSECOLON": [ - -1, - 904 - ], - "'ELSEIF": [ - -1, - 904 - ], - "'ASK": [ - -1, - 904 - ], - "'CASES": [ - -1, - 904 - ], - "'FOR": [ - -1, - 904 - ], - "'TABLE-SELECT": [ - -1, - 904 - ], - "'TABLE-FILTER": [ - -1, - 904 - ], - "'TABLE-ORDER": [ - -1, - 904 - ], - "'TABLE-EXTRACT": [ - -1, - 904 - ], - "'TABLE-UPDATE": [ - -1, - 904 - ], - "'TABLE-EXTEND": [ - -1, - 904 - ], - "'LOAD-TABLE": [ - -1, - 904 - ] - }, - { - "'COMMA": [ - 737 - ], - "spy-contents_I1": [ - 738 - ], - "'END": [ - -1, - 906 - ] - }, - { - "$": [ - -1, - 908 - ], - "'NAME": [ - -1, - 908 - ], - "'END": [ - -1, - 908 - ], - "'STRING": [ - -1, - 908 - ], - "'TYPE": [ - -1, - 908 - ], - "'DATA": [ - -1, - 908 - ], - "'PARENSPACE": [ - -1, - 908 - ], - "'SPY": [ - -1, - 908 - ], - "'NEWTYPE": [ - -1, - 908 - ], - "'LBRACE": [ - -1, - 908 - ], - "'RBRACE": [ - -1, - 908 - ], - "'SHADOW": [ - -1, - 908 - ], - "'LET": [ - -1, - 908 - ], - "'BLOCK": [ - -1, - 908 - ], - "'LETREC": [ - -1, - 908 - ], - "'TYPE-LET": [ - -1, - 908 - ], - "'FUN": [ - -1, - 908 - ], - "'PARENAFTERBRACE": [ - -1, - 908 - ], - "'WHERE": [ - -1, - 908 - ], - "'CHECK": [ - -1, - 908 - ], - "'EXAMPLES": [ - -1, - 908 - ], - "'CHECKCOLON": [ - -1, - 908 - ], - "'EXAMPLESCOLON": [ - -1, - 908 - ], - "'BAR": [ - -1, - 908 - ], - "'VAR": [ - -1, - 908 - ], - "'REC": [ - -1, - 908 - ], - "'WHEN": [ - -1, - 908 - ], - "'DOTDOTDOT": [ - -1, - 908 - ], - "'NUMBER": [ - -1, - 908 - ], - "'RATIONAL": [ - -1, - 908 - ], - "'ROUGHRATIONAL": [ - -1, - 908 - ], - "'TRUE": [ - -1, - 908 - ], - "'FALSE": [ - -1, - 908 - ], - "'LAM": [ - -1, - 908 - ], - "'METHOD": [ - -1, - 908 - ], - "'LBRACK": [ - -1, - 908 - ], - "'TABLE": [ - -1, - 908 - ], - "'REACTOR": [ - -1, - 908 - ], - "'IF": [ - -1, - 908 - ], - "'ELSECOLON": [ - -1, - 908 - ], - "'ELSEIF": [ - -1, - 908 - ], - "'ASK": [ - -1, - 908 - ], - "'CASES": [ - -1, - 908 - ], - "'FOR": [ - -1, - 908 - ], - "'TABLE-SELECT": [ - -1, - 908 - ], - "'TABLE-FILTER": [ - -1, - 908 - ], - "'TABLE-ORDER": [ - -1, - 908 - ], - "'TABLE-EXTRACT": [ - -1, - 908 - ], - "'TABLE-UPDATE": [ - -1, - 908 - ], - "'TABLE-EXTEND": [ - -1, - 908 - ], - "'LOAD-TABLE": [ - -1, - 908 - ] - }, - { - "$": [ - -1, - 910 - ], - "'NAME": [ - -1, - 910 - ], - "'END": [ - -1, - 910 - ], - "'STRING": [ - -1, - 910 - ], - "'TYPE": [ - -1, - 910 - ], - "'DATA": [ - -1, - 910 - ], - "'PARENSPACE": [ - -1, - 910 - ], - "'SPY": [ - -1, - 910 - ], - "'NEWTYPE": [ - -1, - 910 - ], - "'LBRACE": [ - -1, - 910 - ], - "'RBRACE": [ - -1, - 910 - ], - "'SHADOW": [ - -1, - 910 - ], - "'LET": [ - -1, - 910 - ], - "'BLOCK": [ - -1, - 910 - ], - "'LETREC": [ - -1, - 910 - ], - "'TYPE-LET": [ - -1, - 910 - ], - "'FUN": [ - -1, - 910 - ], - "'PARENAFTERBRACE": [ - -1, - 910 - ], - "'WHERE": [ - -1, - 910 - ], - "'CHECK": [ - -1, - 910 - ], - "'EXAMPLES": [ - -1, - 910 - ], - "'CHECKCOLON": [ - -1, - 910 - ], - "'EXAMPLESCOLON": [ - -1, - 910 - ], - "'BAR": [ - -1, - 910 - ], - "'VAR": [ - -1, - 910 - ], - "'REC": [ - -1, - 910 - ], - "'WHEN": [ - -1, - 910 - ], - "'DOTDOTDOT": [ - -1, - 910 - ], - "'NUMBER": [ - -1, - 910 - ], - "'RATIONAL": [ - -1, - 910 - ], - "'ROUGHRATIONAL": [ - -1, - 910 - ], - "'TRUE": [ - -1, - 910 - ], - "'FALSE": [ - -1, - 910 - ], - "'LAM": [ - -1, - 910 - ], - "'METHOD": [ - -1, - 910 - ], - "'LBRACK": [ - -1, - 910 - ], - "'TABLE": [ - -1, - 910 - ], - "'REACTOR": [ - -1, - 910 - ], - "'IF": [ - -1, - 910 - ], - "'ELSECOLON": [ - -1, - 910 - ], - "'ELSEIF": [ - -1, - 910 - ], - "'ASK": [ - -1, - 910 - ], - "'CASES": [ - -1, - 910 - ], - "'FOR": [ - -1, - 910 - ], - "'TABLE-SELECT": [ - -1, - 910 - ], - "'TABLE-FILTER": [ - -1, - 910 - ], - "'TABLE-ORDER": [ - -1, - 910 - ], - "'TABLE-EXTRACT": [ - -1, - 910 - ], - "'TABLE-UPDATE": [ - -1, - 910 - ], - "'TABLE-EXTEND": [ - -1, - 910 - ], - "'LOAD-TABLE": [ - -1, - 910 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 739 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'RPAREN": [ - 740 - ] - }, - { - "'RBRACE": [ - -1, - 912 - ], - "'SEMI": [ - -1, - 912 - ] - }, - { - "'COMMA": [ - 741 - ], - "bad-args_I1_I1": [ - 742 - ], - "'RPAREN": [ - -1, - 914 - ] - }, - { - "'COLON": [ - -1, - 916 - ], - "'BLOCK": [ - -1, - 916 - ], - "'THINARROW": [ - -1, - 916 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COLON": [ - -1, - 918 - ], - "'BLOCK": [ - -1, - 918 - ] - }, - { - "'COMMA": [ - 743 - ], - "args_I1_I1": [ - 744 - ], - "'RPAREN": [ - -1, - 920 - ] - }, - { - "'COLON": [ - -1, - 922 - ], - "'BLOCK": [ - -1, - 922 - ], - "'THINARROW": [ - -1, - 922 - ] - }, - { - "'AS": [ - 745 - ], - "tuple-binding_I5?": [ - 746 - ], - "tuple-binding_I5": [ - 747 - ], - "'FROM": [ - -1, - 924, - 926 - ], - "'COLON": [ - -1, - 924, - 926 - ], - "'COMMA": [ - -1, - 924, - 926 - ], - "'RPAREN": [ - -1, - 924, - 926 - ], - "'EQUALS": [ - -1, - 924, - 926 - ], - "'RBRACE": [ - -1, - 924, - 926 - ], - "'SEMI": [ - -1, - 924, - 926 - ] - }, - { - "where-clause": [ - 748 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'RBRACE": [ - -1, - 928, - 930 - ] - }, - { - "'NAME": [ - -1, - 932 - ], - "'END": [ - -1, - 932 - ], - "'STRING": [ - -1, - 932 - ], - "'TYPE": [ - -1, - 932 - ], - "'DATA": [ - -1, - 932 - ], - "'PARENSPACE": [ - -1, - 932 - ], - "'SPY": [ - -1, - 932 - ], - "'NEWTYPE": [ - -1, - 932 - ], - "'LBRACE": [ - -1, - 932 - ], - "'RBRACE": [ - -1, - 932 - ], - "'SHADOW": [ - -1, - 932 - ], - "'LET": [ - -1, - 932 - ], - "'BLOCK": [ - -1, - 932 - ], - "'LETREC": [ - -1, - 932 - ], - "'TYPE-LET": [ - -1, - 932 - ], - "'FUN": [ - -1, - 932 - ], - "'PARENAFTERBRACE": [ - -1, - 932 - ], - "'WHERE": [ - -1, - 932 - ], - "'CHECK": [ - -1, - 932 - ], - "'EXAMPLES": [ - -1, - 932 - ], - "'CHECKCOLON": [ - -1, - 932 - ], - "'EXAMPLESCOLON": [ - -1, - 932 - ], - "'VAR": [ - -1, - 932 - ], - "'REC": [ - -1, - 932 - ], - "'WHEN": [ - -1, - 932 - ], - "'DOTDOTDOT": [ - -1, - 932 - ], - "'NUMBER": [ - -1, - 932 - ], - "'RATIONAL": [ - -1, - 932 - ], - "'ROUGHRATIONAL": [ - -1, - 932 - ], - "'TRUE": [ - -1, - 932 - ], - "'FALSE": [ - -1, - 932 - ], - "'LAM": [ - -1, - 932 - ], - "'METHOD": [ - -1, - 932 - ], - "'LBRACK": [ - -1, - 932 - ], - "'TABLE": [ - -1, - 932 - ], - "'REACTOR": [ - -1, - 932 - ], - "'IF": [ - -1, - 932 - ], - "'ASK": [ - -1, - 932 - ], - "'CASES": [ - -1, - 932 - ], - "'FOR": [ - -1, - 932 - ], - "'TABLE-SELECT": [ - -1, - 932 - ], - "'TABLE-FILTER": [ - -1, - 932 - ], - "'TABLE-ORDER": [ - -1, - 932 - ], - "'TABLE-EXTRACT": [ - -1, - 932 - ], - "'TABLE-UPDATE": [ - -1, - 932 - ], - "'TABLE-EXTEND": [ - -1, - 932 - ], - "'LOAD-TABLE": [ - -1, - 932 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COLON": [ - -1, - 934 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 752 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - -1, - 936 - ], - "'END": [ - -1, - 936 - ], - "'STRING": [ - -1, - 936 - ], - "'TYPE": [ - -1, - 936 - ], - "'DATA": [ - -1, - 936 - ], - "'PARENSPACE": [ - -1, - 936 - ], - "'SPY": [ - -1, - 936 - ], - "'NEWTYPE": [ - -1, - 936 - ], - "'LBRACE": [ - -1, - 936 - ], - "'SHADOW": [ - -1, - 936 - ], - "'LET": [ - -1, - 936 - ], - "'BLOCK": [ - -1, - 936 - ], - "'LETREC": [ - -1, - 936 - ], - "'TYPE-LET": [ - -1, - 936 - ], - "'FUN": [ - -1, - 936 - ], - "'PARENAFTERBRACE": [ - -1, - 936 - ], - "'DOC": [ - -1, - 936 - ], - "'WHERE": [ - -1, - 936 - ], - "'CHECK": [ - -1, - 936 - ], - "'EXAMPLES": [ - -1, - 936 - ], - "'CHECKCOLON": [ - -1, - 936 - ], - "'EXAMPLESCOLON": [ - -1, - 936 - ], - "'VAR": [ - -1, - 936 - ], - "'REC": [ - -1, - 936 - ], - "'WHEN": [ - -1, - 936 - ], - "'DOTDOTDOT": [ - -1, - 936 - ], - "'NUMBER": [ - -1, - 936 - ], - "'RATIONAL": [ - -1, - 936 - ], - "'ROUGHRATIONAL": [ - -1, - 936 - ], - "'TRUE": [ - -1, - 936 - ], - "'FALSE": [ - -1, - 936 - ], - "'LAM": [ - -1, - 936 - ], - "'METHOD": [ - -1, - 936 - ], - "'LBRACK": [ - -1, - 936 - ], - "'TABLE": [ - -1, - 936 - ], - "'REACTOR": [ - -1, - 936 - ], - "'IF": [ - -1, - 936 - ], - "'ASK": [ - -1, - 936 - ], - "'CASES": [ - -1, - 936 - ], - "'FOR": [ - -1, - 936 - ], - "'TABLE-SELECT": [ - -1, - 936 - ], - "'TABLE-FILTER": [ - -1, - 936 - ], - "'TABLE-ORDER": [ - -1, - 936 - ], - "'TABLE-EXTRACT": [ - -1, - 936 - ], - "'TABLE-UPDATE": [ - -1, - 936 - ], - "'TABLE-EXTEND": [ - -1, - 936 - ], - "'LOAD-TABLE": [ - -1, - 936 - ] - }, - { - "'NAME": [ - -1, - 938 - ], - "'END": [ - -1, - 938 - ], - "'STRING": [ - -1, - 938 - ], - "'TYPE": [ - -1, - 938 - ], - "'DATA": [ - -1, - 938 - ], - "'PARENSPACE": [ - -1, - 938 - ], - "'SPY": [ - -1, - 938 - ], - "'NEWTYPE": [ - -1, - 938 - ], - "'LBRACE": [ - -1, - 938 - ], - "'SHADOW": [ - -1, - 938 - ], - "'LET": [ - -1, - 938 - ], - "'BLOCK": [ - -1, - 938 - ], - "'LETREC": [ - -1, - 938 - ], - "'TYPE-LET": [ - -1, - 938 - ], - "'FUN": [ - -1, - 938 - ], - "'PARENAFTERBRACE": [ - -1, - 938 - ], - "'DOC": [ - -1, - 938 - ], - "'WHERE": [ - -1, - 938 - ], - "'CHECK": [ - -1, - 938 - ], - "'EXAMPLES": [ - -1, - 938 - ], - "'CHECKCOLON": [ - -1, - 938 - ], - "'EXAMPLESCOLON": [ - -1, - 938 - ], - "'VAR": [ - -1, - 938 - ], - "'REC": [ - -1, - 938 - ], - "'WHEN": [ - -1, - 938 - ], - "'DOTDOTDOT": [ - -1, - 938 - ], - "'NUMBER": [ - -1, - 938 - ], - "'RATIONAL": [ - -1, - 938 - ], - "'ROUGHRATIONAL": [ - -1, - 938 - ], - "'TRUE": [ - -1, - 938 - ], - "'FALSE": [ - -1, - 938 - ], - "'LAM": [ - -1, - 938 - ], - "'METHOD": [ - -1, - 938 - ], - "'LBRACK": [ - -1, - 938 - ], - "'TABLE": [ - -1, - 938 - ], - "'REACTOR": [ - -1, - 938 - ], - "'IF": [ - -1, - 938 - ], - "'ASK": [ - -1, - 938 - ], - "'CASES": [ - -1, - 938 - ], - "'FOR": [ - -1, - 938 - ], - "'TABLE-SELECT": [ - -1, - 938 - ], - "'TABLE-FILTER": [ - -1, - 938 - ], - "'TABLE-ORDER": [ - -1, - 938 - ], - "'TABLE-EXTRACT": [ - -1, - 938 - ], - "'TABLE-UPDATE": [ - -1, - 938 - ], - "'TABLE-EXTEND": [ - -1, - 938 - ], - "'LOAD-TABLE": [ - -1, - 938 - ] - }, - { - "doc-string": [ - 753 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'END": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "'NAME": [ - 291 - ], - "key": [ - 293 - ] - }, - { - "'END": [ - -1, - 940 - ], - "'COMMA": [ - -1, - 940 - ], - "'RBRACE": [ - -1, - 940 - ] - }, - { - "'COLON": [ - -1, - 942 - ], - "'COMMA": [ - -1, - 942 - ], - "'BLOCK": [ - -1, - 942 - ] - }, - { - "'END": [ - 754 - ] - }, - { - "'COLON": [ - -1, - 944 - ], - "'COMMA": [ - -1, - 944 - ], - "'BLOCK": [ - -1, - 944 - ] - }, - { - "'END": [ - 755 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COLON": [ - -1, - 946 - ], - "'COMMA": [ - -1, - 946 - ], - "'BLOCK": [ - -1, - 946 - ] - }, - { - "'COLON": [ - -1, - 948 - ], - "'COMMA": [ - -1, - 948 - ], - "'BLOCK": [ - -1, - 948 - ] - }, - { - "'COLON": [ - -1, - 950 - ], - "'COMMA": [ - -1, - 950 - ], - "'BLOCK": [ - -1, - 950 - ] - }, - { - "'END": [ - 756 - ] - }, - { - "block": [ - 757 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 952 - ], - "'NAME": [ - -1, - 952 - ], - "'END": [ - -1, - 952 - ], - "'STRING": [ - -1, - 952 - ], - "'TYPE": [ - -1, - 952 - ], - "'DATA": [ - -1, - 952 - ], - "'PARENSPACE": [ - -1, - 952 - ], - "'SPY": [ - -1, - 952 - ], - "'NEWTYPE": [ - -1, - 952 - ], - "'LBRACE": [ - -1, - 952 - ], - "'RBRACE": [ - -1, - 952 - ], - "'SHADOW": [ - -1, - 952 - ], - "'LET": [ - -1, - 952 - ], - "'BLOCK": [ - -1, - 952 - ], - "'LETREC": [ - -1, - 952 - ], - "'TYPE-LET": [ - -1, - 952 - ], - "'FUN": [ - -1, - 952 - ], - "'PARENAFTERBRACE": [ - -1, - 952 - ], - "'WHERE": [ - -1, - 952 - ], - "'CHECK": [ - -1, - 952 - ], - "'EXAMPLES": [ - -1, - 952 - ], - "'CHECKCOLON": [ - -1, - 952 - ], - "'EXAMPLESCOLON": [ - -1, - 952 - ], - "'BAR": [ - -1, - 952 - ], - "'VAR": [ - -1, - 952 - ], - "'REC": [ - -1, - 952 - ], - "'WHEN": [ - -1, - 952 - ], - "'DOTDOTDOT": [ - -1, - 952 - ], - "'NUMBER": [ - -1, - 952 - ], - "'RATIONAL": [ - -1, - 952 - ], - "'ROUGHRATIONAL": [ - -1, - 952 - ], - "'TRUE": [ - -1, - 952 - ], - "'FALSE": [ - -1, - 952 - ], - "'LAM": [ - -1, - 952 - ], - "'METHOD": [ - -1, - 952 - ], - "'LBRACK": [ - -1, - 952 - ], - "'TABLE": [ - -1, - 952 - ], - "'REACTOR": [ - -1, - 952 - ], - "'IF": [ - -1, - 952 - ], - "'ELSECOLON": [ - -1, - 952 - ], - "'ELSEIF": [ - -1, - 952 - ], - "'ASK": [ - -1, - 952 - ], - "'CASES": [ - -1, - 952 - ], - "'FOR": [ - -1, - 952 - ], - "'TABLE-SELECT": [ - -1, - 952 - ], - "'TABLE-FILTER": [ - -1, - 952 - ], - "'TABLE-ORDER": [ - -1, - 952 - ], - "'TABLE-EXTRACT": [ - -1, - 952 - ], - "'TABLE-UPDATE": [ - -1, - 952 - ], - "'TABLE-EXTEND": [ - -1, - 952 - ], - "'LOAD-TABLE": [ - -1, - 952 - ] - }, - { - "$": [ - -1, - 954 - ], - "'NAME": [ - -1, - 954 - ], - "'END": [ - -1, - 954 - ], - "'STRING": [ - -1, - 954 - ], - "'TYPE": [ - -1, - 954 - ], - "'DATA": [ - -1, - 954 - ], - "'PARENSPACE": [ - -1, - 954 - ], - "'SPY": [ - -1, - 954 - ], - "'NEWTYPE": [ - -1, - 954 - ], - "'LBRACE": [ - -1, - 954 - ], - "'RBRACE": [ - -1, - 954 - ], - "'SHADOW": [ - -1, - 954 - ], - "'LET": [ - -1, - 954 - ], - "'BLOCK": [ - -1, - 954 - ], - "'LETREC": [ - -1, - 954 - ], - "'TYPE-LET": [ - -1, - 954 - ], - "'FUN": [ - -1, - 954 - ], - "'PARENAFTERBRACE": [ - -1, - 954 - ], - "'WHERE": [ - -1, - 954 - ], - "'CHECK": [ - -1, - 954 - ], - "'EXAMPLES": [ - -1, - 954 - ], - "'CHECKCOLON": [ - -1, - 954 - ], - "'EXAMPLESCOLON": [ - -1, - 954 - ], - "'BAR": [ - -1, - 954 - ], - "'VAR": [ - -1, - 954 - ], - "'REC": [ - -1, - 954 - ], - "'WHEN": [ - -1, - 954 - ], - "'DOTDOTDOT": [ - -1, - 954 - ], - "'NUMBER": [ - -1, - 954 - ], - "'RATIONAL": [ - -1, - 954 - ], - "'ROUGHRATIONAL": [ - -1, - 954 - ], - "'TRUE": [ - -1, - 954 - ], - "'FALSE": [ - -1, - 954 - ], - "'LAM": [ - -1, - 954 - ], - "'METHOD": [ - -1, - 954 - ], - "'LBRACK": [ - -1, - 954 - ], - "'TABLE": [ - -1, - 954 - ], - "'REACTOR": [ - -1, - 954 - ], - "'IF": [ - -1, - 954 - ], - "'ELSECOLON": [ - -1, - 954 - ], - "'ELSEIF": [ - -1, - 954 - ], - "'ASK": [ - -1, - 954 - ], - "'CASES": [ - -1, - 954 - ], - "'FOR": [ - -1, - 954 - ], - "'TABLE-SELECT": [ - -1, - 954 - ], - "'TABLE-FILTER": [ - -1, - 954 - ], - "'TABLE-ORDER": [ - -1, - 954 - ], - "'TABLE-EXTRACT": [ - -1, - 954 - ], - "'TABLE-UPDATE": [ - -1, - 954 - ], - "'TABLE-EXTEND": [ - -1, - 954 - ], - "'LOAD-TABLE": [ - -1, - 954 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 758 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COMMA": [ - -1, - 956 - ], - "'RPAREN": [ - -1, - 956 - ], - "'RBRACK": [ - -1, - 956 - ] - }, - { - "app-expr_A2_I5*": [ - 759 - ], - "'COMMA": [ - -1, - 958 - ], - "'RPAREN": [ - -1, - 958 - ] - }, - { - "$": [ - -1, - 960 - ], - "'NAME": [ - -1, - 960 - ], - "'COLON": [ - -1, - 960 - ], - "'END": [ - -1, - 960 - ], - "'COMMA": [ - -1, - 960 - ], - "'PARENNOSPACE": [ - -1, - 960 - ], - "'STRING": [ - -1, - 960 - ], - "'RPAREN": [ - -1, - 960 - ], - "'TYPE": [ - -1, - 960 - ], - "'DATA": [ - -1, - 960 - ], - "'TIMES": [ - -1, - 960 - ], - "'PARENSPACE": [ - -1, - 960 - ], - "'DOT": [ - -1, - 960 - ], - "'SPY": [ - -1, - 960 - ], - "'NEWTYPE": [ - -1, - 960 - ], - "'LBRACE": [ - -1, - 960 - ], - "'RBRACE": [ - -1, - 960 - ], - "'SEMI": [ - -1, - 960 - ], - "'SHADOW": [ - -1, - 960 - ], - "'LET": [ - -1, - 960 - ], - "'BLOCK": [ - -1, - 960 - ], - "'LETREC": [ - -1, - 960 - ], - "'TYPE-LET": [ - -1, - 960 - ], - "'FUN": [ - -1, - 960 - ], - "'LANGLE": [ - -1, - 960 - ], - "'LT": [ - -1, - 960 - ], - "'GT": [ - -1, - 960 - ], - "'PARENAFTERBRACE": [ - -1, - 960 - ], - "'WHERE": [ - -1, - 960 - ], - "'CHECK": [ - -1, - 960 - ], - "'EXAMPLES": [ - -1, - 960 - ], - "'CHECKCOLON": [ - -1, - 960 - ], - "'EXAMPLESCOLON": [ - -1, - 960 - ], - "'BECAUSE": [ - -1, - 960 - ], - "'BAR": [ - -1, - 960 - ], - "'SHARING": [ - -1, - 960 - ], - "'VAR": [ - -1, - 960 - ], - "'REC": [ - -1, - 960 - ], - "'WHEN": [ - -1, - 960 - ], - "'PLUS": [ - -1, - 960 - ], - "'DASH": [ - -1, - 960 - ], - "'SLASH": [ - -1, - 960 - ], - "'LEQ": [ - -1, - 960 - ], - "'GEQ": [ - -1, - 960 - ], - "'EQUALEQUAL": [ - -1, - 960 - ], - "'SPACESHIP": [ - -1, - 960 - ], - "'EQUALTILDE": [ - -1, - 960 - ], - "'NEQ": [ - -1, - 960 - ], - "'AND": [ - -1, - 960 - ], - "'OR": [ - -1, - 960 - ], - "'CARET": [ - -1, - 960 - ], - "'IS": [ - -1, - 960 - ], - "'ISEQUALEQUAL": [ - -1, - 960 - ], - "'ISEQUALTILDE": [ - -1, - 960 - ], - "'ISSPACESHIP": [ - -1, - 960 - ], - "'ISROUGHLY": [ - -1, - 960 - ], - "'ISNOT": [ - -1, - 960 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 960 - ], - "'ISNOTEQUALTILDE": [ - -1, - 960 - ], - "'ISNOTSPACESHIP": [ - -1, - 960 - ], - "'RAISES": [ - -1, - 960 - ], - "'RAISESOTHER": [ - -1, - 960 - ], - "'SATISFIES": [ - -1, - 960 - ], - "'SATISFIESNOT": [ - -1, - 960 - ], - "'RAISESSATISFIES": [ - -1, - 960 - ], - "'RAISESVIOLATES": [ - -1, - 960 - ], - "'RAISESNOT": [ - -1, - 960 - ], - "'DOTDOTDOT": [ - -1, - 960 - ], - "'NUMBER": [ - -1, - 960 - ], - "'RATIONAL": [ - -1, - 960 - ], - "'ROUGHRATIONAL": [ - -1, - 960 - ], - "'TRUE": [ - -1, - 960 - ], - "'FALSE": [ - -1, - 960 - ], - "'LAM": [ - -1, - 960 - ], - "'METHOD": [ - -1, - 960 - ], - "'LBRACK": [ - -1, - 960 - ], - "'RBRACK": [ - -1, - 960 - ], - "'TABLE": [ - -1, - 960 - ], - "'ROW": [ - -1, - 960 - ], - "'REACTOR": [ - -1, - 960 - ], - "'BANG": [ - -1, - 960 - ], - "'IF": [ - -1, - 960 - ], - "'ELSECOLON": [ - -1, - 960 - ], - "'ELSEIF": [ - -1, - 960 - ], - "'ASK": [ - -1, - 960 - ], - "'THENCOLON": [ - -1, - 960 - ], - "'CASES": [ - -1, - 960 - ], - "'FOR": [ - -1, - 960 - ], - "'TABLE-SELECT": [ - -1, - 960 - ], - "'TABLE-FILTER": [ - -1, - 960 - ], - "'USING": [ - -1, - 960 - ], - "'TABLE-ORDER": [ - -1, - 960 - ], - "'TABLE-EXTRACT": [ - -1, - 960 - ], - "'TABLE-UPDATE": [ - -1, - 960 - ], - "'TABLE-EXTEND": [ - -1, - 960 - ], - "'OF": [ - -1, - 960 - ], - "'LOAD-TABLE": [ - -1, - 960 - ], - "'SOURCECOLON": [ - -1, - 960 - ], - "'SANITIZE": [ - -1, - 960 - ] - }, - { - "$": [ - -1, - 962 - ], - "'NAME": [ - -1, - 962 - ], - "'COLON": [ - -1, - 962 - ], - "'END": [ - -1, - 962 - ], - "'COMMA": [ - -1, - 962 - ], - "'PARENNOSPACE": [ - -1, - 962 - ], - "'STRING": [ - -1, - 962 - ], - "'RPAREN": [ - -1, - 962 - ], - "'TYPE": [ - -1, - 962 - ], - "'DATA": [ - -1, - 962 - ], - "'TIMES": [ - -1, - 962 - ], - "'PARENSPACE": [ - -1, - 962 - ], - "'DOT": [ - -1, - 962 - ], - "'SPY": [ - -1, - 962 - ], - "'NEWTYPE": [ - -1, - 962 - ], - "'LBRACE": [ - -1, - 962 - ], - "'RBRACE": [ - -1, - 962 - ], - "'SEMI": [ - -1, - 962 - ], - "'SHADOW": [ - -1, - 962 - ], - "'LET": [ - -1, - 962 - ], - "'BLOCK": [ - -1, - 962 - ], - "'LETREC": [ - -1, - 962 - ], - "'TYPE-LET": [ - -1, - 962 - ], - "'FUN": [ - -1, - 962 - ], - "'LANGLE": [ - -1, - 962 - ], - "'LT": [ - -1, - 962 - ], - "'GT": [ - -1, - 962 - ], - "'PARENAFTERBRACE": [ - -1, - 962 - ], - "'WHERE": [ - -1, - 962 - ], - "'CHECK": [ - -1, - 962 - ], - "'EXAMPLES": [ - -1, - 962 - ], - "'CHECKCOLON": [ - -1, - 962 - ], - "'EXAMPLESCOLON": [ - -1, - 962 - ], - "'BECAUSE": [ - -1, - 962 - ], - "'BAR": [ - -1, - 962 - ], - "'SHARING": [ - -1, - 962 - ], - "'VAR": [ - -1, - 962 - ], - "'REC": [ - -1, - 962 - ], - "'WHEN": [ - -1, - 962 - ], - "'PLUS": [ - -1, - 962 - ], - "'DASH": [ - -1, - 962 - ], - "'SLASH": [ - -1, - 962 - ], - "'LEQ": [ - -1, - 962 - ], - "'GEQ": [ - -1, - 962 - ], - "'EQUALEQUAL": [ - -1, - 962 - ], - "'SPACESHIP": [ - -1, - 962 - ], - "'EQUALTILDE": [ - -1, - 962 - ], - "'NEQ": [ - -1, - 962 - ], - "'AND": [ - -1, - 962 - ], - "'OR": [ - -1, - 962 - ], - "'CARET": [ - -1, - 962 - ], - "'IS": [ - -1, - 962 - ], - "'ISEQUALEQUAL": [ - -1, - 962 - ], - "'ISEQUALTILDE": [ - -1, - 962 - ], - "'ISSPACESHIP": [ - -1, - 962 - ], - "'ISROUGHLY": [ - -1, - 962 - ], - "'ISNOT": [ - -1, - 962 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 962 - ], - "'ISNOTEQUALTILDE": [ - -1, - 962 - ], - "'ISNOTSPACESHIP": [ - -1, - 962 - ], - "'RAISES": [ - -1, - 962 - ], - "'RAISESOTHER": [ - -1, - 962 - ], - "'SATISFIES": [ - -1, - 962 - ], - "'SATISFIESNOT": [ - -1, - 962 - ], - "'RAISESSATISFIES": [ - -1, - 962 - ], - "'RAISESVIOLATES": [ - -1, - 962 - ], - "'RAISESNOT": [ - -1, - 962 - ], - "'DOTDOTDOT": [ - -1, - 962 - ], - "'NUMBER": [ - -1, - 962 - ], - "'RATIONAL": [ - -1, - 962 - ], - "'ROUGHRATIONAL": [ - -1, - 962 - ], - "'TRUE": [ - -1, - 962 - ], - "'FALSE": [ - -1, - 962 - ], - "'LAM": [ - -1, - 962 - ], - "'METHOD": [ - -1, - 962 - ], - "'LBRACK": [ - -1, - 962 - ], - "'RBRACK": [ - -1, - 962 - ], - "'TABLE": [ - -1, - 962 - ], - "'ROW": [ - -1, - 962 - ], - "'REACTOR": [ - -1, - 962 - ], - "'BANG": [ - -1, - 962 - ], - "'IF": [ - -1, - 962 - ], - "'ELSECOLON": [ - -1, - 962 - ], - "'ELSEIF": [ - -1, - 962 - ], - "'ASK": [ - -1, - 962 - ], - "'THENCOLON": [ - -1, - 962 - ], - "'CASES": [ - -1, - 962 - ], - "'FOR": [ - -1, - 962 - ], - "'TABLE-SELECT": [ - -1, - 962 - ], - "'TABLE-FILTER": [ - -1, - 962 - ], - "'USING": [ - -1, - 962 - ], - "'TABLE-ORDER": [ - -1, - 962 - ], - "'TABLE-EXTRACT": [ - -1, - 962 - ], - "'TABLE-UPDATE": [ - -1, - 962 - ], - "'TABLE-EXTEND": [ - -1, - 962 - ], - "'OF": [ - -1, - 962 - ], - "'LOAD-TABLE": [ - -1, - 962 - ], - "'SOURCECOLON": [ - -1, - 962 - ], - "'SANITIZE": [ - -1, - 962 - ] - }, - { - "$": [ - -1, - 964 - ], - "'NAME": [ - -1, - 964 - ], - "'FROM": [ - -1, - 964 - ], - "'COLON": [ - -1, - 964 - ], - "'END": [ - -1, - 964 - ], - "'COMMA": [ - -1, - 964 - ], - "'STRING": [ - -1, - 964 - ], - "'RPAREN": [ - -1, - 964 - ], - "'TYPE": [ - -1, - 964 - ], - "'DATA": [ - -1, - 964 - ], - "'PARENSPACE": [ - -1, - 964 - ], - "'SPY": [ - -1, - 964 - ], - "'EQUALS": [ - -1, - 964 - ], - "'NEWTYPE": [ - -1, - 964 - ], - "'LBRACE": [ - -1, - 964 - ], - "'RBRACE": [ - -1, - 964 - ], - "'SEMI": [ - -1, - 964 - ], - "'SHADOW": [ - -1, - 964 - ], - "'LET": [ - -1, - 964 - ], - "'BLOCK": [ - -1, - 964 - ], - "'LETREC": [ - -1, - 964 - ], - "'TYPE-LET": [ - -1, - 964 - ], - "'FUN": [ - -1, - 964 - ], - "'LANGLE": [ - -1, - 964 - ], - "'RANGLE": [ - -1, - 964 - ], - "'GT": [ - -1, - 964 - ], - "'PARENAFTERBRACE": [ - -1, - 964 - ], - "'THINARROW": [ - -1, - 964 - ], - "'WHERE": [ - -1, - 964 - ], - "'CHECK": [ - -1, - 964 - ], - "'EXAMPLES": [ - -1, - 964 - ], - "'CHECKCOLON": [ - -1, - 964 - ], - "'EXAMPLESCOLON": [ - -1, - 964 - ], - "'PERCENT": [ - -1, - 964 - ], - "'BAR": [ - -1, - 964 - ], - "'VAR": [ - -1, - 964 - ], - "'REC": [ - -1, - 964 - ], - "'WHEN": [ - -1, - 964 - ], - "'DOTDOTDOT": [ - -1, - 964 - ], - "'NUMBER": [ - -1, - 964 - ], - "'RATIONAL": [ - -1, - 964 - ], - "'ROUGHRATIONAL": [ - -1, - 964 - ], - "'TRUE": [ - -1, - 964 - ], - "'FALSE": [ - -1, - 964 - ], - "'LAM": [ - -1, - 964 - ], - "'METHOD": [ - -1, - 964 - ], - "'LBRACK": [ - -1, - 964 - ], - "'TABLE": [ - -1, - 964 - ], - "'ROW": [ - -1, - 964 - ], - "'REACTOR": [ - -1, - 964 - ], - "'IF": [ - -1, - 964 - ], - "'ELSECOLON": [ - -1, - 964 - ], - "'ELSEIF": [ - -1, - 964 - ], - "'ASK": [ - -1, - 964 - ], - "'CASES": [ - -1, - 964 - ], - "'FOR": [ - -1, - 964 - ], - "'TABLE-SELECT": [ - -1, - 964 - ], - "'TABLE-FILTER": [ - -1, - 964 - ], - "'TABLE-ORDER": [ - -1, - 964 - ], - "'TABLE-EXTRACT": [ - -1, - 964 - ], - "'TABLE-UPDATE": [ - -1, - 964 - ], - "'TABLE-EXTEND": [ - -1, - 964 - ], - "'LOAD-TABLE": [ - -1, - 964 - ], - "'SOURCECOLON": [ - -1, - 964 - ], - "'SANITIZE": [ - -1, - 964 - ] - }, - { - "'NAME": [ - -1, - 966 - ] - }, - { - "'NAME": [ - -1, - 968 - ] - }, - { - "'NAME": [ - 139 - ], - "id-expr": [ - 760 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 761 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "$": [ - -1, - 970 - ], - "'NAME": [ - -1, - 970 - ], - "'COLON": [ - -1, - 970 - ], - "'END": [ - -1, - 970 - ], - "'COMMA": [ - -1, - 970 - ], - "'PARENNOSPACE": [ - -1, - 970 - ], - "'STRING": [ - -1, - 970 - ], - "'RPAREN": [ - -1, - 970 - ], - "'TYPE": [ - -1, - 970 - ], - "'DATA": [ - -1, - 970 - ], - "'TIMES": [ - -1, - 970 - ], - "'PARENSPACE": [ - -1, - 970 - ], - "'DOT": [ - -1, - 970 - ], - "'SPY": [ - -1, - 970 - ], - "'NEWTYPE": [ - -1, - 970 - ], - "'LBRACE": [ - -1, - 970 - ], - "'RBRACE": [ - -1, - 970 - ], - "'SEMI": [ - -1, - 970 - ], - "'SHADOW": [ - -1, - 970 - ], - "'LET": [ - -1, - 970 - ], - "'BLOCK": [ - -1, - 970 - ], - "'LETREC": [ - -1, - 970 - ], - "'TYPE-LET": [ - -1, - 970 - ], - "'FUN": [ - -1, - 970 - ], - "'LANGLE": [ - -1, - 970 - ], - "'LT": [ - -1, - 970 - ], - "'GT": [ - -1, - 970 - ], - "'PARENAFTERBRACE": [ - -1, - 970 - ], - "'WHERE": [ - -1, - 970 - ], - "'CHECK": [ - -1, - 970 - ], - "'EXAMPLES": [ - -1, - 970 - ], - "'CHECKCOLON": [ - -1, - 970 - ], - "'EXAMPLESCOLON": [ - -1, - 970 - ], - "'BECAUSE": [ - -1, - 970 - ], - "'BAR": [ - -1, - 970 - ], - "'SHARING": [ - -1, - 970 - ], - "'VAR": [ - -1, - 970 - ], - "'REC": [ - -1, - 970 - ], - "'WHEN": [ - -1, - 970 - ], - "'PLUS": [ - -1, - 970 - ], - "'DASH": [ - -1, - 970 - ], - "'SLASH": [ - -1, - 970 - ], - "'LEQ": [ - -1, - 970 - ], - "'GEQ": [ - -1, - 970 - ], - "'EQUALEQUAL": [ - -1, - 970 - ], - "'SPACESHIP": [ - -1, - 970 - ], - "'EQUALTILDE": [ - -1, - 970 - ], - "'NEQ": [ - -1, - 970 - ], - "'AND": [ - -1, - 970 - ], - "'OR": [ - -1, - 970 - ], - "'CARET": [ - -1, - 970 - ], - "'IS": [ - -1, - 970 - ], - "'ISEQUALEQUAL": [ - -1, - 970 - ], - "'ISEQUALTILDE": [ - -1, - 970 - ], - "'ISSPACESHIP": [ - -1, - 970 - ], - "'ISROUGHLY": [ - -1, - 970 - ], - "'ISNOT": [ - -1, - 970 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 970 - ], - "'ISNOTEQUALTILDE": [ - -1, - 970 - ], - "'ISNOTSPACESHIP": [ - -1, - 970 - ], - "'RAISES": [ - -1, - 970 - ], - "'RAISESOTHER": [ - -1, - 970 - ], - "'SATISFIES": [ - -1, - 970 - ], - "'SATISFIESNOT": [ - -1, - 970 - ], - "'RAISESSATISFIES": [ - -1, - 970 - ], - "'RAISESVIOLATES": [ - -1, - 970 - ], - "'RAISESNOT": [ - -1, - 970 - ], - "'DOTDOTDOT": [ - -1, - 970 - ], - "'NUMBER": [ - -1, - 970 - ], - "'RATIONAL": [ - -1, - 970 - ], - "'ROUGHRATIONAL": [ - -1, - 970 - ], - "'TRUE": [ - -1, - 970 - ], - "'FALSE": [ - -1, - 970 - ], - "'LAM": [ - -1, - 970 - ], - "'METHOD": [ - -1, - 970 - ], - "'LBRACK": [ - -1, - 970 - ], - "'RBRACK": [ - -1, - 970 - ], - "'TABLE": [ - -1, - 970 - ], - "'ROW": [ - -1, - 970 - ], - "'REACTOR": [ - -1, - 970 - ], - "'BANG": [ - -1, - 970 - ], - "'IF": [ - -1, - 970 - ], - "'ELSECOLON": [ - -1, - 970 - ], - "'ELSEIF": [ - -1, - 970 - ], - "'ASK": [ - -1, - 970 - ], - "'THENCOLON": [ - -1, - 970 - ], - "'CASES": [ - -1, - 970 - ], - "'FOR": [ - -1, - 970 - ], - "'TABLE-SELECT": [ - -1, - 970 - ], - "'TABLE-FILTER": [ - -1, - 970 - ], - "'USING": [ - -1, - 970 - ], - "'TABLE-ORDER": [ - -1, - 970 - ], - "'TABLE-EXTRACT": [ - -1, - 970 - ], - "'TABLE-UPDATE": [ - -1, - 970 - ], - "'TABLE-EXTEND": [ - -1, - 970 - ], - "'OF": [ - -1, - 970 - ], - "'LOAD-TABLE": [ - -1, - 970 - ], - "'SOURCECOLON": [ - -1, - 970 - ], - "'SANITIZE": [ - -1, - 970 - ] - }, - { - "$": [ - -1, - 972 - ], - "'NAME": [ - -1, - 972 - ], - "'COLON": [ - -1, - 972 - ], - "'END": [ - -1, - 972 - ], - "'COMMA": [ - -1, - 972 - ], - "'PARENNOSPACE": [ - -1, - 972 - ], - "'STRING": [ - -1, - 972 - ], - "'RPAREN": [ - -1, - 972 - ], - "'TYPE": [ - -1, - 972 - ], - "'DATA": [ - -1, - 972 - ], - "'TIMES": [ - -1, - 972 - ], - "'PARENSPACE": [ - -1, - 972 - ], - "'DOT": [ - -1, - 972 - ], - "'SPY": [ - -1, - 972 - ], - "'NEWTYPE": [ - -1, - 972 - ], - "'LBRACE": [ - -1, - 972 - ], - "'RBRACE": [ - -1, - 972 - ], - "'SEMI": [ - -1, - 972 - ], - "'SHADOW": [ - -1, - 972 - ], - "'LET": [ - -1, - 972 - ], - "'BLOCK": [ - -1, - 972 - ], - "'LETREC": [ - -1, - 972 - ], - "'TYPE-LET": [ - -1, - 972 - ], - "'FUN": [ - -1, - 972 - ], - "'LANGLE": [ - -1, - 972 - ], - "'LT": [ - -1, - 972 - ], - "'GT": [ - -1, - 972 - ], - "'PARENAFTERBRACE": [ - -1, - 972 - ], - "'WHERE": [ - -1, - 972 - ], - "'CHECK": [ - -1, - 972 - ], - "'EXAMPLES": [ - -1, - 972 - ], - "'CHECKCOLON": [ - -1, - 972 - ], - "'EXAMPLESCOLON": [ - -1, - 972 - ], - "'BECAUSE": [ - -1, - 972 - ], - "'BAR": [ - -1, - 972 - ], - "'SHARING": [ - -1, - 972 - ], - "'VAR": [ - -1, - 972 - ], - "'REC": [ - -1, - 972 - ], - "'WHEN": [ - -1, - 972 - ], - "'PLUS": [ - -1, - 972 - ], - "'DASH": [ - -1, - 972 - ], - "'SLASH": [ - -1, - 972 - ], - "'LEQ": [ - -1, - 972 - ], - "'GEQ": [ - -1, - 972 - ], - "'EQUALEQUAL": [ - -1, - 972 - ], - "'SPACESHIP": [ - -1, - 972 - ], - "'EQUALTILDE": [ - -1, - 972 - ], - "'NEQ": [ - -1, - 972 - ], - "'AND": [ - -1, - 972 - ], - "'OR": [ - -1, - 972 - ], - "'CARET": [ - -1, - 972 - ], - "'IS": [ - -1, - 972 - ], - "'ISEQUALEQUAL": [ - -1, - 972 - ], - "'ISEQUALTILDE": [ - -1, - 972 - ], - "'ISSPACESHIP": [ - -1, - 972 - ], - "'ISROUGHLY": [ - -1, - 972 - ], - "'ISNOT": [ - -1, - 972 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 972 - ], - "'ISNOTEQUALTILDE": [ - -1, - 972 - ], - "'ISNOTSPACESHIP": [ - -1, - 972 - ], - "'RAISES": [ - -1, - 972 - ], - "'RAISESOTHER": [ - -1, - 972 - ], - "'SATISFIES": [ - -1, - 972 - ], - "'SATISFIESNOT": [ - -1, - 972 - ], - "'RAISESSATISFIES": [ - -1, - 972 - ], - "'RAISESVIOLATES": [ - -1, - 972 - ], - "'RAISESNOT": [ - -1, - 972 - ], - "'DOTDOTDOT": [ - -1, - 972 - ], - "'NUMBER": [ - -1, - 972 - ], - "'RATIONAL": [ - -1, - 972 - ], - "'ROUGHRATIONAL": [ - -1, - 972 - ], - "'TRUE": [ - -1, - 972 - ], - "'FALSE": [ - -1, - 972 - ], - "'LAM": [ - -1, - 972 - ], - "'METHOD": [ - -1, - 972 - ], - "'LBRACK": [ - -1, - 972 - ], - "'RBRACK": [ - -1, - 972 - ], - "'TABLE": [ - -1, - 972 - ], - "'ROW": [ - -1, - 972 - ], - "'REACTOR": [ - -1, - 972 - ], - "'BANG": [ - -1, - 972 - ], - "'IF": [ - -1, - 972 - ], - "'ELSECOLON": [ - -1, - 972 - ], - "'ELSEIF": [ - -1, - 972 - ], - "'ASK": [ - -1, - 972 - ], - "'THENCOLON": [ - -1, - 972 - ], - "'CASES": [ - -1, - 972 - ], - "'FOR": [ - -1, - 972 - ], - "'TABLE-SELECT": [ - -1, - 972 - ], - "'TABLE-FILTER": [ - -1, - 972 - ], - "'USING": [ - -1, - 972 - ], - "'TABLE-ORDER": [ - -1, - 972 - ], - "'TABLE-EXTRACT": [ - -1, - 972 - ], - "'TABLE-UPDATE": [ - -1, - 972 - ], - "'TABLE-EXTEND": [ - -1, - 972 - ], - "'OF": [ - -1, - 972 - ], - "'LOAD-TABLE": [ - -1, - 972 - ], - "'SOURCECOLON": [ - -1, - 972 - ], - "'SANITIZE": [ - -1, - 972 - ] - }, - { - "$": [ - -1, - 974 - ], - "'NAME": [ - -1, - 974 - ], - "'COLON": [ - -1, - 974 - ], - "'END": [ - -1, - 974 - ], - "'COMMA": [ - -1, - 974 - ], - "'PARENNOSPACE": [ - -1, - 974 - ], - "'STRING": [ - -1, - 974 - ], - "'RPAREN": [ - -1, - 974 - ], - "'TYPE": [ - -1, - 974 - ], - "'DATA": [ - -1, - 974 - ], - "'TIMES": [ - -1, - 974 - ], - "'PARENSPACE": [ - -1, - 974 - ], - "'DOT": [ - -1, - 974 - ], - "'SPY": [ - -1, - 974 - ], - "'NEWTYPE": [ - -1, - 974 - ], - "'LBRACE": [ - -1, - 974 - ], - "'RBRACE": [ - -1, - 974 - ], - "'SEMI": [ - -1, - 974 - ], - "'SHADOW": [ - -1, - 974 - ], - "'LET": [ - -1, - 974 - ], - "'BLOCK": [ - -1, - 974 - ], - "'LETREC": [ - -1, - 974 - ], - "'TYPE-LET": [ - -1, - 974 - ], - "'FUN": [ - -1, - 974 - ], - "'LANGLE": [ - -1, - 974 - ], - "'LT": [ - -1, - 974 - ], - "'GT": [ - -1, - 974 - ], - "'PARENAFTERBRACE": [ - -1, - 974 - ], - "'WHERE": [ - -1, - 974 - ], - "'CHECK": [ - -1, - 974 - ], - "'EXAMPLES": [ - -1, - 974 - ], - "'CHECKCOLON": [ - -1, - 974 - ], - "'EXAMPLESCOLON": [ - -1, - 974 - ], - "'BECAUSE": [ - -1, - 974 - ], - "'BAR": [ - -1, - 974 - ], - "'SHARING": [ - -1, - 974 - ], - "'VAR": [ - -1, - 974 - ], - "'REC": [ - -1, - 974 - ], - "'WHEN": [ - -1, - 974 - ], - "'PLUS": [ - -1, - 974 - ], - "'DASH": [ - -1, - 974 - ], - "'SLASH": [ - -1, - 974 - ], - "'LEQ": [ - -1, - 974 - ], - "'GEQ": [ - -1, - 974 - ], - "'EQUALEQUAL": [ - -1, - 974 - ], - "'SPACESHIP": [ - -1, - 974 - ], - "'EQUALTILDE": [ - -1, - 974 - ], - "'NEQ": [ - -1, - 974 - ], - "'AND": [ - -1, - 974 - ], - "'OR": [ - -1, - 974 - ], - "'CARET": [ - -1, - 974 - ], - "'IS": [ - -1, - 974 - ], - "'ISEQUALEQUAL": [ - -1, - 974 - ], - "'ISEQUALTILDE": [ - -1, - 974 - ], - "'ISSPACESHIP": [ - -1, - 974 - ], - "'ISROUGHLY": [ - -1, - 974 - ], - "'ISNOT": [ - -1, - 974 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 974 - ], - "'ISNOTEQUALTILDE": [ - -1, - 974 - ], - "'ISNOTSPACESHIP": [ - -1, - 974 - ], - "'RAISES": [ - -1, - 974 - ], - "'RAISESOTHER": [ - -1, - 974 - ], - "'SATISFIES": [ - -1, - 974 - ], - "'SATISFIESNOT": [ - -1, - 974 - ], - "'RAISESSATISFIES": [ - -1, - 974 - ], - "'RAISESVIOLATES": [ - -1, - 974 - ], - "'RAISESNOT": [ - -1, - 974 - ], - "'DOTDOTDOT": [ - -1, - 974 - ], - "'NUMBER": [ - -1, - 974 - ], - "'RATIONAL": [ - -1, - 974 - ], - "'ROUGHRATIONAL": [ - -1, - 974 - ], - "'TRUE": [ - -1, - 974 - ], - "'FALSE": [ - -1, - 974 - ], - "'LAM": [ - -1, - 974 - ], - "'METHOD": [ - -1, - 974 - ], - "'LBRACK": [ - -1, - 974 - ], - "'RBRACK": [ - -1, - 974 - ], - "'TABLE": [ - -1, - 974 - ], - "'ROW": [ - -1, - 974 - ], - "'REACTOR": [ - -1, - 974 - ], - "'BANG": [ - -1, - 974 - ], - "'IF": [ - -1, - 974 - ], - "'ELSECOLON": [ - -1, - 974 - ], - "'ELSEIF": [ - -1, - 974 - ], - "'ASK": [ - -1, - 974 - ], - "'THENCOLON": [ - -1, - 974 - ], - "'CASES": [ - -1, - 974 - ], - "'FOR": [ - -1, - 974 - ], - "'TABLE-SELECT": [ - -1, - 974 - ], - "'TABLE-FILTER": [ - -1, - 974 - ], - "'USING": [ - -1, - 974 - ], - "'TABLE-ORDER": [ - -1, - 974 - ], - "'TABLE-EXTRACT": [ - -1, - 974 - ], - "'TABLE-UPDATE": [ - -1, - 974 - ], - "'TABLE-EXTEND": [ - -1, - 974 - ], - "'OF": [ - -1, - 974 - ], - "'LOAD-TABLE": [ - -1, - 974 - ], - "'SOURCECOLON": [ - -1, - 974 - ], - "'SANITIZE": [ - -1, - 974 - ] - }, - { - "'COMMA": [ - -1, - 976 - ], - "'RANGLE": [ - -1, - 976 - ], - "'GT": [ - -1, - 976 - ] - }, - { - "'SEMI": [ - 762 - ], - "tuple-ann_I3?": [ - 763 - ], - "tuple-ann_I2": [ - 764 - ], - "tuple-ann_I3": [ - 765 - ], - "'RBRACE": [ - -1, - 978 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 766 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'RANGLE": [ - 767 - ], - "'GT": [ - 768 - ], - "app-ann_I3": [ - 769 - ] - }, - { - "$": [ - -1, - 980 - ], - "'NAME": [ - -1, - 980 - ], - "'COLON": [ - -1, - 980 - ], - "'END": [ - -1, - 980 - ], - "'COMMA": [ - -1, - 980 - ], - "'PARENNOSPACE": [ - -1, - 980 - ], - "'STRING": [ - -1, - 980 - ], - "'RPAREN": [ - -1, - 980 - ], - "'TYPE": [ - -1, - 980 - ], - "'DATA": [ - -1, - 980 - ], - "'TIMES": [ - -1, - 980 - ], - "'PARENSPACE": [ - -1, - 980 - ], - "'DOT": [ - -1, - 980 - ], - "'SPY": [ - -1, - 980 - ], - "'NEWTYPE": [ - -1, - 980 - ], - "'LBRACE": [ - -1, - 980 - ], - "'RBRACE": [ - -1, - 980 - ], - "'SEMI": [ - -1, - 980 - ], - "'SHADOW": [ - -1, - 980 - ], - "'LET": [ - -1, - 980 - ], - "'BLOCK": [ - -1, - 980 - ], - "'LETREC": [ - -1, - 980 - ], - "'TYPE-LET": [ - -1, - 980 - ], - "'FUN": [ - -1, - 980 - ], - "'LANGLE": [ - -1, - 980 - ], - "'LT": [ - -1, - 980 - ], - "'GT": [ - -1, - 980 - ], - "'PARENAFTERBRACE": [ - -1, - 980 - ], - "'WHERE": [ - -1, - 980 - ], - "'CHECK": [ - -1, - 980 - ], - "'EXAMPLES": [ - -1, - 980 - ], - "'CHECKCOLON": [ - -1, - 980 - ], - "'EXAMPLESCOLON": [ - -1, - 980 - ], - "'BECAUSE": [ - -1, - 980 - ], - "'BAR": [ - -1, - 980 - ], - "'SHARING": [ - -1, - 980 - ], - "'VAR": [ - -1, - 980 - ], - "'REC": [ - -1, - 980 - ], - "'WHEN": [ - -1, - 980 - ], - "'PLUS": [ - -1, - 980 - ], - "'DASH": [ - -1, - 980 - ], - "'SLASH": [ - -1, - 980 - ], - "'LEQ": [ - -1, - 980 - ], - "'GEQ": [ - -1, - 980 - ], - "'EQUALEQUAL": [ - -1, - 980 - ], - "'SPACESHIP": [ - -1, - 980 - ], - "'EQUALTILDE": [ - -1, - 980 - ], - "'NEQ": [ - -1, - 980 - ], - "'AND": [ - -1, - 980 - ], - "'OR": [ - -1, - 980 - ], - "'CARET": [ - -1, - 980 - ], - "'IS": [ - -1, - 980 - ], - "'ISEQUALEQUAL": [ - -1, - 980 - ], - "'ISEQUALTILDE": [ - -1, - 980 - ], - "'ISSPACESHIP": [ - -1, - 980 - ], - "'ISROUGHLY": [ - -1, - 980 - ], - "'ISNOT": [ - -1, - 980 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 980 - ], - "'ISNOTEQUALTILDE": [ - -1, - 980 - ], - "'ISNOTSPACESHIP": [ - -1, - 980 - ], - "'RAISES": [ - -1, - 980 - ], - "'RAISESOTHER": [ - -1, - 980 - ], - "'SATISFIES": [ - -1, - 980 - ], - "'SATISFIESNOT": [ - -1, - 980 - ], - "'RAISESSATISFIES": [ - -1, - 980 - ], - "'RAISESVIOLATES": [ - -1, - 980 - ], - "'RAISESNOT": [ - -1, - 980 - ], - "'DOTDOTDOT": [ - -1, - 980 - ], - "'NUMBER": [ - -1, - 980 - ], - "'RATIONAL": [ - -1, - 980 - ], - "'ROUGHRATIONAL": [ - -1, - 980 - ], - "'TRUE": [ - -1, - 980 - ], - "'FALSE": [ - -1, - 980 - ], - "'LAM": [ - -1, - 980 - ], - "'METHOD": [ - -1, - 980 - ], - "'LBRACK": [ - -1, - 980 - ], - "'RBRACK": [ - -1, - 980 - ], - "'TABLE": [ - -1, - 980 - ], - "'ROW": [ - -1, - 980 - ], - "'REACTOR": [ - -1, - 980 - ], - "'BANG": [ - -1, - 980 - ], - "'IF": [ - -1, - 980 - ], - "'ELSECOLON": [ - -1, - 980 - ], - "'ELSEIF": [ - -1, - 980 - ], - "'ASK": [ - -1, - 980 - ], - "'THENCOLON": [ - -1, - 980 - ], - "'CASES": [ - -1, - 980 - ], - "'FOR": [ - -1, - 980 - ], - "'TABLE-SELECT": [ - -1, - 980 - ], - "'TABLE-FILTER": [ - -1, - 980 - ], - "'USING": [ - -1, - 980 - ], - "'TABLE-ORDER": [ - -1, - 980 - ], - "'TABLE-EXTRACT": [ - -1, - 980 - ], - "'TABLE-UPDATE": [ - -1, - 980 - ], - "'TABLE-EXTEND": [ - -1, - 980 - ], - "'OF": [ - -1, - 980 - ], - "'LOAD-TABLE": [ - -1, - 980 - ], - "'SOURCECOLON": [ - -1, - 980 - ], - "'SANITIZE": [ - -1, - 980 - ] - }, - { - "where-clause": [ - 770 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "where-clause": [ - 771 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "'COMMA": [ - 772 - ], - "trailing-opt-comma-binops_I0_A0_I1?": [ - 773 - ], - "trailing-opt-comma-binops_I0_A0_I1": [ - 774 - ], - "'RBRACK": [ - -1, - 982, - 984 - ] - }, - { - "'RBRACK": [ - 775 - ] - }, - { - "'RBRACK": [ - -1, - 986 - ] - }, - { - "'END": [ - -1, - 988 - ], - "'ROW": [ - -1, - 988 - ] - }, - { - "'END": [ - -1, - 990 - ], - "'ROW": [ - -1, - 990 - ] - }, - { - "'END": [ - -1, - 992 - ], - "'ROW": [ - -1, - 992 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 776 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "table-items_I0_I0": [ - 777 - ], - "list-table-item": [ - 778 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'END": [ - -1, - 994 - ], - "'COMMA": [ - -1, - 994 - ], - "'ROW": [ - -1, - 994 - ], - "'SOURCECOLON": [ - -1, - 994 - ], - "'SANITIZE": [ - -1, - 994 - ] - }, - { - "'COLON": [ - 779 - ], - "'BLOCK": [ - 780 - ], - "field_A1_I3": [ - 781 - ] - }, - { - "'END": [ - -1, - 996 - ], - "'COMMA": [ - -1, - 996 - ], - "'RBRACE": [ - -1, - 996 - ], - "'WHERE": [ - -1, - 996 - ], - "'BAR": [ - -1, - 996 - ], - "'SHARING": [ - -1, - 996 - ] - }, - { - "'NAME": [ - 291 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 782 - ], - "'END": [ - -1, - 998 - ], - "'RBRACE": [ - -1, - 998 - ], - "'WHERE": [ - -1, - 998 - ], - "'BAR": [ - -1, - 998 - ], - "'SHARING": [ - -1, - 998 - ] - }, - { - "'END": [ - -1, - 1000 - ], - "'RBRACE": [ - -1, - 1000 - ], - "'WHERE": [ - -1, - 1000 - ], - "'BAR": [ - -1, - 1000 - ], - "'SHARING": [ - -1, - 1000 - ] - }, - { - "'END": [ - -1, - 1002 - ], - "'COMMA": [ - -1, - 1002 - ], - "'RBRACE": [ - -1, - 1002 - ], - "'WHERE": [ - -1, - 1002 - ], - "'BAR": [ - -1, - 1002 - ], - "'SHARING": [ - -1, - 1002 - ] - }, - { - "'END": [ - -1, - 1004 - ], - "'RBRACE": [ - -1, - 1004 - ], - "'WHERE": [ - -1, - 1004 - ], - "'BAR": [ - -1, - 1004 - ], - "'SHARING": [ - -1, - 1004 - ] - }, - { - "if-expr_I5?": [ - 783 - ], - "if-expr_I4": [ - 784 - ], - "else-if": [ - 785 - ], - "if-expr_I5": [ - 786 - ], - "'ELSECOLON": [ - 787 - ], - "'ELSEIF": [ - 788 - ], - "'END": [ - -1, - 1006 - ] - }, - { - "'THENCOLON": [ - 789 - ] - }, - { - "block": [ - 790 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1008, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 1010 - ], - "'NAME": [ - -1, - 1010 - ], - "'COLON": [ - -1, - 1010 - ], - "'END": [ - -1, - 1010 - ], - "'COMMA": [ - -1, - 1010 - ], - "'PARENNOSPACE": [ - -1, - 1010 - ], - "'STRING": [ - -1, - 1010 - ], - "'RPAREN": [ - -1, - 1010 - ], - "'TYPE": [ - -1, - 1010 - ], - "'DATA": [ - -1, - 1010 - ], - "'TIMES": [ - -1, - 1010 - ], - "'PARENSPACE": [ - -1, - 1010 - ], - "'DOT": [ - -1, - 1010 - ], - "'SPY": [ - -1, - 1010 - ], - "'NEWTYPE": [ - -1, - 1010 - ], - "'LBRACE": [ - -1, - 1010 - ], - "'RBRACE": [ - -1, - 1010 - ], - "'SEMI": [ - -1, - 1010 - ], - "'SHADOW": [ - -1, - 1010 - ], - "'LET": [ - -1, - 1010 - ], - "'BLOCK": [ - -1, - 1010 - ], - "'LETREC": [ - -1, - 1010 - ], - "'TYPE-LET": [ - -1, - 1010 - ], - "'FUN": [ - -1, - 1010 - ], - "'LANGLE": [ - -1, - 1010 - ], - "'LT": [ - -1, - 1010 - ], - "'GT": [ - -1, - 1010 - ], - "'PARENAFTERBRACE": [ - -1, - 1010 - ], - "'WHERE": [ - -1, - 1010 - ], - "'CHECK": [ - -1, - 1010 - ], - "'EXAMPLES": [ - -1, - 1010 - ], - "'CHECKCOLON": [ - -1, - 1010 - ], - "'EXAMPLESCOLON": [ - -1, - 1010 - ], - "'BECAUSE": [ - -1, - 1010 - ], - "'BAR": [ - -1, - 1010 - ], - "'SHARING": [ - -1, - 1010 - ], - "'VAR": [ - -1, - 1010 - ], - "'REC": [ - -1, - 1010 - ], - "'WHEN": [ - -1, - 1010 - ], - "'PLUS": [ - -1, - 1010 - ], - "'DASH": [ - -1, - 1010 - ], - "'SLASH": [ - -1, - 1010 - ], - "'LEQ": [ - -1, - 1010 - ], - "'GEQ": [ - -1, - 1010 - ], - "'EQUALEQUAL": [ - -1, - 1010 - ], - "'SPACESHIP": [ - -1, - 1010 - ], - "'EQUALTILDE": [ - -1, - 1010 - ], - "'NEQ": [ - -1, - 1010 - ], - "'AND": [ - -1, - 1010 - ], - "'OR": [ - -1, - 1010 - ], - "'CARET": [ - -1, - 1010 - ], - "'IS": [ - -1, - 1010 - ], - "'ISEQUALEQUAL": [ - -1, - 1010 - ], - "'ISEQUALTILDE": [ - -1, - 1010 - ], - "'ISSPACESHIP": [ - -1, - 1010 - ], - "'ISROUGHLY": [ - -1, - 1010 - ], - "'ISNOT": [ - -1, - 1010 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1010 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1010 - ], - "'ISNOTSPACESHIP": [ - -1, - 1010 - ], - "'RAISES": [ - -1, - 1010 - ], - "'RAISESOTHER": [ - -1, - 1010 - ], - "'SATISFIES": [ - -1, - 1010 - ], - "'SATISFIESNOT": [ - -1, - 1010 - ], - "'RAISESSATISFIES": [ - -1, - 1010 - ], - "'RAISESVIOLATES": [ - -1, - 1010 - ], - "'RAISESNOT": [ - -1, - 1010 - ], - "'DOTDOTDOT": [ - -1, - 1010 - ], - "'NUMBER": [ - -1, - 1010 - ], - "'RATIONAL": [ - -1, - 1010 - ], - "'ROUGHRATIONAL": [ - -1, - 1010 - ], - "'TRUE": [ - -1, - 1010 - ], - "'FALSE": [ - -1, - 1010 - ], - "'LAM": [ - -1, - 1010 - ], - "'METHOD": [ - -1, - 1010 - ], - "'LBRACK": [ - -1, - 1010 - ], - "'RBRACK": [ - -1, - 1010 - ], - "'TABLE": [ - -1, - 1010 - ], - "'ROW": [ - -1, - 1010 - ], - "'REACTOR": [ - -1, - 1010 - ], - "'BANG": [ - -1, - 1010 - ], - "'IF": [ - -1, - 1010 - ], - "'ELSECOLON": [ - -1, - 1010 - ], - "'ELSEIF": [ - -1, - 1010 - ], - "'ASK": [ - -1, - 1010 - ], - "'THENCOLON": [ - -1, - 1010 - ], - "'CASES": [ - -1, - 1010 - ], - "'FOR": [ - -1, - 1010 - ], - "'TABLE-SELECT": [ - -1, - 1010 - ], - "'TABLE-FILTER": [ - -1, - 1010 - ], - "'USING": [ - -1, - 1010 - ], - "'TABLE-ORDER": [ - -1, - 1010 - ], - "'TABLE-EXTRACT": [ - -1, - 1010 - ], - "'TABLE-UPDATE": [ - -1, - 1010 - ], - "'TABLE-EXTEND": [ - -1, - 1010 - ], - "'OF": [ - -1, - 1010 - ], - "'LOAD-TABLE": [ - -1, - 1010 - ], - "'SOURCECOLON": [ - -1, - 1010 - ], - "'SANITIZE": [ - -1, - 1010 - ] - }, - { - "'COLON": [ - 791 - ], - "'BLOCK": [ - 792 - ], - "cases-expr_I5": [ - 793 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 794 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'COMMA": [ - 795 - ], - "for-expr_I3_I1": [ - 796 - ], - "'RPAREN": [ - -1, - 1012 - ] - }, - { - "return-ann": [ - 797 - ], - "return-ann_I0?": [ - 459 - ], - "return-ann_I0": [ - 460 - ], - "'THINARROW": [ - 461 - ], - "'COLON": [ - -1, - 412, - 414 - ], - "'BLOCK": [ - -1, - 412, - 414 - ] - }, - { - "'END": [ - 798 - ], - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ] - }, - { - "'FROM": [ - -1, - 1014 - ], - "'COMMA": [ - -1, - 1014 - ] - }, - { - "'END": [ - 799 - ] - }, - { - "'COMMA": [ - 800 - ], - "table-filter_I2_I2": [ - 801 - ], - "'COLON": [ - -1, - 1016 - ] - }, - { - "'END": [ - -1, - 1018 - ], - "'COMMA": [ - -1, - 1018 - ] - }, - { - "'END": [ - -1, - 1020 - ], - "'COMMA": [ - -1, - 1020 - ] - }, - { - "'END": [ - -1, - 1022 - ], - "'COMMA": [ - -1, - 1022 - ] - }, - { - "'END": [ - 802 - ], - "'COMMA": [ - 803 - ], - "table-order_I4": [ - 804 - ] - }, - { - "$": [ - -1, - 1024 - ], - "'NAME": [ - -1, - 1024 - ], - "'COLON": [ - -1, - 1024 - ], - "'END": [ - -1, - 1024 - ], - "'COMMA": [ - -1, - 1024 - ], - "'PARENNOSPACE": [ - -1, - 1024 - ], - "'STRING": [ - -1, - 1024 - ], - "'RPAREN": [ - -1, - 1024 - ], - "'TYPE": [ - -1, - 1024 - ], - "'DATA": [ - -1, - 1024 - ], - "'TIMES": [ - -1, - 1024 - ], - "'PARENSPACE": [ - -1, - 1024 - ], - "'DOT": [ - -1, - 1024 - ], - "'SPY": [ - -1, - 1024 - ], - "'NEWTYPE": [ - -1, - 1024 - ], - "'LBRACE": [ - -1, - 1024 - ], - "'RBRACE": [ - -1, - 1024 - ], - "'SEMI": [ - -1, - 1024 - ], - "'SHADOW": [ - -1, - 1024 - ], - "'LET": [ - -1, - 1024 - ], - "'BLOCK": [ - -1, - 1024 - ], - "'LETREC": [ - -1, - 1024 - ], - "'TYPE-LET": [ - -1, - 1024 - ], - "'FUN": [ - -1, - 1024 - ], - "'LANGLE": [ - -1, - 1024 - ], - "'LT": [ - -1, - 1024 - ], - "'GT": [ - -1, - 1024 - ], - "'PARENAFTERBRACE": [ - -1, - 1024 - ], - "'WHERE": [ - -1, - 1024 - ], - "'CHECK": [ - -1, - 1024 - ], - "'EXAMPLES": [ - -1, - 1024 - ], - "'CHECKCOLON": [ - -1, - 1024 - ], - "'EXAMPLESCOLON": [ - -1, - 1024 - ], - "'BECAUSE": [ - -1, - 1024 - ], - "'BAR": [ - -1, - 1024 - ], - "'SHARING": [ - -1, - 1024 - ], - "'VAR": [ - -1, - 1024 - ], - "'REC": [ - -1, - 1024 - ], - "'WHEN": [ - -1, - 1024 - ], - "'PLUS": [ - -1, - 1024 - ], - "'DASH": [ - -1, - 1024 - ], - "'SLASH": [ - -1, - 1024 - ], - "'LEQ": [ - -1, - 1024 - ], - "'GEQ": [ - -1, - 1024 - ], - "'EQUALEQUAL": [ - -1, - 1024 - ], - "'SPACESHIP": [ - -1, - 1024 - ], - "'EQUALTILDE": [ - -1, - 1024 - ], - "'NEQ": [ - -1, - 1024 - ], - "'AND": [ - -1, - 1024 - ], - "'OR": [ - -1, - 1024 - ], - "'CARET": [ - -1, - 1024 - ], - "'IS": [ - -1, - 1024 - ], - "'ISEQUALEQUAL": [ - -1, - 1024 - ], - "'ISEQUALTILDE": [ - -1, - 1024 - ], - "'ISSPACESHIP": [ - -1, - 1024 - ], - "'ISROUGHLY": [ - -1, - 1024 - ], - "'ISNOT": [ - -1, - 1024 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1024 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1024 - ], - "'ISNOTSPACESHIP": [ - -1, - 1024 - ], - "'RAISES": [ - -1, - 1024 - ], - "'RAISESOTHER": [ - -1, - 1024 - ], - "'SATISFIES": [ - -1, - 1024 - ], - "'SATISFIESNOT": [ - -1, - 1024 - ], - "'RAISESSATISFIES": [ - -1, - 1024 - ], - "'RAISESVIOLATES": [ - -1, - 1024 - ], - "'RAISESNOT": [ - -1, - 1024 - ], - "'DOTDOTDOT": [ - -1, - 1024 - ], - "'NUMBER": [ - -1, - 1024 - ], - "'RATIONAL": [ - -1, - 1024 - ], - "'ROUGHRATIONAL": [ - -1, - 1024 - ], - "'TRUE": [ - -1, - 1024 - ], - "'FALSE": [ - -1, - 1024 - ], - "'LAM": [ - -1, - 1024 - ], - "'METHOD": [ - -1, - 1024 - ], - "'LBRACK": [ - -1, - 1024 - ], - "'RBRACK": [ - -1, - 1024 - ], - "'TABLE": [ - -1, - 1024 - ], - "'ROW": [ - -1, - 1024 - ], - "'REACTOR": [ - -1, - 1024 - ], - "'BANG": [ - -1, - 1024 - ], - "'IF": [ - -1, - 1024 - ], - "'ELSECOLON": [ - -1, - 1024 - ], - "'ELSEIF": [ - -1, - 1024 - ], - "'ASK": [ - -1, - 1024 - ], - "'THENCOLON": [ - -1, - 1024 - ], - "'CASES": [ - -1, - 1024 - ], - "'FOR": [ - -1, - 1024 - ], - "'TABLE-SELECT": [ - -1, - 1024 - ], - "'TABLE-FILTER": [ - -1, - 1024 - ], - "'USING": [ - -1, - 1024 - ], - "'TABLE-ORDER": [ - -1, - 1024 - ], - "'TABLE-EXTRACT": [ - -1, - 1024 - ], - "'TABLE-UPDATE": [ - -1, - 1024 - ], - "'TABLE-EXTEND": [ - -1, - 1024 - ], - "'OF": [ - -1, - 1024 - ], - "'LOAD-TABLE": [ - -1, - 1024 - ], - "'SOURCECOLON": [ - -1, - 1024 - ], - "'SANITIZE": [ - -1, - 1024 - ] - }, - { - "'COMMA": [ - 805 - ], - "table-update_I2_I2": [ - 806 - ], - "'COLON": [ - -1, - 1026 - ] - }, - { - "'END": [ - 807 - ] - }, - { - "'COMMA": [ - 808 - ], - "table-extend_I2_I2": [ - 809 - ], - "'COLON": [ - -1, - 1028 - ] - }, - { - "'END": [ - 810 - ] - }, - { - "'NAME": [ - 291 - ], - "key": [ - 811 - ], - "table-extend-field": [ - 812 - ], - "table-extend-fields_I0": [ - 813 - ], - "list-table-extend-field": [ - 814 - ] - }, - { - "$": [ - -1, - 1030 - ], - "'NAME": [ - -1, - 1030 - ], - "'COLON": [ - -1, - 1030 - ], - "'END": [ - -1, - 1030 - ], - "'COMMA": [ - -1, - 1030 - ], - "'PARENNOSPACE": [ - -1, - 1030 - ], - "'STRING": [ - -1, - 1030 - ], - "'RPAREN": [ - -1, - 1030 - ], - "'TYPE": [ - -1, - 1030 - ], - "'DATA": [ - -1, - 1030 - ], - "'TIMES": [ - -1, - 1030 - ], - "'PARENSPACE": [ - -1, - 1030 - ], - "'DOT": [ - -1, - 1030 - ], - "'SPY": [ - -1, - 1030 - ], - "'NEWTYPE": [ - -1, - 1030 - ], - "'LBRACE": [ - -1, - 1030 - ], - "'RBRACE": [ - -1, - 1030 - ], - "'SEMI": [ - -1, - 1030 - ], - "'SHADOW": [ - -1, - 1030 - ], - "'LET": [ - -1, - 1030 - ], - "'BLOCK": [ - -1, - 1030 - ], - "'LETREC": [ - -1, - 1030 - ], - "'TYPE-LET": [ - -1, - 1030 - ], - "'FUN": [ - -1, - 1030 - ], - "'LANGLE": [ - -1, - 1030 - ], - "'LT": [ - -1, - 1030 - ], - "'GT": [ - -1, - 1030 - ], - "'PARENAFTERBRACE": [ - -1, - 1030 - ], - "'WHERE": [ - -1, - 1030 - ], - "'CHECK": [ - -1, - 1030 - ], - "'EXAMPLES": [ - -1, - 1030 - ], - "'CHECKCOLON": [ - -1, - 1030 - ], - "'EXAMPLESCOLON": [ - -1, - 1030 - ], - "'BECAUSE": [ - -1, - 1030 - ], - "'BAR": [ - -1, - 1030 - ], - "'SHARING": [ - -1, - 1030 - ], - "'VAR": [ - -1, - 1030 - ], - "'REC": [ - -1, - 1030 - ], - "'WHEN": [ - -1, - 1030 - ], - "'PLUS": [ - -1, - 1030 - ], - "'DASH": [ - -1, - 1030 - ], - "'SLASH": [ - -1, - 1030 - ], - "'LEQ": [ - -1, - 1030 - ], - "'GEQ": [ - -1, - 1030 - ], - "'EQUALEQUAL": [ - -1, - 1030 - ], - "'SPACESHIP": [ - -1, - 1030 - ], - "'EQUALTILDE": [ - -1, - 1030 - ], - "'NEQ": [ - -1, - 1030 - ], - "'AND": [ - -1, - 1030 - ], - "'OR": [ - -1, - 1030 - ], - "'CARET": [ - -1, - 1030 - ], - "'IS": [ - -1, - 1030 - ], - "'ISEQUALEQUAL": [ - -1, - 1030 - ], - "'ISEQUALTILDE": [ - -1, - 1030 - ], - "'ISSPACESHIP": [ - -1, - 1030 - ], - "'ISROUGHLY": [ - -1, - 1030 - ], - "'ISNOT": [ - -1, - 1030 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1030 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1030 - ], - "'ISNOTSPACESHIP": [ - -1, - 1030 - ], - "'RAISES": [ - -1, - 1030 - ], - "'RAISESOTHER": [ - -1, - 1030 - ], - "'SATISFIES": [ - -1, - 1030 - ], - "'SATISFIESNOT": [ - -1, - 1030 - ], - "'RAISESSATISFIES": [ - -1, - 1030 - ], - "'RAISESVIOLATES": [ - -1, - 1030 - ], - "'RAISESNOT": [ - -1, - 1030 - ], - "'DOTDOTDOT": [ - -1, - 1030 - ], - "'NUMBER": [ - -1, - 1030 - ], - "'RATIONAL": [ - -1, - 1030 - ], - "'ROUGHRATIONAL": [ - -1, - 1030 - ], - "'TRUE": [ - -1, - 1030 - ], - "'FALSE": [ - -1, - 1030 - ], - "'LAM": [ - -1, - 1030 - ], - "'METHOD": [ - -1, - 1030 - ], - "'LBRACK": [ - -1, - 1030 - ], - "'RBRACK": [ - -1, - 1030 - ], - "'TABLE": [ - -1, - 1030 - ], - "'ROW": [ - -1, - 1030 - ], - "'REACTOR": [ - -1, - 1030 - ], - "'BANG": [ - -1, - 1030 - ], - "'IF": [ - -1, - 1030 - ], - "'ELSECOLON": [ - -1, - 1030 - ], - "'ELSEIF": [ - -1, - 1030 - ], - "'ASK": [ - -1, - 1030 - ], - "'THENCOLON": [ - -1, - 1030 - ], - "'CASES": [ - -1, - 1030 - ], - "'FOR": [ - -1, - 1030 - ], - "'TABLE-SELECT": [ - -1, - 1030 - ], - "'TABLE-FILTER": [ - -1, - 1030 - ], - "'USING": [ - -1, - 1030 - ], - "'TABLE-ORDER": [ - -1, - 1030 - ], - "'TABLE-EXTRACT": [ - -1, - 1030 - ], - "'TABLE-UPDATE": [ - -1, - 1030 - ], - "'TABLE-EXTEND": [ - -1, - 1030 - ], - "'OF": [ - -1, - 1030 - ], - "'LOAD-TABLE": [ - -1, - 1030 - ], - "'SOURCECOLON": [ - -1, - 1030 - ], - "'SANITIZE": [ - -1, - 1030 - ] - }, - { - "'END": [ - -1, - 1032 - ], - "'SOURCECOLON": [ - -1, - 1034 - ], - "'SANITIZE": [ - -1, - 1034 - ] - }, - { - "'SOURCECOLON": [ - -1, - 1036 - ], - "'SANITIZE": [ - -1, - 1036 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 815 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 816 - ] - }, - { - "'END": [ - 817 - ] - }, - { - "'END": [ - -1, - 1038 - ] - }, - { - "import-stmt_A1_I4_I1*": [ - 818 - ], - "'END": [ - -1, - 1040, - 1042 - ], - "'COMMA": [ - -1, - 1042 - ] - }, - { - "'END": [ - -1, - 1044 - ], - "'COMMA": [ - -1, - 1044 - ] - }, - { - "'END": [ - -1, - 1046 - ], - "'COMMA": [ - -1, - 1046 - ] - }, - { - "'END": [ - -1, - 1048 - ], - "'COMMA": [ - -1, - 1048 - ] - }, - { - "'END": [ - -1, - 1050 - ], - "'COMMA": [ - -1, - 1050 - ] - }, - { - "'END": [ - -1, - 1052 - ], - "'COMMA": [ - -1, - 1052 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 819 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "module-ref": [ - 411 - ], - "data-name-spec": [ - 820 - ], - "'STAR": [ - 413 - ], - "'TIMES": [ - 414 - ], - "data-name-spec_A0_I0": [ - 415 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 821 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ] - }, - { - "'FROM": [ - -1, - 1054 - ], - "'COMMA": [ - -1, - 1054 - ], - "'RANGLE": [ - -1, - 1054 - ], - "'GT": [ - -1, - 1054 - ] - }, - { - "provide-block_A1_I4_I1*": [ - 822 - ], - "'END": [ - -1, - 1056, - 1058 - ], - "'COMMA": [ - -1, - 1058 - ] - }, - { - "'END": [ - 823 - ] - }, - { - "'END": [ - -1, - 1060 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COMMA": [ - -1, - 1062 - ], - "'RPAREN": [ - -1, - 1062 - ], - "'RBRACE": [ - -1, - 1062 - ] - }, - { - "'NAME": [ - 404 - ], - "ann-field": [ - 824 - ] - }, - { - "'COMMA": [ - -1, - 1064 - ], - "'RPAREN": [ - -1, - 1064 - ], - "'RBRACE": [ - -1, - 1064 - ] - }, - { - "'END": [ - -1, - 1066 - ], - "'COMMA": [ - -1, - 1066 - ] - }, - { - "'RPAREN": [ - 825 - ] - }, - { - "'RPAREN": [ - -1, - 1068 - ] - }, - { - "'NAME": [ - 826 - ], - "hiding-spec_I2_I0": [ - 827 - ] - }, - { - "'STRING": [ - 828 - ] - }, - { - "$": [ - -1, - 1070 - ], - "'NAME": [ - -1, - 1070 - ], - "'INCLUDE": [ - -1, - 1070 - ], - "'IMPORT": [ - -1, - 1070 - ], - "'AS": [ - -1, - 1070 - ], - "'STRING": [ - -1, - 1070 - ], - "'TYPE": [ - -1, - 1070 - ], - "'DATA": [ - -1, - 1070 - ], - "'PROVIDE": [ - -1, - 1070 - ], - "'PROVIDE-TYPES": [ - -1, - 1070 - ], - "'PROVIDECOLON": [ - -1, - 1070 - ], - "'PARENSPACE": [ - -1, - 1070 - ], - "'SPY": [ - -1, - 1070 - ], - "'NEWTYPE": [ - -1, - 1070 - ], - "'LBRACE": [ - -1, - 1070 - ], - "'SHADOW": [ - -1, - 1070 - ], - "'LET": [ - -1, - 1070 - ], - "'BLOCK": [ - -1, - 1070 - ], - "'LETREC": [ - -1, - 1070 - ], - "'TYPE-LET": [ - -1, - 1070 - ], - "'FUN": [ - -1, - 1070 - ], - "'PARENAFTERBRACE": [ - -1, - 1070 - ], - "'CHECK": [ - -1, - 1070 - ], - "'EXAMPLES": [ - -1, - 1070 - ], - "'CHECKCOLON": [ - -1, - 1070 - ], - "'EXAMPLESCOLON": [ - -1, - 1070 - ], - "'VAR": [ - -1, - 1070 - ], - "'REC": [ - -1, - 1070 - ], - "'WHEN": [ - -1, - 1070 - ], - "'DOTDOTDOT": [ - -1, - 1070 - ], - "'NUMBER": [ - -1, - 1070 - ], - "'RATIONAL": [ - -1, - 1070 - ], - "'ROUGHRATIONAL": [ - -1, - 1070 - ], - "'TRUE": [ - -1, - 1070 - ], - "'FALSE": [ - -1, - 1070 - ], - "'LAM": [ - -1, - 1070 - ], - "'METHOD": [ - -1, - 1070 - ], - "'LBRACK": [ - -1, - 1070 - ], - "'TABLE": [ - -1, - 1070 - ], - "'REACTOR": [ - -1, - 1070 - ], - "'IF": [ - -1, - 1070 - ], - "'ASK": [ - -1, - 1070 - ], - "'CASES": [ - -1, - 1070 - ], - "'FOR": [ - -1, - 1070 - ], - "'TABLE-SELECT": [ - -1, - 1070 - ], - "'TABLE-FILTER": [ - -1, - 1070 - ], - "'TABLE-ORDER": [ - -1, - 1070 - ], - "'TABLE-EXTRACT": [ - -1, - 1070 - ], - "'TABLE-UPDATE": [ - -1, - 1070 - ], - "'TABLE-EXTEND": [ - -1, - 1070 - ], - "'LOAD-TABLE": [ - -1, - 1070 - ] - }, - { - "'COMMA": [ - -1, - 1072 - ], - "'RPAREN": [ - -1, - 1072 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 829 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'COMMA": [ - -1, - 1074 - ], - "'RANGLE": [ - -1, - 1074 - ], - "'GT": [ - -1, - 1074 - ], - "'THINARROW": [ - -1, - 1074 - ] - }, - { - "'PERCENT": [ - 516 - ], - "$": [ - -1, - 1076 - ], - "'NAME": [ - -1, - 1076 - ], - "'END": [ - -1, - 1076 - ], - "'STRING": [ - -1, - 1076 - ], - "'TYPE": [ - -1, - 1076 - ], - "'DATA": [ - -1, - 1076 - ], - "'PARENSPACE": [ - -1, - 1076 - ], - "'SPY": [ - -1, - 1076 - ], - "'NEWTYPE": [ - -1, - 1076 - ], - "'LBRACE": [ - -1, - 1076 - ], - "'RBRACE": [ - -1, - 1076 - ], - "'SHADOW": [ - -1, - 1076 - ], - "'LET": [ - -1, - 1076 - ], - "'BLOCK": [ - -1, - 1076 - ], - "'LETREC": [ - -1, - 1076 - ], - "'TYPE-LET": [ - -1, - 1076 - ], - "'FUN": [ - -1, - 1076 - ], - "'PARENAFTERBRACE": [ - -1, - 1076 - ], - "'WHERE": [ - -1, - 1076 - ], - "'CHECK": [ - -1, - 1076 - ], - "'EXAMPLES": [ - -1, - 1076 - ], - "'CHECKCOLON": [ - -1, - 1076 - ], - "'EXAMPLESCOLON": [ - -1, - 1076 - ], - "'BAR": [ - -1, - 1076 - ], - "'VAR": [ - -1, - 1076 - ], - "'REC": [ - -1, - 1076 - ], - "'WHEN": [ - -1, - 1076 - ], - "'DOTDOTDOT": [ - -1, - 1076 - ], - "'NUMBER": [ - -1, - 1076 - ], - "'RATIONAL": [ - -1, - 1076 - ], - "'ROUGHRATIONAL": [ - -1, - 1076 - ], - "'TRUE": [ - -1, - 1076 - ], - "'FALSE": [ - -1, - 1076 - ], - "'LAM": [ - -1, - 1076 - ], - "'METHOD": [ - -1, - 1076 - ], - "'LBRACK": [ - -1, - 1076 - ], - "'TABLE": [ - -1, - 1076 - ], - "'REACTOR": [ - -1, - 1076 - ], - "'IF": [ - -1, - 1076 - ], - "'ELSECOLON": [ - -1, - 1076 - ], - "'ELSEIF": [ - -1, - 1076 - ], - "'ASK": [ - -1, - 1076 - ], - "'CASES": [ - -1, - 1076 - ], - "'FOR": [ - -1, - 1076 - ], - "'TABLE-SELECT": [ - -1, - 1076 - ], - "'TABLE-FILTER": [ - -1, - 1076 - ], - "'TABLE-ORDER": [ - -1, - 1076 - ], - "'TABLE-EXTRACT": [ - -1, - 1076 - ], - "'TABLE-UPDATE": [ - -1, - 1076 - ], - "'TABLE-EXTEND": [ - -1, - 1076 - ], - "'LOAD-TABLE": [ - -1, - 1076 - ] - }, - { - "'THINARROW": [ - -1, - 1078 - ] - }, - { - "variant-members_I1?": [ - 830 - ], - "variant-members_I1": [ - 831 - ], - "variant-member": [ - 832 - ], - "variant-member_I0?": [ - 833 - ], - "variant-member_I0": [ - 834 - ], - "'REF": [ - 835 - ], - "'NAME": [ - -1, - 1080 - ], - "'RPAREN": [ - -1, - 1082 - ], - "'LBRACE": [ - -1, - 1080 - ], - "'SHADOW": [ - -1, - 1080 - ] - }, - { - "'END": [ - -1, - 1084 - ], - "'WHERE": [ - -1, - 1084 - ], - "'BAR": [ - -1, - 1084 - ], - "'WITH": [ - -1, - 1084 - ], - "'SHARING": [ - -1, - 1084 - ] - }, - { - "'END": [ - -1, - 1086 - ], - "'WHERE": [ - -1, - 1086 - ], - "'BAR": [ - -1, - 1086 - ], - "'SHARING": [ - -1, - 1086 - ] - }, - { - "'END": [ - -1, - 1088 - ], - "'WHERE": [ - -1, - 1088 - ], - "'BAR": [ - -1, - 1088 - ], - "'SHARING": [ - -1, - 1088 - ] - }, - { - "'END": [ - -1, - 1090 - ], - "'WHERE": [ - -1, - 1090 - ], - "'BAR": [ - -1, - 1090 - ], - "'SHARING": [ - -1, - 1090 - ] - }, - { - "'NAME": [ - 291 - ], - "fields": [ - 836 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 378 - ] - }, - { - "data-sharing": [ - 837 - ], - "data-expr_I5": [ - 838 - ], - "data-variant": [ - 839 - ], - "'BAR": [ - 840 - ], - "data-sharing_I0?": [ - 841 - ], - "data-sharing_I0": [ - 842 - ], - "'SHARING": [ - 843 - ], - "'END": [ - -1, - 1092, - 1094 - ], - "'WHERE": [ - -1, - 1092, - 1094 - ] - }, - { - "'END": [ - -1, - 1096 - ], - "'WHERE": [ - -1, - 1096 - ], - "'BAR": [ - -1, - 1096 - ], - "'SHARING": [ - -1, - 1096 - ] - }, - { - "'END": [ - -1, - 1098 - ], - "'COMMA": [ - -1, - 1098 - ] - }, - { - "'NAME": [ - 439 - ], - "spy-field": [ - 844 - ], - "id-expr": [ - 444 - ] - }, - { - "'END": [ - -1, - 1100 - ], - "'COMMA": [ - -1, - 1100 - ] - }, - { - "$": [ - -1, - 1102 - ], - "'NAME": [ - -1, - 1102 - ], - "'END": [ - -1, - 1102 - ], - "'STRING": [ - -1, - 1102 - ], - "'TYPE": [ - -1, - 1102 - ], - "'DATA": [ - -1, - 1102 - ], - "'PARENSPACE": [ - -1, - 1102 - ], - "'SPY": [ - -1, - 1102 - ], - "'NEWTYPE": [ - -1, - 1102 - ], - "'LBRACE": [ - -1, - 1102 - ], - "'RBRACE": [ - -1, - 1102 - ], - "'SHADOW": [ - -1, - 1102 - ], - "'LET": [ - -1, - 1102 - ], - "'BLOCK": [ - -1, - 1102 - ], - "'LETREC": [ - -1, - 1102 - ], - "'TYPE-LET": [ - -1, - 1102 - ], - "'FUN": [ - -1, - 1102 - ], - "'PARENAFTERBRACE": [ - -1, - 1102 - ], - "'WHERE": [ - -1, - 1102 - ], - "'CHECK": [ - -1, - 1102 - ], - "'EXAMPLES": [ - -1, - 1102 - ], - "'CHECKCOLON": [ - -1, - 1102 - ], - "'EXAMPLESCOLON": [ - -1, - 1102 - ], - "'BAR": [ - -1, - 1102 - ], - "'VAR": [ - -1, - 1102 - ], - "'REC": [ - -1, - 1102 - ], - "'WHEN": [ - -1, - 1102 - ], - "'DOTDOTDOT": [ - -1, - 1102 - ], - "'NUMBER": [ - -1, - 1102 - ], - "'RATIONAL": [ - -1, - 1102 - ], - "'ROUGHRATIONAL": [ - -1, - 1102 - ], - "'TRUE": [ - -1, - 1102 - ], - "'FALSE": [ - -1, - 1102 - ], - "'LAM": [ - -1, - 1102 - ], - "'METHOD": [ - -1, - 1102 - ], - "'LBRACK": [ - -1, - 1102 - ], - "'TABLE": [ - -1, - 1102 - ], - "'REACTOR": [ - -1, - 1102 - ], - "'IF": [ - -1, - 1102 - ], - "'ELSECOLON": [ - -1, - 1102 - ], - "'ELSEIF": [ - -1, - 1102 - ], - "'ASK": [ - -1, - 1102 - ], - "'CASES": [ - -1, - 1102 - ], - "'FOR": [ - -1, - 1102 - ], - "'TABLE-SELECT": [ - -1, - 1102 - ], - "'TABLE-FILTER": [ - -1, - 1102 - ], - "'TABLE-ORDER": [ - -1, - 1102 - ], - "'TABLE-EXTRACT": [ - -1, - 1102 - ], - "'TABLE-UPDATE": [ - -1, - 1102 - ], - "'TABLE-EXTEND": [ - -1, - 1102 - ], - "'LOAD-TABLE": [ - -1, - 1102 - ] - }, - { - "'NAME": [ - -1, - 1104 - ], - "'STRING": [ - -1, - 1104 - ], - "'PARENSPACE": [ - -1, - 1104 - ], - "'LBRACE": [ - -1, - 1104 - ], - "'LET": [ - -1, - 1104 - ], - "'BLOCK": [ - -1, - 1104 - ], - "'LETREC": [ - -1, - 1104 - ], - "'TYPE-LET": [ - -1, - 1104 - ], - "'PARENAFTERBRACE": [ - -1, - 1104 - ], - "'DOTDOTDOT": [ - -1, - 1104 - ], - "'NUMBER": [ - -1, - 1104 - ], - "'RATIONAL": [ - -1, - 1104 - ], - "'ROUGHRATIONAL": [ - -1, - 1104 - ], - "'TRUE": [ - -1, - 1104 - ], - "'FALSE": [ - -1, - 1104 - ], - "'LAM": [ - -1, - 1104 - ], - "'METHOD": [ - -1, - 1104 - ], - "'LBRACK": [ - -1, - 1104 - ], - "'TABLE": [ - -1, - 1104 - ], - "'REACTOR": [ - -1, - 1104 - ], - "'IF": [ - -1, - 1104 - ], - "'ASK": [ - -1, - 1104 - ], - "'CASES": [ - -1, - 1104 - ], - "'FOR": [ - -1, - 1104 - ], - "'TABLE-SELECT": [ - -1, - 1104 - ], - "'TABLE-FILTER": [ - -1, - 1104 - ], - "'TABLE-ORDER": [ - -1, - 1104 - ], - "'TABLE-EXTRACT": [ - -1, - 1104 - ], - "'TABLE-UPDATE": [ - -1, - 1104 - ], - "'TABLE-EXTEND": [ - -1, - 1104 - ], - "'LOAD-TABLE": [ - -1, - 1104 - ] - }, - { - "binding": [ - 845 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COMMA": [ - -1, - 1106 - ], - "'RPAREN": [ - -1, - 1106 - ] - }, - { - "binding": [ - 846 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COMMA": [ - -1, - 1108 - ], - "'RPAREN": [ - -1, - 1108 - ] - }, - { - "name-binding": [ - 847 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'FROM": [ - -1, - 1110 - ], - "'COLON": [ - -1, - 1110 - ], - "'COMMA": [ - -1, - 1110 - ], - "'RPAREN": [ - -1, - 1110 - ], - "'EQUALS": [ - -1, - 1110 - ], - "'RBRACE": [ - -1, - 1110 - ], - "'SEMI": [ - -1, - 1110 - ] - }, - { - "'FROM": [ - -1, - 1112 - ], - "'COLON": [ - -1, - 1112 - ], - "'COMMA": [ - -1, - 1112 - ], - "'RPAREN": [ - -1, - 1112 - ], - "'EQUALS": [ - -1, - 1112 - ], - "'RBRACE": [ - -1, - 1112 - ], - "'SEMI": [ - -1, - 1112 - ] - }, - { - "'RBRACE": [ - 848 - ] - }, - { - "'END": [ - -1, - 1114 - ], - "'RBRACE": [ - -1, - 1114 - ] - }, - { - "'END": [ - -1, - 1116 - ], - "'RBRACE": [ - -1, - 1116 - ] - }, - { - "block": [ - 849 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1118, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'RBRACE": [ - -1, - 1118, - 8, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'END": [ - -1, - 1120 - ], - "'COMMA": [ - -1, - 1120 - ], - "'RBRACE": [ - -1, - 1120 - ] - }, - { - "block": [ - 850 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 1122 - ], - "'NAME": [ - -1, - 1122 - ], - "'COLON": [ - -1, - 1122 - ], - "'END": [ - -1, - 1122 - ], - "'COMMA": [ - -1, - 1122 - ], - "'PARENNOSPACE": [ - -1, - 1122 - ], - "'STRING": [ - -1, - 1122 - ], - "'RPAREN": [ - -1, - 1122 - ], - "'TYPE": [ - -1, - 1122 - ], - "'DATA": [ - -1, - 1122 - ], - "'TIMES": [ - -1, - 1122 - ], - "'PARENSPACE": [ - -1, - 1122 - ], - "'DOT": [ - -1, - 1122 - ], - "'SPY": [ - -1, - 1122 - ], - "'NEWTYPE": [ - -1, - 1122 - ], - "'LBRACE": [ - -1, - 1122 - ], - "'RBRACE": [ - -1, - 1122 - ], - "'SEMI": [ - -1, - 1122 - ], - "'SHADOW": [ - -1, - 1122 - ], - "'LET": [ - -1, - 1122 - ], - "'BLOCK": [ - -1, - 1122 - ], - "'LETREC": [ - -1, - 1122 - ], - "'TYPE-LET": [ - -1, - 1122 - ], - "'FUN": [ - -1, - 1122 - ], - "'LANGLE": [ - -1, - 1122 - ], - "'LT": [ - -1, - 1122 - ], - "'GT": [ - -1, - 1122 - ], - "'PARENAFTERBRACE": [ - -1, - 1122 - ], - "'WHERE": [ - -1, - 1122 - ], - "'CHECK": [ - -1, - 1122 - ], - "'EXAMPLES": [ - -1, - 1122 - ], - "'CHECKCOLON": [ - -1, - 1122 - ], - "'EXAMPLESCOLON": [ - -1, - 1122 - ], - "'BECAUSE": [ - -1, - 1122 - ], - "'BAR": [ - -1, - 1122 - ], - "'SHARING": [ - -1, - 1122 - ], - "'VAR": [ - -1, - 1122 - ], - "'REC": [ - -1, - 1122 - ], - "'WHEN": [ - -1, - 1122 - ], - "'PLUS": [ - -1, - 1122 - ], - "'DASH": [ - -1, - 1122 - ], - "'SLASH": [ - -1, - 1122 - ], - "'LEQ": [ - -1, - 1122 - ], - "'GEQ": [ - -1, - 1122 - ], - "'EQUALEQUAL": [ - -1, - 1122 - ], - "'SPACESHIP": [ - -1, - 1122 - ], - "'EQUALTILDE": [ - -1, - 1122 - ], - "'NEQ": [ - -1, - 1122 - ], - "'AND": [ - -1, - 1122 - ], - "'OR": [ - -1, - 1122 - ], - "'CARET": [ - -1, - 1122 - ], - "'IS": [ - -1, - 1122 - ], - "'ISEQUALEQUAL": [ - -1, - 1122 - ], - "'ISEQUALTILDE": [ - -1, - 1122 - ], - "'ISSPACESHIP": [ - -1, - 1122 - ], - "'ISROUGHLY": [ - -1, - 1122 - ], - "'ISNOT": [ - -1, - 1122 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1122 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1122 - ], - "'ISNOTSPACESHIP": [ - -1, - 1122 - ], - "'RAISES": [ - -1, - 1122 - ], - "'RAISESOTHER": [ - -1, - 1122 - ], - "'SATISFIES": [ - -1, - 1122 - ], - "'SATISFIESNOT": [ - -1, - 1122 - ], - "'RAISESSATISFIES": [ - -1, - 1122 - ], - "'RAISESVIOLATES": [ - -1, - 1122 - ], - "'RAISESNOT": [ - -1, - 1122 - ], - "'DOTDOTDOT": [ - -1, - 1122 - ], - "'NUMBER": [ - -1, - 1122 - ], - "'RATIONAL": [ - -1, - 1122 - ], - "'ROUGHRATIONAL": [ - -1, - 1122 - ], - "'TRUE": [ - -1, - 1122 - ], - "'FALSE": [ - -1, - 1122 - ], - "'LAM": [ - -1, - 1122 - ], - "'METHOD": [ - -1, - 1122 - ], - "'LBRACK": [ - -1, - 1122 - ], - "'RBRACK": [ - -1, - 1122 - ], - "'TABLE": [ - -1, - 1122 - ], - "'ROW": [ - -1, - 1122 - ], - "'REACTOR": [ - -1, - 1122 - ], - "'BANG": [ - -1, - 1122 - ], - "'IF": [ - -1, - 1122 - ], - "'ELSECOLON": [ - -1, - 1122 - ], - "'ELSEIF": [ - -1, - 1122 - ], - "'ASK": [ - -1, - 1122 - ], - "'THENCOLON": [ - -1, - 1122 - ], - "'CASES": [ - -1, - 1122 - ], - "'FOR": [ - -1, - 1122 - ], - "'TABLE-SELECT": [ - -1, - 1122 - ], - "'TABLE-FILTER": [ - -1, - 1122 - ], - "'USING": [ - -1, - 1122 - ], - "'TABLE-ORDER": [ - -1, - 1122 - ], - "'TABLE-EXTRACT": [ - -1, - 1122 - ], - "'TABLE-UPDATE": [ - -1, - 1122 - ], - "'TABLE-EXTEND": [ - -1, - 1122 - ], - "'OF": [ - -1, - 1122 - ], - "'LOAD-TABLE": [ - -1, - 1122 - ], - "'SOURCECOLON": [ - -1, - 1122 - ], - "'SANITIZE": [ - -1, - 1122 - ] - }, - { - "$": [ - -1, - 1124 - ], - "'NAME": [ - -1, - 1124 - ], - "'COLON": [ - -1, - 1124 - ], - "'END": [ - -1, - 1124 - ], - "'COMMA": [ - -1, - 1124 - ], - "'PARENNOSPACE": [ - -1, - 1124 - ], - "'STRING": [ - -1, - 1124 - ], - "'RPAREN": [ - -1, - 1124 - ], - "'TYPE": [ - -1, - 1124 - ], - "'DATA": [ - -1, - 1124 - ], - "'TIMES": [ - -1, - 1124 - ], - "'PARENSPACE": [ - -1, - 1124 - ], - "'DOT": [ - -1, - 1124 - ], - "'SPY": [ - -1, - 1124 - ], - "'NEWTYPE": [ - -1, - 1124 - ], - "'LBRACE": [ - -1, - 1124 - ], - "'RBRACE": [ - -1, - 1124 - ], - "'SEMI": [ - -1, - 1124 - ], - "'SHADOW": [ - -1, - 1124 - ], - "'LET": [ - -1, - 1124 - ], - "'BLOCK": [ - -1, - 1124 - ], - "'LETREC": [ - -1, - 1124 - ], - "'TYPE-LET": [ - -1, - 1124 - ], - "'FUN": [ - -1, - 1124 - ], - "'LANGLE": [ - -1, - 1124 - ], - "'LT": [ - -1, - 1124 - ], - "'GT": [ - -1, - 1124 - ], - "'PARENAFTERBRACE": [ - -1, - 1124 - ], - "'WHERE": [ - -1, - 1124 - ], - "'CHECK": [ - -1, - 1124 - ], - "'EXAMPLES": [ - -1, - 1124 - ], - "'CHECKCOLON": [ - -1, - 1124 - ], - "'EXAMPLESCOLON": [ - -1, - 1124 - ], - "'BECAUSE": [ - -1, - 1124 - ], - "'BAR": [ - -1, - 1124 - ], - "'SHARING": [ - -1, - 1124 - ], - "'VAR": [ - -1, - 1124 - ], - "'REC": [ - -1, - 1124 - ], - "'WHEN": [ - -1, - 1124 - ], - "'PLUS": [ - -1, - 1124 - ], - "'DASH": [ - -1, - 1124 - ], - "'SLASH": [ - -1, - 1124 - ], - "'LEQ": [ - -1, - 1124 - ], - "'GEQ": [ - -1, - 1124 - ], - "'EQUALEQUAL": [ - -1, - 1124 - ], - "'SPACESHIP": [ - -1, - 1124 - ], - "'EQUALTILDE": [ - -1, - 1124 - ], - "'NEQ": [ - -1, - 1124 - ], - "'AND": [ - -1, - 1124 - ], - "'OR": [ - -1, - 1124 - ], - "'CARET": [ - -1, - 1124 - ], - "'IS": [ - -1, - 1124 - ], - "'ISEQUALEQUAL": [ - -1, - 1124 - ], - "'ISEQUALTILDE": [ - -1, - 1124 - ], - "'ISSPACESHIP": [ - -1, - 1124 - ], - "'ISROUGHLY": [ - -1, - 1124 - ], - "'ISNOT": [ - -1, - 1124 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1124 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1124 - ], - "'ISNOTSPACESHIP": [ - -1, - 1124 - ], - "'RAISES": [ - -1, - 1124 - ], - "'RAISESOTHER": [ - -1, - 1124 - ], - "'SATISFIES": [ - -1, - 1124 - ], - "'SATISFIESNOT": [ - -1, - 1124 - ], - "'RAISESSATISFIES": [ - -1, - 1124 - ], - "'RAISESVIOLATES": [ - -1, - 1124 - ], - "'RAISESNOT": [ - -1, - 1124 - ], - "'DOTDOTDOT": [ - -1, - 1124 - ], - "'NUMBER": [ - -1, - 1124 - ], - "'RATIONAL": [ - -1, - 1124 - ], - "'ROUGHRATIONAL": [ - -1, - 1124 - ], - "'TRUE": [ - -1, - 1124 - ], - "'FALSE": [ - -1, - 1124 - ], - "'LAM": [ - -1, - 1124 - ], - "'METHOD": [ - -1, - 1124 - ], - "'LBRACK": [ - -1, - 1124 - ], - "'RBRACK": [ - -1, - 1124 - ], - "'TABLE": [ - -1, - 1124 - ], - "'ROW": [ - -1, - 1124 - ], - "'REACTOR": [ - -1, - 1124 - ], - "'BANG": [ - -1, - 1124 - ], - "'IF": [ - -1, - 1124 - ], - "'ELSECOLON": [ - -1, - 1124 - ], - "'ELSEIF": [ - -1, - 1124 - ], - "'ASK": [ - -1, - 1124 - ], - "'THENCOLON": [ - -1, - 1124 - ], - "'CASES": [ - -1, - 1124 - ], - "'FOR": [ - -1, - 1124 - ], - "'TABLE-SELECT": [ - -1, - 1124 - ], - "'TABLE-FILTER": [ - -1, - 1124 - ], - "'USING": [ - -1, - 1124 - ], - "'TABLE-ORDER": [ - -1, - 1124 - ], - "'TABLE-EXTRACT": [ - -1, - 1124 - ], - "'TABLE-UPDATE": [ - -1, - 1124 - ], - "'TABLE-EXTEND": [ - -1, - 1124 - ], - "'OF": [ - -1, - 1124 - ], - "'LOAD-TABLE": [ - -1, - 1124 - ], - "'SOURCECOLON": [ - -1, - 1124 - ], - "'SANITIZE": [ - -1, - 1124 - ] - }, - { - "$": [ - -1, - 1126 - ], - "'NAME": [ - -1, - 1126 - ], - "'COLON": [ - -1, - 1126 - ], - "'END": [ - -1, - 1126 - ], - "'COMMA": [ - -1, - 1126 - ], - "'PARENNOSPACE": [ - -1, - 1126 - ], - "'STRING": [ - -1, - 1126 - ], - "'RPAREN": [ - -1, - 1126 - ], - "'TYPE": [ - -1, - 1126 - ], - "'DATA": [ - -1, - 1126 - ], - "'TIMES": [ - -1, - 1126 - ], - "'PARENSPACE": [ - -1, - 1126 - ], - "'DOT": [ - -1, - 1126 - ], - "'SPY": [ - -1, - 1126 - ], - "'NEWTYPE": [ - -1, - 1126 - ], - "'LBRACE": [ - -1, - 1126 - ], - "'RBRACE": [ - -1, - 1126 - ], - "'SEMI": [ - -1, - 1126 - ], - "'SHADOW": [ - -1, - 1126 - ], - "'LET": [ - -1, - 1126 - ], - "'BLOCK": [ - -1, - 1126 - ], - "'LETREC": [ - -1, - 1126 - ], - "'TYPE-LET": [ - -1, - 1126 - ], - "'FUN": [ - -1, - 1126 - ], - "'LANGLE": [ - -1, - 1126 - ], - "'LT": [ - -1, - 1126 - ], - "'GT": [ - -1, - 1126 - ], - "'PARENAFTERBRACE": [ - -1, - 1126 - ], - "'WHERE": [ - -1, - 1126 - ], - "'CHECK": [ - -1, - 1126 - ], - "'EXAMPLES": [ - -1, - 1126 - ], - "'CHECKCOLON": [ - -1, - 1126 - ], - "'EXAMPLESCOLON": [ - -1, - 1126 - ], - "'BECAUSE": [ - -1, - 1126 - ], - "'BAR": [ - -1, - 1126 - ], - "'SHARING": [ - -1, - 1126 - ], - "'VAR": [ - -1, - 1126 - ], - "'REC": [ - -1, - 1126 - ], - "'WHEN": [ - -1, - 1126 - ], - "'PLUS": [ - -1, - 1126 - ], - "'DASH": [ - -1, - 1126 - ], - "'SLASH": [ - -1, - 1126 - ], - "'LEQ": [ - -1, - 1126 - ], - "'GEQ": [ - -1, - 1126 - ], - "'EQUALEQUAL": [ - -1, - 1126 - ], - "'SPACESHIP": [ - -1, - 1126 - ], - "'EQUALTILDE": [ - -1, - 1126 - ], - "'NEQ": [ - -1, - 1126 - ], - "'AND": [ - -1, - 1126 - ], - "'OR": [ - -1, - 1126 - ], - "'CARET": [ - -1, - 1126 - ], - "'IS": [ - -1, - 1126 - ], - "'ISEQUALEQUAL": [ - -1, - 1126 - ], - "'ISEQUALTILDE": [ - -1, - 1126 - ], - "'ISSPACESHIP": [ - -1, - 1126 - ], - "'ISROUGHLY": [ - -1, - 1126 - ], - "'ISNOT": [ - -1, - 1126 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1126 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1126 - ], - "'ISNOTSPACESHIP": [ - -1, - 1126 - ], - "'RAISES": [ - -1, - 1126 - ], - "'RAISESOTHER": [ - -1, - 1126 - ], - "'SATISFIES": [ - -1, - 1126 - ], - "'SATISFIESNOT": [ - -1, - 1126 - ], - "'RAISESSATISFIES": [ - -1, - 1126 - ], - "'RAISESVIOLATES": [ - -1, - 1126 - ], - "'RAISESNOT": [ - -1, - 1126 - ], - "'DOTDOTDOT": [ - -1, - 1126 - ], - "'NUMBER": [ - -1, - 1126 - ], - "'RATIONAL": [ - -1, - 1126 - ], - "'ROUGHRATIONAL": [ - -1, - 1126 - ], - "'TRUE": [ - -1, - 1126 - ], - "'FALSE": [ - -1, - 1126 - ], - "'LAM": [ - -1, - 1126 - ], - "'METHOD": [ - -1, - 1126 - ], - "'LBRACK": [ - -1, - 1126 - ], - "'RBRACK": [ - -1, - 1126 - ], - "'TABLE": [ - -1, - 1126 - ], - "'ROW": [ - -1, - 1126 - ], - "'REACTOR": [ - -1, - 1126 - ], - "'BANG": [ - -1, - 1126 - ], - "'IF": [ - -1, - 1126 - ], - "'ELSECOLON": [ - -1, - 1126 - ], - "'ELSEIF": [ - -1, - 1126 - ], - "'ASK": [ - -1, - 1126 - ], - "'THENCOLON": [ - -1, - 1126 - ], - "'CASES": [ - -1, - 1126 - ], - "'FOR": [ - -1, - 1126 - ], - "'TABLE-SELECT": [ - -1, - 1126 - ], - "'TABLE-FILTER": [ - -1, - 1126 - ], - "'USING": [ - -1, - 1126 - ], - "'TABLE-ORDER": [ - -1, - 1126 - ], - "'TABLE-EXTRACT": [ - -1, - 1126 - ], - "'TABLE-UPDATE": [ - -1, - 1126 - ], - "'TABLE-EXTEND": [ - -1, - 1126 - ], - "'OF": [ - -1, - 1126 - ], - "'LOAD-TABLE": [ - -1, - 1126 - ], - "'SOURCECOLON": [ - -1, - 1126 - ], - "'SANITIZE": [ - -1, - 1126 - ] - }, - { - "where-clause": [ - 851 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "'COMMA": [ - -1, - 1128 - ], - "'RPAREN": [ - -1, - 1128 - ], - "'RBRACK": [ - -1, - 1128 - ] - }, - { - "'COMMA": [ - 852 - ], - "'RPAREN": [ - 853 - ], - "app-expr_A2_I5": [ - 854 - ] - }, - { - "'RPAREN": [ - 855 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COMMA": [ - -1, - 1130 - ], - "'RANGLE": [ - -1, - 1130 - ], - "'GT": [ - -1, - 1130 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 856 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ], - "'RBRACE": [ - -1, - 1132 - ] - }, - { - "'RBRACE": [ - 857 - ] - }, - { - "'RBRACE": [ - -1, - 1134 - ], - "'SEMI": [ - -1, - 1134 - ] - }, - { - "'RBRACE": [ - -1, - 1136 - ] - }, - { - "'RPAREN": [ - 858 - ], - "'PERCENT": [ - 516 - ] - }, - { - "$": [ - -1, - 1138 - ], - "'NAME": [ - -1, - 1138 - ], - "'FROM": [ - -1, - 1138 - ], - "'COLON": [ - -1, - 1138 - ], - "'END": [ - -1, - 1138 - ], - "'COMMA": [ - -1, - 1138 - ], - "'STRING": [ - -1, - 1138 - ], - "'RPAREN": [ - -1, - 1138 - ], - "'TYPE": [ - -1, - 1138 - ], - "'DATA": [ - -1, - 1138 - ], - "'PARENSPACE": [ - -1, - 1138 - ], - "'SPY": [ - -1, - 1138 - ], - "'EQUALS": [ - -1, - 1138 - ], - "'NEWTYPE": [ - -1, - 1138 - ], - "'LBRACE": [ - -1, - 1138 - ], - "'RBRACE": [ - -1, - 1138 - ], - "'SEMI": [ - -1, - 1138 - ], - "'SHADOW": [ - -1, - 1138 - ], - "'LET": [ - -1, - 1138 - ], - "'BLOCK": [ - -1, - 1138 - ], - "'LETREC": [ - -1, - 1138 - ], - "'TYPE-LET": [ - -1, - 1138 - ], - "'FUN": [ - -1, - 1138 - ], - "'RANGLE": [ - -1, - 1138 - ], - "'GT": [ - -1, - 1138 - ], - "'PARENAFTERBRACE": [ - -1, - 1138 - ], - "'THINARROW": [ - -1, - 1138 - ], - "'WHERE": [ - -1, - 1138 - ], - "'CHECK": [ - -1, - 1138 - ], - "'EXAMPLES": [ - -1, - 1138 - ], - "'CHECKCOLON": [ - -1, - 1138 - ], - "'EXAMPLESCOLON": [ - -1, - 1138 - ], - "'PERCENT": [ - -1, - 1138 - ], - "'BAR": [ - -1, - 1138 - ], - "'VAR": [ - -1, - 1138 - ], - "'REC": [ - -1, - 1138 - ], - "'WHEN": [ - -1, - 1138 - ], - "'DOTDOTDOT": [ - -1, - 1138 - ], - "'NUMBER": [ - -1, - 1138 - ], - "'RATIONAL": [ - -1, - 1138 - ], - "'ROUGHRATIONAL": [ - -1, - 1138 - ], - "'TRUE": [ - -1, - 1138 - ], - "'FALSE": [ - -1, - 1138 - ], - "'LAM": [ - -1, - 1138 - ], - "'METHOD": [ - -1, - 1138 - ], - "'LBRACK": [ - -1, - 1138 - ], - "'TABLE": [ - -1, - 1138 - ], - "'ROW": [ - -1, - 1138 - ], - "'REACTOR": [ - -1, - 1138 - ], - "'IF": [ - -1, - 1138 - ], - "'ELSECOLON": [ - -1, - 1138 - ], - "'ELSEIF": [ - -1, - 1138 - ], - "'ASK": [ - -1, - 1138 - ], - "'CASES": [ - -1, - 1138 - ], - "'FOR": [ - -1, - 1138 - ], - "'TABLE-SELECT": [ - -1, - 1138 - ], - "'TABLE-FILTER": [ - -1, - 1138 - ], - "'TABLE-ORDER": [ - -1, - 1138 - ], - "'TABLE-EXTRACT": [ - -1, - 1138 - ], - "'TABLE-UPDATE": [ - -1, - 1138 - ], - "'TABLE-EXTEND": [ - -1, - 1138 - ], - "'LOAD-TABLE": [ - -1, - 1138 - ], - "'SOURCECOLON": [ - -1, - 1138 - ], - "'SANITIZE": [ - -1, - 1138 - ] - }, - { - "$": [ - -1, - 1140 - ], - "'NAME": [ - -1, - 1140 - ], - "'FROM": [ - -1, - 1140 - ], - "'COLON": [ - -1, - 1140 - ], - "'END": [ - -1, - 1140 - ], - "'COMMA": [ - -1, - 1140 - ], - "'STRING": [ - -1, - 1140 - ], - "'RPAREN": [ - -1, - 1140 - ], - "'TYPE": [ - -1, - 1140 - ], - "'DATA": [ - -1, - 1140 - ], - "'PARENSPACE": [ - -1, - 1140 - ], - "'SPY": [ - -1, - 1140 - ], - "'EQUALS": [ - -1, - 1140 - ], - "'NEWTYPE": [ - -1, - 1140 - ], - "'LBRACE": [ - -1, - 1140 - ], - "'RBRACE": [ - -1, - 1140 - ], - "'SEMI": [ - -1, - 1140 - ], - "'SHADOW": [ - -1, - 1140 - ], - "'LET": [ - -1, - 1140 - ], - "'BLOCK": [ - -1, - 1140 - ], - "'LETREC": [ - -1, - 1140 - ], - "'TYPE-LET": [ - -1, - 1140 - ], - "'FUN": [ - -1, - 1140 - ], - "'RANGLE": [ - -1, - 1140 - ], - "'GT": [ - -1, - 1140 - ], - "'PARENAFTERBRACE": [ - -1, - 1140 - ], - "'THINARROW": [ - -1, - 1140 - ], - "'WHERE": [ - -1, - 1140 - ], - "'CHECK": [ - -1, - 1140 - ], - "'EXAMPLES": [ - -1, - 1140 - ], - "'CHECKCOLON": [ - -1, - 1140 - ], - "'EXAMPLESCOLON": [ - -1, - 1140 - ], - "'PERCENT": [ - -1, - 1140 - ], - "'BAR": [ - -1, - 1140 - ], - "'VAR": [ - -1, - 1140 - ], - "'REC": [ - -1, - 1140 - ], - "'WHEN": [ - -1, - 1140 - ], - "'DOTDOTDOT": [ - -1, - 1140 - ], - "'NUMBER": [ - -1, - 1140 - ], - "'RATIONAL": [ - -1, - 1140 - ], - "'ROUGHRATIONAL": [ - -1, - 1140 - ], - "'TRUE": [ - -1, - 1140 - ], - "'FALSE": [ - -1, - 1140 - ], - "'LAM": [ - -1, - 1140 - ], - "'METHOD": [ - -1, - 1140 - ], - "'LBRACK": [ - -1, - 1140 - ], - "'TABLE": [ - -1, - 1140 - ], - "'ROW": [ - -1, - 1140 - ], - "'REACTOR": [ - -1, - 1140 - ], - "'IF": [ - -1, - 1140 - ], - "'ELSECOLON": [ - -1, - 1140 - ], - "'ELSEIF": [ - -1, - 1140 - ], - "'ASK": [ - -1, - 1140 - ], - "'CASES": [ - -1, - 1140 - ], - "'FOR": [ - -1, - 1140 - ], - "'TABLE-SELECT": [ - -1, - 1140 - ], - "'TABLE-FILTER": [ - -1, - 1140 - ], - "'TABLE-ORDER": [ - -1, - 1140 - ], - "'TABLE-EXTRACT": [ - -1, - 1140 - ], - "'TABLE-UPDATE": [ - -1, - 1140 - ], - "'TABLE-EXTEND": [ - -1, - 1140 - ], - "'LOAD-TABLE": [ - -1, - 1140 - ], - "'SOURCECOLON": [ - -1, - 1140 - ], - "'SANITIZE": [ - -1, - 1140 - ] - }, - { - "$": [ - -1, - 1142 - ], - "'NAME": [ - -1, - 1142 - ], - "'FROM": [ - -1, - 1142 - ], - "'COLON": [ - -1, - 1142 - ], - "'END": [ - -1, - 1142 - ], - "'COMMA": [ - -1, - 1142 - ], - "'STRING": [ - -1, - 1142 - ], - "'RPAREN": [ - -1, - 1142 - ], - "'TYPE": [ - -1, - 1142 - ], - "'DATA": [ - -1, - 1142 - ], - "'PARENSPACE": [ - -1, - 1142 - ], - "'SPY": [ - -1, - 1142 - ], - "'EQUALS": [ - -1, - 1142 - ], - "'NEWTYPE": [ - -1, - 1142 - ], - "'LBRACE": [ - -1, - 1142 - ], - "'RBRACE": [ - -1, - 1142 - ], - "'SEMI": [ - -1, - 1142 - ], - "'SHADOW": [ - -1, - 1142 - ], - "'LET": [ - -1, - 1142 - ], - "'BLOCK": [ - -1, - 1142 - ], - "'LETREC": [ - -1, - 1142 - ], - "'TYPE-LET": [ - -1, - 1142 - ], - "'FUN": [ - -1, - 1142 - ], - "'RANGLE": [ - -1, - 1142 - ], - "'GT": [ - -1, - 1142 - ], - "'PARENAFTERBRACE": [ - -1, - 1142 - ], - "'THINARROW": [ - -1, - 1142 - ], - "'WHERE": [ - -1, - 1142 - ], - "'CHECK": [ - -1, - 1142 - ], - "'EXAMPLES": [ - -1, - 1142 - ], - "'CHECKCOLON": [ - -1, - 1142 - ], - "'EXAMPLESCOLON": [ - -1, - 1142 - ], - "'PERCENT": [ - -1, - 1142 - ], - "'BAR": [ - -1, - 1142 - ], - "'VAR": [ - -1, - 1142 - ], - "'REC": [ - -1, - 1142 - ], - "'WHEN": [ - -1, - 1142 - ], - "'DOTDOTDOT": [ - -1, - 1142 - ], - "'NUMBER": [ - -1, - 1142 - ], - "'RATIONAL": [ - -1, - 1142 - ], - "'ROUGHRATIONAL": [ - -1, - 1142 - ], - "'TRUE": [ - -1, - 1142 - ], - "'FALSE": [ - -1, - 1142 - ], - "'LAM": [ - -1, - 1142 - ], - "'METHOD": [ - -1, - 1142 - ], - "'LBRACK": [ - -1, - 1142 - ], - "'TABLE": [ - -1, - 1142 - ], - "'ROW": [ - -1, - 1142 - ], - "'REACTOR": [ - -1, - 1142 - ], - "'IF": [ - -1, - 1142 - ], - "'ELSECOLON": [ - -1, - 1142 - ], - "'ELSEIF": [ - -1, - 1142 - ], - "'ASK": [ - -1, - 1142 - ], - "'CASES": [ - -1, - 1142 - ], - "'FOR": [ - -1, - 1142 - ], - "'TABLE-SELECT": [ - -1, - 1142 - ], - "'TABLE-FILTER": [ - -1, - 1142 - ], - "'TABLE-ORDER": [ - -1, - 1142 - ], - "'TABLE-EXTRACT": [ - -1, - 1142 - ], - "'TABLE-UPDATE": [ - -1, - 1142 - ], - "'TABLE-EXTEND": [ - -1, - 1142 - ], - "'LOAD-TABLE": [ - -1, - 1142 - ], - "'SOURCECOLON": [ - -1, - 1142 - ], - "'SANITIZE": [ - -1, - 1142 - ] - }, - { - "'END": [ - 859 - ] - }, - { - "'END": [ - 860 - ] - }, - { - "'RBRACK": [ - -1, - 1144 - ] - }, - { - "'RBRACK": [ - -1, - 1146 - ] - }, - { - "'RBRACK": [ - -1, - 1148 - ] - }, - { - "$": [ - -1, - 1150 - ], - "'NAME": [ - -1, - 1150 - ], - "'COLON": [ - -1, - 1150 - ], - "'END": [ - -1, - 1150 - ], - "'COMMA": [ - -1, - 1150 - ], - "'PARENNOSPACE": [ - -1, - 1150 - ], - "'STRING": [ - -1, - 1150 - ], - "'RPAREN": [ - -1, - 1150 - ], - "'TYPE": [ - -1, - 1150 - ], - "'DATA": [ - -1, - 1150 - ], - "'TIMES": [ - -1, - 1150 - ], - "'PARENSPACE": [ - -1, - 1150 - ], - "'DOT": [ - -1, - 1150 - ], - "'SPY": [ - -1, - 1150 - ], - "'NEWTYPE": [ - -1, - 1150 - ], - "'LBRACE": [ - -1, - 1150 - ], - "'RBRACE": [ - -1, - 1150 - ], - "'SEMI": [ - -1, - 1150 - ], - "'SHADOW": [ - -1, - 1150 - ], - "'LET": [ - -1, - 1150 - ], - "'BLOCK": [ - -1, - 1150 - ], - "'LETREC": [ - -1, - 1150 - ], - "'TYPE-LET": [ - -1, - 1150 - ], - "'FUN": [ - -1, - 1150 - ], - "'LANGLE": [ - -1, - 1150 - ], - "'LT": [ - -1, - 1150 - ], - "'GT": [ - -1, - 1150 - ], - "'PARENAFTERBRACE": [ - -1, - 1150 - ], - "'WHERE": [ - -1, - 1150 - ], - "'CHECK": [ - -1, - 1150 - ], - "'EXAMPLES": [ - -1, - 1150 - ], - "'CHECKCOLON": [ - -1, - 1150 - ], - "'EXAMPLESCOLON": [ - -1, - 1150 - ], - "'BECAUSE": [ - -1, - 1150 - ], - "'BAR": [ - -1, - 1150 - ], - "'SHARING": [ - -1, - 1150 - ], - "'VAR": [ - -1, - 1150 - ], - "'REC": [ - -1, - 1150 - ], - "'WHEN": [ - -1, - 1150 - ], - "'PLUS": [ - -1, - 1150 - ], - "'DASH": [ - -1, - 1150 - ], - "'SLASH": [ - -1, - 1150 - ], - "'LEQ": [ - -1, - 1150 - ], - "'GEQ": [ - -1, - 1150 - ], - "'EQUALEQUAL": [ - -1, - 1150 - ], - "'SPACESHIP": [ - -1, - 1150 - ], - "'EQUALTILDE": [ - -1, - 1150 - ], - "'NEQ": [ - -1, - 1150 - ], - "'AND": [ - -1, - 1150 - ], - "'OR": [ - -1, - 1150 - ], - "'CARET": [ - -1, - 1150 - ], - "'IS": [ - -1, - 1150 - ], - "'ISEQUALEQUAL": [ - -1, - 1150 - ], - "'ISEQUALTILDE": [ - -1, - 1150 - ], - "'ISSPACESHIP": [ - -1, - 1150 - ], - "'ISROUGHLY": [ - -1, - 1150 - ], - "'ISNOT": [ - -1, - 1150 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1150 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1150 - ], - "'ISNOTSPACESHIP": [ - -1, - 1150 - ], - "'RAISES": [ - -1, - 1150 - ], - "'RAISESOTHER": [ - -1, - 1150 - ], - "'SATISFIES": [ - -1, - 1150 - ], - "'SATISFIESNOT": [ - -1, - 1150 - ], - "'RAISESSATISFIES": [ - -1, - 1150 - ], - "'RAISESVIOLATES": [ - -1, - 1150 - ], - "'RAISESNOT": [ - -1, - 1150 - ], - "'DOTDOTDOT": [ - -1, - 1150 - ], - "'NUMBER": [ - -1, - 1150 - ], - "'RATIONAL": [ - -1, - 1150 - ], - "'ROUGHRATIONAL": [ - -1, - 1150 - ], - "'TRUE": [ - -1, - 1150 - ], - "'FALSE": [ - -1, - 1150 - ], - "'LAM": [ - -1, - 1150 - ], - "'METHOD": [ - -1, - 1150 - ], - "'LBRACK": [ - -1, - 1150 - ], - "'RBRACK": [ - -1, - 1150 - ], - "'TABLE": [ - -1, - 1150 - ], - "'ROW": [ - -1, - 1150 - ], - "'REACTOR": [ - -1, - 1150 - ], - "'BANG": [ - -1, - 1150 - ], - "'IF": [ - -1, - 1150 - ], - "'ELSECOLON": [ - -1, - 1150 - ], - "'ELSEIF": [ - -1, - 1150 - ], - "'ASK": [ - -1, - 1150 - ], - "'THENCOLON": [ - -1, - 1150 - ], - "'CASES": [ - -1, - 1150 - ], - "'FOR": [ - -1, - 1150 - ], - "'TABLE-SELECT": [ - -1, - 1150 - ], - "'TABLE-FILTER": [ - -1, - 1150 - ], - "'USING": [ - -1, - 1150 - ], - "'TABLE-ORDER": [ - -1, - 1150 - ], - "'TABLE-EXTRACT": [ - -1, - 1150 - ], - "'TABLE-UPDATE": [ - -1, - 1150 - ], - "'TABLE-EXTEND": [ - -1, - 1150 - ], - "'OF": [ - -1, - 1150 - ], - "'LOAD-TABLE": [ - -1, - 1150 - ], - "'SOURCECOLON": [ - -1, - 1150 - ], - "'SANITIZE": [ - -1, - 1150 - ] - }, - { - "'COMMA": [ - 861 - ], - "'END": [ - -1, - 1152 - ], - "'ROW": [ - -1, - 1152 - ] - }, - { - "'NAME": [ - -1, - 1154 - ], - "'STRING": [ - -1, - 1154 - ], - "'PARENSPACE": [ - -1, - 1154 - ], - "'LBRACE": [ - -1, - 1154 - ], - "'LET": [ - -1, - 1154 - ], - "'BLOCK": [ - -1, - 1154 - ], - "'LETREC": [ - -1, - 1154 - ], - "'TYPE-LET": [ - -1, - 1154 - ], - "'PARENAFTERBRACE": [ - -1, - 1154 - ], - "'DOTDOTDOT": [ - -1, - 1154 - ], - "'NUMBER": [ - -1, - 1154 - ], - "'RATIONAL": [ - -1, - 1154 - ], - "'ROUGHRATIONAL": [ - -1, - 1154 - ], - "'TRUE": [ - -1, - 1154 - ], - "'FALSE": [ - -1, - 1154 - ], - "'LAM": [ - -1, - 1154 - ], - "'METHOD": [ - -1, - 1154 - ], - "'LBRACK": [ - -1, - 1154 - ], - "'TABLE": [ - -1, - 1154 - ], - "'REACTOR": [ - -1, - 1154 - ], - "'IF": [ - -1, - 1154 - ], - "'ASK": [ - -1, - 1154 - ], - "'CASES": [ - -1, - 1154 - ], - "'FOR": [ - -1, - 1154 - ], - "'TABLE-SELECT": [ - -1, - 1154 - ], - "'TABLE-FILTER": [ - -1, - 1154 - ], - "'TABLE-ORDER": [ - -1, - 1154 - ], - "'TABLE-EXTRACT": [ - -1, - 1154 - ], - "'TABLE-UPDATE": [ - -1, - 1154 - ], - "'TABLE-EXTEND": [ - -1, - 1154 - ], - "'LOAD-TABLE": [ - -1, - 1154 - ] - }, - { - "'NAME": [ - -1, - 1156 - ], - "'STRING": [ - -1, - 1156 - ], - "'PARENSPACE": [ - -1, - 1156 - ], - "'LBRACE": [ - -1, - 1156 - ], - "'LET": [ - -1, - 1156 - ], - "'BLOCK": [ - -1, - 1156 - ], - "'LETREC": [ - -1, - 1156 - ], - "'TYPE-LET": [ - -1, - 1156 - ], - "'PARENAFTERBRACE": [ - -1, - 1156 - ], - "'DOTDOTDOT": [ - -1, - 1156 - ], - "'NUMBER": [ - -1, - 1156 - ], - "'RATIONAL": [ - -1, - 1156 - ], - "'ROUGHRATIONAL": [ - -1, - 1156 - ], - "'TRUE": [ - -1, - 1156 - ], - "'FALSE": [ - -1, - 1156 - ], - "'LAM": [ - -1, - 1156 - ], - "'METHOD": [ - -1, - 1156 - ], - "'LBRACK": [ - -1, - 1156 - ], - "'TABLE": [ - -1, - 1156 - ], - "'REACTOR": [ - -1, - 1156 - ], - "'IF": [ - -1, - 1156 - ], - "'ASK": [ - -1, - 1156 - ], - "'CASES": [ - -1, - 1156 - ], - "'FOR": [ - -1, - 1156 - ], - "'TABLE-SELECT": [ - -1, - 1156 - ], - "'TABLE-FILTER": [ - -1, - 1156 - ], - "'TABLE-ORDER": [ - -1, - 1156 - ], - "'TABLE-EXTRACT": [ - -1, - 1156 - ], - "'TABLE-UPDATE": [ - -1, - 1156 - ], - "'TABLE-EXTEND": [ - -1, - 1156 - ], - "'LOAD-TABLE": [ - -1, - 1156 - ] - }, - { - "'NAME": [ - -1, - 1158 - ], - "'END": [ - -1, - 1158 - ], - "'STRING": [ - -1, - 1158 - ], - "'TYPE": [ - -1, - 1158 - ], - "'DATA": [ - -1, - 1158 - ], - "'PARENSPACE": [ - -1, - 1158 - ], - "'SPY": [ - -1, - 1158 - ], - "'NEWTYPE": [ - -1, - 1158 - ], - "'LBRACE": [ - -1, - 1158 - ], - "'SHADOW": [ - -1, - 1158 - ], - "'LET": [ - -1, - 1158 - ], - "'BLOCK": [ - -1, - 1158 - ], - "'LETREC": [ - -1, - 1158 - ], - "'TYPE-LET": [ - -1, - 1158 - ], - "'FUN": [ - -1, - 1158 - ], - "'PARENAFTERBRACE": [ - -1, - 1158 - ], - "'DOC": [ - -1, - 1158 - ], - "'WHERE": [ - -1, - 1158 - ], - "'CHECK": [ - -1, - 1158 - ], - "'EXAMPLES": [ - -1, - 1158 - ], - "'CHECKCOLON": [ - -1, - 1158 - ], - "'EXAMPLESCOLON": [ - -1, - 1158 - ], - "'VAR": [ - -1, - 1158 - ], - "'REC": [ - -1, - 1158 - ], - "'WHEN": [ - -1, - 1158 - ], - "'DOTDOTDOT": [ - -1, - 1158 - ], - "'NUMBER": [ - -1, - 1158 - ], - "'RATIONAL": [ - -1, - 1158 - ], - "'ROUGHRATIONAL": [ - -1, - 1158 - ], - "'TRUE": [ - -1, - 1158 - ], - "'FALSE": [ - -1, - 1158 - ], - "'LAM": [ - -1, - 1158 - ], - "'METHOD": [ - -1, - 1158 - ], - "'LBRACK": [ - -1, - 1158 - ], - "'TABLE": [ - -1, - 1158 - ], - "'REACTOR": [ - -1, - 1158 - ], - "'IF": [ - -1, - 1158 - ], - "'ASK": [ - -1, - 1158 - ], - "'CASES": [ - -1, - 1158 - ], - "'FOR": [ - -1, - 1158 - ], - "'TABLE-SELECT": [ - -1, - 1158 - ], - "'TABLE-FILTER": [ - -1, - 1158 - ], - "'TABLE-ORDER": [ - -1, - 1158 - ], - "'TABLE-EXTRACT": [ - -1, - 1158 - ], - "'TABLE-UPDATE": [ - -1, - 1158 - ], - "'TABLE-EXTEND": [ - -1, - 1158 - ], - "'LOAD-TABLE": [ - -1, - 1158 - ] - }, - { - "'NAME": [ - -1, - 1160 - ], - "'END": [ - -1, - 1160 - ], - "'STRING": [ - -1, - 1160 - ], - "'TYPE": [ - -1, - 1160 - ], - "'DATA": [ - -1, - 1160 - ], - "'PARENSPACE": [ - -1, - 1160 - ], - "'SPY": [ - -1, - 1160 - ], - "'NEWTYPE": [ - -1, - 1160 - ], - "'LBRACE": [ - -1, - 1160 - ], - "'SHADOW": [ - -1, - 1160 - ], - "'LET": [ - -1, - 1160 - ], - "'BLOCK": [ - -1, - 1160 - ], - "'LETREC": [ - -1, - 1160 - ], - "'TYPE-LET": [ - -1, - 1160 - ], - "'FUN": [ - -1, - 1160 - ], - "'PARENAFTERBRACE": [ - -1, - 1160 - ], - "'DOC": [ - -1, - 1160 - ], - "'WHERE": [ - -1, - 1160 - ], - "'CHECK": [ - -1, - 1160 - ], - "'EXAMPLES": [ - -1, - 1160 - ], - "'CHECKCOLON": [ - -1, - 1160 - ], - "'EXAMPLESCOLON": [ - -1, - 1160 - ], - "'VAR": [ - -1, - 1160 - ], - "'REC": [ - -1, - 1160 - ], - "'WHEN": [ - -1, - 1160 - ], - "'DOTDOTDOT": [ - -1, - 1160 - ], - "'NUMBER": [ - -1, - 1160 - ], - "'RATIONAL": [ - -1, - 1160 - ], - "'ROUGHRATIONAL": [ - -1, - 1160 - ], - "'TRUE": [ - -1, - 1160 - ], - "'FALSE": [ - -1, - 1160 - ], - "'LAM": [ - -1, - 1160 - ], - "'METHOD": [ - -1, - 1160 - ], - "'LBRACK": [ - -1, - 1160 - ], - "'TABLE": [ - -1, - 1160 - ], - "'REACTOR": [ - -1, - 1160 - ], - "'IF": [ - -1, - 1160 - ], - "'ASK": [ - -1, - 1160 - ], - "'CASES": [ - -1, - 1160 - ], - "'FOR": [ - -1, - 1160 - ], - "'TABLE-SELECT": [ - -1, - 1160 - ], - "'TABLE-FILTER": [ - -1, - 1160 - ], - "'TABLE-ORDER": [ - -1, - 1160 - ], - "'TABLE-EXTRACT": [ - -1, - 1160 - ], - "'TABLE-UPDATE": [ - -1, - 1160 - ], - "'TABLE-EXTEND": [ - -1, - 1160 - ], - "'LOAD-TABLE": [ - -1, - 1160 - ] - }, - { - "doc-string": [ - 862 - ], - "doc-string_I0?": [ - 470 - ], - "doc-string_I0": [ - 471 - ], - "'DOC": [ - 472 - ], - "'NAME": [ - -1, - 430, - 432 - ], - "'END": [ - -1, - 430, - 432 - ], - "'STRING": [ - -1, - 430, - 432 - ], - "'TYPE": [ - -1, - 430, - 432 - ], - "'DATA": [ - -1, - 430, - 432 - ], - "'PARENSPACE": [ - -1, - 430, - 432 - ], - "'SPY": [ - -1, - 430, - 432 - ], - "'NEWTYPE": [ - -1, - 430, - 432 - ], - "'LBRACE": [ - -1, - 430, - 432 - ], - "'SHADOW": [ - -1, - 430, - 432 - ], - "'LET": [ - -1, - 430, - 432 - ], - "'BLOCK": [ - -1, - 430, - 432 - ], - "'LETREC": [ - -1, - 430, - 432 - ], - "'TYPE-LET": [ - -1, - 430, - 432 - ], - "'FUN": [ - -1, - 430, - 432 - ], - "'PARENAFTERBRACE": [ - -1, - 430, - 432 - ], - "'WHERE": [ - -1, - 430, - 432 - ], - "'CHECK": [ - -1, - 430, - 432 - ], - "'EXAMPLES": [ - -1, - 430, - 432 - ], - "'CHECKCOLON": [ - -1, - 430, - 432 - ], - "'EXAMPLESCOLON": [ - -1, - 430, - 432 - ], - "'VAR": [ - -1, - 430, - 432 - ], - "'REC": [ - -1, - 430, - 432 - ], - "'WHEN": [ - -1, - 430, - 432 - ], - "'DOTDOTDOT": [ - -1, - 430, - 432 - ], - "'NUMBER": [ - -1, - 430, - 432 - ], - "'RATIONAL": [ - -1, - 430, - 432 - ], - "'ROUGHRATIONAL": [ - -1, - 430, - 432 - ], - "'TRUE": [ - -1, - 430, - 432 - ], - "'FALSE": [ - -1, - 430, - 432 - ], - "'LAM": [ - -1, - 430, - 432 - ], - "'METHOD": [ - -1, - 430, - 432 - ], - "'LBRACK": [ - -1, - 430, - 432 - ], - "'TABLE": [ - -1, - 430, - 432 - ], - "'REACTOR": [ - -1, - 430, - 432 - ], - "'IF": [ - -1, - 430, - 432 - ], - "'ASK": [ - -1, - 430, - 432 - ], - "'CASES": [ - -1, - 430, - 432 - ], - "'FOR": [ - -1, - 430, - 432 - ], - "'TABLE-SELECT": [ - -1, - 430, - 432 - ], - "'TABLE-FILTER": [ - -1, - 430, - 432 - ], - "'TABLE-ORDER": [ - -1, - 430, - 432 - ], - "'TABLE-EXTRACT": [ - -1, - 430, - 432 - ], - "'TABLE-UPDATE": [ - -1, - 430, - 432 - ], - "'TABLE-EXTEND": [ - -1, - 430, - 432 - ], - "'LOAD-TABLE": [ - -1, - 430, - 432 - ] - }, - { - "'END": [ - -1, - 1162 - ], - "'COMMA": [ - -1, - 1162 - ], - "'RBRACE": [ - -1, - 1162 - ], - "'WHERE": [ - -1, - 1162 - ], - "'BAR": [ - -1, - 1162 - ], - "'SHARING": [ - -1, - 1162 - ] - }, - { - "'END": [ - 863 - ] - }, - { - "'END": [ - -1, - 1164 - ], - "'ELSECOLON": [ - -1, - 1164 - ], - "'ELSEIF": [ - -1, - 1164 - ] - }, - { - "'END": [ - -1, - 1166 - ], - "'ELSECOLON": [ - -1, - 1166 - ], - "'ELSEIF": [ - -1, - 1166 - ] - }, - { - "'END": [ - -1, - 1168 - ] - }, - { - "block": [ - 864 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1170, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 865 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "block": [ - 866 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1172, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'BAR": [ - -1, - 1172, - 8, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'END": [ - -1, - 1174 - ] - }, - { - "'END": [ - -1, - 1176 - ], - "'BAR": [ - -1, - 1176 - ] - }, - { - "'END": [ - -1, - 1178 - ], - "'BAR": [ - -1, - 1178 - ] - }, - { - "cases-expr_I6*": [ - 867 - ], - "'END": [ - -1, - 1180 - ], - "'BAR": [ - -1, - 1180 - ] - }, - { - "'COMMA": [ - -1, - 1182 - ], - "'RPAREN": [ - -1, - 1182 - ] - }, - { - "binding": [ - 550 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "for-bind": [ - 868 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COMMA": [ - -1, - 1184 - ], - "'RPAREN": [ - -1, - 1184 - ] - }, - { - "'COLON": [ - 869 - ], - "'BLOCK": [ - 870 - ], - "for-expr_I6": [ - 871 - ] - }, - { - "$": [ - -1, - 1186 - ], - "'NAME": [ - -1, - 1186 - ], - "'COLON": [ - -1, - 1186 - ], - "'END": [ - -1, - 1186 - ], - "'COMMA": [ - -1, - 1186 - ], - "'PARENNOSPACE": [ - -1, - 1186 - ], - "'STRING": [ - -1, - 1186 - ], - "'RPAREN": [ - -1, - 1186 - ], - "'TYPE": [ - -1, - 1186 - ], - "'DATA": [ - -1, - 1186 - ], - "'TIMES": [ - -1, - 1186 - ], - "'PARENSPACE": [ - -1, - 1186 - ], - "'DOT": [ - -1, - 1186 - ], - "'SPY": [ - -1, - 1186 - ], - "'NEWTYPE": [ - -1, - 1186 - ], - "'LBRACE": [ - -1, - 1186 - ], - "'RBRACE": [ - -1, - 1186 - ], - "'SEMI": [ - -1, - 1186 - ], - "'SHADOW": [ - -1, - 1186 - ], - "'LET": [ - -1, - 1186 - ], - "'BLOCK": [ - -1, - 1186 - ], - "'LETREC": [ - -1, - 1186 - ], - "'TYPE-LET": [ - -1, - 1186 - ], - "'FUN": [ - -1, - 1186 - ], - "'LANGLE": [ - -1, - 1186 - ], - "'LT": [ - -1, - 1186 - ], - "'GT": [ - -1, - 1186 - ], - "'PARENAFTERBRACE": [ - -1, - 1186 - ], - "'WHERE": [ - -1, - 1186 - ], - "'CHECK": [ - -1, - 1186 - ], - "'EXAMPLES": [ - -1, - 1186 - ], - "'CHECKCOLON": [ - -1, - 1186 - ], - "'EXAMPLESCOLON": [ - -1, - 1186 - ], - "'BECAUSE": [ - -1, - 1186 - ], - "'BAR": [ - -1, - 1186 - ], - "'SHARING": [ - -1, - 1186 - ], - "'VAR": [ - -1, - 1186 - ], - "'REC": [ - -1, - 1186 - ], - "'WHEN": [ - -1, - 1186 - ], - "'PLUS": [ - -1, - 1186 - ], - "'DASH": [ - -1, - 1186 - ], - "'SLASH": [ - -1, - 1186 - ], - "'LEQ": [ - -1, - 1186 - ], - "'GEQ": [ - -1, - 1186 - ], - "'EQUALEQUAL": [ - -1, - 1186 - ], - "'SPACESHIP": [ - -1, - 1186 - ], - "'EQUALTILDE": [ - -1, - 1186 - ], - "'NEQ": [ - -1, - 1186 - ], - "'AND": [ - -1, - 1186 - ], - "'OR": [ - -1, - 1186 - ], - "'CARET": [ - -1, - 1186 - ], - "'IS": [ - -1, - 1186 - ], - "'ISEQUALEQUAL": [ - -1, - 1186 - ], - "'ISEQUALTILDE": [ - -1, - 1186 - ], - "'ISSPACESHIP": [ - -1, - 1186 - ], - "'ISROUGHLY": [ - -1, - 1186 - ], - "'ISNOT": [ - -1, - 1186 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1186 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1186 - ], - "'ISNOTSPACESHIP": [ - -1, - 1186 - ], - "'RAISES": [ - -1, - 1186 - ], - "'RAISESOTHER": [ - -1, - 1186 - ], - "'SATISFIES": [ - -1, - 1186 - ], - "'SATISFIESNOT": [ - -1, - 1186 - ], - "'RAISESSATISFIES": [ - -1, - 1186 - ], - "'RAISESVIOLATES": [ - -1, - 1186 - ], - "'RAISESNOT": [ - -1, - 1186 - ], - "'DOTDOTDOT": [ - -1, - 1186 - ], - "'NUMBER": [ - -1, - 1186 - ], - "'RATIONAL": [ - -1, - 1186 - ], - "'ROUGHRATIONAL": [ - -1, - 1186 - ], - "'TRUE": [ - -1, - 1186 - ], - "'FALSE": [ - -1, - 1186 - ], - "'LAM": [ - -1, - 1186 - ], - "'METHOD": [ - -1, - 1186 - ], - "'LBRACK": [ - -1, - 1186 - ], - "'RBRACK": [ - -1, - 1186 - ], - "'TABLE": [ - -1, - 1186 - ], - "'ROW": [ - -1, - 1186 - ], - "'REACTOR": [ - -1, - 1186 - ], - "'BANG": [ - -1, - 1186 - ], - "'IF": [ - -1, - 1186 - ], - "'ELSECOLON": [ - -1, - 1186 - ], - "'ELSEIF": [ - -1, - 1186 - ], - "'ASK": [ - -1, - 1186 - ], - "'THENCOLON": [ - -1, - 1186 - ], - "'CASES": [ - -1, - 1186 - ], - "'FOR": [ - -1, - 1186 - ], - "'TABLE-SELECT": [ - -1, - 1186 - ], - "'TABLE-FILTER": [ - -1, - 1186 - ], - "'USING": [ - -1, - 1186 - ], - "'TABLE-ORDER": [ - -1, - 1186 - ], - "'TABLE-EXTRACT": [ - -1, - 1186 - ], - "'TABLE-UPDATE": [ - -1, - 1186 - ], - "'TABLE-EXTEND": [ - -1, - 1186 - ], - "'OF": [ - -1, - 1186 - ], - "'LOAD-TABLE": [ - -1, - 1186 - ], - "'SOURCECOLON": [ - -1, - 1186 - ], - "'SANITIZE": [ - -1, - 1186 - ] - }, - { - "$": [ - -1, - 1188 - ], - "'NAME": [ - -1, - 1188 - ], - "'COLON": [ - -1, - 1188 - ], - "'END": [ - -1, - 1188 - ], - "'COMMA": [ - -1, - 1188 - ], - "'PARENNOSPACE": [ - -1, - 1188 - ], - "'STRING": [ - -1, - 1188 - ], - "'RPAREN": [ - -1, - 1188 - ], - "'TYPE": [ - -1, - 1188 - ], - "'DATA": [ - -1, - 1188 - ], - "'TIMES": [ - -1, - 1188 - ], - "'PARENSPACE": [ - -1, - 1188 - ], - "'DOT": [ - -1, - 1188 - ], - "'SPY": [ - -1, - 1188 - ], - "'NEWTYPE": [ - -1, - 1188 - ], - "'LBRACE": [ - -1, - 1188 - ], - "'RBRACE": [ - -1, - 1188 - ], - "'SEMI": [ - -1, - 1188 - ], - "'SHADOW": [ - -1, - 1188 - ], - "'LET": [ - -1, - 1188 - ], - "'BLOCK": [ - -1, - 1188 - ], - "'LETREC": [ - -1, - 1188 - ], - "'TYPE-LET": [ - -1, - 1188 - ], - "'FUN": [ - -1, - 1188 - ], - "'LANGLE": [ - -1, - 1188 - ], - "'LT": [ - -1, - 1188 - ], - "'GT": [ - -1, - 1188 - ], - "'PARENAFTERBRACE": [ - -1, - 1188 - ], - "'WHERE": [ - -1, - 1188 - ], - "'CHECK": [ - -1, - 1188 - ], - "'EXAMPLES": [ - -1, - 1188 - ], - "'CHECKCOLON": [ - -1, - 1188 - ], - "'EXAMPLESCOLON": [ - -1, - 1188 - ], - "'BECAUSE": [ - -1, - 1188 - ], - "'BAR": [ - -1, - 1188 - ], - "'SHARING": [ - -1, - 1188 - ], - "'VAR": [ - -1, - 1188 - ], - "'REC": [ - -1, - 1188 - ], - "'WHEN": [ - -1, - 1188 - ], - "'PLUS": [ - -1, - 1188 - ], - "'DASH": [ - -1, - 1188 - ], - "'SLASH": [ - -1, - 1188 - ], - "'LEQ": [ - -1, - 1188 - ], - "'GEQ": [ - -1, - 1188 - ], - "'EQUALEQUAL": [ - -1, - 1188 - ], - "'SPACESHIP": [ - -1, - 1188 - ], - "'EQUALTILDE": [ - -1, - 1188 - ], - "'NEQ": [ - -1, - 1188 - ], - "'AND": [ - -1, - 1188 - ], - "'OR": [ - -1, - 1188 - ], - "'CARET": [ - -1, - 1188 - ], - "'IS": [ - -1, - 1188 - ], - "'ISEQUALEQUAL": [ - -1, - 1188 - ], - "'ISEQUALTILDE": [ - -1, - 1188 - ], - "'ISSPACESHIP": [ - -1, - 1188 - ], - "'ISROUGHLY": [ - -1, - 1188 - ], - "'ISNOT": [ - -1, - 1188 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1188 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1188 - ], - "'ISNOTSPACESHIP": [ - -1, - 1188 - ], - "'RAISES": [ - -1, - 1188 - ], - "'RAISESOTHER": [ - -1, - 1188 - ], - "'SATISFIES": [ - -1, - 1188 - ], - "'SATISFIESNOT": [ - -1, - 1188 - ], - "'RAISESSATISFIES": [ - -1, - 1188 - ], - "'RAISESVIOLATES": [ - -1, - 1188 - ], - "'RAISESNOT": [ - -1, - 1188 - ], - "'DOTDOTDOT": [ - -1, - 1188 - ], - "'NUMBER": [ - -1, - 1188 - ], - "'RATIONAL": [ - -1, - 1188 - ], - "'ROUGHRATIONAL": [ - -1, - 1188 - ], - "'TRUE": [ - -1, - 1188 - ], - "'FALSE": [ - -1, - 1188 - ], - "'LAM": [ - -1, - 1188 - ], - "'METHOD": [ - -1, - 1188 - ], - "'LBRACK": [ - -1, - 1188 - ], - "'RBRACK": [ - -1, - 1188 - ], - "'TABLE": [ - -1, - 1188 - ], - "'ROW": [ - -1, - 1188 - ], - "'REACTOR": [ - -1, - 1188 - ], - "'BANG": [ - -1, - 1188 - ], - "'IF": [ - -1, - 1188 - ], - "'ELSECOLON": [ - -1, - 1188 - ], - "'ELSEIF": [ - -1, - 1188 - ], - "'ASK": [ - -1, - 1188 - ], - "'THENCOLON": [ - -1, - 1188 - ], - "'CASES": [ - -1, - 1188 - ], - "'FOR": [ - -1, - 1188 - ], - "'TABLE-SELECT": [ - -1, - 1188 - ], - "'TABLE-FILTER": [ - -1, - 1188 - ], - "'USING": [ - -1, - 1188 - ], - "'TABLE-ORDER": [ - -1, - 1188 - ], - "'TABLE-EXTRACT": [ - -1, - 1188 - ], - "'TABLE-UPDATE": [ - -1, - 1188 - ], - "'TABLE-EXTEND": [ - -1, - 1188 - ], - "'OF": [ - -1, - 1188 - ], - "'LOAD-TABLE": [ - -1, - 1188 - ], - "'SOURCECOLON": [ - -1, - 1188 - ], - "'SANITIZE": [ - -1, - 1188 - ] - }, - { - "binding": [ - 872 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COLON": [ - -1, - 1190 - ], - "'COMMA": [ - -1, - 1190 - ] - }, - { - "$": [ - -1, - 1192 - ], - "'NAME": [ - -1, - 1192 - ], - "'COLON": [ - -1, - 1192 - ], - "'END": [ - -1, - 1192 - ], - "'COMMA": [ - -1, - 1192 - ], - "'PARENNOSPACE": [ - -1, - 1192 - ], - "'STRING": [ - -1, - 1192 - ], - "'RPAREN": [ - -1, - 1192 - ], - "'TYPE": [ - -1, - 1192 - ], - "'DATA": [ - -1, - 1192 - ], - "'TIMES": [ - -1, - 1192 - ], - "'PARENSPACE": [ - -1, - 1192 - ], - "'DOT": [ - -1, - 1192 - ], - "'SPY": [ - -1, - 1192 - ], - "'NEWTYPE": [ - -1, - 1192 - ], - "'LBRACE": [ - -1, - 1192 - ], - "'RBRACE": [ - -1, - 1192 - ], - "'SEMI": [ - -1, - 1192 - ], - "'SHADOW": [ - -1, - 1192 - ], - "'LET": [ - -1, - 1192 - ], - "'BLOCK": [ - -1, - 1192 - ], - "'LETREC": [ - -1, - 1192 - ], - "'TYPE-LET": [ - -1, - 1192 - ], - "'FUN": [ - -1, - 1192 - ], - "'LANGLE": [ - -1, - 1192 - ], - "'LT": [ - -1, - 1192 - ], - "'GT": [ - -1, - 1192 - ], - "'PARENAFTERBRACE": [ - -1, - 1192 - ], - "'WHERE": [ - -1, - 1192 - ], - "'CHECK": [ - -1, - 1192 - ], - "'EXAMPLES": [ - -1, - 1192 - ], - "'CHECKCOLON": [ - -1, - 1192 - ], - "'EXAMPLESCOLON": [ - -1, - 1192 - ], - "'BECAUSE": [ - -1, - 1192 - ], - "'BAR": [ - -1, - 1192 - ], - "'SHARING": [ - -1, - 1192 - ], - "'VAR": [ - -1, - 1192 - ], - "'REC": [ - -1, - 1192 - ], - "'WHEN": [ - -1, - 1192 - ], - "'PLUS": [ - -1, - 1192 - ], - "'DASH": [ - -1, - 1192 - ], - "'SLASH": [ - -1, - 1192 - ], - "'LEQ": [ - -1, - 1192 - ], - "'GEQ": [ - -1, - 1192 - ], - "'EQUALEQUAL": [ - -1, - 1192 - ], - "'SPACESHIP": [ - -1, - 1192 - ], - "'EQUALTILDE": [ - -1, - 1192 - ], - "'NEQ": [ - -1, - 1192 - ], - "'AND": [ - -1, - 1192 - ], - "'OR": [ - -1, - 1192 - ], - "'CARET": [ - -1, - 1192 - ], - "'IS": [ - -1, - 1192 - ], - "'ISEQUALEQUAL": [ - -1, - 1192 - ], - "'ISEQUALTILDE": [ - -1, - 1192 - ], - "'ISSPACESHIP": [ - -1, - 1192 - ], - "'ISROUGHLY": [ - -1, - 1192 - ], - "'ISNOT": [ - -1, - 1192 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1192 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1192 - ], - "'ISNOTSPACESHIP": [ - -1, - 1192 - ], - "'RAISES": [ - -1, - 1192 - ], - "'RAISESOTHER": [ - -1, - 1192 - ], - "'SATISFIES": [ - -1, - 1192 - ], - "'SATISFIESNOT": [ - -1, - 1192 - ], - "'RAISESSATISFIES": [ - -1, - 1192 - ], - "'RAISESVIOLATES": [ - -1, - 1192 - ], - "'RAISESNOT": [ - -1, - 1192 - ], - "'DOTDOTDOT": [ - -1, - 1192 - ], - "'NUMBER": [ - -1, - 1192 - ], - "'RATIONAL": [ - -1, - 1192 - ], - "'ROUGHRATIONAL": [ - -1, - 1192 - ], - "'TRUE": [ - -1, - 1192 - ], - "'FALSE": [ - -1, - 1192 - ], - "'LAM": [ - -1, - 1192 - ], - "'METHOD": [ - -1, - 1192 - ], - "'LBRACK": [ - -1, - 1192 - ], - "'RBRACK": [ - -1, - 1192 - ], - "'TABLE": [ - -1, - 1192 - ], - "'ROW": [ - -1, - 1192 - ], - "'REACTOR": [ - -1, - 1192 - ], - "'BANG": [ - -1, - 1192 - ], - "'IF": [ - -1, - 1192 - ], - "'ELSECOLON": [ - -1, - 1192 - ], - "'ELSEIF": [ - -1, - 1192 - ], - "'ASK": [ - -1, - 1192 - ], - "'THENCOLON": [ - -1, - 1192 - ], - "'CASES": [ - -1, - 1192 - ], - "'FOR": [ - -1, - 1192 - ], - "'TABLE-SELECT": [ - -1, - 1192 - ], - "'TABLE-FILTER": [ - -1, - 1192 - ], - "'USING": [ - -1, - 1192 - ], - "'TABLE-ORDER": [ - -1, - 1192 - ], - "'TABLE-EXTRACT": [ - -1, - 1192 - ], - "'TABLE-UPDATE": [ - -1, - 1192 - ], - "'TABLE-EXTEND": [ - -1, - 1192 - ], - "'OF": [ - -1, - 1192 - ], - "'LOAD-TABLE": [ - -1, - 1192 - ], - "'SOURCECOLON": [ - -1, - 1192 - ], - "'SANITIZE": [ - -1, - 1192 - ] - }, - { - "'NAME": [ - 559 - ], - "column-order": [ - 873 - ] - }, - { - "'END": [ - -1, - 1194 - ], - "'COMMA": [ - -1, - 1194 - ] - }, - { - "binding": [ - 874 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COLON": [ - -1, - 1196 - ], - "'COMMA": [ - -1, - 1196 - ] - }, - { - "$": [ - -1, - 1198 - ], - "'NAME": [ - -1, - 1198 - ], - "'COLON": [ - -1, - 1198 - ], - "'END": [ - -1, - 1198 - ], - "'COMMA": [ - -1, - 1198 - ], - "'PARENNOSPACE": [ - -1, - 1198 - ], - "'STRING": [ - -1, - 1198 - ], - "'RPAREN": [ - -1, - 1198 - ], - "'TYPE": [ - -1, - 1198 - ], - "'DATA": [ - -1, - 1198 - ], - "'TIMES": [ - -1, - 1198 - ], - "'PARENSPACE": [ - -1, - 1198 - ], - "'DOT": [ - -1, - 1198 - ], - "'SPY": [ - -1, - 1198 - ], - "'NEWTYPE": [ - -1, - 1198 - ], - "'LBRACE": [ - -1, - 1198 - ], - "'RBRACE": [ - -1, - 1198 - ], - "'SEMI": [ - -1, - 1198 - ], - "'SHADOW": [ - -1, - 1198 - ], - "'LET": [ - -1, - 1198 - ], - "'BLOCK": [ - -1, - 1198 - ], - "'LETREC": [ - -1, - 1198 - ], - "'TYPE-LET": [ - -1, - 1198 - ], - "'FUN": [ - -1, - 1198 - ], - "'LANGLE": [ - -1, - 1198 - ], - "'LT": [ - -1, - 1198 - ], - "'GT": [ - -1, - 1198 - ], - "'PARENAFTERBRACE": [ - -1, - 1198 - ], - "'WHERE": [ - -1, - 1198 - ], - "'CHECK": [ - -1, - 1198 - ], - "'EXAMPLES": [ - -1, - 1198 - ], - "'CHECKCOLON": [ - -1, - 1198 - ], - "'EXAMPLESCOLON": [ - -1, - 1198 - ], - "'BECAUSE": [ - -1, - 1198 - ], - "'BAR": [ - -1, - 1198 - ], - "'SHARING": [ - -1, - 1198 - ], - "'VAR": [ - -1, - 1198 - ], - "'REC": [ - -1, - 1198 - ], - "'WHEN": [ - -1, - 1198 - ], - "'PLUS": [ - -1, - 1198 - ], - "'DASH": [ - -1, - 1198 - ], - "'SLASH": [ - -1, - 1198 - ], - "'LEQ": [ - -1, - 1198 - ], - "'GEQ": [ - -1, - 1198 - ], - "'EQUALEQUAL": [ - -1, - 1198 - ], - "'SPACESHIP": [ - -1, - 1198 - ], - "'EQUALTILDE": [ - -1, - 1198 - ], - "'NEQ": [ - -1, - 1198 - ], - "'AND": [ - -1, - 1198 - ], - "'OR": [ - -1, - 1198 - ], - "'CARET": [ - -1, - 1198 - ], - "'IS": [ - -1, - 1198 - ], - "'ISEQUALEQUAL": [ - -1, - 1198 - ], - "'ISEQUALTILDE": [ - -1, - 1198 - ], - "'ISSPACESHIP": [ - -1, - 1198 - ], - "'ISROUGHLY": [ - -1, - 1198 - ], - "'ISNOT": [ - -1, - 1198 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1198 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1198 - ], - "'ISNOTSPACESHIP": [ - -1, - 1198 - ], - "'RAISES": [ - -1, - 1198 - ], - "'RAISESOTHER": [ - -1, - 1198 - ], - "'SATISFIES": [ - -1, - 1198 - ], - "'SATISFIESNOT": [ - -1, - 1198 - ], - "'RAISESSATISFIES": [ - -1, - 1198 - ], - "'RAISESVIOLATES": [ - -1, - 1198 - ], - "'RAISESNOT": [ - -1, - 1198 - ], - "'DOTDOTDOT": [ - -1, - 1198 - ], - "'NUMBER": [ - -1, - 1198 - ], - "'RATIONAL": [ - -1, - 1198 - ], - "'ROUGHRATIONAL": [ - -1, - 1198 - ], - "'TRUE": [ - -1, - 1198 - ], - "'FALSE": [ - -1, - 1198 - ], - "'LAM": [ - -1, - 1198 - ], - "'METHOD": [ - -1, - 1198 - ], - "'LBRACK": [ - -1, - 1198 - ], - "'RBRACK": [ - -1, - 1198 - ], - "'TABLE": [ - -1, - 1198 - ], - "'ROW": [ - -1, - 1198 - ], - "'REACTOR": [ - -1, - 1198 - ], - "'BANG": [ - -1, - 1198 - ], - "'IF": [ - -1, - 1198 - ], - "'ELSECOLON": [ - -1, - 1198 - ], - "'ELSEIF": [ - -1, - 1198 - ], - "'ASK": [ - -1, - 1198 - ], - "'THENCOLON": [ - -1, - 1198 - ], - "'CASES": [ - -1, - 1198 - ], - "'FOR": [ - -1, - 1198 - ], - "'TABLE-SELECT": [ - -1, - 1198 - ], - "'TABLE-FILTER": [ - -1, - 1198 - ], - "'USING": [ - -1, - 1198 - ], - "'TABLE-ORDER": [ - -1, - 1198 - ], - "'TABLE-EXTRACT": [ - -1, - 1198 - ], - "'TABLE-UPDATE": [ - -1, - 1198 - ], - "'TABLE-EXTEND": [ - -1, - 1198 - ], - "'OF": [ - -1, - 1198 - ], - "'LOAD-TABLE": [ - -1, - 1198 - ], - "'SOURCECOLON": [ - -1, - 1198 - ], - "'SANITIZE": [ - -1, - 1198 - ] - }, - { - "binding": [ - 875 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'COLON": [ - -1, - 1200 - ], - "'COMMA": [ - -1, - 1200 - ] - }, - { - "$": [ - -1, - 1202 - ], - "'NAME": [ - -1, - 1202 - ], - "'COLON": [ - -1, - 1202 - ], - "'END": [ - -1, - 1202 - ], - "'COMMA": [ - -1, - 1202 - ], - "'PARENNOSPACE": [ - -1, - 1202 - ], - "'STRING": [ - -1, - 1202 - ], - "'RPAREN": [ - -1, - 1202 - ], - "'TYPE": [ - -1, - 1202 - ], - "'DATA": [ - -1, - 1202 - ], - "'TIMES": [ - -1, - 1202 - ], - "'PARENSPACE": [ - -1, - 1202 - ], - "'DOT": [ - -1, - 1202 - ], - "'SPY": [ - -1, - 1202 - ], - "'NEWTYPE": [ - -1, - 1202 - ], - "'LBRACE": [ - -1, - 1202 - ], - "'RBRACE": [ - -1, - 1202 - ], - "'SEMI": [ - -1, - 1202 - ], - "'SHADOW": [ - -1, - 1202 - ], - "'LET": [ - -1, - 1202 - ], - "'BLOCK": [ - -1, - 1202 - ], - "'LETREC": [ - -1, - 1202 - ], - "'TYPE-LET": [ - -1, - 1202 - ], - "'FUN": [ - -1, - 1202 - ], - "'LANGLE": [ - -1, - 1202 - ], - "'LT": [ - -1, - 1202 - ], - "'GT": [ - -1, - 1202 - ], - "'PARENAFTERBRACE": [ - -1, - 1202 - ], - "'WHERE": [ - -1, - 1202 - ], - "'CHECK": [ - -1, - 1202 - ], - "'EXAMPLES": [ - -1, - 1202 - ], - "'CHECKCOLON": [ - -1, - 1202 - ], - "'EXAMPLESCOLON": [ - -1, - 1202 - ], - "'BECAUSE": [ - -1, - 1202 - ], - "'BAR": [ - -1, - 1202 - ], - "'SHARING": [ - -1, - 1202 - ], - "'VAR": [ - -1, - 1202 - ], - "'REC": [ - -1, - 1202 - ], - "'WHEN": [ - -1, - 1202 - ], - "'PLUS": [ - -1, - 1202 - ], - "'DASH": [ - -1, - 1202 - ], - "'SLASH": [ - -1, - 1202 - ], - "'LEQ": [ - -1, - 1202 - ], - "'GEQ": [ - -1, - 1202 - ], - "'EQUALEQUAL": [ - -1, - 1202 - ], - "'SPACESHIP": [ - -1, - 1202 - ], - "'EQUALTILDE": [ - -1, - 1202 - ], - "'NEQ": [ - -1, - 1202 - ], - "'AND": [ - -1, - 1202 - ], - "'OR": [ - -1, - 1202 - ], - "'CARET": [ - -1, - 1202 - ], - "'IS": [ - -1, - 1202 - ], - "'ISEQUALEQUAL": [ - -1, - 1202 - ], - "'ISEQUALTILDE": [ - -1, - 1202 - ], - "'ISSPACESHIP": [ - -1, - 1202 - ], - "'ISROUGHLY": [ - -1, - 1202 - ], - "'ISNOT": [ - -1, - 1202 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1202 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1202 - ], - "'ISNOTSPACESHIP": [ - -1, - 1202 - ], - "'RAISES": [ - -1, - 1202 - ], - "'RAISESOTHER": [ - -1, - 1202 - ], - "'SATISFIES": [ - -1, - 1202 - ], - "'SATISFIESNOT": [ - -1, - 1202 - ], - "'RAISESSATISFIES": [ - -1, - 1202 - ], - "'RAISESVIOLATES": [ - -1, - 1202 - ], - "'RAISESNOT": [ - -1, - 1202 - ], - "'DOTDOTDOT": [ - -1, - 1202 - ], - "'NUMBER": [ - -1, - 1202 - ], - "'RATIONAL": [ - -1, - 1202 - ], - "'ROUGHRATIONAL": [ - -1, - 1202 - ], - "'TRUE": [ - -1, - 1202 - ], - "'FALSE": [ - -1, - 1202 - ], - "'LAM": [ - -1, - 1202 - ], - "'METHOD": [ - -1, - 1202 - ], - "'LBRACK": [ - -1, - 1202 - ], - "'RBRACK": [ - -1, - 1202 - ], - "'TABLE": [ - -1, - 1202 - ], - "'ROW": [ - -1, - 1202 - ], - "'REACTOR": [ - -1, - 1202 - ], - "'BANG": [ - -1, - 1202 - ], - "'IF": [ - -1, - 1202 - ], - "'ELSECOLON": [ - -1, - 1202 - ], - "'ELSEIF": [ - -1, - 1202 - ], - "'ASK": [ - -1, - 1202 - ], - "'THENCOLON": [ - -1, - 1202 - ], - "'CASES": [ - -1, - 1202 - ], - "'FOR": [ - -1, - 1202 - ], - "'TABLE-SELECT": [ - -1, - 1202 - ], - "'TABLE-FILTER": [ - -1, - 1202 - ], - "'USING": [ - -1, - 1202 - ], - "'TABLE-ORDER": [ - -1, - 1202 - ], - "'TABLE-EXTRACT": [ - -1, - 1202 - ], - "'TABLE-UPDATE": [ - -1, - 1202 - ], - "'TABLE-EXTEND": [ - -1, - 1202 - ], - "'OF": [ - -1, - 1202 - ], - "'LOAD-TABLE": [ - -1, - 1202 - ], - "'SOURCECOLON": [ - -1, - 1202 - ], - "'SANITIZE": [ - -1, - 1202 - ] - }, - { - "'COLONCOLON": [ - 876 - ], - "table-extend-field_A0_I1?": [ - 877 - ], - "table-extend-field_A0_I1": [ - 878 - ], - "table-extend-field_A1_I1?": [ - 879 - ], - "table-extend-field_A1_I1": [ - 880 - ], - "'COLON": [ - -1, - 1204, - 1206 - ] - }, - { - "'COMMA": [ - 881 - ], - "table-extend-fields_I2?": [ - 882 - ], - "table-extend-fields_I2": [ - 883 - ], - "'END": [ - -1, - 1208, - 1210 - ] - }, - { - "'NAME": [ - -1, - 1212 - ] - }, - { - "'NAME": [ - -1, - 1214 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "'END": [ - -1, - 1216 - ], - "'SOURCECOLON": [ - -1, - 1216 - ], - "'SANITIZE": [ - -1, - 1216 - ] - }, - { - "'USING": [ - 884 - ] - }, - { - "$": [ - -1, - 1218 - ], - "'NAME": [ - -1, - 1218 - ], - "'INCLUDE": [ - -1, - 1218 - ], - "'IMPORT": [ - -1, - 1218 - ], - "'STRING": [ - -1, - 1218 - ], - "'TYPE": [ - -1, - 1218 - ], - "'DATA": [ - -1, - 1218 - ], - "'PROVIDE": [ - -1, - 1218 - ], - "'PROVIDE-TYPES": [ - -1, - 1218 - ], - "'PROVIDECOLON": [ - -1, - 1218 - ], - "'PARENSPACE": [ - -1, - 1218 - ], - "'SPY": [ - -1, - 1218 - ], - "'NEWTYPE": [ - -1, - 1218 - ], - "'LBRACE": [ - -1, - 1218 - ], - "'SHADOW": [ - -1, - 1218 - ], - "'LET": [ - -1, - 1218 - ], - "'BLOCK": [ - -1, - 1218 - ], - "'LETREC": [ - -1, - 1218 - ], - "'TYPE-LET": [ - -1, - 1218 - ], - "'FUN": [ - -1, - 1218 - ], - "'PARENAFTERBRACE": [ - -1, - 1218 - ], - "'CHECK": [ - -1, - 1218 - ], - "'EXAMPLES": [ - -1, - 1218 - ], - "'CHECKCOLON": [ - -1, - 1218 - ], - "'EXAMPLESCOLON": [ - -1, - 1218 - ], - "'VAR": [ - -1, - 1218 - ], - "'REC": [ - -1, - 1218 - ], - "'WHEN": [ - -1, - 1218 - ], - "'DOTDOTDOT": [ - -1, - 1218 - ], - "'NUMBER": [ - -1, - 1218 - ], - "'RATIONAL": [ - -1, - 1218 - ], - "'ROUGHRATIONAL": [ - -1, - 1218 - ], - "'TRUE": [ - -1, - 1218 - ], - "'FALSE": [ - -1, - 1218 - ], - "'LAM": [ - -1, - 1218 - ], - "'METHOD": [ - -1, - 1218 - ], - "'LBRACK": [ - -1, - 1218 - ], - "'TABLE": [ - -1, - 1218 - ], - "'REACTOR": [ - -1, - 1218 - ], - "'IF": [ - -1, - 1218 - ], - "'ASK": [ - -1, - 1218 - ], - "'CASES": [ - -1, - 1218 - ], - "'FOR": [ - -1, - 1218 - ], - "'TABLE-SELECT": [ - -1, - 1218 - ], - "'TABLE-FILTER": [ - -1, - 1218 - ], - "'TABLE-ORDER": [ - -1, - 1218 - ], - "'TABLE-EXTRACT": [ - -1, - 1218 - ], - "'TABLE-UPDATE": [ - -1, - 1218 - ], - "'TABLE-EXTEND": [ - -1, - 1218 - ], - "'LOAD-TABLE": [ - -1, - 1218 - ] - }, - { - "import-stmt_A1_I4_I2?": [ - 885 - ], - "import-stmt_A1_I4_I1": [ - 886 - ], - "'COMMA": [ - 887 - ], - "import-stmt_A1_I4_I2": [ - 888 - ], - "'END": [ - -1, - 1220, - 1222 - ] - }, - { - "'END": [ - -1, - 1224 - ], - "'COMMA": [ - -1, - 1224 - ] - }, - { - "include-data-spec_I2?": [ - 889 - ], - "include-data-spec_I2": [ - 890 - ], - "hiding-spec": [ - 891 - ], - "'HIDING": [ - 422 - ], - "'END": [ - -1, - 1226, - 1228 - ], - "'COMMA": [ - -1, - 1226, - 1228 - ] - }, - { - "'END": [ - -1, - 1230 - ], - "'COMMA": [ - -1, - 1230 - ] - }, - { - "'COMMA": [ - 892 - ], - "provide-block_A1_I4_I2?": [ - 893 - ], - "provide-block_A1_I4_I1": [ - 894 - ], - "provide-block_A1_I4_I2": [ - 895 - ], - "'END": [ - -1, - 1232, - 1234 - ] - }, - { - "$": [ - -1, - 1236 - ], - "'NAME": [ - -1, - 1236 - ], - "'INCLUDE": [ - -1, - 1236 - ], - "'IMPORT": [ - -1, - 1236 - ], - "'STRING": [ - -1, - 1236 - ], - "'TYPE": [ - -1, - 1236 - ], - "'DATA": [ - -1, - 1236 - ], - "'PROVIDE": [ - -1, - 1236 - ], - "'PROVIDE-TYPES": [ - -1, - 1236 - ], - "'PROVIDECOLON": [ - -1, - 1236 - ], - "'PARENSPACE": [ - -1, - 1236 - ], - "'SPY": [ - -1, - 1236 - ], - "'NEWTYPE": [ - -1, - 1236 - ], - "'LBRACE": [ - -1, - 1236 - ], - "'SHADOW": [ - -1, - 1236 - ], - "'LET": [ - -1, - 1236 - ], - "'BLOCK": [ - -1, - 1236 - ], - "'LETREC": [ - -1, - 1236 - ], - "'TYPE-LET": [ - -1, - 1236 - ], - "'FUN": [ - -1, - 1236 - ], - "'PARENAFTERBRACE": [ - -1, - 1236 - ], - "'CHECK": [ - -1, - 1236 - ], - "'EXAMPLES": [ - -1, - 1236 - ], - "'CHECKCOLON": [ - -1, - 1236 - ], - "'EXAMPLESCOLON": [ - -1, - 1236 - ], - "'VAR": [ - -1, - 1236 - ], - "'REC": [ - -1, - 1236 - ], - "'WHEN": [ - -1, - 1236 - ], - "'DOTDOTDOT": [ - -1, - 1236 - ], - "'NUMBER": [ - -1, - 1236 - ], - "'RATIONAL": [ - -1, - 1236 - ], - "'ROUGHRATIONAL": [ - -1, - 1236 - ], - "'TRUE": [ - -1, - 1236 - ], - "'FALSE": [ - -1, - 1236 - ], - "'LAM": [ - -1, - 1236 - ], - "'METHOD": [ - -1, - 1236 - ], - "'LBRACK": [ - -1, - 1236 - ], - "'TABLE": [ - -1, - 1236 - ], - "'REACTOR": [ - -1, - 1236 - ], - "'IF": [ - -1, - 1236 - ], - "'ASK": [ - -1, - 1236 - ], - "'CASES": [ - -1, - 1236 - ], - "'FOR": [ - -1, - 1236 - ], - "'TABLE-SELECT": [ - -1, - 1236 - ], - "'TABLE-FILTER": [ - -1, - 1236 - ], - "'TABLE-ORDER": [ - -1, - 1236 - ], - "'TABLE-EXTRACT": [ - -1, - 1236 - ], - "'TABLE-UPDATE": [ - -1, - 1236 - ], - "'TABLE-EXTEND": [ - -1, - 1236 - ], - "'LOAD-TABLE": [ - -1, - 1236 - ] - }, - { - "'COMMA": [ - -1, - 1238 - ], - "'RPAREN": [ - -1, - 1238 - ], - "'RBRACE": [ - -1, - 1238 - ] - }, - { - "'END": [ - -1, - 1240 - ], - "'COMMA": [ - -1, - 1240 - ] - }, - { - "'COMMA": [ - 896 - ], - "'RPAREN": [ - -1, - 1242 - ] - }, - { - "'NAME": [ - -1, - 1244 - ] - }, - { - "'COMMA": [ - -1, - 1246 - ], - "'RPAREN": [ - -1, - 1246 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COMMA": [ - -1, - 1248 - ], - "'RANGLE": [ - -1, - 1248 - ], - "'GT": [ - -1, - 1248 - ], - "'THINARROW": [ - -1, - 1248 - ] - }, - { - "'RPAREN": [ - 897 - ] - }, - { - "'RPAREN": [ - -1, - 1250 - ] - }, - { - "variant-members_I1_I1*": [ - 898 - ], - "'COMMA": [ - -1, - 1252 - ], - "'RPAREN": [ - -1, - 1254, - 1252 - ] - }, - { - "binding": [ - 899 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'NAME": [ - -1, - 1256 - ], - "'LBRACE": [ - -1, - 1256 - ], - "'SHADOW": [ - -1, - 1256 - ] - }, - { - "'NAME": [ - -1, - 1258 - ], - "'LBRACE": [ - -1, - 1258 - ], - "'SHADOW": [ - -1, - 1258 - ] - }, - { - "'END": [ - -1, - 1260 - ], - "'WHERE": [ - -1, - 1260 - ], - "'BAR": [ - -1, - 1260 - ], - "'SHARING": [ - -1, - 1260 - ] - }, - { - "where-clause": [ - 900 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "'END": [ - -1, - 1262 - ], - "'WHERE": [ - -1, - 1262 - ], - "'BAR": [ - -1, - 1262 - ], - "'SHARING": [ - -1, - 1262 - ] - }, - { - "'END": [ - -1, - 1264 - ], - "'WHERE": [ - -1, - 1264 - ], - "'BAR": [ - -1, - 1264 - ], - "'SHARING": [ - -1, - 1264 - ] - }, - { - "'NAME": [ - 901 - ], - "variant-constructor": [ - 902 - ] - }, - { - "'END": [ - -1, - 1266 - ], - "'WHERE": [ - -1, - 1266 - ] - }, - { - "'END": [ - -1, - 1268 - ], - "'WHERE": [ - -1, - 1268 - ] - }, - { - "'NAME": [ - 291 - ], - "fields": [ - 903 - ], - "'METHOD": [ - 376 - ], - "key": [ - 377 - ], - "field": [ - 378 - ] - }, - { - "'END": [ - -1, - 1270 - ], - "'COMMA": [ - -1, - 1270 - ] - }, - { - "'COMMA": [ - -1, - 1272 - ], - "'RPAREN": [ - -1, - 1272 - ] - }, - { - "'COMMA": [ - -1, - 1274 - ], - "'RPAREN": [ - -1, - 1274 - ] - }, - { - "'FROM": [ - -1, - 1276 - ], - "'COLON": [ - -1, - 1276 - ], - "'COMMA": [ - -1, - 1276 - ], - "'RPAREN": [ - -1, - 1276 - ], - "'EQUALS": [ - -1, - 1276 - ], - "'RBRACE": [ - -1, - 1276 - ], - "'SEMI": [ - -1, - 1276 - ] - }, - { - "$": [ - -1, - 1278 - ], - "'NAME": [ - -1, - 1278 - ], - "'COLON": [ - -1, - 1278 - ], - "'END": [ - -1, - 1278 - ], - "'COMMA": [ - -1, - 1278 - ], - "'PARENNOSPACE": [ - -1, - 1278 - ], - "'STRING": [ - -1, - 1278 - ], - "'RPAREN": [ - -1, - 1278 - ], - "'TYPE": [ - -1, - 1278 - ], - "'DATA": [ - -1, - 1278 - ], - "'TIMES": [ - -1, - 1278 - ], - "'PARENSPACE": [ - -1, - 1278 - ], - "'DOT": [ - -1, - 1278 - ], - "'SPY": [ - -1, - 1278 - ], - "'NEWTYPE": [ - -1, - 1278 - ], - "'LBRACE": [ - -1, - 1278 - ], - "'RBRACE": [ - -1, - 1278 - ], - "'SEMI": [ - -1, - 1278 - ], - "'SHADOW": [ - -1, - 1278 - ], - "'LET": [ - -1, - 1278 - ], - "'BLOCK": [ - -1, - 1278 - ], - "'LETREC": [ - -1, - 1278 - ], - "'TYPE-LET": [ - -1, - 1278 - ], - "'FUN": [ - -1, - 1278 - ], - "'LANGLE": [ - -1, - 1278 - ], - "'LT": [ - -1, - 1278 - ], - "'GT": [ - -1, - 1278 - ], - "'PARENAFTERBRACE": [ - -1, - 1278 - ], - "'WHERE": [ - -1, - 1278 - ], - "'CHECK": [ - -1, - 1278 - ], - "'EXAMPLES": [ - -1, - 1278 - ], - "'CHECKCOLON": [ - -1, - 1278 - ], - "'EXAMPLESCOLON": [ - -1, - 1278 - ], - "'BECAUSE": [ - -1, - 1278 - ], - "'BAR": [ - -1, - 1278 - ], - "'SHARING": [ - -1, - 1278 - ], - "'VAR": [ - -1, - 1278 - ], - "'REC": [ - -1, - 1278 - ], - "'WHEN": [ - -1, - 1278 - ], - "'PLUS": [ - -1, - 1278 - ], - "'DASH": [ - -1, - 1278 - ], - "'SLASH": [ - -1, - 1278 - ], - "'LEQ": [ - -1, - 1278 - ], - "'GEQ": [ - -1, - 1278 - ], - "'EQUALEQUAL": [ - -1, - 1278 - ], - "'SPACESHIP": [ - -1, - 1278 - ], - "'EQUALTILDE": [ - -1, - 1278 - ], - "'NEQ": [ - -1, - 1278 - ], - "'AND": [ - -1, - 1278 - ], - "'OR": [ - -1, - 1278 - ], - "'CARET": [ - -1, - 1278 - ], - "'IS": [ - -1, - 1278 - ], - "'ISEQUALEQUAL": [ - -1, - 1278 - ], - "'ISEQUALTILDE": [ - -1, - 1278 - ], - "'ISSPACESHIP": [ - -1, - 1278 - ], - "'ISROUGHLY": [ - -1, - 1278 - ], - "'ISNOT": [ - -1, - 1278 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1278 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1278 - ], - "'ISNOTSPACESHIP": [ - -1, - 1278 - ], - "'RAISES": [ - -1, - 1278 - ], - "'RAISESOTHER": [ - -1, - 1278 - ], - "'SATISFIES": [ - -1, - 1278 - ], - "'SATISFIESNOT": [ - -1, - 1278 - ], - "'RAISESSATISFIES": [ - -1, - 1278 - ], - "'RAISESVIOLATES": [ - -1, - 1278 - ], - "'RAISESNOT": [ - -1, - 1278 - ], - "'DOTDOTDOT": [ - -1, - 1278 - ], - "'NUMBER": [ - -1, - 1278 - ], - "'RATIONAL": [ - -1, - 1278 - ], - "'ROUGHRATIONAL": [ - -1, - 1278 - ], - "'TRUE": [ - -1, - 1278 - ], - "'FALSE": [ - -1, - 1278 - ], - "'LAM": [ - -1, - 1278 - ], - "'METHOD": [ - -1, - 1278 - ], - "'LBRACK": [ - -1, - 1278 - ], - "'RBRACK": [ - -1, - 1278 - ], - "'TABLE": [ - -1, - 1278 - ], - "'ROW": [ - -1, - 1278 - ], - "'REACTOR": [ - -1, - 1278 - ], - "'BANG": [ - -1, - 1278 - ], - "'IF": [ - -1, - 1278 - ], - "'ELSECOLON": [ - -1, - 1278 - ], - "'ELSEIF": [ - -1, - 1278 - ], - "'ASK": [ - -1, - 1278 - ], - "'THENCOLON": [ - -1, - 1278 - ], - "'CASES": [ - -1, - 1278 - ], - "'FOR": [ - -1, - 1278 - ], - "'TABLE-SELECT": [ - -1, - 1278 - ], - "'TABLE-FILTER": [ - -1, - 1278 - ], - "'USING": [ - -1, - 1278 - ], - "'TABLE-ORDER": [ - -1, - 1278 - ], - "'TABLE-EXTRACT": [ - -1, - 1278 - ], - "'TABLE-UPDATE": [ - -1, - 1278 - ], - "'TABLE-EXTEND": [ - -1, - 1278 - ], - "'OF": [ - -1, - 1278 - ], - "'LOAD-TABLE": [ - -1, - 1278 - ], - "'SOURCECOLON": [ - -1, - 1278 - ], - "'SANITIZE": [ - -1, - 1278 - ] - }, - { - "'END": [ - -1, - 1280 - ], - "'RBRACE": [ - -1, - 1280 - ] - }, - { - "where-clause": [ - 904 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "'END": [ - 905 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 906 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "$": [ - -1, - 1282 - ], - "'NAME": [ - -1, - 1282 - ], - "'COLON": [ - -1, - 1282 - ], - "'END": [ - -1, - 1282 - ], - "'COMMA": [ - -1, - 1282 - ], - "'PARENNOSPACE": [ - -1, - 1282 - ], - "'STRING": [ - -1, - 1282 - ], - "'RPAREN": [ - -1, - 1282 - ], - "'TYPE": [ - -1, - 1282 - ], - "'DATA": [ - -1, - 1282 - ], - "'TIMES": [ - -1, - 1282 - ], - "'PARENSPACE": [ - -1, - 1282 - ], - "'DOT": [ - -1, - 1282 - ], - "'SPY": [ - -1, - 1282 - ], - "'NEWTYPE": [ - -1, - 1282 - ], - "'LBRACE": [ - -1, - 1282 - ], - "'RBRACE": [ - -1, - 1282 - ], - "'SEMI": [ - -1, - 1282 - ], - "'SHADOW": [ - -1, - 1282 - ], - "'LET": [ - -1, - 1282 - ], - "'BLOCK": [ - -1, - 1282 - ], - "'LETREC": [ - -1, - 1282 - ], - "'TYPE-LET": [ - -1, - 1282 - ], - "'FUN": [ - -1, - 1282 - ], - "'LANGLE": [ - -1, - 1282 - ], - "'LT": [ - -1, - 1282 - ], - "'GT": [ - -1, - 1282 - ], - "'PARENAFTERBRACE": [ - -1, - 1282 - ], - "'WHERE": [ - -1, - 1282 - ], - "'CHECK": [ - -1, - 1282 - ], - "'EXAMPLES": [ - -1, - 1282 - ], - "'CHECKCOLON": [ - -1, - 1282 - ], - "'EXAMPLESCOLON": [ - -1, - 1282 - ], - "'BECAUSE": [ - -1, - 1282 - ], - "'BAR": [ - -1, - 1282 - ], - "'SHARING": [ - -1, - 1282 - ], - "'VAR": [ - -1, - 1282 - ], - "'REC": [ - -1, - 1282 - ], - "'WHEN": [ - -1, - 1282 - ], - "'PLUS": [ - -1, - 1282 - ], - "'DASH": [ - -1, - 1282 - ], - "'SLASH": [ - -1, - 1282 - ], - "'LEQ": [ - -1, - 1282 - ], - "'GEQ": [ - -1, - 1282 - ], - "'EQUALEQUAL": [ - -1, - 1282 - ], - "'SPACESHIP": [ - -1, - 1282 - ], - "'EQUALTILDE": [ - -1, - 1282 - ], - "'NEQ": [ - -1, - 1282 - ], - "'AND": [ - -1, - 1282 - ], - "'OR": [ - -1, - 1282 - ], - "'CARET": [ - -1, - 1282 - ], - "'IS": [ - -1, - 1282 - ], - "'ISEQUALEQUAL": [ - -1, - 1282 - ], - "'ISEQUALTILDE": [ - -1, - 1282 - ], - "'ISSPACESHIP": [ - -1, - 1282 - ], - "'ISROUGHLY": [ - -1, - 1282 - ], - "'ISNOT": [ - -1, - 1282 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1282 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1282 - ], - "'ISNOTSPACESHIP": [ - -1, - 1282 - ], - "'RAISES": [ - -1, - 1282 - ], - "'RAISESOTHER": [ - -1, - 1282 - ], - "'SATISFIES": [ - -1, - 1282 - ], - "'SATISFIESNOT": [ - -1, - 1282 - ], - "'RAISESSATISFIES": [ - -1, - 1282 - ], - "'RAISESVIOLATES": [ - -1, - 1282 - ], - "'RAISESNOT": [ - -1, - 1282 - ], - "'DOTDOTDOT": [ - -1, - 1282 - ], - "'NUMBER": [ - -1, - 1282 - ], - "'RATIONAL": [ - -1, - 1282 - ], - "'ROUGHRATIONAL": [ - -1, - 1282 - ], - "'TRUE": [ - -1, - 1282 - ], - "'FALSE": [ - -1, - 1282 - ], - "'LAM": [ - -1, - 1282 - ], - "'METHOD": [ - -1, - 1282 - ], - "'LBRACK": [ - -1, - 1282 - ], - "'RBRACK": [ - -1, - 1282 - ], - "'TABLE": [ - -1, - 1282 - ], - "'ROW": [ - -1, - 1282 - ], - "'REACTOR": [ - -1, - 1282 - ], - "'BANG": [ - -1, - 1282 - ], - "'IF": [ - -1, - 1282 - ], - "'ELSECOLON": [ - -1, - 1282 - ], - "'ELSEIF": [ - -1, - 1282 - ], - "'ASK": [ - -1, - 1282 - ], - "'THENCOLON": [ - -1, - 1282 - ], - "'CASES": [ - -1, - 1282 - ], - "'FOR": [ - -1, - 1282 - ], - "'TABLE-SELECT": [ - -1, - 1282 - ], - "'TABLE-FILTER": [ - -1, - 1282 - ], - "'USING": [ - -1, - 1282 - ], - "'TABLE-ORDER": [ - -1, - 1282 - ], - "'TABLE-EXTRACT": [ - -1, - 1282 - ], - "'TABLE-UPDATE": [ - -1, - 1282 - ], - "'TABLE-EXTEND": [ - -1, - 1282 - ], - "'OF": [ - -1, - 1282 - ], - "'LOAD-TABLE": [ - -1, - 1282 - ], - "'SOURCECOLON": [ - -1, - 1282 - ], - "'SANITIZE": [ - -1, - 1282 - ] - }, - { - "'COMMA": [ - -1, - 1284 - ], - "'RPAREN": [ - -1, - 1284 - ] - }, - { - "$": [ - -1, - 1286 - ], - "'NAME": [ - -1, - 1286 - ], - "'FROM": [ - -1, - 1286 - ], - "'COLON": [ - -1, - 1286 - ], - "'END": [ - -1, - 1286 - ], - "'COMMA": [ - -1, - 1286 - ], - "'STRING": [ - -1, - 1286 - ], - "'RPAREN": [ - -1, - 1286 - ], - "'TYPE": [ - -1, - 1286 - ], - "'DATA": [ - -1, - 1286 - ], - "'PARENSPACE": [ - -1, - 1286 - ], - "'SPY": [ - -1, - 1286 - ], - "'EQUALS": [ - -1, - 1286 - ], - "'NEWTYPE": [ - -1, - 1286 - ], - "'LBRACE": [ - -1, - 1286 - ], - "'RBRACE": [ - -1, - 1286 - ], - "'SEMI": [ - -1, - 1286 - ], - "'SHADOW": [ - -1, - 1286 - ], - "'LET": [ - -1, - 1286 - ], - "'BLOCK": [ - -1, - 1286 - ], - "'LETREC": [ - -1, - 1286 - ], - "'TYPE-LET": [ - -1, - 1286 - ], - "'FUN": [ - -1, - 1286 - ], - "'RANGLE": [ - -1, - 1286 - ], - "'GT": [ - -1, - 1286 - ], - "'PARENAFTERBRACE": [ - -1, - 1286 - ], - "'THINARROW": [ - -1, - 1286 - ], - "'WHERE": [ - -1, - 1286 - ], - "'CHECK": [ - -1, - 1286 - ], - "'EXAMPLES": [ - -1, - 1286 - ], - "'CHECKCOLON": [ - -1, - 1286 - ], - "'EXAMPLESCOLON": [ - -1, - 1286 - ], - "'PERCENT": [ - -1, - 1286 - ], - "'BAR": [ - -1, - 1286 - ], - "'VAR": [ - -1, - 1286 - ], - "'REC": [ - -1, - 1286 - ], - "'WHEN": [ - -1, - 1286 - ], - "'DOTDOTDOT": [ - -1, - 1286 - ], - "'NUMBER": [ - -1, - 1286 - ], - "'RATIONAL": [ - -1, - 1286 - ], - "'ROUGHRATIONAL": [ - -1, - 1286 - ], - "'TRUE": [ - -1, - 1286 - ], - "'FALSE": [ - -1, - 1286 - ], - "'LAM": [ - -1, - 1286 - ], - "'METHOD": [ - -1, - 1286 - ], - "'LBRACK": [ - -1, - 1286 - ], - "'TABLE": [ - -1, - 1286 - ], - "'ROW": [ - -1, - 1286 - ], - "'REACTOR": [ - -1, - 1286 - ], - "'IF": [ - -1, - 1286 - ], - "'ELSECOLON": [ - -1, - 1286 - ], - "'ELSEIF": [ - -1, - 1286 - ], - "'ASK": [ - -1, - 1286 - ], - "'CASES": [ - -1, - 1286 - ], - "'FOR": [ - -1, - 1286 - ], - "'TABLE-SELECT": [ - -1, - 1286 - ], - "'TABLE-FILTER": [ - -1, - 1286 - ], - "'TABLE-ORDER": [ - -1, - 1286 - ], - "'TABLE-EXTRACT": [ - -1, - 1286 - ], - "'TABLE-UPDATE": [ - -1, - 1286 - ], - "'TABLE-EXTEND": [ - -1, - 1286 - ], - "'LOAD-TABLE": [ - -1, - 1286 - ], - "'SOURCECOLON": [ - -1, - 1286 - ], - "'SANITIZE": [ - -1, - 1286 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'RBRACE": [ - -1, - 1288 - ], - "'SEMI": [ - -1, - 1288 - ] - }, - { - "$": [ - -1, - 1290 - ], - "'NAME": [ - -1, - 1290 - ], - "'FROM": [ - -1, - 1290 - ], - "'COLON": [ - -1, - 1290 - ], - "'END": [ - -1, - 1290 - ], - "'COMMA": [ - -1, - 1290 - ], - "'STRING": [ - -1, - 1290 - ], - "'RPAREN": [ - -1, - 1290 - ], - "'TYPE": [ - -1, - 1290 - ], - "'DATA": [ - -1, - 1290 - ], - "'PARENSPACE": [ - -1, - 1290 - ], - "'SPY": [ - -1, - 1290 - ], - "'EQUALS": [ - -1, - 1290 - ], - "'NEWTYPE": [ - -1, - 1290 - ], - "'LBRACE": [ - -1, - 1290 - ], - "'RBRACE": [ - -1, - 1290 - ], - "'SEMI": [ - -1, - 1290 - ], - "'SHADOW": [ - -1, - 1290 - ], - "'LET": [ - -1, - 1290 - ], - "'BLOCK": [ - -1, - 1290 - ], - "'LETREC": [ - -1, - 1290 - ], - "'TYPE-LET": [ - -1, - 1290 - ], - "'FUN": [ - -1, - 1290 - ], - "'RANGLE": [ - -1, - 1290 - ], - "'GT": [ - -1, - 1290 - ], - "'PARENAFTERBRACE": [ - -1, - 1290 - ], - "'THINARROW": [ - -1, - 1290 - ], - "'WHERE": [ - -1, - 1290 - ], - "'CHECK": [ - -1, - 1290 - ], - "'EXAMPLES": [ - -1, - 1290 - ], - "'CHECKCOLON": [ - -1, - 1290 - ], - "'EXAMPLESCOLON": [ - -1, - 1290 - ], - "'PERCENT": [ - -1, - 1290 - ], - "'BAR": [ - -1, - 1290 - ], - "'VAR": [ - -1, - 1290 - ], - "'REC": [ - -1, - 1290 - ], - "'WHEN": [ - -1, - 1290 - ], - "'DOTDOTDOT": [ - -1, - 1290 - ], - "'NUMBER": [ - -1, - 1290 - ], - "'RATIONAL": [ - -1, - 1290 - ], - "'ROUGHRATIONAL": [ - -1, - 1290 - ], - "'TRUE": [ - -1, - 1290 - ], - "'FALSE": [ - -1, - 1290 - ], - "'LAM": [ - -1, - 1290 - ], - "'METHOD": [ - -1, - 1290 - ], - "'LBRACK": [ - -1, - 1290 - ], - "'TABLE": [ - -1, - 1290 - ], - "'ROW": [ - -1, - 1290 - ], - "'REACTOR": [ - -1, - 1290 - ], - "'IF": [ - -1, - 1290 - ], - "'ELSECOLON": [ - -1, - 1290 - ], - "'ELSEIF": [ - -1, - 1290 - ], - "'ASK": [ - -1, - 1290 - ], - "'CASES": [ - -1, - 1290 - ], - "'FOR": [ - -1, - 1290 - ], - "'TABLE-SELECT": [ - -1, - 1290 - ], - "'TABLE-FILTER": [ - -1, - 1290 - ], - "'TABLE-ORDER": [ - -1, - 1290 - ], - "'TABLE-EXTRACT": [ - -1, - 1290 - ], - "'TABLE-UPDATE": [ - -1, - 1290 - ], - "'TABLE-EXTEND": [ - -1, - 1290 - ], - "'LOAD-TABLE": [ - -1, - 1290 - ], - "'SOURCECOLON": [ - -1, - 1290 - ], - "'SANITIZE": [ - -1, - 1290 - ] - }, - { - "$": [ - -1, - 1292 - ], - "'NAME": [ - -1, - 1292 - ], - "'FROM": [ - -1, - 1292 - ], - "'COLON": [ - -1, - 1292 - ], - "'END": [ - -1, - 1292 - ], - "'COMMA": [ - -1, - 1292 - ], - "'STRING": [ - -1, - 1292 - ], - "'RPAREN": [ - -1, - 1292 - ], - "'TYPE": [ - -1, - 1292 - ], - "'DATA": [ - -1, - 1292 - ], - "'PARENSPACE": [ - -1, - 1292 - ], - "'SPY": [ - -1, - 1292 - ], - "'EQUALS": [ - -1, - 1292 - ], - "'NEWTYPE": [ - -1, - 1292 - ], - "'LBRACE": [ - -1, - 1292 - ], - "'RBRACE": [ - -1, - 1292 - ], - "'SEMI": [ - -1, - 1292 - ], - "'SHADOW": [ - -1, - 1292 - ], - "'LET": [ - -1, - 1292 - ], - "'BLOCK": [ - -1, - 1292 - ], - "'LETREC": [ - -1, - 1292 - ], - "'TYPE-LET": [ - -1, - 1292 - ], - "'FUN": [ - -1, - 1292 - ], - "'RANGLE": [ - -1, - 1292 - ], - "'GT": [ - -1, - 1292 - ], - "'PARENAFTERBRACE": [ - -1, - 1292 - ], - "'THINARROW": [ - -1, - 1292 - ], - "'WHERE": [ - -1, - 1292 - ], - "'CHECK": [ - -1, - 1292 - ], - "'EXAMPLES": [ - -1, - 1292 - ], - "'CHECKCOLON": [ - -1, - 1292 - ], - "'EXAMPLESCOLON": [ - -1, - 1292 - ], - "'PERCENT": [ - -1, - 1292 - ], - "'BAR": [ - -1, - 1292 - ], - "'VAR": [ - -1, - 1292 - ], - "'REC": [ - -1, - 1292 - ], - "'WHEN": [ - -1, - 1292 - ], - "'DOTDOTDOT": [ - -1, - 1292 - ], - "'NUMBER": [ - -1, - 1292 - ], - "'RATIONAL": [ - -1, - 1292 - ], - "'ROUGHRATIONAL": [ - -1, - 1292 - ], - "'TRUE": [ - -1, - 1292 - ], - "'FALSE": [ - -1, - 1292 - ], - "'LAM": [ - -1, - 1292 - ], - "'METHOD": [ - -1, - 1292 - ], - "'LBRACK": [ - -1, - 1292 - ], - "'TABLE": [ - -1, - 1292 - ], - "'ROW": [ - -1, - 1292 - ], - "'REACTOR": [ - -1, - 1292 - ], - "'IF": [ - -1, - 1292 - ], - "'ELSECOLON": [ - -1, - 1292 - ], - "'ELSEIF": [ - -1, - 1292 - ], - "'ASK": [ - -1, - 1292 - ], - "'CASES": [ - -1, - 1292 - ], - "'FOR": [ - -1, - 1292 - ], - "'TABLE-SELECT": [ - -1, - 1292 - ], - "'TABLE-FILTER": [ - -1, - 1292 - ], - "'TABLE-ORDER": [ - -1, - 1292 - ], - "'TABLE-EXTRACT": [ - -1, - 1292 - ], - "'TABLE-UPDATE": [ - -1, - 1292 - ], - "'TABLE-EXTEND": [ - -1, - 1292 - ], - "'LOAD-TABLE": [ - -1, - 1292 - ], - "'SOURCECOLON": [ - -1, - 1292 - ], - "'SANITIZE": [ - -1, - 1292 - ] - }, - { - "$": [ - -1, - 1294 - ], - "'NAME": [ - -1, - 1294 - ], - "'COLON": [ - -1, - 1294 - ], - "'END": [ - -1, - 1294 - ], - "'COMMA": [ - -1, - 1294 - ], - "'PARENNOSPACE": [ - -1, - 1294 - ], - "'STRING": [ - -1, - 1294 - ], - "'RPAREN": [ - -1, - 1294 - ], - "'TYPE": [ - -1, - 1294 - ], - "'DATA": [ - -1, - 1294 - ], - "'TIMES": [ - -1, - 1294 - ], - "'PARENSPACE": [ - -1, - 1294 - ], - "'DOT": [ - -1, - 1294 - ], - "'SPY": [ - -1, - 1294 - ], - "'NEWTYPE": [ - -1, - 1294 - ], - "'LBRACE": [ - -1, - 1294 - ], - "'RBRACE": [ - -1, - 1294 - ], - "'SEMI": [ - -1, - 1294 - ], - "'SHADOW": [ - -1, - 1294 - ], - "'LET": [ - -1, - 1294 - ], - "'BLOCK": [ - -1, - 1294 - ], - "'LETREC": [ - -1, - 1294 - ], - "'TYPE-LET": [ - -1, - 1294 - ], - "'FUN": [ - -1, - 1294 - ], - "'LANGLE": [ - -1, - 1294 - ], - "'LT": [ - -1, - 1294 - ], - "'GT": [ - -1, - 1294 - ], - "'PARENAFTERBRACE": [ - -1, - 1294 - ], - "'WHERE": [ - -1, - 1294 - ], - "'CHECK": [ - -1, - 1294 - ], - "'EXAMPLES": [ - -1, - 1294 - ], - "'CHECKCOLON": [ - -1, - 1294 - ], - "'EXAMPLESCOLON": [ - -1, - 1294 - ], - "'BECAUSE": [ - -1, - 1294 - ], - "'BAR": [ - -1, - 1294 - ], - "'SHARING": [ - -1, - 1294 - ], - "'VAR": [ - -1, - 1294 - ], - "'REC": [ - -1, - 1294 - ], - "'WHEN": [ - -1, - 1294 - ], - "'PLUS": [ - -1, - 1294 - ], - "'DASH": [ - -1, - 1294 - ], - "'SLASH": [ - -1, - 1294 - ], - "'LEQ": [ - -1, - 1294 - ], - "'GEQ": [ - -1, - 1294 - ], - "'EQUALEQUAL": [ - -1, - 1294 - ], - "'SPACESHIP": [ - -1, - 1294 - ], - "'EQUALTILDE": [ - -1, - 1294 - ], - "'NEQ": [ - -1, - 1294 - ], - "'AND": [ - -1, - 1294 - ], - "'OR": [ - -1, - 1294 - ], - "'CARET": [ - -1, - 1294 - ], - "'IS": [ - -1, - 1294 - ], - "'ISEQUALEQUAL": [ - -1, - 1294 - ], - "'ISEQUALTILDE": [ - -1, - 1294 - ], - "'ISSPACESHIP": [ - -1, - 1294 - ], - "'ISROUGHLY": [ - -1, - 1294 - ], - "'ISNOT": [ - -1, - 1294 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1294 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1294 - ], - "'ISNOTSPACESHIP": [ - -1, - 1294 - ], - "'RAISES": [ - -1, - 1294 - ], - "'RAISESOTHER": [ - -1, - 1294 - ], - "'SATISFIES": [ - -1, - 1294 - ], - "'SATISFIESNOT": [ - -1, - 1294 - ], - "'RAISESSATISFIES": [ - -1, - 1294 - ], - "'RAISESVIOLATES": [ - -1, - 1294 - ], - "'RAISESNOT": [ - -1, - 1294 - ], - "'DOTDOTDOT": [ - -1, - 1294 - ], - "'NUMBER": [ - -1, - 1294 - ], - "'RATIONAL": [ - -1, - 1294 - ], - "'ROUGHRATIONAL": [ - -1, - 1294 - ], - "'TRUE": [ - -1, - 1294 - ], - "'FALSE": [ - -1, - 1294 - ], - "'LAM": [ - -1, - 1294 - ], - "'METHOD": [ - -1, - 1294 - ], - "'LBRACK": [ - -1, - 1294 - ], - "'RBRACK": [ - -1, - 1294 - ], - "'TABLE": [ - -1, - 1294 - ], - "'ROW": [ - -1, - 1294 - ], - "'REACTOR": [ - -1, - 1294 - ], - "'BANG": [ - -1, - 1294 - ], - "'IF": [ - -1, - 1294 - ], - "'ELSECOLON": [ - -1, - 1294 - ], - "'ELSEIF": [ - -1, - 1294 - ], - "'ASK": [ - -1, - 1294 - ], - "'THENCOLON": [ - -1, - 1294 - ], - "'CASES": [ - -1, - 1294 - ], - "'FOR": [ - -1, - 1294 - ], - "'TABLE-SELECT": [ - -1, - 1294 - ], - "'TABLE-FILTER": [ - -1, - 1294 - ], - "'USING": [ - -1, - 1294 - ], - "'TABLE-ORDER": [ - -1, - 1294 - ], - "'TABLE-EXTRACT": [ - -1, - 1294 - ], - "'TABLE-UPDATE": [ - -1, - 1294 - ], - "'TABLE-EXTEND": [ - -1, - 1294 - ], - "'OF": [ - -1, - 1294 - ], - "'LOAD-TABLE": [ - -1, - 1294 - ], - "'SOURCECOLON": [ - -1, - 1294 - ], - "'SANITIZE": [ - -1, - 1294 - ] - }, - { - "$": [ - -1, - 1296 - ], - "'NAME": [ - -1, - 1296 - ], - "'COLON": [ - -1, - 1296 - ], - "'END": [ - -1, - 1296 - ], - "'COMMA": [ - -1, - 1296 - ], - "'PARENNOSPACE": [ - -1, - 1296 - ], - "'STRING": [ - -1, - 1296 - ], - "'RPAREN": [ - -1, - 1296 - ], - "'TYPE": [ - -1, - 1296 - ], - "'DATA": [ - -1, - 1296 - ], - "'TIMES": [ - -1, - 1296 - ], - "'PARENSPACE": [ - -1, - 1296 - ], - "'DOT": [ - -1, - 1296 - ], - "'SPY": [ - -1, - 1296 - ], - "'NEWTYPE": [ - -1, - 1296 - ], - "'LBRACE": [ - -1, - 1296 - ], - "'RBRACE": [ - -1, - 1296 - ], - "'SEMI": [ - -1, - 1296 - ], - "'SHADOW": [ - -1, - 1296 - ], - "'LET": [ - -1, - 1296 - ], - "'BLOCK": [ - -1, - 1296 - ], - "'LETREC": [ - -1, - 1296 - ], - "'TYPE-LET": [ - -1, - 1296 - ], - "'FUN": [ - -1, - 1296 - ], - "'LANGLE": [ - -1, - 1296 - ], - "'LT": [ - -1, - 1296 - ], - "'GT": [ - -1, - 1296 - ], - "'PARENAFTERBRACE": [ - -1, - 1296 - ], - "'WHERE": [ - -1, - 1296 - ], - "'CHECK": [ - -1, - 1296 - ], - "'EXAMPLES": [ - -1, - 1296 - ], - "'CHECKCOLON": [ - -1, - 1296 - ], - "'EXAMPLESCOLON": [ - -1, - 1296 - ], - "'BECAUSE": [ - -1, - 1296 - ], - "'BAR": [ - -1, - 1296 - ], - "'SHARING": [ - -1, - 1296 - ], - "'VAR": [ - -1, - 1296 - ], - "'REC": [ - -1, - 1296 - ], - "'WHEN": [ - -1, - 1296 - ], - "'PLUS": [ - -1, - 1296 - ], - "'DASH": [ - -1, - 1296 - ], - "'SLASH": [ - -1, - 1296 - ], - "'LEQ": [ - -1, - 1296 - ], - "'GEQ": [ - -1, - 1296 - ], - "'EQUALEQUAL": [ - -1, - 1296 - ], - "'SPACESHIP": [ - -1, - 1296 - ], - "'EQUALTILDE": [ - -1, - 1296 - ], - "'NEQ": [ - -1, - 1296 - ], - "'AND": [ - -1, - 1296 - ], - "'OR": [ - -1, - 1296 - ], - "'CARET": [ - -1, - 1296 - ], - "'IS": [ - -1, - 1296 - ], - "'ISEQUALEQUAL": [ - -1, - 1296 - ], - "'ISEQUALTILDE": [ - -1, - 1296 - ], - "'ISSPACESHIP": [ - -1, - 1296 - ], - "'ISROUGHLY": [ - -1, - 1296 - ], - "'ISNOT": [ - -1, - 1296 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1296 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1296 - ], - "'ISNOTSPACESHIP": [ - -1, - 1296 - ], - "'RAISES": [ - -1, - 1296 - ], - "'RAISESOTHER": [ - -1, - 1296 - ], - "'SATISFIES": [ - -1, - 1296 - ], - "'SATISFIESNOT": [ - -1, - 1296 - ], - "'RAISESSATISFIES": [ - -1, - 1296 - ], - "'RAISESVIOLATES": [ - -1, - 1296 - ], - "'RAISESNOT": [ - -1, - 1296 - ], - "'DOTDOTDOT": [ - -1, - 1296 - ], - "'NUMBER": [ - -1, - 1296 - ], - "'RATIONAL": [ - -1, - 1296 - ], - "'ROUGHRATIONAL": [ - -1, - 1296 - ], - "'TRUE": [ - -1, - 1296 - ], - "'FALSE": [ - -1, - 1296 - ], - "'LAM": [ - -1, - 1296 - ], - "'METHOD": [ - -1, - 1296 - ], - "'LBRACK": [ - -1, - 1296 - ], - "'RBRACK": [ - -1, - 1296 - ], - "'TABLE": [ - -1, - 1296 - ], - "'ROW": [ - -1, - 1296 - ], - "'REACTOR": [ - -1, - 1296 - ], - "'BANG": [ - -1, - 1296 - ], - "'IF": [ - -1, - 1296 - ], - "'ELSECOLON": [ - -1, - 1296 - ], - "'ELSEIF": [ - -1, - 1296 - ], - "'ASK": [ - -1, - 1296 - ], - "'THENCOLON": [ - -1, - 1296 - ], - "'CASES": [ - -1, - 1296 - ], - "'FOR": [ - -1, - 1296 - ], - "'TABLE-SELECT": [ - -1, - 1296 - ], - "'TABLE-FILTER": [ - -1, - 1296 - ], - "'USING": [ - -1, - 1296 - ], - "'TABLE-ORDER": [ - -1, - 1296 - ], - "'TABLE-EXTRACT": [ - -1, - 1296 - ], - "'TABLE-UPDATE": [ - -1, - 1296 - ], - "'TABLE-EXTEND": [ - -1, - 1296 - ], - "'OF": [ - -1, - 1296 - ], - "'LOAD-TABLE": [ - -1, - 1296 - ], - "'SOURCECOLON": [ - -1, - 1296 - ], - "'SANITIZE": [ - -1, - 1296 - ] - }, - { - "'NAME": [ - -1, - 1298 - ], - "'STRING": [ - -1, - 1298 - ], - "'PARENSPACE": [ - -1, - 1298 - ], - "'LBRACE": [ - -1, - 1298 - ], - "'LET": [ - -1, - 1298 - ], - "'BLOCK": [ - -1, - 1298 - ], - "'LETREC": [ - -1, - 1298 - ], - "'TYPE-LET": [ - -1, - 1298 - ], - "'PARENAFTERBRACE": [ - -1, - 1298 - ], - "'DOTDOTDOT": [ - -1, - 1298 - ], - "'NUMBER": [ - -1, - 1298 - ], - "'RATIONAL": [ - -1, - 1298 - ], - "'ROUGHRATIONAL": [ - -1, - 1298 - ], - "'TRUE": [ - -1, - 1298 - ], - "'FALSE": [ - -1, - 1298 - ], - "'LAM": [ - -1, - 1298 - ], - "'METHOD": [ - -1, - 1298 - ], - "'LBRACK": [ - -1, - 1298 - ], - "'TABLE": [ - -1, - 1298 - ], - "'REACTOR": [ - -1, - 1298 - ], - "'IF": [ - -1, - 1298 - ], - "'ASK": [ - -1, - 1298 - ], - "'CASES": [ - -1, - 1298 - ], - "'FOR": [ - -1, - 1298 - ], - "'TABLE-SELECT": [ - -1, - 1298 - ], - "'TABLE-FILTER": [ - -1, - 1298 - ], - "'TABLE-ORDER": [ - -1, - 1298 - ], - "'TABLE-EXTRACT": [ - -1, - 1298 - ], - "'TABLE-UPDATE": [ - -1, - 1298 - ], - "'TABLE-EXTEND": [ - -1, - 1298 - ], - "'LOAD-TABLE": [ - -1, - 1298 - ] - }, - { - "block": [ - 907 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'WHERE": [ - -1, - 8, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "$": [ - -1, - 1300 - ], - "'NAME": [ - -1, - 1300 - ], - "'COLON": [ - -1, - 1300 - ], - "'END": [ - -1, - 1300 - ], - "'COMMA": [ - -1, - 1300 - ], - "'PARENNOSPACE": [ - -1, - 1300 - ], - "'STRING": [ - -1, - 1300 - ], - "'RPAREN": [ - -1, - 1300 - ], - "'TYPE": [ - -1, - 1300 - ], - "'DATA": [ - -1, - 1300 - ], - "'TIMES": [ - -1, - 1300 - ], - "'PARENSPACE": [ - -1, - 1300 - ], - "'DOT": [ - -1, - 1300 - ], - "'SPY": [ - -1, - 1300 - ], - "'NEWTYPE": [ - -1, - 1300 - ], - "'LBRACE": [ - -1, - 1300 - ], - "'RBRACE": [ - -1, - 1300 - ], - "'SEMI": [ - -1, - 1300 - ], - "'SHADOW": [ - -1, - 1300 - ], - "'LET": [ - -1, - 1300 - ], - "'BLOCK": [ - -1, - 1300 - ], - "'LETREC": [ - -1, - 1300 - ], - "'TYPE-LET": [ - -1, - 1300 - ], - "'FUN": [ - -1, - 1300 - ], - "'LANGLE": [ - -1, - 1300 - ], - "'LT": [ - -1, - 1300 - ], - "'GT": [ - -1, - 1300 - ], - "'PARENAFTERBRACE": [ - -1, - 1300 - ], - "'WHERE": [ - -1, - 1300 - ], - "'CHECK": [ - -1, - 1300 - ], - "'EXAMPLES": [ - -1, - 1300 - ], - "'CHECKCOLON": [ - -1, - 1300 - ], - "'EXAMPLESCOLON": [ - -1, - 1300 - ], - "'BECAUSE": [ - -1, - 1300 - ], - "'BAR": [ - -1, - 1300 - ], - "'SHARING": [ - -1, - 1300 - ], - "'VAR": [ - -1, - 1300 - ], - "'REC": [ - -1, - 1300 - ], - "'WHEN": [ - -1, - 1300 - ], - "'PLUS": [ - -1, - 1300 - ], - "'DASH": [ - -1, - 1300 - ], - "'SLASH": [ - -1, - 1300 - ], - "'LEQ": [ - -1, - 1300 - ], - "'GEQ": [ - -1, - 1300 - ], - "'EQUALEQUAL": [ - -1, - 1300 - ], - "'SPACESHIP": [ - -1, - 1300 - ], - "'EQUALTILDE": [ - -1, - 1300 - ], - "'NEQ": [ - -1, - 1300 - ], - "'AND": [ - -1, - 1300 - ], - "'OR": [ - -1, - 1300 - ], - "'CARET": [ - -1, - 1300 - ], - "'IS": [ - -1, - 1300 - ], - "'ISEQUALEQUAL": [ - -1, - 1300 - ], - "'ISEQUALTILDE": [ - -1, - 1300 - ], - "'ISSPACESHIP": [ - -1, - 1300 - ], - "'ISROUGHLY": [ - -1, - 1300 - ], - "'ISNOT": [ - -1, - 1300 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1300 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1300 - ], - "'ISNOTSPACESHIP": [ - -1, - 1300 - ], - "'RAISES": [ - -1, - 1300 - ], - "'RAISESOTHER": [ - -1, - 1300 - ], - "'SATISFIES": [ - -1, - 1300 - ], - "'SATISFIESNOT": [ - -1, - 1300 - ], - "'RAISESSATISFIES": [ - -1, - 1300 - ], - "'RAISESVIOLATES": [ - -1, - 1300 - ], - "'RAISESNOT": [ - -1, - 1300 - ], - "'DOTDOTDOT": [ - -1, - 1300 - ], - "'NUMBER": [ - -1, - 1300 - ], - "'RATIONAL": [ - -1, - 1300 - ], - "'ROUGHRATIONAL": [ - -1, - 1300 - ], - "'TRUE": [ - -1, - 1300 - ], - "'FALSE": [ - -1, - 1300 - ], - "'LAM": [ - -1, - 1300 - ], - "'METHOD": [ - -1, - 1300 - ], - "'LBRACK": [ - -1, - 1300 - ], - "'RBRACK": [ - -1, - 1300 - ], - "'TABLE": [ - -1, - 1300 - ], - "'ROW": [ - -1, - 1300 - ], - "'REACTOR": [ - -1, - 1300 - ], - "'BANG": [ - -1, - 1300 - ], - "'IF": [ - -1, - 1300 - ], - "'ELSECOLON": [ - -1, - 1300 - ], - "'ELSEIF": [ - -1, - 1300 - ], - "'ASK": [ - -1, - 1300 - ], - "'THENCOLON": [ - -1, - 1300 - ], - "'CASES": [ - -1, - 1300 - ], - "'FOR": [ - -1, - 1300 - ], - "'TABLE-SELECT": [ - -1, - 1300 - ], - "'TABLE-FILTER": [ - -1, - 1300 - ], - "'USING": [ - -1, - 1300 - ], - "'TABLE-ORDER": [ - -1, - 1300 - ], - "'TABLE-EXTRACT": [ - -1, - 1300 - ], - "'TABLE-UPDATE": [ - -1, - 1300 - ], - "'TABLE-EXTEND": [ - -1, - 1300 - ], - "'OF": [ - -1, - 1300 - ], - "'LOAD-TABLE": [ - -1, - 1300 - ], - "'SOURCECOLON": [ - -1, - 1300 - ], - "'SANITIZE": [ - -1, - 1300 - ] - }, - { - "'END": [ - -1, - 1302 - ] - }, - { - "'COLON": [ - 908 - ] - }, - { - "'END": [ - -1, - 1304 - ], - "'BAR": [ - -1, - 1304 - ] - }, - { - "'BAR": [ - 909 - ], - "cases-expr_I7?": [ - 910 - ], - "cases-expr_I6": [ - 911 - ], - "cases-branch": [ - 912 - ], - "cases-expr_I7": [ - 913 - ], - "'END": [ - -1, - 1306 - ] - }, - { - "'COMMA": [ - -1, - 1308 - ], - "'RPAREN": [ - -1, - 1308 - ] - }, - { - "'NAME": [ - -1, - 1310 - ], - "'END": [ - -1, - 1310 - ], - "'STRING": [ - -1, - 1310 - ], - "'TYPE": [ - -1, - 1310 - ], - "'DATA": [ - -1, - 1310 - ], - "'PARENSPACE": [ - -1, - 1310 - ], - "'SPY": [ - -1, - 1310 - ], - "'NEWTYPE": [ - -1, - 1310 - ], - "'LBRACE": [ - -1, - 1310 - ], - "'SHADOW": [ - -1, - 1310 - ], - "'LET": [ - -1, - 1310 - ], - "'BLOCK": [ - -1, - 1310 - ], - "'LETREC": [ - -1, - 1310 - ], - "'TYPE-LET": [ - -1, - 1310 - ], - "'FUN": [ - -1, - 1310 - ], - "'PARENAFTERBRACE": [ - -1, - 1310 - ], - "'CHECK": [ - -1, - 1310 - ], - "'EXAMPLES": [ - -1, - 1310 - ], - "'CHECKCOLON": [ - -1, - 1310 - ], - "'EXAMPLESCOLON": [ - -1, - 1310 - ], - "'VAR": [ - -1, - 1310 - ], - "'REC": [ - -1, - 1310 - ], - "'WHEN": [ - -1, - 1310 - ], - "'DOTDOTDOT": [ - -1, - 1310 - ], - "'NUMBER": [ - -1, - 1310 - ], - "'RATIONAL": [ - -1, - 1310 - ], - "'ROUGHRATIONAL": [ - -1, - 1310 - ], - "'TRUE": [ - -1, - 1310 - ], - "'FALSE": [ - -1, - 1310 - ], - "'LAM": [ - -1, - 1310 - ], - "'METHOD": [ - -1, - 1310 - ], - "'LBRACK": [ - -1, - 1310 - ], - "'TABLE": [ - -1, - 1310 - ], - "'REACTOR": [ - -1, - 1310 - ], - "'IF": [ - -1, - 1310 - ], - "'ASK": [ - -1, - 1310 - ], - "'CASES": [ - -1, - 1310 - ], - "'FOR": [ - -1, - 1310 - ], - "'TABLE-SELECT": [ - -1, - 1310 - ], - "'TABLE-FILTER": [ - -1, - 1310 - ], - "'TABLE-ORDER": [ - -1, - 1310 - ], - "'TABLE-EXTRACT": [ - -1, - 1310 - ], - "'TABLE-UPDATE": [ - -1, - 1310 - ], - "'TABLE-EXTEND": [ - -1, - 1310 - ], - "'LOAD-TABLE": [ - -1, - 1310 - ] - }, - { - "'NAME": [ - -1, - 1312 - ], - "'END": [ - -1, - 1312 - ], - "'STRING": [ - -1, - 1312 - ], - "'TYPE": [ - -1, - 1312 - ], - "'DATA": [ - -1, - 1312 - ], - "'PARENSPACE": [ - -1, - 1312 - ], - "'SPY": [ - -1, - 1312 - ], - "'NEWTYPE": [ - -1, - 1312 - ], - "'LBRACE": [ - -1, - 1312 - ], - "'SHADOW": [ - -1, - 1312 - ], - "'LET": [ - -1, - 1312 - ], - "'BLOCK": [ - -1, - 1312 - ], - "'LETREC": [ - -1, - 1312 - ], - "'TYPE-LET": [ - -1, - 1312 - ], - "'FUN": [ - -1, - 1312 - ], - "'PARENAFTERBRACE": [ - -1, - 1312 - ], - "'CHECK": [ - -1, - 1312 - ], - "'EXAMPLES": [ - -1, - 1312 - ], - "'CHECKCOLON": [ - -1, - 1312 - ], - "'EXAMPLESCOLON": [ - -1, - 1312 - ], - "'VAR": [ - -1, - 1312 - ], - "'REC": [ - -1, - 1312 - ], - "'WHEN": [ - -1, - 1312 - ], - "'DOTDOTDOT": [ - -1, - 1312 - ], - "'NUMBER": [ - -1, - 1312 - ], - "'RATIONAL": [ - -1, - 1312 - ], - "'ROUGHRATIONAL": [ - -1, - 1312 - ], - "'TRUE": [ - -1, - 1312 - ], - "'FALSE": [ - -1, - 1312 - ], - "'LAM": [ - -1, - 1312 - ], - "'METHOD": [ - -1, - 1312 - ], - "'LBRACK": [ - -1, - 1312 - ], - "'TABLE": [ - -1, - 1312 - ], - "'REACTOR": [ - -1, - 1312 - ], - "'IF": [ - -1, - 1312 - ], - "'ASK": [ - -1, - 1312 - ], - "'CASES": [ - -1, - 1312 - ], - "'FOR": [ - -1, - 1312 - ], - "'TABLE-SELECT": [ - -1, - 1312 - ], - "'TABLE-FILTER": [ - -1, - 1312 - ], - "'TABLE-ORDER": [ - -1, - 1312 - ], - "'TABLE-EXTRACT": [ - -1, - 1312 - ], - "'TABLE-UPDATE": [ - -1, - 1312 - ], - "'TABLE-EXTEND": [ - -1, - 1312 - ], - "'LOAD-TABLE": [ - -1, - 1312 - ] - }, - { - "block": [ - 914 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'COLON": [ - -1, - 1314 - ], - "'COMMA": [ - -1, - 1314 - ] - }, - { - "'END": [ - -1, - 1316 - ], - "'COMMA": [ - -1, - 1316 - ] - }, - { - "'COLON": [ - -1, - 1318 - ], - "'COMMA": [ - -1, - 1318 - ] - }, - { - "'COLON": [ - -1, - 1320 - ], - "'COMMA": [ - -1, - 1320 - ] - }, - { - "'NAME": [ - 324 - ], - "'PARENNOSPACE": [ - 325 - ], - "record-ann": [ - 326 - ], - "'PARENSPACE": [ - 327 - ], - "ann": [ - 915 - ], - "'LBRACE": [ - 329 - ], - "'PARENAFTERBRACE": [ - 330 - ], - "name-ann": [ - 331 - ], - "arrow-ann": [ - 332 - ], - "app-ann": [ - 333 - ], - "pred-ann": [ - 334 - ], - "dot-ann": [ - 335 - ], - "tuple-ann": [ - 336 - ], - "arrow-ann_I0": [ - 337 - ], - "app-ann_I0": [ - 338 - ] - }, - { - "'COLON": [ - 916 - ] - }, - { - "'COLON": [ - -1, - 1322 - ] - }, - { - "'COLON": [ - 917 - ] - }, - { - "'COLON": [ - -1, - 1324 - ] - }, - { - "'NAME": [ - -1, - 1326 - ], - "'END": [ - -1, - 1328 - ] - }, - { - "'END": [ - -1, - 1330 - ] - }, - { - "'END": [ - -1, - 1332 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 918 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'END": [ - -1, - 1334 - ] - }, - { - "'END": [ - -1, - 1336 - ], - "'COMMA": [ - -1, - 1336 - ] - }, - { - "module-ref": [ - 247 - ], - "include-spec": [ - 919 - ], - "include-name-spec": [ - 702 - ], - "include-type-spec": [ - 703 - ], - "include-data-spec": [ - 704 - ], - "include-module-spec": [ - 705 - ], - "name-spec": [ - 706 - ], - "'TYPE": [ - 707 - ], - "'DATA": [ - 708 - ], - "'MODULE": [ - 709 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 1338 - ] - }, - { - "'END": [ - -1, - 1340 - ] - }, - { - "'END": [ - -1, - 1342 - ], - "'COMMA": [ - -1, - 1342 - ] - }, - { - "'END": [ - -1, - 1344 - ], - "'COMMA": [ - -1, - 1344 - ] - }, - { - "'END": [ - -1, - 1346 - ], - "'COMMA": [ - -1, - 1346 - ] - }, - { - "module-ref": [ - 247 - ], - "name-spec": [ - 248 - ], - "'TYPE": [ - 249 - ], - "'DATA": [ - 250 - ], - "'MODULE": [ - 251 - ], - "'STAR": [ - 252 - ], - "'TIMES": [ - 253 - ], - "provide-spec": [ - 920 - ], - "provide-name-spec": [ - 257 - ], - "provide-type-spec": [ - 258 - ], - "provide-data-spec": [ - 259 - ], - "provide-module-spec": [ - 260 - ], - "name-spec_A0_I0": [ - 261 - ], - "module-ref_I0*": [ - 262 - ], - "'NAME": [ - -1, - 208 - ], - "'END": [ - -1, - 1348 - ] - }, - { - "'END": [ - -1, - 1350 - ] - }, - { - "'END": [ - -1, - 1352 - ], - "'COMMA": [ - -1, - 1352 - ] - }, - { - "'END": [ - -1, - 1354 - ] - }, - { - "'NAME": [ - -1, - 1356 - ] - }, - { - "'END": [ - -1, - 1358 - ], - "'WHERE": [ - -1, - 1358 - ], - "'BAR": [ - -1, - 1358 - ], - "'WITH": [ - -1, - 1358 - ], - "'SHARING": [ - -1, - 1358 - ] - }, - { - "'COMMA": [ - 921 - ], - "variant-members_I1_I1": [ - 922 - ], - "'RPAREN": [ - -1, - 1360 - ] - }, - { - "'COMMA": [ - -1, - 1362 - ], - "'RPAREN": [ - -1, - 1362 - ] - }, - { - "'END": [ - 923 - ] - }, - { - "'PARENNOSPACE": [ - 728 - ], - "variant-members": [ - 729 - ], - "data-with": [ - 924 - ], - "data-with_I0?": [ - 731 - ], - "data-with_I0": [ - 732 - ], - "'WITH": [ - 733 - ], - "'END": [ - -1, - 1364, - 892, - 894 - ], - "'WHERE": [ - -1, - 1364, - 892, - 894 - ], - "'BAR": [ - -1, - 1364, - 892, - 894 - ], - "'SHARING": [ - -1, - 1364, - 892, - 894 - ] - }, - { - "data-with": [ - 925 - ], - "data-with_I0?": [ - 731 - ], - "data-with_I0": [ - 732 - ], - "'WITH": [ - 733 - ], - "'END": [ - -1, - 1366, - 892, - 894 - ], - "'WHERE": [ - -1, - 1366, - 892, - 894 - ], - "'BAR": [ - -1, - 1366, - 892, - 894 - ], - "'SHARING": [ - -1, - 1366, - 892, - 894 - ] - }, - { - "'END": [ - -1, - 1368 - ], - "'WHERE": [ - -1, - 1368 - ] - }, - { - "'END": [ - 926 - ] - }, - { - "$": [ - -1, - 1370 - ], - "'NAME": [ - -1, - 1370 - ], - "'END": [ - -1, - 1370 - ], - "'STRING": [ - -1, - 1370 - ], - "'TYPE": [ - -1, - 1370 - ], - "'DATA": [ - -1, - 1370 - ], - "'PARENSPACE": [ - -1, - 1370 - ], - "'SPY": [ - -1, - 1370 - ], - "'NEWTYPE": [ - -1, - 1370 - ], - "'LBRACE": [ - -1, - 1370 - ], - "'RBRACE": [ - -1, - 1370 - ], - "'SHADOW": [ - -1, - 1370 - ], - "'LET": [ - -1, - 1370 - ], - "'BLOCK": [ - -1, - 1370 - ], - "'LETREC": [ - -1, - 1370 - ], - "'TYPE-LET": [ - -1, - 1370 - ], - "'FUN": [ - -1, - 1370 - ], - "'PARENAFTERBRACE": [ - -1, - 1370 - ], - "'WHERE": [ - -1, - 1370 - ], - "'CHECK": [ - -1, - 1370 - ], - "'EXAMPLES": [ - -1, - 1370 - ], - "'CHECKCOLON": [ - -1, - 1370 - ], - "'EXAMPLESCOLON": [ - -1, - 1370 - ], - "'BAR": [ - -1, - 1370 - ], - "'VAR": [ - -1, - 1370 - ], - "'REC": [ - -1, - 1370 - ], - "'WHEN": [ - -1, - 1370 - ], - "'DOTDOTDOT": [ - -1, - 1370 - ], - "'NUMBER": [ - -1, - 1370 - ], - "'RATIONAL": [ - -1, - 1370 - ], - "'ROUGHRATIONAL": [ - -1, - 1370 - ], - "'TRUE": [ - -1, - 1370 - ], - "'FALSE": [ - -1, - 1370 - ], - "'LAM": [ - -1, - 1370 - ], - "'METHOD": [ - -1, - 1370 - ], - "'LBRACK": [ - -1, - 1370 - ], - "'TABLE": [ - -1, - 1370 - ], - "'REACTOR": [ - -1, - 1370 - ], - "'IF": [ - -1, - 1370 - ], - "'ELSECOLON": [ - -1, - 1370 - ], - "'ELSEIF": [ - -1, - 1370 - ], - "'ASK": [ - -1, - 1370 - ], - "'CASES": [ - -1, - 1370 - ], - "'FOR": [ - -1, - 1370 - ], - "'TABLE-SELECT": [ - -1, - 1370 - ], - "'TABLE-FILTER": [ - -1, - 1370 - ], - "'TABLE-ORDER": [ - -1, - 1370 - ], - "'TABLE-EXTRACT": [ - -1, - 1370 - ], - "'TABLE-UPDATE": [ - -1, - 1370 - ], - "'TABLE-EXTEND": [ - -1, - 1370 - ], - "'LOAD-TABLE": [ - -1, - 1370 - ] - }, - { - "'COMMA": [ - -1, - 1372 - ], - "'RPAREN": [ - -1, - 1372 - ] - }, - { - "where-clause": [ - 927 - ], - "where-clause_I0?": [ - 749 - ], - "where-clause_I0": [ - 750 - ], - "'WHERE": [ - 751 - ], - "'END": [ - -1, - 928, - 930 - ] - }, - { - "block": [ - 928 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1374, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ELSECOLON": [ - -1, - 1374, - 8, - 10 - ], - "'ELSEIF": [ - -1, - 1374, - 8, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - 929 - ], - "'ELSE": [ - 930 - ] - }, - { - "'END": [ - 931 - ] - }, - { - "'END": [ - -1, - 1376 - ], - "'BAR": [ - -1, - 1376 - ] - }, - { - "'END": [ - -1, - 1378 - ], - "'BAR": [ - -1, - 1378 - ] - }, - { - "'END": [ - -1, - 1380 - ] - }, - { - "'END": [ - 932 - ] - }, - { - "'PERCENT": [ - 516 - ], - "'COLON": [ - -1, - 1382, - 1384 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "binop-expr": [ - 933 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 61 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'NAME": [ - 139 - ], - "'STRING": [ - 12 - ], - "'PARENSPACE": [ - 16 - ], - "id-expr": [ - 33 - ], - "'LBRACE": [ - 143 - ], - "multi-let-expr": [ - 43 - ], - "'LET": [ - 44 - ], - "'BLOCK": [ - 45 - ], - "letrec-expr": [ - 46 - ], - "'LETREC": [ - 47 - ], - "type-let-expr": [ - 48 - ], - "'TYPE-LET": [ - 49 - ], - "'PARENAFTERBRACE": [ - 51 - ], - "expr": [ - 934 - ], - "paren-expr": [ - 62 - ], - "prim-expr": [ - 63 - ], - "lambda-expr": [ - 64 - ], - "method-expr": [ - 65 - ], - "app-expr": [ - 66 - ], - "obj-expr": [ - 67 - ], - "tuple-expr": [ - 68 - ], - "tuple-get": [ - 69 - ], - "dot-expr": [ - 70 - ], - "template-expr": [ - 71 - ], - "bracket-expr": [ - 72 - ], - "get-bang-expr": [ - 73 - ], - "update-expr": [ - 74 - ], - "extend-expr": [ - 75 - ], - "if-expr": [ - 76 - ], - "if-pipe-expr": [ - 77 - ], - "cases-expr": [ - 78 - ], - "for-expr": [ - 79 - ], - "user-block-expr": [ - 80 - ], - "inst-expr": [ - 81 - ], - "construct-expr": [ - 82 - ], - "table-select": [ - 83 - ], - "table-extend": [ - 84 - ], - "table-filter": [ - 85 - ], - "table-order": [ - 86 - ], - "table-extract": [ - 87 - ], - "table-update": [ - 88 - ], - "table-expr": [ - 89 - ], - "load-table-expr": [ - 90 - ], - "reactor-expr": [ - 91 - ], - "'DOTDOTDOT": [ - 92 - ], - "paren-expr_I0": [ - 93 - ], - "num-expr": [ - 94 - ], - "frac-expr": [ - 95 - ], - "rfrac-expr": [ - 96 - ], - "bool-expr": [ - 97 - ], - "string-expr": [ - 98 - ], - "'NUMBER": [ - 99 - ], - "'RATIONAL": [ - 100 - ], - "'ROUGHRATIONAL": [ - 101 - ], - "'TRUE": [ - 102 - ], - "'FALSE": [ - 103 - ], - "'LAM": [ - 104 - ], - "'METHOD": [ - 105 - ], - "'LBRACK": [ - 106 - ], - "'TABLE": [ - 107 - ], - "'REACTOR": [ - 108 - ], - "'IF": [ - 109 - ], - "'ASK": [ - 110 - ], - "'CASES": [ - 111 - ], - "'FOR": [ - 112 - ], - "'TABLE-SELECT": [ - 113 - ], - "'TABLE-FILTER": [ - 114 - ], - "'TABLE-ORDER": [ - 115 - ], - "'TABLE-EXTRACT": [ - 116 - ], - "'TABLE-UPDATE": [ - 117 - ], - "'TABLE-EXTEND": [ - 118 - ], - "'LOAD-TABLE": [ - 119 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "'END": [ - -1, - 1386 - ], - "'SOURCECOLON": [ - -1, - 1386 - ], - "'SANITIZE": [ - -1, - 1386 - ] - }, - { - "'END": [ - -1, - 1388 - ], - "'COMMA": [ - -1, - 1388 - ] - }, - { - "'END": [ - -1, - 1390 - ], - "'COMMA": [ - -1, - 1390 - ] - }, - { - "variant-member": [ - 935 - ], - "variant-member_I0?": [ - 833 - ], - "variant-member_I0": [ - 834 - ], - "'REF": [ - 835 - ], - "'NAME": [ - -1, - 1080 - ], - "'LBRACE": [ - -1, - 1080 - ], - "'SHADOW": [ - -1, - 1080 - ] - }, - { - "'COMMA": [ - -1, - 1392 - ], - "'RPAREN": [ - -1, - 1392 - ] - }, - { - "$": [ - -1, - 1394 - ], - "'NAME": [ - -1, - 1394 - ], - "'END": [ - -1, - 1394 - ], - "'STRING": [ - -1, - 1394 - ], - "'TYPE": [ - -1, - 1394 - ], - "'DATA": [ - -1, - 1394 - ], - "'PARENSPACE": [ - -1, - 1394 - ], - "'SPY": [ - -1, - 1394 - ], - "'NEWTYPE": [ - -1, - 1394 - ], - "'LBRACE": [ - -1, - 1394 - ], - "'RBRACE": [ - -1, - 1394 - ], - "'SHADOW": [ - -1, - 1394 - ], - "'LET": [ - -1, - 1394 - ], - "'BLOCK": [ - -1, - 1394 - ], - "'LETREC": [ - -1, - 1394 - ], - "'TYPE-LET": [ - -1, - 1394 - ], - "'FUN": [ - -1, - 1394 - ], - "'PARENAFTERBRACE": [ - -1, - 1394 - ], - "'WHERE": [ - -1, - 1394 - ], - "'CHECK": [ - -1, - 1394 - ], - "'EXAMPLES": [ - -1, - 1394 - ], - "'CHECKCOLON": [ - -1, - 1394 - ], - "'EXAMPLESCOLON": [ - -1, - 1394 - ], - "'BAR": [ - -1, - 1394 - ], - "'VAR": [ - -1, - 1394 - ], - "'REC": [ - -1, - 1394 - ], - "'WHEN": [ - -1, - 1394 - ], - "'DOTDOTDOT": [ - -1, - 1394 - ], - "'NUMBER": [ - -1, - 1394 - ], - "'RATIONAL": [ - -1, - 1394 - ], - "'ROUGHRATIONAL": [ - -1, - 1394 - ], - "'TRUE": [ - -1, - 1394 - ], - "'FALSE": [ - -1, - 1394 - ], - "'LAM": [ - -1, - 1394 - ], - "'METHOD": [ - -1, - 1394 - ], - "'LBRACK": [ - -1, - 1394 - ], - "'TABLE": [ - -1, - 1394 - ], - "'REACTOR": [ - -1, - 1394 - ], - "'IF": [ - -1, - 1394 - ], - "'ELSECOLON": [ - -1, - 1394 - ], - "'ELSEIF": [ - -1, - 1394 - ], - "'ASK": [ - -1, - 1394 - ], - "'CASES": [ - -1, - 1394 - ], - "'FOR": [ - -1, - 1394 - ], - "'TABLE-SELECT": [ - -1, - 1394 - ], - "'TABLE-FILTER": [ - -1, - 1394 - ], - "'TABLE-ORDER": [ - -1, - 1394 - ], - "'TABLE-EXTRACT": [ - -1, - 1394 - ], - "'TABLE-UPDATE": [ - -1, - 1394 - ], - "'TABLE-EXTEND": [ - -1, - 1394 - ], - "'LOAD-TABLE": [ - -1, - 1394 - ] - }, - { - "'END": [ - -1, - 1396 - ], - "'WHERE": [ - -1, - 1396 - ], - "'BAR": [ - -1, - 1396 - ], - "'SHARING": [ - -1, - 1396 - ] - }, - { - "'END": [ - -1, - 1398 - ], - "'WHERE": [ - -1, - 1398 - ], - "'BAR": [ - -1, - 1398 - ], - "'SHARING": [ - -1, - 1398 - ] - }, - { - "'END": [ - -1, - 1400 - ], - "'COMMA": [ - -1, - 1400 - ], - "'RBRACE": [ - -1, - 1400 - ] - }, - { - "'END": [ - 936 - ] - }, - { - "'END": [ - -1, - 1402 - ], - "'ELSECOLON": [ - -1, - 1402 - ], - "'ELSEIF": [ - -1, - 1402 - ] - }, - { - "'PARENNOSPACE": [ - 937 - ], - "cases-args": [ - 938 - ], - "cases-branch_I2?": [ - 939 - ], - "cases-branch_I2": [ - 940 - ], - "'THICKARROW": [ - -1, - 1404 - ] - }, - { - "'THICKARROW": [ - 941 - ] - }, - { - "$": [ - -1, - 1406 - ], - "'NAME": [ - -1, - 1406 - ], - "'COLON": [ - -1, - 1406 - ], - "'END": [ - -1, - 1406 - ], - "'COMMA": [ - -1, - 1406 - ], - "'PARENNOSPACE": [ - -1, - 1406 - ], - "'STRING": [ - -1, - 1406 - ], - "'RPAREN": [ - -1, - 1406 - ], - "'TYPE": [ - -1, - 1406 - ], - "'DATA": [ - -1, - 1406 - ], - "'TIMES": [ - -1, - 1406 - ], - "'PARENSPACE": [ - -1, - 1406 - ], - "'DOT": [ - -1, - 1406 - ], - "'SPY": [ - -1, - 1406 - ], - "'NEWTYPE": [ - -1, - 1406 - ], - "'LBRACE": [ - -1, - 1406 - ], - "'RBRACE": [ - -1, - 1406 - ], - "'SEMI": [ - -1, - 1406 - ], - "'SHADOW": [ - -1, - 1406 - ], - "'LET": [ - -1, - 1406 - ], - "'BLOCK": [ - -1, - 1406 - ], - "'LETREC": [ - -1, - 1406 - ], - "'TYPE-LET": [ - -1, - 1406 - ], - "'FUN": [ - -1, - 1406 - ], - "'LANGLE": [ - -1, - 1406 - ], - "'LT": [ - -1, - 1406 - ], - "'GT": [ - -1, - 1406 - ], - "'PARENAFTERBRACE": [ - -1, - 1406 - ], - "'WHERE": [ - -1, - 1406 - ], - "'CHECK": [ - -1, - 1406 - ], - "'EXAMPLES": [ - -1, - 1406 - ], - "'CHECKCOLON": [ - -1, - 1406 - ], - "'EXAMPLESCOLON": [ - -1, - 1406 - ], - "'BECAUSE": [ - -1, - 1406 - ], - "'BAR": [ - -1, - 1406 - ], - "'SHARING": [ - -1, - 1406 - ], - "'VAR": [ - -1, - 1406 - ], - "'REC": [ - -1, - 1406 - ], - "'WHEN": [ - -1, - 1406 - ], - "'PLUS": [ - -1, - 1406 - ], - "'DASH": [ - -1, - 1406 - ], - "'SLASH": [ - -1, - 1406 - ], - "'LEQ": [ - -1, - 1406 - ], - "'GEQ": [ - -1, - 1406 - ], - "'EQUALEQUAL": [ - -1, - 1406 - ], - "'SPACESHIP": [ - -1, - 1406 - ], - "'EQUALTILDE": [ - -1, - 1406 - ], - "'NEQ": [ - -1, - 1406 - ], - "'AND": [ - -1, - 1406 - ], - "'OR": [ - -1, - 1406 - ], - "'CARET": [ - -1, - 1406 - ], - "'IS": [ - -1, - 1406 - ], - "'ISEQUALEQUAL": [ - -1, - 1406 - ], - "'ISEQUALTILDE": [ - -1, - 1406 - ], - "'ISSPACESHIP": [ - -1, - 1406 - ], - "'ISROUGHLY": [ - -1, - 1406 - ], - "'ISNOT": [ - -1, - 1406 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1406 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1406 - ], - "'ISNOTSPACESHIP": [ - -1, - 1406 - ], - "'RAISES": [ - -1, - 1406 - ], - "'RAISESOTHER": [ - -1, - 1406 - ], - "'SATISFIES": [ - -1, - 1406 - ], - "'SATISFIESNOT": [ - -1, - 1406 - ], - "'RAISESSATISFIES": [ - -1, - 1406 - ], - "'RAISESVIOLATES": [ - -1, - 1406 - ], - "'RAISESNOT": [ - -1, - 1406 - ], - "'DOTDOTDOT": [ - -1, - 1406 - ], - "'NUMBER": [ - -1, - 1406 - ], - "'RATIONAL": [ - -1, - 1406 - ], - "'ROUGHRATIONAL": [ - -1, - 1406 - ], - "'TRUE": [ - -1, - 1406 - ], - "'FALSE": [ - -1, - 1406 - ], - "'LAM": [ - -1, - 1406 - ], - "'METHOD": [ - -1, - 1406 - ], - "'LBRACK": [ - -1, - 1406 - ], - "'RBRACK": [ - -1, - 1406 - ], - "'TABLE": [ - -1, - 1406 - ], - "'ROW": [ - -1, - 1406 - ], - "'REACTOR": [ - -1, - 1406 - ], - "'BANG": [ - -1, - 1406 - ], - "'IF": [ - -1, - 1406 - ], - "'ELSECOLON": [ - -1, - 1406 - ], - "'ELSEIF": [ - -1, - 1406 - ], - "'ASK": [ - -1, - 1406 - ], - "'THENCOLON": [ - -1, - 1406 - ], - "'CASES": [ - -1, - 1406 - ], - "'FOR": [ - -1, - 1406 - ], - "'TABLE-SELECT": [ - -1, - 1406 - ], - "'TABLE-FILTER": [ - -1, - 1406 - ], - "'USING": [ - -1, - 1406 - ], - "'TABLE-ORDER": [ - -1, - 1406 - ], - "'TABLE-EXTRACT": [ - -1, - 1406 - ], - "'TABLE-UPDATE": [ - -1, - 1406 - ], - "'TABLE-EXTEND": [ - -1, - 1406 - ], - "'OF": [ - -1, - 1406 - ], - "'LOAD-TABLE": [ - -1, - 1406 - ], - "'SOURCECOLON": [ - -1, - 1406 - ], - "'SANITIZE": [ - -1, - 1406 - ] - }, - { - "$": [ - -1, - 1408 - ], - "'NAME": [ - -1, - 1408 - ], - "'COLON": [ - -1, - 1408 - ], - "'END": [ - -1, - 1408 - ], - "'COMMA": [ - -1, - 1408 - ], - "'PARENNOSPACE": [ - -1, - 1408 - ], - "'STRING": [ - -1, - 1408 - ], - "'RPAREN": [ - -1, - 1408 - ], - "'TYPE": [ - -1, - 1408 - ], - "'DATA": [ - -1, - 1408 - ], - "'TIMES": [ - -1, - 1408 - ], - "'PARENSPACE": [ - -1, - 1408 - ], - "'DOT": [ - -1, - 1408 - ], - "'SPY": [ - -1, - 1408 - ], - "'NEWTYPE": [ - -1, - 1408 - ], - "'LBRACE": [ - -1, - 1408 - ], - "'RBRACE": [ - -1, - 1408 - ], - "'SEMI": [ - -1, - 1408 - ], - "'SHADOW": [ - -1, - 1408 - ], - "'LET": [ - -1, - 1408 - ], - "'BLOCK": [ - -1, - 1408 - ], - "'LETREC": [ - -1, - 1408 - ], - "'TYPE-LET": [ - -1, - 1408 - ], - "'FUN": [ - -1, - 1408 - ], - "'LANGLE": [ - -1, - 1408 - ], - "'LT": [ - -1, - 1408 - ], - "'GT": [ - -1, - 1408 - ], - "'PARENAFTERBRACE": [ - -1, - 1408 - ], - "'WHERE": [ - -1, - 1408 - ], - "'CHECK": [ - -1, - 1408 - ], - "'EXAMPLES": [ - -1, - 1408 - ], - "'CHECKCOLON": [ - -1, - 1408 - ], - "'EXAMPLESCOLON": [ - -1, - 1408 - ], - "'BECAUSE": [ - -1, - 1408 - ], - "'BAR": [ - -1, - 1408 - ], - "'SHARING": [ - -1, - 1408 - ], - "'VAR": [ - -1, - 1408 - ], - "'REC": [ - -1, - 1408 - ], - "'WHEN": [ - -1, - 1408 - ], - "'PLUS": [ - -1, - 1408 - ], - "'DASH": [ - -1, - 1408 - ], - "'SLASH": [ - -1, - 1408 - ], - "'LEQ": [ - -1, - 1408 - ], - "'GEQ": [ - -1, - 1408 - ], - "'EQUALEQUAL": [ - -1, - 1408 - ], - "'SPACESHIP": [ - -1, - 1408 - ], - "'EQUALTILDE": [ - -1, - 1408 - ], - "'NEQ": [ - -1, - 1408 - ], - "'AND": [ - -1, - 1408 - ], - "'OR": [ - -1, - 1408 - ], - "'CARET": [ - -1, - 1408 - ], - "'IS": [ - -1, - 1408 - ], - "'ISEQUALEQUAL": [ - -1, - 1408 - ], - "'ISEQUALTILDE": [ - -1, - 1408 - ], - "'ISSPACESHIP": [ - -1, - 1408 - ], - "'ISROUGHLY": [ - -1, - 1408 - ], - "'ISNOT": [ - -1, - 1408 - ], - "'ISNOTEQUALEQUAL": [ - -1, - 1408 - ], - "'ISNOTEQUALTILDE": [ - -1, - 1408 - ], - "'ISNOTSPACESHIP": [ - -1, - 1408 - ], - "'RAISES": [ - -1, - 1408 - ], - "'RAISESOTHER": [ - -1, - 1408 - ], - "'SATISFIES": [ - -1, - 1408 - ], - "'SATISFIESNOT": [ - -1, - 1408 - ], - "'RAISESSATISFIES": [ - -1, - 1408 - ], - "'RAISESVIOLATES": [ - -1, - 1408 - ], - "'RAISESNOT": [ - -1, - 1408 - ], - "'DOTDOTDOT": [ - -1, - 1408 - ], - "'NUMBER": [ - -1, - 1408 - ], - "'RATIONAL": [ - -1, - 1408 - ], - "'ROUGHRATIONAL": [ - -1, - 1408 - ], - "'TRUE": [ - -1, - 1408 - ], - "'FALSE": [ - -1, - 1408 - ], - "'LAM": [ - -1, - 1408 - ], - "'METHOD": [ - -1, - 1408 - ], - "'LBRACK": [ - -1, - 1408 - ], - "'RBRACK": [ - -1, - 1408 - ], - "'TABLE": [ - -1, - 1408 - ], - "'ROW": [ - -1, - 1408 - ], - "'REACTOR": [ - -1, - 1408 - ], - "'BANG": [ - -1, - 1408 - ], - "'IF": [ - -1, - 1408 - ], - "'ELSECOLON": [ - -1, - 1408 - ], - "'ELSEIF": [ - -1, - 1408 - ], - "'ASK": [ - -1, - 1408 - ], - "'THENCOLON": [ - -1, - 1408 - ], - "'CASES": [ - -1, - 1408 - ], - "'FOR": [ - -1, - 1408 - ], - "'TABLE-SELECT": [ - -1, - 1408 - ], - "'TABLE-FILTER": [ - -1, - 1408 - ], - "'USING": [ - -1, - 1408 - ], - "'TABLE-ORDER": [ - -1, - 1408 - ], - "'TABLE-EXTRACT": [ - -1, - 1408 - ], - "'TABLE-UPDATE": [ - -1, - 1408 - ], - "'TABLE-EXTEND": [ - -1, - 1408 - ], - "'OF": [ - -1, - 1408 - ], - "'LOAD-TABLE": [ - -1, - 1408 - ], - "'SOURCECOLON": [ - -1, - 1408 - ], - "'SANITIZE": [ - -1, - 1408 - ] - }, - { - "'END": [ - -1, - 1410 - ], - "'COMMA": [ - -1, - 1410 - ] - }, - { - "'PARENNOSPACE": [ - 199 - ], - "'PARENSPACE": [ - 200 - ], - "'DOT": [ - 201 - ], - "'LANGLE": [ - 202 - ], - "app-args": [ - 204 - ], - "'LBRACK": [ - 205 - ], - "'BANG": [ - 206 - ], - "'OF": [ - 942 - ] - }, - { - "'COMMA": [ - -1, - 1412 - ], - "'RPAREN": [ - -1, - 1412 - ] - }, - { - "'END": [ - -1, - 1414 - ], - "'COMMA": [ - -1, - 1414 - ], - "'RBRACE": [ - -1, - 1414 - ], - "'WHERE": [ - -1, - 1414 - ], - "'BAR": [ - -1, - 1414 - ], - "'SHARING": [ - -1, - 1414 - ] - }, - { - "'REF": [ - 943 - ], - "cases-binding": [ - 944 - ], - "cases-binding_I0?": [ - 945 - ], - "cases-binding_I0": [ - 946 - ], - "cases-args_I1?": [ - 947 - ], - "cases-args_I1": [ - 948 - ], - "'NAME": [ - -1, - 1416 - ], - "'RPAREN": [ - -1, - 1418 - ], - "'LBRACE": [ - -1, - 1416 - ], - "'SHADOW": [ - -1, - 1416 - ] - }, - { - "'THICKARROW": [ - -1, - 1420 - ] - }, - { - "'THICKARROW": [ - 949 - ] - }, - { - "'THICKARROW": [ - -1, - 1422 - ] - }, - { - "block": [ - 950 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1424, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'NAME": [ - 951 - ] - }, - { - "'NAME": [ - -1, - 1426 - ], - "'LBRACE": [ - -1, - 1426 - ], - "'SHADOW": [ - -1, - 1426 - ] - }, - { - "cases-args_I1_I1*": [ - 952 - ], - "'COMMA": [ - -1, - 1428 - ], - "'RPAREN": [ - -1, - 1430, - 1428 - ] - }, - { - "binding": [ - 953 - ], - "name-binding": [ - 37 - ], - "tuple-binding": [ - 38 - ], - "'LBRACE": [ - 184 - ], - "name-binding_I0?": [ - 40 - ], - "name-binding_I0": [ - 41 - ], - "'SHADOW": [ - 42 - ], - "'NAME": [ - -1, - 22 - ] - }, - { - "'NAME": [ - -1, - 1432 - ], - "'LBRACE": [ - -1, - 1432 - ], - "'SHADOW": [ - -1, - 1432 - ] - }, - { - "'RPAREN": [ - 954 - ] - }, - { - "'RPAREN": [ - -1, - 1434 - ] - }, - { - "block": [ - 955 - ], - "block_I0*": [ - 8 - ], - "'NAME": [ - -1, - 10 - ], - "'END": [ - -1, - 1436, - 8, - 10 - ], - "'STRING": [ - -1, - 10 - ], - "'TYPE": [ - -1, - 10 - ], - "'DATA": [ - -1, - 10 - ], - "'PARENSPACE": [ - -1, - 10 - ], - "'SPY": [ - -1, - 10 - ], - "'NEWTYPE": [ - -1, - 10 - ], - "'LBRACE": [ - -1, - 10 - ], - "'SHADOW": [ - -1, - 10 - ], - "'LET": [ - -1, - 10 - ], - "'BLOCK": [ - -1, - 10 - ], - "'LETREC": [ - -1, - 10 - ], - "'TYPE-LET": [ - -1, - 10 - ], - "'FUN": [ - -1, - 10 - ], - "'PARENAFTERBRACE": [ - -1, - 10 - ], - "'CHECK": [ - -1, - 10 - ], - "'EXAMPLES": [ - -1, - 10 - ], - "'CHECKCOLON": [ - -1, - 10 - ], - "'EXAMPLESCOLON": [ - -1, - 10 - ], - "'BAR": [ - -1, - 1436, - 8, - 10 - ], - "'VAR": [ - -1, - 10 - ], - "'REC": [ - -1, - 10 - ], - "'WHEN": [ - -1, - 10 - ], - "'DOTDOTDOT": [ - -1, - 10 - ], - "'NUMBER": [ - -1, - 10 - ], - "'RATIONAL": [ - -1, - 10 - ], - "'ROUGHRATIONAL": [ - -1, - 10 - ], - "'TRUE": [ - -1, - 10 - ], - "'FALSE": [ - -1, - 10 - ], - "'LAM": [ - -1, - 10 - ], - "'METHOD": [ - -1, - 10 - ], - "'LBRACK": [ - -1, - 10 - ], - "'TABLE": [ - -1, - 10 - ], - "'REACTOR": [ - -1, - 10 - ], - "'IF": [ - -1, - 10 - ], - "'ASK": [ - -1, - 10 - ], - "'CASES": [ - -1, - 10 - ], - "'FOR": [ - -1, - 10 - ], - "'TABLE-SELECT": [ - -1, - 10 - ], - "'TABLE-FILTER": [ - -1, - 10 - ], - "'TABLE-ORDER": [ - -1, - 10 - ], - "'TABLE-EXTRACT": [ - -1, - 10 - ], - "'TABLE-UPDATE": [ - -1, - 10 - ], - "'TABLE-EXTEND": [ - -1, - 10 - ], - "'LOAD-TABLE": [ - -1, - 10 - ] - }, - { - "'END": [ - -1, - 1438 - ] - }, - { - "'END": [ - -1, - 1440 - ], - "'COMMA": [ - -1, - 1440 - ] - }, - { - "'COMMA": [ - 956 - ], - "cases-args_I1_I1": [ - 957 - ], - "'RPAREN": [ - -1, - 1442 - ] - }, - { - "'COMMA": [ - -1, - 1444 - ], - "'RPAREN": [ - -1, - 1444 - ] - }, - { - "'THICKARROW": [ - -1, - 1446 - ] - }, - { - "'END": [ - -1, - 1448 - ], - "'BAR": [ - -1, - 1448 - ] - }, - { - "'REF": [ - 943 - ], - "cases-binding": [ - 958 - ], - "cases-binding_I0?": [ - 945 - ], - "cases-binding_I0": [ - 946 - ], - "'NAME": [ - -1, - 1416 - ], - "'LBRACE": [ - -1, - 1416 - ], - "'SHADOW": [ - -1, - 1416 - ] - }, - { - "'COMMA": [ - -1, - 1450 - ], - "'RPAREN": [ - -1, - 1450 - ] - }, - { - "'COMMA": [ - -1, - 1452 - ], - "'RPAREN": [ - -1, - 1452 - ] - } - ], - "I": { - "ε": 0, - "program": 1, - "prelude": 2, - "prelude_I0?": 3, - "prelude_I1*": 4, - "import-stmt_A1_I4?": 5, - "import-stmt_A1_I4_I1*": 6, - "import-stmt_A1_I4_I2?": 7, - "import-special_I3*": 8, - "include-data-spec_I2?": 9, - "provide-block_A0_I1?": 10, - "provide-block_A0_I1_I1*": 11, - "provide-block_A0_I1_I2?": 12, - "provide-block_A1_I4?": 13, - "provide-block_A1_I4_I1*": 14, - "provide-block_A1_I4_I2?": 15, - "name-spec_A0_I1?": 16, - "provide-data-spec_I2?": 17, - "hiding-spec_I2?": 18, - "hiding-spec_I2_I0*": 19, - "module-ref_I0*": 20, - "comma-names_I1*": 21, - "block": 22, - "block_I0*": 23, - "spy-stmt_I1?": 24, - "spy-stmt_I3?": 25, - "spy-contents_I1*": 26, - "tuple-binding_I1*": 27, - "tuple-binding_I3?": 28, - "tuple-binding_I5?": 29, - "name-binding_I0?": 30, - "name-binding_I2?": 31, - "multi-let-expr_I2*": 32, - "letrec-expr_I2*": 33, - "type-let-expr_I2*": 34, - "ty-params": 35, - "ty-params_I0?": 36, - "args_I1?": 37, - "args_I1_I1*": 38, - "bad-args_I1?": 39, - "bad-args_I1_I1*": 40, - "return-ann": 41, - "return-ann_I0?": 42, - "doc-string": 43, - "doc-string_I0?": 44, - "where-clause": 45, - "where-clause_I0?": 46, - "check-test_A0_I2?": 47, - "check-test_A0_I4?": 48, - "check-test_A1_I2?": 49, - "data-expr_I4?": 50, - "data-expr_I5*": 51, - "variant-members_I1?": 52, - "variant-members_I1_I1*": 53, - "variant-member_I0?": 54, - "data-with": 55, - "data-with_I0?": 56, - "data-sharing": 57, - "data-sharing_I0?": 58, - "binop-expr_I1*": 59, - "app-expr_A2_I5*": 60, - "opt-comma-binops": 61, - "opt-comma-binops_I0?": 62, - "comma-binops_I1*": 63, - "trailing-opt-comma-binops": 64, - "trailing-opt-comma-binops_I0": 65, - "trailing-opt-comma-binops_I0_A0_I1?": 66, - "inst-expr_I3*": 67, - "tuple-fields_I1*": 68, - "tuple-fields_I2?": 69, - "obj-fields_I1*": 70, - "obj-fields_I2?": 71, - "obj-field_A1_I2?": 72, - "fields_I1*": 73, - "fields_I2?": 74, - "construct-modifier": 75, - "table-headers": 76, - "table-headers_I0?": 77, - "table-headers_I0_I0*": 78, - "table-header_I1?": 79, - "table-rows": 80, - "table-rows_I0?": 81, - "table-rows_I0_I0*": 82, - "table-items": 83, - "table-items_I0?": 84, - "table-items_I0_I0*": 85, - "if-expr_I4*": 86, - "if-expr_I5?": 87, - "if-pipe-expr_I2*": 88, - "if-pipe-expr_I3?": 89, - "cases-binding_I0?": 90, - "cases-args_I1?": 91, - "cases-args_I1_I1*": 92, - "cases-expr_I6*": 93, - "cases-expr_I7?": 94, - "cases-branch_I2?": 95, - "for-expr_I3?": 96, - "for-expr_I3_I1*": 97, - "table-select_I2*": 98, - "table-filter_I2?": 99, - "table-filter_I2_I2*": 100, - "table-order_I4*": 101, - "table-update_I2?": 102, - "table-update_I2_I2*": 103, - "table-extend_I2?": 104, - "table-extend_I2_I2*": 105, - "table-extend-fields_I0*": 106, - "table-extend-fields_I2?": 107, - "table-extend-field_A0_I1?": 108, - "table-extend-field_A1_I1?": 109, - "load-table-expr_I3?": 110, - "load-table-specs_I0*": 111, - "comma-ann-field_I1*": 112, - "trailing-opt-comma-ann-field": 113, - "trailing-opt-comma-ann-field_I0": 114, - "trailing-opt-comma-ann-field_I0_A0_I1?": 115, - "tuple-ann_I2*": 116, - "tuple-ann_I3?": 117, - "noparen-arrow-ann_I0?": 118, - "arrow-ann_I1?": 119, - "comma-anns_I1*": 120, - "START": 121, - "import-stmt_A1_I4_I1*,import-stmt_A1_I4_I2?": 122, - "provide-block_A0_I1_I1*,provide-block_A0_I1_I2?": 123, - "provide-block_A1_I4_I1*,provide-block_A1_I4_I2?": 124, - "tuple-fields_I1*,tuple-fields_I2?": 125, - "obj-fields_I1*,obj-fields_I2?": 126, - "fields_I1*,fields_I2?": 127 - }, - "eSPPFs": [ - { - "label": "EPSILON" - }, - { - "label": "program", - "kids": [ - 2, - 22 - ], - "rule": 0 - }, - { - "label": "prelude", - "kids": [ - 3, - 4 - ], - "rule": 1 - }, - { - "label": "prelude_I0?", - "kids": [], - "rule": 2 - }, - { - "label": "prelude_I1*", - "kids": [], - "rule": 5 - }, - { - "label": "import-stmt_A1_I4?", - "kids": [], - "rule": 12 - }, - { - "label": "import-stmt_A1_I4_I1*", - "kids": [], - "rule": 15 - }, - { - "label": "import-stmt_A1_I4_I2?", - "kids": [], - "rule": 18 - }, - { - "label": "import-special_I3*", - "kids": [], - "rule": 26 - }, - { - "label": "include-data-spec_I2?", - "kids": [], - "rule": 37 - }, - { - "label": "provide-block_A0_I1?", - "kids": [], - "rule": 53 - }, - { - "label": "provide-block_A0_I1_I1*", - "kids": [], - "rule": 56 - }, - { - "label": "provide-block_A0_I1_I2?", - "kids": [], - "rule": 59 - }, - { - "label": "provide-block_A1_I4?", - "kids": [], - "rule": 63 - }, - { - "label": "provide-block_A1_I4_I1*", - "kids": [], - "rule": 66 - }, - { - "label": "provide-block_A1_I4_I2?", - "kids": [], - "rule": 69 - }, - { - "label": "name-spec_A0_I1?", - "kids": [], - "rule": 79 - }, - { - "label": "provide-data-spec_I2?", - "kids": [], - "rule": 91 - }, - { - "label": "hiding-spec_I2?", - "kids": [], - "rule": 98 - }, - { - "label": "hiding-spec_I2_I0*", - "kids": [], - "rule": 101 - }, - { - "label": "module-ref_I0*", - "kids": [], - "rule": 105 - }, - { - "label": "comma-names_I1*", - "kids": [], - "rule": 109 - }, - { - "label": "block", - "kids": [ - 23 - ], - "rule": 112 - }, - { - "label": "block_I0*", - "kids": [], - "rule": 113 - }, - { - "label": "spy-stmt_I1?", - "kids": [], - "rule": 130 - }, - { - "label": "spy-stmt_I3?", - "kids": [], - "rule": 133 - }, - { - "label": "spy-contents_I1*", - "kids": [], - "rule": 137 - }, - { - "label": "tuple-binding_I1*", - "kids": [], - "rule": 148 - }, - { - "label": "tuple-binding_I3?", - "kids": [], - "rule": 151 - }, - { - "label": "tuple-binding_I5?", - "kids": [], - "rule": 154 - }, - { - "label": "name-binding_I0?", - "kids": [], - "rule": 158 - }, - { - "label": "name-binding_I2?", - "kids": [], - "rule": 161 - }, - { - "label": "multi-let-expr_I2*", - "kids": [], - "rule": 166 - }, - { - "label": "letrec-expr_I2*", - "kids": [], - "rule": 174 - }, - { - "label": "type-let-expr_I2*", - "kids": [], - "rule": 184 - }, - { - "label": "ty-params", - "kids": [ - 36 - ], - "rule": 197 - }, - { - "label": "ty-params_I0?", - "kids": [], - "rule": 198 - }, - { - "label": "args_I1?", - "kids": [], - "rule": 208 - }, - { - "label": "args_I1_I1*", - "kids": [], - "rule": 211 - }, - { - "label": "bad-args_I1?", - "kids": [], - "rule": 215 - }, - { - "label": "bad-args_I1_I1*", - "kids": [], - "rule": 218 - }, - { - "label": "return-ann", - "kids": [ - 42 - ], - "rule": 221 - }, - { - "label": "return-ann_I0?", - "kids": [], - "rule": 222 - }, - { - "label": "doc-string", - "kids": [ - 44 - ], - "rule": 225 - }, - { - "label": "doc-string_I0?", - "kids": [], - "rule": 226 - }, - { - "label": "where-clause", - "kids": [ - 46 - ], - "rule": 229 - }, - { - "label": "where-clause_I0?", - "kids": [], - "rule": 230 - }, - { - "label": "check-test_A0_I2?", - "kids": [], - "rule": 240 - }, - { - "label": "check-test_A0_I4?", - "kids": [], - "rule": 245 - }, - { - "label": "check-test_A1_I2?", - "kids": [], - "rule": 249 - }, - { - "label": "data-expr_I4?", - "kids": [], - "rule": 254 - }, - { - "label": "data-expr_I5*", - "kids": [], - "rule": 257 - }, - { - "label": "variant-members_I1?", - "kids": [], - "rule": 266 - }, - { - "label": "variant-members_I1_I1*", - "kids": [], - "rule": 269 - }, - { - "label": "variant-member_I0?", - "kids": [], - "rule": 273 - }, - { - "label": "data-with", - "kids": [ - 56 - ], - "rule": 276 - }, - { - "label": "data-with_I0?", - "kids": [], - "rule": 277 - }, - { - "label": "data-sharing", - "kids": [ - 58 - ], - "rule": 280 - }, - { - "label": "data-sharing_I0?", - "kids": [], - "rule": 281 - }, - { - "label": "binop-expr_I1*", - "kids": [], - "rule": 291 - }, - { - "label": "app-expr_A2_I5*", - "kids": [], - "rule": 392 - }, - { - "label": "opt-comma-binops", - "kids": [ - 62 - ], - "rule": 396 - }, - { - "label": "opt-comma-binops_I0?", - "kids": [], - "rule": 397 - }, - { - "label": "comma-binops_I1*", - "kids": [], - "rule": 401 - }, - { - "label": "trailing-opt-comma-binops", - "kids": [ - 65 - ], - "rule": 404 - }, - { - "label": "trailing-opt-comma-binops_I0", - "kids": [], - "rule": 409 - }, - { - "label": "trailing-opt-comma-binops_I0_A0_I1?", - "kids": [], - "rule": 406 - }, - { - "label": "inst-expr_I3*", - "kids": [], - "rule": 411 - }, - { - "label": "tuple-fields_I1*", - "kids": [], - "rule": 418 - }, - { - "label": "tuple-fields_I2?", - "kids": [], - "rule": 421 - }, - { - "label": "obj-fields_I1*", - "kids": [], - "rule": 428 - }, - { - "label": "obj-fields_I2?", - "kids": [], - "rule": 431 - }, - { - "label": "obj-field_A1_I2?", - "kids": [], - "rule": 436 - }, - { - "label": "fields_I1*", - "kids": [], - "rule": 443 - }, - { - "label": "fields_I2?", - "kids": [], - "rule": 446 - }, - { - "label": "construct-modifier", - "kids": [], - "rule": 455 - }, - { - "label": "table-headers", - "kids": [ - 77 - ], - "rule": 458 - }, - { - "label": "table-headers_I0?", - "kids": [], - "rule": 459 - }, - { - "label": "table-headers_I0_I0*", - "kids": [], - "rule": 462 - }, - { - "label": "table-header_I1?", - "kids": [], - "rule": 467 - }, - { - "label": "table-rows", - "kids": [ - 81 - ], - "rule": 470 - }, - { - "label": "table-rows_I0?", - "kids": [], - "rule": 471 - }, - { - "label": "table-rows_I0_I0*", - "kids": [], - "rule": 474 - }, - { - "label": "table-items", - "kids": [ - 84 - ], - "rule": 478 - }, - { - "label": "table-items_I0?", - "kids": [], - "rule": 479 - }, - { - "label": "table-items_I0_I0*", - "kids": [], - "rule": 482 - }, - { - "label": "if-expr_I4*", - "kids": [], - "rule": 495 - }, - { - "label": "if-expr_I5?", - "kids": [], - "rule": 498 - }, - { - "label": "if-pipe-expr_I2*", - "kids": [], - "rule": 505 - }, - { - "label": "if-pipe-expr_I3?", - "kids": [], - "rule": 508 - }, - { - "label": "cases-binding_I0?", - "kids": [], - "rule": 513 - }, - { - "label": "cases-args_I1?", - "kids": [], - "rule": 517 - }, - { - "label": "cases-args_I1_I1*", - "kids": [], - "rule": 520 - }, - { - "label": "cases-expr_I6*", - "kids": [], - "rule": 528 - }, - { - "label": "cases-expr_I7?", - "kids": [], - "rule": 531 - }, - { - "label": "cases-branch_I2?", - "kids": [], - "rule": 535 - }, - { - "label": "for-expr_I3?", - "kids": [], - "rule": 540 - }, - { - "label": "for-expr_I3_I1*", - "kids": [], - "rule": 543 - }, - { - "label": "table-select_I2*", - "kids": [], - "rule": 552 - }, - { - "label": "table-filter_I2?", - "kids": [], - "rule": 556 - }, - { - "label": "table-filter_I2_I2*", - "kids": [], - "rule": 559 - }, - { - "label": "table-order_I4*", - "kids": [], - "rule": 563 - }, - { - "label": "table-update_I2?", - "kids": [], - "rule": 568 - }, - { - "label": "table-update_I2_I2*", - "kids": [], - "rule": 571 - }, - { - "label": "table-extend_I2?", - "kids": [], - "rule": 575 - }, - { - "label": "table-extend_I2_I2*", - "kids": [], - "rule": 578 - }, - { - "label": "table-extend-fields_I0*", - "kids": [], - "rule": 582 - }, - { - "label": "table-extend-fields_I2?", - "kids": [], - "rule": 585 - }, - { - "label": "table-extend-field_A0_I1?", - "kids": [], - "rule": 590 - }, - { - "label": "table-extend-field_A1_I1?", - "kids": [], - "rule": 594 - }, - { - "label": "load-table-expr_I3?", - "kids": [], - "rule": 598 - }, - { - "label": "load-table-specs_I0*", - "kids": [], - "rule": 602 - }, - { - "label": "comma-ann-field_I1*", - "kids": [], - "rule": 617 - }, - { - "label": "trailing-opt-comma-ann-field", - "kids": [ - 114 - ], - "rule": 620 - }, - { - "label": "trailing-opt-comma-ann-field_I0", - "kids": [], - "rule": 625 - }, - { - "label": "trailing-opt-comma-ann-field_I0_A0_I1?", - "kids": [], - "rule": 622 - }, - { - "label": "tuple-ann_I2*", - "kids": [], - "rule": 629 - }, - { - "label": "tuple-ann_I3?", - "kids": [], - "rule": 632 - }, - { - "label": "noparen-arrow-ann_I0?", - "kids": [], - "rule": 636 - }, - { - "label": "arrow-ann_I1?", - "kids": [], - "rule": 648 - }, - { - "label": "comma-anns_I1*", - "kids": [], - "rule": 657 - }, - { - "label": "START", - "kids": [ - 1 - ], - "rule": 664 - }, - { - "label": "import-stmt_A1_I4_I1*,import-stmt_A1_I4_I2?", - "kids": [ - 6, - 7 - ] - }, - { - "label": "provide-block_A0_I1_I1*,provide-block_A0_I1_I2?", - "kids": [ - 11, - 12 - ] - }, - { - "label": "provide-block_A1_I4_I1*,provide-block_A1_I4_I2?", - "kids": [ - 14, - 15 - ] - }, - { - "label": "tuple-fields_I1*,tuple-fields_I2?", - "kids": [ - 68, - 69 - ] - }, - { - "label": "obj-fields_I1*,obj-fields_I2?", - "kids": [ - 70, - 71 - ] - }, - { - "label": "fields_I1*,fields_I2?", - "kids": [ - 73, - 74 - ] - } - ] - }; - return { PyretGrammar: Grammar.fromSerializable(g_json) }; -}); -define("pyret-base/js/exn-stack-parser", ["source-map"], function(sourceMap) { - - // TODO(joe): make this match exactly 64 characters - var matchHashedPyretURI = /_([a-f0-9]+)__/; - var matchInnerEvalLocationV8 = /:([0-9]+):([0-9]+)/; - var matchInnerEvalLocationFirefoxSafari = /([0-9]+):([0-9]+)$/; - var matchInnerEvalLocationIE = /([0-9]+):([0-9]+)\)$/; - - function isSourcePyretFrame(line) { - return line.match(matchHashedPyretURI) !== null; - } - - function parseFrame(line) { - if(!isSourcePyretFrame(line)) { - return {}; - } - var matchedURI = line.match(matchHashedPyretURI); - var matchedLoc1 = line.match(matchInnerEvalLocationV8); - var matchedLoc2 = line.match(matchInnerEvalLocationFirefoxSafari); - var matchedLoc3 = line.match(matchInnerEvalLocationIE); - var matchedLoc = matchedLoc1 || matchedLoc2 || matchedLoc3; - return { - startLine: matchedLoc[1], - startCol: matchedLoc[2], - hashedURI: matchedURI[1] - }; - } - - function parseStack(stacktrace) { - var lines = stacktrace.split("\n"); - return lines.filter(isSourcePyretFrame).map(parseFrame); - } - - function convertExceptionToPyretStackTrace(e, realm) { - var parsedStack = parseStack(e.stack); - var uriMap = {}; - for(var k in realm.static) { - uriMap[realm.static[k].uriHashed] = k; - } - - var pyretStack = parsedStack.map(function(frame) { - var uri = uriMap[frame.hashedURI]; - if(uri === undefined) { return ["unknown"]; } - if(realm.static === undefined) { return ["unknown"]; } - var moduleSourceMap = realm.static[uri].mod.theMap; - var consumer = new sourceMap.SourceMapConsumer(moduleSourceMap); - consumer.computeColumnSpans(); - var original = consumer.originalPositionFor({ - source: uri, - line: Number(frame.startLine), - column: Number(frame.startCol) }, - sourceMap.SourceMapConsumer.LEAST_UPPER_BOUND); - if(original.name === null) { return ["unknown location"]; } - var posForPyret = original.name.split(","); - // NOTE(joe): this loop intentionally starts at one. The split array - // will be a length-7 array where the first is the URI of the module - // the source location, and the remaining 6 are numbers for the line, - // column, and character offsets of the start and end. - posForPyret[0] = uri; - for(var i = 1; i < posForPyret.length; i += 1) { - posForPyret[i] = Number(posForPyret[i]); - } - return posForPyret; - }); - - if (e.pyretStack) { - return pyretStack.concat(e.pyretStack); - } else { - return pyretStack; - } - } - - return { - isSourcePyretFrame, - parseFrame, - parseStack, - convertExceptionToPyretStackTrace - }; -}); -define("pyret-base/js/runtime-util", [], function() { - var gs = Math.floor(Math.random() * 10000); - function gensym(name) { - return name + String(gs++); - } - function isBrowser() { - var maybeBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document); - return maybeBrowser || typeof importScripts !== "undefined"; - } - - var suspend; - if (typeof setImmediate !== 'undefined') { - suspend = function(f) { return setImmediate(f); }; - } - else if (isBrowser() - && (typeof window !== "undefined") - && window.postMessage - && window.location.origin !== "file://" - && window.location.origin !== "null") { - var origin = String(window.location.origin); - var postMessageCBToken = String(Math.random()); - var postMessageCBs = {}; - var postMessageIndex = 0; - window.addEventListener('message', function(e) { - if(e.data.token === postMessageCBToken && postMessageCBs[e.data.cb]) { - var f = postMessageCBs[e.data.cb]; - delete postMessageCBs[e.data.cb]; - f(); - } - }); - var suspend = function(f) { - postMessageIndex += 1; - postMessageCBs[postMessageIndex] = f; - window.postMessage({ - token: postMessageCBToken, - cb: postMessageIndex - }, origin); - }; - } - else { - suspend = function(f) { setTimeout(f, 0); }; - } - - function memoModule(modname, moduleFun) { - return function(RUNTIME, NAMESPACE) { - - if(RUNTIME.modules[modname]) { - return RUNTIME.modules[modname]; - } - else { - return RUNTIME.safeCall(function() { - return moduleFun(RUNTIME, NAMESPACE); - }, function(moduleFunVal) { - RUNTIME.modules[modname] = moduleFunVal; - return moduleFunVal; - }, "memoModule:moduleFun"); - } - }; - } - - function modBuiltin(name) { - return { "import-type": "builtin", name: name }; - } - - // NOTE(joe): This should become a flagged structure that explicitly - // allows Pyret-tainted JS modules to be imported, which cannot be done from - // pure Pyret imports (they cannot generate this kind of dependency - // description). - var modBuiltinJS = modBuiltin; - - - function definePyretModule(name, oldDeps, deps, provides, func) { - return defineModule(function(_, result) { return result; }, name, oldDeps, deps, provides, func); - } - - function defineJSModule(name, oldDeps, deps, provides, func) { - function createJSReturn(runtime, jsObj) { - return runtime.makeObject({ - "provide-plus-types": runtime.makeObject({ - values: runtime.makeObject({}), - types: {}, - internal: jsObj - }), - answer: runtime.nothing - }); - } - return defineModule(createJSReturn, name, oldDeps, deps, provides, func); - } - - - function defineModule(wrap, name, oldDeps, deps, provides, func) { - var modname = gensym(name); - return { - name: name, - dependencies: deps, - provides: provides, - theModule: function(/* varargs */) { - var pyretDependencies = Array.prototype.slice.call(arguments); - return memoModule(modname, function(runtime, namespace) { - return runtime.loadModulesNew(namespace, pyretDependencies, function(/* instantiated modules */) { - var deps = Array.prototype.slice.call(arguments); - return runtime.safeCall(function() { - return func.apply(null, [runtime, namespace].concat(deps)); - }, function(result) { - return wrap(runtime, result); - }, "defineModule:moduleFun"); - }); - }); - } - }; - } - - function makeModuleReturn(runtime, types, values) { - return runtime.makeObject({ - "provide-plus-types": runtime.makeObject({ - types: types, - values: runtime.makeObject(values) - }) - }); - } - - return { - modBuiltin: modBuiltin, - modBuiltinJS: modBuiltinJS, - - memoModule: memoModule, - makeModuleReturn: makeModuleReturn, - isBrowser: isBrowser, - suspend: suspend, - definePyretModule: definePyretModule, - defineJSModule: defineJSModule, - isBrowser: isBrowser - }; -}); -define("pyret-base/js/type-util", [], function() { - - var any = { "tag": "any" }; - var string = { "tag": "name", "module": "builtin", "name": "String" } - var number = { "tag": "name", "module": "builtin", "name": "Number" } - var boolean = { "tag": "name", "module": "builtin", "name": "Boolean" } - var nothing = { "tag": "name", "module": "builtin", "name": "Nothing" } - - function forall(args, onto) { - if(!Array.isArray(args)) { throw "Expected list for args, but got " + String(args); } - args.forEach(function(a) { - if(typeof a !== "string") { throw "Type args must be strings, but got: " + String(a); } - }); - return { - tag: "forall", - args: args, - onto: onto - } - } - - function arrow(args, ret) { - if(!Array.isArray(args)) { throw "Expected list for arrow args, but got " + String(args); } - return { - tag: "arrow", - args: args, - ret: ret - }; - } - - function tyapp(onto, args) { - if(!Array.isArray(args)) { throw "Expected list for tyapp args, but got " + String(args); } - return { - tag: "tyapp", - onto: onto, - args: args - }; - } - - function tyvar(name) { - return { - tag: "tyvar", - name: name - }; - } - - function builtinName(name) { - return { - tag: "name", - module: "builtin", - name: name - }; - } - - function libName(lib, name) { - return { - tag: "name", - module: "pyret-builtin://" + lib, - name: name - }; - } - - function localType(name) { - return { - tag: "name", - module: "LOCAL", - name: name - }; - } - - function record(fields) { - return { - tag: "record", - fields: fields - }; - } - - function dataRefinement(basetype, variant) { - return { - tag: "data-refinement", - basetype: basetype, - variant: variant - }; - } - - function dataType(origin, name, params, variants, methods) { - return { - tag: "data", - origin: origin, - name: name, - params: params, - variants: variants, - methods: methods - }; - } - - function variant(name, vmembers, withmembers) { - return { - tag: "variant", - name: name, - vmembers: vmembers, - withmembers: withmembers - }; - } - - function singletonVariant(name, withmembers) { - return { - tag: "singleton-variant", - name: name, - withmembers: withmembers - } - } - - function variantMember(name, kind, typ) { - return { - tag: "variant-member", - kind: kind, - typ: typ - }; - } - - function bindToPyret(runtime, value, shorthands) { - var origin = runtime.makeObject({ provided: false }); - if(!value.bind) { - return runtime.makeObject({ - origin: origin, - bind: "let", - typ: toPyretType(runtime, expandType(value, shorthands)) - }); - } - else { - if(typeof value.origin === "object") { - origin = value.origin; - origin.provided = true; - origin = runtime.makeObject(origin); - } - if(value.bind === "let") { - return runtime.makeObject({ - origin: origin, - typ: toPyretType(runtime, expandType(value.typ, shorthands)), - bind: "let" - }); - } - else if(value.bind === "alias") { - return runtime.makeObject({ - 'original-name': value["original-name"], - origin: origin, - bind: "alias", - typ: false - }); - } - else if(value.bind === "fun") { - var flatnessInt = parseInt(value.flatness); - // Flatness had better be (a) an integer and (b) a non-negative number, - // otherwise treat it as an infinitely-deep function - var flatness = flatnessInt === value.flatness && flatnessInt >= 0 ? flatnessInt : false; - return runtime.makeObject({ - origin: origin, - bind: "fun", - name: value.name || "", - flatness: flatness, - typ: toPyretType(runtime, expandType(value.typ, shorthands)) - }); - } - else if(value.bind === "var") { - return runtime.makeObject({ - origin: origin, - bind: "var", - typ: toPyretType(runtime, expandType(value.typ, shorthands)) - }); - } - else { - console.error("Bad value provide format:", value); - throw new Error("Bad value provide format"); - } - } - } - - - function toPyretType(runtime, typ) { - var O = runtime.makeObject; - var L = runtime.ffi.makeList; - var tp = function(thing) { return toPyretType(runtime, thing); }; - function provided(o) { o.provided = true; return O(o); } - if(typ === "tany") { return O({ tag: "any" }); } - if(typ === "tbot") { return O({ tag: "bot" }); } - switch(typ.tag) { - case "any": - return O({ tag: "any"}); - case "data-alias": - return O({ tag: "data-alias", origin: provided(typ.origin), name : typ.name }); - case "data": - var methods = Object.keys(typ.methods).map(function(k) { - return O({ name: k, value: tp(typ.methods[k]) }); - }); - var origin; - if(typeof typ.origin === "object" && typeof typ.origin.provided !== "boolean") { origin = provided(typ.origin); } - else { origin = O({provided: false}); } - return O({ - tag: "data", - origin: origin, - name: typ.name, - params: L(typ.params), - variants: L(typ.variants.map(tp)), - methods: L(methods) - }); - case "variant": - var methods = Object.keys(typ.withmembers).map(function(k) { - return O({ name: k, value: tp(typ.withmembers[k]) }); - }); - return O({ - tag: "variant", - name: typ.name, - vmembers: L(typ.vmembers.map(tp)), - withmembers: L(methods) - }); - case "singleton-variant": - var methods = Object.keys(typ.withmembers).map(function(k) { - return O({ name: k, value: tp(typ.withmembers[k]) }); - }); - return O({ - tag: "singleton-variant", - name: typ.name, - withmembers: L(methods) - }); - case "variant-member": - return O({ - tag: "variant-member", - name: typ.name, - kind: typ.kind, - typ: tp(typ.typ), - }); - case "record": - return O({ - tag: "record", - fields: L(Object.keys(typ.fields).map(function(f) { return O({ tag: "member", name: f, value: tp(typ.fields[f]) }); })), - }); - case "data-refinement": - return O({ - tag: "data-refinement", - basetype: tp(typ.basetype), - variant: typ.variant - }); - case "name": - return O({ - tag: "name", - origin: O(typ.origin), - name: typ.name - }); - case "forall": - return O({ - tag: "forall", - args: L(typ.args), - onto: tp(typ.onto) - }); - case "tyvar": - return O({ - tag: "tyvar", - name: typ.name - }); - case "arrow": - return O({ - tag: "arrow", - args: L(typ.args.map(tp)), - ret: tp(typ.ret) - }); - case "tuple": - return O({ - tag: "tuple", - elts: L(typ.elts.map(tp)), - }); - case "tyapp": - return O({ - tag: "tyapp", - args: L(typ.args.map(tp)), - onto: tp(typ.onto) - }); - default: - console.error(typ); - throw new Error("No such tag: " + typ.tag); - } - } - - function expandType(typ, shorthands) { - if(typ.bind == 'fun') { - return { - bind: typ.bind, - origin: typ.origin, - flatness: typ.flatness, - name: typ.name, - typ: expandType(typ.typ, shorthands) - }; - } - else if (typ.bind === 'var') { - return { bind: typ.bind, origin: typ.origin, typ: expandType(typ.typ, shorthands) }; - } - var fromGlobal = { "import-type": "uri", uri: "builtin://global" }; - var prims = ["Number", "String", "Boolean", "Nothing", "Any"]; - function mkName(origin, name) { - return { tag: "name", origin: origin, name: name }; - } - function p(name) { return mkName(fromGlobal, name); } - function mkApp1(tycon, arg) { - return { - tag: "tyapp", - onto: expandType(tycon, shorthands), - args: [ expandType(arg, shorthands) ] - }; - } - var constrs = { - "Array": function(name, arg) { - return mkApp1(mkName({ "import-type": "uri", uri: "builtin://arrays" }, name), arg); - }, - "RawArray": function(name, arg) { return mkApp1(mkName(fromGlobal, name), arg); }, - "List": function(name, arg) { - return mkApp1(mkName({ "import-type": "uri", uri: "builtin://lists" }, name), arg); - }, - "Option": function(name, arg) { - return mkApp1(mkName({ "import-type": "uri", uri: "builtin://option" }, name), arg); - }, - "Maker": function(_, arg, ret) { - var maker = { - "make": ["arrow", [["RawArray", arg]], ret], - "make0": ["arrow", [], ret], - "make1": ["arrow", [arg], ret], - "make2": ["arrow", [arg, arg], ret], - "make3": ["arrow", [arg, arg, arg], ret], - "make4": ["arrow", [arg, arg, arg, arg], ret], - "make5": ["arrow", [arg, arg, arg, arg, arg], ret] - }; - return expandType(["record", maker], shorthands); - } - }; - var iA = Array.isArray; - var iO = function(o) { return typeof o === "object" && o !== null && !(iA(o)); }; - - - function expandMember(m, shorthands) { - if(!iA(m)) { - throw new Error("Serialized members should be arrays, got: " + String(m)); - } - if(m.length === 2) { - return { - tag: "variant-member", - kind: "normal", - name: m[0], - typ: expandType(m[1], shorthands) - }; - } - else if(m.length === 3) { - return { - tag: "variant-member", - kind: "ref", - name: m[1], - typ: expandType(m[2], shorthands) - }; - } - else { - throw new Error("Bad serialized member: " + String(m)); - } - } - - function expandVariant(v, shorthands) { - if(!iA(v)) { - throw new Error("Serialized variant types should be arrays, got: " + String(v)); - } - else { - if(v.length === 1) { - return singletonVariant(v[0], {}); - } - else if(v.length === 2) { - if(Array.isArray(v[1])) { - return variant(v[0], v[1].map(function(m) { return expandMember(m, shorthands); }), {}); - } - else { - return singletonVariant(v[0], expandRecord(v[1], shorthands)); - } - } - else if(v.length === 3) { - return variant(v[0], - v[1].map(function(m) { return expandMember(m, shorthands); }), - expandRecord(v[2], shorthands)); - } - else { - throw new Error("Bad serialized variant: " + String(v)); - } - } - } - - if(typeof typ === "string") { - if(typ === "tany") { - return "tany"; - } - else if(typ === "tbot") { - return "tbot"; - } - else if(prims.indexOf(typ) !== -1) { - return p(typ); - } - else if(typ in shorthands) { - return shorthands[typ]; - } - else { - throw new Error("Unknown prim type or shorthand: " + typ); - } - } - else if(Array.isArray(typ)) { - var head = typ[0]; - if (head in constrs) { - var constr = constrs[head]; - if(typ.length !== constr.length) { - throw new Error("Bad tail for type constructor " + head + ": " + String(typ)); - } - return constr.apply(null, typ); - } - else { - if(head === "arrow" && typ.length === 3 && Array.isArray(typ[1])) { - return { - tag: "arrow", - args: typ[1].map(function(t) { return expandType(t, shorthands); }), - ret: expandType(typ[2], shorthands) - }; - } - else if(head === "tuple" && typ.length === 2 && iA(typ[1])) { - return { - tag: "tuple", - elts: typ[1].map(function(t) { return expandType(t, shorthands); }) - }; - } - else if(head === "data" && typ.length === 6 && iA(typ[3]) && iA(typ[4]) && iO(typ[5])) { - return { - tag: "data", - origin: typ[1], - name: typ[2], - params: typ[3], - variants: typ[4].map(function(v) { return expandVariant(v, shorthands); }), - methods: expandRecord(typ[5], shorthands) - }; - } - else if(head === "data" && typ.length === 5 && iA(typ[2]) && iA(typ[3]) && iO(typ[4])) { - return { - tag: "data", - origin: {provided: false}, - name: typ[1], - params: typ[2], - variants: typ[3].map(function(v) { return expandVariant(v, shorthands); }), - methods: expandRecord(typ[4], shorthands) - }; - } - else if(head === "data-alias" && typ.length === 3) { - return { - tag: "data-alias", - origin: typ[1], - name: typ[2] - }; - } - else if(head === "tid" && typ.length === 2) { - return { - tag: "tyvar", - name: typ[1] - }; - } - else if(head === "forall" && typ.length === 3) { - return { - tag: "forall", - args: typ[1], - onto: expandType(typ[2], shorthands) - }; - } - else if(head === "local") { - return { - tag: "name", - origin: {"import-type": "$ELF"}, - name: typ[1] - }; - } - else if(head === "record") { - return { - tag: "record", - fields: expandRecord(typ[1], shorthands) - }; - } - else if(head === "data%") { - return { - tag: "data-refinement", - basetype: expandType(typ[1], shorthands), - variant: typ[2] - }; - } - else if(head === "tyapp") { - return { - tag: "tyapp", - onto: expandType(typ[1], shorthands), - args: typ[2].map(function(t) { return expandType(t, shorthands); }) - }; - } - else { - throw new Error("Unknown shape or head tag for serialized type: " + String(typ)); - } - } - } - else if(iO(typ)) { - // If the object a ValueExport, we want to return an object that's - // exactly the same, but with the typ field expanded. - if (typ.bind == "fun") { - var o = {}; - Object.keys(typ).forEach(function(k) { - if (k == "typ") { - o[k] = expandType(typ.typ, shorthands); - } - else { - o[k] = typ[k]; - } - }); - return o; - } - return typ; - } - else { - throw new Error("Unknown description for serialized type: " + String(typ)); - } - } - - function expandRecord(r, shorthands) { - var o = {}; - Object.keys(r).forEach(function(k) { - o[k] = expandType(r[k], shorthands); - }); - return o; - } - - - return { - any: any, - string: string, - number: number, - boolean: boolean, - nothing: nothing, - forall: forall, - arrow: arrow, - tyapp: tyapp, - tyvar: tyvar, - builtinName: builtinName, - libName: libName, - localType: localType, - record: record, - dataType: dataType, - toPyretType: toPyretType, - bindToPyret: bindToPyret, - expandType: expandType, - expandRecord: expandRecord - }; - -}); -define("pyret-base/js/post-load-hooks", function() { - function makeDefaultPostLoadHooks(runtime, hookOptions) { - return { - "builtin://srcloc": function(srcloc) { - runtime.srcloc = runtime.getField(runtime.getField(srcloc, "provide-plus-types"), "values"); - }, - "builtin://ffi": function(ffi) { - ffi = ffi.jsmod; - runtime.ffi = ffi; - runtime["throwMessageException"] = ffi.throwMessageException; - runtime["throwNoBranchesMatched"] = ffi.throwNoBranchesMatched; - runtime["throwNoCasesMatched"] = ffi.throwNoCasesMatched; - runtime["throwNonBooleanCondition"] = ffi.throwNonBooleanCondition; - runtime["throwNonBooleanOp"] = ffi.throwNonBooleanOp; - runtime["throwUnfinishedTemplate"] = ffi.throwUnfinishedTemplate; - runtime["throwInvalidTableColumn"] = ffi.throwInvalidTableColumn; - runtime["toArray"] = ffi.toArray; - - var checkList = runtime.makeCheckType(ffi.isList, "List"); - runtime["checkList"] = checkList; - - runtime["checkEQ"] = runtime.makeCheckType(ffi.isEqualityResult, "EqualityResult"); - }, - "builtin://table": function(table) { - table = table.jsmod; - runtime["makeTable"] = table.makeTable; - runtime["makeRow"] = table.makeRow; - runtime["makeRowFromArray"] = table.makeRowFromArray; - runtime["openTable"] = table.openTable; - runtime["checkTable"] = runtime.makeCheckType(table.isTable, "Table"); - runtime["checkRow"] = runtime.makeCheckType(table.isRow, "Row"); - runtime["isTable"] = table.isTable; - runtime["isRow"] = table.isRow; - runtime["checkWrapTable"] = function(val) { - runtime.checkTable(val); - return val; - }; - runtime.makePrimAnn("Table", table.isTable); - runtime.makePrimAnn("Row", table.isRow); - }, - "builtin://data-source": function(ds) { - ds = runtime.getField(runtime.getField(ds, "provide-plus-types"), "values"); - // Variadic convenience function for desugaring use. - // 'type' corresponds to a loader option in `data-source.arr` - - runtime["asLoaderOption"] = function(type) { - switch(type) { - case "sanitizer": - return runtime.getField(ds, "sanitize-col").app(arguments[1], arguments[2]); - default: - runtime.ffi.throwMessageException("Internal error: Invalid loader option type: " + type); - } - }; - // Convenience function for JS library use - runtime["extractLoaderOption"] = function(opt) { - var isSanitizer = runtime.getField(ds, "is-sanitize-col"); - if (runtime.unwrap(isSanitizer.app(opt))) { - return { - type: "sanitizer", - col: runtime.getField(opt, "col"), - sanitizer: runtime.getField(opt, "sanitizer") - }; - } else { - runtime.ffi.throwMessageException("Internal error: Cannot coerce non-loader option"); - } - } - runtime["builtin_sanitizers"] = { - option : runtime.getField(ds, "option-sanitizer"), - string : runtime.getField(ds, "string-sanitizer"), - num : runtime.getField(ds, "num-sanitizer"), - bool: runtime.getField(ds, "bool-sanitizer"), - strict_num : runtime.getField(ds, "strict-num-sanitizer"), - strings_only : runtime.getField(ds, "strings-only"), - numbers_only : runtime.getField(ds, "numbers-only"), - booleans_only : runtime.getField(ds, "booleans-only"), - empty_only : runtime.getField(ds, "empty-only") - }; - - function reCache(src, constructorName, target, cachedName) { - return function() { - try { - var constr = runtime.getField(src, constructorName); - return constr.app.apply(constr, arguments); - } finally { - // after jitting, this will be faster than the call above - target[cachedName] = runtime.getField(src, constructorName).app; - } - }; - } - runtime["makeCStr"] = reCache(ds, "c-str", runtime, "makeCStr"); - runtime["makeCNum"] = reCache(ds, "c-num", runtime, "makeCNum"); - runtime["makeCBool"] = reCache(ds, "c-bool", runtime, "makeCBool"); - runtime["makeCCustom"] = reCache(ds, "c-custom", runtime, "makeCCustom"); - runtime["makeCEmpty"] = function() { return runtime.getField(ds, "c-empty"); }; - - runtime["isCStr"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-str").app(v)); }; - runtime["isCNum"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-num").app(v)); }; - runtime["isCBool"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-bool").app(v)); }; - runtime["isCCustom"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-custom").app(v)); }; - runtime["isCEmpty"] = function(v) { return runtime.unwrap(runtime.getField(ds, "is-c-empty").app(v)); }; - - runtime["unwrapCellContent"] = function(v) { - if (runtime.isCStr(v)) { - return {type: "str", value: runtime.getField(v, "s")}; - } else if (runtime.isCNum(v)) { - return {type: "num", value: runtime.getField(v, "n")}; - } else if (runtime.isCBool(v)) { - return {type: "bool", value: runtime.getField(v, "b")}; - } else if (runtime.isCCustom(v)) { - return {type: "custom", value: runtime.getField(v, "datum")}; - } else if (runtime.isCEmpty(v)) { - return {type: "empty"}; - } else { - runtime.ffi.throwMessageException("Internal error: Cannot unwrap non-cell content"); - } - }; - - runtime["makeLoadedTable"] = function(headers, contents) { - // Headers can either be [name, sanitizer] arrays or - // {name: name, sanitizer: sanitizer} objects - headers = headers.map(function(h) { - if (h.sanitizer) { - return runtime.makeTuple([h.name, h.sanitizer]); - } else { - return runtime.makeTuple(h); - } - }); - return runtime.makeTuple([headers, contents]); - }; - runtime["checkCellContent"] = runtime.makeCheckType( - runtime.getField(ds, "is-CellContent").app, "CellContent"); - }, - "builtin://reactors": function(reactor) { - var r = runtime.getField(runtime.getField(reactor, "provide-plus-types"), "values"); - runtime.setParam("makeReactor", runtime.getField(r, "make-reactor").app); - }, - "builtin://checker": function(checker) { - var checker = runtime.getField(runtime.getField(checker, "provide-plus-types"), "values"); - var currentChecker = runtime.getField(checker, "make-check-context").app(runtime.makeString(hookOptions.main), - hookOptions.checkAll); - runtime.setParam("current-checker", currentChecker); - } - }; - } - return { - makeDefaultPostLoadHooks: makeDefaultPostLoadHooks - }; -}); -define("pyret-base/js/runtime", - ["pyret-base/js/namespace", - "pyret-base/js/js-numbers", - "pyret-base/js/codePoint", - "pyret-base/js/runtime-util", - "pyret-base/js/exn-stack-parser", - "pyret-base/js/secure-loader", - "seedrandom", - "js-sha256"], -function (Namespace, jsnums, codePoint, util, exnStackParser, loader, seedrandom, sha) { - Error.stackTraceLimit = Infinity; - var require = requirejs; - var AsciiTable; - - var codePointAt = codePoint.codePointAt; - var fromCodePoint = codePoint.fromCodePoint; - - const MAX_ARRAY_SIZE = 4294967295; - - /** - Creates a Pyret runtime - @param {{stdout : function(string), initialGas : number}} - @return {Object} that contains all the necessary components of a runtime - */ - function makeRuntime(theOutsideWorld) { - var CONSOLE = theOutsideWorld.console || console; - /** - Extends an object with the new fields in fields - If all the fields are new, the brands are kept, - otherwise, the extended object has no brands - - The original object is not mutated, instead it is cloned and the clone - is mutated - - @param {!Object.} fields: a PObj whose fields will be added to the Pyret base - If any of the fields exist, they will be overwritten with the new value - - @return {!PBase} the extended object - */ - function extendWith(fields) { - /**@type {!Object}*/ - var newDict = Object.create(this.dict); - /**@type {!boolean}*/ - var allNewFields = true; - - for(var field in fields) { - if(hasProperty(this.dict, field)) { - allNewFields = false; - if(isRef(this.dict[field])) { - thisRuntime.ffi.throwMessageException("Cannot update ref field " + field); - } - } - - newDict[field] = fields[field]; - } - - var newObj = this.updateDict(newDict, allNewFields); - - return newObj; - } - - function brandClone(newObj, obj, b) { - newObj.dict = obj.dict; - if (b in obj.brands) { - newObj.brands = obj.brands; - } - else { - newObj.brands = Object.create(obj.brands); - newObj.brands[b] = true; - newObj.brands.brandCount++; - } - return newObj; - } - - var noBrands = { brandCount: 0 }; - - /** - The base of all pyret values - @constructor - */ - function PBase() { - /**@type {!Object.}*/ - this.brands = noBrands; - /**@type {!Object.}*/ - this.dict = emptyDict; - } - - /**@type {!Object.}*/ - PBase.prototype.dict = emptyDict; - /**@type {!function(!Object.) : !PBase}*/ - PBase.prototype.extendWith = extendWith; - - /** - Sets up Inheritance with a function call - This needs to be done socompiler recognizes it - - @param {Function} sub the class that will become a subclass - @param {Function} from the class that sub will subclass - */ - function inherits(sub, from) { - sub.prototype = Object.create(from.prototype); - } - - //Set up heirarchy - //We need to set it up before all the other classes - inherits(PNothing, PBase); - inherits(PObject, PBase); - inherits(PFunction, PBase); - inherits(PMethod, PBase); - inherits(POpaque, PBase); - inherits(PTuple, PBase); - - /** - Tests whether a JS Object has a property - - @param {!Object} obj the object to test - @param {!string} p the property to look for - @return {boolean} true if obj has property p, false otherwise - */ - function hasProperty(obj, p) { - return p in obj; - } - - /** - Tests whether a JS Object has a property, but not on - any of its prototypes. - Useful for objects that lack the .hasOwnProperty method - - @param {!Object} obj the object to test - @param {!string} p the property to look for - @return {boolean} true if obj has property p, false otherwise - */ - function hasOwnProperty(obj, p) { - return Object.prototype.hasOwnProperty.call(obj, p); - } - - var parameters = Object.create(null); - - function getParam(param) { - if(hasOwnProperty(parameters, param)) { - return parameters[param]; - } - else { - throw new Error("Parameter " + param + " not defined"); - } - } - function setParam(param, val) { - parameters[param] = val; - } - function hasParam(param) { - return param in parameters; - } - function getParamOrSetDefault(param, defVal) { - if (hasParam(param)) - return getParam(param); - setParam(param, defVal); - return defVal; - } - function clearParam(param) { - delete parameters[param]; - } - - - /** - Get the brands on an object - - @param {!PBase} obj the object to get the brands of - @return {Object.} - */ - function getBrands(obj) { - return obj.brands; - } - - var getProto = Object.getPrototypeOf; - - /** - Get the fields in an object. - - @param {!PBase} obj the object to get the fields of - @return {Array.} - - */ - function getFields(obj) { - var fieldsObj = Object.create(null); - var fields = []; - var currentProto = obj.dict; - while(currentProto !== null) { - var keys = Object.keys(currentProto); - for (var i = 0; i < keys.length; i++) - fieldsObj[keys[i]] = true; - currentProto = getProto(currentProto); - } - fields = Object.keys(fieldsObj) - return fields; - } - - var emptyDict = Object.create(null); - - /**Tests whether an object is a PBase - @param {Object} obj the item to test - @return {boolean} true if object is a PBase - */ - function isBase(obj) { return obj instanceof PBase; } - - function renderValueSkeleton(val, values) { - if (thisRuntime.ffi.isVSValue(val)) { return values.pop(); } // double-check order! - else if (thisRuntime.ffi.isVSStr(val)) { return thisRuntime.unwrap(thisRuntime.getField(val, "s")); } - else if (thisRuntime.ffi.isVSCollection(val)) { - var name = thisRuntime.unwrap(thisRuntime.getField(val, "name")); - var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "items")); - var s = "[" + name + ": "; - for (var i = 0; i < items.length; i++) { - if (i > 0) { s += ", "; } - s += renderValueSkeleton(items[i], values); - } - return s + "]"; - } else if (thisRuntime.ffi.isVSConstr(val)) { - var name = thisRuntime.unwrap(thisRuntime.getField(val, "name")); - var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "args")); - var s = name + "("; - for (var i = 0; i < items.length; i++) { - if (i > 0) { s += ", "; } - s += renderValueSkeleton(items[i], values); - } - return s + ")"; - } else if (thisRuntime.ffi.isVSSeq(val)) { - var items = thisRuntime.ffi.toArray(thisRuntime.getField(val, "items")); - var s = ""; - for (var i = 0; i < items.length; i++) { - s += renderValueSkeleton(items[i], values); - } - return s; - } else if (thisRuntime.ffi.isVSRow(val)) { - if (!AsciiTable){ - AsciiTable = require("ascii-table"); - } - var headers = thisRuntime.getField(val, "headers"); - var rowVals = thisRuntime.getField(val, "values"); - headers = headers.map(function(h){ return renderValueSkeleton(h, values); }); - rowVals = rowVals.map(function(v) { return renderValueSkeleton(v, values); }); - var row = []; - for (var i = 0; i < headers.length; i++) { - row.push(headers[i]); - row.push(rowVals[i]); - } - var table = new AsciiTable(); - table.addRow(row); - return table.toString(); - } else if (thisRuntime.ffi.isVSTable(val)) { - // Do this for now until we decide on a string - // representation - if (util.isBrowser()) { - return "
"; - } - if (!AsciiTable){ - AsciiTable = require("ascii-table"); - } - var headers = thisRuntime.getField(val, "headers"); - var rowSkel = thisRuntime.getField(val, "rows"); - headers = headers.map(function(h){ return renderValueSkeleton(h, values); }); - var rows = []; - for (var i = 0; i < rowSkel.length; i++) { - var curRow = []; - for (var j = 0; j < headers.length; j++) { - var v = renderValueSkeleton(rowSkel[i][j], values); - if (v.length > 40) { - curRow.push(v.substr(0, 35) + "[...]"); - } else { - curRow.push(v); - } - } - rows.push(curRow); - } - return new AsciiTable().fromJSON({ - heading: headers, - rows: rows - }).toString(); - } - } - - var DefaultReprMethods = { - "string": String, - "number": String, - "boolean": String, - "nothing": function(val) { return "nothing"; }, - "function": function(val) { return ""; }, - "method": function(val) { return ""; }, - "cyclic": function(val) { return val; }, - "opaque": function(val) { -// if (thisRuntime.imageLib.isImage(val.val)) { -// return ""; -// } else { - return ""; -// } - }, - "tuple": function(t, pushTodo) { - pushTodo(undefined, undefined, undefined, Array.prototype.slice.call(t.vals), "render-tuple"); - }, - "render-tuple": function(top) { - var s = "{ "; - for(var i = top.done.length - 1; i >= 0; i--) { - if(i < top.done.length - 1) { s += "; "; } - s += top.done[i]; - } - s += " }"; - return s; - - }, - "object": function(val, pushTodo) { - var keys = []; - var vals = []; - for (var field in val.dict) { - keys.push(field); // NOTE: this is reversed order from the values, - vals.unshift(val.dict[field]); // because processing will reverse them back - } - pushTodo(undefined, val, undefined, vals, "render-object", { keys: keys }); - }, - "render-object": function(top) { - var s = "{"; - for (var i = 0; i < top.extra.keys.length; i++) { - if (i > 0) { s += ", "; } - s += top.extra.keys[i] + ": " + top.done[i]; - } - s += "}"; - return s; - }, - "ref": function(val, implicit, pushTodo) { - pushTodo(undefined, undefined, val, [getRef(val)], "render-ref", { implicit: implicit }); - }, - "render-ref": function(top) { - var s = ""; - if (top.extra.implicit) { - s += top.done[0]; - } else { - s += "ref(" + top.done[0] + ")"; - } - return s; - }, - "data": function(val, pushTodo) { - var vals = []; - if (val.$constructor.$fieldNames) { - for (var i = 0; i < val.$constructor.$fieldNames.length; i++) { - vals[i] = val.dict[val.$constructor.$fieldNames[i]]; - } - } - pushTodo(undefined, val, undefined, vals, "render-data", - { arity: val.$arity, implicitRefs: val.$mut_fields_mask, - fields: val.$constructor.$fieldNames, constructorName: val.$name }); - }, - "render-data": function(top) { - var s = top.extra.constructorName; - // Sentinel value for singleton constructors - if(top.extra.arity !== -1) { - s += "("; - for(var i = top.done.length - 1; i >= 0; i--) { - if(i < top.done.length - 1) { s += ", "; } - s += top.done[i]; - } - s += ")"; - } - return s; - }, - "array": function(val, pushTodo) { - pushTodo(val, undefined, undefined, Array.prototype.slice.call(val), "render-array"); - }, - "render-array": function(top) { - var s = "[raw-array: "; - for(var i = top.done.length - 1; i >= 0; i--) { - if(i < top.done.length - 1) { s += ", "; } - s += top.done[i]; - } - s += "]"; - return s; - }, - "valueskeleton": function(val, output, pushTodo) { - // NOTE: this is the eager version; - // a lazy version would skip getting the skeleton values altogether - // console.trace(); - // throw new Error("How did we get here?"); - var values = thisRuntime.ffi.skeletonValues(output); - pushTodo(undefined, val, undefined, values, "render-valueskeleton", - { skeleton: output }); - }, - "render-valueskeleton": function(top) { - var skel = top.extra.skeleton; - top.extra.skeleton = undefined; - return renderValueSkeleton(skel, top.done); - } - }; - - var ReprMethods = {}; - ReprMethods["_torepr"] = Object.create(DefaultReprMethods); - ReprMethods["_torepr"]["string"] = function(str) { - return '"' + replaceUnprintableStringChars(String(str)) + '"'; - }; - - ReprMethods["_tostring"] = Object.create(DefaultReprMethods); - - ReprMethods["$cli"] = Object.create(DefaultReprMethods); - ReprMethods["$cli"]["function"] = function(val) { return ""; } - ReprMethods["$cli"]["method"] = function(val) { return ""; } - - ReprMethods.createNewRenderer = function createNewRenderer(name, base) { - if (ReprMethods[name]) { return false; } - ReprMethods[name] = Object.create(base); - return true; - } - - /******************** - Getting Fields - ********************/ - /** - Gets the field from an object of the given name - -If field is a method, it binds self correctly and returns a function - -If field is a placeholder, it calls get on the placeholder - -If field is a mutable -> error - -If field undefined -> error - -Otherwise, returns field value - - @param {PBase} val - @param {string} field - - @return {!PBase} - **/ - function getFieldLocInternal(val, field, loc, isBang) { - if(val === undefined) { - if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwInternalError === undefined) { - // console.trace(); - throw Error("FFI or thisRuntime.ffi.throwInternalError is not yet defined, and lookup of field " + field + " on undefined failed at location " + JSON.stringify(loc)); - } else { - thisRuntime.ffi.throwInternalError("Field lookup on undefined ", thisRuntime.ffi.makeList([field])); - } - } - if(!isObject(val)) { - if (val.$constrFor !== undefined) { - thisRuntime.ffi.throwLookupConstructorNotObject(makeSrcloc(loc), val.$constrFor, field); - } - thisRuntime.ffi.throwLookupNonObject(makeSrcloc(loc), val, field); - } - var fieldVal = val.dict[field]; - if(fieldVal === undefined) { - if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwFieldNotFound === undefined) { - throw Error("FFI or thisRuntime.ffi.throwFieldNotFound is not yet defined, and lookup of field " + field + " on " + toReprJS(val, ReprMethods._torepr) + " failed at location " + JSON.stringify(loc)); - } else { - throw thisRuntime.ffi.throwFieldNotFound(makeSrcloc(loc), val, field); - } - } - else if(isRef(fieldVal)){ - if(!isBang) { - return fieldVal; - // NOTE(joe Aug 8 2014): This is a design decision whether we - // want this to be an error or not - // thisRuntime.ffi.throwMessageException("Got ref in dot lookup"); - } - return getRef(fieldVal); - } - else if(isMethod(fieldVal)){ - var curried = fieldVal['meth'](val); - return makeFunction(curried, field); - } - else { - return fieldVal; - } - } - - function getFieldLoc(obj, field, loc) { - return getFieldLocInternal(obj, field, loc, false); - } - - function getFieldRef(obj, field, loc) { - return getFieldLocInternal(obj, field, loc, true); - } - - function getField(obj, field) { - return thisRuntime.getFieldLoc(obj, field, ["runtime"]); - } - - function getBracket(loc, obj, field) { - checkArityC(loc, 3, arguments, false); - if (obj && obj.dict && obj.dict["get-value"]) { - var gV = getColonFieldLoc(obj, "get-value", loc); - if (thisRuntime.isMethod(gV)) { - return gV.full_meth(obj, field); - } else if (thisRuntime.isFunction(gV)) { - return gV.app(field); - } - } - raiseJSJS( - thisRuntime.ffi.contractFail( - makeSrcloc(loc), - thisRuntime.ffi.makeBadBracketException(makeSrcloc(loc), obj))); - } - - function getMaker(obj, makerField, exprLoc, constrLoc) { - var maker = isObject(obj) && obj.dict[makerField]; - if (!isFunction(maker)) { - if (thisRuntime.ffi === undefined || thisRuntime.ffi.throwFieldNotFound === undefined) { - throw Error("FFI or thisRuntime.ffi., val, field is not yet defined, and lookup of field " + makeField + " on " + toReprJS(val, ReprMethods._torepr) + " failed at location " + JSON.stringify(constrLoc)); - } else { - throw thisRuntime.ffi.throwConstructorSyntaxNonConstructor(makeSrcloc(exprLoc), makeSrcloc(constrLoc)); - } - } - return maker; - } - - - function extendObj(loc, val, extension) { - if (!isObject(val)) { thisRuntime.ffi.throwExtendNonObject(makeSrcloc(loc), val); } - return val.extendWith(extension); - } - - /** - Gets the field from an object of the given name - -Returns the raw field value - - @param {!PBase} val - @param {string} field - - @return {!PBase} - **/ - function getColonField(val, field) { - return getColonFieldLoc(val, field, ["runtime"]); - } - function getColonFieldLoc(val, field, loc) { - if(val === undefined) { thisRuntime.ffi.throwInternalError("Field lookup on undefined ", [field]); } - if(!isObject(val)) { thisRuntime.ffi.throwLookupNonObject(makeSrcloc(loc), val, field); } - var fieldVal = val.dict[field]; - if(fieldVal === undefined) { - thisRuntime.ffi.throwFieldNotFound(makeSrcloc(loc), val, field); - } - else { - return fieldVal; - } - } - - /** - - @constructor - */ - function POpaque(val, equals) { - this.val = val; - this.equals = equals; - /**@type {!Object.}*/ - this.brands = noBrands; - } - POpaque.prototype = Object.create(PBase.prototype); - - function makeOpaque(val, equals) { return new POpaque(val, equals); } - function isOpaque(val) { return val instanceof POpaque; } - - /********************* - Nothing - **********************/ - /** - Pyret Nothing - Represents the 'nothing' value in pyret - @constructor - @extends {PBase} - **/ - function PNothing() { - /**@type {!Object.}*/ - this.dict = emptyDict; - /**@type {!Object.}*/ - this.brands = noBrands; - } - - /**Clones the nothing - @param {!String} b The brand - @return {!PNothing} With same dict - */ - PNothing.prototype.brand = function(b) { - var newNoth = makeNothing(); - return brandClone(newNoth, this, b); - }; - /**Tests whether an object is a PNothing - @param {Object} obj the item to test - @return {boolean} true if object is a PNothing - */ - function isNothing(obj) { return obj instanceof PNothing; } - - /**Makes a nothing - @return {!PNothing} - */ - function makeNothing() {return new PNothing();} - var nothing = makeNothing(); - - /********************* - Number - **********************/ - /**Tests whether an object is a PNumber - @param {Object} obj the item to test - @return {boolean} true if object is a PNumber - */ - - var isNumber = jsnums.isPyretNumber; - - function isJSNumber(obj) { - return typeof obj === "number"; - } - - /**Makes a PNumber using the given bignum - - @param {Bignum} n the number the PNumber will contain - @return {!PNumber} with value n - */ - function makeNumberBig(n) { - return n; - } - - /**Makes a PNumber using the given JSNum - - @param {number} n the number the PNumber will contain - @return {!PNumber} with value n - */ - function makeNumber(n) { - return jsnums.fromFixnum(n, NumberErrbacks); - } - - /**Makes a PNumber using the given string - - @param {string} s - @return {!PNumber} with value n - */ - function makeNumberFromString(s) { - var result = jsnums.fromString(s, NumberErrbacks); - if(result === false) { - thisRuntime.ffi.throwMessageException("Could not create number from: " + s); - } - return result; - } - - /********************* - String - **********************/ - /**Tests whether an object is a PString - @param {Object} obj the item to test - @return {boolean} true if object is a PString - */ - function isString(obj) { - return typeof obj === 'string'; - } - - /**Makes a PString using the given s - - @param {string} s the string the PString will contain - @return {!PString} with value s - */ - function makeString(s) { - if(typeof s !== "string") { throw Error("Non-string given to makeString " + JSON.stringify(s)); } - return s; - } - - /********************* - Boolean - **********************/ - //Boolean Singletons - var pyretTrue = true; - var pyretFalse = false; - - /**Makes a PBoolean using the given s - - @param {boolean} b the Boolean the PBoolean will contain - @return {!PBoolean} with value b - */ - function makeBoolean(b) { - return b; - } - - function isBoolean(b) { - return b === !!b; - } - - /**Tests whether the boolean is equal to the singleton true value - - @param {PBoolean} b - @return {boolean} - */ - function isPyretTrue(b) { - return b === pyretTrue; - } - function isPyretFalse(b) { - return b === pyretFalse; - } - - function checkPyretTrue(b) { - checkBoolean(b); - return b === pyretTrue; - } - - /********************* - Function - **********************/ - - /**The representation of a function - @constructor - @extends {PBase} - - @param {Function} fun the function body - */ - function PFunction(fun, arity, name) { - /**@type {Function}*/ - this.app = fun; - - /**@type {string}*/ - this.name = name || "anonymous"; - } - - /**Clones the function - @param {!string} b The brand to add - @return {!PFunction} With same app and dict - */ - PFunction.prototype.brand = function(b) { - var newFun = makeFunction(this.app, this.name); - return brandClone(newFun, this, b); - }; - - /**Tests whether an object is a PFunction - @param {Object} obj the item to test - @return {boolean} true if object is a PFunction - */ - function isFunction(obj) {return obj instanceof PFunction; } - - /**Makes a PFunction using the given n - - @param {Function} fun The JS function that represents the body of the function, must contain at least one arg, which represents self - @return {!PFunction} with app of fun - */ - function makeFunction(fun, name) { - return new PFunction(fun, fun.length, name); - } - function makeFunctionArity(fun, arity, name) { - return new PFunction(fun, arity, name); - } - - /********************* - Method - **********************/ - - /**The representation of a method - @constructor - @param {Function} meth - @param {Function} full_meth - @extends {PBase} - */ - function PMethod(meth, full_meth, name) { - /**@type {Function}*/ - this['meth'] = meth; - - /**@type {Function}*/ - this['full_meth'] = full_meth; - - /**@type {string}*/ - this.name = name || "anonymous"; - - } - - /**Clones the method - @param {!string} b The brand to add - @return {!PMethod} With same meth and dict - */ - PMethod.prototype.brand = function(b) { - var newMeth = makeMethod(this['meth'], this['full_meth'], this['name']); - return brandClone(newMeth, this, b); - }; - - /**Tests whether an object is a PMethod - @param {Object} obj the item to test - @return {boolean} true if object is a PMethod - */ - function isMethod(obj) { return obj instanceof PMethod; } - - /**Makes a PMethod using the given function - The function first argument should be self - - @param {Function} meth The Curried JS function that represents the body of the method - @param {Function} full_meth The Full JS function that represents the body of the method - @return {!PMethod} with app of fun - */ - function makeMethod(meth, full_meth, name) { - return new PMethod(meth, full_meth, name); - } - var appN = function(obj) { - var that = this; - return function() { return that.full_meth(obj, ...arguments); } - } - - function maybeMethodCall0(obj, fieldname, loc) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(); - } - } - - - function maybeMethodCall1(obj, fieldname, loc, arg) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg); - } - } - - function maybeMethodCall2(obj, fieldname, loc, arg1, arg2) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2); - } - } - - function maybeMethodCall3(obj, fieldname, loc, arg1, arg2, arg3) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2, arg3); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2, arg3); - } - } - - function maybeMethodCall4(obj, fieldname, loc, arg1, arg2, arg3, arg4) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2, arg3, arg4); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2, arg3, arg4); - } - } - - function maybeMethodCall5(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2, arg3, arg4, arg5); - } - } - - function maybeMethodCall6(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5, arg6) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5, arg6); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2, arg3, arg4, arg5, arg6); - } - } - - function maybeMethodCall7(obj, fieldname, loc, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, arg1, arg2, arg3, arg4, arg5, arg6, arg7); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(arg1, arg2, arg3, arg4, arg5, arg6, arg7); - } - } - - function maybeMethodCall(obj, fieldname, loc, ...args) { - var R = thisRuntime; - var field = R.getColonFieldLoc(obj,fieldname,loc); - if(thisRuntime.isMethod(field)) { - return field.full_meth(obj, ...args); - } - else { - if(!(R.isFunction(field))) { - R.ffi.throwNonFunApp(loc,field); - } - return field.app(...args); - } - } - - function makeMethodFromFun(meth, name) { - return new PMethod(appN, meth, name); - } - var makeMethodN = makeMethodFromFun; - var makeMethod0 = makeMethodN; - var makeMethod1 = makeMethodN; - var makeMethod2 = makeMethodN; - var makeMethod3 = makeMethodN; - var makeMethod4 = makeMethodN; - var makeMethod5 = makeMethodN; - var makeMethod6 = makeMethodN; - var makeMethod7 = makeMethodN; - var makeMethod8 = makeMethodN; - - function callIfPossible0(L, fun, obj) { - if (isMethod(fun)) { - return fun.full_meth(obj); - } else if (isFunction(fun)) { - return fun.app(); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible1(L, fun, obj, v1) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1); - } else if (isFunction(fun)) { - return fun.app(v1); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible2(L, fun, obj, v1, v2) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2); - } else if (isFunction(fun)) { - return fun.app(v1, v2); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible3(L, fun, obj, v1, v2, v3) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible4(L, fun, obj, v1, v2, v3, v4) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3, v4); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3, v4); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible5(L, fun, obj, v1, v2, v3, v4, v5) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3, v4, v5); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3, v4, v5); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible6(L, fun, obj, v1, v2, v3, v4, v5, v6) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3, v4, v5, v6); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3, v4, v5, v6); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible7(L, fun, obj, v1, v2, v3, v4, v5, v6, v7) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3, v4, v5, v6, v7); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3, v4, v5, v6, v7); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - function callIfPossible8(L, fun, obj, v1, v2, v3, v4, v5, v6, v7, v8) { - if (isMethod(fun)) { - return fun.full_meth(obj, v1, v2, v3, v4, v5, v6, v7, v8); - } else if (isFunction(fun)) { - return fun.app(v1, v2, v3, v4, v5, v6, v7, v8); - } else { - thisRuntime.ffi.throwNonFunApp(L, fun); - } - } - - var GRAPHABLE = 0; - var UNGRAPHABLE = 1; - var SET = 2; - var FROZEN = 3; - function PRef() { - this.state = GRAPHABLE; - this.anns = makePAnnList([]); - this.value = undefined; - } - - function makeGraphableRef() { - return new PRef(); - } - function makeRef(ann, loc) { - var loc = typeof loc === "undefined" ? ["references"] : loc; - var r = new PRef(); - addRefAnn(r, ann, loc); - r.state = UNGRAPHABLE; - return r; - } - function makeUnsafeSetRef(ann, value, loc) { - var r = new PRef(); - r.state = SET; - r.anns = makePAnnList([{ann: ann, loc: loc}]); - r.value = value; - return r; - } - function isRef(val) { - return typeof val === "object" && val instanceof PRef; - } - function isGraphableRef(ref) { - return isRef(ref) && isRefGraphable(ref); - } - function isRefGraphable(ref) { - return ref.state === GRAPHABLE; - } - function isRefSet(ref) { - return ref.state >= SET; - } - function isRefFrozen(ref) { - return ref.state >= FROZEN; - } - function getRefAnns(ref) { - return ref.anns; - } - function refEndGraph(ref) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= UNGRAPHABLE) { - thisRuntime.ffi.throwMessageException("Attempted to end graphing of already-done with graph ref"); - } - ref.state = UNGRAPHABLE; - return ref; - } - function addRefAnn(ref, ann, loc) { - if(ref.state > UNGRAPHABLE) { - thisRuntime.ffi.throwMessageException("Attempted to annotate already-set ref"); - } - ref.anns.addAnn(ann, loc); - return ref; - } - function addRefAnns(ref, anns, locs) { - if(ref.state > UNGRAPHABLE) { - thisRuntime.ffi.throwMessageException("Attempted to annotate already-set ref"); - } - for(var i = 0; i < anns.length; i++) { - ref.anns.addAnn(anns[i], locs[i]); - } - return ref; - } - function freezeRef(ref) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= SET) { - ref.state = FROZEN; - return ref; - } - thisRuntime.ffi.throwMessageException("Attempted to freeze an unset ref"); - } - function unsafeSetRef(ref, value) { - if(ref.state === UNGRAPHABLE || ref.state === SET) { - ref.value = value; - ref.state = SET; - return ref; - } - thisRuntime.ffi.throwMessageException("Attempted to set an unsettable ref"); - } - /* Not stack-safe */ - function setRef(ref, value) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= SET) { return ref.value; } - thisRuntime.ffi.throwMessageException("Attempt to get an unset ref"); - } - - /********************* - Tuples - *********************/ - function PTuple(vals) { - this.vals = vals; - } - - function makeTuple(vals) { - return new PTuple(vals); - } - - function isTuple(val) { - return val instanceof PTuple; - } - - function getTuple(tup, index, l) { - if(!isTuple(tup)) { - thisRuntime.ffi.throwLookupNonTuple(makeSrcloc(l), tup, index); - } - if (index >= tup.vals.length) { - thisRuntime.ffi.throwLookupLargeIndex(makeSrcloc(l), tup, index); - } - return tup.vals[index] - } - - function checkTupleBind(tup, length, l) { - if (!isTuple(tup)) { - thisRuntime.ffi.throwNonTupleBind(makeSrcloc(l), tup); - } - if (tup.vals.length !== length) { - thisRuntime.ffi.throwBadTupleBind(makeSrcloc(l), tup, tup.vals.length, length); - } - return true; - } - - - /********************* - Object - **********************/ - /**The representation of an object - @constructor - @param {!Object.} dict - @extends {PBase} - */ - function PObject(dict, brands) { - /**@type {!Object.}*/ - this.dict = Object.create(null); - for (var prop in dict) - this.dict[prop] = dict[prop]; - - /**@type {!Object.}*/ - this.brands = brands; - } - //PObject.prototype = Object.create(PBase.prototype); - - PObject.prototype.updateDict = function(dict, keepBrands) { - var newObj = new PObject(dict, keepBrands ? this.brands : noBrands); - return newObj; - } - - /**Clones the object - @return {!PObject} With same dict - */ - PObject.prototype.brand = function(b) { - var newObj = makeObject(this.dict); - return brandClone(newObj, this, b); - }; - - /**Tests whether an object is a PObject - @param {Object} obj the item to test - @return {!boolean} true if object is a PObject - */ - function isObject(obj) { return obj instanceof PObject; } - - /**Makes a PObject using the given dict - - @param {!Object.} dict - @return {!PObject} with given dict - */ - function makeObject(dict) { - return new PObject(dict, noBrands); - } - - function makeBrandedObject(dict, brands) { - return new PObject(dict, brands); - } - - function makeMatch(name, arity) { - if(arity === -1) { - var f = function(self, handlers, els) { - if(hasField(handlers, name)) { - return getField(handlers, name).app(); - } - else { - return els.app(self); - } - }; - return makeMethod2(f, name); - } - else { - var f = function(self, handlers, _else) { - if(hasField(handlers, name)) { - return self.$app_fields(getField(handlers, name).app, self.$mut_fields_mask); - } - else { - return _else.app(self); - } - }; - return makeMethod2(f, name); - } - } - - function makeDataTypeConstructor($name, $app_fields, $arity, $mut_fields_mask, constructor, _ignored, $loc) { - - if (_ignored) { // POLYGLOT - $arity = $mut_fields_mask; - $mut_fields_mask = constructor; - constructor = _ignored; - } - - function C(dict, brands) { - this.dict = dict; - this.brands = brands; - } - C.prototype = new PObject({}, []); - C.prototype.$name = $name; - C.prototype.$loc = $loc; - C.prototype.$app_fields = $app_fields; - C.prototype.$mut_fields_mask = $mut_fields_mask; - C.prototype.$arity = $arity; - C.prototype.$constructor = constructor - - return C; - } - - function makeDataValue(dict, brands, $name, $app_fields, $arity, $mut_fields_mask, constructor, _ignored, $loc) { - if (_ignored) { // POLYGLOT - $arity = $mut_fields_mask; - $mut_fields_mask = constructor; - constructor = _ignored; - } - var ret = new PObject(dict, brands); - ret.$name = $name; - ret.$loc = $loc || [$name]; - ret.$app_fields = $app_fields; - ret.$mut_fields_mask = $mut_fields_mask; - ret.$arity = $arity; - ret.$constructor = constructor; - return ret; - } - - function isDataValue(v) { - return hasProperty(v, "$name") && hasProperty(v, "$app_fields") && hasProperty(v, "$arity"); - } - - function derefField(value, fieldIsRef, lookupIsRef) { - if(isRef(value)) { - if(lookupIsRef) { - // ref keyword in cases and either kind of field - // Update fields in place with deref - return getRef(value); - } else if(fieldIsRef) { - thisRuntime.ffi.throwMessageException("Cases on ref field needs to use ref"); - } - else { - return value; - } - } - else { - if(lookupIsRef) { - thisRuntime.ffi.throwMessageException("Cannot use ref in cases to access non-ref field"); - } - else { - return value; - } - } - } - - function getValue(obj, key) { - // TODO(joe): faster impl for builtins? - return thisRuntime.getField(obj, "get-value").app(key); - } - - /**The representation of an array - A PArray is simply a JavaScript array - */ - function isArray(val) { - return Array.isArray(val); - } - function makeArray(arr) { - return arr; - } - - /************************ - Type Checking - ************************/ - function checkType(val, test, typeName) { - if(!test(val)) { - thisRuntime.ffi.throwTypeMismatch(val, typeName); - } - return true; - } - - function isPyretVal(val) { - if (typeof val === "string" || typeof val === "boolean" || val instanceof Array) { - return true; - } - else if (jsnums.isPyretNumber(val)) { - return true; - } - else if (isObject(val) || - isTuple(val) || - isFunction(val) || - isMethod(val) || - isRef(val) || - isOpaque(val) || - isNothing(val)) { - return true; - } - return false; - } - - var checkArity = function(expected, args, source, isMethod) { - isMethod = isMethod || false; - if (expected !== args.length) { - throw thisRuntime.ffi.throwArityErrorC([source], expected, args, isMethod); - } - } - var checkArityC = function(cloc, expected, args, isMethod) { - isMethod = isMethod || false; - if (expected !== args.length) { - throw thisRuntime.ffi.throwArityErrorC(cloc, expected, args, isMethod); - } - } - - var checkConstructorArityC = function(cloc, name, expected, args) { - if (expected !== args.length) { - throw thisRuntime.ffi.throwConstructorArityErrorC(cloc, name, expected, args); - } - } - - var makeCheckType = function(test, typeName) { - if (arguments.length !== 2) { - // can't use checkArity yet because thisRuntime.ffi isn't initialized - throw("MakeCheckType was called with the wrong number of arguments: expected 2, got " + arguments.length); - } - return function(val) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i= 32 && val <= 126) { - ret.push( s.charAt(i) ); - } - else { - var numStr = val.toString(16).toUpperCase(); - while (numStr.length < 4) { - numStr = '0' + numStr; - } - ret.push('\\u' + numStr); - } - break; - } - } - return ret.join(''); - }; - - var escapeString = function (s) { - return '"' + replaceUnprintableStringChars(s) + '"'; - }; - - function toReprLoop(val, reprMethods) { - var stack = []; - var stackOfStacks = []; - function makeCache(type) { - var cyclicCounter = 1; - // Note (Ben): using concat was leading to quadratic copying times and memory usage... - return { - add: function(elts, elt) { - return {elt: elt, name: null, next: elts}; - }, - check: function(elts, elt) { - var cur = elts; - while (cur !== undefined) { - if (cur.elt === elt) { - if (cur.name === null) { - cur.name = ""; - } - return cur.name; - } else { - cur = cur.next; - } - } - return null; - } - }; - } - var arrayCache = makeCache("array"); - var addNewArray = arrayCache.add; - var findSeenArray = arrayCache.check; - var refCache = makeCache("ref"); - var addNewRef = refCache.add; - var findSeenRef = refCache.check; - var objCache = makeCache("object"); - var addNewObject = objCache.add; - var findSeenObject = objCache.check; - - function pushTodo(newArray, newObject, newRef, todo, type, extra) { - var top = stack[stack.length - 1]; - stack.push({ - arrays: (newArray !== undefined) ? addNewArray(top.arrays, newArray) : top.arrays, - objects: (newObject !== undefined) ? addNewObject(top.objects, newObject) : top.objects, - refs: (newRef !== undefined) ? addNewRef(top.refs, newRef) : top.refs, - todo: todo, - done: [], - type: type, - extra: extra - }); - } - function toReprHelp() { - var top; - function finishVal(str) { - top.todo.pop(); - top.done.push(str); - } - function implicitRefs(stackFrame) { - return stackFrame.extra && stackFrame.extra.implicitRefs; - } - while (stack.length > 0 && stack[0].todo.length > 0) { - top = stack[stack.length - 1]; - if (top.todo.length > 0) { - var next = top.todo[top.todo.length - 1]; - if(isNumber(next)) { finishVal(reprMethods["number"](next)); } - else if (isBoolean(next)) { finishVal(reprMethods["boolean"](next)); } - else if (isNothing(next)) { finishVal(reprMethods["nothing"](next)); } - else if (isFunction(next)) { finishVal(reprMethods["function"](next)); } - else if (isMethod(next)) { finishVal(reprMethods["method"](next)); } - else if (isString(next)) { finishVal(reprMethods["string"](next)); } - else if (isOpaque(next)) { finishVal(reprMethods["opaque"](next)); } - else if (isArray(next)) { - // NOTE(joe): need to copy the array below because we will pop from it - // Baffling bugs will result if next is passed directly - var arrayHasBeenSeen = findSeenArray(top.arrays, next); - if(typeof arrayHasBeenSeen === "string") { - finishVal(reprMethods["cyclic"](arrayHasBeenSeen)); - } - else { - reprMethods["array"](next, pushTodo); - } - } - else if(isTuple(next)) { - reprMethods["tuple"](next, pushTodo); - } - else if(isRef(next)) { - var refHasBeenSeen = findSeenRef(top.refs, next); - var implicit = implicitRefs(top) && top.extra.implicitRefs[top.todo.length - 1]; - if(typeof refHasBeenSeen === "string") { - finishVal(reprMethods["cyclic"](refHasBeenSeen)); - } - else if(!isRefSet(next)) { - finishVal(reprMethods["cyclic"]("")); - } - else { - reprMethods["ref"](next, implicit, pushTodo); - } - } - else if(isObject(next)) { - var objHasBeenSeen = findSeenObject(top.objects, next); - if(typeof objHasBeenSeen === "string") { - finishVal(reprMethods["cyclic"](objHasBeenSeen)); - } - else if (next.dict["_output"] && isMethod(next.dict["_output"])) { - var m = getColonField(next, "_output"); - var s = m.full_meth(next); - // Early exit for user-thrown exception here - if(isContinuation(s)) { return s; } - reprMethods["valueskeleton"](next, thisRuntime.unwrap(s), pushTodo); - } - else if(isDataValue(next)) { - reprMethods["data"](next, pushTodo); - } - else { - reprMethods["object"](next, pushTodo); - } - } - else { - CONSOLE.log("UNKNOWN VALUE: ", next); - console.trace(); - finishVal(reprMethods["string"]("")); - } - } - else { - // Done with object, array, or ref, so pop the todo list, and pop - // the object/array/ref itself - stack.pop(); - var prev = stack[stack.length - 1]; - prev.todo.pop(); - prev.done.push(reprMethods[top.type](top)); - } - } - var finalAns = stack[0].done[0]; - return finalAns; - } - function toReprFun($ar) { - var $step = 0; - var $ans = undefined; - if (thisRuntime.isActivationRecord($ar)) { - $step = $ar.step; - $ans = $ar.ans; - } - while(true) { - switch($step) { - case 0: - $step = 1; - $ans = toReprHelp(); - if(isContinuation($ans)) { break; } - return $ans; - case 1: - if (stack.length === 0) { - thisRuntime.ffi.throwInternalError("Somehow we've drained the toRepr worklist, but have results coming back"); - } - var top = stack[stack.length - 1]; - var a = thisRuntime.unwrap($ans); - if (thisRuntime.ffi.isValueSkeleton(a)) { - reprMethods["valueskeleton"](top.todo[top.todo.length - 1], a, pushTodo); - } else { - // this is essentially finishVal - top.todo.pop(); - top.done.push(a); - } - $step = 0; - continue; - } - break; - } - if(isContinuation($ans)) { - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( - ["runtime torepr"], - toReprFun, - $step, - [], - []); - return $ans; - } - } - function reenterToReprFun(val) { - // arity check - var $step = 0; - var $ans = undefined; - var oldStack = stack; - function getOld(name) { - if(oldStack.length > 0) { - return oldStack[oldStack.length - 1][name]; - } - else { - return undefined; - } - } - if (thisRuntime.isActivationRecord(val)) { - $step = val.step; - $ans = val.ans; - } - while(true) { - switch($step) { - case 0: - stackOfStacks.push(stack); - stack = [{ - arrays: getOld("arrays"), - objects: getOld("objects"), - refs: getOld("refs"), - todo: [val], - done: [], - extra: { implicitRefs: [false] }, - root: val - }]; - $step = 1; - $ans = toReprFun(); - if(isContinuation($ans)) { break; } - continue; - case 1: - stack = stackOfStacks.pop(); - return $ans; - } - break; - } - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( - ["runtime torepr (reentrant)"], - reenterToReprFun, - $step, - [], - []); - return $ans; - } - var toReprFunPy = makeFunction(reenterToReprFun, "toReprFun"); - return reenterToReprFun(val); - } - - /** - Creates the js string representation for the value - @param {!PBase} val - - @return {!string} the value given in - */ - function toReprJS(val, reprMethods) { - if (isNumber(val)) { return reprMethods["number"](val); } - else if (isBoolean(val)) { return reprMethods["boolean"](val); } - else if (isString(val)) { return reprMethods["string"](val); } - else { return toReprLoop(val, reprMethods); } - } - - /**@type {PFunction} */ - var torepr = makeFunction(function(val) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i 0 ? - this.getStack().map(function(s) { - var g = getField; - if(s && hasField(s, "source")) { - return g(s, "source") + - " at " + - g(s, "start-line") + - ":" + - g(s, "start-column") - } else if(s && hasField(s, "module-name")) { - return ""; - } else { - return ""; - } - }).join("\n") : - ""; - return "(internal error rendering PyretFailException) \n" + stackStr; - }; - PyretFailException.prototype.getStack = function() { - return this.pyretStack.map(makeSrcloc); - }; - - function makeSrcloc(arr) { - if (typeof arr === "object" && arr.length === 1) { - checkString(arr[0]); - if (thisRuntime.srcloc === undefined) { - return makeString(JSON.stringify(arr)); - } else { - return getField(thisRuntime.srcloc, "builtin").app(arr[0]) - } - } - else if (typeof arr === "object" && arr.length === 7) { - return getField(thisRuntime.srcloc, "srcloc").app( - arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6] - ); - } - else { - return getField(thisRuntime.srcloc, "builtin").app(String(arr)); - } - } - - function makePyretFailException(exn) { - return new PyretFailException(exn); - } - - var raiseJSJS = - /** - Raises any Pyret value as an exception - @param {!PBase} val the value to raise - */ - function(val) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i EqualityResult - - // JS function from Pyret values to Pyret equality answers - - // Used for equal-always(3), equal-now(3), and within-(abs|rel)(3) - - // left and right are two Pyret values to compare - - // alwaysFlag is true for -always semantics (ref equality on mutables), - // false for -now semantics (cycle/deep equality on mutables) - - // tol is the tolerance, expressed as a Pyret number (possibly an exact - // rational, possibly a roughnum). For non-within calls, it isn't - // provided and is undefined. - - // rel is a flag that indicates whether the tolerance should be - // interpreted as _absolute_ (two numbers are equal +/- tol) or _relative_ - // (two numbers are equal +/- n * tol, where tol is between 0 and 1) - - // fromWithin is a flag that indicates whether the tolerance came from - // a call to within() or one of its variants, or whether it was implicit - // (This affects the error message that gets generated) - function equal3(left, right, alwaysFlag, tol, rel, fromWithin) { - if(tol === undefined) { // means that we aren't doing any kind of within - var isIdentical = identical3(left, right); - if (!thisRuntime.ffi.isNotEqual(isIdentical)) { return isIdentical; } // if Equal or Unknown... - } - - var stackOfToCompare = []; - var toCompare = { stack: [], curAns: thisRuntime.ffi.equal }; - var cache = {left: [], right: [], equal: []}; - function findPair(obj1, obj2) { - for (var i = 0; i < cache.left.length; i++) { - if (cache.left[i] === obj1 && cache.right[i] === obj2) - return cache.equal[i]; - } - return false; - } - function setCachePair(obj1, obj2, val) { - for (var i = 0; i < cache.left.length; i++) { - if (cache.left[i] === obj1 && cache.right[i] === obj2) { - cache.equal[i] = val; - return; - } - } -// throw new Error("Internal error: tried to - } - function cachePair(obj1, obj2) { - cache.left.push(obj1); - cache.right.push(obj2); - cache.equal.push(thisRuntime.ffi.equal); - return cache.equal.length; - } - function equalHelp() { - var current, curLeft, curRight; - while (toCompare.stack.length > 0 && !thisRuntime.ffi.isNotEqual(toCompare.curAns)) { - current = toCompare.stack.pop(); - if(current.setCache) { - cache.equal[current.index - 1] = toCompare.curAns; - continue; - } - curLeft = current.left; - curRight = current.right; - - if (thisRuntime.ffi.isEqual(identical3(curLeft, curRight))) { - continue; - } else if (isNumber(curLeft) && isNumber(curRight)) { - if (tol) { - if (rel) { - if (jsnums.roughlyEqualsRel(curLeft, curRight, tol, NumberErrbacks)) { - continue; - } else { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - } else if (jsnums.roughlyEquals(curLeft, curRight, tol, NumberErrbacks)) { - continue; - } else { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - } else if (jsnums.isRoughnum(curLeft) || jsnums.isRoughnum(curRight)) { - toCompare.curAns = thisRuntime.ffi.unknown.app( - fromWithin ? "RoughnumZeroTolerances" : "Roughnums", - curLeft, - curRight); - } else if (jsnums.equals(curLeft, curRight, NumberErrbacks)) { - continue; - } else { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - } else if (isNothing(curLeft) && isNothing(curRight)) { - continue; - } else if (isFunction(curLeft) && isFunction(curRight)) { - toCompare.curAns = thisRuntime.ffi.unknown.app("Functions" , curLeft , curRight); - } else if (isMethod(curLeft) && isMethod(curRight)) { - toCompare.curAns = thisRuntime.ffi.unknown.app("Methods" , curLeft , curRight); - } else if (isOpaque(curLeft) && isOpaque(curRight)) { - if (curLeft.equals(curLeft.val, curRight.val)) { - continue; - } else { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - } else { - var curPair = findPair(curLeft, curRight); - if (curPair !== false) { - // Already checked this pair of objects - toCompare.curAns = curPair - continue; - } else { - var index = cachePair(curLeft, curRight); - toCompare.stack.push({ setCache: true, index: index, left: curLeft, right: curRight }); - if (isRef(curLeft) && isRef(curRight)) { - if (alwaysFlag && !(isRefFrozen(curLeft) && isRefFrozen(curRight))) { // In equal-always, non-identical refs are not equal - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); // We would've caught identical refs already - } else if(!isRefSet(curLeft) || !isRefSet(curRight)) { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } else { // In equal-now, we walk through the refs - var newPath = current.path; - var lastDot = newPath.lastIndexOf("."); - var lastParen = newPath.lastIndexOf(")"); - if (lastDot > -1 && lastDot > lastParen) { - newPath = newPath.substr(0, lastDot) + "!" + newPath.substr(lastDot + 1); - } else { - newPath = "deref(" + newPath + ")"; - } - toCompare.stack.push({ - left: getRef(curLeft), - right: getRef(curRight), - path: newPath - }); - } - } else if(isTuple(curLeft) && isTuple(curRight)) { - if (curLeft.vals.length !== curRight.vals.length) { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } else { - for (var i = 0; i < curLeft.vals.length; i++) { - toCompare.stack.push({ - left: curLeft.vals[i], - right: curRight.vals[i], - path: "is-tuple{ " + current.path + "; " + i + " }" - }); - } - } - } else if (isArray(curLeft) && isArray(curRight)) { - if (alwaysFlag || (curLeft.length !== curRight.length)) { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } else { - for (var i = 0; i < curLeft.length; i++) { - toCompare.stack.push({ - left: curLeft[i], - right: curRight[i], - path: "raw-array-get(" + current.path + ", " + i + ")" - }); - } - } - } else if (isObject(curLeft) && isObject(curRight)) { - if (!sameBrands(getBrands(curLeft), getBrands(curRight))) { - /* Two objects with brands that differ */ - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - else if (isObject(curLeft) && curLeft.dict["_equals"]) { - /* Two objects with the same brands and the left has an _equals method */ - // If this call stack-returns, - var newAns = getColonField(curLeft, "_equals").full_meth(curLeft, curRight, equalFunPy); - if(isContinuation(newAns)) { return newAns; } - // the continuation stacklet will get the result, and combine them manually - toCompare.curAns = combineEquality(toCompare.curAns, newAns); - } - else if (isDataValue(curLeft) && isDataValue(curRight)) { - /* Two data values with the same brands and no equals method on the left */ - var fieldNames = curLeft.$constructor.$fieldNames; - if (fieldNames && fieldNames.length > 0) { - for (var k = 0; k < fieldNames.length; k++) { - toCompare.stack.push({ - left: curLeft.dict[fieldNames[k]], - right: curRight.dict[fieldNames[k]], - path: current.path + "." + fieldNames[k] - }); - } - } - } else { - /* Two non-data objects with the same brands and no equals method on the left */ - var dictLeft = curLeft.dict; - var dictRight = curRight.dict; - var fieldsLeft; - var fieldsRight; - fieldsLeft = getFields(curLeft); - fieldsRight = getFields(curRight); - if(fieldsLeft.length !== fieldsRight.length) { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - for(var k = 0; k < fieldsLeft.length; k++) { - toCompare.stack.push({ - left: curLeft.dict[fieldsLeft[k]], - right: curRight.dict[fieldsLeft[k]], - path: current.path + "." + fieldsLeft[k] - }); - } - } - } else { - toCompare.curAns = thisRuntime.ffi.notEqual.app(current.path, curLeft, curRight); - } - } - } - } - return toCompare.curAns; - } - var stackFrameDesc = [alwaysFlag ? "runtime equal-always" : "runtime equal-now"]; - function equalFun($ar) { - var $step = 0; - var $ans = undefined; - if (thisRuntime.isActivationRecord($ar)) { - $step = $ar.step; - $ans = $ar.ans; - } - while(true) { - switch($step) { - case 0: - $step = 1; - $ans = equalHelp(); - if(isContinuation($ans)) { - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( - stackFrameDesc, - equalFun, - $step, - [], - []); - } - return $ans; - case 1: - toCompare.curAns = combineEquality(toCompare.curAns, $ans); - $step = 0; - break; - } - } - } - function reenterEqualFun(left, right) { - // arity check - var $step = 0; - var $ans = undefined; - if (thisRuntime.isActivationRecord(left)) { - $step = left.step; - $ans = left.ans; - } - while(true) { - switch($step) { - case 0: - stackOfToCompare.push(toCompare); - toCompare = {stack: [{left: left, right: right, path: "the-value"}], curAns: thisRuntime.ffi.equal}; - $step = 1; - $ans = equalFun(); - if(isContinuation($ans)) { - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( - stackFrameDesc, - reenterEqualFun, - $step, - [], - []); - return $ans; - } - break; - case 1: - for(var i = 0; i < toCompare.stack.length; i++) { - var current = toCompare.stack[i]; - if(current.setCache) { - cache.equal[current.index - 1] = $ans; - } - } - toCompare = stackOfToCompare.pop(); - return $ans; - } - } - } - var equalFunPy = makeFunction(reenterEqualFun, "equalFun"); - return reenterEqualFun(left, right); - } - - var EQUAL_ALWAYS = true; - var EQUAL_NOW = false; - - var TOL_IS_REL = true; - var TOL_IS_ABS = false; - - var FROM_WITHIN = true; - var FROM_OP = false; - - function equalWithinAbsNow3(tol) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i 0) { - current = toCompare.pop(); - left = current.left; - right = current.right; - if (left === right) { continue; } - if (isNumber(left) && isNumber(right) && jsnums.equals(left, right, NumberErrbacks)) { - continue; - } - else if (isFunction(left) && isFunction(right) && left === right) { - continue; - } - else if (isMethod(left) && isMethod(right) && left === right) { - continue; - } - else if (isOpaque(left) && isOpaque(right) && left.equals(left.val, right.val)) { - continue; - } - else if (isTuple(left) && isTuple(right)) { - if (left.vars.length !== right.vars.length) { return false; } - for (var i = 0; i < left.vars.length; i++) { - toCompare.push({ - left: left.vars[i], - right: right.vars[i] - }); - } - } - else if (isArray(left) && isArray(right)) { - if (left.length !== right.length) { return false; } - for (var i = 0; i < left.length; i++) { - toCompare.push({ - left: left[i], - right: right[i] - }); - } - } - else if (isObject(left) && isObject(right)) { - var dictLeft = left.dict; - var dictRight = right.dict; - var fieldsLeft; - var fieldsRight; - // Fast case, for objects that get extended with similar patterns - // (e.g. variants of data have same proto), just check own props - if(getProto(dictLeft) === getProto(dictRight)) { - fieldsLeft = Object.keys(dictLeft); - fieldsRight = Object.keys(dictRight); - if(fieldsLeft.length !== fieldsRight.length) { return false; } - for(var k = 0; k < fieldsLeft.length; k++) { - toCompare.push({ - left: left.dict[fieldsLeft[k]], - right: right.dict[fieldsLeft[k]] - }); - } - } - // Slower case, just iterate all fields, all the way down to the bottom - else { - fieldsLeft = getFields(left); - fieldsRight = getFields(right); - if(fieldsLeft.length !== fieldsRight.length) { return false; } - for(var k = 0; k < fieldsLeft.length; k++) { - toCompare.push({ - left: left.dict[fieldsLeft[k]], - right: right.dict[fieldsLeft[k]] - }); - } - } - if(!sameBrands(getBrands(left), getBrands(right))) { - return false; - } - // continue would be inappropriate (but not incorrect) - // here, because we have enqueued things - } - else { - // In all other cases, things are not equal - return false; - } - } - - return true; - - }; - // Pyret function from Pyret values to Pyret booleans - var samePyPy = makeFunction(function(v1, v2) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= args.length) { return after(); } - else { - return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { - return checkI(i + 1); - }); - } - } - return checkI(0); - } - function _checkAnnArgs(anns, args, locs) { - function checkI(i) { - if(i >= args.length) { return nothing; } - else { - return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { - return checkI(i + 1); - }); - } - } - return checkI(0); - } - function checkConstructorArgs(anns, args, locs, after) { - function checkI(i) { - if(i >= args.length) { return after(); } - else { - if(isGraphableRef(args[i])) { return checkI(i + 1); } - else { - return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { - return checkI(i + 1); - }); - } - } - } - return checkI(0); - } - - function checkConstructorArgs2(anns, args, locs, mutMask, after) { - function checkI(i) { - if(i >= args.length) { return after(); } - else { - if(isGraphableRef(args[i]) && mutMask[i]) { return checkI(i + 1); } - else { - return safeCheckAnnArg(locs[i], anns[i], args[i], function(ignoredArg) { - return checkI(i + 1); - }); - } - } - } - return checkI(0); - } - function checkRefAnns(obj, fields, vals, locs, exprloc, objloc) { - if (!isObject(obj)) { thisRuntime.ffi.throwUpdateNonObj(makeSrcloc(exprloc), obj, makeSrcloc(objloc));} - var anns = new Array(fields.length); - var refs = new Array(fields.length); - var field = null; - var ref = null; - for(var i = 0; i < vals.length; i++) { - field = fields[i]; - if(hasField(obj, field)) { - ref = obj.dict[field]; - if(isRef(ref)) { - if(isRefFrozen(ref)) { - thisRuntime.ffi.throwUpdateFrozenRef(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); - } - anns[i] = getRefAnns(ref); - refs[i] = ref; - } - else { - thisRuntime.ffi.throwUpdateNonRef(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); - } - } - else { - thisRuntime.ffi.throwUpdateNonExistentField(makeSrcloc(exprloc), obj, makeSrcloc(objloc), field, makeSrcloc(locs[i])); - } - } - function afterCheck() { - for(var i = 0; i < refs.length; i++) { - unsafeSetRef(refs[i], vals[i]); - } - return obj; - } - return checkAnnArgs(anns, vals, locs, afterCheck); - } - - function getDotAnn(loc, name, ann, field) { - checkString(name); - checkString(field); - if(ann.hasOwnProperty(field)) { - return ann[field]; - } - raiseJSJS(thisRuntime.ffi.contractFail(makeSrcloc(loc), - thisRuntime.ffi.makeDotAnnNotPresent(name, field))) - } - - function PPrimAnn(name, pred) { - this.name = name; - this.pred = pred; - this.flat = true; - } - PPrimAnn.prototype.checkOrFail = function(passed, val, loc) { - var that = this; - if(passed) { return thisRuntime.ffi.contractOk; } - else { - return thisRuntime.ffi.contractFail( - makeSrcloc(loc), - thisRuntime.ffi.makeTypeMismatch(val, that.name)); - } - } - PPrimAnn.prototype.check = function(compilerLoc, val) { - var that = this; - if(isCheapAnnotation(this)) { - return this.checkOrFail(this.pred(val), val, compilerLoc); - } - else { - return safeCall(function() { - return that.pred(val); - }, function(passed) { - return that.checkOrFail(passed, val, compilerLoc); - }, - "PPrimAnn.check"); - } - } - - function makePrimitiveAnn(name, jsPred) { - return new PPrimAnn(name, jsPred); - } - - function makePrimAnn(name, jsPred) { - var nameC = new PPrimAnn(name, jsPred); - // NOTE(joe): the $type$ sadness is because we only have one dynamic - // namespace - runtimeTypeBindings[name] = nameC; - runtimeNamespaceBindings['$type$' + name] = nameC; - runtimeNamespaceBindings[name] = nameC; - thisRuntime[name] = nameC; - } - - function PAnnList(anns) { - this.anns = anns; - this.flat = true; - for(var i = 0; i < anns.length; i++) { - if(!anns[i].flat) { this.flat = false; } - } - } - - function makePAnnList(anns) { - return new PAnnList(anns); - } - PAnnList.prototype.addAnn = function(ann, loc) { -// this.refinement = ann.refinement || this.refinement; - this.anns.push({ ann: ann, loc: loc }); - } - - PAnnList.prototype.check = function(compilerLoc, val) { - var that = this; - function checkI(i) { - if(i >= that.anns.length) { return thisRuntime.ffi.contractOk; } - else { - return safeCall(function() { - return that.anns[i].ann.check(compilerLoc, val); - }, function(passed) { - if(thisRuntime.ffi.isOk(passed)) { return checkI(i + 1); } - else { - return thisRuntime.ffi.contractFail( - getField(passed, "loc"), - thisRuntime.ffi.makeRefInitFail(makeSrcloc(that.anns[i].loc), getField(passed, "reason")) - ); - } - }, "PAnnList.check"); - } - } - return checkI(0); - } - - function PPredAnn(ann, pred, predname) { - this.ann = ann; - this.pred = pred; - this.predname = predname; - this.flat = false; // Default, see below - } - function makePredAnn(ann, pred, predname) { - checkFunction(pred); - checkString(predname); - return new PPredAnn(ann, pred, predname); - } - function makeFlatPredAnn(ann, pred, predname) { - checkFunction(pred); - checkString(predname); - var newAnn = new PPredAnn(ann, pred, predname); - newAnn.flat = true; - return newAnn; - } - PPredAnn.prototype.check = function(compilerLoc, val) { - function fail() { - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makePredicateFailure(val, that.predname)); - } - var that = this; - - // NOTE(joe): fast, safe path for flat refinement - if(that.flat) { - var result = that.ann.check(compilerLoc, val); - if(thisRuntime.ffi.isOk(result)) { - var predPassed = that.pred.app(val); - if(predPassed) { return thisRuntime.ffi.contractOk; } - else { return fail(); } - } - else { - return result; - } - } - - return safeCall(function() { - return that.ann.check(compilerLoc, val); - }, function(result) { - if(thisRuntime.ffi.isOk(result)) { - return safeCall(function() { - return that.pred.app(val); - }, function(result) { - if(isPyretTrue(result)) { - return thisRuntime.ffi.contractOk; - } - else { - return fail(); - } - }, - "PPredAnn.check (after the check)") - } - else { - return result; - } - }, - "PPredAnn.check"); - } - - function makeBranderAnn(brander, name) { - return makePrimitiveAnn(name, function(val) { - return isObject(val) && hasBrand(val, brander._brand); - }); - } - - - - function PTupleAnn(locs, anns) { - this.locs = locs; - this.anns = anns; - this.flat = true; - for (var i = 0; i < anns.length; i++) { - if(!anns[i].flat) { this.flat = false; } - } - } - - function makeTupleAnn(locs, anns) { - return new PTupleAnn(locs, anns); - } - PTupleAnn.prototype.check = function(compilerLoc, val) { - var that = this; - if(!isTuple(val)) { - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makeTypeMismatch(val, "Tuple") - ); - } - if(that.anns.length != val.vals.length) { - //return ffi.throwMessageException("lengths not equal"); - return that.createTupleLengthMismatch(makeSrcloc(compilerLoc), val, that.anns.length, val.vals.length); - } - - // Fast path for flat refinements, since arbitrary stack space can't be consumed - if(that.flat) { - for(var i = 0; i < that.anns.length; i++) { - var result = that.anns[i].check(that.locs[i], val.vals[i]); - if(!thisRuntime.ffi.isOk(result)) { - return this.createTupleFailureError(compilerLoc, val, i, result); - //return result; - } - } - return thisRuntime.ffi.contractOk; - } - - // Slow path for annotations with nonflat refinements, which may call back into Pyret - function deepCheckFields(curIndex) { - return safeCall(function() { - var thisChecker = that.anns[curIndex]; - return thisChecker.check(that.locs[curIndex], val.vals[curIndex]); - }, function(result) { - if(thisRuntime.ffi.isOk(result)) { - if(curIndex === that.anns.length - 1) { return thisRuntime.ffi.contractOk; } - else { return deepCheckFields(curIndex + 1); } - } - else if(thisRuntime.ffi.isFail(result)) { - return that.createTupleFailureError(compilerLoc, val, curIndex, result); - //return ffi.throwMessageException("types are wrong"); - } - }, - "PTupleAnn:deepCheckFields"); - } - if(that.anns.length === 0) { return thisRuntime.ffi.contractOk; } - else { return deepCheckFields(0); } - } - PTupleAnn.prototype.createTupleLengthMismatch = function(compilerLoc, val, annLength, tupLength) { - return thisRuntime.ffi.contractFail(compilerLoc, thisRuntime.ffi.makeTupleLengthMismatch(compilerLoc, val, annLength, tupLength)); - }; - PTupleAnn.prototype.createTupleFailureError = function(compilerLoc, val, fieldIndex, result) { - var loc = this.locs[fieldIndex]; - var ann = this.anns[fieldIndex]; - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makeTupleAnnsFail(val, thisRuntime.ffi.makeList([ - thisRuntime.ffi.makeAnnFailure( - makeSrcloc(loc), - ann, - getField(result, "reason") - ) - ])) - ); - }; - - /* PTupleAnn.prototype.createTupleLengthMismatch = function(loc, val, annLength, tupLength) { - ffi.contractFail(loc, ffi.makeTupleLengthMismatch(loc, val, annLength, tupleLength); - }; */ - - - - - function PRecordAnn(fields, locs, anns) { - this.fields = fields; - this.locs = locs; - this.anns = anns; - this.flat = true; - for (var i = 0; i < fields.length; i++) { - if(!anns[fields[i]].flat) { this.flat = false; } - } - } - function makeRecordAnn(fields, locs, anns) { - return new PRecordAnn(fields, locs, anns); - } - PRecordAnn.prototype.createMissingFieldsError = function(compilerLoc, val) { - var that = this; - var missingFields = []; - for(var i = 0; i < that.fields.length; i++) { - if(!hasField(val, that.fields[i])) { - var reason = thisRuntime.ffi.makeMissingField( - makeSrcloc(that.locs[i]), - that.fields[i] - ); - missingFields.push(reason); - } - } - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makeRecordFieldsFail(val, thisRuntime.ffi.makeList(missingFields)) - ); - }; - PRecordAnn.prototype.createRecordFailureError = function(compilerLoc, val, field, result) { - var that = this; - var loc; - for(var i = 0; i < that.fields.length; i++) { - if(that.fields[i] === field) { loc = that.locs[i]; } - } - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makeRecordFieldsFail(val, thisRuntime.ffi.makeList([ - thisRuntime.ffi.makeFieldFailure( - makeSrcloc(loc), - field, - getField(result, "reason") - ) - ])) - ); - }; - PRecordAnn.prototype.check = function(compilerLoc, val) { - var that = this; - if(!isObject(val)) { - return thisRuntime.ffi.contractFail( - makeSrcloc(compilerLoc), - thisRuntime.ffi.makeTypeMismatch(val, "Object") - ); - } - for(var i = 0; i < that.fields.length; i++) { - if(!hasField(val, that.fields[i])) { - return that.createMissingFieldsError(compilerLoc, val); - } - } - - // Fast path: flat computation, so no deep stack/pause potential - if(that.flat) { - for(var i = 0; i < that.fields.length; i++) { - var thisField = that.fields[i]; - var result = that.anns[thisField].check(that.locs[i], getColonField(val, thisField)); - if(!thisRuntime.ffi.isOk(result)) { - return result; - } - } - return thisRuntime.ffi.contractOk; - } - - // Slow path: not flat, so need to stack guard - function deepCheckFields(curIndex) { - var thisField; - return safeCall(function() { - thisField = that.fields[curIndex]; - var thisChecker = that.anns[thisField]; - return thisChecker.check(that.locs[curIndex], getColonField(val, thisField)); - }, function(result) { - if(thisRuntime.ffi.isOk(result)) { - if(curIndex === that.locs.length - 1) { return thisRuntime.ffi.contractOk; } - else { return deepCheckFields(curIndex + 1); } - } - else if(thisRuntime.ffi.isFail(result)) { - return that.createRecordFailureError(compilerLoc, val, thisField, result); - } - }, - "PRecordAnn:deepCheckFields"); - } - if(that.fields.length === 0) { return thisRuntime.ffi.contractOk; } - else { return deepCheckFields(0); } - } - - /******************** - - *******************/ - - /******************** - Results - *******************/ - /** - Result containing the value of a successful evaluation - - @constructor - @param {!PBase} r result value - */ - function SuccessResult(r, stats) { - this.result = r; - this.stats = stats; - } - - /** - Tests if result is a successResult - @param {Object} val the value to test - @return {boolean} true if it is a SuccessResult - */ - function isSuccessResult(val) { return val instanceof SuccessResult; } - function makeSuccessResult(r) { return new SuccessResult(r); } - - /** - Result containing the exception of a failed evaluation - - @constructor - @param {!Error} e exception's value - */ - function FailureResult(e, stats) { - this.exn = e; - this.stats = stats; - } - FailureResult.prototype.toString = function() { - return "FailureResult(" + this.exn + ")"; - }; - /** - Tests if result is a FailueResult - @param {Object} val the value to test - @return {boolean} true if it is a FailueResult - */ - function isFailureResult(val) { return val instanceof FailureResult; } - function makeFailureResult(e) { - return new FailureResult(e); - } - - /** - Represents a continuation - @constructor - */ - - function Cont(stack) { - this.stack = stack; - } - function makeCont() { return new Cont([]); } - function isCont(v) { return v instanceof Cont; } - function isContinuation(v) { return typeof v === "object" && v instanceof Cont; } - Cont.prototype._toString = function() { - var stack = this.stack; - var stackStr = stack && stack.length > 0 ? - stack.map(function(s) { - if(!s && s.from) { return ""; } - else { - if(typeof s.from === "string") { return s; } - else { - return s.from.join(","); - } - } - }).join("\n") : ""; - return stackStr; - } - - function Pause(stack, pause, resumer) { - this.stack = stack; - this.pause = pause; - this.resumer = resumer; - } - function makePause(pause, resumer) { return new Pause([], pause, resumer); } - function isPause(v) { return v instanceof Pause; } - Pause.prototype = Object.create(Cont.prototype); - - function safeTail(fun) { - return fun(); - } - - function safeThen(fun, stackFrame) { - return { - then: function(after) { - return safeThen(function() { - return safeCall(fun, after, stackFrame); - }); - }, - start: function() { - return fun(); - } - }; - } - - function safeCall(fun, after, stackFrame) { - var $ans = undefined; - var $step = 0; - var skipLoop = false; - if (thisRuntime.isActivationRecord(fun)) { - var $ar = fun; - $step = $ar.step; - $ans = $ar.ans; - fun = $ar.args[0]; - after = $ar.args[1]; - stackFrame = $ar.args[2]; - $fun_ans = $ar.vars[0]; - } - if (--thisRuntime.GAS <= 0 || --thisRuntime.RUNGAS <= 0) { - thisRuntime.EXN_STACKHEIGHT = 0; - skipLoop = true; - $ans = thisRuntime.makeCont(); - } - while(!skipLoop) { - switch($step) { - case 0: - $step = 1; - $ans = fun(); - if(isContinuation($ans)) { break;} - continue; - case 1: - var $fun_ans = $ans; - $step = 2; - $ans = after($fun_ans); - if(isContinuation($ans)) { break;} - continue; - case 2: ++thisRuntime.GAS; return $ans; - } - break; - } - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = - thisRuntime.makeActivationRecord( - "safeCall for " + stackFrame, - safeCall, - $step, - [ fun, after, stackFrame ], - [ $fun_ans ] - ); - return $ans; - } - - function eachLoop(fun, start, stop) { - var i = start; - function restart(_) { - var res = thisRuntime.nothing; - if (--thisRuntime.GAS <= 0) { - thisRuntime.EXN_STACKHEIGHT = 0; - res = thisRuntime.makeCont(); - } - while(!thisRuntime.isContinuation(res)) { - if (--thisRuntime.RUNGAS <= 0) { - thisRuntime.EXN_STACKHEIGHT = 0; - res = thisRuntime.makeCont(); - } - else { - if(i >= stop) { - ++thisRuntime.GAS; - // NOTE(joe): this is the one true return value/exit of the loop - return thisRuntime.nothing; - } - else { - res = fun.app(i); - i = i + 1; - } - } - } - res.stack[thisRuntime.EXN_STACKHEIGHT++] = - thisRuntime.makeActivationRecord("eachLoop", restart, true, [], []); - return res; - } - return restart(); - } - - var RUN_ACTIVE = false; - var currentThreadId = 0; - var activeThreads = {}; - - var queuedRuns = []; - - function run(program, namespace, options, onDone) { - // CONSOLE.log("In run2"); - if(RUN_ACTIVE) { - onDone(makeFailureResult(thisRuntime.ffi.makeMessageException("Internal: run called while already running"))); - return; - } - RUN_ACTIVE = true; - var start; - function startTimer() { - if (typeof window !== "undefined" && window.performance) { - start = window.performance.now(); - } else if (typeof process !== "undefined" && process.hrtime) { - start = process.hrtime(); - } - } - function endTimer() { - if (typeof window !== "undefined" && window.performance) { - return window.performance.now() - start; - } else if (typeof process !== "undefined" && process.hrtime) { - return process.hrtime(start); - } - } - function getStats() { - return { bounces: BOUNCES, tos: TOS, time: endTimer() }; - } - function finishFailure(exn) { - RUN_ACTIVE = false; - delete activeThreads[thisThread.id]; - onDone(makeFailureResult(exn, getStats())); - } - function finishSuccess(answer) { - RUN_ACTIVE = false; - delete activeThreads[thisThread.id]; - onDone(new SuccessResult(answer, getStats())); - } - - startTimer(); - var that = this; - var theOneTrueStackTop = ["top-of-stack"] - var kickoff = makeActivationRecord( - "", - function(ignored) { - return program(thisRuntime, namespace); - }, - 0, - [], - [] - ); - var theOneTrueStack = [kickoff]; - var theOneTrueStart = {}; - var val = theOneTrueStart; - var theOneTrueStackHeight = 1; - var BOUNCES = 0; - var TOS = 0; - - var sync = options.sync || false; - var initialGas = options.initialGas || thisRuntime.INITIAL_GAS; - var initialRunGas = options.initialRunGas || initialGas * 10; - thisRuntime.GAS = initialGas; - thisRuntime.RUNGAS = sync ? Infinity : initialRunGas; - - var threadIsCurrentlyPaused = false; - var threadIsDead = false; - currentThreadId += 1; - // Special case of the first thread to run in between breaks. - // This is the only thread notified of the break, others just die - // silently. - if(Object.keys(activeThreads).length === 0) { - var breakFun = function() { - threadIsCurrentlyPaused = true; - threadIsDead = true; - finishFailure(new PyretFailException(thisRuntime.ffi.userBreak)); - }; - } - else { - var breakFun = function() { - threadIsCurrentlyPaused = true; - threadIsDead = true; - }; - } - - var thisThread = { - handlers: { - resume: function(restartVal) { - if(!threadIsCurrentlyPaused) { throw new Error("Stack already running"); } - if(threadIsDead) { throw new Error("Failed to resume; thread has been killed"); } - threadIsCurrentlyPaused = false; - val = restartVal; - TOS++; - RUN_ACTIVE = true; - util.suspend(iter); - }, - break: breakFun, - error: function(errVal) { - threadIsCurrentlyPaused = true; - threadIsDead = true; - var exn; - if(isPyretException(errVal)) { - exn = errVal; - } else { - exn = new PyretFailException(errVal); - } - finishFailure(exn); - } - }, - pause: function() { - threadIsCurrentlyPaused = true; - }, - id: currentThreadId - }; - activeThreads[currentThreadId] = thisThread; - - // iter :: () -> Undefined - // This function should not return anything meaningful, as state - // and fallthrough are carefully managed. - function iter() { - // CONSOLE.log("In run2::iter, GAS is ", thisRuntime.GAS); - // If the thread is dead, return has already been processed - if (threadIsDead) { - return; - } - // If the thread is paused, something is wrong; only resume() should - // be used to re-enter - if (threadIsCurrentlyPaused) { throw new Error("iter entered during stopped execution"); } - var loop = true; - while (loop) { - loop = false; - try { - if (manualPause !== null) { - var thePause = manualPause; - manualPause = null; - return pauseStack(function(restarter) { - thePause.setHandlers({ - resume: function() { restarter.resume(val); }, - break: restarter.break, - error: restarter.error - }); - }); - } - while(theOneTrueStackHeight > 0) { - if(!sync && thisRuntime.RUNGAS <= 1) { - thisRuntime.RUNGAS = initialRunGas; - TOS++; - // CONSOLE.log("Setting timeout to resume iter"); - util.suspend(iter); - return; - } - var next = theOneTrueStack[--theOneTrueStackHeight]; - // CONSOLE.log("ActivationRecord[" + theOneTrueStackHeight + "] = " + JSON.stringify(next, null, " ")); - theOneTrueStack[theOneTrueStackHeight] = undefined; - // CONSOLE.log("theOneTrueStack = ", theOneTrueStack); - // CONSOLE.log("Setting ans to " + JSON.stringify(val, null, " ")); - if(!isContinuation(val)) { - next.ans = val; - } - // CONSOLE.log("GAS = ", thisRuntime.GAS); - - - - if (next.fun instanceof Function) { - val = next.fun(next); - } - else if (!(next instanceof ActivationRecord)) { - CONSOLE.log("Our next stack frame doesn't look right!"); - CONSOLE.log(JSON.stringify(next)); - CONSOLE.log(theOneTrueStack); - throw false; - } - if(next.fun instanceof Function && thisRuntime.isContinuation(val)) { - // console.log("BOUNCING"); - BOUNCES++; - thisRuntime.GAS = initialGas; - thisRuntime.RUNGAS = initialRunGas; - for(var i = val.stack.length - 1; i >= 0; i--) { - // console.error(e.stack[i].vars.length + " width;" + e.stack[i].vars + "; from " + e.stack[i].from + "; frame " + theOneTrueStackHeight); - theOneTrueStack[theOneTrueStackHeight++] = val.stack[i]; - } - // console.log("The new stack height is ", theOneTrueStackHeight); - // console.log("theOneTrueStack = ", theOneTrueStack.slice(0, theOneTrueStackHeight).map(function(f) { - // if (f && f.from) { return f.from.toString(); } - // else { return f; } - // })); - - if(isPause(val)) { - thisThread.pause(); - val.pause.setHandlers(thisThread.handlers); - if(val.resumer) { val.resumer(val.pause); } - return; - } - else if(thisRuntime.isCont(val)) { - if(sync) { - loop = true; - // DON'T return; we synchronously loop back to the outer while loop - continue; - } - else { - TOS++; - util.suspend(iter); - return; - } - } - } - // CONSOLE.log("Frame returned, val = " + JSON.stringify(val, null, " ")); - } - } catch(e) { -// console.error("Exceptions should no longer be thrown: ", e); - if(thisRuntime.isCont(e)) { - // CONSOLE.log("BOUNCING"); - BOUNCES++; - thisRuntime.GAS = initialGas; - for(var i = e.stack.length - 1; i >= 0; i--) { - // CONSOLE.error(e.stack[i].vars.length + " width;" + e.stack[i].vars + "; from " + e.stack[i].from + "; frame " + theOneTrueStackHeight); - theOneTrueStack[theOneTrueStackHeight++] = e.stack[i]; - } - // CONSOLE.log("The new stack height is ", theOneTrueStackHeight); - // CONSOLE.log("theOneTrueStack = ", theOneTrueStack.slice(0, theOneTrueStackHeight).map(function(f) { - // if (f && f.from) { return f.from.toString(); } - // else { return f; } - // })); - - if(isPause(e)) { - thisThread.pause(); - e.pause.setHandlers(thisThread.handlers); - if(e.resumer) { e.resumer(e.pause); } - return; - } - else if(thisRuntime.isCont(e)) { - if(sync) { - loop = true; - // DON'T return; we synchronously loop back to the outer while loop - continue; - } - else { - TOS++; - util.suspend(iter); - return; - } - } - } - - else if(isPyretException(e)) { - while(theOneTrueStackHeight > 0) { - var next = theOneTrueStack[--theOneTrueStackHeight]; - theOneTrueStack[theOneTrueStackHeight] = "sentinel"; - e.pyretStack.push(next.from); - } - finishFailure(e); - return; - } else { - finishFailure(e); - return; - } - } - } - finishSuccess(val); - return; - } - thisRuntime.GAS = initialGas; - thisRuntime.RUNGAS = initialRunGas; - iter(); - } - - var TRACE_DEPTH = 0; - var SHOW_TRACE = true; - var TOTAL_VARS = 0; - var PROFILE = []; - const getTime = ((typeof process !== "undefined") && process.hrtime) ? process.hrtime - : (((typeof performance !== "undefined") && performance.now) ? performance.now : Date.now); - function profileEnter(loc) { - PROFILE.push([loc, true, getTime()]); - } - function profileExit(loc) { - PROFILE.push([loc, false, getTime()]); - } - function traceEnter(name, vars) { - if (!SHOW_TRACE) return; - TRACE_DEPTH++; - TOTAL_VARS += vars; - CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", - Array(TRACE_DEPTH).join(" ") + "--> ", - name, vars, TOTAL_VARS); - } - function traceExit(name, vars) { - if (!SHOW_TRACE) return; - TOTAL_VARS -= vars; - CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", - Array(TRACE_DEPTH).join(" ") + "<-- ", - name, vars, TOTAL_VARS); - TRACE_DEPTH = TRACE_DEPTH > 0 ? TRACE_DEPTH - 1 : 0; - } - function traceErrExit(name, vars) { - if (!SHOW_TRACE) return; - TOTAL_VARS -= vars; - CONSOLE.log("%s %s, Num vars: %d, Total vars: %d", - Array(TRACE_DEPTH).join(" ") + " 0 ? TRACE_DEPTH - 1 : 0; - } - - var UNINITIALIZED_ANSWER = {'uninitialized answer': true}; - function ActivationRecord(from, fun, step, ans, args, vars) { - this.from = from; - this.fun = fun; - this.step = step; - this.ans = ans; - this.args = args; - this.vars = vars; - } - ActivationRecord.prototype.toString = function() { - return "{from: " + this.from + ", fun: " + this.fun + ", step: " + this.step - + ", ans: " + JSON.stringify(this.ans) + ", args: " + JSON.stringify(this.args) - + ", vars: " + JSON.stringify(this.vars) + "}"; - } - function makeActivationRecord(from, fun, step, args, vars) { - return new ActivationRecord(from, fun, step, UNINITIALIZED_ANSWER, args, vars); - } - function isActivationRecord(obj) { - return obj instanceof ActivationRecord; - } - function isInitializedActivationRecord(obj) { - return obj instanceof ActivationRecord && !(obj.ans === UNINITIALIZED_ANSWER); - } - - // we can set verbose to true to include the srcloc positions - // and the "safecall for ..." internal frames - // but by default, it's now terser - function printPyretStack(stack, verbose) { - if (stack === undefined) return " undefined"; - if (!verbose) { - stack = stack.filter(function(val) { return val instanceof Array && val.length == 7; }); - } - var stackStr = stack.map(function(val) { - if (val instanceof Array && val.length == 7) { - return (val[0] + ": line " + val[1] + ", column " + val[2]); - } else if (val) { - return JSON.stringify(val); - } - }); - return " " + stackStr.join("\n "); - } - - function breakAll() { - RUN_ACTIVE = false; - var threadsToBreak = activeThreads; - var keys = Object.keys(threadsToBreak); - activeThreads = {}; - for(var i = 0; i < keys.length; i++) { - threadsToBreak[keys[i]].handlers.break(); - } - } - - function pauseStack(resumer) { - // CONSOLE.log("Pausing stack: ", RUN_ACTIVE, new Error().stack); - RUN_ACTIVE = false; - thisRuntime.EXN_STACKHEIGHT = 0; - var pause = new PausePackage(); - return makePause(pause, resumer); - } - - function PausePackage() { - this.resumeVal = null; - this.errorVal = null; - this.breakFlag = false; - this.handlers = null; - } - PausePackage.prototype = { - setHandlers: function(handlers) { - if(this.breakFlag) { - handlers.break(); - } - else if (this.resumeVal !== null) { - handlers.resume(this.resumeVal); - } - else if (this.errorVal !== null) { - handlers.error(this.errorVal); - } - else { - this.handlers = handlers; - } - }, - break: function() { - if(this.resumeVal !== null || this.errorVal !== null) { - throw "Cannot break with resume or error requested"; - } - if(this.handlers !== null) { - this.handlers.break(); - } - else { - this.breakFlag = true; - } - }, - error: function(err) { - if(this.resumeVal !== null || this.breakFlag) { - throw "Cannot error with resume or break requested"; - } - if(this.handlers !== null) { - this.handlers.error(err); - } - else { - this.errorVal = err; - } - }, - resume: function(val) { - if(this.errorVal !== null || this.breakFlag) { - throw "Cannot resume with error or break requested"; - } - if(this.handlers !== null) { - this.handlers.resume(val); - } - else { - this.resumeVal = val; - } - } - }; - - var manualPause = null; - function schedulePause(resumer) { - var pause = new PausePackage(); - manualPause = pause; - resumer(pause); - } - - function getExnValue(v) { - if(!isOpaque(v) && !isPyretException(v.val)) { - thisRuntime.ffi.throwMessageException("Got non-exception value in getExnVal"); - } - return v.val.exn; - } - - function runThunk(f, then, options) { - return thisRuntime.run(f, thisRuntime.namespace, options || {}, then); - } - - function execThunk(thunk) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i r); - } else if (thisRuntime.isObject(l) && hasProperty(l.dict, "_greaterthan")) { - return safeTail(function() { - return thisRuntime.getField(l, "_greaterthan").app(r); - }); - } else { - thisRuntime.ffi.throwNumStringBinopError(l, r, ">", "Greater-than", "_greaterthan"); - } - }; - - var lessequal = function(l, r) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= r); - } else if (thisRuntime.isObject(l) && hasProperty(l.dict, "_greaterequal")) { - return safeTail(function() { - return thisRuntime.getField(l, "_greaterequal").app(r); - }); - } else { - thisRuntime.ffi.throwNumStringBinopError(l, r, ">=", "Greater-than-or-equal", "_greaterequal"); - } - }; - - var checkArrayIndex = function(methodName, arr, ix) { - var throwErr = function(reason) { - thisRuntime.ffi.throwInvalidArrayIndex(methodName, arr, ix, reason); - }; - if(ix >= arr.length) { - throwErr("is too large; the array length is " + arr.length); - } - if(ix < 0) { - throwErr("is a negative number."); - } - if(!(num_is_integer(ix))) { - throwErr("is not an integer."); - } - } - - var check_array_size = function(name, size) { - checkNumInteger(size); - checkNumNonNegative(size); - // NOTE(joe): - // Per https://www.ecma-international.org/ecma-262/5.1/#sec-9.6, we - // couldn't create anything larger anyway atop JS, and 4 billion elements - // ought to be enough for anyone (cue laughter from 2050) - if(jsnums.greaterThan(size, MAX_ARRAY_SIZE)) { - thisRuntime.throwMessageException(name + ": cannot create array larger than " + MAX_ARRAY_SIZE); - } - } - - var raw_array_from_list = function(lst) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i jsnums.lessThan(x,y)? 1 : jsnums.roughlyEquals(x, y, 0)? 0 : -1; - const wrappedGT = (x, y) => jsnums.greaterThan(x,y)? 1 : jsnums.roughlyEquals(x, y, 0)? 0 : -1; - arr.sort(asc? wrappedLT : wrappedGT); - return arr; - }; - - var raw_array_obj_destructure = function(arr, keys) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i (s.length - 1)) { thisRuntime.ffi.throwMessageException("string-char-at: index " + n + " is greater than the largest index the string " + s); } - - //TODO: Handle bignums that are beyond javascript - return thisRuntime.makeString(String(s.charAt(jsnums.toFixnum(n, NumberErrbacks)))); - } - var string_toupper = function(s) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i ASTRAL_CUTOFF) { - thisRuntime.ffi.throwMessageException("Invalid code point: " + c); - } - try { - var s = fromCodePoint(c); - if(typeof s === "string") { return s; } - else { - thisRuntime.ffi.throwMessageException("Invalid code point: " + c); - } - } - catch(e) { - thisRuntime.ffi.throwMessageException("Invalid code point: " + c); - } - } - var string_to_code_points = function(s) { - if (arguments.length !== 1) { var $a=new Array(arguments.length); for (var $i=0;$i= 0) { - constructorBody += "dict['" + argNames[i] + "'] = thisRuntime.makeUnsafeSetRef(checkAnns[" + checkIndex + "], " + a + ", checkLocs[" + checkIndex + "]);\n"; - } - else { - constructorBody += "dict['" + argNames[i] + "'] = thisRuntime.makeUnsafeSetRef(thisRuntime.Any, " + a + ", " + constArr(loc) + ");\n"; - } - } - else { - constructorBody += "dict['" + argNames[i] + "'] = " + a + ";\n"; - } - }); - constructorBody += "return new Construct(dict, brands)"; - - //var arityCheck = "thisRuntime.checkArityC(loc, " + allArgs.length + ", arguments);"; - var arityCheck = "var $l = arguments.length; if($l !== 1) { var $t = new Array($l); for(var $i = 0;$i < $l;++$i) { $t[$i] = arguments[$i]; } thisRuntime.checkArityC(L[7],1,$t,false); }"; - - var checksPlusBody = ""; - if(!flat) { - checksPlusBody = "return thisRuntime.checkConstructorArgs2(checkAnns, [" + checkArgs.join(",") + "], checkLocs, " + constArr(checkMuts) + ", function() {\n" + - constructorBody + "\n" + - "});"; - } - else { - checkArgs.forEach(function(a, i) { - if(checkMuts[i]) { - checksPlusBody += "var checkAns = thisRuntime.isGraphableRef(" + checkArgs[i] + ") || thisRuntime._checkAnn(checkLocs[" + i + "], checkAnns[" + i + "], " + checkArgs[i] + ");"; - } - else { - checksPlusBody += "var checkAns = thisRuntime._checkAnn(checkLocs[" + i + "], checkAnns[" + i + "], " + checkArgs[i] + ");"; - } - //checksPlusBody += "if(thisRuntime.isContinuation(checkAns)) { return checkAns; }"; - }); - checksPlusBody += constructorBody; - } - - var constrFun = "return function(" + allArgs.join(",") + ") {\n" + - "if(arguments.length !== " + allArgs.length + ") {\n" + - "thisRuntime.checkConstructorArityC(" + constArr(loc) + ", " + quote(reflName) + ", " + allArgs.length + ", thisRuntime.cloneArgs.apply(null, arguments));\n" + - "}\n" + - checksPlusBody + "\n" + - "}"; - - var outerArgs = ["thisRuntime", "checkAnns", "checkLocs", "brands", "reflFields", "constructor", "base"]; - var outerFun = Function.apply(null, outerArgs.concat(["\"use strict\";\n" - + "var Construct = thisRuntime.makeDataTypeConstructor(" + quote(reflName) + ", reflFields," + allArgs.length + ", " + constArr(allMuts) + ", constructor, false, " + constArr(loc) + ");" - + constrFun])); - return outerFun(thisRuntime, checkAnns, checkLocs, brands, reflFields, constructor, base); - } - - //CONSOLE.log(String(outerFun)); - - var funToReturn = makeFunction(function() { - var theFun = makeConstructor(); - funToReturn.app = theFun; - //CONSOLE.log("Calling constructor ", quote(reflName), arguments); - //CONSOLE.trace(); - var res = theFun.apply(null, arguments) - //CONSOLE.log("got ", res); - return res; - }, reflName); - funToReturn.$constrFor = reflName; - return funToReturn; - } - - function cloneArgs(/*arguments*/) { - var args = new Array(arguments.length); - for(var i = 0; i < args.length; ++i) { - //i is always valid index in the arguments object - args[i] = arguments[i]; - } - return args; - } - - function getModuleField(uri, which, name) { - var mod = thisRuntime.modules[uri]; - var ppt = thisRuntime.getField(mod, "provide-plus-types"); - var dict = thisRuntime.getField(ppt, which); - if(which === "values") { - return thisRuntime.getField(dict, name); - } - else { - return dict[name]; - } - } - - function addModuleToNamespace(namespace, valFields, typeFields, moduleObj) { - var newns = Namespace.namespace({}); - valFields.forEach(function(vf) { - if(hasField(moduleObj, "defined-values")) { - newns = newns.set(vf, getField(moduleObj, "defined-values")[vf]); - } - else { - newns = newns.set(vf, getField(getField(moduleObj, "values"), vf)); - } - }); - typeFields.forEach(function(tf) { - newns = newns.setType(tf, getField(moduleObj, "types")[tf]); - }); - return namespace.merge(newns); - } - - // Filled in by makePrimAnn - var runtimeTypeBindings = {}; - - /** type {!PBase} */ - var builtins = makeObject({ - '___debug': makeFunction(function(...args) { - debugger; - console.log(args); - return thisRuntime.nothing; - }), - // NOTE(joe): this is initialized later, in postLoadHooks for data-source and for table, - // but provided here because they show up in desugaring - 'open-table': makeFunction(function(spec) { return thisRuntime.openTable(spec); }), - 'as-loader-option': makeFunction(function(type, arg1, arg2) { return thisRuntime.asLoaderOption(type, arg1, arg2); }), - 'raw-make-row': makeFunction(function(arr) { // arr is a raw array of 2-tuples - thisRuntime.checkArray(arr); - return thisRuntime.makeRowFromArray(arr); - }), - - 'raw-array-from-list': makeFunction(raw_array_from_list, "raw-array-from-list"), - 'raw-array-sort-nums': makeFunction(raw_array_sort_nums,"raw-array-sort-nums"), - 'get-value': makeFunction(getValue, "get-value"), - 'has-field': makeFunction(hasField, "has-field"), - - 'raw-each-loop': makeFunction(eachLoop, "raw-each-loop"), - 'raw-array-to-list': makeFunction(raw_array_to_list, "raw-array-to-list"), - 'raw-list-map': makeFunction(raw_list_map, "raw-list-map"), - 'raw-list-filter': makeFunction(raw_list_filter, "raw-list-filter"), - 'raw-list-fold': makeFunction(raw_list_fold, "raw-list-fold"), - 'raw-list-join-str-last': makeFunction(raw_list_join_str_last, "raw-list-join-str-last"), - - 'current-checker': makeFunction(function() { - if (arguments.length !== 0) { var $a=new Array(arguments.length); for (var $i=0;$i} initialBindings - */ - function Namespace(initialBindings) { - if (typeof initialBindings !== "object") { - throw new Error("Non-object " + initialBindings + " given to Namespace constructor"); - } - /**@type {!Object.}*/ - this.bindings = initialBindings; - - /**@type {T}*/ - this.proto = noProto; - } - - function typify(key) { return "$type$" + key; } - - /** - Merges this namesspace with another - @param {!Namespace.} other - - @return {!Namespace.} A namespace that is the result of merging this namespace with the other namespace - */ - Namespace.prototype.merge = function(other) { - var combined = Object.create(this.bindings); - for (var k in other.bindings) { - combined[k] = other.bindings[k]; - } - var newNamespace = new Namespace(combined); - if (other.proto !== noProto) { - newNamespace.proto = other.proto; - } - else { - newNamespace.proto = this.proto; - } - return newNamespace; - }; - - /** - Gets the value of the specified binding with key 'key' - Throws an error if binding not bound - - @param {string} key the key to look up - @return {T} - */ - Namespace.prototype.get = function(key) { - if (key === "__proto__") { - if (this.proto === noProto) { - throw new Error("Looked up __proto__, not bound in namespace"); - } - return this.proto; - } - else { - if (!(key in this.bindings)) { - throw new Error("Looked up " + key + ", not bound in namespace"); - } - return this.bindings[key]; - } - }; - - Namespace.prototype.getType = function(key) { - return this.get(typify(key)); - }; - - - - /** - Sets the value of the specified binding with key 'key' - - @param {string} key the key to bind - @param {T} value the value to set - @return {!Namespace.} the updated namespace - */ - Namespace.prototype.set = function(key, value) { - if (key === "__proto__") { - var newNamespace = new Namespace(this.bindings); - newNamespace.proto = value; - return newNamespace; - } - else { - var o = Object.create(null); - o[key] = value; - return this.merge(new Namespace(o)); - } - }; - - Namespace.prototype.setType = function(key, value) { - return this.set(typify(key), value); - }; - - /** - Checks whether the namespace has 'key' bound - - @param {string} key the key to check - @return {boolean} whether or not key is bound - */ - Namespace.prototype.hasBinding = function(key) { - if (key === "__proto__") { - return this.proto !== noProto; - } - else { - return key in this.bindings; - } - }; - - /** - Gives an array of all names bound - - @return {Array.} - */ - Namespace.prototype.getNames = function() { - var keys = []; - if (this.proto !== noProto) { keys.push("__proto__"); } - for (var key in this.bindings) { - keys.push(key); - } - return keys; - }; - - var makeNamespace = function(bindingsObj) { - var bindings = Object.create(null); - Object.keys(bindingsObj).forEach(function(k) { - bindings[k] = bindingsObj[k]; - }); - return new Namespace(bindings); - } - - return { - namespace: makeNamespace, - Namespace: Namespace - }; -}); -define("program", ["s-expression","pyret-base/js/type-util","pyret-base/js/namespace","pyret-base/js/runtime"], function() { -return {"staticModules":{"builtin://global":({ - requires: [ ], - provides: { - shorthands: { - "AnyPred": ["arrow", ["Any"], "Boolean"], - "AnyPred2": ["arrow", ["Any", "Any"], "Boolean"], - "EqualityPred": ["arrow", ["Any", "Any"], - { tag: "name", - origin: { "import-type": "uri", uri: "builtin://equality" }, - name: "EqualityResult" }], - "NumPred": ["arrow", ["Number"], "Boolean"], - "NumPred2": ["arrow", ["Number", "Number"], "Boolean"], - "NumBinop": ["arrow", ["Number", "Number"], "Number"], - "NumUnop": ["arrow", ["Number"], "Number"], - "StrPred": ["arrow", ["String"], "Boolean"], - "StrPred2": ["arrow", ["String", "String"], "Boolean"], - "StrBinop": ["arrow", ["String", "String"], "String"], - "StrUnop": ["arrow", ["String"], "String"], - "tva": ["tid", "a"], - "tvb": ["tid", "b"], - "tvc": ["tid", "c"], - "tvd": ["tid", "d"], - "tve": ["tid", "e"], - "Equality": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://equality" }, - name: "EqualityResult" } - }, - values: { - "print": ["forall", "a", ["arrow", ["tva"], "tva"]], - "test-print": ["forall", "a", ["arrow", ["tva"], "tva"]], - "print-error": ["forall", "a", ["arrow", ["tva"], "tva"]], - "display": ["forall", "a", ["arrow", ["tva"], "tva"]], - "display-error": ["forall", "a", ["arrow", ["tva"], "tva"]], - - "run-task": ["arrow", [["arrow", [], "Any"]], "Any"], - "brander": "Any", - "raise": ["arrow", ["Any"], "tbot"], - "nothing": "Nothing", - "builtins": ["record", { - "trace-value": ["forall", ["a"], ["arrow", ["Any", "tva"], "tva"]], - "has-field": ["arrow", [["record", {}], "String"], "Boolean"], - "raw-array-to-list": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], ["List", "tva"]]], - "raw-array-from-list": ["forall", ["a"], ["arrow", [["List", "tva"]], ["RawArray", "tva"]]], - "raw-array-join-str": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], "String"]], - "raw-array-sort-nums" : ["arrow", [["RawArray", "Number"], "Boolean"], ["RawArray", "Number"]], - "raw-list-map": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["List", "tva"]], ["List", "tvb"]]], - "raw-list-filter": ["forall", ["a"], ["arrow", [["arrow", ["tva"], "Boolean"], ["List", "tva"]], ["List", "tva"]]], - "raw-list-fold": ["forall", ["a", "b"], ["arrow", [["arrow", ["tvb", "tva"], "tvb"], "tvb", ["List", "tva"]], "tvb"]], - "spy": ["arrow", ["Any", "String", ["RawArray", "Any"], ["RawArray", "String"], ["RawArray", "Any"]], "Nothing"], - "current-checker": ["arrow", [], ["record", { - "run-checks": "tbot", - "check-is": "tbot", - "check-is-not": "tbot", - "check-is-roughly": "tbot", - "check-is-refinement": "tbot", - "check-is-not-refinement": "tbot", - "check-satisfies": "tbot", - "check-satisfies-delayed": "tbot", - "check-satisfies-not": "tbot", - "check-satisfies-not-delayed": "tbot", - "check-raises-str": "tbot", - "check-raises-not": "tbot", - "check-raises-other-str": "tbot", - "check-raises-satisfies": "tbot", - "check-raises-violates": "tbot" - }]] - }], - - "torepr": ["arrow", ["Any"], "String"], - "to-repr": ["arrow", ["Any"], "String"], - "tostring": ["arrow", ["Any"], "String"], - "to-string": ["arrow", ["Any"], "String"], - "not": ["arrow", ["Boolean"], "Boolean"], - - "isBoolean": "AnyPred", - - "is-boolean":{'bind': 'fun', 'flatness': 0, 'name': 'is-boolean', 'typ': 'AnyPred'}, - "is-function":{'bind': 'fun', 'flatness': 0, 'name': 'is-function', 'typ': 'AnyPred'}, - "is-nothing":{'bind': 'fun', 'flatness': 0, 'name': 'is-nothing', 'typ': 'AnyPred'}, - "is-number":{'bind': 'fun', 'flatness': 0, 'name': 'is-number', 'typ': 'AnyPred'}, - "is-object":{'bind': 'fun', 'flatness': 0, 'name': 'is-object', 'typ': 'AnyPred'}, - "is-raw-array":{'bind': 'fun', 'flatness': 0, 'name': 'is-raw-array', 'typ': 'AnyPred'}, - "is-string":{'bind': 'fun', 'flatness': 0, 'name': 'is-string', 'typ': 'AnyPred'}, - "is-table":{'bind': 'fun', 'flatness': 0, 'name': 'is-table', 'typ': 'AnyPred'}, - "is-row":{'bind': 'fun', 'flatness': 0, 'name': 'is-row', 'typ': 'AnyPred'}, - "is-tuple":{'bind': 'fun', 'flatness': 0, 'name': 'is-tuple', 'typ': 'AnyPred'}, - - // Array functions - "raw-array": ["forall", ["a"], ["Maker", "tva", ["RawArray", "tva"]]], - "raw-array-get": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-get', - 'typ': ["forall", ["a"], ["arrow", [["RawArray", "tva"], "Number"], "tva"]]}, - "raw-array-sort-nums" : {'bind' : 'fun', - 'flatness': 0, - 'name': 'raw-array-sort-nums', - 'typ': ["arrow", [["RawArray", "Number"], "Boolean"], ["RawArray", "Number"]]}, - "raw-array-set": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-set', - 'typ': ["forall", ["a"], ["arrow", [["RawArray", "tva"], "Number", "tva"], - ["RawArray", "tva"]]]}, - "raw-array-of": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-of', - 'typ':["forall", ["a"], ["arrow", ["tva", "Number"], ["RawArray", "tva"]]]}, - "raw-array-build-opt": ["forall", ["a"], ["arrow", [["arrow", ["Number"], ["Option", "tva"]], "Number"], - ["RawArray", "tva"]]], - "raw-array-build": ["forall", ["a"], ["arrow", [["arrow", ["Number"], "tva"], "Number"], - ["RawArray", "tva"]]], - - "raw-array-length": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-length', - 'typ':["forall", ["a"], ["arrow", [["RawArray", "tva"]], "Number"]]}, - "raw-array-join-str": ["forall", ["a"], ["arrow", [["RawArray", "tva"]], "String"]], - "raw-array-to-list": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-to-list', - 'typ':["forall", ["a"], ["arrow", [["RawArray", "tva"]], ["List", "tva"]]]}, - "raw-array-from-list": {'bind': 'fun', - 'flatness': 0, - 'name': 'raw-array-from-list', - 'typ':["forall", ["a"], ["arrow", [["List", "tva"]], ["RawArray", "tva"]]]}, - "raw-array-filter": ["forall", ["a"], ["arrow", [["arrow", ["tva"], "Boolean"], ["RawArray", "tva"]], ["RawArray", "tva"]]], - "raw-array-and-mapi": ["forall", ["a"], ["arrow", [["arrow", ["tva", "Number"], "Boolean"], ["RawArray", "tva"]], "Boolean"]], - "raw-array-or-mapi": ["forall", ["a"], ["arrow", [["arrow", ["tva", "Number"], "Boolean"], ["RawArray", "tva"]], "Boolean"]], - "raw-array-map": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["RawArray", "tva"]], ["RawArray", "tvb"]]], - "raw-array-map-1": ["forall", ["a", "b"], ["arrow", [["arrow", ["tva"], "tvb"], ["RawArray", ["RawArray", "tva"]]], ["RawArray", "tvb"]]], - "raw-array-fold": ["forall", ["a", "b"], ["arrow", [["arrow", ["tvb", "tva", "Number"], "tvb"], - "tvb", ["RawArray", "tva"], "Number"], "tvb"]], - - // Equality functions - - "roughly-equal-always3": "EqualityPred", - "roughly-equal-now3": "EqualityPred", - "equal-always3": "EqualityPred", - "equal-now3": "EqualityPred", - "identical3": "EqualityPred", - "roughly-equal-always": "AnyPred2", - "roughly-equal-now": "AnyPred2", - "roughly-equal": "AnyPred2", - "equal-always": "AnyPred2", - "equal-now": "AnyPred2", - "identical": "AnyPred2", - "within": {'bind': 'fun', - 'flatness': 0, - 'name': 'within', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-abs": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-abs', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-rel": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-now": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-abs-now": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-abs-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-rel-now": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-abs3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-rel3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-now3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-abs-now3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - "within-rel-now3": {'bind': 'fun', - 'flatness': 0, - 'name': 'within-rel-now', - 'typ':["arrow", ["Number"], "AnyPred2"]}, - - // Number functions - - "num-is-fixnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-fixnum', 'typ': 'NumPred'}, - "num-is-integer":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-integer', 'typ': 'NumPred'}, - "num-is-negative":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-negative', 'typ': 'NumPred'}, - "num-is-non-negative":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-non-negative', 'typ': 'NumPred'}, - "num-is-non-positive":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-non-positive', 'typ': 'NumPred'}, - "num-is-positive":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-positive', 'typ': 'NumPred'}, - "num-is-rational":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-rational', 'typ': 'NumPred'}, - "num-is-roughnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-is-roughnum', 'typ': 'NumPred'}, - "string-to-number":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-to-number', - 'typ': ['arrow', ['String'], ['Option', 'Number']]}, - "string-tonumber":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-tonumber', - 'typ': ['arrow', ['String'], ['Option', 'Number']]}, - - "num-equal":{'bind': 'fun', 'flatness': 0, 'name': 'num-equal', 'typ': 'NumPred2'}, - "num-max":{'bind': 'fun', 'flatness': 0, 'name': 'num-max', 'typ': 'NumBinop'}, - "num-min":{'bind': 'fun', 'flatness': 0, 'name': 'num-min', 'typ': 'NumBinop'}, - "num-within":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-within', - 'typ': ['arrow', ['Number'], 'NumPred2']}, - "num-within-abs":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-within-abs', - 'typ': ['arrow', ['Number'], 'NumPred2']}, - "num-within-rel":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-within-rel', - 'typ': ['arrow', ['Number'], 'NumPred2']}, - - "num-abs":{'bind': 'fun', 'flatness': 0, 'name': 'num-abs', 'typ': 'NumUnop'}, - "num-acos":{'bind': 'fun', 'flatness': 0, 'name': 'num-acos', 'typ': 'NumUnop'}, - "num-asin":{'bind': 'fun', 'flatness': 0, 'name': 'num-asin', 'typ': 'NumUnop'}, - "num-atan":{'bind': 'fun', 'flatness': 0, 'name': 'num-atan', 'typ': 'NumUnop'}, - "num-atan2":{'bind': 'fun', 'flatness': 0, 'name': 'num-atan2', 'typ': 'NumBinop'}, - "num-cos":{'bind': 'fun', 'flatness': 0, 'name': 'num-cos', 'typ': 'NumUnop'}, - "num-sin":{'bind': 'fun', 'flatness': 0, 'name': 'num-sin', 'typ': 'NumUnop'}, - "num-tan":{'bind': 'fun', 'flatness': 0, 'name': 'num-tan', 'typ': 'NumUnop'}, - - "num-modulo":{'bind': 'fun', 'flatness': 0, 'name': 'num-modulo', 'typ': 'NumBinop'}, - "num-remainder":{'bind': 'fun', 'flatness': 0, 'name': 'num-remainder', 'typ': 'NumBinop'}, - - "num-exact":{'bind': 'fun', 'flatness': 0, 'name': 'num-exact', 'typ': 'NumUnop'}, - "num-exp":{'bind': 'fun', 'flatness': 0, 'name': 'num-exp', 'typ': 'NumUnop'}, - "num-log":{'bind': 'fun', 'flatness': 0, 'name': 'num-log', 'typ': 'NumUnop'}, - "num-truncate":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate', 'typ': 'NumUnop'}, - "num-floor":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor', 'typ': 'NumUnop'}, - "num-ceiling":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling', 'typ': 'NumUnop'}, - "num-round":{'bind': 'fun', 'flatness': 0, 'name': 'num-round', 'typ': 'NumUnop'}, - "num-round-even":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even', 'typ': 'NumUnop'}, - "num-truncate-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate-digits', 'typ': 'NumBinop'}, - "num-floor-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor-digits', 'typ': 'NumBinop'}, - "num-ceiling-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling-digits', 'typ': 'NumBinop'}, - "num-round-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-digits', 'typ': 'NumBinop'}, - "num-round-even-digits":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even-digits', 'typ': 'NumBinop'}, - "num-truncate-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-truncate-place', 'typ': 'NumBinop'}, - "num-floor-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-floor-place', 'typ': 'NumBinop'}, - "num-ceiling-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-ceiling-place', 'typ': 'NumBinop'}, - "num-round-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-place', 'typ': 'NumBinop'}, - "num-round-even-place":{'bind': 'fun', 'flatness': 0, 'name': 'num-round-even-place', 'typ': 'NumBinop'}, - "num-sqr":{'bind': 'fun', 'flatness': 0, 'name': 'num-sqr', 'typ': 'NumUnop'}, - "num-sqrt":{'bind': 'fun', 'flatness': 0, 'name': 'num-sqrt', 'typ': 'NumUnop'}, - "num-to-fixnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-fixnum', 'typ': 'NumUnop'}, - "num-to-rational":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-rational', 'typ': 'NumUnop'}, - "num-to-roughnum":{'bind': 'fun', 'flatness': 0, 'name': 'num-to-roughnum', 'typ': 'NumUnop'}, - - "num-expt":{'bind': 'fun', 'flatness': 0, 'name': 'num-expt', 'typ': 'NumBinop'}, - "num-to-string":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-to-string', - 'typ': ['arrow', ['Number'], 'String']}, - "num-to-string-digits":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-to-string-digits', - 'typ': ['arrow', ['Number', 'Number'], 'String']}, - "num-tostring":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-tostring', - 'typ': ['arrow', ['Number'], 'String']}, - - "num-random":{'bind': 'fun', 'flatness': 0, 'name': 'num-random', 'typ': 'NumUnop'}, - "num-random-seed":{'bind': 'fun', - 'flatness': 0, - 'name': 'num-random-seed', - 'typ': ['arrow', ['Number'], 'Nothing']}, - "random":{'bind': 'fun', 'flatness': 0, 'name': 'random', 'typ': 'NumUnop'}, - - // Time functions - - "time-now":{'bind': 'fun', - 'flatness': 0, - 'name': 'time-now', - 'typ': ['arrow', [], 'Number']}, - - // String functions - - "gensym":{'bind': 'fun', 'flatness': 0, 'name': 'gensym', 'typ': ['arrow', ['String'], 'String']}, - "string-repeat":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-repeat', - 'typ': ['arrow', ['String', 'Number'], 'String']}, - "string-substring":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-substring', - 'typ': ['arrow', ['String', 'Number', 'Number'], 'String']}, - "string-to-lower":{'bind': 'fun', 'flatness': 0, 'name': 'string-to-lower', 'typ': 'StrUnop'}, - "string-to-upper":{'bind': 'fun', 'flatness': 0, 'name': 'string-to-upper', 'typ': 'StrUnop'}, - "string-tolower":{'bind': 'fun', 'flatness': 0, 'name': 'string-tolower', 'typ': 'StrUnop'}, - "string-toupper":{'bind': 'fun', 'flatness': 0, 'name': 'string-toupper', 'typ': 'StrUnop'}, - - "string-append":{'bind': 'fun', 'flatness': 0, 'name': 'string-append', 'typ': 'StrBinop'}, - "string-char-at":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-char-at', - 'typ': ['arrow', ['String', 'Number'], 'String']}, - "string-contains":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, - "string-starts-with":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, - "string-ends-with":{'bind': 'fun', 'flatness': 0, 'name': 'string-contains', 'typ': 'StrPred2'}, - "string-equal":{'bind': 'fun', 'flatness': 0, 'name': 'string-equal', 'typ': 'StrPred2'}, - "string-explode":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-explode', - 'typ': ['arrow', ['String'], ['List', 'String']]}, - "string-from-code-point":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-from-code-point', - 'typ': ['arrow', ['Number'], 'String']}, - "string-from-code-points":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-from-code-points', - 'typ': ['arrow', [['List', 'Number']], 'String']}, - "string-index-of":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-index-of', - 'typ': ['arrow', ['String', 'String'], 'Number']}, - "string-is-number":{'bind': 'fun', 'flatness': 0, 'name': 'string-is-number', 'typ': 'StrPred'}, - "string-isnumber":{'bind': 'fun', 'flatness': 0, 'name': 'string-isnumber', 'typ': 'StrPred'}, - "string-length":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-length', - 'typ': ['arrow', ['String'], 'Number']}, - "string-replace":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-replace', - 'typ': ['arrow', ['String', 'String', 'String'], 'String']}, - "string-split":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-split', - 'typ': ['arrow', ['String', 'String'], ['List', 'String']]}, - "string-split-all":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-split-all', - 'typ': ['arrow', ['String', 'String'], ['List', 'String']]}, - "string-to-code-point":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-to-code-point', - 'typ': ['arrow', ['String'], 'Number']}, - "string-to-code-points":{'bind': 'fun', - 'flatness': 0, - 'name': 'string-to-code-points', - 'typ': ['arrow', ['String'], ['List', 'Number']]}, - "_plus": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Any']}, - "_minus": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Any']}, - "_times": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Any']}, - "_divide": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Any']}, - "_lessthan": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, - "_lessequal": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, - "_greaterthan": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, - "_greaterequal": {'bind': 'fun', - 'flatness': false, - 'name': '_plus', - 'typ': ['arrow', ['Any', 'Any'], 'Boolean']}, - - "ref-get": "Any", - "ref-set": "Any", - "ref-freeze": "Any", - - "exn-unwrap": "Any" - - }, - aliases: { - "Any": "tany", - "Method": "tany", - "Object": "tany", - "Function": "tany", - "NumNonNegative": "Number", - "NumNonPositive": "Number", - "NumNegative": "Number", - "NumPositive": "Number", - "NumRational": "Number", - "NumInteger": "Number", - "Roughnum": "Number", - "Exactnum": "Number", - "Boolean": "Boolean", - "Number": "Number", - "String": "String", - "Nothing": "Nothing", - "RawArray": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://global" }, - name: "RawArray" }, - "Row": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://global" }, - name: "Row" }, - "Table": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://global" }, - name: "Table" } - }, - datatypes: { - "Number": ["data", "Number", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "Exactnum": ["data", "Exactnum", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "Roughnum": ["data", "Roughnum", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumInteger": ["data", "NumInteger", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumRational": ["data", "NumRational", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumPositive": ["data", "NumPositive", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumNegative": ["data", "NumNegative", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumNonPositive": ["data", "NumNonPositive", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "NumNonNegative": ["data", "NumNonNegative", [], [], { - "_plus": ["arrow", ["Number"], "Number"], - "_times": ["arrow", ["Number"], "Number"], - "_divide": ["arrow", ["Number"], "Number"], - "_minus": ["arrow", ["Number"], "Number"], - "_lessthan": ["arrow", ["Number"], "Boolean"], - "_lessequal": ["arrow", ["Number"], "Boolean"], - "_greaterthan": ["arrow", ["Number"], "Boolean"], - "_greaterequal": ["arrow", ["Number"], "Boolean"] - }], - "String": ["data", "String", [], [], { - "_plus": ["arrow", ["String"], "String"], - "_lessthan": ["arrow", ["String"], "Boolean"], - "_lessequal": ["arrow", ["String"], "Boolean"], - "_greaterthan": ["arrow", ["String"], "Boolean"], - "_greaterequal": ["arrow", ["String"], "Boolean"] - }], - "Table": ["data", "Table", [], [], { - "length": ["arrow", [], "Number"] - }], - "Row": ["data", "Row", [], [], { }], - "Function": ["data", "Function", [], [], {}], - "Boolean": ["data", "Boolean", [], [], {}], - "Object": ["data", "Object", [], [], {}], - "Method": ["data", "Method", [], [], {}], - "Nothing": ["data", "Nothing", [], [], {}], - "RawArray": ["data", "RawArray", ["a"], [], {}] - } - }, - nativeRequires: [ ], - theModule: function(runtime, namespace, uri /* intentionally blank */) { - return runtime.globalModuleObject; - } -}) -, -"builtin://either":({"theMap":"{\"version\":3,\"sources\":[\"builtin://either\"],\"names\":[\"builtin://either\",\",8,0,60,11,3,116\",\",9,2,80,9,16,94\",\",10,2,97,10,17,112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODC,8BAPCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,+BARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,4BARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,gCATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,6BATDH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,oDAPCD;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,mDAPCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://either\"}", -"theModule":"function _3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d__6(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://either\";\nvar D = R.undefined;\nvar L = [[M,9,2,80,9,16,94],\n[M,9,14,92,9,15,93],\n[M,10,2,97,10,17,112],\n[M,10,15,110,10,16,111],\n[M,8,0,60,11,3,116],\n[\"dummy location\"],\n[M,3,0,13,11,3,116]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel3 = function _3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d__6($$resumer13) {\nvar $step2 = 0;\nvar $elidedFrames8 = 0;\nvar $ans5 = D;\nvar $al6 = L[6];\nif(R.isAR($$resumer13)) {\n$step2 = $$resumer13.step;\n$al6 = $$resumer13.from;\n$ans5 = $$resumer13.ans;\n$elidedFrames8 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nleft30 = $$resumer13.vars[0];\nis$right32 = $$resumer13.vars[1];\nEither36 = $$resumer13.vars[2];\nanswer37 = $$resumer13.vars[3];\nright34 = $$resumer13.vars[4];\nis$left28 = $$resumer13.vars[5];\nis$Either26 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5 = R.mC();\n}\nwhile(!R.isContinuation($ans5)) {\nswitch($step2) {\ncase 0: var Either9 = R.nB(\"Either\",L[4]);\nvar Either36 = R.mBA(Either9,\"Either\");\nvar Either24 = {\"$var\":D};\nvar is$Either26 = {\"$var\":D};\nvar is$left28 = {\"$var\":D};\nvar left30 = {\"$var\":D};\nvar is$right32 = {\"$var\":D};\nvar right34 = {\"$var\":D};\nvar $left_getfields14 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $left_mutablemask13 = [false];\nvar $left$base10 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"left\",1)};\nvar $left$brander11 = R.nB(\"left\",L[0]);\nvar $left$brands12 = {};\n$left$brands12[Either9._brand] = true;\n$left$brands12[$left$brander11._brand] = true;\nvar left15 = R.mVC(L[0],function $synthesizedConstructor_$left$base() {\nreturn [R.Any];\n},[\"v18\"],[L[1]],[false],[\"v18\"],$left_mutablemask13,$left$base10,$left$brands12,\"left\",$left_getfields14,$left$base10);\nvar $right_getfields20 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $right_mutablemask19 = [false];\nvar $right$base16 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"right\",1)};\nvar $right$brander17 = R.nB(\"right\",L[2]);\nvar $right$brands18 = {};\n$right$brands18[Either9._brand] = true;\n$right$brands18[$right$brander17._brand] = true;\nvar right21 = R.mVC(L[2],function $synthesizedConstructor_$right$base() {\nreturn [R.Any];\n},[\"v22\"],[L[3]],[false],[\"v22\"],$right_mutablemask19,$right$base16,$right$brands18,\"right\",$right_getfields20,$right$base16);\nvar anf_assign23 = R.mO({\"Either\":G(Either9,\"test\",L[4]),\n\"is-left\":G($left$brander11,\"test\",L[0]),\n\"left\":left15,\n\"is-right\":G($right$brander17,\"test\",L[2]),\n\"right\":right21});\nEither24.$var = anf_assign23;\nR.nothing;\n$al6 = L[4];\nvar anf_assign25 = G(Either24.$var,\"Either\",L[4]);\nis$Either26.$var = anf_assign25;\nR.nothing;\n$al6 = L[0];\nvar anf_assign27 = G(Either24.$var,\"is-left\",L[0]);\nis$left28.$var = anf_assign27;\nR.nothing;\n$al6 = L[0];\nvar anf_assign29 = G(Either24.$var,\"left\",L[0]);\nleft30.$var = anf_assign29;\nR.nothing;\n$al6 = L[2];\nvar anf_assign31 = G(Either24.$var,\"is-right\",L[2]);\nis$right32.$var = anf_assign31;\nR.nothing;\n$al6 = L[2];\nvar anf_assign33 = G(Either24.$var,\"right\",L[2]);\nright34.$var = anf_assign33;\nR.nothing;\n$step2 = 1;\n$ans5 = R.maybeMethodCall2(builtins1,\"trace-value\",L[5],L[5],nothing2);\nbreak;\ncase 1: var answer37 = $ans5;\n$step2 = 2;\n$ans5 = R.maybeMethodCall0(builtins1,\"current-checker\",L[4]);\nbreak;\ncase 2: var anf_method_obj35 = $ans5;\n$step2 = 3;\n$ans5 = R.maybeMethodCall0(anf_method_obj35,\"results\",L[4]);\nbreak;\ncase 3: var checks38 = $ans5;\n$step2 = 4;\n$ans5 = R.mO({\"answer\":answer37,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"left\":left30.$var,\n\"is-Either\":is$Either26.$var,\n\"is-left\":is$left28.$var,\n\"is-right\":is$right32.$var,\n\"right\":right34.$var},\n\"defined-types\":{\"Either\":Either36},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"left\":left30.$var,\n\"is-Either\":is$Either26.$var,\n\"is-left\":is$left28.$var,\n\"is-right\":is$right32.$var,\n\"right\":right34.$var}),\n\"types\":{\"Either\":Either36},\n\"modules\":{}}),\n\"checks\":checks38});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans5;\ndefault: R.ffi.throwSpinnakerError(L[6],$step2);\n}\n}\nif($step2 !== 4) {\n$ans5.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6,$toplevel3,$step2,[],[left30,is$right32,Either36,answer37,right34,is$left28,is$Either26],$elidedFrames8);\n}\nreturn $ans5;\n};\nreturn R.safeCall($toplevel3,function module_load(moduleVal) {\nR.modules[\"$builtin://either1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"right":{"bind":"fun", -"origin":{"local-bind-site":["builtin://either", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://either", -10, -2, -97, -10, -17, -112], -"new-definition":true, -"uri-of-definition":"builtin://either"}, -"flatness":0, -"name":"right", -"typ":"tany"}, -"is-right":{"bind":"fun", -"origin":{"local-bind-site":["builtin://either", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://either", -10, -2, -97, -10, -17, -112], -"new-definition":true, -"uri-of-definition":"builtin://either"}, -"flatness":0, -"name":"is-right", -"typ":"tany"}, -"is-left":{"bind":"fun", -"origin":{"local-bind-site":["builtin://either", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://either", -9, -2, -80, -9, -16, -94], -"new-definition":true, -"uri-of-definition":"builtin://either"}, -"flatness":0, -"name":"is-left", -"typ":"tany"}, -"is-Either":{"bind":"let", -"origin":{"local-bind-site":["builtin://either", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://either", -8, -0, -60, -11, -3, -116], -"new-definition":true, -"uri-of-definition":"builtin://either"}, -"typ":"tany"}, -"left":{"bind":"fun", -"origin":{"local-bind-site":["builtin://either", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://either", -9, -2, -80, -9, -16, -94], -"new-definition":true, -"uri-of-definition":"builtin://either"}, -"flatness":0, -"name":"left", -"typ":"tany"}}, -"datatypes":{"Either":["data",{"local-bind-site":["builtin://either", -8, -0, -60, -11, -3, -116], -"definition-bind-site":["builtin://either", -8, -0, -60, -11, -3, -116], -"new-definition":true, -"uri-of-definition":"builtin://either"},"Either",["atom#a#10","atom#b#11"],[["left", -[["v", -["tid", -"atom#a#10"]]], -{}],["right", -[["v", -["tid", -"atom#b#11"]]], -{}]],{}]}, -"aliases":{"Either":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://error-display":({"theMap":"{\"version\":3,\"sources\":[\"builtin://error-display\"],\"names\":[\"builtin://error-display\",\",8,0,60,25,3,902\",\",9,2,81,9,49,128\",\",10,2,131,10,57,186\",\",11,2,189,11,50,237\",\",12,2,240,12,65,303\",\",13,2,306,13,85,389\",\",14,2,392,14,21,411\",\",15,2,414,15,23,435\",\",16,2,438,16,28,464\",\",17,2,467,19,43,627\",\",20,2,630,20,34,662\",\",21,2,665,21,31,694\",\",22,2,697,22,79,774\",\",23,2,777,23,38,813\",\",24,2,816,24,84,898\",\",29,29,943,29,51,965\",\",30,48,1019,30,57,1028\",\",30,29,1000,30,61,1032\",\",31,48,1086,31,57,1095\",\",31,29,1067,31,62,1100\",\",32,48,1154,32,57,1163\",\",32,29,1135,32,65,1171\",\",33,48,1225,33,57,1234\",\",33,29,1206,33,68,1245\",\",34,48,1299,34,57,1308\",\",34,29,1280,34,71,1322\",\",35,48,1376,35,57,1385\",\",35,29,1357,35,74,1402\",\",39,39,1458,39,61,1480\",\",39,29,1448,39,62,1481\",\",40,58,1545,40,67,1554\",\",40,39,1526,40,71,1558\",\",40,29,1516,40,72,1559\",\",41,58,1623,41,67,1632\",\",41,39,1604,41,72,1637\",\",41,29,1594,41,73,1638\",\",42,58,1702,42,67,1711\",\",42,39,1683,42,75,1719\",\",42,29,1673,42,76,1720\",\",43,58,1784,43,67,1793\",\",43,39,1765,43,78,1804\",\",43,29,1755,43,79,1805\",\",44,58,1869,44,67,1878\",\",44,39,1850,44,81,1892\",\",44,29,1840,44,82,1893\",\",45,58,1957,45,67,1966\",\",45,39,1938,45,84,1983\",\",45,29,1928,45,85,1984\",\",49,40,2045,49,62,2067\",\",49,29,2034,49,68,2073\",\",50,59,2138,50,68,2147\",\",50,40,2119,50,72,2151\",\",50,29,2108,50,78,2157\",\",51,59,2222,51,68,2231\",\",51,40,2203,51,73,2236\",\",51,29,2192,51,79,2242\",\",52,59,2307,52,68,2316\",\",52,40,2288,52,76,2324\",\",52,29,2277,52,82,2330\",\",53,59,2395,53,68,2404\",\",53,40,2376,53,79,2415\",\",53,29,2365,53,85,2421\",\",54,59,2486,54,68,2495\",\",54,40,2467,54,82,2509\",\",54,29,2456,54,88,2515\",\",55,59,2580,55,68,2589\",\",55,40,2561,55,85,2606\",\",55,29,2550,55,91,2612\",\",59,40,2669,59,62,2691\",\",59,29,2658,59,63,2692\",\",60,59,2757,60,68,2766\",\",60,40,2738,60,72,2770\",\",60,29,2727,60,73,2771\",\",61,59,2836,61,68,2845\",\",61,40,2817,61,73,2850\",\",61,29,2806,61,74,2851\",\",62,59,2916,62,68,2925\",\",62,40,2897,62,76,2933\",\",62,29,2886,62,77,2934\",\",63,59,2999,63,68,3008\",\",63,40,2980,63,79,3019\",\",63,29,2969,63,80,3020\",\",64,59,3085,64,68,3094\",\",64,40,3066,64,82,3108\",\",64,29,3055,64,83,3109\",\",65,59,3174,65,68,3183\",\",65,40,3155,65,85,3200\",\",65,29,3144,65,86,3201\",\",71,40,3291,71,62,3313\",\",71,29,3280,71,67,3318\",\",72,59,3383,72,68,3392\",\",72,40,3364,72,72,3396\",\",72,29,3353,72,77,3401\",\",73,59,3466,73,68,3475\",\",73,40,3447,73,73,3480\",\",73,29,3436,73,78,3485\",\",74,59,3550,74,68,3559\",\",74,40,3531,74,76,3567\",\",74,29,3520,74,81,3572\",\",75,59,3637,75,68,3646\",\",75,40,3618,75,79,3657\",\",75,29,3607,75,84,3662\",\",76,59,3727,76,68,3736\",\",76,40,3708,76,82,3750\",\",76,29,3697,76,87,3755\",\",77,59,3820,77,68,3829\",\",77,40,3801,77,85,3846\",\",77,29,3790,77,90,3851\",\",81,47,3919,81,69,3941\",\",81,29,3901,81,70,3942\",\",82,66,4014,82,75,4023\",\",82,47,3995,82,79,4027\",\",82,29,3977,82,80,4028\",\",83,66,4100,83,75,4109\",\",83,47,4081,83,80,4114\",\",83,29,4063,83,81,4115\",\",84,66,4187,84,75,4196\",\",84,47,4168,84,83,4204\",\",84,29,4150,84,84,4205\",\",85,66,4277,85,75,4286\",\",85,47,4258,85,86,4297\",\",85,29,4240,85,87,4298\",\",86,66,4370,86,75,4379\",\",86,47,4351,86,89,4393\",\",86,29,4333,86,90,4394\",\",87,66,4466,87,75,4475\",\",87,47,4447,87,92,4492\",\",87,29,4429,87,93,4493\",\",91,49,4558,91,71,4580\",\",91,38,4547,91,72,4581\",\",91,29,4538,91,73,4582\",\",92,68,4656,92,77,4665\",\",92,49,4637,92,81,4669\",\",92,38,4626,92,82,4670\",\",92,29,4617,92,83,4671\",\",93,68,4745,93,77,4754\",\",93,49,4726,93,82,4759\",\",93,38,4715,93,83,4760\",\",93,29,4706,93,84,4761\",\",94,68,4835,94,77,4844\",\",94,49,4816,94,85,4852\",\",94,38,4805,94,86,4853\",\",94,29,4796,94,87,4854\",\",95,68,4928,95,77,4937\",\",95,49,4909,95,88,4948\",\",95,38,4898,95,89,4949\",\",95,29,4889,95,90,4950\",\",96,68,5024,96,77,5033\",\",96,49,5005,96,91,5047\",\",96,38,4994,96,92,5048\",\",96,29,4985,96,93,5049\",\",97,68,5123,97,77,5132\",\",97,49,5104,97,94,5149\",\",97,38,5093,97,95,5150\",\",97,29,5084,97,96,5151\",\",101,3,5178,101,11,5186\",\",102,4,5192,102,12,5200\",\",103,12,5214,103,18,5220\",\",103,4,5206,103,55,5257\",\",107,3,5284,107,11,5292\",\",108,4,5298,108,12,5306\",\",109,12,5320,109,18,5326\",\",109,4,5312,109,47,5355\",\",113,3,5383,113,11,5391\",\",114,4,5397,114,12,5405\",\",115,12,5419,115,18,5425\",\",115,4,5411,115,49,5456\",\",119,3,5492,119,11,5500\",\",120,4,5506,120,12,5514\",\",121,12,5528,121,18,5534\",\",121,4,5520,121,65,5581\",\",125,3,5611,125,11,5619\",\",126,4,5625,126,12,5633\",\",127,12,5647,127,18,5653\",\",127,4,5639,127,53,5688\",\",131,3,5716,131,11,5724\",\",132,4,5730,132,12,5738\",\",133,12,5752,133,18,5758\",\",133,4,5744,133,57,5797\",\",137,3,5829,137,11,5837\",\",138,4,5843,138,12,5851\",\",139,12,5865,139,18,5871\",\",139,4,5857,139,57,5910\",\",143,3,5936,143,11,5944\",\",144,4,5950,144,12,5958\",\",145,12,5972,145,18,5978\",\",145,4,5964,145,45,6005\",\",149,3,6033,149,11,6041\",\",150,4,6047,150,12,6055\",\",151,12,6069,151,18,6075\",\",151,4,6061,151,49,6106\",\",156,21,6157,156,37,6173\",\",157,6,6181,157,22,6197\",\",158,10,6216,158,25,6231\",\",159,10,6253,159,25,6268\",\",160,10,6290,160,25,6305\",\",157,6,6181,162,9,6363\",\",155,2,6130,163,8,6372\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://error-display\"}", -"theModule":"function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__203(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://error-display\";\nvar D = R.undefined;\nvar L = [[M,9,2,81,9,49,128],\n[M,10,2,131,10,57,186],\n[M,11,2,189,11,50,237],\n[M,12,2,240,12,65,303],\n[M,12,58,296,12,64,302],\n[M,13,2,306,13,85,389],\n[M,13,62,366,13,68,372],\n[M,13,78,382,13,84,388],\n[M,14,2,392,14,21,411],\n[M,15,2,414,15,23,435],\n[M,15,16,428,15,22,434],\n[M,16,2,438,16,28,464],\n[M,17,2,467,19,43,627],\n[M,17,25,490,17,31,496],\n[M,17,53,518,17,60,525],\n[M,19,30,614,19,42,626],\n[M,20,2,630,20,34,662],\n[M,20,21,649,20,33,661],\n[M,21,2,665,21,31,694],\n[M,22,2,697,22,79,774],\n[M,22,46,741,22,52,747],\n[M,22,66,761,22,78,773],\n[M,23,2,777,23,38,813],\n[M,23,25,800,23,37,812],\n[M,24,2,816,24,84,898],\n[M,24,26,840,24,38,852],\n[M,24,77,891,24,83,897],\n[M,8,0,60,25,3,902],\n[M,29,9,923,29,55,969],\n[M,30,9,980,30,65,1036],\n[M,30,47,1018,30,60,1031],\n[M,30,48,1019,30,57,1028],\n[M,31,9,1047,31,66,1104],\n[M,31,47,1085,31,61,1099],\n[M,31,48,1086,31,57,1095],\n[M,32,9,1115,32,69,1175],\n[M,32,47,1153,32,64,1170],\n[M,32,48,1154,32,57,1163],\n[M,33,9,1186,33,72,1249],\n[M,33,47,1224,33,67,1244],\n[M,33,48,1225,33,57,1234],\n[M,34,9,1260,34,75,1326],\n[M,34,47,1298,34,70,1321],\n[M,34,48,1299,34,57,1308],\n[M,35,9,1337,35,78,1406],\n[M,35,47,1375,35,73,1401],\n[M,35,48,1376,35,57,1385],\n[M,39,9,1428,39,66,1485],\n[M,40,9,1496,40,76,1563],\n[M,40,57,1544,40,70,1557],\n[M,40,58,1545,40,67,1554],\n[M,41,9,1574,41,77,1642],\n[M,41,57,1622,41,71,1636],\n[M,41,58,1623,41,67,1632],\n[M,42,9,1653,42,80,1724],\n[M,42,57,1701,42,74,1718],\n[M,42,58,1702,42,67,1711],\n[M,43,9,1735,43,83,1809],\n[M,43,57,1783,43,77,1803],\n[M,43,58,1784,43,67,1793],\n[M,44,9,1820,44,86,1897],\n[M,44,57,1868,44,80,1891],\n[M,44,58,1869,44,67,1878],\n[M,45,9,1908,45,89,1988],\n[M,45,57,1956,45,83,1982],\n[M,45,58,1957,45,67,1966],\n[M,49,9,2014,49,72,2077],\n[M,50,9,2088,50,82,2161],\n[M,50,58,2137,50,71,2150],\n[M,50,59,2138,50,68,2147],\n[M,51,9,2172,51,83,2246],\n[M,51,58,2221,51,72,2235],\n[M,51,59,2222,51,68,2231],\n[M,52,9,2257,52,86,2334],\n[M,52,58,2306,52,75,2323],\n[M,52,59,2307,52,68,2316],\n[M,53,9,2345,53,89,2425],\n[M,53,58,2394,53,78,2414],\n[M,53,59,2395,53,68,2404],\n[M,54,9,2436,54,92,2519],\n[M,54,58,2485,54,81,2508],\n[M,54,59,2486,54,68,2495],\n[M,55,9,2530,55,95,2616],\n[M,55,58,2579,55,84,2605],\n[M,55,59,2580,55,68,2589],\n[M,59,9,2638,59,67,2696],\n[M,60,9,2707,60,77,2775],\n[M,60,58,2756,60,71,2769],\n[M,60,59,2757,60,68,2766],\n[M,61,9,2786,61,78,2855],\n[M,61,58,2835,61,72,2849],\n[M,61,59,2836,61,68,2845],\n[M,62,9,2866,62,81,2938],\n[M,62,58,2915,62,75,2932],\n[M,62,59,2916,62,68,2925],\n[M,63,9,2949,63,84,3024],\n[M,63,58,2998,63,78,3018],\n[M,63,59,2999,63,68,3008],\n[M,64,9,3035,64,87,3113],\n[M,64,58,3084,64,81,3107],\n[M,64,59,3085,64,68,3094],\n[M,65,9,3124,65,90,3205],\n[M,65,58,3173,65,84,3199],\n[M,65,59,3174,65,68,3183],\n[M,71,9,3260,71,71,3322],\n[M,72,9,3333,72,81,3405],\n[M,72,58,3382,72,71,3395],\n[M,72,59,3383,72,68,3392],\n[M,73,9,3416,73,82,3489],\n[M,73,58,3465,73,72,3479],\n[M,73,59,3466,73,68,3475],\n[M,74,9,3500,74,85,3576],\n[M,74,58,3549,74,75,3566],\n[M,74,59,3550,74,68,3559],\n[M,75,9,3587,75,88,3666],\n[M,75,58,3636,75,78,3656],\n[M,75,59,3637,75,68,3646],\n[M,76,9,3677,76,91,3759],\n[M,76,58,3726,76,81,3749],\n[M,76,59,3727,76,68,3736],\n[M,77,9,3770,77,94,3855],\n[M,77,58,3819,77,84,3845],\n[M,77,59,3820,77,68,3829],\n[M,81,9,3881,81,74,3946],\n[M,82,9,3957,82,84,4032],\n[M,82,65,4013,82,78,4026],\n[M,82,66,4014,82,75,4023],\n[M,83,9,4043,83,85,4119],\n[M,83,65,4099,83,79,4113],\n[M,83,66,4100,83,75,4109],\n[M,84,9,4130,84,88,4209],\n[M,84,65,4186,84,82,4203],\n[M,84,66,4187,84,75,4196],\n[M,85,9,4220,85,91,4302],\n[M,85,65,4276,85,85,4296],\n[M,85,66,4277,85,75,4286],\n[M,86,9,4313,86,94,4398],\n[M,86,65,4369,86,88,4392],\n[M,86,66,4370,86,75,4379],\n[M,87,9,4409,87,97,4497],\n[M,87,65,4465,87,91,4491],\n[M,87,66,4466,87,75,4475],\n[M,91,9,4518,91,77,4586],\n[M,92,9,4597,92,87,4675],\n[M,92,67,4655,92,80,4668],\n[M,92,68,4656,92,77,4665],\n[M,93,9,4686,93,88,4765],\n[M,93,67,4744,93,81,4758],\n[M,93,68,4745,93,77,4754],\n[M,94,9,4776,94,91,4858],\n[M,94,67,4834,94,84,4851],\n[M,94,68,4835,94,77,4844],\n[M,95,9,4869,95,94,4954],\n[M,95,67,4927,95,87,4947],\n[M,95,68,4928,95,77,4937],\n[M,96,9,4965,96,97,5053],\n[M,96,67,5023,96,90,5046],\n[M,96,68,5024,96,77,5033],\n[M,97,9,5064,97,100,5155],\n[M,97,67,5122,97,93,5148],\n[M,97,68,5123,97,77,5132],\n[M,100,0,5159,104,3,5262],\n[M,101,2,5177,103,56,5258],\n[M,101,3,5178,101,11,5186],\n[M,103,12,5214,103,18,5220],\n[M,106,0,5264,110,3,5360],\n[M,107,2,5283,109,48,5356],\n[M,107,3,5284,107,11,5292],\n[M,109,12,5320,109,18,5326],\n[M,112,0,5362,116,3,5461],\n[M,113,2,5382,115,50,5457],\n[M,113,3,5383,113,11,5391],\n[M,115,12,5419,115,18,5425],\n[M,118,0,5463,122,3,5586],\n[M,119,2,5491,121,66,5582],\n[M,119,3,5492,119,11,5500],\n[M,121,12,5528,121,18,5534],\n[M,124,0,5588,128,3,5693],\n[M,125,2,5610,127,54,5689],\n[M,125,3,5611,125,11,5619],\n[M,127,12,5647,127,18,5653],\n[M,130,0,5695,134,3,5802],\n[M,131,2,5715,133,58,5798],\n[M,131,3,5716,131,11,5724],\n[M,133,12,5752,133,18,5758],\n[M,136,0,5804,140,3,5915],\n[M,137,2,5828,139,58,5911],\n[M,137,3,5829,137,11,5837],\n[M,139,12,5865,139,18,5871],\n[M,142,0,5917,146,3,6010],\n[M,143,2,5935,145,46,6006],\n[M,143,3,5936,143,11,5944],\n[M,145,12,5972,145,18,5978],\n[M,148,0,6012,152,3,6111],\n[M,149,2,6032,151,50,6107],\n[M,149,3,6033,149,11,6041],\n[M,151,12,6069,151,18,6075],\n[M,154,0,6113,164,3,6376],\n[M,157,6,6181,162,9,6363],\n[M,160,10,6290,160,25,6305],\n[M,159,10,6253,159,25,6268],\n[M,158,10,6216,158,25,6231],\n[\"dummy location\"],\n[M,3,0,13,164,3,6376]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar num$modulo9 = R.getModuleField(\"builtin://global\",\"values\",\"num-modulo\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel12 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__203($$resumer13) {\nvar $step11 = 0;\nvar $elidedFrames17 = 0;\nvar $ans14 = D;\nvar $al15 = L[203];\nif(R.isAR($$resumer13)) {\n$step11 = $$resumer13.step;\n$al15 = $$resumer13.from;\n$ans14 = $$resumer13.ans;\n$elidedFrames17 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nh$sequence147 = $$resumer13.vars[0];\nbulleted980 = $$resumer13.vars[1];\ned$args840 = $$resumer13.vars[2];\nis$loc161 = $$resumer13.vars[3];\nis$v$sequence141 = $$resumer13.vars[4];\ned$rows945 = $$resumer13.vars[5];\nanswer986 = $$resumer13.vars[6];\nis$loc$display177 = $$resumer13.vars[7];\nis$text157 = $$resumer13.vars[8];\ned$values960 = $$resumer13.vars[9];\nerror981 = $$resumer13.vars[10];\nmaybe$stack$loc167 = $$resumer13.vars[11];\ned$nth977 = $$resumer13.vars[12];\nis$code169 = $$resumer13.vars[13];\npara$nospace985 = $$resumer13.vars[14];\nbulleted$sequence139 = $$resumer13.vars[15];\nsequence545 = $$resumer13.vars[16];\ncode171 = $$resumer13.vars[17];\nis$cmcode173 = $$resumer13.vars[18];\npara979 = $$resumer13.vars[19];\ned$names855 = $$resumer13.vars[20];\nparagraph135 = $$resumer13.vars[21];\nis$maybe$stack$loc165 = $$resumer13.vars[22];\nis$bulleted$sequence137 = $$resumer13.vars[23];\nv$sequence143 = $$resumer13.vars[24];\nis$ErrorDisplay131 = $$resumer13.vars[25];\nis$optional181 = $$resumer13.vars[26];\nhighlight187 = $$resumer13.vars[27];\ntext159 = $$resumer13.vars[28];\nis$h$sequence$sep149 = $$resumer13.vars[29];\nh$sequence$sep151 = $$resumer13.vars[30];\ned$params915 = $$resumer13.vars[31];\nvert982 = $$resumer13.vars[32];\nopt984 = $$resumer13.vars[33];\nErrorDisplay84 = $$resumer13.vars[34];\nis$paragraph133 = $$resumer13.vars[35];\nis$h$sequence145 = $$resumer13.vars[36];\ncmcode175 = $$resumer13.vars[37];\nembed155 = $$resumer13.vars[38];\nlocs983 = $$resumer13.vars[39];\ned$bindings900 = $$resumer13.vars[40];\nis$highlight185 = $$resumer13.vars[41];\nloc163 = $$resumer13.vars[42];\ned$fields870 = $$resumer13.vars[43];\noptional183 = $$resumer13.vars[44];\nloc$display179 = $$resumer13.vars[45];\ned$components930 = $$resumer13.vars[46];\nis$embed153 = $$resumer13.vars[47];\ned$field$bindings885 = $$resumer13.vars[48];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans14 = R.mC();\n}\nwhile(!R.isContinuation($ans14)) {\nswitch($step11) {\ncase 0: var ErrorDisplay18 = R.nB(\"ErrorDisplay\",L[27]);\nvar ErrorDisplay84 = R.mBA(ErrorDisplay18,\"ErrorDisplay\");\nvar ErrorDisplay129 = {\"$var\":D};\nvar is$ErrorDisplay131 = {\"$var\":D};\nvar is$paragraph133 = {\"$var\":D};\nvar paragraph135 = {\"$var\":D};\nvar is$bulleted$sequence137 = {\"$var\":D};\nvar bulleted$sequence139 = {\"$var\":D};\nvar is$v$sequence141 = {\"$var\":D};\nvar v$sequence143 = {\"$var\":D};\nvar is$h$sequence145 = {\"$var\":D};\nvar h$sequence147 = {\"$var\":D};\nvar is$h$sequence$sep149 = {\"$var\":D};\nvar h$sequence$sep151 = {\"$var\":D};\nvar is$embed153 = {\"$var\":D};\nvar embed155 = {\"$var\":D};\nvar is$text157 = {\"$var\":D};\nvar text159 = {\"$var\":D};\nvar is$loc161 = {\"$var\":D};\nvar loc163 = {\"$var\":D};\nvar is$maybe$stack$loc165 = {\"$var\":D};\nvar maybe$stack$loc167 = {\"$var\":D};\nvar is$code169 = {\"$var\":D};\nvar code171 = {\"$var\":D};\nvar is$cmcode173 = {\"$var\":D};\nvar cmcode175 = {\"$var\":D};\nvar is$loc$display177 = {\"$var\":D};\nvar loc$display179 = {\"$var\":D};\nvar is$optional181 = {\"$var\":D};\nvar optional183 = {\"$var\":D};\nvar is$highlight185 = {\"$var\":D};\nvar highlight187 = {\"$var\":D};\nvar $paragraph_getfields23 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $paragraph_mutablemask22 = [false];\nvar $paragraph$base19 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"paragraph\",1)};\nvar $paragraph$brander20 = R.nB(\"paragraph\",L[0]);\nvar $paragraph$brands21 = {};\n$paragraph$brands21[ErrorDisplay18._brand] = true;\n$paragraph$brands21[$paragraph$brander20._brand] = true;\nvar paragraph24 = R.mVC(L[0],function $synthesizedConstructor_$paragraph$base() {\nreturn [];\n},[],[],[false],[\"contents25\"],$paragraph_mutablemask22,$paragraph$base19,$paragraph$brands21,\"paragraph\",$paragraph_getfields23,$paragraph$base19);\nvar $bulleted$sequence_getfields30 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $bulleted$sequence_mutablemask29 = [false];\nvar $bulleted$sequence$base26 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"bulleted-sequence\",1)};\nvar $bulleted$sequence$brander27 = R.nB(\"bulleted-sequence\",L[1]);\nvar $bulleted$sequence$brands28 = {};\n$bulleted$sequence$brands28[ErrorDisplay18._brand] = true;\n$bulleted$sequence$brands28[$bulleted$sequence$brander27._brand] = true;\nvar bulleted$sequence31 = R.mVC(L[1],function $synthesizedConstructor_$bulleted$sequence$base() {\nreturn [];\n},[],[],[false],[\"contents32\"],$bulleted$sequence_mutablemask29,$bulleted$sequence$base26,$bulleted$sequence$brands28,\"bulleted-sequence\",$bulleted$sequence_getfields30,$bulleted$sequence$base26);\nvar $v$sequence_getfields37 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $v$sequence_mutablemask36 = [false];\nvar $v$sequence$base33 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"v-sequence\",1)};\nvar $v$sequence$brander34 = R.nB(\"v-sequence\",L[2]);\nvar $v$sequence$brands35 = {};\n$v$sequence$brands35[ErrorDisplay18._brand] = true;\n$v$sequence$brands35[$v$sequence$brander34._brand] = true;\nvar v$sequence38 = R.mVC(L[2],function $synthesizedConstructor_$v$sequence$base() {\nreturn [];\n},[],[],[false],[\"contents39\"],$v$sequence_mutablemask36,$v$sequence$base33,$v$sequence$brands35,\"v-sequence\",$v$sequence_getfields37,$v$sequence$base33);\nvar $h$sequence_getfields44 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"sep\"]);\n};\nvar $h$sequence_mutablemask43 = [false,false];\nvar $h$sequence$base40 = {\"$fieldNames\":[\"contents\",\"sep\"],\n\"_match\":R.mM(\"h-sequence\",2)};\nvar $h$sequence$brander41 = R.nB(\"h-sequence\",L[3]);\nvar $h$sequence$brands42 = {};\n$h$sequence$brands42[ErrorDisplay18._brand] = true;\n$h$sequence$brands42[$h$sequence$brander41._brand] = true;\nvar h$sequence45 = R.mVC(L[3],function $synthesizedConstructor_$h$sequence$base() {\nreturn [$type$String8];\n},[\"sep46\"],[L[4]],[false,false],[\"contents47\",\"sep46\"],$h$sequence_mutablemask43,$h$sequence$base40,$h$sequence$brands42,\"h-sequence\",$h$sequence_getfields44,$h$sequence$base40);\nvar $h$sequence$sep_getfields52 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"sep\"],this.dict[\"last\"]);\n};\nvar $h$sequence$sep_mutablemask51 = [false,false,false];\nvar $h$sequence$sep$base48 = {\"$fieldNames\":[\"contents\",\"sep\",\"last\"],\n\"_match\":R.mM(\"h-sequence-sep\",3)};\nvar $h$sequence$sep$brander49 = R.nB(\"h-sequence-sep\",L[5]);\nvar $h$sequence$sep$brands50 = {};\n$h$sequence$sep$brands50[ErrorDisplay18._brand] = true;\n$h$sequence$sep$brands50[$h$sequence$sep$brander49._brand] = true;\nvar h$sequence$sep53 = R.mVC(L[5],function $synthesizedConstructor_$h$sequence$sep$base() {\nreturn [$type$String8,$type$String8];\n},[\"sep54\",\"last55\"],[L[6],L[7]],[false,false,false],[\"contents56\",\"sep54\",\"last55\"],$h$sequence$sep_mutablemask51,$h$sequence$sep$base48,$h$sequence$sep$brands50,\"h-sequence-sep\",$h$sequence$sep_getfields52,$h$sequence$sep$base48);\nvar $embed_getfields61 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"]);\n};\nvar $embed_mutablemask60 = [false];\nvar $embed$base57 = {\"$fieldNames\":[\"val\"],\n\"_match\":R.mM(\"embed\",1)};\nvar $embed$brander58 = R.nB(\"embed\",L[8]);\nvar $embed$brands59 = {};\n$embed$brands59[ErrorDisplay18._brand] = true;\n$embed$brands59[$embed$brander58._brand] = true;\nvar embed62 = R.mVC(L[8],function $synthesizedConstructor_$embed$base() {\nreturn [];\n},[],[],[false],[\"val63\"],$embed_mutablemask60,$embed$base57,$embed$brands59,\"embed\",$embed_getfields61,$embed$base57);\nvar $text_getfields68 = function singleton_variant(f) {\nreturn f(this.dict[\"str\"]);\n};\nvar $text_mutablemask67 = [false];\nvar $text$base64 = {\"$fieldNames\":[\"str\"],\n\"_match\":R.mM(\"text\",1)};\nvar $text$brander65 = R.nB(\"text\",L[9]);\nvar $text$brands66 = {};\n$text$brands66[ErrorDisplay18._brand] = true;\n$text$brands66[$text$brander65._brand] = true;\nvar text69 = R.mVC(L[9],function $synthesizedConstructor_$text$base() {\nreturn [$type$String8];\n},[\"str70\"],[L[10]],[false],[\"str70\"],$text_mutablemask67,$text$base64,$text$brands66,\"text\",$text_getfields68,$text$base64);\nvar $loc_getfields75 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $loc_mutablemask74 = [false];\nvar $loc$base71 = {\"$fieldNames\":[\"loc\"],\n\"_match\":R.mM(\"loc\",1)};\nvar $loc$brander72 = R.nB(\"loc\",L[11]);\nvar $loc$brands73 = {};\n$loc$brands73[ErrorDisplay18._brand] = true;\n$loc$brands73[$loc$brander72._brand] = true;\nvar loc76 = R.mVC(L[11],function $synthesizedConstructor_$loc$base() {\nreturn [];\n},[],[],[false],[\"loc77\"],$loc_mutablemask74,$loc$base71,$loc$brands73,\"loc\",$loc_getfields75,$loc$base71);\nvar $maybe$stack$loc_getfields82 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"],this.dict[\"user-frames-only\"],this.dict[\"contents-with-loc\"],this.dict[\"contents-without-loc\"]);\n};\nvar $maybe$stack$loc_mutablemask81 = [false,false,false,false];\nvar $maybe$stack$loc$base78 = {\"$fieldNames\":[\"n\",\"user-frames-only\",\"contents-with-loc\",\"contents-without-loc\"],\n\"_match\":R.mM(\"maybe-stack-loc\",4)};\nvar $maybe$stack$loc$brander79 = R.nB(\"maybe-stack-loc\",L[12]);\nvar $maybe$stack$loc$brands80 = {};\n$maybe$stack$loc$brands80[ErrorDisplay18._brand] = true;\n$maybe$stack$loc$brands80[$maybe$stack$loc$brander79._brand] = true;\nvar maybe$stack$loc83 = R.mVC(L[12],function $synthesizedConstructor_$maybe$stack$loc$base() {\nreturn [$type$Number3,$type$Boolean6,ErrorDisplay84];\n},[\"n85\",\"user$frames$only86\",\"contents$without$loc87\"],[L[13],L[14],L[15]],[false,false,false,false],[\"n85\",\"user$frames$only86\",\"contents$with$loc88\",\"contents$without$loc87\"],$maybe$stack$loc_mutablemask81,$maybe$stack$loc$base78,$maybe$stack$loc$brands80,\"maybe-stack-loc\",$maybe$stack$loc_getfields82,$maybe$stack$loc$base78);\nvar $code_getfields93 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $code_mutablemask92 = [false];\nvar $code$base89 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"code\",1)};\nvar $code$brander90 = R.nB(\"code\",L[16]);\nvar $code$brands91 = {};\n$code$brands91[ErrorDisplay18._brand] = true;\n$code$brands91[$code$brander90._brand] = true;\nvar code94 = R.mVC(L[16],function $synthesizedConstructor_$code$base() {\nreturn [ErrorDisplay84];\n},[\"contents95\"],[L[17]],[false],[\"contents95\"],$code_mutablemask92,$code$base89,$code$brands91,\"code\",$code_getfields93,$code$base89);\nvar $cmcode_getfields100 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $cmcode_mutablemask99 = [false];\nvar $cmcode$base96 = {\"$fieldNames\":[\"loc\"],\n\"_match\":R.mM(\"cmcode\",1)};\nvar $cmcode$brander97 = R.nB(\"cmcode\",L[18]);\nvar $cmcode$brands98 = {};\n$cmcode$brands98[ErrorDisplay18._brand] = true;\n$cmcode$brands98[$cmcode$brander97._brand] = true;\nvar cmcode101 = R.mVC(L[18],function $synthesizedConstructor_$cmcode$base() {\nreturn [];\n},[],[],[false],[\"loc102\"],$cmcode_mutablemask99,$cmcode$base96,$cmcode$brands98,\"cmcode\",$cmcode_getfields100,$cmcode$base96);\nvar $loc$display_getfields107 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"style\"],this.dict[\"contents\"]);\n};\nvar $loc$display_mutablemask106 = [false,false,false];\nvar $loc$display$base103 = {\"$fieldNames\":[\"loc\",\"style\",\"contents\"],\n\"_match\":R.mM(\"loc-display\",3)};\nvar $loc$display$brander104 = R.nB(\"loc-display\",L[19]);\nvar $loc$display$brands105 = {};\n$loc$display$brands105[ErrorDisplay18._brand] = true;\n$loc$display$brands105[$loc$display$brander104._brand] = true;\nvar loc$display108 = R.mVC(L[19],function $synthesizedConstructor_$loc$display$base() {\nreturn [$type$String8,ErrorDisplay84];\n},[\"style109\",\"contents110\"],[L[20],L[21]],[false,false,false],[\"loc111\",\"style109\",\"contents110\"],$loc$display_mutablemask106,$loc$display$base103,$loc$display$brands105,\"loc-display\",$loc$display_getfields107,$loc$display$base103);\nvar $optional_getfields116 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"]);\n};\nvar $optional_mutablemask115 = [false];\nvar $optional$base112 = {\"$fieldNames\":[\"contents\"],\n\"_match\":R.mM(\"optional\",1)};\nvar $optional$brander113 = R.nB(\"optional\",L[22]);\nvar $optional$brands114 = {};\n$optional$brands114[ErrorDisplay18._brand] = true;\n$optional$brands114[$optional$brander113._brand] = true;\nvar optional117 = R.mVC(L[22],function $synthesizedConstructor_$optional$base() {\nreturn [ErrorDisplay84];\n},[\"contents118\"],[L[23]],[false],[\"contents118\"],$optional_mutablemask115,$optional$base112,$optional$brands114,\"optional\",$optional_getfields116,$optional$base112);\nvar $highlight_getfields123 = function singleton_variant(f) {\nreturn f(this.dict[\"contents\"],this.dict[\"locs\"],this.dict[\"color\"]);\n};\nvar $highlight_mutablemask122 = [false,false,false];\nvar $highlight$base119 = {\"$fieldNames\":[\"contents\",\"locs\",\"color\"],\n\"_match\":R.mM(\"highlight\",3)};\nvar $highlight$brander120 = R.nB(\"highlight\",L[24]);\nvar $highlight$brands121 = {};\n$highlight$brands121[ErrorDisplay18._brand] = true;\n$highlight$brands121[$highlight$brander120._brand] = true;\nvar highlight124 = R.mVC(L[24],function $synthesizedConstructor_$highlight$base() {\nreturn [ErrorDisplay84,$type$Number3];\n},[\"contents125\",\"color126\"],[L[25],L[26]],[false,false,false],[\"contents125\",\"locs127\",\"color126\"],$highlight_mutablemask122,$highlight$base119,$highlight$brands121,\"highlight\",$highlight_getfields123,$highlight$base119);\nvar anf_assign128 = R.mO({\"ErrorDisplay\":G(ErrorDisplay18,\"test\",L[27]),\n\"is-paragraph\":G($paragraph$brander20,\"test\",L[0]),\n\"paragraph\":paragraph24,\n\"is-bulleted-sequence\":G($bulleted$sequence$brander27,\"test\",L[1]),\n\"bulleted-sequence\":bulleted$sequence31,\n\"is-v-sequence\":G($v$sequence$brander34,\"test\",L[2]),\n\"v-sequence\":v$sequence38,\n\"is-h-sequence\":G($h$sequence$brander41,\"test\",L[3]),\n\"h-sequence\":h$sequence45,\n\"is-h-sequence-sep\":G($h$sequence$sep$brander49,\"test\",L[5]),\n\"h-sequence-sep\":h$sequence$sep53,\n\"is-embed\":G($embed$brander58,\"test\",L[8]),\n\"embed\":embed62,\n\"is-text\":G($text$brander65,\"test\",L[9]),\n\"text\":text69,\n\"is-loc\":G($loc$brander72,\"test\",L[11]),\n\"loc\":loc76,\n\"is-maybe-stack-loc\":G($maybe$stack$loc$brander79,\"test\",L[12]),\n\"maybe-stack-loc\":maybe$stack$loc83,\n\"is-code\":G($code$brander90,\"test\",L[16]),\n\"code\":code94,\n\"is-cmcode\":G($cmcode$brander97,\"test\",L[18]),\n\"cmcode\":cmcode101,\n\"is-loc-display\":G($loc$display$brander104,\"test\",L[19]),\n\"loc-display\":loc$display108,\n\"is-optional\":G($optional$brander113,\"test\",L[22]),\n\"optional\":optional117,\n\"is-highlight\":G($highlight$brander120,\"test\",L[24]),\n\"highlight\":highlight124});\nErrorDisplay129.$var = anf_assign128;\nR.nothing;\n$al15 = L[27];\nvar anf_assign130 = G(ErrorDisplay129.$var,\"ErrorDisplay\",L[27]);\nis$ErrorDisplay131.$var = anf_assign130;\nR.nothing;\n$al15 = L[0];\nvar anf_assign132 = G(ErrorDisplay129.$var,\"is-paragraph\",L[0]);\nis$paragraph133.$var = anf_assign132;\nR.nothing;\n$al15 = L[0];\nvar anf_assign134 = G(ErrorDisplay129.$var,\"paragraph\",L[0]);\nparagraph135.$var = anf_assign134;\nR.nothing;\n$al15 = L[1];\nvar anf_assign136 = G(ErrorDisplay129.$var,\"is-bulleted-sequence\",L[1]);\nis$bulleted$sequence137.$var = anf_assign136;\nR.nothing;\n$al15 = L[1];\nvar anf_assign138 = G(ErrorDisplay129.$var,\"bulleted-sequence\",L[1]);\nbulleted$sequence139.$var = anf_assign138;\nR.nothing;\n$al15 = L[2];\nvar anf_assign140 = G(ErrorDisplay129.$var,\"is-v-sequence\",L[2]);\nis$v$sequence141.$var = anf_assign140;\nR.nothing;\n$al15 = L[2];\nvar anf_assign142 = G(ErrorDisplay129.$var,\"v-sequence\",L[2]);\nv$sequence143.$var = anf_assign142;\nR.nothing;\n$al15 = L[3];\nvar anf_assign144 = G(ErrorDisplay129.$var,\"is-h-sequence\",L[3]);\nis$h$sequence145.$var = anf_assign144;\nR.nothing;\n$al15 = L[3];\nvar anf_assign146 = G(ErrorDisplay129.$var,\"h-sequence\",L[3]);\nh$sequence147.$var = anf_assign146;\nR.nothing;\n$al15 = L[5];\nvar anf_assign148 = G(ErrorDisplay129.$var,\"is-h-sequence-sep\",L[5]);\nis$h$sequence$sep149.$var = anf_assign148;\nR.nothing;\n$al15 = L[5];\nvar anf_assign150 = G(ErrorDisplay129.$var,\"h-sequence-sep\",L[5]);\nh$sequence$sep151.$var = anf_assign150;\nR.nothing;\n$al15 = L[8];\nvar anf_assign152 = G(ErrorDisplay129.$var,\"is-embed\",L[8]);\nis$embed153.$var = anf_assign152;\nR.nothing;\n$al15 = L[8];\nvar anf_assign154 = G(ErrorDisplay129.$var,\"embed\",L[8]);\nembed155.$var = anf_assign154;\nR.nothing;\n$al15 = L[9];\nvar anf_assign156 = G(ErrorDisplay129.$var,\"is-text\",L[9]);\nis$text157.$var = anf_assign156;\nR.nothing;\n$al15 = L[9];\nvar anf_assign158 = G(ErrorDisplay129.$var,\"text\",L[9]);\ntext159.$var = anf_assign158;\nR.nothing;\n$al15 = L[11];\nvar anf_assign160 = G(ErrorDisplay129.$var,\"is-loc\",L[11]);\nis$loc161.$var = anf_assign160;\nR.nothing;\n$al15 = L[11];\nvar anf_assign162 = G(ErrorDisplay129.$var,\"loc\",L[11]);\nloc163.$var = anf_assign162;\nR.nothing;\n$al15 = L[12];\nvar anf_assign164 = G(ErrorDisplay129.$var,\"is-maybe-stack-loc\",L[12]);\nis$maybe$stack$loc165.$var = anf_assign164;\nR.nothing;\n$al15 = L[12];\nvar anf_assign166 = G(ErrorDisplay129.$var,\"maybe-stack-loc\",L[12]);\nmaybe$stack$loc167.$var = anf_assign166;\nR.nothing;\n$al15 = L[16];\nvar anf_assign168 = G(ErrorDisplay129.$var,\"is-code\",L[16]);\nis$code169.$var = anf_assign168;\nR.nothing;\n$al15 = L[16];\nvar anf_assign170 = G(ErrorDisplay129.$var,\"code\",L[16]);\ncode171.$var = anf_assign170;\nR.nothing;\n$al15 = L[18];\nvar anf_assign172 = G(ErrorDisplay129.$var,\"is-cmcode\",L[18]);\nis$cmcode173.$var = anf_assign172;\nR.nothing;\n$al15 = L[18];\nvar anf_assign174 = G(ErrorDisplay129.$var,\"cmcode\",L[18]);\ncmcode175.$var = anf_assign174;\nR.nothing;\n$al15 = L[19];\nvar anf_assign176 = G(ErrorDisplay129.$var,\"is-loc-display\",L[19]);\nis$loc$display177.$var = anf_assign176;\nR.nothing;\n$al15 = L[19];\nvar anf_assign178 = G(ErrorDisplay129.$var,\"loc-display\",L[19]);\nloc$display179.$var = anf_assign178;\nR.nothing;\n$al15 = L[22];\nvar anf_assign180 = G(ErrorDisplay129.$var,\"is-optional\",L[22]);\nis$optional181.$var = anf_assign180;\nR.nothing;\n$al15 = L[22];\nvar anf_assign182 = G(ErrorDisplay129.$var,\"optional\",L[22]);\noptional183.$var = anf_assign182;\nR.nothing;\n$al15 = L[24];\nvar anf_assign184 = G(ErrorDisplay129.$var,\"is-highlight\",L[24]);\nis$highlight185.$var = anf_assign184;\nR.nothing;\n$al15 = L[24];\nvar anf_assign186 = G(ErrorDisplay129.$var,\"highlight\",L[24]);\nhighlight187.$var = anf_assign186;\nR.nothing;\nvar $temp_lam189 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__28($arr190) {\nvar $step188 = 0;\nvar $elidedFrames194 = 0;\nvar $ans191 = D;\nvar $al192 = L[28];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[28],1,$t,false);\n}\nvar arr190 = $arr190;\n// callee optimization;\nwhile(!R.isContinuation($ans191)) {\nswitch($step188) {\ncase 0: // caller optimization;\n$ans191 = raw$array$to$list4.app(arr190);\n$step188 = 1;\nbreak;\ncase 1: return $ans191;\ndefault: R.ffi.throwSpinnakerError(L[28],$step188);\n}\n}\nreturn $ans191;\n};\nvar anf_obj265 = R.mF($temp_lam189,\"\");\nvar $temp_lam197 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__29($$resumer13) {\nvar $step196 = 0;\nvar $elidedFrames201 = 0;\nvar $ans198 = D;\nvar $al199 = L[29];\nif(R.isAR($$resumer13)) {\n$step196 = $$resumer13.step;\n$al199 = $$resumer13.from;\n$ans198 = $$resumer13.ans;\n$elidedFrames201 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[29],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans198 = R.mC();\n}\nwhile(!R.isContinuation($ans198)) {\nswitch($step196) {\ncase 0: $ans198 = R.getMaker0(raw$array2,(\"make0\"),L[30],L[31]);\nvar anf_fun202 = $ans198;\n$step196 = 1;\n$al199 = L[31];\nif(typeof(anf_fun202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al199,anf_fun202);\n}\n$ans198 = anf_fun202.app();\nbreak;\ncase 1: var anf_arg203 = $ans198;\n// caller optimization;\n$ans198 = raw$array$to$list4.app(anf_arg203);\n$step196 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans198;\ndefault: R.ffi.throwSpinnakerError(L[29],$step196);\n}\n}\nif($step196 !== 2) {\n$ans198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al199,$temp_lam197,$step196,[],[],$elidedFrames201);\n}\nreturn $ans198;\n};\nvar anf_obj266 = R.mF($temp_lam197,\"\");\nvar $temp_lam206 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__32($a207) {\nvar $step205 = 0;\nvar $elidedFrames211 = 0;\nvar $ans208 = D;\nvar $al209 = L[32];\nif(R.isAR($a207)) {\n$step205 = $a207.step;\n$al209 = $a207.from;\n$ans208 = $a207.ans;\n$elidedFrames211 = $a207.elidedFrames;\na207 = $a207.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],1,$t,false);\n}\nvar a207 = $a207;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans208 = R.mC();\n}\nwhile(!R.isContinuation($ans208)) {\nswitch($step205) {\ncase 0: $ans208 = R.getMaker1(raw$array2,(\"make1\"),L[33],L[34]);\nvar anf_fun212 = $ans208;\n$step205 = 1;\n$al209 = L[34];\nif(typeof(anf_fun212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al209,anf_fun212);\n}\n$ans208 = anf_fun212.app(a207);\nbreak;\ncase 1: var anf_arg213 = $ans208;\n// caller optimization;\n$ans208 = raw$array$to$list4.app(anf_arg213);\n$step205 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans208;\ndefault: R.ffi.throwSpinnakerError(L[32],$step205);\n}\n}\nif($step205 !== 2) {\n$ans208.stack[R.EXN_STACKHEIGHT++] = R.mAR($al209,$temp_lam206,$step205,[a207],[],$elidedFrames211);\n}\nreturn $ans208;\n};\nvar anf_obj267 = R.mF($temp_lam206,\"\");\nvar $temp_lam216 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__35($a217,$b218) {\nvar $step215 = 0;\nvar $elidedFrames222 = 0;\nvar $ans219 = D;\nvar $al220 = L[35];\nif(R.isAR($a217)) {\n$step215 = $a217.step;\n$al220 = $a217.from;\n$ans219 = $a217.ans;\n$elidedFrames222 = $a217.elidedFrames;\na217 = $a217.args[0];\nb218 = $a217.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[35],2,$t,false);\n}\nvar a217 = $a217;\nvar b218 = $b218;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans219 = R.mC();\n}\nwhile(!R.isContinuation($ans219)) {\nswitch($step215) {\ncase 0: $ans219 = R.getMaker2(raw$array2,(\"make2\"),L[36],L[37]);\nvar anf_fun223 = $ans219;\n$step215 = 1;\n$al220 = L[37];\nif(typeof(anf_fun223.app) !== \"function\") {\nR.ffi.throwNonFunApp($al220,anf_fun223);\n}\n$ans219 = anf_fun223.app(a217,b218);\nbreak;\ncase 1: var anf_arg224 = $ans219;\n// caller optimization;\n$ans219 = raw$array$to$list4.app(anf_arg224);\n$step215 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans219;\ndefault: R.ffi.throwSpinnakerError(L[35],$step215);\n}\n}\nif($step215 !== 2) {\n$ans219.stack[R.EXN_STACKHEIGHT++] = R.mAR($al220,$temp_lam216,$step215,[a217,b218],[],$elidedFrames222);\n}\nreturn $ans219;\n};\nvar anf_obj268 = R.mF($temp_lam216,\"\");\nvar $temp_lam227 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__38($a228,$b229,$c230) {\nvar $step226 = 0;\nvar $elidedFrames234 = 0;\nvar $ans231 = D;\nvar $al232 = L[38];\nif(R.isAR($a228)) {\n$step226 = $a228.step;\n$al232 = $a228.from;\n$ans231 = $a228.ans;\n$elidedFrames234 = $a228.elidedFrames;\na228 = $a228.args[0];\nb229 = $a228.args[1];\nc230 = $a228.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],3,$t,false);\n}\nvar a228 = $a228;\nvar b229 = $b229;\nvar c230 = $c230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans231 = R.mC();\n}\nwhile(!R.isContinuation($ans231)) {\nswitch($step226) {\ncase 0: $ans231 = R.getMaker3(raw$array2,(\"make3\"),L[39],L[40]);\nvar anf_fun235 = $ans231;\n$step226 = 1;\n$al232 = L[40];\nif(typeof(anf_fun235.app) !== \"function\") {\nR.ffi.throwNonFunApp($al232,anf_fun235);\n}\n$ans231 = anf_fun235.app(a228,b229,c230);\nbreak;\ncase 1: var anf_arg236 = $ans231;\n// caller optimization;\n$ans231 = raw$array$to$list4.app(anf_arg236);\n$step226 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans231;\ndefault: R.ffi.throwSpinnakerError(L[38],$step226);\n}\n}\nif($step226 !== 2) {\n$ans231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al232,$temp_lam227,$step226,[a228,b229,c230],[],$elidedFrames234);\n}\nreturn $ans231;\n};\nvar anf_obj269 = R.mF($temp_lam227,\"\");\nvar $temp_lam239 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__41($a240,$b241,$c242,$d243) {\nvar $step238 = 0;\nvar $elidedFrames247 = 0;\nvar $ans244 = D;\nvar $al245 = L[41];\nif(R.isAR($a240)) {\n$step238 = $a240.step;\n$al245 = $a240.from;\n$ans244 = $a240.ans;\n$elidedFrames247 = $a240.elidedFrames;\na240 = $a240.args[0];\nb241 = $a240.args[1];\nc242 = $a240.args[2];\nd243 = $a240.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],4,$t,false);\n}\nvar a240 = $a240;\nvar b241 = $b241;\nvar c242 = $c242;\nvar d243 = $d243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans244 = R.mC();\n}\nwhile(!R.isContinuation($ans244)) {\nswitch($step238) {\ncase 0: $ans244 = R.getMaker4(raw$array2,(\"make4\"),L[42],L[43]);\nvar anf_fun248 = $ans244;\n$step238 = 1;\n$al245 = L[43];\nif(typeof(anf_fun248.app) !== \"function\") {\nR.ffi.throwNonFunApp($al245,anf_fun248);\n}\n$ans244 = anf_fun248.app(a240,b241,c242,d243);\nbreak;\ncase 1: var anf_arg249 = $ans244;\n// caller optimization;\n$ans244 = raw$array$to$list4.app(anf_arg249);\n$step238 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans244;\ndefault: R.ffi.throwSpinnakerError(L[41],$step238);\n}\n}\nif($step238 !== 2) {\n$ans244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al245,$temp_lam239,$step238,[a240,b241,c242,d243],[],$elidedFrames247);\n}\nreturn $ans244;\n};\nvar anf_obj270 = R.mF($temp_lam239,\"\");\nvar $temp_lam252 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__44($a253,$b254,$c255,$d256,$e257) {\nvar $step251 = 0;\nvar $elidedFrames261 = 0;\nvar $ans258 = D;\nvar $al259 = L[44];\nif(R.isAR($a253)) {\n$step251 = $a253.step;\n$al259 = $a253.from;\n$ans258 = $a253.ans;\n$elidedFrames261 = $a253.elidedFrames;\na253 = $a253.args[0];\nb254 = $a253.args[1];\nc255 = $a253.args[2];\nd256 = $a253.args[3];\ne257 = $a253.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],5,$t,false);\n}\nvar a253 = $a253;\nvar b254 = $b254;\nvar c255 = $c255;\nvar d256 = $d256;\nvar e257 = $e257;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans258 = R.mC();\n}\nwhile(!R.isContinuation($ans258)) {\nswitch($step251) {\ncase 0: $ans258 = R.getMaker5(raw$array2,(\"make5\"),L[45],L[46]);\nvar anf_fun262 = $ans258;\n$step251 = 1;\n$al259 = L[46];\nif(typeof(anf_fun262.app) !== \"function\") {\nR.ffi.throwNonFunApp($al259,anf_fun262);\n}\n$ans258 = anf_fun262.app(a253,b254,c255,d256,e257);\nbreak;\ncase 1: var anf_arg263 = $ans258;\n// caller optimization;\n$ans258 = raw$array$to$list4.app(anf_arg263);\n$step251 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans258;\ndefault: R.ffi.throwSpinnakerError(L[44],$step251);\n}\n}\nif($step251 !== 2) {\n$ans258.stack[R.EXN_STACKHEIGHT++] = R.mAR($al259,$temp_lam252,$step251,[a253,b254,c255,d256,e257],[],$elidedFrames261);\n}\nreturn $ans258;\n};\nvar anf_obj271 = R.mF($temp_lam252,\"\");\nvar locs983 = R.mO({\"make\":anf_obj265,\n\"make0\":anf_obj266,\n\"make1\":anf_obj267,\n\"make2\":anf_obj268,\n\"make3\":anf_obj269,\n\"make4\":anf_obj270,\n\"make5\":anf_obj271});\nvar $temp_lam273 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__47($arr274) {\nvar $step272 = 0;\nvar $elidedFrames278 = 0;\nvar $ans275 = D;\nvar $al276 = L[47];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[47],1,$t,false);\n}\nvar arr274 = $arr274;\n// callee optimization;\nwhile(!R.isContinuation($ans275)) {\nswitch($step272) {\ncase 0: // caller optimization;\n$ans275 = raw$array$to$list4.app(arr274);\nvar anf_arg279 = $ans275;\n// caller optimization;\n$ans275 = paragraph135.$var.app(anf_arg279);\n$step272 = 1;\nbreak;\ncase 1: return $ans275;\ndefault: R.ffi.throwSpinnakerError(L[47],$step272);\n}\n}\nreturn $ans275;\n};\nvar anf_obj356 = R.mF($temp_lam273,\"\");\nvar $temp_lam282 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__48($$resumer13) {\nvar $step281 = 0;\nvar $elidedFrames286 = 0;\nvar $ans283 = D;\nvar $al284 = L[48];\nif(R.isAR($$resumer13)) {\n$step281 = $$resumer13.step;\n$al284 = $$resumer13.from;\n$ans283 = $$resumer13.ans;\n$elidedFrames286 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans283 = R.mC();\n}\nwhile(!R.isContinuation($ans283)) {\nswitch($step281) {\ncase 0: $ans283 = R.getMaker0(raw$array2,(\"make0\"),L[49],L[50]);\nvar anf_fun287 = $ans283;\n$step281 = 1;\n$al284 = L[50];\nif(typeof(anf_fun287.app) !== \"function\") {\nR.ffi.throwNonFunApp($al284,anf_fun287);\n}\n$ans283 = anf_fun287.app();\nbreak;\ncase 1: var anf_arg288 = $ans283;\n// caller optimization;\n$ans283 = raw$array$to$list4.app(anf_arg288);\nvar anf_arg289 = $ans283;\n// caller optimization;\n$ans283 = paragraph135.$var.app(anf_arg289);\n$step281 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans283;\ndefault: R.ffi.throwSpinnakerError(L[48],$step281);\n}\n}\nif($step281 !== 2) {\n$ans283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al284,$temp_lam282,$step281,[],[],$elidedFrames286);\n}\nreturn $ans283;\n};\nvar anf_obj357 = R.mF($temp_lam282,\"\");\nvar $temp_lam292 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__51($a293) {\nvar $step291 = 0;\nvar $elidedFrames297 = 0;\nvar $ans294 = D;\nvar $al295 = L[51];\nif(R.isAR($a293)) {\n$step291 = $a293.step;\n$al295 = $a293.from;\n$ans294 = $a293.ans;\n$elidedFrames297 = $a293.elidedFrames;\na293 = $a293.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],1,$t,false);\n}\nvar a293 = $a293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans294 = R.mC();\n}\nwhile(!R.isContinuation($ans294)) {\nswitch($step291) {\ncase 0: $ans294 = R.getMaker1(raw$array2,(\"make1\"),L[52],L[53]);\nvar anf_fun298 = $ans294;\n$step291 = 1;\n$al295 = L[53];\nif(typeof(anf_fun298.app) !== \"function\") {\nR.ffi.throwNonFunApp($al295,anf_fun298);\n}\n$ans294 = anf_fun298.app(a293);\nbreak;\ncase 1: var anf_arg299 = $ans294;\n// caller optimization;\n$ans294 = raw$array$to$list4.app(anf_arg299);\nvar anf_arg300 = $ans294;\n// caller optimization;\n$ans294 = paragraph135.$var.app(anf_arg300);\n$step291 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans294;\ndefault: R.ffi.throwSpinnakerError(L[51],$step291);\n}\n}\nif($step291 !== 2) {\n$ans294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al295,$temp_lam292,$step291,[a293],[],$elidedFrames297);\n}\nreturn $ans294;\n};\nvar anf_obj358 = R.mF($temp_lam292,\"\");\nvar $temp_lam303 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__54($a304,$b305) {\nvar $step302 = 0;\nvar $elidedFrames309 = 0;\nvar $ans306 = D;\nvar $al307 = L[54];\nif(R.isAR($a304)) {\n$step302 = $a304.step;\n$al307 = $a304.from;\n$ans306 = $a304.ans;\n$elidedFrames309 = $a304.elidedFrames;\na304 = $a304.args[0];\nb305 = $a304.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[54],2,$t,false);\n}\nvar a304 = $a304;\nvar b305 = $b305;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans306 = R.mC();\n}\nwhile(!R.isContinuation($ans306)) {\nswitch($step302) {\ncase 0: $ans306 = R.getMaker2(raw$array2,(\"make2\"),L[55],L[56]);\nvar anf_fun310 = $ans306;\n$step302 = 1;\n$al307 = L[56];\nif(typeof(anf_fun310.app) !== \"function\") {\nR.ffi.throwNonFunApp($al307,anf_fun310);\n}\n$ans306 = anf_fun310.app(a304,b305);\nbreak;\ncase 1: var anf_arg311 = $ans306;\n// caller optimization;\n$ans306 = raw$array$to$list4.app(anf_arg311);\nvar anf_arg312 = $ans306;\n// caller optimization;\n$ans306 = paragraph135.$var.app(anf_arg312);\n$step302 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans306;\ndefault: R.ffi.throwSpinnakerError(L[54],$step302);\n}\n}\nif($step302 !== 2) {\n$ans306.stack[R.EXN_STACKHEIGHT++] = R.mAR($al307,$temp_lam303,$step302,[a304,b305],[],$elidedFrames309);\n}\nreturn $ans306;\n};\nvar anf_obj359 = R.mF($temp_lam303,\"\");\nvar $temp_lam315 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__57($a316,$b317,$c318) {\nvar $step314 = 0;\nvar $elidedFrames322 = 0;\nvar $ans319 = D;\nvar $al320 = L[57];\nif(R.isAR($a316)) {\n$step314 = $a316.step;\n$al320 = $a316.from;\n$ans319 = $a316.ans;\n$elidedFrames322 = $a316.elidedFrames;\na316 = $a316.args[0];\nb317 = $a316.args[1];\nc318 = $a316.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],3,$t,false);\n}\nvar a316 = $a316;\nvar b317 = $b317;\nvar c318 = $c318;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans319 = R.mC();\n}\nwhile(!R.isContinuation($ans319)) {\nswitch($step314) {\ncase 0: $ans319 = R.getMaker3(raw$array2,(\"make3\"),L[58],L[59]);\nvar anf_fun323 = $ans319;\n$step314 = 1;\n$al320 = L[59];\nif(typeof(anf_fun323.app) !== \"function\") {\nR.ffi.throwNonFunApp($al320,anf_fun323);\n}\n$ans319 = anf_fun323.app(a316,b317,c318);\nbreak;\ncase 1: var anf_arg324 = $ans319;\n// caller optimization;\n$ans319 = raw$array$to$list4.app(anf_arg324);\nvar anf_arg325 = $ans319;\n// caller optimization;\n$ans319 = paragraph135.$var.app(anf_arg325);\n$step314 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans319;\ndefault: R.ffi.throwSpinnakerError(L[57],$step314);\n}\n}\nif($step314 !== 2) {\n$ans319.stack[R.EXN_STACKHEIGHT++] = R.mAR($al320,$temp_lam315,$step314,[a316,b317,c318],[],$elidedFrames322);\n}\nreturn $ans319;\n};\nvar anf_obj360 = R.mF($temp_lam315,\"\");\nvar $temp_lam328 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__60($a329,$b330,$c331,$d332) {\nvar $step327 = 0;\nvar $elidedFrames336 = 0;\nvar $ans333 = D;\nvar $al334 = L[60];\nif(R.isAR($a329)) {\n$step327 = $a329.step;\n$al334 = $a329.from;\n$ans333 = $a329.ans;\n$elidedFrames336 = $a329.elidedFrames;\na329 = $a329.args[0];\nb330 = $a329.args[1];\nc331 = $a329.args[2];\nd332 = $a329.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],4,$t,false);\n}\nvar a329 = $a329;\nvar b330 = $b330;\nvar c331 = $c331;\nvar d332 = $d332;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans333 = R.mC();\n}\nwhile(!R.isContinuation($ans333)) {\nswitch($step327) {\ncase 0: $ans333 = R.getMaker4(raw$array2,(\"make4\"),L[61],L[62]);\nvar anf_fun337 = $ans333;\n$step327 = 1;\n$al334 = L[62];\nif(typeof(anf_fun337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun337);\n}\n$ans333 = anf_fun337.app(a329,b330,c331,d332);\nbreak;\ncase 1: var anf_arg338 = $ans333;\n// caller optimization;\n$ans333 = raw$array$to$list4.app(anf_arg338);\nvar anf_arg339 = $ans333;\n// caller optimization;\n$ans333 = paragraph135.$var.app(anf_arg339);\n$step327 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans333;\ndefault: R.ffi.throwSpinnakerError(L[60],$step327);\n}\n}\nif($step327 !== 2) {\n$ans333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al334,$temp_lam328,$step327,[a329,b330,c331,d332],[],$elidedFrames336);\n}\nreturn $ans333;\n};\nvar anf_obj361 = R.mF($temp_lam328,\"\");\nvar $temp_lam342 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__63($a343,$b344,$c345,$d346,$e347) {\nvar $step341 = 0;\nvar $elidedFrames351 = 0;\nvar $ans348 = D;\nvar $al349 = L[63];\nif(R.isAR($a343)) {\n$step341 = $a343.step;\n$al349 = $a343.from;\n$ans348 = $a343.ans;\n$elidedFrames351 = $a343.elidedFrames;\na343 = $a343.args[0];\nb344 = $a343.args[1];\nc345 = $a343.args[2];\nd346 = $a343.args[3];\ne347 = $a343.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[63],5,$t,false);\n}\nvar a343 = $a343;\nvar b344 = $b344;\nvar c345 = $c345;\nvar d346 = $d346;\nvar e347 = $e347;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans348 = R.mC();\n}\nwhile(!R.isContinuation($ans348)) {\nswitch($step341) {\ncase 0: $ans348 = R.getMaker5(raw$array2,(\"make5\"),L[64],L[65]);\nvar anf_fun352 = $ans348;\n$step341 = 1;\n$al349 = L[65];\nif(typeof(anf_fun352.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun352);\n}\n$ans348 = anf_fun352.app(a343,b344,c345,d346,e347);\nbreak;\ncase 1: var anf_arg353 = $ans348;\n// caller optimization;\n$ans348 = raw$array$to$list4.app(anf_arg353);\nvar anf_arg354 = $ans348;\n// caller optimization;\n$ans348 = paragraph135.$var.app(anf_arg354);\n$step341 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans348;\ndefault: R.ffi.throwSpinnakerError(L[63],$step341);\n}\n}\nif($step341 !== 2) {\n$ans348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al349,$temp_lam342,$step341,[a343,b344,c345,d346,e347],[],$elidedFrames351);\n}\nreturn $ans348;\n};\nvar anf_obj362 = R.mF($temp_lam342,\"\");\nvar para979 = R.mO({\"make\":anf_obj356,\n\"make0\":anf_obj357,\n\"make1\":anf_obj358,\n\"make2\":anf_obj359,\n\"make3\":anf_obj360,\n\"make4\":anf_obj361,\n\"make5\":anf_obj362});\nvar $temp_lam364 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__66($arr365) {\nvar $step363 = 0;\nvar $elidedFrames369 = 0;\nvar $ans366 = D;\nvar $al367 = L[66];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],1,$t,false);\n}\nvar arr365 = $arr365;\n// callee optimization;\nwhile(!R.isContinuation($ans366)) {\nswitch($step363) {\ncase 0: // caller optimization;\n$ans366 = raw$array$to$list4.app(arr365);\nvar anf_arg370 = $ans366;\n// caller optimization;\n$ans366 = h$sequence147.$var.app(anf_arg370,(\" \"));\n$step363 = 1;\nbreak;\ncase 1: return $ans366;\ndefault: R.ffi.throwSpinnakerError(L[66],$step363);\n}\n}\nreturn $ans366;\n};\nvar anf_obj447 = R.mF($temp_lam364,\"\");\nvar $temp_lam373 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__67($$resumer13) {\nvar $step372 = 0;\nvar $elidedFrames377 = 0;\nvar $ans374 = D;\nvar $al375 = L[67];\nif(R.isAR($$resumer13)) {\n$step372 = $$resumer13.step;\n$al375 = $$resumer13.from;\n$ans374 = $$resumer13.ans;\n$elidedFrames377 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[67],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans374 = R.mC();\n}\nwhile(!R.isContinuation($ans374)) {\nswitch($step372) {\ncase 0: $ans374 = R.getMaker0(raw$array2,(\"make0\"),L[68],L[69]);\nvar anf_fun378 = $ans374;\n$step372 = 1;\n$al375 = L[69];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al375,anf_fun378);\n}\n$ans374 = anf_fun378.app();\nbreak;\ncase 1: var anf_arg379 = $ans374;\n// caller optimization;\n$ans374 = raw$array$to$list4.app(anf_arg379);\nvar anf_arg380 = $ans374;\n// caller optimization;\n$ans374 = h$sequence147.$var.app(anf_arg380,(\" \"));\n$step372 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans374;\ndefault: R.ffi.throwSpinnakerError(L[67],$step372);\n}\n}\nif($step372 !== 2) {\n$ans374.stack[R.EXN_STACKHEIGHT++] = R.mAR($al375,$temp_lam373,$step372,[],[],$elidedFrames377);\n}\nreturn $ans374;\n};\nvar anf_obj448 = R.mF($temp_lam373,\"\");\nvar $temp_lam383 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__70($a384) {\nvar $step382 = 0;\nvar $elidedFrames388 = 0;\nvar $ans385 = D;\nvar $al386 = L[70];\nif(R.isAR($a384)) {\n$step382 = $a384.step;\n$al386 = $a384.from;\n$ans385 = $a384.ans;\n$elidedFrames388 = $a384.elidedFrames;\na384 = $a384.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[70],1,$t,false);\n}\nvar a384 = $a384;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans385 = R.mC();\n}\nwhile(!R.isContinuation($ans385)) {\nswitch($step382) {\ncase 0: $ans385 = R.getMaker1(raw$array2,(\"make1\"),L[71],L[72]);\nvar anf_fun389 = $ans385;\n$step382 = 1;\n$al386 = L[72];\nif(typeof(anf_fun389.app) !== \"function\") {\nR.ffi.throwNonFunApp($al386,anf_fun389);\n}\n$ans385 = anf_fun389.app(a384);\nbreak;\ncase 1: var anf_arg390 = $ans385;\n// caller optimization;\n$ans385 = raw$array$to$list4.app(anf_arg390);\nvar anf_arg391 = $ans385;\n// caller optimization;\n$ans385 = h$sequence147.$var.app(anf_arg391,(\" \"));\n$step382 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans385;\ndefault: R.ffi.throwSpinnakerError(L[70],$step382);\n}\n}\nif($step382 !== 2) {\n$ans385.stack[R.EXN_STACKHEIGHT++] = R.mAR($al386,$temp_lam383,$step382,[a384],[],$elidedFrames388);\n}\nreturn $ans385;\n};\nvar anf_obj449 = R.mF($temp_lam383,\"\");\nvar $temp_lam394 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__73($a395,$b396) {\nvar $step393 = 0;\nvar $elidedFrames400 = 0;\nvar $ans397 = D;\nvar $al398 = L[73];\nif(R.isAR($a395)) {\n$step393 = $a395.step;\n$al398 = $a395.from;\n$ans397 = $a395.ans;\n$elidedFrames400 = $a395.elidedFrames;\na395 = $a395.args[0];\nb396 = $a395.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],2,$t,false);\n}\nvar a395 = $a395;\nvar b396 = $b396;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans397 = R.mC();\n}\nwhile(!R.isContinuation($ans397)) {\nswitch($step393) {\ncase 0: $ans397 = R.getMaker2(raw$array2,(\"make2\"),L[74],L[75]);\nvar anf_fun401 = $ans397;\n$step393 = 1;\n$al398 = L[75];\nif(typeof(anf_fun401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al398,anf_fun401);\n}\n$ans397 = anf_fun401.app(a395,b396);\nbreak;\ncase 1: var anf_arg402 = $ans397;\n// caller optimization;\n$ans397 = raw$array$to$list4.app(anf_arg402);\nvar anf_arg403 = $ans397;\n// caller optimization;\n$ans397 = h$sequence147.$var.app(anf_arg403,(\" \"));\n$step393 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans397;\ndefault: R.ffi.throwSpinnakerError(L[73],$step393);\n}\n}\nif($step393 !== 2) {\n$ans397.stack[R.EXN_STACKHEIGHT++] = R.mAR($al398,$temp_lam394,$step393,[a395,b396],[],$elidedFrames400);\n}\nreturn $ans397;\n};\nvar anf_obj450 = R.mF($temp_lam394,\"\");\nvar $temp_lam406 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__76($a407,$b408,$c409) {\nvar $step405 = 0;\nvar $elidedFrames413 = 0;\nvar $ans410 = D;\nvar $al411 = L[76];\nif(R.isAR($a407)) {\n$step405 = $a407.step;\n$al411 = $a407.from;\n$ans410 = $a407.ans;\n$elidedFrames413 = $a407.elidedFrames;\na407 = $a407.args[0];\nb408 = $a407.args[1];\nc409 = $a407.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[76],3,$t,false);\n}\nvar a407 = $a407;\nvar b408 = $b408;\nvar c409 = $c409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans410 = R.mC();\n}\nwhile(!R.isContinuation($ans410)) {\nswitch($step405) {\ncase 0: $ans410 = R.getMaker3(raw$array2,(\"make3\"),L[77],L[78]);\nvar anf_fun414 = $ans410;\n$step405 = 1;\n$al411 = L[78];\nif(typeof(anf_fun414.app) !== \"function\") {\nR.ffi.throwNonFunApp($al411,anf_fun414);\n}\n$ans410 = anf_fun414.app(a407,b408,c409);\nbreak;\ncase 1: var anf_arg415 = $ans410;\n// caller optimization;\n$ans410 = raw$array$to$list4.app(anf_arg415);\nvar anf_arg416 = $ans410;\n// caller optimization;\n$ans410 = h$sequence147.$var.app(anf_arg416,(\" \"));\n$step405 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans410;\ndefault: R.ffi.throwSpinnakerError(L[76],$step405);\n}\n}\nif($step405 !== 2) {\n$ans410.stack[R.EXN_STACKHEIGHT++] = R.mAR($al411,$temp_lam406,$step405,[a407,b408,c409],[],$elidedFrames413);\n}\nreturn $ans410;\n};\nvar anf_obj451 = R.mF($temp_lam406,\"\");\nvar $temp_lam419 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__79($a420,$b421,$c422,$d423) {\nvar $step418 = 0;\nvar $elidedFrames427 = 0;\nvar $ans424 = D;\nvar $al425 = L[79];\nif(R.isAR($a420)) {\n$step418 = $a420.step;\n$al425 = $a420.from;\n$ans424 = $a420.ans;\n$elidedFrames427 = $a420.elidedFrames;\na420 = $a420.args[0];\nb421 = $a420.args[1];\nc422 = $a420.args[2];\nd423 = $a420.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],4,$t,false);\n}\nvar a420 = $a420;\nvar b421 = $b421;\nvar c422 = $c422;\nvar d423 = $d423;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans424 = R.mC();\n}\nwhile(!R.isContinuation($ans424)) {\nswitch($step418) {\ncase 0: $ans424 = R.getMaker4(raw$array2,(\"make4\"),L[80],L[81]);\nvar anf_fun428 = $ans424;\n$step418 = 1;\n$al425 = L[81];\nif(typeof(anf_fun428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al425,anf_fun428);\n}\n$ans424 = anf_fun428.app(a420,b421,c422,d423);\nbreak;\ncase 1: var anf_arg429 = $ans424;\n// caller optimization;\n$ans424 = raw$array$to$list4.app(anf_arg429);\nvar anf_arg430 = $ans424;\n// caller optimization;\n$ans424 = h$sequence147.$var.app(anf_arg430,(\" \"));\n$step418 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans424;\ndefault: R.ffi.throwSpinnakerError(L[79],$step418);\n}\n}\nif($step418 !== 2) {\n$ans424.stack[R.EXN_STACKHEIGHT++] = R.mAR($al425,$temp_lam419,$step418,[a420,b421,c422,d423],[],$elidedFrames427);\n}\nreturn $ans424;\n};\nvar anf_obj452 = R.mF($temp_lam419,\"\");\nvar $temp_lam433 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__82($a434,$b435,$c436,$d437,$e438) {\nvar $step432 = 0;\nvar $elidedFrames442 = 0;\nvar $ans439 = D;\nvar $al440 = L[82];\nif(R.isAR($a434)) {\n$step432 = $a434.step;\n$al440 = $a434.from;\n$ans439 = $a434.ans;\n$elidedFrames442 = $a434.elidedFrames;\na434 = $a434.args[0];\nb435 = $a434.args[1];\nc436 = $a434.args[2];\nd437 = $a434.args[3];\ne438 = $a434.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[82],5,$t,false);\n}\nvar a434 = $a434;\nvar b435 = $b435;\nvar c436 = $c436;\nvar d437 = $d437;\nvar e438 = $e438;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans439 = R.mC();\n}\nwhile(!R.isContinuation($ans439)) {\nswitch($step432) {\ncase 0: $ans439 = R.getMaker5(raw$array2,(\"make5\"),L[83],L[84]);\nvar anf_fun443 = $ans439;\n$step432 = 1;\n$al440 = L[84];\nif(typeof(anf_fun443.app) !== \"function\") {\nR.ffi.throwNonFunApp($al440,anf_fun443);\n}\n$ans439 = anf_fun443.app(a434,b435,c436,d437,e438);\nbreak;\ncase 1: var anf_arg444 = $ans439;\n// caller optimization;\n$ans439 = raw$array$to$list4.app(anf_arg444);\nvar anf_arg445 = $ans439;\n// caller optimization;\n$ans439 = h$sequence147.$var.app(anf_arg445,(\" \"));\n$step432 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans439;\ndefault: R.ffi.throwSpinnakerError(L[82],$step432);\n}\n}\nif($step432 !== 2) {\n$ans439.stack[R.EXN_STACKHEIGHT++] = R.mAR($al440,$temp_lam433,$step432,[a434,b435,c436,d437,e438],[],$elidedFrames442);\n}\nreturn $ans439;\n};\nvar anf_obj453 = R.mF($temp_lam433,\"\");\nvar sequence545 = R.mO({\"make\":anf_obj447,\n\"make0\":anf_obj448,\n\"make1\":anf_obj449,\n\"make2\":anf_obj450,\n\"make3\":anf_obj451,\n\"make4\":anf_obj452,\n\"make5\":anf_obj453});\nvar $temp_lam455 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__85($arr456) {\nvar $step454 = 0;\nvar $elidedFrames460 = 0;\nvar $ans457 = D;\nvar $al458 = L[85];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[85],1,$t,false);\n}\nvar arr456 = $arr456;\n// callee optimization;\nwhile(!R.isContinuation($ans457)) {\nswitch($step454) {\ncase 0: // caller optimization;\n$ans457 = raw$array$to$list4.app(arr456);\nvar anf_arg461 = $ans457;\n// caller optimization;\n$ans457 = v$sequence143.$var.app(anf_arg461);\n$step454 = 1;\nbreak;\ncase 1: return $ans457;\ndefault: R.ffi.throwSpinnakerError(L[85],$step454);\n}\n}\nreturn $ans457;\n};\nvar anf_obj538 = R.mF($temp_lam455,\"\");\nvar $temp_lam464 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__86($$resumer13) {\nvar $step463 = 0;\nvar $elidedFrames468 = 0;\nvar $ans465 = D;\nvar $al466 = L[86];\nif(R.isAR($$resumer13)) {\n$step463 = $$resumer13.step;\n$al466 = $$resumer13.from;\n$ans465 = $$resumer13.ans;\n$elidedFrames468 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[86],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans465 = R.mC();\n}\nwhile(!R.isContinuation($ans465)) {\nswitch($step463) {\ncase 0: $ans465 = R.getMaker0(raw$array2,(\"make0\"),L[87],L[88]);\nvar anf_fun469 = $ans465;\n$step463 = 1;\n$al466 = L[88];\nif(typeof(anf_fun469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al466,anf_fun469);\n}\n$ans465 = anf_fun469.app();\nbreak;\ncase 1: var anf_arg470 = $ans465;\n// caller optimization;\n$ans465 = raw$array$to$list4.app(anf_arg470);\nvar anf_arg471 = $ans465;\n// caller optimization;\n$ans465 = v$sequence143.$var.app(anf_arg471);\n$step463 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans465;\ndefault: R.ffi.throwSpinnakerError(L[86],$step463);\n}\n}\nif($step463 !== 2) {\n$ans465.stack[R.EXN_STACKHEIGHT++] = R.mAR($al466,$temp_lam464,$step463,[],[],$elidedFrames468);\n}\nreturn $ans465;\n};\nvar anf_obj539 = R.mF($temp_lam464,\"\");\nvar $temp_lam474 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__89($a475) {\nvar $step473 = 0;\nvar $elidedFrames479 = 0;\nvar $ans476 = D;\nvar $al477 = L[89];\nif(R.isAR($a475)) {\n$step473 = $a475.step;\n$al477 = $a475.from;\n$ans476 = $a475.ans;\n$elidedFrames479 = $a475.elidedFrames;\na475 = $a475.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[89],1,$t,false);\n}\nvar a475 = $a475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans476 = R.mC();\n}\nwhile(!R.isContinuation($ans476)) {\nswitch($step473) {\ncase 0: $ans476 = R.getMaker1(raw$array2,(\"make1\"),L[90],L[91]);\nvar anf_fun480 = $ans476;\n$step473 = 1;\n$al477 = L[91];\nif(typeof(anf_fun480.app) !== \"function\") {\nR.ffi.throwNonFunApp($al477,anf_fun480);\n}\n$ans476 = anf_fun480.app(a475);\nbreak;\ncase 1: var anf_arg481 = $ans476;\n// caller optimization;\n$ans476 = raw$array$to$list4.app(anf_arg481);\nvar anf_arg482 = $ans476;\n// caller optimization;\n$ans476 = v$sequence143.$var.app(anf_arg482);\n$step473 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans476;\ndefault: R.ffi.throwSpinnakerError(L[89],$step473);\n}\n}\nif($step473 !== 2) {\n$ans476.stack[R.EXN_STACKHEIGHT++] = R.mAR($al477,$temp_lam474,$step473,[a475],[],$elidedFrames479);\n}\nreturn $ans476;\n};\nvar anf_obj540 = R.mF($temp_lam474,\"\");\nvar $temp_lam485 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__92($a486,$b487) {\nvar $step484 = 0;\nvar $elidedFrames491 = 0;\nvar $ans488 = D;\nvar $al489 = L[92];\nif(R.isAR($a486)) {\n$step484 = $a486.step;\n$al489 = $a486.from;\n$ans488 = $a486.ans;\n$elidedFrames491 = $a486.elidedFrames;\na486 = $a486.args[0];\nb487 = $a486.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],2,$t,false);\n}\nvar a486 = $a486;\nvar b487 = $b487;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans488 = R.mC();\n}\nwhile(!R.isContinuation($ans488)) {\nswitch($step484) {\ncase 0: $ans488 = R.getMaker2(raw$array2,(\"make2\"),L[93],L[94]);\nvar anf_fun492 = $ans488;\n$step484 = 1;\n$al489 = L[94];\nif(typeof(anf_fun492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al489,anf_fun492);\n}\n$ans488 = anf_fun492.app(a486,b487);\nbreak;\ncase 1: var anf_arg493 = $ans488;\n// caller optimization;\n$ans488 = raw$array$to$list4.app(anf_arg493);\nvar anf_arg494 = $ans488;\n// caller optimization;\n$ans488 = v$sequence143.$var.app(anf_arg494);\n$step484 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans488;\ndefault: R.ffi.throwSpinnakerError(L[92],$step484);\n}\n}\nif($step484 !== 2) {\n$ans488.stack[R.EXN_STACKHEIGHT++] = R.mAR($al489,$temp_lam485,$step484,[a486,b487],[],$elidedFrames491);\n}\nreturn $ans488;\n};\nvar anf_obj541 = R.mF($temp_lam485,\"\");\nvar $temp_lam497 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__95($a498,$b499,$c500) {\nvar $step496 = 0;\nvar $elidedFrames504 = 0;\nvar $ans501 = D;\nvar $al502 = L[95];\nif(R.isAR($a498)) {\n$step496 = $a498.step;\n$al502 = $a498.from;\n$ans501 = $a498.ans;\n$elidedFrames504 = $a498.elidedFrames;\na498 = $a498.args[0];\nb499 = $a498.args[1];\nc500 = $a498.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[95],3,$t,false);\n}\nvar a498 = $a498;\nvar b499 = $b499;\nvar c500 = $c500;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans501 = R.mC();\n}\nwhile(!R.isContinuation($ans501)) {\nswitch($step496) {\ncase 0: $ans501 = R.getMaker3(raw$array2,(\"make3\"),L[96],L[97]);\nvar anf_fun505 = $ans501;\n$step496 = 1;\n$al502 = L[97];\nif(typeof(anf_fun505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al502,anf_fun505);\n}\n$ans501 = anf_fun505.app(a498,b499,c500);\nbreak;\ncase 1: var anf_arg506 = $ans501;\n// caller optimization;\n$ans501 = raw$array$to$list4.app(anf_arg506);\nvar anf_arg507 = $ans501;\n// caller optimization;\n$ans501 = v$sequence143.$var.app(anf_arg507);\n$step496 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans501;\ndefault: R.ffi.throwSpinnakerError(L[95],$step496);\n}\n}\nif($step496 !== 2) {\n$ans501.stack[R.EXN_STACKHEIGHT++] = R.mAR($al502,$temp_lam497,$step496,[a498,b499,c500],[],$elidedFrames504);\n}\nreturn $ans501;\n};\nvar anf_obj542 = R.mF($temp_lam497,\"\");\nvar $temp_lam510 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__98($a511,$b512,$c513,$d514) {\nvar $step509 = 0;\nvar $elidedFrames518 = 0;\nvar $ans515 = D;\nvar $al516 = L[98];\nif(R.isAR($a511)) {\n$step509 = $a511.step;\n$al516 = $a511.from;\n$ans515 = $a511.ans;\n$elidedFrames518 = $a511.elidedFrames;\na511 = $a511.args[0];\nb512 = $a511.args[1];\nc513 = $a511.args[2];\nd514 = $a511.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[98],4,$t,false);\n}\nvar a511 = $a511;\nvar b512 = $b512;\nvar c513 = $c513;\nvar d514 = $d514;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans515 = R.mC();\n}\nwhile(!R.isContinuation($ans515)) {\nswitch($step509) {\ncase 0: $ans515 = R.getMaker4(raw$array2,(\"make4\"),L[99],L[100]);\nvar anf_fun519 = $ans515;\n$step509 = 1;\n$al516 = L[100];\nif(typeof(anf_fun519.app) !== \"function\") {\nR.ffi.throwNonFunApp($al516,anf_fun519);\n}\n$ans515 = anf_fun519.app(a511,b512,c513,d514);\nbreak;\ncase 1: var anf_arg520 = $ans515;\n// caller optimization;\n$ans515 = raw$array$to$list4.app(anf_arg520);\nvar anf_arg521 = $ans515;\n// caller optimization;\n$ans515 = v$sequence143.$var.app(anf_arg521);\n$step509 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans515;\ndefault: R.ffi.throwSpinnakerError(L[98],$step509);\n}\n}\nif($step509 !== 2) {\n$ans515.stack[R.EXN_STACKHEIGHT++] = R.mAR($al516,$temp_lam510,$step509,[a511,b512,c513,d514],[],$elidedFrames518);\n}\nreturn $ans515;\n};\nvar anf_obj543 = R.mF($temp_lam510,\"\");\nvar $temp_lam524 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__101($a525,$b526,$c527,$d528,$e529) {\nvar $step523 = 0;\nvar $elidedFrames533 = 0;\nvar $ans530 = D;\nvar $al531 = L[101];\nif(R.isAR($a525)) {\n$step523 = $a525.step;\n$al531 = $a525.from;\n$ans530 = $a525.ans;\n$elidedFrames533 = $a525.elidedFrames;\na525 = $a525.args[0];\nb526 = $a525.args[1];\nc527 = $a525.args[2];\nd528 = $a525.args[3];\ne529 = $a525.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[101],5,$t,false);\n}\nvar a525 = $a525;\nvar b526 = $b526;\nvar c527 = $c527;\nvar d528 = $d528;\nvar e529 = $e529;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans530 = R.mC();\n}\nwhile(!R.isContinuation($ans530)) {\nswitch($step523) {\ncase 0: $ans530 = R.getMaker5(raw$array2,(\"make5\"),L[102],L[103]);\nvar anf_fun534 = $ans530;\n$step523 = 1;\n$al531 = L[103];\nif(typeof(anf_fun534.app) !== \"function\") {\nR.ffi.throwNonFunApp($al531,anf_fun534);\n}\n$ans530 = anf_fun534.app(a525,b526,c527,d528,e529);\nbreak;\ncase 1: var anf_arg535 = $ans530;\n// caller optimization;\n$ans530 = raw$array$to$list4.app(anf_arg535);\nvar anf_arg536 = $ans530;\n// caller optimization;\n$ans530 = v$sequence143.$var.app(anf_arg536);\n$step523 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans530;\ndefault: R.ffi.throwSpinnakerError(L[101],$step523);\n}\n}\nif($step523 !== 2) {\n$ans530.stack[R.EXN_STACKHEIGHT++] = R.mAR($al531,$temp_lam524,$step523,[a525,b526,c527,d528,e529],[],$elidedFrames533);\n}\nreturn $ans530;\n};\nvar anf_obj544 = R.mF($temp_lam524,\"\");\nvar vert982 = R.mO({\"make\":anf_obj538,\n\"make0\":anf_obj539,\n\"make1\":anf_obj540,\n\"make2\":anf_obj541,\n\"make3\":anf_obj542,\n\"make4\":anf_obj543,\n\"make5\":anf_obj544});\nvar error981 = sequence545;\nvar $temp_lam547 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__104($arr548) {\nvar $step546 = 0;\nvar $elidedFrames552 = 0;\nvar $ans549 = D;\nvar $al550 = L[104];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[104],1,$t,false);\n}\nvar arr548 = $arr548;\n// callee optimization;\nwhile(!R.isContinuation($ans549)) {\nswitch($step546) {\ncase 0: // caller optimization;\n$ans549 = raw$array$to$list4.app(arr548);\nvar anf_arg553 = $ans549;\n// caller optimization;\n$ans549 = h$sequence147.$var.app(anf_arg553,(\"\"));\n$step546 = 1;\nbreak;\ncase 1: return $ans549;\ndefault: R.ffi.throwSpinnakerError(L[104],$step546);\n}\n}\nreturn $ans549;\n};\nvar anf_obj630 = R.mF($temp_lam547,\"\");\nvar $temp_lam556 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__105($$resumer13) {\nvar $step555 = 0;\nvar $elidedFrames560 = 0;\nvar $ans557 = D;\nvar $al558 = L[105];\nif(R.isAR($$resumer13)) {\n$step555 = $$resumer13.step;\n$al558 = $$resumer13.from;\n$ans557 = $$resumer13.ans;\n$elidedFrames560 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[105],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans557 = R.mC();\n}\nwhile(!R.isContinuation($ans557)) {\nswitch($step555) {\ncase 0: $ans557 = R.getMaker0(raw$array2,(\"make0\"),L[106],L[107]);\nvar anf_fun561 = $ans557;\n$step555 = 1;\n$al558 = L[107];\nif(typeof(anf_fun561.app) !== \"function\") {\nR.ffi.throwNonFunApp($al558,anf_fun561);\n}\n$ans557 = anf_fun561.app();\nbreak;\ncase 1: var anf_arg562 = $ans557;\n// caller optimization;\n$ans557 = raw$array$to$list4.app(anf_arg562);\nvar anf_arg563 = $ans557;\n// caller optimization;\n$ans557 = h$sequence147.$var.app(anf_arg563,(\"\"));\n$step555 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans557;\ndefault: R.ffi.throwSpinnakerError(L[105],$step555);\n}\n}\nif($step555 !== 2) {\n$ans557.stack[R.EXN_STACKHEIGHT++] = R.mAR($al558,$temp_lam556,$step555,[],[],$elidedFrames560);\n}\nreturn $ans557;\n};\nvar anf_obj631 = R.mF($temp_lam556,\"\");\nvar $temp_lam566 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__108($a567) {\nvar $step565 = 0;\nvar $elidedFrames571 = 0;\nvar $ans568 = D;\nvar $al569 = L[108];\nif(R.isAR($a567)) {\n$step565 = $a567.step;\n$al569 = $a567.from;\n$ans568 = $a567.ans;\n$elidedFrames571 = $a567.elidedFrames;\na567 = $a567.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],1,$t,false);\n}\nvar a567 = $a567;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans568 = R.mC();\n}\nwhile(!R.isContinuation($ans568)) {\nswitch($step565) {\ncase 0: $ans568 = R.getMaker1(raw$array2,(\"make1\"),L[109],L[110]);\nvar anf_fun572 = $ans568;\n$step565 = 1;\n$al569 = L[110];\nif(typeof(anf_fun572.app) !== \"function\") {\nR.ffi.throwNonFunApp($al569,anf_fun572);\n}\n$ans568 = anf_fun572.app(a567);\nbreak;\ncase 1: var anf_arg573 = $ans568;\n// caller optimization;\n$ans568 = raw$array$to$list4.app(anf_arg573);\nvar anf_arg574 = $ans568;\n// caller optimization;\n$ans568 = h$sequence147.$var.app(anf_arg574,(\"\"));\n$step565 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans568;\ndefault: R.ffi.throwSpinnakerError(L[108],$step565);\n}\n}\nif($step565 !== 2) {\n$ans568.stack[R.EXN_STACKHEIGHT++] = R.mAR($al569,$temp_lam566,$step565,[a567],[],$elidedFrames571);\n}\nreturn $ans568;\n};\nvar anf_obj632 = R.mF($temp_lam566,\"\");\nvar $temp_lam577 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__111($a578,$b579) {\nvar $step576 = 0;\nvar $elidedFrames583 = 0;\nvar $ans580 = D;\nvar $al581 = L[111];\nif(R.isAR($a578)) {\n$step576 = $a578.step;\n$al581 = $a578.from;\n$ans580 = $a578.ans;\n$elidedFrames583 = $a578.elidedFrames;\na578 = $a578.args[0];\nb579 = $a578.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],2,$t,false);\n}\nvar a578 = $a578;\nvar b579 = $b579;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans580 = R.mC();\n}\nwhile(!R.isContinuation($ans580)) {\nswitch($step576) {\ncase 0: $ans580 = R.getMaker2(raw$array2,(\"make2\"),L[112],L[113]);\nvar anf_fun584 = $ans580;\n$step576 = 1;\n$al581 = L[113];\nif(typeof(anf_fun584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al581,anf_fun584);\n}\n$ans580 = anf_fun584.app(a578,b579);\nbreak;\ncase 1: var anf_arg585 = $ans580;\n// caller optimization;\n$ans580 = raw$array$to$list4.app(anf_arg585);\nvar anf_arg586 = $ans580;\n// caller optimization;\n$ans580 = h$sequence147.$var.app(anf_arg586,(\"\"));\n$step576 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans580;\ndefault: R.ffi.throwSpinnakerError(L[111],$step576);\n}\n}\nif($step576 !== 2) {\n$ans580.stack[R.EXN_STACKHEIGHT++] = R.mAR($al581,$temp_lam577,$step576,[a578,b579],[],$elidedFrames583);\n}\nreturn $ans580;\n};\nvar anf_obj633 = R.mF($temp_lam577,\"\");\nvar $temp_lam589 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__114($a590,$b591,$c592) {\nvar $step588 = 0;\nvar $elidedFrames596 = 0;\nvar $ans593 = D;\nvar $al594 = L[114];\nif(R.isAR($a590)) {\n$step588 = $a590.step;\n$al594 = $a590.from;\n$ans593 = $a590.ans;\n$elidedFrames596 = $a590.elidedFrames;\na590 = $a590.args[0];\nb591 = $a590.args[1];\nc592 = $a590.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[114],3,$t,false);\n}\nvar a590 = $a590;\nvar b591 = $b591;\nvar c592 = $c592;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans593 = R.mC();\n}\nwhile(!R.isContinuation($ans593)) {\nswitch($step588) {\ncase 0: $ans593 = R.getMaker3(raw$array2,(\"make3\"),L[115],L[116]);\nvar anf_fun597 = $ans593;\n$step588 = 1;\n$al594 = L[116];\nif(typeof(anf_fun597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al594,anf_fun597);\n}\n$ans593 = anf_fun597.app(a590,b591,c592);\nbreak;\ncase 1: var anf_arg598 = $ans593;\n// caller optimization;\n$ans593 = raw$array$to$list4.app(anf_arg598);\nvar anf_arg599 = $ans593;\n// caller optimization;\n$ans593 = h$sequence147.$var.app(anf_arg599,(\"\"));\n$step588 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans593;\ndefault: R.ffi.throwSpinnakerError(L[114],$step588);\n}\n}\nif($step588 !== 2) {\n$ans593.stack[R.EXN_STACKHEIGHT++] = R.mAR($al594,$temp_lam589,$step588,[a590,b591,c592],[],$elidedFrames596);\n}\nreturn $ans593;\n};\nvar anf_obj634 = R.mF($temp_lam589,\"\");\nvar $temp_lam602 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__117($a603,$b604,$c605,$d606) {\nvar $step601 = 0;\nvar $elidedFrames610 = 0;\nvar $ans607 = D;\nvar $al608 = L[117];\nif(R.isAR($a603)) {\n$step601 = $a603.step;\n$al608 = $a603.from;\n$ans607 = $a603.ans;\n$elidedFrames610 = $a603.elidedFrames;\na603 = $a603.args[0];\nb604 = $a603.args[1];\nc605 = $a603.args[2];\nd606 = $a603.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],4,$t,false);\n}\nvar a603 = $a603;\nvar b604 = $b604;\nvar c605 = $c605;\nvar d606 = $d606;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans607 = R.mC();\n}\nwhile(!R.isContinuation($ans607)) {\nswitch($step601) {\ncase 0: $ans607 = R.getMaker4(raw$array2,(\"make4\"),L[118],L[119]);\nvar anf_fun611 = $ans607;\n$step601 = 1;\n$al608 = L[119];\nif(typeof(anf_fun611.app) !== \"function\") {\nR.ffi.throwNonFunApp($al608,anf_fun611);\n}\n$ans607 = anf_fun611.app(a603,b604,c605,d606);\nbreak;\ncase 1: var anf_arg612 = $ans607;\n// caller optimization;\n$ans607 = raw$array$to$list4.app(anf_arg612);\nvar anf_arg613 = $ans607;\n// caller optimization;\n$ans607 = h$sequence147.$var.app(anf_arg613,(\"\"));\n$step601 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans607;\ndefault: R.ffi.throwSpinnakerError(L[117],$step601);\n}\n}\nif($step601 !== 2) {\n$ans607.stack[R.EXN_STACKHEIGHT++] = R.mAR($al608,$temp_lam602,$step601,[a603,b604,c605,d606],[],$elidedFrames610);\n}\nreturn $ans607;\n};\nvar anf_obj635 = R.mF($temp_lam602,\"\");\nvar $temp_lam616 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__120($a617,$b618,$c619,$d620,$e621) {\nvar $step615 = 0;\nvar $elidedFrames625 = 0;\nvar $ans622 = D;\nvar $al623 = L[120];\nif(R.isAR($a617)) {\n$step615 = $a617.step;\n$al623 = $a617.from;\n$ans622 = $a617.ans;\n$elidedFrames625 = $a617.elidedFrames;\na617 = $a617.args[0];\nb618 = $a617.args[1];\nc619 = $a617.args[2];\nd620 = $a617.args[3];\ne621 = $a617.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[120],5,$t,false);\n}\nvar a617 = $a617;\nvar b618 = $b618;\nvar c619 = $c619;\nvar d620 = $d620;\nvar e621 = $e621;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans622 = R.mC();\n}\nwhile(!R.isContinuation($ans622)) {\nswitch($step615) {\ncase 0: $ans622 = R.getMaker5(raw$array2,(\"make5\"),L[121],L[122]);\nvar anf_fun626 = $ans622;\n$step615 = 1;\n$al623 = L[122];\nif(typeof(anf_fun626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al623,anf_fun626);\n}\n$ans622 = anf_fun626.app(a617,b618,c619,d620,e621);\nbreak;\ncase 1: var anf_arg627 = $ans622;\n// caller optimization;\n$ans622 = raw$array$to$list4.app(anf_arg627);\nvar anf_arg628 = $ans622;\n// caller optimization;\n$ans622 = h$sequence147.$var.app(anf_arg628,(\"\"));\n$step615 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans622;\ndefault: R.ffi.throwSpinnakerError(L[120],$step615);\n}\n}\nif($step615 !== 2) {\n$ans622.stack[R.EXN_STACKHEIGHT++] = R.mAR($al623,$temp_lam616,$step615,[a617,b618,c619,d620,e621],[],$elidedFrames625);\n}\nreturn $ans622;\n};\nvar anf_obj636 = R.mF($temp_lam616,\"\");\nvar para$nospace985 = R.mO({\"make\":anf_obj630,\n\"make0\":anf_obj631,\n\"make1\":anf_obj632,\n\"make2\":anf_obj633,\n\"make3\":anf_obj634,\n\"make4\":anf_obj635,\n\"make5\":anf_obj636});\nvar $temp_lam638 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__123($arr639) {\nvar $step637 = 0;\nvar $elidedFrames643 = 0;\nvar $ans640 = D;\nvar $al641 = L[123];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[123],1,$t,false);\n}\nvar arr639 = $arr639;\n// callee optimization;\nwhile(!R.isContinuation($ans640)) {\nswitch($step637) {\ncase 0: // caller optimization;\n$ans640 = raw$array$to$list4.app(arr639);\nvar anf_arg644 = $ans640;\n// caller optimization;\n$ans640 = bulleted$sequence139.$var.app(anf_arg644);\n$step637 = 1;\nbreak;\ncase 1: return $ans640;\ndefault: R.ffi.throwSpinnakerError(L[123],$step637);\n}\n}\nreturn $ans640;\n};\nvar anf_obj721 = R.mF($temp_lam638,\"\");\nvar $temp_lam647 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__124($$resumer13) {\nvar $step646 = 0;\nvar $elidedFrames651 = 0;\nvar $ans648 = D;\nvar $al649 = L[124];\nif(R.isAR($$resumer13)) {\n$step646 = $$resumer13.step;\n$al649 = $$resumer13.from;\n$ans648 = $$resumer13.ans;\n$elidedFrames651 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans648 = R.mC();\n}\nwhile(!R.isContinuation($ans648)) {\nswitch($step646) {\ncase 0: $ans648 = R.getMaker0(raw$array2,(\"make0\"),L[125],L[126]);\nvar anf_fun652 = $ans648;\n$step646 = 1;\n$al649 = L[126];\nif(typeof(anf_fun652.app) !== \"function\") {\nR.ffi.throwNonFunApp($al649,anf_fun652);\n}\n$ans648 = anf_fun652.app();\nbreak;\ncase 1: var anf_arg653 = $ans648;\n// caller optimization;\n$ans648 = raw$array$to$list4.app(anf_arg653);\nvar anf_arg654 = $ans648;\n// caller optimization;\n$ans648 = bulleted$sequence139.$var.app(anf_arg654);\n$step646 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans648;\ndefault: R.ffi.throwSpinnakerError(L[124],$step646);\n}\n}\nif($step646 !== 2) {\n$ans648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al649,$temp_lam647,$step646,[],[],$elidedFrames651);\n}\nreturn $ans648;\n};\nvar anf_obj722 = R.mF($temp_lam647,\"\");\nvar $temp_lam657 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__127($a658) {\nvar $step656 = 0;\nvar $elidedFrames662 = 0;\nvar $ans659 = D;\nvar $al660 = L[127];\nif(R.isAR($a658)) {\n$step656 = $a658.step;\n$al660 = $a658.from;\n$ans659 = $a658.ans;\n$elidedFrames662 = $a658.elidedFrames;\na658 = $a658.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[127],1,$t,false);\n}\nvar a658 = $a658;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans659 = R.mC();\n}\nwhile(!R.isContinuation($ans659)) {\nswitch($step656) {\ncase 0: $ans659 = R.getMaker1(raw$array2,(\"make1\"),L[128],L[129]);\nvar anf_fun663 = $ans659;\n$step656 = 1;\n$al660 = L[129];\nif(typeof(anf_fun663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al660,anf_fun663);\n}\n$ans659 = anf_fun663.app(a658);\nbreak;\ncase 1: var anf_arg664 = $ans659;\n// caller optimization;\n$ans659 = raw$array$to$list4.app(anf_arg664);\nvar anf_arg665 = $ans659;\n// caller optimization;\n$ans659 = bulleted$sequence139.$var.app(anf_arg665);\n$step656 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans659;\ndefault: R.ffi.throwSpinnakerError(L[127],$step656);\n}\n}\nif($step656 !== 2) {\n$ans659.stack[R.EXN_STACKHEIGHT++] = R.mAR($al660,$temp_lam657,$step656,[a658],[],$elidedFrames662);\n}\nreturn $ans659;\n};\nvar anf_obj723 = R.mF($temp_lam657,\"\");\nvar $temp_lam668 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__130($a669,$b670) {\nvar $step667 = 0;\nvar $elidedFrames674 = 0;\nvar $ans671 = D;\nvar $al672 = L[130];\nif(R.isAR($a669)) {\n$step667 = $a669.step;\n$al672 = $a669.from;\n$ans671 = $a669.ans;\n$elidedFrames674 = $a669.elidedFrames;\na669 = $a669.args[0];\nb670 = $a669.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[130],2,$t,false);\n}\nvar a669 = $a669;\nvar b670 = $b670;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans671 = R.mC();\n}\nwhile(!R.isContinuation($ans671)) {\nswitch($step667) {\ncase 0: $ans671 = R.getMaker2(raw$array2,(\"make2\"),L[131],L[132]);\nvar anf_fun675 = $ans671;\n$step667 = 1;\n$al672 = L[132];\nif(typeof(anf_fun675.app) !== \"function\") {\nR.ffi.throwNonFunApp($al672,anf_fun675);\n}\n$ans671 = anf_fun675.app(a669,b670);\nbreak;\ncase 1: var anf_arg676 = $ans671;\n// caller optimization;\n$ans671 = raw$array$to$list4.app(anf_arg676);\nvar anf_arg677 = $ans671;\n// caller optimization;\n$ans671 = bulleted$sequence139.$var.app(anf_arg677);\n$step667 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans671;\ndefault: R.ffi.throwSpinnakerError(L[130],$step667);\n}\n}\nif($step667 !== 2) {\n$ans671.stack[R.EXN_STACKHEIGHT++] = R.mAR($al672,$temp_lam668,$step667,[a669,b670],[],$elidedFrames674);\n}\nreturn $ans671;\n};\nvar anf_obj724 = R.mF($temp_lam668,\"\");\nvar $temp_lam680 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__133($a681,$b682,$c683) {\nvar $step679 = 0;\nvar $elidedFrames687 = 0;\nvar $ans684 = D;\nvar $al685 = L[133];\nif(R.isAR($a681)) {\n$step679 = $a681.step;\n$al685 = $a681.from;\n$ans684 = $a681.ans;\n$elidedFrames687 = $a681.elidedFrames;\na681 = $a681.args[0];\nb682 = $a681.args[1];\nc683 = $a681.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[133],3,$t,false);\n}\nvar a681 = $a681;\nvar b682 = $b682;\nvar c683 = $c683;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans684 = R.mC();\n}\nwhile(!R.isContinuation($ans684)) {\nswitch($step679) {\ncase 0: $ans684 = R.getMaker3(raw$array2,(\"make3\"),L[134],L[135]);\nvar anf_fun688 = $ans684;\n$step679 = 1;\n$al685 = L[135];\nif(typeof(anf_fun688.app) !== \"function\") {\nR.ffi.throwNonFunApp($al685,anf_fun688);\n}\n$ans684 = anf_fun688.app(a681,b682,c683);\nbreak;\ncase 1: var anf_arg689 = $ans684;\n// caller optimization;\n$ans684 = raw$array$to$list4.app(anf_arg689);\nvar anf_arg690 = $ans684;\n// caller optimization;\n$ans684 = bulleted$sequence139.$var.app(anf_arg690);\n$step679 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans684;\ndefault: R.ffi.throwSpinnakerError(L[133],$step679);\n}\n}\nif($step679 !== 2) {\n$ans684.stack[R.EXN_STACKHEIGHT++] = R.mAR($al685,$temp_lam680,$step679,[a681,b682,c683],[],$elidedFrames687);\n}\nreturn $ans684;\n};\nvar anf_obj725 = R.mF($temp_lam680,\"\");\nvar $temp_lam693 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__136($a694,$b695,$c696,$d697) {\nvar $step692 = 0;\nvar $elidedFrames701 = 0;\nvar $ans698 = D;\nvar $al699 = L[136];\nif(R.isAR($a694)) {\n$step692 = $a694.step;\n$al699 = $a694.from;\n$ans698 = $a694.ans;\n$elidedFrames701 = $a694.elidedFrames;\na694 = $a694.args[0];\nb695 = $a694.args[1];\nc696 = $a694.args[2];\nd697 = $a694.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[136],4,$t,false);\n}\nvar a694 = $a694;\nvar b695 = $b695;\nvar c696 = $c696;\nvar d697 = $d697;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans698 = R.mC();\n}\nwhile(!R.isContinuation($ans698)) {\nswitch($step692) {\ncase 0: $ans698 = R.getMaker4(raw$array2,(\"make4\"),L[137],L[138]);\nvar anf_fun702 = $ans698;\n$step692 = 1;\n$al699 = L[138];\nif(typeof(anf_fun702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al699,anf_fun702);\n}\n$ans698 = anf_fun702.app(a694,b695,c696,d697);\nbreak;\ncase 1: var anf_arg703 = $ans698;\n// caller optimization;\n$ans698 = raw$array$to$list4.app(anf_arg703);\nvar anf_arg704 = $ans698;\n// caller optimization;\n$ans698 = bulleted$sequence139.$var.app(anf_arg704);\n$step692 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans698;\ndefault: R.ffi.throwSpinnakerError(L[136],$step692);\n}\n}\nif($step692 !== 2) {\n$ans698.stack[R.EXN_STACKHEIGHT++] = R.mAR($al699,$temp_lam693,$step692,[a694,b695,c696,d697],[],$elidedFrames701);\n}\nreturn $ans698;\n};\nvar anf_obj726 = R.mF($temp_lam693,\"\");\nvar $temp_lam707 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__139($a708,$b709,$c710,$d711,$e712) {\nvar $step706 = 0;\nvar $elidedFrames716 = 0;\nvar $ans713 = D;\nvar $al714 = L[139];\nif(R.isAR($a708)) {\n$step706 = $a708.step;\n$al714 = $a708.from;\n$ans713 = $a708.ans;\n$elidedFrames716 = $a708.elidedFrames;\na708 = $a708.args[0];\nb709 = $a708.args[1];\nc710 = $a708.args[2];\nd711 = $a708.args[3];\ne712 = $a708.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],5,$t,false);\n}\nvar a708 = $a708;\nvar b709 = $b709;\nvar c710 = $c710;\nvar d711 = $d711;\nvar e712 = $e712;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans713 = R.mC();\n}\nwhile(!R.isContinuation($ans713)) {\nswitch($step706) {\ncase 0: $ans713 = R.getMaker5(raw$array2,(\"make5\"),L[140],L[141]);\nvar anf_fun717 = $ans713;\n$step706 = 1;\n$al714 = L[141];\nif(typeof(anf_fun717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al714,anf_fun717);\n}\n$ans713 = anf_fun717.app(a708,b709,c710,d711,e712);\nbreak;\ncase 1: var anf_arg718 = $ans713;\n// caller optimization;\n$ans713 = raw$array$to$list4.app(anf_arg718);\nvar anf_arg719 = $ans713;\n// caller optimization;\n$ans713 = bulleted$sequence139.$var.app(anf_arg719);\n$step706 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans713;\ndefault: R.ffi.throwSpinnakerError(L[139],$step706);\n}\n}\nif($step706 !== 2) {\n$ans713.stack[R.EXN_STACKHEIGHT++] = R.mAR($al714,$temp_lam707,$step706,[a708,b709,c710,d711,e712],[],$elidedFrames716);\n}\nreturn $ans713;\n};\nvar anf_obj727 = R.mF($temp_lam707,\"\");\nvar bulleted980 = R.mO({\"make\":anf_obj721,\n\"make0\":anf_obj722,\n\"make1\":anf_obj723,\n\"make2\":anf_obj724,\n\"make3\":anf_obj725,\n\"make4\":anf_obj726,\n\"make5\":anf_obj727});\nvar $temp_lam729 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__142($arr730) {\nvar $step728 = 0;\nvar $elidedFrames734 = 0;\nvar $ans731 = D;\nvar $al732 = L[142];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[142],1,$t,false);\n}\nvar arr730 = $arr730;\n// callee optimization;\nwhile(!R.isContinuation($ans731)) {\nswitch($step728) {\ncase 0: // caller optimization;\n$ans731 = raw$array$to$list4.app(arr730);\nvar anf_arg735 = $ans731;\n// caller optimization;\n$ans731 = v$sequence143.$var.app(anf_arg735);\nvar anf_arg736 = $ans731;\n// caller optimization;\n$ans731 = optional183.$var.app(anf_arg736);\n$step728 = 1;\nbreak;\ncase 1: return $ans731;\ndefault: R.ffi.throwSpinnakerError(L[142],$step728);\n}\n}\nreturn $ans731;\n};\nvar anf_obj819 = R.mF($temp_lam729,\"\");\nvar $temp_lam739 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__143($$resumer13) {\nvar $step738 = 0;\nvar $elidedFrames743 = 0;\nvar $ans740 = D;\nvar $al741 = L[143];\nif(R.isAR($$resumer13)) {\n$step738 = $$resumer13.step;\n$al741 = $$resumer13.from;\n$ans740 = $$resumer13.ans;\n$elidedFrames743 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[143],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans740 = R.mC();\n}\nwhile(!R.isContinuation($ans740)) {\nswitch($step738) {\ncase 0: $ans740 = R.getMaker0(raw$array2,(\"make0\"),L[144],L[145]);\nvar anf_fun744 = $ans740;\n$step738 = 1;\n$al741 = L[145];\nif(typeof(anf_fun744.app) !== \"function\") {\nR.ffi.throwNonFunApp($al741,anf_fun744);\n}\n$ans740 = anf_fun744.app();\nbreak;\ncase 1: var anf_arg745 = $ans740;\n// caller optimization;\n$ans740 = raw$array$to$list4.app(anf_arg745);\nvar anf_arg746 = $ans740;\n// caller optimization;\n$ans740 = v$sequence143.$var.app(anf_arg746);\nvar anf_arg747 = $ans740;\n// caller optimization;\n$ans740 = optional183.$var.app(anf_arg747);\n$step738 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans740;\ndefault: R.ffi.throwSpinnakerError(L[143],$step738);\n}\n}\nif($step738 !== 2) {\n$ans740.stack[R.EXN_STACKHEIGHT++] = R.mAR($al741,$temp_lam739,$step738,[],[],$elidedFrames743);\n}\nreturn $ans740;\n};\nvar anf_obj820 = R.mF($temp_lam739,\"\");\nvar $temp_lam750 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__146($a751) {\nvar $step749 = 0;\nvar $elidedFrames755 = 0;\nvar $ans752 = D;\nvar $al753 = L[146];\nif(R.isAR($a751)) {\n$step749 = $a751.step;\n$al753 = $a751.from;\n$ans752 = $a751.ans;\n$elidedFrames755 = $a751.elidedFrames;\na751 = $a751.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[146],1,$t,false);\n}\nvar a751 = $a751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans752 = R.mC();\n}\nwhile(!R.isContinuation($ans752)) {\nswitch($step749) {\ncase 0: $ans752 = R.getMaker1(raw$array2,(\"make1\"),L[147],L[148]);\nvar anf_fun756 = $ans752;\n$step749 = 1;\n$al753 = L[148];\nif(typeof(anf_fun756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al753,anf_fun756);\n}\n$ans752 = anf_fun756.app(a751);\nbreak;\ncase 1: var anf_arg757 = $ans752;\n// caller optimization;\n$ans752 = raw$array$to$list4.app(anf_arg757);\nvar anf_arg758 = $ans752;\n// caller optimization;\n$ans752 = v$sequence143.$var.app(anf_arg758);\nvar anf_arg759 = $ans752;\n// caller optimization;\n$ans752 = optional183.$var.app(anf_arg759);\n$step749 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans752;\ndefault: R.ffi.throwSpinnakerError(L[146],$step749);\n}\n}\nif($step749 !== 2) {\n$ans752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al753,$temp_lam750,$step749,[a751],[],$elidedFrames755);\n}\nreturn $ans752;\n};\nvar anf_obj821 = R.mF($temp_lam750,\"\");\nvar $temp_lam762 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__149($a763,$b764) {\nvar $step761 = 0;\nvar $elidedFrames768 = 0;\nvar $ans765 = D;\nvar $al766 = L[149];\nif(R.isAR($a763)) {\n$step761 = $a763.step;\n$al766 = $a763.from;\n$ans765 = $a763.ans;\n$elidedFrames768 = $a763.elidedFrames;\na763 = $a763.args[0];\nb764 = $a763.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[149],2,$t,false);\n}\nvar a763 = $a763;\nvar b764 = $b764;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans765 = R.mC();\n}\nwhile(!R.isContinuation($ans765)) {\nswitch($step761) {\ncase 0: $ans765 = R.getMaker2(raw$array2,(\"make2\"),L[150],L[151]);\nvar anf_fun769 = $ans765;\n$step761 = 1;\n$al766 = L[151];\nif(typeof(anf_fun769.app) !== \"function\") {\nR.ffi.throwNonFunApp($al766,anf_fun769);\n}\n$ans765 = anf_fun769.app(a763,b764);\nbreak;\ncase 1: var anf_arg770 = $ans765;\n// caller optimization;\n$ans765 = raw$array$to$list4.app(anf_arg770);\nvar anf_arg771 = $ans765;\n// caller optimization;\n$ans765 = v$sequence143.$var.app(anf_arg771);\nvar anf_arg772 = $ans765;\n// caller optimization;\n$ans765 = optional183.$var.app(anf_arg772);\n$step761 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans765;\ndefault: R.ffi.throwSpinnakerError(L[149],$step761);\n}\n}\nif($step761 !== 2) {\n$ans765.stack[R.EXN_STACKHEIGHT++] = R.mAR($al766,$temp_lam762,$step761,[a763,b764],[],$elidedFrames768);\n}\nreturn $ans765;\n};\nvar anf_obj822 = R.mF($temp_lam762,\"\");\nvar $temp_lam775 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__152($a776,$b777,$c778) {\nvar $step774 = 0;\nvar $elidedFrames782 = 0;\nvar $ans779 = D;\nvar $al780 = L[152];\nif(R.isAR($a776)) {\n$step774 = $a776.step;\n$al780 = $a776.from;\n$ans779 = $a776.ans;\n$elidedFrames782 = $a776.elidedFrames;\na776 = $a776.args[0];\nb777 = $a776.args[1];\nc778 = $a776.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],3,$t,false);\n}\nvar a776 = $a776;\nvar b777 = $b777;\nvar c778 = $c778;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans779 = R.mC();\n}\nwhile(!R.isContinuation($ans779)) {\nswitch($step774) {\ncase 0: $ans779 = R.getMaker3(raw$array2,(\"make3\"),L[153],L[154]);\nvar anf_fun783 = $ans779;\n$step774 = 1;\n$al780 = L[154];\nif(typeof(anf_fun783.app) !== \"function\") {\nR.ffi.throwNonFunApp($al780,anf_fun783);\n}\n$ans779 = anf_fun783.app(a776,b777,c778);\nbreak;\ncase 1: var anf_arg784 = $ans779;\n// caller optimization;\n$ans779 = raw$array$to$list4.app(anf_arg784);\nvar anf_arg785 = $ans779;\n// caller optimization;\n$ans779 = v$sequence143.$var.app(anf_arg785);\nvar anf_arg786 = $ans779;\n// caller optimization;\n$ans779 = optional183.$var.app(anf_arg786);\n$step774 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans779;\ndefault: R.ffi.throwSpinnakerError(L[152],$step774);\n}\n}\nif($step774 !== 2) {\n$ans779.stack[R.EXN_STACKHEIGHT++] = R.mAR($al780,$temp_lam775,$step774,[a776,b777,c778],[],$elidedFrames782);\n}\nreturn $ans779;\n};\nvar anf_obj823 = R.mF($temp_lam775,\"\");\nvar $temp_lam789 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__155($a790,$b791,$c792,$d793) {\nvar $step788 = 0;\nvar $elidedFrames797 = 0;\nvar $ans794 = D;\nvar $al795 = L[155];\nif(R.isAR($a790)) {\n$step788 = $a790.step;\n$al795 = $a790.from;\n$ans794 = $a790.ans;\n$elidedFrames797 = $a790.elidedFrames;\na790 = $a790.args[0];\nb791 = $a790.args[1];\nc792 = $a790.args[2];\nd793 = $a790.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[155],4,$t,false);\n}\nvar a790 = $a790;\nvar b791 = $b791;\nvar c792 = $c792;\nvar d793 = $d793;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans794 = R.mC();\n}\nwhile(!R.isContinuation($ans794)) {\nswitch($step788) {\ncase 0: $ans794 = R.getMaker4(raw$array2,(\"make4\"),L[156],L[157]);\nvar anf_fun798 = $ans794;\n$step788 = 1;\n$al795 = L[157];\nif(typeof(anf_fun798.app) !== \"function\") {\nR.ffi.throwNonFunApp($al795,anf_fun798);\n}\n$ans794 = anf_fun798.app(a790,b791,c792,d793);\nbreak;\ncase 1: var anf_arg799 = $ans794;\n// caller optimization;\n$ans794 = raw$array$to$list4.app(anf_arg799);\nvar anf_arg800 = $ans794;\n// caller optimization;\n$ans794 = v$sequence143.$var.app(anf_arg800);\nvar anf_arg801 = $ans794;\n// caller optimization;\n$ans794 = optional183.$var.app(anf_arg801);\n$step788 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans794;\ndefault: R.ffi.throwSpinnakerError(L[155],$step788);\n}\n}\nif($step788 !== 2) {\n$ans794.stack[R.EXN_STACKHEIGHT++] = R.mAR($al795,$temp_lam789,$step788,[a790,b791,c792,d793],[],$elidedFrames797);\n}\nreturn $ans794;\n};\nvar anf_obj824 = R.mF($temp_lam789,\"\");\nvar $temp_lam804 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__158($a805,$b806,$c807,$d808,$e809) {\nvar $step803 = 0;\nvar $elidedFrames813 = 0;\nvar $ans810 = D;\nvar $al811 = L[158];\nif(R.isAR($a805)) {\n$step803 = $a805.step;\n$al811 = $a805.from;\n$ans810 = $a805.ans;\n$elidedFrames813 = $a805.elidedFrames;\na805 = $a805.args[0];\nb806 = $a805.args[1];\nc807 = $a805.args[2];\nd808 = $a805.args[3];\ne809 = $a805.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[158],5,$t,false);\n}\nvar a805 = $a805;\nvar b806 = $b806;\nvar c807 = $c807;\nvar d808 = $d808;\nvar e809 = $e809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans810 = R.mC();\n}\nwhile(!R.isContinuation($ans810)) {\nswitch($step803) {\ncase 0: $ans810 = R.getMaker5(raw$array2,(\"make5\"),L[159],L[160]);\nvar anf_fun814 = $ans810;\n$step803 = 1;\n$al811 = L[160];\nif(typeof(anf_fun814.app) !== \"function\") {\nR.ffi.throwNonFunApp($al811,anf_fun814);\n}\n$ans810 = anf_fun814.app(a805,b806,c807,d808,e809);\nbreak;\ncase 1: var anf_arg815 = $ans810;\n// caller optimization;\n$ans810 = raw$array$to$list4.app(anf_arg815);\nvar anf_arg816 = $ans810;\n// caller optimization;\n$ans810 = v$sequence143.$var.app(anf_arg816);\nvar anf_arg817 = $ans810;\n// caller optimization;\n$ans810 = optional183.$var.app(anf_arg817);\n$step803 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans810;\ndefault: R.ffi.throwSpinnakerError(L[158],$step803);\n}\n}\nif($step803 !== 2) {\n$ans810.stack[R.EXN_STACKHEIGHT++] = R.mAR($al811,$temp_lam804,$step803,[a805,b806,c807,d808,e809],[],$elidedFrames813);\n}\nreturn $ans810;\n};\nvar anf_obj825 = R.mF($temp_lam804,\"\");\nvar opt984 = R.mO({\"make\":anf_obj819,\n\"make0\":anf_obj820,\n\"make1\":anf_obj821,\n\"make2\":anf_obj822,\n\"make3\":anf_obj823,\n\"make4\":anf_obj824,\n\"make5\":anf_obj825});\nvar ed$args840 = {\"$var\":D};\nvar ed$names855 = {\"$var\":D};\nvar ed$fields870 = {\"$var\":D};\nvar ed$field$bindings885 = {\"$var\":D};\nvar ed$bindings900 = {\"$var\":D};\nvar ed$params915 = {\"$var\":D};\nvar ed$components930 = {\"$var\":D};\nvar ed$rows945 = {\"$var\":D};\nvar ed$values960 = {\"$var\":D};\nvar ed$nth977 = {\"$var\":D};\nvar $temp_lam827 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__161($n828) {\nvar $step826 = 0;\nvar $elidedFrames832 = 0;\nvar $ans829 = D;\nvar $al830 = L[161];\nif(R.isAR($n828)) {\n$step826 = $n828.step;\n$al830 = $n828.from;\n$ans829 = $n828.ans;\n$elidedFrames832 = $n828.elidedFrames;\nn828 = $n828.args[0];\nanf_fun834 = $n828.vars[0];\nanf_arg835 = $n828.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[161],1,$t,false);\n}\nvar n828 = $n828;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans829 = R.mC();\n}\nwhile(!R.isContinuation($ans829)) {\nswitch($step826) {\ncase 0: $ans829 = R.getMaker2(sequence545,(\"make2\"),L[162],L[163]);\nvar anf_fun834 = $ans829;\n// caller optimization;\n$ans829 = embed155.$var.app(n828);\nvar anf_arg835 = $ans829;\n$step826 = 1;\n$al830 = L[164];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al830,equal$always1);\n}\n$ans829 = equal$always1.app(n828,(1));\nbreak;\ncase 1: var anf_if837 = $ans829;\n$step826 = R.checkPyretTrue(anf_if837)?2:3;\nbreak;\ncase 2: $step826 = 4;\n$ans829 = (\" argument\");\nbreak;\ncase 3: $step826 = 4;\n$ans829 = (\" arguments\");\nbreak;\ncase 4: var anf_arg833 = $ans829;\n// caller optimization;\n$ans829 = text159.$var.app(anf_arg833);\nvar anf_arg836 = $ans829;\n$step826 = 5;\n$al830 = L[163];\nif(typeof(anf_fun834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al830,anf_fun834);\n}\n$ans829 = anf_fun834.app(anf_arg835,anf_arg836);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans829;\ndefault: R.ffi.throwSpinnakerError(L[161],$step826);\n}\n}\nif($step826 !== 5) {\n$ans829.stack[R.EXN_STACKHEIGHT++] = R.mAR($al830,$temp_lam827,$step826,[n828],[anf_fun834,anf_arg835],$elidedFrames832);\n}\nreturn $ans829;\n};\nvar anf_assign839 = R.mF($temp_lam827,\"ed-args\");\ned$args840.$var = anf_assign839;\nR.nothing;\nvar $temp_lam842 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__165($n843) {\nvar $step841 = 0;\nvar $elidedFrames847 = 0;\nvar $ans844 = D;\nvar $al845 = L[165];\nif(R.isAR($n843)) {\n$step841 = $n843.step;\n$al845 = $n843.from;\n$ans844 = $n843.ans;\n$elidedFrames847 = $n843.elidedFrames;\nn843 = $n843.args[0];\nanf_fun849 = $n843.vars[0];\nanf_arg850 = $n843.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[165],1,$t,false);\n}\nvar n843 = $n843;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans844 = R.mC();\n}\nwhile(!R.isContinuation($ans844)) {\nswitch($step841) {\ncase 0: $ans844 = R.getMaker2(sequence545,(\"make2\"),L[166],L[167]);\nvar anf_fun849 = $ans844;\n// caller optimization;\n$ans844 = embed155.$var.app(n843);\nvar anf_arg850 = $ans844;\n$step841 = 1;\n$al845 = L[168];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al845,equal$always1);\n}\n$ans844 = equal$always1.app(n843,(1));\nbreak;\ncase 1: var anf_if852 = $ans844;\n$step841 = R.checkPyretTrue(anf_if852)?2:3;\nbreak;\ncase 2: $step841 = 4;\n$ans844 = (\" name\");\nbreak;\ncase 3: $step841 = 4;\n$ans844 = (\" names\");\nbreak;\ncase 4: var anf_arg848 = $ans844;\n// caller optimization;\n$ans844 = text159.$var.app(anf_arg848);\nvar anf_arg851 = $ans844;\n$step841 = 5;\n$al845 = L[167];\nif(typeof(anf_fun849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al845,anf_fun849);\n}\n$ans844 = anf_fun849.app(anf_arg850,anf_arg851);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans844;\ndefault: R.ffi.throwSpinnakerError(L[165],$step841);\n}\n}\nif($step841 !== 5) {\n$ans844.stack[R.EXN_STACKHEIGHT++] = R.mAR($al845,$temp_lam842,$step841,[n843],[anf_fun849,anf_arg850],$elidedFrames847);\n}\nreturn $ans844;\n};\nvar anf_assign854 = R.mF($temp_lam842,\"ed-names\");\ned$names855.$var = anf_assign854;\nR.nothing;\nvar $temp_lam857 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__169($n858) {\nvar $step856 = 0;\nvar $elidedFrames862 = 0;\nvar $ans859 = D;\nvar $al860 = L[169];\nif(R.isAR($n858)) {\n$step856 = $n858.step;\n$al860 = $n858.from;\n$ans859 = $n858.ans;\n$elidedFrames862 = $n858.elidedFrames;\nn858 = $n858.args[0];\nanf_fun864 = $n858.vars[0];\nanf_arg865 = $n858.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[169],1,$t,false);\n}\nvar n858 = $n858;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans859 = R.mC();\n}\nwhile(!R.isContinuation($ans859)) {\nswitch($step856) {\ncase 0: $ans859 = R.getMaker2(sequence545,(\"make2\"),L[170],L[171]);\nvar anf_fun864 = $ans859;\n// caller optimization;\n$ans859 = embed155.$var.app(n858);\nvar anf_arg865 = $ans859;\n$step856 = 1;\n$al860 = L[172];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al860,equal$always1);\n}\n$ans859 = equal$always1.app(n858,(1));\nbreak;\ncase 1: var anf_if867 = $ans859;\n$step856 = R.checkPyretTrue(anf_if867)?2:3;\nbreak;\ncase 2: $step856 = 4;\n$ans859 = (\" field\");\nbreak;\ncase 3: $step856 = 4;\n$ans859 = (\" fields\");\nbreak;\ncase 4: var anf_arg863 = $ans859;\n// caller optimization;\n$ans859 = text159.$var.app(anf_arg863);\nvar anf_arg866 = $ans859;\n$step856 = 5;\n$al860 = L[171];\nif(typeof(anf_fun864.app) !== \"function\") {\nR.ffi.throwNonFunApp($al860,anf_fun864);\n}\n$ans859 = anf_fun864.app(anf_arg865,anf_arg866);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans859;\ndefault: R.ffi.throwSpinnakerError(L[169],$step856);\n}\n}\nif($step856 !== 5) {\n$ans859.stack[R.EXN_STACKHEIGHT++] = R.mAR($al860,$temp_lam857,$step856,[n858],[anf_fun864,anf_arg865],$elidedFrames862);\n}\nreturn $ans859;\n};\nvar anf_assign869 = R.mF($temp_lam857,\"ed-fields\");\ned$fields870.$var = anf_assign869;\nR.nothing;\nvar $temp_lam872 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__173($n873) {\nvar $step871 = 0;\nvar $elidedFrames877 = 0;\nvar $ans874 = D;\nvar $al875 = L[173];\nif(R.isAR($n873)) {\n$step871 = $n873.step;\n$al875 = $n873.from;\n$ans874 = $n873.ans;\n$elidedFrames877 = $n873.elidedFrames;\nn873 = $n873.args[0];\nanf_fun879 = $n873.vars[0];\nanf_arg880 = $n873.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[173],1,$t,false);\n}\nvar n873 = $n873;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans874 = R.mC();\n}\nwhile(!R.isContinuation($ans874)) {\nswitch($step871) {\ncase 0: $ans874 = R.getMaker2(sequence545,(\"make2\"),L[174],L[175]);\nvar anf_fun879 = $ans874;\n// caller optimization;\n$ans874 = embed155.$var.app(n873);\nvar anf_arg880 = $ans874;\n$step871 = 1;\n$al875 = L[176];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al875,equal$always1);\n}\n$ans874 = equal$always1.app(n873,(1));\nbreak;\ncase 1: var anf_if882 = $ans874;\n$step871 = R.checkPyretTrue(anf_if882)?2:3;\nbreak;\ncase 2: $step871 = 4;\n$ans874 = (\" field binding\");\nbreak;\ncase 3: $step871 = 4;\n$ans874 = (\" field bindings\");\nbreak;\ncase 4: var anf_arg878 = $ans874;\n// caller optimization;\n$ans874 = text159.$var.app(anf_arg878);\nvar anf_arg881 = $ans874;\n$step871 = 5;\n$al875 = L[175];\nif(typeof(anf_fun879.app) !== \"function\") {\nR.ffi.throwNonFunApp($al875,anf_fun879);\n}\n$ans874 = anf_fun879.app(anf_arg880,anf_arg881);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans874;\ndefault: R.ffi.throwSpinnakerError(L[173],$step871);\n}\n}\nif($step871 !== 5) {\n$ans874.stack[R.EXN_STACKHEIGHT++] = R.mAR($al875,$temp_lam872,$step871,[n873],[anf_fun879,anf_arg880],$elidedFrames877);\n}\nreturn $ans874;\n};\nvar anf_assign884 = R.mF($temp_lam872,\"ed-field-bindings\");\ned$field$bindings885.$var = anf_assign884;\nR.nothing;\nvar $temp_lam887 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__177($n888) {\nvar $step886 = 0;\nvar $elidedFrames892 = 0;\nvar $ans889 = D;\nvar $al890 = L[177];\nif(R.isAR($n888)) {\n$step886 = $n888.step;\n$al890 = $n888.from;\n$ans889 = $n888.ans;\n$elidedFrames892 = $n888.elidedFrames;\nn888 = $n888.args[0];\nanf_fun894 = $n888.vars[0];\nanf_arg895 = $n888.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[177],1,$t,false);\n}\nvar n888 = $n888;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans889 = R.mC();\n}\nwhile(!R.isContinuation($ans889)) {\nswitch($step886) {\ncase 0: $ans889 = R.getMaker2(sequence545,(\"make2\"),L[178],L[179]);\nvar anf_fun894 = $ans889;\n// caller optimization;\n$ans889 = embed155.$var.app(n888);\nvar anf_arg895 = $ans889;\n$step886 = 1;\n$al890 = L[180];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al890,equal$always1);\n}\n$ans889 = equal$always1.app(n888,(1));\nbreak;\ncase 1: var anf_if897 = $ans889;\n$step886 = R.checkPyretTrue(anf_if897)?2:3;\nbreak;\ncase 2: $step886 = 4;\n$ans889 = (\" binding\");\nbreak;\ncase 3: $step886 = 4;\n$ans889 = (\" bindings\");\nbreak;\ncase 4: var anf_arg893 = $ans889;\n// caller optimization;\n$ans889 = text159.$var.app(anf_arg893);\nvar anf_arg896 = $ans889;\n$step886 = 5;\n$al890 = L[179];\nif(typeof(anf_fun894.app) !== \"function\") {\nR.ffi.throwNonFunApp($al890,anf_fun894);\n}\n$ans889 = anf_fun894.app(anf_arg895,anf_arg896);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans889;\ndefault: R.ffi.throwSpinnakerError(L[177],$step886);\n}\n}\nif($step886 !== 5) {\n$ans889.stack[R.EXN_STACKHEIGHT++] = R.mAR($al890,$temp_lam887,$step886,[n888],[anf_fun894,anf_arg895],$elidedFrames892);\n}\nreturn $ans889;\n};\nvar anf_assign899 = R.mF($temp_lam887,\"ed-bindings\");\ned$bindings900.$var = anf_assign899;\nR.nothing;\nvar $temp_lam902 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__181($n903) {\nvar $step901 = 0;\nvar $elidedFrames907 = 0;\nvar $ans904 = D;\nvar $al905 = L[181];\nif(R.isAR($n903)) {\n$step901 = $n903.step;\n$al905 = $n903.from;\n$ans904 = $n903.ans;\n$elidedFrames907 = $n903.elidedFrames;\nn903 = $n903.args[0];\nanf_fun909 = $n903.vars[0];\nanf_arg910 = $n903.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[181],1,$t,false);\n}\nvar n903 = $n903;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans904 = R.mC();\n}\nwhile(!R.isContinuation($ans904)) {\nswitch($step901) {\ncase 0: $ans904 = R.getMaker2(sequence545,(\"make2\"),L[182],L[183]);\nvar anf_fun909 = $ans904;\n// caller optimization;\n$ans904 = embed155.$var.app(n903);\nvar anf_arg910 = $ans904;\n$step901 = 1;\n$al905 = L[184];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al905,equal$always1);\n}\n$ans904 = equal$always1.app(n903,(1));\nbreak;\ncase 1: var anf_if912 = $ans904;\n$step901 = R.checkPyretTrue(anf_if912)?2:3;\nbreak;\ncase 2: $step901 = 4;\n$ans904 = (\" parameter\");\nbreak;\ncase 3: $step901 = 4;\n$ans904 = (\" parameters\");\nbreak;\ncase 4: var anf_arg908 = $ans904;\n// caller optimization;\n$ans904 = text159.$var.app(anf_arg908);\nvar anf_arg911 = $ans904;\n$step901 = 5;\n$al905 = L[183];\nif(typeof(anf_fun909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al905,anf_fun909);\n}\n$ans904 = anf_fun909.app(anf_arg910,anf_arg911);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans904;\ndefault: R.ffi.throwSpinnakerError(L[181],$step901);\n}\n}\nif($step901 !== 5) {\n$ans904.stack[R.EXN_STACKHEIGHT++] = R.mAR($al905,$temp_lam902,$step901,[n903],[anf_fun909,anf_arg910],$elidedFrames907);\n}\nreturn $ans904;\n};\nvar anf_assign914 = R.mF($temp_lam902,\"ed-params\");\ned$params915.$var = anf_assign914;\nR.nothing;\nvar $temp_lam917 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__185($n918) {\nvar $step916 = 0;\nvar $elidedFrames922 = 0;\nvar $ans919 = D;\nvar $al920 = L[185];\nif(R.isAR($n918)) {\n$step916 = $n918.step;\n$al920 = $n918.from;\n$ans919 = $n918.ans;\n$elidedFrames922 = $n918.elidedFrames;\nn918 = $n918.args[0];\nanf_fun924 = $n918.vars[0];\nanf_arg925 = $n918.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[185],1,$t,false);\n}\nvar n918 = $n918;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans919 = R.mC();\n}\nwhile(!R.isContinuation($ans919)) {\nswitch($step916) {\ncase 0: $ans919 = R.getMaker2(sequence545,(\"make2\"),L[186],L[187]);\nvar anf_fun924 = $ans919;\n// caller optimization;\n$ans919 = embed155.$var.app(n918);\nvar anf_arg925 = $ans919;\n$step916 = 1;\n$al920 = L[188];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al920,equal$always1);\n}\n$ans919 = equal$always1.app(n918,(1));\nbreak;\ncase 1: var anf_if927 = $ans919;\n$step916 = R.checkPyretTrue(anf_if927)?2:3;\nbreak;\ncase 2: $step916 = 4;\n$ans919 = (\" component\");\nbreak;\ncase 3: $step916 = 4;\n$ans919 = (\" components\");\nbreak;\ncase 4: var anf_arg923 = $ans919;\n// caller optimization;\n$ans919 = text159.$var.app(anf_arg923);\nvar anf_arg926 = $ans919;\n$step916 = 5;\n$al920 = L[187];\nif(typeof(anf_fun924.app) !== \"function\") {\nR.ffi.throwNonFunApp($al920,anf_fun924);\n}\n$ans919 = anf_fun924.app(anf_arg925,anf_arg926);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans919;\ndefault: R.ffi.throwSpinnakerError(L[185],$step916);\n}\n}\nif($step916 !== 5) {\n$ans919.stack[R.EXN_STACKHEIGHT++] = R.mAR($al920,$temp_lam917,$step916,[n918],[anf_fun924,anf_arg925],$elidedFrames922);\n}\nreturn $ans919;\n};\nvar anf_assign929 = R.mF($temp_lam917,\"ed-components\");\ned$components930.$var = anf_assign929;\nR.nothing;\nvar $temp_lam932 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__189($n933) {\nvar $step931 = 0;\nvar $elidedFrames937 = 0;\nvar $ans934 = D;\nvar $al935 = L[189];\nif(R.isAR($n933)) {\n$step931 = $n933.step;\n$al935 = $n933.from;\n$ans934 = $n933.ans;\n$elidedFrames937 = $n933.elidedFrames;\nn933 = $n933.args[0];\nanf_fun939 = $n933.vars[0];\nanf_arg940 = $n933.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[189],1,$t,false);\n}\nvar n933 = $n933;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans934 = R.mC();\n}\nwhile(!R.isContinuation($ans934)) {\nswitch($step931) {\ncase 0: $ans934 = R.getMaker2(sequence545,(\"make2\"),L[190],L[191]);\nvar anf_fun939 = $ans934;\n// caller optimization;\n$ans934 = embed155.$var.app(n933);\nvar anf_arg940 = $ans934;\n$step931 = 1;\n$al935 = L[192];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al935,equal$always1);\n}\n$ans934 = equal$always1.app(n933,(1));\nbreak;\ncase 1: var anf_if942 = $ans934;\n$step931 = R.checkPyretTrue(anf_if942)?2:3;\nbreak;\ncase 2: $step931 = 4;\n$ans934 = (\" row\");\nbreak;\ncase 3: $step931 = 4;\n$ans934 = (\" rows\");\nbreak;\ncase 4: var anf_arg938 = $ans934;\n// caller optimization;\n$ans934 = text159.$var.app(anf_arg938);\nvar anf_arg941 = $ans934;\n$step931 = 5;\n$al935 = L[191];\nif(typeof(anf_fun939.app) !== \"function\") {\nR.ffi.throwNonFunApp($al935,anf_fun939);\n}\n$ans934 = anf_fun939.app(anf_arg940,anf_arg941);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans934;\ndefault: R.ffi.throwSpinnakerError(L[189],$step931);\n}\n}\nif($step931 !== 5) {\n$ans934.stack[R.EXN_STACKHEIGHT++] = R.mAR($al935,$temp_lam932,$step931,[n933],[anf_fun939,anf_arg940],$elidedFrames937);\n}\nreturn $ans934;\n};\nvar anf_assign944 = R.mF($temp_lam932,\"ed-rows\");\ned$rows945.$var = anf_assign944;\nR.nothing;\nvar $temp_lam947 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__193($n948) {\nvar $step946 = 0;\nvar $elidedFrames952 = 0;\nvar $ans949 = D;\nvar $al950 = L[193];\nif(R.isAR($n948)) {\n$step946 = $n948.step;\n$al950 = $n948.from;\n$ans949 = $n948.ans;\n$elidedFrames952 = $n948.elidedFrames;\nn948 = $n948.args[0];\nanf_fun954 = $n948.vars[0];\nanf_arg955 = $n948.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[193],1,$t,false);\n}\nvar n948 = $n948;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans949 = R.mC();\n}\nwhile(!R.isContinuation($ans949)) {\nswitch($step946) {\ncase 0: $ans949 = R.getMaker2(sequence545,(\"make2\"),L[194],L[195]);\nvar anf_fun954 = $ans949;\n// caller optimization;\n$ans949 = embed155.$var.app(n948);\nvar anf_arg955 = $ans949;\n$step946 = 1;\n$al950 = L[196];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al950,equal$always1);\n}\n$ans949 = equal$always1.app(n948,(1));\nbreak;\ncase 1: var anf_if957 = $ans949;\n$step946 = R.checkPyretTrue(anf_if957)?2:3;\nbreak;\ncase 2: $step946 = 4;\n$ans949 = (\" value\");\nbreak;\ncase 3: $step946 = 4;\n$ans949 = (\" values\");\nbreak;\ncase 4: var anf_arg953 = $ans949;\n// caller optimization;\n$ans949 = text159.$var.app(anf_arg953);\nvar anf_arg956 = $ans949;\n$step946 = 5;\n$al950 = L[195];\nif(typeof(anf_fun954.app) !== \"function\") {\nR.ffi.throwNonFunApp($al950,anf_fun954);\n}\n$ans949 = anf_fun954.app(anf_arg955,anf_arg956);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans949;\ndefault: R.ffi.throwSpinnakerError(L[193],$step946);\n}\n}\nif($step946 !== 5) {\n$ans949.stack[R.EXN_STACKHEIGHT++] = R.mAR($al950,$temp_lam947,$step946,[n948],[anf_fun954,anf_arg955],$elidedFrames952);\n}\nreturn $ans949;\n};\nvar anf_assign959 = R.mF($temp_lam947,\"ed-values\");\ned$values960.$var = anf_assign959;\nR.nothing;\nvar $temp_lam962 = function _45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e__197($n963) {\nvar $step961 = 0;\nvar $elidedFrames967 = 0;\nvar $ans964 = D;\nvar $al965 = L[197];\nif(R.isAR($n963)) {\n$step961 = $n963.step;\n$al965 = $n963.from;\n$ans964 = $n963.ans;\n$elidedFrames967 = $n963.elidedFrames;\nn963 = $n963.args[0];\nlast$digit968 = $n963.vars[0];\nanf_arg969 = $n963.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[197],1,$t,false);\n}\nvar n963 = $n963;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans964 = R.mC();\n}\nwhile(!R.isContinuation($ans964)) {\nswitch($step961) {\ncase 0: // caller optimization;\n$ans964 = num$modulo9.app(n963,(10));\nvar last$digit968 = $ans964;\n// caller optimization;\n$ans964 = num$to$string7.app(n963);\nvar anf_arg969 = $ans964;\n$step961 = 1;\n$al965 = L[201];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(1));\nbreak;\ncase 1: var anf_if974 = $ans964;\n$step961 = R.checkPyretTrue(anf_if974)?2:3;\nbreak;\ncase 2: $step961 = 10;\n$ans964 = (\"\\u02E2\\u1D57\");\nbreak;\ncase 3: $step961 = 4;\n$al965 = L[200];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(2));\nbreak;\ncase 4: var anf_if973 = $ans964;\n$step961 = R.checkPyretTrue(anf_if973)?5:6;\nbreak;\ncase 5: $step961 = 10;\n$ans964 = (\"\\u207F\\u1D48\");\nbreak;\ncase 6: $step961 = 7;\n$al965 = L[199];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al965,equal$always1);\n}\n$ans964 = equal$always1.app(last$digit968,(3));\nbreak;\ncase 7: var anf_if972 = $ans964;\n$step961 = R.checkPyretTrue(anf_if972)?8:9;\nbreak;\ncase 8: $step961 = 10;\n$ans964 = (\"\\u207F\\u1D48\");\nbreak;\ncase 9: $step961 = 10;\n$ans964 = (\"\\u1D57\\u02B0\");\nbreak;\ncase 10: var anf_arg970 = $ans964;\n$step961 = 11;\n$al965 = L[198];\n// omitting isFunction check;\n$ans964 = _plus5.app(anf_arg969,anf_arg970);\nbreak;\ncase 11: var anf_arg971 = $ans964;\n// caller optimization;\n$ans964 = text159.$var.app(anf_arg971);\n$step961 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans964;\ndefault: R.ffi.throwSpinnakerError(L[197],$step961);\n}\n}\nif($step961 !== 12) {\n$ans964.stack[R.EXN_STACKHEIGHT++] = R.mAR($al965,$temp_lam962,$step961,[n963],[last$digit968,anf_arg969],$elidedFrames967);\n}\nreturn $ans964;\n};\nvar anf_assign976 = R.mF($temp_lam962,\"ed-nth\");\ned$nth977.$var = anf_assign976;\nR.nothing;\n$step11 = 1;\n$ans14 = R.maybeMethodCall2(builtins1,\"trace-value\",L[202],L[202],nothing2);\nbreak;\ncase 1: var answer986 = $ans14;\n$step11 = 2;\n$ans14 = R.maybeMethodCall0(builtins1,\"current-checker\",L[27]);\nbreak;\ncase 2: var anf_method_obj978 = $ans14;\n$step11 = 3;\n$ans14 = R.maybeMethodCall0(anf_method_obj978,\"results\",L[27]);\nbreak;\ncase 3: var checks987 = $ans14;\n$step11 = 4;\n$ans14 = R.mO({\"answer\":answer986,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"loc\":loc163.$var,\n\"optional\":optional183.$var,\n\"para\":para979,\n\"bulleted\":bulleted980,\n\"sequence\":sequence545,\n\"is-optional\":is$optional181.$var,\n\"ed-components\":ed$components930.$var,\n\"h-sequence\":h$sequence147.$var,\n\"ed-rows\":ed$rows945.$var,\n\"ed-fields\":ed$fields870.$var,\n\"error\":error981,\n\"is-h-sequence\":is$h$sequence145.$var,\n\"is-bulleted-sequence\":is$bulleted$sequence137.$var,\n\"is-paragraph\":is$paragraph133.$var,\n\"ed-args\":ed$args840.$var,\n\"text\":text159.$var,\n\"code\":code171.$var,\n\"bulleted-sequence\":bulleted$sequence139.$var,\n\"paragraph\":paragraph135.$var,\n\"ed-field-bindings\":ed$field$bindings885.$var,\n\"is-code\":is$code169.$var,\n\"ed-values\":ed$values960.$var,\n\"is-text\":is$text157.$var,\n\"vert\":vert982,\n\"is-highlight\":is$highlight185.$var,\n\"is-loc-display\":is$loc$display177.$var,\n\"is-maybe-stack-loc\":is$maybe$stack$loc165.$var,\n\"locs\":locs983,\n\"opt\":opt984,\n\"highlight\":highlight187.$var,\n\"ed-nth\":ed$nth977.$var,\n\"ed-params\":ed$params915.$var,\n\"loc-display\":loc$display179.$var,\n\"is-embed\":is$embed153.$var,\n\"maybe-stack-loc\":maybe$stack$loc167.$var,\n\"cmcode\":cmcode175.$var,\n\"h-sequence-sep\":h$sequence$sep151.$var,\n\"para-nospace\":para$nospace985,\n\"v-sequence\":v$sequence143.$var,\n\"embed\":embed155.$var,\n\"ed-names\":ed$names855.$var,\n\"is-h-sequence-sep\":is$h$sequence$sep149.$var,\n\"is-cmcode\":is$cmcode173.$var,\n\"is-v-sequence\":is$v$sequence141.$var,\n\"ed-bindings\":ed$bindings900.$var,\n\"is-loc\":is$loc161.$var,\n\"is-ErrorDisplay\":is$ErrorDisplay131.$var},\n\"defined-types\":{\"ErrorDisplay\":ErrorDisplay84},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"loc\":loc163.$var,\n\"optional\":optional183.$var,\n\"para\":para979,\n\"bulleted\":bulleted980,\n\"sequence\":sequence545,\n\"is-optional\":is$optional181.$var,\n\"ed-components\":ed$components930.$var,\n\"h-sequence\":h$sequence147.$var,\n\"ed-rows\":ed$rows945.$var,\n\"ed-fields\":ed$fields870.$var,\n\"error\":error981,\n\"is-h-sequence\":is$h$sequence145.$var,\n\"is-bulleted-sequence\":is$bulleted$sequence137.$var,\n\"is-paragraph\":is$paragraph133.$var,\n\"ed-args\":ed$args840.$var,\n\"text\":text159.$var,\n\"code\":code171.$var,\n\"bulleted-sequence\":bulleted$sequence139.$var,\n\"paragraph\":paragraph135.$var,\n\"ed-field-bindings\":ed$field$bindings885.$var,\n\"is-code\":is$code169.$var,\n\"ed-values\":ed$values960.$var,\n\"is-text\":is$text157.$var,\n\"vert\":vert982,\n\"is-highlight\":is$highlight185.$var,\n\"is-loc-display\":is$loc$display177.$var,\n\"is-maybe-stack-loc\":is$maybe$stack$loc165.$var,\n\"locs\":locs983,\n\"opt\":opt984,\n\"highlight\":highlight187.$var,\n\"ed-nth\":ed$nth977.$var,\n\"ed-params\":ed$params915.$var,\n\"loc-display\":loc$display179.$var,\n\"is-embed\":is$embed153.$var,\n\"maybe-stack-loc\":maybe$stack$loc167.$var,\n\"cmcode\":cmcode175.$var,\n\"h-sequence-sep\":h$sequence$sep151.$var,\n\"para-nospace\":para$nospace985,\n\"v-sequence\":v$sequence143.$var,\n\"embed\":embed155.$var,\n\"ed-names\":ed$names855.$var,\n\"is-h-sequence-sep\":is$h$sequence$sep149.$var,\n\"is-cmcode\":is$cmcode173.$var,\n\"is-v-sequence\":is$v$sequence141.$var,\n\"ed-bindings\":ed$bindings900.$var,\n\"is-loc\":is$loc161.$var,\n\"is-ErrorDisplay\":is$ErrorDisplay131.$var}),\n\"types\":{\"ErrorDisplay\":ErrorDisplay84},\n\"modules\":{}}),\n\"checks\":checks987});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans14;\ndefault: R.ffi.throwSpinnakerError(L[203],$step11);\n}\n}\nif($step11 !== 4) {\n$ans14.stack[R.EXN_STACKHEIGHT++] = R.mAR($al15,$toplevel12,$step11,[],[h$sequence147,bulleted980,ed$args840,is$loc161,is$v$sequence141,ed$rows945,answer986,is$loc$display177,is$text157,ed$values960,error981,maybe$stack$loc167,ed$nth977,is$code169,para$nospace985,bulleted$sequence139,sequence545,code171,is$cmcode173,para979,ed$names855,paragraph135,is$maybe$stack$loc165,is$bulleted$sequence137,v$sequence143,is$ErrorDisplay131,is$optional181,highlight187,text159,is$h$sequence$sep149,h$sequence$sep151,ed$params915,vert982,opt984,ErrorDisplay84,is$paragraph133,is$h$sequence145,cmcode175,embed155,locs983,ed$bindings900,is$highlight185,loc163,ed$fields870,optional183,loc$display179,ed$components930,is$embed153,ed$field$bindings885],$elidedFrames17);\n}\nreturn $ans14;\n};\nreturn R.safeCall($toplevel12,function module_load(moduleVal) {\nR.modules[\"$builtin://error$display10\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-ErrorDisplay":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -8, -0, -60, -25, -3, -902], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"is-loc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -16, -2, -438, -16, -28, -464], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-loc", -"typ":"tany"}, -"ed-bindings":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -124, -0, -5588, -128, -3, -5693], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-bindings", -"typ":"tany"}, -"is-v-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -11, -2, -189, -11, -50, -237], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-v-sequence", -"typ":"tany"}, -"is-cmcode":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -21, -2, -665, -21, -31, -694], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-cmcode", -"typ":"tany"}, -"is-h-sequence-sep":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -13, -2, -306, -13, -85, -389], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-h-sequence-sep", -"typ":"tany"}, -"ed-names":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -106, -0, -5264, -110, -3, -5360], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-names", -"typ":"tany"}, -"embed":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -14, -2, -392, -14, -21, -411], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"embed", -"typ":"tany"}, -"v-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -11, -2, -189, -11, -50, -237], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"v-sequence", -"typ":"tany"}, -"para-nospace":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -70, -0, -3234, -78, -1, -3857], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"h-sequence-sep":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -13, -2, -306, -13, -85, -389], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"h-sequence-sep", -"typ":"tany"}, -"cmcode":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -21, -2, -665, -21, -31, -694], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"cmcode", -"typ":"tany"}, -"maybe-stack-loc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -17, -2, -467, -19, -43, -627], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"maybe-stack-loc", -"typ":"tany"}, -"is-embed":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -14, -2, -392, -14, -21, -411], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-embed", -"typ":"tany"}, -"loc-display":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -22, -2, -697, -22, -79, -774], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"loc-display", -"typ":"tany"}, -"ed-params":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -130, -0, -5695, -134, -3, -5802], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-params", -"typ":"tany"}, -"ed-nth":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -154, -0, -6113, -164, -3, -6376], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-nth", -"typ":"tany"}, -"highlight":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -24, -2, -816, -24, -84, -898], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"highlight", -"typ":"tany"}, -"opt":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -90, -0, -4501, -98, -1, -5157], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"locs":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -28, -0, -905, -36, -1, -1408], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"is-maybe-stack-loc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -17, -2, -467, -19, -43, -627], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-maybe-stack-loc", -"typ":"tany"}, -"is-loc-display":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -22, -2, -697, -22, -79, -774], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-loc-display", -"typ":"tany"}, -"is-highlight":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -24, -2, -816, -24, -84, -898], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-highlight", -"typ":"tany"}, -"vert":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -58, -0, -2620, -66, -1, -3207], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"is-text":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -15, -2, -414, -15, -23, -435], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-text", -"typ":"tany"}, -"ed-values":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -148, -0, -6012, -152, -3, -6111], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-values", -"typ":"tany"}, -"is-code":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -20, -2, -630, -20, -34, -662], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-code", -"typ":"tany"}, -"ed-field-bindings":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -118, -0, -5463, -122, -3, -5586], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-field-bindings", -"typ":"tany"}, -"paragraph":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -9, -2, -81, -9, -49, -128], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"paragraph", -"typ":"tany"}, -"bulleted-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -10, -2, -131, -10, -57, -186], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"bulleted-sequence", -"typ":"tany"}, -"code":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -20, -2, -630, -20, -34, -662], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"code", -"typ":"tany"}, -"text":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -15, -2, -414, -15, -23, -435], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"text", -"typ":"tany"}, -"ed-args":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -100, -0, -5159, -104, -3, -5262], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-args", -"typ":"tany"}, -"is-paragraph":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -9, -2, -81, -9, -49, -128], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-paragraph", -"typ":"tany"}, -"is-bulleted-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -10, -2, -131, -10, -57, -186], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-bulleted-sequence", -"typ":"tany"}, -"is-h-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -12, -2, -240, -12, -65, -303], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-h-sequence", -"typ":"tany"}, -"error":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -68, -0, -3209, -68, -23, -3232], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"ed-fields":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -112, -0, -5362, -116, -3, -5461], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-fields", -"typ":"tany"}, -"ed-rows":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -142, -0, -5917, -146, -3, -6010], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-rows", -"typ":"tany"}, -"h-sequence":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -12, -2, -240, -12, -65, -303], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"h-sequence", -"typ":"tany"}, -"ed-components":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -136, -0, -5804, -140, -3, -5915], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":false, -"name":"ed-components", -"typ":"tany"}, -"is-optional":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -23, -2, -777, -23, -38, -813], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"is-optional", -"typ":"tany"}, -"sequence":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -48, -0, -1992, -56, -1, -2618], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"bulleted":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -80, -0, -3859, -88, -1, -4499], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"para":{"bind":"let", -"origin":{"local-bind-site":["builtin://error-display", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://error-display", -38, -0, -1410, -46, -1, -1990], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"typ":"tany"}, -"optional":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -23, -2, -777, -23, -38, -813], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"optional", -"typ":"tany"}, -"loc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error-display", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://error-display", -16, -2, -438, -16, -28, -464], -"new-definition":true, -"uri-of-definition":"builtin://error-display"}, -"flatness":0, -"name":"loc", -"typ":"tany"}}, -"datatypes":{"ErrorDisplay":["data",{"local-bind-site":["builtin://error-display", -8, -0, -60, -25, -3, -902], -"definition-bind-site":["builtin://error-display", -8, -0, -60, -25, -3, -902], -"new-definition":true, -"uri-of-definition":"builtin://error-display"},"ErrorDisplay",[],[["paragraph", -[["contents", -"tany"]], -{}],["bulleted-sequence", -[["contents", -"tany"]], -{}],["v-sequence", -[["contents", -"tany"]], -{}],["h-sequence", -[["contents", -"tany"],["sep", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["h-sequence-sep", -[["contents", -"tany"],["sep", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["last", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["embed", -[["val", -"tany"]], -{}],["text", -[["str", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["loc", -[["loc", -"tany"]], -{}],["maybe-stack-loc", -[["n", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["user-frames-only", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}],["contents-with-loc", -"tany"],["contents-without-loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://error-display"}, -"name":"ErrorDisplay"}]], -{}],["code", -[["contents", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://error-display"}, -"name":"ErrorDisplay"}]], -{}],["cmcode", -[["loc", -"tany"]], -{}],["loc-display", -[["loc", -"tany"],["style", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["contents", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://error-display"}, -"name":"ErrorDisplay"}]], -{}],["optional", -[["contents", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://error-display"}, -"name":"ErrorDisplay"}]], -{}],["highlight", -[["contents", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://error-display"}, -"name":"ErrorDisplay"}],["locs", -"tany"],["color", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{}]],{}]}, -"aliases":{"ErrorDisplay":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://option":({"theMap":"{\"version\":3,\"sources\":[\"builtin://option\"],\"names\":[\"builtin://option\",\",21,6,463,21,16,473\",\",25,13,623,25,23,633\",\",25,11,621,25,24,634\",\",25,6,616,25,25,635\",\",8,0,60,33,3,808\",\",9,2,78,17,7,321\",\",18,2,324,26,7,643\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,uBAoBKC,sBApBLD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gBAwBYE,uBAxBZF;AAAAA;AAAAA;AAAAA;AAwBUG,+BAxBVH;AAAAA;AAwBUG,2BAxBVH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwBKI,qCAxBLJ;AAAAA;AAwBKI,iCAxBLJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODK,+BAPCL;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCM,gCARDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCM,6BARDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAiBCO,gCAjBDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAiBCO,6BAjBDP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODK,qDAPCL;AAAAA;AAAAA;AAAAA;AAAAA,QAODK,oDAPCL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://option\"}", -"theModule":"function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__26(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://option\";\nvar D = R.undefined;\nvar L = [[M,10,4,95,13,7,205],\n[M,10,49,140,10,50,141],\n[M,10,27,118,10,36,127],\n[M,10,43,134,10,44,135],\n[M,14,4,211,17,7,321],\n[M,14,60,267,14,69,276],\n[M,14,31,238,14,40,247],\n[M,14,47,254,14,55,262],\n[M,19,4,353,22,7,481],\n[M,21,6,463,21,16,473],\n[M,19,49,398,19,50,399],\n[M,19,27,376,19,36,385],\n[M,19,43,392,19,44,393],\n[M,23,4,487,26,7,643],\n[M,25,6,616,25,10,620],\n[M,25,13,623,25,23,633],\n[M,23,60,543,23,69,552],\n[M,25,6,616,25,25,635],\n[M,25,11,621,25,24,634],\n[M,23,31,514,23,40,523],\n[M,23,47,530,23,55,538],\n[M,9,2,78,17,7,321],\n[M,18,2,324,26,7,643],\n[M,18,18,340,18,19,341],\n[M,8,0,60,33,3,808],\n[\"dummy location\"],\n[M,3,0,13,33,3,808]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel7 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__26($$resumer13) {\nvar $step6 = 0;\nvar $elidedFrames12 = 0;\nvar $ans9 = D;\nvar $al10 = L[26];\nif(R.isAR($$resumer13)) {\n$step6 = $$resumer13.step;\n$al10 = $$resumer13.from;\n$ans9 = $$resumer13.ans;\n$elidedFrames12 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$none85 = $$resumer13.vars[0];\nis$Option83 = $$resumer13.vars[1];\nis$some89 = $$resumer13.vars[2];\nanswer92 = $$resumer13.vars[3];\nnone87 = $$resumer13.vars[4];\nOption25 = $$resumer13.vars[5];\nsome57 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans9 = R.mC();\n}\nwhile(!R.isContinuation($ans9)) {\nswitch($step6) {\ncase 0: var Option14 = R.nB(\"Option\",L[24]);\nvar Option25 = R.mBA(Option14,\"Option\");\nvar Option81 = {\"$var\":D};\nvar is$Option83 = {\"$var\":D};\nvar is$none85 = {\"$var\":D};\nvar none87 = {\"$var\":D};\nvar is$some89 = {\"$var\":D};\nvar some57 = {\"$var\":D};\nvar $temp_full16 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__0($self17,$v18) {\nvar $step15 = 0;\nvar $elidedFrames22 = 0;\nvar $ans19 = D;\nvar $al20 = L[0];\nif(R.isAR($self17)) {\n$step15 = $self17.step;\n$al20 = $self17.from;\n$ans19 = $self17.ans;\n$elidedFrames22 = $self17.elidedFrames;\nself17 = $self17.args[0];\nv18 = $self17.args[1];\nann_check_temp23 = $self17.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],2,$t,true);\n}\nvar self17 = $self17;\nvar v18 = $v18;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans19 = R.mC();\n}\nwhile(!R.isContinuation($ans19)) {\nswitch($step15) {\ncase 0: $step15 = 1;\n$al20 = L[2];\nR._cA(L[2],Option25,self17);\nbreak;\ncase 1: $step15 = 2;\n$al20 = L[3];\nR._cA(L[3],R.Any,v18);\nbreak;\ncase 2: var ann_check_temp23 = v18;\n$step15 = 3;\n$al20 = L[1];\nvar $ann$check24 = R._cA(L[1],R.Any,ann_check_temp23);\nif(R.isContinuation($ann$check24)) {\n$ans19 = $ann$check24;\n}\nbreak;\ncase 3: $step15 = 4;\n$ans19 = ann_check_temp23;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans19;\ndefault: R.ffi.throwSpinnakerError(L[0],$step15);\n}\n}\nif($step15 !== 4) {\n$ans19.stack[R.EXN_STACKHEIGHT++] = R.mAR($al20,$temp_full16,$step15,[self17,v18],[ann_check_temp23],$elidedFrames22);\n}\nreturn $ans19;\n};\nvar anf_singleton_variant_member67 = R.makeMethod1($temp_full16,\"or-else\");\nvar $temp_full28 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__4($self29,$$underscore30) {\nvar $step27 = 0;\nvar $elidedFrames34 = 0;\nvar $ans31 = D;\nvar $al32 = L[4];\nif(R.isAR($self29)) {\n$step27 = $self29.step;\n$al32 = $self29.from;\n$ans31 = $self29.ans;\n$elidedFrames34 = $self29.elidedFrames;\nself29 = $self29.args[0];\n$underscore30 = $self29.args[1];\nann_check_temp35 = $self29.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],2,$t,true);\n}\nvar self29 = $self29;\nvar $underscore30 = $$underscore30;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans31 = R.mC();\n}\nwhile(!R.isContinuation($ans31)) {\nswitch($step27) {\ncase 0: $step27 = 1;\n$al32 = L[6];\nR._cA(L[6],Option25,self29);\nbreak;\ncase 1: $step27 = 2;\n$al32 = L[7];\nR._cA(L[7],R.Function,$underscore30);\nbreak;\ncase 2: var ann_check_temp35 = self29;\n$step27 = 3;\n$al32 = L[5];\nvar $ann$check36 = R._cA(L[5],Option25,ann_check_temp35);\nif(R.isContinuation($ann$check36)) {\n$ans31 = $ann$check36;\n}\nbreak;\ncase 3: $step27 = 4;\n$ans31 = ann_check_temp35;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans31;\ndefault: R.ffi.throwSpinnakerError(L[4],$step27);\n}\n}\nif($step27 !== 4) {\n$ans31.stack[R.EXN_STACKHEIGHT++] = R.mAR($al32,$temp_full28,$step27,[self29,$underscore30],[ann_check_temp35],$elidedFrames34);\n}\nreturn $ans31;\n};\nvar anf_singleton_variant_member68 = R.makeMethod1($temp_full28,\"and-then\");\nvar $temp_full39 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__8($self40,$v41) {\nvar $step38 = 0;\nvar $elidedFrames45 = 0;\nvar $ans42 = D;\nvar $al43 = L[8];\nif(R.isAR($self40)) {\n$step38 = $self40.step;\n$al43 = $self40.from;\n$ans42 = $self40.ans;\n$elidedFrames45 = $self40.elidedFrames;\nself40 = $self40.args[0];\nv41 = $self40.args[1];\nann_check_temp46 = $self40.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[8],2,$t,true);\n}\nvar self40 = $self40;\nvar v41 = $v41;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans42 = R.mC();\n}\nwhile(!R.isContinuation($ans42)) {\nswitch($step38) {\ncase 0: $step38 = 1;\n$al43 = L[11];\nR._cA(L[11],Option25,self40);\nbreak;\ncase 1: $step38 = 2;\n$al43 = L[12];\nR._cA(L[12],R.Any,v41);\nbreak;\ncase 2: $al43 = L[9];\nvar ann_check_temp46 = G(self40,\"value\",L[9]);\n$step38 = 3;\n$al43 = L[10];\nvar $ann$check47 = R._cA(L[10],R.Any,ann_check_temp46);\nif(R.isContinuation($ann$check47)) {\n$ans42 = $ann$check47;\n}\nbreak;\ncase 3: $step38 = 4;\n$ans42 = ann_check_temp46;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans42;\ndefault: R.ffi.throwSpinnakerError(L[8],$step38);\n}\n}\nif($step38 !== 4) {\n$ans42.stack[R.EXN_STACKHEIGHT++] = R.mAR($al43,$temp_full39,$step38,[self40,v41],[ann_check_temp46],$elidedFrames45);\n}\nreturn $ans42;\n};\nvar anf_variant_member74 = R.makeMethod1($temp_full39,\"or-else\");\nvar $temp_full50 = function _031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645__13($self51,$f52) {\nvar $step49 = 0;\nvar $elidedFrames56 = 0;\nvar $ans53 = D;\nvar $al54 = L[13];\nif(R.isAR($self51)) {\n$step49 = $self51.step;\n$al54 = $self51.from;\n$ans53 = $self51.ans;\n$elidedFrames56 = $self51.elidedFrames;\nself51 = $self51.args[0];\nf52 = $self51.args[1];\nanf_fun59 = $self51.vars[0];\nann_check_temp61 = $self51.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],2,$t,true);\n}\nvar self51 = $self51;\nvar f52 = $f52;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans53 = R.mC();\n}\nwhile(!R.isContinuation($ans53)) {\nswitch($step49) {\ncase 0: $step49 = 1;\n$al54 = L[19];\nR._cA(L[19],Option25,self51);\nbreak;\ncase 1: $step49 = 2;\n$al54 = L[20];\nR._cA(L[20],R.Function,f52);\nbreak;\ncase 2: var anf_fun59 = some57.$var === D?U(L[14],\"some\"):some57.$var;\n$al54 = L[15];\nvar anf_arg58 = G(self51,\"value\",L[15]);\n$step49 = 3;\n$al54 = L[18];\nif(typeof(f52.app) !== \"function\") {\nR.ffi.throwNonFunApp($al54,f52);\n}\n$ans53 = f52.app(anf_arg58);\nbreak;\ncase 3: var anf_arg60 = $ans53;\n$step49 = 4;\n$al54 = L[17];\nif(typeof(anf_fun59.app) !== \"function\") {\nR.ffi.throwNonFunApp($al54,anf_fun59);\n}\n$ans53 = anf_fun59.app(anf_arg60);\nbreak;\ncase 4: var ann_check_temp61 = $ans53;\n$step49 = 5;\n$al54 = L[16];\nvar $ann$check62 = R._cA(L[16],Option25,ann_check_temp61);\nif(R.isContinuation($ann$check62)) {\n$ans53 = $ann$check62;\n}\nbreak;\ncase 5: $step49 = 6;\n$ans53 = ann_check_temp61;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans53;\ndefault: R.ffi.throwSpinnakerError(L[13],$step49);\n}\n}\nif($step49 !== 6) {\n$ans53.stack[R.EXN_STACKHEIGHT++] = R.mAR($al54,$temp_full50,$step49,[self51,f52],[anf_fun59,ann_check_temp61],$elidedFrames56);\n}\nreturn $ans53;\n};\nvar anf_variant_member75 = R.makeMethod1($temp_full50,\"and-then\");\nvar $none_getfields70 = function variant(f) {\nreturn f();\n};\nvar $none_mutablemask69 = [];\nvar $none$base64 = {\"or-else\":anf_singleton_variant_member67,\n\"and-then\":anf_singleton_variant_member68,\n\"_match\":R.mM(\"none\",0)};\nvar $none$brander65 = R.nB(\"none\",L[21]);\nvar $none$brands66 = {};\n$none$brands66[Option14._brand] = true;\n$none$brands66[$none$brander65._brand] = true;\nvar $some_getfields77 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"]);\n};\nvar $some_mutablemask76 = [false];\nvar $some$base71 = {\"$fieldNames\":[\"value\"],\n\"or-else\":anf_variant_member74,\n\"and-then\":anf_variant_member75,\n\"_match\":R.mM(\"some\",1)};\nvar $some$brander72 = R.nB(\"some\",L[22]);\nvar $some$brands73 = {};\n$some$brands73[Option14._brand] = true;\n$some$brands73[$some$brander72._brand] = true;\nvar some78 = R.mVC(L[22],function $synthesizedConstructor_$some$base() {\nreturn [R.Any];\n},[\"value79\"],[L[23]],[false],[\"value79\"],$some_mutablemask76,$some$base71,$some$brands73,\"some\",$some_getfields77,$some$base71);\nvar anf_assign80 = R.mO({\"Option\":G(Option14,\"test\",L[24]),\n\"is-none\":G($none$brander65,\"test\",L[21]),\n\"none\":R.mDV($none$base64,$none$brands66,\"none\",$none_getfields70,-1,$none_mutablemask69,$none$base64,false,L[21]),\n\"is-some\":G($some$brander72,\"test\",L[22]),\n\"some\":some78});\nOption81.$var = anf_assign80;\nR.nothing;\n$al10 = L[24];\nvar anf_assign82 = G(Option81.$var,\"Option\",L[24]);\nis$Option83.$var = anf_assign82;\nR.nothing;\n$al10 = L[21];\nvar anf_assign84 = G(Option81.$var,\"is-none\",L[21]);\nis$none85.$var = anf_assign84;\nR.nothing;\n$al10 = L[21];\nvar anf_assign86 = G(Option81.$var,\"none\",L[21]);\nnone87.$var = anf_assign86;\nR.nothing;\n$al10 = L[22];\nvar anf_assign88 = G(Option81.$var,\"is-some\",L[22]);\nis$some89.$var = anf_assign88;\nR.nothing;\n$al10 = L[22];\nvar anf_assign90 = G(Option81.$var,\"some\",L[22]);\nsome57.$var = anf_assign90;\nR.nothing;\n$step6 = 1;\n$ans9 = R.maybeMethodCall2(builtins1,\"trace-value\",L[25],L[25],nothing2);\nbreak;\ncase 1: var answer92 = $ans9;\n$step6 = 2;\n$ans9 = R.maybeMethodCall0(builtins1,\"current-checker\",L[24]);\nbreak;\ncase 2: var anf_method_obj91 = $ans9;\n$step6 = 3;\n$ans9 = R.maybeMethodCall0(anf_method_obj91,\"results\",L[24]);\nbreak;\ncase 3: var checks93 = $ans9;\n$step6 = 4;\n$ans9 = R.mO({\"answer\":answer92,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"some\":some57.$var,\n\"is-some\":is$some89.$var,\n\"is-Option\":is$Option83.$var,\n\"none\":none87.$var,\n\"is-none\":is$none85.$var},\n\"defined-types\":{\"Option\":Option25},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"some\":some57.$var,\n\"is-some\":is$some89.$var,\n\"is-Option\":is$Option83.$var,\n\"none\":none87.$var,\n\"is-none\":is$none85.$var}),\n\"types\":{\"Option\":Option25},\n\"modules\":{}}),\n\"checks\":checks93});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans9;\ndefault: R.ffi.throwSpinnakerError(L[26],$step6);\n}\n}\nif($step6 !== 4) {\n$ans9.stack[R.EXN_STACKHEIGHT++] = R.mAR($al10,$toplevel7,$step6,[],[is$none85,is$Option83,is$some89,answer92,none87,Option25,some57],$elidedFrames12);\n}\nreturn $ans9;\n};\nreturn R.safeCall($toplevel7,function module_load(moduleVal) {\nR.modules[\"$builtin://option4\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-none":{"bind":"fun", -"origin":{"local-bind-site":["builtin://option", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://option", -9, -2, -78, -17, -7, -321], -"new-definition":true, -"uri-of-definition":"builtin://option"}, -"flatness":0, -"name":"is-none", -"typ":"tany"}, -"none":{"bind":"let", -"origin":{"local-bind-site":["builtin://option", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://option", -9, -2, -78, -17, -7, -321], -"new-definition":true, -"uri-of-definition":"builtin://option"}, -"typ":"tany"}, -"is-Option":{"bind":"let", -"origin":{"local-bind-site":["builtin://option", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://option", -8, -0, -60, -33, -3, -808], -"new-definition":true, -"uri-of-definition":"builtin://option"}, -"typ":"tany"}, -"is-some":{"bind":"fun", -"origin":{"local-bind-site":["builtin://option", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://option", -18, -2, -324, -26, -7, -643], -"new-definition":true, -"uri-of-definition":"builtin://option"}, -"flatness":0, -"name":"is-some", -"typ":"tany"}, -"some":{"bind":"fun", -"origin":{"local-bind-site":["builtin://option", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://option", -18, -2, -324, -26, -7, -643], -"new-definition":true, -"uri-of-definition":"builtin://option"}, -"flatness":0, -"name":"some", -"typ":"tany"}}, -"datatypes":{"Option":["data",{"local-bind-site":["builtin://option", -8, -0, -60, -33, -3, -808], -"definition-bind-site":["builtin://option", -8, -0, -60, -33, -3, -808], -"new-definition":true, -"uri-of-definition":"builtin://option"},"Option",["atom#a#10"],[["none", -{"and-then":["forall", -["atom#b#13"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["arrow", -[["tid", -"atom#a#10"]], -["tid", -"atom#b#13"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#b#13"]]]]], -"or-else":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["tid", -"atom#a#10"]], -["tid", -"atom#a#10"]]}],["some", -[["value", -["tid", -"atom#a#10"]]], -{"and-then":["forall", -["atom#b#19"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["arrow", -[["tid", -"atom#a#10"]], -["tid", -"atom#b#19"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#b#19"]]]]], -"or-else":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["tid", -"atom#a#10"]], -["tid", -"atom#a#10"]]}]],{"and-then":["forall", -["atom#b#13"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["arrow", -[["tid", -"atom#a#10"]], -["tid", -"atom#b#13"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#b#13"]]]]], -"or-else":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://option"}, -"name":"Option"},[["tid", -"atom#a#10"]]], -["tid", -"atom#a#10"]], -["tid", -"atom#a#10"]]}]}, -"aliases":{"Option":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://valueskeleton":({"theMap":"{\"version\":3,\"sources\":[\"builtin://valueskeleton\"],\"names\":[\"builtin://valueskeleton\",\",8,0,60,16,3,344\",\",9,2,82,9,23,103\",\",10,2,106,10,22,126\",\",11,2,129,11,40,167\",\",12,2,170,12,35,203\",\",13,2,206,13,66,270\",\",14,2,273,14,51,322\",\",15,2,325,15,17,340\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAODC,6CAPCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,wCARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCE,qCARDF;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,0CATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBASCG,uCATDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAUCI,+CAVDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAUCI,4CAVDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAWCK,2CAXDL;AAAAA;AAAAA;AAAAA;AAAAA,mBAWCK,wCAXDL;AAAAA;AAAAA;AAAAA;AAAAA,mBAYCM,0CAZDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAYCM,uCAZDN;AAAAA;AAAAA;AAAAA;AAAAA,mBAaCO,wCAbDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAaCO,qCAbDP;AAAAA;AAAAA;AAAAA;AAAAA,mBAcCQ,yCAdDR;AAAAA;AAAAA;AAAAA;AAAAA,mBAcCQ,sCAdDR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,qDAPCD;AAAAA;AAAAA;AAAAA;AAAAA,QAODC,oDAPCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://valueskeleton\"}", -"theModule":"function _62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f__15(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://valueskeleton\";\nvar D = R.undefined;\nvar L = [[M,9,2,82,9,23,103],\n[M,9,16,96,9,22,102],\n[M,10,2,106,10,22,126],\n[M,11,2,129,11,40,167],\n[M,11,26,153,11,32,159],\n[M,12,2,170,12,35,203],\n[M,12,22,190,12,28,196],\n[M,13,2,206,13,66,270],\n[M,13,24,228,13,32,236],\n[M,14,2,273,14,51,322],\n[M,14,22,293,14,30,301],\n[M,14,42,313,14,50,321],\n[M,15,2,325,15,17,340],\n[M,8,0,60,16,3,344],\n[\"dummy location\"],\n[M,3,0,13,16,3,344]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel4 = function _62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f__15($$resumer13) {\nvar $step3 = 0;\nvar $elidedFrames9 = 0;\nvar $ans6 = D;\nvar $al7 = L[15];\nif(R.isAR($$resumer13)) {\n$step3 = $$resumer13.step;\n$al7 = $$resumer13.from;\n$ans6 = $$resumer13.ans;\n$elidedFrames9 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nvs$value71 = $$resumer13.vars[0];\nis$vs$collection72 = $$resumer13.vars[1];\nis$vs$seq88 = $$resumer13.vars[2];\nis$vs$row84 = $$resumer13.vars[3];\nvs$table82 = $$resumer13.vars[4];\nvs$str69 = $$resumer13.vars[5];\nis$vs$value70 = $$resumer13.vars[6];\nvs$collection73 = $$resumer13.vars[7];\nanswer94 = $$resumer13.vars[8];\nis$ValueSkeleton67 = $$resumer13.vars[9];\nvs$seq90 = $$resumer13.vars[10];\nValueSkeleton93 = $$resumer13.vars[11];\nis$vs$str68 = $$resumer13.vars[12];\nis$vs$constr75 = $$resumer13.vars[13];\nis$vs$table79 = $$resumer13.vars[14];\nvs$row86 = $$resumer13.vars[15];\nvs$constr77 = $$resumer13.vars[16];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6 = R.mC();\n}\nwhile(!R.isContinuation($ans6)) {\nswitch($step3) {\ncase 0: var ValueSkeleton10 = R.nB(\"ValueSkeleton\",L[13]);\nvar ValueSkeleton93 = R.mBA(ValueSkeleton10,\"ValueSkeleton\");\nvar ValueSkeleton65 = {\"$var\":D};\nvar is$ValueSkeleton67 = {\"$var\":D};\nvar is$vs$str68 = {\"$var\":D};\nvar vs$str69 = {\"$var\":D};\nvar is$vs$value70 = {\"$var\":D};\nvar vs$value71 = {\"$var\":D};\nvar is$vs$collection72 = {\"$var\":D};\nvar vs$collection73 = {\"$var\":D};\nvar is$vs$constr75 = {\"$var\":D};\nvar vs$constr77 = {\"$var\":D};\nvar is$vs$table79 = {\"$var\":D};\nvar vs$table82 = {\"$var\":D};\nvar is$vs$row84 = {\"$var\":D};\nvar vs$row86 = {\"$var\":D};\nvar is$vs$seq88 = {\"$var\":D};\nvar vs$seq90 = {\"$var\":D};\nvar $vs$str_getfields15 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $vs$str_mutablemask14 = [false];\nvar $vs$str$base11 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"vs-str\",1)};\nvar $vs$str$brander12 = R.nB(\"vs-str\",L[0]);\nvar $vs$str$brands13 = {};\n$vs$str$brands13[ValueSkeleton10._brand] = true;\n$vs$str$brands13[$vs$str$brander12._brand] = true;\nvar vs$str16 = R.mVC(L[0],function $synthesizedConstructor_$vs$str$base() {\nreturn [$type$String8];\n},[\"s17\"],[L[1]],[false],[\"s17\"],$vs$str_mutablemask14,$vs$str$base11,$vs$str$brands13,\"vs-str\",$vs$str_getfields15,$vs$str$base11);\nvar $vs$value_getfields22 = function singleton_variant(f) {\nreturn f(this.dict[\"v\"]);\n};\nvar $vs$value_mutablemask21 = [false];\nvar $vs$value$base18 = {\"$fieldNames\":[\"v\"],\n\"_match\":R.mM(\"vs-value\",1)};\nvar $vs$value$brander19 = R.nB(\"vs-value\",L[2]);\nvar $vs$value$brands20 = {};\n$vs$value$brands20[ValueSkeleton10._brand] = true;\n$vs$value$brands20[$vs$value$brander19._brand] = true;\nvar vs$value23 = R.mVC(L[2],function $synthesizedConstructor_$vs$value$base() {\nreturn [];\n},[],[],[false],[\"v24\"],$vs$value_mutablemask21,$vs$value$base18,$vs$value$brands20,\"vs-value\",$vs$value_getfields22,$vs$value$base18);\nvar $vs$collection_getfields29 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"items\"]);\n};\nvar $vs$collection_mutablemask28 = [false,false];\nvar $vs$collection$base25 = {\"$fieldNames\":[\"name\",\"items\"],\n\"_match\":R.mM(\"vs-collection\",2)};\nvar $vs$collection$brander26 = R.nB(\"vs-collection\",L[3]);\nvar $vs$collection$brands27 = {};\n$vs$collection$brands27[ValueSkeleton10._brand] = true;\n$vs$collection$brands27[$vs$collection$brander26._brand] = true;\nvar vs$collection30 = R.mVC(L[3],function $synthesizedConstructor_$vs$collection$base() {\nreturn [$type$String8];\n},[\"name31\"],[L[4]],[false,false],[\"name31\",\"items32\"],$vs$collection_mutablemask28,$vs$collection$base25,$vs$collection$brands27,\"vs-collection\",$vs$collection_getfields29,$vs$collection$base25);\nvar $vs$constr_getfields37 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"args\"]);\n};\nvar $vs$constr_mutablemask36 = [false,false];\nvar $vs$constr$base33 = {\"$fieldNames\":[\"name\",\"args\"],\n\"_match\":R.mM(\"vs-constr\",2)};\nvar $vs$constr$brander34 = R.nB(\"vs-constr\",L[5]);\nvar $vs$constr$brands35 = {};\n$vs$constr$brands35[ValueSkeleton10._brand] = true;\n$vs$constr$brands35[$vs$constr$brander34._brand] = true;\nvar vs$constr38 = R.mVC(L[5],function $synthesizedConstructor_$vs$constr$base() {\nreturn [$type$String8];\n},[\"name39\"],[L[6]],[false,false],[\"name39\",\"args40\"],$vs$constr_mutablemask36,$vs$constr$base33,$vs$constr$brands35,\"vs-constr\",$vs$constr_getfields37,$vs$constr$base33);\nvar $vs$table_getfields45 = function singleton_variant(f) {\nreturn f(this.dict[\"headers\"],this.dict[\"rows\"]);\n};\nvar $vs$table_mutablemask44 = [false,false];\nvar $vs$table$base41 = {\"$fieldNames\":[\"headers\",\"rows\"],\n\"_match\":R.mM(\"vs-table\",2)};\nvar $vs$table$brander42 = R.nB(\"vs-table\",L[7]);\nvar $vs$table$brands43 = {};\n$vs$table$brands43[ValueSkeleton10._brand] = true;\n$vs$table$brands43[$vs$table$brander42._brand] = true;\nvar vs$table46 = R.mVC(L[7],function $synthesizedConstructor_$vs$table$base() {\nreturn [$type$RawArray1];\n},[\"headers47\"],[L[8]],[false,false],[\"headers47\",\"rows48\"],$vs$table_mutablemask44,$vs$table$base41,$vs$table$brands43,\"vs-table\",$vs$table_getfields45,$vs$table$base41);\nvar $vs$row_getfields53 = function singleton_variant(f) {\nreturn f(this.dict[\"headers\"],this.dict[\"values\"]);\n};\nvar $vs$row_mutablemask52 = [false,false];\nvar $vs$row$base49 = {\"$fieldNames\":[\"headers\",\"values\"],\n\"_match\":R.mM(\"vs-row\",2)};\nvar $vs$row$brander50 = R.nB(\"vs-row\",L[9]);\nvar $vs$row$brands51 = {};\n$vs$row$brands51[ValueSkeleton10._brand] = true;\n$vs$row$brands51[$vs$row$brander50._brand] = true;\nvar vs$row54 = R.mVC(L[9],function $synthesizedConstructor_$vs$row$base() {\nreturn [$type$RawArray1,$type$RawArray1];\n},[\"headers55\",\"values56\"],[L[10],L[11]],[false,false],[\"headers55\",\"values56\"],$vs$row_mutablemask52,$vs$row$base49,$vs$row$brands51,\"vs-row\",$vs$row_getfields53,$vs$row$base49);\nvar $vs$seq_getfields61 = function singleton_variant(f) {\nreturn f(this.dict[\"items\"]);\n};\nvar $vs$seq_mutablemask60 = [false];\nvar $vs$seq$base57 = {\"$fieldNames\":[\"items\"],\n\"_match\":R.mM(\"vs-seq\",1)};\nvar $vs$seq$brander58 = R.nB(\"vs-seq\",L[12]);\nvar $vs$seq$brands59 = {};\n$vs$seq$brands59[ValueSkeleton10._brand] = true;\n$vs$seq$brands59[$vs$seq$brander58._brand] = true;\nvar vs$seq62 = R.mVC(L[12],function $synthesizedConstructor_$vs$seq$base() {\nreturn [];\n},[],[],[false],[\"items63\"],$vs$seq_mutablemask60,$vs$seq$base57,$vs$seq$brands59,\"vs-seq\",$vs$seq_getfields61,$vs$seq$base57);\nvar anf_assign64 = R.mO({\"ValueSkeleton\":G(ValueSkeleton10,\"test\",L[13]),\n\"is-vs-str\":G($vs$str$brander12,\"test\",L[0]),\n\"vs-str\":vs$str16,\n\"is-vs-value\":G($vs$value$brander19,\"test\",L[2]),\n\"vs-value\":vs$value23,\n\"is-vs-collection\":G($vs$collection$brander26,\"test\",L[3]),\n\"vs-collection\":vs$collection30,\n\"is-vs-constr\":G($vs$constr$brander34,\"test\",L[5]),\n\"vs-constr\":vs$constr38,\n\"is-vs-table\":G($vs$table$brander42,\"test\",L[7]),\n\"vs-table\":vs$table46,\n\"is-vs-row\":G($vs$row$brander50,\"test\",L[9]),\n\"vs-row\":vs$row54,\n\"is-vs-seq\":G($vs$seq$brander58,\"test\",L[12]),\n\"vs-seq\":vs$seq62});\nValueSkeleton65.$var = anf_assign64;\nR.nothing;\n$al7 = L[13];\nvar anf_assign66 = G(ValueSkeleton65.$var,\"ValueSkeleton\",L[13]);\nis$ValueSkeleton67.$var = anf_assign66;\nR.nothing;\n$al7 = L[0];\nvar anf_assign80 = G(ValueSkeleton65.$var,\"is-vs-str\",L[0]);\nis$vs$str68.$var = anf_assign80;\nR.nothing;\n$al7 = L[0];\nvar anf_assign82 = G(ValueSkeleton65.$var,\"vs-str\",L[0]);\nvs$str69.$var = anf_assign82;\nR.nothing;\n$al7 = L[2];\nvar anf_assign84 = G(ValueSkeleton65.$var,\"is-vs-value\",L[2]);\nis$vs$value70.$var = anf_assign84;\nR.nothing;\n$al7 = L[2];\nvar anf_assign86 = G(ValueSkeleton65.$var,\"vs-value\",L[2]);\nvs$value71.$var = anf_assign86;\nR.nothing;\n$al7 = L[3];\nvar anf_assign88 = G(ValueSkeleton65.$var,\"is-vs-collection\",L[3]);\nis$vs$collection72.$var = anf_assign88;\nR.nothing;\n$al7 = L[3];\nvar anf_assign90 = G(ValueSkeleton65.$var,\"vs-collection\",L[3]);\nvs$collection73.$var = anf_assign90;\nR.nothing;\n$al7 = L[5];\nvar anf_assign74 = G(ValueSkeleton65.$var,\"is-vs-constr\",L[5]);\nis$vs$constr75.$var = anf_assign74;\nR.nothing;\n$al7 = L[5];\nvar anf_assign76 = G(ValueSkeleton65.$var,\"vs-constr\",L[5]);\nvs$constr77.$var = anf_assign76;\nR.nothing;\n$al7 = L[7];\nvar anf_assign78 = G(ValueSkeleton65.$var,\"is-vs-table\",L[7]);\nis$vs$table79.$var = anf_assign78;\nR.nothing;\n$al7 = L[7];\nvar anf_assign81 = G(ValueSkeleton65.$var,\"vs-table\",L[7]);\nvs$table82.$var = anf_assign81;\nR.nothing;\n$al7 = L[9];\nvar anf_assign83 = G(ValueSkeleton65.$var,\"is-vs-row\",L[9]);\nis$vs$row84.$var = anf_assign83;\nR.nothing;\n$al7 = L[9];\nvar anf_assign85 = G(ValueSkeleton65.$var,\"vs-row\",L[9]);\nvs$row86.$var = anf_assign85;\nR.nothing;\n$al7 = L[12];\nvar anf_assign87 = G(ValueSkeleton65.$var,\"is-vs-seq\",L[12]);\nis$vs$seq88.$var = anf_assign87;\nR.nothing;\n$al7 = L[12];\nvar anf_assign89 = G(ValueSkeleton65.$var,\"vs-seq\",L[12]);\nvs$seq90.$var = anf_assign89;\nR.nothing;\n$step3 = 1;\n$ans6 = R.maybeMethodCall2(builtins1,\"trace-value\",L[14],L[14],nothing2);\nbreak;\ncase 1: var answer94 = $ans6;\n$step3 = 2;\n$ans6 = R.maybeMethodCall0(builtins1,\"current-checker\",L[13]);\nbreak;\ncase 2: var anf_method_obj92 = $ans6;\n$step3 = 3;\n$ans6 = R.maybeMethodCall0(anf_method_obj92,\"results\",L[13]);\nbreak;\ncase 3: var checks95 = $ans6;\n$step3 = 4;\n$ans6 = R.mO({\"answer\":answer94,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-vs-table\":is$vs$table79.$var,\n\"vs-value\":vs$value71.$var,\n\"vs-str\":vs$str69.$var,\n\"is-vs-str\":is$vs$str68.$var,\n\"is-vs-value\":is$vs$value70.$var,\n\"vs-row\":vs$row86.$var,\n\"is-vs-collection\":is$vs$collection72.$var,\n\"is-vs-row\":is$vs$row84.$var,\n\"vs-collection\":vs$collection73.$var,\n\"vs-seq\":vs$seq90.$var,\n\"is-vs-seq\":is$vs$seq88.$var,\n\"is-ValueSkeleton\":is$ValueSkeleton67.$var,\n\"is-vs-constr\":is$vs$constr75.$var,\n\"vs-table\":vs$table82.$var,\n\"vs-constr\":vs$constr77.$var},\n\"defined-types\":{\"ValueSkeleton\":ValueSkeleton93},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-vs-table\":is$vs$table79.$var,\n\"vs-value\":vs$value71.$var,\n\"vs-str\":vs$str69.$var,\n\"is-vs-str\":is$vs$str68.$var,\n\"is-vs-value\":is$vs$value70.$var,\n\"vs-row\":vs$row86.$var,\n\"is-vs-collection\":is$vs$collection72.$var,\n\"is-vs-row\":is$vs$row84.$var,\n\"vs-collection\":vs$collection73.$var,\n\"vs-seq\":vs$seq90.$var,\n\"is-vs-seq\":is$vs$seq88.$var,\n\"is-ValueSkeleton\":is$ValueSkeleton67.$var,\n\"is-vs-constr\":is$vs$constr75.$var,\n\"vs-table\":vs$table82.$var,\n\"vs-constr\":vs$constr77.$var}),\n\"types\":{\"ValueSkeleton\":ValueSkeleton93},\n\"modules\":{}}),\n\"checks\":checks95});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6;\ndefault: R.ffi.throwSpinnakerError(L[15],$step3);\n}\n}\nif($step3 !== 4) {\n$ans6.stack[R.EXN_STACKHEIGHT++] = R.mAR($al7,$toplevel4,$step3,[],[vs$value71,is$vs$collection72,is$vs$seq88,is$vs$row84,vs$table82,vs$str69,is$vs$value70,vs$collection73,answer94,is$ValueSkeleton67,vs$seq90,ValueSkeleton93,is$vs$str68,is$vs$constr75,is$vs$table79,vs$row86,vs$constr77],$elidedFrames9);\n}\nreturn $ans6;\n};\nreturn R.safeCall($toplevel4,function module_load(moduleVal) {\nR.modules[\"$builtin://valueskeleton2\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"vs-constr":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -12, -2, -170, -12, -35, -203], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-constr", -"typ":"tany"}, -"vs-table":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -13, -2, -206, -13, -66, -270], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-table", -"typ":"tany"}, -"is-vs-constr":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -12, -2, -170, -12, -35, -203], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-constr", -"typ":"tany"}, -"is-ValueSkeleton":{"bind":"let", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -8, -0, -60, -16, -3, -344], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"typ":"tany"}, -"is-vs-seq":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -15, -2, -325, -15, -17, -340], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-seq", -"typ":"tany"}, -"vs-seq":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -15, -2, -325, -15, -17, -340], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-seq", -"typ":"tany"}, -"vs-collection":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -11, -2, -129, -11, -40, -167], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-collection", -"typ":"tany"}, -"is-vs-row":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -14, -2, -273, -14, -51, -322], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-row", -"typ":"tany"}, -"is-vs-collection":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -11, -2, -129, -11, -40, -167], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-collection", -"typ":"tany"}, -"vs-row":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -14, -2, -273, -14, -51, -322], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-row", -"typ":"tany"}, -"is-vs-value":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -10, -2, -106, -10, -22, -126], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-value", -"typ":"tany"}, -"is-vs-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -9, -2, -82, -9, -23, -103], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-str", -"typ":"tany"}, -"vs-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -9, -2, -82, -9, -23, -103], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-str", -"typ":"tany"}, -"vs-value":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -10, -2, -106, -10, -22, -126], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"vs-value", -"typ":"tany"}, -"is-vs-table":{"bind":"fun", -"origin":{"local-bind-site":["builtin://valueskeleton", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://valueskeleton", -13, -2, -206, -13, -66, -270], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"}, -"flatness":0, -"name":"is-vs-table", -"typ":"tany"}}, -"datatypes":{"ValueSkeleton":["data",{"local-bind-site":["builtin://valueskeleton", -8, -0, -60, -16, -3, -344], -"definition-bind-site":["builtin://valueskeleton", -8, -0, -60, -16, -3, -344], -"new-definition":true, -"uri-of-definition":"builtin://valueskeleton"},"ValueSkeleton",[],[["vs-str", -[["s", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["vs-value", -[["v", -"tany"]], -{}],["vs-collection", -[["name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["items", -"tany"]], -{}],["vs-constr", -[["name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["args", -"tany"]], -{}],["vs-table", -[["headers", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"}],["rows", -"tany"]], -{}],["vs-row", -[["headers", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"}],["values", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"}]], -{}],["vs-seq", -[["items", -"tany"]], -{}]],{}]}, -"aliases":{"ValueSkeleton":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://srcloc":({"theMap":"{\"version\":3,\"sources\":[\"builtin://srcloc\"],\"names\":[\"builtin://srcloc\",\",119,29,4064,119,47,4082\",\",12,20,187,12,36,203\",\",12,6,173,12,36,203\",\",12,6,173,12,42,209\",\",14,22,241,14,38,257\",\",16,6,304,16,23,321\",\",16,29,327,16,46,344\",\",16,50,348,16,66,364\",\",16,29,327,16,66,364\",\",16,28,326,16,67,365\",\",20,35,469,20,51,485\",\",20,54,488,20,71,505\",\",20,35,469,20,71,505\",\",19,6,413,22,9,563\",\",43,8,1214,43,19,1225\",\",43,8,1214,43,25,1231\",\",43,37,1243,43,52,1258\",\",43,28,1234,43,53,1259\",\",43,8,1214,43,53,1259\",\",43,8,1214,43,59,1265\",\",43,71,1277,43,88,1294\",\",43,62,1268,43,89,1295\",\",43,8,1214,43,89,1295\",\",43,8,1214,44,15,1311\",\",44,27,1323,44,40,1336\",\",44,18,1314,44,41,1337\",\",43,8,1214,44,41,1337\",\",43,8,1214,44,47,1343\",\",44,59,1355,44,74,1370\",\",44,50,1346,44,75,1371\",\",43,8,1214,44,75,1371\",\",46,27,1411,46,42,1426\",\",46,18,1402,46,43,1427\",\",46,8,1392,46,43,1427\",\",46,8,1392,46,57,1441\",\",46,69,1453,46,86,1470\",\",46,60,1444,46,87,1471\",\",46,8,1392,46,87,1471\",\",49,22,1513,49,33,1524\",\",49,22,1513,49,39,1530\",\",49,51,1542,49,66,1557\",\",49,42,1533,49,67,1558\",\",49,22,1513,49,67,1558\",\",49,22,1513,49,73,1564\",\",49,85,1576,49,98,1589\",\",49,76,1567,49,99,1590\",\",49,22,1513,49,99,1590\",\",51,6,1647,51,22,1663\",\",51,28,1669,51,39,1680\",\",51,43,1684,51,55,1696\",\",51,28,1669,51,55,1696\",\",51,27,1668,51,56,1697\",\",57,18,1932,57,33,1947\",\",57,36,1950,57,52,1966\",\",57,18,1932,57,52,1966\",\",61,13,2026,61,24,2037\",\",62,8,2047,62,23,2062\",\",62,25,2064,62,42,2081\",\",62,44,2083,62,59,2098\",\",63,8,2108,63,23,2123\",\",63,25,2125,63,42,2142\",\",63,44,2144,63,59,2159\",\",61,6,2019,63,60,2160\",\",66,13,2208,66,24,2219\",\",67,8,2229,67,21,2242\",\",67,23,2244,67,38,2259\",\",67,40,2261,67,53,2274\",\",68,8,2284,68,21,2297\",\",68,23,2299,68,38,2314\",\",68,40,2316,68,53,2329\",\",66,6,2201,68,54,2330\",\",72,9,2463,72,24,2478\",\",72,28,2482,72,44,2498\",\",72,9,2463,72,44,2498\",\",73,11,2511,73,24,2524\",\",73,28,2528,73,42,2542\",\",73,11,2511,73,42,2542\",\",76,17,2590,76,28,2601\",\",77,12,2615,77,27,2630\",\",77,29,2632,77,46,2649\",\",77,48,2651,77,63,2666\",\",78,12,2680,78,26,2694\",\",78,28,2696,78,44,2712\",\",78,46,2714,78,60,2728\",\",76,10,2583,78,61,2729\",\",81,11,2765,81,24,2778\",\",81,27,2781,81,41,2795\",\",81,11,2765,81,41,2795\",\",82,17,2814,82,28,2825\",\",83,12,2839,83,28,2855\",\",83,30,2857,83,48,2875\",\",83,50,2877,83,66,2893\",\",84,12,2907,84,25,2920\",\",84,27,2922,84,42,2937\",\",84,44,2939,84,57,2952\",\",82,10,2807,84,58,2953\",\",92,9,3137,92,24,3152\",\",92,28,3156,92,42,3170\",\",92,9,3137,92,42,3170\",\",93,15,3187,93,26,3198\",\",94,10,3210,94,25,3225\",\",94,27,3227,94,44,3244\",\",94,46,3246,94,61,3261\",\",95,10,3273,95,26,3289\",\",95,28,3291,95,46,3309\",\",95,48,3311,95,64,3327\",\",93,8,3180,95,65,3328\",\",102,9,3499,102,24,3514\",\",102,28,3518,102,42,3532\",\",102,9,3499,102,42,3532\",\",103,15,3549,103,26,3560\",\",104,10,3572,104,25,3587\",\",104,27,3589,104,44,3606\",\",104,46,3608,104,61,3623\",\",105,10,3635,105,24,3649\",\",105,26,3651,105,42,3667\",\",105,44,3669,105,58,3683\",\",103,8,3542,105,59,3684\",\",111,6,3769,111,22,3785\",\",112,13,3799,112,28,3814\",\",112,32,3818,112,48,3834\",\",112,13,3799,112,48,3834\",\",113,13,3849,113,28,3864\",\",113,32,3868,113,48,3884\",\",113,13,3849,113,48,3884\",\",114,13,3899,114,26,3912\",\",114,30,3916,114,44,3930\",\",114,13,3899,114,44,3930\",\",115,13,3945,115,26,3958\",\",115,30,3962,115,44,3976\",\",115,13,3945,115,44,3976\",\",115,12,3944,115,45,3977\",\",9,0,95,120,3,4090\",\",10,2,110,27,37,665\",\",28,2,668,117,38,4025\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://srcloc\"}", -"theModule":"function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__181(R,NAMESPACE,M,$$underscore_import5,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://srcloc\";\nvar D = R.undefined;\nvar L = [[M,119,2,4037,119,51,4086],\n[M,119,29,4064,119,47,4082],\n[M,11,4,143,13,7,217],\n[M,12,20,187,12,36,203],\n[M,12,6,173,12,42,209],\n[M,12,6,173,12,36,203],\n[M,14,4,223,14,42,261],\n[M,14,22,241,14,38,257],\n[M,15,4,267,17,7,373],\n[M,16,6,304,16,16,314],\n[M,16,29,327,16,46,344],\n[M,16,50,348,16,66,364],\n[M,16,29,327,16,66,364],\n[M,16,6,304,16,23,321],\n[M,18,4,379,23,7,571],\n[M,20,35,469,20,51,485],\n[M,20,54,488,20,71,505],\n[M,20,35,469,20,71,505],\n[M,20,8,442,20,72,506],\n[M,19,6,413,22,9,563],\n[M,21,8,515,21,46,553],\n[M,19,12,419,19,18,425],\n[M,24,4,577,26,7,626],\n[M,27,4,632,27,37,665],\n[M,37,4,899,48,7,1489],\n[M,43,8,1214,43,19,1225],\n[M,43,37,1243,43,52,1258],\n[M,43,71,1277,43,88,1294],\n[M,44,27,1323,44,40,1336],\n[M,44,59,1355,44,74,1370],\n[M,43,8,1214,44,75,1371],\n[M,44,50,1346,44,75,1371],\n[M,43,8,1214,44,47,1343],\n[M,43,8,1214,44,41,1337],\n[M,44,18,1314,44,41,1337],\n[M,43,8,1214,44,15,1311],\n[M,43,8,1214,43,89,1295],\n[M,43,62,1268,43,89,1295],\n[M,43,8,1214,43,59,1265],\n[M,43,8,1214,43,53,1259],\n[M,43,28,1234,43,53,1259],\n[M,43,8,1214,43,25,1231],\n[M,46,27,1411,46,42,1426],\n[M,46,69,1453,46,86,1470],\n[M,46,8,1392,46,87,1471],\n[M,46,60,1444,46,87,1471],\n[M,46,8,1392,46,57,1441],\n[M,46,8,1392,46,43,1427],\n[M,46,18,1402,46,43,1427],\n[M,49,4,1495,49,103,1594],\n[M,49,22,1513,49,33,1524],\n[M,49,51,1542,49,66,1557],\n[M,49,85,1576,49,98,1589],\n[M,49,22,1513,49,99,1590],\n[M,49,76,1567,49,99,1590],\n[M,49,22,1513,49,73,1564],\n[M,49,22,1513,49,67,1558],\n[M,49,42,1533,49,67,1558],\n[M,49,22,1513,49,39,1530],\n[M,50,4,1600,52,7,1705],\n[M,51,6,1647,51,15,1656],\n[M,51,28,1669,51,39,1680],\n[M,51,43,1684,51,55,1696],\n[M,51,28,1669,51,55,1696],\n[M,51,6,1647,51,22,1663],\n[M,50,36,1632,50,42,1638],\n[M,53,4,1711,59,7,1984],\n[M,56,8,1893,56,28,1913],\n[M,55,6,1864,58,9,1976],\n[M,57,18,1932,57,33,1947],\n[M,57,36,1950,57,52,1966],\n[M,57,18,1932,57,52,1966],\n[M,55,12,1870,55,18,1876],\n[M,53,33,1740,53,39,1746],\n[M,60,4,1990,64,7,2168],\n[M,61,6,2019,61,12,2025],\n[M,61,13,2026,61,24,2037],\n[M,62,8,2047,62,23,2062],\n[M,62,25,2064,62,42,2081],\n[M,62,44,2083,62,59,2098],\n[M,63,8,2108,63,23,2123],\n[M,63,25,2125,63,42,2142],\n[M,63,44,2144,63,59,2159],\n[M,61,6,2019,63,60,2160],\n[M,65,4,2174,69,7,2338],\n[M,66,6,2201,66,12,2207],\n[M,66,13,2208,66,24,2219],\n[M,67,8,2229,67,21,2242],\n[M,67,23,2244,67,38,2259],\n[M,67,40,2261,67,53,2274],\n[M,68,8,2284,68,21,2297],\n[M,68,23,2299,68,38,2314],\n[M,68,40,2316,68,53,2329],\n[M,66,6,2201,68,54,2330],\n[M,70,4,2344,89,7,3013],\n[M,72,9,2463,72,24,2478],\n[M,72,28,2482,72,44,2498],\n[M,73,11,2511,73,24,2524],\n[M,73,28,2528,73,42,2542],\n[M,76,10,2583,76,16,2589],\n[M,76,17,2590,76,28,2601],\n[M,77,12,2615,77,27,2630],\n[M,77,29,2632,77,46,2649],\n[M,77,48,2651,77,63,2666],\n[M,78,12,2680,78,26,2694],\n[M,78,28,2696,78,44,2712],\n[M,78,46,2714,78,60,2728],\n[M,76,10,2583,78,61,2729],\n[M,73,11,2511,73,42,2542],\n[M,81,11,2765,81,24,2778],\n[M,81,27,2781,81,41,2795],\n[M,82,10,2807,82,16,2813],\n[M,82,17,2814,82,28,2825],\n[M,83,12,2839,83,28,2855],\n[M,83,30,2857,83,48,2875],\n[M,83,50,2877,83,66,2893],\n[M,84,12,2907,84,25,2920],\n[M,84,27,2922,84,42,2937],\n[M,84,44,2939,84,57,2952],\n[M,82,10,2807,84,58,2953],\n[M,81,11,2765,81,41,2795],\n[M,72,9,2463,72,44,2498],\n[M,70,40,2380,70,49,2389],\n[M,70,32,2372,70,50,2390],\n[M,90,4,3019,99,7,3371],\n[M,92,9,3137,92,24,3152],\n[M,92,28,3156,92,42,3170],\n[M,93,8,3180,93,14,3186],\n[M,93,15,3187,93,26,3198],\n[M,94,10,3210,94,25,3225],\n[M,94,27,3227,94,44,3244],\n[M,94,46,3246,94,61,3261],\n[M,95,10,3273,95,26,3289],\n[M,95,28,3291,95,46,3309],\n[M,95,48,3311,95,64,3327],\n[M,93,8,3180,95,65,3328],\n[M,92,9,3137,92,42,3170],\n[M,90,39,3054,90,48,3063],\n[M,90,31,3046,90,49,3064],\n[M,100,4,3377,109,7,3727],\n[M,102,9,3499,102,24,3514],\n[M,102,28,3518,102,42,3532],\n[M,103,8,3542,103,14,3548],\n[M,103,15,3549,103,26,3560],\n[M,104,10,3572,104,25,3587],\n[M,104,27,3589,104,44,3606],\n[M,104,46,3608,104,61,3623],\n[M,105,10,3635,105,24,3649],\n[M,105,26,3651,105,42,3667],\n[M,105,44,3669,105,58,3683],\n[M,103,8,3542,105,59,3684],\n[M,102,9,3499,102,42,3532],\n[M,100,43,3416,100,52,3425],\n[M,100,35,3408,100,53,3426],\n[M,110,4,3733,116,7,3985],\n[M,111,6,3769,111,15,3778],\n[M,112,13,3799,112,28,3814],\n[M,112,32,3818,112,48,3834],\n[M,113,13,3849,113,28,3864],\n[M,113,32,3868,113,48,3884],\n[M,114,13,3899,114,26,3912],\n[M,114,30,3916,114,44,3930],\n[M,115,13,3945,115,26,3958],\n[M,115,30,3962,115,44,3976],\n[M,115,13,3945,115,44,3976],\n[M,114,13,3899,114,44,3930],\n[M,113,13,3849,113,48,3884],\n[M,112,13,3799,112,48,3834],\n[M,111,6,3769,111,22,3785],\n[M,117,4,3991,117,38,4025],\n[M,10,2,110,27,37,665],\n[M,28,2,668,117,38,4025],\n[M,29,18,696,29,24,702],\n[M,30,22,726,30,28,732],\n[M,31,24,758,31,30,764],\n[M,32,22,788,32,28,794],\n[M,33,20,816,33,26,822],\n[M,34,22,846,34,28,852],\n[M,35,20,874,35,26,880],\n[M,9,0,95,120,3,4090],\n[\"dummy location\"],\n[M,3,0,21,120,3,4090]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _greaterequal2 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterequal\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar _lessequal4 = R.getModuleField(\"builtin://global\",\"values\",\"_lessequal\");\nvar _greaterthan5 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterthan\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar VS6 = $VS8;\nvar $cases_dispatch182 = {\"builtin\":3};\nvar $cases_dispatch84 = {\"builtin\":2,\n\"srcloc\":3};\nvar $toplevel10 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__181($$resumer13) {\nvar $step9 = 0;\nvar $elidedFrames16 = 0;\nvar $ans12 = D;\nvar $al14 = L[181];\nif(R.isAR($$resumer13)) {\n$step9 = $$resumer13.step;\n$al14 = $$resumer13.from;\n$ans12 = $$resumer13.ans;\n$elidedFrames16 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$builtin54 = $$resumer13.vars[0];\nis$Srcloc370 = $$resumer13.vars[1];\nis$srcloc161 = $$resumer13.vars[2];\nSrcloc85 = $$resumer13.vars[3];\nsrcloc192 = $$resumer13.vars[4];\nbuiltin371 = $$resumer13.vars[5];\nanswer373 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans12 = R.mC();\n}\nwhile(!R.isContinuation($ans12)) {\nswitch($step9) {\ncase 0: var Srcloc17 = R.nB(\"Srcloc\",L[179]);\nvar Srcloc85 = R.mBA(Srcloc17,\"Srcloc\");\nvar Srcloc369 = {\"$var\":D};\nvar is$Srcloc370 = {\"$var\":D};\nvar is$builtin54 = {\"$var\":D};\nvar builtin371 = {\"$var\":D};\nvar is$srcloc161 = {\"$var\":D};\nvar srcloc192 = {\"$var\":D};\nvar $temp_full19 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__0($self20,$other21) {\nvar $step18 = 0;\nvar $elidedFrames25 = 0;\nvar $ans22 = D;\nvar $al23 = L[0];\nif(R.isAR($self20)) {\n$step18 = $self20.step;\n$al23 = $self20.from;\n$ans22 = $self20.ans;\n$elidedFrames25 = $self20.elidedFrames;\nself20 = $self20.args[0];\nother21 = $self20.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],2,$t,true);\n}\nvar self20 = $self20;\nvar other21 = $other21;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans22 = R.mC();\n}\nwhile(!R.isContinuation($ans22)) {\nswitch($step18) {\ncase 0: $step18 = 1;\n$ans22 = R.maybeMethodCall1(other21,\"before\",L[1],self20);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans22;\ndefault: R.ffi.throwSpinnakerError(L[0],$step18);\n}\n}\nif($step18 !== 1) {\n$ans22.stack[R.EXN_STACKHEIGHT++] = R.mAR($al23,$temp_full19,$step18,[self20,other21],[],$elidedFrames25);\n}\nreturn $ans22;\n};\nvar anf_shared331 = R.makeMethod1($temp_full19,\"after\");\nvar $temp_full29 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__2($self30,$$underscore31) {\nvar $step28 = 0;\nvar $elidedFrames35 = 0;\nvar $ans32 = D;\nvar $al33 = L[2];\nif(R.isAR($self30)) {\n$step28 = $self30.step;\n$al33 = $self30.from;\n$ans32 = $self30.ans;\n$elidedFrames35 = $self30.elidedFrames;\nself30 = $self30.args[0];\n$underscore31 = $self30.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2],2,$t,true);\n}\nvar self30 = $self30;\nvar $underscore31 = $$underscore31;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans32 = R.mC();\n}\nwhile(!R.isContinuation($ans32)) {\nswitch($step28) {\ncase 0: $al33 = L[3];\nvar anf_arg36 = G(self30,\"module-name\",L[3]);\n$step28 = 1;\n$al33 = L[5];\n// omitting isFunction check;\n$ans32 = _plus5.app((\"\"));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans32;\ndefault: R.ffi.throwSpinnakerError(L[2],$step28);\n}\n}\nif($step28 !== 2) {\n$ans32.stack[R.EXN_STACKHEIGHT++] = R.mAR($al33,$temp_full29,$step28,[self30,$underscore31],[],$elidedFrames35);\n}\nreturn $ans32;\n};\nvar anf_variant_member335 = R.makeMethod1($temp_full29,\"format\");\nvar $temp_full40 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__6($self29) {\nvar $step39 = 0;\nvar $elidedFrames44 = 0;\nvar $ans41 = D;\nvar $al42 = L[6];\nif(R.isAR($self29)) {\n$step39 = $self29.step;\n$al42 = $self29.from;\n$ans41 = $self29.ans;\n$elidedFrames44 = $self29.elidedFrames;\nself29 = $self29.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],1,$t,true);\n}\nvar self29 = $self29;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans41 = R.mC();\n}\nwhile(!R.isContinuation($ans41)) {\nswitch($step39) {\ncase 0: $step39 = 1;\n$al42 = L[7];\n$ans41 = G(self29,\"module-name\",L[7]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans41;\ndefault: R.ffi.throwSpinnakerError(L[6],$step39);\n}\n}\nif($step39 !== 1) {\n$ans41.stack[R.EXN_STACKHEIGHT++] = R.mAR($al42,$temp_full40,$step39,[self29],[],$elidedFrames44);\n}\nreturn $ans41;\n};\nvar anf_variant_member336 = R.makeMethod0($temp_full40,\"key\");\nvar $temp_full47 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__8($self48,$other49) {\nvar $step46 = 0;\nvar $elidedFrames53 = 0;\nvar $ans50 = D;\nvar $al51 = L[8];\nif(R.isAR($self48)) {\n$step46 = $self48.step;\n$al51 = $self48.from;\n$ans50 = $self48.ans;\n$elidedFrames53 = $self48.elidedFrames;\nself48 = $self48.args[0];\nother49 = $self48.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[8],2,$t,true);\n}\nvar self48 = $self48;\nvar other49 = $other49;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans50 = R.mC();\n}\nwhile(!R.isContinuation($ans50)) {\nswitch($step46) {\ncase 0: var anf_fun55 = is$builtin54.$var === D?U(L[9],\"is-builtin\"):is$builtin54.$var;\n$step46 = 1;\n$al51 = L[13];\nif(typeof(anf_fun55.app) !== \"function\") {\nR.ffi.throwNonFunApp($al51,anf_fun55);\n}\n$ans50 = anf_fun55.app(other49);\nbreak;\ncase 1: var anf_if60 = $ans50;\n$step46 = R.checkPyretTrue(anf_if60)?2:4;\nbreak;\ncase 2: $al51 = L[10];\nvar anf_arg56 = G(other49,\"module-name\",L[10]);\n$al51 = L[11];\nvar anf_arg57 = G(self48,\"module-name\",L[11]);\n$step46 = 3;\n$al51 = L[12];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al51,equal$always1);\n}\n$ans50 = equal$always1.app(anf_arg56,anf_arg57);\nbreak;\ncase 3: var anf_arg59 = $ans50;\n$ans50 = R.checkWrapBoolean(anf_arg59);\n$step46 = 5;\nbreak;\ncase 4: $step46 = 5;\n$ans50 = (false);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans50;\ndefault: R.ffi.throwSpinnakerError(L[8],$step46);\n}\n}\nif($step46 !== 5) {\n$ans50.stack[R.EXN_STACKHEIGHT++] = R.mAR($al51,$temp_full47,$step46,[self48,other49],[],$elidedFrames53);\n}\nreturn $ans50;\n};\nvar anf_variant_member337 = R.makeMethod1($temp_full47,\"same-file\");\nvar $temp_full63 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__14($self40,$other64) {\nvar $step62 = 0;\nvar $elidedFrames68 = 0;\nvar $ans65 = D;\nvar $al66 = L[14];\nif(R.isAR($self40)) {\n$step62 = $self40.step;\n$al66 = $self40.from;\n$ans65 = $self40.ans;\n$elidedFrames68 = $self40.elidedFrames;\nself40 = $self40.args[0];\nother64 = $self40.args[1];\ncases69 = $self40.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[14],2,$t,true);\n}\nvar self40 = $self40;\nvar other64 = $other64;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans65 = R.mC();\n}\nwhile(!R.isContinuation($ans65)) {\nswitch($step62) {\ncase 0: var cases69 = other64;\n$step62 = 1;\n$al66 = L[21];\nvar $ann$check86 = R._cA(L[21],Srcloc85,cases69);\nif(R.isContinuation($ann$check86)) {\n$ans65 = $ann$check86;\n}\nbreak;\ncase 1: $al66 = L[19];\n$step62 = $cases_dispatch84[cases69.$name] || 4;\nbreak;\ncase 2: if(cases69.$arity !== 1) {\nif(cases69.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[18],1,cases69.$arity,L[19],cases69.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[18],true,L[19],cases69.$loc);\n}\n}\nvar $fn73 = cases69.$constructor.$fieldNames;\nR.dF(cases69.dict[$fn73[0]],cases69.$mut_fields_mask[0],false);\n$al66 = L[15];\nvar anf_arg70 = G(self40,\"module-name\",L[15]);\n$al66 = L[16];\nvar anf_arg71 = G(other64,\"module-name\",L[16]);\n$step62 = 5;\n$al66 = L[17];\n// omitting isFunction check;\n$ans65 = _lessthan3.app(anf_arg70,anf_arg71);\nbreak;\ncase 3: if(cases69.$arity !== 7) {\nif(cases69.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[20],7,cases69.$arity,L[19],cases69.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[20],true,L[19],cases69.$loc);\n}\n}\nvar $fn76 = cases69.$constructor.$fieldNames;\nR.dF(cases69.dict[$fn76[0]],cases69.$mut_fields_mask[0],false);\nR.dF(cases69.dict[$fn76[1]],cases69.$mut_fields_mask[1],false);\nR.dF(cases69.dict[$fn76[2]],cases69.$mut_fields_mask[2],false);\nR.dF(cases69.dict[$fn76[3]],cases69.$mut_fields_mask[3],false);\nR.dF(cases69.dict[$fn76[4]],cases69.$mut_fields_mask[4],false);\nR.dF(cases69.dict[$fn76[5]],cases69.$mut_fields_mask[5],false);\nR.dF(cases69.dict[$fn76[6]],cases69.$mut_fields_mask[6],false);\n$step62 = 5;\n$ans65 = (false);\nbreak;\ncase 4: $ans65 = R.throwNoCasesMatched(L[19],cases69);\n$step62 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans65;\ndefault: R.ffi.throwSpinnakerError(L[14],$step62);\n}\n}\nif($step62 !== 5) {\n$ans65.stack[R.EXN_STACKHEIGHT++] = R.mAR($al66,$temp_full63,$step62,[self40,other64],[cases69],$elidedFrames68);\n}\nreturn $ans65;\n};\nvar anf_variant_member338 = R.makeMethod1($temp_full63,\"before\");\nvar $temp_full89 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__22($self90,$other91) {\nvar $step88 = 0;\nvar $elidedFrames95 = 0;\nvar $ans92 = D;\nvar $al93 = L[22];\nif(R.isAR($self90)) {\n$step88 = $self90.step;\n$al93 = $self90.from;\n$ans92 = $self90.ans;\n$elidedFrames95 = $self90.elidedFrames;\nself90 = $self90.args[0];\nother91 = $self90.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[22],2,$t,true);\n}\nvar self90 = $self90;\nvar other91 = $other91;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans92 = R.mC();\n}\nwhile(!R.isContinuation($ans92)) {\nswitch($step88) {\ncase 0: $step88 = 1;\n$ans92 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans92;\ndefault: R.ffi.throwSpinnakerError(L[22],$step88);\n}\n}\nif($step88 !== 1) {\n$ans92.stack[R.EXN_STACKHEIGHT++] = R.mAR($al93,$temp_full89,$step88,[self90,other91],[],$elidedFrames95);\n}\nreturn $ans92;\n};\nvar anf_variant_member339 = R.makeMethod1($temp_full89,\"contains\");\nvar $temp_full99 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__23($self100) {\nvar $step98 = 0;\nvar $elidedFrames104 = 0;\nvar $ans101 = D;\nvar $al102 = L[23];\nif(R.isAR($self100)) {\n$step98 = $self100.step;\n$al102 = $self100.from;\n$ans101 = $self100.ans;\n$elidedFrames104 = $self100.elidedFrames;\nself100 = $self100.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[23],1,$t,true);\n}\nvar self100 = $self100;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans101 = R.mC();\n}\nwhile(!R.isContinuation($ans101)) {\nswitch($step98) {\ncase 0: $step98 = 1;\n$ans101 = (true);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans101;\ndefault: R.ffi.throwSpinnakerError(L[23],$step98);\n}\n}\nif($step98 !== 1) {\n$ans101.stack[R.EXN_STACKHEIGHT++] = R.mAR($al102,$temp_full99,$step98,[self100],[],$elidedFrames104);\n}\nreturn $ans101;\n};\nvar anf_variant_member340 = R.makeMethod0($temp_full99,\"is-builtin\");\nvar $temp_full107 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__24($self108,$show$file109) {\nvar $step106 = 0;\nvar $elidedFrames113 = 0;\nvar $ans110 = D;\nvar $al111 = L[24];\nif(R.isAR($self108)) {\n$step106 = $self108.step;\n$al111 = $self108.from;\n$ans110 = $self108.ans;\n$elidedFrames113 = $self108.elidedFrames;\nself108 = $self108.args[0];\nshow$file109 = $self108.args[1];\nanf_arg120 = $self108.vars[0];\nanf_arg134 = $self108.vars[1];\nanf_arg124 = $self108.vars[2];\nanf_arg116 = $self108.vars[3];\nanf_arg128 = $self108.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],2,$t,true);\n}\nvar self108 = $self108;\nvar show$file109 = $show$file109;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans110 = R.mC();\n}\nwhile(!R.isContinuation($ans110)) {\nswitch($step106) {\ncase 0: $step106 = R.checkPyretTrue(show$file109)?1:13;\nbreak;\ncase 1: $al111 = L[25];\nvar anf_arg114 = G(self108,\"source\",L[25]);\n$step106 = 2;\n$al111 = L[41];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg114,(\":\"));\nbreak;\ncase 2: var anf_arg116 = $ans110;\n$al111 = L[26];\nvar anf_arg115 = G(self108,\"start-line\",L[26]);\n$step106 = 3;\n$al111 = L[40];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg115);\nbreak;\ncase 3: var anf_arg117 = $ans110;\n$step106 = 4;\n$al111 = L[39];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg116,anf_arg117);\nbreak;\ncase 4: var anf_arg118 = $ans110;\n$step106 = 5;\n$al111 = L[38];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg118,(\":\"));\nbreak;\ncase 5: var anf_arg120 = $ans110;\n$al111 = L[27];\nvar anf_arg119 = G(self108,\"start-column\",L[27]);\n$step106 = 6;\n$al111 = L[37];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg119);\nbreak;\ncase 6: var anf_arg121 = $ans110;\n$step106 = 7;\n$al111 = L[36];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg120,anf_arg121);\nbreak;\ncase 7: var anf_arg122 = $ans110;\n$step106 = 8;\n$al111 = L[35];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg122,(\"-\"));\nbreak;\ncase 8: var anf_arg124 = $ans110;\n$al111 = L[28];\nvar anf_arg123 = G(self108,\"end-line\",L[28]);\n$step106 = 9;\n$al111 = L[34];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg123);\nbreak;\ncase 9: var anf_arg125 = $ans110;\n$step106 = 10;\n$al111 = L[33];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg124,anf_arg125);\nbreak;\ncase 10: var anf_arg126 = $ans110;\n$step106 = 11;\n$al111 = L[32];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg126,(\":\"));\nbreak;\ncase 11: var anf_arg128 = $ans110;\n$al111 = L[29];\nvar anf_arg127 = G(self108,\"end-column\",L[29]);\n$step106 = 12;\n$al111 = L[31];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg127);\nbreak;\ncase 12: var anf_arg129 = $ans110;\n$step106 = 18;\n$al111 = L[30];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg128,anf_arg129);\nbreak;\ncase 13: $al111 = L[42];\nvar anf_arg130 = G(self108,\"start-line\",L[42]);\n$step106 = 14;\n$al111 = L[48];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg130);\nbreak;\ncase 14: var anf_arg131 = $ans110;\n$step106 = 15;\n$al111 = L[47];\n// omitting isFunction check;\n$ans110 = _plus5.app((\"line \"),anf_arg131);\nbreak;\ncase 15: var anf_arg132 = $ans110;\n$step106 = 16;\n$al111 = L[46];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg132,(\", column \"));\nbreak;\ncase 16: var anf_arg134 = $ans110;\n$al111 = L[43];\nvar anf_arg133 = G(self108,\"start-column\",L[43]);\n$step106 = 17;\n$al111 = L[45];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al111,tostring1);\n}\n$ans110 = tostring1.app(anf_arg133);\nbreak;\ncase 17: var anf_arg135 = $ans110;\n$step106 = 18;\n$al111 = L[44];\n// omitting isFunction check;\n$ans110 = _plus5.app(anf_arg134,anf_arg135);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans110;\ndefault: R.ffi.throwSpinnakerError(L[24],$step106);\n}\n}\nif($step106 !== 18) {\n$ans110.stack[R.EXN_STACKHEIGHT++] = R.mAR($al111,$temp_full107,$step106,[self108,show$file109],[anf_arg120,anf_arg134,anf_arg124,anf_arg116,anf_arg128],$elidedFrames113);\n}\nreturn $ans110;\n};\nvar anf_variant_member348 = R.makeMethod1($temp_full107,\"format\");\nvar $temp_full138 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__49($self139) {\nvar $step137 = 0;\nvar $elidedFrames143 = 0;\nvar $ans140 = D;\nvar $al141 = L[49];\nif(R.isAR($self139)) {\n$step137 = $self139.step;\n$al141 = $self139.from;\n$ans140 = $self139.ans;\n$elidedFrames143 = $self139.elidedFrames;\nself139 = $self139.args[0];\nanf_arg146 = $self139.vars[0];\nanf_arg150 = $self139.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[49],1,$t,true);\n}\nvar self139 = $self139;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans140 = R.mC();\n}\nwhile(!R.isContinuation($ans140)) {\nswitch($step137) {\ncase 0: $al141 = L[50];\nvar anf_arg144 = G(self139,\"source\",L[50]);\n$step137 = 1;\n$al141 = L[58];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg144,(\":\"));\nbreak;\ncase 1: var anf_arg146 = $ans140;\n$al141 = L[51];\nvar anf_arg145 = G(self139,\"start-char\",L[51]);\n$step137 = 2;\n$al141 = L[57];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al141,tostring1);\n}\n$ans140 = tostring1.app(anf_arg145);\nbreak;\ncase 2: var anf_arg147 = $ans140;\n$step137 = 3;\n$al141 = L[56];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg146,anf_arg147);\nbreak;\ncase 3: var anf_arg148 = $ans140;\n$step137 = 4;\n$al141 = L[55];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg148,(\"-\"));\nbreak;\ncase 4: var anf_arg150 = $ans140;\n$al141 = L[52];\nvar anf_arg149 = G(self139,\"end-char\",L[52]);\n$step137 = 5;\n$al141 = L[54];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al141,tostring1);\n}\n$ans140 = tostring1.app(anf_arg149);\nbreak;\ncase 5: var anf_arg151 = $ans140;\n$step137 = 6;\n$al141 = L[53];\n// omitting isFunction check;\n$ans140 = _plus5.app(anf_arg150,anf_arg151);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans140;\ndefault: R.ffi.throwSpinnakerError(L[49],$step137);\n}\n}\nif($step137 !== 6) {\n$ans140.stack[R.EXN_STACKHEIGHT++] = R.mAR($al141,$temp_full138,$step137,[self139],[anf_arg146,anf_arg150],$elidedFrames143);\n}\nreturn $ans140;\n};\nvar anf_variant_member349 = R.makeMethod0($temp_full138,\"key\");\nvar $temp_full154 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__59($self155,$other156) {\nvar $step153 = 0;\nvar $elidedFrames160 = 0;\nvar $ans157 = D;\nvar $al158 = L[59];\nif(R.isAR($self155)) {\n$step153 = $self155.step;\n$al158 = $self155.from;\n$ans157 = $self155.ans;\n$elidedFrames160 = $self155.elidedFrames;\nself155 = $self155.args[0];\nother156 = $self155.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],2,$t,true);\n}\nvar self155 = $self155;\nvar other156 = $other156;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans157 = R.mC();\n}\nwhile(!R.isContinuation($ans157)) {\nswitch($step153) {\ncase 0: $step153 = 1;\n$al158 = L[65];\nR._cA(L[65],Srcloc85,other156);\nbreak;\ncase 1: var anf_fun162 = is$srcloc161.$var === D?U(L[60],\"is-srcloc\"):is$srcloc161.$var;\n$step153 = 2;\n$al158 = L[64];\nif(typeof(anf_fun162.app) !== \"function\") {\nR.ffi.throwNonFunApp($al158,anf_fun162);\n}\n$ans157 = anf_fun162.app(other156);\nbreak;\ncase 2: var anf_if166 = $ans157;\n$step153 = R.checkPyretTrue(anf_if166)?3:5;\nbreak;\ncase 3: $al158 = L[61];\nvar anf_arg163 = G(self155,\"source\",L[61]);\n$al158 = L[62];\nvar anf_arg164 = G(other156,\"source\",L[62]);\n$step153 = 4;\n$al158 = L[63];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al158,equal$always1);\n}\n$ans157 = equal$always1.app(anf_arg163,anf_arg164);\nbreak;\ncase 4: var anf_arg165 = $ans157;\n$ans157 = R.checkWrapBoolean(anf_arg165);\n$step153 = 6;\nbreak;\ncase 5: $step153 = 6;\n$ans157 = (false);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans157;\ndefault: R.ffi.throwSpinnakerError(L[59],$step153);\n}\n}\nif($step153 !== 6) {\n$ans157.stack[R.EXN_STACKHEIGHT++] = R.mAR($al158,$temp_full154,$step153,[self155,other156],[],$elidedFrames160);\n}\nreturn $ans157;\n};\nvar anf_variant_member350 = R.makeMethod1($temp_full154,\"same-file\");\nvar $temp_full169 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__66($self170,$other171) {\nvar $step168 = 0;\nvar $elidedFrames175 = 0;\nvar $ans172 = D;\nvar $al173 = L[66];\nif(R.isAR($self170)) {\n$step168 = $self170.step;\n$al173 = $self170.from;\n$ans172 = $self170.ans;\n$elidedFrames175 = $self170.elidedFrames;\nself170 = $self170.args[0];\nother171 = $self170.args[1];\ncases176 = $self170.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],2,$t,true);\n}\nvar self170 = $self170;\nvar other171 = $other171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans172 = R.mC();\n}\nwhile(!R.isContinuation($ans172)) {\nswitch($step168) {\ncase 0: $step168 = 1;\n$al173 = L[73];\nR._cA(L[73],Srcloc85,other171);\nbreak;\ncase 1: var cases176 = other171;\n$step168 = 2;\n$al173 = L[72];\nvar $ann$check183 = R._cA(L[72],Srcloc85,cases176);\nif(R.isContinuation($ann$check183)) {\n$ans172 = $ann$check183;\n}\nbreak;\ncase 2: $al173 = L[68];\n$step168 = $cases_dispatch182[cases176.$name] || 4;\nbreak;\ncase 3: if(cases176.$arity !== 1) {\nif(cases176.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[67],1,cases176.$arity,L[68],cases176.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[67],true,L[68],cases176.$loc);\n}\n}\nvar $fn178 = cases176.$constructor.$fieldNames;\nR.dF(cases176.dict[$fn178[0]],cases176.$mut_fields_mask[0],false);\n$step168 = 5;\n$ans172 = (true);\nbreak;\ncase 4: $al173 = L[69];\nvar anf_arg180 = G(self170,\"start-char\",L[69]);\n$al173 = L[70];\nvar anf_arg181 = G(other171,\"start-char\",L[70]);\n$step168 = 5;\n$al173 = L[71];\n// omitting isFunction check;\n$ans172 = _lessthan3.app(anf_arg180,anf_arg181);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans172;\ndefault: R.ffi.throwSpinnakerError(L[66],$step168);\n}\n}\nif($step168 !== 5) {\n$ans172.stack[R.EXN_STACKHEIGHT++] = R.mAR($al173,$temp_full169,$step168,[self170,other171],[cases176],$elidedFrames175);\n}\nreturn $ans172;\n};\nvar anf_variant_member351 = R.makeMethod1($temp_full169,\"before\");\nvar $temp_full186 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__74($self187) {\nvar $step185 = 0;\nvar $elidedFrames191 = 0;\nvar $ans188 = D;\nvar $al189 = L[74];\nif(R.isAR($self187)) {\n$step185 = $self187.step;\n$al189 = $self187.from;\n$ans188 = $self187.ans;\n$elidedFrames191 = $self187.elidedFrames;\nself187 = $self187.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[74],1,$t,true);\n}\nvar self187 = $self187;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans188 = R.mC();\n}\nwhile(!R.isContinuation($ans188)) {\nswitch($step185) {\ncase 0: var anf_fun193 = srcloc192.$var === D?U(L[75],\"srcloc\"):srcloc192.$var;\n$al189 = L[76];\nvar anf_arg194 = G(self187,\"source\",L[76]);\n$al189 = L[77];\nvar anf_arg195 = G(self187,\"start-line\",L[77]);\n$al189 = L[78];\nvar anf_arg196 = G(self187,\"start-column\",L[78]);\n$al189 = L[79];\nvar anf_arg197 = G(self187,\"start-char\",L[79]);\n$al189 = L[80];\nvar anf_arg198 = G(self187,\"start-line\",L[80]);\n$al189 = L[81];\nvar anf_arg199 = G(self187,\"start-column\",L[81]);\n$al189 = L[82];\nvar anf_arg200 = G(self187,\"start-char\",L[82]);\n$step185 = 1;\n$al189 = L[83];\nif(typeof(anf_fun193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al189,anf_fun193);\n}\n$ans188 = anf_fun193.app(anf_arg194,anf_arg195,anf_arg196,anf_arg197,anf_arg198,anf_arg199,anf_arg200);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans188;\ndefault: R.ffi.throwSpinnakerError(L[74],$step185);\n}\n}\nif($step185 !== 1) {\n$ans188.stack[R.EXN_STACKHEIGHT++] = R.mAR($al189,$temp_full186,$step185,[self187],[],$elidedFrames191);\n}\nreturn $ans188;\n};\nvar anf_variant_member352 = R.makeMethod0($temp_full186,\"at-start\");\nvar $temp_full203 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__84($self204) {\nvar $step202 = 0;\nvar $elidedFrames208 = 0;\nvar $ans205 = D;\nvar $al206 = L[84];\nif(R.isAR($self204)) {\n$step202 = $self204.step;\n$al206 = $self204.from;\n$ans205 = $self204.ans;\n$elidedFrames208 = $self204.elidedFrames;\nself204 = $self204.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],1,$t,true);\n}\nvar self204 = $self204;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans205 = R.mC();\n}\nwhile(!R.isContinuation($ans205)) {\nswitch($step202) {\ncase 0: var anf_fun209 = srcloc192.$var === D?U(L[85],\"srcloc\"):srcloc192.$var;\n$al206 = L[86];\nvar anf_arg210 = G(self204,\"source\",L[86]);\n$al206 = L[87];\nvar anf_arg211 = G(self204,\"end-line\",L[87]);\n$al206 = L[88];\nvar anf_arg212 = G(self204,\"end-column\",L[88]);\n$al206 = L[89];\nvar anf_arg214 = G(self204,\"end-char\",L[89]);\n$al206 = L[90];\nvar anf_arg215 = G(self204,\"end-line\",L[90]);\n$al206 = L[91];\nvar anf_arg216 = G(self204,\"end-column\",L[91]);\n$al206 = L[92];\nvar anf_arg217 = G(self204,\"end-char\",L[92]);\n$step202 = 1;\n$al206 = L[93];\nif(typeof(anf_fun209.app) !== \"function\") {\nR.ffi.throwNonFunApp($al206,anf_fun209);\n}\n$ans205 = anf_fun209.app(anf_arg210,anf_arg211,anf_arg212,anf_arg214,anf_arg215,anf_arg216,anf_arg217);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans205;\ndefault: R.ffi.throwSpinnakerError(L[84],$step202);\n}\n}\nif($step202 !== 1) {\n$ans205.stack[R.EXN_STACKHEIGHT++] = R.mAR($al206,$temp_full203,$step202,[self204],[],$elidedFrames208);\n}\nreturn $ans205;\n};\nvar anf_variant_member353 = R.makeMethod0($temp_full203,\"at-end\");\nvar $temp_full220 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__94($self221,$other222) {\nvar $step219 = 0;\nvar $elidedFrames226 = 0;\nvar $ans223 = D;\nvar $al224 = L[94];\nif(R.isAR($self221)) {\n$step219 = $self221.step;\n$al224 = $self221.from;\n$ans223 = $self221.ans;\n$elidedFrames226 = $self221.elidedFrames;\nself221 = $self221.args[0];\nother222 = $self221.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[94],2,$t,true);\n}\nvar self221 = $self221;\nvar other222 = $other222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans223 = R.mC();\n}\nwhile(!R.isContinuation($ans223)) {\nswitch($step219) {\ncase 0: $step219 = 1;\n$al224 = L[123];\nR._cA(L[123],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[122],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other222);\nbreak;\ncase 1: $al224 = L[95];\nvar anf_arg227 = G(self221,\"start-char\",L[95]);\n$al224 = L[96];\nvar anf_arg228 = G(other222,\"start-char\",L[96]);\n$step219 = 2;\n$al224 = L[121];\n// omitting isFunction check;\n$ans223 = _lessequal4.app(anf_arg227,anf_arg228);\nbreak;\ncase 2: var anf_if253 = $ans223;\n$step219 = R.checkPyretTrue(anf_if253)?3:7;\nbreak;\ncase 3: $al224 = L[97];\nvar anf_arg229 = G(self221,\"end-char\",L[97]);\n$al224 = L[98];\nvar anf_arg230 = G(other222,\"end-char\",L[98]);\n$step219 = 4;\n$al224 = L[108];\n// omitting isFunction check;\n$ans223 = _greaterequal2.app(anf_arg229,anf_arg230);\nbreak;\ncase 4: var anf_if240 = $ans223;\n$step219 = R.checkPyretTrue(anf_if240)?5:6;\nbreak;\ncase 5: $step219 = 11;\n$ans223 = self221;\nbreak;\ncase 6: var anf_fun231 = srcloc192.$var === D?U(L[99],\"srcloc\"):srcloc192.$var;\n$al224 = L[100];\nvar anf_arg232 = G(self221,\"source\",L[100]);\n$al224 = L[101];\nvar anf_arg233 = G(self221,\"start-line\",L[101]);\n$al224 = L[102];\nvar anf_arg234 = G(self221,\"start-column\",L[102]);\n$al224 = L[103];\nvar anf_arg235 = G(self221,\"start-char\",L[103]);\n$al224 = L[104];\nvar anf_arg237 = G(other222,\"end-line\",L[104]);\n$al224 = L[105];\nvar anf_arg238 = G(other222,\"end-column\",L[105]);\n$al224 = L[106];\nvar anf_arg239 = G(other222,\"end-char\",L[106]);\n$step219 = 11;\n$al224 = L[107];\nif(typeof(anf_fun231.app) !== \"function\") {\nR.ffi.throwNonFunApp($al224,anf_fun231);\n}\n$ans223 = anf_fun231.app(anf_arg232,anf_arg233,anf_arg234,anf_arg235,anf_arg237,anf_arg238,anf_arg239);\nbreak;\ncase 7: $al224 = L[109];\nvar anf_arg241 = G(self221,\"end-char\",L[109]);\n$al224 = L[110];\nvar anf_arg242 = G(other222,\"end-char\",L[110]);\n$step219 = 8;\n$al224 = L[120];\n// omitting isFunction check;\n$ans223 = _greaterthan5.app(anf_arg241,anf_arg242);\nbreak;\ncase 8: var anf_if252 = $ans223;\n$step219 = R.checkPyretTrue(anf_if252)?9:10;\nbreak;\ncase 9: var anf_fun243 = srcloc192.$var === D?U(L[111],\"srcloc\"):srcloc192.$var;\n$al224 = L[112];\nvar anf_arg244 = G(self221,\"source\",L[112]);\n$al224 = L[113];\nvar anf_arg245 = G(other222,\"start-line\",L[113]);\n$al224 = L[114];\nvar anf_arg246 = G(other222,\"start-column\",L[114]);\n$al224 = L[115];\nvar anf_arg247 = G(other222,\"start-char\",L[115]);\n$al224 = L[116];\nvar anf_arg248 = G(self221,\"end-line\",L[116]);\n$al224 = L[117];\nvar anf_arg250 = G(self221,\"end-column\",L[117]);\n$al224 = L[118];\nvar anf_arg251 = G(self221,\"end-char\",L[118]);\n$step219 = 11;\n$al224 = L[119];\nif(typeof(anf_fun243.app) !== \"function\") {\nR.ffi.throwNonFunApp($al224,anf_fun243);\n}\n$ans223 = anf_fun243.app(anf_arg244,anf_arg245,anf_arg246,anf_arg247,anf_arg248,anf_arg250,anf_arg251);\nbreak;\ncase 10: $step219 = 11;\n$ans223 = other222;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans223;\ndefault: R.ffi.throwSpinnakerError(L[94],$step219);\n}\n}\nif($step219 !== 11) {\n$ans223.stack[R.EXN_STACKHEIGHT++] = R.mAR($al224,$temp_full220,$step219,[self221,other222],[],$elidedFrames226);\n}\nreturn $ans223;\n};\nvar anf_variant_member354 = R.makeMethod1($temp_full220,\"_plus\");\nvar $temp_full256 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__124($self257,$other258) {\nvar $step255 = 0;\nvar $elidedFrames262 = 0;\nvar $ans259 = D;\nvar $al260 = L[124];\nif(R.isAR($self257)) {\n$step255 = $self257.step;\n$al260 = $self257.from;\n$ans259 = $self257.ans;\n$elidedFrames262 = $self257.elidedFrames;\nself257 = $self257.args[0];\nother258 = $self257.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],2,$t,true);\n}\nvar self257 = $self257;\nvar other258 = $other258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans259 = R.mC();\n}\nwhile(!R.isContinuation($ans259)) {\nswitch($step255) {\ncase 0: $step255 = 1;\n$al260 = L[138];\nR._cA(L[138],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[137],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other258);\nbreak;\ncase 1: $al260 = L[125];\nvar anf_arg264 = G(self257,\"start-char\",L[125]);\n$al260 = L[126];\nvar anf_arg265 = G(other258,\"end-char\",L[126]);\n$step255 = 2;\n$al260 = L[136];\n// omitting isFunction check;\n$ans259 = _lessequal4.app(anf_arg264,anf_arg265);\nbreak;\ncase 2: var anf_if274 = $ans259;\n$step255 = R.checkPyretTrue(anf_if274)?3:4;\nbreak;\ncase 3: var anf_fun266 = srcloc192.$var === D?U(L[127],\"srcloc\"):srcloc192.$var;\n$al260 = L[128];\nvar anf_arg267 = G(self257,\"source\",L[128]);\n$al260 = L[129];\nvar anf_arg268 = G(self257,\"start-line\",L[129]);\n$al260 = L[130];\nvar anf_arg269 = G(self257,\"start-column\",L[130]);\n$al260 = L[131];\nvar anf_arg270 = G(self257,\"start-char\",L[131]);\n$al260 = L[132];\nvar anf_arg271 = G(other258,\"start-line\",L[132]);\n$al260 = L[133];\nvar anf_arg272 = G(other258,\"start-column\",L[133]);\n$al260 = L[134];\nvar anf_arg273 = G(other258,\"start-char\",L[134]);\n$step255 = 5;\n$al260 = L[135];\nif(typeof(anf_fun266.app) !== \"function\") {\nR.ffi.throwNonFunApp($al260,anf_fun266);\n}\n$ans259 = anf_fun266.app(anf_arg267,anf_arg268,anf_arg269,anf_arg270,anf_arg271,anf_arg272,anf_arg273);\nbreak;\ncase 4: $step255 = 5;\n$ans259 = self257;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans259;\ndefault: R.ffi.throwSpinnakerError(L[124],$step255);\n}\n}\nif($step255 !== 5) {\n$ans259.stack[R.EXN_STACKHEIGHT++] = R.mAR($al260,$temp_full256,$step255,[self257,other258],[],$elidedFrames262);\n}\nreturn $ans259;\n};\nvar anf_variant_member355 = R.makeMethod1($temp_full256,\"upto\");\nvar $temp_full277 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__139($self278,$other279) {\nvar $step276 = 0;\nvar $elidedFrames283 = 0;\nvar $ans280 = D;\nvar $al281 = L[139];\nif(R.isAR($self278)) {\n$step276 = $self278.step;\n$al281 = $self278.from;\n$ans280 = $self278.ans;\n$elidedFrames283 = $self278.elidedFrames;\nself278 = $self278.args[0];\nother279 = $self278.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],2,$t,true);\n}\nvar self278 = $self278;\nvar other279 = $other279;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans280 = R.mC();\n}\nwhile(!R.isContinuation($ans280)) {\nswitch($step276) {\ncase 0: $step276 = 1;\n$al281 = L[153];\nR._cA(L[153],R.makeFlatPredAnn(Srcloc85,is$srcloc161.$var === D?U(L[152],\"is-srcloc\"):is$srcloc161.$var,\"is-srcloc\"),other279);\nbreak;\ncase 1: $al281 = L[140];\nvar anf_arg284 = G(self278,\"start-char\",L[140]);\n$al281 = L[141];\nvar anf_arg285 = G(other279,\"end-char\",L[141]);\n$step276 = 2;\n$al281 = L[151];\n// omitting isFunction check;\n$ans280 = _lessequal4.app(anf_arg284,anf_arg285);\nbreak;\ncase 2: var anf_if296 = $ans280;\n$step276 = R.checkPyretTrue(anf_if296)?3:4;\nbreak;\ncase 3: var anf_fun286 = srcloc192.$var === D?U(L[142],\"srcloc\"):srcloc192.$var;\n$al281 = L[143];\nvar anf_arg287 = G(self278,\"source\",L[143]);\n$al281 = L[144];\nvar anf_arg290 = G(self278,\"start-line\",L[144]);\n$al281 = L[145];\nvar anf_arg291 = G(self278,\"start-column\",L[145]);\n$al281 = L[146];\nvar anf_arg292 = G(self278,\"start-char\",L[146]);\n$al281 = L[147];\nvar anf_arg293 = G(other279,\"end-line\",L[147]);\n$al281 = L[148];\nvar anf_arg294 = G(other279,\"end-column\",L[148]);\n$al281 = L[149];\nvar anf_arg295 = G(other279,\"end-char\",L[149]);\n$step276 = 5;\n$al281 = L[150];\nif(typeof(anf_fun286.app) !== \"function\") {\nR.ffi.throwNonFunApp($al281,anf_fun286);\n}\n$ans280 = anf_fun286.app(anf_arg287,anf_arg290,anf_arg291,anf_arg292,anf_arg293,anf_arg294,anf_arg295);\nbreak;\ncase 4: $step276 = 5;\n$ans280 = self278;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans280;\ndefault: R.ffi.throwSpinnakerError(L[139],$step276);\n}\n}\nif($step276 !== 5) {\n$ans280.stack[R.EXN_STACKHEIGHT++] = R.mAR($al281,$temp_full277,$step276,[self278,other279],[],$elidedFrames283);\n}\nreturn $ans280;\n};\nvar anf_variant_member356 = R.makeMethod1($temp_full277,\"upto-end\");\nvar $temp_full299 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__154($self300,$other301) {\nvar $step298 = 0;\nvar $elidedFrames305 = 0;\nvar $ans302 = D;\nvar $al303 = L[154];\nif(R.isAR($self300)) {\n$step298 = $self300.step;\n$al303 = $self300.from;\n$ans302 = $self300.ans;\n$elidedFrames305 = $self300.elidedFrames;\nself300 = $self300.args[0];\nother301 = $self300.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[154],2,$t,true);\n}\nvar self300 = $self300;\nvar other301 = $other301;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans302 = R.mC();\n}\nwhile(!R.isContinuation($ans302)) {\nswitch($step298) {\ncase 0: var anf_fun306 = is$srcloc161.$var === D?U(L[155],\"is-srcloc\"):is$srcloc161.$var;\n$step298 = 1;\n$al303 = L[168];\nif(typeof(anf_fun306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al303,anf_fun306);\n}\n$ans302 = anf_fun306.app(other301);\nbreak;\ncase 1: var anf_if321 = $ans302;\n$step298 = R.checkPyretTrue(anf_if321)?2:13;\nbreak;\ncase 2: $al303 = L[156];\nvar anf_arg307 = G(self300,\"start-line\",L[156]);\n$al303 = L[157];\nvar anf_arg308 = G(other301,\"start-line\",L[157]);\n$step298 = 3;\n$al303 = L[167];\n// omitting isFunction check;\n$ans302 = _lessequal4.app(anf_arg307,anf_arg308);\nbreak;\ncase 3: var anf_if320 = $ans302;\n$step298 = R.checkPyretTrue(anf_if320)?4:12;\nbreak;\ncase 4: $al303 = L[158];\nvar anf_arg309 = G(self300,\"start-char\",L[158]);\n$al303 = L[159];\nvar anf_arg310 = G(other301,\"start-char\",L[159]);\n$step298 = 5;\n$al303 = L[166];\n// omitting isFunction check;\n$ans302 = _lessequal4.app(anf_arg309,anf_arg310);\nbreak;\ncase 5: var anf_if319 = $ans302;\n$step298 = R.checkPyretTrue(anf_if319)?6:11;\nbreak;\ncase 6: $al303 = L[160];\nvar anf_arg313 = G(self300,\"end-line\",L[160]);\n$al303 = L[161];\nvar anf_arg314 = G(other301,\"end-line\",L[161]);\n$step298 = 7;\n$al303 = L[165];\n// omitting isFunction check;\n$ans302 = _greaterequal2.app(anf_arg313,anf_arg314);\nbreak;\ncase 7: var anf_if318 = $ans302;\n$step298 = R.checkPyretTrue(anf_if318)?8:10;\nbreak;\ncase 8: $al303 = L[162];\nvar anf_arg315 = G(self300,\"end-char\",L[162]);\n$al303 = L[163];\nvar anf_arg316 = G(other301,\"end-char\",L[163]);\n$step298 = 9;\n$al303 = L[164];\n// omitting isFunction check;\n$ans302 = _greaterequal2.app(anf_arg315,anf_arg316);\nbreak;\ncase 9: var anf_arg317 = $ans302;\n$ans302 = R.checkWrapBoolean(anf_arg317);\n$step298 = 14;\nbreak;\ncase 10: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 11: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 12: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 13: $step298 = 14;\n$ans302 = (false);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans302;\ndefault: R.ffi.throwSpinnakerError(L[154],$step298);\n}\n}\nif($step298 !== 14) {\n$ans302.stack[R.EXN_STACKHEIGHT++] = R.mAR($al303,$temp_full299,$step298,[self300,other301],[],$elidedFrames305);\n}\nreturn $ans302;\n};\nvar anf_variant_member357 = R.makeMethod1($temp_full299,\"contains\");\nvar $temp_full324 = function _8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f__169($self325) {\nvar $step323 = 0;\nvar $elidedFrames329 = 0;\nvar $ans326 = D;\nvar $al327 = L[169];\nif(R.isAR($self325)) {\n$step323 = $self325.step;\n$al327 = $self325.from;\n$ans326 = $self325.ans;\n$elidedFrames329 = $self325.elidedFrames;\nself325 = $self325.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[169],1,$t,true);\n}\nvar self325 = $self325;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans326 = R.mC();\n}\nwhile(!R.isContinuation($ans326)) {\nswitch($step323) {\ncase 0: $step323 = 1;\n$ans326 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans326;\ndefault: R.ffi.throwSpinnakerError(L[169],$step323);\n}\n}\nif($step323 !== 1) {\n$ans326.stack[R.EXN_STACKHEIGHT++] = R.mAR($al327,$temp_full324,$step323,[self325],[],$elidedFrames329);\n}\nreturn $ans326;\n};\nvar anf_variant_member358 = R.makeMethod0($temp_full324,\"is-builtin\");\nvar $builtin_getfields342 = function singleton_variant(f) {\nreturn f(this.dict[\"module-name\"]);\n};\nvar $builtin_mutablemask341 = [false];\nvar $builtin$base332 = {\"$fieldNames\":[\"module-name\"],\n\"after\":anf_shared331,\n\"format\":anf_variant_member335,\n\"key\":anf_variant_member336,\n\"same-file\":anf_variant_member337,\n\"before\":anf_variant_member338,\n\"contains\":anf_variant_member339,\n\"is-builtin\":anf_variant_member340,\n\"_match\":R.mM(\"builtin\",1)};\nvar $builtin$brander333 = R.nB(\"builtin\",L[170]);\nvar $builtin$brands334 = {};\n$builtin$brands334[Srcloc17._brand] = true;\n$builtin$brands334[$builtin$brander333._brand] = true;\nvar builtin343 = R.mVC(L[170],function $synthesizedConstructor_$builtin$base() {\nreturn [];\n},[],[],[false],[\"module$name344\"],$builtin_mutablemask341,$builtin$base332,$builtin$brands334,\"builtin\",$builtin_getfields342,$builtin$base332);\nvar $srcloc_getfields360 = function singleton_variant(f) {\nreturn f(this.dict[\"source\"],this.dict[\"start-line\"],this.dict[\"start-column\"],this.dict[\"start-char\"],this.dict[\"end-line\"],this.dict[\"end-column\"],this.dict[\"end-char\"]);\n};\nvar $srcloc_mutablemask359 = [false,false,false,false,false,false,false];\nvar $srcloc$base345 = {\"$fieldNames\":[\"source\",\"start-line\",\"start-column\",\"start-char\",\"end-line\",\"end-column\",\"end-char\"],\n\"after\":anf_shared331,\n\"format\":anf_variant_member348,\n\"key\":anf_variant_member349,\n\"same-file\":anf_variant_member350,\n\"before\":anf_variant_member351,\n\"at-start\":anf_variant_member352,\n\"at-end\":anf_variant_member353,\n\"_plus\":anf_variant_member354,\n\"upto\":anf_variant_member355,\n\"upto-end\":anf_variant_member356,\n\"contains\":anf_variant_member357,\n\"is-builtin\":anf_variant_member358,\n\"_match\":R.mM(\"srcloc\",7)};\nvar $srcloc$brander346 = R.nB(\"srcloc\",L[171]);\nvar $srcloc$brands347 = {};\n$srcloc$brands347[Srcloc17._brand] = true;\n$srcloc$brands347[$srcloc$brander346._brand] = true;\nvar srcloc361 = R.mVC(L[171],function $synthesizedConstructor_$srcloc$base() {\nreturn [$type$String8,$type$Number3,$type$Number3,$type$Number3,$type$Number3,$type$Number3,$type$Number3];\n},[\"source362\",\"start$line363\",\"start$column364\",\"start$char365\",\"end$line366\",\"end$column367\",\"end$char368\"],[L[172],L[173],L[174],L[175],L[176],L[177],L[178]],[false,false,false,false,false,false,false],[\"source362\",\"start$line363\",\"start$column364\",\"start$char365\",\"end$line366\",\"end$column367\",\"end$char368\"],$srcloc_mutablemask359,$srcloc$base345,$srcloc$brands347,\"srcloc\",$srcloc_getfields360,$srcloc$base345);\nvar anf_assign132 = R.mO({\"Srcloc\":G(Srcloc17,\"test\",L[179]),\n\"is-builtin\":G($builtin$brander333,\"test\",L[170]),\n\"builtin\":builtin343,\n\"is-srcloc\":G($srcloc$brander346,\"test\",L[171]),\n\"srcloc\":srcloc361});\nSrcloc369.$var = anf_assign132;\nR.nothing;\n$al14 = L[179];\nvar anf_assign134 = G(Srcloc369.$var,\"Srcloc\",L[179]);\nis$Srcloc370.$var = anf_assign134;\nR.nothing;\n$al14 = L[170];\nvar anf_assign136 = G(Srcloc369.$var,\"is-builtin\",L[170]);\nis$builtin54.$var = anf_assign136;\nR.nothing;\n$al14 = L[170];\nvar anf_assign138 = G(Srcloc369.$var,\"builtin\",L[170]);\nbuiltin371.$var = anf_assign138;\nR.nothing;\n$al14 = L[171];\nvar anf_assign140 = G(Srcloc369.$var,\"is-srcloc\",L[171]);\nis$srcloc161.$var = anf_assign140;\nR.nothing;\n$al14 = L[171];\nvar anf_assign142 = G(Srcloc369.$var,\"srcloc\",L[171]);\nsrcloc192.$var = anf_assign142;\nR.nothing;\n$step9 = 1;\n$ans12 = R.maybeMethodCall2(builtins1,\"trace-value\",L[180],L[180],nothing2);\nbreak;\ncase 1: var answer373 = $ans12;\n$step9 = 2;\n$ans12 = R.maybeMethodCall0(builtins1,\"current-checker\",L[179]);\nbreak;\ncase 2: var anf_method_obj372 = $ans12;\n$step9 = 3;\n$ans12 = R.maybeMethodCall0(anf_method_obj372,\"results\",L[179]);\nbreak;\ncase 3: var checks374 = $ans12;\n$step9 = 4;\n$ans12 = R.mO({\"answer\":answer373,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"VS\":VS6},\n\"defined-values\":{\"is-builtin\":is$builtin54.$var,\n\"builtin\":builtin371.$var,\n\"srcloc\":srcloc192.$var,\n\"is-srcloc\":is$srcloc161.$var,\n\"is-Srcloc\":is$Srcloc370.$var},\n\"defined-types\":{\"Srcloc\":Srcloc85},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-builtin\":is$builtin54.$var,\n\"builtin\":builtin371.$var,\n\"srcloc\":srcloc192.$var,\n\"is-srcloc\":is$srcloc161.$var,\n\"is-Srcloc\":is$Srcloc370.$var}),\n\"types\":{\"Srcloc\":Srcloc85},\n\"modules\":{}}),\n\"checks\":checks374});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans12;\ndefault: R.ffi.throwSpinnakerError(L[181],$step9);\n}\n}\nif($step9 !== 4) {\n$ans12.stack[R.EXN_STACKHEIGHT++] = R.mAR($al14,$toplevel10,$step9,[],[is$builtin54,is$Srcloc370,is$srcloc161,Srcloc85,srcloc192,builtin371,answer373],$elidedFrames16);\n}\nreturn $ans12;\n};\nreturn R.safeCall($toplevel10,function module_load(moduleVal) {\nR.modules[\"$builtin://srcloc7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-Srcloc":{"bind":"let", -"origin":{"local-bind-site":["builtin://srcloc", -4, -0, -31, -4, -15, -46], -"definition-bind-site":["builtin://srcloc", -9, -0, -95, -120, -3, -4090], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"}, -"typ":"tany"}, -"is-srcloc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://srcloc", -4, -0, -31, -4, -15, -46], -"definition-bind-site":["builtin://srcloc", -28, -2, -668, -117, -38, -4025], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"}, -"flatness":0, -"name":"is-srcloc", -"typ":"tany"}, -"srcloc":{"bind":"fun", -"origin":{"local-bind-site":["builtin://srcloc", -4, -0, -31, -4, -15, -46], -"definition-bind-site":["builtin://srcloc", -28, -2, -668, -117, -38, -4025], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"}, -"flatness":0, -"name":"srcloc", -"typ":"tany"}, -"builtin":{"bind":"fun", -"origin":{"local-bind-site":["builtin://srcloc", -4, -0, -31, -4, -15, -46], -"definition-bind-site":["builtin://srcloc", -10, -2, -110, -27, -37, -665], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"}, -"flatness":0, -"name":"builtin", -"typ":"tany"}, -"is-builtin":{"bind":"fun", -"origin":{"local-bind-site":["builtin://srcloc", -4, -0, -31, -4, -15, -46], -"definition-bind-site":["builtin://srcloc", -10, -2, -110, -27, -37, -665], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"}, -"flatness":0, -"name":"is-builtin", -"typ":"tany"}}, -"datatypes":{"Srcloc":["data",{"local-bind-site":["builtin://srcloc", -9, -0, -95, -120, -3, -4090], -"definition-bind-site":["builtin://srcloc", -9, -0, -95, -120, -3, -4090], -"new-definition":true, -"uri-of-definition":"builtin://srcloc"},"Srcloc",[],[["builtin", -[["module-name", -"tany"]], -{"is-builtin":["arrow", -["tany"], -"tany"], -"contains":["arrow", -["tany", -"tany"], -"tany"], -"before":["arrow", -["tany", -"tany"], -"tany"], -"same-file":["arrow", -["tany", -"tany"], -"tany"], -"key":["arrow", -["tany"], -"tany"], -"format":["arrow", -["tany", -"tany"], -"tany"]}],["srcloc", -[["source", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["start-line", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["start-column", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["start-char", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["end-line", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["end-column", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["end-char", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"before":["arrow", -["tany", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://srcloc"}, -"name":"Srcloc"}], -"tany"], -"key":["arrow", -["tany"], -"tany"], -"contains":["arrow", -["tany", -"tany"], -"tany"], -"_plus":["arrow", -["tany", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://srcloc"}, -"name":"Srcloc"}], -"tany"], -"format":["arrow", -["tany", -"tany"], -"tany"], -"upto":["arrow", -["tany", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://srcloc"}, -"name":"Srcloc"}], -"tany"], -"at-start":["arrow", -["tany"], -"tany"], -"upto-end":["arrow", -["tany", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://srcloc"}, -"name":"Srcloc"}], -"tany"], -"same-file":["arrow", -["tany", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://srcloc"}, -"name":"Srcloc"}], -"tany"], -"at-end":["arrow", -["tany"], -"tany"], -"is-builtin":["arrow", -["tany"], -"tany"]}]],{"contains":["arrow", -["tany", -"tany"], -"tany"], -"is-builtin":["arrow", -["tany"], -"tany"], -"key":["arrow", -["tany"], -"tany"], -"format":["arrow", -["tany", -"tany"], -"tany"], -"after":["arrow", -["tany", -"tany"], -"tany"]}]}, -"aliases":{"Srcloc":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://error":({"theMap":"{\"version\":3,\"sources\":[\"builtin://error\"],\"names\":[\"builtin://error\",\",13,39,246,13,48,255\",\",13,2,209,13,49,256\",\",16,36,325,16,43,332\",\",16,45,334,16,58,347\",\",16,16,305,16,64,353\",\",16,2,291,16,65,354\",\",19,3,390,19,10,397\",\",19,45,432,19,58,445\",\",19,26,413,19,63,450\",\",19,12,399,19,69,456\",\",23,5,501,23,21,517\",\",24,5,524,24,12,531\",\",25,14,547,25,36,569\",\",25,14,547,25,45,578\",\",25,6,539,25,46,579\",\",26,6,587,26,17,598\",\",27,6,606,27,26,626\",\",29,5,641,29,12,648\",\",30,14,664,30,38,688\",\",30,14,664,30,47,697\",\",30,6,656,30,48,698\",\",31,6,706,31,17,717\",\",32,6,725,32,26,745\",\",37,3,812,37,10,819\",\",38,4,825,38,31,852\",\",39,17,871,39,30,884\",\",39,33,887,39,40,894\",\",39,4,858,39,54,908\",\",40,4,914,45,10,1013\",\",49,3,1048,49,10,1055\",\",49,12,1057,49,51,1096\",\",56,9,1207,56,21,1219\",\",57,8,1229,57,17,1238\",\",53,2,1136,61,5,1281\",\",67,17,1377,67,21,1381\",\",65,2,1315,68,5,1387\",\",72,6,1464,72,30,1488\",\",73,6,1495,73,29,1518\",\",78,49,1690,78,52,1693\",\",78,42,1683,78,53,1694\",\",80,34,1778,80,37,1781\",\",80,25,1769,80,38,1782\",\",77,12,1616,80,40,1784\",\",81,52,1837,81,58,1843\",\",81,45,1830,81,59,1844\",\",81,70,1855,81,73,1858\",\",81,61,1846,81,74,1859\",\",81,37,1822,81,76,1861\",\",82,52,1914,82,58,1920\",\",82,45,1907,82,59,1921\",\",82,62,1924,82,69,1931\",\",82,71,1933,82,77,1939\",\",82,37,1899,82,80,1942\",\",74,6,1525,84,16,2003\",\",92,17,2315,92,28,2326\",\",92,33,2331,92,97,2395\",\",92,17,2315,92,98,2396\",\",93,6,2403,93,29,2426\",\",96,17,2485,96,28,2496\",\",96,33,2501,96,50,2518\",\",96,17,2485,96,51,2519\",\",97,6,2526,97,29,2549\",\",101,9,2687,101,17,2695\",\",101,9,2687,101,30,2708\",\",103,8,2778,103,11,2781\",\",104,28,2810,104,36,2818\",\",104,14,2796,104,37,2819\",\",108,34,3008,108,42,3016\",\",108,24,2998,108,43,3017\",\",111,12,3086,111,15,3089\",\",114,12,3160,114,15,3163\",\",108,8,2982,115,11,3175\",\",118,8,3235,118,11,3238\",\",122,9,3299,122,17,3307\",\",122,9,3299,122,30,3320\",\",124,8,3390,124,11,3393\",\",127,8,3473,127,11,3476\",\",132,6,3629,132,26,3649\",\",135,7,3698,135,15,3706\",\",135,18,3709,135,25,3716\",\",135,35,3726,135,47,3738\",\",135,27,3718,135,48,3739\",\",138,18,3795,138,30,3807\",\",138,6,3783,138,31,3808\",\",142,9,3950,142,17,3958\",\",142,9,3950,142,30,3971\",\",143,9,3982,143,17,3990\",\",144,57,4049,144,65,4057\",\",144,10,4002,144,66,4058\",\",145,11,4071,145,18,4078\",\",145,20,4080,145,63,4123\",\",146,19,4145,146,27,4153\",\",146,10,4136,146,28,4154\",\",148,9,4177,148,17,4185\",\",149,50,4237,149,58,4245\",\",149,10,4197,149,69,4256\",\",150,20,4278,150,28,4286\",\",150,10,4268,150,29,4287\",\",151,11,4300,151,18,4307\",\",152,12,4321,152,27,4336\",\",153,25,4363,153,45,4383\",\",153,48,4386,153,55,4393\",\",153,57,4395,153,68,4406\",\",153,12,4350,153,73,4411\",\",154,12,4425,154,81,4494\",\",155,19,4516,155,27,4524\",\",155,10,4507,155,28,4525\",\",159,7,4585,159,15,4593\",\",160,55,4650,160,63,4658\",\",160,8,4603,160,64,4659\",\",161,9,4670,161,16,4677\",\",161,18,4679,161,61,4722\",\",162,17,4742,162,25,4750\",\",162,8,4733,162,26,4751\",\",166,13,4918,166,21,4926\",\",166,13,4918,166,34,4939\",\",166,9,4914,166,35,4940\",\",166,54,4959,166,62,4967\",\",166,40,4945,166,63,4968\",\",167,9,4979,167,17,4987\",\",168,50,5039,168,58,5047\",\",168,10,4999,168,69,5058\",\",169,20,5080,169,28,5088\",\",169,10,5070,169,29,5089\",\",170,11,5102,170,18,5109\",\",171,12,5123,171,27,5138\",\",172,25,5165,172,41,5181\",\",173,15,5198,173,22,5205\",\",174,24,5231,174,37,5244\",\",175,38,5284,175,48,5294\",\",175,24,5270,175,49,5295\",\",176,29,5326,176,37,5334\",\",177,22,5358,177,34,5370\",\",177,36,5372,177,50,5386\",\",177,52,5388,177,64,5400\",\",178,22,5424,178,34,5436\",\",178,36,5438,178,50,5452\",\",178,36,5438,178,54,5456\",\",178,56,5458,178,68,5470\",\",178,56,5458,178,72,5474\",\",176,20,5317,178,73,5475\",\",172,12,5152,179,24,5500\",\",180,12,5514,180,41,5543\",\",181,25,5570,181,43,5588\",\",181,46,5591,181,53,5598\",\",181,55,5600,181,66,5611\",\",181,12,5557,181,71,5616\",\",182,19,5638,182,27,5646\",\",182,10,5629,182,28,5647\",\",184,9,5670,184,17,5678\",\",185,57,5737,185,65,5745\",\",185,10,5690,185,66,5746\",\",186,11,5759,186,18,5766\",\",187,12,5780,187,33,5801\",\",188,28,5831,188,38,5841\",\",188,20,5823,188,39,5842\",\",188,12,5815,188,40,5843\",\",189,12,5857,189,48,5893\",\",190,19,5915,190,27,5923\",\",190,10,5906,190,28,5924\",\",194,7,5984,194,15,5992\",\",195,55,6049,195,63,6057\",\",195,8,6002,195,64,6058\",\",196,9,6069,196,16,6076\",\",197,10,6088,197,31,6109\",\",198,26,6137,198,36,6147\",\",198,18,6129,198,37,6148\",\",198,10,6121,198,38,6149\",\",199,10,6161,199,46,6197\",\",200,17,6217,200,25,6225\",\",200,8,6208,200,26,6226\",\",204,13,6390,204,21,6398\",\",204,13,6390,204,34,6411\",\",204,9,6386,204,35,6412\",\",204,54,6431,204,62,6439\",\",204,40,6417,204,63,6440\",\",205,9,6451,205,17,6459\",\",206,50,6511,206,58,6519\",\",206,10,6471,206,69,6530\",\",207,20,6552,207,28,6560\",\",207,10,6542,207,29,6561\",\",208,11,6574,208,18,6581\",\",209,12,6595,209,28,6611\",\",210,25,6638,210,41,6654\",\",211,15,6671,211,22,6678\",\",212,24,6704,212,37,6717\",\",213,38,6757,213,48,6767\",\",213,24,6743,213,49,6768\",\",214,29,6799,214,37,6807\",\",215,22,6831,215,34,6843\",\",215,36,6845,215,50,6859\",\",215,52,6861,215,64,6873\",\",216,22,6897,216,34,6909\",\",216,36,6911,216,50,6925\",\",216,36,6911,216,54,6929\",\",216,56,6931,216,68,6943\",\",216,56,6931,216,72,6947\",\",214,20,6790,216,73,6948\",\",210,12,6625,217,24,6973\",\",218,12,6987,218,58,7033\",\",219,25,7060,219,43,7078\",\",219,46,7081,219,53,7088\",\",219,55,7090,219,66,7101\",\",219,12,7047,219,71,7106\",\",220,19,7128,220,27,7136\",\",220,10,7119,220,28,7137\",\",222,9,7160,222,17,7168\",\",223,57,7227,223,65,7235\",\",223,10,7180,223,66,7236\",\",224,11,7249,224,18,7256\",\",225,12,7270,225,33,7291\",\",226,28,7321,226,38,7331\",\",226,20,7313,226,39,7332\",\",226,12,7305,226,40,7333\",\",227,12,7347,227,65,7400\",\",228,19,7422,228,27,7430\",\",228,10,7413,228,28,7431\",\",232,7,7491,232,15,7499\",\",233,55,7556,233,63,7564\",\",233,8,7509,233,64,7565\",\",234,9,7576,234,16,7583\",\",235,10,7595,235,31,7616\",\",236,26,7644,236,36,7654\",\",236,18,7636,236,37,7655\",\",236,10,7628,236,38,7656\",\",237,10,7668,237,63,7721\",\",238,17,7741,238,25,7749\",\",238,8,7732,238,26,7750\",\",242,9,7921,242,17,7929\",\",242,9,7921,242,30,7942\",\",243,9,7961,243,17,7969\",\",244,57,8028,244,65,8036\",\",244,10,7981,244,66,8037\",\",245,11,8050,245,18,8057\",\",246,12,8071,246,33,8092\",\",247,28,8122,247,38,8132\",\",247,20,8114,247,39,8133\",\",247,12,8106,247,40,8134\",\",248,12,8148,248,53,8189\",\",249,19,8211,249,27,8219\",\",249,10,8202,249,28,8220\",\",251,9,8243,251,17,8251\",\",252,50,8303,252,58,8311\",\",252,10,8263,252,69,8322\",\",253,20,8344,253,28,8352\",\",253,10,8334,253,29,8353\",\",254,11,8366,254,18,8373\",\",255,12,8387,255,27,8402\",\",256,25,8429,256,41,8445\",\",257,15,8462,257,22,8469\",\",258,24,8495,258,37,8508\",\",259,38,8548,259,48,8558\",\",259,24,8534,259,49,8559\",\",260,29,8590,260,37,8598\",\",261,22,8622,261,34,8634\",\",261,36,8636,261,50,8650\",\",261,52,8652,261,64,8664\",\",262,22,8688,262,34,8700\",\",262,36,8702,262,50,8716\",\",262,36,8702,262,54,8720\",\",262,56,8722,262,68,8734\",\",262,56,8722,262,72,8738\",\",260,20,8581,262,73,8739\",\",256,12,8416,263,24,8764\",\",264,12,8778,264,46,8812\",\",265,25,8839,265,43,8857\",\",265,46,8860,265,53,8867\",\",265,55,8869,265,66,8880\",\",265,12,8826,265,71,8885\",\",266,19,8907,266,27,8915\",\",266,10,8898,266,28,8916\",\",270,7,8976,270,15,8984\",\",271,55,9041,271,63,9049\",\",271,8,8994,271,64,9050\",\",272,9,9061,272,16,9068\",\",273,10,9080,273,31,9101\",\",274,26,9129,274,36,9139\",\",274,18,9121,274,37,9140\",\",274,10,9113,274,38,9141\",\",275,10,9153,275,51,9194\",\",276,17,9214,276,25,9222\",\",276,8,9205,276,26,9223\",\",280,9,9360,280,17,9368\",\",280,9,9360,280,30,9381\",\",280,52,9403,280,60,9411\",\",280,38,9389,280,61,9412\",\",280,34,9385,280,62,9413\",\",281,9,9424,281,17,9432\",\",282,46,9480,282,54,9488\",\",282,10,9444,282,55,9489\",\",283,11,9502,283,18,9509\",\",283,20,9511,283,59,9550\",\",284,19,9572,284,27,9580\",\",284,10,9563,284,28,9581\",\",285,28,9611,285,36,9619\",\",285,14,9597,285,37,9620\",\",286,34,9656,286,42,9664\",\",286,24,9646,286,43,9665\",\",288,13,9709,288,21,9717\",\",289,43,9762,289,51,9770\",\",289,14,9733,289,62,9781\",\",290,24,9807,290,32,9815\",\",290,14,9797,290,33,9816\",\",291,15,9833,291,22,9840\",\",292,16,9858,292,39,9881\",\",293,29,9912,293,55,9938\",\",293,57,9940,293,73,9956\",\",293,78,9961,293,87,9970\",\",293,57,9940,293,88,9971\",\",293,16,9899,293,92,9975\",\",294,16,9993,294,53,10030\",\",295,29,10061,295,48,10080\",\",295,50,10082,295,57,10089\",\",295,59,10091,295,70,10102\",\",295,59,10091,295,72,10104\",\",295,16,10048,295,76,10108\",\",296,16,10126,296,28,10138\",\",297,23,10164,297,31,10172\",\",297,14,10155,297,32,10173\",\",299,13,10208,299,21,10216\",\",300,43,10261,300,51,10269\",\",300,14,10232,300,61,10279\",\",301,24,10305,301,32,10313\",\",301,14,10295,301,33,10314\",\",302,15,10331,302,22,10338\",\",302,24,10340,302,79,10395\",\",303,23,10421,303,31,10429\",\",303,14,10412,303,32,10430\",\",286,8,9630,304,11,10443\",\",280,6,9357,305,9,10453\",\",308,7,10502,308,15,10510\",\",309,44,10556,309,52,10564\",\",309,8,10520,309,53,10565\",\",310,9,10576,310,16,10583\",\",310,18,10585,310,57,10624\",\",311,17,10644,311,25,10652\",\",311,8,10635,311,26,10653\",\",315,13,10814,315,21,10822\",\",315,13,10814,315,34,10835\",\",315,9,10810,315,35,10836\",\",315,54,10855,315,62,10863\",\",315,40,10841,315,63,10864\",\",316,9,10875,316,17,10883\",\",317,19,10904,317,34,10919\",\",317,19,10904,317,50,10935\",\",317,52,10937,317,60,10945\",\",317,10,10895,317,70,10955\",\",318,20,10977,318,28,10985\",\",318,10,10967,318,29,10986\",\",319,11,10999,319,18,11006\",\",320,12,11020,320,158,11166\",\",322,9,11190,322,17,11198\",\",323,26,11226,323,41,11241\",\",323,26,11226,323,57,11257\",\",323,59,11259,323,67,11267\",\",323,10,11210,323,68,11268\",\",324,11,11281,324,18,11288\",\",325,12,11302,325,158,11448\",\",329,7,11509,329,15,11517\",\",330,24,11543,330,39,11558\",\",330,24,11543,330,55,11574\",\",330,57,11576,330,65,11584\",\",330,8,11527,330,66,11585\",\",331,9,11596,331,16,11603\",\",332,10,11615,332,156,11761\",\",336,6,11904,336,26,11924\",\",339,7,11973,339,15,11981\",\",340,9,11992,340,16,11999\",\",340,18,12001,340,44,12027\",\",340,54,12037,340,66,12049\",\",340,46,12029,340,67,12050\",\",341,9,12062,341,16,12069\",\",341,18,12071,341,48,12101\",\",342,25,12129,342,39,12143\",\",342,8,12112,342,40,12144\",\",346,6,12285,346,26,12305\",\",349,7,12354,349,15,12362\",\",350,9,12373,350,16,12380\",\",350,82,12446,350,95,12459\",\",350,73,12437,350,96,12460\",\",350,26,12390,350,96,12460\",\",350,26,12390,350,104,12468\",\",350,18,12382,350,105,12469\",\",351,15,12487,351,27,12499\",\",351,8,12480,351,28,12500\",\",352,8,12510,352,27,12529\",\",356,9,12666,356,17,12674\",\",356,9,12666,356,30,12687\",\",356,52,12709,356,60,12717\",\",356,38,12695,356,61,12718\",\",356,34,12691,356,62,12719\",\",357,9,12730,357,17,12738\",\",358,60,12800,358,68,12808\",\",358,10,12750,358,69,12809\",\",359,11,12822,359,18,12829\",\",359,20,12831,359,72,12883\",\",361,9,12907,361,17,12915\",\",362,53,12970,362,61,12978\",\",362,10,12927,362,71,12988\",\",363,20,13010,363,28,13018\",\",363,10,13000,363,29,13019\",\",364,11,13032,364,18,13039\",\",364,20,13041,364,72,13093\",\",368,7,13154,368,15,13162\",\",369,58,13222,369,66,13230\",\",369,8,13172,369,67,13231\",\",370,9,13242,370,16,13249\",\",370,18,13251,370,70,13303\",\",374,9,13457,374,17,13465\",\",374,9,13457,374,30,13478\",\",374,52,13500,374,60,13508\",\",374,38,13486,374,61,13509\",\",374,34,13482,374,62,13510\",\",375,9,13521,375,17,13529\",\",376,53,13584,376,61,13592\",\",376,10,13541,376,62,13593\",\",377,11,13606,377,18,13613\",\",378,12,13627,378,51,13666\",\",379,28,13696,379,38,13706\",\",379,20,13688,379,39,13707\",\",379,12,13680,379,40,13708\",\",380,10,13721,380,29,13740\",\",381,28,13770,381,36,13778\",\",381,14,13756,381,37,13779\",\",382,34,13815,382,42,13823\",\",382,24,13805,382,43,13824\",\",384,25,13876,387,15,13977\",\",388,13,13991,388,21,13999\",\",389,50,14051,389,58,14059\",\",389,14,14015,389,69,14070\",\",390,24,14096,390,32,14104\",\",390,14,14086,390,33,14105\",\",391,15,14122,391,22,14129\",\",392,16,14147,392,31,14162\",\",393,29,14193,393,49,14213\",\",393,51,14215,393,58,14222\",\",393,60,14224,393,67,14231\",\",393,60,14224,393,69,14233\",\",393,16,14180,393,74,14238\",\",394,16,14256,394,62,14302\",\",395,30,14334,395,41,14345\",\",395,43,14347,395,66,14370\",\",396,36,14408,396,46,14418\",\",396,28,14400,396,47,14419\",\",396,20,14392,396,48,14420\",\",397,19,14442,397,26,14449\",\",397,28,14451,397,43,14466\",\",395,16,14320,397,48,14471\",\",398,16,14489,398,28,14501\",\",399,23,14527,399,31,14535\",\",399,14,14518,399,32,14536\",\",401,13,14571,401,21,14579\",\",402,50,14631,402,58,14639\",\",402,14,14595,402,69,14650\",\",403,24,14676,403,32,14684\",\",403,14,14666,403,33,14685\",\",404,15,14702,404,22,14709\",\",405,16,14727,405,87,14798\",\",406,32,14832,406,42,14842\",\",406,24,14824,406,43,14843\",\",406,16,14816,406,44,14844\",\",407,16,14862,407,28,14874\",\",408,23,14900,408,31,14908\",\",408,14,14891,408,32,14909\",\",382,8,13789,409,11,14922\",\",411,9,14944,411,17,14952\",\",412,53,15007,412,61,15015\",\",412,10,14964,412,62,15016\",\",413,11,15029,413,18,15036\",\",414,12,15050,414,83,15121\",\",415,28,15151,415,38,15161\",\",415,20,15143,415,39,15162\",\",415,12,15135,415,40,15163\",\",416,12,15177,416,24,15189\",\",417,19,15211,417,27,15219\",\",417,10,15202,417,28,15220\",\",421,7,15280,421,15,15288\",\",422,51,15341,422,59,15349\",\",422,8,15298,422,60,15350\",\",423,9,15361,423,16,15368\",\",424,10,15380,424,81,15451\",\",425,26,15479,425,36,15489\",\",425,18,15471,425,37,15490\",\",425,10,15463,425,38,15491\",\",426,10,15503,426,22,15515\",\",427,17,15535,427,25,15543\",\",427,8,15526,427,26,15544\",\",431,9,15711,431,22,15724\",\",431,9,15711,431,35,15737\",\",431,57,15759,431,70,15772\",\",431,43,15745,431,71,15773\",\",431,39,15741,431,72,15774\",\",432,9,15785,432,17,15793\",\",433,53,15848,433,66,15861\",\",433,10,15805,433,67,15862\",\",434,20,15884,434,33,15897\",\",434,10,15874,434,34,15898\",\",435,11,15911,435,18,15918\",\",436,12,15932,436,79,15999\",\",438,9,16023,438,17,16031\",\",439,46,16079,439,59,16092\",\",439,10,16043,439,70,16103\",\",440,20,16125,440,33,16138\",\",440,10,16115,440,34,16139\",\",441,11,16152,441,18,16159\",\",442,12,16173,442,27,16188\",\",443,25,16215,443,45,16235\",\",443,48,16238,443,55,16245\",\",443,57,16247,443,72,16262\",\",443,12,16202,443,77,16267\",\",444,12,16281,444,66,16335\",\",448,7,16396,448,15,16404\",\",449,51,16457,449,64,16470\",\",449,8,16414,449,65,16471\",\",450,9,16482,450,16,16489\",\",451,10,16501,451,77,16568\",\",455,9,16754,455,17,16762\",\",455,9,16754,455,30,16775\",\",455,52,16797,455,60,16805\",\",455,38,16783,455,61,16806\",\",455,34,16779,455,62,16807\",\",456,9,16818,456,17,16826\",\",457,53,16881,457,61,16889\",\",457,10,16838,457,62,16890\",\",458,11,16903,458,18,16910\",\",459,12,16924,459,70,16982\",\",461,9,17006,461,17,17014\",\",462,46,17062,462,54,17070\",\",462,10,17026,462,64,17080\",\",463,20,17102,463,28,17110\",\",463,10,17092,463,29,17111\",\",464,11,17124,464,18,17131\",\",464,20,17133,464,78,17191\",\",468,7,17252,468,15,17260\",\",469,51,17313,469,59,17321\",\",469,8,17270,469,60,17322\",\",470,9,17333,470,16,17340\",\",471,10,17352,471,68,17410\",\",475,9,17569,475,17,17577\",\",475,9,17569,475,30,17590\",\",476,9,17601,476,17,17609\",\",477,53,17664,477,61,17672\",\",477,10,17621,477,62,17673\",\",478,11,17686,478,18,17693\",\",478,20,17695,478,67,17742\",\",479,19,17764,479,31,17776\",\",479,10,17755,479,32,17777\",\",480,28,17807,480,36,17815\",\",480,14,17793,480,37,17816\",\",481,34,17852,481,42,17860\",\",481,24,17842,481,43,17861\",\",483,13,17901,483,21,17909\",\",484,50,17961,484,58,17969\",\",484,14,17925,484,69,17980\",\",485,24,18006,485,32,18014\",\",485,14,17996,485,33,18015\",\",486,15,18032,486,22,18039\",\",487,16,18057,487,31,18072\",\",488,29,18103,488,49,18123\",\",488,52,18126,488,59,18133\",\",488,61,18135,488,68,18142\",\",488,61,18135,488,70,18144\",\",488,16,18090,488,75,18149\",\",489,16,18167,489,50,18201\",\",490,23,18227,490,35,18239\",\",490,14,18218,490,36,18240\",\",492,13,18280,492,21,18288\",\",493,50,18340,493,58,18348\",\",493,14,18304,493,68,18358\",\",494,24,18384,494,32,18392\",\",494,14,18374,494,33,18393\",\",495,15,18410,495,22,18417\",\",495,24,18419,495,71,18466\",\",496,23,18492,496,35,18504\",\",496,14,18483,496,36,18505\",\",481,8,17826,497,11,18518\",\",499,9,18540,499,17,18548\",\",500,53,18603,500,61,18611\",\",500,10,18560,500,62,18612\",\",501,11,18625,501,18,18632\",\",501,20,18634,501,67,18681\",\",502,19,18703,502,31,18715\",\",502,10,18694,502,32,18716\",\",506,7,18776,506,15,18784\",\",507,51,18837,507,59,18845\",\",507,8,18794,507,60,18846\",\",508,9,18857,508,16,18864\",\",508,18,18866,508,65,18913\",\",509,17,18933,509,29,18945\",\",509,8,18924,509,30,18946\",\",513,9,19107,513,17,19115\",\",513,9,19107,513,30,19128\",\",514,9,19139,514,17,19147\",\",515,53,19202,515,61,19210\",\",515,10,19159,515,62,19211\",\",516,11,19224,516,18,19231\",\",517,12,19246,517,52,19286\",\",518,29,19317,518,37,19325\",\",518,12,19300,518,38,19326\",\",519,12,19340,519,58,19386\",\",520,34,19422,520,44,19432\",\",520,20,19408,520,45,19433\",\",520,20,19408,520,52,19440\",\",520,12,19400,520,53,19441\",\",521,19,19463,521,27,19471\",\",521,10,19454,521,28,19472\",\",522,28,19502,522,36,19510\",\",522,14,19488,522,37,19511\",\",523,34,19547,523,42,19555\",\",523,24,19537,523,43,19556\",\",525,13,19596,525,21,19604\",\",526,50,19656,526,58,19664\",\",526,14,19620,526,69,19675\",\",527,24,19701,527,32,19709\",\",527,14,19691,527,33,19710\",\",528,15,19727,528,22,19734\",\",528,14,19726,535,65,20134\",\",529,16,19752,529,31,19767\",\",530,29,19798,530,49,19818\",\",530,52,19821,530,59,19828\",\",530,61,19830,530,68,19837\",\",530,61,19830,530,70,19839\",\",530,16,19785,530,75,19844\",\",531,16,19862,531,43,19889\",\",532,33,19924,532,41,19932\",\",532,16,19907,532,42,19933\",\",533,16,19951,533,52,19987\",\",534,29,20018,534,48,20037\",\",534,51,20040,534,58,20047\",\",534,60,20049,534,73,20062\",\",534,16,20005,534,78,20067\",\",535,45,20114,535,55,20124\",\",535,31,20100,535,56,20125\",\",535,24,20093,535,56,20125\",\",535,24,20093,535,63,20132\",\",535,16,20085,535,64,20133\",\",536,23,20159,536,31,20167\",\",536,14,20150,536,32,20168\",\",538,13,20208,538,21,20216\",\",539,50,20268,539,58,20276\",\",539,14,20232,539,68,20286\",\",540,24,20312,540,32,20320\",\",540,14,20302,540,33,20321\",\",541,15,20338,541,22,20345\",\",542,16,20364,542,56,20404\",\",543,33,20439,543,41,20447\",\",543,16,20422,543,42,20448\",\",544,16,20466,544,62,20512\",\",545,38,20552,545,48,20562\",\",545,24,20538,545,49,20563\",\",545,24,20538,545,56,20570\",\",545,16,20530,545,57,20571\",\",546,23,20597,546,31,20605\",\",546,14,20588,546,32,20606\",\",523,8,19521,547,11,20619\",\",549,9,20641,549,17,20649\",\",550,53,20704,550,61,20712\",\",550,10,20661,550,62,20713\",\",551,11,20726,551,18,20733\",\",552,12,20748,552,68,20804\",\",553,29,20835,553,37,20843\",\",553,12,20818,553,38,20844\",\",554,12,20858,554,58,20904\",\",555,34,20940,555,44,20950\",\",555,20,20926,555,45,20951\",\",555,20,20926,555,52,20958\",\",555,12,20918,555,53,20959\",\",556,19,20981,556,27,20989\",\",556,10,20972,556,28,20990\",\",560,7,21050,560,15,21058\",\",561,51,21111,561,59,21119\",\",561,8,21068,561,60,21120\",\",562,9,21131,562,16,21138\",\",563,10,21151,563,66,21207\",\",564,27,21236,564,35,21244\",\",564,10,21219,564,36,21245\",\",565,10,21257,565,56,21303\",\",566,32,21337,566,42,21347\",\",566,18,21323,566,43,21348\",\",566,18,21323,566,50,21355\",\",566,10,21315,566,51,21356\",\",567,17,21376,567,25,21384\",\",567,8,21367,567,26,21385\",\",571,9,21524,571,17,21532\",\",571,9,21524,571,30,21545\",\",572,9,21556,572,17,21564\",\",573,11,21577,573,18,21584\",\",574,12,21598,574,54,21640\",\",575,19,21661,575,27,21669\",\",575,12,21654,575,28,21670\",\",576,12,21684,576,80,21752\",\",577,19,21774,577,31,21786\",\",577,10,21765,577,32,21787\",\",578,10,21799,578,29,21818\",\",579,28,21848,579,36,21856\",\",579,14,21834,579,37,21857\",\",580,34,21893,580,42,21901\",\",580,24,21883,580,43,21902\",\",582,13,21942,582,21,21950\",\",583,50,22002,583,58,22010\",\",583,14,21966,583,69,22021\",\",584,24,22047,584,32,22055\",\",584,14,22037,584,33,22056\",\",585,15,22073,585,22,22080\",\",585,24,22082,585,90,22148\",\",586,23,22174,586,35,22186\",\",586,14,22165,586,36,22187\",\",588,13,22227,588,21,22235\",\",589,15,22252,589,22,22259\",\",590,16,22277,590,58,22319\",\",591,23,22344,591,31,22352\",\",591,16,22337,591,32,22353\",\",592,16,22371,592,83,22438\",\",593,23,22464,593,35,22476\",\",593,14,22455,593,36,22477\",\",580,8,21867,594,11,22490\",\",596,9,22512,596,17,22520\",\",597,11,22533,597,18,22540\",\",598,12,22554,598,54,22596\",\",599,19,22617,599,27,22625\",\",599,12,22610,599,28,22626\",\",600,12,22640,600,79,22707\",\",601,19,22729,601,31,22741\",\",601,10,22720,601,32,22742\",\",605,9,22804,605,17,22812\",\",605,9,22804,605,30,22825\",\",606,9,22836,606,17,22844\",\",607,11,22857,607,18,22864\",\",608,12,22878,608,54,22920\",\",609,19,22941,609,27,22949\",\",609,12,22934,609,28,22950\",\",610,12,22964,610,87,23039\",\",611,19,23061,611,31,23073\",\",611,10,23052,611,32,23074\",\",612,10,23086,612,29,23105\",\",614,9,23128,614,17,23136\",\",615,11,23149,615,18,23156\",\",616,12,23170,616,54,23212\",\",617,19,23233,617,27,23241\",\",617,12,23226,617,28,23242\",\",618,12,23256,618,87,23331\",\",619,19,23353,619,31,23365\",\",619,10,23344,619,32,23366\",\",624,9,23534,624,17,23542\",\",624,9,23534,624,30,23555\",\",625,9,23566,625,17,23574\",\",626,11,23587,626,18,23594\",\",626,10,23586,633,25,23935\",\",627,12,23608,627,43,23639\",\",628,19,23660,628,27,23668\",\",628,12,23653,628,28,23669\",\",629,12,23683,629,40,23711\",\",630,29,23742,630,47,23760\",\",630,12,23725,630,48,23761\",\",631,12,23775,631,105,23868\",\",632,29,23899,632,37,23907\",\",632,12,23882,632,38,23908\",\",633,12,23922,633,24,23934\",\",634,19,23956,634,27,23964\",\",634,10,23947,634,28,23965\",\",635,10,23977,635,29,23996\",\",636,28,24026,636,36,24034\",\",636,14,24012,636,37,24035\",\",637,34,24071,637,42,24079\",\",637,24,24061,637,43,24080\",\",639,13,24120,639,21,24128\",\",640,40,24170,640,48,24178\",\",640,14,24144,640,59,24189\",\",641,24,24215,641,32,24223\",\",641,14,24205,641,33,24224\",\",642,15,24241,642,22,24248\",\",642,14,24240,648,29,24598\",\",643,16,24266,643,42,24292\",\",644,41,24335,644,59,24353\",\",644,29,24323,644,60,24354\",\",644,62,24356,644,72,24366\",\",644,77,24371,644,80,24374\",\",644,62,24356,644,81,24375\",\",644,16,24310,644,85,24379\",\",645,16,24397,645,90,24471\",\",646,16,24489,646,47,24520\",\",647,33,24555,647,44,24566\",\",647,16,24538,647,45,24567\",\",648,16,24585,648,28,24597\",\",649,23,24623,649,31,24631\",\",649,14,24614,649,32,24632\",\",651,13,24672,651,21,24680\",\",652,40,24722,652,48,24730\",\",652,14,24696,652,58,24740\",\",653,24,24766,653,32,24774\",\",653,14,24756,653,33,24775\",\",654,15,24792,654,22,24799\",\",655,16,24817,655,42,24843\",\",656,33,24878,656,51,24896\",\",656,16,24861,656,52,24897\",\",657,16,24915,657,109,25008\",\",658,33,25043,658,44,25054\",\",658,16,25026,658,45,25055\",\",659,16,25073,659,28,25085\",\",660,23,25111,660,31,25119\",\",660,14,25102,660,32,25120\",\",637,8,24045,661,11,25133\",\",663,9,25155,663,17,25163\",\",664,11,25176,664,18,25183\",\",664,10,25175,671,25,25527\",\",665,12,25197,665,43,25228\",\",666,19,25249,666,27,25257\",\",666,12,25242,666,28,25258\",\",667,12,25272,667,40,25300\",\",668,29,25331,668,47,25349\",\",668,12,25314,668,48,25350\",\",669,12,25364,669,105,25457\",\",670,29,25488,670,40,25499\",\",670,12,25471,670,41,25500\",\",671,12,25514,671,24,25526\",\",672,19,25548,672,27,25556\",\",672,10,25539,672,28,25557\",\",676,9,25619,676,17,25627\",\",676,9,25619,676,30,25640\",\",677,9,25651,677,17,25659\",\",678,11,25672,678,18,25679\",\",678,10,25671,685,25,26023\",\",679,12,25693,679,43,25724\",\",680,19,25745,680,27,25753\",\",680,12,25738,680,28,25754\",\",681,12,25768,681,40,25796\",\",682,29,25827,682,47,25845\",\",682,12,25810,682,48,25846\",\",683,12,25860,683,105,25953\",\",684,29,25984,684,40,25995\",\",684,12,25967,684,41,25996\",\",685,12,26010,685,24,26022\",\",686,19,26044,686,27,26052\",\",686,10,26035,686,28,26053\",\",687,10,26065,687,29,26084\",\",689,9,26107,689,17,26115\",\",690,11,26128,690,18,26135\",\",690,10,26127,697,25,26490\",\",691,12,26149,691,43,26180\",\",692,19,26201,692,27,26209\",\",692,12,26194,692,28,26210\",\",693,12,26224,693,40,26252\",\",694,29,26283,694,47,26301\",\",694,12,26266,694,48,26302\",\",695,12,26316,695,116,26420\",\",696,29,26451,696,40,26462\",\",696,12,26434,696,41,26463\",\",697,12,26477,697,24,26489\",\",698,19,26511,698,27,26519\",\",698,10,26502,698,28,26520\",\",703,9,26690,703,17,26698\",\",703,9,26690,703,30,26711\",\",704,9,26722,704,17,26730\",\",705,42,26774,705,50,26782\",\",705,10,26742,705,51,26783\",\",706,11,26796,706,18,26803\",\",706,20,26805,706,63,26848\",\",707,19,26870,707,31,26882\",\",707,10,26861,707,32,26883\",\",708,28,26913,708,36,26921\",\",708,14,26899,708,37,26922\",\",709,34,26958,709,42,26966\",\",709,24,26948,709,43,26967\",\",711,25,27019,714,15,27120\",\",715,13,27134,715,21,27142\",\",716,50,27194,716,58,27202\",\",716,14,27158,716,69,27213\",\",717,24,27239,717,32,27247\",\",717,14,27229,717,33,27248\",\",718,15,27265,718,22,27272\",\",719,16,27290,719,31,27305\",\",720,29,27336,720,49,27356\",\",720,52,27359,720,59,27366\",\",720,61,27368,720,68,27375\",\",720,61,27368,720,70,27377\",\",720,16,27323,720,75,27382\",\",721,16,27400,721,46,27430\",\",722,23,27456,722,35,27468\",\",722,14,27447,722,36,27469\",\",724,13,27504,724,21,27512\",\",725,50,27564,725,58,27572\",\",725,14,27528,725,69,27583\",\",726,24,27609,726,32,27617\",\",726,14,27599,726,33,27618\",\",727,15,27635,727,22,27642\",\",728,16,27660,728,59,27703\",\",729,23,27729,729,35,27741\",\",729,14,27720,729,36,27742\",\",709,8,26932,730,11,27755\",\",732,9,27777,732,17,27785\",\",733,42,27829,733,50,27837\",\",733,10,27797,733,51,27838\",\",734,11,27851,734,18,27858\",\",734,20,27860,734,63,27903\",\",735,19,27925,735,31,27937\",\",735,10,27916,735,32,27938\",\",739,7,27998,739,15,28006\",\",740,41,28049,740,49,28057\",\",740,8,28016,740,50,28058\",\",741,9,28069,741,16,28076\",\",741,18,28078,741,61,28121\",\",742,17,28141,742,29,28153\",\",742,8,28132,742,30,28154\",\",746,9,28296,746,17,28304\",\",746,9,28296,746,30,28317\",\",747,9,28328,747,17,28336\",\",748,57,28395,748,65,28403\",\",748,10,28348,748,66,28404\",\",749,11,28417,749,18,28424\",\",749,20,28426,749,63,28469\",\",750,19,28491,750,31,28503\",\",750,10,28482,750,32,28504\",\",751,28,28534,751,36,28542\",\",751,14,28520,751,37,28543\",\",752,34,28579,752,42,28587\",\",752,24,28569,752,43,28588\",\",754,25,28640,757,15,28744\",\",758,13,28758,758,21,28766\",\",759,54,28822,759,62,28830\",\",759,14,28782,759,73,28841\",\",760,24,28867,760,32,28875\",\",760,14,28857,760,33,28876\",\",761,15,28893,761,22,28900\",\",762,16,28918,762,31,28933\",\",763,29,28964,763,49,28984\",\",763,52,28987,763,59,28994\",\",763,61,28996,763,69,29004\",\",763,61,28996,763,71,29006\",\",763,16,28951,763,76,29011\",\",764,16,29029,764,46,29059\",\",765,23,29085,765,35,29097\",\",765,14,29076,765,36,29098\",\",767,13,29133,767,21,29141\",\",768,54,29197,768,62,29205\",\",768,14,29157,768,73,29216\",\",769,24,29242,769,32,29250\",\",769,14,29232,769,33,29251\",\",770,15,29268,770,22,29275\",\",771,16,29293,771,59,29336\",\",772,23,29362,772,35,29374\",\",772,14,29353,772,36,29375\",\",752,8,28553,773,11,29388\",\",775,9,29410,775,17,29418\",\",776,57,29477,776,65,29485\",\",776,10,29430,776,66,29486\",\",777,11,29499,777,18,29506\",\",777,20,29508,777,63,29551\",\",778,19,29573,778,31,29585\",\",778,10,29564,778,32,29586\",\",782,7,29646,782,15,29654\",\",783,55,29711,783,63,29719\",\",783,8,29664,783,64,29720\",\",784,9,29731,784,16,29738\",\",784,18,29740,784,61,29783\",\",785,17,29803,785,29,29815\",\",785,8,29794,785,30,29816\",\",789,6,29962,789,26,29982\",\",792,7,30040,792,15,30048\",\",793,9,30059,793,16,30066\",\",793,8,30058,796,61,30322\",\",794,10,30078,794,30,30098\",\",794,40,30108,794,55,30123\",\",794,32,30100,794,56,30124\",\",794,58,30126,794,73,30141\",\",794,83,30151,794,99,30167\",\",794,75,30143,794,100,30168\",\",795,10,30180,795,42,30212\",\",795,52,30222,795,60,30230\",\",795,44,30214,795,61,30231\",\",795,63,30233,795,89,30259\",\",796,29,30290,796,37,30298\",\",796,10,30271,796,38,30299\",\",796,40,30301,796,60,30321\",\",797,17,30341,797,27,30351\",\",797,8,30332,797,28,30352\",\",801,6,30501,801,26,30521\",\",804,7,30579,804,15,30587\",\",805,9,30598,805,16,30605\",\",805,8,30597,809,61,30904\",\",806,10,30617,806,29,30636\",\",806,39,30646,806,54,30661\",\",806,31,30638,806,55,30662\",\",806,57,30664,806,70,30677\",\",806,80,30687,806,96,30703\",\",806,72,30679,806,97,30704\",\",807,10,30716,807,28,30734\",\",807,38,30744,807,51,30757\",\",807,30,30736,807,52,30758\",\",807,54,30760,807,80,30786\",\",808,18,30806,808,26,30814\",\",808,10,30798,808,27,30815\",\",808,29,30817,808,53,30841\",\",809,29,30872,809,37,30880\",\",809,10,30853,809,38,30881\",\",809,40,30883,809,60,30903\",\",810,17,30923,810,27,30933\",\",810,8,30914,810,28,30934\",\",814,7,31084,814,15,31092\",\",815,24,31118,815,49,31143\",\",817,15,31185,817,31,31201\",\",818,15,31218,818,26,31229\",\",819,16,31247,819,50,31281\",\",820,17,31300,820,24,31307\",\",821,18,31327,821,58,31367\",\",822,27,31396,822,35,31404\",\",822,18,31387,822,36,31405\",\",823,18,31425,823,53,31460\",\",824,27,31489,824,35,31497\",\",824,18,31480,824,36,31498\",\",825,18,31518,825,36,31536\",\",826,25,31564,826,33,31572\",\",826,16,31555,826,34,31573\",\",827,20,31595,827,38,31613\",\",828,15,31630,828,26,31641\",\",829,16,31659,829,52,31695\",\",830,16,31713,830,30,31727\",\",831,17,31746,831,24,31753\",\",832,18,31773,832,58,31813\",\",833,27,31842,833,35,31850\",\",833,18,31833,833,36,31851\",\",834,18,31871,834,53,31906\",\",835,27,31935,835,35,31943\",\",835,18,31926,835,36,31944\",\",836,18,31964,836,36,31982\",\",837,25,32010,837,33,32018\",\",837,16,32001,837,34,32019\",\",839,15,32054,839,26,32065\",\",840,16,32083,840,50,32117\",\",841,17,32136,841,24,32143\",\",842,18,32163,842,58,32203\",\",843,27,32232,843,35,32240\",\",843,18,32223,843,36,32241\",\",844,18,32261,844,53,32296\",\",845,27,32325,845,35,32333\",\",845,18,32316,845,36,32334\",\",846,18,32354,846,36,32372\",\",847,25,32400,847,33,32408\",\",847,16,32391,847,34,32409\",\",850,13,32460,850,24,32471\",\",851,15,32488,851,22,32495\",\",852,16,32513,852,93,32590\",\",853,25,32617,853,33,32625\",\",853,16,32608,853,34,32626\",\",854,16,32644,854,53,32681\",\",855,25,32708,855,33,32716\",\",855,16,32699,855,34,32717\",\",856,16,32735,856,34,32753\",\",857,23,32779,857,31,32787\",\",857,14,32770,857,32,32788\",\",815,8,31102,858,11,32801\",\",861,7,32852,861,15,32860\",\",864,13,32931,864,24,32942\",\",865,14,32958,865,48,32992\",\",866,15,33009,866,22,33016\",\",867,16,33034,867,60,33078\",\",868,25,33105,868,33,33113\",\",868,16,33096,868,34,33114\",\",869,16,33132,869,53,33169\",\",870,25,33196,870,33,33204\",\",870,16,33187,870,34,33205\",\",871,16,33223,871,34,33241\",\",873,11,33270,873,22,33281\",\",874,13,33296,874,20,33303\",\",875,14,33319,875,91,33396\",\",876,23,33421,876,31,33429\",\",876,14,33412,876,32,33430\",\",877,14,33446,877,51,33483\",\",878,23,33508,878,31,33516\",\",878,14,33499,878,32,33517\",\",879,14,33533,879,32,33551\",\",862,8,32870,879,35,33554\",\",880,17,33573,880,25,33581\",\",880,8,33564,880,26,33582\",\",884,7,33753,884,15,33761\",\",885,24,33787,885,49,33812\",\",887,15,33854,887,31,33870\",\",888,15,33887,888,26,33898\",\",888,14,33886,900,45,34451\",\",889,32,33932,889,43,33943\",\",889,32,33932,889,50,33950\",\",889,53,33953,889,64,33964\",\",889,32,33932,889,64,33964\",\",889,32,33932,889,81,33981\",\",889,16,33916,889,87,33987\",\",890,17,34006,890,24,34013\",\",891,18,34033,891,47,34062\",\",892,25,34090,892,34,34099\",\",892,16,34081,892,35,34100\",\",893,17,34119,893,24,34126\",\",894,18,34146,894,48,34176\",\",895,25,34204,895,34,34213\",\",895,16,34195,895,35,34214\",\",896,17,34233,896,24,34240\",\",897,35,34277,897,46,34288\",\",897,26,34268,897,46,34288\",\",897,26,34268,897,81,34323\",\",897,18,34260,897,82,34324\",\",898,19,34345,898,30,34356\",\",899,20,34378,899,46,34404\",\",900,20,34426,900,42,34448\",\",901,20,34472,901,38,34490\",\",902,30,34522,902,44,34536\",\",904,30,34599,904,38,34607\",\",904,30,34599,904,40,34609\",\",905,30,34640,905,39,34649\",\",905,30,34640,905,41,34651\",\",906,19,34671,906,30,34682\",\",906,18,34670,923,49,35537\",\",907,29,34713,907,40,34724\",\",907,29,34713,907,47,34731\",\",907,50,34734,907,61,34745\",\",907,29,34713,907,61,34745\",\",907,29,34713,907,78,34762\",\",907,20,34704,907,94,34778\",\",908,20,34800,908,34,34814\",\",909,21,34837,909,28,34844\",\",910,22,34868,910,37,34883\",\",911,35,34920,911,55,34940\",\",911,58,34943,911,65,34950\",\",911,22,34907,911,79,34964\",\",912,22,34988,912,38,35004\",\",913,29,35036,913,38,35045\",\",913,20,35027,913,39,35046\",\",914,21,35069,914,28,35076\",\",915,22,35100,915,37,35115\",\",916,35,35152,916,56,35173\",\",916,59,35176,916,66,35183\",\",916,22,35139,916,81,35198\",\",917,22,35222,917,38,35238\",\",918,29,35270,918,38,35279\",\",918,20,35261,918,39,35280\",\",919,21,35303,919,28,35310\",\",920,39,35351,920,50,35362\",\",920,30,35342,920,50,35362\",\",920,30,35342,920,85,35397\",\",920,22,35334,920,86,35398\",\",921,23,35423,921,34,35434\",\",922,24,35460,922,50,35486\",\",923,24,35512,923,46,35534\",\",925,19,35588,925,30,35599\",\",925,18,35587,936,49,36194\",\",926,29,35630,926,40,35641\",\",926,29,35630,926,47,35648\",\",926,50,35651,926,61,35662\",\",926,29,35630,926,61,35662\",\",926,29,35630,926,78,35679\",\",926,20,35621,926,93,35694\",\",927,20,35716,927,34,35730\",\",928,21,35753,928,28,35760\",\",928,30,35762,928,59,35791\",\",929,29,35823,929,38,35832\",\",929,20,35814,929,39,35833\",\",930,21,35856,930,28,35863\",\",930,30,35865,930,60,35895\",\",931,29,35927,931,38,35936\",\",931,20,35918,931,39,35937\",\",932,21,35960,932,28,35967\",\",933,39,36008,933,50,36019\",\",933,30,35999,933,50,36019\",\",933,30,35999,933,85,36054\",\",933,22,35991,933,86,36055\",\",934,23,36080,934,34,36091\",\",935,24,36117,935,50,36143\",\",936,24,36169,936,46,36191\",\",902,14,34506,937,17,36212\",\",939,15,36246,939,26,36257\",\",939,14,36245,949,45,36774\",\",940,32,36291,940,43,36302\",\",940,32,36291,940,50,36309\",\",940,53,36312,940,64,36323\",\",940,32,36291,940,64,36323\",\",940,32,36291,940,81,36340\",\",940,16,36275,940,87,36346\",\",941,17,36365,941,24,36372\",\",941,26,36374,941,55,36403\",\",942,25,36431,942,34,36440\",\",942,16,36422,942,35,36441\",\",943,17,36460,943,24,36467\",\",943,26,36469,943,56,36499\",\",944,25,36527,944,34,36536\",\",944,16,36518,944,35,36537\",\",945,17,36556,945,24,36563\",\",946,35,36600,946,46,36611\",\",946,26,36591,946,46,36611\",\",946,26,36591,946,81,36646\",\",946,18,36583,946,82,36647\",\",947,19,36668,947,30,36679\",\",948,20,36701,948,46,36727\",\",949,20,36749,949,42,36771\",\",952,13,36824,952,24,36835\",\",952,12,36823,967,43,37451\",\",953,15,36852,953,22,36859\",\",954,31,36892,954,42,36903\",\",954,24,36885,954,42,36903\",\",954,24,36885,954,49,36910\",\",954,16,36877,954,50,36911\",\",955,32,36945,955,43,36956\",\",955,24,36937,955,44,36957\",\",955,16,36929,955,45,36958\",\",956,16,36976,956,48,37008\",\",957,15,37026,957,22,37033\",\",958,16,37051,958,45,37080\",\",959,23,37106,959,32,37115\",\",959,14,37097,959,33,37116\",\",960,15,37133,960,22,37140\",\",961,16,37158,961,46,37188\",\",962,23,37214,962,32,37223\",\",962,14,37205,962,33,37224\",\",963,15,37241,963,22,37248\",\",964,33,37283,964,44,37294\",\",964,24,37274,964,44,37294\",\",964,24,37274,964,79,37329\",\",964,16,37266,964,80,37330\",\",965,17,37349,965,28,37360\",\",966,18,37380,966,44,37406\",\",967,18,37426,967,40,37448\",\",885,8,33771,968,11,37463\",\",971,7,37513,971,15,37521\",\",973,13,37585,973,24,37596\",\",973,12,37584,985,43,38125\",\",974,30,37628,974,41,37639\",\",974,30,37628,974,48,37646\",\",974,51,37649,974,62,37660\",\",974,30,37628,974,62,37660\",\",974,30,37628,974,79,37677\",\",974,14,37612,974,85,37683\",\",975,15,37700,975,22,37707\",\",976,16,37725,976,45,37754\",\",977,23,37780,977,32,37789\",\",977,14,37771,977,33,37790\",\",978,15,37807,978,22,37814\",\",979,16,37832,979,46,37862\",\",980,23,37888,980,32,37897\",\",980,14,37879,980,33,37898\",\",981,15,37915,981,22,37922\",\",982,33,37957,982,44,37968\",\",982,24,37948,982,44,37968\",\",982,24,37948,982,79,38003\",\",982,16,37940,982,80,38004\",\",983,17,38023,983,28,38034\",\",984,18,38054,984,44,38080\",\",985,18,38100,985,40,38122\",\",987,11,38152,987,22,38163\",\",987,10,38151,1002,41,38727\",\",988,13,38178,988,20,38185\",\",989,14,38201,989,27,38214\",\",990,30,38246,990,41,38257\",\",990,22,38238,990,42,38258\",\",990,14,38230,990,43,38259\",\",991,14,38275,991,45,38306\",\",992,13,38322,992,20,38329\",\",993,14,38345,993,43,38374\",\",994,21,38398,994,30,38407\",\",994,12,38389,994,31,38408\",\",995,13,38423,995,20,38430\",\",996,14,38446,996,44,38476\",\",997,21,38500,997,30,38509\",\",997,12,38491,997,31,38510\",\",998,13,38525,998,20,38532\",\",999,31,38565,999,42,38576\",\",999,22,38556,999,42,38576\",\",999,22,38556,999,77,38611\",\",999,14,38548,999,78,38612\",\",1000,15,38629,1000,26,38640\",\",1001,16,38658,1001,42,38684\",\",1002,16,38702,1002,38,38724\",\",971,17,37523,1002,42,38728\",\",1006,7,38896,1006,15,38904\",\",1007,24,38930,1007,49,38955\",\",1009,15,38997,1009,31,39013\",\",1010,15,39030,1010,26,39041\",\",1010,14,39029,1019,96,39481\",\",1011,32,39075,1011,43,39086\",\",1011,32,39075,1011,50,39093\",\",1011,53,39096,1011,64,39107\",\",1011,32,39075,1011,64,39107\",\",1011,32,39075,1011,81,39124\",\",1011,16,39059,1011,87,39130\",\",1012,17,39149,1012,24,39156\",\",1013,18,39176,1013,47,39205\",\",1014,25,39233,1014,34,39242\",\",1014,16,39224,1014,35,39243\",\",1015,17,39262,1015,24,39269\",\",1016,18,39289,1016,48,39319\",\",1017,25,39347,1017,34,39356\",\",1017,16,39338,1017,35,39357\",\",1018,17,39376,1018,24,39383\",\",1019,35,39420,1019,46,39431\",\",1019,26,39411,1019,46,39431\",\",1019,26,39411,1019,93,39478\",\",1019,18,39403,1019,94,39479\",\",1020,20,39502,1020,38,39520\",\",1021,30,39552,1021,44,39566\",\",1023,30,39629,1023,38,39637\",\",1023,30,39629,1023,40,39639\",\",1024,30,39670,1024,39,39679\",\",1024,30,39670,1024,41,39681\",\",1025,19,39701,1025,30,39712\",\",1025,18,39700,1039,100,40442\",\",1026,29,39743,1026,40,39754\",\",1026,29,39743,1026,47,39761\",\",1026,50,39764,1026,61,39775\",\",1026,29,39743,1026,61,39775\",\",1026,29,39743,1026,78,39792\",\",1026,20,39734,1026,94,39808\",\",1027,20,39830,1027,34,39844\",\",1028,21,39867,1028,28,39874\",\",1029,22,39898,1029,37,39913\",\",1030,35,39950,1030,55,39970\",\",1030,58,39973,1030,65,39980\",\",1030,22,39937,1030,79,39994\",\",1031,22,40018,1031,38,40034\",\",1032,29,40066,1032,38,40075\",\",1032,20,40057,1032,39,40076\",\",1033,21,40099,1033,28,40106\",\",1034,22,40130,1034,37,40145\",\",1035,35,40182,1035,56,40203\",\",1035,59,40206,1035,66,40213\",\",1035,22,40169,1035,81,40228\",\",1036,22,40252,1036,38,40268\",\",1037,29,40300,1037,38,40309\",\",1037,20,40291,1037,39,40310\",\",1038,21,40333,1038,28,40340\",\",1039,39,40381,1039,50,40392\",\",1039,30,40372,1039,50,40392\",\",1039,30,40372,1039,97,40439\",\",1039,22,40364,1039,98,40440\",\",1041,19,40493,1041,30,40504\",\",1041,18,40492,1049,100,40974\",\",1042,29,40535,1042,40,40546\",\",1042,29,40535,1042,47,40553\",\",1042,50,40556,1042,61,40567\",\",1042,29,40535,1042,61,40567\",\",1042,29,40535,1042,78,40584\",\",1042,20,40526,1042,93,40599\",\",1043,20,40621,1043,34,40635\",\",1044,21,40658,1044,28,40665\",\",1044,30,40667,1044,59,40696\",\",1045,29,40728,1045,38,40737\",\",1045,20,40719,1045,39,40738\",\",1046,21,40761,1046,28,40768\",\",1046,30,40770,1046,60,40800\",\",1047,29,40832,1047,38,40841\",\",1047,20,40823,1047,39,40842\",\",1048,21,40865,1048,28,40872\",\",1049,39,40913,1049,50,40924\",\",1049,30,40904,1049,50,40924\",\",1049,30,40904,1049,97,40971\",\",1049,22,40896,1049,98,40972\",\",1021,14,39536,1050,17,40992\",\",1052,15,41026,1052,26,41037\",\",1052,14,41025,1059,96,41441\",\",1053,32,41071,1053,43,41082\",\",1053,32,41071,1053,50,41089\",\",1053,53,41092,1053,64,41103\",\",1053,32,41071,1053,64,41103\",\",1053,32,41071,1053,81,41120\",\",1053,16,41055,1053,87,41126\",\",1054,17,41145,1054,24,41152\",\",1054,26,41154,1054,55,41183\",\",1055,25,41211,1055,34,41220\",\",1055,16,41202,1055,35,41221\",\",1056,17,41240,1056,24,41247\",\",1056,26,41249,1056,56,41279\",\",1057,25,41307,1057,34,41316\",\",1057,16,41298,1057,35,41317\",\",1058,17,41336,1058,24,41343\",\",1059,35,41380,1059,46,41391\",\",1059,26,41371,1059,46,41391\",\",1059,26,41371,1059,93,41438\",\",1059,18,41363,1059,94,41439\",\",1062,13,41491,1062,24,41502\",\",1062,12,41490,1074,94,42011\",\",1063,15,41519,1063,22,41526\",\",1064,31,41559,1064,42,41570\",\",1064,24,41552,1064,42,41570\",\",1064,24,41552,1064,49,41577\",\",1064,16,41544,1064,50,41578\",\",1065,32,41612,1065,43,41623\",\",1065,24,41604,1065,44,41624\",\",1065,16,41596,1065,45,41625\",\",1066,16,41643,1066,48,41675\",\",1067,15,41693,1067,22,41700\",\",1068,16,41718,1068,45,41747\",\",1069,23,41773,1069,32,41782\",\",1069,14,41764,1069,33,41783\",\",1070,15,41800,1070,22,41807\",\",1071,16,41825,1071,46,41855\",\",1072,23,41881,1072,32,41890\",\",1072,14,41872,1072,33,41891\",\",1073,15,41908,1073,22,41915\",\",1074,33,41950,1074,44,41961\",\",1074,24,41941,1074,44,41961\",\",1074,24,41941,1074,91,42008\",\",1074,16,41933,1074,92,42009\",\",1007,8,38914,1075,11,42023\",\",1078,7,42073,1078,15,42081\",\",1080,13,42145,1080,24,42156\",\",1080,12,42144,1089,94,42578\",\",1081,30,42188,1081,41,42199\",\",1081,30,42188,1081,48,42206\",\",1081,51,42209,1081,62,42220\",\",1081,30,42188,1081,62,42220\",\",1081,30,42188,1081,79,42237\",\",1081,14,42172,1081,85,42243\",\",1082,15,42260,1082,22,42267\",\",1083,16,42285,1083,45,42314\",\",1084,23,42340,1084,32,42349\",\",1084,14,42331,1084,33,42350\",\",1085,15,42367,1085,22,42374\",\",1086,16,42392,1086,46,42422\",\",1087,23,42448,1087,32,42457\",\",1087,14,42439,1087,33,42458\",\",1088,15,42475,1088,22,42482\",\",1089,33,42517,1089,44,42528\",\",1089,24,42508,1089,44,42528\",\",1089,24,42508,1089,91,42575\",\",1089,16,42500,1089,92,42576\",\",1091,11,42605,1091,22,42616\",\",1091,10,42604,1103,92,43079\",\",1092,13,42631,1092,20,42638\",\",1093,14,42654,1093,27,42667\",\",1094,30,42699,1094,41,42710\",\",1094,22,42691,1094,42,42711\",\",1094,14,42683,1094,43,42712\",\",1095,14,42728,1095,45,42759\",\",1096,13,42775,1096,20,42782\",\",1097,14,42798,1097,43,42827\",\",1098,21,42851,1098,30,42860\",\",1098,12,42842,1098,31,42861\",\",1099,13,42876,1099,20,42883\",\",1100,14,42899,1100,44,42929\",\",1101,21,42953,1101,30,42962\",\",1101,12,42944,1101,31,42963\",\",1102,13,42978,1102,20,42985\",\",1103,31,43018,1103,42,43029\",\",1103,22,43009,1103,42,43029\",\",1103,22,43009,1103,89,43076\",\",1103,14,43001,1103,90,43077\",\",1078,17,42083,1103,93,43080\",\",1110,31,43432,1110,34,43435\",\",1110,22,43423,1110,35,43436\",\",1108,8,43328,1113,11,43541\",\",1118,33,43634,1118,46,43647\",\",1117,8,43587,1120,11,43687\",\",1127,25,43915,1127,28,43918\",\",1127,13,43903,1127,29,43919\",\",1131,14,44109,1131,39,44134\",\",1132,26,44161,1132,29,44164\",\",1131,14,44109,1132,30,44165\",\",1133,26,44192,1133,32,44198\",\",1131,14,44109,1133,33,44199\",\",1131,14,44109,1134,27,44227\",\",1125,8,43819,1135,11,44240\",\",1139,16,44297,1139,31,44312\",\",1139,9,44290,1139,32,44313\",\",1140,11,44327,1140,35,44351\",\",1141,11,44365,1141,34,44388\",\",1139,8,44289,1142,40,44430\",\",1145,16,44480,1145,36,44500\",\",1145,9,44473,1145,37,44501\",\",1146,11,44515,1146,35,44539\",\",1147,11,44553,1147,34,44576\",\",1145,8,44472,1148,46,44624\",\",1151,8,44658,1153,19,44733\",\",1154,19,44753,1154,39,44773\",\",1151,8,44658,1154,40,44774\",\",1157,9,44829,1157,16,44836\",\",1158,10,44848,1158,25,44863\",\",1160,10,44894,1160,26,44910\",\",1162,10,44942,1162,22,44954\",\",1166,11,45044,1166,35,45068\",\",1167,13,45083,1167,43,45113\",\",1168,13,45128,1168,24,45139\",\",1169,15,45156,1169,22,45163\",\",1169,14,45155,1176,49,45406\",\",1170,16,45181,1170,31,45196\",\",1172,16,45239,1172,34,45257\",\",1174,16,45301,1174,45,45330\",\",1176,16,45373,1176,48,45405\",\",1177,14,45422,1177,40,45448\",\",1179,13,45479,1179,20,45486\",\",1179,12,45478,1186,47,45715\",\",1180,14,45502,1180,29,45517\",\",1182,14,45556,1182,32,45574\",\",1184,14,45614,1184,43,45643\",\",1186,14,45682,1186,46,45714\",\",1189,13,45757,1189,43,45787\",\",1190,13,45802,1190,24,45813\",\",1191,15,45830,1191,22,45837\",\",1191,14,45829,1198,29,46084\",\",1192,16,45855,1192,31,45870\",\",1194,16,45913,1194,65,45962\",\",1196,16,46005,1196,39,46028\",\",1198,16,46071,1198,28,46083\",\",1199,14,46100,1199,40,46126\",\",1201,13,46157,1201,20,46164\",\",1201,12,46156,1208,27,46397\",\",1202,14,46180,1202,29,46195\",\",1204,14,46234,1204,63,46283\",\",1206,14,46322,1206,37,46345\",\",1208,14,46384,1208,26,46396\",\",1214,9,46491,1214,16,46498\",\",1215,10,46510,1215,23,46523\",\",1217,10,46554,1217,37,46581\",\",1219,10,46612,1219,40,46642\",\",1226,15,46778,1226,32,46795\",\",1229,14,46853,1229,39,46878\",\",1222,17,46672,1231,14,46909\",\",1222,17,46672,1232,27,46937\",\",1238,29,47075,1238,36,47082\",\",1239,17,47111,1239,41,47135\",\",1238,12,47058,1243,18,47212\",\",1234,16,46955,1244,14,47227\",\",1234,16,46955,1245,27,47255\",\",1251,15,47382,1251,33,47400\",\",1254,14,47458,1254,40,47484\",\",1247,15,47272,1256,14,47515\",\",1247,15,47272,1257,27,47543\",\",1263,25,47681,1263,43,47699\",\",1263,46,47702,1263,53,47709\",\",1264,17,47738,1264,41,47762\",\",1263,12,47668,1268,18,47839\",\",1259,16,47561,1269,14,47854\",\",1270,17,47872,1270,35,47890\",\",1259,16,47561,1270,36,47891\",\",1272,7,47900,1272,15,47908\",\",1277,15,48030,1277,26,48041\",\",1278,17,48060,1278,24,48067\",\",1279,18,48087,1279,43,48112\",\",1280,26,48140,1280,57,48171\",\",1280,18,48132,1280,58,48172\",\",1281,18,48192,1281,38,48212\",\",1282,16,48231,1282,34,48249\",\",1273,8,47918,1283,16,48267\",\",1285,13,48301,1285,20,48308\",\",1286,14,48324,1286,65,48375\",\",1273,8,47918,1286,67,48377\",\",1288,18,48424,1288,35,48441\",\",1288,10,48416,1288,36,48442\",\",1289,19,48463,1289,42,48486\",\",1289,10,48454,1289,43,48487\",\",1291,17,48525,1291,39,48547\",\",1291,10,48518,1291,40,48548\",\",1287,8,48387,1291,41,48549\",\",1293,18,48596,1293,49,48627\",\",1293,10,48588,1293,50,48628\",\",1292,8,48559,1294,18,48648\",\",1297,9,48700,1297,24,48715\",\",1297,9,48700,1297,37,48728\",\",1298,9,48739,1298,17,48747\",\",1299,11,48760,1299,18,48767\",\",1300,12,48781,1300,41,48810\",\",1301,19,48831,1301,34,48846\",\",1301,12,48824,1301,35,48847\",\",1302,15,48864,1302,39,48888\",\",1303,14,48904,1303,92,48982\",\",1305,14,49015,1305,121,49122\",\",1307,10,49151,1307,29,49170\",\",1309,9,49193,1309,17,49201\",\",1310,11,49214,1310,18,49221\",\",1311,12,49235,1311,43,49266\",\",1312,19,49287,1312,34,49302\",\",1312,12,49280,1312,35,49303\",\",1313,15,49320,1313,39,49344\",\",1314,14,49360,1314,92,49438\",\",1316,14,49471,1316,121,49578\",\",1322,20,49811,1322,33,49824\",\",1322,20,49811,1322,38,49829\",\",1326,13,49947,1326,26,49960\",\",1326,13,49947,1326,31,49965\",\",1327,13,49980,1327,20,49987\",\",1327,22,49989,1327,38,50005\",\",1327,48,50015,1327,53,50020\",\",1327,22,49989,1327,54,50021\",\",1334,31,50194,1334,34,50197\",\",1334,22,50185,1334,35,50198\",\",1332,8,50090,1335,11,50211\",\",1342,25,50439,1342,28,50442\",\",1342,13,50427,1342,29,50443\",\",1340,8,50343,1343,11,50468\",\",1347,16,50525,1347,31,50540\",\",1347,9,50518,1347,32,50541\",\",1348,11,50555,1348,35,50579\",\",1349,11,50593,1349,34,50616\",\",1347,8,50517,1350,40,50658\",\",1353,16,50708,1353,36,50728\",\",1353,9,50701,1353,37,50729\",\",1354,11,50743,1354,35,50767\",\",1355,11,50781,1355,34,50804\",\",1353,8,50700,1356,46,50852\",\",1359,9,50907,1359,16,50914\",\",1360,10,50926,1360,25,50941\",\",1362,10,50972,1362,26,50988\",\",1364,10,51020,1364,22,51032\",\",1368,25,51136,1368,45,51156\",\",1368,11,51122,1368,46,51157\",\",1369,11,51170,1369,22,51181\",\",1370,13,51196,1370,20,51203\",\",1370,12,51195,1379,27,51470\",\",1371,14,51219,1371,29,51234\",\",1373,14,51273,1373,30,51289\",\",1375,14,51329,1375,43,51358\",\",1377,14,51397,1377,35,51418\",\",1379,14,51457,1379,26,51469\",\",1380,22,51494,1380,42,51514\",\",1380,12,51484,1380,43,51515\",\",1382,11,51542,1382,18,51549\",\",1382,10,51541,1389,25,51741\",\",1383,12,51563,1383,27,51578\",\",1385,12,51613,1385,36,51637\",\",1387,12,51672,1387,33,51693\",\",1389,12,51728,1389,24,51740\",\",1394,9,51834,1394,16,51841\",\",1394,8,51833,1401,38,52041\",\",1395,10,51853,1395,23,51866\",\",1397,10,51897,1397,44,51931\",\",1399,10,51965,1399,26,51981\",\",1401,10,52013,1401,37,52040\",\",1408,12,52173,1408,37,52198\",\",1404,17,52070,1409,14,52213\",\",1404,17,52070,1410,27,52241\",\",1416,29,52379,1416,36,52386\",\",1416,12,52362,1416,51,52401\",\",1412,16,52259,1417,14,52416\",\",1412,16,52259,1418,27,52444\",\",1424,12,52568,1424,38,52594\",\",1420,15,52461,1425,14,52609\",\",1420,15,52461,1426,27,52637\",\",1431,25,52741,1431,43,52759\",\",1431,46,52762,1431,53,52769\",\",1431,55,52771,1431,75,52791\",\",1431,12,52728,1431,81,52797\",\",1428,16,52655,1432,14,52812\",\",1433,17,52830,1433,35,52848\",\",1428,16,52655,1433,36,52849\",\",1435,7,52858,1435,15,52866\",\",1440,15,52988,1440,26,52999\",\",1441,17,53018,1441,24,53025\",\",1442,18,53045,1442,43,53070\",\",1443,26,53098,1443,57,53129\",\",1443,18,53090,1443,58,53130\",\",1444,18,53150,1444,38,53170\",\",1445,16,53189,1445,34,53207\",\",1436,8,52876,1446,16,53225\",\",1448,13,53259,1448,20,53266\",\",1449,14,53282,1449,65,53333\",\",1436,8,52876,1449,67,53335\",\",1451,18,53382,1451,35,53399\",\",1451,10,53374,1451,36,53400\",\",1452,34,53436,1452,47,53449\",\",1452,19,53421,1452,48,53450\",\",1452,10,53412,1452,49,53451\",\",1454,30,53502,1454,47,53519\",\",1454,17,53489,1454,48,53520\",\",1454,10,53482,1454,49,53521\",\",1450,8,53345,1454,50,53522\",\",1456,18,53569,1456,49,53600\",\",1456,10,53561,1456,50,53601\",\",1457,17,53620,1457,34,53637\",\",1457,10,53613,1457,35,53638\",\",1458,19,53659,1458,38,53678\",\",1458,10,53650,1458,39,53679\",\",1455,8,53532,1458,40,53680\",\",1461,7,53730,1461,15,53738\",\",1462,9,53749,1462,16,53756\",\",1463,10,53768,1463,48,53806\",\",1464,17,53825,1464,31,53839\",\",1464,10,53818,1464,32,53840\",\",1465,10,53852,1465,78,53920\",\",1466,17,53939,1466,32,53954\",\",1466,10,53932,1466,33,53955\",\",1467,10,53967,1467,22,53979\",\",1468,9,53991,1468,16,53998\",\",1469,10,54010,1469,43,54043\",\",1470,31,54076,1470,44,54089\",\",1470,10,54055,1470,45,54090\",\",1471,10,54102,1471,22,54114\",\",1472,9,54126,1472,16,54133\",\",1473,10,54145,1473,67,54202\",\",1474,23,54227,1474,40,54244\",\",1474,10,54214,1474,41,54245\",\",1475,9,54257,1475,16,54264\",\",1476,10,54276,1476,124,54390\",\",1480,22,54601,1480,39,54618\",\",1480,22,54601,1480,48,54627\",\",1481,20,54648,1481,38,54666\",\",1485,13,54790,1485,31,54808\",\",1486,13,54823,1486,20,54830\",\",1486,22,54832,1486,38,54848\",\",1486,48,54858,1486,53,54863\",\",1486,22,54832,1486,54,54864\",\",1492,49,54998,1492,55,55004\",\",1492,64,55013,1492,70,55019\",\",1492,81,55030,1492,84,55033\",\",1492,72,55021,1492,85,55034\",\",1492,57,55006,1492,86,55035\",\",1493,49,55086,1493,55,55092\",\",1493,64,55101,1493,70,55107\",\",1493,81,55118,1493,84,55121\",\",1493,72,55109,1493,85,55122\",\",1493,57,55094,1493,86,55123\",\",1495,49,55266,1495,55,55272\",\",1495,64,55281,1495,70,55287\",\",1495,73,55290,1495,80,55297\",\",1495,82,55299,1495,85,55302\",\",1495,98,55315,1495,101,55318\",\",1495,89,55306,1495,102,55319\",\",1495,72,55289,1495,102,55319\",\",1495,57,55274,1495,103,55320\",\",1496,49,55371,1496,55,55377\",\",1496,58,55380,1496,65,55387\",\",1496,67,55389,1496,73,55395\",\",1499,13,55486,1499,18,55491\",\",1499,20,55493,1499,25,55498\",\",1499,28,55501,1499,35,55508\",\",1499,37,55510,1499,42,55515\",\",1508,25,55772,1508,28,55775\",\",1508,13,55760,1508,29,55776\",\",1506,8,55676,1509,11,55801\",\",1513,8,55845,1513,33,55870\",\",1517,31,55956,1517,47,55972\",\",1517,20,55945,1517,48,55973\",\",1516,8,55909,1517,49,55974\",\",1516,8,55909,1518,25,56000\",\",1522,11,56073,1522,35,56097\",\",1523,11,56111,1523,34,56134\",\",1521,8,56043,1524,46,56182\",\",1527,16,56232,1527,32,56248\",\",1527,9,56225,1527,33,56249\",\",1528,11,56263,1528,35,56287\",\",1529,11,56301,1529,34,56324\",\",1527,8,56224,1530,45,56371\",\",1533,9,56429,1533,16,56436\",\",1535,18,56477,1535,46,56505\",\",1535,10,56469,1535,47,56506\",\",1537,10,56538,1537,22,56550\",\",1542,11,56678,1542,22,56689\",\",1543,13,56704,1543,20,56711\",\",1543,12,56703,1550,27,56937\",\",1544,14,56727,1544,29,56742\",\",1546,14,56782,1546,53,56821\",\",1548,14,56860,1548,36,56882\",\",1550,14,56924,1550,26,56936\",\",1551,22,56961,1551,38,56977\",\",1551,12,56951,1551,39,56978\",\",1552,30,57010,1552,46,57026\",\",1552,16,56996,1552,47,57027\",\",1553,11,57040,1553,18,57047\",\",1553,10,57039,1560,25,57259\",\",1554,12,57061,1554,27,57076\",\",1556,12,57112,1556,51,57151\",\",1558,12,57186,1558,34,57208\",\",1560,12,57246,1560,24,57258\",\",1562,11,57285,1562,18,57292\",\",1563,12,57306,1563,27,57321\",\",1565,12,57357,1565,61,57406\",\",1567,12,57444,1567,24,57456\",\",1572,9,57566,1572,16,57573\",\",1572,8,57565,1579,38,57790\",\",1573,10,57585,1573,24,57599\",\",1575,10,57645,1575,44,57679\",\",1577,10,57713,1577,26,57729\",\",1579,10,57762,1579,37,57789\",\",1586,12,57934,1586,36,57958\",\",1582,18,57820,1587,14,57973\",\",1582,18,57820,1588,27,58001\",\",1594,25,58161,1594,58,58194\",\",1594,61,58197,1594,68,58204\",\",1594,12,58148,1594,83,58219\",\",1590,31,58034,1595,14,58234\",\",1596,17,58252,1596,39,58274\",\",1590,31,58034,1596,40,58275\",\",1602,25,58421,1602,44,58440\",\",1602,47,58443,1602,54,58450\",\",1602,12,58408,1607,18,58575\",\",1598,17,58294,1608,14,58590\",\",1609,17,58608,1609,36,58627\",\",1598,17,58294,1609,37,58628\",\",1615,12,58756,1615,38,58782\",\",1611,19,58649,1616,14,58797\",\",1611,19,58649,1617,27,58825\",\",1622,25,58929,1622,43,58947\",\",1622,46,58950,1622,53,58957\",\",1622,55,58959,1622,71,58975\",\",1622,12,58916,1622,77,58981\",\",1619,16,58843,1623,14,58996\",\",1624,17,59014,1624,35,59032\",\",1619,16,58843,1624,36,59033\",\",1626,7,59042,1626,15,59050\",\",1631,15,59183,1631,26,59194\",\",1632,17,59213,1632,24,59220\",\",1633,18,59240,1633,34,59256\",\",1635,18,59318,1635,38,59338\",\",1636,16,59357,1636,34,59375\",\",1627,8,59060,1637,16,59393\",\",1639,13,59427,1639,20,59434\",\",1640,14,59450,1640,48,59484\",\",1627,8,59060,1640,50,59486\",\",1641,33,59521,1641,58,59546\",\",1641,23,59511,1641,59,59547\",\",1641,8,59496,1641,70,59558\",\",1645,34,59659,1645,52,59677\",\",1645,21,59646,1645,53,59678\",\",1645,10,59635,1645,54,59679\",\",1646,10,59691,1646,35,59716\",\",1646,54,59735,1646,70,59751\",\",1646,40,59721,1646,71,59752\",\",1642,8,59568,1646,72,59753\",\",1648,21,59826,1648,42,59847\",\",1648,10,59815,1648,43,59848\",\",1649,20,59870,1649,40,59890\",\",1649,10,59860,1649,41,59891\",\",1647,8,59763,1649,42,59892\",\",1652,17,59952,1652,34,59969\",\",1652,17,59952,1652,43,59978\",\",1653,20,59999,1653,33,60012\",\",1654,19,60060,1654,32,60073\",\",1655,23,60135,1655,41,60153\",\",1655,23,60135,1655,46,60158\",\",1664,13,60371,1664,29,60387\",\",1664,13,60371,1664,42,60400\",\",1665,13,60415,1665,21,60423\",\",1666,15,60440,1666,22,60447\",\",1666,24,60449,1666,51,60476\",\",1666,62,60487,1666,80,60505\",\",1666,53,60478,1666,81,60506\",\",1666,91,60516,1666,110,60535\",\",1666,83,60508,1666,111,60536\",\",1667,14,60553,1667,44,60583\",\",1668,15,60600,1668,22,60607\",\",1668,32,60617,1668,54,60639\",\",1668,24,60609,1668,55,60640\",\",1668,57,60642,1668,75,60660\",\",1668,77,60662,1668,93,60678\",\",1669,31,60712,1669,48,60729\",\",1669,14,60695,1669,49,60730\",\",1671,13,60761,1671,21,60769\",\",1671,12,60760,1678,50,61214\",\",1672,15,60786,1672,22,60793\",\",1672,24,60795,1672,51,60822\",\",1672,62,60833,1672,80,60851\",\",1672,53,60824,1672,81,60852\",\",1673,24,60878,1673,70,60924\",\",1673,16,60870,1673,71,60925\",\",1674,33,60961,1674,49,60977\",\",1674,14,60942,1674,50,60978\",\",1675,15,60995,1675,22,61002\",\",1675,24,61004,1675,39,61019\",\",1676,14,61036,1676,44,61066\",\",1677,15,61083,1677,22,61090\",\",1677,32,61100,1677,54,61122\",\",1677,24,61092,1677,55,61123\",\",1677,57,61125,1677,75,61143\",\",1677,77,61145,1677,93,61161\",\",1678,31,61195,1678,48,61212\",\",1678,14,61178,1678,49,61213\",\",1681,9,61251,1681,17,61259\",\",1682,11,61272,1682,18,61279\",\",1682,20,61281,1682,47,61308\",\",1682,58,61319,1682,76,61337\",\",1682,49,61310,1682,77,61338\",\",1682,87,61348,1682,107,61368\",\",1682,79,61340,1682,108,61369\",\",1683,29,61401,1683,45,61417\",\",1683,10,61382,1683,46,61418\",\",1684,11,61431,1684,18,61438\",\",1684,28,61448,1684,50,61470\",\",1684,20,61440,1684,51,61471\",\",1684,53,61473,1684,71,61491\",\",1684,73,61493,1684,89,61509\",\",1685,27,61539,1685,44,61556\",\",1685,10,61522,1685,45,61557\",\",1657,6,60208,1685,47,61559\",\",1690,22,61756,1690,39,61773\",\",1690,22,61756,1690,48,61782\",\",1691,20,61803,1691,38,61821\",\",1692,30,61878,1692,44,61892\",\",1696,13,62021,1696,31,62039\",\",1697,13,62054,1697,20,62061\",\",1697,22,62063,1697,38,62079\",\",1697,48,62089,1697,53,62094\",\",1697,22,62063,1697,54,62095\",\",1703,49,62229,1703,55,62235\",\",1703,64,62244,1703,70,62250\",\",1703,81,62261,1703,84,62264\",\",1703,72,62252,1703,85,62265\",\",1703,57,62237,1703,86,62266\",\",1704,49,62317,1704,55,62323\",\",1704,64,62332,1704,70,62338\",\",1704,81,62349,1704,84,62352\",\",1704,72,62340,1704,85,62353\",\",1704,57,62325,1704,86,62354\",\",1706,49,62497,1706,55,62503\",\",1706,64,62512,1706,70,62518\",\",1706,73,62521,1706,80,62528\",\",1706,82,62530,1706,85,62533\",\",1706,98,62546,1706,101,62549\",\",1706,89,62537,1706,102,62550\",\",1706,72,62520,1706,102,62550\",\",1706,57,62505,1706,103,62551\",\",1707,49,62602,1707,55,62608\",\",1707,58,62611,1707,65,62618\",\",1707,67,62620,1707,73,62626\",\",1710,13,62717,1710,18,62722\",\",1710,20,62724,1710,25,62729\",\",1710,28,62732,1710,35,62739\",\",1710,37,62741,1710,42,62746\",\",1730,14,63238,1730,21,63245\",\",1730,13,63237,1730,50,63274\",\",1730,55,63279,1730,58,63282\",\",1730,13,63237,1730,59,63283\",\",1731,14,63299,1731,30,63315\",\",1732,34,63351,1732,60,63377\",\",1732,65,63382,1732,68,63385\",\",1732,34,63351,1732,69,63386\",\",1732,71,63388,1732,87,63404\",\",1733,64,63470,1733,67,63473\",\",1733,55,63461,1733,68,63474\",\",1733,77,63483,1733,80,63486\",\",1733,70,63476,1733,81,63487\",\",1734,64,63553,1734,67,63556\",\",1734,55,63544,1734,68,63557\",\",1734,77,63566,1734,80,63569\",\",1734,70,63559,1734,81,63570\",\",1735,67,63639,1735,70,63642\",\",1735,58,63630,1735,71,63643\",\",1735,80,63652,1735,83,63655\",\",1735,73,63645,1735,84,63656\",\",1736,73,63731,1736,76,63734\",\",1736,64,63722,1736,77,63735\",\",1736,86,63744,1736,89,63747\",\",1736,79,63737,1736,90,63748\",\",1737,39,63789,1737,46,63796\",\",1737,48,63798,1737,54,63804\",\",1737,48,63798,1737,56,63806\",\",1737,59,63809,1737,75,63825\",\",1738,39,63866,1738,46,63873\",\",1738,48,63875,1738,54,63881\",\",1738,48,63875,1738,56,63883\",\",1738,59,63886,1738,75,63902\",\",1739,39,63943,1739,46,63950\",\",1739,48,63952,1739,54,63958\",\",1739,48,63952,1739,56,63960\",\",1739,59,63963,1739,75,63979\",\",1740,39,64020,1740,46,64027\",\",1740,48,64029,1740,54,64035\",\",1740,48,64029,1740,56,64037\",\",1740,59,64040,1740,75,64056\",\",1741,55,64113,1741,58,64116\",\",1741,46,64104,1741,59,64117\",\",1741,68,64126,1741,71,64129\",\",1741,61,64119,1741,72,64130\",\",1728,8,63177,1742,11,64143\",\",1746,27,64206,1746,43,64222\",\",1746,27,64206,1746,56,64235\",\",1746,8,64187,1746,79,64258\",\",1750,31,64344,1750,47,64360\",\",1750,20,64333,1750,48,64361\",\",1749,8,64297,1750,49,64362\",\",1749,8,64297,1751,25,64388\",\",1755,11,64461,1755,35,64485\",\",1756,11,64499,1756,34,64522\",\",1754,8,64431,1757,46,64570\",\",1760,16,64620,1760,32,64636\",\",1760,9,64613,1760,33,64637\",\",1761,11,64651,1761,35,64675\",\",1762,11,64689,1762,34,64712\",\",1760,8,64612,1763,45,64759\",\",1766,9,64817,1766,16,64824\",\",1768,18,64865,1768,46,64893\",\",1768,10,64857,1768,47,64894\",\",1770,10,64926,1770,22,64938\",\",1775,11,65066,1775,22,65077\",\",1776,13,65092,1776,20,65099\",\",1776,12,65091,1783,27,65340\",\",1777,14,65115,1777,29,65130\",\",1779,22,65178,1779,61,65217\",\",1779,22,65178,1779,67,65223\",\",1779,14,65170,1779,68,65224\",\",1781,14,65263,1781,36,65285\",\",1783,14,65327,1783,26,65339\",\",1784,22,65364,1784,38,65380\",\",1784,12,65354,1784,39,65381\",\",1785,30,65413,1785,46,65429\",\",1785,16,65399,1785,47,65430\",\",1786,11,65443,1786,18,65450\",\",1786,10,65442,1793,25,65677\",\",1787,12,65464,1787,27,65479\",\",1789,20,65523,1789,59,65562\",\",1789,20,65523,1789,65,65568\",\",1789,12,65515,1789,66,65569\",\",1791,12,65604,1791,34,65626\",\",1793,12,65664,1793,24,65676\",\",1795,11,65703,1795,18,65710\",\",1796,12,65724,1796,27,65739\",\",1798,20,65783,1798,59,65822\",\",1798,20,65783,1798,75,65838\",\",1798,12,65775,1798,76,65839\",\",1800,12,65877,1800,24,65889\",\",1805,9,65999,1805,16,66006\",\",1805,8,65998,1812,38,66223\",\",1806,10,66018,1806,24,66032\",\",1808,10,66078,1808,44,66112\",\",1810,10,66146,1810,26,66162\",\",1812,10,66195,1812,37,66222\",\",1819,12,66367,1819,36,66391\",\",1815,18,66253,1820,14,66406\",\",1815,18,66253,1821,27,66434\",\",1827,25,66594,1827,58,66627\",\",1827,61,66630,1827,68,66637\",\",1827,12,66581,1827,83,66652\",\",1823,31,66467,1828,14,66667\",\",1829,17,66685,1829,39,66707\",\",1823,31,66467,1829,40,66708\",\",1835,25,66854,1835,44,66873\",\",1835,47,66876,1835,54,66883\",\",1835,12,66841,1840,18,67008\",\",1831,17,66727,1841,14,67023\",\",1842,17,67041,1842,36,67060\",\",1831,17,66727,1842,37,67061\",\",1848,12,67189,1848,38,67215\",\",1844,19,67082,1849,14,67230\",\",1844,19,67082,1850,27,67258\",\",1855,25,67362,1855,43,67380\",\",1855,46,67383,1855,53,67390\",\",1855,55,67392,1855,71,67408\",\",1855,12,67349,1855,77,67414\",\",1852,16,67276,1856,14,67429\",\",1857,17,67447,1857,35,67465\",\",1852,16,67276,1857,36,67466\",\",1859,7,67475,1859,15,67483\",\",1864,15,67616,1864,26,67627\",\",1865,17,67646,1865,24,67653\",\",1866,18,67673,1866,34,67689\",\",1868,18,67751,1868,38,67771\",\",1869,16,67790,1869,34,67808\",\",1860,8,67493,1870,16,67826\",\",1872,13,67860,1872,20,67867\",\",1873,14,67883,1873,48,67917\",\",1860,8,67493,1873,50,67919\",\",1874,33,67954,1874,58,67979\",\",1874,23,67944,1874,59,67980\",\",1874,8,67929,1874,70,67991\",\",1878,34,68092,1878,52,68110\",\",1878,21,68079,1878,53,68111\",\",1878,10,68068,1878,54,68112\",\",1879,10,68124,1879,35,68149\",\",1879,54,68168,1879,70,68184\",\",1879,40,68154,1879,71,68185\",\",1875,8,68001,1879,72,68186\",\",1881,21,68259,1881,42,68280\",\",1881,10,68248,1881,43,68281\",\",1882,20,68303,1882,40,68323\",\",1882,10,68293,1882,41,68324\",\",1880,8,68196,1882,42,68325\",\",1885,17,68385,1885,34,68402\",\",1885,17,68385,1885,43,68411\",\",1886,20,68432,1886,33,68445\",\",1887,19,68493,1887,32,68506\",\",1888,23,68568,1888,41,68586\",\",1888,23,68568,1888,46,68591\",\",1891,11,68672,1891,27,68688\",\",1891,11,68672,1891,40,68701\",\",1897,13,68799,1897,29,68815\",\",1897,13,68799,1897,42,68828\",\",1898,13,68843,1898,21,68851\",\",1899,15,68868,1899,22,68875\",\",1899,24,68877,1899,51,68904\",\",1899,62,68915,1899,80,68933\",\",1899,53,68906,1899,81,68934\",\",1899,91,68944,1899,110,68963\",\",1899,83,68936,1899,111,68964\",\",1900,14,68981,1900,44,69011\",\",1901,15,69028,1901,22,69035\",\",1901,32,69045,1901,54,69067\",\",1901,24,69037,1901,55,69068\",\",1901,57,69070,1901,75,69088\",\",1901,77,69090,1901,93,69106\",\",1902,31,69140,1902,48,69157\",\",1902,14,69123,1902,49,69158\",\",1904,13,69189,1904,21,69197\",\",1904,12,69188,1911,50,69642\",\",1905,15,69214,1905,22,69221\",\",1905,24,69223,1905,51,69250\",\",1905,62,69261,1905,80,69279\",\",1905,53,69252,1905,81,69280\",\",1906,24,69306,1906,70,69352\",\",1906,16,69298,1906,71,69353\",\",1907,33,69389,1907,49,69405\",\",1907,14,69370,1907,50,69406\",\",1908,15,69423,1908,22,69430\",\",1908,24,69432,1908,39,69447\",\",1909,14,69464,1909,44,69494\",\",1910,15,69511,1910,22,69518\",\",1910,32,69528,1910,54,69550\",\",1910,24,69520,1910,55,69551\",\",1910,57,69553,1910,75,69571\",\",1910,77,69573,1910,93,69589\",\",1911,31,69623,1911,48,69640\",\",1911,14,69606,1911,49,69641\",\",1914,9,69679,1914,17,69687\",\",1915,11,69700,1915,18,69707\",\",1915,20,69709,1915,47,69736\",\",1915,58,69747,1915,76,69765\",\",1915,49,69738,1915,77,69766\",\",1915,87,69776,1915,107,69796\",\",1915,79,69768,1915,108,69797\",\",1916,29,69829,1916,45,69845\",\",1916,10,69810,1916,46,69846\",\",1917,11,69859,1917,18,69866\",\",1917,28,69876,1917,50,69898\",\",1917,20,69868,1917,51,69899\",\",1917,53,69901,1917,71,69919\",\",1917,73,69921,1917,89,69937\",\",1918,27,69967,1918,44,69984\",\",1918,10,69950,1918,45,69985\",\",1890,6,68641,1918,47,69987\",\",1923,22,70155,1923,46,70179\",\",1925,11,70213,1925,19,70221\",\",1925,10,70212,1931,68,70639\",\",1926,12,70235,1926,53,70276\",\",1927,13,70291,1927,20,70298\",\",1927,22,70300,1927,148,70426\",\",1928,13,70442,1928,20,70449\",\",1928,22,70451,1928,50,70479\",\",1929,21,70503,1929,34,70516\",\",1929,12,70494,1929,35,70517\",\",1930,13,70532,1930,20,70539\",\",1930,22,70541,1930,49,70568\",\",1931,47,70618,1931,65,70636\",\",1931,29,70600,1931,66,70637\",\",1931,12,70583,1931,67,70638\",\",1932,18,70658,1932,38,70678\",\",1923,6,70139,1933,9,70688\",\",1936,7,70737,1936,15,70745\",\",1937,9,70756,1937,16,70763\",\",1937,18,70765,1937,135,70882\",\",1938,9,70894,1938,16,70901\",\",1938,18,70903,1938,46,70931\",\",1939,17,70951,1939,30,70964\",\",1939,8,70942,1939,31,70965\",\",1940,9,70976,1940,16,70983\",\",1940,18,70985,1940,45,71012\",\",1941,43,71058,1941,61,71076\",\",1941,25,71040,1941,62,71077\",\",1941,8,71023,1941,63,71078\",\",1946,24,71258,1946,48,71282\",\",1951,15,71369,1951,31,71385\",\",1952,15,71402,1952,26,71413\",\",1953,17,71432,1953,24,71439\",\",1954,18,71459,1954,34,71475\",\",1956,21,71530,1956,32,71541\",\",1956,42,71551,1956,63,71572\",\",1956,34,71543,1956,64,71573\",\",1957,34,71609,1957,55,71630\",\",1958,21,71654,1958,28,71661\",\",1955,18,71495,1958,37,71670\",\",1959,18,71690,1959,38,71710\",\",1960,16,71729,1960,28,71741\",\",1962,15,71776,1962,22,71783\",\",1963,16,71801,1963,30,71815\",\",1964,24,71841,1964,45,71862\",\",1964,16,71833,1964,46,71863\",\",1965,16,71881,1965,41,71906\",\",1966,16,71924,1966,25,71933\",\",1967,16,71951,1967,36,71971\",\",1949,8,71312,1968,17,71990\",\",1970,13,72024,1970,20,72031\",\",1971,14,72047,1971,28,72061\",\",1972,22,72085,1972,43,72106\",\",1972,14,72077,1972,44,72107\",\",1973,14,72123,1973,44,72153\",\",1949,8,71312,1973,46,72155\",\",1976,8,72184,1976,81,72257\",\",1979,48,72382,1979,64,72398\",\",1979,67,72401,1979,74,72408\",\",1979,35,72369,1979,83,72417\",\",1978,20,72322,1979,85,72419\",\",1980,27,72447,1980,43,72463\",\",1978,20,72322,1980,44,72464\",\",1981,15,72480,1981,22,72487\",\",1981,14,72479,1990,29,72840\",\",1982,16,72505,1982,31,72520\",\",1984,16,72559,1984,32,72575\",\",1985,27,72604,1985,40,72617\",\",1985,16,72593,1985,41,72618\",\",1986,16,72636,1986,33,72653\",\",1987,29,72684,1987,40,72695\",\",1987,16,72671,1987,41,72696\",\",1988,16,72714,1988,33,72731\",\",1989,29,72762,1989,48,72781\",\",1989,51,72784,1989,58,72791\",\",1989,60,72793,1989,71,72804\",\",1989,16,72749,1989,76,72809\",\",1990,16,72827,1990,28,72839\",\",1976,8,72184,1990,31,72842\",\",1992,13,72876,1992,20,72883\",\",1993,14,72899,1993,39,72924\",\",1994,25,72951,1994,38,72964\",\",1994,14,72940,1994,39,72965\",\",1995,14,72981,1995,31,72998\",\",1996,27,73027,1996,38,73038\",\",1996,14,73014,1996,39,73039\",\",1997,14,73055,1997,40,73081\",\",1976,8,72184,1997,42,73083\",\",1999,7,73092,1999,15,73100\",\",2002,17,73160,2002,27,73170\",\",2002,8,73151,2002,28,73171\",\",2003,9,73182,2003,16,73189\",\",2004,10,73201,2004,25,73216\",\",2005,18,73236,2005,39,73257\",\",2005,10,73228,2005,40,73258\",\",2006,10,73270,2006,111,73371\",\",2009,7,73422,2009,15,73430\",\",2012,13,73497,2012,20,73504\",\",2013,14,73520,2013,28,73534\",\",2014,22,73558,2014,43,73579\",\",2014,14,73550,2014,44,73580\",\",2015,14,73596,2015,39,73621\",\",2016,14,73637,2016,23,73646\",\",2017,14,73662,2017,34,73682\",\",2018,11,73697,2018,18,73704\",\",2019,12,73718,2019,26,73732\",\",2020,20,73754,2020,41,73775\",\",2020,12,73746,2020,42,73776\",\",2021,12,73790,2021,42,73820\",\",2010,8,73440,2021,44,73822\",\",2022,9,73833,2022,16,73840\",\",2023,10,73852,2023,35,73877\",\",2024,21,73900,2024,34,73913\",\",2024,10,73889,2024,35,73914\",\",2025,10,73926,2025,27,73943\",\",2026,23,73968,2026,34,73979\",\",2026,10,73955,2026,35,73980\",\",2027,10,73992,2027,36,74018\",\",2028,17,74038,2028,27,74048\",\",2028,8,74029,2028,28,74049\",\",2029,9,74060,2029,16,74067\",\",2030,10,74079,2030,25,74094\",\",2031,18,74114,2031,39,74135\",\",2031,10,74106,2031,40,74136\",\",2032,10,74148,2032,111,74249\",\",2037,9,74396,2037,17,74404\",\",2037,9,74396,2037,30,74417\",\",2038,9,74428,2038,17,74436\",\",2039,61,74499,2039,69,74507\",\",2039,10,74448,2039,70,74508\",\",2040,11,74521,2040,18,74528\",\",2040,20,74530,2040,70,74580\",\",2041,19,74602,2041,35,74618\",\",2041,10,74593,2041,36,74619\",\",2042,28,74649,2042,36,74657\",\",2042,14,74635,2042,37,74658\",\",2043,34,74694,2043,42,74702\",\",2043,24,74684,2043,43,74703\",\",2045,13,74743,2045,21,74751\",\",2046,58,74811,2046,66,74819\",\",2046,14,74767,2046,77,74830\",\",2047,24,74856,2047,32,74864\",\",2047,14,74846,2047,33,74865\",\",2048,15,74882,2048,22,74889\",\",2049,16,74907,2049,31,74922\",\",2050,29,74953,2050,49,74973\",\",2050,52,74976,2050,59,74983\",\",2052,45,75067,2052,51,75073\",\",2053,54,75128,2053,60,75134\",\",2054,33,75168,2054,38,75173\",\",2050,16,74940,2055,28,75202\",\",2056,16,75220,2056,53,75257\",\",2057,23,75283,2057,39,75299\",\",2057,14,75274,2057,40,75300\",\",2059,13,75340,2059,21,75348\",\",2060,58,75408,2060,66,75416\",\",2060,14,75364,2060,76,75426\",\",2061,24,75452,2061,32,75460\",\",2061,14,75442,2061,33,75461\",\",2062,15,75478,2062,22,75485\",\",2063,16,75503,2063,66,75553\",\",2064,23,75579,2064,39,75595\",\",2064,14,75570,2064,40,75596\",\",2043,8,74668,2065,11,75609\",\",2067,9,75631,2067,17,75639\",\",2068,61,75702,2068,69,75710\",\",2068,10,75651,2068,70,75711\",\",2069,11,75724,2069,18,75731\",\",2069,20,75733,2069,70,75783\",\",2070,19,75805,2070,35,75821\",\",2070,10,75796,2070,36,75822\",\",2074,7,75882,2074,15,75890\",\",2075,59,75951,2075,67,75959\",\",2075,8,75900,2075,68,75960\",\",2076,9,75971,2076,16,75978\",\",2076,18,75980,2076,68,76030\",\",2077,17,76050,2077,33,76066\",\",2077,8,76041,2077,34,76067\",\",2081,9,76205,2081,17,76213\",\",2081,9,76205,2081,30,76226\",\",2082,9,76237,2082,17,76245\",\",2083,11,76258,2083,18,76265\",\",2084,12,76279,2084,38,76305\",\",2085,28,76336,2085,37,76345\",\",2085,20,76328,2085,38,76346\",\",2085,12,76320,2085,39,76347\",\",2086,12,76361,2086,38,76387\",\",2087,19,76408,2087,27,76416\",\",2087,12,76401,2087,28,76417\",\",2088,10,76430,2088,29,76449\",\",2089,28,76479,2089,36,76487\",\",2089,14,76465,2089,37,76488\",\",2090,9,76499,2090,17,76507\",\",2091,11,76520,2091,18,76527\",\",2092,12,76541,2092,27,76556\",\",2093,25,76583,2093,46,76604\",\",2093,49,76607,2093,56,76614\",\",2093,58,76616,2093,66,76624\",\",2093,12,76570,2093,71,76629\",\",2094,20,76652,2094,28,76660\",\",2094,10,76642,2094,29,76661\",\",2095,11,76674,2095,18,76681\",\",2096,12,76695,2096,89,76772\",\",2097,25,76799,2097,40,76814\",\",2097,43,76817,2097,50,76824\",\",2097,52,76826,2097,60,76834\",\",2097,12,76786,2097,65,76839\",\",2098,12,76853,2098,69,76910\",\",2100,9,76934,2100,17,76942\",\",2101,11,76955,2101,18,76962\",\",2102,12,76976,2102,38,77002\",\",2103,28,77033,2103,37,77042\",\",2103,20,77025,2103,38,77043\",\",2103,12,77017,2103,39,77044\",\",2104,12,77058,2104,27,77073\",\",2105,19,77094,2105,27,77102\",\",2105,12,77087,2105,28,77103\",\",2106,12,77117,2106,139,77244\",\",2110,9,77307,2110,17,77315\",\",2110,9,77307,2110,30,77328\",\",2111,9,77339,2111,17,77347\",\",2112,11,77360,2112,18,77367\",\",2113,12,77381,2113,38,77407\",\",2114,28,77438,2114,37,77447\",\",2114,20,77430,2114,38,77448\",\",2114,12,77422,2114,39,77449\",\",2115,12,77463,2115,38,77489\",\",2116,19,77510,2116,27,77518\",\",2116,12,77503,2116,28,77519\",\",2117,10,77532,2117,29,77551\",\",2119,9,77574,2119,17,77582\",\",2120,11,77595,2120,18,77602\",\",2121,12,77616,2121,38,77642\",\",2122,28,77673,2122,37,77682\",\",2122,20,77665,2122,38,77683\",\",2122,12,77657,2122,39,77684\",\",2123,12,77698,2123,27,77713\",\",2124,19,77734,2124,27,77742\",\",2124,12,77727,2124,28,77743\",\",2125,12,77757,2125,139,77884\",\",2130,6,78053,2130,26,78073\",\",2133,7,78122,2133,15,78130\",\",2134,9,78141,2134,16,78148\",\",2135,13,78163,2135,23,78173\",\",2135,13,78163,2135,32,78182\",\",2135,13,78163,2135,37,78187\",\",2135,39,78189,2135,86,78236\",\",2136,39,78276,2136,87,78324\",\",2138,26,78367,2138,36,78377\",\",2138,26,78367,2138,49,78390\",\",2138,8,78349,2138,66,78407\",\",2142,7,78617,2142,15,78625\",\",2143,24,78651,2143,48,78675\",\",2145,15,78717,2145,31,78733\",\",2146,15,78750,2146,26,78761\",\",2147,17,78780,2147,24,78787\",\",2148,18,78808,2148,51,78841\",\",2149,34,78877,2149,50,78893\",\",2149,26,78869,2149,51,78894\",\",2149,18,78861,2149,52,78895\",\",2150,18,78915,2150,34,78931\",\",2151,18,78951,2151,29,78962\",\",2152,18,78982,2152,112,79076\",\",2153,17,79096,2153,24,79103\",\",2154,27,79132,2154,37,79142\",\",2154,18,79123,2154,38,79143\",\",2155,18,79163,2155,64,79209\",\",2156,26,79237,2156,37,79248\",\",2156,18,79229,2156,38,79249\",\",2156,40,79251,2156,52,79263\",\",2157,16,79282,2157,35,79301\",\",2158,20,79323,2158,38,79341\",\",2159,15,79358,2159,26,79369\",\",2160,25,79396,2160,41,79412\",\",2160,16,79387,2160,56,79427\",\",2161,16,79445,2161,30,79459\",\",2162,17,79478,2162,24,79485\",\",2163,18,79505,2163,114,79601\",\",2164,27,79630,2164,37,79640\",\",2164,18,79621,2164,38,79641\",\",2165,18,79661,2165,64,79707\",\",2166,26,79735,2166,37,79746\",\",2166,18,79727,2166,38,79747\",\",2166,40,79749,2166,52,79761\",\",2168,15,79797,2168,26,79808\",\",2169,17,79827,2169,24,79834\",\",2170,18,79855,2170,51,79888\",\",2171,34,79924,2171,50,79940\",\",2171,26,79916,2171,51,79941\",\",2171,18,79908,2171,52,79942\",\",2172,18,79962,2172,34,79978\",\",2173,18,79998,2173,29,80009\",\",2174,18,80029,2174,114,80125\",\",2175,17,80145,2175,24,80152\",\",2176,27,80181,2176,37,80191\",\",2176,18,80172,2176,38,80192\",\",2177,18,80212,2177,64,80258\",\",2178,26,80286,2178,37,80297\",\",2178,18,80278,2178,38,80298\",\",2178,40,80300,2178,52,80312\",\",2181,13,80364,2181,24,80375\",\",2182,15,80392,2182,22,80399\",\",2183,16,80418,2183,49,80451\",\",2184,32,80485,2184,48,80501\",\",2184,24,80477,2184,49,80502\",\",2184,16,80469,2184,50,80503\",\",2185,16,80521,2185,112,80617\",\",2186,15,80635,2186,22,80642\",\",2187,25,80669,2187,35,80679\",\",2187,16,80660,2187,36,80680\",\",2188,16,80698,2188,62,80744\",\",2189,24,80770,2189,35,80781\",\",2189,16,80762,2189,36,80782\",\",2189,38,80784,2189,50,80796\",\",2143,8,78635,2190,11,80810\",\",2195,13,80918,2195,29,80934\",\",2196,13,80949,2196,21,80957\",\",2197,15,80974,2197,22,80981\",\",2198,16,81000,2198,49,81033\",\",2199,32,81067,2199,48,81083\",\",2199,24,81059,2199,49,81084\",\",2199,16,81051,2199,50,81085\",\",2200,16,81103,2200,32,81119\",\",2201,16,81137,2201,27,81148\",\",2202,16,81166,2202,110,81260\",\",2203,15,81278,2203,22,81285\",\",2204,25,81312,2204,35,81322\",\",2204,16,81303,2204,36,81323\",\",2205,16,81341,2205,62,81387\",\",2206,24,81413,2206,35,81424\",\",2206,16,81405,2206,36,81425\",\",2206,38,81427,2206,50,81439\",\",2207,14,81456,2207,33,81475\",\",2209,13,81506,2209,21,81514\",\",2210,15,81531,2210,22,81538\",\",2211,16,81557,2211,49,81590\",\",2212,32,81624,2212,48,81640\",\",2212,24,81616,2212,49,81641\",\",2212,16,81608,2212,50,81642\",\",2213,16,81660,2213,32,81676\",\",2214,16,81694,2214,27,81705\",\",2215,16,81723,2215,110,81817\",\",2216,15,81835,2216,22,81842\",\",2217,25,81869,2217,35,81879\",\",2217,16,81860,2217,36,81880\",\",2218,16,81898,2218,62,81944\",\",2219,24,81970,2219,35,81981\",\",2219,16,81962,2219,36,81982\",\",2219,38,81984,2219,50,81996\",\",2222,9,82035,2222,17,82043\",\",2223,11,82056,2223,18,82063\",\",2224,12,82078,2224,45,82111\",\",2225,28,82141,2225,44,82157\",\",2225,20,82133,2225,45,82158\",\",2225,12,82125,2225,46,82159\",\",2226,12,82173,2226,106,82267\",\",2227,11,82281,2227,18,82288\",\",2228,21,82311,2228,31,82321\",\",2228,12,82302,2228,32,82322\",\",2229,12,82336,2229,58,82382\",\",2230,20,82404,2230,31,82415\",\",2230,12,82396,2230,32,82416\",\",2230,34,82418,2230,46,82430\",\",2193,6,80859,2230,49,82433\",\",2234,6,82590,2234,26,82610\",\",2237,15,82674,2237,26,82685\",\",2238,15,82701,2238,26,82712\",\",2240,10,82734,2240,27,82751\",\",2240,32,82756,2240,49,82773\",\",2243,13,82883,2243,21,82891\",\",2243,12,82882,2250,91,83282\",\",2244,15,82908,2244,22,82915\",\",2244,24,82917,2244,40,82933\",\",2245,15,82951,2245,22,82958\",\",2245,24,82960,2245,53,82989\",\",2246,15,83007,2246,22,83014\",\",2246,24,83016,2246,40,83032\",\",2247,15,83050,2247,22,83057\",\",2247,24,83059,2247,54,83089\",\",2248,15,83107,2248,22,83114\",\",2248,24,83116,2248,40,83132\",\",2249,15,83150,2249,22,83157\",\",2249,24,83159,2249,54,83189\",\",2250,24,83215,2250,41,83232\",\",2250,16,83207,2250,42,83233\",\",2250,44,83235,2250,89,83280\",\",2253,13,83323,2253,24,83334\",\",2253,13,83323,2253,52,83362\",\",2254,13,83377,2254,21,83385\",\",2254,12,83376,2260,100,83802\",\",2255,15,83402,2255,22,83409\",\",2255,24,83411,2255,113,83500\",\",2256,15,83518,2256,22,83525\",\",2256,24,83527,2256,53,83556\",\",2257,15,83574,2257,22,83581\",\",2257,24,83583,2257,40,83599\",\",2258,15,83617,2258,22,83624\",\",2258,24,83626,2258,54,83656\",\",2259,15,83674,2259,22,83681\",\",2259,24,83683,2259,40,83699\",\",2260,15,83717,2260,22,83724\",\",2260,24,83726,2260,62,83764\",\",2260,64,83766,2260,76,83778\",\",2260,78,83780,2260,98,83800\",\",2261,18,83821,2261,41,83844\",\",2261,46,83849,2261,69,83872\",\",2262,12,83886,2262,98,83972\",\",2263,18,83991,2263,41,84014\",\",2264,12,84028,2264,110,84126\",\",2265,18,84145,2265,41,84168\",\",2266,12,84182,2266,110,84280\",\",2253,10,83320,2267,13,84294\",\",2269,11,84327,2269,19,84335\",\",2270,13,84350,2270,20,84357\",\",2270,22,84359,2270,79,84416\",\",2271,13,84432,2271,20,84439\",\",2271,31,84450,2271,42,84461\",\",2271,22,84441,2271,43,84462\",\",2272,13,84478,2272,20,84485\",\",2272,31,84496,2272,42,84507\",\",2272,22,84487,2272,43,84508\",\",2280,24,84825,2280,42,84843\",\",2280,24,84825,2280,44,84845\",\",2282,24,84927,2282,42,84945\",\",2282,24,84927,2282,44,84947\",\",2284,24,85022,2284,31,85029\",\",2286,24,85104,2286,31,85111\",\",2288,24,85195,2288,42,85213\",\",2288,24,85195,2288,44,85215\",\",2290,24,85290,2290,31,85297\",\",2291,25,85324,2291,43,85342\",\",2296,16,85412,2296,34,85430\",\",2296,9,85405,2296,35,85431\",\",2297,11,85445,2297,35,85469\",\",2298,11,85483,2298,34,85506\",\",2296,8,85404,2299,36,85544\",\",2303,43,85637,2303,50,85644\",\",2303,26,85620,2303,62,85656\",\",2302,8,85573,2303,64,85658\",\",2302,8,85573,2304,28,85687\",\",2307,25,85734,2307,40,85749\",\",2307,11,85720,2307,41,85750\",\",2308,27,85779,2308,34,85786\",\",2308,36,85788,2308,51,85803\",\",2308,10,85762,2308,56,85808\",\",2313,7,85861,2313,15,85869\",\",2316,13,85939,2316,24,85950\",\",2317,23,85975,2317,39,85991\",\",2317,23,85975,2317,55,86007\",\",2317,57,86009,2317,75,86027\",\",2317,14,85966,2317,86,86038\",\",2318,24,86064,2318,42,86082\",\",2318,14,86054,2318,43,86083\",\",2314,8,85879,2318,46,86086\",\",2319,54,86141,2319,72,86159\",\",2319,19,86106,2319,73,86160\",\",2314,8,85879,2319,74,86161\",\",2320,9,86172,2320,16,86179\",\",2321,10,86191,2321,25,86206\",\",2322,21,86229,2322,37,86245\",\",2322,10,86218,2322,38,86246\",\",2323,10,86258,2323,50,86298\",\",2324,38,86338,2324,54,86354\",\",2324,30,86330,2324,55,86355\",\",2324,22,86322,2324,56,86356\",\",2324,10,86310,2324,57,86357\",\",2325,10,86369,2325,49,86408\",\",2326,30,86441,2326,42,86453\",\",2326,30,86441,2326,55,86466\",\",2326,30,86441,2326,68,86479\",\",2326,9,86420,2326,69,86480\",\",2329,7,86530,2329,15,86538\",\",2330,43,86583,2330,61,86601\",\",2330,8,86548,2330,62,86602\",\",2331,9,86613,2331,16,86620\",\",2332,10,86632,2332,59,86681\",\",2333,26,86709,2333,42,86725\",\",2333,18,86701,2333,43,86726\",\",2333,10,86693,2333,44,86727\",\",2334,10,86739,2334,49,86778\",\",2335,29,86810,2335,41,86822\",\",2335,29,86810,2335,54,86835\",\",2335,29,86810,2335,67,86848\",\",2335,8,86789,2335,68,86849\",\",2342,24,87146,2342,42,87164\",\",2342,24,87146,2342,44,87166\",\",2344,24,87248,2344,42,87266\",\",2344,24,87248,2344,44,87268\",\",2346,24,87343,2346,31,87350\",\",2348,24,87425,2348,31,87432\",\",2350,24,87516,2350,42,87534\",\",2350,24,87516,2350,44,87536\",\",2352,24,87611,2352,31,87618\",\",2353,34,87654,2353,52,87672\",\",2358,16,87742,2358,34,87760\",\",2358,9,87735,2358,35,87761\",\",2359,11,87775,2359,35,87799\",\",2360,11,87813,2360,34,87836\",\",2358,8,87734,2361,36,87874\",\",2365,43,87967,2365,50,87974\",\",2365,26,87950,2365,62,87986\",\",2364,8,87903,2365,64,87988\",\",2364,8,87903,2366,28,88017\",\",2369,25,88064,2369,40,88079\",\",2369,11,88050,2369,41,88080\",\",2370,27,88109,2370,34,88116\",\",2370,36,88118,2370,51,88133\",\",2370,10,88092,2370,56,88138\",\",2375,7,88191,2375,15,88199\",\",2378,13,88269,2378,24,88280\",\",2379,23,88305,2379,39,88321\",\",2379,23,88305,2379,55,88337\",\",2379,57,88339,2379,75,88357\",\",2379,14,88296,2379,86,88368\",\",2380,24,88394,2380,42,88412\",\",2380,14,88384,2380,43,88413\",\",2376,8,88209,2380,46,88416\",\",2381,54,88471,2381,72,88489\",\",2381,19,88436,2381,73,88490\",\",2376,8,88209,2381,74,88491\",\",2382,9,88502,2382,16,88509\",\",2383,10,88521,2383,25,88536\",\",2384,21,88559,2384,37,88575\",\",2384,10,88548,2384,38,88576\",\",2385,10,88588,2385,49,88627\",\",2386,38,88667,2386,54,88683\",\",2386,30,88659,2386,55,88684\",\",2386,22,88651,2386,56,88685\",\",2386,10,88639,2386,57,88686\",\",2387,10,88698,2387,22,88710\",\",2390,7,88761,2390,15,88769\",\",2391,43,88814,2391,61,88832\",\",2391,8,88779,2391,62,88833\",\",2392,9,88844,2392,16,88851\",\",2393,10,88863,2393,58,88911\",\",2394,26,88939,2394,42,88955\",\",2394,18,88931,2394,43,88956\",\",2394,10,88923,2394,44,88957\",\",2395,10,88969,2395,22,88981\",\",2400,6,89101,2400,26,89121\",\",2403,7,89170,2403,15,89178\",\",2403,17,89180,2403,51,89214\",\",2408,6,89355,2408,26,89375\",\",2410,33,89418,2410,41,89426\",\",2410,44,89429,2410,51,89436\",\",2410,62,89447,2410,72,89457\",\",2410,53,89438,2410,73,89458\",\",2412,18,89510,2412,28,89520\",\",2412,6,89498,2412,29,89521\",\",2417,6,89653,2417,26,89673\",\",2420,7,89722,2420,15,89730\",\",2420,17,89732,2420,45,89760\",\",2420,56,89771,2420,65,89780\",\",2420,47,89762,2420,66,89781\",\",2425,6,89920,2425,26,89940\",\",2428,6,89988,2428,17,89999\",\",87,0,2009,2430,3,90011\",\",88,2,2030,98,7,2557\",\",99,2,2560,129,7,3494\",\",130,2,3497,139,7,3816\",\",140,2,3819,163,7,4760\",\",164,2,4763,201,7,6235\",\",202,2,6238,239,7,7759\",\",240,2,7762,277,7,9232\",\",278,2,9235,312,7,10662\",\",313,2,10665,333,7,11771\",\",334,2,11774,343,7,12153\",\",344,2,12156,353,7,12538\",\",354,2,12541,371,7,13313\",\",372,2,13316,428,7,15553\",\",429,2,15556,452,7,16578\",\",453,2,16581,472,7,17420\",\",473,2,17423,510,7,18955\",\",511,2,18958,568,7,21394\",\",569,2,21397,621,7,23385\",\",622,2,23388,700,7,26540\",\",701,2,26543,743,7,28163\",\",744,2,28166,786,7,29825\",\",787,2,29828,798,7,30361\",\",799,2,30364,811,7,30943\",\",812,2,30946,881,7,33591\",\",882,2,33594,1003,7,38737\",\",1004,2,38740,1104,7,43089\",\",1105,2,43092,1319,7,49614\",\",1320,2,49617,1477,7,54400\",\",1478,2,54403,1686,7,61567\",\",1688,2,61571,1919,7,69995\",\",1921,2,69999,1942,7,71087\",\",1944,2,71091,2033,7,74259\",\",2035,2,74263,2078,7,76076\",\",2079,2,76079,2127,7,77904\",\",2128,2,77907,2139,7,78416\",\",2140,2,78419,2231,7,82441\",\",2232,2,82444,2274,7,84528\",\",2275,2,84531,2336,7,86858\",\",2337,2,86861,2396,7,88991\",\",2398,2,88995,2404,7,89223\",\",2406,2,89231,2413,7,89529\",\",2415,2,89537,2421,7,89790\",\",2423,2,89798,2429,7,90007\",\",2435,23,90142,2435,29,90148\",\",2435,9,90128,2435,30,90149\",\",2435,49,90168,2435,55,90174\",\",2435,35,90154,2435,56,90175\",\",2436,9,90186,2436,17,90194\",\",2437,11,90207,2437,18,90214\",\",2438,12,90228,2438,74,90290\",\",2439,20,90313,2439,26,90319\",\",2439,29,90322,2439,35,90328\",\",2439,20,90313,2439,35,90328\",\",2439,10,90303,2439,36,90329\",\",2440,11,90342,2440,18,90349\",\",2441,12,90363,2441,70,90421\",\",2442,25,90448,2442,55,90478\",\",2442,58,90481,2442,65,90488\",\",2442,67,90490,2442,73,90496\",\",2442,12,90435,2442,78,90501\",\",2443,12,90515,2443,32,90535\",\",2444,25,90562,2444,45,90582\",\",2444,48,90585,2444,55,90592\",\",2444,57,90594,2444,63,90600\",\",2444,12,90549,2444,68,90605\",\",2445,12,90619,2445,24,90631\",\",2447,9,90655,2447,17,90663\",\",2448,11,90676,2448,18,90683\",\",2449,12,90697,2449,48,90733\",\",2449,57,90742,2449,63,90748\",\",2449,66,90751,2449,72,90757\",\",2449,57,90742,2449,72,90757\",\",2449,50,90735,2449,73,90758\",\",2450,12,90772,2450,81,90841\",\",2451,12,90855,2451,63,90906\",\",2455,7,90967,2455,15,90975\",\",2456,9,90986,2456,16,90993\",\",2457,10,91005,2457,46,91041\",\",2457,55,91050,2457,61,91056\",\",2457,64,91059,2457,70,91065\",\",2457,55,91050,2457,70,91065\",\",2457,48,91043,2457,71,91066\",\",2458,10,91078,2458,79,91147\",\",2459,10,91159,2459,61,91210\",\",2463,23,91340,2463,29,91346\",\",2463,9,91326,2463,30,91347\",\",2463,49,91366,2463,55,91372\",\",2463,35,91352,2463,56,91373\",\",2464,9,91384,2464,17,91392\",\",2465,11,91405,2465,18,91412\",\",2466,12,91426,2466,76,91490\",\",2467,20,91513,2467,26,91519\",\",2467,10,91503,2467,27,91520\",\",2468,11,91533,2468,18,91540\",\",2469,25,91567,2469,52,91594\",\",2469,55,91597,2469,62,91604\",\",2469,64,91606,2469,70,91612\",\",2469,12,91554,2469,76,91618\",\",2470,12,91632,2470,55,91675\",\",2471,25,91702,2471,45,91722\",\",2471,48,91725,2471,55,91732\",\",2471,57,91734,2471,63,91740\",\",2471,12,91689,2471,68,91745\",\",2472,12,91759,2472,24,91771\",\",2474,9,91795,2474,17,91803\",\",2475,11,91816,2475,18,91823\",\",2476,12,91837,2476,48,91873\",\",2476,57,91882,2476,63,91888\",\",2476,50,91875,2476,64,91889\",\",2477,12,91903,2477,83,91974\",\",2478,12,91988,2478,45,92021\",\",2482,7,92082,2482,15,92090\",\",2483,9,92101,2483,16,92108\",\",2484,10,92120,2484,46,92156\",\",2484,55,92165,2484,61,92171\",\",2484,64,92174,2484,70,92180\",\",2484,55,92165,2484,70,92180\",\",2484,48,92158,2484,71,92181\",\",2485,10,92193,2485,81,92264\",\",2486,10,92276,2486,44,92310\",\",2490,23,92457,2490,31,92465\",\",2490,9,92443,2490,32,92466\",\",2491,9,92477,2491,17,92485\",\",2492,11,92498,2492,18,92505\",\",2492,20,92507,2492,75,92562\",\",2493,20,92585,2493,28,92593\",\",2493,10,92575,2493,29,92594\",\",2494,11,92607,2494,18,92614\",\",2494,10,92606,2499,82,93089\",\",2494,20,92616,2494,93,92689\",\",2495,12,92703,2495,49,92740\",\",2495,63,92754,2495,90,92781\",\",2495,92,92783,2495,99,92790\",\",2495,101,92792,2495,109,92800\",\",2495,50,92741,2495,113,92804\",\",2496,12,92818,2496,51,92857\",\",2496,61,92867,2496,73,92879\",\",2496,53,92859,2496,74,92880\",\",2497,12,92894,2497,33,92915\",\",2497,43,92925,2497,55,92937\",\",2497,35,92917,2497,56,92938\",\",2498,12,92952,2498,41,92981\",\",2498,51,92991,2498,64,93004\",\",2498,43,92983,2498,65,93005\",\",2499,12,93019,2499,81,93088\",\",2501,9,93112,2501,17,93120\",\",2502,11,93133,2502,18,93140\",\",2502,20,93142,2502,75,93197\",\",2503,19,93218,2503,27,93226\",\",2503,12,93211,2503,28,93227\",\",2504,11,93241,2504,18,93248\",\",2504,10,93240,2509,82,93723\",\",2504,20,93250,2504,93,93323\",\",2505,12,93337,2505,49,93374\",\",2505,63,93388,2505,90,93415\",\",2505,92,93417,2505,99,93424\",\",2505,101,93426,2505,109,93434\",\",2505,50,93375,2505,113,93438\",\",2506,12,93452,2506,51,93491\",\",2506,61,93501,2506,73,93513\",\",2506,53,93493,2506,74,93514\",\",2507,12,93528,2507,33,93549\",\",2507,43,93559,2507,55,93571\",\",2507,35,93551,2507,56,93572\",\",2508,12,93586,2508,41,93615\",\",2508,51,93625,2508,64,93638\",\",2508,43,93617,2508,65,93639\",\",2509,12,93653,2509,81,93722\",\",2513,7,93783,2513,15,93791\",\",2514,9,93802,2514,16,93809\",\",2514,18,93811,2514,73,93866\",\",2514,94,93887,2514,102,93895\",\",2514,75,93868,2514,103,93896\",\",2515,9,93908,2515,16,93915\",\",2515,18,93917,2515,89,93988\",\",2516,9,94000,2516,16,94007\",\",2516,18,94009,2516,72,94063\",\",2517,9,94075,2517,16,94082\",\",2517,8,94074,2520,36,94303\",\",2517,18,94084,2517,55,94121\",\",2517,65,94131,2517,77,94143\",\",2517,57,94123,2517,78,94144\",\",2518,10,94156,2518,31,94177\",\",2518,41,94187,2518,53,94199\",\",2518,33,94179,2518,54,94200\",\",2519,10,94212,2519,39,94241\",\",2519,49,94251,2519,62,94264\",\",2519,41,94243,2519,63,94265\",\",2520,10,94277,2520,35,94302\",\",2521,9,94314,2521,16,94321\",\",2521,18,94323,2521,72,94377\",\",2526,23,94510,2526,31,94518\",\",2526,9,94496,2526,32,94519\",\",2527,9,94530,2527,17,94538\",\",2528,11,94551,2528,18,94558\",\",2528,20,94560,2528,75,94615\",\",2529,20,94638,2529,28,94646\",\",2529,10,94628,2529,29,94647\",\",2530,11,94660,2530,18,94667\",\",2530,20,94669,2530,84,94733\",\",2531,33,94768,2531,46,94781\",\",2531,25,94760,2531,47,94782\",\",2531,49,94784,2531,56,94791\",\",2531,58,94793,2531,66,94801\",\",2531,12,94747,2531,70,94805\",\",2532,12,94819,2532,83,94890\",\",2533,12,94904,2533,105,94997\",\",2535,9,95021,2535,17,95029\",\",2536,11,95042,2536,18,95049\",\",2536,20,95051,2536,75,95106\",\",2537,19,95127,2537,27,95135\",\",2537,12,95120,2537,28,95136\",\",2538,11,95150,2538,18,95157\",\",2538,20,95159,2538,84,95223\",\",2538,94,95233,2538,107,95246\",\",2538,86,95225,2538,108,95247\",\",2539,12,95261,2539,83,95332\",\",2540,12,95346,2540,105,95439\",\",2544,7,95500,2544,15,95508\",\",2545,9,95519,2545,16,95526\",\",2545,18,95528,2545,73,95583\",\",2546,27,95613,2546,35,95621\",\",2546,8,95594,2546,36,95622\",\",2547,9,95633,2547,16,95640\",\",2547,18,95642,2547,82,95706\",\",2547,92,95716,2547,105,95729\",\",2547,84,95708,2547,106,95730\",\",2548,10,95742,2548,81,95813\",\",2549,10,95825,2549,103,95918\",\",2553,23,96036,2553,31,96044\",\",2553,9,96022,2553,32,96045\",\",2554,9,96056,2554,17,96064\",\",2555,11,96078,2555,18,96085\",\",2556,12,96099,2556,59,96146\",\",2557,25,96173,2557,39,96187\",\",2557,41,96189,2557,48,96196\",\",2557,50,96198,2557,58,96206\",\",2557,12,96160,2557,63,96211\",\",2558,12,96225,2558,42,96255\",\",2559,21,96279,2559,29,96287\",\",2559,11,96269,2559,30,96288\",\",2560,11,96301,2560,18,96308\",\",2561,12,96322,2561,123,96433\",\",2563,9,96457,2563,17,96465\",\",2564,11,96479,2564,18,96486\",\",2565,12,96500,2565,67,96555\",\",2566,19,96576,2566,27,96584\",\",2566,12,96569,2566,28,96585\",\",2567,12,96599,2567,144,96731\",\",2571,7,96792,2571,15,96800\",\",2571,18,96803,2571,25,96810\",\",2572,10,96822,2572,74,96886\",\",2573,10,96898,2573,112,97000\",\",2577,23,97134,2577,31,97142\",\",2577,9,97120,2577,32,97143\",\",2578,9,97154,2578,17,97162\",\",2579,11,97176,2579,18,97183\",\",2580,12,97197,2580,47,97232\",\",2581,20,97255,2581,28,97263\",\",2581,10,97245,2581,29,97264\",\",2582,11,97277,2582,18,97284\",\",2583,12,97298,2583,130,97416\",\",2584,20,97438,2584,34,97452\",\",2584,12,97430,2584,35,97453\",\",2585,12,97467,2585,51,97506\",\",2587,9,97530,2587,17,97538\",\",2588,11,97552,2588,18,97559\",\",2589,12,97573,2589,50,97611\",\",2590,19,97632,2590,27,97640\",\",2590,12,97625,2590,28,97641\",\",2591,12,97655,2591,130,97773\",\",2592,20,97795,2592,34,97809\",\",2592,12,97787,2592,35,97810\",\",2593,12,97824,2593,51,97863\",\",2597,7,97924,2597,15,97932\",\",2597,18,97935,2597,33,97950\",\",2598,10,97962,2598,87,98039\",\",2599,29,98070,2599,37,98078\",\",2599,10,98051,2599,38,98079\",\",2600,10,98091,2600,62,98143\",\",2604,23,98270,2604,31,98278\",\",2604,9,98256,2604,32,98279\",\",2605,9,98290,2605,17,98298\",\",2606,11,98312,2606,18,98319\",\",2607,12,98333,2607,27,98348\",\",2608,25,98375,2608,44,98394\",\",2608,47,98397,2608,54,98404\",\",2608,56,98406,2608,64,98414\",\",2608,12,98362,2608,69,98419\",\",2609,20,98442,2609,28,98450\",\",2609,10,98432,2609,29,98451\",\",2610,11,98464,2610,18,98471\",\",2611,12,98485,2611,77,98550\",\",2613,9,98574,2613,17,98582\",\",2614,11,98596,2614,18,98603\",\",2615,12,98617,2615,39,98644\",\",2616,19,98665,2616,27,98673\",\",2616,12,98658,2616,28,98674\",\",2617,12,98688,2617,77,98753\",\",2621,7,98814,2621,15,98822\",\",2621,18,98825,2621,33,98840\",\",2622,10,98852,2622,37,98879\",\",2623,29,98910,2623,37,98918\",\",2623,10,98891,2623,38,98919\",\",2624,10,98931,2624,52,98973\",\",2628,23,99098,2628,31,99106\",\",2628,9,99084,2628,32,99107\",\",2629,9,99118,2629,17,99126\",\",2630,11,99140,2630,18,99147\",\",2631,12,99161,2631,36,99185\",\",2632,20,99208,2632,28,99216\",\",2632,10,99198,2632,29,99217\",\",2633,11,99230,2633,18,99237\",\",2634,12,99251,2634,127,99366\",\",2636,9,99390,2636,17,99398\",\",2637,11,99412,2637,18,99419\",\",2638,12,99433,2638,65,99486\",\",2639,19,99507,2639,27,99515\",\",2639,12,99500,2639,28,99516\",\",2640,12,99530,2640,106,99624\",\",2644,7,99685,2644,15,99693\",\",2644,18,99696,2644,33,99711\",\",2645,10,99723,2645,72,99785\",\",2646,29,99816,2646,37,99824\",\",2646,10,99797,2646,38,99825\",\",2647,10,99837,2647,100,99927\",\",2651,23,100059,2651,30,100066\",\",2651,23,100059,2651,32,100068\",\",2651,9,100045,2651,33,100069\",\",2652,9,100080,2652,17,100088\",\",2653,11,100102,2653,18,100109\",\",2654,12,100123,2654,27,100138\",\",2655,25,100165,2655,52,100192\",\",2655,55,100195,2655,62,100202\",\",2655,64,100204,2655,71,100211\",\",2655,64,100204,2655,73,100213\",\",2655,12,100152,2655,78,100218\",\",2656,20,100241,2656,27,100248\",\",2656,20,100241,2656,29,100250\",\",2656,10,100231,2656,30,100251\",\",2657,11,100264,2657,18,100271\",\",2658,12,100285,2658,46,100319\",\",2659,20,100341,2659,36,100357\",\",2659,12,100333,2659,37,100358\",\",2659,39,100360,2659,54,100375\",\",2659,64,100385,2659,80,100401\",\",2659,56,100377,2659,81,100402\",\",2659,83,100404,2659,101,100422\",\",2660,21,100446,2660,28,100453\",\",2662,15,100502,2662,22,100509\",\",2663,16,100527,2663,61,100572\",\",2663,71,100582,2663,87,100598\",\",2663,63,100574,2663,88,100599\",\",2664,16,100617,2664,96,100697\",\",2666,15,100736,2666,22,100743\",\",2667,16,100761,2667,87,100832\",\",2671,9,100879,2671,17,100887\",\",2672,11,100901,2672,26,100916\",\",2672,10,100900,2676,102,101148\",\",2673,12,100930,2673,47,100965\",\",2674,19,100986,2674,26,100993\",\",2674,19,100986,2674,28,100995\",\",2674,12,100979,2674,29,100996\",\",2675,12,101010,2675,46,101044\",\",2676,20,101066,2676,36,101082\",\",2676,12,101058,2676,37,101083\",\",2676,39,101085,2676,54,101100\",\",2676,64,101110,2676,80,101126\",\",2676,56,101102,2676,81,101127\",\",2676,83,101129,2676,101,101147\",\",2677,21,101171,2677,28,101178\",\",2679,15,101224,2679,22,101231\",\",2680,16,101249,2680,61,101294\",\",2680,71,101304,2680,87,101320\",\",2680,63,101296,2680,88,101321\",\",2681,16,101339,2681,96,101419\",\",2683,15,101458,2683,22,101465\",\",2684,16,101483,2684,87,101554\",\",2690,7,101638,2690,15,101646\",\",2691,9,101658,2691,24,101673\",\",2691,8,101657,2695,100,101907\",\",2692,10,101685,2692,45,101720\",\",2693,29,101751,2693,37,101759\",\",2693,10,101732,2693,38,101760\",\",2694,10,101772,2694,43,101805\",\",2695,18,101825,2695,34,101841\",\",2695,10,101817,2695,35,101842\",\",2695,37,101844,2695,52,101859\",\",2695,62,101869,2695,78,101885\",\",2695,54,101861,2695,79,101886\",\",2695,81,101888,2695,99,101906\",\",2696,9,101918,2696,16,101925\",\",2697,10,101937,2697,81,102008\",\",2701,34,102112,2701,42,102120\",\",2701,34,102112,2701,55,102133\",\",2701,14,102092,2701,55,102133\",\",2701,6,102084,2701,56,102134\",\",2705,83,102288,2705,91,102296\",\",2705,83,102288,2705,104,102309\",\",2705,14,102219,2705,104,102309\",\",2705,6,102211,2705,105,102310\",\",2709,83,102470,2709,91,102478\",\",2709,83,102470,2709,104,102491\",\",2709,14,102401,2709,104,102491\",\",2709,6,102393,2709,105,102492\",\",2712,64,102598,2712,72,102606\",\",2712,64,102598,2712,85,102619\",\",2712,40,102574,2712,85,102619\",\",2712,32,102566,2712,86,102620\",\",2714,62,102718,2714,70,102726\",\",2714,62,102718,2714,83,102739\",\",2714,40,102696,2714,83,102739\",\",2714,32,102688,2714,84,102740\",\",2716,65,102844,2716,73,102852\",\",2716,65,102844,2716,86,102865\",\",2716,40,102819,2716,86,102865\",\",2716,32,102811,2716,87,102866\",\",2718,69,102978,2718,77,102986\",\",2718,69,102978,2718,90,102999\",\",2718,40,102949,2718,90,102999\",\",2718,32,102941,2718,91,103000\",\",2720,58,103090,2720,66,103098\",\",2720,58,103090,2720,79,103111\",\",2720,40,103072,2720,79,103111\",\",2720,32,103064,2720,80,103112\",\",2722,60,103206,2722,68,103214\",\",2722,60,103206,2722,81,103227\",\",2722,40,103186,2722,81,103227\",\",2722,32,103178,2722,82,103228\",\",2432,0,90013,2723,3,103236\",\",2433,2,90032,2460,7,91220\",\",2461,2,91223,2487,7,92320\",\",2488,2,92323,2523,7,94394\",\",2524,2,94397,2550,7,95928\",\",2551,2,95931,2574,7,97010\",\",2575,2,97013,2601,7,98153\",\",2602,2,98156,2625,7,98983\",\",2626,2,98986,2648,7,99937\",\",2649,2,99940,2698,7,102018\",\",2699,2,102021,2702,7,102142\",\",2703,2,102145,2706,7,102318\",\",2707,2,102321,2710,7,102500\",\",2711,2,102503,2712,90,102624\",\",2713,2,102627,2714,88,102744\",\",2715,2,102747,2716,91,102870\",\",2717,2,102873,2718,95,103004\",\",2719,2,103007,2720,84,103116\",\",2721,2,103119,2722,86,103232\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqlC8Bi6C,wBArlC9Bj6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqlCqBk6C,sDArlCrBl6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAmlCOm6C,mDAnlCPn6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6lCg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ArtCXz+C;AAAAA;AAqtCWy+C,kFArtCXz+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAitCe0+C,2EAjtCf1+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAitCe2+C,oEAjtCf3+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCc4+C,sCAluCd5+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAA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;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAw3EKinF,oDAx3ELjnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA23EKknF,0DA33ELlnF;AAAAA;AA23EKknF,iDA33ELlnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA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giG,wDAjqF/BhiG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA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A;AAAAA;AAAAA;AAAAA;AAAAA,SAsFDmnF,uDAtFCnnF;AAAAA;AAAAA;AAAAA;AAAAA,SAsFDmnF,wDAtFCnnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://error\"}", -"theModule":"function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4008(R,NAMESPACE,M,$ED12,$$underscore_import5,$O13,$S14,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://error\";\nvar D = R.undefined;\nvar L = [[M,12,0,180,14,3,260],\n[M,13,2,209,13,49,256],\n[M,13,39,246,13,48,255],\n[M,15,0,261,17,3,358],\n[M,16,25,314,16,63,352],\n[M,16,35,324,16,59,348],\n[M,16,36,325,16,43,332],\n[M,16,45,334,16,58,347],\n[M,16,16,305,16,64,353],\n[M,16,2,291,16,65,354],\n[M,18,0,359,20,3,462],\n[M,19,2,389,19,71,458],\n[M,19,3,390,19,10,397],\n[M,19,35,422,19,62,449],\n[M,19,45,432,19,58,445],\n[M,19,26,413,19,63,450],\n[M,19,12,399,19,69,456],\n[M,22,0,464,34,3,756],\n[M,23,5,501,23,21,517],\n[M,24,4,523,27,27,627],\n[M,24,5,524,24,12,531],\n[M,27,6,606,27,26,626],\n[M,26,6,587,26,17,598],\n[M,25,6,539,25,46,579],\n[M,25,14,547,25,45,578],\n[M,25,14,547,25,36,569],\n[M,29,4,640,32,27,746],\n[M,29,5,641,29,12,648],\n[M,32,6,725,32,26,745],\n[M,31,6,706,31,17,717],\n[M,30,6,656,30,48,698],\n[M,30,14,664,30,47,697],\n[M,30,14,664,30,38,688],\n[M,36,0,758,46,3,1018],\n[M,37,2,811,45,11,1014],\n[M,37,3,812,37,10,819],\n[M,39,32,886,39,46,900],\n[M,39,33,887,39,40,894],\n[M,40,4,914,45,10,1013],\n[M,39,4,858,39,54,908],\n[M,39,17,871,39,30,884],\n[M,38,4,825,38,31,852],\n[M,48,0,1020,50,3,1101],\n[M,49,2,1047,49,52,1097],\n[M,49,3,1048,49,10,1055],\n[M,49,12,1057,49,51,1096],\n[M,52,0,1103,62,3,1285],\n[M,54,4,1164,54,20,1180],\n[M,53,2,1136,61,5,1281],\n[M,57,8,1229,57,17,1238],\n[M,56,9,1207,56,21,1219],\n[M,55,4,1185,60,9,1275],\n[M,53,8,1142,53,16,1150],\n[M,64,0,1287,69,3,1391],\n[M,66,4,1343,66,20,1359],\n[M,65,2,1315,68,5,1387],\n[M,67,17,1377,67,21,1381],\n[M,67,4,1364,67,21,1381],\n[M,65,8,1321,65,16,1329],\n[M,71,0,1393,85,3,2007],\n[M,74,16,1535,84,12,1999],\n[M,80,34,1778,80,37,1781],\n[M,80,25,1769,80,38,1782],\n[M,77,12,1616,80,40,1784],\n[M,78,49,1690,78,52,1693],\n[M,78,42,1683,78,53,1694],\n[M,78,22,1663,78,53,1694],\n[M,77,20,1624,80,23,1767],\n[M,76,10,1577,80,40,1784],\n[M,75,8,1551,84,11,1998],\n[M,81,52,1837,81,58,1843],\n[M,81,70,1855,81,73,1858],\n[M,81,61,1846,81,74,1859],\n[M,81,37,1822,81,76,1861],\n[M,81,45,1830,81,59,1844],\n[M,81,10,1795,81,76,1861],\n[M,82,52,1914,82,58,1920],\n[M,82,61,1923,82,78,1940],\n[M,82,62,1924,82,69,1931],\n[M,82,71,1933,82,77,1939],\n[M,82,37,1899,82,80,1942],\n[M,82,45,1907,82,59,1921],\n[M,82,10,1872,82,80,1942],\n[M,74,6,1525,84,16,2003],\n[M,73,6,1495,73,29,1518],\n[M,72,6,1464,72,30,1488],\n[M,89,4,2088,94,7,2434],\n[M,92,17,2315,92,28,2326],\n[M,92,33,2331,92,97,2395],\n[M,92,17,2315,92,98,2396],\n[M,93,6,2403,93,29,2426],\n[M,95,4,2440,98,7,2557],\n[M,96,17,2485,96,28,2496],\n[M,96,33,2501,96,50,2518],\n[M,96,17,2485,96,51,2519],\n[M,97,6,2526,97,29,2549],\n[M,100,4,2601,120,7,3256],\n[M,101,9,2687,101,17,2695],\n[M,101,9,2687,101,30,2708],\n[M,103,8,2778,103,11,2781],\n[M,104,28,2810,104,36,2818],\n[M,108,34,3008,108,42,3016],\n[M,111,12,3086,111,15,3089],\n[M,109,10,3029,111,15,3089],\n[M,108,8,2982,115,11,3175],\n[M,114,12,3160,114,15,3163],\n[M,112,10,3100,114,15,3163],\n[M,108,14,2988,108,22,2996],\n[M,108,24,2998,108,43,3017],\n[M,118,8,3235,118,11,3238],\n[M,104,14,2796,104,37,2819],\n[M,121,4,3262,129,7,3494],\n[M,122,9,3299,122,17,3307],\n[M,122,9,3299,122,30,3320],\n[M,124,8,3390,124,11,3393],\n[M,127,8,3473,127,11,3476],\n[M,131,4,3546,133,7,3657],\n[M,132,6,3629,132,26,3649],\n[M,134,4,3663,136,7,3749],\n[M,135,6,3697,135,50,3741],\n[M,135,7,3698,135,15,3706],\n[M,135,17,3708,135,49,3740],\n[M,135,18,3709,135,25,3716],\n[M,135,35,3726,135,47,3738],\n[M,135,27,3718,135,48,3739],\n[M,137,4,3755,139,7,3816],\n[M,138,18,3795,138,30,3807],\n[M,138,6,3783,138,31,3808],\n[M,141,4,3864,157,7,4544],\n[M,142,9,3950,142,17,3958],\n[M,142,9,3950,142,30,3971],\n[M,143,8,3981,146,29,4155],\n[M,143,9,3982,143,17,3990],\n[M,144,57,4049,144,65,4057],\n[M,145,10,4070,145,64,4124],\n[M,145,11,4071,145,18,4078],\n[M,146,19,4145,146,27,4153],\n[M,146,10,4136,146,28,4154],\n[M,145,20,4080,145,63,4123],\n[M,144,10,4002,144,66,4058],\n[M,148,8,4176,155,29,4526],\n[M,148,9,4177,148,17,4185],\n[M,149,50,4237,149,58,4245],\n[M,150,20,4278,150,28,4286],\n[M,151,10,4299,154,82,4495],\n[M,151,11,4300,151,18,4307],\n[M,153,47,4385,153,69,4407],\n[M,153,48,4386,153,55,4393],\n[M,153,57,4395,153,68,4406],\n[M,155,19,4516,155,27,4524],\n[M,155,10,4507,155,28,4525],\n[M,154,12,4425,154,81,4494],\n[M,153,12,4350,153,73,4411],\n[M,153,25,4363,153,45,4383],\n[M,152,12,4321,152,27,4336],\n[M,150,10,4268,150,29,4287],\n[M,149,10,4197,149,69,4256],\n[M,158,4,4550,163,7,4760],\n[M,159,6,4584,162,27,4752],\n[M,159,7,4585,159,15,4593],\n[M,160,55,4650,160,63,4658],\n[M,161,8,4669,161,62,4723],\n[M,161,9,4670,161,16,4677],\n[M,162,17,4742,162,25,4750],\n[M,162,8,4733,162,26,4751],\n[M,161,18,4679,161,61,4722],\n[M,160,8,4603,160,64,4659],\n[M,165,4,4828,192,7,5943],\n[M,166,13,4918,166,21,4926],\n[M,166,13,4918,166,34,4939],\n[M,167,8,4978,182,29,5648],\n[M,167,9,4979,167,17,4987],\n[M,168,50,5039,168,58,5047],\n[M,169,20,5080,169,28,5088],\n[M,170,10,5101,181,72,5617],\n[M,170,11,5102,170,18,5109],\n[M,173,14,5197,179,20,5496],\n[M,173,15,5198,173,22,5205],\n[M,174,24,5231,174,37,5244],\n[M,175,38,5284,175,48,5294],\n[M,176,29,5326,176,37,5334],\n[M,177,22,5358,177,34,5370],\n[M,177,36,5372,177,50,5386],\n[M,177,52,5388,177,64,5400],\n[M,178,22,5424,178,34,5436],\n[M,178,36,5438,178,50,5452],\n[M,178,56,5458,178,68,5470],\n[M,181,45,5590,181,67,5612],\n[M,181,46,5591,181,53,5598],\n[M,181,55,5600,181,66,5611],\n[M,182,19,5638,182,27,5646],\n[M,182,10,5629,182,28,5647],\n[M,181,12,5557,181,71,5616],\n[M,181,25,5570,181,43,5588],\n[M,180,12,5514,180,41,5543],\n[M,172,12,5152,179,24,5500],\n[M,176,20,5317,178,73,5475],\n[M,178,56,5458,178,72,5474],\n[M,178,36,5438,178,54,5456],\n[M,172,25,5165,172,41,5181],\n[M,171,12,5123,171,27,5138],\n[M,169,10,5070,169,29,5089],\n[M,168,10,4999,168,69,5058],\n[M,184,8,5669,190,29,5925],\n[M,184,9,5670,184,17,5678],\n[M,185,57,5737,185,65,5745],\n[M,186,10,5758,189,49,5894],\n[M,186,11,5759,186,18,5766],\n[M,188,28,5831,188,38,5841],\n[M,190,19,5915,190,27,5923],\n[M,190,10,5906,190,28,5924],\n[M,189,12,5857,189,48,5893],\n[M,188,12,5815,188,40,5843],\n[M,188,20,5823,188,39,5842],\n[M,187,12,5780,187,33,5801],\n[M,185,10,5690,185,66,5746],\n[M,166,54,4959,166,62,4967],\n[M,166,40,4945,166,63,4968],\n[M,166,9,4914,166,35,4940],\n[M,193,4,5949,201,7,6235],\n[M,194,6,5983,200,27,6227],\n[M,194,7,5984,194,15,5992],\n[M,195,55,6049,195,63,6057],\n[M,196,8,6068,199,47,6198],\n[M,196,9,6069,196,16,6076],\n[M,198,26,6137,198,36,6147],\n[M,200,17,6217,200,25,6225],\n[M,200,8,6208,200,26,6226],\n[M,199,10,6161,199,46,6197],\n[M,198,10,6121,198,38,6149],\n[M,198,18,6129,198,37,6148],\n[M,197,10,6088,197,31,6109],\n[M,195,8,6002,195,64,6058],\n[M,203,4,6300,230,7,7450],\n[M,204,13,6390,204,21,6398],\n[M,204,13,6390,204,34,6411],\n[M,205,8,6450,220,29,7138],\n[M,205,9,6451,205,17,6459],\n[M,206,50,6511,206,58,6519],\n[M,207,20,6552,207,28,6560],\n[M,208,10,6573,219,72,7107],\n[M,208,11,6574,208,18,6581],\n[M,211,14,6670,217,20,6969],\n[M,211,15,6671,211,22,6678],\n[M,212,24,6704,212,37,6717],\n[M,213,38,6757,213,48,6767],\n[M,214,29,6799,214,37,6807],\n[M,215,22,6831,215,34,6843],\n[M,215,36,6845,215,50,6859],\n[M,215,52,6861,215,64,6873],\n[M,216,22,6897,216,34,6909],\n[M,216,36,6911,216,50,6925],\n[M,216,56,6931,216,68,6943],\n[M,219,45,7080,219,67,7102],\n[M,219,46,7081,219,53,7088],\n[M,219,55,7090,219,66,7101],\n[M,220,19,7128,220,27,7136],\n[M,220,10,7119,220,28,7137],\n[M,219,12,7047,219,71,7106],\n[M,219,25,7060,219,43,7078],\n[M,218,12,6987,218,58,7033],\n[M,210,12,6625,217,24,6973],\n[M,214,20,6790,216,73,6948],\n[M,216,56,6931,216,72,6947],\n[M,216,36,6911,216,54,6929],\n[M,210,25,6638,210,41,6654],\n[M,209,12,6595,209,28,6611],\n[M,207,10,6542,207,29,6561],\n[M,206,10,6471,206,69,6530],\n[M,222,8,7159,228,29,7432],\n[M,222,9,7160,222,17,7168],\n[M,223,57,7227,223,65,7235],\n[M,224,10,7248,227,66,7401],\n[M,224,11,7249,224,18,7256],\n[M,226,28,7321,226,38,7331],\n[M,228,19,7422,228,27,7430],\n[M,228,10,7413,228,28,7431],\n[M,227,12,7347,227,65,7400],\n[M,226,12,7305,226,40,7333],\n[M,226,20,7313,226,39,7332],\n[M,225,12,7270,225,33,7291],\n[M,223,10,7180,223,66,7236],\n[M,204,54,6431,204,62,6439],\n[M,204,40,6417,204,63,6440],\n[M,204,9,6386,204,35,6412],\n[M,231,4,7456,239,7,7759],\n[M,232,6,7490,238,27,7751],\n[M,232,7,7491,232,15,7499],\n[M,233,55,7556,233,63,7564],\n[M,234,8,7575,237,64,7722],\n[M,234,9,7576,234,16,7583],\n[M,236,26,7644,236,36,7654],\n[M,238,17,7741,238,25,7749],\n[M,238,8,7732,238,26,7750],\n[M,237,10,7668,237,63,7721],\n[M,236,10,7628,236,38,7656],\n[M,236,18,7636,236,37,7655],\n[M,235,10,7595,235,31,7616],\n[M,233,8,7509,233,64,7565],\n[M,241,4,7835,268,7,8935],\n[M,242,9,7921,242,17,7929],\n[M,242,9,7921,242,30,7942],\n[M,243,8,7960,249,29,8221],\n[M,243,9,7961,243,17,7969],\n[M,244,57,8028,244,65,8036],\n[M,245,10,8049,248,54,8190],\n[M,245,11,8050,245,18,8057],\n[M,247,28,8122,247,38,8132],\n[M,249,19,8211,249,27,8219],\n[M,249,10,8202,249,28,8220],\n[M,248,12,8148,248,53,8189],\n[M,247,12,8106,247,40,8134],\n[M,247,20,8114,247,39,8133],\n[M,246,12,8071,246,33,8092],\n[M,244,10,7981,244,66,8037],\n[M,251,8,8242,266,29,8917],\n[M,251,9,8243,251,17,8251],\n[M,252,50,8303,252,58,8311],\n[M,253,20,8344,253,28,8352],\n[M,254,10,8365,265,72,8886],\n[M,254,11,8366,254,18,8373],\n[M,257,14,8461,263,20,8760],\n[M,257,15,8462,257,22,8469],\n[M,258,24,8495,258,37,8508],\n[M,259,38,8548,259,48,8558],\n[M,260,29,8590,260,37,8598],\n[M,261,22,8622,261,34,8634],\n[M,261,36,8636,261,50,8650],\n[M,261,52,8652,261,64,8664],\n[M,262,22,8688,262,34,8700],\n[M,262,36,8702,262,50,8716],\n[M,262,56,8722,262,68,8734],\n[M,265,45,8859,265,67,8881],\n[M,265,46,8860,265,53,8867],\n[M,265,55,8869,265,66,8880],\n[M,266,19,8907,266,27,8915],\n[M,266,10,8898,266,28,8916],\n[M,265,12,8826,265,71,8885],\n[M,265,25,8839,265,43,8857],\n[M,264,12,8778,264,46,8812],\n[M,256,12,8416,263,24,8764],\n[M,260,20,8581,262,73,8739],\n[M,262,56,8722,262,72,8738],\n[M,262,36,8702,262,54,8720],\n[M,256,25,8429,256,41,8445],\n[M,255,12,8387,255,27,8402],\n[M,253,10,8334,253,29,8353],\n[M,252,10,8263,252,69,8322],\n[M,269,4,8941,277,7,9232],\n[M,270,6,8975,276,27,9224],\n[M,270,7,8976,270,15,8984],\n[M,271,55,9041,271,63,9049],\n[M,272,8,9060,275,52,9195],\n[M,272,9,9061,272,16,9068],\n[M,274,26,9129,274,36,9139],\n[M,276,17,9214,276,25,9222],\n[M,276,8,9205,276,26,9223],\n[M,275,10,9153,275,51,9194],\n[M,274,10,9113,274,38,9141],\n[M,274,18,9121,274,37,9140],\n[M,273,10,9080,273,31,9101],\n[M,271,8,8994,271,64,9050],\n[M,279,4,9274,306,7,10461],\n[M,280,9,9360,280,17,9368],\n[M,280,9,9360,280,30,9381],\n[M,281,8,9423,284,29,9582],\n[M,281,9,9424,281,17,9432],\n[M,282,46,9480,282,54,9488],\n[M,283,10,9501,283,60,9551],\n[M,283,11,9502,283,18,9509],\n[M,284,19,9572,284,27,9580],\n[M,284,10,9563,284,28,9581],\n[M,283,20,9511,283,59,9550],\n[M,282,10,9444,282,55,9489],\n[M,285,28,9611,285,36,9619],\n[M,286,34,9656,286,42,9664],\n[M,288,12,9708,297,33,10174],\n[M,288,13,9709,288,21,9717],\n[M,289,43,9762,289,51,9770],\n[M,290,24,9807,290,32,9815],\n[M,291,14,9832,296,29,10139],\n[M,291,15,9833,291,22,9840],\n[M,293,57,9940,293,73,9956],\n[M,293,78,9961,293,87,9970],\n[M,293,57,9940,293,88,9971],\n[M,295,49,10081,295,73,10105],\n[M,295,50,10082,295,57,10089],\n[M,295,59,10091,295,70,10102],\n[M,295,59,10091,295,72,10104],\n[M,297,23,10164,297,31,10172],\n[M,297,14,10155,297,32,10173],\n[M,296,16,10126,296,28,10138],\n[M,295,16,10048,295,76,10108],\n[M,295,29,10061,295,48,10080],\n[M,294,16,9993,294,53,10030],\n[M,293,16,9899,293,92,9975],\n[M,293,29,9912,293,55,9938],\n[M,292,16,9858,292,39,9881],\n[M,290,14,9797,290,33,9816],\n[M,289,14,9733,289,62,9781],\n[M,287,10,9677,297,33,10174],\n[M,286,8,9630,304,11,10443],\n[M,299,12,10207,303,33,10431],\n[M,299,13,10208,299,21,10216],\n[M,300,43,10261,300,51,10269],\n[M,301,24,10305,301,32,10313],\n[M,302,14,10330,302,80,10396],\n[M,302,15,10331,302,22,10338],\n[M,303,23,10421,303,31,10429],\n[M,303,14,10412,303,32,10430],\n[M,302,24,10340,302,79,10395],\n[M,301,14,10295,301,33,10314],\n[M,300,14,10232,300,61,10279],\n[M,298,10,10185,303,33,10431],\n[M,286,14,9636,286,22,9644],\n[M,286,24,9646,286,43,9665],\n[M,280,6,9357,305,9,10453],\n[M,285,14,9597,285,37,9620],\n[M,280,52,9403,280,60,9411],\n[M,280,34,9385,280,62,9413],\n[M,280,38,9389,280,61,9412],\n[M,307,4,10467,312,7,10662],\n[M,308,6,10501,311,27,10654],\n[M,308,7,10502,308,15,10510],\n[M,309,44,10556,309,52,10564],\n[M,310,8,10575,310,58,10625],\n[M,310,9,10576,310,16,10583],\n[M,311,17,10644,311,25,10652],\n[M,311,8,10635,311,26,10653],\n[M,310,18,10585,310,57,10624],\n[M,309,8,10520,309,53,10565],\n[M,314,4,10724,327,7,11468],\n[M,315,13,10814,315,21,10822],\n[M,315,13,10814,315,34,10835],\n[M,316,8,10874,320,160,11168],\n[M,316,9,10875,316,17,10883],\n[M,317,19,10904,317,34,10919],\n[M,317,52,10937,317,60,10945],\n[M,318,20,10977,318,28,10985],\n[M,319,10,10998,320,159,11167],\n[M,319,11,10999,319,18,11006],\n[M,320,12,11020,320,158,11166],\n[M,318,10,10967,318,29,10986],\n[M,317,10,10895,317,70,10955],\n[M,317,19,10904,317,50,10935],\n[M,322,8,11189,325,160,11450],\n[M,322,9,11190,322,17,11198],\n[M,323,26,11226,323,41,11241],\n[M,323,59,11259,323,67,11267],\n[M,324,10,11280,325,159,11449],\n[M,324,11,11281,324,18,11288],\n[M,325,12,11302,325,158,11448],\n[M,323,10,11210,323,68,11268],\n[M,323,26,11226,323,57,11257],\n[M,315,54,10855,315,62,10863],\n[M,315,40,10841,315,63,10864],\n[M,315,9,10810,315,35,10836],\n[M,328,4,11474,333,7,11771],\n[M,329,6,11508,332,158,11763],\n[M,329,7,11509,329,15,11517],\n[M,330,24,11543,330,39,11558],\n[M,330,57,11576,330,65,11584],\n[M,331,8,11595,332,157,11762],\n[M,331,9,11596,331,16,11603],\n[M,332,10,11615,332,156,11761],\n[M,330,8,11527,330,66,11585],\n[M,330,24,11543,330,55,11574],\n[M,335,4,11821,337,7,11932],\n[M,336,6,11904,336,26,11924],\n[M,338,4,11938,343,7,12153],\n[M,339,6,11972,342,41,12145],\n[M,339,7,11973,339,15,11981],\n[M,340,8,11991,340,68,12051],\n[M,340,9,11992,340,16,11999],\n[M,340,54,12037,340,66,12049],\n[M,341,8,12061,341,49,12102],\n[M,341,9,12062,341,16,12069],\n[M,342,25,12129,342,39,12143],\n[M,342,8,12112,342,40,12144],\n[M,341,18,12071,341,48,12101],\n[M,340,46,12029,340,67,12050],\n[M,340,18,12001,340,44,12027],\n[M,345,4,12202,347,7,12313],\n[M,346,6,12285,346,26,12305],\n[M,348,4,12319,353,7,12538],\n[M,349,6,12353,352,28,12530],\n[M,349,7,12354,349,15,12362],\n[M,350,8,12372,350,106,12470],\n[M,350,9,12373,350,16,12380],\n[M,350,82,12446,350,95,12459],\n[M,351,15,12487,351,27,12499],\n[M,352,8,12510,352,27,12529],\n[M,351,8,12480,351,28,12500],\n[M,350,18,12382,350,105,12469],\n[M,350,26,12390,350,104,12468],\n[M,350,26,12390,350,96,12460],\n[M,350,73,12437,350,96,12460],\n[M,355,4,12580,366,7,13113],\n[M,356,9,12666,356,17,12674],\n[M,356,9,12666,356,30,12687],\n[M,357,8,12729,359,74,12885],\n[M,357,9,12730,357,17,12738],\n[M,358,60,12800,358,68,12808],\n[M,359,10,12821,359,73,12884],\n[M,359,11,12822,359,18,12829],\n[M,359,20,12831,359,72,12883],\n[M,358,10,12750,358,69,12809],\n[M,361,8,12906,364,74,13095],\n[M,361,9,12907,361,17,12915],\n[M,362,53,12970,362,61,12978],\n[M,363,20,13010,363,28,13018],\n[M,364,10,13031,364,73,13094],\n[M,364,11,13032,364,18,13039],\n[M,364,20,13041,364,72,13093],\n[M,363,10,13000,363,29,13019],\n[M,362,10,12927,362,71,12988],\n[M,356,52,12709,356,60,12717],\n[M,356,34,12691,356,62,12719],\n[M,356,38,12695,356,61,12718],\n[M,367,4,13119,371,7,13313],\n[M,368,6,13153,370,72,13305],\n[M,368,7,13154,368,15,13162],\n[M,369,58,13222,369,66,13230],\n[M,370,8,13241,370,71,13304],\n[M,370,9,13242,370,16,13249],\n[M,370,18,13251,370,70,13303],\n[M,369,8,13172,369,67,13231],\n[M,373,4,13371,419,7,15239],\n[M,374,9,13457,374,17,13465],\n[M,374,9,13457,374,30,13478],\n[M,375,8,13520,380,30,13741],\n[M,375,9,13521,375,17,13529],\n[M,376,53,13584,376,61,13592],\n[M,377,10,13605,379,41,13709],\n[M,377,11,13606,377,18,13613],\n[M,379,28,13696,379,38,13706],\n[M,380,10,13721,380,29,13740],\n[M,379,12,13680,379,40,13708],\n[M,379,20,13688,379,39,13707],\n[M,378,12,13627,378,51,13666],\n[M,376,10,13541,376,62,13593],\n[M,381,28,13770,381,36,13778],\n[M,382,34,13815,382,42,13823],\n[M,388,12,13990,399,33,14537],\n[M,388,13,13991,388,21,13999],\n[M,389,50,14051,389,58,14059],\n[M,390,24,14096,390,32,14104],\n[M,391,14,14121,398,29,14502],\n[M,391,15,14122,391,22,14129],\n[M,393,50,14214,393,70,14234],\n[M,393,51,14215,393,58,14222],\n[M,393,60,14224,393,67,14231],\n[M,393,60,14224,393,69,14233],\n[M,395,29,14333,396,49,14421],\n[M,395,30,14334,395,41,14345],\n[M,396,36,14408,396,46,14418],\n[M,397,18,14441,397,44,14467],\n[M,397,19,14442,397,26,14449],\n[M,397,28,14451,397,43,14466],\n[M,399,23,14527,399,31,14535],\n[M,399,14,14518,399,32,14536],\n[M,398,16,14489,398,28,14501],\n[M,395,16,14320,397,48,14471],\n[M,396,20,14392,396,48,14420],\n[M,396,28,14400,396,47,14419],\n[M,395,43,14347,395,66,14370],\n[M,394,16,14256,394,62,14302],\n[M,393,16,14180,393,74,14238],\n[M,393,29,14193,393,49,14213],\n[M,392,16,14147,392,31,14162],\n[M,390,14,14086,390,33,14105],\n[M,389,14,14015,389,69,14070],\n[M,385,14,13906,385,35,13927],\n[M,384,25,13876,387,15,13977],\n[M,386,14,13942,386,33,13961],\n[M,383,10,13836,399,33,14537],\n[M,382,8,13789,409,11,14922],\n[M,401,12,14570,408,33,14910],\n[M,401,13,14571,401,21,14579],\n[M,402,50,14631,402,58,14639],\n[M,403,24,14676,403,32,14684],\n[M,404,14,14701,407,29,14875],\n[M,404,15,14702,404,22,14709],\n[M,406,32,14832,406,42,14842],\n[M,408,23,14900,408,31,14908],\n[M,408,14,14891,408,32,14909],\n[M,407,16,14862,407,28,14874],\n[M,406,16,14816,406,44,14844],\n[M,406,24,14824,406,43,14843],\n[M,405,16,14727,405,87,14798],\n[M,403,14,14666,403,33,14685],\n[M,402,14,14595,402,69,14650],\n[M,400,10,14548,408,33,14910],\n[M,382,14,13795,382,22,13803],\n[M,382,24,13805,382,43,13824],\n[M,411,8,14943,417,29,15221],\n[M,411,9,14944,411,17,14952],\n[M,412,53,15007,412,61,15015],\n[M,413,10,15028,416,25,15190],\n[M,413,11,15029,413,18,15036],\n[M,415,28,15151,415,38,15161],\n[M,417,19,15211,417,27,15219],\n[M,417,10,15202,417,28,15220],\n[M,416,12,15177,416,24,15189],\n[M,415,12,15135,415,40,15163],\n[M,415,20,15143,415,39,15162],\n[M,414,12,15050,414,83,15121],\n[M,412,10,14964,412,62,15016],\n[M,381,14,13756,381,37,13779],\n[M,374,52,13500,374,60,13508],\n[M,374,34,13482,374,62,13510],\n[M,374,38,13486,374,61,13509],\n[M,420,4,15245,428,7,15553],\n[M,421,6,15279,427,27,15545],\n[M,421,7,15280,421,15,15288],\n[M,422,51,15341,422,59,15349],\n[M,423,8,15360,426,23,15516],\n[M,423,9,15361,423,16,15368],\n[M,425,26,15479,425,36,15489],\n[M,427,17,15535,427,25,15543],\n[M,427,8,15526,427,26,15544],\n[M,426,10,15503,426,22,15515],\n[M,425,10,15463,425,38,15491],\n[M,425,18,15471,425,37,15490],\n[M,424,10,15380,424,81,15451],\n[M,422,8,15298,422,60,15350],\n[M,430,4,15625,446,7,16355],\n[M,431,9,15711,431,22,15724],\n[M,431,9,15711,431,35,15737],\n[M,432,8,15784,436,81,16001],\n[M,432,9,15785,432,17,15793],\n[M,433,53,15848,433,66,15861],\n[M,434,20,15884,434,33,15897],\n[M,435,10,15910,436,80,16000],\n[M,435,11,15911,435,18,15918],\n[M,436,12,15932,436,79,15999],\n[M,434,10,15874,434,34,15898],\n[M,433,10,15805,433,67,15862],\n[M,438,8,16022,444,68,16337],\n[M,438,9,16023,438,17,16031],\n[M,439,46,16079,439,59,16092],\n[M,440,20,16125,440,33,16138],\n[M,441,10,16151,444,67,16336],\n[M,441,11,16152,441,18,16159],\n[M,443,47,16237,443,73,16263],\n[M,443,48,16238,443,55,16245],\n[M,443,57,16247,443,72,16262],\n[M,444,12,16281,444,66,16335],\n[M,443,12,16202,443,77,16267],\n[M,443,25,16215,443,45,16235],\n[M,442,12,16173,442,27,16188],\n[M,440,10,16115,440,34,16139],\n[M,439,10,16043,439,70,16103],\n[M,431,57,15759,431,70,15772],\n[M,431,39,15741,431,72,15774],\n[M,431,43,15745,431,71,15773],\n[M,447,4,16361,452,7,16578],\n[M,448,6,16395,451,79,16570],\n[M,448,7,16396,448,15,16404],\n[M,449,51,16457,449,64,16470],\n[M,450,8,16481,451,78,16569],\n[M,450,9,16482,450,16,16489],\n[M,451,10,16501,451,77,16568],\n[M,449,8,16414,449,65,16471],\n[M,454,4,16668,466,7,17211],\n[M,455,9,16754,455,17,16762],\n[M,455,9,16754,455,30,16775],\n[M,456,8,16817,459,72,16984],\n[M,456,9,16818,456,17,16826],\n[M,457,53,16881,457,61,16889],\n[M,458,10,16902,459,71,16983],\n[M,458,11,16903,458,18,16910],\n[M,459,12,16924,459,70,16982],\n[M,457,10,16838,457,62,16890],\n[M,461,8,17005,464,80,17193],\n[M,461,9,17006,461,17,17014],\n[M,462,46,17062,462,54,17070],\n[M,463,20,17102,463,28,17110],\n[M,464,10,17123,464,79,17192],\n[M,464,11,17124,464,18,17131],\n[M,464,20,17133,464,78,17191],\n[M,463,10,17092,463,29,17111],\n[M,462,10,17026,462,64,17080],\n[M,455,52,16797,455,60,16805],\n[M,455,34,16779,455,62,16807],\n[M,455,38,16783,455,61,16806],\n[M,467,4,17217,472,7,17420],\n[M,468,6,17251,471,70,17412],\n[M,468,7,17252,468,15,17260],\n[M,469,51,17313,469,59,17321],\n[M,470,8,17332,471,69,17411],\n[M,470,9,17333,470,16,17340],\n[M,471,10,17352,471,68,17410],\n[M,469,8,17270,469,60,17322],\n[M,474,4,17483,504,7,18735],\n[M,475,9,17569,475,17,17577],\n[M,475,9,17569,475,30,17590],\n[M,476,8,17600,479,33,17778],\n[M,476,9,17601,476,17,17609],\n[M,477,53,17664,477,61,17672],\n[M,478,10,17685,478,68,17743],\n[M,478,11,17686,478,18,17693],\n[M,479,19,17764,479,31,17776],\n[M,479,10,17755,479,32,17777],\n[M,478,20,17695,478,67,17742],\n[M,477,10,17621,477,62,17673],\n[M,480,28,17807,480,36,17815],\n[M,481,34,17852,481,42,17860],\n[M,483,12,17900,490,37,18241],\n[M,483,13,17901,483,21,17909],\n[M,484,50,17961,484,58,17969],\n[M,485,24,18006,485,32,18014],\n[M,486,14,18031,489,51,18202],\n[M,486,15,18032,486,22,18039],\n[M,488,51,18125,488,71,18145],\n[M,488,52,18126,488,59,18133],\n[M,488,61,18135,488,68,18142],\n[M,488,61,18135,488,70,18144],\n[M,490,23,18227,490,35,18239],\n[M,490,14,18218,490,36,18240],\n[M,489,16,18167,489,50,18201],\n[M,488,16,18090,488,75,18149],\n[M,488,29,18103,488,49,18123],\n[M,487,16,18057,487,31,18072],\n[M,485,14,17996,485,33,18015],\n[M,484,14,17925,484,69,17980],\n[M,482,10,17873,490,37,18241],\n[M,481,8,17826,497,11,18518],\n[M,492,12,18279,496,37,18506],\n[M,492,13,18280,492,21,18288],\n[M,493,50,18340,493,58,18348],\n[M,494,24,18384,494,32,18392],\n[M,495,14,18409,495,72,18467],\n[M,495,15,18410,495,22,18417],\n[M,496,23,18492,496,35,18504],\n[M,496,14,18483,496,36,18505],\n[M,495,24,18419,495,71,18466],\n[M,494,14,18374,494,33,18393],\n[M,493,14,18304,493,68,18358],\n[M,491,10,18252,496,37,18506],\n[M,481,14,17832,481,22,17840],\n[M,481,24,17842,481,43,17861],\n[M,499,8,18539,502,33,18717],\n[M,499,9,18540,499,17,18548],\n[M,500,53,18603,500,61,18611],\n[M,501,10,18624,501,68,18682],\n[M,501,11,18625,501,18,18632],\n[M,502,19,18703,502,31,18715],\n[M,502,10,18694,502,32,18716],\n[M,501,20,18634,501,67,18681],\n[M,500,10,18560,500,62,18612],\n[M,480,14,17793,480,37,17816],\n[M,505,4,18741,510,7,18955],\n[M,506,6,18775,509,31,18947],\n[M,506,7,18776,506,15,18784],\n[M,507,51,18837,507,59,18845],\n[M,508,8,18856,508,66,18914],\n[M,508,9,18857,508,16,18864],\n[M,509,17,18933,509,29,18945],\n[M,509,8,18924,509,30,18946],\n[M,508,18,18866,508,65,18913],\n[M,507,8,18794,507,60,18846],\n[M,512,4,19021,558,7,21009],\n[M,513,9,19107,513,17,19115],\n[M,513,9,19107,513,30,19128],\n[M,514,8,19138,521,29,19473],\n[M,514,9,19139,514,17,19147],\n[M,515,53,19202,515,61,19210],\n[M,516,10,19223,520,54,19442],\n[M,516,11,19224,516,18,19231],\n[M,518,29,19317,518,37,19325],\n[M,520,34,19422,520,44,19432],\n[M,521,19,19463,521,27,19471],\n[M,521,10,19454,521,28,19472],\n[M,520,12,19400,520,53,19441],\n[M,520,20,19408,520,52,19440],\n[M,519,12,19340,519,58,19386],\n[M,518,12,19300,518,38,19326],\n[M,517,12,19246,517,52,19286],\n[M,515,10,19159,515,62,19211],\n[M,522,28,19502,522,36,19510],\n[M,523,34,19547,523,42,19555],\n[M,525,12,19595,536,33,20169],\n[M,525,13,19596,525,21,19604],\n[M,526,50,19656,526,58,19664],\n[M,527,24,19701,527,32,19709],\n[M,528,14,19726,535,65,20134],\n[M,528,15,19727,528,22,19734],\n[M,530,51,19820,530,71,19840],\n[M,530,52,19821,530,59,19828],\n[M,530,61,19830,530,68,19837],\n[M,530,61,19830,530,70,19839],\n[M,532,33,19924,532,41,19932],\n[M,534,50,20039,534,74,20063],\n[M,534,51,20040,534,58,20047],\n[M,534,60,20049,534,73,20062],\n[M,535,45,20114,535,55,20124],\n[M,536,23,20159,536,31,20167],\n[M,536,14,20150,536,32,20168],\n[M,535,16,20085,535,64,20133],\n[M,535,24,20093,535,63,20132],\n[M,535,24,20093,535,56,20125],\n[M,534,16,20005,534,78,20067],\n[M,534,29,20018,534,48,20037],\n[M,533,16,19951,533,52,19987],\n[M,532,16,19907,532,42,19933],\n[M,531,16,19862,531,43,19889],\n[M,530,16,19785,530,75,19844],\n[M,530,29,19798,530,49,19818],\n[M,529,16,19752,529,31,19767],\n[M,527,14,19691,527,33,19710],\n[M,526,14,19620,526,69,19675],\n[M,524,10,19568,536,33,20169],\n[M,523,8,19521,547,11,20619],\n[M,538,12,20207,546,33,20607],\n[M,538,13,20208,538,21,20216],\n[M,539,50,20268,539,58,20276],\n[M,540,24,20312,540,32,20320],\n[M,541,14,20337,545,58,20572],\n[M,541,15,20338,541,22,20345],\n[M,543,33,20439,543,41,20447],\n[M,545,38,20552,545,48,20562],\n[M,546,23,20597,546,31,20605],\n[M,546,14,20588,546,32,20606],\n[M,545,16,20530,545,57,20571],\n[M,545,24,20538,545,56,20570],\n[M,544,16,20466,544,62,20512],\n[M,543,16,20422,543,42,20448],\n[M,542,16,20364,542,56,20404],\n[M,540,14,20302,540,33,20321],\n[M,539,14,20232,539,68,20286],\n[M,537,10,20180,546,33,20607],\n[M,523,14,19527,523,22,19535],\n[M,523,24,19537,523,43,19556],\n[M,549,8,20640,556,29,20991],\n[M,549,9,20641,549,17,20649],\n[M,550,53,20704,550,61,20712],\n[M,551,10,20725,555,54,20960],\n[M,551,11,20726,551,18,20733],\n[M,553,29,20835,553,37,20843],\n[M,555,34,20940,555,44,20950],\n[M,556,19,20981,556,27,20989],\n[M,556,10,20972,556,28,20990],\n[M,555,12,20918,555,53,20959],\n[M,555,20,20926,555,52,20958],\n[M,554,12,20858,554,58,20904],\n[M,553,12,20818,553,38,20844],\n[M,552,12,20748,552,68,20804],\n[M,550,10,20661,550,62,20713],\n[M,522,14,19488,522,37,19511],\n[M,559,4,21015,568,7,21394],\n[M,560,6,21049,567,27,21386],\n[M,560,7,21050,560,15,21058],\n[M,561,51,21111,561,59,21119],\n[M,562,8,21130,566,52,21357],\n[M,562,9,21131,562,16,21138],\n[M,564,27,21236,564,35,21244],\n[M,566,32,21337,566,42,21347],\n[M,567,17,21376,567,25,21384],\n[M,567,8,21367,567,26,21385],\n[M,566,10,21315,566,51,21356],\n[M,566,18,21323,566,50,21355],\n[M,565,10,21257,565,56,21303],\n[M,564,10,21219,564,36,21245],\n[M,563,10,21151,563,66,21207],\n[M,561,8,21068,561,60,21120],\n[M,570,4,21438,603,7,22761],\n[M,571,9,21524,571,17,21532],\n[M,571,9,21524,571,30,21545],\n[M,572,8,21555,578,30,21819],\n[M,572,9,21556,572,17,21564],\n[M,573,10,21576,576,81,21753],\n[M,573,11,21577,573,18,21584],\n[M,575,19,21661,575,27,21669],\n[M,577,19,21774,577,31,21786],\n[M,578,10,21799,578,29,21818],\n[M,577,10,21765,577,32,21787],\n[M,576,12,21684,576,80,21752],\n[M,575,12,21654,575,28,21670],\n[M,574,12,21598,574,54,21640],\n[M,579,28,21848,579,36,21856],\n[M,580,34,21893,580,42,21901],\n[M,582,12,21941,586,37,22188],\n[M,582,13,21942,582,21,21950],\n[M,583,50,22002,583,58,22010],\n[M,584,24,22047,584,32,22055],\n[M,585,14,22072,585,91,22149],\n[M,585,15,22073,585,22,22080],\n[M,586,23,22174,586,35,22186],\n[M,586,14,22165,586,36,22187],\n[M,585,24,22082,585,90,22148],\n[M,584,14,22037,584,33,22056],\n[M,583,14,21966,583,69,22021],\n[M,581,10,21914,586,37,22188],\n[M,580,8,21867,594,11,22490],\n[M,588,12,22226,593,37,22478],\n[M,588,13,22227,588,21,22235],\n[M,589,14,22251,592,84,22439],\n[M,589,15,22252,589,22,22259],\n[M,591,23,22344,591,31,22352],\n[M,593,23,22464,593,35,22476],\n[M,593,14,22455,593,36,22477],\n[M,592,16,22371,592,83,22438],\n[M,591,16,22337,591,32,22353],\n[M,590,16,22277,590,58,22319],\n[M,587,10,22199,593,37,22478],\n[M,580,14,21873,580,22,21881],\n[M,580,24,21883,580,43,21902],\n[M,596,8,22511,601,33,22743],\n[M,596,9,22512,596,17,22520],\n[M,597,10,22532,600,80,22708],\n[M,597,11,22533,597,18,22540],\n[M,599,19,22617,599,27,22625],\n[M,601,19,22729,601,31,22741],\n[M,601,10,22720,601,32,22742],\n[M,600,12,22640,600,79,22707],\n[M,599,12,22610,599,28,22626],\n[M,598,12,22554,598,54,22596],\n[M,579,14,21834,579,37,21857],\n[M,604,4,22767,621,7,23385],\n[M,605,9,22804,605,17,22812],\n[M,605,9,22804,605,30,22825],\n[M,606,8,22835,612,30,23106],\n[M,606,9,22836,606,17,22844],\n[M,607,10,22856,610,88,23040],\n[M,607,11,22857,607,18,22864],\n[M,609,19,22941,609,27,22949],\n[M,611,19,23061,611,31,23073],\n[M,612,10,23086,612,29,23105],\n[M,611,10,23052,611,32,23074],\n[M,610,12,22964,610,87,23039],\n[M,609,12,22934,609,28,22950],\n[M,608,12,22878,608,54,22920],\n[M,614,8,23127,619,33,23367],\n[M,614,9,23128,614,17,23136],\n[M,615,10,23148,618,88,23332],\n[M,615,11,23149,615,18,23156],\n[M,617,19,23233,617,27,23241],\n[M,619,19,23353,619,31,23365],\n[M,619,10,23344,619,32,23366],\n[M,618,12,23256,618,87,23331],\n[M,617,12,23226,617,28,23242],\n[M,616,12,23170,616,54,23212],\n[M,623,4,23448,674,7,25576],\n[M,624,9,23534,624,17,23542],\n[M,624,9,23534,624,30,23555],\n[M,625,8,23565,635,30,23997],\n[M,625,9,23566,625,17,23574],\n[M,626,10,23586,633,25,23935],\n[M,626,11,23587,626,18,23594],\n[M,628,19,23660,628,27,23668],\n[M,630,29,23742,630,47,23760],\n[M,632,29,23899,632,37,23907],\n[M,634,19,23956,634,27,23964],\n[M,635,10,23977,635,29,23996],\n[M,634,10,23947,634,28,23965],\n[M,633,12,23922,633,24,23934],\n[M,632,12,23882,632,38,23908],\n[M,631,12,23775,631,105,23868],\n[M,630,12,23725,630,48,23761],\n[M,629,12,23683,629,40,23711],\n[M,628,12,23653,628,28,23669],\n[M,627,12,23608,627,43,23639],\n[M,636,28,24026,636,36,24034],\n[M,637,34,24071,637,42,24079],\n[M,639,12,24119,649,33,24633],\n[M,639,13,24120,639,21,24128],\n[M,640,40,24170,640,48,24178],\n[M,641,24,24215,641,32,24223],\n[M,642,14,24240,648,29,24598],\n[M,642,15,24241,642,22,24248],\n[M,644,41,24335,644,59,24353],\n[M,644,62,24356,644,72,24366],\n[M,644,77,24371,644,80,24374],\n[M,644,62,24356,644,81,24375],\n[M,647,33,24555,647,44,24566],\n[M,649,23,24623,649,31,24631],\n[M,649,14,24614,649,32,24632],\n[M,648,16,24585,648,28,24597],\n[M,647,16,24538,647,45,24567],\n[M,646,16,24489,646,47,24520],\n[M,645,16,24397,645,90,24471],\n[M,644,16,24310,644,85,24379],\n[M,644,29,24323,644,60,24354],\n[M,643,16,24266,643,42,24292],\n[M,641,14,24205,641,33,24224],\n[M,640,14,24144,640,59,24189],\n[M,638,10,24092,649,33,24633],\n[M,637,8,24045,661,11,25133],\n[M,651,12,24671,660,33,25121],\n[M,651,13,24672,651,21,24680],\n[M,652,40,24722,652,48,24730],\n[M,653,24,24766,653,32,24774],\n[M,654,14,24791,659,29,25086],\n[M,654,15,24792,654,22,24799],\n[M,656,33,24878,656,51,24896],\n[M,658,33,25043,658,44,25054],\n[M,660,23,25111,660,31,25119],\n[M,660,14,25102,660,32,25120],\n[M,659,16,25073,659,28,25085],\n[M,658,16,25026,658,45,25055],\n[M,657,16,24915,657,109,25008],\n[M,656,16,24861,656,52,24897],\n[M,655,16,24817,655,42,24843],\n[M,653,14,24756,653,33,24775],\n[M,652,14,24696,652,58,24740],\n[M,650,10,24644,660,33,25121],\n[M,637,14,24051,637,22,24059],\n[M,637,24,24061,637,43,24080],\n[M,663,8,25154,672,29,25558],\n[M,663,9,25155,663,17,25163],\n[M,664,10,25175,671,25,25527],\n[M,664,11,25176,664,18,25183],\n[M,666,19,25249,666,27,25257],\n[M,668,29,25331,668,47,25349],\n[M,670,29,25488,670,40,25499],\n[M,672,19,25548,672,27,25556],\n[M,672,10,25539,672,28,25557],\n[M,671,12,25514,671,24,25526],\n[M,670,12,25471,670,41,25500],\n[M,669,12,25364,669,105,25457],\n[M,668,12,25314,668,48,25350],\n[M,667,12,25272,667,40,25300],\n[M,666,12,25242,666,28,25258],\n[M,665,12,25197,665,43,25228],\n[M,636,14,24012,636,37,24035],\n[M,675,4,25582,700,7,26540],\n[M,676,9,25619,676,17,25627],\n[M,676,9,25619,676,30,25640],\n[M,677,8,25650,687,30,26085],\n[M,677,9,25651,677,17,25659],\n[M,678,10,25671,685,25,26023],\n[M,678,11,25672,678,18,25679],\n[M,680,19,25745,680,27,25753],\n[M,682,29,25827,682,47,25845],\n[M,684,29,25984,684,40,25995],\n[M,686,19,26044,686,27,26052],\n[M,687,10,26065,687,29,26084],\n[M,686,10,26035,686,28,26053],\n[M,685,12,26010,685,24,26022],\n[M,684,12,25967,684,41,25996],\n[M,683,12,25860,683,105,25953],\n[M,682,12,25810,682,48,25846],\n[M,681,12,25768,681,40,25796],\n[M,680,12,25738,680,28,25754],\n[M,679,12,25693,679,43,25724],\n[M,689,8,26106,698,29,26521],\n[M,689,9,26107,689,17,26115],\n[M,690,10,26127,697,25,26490],\n[M,690,11,26128,690,18,26135],\n[M,692,19,26201,692,27,26209],\n[M,694,29,26283,694,47,26301],\n[M,696,29,26451,696,40,26462],\n[M,698,19,26511,698,27,26519],\n[M,698,10,26502,698,28,26520],\n[M,697,12,26477,697,24,26489],\n[M,696,12,26434,696,41,26463],\n[M,695,12,26316,695,116,26420],\n[M,694,12,26266,694,48,26302],\n[M,693,12,26224,693,40,26252],\n[M,692,12,26194,692,28,26210],\n[M,691,12,26149,691,43,26180],\n[M,702,4,26604,737,7,27957],\n[M,703,9,26690,703,17,26698],\n[M,703,9,26690,703,30,26711],\n[M,704,8,26721,707,33,26884],\n[M,704,9,26722,704,17,26730],\n[M,705,42,26774,705,50,26782],\n[M,706,10,26795,706,64,26849],\n[M,706,11,26796,706,18,26803],\n[M,707,19,26870,707,31,26882],\n[M,707,10,26861,707,32,26883],\n[M,706,20,26805,706,63,26848],\n[M,705,10,26742,705,51,26783],\n[M,708,28,26913,708,36,26921],\n[M,709,34,26958,709,42,26966],\n[M,715,12,27133,722,37,27470],\n[M,715,13,27134,715,21,27142],\n[M,716,50,27194,716,58,27202],\n[M,717,24,27239,717,32,27247],\n[M,718,14,27264,721,47,27431],\n[M,718,15,27265,718,22,27272],\n[M,720,51,27358,720,71,27378],\n[M,720,52,27359,720,59,27366],\n[M,720,61,27368,720,68,27375],\n[M,720,61,27368,720,70,27377],\n[M,722,23,27456,722,35,27468],\n[M,722,14,27447,722,36,27469],\n[M,721,16,27400,721,46,27430],\n[M,720,16,27323,720,75,27382],\n[M,720,29,27336,720,49,27356],\n[M,719,16,27290,719,31,27305],\n[M,717,14,27229,717,33,27248],\n[M,716,14,27158,716,69,27213],\n[M,712,14,27049,712,35,27070],\n[M,711,25,27019,714,15,27120],\n[M,713,14,27085,713,33,27104],\n[M,710,10,26979,722,37,27470],\n[M,709,8,26932,730,11,27755],\n[M,724,12,27503,729,37,27743],\n[M,724,13,27504,724,21,27512],\n[M,725,50,27564,725,58,27572],\n[M,726,24,27609,726,32,27617],\n[M,727,14,27634,728,60,27704],\n[M,727,15,27635,727,22,27642],\n[M,729,23,27729,729,35,27741],\n[M,729,14,27720,729,36,27742],\n[M,728,16,27660,728,59,27703],\n[M,726,14,27599,726,33,27618],\n[M,725,14,27528,725,69,27583],\n[M,723,10,27481,729,37,27743],\n[M,709,14,26938,709,22,26946],\n[M,709,24,26948,709,43,26967],\n[M,732,8,27776,735,33,27939],\n[M,732,9,27777,732,17,27785],\n[M,733,42,27829,733,50,27837],\n[M,734,10,27850,734,64,27904],\n[M,734,11,27851,734,18,27858],\n[M,735,19,27925,735,31,27937],\n[M,735,10,27916,735,32,27938],\n[M,734,20,27860,734,63,27903],\n[M,733,10,27797,733,51,27838],\n[M,708,14,26899,708,37,26922],\n[M,738,4,27963,743,7,28163],\n[M,739,6,27997,742,31,28155],\n[M,739,7,27998,739,15,28006],\n[M,740,41,28049,740,49,28057],\n[M,741,8,28068,741,62,28122],\n[M,741,9,28069,741,16,28076],\n[M,742,17,28141,742,29,28153],\n[M,742,8,28132,742,30,28154],\n[M,741,18,28078,741,61,28121],\n[M,740,8,28016,740,50,28058],\n[M,745,4,28210,780,7,29605],\n[M,746,9,28296,746,17,28304],\n[M,746,9,28296,746,30,28317],\n[M,747,8,28327,750,33,28505],\n[M,747,9,28328,747,17,28336],\n[M,748,57,28395,748,65,28403],\n[M,749,10,28416,749,64,28470],\n[M,749,11,28417,749,18,28424],\n[M,750,19,28491,750,31,28503],\n[M,750,10,28482,750,32,28504],\n[M,749,20,28426,749,63,28469],\n[M,748,10,28348,748,66,28404],\n[M,751,28,28534,751,36,28542],\n[M,752,34,28579,752,42,28587],\n[M,758,12,28757,765,37,29099],\n[M,758,13,28758,758,21,28766],\n[M,759,54,28822,759,62,28830],\n[M,760,24,28867,760,32,28875],\n[M,761,14,28892,764,47,29060],\n[M,761,15,28893,761,22,28900],\n[M,763,51,28986,763,72,29007],\n[M,763,52,28987,763,59,28994],\n[M,763,61,28996,763,69,29004],\n[M,763,61,28996,763,71,29006],\n[M,765,23,29085,765,35,29097],\n[M,765,14,29076,765,36,29098],\n[M,764,16,29029,764,46,29059],\n[M,763,16,28951,763,76,29011],\n[M,763,29,28964,763,49,28984],\n[M,762,16,28918,762,31,28933],\n[M,760,14,28857,760,33,28876],\n[M,759,14,28782,759,73,28841],\n[M,755,14,28670,755,38,28694],\n[M,754,25,28640,757,15,28744],\n[M,756,14,28709,756,33,28728],\n[M,753,10,28600,765,37,29099],\n[M,752,8,28553,773,11,29388],\n[M,767,12,29132,772,37,29376],\n[M,767,13,29133,767,21,29141],\n[M,768,54,29197,768,62,29205],\n[M,769,24,29242,769,32,29250],\n[M,770,14,29267,771,60,29337],\n[M,770,15,29268,770,22,29275],\n[M,772,23,29362,772,35,29374],\n[M,772,14,29353,772,36,29375],\n[M,771,16,29293,771,59,29336],\n[M,769,14,29232,769,33,29251],\n[M,768,14,29157,768,73,29216],\n[M,766,10,29110,772,37,29376],\n[M,752,14,28559,752,22,28567],\n[M,752,24,28569,752,43,28588],\n[M,775,8,29409,778,33,29587],\n[M,775,9,29410,775,17,29418],\n[M,776,57,29477,776,65,29485],\n[M,777,10,29498,777,64,29552],\n[M,777,11,29499,777,18,29506],\n[M,778,19,29573,778,31,29585],\n[M,778,10,29564,778,32,29586],\n[M,777,20,29508,777,63,29551],\n[M,776,10,29430,776,66,29486],\n[M,751,14,28520,751,37,28543],\n[M,781,4,29611,786,7,29825],\n[M,782,6,29645,785,31,29817],\n[M,782,7,29646,782,15,29654],\n[M,783,55,29711,783,63,29719],\n[M,784,8,29730,784,62,29784],\n[M,784,9,29731,784,16,29738],\n[M,785,17,29803,785,29,29815],\n[M,785,8,29794,785,30,29816],\n[M,784,18,29740,784,61,29783],\n[M,783,8,29664,783,64,29720],\n[M,788,4,29879,790,7,29999],\n[M,789,6,29962,789,26,29982],\n[M,791,4,30005,798,7,30361],\n[M,792,6,30039,797,29,30353],\n[M,792,7,30040,792,15,30048],\n[M,793,8,30058,796,61,30322],\n[M,793,9,30059,793,16,30066],\n[M,795,52,30222,795,60,30230],\n[M,796,29,30290,796,37,30298],\n[M,797,17,30341,797,27,30351],\n[M,797,8,30332,797,28,30352],\n[M,796,40,30301,796,60,30321],\n[M,795,63,30233,795,89,30259],\n[M,795,44,30214,795,61,30231],\n[M,795,10,30180,795,42,30212],\n[M,794,75,30143,794,100,30168],\n[M,794,83,30151,794,99,30167],\n[M,794,58,30126,794,73,30141],\n[M,794,32,30100,794,56,30124],\n[M,794,40,30108,794,55,30123],\n[M,794,10,30078,794,30,30098],\n[M,800,4,30418,802,7,30538],\n[M,801,6,30501,801,26,30521],\n[M,803,4,30544,811,7,30943],\n[M,804,6,30578,810,29,30935],\n[M,804,7,30579,804,15,30587],\n[M,805,8,30597,809,61,30904],\n[M,805,9,30598,805,16,30605],\n[M,807,38,30744,807,51,30757],\n[M,808,18,30806,808,26,30814],\n[M,809,29,30872,809,37,30880],\n[M,810,17,30923,810,27,30933],\n[M,810,8,30914,810,28,30934],\n[M,809,40,30883,809,60,30903],\n[M,808,29,30817,808,53,30841],\n[M,808,10,30798,808,27,30815],\n[M,807,54,30760,807,80,30786],\n[M,807,30,30736,807,52,30758],\n[M,807,10,30716,807,28,30734],\n[M,806,72,30679,806,97,30704],\n[M,806,80,30687,806,96,30703],\n[M,806,57,30664,806,70,30677],\n[M,806,31,30638,806,55,30662],\n[M,806,39,30646,806,54,30661],\n[M,806,10,30617,806,29,30636],\n[M,813,4,31000,859,7,32810],\n[M,814,6,31083,858,12,32802],\n[M,814,7,31084,814,15,31092],\n[M,817,15,31185,817,31,31201],\n[M,818,14,31217,826,35,31574],\n[M,818,15,31218,818,26,31229],\n[M,820,16,31299,825,37,31537],\n[M,820,17,31300,820,24,31307],\n[M,822,27,31396,822,35,31404],\n[M,824,27,31489,824,35,31497],\n[M,826,25,31564,826,33,31572],\n[M,826,16,31555,826,34,31573],\n[M,825,18,31518,825,36,31536],\n[M,824,18,31480,824,36,31498],\n[M,823,18,31425,823,53,31460],\n[M,822,18,31387,822,36,31405],\n[M,821,18,31327,821,58,31367],\n[M,819,16,31247,819,50,31281],\n[M,828,14,31629,837,35,32020],\n[M,828,15,31630,828,26,31641],\n[M,831,16,31745,836,37,31983],\n[M,831,17,31746,831,24,31753],\n[M,833,27,31842,833,35,31850],\n[M,835,27,31935,835,35,31943],\n[M,837,25,32010,837,33,32018],\n[M,837,16,32001,837,34,32019],\n[M,836,18,31964,836,36,31982],\n[M,835,18,31926,835,36,31944],\n[M,834,18,31871,834,53,31906],\n[M,833,18,31833,833,36,31851],\n[M,832,18,31773,832,58,31813],\n[M,830,16,31713,830,30,31727],\n[M,829,16,31659,829,52,31695],\n[M,839,14,32053,847,35,32410],\n[M,839,15,32054,839,26,32065],\n[M,841,16,32135,846,37,32373],\n[M,841,17,32136,841,24,32143],\n[M,843,27,32232,843,35,32240],\n[M,845,27,32325,845,35,32333],\n[M,847,25,32400,847,33,32408],\n[M,847,16,32391,847,34,32409],\n[M,846,18,32354,846,36,32372],\n[M,845,18,32316,845,36,32334],\n[M,844,18,32261,844,53,32296],\n[M,843,18,32223,843,36,32241],\n[M,842,18,32163,842,58,32203],\n[M,840,16,32083,840,50,32117],\n[M,827,20,31595,827,38,31613],\n[M,816,10,31155,848,15,32426],\n[M,815,8,31102,858,11,32801],\n[M,850,12,32459,857,33,32789],\n[M,850,13,32460,850,24,32471],\n[M,851,14,32487,856,35,32754],\n[M,851,15,32488,851,22,32495],\n[M,853,25,32617,853,33,32625],\n[M,855,25,32708,855,33,32716],\n[M,857,23,32779,857,31,32787],\n[M,857,14,32770,857,32,32788],\n[M,856,16,32735,856,34,32753],\n[M,855,16,32699,855,34,32717],\n[M,854,16,32644,854,53,32681],\n[M,853,16,32608,853,34,32626],\n[M,852,16,32513,852,93,32590],\n[M,849,10,32437,857,33,32789],\n[M,815,14,31108,815,22,31116],\n[M,815,24,31118,815,49,31143],\n[M,860,4,32817,881,7,33591],\n[M,861,6,32851,880,27,33583],\n[M,861,7,32852,861,15,32860],\n[M,863,10,32908,872,13,33257],\n[M,864,12,32930,871,36,33243],\n[M,864,13,32931,864,24,32942],\n[M,866,14,33008,871,35,33242],\n[M,866,15,33009,866,22,33016],\n[M,868,25,33105,868,33,33113],\n[M,870,25,33196,870,33,33204],\n[M,871,16,33223,871,34,33241],\n[M,870,16,33187,870,34,33205],\n[M,869,16,33132,869,53,33169],\n[M,868,16,33096,868,34,33114],\n[M,867,16,33034,867,60,33078],\n[M,865,14,32958,865,48,32992],\n[M,873,10,33269,879,34,33553],\n[M,873,11,33270,873,22,33281],\n[M,874,12,33295,879,33,33552],\n[M,874,13,33296,874,20,33303],\n[M,876,23,33421,876,31,33429],\n[M,878,23,33508,878,31,33516],\n[M,880,17,33573,880,25,33581],\n[M,880,8,33564,880,26,33582],\n[M,862,8,32870,879,35,33554],\n[M,879,14,33533,879,32,33551],\n[M,878,14,33499,878,32,33517],\n[M,877,14,33446,877,51,33483],\n[M,876,14,33412,876,32,33430],\n[M,875,14,33319,875,91,33396],\n[M,883,4,33669,969,7,37472],\n[M,884,6,33752,968,12,37464],\n[M,884,7,33753,884,15,33761],\n[M,887,15,33854,887,31,33870],\n[M,888,14,33886,900,45,34451],\n[M,888,15,33887,888,26,33898],\n[M,889,32,33932,889,43,33943],\n[M,889,53,33953,889,64,33964],\n[M,890,16,34005,891,48,34063],\n[M,890,17,34006,890,24,34013],\n[M,892,25,34090,892,34,34099],\n[M,893,16,34118,894,49,34177],\n[M,893,17,34119,893,24,34126],\n[M,895,25,34204,895,34,34213],\n[M,896,16,34232,900,44,34450],\n[M,896,17,34233,896,24,34240],\n[M,897,35,34277,897,46,34288],\n[M,898,18,34344,900,43,34449],\n[M,898,19,34345,898,30,34356],\n[M,900,20,34426,900,42,34448],\n[M,899,20,34378,899,46,34404],\n[M,897,18,34260,897,82,34324],\n[M,897,26,34268,897,81,34323],\n[M,897,26,34268,897,46,34288],\n[M,895,16,34195,895,35,34214],\n[M,894,18,34146,894,48,34176],\n[M,892,16,34081,892,35,34100],\n[M,891,18,34033,891,47,34062],\n[M,889,16,33916,889,87,33987],\n[M,889,32,33932,889,81,33981],\n[M,889,32,33932,889,64,33964],\n[M,889,32,33932,889,50,33950],\n[M,904,30,34599,904,38,34607],\n[M,904,30,34599,904,40,34609],\n[M,905,30,34640,905,39,34649],\n[M,905,30,34640,905,41,34651],\n[M,906,18,34670,923,49,35537],\n[M,906,19,34671,906,30,34682],\n[M,907,29,34713,907,40,34724],\n[M,907,50,34734,907,61,34745],\n[M,909,20,34836,912,39,35005],\n[M,909,21,34837,909,28,34844],\n[M,911,57,34942,911,76,34961],\n[M,911,58,34943,911,65,34950],\n[M,913,29,35036,913,38,35045],\n[M,914,20,35068,917,39,35239],\n[M,914,21,35069,914,28,35076],\n[M,916,58,35175,916,78,35195],\n[M,916,59,35176,916,66,35183],\n[M,918,29,35270,918,38,35279],\n[M,919,20,35302,923,48,35536],\n[M,919,21,35303,919,28,35310],\n[M,920,39,35351,920,50,35362],\n[M,921,22,35422,923,47,35535],\n[M,921,23,35423,921,34,35434],\n[M,923,24,35512,923,46,35534],\n[M,922,24,35460,922,50,35486],\n[M,920,22,35334,920,86,35398],\n[M,920,30,35342,920,85,35397],\n[M,920,30,35342,920,50,35362],\n[M,918,20,35261,918,39,35280],\n[M,917,22,35222,917,38,35238],\n[M,916,22,35139,916,81,35198],\n[M,916,35,35152,916,56,35173],\n[M,915,22,35100,915,37,35115],\n[M,913,20,35027,913,39,35046],\n[M,912,22,34988,912,38,35004],\n[M,911,22,34907,911,79,34964],\n[M,911,35,34920,911,55,34940],\n[M,910,22,34868,910,37,34883],\n[M,908,20,34800,908,34,34814],\n[M,907,20,34704,907,94,34778],\n[M,907,29,34713,907,78,34762],\n[M,907,29,34713,907,61,34745],\n[M,907,29,34713,907,47,34731],\n[M,903,16,34554,923,49,35537],\n[M,902,14,34506,937,17,36212],\n[M,925,18,35587,936,49,36194],\n[M,925,19,35588,925,30,35599],\n[M,926,29,35630,926,40,35641],\n[M,926,50,35651,926,61,35662],\n[M,928,20,35752,928,60,35792],\n[M,928,21,35753,928,28,35760],\n[M,929,29,35823,929,38,35832],\n[M,930,20,35855,930,61,35896],\n[M,930,21,35856,930,28,35863],\n[M,931,29,35927,931,38,35936],\n[M,932,20,35959,936,48,36193],\n[M,932,21,35960,932,28,35967],\n[M,933,39,36008,933,50,36019],\n[M,934,22,36079,936,47,36192],\n[M,934,23,36080,934,34,36091],\n[M,936,24,36169,936,46,36191],\n[M,935,24,36117,935,50,36143],\n[M,933,22,35991,933,86,36055],\n[M,933,30,35999,933,85,36054],\n[M,933,30,35999,933,50,36019],\n[M,931,20,35918,931,39,35937],\n[M,930,30,35865,930,60,35895],\n[M,929,20,35814,929,39,35833],\n[M,928,30,35762,928,59,35791],\n[M,927,20,35716,927,34,35730],\n[M,926,20,35621,926,93,35694],\n[M,926,29,35630,926,78,35679],\n[M,926,29,35630,926,61,35662],\n[M,926,29,35630,926,47,35648],\n[M,924,16,35554,936,49,36194],\n[M,902,20,34512,902,28,34520],\n[M,902,30,34522,902,44,34536],\n[M,939,14,36245,949,45,36774],\n[M,939,15,36246,939,26,36257],\n[M,940,32,36291,940,43,36302],\n[M,940,53,36312,940,64,36323],\n[M,941,16,36364,941,56,36404],\n[M,941,17,36365,941,24,36372],\n[M,942,25,36431,942,34,36440],\n[M,943,16,36459,943,57,36500],\n[M,943,17,36460,943,24,36467],\n[M,944,25,36527,944,34,36536],\n[M,945,16,36555,949,44,36773],\n[M,945,17,36556,945,24,36563],\n[M,946,35,36600,946,46,36611],\n[M,947,18,36667,949,43,36772],\n[M,947,19,36668,947,30,36679],\n[M,949,20,36749,949,42,36771],\n[M,948,20,36701,948,46,36727],\n[M,946,18,36583,946,82,36647],\n[M,946,26,36591,946,81,36646],\n[M,946,26,36591,946,46,36611],\n[M,944,16,36518,944,35,36537],\n[M,943,26,36469,943,56,36499],\n[M,942,16,36422,942,35,36441],\n[M,941,26,36374,941,55,36403],\n[M,940,16,36275,940,87,36346],\n[M,940,32,36291,940,81,36340],\n[M,940,32,36291,940,64,36323],\n[M,940,32,36291,940,50,36309],\n[M,901,20,34472,901,38,34490],\n[M,886,10,33824,950,15,36790],\n[M,885,8,33771,968,11,37463],\n[M,952,12,36823,967,43,37451],\n[M,952,13,36824,952,24,36835],\n[M,953,14,36851,956,49,37009],\n[M,953,15,36852,953,22,36859],\n[M,954,31,36892,954,42,36903],\n[M,955,32,36945,955,43,36956],\n[M,957,14,37025,958,46,37081],\n[M,957,15,37026,957,22,37033],\n[M,959,23,37106,959,32,37115],\n[M,960,14,37132,961,47,37189],\n[M,960,15,37133,960,22,37140],\n[M,962,23,37214,962,32,37223],\n[M,963,14,37240,967,42,37450],\n[M,963,15,37241,963,22,37248],\n[M,964,33,37283,964,44,37294],\n[M,965,16,37348,967,41,37449],\n[M,965,17,37349,965,28,37360],\n[M,967,18,37426,967,40,37448],\n[M,966,18,37380,966,44,37406],\n[M,964,16,37266,964,80,37330],\n[M,964,24,37274,964,79,37329],\n[M,964,24,37274,964,44,37294],\n[M,962,14,37205,962,33,37224],\n[M,961,16,37158,961,46,37188],\n[M,959,14,37097,959,33,37116],\n[M,958,16,37051,958,45,37080],\n[M,956,16,36976,956,48,37008],\n[M,955,16,36929,955,45,36958],\n[M,955,24,36937,955,44,36957],\n[M,954,16,36877,954,50,36911],\n[M,954,24,36885,954,49,36910],\n[M,954,24,36885,954,42,36903],\n[M,951,10,36801,967,43,37451],\n[M,885,14,33777,885,22,33785],\n[M,885,24,33787,885,49,33812],\n[M,970,4,37478,1003,7,38737],\n[M,971,6,37512,1002,43,38729],\n[M,971,7,37513,971,15,37521],\n[M,972,10,37562,986,13,38139],\n[M,973,12,37584,985,43,38125],\n[M,973,13,37585,973,24,37596],\n[M,974,30,37628,974,41,37639],\n[M,974,51,37649,974,62,37660],\n[M,975,14,37699,976,46,37755],\n[M,975,15,37700,975,22,37707],\n[M,977,23,37780,977,32,37789],\n[M,978,14,37806,979,47,37863],\n[M,978,15,37807,978,22,37814],\n[M,980,23,37888,980,32,37897],\n[M,981,14,37914,985,42,38124],\n[M,981,15,37915,981,22,37922],\n[M,982,33,37957,982,44,37968],\n[M,983,16,38022,985,41,38123],\n[M,983,17,38023,983,28,38034],\n[M,985,18,38100,985,40,38122],\n[M,984,18,38054,984,44,38080],\n[M,982,16,37940,982,80,38004],\n[M,982,24,37948,982,79,38003],\n[M,982,24,37948,982,44,37968],\n[M,980,14,37879,980,33,37898],\n[M,979,16,37832,979,46,37862],\n[M,977,14,37771,977,33,37790],\n[M,976,16,37725,976,45,37754],\n[M,974,14,37612,974,85,37683],\n[M,974,30,37628,974,79,37677],\n[M,974,30,37628,974,62,37660],\n[M,974,30,37628,974,48,37646],\n[M,987,10,38151,1002,41,38727],\n[M,987,11,38152,987,22,38163],\n[M,988,12,38177,991,46,38307],\n[M,988,13,38178,988,20,38185],\n[M,990,30,38246,990,41,38257],\n[M,992,12,38321,993,44,38375],\n[M,992,13,38322,992,20,38329],\n[M,994,21,38398,994,30,38407],\n[M,995,12,38422,996,45,38477],\n[M,995,13,38423,995,20,38430],\n[M,997,21,38500,997,30,38509],\n[M,998,12,38524,1002,40,38726],\n[M,998,13,38525,998,20,38532],\n[M,999,31,38565,999,42,38576],\n[M,1000,14,38628,1002,39,38725],\n[M,1000,15,38629,1000,26,38640],\n[M,971,17,37523,1002,42,38728],\n[M,1002,16,38702,1002,38,38724],\n[M,1001,16,38658,1001,42,38684],\n[M,999,14,38548,999,78,38612],\n[M,999,22,38556,999,77,38611],\n[M,999,22,38556,999,42,38576],\n[M,997,12,38491,997,31,38510],\n[M,996,14,38446,996,44,38476],\n[M,994,12,38389,994,31,38408],\n[M,993,14,38345,993,43,38374],\n[M,991,14,38275,991,45,38306],\n[M,990,14,38230,990,43,38259],\n[M,990,22,38238,990,42,38258],\n[M,989,14,38201,989,27,38214],\n[M,1005,4,38812,1076,7,42032],\n[M,1006,6,38895,1075,12,42024],\n[M,1006,7,38896,1006,15,38904],\n[M,1009,15,38997,1009,31,39013],\n[M,1010,14,39029,1019,96,39481],\n[M,1010,15,39030,1010,26,39041],\n[M,1011,32,39075,1011,43,39086],\n[M,1011,53,39096,1011,64,39107],\n[M,1012,16,39148,1013,48,39206],\n[M,1012,17,39149,1012,24,39156],\n[M,1014,25,39233,1014,34,39242],\n[M,1015,16,39261,1016,49,39320],\n[M,1015,17,39262,1015,24,39269],\n[M,1017,25,39347,1017,34,39356],\n[M,1018,16,39375,1019,95,39480],\n[M,1018,17,39376,1018,24,39383],\n[M,1019,35,39420,1019,46,39431],\n[M,1019,18,39403,1019,94,39479],\n[M,1019,26,39411,1019,93,39478],\n[M,1019,26,39411,1019,46,39431],\n[M,1017,16,39338,1017,35,39357],\n[M,1016,18,39289,1016,48,39319],\n[M,1014,16,39224,1014,35,39243],\n[M,1013,18,39176,1013,47,39205],\n[M,1011,16,39059,1011,87,39130],\n[M,1011,32,39075,1011,81,39124],\n[M,1011,32,39075,1011,64,39107],\n[M,1011,32,39075,1011,50,39093],\n[M,1023,30,39629,1023,38,39637],\n[M,1023,30,39629,1023,40,39639],\n[M,1024,30,39670,1024,39,39679],\n[M,1024,30,39670,1024,41,39681],\n[M,1025,18,39700,1039,100,40442],\n[M,1025,19,39701,1025,30,39712],\n[M,1026,29,39743,1026,40,39754],\n[M,1026,50,39764,1026,61,39775],\n[M,1028,20,39866,1031,39,40035],\n[M,1028,21,39867,1028,28,39874],\n[M,1030,57,39972,1030,76,39991],\n[M,1030,58,39973,1030,65,39980],\n[M,1032,29,40066,1032,38,40075],\n[M,1033,20,40098,1036,39,40269],\n[M,1033,21,40099,1033,28,40106],\n[M,1035,58,40205,1035,78,40225],\n[M,1035,59,40206,1035,66,40213],\n[M,1037,29,40300,1037,38,40309],\n[M,1038,20,40332,1039,99,40441],\n[M,1038,21,40333,1038,28,40340],\n[M,1039,39,40381,1039,50,40392],\n[M,1039,22,40364,1039,98,40440],\n[M,1039,30,40372,1039,97,40439],\n[M,1039,30,40372,1039,50,40392],\n[M,1037,20,40291,1037,39,40310],\n[M,1036,22,40252,1036,38,40268],\n[M,1035,22,40169,1035,81,40228],\n[M,1035,35,40182,1035,56,40203],\n[M,1034,22,40130,1034,37,40145],\n[M,1032,20,40057,1032,39,40076],\n[M,1031,22,40018,1031,38,40034],\n[M,1030,22,39937,1030,79,39994],\n[M,1030,35,39950,1030,55,39970],\n[M,1029,22,39898,1029,37,39913],\n[M,1027,20,39830,1027,34,39844],\n[M,1026,20,39734,1026,94,39808],\n[M,1026,29,39743,1026,78,39792],\n[M,1026,29,39743,1026,61,39775],\n[M,1026,29,39743,1026,47,39761],\n[M,1022,16,39584,1039,100,40442],\n[M,1021,14,39536,1050,17,40992],\n[M,1041,18,40492,1049,100,40974],\n[M,1041,19,40493,1041,30,40504],\n[M,1042,29,40535,1042,40,40546],\n[M,1042,50,40556,1042,61,40567],\n[M,1044,20,40657,1044,60,40697],\n[M,1044,21,40658,1044,28,40665],\n[M,1045,29,40728,1045,38,40737],\n[M,1046,20,40760,1046,61,40801],\n[M,1046,21,40761,1046,28,40768],\n[M,1047,29,40832,1047,38,40841],\n[M,1048,20,40864,1049,99,40973],\n[M,1048,21,40865,1048,28,40872],\n[M,1049,39,40913,1049,50,40924],\n[M,1049,22,40896,1049,98,40972],\n[M,1049,30,40904,1049,97,40971],\n[M,1049,30,40904,1049,50,40924],\n[M,1047,20,40823,1047,39,40842],\n[M,1046,30,40770,1046,60,40800],\n[M,1045,20,40719,1045,39,40738],\n[M,1044,30,40667,1044,59,40696],\n[M,1043,20,40621,1043,34,40635],\n[M,1042,20,40526,1042,93,40599],\n[M,1042,29,40535,1042,78,40584],\n[M,1042,29,40535,1042,61,40567],\n[M,1042,29,40535,1042,47,40553],\n[M,1040,16,40459,1049,100,40974],\n[M,1021,20,39542,1021,28,39550],\n[M,1021,30,39552,1021,44,39566],\n[M,1052,14,41025,1059,96,41441],\n[M,1052,15,41026,1052,26,41037],\n[M,1053,32,41071,1053,43,41082],\n[M,1053,53,41092,1053,64,41103],\n[M,1054,16,41144,1054,56,41184],\n[M,1054,17,41145,1054,24,41152],\n[M,1055,25,41211,1055,34,41220],\n[M,1056,16,41239,1056,57,41280],\n[M,1056,17,41240,1056,24,41247],\n[M,1057,25,41307,1057,34,41316],\n[M,1058,16,41335,1059,95,41440],\n[M,1058,17,41336,1058,24,41343],\n[M,1059,35,41380,1059,46,41391],\n[M,1059,18,41363,1059,94,41439],\n[M,1059,26,41371,1059,93,41438],\n[M,1059,26,41371,1059,46,41391],\n[M,1057,16,41298,1057,35,41317],\n[M,1056,26,41249,1056,56,41279],\n[M,1055,16,41202,1055,35,41221],\n[M,1054,26,41154,1054,55,41183],\n[M,1053,16,41055,1053,87,41126],\n[M,1053,32,41071,1053,81,41120],\n[M,1053,32,41071,1053,64,41103],\n[M,1053,32,41071,1053,50,41089],\n[M,1020,20,39502,1020,38,39520],\n[M,1008,10,38967,1060,15,41457],\n[M,1007,8,38914,1075,11,42023],\n[M,1062,12,41490,1074,94,42011],\n[M,1062,13,41491,1062,24,41502],\n[M,1063,14,41518,1066,49,41676],\n[M,1063,15,41519,1063,22,41526],\n[M,1064,31,41559,1064,42,41570],\n[M,1065,32,41612,1065,43,41623],\n[M,1067,14,41692,1068,46,41748],\n[M,1067,15,41693,1067,22,41700],\n[M,1069,23,41773,1069,32,41782],\n[M,1070,14,41799,1071,47,41856],\n[M,1070,15,41800,1070,22,41807],\n[M,1072,23,41881,1072,32,41890],\n[M,1073,14,41907,1074,93,42010],\n[M,1073,15,41908,1073,22,41915],\n[M,1074,33,41950,1074,44,41961],\n[M,1074,16,41933,1074,92,42009],\n[M,1074,24,41941,1074,91,42008],\n[M,1074,24,41941,1074,44,41961],\n[M,1072,14,41872,1072,33,41891],\n[M,1071,16,41825,1071,46,41855],\n[M,1069,14,41764,1069,33,41783],\n[M,1068,16,41718,1068,45,41747],\n[M,1066,16,41643,1066,48,41675],\n[M,1065,16,41596,1065,45,41625],\n[M,1065,24,41604,1065,44,41624],\n[M,1064,16,41544,1064,50,41578],\n[M,1064,24,41552,1064,49,41577],\n[M,1064,24,41552,1064,42,41570],\n[M,1061,10,41468,1074,94,42011],\n[M,1007,14,38920,1007,22,38928],\n[M,1007,24,38930,1007,49,38955],\n[M,1077,4,42038,1104,7,43089],\n[M,1078,6,42072,1103,94,43081],\n[M,1078,7,42073,1078,15,42081],\n[M,1079,10,42122,1090,13,42592],\n[M,1080,12,42144,1089,94,42578],\n[M,1080,13,42145,1080,24,42156],\n[M,1081,30,42188,1081,41,42199],\n[M,1081,51,42209,1081,62,42220],\n[M,1082,14,42259,1083,46,42315],\n[M,1082,15,42260,1082,22,42267],\n[M,1084,23,42340,1084,32,42349],\n[M,1085,14,42366,1086,47,42423],\n[M,1085,15,42367,1085,22,42374],\n[M,1087,23,42448,1087,32,42457],\n[M,1088,14,42474,1089,93,42577],\n[M,1088,15,42475,1088,22,42482],\n[M,1089,33,42517,1089,44,42528],\n[M,1089,16,42500,1089,92,42576],\n[M,1089,24,42508,1089,91,42575],\n[M,1089,24,42508,1089,44,42528],\n[M,1087,14,42439,1087,33,42458],\n[M,1086,16,42392,1086,46,42422],\n[M,1084,14,42331,1084,33,42350],\n[M,1083,16,42285,1083,45,42314],\n[M,1081,14,42172,1081,85,42243],\n[M,1081,30,42188,1081,79,42237],\n[M,1081,30,42188,1081,62,42220],\n[M,1081,30,42188,1081,48,42206],\n[M,1091,10,42604,1103,92,43079],\n[M,1091,11,42605,1091,22,42616],\n[M,1092,12,42630,1095,46,42760],\n[M,1092,13,42631,1092,20,42638],\n[M,1094,30,42699,1094,41,42710],\n[M,1096,12,42774,1097,44,42828],\n[M,1096,13,42775,1096,20,42782],\n[M,1098,21,42851,1098,30,42860],\n[M,1099,12,42875,1100,45,42930],\n[M,1099,13,42876,1099,20,42883],\n[M,1101,21,42953,1101,30,42962],\n[M,1102,12,42977,1103,91,43078],\n[M,1102,13,42978,1102,20,42985],\n[M,1103,31,43018,1103,42,43029],\n[M,1078,17,42083,1103,93,43080],\n[M,1103,14,43001,1103,90,43077],\n[M,1103,22,43009,1103,89,43076],\n[M,1103,22,43009,1103,42,43029],\n[M,1101,12,42944,1101,31,42963],\n[M,1100,14,42899,1100,44,42929],\n[M,1098,12,42842,1098,31,42861],\n[M,1097,14,42798,1097,43,42827],\n[M,1095,14,42728,1095,45,42759],\n[M,1094,14,42683,1094,43,42712],\n[M,1094,22,42691,1094,42,42711],\n[M,1093,14,42654,1093,27,42667],\n[M,1106,4,43201,1295,7,48657],\n[M,1107,6,43284,1114,9,43551],\n[M,1110,31,43432,1110,34,43435],\n[M,1110,22,43423,1110,35,43436],\n[M,1109,10,43354,1110,36,43437],\n[M,1108,8,43328,1113,11,43541],\n[M,1111,10,43448,1112,30,43529],\n[M,1116,6,43559,1121,9,43697],\n[M,1118,33,43634,1118,46,43647],\n[M,1118,10,43611,1118,46,43647],\n[M,1117,8,43587,1120,11,43687],\n[M,1119,10,43658,1119,27,43675],\n[M,1123,6,43705,1136,9,44250],\n[M,1127,25,43915,1127,28,43918],\n[M,1127,13,43903,1127,29,43919],\n[M,1126,10,43845,1127,42,43932],\n[M,1125,8,43819,1135,11,44240],\n[M,1132,26,44161,1132,29,44164],\n[M,1131,14,44109,1132,30,44165],\n[M,1133,26,44192,1133,32,44198],\n[M,1131,14,44109,1133,33,44199],\n[M,1131,14,44109,1134,27,44227],\n[M,1131,14,44109,1131,39,44134],\n[M,1128,10,43943,1134,28,44228],\n[M,1139,16,44297,1139,31,44312],\n[M,1139,8,44289,1142,40,44430],\n[M,1145,16,44480,1145,36,44500],\n[M,1145,8,44472,1148,46,44624],\n[M,1152,20,44702,1153,18,44732],\n[M,1153,12,44726,1153,17,44731],\n[M,1151,8,44658,1153,19,44733],\n[M,1154,19,44753,1154,39,44773],\n[M,1151,8,44658,1154,40,44774],\n[M,1156,6,44782,1163,9,44965],\n[M,1157,8,44828,1162,23,44955],\n[M,1157,9,44829,1157,16,44836],\n[M,1162,10,44942,1162,22,44954],\n[M,1160,10,44894,1160,26,44910],\n[M,1158,10,44848,1158,25,44863],\n[M,1165,6,44973,1211,9,46433],\n[M,1166,11,45044,1166,35,45068],\n[M,1168,12,45127,1177,41,45449],\n[M,1168,13,45128,1168,24,45139],\n[M,1169,14,45155,1176,49,45406],\n[M,1169,15,45156,1169,22,45163],\n[M,1177,14,45422,1177,40,45448],\n[M,1176,16,45373,1176,48,45405],\n[M,1174,16,45301,1174,45,45330],\n[M,1172,16,45239,1172,34,45257],\n[M,1170,16,45181,1170,31,45196],\n[M,1179,12,45478,1186,47,45715],\n[M,1179,13,45479,1179,20,45486],\n[M,1186,14,45682,1186,46,45714],\n[M,1184,14,45614,1184,43,45643],\n[M,1182,14,45556,1182,32,45574],\n[M,1180,14,45502,1180,29,45517],\n[M,1167,13,45083,1167,43,45113],\n[M,1190,12,45801,1199,41,46127],\n[M,1190,13,45802,1190,24,45813],\n[M,1191,14,45829,1198,29,46084],\n[M,1191,15,45830,1191,22,45837],\n[M,1199,14,46100,1199,40,46126],\n[M,1198,16,46071,1198,28,46083],\n[M,1196,16,46005,1196,39,46028],\n[M,1194,16,45913,1194,65,45962],\n[M,1192,16,45855,1192,31,45870],\n[M,1201,12,46156,1208,27,46397],\n[M,1201,13,46157,1201,20,46164],\n[M,1208,14,46384,1208,26,46396],\n[M,1206,14,46322,1206,37,46345],\n[M,1204,14,46234,1204,63,46283],\n[M,1202,14,46180,1202,29,46195],\n[M,1189,13,45757,1189,43,45787],\n[M,1213,6,46441,1220,9,46653],\n[M,1214,8,46490,1219,41,46643],\n[M,1214,9,46491,1214,16,46498],\n[M,1219,10,46612,1219,40,46642],\n[M,1217,10,46554,1217,37,46581],\n[M,1215,10,46510,1215,23,46523],\n[M,1224,10,46722,1231,13,46908],\n[M,1225,13,46743,1225,20,46750],\n[M,1225,22,46752,1225,27,46757],\n[M,1227,14,46811,1227,23,46820],\n[M,1229,14,46853,1229,39,46878],\n[M,1225,12,46742,1225,28,46758],\n[M,1222,17,46672,1231,14,46909],\n[M,1232,17,46927,1232,26,46936],\n[M,1222,17,46672,1232,27,46937],\n[M,1236,10,47005,1244,13,47226],\n[M,1237,13,47026,1237,20,47033],\n[M,1237,22,47035,1237,27,47040],\n[M,1238,12,47058,1243,18,47212],\n[M,1238,28,47074,1238,46,47092],\n[M,1238,29,47075,1238,36,47082],\n[M,1239,17,47111,1239,41,47135],\n[M,1237,12,47025,1237,28,47041],\n[M,1234,16,46955,1244,14,47227],\n[M,1245,17,47245,1245,26,47254],\n[M,1234,16,46955,1245,27,47255],\n[M,1249,10,47325,1256,13,47514],\n[M,1250,13,47346,1250,19,47352],\n[M,1250,21,47354,1250,28,47361],\n[M,1252,14,47416,1252,23,47425],\n[M,1254,14,47458,1254,40,47484],\n[M,1250,12,47345,1250,29,47362],\n[M,1247,15,47272,1256,14,47515],\n[M,1257,17,47533,1257,26,47542],\n[M,1247,15,47272,1257,27,47543],\n[M,1261,10,47614,1269,13,47853],\n[M,1262,13,47635,1262,19,47641],\n[M,1262,21,47643,1262,28,47650],\n[M,1263,45,47701,1263,63,47719],\n[M,1263,46,47702,1263,53,47709],\n[M,1264,17,47738,1264,41,47762],\n[M,1263,12,47668,1268,18,47839],\n[M,1263,25,47681,1263,43,47699],\n[M,1262,12,47634,1262,29,47651],\n[M,1259,16,47561,1269,14,47854],\n[M,1259,16,47561,1270,36,47891],\n[M,1272,6,47899,1294,19,48649],\n[M,1272,7,47900,1272,15,47908],\n[M,1275,12,47972,1283,15,48266],\n[M,1276,15,47995,1276,22,48002],\n[M,1276,24,48004,1276,29,48009],\n[M,1277,14,48029,1282,35,48250],\n[M,1277,15,48030,1277,26,48041],\n[M,1278,16,48059,1281,39,48213],\n[M,1278,17,48060,1278,24,48067],\n[M,1282,16,48231,1282,34,48249],\n[M,1281,18,48192,1281,38,48212],\n[M,1280,18,48132,1280,58,48172],\n[M,1280,26,48140,1280,57,48171],\n[M,1279,18,48087,1279,43,48112],\n[M,1276,14,47994,1276,30,48010],\n[M,1273,8,47918,1283,16,48267],\n[M,1285,12,48300,1286,66,48376],\n[M,1285,13,48301,1285,20,48308],\n[M,1273,8,47918,1286,67,48377],\n[M,1292,8,48559,1294,18,48648],\n[M,1293,10,48588,1293,50,48628],\n[M,1293,18,48596,1293,49,48627],\n[M,1287,8,48387,1291,41,48549],\n[M,1291,10,48518,1291,40,48548],\n[M,1291,17,48525,1291,39,48547],\n[M,1289,10,48454,1289,43,48487],\n[M,1289,19,48463,1289,42,48486],\n[M,1288,10,48416,1288,36,48442],\n[M,1288,18,48424,1288,35,48441],\n[M,1286,14,48324,1286,65,48375],\n[M,1270,17,47872,1270,35,47890],\n[M,1147,11,44553,1147,34,44576],\n[M,1146,11,44515,1146,35,44539],\n[M,1145,9,44473,1145,37,44501],\n[M,1141,11,44365,1141,34,44388],\n[M,1140,11,44327,1140,35,44351],\n[M,1139,9,44290,1139,32,44313],\n[M,1296,4,48663,1319,7,49614],\n[M,1297,9,48700,1297,24,48715],\n[M,1297,9,48700,1297,37,48728],\n[M,1298,8,48738,1307,30,49171],\n[M,1298,9,48739,1298,17,48747],\n[M,1299,10,48759,1306,16,49139],\n[M,1299,11,48760,1299,18,48767],\n[M,1301,19,48831,1301,34,48846],\n[M,1302,15,48864,1302,39,48888],\n[M,1307,10,49151,1307,29,49170],\n[M,1303,14,48904,1303,92,48982],\n[M,1305,14,49015,1305,121,49122],\n[M,1301,12,48824,1301,35,48847],\n[M,1300,12,48781,1300,41,48810],\n[M,1309,8,49192,1317,17,49596],\n[M,1309,9,49193,1309,17,49201],\n[M,1310,10,49213,1317,16,49595],\n[M,1310,11,49214,1310,18,49221],\n[M,1312,19,49287,1312,34,49302],\n[M,1313,15,49320,1313,39,49344],\n[M,1314,14,49360,1314,92,49438],\n[M,1316,14,49471,1316,121,49578],\n[M,1312,12,49280,1312,35,49303],\n[M,1311,12,49235,1311,43,49266],\n[M,1321,4,49714,1459,7,53689],\n[M,1322,20,49811,1322,33,49824],\n[M,1324,6,49863,1336,9,50221],\n[M,1325,8,49907,1331,11,50081],\n[M,1326,13,49947,1326,26,49960],\n[M,1327,12,49979,1327,55,50022],\n[M,1327,13,49980,1327,20,49987],\n[M,1327,22,49989,1327,38,50005],\n[M,1327,48,50015,1327,53,50020],\n[M,1327,22,49989,1327,54,50021],\n[M,1326,13,49947,1326,31,49965],\n[M,1334,31,50194,1334,34,50197],\n[M,1334,22,50185,1334,35,50198],\n[M,1333,10,50116,1334,36,50199],\n[M,1332,8,50090,1335,11,50211],\n[M,1338,6,50229,1344,9,50478],\n[M,1342,25,50439,1342,28,50442],\n[M,1342,13,50427,1342,29,50443],\n[M,1341,10,50369,1342,42,50456],\n[M,1340,8,50343,1343,11,50468],\n[M,1347,16,50525,1347,31,50540],\n[M,1347,8,50517,1350,40,50658],\n[M,1353,16,50708,1353,36,50728],\n[M,1353,8,50700,1356,46,50852],\n[M,1358,6,50860,1365,9,51043],\n[M,1359,8,50906,1364,23,51033],\n[M,1359,9,50907,1359,16,50914],\n[M,1364,10,51020,1364,22,51032],\n[M,1362,10,50972,1362,26,50988],\n[M,1360,10,50926,1360,25,50941],\n[M,1367,6,51051,1391,9,51763],\n[M,1368,25,51136,1368,45,51156],\n[M,1369,10,51169,1380,44,51516],\n[M,1369,11,51170,1369,22,51181],\n[M,1370,12,51195,1379,27,51470],\n[M,1370,13,51196,1370,20,51203],\n[M,1380,22,51494,1380,42,51514],\n[M,1380,12,51484,1380,43,51515],\n[M,1379,14,51457,1379,26,51469],\n[M,1377,14,51397,1377,35,51418],\n[M,1375,14,51329,1375,43,51358],\n[M,1373,14,51273,1373,30,51289],\n[M,1371,14,51219,1371,29,51234],\n[M,1382,10,51541,1389,25,51741],\n[M,1382,11,51542,1382,18,51549],\n[M,1389,12,51728,1389,24,51740],\n[M,1387,12,51672,1387,33,51693],\n[M,1385,12,51613,1385,36,51637],\n[M,1383,12,51563,1383,27,51578],\n[M,1368,11,51122,1368,46,51157],\n[M,1393,6,51771,1402,9,52051],\n[M,1394,8,51833,1401,38,52041],\n[M,1394,9,51834,1394,16,51841],\n[M,1401,10,52013,1401,37,52040],\n[M,1399,10,51965,1399,26,51981],\n[M,1397,10,51897,1397,44,51931],\n[M,1395,10,51853,1395,23,51866],\n[M,1406,10,52120,1409,13,52212],\n[M,1407,13,52141,1407,20,52148],\n[M,1407,22,52150,1407,27,52155],\n[M,1408,12,52173,1408,37,52198],\n[M,1407,12,52140,1407,28,52156],\n[M,1404,17,52070,1409,14,52213],\n[M,1410,17,52231,1410,26,52240],\n[M,1404,17,52070,1410,27,52241],\n[M,1414,10,52309,1417,13,52415],\n[M,1415,13,52330,1415,20,52337],\n[M,1415,22,52339,1415,27,52344],\n[M,1416,12,52362,1416,51,52401],\n[M,1416,28,52378,1416,46,52396],\n[M,1416,29,52379,1416,36,52386],\n[M,1415,12,52329,1415,28,52345],\n[M,1412,16,52259,1417,14,52416],\n[M,1418,17,52434,1418,26,52443],\n[M,1412,16,52259,1418,27,52444],\n[M,1422,10,52514,1425,13,52608],\n[M,1423,13,52535,1423,19,52541],\n[M,1423,21,52543,1423,28,52550],\n[M,1424,12,52568,1424,38,52594],\n[M,1423,12,52534,1423,29,52551],\n[M,1420,15,52461,1425,14,52609],\n[M,1426,17,52627,1426,26,52636],\n[M,1420,15,52461,1426,27,52637],\n[M,1430,10,52708,1432,13,52811],\n[M,1431,45,52761,1431,76,52792],\n[M,1431,46,52762,1431,53,52769],\n[M,1431,55,52771,1431,75,52791],\n[M,1431,12,52728,1431,81,52797],\n[M,1431,25,52741,1431,43,52759],\n[M,1428,16,52655,1432,14,52812],\n[M,1428,16,52655,1433,36,52849],\n[M,1435,6,52857,1458,41,53681],\n[M,1435,7,52858,1435,15,52866],\n[M,1438,12,52930,1446,15,53224],\n[M,1439,15,52953,1439,22,52960],\n[M,1439,24,52962,1439,29,52967],\n[M,1440,14,52987,1445,35,53208],\n[M,1440,15,52988,1440,26,52999],\n[M,1441,16,53017,1444,39,53171],\n[M,1441,17,53018,1441,24,53025],\n[M,1445,16,53189,1445,34,53207],\n[M,1444,18,53150,1444,38,53170],\n[M,1443,18,53090,1443,58,53130],\n[M,1443,26,53098,1443,57,53129],\n[M,1442,18,53045,1442,43,53070],\n[M,1439,14,52952,1439,30,52968],\n[M,1436,8,52876,1446,16,53225],\n[M,1448,12,53258,1449,66,53334],\n[M,1448,13,53259,1448,20,53266],\n[M,1436,8,52876,1449,67,53335],\n[M,1452,34,53436,1452,47,53449],\n[M,1454,30,53502,1454,47,53519],\n[M,1455,8,53532,1458,40,53680],\n[M,1458,10,53650,1458,39,53679],\n[M,1458,19,53659,1458,38,53678],\n[M,1457,10,53613,1457,35,53638],\n[M,1457,17,53620,1457,34,53637],\n[M,1456,10,53561,1456,50,53601],\n[M,1456,18,53569,1456,49,53600],\n[M,1450,8,53345,1454,50,53522],\n[M,1454,10,53482,1454,49,53521],\n[M,1454,17,53489,1454,48,53520],\n[M,1452,10,53412,1452,49,53451],\n[M,1452,19,53421,1452,48,53450],\n[M,1451,10,53374,1451,36,53400],\n[M,1451,18,53382,1451,35,53399],\n[M,1449,14,53282,1449,65,53333],\n[M,1433,17,52830,1433,35,52848],\n[M,1355,11,50781,1355,34,50804],\n[M,1354,11,50743,1354,35,50767],\n[M,1353,9,50701,1353,37,50729],\n[M,1349,11,50593,1349,34,50616],\n[M,1348,11,50555,1348,35,50579],\n[M,1347,9,50518,1347,32,50541],\n[M,1322,20,49811,1322,38,49829],\n[M,1460,4,53695,1477,7,54400],\n[M,1461,6,53729,1476,126,54392],\n[M,1461,7,53730,1461,15,53738],\n[M,1462,8,53748,1467,23,53980],\n[M,1462,9,53749,1462,16,53756],\n[M,1464,17,53825,1464,31,53839],\n[M,1466,17,53939,1466,32,53954],\n[M,1468,8,53990,1471,23,54115],\n[M,1468,9,53991,1468,16,53998],\n[M,1470,31,54076,1470,44,54089],\n[M,1472,8,54125,1474,42,54246],\n[M,1472,9,54126,1472,16,54133],\n[M,1474,23,54227,1474,40,54244],\n[M,1475,8,54256,1476,125,54391],\n[M,1475,9,54257,1475,16,54264],\n[M,1476,10,54276,1476,124,54390],\n[M,1474,10,54214,1474,41,54245],\n[M,1473,10,54145,1473,67,54202],\n[M,1471,10,54102,1471,22,54114],\n[M,1470,10,54055,1470,45,54090],\n[M,1469,10,54010,1469,43,54043],\n[M,1467,10,53967,1467,22,53979],\n[M,1466,10,53932,1466,33,53955],\n[M,1465,10,53852,1465,78,53920],\n[M,1464,10,53818,1464,32,53840],\n[M,1463,10,53768,1463,48,53806],\n[M,1479,4,54502,1650,7,59901],\n[M,1480,22,54601,1480,39,54618],\n[M,1480,22,54601,1480,48,54627],\n[M,1483,6,54700,1502,9,55555],\n[M,1484,8,54750,1490,11,54924],\n[M,1486,12,54822,1486,55,54865],\n[M,1486,13,54823,1486,20,54830],\n[M,1486,22,54832,1486,38,54848],\n[M,1486,48,54858,1486,53,54863],\n[M,1486,22,54832,1486,54,54864],\n[M,1485,13,54790,1485,31,54808],\n[M,1492,49,54998,1492,55,55004],\n[M,1492,64,55013,1492,70,55019],\n[M,1492,81,55030,1492,84,55033],\n[M,1492,72,55021,1492,85,55034],\n[M,1492,57,55006,1492,86,55035],\n[M,1492,10,54959,1492,87,55036],\n[M,1491,8,54933,1501,11,55545],\n[M,1493,49,55086,1493,55,55092],\n[M,1493,64,55101,1493,70,55107],\n[M,1493,81,55118,1493,84,55121],\n[M,1493,72,55109,1493,85,55122],\n[M,1493,57,55094,1493,86,55123],\n[M,1493,10,55047,1493,87,55124],\n[M,1495,49,55266,1495,55,55272],\n[M,1495,64,55281,1495,70,55287],\n[M,1495,72,55289,1495,86,55303],\n[M,1495,73,55290,1495,80,55297],\n[M,1495,82,55299,1495,85,55302],\n[M,1495,98,55315,1495,101,55318],\n[M,1495,89,55306,1495,102,55319],\n[M,1495,57,55274,1495,103,55320],\n[M,1495,72,55289,1495,102,55319],\n[M,1495,10,55227,1495,104,55321],\n[M,1496,49,55371,1496,55,55377],\n[M,1496,57,55379,1496,74,55396],\n[M,1496,58,55380,1496,65,55387],\n[M,1496,67,55389,1496,73,55395],\n[M,1496,10,55332,1496,75,55397],\n[M,1499,13,55486,1499,18,55491],\n[M,1499,20,55493,1499,25,55498],\n[M,1499,27,55500,1499,43,55516],\n[M,1499,28,55501,1499,35,55508],\n[M,1499,37,55510,1499,42,55515],\n[M,1504,6,55563,1510,9,55811],\n[M,1508,25,55772,1508,28,55775],\n[M,1508,13,55760,1508,29,55776],\n[M,1507,10,55702,1508,42,55789],\n[M,1506,8,55676,1509,11,55801],\n[M,1517,20,55945,1517,48,55973],\n[M,1517,31,55956,1517,47,55972],\n[M,1516,8,55909,1517,49,55974],\n[M,1516,8,55909,1518,25,56000],\n[M,1521,8,56043,1524,46,56182],\n[M,1527,16,56232,1527,32,56248],\n[M,1527,8,56224,1530,45,56371],\n[M,1532,6,56379,1538,9,56561],\n[M,1533,8,56428,1537,23,56551],\n[M,1533,9,56429,1533,16,56436],\n[M,1537,10,56538,1537,22,56550],\n[M,1535,10,56469,1535,47,56506],\n[M,1535,18,56477,1535,46,56505],\n[M,1540,6,56569,1569,9,57479],\n[M,1542,10,56677,1551,40,56979],\n[M,1542,11,56678,1542,22,56689],\n[M,1543,12,56703,1550,27,56937],\n[M,1543,13,56704,1543,20,56711],\n[M,1551,22,56961,1551,38,56977],\n[M,1551,12,56951,1551,39,56978],\n[M,1550,14,56924,1550,26,56936],\n[M,1548,14,56860,1548,36,56882],\n[M,1546,14,56782,1546,53,56821],\n[M,1544,14,56727,1544,29,56742],\n[M,1552,30,57010,1552,46,57026],\n[M,1553,10,57039,1560,25,57259],\n[M,1553,11,57040,1553,18,57047],\n[M,1560,12,57246,1560,24,57258],\n[M,1558,12,57186,1558,34,57208],\n[M,1556,12,57112,1556,51,57151],\n[M,1554,12,57061,1554,27,57076],\n[M,1562,10,57284,1567,25,57457],\n[M,1562,11,57285,1562,18,57292],\n[M,1567,12,57444,1567,24,57456],\n[M,1565,12,57357,1565,61,57406],\n[M,1563,12,57306,1563,27,57321],\n[M,1552,16,56996,1552,47,57027],\n[M,1571,6,57487,1580,9,57800],\n[M,1572,8,57565,1579,38,57790],\n[M,1572,9,57566,1572,16,57573],\n[M,1579,10,57762,1579,37,57789],\n[M,1577,10,57713,1577,26,57729],\n[M,1575,10,57645,1575,44,57679],\n[M,1573,10,57585,1573,24,57599],\n[M,1584,10,57874,1587,13,57972],\n[M,1585,13,57895,1585,20,57902],\n[M,1585,22,57904,1585,28,57910],\n[M,1585,30,57912,1585,34,57916],\n[M,1586,12,57934,1586,36,57958],\n[M,1585,12,57894,1585,35,57917],\n[M,1582,18,57820,1587,14,57973],\n[M,1588,17,57991,1588,26,58000],\n[M,1582,18,57820,1588,27,58001],\n[M,1592,10,58088,1595,13,58233],\n[M,1593,13,58109,1593,20,58116],\n[M,1593,22,58118,1593,28,58124],\n[M,1593,30,58126,1593,34,58130],\n[M,1594,60,58196,1594,78,58214],\n[M,1594,61,58197,1594,68,58204],\n[M,1594,12,58148,1594,83,58219],\n[M,1594,25,58161,1594,58,58194],\n[M,1593,12,58108,1593,35,58131],\n[M,1590,31,58034,1595,14,58234],\n[M,1590,31,58034,1596,40,58275],\n[M,1600,10,58348,1608,13,58589],\n[M,1601,13,58369,1601,20,58376],\n[M,1601,22,58378,1601,28,58384],\n[M,1601,30,58386,1601,34,58390],\n[M,1602,46,58442,1602,63,58459],\n[M,1602,47,58443,1602,54,58450],\n[M,1602,12,58408,1607,18,58575],\n[M,1602,25,58421,1602,44,58440],\n[M,1601,12,58368,1601,35,58391],\n[M,1598,17,58294,1608,14,58590],\n[M,1598,17,58294,1609,37,58628],\n[M,1613,10,58702,1616,13,58796],\n[M,1614,13,58723,1614,19,58729],\n[M,1614,21,58731,1614,28,58738],\n[M,1615,12,58756,1615,38,58782],\n[M,1614,12,58722,1614,29,58739],\n[M,1611,19,58649,1616,14,58797],\n[M,1617,17,58815,1617,26,58824],\n[M,1611,19,58649,1617,27,58825],\n[M,1621,10,58896,1623,13,58995],\n[M,1622,45,58949,1622,72,58976],\n[M,1622,46,58950,1622,53,58957],\n[M,1622,55,58959,1622,71,58975],\n[M,1622,12,58916,1622,77,58981],\n[M,1622,25,58929,1622,43,58947],\n[M,1619,16,58843,1623,14,58996],\n[M,1619,16,58843,1624,36,59033],\n[M,1626,6,59041,1649,43,59893],\n[M,1626,7,59042,1626,15,59050],\n[M,1629,12,59118,1637,15,59392],\n[M,1630,15,59141,1630,22,59148],\n[M,1630,24,59150,1630,30,59156],\n[M,1630,32,59158,1630,36,59162],\n[M,1631,14,59182,1636,35,59376],\n[M,1631,15,59183,1631,26,59194],\n[M,1632,16,59212,1635,39,59339],\n[M,1632,17,59213,1632,24,59220],\n[M,1636,16,59357,1636,34,59375],\n[M,1635,18,59318,1635,38,59338],\n[M,1633,18,59240,1633,34,59256],\n[M,1630,14,59140,1630,37,59163],\n[M,1627,8,59060,1637,16,59393],\n[M,1639,12,59426,1640,49,59485],\n[M,1639,13,59427,1639,20,59434],\n[M,1627,8,59060,1640,50,59486],\n[M,1645,34,59659,1645,52,59677],\n[M,1647,8,59763,1649,42,59892],\n[M,1649,10,59860,1649,41,59891],\n[M,1649,20,59870,1649,40,59890],\n[M,1648,10,59815,1648,43,59848],\n[M,1648,21,59826,1648,42,59847],\n[M,1642,8,59568,1646,72,59753],\n[M,1646,54,59735,1646,70,59751],\n[M,1646,40,59721,1646,71,59752],\n[M,1646,10,59691,1646,35,59716],\n[M,1645,10,59635,1645,54,59679],\n[M,1645,21,59646,1645,53,59678],\n[M,1641,8,59496,1641,70,59558],\n[M,1641,23,59511,1641,59,59547],\n[M,1641,33,59521,1641,58,59546],\n[M,1640,14,59450,1640,48,59484],\n[M,1624,17,59014,1624,35,59032],\n[M,1609,17,58608,1609,36,58627],\n[M,1596,17,58252,1596,39,58274],\n[M,1529,11,56301,1529,34,56324],\n[M,1528,11,56263,1528,35,56287],\n[M,1527,9,56225,1527,33,56249],\n[M,1523,11,56111,1523,34,56134],\n[M,1522,11,56073,1522,35,56097],\n[M,1513,8,55845,1513,33,55870],\n[M,1481,20,54648,1481,38,54666],\n[M,1651,4,59907,1686,7,61567],\n[M,1652,17,59952,1652,34,59969],\n[M,1652,17,59952,1652,43,59978],\n[M,1655,23,60135,1655,41,60153],\n[M,1663,8,60341,1680,11,61240],\n[M,1664,13,60371,1664,29,60387],\n[M,1664,13,60371,1664,42,60400],\n[M,1665,12,60414,1669,50,60731],\n[M,1665,13,60415,1665,21,60423],\n[M,1666,14,60439,1666,112,60537],\n[M,1666,15,60440,1666,22,60447],\n[M,1666,62,60487,1666,80,60505],\n[M,1668,14,60599,1668,94,60679],\n[M,1668,15,60600,1668,22,60607],\n[M,1669,31,60712,1669,48,60729],\n[M,1669,14,60695,1669,49,60730],\n[M,1668,77,60662,1668,93,60678],\n[M,1668,57,60642,1668,75,60660],\n[M,1668,24,60609,1668,55,60640],\n[M,1668,32,60617,1668,54,60639],\n[M,1666,83,60508,1666,111,60536],\n[M,1666,91,60516,1666,110,60535],\n[M,1666,53,60478,1666,81,60506],\n[M,1666,24,60449,1666,51,60476],\n[M,1671,12,60760,1678,50,61214],\n[M,1671,13,60761,1671,21,60769],\n[M,1672,14,60785,1673,72,60926],\n[M,1672,15,60786,1672,22,60793],\n[M,1672,62,60833,1672,80,60851],\n[M,1674,33,60961,1674,49,60977],\n[M,1675,14,60994,1675,40,61020],\n[M,1675,15,60995,1675,22,61002],\n[M,1677,14,61082,1677,94,61162],\n[M,1677,15,61083,1677,22,61090],\n[M,1678,31,61195,1678,48,61212],\n[M,1678,14,61178,1678,49,61213],\n[M,1677,77,61145,1677,93,61161],\n[M,1677,57,61125,1677,75,61143],\n[M,1677,24,61092,1677,55,61123],\n[M,1677,32,61100,1677,54,61122],\n[M,1675,24,61004,1675,39,61019],\n[M,1673,16,60870,1673,71,60925],\n[M,1673,24,60878,1673,70,60924],\n[M,1672,53,60824,1672,81,60852],\n[M,1672,24,60795,1672,51,60822],\n[M,1681,8,61250,1685,46,61558],\n[M,1681,9,61251,1681,17,61259],\n[M,1682,10,61271,1682,109,61370],\n[M,1682,11,61272,1682,18,61279],\n[M,1682,58,61319,1682,76,61337],\n[M,1683,29,61401,1683,45,61417],\n[M,1684,10,61430,1684,90,61510],\n[M,1684,11,61431,1684,18,61438],\n[M,1685,27,61539,1685,44,61556],\n[M,1657,6,60208,1685,47,61559],\n[M,1685,10,61522,1685,45,61557],\n[M,1684,73,61493,1684,89,61509],\n[M,1684,53,61473,1684,71,61491],\n[M,1684,20,61440,1684,51,61471],\n[M,1684,28,61448,1684,50,61470],\n[M,1682,79,61340,1682,108,61369],\n[M,1682,87,61348,1682,107,61368],\n[M,1682,49,61310,1682,77,61338],\n[M,1682,20,61281,1682,47,61308],\n[M,1655,23,60135,1655,46,60158],\n[M,1654,19,60060,1654,32,60073],\n[M,1653,20,59999,1653,33,60012],\n[M,1689,4,61651,1883,7,68334],\n[M,1690,22,61756,1690,39,61773],\n[M,1690,22,61756,1690,48,61782],\n[M,1692,30,61878,1692,44,61892],\n[M,1694,6,61931,1713,9,62786],\n[M,1695,8,61981,1701,11,62155],\n[M,1697,12,62053,1697,55,62096],\n[M,1697,13,62054,1697,20,62061],\n[M,1697,22,62063,1697,38,62079],\n[M,1697,48,62089,1697,53,62094],\n[M,1697,22,62063,1697,54,62095],\n[M,1696,13,62021,1696,31,62039],\n[M,1703,49,62229,1703,55,62235],\n[M,1703,64,62244,1703,70,62250],\n[M,1703,81,62261,1703,84,62264],\n[M,1703,72,62252,1703,85,62265],\n[M,1703,57,62237,1703,86,62266],\n[M,1703,10,62190,1703,87,62267],\n[M,1702,8,62164,1712,11,62776],\n[M,1704,49,62317,1704,55,62323],\n[M,1704,64,62332,1704,70,62338],\n[M,1704,81,62349,1704,84,62352],\n[M,1704,72,62340,1704,85,62353],\n[M,1704,57,62325,1704,86,62354],\n[M,1704,10,62278,1704,87,62355],\n[M,1706,49,62497,1706,55,62503],\n[M,1706,64,62512,1706,70,62518],\n[M,1706,72,62520,1706,86,62534],\n[M,1706,73,62521,1706,80,62528],\n[M,1706,82,62530,1706,85,62533],\n[M,1706,98,62546,1706,101,62549],\n[M,1706,89,62537,1706,102,62550],\n[M,1706,57,62505,1706,103,62551],\n[M,1706,72,62520,1706,102,62550],\n[M,1706,10,62458,1706,104,62552],\n[M,1707,49,62602,1707,55,62608],\n[M,1707,57,62610,1707,74,62627],\n[M,1707,58,62611,1707,65,62618],\n[M,1707,67,62620,1707,73,62626],\n[M,1707,10,62563,1707,75,62628],\n[M,1710,13,62717,1710,18,62722],\n[M,1710,20,62724,1710,25,62729],\n[M,1710,27,62731,1710,43,62747],\n[M,1710,28,62732,1710,35,62739],\n[M,1710,37,62741,1710,42,62746],\n[M,1715,6,62794,1724,9,63056],\n[M,1719,14,62911,1719,39,62936],\n[M,1718,12,62882,1721,15,62993],\n[M,1717,10,62852,1721,15,62993],\n[M,1716,8,62826,1723,11,63046],\n[M,1726,6,63064,1743,9,64153],\n[M,1730,13,63237,1730,28,63252],\n[M,1730,14,63238,1730,21,63245],\n[M,1730,13,63237,1730,50,63274],\n[M,1730,55,63279,1730,58,63282],\n[M,1730,13,63237,1730,59,63283],\n[M,1731,14,63299,1731,30,63315],\n[M,1729,10,63203,1731,31,63316],\n[M,1728,8,63177,1742,11,64143],\n[M,1732,34,63351,1732,60,63377],\n[M,1732,65,63382,1732,68,63385],\n[M,1732,34,63351,1732,69,63386],\n[M,1732,71,63388,1732,87,63404],\n[M,1732,10,63327,1732,88,63405],\n[M,1733,64,63470,1733,67,63473],\n[M,1733,55,63461,1733,68,63474],\n[M,1733,77,63483,1733,80,63486],\n[M,1733,70,63476,1733,81,63487],\n[M,1733,10,63416,1733,82,63488],\n[M,1734,64,63553,1734,67,63556],\n[M,1734,55,63544,1734,68,63557],\n[M,1734,77,63566,1734,80,63569],\n[M,1734,70,63559,1734,81,63570],\n[M,1734,10,63499,1734,82,63571],\n[M,1735,67,63639,1735,70,63642],\n[M,1735,58,63630,1735,71,63643],\n[M,1735,80,63652,1735,83,63655],\n[M,1735,73,63645,1735,84,63656],\n[M,1735,10,63582,1735,85,63657],\n[M,1736,73,63731,1736,76,63734],\n[M,1736,64,63722,1736,77,63735],\n[M,1736,86,63744,1736,89,63747],\n[M,1736,79,63737,1736,90,63748],\n[M,1736,10,63668,1736,91,63749],\n[M,1737,38,63788,1737,57,63807],\n[M,1737,39,63789,1737,46,63796],\n[M,1737,48,63798,1737,54,63804],\n[M,1737,48,63798,1737,56,63806],\n[M,1737,59,63809,1737,75,63825],\n[M,1737,10,63760,1737,76,63826],\n[M,1738,38,63865,1738,57,63884],\n[M,1738,39,63866,1738,46,63873],\n[M,1738,48,63875,1738,54,63881],\n[M,1738,48,63875,1738,56,63883],\n[M,1738,59,63886,1738,75,63902],\n[M,1738,10,63837,1738,76,63903],\n[M,1739,38,63942,1739,57,63961],\n[M,1739,39,63943,1739,46,63950],\n[M,1739,48,63952,1739,54,63958],\n[M,1739,48,63952,1739,56,63960],\n[M,1739,59,63963,1739,75,63979],\n[M,1739,10,63914,1739,76,63980],\n[M,1740,38,64019,1740,57,64038],\n[M,1740,39,64020,1740,46,64027],\n[M,1740,48,64029,1740,54,64035],\n[M,1740,48,64029,1740,56,64037],\n[M,1740,59,64040,1740,75,64056],\n[M,1740,10,63991,1740,76,64057],\n[M,1741,55,64113,1741,58,64116],\n[M,1741,46,64104,1741,59,64117],\n[M,1741,68,64126,1741,71,64129],\n[M,1741,61,64119,1741,72,64130],\n[M,1741,10,64068,1741,73,64131],\n[M,1746,27,64206,1746,43,64222],\n[M,1746,27,64206,1746,56,64235],\n[M,1750,20,64333,1750,48,64361],\n[M,1750,31,64344,1750,47,64360],\n[M,1749,8,64297,1750,49,64362],\n[M,1749,8,64297,1751,25,64388],\n[M,1754,8,64431,1757,46,64570],\n[M,1760,16,64620,1760,32,64636],\n[M,1760,8,64612,1763,45,64759],\n[M,1765,6,64767,1771,9,64949],\n[M,1766,8,64816,1770,23,64939],\n[M,1766,9,64817,1766,16,64824],\n[M,1770,10,64926,1770,22,64938],\n[M,1768,10,64857,1768,47,64894],\n[M,1768,18,64865,1768,46,64893],\n[M,1773,6,64957,1802,9,65912],\n[M,1775,10,65065,1784,40,65382],\n[M,1775,11,65066,1775,22,65077],\n[M,1776,12,65091,1783,27,65340],\n[M,1776,13,65092,1776,20,65099],\n[M,1784,22,65364,1784,38,65380],\n[M,1784,12,65354,1784,39,65381],\n[M,1783,14,65327,1783,26,65339],\n[M,1781,14,65263,1781,36,65285],\n[M,1779,14,65170,1779,68,65224],\n[M,1779,22,65178,1779,67,65223],\n[M,1779,22,65178,1779,61,65217],\n[M,1777,14,65115,1777,29,65130],\n[M,1785,30,65413,1785,46,65429],\n[M,1786,10,65442,1793,25,65677],\n[M,1786,11,65443,1786,18,65450],\n[M,1793,12,65664,1793,24,65676],\n[M,1791,12,65604,1791,34,65626],\n[M,1789,12,65515,1789,66,65569],\n[M,1789,20,65523,1789,65,65568],\n[M,1789,20,65523,1789,59,65562],\n[M,1787,12,65464,1787,27,65479],\n[M,1795,10,65702,1800,25,65890],\n[M,1795,11,65703,1795,18,65710],\n[M,1800,12,65877,1800,24,65889],\n[M,1798,12,65775,1798,76,65839],\n[M,1798,20,65783,1798,75,65838],\n[M,1798,20,65783,1798,59,65822],\n[M,1796,12,65724,1796,27,65739],\n[M,1785,16,65399,1785,47,65430],\n[M,1804,6,65920,1813,9,66233],\n[M,1805,8,65998,1812,38,66223],\n[M,1805,9,65999,1805,16,66006],\n[M,1812,10,66195,1812,37,66222],\n[M,1810,10,66146,1810,26,66162],\n[M,1808,10,66078,1808,44,66112],\n[M,1806,10,66018,1806,24,66032],\n[M,1817,10,66307,1820,13,66405],\n[M,1818,13,66328,1818,20,66335],\n[M,1818,22,66337,1818,28,66343],\n[M,1818,30,66345,1818,34,66349],\n[M,1819,12,66367,1819,36,66391],\n[M,1818,12,66327,1818,35,66350],\n[M,1815,18,66253,1820,14,66406],\n[M,1821,17,66424,1821,26,66433],\n[M,1815,18,66253,1821,27,66434],\n[M,1825,10,66521,1828,13,66666],\n[M,1826,13,66542,1826,20,66549],\n[M,1826,22,66551,1826,28,66557],\n[M,1826,30,66559,1826,34,66563],\n[M,1827,60,66629,1827,78,66647],\n[M,1827,61,66630,1827,68,66637],\n[M,1827,12,66581,1827,83,66652],\n[M,1827,25,66594,1827,58,66627],\n[M,1826,12,66541,1826,35,66564],\n[M,1823,31,66467,1828,14,66667],\n[M,1823,31,66467,1829,40,66708],\n[M,1833,10,66781,1841,13,67022],\n[M,1834,13,66802,1834,20,66809],\n[M,1834,22,66811,1834,28,66817],\n[M,1834,30,66819,1834,34,66823],\n[M,1835,46,66875,1835,63,66892],\n[M,1835,47,66876,1835,54,66883],\n[M,1835,12,66841,1840,18,67008],\n[M,1835,25,66854,1835,44,66873],\n[M,1834,12,66801,1834,35,66824],\n[M,1831,17,66727,1841,14,67023],\n[M,1831,17,66727,1842,37,67061],\n[M,1846,10,67135,1849,13,67229],\n[M,1847,13,67156,1847,19,67162],\n[M,1847,21,67164,1847,28,67171],\n[M,1848,12,67189,1848,38,67215],\n[M,1847,12,67155,1847,29,67172],\n[M,1844,19,67082,1849,14,67230],\n[M,1850,17,67248,1850,26,67257],\n[M,1844,19,67082,1850,27,67258],\n[M,1854,10,67329,1856,13,67428],\n[M,1855,45,67382,1855,72,67409],\n[M,1855,46,67383,1855,53,67390],\n[M,1855,55,67392,1855,71,67408],\n[M,1855,12,67349,1855,77,67414],\n[M,1855,25,67362,1855,43,67380],\n[M,1852,16,67276,1856,14,67429],\n[M,1852,16,67276,1857,36,67466],\n[M,1859,6,67474,1882,43,68326],\n[M,1859,7,67475,1859,15,67483],\n[M,1862,12,67551,1870,15,67825],\n[M,1863,15,67574,1863,22,67581],\n[M,1863,24,67583,1863,30,67589],\n[M,1863,32,67591,1863,36,67595],\n[M,1864,14,67615,1869,35,67809],\n[M,1864,15,67616,1864,26,67627],\n[M,1865,16,67645,1868,39,67772],\n[M,1865,17,67646,1865,24,67653],\n[M,1869,16,67790,1869,34,67808],\n[M,1868,18,67751,1868,38,67771],\n[M,1866,18,67673,1866,34,67689],\n[M,1863,14,67573,1863,37,67596],\n[M,1860,8,67493,1870,16,67826],\n[M,1872,12,67859,1873,49,67918],\n[M,1872,13,67860,1872,20,67867],\n[M,1860,8,67493,1873,50,67919],\n[M,1878,34,68092,1878,52,68110],\n[M,1880,8,68196,1882,42,68325],\n[M,1882,10,68293,1882,41,68324],\n[M,1882,20,68303,1882,40,68323],\n[M,1881,10,68248,1881,43,68281],\n[M,1881,21,68259,1881,42,68280],\n[M,1875,8,68001,1879,72,68186],\n[M,1879,54,68168,1879,70,68184],\n[M,1879,40,68154,1879,71,68185],\n[M,1879,10,68124,1879,35,68149],\n[M,1878,10,68068,1878,54,68112],\n[M,1878,21,68079,1878,53,68111],\n[M,1874,8,67929,1874,70,67991],\n[M,1874,23,67944,1874,59,67980],\n[M,1874,33,67954,1874,58,67979],\n[M,1873,14,67883,1873,48,67917],\n[M,1857,17,67447,1857,35,67465],\n[M,1842,17,67041,1842,36,67060],\n[M,1829,17,66685,1829,39,66707],\n[M,1762,11,64689,1762,34,64712],\n[M,1761,11,64651,1761,35,64675],\n[M,1760,9,64613,1760,33,64637],\n[M,1756,11,64499,1756,34,64522],\n[M,1755,11,64461,1755,35,64485],\n[M,1746,8,64187,1746,79,64258],\n[M,1691,20,61803,1691,38,61821],\n[M,1884,4,68340,1919,7,69995],\n[M,1885,17,68385,1885,34,68402],\n[M,1885,17,68385,1885,43,68411],\n[M,1888,23,68568,1888,41,68586],\n[M,1891,11,68672,1891,27,68688],\n[M,1891,11,68672,1891,40,68701],\n[M,1896,8,68769,1913,11,69668],\n[M,1897,13,68799,1897,29,68815],\n[M,1897,13,68799,1897,42,68828],\n[M,1898,12,68842,1902,50,69159],\n[M,1898,13,68843,1898,21,68851],\n[M,1899,14,68867,1899,112,68965],\n[M,1899,15,68868,1899,22,68875],\n[M,1899,62,68915,1899,80,68933],\n[M,1901,14,69027,1901,94,69107],\n[M,1901,15,69028,1901,22,69035],\n[M,1902,31,69140,1902,48,69157],\n[M,1902,14,69123,1902,49,69158],\n[M,1901,77,69090,1901,93,69106],\n[M,1901,57,69070,1901,75,69088],\n[M,1901,24,69037,1901,55,69068],\n[M,1901,32,69045,1901,54,69067],\n[M,1899,83,68936,1899,111,68964],\n[M,1899,91,68944,1899,110,68963],\n[M,1899,53,68906,1899,81,68934],\n[M,1899,24,68877,1899,51,68904],\n[M,1904,12,69188,1911,50,69642],\n[M,1904,13,69189,1904,21,69197],\n[M,1905,14,69213,1906,72,69354],\n[M,1905,15,69214,1905,22,69221],\n[M,1905,62,69261,1905,80,69279],\n[M,1907,33,69389,1907,49,69405],\n[M,1908,14,69422,1908,40,69448],\n[M,1908,15,69423,1908,22,69430],\n[M,1910,14,69510,1910,94,69590],\n[M,1910,15,69511,1910,22,69518],\n[M,1911,31,69623,1911,48,69640],\n[M,1911,14,69606,1911,49,69641],\n[M,1910,77,69573,1910,93,69589],\n[M,1910,57,69553,1910,75,69571],\n[M,1910,24,69520,1910,55,69551],\n[M,1910,32,69528,1910,54,69550],\n[M,1908,24,69432,1908,39,69447],\n[M,1906,16,69298,1906,71,69353],\n[M,1906,24,69306,1906,70,69352],\n[M,1905,53,69252,1905,81,69280],\n[M,1905,24,69223,1905,51,69250],\n[M,1914,8,69678,1918,46,69986],\n[M,1914,9,69679,1914,17,69687],\n[M,1915,10,69699,1915,109,69798],\n[M,1915,11,69700,1915,18,69707],\n[M,1915,58,69747,1915,76,69765],\n[M,1916,29,69829,1916,45,69845],\n[M,1917,10,69858,1917,90,69938],\n[M,1917,11,69859,1917,18,69866],\n[M,1918,27,69967,1918,44,69984],\n[M,1890,6,68641,1918,47,69987],\n[M,1918,10,69950,1918,45,69985],\n[M,1917,73,69921,1917,89,69937],\n[M,1917,53,69901,1917,71,69919],\n[M,1917,20,69868,1917,51,69899],\n[M,1917,28,69876,1917,50,69898],\n[M,1915,79,69768,1915,108,69797],\n[M,1915,87,69776,1915,107,69796],\n[M,1915,49,69738,1915,77,69766],\n[M,1915,20,69709,1915,47,69736],\n[M,1888,23,68568,1888,46,68591],\n[M,1887,19,68493,1887,32,68506],\n[M,1886,20,68432,1886,33,68445],\n[M,1922,4,70056,1934,7,70696],\n[M,1925,10,70212,1931,68,70639],\n[M,1925,11,70213,1925,19,70221],\n[M,1927,12,70290,1927,149,70427],\n[M,1927,13,70291,1927,20,70298],\n[M,1928,12,70441,1928,51,70480],\n[M,1928,13,70442,1928,20,70449],\n[M,1929,21,70503,1929,34,70516],\n[M,1930,12,70531,1930,50,70569],\n[M,1930,13,70532,1930,20,70539],\n[M,1931,47,70618,1931,65,70636],\n[M,1931,12,70583,1931,67,70638],\n[M,1930,22,70541,1930,49,70568],\n[M,1929,12,70494,1929,35,70517],\n[M,1928,22,70451,1928,50,70479],\n[M,1927,22,70300,1927,148,70426],\n[M,1926,12,70235,1926,53,70276],\n[M,1924,8,70189,1931,68,70639],\n[M,1923,6,70139,1933,9,70688],\n[M,1932,18,70658,1932,38,70678],\n[M,1932,8,70648,1932,38,70678],\n[M,1923,12,70145,1923,20,70153],\n[M,1923,22,70155,1923,46,70179],\n[M,1935,4,70702,1942,7,71087],\n[M,1936,6,70736,1941,64,71079],\n[M,1936,7,70737,1936,15,70745],\n[M,1937,8,70755,1937,136,70883],\n[M,1937,9,70756,1937,16,70763],\n[M,1938,8,70893,1938,47,70932],\n[M,1938,9,70894,1938,16,70901],\n[M,1939,17,70951,1939,30,70964],\n[M,1940,8,70975,1940,46,71013],\n[M,1940,9,70976,1940,16,70983],\n[M,1941,43,71058,1941,61,71076],\n[M,1941,8,71023,1941,63,71078],\n[M,1940,18,70985,1940,45,71012],\n[M,1939,8,70942,1939,31,70965],\n[M,1938,18,70903,1938,46,70931],\n[M,1937,18,70765,1937,135,70882],\n[M,1945,4,71157,2007,7,73381],\n[M,1950,20,71348,1968,16,71989],\n[M,1952,14,71401,1960,29,71742],\n[M,1952,15,71402,1952,26,71413],\n[M,1953,16,71431,1959,39,71711],\n[M,1953,17,71432,1953,24,71439],\n[M,1956,20,71529,1957,56,71631],\n[M,1956,21,71530,1956,32,71541],\n[M,1958,20,71653,1958,32,71665],\n[M,1958,21,71654,1958,28,71661],\n[M,1960,16,71729,1960,28,71741],\n[M,1959,18,71690,1959,38,71710],\n[M,1955,18,71495,1958,37,71670],\n[M,1957,34,71609,1957,55,71630],\n[M,1956,34,71543,1956,64,71573],\n[M,1956,42,71551,1956,63,71572],\n[M,1954,18,71459,1954,34,71475],\n[M,1962,14,71775,1967,37,71972],\n[M,1962,15,71776,1962,22,71783],\n[M,1967,16,71951,1967,36,71971],\n[M,1966,16,71924,1966,25,71933],\n[M,1965,16,71881,1965,41,71906],\n[M,1964,16,71833,1964,46,71863],\n[M,1964,24,71841,1964,45,71862],\n[M,1963,16,71801,1963,30,71815],\n[M,1951,15,71369,1951,31,71385],\n[M,1949,8,71312,1968,17,71990],\n[M,1970,12,72023,1973,45,72154],\n[M,1970,13,72024,1970,20,72031],\n[M,1949,8,71312,1973,46,72155],\n[M,1977,20,72278,1990,30,72841],\n[M,1977,23,72281,1977,34,72292],\n[M,1977,36,72294,1977,40,72298],\n[M,1979,28,72362,1979,84,72418],\n[M,1979,66,72400,1979,79,72413],\n[M,1979,67,72401,1979,74,72408],\n[M,1979,35,72369,1979,83,72417],\n[M,1979,48,72382,1979,64,72398],\n[M,1978,20,72322,1979,85,72419],\n[M,1978,20,72322,1980,44,72464],\n[M,1981,14,72479,1990,29,72840],\n[M,1981,15,72480,1981,22,72487],\n[M,1985,27,72604,1985,40,72617],\n[M,1987,29,72684,1987,40,72695],\n[M,1989,50,72783,1989,72,72805],\n[M,1989,51,72784,1989,58,72791],\n[M,1989,60,72793,1989,71,72804],\n[M,1990,16,72827,1990,28,72839],\n[M,1989,16,72749,1989,76,72809],\n[M,1989,29,72762,1989,48,72781],\n[M,1988,16,72714,1988,33,72731],\n[M,1987,16,72671,1987,41,72696],\n[M,1986,16,72636,1986,33,72653],\n[M,1985,16,72593,1985,41,72618],\n[M,1984,16,72559,1984,32,72575],\n[M,1982,16,72505,1982,31,72520],\n[M,1980,27,72447,1980,43,72463],\n[M,1977,22,72280,1977,41,72299],\n[M,1976,8,72184,1990,31,72842],\n[M,1992,12,72875,1997,41,73082],\n[M,1992,13,72876,1992,20,72883],\n[M,1994,25,72951,1994,38,72964],\n[M,1996,27,73027,1996,38,73038],\n[M,1976,8,72184,1997,42,73083],\n[M,1999,6,73091,2006,113,73373],\n[M,1999,7,73092,1999,15,73100],\n[M,2002,17,73160,2002,27,73170],\n[M,2003,8,73181,2006,112,73372],\n[M,2003,9,73182,2003,16,73189],\n[M,2006,10,73270,2006,111,73371],\n[M,2005,10,73228,2005,40,73258],\n[M,2005,18,73236,2005,39,73257],\n[M,2004,10,73201,2004,25,73216],\n[M,2002,8,73151,2002,28,73171],\n[M,1997,14,73055,1997,40,73081],\n[M,1996,14,73014,1996,39,73039],\n[M,1995,14,72981,1995,31,72998],\n[M,1994,14,72940,1994,39,72965],\n[M,1993,14,72899,1993,39,72924],\n[M,1976,8,72184,1976,81,72257],\n[M,1973,14,72123,1973,44,72153],\n[M,1972,14,72077,1972,44,72107],\n[M,1972,22,72085,1972,43,72106],\n[M,1971,14,72047,1971,28,72061],\n[M,1946,24,71258,1946,48,71282],\n[M,2008,4,73387,2033,7,74259],\n[M,2009,6,73421,2032,113,74251],\n[M,2009,7,73422,2009,15,73430],\n[M,2011,10,73478,2017,36,73684],\n[M,2012,12,73496,2017,35,73683],\n[M,2012,13,73497,2012,20,73504],\n[M,2017,14,73662,2017,34,73682],\n[M,2016,14,73637,2016,23,73646],\n[M,2015,14,73596,2015,39,73621],\n[M,2014,14,73550,2014,44,73580],\n[M,2014,22,73558,2014,43,73579],\n[M,2013,14,73520,2013,28,73534],\n[M,2018,10,73696,2021,43,73821],\n[M,2018,11,73697,2018,18,73704],\n[M,2022,8,73832,2027,37,74019],\n[M,2022,9,73833,2022,16,73840],\n[M,2024,21,73900,2024,34,73913],\n[M,2026,23,73968,2026,34,73979],\n[M,2028,17,74038,2028,27,74048],\n[M,2029,8,74059,2032,112,74250],\n[M,2029,9,74060,2029,16,74067],\n[M,2032,10,74148,2032,111,74249],\n[M,2031,10,74106,2031,40,74136],\n[M,2031,18,74114,2031,39,74135],\n[M,2030,10,74079,2030,25,74094],\n[M,2028,8,74029,2028,28,74049],\n[M,2027,10,73992,2027,36,74018],\n[M,2026,10,73955,2026,35,73980],\n[M,2025,10,73926,2025,27,73943],\n[M,2024,10,73889,2024,35,73914],\n[M,2023,10,73852,2023,35,73877],\n[M,2010,8,73440,2021,44,73822],\n[M,2021,12,73790,2021,42,73820],\n[M,2020,12,73746,2020,42,73776],\n[M,2020,20,73754,2020,41,73775],\n[M,2019,12,73718,2019,26,73732],\n[M,2036,4,74310,2072,7,75841],\n[M,2037,9,74396,2037,17,74404],\n[M,2037,9,74396,2037,30,74417],\n[M,2038,8,74427,2041,37,74620],\n[M,2038,9,74428,2038,17,74436],\n[M,2039,61,74499,2039,69,74507],\n[M,2040,10,74520,2040,71,74581],\n[M,2040,11,74521,2040,18,74528],\n[M,2041,19,74602,2041,35,74618],\n[M,2041,10,74593,2041,36,74619],\n[M,2040,20,74530,2040,70,74580],\n[M,2039,10,74448,2039,70,74508],\n[M,2042,28,74649,2042,36,74657],\n[M,2043,34,74694,2043,42,74702],\n[M,2045,12,74742,2057,41,75301],\n[M,2045,13,74743,2045,21,74751],\n[M,2046,58,74811,2046,66,74819],\n[M,2047,24,74856,2047,32,74864],\n[M,2048,14,74881,2056,54,75258],\n[M,2048,15,74882,2048,22,74889],\n[M,2050,51,74975,2055,24,75198],\n[M,2050,52,74976,2050,59,74983],\n[M,2057,23,75283,2057,39,75299],\n[M,2057,14,75274,2057,40,75300],\n[M,2056,16,75220,2056,53,75257],\n[M,2050,16,74940,2055,28,75202],\n[M,2052,45,75067,2052,51,75073],\n[M,2052,22,75044,2052,51,75073],\n[M,2051,20,75006,2055,23,75197],\n[M,2053,54,75128,2053,60,75134],\n[M,2053,22,75096,2053,60,75134],\n[M,2054,33,75168,2054,38,75173],\n[M,2050,29,74953,2050,49,74973],\n[M,2049,16,74907,2049,31,74922],\n[M,2047,14,74846,2047,33,74865],\n[M,2046,14,74767,2046,77,74830],\n[M,2044,10,74715,2057,41,75301],\n[M,2043,8,74668,2065,11,75609],\n[M,2059,12,75339,2064,41,75597],\n[M,2059,13,75340,2059,21,75348],\n[M,2060,58,75408,2060,66,75416],\n[M,2061,24,75452,2061,32,75460],\n[M,2062,14,75477,2063,67,75554],\n[M,2062,15,75478,2062,22,75485],\n[M,2064,23,75579,2064,39,75595],\n[M,2064,14,75570,2064,40,75596],\n[M,2063,16,75503,2063,66,75553],\n[M,2061,14,75442,2061,33,75461],\n[M,2060,14,75364,2060,76,75426],\n[M,2058,10,75312,2064,41,75597],\n[M,2043,14,74674,2043,22,74682],\n[M,2043,24,74684,2043,43,74703],\n[M,2067,8,75630,2070,37,75823],\n[M,2067,9,75631,2067,17,75639],\n[M,2068,61,75702,2068,69,75710],\n[M,2069,10,75723,2069,71,75784],\n[M,2069,11,75724,2069,18,75731],\n[M,2070,19,75805,2070,35,75821],\n[M,2070,10,75796,2070,36,75822],\n[M,2069,20,75733,2069,70,75783],\n[M,2068,10,75651,2068,70,75711],\n[M,2042,14,74635,2042,37,74658],\n[M,2073,4,75847,2078,7,76076],\n[M,2074,6,75881,2077,35,76068],\n[M,2074,7,75882,2074,15,75890],\n[M,2075,59,75951,2075,67,75959],\n[M,2076,8,75970,2076,69,76031],\n[M,2076,9,75971,2076,16,75978],\n[M,2077,17,76050,2077,33,76066],\n[M,2077,8,76041,2077,34,76067],\n[M,2076,18,75980,2076,68,76030],\n[M,2075,8,75900,2075,68,75960],\n[M,2080,4,76119,2108,7,77264],\n[M,2081,9,76205,2081,17,76213],\n[M,2081,9,76205,2081,30,76226],\n[M,2082,8,76236,2088,30,76450],\n[M,2082,9,76237,2082,17,76245],\n[M,2083,10,76257,2087,29,76418],\n[M,2083,11,76258,2083,18,76265],\n[M,2085,28,76336,2085,37,76345],\n[M,2087,19,76408,2087,27,76416],\n[M,2088,10,76430,2088,29,76449],\n[M,2087,12,76401,2087,28,76417],\n[M,2086,12,76361,2086,38,76387],\n[M,2085,12,76320,2085,39,76347],\n[M,2085,20,76328,2085,38,76346],\n[M,2084,12,76279,2084,38,76305],\n[M,2089,28,76479,2089,36,76487],\n[M,2090,8,76498,2098,71,76912],\n[M,2090,9,76499,2090,17,76507],\n[M,2091,10,76519,2093,72,76630],\n[M,2091,11,76520,2091,18,76527],\n[M,2093,48,76606,2093,67,76625],\n[M,2093,49,76607,2093,56,76614],\n[M,2093,58,76616,2093,66,76624],\n[M,2094,20,76652,2094,28,76660],\n[M,2095,10,76673,2098,70,76911],\n[M,2095,11,76674,2095,18,76681],\n[M,2097,42,76816,2097,61,76835],\n[M,2097,43,76817,2097,50,76824],\n[M,2097,52,76826,2097,60,76834],\n[M,2098,12,76853,2098,69,76910],\n[M,2097,12,76786,2097,65,76839],\n[M,2097,25,76799,2097,40,76814],\n[M,2096,12,76695,2096,89,76772],\n[M,2094,10,76642,2094,29,76661],\n[M,2093,12,76570,2093,71,76629],\n[M,2093,25,76583,2093,46,76604],\n[M,2092,12,76541,2092,27,76556],\n[M,2100,8,76933,2106,141,77246],\n[M,2100,9,76934,2100,17,76942],\n[M,2101,10,76954,2106,140,77245],\n[M,2101,11,76955,2101,18,76962],\n[M,2103,28,77033,2103,37,77042],\n[M,2105,19,77094,2105,27,77102],\n[M,2106,12,77117,2106,139,77244],\n[M,2105,12,77087,2105,28,77103],\n[M,2104,12,77058,2104,27,77073],\n[M,2103,12,77017,2103,39,77044],\n[M,2103,20,77025,2103,38,77043],\n[M,2102,12,76976,2102,38,77002],\n[M,2089,14,76465,2089,37,76488],\n[M,2109,4,77270,2127,7,77904],\n[M,2110,9,77307,2110,17,77315],\n[M,2110,9,77307,2110,30,77328],\n[M,2111,8,77338,2117,30,77552],\n[M,2111,9,77339,2111,17,77347],\n[M,2112,10,77359,2116,29,77520],\n[M,2112,11,77360,2112,18,77367],\n[M,2114,28,77438,2114,37,77447],\n[M,2116,19,77510,2116,27,77518],\n[M,2117,10,77532,2117,29,77551],\n[M,2116,12,77503,2116,28,77519],\n[M,2115,12,77463,2115,38,77489],\n[M,2114,12,77422,2114,39,77449],\n[M,2114,20,77430,2114,38,77448],\n[M,2113,12,77381,2113,38,77407],\n[M,2119,8,77573,2125,141,77886],\n[M,2119,9,77574,2119,17,77582],\n[M,2120,10,77594,2125,140,77885],\n[M,2120,11,77595,2120,18,77602],\n[M,2122,28,77673,2122,37,77682],\n[M,2124,19,77734,2124,27,77742],\n[M,2125,12,77757,2125,139,77884],\n[M,2124,12,77727,2124,28,77743],\n[M,2123,12,77698,2123,27,77713],\n[M,2122,12,77657,2122,39,77684],\n[M,2122,20,77665,2122,38,77683],\n[M,2121,12,77616,2121,38,77642],\n[M,2129,4,77970,2131,7,78081],\n[M,2130,6,78053,2130,26,78073],\n[M,2132,4,78087,2139,7,78416],\n[M,2133,6,78121,2138,67,78408],\n[M,2133,7,78122,2133,15,78130],\n[M,2134,8,78140,2137,14,78339],\n[M,2134,9,78141,2134,16,78148],\n[M,2135,13,78163,2135,23,78173],\n[M,2135,13,78163,2135,32,78182],\n[M,2138,26,78367,2138,36,78377],\n[M,2138,26,78367,2138,49,78390],\n[M,2138,8,78349,2138,66,78407],\n[M,2135,39,78189,2135,86,78236],\n[M,2136,39,78276,2136,87,78324],\n[M,2135,13,78163,2135,37,78187],\n[M,2141,4,78533,2191,7,80819],\n[M,2142,6,78616,2190,12,80811],\n[M,2142,7,78617,2142,15,78625],\n[M,2145,15,78717,2145,31,78733],\n[M,2146,14,78749,2157,36,79302],\n[M,2146,15,78750,2146,26,78761],\n[M,2147,16,78779,2152,113,79077],\n[M,2147,17,78780,2147,24,78787],\n[M,2149,34,78877,2149,50,78893],\n[M,2153,16,79095,2156,53,79264],\n[M,2153,17,79096,2153,24,79103],\n[M,2154,27,79132,2154,37,79142],\n[M,2156,26,79237,2156,37,79248],\n[M,2157,16,79282,2157,35,79301],\n[M,2156,40,79251,2156,52,79263],\n[M,2156,18,79229,2156,38,79249],\n[M,2155,18,79163,2155,64,79209],\n[M,2154,18,79123,2154,38,79143],\n[M,2152,18,78982,2152,112,79076],\n[M,2151,18,78951,2151,29,78962],\n[M,2150,18,78915,2150,34,78931],\n[M,2149,18,78861,2149,52,78895],\n[M,2149,26,78869,2149,51,78894],\n[M,2148,18,78808,2148,51,78841],\n[M,2159,14,79357,2166,54,79763],\n[M,2159,15,79358,2159,26,79369],\n[M,2160,25,79396,2160,41,79412],\n[M,2162,16,79477,2166,53,79762],\n[M,2162,17,79478,2162,24,79485],\n[M,2164,27,79630,2164,37,79640],\n[M,2166,26,79735,2166,37,79746],\n[M,2166,40,79749,2166,52,79761],\n[M,2166,18,79727,2166,38,79747],\n[M,2165,18,79661,2165,64,79707],\n[M,2164,18,79621,2164,38,79641],\n[M,2163,18,79505,2163,114,79601],\n[M,2161,16,79445,2161,30,79459],\n[M,2160,16,79387,2160,56,79427],\n[M,2168,14,79796,2178,54,80314],\n[M,2168,15,79797,2168,26,79808],\n[M,2169,16,79826,2174,115,80126],\n[M,2169,17,79827,2169,24,79834],\n[M,2171,34,79924,2171,50,79940],\n[M,2175,16,80144,2178,53,80313],\n[M,2175,17,80145,2175,24,80152],\n[M,2176,27,80181,2176,37,80191],\n[M,2178,26,80286,2178,37,80297],\n[M,2178,40,80300,2178,52,80312],\n[M,2178,18,80278,2178,38,80298],\n[M,2177,18,80212,2177,64,80258],\n[M,2176,18,80172,2176,38,80192],\n[M,2174,18,80029,2174,114,80125],\n[M,2173,18,79998,2173,29,80009],\n[M,2172,18,79962,2172,34,79978],\n[M,2171,18,79908,2171,52,79942],\n[M,2171,26,79916,2171,51,79941],\n[M,2170,18,79855,2170,51,79888],\n[M,2158,20,79323,2158,38,79341],\n[M,2144,10,78687,2179,15,80330],\n[M,2143,8,78635,2190,11,80810],\n[M,2181,12,80363,2189,52,80798],\n[M,2181,13,80364,2181,24,80375],\n[M,2182,14,80391,2185,113,80618],\n[M,2182,15,80392,2182,22,80399],\n[M,2184,32,80485,2184,48,80501],\n[M,2186,14,80634,2189,51,80797],\n[M,2186,15,80635,2186,22,80642],\n[M,2187,25,80669,2187,35,80679],\n[M,2189,24,80770,2189,35,80781],\n[M,2189,38,80784,2189,50,80796],\n[M,2189,16,80762,2189,36,80782],\n[M,2188,16,80698,2188,62,80744],\n[M,2187,16,80660,2187,36,80680],\n[M,2185,16,80521,2185,112,80617],\n[M,2184,16,80469,2184,50,80503],\n[M,2184,24,80477,2184,49,80502],\n[M,2183,16,80418,2183,49,80451],\n[M,2180,10,80341,2189,52,80798],\n[M,2143,14,78641,2143,22,78649],\n[M,2143,24,78651,2143,48,78675],\n[M,2192,4,80825,2231,7,82441],\n[M,2194,8,80895,2221,11,82024],\n[M,2195,13,80918,2195,29,80934],\n[M,2196,12,80948,2207,34,81476],\n[M,2196,13,80949,2196,21,80957],\n[M,2197,14,80973,2202,111,81261],\n[M,2197,15,80974,2197,22,80981],\n[M,2199,32,81067,2199,48,81083],\n[M,2203,14,81277,2206,51,81440],\n[M,2203,15,81278,2203,22,81285],\n[M,2204,25,81312,2204,35,81322],\n[M,2206,24,81413,2206,35,81424],\n[M,2207,14,81456,2207,33,81475],\n[M,2206,38,81427,2206,50,81439],\n[M,2206,16,81405,2206,36,81425],\n[M,2205,16,81341,2205,62,81387],\n[M,2204,16,81303,2204,36,81323],\n[M,2202,16,81166,2202,110,81260],\n[M,2201,16,81137,2201,27,81148],\n[M,2200,16,81103,2200,32,81119],\n[M,2199,16,81051,2199,50,81085],\n[M,2199,24,81059,2199,49,81084],\n[M,2198,16,81000,2198,49,81033],\n[M,2209,12,81505,2219,52,81998],\n[M,2209,13,81506,2209,21,81514],\n[M,2210,14,81530,2215,111,81818],\n[M,2210,15,81531,2210,22,81538],\n[M,2212,32,81624,2212,48,81640],\n[M,2216,14,81834,2219,51,81997],\n[M,2216,15,81835,2216,22,81842],\n[M,2217,25,81869,2217,35,81879],\n[M,2219,24,81970,2219,35,81981],\n[M,2219,38,81984,2219,50,81996],\n[M,2219,16,81962,2219,36,81982],\n[M,2218,16,81898,2218,62,81944],\n[M,2217,16,81860,2217,36,81880],\n[M,2215,16,81723,2215,110,81817],\n[M,2214,16,81694,2214,27,81705],\n[M,2213,16,81660,2213,32,81676],\n[M,2212,16,81608,2212,50,81642],\n[M,2212,24,81616,2212,49,81641],\n[M,2211,16,81557,2211,49,81590],\n[M,2222,8,82034,2230,48,82432],\n[M,2222,9,82035,2222,17,82043],\n[M,2223,10,82055,2226,107,82268],\n[M,2223,11,82056,2223,18,82063],\n[M,2225,28,82141,2225,44,82157],\n[M,2227,10,82280,2230,47,82431],\n[M,2227,11,82281,2227,18,82288],\n[M,2228,21,82311,2228,31,82321],\n[M,2230,20,82404,2230,31,82415],\n[M,2193,6,80859,2230,49,82433],\n[M,2230,34,82418,2230,46,82430],\n[M,2230,12,82396,2230,32,82416],\n[M,2229,12,82336,2229,58,82382],\n[M,2228,12,82302,2228,32,82322],\n[M,2226,12,82173,2226,106,82267],\n[M,2225,12,82125,2225,46,82159],\n[M,2225,20,82133,2225,45,82158],\n[M,2224,12,82078,2224,45,82111],\n[M,2233,4,82507,2235,7,82625],\n[M,2234,6,82590,2234,26,82610],\n[M,2236,4,82631,2274,7,84528],\n[M,2237,15,82674,2237,26,82685],\n[M,2238,15,82701,2238,26,82712],\n[M,2242,10,82843,2252,13,83309],\n[M,2243,12,82882,2250,91,83282],\n[M,2243,13,82883,2243,21,82891],\n[M,2244,14,82907,2244,41,82934],\n[M,2244,15,82908,2244,22,82915],\n[M,2245,14,82950,2245,54,82990],\n[M,2245,15,82951,2245,22,82958],\n[M,2246,14,83006,2246,41,83033],\n[M,2246,15,83007,2246,22,83014],\n[M,2247,14,83049,2247,55,83090],\n[M,2247,15,83050,2247,22,83057],\n[M,2248,14,83106,2248,41,83133],\n[M,2248,15,83107,2248,22,83114],\n[M,2249,14,83149,2250,90,83281],\n[M,2249,15,83150,2249,22,83157],\n[M,2250,44,83235,2250,89,83280],\n[M,2250,16,83207,2250,42,83233],\n[M,2250,24,83215,2250,41,83232],\n[M,2249,24,83159,2249,54,83189],\n[M,2248,24,83116,2248,40,83132],\n[M,2247,24,83059,2247,54,83089],\n[M,2246,24,83016,2246,40,83032],\n[M,2245,24,82960,2245,53,82989],\n[M,2244,24,82917,2244,40,82933],\n[M,2253,13,83323,2253,24,83334],\n[M,2254,12,83376,2260,100,83802],\n[M,2254,13,83377,2254,21,83385],\n[M,2255,14,83401,2255,114,83501],\n[M,2255,15,83402,2255,22,83409],\n[M,2256,14,83517,2256,54,83557],\n[M,2256,15,83518,2256,22,83525],\n[M,2257,14,83573,2257,41,83600],\n[M,2257,15,83574,2257,22,83581],\n[M,2258,14,83616,2258,55,83657],\n[M,2258,15,83617,2258,22,83624],\n[M,2259,14,83673,2259,41,83700],\n[M,2259,15,83674,2259,22,83681],\n[M,2260,14,83716,2260,99,83801],\n[M,2260,15,83717,2260,22,83724],\n[M,2260,78,83780,2260,98,83800],\n[M,2260,64,83766,2260,76,83778],\n[M,2260,24,83726,2260,62,83764],\n[M,2259,24,83683,2259,40,83699],\n[M,2258,24,83626,2258,54,83656],\n[M,2257,24,83583,2257,40,83599],\n[M,2256,24,83527,2256,53,83556],\n[M,2255,24,83411,2255,113,83500],\n[M,2262,12,83886,2262,98,83972],\n[M,2264,12,84028,2264,110,84126],\n[M,2266,12,84182,2266,110,84280],\n[M,2253,10,83320,2267,13,84294],\n[M,2253,13,83323,2253,52,83362],\n[M,2269,10,84326,2272,45,84510],\n[M,2269,11,84327,2269,19,84335],\n[M,2270,12,84349,2270,80,84417],\n[M,2270,13,84350,2270,20,84357],\n[M,2271,12,84431,2271,44,84463],\n[M,2271,13,84432,2271,20,84439],\n[M,2271,31,84450,2271,42,84461],\n[M,2272,12,84477,2272,44,84509],\n[M,2272,13,84478,2272,20,84485],\n[M,2272,31,84496,2272,42,84507],\n[M,2272,22,84487,2272,43,84508],\n[M,2271,22,84441,2271,43,84462],\n[M,2270,22,84359,2270,79,84416],\n[M,2276,4,84609,2327,7,86489],\n[M,2277,6,84692,2293,9,85365],\n[M,2280,24,84825,2280,42,84843],\n[M,2280,24,84825,2280,44,84845],\n[M,2279,10,84752,2280,45,84846],\n[M,2278,8,84726,2292,11,85355],\n[M,2282,24,84927,2282,42,84945],\n[M,2282,24,84927,2282,44,84947],\n[M,2281,10,84857,2282,45,84948],\n[M,2284,24,85022,2284,31,85029],\n[M,2283,10,84959,2284,32,85030],\n[M,2286,24,85104,2286,31,85111],\n[M,2285,10,85041,2286,32,85112],\n[M,2288,24,85195,2288,42,85213],\n[M,2288,24,85195,2288,44,85215],\n[M,2287,10,85123,2288,45,85216],\n[M,2290,24,85290,2290,31,85297],\n[M,2289,10,85227,2290,32,85298],\n[M,2291,25,85324,2291,43,85342],\n[M,2296,16,85412,2296,34,85430],\n[M,2296,8,85404,2299,36,85544],\n[M,2303,20,85614,2303,63,85657],\n[M,2303,26,85620,2303,62,85656],\n[M,2303,42,85636,2303,58,85652],\n[M,2303,43,85637,2303,50,85644],\n[M,2303,52,85646,2303,57,85651],\n[M,2302,8,85573,2303,64,85658],\n[M,2304,19,85678,2304,27,85686],\n[M,2302,8,85573,2304,28,85687],\n[M,2307,25,85734,2307,40,85749],\n[M,2313,6,85860,2326,70,86481],\n[M,2313,7,85861,2313,15,85869],\n[M,2315,20,85920,2318,45,86085],\n[M,2316,12,85938,2318,44,86084],\n[M,2316,13,85939,2316,24,85950],\n[M,2317,34,85986,2317,39,85991],\n[M,2317,57,86009,2317,75,86027],\n[M,2318,24,86064,2318,42,86082],\n[M,2318,14,86054,2318,43,86083],\n[M,2317,14,85966,2317,86,86038],\n[M,2317,23,85975,2317,55,86007],\n[M,2317,23,85975,2317,39,85991],\n[M,2314,8,85879,2318,46,86086],\n[M,2319,54,86141,2319,72,86159],\n[M,2314,8,85879,2319,74,86161],\n[M,2320,8,86171,2325,50,86409],\n[M,2320,9,86172,2320,16,86179],\n[M,2324,38,86338,2324,54,86354],\n[M,2326,30,86441,2326,42,86453],\n[M,2326,30,86441,2326,55,86466],\n[M,2326,30,86441,2326,68,86479],\n[M,2326,9,86420,2326,69,86480],\n[M,2325,10,86369,2325,49,86408],\n[M,2324,10,86310,2324,57,86357],\n[M,2324,22,86322,2324,56,86356],\n[M,2324,30,86330,2324,55,86355],\n[M,2323,10,86258,2323,50,86298],\n[M,2322,10,86218,2322,38,86246],\n[M,2322,21,86229,2322,37,86245],\n[M,2321,10,86191,2321,25,86206],\n[M,2319,19,86106,2319,73,86160],\n[M,2308,10,85762,2308,56,85808],\n[M,2308,26,85778,2308,52,85804],\n[M,2308,27,85779,2308,34,85786],\n[M,2308,36,85788,2308,51,85803],\n[M,2310,10,85833,2310,17,85840],\n[M,2307,11,85720,2307,41,85750],\n[M,2298,11,85483,2298,34,85506],\n[M,2297,11,85445,2297,35,85469],\n[M,2296,9,85405,2296,35,85431],\n[M,2328,4,86495,2336,7,86858],\n[M,2329,6,86529,2335,69,86850],\n[M,2329,7,86530,2329,15,86538],\n[M,2330,43,86583,2330,61,86601],\n[M,2331,8,86612,2334,50,86779],\n[M,2331,9,86613,2331,16,86620],\n[M,2333,26,86709,2333,42,86725],\n[M,2335,29,86810,2335,41,86822],\n[M,2335,29,86810,2335,54,86835],\n[M,2335,29,86810,2335,67,86848],\n[M,2335,8,86789,2335,68,86849],\n[M,2334,10,86739,2334,49,86778],\n[M,2333,10,86693,2333,44,86727],\n[M,2333,18,86701,2333,43,86726],\n[M,2332,10,86632,2332,59,86681],\n[M,2330,8,86548,2330,62,86602],\n[M,2338,4,86930,2388,7,88720],\n[M,2339,6,87013,2355,9,87695],\n[M,2342,24,87146,2342,42,87164],\n[M,2342,24,87146,2342,44,87166],\n[M,2341,10,87073,2342,45,87167],\n[M,2340,8,87047,2354,11,87685],\n[M,2344,24,87248,2344,42,87266],\n[M,2344,24,87248,2344,44,87268],\n[M,2343,10,87178,2344,45,87269],\n[M,2346,24,87343,2346,31,87350],\n[M,2345,10,87280,2346,32,87351],\n[M,2348,24,87425,2348,31,87432],\n[M,2347,10,87362,2348,32,87433],\n[M,2350,24,87516,2350,42,87534],\n[M,2350,24,87516,2350,44,87536],\n[M,2349,10,87444,2350,45,87537],\n[M,2352,24,87611,2352,31,87618],\n[M,2351,10,87548,2352,32,87619],\n[M,2353,34,87654,2353,52,87672],\n[M,2358,16,87742,2358,34,87760],\n[M,2358,8,87734,2361,36,87874],\n[M,2365,20,87944,2365,63,87987],\n[M,2365,26,87950,2365,62,87986],\n[M,2365,42,87966,2365,58,87982],\n[M,2365,43,87967,2365,50,87974],\n[M,2365,52,87976,2365,57,87981],\n[M,2364,8,87903,2365,64,87988],\n[M,2366,19,88008,2366,27,88016],\n[M,2364,8,87903,2366,28,88017],\n[M,2369,25,88064,2369,40,88079],\n[M,2375,6,88190,2387,24,88712],\n[M,2375,7,88191,2375,15,88199],\n[M,2377,20,88250,2380,45,88415],\n[M,2378,12,88268,2380,44,88414],\n[M,2378,13,88269,2378,24,88280],\n[M,2379,34,88316,2379,39,88321],\n[M,2379,57,88339,2379,75,88357],\n[M,2380,24,88394,2380,42,88412],\n[M,2380,14,88384,2380,43,88413],\n[M,2379,14,88296,2379,86,88368],\n[M,2379,23,88305,2379,55,88337],\n[M,2379,23,88305,2379,39,88321],\n[M,2376,8,88209,2380,46,88416],\n[M,2381,54,88471,2381,72,88489],\n[M,2376,8,88209,2381,74,88491],\n[M,2382,8,88501,2387,23,88711],\n[M,2382,9,88502,2382,16,88509],\n[M,2386,38,88667,2386,54,88683],\n[M,2387,10,88698,2387,22,88710],\n[M,2386,10,88639,2386,57,88686],\n[M,2386,22,88651,2386,56,88685],\n[M,2386,30,88659,2386,55,88684],\n[M,2385,10,88588,2385,49,88627],\n[M,2384,10,88548,2384,38,88576],\n[M,2384,21,88559,2384,37,88575],\n[M,2383,10,88521,2383,25,88536],\n[M,2381,19,88436,2381,73,88490],\n[M,2370,10,88092,2370,56,88138],\n[M,2370,26,88108,2370,52,88134],\n[M,2370,27,88109,2370,34,88116],\n[M,2370,36,88118,2370,51,88133],\n[M,2372,10,88163,2372,17,88170],\n[M,2369,11,88050,2369,41,88080],\n[M,2360,11,87813,2360,34,87836],\n[M,2359,11,87775,2359,35,87799],\n[M,2358,9,87735,2358,35,87761],\n[M,2389,4,88726,2396,7,88991],\n[M,2390,6,88760,2395,24,88983],\n[M,2390,7,88761,2390,15,88769],\n[M,2391,43,88814,2391,61,88832],\n[M,2392,8,88843,2395,23,88982],\n[M,2392,9,88844,2392,16,88851],\n[M,2394,26,88939,2394,42,88955],\n[M,2395,10,88969,2395,22,88981],\n[M,2394,10,88923,2394,44,88957],\n[M,2394,18,88931,2394,43,88956],\n[M,2393,10,88863,2393,58,88911],\n[M,2391,8,88779,2391,62,88833],\n[M,2399,4,89018,2401,7,89129],\n[M,2400,6,89101,2400,26,89121],\n[M,2402,4,89135,2404,7,89223],\n[M,2403,6,89169,2403,52,89215],\n[M,2403,7,89170,2403,15,89178],\n[M,2403,17,89180,2403,51,89214],\n[M,2407,4,89272,2409,7,89383],\n[M,2408,6,89355,2408,26,89375],\n[M,2410,4,89389,2410,79,89464],\n[M,2410,32,89417,2410,75,89460],\n[M,2410,33,89418,2410,41,89426],\n[M,2410,43,89428,2410,74,89459],\n[M,2410,44,89429,2410,51,89436],\n[M,2410,62,89447,2410,72,89457],\n[M,2410,53,89438,2410,73,89458],\n[M,2411,4,89470,2413,7,89529],\n[M,2412,18,89510,2412,28,89520],\n[M,2412,6,89498,2412,29,89521],\n[M,2416,4,89570,2418,7,89681],\n[M,2417,6,89653,2417,26,89673],\n[M,2419,4,89687,2421,7,89790],\n[M,2420,6,89721,2420,67,89782],\n[M,2420,7,89722,2420,15,89730],\n[M,2420,56,89771,2420,65,89780],\n[M,2420,47,89762,2420,66,89781],\n[M,2420,17,89732,2420,45,89760],\n[M,2424,4,89837,2426,7,89948],\n[M,2425,6,89920,2425,26,89940],\n[M,2427,4,89954,2429,7,90007],\n[M,2428,6,89988,2428,17,89999],\n[M,88,2,2030,98,7,2557],\n[M,99,2,2560,129,7,3494],\n[M,130,2,3497,139,7,3816],\n[M,130,33,3528,130,39,3534],\n[M,140,2,3819,163,7,4760],\n[M,164,2,4763,201,7,6235],\n[M,202,2,6238,239,7,7759],\n[M,240,2,7762,277,7,9232],\n[M,278,2,9235,312,7,10662],\n[M,313,2,10665,333,7,11771],\n[M,313,43,10706,313,49,10712],\n[M,334,2,11774,343,7,12153],\n[M,344,2,12156,353,7,12538],\n[M,354,2,12541,371,7,13313],\n[M,372,2,13316,428,7,15553],\n[M,372,39,13353,372,45,13359],\n[M,429,2,15556,452,7,16578],\n[M,453,2,16581,472,7,17420],\n[M,453,54,16633,453,60,16639],\n[M,453,71,16650,453,77,16656],\n[M,473,2,17423,510,7,18955],\n[M,473,44,17465,473,50,17471],\n[M,511,2,18958,568,7,21394],\n[M,511,47,19003,511,53,19009],\n[M,569,2,21397,621,7,23385],\n[M,622,2,23388,700,7,26540],\n[M,701,2,26543,743,7,28163],\n[M,701,45,26586,701,51,26592],\n[M,744,2,28166,786,7,29825],\n[M,787,2,29828,798,7,30361],\n[M,799,2,30364,811,7,30943],\n[M,812,2,30946,881,7,33591],\n[M,812,38,30982,812,44,30988],\n[M,882,2,33594,1003,7,38737],\n[M,1004,2,38740,1104,7,43089],\n[M,1105,2,43092,1319,7,49614],\n[M,1105,64,43154,1105,71,43161],\n[M,1320,2,49617,1477,7,54400],\n[M,1478,2,54403,1686,7,61567],\n[M,1688,2,61571,1919,7,69995],\n[M,1921,2,69999,1942,7,71087],\n[M,1944,2,71091,2033,7,74259],\n[M,2035,2,74263,2078,7,76076],\n[M,2079,2,76079,2127,7,77904],\n[M,2128,2,77907,2139,7,78416],\n[M,2140,2,78419,2231,7,82441],\n[M,2140,39,78456,2140,45,78462],\n[M,2140,63,78480,2140,69,78486],\n[M,2140,81,78498,2140,87,78504],\n[M,2232,2,82444,2274,7,84528],\n[M,2232,31,82473,2232,37,82479],\n[M,2275,2,84531,2336,7,86858],\n[M,2337,2,86861,2396,7,88991],\n[M,2398,2,88995,2404,7,89223],\n[M,2406,2,89231,2413,7,89529],\n[M,2415,2,89537,2421,7,89790],\n[M,2415,17,89552,2415,23,89558],\n[M,2423,2,89798,2429,7,90007],\n[M,2423,23,89819,2423,29,89825],\n[M,87,0,2009,2430,3,90011],\n[M,2434,4,90070,2453,7,90926],\n[M,2435,23,90142,2435,29,90148],\n[M,2436,8,90185,2445,26,90633],\n[M,2436,9,90186,2436,17,90194],\n[M,2437,10,90206,2438,75,90291],\n[M,2437,11,90207,2437,18,90214],\n[M,2439,20,90313,2439,26,90319],\n[M,2439,29,90322,2439,35,90328],\n[M,2440,10,90341,2445,25,90632],\n[M,2440,11,90342,2440,18,90349],\n[M,2442,57,90480,2442,74,90497],\n[M,2442,58,90481,2442,65,90488],\n[M,2442,67,90490,2442,73,90496],\n[M,2444,47,90584,2444,64,90601],\n[M,2444,48,90585,2444,55,90592],\n[M,2444,57,90594,2444,63,90600],\n[M,2445,12,90619,2445,24,90631],\n[M,2444,12,90549,2444,68,90605],\n[M,2444,25,90562,2444,45,90582],\n[M,2443,12,90515,2443,32,90535],\n[M,2442,12,90435,2442,78,90501],\n[M,2442,25,90448,2442,55,90478],\n[M,2441,12,90363,2441,70,90421],\n[M,2439,10,90303,2439,36,90329],\n[M,2439,20,90313,2439,35,90328],\n[M,2438,12,90228,2438,74,90290],\n[M,2447,8,90654,2451,65,90908],\n[M,2447,9,90655,2447,17,90663],\n[M,2448,10,90675,2451,64,90907],\n[M,2448,11,90676,2448,18,90683],\n[M,2449,57,90742,2449,63,90748],\n[M,2449,66,90751,2449,72,90757],\n[M,2451,12,90855,2451,63,90906],\n[M,2450,12,90772,2450,81,90841],\n[M,2449,50,90735,2449,73,90758],\n[M,2449,57,90742,2449,72,90757],\n[M,2449,12,90697,2449,48,90733],\n[M,2435,49,90168,2435,55,90174],\n[M,2435,35,90154,2435,56,90175],\n[M,2435,9,90128,2435,30,90149],\n[M,2454,4,90932,2460,7,91220],\n[M,2455,6,90966,2459,63,91212],\n[M,2455,7,90967,2455,15,90975],\n[M,2456,8,90985,2459,62,91211],\n[M,2456,9,90986,2456,16,90993],\n[M,2457,55,91050,2457,61,91056],\n[M,2457,64,91059,2457,70,91065],\n[M,2459,10,91159,2459,61,91210],\n[M,2458,10,91078,2458,79,91147],\n[M,2457,48,91043,2457,71,91066],\n[M,2457,55,91050,2457,70,91065],\n[M,2457,10,91005,2457,46,91041],\n[M,2462,4,91268,2480,7,92041],\n[M,2463,23,91340,2463,29,91346],\n[M,2464,8,91383,2472,26,91773],\n[M,2464,9,91384,2464,17,91392],\n[M,2465,10,91404,2466,77,91491],\n[M,2465,11,91405,2465,18,91412],\n[M,2467,20,91513,2467,26,91519],\n[M,2468,10,91532,2472,25,91772],\n[M,2468,11,91533,2468,18,91540],\n[M,2469,54,91596,2469,71,91613],\n[M,2469,55,91597,2469,62,91604],\n[M,2469,64,91606,2469,70,91612],\n[M,2471,47,91724,2471,64,91741],\n[M,2471,48,91725,2471,55,91732],\n[M,2471,57,91734,2471,63,91740],\n[M,2472,12,91759,2472,24,91771],\n[M,2471,12,91689,2471,68,91745],\n[M,2471,25,91702,2471,45,91722],\n[M,2470,12,91632,2470,55,91675],\n[M,2469,12,91554,2469,76,91618],\n[M,2469,25,91567,2469,52,91594],\n[M,2467,10,91503,2467,27,91520],\n[M,2466,12,91426,2466,76,91490],\n[M,2474,8,91794,2478,47,92023],\n[M,2474,9,91795,2474,17,91803],\n[M,2475,10,91815,2478,46,92022],\n[M,2475,11,91816,2475,18,91823],\n[M,2476,57,91882,2476,63,91888],\n[M,2478,12,91988,2478,45,92021],\n[M,2477,12,91903,2477,83,91974],\n[M,2476,50,91875,2476,64,91889],\n[M,2476,12,91837,2476,48,91873],\n[M,2463,49,91366,2463,55,91372],\n[M,2463,35,91352,2463,56,91373],\n[M,2463,9,91326,2463,30,91347],\n[M,2481,4,92047,2487,7,92320],\n[M,2482,6,92081,2486,46,92312],\n[M,2482,7,92082,2482,15,92090],\n[M,2483,8,92100,2486,45,92311],\n[M,2483,9,92101,2483,16,92108],\n[M,2484,55,92165,2484,61,92171],\n[M,2484,64,92174,2484,70,92180],\n[M,2486,10,92276,2486,44,92310],\n[M,2485,10,92193,2485,81,92264],\n[M,2484,48,92158,2484,71,92181],\n[M,2484,55,92165,2484,70,92180],\n[M,2484,10,92120,2484,46,92156],\n[M,2489,4,92385,2511,7,93742],\n[M,2490,23,92457,2490,31,92465],\n[M,2491,8,92476,2499,83,93090],\n[M,2491,9,92477,2491,17,92485],\n[M,2492,10,92497,2492,76,92563],\n[M,2492,11,92498,2492,18,92505],\n[M,2493,20,92585,2493,28,92593],\n[M,2494,10,92606,2499,82,93089],\n[M,2494,11,92607,2494,18,92614],\n[M,2495,91,92782,2495,110,92801],\n[M,2495,92,92783,2495,99,92790],\n[M,2495,101,92792,2495,109,92800],\n[M,2499,12,93019,2499,81,93088],\n[M,2498,43,92983,2498,65,93005],\n[M,2498,51,92991,2498,64,93004],\n[M,2498,12,92952,2498,41,92981],\n[M,2497,35,92917,2497,56,92938],\n[M,2497,43,92925,2497,55,92937],\n[M,2497,12,92894,2497,33,92915],\n[M,2496,53,92859,2496,74,92880],\n[M,2496,61,92867,2496,73,92879],\n[M,2496,12,92818,2496,51,92857],\n[M,2495,50,92741,2495,113,92804],\n[M,2495,63,92754,2495,90,92781],\n[M,2495,12,92703,2495,49,92740],\n[M,2494,20,92616,2494,93,92689],\n[M,2493,10,92575,2493,29,92594],\n[M,2492,20,92507,2492,75,92562],\n[M,2501,8,93111,2509,83,93724],\n[M,2501,9,93112,2501,17,93120],\n[M,2502,10,93132,2503,29,93228],\n[M,2502,11,93133,2502,18,93140],\n[M,2503,19,93218,2503,27,93226],\n[M,2504,10,93240,2509,82,93723],\n[M,2504,11,93241,2504,18,93248],\n[M,2505,91,93416,2505,110,93435],\n[M,2505,92,93417,2505,99,93424],\n[M,2505,101,93426,2505,109,93434],\n[M,2509,12,93653,2509,81,93722],\n[M,2508,43,93617,2508,65,93639],\n[M,2508,51,93625,2508,64,93638],\n[M,2508,12,93586,2508,41,93615],\n[M,2507,35,93551,2507,56,93572],\n[M,2507,43,93559,2507,55,93571],\n[M,2507,12,93528,2507,33,93549],\n[M,2506,53,93493,2506,74,93514],\n[M,2506,61,93501,2506,73,93513],\n[M,2506,12,93452,2506,51,93491],\n[M,2505,50,93375,2505,113,93438],\n[M,2505,63,93388,2505,90,93415],\n[M,2505,12,93337,2505,49,93374],\n[M,2504,20,93250,2504,93,93323],\n[M,2503,12,93211,2503,28,93227],\n[M,2502,20,93142,2502,75,93197],\n[M,2490,9,92443,2490,32,92466],\n[M,2512,4,93748,2523,7,94394],\n[M,2513,6,93782,2522,7,94386],\n[M,2513,7,93783,2513,15,93791],\n[M,2514,8,93801,2514,104,93897],\n[M,2514,9,93802,2514,16,93809],\n[M,2514,94,93887,2514,102,93895],\n[M,2515,8,93907,2515,90,93989],\n[M,2515,9,93908,2515,16,93915],\n[M,2516,8,93999,2516,73,94064],\n[M,2516,9,94000,2516,16,94007],\n[M,2517,8,94074,2520,36,94303],\n[M,2517,9,94075,2517,16,94082],\n[M,2521,8,94313,2521,73,94378],\n[M,2521,9,94314,2521,16,94321],\n[M,2521,18,94323,2521,72,94377],\n[M,2520,10,94277,2520,35,94302],\n[M,2519,41,94243,2519,63,94265],\n[M,2519,49,94251,2519,62,94264],\n[M,2519,10,94212,2519,39,94241],\n[M,2518,33,94179,2518,54,94200],\n[M,2518,41,94187,2518,53,94199],\n[M,2518,10,94156,2518,31,94177],\n[M,2517,57,94123,2517,78,94144],\n[M,2517,65,94131,2517,77,94143],\n[M,2517,18,94084,2517,55,94121],\n[M,2516,18,94009,2516,72,94063],\n[M,2515,18,93917,2515,89,93988],\n[M,2514,18,93811,2514,73,93866],\n[M,2525,4,94438,2542,7,95459],\n[M,2526,23,94510,2526,31,94518],\n[M,2527,8,94529,2533,107,94999],\n[M,2527,9,94530,2527,17,94538],\n[M,2528,10,94550,2528,76,94616],\n[M,2528,11,94551,2528,18,94558],\n[M,2529,20,94638,2529,28,94646],\n[M,2530,10,94659,2533,106,94998],\n[M,2530,11,94660,2530,18,94667],\n[M,2531,48,94783,2531,67,94802],\n[M,2531,49,94784,2531,56,94791],\n[M,2531,58,94793,2531,66,94801],\n[M,2533,12,94904,2533,105,94997],\n[M,2532,12,94819,2532,83,94890],\n[M,2531,12,94747,2531,70,94805],\n[M,2531,25,94760,2531,47,94782],\n[M,2531,33,94768,2531,46,94781],\n[M,2530,20,94669,2530,84,94733],\n[M,2529,10,94628,2529,29,94647],\n[M,2528,20,94560,2528,75,94615],\n[M,2535,8,95020,2540,107,95441],\n[M,2535,9,95021,2535,17,95029],\n[M,2536,10,95041,2537,29,95137],\n[M,2536,11,95042,2536,18,95049],\n[M,2537,19,95127,2537,27,95135],\n[M,2538,10,95149,2540,106,95440],\n[M,2538,11,95150,2538,18,95157],\n[M,2540,12,95346,2540,105,95439],\n[M,2539,12,95261,2539,83,95332],\n[M,2538,86,95225,2538,108,95247],\n[M,2538,94,95233,2538,107,95246],\n[M,2538,20,95159,2538,84,95223],\n[M,2537,12,95120,2537,28,95136],\n[M,2536,20,95051,2536,75,95106],\n[M,2526,9,94496,2526,32,94519],\n[M,2543,4,95465,2550,7,95928],\n[M,2544,6,95499,2549,105,95920],\n[M,2544,7,95500,2544,15,95508],\n[M,2545,8,95518,2545,74,95584],\n[M,2545,9,95519,2545,16,95526],\n[M,2546,27,95613,2546,35,95621],\n[M,2547,8,95632,2549,104,95919],\n[M,2547,9,95633,2547,16,95640],\n[M,2549,10,95825,2549,103,95918],\n[M,2548,10,95742,2548,81,95813],\n[M,2547,84,95708,2547,106,95730],\n[M,2547,92,95716,2547,105,95729],\n[M,2547,18,95642,2547,82,95706],\n[M,2545,18,95528,2545,73,95583],\n[M,2552,4,95964,2569,7,96751],\n[M,2553,23,96036,2553,31,96044],\n[M,2554,8,96055,2561,125,96435],\n[M,2554,9,96056,2554,17,96064],\n[M,2555,10,96077,2558,43,96256],\n[M,2555,11,96078,2555,18,96085],\n[M,2557,40,96188,2557,59,96207],\n[M,2557,41,96189,2557,48,96196],\n[M,2557,50,96198,2557,58,96206],\n[M,2559,21,96279,2559,29,96287],\n[M,2560,10,96300,2561,124,96434],\n[M,2560,11,96301,2560,18,96308],\n[M,2561,12,96322,2561,123,96433],\n[M,2559,11,96269,2559,30,96288],\n[M,2558,12,96225,2558,42,96255],\n[M,2557,12,96160,2557,63,96211],\n[M,2557,25,96173,2557,39,96187],\n[M,2556,12,96099,2556,59,96146],\n[M,2563,8,96456,2567,146,96733],\n[M,2563,9,96457,2563,17,96465],\n[M,2564,10,96478,2567,145,96732],\n[M,2564,11,96479,2564,18,96486],\n[M,2566,19,96576,2566,27,96584],\n[M,2567,12,96599,2567,144,96731],\n[M,2566,12,96569,2566,28,96585],\n[M,2565,12,96500,2565,67,96555],\n[M,2553,9,96022,2553,32,96045],\n[M,2570,4,96757,2574,7,97010],\n[M,2571,6,96791,2573,114,97002],\n[M,2571,7,96792,2571,15,96800],\n[M,2571,17,96802,2573,113,97001],\n[M,2571,18,96803,2571,25,96810],\n[M,2573,10,96898,2573,112,97000],\n[M,2572,10,96822,2572,74,96886],\n[M,2576,4,97062,2595,7,97883],\n[M,2577,23,97134,2577,31,97142],\n[M,2578,8,97153,2585,53,97508],\n[M,2578,9,97154,2578,17,97162],\n[M,2579,10,97175,2580,48,97233],\n[M,2579,11,97176,2579,18,97183],\n[M,2581,20,97255,2581,28,97263],\n[M,2582,10,97276,2585,52,97507],\n[M,2582,11,97277,2582,18,97284],\n[M,2585,12,97467,2585,51,97506],\n[M,2584,12,97430,2584,35,97453],\n[M,2584,20,97438,2584,34,97452],\n[M,2583,12,97298,2583,130,97416],\n[M,2581,10,97245,2581,29,97264],\n[M,2580,12,97197,2580,47,97232],\n[M,2587,8,97529,2593,53,97865],\n[M,2587,9,97530,2587,17,97538],\n[M,2588,10,97551,2593,52,97864],\n[M,2588,11,97552,2588,18,97559],\n[M,2590,19,97632,2590,27,97640],\n[M,2593,12,97824,2593,51,97863],\n[M,2592,12,97787,2592,35,97810],\n[M,2592,20,97795,2592,34,97809],\n[M,2591,12,97655,2591,130,97773],\n[M,2590,12,97625,2590,28,97641],\n[M,2589,12,97573,2589,50,97611],\n[M,2577,9,97120,2577,32,97143],\n[M,2596,4,97889,2601,7,98153],\n[M,2597,6,97923,2600,64,98145],\n[M,2597,7,97924,2597,15,97932],\n[M,2597,17,97934,2600,63,98144],\n[M,2597,18,97935,2597,33,97950],\n[M,2599,29,98070,2599,37,98078],\n[M,2600,10,98091,2600,62,98143],\n[M,2598,10,97962,2598,87,98039],\n[M,2603,4,98198,2619,7,98773],\n[M,2604,23,98270,2604,31,98278],\n[M,2605,8,98289,2611,79,98552],\n[M,2605,9,98290,2605,17,98298],\n[M,2606,10,98311,2608,70,98420],\n[M,2606,11,98312,2606,18,98319],\n[M,2608,46,98396,2608,65,98415],\n[M,2608,47,98397,2608,54,98404],\n[M,2608,56,98406,2608,64,98414],\n[M,2609,20,98442,2609,28,98450],\n[M,2610,10,98463,2611,78,98551],\n[M,2610,11,98464,2610,18,98471],\n[M,2611,12,98485,2611,77,98550],\n[M,2609,10,98432,2609,29,98451],\n[M,2608,12,98362,2608,69,98419],\n[M,2608,25,98375,2608,44,98394],\n[M,2607,12,98333,2607,27,98348],\n[M,2613,8,98573,2617,79,98755],\n[M,2613,9,98574,2613,17,98582],\n[M,2614,10,98595,2617,78,98754],\n[M,2614,11,98596,2614,18,98603],\n[M,2616,19,98665,2616,27,98673],\n[M,2617,12,98688,2617,77,98753],\n[M,2616,12,98658,2616,28,98674],\n[M,2615,12,98617,2615,39,98644],\n[M,2604,9,98256,2604,32,98279],\n[M,2620,4,98779,2625,7,98983],\n[M,2621,6,98813,2624,54,98975],\n[M,2621,7,98814,2621,15,98822],\n[M,2621,17,98824,2624,53,98974],\n[M,2621,18,98825,2621,33,98840],\n[M,2623,29,98910,2623,37,98918],\n[M,2624,10,98931,2624,52,98973],\n[M,2622,10,98852,2622,37,98879],\n[M,2627,4,99026,2642,7,99644],\n[M,2628,23,99098,2628,31,99106],\n[M,2629,8,99117,2634,129,99368],\n[M,2629,9,99118,2629,17,99126],\n[M,2630,10,99139,2631,37,99186],\n[M,2630,11,99140,2630,18,99147],\n[M,2632,20,99208,2632,28,99216],\n[M,2633,10,99229,2634,128,99367],\n[M,2633,11,99230,2633,18,99237],\n[M,2634,12,99251,2634,127,99366],\n[M,2632,10,99198,2632,29,99217],\n[M,2631,12,99161,2631,36,99185],\n[M,2636,8,99389,2640,108,99626],\n[M,2636,9,99390,2636,17,99398],\n[M,2637,10,99411,2640,107,99625],\n[M,2637,11,99412,2637,18,99419],\n[M,2639,19,99507,2639,27,99515],\n[M,2640,12,99530,2640,106,99624],\n[M,2639,12,99500,2639,28,99516],\n[M,2638,12,99433,2638,65,99486],\n[M,2628,9,99084,2628,32,99107],\n[M,2643,4,99650,2648,7,99937],\n[M,2644,6,99684,2647,102,99929],\n[M,2644,7,99685,2644,15,99693],\n[M,2644,17,99695,2647,101,99928],\n[M,2644,18,99696,2644,33,99711],\n[M,2646,29,99816,2646,37,99824],\n[M,2647,10,99837,2647,100,99927],\n[M,2645,10,99723,2645,72,99785],\n[M,2650,4,99987,2688,7,101597],\n[M,2651,23,100059,2651,30,100066],\n[M,2651,23,100059,2651,32,100068],\n[M,2652,8,100079,2669,9,100857],\n[M,2652,9,100080,2652,17,100088],\n[M,2653,10,100101,2655,79,100219],\n[M,2653,11,100102,2653,18,100109],\n[M,2655,54,100194,2655,74,100214],\n[M,2655,55,100195,2655,62,100202],\n[M,2655,64,100204,2655,71,100211],\n[M,2655,64,100204,2655,73,100213],\n[M,2656,20,100241,2656,27,100248],\n[M,2656,20,100241,2656,29,100250],\n[M,2657,10,100263,2659,102,100423],\n[M,2657,11,100264,2657,18,100271],\n[M,2660,21,100446,2660,28,100453],\n[M,2662,14,100501,2664,97,100698],\n[M,2662,15,100502,2662,22,100509],\n[M,2664,16,100617,2664,96,100697],\n[M,2663,63,100574,2663,88,100599],\n[M,2663,71,100582,2663,87,100598],\n[M,2663,16,100527,2663,61,100572],\n[M,2661,12,100467,2664,97,100698],\n[M,2660,10,100435,2668,13,100847],\n[M,2666,14,100735,2667,88,100833],\n[M,2666,15,100736,2666,22,100743],\n[M,2667,16,100761,2667,87,100832],\n[M,2659,83,100404,2659,101,100422],\n[M,2659,56,100377,2659,81,100402],\n[M,2659,64,100385,2659,80,100401],\n[M,2659,39,100360,2659,54,100375],\n[M,2659,12,100333,2659,37,100358],\n[M,2659,20,100341,2659,36,100357],\n[M,2658,12,100285,2658,46,100319],\n[M,2656,10,100231,2656,30,100251],\n[M,2655,12,100152,2655,78,100218],\n[M,2655,25,100165,2655,52,100192],\n[M,2654,12,100123,2654,27,100138],\n[M,2671,8,100878,2686,9,101579],\n[M,2671,9,100879,2671,17,100887],\n[M,2672,10,100900,2676,102,101148],\n[M,2672,11,100901,2672,26,100916],\n[M,2674,19,100986,2674,26,100993],\n[M,2674,19,100986,2674,28,100995],\n[M,2677,21,101171,2677,28,101178],\n[M,2679,14,101223,2681,97,101420],\n[M,2679,15,101224,2679,22,101231],\n[M,2681,16,101339,2681,96,101419],\n[M,2680,63,101296,2680,88,101321],\n[M,2680,71,101304,2680,87,101320],\n[M,2680,16,101249,2680,61,101294],\n[M,2678,12,101192,2681,97,101420],\n[M,2677,10,101160,2685,13,101569],\n[M,2683,14,101457,2684,88,101555],\n[M,2683,15,101458,2683,22,101465],\n[M,2684,16,101483,2684,87,101554],\n[M,2676,83,101129,2676,101,101147],\n[M,2676,56,101102,2676,81,101127],\n[M,2676,64,101110,2676,80,101126],\n[M,2676,39,101085,2676,54,101100],\n[M,2676,12,101058,2676,37,101083],\n[M,2676,20,101066,2676,36,101082],\n[M,2675,12,101010,2675,46,101044],\n[M,2674,12,100979,2674,29,100996],\n[M,2673,12,100930,2673,47,100965],\n[M,2651,9,100045,2651,33,100069],\n[M,2689,4,101603,2698,7,102018],\n[M,2690,6,101637,2697,83,102010],\n[M,2690,7,101638,2690,15,101646],\n[M,2691,8,101657,2695,100,101907],\n[M,2691,9,101658,2691,24,101673],\n[M,2693,29,101751,2693,37,101759],\n[M,2696,8,101917,2697,82,102009],\n[M,2696,9,101918,2696,16,101925],\n[M,2697,10,101937,2697,81,102008],\n[M,2695,81,101888,2695,99,101906],\n[M,2695,54,101861,2695,79,101886],\n[M,2695,62,101869,2695,78,101885],\n[M,2695,37,101844,2695,52,101859],\n[M,2695,10,101817,2695,35,101842],\n[M,2695,18,101825,2695,34,101841],\n[M,2694,10,101772,2694,43,101805],\n[M,2692,10,101685,2692,45,101720],\n[M,2700,4,102050,2702,7,102142],\n[M,2701,34,102112,2701,42,102120],\n[M,2701,34,102112,2701,55,102133],\n[M,2701,6,102084,2701,56,102134],\n[M,2701,14,102092,2701,55,102133],\n[M,2704,4,102177,2706,7,102318],\n[M,2705,83,102288,2705,91,102296],\n[M,2705,83,102288,2705,104,102309],\n[M,2705,6,102211,2705,105,102310],\n[M,2705,14,102219,2705,104,102309],\n[M,2708,4,102359,2710,7,102500],\n[M,2709,83,102470,2709,91,102478],\n[M,2709,83,102470,2709,104,102491],\n[M,2709,6,102393,2709,105,102492],\n[M,2709,14,102401,2709,104,102491],\n[M,2712,4,102538,2712,90,102624],\n[M,2712,64,102598,2712,72,102606],\n[M,2712,64,102598,2712,85,102619],\n[M,2712,32,102566,2712,86,102620],\n[M,2712,40,102574,2712,85,102619],\n[M,2714,4,102660,2714,88,102744],\n[M,2714,62,102718,2714,70,102726],\n[M,2714,62,102718,2714,83,102739],\n[M,2714,32,102688,2714,84,102740],\n[M,2714,40,102696,2714,83,102739],\n[M,2716,4,102783,2716,91,102870],\n[M,2716,65,102844,2716,73,102852],\n[M,2716,65,102844,2716,86,102865],\n[M,2716,32,102811,2716,87,102866],\n[M,2716,40,102819,2716,86,102865],\n[M,2718,4,102913,2718,95,103004],\n[M,2718,69,102978,2718,77,102986],\n[M,2718,69,102978,2718,90,102999],\n[M,2718,32,102941,2718,91,103000],\n[M,2718,40,102949,2718,90,102999],\n[M,2720,4,103036,2720,84,103116],\n[M,2720,58,103090,2720,66,103098],\n[M,2720,58,103090,2720,79,103111],\n[M,2720,32,103064,2720,80,103112],\n[M,2720,40,103072,2720,79,103111],\n[M,2722,4,103150,2722,86,103232],\n[M,2722,60,103206,2722,68,103214],\n[M,2722,60,103206,2722,81,103227],\n[M,2722,32,103178,2722,82,103228],\n[M,2722,40,103186,2722,81,103227],\n[M,2433,2,90032,2460,7,91220],\n[M,2461,2,91223,2487,7,92320],\n[M,2488,2,92323,2523,7,94394],\n[M,2488,46,92367,2488,52,92373],\n[M,2524,2,94397,2550,7,95928],\n[M,2551,2,95931,2574,7,97010],\n[M,2575,2,97013,2601,7,98153],\n[M,2602,2,98156,2625,7,98983],\n[M,2626,2,98986,2648,7,99937],\n[M,2649,2,99940,2698,7,102018],\n[M,2699,2,102021,2702,7,102142],\n[M,2703,2,102145,2706,7,102318],\n[M,2707,2,102321,2710,7,102500],\n[M,2711,2,102503,2712,90,102624],\n[M,2713,2,102627,2714,88,102744],\n[M,2715,2,102747,2716,91,102870],\n[M,2717,2,102873,2718,95,103004],\n[M,2719,2,103007,2720,84,103116],\n[M,2721,2,103119,2722,86,103232],\n[M,2432,0,90013,2723,3,103236],\n[\"dummy location\"],\n[M,1,0,0,2723,3,103236]];\nvar string$length1 = R.getModuleField(\"builtin://global\",\"values\",\"string-length\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$is$roughnum2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-roughnum\");\nvar is$nothing3 = R.getModuleField(\"builtin://global\",\"values\",\"is-nothing\");\nvar is$number4 = R.getModuleField(\"builtin://global\",\"values\",\"is-number\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar ED6 = $ED12;\nvar $underscore_import7 = $$underscore_import5;\nvar O8 = $O13;\nvar S9 = $S14;\nvar VS10 = $VS8;\nvar $cases_dispatch6786 = {\"s-raises\":36};\nvar $cases_dispatch6765 = {\"s-op-raises\":17};\nvar $cases_dispatch5427 = {\"s-table-extend\":1,\n\"s-table-update\":2,\n\"s-table-select\":3,\n\"s-table-order\":4,\n\"s-table-filter\":5,\n\"s-table-extract\":6};\nvar $cases_dispatch5247 = {\"s-table-extend\":1,\n\"s-table-update\":2,\n\"s-table-select\":3,\n\"s-table-order\":4,\n\"s-table-filter\":5,\n\"s-table-extract\":6};\nvar $cases_dispatch5028 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch4785 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch4766 = {\"s-app\":5,\n\"s-for\":6};\nvar $cases_dispatch4755 = {\"s-app\":21,\n\"s-for\":22};\nvar $cases_dispatch4521 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch4152 = {\"s-op\":1,\n\"s-app\":5,\n\"s-fun\":8,\n\"s-lam\":11,\n\"s-method\":14,\n\"s-method-field\":17,\n\"s-dot\":20,\n\"s-extend\":22,\n\"s-update\":24,\n\"s-get-bang\":26,\n\"s-for\":28};\nvar $cases_dispatch3946 = {\"s-id\":1};\nvar $cases_dispatch3942 = {\"s-underscore\":2};\nvar $cases_dispatch3925 = {\"s-app\":1,\n\"s-dot\":4,\n\"s-for\":7,\n\"s-op\":12};\nvar $cases_dispatch3487 = {\"s-variant\":1};\nvar $cases_dispatch3458 = {\"s-app\":1,\n\"s-dot\":4,\n\"s-for\":7,\n\"s-op\":12};\nvar $cases_dispatch3091 = {\"s-variant\":1};\nvar $cases_dispatch3062 = {\"s-cases-branch\":1};\nvar $cases_dispatch2724 = {\"s-variant\":1,\n\"s-singleton-variant\":3};\nvar $cases_dispatch2676 = {\"link\":1,\n\"empty\":2};\nvar $cases_dispatch2660 = {\"s-cases-branch\":1,\n\"s-singleton-cases-branch\":3};\nvar $cases_dispatch2559 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch2527 = {\"some\":22,\n\"none\":23};\nvar $cases_dispatch2485 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2319 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch2283 = {\"some\":25,\n\"none\":26};\nvar $cases_dispatch2237 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2081 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch1911 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1892 = {\"s-extend\":1,\n\"s-app\":2};\nvar $cases_dispatch1881 = {\"s-extend\":21,\n\"s-app\":22};\nvar $cases_dispatch1800 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1781 = {\"s-dot\":1,\n\"s-app\":2};\nvar $cases_dispatch1770 = {\"s-dot\":21,\n\"s-app\":22};\nvar $cases_dispatch1675 = {\"some\":18,\n\"none\":19};\nvar $cases_dispatch1546 = {\"some\":14,\n\"none\":15};\nvar $cases_dispatch1445 = {\"some\":16,\n\"none\":17};\nvar $cases_dispatch1331 = {\"some\":12,\n\"none\":13};\nvar $cases_dispatch1128 = {\"some\":19,\n\"none\":20};\nvar $cases_dispatch1105 = {\"s-dot\":1,\n\"s-app\":2};\nvar $cases_dispatch1094 = {\"s-dot\":31,\n\"s-app\":32};\nvar $cases_dispatch829 = {\"some\":17,\n\"none\":18};\nvar $cases_dispatch361 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch286 = {\"s-app\":1,\n\"s-dot\":6,\n\"s-op\":9};\nvar $cases_dispatch245 = {\"s-dot\":2};\nvar $cases_dispatch189 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch172 = {\"none\":2,\n\"some\":3};\nvar $toplevel17 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4008($$resumer13) {\nvar $step16 = 0;\nvar $elidedFrames23 = 0;\nvar $ans20 = D;\nvar $al21 = L[4008];\nif(R.isAR($$resumer13)) {\n$step16 = $$resumer13.step;\n$al21 = $$resumer13.from;\n$ans20 = $$resumer13.ans;\n$elidedFrames23 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$lookup$constructor$not$object6164 = $$resumer13.vars[0];\nis$field$not$found6156 = $$resumer13.vars[1];\nparse$error$bad$check$operator7101 = $$resumer13.vars[2];\nexit$quiet6278 = $$resumer13.vars[3];\nsample$error6114 = $$resumer13.vars[4];\ndestructure$method$application300 = $$resumer13.vars[5];\nRuntimeError7139 = $$resumer13.vars[6];\nis$duplicate$column6260 = $$resumer13.vars[7];\ntemplate$not$finished6154 = $$resumer13.vars[8];\nis$lookup$non$object6184 = $$resumer13.vars[9];\nis$spinnaker$error6148 = $$resumer13.vars[10];\nparse$error$unterminated$string7089 = $$resumer13.vars[11];\nis$user$exception6268 = $$resumer13.vars[12];\nis$module$load$failure6244 = $$resumer13.vars[13];\nnon$boolean$condition6194 = $$resumer13.vars[14];\nis$constructor$syntax$non$constructor6160 = $$resumer13.vars[15];\nis$num$string$binop$error6204 = $$resumer13.vars[16];\nspinnaker$error6150 = $$resumer13.vars[17];\nis$arity$mismatch6224 = $$resumer13.vars[18];\nis$non$tuple$bind6176 = $$resumer13.vars[19];\nmessage$exception6118 = $$resumer13.vars[20];\nis$extend$non$object6188 = $$resumer13.vars[21];\nis$missing$end7131 = $$resumer13.vars[22];\nis$args$missing$comma7123 = $$resumer13.vars[23];\nis$cases$arity$mismatch6216 = $$resumer13.vars[24];\nnon$function$app6238 = $$resumer13.vars[25];\nupdate$non$obj6122 = $$resumer13.vars[26];\nis$app$args$missing$comma7127 = $$resumer13.vars[27];\nextend$non$object6190 = $$resumer13.vars[28];\nuninitialized$id6242 = $$resumer13.vars[29];\nuser$break6266 = $$resumer13.vars[30];\ncases$singleton$mismatch6214 = $$resumer13.vars[31];\ngeneric$type$mismatch6202 = $$resumer13.vars[32];\nupdate$non$ref6130 = $$resumer13.vars[33];\nis$parse$error$bad$check$operator7099 = $$resumer13.vars[34];\nparse$error$bad$fun$header7073 = $$resumer13.vars[35];\nis$exit$quiet6276 = $$resumer13.vars[36];\ned$intro146 = $$resumer13.vars[37];\nand$if176 = $$resumer13.vars[38];\nis$update$non$existent$field6132 = $$resumer13.vars[39];\nis$sample$error6112 = $$resumer13.vars[40];\nanswer7141 = $$resumer13.vars[41];\nlookup$large$index6174 = $$resumer13.vars[42];\ncol$length$mismatch6234 = $$resumer13.vars[43];\nupdate$frozen$ref6126 = $$resumer13.vars[44];\nis$row$length$mismatch6228 = $$resumer13.vars[45];\nis$RuntimeError6106 = $$resumer13.vars[46];\nlookup$constructor$not$object6166 = $$resumer13.vars[47];\nrow$length$mismatch6230 = $$resumer13.vars[48];\nexit6274 = $$resumer13.vars[49];\nfield$not$found6158 = $$resumer13.vars[50];\nequality$failure6254 = $$resumer13.vars[51];\ninternal$error6146 = $$resumer13.vars[52];\nis$fun$missing$colon7115 = $$resumer13.vars[53];\ncolumn$not$found6258 = $$resumer13.vars[54];\ndraw$and$highlight36 = $$resumer13.vars[55];\nbad$tuple$bind6182 = $$resumer13.vars[56];\nlookup$non$object6186 = $$resumer13.vars[57];\nconstructor$arity$mismatch6222 = $$resumer13.vars[58];\nis$non$function$app6236 = $$resumer13.vars[59];\nis$no$branches$matched6140 = $$resumer13.vars[60];\nis$uninitialized$id6240 = $$resumer13.vars[61];\nis$user$break6264 = $$resumer13.vars[62];\nis$update$non$obj6120 = $$resumer13.vars[63];\nmodule$load$failure6246 = $$resumer13.vars[64];\nis$missing$comma7135 = $$resumer13.vars[65];\nis$parse$error$eof7083 = $$resumer13.vars[66];\nuser$exception6270 = $$resumer13.vars[67];\nis$parse$error$bad$app7067 = $$resumer13.vars[68];\nis$parse$error$bad$fun$header7071 = $$resumer13.vars[69];\nis$cases$singleton$mismatch6212 = $$resumer13.vars[70];\nis$lookup$non$tuple6168 = $$resumer13.vars[71];\nno$cases$matched6138 = $$resumer13.vars[72];\nis$multi$error6108 = $$resumer13.vars[73];\nand$maybe193 = $$resumer13.vars[74];\nis$invalid$array$index6248 = $$resumer13.vars[75];\nParseError7140 = $$resumer13.vars[76];\ninvalid$array$index6250 = $$resumer13.vars[77];\nmulti$error6110 = $$resumer13.vars[78];\nis$empty$block7103 = $$resumer13.vars[79];\nis$lookup$large$index6172 = $$resumer13.vars[80];\nmissing$end7133 = $$resumer13.vars[81];\nparse$error$bad$number7097 = $$resumer13.vars[82];\nbad$check$block$stmt7113 = $$resumer13.vars[83];\nis$equality$failure6252 = $$resumer13.vars[84];\nis$exit6272 = $$resumer13.vars[85];\nparse$error$bad$operator7093 = $$resumer13.vars[86];\nparse$error$next$token7077 = $$resumer13.vars[87];\nis$fun$missing$end7119 = $$resumer13.vars[88];\nis$internal$error6144 = $$resumer13.vars[89];\nupdate$non$existent$field6134 = $$resumer13.vars[90];\nis$column$not$found6256 = $$resumer13.vars[91];\nbad$block$stmt7109 = $$resumer13.vars[92];\nis$template$not$finished6152 = $$resumer13.vars[93];\nhorz$list$values80 = $$resumer13.vars[94];\nfun$missing$end7121 = $$resumer13.vars[95];\nis$constructor$arity$mismatch6220 = $$resumer13.vars[96];\nis$bad$tuple$bind6180 = $$resumer13.vars[97];\nis$non$boolean$condition6192 = $$resumer13.vars[98];\nnon$boolean$op6198 = $$resumer13.vars[99];\nis$parse$error$unterminated$string7087 = $$resumer13.vars[100];\nis$message$exception6116 = $$resumer13.vars[101];\nis$no$cases$matched6136 = $$resumer13.vars[102];\nfun$missing$colon7117 = $$resumer13.vars[103];\nis$parse$error$colon$colon7079 = $$resumer13.vars[104];\nparse$error$colon$colon7081 = $$resumer13.vars[105];\nis$numeric$binop$error6208 = $$resumer13.vars[106];\nduplicate$column6262 = $$resumer13.vars[107];\nnumeric$binop$error6210 = $$resumer13.vars[108];\nis$update$non$ref6128 = $$resumer13.vars[109];\nno$branches$matched6142 = $$resumer13.vars[110];\nis$parse$error$bad$number7095 = $$resumer13.vars[111];\nis$bad$check$block$stmt7111 = $$resumer13.vars[112];\nnum$string$binop$error6206 = $$resumer13.vars[113];\nconstructor$syntax$non$constructor6162 = $$resumer13.vars[114];\nmissing$comma7137 = $$resumer13.vars[115];\nis$parse$error$bad$operator7091 = $$resumer13.vars[116];\nis$generic$type$mismatch6200 = $$resumer13.vars[117];\nparse$error$bad$app7069 = $$resumer13.vars[118];\narity$mismatch6226 = $$resumer13.vars[119];\nparse$error$eof7085 = $$resumer13.vars[120];\nis$parse$error$next$token7075 = $$resumer13.vars[121];\nplease$report$bug158 = $$resumer13.vars[122];\nnon$tuple$bind6178 = $$resumer13.vars[123];\nis$ParseError7065 = $$resumer13.vars[124];\nis$col$length$mismatch6232 = $$resumer13.vars[125];\nis$bad$block$stmt7107 = $$resumer13.vars[126];\nempty$block7105 = $$resumer13.vars[127];\ncases$arity$mismatch6218 = $$resumer13.vars[128];\nargs$missing$comma7125 = $$resumer13.vars[129];\nlookup$non$tuple6170 = $$resumer13.vars[130];\nis$update$frozen$ref6124 = $$resumer13.vars[131];\nis$non$boolean$op6196 = $$resumer13.vars[132];\ned$simple$intro104 = $$resumer13.vars[133];\nvert$list$values58 = $$resumer13.vars[134];\napp$args$missing$comma7129 = $$resumer13.vars[135];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans20 = R.mC();\n}\nwhile(!R.isContinuation($ans20)) {\nswitch($step16) {\ncase 0: var RuntimeError24 = R.nB(\"RuntimeError\",L[3495]);\nvar RuntimeError7139 = R.mBA(RuntimeError24,\"RuntimeError\");\nvar ParseError25 = R.nB(\"ParseError\",L[4006]);\nvar ParseError7140 = R.mBA(ParseError25,\"ParseError\");\nvar draw$and$highlight36 = {\"$var\":D};\nvar vert$list$values58 = {\"$var\":D};\nvar horz$list$values80 = {\"$var\":D};\nvar ed$simple$intro104 = {\"$var\":D};\nvar ed$intro146 = {\"$var\":D};\nvar please$report$bug158 = {\"$var\":D};\nvar and$if176 = {\"$var\":D};\nvar and$maybe193 = {\"$var\":D};\nvar destructure$method$application300 = {\"$var\":D};\nvar RuntimeError6104 = {\"$var\":D};\nvar is$RuntimeError6106 = {\"$var\":D};\nvar is$multi$error6108 = {\"$var\":D};\nvar multi$error6110 = {\"$var\":D};\nvar is$sample$error6112 = {\"$var\":D};\nvar sample$error6114 = {\"$var\":D};\nvar is$message$exception6116 = {\"$var\":D};\nvar message$exception6118 = {\"$var\":D};\nvar is$update$non$obj6120 = {\"$var\":D};\nvar update$non$obj6122 = {\"$var\":D};\nvar is$update$frozen$ref6124 = {\"$var\":D};\nvar update$frozen$ref6126 = {\"$var\":D};\nvar is$update$non$ref6128 = {\"$var\":D};\nvar update$non$ref6130 = {\"$var\":D};\nvar is$update$non$existent$field6132 = {\"$var\":D};\nvar update$non$existent$field6134 = {\"$var\":D};\nvar is$no$cases$matched6136 = {\"$var\":D};\nvar no$cases$matched6138 = {\"$var\":D};\nvar is$no$branches$matched6140 = {\"$var\":D};\nvar no$branches$matched6142 = {\"$var\":D};\nvar is$internal$error6144 = {\"$var\":D};\nvar internal$error6146 = {\"$var\":D};\nvar is$spinnaker$error6148 = {\"$var\":D};\nvar spinnaker$error6150 = {\"$var\":D};\nvar is$template$not$finished6152 = {\"$var\":D};\nvar template$not$finished6154 = {\"$var\":D};\nvar is$field$not$found6156 = {\"$var\":D};\nvar field$not$found6158 = {\"$var\":D};\nvar is$constructor$syntax$non$constructor6160 = {\"$var\":D};\nvar constructor$syntax$non$constructor6162 = {\"$var\":D};\nvar is$lookup$constructor$not$object6164 = {\"$var\":D};\nvar lookup$constructor$not$object6166 = {\"$var\":D};\nvar is$lookup$non$tuple6168 = {\"$var\":D};\nvar lookup$non$tuple6170 = {\"$var\":D};\nvar is$lookup$large$index6172 = {\"$var\":D};\nvar lookup$large$index6174 = {\"$var\":D};\nvar is$non$tuple$bind6176 = {\"$var\":D};\nvar non$tuple$bind6178 = {\"$var\":D};\nvar is$bad$tuple$bind6180 = {\"$var\":D};\nvar bad$tuple$bind6182 = {\"$var\":D};\nvar is$lookup$non$object6184 = {\"$var\":D};\nvar lookup$non$object6186 = {\"$var\":D};\nvar is$extend$non$object6188 = {\"$var\":D};\nvar extend$non$object6190 = {\"$var\":D};\nvar is$non$boolean$condition6192 = {\"$var\":D};\nvar non$boolean$condition6194 = {\"$var\":D};\nvar is$non$boolean$op6196 = {\"$var\":D};\nvar non$boolean$op6198 = {\"$var\":D};\nvar is$generic$type$mismatch6200 = {\"$var\":D};\nvar generic$type$mismatch6202 = {\"$var\":D};\nvar is$num$string$binop$error6204 = {\"$var\":D};\nvar num$string$binop$error6206 = {\"$var\":D};\nvar is$numeric$binop$error6208 = {\"$var\":D};\nvar numeric$binop$error6210 = {\"$var\":D};\nvar is$cases$singleton$mismatch6212 = {\"$var\":D};\nvar cases$singleton$mismatch6214 = {\"$var\":D};\nvar is$cases$arity$mismatch6216 = {\"$var\":D};\nvar cases$arity$mismatch6218 = {\"$var\":D};\nvar is$constructor$arity$mismatch6220 = {\"$var\":D};\nvar constructor$arity$mismatch6222 = {\"$var\":D};\nvar is$arity$mismatch6224 = {\"$var\":D};\nvar arity$mismatch6226 = {\"$var\":D};\nvar is$row$length$mismatch6228 = {\"$var\":D};\nvar row$length$mismatch6230 = {\"$var\":D};\nvar is$col$length$mismatch6232 = {\"$var\":D};\nvar col$length$mismatch6234 = {\"$var\":D};\nvar is$non$function$app6236 = {\"$var\":D};\nvar non$function$app6238 = {\"$var\":D};\nvar is$uninitialized$id6240 = {\"$var\":D};\nvar uninitialized$id6242 = {\"$var\":D};\nvar is$module$load$failure6244 = {\"$var\":D};\nvar module$load$failure6246 = {\"$var\":D};\nvar is$invalid$array$index6248 = {\"$var\":D};\nvar invalid$array$index6250 = {\"$var\":D};\nvar is$equality$failure6252 = {\"$var\":D};\nvar equality$failure6254 = {\"$var\":D};\nvar is$column$not$found6256 = {\"$var\":D};\nvar column$not$found6258 = {\"$var\":D};\nvar is$duplicate$column6260 = {\"$var\":D};\nvar duplicate$column6262 = {\"$var\":D};\nvar is$user$break6264 = {\"$var\":D};\nvar user$break6266 = {\"$var\":D};\nvar is$user$exception6268 = {\"$var\":D};\nvar user$exception6270 = {\"$var\":D};\nvar is$exit6272 = {\"$var\":D};\nvar exit6274 = {\"$var\":D};\nvar is$exit$quiet6276 = {\"$var\":D};\nvar exit$quiet6278 = {\"$var\":D};\nvar ParseError7063 = {\"$var\":D};\nvar is$ParseError7065 = {\"$var\":D};\nvar is$parse$error$bad$app7067 = {\"$var\":D};\nvar parse$error$bad$app7069 = {\"$var\":D};\nvar is$parse$error$bad$fun$header7071 = {\"$var\":D};\nvar parse$error$bad$fun$header7073 = {\"$var\":D};\nvar is$parse$error$next$token7075 = {\"$var\":D};\nvar parse$error$next$token7077 = {\"$var\":D};\nvar is$parse$error$colon$colon7079 = {\"$var\":D};\nvar parse$error$colon$colon7081 = {\"$var\":D};\nvar is$parse$error$eof7083 = {\"$var\":D};\nvar parse$error$eof7085 = {\"$var\":D};\nvar is$parse$error$unterminated$string7087 = {\"$var\":D};\nvar parse$error$unterminated$string7089 = {\"$var\":D};\nvar is$parse$error$bad$operator7091 = {\"$var\":D};\nvar parse$error$bad$operator7093 = {\"$var\":D};\nvar is$parse$error$bad$number7095 = {\"$var\":D};\nvar parse$error$bad$number7097 = {\"$var\":D};\nvar is$parse$error$bad$check$operator7099 = {\"$var\":D};\nvar parse$error$bad$check$operator7101 = {\"$var\":D};\nvar is$empty$block7103 = {\"$var\":D};\nvar empty$block7105 = {\"$var\":D};\nvar is$bad$block$stmt7107 = {\"$var\":D};\nvar bad$block$stmt7109 = {\"$var\":D};\nvar is$bad$check$block$stmt7111 = {\"$var\":D};\nvar bad$check$block$stmt7113 = {\"$var\":D};\nvar is$fun$missing$colon7115 = {\"$var\":D};\nvar fun$missing$colon7117 = {\"$var\":D};\nvar is$fun$missing$end7119 = {\"$var\":D};\nvar fun$missing$end7121 = {\"$var\":D};\nvar is$args$missing$comma7123 = {\"$var\":D};\nvar args$missing$comma7125 = {\"$var\":D};\nvar is$app$args$missing$comma7127 = {\"$var\":D};\nvar app$args$missing$comma7129 = {\"$var\":D};\nvar is$missing$end7131 = {\"$var\":D};\nvar missing$end7133 = {\"$var\":D};\nvar is$missing$comma7135 = {\"$var\":D};\nvar missing$comma7137 = {\"$var\":D};\nvar $temp_lam27 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__0($l28) {\nvar $step26 = 0;\nvar $elidedFrames32 = 0;\nvar $ans29 = D;\nvar $al30 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar l28 = $l28;\n// callee optimization;\nwhile(!R.isContinuation($ans29)) {\nswitch($step26) {\ncase 0: $step26 = 1;\n$al30 = L[2];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al30,ED6.dict.values.dict[\"loc\"]);\n}\n$ans29 = ED6.dict.values.dict[\"loc\"].app(l28);\nbreak;\ncase 1: var anf_arg33 = $ans29;\n$step26 = 2;\n$al30 = L[1];\nif(typeof(ED6.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al30,ED6.dict.values.dict[\"loc-display\"]);\n}\n$ans29 = ED6.dict.values.dict[\"loc-display\"].app(l28,(\"error-highlight\"),anf_arg33);\nbreak;\ncase 2: return $ans29;\ndefault: R.ffi.throwSpinnakerError(L[0],$step26);\n}\n}\nreturn $ans29;\n};\nvar anf_assign35 = R.mF($temp_lam27,\"draw-and-highlight\");\ndraw$and$highlight36.$var = anf_assign35;\nR.nothing;\nvar $temp_lam38 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3($vals39) {\nvar $step37 = 0;\nvar $elidedFrames43 = 0;\nvar $ans40 = D;\nvar $al41 = L[3];\nif(R.isAR($vals39)) {\n$step37 = $vals39.step;\n$al41 = $vals39.from;\n$ans40 = $vals39.ans;\n$elidedFrames43 = $vals39.elidedFrames;\nvals39 = $vals39.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],1,$t,false);\n}\nvar vals39 = $vals39;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans40 = R.mC();\n}\nwhile(!R.isContinuation($ans40)) {\nswitch($step37) {\ncase 0: var $temp_lam45 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__4($val46) {\nvar $step44 = 0;\nvar $elidedFrames50 = 0;\nvar $ans47 = D;\nvar $al48 = L[4];\nif(R.isAR($val46)) {\n$step44 = $val46.step;\n$al48 = $val46.from;\n$ans47 = $val46.ans;\n$elidedFrames50 = $val46.elidedFrames;\nval46 = $val46.args[0];\nanf_fun51 = $val46.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],1,$t,false);\n}\nvar val46 = $val46;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans47 = R.mC();\n}\nwhile(!R.isContinuation($ans47)) {\nswitch($step44) {\ncase 0: $ans47 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[5],L[6]);\nvar anf_fun51 = $ans47;\n$step44 = 1;\n$al48 = L[7];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al48,ED6.dict.values.dict[\"embed\"]);\n}\n$ans47 = ED6.dict.values.dict[\"embed\"].app(val46);\nbreak;\ncase 1: var anf_arg52 = $ans47;\n$step44 = 2;\n$al48 = L[6];\nif(typeof(anf_fun51.app) !== \"function\") {\nR.ffi.throwNonFunApp($al48,anf_fun51);\n}\n$ans47 = anf_fun51.app(anf_arg52);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans47;\ndefault: R.ffi.throwSpinnakerError(L[4],$step44);\n}\n}\nif($step44 !== 2) {\n$ans47.stack[R.EXN_STACKHEIGHT++] = R.mAR($al48,$temp_lam45,$step44,[val46],[anf_fun51],$elidedFrames50);\n}\nreturn $ans47;\n};\nvar anf_arg54 = R.mF($temp_lam45,\"\");\n$step37 = 1;\n$ans40 = R.maybeMethodCall1(vals39,\"map\",L[8],anf_arg54);\nbreak;\ncase 1: var anf_arg55 = $ans40;\n$step37 = 2;\n$al41 = L[9];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al41,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans40 = ED6.dict.values.dict[\"v-sequence\"].app(anf_arg55);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans40;\ndefault: R.ffi.throwSpinnakerError(L[3],$step37);\n}\n}\nif($step37 !== 2) {\n$ans40.stack[R.EXN_STACKHEIGHT++] = R.mAR($al41,$temp_lam38,$step37,[vals39],[],$elidedFrames43);\n}\nreturn $ans40;\n};\nvar anf_assign57 = R.mF($temp_lam38,\"vert-list-values\");\nvert$list$values58.$var = anf_assign57;\nR.nothing;\nvar $temp_lam60 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__10($vals61) {\nvar $step59 = 0;\nvar $elidedFrames65 = 0;\nvar $ans62 = D;\nvar $al63 = L[10];\nif(R.isAR($vals61)) {\n$step59 = $vals61.step;\n$al63 = $vals61.from;\n$ans62 = $vals61.ans;\n$elidedFrames65 = $vals61.elidedFrames;\nvals61 = $vals61.args[0];\nanf_fun76 = $vals61.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],1,$t,false);\n}\nvar vals61 = $vals61;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans62 = R.mC();\n}\nwhile(!R.isContinuation($ans62)) {\nswitch($step59) {\ncase 0: $ans62 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[11],L[12]);\nvar anf_fun76 = $ans62;\nvar $temp_lam67 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__13($val68) {\nvar $step66 = 0;\nvar $elidedFrames72 = 0;\nvar $ans69 = D;\nvar $al70 = L[13];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],1,$t,false);\n}\nvar val68 = $val68;\n// callee optimization;\nwhile(!R.isContinuation($ans69)) {\nswitch($step66) {\ncase 0: $step66 = 1;\n$al70 = L[14];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al70,ED6.dict.values.dict[\"embed\"]);\n}\n$ans69 = ED6.dict.values.dict[\"embed\"].app(val68);\nbreak;\ncase 1: return $ans69;\ndefault: R.ffi.throwSpinnakerError(L[13],$step66);\n}\n}\nreturn $ans69;\n};\nvar anf_arg74 = R.mF($temp_lam67,\"\");\n$step59 = 1;\n$ans62 = R.maybeMethodCall1(vals61,\"map\",L[15],anf_arg74);\nbreak;\ncase 1: var anf_arg75 = $ans62;\n$step59 = 2;\n$al63 = L[16];\nif(typeof(ED6.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al63,ED6.dict.values.dict[\"h-sequence\"]);\n}\n$ans62 = ED6.dict.values.dict[\"h-sequence\"].app(anf_arg75,(\",\"));\nbreak;\ncase 2: var anf_arg77 = $ans62;\n$step59 = 3;\n$al63 = L[12];\nif(typeof(anf_fun76.app) !== \"function\") {\nR.ffi.throwNonFunApp($al63,anf_fun76);\n}\n$ans62 = anf_fun76.app(anf_arg77);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans62;\ndefault: R.ffi.throwSpinnakerError(L[10],$step59);\n}\n}\nif($step59 !== 3) {\n$ans62.stack[R.EXN_STACKHEIGHT++] = R.mAR($al63,$temp_lam60,$step59,[vals61],[anf_fun76],$elidedFrames65);\n}\nreturn $ans62;\n};\nvar anf_assign79 = R.mF($temp_lam60,\"horz-list-values\");\nhorz$list$values80.$var = anf_assign79;\nR.nothing;\nvar $temp_lam82 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__17($name83,$loc84) {\nvar $step81 = 0;\nvar $elidedFrames88 = 0;\nvar $ans85 = D;\nvar $al86 = L[17];\nif(R.isAR($name83)) {\n$step81 = $name83.step;\n$al86 = $name83.from;\n$ans85 = $name83.ans;\n$elidedFrames88 = $name83.elidedFrames;\nname83 = $name83.args[0];\nloc84 = $name83.args[1];\nanf_arg98 = $name83.vars[0];\nanf_arg99 = $name83.vars[1];\nanf_fun91 = $name83.vars[2];\nanf_fun97 = $name83.vars[3];\nanf_arg92 = $name83.vars[4];\nanf_arg93 = $name83.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[17],2,$t,false);\n}\nvar name83 = $name83;\nvar loc84 = $loc84;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans85 = R.mC();\n}\nwhile(!R.isContinuation($ans85)) {\nswitch($step81) {\ncase 0: $step81 = 1;\n$ans85 = R.maybeMethodCall0(loc84,\"is-builtin\",L[18]);\nbreak;\ncase 1: var anf_if101 = $ans85;\n$step81 = R.checkPyretTrue(anf_if101)?2:8;\nbreak;\ncase 2: $ans85 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[19],L[20]);\nvar anf_fun91 = $ans85;\n$step81 = 3;\n$al86 = L[25];\n// omitting isFunction check;\n$ans85 = _plus5.app((\"Evaluating a \"),name83);\nbreak;\ncase 3: var anf_arg89 = $ans85;\n$step81 = 4;\n$al86 = L[24];\n// omitting isFunction check;\n$ans85 = _plus5.app(anf_arg89,(\" in \"));\nbreak;\ncase 4: var anf_arg90 = $ans85;\n$step81 = 5;\n$al86 = L[23];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app(anf_arg90);\nbreak;\ncase 5: var anf_arg92 = $ans85;\n$step81 = 6;\n$al86 = L[22];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"loc\"]);\n}\n$ans85 = ED6.dict.values.dict[\"loc\"].app(loc84);\nbreak;\ncase 6: var anf_arg93 = $ans85;\n$step81 = 7;\n$al86 = L[21];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 7: var anf_arg94 = $ans85;\n$step81 = 14;\n$al86 = L[20];\nif(typeof(anf_fun91.app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,anf_fun91);\n}\n$ans85 = anf_fun91.app(anf_arg92,anf_arg93,anf_arg94);\nbreak;\ncase 8: $ans85 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[26],L[27]);\nvar anf_fun97 = $ans85;\n$step81 = 9;\n$al86 = L[32];\n// omitting isFunction check;\n$ans85 = _plus5.app((\"Evaluating the \"),name83);\nbreak;\ncase 9: var anf_arg95 = $ans85;\n$step81 = 10;\n$al86 = L[31];\n// omitting isFunction check;\n$ans85 = _plus5.app(anf_arg95,(\" at \"));\nbreak;\ncase 10: var anf_arg96 = $ans85;\n$step81 = 11;\n$al86 = L[30];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app(anf_arg96);\nbreak;\ncase 11: var anf_arg98 = $ans85;\n$step81 = 12;\n$al86 = L[29];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"loc\"]);\n}\n$ans85 = ED6.dict.values.dict[\"loc\"].app(loc84);\nbreak;\ncase 12: var anf_arg99 = $ans85;\n$step81 = 13;\n$al86 = L[28];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,ED6.dict.values.dict[\"text\"]);\n}\n$ans85 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 13: var anf_arg100 = $ans85;\n$step81 = 14;\n$al86 = L[27];\nif(typeof(anf_fun97.app) !== \"function\") {\nR.ffi.throwNonFunApp($al86,anf_fun97);\n}\n$ans85 = anf_fun97.app(anf_arg98,anf_arg99,anf_arg100);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans85;\ndefault: R.ffi.throwSpinnakerError(L[17],$step81);\n}\n}\nif($step81 !== 14) {\n$ans85.stack[R.EXN_STACKHEIGHT++] = R.mAR($al86,$temp_lam82,$step81,[name83,loc84],[anf_arg98,anf_arg99,anf_fun91,anf_fun97,anf_arg92,anf_arg93],$elidedFrames88);\n}\nreturn $ans85;\n};\nvar anf_assign103 = R.mF($temp_lam82,\"ed-simple-intro\");\ned$simple$intro104.$var = anf_assign103;\nR.nothing;\nvar $temp_lam106 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__33($name107,$loc108,$color109,$followed$by$embed110) {\nvar $step105 = 0;\nvar $elidedFrames114 = 0;\nvar $ans111 = D;\nvar $al112 = L[33];\nif(R.isAR($name107)) {\n$step105 = $name107.step;\n$al112 = $name107.from;\n$ans111 = $name107.ans;\n$elidedFrames114 = $name107.elidedFrames;\nname107 = $name107.args[0];\nloc108 = $name107.args[1];\ncolor109 = $name107.args[2];\nfollowed$by$embed110 = $name107.args[3];\nanf_fun139 = $name107.vars[0];\nanf_arg140 = $name107.vars[1];\nanf_arg136 = $name107.vars[2];\nanf_arg141 = $name107.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[33],4,$t,false);\n}\nvar name107 = $name107;\nvar loc108 = $loc108;\nvar color109 = $color109;\nvar followed$by$embed110 = $followed$by$embed110;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans111 = R.mC();\n}\nwhile(!R.isContinuation($ans111)) {\nswitch($step105) {\ncase 0: $ans111 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[34],L[35]);\nvar anf_fun139 = $ans111;\n$step105 = 1;\n$al112 = L[41];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app((\"Evaluating this \"));\nbreak;\ncase 1: var anf_arg140 = $ans111;\n$step105 = 2;\n$al112 = L[40];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app(name107);\nbreak;\ncase 2: var anf_arg136 = $ans111;\n$ans111 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[36],L[37]);\nvar anf_fun115 = $ans111;\n$step105 = 3;\n$al112 = L[37];\nif(typeof(anf_fun115.app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,anf_fun115);\n}\n$ans111 = anf_fun115.app(loc108);\nbreak;\ncase 3: var anf_arg137 = $ans111;\n$step105 = 4;\n$al112 = L[39];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans111 = ED6.dict.values.dict[\"highlight\"].app(anf_arg136,anf_arg137,color109);\nbreak;\ncase 4: var anf_arg141 = $ans111;\n$step105 = R.checkPyretTrue(followed$by$embed110)?5:6;\nbreak;\ncase 5: $step105 = 7;\n$ans111 = (\" errored:\");\nbreak;\ncase 6: $step105 = 7;\n$ans111 = (\" errored.\");\nbreak;\ncase 7: var anf_arg138 = $ans111;\n$step105 = 8;\n$al112 = L[38];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,ED6.dict.values.dict[\"text\"]);\n}\n$ans111 = ED6.dict.values.dict[\"text\"].app(anf_arg138);\nbreak;\ncase 8: var anf_arg142 = $ans111;\n$step105 = 9;\n$al112 = L[35];\nif(typeof(anf_fun139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al112,anf_fun139);\n}\n$ans111 = anf_fun139.app(anf_arg140,anf_arg141,anf_arg142);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans111;\ndefault: R.ffi.throwSpinnakerError(L[33],$step105);\n}\n}\nif($step105 !== 9) {\n$ans111.stack[R.EXN_STACKHEIGHT++] = R.mAR($al112,$temp_lam106,$step105,[name107,loc108,color109,followed$by$embed110],[anf_fun139,anf_arg140,anf_arg136,anf_arg141],$elidedFrames114);\n}\nreturn $ans111;\n};\nvar anf_assign145 = R.mF($temp_lam106,\"ed-intro\");\ned$intro146.$var = anf_assign145;\nR.nothing;\nvar $temp_lam148 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__42($$resumer13) {\nvar $step147 = 0;\nvar $elidedFrames152 = 0;\nvar $ans149 = D;\nvar $al150 = L[42];\nif(R.isAR($$resumer13)) {\n$step147 = $$resumer13.step;\n$al150 = $$resumer13.from;\n$ans149 = $$resumer13.ans;\n$elidedFrames152 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun153 = $$resumer13.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans149 = R.mC();\n}\nwhile(!R.isContinuation($ans149)) {\nswitch($step147) {\ncase 0: $ans149 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[43],L[44]);\nvar anf_fun153 = $ans149;\n$step147 = 1;\n$al150 = L[45];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al150,ED6.dict.values.dict[\"text\"]);\n}\n$ans149 = ED6.dict.values.dict[\"text\"].app((\"Please report this as a bug.\"));\nbreak;\ncase 1: var anf_arg154 = $ans149;\n$step147 = 2;\n$al150 = L[44];\nif(typeof(anf_fun153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al150,anf_fun153);\n}\n$ans149 = anf_fun153.app(anf_arg154);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans149;\ndefault: R.ffi.throwSpinnakerError(L[42],$step147);\n}\n}\nif($step147 !== 2) {\n$ans149.stack[R.EXN_STACKHEIGHT++] = R.mAR($al150,$temp_lam148,$step147,[],[anf_fun153],$elidedFrames152);\n}\nreturn $ans149;\n};\nvar anf_assign157 = R.mF($temp_lam148,\"please-report-bug\");\nplease$report$bug158.$var = anf_assign157;\nR.nothing;\nvar $temp_lam160 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__46($predicate161,$option162) {\nvar $step159 = 0;\nvar $elidedFrames166 = 0;\nvar $ans163 = D;\nvar $al164 = L[46];\nif(R.isAR($predicate161)) {\n$step159 = $predicate161.step;\n$al164 = $predicate161.from;\n$ans163 = $predicate161.ans;\n$elidedFrames166 = $predicate161.elidedFrames;\npredicate161 = $predicate161.args[0];\noption162 = $predicate161.args[1];\ncases167 = $predicate161.vars[0];\nv168 = $predicate161.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,false);\n}\nvar predicate161 = $predicate161;\nvar option162 = $option162;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans163 = R.mC();\n}\nwhile(!R.isContinuation($ans163)) {\nswitch($step159) {\ncase 0: var cases167 = option162;\n$step159 = 1;\n$al164 = L[52];\nvar $ann$check173 = R._cA(L[52],R.gDA(L[52],\"O\",O8.dict.types,\"Option\"),cases167);\nif(R.isContinuation($ann$check173)) {\n$ans163 = $ann$check173;\n}\nbreak;\ncase 1: $al164 = L[48];\n$step159 = $cases_dispatch172[cases167.$name] || 7;\nbreak;\ncase 2: if(cases167.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[47],false,L[48],cases167.$loc);\n}\n$step159 = 8;\n$ans163 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: if(cases167.$arity !== 1) {\nif(cases167.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[51],1,cases167.$arity,L[48],cases167.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[51],true,L[48],cases167.$loc);\n}\n}\nvar $fn171 = cases167.$constructor.$fieldNames;\nvar v168 = R.dF(cases167.dict[$fn171[0]],cases167.$mut_fields_mask[0],false);\n$step159 = 4;\n$al164 = L[50];\nif(typeof(predicate161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al164,predicate161);\n}\n$ans163 = predicate161.app(v168);\nbreak;\ncase 4: var anf_if169 = $ans163;\n$step159 = R.checkPyretTrue(anf_if169)?5:6;\nbreak;\ncase 5: $step159 = 8;\n$al164 = L[49];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al164,O8.dict.values.dict[\"some\"]);\n}\n$ans163 = O8.dict.values.dict[\"some\"].app(v168);\nbreak;\ncase 6: $step159 = 8;\n$ans163 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 7: $ans163 = R.throwNoCasesMatched(L[48],cases167);\n$step159 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans163;\ndefault: R.ffi.throwSpinnakerError(L[46],$step159);\n}\n}\nif($step159 !== 8) {\n$ans163.stack[R.EXN_STACKHEIGHT++] = R.mAR($al164,$temp_lam160,$step159,[predicate161,option162],[cases167,v168],$elidedFrames166);\n}\nreturn $ans163;\n};\nvar anf_assign175 = R.mF($temp_lam160,\"and-if\");\nand$if176.$var = anf_assign175;\nR.nothing;\nvar $temp_lam178 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__53($f179,$option180) {\nvar $step177 = 0;\nvar $elidedFrames184 = 0;\nvar $ans181 = D;\nvar $al182 = L[53];\nif(R.isAR($f179)) {\n$step177 = $f179.step;\n$al182 = $f179.from;\n$ans181 = $f179.ans;\n$elidedFrames184 = $f179.elidedFrames;\nf179 = $f179.args[0];\noption180 = $f179.args[1];\ncases185 = $f179.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,false);\n}\nvar f179 = $f179;\nvar option180 = $option180;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans181 = R.mC();\n}\nwhile(!R.isContinuation($ans181)) {\nswitch($step177) {\ncase 0: var cases185 = option180;\n$step177 = 1;\n$al182 = L[58];\nvar $ann$check190 = R._cA(L[58],R.gDA(L[58],\"O\",O8.dict.types,\"Option\"),cases185);\nif(R.isContinuation($ann$check190)) {\n$ans181 = $ann$check190;\n}\nbreak;\ncase 1: $al182 = L[55];\n$step177 = $cases_dispatch189[cases185.$name] || 4;\nbreak;\ncase 2: if(cases185.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[54],false,L[55],cases185.$loc);\n}\n$step177 = 5;\n$ans181 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: if(cases185.$arity !== 1) {\nif(cases185.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[57],1,cases185.$arity,L[55],cases185.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[57],true,L[55],cases185.$loc);\n}\n}\nvar $fn188 = cases185.$constructor.$fieldNames;\nvar v186 = R.dF(cases185.dict[$fn188[0]],cases185.$mut_fields_mask[0],false);\n$step177 = 5;\n$al182 = L[56];\nif(typeof(f179.app) !== \"function\") {\nR.ffi.throwNonFunApp($al182,f179);\n}\n$ans181 = f179.app(v186);\nbreak;\ncase 4: $ans181 = R.throwNoCasesMatched(L[55],cases185);\n$step177 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans181;\ndefault: R.ffi.throwSpinnakerError(L[53],$step177);\n}\n}\nif($step177 !== 5) {\n$ans181.stack[R.EXN_STACKHEIGHT++] = R.mAR($al182,$temp_lam178,$step177,[f179,option180],[cases185],$elidedFrames184);\n}\nreturn $ans181;\n};\nvar anf_assign192 = R.mF($temp_lam178,\"and-maybe\");\nand$maybe193.$var = anf_assign192;\nR.nothing;\nvar $temp_lam195 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__59($l196,$src$available197,$maybe$ast198) {\nvar $step194 = 0;\nvar $elidedFrames202 = 0;\nvar $ans199 = D;\nvar $al200 = L[59];\nif(R.isAR($l196)) {\n$step194 = $l196.step;\n$al200 = $l196.from;\n$ans199 = $l196.ans;\n$elidedFrames202 = $l196.elidedFrames;\nl196 = $l196.args[0];\nsrc$available197 = $l196.args[1];\nmaybe$ast198 = $l196.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],3,$t,false);\n}\nvar l196 = $l196;\nvar src$available197 = $src$available197;\nvar maybe$ast198 = $maybe$ast198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans199 = R.mC();\n}\nwhile(!R.isContinuation($ans199)) {\nswitch($step194) {\ncase 0: var arg_203 = l196;\n$step194 = 1;\n$al200 = L[85];\n// omitting isFunction check;\n$ans199 = and$if176.$var.app(src$available197,arg_203);\nbreak;\ncase 1: var arg_204 = $ans199;\n$step194 = 2;\n$al200 = L[84];\n// omitting isFunction check;\n$ans199 = and$maybe193.$var.app(maybe$ast198,arg_204);\nbreak;\ncase 2: var arg_297 = $ans199;\nvar $temp_lam207 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__60($ast208) {\nvar $step206 = 0;\nvar $elidedFrames212 = 0;\nvar $ans209 = D;\nvar $al210 = L[60];\nif(R.isAR($ast208)) {\n$step206 = $ast208.step;\n$al210 = $ast208.from;\n$ans209 = $ast208.ans;\n$elidedFrames212 = $ast208.elidedFrames;\nast208 = $ast208.args[0];\nargs225 = $ast208.vars[0];\ncases213 = $ast208.vars[1];\ncases215 = $ast208.vars[2];\nanf_tuple_fields263 = $ast208.vars[3];\nanf_tuple_fields278 = $ast208.vars[4];\nl$op275 = $ast208.vars[5];\nargs261 = $ast208.vars[6];\nanf_tuple_fields227 = $ast208.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],1,$t,false);\n}\nvar ast208 = $ast208;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans209 = R.mC();\n}\nwhile(!R.isContinuation($ans209)) {\nswitch($step206) {\ncase 0: var cases213 = ast208;\n$al210 = L[69];\n$step206 = $cases_dispatch286[cases213.$name] || 12;\nbreak;\ncase 1: if(cases213.$arity !== 3) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[68],3,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[68],true,L[69],cases213.$loc);\n}\n}\nvar $fn247 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn247[0]],cases213.$mut_fields_mask[0],false);\nvar _fun214 = R.dF(cases213.dict[$fn247[1]],cases213.$mut_fields_mask[1],false);\nvar args225 = R.dF(cases213.dict[$fn247[2]],cases213.$mut_fields_mask[2],false);\nvar cases215 = _fun214;\n$al210 = L[67];\n$step206 = $cases_dispatch245[cases215.$name] || 3;\nbreak;\ncase 2: if(cases215.$arity !== 3) {\nif(cases215.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[66],3,cases215.$arity,L[67],cases215.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[66],true,L[67],cases215.$loc);\n}\n}\nvar $fn242 = cases215.$constructor.$fieldNames;\nR.dF(cases215.dict[$fn242[0]],cases215.$mut_fields_mask[0],false);\nvar t232 = R.dF(cases215.dict[$fn242[1]],cases215.$mut_fields_mask[1],false);\nR.dF(cases215.dict[$fn242[2]],cases215.$mut_fields_mask[2],false);\n$al210 = L[64];\nvar anf_arg240 = G(t232,\"l\",L[64]);\n$step206 = 4;\n$al210 = L[65];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg240);\nbreak;\ncase 3: $step206 = 4;\n$ans209 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 4: var anf_tuple_fields227 = $ans209;\nvar $temp_lam217 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__61($recv_218) {\nvar $step216 = 0;\nvar $elidedFrames223 = 0;\nvar $ans220 = D;\nvar $al221 = L[61];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],1,$t,false);\n}\nvar recv_218 = $recv_218;\n// callee optimization;\nwhile(!R.isContinuation($ans220)) {\nswitch($step216) {\ncase 0: $step216 = 1;\n$al221 = L[61];\n$ans220 = G(recv_218,\"l\",L[61]);\nbreak;\ncase 1: return $ans220;\ndefault: R.ffi.throwSpinnakerError(L[61],$step216);\n}\n}\nreturn $ans220;\n};\nvar anf_arg226 = R.mF($temp_lam217,\"\");\n$step206 = 5;\n$ans209 = R.maybeMethodCall1(args225,\"map\",L[62],anf_arg226);\nbreak;\ncase 5: var anf_tuple_fields228 = $ans209;\nvar anf_arg231 = R.makeTuple([anf_tuple_fields227,anf_tuple_fields228]);\n$step206 = 13;\n$al210 = L[63];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg231);\nbreak;\ncase 6: if(cases213.$arity !== 3) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[75],3,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[75],true,L[69],cases213.$loc);\n}\n}\nvar $fn268 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn268[0]],cases213.$mut_fields_mask[0],false);\nvar _fun249 = R.dF(cases213.dict[$fn268[1]],cases213.$mut_fields_mask[1],false);\nvar args261 = R.dF(cases213.dict[$fn268[2]],cases213.$mut_fields_mask[2],false);\n$al210 = L[70];\nvar anf_arg252 = G(_fun249,\"l\",L[70]);\n$step206 = 7;\n$al210 = L[74];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg252);\nbreak;\ncase 7: var anf_tuple_fields263 = $ans209;\nvar $temp_lam254 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__71($recv_255) {\nvar $step253 = 0;\nvar $elidedFrames259 = 0;\nvar $ans256 = D;\nvar $al257 = L[71];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[71],1,$t,false);\n}\nvar recv_255 = $recv_255;\n// callee optimization;\nwhile(!R.isContinuation($ans256)) {\nswitch($step253) {\ncase 0: $step253 = 1;\n$al257 = L[71];\n$ans256 = G(recv_255,\"l\",L[71]);\nbreak;\ncase 1: return $ans256;\ndefault: R.ffi.throwSpinnakerError(L[71],$step253);\n}\n}\nreturn $ans256;\n};\nvar anf_arg262 = R.mF($temp_lam254,\"\");\n$step206 = 8;\n$ans209 = R.maybeMethodCall1(args261,\"map\",L[72],anf_arg262);\nbreak;\ncase 8: var anf_tuple_fields264 = $ans209;\nvar anf_arg266 = R.makeTuple([anf_tuple_fields263,anf_tuple_fields264]);\n$step206 = 13;\n$al210 = L[73];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg266);\nbreak;\ncase 9: if(cases213.$arity !== 5) {\nif(cases213.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[82],5,cases213.$arity,L[69],cases213.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[82],true,L[69],cases213.$loc);\n}\n}\nvar $fn282 = cases213.$constructor.$fieldNames;\nR.dF(cases213.dict[$fn282[0]],cases213.$mut_fields_mask[0],false);\nR.dF(cases213.dict[$fn282[1]],cases213.$mut_fields_mask[1],false);\nR.dF(cases213.dict[$fn282[2]],cases213.$mut_fields_mask[2],false);\nvar l$op275 = R.dF(cases213.dict[$fn282[3]],cases213.$mut_fields_mask[3],false);\nvar r$op270 = R.dF(cases213.dict[$fn282[4]],cases213.$mut_fields_mask[4],false);\n$al210 = L[76];\nvar anf_arg274 = G(r$op270,\"l\",L[76]);\n$step206 = 10;\n$al210 = L[81];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg274);\nbreak;\ncase 10: var anf_tuple_fields278 = $ans209;\n$ans209 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[77],L[78]);\nvar anf_fun276 = $ans209;\n$al210 = L[79];\nvar anf_arg277 = G(l$op275,\"l\",L[79]);\n$step206 = 11;\n$al210 = L[78];\nif(typeof(anf_fun276.app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,anf_fun276);\n}\n$ans209 = anf_fun276.app(anf_arg277);\nbreak;\ncase 11: var anf_tuple_fields279 = $ans209;\nvar anf_arg280 = R.makeTuple([anf_tuple_fields278,anf_tuple_fields279]);\n$step206 = 13;\n$al210 = L[80];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al210,O8.dict.values.dict[\"some\"]);\n}\n$ans209 = O8.dict.values.dict[\"some\"].app(anf_arg280);\nbreak;\ncase 12: $step206 = 13;\n$ans209 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 13: ++R.GAS;\nreturn $ans209;\ndefault: R.ffi.throwSpinnakerError(L[60],$step206);\n}\n}\nif($step206 !== 13) {\n$ans209.stack[R.EXN_STACKHEIGHT++] = R.mAR($al210,$temp_lam207,$step206,[ast208],[args225,cases213,cases215,anf_tuple_fields263,anf_tuple_fields278,l$op275,args261,anf_tuple_fields227],$elidedFrames212);\n}\nreturn $ans209;\n};\nvar anf_arg296 = R.mF($temp_lam207,\"\");\n$step194 = 3;\n$al200 = L[83];\n// omitting isFunction check;\n$ans199 = and$maybe193.$var.app(anf_arg296,arg_297);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans199;\ndefault: R.ffi.throwSpinnakerError(L[59],$step194);\n}\n}\nif($step194 !== 3) {\n$ans199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al200,$temp_lam195,$step194,[l196,src$available197,maybe$ast198],[],$elidedFrames202);\n}\nreturn $ans199;\n};\nvar anf_assign299 = R.mF($temp_lam195,\"destructure-method-application\");\ndestructure$method$application300.$var = anf_assign299;\nR.nothing;\nvar $temp_full302 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__86($self303,$maybe$stack$loc304,$src$available305,$maybe$ast306) {\nvar $step301 = 0;\nvar $elidedFrames310 = 0;\nvar $ans307 = D;\nvar $al308 = L[86];\nif(R.isAR($self303)) {\n$step301 = $self303.step;\n$al308 = $self303.from;\n$ans307 = $self303.ans;\n$elidedFrames310 = $self303.elidedFrames;\nself303 = $self303.args[0];\nmaybe$stack$loc304 = $self303.args[1];\nsrc$available305 = $self303.args[2];\nmaybe$ast306 = $self303.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[86],4,$t,true);\n}\nvar self303 = $self303;\nvar maybe$stack$loc304 = $maybe$stack$loc304;\nvar src$available305 = $src$available305;\nvar maybe$ast306 = $maybe$ast306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans307 = R.mC();\n}\nwhile(!R.isContinuation($ans307)) {\nswitch($step301) {\ncase 0: $al308 = L[87];\nvar anf_method_obj319 = G(self303,\"errors\",L[87]);\nvar $temp_lam312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__88($recv_313) {\nvar $step311 = 0;\nvar $elidedFrames317 = 0;\nvar $ans314 = D;\nvar $al315 = L[88];\nif(R.isAR($recv_313)) {\n$step311 = $recv_313.step;\n$al315 = $recv_313.from;\n$ans314 = $recv_313.ans;\n$elidedFrames317 = $recv_313.elidedFrames;\nrecv_313 = $recv_313.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],1,$t,false);\n}\nvar recv_313 = $recv_313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans314 = R.mC();\n}\nwhile(!R.isContinuation($ans314)) {\nswitch($step311) {\ncase 0: $step311 = 1;\n$ans314 = R.maybeMethodCall3(recv_313,\"render-fancy-reason\",L[88],maybe$stack$loc304,src$available305,maybe$ast306);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans314;\ndefault: R.ffi.throwSpinnakerError(L[88],$step311);\n}\n}\nif($step311 !== 1) {\n$ans314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al315,$temp_lam312,$step311,[recv_313],[],$elidedFrames317);\n}\nreturn $ans314;\n};\nvar anf_arg320 = R.mF($temp_lam312,\"\");\n$step301 = 1;\n$ans307 = R.maybeMethodCall1(anf_method_obj319,\"map\",L[89],anf_arg320);\nbreak;\ncase 1: var rendered321 = $ans307;\n$step301 = 2;\n$al308 = L[90];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al308,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans307 = ED6.dict.values.dict[\"v-sequence\"].app(rendered321);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans307;\ndefault: R.ffi.throwSpinnakerError(L[86],$step301);\n}\n}\nif($step301 !== 2) {\n$ans307.stack[R.EXN_STACKHEIGHT++] = R.mAR($al308,$temp_full302,$step301,[self303,maybe$stack$loc304,src$available305,maybe$ast306],[],$elidedFrames310);\n}\nreturn $ans307;\n};\nvar anf_variant_member5640 = R.makeMethod3($temp_full302,\"render-fancy-reason\");\nvar $temp_full325 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__91($self326) {\nvar $step324 = 0;\nvar $elidedFrames330 = 0;\nvar $ans327 = D;\nvar $al328 = L[91];\nif(R.isAR($self326)) {\n$step324 = $self326.step;\n$al328 = $self326.from;\n$ans327 = $self326.ans;\n$elidedFrames330 = $self326.elidedFrames;\nself326 = $self326.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[91],1,$t,true);\n}\nvar self326 = $self326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans327 = R.mC();\n}\nwhile(!R.isContinuation($ans327)) {\nswitch($step324) {\ncase 0: $al328 = L[92];\nvar anf_method_obj339 = G(self326,\"errors\",L[92]);\nvar $temp_lam332 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__93($recv_333) {\nvar $step331 = 0;\nvar $elidedFrames337 = 0;\nvar $ans334 = D;\nvar $al335 = L[93];\nif(R.isAR($recv_333)) {\n$step331 = $recv_333.step;\n$al335 = $recv_333.from;\n$ans334 = $recv_333.ans;\n$elidedFrames337 = $recv_333.elidedFrames;\nrecv_333 = $recv_333.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[93],1,$t,false);\n}\nvar recv_333 = $recv_333;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans334 = R.mC();\n}\nwhile(!R.isContinuation($ans334)) {\nswitch($step331) {\ncase 0: $step331 = 1;\n$ans334 = R.maybeMethodCall0(recv_333,\"render-reason\",L[93]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans334;\ndefault: R.ffi.throwSpinnakerError(L[93],$step331);\n}\n}\nif($step331 !== 1) {\n$ans334.stack[R.EXN_STACKHEIGHT++] = R.mAR($al335,$temp_lam332,$step331,[recv_333],[],$elidedFrames337);\n}\nreturn $ans334;\n};\nvar anf_arg340 = R.mF($temp_lam332,\"\");\n$step324 = 1;\n$ans327 = R.maybeMethodCall1(anf_method_obj339,\"map\",L[94],anf_arg340);\nbreak;\ncase 1: var rendered341 = $ans327;\n$step324 = 2;\n$al328 = L[95];\nif(typeof(ED6.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al328,ED6.dict.values.dict[\"v-sequence\"]);\n}\n$ans327 = ED6.dict.values.dict[\"v-sequence\"].app(rendered341);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans327;\ndefault: R.ffi.throwSpinnakerError(L[91],$step324);\n}\n}\nif($step324 !== 2) {\n$ans327.stack[R.EXN_STACKHEIGHT++] = R.mAR($al328,$temp_full325,$step324,[self326],[],$elidedFrames330);\n}\nreturn $ans327;\n};\nvar anf_variant_member5641 = R.makeMethod0($temp_full325,\"render-reason\");\nvar $temp_full344 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__96($self345,$maybe$stack$loc346,$src$available347,$maybe$ast348) {\nvar $step343 = 0;\nvar $elidedFrames352 = 0;\nvar $ans349 = D;\nvar $al350 = L[96];\nif(R.isAR($self345)) {\n$step343 = $self345.step;\n$al350 = $self345.from;\n$ans349 = $self345.ans;\n$elidedFrames352 = $self345.elidedFrames;\nself345 = $self345.args[0];\nmaybe$stack$loc346 = $self345.args[1];\nsrc$available347 = $self345.args[2];\nmaybe$ast348 = $self345.args[3];\ncases357 = $self345.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[96],4,$t,true);\n}\nvar self345 = $self345;\nvar maybe$stack$loc346 = $maybe$stack$loc346;\nvar src$available347 = $src$available347;\nvar maybe$ast348 = $maybe$ast348;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans349 = R.mC();\n}\nwhile(!R.isContinuation($ans349)) {\nswitch($step343) {\ncase 0: $al350 = L[97];\nvar anf_method_obj353 = G(self345,\"loc\",L[97]);\n$step343 = 1;\n$ans349 = R.maybeMethodCall0(anf_method_obj353,\"is-builtin\",L[98]);\nbreak;\ncase 1: var anf_if364 = $ans349;\n$step343 = R.checkPyretTrue(anf_if364)?2:3;\nbreak;\ncase 2: $ans349 = R.throwUnfinishedTemplate(L[99]);\n$step343 = 12;\nbreak;\ncase 3: $al350 = L[100];\nvar anf_arg355 = G(self345,\"loc\",L[100]);\n$step343 = 4;\n$al350 = L[110];\nif(typeof(src$available347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al350,src$available347);\n}\n$ans349 = src$available347.app(anf_arg355);\nbreak;\ncase 4: var anf_if363 = $ans349;\n$step343 = R.checkPyretTrue(anf_if363)?5:11;\nbreak;\ncase 5: $al350 = L[101];\nvar anf_arg356 = G(self345,\"loc\",L[101]);\n$step343 = 6;\n$al350 = L[108];\nif(typeof(maybe$ast348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al350,maybe$ast348);\n}\n$ans349 = maybe$ast348.app(anf_arg356);\nbreak;\ncase 6: var cases357 = $ans349;\n$step343 = 7;\n$al350 = L[107];\nvar $ann$check362 = R._cA(L[107],R.gDA(L[107],\"O\",O8.dict.types,\"Option\"),cases357);\nif(R.isContinuation($ann$check362)) {\n$ans349 = $ann$check362;\n}\nbreak;\ncase 7: $al350 = L[104];\n$step343 = $cases_dispatch361[cases357.$name] || 10;\nbreak;\ncase 8: if(cases357.$arity !== 1) {\nif(cases357.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[103],1,cases357.$arity,L[104],cases357.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[103],true,L[104],cases357.$loc);\n}\n}\nvar $fn359 = cases357.$constructor.$fieldNames;\nR.dF(cases357.dict[$fn359[0]],cases357.$mut_fields_mask[0],false);\n$ans349 = R.throwUnfinishedTemplate(L[102]);\n$step343 = 12;\nbreak;\ncase 9: if(cases357.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[106],false,L[104],cases357.$loc);\n}\n$ans349 = R.throwUnfinishedTemplate(L[105]);\n$step343 = 12;\nbreak;\ncase 10: $ans349 = R.throwNoCasesMatched(L[104],cases357);\n$step343 = 12;\nbreak;\ncase 11: $ans349 = R.throwUnfinishedTemplate(L[109]);\n$step343 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans349;\ndefault: R.ffi.throwSpinnakerError(L[96],$step343);\n}\n}\nif($step343 !== 12) {\n$ans349.stack[R.EXN_STACKHEIGHT++] = R.mAR($al350,$temp_full344,$step343,[self345,maybe$stack$loc346,src$available347,maybe$ast348],[cases357],$elidedFrames352);\n}\nreturn $ans349;\n};\nvar anf_variant_member5649 = R.makeMethod3($temp_full344,\"render-fancy-reason\");\nvar $temp_full367 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__111($self368) {\nvar $step366 = 0;\nvar $elidedFrames372 = 0;\nvar $ans369 = D;\nvar $al370 = L[111];\nif(R.isAR($self368)) {\n$step366 = $self368.step;\n$al370 = $self368.from;\n$ans369 = $self368.ans;\n$elidedFrames372 = $self368.elidedFrames;\nself368 = $self368.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],1,$t,true);\n}\nvar self368 = $self368;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans369 = R.mC();\n}\nwhile(!R.isContinuation($ans369)) {\nswitch($step366) {\ncase 0: $al370 = L[112];\nvar anf_method_obj373 = G(self368,\"loc\",L[112]);\n$step366 = 1;\n$ans369 = R.maybeMethodCall0(anf_method_obj373,\"is-builtin\",L[113]);\nbreak;\ncase 1: var anf_if374 = $ans369;\n$step366 = R.checkPyretTrue(anf_if374)?2:3;\nbreak;\ncase 2: $ans369 = R.throwUnfinishedTemplate(L[114]);\n$step366 = 4;\nbreak;\ncase 3: $ans369 = R.throwUnfinishedTemplate(L[115]);\n$step366 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans369;\ndefault: R.ffi.throwSpinnakerError(L[111],$step366);\n}\n}\nif($step366 !== 4) {\n$ans369.stack[R.EXN_STACKHEIGHT++] = R.mAR($al370,$temp_full367,$step366,[self368],[],$elidedFrames372);\n}\nreturn $ans369;\n};\nvar anf_variant_member5650 = R.makeMethod0($temp_full367,\"render-reason\");\nvar $temp_full378 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__116($self379,$maybe$stack$loc380,$src$available381,$maybe$ast382) {\nvar $step377 = 0;\nvar $elidedFrames386 = 0;\nvar $ans383 = D;\nvar $al384 = L[116];\nif(R.isAR($self379)) {\n$step377 = $self379.step;\n$al384 = $self379.from;\n$ans383 = $self379.ans;\n$elidedFrames386 = $self379.elidedFrames;\nself379 = $self379.args[0];\nmaybe$stack$loc380 = $self379.args[1];\nsrc$available381 = $self379.args[2];\nmaybe$ast382 = $self379.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[116],4,$t,true);\n}\nvar self379 = $self379;\nvar maybe$stack$loc380 = $maybe$stack$loc380;\nvar src$available381 = $src$available381;\nvar maybe$ast382 = $maybe$ast382;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans383 = R.mC();\n}\nwhile(!R.isContinuation($ans383)) {\nswitch($step377) {\ncase 0: $step377 = 1;\n$ans383 = R.maybeMethodCall0(self379,\"render-reason\",L[117]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans383;\ndefault: R.ffi.throwSpinnakerError(L[116],$step377);\n}\n}\nif($step377 !== 1) {\n$ans383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al384,$temp_full378,$step377,[self379,maybe$stack$loc380,src$available381,maybe$ast382],[],$elidedFrames386);\n}\nreturn $ans383;\n};\nvar anf_variant_member5659 = R.makeMethod3($temp_full378,\"render-fancy-reason\");\nvar $temp_full389 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__118($self390) {\nvar $step388 = 0;\nvar $elidedFrames394 = 0;\nvar $ans391 = D;\nvar $al392 = L[118];\nif(R.isAR($self390)) {\n$step388 = $self390.step;\n$al392 = $self390.from;\n$ans391 = $self390.ans;\n$elidedFrames394 = $self390.elidedFrames;\nself390 = $self390.args[0];\nanf_fun398 = $self390.vars[0];\nanf_fun396 = $self390.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[118],1,$t,true);\n}\nvar self390 = $self390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans391 = R.mC();\n}\nwhile(!R.isContinuation($ans391)) {\nswitch($step388) {\ncase 0: $ans391 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[119],L[120]);\nvar anf_fun398 = $ans391;\n$ans391 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[121],L[122]);\nvar anf_fun396 = $ans391;\n$al392 = L[123];\nvar anf_arg395 = G(self390,\"message\",L[123]);\n$step388 = 1;\n$al392 = L[124];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,ED6.dict.values.dict[\"text\"]);\n}\n$ans391 = ED6.dict.values.dict[\"text\"].app(anf_arg395);\nbreak;\ncase 1: var anf_arg397 = $ans391;\n$step388 = 2;\n$al392 = L[122];\nif(typeof(anf_fun396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,anf_fun396);\n}\n$ans391 = anf_fun396.app(anf_arg397);\nbreak;\ncase 2: var anf_arg399 = $ans391;\n$step388 = 3;\n$al392 = L[120];\nif(typeof(anf_fun398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al392,anf_fun398);\n}\n$ans391 = anf_fun398.app(anf_arg399);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans391;\ndefault: R.ffi.throwSpinnakerError(L[118],$step388);\n}\n}\nif($step388 !== 3) {\n$ans391.stack[R.EXN_STACKHEIGHT++] = R.mAR($al392,$temp_full389,$step388,[self390],[anf_fun398,anf_fun396],$elidedFrames394);\n}\nreturn $ans391;\n};\nvar anf_variant_member5660 = R.makeMethod0($temp_full389,\"render-reason\");\nvar $temp_full402 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__125($self403) {\nvar $step401 = 0;\nvar $elidedFrames407 = 0;\nvar $ans404 = D;\nvar $al405 = L[125];\nif(R.isAR($self403)) {\n$step401 = $self403.step;\n$al405 = $self403.from;\n$ans404 = $self403.ans;\n$elidedFrames407 = $self403.elidedFrames;\nself403 = $self403.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],1,$t,true);\n}\nvar self403 = $self403;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans404 = R.mC();\n}\nwhile(!R.isContinuation($ans404)) {\nswitch($step401) {\ncase 0: $al405 = L[126];\nvar anf_arg408 = G(self403,\"message\",L[126]);\n$step401 = 1;\n$al405 = L[127];\nif(typeof(VS10.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al405,VS10.dict.values.dict[\"vs-value\"]);\n}\n$ans404 = VS10.dict.values.dict[\"vs-value\"].app(anf_arg408);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans404;\ndefault: R.ffi.throwSpinnakerError(L[125],$step401);\n}\n}\nif($step401 !== 1) {\n$ans404.stack[R.EXN_STACKHEIGHT++] = R.mAR($al405,$temp_full402,$step401,[self403],[],$elidedFrames407);\n}\nreturn $ans404;\n};\nvar anf_variant_member5661 = R.makeMethod0($temp_full402,\"_output\");\nvar $temp_full411 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__128($self412,$maybe$stack$loc413,$src$available414,$maybe$ast415) {\nvar $step410 = 0;\nvar $elidedFrames419 = 0;\nvar $ans416 = D;\nvar $al417 = L[128];\nif(R.isAR($self412)) {\n$step410 = $self412.step;\n$al417 = $self412.from;\n$ans416 = $self412.ans;\n$elidedFrames419 = $self412.elidedFrames;\nself412 = $self412.args[0];\nmaybe$stack$loc413 = $self412.args[1];\nsrc$available414 = $self412.args[2];\nmaybe$ast415 = $self412.args[3];\nanf_arg443 = $self412.vars[0];\nanf_arg435 = $self412.vars[1];\nanf_arg446 = $self412.vars[2];\nanf_arg447 = $self412.vars[3];\nanf_arg426 = $self412.vars[4];\nanf_arg427 = $self412.vars[5];\nanf_arg438 = $self412.vars[6];\nanf_arg439 = $self412.vars[7];\nanf_fun442 = $self412.vars[8];\nanf_fun422 = $self412.vars[9];\nanf_fun425 = $self412.vars[10];\nanf_fun437 = $self412.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[128],4,$t,true);\n}\nvar self412 = $self412;\nvar maybe$stack$loc413 = $maybe$stack$loc413;\nvar src$available414 = $src$available414;\nvar maybe$ast415 = $maybe$ast415;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans416 = R.mC();\n}\nwhile(!R.isContinuation($ans416)) {\nswitch($step410) {\ncase 0: $al417 = L[129];\nvar anf_method_obj420 = G(self412,\"loc\",L[129]);\n$step410 = 1;\n$ans416 = R.maybeMethodCall0(anf_method_obj420,\"is-builtin\",L[130]);\nbreak;\ncase 1: var anf_if449 = $ans416;\n$step410 = R.checkPyretTrue(anf_if449)?2:7;\nbreak;\ncase 2: $ans416 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[131],L[132]);\nvar anf_fun425 = $ans416;\n$al417 = L[133];\nvar anf_arg421 = G(self412,\"loc\",L[133]);\n$step410 = 3;\n$al417 = L[139];\n// omitting isFunction check;\n$ans416 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg421);\nbreak;\ncase 3: var anf_arg426 = $ans416;\n$ans416 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[134],L[135]);\nvar anf_fun422 = $ans416;\n$step410 = 4;\n$al417 = L[138];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg423 = $ans416;\n$step410 = 5;\n$al417 = L[135];\nif(typeof(anf_fun422.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun422);\n}\n$ans416 = anf_fun422.app(anf_arg423);\nbreak;\ncase 5: var anf_arg427 = $ans416;\n$al417 = L[136];\nvar anf_arg424 = G(self412,\"obj\",L[136]);\n$step410 = 6;\n$al417 = L[137];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans416 = ED6.dict.values.dict[\"embed\"].app(anf_arg424);\nbreak;\ncase 6: var anf_arg428 = $ans416;\n$step410 = 17;\n$al417 = L[132];\nif(typeof(anf_fun425.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun425);\n}\n$ans416 = anf_fun425.app(anf_arg426,anf_arg427,anf_arg428);\nbreak;\ncase 7: $ans416 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[140],L[141]);\nvar anf_fun442 = $ans416;\n$al417 = L[142];\nvar anf_arg431 = G(self412,\"loc\",L[142]);\n$step410 = 8;\n$al417 = L[156];\n// omitting isFunction check;\n$ans416 = ed$intro146.$var.app((\"reference update expression\"),anf_arg431,(-1),(true));\nbreak;\ncase 8: var anf_arg443 = $ans416;\n$al417 = L[143];\nvar anf_arg432 = G(self412,\"loc\",L[143]);\n$step410 = 9;\n$al417 = L[155];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans416 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg432);\nbreak;\ncase 9: var anf_arg446 = $ans416;\n$ans416 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[144],L[145]);\nvar anf_fun437 = $ans416;\n$step410 = 10;\n$al417 = L[154];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg438 = $ans416;\n$step410 = 11;\n$al417 = L[153];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 11: var anf_arg435 = $ans416;\n$ans416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[146],L[147]);\nvar anf_fun433 = $ans416;\n$al417 = L[148];\nvar anf_arg434 = G(self412,\"objloc\",L[148]);\n$step410 = 12;\n$al417 = L[147];\nif(typeof(anf_fun433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun433);\n}\n$ans416 = anf_fun433.app(anf_arg434);\nbreak;\ncase 12: var anf_arg436 = $ans416;\n$step410 = 13;\n$al417 = L[152];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg435,anf_arg436,(0));\nbreak;\ncase 13: var anf_arg439 = $ans416;\n$step410 = 14;\n$al417 = L[151];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"text\"]);\n}\n$ans416 = ED6.dict.values.dict[\"text\"].app((\" is expected to evaluate to an object, but its value was: \"));\nbreak;\ncase 14: var anf_arg440 = $ans416;\n$step410 = 15;\n$al417 = L[145];\nif(typeof(anf_fun437.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun437);\n}\n$ans416 = anf_fun437.app(anf_arg438,anf_arg439,anf_arg440);\nbreak;\ncase 15: var anf_arg447 = $ans416;\n$al417 = L[149];\nvar anf_arg441 = G(self412,\"obj\",L[149]);\n$step410 = 16;\n$al417 = L[150];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans416 = ED6.dict.values.dict[\"embed\"].app(anf_arg441);\nbreak;\ncase 16: var anf_arg448 = $ans416;\n$step410 = 17;\n$al417 = L[141];\nif(typeof(anf_fun442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al417,anf_fun442);\n}\n$ans416 = anf_fun442.app(anf_arg443,anf_arg446,anf_arg447,anf_arg448);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans416;\ndefault: R.ffi.throwSpinnakerError(L[128],$step410);\n}\n}\nif($step410 !== 17) {\n$ans416.stack[R.EXN_STACKHEIGHT++] = R.mAR($al417,$temp_full411,$step410,[self412,maybe$stack$loc413,src$available414,maybe$ast415],[anf_arg443,anf_arg435,anf_arg446,anf_arg447,anf_arg426,anf_arg427,anf_arg438,anf_arg439,anf_fun442,anf_fun422,anf_fun425,anf_fun437],$elidedFrames419);\n}\nreturn $ans416;\n};\nvar anf_variant_member5669 = R.makeMethod3($temp_full411,\"render-fancy-reason\");\nvar $temp_full452 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__157($self453) {\nvar $step451 = 0;\nvar $elidedFrames457 = 0;\nvar $ans454 = D;\nvar $al455 = L[157];\nif(R.isAR($self453)) {\n$step451 = $self453.step;\n$al455 = $self453.from;\n$ans454 = $self453.ans;\n$elidedFrames457 = $self453.elidedFrames;\nself453 = $self453.args[0];\nanf_fun463 = $self453.vars[0];\nanf_arg464 = $self453.vars[1];\nanf_fun459 = $self453.vars[2];\nanf_arg465 = $self453.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[157],1,$t,true);\n}\nvar self453 = $self453;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans454 = R.mC();\n}\nwhile(!R.isContinuation($ans454)) {\nswitch($step451) {\ncase 0: $ans454 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[158],L[159]);\nvar anf_fun463 = $ans454;\n$al455 = L[160];\nvar anf_arg458 = G(self453,\"loc\",L[160]);\n$step451 = 1;\n$al455 = L[166];\n// omitting isFunction check;\n$ans454 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg458);\nbreak;\ncase 1: var anf_arg464 = $ans454;\n$ans454 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[161],L[162]);\nvar anf_fun459 = $ans454;\n$step451 = 2;\n$al455 = L[165];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,ED6.dict.values.dict[\"text\"]);\n}\n$ans454 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 2: var anf_arg460 = $ans454;\n$step451 = 3;\n$al455 = L[162];\nif(typeof(anf_fun459.app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,anf_fun459);\n}\n$ans454 = anf_fun459.app(anf_arg460);\nbreak;\ncase 3: var anf_arg465 = $ans454;\n$al455 = L[163];\nvar anf_arg462 = G(self453,\"obj\",L[163]);\n$step451 = 4;\n$al455 = L[164];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,ED6.dict.values.dict[\"embed\"]);\n}\n$ans454 = ED6.dict.values.dict[\"embed\"].app(anf_arg462);\nbreak;\ncase 4: var anf_arg466 = $ans454;\n$step451 = 5;\n$al455 = L[159];\nif(typeof(anf_fun463.app) !== \"function\") {\nR.ffi.throwNonFunApp($al455,anf_fun463);\n}\n$ans454 = anf_fun463.app(anf_arg464,anf_arg465,anf_arg466);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans454;\ndefault: R.ffi.throwSpinnakerError(L[157],$step451);\n}\n}\nif($step451 !== 5) {\n$ans454.stack[R.EXN_STACKHEIGHT++] = R.mAR($al455,$temp_full452,$step451,[self453],[anf_fun463,anf_arg464,anf_fun459,anf_arg465],$elidedFrames457);\n}\nreturn $ans454;\n};\nvar anf_variant_member5670 = R.makeMethod0($temp_full452,\"render-reason\");\nvar $temp_full469 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__167($self470,$maybe$stack$loc471,$src$available472,$maybe$ast473) {\nvar $step468 = 0;\nvar $elidedFrames477 = 0;\nvar $ans474 = D;\nvar $al475 = L[167];\nif(R.isAR($self470)) {\n$step468 = $self470.step;\n$al475 = $self470.from;\n$ans474 = $self470.ans;\n$elidedFrames477 = $self470.elidedFrames;\nself470 = $self470.args[0];\nmaybe$stack$loc471 = $self470.args[1];\nsrc$available472 = $self470.args[2];\nmaybe$ast473 = $self470.args[3];\nanf_arg490 = $self470.vars[0];\nanf_arg491 = $self470.vars[1];\nanf_arg492 = $self470.vars[2];\nl485 = $self470.vars[3];\nanf_arg495 = $self470.vars[4];\nanf_arg496 = $self470.vars[5];\nn487 = $self470.vars[6];\nanf_arg530 = $self470.vars[7];\nanf_arg510 = $self470.vars[8];\nanf_arg500 = $self470.vars[9];\nanf_arg489 = $self470.vars[10];\nanf_arg524 = $self470.vars[11];\nanf_arg514 = $self470.vars[12];\nanf_arg525 = $self470.vars[13];\nanf_arg504 = $self470.vars[14];\nanf_arg515 = $self470.vars[15];\nanf_arg516 = $self470.vars[16];\nanf_fun498 = $self470.vars[17];\nanf_arg529 = $self470.vars[18];\nanf_arg508 = $self470.vars[19];\nanf_arg509 = $self470.vars[20];\nanf_fun523 = $self470.vars[21];\nanf_fun513 = $self470.vars[22];\nanf_fun506 = $self470.vars[23];\nanf_fun528 = $self470.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[167],4,$t,true);\n}\nvar self470 = $self470;\nvar maybe$stack$loc471 = $maybe$stack$loc471;\nvar src$available472 = $src$available472;\nvar maybe$ast473 = $maybe$ast473;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans474 = R.mC();\n}\nwhile(!R.isContinuation($ans474)) {\nswitch($step468) {\ncase 0: $al475 = L[168];\nvar anf_method_obj478 = G(self470,\"loc\",L[168]);\n$step468 = 1;\n$ans474 = R.maybeMethodCall0(anf_method_obj478,\"is-builtin\",L[169]);\nbreak;\ncase 1: var anf_arg479 = $ans474;\n$step468 = 2;\n$al475 = L[218];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,not5);\n}\n$ans474 = not5.app(anf_arg479);\nbreak;\ncase 2: var anf_if535 = $ans474;\n$step468 = R.checkPyretTrue(anf_if535)?3:5;\nbreak;\ncase 3: $al475 = L[216];\nvar anf_arg533 = G(self470,\"loc\",L[216]);\n$step468 = 4;\n$al475 = L[217];\nif(typeof(src$available472.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,src$available472);\n}\n$ans474 = src$available472.app(anf_arg533);\nbreak;\ncase 4: var anf_arg534 = $ans474;\n$ans474 = R.checkWrapBoolean(anf_arg534);\n$step468 = 6;\nbreak;\ncase 5: $step468 = 6;\n$ans474 = (false);\nbreak;\ncase 6: var anf_if532 = $ans474;\n$step468 = R.checkPyretTrue(anf_if532)?7:23;\nbreak;\ncase 7: $ans474 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[170],L[171]);\nvar anf_fun513 = $ans474;\n$al475 = L[172];\nvar anf_arg480 = G(self470,\"loc\",L[172]);\n$step468 = 8;\n$al475 = L[202];\n// omitting isFunction check;\n$ans474 = ed$intro146.$var.app((\"reference update expression\"),anf_arg480,(-1),(true));\nbreak;\ncase 8: var anf_arg514 = $ans474;\n$al475 = L[173];\nvar anf_arg483 = G(self470,\"loc\",L[173]);\n$step468 = 9;\n$al475 = L[201];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans474 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg483);\nbreak;\ncase 9: var anf_arg515 = $ans474;\n$ans474 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[174],L[175]);\nvar anf_fun506 = $ans474;\n$step468 = 10;\n$al475 = L[200];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg508 = $ans474;\n$step468 = 11;\n$al475 = L[199];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 11: var anf_arg500 = $ans474;\n$ans474 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[176],L[177]);\nvar anf_fun498 = $ans474;\n$al475 = L[178];\nvar l485 = G(self470,\"fieldloc\",L[178]);\n$al475 = L[179];\nvar anf_arg484 = G(self470,\"field\",L[179]);\n// caller optimization;\n$ans474 = string$length1.app(anf_arg484);\nvar n487 = $ans474;\n$al475 = L[180];\nvar anf_arg489 = G(l485,\"source\",L[180]);\n$al475 = L[181];\nvar anf_arg490 = G(l485,\"start-line\",L[181]);\n$al475 = L[182];\nvar anf_arg491 = G(l485,\"start-column\",L[182]);\n$al475 = L[183];\nvar anf_arg492 = G(l485,\"start-char\",L[183]);\n$al475 = L[184];\nvar anf_arg495 = G(l485,\"start-line\",L[184]);\n$al475 = L[185];\nvar anf_arg486 = G(l485,\"start-column\",L[185]);\n$step468 = 12;\n$al475 = L[198];\n// omitting isFunction check;\n$ans474 = _plus5.app(anf_arg486,n487);\nbreak;\ncase 12: var anf_arg496 = $ans474;\n$al475 = L[186];\nvar anf_arg488 = G(l485,\"start-char\",L[186]);\n$step468 = 13;\n$al475 = L[197];\n// omitting isFunction check;\n$ans474 = _plus5.app(anf_arg488,n487);\nbreak;\ncase 13: var anf_arg497 = $ans474;\n$step468 = 14;\n$al475 = L[196];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans474 = S9.dict.values.dict[\"srcloc\"].app(anf_arg489,anf_arg490,anf_arg491,anf_arg492,anf_arg495,anf_arg496,anf_arg497);\nbreak;\ncase 14: var anf_arg499 = $ans474;\n$step468 = 15;\n$al475 = L[177];\nif(typeof(anf_fun498.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun498);\n}\n$ans474 = anf_fun498.app(anf_arg499);\nbreak;\ncase 15: var anf_arg501 = $ans474;\n$step468 = 16;\n$al475 = L[195];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans474 = ED6.dict.values.dict[\"highlight\"].app(anf_arg500,anf_arg501,(0));\nbreak;\ncase 16: var anf_arg509 = $ans474;\n$step468 = 17;\n$al475 = L[194];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the \"));\nbreak;\ncase 17: var anf_arg510 = $ans474;\n$step468 = 18;\n$al475 = L[193];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 18: var anf_arg504 = $ans474;\n$ans474 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[187],L[188]);\nvar anf_fun502 = $ans474;\n$al475 = L[189];\nvar anf_arg503 = G(self470,\"objloc\",L[189]);\n$step468 = 19;\n$al475 = L[188];\nif(typeof(anf_fun502.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun502);\n}\n$ans474 = anf_fun502.app(anf_arg503);\nbreak;\ncase 19: var anf_arg505 = $ans474;\n$step468 = 20;\n$al475 = L[192];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans474 = ED6.dict.values.dict[\"highlight\"].app(anf_arg504,anf_arg505,(1));\nbreak;\ncase 20: var anf_arg511 = $ans474;\n$step468 = 21;\n$al475 = L[175];\nif(typeof(anf_fun506.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun506);\n}\n$ans474 = anf_fun506.app(anf_arg508,anf_arg509,anf_arg510,anf_arg511);\nbreak;\ncase 21: var anf_arg516 = $ans474;\n$al475 = L[190];\nvar anf_arg512 = G(self470,\"obj\",L[190]);\n$step468 = 22;\n$al475 = L[191];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"embed\"]);\n}\n$ans474 = ED6.dict.values.dict[\"embed\"].app(anf_arg512);\nbreak;\ncase 22: var anf_arg517 = $ans474;\n$step468 = 31;\n$al475 = L[171];\nif(typeof(anf_fun513.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun513);\n}\n$ans474 = anf_fun513.app(anf_arg514,anf_arg515,anf_arg516,anf_arg517);\nbreak;\ncase 23: $ans474 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[203],L[204]);\nvar anf_fun528 = $ans474;\n$al475 = L[205];\nvar anf_arg518 = G(self470,\"loc\",L[205]);\n$step468 = 24;\n$al475 = L[215];\n// omitting isFunction check;\n$ans474 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg518);\nbreak;\ncase 24: var anf_arg529 = $ans474;\n$ans474 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[206],L[207]);\nvar anf_fun523 = $ans474;\n$step468 = 25;\n$al475 = L[214];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 25: var anf_arg524 = $ans474;\n$al475 = L[208];\nvar anf_arg519 = G(self470,\"field\",L[208]);\n$step468 = 26;\n$al475 = L[213];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app(anf_arg519);\nbreak;\ncase 26: var anf_arg522 = $ans474;\n$step468 = 27;\n$al475 = L[212];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"code\"]);\n}\n$ans474 = ED6.dict.values.dict[\"code\"].app(anf_arg522);\nbreak;\ncase 27: var anf_arg525 = $ans474;\n$step468 = 28;\n$al475 = L[211];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"text\"]);\n}\n$ans474 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the object:\"));\nbreak;\ncase 28: var anf_arg526 = $ans474;\n$step468 = 29;\n$al475 = L[207];\nif(typeof(anf_fun523.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun523);\n}\n$ans474 = anf_fun523.app(anf_arg524,anf_arg525,anf_arg526);\nbreak;\ncase 29: var anf_arg530 = $ans474;\n$al475 = L[209];\nvar anf_arg527 = G(self470,\"obj\",L[209]);\n$step468 = 30;\n$al475 = L[210];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,ED6.dict.values.dict[\"embed\"]);\n}\n$ans474 = ED6.dict.values.dict[\"embed\"].app(anf_arg527);\nbreak;\ncase 30: var anf_arg531 = $ans474;\n$step468 = 31;\n$al475 = L[204];\nif(typeof(anf_fun528.app) !== \"function\") {\nR.ffi.throwNonFunApp($al475,anf_fun528);\n}\n$ans474 = anf_fun528.app(anf_arg529,anf_arg530,anf_arg531);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans474;\ndefault: R.ffi.throwSpinnakerError(L[167],$step468);\n}\n}\nif($step468 !== 31) {\n$ans474.stack[R.EXN_STACKHEIGHT++] = R.mAR($al475,$temp_full469,$step468,[self470,maybe$stack$loc471,src$available472,maybe$ast473],[anf_arg490,anf_arg491,anf_arg492,l485,anf_arg495,anf_arg496,n487,anf_arg530,anf_arg510,anf_arg500,anf_arg489,anf_arg524,anf_arg514,anf_arg525,anf_arg504,anf_arg515,anf_arg516,anf_fun498,anf_arg529,anf_arg508,anf_arg509,anf_fun523,anf_fun513,anf_fun506,anf_fun528],$elidedFrames477);\n}\nreturn $ans474;\n};\nvar anf_variant_member5680 = R.makeMethod3($temp_full469,\"render-fancy-reason\");\nvar $temp_full538 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__219($self539) {\nvar $step537 = 0;\nvar $elidedFrames543 = 0;\nvar $ans540 = D;\nvar $al541 = L[219];\nif(R.isAR($self539)) {\n$step537 = $self539.step;\n$al541 = $self539.from;\n$ans540 = $self539.ans;\n$elidedFrames543 = $self539.elidedFrames;\nself539 = $self539.args[0];\nanf_arg554 = $self539.vars[0];\nanf_arg555 = $self539.vars[1];\nanf_arg548 = $self539.vars[2];\nanf_arg549 = $self539.vars[3];\nanf_fun552 = $self539.vars[4];\nanf_fun547 = $self539.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[219],1,$t,true);\n}\nvar self539 = $self539;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans540 = R.mC();\n}\nwhile(!R.isContinuation($ans540)) {\nswitch($step537) {\ncase 0: $ans540 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[220],L[221]);\nvar anf_fun552 = $ans540;\n$al541 = L[222];\nvar anf_arg544 = G(self539,\"loc\",L[222]);\n$step537 = 1;\n$al541 = L[232];\n// omitting isFunction check;\n$ans540 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg544);\nbreak;\ncase 1: var anf_arg554 = $ans540;\n$ans540 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[223],L[224]);\nvar anf_fun547 = $ans540;\n$step537 = 2;\n$al541 = L[231];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg548 = $ans540;\n$al541 = L[225];\nvar anf_arg545 = G(self539,\"field\",L[225]);\n$step537 = 3;\n$al541 = L[230];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app(anf_arg545);\nbreak;\ncase 3: var anf_arg546 = $ans540;\n$step537 = 4;\n$al541 = L[229];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"code\"]);\n}\n$ans540 = ED6.dict.values.dict[\"code\"].app(anf_arg546);\nbreak;\ncase 4: var anf_arg549 = $ans540;\n$step537 = 5;\n$al541 = L[228];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"text\"]);\n}\n$ans540 = ED6.dict.values.dict[\"text\"].app((\" is frozen in the object:\"));\nbreak;\ncase 5: var anf_arg550 = $ans540;\n$step537 = 6;\n$al541 = L[224];\nif(typeof(anf_fun547.app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,anf_fun547);\n}\n$ans540 = anf_fun547.app(anf_arg548,anf_arg549,anf_arg550);\nbreak;\ncase 6: var anf_arg555 = $ans540;\n$al541 = L[226];\nvar anf_arg551 = G(self539,\"obj\",L[226]);\n$step537 = 7;\n$al541 = L[227];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,ED6.dict.values.dict[\"embed\"]);\n}\n$ans540 = ED6.dict.values.dict[\"embed\"].app(anf_arg551);\nbreak;\ncase 7: var anf_arg556 = $ans540;\n$step537 = 8;\n$al541 = L[221];\nif(typeof(anf_fun552.app) !== \"function\") {\nR.ffi.throwNonFunApp($al541,anf_fun552);\n}\n$ans540 = anf_fun552.app(anf_arg554,anf_arg555,anf_arg556);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans540;\ndefault: R.ffi.throwSpinnakerError(L[219],$step537);\n}\n}\nif($step537 !== 8) {\n$ans540.stack[R.EXN_STACKHEIGHT++] = R.mAR($al541,$temp_full538,$step537,[self539],[anf_arg554,anf_arg555,anf_arg548,anf_arg549,anf_fun552,anf_fun547],$elidedFrames543);\n}\nreturn $ans540;\n};\nvar anf_variant_member5681 = R.makeMethod0($temp_full538,\"render-reason\");\nvar $temp_full559 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__233($self560,$maybe$stack$loc561,$src$available562,$maybe$ast563) {\nvar $step558 = 0;\nvar $elidedFrames567 = 0;\nvar $ans564 = D;\nvar $al565 = L[233];\nif(R.isAR($self560)) {\n$step558 = $self560.step;\n$al565 = $self560.from;\n$ans564 = $self560.ans;\n$elidedFrames567 = $self560.elidedFrames;\nself560 = $self560.args[0];\nmaybe$stack$loc561 = $self560.args[1];\nsrc$available562 = $self560.args[2];\nmaybe$ast563 = $self560.args[3];\nanf_fun617 = $self560.vars[0];\nanf_arg580 = $self560.vars[1];\nl573 = $self560.vars[2];\nanf_arg581 = $self560.vars[3];\nanf_arg592 = $self560.vars[4];\nanf_arg582 = $self560.vars[5];\nanf_arg583 = $self560.vars[6];\nanf_arg595 = $self560.vars[7];\nanf_arg596 = $self560.vars[8];\nn576 = $self560.vars[9];\nanf_arg597 = $self560.vars[10];\nanf_arg588 = $self560.vars[11];\nanf_arg611 = $self560.vars[12];\nanf_arg578 = $self560.vars[13];\nanf_arg579 = $self560.vars[14];\nanf_fun594 = $self560.vars[15];\nanf_arg603 = $self560.vars[16];\nanf_arg614 = $self560.vars[17];\nanf_arg604 = $self560.vars[18];\nanf_fun585 = $self560.vars[19];\nanf_arg605 = $self560.vars[20];\nanf_arg618 = $self560.vars[21];\nanf_arg619 = $self560.vars[22];\nanf_fun610 = $self560.vars[23];\nanf_fun602 = $self560.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[233],4,$t,true);\n}\nvar self560 = $self560;\nvar maybe$stack$loc561 = $maybe$stack$loc561;\nvar src$available562 = $src$available562;\nvar maybe$ast563 = $maybe$ast563;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans564 = R.mC();\n}\nwhile(!R.isContinuation($ans564)) {\nswitch($step558) {\ncase 0: $al565 = L[234];\nvar anf_method_obj568 = G(self560,\"loc\",L[234]);\n$step558 = 1;\n$ans564 = R.maybeMethodCall0(anf_method_obj568,\"is-builtin\",L[235]);\nbreak;\ncase 1: var anf_arg569 = $ans564;\n$step558 = 2;\n$al565 = L[284];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,not5);\n}\n$ans564 = not5.app(anf_arg569);\nbreak;\ncase 2: var anf_if624 = $ans564;\n$step558 = R.checkPyretTrue(anf_if624)?3:5;\nbreak;\ncase 3: $al565 = L[282];\nvar anf_arg622 = G(self560,\"loc\",L[282]);\n$step558 = 4;\n$al565 = L[283];\nif(typeof(src$available562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,src$available562);\n}\n$ans564 = src$available562.app(anf_arg622);\nbreak;\ncase 4: var anf_arg623 = $ans564;\n$ans564 = R.checkWrapBoolean(anf_arg623);\n$step558 = 6;\nbreak;\ncase 5: $step558 = 6;\n$ans564 = (false);\nbreak;\ncase 6: var anf_if621 = $ans564;\n$step558 = R.checkPyretTrue(anf_if621)?7:23;\nbreak;\ncase 7: $ans564 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[236],L[237]);\nvar anf_fun602 = $ans564;\n$al565 = L[238];\nvar anf_arg570 = G(self560,\"loc\",L[238]);\n$step558 = 8;\n$al565 = L[268];\n// omitting isFunction check;\n$ans564 = ed$intro146.$var.app((\"reference update expression\"),anf_arg570,(-1),(true));\nbreak;\ncase 8: var anf_arg603 = $ans564;\n$al565 = L[239];\nvar anf_arg571 = G(self560,\"loc\",L[239]);\n$step558 = 9;\n$al565 = L[267];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans564 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg571);\nbreak;\ncase 9: var anf_arg604 = $ans564;\n$ans564 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[240],L[241]);\nvar anf_fun594 = $ans564;\n$step558 = 10;\n$al565 = L[266];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 10: var anf_arg595 = $ans564;\n$step558 = 11;\n$al565 = L[265];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 11: var anf_arg588 = $ans564;\n$ans564 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[242],L[243]);\nvar anf_fun585 = $ans564;\n$al565 = L[244];\nvar l573 = G(self560,\"fieldloc\",L[244]);\n$al565 = L[245];\nvar anf_arg572 = G(self560,\"field\",L[245]);\n// caller optimization;\n$ans564 = string$length1.app(anf_arg572);\nvar n576 = $ans564;\n$al565 = L[246];\nvar anf_arg578 = G(l573,\"source\",L[246]);\n$al565 = L[247];\nvar anf_arg579 = G(l573,\"start-line\",L[247]);\n$al565 = L[248];\nvar anf_arg580 = G(l573,\"start-column\",L[248]);\n$al565 = L[249];\nvar anf_arg581 = G(l573,\"start-char\",L[249]);\n$al565 = L[250];\nvar anf_arg582 = G(l573,\"start-line\",L[250]);\n$al565 = L[251];\nvar anf_arg575 = G(l573,\"start-column\",L[251]);\n$step558 = 12;\n$al565 = L[264];\n// omitting isFunction check;\n$ans564 = _plus5.app(anf_arg575,n576);\nbreak;\ncase 12: var anf_arg583 = $ans564;\n$al565 = L[252];\nvar anf_arg577 = G(l573,\"start-char\",L[252]);\n$step558 = 13;\n$al565 = L[263];\n// omitting isFunction check;\n$ans564 = _plus5.app(anf_arg577,n576);\nbreak;\ncase 13: var anf_arg584 = $ans564;\n$step558 = 14;\n$al565 = L[262];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans564 = S9.dict.values.dict[\"srcloc\"].app(anf_arg578,anf_arg579,anf_arg580,anf_arg581,anf_arg582,anf_arg583,anf_arg584);\nbreak;\ncase 14: var anf_arg587 = $ans564;\n$step558 = 15;\n$al565 = L[243];\nif(typeof(anf_fun585.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun585);\n}\n$ans564 = anf_fun585.app(anf_arg587);\nbreak;\ncase 15: var anf_arg589 = $ans564;\n$step558 = 16;\n$al565 = L[261];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans564 = ED6.dict.values.dict[\"highlight\"].app(anf_arg588,anf_arg589,(0));\nbreak;\ncase 16: var anf_arg596 = $ans564;\n$step558 = 17;\n$al565 = L[260];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the \"));\nbreak;\ncase 17: var anf_arg597 = $ans564;\n$step558 = 18;\n$al565 = L[259];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 18: var anf_arg592 = $ans564;\n$ans564 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[253],L[254]);\nvar anf_fun590 = $ans564;\n$al565 = L[255];\nvar anf_arg591 = G(self560,\"objloc\",L[255]);\n$step558 = 19;\n$al565 = L[254];\nif(typeof(anf_fun590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun590);\n}\n$ans564 = anf_fun590.app(anf_arg591);\nbreak;\ncase 19: var anf_arg593 = $ans564;\n$step558 = 20;\n$al565 = L[258];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans564 = ED6.dict.values.dict[\"highlight\"].app(anf_arg592,anf_arg593,(1));\nbreak;\ncase 20: var anf_arg600 = $ans564;\n$step558 = 21;\n$al565 = L[241];\nif(typeof(anf_fun594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun594);\n}\n$ans564 = anf_fun594.app(anf_arg595,anf_arg596,anf_arg597,anf_arg600);\nbreak;\ncase 21: var anf_arg605 = $ans564;\n$al565 = L[256];\nvar anf_arg601 = G(self560,\"obj\",L[256]);\n$step558 = 22;\n$al565 = L[257];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"embed\"]);\n}\n$ans564 = ED6.dict.values.dict[\"embed\"].app(anf_arg601);\nbreak;\ncase 22: var anf_arg606 = $ans564;\n$step558 = 31;\n$al565 = L[237];\nif(typeof(anf_fun602.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun602);\n}\n$ans564 = anf_fun602.app(anf_arg603,anf_arg604,anf_arg605,anf_arg606);\nbreak;\ncase 23: $ans564 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[269],L[270]);\nvar anf_fun617 = $ans564;\n$al565 = L[271];\nvar anf_arg607 = G(self560,\"loc\",L[271]);\n$step558 = 24;\n$al565 = L[281];\n// omitting isFunction check;\n$ans564 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg607);\nbreak;\ncase 24: var anf_arg618 = $ans564;\n$ans564 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[272],L[273]);\nvar anf_fun610 = $ans564;\n$step558 = 25;\n$al565 = L[280];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 25: var anf_arg611 = $ans564;\n$al565 = L[274];\nvar anf_arg608 = G(self560,\"field\",L[274]);\n$step558 = 26;\n$al565 = L[279];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app(anf_arg608);\nbreak;\ncase 26: var anf_arg609 = $ans564;\n$step558 = 27;\n$al565 = L[278];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"code\"]);\n}\n$ans564 = ED6.dict.values.dict[\"code\"].app(anf_arg609);\nbreak;\ncase 27: var anf_arg614 = $ans564;\n$step558 = 28;\n$al565 = L[277];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"text\"]);\n}\n$ans564 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the object:\"));\nbreak;\ncase 28: var anf_arg615 = $ans564;\n$step558 = 29;\n$al565 = L[273];\nif(typeof(anf_fun610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun610);\n}\n$ans564 = anf_fun610.app(anf_arg611,anf_arg614,anf_arg615);\nbreak;\ncase 29: var anf_arg619 = $ans564;\n$al565 = L[275];\nvar anf_arg616 = G(self560,\"obj\",L[275]);\n$step558 = 30;\n$al565 = L[276];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,ED6.dict.values.dict[\"embed\"]);\n}\n$ans564 = ED6.dict.values.dict[\"embed\"].app(anf_arg616);\nbreak;\ncase 30: var anf_arg620 = $ans564;\n$step558 = 31;\n$al565 = L[270];\nif(typeof(anf_fun617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al565,anf_fun617);\n}\n$ans564 = anf_fun617.app(anf_arg618,anf_arg619,anf_arg620);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans564;\ndefault: R.ffi.throwSpinnakerError(L[233],$step558);\n}\n}\nif($step558 !== 31) {\n$ans564.stack[R.EXN_STACKHEIGHT++] = R.mAR($al565,$temp_full559,$step558,[self560,maybe$stack$loc561,src$available562,maybe$ast563],[anf_fun617,anf_arg580,l573,anf_arg581,anf_arg592,anf_arg582,anf_arg583,anf_arg595,anf_arg596,n576,anf_arg597,anf_arg588,anf_arg611,anf_arg578,anf_arg579,anf_fun594,anf_arg603,anf_arg614,anf_arg604,anf_fun585,anf_arg605,anf_arg618,anf_arg619,anf_fun610,anf_fun602],$elidedFrames567);\n}\nreturn $ans564;\n};\nvar anf_variant_member5693 = R.makeMethod3($temp_full559,\"render-fancy-reason\");\nvar $temp_full627 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__285($self628) {\nvar $step626 = 0;\nvar $elidedFrames632 = 0;\nvar $ans629 = D;\nvar $al630 = L[285];\nif(R.isAR($self628)) {\n$step626 = $self628.step;\n$al630 = $self628.from;\n$ans629 = $self628.ans;\n$elidedFrames632 = $self628.elidedFrames;\nself628 = $self628.args[0];\nanf_arg642 = $self628.vars[0];\nanf_arg643 = $self628.vars[1];\nanf_arg637 = $self628.vars[2];\nanf_arg638 = $self628.vars[3];\nanf_fun641 = $self628.vars[4];\nanf_fun636 = $self628.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[285],1,$t,true);\n}\nvar self628 = $self628;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans629 = R.mC();\n}\nwhile(!R.isContinuation($ans629)) {\nswitch($step626) {\ncase 0: $ans629 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[286],L[287]);\nvar anf_fun641 = $ans629;\n$al630 = L[288];\nvar anf_arg633 = G(self628,\"loc\",L[288]);\n$step626 = 1;\n$al630 = L[298];\n// omitting isFunction check;\n$ans629 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg633);\nbreak;\ncase 1: var anf_arg642 = $ans629;\n$ans629 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[289],L[290]);\nvar anf_fun636 = $ans629;\n$step626 = 2;\n$al630 = L[297];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg637 = $ans629;\n$al630 = L[291];\nvar anf_arg634 = G(self628,\"field\",L[291]);\n$step626 = 3;\n$al630 = L[296];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app(anf_arg634);\nbreak;\ncase 3: var anf_arg635 = $ans629;\n$step626 = 4;\n$al630 = L[295];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"code\"]);\n}\n$ans629 = ED6.dict.values.dict[\"code\"].app(anf_arg635);\nbreak;\ncase 4: var anf_arg638 = $ans629;\n$step626 = 5;\n$al630 = L[294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"text\"]);\n}\n$ans629 = ED6.dict.values.dict[\"text\"].app((\" is not a mutable reference in the object:\"));\nbreak;\ncase 5: var anf_arg639 = $ans629;\n$step626 = 6;\n$al630 = L[290];\nif(typeof(anf_fun636.app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,anf_fun636);\n}\n$ans629 = anf_fun636.app(anf_arg637,anf_arg638,anf_arg639);\nbreak;\ncase 6: var anf_arg643 = $ans629;\n$al630 = L[292];\nvar anf_arg640 = G(self628,\"obj\",L[292]);\n$step626 = 7;\n$al630 = L[293];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,ED6.dict.values.dict[\"embed\"]);\n}\n$ans629 = ED6.dict.values.dict[\"embed\"].app(anf_arg640);\nbreak;\ncase 7: var anf_arg645 = $ans629;\n$step626 = 8;\n$al630 = L[287];\nif(typeof(anf_fun641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al630,anf_fun641);\n}\n$ans629 = anf_fun641.app(anf_arg642,anf_arg643,anf_arg645);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans629;\ndefault: R.ffi.throwSpinnakerError(L[285],$step626);\n}\n}\nif($step626 !== 8) {\n$ans629.stack[R.EXN_STACKHEIGHT++] = R.mAR($al630,$temp_full627,$step626,[self628],[anf_arg642,anf_arg643,anf_arg637,anf_arg638,anf_fun641,anf_fun636],$elidedFrames632);\n}\nreturn $ans629;\n};\nvar anf_variant_member5694 = R.makeMethod0($temp_full627,\"render-reason\");\nvar $temp_full648 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__299($self649,$maybe$stack$loc650,$src$available651,$maybe$ast652) {\nvar $step647 = 0;\nvar $elidedFrames656 = 0;\nvar $ans653 = D;\nvar $al654 = L[299];\nif(R.isAR($self649)) {\n$step647 = $self649.step;\n$al654 = $self649.from;\n$ans653 = $self649.ans;\n$elidedFrames656 = $self649.elidedFrames;\nself649 = $self649.args[0];\nmaybe$stack$loc650 = $self649.args[1];\nsrc$available651 = $self649.args[2];\nmaybe$ast652 = $self649.args[3];\nanf_fun706 = $self649.vars[0];\nanf_arg670 = $self649.vars[1];\nanf_arg681 = $self649.vars[2];\nanf_arg692 = $self649.vars[3];\nanf_arg682 = $self649.vars[4];\nl675 = $self649.vars[5];\nanf_arg683 = $self649.vars[6];\nanf_arg662 = $self649.vars[7];\nanf_arg684 = $self649.vars[8];\nanf_arg663 = $self649.vars[9];\nanf_arg685 = $self649.vars[10];\nanf_arg696 = $self649.vars[11];\nanf_arg686 = $self649.vars[12];\nanf_arg699 = $self649.vars[13];\nn679 = $self649.vars[14];\nanf_arg700 = $self649.vars[15];\nanf_arg701 = $self649.vars[16];\nanf_arg669 = $self649.vars[17];\nanf_fun661 = $self649.vars[18];\nanf_fun698 = $self649.vars[19];\nanf_arg707 = $self649.vars[20];\nanf_arg708 = $self649.vars[21];\nanf_fun689 = $self649.vars[22];\nanf_arg709 = $self649.vars[23];\nanf_fun668 = $self649.vars[24];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[299],4,$t,true);\n}\nvar self649 = $self649;\nvar maybe$stack$loc650 = $maybe$stack$loc650;\nvar src$available651 = $src$available651;\nvar maybe$ast652 = $maybe$ast652;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans653 = R.mC();\n}\nwhile(!R.isContinuation($ans653)) {\nswitch($step647) {\ncase 0: $al654 = L[300];\nvar anf_method_obj657 = G(self649,\"loc\",L[300]);\n$step647 = 1;\n$ans653 = R.maybeMethodCall0(anf_method_obj657,\"is-builtin\",L[301]);\nbreak;\ncase 1: var anf_if711 = $ans653;\n$step647 = R.checkPyretTrue(anf_if711)?2:10;\nbreak;\ncase 2: $ans653 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[302],L[303]);\nvar anf_fun668 = $ans653;\n$al654 = L[304];\nvar anf_arg658 = G(self649,\"loc\",L[304]);\n$step647 = 3;\n$al654 = L[314];\n// omitting isFunction check;\n$ans653 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg658);\nbreak;\ncase 3: var anf_arg669 = $ans653;\n$ans653 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[305],L[306]);\nvar anf_fun661 = $ans653;\n$step647 = 4;\n$al654 = L[313];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 4: var anf_arg662 = $ans653;\n$al654 = L[307];\nvar anf_arg659 = G(self649,\"field\",L[307]);\n$step647 = 5;\n$al654 = L[312];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app(anf_arg659);\nbreak;\ncase 5: var anf_arg660 = $ans653;\n$step647 = 6;\n$al654 = L[311];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"code\"]);\n}\n$ans653 = ED6.dict.values.dict[\"code\"].app(anf_arg660);\nbreak;\ncase 6: var anf_arg663 = $ans653;\n$step647 = 7;\n$al654 = L[310];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the object:\"));\nbreak;\ncase 7: var anf_arg666 = $ans653;\n$step647 = 8;\n$al654 = L[306];\nif(typeof(anf_fun661.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun661);\n}\n$ans653 = anf_fun661.app(anf_arg662,anf_arg663,anf_arg666);\nbreak;\ncase 8: var anf_arg670 = $ans653;\n$al654 = L[308];\nvar anf_arg667 = G(self649,\"obj\",L[308]);\n$step647 = 9;\n$al654 = L[309];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"embed\"]);\n}\n$ans653 = ED6.dict.values.dict[\"embed\"].app(anf_arg667);\nbreak;\ncase 9: var anf_arg671 = $ans653;\n$step647 = 26;\n$al654 = L[303];\nif(typeof(anf_fun668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun668);\n}\n$ans653 = anf_fun668.app(anf_arg669,anf_arg670,anf_arg671);\nbreak;\ncase 10: $ans653 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[315],L[316]);\nvar anf_fun706 = $ans653;\n$al654 = L[317];\nvar anf_arg672 = G(self649,\"loc\",L[317]);\n$step647 = 11;\n$al654 = L[347];\n// omitting isFunction check;\n$ans653 = ed$intro146.$var.app((\"reference update expression\"),anf_arg672,(-1),(true));\nbreak;\ncase 11: var anf_arg707 = $ans653;\n$al654 = L[318];\nvar anf_arg673 = G(self649,\"loc\",L[318]);\n$step647 = 12;\n$al654 = L[346];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans653 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg673);\nbreak;\ncase 12: var anf_arg708 = $ans653;\n$ans653 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[319],L[320]);\nvar anf_fun698 = $ans653;\n$step647 = 13;\n$al654 = L[345];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg699 = $ans653;\n$step647 = 14;\n$al654 = L[344];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"field\"));\nbreak;\ncase 14: var anf_arg692 = $ans653;\n$ans653 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[321],L[322]);\nvar anf_fun689 = $ans653;\n$al654 = L[323];\nvar l675 = G(self649,\"fieldloc\",L[323]);\n$al654 = L[324];\nvar anf_arg674 = G(self649,\"field\",L[324]);\n// caller optimization;\n$ans653 = string$length1.app(anf_arg674);\nvar n679 = $ans653;\n$al654 = L[325];\nvar anf_arg681 = G(l675,\"source\",L[325]);\n$al654 = L[326];\nvar anf_arg682 = G(l675,\"start-line\",L[326]);\n$al654 = L[327];\nvar anf_arg683 = G(l675,\"start-column\",L[327]);\n$al654 = L[328];\nvar anf_arg684 = G(l675,\"start-char\",L[328]);\n$al654 = L[329];\nvar anf_arg685 = G(l675,\"start-line\",L[329]);\n$al654 = L[330];\nvar anf_arg678 = G(l675,\"start-column\",L[330]);\n$step647 = 15;\n$al654 = L[343];\n// omitting isFunction check;\n$ans653 = _plus5.app(anf_arg678,n679);\nbreak;\ncase 15: var anf_arg686 = $ans653;\n$al654 = L[331];\nvar anf_arg680 = G(l675,\"start-char\",L[331]);\n$step647 = 16;\n$al654 = L[342];\n// omitting isFunction check;\n$ans653 = _plus5.app(anf_arg680,n679);\nbreak;\ncase 16: var anf_arg687 = $ans653;\n$step647 = 17;\n$al654 = L[341];\nif(typeof(S9.dict.values.dict[\"srcloc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,S9.dict.values.dict[\"srcloc\"]);\n}\n$ans653 = S9.dict.values.dict[\"srcloc\"].app(anf_arg681,anf_arg682,anf_arg683,anf_arg684,anf_arg685,anf_arg686,anf_arg687);\nbreak;\ncase 17: var anf_arg691 = $ans653;\n$step647 = 18;\n$al654 = L[322];\nif(typeof(anf_fun689.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun689);\n}\n$ans653 = anf_fun689.app(anf_arg691);\nbreak;\ncase 18: var anf_arg693 = $ans653;\n$step647 = 19;\n$al654 = L[340];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans653 = ED6.dict.values.dict[\"highlight\"].app(anf_arg692,anf_arg693,(0));\nbreak;\ncase 19: var anf_arg700 = $ans653;\n$step647 = 20;\n$al654 = L[339];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the \"));\nbreak;\ncase 20: var anf_arg701 = $ans653;\n$step647 = 21;\n$al654 = L[338];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"text\"]);\n}\n$ans653 = ED6.dict.values.dict[\"text\"].app((\"object:\"));\nbreak;\ncase 21: var anf_arg696 = $ans653;\n$ans653 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[332],L[333]);\nvar anf_fun694 = $ans653;\n$al654 = L[334];\nvar anf_arg695 = G(self649,\"objloc\",L[334]);\n$step647 = 22;\n$al654 = L[333];\nif(typeof(anf_fun694.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun694);\n}\n$ans653 = anf_fun694.app(anf_arg695);\nbreak;\ncase 22: var anf_arg697 = $ans653;\n$step647 = 23;\n$al654 = L[337];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans653 = ED6.dict.values.dict[\"highlight\"].app(anf_arg696,anf_arg697,(1));\nbreak;\ncase 23: var anf_arg702 = $ans653;\n$step647 = 24;\n$al654 = L[320];\nif(typeof(anf_fun698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun698);\n}\n$ans653 = anf_fun698.app(anf_arg699,anf_arg700,anf_arg701,anf_arg702);\nbreak;\ncase 24: var anf_arg709 = $ans653;\n$al654 = L[335];\nvar anf_arg705 = G(self649,\"obj\",L[335]);\n$step647 = 25;\n$al654 = L[336];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,ED6.dict.values.dict[\"embed\"]);\n}\n$ans653 = ED6.dict.values.dict[\"embed\"].app(anf_arg705);\nbreak;\ncase 25: var anf_arg710 = $ans653;\n$step647 = 26;\n$al654 = L[316];\nif(typeof(anf_fun706.app) !== \"function\") {\nR.ffi.throwNonFunApp($al654,anf_fun706);\n}\n$ans653 = anf_fun706.app(anf_arg707,anf_arg708,anf_arg709,anf_arg710);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans653;\ndefault: R.ffi.throwSpinnakerError(L[299],$step647);\n}\n}\nif($step647 !== 26) {\n$ans653.stack[R.EXN_STACKHEIGHT++] = R.mAR($al654,$temp_full648,$step647,[self649,maybe$stack$loc650,src$available651,maybe$ast652],[anf_fun706,anf_arg670,anf_arg681,anf_arg692,anf_arg682,l675,anf_arg683,anf_arg662,anf_arg684,anf_arg663,anf_arg685,anf_arg696,anf_arg686,anf_arg699,n679,anf_arg700,anf_arg701,anf_arg669,anf_fun661,anf_fun698,anf_arg707,anf_arg708,anf_fun689,anf_arg709,anf_fun668],$elidedFrames656);\n}\nreturn $ans653;\n};\nvar anf_variant_member5706 = R.makeMethod3($temp_full648,\"render-fancy-reason\");\nvar $temp_full714 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__348($self715) {\nvar $step713 = 0;\nvar $elidedFrames719 = 0;\nvar $ans716 = D;\nvar $al717 = L[348];\nif(R.isAR($self715)) {\n$step713 = $self715.step;\n$al717 = $self715.from;\n$ans716 = $self715.ans;\n$elidedFrames719 = $self715.elidedFrames;\nself715 = $self715.args[0];\nanf_fun728 = $self715.vars[0];\nanf_arg730 = $self715.vars[1];\nanf_arg724 = $self715.vars[2];\nanf_arg725 = $self715.vars[3];\nanf_arg729 = $self715.vars[4];\nanf_fun723 = $self715.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[348],1,$t,true);\n}\nvar self715 = $self715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans716 = R.mC();\n}\nwhile(!R.isContinuation($ans716)) {\nswitch($step713) {\ncase 0: $ans716 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[349],L[350]);\nvar anf_fun728 = $ans716;\n$al717 = L[351];\nvar anf_arg720 = G(self715,\"loc\",L[351]);\n$step713 = 1;\n$al717 = L[361];\n// omitting isFunction check;\n$ans716 = ed$simple$intro104.$var.app((\"reference update expression\"),anf_arg720);\nbreak;\ncase 1: var anf_arg729 = $ans716;\n$ans716 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[352],L[353]);\nvar anf_fun723 = $ans716;\n$step713 = 2;\n$al717 = L[360];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app((\"The field \"));\nbreak;\ncase 2: var anf_arg724 = $ans716;\n$al717 = L[354];\nvar anf_arg721 = G(self715,\"field\",L[354]);\n$step713 = 3;\n$al717 = L[359];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app(anf_arg721);\nbreak;\ncase 3: var anf_arg722 = $ans716;\n$step713 = 4;\n$al717 = L[358];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"code\"]);\n}\n$ans716 = ED6.dict.values.dict[\"code\"].app(anf_arg722);\nbreak;\ncase 4: var anf_arg725 = $ans716;\n$step713 = 5;\n$al717 = L[357];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"text\"]);\n}\n$ans716 = ED6.dict.values.dict[\"text\"].app((\" does not exist in the object:\"));\nbreak;\ncase 5: var anf_arg726 = $ans716;\n$step713 = 6;\n$al717 = L[353];\nif(typeof(anf_fun723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,anf_fun723);\n}\n$ans716 = anf_fun723.app(anf_arg724,anf_arg725,anf_arg726);\nbreak;\ncase 6: var anf_arg730 = $ans716;\n$al717 = L[355];\nvar anf_arg727 = G(self715,\"obj\",L[355]);\n$step713 = 7;\n$al717 = L[356];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,ED6.dict.values.dict[\"embed\"]);\n}\n$ans716 = ED6.dict.values.dict[\"embed\"].app(anf_arg727);\nbreak;\ncase 7: var anf_arg731 = $ans716;\n$step713 = 8;\n$al717 = L[350];\nif(typeof(anf_fun728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al717,anf_fun728);\n}\n$ans716 = anf_fun728.app(anf_arg729,anf_arg730,anf_arg731);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans716;\ndefault: R.ffi.throwSpinnakerError(L[348],$step713);\n}\n}\nif($step713 !== 8) {\n$ans716.stack[R.EXN_STACKHEIGHT++] = R.mAR($al717,$temp_full714,$step713,[self715],[anf_fun728,anf_arg730,anf_arg724,anf_arg725,anf_arg729,anf_fun723],$elidedFrames719);\n}\nreturn $ans716;\n};\nvar anf_variant_member5707 = R.makeMethod0($temp_full714,\"render-reason\");\nvar $temp_full734 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__362($self735,$maybe$stack$loc736,$src$available737,$maybe$ast738) {\nvar $step733 = 0;\nvar $elidedFrames742 = 0;\nvar $ans739 = D;\nvar $al740 = L[362];\nif(R.isAR($self735)) {\n$step733 = $self735.step;\n$al740 = $self735.from;\n$ans739 = $self735.ans;\n$elidedFrames742 = $self735.elidedFrames;\nself735 = $self735.args[0];\nmaybe$stack$loc736 = $self735.args[1];\nsrc$available737 = $self735.args[2];\nmaybe$ast738 = $self735.args[3];\ncases756 = $self735.vars[0];\nanf_arg751 = $self735.vars[1];\nanf_arg752 = $self735.vars[2];\nanf_fun750 = $self735.vars[3];\nanf_fun745 = $self735.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[362],4,$t,true);\n}\nvar self735 = $self735;\nvar maybe$stack$loc736 = $maybe$stack$loc736;\nvar src$available737 = $src$available737;\nvar maybe$ast738 = $maybe$ast738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans739 = R.mC();\n}\nwhile(!R.isContinuation($ans739)) {\nswitch($step733) {\ncase 0: $al740 = L[363];\nvar anf_method_obj743 = G(self735,\"loc\",L[363]);\n$step733 = 1;\n$ans739 = R.maybeMethodCall0(anf_method_obj743,\"is-builtin\",L[364]);\nbreak;\ncase 1: var anf_if839 = $ans739;\n$step733 = R.checkPyretTrue(anf_if839)?2:3;\nbreak;\ncase 2: $step733 = 6;\n$ans739 = (true);\nbreak;\ncase 3: $al740 = L[418];\nvar anf_arg834 = G(self735,\"loc\",L[418]);\n$step733 = 4;\n$al740 = L[420];\nif(typeof(src$available737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,src$available737);\n}\n$ans739 = src$available737.app(anf_arg834);\nbreak;\ncase 4: var anf_arg837 = $ans739;\n$step733 = 5;\n$al740 = L[419];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,not5);\n}\n$ans739 = not5.app(anf_arg837);\nbreak;\ncase 5: var anf_arg838 = $ans739;\n$ans739 = R.checkWrapBoolean(anf_arg838);\n$step733 = 6;\nbreak;\ncase 6: var anf_if832 = $ans739;\n$step733 = R.checkPyretTrue(anf_if832)?7:12;\nbreak;\ncase 7: $ans739 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[365],L[366]);\nvar anf_fun750 = $ans739;\n$al740 = L[367];\nvar anf_arg744 = G(self735,\"loc\",L[367]);\n$step733 = 8;\n$al740 = L[373];\n// omitting isFunction check;\n$ans739 = ed$simple$intro104.$var.app((\"cases expression\"),anf_arg744);\nbreak;\ncase 8: var anf_arg751 = $ans739;\n$ans739 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[368],L[369]);\nvar anf_fun745 = $ans739;\n$step733 = 9;\n$al740 = L[372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,ED6.dict.values.dict[\"text\"]);\n}\n$ans739 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value:\"));\nbreak;\ncase 9: var anf_arg748 = $ans739;\n$step733 = 10;\n$al740 = L[369];\nif(typeof(anf_fun745.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,anf_fun745);\n}\n$ans739 = anf_fun745.app(anf_arg748);\nbreak;\ncase 10: var anf_arg752 = $ans739;\n$al740 = L[370];\nvar anf_arg749 = G(self735,\"val\",L[370]);\n$step733 = 11;\n$al740 = L[371];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,ED6.dict.values.dict[\"embed\"]);\n}\n$ans739 = ED6.dict.values.dict[\"embed\"].app(anf_arg749);\nbreak;\ncase 11: var anf_arg753 = $ans739;\n$step733 = 21;\n$al740 = L[366];\nif(typeof(anf_fun750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,anf_fun750);\n}\n$ans739 = anf_fun750.app(anf_arg751,anf_arg752,anf_arg753);\nbreak;\ncase 12: $al740 = L[374];\nvar anf_arg754 = G(self735,\"loc\",L[374]);\n$step733 = 13;\n$al740 = L[417];\nif(typeof(src$available737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,src$available737);\n}\n$ans739 = src$available737.app(anf_arg754);\nbreak;\ncase 13: var anf_if831 = $ans739;\n$step733 = R.checkPyretTrue(anf_if831)?14:20;\nbreak;\ncase 14: $al740 = L[375];\nvar anf_arg755 = G(self735,\"loc\",L[375]);\n$step733 = 15;\n$al740 = L[415];\nif(typeof(maybe$ast738.app) !== \"function\") {\nR.ffi.throwNonFunApp($al740,maybe$ast738);\n}\n$ans739 = maybe$ast738.app(anf_arg755);\nbreak;\ncase 15: var cases756 = $ans739;\n$step733 = 16;\n$al740 = L[414];\nvar $ann$check830 = R._cA(L[414],R.gDA(L[414],\"O\",O8.dict.types,\"Option\"),cases756);\nif(R.isContinuation($ann$check830)) {\n$ans739 = $ann$check830;\n}\nbreak;\ncase 16: $al740 = L[401];\n$step733 = $cases_dispatch829[cases756.$name] || 19;\nbreak;\ncase 17: if(cases756.$arity !== 1) {\nif(cases756.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[400],1,cases756.$arity,L[401],cases756.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[400],true,L[401],cases756.$loc);\n}\n}\n$step733 = 21;\n$al740 = L[400];\nvar $temp_branch796 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__401($ast$cse762) {\nvar $step797 = 0;\nvar $elidedFrames801 = 0;\nvar $ans798 = D;\nvar $al799 = L[377];\nif(R.isAR($ast$cse762)) {\n$step797 = $ast$cse762.step;\n$al799 = $ast$cse762.from;\n$ans798 = $ast$cse762.ans;\n$elidedFrames801 = $ast$cse762.elidedFrames;\nast$cse762 = $ast$cse762.args[0];\nanf_arg792 = $ast$cse762.vars[0];\nanf_arg782 = $ast$cse762.vars[1];\nanf_arg793 = $ast$cse762.vars[2];\nanf_arg783 = $ast$cse762.vars[3];\nanf_arg794 = $ast$cse762.vars[4];\nanf_arg774 = $ast$cse762.vars[5];\nanf_arg787 = $ast$cse762.vars[6];\nanf_arg788 = $ast$cse762.vars[7];\nanf_fun791 = $ast$cse762.vars[8];\nanf_arg779 = $ast$cse762.vars[9];\nanf_fun781 = $ast$cse762.vars[10];\n} else {\nvar ast$cse762 = $ast$cse762;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans798 = R.mC();\n}\nwhile(!R.isContinuation($ans798)) {\nswitch($step797) {\ncase 0: $ans798 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[376],L[377]);\nvar anf_fun791 = $ans798;\n$al799 = L[378];\nvar anf_arg760 = G(self735,\"loc\",L[378]);\n$step797 = 1;\n$al799 = L[399];\n// omitting isFunction check;\n$ans798 = ed$intro146.$var.app((\"cases expression\"),anf_arg760,(-1),(true));\nbreak;\ncase 1: var anf_arg792 = $ans798;\n$al799 = L[379];\nvar anf_arg761 = G(self735,\"loc\",L[379]);\n$step797 = 2;\n$al799 = L[398];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans798 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg761);\nbreak;\ncase 2: var anf_arg793 = $ans798;\n$ans798 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[380],L[381]);\nvar anf_fun781 = $ans798;\n$step797 = 3;\n$al799 = L[397];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"None of the \"));\nbreak;\ncase 3: var anf_arg782 = $ans798;\n$step797 = 4;\n$al799 = L[396];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"branch patterns\"));\nbreak;\ncase 4: var anf_arg774 = $ans798;\n$al799 = L[382];\nvar anf_method_obj771 = G(ast$cse762,\"branches\",L[382]);\nvar $temp_lam803 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__383($recv_765) {\nvar $step802 = 0;\nvar $elidedFrames807 = 0;\nvar $ans804 = D;\nvar $al805 = L[383];\nif(R.isAR($recv_765)) {\n$step802 = $recv_765.step;\n$al805 = $recv_765.from;\n$ans804 = $recv_765.ans;\n$elidedFrames807 = $recv_765.elidedFrames;\nrecv_765 = $recv_765.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[383],1,$t,false);\n}\nvar recv_765 = $recv_765;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans804 = R.mC();\n}\nwhile(!R.isContinuation($ans804)) {\nswitch($step802) {\ncase 0: $step802 = 1;\n$al805 = L[383];\n$ans804 = G(recv_765,\"pat-loc\",L[383]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans804;\ndefault: R.ffi.throwSpinnakerError(L[383],$step802);\n}\n}\nif($step802 !== 1) {\n$ans804.stack[R.EXN_STACKHEIGHT++] = R.mAR($al805,$temp_lam803,$step802,[recv_765],[],$elidedFrames807);\n}\nreturn $ans804;\n};\nvar anf_arg773 = R.mF($temp_lam803,\"\");\n$step797 = 5;\n$ans798 = R.maybeMethodCall1(anf_method_obj771,\"map\",L[384],anf_arg773);\nbreak;\ncase 5: var anf_arg775 = $ans798;\n$step797 = 6;\n$al799 = L[395];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans798 = ED6.dict.values.dict[\"highlight\"].app(anf_arg774,anf_arg775,(0));\nbreak;\ncase 6: var anf_arg783 = $ans798;\n$step797 = 7;\n$al799 = L[394];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\" matched the value of the \"));\nbreak;\ncase 7: var anf_arg787 = $ans798;\n$step797 = 8;\n$al799 = L[393];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\"argument\"));\nbreak;\ncase 8: var anf_arg779 = $ans798;\n$ans798 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[385],L[386]);\nvar anf_fun777 = $ans798;\n$al799 = L[387];\nvar anf_bracket776 = G(ast$cse762,\"val\",L[387]);\n$al799 = L[388];\nvar anf_arg778 = G(anf_bracket776,\"l\",L[388]);\n$step797 = 9;\n$al799 = L[386];\nif(typeof(anf_fun777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun777);\n}\n$ans798 = anf_fun777.app(anf_arg778);\nbreak;\ncase 9: var anf_arg780 = $ans798;\n$step797 = 10;\n$al799 = L[392];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans798 = ED6.dict.values.dict[\"highlight\"].app(anf_arg779,anf_arg780,(1));\nbreak;\ncase 10: var anf_arg788 = $ans798;\n$step797 = 11;\n$al799 = L[391];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"text\"]);\n}\n$ans798 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 11: var anf_arg789 = $ans798;\n$step797 = 12;\n$al799 = L[381];\nif(typeof(anf_fun781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun781);\n}\n$ans798 = anf_fun781.app(anf_arg782,anf_arg783,anf_arg787,anf_arg788,anf_arg789);\nbreak;\ncase 12: var anf_arg794 = $ans798;\n$al799 = L[389];\nvar anf_arg790 = G(self735,\"val\",L[389]);\n$step797 = 13;\n$al799 = L[390];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,ED6.dict.values.dict[\"embed\"]);\n}\n$ans798 = ED6.dict.values.dict[\"embed\"].app(anf_arg790);\nbreak;\ncase 13: var anf_arg795 = $ans798;\n$step797 = 14;\n$al799 = L[377];\nif(typeof(anf_fun791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al799,anf_fun791);\n}\n$ans798 = anf_fun791.app(anf_arg792,anf_arg793,anf_arg794,anf_arg795);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans798;\ndefault: R.ffi.throwSpinnakerError(L[377],$step797);\n}\n}\nif($step797 !== 14) {\n$ans798.stack[R.EXN_STACKHEIGHT++] = R.mAR($al799,$temp_branch796,$step797,[ast$cse762],[anf_arg792,anf_arg782,anf_arg793,anf_arg783,anf_arg794,anf_arg774,anf_arg787,anf_arg788,anf_fun791,anf_arg779,anf_fun781],$elidedFrames801);\n}\nreturn $ans798;\n};\n$ans739 = cases756.$app_fields($temp_branch796,[false]);\nbreak;\ncase 18: if(cases756.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[413],false,L[401],cases756.$loc);\n}\n$step733 = 21;\n$al740 = L[413];\nvar $temp_branch822 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__401($$resumer13) {\nvar $step823 = 0;\nvar $elidedFrames827 = 0;\nvar $ans824 = D;\nvar $al825 = L[403];\nif(R.isAR($$resumer13)) {\n$step823 = $$resumer13.step;\n$al825 = $$resumer13.from;\n$ans824 = $$resumer13.ans;\n$elidedFrames827 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun815 = $$resumer13.vars[0];\nanf_arg820 = $$resumer13.vars[1];\nanf_arg818 = $$resumer13.vars[2];\nanf_arg819 = $$resumer13.vars[3];\nanf_fun812 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans824 = R.mC();\n}\nwhile(!R.isContinuation($ans824)) {\nswitch($step823) {\ncase 0: $ans824 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[402],L[403]);\nvar anf_fun815 = $ans824;\n$al825 = L[404];\nvar anf_arg810 = G(self735,\"loc\",L[404]);\n$step823 = 1;\n$al825 = L[412];\n// omitting isFunction check;\n$ans824 = ed$intro146.$var.app((\"cases expression\"),anf_arg810,(0),(true));\nbreak;\ncase 1: var anf_arg818 = $ans824;\n$al825 = L[405];\nvar anf_arg811 = G(self735,\"loc\",L[405]);\n$step823 = 2;\n$al825 = L[411];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans824 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg811);\nbreak;\ncase 2: var anf_arg819 = $ans824;\n$ans824 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[406],L[407]);\nvar anf_fun812 = $ans824;\n$step823 = 3;\n$al825 = L[410];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"text\"]);\n}\n$ans824 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value of the argument:\"));\nbreak;\ncase 3: var anf_arg813 = $ans824;\n$step823 = 4;\n$al825 = L[407];\nif(typeof(anf_fun812.app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,anf_fun812);\n}\n$ans824 = anf_fun812.app(anf_arg813);\nbreak;\ncase 4: var anf_arg820 = $ans824;\n$al825 = L[408];\nvar anf_arg814 = G(self735,\"val\",L[408]);\n$step823 = 5;\n$al825 = L[409];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,ED6.dict.values.dict[\"embed\"]);\n}\n$ans824 = ED6.dict.values.dict[\"embed\"].app(anf_arg814);\nbreak;\ncase 5: var anf_arg821 = $ans824;\n$step823 = 6;\n$al825 = L[403];\nif(typeof(anf_fun815.app) !== \"function\") {\nR.ffi.throwNonFunApp($al825,anf_fun815);\n}\n$ans824 = anf_fun815.app(anf_arg818,anf_arg819,anf_arg820,anf_arg821);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans824;\ndefault: R.ffi.throwSpinnakerError(L[403],$step823);\n}\n}\nif($step823 !== 6) {\n$ans824.stack[R.EXN_STACKHEIGHT++] = R.mAR($al825,$temp_branch822,$step823,[],[anf_fun815,anf_arg820,anf_arg818,anf_arg819,anf_fun812],$elidedFrames827);\n}\nreturn $ans824;\n};\n$ans739 = cases756.$app_fields($temp_branch822,[]);\nbreak;\ncase 19: $ans739 = R.throwNoCasesMatched(L[401],cases756);\n$step733 = 21;\nbreak;\ncase 20: $ans739 = R.throwNoBranchesMatched(L[416],(\"if\"));\n$step733 = 21;\nbreak;\ncase 21: ++R.GAS;\nreturn $ans739;\ndefault: R.ffi.throwSpinnakerError(L[362],$step733);\n}\n}\nif($step733 !== 21) {\n$ans739.stack[R.EXN_STACKHEIGHT++] = R.mAR($al740,$temp_full734,$step733,[self735,maybe$stack$loc736,src$available737,maybe$ast738],[cases756,anf_arg751,anf_arg752,anf_fun750,anf_fun745],$elidedFrames742);\n}\nreturn $ans739;\n};\nvar anf_variant_member5719 = R.makeMethod3($temp_full734,\"render-fancy-reason\");\nvar $temp_full843 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__421($self844) {\nvar $step842 = 0;\nvar $elidedFrames848 = 0;\nvar $ans845 = D;\nvar $al846 = L[421];\nif(R.isAR($self844)) {\n$step842 = $self844.step;\n$al846 = $self844.from;\n$ans845 = $self844.ans;\n$elidedFrames848 = $self844.elidedFrames;\nself844 = $self844.args[0];\nanf_fun854 = $self844.vars[0];\nanf_arg855 = $self844.vars[1];\nanf_fun850 = $self844.vars[2];\nanf_arg856 = $self844.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[421],1,$t,true);\n}\nvar self844 = $self844;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans845 = R.mC();\n}\nwhile(!R.isContinuation($ans845)) {\nswitch($step842) {\ncase 0: $ans845 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[422],L[423]);\nvar anf_fun854 = $ans845;\n$al846 = L[424];\nvar anf_arg849 = G(self844,\"loc\",L[424]);\n$step842 = 1;\n$al846 = L[430];\n// omitting isFunction check;\n$ans845 = ed$simple$intro104.$var.app((\"cases expression\"),anf_arg849);\nbreak;\ncase 1: var anf_arg855 = $ans845;\n$ans845 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[425],L[426]);\nvar anf_fun850 = $ans845;\n$step842 = 2;\n$al846 = L[429];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,ED6.dict.values.dict[\"text\"]);\n}\n$ans845 = ED6.dict.values.dict[\"text\"].app((\"No branch matched the value:\"));\nbreak;\ncase 2: var anf_arg852 = $ans845;\n$step842 = 3;\n$al846 = L[426];\nif(typeof(anf_fun850.app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,anf_fun850);\n}\n$ans845 = anf_fun850.app(anf_arg852);\nbreak;\ncase 3: var anf_arg856 = $ans845;\n$al846 = L[427];\nvar anf_arg853 = G(self844,\"val\",L[427]);\n$step842 = 4;\n$al846 = L[428];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,ED6.dict.values.dict[\"embed\"]);\n}\n$ans845 = ED6.dict.values.dict[\"embed\"].app(anf_arg853);\nbreak;\ncase 4: var anf_arg857 = $ans845;\n$step842 = 5;\n$al846 = L[423];\nif(typeof(anf_fun854.app) !== \"function\") {\nR.ffi.throwNonFunApp($al846,anf_fun854);\n}\n$ans845 = anf_fun854.app(anf_arg855,anf_arg856,anf_arg857);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans845;\ndefault: R.ffi.throwSpinnakerError(L[421],$step842);\n}\n}\nif($step842 !== 5) {\n$ans845.stack[R.EXN_STACKHEIGHT++] = R.mAR($al846,$temp_full843,$step842,[self844],[anf_fun854,anf_arg855,anf_fun850,anf_arg856],$elidedFrames848);\n}\nreturn $ans845;\n};\nvar anf_variant_member5720 = R.makeMethod0($temp_full843,\"render-reason\");\nvar $temp_full860 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__431($self861,$maybe$stack$loc862,$src$available863,$maybe$ast864) {\nvar $step859 = 0;\nvar $elidedFrames868 = 0;\nvar $ans865 = D;\nvar $al866 = L[431];\nif(R.isAR($self861)) {\n$step859 = $self861.step;\n$al866 = $self861.from;\n$ans865 = $self861.ans;\n$elidedFrames868 = $self861.elidedFrames;\nself861 = $self861.args[0];\nmaybe$stack$loc862 = $self861.args[1];\nsrc$available863 = $self861.args[2];\nmaybe$ast864 = $self861.args[3];\nanf_arg890 = $self861.vars[0];\nanf_arg882 = $self861.vars[1];\nanf_arg879 = $self861.vars[2];\nanf_fun875 = $self861.vars[3];\nanf_fun887 = $self861.vars[4];\nanf_fun877 = $self861.vars[5];\nanf_fun889 = $self861.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[431],4,$t,true);\n}\nvar self861 = $self861;\nvar maybe$stack$loc862 = $maybe$stack$loc862;\nvar src$available863 = $src$available863;\nvar maybe$ast864 = $maybe$ast864;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans865 = R.mC();\n}\nwhile(!R.isContinuation($ans865)) {\nswitch($step859) {\ncase 0: $al866 = L[432];\nvar anf_method_obj869 = G(self861,\"loc\",L[432]);\n$step859 = 1;\n$ans865 = R.maybeMethodCall0(anf_method_obj869,\"is-builtin\",L[433]);\nbreak;\ncase 1: var anf_arg870 = $ans865;\n$step859 = 2;\n$al866 = L[456];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,not5);\n}\n$ans865 = not5.app(anf_arg870);\nbreak;\ncase 2: var anf_if898 = $ans865;\n$step859 = R.checkPyretTrue(anf_if898)?3:5;\nbreak;\ncase 3: $al866 = L[454];\nvar anf_arg894 = G(self861,\"loc\",L[454]);\n$step859 = 4;\n$al866 = L[455];\nif(typeof(src$available863.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,src$available863);\n}\n$ans865 = src$available863.app(anf_arg894);\nbreak;\ncase 4: var anf_arg897 = $ans865;\n$ans865 = R.checkWrapBoolean(anf_arg897);\n$step859 = 6;\nbreak;\ncase 5: $step859 = 6;\n$ans865 = (false);\nbreak;\ncase 6: var anf_if892 = $ans865;\n$step859 = R.checkPyretTrue(anf_if892)?7:13;\nbreak;\ncase 7: $ans865 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[434],L[435]);\nvar anf_fun877 = $ans865;\n$al866 = L[436];\nvar anf_arg871 = G(self861,\"expression\",L[436]);\n$step859 = 8;\n$al866 = L[444];\n// omitting isFunction check;\n$ans865 = _plus5.app(anf_arg871,(\" expression\"));\nbreak;\ncase 8: var anf_arg872 = $ans865;\n$al866 = L[437];\nvar anf_arg873 = G(self861,\"loc\",L[437]);\n$step859 = 9;\n$al866 = L[443];\n// omitting isFunction check;\n$ans865 = ed$intro146.$var.app(anf_arg872,anf_arg873,(0),(true));\nbreak;\ncase 9: var anf_arg879 = $ans865;\n$al866 = L[438];\nvar anf_arg874 = G(self861,\"loc\",L[438]);\n$step859 = 10;\n$al866 = L[442];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans865 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg874);\nbreak;\ncase 10: var anf_arg882 = $ans865;\n$ans865 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[439],L[440]);\nvar anf_fun875 = $ans865;\n$step859 = 11;\n$al866 = L[441];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"text\"]);\n}\n$ans865 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 11: var anf_arg876 = $ans865;\n$step859 = 12;\n$al866 = L[440];\nif(typeof(anf_fun875.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun875);\n}\n$ans865 = anf_fun875.app(anf_arg876);\nbreak;\ncase 12: var anf_arg883 = $ans865;\n$step859 = 18;\n$al866 = L[435];\nif(typeof(anf_fun877.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun877);\n}\n$ans865 = anf_fun877.app(anf_arg879,anf_arg882,anf_arg883);\nbreak;\ncase 13: $ans865 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[445],L[446]);\nvar anf_fun889 = $ans865;\n$al866 = L[447];\nvar anf_arg884 = G(self861,\"expression\",L[447]);\n$step859 = 14;\n$al866 = L[453];\n// omitting isFunction check;\n$ans865 = _plus5.app(anf_arg884,(\" expression\"));\nbreak;\ncase 14: var anf_arg885 = $ans865;\n$al866 = L[448];\nvar anf_arg886 = G(self861,\"loc\",L[448]);\n$step859 = 15;\n$al866 = L[452];\n// omitting isFunction check;\n$ans865 = ed$simple$intro104.$var.app(anf_arg885,anf_arg886);\nbreak;\ncase 15: var anf_arg890 = $ans865;\n$ans865 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[449],L[450]);\nvar anf_fun887 = $ans865;\n$step859 = 16;\n$al866 = L[451];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,ED6.dict.values.dict[\"text\"]);\n}\n$ans865 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 16: var anf_arg888 = $ans865;\n$step859 = 17;\n$al866 = L[450];\nif(typeof(anf_fun887.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun887);\n}\n$ans865 = anf_fun887.app(anf_arg888);\nbreak;\ncase 17: var anf_arg891 = $ans865;\n$step859 = 18;\n$al866 = L[446];\nif(typeof(anf_fun889.app) !== \"function\") {\nR.ffi.throwNonFunApp($al866,anf_fun889);\n}\n$ans865 = anf_fun889.app(anf_arg890,anf_arg891);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans865;\ndefault: R.ffi.throwSpinnakerError(L[431],$step859);\n}\n}\nif($step859 !== 18) {\n$ans865.stack[R.EXN_STACKHEIGHT++] = R.mAR($al866,$temp_full860,$step859,[self861,maybe$stack$loc862,src$available863,maybe$ast864],[anf_arg890,anf_arg882,anf_arg879,anf_fun875,anf_fun887,anf_fun877,anf_fun889],$elidedFrames868);\n}\nreturn $ans865;\n};\nvar anf_variant_member5729 = R.makeMethod3($temp_full860,\"render-fancy-reason\");\nvar $temp_full901 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__457($self902) {\nvar $step900 = 0;\nvar $elidedFrames906 = 0;\nvar $ans903 = D;\nvar $al904 = L[457];\nif(R.isAR($self902)) {\n$step900 = $self902.step;\n$al904 = $self902.from;\n$ans903 = $self902.ans;\n$elidedFrames906 = $self902.elidedFrames;\nself902 = $self902.args[0];\nanf_fun915 = $self902.vars[0];\nanf_arg916 = $self902.vars[1];\nanf_fun913 = $self902.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],1,$t,true);\n}\nvar self902 = $self902;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans903 = R.mC();\n}\nwhile(!R.isContinuation($ans903)) {\nswitch($step900) {\ncase 0: $ans903 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[458],L[459]);\nvar anf_fun915 = $ans903;\n$al904 = L[460];\nvar anf_arg907 = G(self902,\"expression\",L[460]);\n$step900 = 1;\n$al904 = L[466];\n// omitting isFunction check;\n$ans903 = _plus5.app(anf_arg907,(\" expression\"));\nbreak;\ncase 1: var anf_arg909 = $ans903;\n$al904 = L[461];\nvar anf_arg912 = G(self902,\"loc\",L[461]);\n$step900 = 2;\n$al904 = L[465];\n// omitting isFunction check;\n$ans903 = ed$simple$intro104.$var.app(anf_arg909,anf_arg912);\nbreak;\ncase 2: var anf_arg916 = $ans903;\n$ans903 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[462],L[463]);\nvar anf_fun913 = $ans903;\n$step900 = 3;\n$al904 = L[464];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,ED6.dict.values.dict[\"text\"]);\n}\n$ans903 = ED6.dict.values.dict[\"text\"].app((\"It expected that the condition of at least one branch be satisfied. No branch conditions were satisfied, so no branch could be entered.\"));\nbreak;\ncase 3: var anf_arg914 = $ans903;\n$step900 = 4;\n$al904 = L[463];\nif(typeof(anf_fun913.app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,anf_fun913);\n}\n$ans903 = anf_fun913.app(anf_arg914);\nbreak;\ncase 4: var anf_arg917 = $ans903;\n$step900 = 5;\n$al904 = L[459];\nif(typeof(anf_fun915.app) !== \"function\") {\nR.ffi.throwNonFunApp($al904,anf_fun915);\n}\n$ans903 = anf_fun915.app(anf_arg916,anf_arg917);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans903;\ndefault: R.ffi.throwSpinnakerError(L[457],$step900);\n}\n}\nif($step900 !== 5) {\n$ans903.stack[R.EXN_STACKHEIGHT++] = R.mAR($al904,$temp_full901,$step900,[self902],[anf_fun915,anf_arg916,anf_fun913],$elidedFrames906);\n}\nreturn $ans903;\n};\nvar anf_variant_member5730 = R.makeMethod0($temp_full901,\"render-reason\");\nvar $temp_full920 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__467($self921,$maybe$stack$loc922,$src$available923,$maybe$ast924) {\nvar $step919 = 0;\nvar $elidedFrames928 = 0;\nvar $ans925 = D;\nvar $al926 = L[467];\nif(R.isAR($self921)) {\n$step919 = $self921.step;\n$al926 = $self921.from;\n$ans925 = $self921.ans;\n$elidedFrames928 = $self921.elidedFrames;\nself921 = $self921.args[0];\nmaybe$stack$loc922 = $self921.args[1];\nsrc$available923 = $self921.args[2];\nmaybe$ast924 = $self921.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[467],4,$t,true);\n}\nvar self921 = $self921;\nvar maybe$stack$loc922 = $maybe$stack$loc922;\nvar src$available923 = $src$available923;\nvar maybe$ast924 = $maybe$ast924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans925 = R.mC();\n}\nwhile(!R.isContinuation($ans925)) {\nswitch($step919) {\ncase 0: $step919 = 1;\n$ans925 = R.maybeMethodCall0(self921,\"render-reason\",L[468]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans925;\ndefault: R.ffi.throwSpinnakerError(L[467],$step919);\n}\n}\nif($step919 !== 1) {\n$ans925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al926,$temp_full920,$step919,[self921,maybe$stack$loc922,src$available923,maybe$ast924],[],$elidedFrames928);\n}\nreturn $ans925;\n};\nvar anf_variant_member5739 = R.makeMethod3($temp_full920,\"render-fancy-reason\");\nvar $temp_full931 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__469($self932) {\nvar $step930 = 0;\nvar $elidedFrames936 = 0;\nvar $ans933 = D;\nvar $al934 = L[469];\nif(R.isAR($self932)) {\n$step930 = $self932.step;\n$al934 = $self932.from;\n$ans933 = $self932.ans;\n$elidedFrames936 = $self932.elidedFrames;\nself932 = $self932.args[0];\nanf_fun938 = $self932.vars[0];\nanf_arg947 = $self932.vars[1];\nanf_arg948 = $self932.vars[2];\nanf_arg939 = $self932.vars[3];\nanf_fun943 = $self932.vars[4];\nanf_fun946 = $self932.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[469],1,$t,true);\n}\nvar self932 = $self932;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans933 = R.mC();\n}\nwhile(!R.isContinuation($ans933)) {\nswitch($step930) {\ncase 0: $ans933 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[470],L[471]);\nvar anf_fun946 = $ans933;\n$ans933 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[472],L[473]);\nvar anf_fun938 = $ans933;\n$step930 = 1;\n$al934 = L[481];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app((\"Internal error:\"));\nbreak;\ncase 1: var anf_arg939 = $ans933;\n$al934 = L[474];\nvar anf_arg937 = G(self932,\"message\",L[474]);\n$step930 = 2;\n$al934 = L[480];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app(anf_arg937);\nbreak;\ncase 2: var anf_arg942 = $ans933;\n$step930 = 3;\n$al934 = L[473];\nif(typeof(anf_fun938.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun938);\n}\n$ans933 = anf_fun938.app(anf_arg939,anf_arg942);\nbreak;\ncase 3: var anf_arg947 = $ans933;\n$ans933 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[475],L[476]);\nvar anf_fun943 = $ans933;\n$step930 = 4;\n$al934 = L[479];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,ED6.dict.values.dict[\"text\"]);\n}\n$ans933 = ED6.dict.values.dict[\"text\"].app((\"Relevant arguments:\"));\nbreak;\ncase 4: var anf_arg944 = $ans933;\n$step930 = 5;\n$al934 = L[476];\nif(typeof(anf_fun943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun943);\n}\n$ans933 = anf_fun943.app(anf_arg944);\nbreak;\ncase 5: var anf_arg948 = $ans933;\n$al934 = L[477];\nvar anf_arg945 = G(self932,\"info-args\",L[477]);\n$step930 = 6;\n$al934 = L[478];\n// omitting isFunction check;\n$ans933 = vert$list$values58.$var.app(anf_arg945);\nbreak;\ncase 6: var anf_arg949 = $ans933;\n$step930 = 7;\n$al934 = L[471];\nif(typeof(anf_fun946.app) !== \"function\") {\nR.ffi.throwNonFunApp($al934,anf_fun946);\n}\n$ans933 = anf_fun946.app(anf_arg947,anf_arg948,anf_arg949);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans933;\ndefault: R.ffi.throwSpinnakerError(L[469],$step930);\n}\n}\nif($step930 !== 7) {\n$ans933.stack[R.EXN_STACKHEIGHT++] = R.mAR($al934,$temp_full931,$step930,[self932],[anf_fun938,anf_arg947,anf_arg948,anf_arg939,anf_fun943,anf_fun946],$elidedFrames936);\n}\nreturn $ans933;\n};\nvar anf_variant_member5740 = R.makeMethod0($temp_full931,\"render-reason\");\nvar $temp_full952 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__482($self953,$maybe$stack$loc954,$src$available955,$maybe$ast956) {\nvar $step951 = 0;\nvar $elidedFrames960 = 0;\nvar $ans957 = D;\nvar $al958 = L[482];\nif(R.isAR($self953)) {\n$step951 = $self953.step;\n$al958 = $self953.from;\n$ans957 = $self953.ans;\n$elidedFrames960 = $self953.elidedFrames;\nself953 = $self953.args[0];\nmaybe$stack$loc954 = $self953.args[1];\nsrc$available955 = $self953.args[2];\nmaybe$ast956 = $self953.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[482],4,$t,true);\n}\nvar self953 = $self953;\nvar maybe$stack$loc954 = $maybe$stack$loc954;\nvar src$available955 = $src$available955;\nvar maybe$ast956 = $maybe$ast956;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans957 = R.mC();\n}\nwhile(!R.isContinuation($ans957)) {\nswitch($step951) {\ncase 0: $step951 = 1;\n$ans957 = R.maybeMethodCall0(self953,\"render-reason\",L[483]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans957;\ndefault: R.ffi.throwSpinnakerError(L[482],$step951);\n}\n}\nif($step951 !== 1) {\n$ans957.stack[R.EXN_STACKHEIGHT++] = R.mAR($al958,$temp_full952,$step951,[self953,maybe$stack$loc954,src$available955,maybe$ast956],[],$elidedFrames960);\n}\nreturn $ans957;\n};\nvar anf_variant_member5749 = R.makeMethod3($temp_full952,\"render-fancy-reason\");\nvar $temp_full963 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__484($self964) {\nvar $step962 = 0;\nvar $elidedFrames968 = 0;\nvar $ans965 = D;\nvar $al966 = L[484];\nif(R.isAR($self964)) {\n$step962 = $self964.step;\n$al966 = $self964.from;\n$ans965 = $self964.ans;\n$elidedFrames968 = $self964.elidedFrames;\nself964 = $self964.args[0];\nanf_arg980 = $self964.vars[0];\nanf_arg981 = $self964.vars[1];\nanf_fun976 = $self964.vars[2];\nanf_fun979 = $self964.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[484],1,$t,true);\n}\nvar self964 = $self964;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans965 = R.mC();\n}\nwhile(!R.isContinuation($ans965)) {\nswitch($step962) {\ncase 0: $ans965 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[485],L[486]);\nvar anf_fun979 = $ans965;\n$ans965 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[487],L[488]);\nvar anf_fun976 = $ans965;\n$al966 = L[489];\nvar anf_arg972 = G(self964,\"step-num\",L[489]);\n$step962 = 1;\n$al966 = L[496];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,tostring1);\n}\n$ans965 = tostring1.app(anf_arg972);\nbreak;\ncase 1: var anf_arg973 = $ans965;\n$step962 = 2;\n$al966 = L[495];\n// omitting isFunction check;\n$ans965 = _plus5.app((\"Internal compiler error: No case numbered \"),anf_arg973);\nbreak;\ncase 2: var anf_arg974 = $ans965;\n$step962 = 3;\n$al966 = L[494];\n// omitting isFunction check;\n$ans965 = _plus5.app(anf_arg974,(\" in\"));\nbreak;\ncase 3: var anf_arg975 = $ans965;\n$step962 = 4;\n$al966 = L[493];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,ED6.dict.values.dict[\"text\"]);\n}\n$ans965 = ED6.dict.values.dict[\"text\"].app(anf_arg975);\nbreak;\ncase 4: var anf_arg977 = $ans965;\n$step962 = 5;\n$al966 = L[488];\nif(typeof(anf_fun976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,anf_fun976);\n}\n$ans965 = anf_fun976.app(anf_arg977);\nbreak;\ncase 5: var anf_arg980 = $ans965;\n$al966 = L[490];\nvar anf_arg978 = G(self964,\"fun-loc\",L[490]);\n$step962 = 6;\n$al966 = L[492];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,ED6.dict.values.dict[\"loc\"]);\n}\n$ans965 = ED6.dict.values.dict[\"loc\"].app(anf_arg978);\nbreak;\ncase 6: var anf_arg981 = $ans965;\n$step962 = 7;\n$al966 = L[491];\n// omitting isFunction check;\n$ans965 = please$report$bug158.$var.app();\nbreak;\ncase 7: var anf_arg982 = $ans965;\n$step962 = 8;\n$al966 = L[486];\nif(typeof(anf_fun979.app) !== \"function\") {\nR.ffi.throwNonFunApp($al966,anf_fun979);\n}\n$ans965 = anf_fun979.app(anf_arg980,anf_arg981,anf_arg982);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans965;\ndefault: R.ffi.throwSpinnakerError(L[484],$step962);\n}\n}\nif($step962 !== 8) {\n$ans965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al966,$temp_full963,$step962,[self964],[anf_arg980,anf_arg981,anf_fun976,anf_fun979],$elidedFrames968);\n}\nreturn $ans965;\n};\nvar anf_variant_member5750 = R.makeMethod0($temp_full963,\"render-reason\");\nvar $temp_full985 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__497($self986,$maybe$stack$loc987,$src$available988,$maybe$ast989) {\nvar $step984 = 0;\nvar $elidedFrames993 = 0;\nvar $ans990 = D;\nvar $al991 = L[497];\nif(R.isAR($self986)) {\n$step984 = $self986.step;\n$al991 = $self986.from;\n$ans990 = $self986.ans;\n$elidedFrames993 = $self986.elidedFrames;\nself986 = $self986.args[0];\nmaybe$stack$loc987 = $self986.args[1];\nsrc$available988 = $self986.args[2];\nmaybe$ast989 = $self986.args[3];\nanf_fun1005 = $self986.vars[0];\nanf_arg1006 = $self986.vars[1];\nanf_arg1007 = $self986.vars[2];\nanf_arg999 = $self986.vars[3];\nanf_fun996 = $self986.vars[4];\nanf_fun998 = $self986.vars[5];\nanf_fun1003 = $self986.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[497],4,$t,true);\n}\nvar self986 = $self986;\nvar maybe$stack$loc987 = $maybe$stack$loc987;\nvar src$available988 = $src$available988;\nvar maybe$ast989 = $maybe$ast989;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans990 = R.mC();\n}\nwhile(!R.isContinuation($ans990)) {\nswitch($step984) {\ncase 0: $al991 = L[498];\nvar anf_method_obj994 = G(self986,\"loc\",L[498]);\n$step984 = 1;\n$ans990 = R.maybeMethodCall0(anf_method_obj994,\"is-builtin\",L[499]);\nbreak;\ncase 1: var anf_if1013 = $ans990;\n$step984 = R.checkPyretTrue(anf_if1013)?2:3;\nbreak;\ncase 2: $step984 = 6;\n$ans990 = (true);\nbreak;\ncase 3: $al991 = L[516];\nvar anf_arg1010 = G(self986,\"loc\",L[516]);\n$step984 = 4;\n$al991 = L[518];\nif(typeof(src$available988.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,src$available988);\n}\n$ans990 = src$available988.app(anf_arg1010);\nbreak;\ncase 4: var anf_arg1011 = $ans990;\n$step984 = 5;\n$al991 = L[517];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,not5);\n}\n$ans990 = not5.app(anf_arg1011);\nbreak;\ncase 5: var anf_arg1012 = $ans990;\n$ans990 = R.checkWrapBoolean(anf_arg1012);\n$step984 = 6;\nbreak;\ncase 6: var anf_if1009 = $ans990;\n$step984 = R.checkPyretTrue(anf_if1009)?7:11;\nbreak;\ncase 7: $ans990 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[500],L[501]);\nvar anf_fun998 = $ans990;\n$al991 = L[502];\nvar anf_arg995 = G(self986,\"loc\",L[502]);\n$step984 = 8;\n$al991 = L[506];\n// omitting isFunction check;\n$ans990 = ed$simple$intro104.$var.app((\"unfinished template expression\"),anf_arg995);\nbreak;\ncase 8: var anf_arg999 = $ans990;\n$ans990 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[503],L[504]);\nvar anf_fun996 = $ans990;\n$step984 = 9;\n$al991 = L[505];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"text\"]);\n}\n$ans990 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 9: var anf_arg997 = $ans990;\n$step984 = 10;\n$al991 = L[504];\nif(typeof(anf_fun996.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun996);\n}\n$ans990 = anf_fun996.app(anf_arg997);\nbreak;\ncase 10: var anf_arg1000 = $ans990;\n$step984 = 16;\n$al991 = L[501];\nif(typeof(anf_fun998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun998);\n}\n$ans990 = anf_fun998.app(anf_arg999,anf_arg1000);\nbreak;\ncase 11: $ans990 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[507],L[508]);\nvar anf_fun1005 = $ans990;\n$al991 = L[509];\nvar anf_arg1001 = G(self986,\"loc\",L[509]);\n$step984 = 12;\n$al991 = L[515];\n// omitting isFunction check;\n$ans990 = ed$intro146.$var.app((\"unfinished template expression\"),anf_arg1001,(1),(true));\nbreak;\ncase 12: var anf_arg1006 = $ans990;\n$al991 = L[510];\nvar anf_arg1002 = G(self986,\"loc\",L[510]);\n$step984 = 13;\n$al991 = L[514];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans990 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1002);\nbreak;\ncase 13: var anf_arg1007 = $ans990;\n$ans990 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[511],L[512]);\nvar anf_fun1003 = $ans990;\n$step984 = 14;\n$al991 = L[513];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,ED6.dict.values.dict[\"text\"]);\n}\n$ans990 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 14: var anf_arg1004 = $ans990;\n$step984 = 15;\n$al991 = L[512];\nif(typeof(anf_fun1003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun1003);\n}\n$ans990 = anf_fun1003.app(anf_arg1004);\nbreak;\ncase 15: var anf_arg1008 = $ans990;\n$step984 = 16;\n$al991 = L[508];\nif(typeof(anf_fun1005.app) !== \"function\") {\nR.ffi.throwNonFunApp($al991,anf_fun1005);\n}\n$ans990 = anf_fun1005.app(anf_arg1006,anf_arg1007,anf_arg1008);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans990;\ndefault: R.ffi.throwSpinnakerError(L[497],$step984);\n}\n}\nif($step984 !== 16) {\n$ans990.stack[R.EXN_STACKHEIGHT++] = R.mAR($al991,$temp_full985,$step984,[self986,maybe$stack$loc987,src$available988,maybe$ast989],[anf_fun1005,anf_arg1006,anf_arg1007,anf_arg999,anf_fun996,anf_fun998,anf_fun1003],$elidedFrames993);\n}\nreturn $ans990;\n};\nvar anf_variant_member5759 = R.makeMethod3($temp_full985,\"render-fancy-reason\");\nvar $temp_full1016 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__519($self1017) {\nvar $step1015 = 0;\nvar $elidedFrames1021 = 0;\nvar $ans1018 = D;\nvar $al1019 = L[519];\nif(R.isAR($self1017)) {\n$step1015 = $self1017.step;\n$al1019 = $self1017.from;\n$ans1018 = $self1017.ans;\n$elidedFrames1021 = $self1017.elidedFrames;\nself1017 = $self1017.args[0];\nanf_fun1025 = $self1017.vars[0];\nanf_arg1026 = $self1017.vars[1];\nanf_fun1023 = $self1017.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[519],1,$t,true);\n}\nvar self1017 = $self1017;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1018 = R.mC();\n}\nwhile(!R.isContinuation($ans1018)) {\nswitch($step1015) {\ncase 0: $ans1018 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[520],L[521]);\nvar anf_fun1025 = $ans1018;\n$al1019 = L[522];\nvar anf_arg1022 = G(self1017,\"loc\",L[522]);\n$step1015 = 1;\n$al1019 = L[526];\n// omitting isFunction check;\n$ans1018 = ed$simple$intro104.$var.app((\"unfinished template expression\"),anf_arg1022);\nbreak;\ncase 1: var anf_arg1026 = $ans1018;\n$ans1018 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[523],L[524]);\nvar anf_fun1023 = $ans1018;\n$step1015 = 2;\n$al1019 = L[525];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,ED6.dict.values.dict[\"text\"]);\n}\n$ans1018 = ED6.dict.values.dict[\"text\"].app((\"Template expressions cannot be evaluated.\"));\nbreak;\ncase 2: var anf_arg1024 = $ans1018;\n$step1015 = 3;\n$al1019 = L[524];\nif(typeof(anf_fun1023.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,anf_fun1023);\n}\n$ans1018 = anf_fun1023.app(anf_arg1024);\nbreak;\ncase 3: var anf_arg1027 = $ans1018;\n$step1015 = 4;\n$al1019 = L[521];\nif(typeof(anf_fun1025.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1019,anf_fun1025);\n}\n$ans1018 = anf_fun1025.app(anf_arg1026,anf_arg1027);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1018;\ndefault: R.ffi.throwSpinnakerError(L[519],$step1015);\n}\n}\nif($step1015 !== 4) {\n$ans1018.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1019,$temp_full1016,$step1015,[self1017],[anf_fun1025,anf_arg1026,anf_fun1023],$elidedFrames1021);\n}\nreturn $ans1018;\n};\nvar anf_variant_member5760 = R.makeMethod0($temp_full1016,\"render-reason\");\nvar $temp_full1030 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__527($self1031,$maybe$stack$loc1032,$src$available1033,$maybe$ast1034) {\nvar $step1029 = 0;\nvar $elidedFrames1038 = 0;\nvar $ans1035 = D;\nvar $al1036 = L[527];\nif(R.isAR($self1031)) {\n$step1029 = $self1031.step;\n$al1036 = $self1031.from;\n$ans1035 = $self1031.ans;\n$elidedFrames1038 = $self1031.elidedFrames;\nself1031 = $self1031.args[0];\nmaybe$stack$loc1032 = $self1031.args[1];\nsrc$available1033 = $self1031.args[2];\nmaybe$ast1034 = $self1031.args[3];\nanf_arg1140 = $self1031.vars[0];\nanf_fun1138 = $self1031.vars[1];\nanf_arg1044 = $self1031.vars[2];\nanf_arg1134 = $self1031.vars[3];\nanf_arg1135 = $self1031.vars[4];\nanf_arg1047 = $self1031.vars[5];\nanf_arg1048 = $self1031.vars[6];\nanf_arg1139 = $self1031.vars[7];\ncases1052 = $self1031.vars[8];\nanf_fun1043 = $self1031.vars[9];\nanf_fun1133 = $self1031.vars[10];\nanf_fun1046 = $self1031.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[527],4,$t,true);\n}\nvar self1031 = $self1031;\nvar maybe$stack$loc1032 = $maybe$stack$loc1032;\nvar src$available1033 = $src$available1033;\nvar maybe$ast1034 = $maybe$ast1034;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1035 = R.mC();\n}\nwhile(!R.isContinuation($ans1035)) {\nswitch($step1029) {\ncase 0: $al1036 = L[528];\nvar anf_method_obj1039 = G(self1031,\"loc\",L[528]);\n$step1029 = 1;\n$ans1035 = R.maybeMethodCall0(anf_method_obj1039,\"is-builtin\",L[529]);\nbreak;\ncase 1: var anf_if1147 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1147)?2:3;\nbreak;\ncase 2: $step1029 = 6;\n$ans1035 = (true);\nbreak;\ncase 3: $al1036 = L[609];\nvar anf_arg1144 = G(self1031,\"loc\",L[609]);\n$step1029 = 4;\n$al1036 = L[611];\nif(typeof(src$available1033.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,src$available1033);\n}\n$ans1035 = src$available1033.app(anf_arg1144);\nbreak;\ncase 4: var anf_arg1145 = $ans1035;\n$step1029 = 5;\n$al1036 = L[610];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,not5);\n}\n$ans1035 = not5.app(anf_arg1145);\nbreak;\ncase 5: var anf_arg1146 = $ans1035;\n$ans1035 = R.checkWrapBoolean(anf_arg1146);\n$step1029 = 6;\nbreak;\ncase 6: var anf_if1143 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1143)?7:14;\nbreak;\ncase 7: $ans1035 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[530],L[531]);\nvar anf_fun1046 = $ans1035;\n$al1036 = L[532];\nvar anf_arg1040 = G(self1031,\"loc\",L[532]);\n$step1029 = 8;\n$al1036 = L[540];\n// omitting isFunction check;\n$ans1035 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1040);\nbreak;\ncase 8: var anf_arg1047 = $ans1035;\n$ans1035 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[533],L[534]);\nvar anf_fun1043 = $ans1035;\n$step1029 = 9;\n$al1036 = L[539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\"does not have a field named \"));\nbreak;\ncase 9: var anf_arg1044 = $ans1035;\n$al1036 = L[535];\nvar anf_arg1041 = G(self1031,\"field\",L[535]);\n$step1029 = 10;\n$al1036 = L[538];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app(anf_arg1041);\nbreak;\ncase 10: var anf_arg1042 = $ans1035;\n$step1029 = 11;\n$al1036 = L[537];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"code\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"code\"].app(anf_arg1042);\nbreak;\ncase 11: var anf_arg1045 = $ans1035;\n$step1029 = 12;\n$al1036 = L[534];\nif(typeof(anf_fun1043.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1043);\n}\n$ans1035 = anf_fun1043.app(anf_arg1044,anf_arg1045);\nbreak;\ncase 12: var anf_arg1048 = $ans1035;\n$step1029 = 13;\n$al1036 = L[536];\n// omitting isFunction check;\n$ans1035 = please$report$bug158.$var.app();\nbreak;\ncase 13: var anf_arg1049 = $ans1035;\n$step1029 = 30;\n$al1036 = L[531];\nif(typeof(anf_fun1046.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1046);\n}\n$ans1035 = anf_fun1046.app(anf_arg1047,anf_arg1048,anf_arg1049);\nbreak;\ncase 14: $al1036 = L[541];\nvar anf_arg1050 = G(self1031,\"loc\",L[541]);\n$step1029 = 15;\n$al1036 = L[608];\nif(typeof(src$available1033.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,src$available1033);\n}\n$ans1035 = src$available1033.app(anf_arg1050);\nbreak;\ncase 15: var anf_if1142 = $ans1035;\n$step1029 = R.checkPyretTrue(anf_if1142)?16:22;\nbreak;\ncase 16: $al1036 = L[542];\nvar anf_arg1051 = G(self1031,\"loc\",L[542]);\n$step1029 = 17;\n$al1036 = L[594];\nif(typeof(maybe$ast1034.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,maybe$ast1034);\n}\n$ans1035 = maybe$ast1034.app(anf_arg1051);\nbreak;\ncase 17: var cases1052 = $ans1035;\n$step1029 = 18;\n$al1036 = L[593];\nvar $ann$check1129 = R._cA(L[593],R.gDA(L[593],\"O\",O8.dict.types,\"Option\"),cases1052);\nif(R.isContinuation($ann$check1129)) {\n$ans1035 = $ann$check1129;\n}\nbreak;\ncase 18: $al1036 = L[576];\n$step1029 = $cases_dispatch1128[cases1052.$name] || 21;\nbreak;\ncase 19: if(cases1052.$arity !== 1) {\nif(cases1052.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[575],1,cases1052.$arity,L[576],cases1052.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[575],true,L[576],cases1052.$loc);\n}\n}\n$step1029 = 30;\n$al1036 = L[575];\nvar $temp_branch1095 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__576($ast1053) {\nvar $step1096 = 0;\nvar $elidedFrames1100 = 0;\nvar $ans1097 = D;\nvar $al1098 = L[573];\nif(R.isAR($ast1053)) {\n$step1096 = $ast1053.step;\n$al1098 = $ast1053.from;\n$ans1097 = $ast1053.ans;\n$elidedFrames1100 = $ast1053.elidedFrames;\nast1053 = $ast1053.args[0];\nanf_arg1073 = $ast1053.vars[0];\nanf_arg1074 = $ast1053.vars[1];\nanf_arg1075 = $ast1053.vars[2];\nanf_arg1076 = $ast1053.vars[3];\nanf_arg1066 = $ast1053.vars[4];\ncases1054 = $ast1053.vars[5];\nast1057 = $ast1053.vars[6];\nanf_fun1072 = $ast1053.vars[7];\nanf_fun1065 = $ast1053.vars[8];\nanf_arg1080 = $ast1053.vars[9];\nanf_arg1070 = $ast1053.vars[10];\nanf_arg1081 = $ast1053.vars[11];\nanf_fun1068 = $ast1053.vars[12];\nanf_fun1079 = $ast1053.vars[13];\nanf_arg1082 = $ast1053.vars[14];\nanf_arg1061 = $ast1053.vars[15];\n} else {\nvar ast1053 = $ast1053;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1097 = R.mC();\n}\nwhile(!R.isContinuation($ans1097)) {\nswitch($step1096) {\ncase 0: var cases1054 = ast1053;\n$al1098 = L[573];\n$step1096 = $cases_dispatch1105[cases1054.$name] || 3;\nbreak;\ncase 1: if(cases1054.$arity !== 3) {\nif(cases1054.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[572],3,cases1054.$arity,L[573],cases1054.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[572],true,L[573],cases1054.$loc);\n}\n}\nvar $fn1102 = cases1054.$constructor.$fieldNames;\nR.dF(cases1054.dict[$fn1102[0]],cases1054.$mut_fields_mask[0],false);\nR.dF(cases1054.dict[$fn1102[1]],cases1054.$mut_fields_mask[1],false);\nR.dF(cases1054.dict[$fn1102[2]],cases1054.$mut_fields_mask[2],false);\n$step1096 = 4;\n$ans1097 = ast1053;\nbreak;\ncase 2: if(cases1054.$arity !== 3) {\nif(cases1054.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[574],3,cases1054.$arity,L[573],cases1054.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[574],true,L[573],cases1054.$loc);\n}\n}\nvar $fn1104 = cases1054.$constructor.$fieldNames;\nR.dF(cases1054.dict[$fn1104[0]],cases1054.$mut_fields_mask[0],false);\nvar f1089 = R.dF(cases1054.dict[$fn1104[1]],cases1054.$mut_fields_mask[1],false);\nR.dF(cases1054.dict[$fn1104[2]],cases1054.$mut_fields_mask[2],false);\n$step1096 = 4;\n$ans1097 = f1089;\nbreak;\ncase 3: $ans1097 = R.throwNoCasesMatched(L[573],cases1054);\n$step1096 = 4;\nbreak;\ncase 4: var ast1057 = $ans1097;\n$ans1097 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[543],L[544]);\nvar anf_fun1079 = $ans1097;\n$al1098 = L[545];\nvar anf_arg1055 = G(self1031,\"loc\",L[545]);\n$step1096 = 5;\n$al1098 = L[571];\n// omitting isFunction check;\n$ans1097 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1055,(-1),(true));\nbreak;\ncase 5: var anf_arg1080 = $ans1097;\n$al1098 = L[546];\nvar anf_arg1056 = G(self1031,\"loc\",L[546]);\n$step1096 = 6;\n$al1098 = L[570];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1056);\nbreak;\ncase 6: var anf_arg1081 = $ans1097;\n$ans1097 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[547],L[548]);\nvar anf_fun1072 = $ans1097;\n$step1096 = 7;\n$al1098 = L[569];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1073 = $ans1097;\n$step1096 = 8;\n$al1098 = L[568];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1061 = $ans1097;\n$ans1097 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[549],L[550]);\nvar anf_fun1059 = $ans1097;\n$al1098 = L[551];\nvar anf_bracket1058 = G(ast1057,\"obj\",L[551]);\n$al1098 = L[552];\nvar anf_arg1060 = G(anf_bracket1058,\"l\",L[552]);\n$step1096 = 9;\n$al1098 = L[550];\nif(typeof(anf_fun1059.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1059);\n}\n$ans1097 = anf_fun1059.app(anf_arg1060);\nbreak;\ncase 9: var anf_arg1062 = $ans1097;\n$step1096 = 10;\n$al1098 = L[567];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1061,anf_arg1062,(0));\nbreak;\ncase 10: var anf_arg1074 = $ans1097;\n$step1096 = 11;\n$al1098 = L[566];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\" was an object that did not have a \"));\nbreak;\ncase 11: var anf_arg1075 = $ans1097;\n$ans1097 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[553],L[554]);\nvar anf_fun1065 = $ans1097;\n$step1096 = 12;\n$al1098 = L[565];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\"field named \"));\nbreak;\ncase 12: var anf_arg1066 = $ans1097;\n$al1098 = L[555];\nvar anf_arg1063 = G(self1031,\"field\",L[555]);\n$step1096 = 13;\n$al1098 = L[564];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app(anf_arg1063);\nbreak;\ncase 13: var anf_arg1064 = $ans1097;\n$step1096 = 14;\n$al1098 = L[563];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"code\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"code\"].app(anf_arg1064);\nbreak;\ncase 14: var anf_arg1067 = $ans1097;\n$step1096 = 15;\n$al1098 = L[554];\nif(typeof(anf_fun1065.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1065);\n}\n$ans1097 = anf_fun1065.app(anf_arg1066,anf_arg1067);\nbreak;\ncase 15: var anf_arg1070 = $ans1097;\n$ans1097 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[556],L[557]);\nvar anf_fun1068 = $ans1097;\n$step1096 = 16;\n$ans1097 = R.maybeMethodCall0(ast1057,\"field-loc\",L[558]);\nbreak;\ncase 16: var anf_arg1069 = $ans1097;\n$step1096 = 17;\n$al1098 = L[557];\nif(typeof(anf_fun1068.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1068);\n}\n$ans1097 = anf_fun1068.app(anf_arg1069);\nbreak;\ncase 17: var anf_arg1071 = $ans1097;\n$step1096 = 18;\n$al1098 = L[562];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1070,anf_arg1071,(1));\nbreak;\ncase 18: var anf_arg1076 = $ans1097;\n$step1096 = 19;\n$al1098 = L[561];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"text\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 19: var anf_arg1077 = $ans1097;\n$step1096 = 20;\n$al1098 = L[548];\nif(typeof(anf_fun1072.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1072);\n}\n$ans1097 = anf_fun1072.app(anf_arg1073,anf_arg1074,anf_arg1075,anf_arg1076,anf_arg1077);\nbreak;\ncase 20: var anf_arg1082 = $ans1097;\n$al1098 = L[559];\nvar anf_arg1078 = G(self1031,\"obj\",L[559]);\n$step1096 = 21;\n$al1098 = L[560];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1097 = ED6.dict.values.dict[\"embed\"].app(anf_arg1078);\nbreak;\ncase 21: var anf_arg1083 = $ans1097;\n$step1096 = 22;\n$al1098 = L[544];\nif(typeof(anf_fun1079.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1098,anf_fun1079);\n}\n$ans1097 = anf_fun1079.app(anf_arg1080,anf_arg1081,anf_arg1082,anf_arg1083);\nbreak;\ncase 22: ++R.GAS;\nreturn $ans1097;\ndefault: R.ffi.throwSpinnakerError(L[573],$step1096);\n}\n}\nif($step1096 !== 22) {\n$ans1097.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1098,$temp_branch1095,$step1096,[ast1053],[anf_arg1073,anf_arg1074,anf_arg1075,anf_arg1076,anf_arg1066,cases1054,ast1057,anf_fun1072,anf_fun1065,anf_arg1080,anf_arg1070,anf_arg1081,anf_fun1068,anf_fun1079,anf_arg1082,anf_arg1061],$elidedFrames1100);\n}\nreturn $ans1097;\n};\n$ans1035 = cases1052.$app_fields($temp_branch1095,[false]);\nbreak;\ncase 20: if(cases1052.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[592],false,L[576],cases1052.$loc);\n}\n$step1029 = 30;\n$al1036 = L[592];\nvar $temp_branch1121 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__576($$resumer13) {\nvar $step1122 = 0;\nvar $elidedFrames1126 = 0;\nvar $ans1123 = D;\nvar $al1124 = L[578];\nif(R.isAR($$resumer13)) {\n$step1122 = $$resumer13.step;\n$al1124 = $$resumer13.from;\n$ans1123 = $$resumer13.ans;\n$elidedFrames1126 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1116 = $$resumer13.vars[0];\nanf_arg1112 = $$resumer13.vars[1];\nanf_arg1113 = $$resumer13.vars[2];\nanf_arg1117 = $$resumer13.vars[3];\nanf_arg1118 = $$resumer13.vars[4];\nanf_arg1119 = $$resumer13.vars[5];\nanf_fun1111 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1123 = R.mC();\n}\nwhile(!R.isContinuation($ans1123)) {\nswitch($step1122) {\ncase 0: $ans1123 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[577],L[578]);\nvar anf_fun1116 = $ans1123;\n$al1124 = L[579];\nvar anf_arg1107 = G(self1031,\"loc\",L[579]);\n$step1122 = 1;\n$al1124 = L[591];\n// omitting isFunction check;\n$ans1123 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1107,(-1),(true));\nbreak;\ncase 1: var anf_arg1117 = $ans1123;\n$al1124 = L[580];\nvar anf_arg1108 = G(self1031,\"loc\",L[580]);\n$step1122 = 2;\n$al1124 = L[590];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1108);\nbreak;\ncase 2: var anf_arg1118 = $ans1123;\n$ans1123 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[581],L[582]);\nvar anf_fun1111 = $ans1123;\n$step1122 = 3;\n$al1124 = L[589];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 3: var anf_arg1112 = $ans1123;\n$al1124 = L[583];\nvar anf_arg1109 = G(self1031,\"field\",L[583]);\n$step1122 = 4;\n$al1124 = L[588];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app(anf_arg1109);\nbreak;\ncase 4: var anf_arg1110 = $ans1123;\n$step1122 = 5;\n$al1124 = L[587];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"code\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"code\"].app(anf_arg1110);\nbreak;\ncase 5: var anf_arg1113 = $ans1123;\n$step1122 = 6;\n$al1124 = L[586];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"text\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 6: var anf_arg1114 = $ans1123;\n$step1122 = 7;\n$al1124 = L[582];\nif(typeof(anf_fun1111.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,anf_fun1111);\n}\n$ans1123 = anf_fun1111.app(anf_arg1112,anf_arg1113,anf_arg1114);\nbreak;\ncase 7: var anf_arg1119 = $ans1123;\n$al1124 = L[584];\nvar anf_arg1115 = G(self1031,\"obj\",L[584]);\n$step1122 = 8;\n$al1124 = L[585];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1123 = ED6.dict.values.dict[\"embed\"].app(anf_arg1115);\nbreak;\ncase 8: var anf_arg1120 = $ans1123;\n$step1122 = 9;\n$al1124 = L[578];\nif(typeof(anf_fun1116.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1124,anf_fun1116);\n}\n$ans1123 = anf_fun1116.app(anf_arg1117,anf_arg1118,anf_arg1119,anf_arg1120);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1123;\ndefault: R.ffi.throwSpinnakerError(L[578],$step1122);\n}\n}\nif($step1122 !== 9) {\n$ans1123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1124,$temp_branch1121,$step1122,[],[anf_fun1116,anf_arg1112,anf_arg1113,anf_arg1117,anf_arg1118,anf_arg1119,anf_fun1111],$elidedFrames1126);\n}\nreturn $ans1123;\n};\n$ans1035 = cases1052.$app_fields($temp_branch1121,[]);\nbreak;\ncase 21: $ans1035 = R.throwNoCasesMatched(L[576],cases1052);\n$step1029 = 30;\nbreak;\ncase 22: $ans1035 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[595],L[596]);\nvar anf_fun1138 = $ans1035;\n$al1036 = L[597];\nvar anf_arg1130 = G(self1031,\"loc\",L[597]);\n$step1029 = 23;\n$al1036 = L[607];\n// omitting isFunction check;\n$ans1035 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1130);\nbreak;\ncase 23: var anf_arg1139 = $ans1035;\n$ans1035 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[598],L[599]);\nvar anf_fun1133 = $ans1035;\n$step1029 = 24;\n$al1036 = L[606];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 24: var anf_arg1134 = $ans1035;\n$al1036 = L[600];\nvar anf_arg1131 = G(self1031,\"field\",L[600]);\n$step1029 = 25;\n$al1036 = L[605];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app(anf_arg1131);\nbreak;\ncase 25: var anf_arg1132 = $ans1035;\n$step1029 = 26;\n$al1036 = L[604];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"code\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"code\"].app(anf_arg1132);\nbreak;\ncase 26: var anf_arg1135 = $ans1035;\n$step1029 = 27;\n$al1036 = L[603];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"text\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 27: var anf_arg1136 = $ans1035;\n$step1029 = 28;\n$al1036 = L[599];\nif(typeof(anf_fun1133.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1133);\n}\n$ans1035 = anf_fun1133.app(anf_arg1134,anf_arg1135,anf_arg1136);\nbreak;\ncase 28: var anf_arg1140 = $ans1035;\n$al1036 = L[601];\nvar anf_arg1137 = G(self1031,\"obj\",L[601]);\n$step1029 = 29;\n$al1036 = L[602];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1035 = ED6.dict.values.dict[\"embed\"].app(anf_arg1137);\nbreak;\ncase 29: var anf_arg1141 = $ans1035;\n$step1029 = 30;\n$al1036 = L[596];\nif(typeof(anf_fun1138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1036,anf_fun1138);\n}\n$ans1035 = anf_fun1138.app(anf_arg1139,anf_arg1140,anf_arg1141);\nbreak;\ncase 30: ++R.GAS;\nreturn $ans1035;\ndefault: R.ffi.throwSpinnakerError(L[527],$step1029);\n}\n}\nif($step1029 !== 30) {\n$ans1035.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1036,$temp_full1030,$step1029,[self1031,maybe$stack$loc1032,src$available1033,maybe$ast1034],[anf_arg1140,anf_fun1138,anf_arg1044,anf_arg1134,anf_arg1135,anf_arg1047,anf_arg1048,anf_arg1139,cases1052,anf_fun1043,anf_fun1133,anf_fun1046],$elidedFrames1038);\n}\nreturn $ans1035;\n};\nvar anf_variant_member5768 = R.makeMethod3($temp_full1030,\"render-fancy-reason\");\nvar $temp_full1150 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__612($self1151) {\nvar $step1149 = 0;\nvar $elidedFrames1155 = 0;\nvar $ans1152 = D;\nvar $al1153 = L[612];\nif(R.isAR($self1151)) {\n$step1149 = $self1151.step;\n$al1153 = $self1151.from;\n$ans1152 = $self1151.ans;\n$elidedFrames1155 = $self1151.elidedFrames;\nself1151 = $self1151.args[0];\nanf_arg1161 = $self1151.vars[0];\nanf_fun1159 = $self1151.vars[1];\nanf_arg1165 = $self1151.vars[2];\nanf_arg1166 = $self1151.vars[3];\nanf_fun1164 = $self1151.vars[4];\nanf_arg1160 = $self1151.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[612],1,$t,true);\n}\nvar self1151 = $self1151;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1152 = R.mC();\n}\nwhile(!R.isContinuation($ans1152)) {\nswitch($step1149) {\ncase 0: $ans1152 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[613],L[614]);\nvar anf_fun1164 = $ans1152;\n$al1153 = L[615];\nvar anf_arg1156 = G(self1151,\"loc\",L[615]);\n$step1149 = 1;\n$al1153 = L[625];\n// omitting isFunction check;\n$ans1152 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1156);\nbreak;\ncase 1: var anf_arg1165 = $ans1152;\n$ans1152 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[616],L[617]);\nvar anf_fun1159 = $ans1152;\n$step1149 = 2;\n$al1153 = L[624];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app((\"The left side was an object that did not have a field named \"));\nbreak;\ncase 2: var anf_arg1160 = $ans1152;\n$al1153 = L[618];\nvar anf_arg1157 = G(self1151,\"field\",L[618]);\n$step1149 = 3;\n$al1153 = L[623];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app(anf_arg1157);\nbreak;\ncase 3: var anf_arg1158 = $ans1152;\n$step1149 = 4;\n$al1153 = L[622];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"code\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"code\"].app(anf_arg1158);\nbreak;\ncase 4: var anf_arg1161 = $ans1152;\n$step1149 = 5;\n$al1153 = L[621];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"text\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 5: var anf_arg1162 = $ans1152;\n$step1149 = 6;\n$al1153 = L[617];\nif(typeof(anf_fun1159.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,anf_fun1159);\n}\n$ans1152 = anf_fun1159.app(anf_arg1160,anf_arg1161,anf_arg1162);\nbreak;\ncase 6: var anf_arg1166 = $ans1152;\n$al1153 = L[619];\nvar anf_arg1163 = G(self1151,\"obj\",L[619]);\n$step1149 = 7;\n$al1153 = L[620];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1152 = ED6.dict.values.dict[\"embed\"].app(anf_arg1163);\nbreak;\ncase 7: var anf_arg1167 = $ans1152;\n$step1149 = 8;\n$al1153 = L[614];\nif(typeof(anf_fun1164.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1153,anf_fun1164);\n}\n$ans1152 = anf_fun1164.app(anf_arg1165,anf_arg1166,anf_arg1167);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1152;\ndefault: R.ffi.throwSpinnakerError(L[612],$step1149);\n}\n}\nif($step1149 !== 8) {\n$ans1152.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1153,$temp_full1150,$step1149,[self1151],[anf_arg1161,anf_fun1159,anf_arg1165,anf_arg1166,anf_fun1164,anf_arg1160],$elidedFrames1155);\n}\nreturn $ans1152;\n};\nvar anf_variant_member5769 = R.makeMethod0($temp_full1150,\"render-reason\");\nvar $temp_full1170 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__626($self1171,$maybe$stack$loc1172,$src$available1173,$maybe$ast1174) {\nvar $step1169 = 0;\nvar $elidedFrames1178 = 0;\nvar $ans1175 = D;\nvar $al1176 = L[626];\nif(R.isAR($self1171)) {\n$step1169 = $self1171.step;\n$al1176 = $self1171.from;\n$ans1175 = $self1171.ans;\n$elidedFrames1178 = $self1171.elidedFrames;\nself1171 = $self1171.args[0];\nmaybe$stack$loc1172 = $self1171.args[1];\nsrc$available1173 = $self1171.args[2];\nmaybe$ast1174 = $self1171.args[3];\nanf_arg1195 = $self1171.vars[0];\nanf_arg1185 = $self1171.vars[1];\nanf_arg1196 = $self1171.vars[2];\nanf_arg1186 = $self1171.vars[3];\nanf_arg1199 = $self1171.vars[4];\nanf_arg1200 = $self1171.vars[5];\nanf_fun1182 = $self1171.vars[6];\nanf_fun1194 = $self1171.vars[7];\nanf_fun1184 = $self1171.vars[8];\nanf_fun1198 = $self1171.vars[9];\nanf_arg1192 = $self1171.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[626],4,$t,true);\n}\nvar self1171 = $self1171;\nvar maybe$stack$loc1172 = $maybe$stack$loc1172;\nvar src$available1173 = $src$available1173;\nvar maybe$ast1174 = $maybe$ast1174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1175 = R.mC();\n}\nwhile(!R.isContinuation($ans1175)) {\nswitch($step1169) {\ncase 0: $al1176 = L[627];\nvar anf_method_obj1179 = G(self1171,\"expr-loc\",L[627]);\n$step1169 = 1;\n$ans1175 = R.maybeMethodCall0(anf_method_obj1179,\"is-builtin\",L[628]);\nbreak;\ncase 1: var anf_if1206 = $ans1175;\n$step1169 = R.checkPyretTrue(anf_if1206)?2:3;\nbreak;\ncase 2: $step1169 = 6;\n$ans1175 = (true);\nbreak;\ncase 3: $al1176 = L[653];\nvar anf_arg1203 = G(self1171,\"expr-loc\",L[653]);\n$step1169 = 4;\n$al1176 = L[655];\nif(typeof(src$available1173.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,src$available1173);\n}\n$ans1175 = src$available1173.app(anf_arg1203);\nbreak;\ncase 4: var anf_arg1204 = $ans1175;\n$step1169 = 5;\n$al1176 = L[654];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,not5);\n}\n$ans1175 = not5.app(anf_arg1204);\nbreak;\ncase 5: var anf_arg1205 = $ans1175;\n$ans1175 = R.checkWrapBoolean(anf_arg1205);\n$step1169 = 6;\nbreak;\ncase 6: var anf_if1202 = $ans1175;\n$step1169 = R.checkPyretTrue(anf_if1202)?7:12;\nbreak;\ncase 7: $ans1175 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[629],L[630]);\nvar anf_fun1184 = $ans1175;\n$al1176 = L[631];\nvar anf_arg1180 = G(self1171,\"expr-loc\",L[631]);\n$step1169 = 8;\n$al1176 = L[637];\n// omitting isFunction check;\n$ans1175 = ed$simple$intro104.$var.app((\"construction expression\"),anf_arg1180);\nbreak;\ncase 8: var anf_arg1185 = $ans1175;\n$al1176 = L[632];\nvar anf_arg1181 = G(self1171,\"expr-loc\",L[632]);\n$step1169 = 9;\n$al1176 = L[636];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1181);\nbreak;\ncase 9: var anf_arg1186 = $ans1175;\n$ans1175 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[633],L[634]);\nvar anf_fun1182 = $ans1175;\n$step1169 = 10;\n$al1176 = L[635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a defined convenience constructor.\"));\nbreak;\ncase 10: var anf_arg1183 = $ans1175;\n$step1169 = 11;\n$al1176 = L[634];\nif(typeof(anf_fun1182.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1182);\n}\n$ans1175 = anf_fun1182.app(anf_arg1183);\nbreak;\ncase 11: var anf_arg1187 = $ans1175;\n$step1169 = 21;\n$al1176 = L[630];\nif(typeof(anf_fun1184.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1184);\n}\n$ans1175 = anf_fun1184.app(anf_arg1185,anf_arg1186,anf_arg1187);\nbreak;\ncase 12: $ans1175 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[638],L[639]);\nvar anf_fun1198 = $ans1175;\n$al1176 = L[640];\nvar anf_arg1188 = G(self1171,\"expr-loc\",L[640]);\n$step1169 = 13;\n$al1176 = L[652];\n// omitting isFunction check;\n$ans1175 = ed$intro146.$var.app((\"construction expression\"),anf_arg1188,(-1),(true));\nbreak;\ncase 13: var anf_arg1199 = $ans1175;\n$al1176 = L[641];\nvar anf_arg1189 = G(self1171,\"expr-loc\",L[641]);\n$step1169 = 14;\n$al1176 = L[651];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1189);\nbreak;\ncase 14: var anf_arg1200 = $ans1175;\n$ans1175 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[642],L[643]);\nvar anf_fun1194 = $ans1175;\n$step1169 = 15;\n$al1176 = L[650];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 15: var anf_arg1195 = $ans1175;\n$step1169 = 16;\n$al1176 = L[649];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 16: var anf_arg1192 = $ans1175;\n$ans1175 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[644],L[645]);\nvar anf_fun1190 = $ans1175;\n$al1176 = L[646];\nvar anf_arg1191 = G(self1171,\"constr-loc\",L[646]);\n$step1169 = 17;\n$al1176 = L[645];\nif(typeof(anf_fun1190.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1190);\n}\n$ans1175 = anf_fun1190.app(anf_arg1191);\nbreak;\ncase 17: var anf_arg1193 = $ans1175;\n$step1169 = 18;\n$al1176 = L[648];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1192,anf_arg1193,(0));\nbreak;\ncase 18: var anf_arg1196 = $ans1175;\n$step1169 = 19;\n$al1176 = L[647];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,ED6.dict.values.dict[\"text\"]);\n}\n$ans1175 = ED6.dict.values.dict[\"text\"].app((\" was not a defined convenience constructor.\"));\nbreak;\ncase 19: var anf_arg1197 = $ans1175;\n$step1169 = 20;\n$al1176 = L[643];\nif(typeof(anf_fun1194.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1194);\n}\n$ans1175 = anf_fun1194.app(anf_arg1195,anf_arg1196,anf_arg1197);\nbreak;\ncase 20: var anf_arg1201 = $ans1175;\n$step1169 = 21;\n$al1176 = L[639];\nif(typeof(anf_fun1198.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1176,anf_fun1198);\n}\n$ans1175 = anf_fun1198.app(anf_arg1199,anf_arg1200,anf_arg1201);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1175;\ndefault: R.ffi.throwSpinnakerError(L[626],$step1169);\n}\n}\nif($step1169 !== 21) {\n$ans1175.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1176,$temp_full1170,$step1169,[self1171,maybe$stack$loc1172,src$available1173,maybe$ast1174],[anf_arg1195,anf_arg1185,anf_arg1196,anf_arg1186,anf_arg1199,anf_arg1200,anf_fun1182,anf_fun1194,anf_fun1184,anf_fun1198,anf_arg1192],$elidedFrames1178);\n}\nreturn $ans1175;\n};\nvar anf_variant_member5779 = R.makeMethod3($temp_full1170,\"render-fancy-reason\");\nvar $temp_full1209 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__656($self1210) {\nvar $step1208 = 0;\nvar $elidedFrames1214 = 0;\nvar $ans1211 = D;\nvar $al1212 = L[656];\nif(R.isAR($self1210)) {\n$step1208 = $self1210.step;\n$al1212 = $self1210.from;\n$ans1211 = $self1210.ans;\n$elidedFrames1214 = $self1210.elidedFrames;\nself1210 = $self1210.args[0];\nanf_fun1218 = $self1210.vars[0];\nanf_arg1219 = $self1210.vars[1];\nanf_fun1216 = $self1210.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[656],1,$t,true);\n}\nvar self1210 = $self1210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1211 = R.mC();\n}\nwhile(!R.isContinuation($ans1211)) {\nswitch($step1208) {\ncase 0: $ans1211 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[657],L[658]);\nvar anf_fun1218 = $ans1211;\n$al1212 = L[659];\nvar anf_arg1215 = G(self1210,\"expr-loc\",L[659]);\n$step1208 = 1;\n$al1212 = L[663];\n// omitting isFunction check;\n$ans1211 = ed$simple$intro104.$var.app((\"construction expression\"),anf_arg1215);\nbreak;\ncase 1: var anf_arg1219 = $ans1211;\n$ans1211 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[660],L[661]);\nvar anf_fun1216 = $ans1211;\n$step1208 = 2;\n$al1212 = L[662];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,ED6.dict.values.dict[\"text\"]);\n}\n$ans1211 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a defined convenience constructor.\"));\nbreak;\ncase 2: var anf_arg1217 = $ans1211;\n$step1208 = 3;\n$al1212 = L[661];\nif(typeof(anf_fun1216.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,anf_fun1216);\n}\n$ans1211 = anf_fun1216.app(anf_arg1217);\nbreak;\ncase 3: var anf_arg1220 = $ans1211;\n$step1208 = 4;\n$al1212 = L[658];\nif(typeof(anf_fun1218.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1212,anf_fun1218);\n}\n$ans1211 = anf_fun1218.app(anf_arg1219,anf_arg1220);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1211;\ndefault: R.ffi.throwSpinnakerError(L[656],$step1208);\n}\n}\nif($step1208 !== 4) {\n$ans1211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1212,$temp_full1209,$step1208,[self1210],[anf_fun1218,anf_arg1219,anf_fun1216],$elidedFrames1214);\n}\nreturn $ans1211;\n};\nvar anf_variant_member5780 = R.makeMethod0($temp_full1209,\"render-reason\");\nvar $temp_full1223 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__664($self1224,$maybe$stack$loc1225,$src$available1226,$maybe$ast1227) {\nvar $step1222 = 0;\nvar $elidedFrames1231 = 0;\nvar $ans1228 = D;\nvar $al1229 = L[664];\nif(R.isAR($self1224)) {\n$step1222 = $self1224.step;\n$al1229 = $self1224.from;\n$ans1228 = $self1224.ans;\n$elidedFrames1231 = $self1224.elidedFrames;\nself1224 = $self1224.args[0];\nmaybe$stack$loc1225 = $self1224.args[1];\nsrc$available1226 = $self1224.args[2];\nmaybe$ast1227 = $self1224.args[3];\nanf_fun1236 = $self1224.vars[0];\nanf_arg1244 = $self1224.vars[1];\nanf_arg1245 = $self1224.vars[2];\nanf_arg1237 = $self1224.vars[3];\nanf_fun1241 = $self1224.vars[4];\nanf_fun1243 = $self1224.vars[5];\nanf_fun1234 = $self1224.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[664],4,$t,true);\n}\nvar self1224 = $self1224;\nvar maybe$stack$loc1225 = $maybe$stack$loc1225;\nvar src$available1226 = $src$available1226;\nvar maybe$ast1227 = $maybe$ast1227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1228 = R.mC();\n}\nwhile(!R.isContinuation($ans1228)) {\nswitch($step1222) {\ncase 0: $al1229 = L[665];\nvar anf_method_obj1232 = G(self1224,\"loc\",L[665]);\n$step1222 = 1;\n$ans1228 = R.maybeMethodCall0(anf_method_obj1232,\"is-builtin\",L[666]);\nbreak;\ncase 1: var anf_if1251 = $ans1228;\n$step1222 = R.checkPyretTrue(anf_if1251)?2:3;\nbreak;\ncase 2: $step1222 = 6;\n$ans1228 = (true);\nbreak;\ncase 3: $al1229 = L[683];\nvar anf_arg1248 = G(self1224,\"loc\",L[683]);\n$step1222 = 4;\n$al1229 = L[685];\nif(typeof(src$available1226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,src$available1226);\n}\n$ans1228 = src$available1226.app(anf_arg1248);\nbreak;\ncase 4: var anf_arg1249 = $ans1228;\n$step1222 = 5;\n$al1229 = L[684];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,not5);\n}\n$ans1228 = not5.app(anf_arg1249);\nbreak;\ncase 5: var anf_arg1250 = $ans1228;\n$ans1228 = R.checkWrapBoolean(anf_arg1250);\n$step1222 = 6;\nbreak;\ncase 6: var anf_if1247 = $ans1228;\n$step1222 = R.checkPyretTrue(anf_if1247)?7:11;\nbreak;\ncase 7: $ans1228 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[667],L[668]);\nvar anf_fun1236 = $ans1228;\n$al1229 = L[669];\nvar anf_arg1233 = G(self1224,\"loc\",L[669]);\n$step1222 = 8;\n$al1229 = L[673];\n// omitting isFunction check;\n$ans1228 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1233);\nbreak;\ncase 8: var anf_arg1237 = $ans1228;\n$ans1228 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[670],L[671]);\nvar anf_fun1234 = $ans1228;\n$step1222 = 9;\n$al1229 = L[672];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"text\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 9: var anf_arg1235 = $ans1228;\n$step1222 = 10;\n$al1229 = L[671];\nif(typeof(anf_fun1234.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1234);\n}\n$ans1228 = anf_fun1234.app(anf_arg1235);\nbreak;\ncase 10: var anf_arg1238 = $ans1228;\n$step1222 = 16;\n$al1229 = L[668];\nif(typeof(anf_fun1236.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1236);\n}\n$ans1228 = anf_fun1236.app(anf_arg1237,anf_arg1238);\nbreak;\ncase 11: $ans1228 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[674],L[675]);\nvar anf_fun1243 = $ans1228;\n$al1229 = L[676];\nvar anf_arg1239 = G(self1224,\"loc\",L[676]);\n$step1222 = 12;\n$al1229 = L[682];\n// omitting isFunction check;\n$ans1228 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1239,(0),(true));\nbreak;\ncase 12: var anf_arg1244 = $ans1228;\n$al1229 = L[677];\nvar anf_arg1240 = G(self1224,\"loc\",L[677]);\n$step1222 = 13;\n$al1229 = L[681];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1240);\nbreak;\ncase 13: var anf_arg1245 = $ans1228;\n$ans1228 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[678],L[679]);\nvar anf_fun1241 = $ans1228;\n$step1222 = 14;\n$al1229 = L[680];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,ED6.dict.values.dict[\"text\"]);\n}\n$ans1228 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 14: var anf_arg1242 = $ans1228;\n$step1222 = 15;\n$al1229 = L[679];\nif(typeof(anf_fun1241.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1241);\n}\n$ans1228 = anf_fun1241.app(anf_arg1242);\nbreak;\ncase 15: var anf_arg1246 = $ans1228;\n$step1222 = 16;\n$al1229 = L[675];\nif(typeof(anf_fun1243.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1229,anf_fun1243);\n}\n$ans1228 = anf_fun1243.app(anf_arg1244,anf_arg1245,anf_arg1246);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1228;\ndefault: R.ffi.throwSpinnakerError(L[664],$step1222);\n}\n}\nif($step1222 !== 16) {\n$ans1228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1229,$temp_full1223,$step1222,[self1224,maybe$stack$loc1225,src$available1226,maybe$ast1227],[anf_fun1236,anf_arg1244,anf_arg1245,anf_arg1237,anf_fun1241,anf_fun1243,anf_fun1234],$elidedFrames1231);\n}\nreturn $ans1228;\n};\nvar anf_variant_member5789 = R.makeMethod3($temp_full1223,\"render-fancy-reason\");\nvar $temp_full1254 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__686($self1255) {\nvar $step1253 = 0;\nvar $elidedFrames1259 = 0;\nvar $ans1256 = D;\nvar $al1257 = L[686];\nif(R.isAR($self1255)) {\n$step1253 = $self1255.step;\n$al1257 = $self1255.from;\n$ans1256 = $self1255.ans;\n$elidedFrames1259 = $self1255.elidedFrames;\nself1255 = $self1255.args[0];\nanf_fun1263 = $self1255.vars[0];\nanf_arg1264 = $self1255.vars[1];\nanf_fun1261 = $self1255.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],1,$t,true);\n}\nvar self1255 = $self1255;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1256 = R.mC();\n}\nwhile(!R.isContinuation($ans1256)) {\nswitch($step1253) {\ncase 0: $ans1256 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[687],L[688]);\nvar anf_fun1263 = $ans1256;\n$al1257 = L[689];\nvar anf_arg1260 = G(self1255,\"loc\",L[689]);\n$step1253 = 1;\n$al1257 = L[693];\n// omitting isFunction check;\n$ans1256 = ed$simple$intro104.$var.app((\"field lookup expression\"),anf_arg1260);\nbreak;\ncase 1: var anf_arg1264 = $ans1256;\n$ans1256 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[690],L[691]);\nvar anf_fun1261 = $ans1256;\n$step1253 = 2;\n$al1257 = L[692];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,ED6.dict.values.dict[\"text\"]);\n}\n$ans1256 = ED6.dict.values.dict[\"text\"].app((\"The left side was a constructor, not an object.\"));\nbreak;\ncase 2: var anf_arg1262 = $ans1256;\n$step1253 = 3;\n$al1257 = L[691];\nif(typeof(anf_fun1261.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,anf_fun1261);\n}\n$ans1256 = anf_fun1261.app(anf_arg1262);\nbreak;\ncase 3: var anf_arg1265 = $ans1256;\n$step1253 = 4;\n$al1257 = L[688];\nif(typeof(anf_fun1263.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1257,anf_fun1263);\n}\n$ans1256 = anf_fun1263.app(anf_arg1264,anf_arg1265);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1256;\ndefault: R.ffi.throwSpinnakerError(L[686],$step1253);\n}\n}\nif($step1253 !== 4) {\n$ans1256.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1257,$temp_full1254,$step1253,[self1255],[anf_fun1263,anf_arg1264,anf_fun1261],$elidedFrames1259);\n}\nreturn $ans1256;\n};\nvar anf_variant_member5790 = R.makeMethod0($temp_full1254,\"render-reason\");\nvar $temp_full1268 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__694($self1269,$maybe$stack$loc1270,$src$available1271,$maybe$ast1272) {\nvar $step1267 = 0;\nvar $elidedFrames1276 = 0;\nvar $ans1273 = D;\nvar $al1274 = L[694];\nif(R.isAR($self1269)) {\n$step1267 = $self1269.step;\n$al1274 = $self1269.from;\n$ans1273 = $self1269.ans;\n$elidedFrames1276 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nmaybe$stack$loc1270 = $self1269.args[1];\nsrc$available1271 = $self1269.args[2];\nmaybe$ast1272 = $self1269.args[3];\nanf_arg1283 = $self1269.vars[0];\nanf_arg1284 = $self1269.vars[1];\nanf_fun1337 = $self1269.vars[2];\nanf_arg1338 = $self1269.vars[3];\nanf_arg1339 = $self1269.vars[4];\ncases1288 = $self1269.vars[5];\nanf_fun1282 = $self1269.vars[6];\nanf_fun1334 = $self1269.vars[7];\nanf_fun1279 = $self1269.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[694],4,$t,true);\n}\nvar self1269 = $self1269;\nvar maybe$stack$loc1270 = $maybe$stack$loc1270;\nvar src$available1271 = $src$available1271;\nvar maybe$ast1272 = $maybe$ast1272;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1273 = R.mC();\n}\nwhile(!R.isContinuation($ans1273)) {\nswitch($step1267) {\ncase 0: $al1274 = L[695];\nvar anf_method_obj1277 = G(self1269,\"loc\",L[695]);\n$step1267 = 1;\n$ans1273 = R.maybeMethodCall0(anf_method_obj1277,\"is-builtin\",L[696]);\nbreak;\ncase 1: var anf_if1342 = $ans1273;\n$step1267 = R.checkPyretTrue(anf_if1342)?2:7;\nbreak;\ncase 2: $ans1273 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[697],L[698]);\nvar anf_fun1282 = $ans1273;\n$al1274 = L[699];\nvar anf_arg1278 = G(self1269,\"loc\",L[699]);\n$step1267 = 3;\n$al1274 = L[705];\n// omitting isFunction check;\n$ans1273 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1278);\nbreak;\ncase 3: var anf_arg1283 = $ans1273;\n$ans1273 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[700],L[701]);\nvar anf_fun1279 = $ans1273;\n$step1267 = 4;\n$al1274 = L[704];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"text\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 4: var anf_arg1280 = $ans1273;\n$step1267 = 5;\n$al1274 = L[701];\nif(typeof(anf_fun1279.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1279);\n}\n$ans1273 = anf_fun1279.app(anf_arg1280);\nbreak;\ncase 5: var anf_arg1284 = $ans1273;\n$al1274 = L[702];\nvar anf_arg1281 = G(self1269,\"non-tup\",L[702]);\n$step1267 = 6;\n$al1274 = L[703];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"embed\"].app(anf_arg1281);\nbreak;\ncase 6: var anf_arg1285 = $ans1273;\n$step1267 = 20;\n$al1274 = L[698];\nif(typeof(anf_fun1282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1282);\n}\n$ans1273 = anf_fun1282.app(anf_arg1283,anf_arg1284,anf_arg1285);\nbreak;\ncase 7: $al1274 = L[706];\nvar anf_arg1286 = G(self1269,\"loc\",L[706]);\n$step1267 = 8;\n$al1274 = L[751];\nif(typeof(src$available1271.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,src$available1271);\n}\n$ans1273 = src$available1271.app(anf_arg1286);\nbreak;\ncase 8: var anf_if1341 = $ans1273;\n$step1267 = R.checkPyretTrue(anf_if1341)?9:15;\nbreak;\ncase 9: $al1274 = L[707];\nvar anf_arg1287 = G(self1269,\"loc\",L[707]);\n$step1267 = 10;\n$al1274 = L[741];\nif(typeof(maybe$ast1272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,maybe$ast1272);\n}\n$ans1273 = maybe$ast1272.app(anf_arg1287);\nbreak;\ncase 10: var cases1288 = $ans1273;\n$step1267 = 11;\n$al1274 = L[740];\nvar $ann$check1332 = R._cA(L[740],R.gDA(L[740],\"O\",O8.dict.types,\"Option\"),cases1288);\nif(R.isContinuation($ann$check1332)) {\n$ans1273 = $ann$check1332;\n}\nbreak;\ncase 11: $al1274 = L[727];\n$step1267 = $cases_dispatch1331[cases1288.$name] || 14;\nbreak;\ncase 12: if(cases1288.$arity !== 1) {\nif(cases1288.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[726],1,cases1288.$arity,L[727],cases1288.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[726],true,L[727],cases1288.$loc);\n}\n}\n$step1267 = 20;\n$al1274 = L[726];\nvar $temp_branch1307 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__727($ast1291) {\nvar $step1308 = 0;\nvar $elidedFrames1312 = 0;\nvar $ans1309 = D;\nvar $al1310 = L[709];\nif(R.isAR($ast1291)) {\n$step1308 = $ast1291.step;\n$al1310 = $ast1291.from;\n$ans1309 = $ast1291.ans;\n$elidedFrames1312 = $ast1291.elidedFrames;\nast1291 = $ast1291.args[0];\nanf_fun1302 = $ast1291.vars[0];\nanf_arg1295 = $ast1291.vars[1];\nanf_arg1298 = $ast1291.vars[2];\nanf_arg1299 = $ast1291.vars[3];\nanf_arg1303 = $ast1291.vars[4];\nanf_arg1304 = $ast1291.vars[5];\nanf_arg1305 = $ast1291.vars[6];\nanf_fun1297 = $ast1291.vars[7];\n} else {\nvar ast1291 = $ast1291;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1309 = R.mC();\n}\nwhile(!R.isContinuation($ans1309)) {\nswitch($step1308) {\ncase 0: $ans1309 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[708],L[709]);\nvar anf_fun1302 = $ans1309;\n$al1310 = L[710];\nvar anf_arg1289 = G(self1269,\"loc\",L[710]);\n$step1308 = 1;\n$al1310 = L[725];\n// omitting isFunction check;\n$ans1309 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1289,(-1),(true));\nbreak;\ncase 1: var anf_arg1303 = $ans1309;\n$al1310 = L[711];\nvar anf_arg1290 = G(self1269,\"loc\",L[711]);\n$step1308 = 2;\n$al1310 = L[724];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1290);\nbreak;\ncase 2: var anf_arg1304 = $ans1309;\n$ans1309 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[712],L[713]);\nvar anf_fun1297 = $ans1309;\n$step1308 = 3;\n$al1310 = L[723];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg1298 = $ans1309;\n$step1308 = 4;\n$al1310 = L[722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg1295 = $ans1309;\n$ans1309 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[714],L[715]);\nvar anf_fun1293 = $ans1309;\n$al1310 = L[716];\nvar anf_bracket1292 = G(ast1291,\"tup\",L[716]);\n$al1310 = L[717];\nvar anf_arg1294 = G(anf_bracket1292,\"l\",L[717]);\n$step1308 = 5;\n$al1310 = L[715];\nif(typeof(anf_fun1293.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1293);\n}\n$ans1309 = anf_fun1293.app(anf_arg1294);\nbreak;\ncase 5: var anf_arg1296 = $ans1309;\n$step1308 = 6;\n$al1310 = L[721];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1295,anf_arg1296,(0));\nbreak;\ncase 6: var anf_arg1299 = $ans1309;\n$step1308 = 7;\n$al1310 = L[720];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"text\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"text\"].app((\" was not a tuple value:\"));\nbreak;\ncase 7: var anf_arg1300 = $ans1309;\n$step1308 = 8;\n$al1310 = L[713];\nif(typeof(anf_fun1297.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1297);\n}\n$ans1309 = anf_fun1297.app(anf_arg1298,anf_arg1299,anf_arg1300);\nbreak;\ncase 8: var anf_arg1305 = $ans1309;\n$al1310 = L[718];\nvar anf_arg1301 = G(self1269,\"non-tup\",L[718]);\n$step1308 = 9;\n$al1310 = L[719];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1309 = ED6.dict.values.dict[\"embed\"].app(anf_arg1301);\nbreak;\ncase 9: var anf_arg1306 = $ans1309;\n$step1308 = 10;\n$al1310 = L[709];\nif(typeof(anf_fun1302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1310,anf_fun1302);\n}\n$ans1309 = anf_fun1302.app(anf_arg1303,anf_arg1304,anf_arg1305,anf_arg1306);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1309;\ndefault: R.ffi.throwSpinnakerError(L[709],$step1308);\n}\n}\nif($step1308 !== 10) {\n$ans1309.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1310,$temp_branch1307,$step1308,[ast1291],[anf_fun1302,anf_arg1295,anf_arg1298,anf_arg1299,anf_arg1303,anf_arg1304,anf_arg1305,anf_fun1297],$elidedFrames1312);\n}\nreturn $ans1309;\n};\n$ans1273 = cases1288.$app_fields($temp_branch1307,[false]);\nbreak;\ncase 13: if(cases1288.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[739],false,L[727],cases1288.$loc);\n}\n$step1267 = 20;\n$al1274 = L[739];\nvar $temp_branch1324 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__727($$resumer13) {\nvar $step1325 = 0;\nvar $elidedFrames1329 = 0;\nvar $ans1326 = D;\nvar $al1327 = L[729];\nif(R.isAR($$resumer13)) {\n$step1325 = $$resumer13.step;\n$al1327 = $$resumer13.from;\n$ans1326 = $$resumer13.ans;\n$elidedFrames1329 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1316 = $$resumer13.vars[0];\nanf_arg1320 = $$resumer13.vars[1];\nanf_fun1319 = $$resumer13.vars[2];\nanf_arg1321 = $$resumer13.vars[3];\nanf_arg1322 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1326 = R.mC();\n}\nwhile(!R.isContinuation($ans1326)) {\nswitch($step1325) {\ncase 0: $ans1326 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[728],L[729]);\nvar anf_fun1319 = $ans1326;\n$al1327 = L[730];\nvar anf_arg1314 = G(self1269,\"loc\",L[730]);\n$step1325 = 1;\n$al1327 = L[738];\n// omitting isFunction check;\n$ans1326 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1314,(0),(true));\nbreak;\ncase 1: var anf_arg1320 = $ans1326;\n$al1327 = L[731];\nvar anf_arg1315 = G(self1269,\"loc\",L[731]);\n$step1325 = 2;\n$al1327 = L[737];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1315);\nbreak;\ncase 2: var anf_arg1321 = $ans1326;\n$ans1326 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[732],L[733]);\nvar anf_fun1316 = $ans1326;\n$step1325 = 3;\n$al1327 = L[736];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"text\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 3: var anf_arg1317 = $ans1326;\n$step1325 = 4;\n$al1327 = L[733];\nif(typeof(anf_fun1316.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,anf_fun1316);\n}\n$ans1326 = anf_fun1316.app(anf_arg1317);\nbreak;\ncase 4: var anf_arg1322 = $ans1326;\n$al1327 = L[734];\nvar anf_arg1318 = G(self1269,\"non-tup\",L[734]);\n$step1325 = 5;\n$al1327 = L[735];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1326 = ED6.dict.values.dict[\"embed\"].app(anf_arg1318);\nbreak;\ncase 5: var anf_arg1323 = $ans1326;\n$step1325 = 6;\n$al1327 = L[729];\nif(typeof(anf_fun1319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1327,anf_fun1319);\n}\n$ans1326 = anf_fun1319.app(anf_arg1320,anf_arg1321,anf_arg1322,anf_arg1323);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1326;\ndefault: R.ffi.throwSpinnakerError(L[729],$step1325);\n}\n}\nif($step1325 !== 6) {\n$ans1326.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1327,$temp_branch1324,$step1325,[],[anf_fun1316,anf_arg1320,anf_fun1319,anf_arg1321,anf_arg1322],$elidedFrames1329);\n}\nreturn $ans1326;\n};\n$ans1273 = cases1288.$app_fields($temp_branch1324,[]);\nbreak;\ncase 14: $ans1273 = R.throwNoCasesMatched(L[727],cases1288);\n$step1267 = 20;\nbreak;\ncase 15: $ans1273 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[742],L[743]);\nvar anf_fun1337 = $ans1273;\n$al1274 = L[744];\nvar anf_arg1333 = G(self1269,\"loc\",L[744]);\n$step1267 = 16;\n$al1274 = L[750];\n// omitting isFunction check;\n$ans1273 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1333);\nbreak;\ncase 16: var anf_arg1338 = $ans1273;\n$ans1273 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[745],L[746]);\nvar anf_fun1334 = $ans1273;\n$step1267 = 17;\n$al1274 = L[749];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"text\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 17: var anf_arg1335 = $ans1273;\n$step1267 = 18;\n$al1274 = L[746];\nif(typeof(anf_fun1334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1334);\n}\n$ans1273 = anf_fun1334.app(anf_arg1335);\nbreak;\ncase 18: var anf_arg1339 = $ans1273;\n$al1274 = L[747];\nvar anf_arg1336 = G(self1269,\"non-tup\",L[747]);\n$step1267 = 19;\n$al1274 = L[748];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1273 = ED6.dict.values.dict[\"embed\"].app(anf_arg1336);\nbreak;\ncase 19: var anf_arg1340 = $ans1273;\n$step1267 = 20;\n$al1274 = L[743];\nif(typeof(anf_fun1337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1274,anf_fun1337);\n}\n$ans1273 = anf_fun1337.app(anf_arg1338,anf_arg1339,anf_arg1340);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1273;\ndefault: R.ffi.throwSpinnakerError(L[694],$step1267);\n}\n}\nif($step1267 !== 20) {\n$ans1273.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1274,$temp_full1268,$step1267,[self1269,maybe$stack$loc1270,src$available1271,maybe$ast1272],[anf_arg1283,anf_arg1284,anf_fun1337,anf_arg1338,anf_arg1339,cases1288,anf_fun1282,anf_fun1334,anf_fun1279],$elidedFrames1276);\n}\nreturn $ans1273;\n};\nvar anf_variant_member5800 = R.makeMethod3($temp_full1268,\"render-fancy-reason\");\nvar $temp_full1345 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__752($self1346) {\nvar $step1344 = 0;\nvar $elidedFrames1350 = 0;\nvar $ans1347 = D;\nvar $al1348 = L[752];\nif(R.isAR($self1346)) {\n$step1344 = $self1346.step;\n$al1348 = $self1346.from;\n$ans1347 = $self1346.ans;\n$elidedFrames1350 = $self1346.elidedFrames;\nself1346 = $self1346.args[0];\nanf_fun1355 = $self1346.vars[0];\nanf_arg1356 = $self1346.vars[1];\nanf_fun1352 = $self1346.vars[2];\nanf_arg1357 = $self1346.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[752],1,$t,true);\n}\nvar self1346 = $self1346;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1347 = R.mC();\n}\nwhile(!R.isContinuation($ans1347)) {\nswitch($step1344) {\ncase 0: $ans1347 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[753],L[754]);\nvar anf_fun1355 = $ans1347;\n$al1348 = L[755];\nvar anf_arg1351 = G(self1346,\"loc\",L[755]);\n$step1344 = 1;\n$al1348 = L[761];\n// omitting isFunction check;\n$ans1347 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1351);\nbreak;\ncase 1: var anf_arg1356 = $ans1347;\n$ans1347 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[756],L[757]);\nvar anf_fun1352 = $ans1347;\n$step1344 = 2;\n$al1348 = L[760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,ED6.dict.values.dict[\"text\"]);\n}\n$ans1347 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a tuple value:\"));\nbreak;\ncase 2: var anf_arg1353 = $ans1347;\n$step1344 = 3;\n$al1348 = L[757];\nif(typeof(anf_fun1352.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,anf_fun1352);\n}\n$ans1347 = anf_fun1352.app(anf_arg1353);\nbreak;\ncase 3: var anf_arg1357 = $ans1347;\n$al1348 = L[758];\nvar anf_arg1354 = G(self1346,\"non-tup\",L[758]);\n$step1344 = 4;\n$al1348 = L[759];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1347 = ED6.dict.values.dict[\"embed\"].app(anf_arg1354);\nbreak;\ncase 4: var anf_arg1358 = $ans1347;\n$step1344 = 5;\n$al1348 = L[754];\nif(typeof(anf_fun1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1348,anf_fun1355);\n}\n$ans1347 = anf_fun1355.app(anf_arg1356,anf_arg1357,anf_arg1358);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1347;\ndefault: R.ffi.throwSpinnakerError(L[752],$step1344);\n}\n}\nif($step1344 !== 5) {\n$ans1347.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1348,$temp_full1345,$step1344,[self1346],[anf_fun1355,anf_arg1356,anf_fun1352,anf_arg1357],$elidedFrames1350);\n}\nreturn $ans1347;\n};\nvar anf_variant_member5801 = R.makeMethod0($temp_full1345,\"render-reason\");\nvar $temp_full1361 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__762($self1362,$maybe$stack$loc1363,$src$available1364,$maybe$ast1365) {\nvar $step1360 = 0;\nvar $elidedFrames1369 = 0;\nvar $ans1366 = D;\nvar $al1367 = L[762];\nif(R.isAR($self1362)) {\n$step1360 = $self1362.step;\n$al1367 = $self1362.from;\n$ans1366 = $self1362.ans;\n$elidedFrames1369 = $self1362.elidedFrames;\nself1362 = $self1362.args[0];\nmaybe$stack$loc1363 = $self1362.args[1];\nsrc$available1364 = $self1362.args[2];\nmaybe$ast1365 = $self1362.args[3];\nanf_arg1383 = $self1362.vars[0];\nanf_fun1458 = $self1362.vars[1];\nanf_arg1460 = $self1362.vars[2];\nanf_arg1384 = $self1362.vars[3];\nanf_arg1453 = $self1362.vars[4];\nanf_arg1377 = $self1362.vars[5];\nanf_arg1454 = $self1362.vars[6];\nanf_arg1378 = $self1362.vars[7];\nanf_arg1455 = $self1362.vars[8];\nanf_arg1379 = $self1362.vars[9];\nanf_arg1459 = $self1362.vars[10];\ncases1388 = $self1362.vars[11];\nanf_fun1382 = $self1362.vars[12];\nanf_fun1452 = $self1362.vars[13];\nanf_fun1376 = $self1362.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[762],4,$t,true);\n}\nvar self1362 = $self1362;\nvar maybe$stack$loc1363 = $maybe$stack$loc1363;\nvar src$available1364 = $src$available1364;\nvar maybe$ast1365 = $maybe$ast1365;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1366 = R.mC();\n}\nwhile(!R.isContinuation($ans1366)) {\nswitch($step1360) {\ncase 0: $al1367 = L[763];\nvar anf_method_obj1370 = G(self1362,\"loc\",L[763]);\n$step1360 = 1;\n$ans1366 = R.maybeMethodCall0(anf_method_obj1370,\"is-builtin\",L[764]);\nbreak;\ncase 1: var anf_if1463 = $ans1366;\n$step1360 = R.checkPyretTrue(anf_if1463)?2:11;\nbreak;\ncase 2: $ans1366 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[765],L[766]);\nvar anf_fun1382 = $ans1366;\n$al1367 = L[767];\nvar anf_arg1371 = G(self1362,\"loc\",L[767]);\n$step1360 = 3;\n$al1367 = L[779];\n// omitting isFunction check;\n$ans1366 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1371);\nbreak;\ncase 3: var anf_arg1383 = $ans1366;\n$ans1366 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[768],L[769]);\nvar anf_fun1376 = $ans1366;\n$step1360 = 4;\n$al1367 = L[778];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\"The left side was a tuple of \"));\nbreak;\ncase 4: var anf_arg1377 = $ans1366;\n$al1367 = L[770];\nvar anf_arg1372 = G(self1362,\"len\",L[770]);\n$step1360 = 5;\n$al1367 = L[777];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1372);\nbreak;\ncase 5: var anf_arg1378 = $ans1366;\n$step1360 = 6;\n$al1367 = L[776];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 6: var anf_arg1379 = $ans1366;\n$al1367 = L[771];\nvar anf_arg1373 = G(self1362,\"index\",L[771]);\n// caller optimization;\n$ans1366 = num$to$string7.app(anf_arg1373);\nvar anf_arg1374 = $ans1366;\n$step1360 = 7;\n$al1367 = L[775];\n// omitting isFunction check;\n$ans1366 = _plus5.app(anf_arg1374,(\"):\"));\nbreak;\ncase 7: var anf_arg1375 = $ans1366;\n$step1360 = 8;\n$al1367 = L[774];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app(anf_arg1375);\nbreak;\ncase 8: var anf_arg1380 = $ans1366;\n$step1360 = 9;\n$al1367 = L[769];\nif(typeof(anf_fun1376.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1376);\n}\n$ans1366 = anf_fun1376.app(anf_arg1377,anf_arg1378,anf_arg1379,anf_arg1380);\nbreak;\ncase 9: var anf_arg1384 = $ans1366;\n$al1367 = L[772];\nvar anf_arg1381 = G(self1362,\"tup\",L[772]);\n$step1360 = 10;\n$al1367 = L[773];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"embed\"].app(anf_arg1381);\nbreak;\ncase 10: var anf_arg1385 = $ans1366;\n$step1360 = 28;\n$al1367 = L[766];\nif(typeof(anf_fun1382.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1382);\n}\n$ans1366 = anf_fun1382.app(anf_arg1383,anf_arg1384,anf_arg1385);\nbreak;\ncase 11: $al1367 = L[780];\nvar anf_arg1386 = G(self1362,\"loc\",L[780]);\n$step1360 = 12;\n$al1367 = L[849];\nif(typeof(src$available1364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,src$available1364);\n}\n$ans1366 = src$available1364.app(anf_arg1386);\nbreak;\ncase 12: var anf_if1462 = $ans1366;\n$step1360 = R.checkPyretTrue(anf_if1462)?13:19;\nbreak;\ncase 13: $al1367 = L[781];\nvar anf_arg1387 = G(self1362,\"loc\",L[781]);\n$step1360 = 14;\n$al1367 = L[833];\nif(typeof(maybe$ast1365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,maybe$ast1365);\n}\n$ans1366 = maybe$ast1365.app(anf_arg1387);\nbreak;\ncase 14: var cases1388 = $ans1366;\n$step1360 = 15;\n$al1367 = L[832];\nvar $ann$check1446 = R._cA(L[832],R.gDA(L[832],\"O\",O8.dict.types,\"Option\"),cases1388);\nif(R.isContinuation($ann$check1446)) {\n$ans1366 = $ann$check1446;\n}\nbreak;\ncase 15: $al1367 = L[813];\n$step1360 = $cases_dispatch1445[cases1388.$name] || 18;\nbreak;\ncase 16: if(cases1388.$arity !== 1) {\nif(cases1388.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[812],1,cases1388.$arity,L[813],cases1388.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[812],true,L[813],cases1388.$loc);\n}\n}\n$step1360 = 28;\n$al1367 = L[812];\nvar $temp_branch1414 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__813($ast1391) {\nvar $step1415 = 0;\nvar $elidedFrames1419 = 0;\nvar $ans1416 = D;\nvar $al1417 = L[783];\nif(R.isAR($ast1391)) {\n$step1415 = $ast1391.step;\n$al1417 = $ast1391.from;\n$ans1416 = $ast1391.ans;\n$elidedFrames1419 = $ast1391.elidedFrames;\nast1391 = $ast1391.args[0];\nanf_arg1395 = $ast1391.vars[0];\nanf_fun1406 = $ast1391.vars[1];\nanf_arg1410 = $ast1391.vars[2];\nanf_fun1409 = $ast1391.vars[3];\nanf_arg1400 = $ast1391.vars[4];\nanf_arg1411 = $ast1391.vars[5];\nanf_arg1412 = $ast1391.vars[6];\nanf_array1407 = $ast1391.vars[7];\n} else {\nvar ast1391 = $ast1391;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1416 = R.mC();\n}\nwhile(!R.isContinuation($ans1416)) {\nswitch($step1415) {\ncase 0: $ans1416 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[782],L[783]);\nvar anf_fun1409 = $ans1416;\n$al1417 = L[784];\nvar anf_arg1389 = G(self1362,\"loc\",L[784]);\n$step1415 = 1;\n$al1417 = L[811];\n// omitting isFunction check;\n$ans1416 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1389,(-1),(true));\nbreak;\ncase 1: var anf_arg1410 = $ans1416;\n$al1417 = L[785];\nvar anf_arg1390 = G(self1362,\"loc\",L[785]);\n$step1415 = 2;\n$al1417 = L[810];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1390);\nbreak;\ncase 2: var anf_arg1411 = $ans1416;\n$ans1416 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[786],L[787]);\nvar anf_fun1406 = $ans1416;\n$ans1416 = R.makeArrayN((7));\nvar anf_array1407 = $ans1416;\n$step1415 = 3;\n$al1417 = L[809];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: anf_array1407[0] = $ans1416;\n$step1415 = 4;\n$al1417 = L[808];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg1395 = $ans1416;\n$ans1416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[788],L[789]);\nvar anf_fun1393 = $ans1416;\n$al1417 = L[790];\nvar anf_bracket1392 = G(ast1391,\"tup\",L[790]);\n$al1417 = L[791];\nvar anf_arg1394 = G(anf_bracket1392,\"l\",L[791]);\n$step1415 = 5;\n$al1417 = L[789];\nif(typeof(anf_fun1393.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1393);\n}\n$ans1416 = anf_fun1393.app(anf_arg1394);\nbreak;\ncase 5: var anf_arg1396 = $ans1416;\n$step1415 = 6;\n$al1417 = L[807];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1395,anf_arg1396,(0));\nbreak;\ncase 6: anf_array1407[1] = $ans1416;\n$step1415 = 7;\n$al1417 = L[806];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\" was a tuple of \"));\nbreak;\ncase 7: anf_array1407[2] = $ans1416;\n$al1417 = L[792];\nvar anf_arg1397 = G(self1362,\"len\",L[792]);\n$step1415 = 8;\n$al1417 = L[805];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1397);\nbreak;\ncase 8: anf_array1407[3] = $ans1416;\n$step1415 = 9;\n$al1417 = L[804];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given \"));\nbreak;\ncase 9: anf_array1407[4] = $ans1416;\n$step1415 = 10;\n$al1417 = L[803];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app((\"position\"));\nbreak;\ncase 10: var anf_arg1400 = $ans1416;\n$ans1416 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[793],L[794]);\nvar anf_fun1398 = $ans1416;\n$al1417 = L[795];\nvar anf_arg1399 = G(ast1391,\"index-loc\",L[795]);\n$step1415 = 11;\n$al1417 = L[794];\nif(typeof(anf_fun1398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1398);\n}\n$ans1416 = anf_fun1398.app(anf_arg1399);\nbreak;\ncase 11: var anf_arg1401 = $ans1416;\n$step1415 = 12;\n$al1417 = L[802];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1400,anf_arg1401,(1));\nbreak;\ncase 12: anf_array1407[5] = $ans1416;\n$al1417 = L[796];\nvar anf_arg1402 = G(self1362,\"index\",L[796]);\n// caller optimization;\n$ans1416 = num$to$string7.app(anf_arg1402);\nvar anf_arg1403 = $ans1416;\n$step1415 = 13;\n$al1417 = L[801];\n// omitting isFunction check;\n$ans1416 = _plus5.app((\" (\"),anf_arg1403);\nbreak;\ncase 13: var anf_arg1404 = $ans1416;\n$step1415 = 14;\n$al1417 = L[800];\n// omitting isFunction check;\n$ans1416 = _plus5.app(anf_arg1404,(\"):\"));\nbreak;\ncase 14: var anf_arg1405 = $ans1416;\n$step1415 = 15;\n$al1417 = L[799];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"text\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"text\"].app(anf_arg1405);\nbreak;\ncase 15: anf_array1407[6] = $ans1416;\n$step1415 = 16;\n$al1417 = L[787];\nif(typeof(anf_fun1406.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1406);\n}\n$ans1416 = anf_fun1406.app(anf_array1407);\nbreak;\ncase 16: var anf_arg1412 = $ans1416;\n$al1417 = L[797];\nvar anf_arg1408 = G(self1362,\"tup\",L[797]);\n$step1415 = 17;\n$al1417 = L[798];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1416 = ED6.dict.values.dict[\"embed\"].app(anf_arg1408);\nbreak;\ncase 17: var anf_arg1413 = $ans1416;\n$step1415 = 18;\n$al1417 = L[783];\nif(typeof(anf_fun1409.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1417,anf_fun1409);\n}\n$ans1416 = anf_fun1409.app(anf_arg1410,anf_arg1411,anf_arg1412,anf_arg1413);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans1416;\ndefault: R.ffi.throwSpinnakerError(L[783],$step1415);\n}\n}\nif($step1415 !== 18) {\n$ans1416.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1417,$temp_branch1414,$step1415,[ast1391],[anf_arg1395,anf_fun1406,anf_arg1410,anf_fun1409,anf_arg1400,anf_arg1411,anf_arg1412,anf_array1407],$elidedFrames1419);\n}\nreturn $ans1416;\n};\n$ans1366 = cases1388.$app_fields($temp_branch1414,[false]);\nbreak;\ncase 17: if(cases1388.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[831],false,L[813],cases1388.$loc);\n}\n$step1360 = 28;\n$al1367 = L[831];\nvar $temp_branch1438 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__813($$resumer13) {\nvar $step1439 = 0;\nvar $elidedFrames1443 = 0;\nvar $ans1440 = D;\nvar $al1441 = L[815];\nif(R.isAR($$resumer13)) {\n$step1439 = $$resumer13.step;\n$al1441 = $$resumer13.from;\n$ans1440 = $$resumer13.ans;\n$elidedFrames1443 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1427 = $$resumer13.vars[0];\nanf_arg1430 = $$resumer13.vars[1];\nanf_arg1434 = $$resumer13.vars[2];\nanf_arg1435 = $$resumer13.vars[3];\nanf_arg1436 = $$resumer13.vars[4];\nanf_arg1428 = $$resumer13.vars[5];\nanf_arg1429 = $$resumer13.vars[6];\nanf_fun1433 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1440 = R.mC();\n}\nwhile(!R.isContinuation($ans1440)) {\nswitch($step1439) {\ncase 0: $ans1440 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[814],L[815]);\nvar anf_fun1433 = $ans1440;\n$al1441 = L[816];\nvar anf_arg1421 = G(self1362,\"loc\",L[816]);\n$step1439 = 1;\n$al1441 = L[830];\n// omitting isFunction check;\n$ans1440 = ed$intro146.$var.app((\"tuple lookup expression\"),anf_arg1421,(0),(true));\nbreak;\ncase 1: var anf_arg1434 = $ans1440;\n$al1441 = L[817];\nvar anf_arg1422 = G(self1362,\"loc\",L[817]);\n$step1439 = 2;\n$al1441 = L[829];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1422);\nbreak;\ncase 2: var anf_arg1435 = $ans1440;\n$ans1440 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[818],L[819]);\nvar anf_fun1427 = $ans1440;\n$step1439 = 3;\n$al1441 = L[828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app((\"The left side was a tuple of \"));\nbreak;\ncase 3: var anf_arg1428 = $ans1440;\n$al1441 = L[820];\nvar anf_arg1423 = G(self1362,\"len\",L[820]);\n$step1439 = 4;\n$al1441 = L[827];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1423);\nbreak;\ncase 4: var anf_arg1429 = $ans1440;\n$step1439 = 5;\n$al1441 = L[826];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 5: var anf_arg1430 = $ans1440;\n$al1441 = L[821];\nvar anf_arg1424 = G(self1362,\"index\",L[821]);\n// caller optimization;\n$ans1440 = num$to$string7.app(anf_arg1424);\nvar anf_arg1425 = $ans1440;\n$step1439 = 6;\n$al1441 = L[825];\n// omitting isFunction check;\n$ans1440 = _plus5.app(anf_arg1425,(\"):\"));\nbreak;\ncase 6: var anf_arg1426 = $ans1440;\n$step1439 = 7;\n$al1441 = L[824];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"text\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"text\"].app(anf_arg1426);\nbreak;\ncase 7: var anf_arg1431 = $ans1440;\n$step1439 = 8;\n$al1441 = L[819];\nif(typeof(anf_fun1427.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,anf_fun1427);\n}\n$ans1440 = anf_fun1427.app(anf_arg1428,anf_arg1429,anf_arg1430,anf_arg1431);\nbreak;\ncase 8: var anf_arg1436 = $ans1440;\n$al1441 = L[822];\nvar anf_arg1432 = G(self1362,\"tup\",L[822]);\n$step1439 = 9;\n$al1441 = L[823];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1440 = ED6.dict.values.dict[\"embed\"].app(anf_arg1432);\nbreak;\ncase 9: var anf_arg1437 = $ans1440;\n$step1439 = 10;\n$al1441 = L[815];\nif(typeof(anf_fun1433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1441,anf_fun1433);\n}\n$ans1440 = anf_fun1433.app(anf_arg1434,anf_arg1435,anf_arg1436,anf_arg1437);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1440;\ndefault: R.ffi.throwSpinnakerError(L[815],$step1439);\n}\n}\nif($step1439 !== 10) {\n$ans1440.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1441,$temp_branch1438,$step1439,[],[anf_fun1427,anf_arg1430,anf_arg1434,anf_arg1435,anf_arg1436,anf_arg1428,anf_arg1429,anf_fun1433],$elidedFrames1443);\n}\nreturn $ans1440;\n};\n$ans1366 = cases1388.$app_fields($temp_branch1438,[]);\nbreak;\ncase 18: $ans1366 = R.throwNoCasesMatched(L[813],cases1388);\n$step1360 = 28;\nbreak;\ncase 19: $ans1366 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[834],L[835]);\nvar anf_fun1458 = $ans1366;\n$al1367 = L[836];\nvar anf_arg1447 = G(self1362,\"loc\",L[836]);\n$step1360 = 20;\n$al1367 = L[848];\n// omitting isFunction check;\n$ans1366 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1447);\nbreak;\ncase 20: var anf_arg1459 = $ans1366;\n$ans1366 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[837],L[838]);\nvar anf_fun1452 = $ans1366;\n$step1360 = 21;\n$al1367 = L[847];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\" failed because the left side was a tuple of \"));\nbreak;\ncase 21: var anf_arg1453 = $ans1366;\n$al1367 = L[839];\nvar anf_arg1448 = G(self1362,\"len\",L[839]);\n$step1360 = 22;\n$al1367 = L[846];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1448);\nbreak;\ncase 22: var anf_arg1454 = $ans1366;\n$step1360 = 23;\n$al1367 = L[845];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 23: var anf_arg1455 = $ans1366;\n$al1367 = L[840];\nvar anf_arg1449 = G(self1362,\"index\",L[840]);\n// caller optimization;\n$ans1366 = num$to$string7.app(anf_arg1449);\nvar anf_arg1450 = $ans1366;\n$step1360 = 24;\n$al1367 = L[844];\n// omitting isFunction check;\n$ans1366 = _plus5.app(anf_arg1450,(\"):\"));\nbreak;\ncase 24: var anf_arg1451 = $ans1366;\n$step1360 = 25;\n$al1367 = L[843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"text\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"text\"].app(anf_arg1451);\nbreak;\ncase 25: var anf_arg1456 = $ans1366;\n$step1360 = 26;\n$al1367 = L[838];\nif(typeof(anf_fun1452.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1452);\n}\n$ans1366 = anf_fun1452.app(anf_arg1453,anf_arg1454,anf_arg1455,anf_arg1456);\nbreak;\ncase 26: var anf_arg1460 = $ans1366;\n$al1367 = L[841];\nvar anf_arg1457 = G(self1362,\"tup\",L[841]);\n$step1360 = 27;\n$al1367 = L[842];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1366 = ED6.dict.values.dict[\"embed\"].app(anf_arg1457);\nbreak;\ncase 27: var anf_arg1461 = $ans1366;\n$step1360 = 28;\n$al1367 = L[835];\nif(typeof(anf_fun1458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1367,anf_fun1458);\n}\n$ans1366 = anf_fun1458.app(anf_arg1459,anf_arg1460,anf_arg1461);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans1366;\ndefault: R.ffi.throwSpinnakerError(L[762],$step1360);\n}\n}\nif($step1360 !== 28) {\n$ans1366.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1367,$temp_full1361,$step1360,[self1362,maybe$stack$loc1363,src$available1364,maybe$ast1365],[anf_arg1383,anf_fun1458,anf_arg1460,anf_arg1384,anf_arg1453,anf_arg1377,anf_arg1454,anf_arg1378,anf_arg1455,anf_arg1379,anf_arg1459,cases1388,anf_fun1382,anf_fun1452,anf_fun1376],$elidedFrames1369);\n}\nreturn $ans1366;\n};\nvar anf_variant_member5811 = R.makeMethod3($temp_full1361,\"render-fancy-reason\");\nvar $temp_full1466 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__850($self1467) {\nvar $step1465 = 0;\nvar $elidedFrames1471 = 0;\nvar $ans1468 = D;\nvar $al1469 = L[850];\nif(R.isAR($self1467)) {\n$step1465 = $self1467.step;\n$al1469 = $self1467.from;\n$ans1468 = $self1467.ans;\n$elidedFrames1471 = $self1467.elidedFrames;\nself1467 = $self1467.args[0];\nanf_arg1480 = $self1467.vars[0];\nanf_arg1484 = $self1467.vars[1];\nanf_arg1485 = $self1467.vars[2];\nanf_arg1478 = $self1467.vars[3];\nanf_arg1479 = $self1467.vars[4];\nanf_fun1483 = $self1467.vars[5];\nanf_fun1477 = $self1467.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[850],1,$t,true);\n}\nvar self1467 = $self1467;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1468 = R.mC();\n}\nwhile(!R.isContinuation($ans1468)) {\nswitch($step1465) {\ncase 0: $ans1468 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[851],L[852]);\nvar anf_fun1483 = $ans1468;\n$al1469 = L[853];\nvar anf_arg1472 = G(self1467,\"loc\",L[853]);\n$step1465 = 1;\n$al1469 = L[865];\n// omitting isFunction check;\n$ans1468 = ed$simple$intro104.$var.app((\"tuple lookup expression\"),anf_arg1472);\nbreak;\ncase 1: var anf_arg1484 = $ans1468;\n$ans1468 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[854],L[855]);\nvar anf_fun1477 = $ans1468;\n$step1465 = 2;\n$al1469 = L[864];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app((\" failed because the left side was a tuple of \"));\nbreak;\ncase 2: var anf_arg1478 = $ans1468;\n$al1469 = L[856];\nvar anf_arg1473 = G(self1467,\"len\",L[856]);\n$step1465 = 3;\n$al1469 = L[863];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1473);\nbreak;\ncase 3: var anf_arg1479 = $ans1468;\n$step1465 = 4;\n$al1469 = L[862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app((\", smaller than the given position (\"));\nbreak;\ncase 4: var anf_arg1480 = $ans1468;\n$al1469 = L[857];\nvar anf_arg1474 = G(self1467,\"index\",L[857]);\n// caller optimization;\n$ans1468 = num$to$string7.app(anf_arg1474);\nvar anf_arg1475 = $ans1468;\n$step1465 = 5;\n$al1469 = L[861];\n// omitting isFunction check;\n$ans1468 = _plus5.app(anf_arg1475,(\"):\"));\nbreak;\ncase 5: var anf_arg1476 = $ans1468;\n$step1465 = 6;\n$al1469 = L[860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"text\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"text\"].app(anf_arg1476);\nbreak;\ncase 6: var anf_arg1481 = $ans1468;\n$step1465 = 7;\n$al1469 = L[855];\nif(typeof(anf_fun1477.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,anf_fun1477);\n}\n$ans1468 = anf_fun1477.app(anf_arg1478,anf_arg1479,anf_arg1480,anf_arg1481);\nbreak;\ncase 7: var anf_arg1485 = $ans1468;\n$al1469 = L[858];\nvar anf_arg1482 = G(self1467,\"tup\",L[858]);\n$step1465 = 8;\n$al1469 = L[859];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1468 = ED6.dict.values.dict[\"embed\"].app(anf_arg1482);\nbreak;\ncase 8: var anf_arg1486 = $ans1468;\n$step1465 = 9;\n$al1469 = L[852];\nif(typeof(anf_fun1483.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1469,anf_fun1483);\n}\n$ans1468 = anf_fun1483.app(anf_arg1484,anf_arg1485,anf_arg1486);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1468;\ndefault: R.ffi.throwSpinnakerError(L[850],$step1465);\n}\n}\nif($step1465 !== 9) {\n$ans1468.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1469,$temp_full1466,$step1465,[self1467],[anf_arg1480,anf_arg1484,anf_arg1485,anf_arg1478,anf_arg1479,anf_fun1483,anf_fun1477],$elidedFrames1471);\n}\nreturn $ans1468;\n};\nvar anf_variant_member5812 = R.makeMethod0($temp_full1466,\"render-reason\");\nvar $temp_full1489 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__866($self1490,$maybe$stack$loc1491,$src$available1492,$maybe$ast1493) {\nvar $step1488 = 0;\nvar $elidedFrames1497 = 0;\nvar $ans1494 = D;\nvar $al1495 = L[866];\nif(R.isAR($self1490)) {\n$step1488 = $self1490.step;\n$al1495 = $self1490.from;\n$ans1494 = $self1490.ans;\n$elidedFrames1497 = $self1490.elidedFrames;\nself1490 = $self1490.args[0];\nmaybe$stack$loc1491 = $self1490.args[1];\nsrc$available1492 = $self1490.args[2];\nmaybe$ast1493 = $self1490.args[3];\nanf_fun1500 = $self1490.vars[0];\nanf_arg1550 = $self1490.vars[1];\nanf_fun1505 = $self1490.vars[2];\nanf_fun1549 = $self1490.vars[3];\nanf_arg1551 = $self1490.vars[4];\nanf_arg1555 = $self1490.vars[5];\nanf_arg1501 = $self1490.vars[6];\nanf_arg1502 = $self1490.vars[7];\nanf_arg1506 = $self1490.vars[8];\nanf_arg1507 = $self1490.vars[9];\ncases1511 = $self1490.vars[10];\nanf_fun1554 = $self1490.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[866],4,$t,true);\n}\nvar self1490 = $self1490;\nvar maybe$stack$loc1491 = $maybe$stack$loc1491;\nvar src$available1492 = $src$available1492;\nvar maybe$ast1493 = $maybe$ast1493;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1494 = R.mC();\n}\nwhile(!R.isContinuation($ans1494)) {\nswitch($step1488) {\ncase 0: $al1495 = L[867];\nvar anf_method_obj1498 = G(self1490,\"loc\",L[867]);\n$step1488 = 1;\n$ans1494 = R.maybeMethodCall0(anf_method_obj1498,\"is-builtin\",L[868]);\nbreak;\ncase 1: var anf_if1558 = $ans1494;\n$step1488 = R.checkPyretTrue(anf_if1558)?2:9;\nbreak;\ncase 2: $ans1494 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[869],L[870]);\nvar anf_fun1505 = $ans1494;\n$ans1494 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[871],L[872]);\nvar anf_fun1500 = $ans1494;\n$step1488 = 3;\n$al1495 = L[879];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 3: var anf_arg1501 = $ans1494;\n$al1495 = L[873];\nvar anf_arg1499 = G(self1490,\"loc\",L[873]);\n$step1488 = 4;\n$al1495 = L[878];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"loc\"].app(anf_arg1499);\nbreak;\ncase 4: var anf_arg1502 = $ans1494;\n$step1488 = 5;\n$al1495 = L[877];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value: \"));\nbreak;\ncase 5: var anf_arg1503 = $ans1494;\n$step1488 = 6;\n$al1495 = L[872];\nif(typeof(anf_fun1500.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1500);\n}\n$ans1494 = anf_fun1500.app(anf_arg1501,anf_arg1502,anf_arg1503);\nbreak;\ncase 6: var anf_arg1506 = $ans1494;\n$al1495 = L[874];\nvar anf_arg1504 = G(self1490,\"non-tup\",L[874]);\n$step1488 = 7;\n$al1495 = L[876];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"embed\"].app(anf_arg1504);\nbreak;\ncase 7: var anf_arg1507 = $ans1494;\n$step1488 = 8;\n$al1495 = L[875];\n// omitting isFunction check;\n$ans1494 = please$report$bug158.$var.app();\nbreak;\ncase 8: var anf_arg1508 = $ans1494;\n$step1488 = 23;\n$al1495 = L[870];\nif(typeof(anf_fun1505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1505);\n}\n$ans1494 = anf_fun1505.app(anf_arg1506,anf_arg1507,anf_arg1508);\nbreak;\ncase 9: $al1495 = L[880];\nvar anf_arg1509 = G(self1490,\"loc\",L[880]);\n$step1488 = 10;\n$al1495 = L[918];\nif(typeof(src$available1492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,src$available1492);\n}\n$ans1494 = src$available1492.app(anf_arg1509);\nbreak;\ncase 10: var anf_if1557 = $ans1494;\n$step1488 = R.checkPyretTrue(anf_if1557)?11:17;\nbreak;\ncase 11: $al1495 = L[881];\nvar anf_arg1510 = G(self1490,\"loc\",L[881]);\n$step1488 = 12;\n$al1495 = L[907];\nif(typeof(maybe$ast1493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,maybe$ast1493);\n}\n$ans1494 = maybe$ast1493.app(anf_arg1510);\nbreak;\ncase 12: var cases1511 = $ans1494;\n$step1488 = 13;\n$al1495 = L[906];\nvar $ann$check1547 = R._cA(L[906],R.gDA(L[906],\"O\",O8.dict.types,\"Option\"),cases1511);\nif(R.isContinuation($ann$check1547)) {\n$ans1494 = $ann$check1547;\n}\nbreak;\ncase 13: $al1495 = L[894];\n$step1488 = $cases_dispatch1546[cases1511.$name] || 16;\nbreak;\ncase 14: if(cases1511.$arity !== 1) {\nif(cases1511.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[893],1,cases1511.$arity,L[894],cases1511.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[893],true,L[894],cases1511.$loc);\n}\n}\n$step1488 = 23;\n$al1495 = L[893];\nvar $temp_branch1522 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__894($ast1528) {\nvar $step1523 = 0;\nvar $elidedFrames1527 = 0;\nvar $ans1524 = D;\nvar $al1525 = L[883];\nif(R.isAR($ast1528)) {\n$step1523 = $ast1528.step;\n$al1525 = $ast1528.from;\n$ans1524 = $ast1528.ans;\n$elidedFrames1527 = $ast1528.elidedFrames;\nast1528 = $ast1528.args[0];\nanf_fun1514 = $ast1528.vars[0];\nanf_fun1517 = $ast1528.vars[1];\nanf_arg1520 = $ast1528.vars[2];\nanf_arg1518 = $ast1528.vars[3];\nanf_arg1519 = $ast1528.vars[4];\n} else {\nvar ast1528 = $ast1528;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1524 = R.mC();\n}\nwhile(!R.isContinuation($ans1524)) {\nswitch($step1523) {\ncase 0: $ans1524 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[882],L[883]);\nvar anf_fun1517 = $ans1524;\n$al1525 = L[884];\nvar anf_arg1512 = G(self1490,\"loc\",L[884]);\n$step1523 = 1;\n$al1525 = L[892];\n// omitting isFunction check;\n$ans1524 = ed$intro146.$var.app((\"tuple binding statement\"),anf_arg1512,(-1),(true));\nbreak;\ncase 1: var anf_arg1518 = $ans1524;\n$al1525 = L[885];\nvar anf_arg1513 = G(self1490,\"loc\",L[885]);\n$step1523 = 2;\n$al1525 = L[891];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1513);\nbreak;\ncase 2: var anf_arg1519 = $ans1524;\n$ans1524 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[886],L[887]);\nvar anf_fun1514 = $ans1524;\n$step1523 = 3;\n$al1525 = L[890];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"text\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"text\"].app((\"failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 3: var anf_arg1515 = $ans1524;\n$step1523 = 4;\n$al1525 = L[887];\nif(typeof(anf_fun1514.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,anf_fun1514);\n}\n$ans1524 = anf_fun1514.app(anf_arg1515);\nbreak;\ncase 4: var anf_arg1520 = $ans1524;\n$al1525 = L[888];\nvar anf_arg1516 = G(self1490,\"non-tup\",L[888]);\n$step1523 = 5;\n$al1525 = L[889];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1524 = ED6.dict.values.dict[\"embed\"].app(anf_arg1516);\nbreak;\ncase 5: var anf_arg1521 = $ans1524;\n$step1523 = 6;\n$al1525 = L[883];\nif(typeof(anf_fun1517.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1525,anf_fun1517);\n}\n$ans1524 = anf_fun1517.app(anf_arg1518,anf_arg1519,anf_arg1520,anf_arg1521);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1524;\ndefault: R.ffi.throwSpinnakerError(L[883],$step1523);\n}\n}\nif($step1523 !== 6) {\n$ans1524.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1525,$temp_branch1522,$step1523,[ast1528],[anf_fun1514,anf_fun1517,anf_arg1520,anf_arg1518,anf_arg1519],$elidedFrames1527);\n}\nreturn $ans1524;\n};\n$ans1494 = cases1511.$app_fields($temp_branch1522,[false]);\nbreak;\ncase 15: if(cases1511.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[905],false,L[894],cases1511.$loc);\n}\n$step1488 = 23;\n$al1495 = L[905];\nvar $temp_branch1539 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__894($$resumer13) {\nvar $step1540 = 0;\nvar $elidedFrames1544 = 0;\nvar $ans1541 = D;\nvar $al1542 = L[896];\nif(R.isAR($$resumer13)) {\n$step1540 = $$resumer13.step;\n$al1542 = $$resumer13.from;\n$ans1541 = $$resumer13.ans;\n$elidedFrames1544 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1536 = $$resumer13.vars[0];\nanf_arg1532 = $$resumer13.vars[1];\nanf_arg1533 = $$resumer13.vars[2];\nanf_arg1537 = $$resumer13.vars[3];\nanf_fun1531 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1541 = R.mC();\n}\nwhile(!R.isContinuation($ans1541)) {\nswitch($step1540) {\ncase 0: $ans1541 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[895],L[896]);\nvar anf_fun1536 = $ans1541;\n$ans1541 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[897],L[898]);\nvar anf_fun1531 = $ans1541;\n$step1540 = 1;\n$al1542 = L[904];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"text\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 1: var anf_arg1532 = $ans1541;\n$al1542 = L[899];\nvar anf_arg1530 = G(self1490,\"loc\",L[899]);\n$step1540 = 2;\n$al1542 = L[903];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"loc\"].app(anf_arg1530);\nbreak;\ncase 2: var anf_arg1533 = $ans1541;\n$step1540 = 3;\n$al1542 = L[902];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"text\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 3: var anf_arg1534 = $ans1541;\n$step1540 = 4;\n$al1542 = L[898];\nif(typeof(anf_fun1531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,anf_fun1531);\n}\n$ans1541 = anf_fun1531.app(anf_arg1532,anf_arg1533,anf_arg1534);\nbreak;\ncase 4: var anf_arg1537 = $ans1541;\n$al1542 = L[900];\nvar anf_arg1535 = G(self1490,\"non-tup\",L[900]);\n$step1540 = 5;\n$al1542 = L[901];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1541 = ED6.dict.values.dict[\"embed\"].app(anf_arg1535);\nbreak;\ncase 5: var anf_arg1538 = $ans1541;\n$step1540 = 6;\n$al1542 = L[896];\nif(typeof(anf_fun1536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1542,anf_fun1536);\n}\n$ans1541 = anf_fun1536.app(anf_arg1537,anf_arg1538);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1541;\ndefault: R.ffi.throwSpinnakerError(L[896],$step1540);\n}\n}\nif($step1540 !== 6) {\n$ans1541.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1542,$temp_branch1539,$step1540,[],[anf_fun1536,anf_arg1532,anf_arg1533,anf_arg1537,anf_fun1531],$elidedFrames1544);\n}\nreturn $ans1541;\n};\n$ans1494 = cases1511.$app_fields($temp_branch1539,[]);\nbreak;\ncase 16: $ans1494 = R.throwNoCasesMatched(L[894],cases1511);\n$step1488 = 23;\nbreak;\ncase 17: $ans1494 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[908],L[909]);\nvar anf_fun1554 = $ans1494;\n$ans1494 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[910],L[911]);\nvar anf_fun1549 = $ans1494;\n$step1488 = 18;\n$al1495 = L[917];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 18: var anf_arg1550 = $ans1494;\n$al1495 = L[912];\nvar anf_arg1548 = G(self1490,\"loc\",L[912]);\n$step1488 = 19;\n$al1495 = L[916];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"loc\"].app(anf_arg1548);\nbreak;\ncase 19: var anf_arg1551 = $ans1494;\n$step1488 = 20;\n$al1495 = L[915];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"text\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"text\"].app((\" failed because the binding was given a non-tuple value:\"));\nbreak;\ncase 20: var anf_arg1552 = $ans1494;\n$step1488 = 21;\n$al1495 = L[911];\nif(typeof(anf_fun1549.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1549);\n}\n$ans1494 = anf_fun1549.app(anf_arg1550,anf_arg1551,anf_arg1552);\nbreak;\ncase 21: var anf_arg1555 = $ans1494;\n$al1495 = L[913];\nvar anf_arg1553 = G(self1490,\"non-tup\",L[913]);\n$step1488 = 22;\n$al1495 = L[914];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1494 = ED6.dict.values.dict[\"embed\"].app(anf_arg1553);\nbreak;\ncase 22: var anf_arg1556 = $ans1494;\n$step1488 = 23;\n$al1495 = L[909];\nif(typeof(anf_fun1554.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1495,anf_fun1554);\n}\n$ans1494 = anf_fun1554.app(anf_arg1555,anf_arg1556);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans1494;\ndefault: R.ffi.throwSpinnakerError(L[866],$step1488);\n}\n}\nif($step1488 !== 23) {\n$ans1494.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1495,$temp_full1489,$step1488,[self1490,maybe$stack$loc1491,src$available1492,maybe$ast1493],[anf_fun1500,anf_arg1550,anf_fun1505,anf_fun1549,anf_arg1551,anf_arg1555,anf_arg1501,anf_arg1502,anf_arg1506,anf_arg1507,cases1511,anf_fun1554],$elidedFrames1497);\n}\nreturn $ans1494;\n};\nvar anf_variant_member5823 = R.makeMethod3($temp_full1489,\"render-fancy-reason\");\nvar $temp_full1561 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__919($self1562) {\nvar $step1560 = 0;\nvar $elidedFrames1566 = 0;\nvar $ans1563 = D;\nvar $al1564 = L[919];\nif(R.isAR($self1562)) {\n$step1560 = $self1562.step;\n$al1564 = $self1562.from;\n$ans1563 = $self1562.ans;\n$elidedFrames1566 = $self1562.elidedFrames;\nself1562 = $self1562.args[0];\nanf_arg1580 = $self1562.vars[0];\nanf_fun1579 = $self1562.vars[1];\nanf_arg1570 = $self1562.vars[2];\nanf_arg1581 = $self1562.vars[3];\nanf_fun1569 = $self1562.vars[4];\nanf_arg1571 = $self1562.vars[5];\nanf_arg1585 = $self1562.vars[6];\nanf_arg1575 = $self1562.vars[7];\nanf_arg1576 = $self1562.vars[8];\nanf_fun1584 = $self1562.vars[9];\nanf_fun1574 = $self1562.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[919],1,$t,true);\n}\nvar self1562 = $self1562;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1563 = R.mC();\n}\nwhile(!R.isContinuation($ans1563)) {\nswitch($step1560) {\ncase 0: $al1564 = L[920];\nvar anf_method_obj1567 = G(self1562,\"loc\",L[920]);\n$step1560 = 1;\n$ans1563 = R.maybeMethodCall0(anf_method_obj1567,\"is-builtin\",L[921]);\nbreak;\ncase 1: var anf_if1587 = $ans1563;\n$step1560 = R.checkPyretTrue(anf_if1587)?2:9;\nbreak;\ncase 2: $ans1563 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[922],L[923]);\nvar anf_fun1574 = $ans1563;\n$ans1563 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[924],L[925]);\nvar anf_fun1569 = $ans1563;\n$step1560 = 3;\n$al1564 = L[932];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 3: var anf_arg1570 = $ans1563;\n$al1564 = L[926];\nvar anf_arg1568 = G(self1562,\"loc\",L[926]);\n$step1560 = 4;\n$al1564 = L[931];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"loc\"].app(anf_arg1568);\nbreak;\ncase 4: var anf_arg1571 = $ans1563;\n$step1560 = 5;\n$al1564 = L[930];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\" failed because the right hand side did not evaluate to a tuple:\"));\nbreak;\ncase 5: var anf_arg1572 = $ans1563;\n$step1560 = 6;\n$al1564 = L[925];\nif(typeof(anf_fun1569.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1569);\n}\n$ans1563 = anf_fun1569.app(anf_arg1570,anf_arg1571,anf_arg1572);\nbreak;\ncase 6: var anf_arg1575 = $ans1563;\n$al1564 = L[927];\nvar anf_arg1573 = G(self1562,\"non-tup\",L[927]);\n$step1560 = 7;\n$al1564 = L[929];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"embed\"].app(anf_arg1573);\nbreak;\ncase 7: var anf_arg1576 = $ans1563;\n$step1560 = 8;\n$al1564 = L[928];\n// omitting isFunction check;\n$ans1563 = please$report$bug158.$var.app();\nbreak;\ncase 8: var anf_arg1577 = $ans1563;\n$step1560 = 15;\n$al1564 = L[923];\nif(typeof(anf_fun1574.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1574);\n}\n$ans1563 = anf_fun1574.app(anf_arg1575,anf_arg1576,anf_arg1577);\nbreak;\ncase 9: $ans1563 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[933],L[934]);\nvar anf_fun1584 = $ans1563;\n$ans1563 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[935],L[936]);\nvar anf_fun1579 = $ans1563;\n$step1560 = 10;\n$al1564 = L[942];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding statement in \"));\nbreak;\ncase 10: var anf_arg1580 = $ans1563;\n$al1564 = L[937];\nvar anf_arg1578 = G(self1562,\"loc\",L[937]);\n$step1560 = 11;\n$al1564 = L[941];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"loc\"].app(anf_arg1578);\nbreak;\ncase 11: var anf_arg1581 = $ans1563;\n$step1560 = 12;\n$al1564 = L[940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"text\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"text\"].app((\" failed because the right hand side did not evaluate to a tuple:\"));\nbreak;\ncase 12: var anf_arg1582 = $ans1563;\n$step1560 = 13;\n$al1564 = L[936];\nif(typeof(anf_fun1579.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1579);\n}\n$ans1563 = anf_fun1579.app(anf_arg1580,anf_arg1581,anf_arg1582);\nbreak;\ncase 13: var anf_arg1585 = $ans1563;\n$al1564 = L[938];\nvar anf_arg1583 = G(self1562,\"non-tup\",L[938]);\n$step1560 = 14;\n$al1564 = L[939];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1563 = ED6.dict.values.dict[\"embed\"].app(anf_arg1583);\nbreak;\ncase 14: var anf_arg1586 = $ans1563;\n$step1560 = 15;\n$al1564 = L[934];\nif(typeof(anf_fun1584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1564,anf_fun1584);\n}\n$ans1563 = anf_fun1584.app(anf_arg1585,anf_arg1586);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1563;\ndefault: R.ffi.throwSpinnakerError(L[919],$step1560);\n}\n}\nif($step1560 !== 15) {\n$ans1563.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1564,$temp_full1561,$step1560,[self1562],[anf_arg1580,anf_fun1579,anf_arg1570,anf_arg1581,anf_fun1569,anf_arg1571,anf_arg1585,anf_arg1575,anf_arg1576,anf_fun1584,anf_fun1574],$elidedFrames1566);\n}\nreturn $ans1563;\n};\nvar anf_variant_member5824 = R.makeMethod0($temp_full1561,\"render-reason\");\nvar $temp_full1590 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__943($self1591,$maybe$stack$loc1592,$src$available1593,$maybe$ast1594) {\nvar $step1589 = 0;\nvar $elidedFrames1598 = 0;\nvar $ans1595 = D;\nvar $al1596 = L[943];\nif(R.isAR($self1591)) {\n$step1589 = $self1591.step;\n$al1596 = $self1591.from;\n$ans1595 = $self1591.ans;\n$elidedFrames1598 = $self1591.elidedFrames;\nself1591 = $self1591.args[0];\nmaybe$stack$loc1592 = $self1591.args[1];\nsrc$available1593 = $self1591.args[2];\nmaybe$ast1594 = $self1591.args[3];\nanf_array1681 = $self1591.vars[0];\nanf_fun1603 = $self1591.vars[1];\nanf_arg1684 = $self1591.vars[2];\nanf_fun1606 = $self1591.vars[3];\nanf_array1604 = $self1591.vars[4];\nanf_arg1607 = $self1591.vars[5];\nanf_arg1608 = $self1591.vars[6];\ncases1612 = $self1591.vars[7];\nanf_fun1680 = $self1591.vars[8];\nanf_fun1683 = $self1591.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[943],4,$t,true);\n}\nvar self1591 = $self1591;\nvar maybe$stack$loc1592 = $maybe$stack$loc1592;\nvar src$available1593 = $src$available1593;\nvar maybe$ast1594 = $maybe$ast1594;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1595 = R.mC();\n}\nwhile(!R.isContinuation($ans1595)) {\nswitch($step1589) {\ncase 0: $al1596 = L[944];\nvar anf_method_obj1599 = G(self1591,\"loc\",L[944]);\n$step1589 = 1;\n$ans1595 = R.maybeMethodCall0(anf_method_obj1599,\"is-builtin\",L[945]);\nbreak;\ncase 1: var anf_if1687 = $ans1595;\n$step1589 = R.checkPyretTrue(anf_if1687)?2:13;\nbreak;\ncase 2: $ans1595 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[946],L[947]);\nvar anf_fun1606 = $ans1595;\n$ans1595 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[948],L[949]);\nvar anf_fun1603 = $ans1595;\n$ans1595 = R.makeArrayN((7));\nvar anf_array1604 = $ans1595;\n$step1589 = 3;\n$al1596 = L[962];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 3: anf_array1604[0] = $ans1595;\n$al1596 = L[950];\nvar anf_arg1600 = G(self1591,\"loc\",L[950]);\n$step1589 = 4;\n$al1596 = L[961];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"loc\"].app(anf_arg1600);\nbreak;\ncase 4: anf_array1604[1] = $ans1595;\n$step1589 = 5;\n$al1596 = L[960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 5: anf_array1604[2] = $ans1595;\n$al1596 = L[951];\nvar anf_arg1601 = G(self1591,\"desiredLength\",L[951]);\n$step1589 = 6;\n$al1596 = L[959];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1601);\nbreak;\ncase 6: anf_array1604[3] = $ans1595;\n$step1589 = 7;\n$al1596 = L[958];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 7: anf_array1604[4] = $ans1595;\n$al1596 = L[952];\nvar anf_arg1602 = G(self1591,\"els\",L[952]);\n$step1589 = 8;\n$al1596 = L[957];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1602);\nbreak;\ncase 8: anf_array1604[5] = $ans1595;\n$step1589 = 9;\n$al1596 = L[956];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 9: anf_array1604[6] = $ans1595;\n$step1589 = 10;\n$al1596 = L[949];\nif(typeof(anf_fun1603.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1603);\n}\n$ans1595 = anf_fun1603.app(anf_array1604);\nbreak;\ncase 10: var anf_arg1607 = $ans1595;\n$al1596 = L[953];\nvar anf_arg1605 = G(self1591,\"tup\",L[953]);\n$step1589 = 11;\n$al1596 = L[955];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"embed\"].app(anf_arg1605);\nbreak;\ncase 11: var anf_arg1608 = $ans1595;\n$step1589 = 12;\n$al1596 = L[954];\n// omitting isFunction check;\n$ans1595 = please$report$bug158.$var.app();\nbreak;\ncase 12: var anf_arg1609 = $ans1595;\n$step1589 = 31;\n$al1596 = L[947];\nif(typeof(anf_fun1606.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1606);\n}\n$ans1595 = anf_fun1606.app(anf_arg1607,anf_arg1608,anf_arg1609);\nbreak;\ncase 13: $al1596 = L[963];\nvar anf_arg1610 = G(self1591,\"loc\",L[963]);\n$step1589 = 14;\n$al1596 = L[1025];\nif(typeof(src$available1593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,src$available1593);\n}\n$ans1595 = src$available1593.app(anf_arg1610);\nbreak;\ncase 14: var anf_if1686 = $ans1595;\n$step1589 = R.checkPyretTrue(anf_if1686)?15:21;\nbreak;\ncase 15: $al1596 = L[964];\nvar anf_arg1611 = G(self1591,\"loc\",L[964]);\n$step1589 = 16;\n$al1596 = L[1008];\nif(typeof(maybe$ast1594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,maybe$ast1594);\n}\n$ans1595 = maybe$ast1594.app(anf_arg1611);\nbreak;\ncase 16: var cases1612 = $ans1595;\n$step1589 = 17;\n$al1596 = L[1007];\nvar $ann$check1676 = R._cA(L[1007],R.gDA(L[1007],\"O\",O8.dict.types,\"Option\"),cases1612);\nif(R.isContinuation($ann$check1676)) {\n$ans1595 = $ann$check1676;\n}\nbreak;\ncase 17: $al1596 = L[988];\n$step1589 = $cases_dispatch1675[cases1612.$name] || 20;\nbreak;\ncase 18: if(cases1612.$arity !== 1) {\nif(cases1612.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[987],1,cases1612.$arity,L[988],cases1612.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[987],true,L[988],cases1612.$loc);\n}\n}\n$step1589 = 31;\n$al1596 = L[987];\nvar $temp_branch1638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__988($ast1616) {\nvar $step1639 = 0;\nvar $elidedFrames1643 = 0;\nvar $ans1640 = D;\nvar $al1641 = L[966];\nif(R.isAR($ast1616)) {\n$step1639 = $ast1616.step;\n$al1641 = $ast1616.from;\n$ans1640 = $ast1616.ans;\n$elidedFrames1643 = $ast1616.elidedFrames;\nast1616 = $ast1616.args[0];\nanf_fun1633 = $ast1616.vars[0];\nanf_array1631 = $ast1616.vars[1];\nanf_arg1634 = $ast1616.vars[2];\nanf_arg1635 = $ast1616.vars[3];\nanf_arg1636 = $ast1616.vars[4];\nanf_arg1627 = $ast1616.vars[5];\nanf_fun1630 = $ast1616.vars[6];\n} else {\nvar ast1616 = $ast1616;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1640 = R.mC();\n}\nwhile(!R.isContinuation($ans1640)) {\nswitch($step1639) {\ncase 0: $ans1640 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[965],L[966]);\nvar anf_fun1633 = $ans1640;\n$al1641 = L[967];\nvar anf_arg1613 = G(self1591,\"loc\",L[967]);\n$step1639 = 1;\n$al1641 = L[986];\n// omitting isFunction check;\n$ans1640 = ed$intro146.$var.app((\"tuple binding\"),anf_arg1613,(-1),(true));\nbreak;\ncase 1: var anf_arg1634 = $ans1640;\n$al1641 = L[968];\nvar anf_arg1614 = G(self1591,\"loc\",L[968]);\n$step1639 = 2;\n$al1641 = L[985];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1614);\nbreak;\ncase 2: var anf_arg1635 = $ans1640;\n$ans1640 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[969],L[970]);\nvar anf_fun1630 = $ans1640;\n$ans1640 = R.makeArrayN((6));\nvar anf_array1631 = $ans1640;\n$step1639 = 3;\n$al1641 = L[984];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\"failed because \"));\nbreak;\ncase 3: anf_array1631[0] = $ans1640;\n$al1641 = L[971];\nvar anf_arg1615 = G(self1591,\"desiredLength\",L[971]);\n$step1639 = 4;\n$al1641 = L[983];\nif(typeof(ED6.dict.values.dict[\"ed-names\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"ed-names\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"ed-names\"].app(anf_arg1615);\nbreak;\ncase 4: var anf_arg1627 = $ans1640;\n$al1641 = L[972];\nvar anf_method_obj1625 = G(ast1616,\"fields\",L[972]);\nvar $temp_lam1645 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__973($recv_1619) {\nvar $step1644 = 0;\nvar $elidedFrames1649 = 0;\nvar $ans1646 = D;\nvar $al1647 = L[973];\nif(R.isAR($recv_1619)) {\n$step1644 = $recv_1619.step;\n$al1647 = $recv_1619.from;\n$ans1646 = $recv_1619.ans;\n$elidedFrames1649 = $recv_1619.elidedFrames;\nrecv_1619 = $recv_1619.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[973],1,$t,false);\n}\nvar recv_1619 = $recv_1619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1646 = R.mC();\n}\nwhile(!R.isContinuation($ans1646)) {\nswitch($step1644) {\ncase 0: $step1644 = 1;\n$al1647 = L[973];\n$ans1646 = G(recv_1619,\"l\",L[973]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1646;\ndefault: R.ffi.throwSpinnakerError(L[973],$step1644);\n}\n}\nif($step1644 !== 1) {\n$ans1646.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1647,$temp_lam1645,$step1644,[recv_1619],[],$elidedFrames1649);\n}\nreturn $ans1646;\n};\nvar anf_arg1626 = R.mF($temp_lam1645,\"\");\n$step1639 = 5;\n$ans1640 = R.maybeMethodCall1(anf_method_obj1625,\"map\",L[974],anf_arg1626);\nbreak;\ncase 5: var anf_arg1628 = $ans1640;\n$step1639 = 6;\n$al1641 = L[982];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1627,anf_arg1628,(0));\nbreak;\ncase 6: anf_array1631[1] = $ans1640;\n$step1639 = 7;\n$al1641 = L[981];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given \"));\nbreak;\ncase 7: anf_array1631[2] = $ans1640;\n$step1639 = 8;\n$al1641 = L[980];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\" a tuple containing \"));\nbreak;\ncase 8: anf_array1631[3] = $ans1640;\n$al1641 = L[975];\nvar anf_arg1629 = G(self1591,\"length\",L[975]);\n$step1639 = 9;\n$al1641 = L[979];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1629);\nbreak;\ncase 9: anf_array1631[4] = $ans1640;\n$step1639 = 10;\n$al1641 = L[978];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"text\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 10: anf_array1631[5] = $ans1640;\n$step1639 = 11;\n$al1641 = L[970];\nif(typeof(anf_fun1630.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,anf_fun1630);\n}\n$ans1640 = anf_fun1630.app(anf_array1631);\nbreak;\ncase 11: var anf_arg1636 = $ans1640;\n$al1641 = L[976];\nvar anf_arg1632 = G(self1591,\"tup\",L[976]);\n$step1639 = 12;\n$al1641 = L[977];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1640 = ED6.dict.values.dict[\"embed\"].app(anf_arg1632);\nbreak;\ncase 12: var anf_arg1637 = $ans1640;\n$step1639 = 13;\n$al1641 = L[966];\nif(typeof(anf_fun1633.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1641,anf_fun1633);\n}\n$ans1640 = anf_fun1633.app(anf_arg1634,anf_arg1635,anf_arg1636,anf_arg1637);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1640;\ndefault: R.ffi.throwSpinnakerError(L[966],$step1639);\n}\n}\nif($step1639 !== 13) {\n$ans1640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1641,$temp_branch1638,$step1639,[ast1616],[anf_fun1633,anf_array1631,anf_arg1634,anf_arg1635,anf_arg1636,anf_arg1627,anf_fun1630],$elidedFrames1643);\n}\nreturn $ans1640;\n};\n$ans1595 = cases1612.$app_fields($temp_branch1638,[false]);\nbreak;\ncase 19: if(cases1612.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1006],false,L[988],cases1612.$loc);\n}\n$step1589 = 31;\n$al1596 = L[1006];\nvar $temp_branch1668 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__988($$resumer13) {\nvar $step1669 = 0;\nvar $elidedFrames1673 = 0;\nvar $ans1670 = D;\nvar $al1671 = L[990];\nif(R.isAR($$resumer13)) {\n$step1669 = $$resumer13.step;\n$al1671 = $$resumer13.from;\n$ans1670 = $$resumer13.ans;\n$elidedFrames1673 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1656 = $$resumer13.vars[0];\nanf_arg1660 = $$resumer13.vars[1];\nanf_arg1664 = $$resumer13.vars[2];\nanf_arg1665 = $$resumer13.vars[3];\nanf_arg1666 = $$resumer13.vars[4];\nanf_arg1657 = $$resumer13.vars[5];\nanf_arg1658 = $$resumer13.vars[6];\nanf_arg1659 = $$resumer13.vars[7];\nanf_fun1663 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1670 = R.mC();\n}\nwhile(!R.isContinuation($ans1670)) {\nswitch($step1669) {\ncase 0: $ans1670 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[989],L[990]);\nvar anf_fun1663 = $ans1670;\n$al1671 = L[991];\nvar anf_arg1652 = G(self1591,\"loc\",L[991]);\n$step1669 = 1;\n$al1671 = L[1005];\n// omitting isFunction check;\n$ans1670 = ed$intro146.$var.app((\"tuple binding\"),anf_arg1652,(0),(true));\nbreak;\ncase 1: var anf_arg1664 = $ans1670;\n$al1671 = L[992];\nvar anf_arg1653 = G(self1591,\"loc\",L[992]);\n$step1669 = 2;\n$al1671 = L[1004];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1653);\nbreak;\ncase 2: var anf_arg1665 = $ans1670;\n$ans1670 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[993],L[994]);\nvar anf_fun1656 = $ans1670;\n$step1669 = 3;\n$al1671 = L[1003];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\"failed because \"));\nbreak;\ncase 3: var anf_arg1657 = $ans1670;\n$al1671 = L[995];\nvar anf_arg1654 = G(self1591,\"desiredLength\",L[995]);\n$step1669 = 4;\n$al1671 = L[1002];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1654);\nbreak;\ncase 4: var anf_arg1658 = $ans1670;\n$step1669 = 5;\n$al1671 = L[1001];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 5: var anf_arg1659 = $ans1670;\n$al1671 = L[996];\nvar anf_arg1655 = G(self1591,\"length\",L[996]);\n$step1669 = 6;\n$al1671 = L[1000];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1655);\nbreak;\ncase 6: var anf_arg1660 = $ans1670;\n$step1669 = 7;\n$al1671 = L[999];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"text\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: var anf_arg1661 = $ans1670;\n$step1669 = 8;\n$al1671 = L[994];\nif(typeof(anf_fun1656.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,anf_fun1656);\n}\n$ans1670 = anf_fun1656.app(anf_arg1657,anf_arg1658,anf_arg1659,anf_arg1660,anf_arg1661);\nbreak;\ncase 8: var anf_arg1666 = $ans1670;\n$al1671 = L[997];\nvar anf_arg1662 = G(self1591,\"tup\",L[997]);\n$step1669 = 9;\n$al1671 = L[998];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1670 = ED6.dict.values.dict[\"embed\"].app(anf_arg1662);\nbreak;\ncase 9: var anf_arg1667 = $ans1670;\n$step1669 = 10;\n$al1671 = L[990];\nif(typeof(anf_fun1663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1671,anf_fun1663);\n}\n$ans1670 = anf_fun1663.app(anf_arg1664,anf_arg1665,anf_arg1666,anf_arg1667);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1670;\ndefault: R.ffi.throwSpinnakerError(L[990],$step1669);\n}\n}\nif($step1669 !== 10) {\n$ans1670.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1671,$temp_branch1668,$step1669,[],[anf_fun1656,anf_arg1660,anf_arg1664,anf_arg1665,anf_arg1666,anf_arg1657,anf_arg1658,anf_arg1659,anf_fun1663],$elidedFrames1673);\n}\nreturn $ans1670;\n};\n$ans1595 = cases1612.$app_fields($temp_branch1668,[]);\nbreak;\ncase 20: $ans1595 = R.throwNoCasesMatched(L[988],cases1612);\n$step1589 = 31;\nbreak;\ncase 21: $ans1595 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1009],L[1010]);\nvar anf_fun1683 = $ans1595;\n$ans1595 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1011],L[1012]);\nvar anf_fun1680 = $ans1595;\n$ans1595 = R.makeArrayN((7));\nvar anf_array1681 = $ans1595;\n$step1589 = 22;\n$al1596 = L[1024];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 22: anf_array1681[0] = $ans1595;\n$al1596 = L[1013];\nvar anf_arg1677 = G(self1591,\"loc\",L[1013]);\n$step1589 = 23;\n$al1596 = L[1023];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"loc\"].app(anf_arg1677);\nbreak;\ncase 23: anf_array1681[1] = $ans1595;\n$step1589 = 24;\n$al1596 = L[1022];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 24: anf_array1681[2] = $ans1595;\n$al1596 = L[1014];\nvar anf_arg1678 = G(self1591,\"desiredLength\",L[1014]);\n$step1589 = 25;\n$al1596 = L[1021];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1678);\nbreak;\ncase 25: anf_array1681[3] = $ans1595;\n$step1589 = 26;\n$al1596 = L[1020];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 26: anf_array1681[4] = $ans1595;\n$al1596 = L[1015];\nvar anf_arg1679 = G(self1591,\"length\",L[1015]);\n$step1589 = 27;\n$al1596 = L[1019];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1679);\nbreak;\ncase 27: anf_array1681[5] = $ans1595;\n$step1589 = 28;\n$al1596 = L[1018];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"text\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 28: anf_array1681[6] = $ans1595;\n$step1589 = 29;\n$al1596 = L[1012];\nif(typeof(anf_fun1680.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1680);\n}\n$ans1595 = anf_fun1680.app(anf_array1681);\nbreak;\ncase 29: var anf_arg1684 = $ans1595;\n$al1596 = L[1016];\nvar anf_arg1682 = G(self1591,\"tup\",L[1016]);\n$step1589 = 30;\n$al1596 = L[1017];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1595 = ED6.dict.values.dict[\"embed\"].app(anf_arg1682);\nbreak;\ncase 30: var anf_arg1685 = $ans1595;\n$step1589 = 31;\n$al1596 = L[1010];\nif(typeof(anf_fun1683.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1596,anf_fun1683);\n}\n$ans1595 = anf_fun1683.app(anf_arg1684,anf_arg1685);\nbreak;\ncase 31: ++R.GAS;\nreturn $ans1595;\ndefault: R.ffi.throwSpinnakerError(L[943],$step1589);\n}\n}\nif($step1589 !== 31) {\n$ans1595.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1596,$temp_full1590,$step1589,[self1591,maybe$stack$loc1592,src$available1593,maybe$ast1594],[anf_array1681,anf_fun1603,anf_arg1684,anf_fun1606,anf_array1604,anf_arg1607,anf_arg1608,cases1612,anf_fun1680,anf_fun1683],$elidedFrames1598);\n}\nreturn $ans1595;\n};\nvar anf_variant_member5833 = R.makeMethod3($temp_full1590,\"render-fancy-reason\");\nvar $temp_full1690 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1026($self1691) {\nvar $step1689 = 0;\nvar $elidedFrames1695 = 0;\nvar $ans1692 = D;\nvar $al1693 = L[1026];\nif(R.isAR($self1691)) {\n$step1689 = $self1691.step;\n$al1693 = $self1691.from;\n$ans1692 = $self1691.ans;\n$elidedFrames1695 = $self1691.elidedFrames;\nself1691 = $self1691.args[0];\nanf_fun1710 = $self1691.vars[0];\nanf_fun1700 = $self1691.vars[1];\nanf_fun1713 = $self1691.vars[2];\nanf_fun1703 = $self1691.vars[3];\nanf_array1711 = $self1691.vars[4];\nanf_array1701 = $self1691.vars[5];\nanf_arg1714 = $self1691.vars[6];\nanf_arg1704 = $self1691.vars[7];\nanf_arg1705 = $self1691.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1026],1,$t,true);\n}\nvar self1691 = $self1691;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1692 = R.mC();\n}\nwhile(!R.isContinuation($ans1692)) {\nswitch($step1689) {\ncase 0: $al1693 = L[1027];\nvar anf_method_obj1696 = G(self1691,\"loc\",L[1027]);\n$step1689 = 1;\n$ans1692 = R.maybeMethodCall0(anf_method_obj1696,\"is-builtin\",L[1028]);\nbreak;\ncase 1: var anf_if1716 = $ans1692;\n$step1689 = R.checkPyretTrue(anf_if1716)?2:13;\nbreak;\ncase 2: $ans1692 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1029],L[1030]);\nvar anf_fun1703 = $ans1692;\n$ans1692 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1031],L[1032]);\nvar anf_fun1700 = $ans1692;\n$ans1692 = R.makeArrayN((7));\nvar anf_array1701 = $ans1692;\n$step1689 = 3;\n$al1693 = L[1045];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 3: anf_array1701[0] = $ans1692;\n$al1693 = L[1033];\nvar anf_arg1697 = G(self1691,\"loc\",L[1033]);\n$step1689 = 4;\n$al1693 = L[1044];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"loc\"].app(anf_arg1697);\nbreak;\ncase 4: anf_array1701[1] = $ans1692;\n$step1689 = 5;\n$al1693 = L[1043];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 5: anf_array1701[2] = $ans1692;\n$al1693 = L[1034];\nvar anf_arg1698 = G(self1691,\"desiredLength\",L[1034]);\n$step1689 = 6;\n$al1693 = L[1042];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1698);\nbreak;\ncase 6: anf_array1701[3] = $ans1692;\n$step1689 = 7;\n$al1693 = L[1041];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the binding was given a tuple containing \"));\nbreak;\ncase 7: anf_array1701[4] = $ans1692;\n$al1693 = L[1035];\nvar anf_arg1699 = G(self1691,\"length\",L[1035]);\n$step1689 = 8;\n$al1693 = L[1040];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1699);\nbreak;\ncase 8: anf_array1701[5] = $ans1692;\n$step1689 = 9;\n$al1693 = L[1039];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 9: anf_array1701[6] = $ans1692;\n$step1689 = 10;\n$al1693 = L[1032];\nif(typeof(anf_fun1700.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1700);\n}\n$ans1692 = anf_fun1700.app(anf_array1701);\nbreak;\ncase 10: var anf_arg1704 = $ans1692;\n$al1693 = L[1036];\nvar anf_arg1702 = G(self1691,\"tup\",L[1036]);\n$step1689 = 11;\n$al1693 = L[1038];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"embed\"].app(anf_arg1702);\nbreak;\ncase 11: var anf_arg1705 = $ans1692;\n$step1689 = 12;\n$al1693 = L[1037];\n// omitting isFunction check;\n$ans1692 = please$report$bug158.$var.app();\nbreak;\ncase 12: var anf_arg1706 = $ans1692;\n$step1689 = 23;\n$al1693 = L[1030];\nif(typeof(anf_fun1703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1703);\n}\n$ans1692 = anf_fun1703.app(anf_arg1704,anf_arg1705,anf_arg1706);\nbreak;\ncase 13: $ans1692 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1046],L[1047]);\nvar anf_fun1713 = $ans1692;\n$ans1692 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1048],L[1049]);\nvar anf_fun1710 = $ans1692;\n$ans1692 = R.makeArrayN((7));\nvar anf_array1711 = $ans1692;\n$step1689 = 14;\n$al1693 = L[1061];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\"The tuple binding in\"));\nbreak;\ncase 14: anf_array1711[0] = $ans1692;\n$al1693 = L[1050];\nvar anf_arg1707 = G(self1691,\"loc\",L[1050]);\n$step1689 = 15;\n$al1693 = L[1060];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"loc\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"loc\"].app(anf_arg1707);\nbreak;\ncase 15: anf_array1711[1] = $ans1692;\n$step1689 = 16;\n$al1693 = L[1059];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" failed because \"));\nbreak;\ncase 16: anf_array1711[2] = $ans1692;\n$al1693 = L[1051];\nvar anf_arg1708 = G(self1691,\"desiredLength\",L[1051]);\n$step1689 = 17;\n$al1693 = L[1058];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1708);\nbreak;\ncase 17: anf_array1711[3] = $ans1692;\n$step1689 = 18;\n$al1693 = L[1057];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\" are expected to be bound to values, but the right hand side evaluated to a tuple containing \"));\nbreak;\ncase 18: anf_array1711[4] = $ans1692;\n$al1693 = L[1052];\nvar anf_arg1709 = G(self1691,\"length\",L[1052]);\n$step1689 = 19;\n$al1693 = L[1056];\nif(typeof(ED6.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"ed-components\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"ed-components\"].app(anf_arg1709);\nbreak;\ncase 19: anf_array1711[5] = $ans1692;\n$step1689 = 20;\n$al1693 = L[1055];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"text\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 20: anf_array1711[6] = $ans1692;\n$step1689 = 21;\n$al1693 = L[1049];\nif(typeof(anf_fun1710.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1710);\n}\n$ans1692 = anf_fun1710.app(anf_array1711);\nbreak;\ncase 21: var anf_arg1714 = $ans1692;\n$al1693 = L[1053];\nvar anf_arg1712 = G(self1691,\"tup\",L[1053]);\n$step1689 = 22;\n$al1693 = L[1054];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1692 = ED6.dict.values.dict[\"embed\"].app(anf_arg1712);\nbreak;\ncase 22: var anf_arg1715 = $ans1692;\n$step1689 = 23;\n$al1693 = L[1047];\nif(typeof(anf_fun1713.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1693,anf_fun1713);\n}\n$ans1692 = anf_fun1713.app(anf_arg1714,anf_arg1715);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans1692;\ndefault: R.ffi.throwSpinnakerError(L[1026],$step1689);\n}\n}\nif($step1689 !== 23) {\n$ans1692.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1693,$temp_full1690,$step1689,[self1691],[anf_fun1710,anf_fun1700,anf_fun1713,anf_fun1703,anf_array1711,anf_array1701,anf_arg1714,anf_arg1704,anf_arg1705],$elidedFrames1695);\n}\nreturn $ans1692;\n};\nvar anf_variant_member5834 = R.makeMethod0($temp_full1690,\"render-reason\");\nvar $temp_full1719 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1062($self1720,$maybe$stack$loc1721,$src$available1722,$maybe$ast1723) {\nvar $step1718 = 0;\nvar $elidedFrames1727 = 0;\nvar $ans1724 = D;\nvar $al1725 = L[1062];\nif(R.isAR($self1720)) {\n$step1718 = $self1720.step;\n$al1725 = $self1720.from;\n$ans1724 = $self1720.ans;\n$elidedFrames1727 = $self1720.elidedFrames;\nself1720 = $self1720.args[0];\nmaybe$stack$loc1721 = $self1720.args[1];\nsrc$available1722 = $self1720.args[2];\nmaybe$ast1723 = $self1720.args[3];\nanf_fun1733 = $self1720.vars[0];\nanf_fun1803 = $self1720.vars[1];\nanf_fun1806 = $self1720.vars[2];\nanf_arg1734 = $self1720.vars[3];\nanf_arg1735 = $self1720.vars[4];\nanf_arg1807 = $self1720.vars[5];\nanf_arg1808 = $self1720.vars[6];\ncases1739 = $self1720.vars[7];\nanf_fun1730 = $self1720.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1062],4,$t,true);\n}\nvar self1720 = $self1720;\nvar maybe$stack$loc1721 = $maybe$stack$loc1721;\nvar src$available1722 = $src$available1722;\nvar maybe$ast1723 = $maybe$ast1723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1724 = R.mC();\n}\nwhile(!R.isContinuation($ans1724)) {\nswitch($step1718) {\ncase 0: $al1725 = L[1063];\nvar anf_method_obj1728 = G(self1720,\"loc\",L[1063]);\n$step1718 = 1;\n$ans1724 = R.maybeMethodCall0(anf_method_obj1728,\"is-builtin\",L[1064]);\nbreak;\ncase 1: var anf_if1811 = $ans1724;\n$step1718 = R.checkPyretTrue(anf_if1811)?2:7;\nbreak;\ncase 2: $ans1724 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1065],L[1066]);\nvar anf_fun1733 = $ans1724;\n$al1725 = L[1067];\nvar anf_arg1729 = G(self1720,\"loc\",L[1067]);\n$step1718 = 3;\n$al1725 = L[1073];\n// omitting isFunction check;\n$ans1724 = ed$simple$intro104.$var.app((\"field lookup\"),anf_arg1729);\nbreak;\ncase 3: var anf_arg1734 = $ans1724;\n$ans1724 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1068],L[1069]);\nvar anf_fun1730 = $ans1724;\n$step1718 = 4;\n$al1725 = L[1072];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"text\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg1731 = $ans1724;\n$step1718 = 5;\n$al1725 = L[1069];\nif(typeof(anf_fun1730.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1730);\n}\n$ans1724 = anf_fun1730.app(anf_arg1731);\nbreak;\ncase 5: var anf_arg1735 = $ans1724;\n$al1725 = L[1070];\nvar anf_arg1732 = G(self1720,\"non-obj\",L[1070]);\n$step1718 = 6;\n$al1725 = L[1071];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"embed\"].app(anf_arg1732);\nbreak;\ncase 6: var anf_arg1736 = $ans1724;\n$step1718 = 20;\n$al1725 = L[1066];\nif(typeof(anf_fun1733.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1733);\n}\n$ans1724 = anf_fun1733.app(anf_arg1734,anf_arg1735,anf_arg1736);\nbreak;\ncase 7: $al1725 = L[1074];\nvar anf_arg1737 = G(self1720,\"loc\",L[1074]);\n$step1718 = 8;\n$al1725 = L[1122];\nif(typeof(src$available1722.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,src$available1722);\n}\n$ans1724 = src$available1722.app(anf_arg1737);\nbreak;\ncase 8: var anf_if1810 = $ans1724;\n$step1718 = R.checkPyretTrue(anf_if1810)?9:15;\nbreak;\ncase 9: $al1725 = L[1075];\nvar anf_arg1738 = G(self1720,\"loc\",L[1075]);\n$step1718 = 10;\n$al1725 = L[1112];\nif(typeof(maybe$ast1723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,maybe$ast1723);\n}\n$ans1724 = maybe$ast1723.app(anf_arg1738);\nbreak;\ncase 10: var cases1739 = $ans1724;\n$step1718 = 11;\n$al1725 = L[1111];\nvar $ann$check1801 = R._cA(L[1111],R.gDA(L[1111],\"O\",O8.dict.types,\"Option\"),cases1739);\nif(R.isContinuation($ann$check1801)) {\n$ans1724 = $ann$check1801;\n}\nbreak;\ncase 11: $al1725 = L[1098];\n$step1718 = $cases_dispatch1800[cases1739.$name] || 14;\nbreak;\ncase 12: if(cases1739.$arity !== 1) {\nif(cases1739.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1097],1,cases1739.$arity,L[1098],cases1739.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1097],true,L[1098],cases1739.$loc);\n}\n}\n$step1718 = 20;\n$al1725 = L[1097];\nvar $temp_branch1771 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1098($ast1740) {\nvar $step1772 = 0;\nvar $elidedFrames1776 = 0;\nvar $ans1773 = D;\nvar $al1774 = L[1095];\nif(R.isAR($ast1740)) {\n$step1772 = $ast1740.step;\n$al1774 = $ast1740.from;\n$ans1773 = $ast1740.ans;\n$elidedFrames1776 = $ast1740.elidedFrames;\nast1740 = $ast1740.args[0];\nanf_fun1755 = $ast1740.vars[0];\nanf_arg1751 = $ast1740.vars[1];\nanf_arg1752 = $ast1740.vars[2];\nanf_arg1756 = $ast1740.vars[3];\nanf_arg1757 = $ast1740.vars[4];\nanf_arg1758 = $ast1740.vars[5];\nanf_arg1748 = $ast1740.vars[6];\ncases1741 = $ast1740.vars[7];\nast1744 = $ast1740.vars[8];\nanf_fun1750 = $ast1740.vars[9];\n} else {\nvar ast1740 = $ast1740;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1773 = R.mC();\n}\nwhile(!R.isContinuation($ans1773)) {\nswitch($step1772) {\ncase 0: var cases1741 = ast1740;\n$al1774 = L[1095];\n$step1772 = $cases_dispatch1781[cases1741.$name] || 3;\nbreak;\ncase 1: if(cases1741.$arity !== 3) {\nif(cases1741.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1094],3,cases1741.$arity,L[1095],cases1741.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1094],true,L[1095],cases1741.$loc);\n}\n}\nvar $fn1778 = cases1741.$constructor.$fieldNames;\nR.dF(cases1741.dict[$fn1778[0]],cases1741.$mut_fields_mask[0],false);\nR.dF(cases1741.dict[$fn1778[1]],cases1741.$mut_fields_mask[1],false);\nR.dF(cases1741.dict[$fn1778[2]],cases1741.$mut_fields_mask[2],false);\n$step1772 = 4;\n$ans1773 = ast1740;\nbreak;\ncase 2: if(cases1741.$arity !== 3) {\nif(cases1741.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1096],3,cases1741.$arity,L[1095],cases1741.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1096],true,L[1095],cases1741.$loc);\n}\n}\nvar $fn1780 = cases1741.$constructor.$fieldNames;\nR.dF(cases1741.dict[$fn1780[0]],cases1741.$mut_fields_mask[0],false);\nvar f1765 = R.dF(cases1741.dict[$fn1780[1]],cases1741.$mut_fields_mask[1],false);\nR.dF(cases1741.dict[$fn1780[2]],cases1741.$mut_fields_mask[2],false);\n$step1772 = 4;\n$ans1773 = f1765;\nbreak;\ncase 3: $ans1773 = R.throwNoCasesMatched(L[1095],cases1741);\n$step1772 = 4;\nbreak;\ncase 4: var ast1744 = $ans1773;\n$ans1773 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1076],L[1077]);\nvar anf_fun1755 = $ans1773;\n$al1774 = L[1078];\nvar anf_arg1742 = G(self1720,\"loc\",L[1078]);\n$step1772 = 5;\n$al1774 = L[1093];\n// omitting isFunction check;\n$ans1773 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1742,(-1),(true));\nbreak;\ncase 5: var anf_arg1756 = $ans1773;\n$al1774 = L[1079];\nvar anf_arg1743 = G(self1720,\"loc\",L[1079]);\n$step1772 = 6;\n$al1774 = L[1092];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1743);\nbreak;\ncase 6: var anf_arg1757 = $ans1773;\n$ans1773 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1080],L[1081]);\nvar anf_fun1750 = $ans1773;\n$step1772 = 7;\n$al1774 = L[1091];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1751 = $ans1773;\n$step1772 = 8;\n$al1774 = L[1090];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1748 = $ans1773;\n$ans1773 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1082],L[1083]);\nvar anf_fun1746 = $ans1773;\n$al1774 = L[1084];\nvar anf_bracket1745 = G(ast1744,\"obj\",L[1084]);\n$al1774 = L[1085];\nvar anf_arg1747 = G(anf_bracket1745,\"l\",L[1085]);\n$step1772 = 9;\n$al1774 = L[1083];\nif(typeof(anf_fun1746.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1746);\n}\n$ans1773 = anf_fun1746.app(anf_arg1747);\nbreak;\ncase 9: var anf_arg1749 = $ans1773;\n$step1772 = 10;\n$al1774 = L[1089];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1748,anf_arg1749,(0));\nbreak;\ncase 10: var anf_arg1752 = $ans1773;\n$step1772 = 11;\n$al1774 = L[1088];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"text\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"text\"].app((\" was not an object:\"));\nbreak;\ncase 11: var anf_arg1753 = $ans1773;\n$step1772 = 12;\n$al1774 = L[1081];\nif(typeof(anf_fun1750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1750);\n}\n$ans1773 = anf_fun1750.app(anf_arg1751,anf_arg1752,anf_arg1753);\nbreak;\ncase 12: var anf_arg1758 = $ans1773;\n$al1774 = L[1086];\nvar anf_arg1754 = G(self1720,\"non-obj\",L[1086]);\n$step1772 = 13;\n$al1774 = L[1087];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1773 = ED6.dict.values.dict[\"embed\"].app(anf_arg1754);\nbreak;\ncase 13: var anf_arg1759 = $ans1773;\n$step1772 = 14;\n$al1774 = L[1077];\nif(typeof(anf_fun1755.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1774,anf_fun1755);\n}\n$ans1773 = anf_fun1755.app(anf_arg1756,anf_arg1757,anf_arg1758,anf_arg1759);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1773;\ndefault: R.ffi.throwSpinnakerError(L[1095],$step1772);\n}\n}\nif($step1772 !== 14) {\n$ans1773.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1774,$temp_branch1771,$step1772,[ast1740],[anf_fun1755,anf_arg1751,anf_arg1752,anf_arg1756,anf_arg1757,anf_arg1758,anf_arg1748,cases1741,ast1744,anf_fun1750],$elidedFrames1776);\n}\nreturn $ans1773;\n};\n$ans1724 = cases1739.$app_fields($temp_branch1771,[false]);\nbreak;\ncase 13: if(cases1739.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1110],false,L[1098],cases1739.$loc);\n}\n$step1718 = 20;\n$al1725 = L[1110];\nvar $temp_branch1793 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1098($$resumer13) {\nvar $step1794 = 0;\nvar $elidedFrames1798 = 0;\nvar $ans1795 = D;\nvar $al1796 = L[1100];\nif(R.isAR($$resumer13)) {\n$step1794 = $$resumer13.step;\n$al1796 = $$resumer13.from;\n$ans1795 = $$resumer13.ans;\n$elidedFrames1798 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1788 = $$resumer13.vars[0];\nanf_arg1790 = $$resumer13.vars[1];\nanf_arg1791 = $$resumer13.vars[2];\nanf_arg1789 = $$resumer13.vars[3];\nanf_fun1785 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1795 = R.mC();\n}\nwhile(!R.isContinuation($ans1795)) {\nswitch($step1794) {\ncase 0: $ans1795 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1099],L[1100]);\nvar anf_fun1788 = $ans1795;\n$al1796 = L[1101];\nvar anf_arg1783 = G(self1720,\"loc\",L[1101]);\n$step1794 = 1;\n$al1796 = L[1109];\n// omitting isFunction check;\n$ans1795 = ed$intro146.$var.app((\"field lookup expression\"),anf_arg1783,(-1),(true));\nbreak;\ncase 1: var anf_arg1789 = $ans1795;\n$al1796 = L[1102];\nvar anf_arg1784 = G(self1720,\"loc\",L[1102]);\n$step1794 = 2;\n$al1796 = L[1108];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1784);\nbreak;\ncase 2: var anf_arg1790 = $ans1795;\n$ans1795 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1103],L[1104]);\nvar anf_fun1785 = $ans1795;\n$step1794 = 3;\n$al1796 = L[1107];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"text\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 3: var anf_arg1786 = $ans1795;\n$step1794 = 4;\n$al1796 = L[1104];\nif(typeof(anf_fun1785.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,anf_fun1785);\n}\n$ans1795 = anf_fun1785.app(anf_arg1786);\nbreak;\ncase 4: var anf_arg1791 = $ans1795;\n$al1796 = L[1105];\nvar anf_arg1787 = G(self1720,\"non-obj\",L[1105]);\n$step1794 = 5;\n$al1796 = L[1106];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1795 = ED6.dict.values.dict[\"embed\"].app(anf_arg1787);\nbreak;\ncase 5: var anf_arg1792 = $ans1795;\n$step1794 = 6;\n$al1796 = L[1100];\nif(typeof(anf_fun1788.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1796,anf_fun1788);\n}\n$ans1795 = anf_fun1788.app(anf_arg1789,anf_arg1790,anf_arg1791,anf_arg1792);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1795;\ndefault: R.ffi.throwSpinnakerError(L[1100],$step1794);\n}\n}\nif($step1794 !== 6) {\n$ans1795.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1796,$temp_branch1793,$step1794,[],[anf_fun1788,anf_arg1790,anf_arg1791,anf_arg1789,anf_fun1785],$elidedFrames1798);\n}\nreturn $ans1795;\n};\n$ans1724 = cases1739.$app_fields($temp_branch1793,[]);\nbreak;\ncase 14: $ans1724 = R.throwNoCasesMatched(L[1098],cases1739);\n$step1718 = 20;\nbreak;\ncase 15: $ans1724 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1113],L[1114]);\nvar anf_fun1806 = $ans1724;\n$al1725 = L[1115];\nvar anf_arg1802 = G(self1720,\"loc\",L[1115]);\n$step1718 = 16;\n$al1725 = L[1121];\n// omitting isFunction check;\n$ans1724 = ed$simple$intro104.$var.app((\"field lookup\"),anf_arg1802);\nbreak;\ncase 16: var anf_arg1807 = $ans1724;\n$ans1724 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1116],L[1117]);\nvar anf_fun1803 = $ans1724;\n$step1718 = 17;\n$al1725 = L[1120];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"text\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 17: var anf_arg1804 = $ans1724;\n$step1718 = 18;\n$al1725 = L[1117];\nif(typeof(anf_fun1803.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1803);\n}\n$ans1724 = anf_fun1803.app(anf_arg1804);\nbreak;\ncase 18: var anf_arg1808 = $ans1724;\n$al1725 = L[1118];\nvar anf_arg1805 = G(self1720,\"non-obj\",L[1118]);\n$step1718 = 19;\n$al1725 = L[1119];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1724 = ED6.dict.values.dict[\"embed\"].app(anf_arg1805);\nbreak;\ncase 19: var anf_arg1809 = $ans1724;\n$step1718 = 20;\n$al1725 = L[1114];\nif(typeof(anf_fun1806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1725,anf_fun1806);\n}\n$ans1724 = anf_fun1806.app(anf_arg1807,anf_arg1808,anf_arg1809);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1724;\ndefault: R.ffi.throwSpinnakerError(L[1062],$step1718);\n}\n}\nif($step1718 !== 20) {\n$ans1724.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1725,$temp_full1719,$step1718,[self1720,maybe$stack$loc1721,src$available1722,maybe$ast1723],[anf_fun1733,anf_fun1803,anf_fun1806,anf_arg1734,anf_arg1735,anf_arg1807,anf_arg1808,cases1739,anf_fun1730],$elidedFrames1727);\n}\nreturn $ans1724;\n};\nvar anf_variant_member5845 = R.makeMethod3($temp_full1719,\"render-fancy-reason\");\nvar $temp_full1814 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1123($self1815) {\nvar $step1813 = 0;\nvar $elidedFrames1819 = 0;\nvar $ans1816 = D;\nvar $al1817 = L[1123];\nif(R.isAR($self1815)) {\n$step1813 = $self1815.step;\n$al1817 = $self1815.from;\n$ans1816 = $self1815.ans;\n$elidedFrames1819 = $self1815.elidedFrames;\nself1815 = $self1815.args[0];\nanf_fun1824 = $self1815.vars[0];\nanf_arg1825 = $self1815.vars[1];\nanf_fun1821 = $self1815.vars[2];\nanf_arg1826 = $self1815.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1123],1,$t,true);\n}\nvar self1815 = $self1815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1816 = R.mC();\n}\nwhile(!R.isContinuation($ans1816)) {\nswitch($step1813) {\ncase 0: $ans1816 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1124],L[1125]);\nvar anf_fun1824 = $ans1816;\n$al1817 = L[1126];\nvar anf_arg1820 = G(self1815,\"loc\",L[1126]);\n$step1813 = 1;\n$al1817 = L[1132];\n// omitting isFunction check;\n$ans1816 = ed$simple$intro104.$var.app((\"object lookup\"),anf_arg1820);\nbreak;\ncase 1: var anf_arg1825 = $ans1816;\n$ans1816 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1127],L[1128]);\nvar anf_fun1821 = $ans1816;\n$step1813 = 2;\n$al1817 = L[1131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,ED6.dict.values.dict[\"text\"]);\n}\n$ans1816 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 2: var anf_arg1822 = $ans1816;\n$step1813 = 3;\n$al1817 = L[1128];\nif(typeof(anf_fun1821.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,anf_fun1821);\n}\n$ans1816 = anf_fun1821.app(anf_arg1822);\nbreak;\ncase 3: var anf_arg1826 = $ans1816;\n$al1817 = L[1129];\nvar anf_arg1823 = G(self1815,\"non-obj\",L[1129]);\n$step1813 = 4;\n$al1817 = L[1130];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1816 = ED6.dict.values.dict[\"embed\"].app(anf_arg1823);\nbreak;\ncase 4: var anf_arg1827 = $ans1816;\n$step1813 = 5;\n$al1817 = L[1125];\nif(typeof(anf_fun1824.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1817,anf_fun1824);\n}\n$ans1816 = anf_fun1824.app(anf_arg1825,anf_arg1826,anf_arg1827);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1816;\ndefault: R.ffi.throwSpinnakerError(L[1123],$step1813);\n}\n}\nif($step1813 !== 5) {\n$ans1816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1817,$temp_full1814,$step1813,[self1815],[anf_fun1824,anf_arg1825,anf_fun1821,anf_arg1826],$elidedFrames1819);\n}\nreturn $ans1816;\n};\nvar anf_variant_member5846 = R.makeMethod0($temp_full1814,\"render-reason\");\nvar $temp_full1830 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1133($self1831,$maybe$stack$loc1832,$src$available1833,$maybe$ast1834) {\nvar $step1829 = 0;\nvar $elidedFrames1838 = 0;\nvar $ans1835 = D;\nvar $al1836 = L[1133];\nif(R.isAR($self1831)) {\n$step1829 = $self1831.step;\n$al1836 = $self1831.from;\n$ans1835 = $self1831.ans;\n$elidedFrames1838 = $self1831.elidedFrames;\nself1831 = $self1831.args[0];\nmaybe$stack$loc1832 = $self1831.args[1];\nsrc$available1833 = $self1831.args[2];\nmaybe$ast1834 = $self1831.args[3];\nanf_fun1841 = $self1831.vars[0];\nanf_fun1844 = $self1831.vars[1];\nanf_fun1914 = $self1831.vars[2];\nanf_fun1917 = $self1831.vars[3];\nanf_arg1845 = $self1831.vars[4];\nanf_arg1846 = $self1831.vars[5];\nanf_arg1918 = $self1831.vars[6];\ncases1850 = $self1831.vars[7];\nanf_arg1919 = $self1831.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1133],4,$t,true);\n}\nvar self1831 = $self1831;\nvar maybe$stack$loc1832 = $maybe$stack$loc1832;\nvar src$available1833 = $src$available1833;\nvar maybe$ast1834 = $maybe$ast1834;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1835 = R.mC();\n}\nwhile(!R.isContinuation($ans1835)) {\nswitch($step1829) {\ncase 0: $al1836 = L[1134];\nvar anf_method_obj1839 = G(self1831,\"loc\",L[1134]);\n$step1829 = 1;\n$ans1835 = R.maybeMethodCall0(anf_method_obj1839,\"is-builtin\",L[1135]);\nbreak;\ncase 1: var anf_if1922 = $ans1835;\n$step1829 = R.checkPyretTrue(anf_if1922)?2:7;\nbreak;\ncase 2: $ans1835 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1136],L[1137]);\nvar anf_fun1844 = $ans1835;\n$al1836 = L[1138];\nvar anf_arg1840 = G(self1831,\"loc\",L[1138]);\n$step1829 = 3;\n$al1836 = L[1144];\n// omitting isFunction check;\n$ans1835 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1840);\nbreak;\ncase 3: var anf_arg1845 = $ans1835;\n$ans1835 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1139],L[1140]);\nvar anf_fun1841 = $ans1835;\n$step1829 = 4;\n$al1836 = L[1143];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"text\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"text\"].app((\"It was given a non-object value:\"));\nbreak;\ncase 4: var anf_arg1842 = $ans1835;\n$step1829 = 5;\n$al1836 = L[1140];\nif(typeof(anf_fun1841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1841);\n}\n$ans1835 = anf_fun1841.app(anf_arg1842);\nbreak;\ncase 5: var anf_arg1846 = $ans1835;\n$al1836 = L[1141];\nvar anf_arg1843 = G(self1831,\"non-obj\",L[1141]);\n$step1829 = 6;\n$al1836 = L[1142];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"embed\"].app(anf_arg1843);\nbreak;\ncase 6: var anf_arg1847 = $ans1835;\n$step1829 = 20;\n$al1836 = L[1137];\nif(typeof(anf_fun1844.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1844);\n}\n$ans1835 = anf_fun1844.app(anf_arg1845,anf_arg1846,anf_arg1847);\nbreak;\ncase 7: $al1836 = L[1145];\nvar anf_arg1848 = G(self1831,\"loc\",L[1145]);\n$step1829 = 8;\n$al1836 = L[1193];\nif(typeof(src$available1833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,src$available1833);\n}\n$ans1835 = src$available1833.app(anf_arg1848);\nbreak;\ncase 8: var anf_if1921 = $ans1835;\n$step1829 = R.checkPyretTrue(anf_if1921)?9:15;\nbreak;\ncase 9: $al1836 = L[1146];\nvar anf_arg1849 = G(self1831,\"loc\",L[1146]);\n$step1829 = 10;\n$al1836 = L[1183];\nif(typeof(maybe$ast1834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,maybe$ast1834);\n}\n$ans1835 = maybe$ast1834.app(anf_arg1849);\nbreak;\ncase 10: var cases1850 = $ans1835;\n$step1829 = 11;\n$al1836 = L[1182];\nvar $ann$check1912 = R._cA(L[1182],R.gDA(L[1182],\"O\",O8.dict.types,\"Option\"),cases1850);\nif(R.isContinuation($ann$check1912)) {\n$ans1835 = $ann$check1912;\n}\nbreak;\ncase 11: $al1836 = L[1169];\n$step1829 = $cases_dispatch1911[cases1850.$name] || 14;\nbreak;\ncase 12: if(cases1850.$arity !== 1) {\nif(cases1850.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1168],1,cases1850.$arity,L[1169],cases1850.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1168],true,L[1169],cases1850.$loc);\n}\n}\n$step1829 = 20;\n$al1836 = L[1168];\nvar $temp_branch1882 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1169($ast1851) {\nvar $step1883 = 0;\nvar $elidedFrames1887 = 0;\nvar $ans1884 = D;\nvar $al1885 = L[1166];\nif(R.isAR($ast1851)) {\n$step1883 = $ast1851.step;\n$al1885 = $ast1851.from;\n$ans1884 = $ast1851.ans;\n$elidedFrames1887 = $ast1851.elidedFrames;\nast1851 = $ast1851.args[0];\nanf_fun1866 = $ast1851.vars[0];\nanf_arg1862 = $ast1851.vars[1];\nanf_arg1863 = $ast1851.vars[2];\nanf_arg1867 = $ast1851.vars[3];\nanf_arg1868 = $ast1851.vars[4];\nanf_arg1869 = $ast1851.vars[5];\nanf_arg1859 = $ast1851.vars[6];\ncases1852 = $ast1851.vars[7];\nast1855 = $ast1851.vars[8];\nanf_fun1861 = $ast1851.vars[9];\n} else {\nvar ast1851 = $ast1851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1884 = R.mC();\n}\nwhile(!R.isContinuation($ans1884)) {\nswitch($step1883) {\ncase 0: var cases1852 = ast1851;\n$al1885 = L[1166];\n$step1883 = $cases_dispatch1892[cases1852.$name] || 3;\nbreak;\ncase 1: if(cases1852.$arity !== 3) {\nif(cases1852.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1165],3,cases1852.$arity,L[1166],cases1852.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1165],true,L[1166],cases1852.$loc);\n}\n}\nvar $fn1889 = cases1852.$constructor.$fieldNames;\nR.dF(cases1852.dict[$fn1889[0]],cases1852.$mut_fields_mask[0],false);\nR.dF(cases1852.dict[$fn1889[1]],cases1852.$mut_fields_mask[1],false);\nR.dF(cases1852.dict[$fn1889[2]],cases1852.$mut_fields_mask[2],false);\n$step1883 = 4;\n$ans1884 = ast1851;\nbreak;\ncase 2: if(cases1852.$arity !== 3) {\nif(cases1852.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1167],3,cases1852.$arity,L[1166],cases1852.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1167],true,L[1166],cases1852.$loc);\n}\n}\nvar $fn1891 = cases1852.$constructor.$fieldNames;\nR.dF(cases1852.dict[$fn1891[0]],cases1852.$mut_fields_mask[0],false);\nvar f1876 = R.dF(cases1852.dict[$fn1891[1]],cases1852.$mut_fields_mask[1],false);\nR.dF(cases1852.dict[$fn1891[2]],cases1852.$mut_fields_mask[2],false);\n$step1883 = 4;\n$ans1884 = f1876;\nbreak;\ncase 3: $ans1884 = R.throwNoCasesMatched(L[1166],cases1852);\n$step1883 = 4;\nbreak;\ncase 4: var ast1855 = $ans1884;\n$ans1884 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1147],L[1148]);\nvar anf_fun1866 = $ans1884;\n$al1885 = L[1149];\nvar anf_arg1853 = G(self1831,\"loc\",L[1149]);\n$step1883 = 5;\n$al1885 = L[1164];\n// omitting isFunction check;\n$ans1884 = ed$intro146.$var.app((\"object extension expression\"),anf_arg1853,(-1),(true));\nbreak;\ncase 5: var anf_arg1867 = $ans1884;\n$al1885 = L[1150];\nvar anf_arg1854 = G(self1831,\"loc\",L[1150]);\n$step1883 = 6;\n$al1885 = L[1163];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1854);\nbreak;\ncase 6: var anf_arg1868 = $ans1884;\n$ans1884 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1151],L[1152]);\nvar anf_fun1861 = $ans1884;\n$step1883 = 7;\n$al1885 = L[1162];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 7: var anf_arg1862 = $ans1884;\n$step1883 = 8;\n$al1885 = L[1161];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg1859 = $ans1884;\n$ans1884 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1153],L[1154]);\nvar anf_fun1857 = $ans1884;\n$al1885 = L[1155];\nvar anf_bracket1856 = G(ast1855,\"supe\",L[1155]);\n$al1885 = L[1156];\nvar anf_arg1858 = G(anf_bracket1856,\"l\",L[1156]);\n$step1883 = 9;\n$al1885 = L[1154];\nif(typeof(anf_fun1857.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1857);\n}\n$ans1884 = anf_fun1857.app(anf_arg1858);\nbreak;\ncase 9: var anf_arg1860 = $ans1884;\n$step1883 = 10;\n$al1885 = L[1160];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"highlight\"].app(anf_arg1859,anf_arg1860,(0));\nbreak;\ncase 10: var anf_arg1863 = $ans1884;\n$step1883 = 11;\n$al1885 = L[1159];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"text\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"text\"].app((\" was not an object:\"));\nbreak;\ncase 11: var anf_arg1864 = $ans1884;\n$step1883 = 12;\n$al1885 = L[1152];\nif(typeof(anf_fun1861.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1861);\n}\n$ans1884 = anf_fun1861.app(anf_arg1862,anf_arg1863,anf_arg1864);\nbreak;\ncase 12: var anf_arg1869 = $ans1884;\n$al1885 = L[1157];\nvar anf_arg1865 = G(self1831,\"non-obj\",L[1157]);\n$step1883 = 13;\n$al1885 = L[1158];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1884 = ED6.dict.values.dict[\"embed\"].app(anf_arg1865);\nbreak;\ncase 13: var anf_arg1870 = $ans1884;\n$step1883 = 14;\n$al1885 = L[1148];\nif(typeof(anf_fun1866.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1885,anf_fun1866);\n}\n$ans1884 = anf_fun1866.app(anf_arg1867,anf_arg1868,anf_arg1869,anf_arg1870);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1884;\ndefault: R.ffi.throwSpinnakerError(L[1166],$step1883);\n}\n}\nif($step1883 !== 14) {\n$ans1884.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1885,$temp_branch1882,$step1883,[ast1851],[anf_fun1866,anf_arg1862,anf_arg1863,anf_arg1867,anf_arg1868,anf_arg1869,anf_arg1859,cases1852,ast1855,anf_fun1861],$elidedFrames1887);\n}\nreturn $ans1884;\n};\n$ans1835 = cases1850.$app_fields($temp_branch1882,[false]);\nbreak;\ncase 13: if(cases1850.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1181],false,L[1169],cases1850.$loc);\n}\n$step1829 = 20;\n$al1836 = L[1181];\nvar $temp_branch1904 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1169($$resumer13) {\nvar $step1905 = 0;\nvar $elidedFrames1909 = 0;\nvar $ans1906 = D;\nvar $al1907 = L[1171];\nif(R.isAR($$resumer13)) {\n$step1905 = $$resumer13.step;\n$al1907 = $$resumer13.from;\n$ans1906 = $$resumer13.ans;\n$elidedFrames1909 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1896 = $$resumer13.vars[0];\nanf_fun1899 = $$resumer13.vars[1];\nanf_arg1900 = $$resumer13.vars[2];\nanf_arg1901 = $$resumer13.vars[3];\nanf_arg1902 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1906 = R.mC();\n}\nwhile(!R.isContinuation($ans1906)) {\nswitch($step1905) {\ncase 0: $ans1906 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[1170],L[1171]);\nvar anf_fun1899 = $ans1906;\n$al1907 = L[1172];\nvar anf_arg1894 = G(self1831,\"loc\",L[1172]);\n$step1905 = 1;\n$al1907 = L[1180];\n// omitting isFunction check;\n$ans1906 = ed$intro146.$var.app((\"object extension expression\"),anf_arg1894,(-1),(true));\nbreak;\ncase 1: var anf_arg1900 = $ans1906;\n$al1907 = L[1173];\nvar anf_arg1895 = G(self1831,\"loc\",L[1173]);\n$step1905 = 2;\n$al1907 = L[1179];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg1895);\nbreak;\ncase 2: var anf_arg1901 = $ans1906;\n$ans1906 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1174],L[1175]);\nvar anf_fun1896 = $ans1906;\n$step1905 = 3;\n$al1907 = L[1178];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"text\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 3: var anf_arg1897 = $ans1906;\n$step1905 = 4;\n$al1907 = L[1175];\nif(typeof(anf_fun1896.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,anf_fun1896);\n}\n$ans1906 = anf_fun1896.app(anf_arg1897);\nbreak;\ncase 4: var anf_arg1902 = $ans1906;\n$al1907 = L[1176];\nvar anf_arg1898 = G(self1831,\"non-obj\",L[1176]);\n$step1905 = 5;\n$al1907 = L[1177];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1906 = ED6.dict.values.dict[\"embed\"].app(anf_arg1898);\nbreak;\ncase 5: var anf_arg1903 = $ans1906;\n$step1905 = 6;\n$al1907 = L[1171];\nif(typeof(anf_fun1899.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1907,anf_fun1899);\n}\n$ans1906 = anf_fun1899.app(anf_arg1900,anf_arg1901,anf_arg1902,anf_arg1903);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1906;\ndefault: R.ffi.throwSpinnakerError(L[1171],$step1905);\n}\n}\nif($step1905 !== 6) {\n$ans1906.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1907,$temp_branch1904,$step1905,[],[anf_fun1896,anf_fun1899,anf_arg1900,anf_arg1901,anf_arg1902],$elidedFrames1909);\n}\nreturn $ans1906;\n};\n$ans1835 = cases1850.$app_fields($temp_branch1904,[]);\nbreak;\ncase 14: $ans1835 = R.throwNoCasesMatched(L[1169],cases1850);\n$step1829 = 20;\nbreak;\ncase 15: $ans1835 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1184],L[1185]);\nvar anf_fun1917 = $ans1835;\n$al1836 = L[1186];\nvar anf_arg1913 = G(self1831,\"loc\",L[1186]);\n$step1829 = 16;\n$al1836 = L[1192];\n// omitting isFunction check;\n$ans1835 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1913);\nbreak;\ncase 16: var anf_arg1918 = $ans1835;\n$ans1835 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1187],L[1188]);\nvar anf_fun1914 = $ans1835;\n$step1829 = 17;\n$al1836 = L[1191];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"text\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 17: var anf_arg1915 = $ans1835;\n$step1829 = 18;\n$al1836 = L[1188];\nif(typeof(anf_fun1914.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1914);\n}\n$ans1835 = anf_fun1914.app(anf_arg1915);\nbreak;\ncase 18: var anf_arg1919 = $ans1835;\n$al1836 = L[1189];\nvar anf_arg1916 = G(self1831,\"non-obj\",L[1189]);\n$step1829 = 19;\n$al1836 = L[1190];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1835 = ED6.dict.values.dict[\"embed\"].app(anf_arg1916);\nbreak;\ncase 19: var anf_arg1920 = $ans1835;\n$step1829 = 20;\n$al1836 = L[1185];\nif(typeof(anf_fun1917.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1836,anf_fun1917);\n}\n$ans1835 = anf_fun1917.app(anf_arg1918,anf_arg1919,anf_arg1920);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1835;\ndefault: R.ffi.throwSpinnakerError(L[1133],$step1829);\n}\n}\nif($step1829 !== 20) {\n$ans1835.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1836,$temp_full1830,$step1829,[self1831,maybe$stack$loc1832,src$available1833,maybe$ast1834],[anf_fun1841,anf_fun1844,anf_fun1914,anf_fun1917,anf_arg1845,anf_arg1846,anf_arg1918,cases1850,anf_arg1919],$elidedFrames1838);\n}\nreturn $ans1835;\n};\nvar anf_variant_member5856 = R.makeMethod3($temp_full1830,\"render-fancy-reason\");\nvar $temp_full1925 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1194($self1926) {\nvar $step1924 = 0;\nvar $elidedFrames1930 = 0;\nvar $ans1927 = D;\nvar $al1928 = L[1194];\nif(R.isAR($self1926)) {\n$step1924 = $self1926.step;\n$al1928 = $self1926.from;\n$ans1927 = $self1926.ans;\n$elidedFrames1930 = $self1926.elidedFrames;\nself1926 = $self1926.args[0];\nanf_fun1935 = $self1926.vars[0];\nanf_arg1936 = $self1926.vars[1];\nanf_fun1932 = $self1926.vars[2];\nanf_arg1937 = $self1926.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1194],1,$t,true);\n}\nvar self1926 = $self1926;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1927 = R.mC();\n}\nwhile(!R.isContinuation($ans1927)) {\nswitch($step1924) {\ncase 0: $ans1927 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1195],L[1196]);\nvar anf_fun1935 = $ans1927;\n$al1928 = L[1197];\nvar anf_arg1931 = G(self1926,\"loc\",L[1197]);\n$step1924 = 1;\n$al1928 = L[1203];\n// omitting isFunction check;\n$ans1927 = ed$simple$intro104.$var.app((\"object extension expression\"),anf_arg1931);\nbreak;\ncase 1: var anf_arg1936 = $ans1927;\n$ans1927 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1198],L[1199]);\nvar anf_fun1932 = $ans1927;\n$step1924 = 2;\n$al1928 = L[1202];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,ED6.dict.values.dict[\"text\"]);\n}\n$ans1927 = ED6.dict.values.dict[\"text\"].app((\"The left side was not an object:\"));\nbreak;\ncase 2: var anf_arg1933 = $ans1927;\n$step1924 = 3;\n$al1928 = L[1199];\nif(typeof(anf_fun1932.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,anf_fun1932);\n}\n$ans1927 = anf_fun1932.app(anf_arg1933);\nbreak;\ncase 3: var anf_arg1937 = $ans1927;\n$al1928 = L[1200];\nvar anf_arg1934 = G(self1926,\"non-obj\",L[1200]);\n$step1924 = 4;\n$al1928 = L[1201];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1927 = ED6.dict.values.dict[\"embed\"].app(anf_arg1934);\nbreak;\ncase 4: var anf_arg1938 = $ans1927;\n$step1924 = 5;\n$al1928 = L[1196];\nif(typeof(anf_fun1935.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1928,anf_fun1935);\n}\n$ans1927 = anf_fun1935.app(anf_arg1936,anf_arg1937,anf_arg1938);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1927;\ndefault: R.ffi.throwSpinnakerError(L[1194],$step1924);\n}\n}\nif($step1924 !== 5) {\n$ans1927.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1928,$temp_full1925,$step1924,[self1926],[anf_fun1935,anf_arg1936,anf_fun1932,anf_arg1937],$elidedFrames1930);\n}\nreturn $ans1927;\n};\nvar anf_variant_member5857 = R.makeMethod0($temp_full1925,\"render-reason\");\nvar $temp_full1941 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1204($self1942,$maybe$stack$loc1943,$src$available1944,$maybe$ast1945) {\nvar $step1940 = 0;\nvar $elidedFrames1949 = 0;\nvar $ans1946 = D;\nvar $al1947 = L[1204];\nif(R.isAR($self1942)) {\n$step1940 = $self1942.step;\n$al1947 = $self1942.from;\n$ans1946 = $self1942.ans;\n$elidedFrames1949 = $self1942.elidedFrames;\nself1942 = $self1942.args[0];\nmaybe$stack$loc1943 = $self1942.args[1];\nsrc$available1944 = $self1942.args[2];\nmaybe$ast1945 = $self1942.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1204],4,$t,true);\n}\nvar self1942 = $self1942;\nvar maybe$stack$loc1943 = $maybe$stack$loc1943;\nvar src$available1944 = $src$available1944;\nvar maybe$ast1945 = $maybe$ast1945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1946 = R.mC();\n}\nwhile(!R.isContinuation($ans1946)) {\nswitch($step1940) {\ncase 0: $step1940 = 1;\n$ans1946 = R.maybeMethodCall0(self1942,\"render-reason\",L[1205]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1946;\ndefault: R.ffi.throwSpinnakerError(L[1204],$step1940);\n}\n}\nif($step1940 !== 1) {\n$ans1946.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1947,$temp_full1941,$step1940,[self1942,maybe$stack$loc1943,src$available1944,maybe$ast1945],[],$elidedFrames1949);\n}\nreturn $ans1946;\n};\nvar anf_variant_member5866 = R.makeMethod3($temp_full1941,\"render-fancy-reason\");\nvar $temp_full1952 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1206($self1953) {\nvar $step1951 = 0;\nvar $elidedFrames1957 = 0;\nvar $ans1954 = D;\nvar $al1955 = L[1206];\nif(R.isAR($self1953)) {\n$step1951 = $self1953.step;\n$al1955 = $self1953.from;\n$ans1954 = $self1953.ans;\n$elidedFrames1957 = $self1953.elidedFrames;\nself1953 = $self1953.args[0];\nanf_fun1962 = $self1953.vars[0];\nanf_fun1965 = $self1953.vars[1];\nanf_array1963 = $self1953.vars[2];\nanf_arg1966 = $self1953.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1206],1,$t,true);\n}\nvar self1953 = $self1953;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1954 = R.mC();\n}\nwhile(!R.isContinuation($ans1954)) {\nswitch($step1951) {\ncase 0: $ans1954 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1207],L[1208]);\nvar anf_fun1965 = $ans1954;\n$ans1954 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1209],L[1210]);\nvar anf_fun1962 = $ans1954;\n$ans1954 = R.makeArrayN((9));\nvar anf_array1963 = $ans1954;\n$step1951 = 1;\n$al1955 = L[1224];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"Expected \"));\nbreak;\ncase 1: anf_array1963[0] = $ans1954;\n$step1951 = 2;\n$al1955 = L[1223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"true\"));\nbreak;\ncase 2: var anf_arg1958 = $ans1954;\n$step1951 = 3;\n$al1955 = L[1222];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"code\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"code\"].app(anf_arg1958);\nbreak;\ncase 3: anf_array1963[1] = $ans1954;\n$step1951 = 4;\n$al1955 = L[1221];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 4: anf_array1963[2] = $ans1954;\n$step1951 = 5;\n$al1955 = L[1220];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\"false\"));\nbreak;\ncase 5: var anf_arg1959 = $ans1954;\n$step1951 = 6;\n$al1955 = L[1219];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"code\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"code\"].app(anf_arg1959);\nbreak;\ncase 6: anf_array1963[3] = $ans1954;\n$step1951 = 7;\n$al1955 = L[1218];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" for the test in the \"));\nbreak;\ncase 7: anf_array1963[4] = $ans1954;\n$al1955 = L[1211];\nvar anf_arg1960 = G(self1953,\"typ\",L[1211]);\n$step1951 = 8;\n$al1955 = L[1217];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app(anf_arg1960);\nbreak;\ncase 8: anf_array1963[5] = $ans1954;\n$step1951 = 9;\n$al1955 = L[1216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" expression at \"));\nbreak;\ncase 9: anf_array1963[6] = $ans1954;\n$al1955 = L[1212];\nvar anf_arg1961 = G(self1953,\"loc\",L[1212]);\n// caller optimization;\n$ans1954 = draw$and$highlight36.$var.app(anf_arg1961);\nanf_array1963[7] = $ans1954;\n$step1951 = 10;\n$al1955 = L[1215];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"text\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 10: anf_array1963[8] = $ans1954;\n$step1951 = 11;\n$al1955 = L[1210];\nif(typeof(anf_fun1962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,anf_fun1962);\n}\n$ans1954 = anf_fun1962.app(anf_array1963);\nbreak;\ncase 11: var anf_arg1966 = $ans1954;\n$al1955 = L[1213];\nvar anf_arg1964 = G(self1953,\"value\",L[1213]);\n$step1951 = 12;\n$al1955 = L[1214];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1954 = ED6.dict.values.dict[\"embed\"].app(anf_arg1964);\nbreak;\ncase 12: var anf_arg1967 = $ans1954;\n$step1951 = 13;\n$al1955 = L[1208];\nif(typeof(anf_fun1965.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1955,anf_fun1965);\n}\n$ans1954 = anf_fun1965.app(anf_arg1966,anf_arg1967);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1954;\ndefault: R.ffi.throwSpinnakerError(L[1206],$step1951);\n}\n}\nif($step1951 !== 13) {\n$ans1954.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1955,$temp_full1952,$step1951,[self1953],[anf_fun1962,anf_fun1965,anf_array1963,anf_arg1966],$elidedFrames1957);\n}\nreturn $ans1954;\n};\nvar anf_variant_member5867 = R.makeMethod0($temp_full1952,\"render-reason\");\nvar $temp_full1970 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1225($self1971,$maybe$stack$loc1972,$src$available1973,$maybe$ast1974) {\nvar $step1969 = 0;\nvar $elidedFrames1978 = 0;\nvar $ans1975 = D;\nvar $al1976 = L[1225];\nif(R.isAR($self1971)) {\n$step1969 = $self1971.step;\n$al1976 = $self1971.from;\n$ans1975 = $self1971.ans;\n$elidedFrames1978 = $self1971.elidedFrames;\nself1971 = $self1971.args[0];\nmaybe$stack$loc1972 = $self1971.args[1];\nsrc$available1973 = $self1971.args[2];\nmaybe$ast1974 = $self1971.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1225],4,$t,true);\n}\nvar self1971 = $self1971;\nvar maybe$stack$loc1972 = $maybe$stack$loc1972;\nvar src$available1973 = $src$available1973;\nvar maybe$ast1974 = $maybe$ast1974;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1975 = R.mC();\n}\nwhile(!R.isContinuation($ans1975)) {\nswitch($step1969) {\ncase 0: $step1969 = 1;\n$ans1975 = R.maybeMethodCall0(self1971,\"render-reason\",L[1226]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1975;\ndefault: R.ffi.throwSpinnakerError(L[1225],$step1969);\n}\n}\nif($step1969 !== 1) {\n$ans1975.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1976,$temp_full1970,$step1969,[self1971,maybe$stack$loc1972,src$available1973,maybe$ast1974],[],$elidedFrames1978);\n}\nreturn $ans1975;\n};\nvar anf_variant_member5877 = R.makeMethod3($temp_full1970,\"render-fancy-reason\");\nvar $temp_full1981 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1227($self1982) {\nvar $step1980 = 0;\nvar $elidedFrames1986 = 0;\nvar $ans1983 = D;\nvar $al1984 = L[1227];\nif(R.isAR($self1982)) {\n$step1980 = $self1982.step;\n$al1984 = $self1982.from;\n$ans1983 = $self1982.ans;\n$elidedFrames1986 = $self1982.elidedFrames;\nself1982 = $self1982.args[0];\nanf_fun1995 = $self1982.vars[0];\nanf_array1993 = $self1982.vars[1];\nanf_arg1996 = $self1982.vars[2];\nanf_fun1992 = $self1982.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1227],1,$t,true);\n}\nvar self1982 = $self1982;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1983 = R.mC();\n}\nwhile(!R.isContinuation($ans1983)) {\nswitch($step1980) {\ncase 0: $ans1983 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1228],L[1229]);\nvar anf_fun1995 = $ans1983;\n$ans1983 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1230],L[1231]);\nvar anf_fun1992 = $ans1983;\n$ans1983 = R.makeArrayN((11));\nvar anf_array1993 = $ans1983;\n$step1980 = 1;\n$al1984 = L[1248];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"Expected\"));\nbreak;\ncase 1: anf_array1993[0] = $ans1983;\n$step1980 = 2;\n$al1984 = L[1247];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"true\"));\nbreak;\ncase 2: var anf_arg1987 = $ans1983;\n$step1980 = 3;\n$al1984 = L[1246];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"code\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"code\"].app(anf_arg1987);\nbreak;\ncase 3: anf_array1993[1] = $ans1983;\n$step1980 = 4;\n$al1984 = L[1245];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"or\"));\nbreak;\ncase 4: anf_array1993[2] = $ans1983;\n$step1980 = 5;\n$al1984 = L[1244];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"false\"));\nbreak;\ncase 5: var anf_arg1988 = $ans1983;\n$step1980 = 6;\n$al1984 = L[1243];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"code\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"code\"].app(anf_arg1988);\nbreak;\ncase 6: anf_array1993[3] = $ans1983;\n$step1980 = 7;\n$al1984 = L[1242];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"for the\"));\nbreak;\ncase 7: anf_array1993[4] = $ans1983;\n$al1984 = L[1232];\nvar anf_arg1989 = G(self1982,\"position\",L[1232]);\n$step1980 = 8;\n$al1984 = L[1241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app(anf_arg1989);\nbreak;\ncase 8: anf_array1993[5] = $ans1983;\n$step1980 = 9;\n$al1984 = L[1240];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"argument in the\"));\nbreak;\ncase 9: anf_array1993[6] = $ans1983;\n$al1984 = L[1233];\nvar anf_arg1990 = G(self1982,\"typ\",L[1233]);\n$step1980 = 10;\n$al1984 = L[1239];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app(anf_arg1990);\nbreak;\ncase 10: anf_array1993[7] = $ans1983;\n$step1980 = 11;\n$al1984 = L[1238];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\"expression at\"));\nbreak;\ncase 11: anf_array1993[8] = $ans1983;\n$al1984 = L[1234];\nvar anf_arg1991 = G(self1982,\"loc\",L[1234]);\n// caller optimization;\n$ans1983 = draw$and$highlight36.$var.app(anf_arg1991);\nanf_array1993[9] = $ans1983;\n$step1980 = 12;\n$al1984 = L[1237];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"text\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 12: anf_array1993[10] = $ans1983;\n$step1980 = 13;\n$al1984 = L[1231];\nif(typeof(anf_fun1992.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,anf_fun1992);\n}\n$ans1983 = anf_fun1992.app(anf_array1993);\nbreak;\ncase 13: var anf_arg1996 = $ans1983;\n$al1984 = L[1235];\nvar anf_arg1994 = G(self1982,\"value\",L[1235]);\n$step1980 = 14;\n$al1984 = L[1236];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,ED6.dict.values.dict[\"embed\"]);\n}\n$ans1983 = ED6.dict.values.dict[\"embed\"].app(anf_arg1994);\nbreak;\ncase 14: var anf_arg1997 = $ans1983;\n$step1980 = 15;\n$al1984 = L[1229];\nif(typeof(anf_fun1995.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1984,anf_fun1995);\n}\n$ans1983 = anf_fun1995.app(anf_arg1996,anf_arg1997);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1983;\ndefault: R.ffi.throwSpinnakerError(L[1227],$step1980);\n}\n}\nif($step1980 !== 15) {\n$ans1983.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1984,$temp_full1981,$step1980,[self1982],[anf_fun1995,anf_array1993,anf_arg1996,anf_fun1992],$elidedFrames1986);\n}\nreturn $ans1983;\n};\nvar anf_variant_member5878 = R.makeMethod0($temp_full1981,\"render-reason\");\nvar $temp_full2000 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1249($self2001,$maybe$stack$loc2002,$src$available2003,$maybe$ast2004) {\nvar $step1999 = 0;\nvar $elidedFrames2008 = 0;\nvar $ans2005 = D;\nvar $al2006 = L[1249];\nif(R.isAR($self2001)) {\n$step1999 = $self2001.step;\n$al2006 = $self2001.from;\n$ans2005 = $self2001.ans;\n$elidedFrames2008 = $self2001.elidedFrames;\nself2001 = $self2001.args[0];\nmaybe$stack$loc2002 = $self2001.args[1];\nsrc$available2003 = $self2001.args[2];\nmaybe$ast2004 = $self2001.args[3];\nanf_fun2010 = $self2001.vars[0];\ncases2009 = $self2001.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1249],4,$t,true);\n}\nvar self2001 = $self2001;\nvar maybe$stack$loc2002 = $maybe$stack$loc2002;\nvar src$available2003 = $src$available2003;\nvar maybe$ast2004 = $maybe$ast2004;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2005 = R.mC();\n}\nwhile(!R.isContinuation($ans2005)) {\nswitch($step1999) {\ncase 0: $ans2005 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1250],L[1251]);\nvar anf_fun2010 = $ans2005;\n$step1999 = 1;\n$al2006 = L[1314];\nif(typeof(maybe$stack$loc2002.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2006,maybe$stack$loc2002);\n}\n$ans2005 = maybe$stack$loc2002.app((0),(false));\nbreak;\ncase 1: var cases2009 = $ans2005;\n$step1999 = 2;\n$al2006 = L[1313];\nvar $ann$check2082 = R._cA(L[1313],R.gDA(L[1313],\"O\",O8.dict.types,\"Option\"),cases2009);\nif(R.isContinuation($ann$check2082)) {\n$ans2005 = $ann$check2082;\n}\nbreak;\ncase 2: $al2006 = L[1298];\n$step1999 = $cases_dispatch2081[cases2009.$name] || 5;\nbreak;\ncase 3: if(cases2009.$arity !== 1) {\nif(cases2009.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1297],1,cases2009.$arity,L[1298],cases2009.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1297],true,L[1298],cases2009.$loc);\n}\n}\n$step1999 = 6;\n$al2006 = L[1297];\nvar $temp_branch2055 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1298($loc2012) {\nvar $step2056 = 0;\nvar $elidedFrames2060 = 0;\nvar $ans2057 = D;\nvar $al2058 = L[1252];\nif(R.isAR($loc2012)) {\n$step2056 = $loc2012.step;\n$al2058 = $loc2012.from;\n$ans2057 = $loc2012.ans;\n$elidedFrames2060 = $loc2012.elidedFrames;\nloc2012 = $loc2012.args[0];\nanf_arg2030 = $loc2012.vars[0];\nanf_fun2028 = $loc2012.vars[1];\nanf_arg2031 = $loc2012.vars[2];\nanf_arg2032 = $loc2012.vars[3];\nanf_arg2043 = $loc2012.vars[4];\nanf_arg2044 = $loc2012.vars[5];\nanf_arg2023 = $loc2012.vars[6];\nanf_arg2045 = $loc2012.vars[7];\nanf_arg2024 = $loc2012.vars[8];\nanf_arg2046 = $loc2012.vars[9];\nanf_arg2036 = $loc2012.vars[10];\nanf_arg2037 = $loc2012.vars[11];\nanf_arg2016 = $loc2012.vars[12];\nanf_arg2038 = $loc2012.vars[13];\nanf_arg2017 = $loc2012.vars[14];\nanf_arg2018 = $loc2012.vars[15];\nanf_arg2029 = $loc2012.vars[16];\nanf_arg2019 = $loc2012.vars[17];\nanf_fun2042 = $loc2012.vars[18];\nanf_fun2022 = $loc2012.vars[19];\nanf_fun2035 = $loc2012.vars[20];\nanf_arg2050 = $loc2012.vars[21];\nanf_fun2015 = $loc2012.vars[22];\nanf_arg2051 = $loc2012.vars[23];\nanf_fun2049 = $loc2012.vars[24];\n} else {\nvar loc2012 = $loc2012;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2057 = R.mC();\n}\nwhile(!R.isContinuation($ans2057)) {\nswitch($step2056) {\ncase 0: $step2056 = 1;\n$ans2057 = R.maybeMethodCall0(loc2012,\"is-builtin\",L[1252]);\nbreak;\ncase 1: var anf_if2054 = $ans2057;\n$step2056 = R.checkPyretTrue(anf_if2054)?2:11;\nbreak;\ncase 2: $ans2057 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[1253],L[1254]);\nvar anf_fun2022 = $ans2057;\n$step2056 = 3;\n$al2058 = L[1266];\n// omitting isFunction check;\n$ans2057 = ed$simple$intro104.$var.app((\"expression\"),loc2012);\nbreak;\ncase 3: var anf_arg2023 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1255],L[1256]);\nvar anf_fun2015 = $ans2057;\n$step2056 = 4;\n$al2058 = L[1265];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 4: var anf_arg2016 = $ans2057;\n$al2058 = L[1257];\nvar anf_arg2013 = G(self2001,\"typ\",L[1257]);\n$step2056 = 5;\n$al2058 = L[1264];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2013);\nbreak;\ncase 5: var anf_arg2017 = $ans2057;\n$step2056 = 6;\n$al2058 = L[1263];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 6: var anf_arg2018 = $ans2057;\n$al2058 = L[1258];\nvar anf_arg2014 = G(self2001,\"typ\",L[1258]);\n$step2056 = 7;\n$al2058 = L[1262];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2014);\nbreak;\ncase 7: var anf_arg2019 = $ans2057;\n$step2056 = 8;\n$al2058 = L[1261];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 8: var anf_arg2020 = $ans2057;\n$step2056 = 9;\n$al2058 = L[1256];\nif(typeof(anf_fun2015.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2015);\n}\n$ans2057 = anf_fun2015.app(anf_arg2016,anf_arg2017,anf_arg2018,anf_arg2019,anf_arg2020);\nbreak;\ncase 9: var anf_arg2024 = $ans2057;\n$al2058 = L[1259];\nvar anf_arg2021 = G(self2001,\"val\",L[1259]);\n$step2056 = 10;\n$al2058 = L[1260];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2021);\nbreak;\ncase 10: var anf_arg2025 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1254];\nif(typeof(anf_fun2022.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2022);\n}\n$ans2057 = anf_fun2022.app(anf_arg2023,anf_arg2024,anf_arg2025);\nbreak;\ncase 11: $step2056 = 12;\n$al2058 = L[1296];\nif(typeof(src$available2003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,src$available2003);\n}\n$ans2057 = src$available2003.app(loc2012);\nbreak;\ncase 12: var anf_if2053 = $ans2057;\n$step2056 = R.checkPyretTrue(anf_if2053)?13:23;\nbreak;\ncase 13: $ans2057 = R.getMaker4(ED6.dict.values.dict[\"sequence\"],(\"make4\"),L[1267],L[1268]);\nvar anf_fun2035 = $ans2057;\n$step2056 = 14;\n$al2058 = L[1281];\n// omitting isFunction check;\n$ans2057 = ed$intro146.$var.app((\"expression\"),loc2012,(0),(true));\nbreak;\ncase 14: var anf_arg2036 = $ans2057;\n$step2056 = 15;\n$al2058 = L[1280];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"cmcode\"].app(loc2012);\nbreak;\ncase 15: var anf_arg2037 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1269],L[1270]);\nvar anf_fun2028 = $ans2057;\n$step2056 = 16;\n$al2058 = L[1279];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 16: var anf_arg2029 = $ans2057;\n$al2058 = L[1271];\nvar anf_arg2026 = G(self2001,\"typ\",L[1271]);\n$step2056 = 17;\n$al2058 = L[1278];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2026);\nbreak;\ncase 17: var anf_arg2030 = $ans2057;\n$step2056 = 18;\n$al2058 = L[1277];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 18: var anf_arg2031 = $ans2057;\n$al2058 = L[1272];\nvar anf_arg2027 = G(self2001,\"typ\",L[1272]);\n$step2056 = 19;\n$al2058 = L[1276];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2027);\nbreak;\ncase 19: var anf_arg2032 = $ans2057;\n$step2056 = 20;\n$al2058 = L[1275];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 20: var anf_arg2033 = $ans2057;\n$step2056 = 21;\n$al2058 = L[1270];\nif(typeof(anf_fun2028.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2028);\n}\n$ans2057 = anf_fun2028.app(anf_arg2029,anf_arg2030,anf_arg2031,anf_arg2032,anf_arg2033);\nbreak;\ncase 21: var anf_arg2038 = $ans2057;\n$al2058 = L[1273];\nvar anf_arg2034 = G(self2001,\"val\",L[1273]);\n$step2056 = 22;\n$al2058 = L[1274];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2034);\nbreak;\ncase 22: var anf_arg2039 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1268];\nif(typeof(anf_fun2035.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2035);\n}\n$ans2057 = anf_fun2035.app(anf_arg2036,anf_arg2037,anf_arg2038,anf_arg2039);\nbreak;\ncase 23: $ans2057 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[1282],L[1283]);\nvar anf_fun2049 = $ans2057;\n$step2056 = 24;\n$al2058 = L[1295];\n// omitting isFunction check;\n$ans2057 = ed$simple$intro104.$var.app((\"expression\"),loc2012);\nbreak;\ncase 24: var anf_arg2050 = $ans2057;\n$ans2057 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1284],L[1285]);\nvar anf_fun2042 = $ans2057;\n$step2056 = 25;\n$al2058 = L[1294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\"It was expected to produce a \"));\nbreak;\ncase 25: var anf_arg2043 = $ans2057;\n$al2058 = L[1286];\nvar anf_arg2040 = G(self2001,\"typ\",L[1286]);\n$step2056 = 26;\n$al2058 = L[1293];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2040);\nbreak;\ncase 26: var anf_arg2044 = $ans2057;\n$step2056 = 27;\n$al2058 = L[1292];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\", but it produced a non-\"));\nbreak;\ncase 27: var anf_arg2045 = $ans2057;\n$al2058 = L[1287];\nvar anf_arg2041 = G(self2001,\"typ\",L[1287]);\n$step2056 = 28;\n$al2058 = L[1291];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2041);\nbreak;\ncase 28: var anf_arg2046 = $ans2057;\n$step2056 = 29;\n$al2058 = L[1290];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"text\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 29: var anf_arg2047 = $ans2057;\n$step2056 = 30;\n$al2058 = L[1285];\nif(typeof(anf_fun2042.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2042);\n}\n$ans2057 = anf_fun2042.app(anf_arg2043,anf_arg2044,anf_arg2045,anf_arg2046,anf_arg2047);\nbreak;\ncase 30: var anf_arg2051 = $ans2057;\n$al2058 = L[1288];\nvar anf_arg2048 = G(self2001,\"val\",L[1288]);\n$step2056 = 31;\n$al2058 = L[1289];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2057 = ED6.dict.values.dict[\"embed\"].app(anf_arg2048);\nbreak;\ncase 31: var anf_arg2052 = $ans2057;\n$step2056 = 32;\n$al2058 = L[1283];\nif(typeof(anf_fun2049.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2058,anf_fun2049);\n}\n$ans2057 = anf_fun2049.app(anf_arg2050,anf_arg2051,anf_arg2052);\nbreak;\ncase 32: ++R.GAS;\nreturn $ans2057;\ndefault: R.ffi.throwSpinnakerError(L[1252],$step2056);\n}\n}\nif($step2056 !== 32) {\n$ans2057.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2058,$temp_branch2055,$step2056,[loc2012],[anf_arg2030,anf_fun2028,anf_arg2031,anf_arg2032,anf_arg2043,anf_arg2044,anf_arg2023,anf_arg2045,anf_arg2024,anf_arg2046,anf_arg2036,anf_arg2037,anf_arg2016,anf_arg2038,anf_arg2017,anf_arg2018,anf_arg2029,anf_arg2019,anf_fun2042,anf_fun2022,anf_fun2035,anf_arg2050,anf_fun2015,anf_arg2051,anf_fun2049],$elidedFrames2060);\n}\nreturn $ans2057;\n};\n$ans2005 = cases2009.$app_fields($temp_branch2055,[false]);\nbreak;\ncase 4: if(cases2009.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1312],false,L[1298],cases2009.$loc);\n}\n$step1999 = 6;\n$al2006 = L[1312];\nvar $temp_branch2074 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1298($$resumer13) {\nvar $step2075 = 0;\nvar $elidedFrames2079 = 0;\nvar $ans2076 = D;\nvar $al2077 = L[1300];\nif(R.isAR($$resumer13)) {\n$step2075 = $$resumer13.step;\n$al2077 = $$resumer13.from;\n$ans2076 = $$resumer13.ans;\n$elidedFrames2079 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg2065 = $$resumer13.vars[0];\nanf_arg2066 = $$resumer13.vars[1];\nanf_arg2067 = $$resumer13.vars[2];\nanf_arg2068 = $$resumer13.vars[3];\nanf_fun2071 = $$resumer13.vars[4];\nanf_fun2064 = $$resumer13.vars[5];\nanf_arg2072 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2076 = R.mC();\n}\nwhile(!R.isContinuation($ans2076)) {\nswitch($step2075) {\ncase 0: $ans2076 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1299],L[1300]);\nvar anf_fun2071 = $ans2076;\n$ans2076 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1301],L[1302]);\nvar anf_fun2064 = $ans2076;\n$step2075 = 1;\n$al2077 = L[1311];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\"Evaluating an expression failed. It was expected to evaluate to a \"));\nbreak;\ncase 1: var anf_arg2065 = $ans2076;\n$al2077 = L[1303];\nvar anf_arg2062 = G(self2001,\"typ\",L[1303]);\n$step2075 = 2;\n$al2077 = L[1310];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2062);\nbreak;\ncase 2: var anf_arg2066 = $ans2076;\n$step2075 = 3;\n$al2077 = L[1309];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 3: var anf_arg2067 = $ans2076;\n$al2077 = L[1304];\nvar anf_arg2063 = G(self2001,\"typ\",L[1304]);\n$step2075 = 4;\n$al2077 = L[1308];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2063);\nbreak;\ncase 4: var anf_arg2068 = $ans2076;\n$step2075 = 5;\n$al2077 = L[1307];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"text\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 5: var anf_arg2069 = $ans2076;\n$step2075 = 6;\n$al2077 = L[1302];\nif(typeof(anf_fun2064.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,anf_fun2064);\n}\n$ans2076 = anf_fun2064.app(anf_arg2065,anf_arg2066,anf_arg2067,anf_arg2068,anf_arg2069);\nbreak;\ncase 6: var anf_arg2072 = $ans2076;\n$al2077 = L[1305];\nvar anf_arg2070 = G(self2001,\"val\",L[1305]);\n$step2075 = 7;\n$al2077 = L[1306];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2076 = ED6.dict.values.dict[\"embed\"].app(anf_arg2070);\nbreak;\ncase 7: var anf_arg2073 = $ans2076;\n$step2075 = 8;\n$al2077 = L[1300];\nif(typeof(anf_fun2071.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2077,anf_fun2071);\n}\n$ans2076 = anf_fun2071.app(anf_arg2072,anf_arg2073);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2076;\ndefault: R.ffi.throwSpinnakerError(L[1300],$step2075);\n}\n}\nif($step2075 !== 8) {\n$ans2076.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2077,$temp_branch2074,$step2075,[],[anf_arg2065,anf_arg2066,anf_arg2067,anf_arg2068,anf_fun2071,anf_fun2064,anf_arg2072],$elidedFrames2079);\n}\nreturn $ans2076;\n};\n$ans2005 = cases2009.$app_fields($temp_branch2074,[]);\nbreak;\ncase 5: $ans2005 = R.throwNoCasesMatched(L[1298],cases2009);\n$step1999 = 6;\nbreak;\ncase 6: var anf_arg2011 = $ans2005;\n$step1999 = 7;\n$al2006 = L[1251];\nif(typeof(anf_fun2010.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2006,anf_fun2010);\n}\n$ans2005 = anf_fun2010.app(anf_arg2011);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2005;\ndefault: R.ffi.throwSpinnakerError(L[1249],$step1999);\n}\n}\nif($step1999 !== 7) {\n$ans2005.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2006,$temp_full2000,$step1999,[self2001,maybe$stack$loc2002,src$available2003,maybe$ast2004],[anf_fun2010,cases2009],$elidedFrames2008);\n}\nreturn $ans2005;\n};\nvar anf_variant_member5889 = R.makeMethod3($temp_full2000,\"render-fancy-reason\");\nvar $temp_full2085 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1315($self2086) {\nvar $step2084 = 0;\nvar $elidedFrames2090 = 0;\nvar $ans2087 = D;\nvar $al2088 = L[1315];\nif(R.isAR($self2086)) {\n$step2084 = $self2086.step;\n$al2088 = $self2086.from;\n$ans2087 = $self2086.ans;\n$elidedFrames2090 = $self2086.elidedFrames;\nself2086 = $self2086.args[0];\nanf_arg2120 = $self2086.vars[0];\nanf_fun2118 = $self2086.vars[1];\nanf_arg2113 = $self2086.vars[2];\nanf_arg2124 = $self2086.vars[3];\nanf_arg2114 = $self2086.vars[4];\nanf_arg2115 = $self2086.vars[5];\nanf_arg2116 = $self2086.vars[6];\nanf_fun2112 = $self2086.vars[7];\nanf_fun2123 = $self2086.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1315],1,$t,true);\n}\nvar self2086 = $self2086;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2087 = R.mC();\n}\nwhile(!R.isContinuation($ans2087)) {\nswitch($step2084) {\ncase 0: $ans2087 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1316],L[1317]);\nvar anf_fun2123 = $ans2087;\nvar $temp_lam2092 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1318($loc2093) {\nvar $step2091 = 0;\nvar $elidedFrames2097 = 0;\nvar $ans2094 = D;\nvar $al2095 = L[1318];\nif(R.isAR($loc2093)) {\n$step2091 = $loc2093.step;\n$al2095 = $loc2093.from;\n$ans2094 = $loc2093.ans;\n$elidedFrames2097 = $loc2093.elidedFrames;\nloc2093 = $loc2093.args[0];\nanf_fun2106 = $loc2093.vars[0];\nanf_arg2101 = $loc2093.vars[1];\nanf_arg2102 = $loc2093.vars[2];\nanf_arg2103 = $loc2093.vars[3];\nanf_arg2104 = $loc2093.vars[4];\nanf_arg2107 = $loc2093.vars[5];\nanf_fun2100 = $loc2093.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1318],1,$t,false);\n}\nvar loc2093 = $loc2093;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2094 = R.mC();\n}\nwhile(!R.isContinuation($ans2094)) {\nswitch($step2091) {\ncase 0: $ans2094 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1319],L[1320]);\nvar anf_fun2106 = $ans2094;\n$step2091 = 1;\n$al2095 = L[1330];\n// omitting isFunction check;\n$ans2094 = ed$simple$intro104.$var.app((\"expression\"),loc2093);\nbreak;\ncase 1: var anf_arg2107 = $ans2094;\n$ans2094 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1321],L[1322]);\nvar anf_fun2100 = $ans2094;\n$step2091 = 2;\n$al2095 = L[1329];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\"It was expected to evaluate to a \"));\nbreak;\ncase 2: var anf_arg2101 = $ans2094;\n$al2095 = L[1323];\nvar anf_arg2098 = G(self2086,\"typ\",L[1323]);\n$step2091 = 3;\n$al2095 = L[1328];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"embed\"].app(anf_arg2098);\nbreak;\ncase 3: var anf_arg2102 = $ans2094;\n$step2091 = 4;\n$al2095 = L[1327];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 4: var anf_arg2103 = $ans2094;\n$al2095 = L[1324];\nvar anf_arg2099 = G(self2086,\"typ\",L[1324]);\n$step2091 = 5;\n$al2095 = L[1326];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"embed\"].app(anf_arg2099);\nbreak;\ncase 5: var anf_arg2104 = $ans2094;\n$step2091 = 6;\n$al2095 = L[1325];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,ED6.dict.values.dict[\"text\"]);\n}\n$ans2094 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 6: var anf_arg2105 = $ans2094;\n$step2091 = 7;\n$al2095 = L[1322];\nif(typeof(anf_fun2100.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,anf_fun2100);\n}\n$ans2094 = anf_fun2100.app(anf_arg2101,anf_arg2102,anf_arg2103,anf_arg2104,anf_arg2105);\nbreak;\ncase 7: var anf_arg2108 = $ans2094;\n$step2091 = 8;\n$al2095 = L[1320];\nif(typeof(anf_fun2106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2095,anf_fun2106);\n}\n$ans2094 = anf_fun2106.app(anf_arg2107,anf_arg2108);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2094;\ndefault: R.ffi.throwSpinnakerError(L[1318],$step2091);\n}\n}\nif($step2091 !== 8) {\n$ans2094.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2095,$temp_lam2092,$step2091,[loc2093],[anf_fun2106,anf_arg2101,anf_arg2102,anf_arg2103,anf_arg2104,anf_arg2107,anf_fun2100],$elidedFrames2097);\n}\nreturn $ans2094;\n};\nvar anf_arg2120 = R.mF($temp_lam2092,\"\");\n$ans2087 = R.getMaker1(ED6.dict.values.dict[\"sequence\"],(\"make1\"),L[1331],L[1332]);\nvar anf_fun2118 = $ans2087;\n$ans2087 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1333],L[1334]);\nvar anf_fun2112 = $ans2087;\n$step2084 = 1;\n$al2088 = L[1344];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\"Evaluating an expression failed. It was expected to evaluate to a \"));\nbreak;\ncase 1: var anf_arg2113 = $ans2087;\n$al2088 = L[1335];\nvar anf_arg2110 = G(self2086,\"typ\",L[1335]);\n$step2084 = 2;\n$al2088 = L[1343];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2110);\nbreak;\ncase 2: var anf_arg2114 = $ans2087;\n$step2084 = 3;\n$al2088 = L[1342];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\". It evaluated to the non-\"));\nbreak;\ncase 3: var anf_arg2115 = $ans2087;\n$al2088 = L[1336];\nvar anf_arg2111 = G(self2086,\"typ\",L[1336]);\n$step2084 = 4;\n$al2088 = L[1341];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2111);\nbreak;\ncase 4: var anf_arg2116 = $ans2087;\n$step2084 = 5;\n$al2088 = L[1340];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"text\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"text\"].app((\" value:\"));\nbreak;\ncase 5: var anf_arg2117 = $ans2087;\n$step2084 = 6;\n$al2088 = L[1334];\nif(typeof(anf_fun2112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2112);\n}\n$ans2087 = anf_fun2112.app(anf_arg2113,anf_arg2114,anf_arg2115,anf_arg2116,anf_arg2117);\nbreak;\ncase 6: var anf_arg2119 = $ans2087;\n$step2084 = 7;\n$al2088 = L[1332];\nif(typeof(anf_fun2118.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2118);\n}\n$ans2087 = anf_fun2118.app(anf_arg2119);\nbreak;\ncase 7: var anf_arg2121 = $ans2087;\n$step2084 = 8;\n$al2088 = L[1339];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg2120,anf_arg2121);\nbreak;\ncase 8: var anf_arg2124 = $ans2087;\n$al2088 = L[1337];\nvar anf_arg2122 = G(self2086,\"val\",L[1337]);\n$step2084 = 9;\n$al2088 = L[1338];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2087 = ED6.dict.values.dict[\"embed\"].app(anf_arg2122);\nbreak;\ncase 9: var anf_arg2125 = $ans2087;\n$step2084 = 10;\n$al2088 = L[1317];\nif(typeof(anf_fun2123.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2088,anf_fun2123);\n}\n$ans2087 = anf_fun2123.app(anf_arg2124,anf_arg2125);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans2087;\ndefault: R.ffi.throwSpinnakerError(L[1315],$step2084);\n}\n}\nif($step2084 !== 10) {\n$ans2087.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2088,$temp_full2085,$step2084,[self2086],[anf_arg2120,anf_fun2118,anf_arg2113,anf_arg2124,anf_arg2114,anf_arg2115,anf_arg2116,anf_fun2112,anf_fun2123],$elidedFrames2090);\n}\nreturn $ans2087;\n};\nvar anf_variant_member5890 = R.makeMethod0($temp_full2085,\"render-reason\");\nvar $temp_full2128 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1345($self2129,$maybe$stack$loc2130,$src$available2131,$maybe$ast2132) {\nvar $step2127 = 0;\nvar $elidedFrames2136 = 0;\nvar $ans2133 = D;\nvar $al2134 = L[1345];\nif(R.isAR($self2129)) {\n$step2127 = $self2129.step;\n$al2134 = $self2129.from;\n$ans2133 = $self2129.ans;\n$elidedFrames2136 = $self2129.elidedFrames;\nself2129 = $self2129.args[0];\nmaybe$stack$loc2130 = $self2129.args[1];\nsrc$available2131 = $self2129.args[2];\nmaybe$ast2132 = $self2129.args[3];\nanf_fun2138 = $self2129.vars[0];\ncases2137 = $self2129.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1345],4,$t,true);\n}\nvar self2129 = $self2129;\nvar maybe$stack$loc2130 = $maybe$stack$loc2130;\nvar src$available2131 = $src$available2131;\nvar maybe$ast2132 = $maybe$ast2132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2133 = R.mC();\n}\nwhile(!R.isContinuation($ans2133)) {\nswitch($step2127) {\ncase 0: $ans2133 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1346],L[1347]);\nvar anf_fun2138 = $ans2133;\n$step2127 = 1;\n$al2134 = L[1519];\nif(typeof(maybe$stack$loc2130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2134,maybe$stack$loc2130);\n}\n$ans2133 = maybe$stack$loc2130.app((0),(false));\nbreak;\ncase 1: var cases2137 = $ans2133;\n$step2127 = 2;\n$al2134 = L[1518];\nvar $ann$check2320 = R._cA(L[1518],R.gDA(L[1518],\"O\",O8.dict.types,\"Option\"),cases2137);\nif(R.isContinuation($ann$check2320)) {\n$ans2133 = $ann$check2320;\n}\nbreak;\ncase 2: $al2134 = L[1484];\n$step2127 = $cases_dispatch2319[cases2137.$name] || 5;\nbreak;\ncase 3: if(cases2137.$arity !== 1) {\nif(cases2137.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1483],1,cases2137.$arity,L[1484],cases2137.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1483],true,L[1484],cases2137.$loc);\n}\n}\n$step2127 = 6;\n$al2134 = L[1483];\nvar $temp_branch2263 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1484($loc2140) {\nvar $step2264 = 0;\nvar $elidedFrames2268 = 0;\nvar $ans2265 = D;\nvar $al2266 = L[1348];\nif(R.isAR($loc2140)) {\n$step2264 = $loc2140.step;\n$al2266 = $loc2140.from;\n$ans2265 = $loc2140.ans;\n$elidedFrames2268 = $loc2140.elidedFrames;\nloc2140 = $loc2140.args[0];\nanf_fun2259 = $loc2140.vars[0];\nanf_fun2149 = $loc2140.vars[1];\nanf_arg2254 = $loc2140.vars[2];\nanf_arg2156 = $loc2140.vars[3];\nanf_arg2257 = $loc2140.vars[4];\nanf_arg2159 = $loc2140.vars[5];\ncases2163 = $loc2140.vars[6];\nanf_fun2161 = $loc2140.vars[7];\nanf_fun2253 = $loc2140.vars[8];\nanf_fun2155 = $loc2140.vars[9];\nanf_array2260 = $loc2140.vars[10];\nanf_fun2244 = $loc2140.vars[11];\nanf_array2162 = $loc2140.vars[12];\nanf_fun2256 = $loc2140.vars[13];\nanf_fun2146 = $loc2140.vars[14];\nanf_fun2158 = $loc2140.vars[15];\nanf_fun2247 = $loc2140.vars[16];\n} else {\nvar loc2140 = $loc2140;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2265 = R.mC();\n}\nwhile(!R.isContinuation($ans2265)) {\nswitch($step2264) {\ncase 0: $step2264 = 1;\n$ans2265 = R.maybeMethodCall0(loc2140,\"is-builtin\",L[1348]);\nbreak;\ncase 1: var anf_if2262 = $ans2265;\n$step2264 = R.checkPyretTrue(anf_if2262)?2:20;\nbreak;\ncase 2: $ans2265 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1349],L[1350]);\nvar anf_fun2161 = $ans2265;\n$ans2265 = R.makeArrayN((6));\nvar anf_array2162 = $ans2265;\n$al2266 = L[1351];\nvar anf_arg2141 = G(self2129,\"opdesc\",L[1351]);\n$step2264 = 3;\n$al2266 = L[1376];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2141,(\" (\"));\nbreak;\ncase 3: var anf_arg2142 = $ans2265;\n$al2266 = L[1352];\nvar anf_arg2143 = G(self2129,\"opname\",L[1352]);\n$step2264 = 4;\n$al2266 = L[1375];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2142,anf_arg2143);\nbreak;\ncase 4: var anf_arg2144 = $ans2265;\n$step2264 = 5;\n$al2266 = L[1374];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2144,(\") expression\"));\nbreak;\ncase 5: var anf_arg2145 = $ans2265;\n$step2264 = 6;\n$al2266 = L[1373];\n// omitting isFunction check;\n$ans2265 = ed$simple$intro104.$var.app(anf_arg2145,loc2140);\nbreak;\ncase 6: anf_array2162[0] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1353],L[1354]);\nvar anf_fun2146 = $ans2265;\n$step2264 = 7;\n$al2266 = L[1372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 7: var anf_arg2147 = $ans2265;\n$step2264 = 8;\n$al2266 = L[1354];\nif(typeof(anf_fun2146.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2146);\n}\n$ans2265 = anf_fun2146.app(anf_arg2147);\nbreak;\ncase 8: anf_array2162[1] = $ans2265;\n$al2266 = L[1355];\nvar anf_arg2148 = G(self2129,\"val1\",L[1355]);\n$step2264 = 9;\n$al2266 = L[1371];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2148);\nbreak;\ncase 9: anf_array2162[2] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1356],L[1357]);\nvar anf_fun2149 = $ans2265;\n$step2264 = 10;\n$al2266 = L[1370];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 10: var anf_arg2150 = $ans2265;\n$step2264 = 11;\n$al2266 = L[1357];\nif(typeof(anf_fun2149.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2149);\n}\n$ans2265 = anf_fun2149.app(anf_arg2150);\nbreak;\ncase 11: anf_array2162[3] = $ans2265;\n$al2266 = L[1358];\nvar anf_arg2151 = G(self2129,\"val2\",L[1358]);\n$step2264 = 12;\n$al2266 = L[1369];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2151);\nbreak;\ncase 12: anf_array2162[4] = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1359],L[1360]);\nvar anf_fun2158 = $ans2265;\n$al2266 = L[1361];\nvar anf_arg2152 = G(self2129,\"opname\",L[1361]);\n$step2264 = 13;\n$al2266 = L[1368];\n// omitting isFunction check;\n$ans2265 = _plus5.app((\"The \"),anf_arg2152);\nbreak;\ncase 13: var anf_arg2153 = $ans2265;\n$step2264 = 14;\n$al2266 = L[1367];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2153,(\" operator expects to be given:\"));\nbreak;\ncase 14: var anf_arg2154 = $ans2265;\n$step2264 = 15;\n$al2266 = L[1366];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app(anf_arg2154);\nbreak;\ncase 15: var anf_arg2159 = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1362],L[1363]);\nvar anf_fun2155 = $ans2265;\n$step2264 = 16;\n$al2266 = L[1365];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 16: var anf_arg2156 = $ans2265;\n$step2264 = 17;\n$al2266 = L[1364];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 17: var anf_arg2157 = $ans2265;\n$step2264 = 18;\n$al2266 = L[1363];\nif(typeof(anf_fun2155.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2155);\n}\n$ans2265 = anf_fun2155.app(anf_arg2156,anf_arg2157);\nbreak;\ncase 18: var anf_arg2160 = $ans2265;\n$step2264 = 19;\n$al2266 = L[1360];\nif(typeof(anf_fun2158.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2158);\n}\n$ans2265 = anf_fun2158.app(anf_arg2159,anf_arg2160);\nbreak;\ncase 19: anf_array2162[5] = $ans2265;\n$step2264 = 46;\n$al2266 = L[1350];\nif(typeof(anf_fun2161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2161);\n}\n$ans2265 = anf_fun2161.app(anf_array2162);\nbreak;\ncase 20: $step2264 = 21;\n$al2266 = L[1482];\nif(typeof(src$available2131.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,src$available2131);\n}\n$ans2265 = src$available2131.app(loc2140);\nbreak;\ncase 21: var anf_if2261 = $ans2265;\n$step2264 = R.checkPyretTrue(anf_if2261)?22:28;\nbreak;\ncase 22: $step2264 = 23;\n$al2266 = L[1453];\nif(typeof(maybe$ast2132.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,maybe$ast2132);\n}\n$ans2265 = maybe$ast2132.app(loc2140);\nbreak;\ncase 23: var cases2163 = $ans2265;\n$step2264 = 24;\n$al2266 = L[1452];\nvar $ann$check2284 = R._cA(L[1452],R.gDA(L[1452],\"O\",O8.dict.types,\"Option\"),cases2163);\nif(R.isContinuation($ann$check2284)) {\n$ans2265 = $ann$check2284;\n}\nbreak;\ncase 24: $al2266 = L[1421];\n$step2264 = $cases_dispatch2283[cases2163.$name] || 27;\nbreak;\ncase 25: if(cases2163.$arity !== 1) {\nif(cases2163.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1420],1,cases2163.$arity,L[1421],cases2163.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1420],true,L[1421],cases2163.$loc);\n}\n}\n$step2264 = 46;\n$al2266 = L[1420];\nvar $temp_branch2269 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1421($ast2164) {\nvar $step2270 = 0;\nvar $elidedFrames2274 = 0;\nvar $ans2271 = D;\nvar $al2272 = L[1377];\nif(R.isAR($ast2164)) {\n$step2270 = $ast2164.step;\n$al2272 = $ast2164.from;\n$ans2271 = $ast2164.ans;\n$elidedFrames2274 = $ast2164.elidedFrames;\nast2164 = $ast2164.args[0];\nanf_arg2174 = $ast2164.vars[0];\nanf_arg2186 = $ast2164.vars[1];\nanf_arg2197 = $ast2164.vars[2];\nanf_array2200 = $ast2164.vars[3];\nanf_arg2187 = $ast2164.vars[4];\nanf_arg2177 = $ast2164.vars[5];\nanf_arg2178 = $ast2164.vars[6];\nleft$loc2173 = $ast2164.vars[7];\nanf_fun2193 = $ast2164.vars[8];\nright$loc2182 = $ast2164.vars[9];\nanf_fun2185 = $ast2164.vars[10];\nanf_fun2196 = $ast2164.vars[11];\nanf_fun2176 = $ast2164.vars[12];\nanf_fun2199 = $ast2164.vars[13];\nanf_arg2183 = $ast2164.vars[14];\nanf_arg2194 = $ast2164.vars[15];\n} else {\nvar ast2164 = $ast2164;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2271 = R.mC();\n}\nwhile(!R.isContinuation($ans2271)) {\nswitch($step2270) {\ncase 0: $al2272 = L[1377];\nvar anf_bracket2165 = G(ast2164,\"left\",L[1377]);\n$al2272 = L[1378];\nvar left$loc2173 = G(anf_bracket2165,\"l\",L[1378]);\n$al2272 = L[1379];\nvar anf_bracket2166 = G(ast2164,\"right\",L[1379]);\n$al2272 = L[1380];\nvar right$loc2182 = G(anf_bracket2166,\"l\",L[1380]);\n$ans2271 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1381],L[1382]);\nvar anf_fun2199 = $ans2271;\n$ans2271 = R.makeArrayN((7));\nvar anf_array2200 = $ans2271;\n$al2272 = L[1383];\nvar anf_arg2167 = G(self2129,\"opdesc\",L[1383]);\n$step2270 = 1;\n$al2272 = L[1419];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2167,(\" (\"));\nbreak;\ncase 1: var anf_arg2168 = $ans2271;\n$al2272 = L[1384];\nvar anf_arg2169 = G(self2129,\"opname\",L[1384]);\n$step2270 = 2;\n$al2272 = L[1418];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2168,anf_arg2169);\nbreak;\ncase 2: var anf_arg2170 = $ans2271;\n$step2270 = 3;\n$al2272 = L[1417];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2170,(\") expression\"));\nbreak;\ncase 3: var anf_arg2171 = $ans2271;\n$step2270 = 4;\n$al2272 = L[1416];\n// omitting isFunction check;\n$ans2271 = ed$intro146.$var.app(anf_arg2171,loc2140,(-1),(true));\nbreak;\ncase 4: anf_array2200[0] = $ans2271;\n$step2270 = 5;\n$al2272 = L[1415];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"cmcode\"].app(loc2140);\nbreak;\ncase 5: anf_array2200[1] = $ans2271;\n$ans2271 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1385],L[1386]);\nvar anf_fun2176 = $ans2271;\n$step2270 = 6;\n$al2272 = L[1414];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 6: var anf_arg2177 = $ans2271;\n$step2270 = 7;\n$al2272 = L[1413];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 7: var anf_arg2174 = $ans2271;\n$ans2271 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1387],L[1388]);\nvar anf_fun2172 = $ans2271;\n$step2270 = 8;\n$al2272 = L[1388];\nif(typeof(anf_fun2172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2172);\n}\n$ans2271 = anf_fun2172.app(left$loc2173);\nbreak;\ncase 8: var anf_arg2175 = $ans2271;\n$step2270 = 9;\n$al2272 = L[1412];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2174,anf_arg2175,(0));\nbreak;\ncase 9: var anf_arg2178 = $ans2271;\n$step2270 = 10;\n$al2272 = L[1411];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 10: var anf_arg2179 = $ans2271;\n$step2270 = 11;\n$al2272 = L[1386];\nif(typeof(anf_fun2176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2176);\n}\n$ans2271 = anf_fun2176.app(anf_arg2177,anf_arg2178,anf_arg2179);\nbreak;\ncase 11: anf_array2200[2] = $ans2271;\n$al2272 = L[1389];\nvar anf_arg2180 = G(self2129,\"val1\",L[1389]);\n$step2270 = 12;\n$al2272 = L[1410];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"embed\"].app(anf_arg2180);\nbreak;\ncase 12: anf_array2200[3] = $ans2271;\n$ans2271 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1390],L[1391]);\nvar anf_fun2185 = $ans2271;\n$step2270 = 13;\n$al2272 = L[1409];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg2186 = $ans2271;\n$step2270 = 14;\n$al2272 = L[1408];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 14: var anf_arg2183 = $ans2271;\n$ans2271 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1392],L[1393]);\nvar anf_fun2181 = $ans2271;\n$step2270 = 15;\n$al2272 = L[1393];\nif(typeof(anf_fun2181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2181);\n}\n$ans2271 = anf_fun2181.app(right$loc2182);\nbreak;\ncase 15: var anf_arg2184 = $ans2271;\n$step2270 = 16;\n$al2272 = L[1407];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2183,anf_arg2184,(1));\nbreak;\ncase 16: var anf_arg2187 = $ans2271;\n$step2270 = 17;\n$al2272 = L[1406];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 17: var anf_arg2188 = $ans2271;\n$step2270 = 18;\n$al2272 = L[1391];\nif(typeof(anf_fun2185.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2185);\n}\n$ans2271 = anf_fun2185.app(anf_arg2186,anf_arg2187,anf_arg2188);\nbreak;\ncase 18: anf_array2200[4] = $ans2271;\n$al2272 = L[1394];\nvar anf_arg2189 = G(self2129,\"val2\",L[1394]);\n$step2270 = 19;\n$al2272 = L[1405];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"embed\"].app(anf_arg2189);\nbreak;\ncase 19: anf_array2200[5] = $ans2271;\n$ans2271 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1395],L[1396]);\nvar anf_fun2196 = $ans2271;\n$al2272 = L[1397];\nvar anf_arg2190 = G(self2129,\"opname\",L[1397]);\n$step2270 = 20;\n$al2272 = L[1404];\n// omitting isFunction check;\n$ans2271 = _plus5.app((\"The \"),anf_arg2190);\nbreak;\ncase 20: var anf_arg2191 = $ans2271;\n$step2270 = 21;\n$al2272 = L[1403];\n// omitting isFunction check;\n$ans2271 = _plus5.app(anf_arg2191,(\" operator expects to be given:\"));\nbreak;\ncase 21: var anf_arg2192 = $ans2271;\n$step2270 = 22;\n$al2272 = L[1402];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app(anf_arg2192);\nbreak;\ncase 22: var anf_arg2197 = $ans2271;\n$ans2271 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1398],L[1399]);\nvar anf_fun2193 = $ans2271;\n$step2270 = 23;\n$al2272 = L[1401];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 23: var anf_arg2194 = $ans2271;\n$step2270 = 24;\n$al2272 = L[1400];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,ED6.dict.values.dict[\"text\"]);\n}\n$ans2271 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 24: var anf_arg2195 = $ans2271;\n$step2270 = 25;\n$al2272 = L[1399];\nif(typeof(anf_fun2193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2193);\n}\n$ans2271 = anf_fun2193.app(anf_arg2194,anf_arg2195);\nbreak;\ncase 25: var anf_arg2198 = $ans2271;\n$step2270 = 26;\n$al2272 = L[1396];\nif(typeof(anf_fun2196.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2196);\n}\n$ans2271 = anf_fun2196.app(anf_arg2197,anf_arg2198);\nbreak;\ncase 26: anf_array2200[6] = $ans2271;\n$step2270 = 27;\n$al2272 = L[1382];\nif(typeof(anf_fun2199.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2272,anf_fun2199);\n}\n$ans2271 = anf_fun2199.app(anf_array2200);\nbreak;\ncase 27: ++R.GAS;\nreturn $ans2271;\ndefault: R.ffi.throwSpinnakerError(L[1377],$step2270);\n}\n}\nif($step2270 !== 27) {\n$ans2271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2272,$temp_branch2269,$step2270,[ast2164],[anf_arg2174,anf_arg2186,anf_arg2197,anf_array2200,anf_arg2187,anf_arg2177,anf_arg2178,left$loc2173,anf_fun2193,right$loc2182,anf_fun2185,anf_fun2196,anf_fun2176,anf_fun2199,anf_arg2183,anf_arg2194],$elidedFrames2274);\n}\nreturn $ans2271;\n};\n$ans2265 = cases2163.$app_fields($temp_branch2269,[false]);\nbreak;\ncase 26: if(cases2163.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1451],false,L[1421],cases2163.$loc);\n}\n$step2264 = 46;\n$al2266 = L[1451];\nvar $temp_branch2276 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1421($$resumer13) {\nvar $step2277 = 0;\nvar $elidedFrames2281 = 0;\nvar $ans2278 = D;\nvar $al2279 = L[1423];\nif(R.isAR($$resumer13)) {\n$step2277 = $$resumer13.step;\n$al2279 = $$resumer13.from;\n$ans2278 = $$resumer13.ans;\n$elidedFrames2281 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2216 = $$resumer13.vars[0];\nanf_fun2228 = $$resumer13.vars[1];\nanf_arg2223 = $$resumer13.vars[2];\nanf_array2229 = $$resumer13.vars[3];\nanf_arg2226 = $$resumer13.vars[4];\nanf_fun2222 = $$resumer13.vars[5];\nanf_fun2213 = $$resumer13.vars[6];\nanf_fun2225 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2278 = R.mC();\n}\nwhile(!R.isContinuation($ans2278)) {\nswitch($step2277) {\ncase 0: $ans2278 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1422],L[1423]);\nvar anf_fun2228 = $ans2278;\n$ans2278 = R.makeArrayN((7));\nvar anf_array2229 = $ans2278;\n$al2279 = L[1424];\nvar anf_arg2208 = G(self2129,\"opdesc\",L[1424]);\n$step2277 = 1;\n$al2279 = L[1450];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2208,(\" (\"));\nbreak;\ncase 1: var anf_arg2209 = $ans2278;\n$al2279 = L[1425];\nvar anf_arg2210 = G(self2129,\"opname\",L[1425]);\n$step2277 = 2;\n$al2279 = L[1449];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2209,anf_arg2210);\nbreak;\ncase 2: var anf_arg2211 = $ans2278;\n$step2277 = 3;\n$al2279 = L[1448];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2211,(\") expression\"));\nbreak;\ncase 3: var anf_arg2212 = $ans2278;\n$step2277 = 4;\n$al2279 = L[1447];\n// omitting isFunction check;\n$ans2278 = ed$intro146.$var.app(anf_arg2212,loc2140,(0),(true));\nbreak;\ncase 4: anf_array2229[0] = $ans2278;\n$step2277 = 5;\n$al2279 = L[1446];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"cmcode\"].app(loc2140);\nbreak;\ncase 5: anf_array2229[1] = $ans2278;\n$ans2278 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1426],L[1427]);\nvar anf_fun2213 = $ans2278;\n$step2277 = 6;\n$al2279 = L[1445];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2214 = $ans2278;\n$step2277 = 7;\n$al2279 = L[1427];\nif(typeof(anf_fun2213.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2213);\n}\n$ans2278 = anf_fun2213.app(anf_arg2214);\nbreak;\ncase 7: anf_array2229[2] = $ans2278;\n$al2279 = L[1428];\nvar anf_arg2215 = G(self2129,\"val1\",L[1428]);\n$step2277 = 8;\n$al2279 = L[1444];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"embed\"].app(anf_arg2215);\nbreak;\ncase 8: anf_array2229[3] = $ans2278;\n$ans2278 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1429],L[1430]);\nvar anf_fun2216 = $ans2278;\n$step2277 = 9;\n$al2279 = L[1443];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2217 = $ans2278;\n$step2277 = 10;\n$al2279 = L[1430];\nif(typeof(anf_fun2216.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2216);\n}\n$ans2278 = anf_fun2216.app(anf_arg2217);\nbreak;\ncase 10: anf_array2229[4] = $ans2278;\n$al2279 = L[1431];\nvar anf_arg2218 = G(self2129,\"val2\",L[1431]);\n$step2277 = 11;\n$al2279 = L[1442];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"embed\"].app(anf_arg2218);\nbreak;\ncase 11: anf_array2229[5] = $ans2278;\n$ans2278 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1432],L[1433]);\nvar anf_fun2225 = $ans2278;\n$al2279 = L[1434];\nvar anf_arg2219 = G(self2129,\"opname\",L[1434]);\n$step2277 = 12;\n$al2279 = L[1441];\n// omitting isFunction check;\n$ans2278 = _plus5.app((\"The \"),anf_arg2219);\nbreak;\ncase 12: var anf_arg2220 = $ans2278;\n$step2277 = 13;\n$al2279 = L[1440];\n// omitting isFunction check;\n$ans2278 = _plus5.app(anf_arg2220,(\" operator expects to be given:\"));\nbreak;\ncase 13: var anf_arg2221 = $ans2278;\n$step2277 = 14;\n$al2279 = L[1439];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app(anf_arg2221);\nbreak;\ncase 14: var anf_arg2226 = $ans2278;\n$ans2278 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1435],L[1436]);\nvar anf_fun2222 = $ans2278;\n$step2277 = 15;\n$al2279 = L[1438];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 15: var anf_arg2223 = $ans2278;\n$step2277 = 16;\n$al2279 = L[1437];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,ED6.dict.values.dict[\"text\"]);\n}\n$ans2278 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 16: var anf_arg2224 = $ans2278;\n$step2277 = 17;\n$al2279 = L[1436];\nif(typeof(anf_fun2222.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2222);\n}\n$ans2278 = anf_fun2222.app(anf_arg2223,anf_arg2224);\nbreak;\ncase 17: var anf_arg2227 = $ans2278;\n$step2277 = 18;\n$al2279 = L[1433];\nif(typeof(anf_fun2225.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2225);\n}\n$ans2278 = anf_fun2225.app(anf_arg2226,anf_arg2227);\nbreak;\ncase 18: anf_array2229[6] = $ans2278;\n$step2277 = 19;\n$al2279 = L[1423];\nif(typeof(anf_fun2228.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2279,anf_fun2228);\n}\n$ans2278 = anf_fun2228.app(anf_array2229);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2278;\ndefault: R.ffi.throwSpinnakerError(L[1423],$step2277);\n}\n}\nif($step2277 !== 19) {\n$ans2278.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2279,$temp_branch2276,$step2277,[],[anf_fun2216,anf_fun2228,anf_arg2223,anf_array2229,anf_arg2226,anf_fun2222,anf_fun2213,anf_fun2225],$elidedFrames2281);\n}\nreturn $ans2278;\n};\n$ans2265 = cases2163.$app_fields($temp_branch2276,[]);\nbreak;\ncase 27: $ans2265 = R.throwNoCasesMatched(L[1421],cases2163);\n$step2264 = 46;\nbreak;\ncase 28: $ans2265 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1454],L[1455]);\nvar anf_fun2259 = $ans2265;\n$ans2265 = R.makeArrayN((6));\nvar anf_array2260 = $ans2265;\n$al2266 = L[1456];\nvar anf_arg2239 = G(self2129,\"opdesc\",L[1456]);\n$step2264 = 29;\n$al2266 = L[1481];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2239,(\" (\"));\nbreak;\ncase 29: var anf_arg2240 = $ans2265;\n$al2266 = L[1457];\nvar anf_arg2241 = G(self2129,\"opname\",L[1457]);\n$step2264 = 30;\n$al2266 = L[1480];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2240,anf_arg2241);\nbreak;\ncase 30: var anf_arg2242 = $ans2265;\n$step2264 = 31;\n$al2266 = L[1479];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2242,(\") expression\"));\nbreak;\ncase 31: var anf_arg2243 = $ans2265;\n$step2264 = 32;\n$al2266 = L[1478];\n// omitting isFunction check;\n$ans2265 = ed$simple$intro104.$var.app(anf_arg2243,loc2140);\nbreak;\ncase 32: anf_array2260[0] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1458],L[1459]);\nvar anf_fun2244 = $ans2265;\n$step2264 = 33;\n$al2266 = L[1477];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 33: var anf_arg2245 = $ans2265;\n$step2264 = 34;\n$al2266 = L[1459];\nif(typeof(anf_fun2244.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2244);\n}\n$ans2265 = anf_fun2244.app(anf_arg2245);\nbreak;\ncase 34: anf_array2260[1] = $ans2265;\n$al2266 = L[1460];\nvar anf_arg2246 = G(self2129,\"val1\",L[1460]);\n$step2264 = 35;\n$al2266 = L[1476];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2246);\nbreak;\ncase 35: anf_array2260[2] = $ans2265;\n$ans2265 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1461],L[1462]);\nvar anf_fun2247 = $ans2265;\n$step2264 = 36;\n$al2266 = L[1475];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 36: var anf_arg2248 = $ans2265;\n$step2264 = 37;\n$al2266 = L[1462];\nif(typeof(anf_fun2247.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2247);\n}\n$ans2265 = anf_fun2247.app(anf_arg2248);\nbreak;\ncase 37: anf_array2260[3] = $ans2265;\n$al2266 = L[1463];\nvar anf_arg2249 = G(self2129,\"val2\",L[1463]);\n$step2264 = 38;\n$al2266 = L[1474];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"embed\"].app(anf_arg2249);\nbreak;\ncase 38: anf_array2260[4] = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1464],L[1465]);\nvar anf_fun2256 = $ans2265;\n$al2266 = L[1466];\nvar anf_arg2250 = G(self2129,\"opname\",L[1466]);\n$step2264 = 39;\n$al2266 = L[1473];\n// omitting isFunction check;\n$ans2265 = _plus5.app((\"The \"),anf_arg2250);\nbreak;\ncase 39: var anf_arg2251 = $ans2265;\n$step2264 = 40;\n$al2266 = L[1472];\n// omitting isFunction check;\n$ans2265 = _plus5.app(anf_arg2251,(\" operator expects to be given:\"));\nbreak;\ncase 40: var anf_arg2252 = $ans2265;\n$step2264 = 41;\n$al2266 = L[1471];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app(anf_arg2252);\nbreak;\ncase 41: var anf_arg2257 = $ans2265;\n$ans2265 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1467],L[1468]);\nvar anf_fun2253 = $ans2265;\n$step2264 = 42;\n$al2266 = L[1470];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 42: var anf_arg2254 = $ans2265;\n$step2264 = 43;\n$al2266 = L[1469];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,ED6.dict.values.dict[\"text\"]);\n}\n$ans2265 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 43: var anf_arg2255 = $ans2265;\n$step2264 = 44;\n$al2266 = L[1468];\nif(typeof(anf_fun2253.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2253);\n}\n$ans2265 = anf_fun2253.app(anf_arg2254,anf_arg2255);\nbreak;\ncase 44: var anf_arg2258 = $ans2265;\n$step2264 = 45;\n$al2266 = L[1465];\nif(typeof(anf_fun2256.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2256);\n}\n$ans2265 = anf_fun2256.app(anf_arg2257,anf_arg2258);\nbreak;\ncase 45: anf_array2260[5] = $ans2265;\n$step2264 = 46;\n$al2266 = L[1455];\nif(typeof(anf_fun2259.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2266,anf_fun2259);\n}\n$ans2265 = anf_fun2259.app(anf_array2260);\nbreak;\ncase 46: ++R.GAS;\nreturn $ans2265;\ndefault: R.ffi.throwSpinnakerError(L[1348],$step2264);\n}\n}\nif($step2264 !== 46) {\n$ans2265.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2266,$temp_branch2263,$step2264,[loc2140],[anf_fun2259,anf_fun2149,anf_arg2254,anf_arg2156,anf_arg2257,anf_arg2159,cases2163,anf_fun2161,anf_fun2253,anf_fun2155,anf_array2260,anf_fun2244,anf_array2162,anf_fun2256,anf_fun2146,anf_fun2158,anf_fun2247],$elidedFrames2268);\n}\nreturn $ans2265;\n};\n$ans2133 = cases2137.$app_fields($temp_branch2263,[false]);\nbreak;\ncase 4: if(cases2137.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1517],false,L[1484],cases2137.$loc);\n}\n$step2127 = 6;\n$al2134 = L[1517];\nvar $temp_branch2312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1484($$resumer13) {\nvar $step2313 = 0;\nvar $elidedFrames2317 = 0;\nvar $ans2314 = D;\nvar $al2315 = L[1486];\nif(R.isAR($$resumer13)) {\n$step2313 = $$resumer13.step;\n$al2315 = $$resumer13.from;\n$ans2314 = $$resumer13.ans;\n$elidedFrames2317 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2304 = $$resumer13.vars[0];\nanf_array2311 = $$resumer13.vars[1];\nanf_fun2307 = $$resumer13.vars[2];\nanf_arg2305 = $$resumer13.vars[3];\nanf_arg2308 = $$resumer13.vars[4];\nanf_fun2291 = $$resumer13.vars[5];\nanf_fun2295 = $$resumer13.vars[6];\nanf_fun2298 = $$resumer13.vars[7];\nanf_fun2310 = $$resumer13.vars[8];\nanf_arg2292 = $$resumer13.vars[9];\nanf_arg2293 = $$resumer13.vars[10];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2314 = R.mC();\n}\nwhile(!R.isContinuation($ans2314)) {\nswitch($step2313) {\ncase 0: $ans2314 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1485],L[1486]);\nvar anf_fun2310 = $ans2314;\n$ans2314 = R.makeArrayN((6));\nvar anf_array2311 = $ans2314;\n$ans2314 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1487],L[1488]);\nvar anf_fun2291 = $ans2314;\n$al2315 = L[1489];\nvar anf_arg2286 = G(self2129,\"opdesc\",L[1489]);\n$step2313 = 1;\n$al2315 = L[1516];\n// omitting isFunction check;\n$ans2314 = _plus5.app((\"A \"),anf_arg2286);\nbreak;\ncase 1: var anf_arg2287 = $ans2314;\n$step2313 = 2;\n$al2315 = L[1515];\n// omitting isFunction check;\n$ans2314 = _plus5.app(anf_arg2287,(\" (\"));\nbreak;\ncase 2: var anf_arg2288 = $ans2314;\n$step2313 = 3;\n$al2315 = L[1514];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2288);\nbreak;\ncase 3: var anf_arg2292 = $ans2314;\n$al2315 = L[1490];\nvar anf_arg2289 = G(self2129,\"opname\",L[1490]);\n$step2313 = 4;\n$al2315 = L[1513];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2289);\nbreak;\ncase 4: var anf_arg2290 = $ans2314;\n$step2313 = 5;\n$al2315 = L[1512];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"code\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"code\"].app(anf_arg2290);\nbreak;\ncase 5: var anf_arg2293 = $ans2314;\n$step2313 = 6;\n$al2315 = L[1511];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\") expression errored.\"));\nbreak;\ncase 6: var anf_arg2294 = $ans2314;\n$step2313 = 7;\n$al2315 = L[1488];\nif(typeof(anf_fun2291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2291);\n}\n$ans2314 = anf_fun2291.app(anf_arg2292,anf_arg2293,anf_arg2294);\nbreak;\ncase 7: anf_array2311[0] = $ans2314;\n$ans2314 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1491],L[1492]);\nvar anf_fun2295 = $ans2314;\n$step2313 = 8;\n$al2315 = L[1510];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 8: var anf_arg2296 = $ans2314;\n$step2313 = 9;\n$al2315 = L[1492];\nif(typeof(anf_fun2295.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2295);\n}\n$ans2314 = anf_fun2295.app(anf_arg2296);\nbreak;\ncase 9: anf_array2311[1] = $ans2314;\n$al2315 = L[1493];\nvar anf_arg2297 = G(self2129,\"val1\",L[1493]);\n$step2313 = 10;\n$al2315 = L[1509];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"embed\"].app(anf_arg2297);\nbreak;\ncase 10: anf_array2311[2] = $ans2314;\n$ans2314 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1494],L[1495]);\nvar anf_fun2298 = $ans2314;\n$step2313 = 11;\n$al2315 = L[1508];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 11: var anf_arg2299 = $ans2314;\n$step2313 = 12;\n$al2315 = L[1495];\nif(typeof(anf_fun2298.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2298);\n}\n$ans2314 = anf_fun2298.app(anf_arg2299);\nbreak;\ncase 12: anf_array2311[3] = $ans2314;\n$al2315 = L[1496];\nvar anf_arg2300 = G(self2129,\"val2\",L[1496]);\n$step2313 = 13;\n$al2315 = L[1507];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"embed\"].app(anf_arg2300);\nbreak;\ncase 13: anf_array2311[4] = $ans2314;\n$ans2314 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1497],L[1498]);\nvar anf_fun2307 = $ans2314;\n$al2315 = L[1499];\nvar anf_arg2301 = G(self2129,\"opname\",L[1499]);\n$step2313 = 14;\n$al2315 = L[1506];\n// omitting isFunction check;\n$ans2314 = _plus5.app((\"The \"),anf_arg2301);\nbreak;\ncase 14: var anf_arg2302 = $ans2314;\n$step2313 = 15;\n$al2315 = L[1505];\n// omitting isFunction check;\n$ans2314 = _plus5.app(anf_arg2302,(\" operator expects to be given:\"));\nbreak;\ncase 15: var anf_arg2303 = $ans2314;\n$step2313 = 16;\n$al2315 = L[1504];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app(anf_arg2303);\nbreak;\ncase 16: var anf_arg2308 = $ans2314;\n$ans2314 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1500],L[1501]);\nvar anf_fun2304 = $ans2314;\n$step2313 = 17;\n$al2315 = L[1503];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 17: var anf_arg2305 = $ans2314;\n$step2313 = 18;\n$al2315 = L[1502];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,ED6.dict.values.dict[\"text\"]);\n}\n$ans2314 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 18: var anf_arg2306 = $ans2314;\n$step2313 = 19;\n$al2315 = L[1501];\nif(typeof(anf_fun2304.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2304);\n}\n$ans2314 = anf_fun2304.app(anf_arg2305,anf_arg2306);\nbreak;\ncase 19: var anf_arg2309 = $ans2314;\n$step2313 = 20;\n$al2315 = L[1498];\nif(typeof(anf_fun2307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2307);\n}\n$ans2314 = anf_fun2307.app(anf_arg2308,anf_arg2309);\nbreak;\ncase 20: anf_array2311[5] = $ans2314;\n$step2313 = 21;\n$al2315 = L[1486];\nif(typeof(anf_fun2310.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2315,anf_fun2310);\n}\n$ans2314 = anf_fun2310.app(anf_array2311);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans2314;\ndefault: R.ffi.throwSpinnakerError(L[1486],$step2313);\n}\n}\nif($step2313 !== 21) {\n$ans2314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2315,$temp_branch2312,$step2313,[],[anf_fun2304,anf_array2311,anf_fun2307,anf_arg2305,anf_arg2308,anf_fun2291,anf_fun2295,anf_fun2298,anf_fun2310,anf_arg2292,anf_arg2293],$elidedFrames2317);\n}\nreturn $ans2314;\n};\n$ans2133 = cases2137.$app_fields($temp_branch2312,[]);\nbreak;\ncase 5: $ans2133 = R.throwNoCasesMatched(L[1484],cases2137);\n$step2127 = 6;\nbreak;\ncase 6: var anf_arg2139 = $ans2133;\n$step2127 = 7;\n$al2134 = L[1347];\nif(typeof(anf_fun2138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2134,anf_fun2138);\n}\n$ans2133 = anf_fun2138.app(anf_arg2139);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2133;\ndefault: R.ffi.throwSpinnakerError(L[1345],$step2127);\n}\n}\nif($step2127 !== 7) {\n$ans2133.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2134,$temp_full2128,$step2127,[self2129,maybe$stack$loc2130,src$available2131,maybe$ast2132],[anf_fun2138,cases2137],$elidedFrames2136);\n}\nreturn $ans2133;\n};\nvar anf_variant_member5899 = R.makeMethod3($temp_full2128,\"render-fancy-reason\");\nvar $temp_full2323 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1520($self2324) {\nvar $step2322 = 0;\nvar $elidedFrames2328 = 0;\nvar $ans2325 = D;\nvar $al2326 = L[1520];\nif(R.isAR($self2324)) {\n$step2322 = $self2324.step;\n$al2326 = $self2324.from;\n$ans2325 = $self2324.ans;\n$elidedFrames2328 = $self2324.elidedFrames;\nself2324 = $self2324.args[0];\nanf_arg2382 = $self2324.vars[0];\nanf_arg2362 = $self2324.vars[1];\nanf_arg2363 = $self2324.vars[2];\nanf_arg2375 = $self2324.vars[3];\nanf_arg2378 = $self2324.vars[4];\nanf_fun2380 = $self2324.vars[5];\nanf_fun2361 = $self2324.vars[6];\nanf_fun2384 = $self2324.vars[7];\nanf_fun2374 = $self2324.vars[8];\nanf_array2381 = $self2324.vars[9];\nanf_fun2365 = $self2324.vars[10];\nanf_fun2377 = $self2324.vars[11];\nanf_fun2368 = $self2324.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1520],1,$t,true);\n}\nvar self2324 = $self2324;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2325 = R.mC();\n}\nwhile(!R.isContinuation($ans2325)) {\nswitch($step2322) {\ncase 0: $ans2325 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1521],L[1522]);\nvar anf_fun2384 = $ans2325;\nvar $temp_lam2330 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1523($loc2331) {\nvar $step2329 = 0;\nvar $elidedFrames2335 = 0;\nvar $ans2332 = D;\nvar $al2333 = L[1523];\nif(R.isAR($loc2331)) {\n$step2329 = $loc2331.step;\n$al2333 = $loc2331.from;\n$ans2332 = $loc2331.ans;\n$elidedFrames2335 = $loc2331.elidedFrames;\nloc2331 = $loc2331.args[0];\nanf_arg2351 = $loc2331.vars[0];\nanf_array2357 = $loc2331.vars[1];\nanf_arg2354 = $loc2331.vars[2];\nanf_fun2350 = $loc2331.vars[3];\nanf_fun2341 = $loc2331.vars[4];\nanf_fun2353 = $loc2331.vars[5];\nanf_fun2344 = $loc2331.vars[6];\nanf_fun2356 = $loc2331.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1523],1,$t,false);\n}\nvar loc2331 = $loc2331;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2332 = R.mC();\n}\nwhile(!R.isContinuation($ans2332)) {\nswitch($step2329) {\ncase 0: $ans2332 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1524],L[1525]);\nvar anf_fun2356 = $ans2332;\n$ans2332 = R.makeArrayN((6));\nvar anf_array2357 = $ans2332;\n$al2333 = L[1526];\nvar anf_arg2336 = G(self2324,\"opdesc\",L[1526]);\n$step2329 = 1;\n$al2333 = L[1551];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2336,(\" (\"));\nbreak;\ncase 1: var anf_arg2337 = $ans2332;\n$al2333 = L[1527];\nvar anf_arg2338 = G(self2324,\"opname\",L[1527]);\n$step2329 = 2;\n$al2333 = L[1550];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2337,anf_arg2338);\nbreak;\ncase 2: var anf_arg2339 = $ans2332;\n$step2329 = 3;\n$al2333 = L[1549];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2339,(\") expression\"));\nbreak;\ncase 3: var anf_arg2340 = $ans2332;\n$step2329 = 4;\n$al2333 = L[1548];\n// omitting isFunction check;\n$ans2332 = ed$simple$intro104.$var.app(anf_arg2340,loc2331);\nbreak;\ncase 4: anf_array2357[0] = $ans2332;\n$ans2332 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1528],L[1529]);\nvar anf_fun2341 = $ans2332;\n$step2329 = 5;\n$al2333 = L[1547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 5: var anf_arg2342 = $ans2332;\n$step2329 = 6;\n$al2333 = L[1529];\nif(typeof(anf_fun2341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2341);\n}\n$ans2332 = anf_fun2341.app(anf_arg2342);\nbreak;\ncase 6: anf_array2357[1] = $ans2332;\n$al2333 = L[1530];\nvar anf_arg2343 = G(self2324,\"val1\",L[1530]);\n$step2329 = 7;\n$al2333 = L[1546];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"embed\"].app(anf_arg2343);\nbreak;\ncase 7: anf_array2357[2] = $ans2332;\n$ans2332 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1531],L[1532]);\nvar anf_fun2344 = $ans2332;\n$step2329 = 8;\n$al2333 = L[1545];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 8: var anf_arg2345 = $ans2332;\n$step2329 = 9;\n$al2333 = L[1532];\nif(typeof(anf_fun2344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2344);\n}\n$ans2332 = anf_fun2344.app(anf_arg2345);\nbreak;\ncase 9: anf_array2357[3] = $ans2332;\n$al2333 = L[1533];\nvar anf_arg2346 = G(self2324,\"val2\",L[1533]);\n$step2329 = 10;\n$al2333 = L[1544];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"embed\"].app(anf_arg2346);\nbreak;\ncase 10: anf_array2357[4] = $ans2332;\n$ans2332 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1534],L[1535]);\nvar anf_fun2353 = $ans2332;\n$al2333 = L[1536];\nvar anf_arg2347 = G(self2324,\"opname\",L[1536]);\n$step2329 = 11;\n$al2333 = L[1543];\n// omitting isFunction check;\n$ans2332 = _plus5.app((\"The \"),anf_arg2347);\nbreak;\ncase 11: var anf_arg2348 = $ans2332;\n$step2329 = 12;\n$al2333 = L[1542];\n// omitting isFunction check;\n$ans2332 = _plus5.app(anf_arg2348,(\" operator expects to be given:\"));\nbreak;\ncase 12: var anf_arg2349 = $ans2332;\n$step2329 = 13;\n$al2333 = L[1541];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app(anf_arg2349);\nbreak;\ncase 13: var anf_arg2354 = $ans2332;\n$ans2332 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1537],L[1538]);\nvar anf_fun2350 = $ans2332;\n$step2329 = 14;\n$al2333 = L[1540];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 14: var anf_arg2351 = $ans2332;\n$step2329 = 15;\n$al2333 = L[1539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,ED6.dict.values.dict[\"text\"]);\n}\n$ans2332 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 15: var anf_arg2352 = $ans2332;\n$step2329 = 16;\n$al2333 = L[1538];\nif(typeof(anf_fun2350.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2350);\n}\n$ans2332 = anf_fun2350.app(anf_arg2351,anf_arg2352);\nbreak;\ncase 16: var anf_arg2355 = $ans2332;\n$step2329 = 17;\n$al2333 = L[1535];\nif(typeof(anf_fun2353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2353);\n}\n$ans2332 = anf_fun2353.app(anf_arg2354,anf_arg2355);\nbreak;\ncase 17: anf_array2357[5] = $ans2332;\n$step2329 = 18;\n$al2333 = L[1525];\nif(typeof(anf_fun2356.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2333,anf_fun2356);\n}\n$ans2332 = anf_fun2356.app(anf_array2357);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2332;\ndefault: R.ffi.throwSpinnakerError(L[1523],$step2329);\n}\n}\nif($step2329 !== 18) {\n$ans2332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2333,$temp_lam2330,$step2329,[loc2331],[anf_arg2351,anf_array2357,anf_arg2354,anf_fun2350,anf_fun2341,anf_fun2353,anf_fun2344,anf_fun2356],$elidedFrames2335);\n}\nreturn $ans2332;\n};\nvar anf_arg2382 = R.mF($temp_lam2330,\"\");\n$ans2325 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1552],L[1553]);\nvar anf_fun2380 = $ans2325;\n$ans2325 = R.makeArrayN((6));\nvar anf_array2381 = $ans2325;\n$ans2325 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1554],L[1555]);\nvar anf_fun2361 = $ans2325;\n$step2322 = 1;\n$al2326 = L[1581];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2362 = $ans2325;\n$al2326 = L[1556];\nvar anf_arg2359 = G(self2324,\"opname\",L[1556]);\n$step2322 = 2;\n$al2326 = L[1580];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app(anf_arg2359);\nbreak;\ncase 2: var anf_arg2360 = $ans2325;\n$step2322 = 3;\n$al2326 = L[1579];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"code\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"code\"].app(anf_arg2360);\nbreak;\ncase 3: var anf_arg2363 = $ans2325;\n$step2322 = 4;\n$al2326 = L[1578];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\" expression errored.\"));\nbreak;\ncase 4: var anf_arg2364 = $ans2325;\n$step2322 = 5;\n$al2326 = L[1555];\nif(typeof(anf_fun2361.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2361);\n}\n$ans2325 = anf_fun2361.app(anf_arg2362,anf_arg2363,anf_arg2364);\nbreak;\ncase 5: anf_array2381[0] = $ans2325;\n$ans2325 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1557],L[1558]);\nvar anf_fun2365 = $ans2325;\n$step2322 = 6;\n$al2326 = L[1577];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2366 = $ans2325;\n$step2322 = 7;\n$al2326 = L[1558];\nif(typeof(anf_fun2365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2365);\n}\n$ans2325 = anf_fun2365.app(anf_arg2366);\nbreak;\ncase 7: anf_array2381[1] = $ans2325;\n$al2326 = L[1559];\nvar anf_arg2367 = G(self2324,\"val1\",L[1559]);\n$step2322 = 8;\n$al2326 = L[1576];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"embed\"].app(anf_arg2367);\nbreak;\ncase 8: anf_array2381[2] = $ans2325;\n$ans2325 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1560],L[1561]);\nvar anf_fun2368 = $ans2325;\n$step2322 = 9;\n$al2326 = L[1575];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2369 = $ans2325;\n$step2322 = 10;\n$al2326 = L[1561];\nif(typeof(anf_fun2368.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2368);\n}\n$ans2325 = anf_fun2368.app(anf_arg2369);\nbreak;\ncase 10: anf_array2381[3] = $ans2325;\n$al2326 = L[1562];\nvar anf_arg2370 = G(self2324,\"val2\",L[1562]);\n$step2322 = 11;\n$al2326 = L[1574];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"embed\"].app(anf_arg2370);\nbreak;\ncase 11: anf_array2381[4] = $ans2325;\n$ans2325 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[1563],L[1564]);\nvar anf_fun2377 = $ans2325;\n$al2326 = L[1565];\nvar anf_arg2371 = G(self2324,\"opname\",L[1565]);\n$step2322 = 12;\n$al2326 = L[1573];\n// omitting isFunction check;\n$ans2325 = _plus5.app((\"The \"),anf_arg2371);\nbreak;\ncase 12: var anf_arg2372 = $ans2325;\n$step2322 = 13;\n$al2326 = L[1572];\n// omitting isFunction check;\n$ans2325 = _plus5.app(anf_arg2372,(\" operator expects to be given:\"));\nbreak;\ncase 13: var anf_arg2373 = $ans2325;\n$step2322 = 14;\n$al2326 = L[1571];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app(anf_arg2373);\nbreak;\ncase 14: var anf_arg2378 = $ans2325;\n$ans2325 = R.getMaker2(ED6.dict.values.dict[\"bulleted\"],(\"make2\"),L[1566],L[1567]);\nvar anf_fun2374 = $ans2325;\n$step2322 = 15;\n$al2326 = L[1570];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"two Numbers, or\"));\nbreak;\ncase 15: var anf_arg2375 = $ans2325;\n$step2322 = 16;\n$al2326 = L[1569];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"text\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"text\"].app((\"two Strings\"));\nbreak;\ncase 16: var anf_arg2376 = $ans2325;\n$step2322 = 17;\n$al2326 = L[1567];\nif(typeof(anf_fun2374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2374);\n}\n$ans2325 = anf_fun2374.app(anf_arg2375,anf_arg2376);\nbreak;\ncase 17: var anf_arg2379 = $ans2325;\n$step2322 = 18;\n$al2326 = L[1564];\nif(typeof(anf_fun2377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2377);\n}\n$ans2325 = anf_fun2377.app(anf_arg2378,anf_arg2379);\nbreak;\ncase 18: anf_array2381[5] = $ans2325;\n$step2322 = 19;\n$al2326 = L[1553];\nif(typeof(anf_fun2380.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2380);\n}\n$ans2325 = anf_fun2380.app(anf_array2381);\nbreak;\ncase 19: var anf_arg2383 = $ans2325;\n$step2322 = 20;\n$al2326 = L[1568];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2325 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg2382,anf_arg2383);\nbreak;\ncase 20: var anf_arg2385 = $ans2325;\n$step2322 = 21;\n$al2326 = L[1522];\nif(typeof(anf_fun2384.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2326,anf_fun2384);\n}\n$ans2325 = anf_fun2384.app(anf_arg2385);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans2325;\ndefault: R.ffi.throwSpinnakerError(L[1520],$step2322);\n}\n}\nif($step2322 !== 21) {\n$ans2325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2326,$temp_full2323,$step2322,[self2324],[anf_arg2382,anf_arg2362,anf_arg2363,anf_arg2375,anf_arg2378,anf_fun2380,anf_fun2361,anf_fun2384,anf_fun2374,anf_array2381,anf_fun2365,anf_fun2377,anf_fun2368],$elidedFrames2328);\n}\nreturn $ans2325;\n};\nvar anf_variant_member5900 = R.makeMethod0($temp_full2323,\"render-reason\");\nvar $temp_full2388 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1582($self2389,$maybe$stack$loc2390,$src$available2391,$maybe$ast2392) {\nvar $step2387 = 0;\nvar $elidedFrames2396 = 0;\nvar $ans2393 = D;\nvar $al2394 = L[1582];\nif(R.isAR($self2389)) {\n$step2387 = $self2389.step;\n$al2394 = $self2389.from;\n$ans2393 = $self2389.ans;\n$elidedFrames2396 = $self2389.elidedFrames;\nself2389 = $self2389.args[0];\nmaybe$stack$loc2390 = $self2389.args[1];\nsrc$available2391 = $self2389.args[2];\nmaybe$ast2392 = $self2389.args[3];\nanf_fun2398 = $self2389.vars[0];\ncases2397 = $self2389.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1582],4,$t,true);\n}\nvar self2389 = $self2389;\nvar maybe$stack$loc2390 = $maybe$stack$loc2390;\nvar src$available2391 = $src$available2391;\nvar maybe$ast2392 = $maybe$ast2392;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2393 = R.mC();\n}\nwhile(!R.isContinuation($ans2393)) {\nswitch($step2387) {\ncase 0: $ans2393 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1583],L[1584]);\nvar anf_fun2398 = $ans2393;\n$step2387 = 1;\n$al2394 = L[1736];\nif(typeof(maybe$stack$loc2390.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2394,maybe$stack$loc2390);\n}\n$ans2393 = maybe$stack$loc2390.app((0),(false));\nbreak;\ncase 1: var cases2397 = $ans2393;\n$step2387 = 2;\n$al2394 = L[1735];\nvar $ann$check2560 = R._cA(L[1735],R.gDA(L[1735],\"O\",O8.dict.types,\"Option\"),cases2397);\nif(R.isContinuation($ann$check2560)) {\n$ans2393 = $ann$check2560;\n}\nbreak;\ncase 2: $al2394 = L[1705];\n$step2387 = $cases_dispatch2559[cases2397.$name] || 5;\nbreak;\ncase 3: if(cases2397.$arity !== 1) {\nif(cases2397.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1704],1,cases2397.$arity,L[1705],cases2397.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1704],true,L[1705],cases2397.$loc);\n}\n}\n$step2387 = 6;\n$al2394 = L[1704];\nvar $temp_branch2507 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1705($loc2400) {\nvar $step2508 = 0;\nvar $elidedFrames2512 = 0;\nvar $ans2509 = D;\nvar $al2510 = L[1585];\nif(R.isAR($loc2400)) {\n$step2508 = $loc2400.step;\n$al2510 = $loc2400.from;\n$ans2509 = $loc2400.ans;\n$elidedFrames2512 = $loc2400.elidedFrames;\nloc2400 = $loc2400.args[0];\nanf_fun2501 = $loc2400.vars[0];\nanf_fun2503 = $loc2400.vars[1];\nanf_fun2415 = $loc2400.vars[2];\nanf_fun2406 = $loc2400.vars[3];\nanf_fun2417 = $loc2400.vars[4];\nanf_fun2409 = $loc2400.vars[5];\nanf_array2504 = $loc2400.vars[6];\nanf_array2418 = $loc2400.vars[7];\nanf_fun2492 = $loc2400.vars[8];\nanf_fun2495 = $loc2400.vars[9];\ncases2419 = $loc2400.vars[10];\n} else {\nvar loc2400 = $loc2400;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2509 = R.mC();\n}\nwhile(!R.isContinuation($ans2509)) {\nswitch($step2508) {\ncase 0: $step2508 = 1;\n$ans2509 = R.maybeMethodCall0(loc2400,\"is-builtin\",L[1585]);\nbreak;\ncase 1: var anf_if2506 = $ans2509;\n$step2508 = R.checkPyretTrue(anf_if2506)?2:17;\nbreak;\ncase 2: $ans2509 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1586],L[1587]);\nvar anf_fun2417 = $ans2509;\n$ans2509 = R.makeArrayN((6));\nvar anf_array2418 = $ans2509;\n$al2510 = L[1588];\nvar anf_arg2401 = G(self2389,\"opdesc\",L[1588]);\n$step2508 = 3;\n$al2510 = L[1609];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2401,(\" (\"));\nbreak;\ncase 3: var anf_arg2402 = $ans2509;\n$al2510 = L[1589];\nvar anf_arg2403 = G(self2389,\"opname\",L[1589]);\n$step2508 = 4;\n$al2510 = L[1608];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2402,anf_arg2403);\nbreak;\ncase 4: var anf_arg2404 = $ans2509;\n$step2508 = 5;\n$al2510 = L[1607];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2404,(\") expression\"));\nbreak;\ncase 5: var anf_arg2405 = $ans2509;\n$step2508 = 6;\n$al2510 = L[1606];\n// omitting isFunction check;\n$ans2509 = ed$simple$intro104.$var.app(anf_arg2405,loc2400);\nbreak;\ncase 6: anf_array2418[0] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1590],L[1591]);\nvar anf_fun2406 = $ans2509;\n$step2508 = 7;\n$al2510 = L[1605];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 7: var anf_arg2407 = $ans2509;\n$step2508 = 8;\n$al2510 = L[1591];\nif(typeof(anf_fun2406.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2406);\n}\n$ans2509 = anf_fun2406.app(anf_arg2407);\nbreak;\ncase 8: anf_array2418[1] = $ans2509;\n$al2510 = L[1592];\nvar anf_arg2408 = G(self2389,\"val1\",L[1592]);\n$step2508 = 9;\n$al2510 = L[1604];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2408);\nbreak;\ncase 9: anf_array2418[2] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1593],L[1594]);\nvar anf_fun2409 = $ans2509;\n$step2508 = 10;\n$al2510 = L[1603];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 10: var anf_arg2410 = $ans2509;\n$step2508 = 11;\n$al2510 = L[1594];\nif(typeof(anf_fun2409.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2409);\n}\n$ans2509 = anf_fun2409.app(anf_arg2410);\nbreak;\ncase 11: anf_array2418[3] = $ans2509;\n$al2510 = L[1595];\nvar anf_arg2411 = G(self2389,\"val2\",L[1595]);\n$step2508 = 12;\n$al2510 = L[1602];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2411);\nbreak;\ncase 12: anf_array2418[4] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1596],L[1597]);\nvar anf_fun2415 = $ans2509;\n$al2510 = L[1598];\nvar anf_arg2412 = G(self2389,\"opname\",L[1598]);\n$step2508 = 13;\n$al2510 = L[1601];\n// omitting isFunction check;\n$ans2509 = _plus5.app((\"The \"),anf_arg2412);\nbreak;\ncase 13: var anf_arg2413 = $ans2509;\n$step2508 = 14;\n$al2510 = L[1600];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2413,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 14: var anf_arg2414 = $ans2509;\n$step2508 = 15;\n$al2510 = L[1599];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app(anf_arg2414);\nbreak;\ncase 15: var anf_arg2416 = $ans2509;\n$step2508 = 16;\n$al2510 = L[1597];\nif(typeof(anf_fun2415.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2415);\n}\n$ans2509 = anf_fun2415.app(anf_arg2416);\nbreak;\ncase 16: anf_array2418[5] = $ans2509;\n$step2508 = 40;\n$al2510 = L[1587];\nif(typeof(anf_fun2417.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2417);\n}\n$ans2509 = anf_fun2417.app(anf_array2418);\nbreak;\ncase 17: $step2508 = 18;\n$al2510 = L[1703];\nif(typeof(src$available2391.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,src$available2391);\n}\n$ans2509 = src$available2391.app(loc2400);\nbreak;\ncase 18: var anf_if2505 = $ans2509;\n$step2508 = R.checkPyretTrue(anf_if2505)?19:25;\nbreak;\ncase 19: $step2508 = 20;\n$al2510 = L[1678];\nif(typeof(maybe$ast2392.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,maybe$ast2392);\n}\n$ans2509 = maybe$ast2392.app(loc2400);\nbreak;\ncase 20: var cases2419 = $ans2509;\n$step2508 = 21;\n$al2510 = L[1677];\nvar $ann$check2528 = R._cA(L[1677],R.gDA(L[1677],\"O\",O8.dict.types,\"Option\"),cases2419);\nif(R.isContinuation($ann$check2528)) {\n$ans2509 = $ann$check2528;\n}\nbreak;\ncase 21: $al2510 = L[1650];\n$step2508 = $cases_dispatch2527[cases2419.$name] || 24;\nbreak;\ncase 22: if(cases2419.$arity !== 1) {\nif(cases2419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1649],1,cases2419.$arity,L[1650],cases2419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1649],true,L[1650],cases2419.$loc);\n}\n}\n$step2508 = 40;\n$al2510 = L[1649];\nvar $temp_branch2513 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1650($ast2420) {\nvar $step2514 = 0;\nvar $elidedFrames2518 = 0;\nvar $ans2515 = D;\nvar $al2516 = L[1610];\nif(R.isAR($ast2420)) {\n$step2514 = $ast2420.step;\n$al2516 = $ast2420.from;\n$ans2515 = $ast2420.ans;\n$elidedFrames2518 = $ast2420.elidedFrames;\nast2420 = $ast2420.args[0];\nanf_array2452 = $ast2420.vars[0];\nanf_fun2449 = $ast2420.vars[1];\nright$loc2438 = $ast2420.vars[2];\nanf_arg2430 = $ast2420.vars[3];\nanf_arg2442 = $ast2420.vars[4];\nanf_arg2443 = $ast2420.vars[5];\nanf_arg2433 = $ast2420.vars[6];\nanf_arg2434 = $ast2420.vars[7];\nanf_arg2439 = $ast2420.vars[8];\nleft$loc2429 = $ast2420.vars[9];\nanf_fun2451 = $ast2420.vars[10];\nanf_fun2441 = $ast2420.vars[11];\nanf_fun2432 = $ast2420.vars[12];\n} else {\nvar ast2420 = $ast2420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2515 = R.mC();\n}\nwhile(!R.isContinuation($ans2515)) {\nswitch($step2514) {\ncase 0: $al2516 = L[1610];\nvar anf_bracket2421 = G(ast2420,\"left\",L[1610]);\n$al2516 = L[1611];\nvar left$loc2429 = G(anf_bracket2421,\"l\",L[1611]);\n$al2516 = L[1612];\nvar anf_bracket2422 = G(ast2420,\"right\",L[1612]);\n$al2516 = L[1613];\nvar right$loc2438 = G(anf_bracket2422,\"l\",L[1613]);\n$ans2515 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1614],L[1615]);\nvar anf_fun2451 = $ans2515;\n$ans2515 = R.makeArrayN((7));\nvar anf_array2452 = $ans2515;\n$al2516 = L[1616];\nvar anf_arg2423 = G(self2389,\"opdesc\",L[1616]);\n$step2514 = 1;\n$al2516 = L[1648];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2423,(\" (\"));\nbreak;\ncase 1: var anf_arg2424 = $ans2515;\n$al2516 = L[1617];\nvar anf_arg2425 = G(self2389,\"opname\",L[1617]);\n$step2514 = 2;\n$al2516 = L[1647];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2424,anf_arg2425);\nbreak;\ncase 2: var anf_arg2426 = $ans2515;\n$step2514 = 3;\n$al2516 = L[1646];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2426,(\") expression\"));\nbreak;\ncase 3: var anf_arg2427 = $ans2515;\n$step2514 = 4;\n$al2516 = L[1645];\n// omitting isFunction check;\n$ans2515 = ed$intro146.$var.app(anf_arg2427,loc2400,(-1),(true));\nbreak;\ncase 4: anf_array2452[0] = $ans2515;\n$step2514 = 5;\n$al2516 = L[1644];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"cmcode\"].app(loc2400);\nbreak;\ncase 5: anf_array2452[1] = $ans2515;\n$ans2515 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1618],L[1619]);\nvar anf_fun2432 = $ans2515;\n$step2514 = 6;\n$al2516 = L[1643];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 6: var anf_arg2433 = $ans2515;\n$step2514 = 7;\n$al2516 = L[1642];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 7: var anf_arg2430 = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1620],L[1621]);\nvar anf_fun2428 = $ans2515;\n$step2514 = 8;\n$al2516 = L[1621];\nif(typeof(anf_fun2428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2428);\n}\n$ans2515 = anf_fun2428.app(left$loc2429);\nbreak;\ncase 8: var anf_arg2431 = $ans2515;\n$step2514 = 9;\n$al2516 = L[1641];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2430,anf_arg2431,(0));\nbreak;\ncase 9: var anf_arg2434 = $ans2515;\n$step2514 = 10;\n$al2516 = L[1640];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 10: var anf_arg2435 = $ans2515;\n$step2514 = 11;\n$al2516 = L[1619];\nif(typeof(anf_fun2432.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2432);\n}\n$ans2515 = anf_fun2432.app(anf_arg2433,anf_arg2434,anf_arg2435);\nbreak;\ncase 11: anf_array2452[2] = $ans2515;\n$al2516 = L[1622];\nvar anf_arg2436 = G(self2389,\"val1\",L[1622]);\n$step2514 = 12;\n$al2516 = L[1639];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"embed\"].app(anf_arg2436);\nbreak;\ncase 12: anf_array2452[3] = $ans2515;\n$ans2515 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1623],L[1624]);\nvar anf_fun2441 = $ans2515;\n$step2514 = 13;\n$al2516 = L[1638];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg2442 = $ans2515;\n$step2514 = 14;\n$al2516 = L[1637];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 14: var anf_arg2439 = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1625],L[1626]);\nvar anf_fun2437 = $ans2515;\n$step2514 = 15;\n$al2516 = L[1626];\nif(typeof(anf_fun2437.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2437);\n}\n$ans2515 = anf_fun2437.app(right$loc2438);\nbreak;\ncase 15: var anf_arg2440 = $ans2515;\n$step2514 = 16;\n$al2516 = L[1636];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2439,anf_arg2440,(1));\nbreak;\ncase 16: var anf_arg2443 = $ans2515;\n$step2514 = 17;\n$al2516 = L[1635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 17: var anf_arg2444 = $ans2515;\n$step2514 = 18;\n$al2516 = L[1624];\nif(typeof(anf_fun2441.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2441);\n}\n$ans2515 = anf_fun2441.app(anf_arg2442,anf_arg2443,anf_arg2444);\nbreak;\ncase 18: anf_array2452[4] = $ans2515;\n$al2516 = L[1627];\nvar anf_arg2445 = G(self2389,\"val2\",L[1627]);\n$step2514 = 19;\n$al2516 = L[1634];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"embed\"].app(anf_arg2445);\nbreak;\ncase 19: anf_array2452[5] = $ans2515;\n$ans2515 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1628],L[1629]);\nvar anf_fun2449 = $ans2515;\n$al2516 = L[1630];\nvar anf_arg2446 = G(self2389,\"opname\",L[1630]);\n$step2514 = 20;\n$al2516 = L[1633];\n// omitting isFunction check;\n$ans2515 = _plus5.app((\"The \"),anf_arg2446);\nbreak;\ncase 20: var anf_arg2447 = $ans2515;\n$step2514 = 21;\n$al2516 = L[1632];\n// omitting isFunction check;\n$ans2515 = _plus5.app(anf_arg2447,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 21: var anf_arg2448 = $ans2515;\n$step2514 = 22;\n$al2516 = L[1631];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,ED6.dict.values.dict[\"text\"]);\n}\n$ans2515 = ED6.dict.values.dict[\"text\"].app(anf_arg2448);\nbreak;\ncase 22: var anf_arg2450 = $ans2515;\n$step2514 = 23;\n$al2516 = L[1629];\nif(typeof(anf_fun2449.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2449);\n}\n$ans2515 = anf_fun2449.app(anf_arg2450);\nbreak;\ncase 23: anf_array2452[6] = $ans2515;\n$step2514 = 24;\n$al2516 = L[1615];\nif(typeof(anf_fun2451.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2516,anf_fun2451);\n}\n$ans2515 = anf_fun2451.app(anf_array2452);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans2515;\ndefault: R.ffi.throwSpinnakerError(L[1610],$step2514);\n}\n}\nif($step2514 !== 24) {\n$ans2515.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2516,$temp_branch2513,$step2514,[ast2420],[anf_array2452,anf_fun2449,right$loc2438,anf_arg2430,anf_arg2442,anf_arg2443,anf_arg2433,anf_arg2434,anf_arg2439,left$loc2429,anf_fun2451,anf_fun2441,anf_fun2432],$elidedFrames2518);\n}\nreturn $ans2515;\n};\n$ans2509 = cases2419.$app_fields($temp_branch2513,[false]);\nbreak;\ncase 23: if(cases2419.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1676],false,L[1650],cases2419.$loc);\n}\n$step2508 = 40;\n$al2510 = L[1676];\nvar $temp_branch2520 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1650($$resumer13) {\nvar $step2521 = 0;\nvar $elidedFrames2525 = 0;\nvar $ans2522 = D;\nvar $al2523 = L[1652];\nif(R.isAR($$resumer13)) {\n$step2521 = $$resumer13.step;\n$al2523 = $$resumer13.from;\n$ans2522 = $$resumer13.ans;\n$elidedFrames2525 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2468 = $$resumer13.vars[0];\nanf_array2477 = $$resumer13.vars[1];\nanf_fun2474 = $$resumer13.vars[2];\nanf_fun2465 = $$resumer13.vars[3];\nanf_fun2476 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2522 = R.mC();\n}\nwhile(!R.isContinuation($ans2522)) {\nswitch($step2521) {\ncase 0: $ans2522 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1651],L[1652]);\nvar anf_fun2476 = $ans2522;\n$ans2522 = R.makeArrayN((7));\nvar anf_array2477 = $ans2522;\n$al2523 = L[1653];\nvar anf_arg2460 = G(self2389,\"opdesc\",L[1653]);\n$step2521 = 1;\n$al2523 = L[1675];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2460,(\" (\"));\nbreak;\ncase 1: var anf_arg2461 = $ans2522;\n$al2523 = L[1654];\nvar anf_arg2462 = G(self2389,\"opname\",L[1654]);\n$step2521 = 2;\n$al2523 = L[1674];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2461,anf_arg2462);\nbreak;\ncase 2: var anf_arg2463 = $ans2522;\n$step2521 = 3;\n$al2523 = L[1673];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2463,(\") expression\"));\nbreak;\ncase 3: var anf_arg2464 = $ans2522;\n$step2521 = 4;\n$al2523 = L[1672];\n// omitting isFunction check;\n$ans2522 = ed$intro146.$var.app(anf_arg2464,loc2400,(0),(true));\nbreak;\ncase 4: anf_array2477[0] = $ans2522;\n$step2521 = 5;\n$al2523 = L[1671];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"cmcode\"].app(loc2400);\nbreak;\ncase 5: anf_array2477[1] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1655],L[1656]);\nvar anf_fun2465 = $ans2522;\n$step2521 = 6;\n$al2523 = L[1670];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2466 = $ans2522;\n$step2521 = 7;\n$al2523 = L[1656];\nif(typeof(anf_fun2465.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2465);\n}\n$ans2522 = anf_fun2465.app(anf_arg2466);\nbreak;\ncase 7: anf_array2477[2] = $ans2522;\n$al2523 = L[1657];\nvar anf_arg2467 = G(self2389,\"val1\",L[1657]);\n$step2521 = 8;\n$al2523 = L[1669];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"embed\"].app(anf_arg2467);\nbreak;\ncase 8: anf_array2477[3] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1658],L[1659]);\nvar anf_fun2468 = $ans2522;\n$step2521 = 9;\n$al2523 = L[1668];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2469 = $ans2522;\n$step2521 = 10;\n$al2523 = L[1659];\nif(typeof(anf_fun2468.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2468);\n}\n$ans2522 = anf_fun2468.app(anf_arg2469);\nbreak;\ncase 10: anf_array2477[4] = $ans2522;\n$al2523 = L[1660];\nvar anf_arg2470 = G(self2389,\"val2\",L[1660]);\n$step2521 = 11;\n$al2523 = L[1667];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"embed\"].app(anf_arg2470);\nbreak;\ncase 11: anf_array2477[5] = $ans2522;\n$ans2522 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1661],L[1662]);\nvar anf_fun2474 = $ans2522;\n$al2523 = L[1663];\nvar anf_arg2471 = G(self2389,\"opname\",L[1663]);\n$step2521 = 12;\n$al2523 = L[1666];\n// omitting isFunction check;\n$ans2522 = _plus5.app((\"The \"),anf_arg2471);\nbreak;\ncase 12: var anf_arg2472 = $ans2522;\n$step2521 = 13;\n$al2523 = L[1665];\n// omitting isFunction check;\n$ans2522 = _plus5.app(anf_arg2472,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 13: var anf_arg2473 = $ans2522;\n$step2521 = 14;\n$al2523 = L[1664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,ED6.dict.values.dict[\"text\"]);\n}\n$ans2522 = ED6.dict.values.dict[\"text\"].app(anf_arg2473);\nbreak;\ncase 14: var anf_arg2475 = $ans2522;\n$step2521 = 15;\n$al2523 = L[1662];\nif(typeof(anf_fun2474.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2474);\n}\n$ans2522 = anf_fun2474.app(anf_arg2475);\nbreak;\ncase 15: anf_array2477[6] = $ans2522;\n$step2521 = 16;\n$al2523 = L[1652];\nif(typeof(anf_fun2476.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2523,anf_fun2476);\n}\n$ans2522 = anf_fun2476.app(anf_array2477);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans2522;\ndefault: R.ffi.throwSpinnakerError(L[1652],$step2521);\n}\n}\nif($step2521 !== 16) {\n$ans2522.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2523,$temp_branch2520,$step2521,[],[anf_fun2468,anf_array2477,anf_fun2474,anf_fun2465,anf_fun2476],$elidedFrames2525);\n}\nreturn $ans2522;\n};\n$ans2509 = cases2419.$app_fields($temp_branch2520,[]);\nbreak;\ncase 24: $ans2509 = R.throwNoCasesMatched(L[1650],cases2419);\n$step2508 = 40;\nbreak;\ncase 25: $ans2509 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1679],L[1680]);\nvar anf_fun2503 = $ans2509;\n$ans2509 = R.makeArrayN((6));\nvar anf_array2504 = $ans2509;\n$al2510 = L[1681];\nvar anf_arg2487 = G(self2389,\"opdesc\",L[1681]);\n$step2508 = 26;\n$al2510 = L[1702];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2487,(\" (\"));\nbreak;\ncase 26: var anf_arg2488 = $ans2509;\n$al2510 = L[1682];\nvar anf_arg2489 = G(self2389,\"opname\",L[1682]);\n$step2508 = 27;\n$al2510 = L[1701];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2488,anf_arg2489);\nbreak;\ncase 27: var anf_arg2490 = $ans2509;\n$step2508 = 28;\n$al2510 = L[1700];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2490,(\") expression\"));\nbreak;\ncase 28: var anf_arg2491 = $ans2509;\n$step2508 = 29;\n$al2510 = L[1699];\n// omitting isFunction check;\n$ans2509 = ed$simple$intro104.$var.app(anf_arg2491,loc2400);\nbreak;\ncase 29: anf_array2504[0] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1683],L[1684]);\nvar anf_fun2492 = $ans2509;\n$step2508 = 30;\n$al2510 = L[1698];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 30: var anf_arg2493 = $ans2509;\n$step2508 = 31;\n$al2510 = L[1684];\nif(typeof(anf_fun2492.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2492);\n}\n$ans2509 = anf_fun2492.app(anf_arg2493);\nbreak;\ncase 31: anf_array2504[1] = $ans2509;\n$al2510 = L[1685];\nvar anf_arg2494 = G(self2389,\"val1\",L[1685]);\n$step2508 = 32;\n$al2510 = L[1697];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2494);\nbreak;\ncase 32: anf_array2504[2] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1686],L[1687]);\nvar anf_fun2495 = $ans2509;\n$step2508 = 33;\n$al2510 = L[1696];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 33: var anf_arg2496 = $ans2509;\n$step2508 = 34;\n$al2510 = L[1687];\nif(typeof(anf_fun2495.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2495);\n}\n$ans2509 = anf_fun2495.app(anf_arg2496);\nbreak;\ncase 34: anf_array2504[3] = $ans2509;\n$al2510 = L[1688];\nvar anf_arg2497 = G(self2389,\"val2\",L[1688]);\n$step2508 = 35;\n$al2510 = L[1695];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"embed\"].app(anf_arg2497);\nbreak;\ncase 35: anf_array2504[4] = $ans2509;\n$ans2509 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1689],L[1690]);\nvar anf_fun2501 = $ans2509;\n$al2510 = L[1691];\nvar anf_arg2498 = G(self2389,\"opname\",L[1691]);\n$step2508 = 36;\n$al2510 = L[1694];\n// omitting isFunction check;\n$ans2509 = _plus5.app((\"The \"),anf_arg2498);\nbreak;\ncase 36: var anf_arg2499 = $ans2509;\n$step2508 = 37;\n$al2510 = L[1693];\n// omitting isFunction check;\n$ans2509 = _plus5.app(anf_arg2499,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 37: var anf_arg2500 = $ans2509;\n$step2508 = 38;\n$al2510 = L[1692];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,ED6.dict.values.dict[\"text\"]);\n}\n$ans2509 = ED6.dict.values.dict[\"text\"].app(anf_arg2500);\nbreak;\ncase 38: var anf_arg2502 = $ans2509;\n$step2508 = 39;\n$al2510 = L[1690];\nif(typeof(anf_fun2501.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2501);\n}\n$ans2509 = anf_fun2501.app(anf_arg2502);\nbreak;\ncase 39: anf_array2504[5] = $ans2509;\n$step2508 = 40;\n$al2510 = L[1680];\nif(typeof(anf_fun2503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2510,anf_fun2503);\n}\n$ans2509 = anf_fun2503.app(anf_array2504);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans2509;\ndefault: R.ffi.throwSpinnakerError(L[1585],$step2508);\n}\n}\nif($step2508 !== 40) {\n$ans2509.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2510,$temp_branch2507,$step2508,[loc2400],[anf_fun2501,anf_fun2503,anf_fun2415,anf_fun2406,anf_fun2417,anf_fun2409,anf_array2504,anf_array2418,anf_fun2492,anf_fun2495,cases2419],$elidedFrames2512);\n}\nreturn $ans2509;\n};\n$ans2393 = cases2397.$app_fields($temp_branch2507,[false]);\nbreak;\ncase 4: if(cases2397.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1734],false,L[1705],cases2397.$loc);\n}\n$step2387 = 6;\n$al2394 = L[1734];\nvar $temp_branch2552 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1705($$resumer13) {\nvar $step2553 = 0;\nvar $elidedFrames2557 = 0;\nvar $ans2554 = D;\nvar $al2555 = L[1707];\nif(R.isAR($$resumer13)) {\n$step2553 = $$resumer13.step;\n$al2555 = $$resumer13.from;\n$ans2554 = $$resumer13.ans;\n$elidedFrames2557 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun2535 = $$resumer13.vars[0];\nanf_array2551 = $$resumer13.vars[1];\nanf_fun2548 = $$resumer13.vars[2];\nanf_fun2539 = $$resumer13.vars[3];\nanf_arg2536 = $$resumer13.vars[4];\nanf_arg2537 = $$resumer13.vars[5];\nanf_fun2550 = $$resumer13.vars[6];\nanf_fun2542 = $$resumer13.vars[7];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2554 = R.mC();\n}\nwhile(!R.isContinuation($ans2554)) {\nswitch($step2553) {\ncase 0: $ans2554 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1706],L[1707]);\nvar anf_fun2550 = $ans2554;\n$ans2554 = R.makeArrayN((6));\nvar anf_array2551 = $ans2554;\n$ans2554 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1708],L[1709]);\nvar anf_fun2535 = $ans2554;\n$al2555 = L[1710];\nvar anf_arg2530 = G(self2389,\"opdesc\",L[1710]);\n$step2553 = 1;\n$al2555 = L[1733];\n// omitting isFunction check;\n$ans2554 = _plus5.app((\"A \"),anf_arg2530);\nbreak;\ncase 1: var anf_arg2531 = $ans2554;\n$step2553 = 2;\n$al2555 = L[1732];\n// omitting isFunction check;\n$ans2554 = _plus5.app(anf_arg2531,(\" (\"));\nbreak;\ncase 2: var anf_arg2532 = $ans2554;\n$step2553 = 3;\n$al2555 = L[1731];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2532);\nbreak;\ncase 3: var anf_arg2536 = $ans2554;\n$al2555 = L[1711];\nvar anf_arg2533 = G(self2389,\"opname\",L[1711]);\n$step2553 = 4;\n$al2555 = L[1730];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2533);\nbreak;\ncase 4: var anf_arg2534 = $ans2554;\n$step2553 = 5;\n$al2555 = L[1729];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"code\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"code\"].app(anf_arg2534);\nbreak;\ncase 5: var anf_arg2537 = $ans2554;\n$step2553 = 6;\n$al2555 = L[1728];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\") expression errored.\"));\nbreak;\ncase 6: var anf_arg2538 = $ans2554;\n$step2553 = 7;\n$al2555 = L[1709];\nif(typeof(anf_fun2535.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2535);\n}\n$ans2554 = anf_fun2535.app(anf_arg2536,anf_arg2537,anf_arg2538);\nbreak;\ncase 7: anf_array2551[0] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1712],L[1713]);\nvar anf_fun2539 = $ans2554;\n$step2553 = 8;\n$al2555 = L[1727];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 8: var anf_arg2540 = $ans2554;\n$step2553 = 9;\n$al2555 = L[1713];\nif(typeof(anf_fun2539.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2539);\n}\n$ans2554 = anf_fun2539.app(anf_arg2540);\nbreak;\ncase 9: anf_array2551[1] = $ans2554;\n$al2555 = L[1714];\nvar anf_arg2541 = G(self2389,\"val1\",L[1714]);\n$step2553 = 10;\n$al2555 = L[1726];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"embed\"].app(anf_arg2541);\nbreak;\ncase 10: anf_array2551[2] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1715],L[1716]);\nvar anf_fun2542 = $ans2554;\n$step2553 = 11;\n$al2555 = L[1725];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 11: var anf_arg2543 = $ans2554;\n$step2553 = 12;\n$al2555 = L[1716];\nif(typeof(anf_fun2542.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2542);\n}\n$ans2554 = anf_fun2542.app(anf_arg2543);\nbreak;\ncase 12: anf_array2551[3] = $ans2554;\n$al2555 = L[1717];\nvar anf_arg2544 = G(self2389,\"val2\",L[1717]);\n$step2553 = 13;\n$al2555 = L[1724];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"embed\"].app(anf_arg2544);\nbreak;\ncase 13: anf_array2551[4] = $ans2554;\n$ans2554 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1718],L[1719]);\nvar anf_fun2548 = $ans2554;\n$al2555 = L[1720];\nvar anf_arg2545 = G(self2389,\"opname\",L[1720]);\n$step2553 = 14;\n$al2555 = L[1723];\n// omitting isFunction check;\n$ans2554 = _plus5.app((\"The \"),anf_arg2545);\nbreak;\ncase 14: var anf_arg2546 = $ans2554;\n$step2553 = 15;\n$al2555 = L[1722];\n// omitting isFunction check;\n$ans2554 = _plus5.app(anf_arg2546,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 15: var anf_arg2547 = $ans2554;\n$step2553 = 16;\n$al2555 = L[1721];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,ED6.dict.values.dict[\"text\"]);\n}\n$ans2554 = ED6.dict.values.dict[\"text\"].app(anf_arg2547);\nbreak;\ncase 16: var anf_arg2549 = $ans2554;\n$step2553 = 17;\n$al2555 = L[1719];\nif(typeof(anf_fun2548.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2548);\n}\n$ans2554 = anf_fun2548.app(anf_arg2549);\nbreak;\ncase 17: anf_array2551[5] = $ans2554;\n$step2553 = 18;\n$al2555 = L[1707];\nif(typeof(anf_fun2550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2555,anf_fun2550);\n}\n$ans2554 = anf_fun2550.app(anf_array2551);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2554;\ndefault: R.ffi.throwSpinnakerError(L[1707],$step2553);\n}\n}\nif($step2553 !== 18) {\n$ans2554.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2555,$temp_branch2552,$step2553,[],[anf_fun2535,anf_array2551,anf_fun2548,anf_fun2539,anf_arg2536,anf_arg2537,anf_fun2550,anf_fun2542],$elidedFrames2557);\n}\nreturn $ans2554;\n};\n$ans2393 = cases2397.$app_fields($temp_branch2552,[]);\nbreak;\ncase 5: $ans2393 = R.throwNoCasesMatched(L[1705],cases2397);\n$step2387 = 6;\nbreak;\ncase 6: var anf_arg2399 = $ans2393;\n$step2387 = 7;\n$al2394 = L[1584];\nif(typeof(anf_fun2398.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2394,anf_fun2398);\n}\n$ans2393 = anf_fun2398.app(anf_arg2399);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2393;\ndefault: R.ffi.throwSpinnakerError(L[1582],$step2387);\n}\n}\nif($step2387 !== 7) {\n$ans2393.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2394,$temp_full2388,$step2387,[self2389,maybe$stack$loc2390,src$available2391,maybe$ast2392],[anf_fun2398,cases2397],$elidedFrames2396);\n}\nreturn $ans2393;\n};\nvar anf_variant_member5912 = R.makeMethod3($temp_full2388,\"render-fancy-reason\");\nvar $temp_full2563 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1737($self2564) {\nvar $step2562 = 0;\nvar $elidedFrames2568 = 0;\nvar $ans2565 = D;\nvar $al2566 = L[1737];\nif(R.isAR($self2564)) {\n$step2562 = $self2564.step;\n$al2566 = $self2564.from;\n$ans2565 = $self2564.ans;\n$elidedFrames2568 = $self2564.elidedFrames;\nself2564 = $self2564.args[0];\nanf_fun2601 = $self2564.vars[0];\nanf_fun2612 = $self2564.vars[1];\nanf_fun2604 = $self2564.vars[2];\nanf_fun2616 = $self2564.vars[3];\nanf_arg2598 = $self2564.vars[4];\nanf_arg2599 = $self2564.vars[5];\nanf_array2613 = $self2564.vars[6];\nanf_arg2614 = $self2564.vars[7];\nanf_fun2597 = $self2564.vars[8];\nanf_fun2610 = $self2564.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1737],1,$t,true);\n}\nvar self2564 = $self2564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2565 = R.mC();\n}\nwhile(!R.isContinuation($ans2565)) {\nswitch($step2562) {\ncase 0: $ans2565 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1738],L[1739]);\nvar anf_fun2616 = $ans2565;\nvar $temp_lam2570 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1740($loc2571) {\nvar $step2569 = 0;\nvar $elidedFrames2575 = 0;\nvar $ans2572 = D;\nvar $al2573 = L[1740];\nif(R.isAR($loc2571)) {\n$step2569 = $loc2571.step;\n$al2573 = $loc2571.from;\n$ans2572 = $loc2571.ans;\n$elidedFrames2575 = $loc2571.elidedFrames;\nloc2571 = $loc2571.args[0];\nanf_fun2590 = $loc2571.vars[0];\nanf_fun2581 = $loc2571.vars[1];\nanf_fun2592 = $loc2571.vars[2];\nanf_fun2584 = $loc2571.vars[3];\nanf_array2593 = $loc2571.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1740],1,$t,false);\n}\nvar loc2571 = $loc2571;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2572 = R.mC();\n}\nwhile(!R.isContinuation($ans2572)) {\nswitch($step2569) {\ncase 0: $ans2572 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1741],L[1742]);\nvar anf_fun2592 = $ans2572;\n$ans2572 = R.makeArrayN((6));\nvar anf_array2593 = $ans2572;\n$al2573 = L[1743];\nvar anf_arg2576 = G(self2564,\"opdesc\",L[1743]);\n$step2569 = 1;\n$al2573 = L[1764];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2576,(\" (\"));\nbreak;\ncase 1: var anf_arg2577 = $ans2572;\n$al2573 = L[1744];\nvar anf_arg2578 = G(self2564,\"opname\",L[1744]);\n$step2569 = 2;\n$al2573 = L[1763];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2577,anf_arg2578);\nbreak;\ncase 2: var anf_arg2579 = $ans2572;\n$step2569 = 3;\n$al2573 = L[1762];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2579,(\") expression\"));\nbreak;\ncase 3: var anf_arg2580 = $ans2572;\n$step2569 = 4;\n$al2573 = L[1761];\n// omitting isFunction check;\n$ans2572 = ed$simple$intro104.$var.app(anf_arg2580,loc2571);\nbreak;\ncase 4: anf_array2593[0] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1745],L[1746]);\nvar anf_fun2581 = $ans2572;\n$step2569 = 5;\n$al2573 = L[1760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 5: var anf_arg2582 = $ans2572;\n$step2569 = 6;\n$al2573 = L[1746];\nif(typeof(anf_fun2581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2581);\n}\n$ans2572 = anf_fun2581.app(anf_arg2582);\nbreak;\ncase 6: anf_array2593[1] = $ans2572;\n$al2573 = L[1747];\nvar anf_arg2583 = G(self2564,\"val1\",L[1747]);\n$step2569 = 7;\n$al2573 = L[1759];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"embed\"].app(anf_arg2583);\nbreak;\ncase 7: anf_array2593[2] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1748],L[1749]);\nvar anf_fun2584 = $ans2572;\n$step2569 = 8;\n$al2573 = L[1758];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 8: var anf_arg2585 = $ans2572;\n$step2569 = 9;\n$al2573 = L[1749];\nif(typeof(anf_fun2584.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2584);\n}\n$ans2572 = anf_fun2584.app(anf_arg2585);\nbreak;\ncase 9: anf_array2593[3] = $ans2572;\n$al2573 = L[1750];\nvar anf_arg2586 = G(self2564,\"val2\",L[1750]);\n$step2569 = 10;\n$al2573 = L[1757];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"embed\"].app(anf_arg2586);\nbreak;\ncase 10: anf_array2593[4] = $ans2572;\n$ans2572 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1751],L[1752]);\nvar anf_fun2590 = $ans2572;\n$al2573 = L[1753];\nvar anf_arg2587 = G(self2564,\"opname\",L[1753]);\n$step2569 = 11;\n$al2573 = L[1756];\n// omitting isFunction check;\n$ans2572 = _plus5.app((\"The \"),anf_arg2587);\nbreak;\ncase 11: var anf_arg2588 = $ans2572;\n$step2569 = 12;\n$al2573 = L[1755];\n// omitting isFunction check;\n$ans2572 = _plus5.app(anf_arg2588,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 12: var anf_arg2589 = $ans2572;\n$step2569 = 13;\n$al2573 = L[1754];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,ED6.dict.values.dict[\"text\"]);\n}\n$ans2572 = ED6.dict.values.dict[\"text\"].app(anf_arg2589);\nbreak;\ncase 13: var anf_arg2591 = $ans2572;\n$step2569 = 14;\n$al2573 = L[1752];\nif(typeof(anf_fun2590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2590);\n}\n$ans2572 = anf_fun2590.app(anf_arg2591);\nbreak;\ncase 14: anf_array2593[5] = $ans2572;\n$step2569 = 15;\n$al2573 = L[1742];\nif(typeof(anf_fun2592.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2573,anf_fun2592);\n}\n$ans2572 = anf_fun2592.app(anf_array2593);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans2572;\ndefault: R.ffi.throwSpinnakerError(L[1740],$step2569);\n}\n}\nif($step2569 !== 15) {\n$ans2572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2573,$temp_lam2570,$step2569,[loc2571],[anf_fun2590,anf_fun2581,anf_fun2592,anf_fun2584,anf_array2593],$elidedFrames2575);\n}\nreturn $ans2572;\n};\nvar anf_arg2614 = R.mF($temp_lam2570,\"\");\n$ans2565 = R.getMaker(ED6.dict.values.dict[\"sequence\"],(\"make\"),L[1765],L[1766]);\nvar anf_fun2612 = $ans2565;\n$ans2565 = R.makeArrayN((6));\nvar anf_array2613 = $ans2565;\n$ans2565 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1767],L[1768]);\nvar anf_fun2597 = $ans2565;\n$step2562 = 1;\n$al2566 = L[1790];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2598 = $ans2565;\n$al2566 = L[1769];\nvar anf_arg2595 = G(self2564,\"opname\",L[1769]);\n$step2562 = 2;\n$al2566 = L[1789];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app(anf_arg2595);\nbreak;\ncase 2: var anf_arg2596 = $ans2565;\n$step2562 = 3;\n$al2566 = L[1788];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"code\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"code\"].app(anf_arg2596);\nbreak;\ncase 3: var anf_arg2599 = $ans2565;\n$step2562 = 4;\n$al2566 = L[1787];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\" expression errored.\"));\nbreak;\ncase 4: var anf_arg2600 = $ans2565;\n$step2562 = 5;\n$al2566 = L[1768];\nif(typeof(anf_fun2597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2597);\n}\n$ans2565 = anf_fun2597.app(anf_arg2598,anf_arg2599,anf_arg2600);\nbreak;\ncase 5: anf_array2613[0] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1770],L[1771]);\nvar anf_fun2601 = $ans2565;\n$step2562 = 6;\n$al2566 = L[1786];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 6: var anf_arg2602 = $ans2565;\n$step2562 = 7;\n$al2566 = L[1771];\nif(typeof(anf_fun2601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2601);\n}\n$ans2565 = anf_fun2601.app(anf_arg2602);\nbreak;\ncase 7: anf_array2613[1] = $ans2565;\n$al2566 = L[1772];\nvar anf_arg2603 = G(self2564,\"val1\",L[1772]);\n$step2562 = 8;\n$al2566 = L[1785];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"embed\"].app(anf_arg2603);\nbreak;\ncase 8: anf_array2613[2] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1773],L[1774]);\nvar anf_fun2604 = $ans2565;\n$step2562 = 9;\n$al2566 = L[1784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 9: var anf_arg2605 = $ans2565;\n$step2562 = 10;\n$al2566 = L[1774];\nif(typeof(anf_fun2604.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2604);\n}\n$ans2565 = anf_fun2604.app(anf_arg2605);\nbreak;\ncase 10: anf_array2613[3] = $ans2565;\n$al2566 = L[1775];\nvar anf_arg2606 = G(self2564,\"val2\",L[1775]);\n$step2562 = 11;\n$al2566 = L[1783];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"embed\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"embed\"].app(anf_arg2606);\nbreak;\ncase 11: anf_array2613[4] = $ans2565;\n$ans2565 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1776],L[1777]);\nvar anf_fun2610 = $ans2565;\n$al2566 = L[1778];\nvar anf_arg2607 = G(self2564,\"opname\",L[1778]);\n$step2562 = 12;\n$al2566 = L[1782];\n// omitting isFunction check;\n$ans2565 = _plus5.app((\"The \"),anf_arg2607);\nbreak;\ncase 12: var anf_arg2608 = $ans2565;\n$step2562 = 13;\n$al2566 = L[1781];\n// omitting isFunction check;\n$ans2565 = _plus5.app(anf_arg2608,(\" operator expects to be given two Numbers.\"));\nbreak;\ncase 13: var anf_arg2609 = $ans2565;\n$step2562 = 14;\n$al2566 = L[1780];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"text\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"text\"].app(anf_arg2609);\nbreak;\ncase 14: var anf_arg2611 = $ans2565;\n$step2562 = 15;\n$al2566 = L[1777];\nif(typeof(anf_fun2610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2610);\n}\n$ans2565 = anf_fun2610.app(anf_arg2611);\nbreak;\ncase 15: anf_array2613[5] = $ans2565;\n$step2562 = 16;\n$al2566 = L[1766];\nif(typeof(anf_fun2612.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2612);\n}\n$ans2565 = anf_fun2612.app(anf_array2613);\nbreak;\ncase 16: var anf_arg2615 = $ans2565;\n$step2562 = 17;\n$al2566 = L[1779];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans2565 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg2614,anf_arg2615);\nbreak;\ncase 17: var anf_arg2617 = $ans2565;\n$step2562 = 18;\n$al2566 = L[1739];\nif(typeof(anf_fun2616.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2566,anf_fun2616);\n}\n$ans2565 = anf_fun2616.app(anf_arg2617);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2565;\ndefault: R.ffi.throwSpinnakerError(L[1737],$step2562);\n}\n}\nif($step2562 !== 18) {\n$ans2565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2566,$temp_full2563,$step2562,[self2564],[anf_fun2601,anf_fun2612,anf_fun2604,anf_fun2616,anf_arg2598,anf_arg2599,anf_array2613,anf_arg2614,anf_fun2597,anf_fun2610],$elidedFrames2568);\n}\nreturn $ans2565;\n};\nvar anf_variant_member5913 = R.makeMethod0($temp_full2563,\"render-reason\");\nvar $temp_full2620 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1791($self2621,$maybe$stack$loc2622,$src$available2623,$maybe$ast2624) {\nvar $step2619 = 0;\nvar $elidedFrames2628 = 0;\nvar $ans2625 = D;\nvar $al2626 = L[1791];\nif(R.isAR($self2621)) {\n$step2619 = $self2621.step;\n$al2626 = $self2621.from;\n$ans2625 = $self2621.ans;\n$elidedFrames2628 = $self2621.elidedFrames;\nself2621 = $self2621.args[0];\nmaybe$stack$loc2622 = $self2621.args[1];\nsrc$available2623 = $self2621.args[2];\nmaybe$ast2624 = $self2621.args[3];\nfields2969 = $self2621.vars[0];\nanf_fun2977 = $self2621.vars[1];\nanf_arg2971 = $self2621.vars[2];\nanf_arg2972 = $self2621.vars[3];\nbindings2967 = $self2621.vars[4];\nanf_arg2978 = $self2621.vars[5];\nobservation$prose2793 = $self2621.vars[6];\nanf_arg2979 = $self2621.vars[7];\nexplanation$prose2808 = $self2621.vars[8];\nlocs$from$constructor$ast2727 = $self2621.vars[9];\npattern2949 = $self2621.vars[10];\nvariant2973 = $self2621.vars[11];\ndestructured$definition2744 = $self2621.vars[12];\nanf_method_obj2964 = $self2621.vars[13];\ndestructured$pattern2837 = $self2621.vars[14];\nlocs$from$cases$ast2663 = $self2621.vars[15];\nanf_fun2962 = $self2621.vars[16];\nanf_method_obj2939 = $self2621.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1791],4,$t,true);\n}\nvar self2621 = $self2621;\nvar maybe$stack$loc2622 = $maybe$stack$loc2622;\nvar src$available2623 = $src$available2623;\nvar maybe$ast2624 = $maybe$ast2624;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2625 = R.mC();\n}\nwhile(!R.isContinuation($ans2625)) {\nswitch($step2619) {\ncase 0: var locs$from$cases$ast2663 = {\"$var\":D};\nvar maybe$first2679 = {\"$var\":D};\nvar locs$from$constructor$ast2727 = {\"$var\":D};\nvar $temp_lam2630 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1792($ast2631) {\nvar $step2629 = 0;\nvar $elidedFrames2635 = 0;\nvar $ans2632 = D;\nvar $al2633 = L[1792];\nif(R.isAR($ast2631)) {\n$step2629 = $ast2631.step;\n$al2633 = $ast2631.from;\n$ans2632 = $ast2631.ans;\n$elidedFrames2635 = $ast2631.elidedFrames;\nast2631 = $ast2631.args[0];\ncases2636 = $ast2631.vars[0];\npat$loc2647 = $ast2631.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1792],1,$t,false);\n}\nvar ast2631 = $ast2631;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2632 = R.mC();\n}\nwhile(!R.isContinuation($ans2632)) {\nswitch($step2629) {\ncase 0: var cases2636 = ast2631;\n$al2633 = L[1796];\n$step2629 = $cases_dispatch2660[cases2636.$name] || 4;\nbreak;\ncase 1: if(cases2636.$arity !== 5) {\nif(cases2636.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1795],5,cases2636.$arity,L[1796],cases2636.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1795],true,L[1796],cases2636.$loc);\n}\n}\nvar $fn2650 = cases2636.$constructor.$fieldNames;\nR.dF(cases2636.dict[$fn2650[0]],cases2636.$mut_fields_mask[0],false);\nvar pat$loc2647 = R.dF(cases2636.dict[$fn2650[1]],cases2636.$mut_fields_mask[1],false);\nR.dF(cases2636.dict[$fn2650[2]],cases2636.$mut_fields_mask[2],false);\nvar args2645 = R.dF(cases2636.dict[$fn2650[3]],cases2636.$mut_fields_mask[3],false);\nR.dF(cases2636.dict[$fn2650[4]],cases2636.$mut_fields_mask[4],false);\nvar $temp_lam2638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1793($recv_2639) {\nvar $step2637 = 0;\nvar $elidedFrames2643 = 0;\nvar $ans2640 = D;\nvar $al2641 = L[1793];\nif(R.isAR($recv_2639)) {\n$step2637 = $recv_2639.step;\n$al2641 = $recv_2639.from;\n$ans2640 = $recv_2639.ans;\n$elidedFrames2643 = $recv_2639.elidedFrames;\nrecv_2639 = $recv_2639.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1793],1,$t,false);\n}\nvar recv_2639 = $recv_2639;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2640 = R.mC();\n}\nwhile(!R.isContinuation($ans2640)) {\nswitch($step2637) {\ncase 0: $step2637 = 1;\n$al2641 = L[1793];\n$ans2640 = G(recv_2639,\"l\",L[1793]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2640;\ndefault: R.ffi.throwSpinnakerError(L[1793],$step2637);\n}\n}\nif($step2637 !== 1) {\n$ans2640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2641,$temp_lam2638,$step2637,[recv_2639],[],$elidedFrames2643);\n}\nreturn $ans2640;\n};\nvar anf_arg2646 = R.mF($temp_lam2638,\"\");\n$step2629 = 2;\n$ans2632 = R.maybeMethodCall1(args2645,\"map\",L[1794],anf_arg2646);\nbreak;\ncase 2: var anf_tuple_fields2648 = $ans2632;\n$step2629 = 5;\n$ans2632 = R.makeTuple([pat$loc2647,anf_tuple_fields2648]);\nbreak;\ncase 3: if(cases2636.$arity !== 4) {\nif(cases2636.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1797],4,cases2636.$arity,L[1796],cases2636.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1797],true,L[1796],cases2636.$loc);\n}\n}\nvar $fn2656 = cases2636.$constructor.$fieldNames;\nR.dF(cases2636.dict[$fn2656[0]],cases2636.$mut_fields_mask[0],false);\nvar pat$loc2654 = R.dF(cases2636.dict[$fn2656[1]],cases2636.$mut_fields_mask[1],false);\nR.dF(cases2636.dict[$fn2656[2]],cases2636.$mut_fields_mask[2],false);\nR.dF(cases2636.dict[$fn2656[3]],cases2636.$mut_fields_mask[3],false);\n$step2629 = 5;\n$ans2632 = R.makeTuple([pat$loc2654,nothing2]);\nbreak;\ncase 4: $ans2632 = R.throwNoCasesMatched(L[1796],cases2636);\n$step2629 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2632;\ndefault: R.ffi.throwSpinnakerError(L[1792],$step2629);\n}\n}\nif($step2629 !== 5) {\n$ans2632.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2633,$temp_lam2630,$step2629,[ast2631],[cases2636,pat$loc2647],$elidedFrames2635);\n}\nreturn $ans2632;\n};\nvar anf_assign2662 = R.mF($temp_lam2630,\"locs-from-cases-ast\");\nlocs$from$cases$ast2663.$var = anf_assign2662;\nR.nothing;\nvar $temp_lam2665 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1798($l2666) {\nvar $step2664 = 0;\nvar $elidedFrames2670 = 0;\nvar $ans2667 = D;\nvar $al2668 = L[1798];\nif(R.isAR($l2666)) {\n$step2664 = $l2666.step;\n$al2668 = $l2666.from;\n$ans2667 = $l2666.ans;\n$elidedFrames2670 = $l2666.elidedFrames;\nl2666 = $l2666.args[0];\ncases2671 = $l2666.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1798],1,$t,false);\n}\nvar l2666 = $l2666;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2667 = R.mC();\n}\nwhile(!R.isContinuation($ans2667)) {\nswitch($step2664) {\ncase 0: var cases2671 = l2666;\n$al2668 = L[1801];\n$step2664 = $cases_dispatch2676[cases2671.$name] || 3;\nbreak;\ncase 1: if(cases2671.$arity !== 2) {\nif(cases2671.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1800],2,cases2671.$arity,L[1801],cases2671.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1800],true,L[1801],cases2671.$loc);\n}\n}\nvar $fn2674 = cases2671.$constructor.$fieldNames;\nvar first2672 = R.dF(cases2671.dict[$fn2674[0]],cases2671.$mut_fields_mask[0],false);\nR.dF(cases2671.dict[$fn2674[1]],cases2671.$mut_fields_mask[1],false);\n$step2664 = 4;\n$al2668 = L[1799];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2668,O8.dict.values.dict[\"some\"]);\n}\n$ans2667 = O8.dict.values.dict[\"some\"].app(first2672);\nbreak;\ncase 2: if(cases2671.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1802],false,L[1801],cases2671.$loc);\n}\n$step2664 = 4;\n$ans2667 = O8.dict.values.dict[\"none\"];\nbreak;\ncase 3: $ans2667 = R.throwNoCasesMatched(L[1801],cases2671);\n$step2664 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2667;\ndefault: R.ffi.throwSpinnakerError(L[1798],$step2664);\n}\n}\nif($step2664 !== 4) {\n$ans2667.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2668,$temp_lam2665,$step2664,[l2666],[cases2671],$elidedFrames2670);\n}\nreturn $ans2667;\n};\nvar anf_assign2678 = R.mF($temp_lam2665,\"maybe-first\");\nmaybe$first2679.$var = anf_assign2678;\nR.nothing;\nvar $temp_lam2681 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1803($ast2682) {\nvar $step2680 = 0;\nvar $elidedFrames2686 = 0;\nvar $ans2683 = D;\nvar $al2684 = L[1803];\nif(R.isAR($ast2682)) {\n$step2680 = $ast2682.step;\n$al2684 = $ast2682.from;\n$ans2683 = $ast2682.ans;\n$elidedFrames2686 = $ast2682.elidedFrames;\nast2682 = $ast2682.args[0];\nconstr$loc2699 = $ast2682.vars[0];\nl2716 = $ast2682.vars[1];\ncases2687 = $ast2682.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1803],1,$t,false);\n}\nvar ast2682 = $ast2682;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2683 = R.mC();\n}\nwhile(!R.isContinuation($ans2683)) {\nswitch($step2680) {\ncase 0: var cases2687 = ast2682;\n$al2684 = L[1807];\n$step2680 = $cases_dispatch2724[cases2687.$name] || 8;\nbreak;\ncase 1: if(cases2687.$arity !== 5) {\nif(cases2687.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1806],5,cases2687.$arity,L[1807],cases2687.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1806],true,L[1807],cases2687.$loc);\n}\n}\nvar $fn2701 = cases2687.$constructor.$fieldNames;\nR.dF(cases2687.dict[$fn2701[0]],cases2687.$mut_fields_mask[0],false);\nvar constr$loc2699 = R.dF(cases2687.dict[$fn2701[1]],cases2687.$mut_fields_mask[1],false);\nR.dF(cases2687.dict[$fn2701[2]],cases2687.$mut_fields_mask[2],false);\nvar members2696 = R.dF(cases2687.dict[$fn2701[3]],cases2687.$mut_fields_mask[3],false);\nR.dF(cases2687.dict[$fn2701[4]],cases2687.$mut_fields_mask[4],false);\nvar $temp_lam2689 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1804($recv_2690) {\nvar $step2688 = 0;\nvar $elidedFrames2694 = 0;\nvar $ans2691 = D;\nvar $al2692 = L[1804];\nif(R.isAR($recv_2690)) {\n$step2688 = $recv_2690.step;\n$al2692 = $recv_2690.from;\n$ans2691 = $recv_2690.ans;\n$elidedFrames2694 = $recv_2690.elidedFrames;\nrecv_2690 = $recv_2690.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1804],1,$t,false);\n}\nvar recv_2690 = $recv_2690;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2691 = R.mC();\n}\nwhile(!R.isContinuation($ans2691)) {\nswitch($step2688) {\ncase 0: $step2688 = 1;\n$al2692 = L[1804];\n$ans2691 = G(recv_2690,\"l\",L[1804]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2691;\ndefault: R.ffi.throwSpinnakerError(L[1804],$step2688);\n}\n}\nif($step2688 !== 1) {\n$ans2691.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2692,$temp_lam2689,$step2688,[recv_2690],[],$elidedFrames2694);\n}\nreturn $ans2691;\n};\nvar anf_arg2697 = R.mF($temp_lam2689,\"\");\n$step2680 = 2;\n$ans2683 = R.maybeMethodCall1(members2696,\"map\",L[1805],anf_arg2697);\nbreak;\ncase 2: var anf_tuple_fields2698 = $ans2683;\n$step2680 = 9;\n$ans2683 = R.makeTuple([anf_tuple_fields2698,constr$loc2699]);\nbreak;\ncase 3: if(cases2687.$arity !== 3) {\nif(cases2687.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1814],3,cases2687.$arity,L[1807],cases2687.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1814],true,L[1807],cases2687.$loc);\n}\n}\nvar $fn2722 = cases2687.$constructor.$fieldNames;\nvar l2716 = R.dF(cases2687.dict[$fn2722[0]],cases2687.$mut_fields_mask[0],false);\nR.dF(cases2687.dict[$fn2722[1]],cases2687.$mut_fields_mask[1],false);\nvar with$members2705 = R.dF(cases2687.dict[$fn2722[2]],cases2687.$mut_fields_mask[2],false);\n$step2680 = 4;\n$al2684 = L[1813];\nif(typeof(maybe$first2679.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2684,maybe$first2679.$var);\n}\n$ans2683 = maybe$first2679.$var.app(with$members2705);\nbreak;\ncase 4: var anf_method_obj2714 = $ans2683;\nvar $temp_lam2707 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1808($recv_2708) {\nvar $step2706 = 0;\nvar $elidedFrames2712 = 0;\nvar $ans2709 = D;\nvar $al2710 = L[1808];\nif(R.isAR($recv_2708)) {\n$step2706 = $recv_2708.step;\n$al2710 = $recv_2708.from;\n$ans2709 = $recv_2708.ans;\n$elidedFrames2712 = $recv_2708.elidedFrames;\nrecv_2708 = $recv_2708.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1808],1,$t,false);\n}\nvar recv_2708 = $recv_2708;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2709 = R.mC();\n}\nwhile(!R.isContinuation($ans2709)) {\nswitch($step2706) {\ncase 0: $step2706 = 1;\n$al2710 = L[1808];\n$ans2709 = G(recv_2708,\"l\",L[1808]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2709;\ndefault: R.ffi.throwSpinnakerError(L[1808],$step2706);\n}\n}\nif($step2706 !== 1) {\n$ans2709.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2710,$temp_lam2707,$step2706,[recv_2708],[],$elidedFrames2712);\n}\nreturn $ans2709;\n};\nvar anf_arg2715 = R.mF($temp_lam2707,\"\");\n$step2680 = 5;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2714,\"and-then\",L[1809],anf_arg2715);\nbreak;\ncase 5: var anf_method_obj2717 = $ans2683;\n$al2684 = L[1810];\nvar anf_arg2718 = G(l2716,\"upto\",L[1810]);\n$step2680 = 6;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2717,\"and-then\",L[1811],anf_arg2718);\nbreak;\ncase 6: var anf_method_obj2719 = $ans2683;\n$step2680 = 7;\n$ans2683 = R.maybeMethodCall1(anf_method_obj2719,\"or-else\",L[1812],l2716);\nbreak;\ncase 7: var anf_tuple_fields2720 = $ans2683;\n$step2680 = 9;\n$ans2683 = R.makeTuple([nothing2,anf_tuple_fields2720]);\nbreak;\ncase 8: $ans2683 = R.throwNoCasesMatched(L[1807],cases2687);\n$step2680 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2683;\ndefault: R.ffi.throwSpinnakerError(L[1803],$step2680);\n}\n}\nif($step2680 !== 9) {\n$ans2683.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2684,$temp_lam2681,$step2680,[ast2682],[constr$loc2699,l2716,cases2687],$elidedFrames2686);\n}\nreturn $ans2683;\n};\nvar anf_assign2726 = R.mF($temp_lam2681,\"locs-from-constructor-ast\");\nlocs$from$constructor$ast2727.$var = anf_assign2726;\nR.nothing;\n$al2626 = L[1815];\nvar anf_arg2728 = G(self2621,\"branch-loc\",L[1815]);\n$step2619 = 1;\n$al2626 = L[1946];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,O8.dict.values.dict[\"some\"]);\n}\n$ans2625 = O8.dict.values.dict[\"some\"].app(anf_arg2728);\nbreak;\ncase 1: var arg_2729 = $ans2625;\n$step2619 = 2;\n$al2626 = L[1945];\n// omitting isFunction check;\n$ans2625 = and$if176.$var.app(src$available2623,arg_2729);\nbreak;\ncase 2: var arg_2730 = $ans2625;\n$step2619 = 3;\n$al2626 = L[1944];\n// omitting isFunction check;\n$ans2625 = and$maybe193.$var.app(maybe$ast2624,arg_2730);\nbreak;\ncase 3: var anf_method_obj2731 = $ans2625;\n$step2619 = 4;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2731,\"and-then\",L[1816],locs$from$cases$ast2663.$var);\nbreak;\ncase 4: var destructured$pattern2837 = $ans2625;\n$al2626 = L[1817];\nvar anf_arg2732 = G(self2621,\"constructor-loc\",L[1817]);\n$step2619 = 5;\n$al2626 = L[1943];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,O8.dict.values.dict[\"some\"]);\n}\n$ans2625 = O8.dict.values.dict[\"some\"].app(anf_arg2732);\nbreak;\ncase 5: var arg_2733 = $ans2625;\n$step2619 = 6;\n$al2626 = L[1942];\n// omitting isFunction check;\n$ans2625 = and$if176.$var.app(src$available2623,arg_2733);\nbreak;\ncase 6: var arg_2734 = $ans2625;\n$step2619 = 7;\n$al2626 = L[1941];\n// omitting isFunction check;\n$ans2625 = and$maybe193.$var.app(maybe$ast2624,arg_2734);\nbreak;\ncase 7: var anf_method_obj2735 = $ans2625;\n$step2619 = 8;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2735,\"and-then\",L[1818],locs$from$constructor$ast2727.$var);\nbreak;\ncase 8: var destructured$definition2744 = $ans2625;\nvar $temp_lam2737 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1819($v2738) {\nvar $step2736 = 0;\nvar $elidedFrames2742 = 0;\nvar $ans2739 = D;\nvar $al2740 = L[1819];\nif(R.isAR($v2738)) {\n$step2736 = $v2738.step;\n$al2740 = $v2738.from;\n$ans2739 = $v2738.ans;\n$elidedFrames2742 = $v2738.elidedFrames;\nv2738 = $v2738.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1819],1,$t,false);\n}\nvar v2738 = $v2738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2739 = R.mC();\n}\nwhile(!R.isContinuation($ans2739)) {\nswitch($step2736) {\ncase 0: $step2736 = 1;\n$ans2739 = R.getTuple(v2738,1,L[1820]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2739;\ndefault: R.ffi.throwSpinnakerError(L[1819],$step2736);\n}\n}\nif($step2736 !== 1) {\n$ans2739.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2740,$temp_lam2737,$step2736,[v2738],[],$elidedFrames2742);\n}\nreturn $ans2739;\n};\nvar anf_arg2745 = R.mF($temp_lam2737,\"\");\n$step2619 = 9;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1821],anf_arg2745);\nbreak;\ncase 9: var anf_method_obj2746 = $ans2625;\n$al2626 = L[1822];\nvar anf_arg2747 = G(self2621,\"constructor-loc\",L[1822]);\n$step2619 = 10;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2746,\"or-else\",L[1823],anf_arg2747);\nbreak;\ncase 10: var constructor$loc2773 = $ans2625;\nvar pattern$prose2762 = {\"$var\":D};\nvar observation$prose2793 = {\"$var\":D};\nvar explanation$prose2808 = {\"$var\":D};\nvar $temp_lam2749 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1824($pattern2750,$bindings2751) {\nvar $step2748 = 0;\nvar $elidedFrames2755 = 0;\nvar $ans2752 = D;\nvar $al2753 = L[1824];\nif(R.isAR($pattern2750)) {\n$step2748 = $pattern2750.step;\n$al2753 = $pattern2750.from;\n$ans2752 = $pattern2750.ans;\n$elidedFrames2755 = $pattern2750.elidedFrames;\npattern2750 = $pattern2750.args[0];\nbindings2751 = $pattern2750.args[1];\nanf_fun2756 = $pattern2750.vars[0];\nanf_arg2757 = $pattern2750.vars[1];\nanf_arg2758 = $pattern2750.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1824],2,$t,false);\n}\nvar pattern2750 = $pattern2750;\nvar bindings2751 = $bindings2751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2752 = R.mC();\n}\nwhile(!R.isContinuation($ans2752)) {\nswitch($step2748) {\ncase 0: $ans2752 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1825],L[1826]);\nvar anf_fun2756 = $ans2752;\n$step2748 = 1;\n$al2753 = L[1829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg2757 = $ans2752;\n$step2748 = 2;\n$al2753 = L[1828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 2: var anf_arg2758 = $ans2752;\n$step2748 = 3;\n$al2753 = L[1827];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,ED6.dict.values.dict[\"text\"]);\n}\n$ans2752 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg2759 = $ans2752;\n$step2748 = 4;\n$al2753 = L[1826];\nif(typeof(anf_fun2756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2753,anf_fun2756);\n}\n$ans2752 = anf_fun2756.app(anf_arg2757,pattern2750,anf_arg2758,bindings2751,anf_arg2759);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2752;\ndefault: R.ffi.throwSpinnakerError(L[1824],$step2748);\n}\n}\nif($step2748 !== 4) {\n$ans2752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2753,$temp_lam2749,$step2748,[pattern2750,bindings2751],[anf_fun2756,anf_arg2757,anf_arg2758],$elidedFrames2755);\n}\nreturn $ans2752;\n};\nvar anf_assign2761 = R.mF($temp_lam2749,\"pattern-prose\");\npattern$prose2762.$var = anf_assign2761;\nR.nothing;\nvar $temp_lam2764 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1830($pattern2765,$bindings2766,$variant2767,$members2768) {\nvar $step2763 = 0;\nvar $elidedFrames2772 = 0;\nvar $ans2769 = D;\nvar $al2770 = L[1830];\nif(R.isAR($pattern2765)) {\n$step2763 = $pattern2765.step;\n$al2770 = $pattern2765.from;\n$ans2769 = $pattern2765.ans;\n$elidedFrames2772 = $pattern2765.elidedFrames;\npattern2765 = $pattern2765.args[0];\nbindings2766 = $pattern2765.args[1];\nvariant2767 = $pattern2765.args[2];\nmembers2768 = $pattern2765.args[3];\nanf_fun2776 = $pattern2765.vars[0];\nanf_fun2787 = $pattern2765.vars[1];\nanf_array2783 = $pattern2765.vars[2];\nanf_fun2779 = $pattern2765.vars[3];\nanf_array2775 = $pattern2765.vars[4];\nanf_array2788 = $pattern2765.vars[5];\nanf_arg2785 = $pattern2765.vars[6];\nanf_arg2777 = $pattern2765.vars[7];\nanf_fun2782 = $pattern2765.vars[8];\nanf_fun2784 = $pattern2765.vars[9];\nanf_fun2774 = $pattern2765.vars[10];\nanf_array2780 = $pattern2765.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1830],4,$t,false);\n}\nvar pattern2765 = $pattern2765;\nvar bindings2766 = $bindings2766;\nvar variant2767 = $variant2767;\nvar members2768 = $members2768;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2769 = R.mC();\n}\nwhile(!R.isContinuation($ans2769)) {\nswitch($step2763) {\ncase 0: $al2770 = L[1831];\nvar anf_if2790 = G(self2621,\"should-be-singleton\",L[1831]);\n$step2763 = R.checkPyretTrue(anf_if2790)?1:15;\nbreak;\ncase 1: $step2763 = 2;\n$al2770 = L[1847];\nif(typeof(src$available2623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,src$available2623);\n}\n$ans2769 = src$available2623.app(constructor$loc2773);\nbreak;\ncase 2: var anf_if2781 = $ans2769;\n$step2763 = R.checkPyretTrue(anf_if2781)?3:10;\nbreak;\ncase 3: $ans2769 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1832],L[1833]);\nvar anf_fun2776 = $ans2769;\n$ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1834],L[1835]);\nvar anf_fun2774 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2775 = $ans2769;\n$step2763 = 4;\n$al2770 = L[1840];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 4: anf_array2775[0] = $ans2769;\nanf_array2775[1] = pattern2765;\n$step2763 = 5;\n$al2770 = L[1839];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has a \"));\nbreak;\ncase 5: anf_array2775[2] = $ans2769;\nanf_array2775[3] = bindings2766;\n$step2763 = 6;\n$al2770 = L[1838];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 6: anf_array2775[4] = $ans2769;\nanf_array2775[5] = variant2767;\n$step2763 = 7;\n$al2770 = L[1837];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that is a singleton:\"));\nbreak;\ncase 7: anf_array2775[6] = $ans2769;\n$step2763 = 8;\n$al2770 = L[1835];\nif(typeof(anf_fun2774.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2774);\n}\n$ans2769 = anf_fun2774.app(anf_array2775);\nbreak;\ncase 8: var anf_arg2777 = $ans2769;\n$step2763 = 9;\n$al2770 = L[1836];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"cmcode\"].app(constructor$loc2773);\nbreak;\ncase 9: var anf_arg2778 = $ans2769;\n$step2763 = 29;\n$al2770 = L[1833];\nif(typeof(anf_fun2776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2776);\n}\n$ans2769 = anf_fun2776.app(anf_arg2777,anf_arg2778);\nbreak;\ncase 10: $ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1841],L[1842]);\nvar anf_fun2779 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2780 = $ans2769;\n$step2763 = 11;\n$al2770 = L[1846];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array2780[0] = $ans2769;\nanf_array2780[1] = pattern2765;\n$step2763 = 12;\n$al2770 = L[1845];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has a \"));\nbreak;\ncase 12: anf_array2780[2] = $ans2769;\nanf_array2780[3] = bindings2766;\n$step2763 = 13;\n$al2770 = L[1844];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 13: anf_array2780[4] = $ans2769;\nanf_array2780[5] = variant2767;\n$step2763 = 14;\n$al2770 = L[1843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that is a singleton.\"));\nbreak;\ncase 14: anf_array2780[6] = $ans2769;\n$step2763 = 29;\n$al2770 = L[1842];\nif(typeof(anf_fun2779.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2779);\n}\n$ans2769 = anf_fun2779.app(anf_array2780);\nbreak;\ncase 15: $step2763 = 16;\n$al2770 = L[1863];\nif(typeof(src$available2623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,src$available2623);\n}\n$ans2769 = src$available2623.app(constructor$loc2773);\nbreak;\ncase 16: var anf_if2789 = $ans2769;\n$step2763 = R.checkPyretTrue(anf_if2789)?17:24;\nbreak;\ncase 17: $ans2769 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1848],L[1849]);\nvar anf_fun2784 = $ans2769;\n$ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1850],L[1851]);\nvar anf_fun2782 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2783 = $ans2769;\n$step2763 = 18;\n$al2770 = L[1856];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 18: anf_array2783[0] = $ans2769;\nanf_array2783[1] = pattern2765;\n$step2763 = 19;\n$al2770 = L[1855];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has no binding list, but refers to a \"));\nbreak;\ncase 19: anf_array2783[2] = $ans2769;\nanf_array2783[3] = variant2767;\n$step2763 = 20;\n$al2770 = L[1854];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that has a \"));\nbreak;\ncase 20: anf_array2783[4] = $ans2769;\nanf_array2783[5] = members2768;\n$step2763 = 21;\n$al2770 = L[1853];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 21: anf_array2783[6] = $ans2769;\n$step2763 = 22;\n$al2770 = L[1851];\nif(typeof(anf_fun2782.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2782);\n}\n$ans2769 = anf_fun2782.app(anf_array2783);\nbreak;\ncase 22: var anf_arg2785 = $ans2769;\n$step2763 = 23;\n$al2770 = L[1852];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"cmcode\"].app(constructor$loc2773);\nbreak;\ncase 23: var anf_arg2786 = $ans2769;\n$step2763 = 29;\n$al2770 = L[1849];\nif(typeof(anf_fun2784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2784);\n}\n$ans2769 = anf_fun2784.app(anf_arg2785,anf_arg2786);\nbreak;\ncase 24: $ans2769 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[1857],L[1858]);\nvar anf_fun2787 = $ans2769;\n$ans2769 = R.makeArrayN((7));\nvar anf_array2788 = $ans2769;\n$step2763 = 25;\n$al2770 = L[1862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 25: anf_array2788[0] = $ans2769;\nanf_array2788[1] = pattern2765;\n$step2763 = 26;\n$al2770 = L[1861];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" has no binding list, but refers to a \"));\nbreak;\ncase 26: anf_array2788[2] = $ans2769;\nanf_array2788[3] = variant2767;\n$step2763 = 27;\n$al2770 = L[1860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\" that has a \"));\nbreak;\ncase 27: anf_array2788[4] = $ans2769;\nanf_array2788[5] = members2768;\n$step2763 = 28;\n$al2770 = L[1859];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,ED6.dict.values.dict[\"text\"]);\n}\n$ans2769 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 28: anf_array2788[6] = $ans2769;\n$step2763 = 29;\n$al2770 = L[1858];\nif(typeof(anf_fun2787.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2770,anf_fun2787);\n}\n$ans2769 = anf_fun2787.app(anf_array2788);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans2769;\ndefault: R.ffi.throwSpinnakerError(L[1830],$step2763);\n}\n}\nif($step2763 !== 29) {\n$ans2769.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2770,$temp_lam2764,$step2763,[pattern2765,bindings2766,variant2767,members2768],[anf_fun2776,anf_fun2787,anf_array2783,anf_fun2779,anf_array2775,anf_array2788,anf_arg2785,anf_arg2777,anf_fun2782,anf_fun2784,anf_fun2774,anf_array2780],$elidedFrames2772);\n}\nreturn $ans2769;\n};\nvar anf_assign2792 = R.mF($temp_lam2764,\"observation-prose\");\nobservation$prose2793.$var = anf_assign2792;\nR.nothing;\nvar $temp_lam2795 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1864($pattern2796,$variant2797) {\nvar $step2794 = 0;\nvar $elidedFrames2801 = 0;\nvar $ans2798 = D;\nvar $al2799 = L[1864];\nif(R.isAR($pattern2796)) {\n$step2794 = $pattern2796.step;\n$al2799 = $pattern2796.from;\n$ans2798 = $pattern2796.ans;\n$elidedFrames2801 = $pattern2796.elidedFrames;\npattern2796 = $pattern2796.args[0];\nvariant2797 = $pattern2796.args[1];\nanf_fun2802 = $pattern2796.vars[0];\nanf_arg2803 = $pattern2796.vars[1];\nanf_arg2804 = $pattern2796.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1864],2,$t,false);\n}\nvar pattern2796 = $pattern2796;\nvar variant2797 = $variant2797;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2798 = R.mC();\n}\nwhile(!R.isContinuation($ans2798)) {\nswitch($step2794) {\ncase 0: $ans2798 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1865],L[1866]);\nvar anf_fun2802 = $ans2798;\n$step2794 = 1;\n$al2799 = L[1869];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: var anf_arg2803 = $ans2798;\n$step2794 = 2;\n$al2799 = L[1868];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\" must match the \"));\nbreak;\ncase 2: var anf_arg2804 = $ans2798;\n$step2794 = 3;\n$al2799 = L[1867];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,ED6.dict.values.dict[\"text\"]);\n}\n$ans2798 = ED6.dict.values.dict[\"text\"].app((\" that it refers to.\"));\nbreak;\ncase 3: var anf_arg2805 = $ans2798;\n$step2794 = 4;\n$al2799 = L[1866];\nif(typeof(anf_fun2802.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2799,anf_fun2802);\n}\n$ans2798 = anf_fun2802.app(anf_arg2803,pattern2796,anf_arg2804,variant2797,anf_arg2805);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2798;\ndefault: R.ffi.throwSpinnakerError(L[1864],$step2794);\n}\n}\nif($step2794 !== 4) {\n$ans2798.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2799,$temp_lam2795,$step2794,[pattern2796,variant2797],[anf_fun2802,anf_arg2803,anf_arg2804],$elidedFrames2801);\n}\nreturn $ans2798;\n};\nvar anf_assign2807 = R.mF($temp_lam2795,\"explanation-prose\");\nexplanation$prose2808.$var = anf_assign2807;\nR.nothing;\nvar $temp_lam2810 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1870($v2811) {\nvar $step2809 = 0;\nvar $elidedFrames2815 = 0;\nvar $ans2812 = D;\nvar $al2813 = L[1870];\nif(R.isAR($v2811)) {\n$step2809 = $v2811.step;\n$al2813 = $v2811.from;\n$ans2812 = $v2811.ans;\n$elidedFrames2815 = $v2811.elidedFrames;\nv2811 = $v2811.args[0];\ntup2816 = $v2811.vars[0];\nbinds2817 = $v2811.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1870],1,$t,false);\n}\nvar v2811 = $v2811;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2812 = R.mC();\n}\nwhile(!R.isContinuation($ans2812)) {\nswitch($step2809) {\ncase 0: var tup2816 = v2811;\n$step2809 = 1;\n$al2813 = L[1875];\nR.checkTupleBind(tup2816,2,L[1875]);\nbreak;\ncase 1: R.getTuple(tup2816,0,L[1871]);\nvar binds2817 = R.getTuple(tup2816,1,L[1872]);\n// caller optimization;\n$ans2812 = is$nothing3.app(binds2817);\nvar anf_if2834 = $ans2812;\n$step2809 = R.checkPyretTrue(anf_if2834)?2:3;\nbreak;\ncase 2: $step2809 = 4;\nvar $temp_lam2819 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1873($w2820) {\nvar $step2818 = 0;\nvar $elidedFrames2824 = 0;\nvar $ans2821 = D;\nvar $al2822 = L[1873];\nif(R.isAR($w2820)) {\n$step2818 = $w2820.step;\n$al2822 = $w2820.from;\n$ans2821 = $w2820.ans;\n$elidedFrames2824 = $w2820.elidedFrames;\nw2820 = $w2820.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1873],1,$t,false);\n}\nvar w2820 = $w2820;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2821 = R.mC();\n}\nwhile(!R.isContinuation($ans2821)) {\nswitch($step2818) {\ncase 0: $step2818 = 1;\n$ans2821 = w2820;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2821;\ndefault: R.ffi.throwSpinnakerError(L[1873],$step2818);\n}\n}\nif($step2818 !== 1) {\n$ans2821.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2822,$temp_lam2819,$step2818,[w2820],[],$elidedFrames2824);\n}\nreturn $ans2821;\n};\n$ans2812 = R.mF($temp_lam2819,\"\");\nbreak;\ncase 3: $step2809 = 4;\nvar $temp_lam2827 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1874($arg_2828) {\nvar $step2826 = 0;\nvar $elidedFrames2832 = 0;\nvar $ans2829 = D;\nvar $al2830 = L[1874];\nif(R.isAR($arg_2828)) {\n$step2826 = $arg_2828.step;\n$al2830 = $arg_2828.from;\n$ans2829 = $arg_2828.ans;\n$elidedFrames2832 = $arg_2828.elidedFrames;\narg_2828 = $arg_2828.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1874],1,$t,false);\n}\nvar arg_2828 = $arg_2828;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2829 = R.mC();\n}\nwhile(!R.isContinuation($ans2829)) {\nswitch($step2826) {\ncase 0: $step2826 = 1;\n$al2830 = L[1874];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2830,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2829 = ED6.dict.values.dict[\"highlight\"].app(arg_2828,binds2817,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2829;\ndefault: R.ffi.throwSpinnakerError(L[1874],$step2826);\n}\n}\nif($step2826 !== 1) {\n$ans2829.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2830,$temp_lam2827,$step2826,[arg_2828],[],$elidedFrames2832);\n}\nreturn $ans2829;\n};\n$ans2812 = R.mF($temp_lam2827,\"\");\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2812;\ndefault: R.ffi.throwSpinnakerError(L[1870],$step2809);\n}\n}\nif($step2809 !== 4) {\n$ans2812.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2813,$temp_lam2810,$step2809,[v2811],[tup2816,binds2817],$elidedFrames2815);\n}\nreturn $ans2812;\n};\nvar anf_arg2838 = R.mF($temp_lam2810,\"\");\n$step2619 = 11;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1876],anf_arg2838);\nbreak;\ncase 11: var anf_method_obj2847 = $ans2625;\nvar $temp_lam2840 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1877($v2841) {\nvar $step2839 = 0;\nvar $elidedFrames2845 = 0;\nvar $ans2842 = D;\nvar $al2843 = L[1877];\nif(R.isAR($v2841)) {\n$step2839 = $v2841.step;\n$al2843 = $v2841.from;\n$ans2842 = $v2841.ans;\n$elidedFrames2845 = $v2841.elidedFrames;\nv2841 = $v2841.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1877],1,$t,false);\n}\nvar v2841 = $v2841;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2842 = R.mC();\n}\nwhile(!R.isContinuation($ans2842)) {\nswitch($step2839) {\ncase 0: $step2839 = 1;\n$ans2842 = v2841;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2842;\ndefault: R.ffi.throwSpinnakerError(L[1877],$step2839);\n}\n}\nif($step2839 !== 1) {\n$ans2842.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2843,$temp_lam2840,$step2839,[v2841],[],$elidedFrames2845);\n}\nreturn $ans2842;\n};\nvar anf_arg2848 = R.mF($temp_lam2840,\"\");\n$step2619 = 12;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2847,\"or-else\",L[1878],anf_arg2848);\nbreak;\ncase 12: var bindings2967 = $ans2625;\nvar $temp_lam2850 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1879($v2851) {\nvar $step2849 = 0;\nvar $elidedFrames2855 = 0;\nvar $ans2852 = D;\nvar $al2853 = L[1879];\nif(R.isAR($v2851)) {\n$step2849 = $v2851.step;\n$al2853 = $v2851.from;\n$ans2852 = $v2851.ans;\n$elidedFrames2855 = $v2851.elidedFrames;\nv2851 = $v2851.args[0];\ntup2856 = $v2851.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1879],1,$t,false);\n}\nvar v2851 = $v2851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2852 = R.mC();\n}\nwhile(!R.isContinuation($ans2852)) {\nswitch($step2849) {\ncase 0: var tup2856 = v2851;\n$step2849 = 1;\n$al2853 = L[1886];\nR.checkTupleBind(tup2856,2,L[1886]);\nbreak;\ncase 1: var pat$loc2865 = R.getTuple(tup2856,0,L[1880]);\nR.getTuple(tup2856,1,L[1881]);\n$step2849 = 2;\nvar $temp_lam2858 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1882($arg_2859) {\nvar $step2857 = 0;\nvar $elidedFrames2863 = 0;\nvar $ans2860 = D;\nvar $al2861 = L[1882];\nif(R.isAR($arg_2859)) {\n$step2857 = $arg_2859.step;\n$al2861 = $arg_2859.from;\n$ans2860 = $arg_2859.ans;\n$elidedFrames2863 = $arg_2859.elidedFrames;\narg_2859 = $arg_2859.args[0];\nanf_arg2866 = $arg_2859.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1882],1,$t,false);\n}\nvar arg_2859 = $arg_2859;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2860 = R.mC();\n}\nwhile(!R.isContinuation($ans2860)) {\nswitch($step2857) {\ncase 0: $ans2860 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1883],L[1884]);\nvar anf_fun2864 = $ans2860;\n$step2857 = 1;\n$al2861 = L[1884];\nif(typeof(anf_fun2864.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2861,anf_fun2864);\n}\n$ans2860 = anf_fun2864.app(pat$loc2865);\nbreak;\ncase 1: var anf_arg2866 = $ans2860;\n$al2861 = L[1885];\nvar anf_if2868 = G(self2621,\"should-be-singleton\",L[1885]);\n$step2857 = R.checkPyretTrue(anf_if2868)?2:3;\nbreak;\ncase 2: $step2857 = 4;\n$ans2860 = (-1);\nbreak;\ncase 3: $step2857 = 4;\n$ans2860 = (1);\nbreak;\ncase 4: var anf_arg2867 = $ans2860;\n$step2857 = 5;\n$al2861 = L[1882];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2861,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2860 = ED6.dict.values.dict[\"highlight\"].app(arg_2859,anf_arg2866,anf_arg2867);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2860;\ndefault: R.ffi.throwSpinnakerError(L[1882],$step2857);\n}\n}\nif($step2857 !== 5) {\n$ans2860.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2861,$temp_lam2858,$step2857,[arg_2859],[anf_arg2866],$elidedFrames2863);\n}\nreturn $ans2860;\n};\n$ans2852 = R.mF($temp_lam2858,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2852;\ndefault: R.ffi.throwSpinnakerError(L[1879],$step2849);\n}\n}\nif($step2849 !== 2) {\n$ans2852.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2853,$temp_lam2850,$step2849,[v2851],[tup2856],$elidedFrames2855);\n}\nreturn $ans2852;\n};\nvar anf_arg2872 = R.mF($temp_lam2850,\"\");\n$step2619 = 13;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1887],anf_arg2872);\nbreak;\ncase 13: var anf_method_obj2881 = $ans2625;\nvar $temp_lam2874 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1888($v2875) {\nvar $step2873 = 0;\nvar $elidedFrames2879 = 0;\nvar $ans2876 = D;\nvar $al2877 = L[1888];\nif(R.isAR($v2875)) {\n$step2873 = $v2875.step;\n$al2877 = $v2875.from;\n$ans2876 = $v2875.ans;\n$elidedFrames2879 = $v2875.elidedFrames;\nv2875 = $v2875.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1888],1,$t,false);\n}\nvar v2875 = $v2875;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2876 = R.mC();\n}\nwhile(!R.isContinuation($ans2876)) {\nswitch($step2873) {\ncase 0: $step2873 = 1;\n$ans2876 = v2875;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2876;\ndefault: R.ffi.throwSpinnakerError(L[1888],$step2873);\n}\n}\nif($step2873 !== 1) {\n$ans2876.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2877,$temp_lam2874,$step2873,[v2875],[],$elidedFrames2879);\n}\nreturn $ans2876;\n};\nvar anf_arg2882 = R.mF($temp_lam2874,\"\");\n$step2619 = 14;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2881,\"or-else\",L[1889],anf_arg2882);\nbreak;\ncase 14: var pattern2949 = $ans2625;\nvar $temp_lam2884 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1890($v2885) {\nvar $step2883 = 0;\nvar $elidedFrames2889 = 0;\nvar $ans2886 = D;\nvar $al2887 = L[1890];\nif(R.isAR($v2885)) {\n$step2883 = $v2885.step;\n$al2887 = $v2885.from;\n$ans2886 = $v2885.ans;\n$elidedFrames2889 = $v2885.elidedFrames;\nv2885 = $v2885.args[0];\ntup2890 = $v2885.vars[0];\nparams2891 = $v2885.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1890],1,$t,false);\n}\nvar v2885 = $v2885;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2886 = R.mC();\n}\nwhile(!R.isContinuation($ans2886)) {\nswitch($step2883) {\ncase 0: var tup2890 = v2885;\n$step2883 = 1;\n$al2887 = L[1895];\nR.checkTupleBind(tup2890,2,L[1895]);\nbreak;\ncase 1: var params2891 = R.getTuple(tup2890,0,L[1891]);\nR.getTuple(tup2890,1,L[1892]);\n// caller optimization;\n$ans2886 = is$nothing3.app(params2891);\nvar anf_if2908 = $ans2886;\n$step2883 = R.checkPyretTrue(anf_if2908)?2:3;\nbreak;\ncase 2: $step2883 = 4;\nvar $temp_lam2893 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1893($w2894) {\nvar $step2892 = 0;\nvar $elidedFrames2898 = 0;\nvar $ans2895 = D;\nvar $al2896 = L[1893];\nif(R.isAR($w2894)) {\n$step2892 = $w2894.step;\n$al2896 = $w2894.from;\n$ans2895 = $w2894.ans;\n$elidedFrames2898 = $w2894.elidedFrames;\nw2894 = $w2894.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1893],1,$t,false);\n}\nvar w2894 = $w2894;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2895 = R.mC();\n}\nwhile(!R.isContinuation($ans2895)) {\nswitch($step2892) {\ncase 0: $step2892 = 1;\n$ans2895 = w2894;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2895;\ndefault: R.ffi.throwSpinnakerError(L[1893],$step2892);\n}\n}\nif($step2892 !== 1) {\n$ans2895.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2896,$temp_lam2893,$step2892,[w2894],[],$elidedFrames2898);\n}\nreturn $ans2895;\n};\n$ans2886 = R.mF($temp_lam2893,\"\");\nbreak;\ncase 3: $step2883 = 4;\nvar $temp_lam2901 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1894($arg_2902) {\nvar $step2900 = 0;\nvar $elidedFrames2906 = 0;\nvar $ans2903 = D;\nvar $al2904 = L[1894];\nif(R.isAR($arg_2902)) {\n$step2900 = $arg_2902.step;\n$al2904 = $arg_2902.from;\n$ans2903 = $arg_2902.ans;\n$elidedFrames2906 = $arg_2902.elidedFrames;\narg_2902 = $arg_2902.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1894],1,$t,false);\n}\nvar arg_2902 = $arg_2902;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2903 = R.mC();\n}\nwhile(!R.isContinuation($ans2903)) {\nswitch($step2900) {\ncase 0: $step2900 = 1;\n$al2904 = L[1894];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2904,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2903 = ED6.dict.values.dict[\"highlight\"].app(arg_2902,params2891,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2903;\ndefault: R.ffi.throwSpinnakerError(L[1894],$step2900);\n}\n}\nif($step2900 !== 1) {\n$ans2903.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2904,$temp_lam2901,$step2900,[arg_2902],[],$elidedFrames2906);\n}\nreturn $ans2903;\n};\n$ans2886 = R.mF($temp_lam2901,\"\");\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2886;\ndefault: R.ffi.throwSpinnakerError(L[1890],$step2883);\n}\n}\nif($step2883 !== 4) {\n$ans2886.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2887,$temp_lam2884,$step2883,[v2885],[tup2890,params2891],$elidedFrames2889);\n}\nreturn $ans2886;\n};\nvar anf_arg2911 = R.mF($temp_lam2884,\"\");\n$step2619 = 15;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1896],anf_arg2911);\nbreak;\ncase 15: var anf_method_obj2920 = $ans2625;\nvar $temp_lam2913 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1897($v2914) {\nvar $step2912 = 0;\nvar $elidedFrames2918 = 0;\nvar $ans2915 = D;\nvar $al2916 = L[1897];\nif(R.isAR($v2914)) {\n$step2912 = $v2914.step;\n$al2916 = $v2914.from;\n$ans2915 = $v2914.ans;\n$elidedFrames2918 = $v2914.elidedFrames;\nv2914 = $v2914.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1897],1,$t,false);\n}\nvar v2914 = $v2914;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2915 = R.mC();\n}\nwhile(!R.isContinuation($ans2915)) {\nswitch($step2912) {\ncase 0: $step2912 = 1;\n$ans2915 = v2914;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2915;\ndefault: R.ffi.throwSpinnakerError(L[1897],$step2912);\n}\n}\nif($step2912 !== 1) {\n$ans2915.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2916,$temp_lam2913,$step2912,[v2914],[],$elidedFrames2918);\n}\nreturn $ans2915;\n};\nvar anf_arg2921 = R.mF($temp_lam2913,\"\");\n$step2619 = 16;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2920,\"or-else\",L[1898],anf_arg2921);\nbreak;\ncase 16: var fields2969 = $ans2625;\nvar $temp_lam2923 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1899($v2924) {\nvar $step2922 = 0;\nvar $elidedFrames2928 = 0;\nvar $ans2925 = D;\nvar $al2926 = L[1899];\nif(R.isAR($v2924)) {\n$step2922 = $v2924.step;\n$al2926 = $v2924.from;\n$ans2925 = $v2924.ans;\n$elidedFrames2928 = $v2924.elidedFrames;\nv2924 = $v2924.args[0];\ntup2929 = $v2924.vars[0];\ndef$loc2931 = $v2924.vars[1];\nanf_arg2932 = $v2924.vars[2];\nanf_arg2933 = $v2924.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1899],1,$t,false);\n}\nvar v2924 = $v2924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2925 = R.mC();\n}\nwhile(!R.isContinuation($ans2925)) {\nswitch($step2922) {\ncase 0: var tup2929 = v2924;\n$step2922 = 1;\n$al2926 = L[1907];\nR.checkTupleBind(tup2929,2,L[1907]);\nbreak;\ncase 1: R.getTuple(tup2929,0,L[1900]);\nvar def$loc2931 = R.getTuple(tup2929,1,L[1901]);\n$step2922 = 2;\n$al2926 = L[1906];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,ED6.dict.values.dict[\"text\"]);\n}\n$ans2925 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 2: var anf_arg2932 = $ans2925;\n$ans2925 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1902],L[1903]);\nvar anf_fun2930 = $ans2925;\n$step2922 = 3;\n$al2926 = L[1903];\nif(typeof(anf_fun2930.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,anf_fun2930);\n}\n$ans2925 = anf_fun2930.app(def$loc2931);\nbreak;\ncase 3: var anf_arg2933 = $ans2925;\n$al2926 = L[1904];\nvar anf_if2935 = G(self2621,\"should-be-singleton\",L[1904]);\n$step2922 = R.checkPyretTrue(anf_if2935)?4:5;\nbreak;\ncase 4: $step2922 = 6;\n$ans2925 = (5);\nbreak;\ncase 5: $step2922 = 6;\n$ans2925 = (-5);\nbreak;\ncase 6: var anf_arg2934 = $ans2925;\n$step2922 = 7;\n$al2926 = L[1905];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2926,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans2925 = ED6.dict.values.dict[\"highlight\"].app(anf_arg2932,anf_arg2933,anf_arg2934);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2925;\ndefault: R.ffi.throwSpinnakerError(L[1899],$step2922);\n}\n}\nif($step2922 !== 7) {\n$ans2925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2926,$temp_lam2923,$step2922,[v2924],[tup2929,def$loc2931,anf_arg2932,anf_arg2933],$elidedFrames2928);\n}\nreturn $ans2925;\n};\nvar anf_arg2938 = R.mF($temp_lam2923,\"\");\n$step2619 = 17;\n$ans2625 = R.maybeMethodCall1(destructured$definition2744,\"and-then\",L[1908],anf_arg2938);\nbreak;\ncase 17: var anf_method_obj2939 = $ans2625;\n$step2619 = 18;\n$al2626 = L[1940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 18: var anf_arg2940 = $ans2625;\n$step2619 = 19;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2939,\"or-else\",L[1909],anf_arg2940);\nbreak;\ncase 19: var variant2973 = $ans2625;\n$ans2625 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[1910],L[1911]);\nvar anf_fun2977 = $ans2625;\nvar $temp_lam2942 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1912($v2943) {\nvar $step2941 = 0;\nvar $elidedFrames2947 = 0;\nvar $ans2944 = D;\nvar $al2945 = L[1912];\nif(R.isAR($v2943)) {\n$step2941 = $v2943.step;\n$al2945 = $v2943.from;\n$ans2944 = $v2943.ans;\n$elidedFrames2947 = $v2943.elidedFrames;\nv2943 = $v2943.args[0];\nanf_fun2956 = $v2943.vars[0];\nanf_arg2952 = $v2943.vars[1];\nanf_arg2953 = $v2943.vars[2];\nanf_arg2957 = $v2943.vars[3];\ntup2948 = $v2943.vars[4];\npat$loc2955 = $v2943.vars[5];\nanf_fun2951 = $v2943.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1912],1,$t,false);\n}\nvar v2943 = $v2943;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2944 = R.mC();\n}\nwhile(!R.isContinuation($ans2944)) {\nswitch($step2941) {\ncase 0: var tup2948 = v2943;\n$step2941 = 1;\n$al2945 = L[1924];\nR.checkTupleBind(tup2948,2,L[1924]);\nbreak;\ncase 1: var pat$loc2955 = R.getTuple(tup2948,0,L[1913]);\nR.getTuple(tup2948,1,L[1914]);\n$ans2944 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[1915],L[1916]);\nvar anf_fun2956 = $ans2944;\n$ans2944 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1917],L[1918]);\nvar anf_fun2951 = $ans2944;\n$step2941 = 2;\n$al2945 = L[1923];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\"Matching this \"));\nbreak;\ncase 2: var anf_arg2952 = $ans2944;\n$step2941 = 3;\n$al2945 = L[1922];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 3: var anf_arg2950 = $ans2944;\n$step2941 = 4;\n$al2945 = L[1921];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,pattern2949);\n}\n$ans2944 = pattern2949.app(anf_arg2950);\nbreak;\ncase 4: var anf_arg2953 = $ans2944;\n$step2941 = 5;\n$al2945 = L[1920];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"text\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 5: var anf_arg2954 = $ans2944;\n$step2941 = 6;\n$al2945 = L[1918];\nif(typeof(anf_fun2951.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,anf_fun2951);\n}\n$ans2944 = anf_fun2951.app(anf_arg2952,anf_arg2953,anf_arg2954);\nbreak;\ncase 6: var anf_arg2957 = $ans2944;\n$step2941 = 7;\n$al2945 = L[1919];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans2944 = ED6.dict.values.dict[\"cmcode\"].app(pat$loc2955);\nbreak;\ncase 7: var anf_arg2958 = $ans2944;\n$step2941 = 8;\n$al2945 = L[1916];\nif(typeof(anf_fun2956.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2945,anf_fun2956);\n}\n$ans2944 = anf_fun2956.app(anf_arg2957,anf_arg2958);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2944;\ndefault: R.ffi.throwSpinnakerError(L[1912],$step2941);\n}\n}\nif($step2941 !== 8) {\n$ans2944.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2945,$temp_lam2942,$step2941,[v2943],[anf_fun2956,anf_arg2952,anf_arg2953,anf_arg2957,tup2948,pat$loc2955,anf_fun2951],$elidedFrames2947);\n}\nreturn $ans2944;\n};\nvar anf_arg2961 = R.mF($temp_lam2942,\"\");\n$step2619 = 20;\n$ans2625 = R.maybeMethodCall1(destructured$pattern2837,\"and-then\",L[1925],anf_arg2961);\nbreak;\ncase 20: var anf_method_obj2964 = $ans2625;\n$ans2625 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[1926],L[1927]);\nvar anf_fun2962 = $ans2625;\n$step2619 = 21;\n$al2626 = L[1939];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch pattern errored.\"));\nbreak;\ncase 21: var anf_arg2963 = $ans2625;\n$step2619 = 22;\n$al2626 = L[1927];\nif(typeof(anf_fun2962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,anf_fun2962);\n}\n$ans2625 = anf_fun2962.app(anf_arg2963);\nbreak;\ncase 22: var anf_arg2965 = $ans2625;\n$step2619 = 23;\n$ans2625 = R.maybeMethodCall1(anf_method_obj2964,\"or-else\",L[1928],anf_arg2965);\nbreak;\ncase 23: var anf_arg2978 = $ans2625;\n$step2619 = 24;\n$al2626 = L[1938];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"branch\"));\nbreak;\ncase 24: var anf_arg2966 = $ans2625;\n$step2619 = 25;\n$al2626 = L[1937];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,pattern2949);\n}\n$ans2625 = pattern2949.app(anf_arg2966);\nbreak;\ncase 25: var anf_arg2971 = $ans2625;\n$step2619 = 26;\n$al2626 = L[1936];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"binding list\"));\nbreak;\ncase 26: var anf_arg2968 = $ans2625;\n$step2619 = 27;\n$al2626 = L[1935];\nif(typeof(bindings2967.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,bindings2967);\n}\n$ans2625 = bindings2967.app(anf_arg2968);\nbreak;\ncase 27: var anf_arg2972 = $ans2625;\n$step2619 = 28;\n$al2626 = L[1934];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"fields list\"));\nbreak;\ncase 28: var anf_arg2970 = $ans2625;\n$step2619 = 29;\n$al2626 = L[1933];\nif(typeof(fields2969.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,fields2969);\n}\n$ans2625 = fields2969.app(anf_arg2970);\nbreak;\ncase 29: var anf_arg2974 = $ans2625;\n$step2619 = 30;\n$al2626 = L[1932];\nif(typeof(observation$prose2793.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,observation$prose2793.$var);\n}\n$ans2625 = observation$prose2793.$var.app(anf_arg2971,anf_arg2972,variant2973,anf_arg2974);\nbreak;\ncase 30: var anf_arg2979 = $ans2625;\n$step2619 = 31;\n$al2626 = L[1931];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,ED6.dict.values.dict[\"text\"]);\n}\n$ans2625 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 31: var anf_arg2975 = $ans2625;\n$step2619 = 32;\n$al2626 = L[1930];\nif(typeof(pattern2949.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,pattern2949);\n}\n$ans2625 = pattern2949.app(anf_arg2975);\nbreak;\ncase 32: var anf_arg2976 = $ans2625;\n$step2619 = 33;\n$al2626 = L[1929];\nif(typeof(explanation$prose2808.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,explanation$prose2808.$var);\n}\n$ans2625 = explanation$prose2808.$var.app(anf_arg2976,variant2973);\nbreak;\ncase 33: var anf_arg2980 = $ans2625;\n$step2619 = 34;\n$al2626 = L[1911];\nif(typeof(anf_fun2977.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2626,anf_fun2977);\n}\n$ans2625 = anf_fun2977.app(anf_arg2978,anf_arg2979,anf_arg2980);\nbreak;\ncase 34: ++R.GAS;\nreturn $ans2625;\ndefault: R.ffi.throwSpinnakerError(L[1791],$step2619);\n}\n}\nif($step2619 !== 34) {\n$ans2625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2626,$temp_full2620,$step2619,[self2621,maybe$stack$loc2622,src$available2623,maybe$ast2624],[fields2969,anf_fun2977,anf_arg2971,anf_arg2972,bindings2967,anf_arg2978,observation$prose2793,anf_arg2979,explanation$prose2808,locs$from$constructor$ast2727,pattern2949,variant2973,destructured$definition2744,anf_method_obj2964,destructured$pattern2837,locs$from$cases$ast2663,anf_fun2962,anf_method_obj2939],$elidedFrames2628);\n}\nreturn $ans2625;\n};\nvar anf_variant_member5925 = R.makeMethod3($temp_full2620,\"render-fancy-reason\");\nvar $temp_full2983 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1947($self2984) {\nvar $step2982 = 0;\nvar $elidedFrames2988 = 0;\nvar $ans2985 = D;\nvar $al2986 = L[1947];\nif(R.isAR($self2984)) {\n$step2982 = $self2984.step;\n$al2986 = $self2984.from;\n$ans2985 = $self2984.ans;\n$elidedFrames2988 = $self2984.elidedFrames;\nself2984 = $self2984.args[0];\nanf_arg3001 = $self2984.vars[0];\nanf_arg3002 = $self2984.vars[1];\nanf_arg2992 = $self2984.vars[2];\nanf_arg2993 = $self2984.vars[3];\nanf_arg2996 = $self2984.vars[4];\nanf_fun3000 = $self2984.vars[5];\nanf_fun2991 = $self2984.vars[6];\nanf_fun3004 = $self2984.vars[7];\nanf_fun2995 = $self2984.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1947],1,$t,true);\n}\nvar self2984 = $self2984;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2985 = R.mC();\n}\nwhile(!R.isContinuation($ans2985)) {\nswitch($step2982) {\ncase 0: $al2986 = L[1948];\nvar anf_method_obj2989 = G(self2984,\"branch-loc\",L[1948]);\n$step2982 = 1;\n$ans2985 = R.maybeMethodCall0(anf_method_obj2989,\"is-builtin\",L[1949]);\nbreak;\ncase 1: var anf_if3007 = $ans2985;\n$step2982 = R.checkPyretTrue(anf_if3007)?2:10;\nbreak;\ncase 2: $ans2985 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[1950],L[1951]);\nvar anf_fun2995 = $ans2985;\n$ans2985 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1952],L[1953]);\nvar anf_fun2991 = $ans2985;\n$step2982 = 3;\n$al2986 = L[1960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\"A cases branch in \"));\nbreak;\ncase 3: var anf_arg2992 = $ans2985;\n$al2986 = L[1954];\nvar anf_arg2990 = G(self2984,\"branch-loc\",L[1954]);\n$step2982 = 4;\n$al2986 = L[1959];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"loc\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"loc\"].app(anf_arg2990);\nbreak;\ncase 4: var anf_arg2993 = $ans2985;\n$al2986 = L[1955];\nvar anf_if2998 = G(self2984,\"should-be-singleton\",L[1955]);\n$step2982 = R.checkPyretTrue(anf_if2998)?5:6;\nbreak;\ncase 5: $step2982 = 7;\n$al2986 = L[1957];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" has an argument list but the corresponding variant is a singleton.\"));\nbreak;\ncase 6: $step2982 = 7;\n$al2986 = L[1958];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" doesn't have an argument list in its pattern, but the corresponding variant is not a singleton.\"));\nbreak;\ncase 7: var anf_arg2994 = $ans2985;\n$step2982 = 8;\n$al2986 = L[1953];\nif(typeof(anf_fun2991.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun2991);\n}\n$ans2985 = anf_fun2991.app(anf_arg2992,anf_arg2993,anf_arg2994);\nbreak;\ncase 8: var anf_arg2996 = $ans2985;\n$step2982 = 9;\n$al2986 = L[1956];\n// omitting isFunction check;\n$ans2985 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg2997 = $ans2985;\n$step2982 = 17;\n$al2986 = L[1951];\nif(typeof(anf_fun2995.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun2995);\n}\n$ans2985 = anf_fun2995.app(anf_arg2996,anf_arg2997);\nbreak;\ncase 10: $ans2985 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[1961],L[1962]);\nvar anf_fun3004 = $ans2985;\n$ans2985 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[1963],L[1964]);\nvar anf_fun3000 = $ans2985;\n$step2982 = 11;\n$al2986 = L[1970];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\"The cases branch in \"));\nbreak;\ncase 11: var anf_arg3001 = $ans2985;\n$al2986 = L[1965];\nvar anf_arg2999 = G(self2984,\"branch-loc\",L[1965]);\n$step2982 = 12;\n$al2986 = L[1969];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"loc\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"loc\"].app(anf_arg2999);\nbreak;\ncase 12: var anf_arg3002 = $ans2985;\n$al2986 = L[1966];\nvar anf_if3006 = G(self2984,\"should-be-singleton\",L[1966]);\n$step2982 = R.checkPyretTrue(anf_if3006)?13:14;\nbreak;\ncase 13: $step2982 = 15;\n$al2986 = L[1967];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" has an argument list but the corresponding variant is a singleton.\"));\nbreak;\ncase 14: $step2982 = 15;\n$al2986 = L[1968];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,ED6.dict.values.dict[\"text\"]);\n}\n$ans2985 = ED6.dict.values.dict[\"text\"].app((\" doesn't have an argument list in its pattern, but the corresponding variant is not a singleton.\"));\nbreak;\ncase 15: var anf_arg3003 = $ans2985;\n$step2982 = 16;\n$al2986 = L[1964];\nif(typeof(anf_fun3000.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun3000);\n}\n$ans2985 = anf_fun3000.app(anf_arg3001,anf_arg3002,anf_arg3003);\nbreak;\ncase 16: var anf_arg3005 = $ans2985;\n$step2982 = 17;\n$al2986 = L[1962];\nif(typeof(anf_fun3004.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2986,anf_fun3004);\n}\n$ans2985 = anf_fun3004.app(anf_arg3005);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans2985;\ndefault: R.ffi.throwSpinnakerError(L[1947],$step2982);\n}\n}\nif($step2982 !== 17) {\n$ans2985.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2986,$temp_full2983,$step2982,[self2984],[anf_arg3001,anf_arg3002,anf_arg2992,anf_arg2993,anf_arg2996,anf_fun3000,anf_fun2991,anf_fun3004,anf_fun2995],$elidedFrames2988);\n}\nreturn $ans2985;\n};\nvar anf_variant_member5926 = R.makeMethod0($temp_full2983,\"render-reason\");\nvar $temp_full3010 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1971($self3011,$maybe$stack$loc3012,$src$available3013,$maybe$ast3014) {\nvar $step3009 = 0;\nvar $elidedFrames3018 = 0;\nvar $ans3015 = D;\nvar $al3016 = L[1971];\nif(R.isAR($self3011)) {\n$step3009 = $self3011.step;\n$al3016 = $self3011.from;\n$ans3015 = $self3011.ans;\n$elidedFrames3018 = $self3011.elidedFrames;\nself3011 = $self3011.args[0];\nmaybe$stack$loc3012 = $self3011.args[1];\nsrc$available3013 = $self3011.args[2];\nmaybe$ast3014 = $self3011.args[3];\nanf_arg3296 = $self3011.vars[0];\nanf_arg3297 = $self3011.vars[1];\nanf_fun3306 = $self3011.vars[2];\nanf_arg3303 = $self3011.vars[3];\nobservation$prose3140 = $self3011.vars[4];\nanf_arg3304 = $self3011.vars[5];\nanf_arg3307 = $self3011.vars[6];\nanf_arg3308 = $self3011.vars[7];\nanf_method_obj3262 = $self3011.vars[8];\nvariant3298 = $self3011.vars[9];\ndestructured$pattern3174 = $self3011.vars[10];\nanf_method_obj3287 = $self3011.vars[11];\nfields3294 = $self3011.vars[12];\ndestructured$definition3237 = $self3011.vars[13];\nanf_fun3285 = $self3011.vars[14];\nlocs$from$cases$ast3065 = $self3011.vars[15];\nbindings3291 = $self3011.vars[16];\nexplanation$prose3154 = $self3011.vars[17];\nlocs$from$constructor$ast3094 = $self3011.vars[18];\npattern3272 = $self3011.vars[19];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1971],4,$t,true);\n}\nvar self3011 = $self3011;\nvar maybe$stack$loc3012 = $maybe$stack$loc3012;\nvar src$available3013 = $src$available3013;\nvar maybe$ast3014 = $maybe$ast3014;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3015 = R.mC();\n}\nwhile(!R.isContinuation($ans3015)) {\nswitch($step3009) {\ncase 0: $al3016 = L[1972];\nvar anf_arg3019 = G(self3011,\"num-args\",L[1972]);\n$step3009 = 1;\n$al3016 = L[2105];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,equal$always1);\n}\n$ans3015 = equal$always1.app(anf_arg3019,(1));\nbreak;\ncase 1: var anf_if3311 = $ans3015;\n$step3009 = R.checkPyretTrue(anf_if3311)?2:3;\nbreak;\ncase 2: $step3009 = 4;\n$ans3015 = (\" was\");\nbreak;\ncase 3: $step3009 = 4;\n$ans3015 = (\" were\");\nbreak;\ncase 4: var locs$from$cases$ast3065 = {\"$var\":D};\nvar locs$from$constructor$ast3094 = {\"$var\":D};\nvar $temp_lam3021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1973($ast3022) {\nvar $step3020 = 0;\nvar $elidedFrames3026 = 0;\nvar $ans3023 = D;\nvar $al3024 = L[1973];\nif(R.isAR($ast3022)) {\n$step3020 = $ast3022.step;\n$al3024 = $ast3022.from;\n$ans3023 = $ast3022.ans;\n$elidedFrames3026 = $ast3022.elidedFrames;\nast3022 = $ast3022.args[0];\ncases3044 = $ast3022.vars[0];\npat$loc3055 = $ast3022.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1973],1,$t,false);\n}\nvar ast3022 = $ast3022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3023 = R.mC();\n}\nwhile(!R.isContinuation($ans3023)) {\nswitch($step3020) {\ncase 0: var adjust3043 = {\"$var\":D};\nvar $temp_lam3028 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1974($fun$loc3029,$args3030) {\nvar $step3027 = 0;\nvar $elidedFrames3034 = 0;\nvar $ans3031 = D;\nvar $al3032 = L[1974];\nif(R.isAR($fun$loc3029)) {\n$step3027 = $fun$loc3029.step;\n$al3032 = $fun$loc3029.from;\n$ans3031 = $fun$loc3029.ans;\n$elidedFrames3034 = $fun$loc3029.elidedFrames;\nfun$loc3029 = $fun$loc3029.args[0];\nargs3030 = $fun$loc3029.args[1];\nanf_fun3038 = $fun$loc3029.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1974],2,$t,false);\n}\nvar fun$loc3029 = $fun$loc3029;\nvar args3030 = $args3030;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3031 = R.mC();\n}\nwhile(!R.isContinuation($ans3031)) {\nswitch($step3027) {\ncase 0: $al3032 = L[1975];\nvar anf_arg3035 = G(self3011,\"num-args\",L[1975]);\n$step3027 = 1;\n$al3032 = L[1981];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3032,equal$always1);\n}\n$ans3031 = equal$always1.app(anf_arg3035,(0));\nbreak;\ncase 1: var anf_if3040 = $ans3031;\n$step3027 = R.checkPyretTrue(anf_if3040)?2:5;\nbreak;\ncase 2: $ans3031 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[1976],L[1977]);\nvar anf_fun3038 = $ans3031;\n$step3027 = 3;\n$ans3031 = R.maybeMethodCall0(fun$loc3029,\"at-end\",L[1978]);\nbreak;\ncase 3: var anf_method_obj3036 = $ans3031;\n$al3032 = L[1979];\nvar anf_arg3037 = G(ast3022,\"l\",L[1979]);\n$step3027 = 4;\n$ans3031 = R.maybeMethodCall1(anf_method_obj3036,\"upto-end\",L[1980],anf_arg3037);\nbreak;\ncase 4: var anf_arg3039 = $ans3031;\n$step3027 = 6;\n$al3032 = L[1977];\nif(typeof(anf_fun3038.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3032,anf_fun3038);\n}\n$ans3031 = anf_fun3038.app(anf_arg3039);\nbreak;\ncase 5: $step3027 = 6;\n$ans3031 = args3030;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3031;\ndefault: R.ffi.throwSpinnakerError(L[1974],$step3027);\n}\n}\nif($step3027 !== 6) {\n$ans3031.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3032,$temp_lam3028,$step3027,[fun$loc3029,args3030],[anf_fun3038],$elidedFrames3034);\n}\nreturn $ans3031;\n};\nvar anf_assign3042 = R.mF($temp_lam3028,\"adjust\");\nadjust3043.$var = anf_assign3042;\nR.nothing;\nvar cases3044 = ast3022;\n$al3024 = L[1985];\n$step3020 = $cases_dispatch3062[cases3044.$name] || 3;\nbreak;\ncase 1: if(cases3044.$arity !== 5) {\nif(cases3044.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1984],5,cases3044.$arity,L[1985],cases3044.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1984],true,L[1985],cases3044.$loc);\n}\n}\nvar $fn3058 = cases3044.$constructor.$fieldNames;\nR.dF(cases3044.dict[$fn3058[0]],cases3044.$mut_fields_mask[0],false);\nvar pat$loc3055 = R.dF(cases3044.dict[$fn3058[1]],cases3044.$mut_fields_mask[1],false);\nR.dF(cases3044.dict[$fn3058[2]],cases3044.$mut_fields_mask[2],false);\nvar args3053 = R.dF(cases3044.dict[$fn3058[3]],cases3044.$mut_fields_mask[3],false);\nR.dF(cases3044.dict[$fn3058[4]],cases3044.$mut_fields_mask[4],false);\nvar $temp_lam3046 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1982($recv_3047) {\nvar $step3045 = 0;\nvar $elidedFrames3051 = 0;\nvar $ans3048 = D;\nvar $al3049 = L[1982];\nif(R.isAR($recv_3047)) {\n$step3045 = $recv_3047.step;\n$al3049 = $recv_3047.from;\n$ans3048 = $recv_3047.ans;\n$elidedFrames3051 = $recv_3047.elidedFrames;\nrecv_3047 = $recv_3047.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1982],1,$t,false);\n}\nvar recv_3047 = $recv_3047;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3048 = R.mC();\n}\nwhile(!R.isContinuation($ans3048)) {\nswitch($step3045) {\ncase 0: $step3045 = 1;\n$al3049 = L[1982];\n$ans3048 = G(recv_3047,\"l\",L[1982]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3048;\ndefault: R.ffi.throwSpinnakerError(L[1982],$step3045);\n}\n}\nif($step3045 !== 1) {\n$ans3048.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3049,$temp_lam3046,$step3045,[recv_3047],[],$elidedFrames3051);\n}\nreturn $ans3048;\n};\nvar anf_arg3054 = R.mF($temp_lam3046,\"\");\n$step3020 = 2;\n$ans3023 = R.maybeMethodCall1(args3053,\"map\",L[1983],anf_arg3054);\nbreak;\ncase 2: var anf_tuple_fields3056 = $ans3023;\n$step3020 = 4;\n$ans3023 = R.makeTuple([pat$loc3055,anf_tuple_fields3056]);\nbreak;\ncase 3: $ans3023 = R.throwNoCasesMatched(L[1985],cases3044);\n$step3020 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3023;\ndefault: R.ffi.throwSpinnakerError(L[1973],$step3020);\n}\n}\nif($step3020 !== 4) {\n$ans3023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3024,$temp_lam3021,$step3020,[ast3022],[cases3044,pat$loc3055],$elidedFrames3026);\n}\nreturn $ans3023;\n};\nvar anf_assign3064 = R.mF($temp_lam3021,\"locs-from-cases-ast\");\nlocs$from$cases$ast3065.$var = anf_assign3064;\nR.nothing;\nvar $temp_lam3067 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1986($ast3068) {\nvar $step3066 = 0;\nvar $elidedFrames3072 = 0;\nvar $ans3069 = D;\nvar $al3070 = L[1986];\nif(R.isAR($ast3068)) {\n$step3066 = $ast3068.step;\n$al3070 = $ast3068.from;\n$ans3069 = $ast3068.ans;\n$elidedFrames3072 = $ast3068.elidedFrames;\nast3068 = $ast3068.args[0];\ncases3073 = $ast3068.vars[0];\nconstr$loc3085 = $ast3068.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1986],1,$t,false);\n}\nvar ast3068 = $ast3068;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3069 = R.mC();\n}\nwhile(!R.isContinuation($ans3069)) {\nswitch($step3066) {\ncase 0: var cases3073 = ast3068;\n$al3070 = L[1990];\n$step3066 = $cases_dispatch3091[cases3073.$name] || 3;\nbreak;\ncase 1: if(cases3073.$arity !== 5) {\nif(cases3073.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1989],5,cases3073.$arity,L[1990],cases3073.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1989],true,L[1990],cases3073.$loc);\n}\n}\nvar $fn3087 = cases3073.$constructor.$fieldNames;\nR.dF(cases3073.dict[$fn3087[0]],cases3073.$mut_fields_mask[0],false);\nvar constr$loc3085 = R.dF(cases3073.dict[$fn3087[1]],cases3073.$mut_fields_mask[1],false);\nR.dF(cases3073.dict[$fn3087[2]],cases3073.$mut_fields_mask[2],false);\nvar members3082 = R.dF(cases3073.dict[$fn3087[3]],cases3073.$mut_fields_mask[3],false);\nR.dF(cases3073.dict[$fn3087[4]],cases3073.$mut_fields_mask[4],false);\nvar $temp_lam3075 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1987($recv_3076) {\nvar $step3074 = 0;\nvar $elidedFrames3080 = 0;\nvar $ans3077 = D;\nvar $al3078 = L[1987];\nif(R.isAR($recv_3076)) {\n$step3074 = $recv_3076.step;\n$al3078 = $recv_3076.from;\n$ans3077 = $recv_3076.ans;\n$elidedFrames3080 = $recv_3076.elidedFrames;\nrecv_3076 = $recv_3076.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1987],1,$t,false);\n}\nvar recv_3076 = $recv_3076;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3077 = R.mC();\n}\nwhile(!R.isContinuation($ans3077)) {\nswitch($step3074) {\ncase 0: $step3074 = 1;\n$al3078 = L[1987];\n$ans3077 = G(recv_3076,\"l\",L[1987]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3077;\ndefault: R.ffi.throwSpinnakerError(L[1987],$step3074);\n}\n}\nif($step3074 !== 1) {\n$ans3077.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3078,$temp_lam3075,$step3074,[recv_3076],[],$elidedFrames3080);\n}\nreturn $ans3077;\n};\nvar anf_arg3083 = R.mF($temp_lam3075,\"\");\n$step3066 = 2;\n$ans3069 = R.maybeMethodCall1(members3082,\"map\",L[1988],anf_arg3083);\nbreak;\ncase 2: var anf_tuple_fields3084 = $ans3069;\n$step3066 = 4;\n$ans3069 = R.makeTuple([anf_tuple_fields3084,constr$loc3085]);\nbreak;\ncase 3: $ans3069 = R.throwNoCasesMatched(L[1990],cases3073);\n$step3066 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3069;\ndefault: R.ffi.throwSpinnakerError(L[1986],$step3066);\n}\n}\nif($step3066 !== 4) {\n$ans3069.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3070,$temp_lam3067,$step3066,[ast3068],[cases3073,constr$loc3085],$elidedFrames3072);\n}\nreturn $ans3069;\n};\nvar anf_assign3093 = R.mF($temp_lam3067,\"locs-from-constructor-ast\");\nlocs$from$constructor$ast3094.$var = anf_assign3093;\nR.nothing;\n$al3016 = L[1991];\nvar anf_arg3095 = G(self3011,\"branch-loc\",L[1991]);\n$step3009 = 5;\n$al3016 = L[2104];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,O8.dict.values.dict[\"some\"]);\n}\n$ans3015 = O8.dict.values.dict[\"some\"].app(anf_arg3095);\nbreak;\ncase 5: var arg_3096 = $ans3015;\n$step3009 = 6;\n$al3016 = L[2103];\n// omitting isFunction check;\n$ans3015 = and$if176.$var.app(src$available3013,arg_3096);\nbreak;\ncase 6: var arg_3097 = $ans3015;\n$step3009 = 7;\n$al3016 = L[2102];\n// omitting isFunction check;\n$ans3015 = and$maybe193.$var.app(maybe$ast3014,arg_3097);\nbreak;\ncase 7: var anf_method_obj3098 = $ans3015;\n$step3009 = 8;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3098,\"and-then\",L[1992],locs$from$cases$ast3065.$var);\nbreak;\ncase 8: var destructured$pattern3174 = $ans3015;\n$al3016 = L[1993];\nvar anf_arg3099 = G(self3011,\"constructor-loc\",L[1993]);\n$step3009 = 9;\n$al3016 = L[2101];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,O8.dict.values.dict[\"some\"]);\n}\n$ans3015 = O8.dict.values.dict[\"some\"].app(anf_arg3099);\nbreak;\ncase 9: var arg_3100 = $ans3015;\n$step3009 = 10;\n$al3016 = L[2100];\n// omitting isFunction check;\n$ans3015 = and$if176.$var.app(src$available3013,arg_3100);\nbreak;\ncase 10: var arg_3101 = $ans3015;\n$step3009 = 11;\n$al3016 = L[2099];\n// omitting isFunction check;\n$ans3015 = and$maybe193.$var.app(maybe$ast3014,arg_3101);\nbreak;\ncase 11: var anf_method_obj3102 = $ans3015;\n$step3009 = 12;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3102,\"and-then\",L[1994],locs$from$constructor$ast3094.$var);\nbreak;\ncase 12: var destructured$definition3237 = $ans3015;\nvar pattern$prose3117 = {\"$var\":D};\nvar observation$prose3140 = {\"$var\":D};\nvar explanation$prose3154 = {\"$var\":D};\nvar $temp_lam3104 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__1995($pattern3105,$bindings3106) {\nvar $step3103 = 0;\nvar $elidedFrames3110 = 0;\nvar $ans3107 = D;\nvar $al3108 = L[1995];\nif(R.isAR($pattern3105)) {\n$step3103 = $pattern3105.step;\n$al3108 = $pattern3105.from;\n$ans3107 = $pattern3105.ans;\n$elidedFrames3110 = $pattern3105.elidedFrames;\npattern3105 = $pattern3105.args[0];\nbindings3106 = $pattern3105.args[1];\nanf_fun3111 = $pattern3105.vars[0];\nanf_arg3112 = $pattern3105.vars[1];\nanf_arg3113 = $pattern3105.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1995],2,$t,false);\n}\nvar pattern3105 = $pattern3105;\nvar bindings3106 = $bindings3106;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3107 = R.mC();\n}\nwhile(!R.isContinuation($ans3107)) {\nswitch($step3103) {\ncase 0: $ans3107 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[1996],L[1997]);\nvar anf_fun3111 = $ans3107;\n$step3103 = 1;\n$al3108 = L[2000];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg3112 = $ans3107;\n$step3103 = 2;\n$al3108 = L[1999];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 2: var anf_arg3113 = $ans3107;\n$step3103 = 3;\n$al3108 = L[1998];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,ED6.dict.values.dict[\"text\"]);\n}\n$ans3107 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg3114 = $ans3107;\n$step3103 = 4;\n$al3108 = L[1997];\nif(typeof(anf_fun3111.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3108,anf_fun3111);\n}\n$ans3107 = anf_fun3111.app(anf_arg3112,pattern3105,anf_arg3113,bindings3106,anf_arg3114);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3107;\ndefault: R.ffi.throwSpinnakerError(L[1995],$step3103);\n}\n}\nif($step3103 !== 4) {\n$ans3107.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3108,$temp_lam3104,$step3103,[pattern3105,bindings3106],[anf_fun3111,anf_arg3112,anf_arg3113],$elidedFrames3110);\n}\nreturn $ans3107;\n};\nvar anf_assign3116 = R.mF($temp_lam3104,\"pattern-prose\");\npattern$prose3117.$var = anf_assign3116;\nR.nothing;\nvar $temp_lam3119 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2001($pattern3120,$bindings3121,$variant3122,$members3123) {\nvar $step3118 = 0;\nvar $elidedFrames3127 = 0;\nvar $ans3124 = D;\nvar $al3125 = L[2001];\nif(R.isAR($pattern3120)) {\n$step3118 = $pattern3120.step;\n$al3125 = $pattern3120.from;\n$ans3124 = $pattern3120.ans;\n$elidedFrames3127 = $pattern3120.elidedFrames;\npattern3120 = $pattern3120.args[0];\nbindings3121 = $pattern3120.args[1];\nvariant3122 = $pattern3120.args[2];\nmembers3123 = $pattern3120.args[3];\nanf_fun3129 = $pattern3120.vars[0];\nanf_array3136 = $pattern3120.vars[1];\nanf_arg3133 = $pattern3120.vars[2];\nanf_fun3132 = $pattern3120.vars[3];\nanf_fun3135 = $pattern3120.vars[4];\nanf_array3130 = $pattern3120.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2001],4,$t,false);\n}\nvar pattern3120 = $pattern3120;\nvar bindings3121 = $bindings3121;\nvar variant3122 = $variant3122;\nvar members3123 = $members3123;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3124 = R.mC();\n}\nwhile(!R.isContinuation($ans3124)) {\nswitch($step3118) {\ncase 0: $al3125 = L[2002];\nvar anf_arg3128 = G(self3011,\"constructor-loc\",L[2002]);\n$step3118 = 1;\n$al3125 = L[2020];\nif(typeof(src$available3013.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,src$available3013);\n}\n$ans3124 = src$available3013.app(anf_arg3128);\nbreak;\ncase 1: var anf_if3137 = $ans3124;\n$step3118 = R.checkPyretTrue(anf_if3137)?2:10;\nbreak;\ncase 2: $ans3124 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2003],L[2004]);\nvar anf_fun3132 = $ans3124;\n$ans3124 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2005],L[2006]);\nvar anf_fun3129 = $ans3124;\n$ans3124 = R.makeArrayN((9));\nvar anf_array3130 = $ans3124;\n$step3118 = 3;\n$al3125 = L[2013];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: anf_array3130[0] = $ans3124;\nanf_array3130[1] = pattern3120;\n$step3118 = 4;\n$al3125 = L[2012];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" has \"));\nbreak;\ncase 4: anf_array3130[2] = $ans3124;\nanf_array3130[3] = bindings3121;\n$step3118 = 5;\n$al3125 = L[2011];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\", but refers to a \"));\nbreak;\ncase 5: anf_array3130[4] = $ans3124;\nanf_array3130[5] = variant3122;\n$step3118 = 6;\n$al3125 = L[2010];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" that has \"));\nbreak;\ncase 6: anf_array3130[6] = $ans3124;\nanf_array3130[7] = members3123;\n$step3118 = 7;\n$al3125 = L[2009];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: anf_array3130[8] = $ans3124;\n$step3118 = 8;\n$al3125 = L[2006];\nif(typeof(anf_fun3129.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3129);\n}\n$ans3124 = anf_fun3129.app(anf_array3130);\nbreak;\ncase 8: var anf_arg3133 = $ans3124;\n$al3125 = L[2007];\nvar anf_arg3131 = G(self3011,\"constructor-loc\",L[2007]);\n$step3118 = 9;\n$al3125 = L[2008];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg3131);\nbreak;\ncase 9: var anf_arg3134 = $ans3124;\n$step3118 = 15;\n$al3125 = L[2004];\nif(typeof(anf_fun3132.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3132);\n}\n$ans3124 = anf_fun3132.app(anf_arg3133,anf_arg3134);\nbreak;\ncase 10: $ans3124 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2014],L[2015]);\nvar anf_fun3135 = $ans3124;\n$ans3124 = R.makeArrayN((7));\nvar anf_array3136 = $ans3124;\n$step3118 = 11;\n$al3125 = L[2019];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array3136[0] = $ans3124;\nanf_array3136[1] = pattern3120;\n$step3118 = 12;\n$al3125 = L[2018];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" refers to a \"));\nbreak;\ncase 12: anf_array3136[2] = $ans3124;\nanf_array3136[3] = variant3122;\n$step3118 = 13;\n$al3125 = L[2017];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\" that has \"));\nbreak;\ncase 13: anf_array3136[4] = $ans3124;\nanf_array3136[5] = members3123;\n$step3118 = 14;\n$al3125 = L[2016];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,ED6.dict.values.dict[\"text\"]);\n}\n$ans3124 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 14: anf_array3136[6] = $ans3124;\n$step3118 = 15;\n$al3125 = L[2015];\nif(typeof(anf_fun3135.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3125,anf_fun3135);\n}\n$ans3124 = anf_fun3135.app(anf_array3136);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3124;\ndefault: R.ffi.throwSpinnakerError(L[2001],$step3118);\n}\n}\nif($step3118 !== 15) {\n$ans3124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3125,$temp_lam3119,$step3118,[pattern3120,bindings3121,variant3122,members3123],[anf_fun3129,anf_array3136,anf_arg3133,anf_fun3132,anf_fun3135,anf_array3130],$elidedFrames3127);\n}\nreturn $ans3124;\n};\nvar anf_assign3139 = R.mF($temp_lam3119,\"observation-prose\");\nobservation$prose3140.$var = anf_assign3139;\nR.nothing;\nvar $temp_lam3142 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2021($pattern3143,$parameters3144,$bindings3145) {\nvar $step3141 = 0;\nvar $elidedFrames3149 = 0;\nvar $ans3146 = D;\nvar $al3147 = L[2021];\nif(R.isAR($pattern3143)) {\n$step3141 = $pattern3143.step;\n$al3147 = $pattern3143.from;\n$ans3146 = $pattern3143.ans;\n$elidedFrames3149 = $pattern3143.elidedFrames;\npattern3143 = $pattern3143.args[0];\nparameters3144 = $pattern3143.args[1];\nbindings3145 = $pattern3143.args[2];\nanf_fun3150 = $pattern3143.vars[0];\nanf_array3151 = $pattern3143.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2021],3,$t,false);\n}\nvar pattern3143 = $pattern3143;\nvar parameters3144 = $parameters3144;\nvar bindings3145 = $bindings3145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3146 = R.mC();\n}\nwhile(!R.isContinuation($ans3146)) {\nswitch($step3141) {\ncase 0: $ans3146 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2022],L[2023]);\nvar anf_fun3150 = $ans3146;\n$ans3146 = R.makeArrayN((7));\nvar anf_array3151 = $ans3146;\n$step3141 = 1;\n$al3147 = L[2027];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 1: anf_array3151[0] = $ans3146;\nanf_array3151[1] = pattern3143;\n$step3141 = 2;\n$al3147 = L[2026];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array3151[2] = $ans3146;\nanf_array3151[3] = parameters3144;\n$step3141 = 3;\n$al3147 = L[2025];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array3151[4] = $ans3146;\nanf_array3151[5] = bindings3145;\n$step3141 = 4;\n$al3147 = L[2024];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,ED6.dict.values.dict[\"text\"]);\n}\n$ans3146 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array3151[6] = $ans3146;\n$step3141 = 5;\n$al3147 = L[2023];\nif(typeof(anf_fun3150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3147,anf_fun3150);\n}\n$ans3146 = anf_fun3150.app(anf_array3151);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3146;\ndefault: R.ffi.throwSpinnakerError(L[2021],$step3141);\n}\n}\nif($step3141 !== 5) {\n$ans3146.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3147,$temp_lam3142,$step3141,[pattern3143,parameters3144,bindings3145],[anf_fun3150,anf_array3151],$elidedFrames3149);\n}\nreturn $ans3146;\n};\nvar anf_assign3153 = R.mF($temp_lam3142,\"explanation-prose\");\nexplanation$prose3154.$var = anf_assign3153;\nR.nothing;\nvar $temp_lam3156 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2028($v3157) {\nvar $step3155 = 0;\nvar $elidedFrames3161 = 0;\nvar $ans3158 = D;\nvar $al3159 = L[2028];\nif(R.isAR($v3157)) {\n$step3155 = $v3157.step;\n$al3159 = $v3157.from;\n$ans3158 = $v3157.ans;\n$elidedFrames3161 = $v3157.elidedFrames;\nv3157 = $v3157.args[0];\ntup3162 = $v3157.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2028],1,$t,false);\n}\nvar v3157 = $v3157;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3158 = R.mC();\n}\nwhile(!R.isContinuation($ans3158)) {\nswitch($step3155) {\ncase 0: var tup3162 = v3157;\n$step3155 = 1;\n$al3159 = L[2032];\nR.checkTupleBind(tup3162,2,L[2032]);\nbreak;\ncase 1: R.getTuple(tup3162,0,L[2029]);\nvar binds3170 = R.getTuple(tup3162,1,L[2030]);\n$step3155 = 2;\nvar $temp_lam3164 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2031($arg_3165) {\nvar $step3163 = 0;\nvar $elidedFrames3169 = 0;\nvar $ans3166 = D;\nvar $al3167 = L[2031];\nif(R.isAR($arg_3165)) {\n$step3163 = $arg_3165.step;\n$al3167 = $arg_3165.from;\n$ans3166 = $arg_3165.ans;\n$elidedFrames3169 = $arg_3165.elidedFrames;\narg_3165 = $arg_3165.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2031],1,$t,false);\n}\nvar arg_3165 = $arg_3165;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3166 = R.mC();\n}\nwhile(!R.isContinuation($ans3166)) {\nswitch($step3163) {\ncase 0: $step3163 = 1;\n$al3167 = L[2031];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3167,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3166 = ED6.dict.values.dict[\"highlight\"].app(arg_3165,binds3170,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3166;\ndefault: R.ffi.throwSpinnakerError(L[2031],$step3163);\n}\n}\nif($step3163 !== 1) {\n$ans3166.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3167,$temp_lam3164,$step3163,[arg_3165],[],$elidedFrames3169);\n}\nreturn $ans3166;\n};\n$ans3158 = R.mF($temp_lam3164,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3158;\ndefault: R.ffi.throwSpinnakerError(L[2028],$step3155);\n}\n}\nif($step3155 !== 2) {\n$ans3158.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3159,$temp_lam3156,$step3155,[v3157],[tup3162],$elidedFrames3161);\n}\nreturn $ans3158;\n};\nvar anf_arg3175 = R.mF($temp_lam3156,\"\");\n$step3009 = 13;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2033],anf_arg3175);\nbreak;\ncase 13: var anf_method_obj3184 = $ans3015;\nvar $temp_lam3177 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2034($v3178) {\nvar $step3176 = 0;\nvar $elidedFrames3182 = 0;\nvar $ans3179 = D;\nvar $al3180 = L[2034];\nif(R.isAR($v3178)) {\n$step3176 = $v3178.step;\n$al3180 = $v3178.from;\n$ans3179 = $v3178.ans;\n$elidedFrames3182 = $v3178.elidedFrames;\nv3178 = $v3178.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2034],1,$t,false);\n}\nvar v3178 = $v3178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3179 = R.mC();\n}\nwhile(!R.isContinuation($ans3179)) {\nswitch($step3176) {\ncase 0: $step3176 = 1;\n$ans3179 = v3178;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3179;\ndefault: R.ffi.throwSpinnakerError(L[2034],$step3176);\n}\n}\nif($step3176 !== 1) {\n$ans3179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3180,$temp_lam3177,$step3176,[v3178],[],$elidedFrames3182);\n}\nreturn $ans3179;\n};\nvar anf_arg3185 = R.mF($temp_lam3177,\"\");\n$step3009 = 14;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3184,\"or-else\",L[2035],anf_arg3185);\nbreak;\ncase 14: var bindings3291 = $ans3015;\nvar $temp_lam3187 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2036($v3188) {\nvar $step3186 = 0;\nvar $elidedFrames3192 = 0;\nvar $ans3189 = D;\nvar $al3190 = L[2036];\nif(R.isAR($v3188)) {\n$step3186 = $v3188.step;\n$al3190 = $v3188.from;\n$ans3189 = $v3188.ans;\n$elidedFrames3192 = $v3188.elidedFrames;\nv3188 = $v3188.args[0];\ntup3193 = $v3188.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2036],1,$t,false);\n}\nvar v3188 = $v3188;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3189 = R.mC();\n}\nwhile(!R.isContinuation($ans3189)) {\nswitch($step3186) {\ncase 0: var tup3193 = v3188;\n$step3186 = 1;\n$al3190 = L[2042];\nR.checkTupleBind(tup3193,2,L[2042]);\nbreak;\ncase 1: var pat$loc3202 = R.getTuple(tup3193,0,L[2037]);\nR.getTuple(tup3193,1,L[2038]);\n$step3186 = 2;\nvar $temp_lam3195 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2039($arg_3196) {\nvar $step3194 = 0;\nvar $elidedFrames3200 = 0;\nvar $ans3197 = D;\nvar $al3198 = L[2039];\nif(R.isAR($arg_3196)) {\n$step3194 = $arg_3196.step;\n$al3198 = $arg_3196.from;\n$ans3197 = $arg_3196.ans;\n$elidedFrames3200 = $arg_3196.elidedFrames;\narg_3196 = $arg_3196.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2039],1,$t,false);\n}\nvar arg_3196 = $arg_3196;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3197 = R.mC();\n}\nwhile(!R.isContinuation($ans3197)) {\nswitch($step3194) {\ncase 0: $ans3197 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2040],L[2041]);\nvar anf_fun3201 = $ans3197;\n$step3194 = 1;\n$al3198 = L[2041];\nif(typeof(anf_fun3201.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3198,anf_fun3201);\n}\n$ans3197 = anf_fun3201.app(pat$loc3202);\nbreak;\ncase 1: var anf_arg3203 = $ans3197;\n$step3194 = 2;\n$al3198 = L[2039];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3198,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3197 = ED6.dict.values.dict[\"highlight\"].app(arg_3196,anf_arg3203,(-1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3197;\ndefault: R.ffi.throwSpinnakerError(L[2039],$step3194);\n}\n}\nif($step3194 !== 2) {\n$ans3197.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3198,$temp_lam3195,$step3194,[arg_3196],[],$elidedFrames3200);\n}\nreturn $ans3197;\n};\n$ans3189 = R.mF($temp_lam3195,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3189;\ndefault: R.ffi.throwSpinnakerError(L[2036],$step3186);\n}\n}\nif($step3186 !== 2) {\n$ans3189.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3190,$temp_lam3187,$step3186,[v3188],[tup3193],$elidedFrames3192);\n}\nreturn $ans3189;\n};\nvar anf_arg3207 = R.mF($temp_lam3187,\"\");\n$step3009 = 15;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2043],anf_arg3207);\nbreak;\ncase 15: var anf_method_obj3216 = $ans3015;\nvar $temp_lam3209 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2044($v3210) {\nvar $step3208 = 0;\nvar $elidedFrames3214 = 0;\nvar $ans3211 = D;\nvar $al3212 = L[2044];\nif(R.isAR($v3210)) {\n$step3208 = $v3210.step;\n$al3212 = $v3210.from;\n$ans3211 = $v3210.ans;\n$elidedFrames3214 = $v3210.elidedFrames;\nv3210 = $v3210.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2044],1,$t,false);\n}\nvar v3210 = $v3210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3211 = R.mC();\n}\nwhile(!R.isContinuation($ans3211)) {\nswitch($step3208) {\ncase 0: $step3208 = 1;\n$ans3211 = v3210;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3211;\ndefault: R.ffi.throwSpinnakerError(L[2044],$step3208);\n}\n}\nif($step3208 !== 1) {\n$ans3211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3212,$temp_lam3209,$step3208,[v3210],[],$elidedFrames3214);\n}\nreturn $ans3211;\n};\nvar anf_arg3217 = R.mF($temp_lam3209,\"\");\n$step3009 = 16;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3216,\"or-else\",L[2045],anf_arg3217);\nbreak;\ncase 16: var pattern3272 = $ans3015;\nvar $temp_lam3219 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2046($v3220) {\nvar $step3218 = 0;\nvar $elidedFrames3224 = 0;\nvar $ans3221 = D;\nvar $al3222 = L[2046];\nif(R.isAR($v3220)) {\n$step3218 = $v3220.step;\n$al3222 = $v3220.from;\n$ans3221 = $v3220.ans;\n$elidedFrames3224 = $v3220.elidedFrames;\nv3220 = $v3220.args[0];\ntup3225 = $v3220.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2046],1,$t,false);\n}\nvar v3220 = $v3220;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3221 = R.mC();\n}\nwhile(!R.isContinuation($ans3221)) {\nswitch($step3218) {\ncase 0: var tup3225 = v3220;\n$step3218 = 1;\n$al3222 = L[2050];\nR.checkTupleBind(tup3225,2,L[2050]);\nbreak;\ncase 1: var params3233 = R.getTuple(tup3225,0,L[2047]);\nR.getTuple(tup3225,1,L[2048]);\n$step3218 = 2;\nvar $temp_lam3227 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2049($arg_3228) {\nvar $step3226 = 0;\nvar $elidedFrames3232 = 0;\nvar $ans3229 = D;\nvar $al3230 = L[2049];\nif(R.isAR($arg_3228)) {\n$step3226 = $arg_3228.step;\n$al3230 = $arg_3228.from;\n$ans3229 = $arg_3228.ans;\n$elidedFrames3232 = $arg_3228.elidedFrames;\narg_3228 = $arg_3228.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2049],1,$t,false);\n}\nvar arg_3228 = $arg_3228;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3229 = R.mC();\n}\nwhile(!R.isContinuation($ans3229)) {\nswitch($step3226) {\ncase 0: $step3226 = 1;\n$al3230 = L[2049];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3230,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3229 = ED6.dict.values.dict[\"highlight\"].app(arg_3228,params3233,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3229;\ndefault: R.ffi.throwSpinnakerError(L[2049],$step3226);\n}\n}\nif($step3226 !== 1) {\n$ans3229.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3230,$temp_lam3227,$step3226,[arg_3228],[],$elidedFrames3232);\n}\nreturn $ans3229;\n};\n$ans3221 = R.mF($temp_lam3227,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3221;\ndefault: R.ffi.throwSpinnakerError(L[2046],$step3218);\n}\n}\nif($step3218 !== 2) {\n$ans3221.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3222,$temp_lam3219,$step3218,[v3220],[tup3225],$elidedFrames3224);\n}\nreturn $ans3221;\n};\nvar anf_arg3238 = R.mF($temp_lam3219,\"\");\n$step3009 = 17;\n$ans3015 = R.maybeMethodCall1(destructured$definition3237,\"and-then\",L[2051],anf_arg3238);\nbreak;\ncase 17: var anf_method_obj3247 = $ans3015;\nvar $temp_lam3240 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2052($v3241) {\nvar $step3239 = 0;\nvar $elidedFrames3245 = 0;\nvar $ans3242 = D;\nvar $al3243 = L[2052];\nif(R.isAR($v3241)) {\n$step3239 = $v3241.step;\n$al3243 = $v3241.from;\n$ans3242 = $v3241.ans;\n$elidedFrames3245 = $v3241.elidedFrames;\nv3241 = $v3241.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2052],1,$t,false);\n}\nvar v3241 = $v3241;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3242 = R.mC();\n}\nwhile(!R.isContinuation($ans3242)) {\nswitch($step3239) {\ncase 0: $step3239 = 1;\n$ans3242 = v3241;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3242;\ndefault: R.ffi.throwSpinnakerError(L[2052],$step3239);\n}\n}\nif($step3239 !== 1) {\n$ans3242.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3243,$temp_lam3240,$step3239,[v3241],[],$elidedFrames3245);\n}\nreturn $ans3242;\n};\nvar anf_arg3248 = R.mF($temp_lam3240,\"\");\n$step3009 = 18;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3247,\"or-else\",L[2053],anf_arg3248);\nbreak;\ncase 18: var fields3294 = $ans3015;\nvar $temp_lam3250 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2054($v3251) {\nvar $step3249 = 0;\nvar $elidedFrames3255 = 0;\nvar $ans3252 = D;\nvar $al3253 = L[2054];\nif(R.isAR($v3251)) {\n$step3249 = $v3251.step;\n$al3253 = $v3251.from;\n$ans3252 = $v3251.ans;\n$elidedFrames3255 = $v3251.elidedFrames;\nv3251 = $v3251.args[0];\nanf_arg3258 = $v3251.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2054],1,$t,false);\n}\nvar v3251 = $v3251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3252 = R.mC();\n}\nwhile(!R.isContinuation($ans3252)) {\nswitch($step3249) {\ncase 0: $step3249 = 1;\n$al3253 = L[2059];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,ED6.dict.values.dict[\"text\"]);\n}\n$ans3252 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 1: var anf_arg3258 = $ans3252;\n$ans3252 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2055],L[2056]);\nvar anf_fun3256 = $ans3252;\n$al3253 = L[2057];\nvar anf_arg3257 = G(self3011,\"constructor-loc\",L[2057]);\n$step3249 = 2;\n$al3253 = L[2056];\nif(typeof(anf_fun3256.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,anf_fun3256);\n}\n$ans3252 = anf_fun3256.app(anf_arg3257);\nbreak;\ncase 2: var anf_arg3259 = $ans3252;\n$step3249 = 3;\n$al3253 = L[2058];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3253,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3252 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3258,anf_arg3259,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3252;\ndefault: R.ffi.throwSpinnakerError(L[2054],$step3249);\n}\n}\nif($step3249 !== 3) {\n$ans3252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3253,$temp_lam3250,$step3249,[v3251],[anf_arg3258],$elidedFrames3255);\n}\nreturn $ans3252;\n};\nvar anf_arg3261 = R.mF($temp_lam3250,\"\");\n$step3009 = 19;\n$ans3015 = R.maybeMethodCall1(destructured$definition3237,\"and-then\",L[2060],anf_arg3261);\nbreak;\ncase 19: var anf_method_obj3262 = $ans3015;\n$step3009 = 20;\n$al3016 = L[2098];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"variant\"));\nbreak;\ncase 20: var anf_arg3263 = $ans3015;\n$step3009 = 21;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3262,\"or-else\",L[2061],anf_arg3263);\nbreak;\ncase 21: var variant3298 = $ans3015;\n$ans3015 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2062],L[2063]);\nvar anf_fun3306 = $ans3015;\nvar $temp_lam3265 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2064($v3266) {\nvar $step3264 = 0;\nvar $elidedFrames3270 = 0;\nvar $ans3267 = D;\nvar $al3268 = L[2064];\nif(R.isAR($v3266)) {\n$step3264 = $v3266.step;\n$al3268 = $v3266.from;\n$ans3267 = $v3266.ans;\n$elidedFrames3270 = $v3266.elidedFrames;\nv3266 = $v3266.args[0];\nanf_arg3275 = $v3266.vars[0];\nanf_arg3276 = $v3266.vars[1];\npat$loc3278 = $v3266.vars[2];\nanf_fun3274 = $v3266.vars[3];\nanf_arg3280 = $v3266.vars[4];\nanf_fun3279 = $v3266.vars[5];\ntup3271 = $v3266.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2064],1,$t,false);\n}\nvar v3266 = $v3266;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3267 = R.mC();\n}\nwhile(!R.isContinuation($ans3267)) {\nswitch($step3264) {\ncase 0: var tup3271 = v3266;\n$step3264 = 1;\n$al3268 = L[2076];\nR.checkTupleBind(tup3271,2,L[2076]);\nbreak;\ncase 1: var pat$loc3278 = R.getTuple(tup3271,0,L[2065]);\nR.getTuple(tup3271,1,L[2066]);\n$ans3267 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2067],L[2068]);\nvar anf_fun3279 = $ans3267;\n$ans3267 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2069],L[2070]);\nvar anf_fun3274 = $ans3267;\n$step3264 = 2;\n$al3268 = L[2075];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\"Matching this \"));\nbreak;\ncase 2: var anf_arg3275 = $ans3267;\n$step3264 = 3;\n$al3268 = L[2074];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 3: var anf_arg3273 = $ans3267;\n$step3264 = 4;\n$al3268 = L[2073];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,pattern3272);\n}\n$ans3267 = pattern3272.app(anf_arg3273);\nbreak;\ncase 4: var anf_arg3276 = $ans3267;\n$step3264 = 5;\n$al3268 = L[2072];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"text\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 5: var anf_arg3277 = $ans3267;\n$step3264 = 6;\n$al3268 = L[2070];\nif(typeof(anf_fun3274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,anf_fun3274);\n}\n$ans3267 = anf_fun3274.app(anf_arg3275,anf_arg3276,anf_arg3277);\nbreak;\ncase 6: var anf_arg3280 = $ans3267;\n$step3264 = 7;\n$al3268 = L[2071];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3267 = ED6.dict.values.dict[\"cmcode\"].app(pat$loc3278);\nbreak;\ncase 7: var anf_arg3281 = $ans3267;\n$step3264 = 8;\n$al3268 = L[2068];\nif(typeof(anf_fun3279.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3268,anf_fun3279);\n}\n$ans3267 = anf_fun3279.app(anf_arg3280,anf_arg3281);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3267;\ndefault: R.ffi.throwSpinnakerError(L[2064],$step3264);\n}\n}\nif($step3264 !== 8) {\n$ans3267.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3268,$temp_lam3265,$step3264,[v3266],[anf_arg3275,anf_arg3276,pat$loc3278,anf_fun3274,anf_arg3280,anf_fun3279,tup3271],$elidedFrames3270);\n}\nreturn $ans3267;\n};\nvar anf_arg3284 = R.mF($temp_lam3265,\"\");\n$step3009 = 22;\n$ans3015 = R.maybeMethodCall1(destructured$pattern3174,\"and-then\",L[2077],anf_arg3284);\nbreak;\ncase 22: var anf_method_obj3287 = $ans3015;\n$ans3015 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2078],L[2079]);\nvar anf_fun3285 = $ans3015;\n$step3009 = 23;\n$al3016 = L[2097];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch pattern errored.\"));\nbreak;\ncase 23: var anf_arg3286 = $ans3015;\n$step3009 = 24;\n$al3016 = L[2079];\nif(typeof(anf_fun3285.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,anf_fun3285);\n}\n$ans3015 = anf_fun3285.app(anf_arg3286);\nbreak;\ncase 24: var anf_arg3288 = $ans3015;\n$step3009 = 25;\n$ans3015 = R.maybeMethodCall1(anf_method_obj3287,\"or-else\",L[2080],anf_arg3288);\nbreak;\ncase 25: var anf_arg3307 = $ans3015;\n$step3009 = 26;\n$al3016 = L[2096];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"branch\"));\nbreak;\ncase 26: var anf_arg3289 = $ans3015;\n$step3009 = 27;\n$al3016 = L[2095];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,pattern3272);\n}\n$ans3015 = pattern3272.app(anf_arg3289);\nbreak;\ncase 27: var anf_arg3296 = $ans3015;\n$al3016 = L[2081];\nvar anf_arg3290 = G(self3011,\"num-args\",L[2081]);\n$step3009 = 28;\n$al3016 = L[2094];\nif(typeof(ED6.dict.values.dict[\"ed-bindings\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"ed-bindings\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"ed-bindings\"].app(anf_arg3290);\nbreak;\ncase 28: var anf_arg3292 = $ans3015;\n$step3009 = 29;\n$al3016 = L[2093];\nif(typeof(bindings3291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,bindings3291);\n}\n$ans3015 = bindings3291.app(anf_arg3292);\nbreak;\ncase 29: var anf_arg3297 = $ans3015;\n$al3016 = L[2082];\nvar anf_arg3293 = G(self3011,\"actual-arity\",L[2082]);\n$step3009 = 30;\n$al3016 = L[2092];\nif(typeof(ED6.dict.values.dict[\"ed-fields\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"ed-fields\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"ed-fields\"].app(anf_arg3293);\nbreak;\ncase 30: var anf_arg3295 = $ans3015;\n$step3009 = 31;\n$al3016 = L[2091];\nif(typeof(fields3294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,fields3294);\n}\n$ans3015 = fields3294.app(anf_arg3295);\nbreak;\ncase 31: var anf_arg3299 = $ans3015;\n$step3009 = 32;\n$al3016 = L[2090];\nif(typeof(observation$prose3140.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,observation$prose3140.$var);\n}\n$ans3015 = observation$prose3140.$var.app(anf_arg3296,anf_arg3297,variant3298,anf_arg3299);\nbreak;\ncase 32: var anf_arg3308 = $ans3015;\n$step3009 = 33;\n$al3016 = L[2089];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"cases branch pattern\"));\nbreak;\ncase 33: var anf_arg3300 = $ans3015;\n$step3009 = 34;\n$al3016 = L[2088];\nif(typeof(pattern3272.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,pattern3272);\n}\n$ans3015 = pattern3272.app(anf_arg3300);\nbreak;\ncase 34: var anf_arg3303 = $ans3015;\n$step3009 = 35;\n$al3016 = L[2087];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"fields\"));\nbreak;\ncase 35: var anf_arg3301 = $ans3015;\n$step3009 = 36;\n$al3016 = L[2086];\nif(typeof(fields3294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,fields3294);\n}\n$ans3015 = fields3294.app(anf_arg3301);\nbreak;\ncase 36: var anf_arg3304 = $ans3015;\n$step3009 = 37;\n$al3016 = L[2085];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,ED6.dict.values.dict[\"text\"]);\n}\n$ans3015 = ED6.dict.values.dict[\"text\"].app((\"bindings\"));\nbreak;\ncase 37: var anf_arg3302 = $ans3015;\n$step3009 = 38;\n$al3016 = L[2084];\nif(typeof(bindings3291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,bindings3291);\n}\n$ans3015 = bindings3291.app(anf_arg3302);\nbreak;\ncase 38: var anf_arg3305 = $ans3015;\n$step3009 = 39;\n$al3016 = L[2083];\nif(typeof(explanation$prose3154.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,explanation$prose3154.$var);\n}\n$ans3015 = explanation$prose3154.$var.app(anf_arg3303,anf_arg3304,anf_arg3305);\nbreak;\ncase 39: var anf_arg3309 = $ans3015;\n$step3009 = 40;\n$al3016 = L[2063];\nif(typeof(anf_fun3306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3016,anf_fun3306);\n}\n$ans3015 = anf_fun3306.app(anf_arg3307,anf_arg3308,anf_arg3309);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans3015;\ndefault: R.ffi.throwSpinnakerError(L[1971],$step3009);\n}\n}\nif($step3009 !== 40) {\n$ans3015.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3016,$temp_full3010,$step3009,[self3011,maybe$stack$loc3012,src$available3013,maybe$ast3014],[anf_arg3296,anf_arg3297,anf_fun3306,anf_arg3303,observation$prose3140,anf_arg3304,anf_arg3307,anf_arg3308,anf_method_obj3262,variant3298,destructured$pattern3174,anf_method_obj3287,fields3294,destructured$definition3237,anf_fun3285,locs$from$cases$ast3065,bindings3291,explanation$prose3154,locs$from$constructor$ast3094,pattern3272],$elidedFrames3018);\n}\nreturn $ans3015;\n};\nvar anf_variant_member5937 = R.makeMethod3($temp_full3010,\"render-fancy-reason\");\nvar $temp_full3314 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2106($self3315) {\nvar $step3313 = 0;\nvar $elidedFrames3319 = 0;\nvar $ans3316 = D;\nvar $al3317 = L[2106];\nif(R.isAR($self3315)) {\n$step3313 = $self3315.step;\n$al3317 = $self3315.from;\n$ans3316 = $self3315.ans;\n$elidedFrames3319 = $self3315.elidedFrames;\nself3315 = $self3315.args[0];\nanf_fun3337 = $self3315.vars[0];\nanf_arg3340 = $self3315.vars[1];\nanf_arg3330 = $self3315.vars[2];\nanf_arg3341 = $self3315.vars[3];\nanf_fun3339 = $self3315.vars[4];\nanf_arg3331 = $self3315.vars[5];\nanf_arg3342 = $self3315.vars[6];\nanf_fun3329 = $self3315.vars[7];\nanf_arg3323 = $self3315.vars[8];\nanf_arg3324 = $self3315.vars[9];\nanf_arg3335 = $self3315.vars[10];\nanf_arg3325 = $self3315.vars[11];\nanf_arg3326 = $self3315.vars[12];\nanf_fun3322 = $self3315.vars[13];\nanf_fun3334 = $self3315.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2106],1,$t,true);\n}\nvar self3315 = $self3315;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3316 = R.mC();\n}\nwhile(!R.isContinuation($ans3316)) {\nswitch($step3313) {\ncase 0: $ans3316 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2107],L[2108]);\nvar anf_fun3339 = $ans3316;\n$ans3316 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2109],L[2110]);\nvar anf_fun3322 = $ans3316;\n$step3313 = 1;\n$al3317 = L[2131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"Matching a cases branch in \"));\nbreak;\ncase 1: var anf_arg3323 = $ans3316;\n$al3317 = L[2111];\nvar anf_arg3320 = G(self3315,\"cases-loc\",L[2111]);\n$step3313 = 2;\n$al3317 = L[2130];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"loc\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"loc\"].app(anf_arg3320);\nbreak;\ncase 2: var anf_arg3324 = $ans3316;\n$step3313 = 3;\n$al3317 = L[2129];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\" errored because of a problem with the branch pattern in \"));\nbreak;\ncase 3: var anf_arg3325 = $ans3316;\n$al3317 = L[2112];\nvar anf_arg3321 = G(self3315,\"branch-loc\",L[2112]);\n$step3313 = 4;\n$al3317 = L[2128];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"loc\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"loc\"].app(anf_arg3321);\nbreak;\ncase 4: var anf_arg3326 = $ans3316;\n$step3313 = 5;\n$al3317 = L[2127];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg3327 = $ans3316;\n$step3313 = 6;\n$al3317 = L[2110];\nif(typeof(anf_fun3322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3322);\n}\n$ans3316 = anf_fun3322.app(anf_arg3323,anf_arg3324,anf_arg3325,anf_arg3326,anf_arg3327);\nbreak;\ncase 6: var anf_arg3340 = $ans3316;\n$ans3316 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2113],L[2114]);\nvar anf_fun3329 = $ans3316;\n$step3313 = 7;\n$al3317 = L[2126];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"The cases pattern had \"));\nbreak;\ncase 7: var anf_arg3330 = $ans3316;\n$al3317 = L[2115];\nvar anf_arg3328 = G(self3315,\"num-args\",L[2115]);\n$step3313 = 8;\n$al3317 = L[2125];\nif(typeof(ED6.dict.values.dict[\"ed-field-bindings\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"ed-field-bindings\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"ed-field-bindings\"].app(anf_arg3328);\nbreak;\ncase 8: var anf_arg3331 = $ans3316;\n$step3313 = 9;\n$al3317 = L[2124];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg3332 = $ans3316;\n$step3313 = 10;\n$al3317 = L[2114];\nif(typeof(anf_fun3329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3329);\n}\n$ans3316 = anf_fun3329.app(anf_arg3330,anf_arg3331,anf_arg3332);\nbreak;\ncase 10: var anf_arg3341 = $ans3316;\n$ans3316 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[2116],L[2117]);\nvar anf_fun3334 = $ans3316;\n$step3313 = 11;\n$al3317 = L[2123];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"The corresponding variant of the datatype had \"));\nbreak;\ncase 11: var anf_arg3335 = $ans3316;\n$al3317 = L[2118];\nvar anf_arg3333 = G(self3315,\"actual-arity\",L[2118]);\n$step3313 = 12;\n$al3317 = L[2122];\nif(typeof(ED6.dict.values.dict[\"ed-fields\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"ed-fields\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"ed-fields\"].app(anf_arg3333);\nbreak;\ncase 12: var anf_arg3336 = $ans3316;\n$step3313 = 13;\n$al3317 = L[2117];\nif(typeof(anf_fun3334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3334);\n}\n$ans3316 = anf_fun3334.app(anf_arg3335,anf_arg3336);\nbreak;\ncase 13: var anf_arg3342 = $ans3316;\n$ans3316 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2119],L[2120]);\nvar anf_fun3337 = $ans3316;\n$step3313 = 14;\n$al3317 = L[2121];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,ED6.dict.values.dict[\"text\"]);\n}\n$ans3316 = ED6.dict.values.dict[\"text\"].app((\"Patterns should have exactly the same number of field bindings as the corresponding variant has fields.\"));\nbreak;\ncase 14: var anf_arg3338 = $ans3316;\n$step3313 = 15;\n$al3317 = L[2120];\nif(typeof(anf_fun3337.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3337);\n}\n$ans3316 = anf_fun3337.app(anf_arg3338);\nbreak;\ncase 15: var anf_arg3343 = $ans3316;\n$step3313 = 16;\n$al3317 = L[2108];\nif(typeof(anf_fun3339.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3317,anf_fun3339);\n}\n$ans3316 = anf_fun3339.app(anf_arg3340,anf_arg3341,anf_arg3342,anf_arg3343);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3316;\ndefault: R.ffi.throwSpinnakerError(L[2106],$step3313);\n}\n}\nif($step3313 !== 16) {\n$ans3316.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3317,$temp_full3314,$step3313,[self3315],[anf_fun3337,anf_arg3340,anf_arg3330,anf_arg3341,anf_fun3339,anf_arg3331,anf_arg3342,anf_fun3329,anf_arg3323,anf_arg3324,anf_arg3335,anf_arg3325,anf_arg3326,anf_fun3322,anf_fun3334],$elidedFrames3319);\n}\nreturn $ans3316;\n};\nvar anf_variant_member5938 = R.makeMethod0($temp_full3314,\"render-reason\");\nvar $temp_full3346 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2132($self3347,$maybe$stack$loc3348,$src$available3349,$maybe$ast3350) {\nvar $step3345 = 0;\nvar $elidedFrames3354 = 0;\nvar $ans3351 = D;\nvar $al3352 = L[2132];\nif(R.isAR($self3347)) {\n$step3345 = $self3347.step;\n$al3352 = $self3347.from;\n$ans3351 = $self3347.ans;\n$elidedFrames3354 = $self3347.elidedFrames;\nself3347 = $self3347.args[0];\nmaybe$stack$loc3348 = $self3347.args[1];\nsrc$available3349 = $self3347.args[2];\nmaybe$ast3350 = $self3347.args[3];\nfun$app$arity3356 = $self3347.vars[0];\napplication$expression3693 = $self3347.vars[1];\ndefinition$prose3552 = $self3347.vars[2];\nanf_fun3703 = $self3347.vars[3];\nexplanation$prose3566 = $self3347.vars[4];\nanf_arg3722 = $self3347.vars[5];\nanf_arg3723 = $self3347.vars[6];\narguments3707 = $self3347.vars[7];\napplication$loc3500 = $self3347.vars[8];\nanf_arg3724 = $self3347.vars[9];\nlocs$from$application$ast3461 = $self3347.vars[10];\nparameters3712 = $self3347.vars[11];\nanf_arg3715 = $self3347.vars[12];\nanf_method_obj3681 = $self3347.vars[13];\ndefinition$contained3630 = $self3347.vars[14];\nlocs$from$definition$ast3490 = $self3347.vars[15];\noperator3710 = $self3347.vars[16];\nanf_arg3719 = $self3347.vars[17];\ndefined3714 = $self3347.vars[18];\nwere$was3518 = $self3347.vars[19];\ndestructured$application3587 = $self3347.vars[20];\ndestructured$definition3656 = $self3347.vars[21];\nanf_method_obj3635 = $self3347.vars[22];\noperator$prose3525 = $self3347.vars[23];\nanf_method_obj3615 = $self3347.vars[24];\nanf_method_obj3705 = $self3347.vars[25];\nanf_fun3721 = $self3347.vars[26];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2132],4,$t,true);\n}\nvar self3347 = $self3347;\nvar maybe$stack$loc3348 = $maybe$stack$loc3348;\nvar src$available3349 = $src$available3349;\nvar maybe$ast3350 = $maybe$ast3350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3351 = R.mC();\n}\nwhile(!R.isContinuation($ans3351)) {\nswitch($step3345) {\ncase 0: $al3352 = L[2133];\nvar anf_method_obj3355 = G(self3347,\"fun-app-args\",L[2133]);\n$step3345 = 1;\n$ans3351 = R.maybeMethodCall0(anf_method_obj3355,\"length\",L[2134]);\nbreak;\ncase 1: var fun$app$arity3356 = $ans3351;\n$step3345 = 2;\n$al3352 = L[2315];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,equal$always1);\n}\n$ans3351 = equal$always1.app(fun$app$arity3356,(1));\nbreak;\ncase 2: var anf_if3729 = $ans3351;\n$step3345 = R.checkPyretTrue(anf_if3729)?3:4;\nbreak;\ncase 3: $step3345 = 5;\n$ans3351 = (\" was\");\nbreak;\ncase 4: $step3345 = 5;\n$ans3351 = (\" were\");\nbreak;\ncase 5: var were$was3518 = $ans3351;\nvar locs$from$application$ast3461 = {\"$var\":D};\nvar locs$from$definition$ast3490 = {\"$var\":D};\nvar $temp_lam3358 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2135($ast3359) {\nvar $step3357 = 0;\nvar $elidedFrames3363 = 0;\nvar $ans3360 = D;\nvar $al3361 = L[2135];\nif(R.isAR($ast3359)) {\n$step3357 = $ast3359.step;\n$al3361 = $ast3359.from;\n$ans3360 = $ast3359.ans;\n$elidedFrames3363 = $ast3359.elidedFrames;\nast3359 = $ast3359.args[0];\nanf_arg3431 = $ast3359.vars[0];\nadjust3379 = $ast3359.vars[1];\nl3394 = $ast3359.vars[2];\nanf_arg3410 = $ast3359.vars[3];\nanf_arg3433 = $ast3359.vars[4];\ncases3380 = $ast3359.vars[5];\nl3412 = $ast3359.vars[6];\nl3435 = $ast3359.vars[7];\nl3446 = $ast3359.vars[8];\nanf_tuple_fields3395 = $ast3359.vars[9];\nargs3429 = $ast3359.vars[10];\nanf_tuple_fields3455 = $ast3359.vars[11];\nanf_tuple_fields3456 = $ast3359.vars[12];\nanf_arg3392 = $ast3359.vars[13];\nanf_tuple_fields3413 = $ast3359.vars[14];\nanf_tuple_fields3436 = $ast3359.vars[15];\nanf_tuple_fields3447 = $ast3359.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2135],1,$t,false);\n}\nvar ast3359 = $ast3359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3360 = R.mC();\n}\nwhile(!R.isContinuation($ans3360)) {\nswitch($step3357) {\ncase 0: var adjust3379 = {\"$var\":D};\nvar $temp_lam3365 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2136($fun$loc3366,$args3367) {\nvar $step3364 = 0;\nvar $elidedFrames3371 = 0;\nvar $ans3368 = D;\nvar $al3369 = L[2136];\nif(R.isAR($fun$loc3366)) {\n$step3364 = $fun$loc3366.step;\n$al3369 = $fun$loc3366.from;\n$ans3368 = $fun$loc3366.ans;\n$elidedFrames3371 = $fun$loc3366.elidedFrames;\nfun$loc3366 = $fun$loc3366.args[0];\nargs3367 = $fun$loc3366.args[1];\nanf_fun3374 = $fun$loc3366.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2136],2,$t,false);\n}\nvar fun$loc3366 = $fun$loc3366;\nvar args3367 = $args3367;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3368 = R.mC();\n}\nwhile(!R.isContinuation($ans3368)) {\nswitch($step3364) {\ncase 0: $step3364 = 1;\n$al3369 = L[2142];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3369,equal$always1);\n}\n$ans3368 = equal$always1.app(fun$app$arity3356,(0));\nbreak;\ncase 1: var anf_if3376 = $ans3368;\n$step3364 = R.checkPyretTrue(anf_if3376)?2:5;\nbreak;\ncase 2: $ans3368 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2137],L[2138]);\nvar anf_fun3374 = $ans3368;\n$step3364 = 3;\n$ans3368 = R.maybeMethodCall0(fun$loc3366,\"at-end\",L[2139]);\nbreak;\ncase 3: var anf_method_obj3372 = $ans3368;\n$al3369 = L[2140];\nvar anf_arg3373 = G(ast3359,\"l\",L[2140]);\n$step3364 = 4;\n$ans3368 = R.maybeMethodCall1(anf_method_obj3372,\"upto-end\",L[2141],anf_arg3373);\nbreak;\ncase 4: var anf_arg3375 = $ans3368;\n$step3364 = 6;\n$al3369 = L[2138];\nif(typeof(anf_fun3374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3369,anf_fun3374);\n}\n$ans3368 = anf_fun3374.app(anf_arg3375);\nbreak;\ncase 5: $step3364 = 6;\n$ans3368 = args3367;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3368;\ndefault: R.ffi.throwSpinnakerError(L[2136],$step3364);\n}\n}\nif($step3364 !== 6) {\n$ans3368.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3369,$temp_lam3365,$step3364,[fun$loc3366,args3367],[anf_fun3374],$elidedFrames3371);\n}\nreturn $ans3368;\n};\nvar anf_assign3378 = R.mF($temp_lam3365,\"adjust\");\nadjust3379.$var = anf_assign3378;\nR.nothing;\nvar cases3380 = ast3359;\n$al3361 = L[2149];\n$step3357 = $cases_dispatch3458[cases3380.$name] || 14;\nbreak;\ncase 1: if(cases3380.$arity !== 3) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2148],3,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2148],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3398 = cases3380.$constructor.$fieldNames;\nvar l3394 = R.dF(cases3380.dict[$fn3398[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3381 = R.dF(cases3380.dict[$fn3398[1]],cases3380.$mut_fields_mask[1],false);\nvar args3390 = R.dF(cases3380.dict[$fn3398[2]],cases3380.$mut_fields_mask[2],false);\n$al3361 = L[2143];\nvar anf_tuple_fields3395 = G(_fun3381,\"l\",L[2143]);\n$al3361 = L[2144];\nvar anf_arg3392 = G(_fun3381,\"l\",L[2144]);\nvar $temp_lam3383 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2145($recv_3384) {\nvar $step3382 = 0;\nvar $elidedFrames3388 = 0;\nvar $ans3385 = D;\nvar $al3386 = L[2145];\nif(R.isAR($recv_3384)) {\n$step3382 = $recv_3384.step;\n$al3386 = $recv_3384.from;\n$ans3385 = $recv_3384.ans;\n$elidedFrames3388 = $recv_3384.elidedFrames;\nrecv_3384 = $recv_3384.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2145],1,$t,false);\n}\nvar recv_3384 = $recv_3384;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3385 = R.mC();\n}\nwhile(!R.isContinuation($ans3385)) {\nswitch($step3382) {\ncase 0: $step3382 = 1;\n$al3386 = L[2145];\n$ans3385 = G(recv_3384,\"l\",L[2145]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3385;\ndefault: R.ffi.throwSpinnakerError(L[2145],$step3382);\n}\n}\nif($step3382 !== 1) {\n$ans3385.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3386,$temp_lam3383,$step3382,[recv_3384],[],$elidedFrames3388);\n}\nreturn $ans3385;\n};\nvar anf_arg3391 = R.mF($temp_lam3383,\"\");\n$step3357 = 2;\n$ans3360 = R.maybeMethodCall1(args3390,\"map\",L[2146],anf_arg3391);\nbreak;\ncase 2: var anf_arg3393 = $ans3360;\n$step3357 = 3;\n$al3361 = L[2147];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3392,anf_arg3393);\nbreak;\ncase 3: var anf_tuple_fields3396 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3394,anf_tuple_fields3395,anf_tuple_fields3396]);\nbreak;\ncase 4: if(cases3380.$arity !== 3) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2155],3,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2155],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3416 = cases3380.$constructor.$fieldNames;\nvar l3412 = R.dF(cases3380.dict[$fn3416[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3399 = R.dF(cases3380.dict[$fn3416[1]],cases3380.$mut_fields_mask[1],false);\nvar args3408 = R.dF(cases3380.dict[$fn3416[2]],cases3380.$mut_fields_mask[2],false);\n$al3361 = L[2150];\nvar anf_tuple_fields3413 = G(_fun3399,\"l\",L[2150]);\n$al3361 = L[2151];\nvar anf_arg3410 = G(_fun3399,\"l\",L[2151]);\nvar $temp_lam3401 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2152($recv_3402) {\nvar $step3400 = 0;\nvar $elidedFrames3406 = 0;\nvar $ans3403 = D;\nvar $al3404 = L[2152];\nif(R.isAR($recv_3402)) {\n$step3400 = $recv_3402.step;\n$al3404 = $recv_3402.from;\n$ans3403 = $recv_3402.ans;\n$elidedFrames3406 = $recv_3402.elidedFrames;\nrecv_3402 = $recv_3402.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2152],1,$t,false);\n}\nvar recv_3402 = $recv_3402;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3403 = R.mC();\n}\nwhile(!R.isContinuation($ans3403)) {\nswitch($step3400) {\ncase 0: $step3400 = 1;\n$al3404 = L[2152];\n$ans3403 = G(recv_3402,\"l\",L[2152]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3403;\ndefault: R.ffi.throwSpinnakerError(L[2152],$step3400);\n}\n}\nif($step3400 !== 1) {\n$ans3403.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3404,$temp_lam3401,$step3400,[recv_3402],[],$elidedFrames3406);\n}\nreturn $ans3403;\n};\nvar anf_arg3409 = R.mF($temp_lam3401,\"\");\n$step3357 = 5;\n$ans3360 = R.maybeMethodCall1(args3408,\"map\",L[2153],anf_arg3409);\nbreak;\ncase 5: var anf_arg3411 = $ans3360;\n$step3357 = 6;\n$al3361 = L[2154];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3410,anf_arg3411);\nbreak;\ncase 6: var anf_tuple_fields3414 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3412,anf_tuple_fields3413,anf_tuple_fields3414]);\nbreak;\ncase 7: if(cases3380.$arity !== 6) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2165],6,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2165],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3439 = cases3380.$constructor.$fieldNames;\nvar l3435 = R.dF(cases3380.dict[$fn3439[0]],cases3380.$mut_fields_mask[0],false);\nvar _fun3417 = R.dF(cases3380.dict[$fn3439[1]],cases3380.$mut_fields_mask[1],false);\nvar args3429 = R.dF(cases3380.dict[$fn3439[2]],cases3380.$mut_fields_mask[2],false);\nR.dF(cases3380.dict[$fn3439[3]],cases3380.$mut_fields_mask[3],false);\nvar b3418 = R.dF(cases3380.dict[$fn3439[4]],cases3380.$mut_fields_mask[4],false);\nR.dF(cases3380.dict[$fn3439[5]],cases3380.$mut_fields_mask[5],false);\n$al3361 = L[2156];\nvar anf_tuple_fields3436 = G(_fun3417,\"l\",L[2156]);\n$al3361 = L[2157];\nvar anf_arg3433 = G(_fun3417,\"l\",L[2157]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2158],L[2159]);\nvar anf_fun3419 = $ans3360;\n$al3361 = L[2160];\nvar anf_arg3420 = G(b3418,\"l\",L[2160]);\n$step3357 = 8;\n$al3361 = L[2159];\nif(typeof(anf_fun3419.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3419);\n}\n$ans3360 = anf_fun3419.app(anf_arg3420);\nbreak;\ncase 8: var anf_arg3431 = $ans3360;\nvar $temp_lam3422 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2161($recv_3423) {\nvar $step3421 = 0;\nvar $elidedFrames3427 = 0;\nvar $ans3424 = D;\nvar $al3425 = L[2161];\nif(R.isAR($recv_3423)) {\n$step3421 = $recv_3423.step;\n$al3425 = $recv_3423.from;\n$ans3424 = $recv_3423.ans;\n$elidedFrames3427 = $recv_3423.elidedFrames;\nrecv_3423 = $recv_3423.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2161],1,$t,false);\n}\nvar recv_3423 = $recv_3423;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3424 = R.mC();\n}\nwhile(!R.isContinuation($ans3424)) {\nswitch($step3421) {\ncase 0: $step3421 = 1;\n$al3425 = L[2161];\n$ans3424 = G(recv_3423,\"l\",L[2161]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3424;\ndefault: R.ffi.throwSpinnakerError(L[2161],$step3421);\n}\n}\nif($step3421 !== 1) {\n$ans3424.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3425,$temp_lam3422,$step3421,[recv_3423],[],$elidedFrames3427);\n}\nreturn $ans3424;\n};\nvar anf_arg3430 = R.mF($temp_lam3422,\"\");\n$step3357 = 9;\n$ans3360 = R.maybeMethodCall1(args3429,\"map\",L[2162],anf_arg3430);\nbreak;\ncase 9: var anf_arg3432 = $ans3360;\n$step3357 = 10;\n$al3361 = L[2164];\n// omitting isFunction check;\n$ans3360 = _plus5.app(anf_arg3431,anf_arg3432);\nbreak;\ncase 10: var anf_arg3434 = $ans3360;\n$step3357 = 11;\n$al3361 = L[2163];\nif(typeof(adjust3379.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,adjust3379.$var);\n}\n$ans3360 = adjust3379.$var.app(anf_arg3433,anf_arg3434);\nbreak;\ncase 11: var anf_tuple_fields3437 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3435,anf_tuple_fields3436,anf_tuple_fields3437]);\nbreak;\ncase 12: if(cases3380.$arity !== 5) {\nif(cases3380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2170],5,cases3380.$arity,L[2149],cases3380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2170],true,L[2149],cases3380.$loc);\n}\n}\nvar $fn3450 = cases3380.$constructor.$fieldNames;\nvar l3446 = R.dF(cases3380.dict[$fn3450[0]],cases3380.$mut_fields_mask[0],false);\nR.dF(cases3380.dict[$fn3450[1]],cases3380.$mut_fields_mask[1],false);\nR.dF(cases3380.dict[$fn3450[2]],cases3380.$mut_fields_mask[2],false);\nvar l$op3443 = R.dF(cases3380.dict[$fn3450[3]],cases3380.$mut_fields_mask[3],false);\nvar r$op3442 = R.dF(cases3380.dict[$fn3450[4]],cases3380.$mut_fields_mask[4],false);\n$al3361 = L[2166];\nvar anf_tuple_fields3447 = G(r$op3442,\"l\",L[2166]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2167],L[2168]);\nvar anf_fun3444 = $ans3360;\n$al3361 = L[2169];\nvar anf_arg3445 = G(l$op3443,\"l\",L[2169]);\n$step3357 = 13;\n$al3361 = L[2168];\nif(typeof(anf_fun3444.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3444);\n}\n$ans3360 = anf_fun3444.app(anf_arg3445);\nbreak;\ncase 13: var anf_tuple_fields3448 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([l3446,anf_tuple_fields3447,anf_tuple_fields3448]);\nbreak;\ncase 14: $al3361 = L[2171];\nvar anf_tuple_fields3455 = G(ast3359,\"l\",L[2171]);\n$al3361 = L[2172];\nvar anf_tuple_fields3456 = G(ast3359,\"l\",L[2172]);\n$ans3360 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2173],L[2174]);\nvar anf_fun3453 = $ans3360;\n$al3361 = L[2175];\nvar anf_arg3454 = G(ast3359,\"l\",L[2175]);\n$step3357 = 15;\n$al3361 = L[2174];\nif(typeof(anf_fun3453.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3361,anf_fun3453);\n}\n$ans3360 = anf_fun3453.app(anf_arg3454);\nbreak;\ncase 15: var anf_tuple_fields3457 = $ans3360;\n$step3357 = 16;\n$ans3360 = R.makeTuple([anf_tuple_fields3455,anf_tuple_fields3456,anf_tuple_fields3457]);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3360;\ndefault: R.ffi.throwSpinnakerError(L[2135],$step3357);\n}\n}\nif($step3357 !== 16) {\n$ans3360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3361,$temp_lam3358,$step3357,[ast3359],[anf_arg3431,adjust3379,l3394,anf_arg3410,anf_arg3433,cases3380,l3412,l3435,l3446,anf_tuple_fields3395,args3429,anf_tuple_fields3455,anf_tuple_fields3456,anf_arg3392,anf_tuple_fields3413,anf_tuple_fields3436,anf_tuple_fields3447],$elidedFrames3363);\n}\nreturn $ans3360;\n};\nvar anf_assign3460 = R.mF($temp_lam3358,\"locs-from-application-ast\");\nlocs$from$application$ast3461.$var = anf_assign3460;\nR.nothing;\nvar $temp_lam3463 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2176($ast3464) {\nvar $step3462 = 0;\nvar $elidedFrames3468 = 0;\nvar $ans3465 = D;\nvar $al3466 = L[2176];\nif(R.isAR($ast3464)) {\n$step3462 = $ast3464.step;\n$al3466 = $ast3464.from;\n$ans3465 = $ast3464.ans;\n$elidedFrames3468 = $ast3464.elidedFrames;\nast3464 = $ast3464.args[0];\ncases3469 = $ast3464.vars[0];\nconstr$loc3481 = $ast3464.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2176],1,$t,false);\n}\nvar ast3464 = $ast3464;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3465 = R.mC();\n}\nwhile(!R.isContinuation($ans3465)) {\nswitch($step3462) {\ncase 0: var cases3469 = ast3464;\n$al3466 = L[2180];\n$step3462 = $cases_dispatch3487[cases3469.$name] || 3;\nbreak;\ncase 1: if(cases3469.$arity !== 5) {\nif(cases3469.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2179],5,cases3469.$arity,L[2180],cases3469.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2179],true,L[2180],cases3469.$loc);\n}\n}\nvar $fn3483 = cases3469.$constructor.$fieldNames;\nR.dF(cases3469.dict[$fn3483[0]],cases3469.$mut_fields_mask[0],false);\nvar constr$loc3481 = R.dF(cases3469.dict[$fn3483[1]],cases3469.$mut_fields_mask[1],false);\nR.dF(cases3469.dict[$fn3483[2]],cases3469.$mut_fields_mask[2],false);\nvar members3478 = R.dF(cases3469.dict[$fn3483[3]],cases3469.$mut_fields_mask[3],false);\nR.dF(cases3469.dict[$fn3483[4]],cases3469.$mut_fields_mask[4],false);\nvar $temp_lam3471 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2177($recv_3472) {\nvar $step3470 = 0;\nvar $elidedFrames3476 = 0;\nvar $ans3473 = D;\nvar $al3474 = L[2177];\nif(R.isAR($recv_3472)) {\n$step3470 = $recv_3472.step;\n$al3474 = $recv_3472.from;\n$ans3473 = $recv_3472.ans;\n$elidedFrames3476 = $recv_3472.elidedFrames;\nrecv_3472 = $recv_3472.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2177],1,$t,false);\n}\nvar recv_3472 = $recv_3472;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3473 = R.mC();\n}\nwhile(!R.isContinuation($ans3473)) {\nswitch($step3470) {\ncase 0: $step3470 = 1;\n$al3474 = L[2177];\n$ans3473 = G(recv_3472,\"l\",L[2177]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3473;\ndefault: R.ffi.throwSpinnakerError(L[2177],$step3470);\n}\n}\nif($step3470 !== 1) {\n$ans3473.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3474,$temp_lam3471,$step3470,[recv_3472],[],$elidedFrames3476);\n}\nreturn $ans3473;\n};\nvar anf_arg3479 = R.mF($temp_lam3471,\"\");\n$step3462 = 2;\n$ans3465 = R.maybeMethodCall1(members3478,\"map\",L[2178],anf_arg3479);\nbreak;\ncase 2: var anf_tuple_fields3480 = $ans3465;\n$step3462 = 4;\n$ans3465 = R.makeTuple([anf_tuple_fields3480,constr$loc3481]);\nbreak;\ncase 3: $ans3465 = R.throwNoCasesMatched(L[2180],cases3469);\n$step3462 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3465;\ndefault: R.ffi.throwSpinnakerError(L[2176],$step3462);\n}\n}\nif($step3462 !== 4) {\n$ans3465.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3466,$temp_lam3463,$step3462,[ast3464],[cases3469,constr$loc3481],$elidedFrames3468);\n}\nreturn $ans3465;\n};\nvar anf_assign3489 = R.mF($temp_lam3463,\"locs-from-definition-ast\");\nlocs$from$definition$ast3490.$var = anf_assign3489;\nR.nothing;\n$step3345 = 6;\n$al3352 = L[2314];\nif(typeof(maybe$stack$loc3348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,maybe$stack$loc3348);\n}\n$ans3351 = maybe$stack$loc3348.app((0),(false));\nbreak;\ncase 6: var application$loc3500 = $ans3351;\nvar $temp_lam3492 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2181($recv_3493) {\nvar $step3491 = 0;\nvar $elidedFrames3497 = 0;\nvar $ans3494 = D;\nvar $al3495 = L[2181];\nif(R.isAR($recv_3493)) {\n$step3491 = $recv_3493.step;\n$al3495 = $recv_3493.from;\n$ans3494 = $recv_3493.ans;\n$elidedFrames3497 = $recv_3493.elidedFrames;\nrecv_3493 = $recv_3493.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2181],1,$t,false);\n}\nvar recv_3493 = $recv_3493;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3494 = R.mC();\n}\nwhile(!R.isContinuation($ans3494)) {\nswitch($step3491) {\ncase 0: $al3495 = L[2182];\nvar anf_arg3498 = G(self3347,\"fun-def-loc\",L[2182]);\n$step3491 = 1;\n$ans3494 = R.maybeMethodCall1(recv_3493,\"contains\",L[2181],anf_arg3498);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3494;\ndefault: R.ffi.throwSpinnakerError(L[2181],$step3491);\n}\n}\nif($step3491 !== 1) {\n$ans3494.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3495,$temp_lam3492,$step3491,[recv_3493],[],$elidedFrames3497);\n}\nreturn $ans3494;\n};\nvar anf_arg3501 = R.mF($temp_lam3492,\"\");\n$step3345 = 7;\n$ans3351 = R.maybeMethodCall1(application$loc3500,\"and-then\",L[2183],anf_arg3501);\nbreak;\ncase 7: var anf_method_obj3502 = $ans3351;\n$step3345 = 8;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3502,\"or-else\",L[2184],(false));\nbreak;\ncase 8: var definition$contained3630 = $ans3351;\nvar arg_3503 = application$loc3500;\n$step3345 = 9;\n$al3352 = L[2313];\n// omitting isFunction check;\n$ans3351 = and$if176.$var.app(src$available3349,arg_3503);\nbreak;\ncase 9: var arg_3504 = $ans3351;\n$step3345 = 10;\n$al3352 = L[2312];\n// omitting isFunction check;\n$ans3351 = and$maybe193.$var.app(maybe$ast3350,arg_3504);\nbreak;\ncase 10: var anf_method_obj3505 = $ans3351;\n$step3345 = 11;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3505,\"and-then\",L[2185],locs$from$application$ast3461.$var);\nbreak;\ncase 11: var destructured$application3587 = $ans3351;\n$al3352 = L[2186];\nvar anf_arg3506 = G(self3347,\"fun-def-loc\",L[2186]);\n$step3345 = 12;\n$al3352 = L[2311];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,O8.dict.values.dict[\"some\"]);\n}\n$ans3351 = O8.dict.values.dict[\"some\"].app(anf_arg3506);\nbreak;\ncase 12: var arg_3507 = $ans3351;\n$step3345 = 13;\n$al3352 = L[2310];\n// omitting isFunction check;\n$ans3351 = and$if176.$var.app(src$available3349,arg_3507);\nbreak;\ncase 13: var arg_3508 = $ans3351;\n$step3345 = 14;\n$al3352 = L[2309];\n// omitting isFunction check;\n$ans3351 = and$maybe193.$var.app(maybe$ast3350,arg_3508);\nbreak;\ncase 14: var anf_method_obj3509 = $ans3351;\n$step3345 = 15;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3509,\"and-then\",L[2187],locs$from$definition$ast3490.$var);\nbreak;\ncase 15: var destructured$definition3656 = $ans3351;\nvar operator$prose3525 = {\"$var\":D};\nvar definition$prose3552 = {\"$var\":D};\nvar explanation$prose3566 = {\"$var\":D};\nvar $temp_lam3511 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2188($arguments3512,$operator3513) {\nvar $step3510 = 0;\nvar $elidedFrames3517 = 0;\nvar $ans3514 = D;\nvar $al3515 = L[2188];\nif(R.isAR($arguments3512)) {\n$step3510 = $arguments3512.step;\n$al3515 = $arguments3512.from;\n$ans3514 = $arguments3512.ans;\n$elidedFrames3517 = $arguments3512.elidedFrames;\narguments3512 = $arguments3512.args[0];\noperator3513 = $arguments3512.args[1];\nanf_fun3520 = $arguments3512.vars[0];\nanf_arg3521 = $arguments3512.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2188],2,$t,false);\n}\nvar arguments3512 = $arguments3512;\nvar operator3513 = $operator3513;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3514 = R.mC();\n}\nwhile(!R.isContinuation($ans3514)) {\nswitch($step3510) {\ncase 0: $ans3514 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2189],L[2190]);\nvar anf_fun3520 = $ans3514;\n$step3510 = 1;\n$al3515 = L[2193];\n// omitting isFunction check;\n$ans3514 = _plus5.app(were$was3518,(\" passed to the \"));\nbreak;\ncase 1: var anf_arg3519 = $ans3514;\n$step3510 = 2;\n$al3515 = L[2192];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,ED6.dict.values.dict[\"text\"]);\n}\n$ans3514 = ED6.dict.values.dict[\"text\"].app(anf_arg3519);\nbreak;\ncase 2: var anf_arg3521 = $ans3514;\n$step3510 = 3;\n$al3515 = L[2191];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,ED6.dict.values.dict[\"text\"]);\n}\n$ans3514 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg3522 = $ans3514;\n$step3510 = 4;\n$al3515 = L[2190];\nif(typeof(anf_fun3520.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3515,anf_fun3520);\n}\n$ans3514 = anf_fun3520.app(arguments3512,anf_arg3521,operator3513,anf_arg3522);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3514;\ndefault: R.ffi.throwSpinnakerError(L[2188],$step3510);\n}\n}\nif($step3510 !== 4) {\n$ans3514.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3515,$temp_lam3511,$step3510,[arguments3512,operator3513],[anf_fun3520,anf_arg3521],$elidedFrames3517);\n}\nreturn $ans3514;\n};\nvar anf_assign3524 = R.mF($temp_lam3511,\"operator-prose\");\noperator$prose3525.$var = anf_assign3524;\nR.nothing;\nvar $temp_lam3527 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2194($operator3528,$defined3529,$parameters3530,$show$definition3531) {\nvar $step3526 = 0;\nvar $elidedFrames3535 = 0;\nvar $ans3532 = D;\nvar $al3533 = L[2194];\nif(R.isAR($operator3528)) {\n$step3526 = $operator3528.step;\n$al3533 = $operator3528.from;\n$ans3532 = $operator3528.ans;\n$elidedFrames3535 = $operator3528.elidedFrames;\noperator3528 = $operator3528.args[0];\ndefined3529 = $operator3528.args[1];\nparameters3530 = $operator3528.args[2];\nshow$definition3531 = $operator3528.args[3];\nanf_fun3536 = $operator3528.vars[0];\nanf_arg3540 = $operator3528.vars[1];\nanf_fun3539 = $operator3528.vars[2];\nanf_array3544 = $operator3528.vars[3];\nanf_array3537 = $operator3528.vars[4];\nanf_arg3546 = $operator3528.vars[5];\nanf_arg3547 = $operator3528.vars[6];\nanf_fun3543 = $operator3528.vars[7];\nanf_fun3545 = $operator3528.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2194],4,$t,false);\n}\nvar operator3528 = $operator3528;\nvar defined3529 = $defined3529;\nvar parameters3530 = $parameters3530;\nvar show$definition3531 = $show$definition3531;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3532 = R.mC();\n}\nwhile(!R.isContinuation($ans3532)) {\nswitch($step3526) {\ncase 0: $step3526 = R.checkPyretTrue(show$definition3531)?1:8;\nbreak;\ncase 1: $ans3532 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2195],L[2196]);\nvar anf_fun3539 = $ans3532;\n$ans3532 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2197],L[2198]);\nvar anf_fun3536 = $ans3532;\n$ans3532 = R.makeArrayN((7));\nvar anf_array3537 = $ans3532;\n$step3526 = 2;\n$al3533 = L[2204];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 2: anf_array3537[0] = $ans3532;\nanf_array3537[1] = operator3528;\n$step3526 = 3;\n$al3533 = L[2203];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor \"));\nbreak;\ncase 3: anf_array3537[2] = $ans3532;\nanf_array3537[3] = defined3529;\n$step3526 = 4;\n$al3533 = L[2202];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 4: anf_array3537[4] = $ans3532;\nanf_array3537[5] = parameters3530;\n$step3526 = 5;\n$al3533 = L[2201];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 5: anf_array3537[6] = $ans3532;\n$step3526 = 6;\n$al3533 = L[2198];\nif(typeof(anf_fun3536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3536);\n}\n$ans3532 = anf_fun3536.app(anf_array3537);\nbreak;\ncase 6: var anf_arg3540 = $ans3532;\n$al3533 = L[2199];\nvar anf_arg3538 = G(self3347,\"fun-def-loc\",L[2199]);\n$step3526 = 7;\n$al3533 = L[2200];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg3538);\nbreak;\ncase 7: var anf_arg3541 = $ans3532;\n$step3526 = 19;\n$al3533 = L[2196];\nif(typeof(anf_fun3539.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3539);\n}\n$ans3532 = anf_fun3539.app(anf_arg3540,anf_arg3541);\nbreak;\ncase 8: $al3533 = L[2205];\nvar anf_arg3542 = G(self3347,\"fun-def-loc\",L[2205]);\n$step3526 = 9;\n$al3533 = L[2217];\nif(typeof(src$available3349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,src$available3349);\n}\n$ans3532 = src$available3349.app(anf_arg3542);\nbreak;\ncase 9: var anf_if3549 = $ans3532;\n$step3526 = R.checkPyretTrue(anf_if3549)?10:15;\nbreak;\ncase 10: $ans3532 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2206],L[2207]);\nvar anf_fun3543 = $ans3532;\n$ans3532 = R.makeArrayN((7));\nvar anf_array3544 = $ans3532;\n$step3526 = 11;\n$al3533 = L[2211];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: anf_array3544[0] = $ans3532;\nanf_array3544[1] = operator3528;\n$step3526 = 12;\n$al3533 = L[2210];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor \"));\nbreak;\ncase 12: anf_array3544[2] = $ans3532;\nanf_array3544[3] = defined3529;\n$step3526 = 13;\n$al3533 = L[2209];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 13: anf_array3544[4] = $ans3532;\nanf_array3544[5] = parameters3530;\n$step3526 = 14;\n$al3533 = L[2208];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 14: anf_array3544[6] = $ans3532;\n$step3526 = 19;\n$al3533 = L[2207];\nif(typeof(anf_fun3543.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3543);\n}\n$ans3532 = anf_fun3543.app(anf_array3544);\nbreak;\ncase 15: $ans3532 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2212],L[2213]);\nvar anf_fun3545 = $ans3532;\n$step3526 = 16;\n$al3533 = L[2216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 16: var anf_arg3546 = $ans3532;\n$step3526 = 17;\n$al3533 = L[2215];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\" evaluated to a constructor accepting \"));\nbreak;\ncase 17: var anf_arg3547 = $ans3532;\n$step3526 = 18;\n$al3533 = L[2214];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,ED6.dict.values.dict[\"text\"]);\n}\n$ans3532 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 18: var anf_arg3548 = $ans3532;\n$step3526 = 19;\n$al3533 = L[2213];\nif(typeof(anf_fun3545.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3533,anf_fun3545);\n}\n$ans3532 = anf_fun3545.app(anf_arg3546,operator3528,anf_arg3547,parameters3530,anf_arg3548);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans3532;\ndefault: R.ffi.throwSpinnakerError(L[2194],$step3526);\n}\n}\nif($step3526 !== 19) {\n$ans3532.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3533,$temp_lam3527,$step3526,[operator3528,defined3529,parameters3530,show$definition3531],[anf_fun3536,anf_arg3540,anf_fun3539,anf_array3544,anf_array3537,anf_arg3546,anf_arg3547,anf_fun3543,anf_fun3545],$elidedFrames3535);\n}\nreturn $ans3532;\n};\nvar anf_assign3551 = R.mF($temp_lam3527,\"definition-prose\");\ndefinition$prose3552.$var = anf_assign3551;\nR.nothing;\nvar $temp_lam3554 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2218($application$expression3555,$parameters3556,$arguments3557) {\nvar $step3553 = 0;\nvar $elidedFrames3561 = 0;\nvar $ans3558 = D;\nvar $al3559 = L[2218];\nif(R.isAR($application$expression3555)) {\n$step3553 = $application$expression3555.step;\n$al3559 = $application$expression3555.from;\n$ans3558 = $application$expression3555.ans;\n$elidedFrames3561 = $application$expression3555.elidedFrames;\napplication$expression3555 = $application$expression3555.args[0];\nparameters3556 = $application$expression3555.args[1];\narguments3557 = $application$expression3555.args[2];\nanf_fun3562 = $application$expression3555.vars[0];\nanf_array3563 = $application$expression3555.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2218],3,$t,false);\n}\nvar application$expression3555 = $application$expression3555;\nvar parameters3556 = $parameters3556;\nvar arguments3557 = $arguments3557;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3558 = R.mC();\n}\nwhile(!R.isContinuation($ans3558)) {\nswitch($step3553) {\ncase 0: $ans3558 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2219],L[2220]);\nvar anf_fun3562 = $ans3558;\n$ans3558 = R.makeArrayN((7));\nvar anf_array3563 = $ans3558;\n$step3553 = 1;\n$al3559 = L[2224];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: anf_array3563[0] = $ans3558;\nanf_array3563[1] = application$expression3555;\n$step3553 = 2;\n$al3559 = L[2223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array3563[2] = $ans3558;\nanf_array3563[3] = parameters3556;\n$step3553 = 3;\n$al3559 = L[2222];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array3563[4] = $ans3558;\nanf_array3563[5] = arguments3557;\n$step3553 = 4;\n$al3559 = L[2221];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,ED6.dict.values.dict[\"text\"]);\n}\n$ans3558 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array3563[6] = $ans3558;\n$step3553 = 5;\n$al3559 = L[2220];\nif(typeof(anf_fun3562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3559,anf_fun3562);\n}\n$ans3558 = anf_fun3562.app(anf_array3563);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3558;\ndefault: R.ffi.throwSpinnakerError(L[2218],$step3553);\n}\n}\nif($step3553 !== 5) {\n$ans3558.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3559,$temp_lam3554,$step3553,[application$expression3555,parameters3556,arguments3557],[anf_fun3562,anf_array3563],$elidedFrames3561);\n}\nreturn $ans3558;\n};\nvar anf_assign3565 = R.mF($temp_lam3554,\"explanation-prose\");\nexplanation$prose3566.$var = anf_assign3565;\nR.nothing;\nvar $temp_lam3568 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2225($v3569) {\nvar $step3567 = 0;\nvar $elidedFrames3573 = 0;\nvar $ans3570 = D;\nvar $al3571 = L[2225];\nif(R.isAR($v3569)) {\n$step3567 = $v3569.step;\n$al3571 = $v3569.from;\n$ans3570 = $v3569.ans;\n$elidedFrames3573 = $v3569.elidedFrames;\nv3569 = $v3569.args[0];\ntup3574 = $v3569.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2225],1,$t,false);\n}\nvar v3569 = $v3569;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3570 = R.mC();\n}\nwhile(!R.isContinuation($ans3570)) {\nswitch($step3567) {\ncase 0: var tup3574 = v3569;\n$step3567 = 1;\n$al3571 = L[2230];\nR.checkTupleBind(tup3574,3,L[2230]);\nbreak;\ncase 1: R.getTuple(tup3574,0,L[2226]);\nR.getTuple(tup3574,1,L[2227]);\nvar args3582 = R.getTuple(tup3574,2,L[2228]);\n$step3567 = 2;\nvar $temp_lam3576 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2229($arg_3577) {\nvar $step3575 = 0;\nvar $elidedFrames3581 = 0;\nvar $ans3578 = D;\nvar $al3579 = L[2229];\nif(R.isAR($arg_3577)) {\n$step3575 = $arg_3577.step;\n$al3579 = $arg_3577.from;\n$ans3578 = $arg_3577.ans;\n$elidedFrames3581 = $arg_3577.elidedFrames;\narg_3577 = $arg_3577.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2229],1,$t,false);\n}\nvar arg_3577 = $arg_3577;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3578 = R.mC();\n}\nwhile(!R.isContinuation($ans3578)) {\nswitch($step3575) {\ncase 0: $step3575 = 1;\n$al3579 = L[2229];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3579,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3578 = ED6.dict.values.dict[\"highlight\"].app(arg_3577,args3582,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3578;\ndefault: R.ffi.throwSpinnakerError(L[2229],$step3575);\n}\n}\nif($step3575 !== 1) {\n$ans3578.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3579,$temp_lam3576,$step3575,[arg_3577],[],$elidedFrames3581);\n}\nreturn $ans3578;\n};\n$ans3570 = R.mF($temp_lam3576,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3570;\ndefault: R.ffi.throwSpinnakerError(L[2225],$step3567);\n}\n}\nif($step3567 !== 2) {\n$ans3570.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3571,$temp_lam3568,$step3567,[v3569],[tup3574],$elidedFrames3573);\n}\nreturn $ans3570;\n};\nvar anf_arg3588 = R.mF($temp_lam3568,\"\");\n$step3345 = 16;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2231],anf_arg3588);\nbreak;\ncase 16: var anf_method_obj3597 = $ans3351;\nvar $temp_lam3590 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2232($v3591) {\nvar $step3589 = 0;\nvar $elidedFrames3595 = 0;\nvar $ans3592 = D;\nvar $al3593 = L[2232];\nif(R.isAR($v3591)) {\n$step3589 = $v3591.step;\n$al3593 = $v3591.from;\n$ans3592 = $v3591.ans;\n$elidedFrames3595 = $v3591.elidedFrames;\nv3591 = $v3591.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2232],1,$t,false);\n}\nvar v3591 = $v3591;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3592 = R.mC();\n}\nwhile(!R.isContinuation($ans3592)) {\nswitch($step3589) {\ncase 0: $step3589 = 1;\n$ans3592 = v3591;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3592;\ndefault: R.ffi.throwSpinnakerError(L[2232],$step3589);\n}\n}\nif($step3589 !== 1) {\n$ans3592.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3593,$temp_lam3590,$step3589,[v3591],[],$elidedFrames3595);\n}\nreturn $ans3592;\n};\nvar anf_arg3598 = R.mF($temp_lam3590,\"\");\n$step3345 = 17;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3597,\"or-else\",L[2233],anf_arg3598);\nbreak;\ncase 17: var arguments3707 = $ans3351;\nvar $temp_lam3600 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2234($v3601) {\nvar $step3599 = 0;\nvar $elidedFrames3605 = 0;\nvar $ans3602 = D;\nvar $al3603 = L[2234];\nif(R.isAR($v3601)) {\n$step3599 = $v3601.step;\n$al3603 = $v3601.from;\n$ans3602 = $v3601.ans;\n$elidedFrames3605 = $v3601.elidedFrames;\nv3601 = $v3601.args[0];\ntup3606 = $v3601.vars[0];\napp$loc3608 = $v3601.vars[1];\nanf_arg3609 = $v3601.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2234],1,$t,false);\n}\nvar v3601 = $v3601;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3602 = R.mC();\n}\nwhile(!R.isContinuation($ans3602)) {\nswitch($step3599) {\ncase 0: var tup3606 = v3601;\n$step3599 = 1;\n$al3603 = L[2242];\nR.checkTupleBind(tup3606,3,L[2242]);\nbreak;\ncase 1: var app$loc3608 = R.getTuple(tup3606,0,L[2235]);\nR.getTuple(tup3606,1,L[2236]);\nR.getTuple(tup3606,2,L[2237]);\n$step3599 = 2;\n$al3603 = L[2241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,ED6.dict.values.dict[\"text\"]);\n}\n$ans3602 = ED6.dict.values.dict[\"text\"].app((\"application expression\"));\nbreak;\ncase 2: var anf_arg3609 = $ans3602;\n$ans3602 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2238],L[2239]);\nvar anf_fun3607 = $ans3602;\n$step3599 = 3;\n$al3603 = L[2239];\nif(typeof(anf_fun3607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,anf_fun3607);\n}\n$ans3602 = anf_fun3607.app(app$loc3608);\nbreak;\ncase 3: var anf_arg3610 = $ans3602;\n$step3599 = 4;\n$al3603 = L[2240];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3603,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3602 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3609,anf_arg3610,(-1));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3602;\ndefault: R.ffi.throwSpinnakerError(L[2234],$step3599);\n}\n}\nif($step3599 !== 4) {\n$ans3602.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3603,$temp_lam3600,$step3599,[v3601],[tup3606,app$loc3608,anf_arg3609],$elidedFrames3605);\n}\nreturn $ans3602;\n};\nvar anf_arg3614 = R.mF($temp_lam3600,\"\");\n$step3345 = 18;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2243],anf_arg3614);\nbreak;\ncase 18: var anf_method_obj3615 = $ans3351;\n$step3345 = 19;\n$al3352 = L[2308];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"application\"));\nbreak;\ncase 19: var anf_arg3616 = $ans3351;\n$step3345 = 20;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3615,\"or-else\",L[2244],anf_arg3616);\nbreak;\ncase 20: var application$expression3693 = $ans3351;\nvar $temp_lam3618 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2245($v3619) {\nvar $step3617 = 0;\nvar $elidedFrames3623 = 0;\nvar $ans3620 = D;\nvar $al3621 = L[2245];\nif(R.isAR($v3619)) {\n$step3617 = $v3619.step;\n$al3621 = $v3619.from;\n$ans3620 = $v3619.ans;\n$elidedFrames3623 = $v3619.elidedFrames;\nv3619 = $v3619.args[0];\ntup3624 = $v3619.vars[0];\nop$loc3626 = $v3619.vars[1];\nanf_arg3627 = $v3619.vars[2];\nanf_arg3628 = $v3619.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2245],1,$t,false);\n}\nvar v3619 = $v3619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3620 = R.mC();\n}\nwhile(!R.isContinuation($ans3620)) {\nswitch($step3617) {\ncase 0: var tup3624 = v3619;\n$step3617 = 1;\n$al3621 = L[2253];\nR.checkTupleBind(tup3624,3,L[2253]);\nbreak;\ncase 1: R.getTuple(tup3624,0,L[2246]);\nvar op$loc3626 = R.getTuple(tup3624,1,L[2247]);\nR.getTuple(tup3624,2,L[2248]);\n$step3617 = 2;\n$al3621 = L[2252];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,ED6.dict.values.dict[\"text\"]);\n}\n$ans3620 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 2: var anf_arg3627 = $ans3620;\n$ans3620 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2249],L[2250]);\nvar anf_fun3625 = $ans3620;\n$step3617 = 3;\n$al3621 = L[2250];\nif(typeof(anf_fun3625.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,anf_fun3625);\n}\n$ans3620 = anf_fun3625.app(op$loc3626);\nbreak;\ncase 3: var anf_arg3628 = $ans3620;\n$step3617 = R.checkPyretTrue(definition$contained3630)?4:5;\nbreak;\ncase 4: $step3617 = 6;\n$ans3620 = (-2);\nbreak;\ncase 5: $step3617 = 6;\n$ans3620 = (2);\nbreak;\ncase 6: var anf_arg3629 = $ans3620;\n$step3617 = 7;\n$al3621 = L[2251];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3621,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3620 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3627,anf_arg3628,anf_arg3629);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3620;\ndefault: R.ffi.throwSpinnakerError(L[2245],$step3617);\n}\n}\nif($step3617 !== 7) {\n$ans3620.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3621,$temp_lam3618,$step3617,[v3619],[tup3624,op$loc3626,anf_arg3627,anf_arg3628],$elidedFrames3623);\n}\nreturn $ans3620;\n};\nvar anf_arg3634 = R.mF($temp_lam3618,\"\");\n$step3345 = 21;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2254],anf_arg3634);\nbreak;\ncase 21: var anf_method_obj3635 = $ans3351;\n$step3345 = 22;\n$al3352 = L[2307];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 22: var anf_arg3636 = $ans3351;\n$step3345 = 23;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3635,\"or-else\",L[2255],anf_arg3636);\nbreak;\ncase 23: var operator3710 = $ans3351;\nvar $temp_lam3638 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2256($v3639) {\nvar $step3637 = 0;\nvar $elidedFrames3643 = 0;\nvar $ans3640 = D;\nvar $al3641 = L[2256];\nif(R.isAR($v3639)) {\n$step3637 = $v3639.step;\n$al3641 = $v3639.from;\n$ans3640 = $v3639.ans;\n$elidedFrames3643 = $v3639.elidedFrames;\nv3639 = $v3639.args[0];\ntup3644 = $v3639.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2256],1,$t,false);\n}\nvar v3639 = $v3639;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3640 = R.mC();\n}\nwhile(!R.isContinuation($ans3640)) {\nswitch($step3637) {\ncase 0: var tup3644 = v3639;\n$step3637 = 1;\n$al3641 = L[2260];\nR.checkTupleBind(tup3644,2,L[2260]);\nbreak;\ncase 1: var params3652 = R.getTuple(tup3644,0,L[2257]);\nR.getTuple(tup3644,1,L[2258]);\n$step3637 = 2;\nvar $temp_lam3646 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2259($arg_3647) {\nvar $step3645 = 0;\nvar $elidedFrames3651 = 0;\nvar $ans3648 = D;\nvar $al3649 = L[2259];\nif(R.isAR($arg_3647)) {\n$step3645 = $arg_3647.step;\n$al3649 = $arg_3647.from;\n$ans3648 = $arg_3647.ans;\n$elidedFrames3651 = $arg_3647.elidedFrames;\narg_3647 = $arg_3647.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2259],1,$t,false);\n}\nvar arg_3647 = $arg_3647;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3648 = R.mC();\n}\nwhile(!R.isContinuation($ans3648)) {\nswitch($step3645) {\ncase 0: $step3645 = 1;\n$al3649 = L[2259];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3649,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3648 = ED6.dict.values.dict[\"highlight\"].app(arg_3647,params3652,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3648;\ndefault: R.ffi.throwSpinnakerError(L[2259],$step3645);\n}\n}\nif($step3645 !== 1) {\n$ans3648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3649,$temp_lam3646,$step3645,[arg_3647],[],$elidedFrames3651);\n}\nreturn $ans3648;\n};\n$ans3640 = R.mF($temp_lam3646,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3640;\ndefault: R.ffi.throwSpinnakerError(L[2256],$step3637);\n}\n}\nif($step3637 !== 2) {\n$ans3640.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3641,$temp_lam3638,$step3637,[v3639],[tup3644],$elidedFrames3643);\n}\nreturn $ans3640;\n};\nvar anf_arg3657 = R.mF($temp_lam3638,\"\");\n$step3345 = 24;\n$ans3351 = R.maybeMethodCall1(destructured$definition3656,\"and-then\",L[2261],anf_arg3657);\nbreak;\ncase 24: var anf_method_obj3666 = $ans3351;\nvar $temp_lam3659 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2262($v3660) {\nvar $step3658 = 0;\nvar $elidedFrames3664 = 0;\nvar $ans3661 = D;\nvar $al3662 = L[2262];\nif(R.isAR($v3660)) {\n$step3658 = $v3660.step;\n$al3662 = $v3660.from;\n$ans3661 = $v3660.ans;\n$elidedFrames3664 = $v3660.elidedFrames;\nv3660 = $v3660.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2262],1,$t,false);\n}\nvar v3660 = $v3660;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3661 = R.mC();\n}\nwhile(!R.isContinuation($ans3661)) {\nswitch($step3658) {\ncase 0: $step3658 = 1;\n$ans3661 = v3660;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3661;\ndefault: R.ffi.throwSpinnakerError(L[2262],$step3658);\n}\n}\nif($step3658 !== 1) {\n$ans3661.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3662,$temp_lam3659,$step3658,[v3660],[],$elidedFrames3664);\n}\nreturn $ans3661;\n};\nvar anf_arg3667 = R.mF($temp_lam3659,\"\");\n$step3345 = 25;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3666,\"or-else\",L[2263],anf_arg3667);\nbreak;\ncase 25: var parameters3712 = $ans3351;\nvar $temp_lam3669 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2264($v3670) {\nvar $step3668 = 0;\nvar $elidedFrames3674 = 0;\nvar $ans3671 = D;\nvar $al3672 = L[2264];\nif(R.isAR($v3670)) {\n$step3668 = $v3670.step;\n$al3672 = $v3670.from;\n$ans3671 = $v3670.ans;\n$elidedFrames3674 = $v3670.elidedFrames;\nv3670 = $v3670.args[0];\nanf_arg3677 = $v3670.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2264],1,$t,false);\n}\nvar v3670 = $v3670;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3671 = R.mC();\n}\nwhile(!R.isContinuation($ans3671)) {\nswitch($step3668) {\ncase 0: $step3668 = 1;\n$al3672 = L[2269];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,ED6.dict.values.dict[\"text\"]);\n}\n$ans3671 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 1: var anf_arg3677 = $ans3671;\n$ans3671 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2265],L[2266]);\nvar anf_fun3675 = $ans3671;\n$al3672 = L[2267];\nvar anf_arg3676 = G(self3347,\"fun-def-loc\",L[2267]);\n$step3668 = 2;\n$al3672 = L[2266];\nif(typeof(anf_fun3675.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,anf_fun3675);\n}\n$ans3671 = anf_fun3675.app(anf_arg3676);\nbreak;\ncase 2: var anf_arg3678 = $ans3671;\n$step3668 = 3;\n$al3672 = L[2268];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3672,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans3671 = ED6.dict.values.dict[\"highlight\"].app(anf_arg3677,anf_arg3678,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3671;\ndefault: R.ffi.throwSpinnakerError(L[2264],$step3668);\n}\n}\nif($step3668 !== 3) {\n$ans3671.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3672,$temp_lam3669,$step3668,[v3670],[anf_arg3677],$elidedFrames3674);\n}\nreturn $ans3671;\n};\nvar anf_arg3680 = R.mF($temp_lam3669,\"\");\n$step3345 = 26;\n$ans3351 = R.maybeMethodCall1(destructured$definition3656,\"and-then\",L[2270],anf_arg3680);\nbreak;\ncase 26: var anf_method_obj3681 = $ans3351;\n$step3345 = 27;\n$al3352 = L[2306];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 27: var anf_arg3682 = $ans3351;\n$step3345 = 28;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3681,\"or-else\",L[2271],anf_arg3682);\nbreak;\ncase 28: var defined3714 = $ans3351;\n$ans3351 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2272],L[2273]);\nvar anf_fun3721 = $ans3351;\nvar $temp_lam3684 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2274($v3685) {\nvar $step3683 = 0;\nvar $elidedFrames3689 = 0;\nvar $ans3686 = D;\nvar $al3687 = L[2274];\nif(R.isAR($v3685)) {\n$step3683 = $v3685.step;\n$al3687 = $v3685.from;\n$ans3686 = $v3685.ans;\n$elidedFrames3689 = $v3685.elidedFrames;\nv3685 = $v3685.args[0];\ntup3690 = $v3685.vars[0];\napp$loc3695 = $v3685.vars[1];\nanf_fun3696 = $v3685.vars[2];\nanf_fun3691 = $v3685.vars[3];\nanf_arg3692 = $v3685.vars[4];\nanf_arg3697 = $v3685.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2274],1,$t,false);\n}\nvar v3685 = $v3685;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3686 = R.mC();\n}\nwhile(!R.isContinuation($ans3686)) {\nswitch($step3683) {\ncase 0: var tup3690 = v3685;\n$step3683 = 1;\n$al3687 = L[2285];\nR.checkTupleBind(tup3690,3,L[2285]);\nbreak;\ncase 1: var app$loc3695 = R.getTuple(tup3690,0,L[2275]);\nR.getTuple(tup3690,1,L[2276]);\nR.getTuple(tup3690,2,L[2277]);\n$ans3686 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2278],L[2279]);\nvar anf_fun3696 = $ans3686;\n$ans3686 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2280],L[2281]);\nvar anf_fun3691 = $ans3686;\n$step3683 = 2;\n$al3687 = L[2284];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"text\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 2: var anf_arg3692 = $ans3686;\n$step3683 = 3;\n$al3687 = L[2283];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"text\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 3: var anf_arg3694 = $ans3686;\n$step3683 = 4;\n$al3687 = L[2281];\nif(typeof(anf_fun3691.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,anf_fun3691);\n}\n$ans3686 = anf_fun3691.app(anf_arg3692,application$expression3693,anf_arg3694);\nbreak;\ncase 4: var anf_arg3697 = $ans3686;\n$step3683 = 5;\n$al3687 = L[2282];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans3686 = ED6.dict.values.dict[\"cmcode\"].app(app$loc3695);\nbreak;\ncase 5: var anf_arg3698 = $ans3686;\n$step3683 = 6;\n$al3687 = L[2279];\nif(typeof(anf_fun3696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3687,anf_fun3696);\n}\n$ans3686 = anf_fun3696.app(anf_arg3697,anf_arg3698);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3686;\ndefault: R.ffi.throwSpinnakerError(L[2274],$step3683);\n}\n}\nif($step3683 !== 6) {\n$ans3686.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3687,$temp_lam3684,$step3683,[v3685],[tup3690,app$loc3695,anf_fun3696,anf_fun3691,anf_arg3692,anf_arg3697],$elidedFrames3689);\n}\nreturn $ans3686;\n};\nvar anf_arg3702 = R.mF($temp_lam3684,\"\");\n$step3345 = 29;\n$ans3351 = R.maybeMethodCall1(destructured$application3587,\"and-then\",L[2286],anf_arg3702);\nbreak;\ncase 29: var anf_method_obj3705 = $ans3351;\n$ans3351 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2287],L[2288]);\nvar anf_fun3703 = $ans3351;\n$step3345 = 30;\n$al3352 = L[2305];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"An application errored.\"));\nbreak;\ncase 30: var anf_arg3704 = $ans3351;\n$step3345 = 31;\n$al3352 = L[2288];\nif(typeof(anf_fun3703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,anf_fun3703);\n}\n$ans3351 = anf_fun3703.app(anf_arg3704);\nbreak;\ncase 31: var anf_arg3706 = $ans3351;\n$step3345 = 32;\n$ans3351 = R.maybeMethodCall1(anf_method_obj3705,\"or-else\",L[2289],anf_arg3706);\nbreak;\ncase 32: var anf_arg3722 = $ans3351;\n$step3345 = 33;\n$al3352 = L[2304];\nif(typeof(ED6.dict.values.dict[\"ed-args\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"ed-args\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"ed-args\"].app(fun$app$arity3356);\nbreak;\ncase 33: var anf_arg3708 = $ans3351;\n$step3345 = 34;\n$al3352 = L[2303];\nif(typeof(arguments3707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,arguments3707);\n}\n$ans3351 = arguments3707.app(anf_arg3708);\nbreak;\ncase 34: var anf_arg3709 = $ans3351;\n$step3345 = 35;\n$al3352 = L[2302];\nif(typeof(operator$prose3525.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,operator$prose3525.$var);\n}\n$ans3351 = operator$prose3525.$var.app(anf_arg3709,operator3710);\nbreak;\ncase 35: var anf_arg3723 = $ans3351;\n$al3352 = L[2290];\nvar anf_arg3711 = G(self3347,\"fun-def-arity\",L[2290]);\n$step3345 = 36;\n$al3352 = L[2301];\nif(typeof(ED6.dict.values.dict[\"ed-params\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"ed-params\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"ed-params\"].app(anf_arg3711);\nbreak;\ncase 36: var anf_arg3713 = $ans3351;\n$step3345 = 37;\n$al3352 = L[2300];\nif(typeof(parameters3712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,parameters3712);\n}\n$ans3351 = parameters3712.app(anf_arg3713);\nbreak;\ncase 37: var anf_arg3715 = $ans3351;\n$step3345 = 38;\n$al3352 = L[2299];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,not5);\n}\n$ans3351 = not5.app(definition$contained3630);\nbreak;\ncase 38: var anf_if3728 = $ans3351;\n$step3345 = R.checkPyretTrue(anf_if3728)?39:41;\nbreak;\ncase 39: $al3352 = L[2297];\nvar anf_arg3726 = G(self3347,\"fun-def-loc\",L[2297]);\n$step3345 = 40;\n$al3352 = L[2298];\nif(typeof(src$available3349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,src$available3349);\n}\n$ans3351 = src$available3349.app(anf_arg3726);\nbreak;\ncase 40: var anf_arg3727 = $ans3351;\n$ans3351 = R.checkWrapBoolean(anf_arg3727);\n$step3345 = 42;\nbreak;\ncase 41: $step3345 = 42;\n$ans3351 = (false);\nbreak;\ncase 42: var anf_arg3716 = $ans3351;\n$step3345 = 43;\n$al3352 = L[2296];\nif(typeof(definition$prose3552.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,definition$prose3552.$var);\n}\n$ans3351 = definition$prose3552.$var.app(operator3710,defined3714,anf_arg3715,anf_arg3716);\nbreak;\ncase 43: var anf_arg3724 = $ans3351;\n$step3345 = 44;\n$al3352 = L[2295];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"parameters\"));\nbreak;\ncase 44: var anf_arg3717 = $ans3351;\n$step3345 = 45;\n$al3352 = L[2294];\nif(typeof(parameters3712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,parameters3712);\n}\n$ans3351 = parameters3712.app(anf_arg3717);\nbreak;\ncase 45: var anf_arg3719 = $ans3351;\n$step3345 = 46;\n$al3352 = L[2293];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,ED6.dict.values.dict[\"text\"]);\n}\n$ans3351 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 46: var anf_arg3718 = $ans3351;\n$step3345 = 47;\n$al3352 = L[2292];\nif(typeof(arguments3707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,arguments3707);\n}\n$ans3351 = arguments3707.app(anf_arg3718);\nbreak;\ncase 47: var anf_arg3720 = $ans3351;\n$step3345 = 48;\n$al3352 = L[2291];\nif(typeof(explanation$prose3566.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,explanation$prose3566.$var);\n}\n$ans3351 = explanation$prose3566.$var.app(application$expression3693,anf_arg3719,anf_arg3720);\nbreak;\ncase 48: var anf_arg3725 = $ans3351;\n$step3345 = 49;\n$al3352 = L[2273];\nif(typeof(anf_fun3721.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3352,anf_fun3721);\n}\n$ans3351 = anf_fun3721.app(anf_arg3722,anf_arg3723,anf_arg3724,anf_arg3725);\nbreak;\ncase 49: ++R.GAS;\nreturn $ans3351;\ndefault: R.ffi.throwSpinnakerError(L[2132],$step3345);\n}\n}\nif($step3345 !== 49) {\n$ans3351.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3352,$temp_full3346,$step3345,[self3347,maybe$stack$loc3348,src$available3349,maybe$ast3350],[fun$app$arity3356,application$expression3693,definition$prose3552,anf_fun3703,explanation$prose3566,anf_arg3722,anf_arg3723,arguments3707,application$loc3500,anf_arg3724,locs$from$application$ast3461,parameters3712,anf_arg3715,anf_method_obj3681,definition$contained3630,locs$from$definition$ast3490,operator3710,anf_arg3719,defined3714,were$was3518,destructured$application3587,destructured$definition3656,anf_method_obj3635,operator$prose3525,anf_method_obj3615,anf_method_obj3705,anf_fun3721],$elidedFrames3354);\n}\nreturn $ans3351;\n};\nvar anf_variant_member5950 = R.makeMethod3($temp_full3346,\"render-fancy-reason\");\nvar $temp_full3732 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2316($self3733) {\nvar $step3731 = 0;\nvar $elidedFrames3737 = 0;\nvar $ans3734 = D;\nvar $al3735 = L[2316];\nif(R.isAR($self3733)) {\n$step3731 = $self3733.step;\n$al3735 = $self3733.from;\n$ans3734 = $self3733.ans;\n$elidedFrames3737 = $self3733.elidedFrames;\nself3733 = $self3733.args[0];\nnum$args3739 = $self3733.vars[0];\nanf_arg3791 = $self3733.vars[1];\nanf_arg3792 = $self3733.vars[2];\nanf_fun3801 = $self3733.vars[3];\nanf_arg3797 = $self3733.vars[4];\nanf_arg3798 = $self3733.vars[5];\nthis$str3756 = $self3733.vars[6];\nanf_arg3802 = $self3733.vars[7];\nanf_arg3803 = $self3733.vars[8];\nanf_arg3804 = $self3733.vars[9];\nanf_arg3806 = $self3733.vars[10];\nanf_fun3790 = $self3733.vars[11];\nexp$arg$str3750 = $self3733.vars[12];\narg$str3758 = $self3733.vars[13];\nanf_fun3796 = $self3733.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2316],1,$t,true);\n}\nvar self3733 = $self3733;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3734 = R.mC();\n}\nwhile(!R.isContinuation($ans3734)) {\nswitch($step3731) {\ncase 0: $al3735 = L[2317];\nvar anf_method_obj3738 = G(self3733,\"fun-app-args\",L[2317]);\n$step3731 = 1;\n$ans3734 = R.maybeMethodCall0(anf_method_obj3738,\"length\",L[2318]);\nbreak;\ncase 1: var num$args3739 = $ans3734;\n$step3731 = 2;\n$al3735 = L[2382];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(num$args3739,(1));\nbreak;\ncase 2: var anf_if3810 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3810)?3:4;\nbreak;\ncase 3: $step3731 = 5;\n$ans3734 = (\"this \");\nbreak;\ncase 4: $step3731 = 5;\n$ans3734 = (\"these \");\nbreak;\ncase 5: var this$str3756 = $ans3734;\n$step3731 = 6;\n$al3735 = L[2381];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(num$args3739,(1));\nbreak;\ncase 6: var anf_if3809 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3809)?7:8;\nbreak;\ncase 7: $step3731 = 9;\n$ans3734 = (\" argument:\");\nbreak;\ncase 8: $step3731 = 9;\n$ans3734 = (\" arguments:\");\nbreak;\ncase 9: var arg$str3758 = $ans3734;\n$al3735 = L[2319];\nvar anf_arg3740 = G(self3733,\"fun-def-arity\",L[2319]);\n$step3731 = 10;\n$al3735 = L[2380];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,equal$always1);\n}\n$ans3734 = equal$always1.app(anf_arg3740,(1));\nbreak;\ncase 10: var anf_if3808 = $ans3734;\n$step3731 = R.checkPyretTrue(anf_if3808)?11:12;\nbreak;\ncase 11: $step3731 = 13;\n$ans3734 = (\" argument\");\nbreak;\ncase 12: $step3731 = 13;\n$ans3734 = (\" arguments\");\nbreak;\ncase 13: var exp$arg$str3750 = $ans3734;\nvar $temp_lam3742 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2320($caller$loc3743) {\nvar $step3741 = 0;\nvar $elidedFrames3747 = 0;\nvar $ans3744 = D;\nvar $al3745 = L[2320];\nif(R.isAR($caller$loc3743)) {\n$step3741 = $caller$loc3743.step;\n$al3745 = $caller$loc3743.from;\n$ans3744 = $caller$loc3743.ans;\n$elidedFrames3747 = $caller$loc3743.elidedFrames;\ncaller$loc3743 = $caller$loc3743.args[0];\nanf_arg3780 = $caller$loc3743.vars[0];\nanf_arg3781 = $caller$loc3743.vars[1];\nanf_fun3779 = $caller$loc3743.vars[2];\nanf_arg3760 = $caller$loc3743.vars[3];\nanf_array3785 = $caller$loc3743.vars[4];\nanf_fun3759 = $caller$loc3743.vars[5];\nanf_arg3761 = $caller$loc3743.vars[6];\nanf_arg3772 = $caller$loc3743.vars[7];\nanf_arg3773 = $caller$loc3743.vars[8];\nanf_arg3753 = $caller$loc3743.vars[9];\nanf_arg3754 = $caller$loc3743.vars[10];\nanf_arg3765 = $caller$loc3743.vars[11];\nanf_arg3766 = $caller$loc3743.vars[12];\nanf_arg3767 = $caller$loc3743.vars[13];\nanf_fun3771 = $caller$loc3743.vars[14];\nanf_fun3784 = $caller$loc3743.vars[15];\nanf_fun3752 = $caller$loc3743.vars[16];\nanf_fun3764 = $caller$loc3743.vars[17];\nanf_fun3776 = $caller$loc3743.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2320],1,$t,false);\n}\nvar caller$loc3743 = $caller$loc3743;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3744 = R.mC();\n}\nwhile(!R.isContinuation($ans3744)) {\nswitch($step3741) {\ncase 0: $al3745 = L[2321];\nvar anf_method_obj3748 = G(self3733,\"fun-def-loc\",L[2321]);\n$step3741 = 1;\n$ans3744 = R.maybeMethodCall0(anf_method_obj3748,\"is-builtin\",L[2322]);\nbreak;\ncase 1: var anf_if3786 = $ans3744;\n$step3741 = R.checkPyretTrue(anf_if3786)?2:14;\nbreak;\ncase 2: $ans3744 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2323],L[2324]);\nvar anf_fun3764 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2325],L[2326]);\nvar anf_fun3752 = $ans3744;\n$step3741 = 3;\n$al3745 = L[2339];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 3: var anf_arg3753 = $ans3744;\n$al3745 = L[2327];\nvar anf_arg3749 = G(self3733,\"fun-def-arity\",L[2327]);\n$step3741 = 4;\n$al3745 = L[2338];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(anf_arg3749);\nbreak;\ncase 4: var anf_arg3754 = $ans3744;\n$step3741 = 5;\n$al3745 = L[2337];\n// omitting isFunction check;\n$ans3744 = _plus5.app(exp$arg$str3750,(\" at\"));\nbreak;\ncase 5: var anf_arg3751 = $ans3744;\n$step3741 = 6;\n$al3745 = L[2336];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3751);\nbreak;\ncase 6: var anf_arg3755 = $ans3744;\n$step3741 = 7;\n$al3745 = L[2326];\nif(typeof(anf_fun3752.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3752);\n}\n$ans3744 = anf_fun3752.app(anf_arg3753,anf_arg3754,anf_arg3755);\nbreak;\ncase 7: var anf_arg3765 = $ans3744;\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(caller$loc3743);\nvar anf_arg3766 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2328],L[2329]);\nvar anf_fun3759 = $ans3744;\n$step3741 = 8;\n$al3745 = L[2335];\n// omitting isFunction check;\n$ans3744 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 8: var anf_arg3757 = $ans3744;\n$step3741 = 9;\n$al3745 = L[2334];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3757);\nbreak;\ncase 9: var anf_arg3760 = $ans3744;\n$step3741 = 10;\n$al3745 = L[2333];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 10: var anf_arg3761 = $ans3744;\n$step3741 = 11;\n$al3745 = L[2332];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 11: var anf_arg3762 = $ans3744;\n$step3741 = 12;\n$al3745 = L[2329];\nif(typeof(anf_fun3759.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3759);\n}\n$ans3744 = anf_fun3759.app(anf_arg3760,anf_arg3761,anf_arg3762);\nbreak;\ncase 12: var anf_arg3767 = $ans3744;\n$al3745 = L[2330];\nvar anf_arg3763 = G(self3733,\"fun-app-args\",L[2330]);\n$step3741 = 13;\n$al3745 = L[2331];\n// omitting isFunction check;\n$ans3744 = vert$list$values58.$var.app(anf_arg3763);\nbreak;\ncase 13: var anf_arg3768 = $ans3744;\n$step3741 = 28;\n$al3745 = L[2324];\nif(typeof(anf_fun3764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3764);\n}\n$ans3744 = anf_fun3764.app(anf_arg3765,anf_arg3766,anf_arg3767,anf_arg3768);\nbreak;\ncase 14: $ans3744 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2340],L[2341]);\nvar anf_fun3784 = $ans3744;\n$ans3744 = R.makeArrayN((6));\nvar anf_array3785 = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2342],L[2343]);\nvar anf_fun3771 = $ans3744;\n$step3741 = 15;\n$al3745 = L[2360];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 15: var anf_arg3772 = $ans3744;\n$al3745 = L[2344];\nvar anf_arg3769 = G(self3733,\"fun-def-arity\",L[2344]);\n$step3741 = 16;\n$al3745 = L[2359];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(anf_arg3769);\nbreak;\ncase 16: var anf_arg3773 = $ans3744;\n$step3741 = 17;\n$al3745 = L[2358];\n// omitting isFunction check;\n$ans3744 = _plus5.app(exp$arg$str3750,(\" when calling the function at \"));\nbreak;\ncase 17: var anf_arg3770 = $ans3744;\n$step3741 = 18;\n$al3745 = L[2357];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3770);\nbreak;\ncase 18: var anf_arg3774 = $ans3744;\n$step3741 = 19;\n$al3745 = L[2343];\nif(typeof(anf_fun3771.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3771);\n}\n$ans3744 = anf_fun3771.app(anf_arg3772,anf_arg3773,anf_arg3774);\nbreak;\ncase 19: anf_array3785[0] = $ans3744;\n$al3745 = L[2345];\nvar anf_arg3775 = G(self3733,\"fun-def-loc\",L[2345]);\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(anf_arg3775);\nanf_array3785[1] = $ans3744;\n$ans3744 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2346],L[2347]);\nvar anf_fun3776 = $ans3744;\n$step3741 = 20;\n$al3745 = L[2356];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app((\"from\"));\nbreak;\ncase 20: var anf_arg3777 = $ans3744;\n$step3741 = 21;\n$al3745 = L[2347];\nif(typeof(anf_fun3776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3776);\n}\n$ans3744 = anf_fun3776.app(anf_arg3777);\nbreak;\ncase 21: anf_array3785[2] = $ans3744;\n// caller optimization;\n$ans3744 = draw$and$highlight36.$var.app(caller$loc3743);\nanf_array3785[3] = $ans3744;\n$ans3744 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2348],L[2349]);\nvar anf_fun3779 = $ans3744;\n$step3741 = 22;\n$al3745 = L[2355];\n// omitting isFunction check;\n$ans3744 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 22: var anf_arg3778 = $ans3744;\n$step3741 = 23;\n$al3745 = L[2354];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(anf_arg3778);\nbreak;\ncase 23: var anf_arg3780 = $ans3744;\n$step3741 = 24;\n$al3745 = L[2353];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 24: var anf_arg3781 = $ans3744;\n$step3741 = 25;\n$al3745 = L[2352];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,ED6.dict.values.dict[\"text\"]);\n}\n$ans3744 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 25: var anf_arg3782 = $ans3744;\n$step3741 = 26;\n$al3745 = L[2349];\nif(typeof(anf_fun3779.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3779);\n}\n$ans3744 = anf_fun3779.app(anf_arg3780,anf_arg3781,anf_arg3782);\nbreak;\ncase 26: anf_array3785[4] = $ans3744;\n$al3745 = L[2350];\nvar anf_arg3783 = G(self3733,\"fun-app-args\",L[2350]);\n$step3741 = 27;\n$al3745 = L[2351];\n// omitting isFunction check;\n$ans3744 = vert$list$values58.$var.app(anf_arg3783);\nbreak;\ncase 27: anf_array3785[5] = $ans3744;\n$step3741 = 28;\n$al3745 = L[2341];\nif(typeof(anf_fun3784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3745,anf_fun3784);\n}\n$ans3744 = anf_fun3784.app(anf_array3785);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans3744;\ndefault: R.ffi.throwSpinnakerError(L[2320],$step3741);\n}\n}\nif($step3741 !== 28) {\n$ans3744.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3745,$temp_lam3742,$step3741,[caller$loc3743],[anf_arg3780,anf_arg3781,anf_fun3779,anf_arg3760,anf_array3785,anf_fun3759,anf_arg3761,anf_arg3772,anf_arg3773,anf_arg3753,anf_arg3754,anf_arg3765,anf_arg3766,anf_arg3767,anf_fun3771,anf_fun3784,anf_fun3752,anf_fun3764,anf_fun3776],$elidedFrames3747);\n}\nreturn $ans3744;\n};\nvar anf_arg3806 = R.mF($temp_lam3742,\"\");\n$ans3734 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2361],L[2362]);\nvar anf_fun3801 = $ans3734;\n$ans3734 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2363],L[2364]);\nvar anf_fun3790 = $ans3734;\n$step3731 = 14;\n$al3735 = L[2379];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 14: var anf_arg3791 = $ans3734;\n$al3735 = L[2365];\nvar anf_arg3788 = G(self3733,\"fun-def-arity\",L[2365]);\n$step3731 = 15;\n$al3735 = L[2378];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"embed\"].app(anf_arg3788);\nbreak;\ncase 15: var anf_arg3792 = $ans3734;\n$step3731 = 16;\n$al3735 = L[2377];\n// omitting isFunction check;\n$ans3734 = _plus5.app(exp$arg$str3750,(\" at \"));\nbreak;\ncase 16: var anf_arg3789 = $ans3734;\n$step3731 = 17;\n$al3735 = L[2376];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(anf_arg3789);\nbreak;\ncase 17: var anf_arg3793 = $ans3734;\n$step3731 = 18;\n$al3735 = L[2364];\nif(typeof(anf_fun3790.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3790);\n}\n$ans3734 = anf_fun3790.app(anf_arg3791,anf_arg3792,anf_arg3793);\nbreak;\ncase 18: var anf_arg3802 = $ans3734;\n$al3735 = L[2366];\nvar anf_arg3794 = G(self3733,\"fun-def-loc\",L[2366]);\n// caller optimization;\n$ans3734 = draw$and$highlight36.$var.app(anf_arg3794);\nvar anf_arg3803 = $ans3734;\n$ans3734 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2367],L[2368]);\nvar anf_fun3796 = $ans3734;\n$step3731 = 19;\n$al3735 = L[2375];\n// omitting isFunction check;\n$ans3734 = _plus5.app((\" but got \"),this$str3756);\nbreak;\ncase 19: var anf_arg3795 = $ans3734;\n$step3731 = 20;\n$al3735 = L[2374];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(anf_arg3795);\nbreak;\ncase 20: var anf_arg3797 = $ans3734;\n$step3731 = 21;\n$al3735 = L[2373];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"embed\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"embed\"].app(num$args3739);\nbreak;\ncase 21: var anf_arg3798 = $ans3734;\n$step3731 = 22;\n$al3735 = L[2372];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"text\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"text\"].app(arg$str3758);\nbreak;\ncase 22: var anf_arg3799 = $ans3734;\n$step3731 = 23;\n$al3735 = L[2368];\nif(typeof(anf_fun3796.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3796);\n}\n$ans3734 = anf_fun3796.app(anf_arg3797,anf_arg3798,anf_arg3799);\nbreak;\ncase 23: var anf_arg3804 = $ans3734;\n$al3735 = L[2369];\nvar anf_arg3800 = G(self3733,\"fun-app-args\",L[2369]);\n$step3731 = 24;\n$al3735 = L[2371];\n// omitting isFunction check;\n$ans3734 = vert$list$values58.$var.app(anf_arg3800);\nbreak;\ncase 24: var anf_arg3805 = $ans3734;\n$step3731 = 25;\n$al3735 = L[2362];\nif(typeof(anf_fun3801.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,anf_fun3801);\n}\n$ans3734 = anf_fun3801.app(anf_arg3802,anf_arg3803,anf_arg3804,anf_arg3805);\nbreak;\ncase 25: var anf_arg3807 = $ans3734;\n$step3731 = 26;\n$al3735 = L[2370];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3735,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans3734 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(false),anf_arg3806,anf_arg3807);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans3734;\ndefault: R.ffi.throwSpinnakerError(L[2316],$step3731);\n}\n}\nif($step3731 !== 26) {\n$ans3734.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3735,$temp_full3732,$step3731,[self3733],[num$args3739,anf_arg3791,anf_arg3792,anf_fun3801,anf_arg3797,anf_arg3798,this$str3756,anf_arg3802,anf_arg3803,anf_arg3804,anf_arg3806,anf_fun3790,exp$arg$str3750,arg$str3758,anf_fun3796],$elidedFrames3737);\n}\nreturn $ans3734;\n};\nvar anf_variant_member5951 = R.makeMethod0($temp_full3732,\"render-reason\");\nvar $temp_full3813 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2383($self3814,$maybe$stack$loc3815,$src$available3816,$maybe$ast3817) {\nvar $step3812 = 0;\nvar $elidedFrames3821 = 0;\nvar $ans3818 = D;\nvar $al3819 = L[2383];\nif(R.isAR($self3814)) {\n$step3812 = $self3814.step;\n$al3819 = $self3814.from;\n$ans3818 = $self3814.ans;\n$elidedFrames3821 = $self3814.elidedFrames;\nself3814 = $self3814.args[0];\nmaybe$stack$loc3815 = $self3814.args[1];\nsrc$available3816 = $self3814.args[2];\nmaybe$ast3817 = $self3814.args[3];\nanf_arg4396 = $self3814.vars[0];\nanf_arg4397 = $self3814.vars[1];\nanf_arg4398 = $self3814.vars[2];\nparameters4386 = $self3814.vars[3];\napplication$expression4367 = $self3814.vars[4];\nanf_arg4389 = $self3814.vars[5];\nwere$was4185 = $self3814.vars[6];\ndefinition$prose4226 = $self3814.vars[7];\nfun$app$arity3823 = $self3814.vars[8];\napplication$loc4167 = $self3814.vars[9];\noperator$prose4192 = $self3814.vars[10];\noperator4384 = $self3814.vars[11];\ndefined4388 = $self3814.vars[12];\ndestructured$definition4330 = $self3814.vars[13];\ndestructured$application4261 = $self3814.vars[14];\nanf_method_obj4355 = $self3814.vars[15];\nanf_method_obj4289 = $self3814.vars[16];\ndefinition$contained4304 = $self3814.vars[17];\nanf_method_obj4379 = $self3814.vars[18];\nlocs$from$definition$ast4155 = $self3814.vars[19];\narguments4381 = $self3814.vars[20];\nanf_fun4395 = $self3814.vars[21];\nanf_method_obj4309 = $self3814.vars[22];\nexplanation$prose4240 = $self3814.vars[23];\nanf_fun4377 = $self3814.vars[24];\nfunction$or$method4203 = $self3814.vars[25];\nlocs$from$application$ast3928 = $self3814.vars[26];\nanf_arg4393 = $self3814.vars[27];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2383],4,$t,true);\n}\nvar self3814 = $self3814;\nvar maybe$stack$loc3815 = $maybe$stack$loc3815;\nvar src$available3816 = $src$available3816;\nvar maybe$ast3817 = $maybe$ast3817;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3818 = R.mC();\n}\nwhile(!R.isContinuation($ans3818)) {\nswitch($step3812) {\ncase 0: $al3819 = L[2384];\nvar anf_method_obj3822 = G(self3814,\"fun-app-args\",L[2384]);\n$step3812 = 1;\n$ans3818 = R.maybeMethodCall0(anf_method_obj3822,\"length\",L[2385]);\nbreak;\ncase 1: var fun$app$arity3823 = $ans3818;\n$step3812 = 2;\n$al3819 = L[2638];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,equal$always1);\n}\n$ans3818 = equal$always1.app(fun$app$arity3823,(1));\nbreak;\ncase 2: var anf_if4405 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4405)?3:4;\nbreak;\ncase 3: $step3812 = 5;\n$ans3818 = (\" was\");\nbreak;\ncase 4: $step3812 = 5;\n$ans3818 = (\" were\");\nbreak;\ncase 5: var were$was4185 = $ans3818;\n$al3819 = L[2386];\nvar anf_if4404 = G(self3814,\"is-method\",L[2386]);\n$step3812 = R.checkPyretTrue(anf_if4404)?6:7;\nbreak;\ncase 6: $step3812 = 8;\n$ans3818 = (\"method\");\nbreak;\ncase 7: $step3812 = 8;\n$ans3818 = (\"function\");\nbreak;\ncase 8: var function$or$method4203 = $ans3818;\nvar locs$from$application$ast3928 = {\"$var\":D};\nvar is$underscore3949 = {\"$var\":D};\nvar locs$from$definition$ast4155 = {\"$var\":D};\nvar $temp_lam3825 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2387($ast3826) {\nvar $step3824 = 0;\nvar $elidedFrames3830 = 0;\nvar $ans3827 = D;\nvar $al3828 = L[2387];\nif(R.isAR($ast3826)) {\n$step3824 = $ast3826.step;\n$al3828 = $ast3826.from;\n$ans3827 = $ast3826.ans;\n$elidedFrames3830 = $ast3826.elidedFrames;\nast3826 = $ast3826.args[0];\nanf_tuple_fields3922 = $ast3826.vars[0];\nanf_tuple_fields3923 = $ast3826.vars[1];\nanf_tuple_fields3903 = $ast3826.vars[2];\nanf_tuple_fields3914 = $ast3826.vars[3];\nl3861 = $ast3826.vars[4];\nadjust3846 = $ast3826.vars[5];\nanf_arg3898 = $ast3826.vars[6];\nanf_arg3877 = $ast3826.vars[7];\nanf_arg3900 = $ast3826.vars[8];\nanf_arg3859 = $ast3826.vars[9];\nl3879 = $ast3826.vars[10];\nl3902 = $ast3826.vars[11];\nl3913 = $ast3826.vars[12];\nargs3896 = $ast3826.vars[13];\nanf_tuple_fields3880 = $ast3826.vars[14];\ncases3847 = $ast3826.vars[15];\nanf_tuple_fields3862 = $ast3826.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2387],1,$t,false);\n}\nvar ast3826 = $ast3826;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3827 = R.mC();\n}\nwhile(!R.isContinuation($ans3827)) {\nswitch($step3824) {\ncase 0: var adjust3846 = {\"$var\":D};\nvar $temp_lam3832 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2388($fun$loc3833,$args3834) {\nvar $step3831 = 0;\nvar $elidedFrames3838 = 0;\nvar $ans3835 = D;\nvar $al3836 = L[2388];\nif(R.isAR($fun$loc3833)) {\n$step3831 = $fun$loc3833.step;\n$al3836 = $fun$loc3833.from;\n$ans3835 = $fun$loc3833.ans;\n$elidedFrames3838 = $fun$loc3833.elidedFrames;\nfun$loc3833 = $fun$loc3833.args[0];\nargs3834 = $fun$loc3833.args[1];\nanf_fun3841 = $fun$loc3833.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2388],2,$t,false);\n}\nvar fun$loc3833 = $fun$loc3833;\nvar args3834 = $args3834;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3835 = R.mC();\n}\nwhile(!R.isContinuation($ans3835)) {\nswitch($step3831) {\ncase 0: $step3831 = 1;\n$al3836 = L[2394];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3836,equal$always1);\n}\n$ans3835 = equal$always1.app(fun$app$arity3823,(0));\nbreak;\ncase 1: var anf_if3843 = $ans3835;\n$step3831 = R.checkPyretTrue(anf_if3843)?2:5;\nbreak;\ncase 2: $ans3835 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2389],L[2390]);\nvar anf_fun3841 = $ans3835;\n$step3831 = 3;\n$ans3835 = R.maybeMethodCall0(fun$loc3833,\"at-end\",L[2391]);\nbreak;\ncase 3: var anf_method_obj3839 = $ans3835;\n$al3836 = L[2392];\nvar anf_arg3840 = G(ast3826,\"l\",L[2392]);\n$step3831 = 4;\n$ans3835 = R.maybeMethodCall1(anf_method_obj3839,\"upto-end\",L[2393],anf_arg3840);\nbreak;\ncase 4: var anf_arg3842 = $ans3835;\n$step3831 = 6;\n$al3836 = L[2390];\nif(typeof(anf_fun3841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3836,anf_fun3841);\n}\n$ans3835 = anf_fun3841.app(anf_arg3842);\nbreak;\ncase 5: $step3831 = 6;\n$ans3835 = args3834;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3835;\ndefault: R.ffi.throwSpinnakerError(L[2388],$step3831);\n}\n}\nif($step3831 !== 6) {\n$ans3835.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3836,$temp_lam3832,$step3831,[fun$loc3833,args3834],[anf_fun3841],$elidedFrames3838);\n}\nreturn $ans3835;\n};\nvar anf_assign3845 = R.mF($temp_lam3832,\"adjust\");\nadjust3846.$var = anf_assign3845;\nR.nothing;\nvar cases3847 = ast3826;\n$al3828 = L[2401];\n$step3824 = $cases_dispatch3925[cases3847.$name] || 14;\nbreak;\ncase 1: if(cases3847.$arity !== 3) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2400],3,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2400],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3865 = cases3847.$constructor.$fieldNames;\nvar l3861 = R.dF(cases3847.dict[$fn3865[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3848 = R.dF(cases3847.dict[$fn3865[1]],cases3847.$mut_fields_mask[1],false);\nvar args3857 = R.dF(cases3847.dict[$fn3865[2]],cases3847.$mut_fields_mask[2],false);\n$al3828 = L[2395];\nvar anf_tuple_fields3862 = G(_fun3848,\"l\",L[2395]);\n$al3828 = L[2396];\nvar anf_arg3859 = G(_fun3848,\"l\",L[2396]);\nvar $temp_lam3850 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2397($recv_3851) {\nvar $step3849 = 0;\nvar $elidedFrames3855 = 0;\nvar $ans3852 = D;\nvar $al3853 = L[2397];\nif(R.isAR($recv_3851)) {\n$step3849 = $recv_3851.step;\n$al3853 = $recv_3851.from;\n$ans3852 = $recv_3851.ans;\n$elidedFrames3855 = $recv_3851.elidedFrames;\nrecv_3851 = $recv_3851.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2397],1,$t,false);\n}\nvar recv_3851 = $recv_3851;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3852 = R.mC();\n}\nwhile(!R.isContinuation($ans3852)) {\nswitch($step3849) {\ncase 0: $step3849 = 1;\n$al3853 = L[2397];\n$ans3852 = G(recv_3851,\"l\",L[2397]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3852;\ndefault: R.ffi.throwSpinnakerError(L[2397],$step3849);\n}\n}\nif($step3849 !== 1) {\n$ans3852.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3853,$temp_lam3850,$step3849,[recv_3851],[],$elidedFrames3855);\n}\nreturn $ans3852;\n};\nvar anf_arg3858 = R.mF($temp_lam3850,\"\");\n$step3824 = 2;\n$ans3827 = R.maybeMethodCall1(args3857,\"map\",L[2398],anf_arg3858);\nbreak;\ncase 2: var anf_arg3860 = $ans3827;\n$step3824 = 3;\n$al3828 = L[2399];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3859,anf_arg3860);\nbreak;\ncase 3: var anf_tuple_fields3863 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3861,anf_tuple_fields3862,anf_tuple_fields3863]);\nbreak;\ncase 4: if(cases3847.$arity !== 3) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2407],3,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2407],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3883 = cases3847.$constructor.$fieldNames;\nvar l3879 = R.dF(cases3847.dict[$fn3883[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3866 = R.dF(cases3847.dict[$fn3883[1]],cases3847.$mut_fields_mask[1],false);\nvar args3875 = R.dF(cases3847.dict[$fn3883[2]],cases3847.$mut_fields_mask[2],false);\n$al3828 = L[2402];\nvar anf_tuple_fields3880 = G(_fun3866,\"l\",L[2402]);\n$al3828 = L[2403];\nvar anf_arg3877 = G(_fun3866,\"l\",L[2403]);\nvar $temp_lam3868 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2404($recv_3869) {\nvar $step3867 = 0;\nvar $elidedFrames3873 = 0;\nvar $ans3870 = D;\nvar $al3871 = L[2404];\nif(R.isAR($recv_3869)) {\n$step3867 = $recv_3869.step;\n$al3871 = $recv_3869.from;\n$ans3870 = $recv_3869.ans;\n$elidedFrames3873 = $recv_3869.elidedFrames;\nrecv_3869 = $recv_3869.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2404],1,$t,false);\n}\nvar recv_3869 = $recv_3869;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3870 = R.mC();\n}\nwhile(!R.isContinuation($ans3870)) {\nswitch($step3867) {\ncase 0: $step3867 = 1;\n$al3871 = L[2404];\n$ans3870 = G(recv_3869,\"l\",L[2404]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3870;\ndefault: R.ffi.throwSpinnakerError(L[2404],$step3867);\n}\n}\nif($step3867 !== 1) {\n$ans3870.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3871,$temp_lam3868,$step3867,[recv_3869],[],$elidedFrames3873);\n}\nreturn $ans3870;\n};\nvar anf_arg3876 = R.mF($temp_lam3868,\"\");\n$step3824 = 5;\n$ans3827 = R.maybeMethodCall1(args3875,\"map\",L[2405],anf_arg3876);\nbreak;\ncase 5: var anf_arg3878 = $ans3827;\n$step3824 = 6;\n$al3828 = L[2406];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3877,anf_arg3878);\nbreak;\ncase 6: var anf_tuple_fields3881 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3879,anf_tuple_fields3880,anf_tuple_fields3881]);\nbreak;\ncase 7: if(cases3847.$arity !== 6) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2417],6,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2417],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3906 = cases3847.$constructor.$fieldNames;\nvar l3902 = R.dF(cases3847.dict[$fn3906[0]],cases3847.$mut_fields_mask[0],false);\nvar _fun3884 = R.dF(cases3847.dict[$fn3906[1]],cases3847.$mut_fields_mask[1],false);\nvar args3896 = R.dF(cases3847.dict[$fn3906[2]],cases3847.$mut_fields_mask[2],false);\nR.dF(cases3847.dict[$fn3906[3]],cases3847.$mut_fields_mask[3],false);\nvar b3885 = R.dF(cases3847.dict[$fn3906[4]],cases3847.$mut_fields_mask[4],false);\nR.dF(cases3847.dict[$fn3906[5]],cases3847.$mut_fields_mask[5],false);\n$al3828 = L[2408];\nvar anf_tuple_fields3903 = G(_fun3884,\"l\",L[2408]);\n$al3828 = L[2409];\nvar anf_arg3900 = G(_fun3884,\"l\",L[2409]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2410],L[2411]);\nvar anf_fun3886 = $ans3827;\n$al3828 = L[2412];\nvar anf_arg3887 = G(b3885,\"l\",L[2412]);\n$step3824 = 8;\n$al3828 = L[2411];\nif(typeof(anf_fun3886.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3886);\n}\n$ans3827 = anf_fun3886.app(anf_arg3887);\nbreak;\ncase 8: var anf_arg3898 = $ans3827;\nvar $temp_lam3889 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2413($recv_3890) {\nvar $step3888 = 0;\nvar $elidedFrames3894 = 0;\nvar $ans3891 = D;\nvar $al3892 = L[2413];\nif(R.isAR($recv_3890)) {\n$step3888 = $recv_3890.step;\n$al3892 = $recv_3890.from;\n$ans3891 = $recv_3890.ans;\n$elidedFrames3894 = $recv_3890.elidedFrames;\nrecv_3890 = $recv_3890.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2413],1,$t,false);\n}\nvar recv_3890 = $recv_3890;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3891 = R.mC();\n}\nwhile(!R.isContinuation($ans3891)) {\nswitch($step3888) {\ncase 0: $step3888 = 1;\n$al3892 = L[2413];\n$ans3891 = G(recv_3890,\"l\",L[2413]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3891;\ndefault: R.ffi.throwSpinnakerError(L[2413],$step3888);\n}\n}\nif($step3888 !== 1) {\n$ans3891.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3892,$temp_lam3889,$step3888,[recv_3890],[],$elidedFrames3894);\n}\nreturn $ans3891;\n};\nvar anf_arg3897 = R.mF($temp_lam3889,\"\");\n$step3824 = 9;\n$ans3827 = R.maybeMethodCall1(args3896,\"map\",L[2414],anf_arg3897);\nbreak;\ncase 9: var anf_arg3899 = $ans3827;\n$step3824 = 10;\n$al3828 = L[2416];\n// omitting isFunction check;\n$ans3827 = _plus5.app(anf_arg3898,anf_arg3899);\nbreak;\ncase 10: var anf_arg3901 = $ans3827;\n$step3824 = 11;\n$al3828 = L[2415];\nif(typeof(adjust3846.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,adjust3846.$var);\n}\n$ans3827 = adjust3846.$var.app(anf_arg3900,anf_arg3901);\nbreak;\ncase 11: var anf_tuple_fields3904 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3902,anf_tuple_fields3903,anf_tuple_fields3904]);\nbreak;\ncase 12: if(cases3847.$arity !== 5) {\nif(cases3847.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2422],5,cases3847.$arity,L[2401],cases3847.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2422],true,L[2401],cases3847.$loc);\n}\n}\nvar $fn3917 = cases3847.$constructor.$fieldNames;\nvar l3913 = R.dF(cases3847.dict[$fn3917[0]],cases3847.$mut_fields_mask[0],false);\nR.dF(cases3847.dict[$fn3917[1]],cases3847.$mut_fields_mask[1],false);\nR.dF(cases3847.dict[$fn3917[2]],cases3847.$mut_fields_mask[2],false);\nvar l$op3910 = R.dF(cases3847.dict[$fn3917[3]],cases3847.$mut_fields_mask[3],false);\nvar r$op3909 = R.dF(cases3847.dict[$fn3917[4]],cases3847.$mut_fields_mask[4],false);\n$al3828 = L[2418];\nvar anf_tuple_fields3914 = G(r$op3909,\"l\",L[2418]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2419],L[2420]);\nvar anf_fun3911 = $ans3827;\n$al3828 = L[2421];\nvar anf_arg3912 = G(l$op3910,\"l\",L[2421]);\n$step3824 = 13;\n$al3828 = L[2420];\nif(typeof(anf_fun3911.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3911);\n}\n$ans3827 = anf_fun3911.app(anf_arg3912);\nbreak;\ncase 13: var anf_tuple_fields3915 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([l3913,anf_tuple_fields3914,anf_tuple_fields3915]);\nbreak;\ncase 14: $al3828 = L[2423];\nvar anf_tuple_fields3922 = G(ast3826,\"l\",L[2423]);\n$al3828 = L[2424];\nvar anf_tuple_fields3923 = G(ast3826,\"l\",L[2424]);\n$ans3827 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2425],L[2426]);\nvar anf_fun3920 = $ans3827;\n$al3828 = L[2427];\nvar anf_arg3921 = G(ast3826,\"l\",L[2427]);\n$step3824 = 15;\n$al3828 = L[2426];\nif(typeof(anf_fun3920.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3828,anf_fun3920);\n}\n$ans3827 = anf_fun3920.app(anf_arg3921);\nbreak;\ncase 15: var anf_tuple_fields3924 = $ans3827;\n$step3824 = 16;\n$ans3827 = R.makeTuple([anf_tuple_fields3922,anf_tuple_fields3923,anf_tuple_fields3924]);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans3827;\ndefault: R.ffi.throwSpinnakerError(L[2387],$step3824);\n}\n}\nif($step3824 !== 16) {\n$ans3827.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3828,$temp_lam3825,$step3824,[ast3826],[anf_tuple_fields3922,anf_tuple_fields3923,anf_tuple_fields3903,anf_tuple_fields3914,l3861,adjust3846,anf_arg3898,anf_arg3877,anf_arg3900,anf_arg3859,l3879,l3902,l3913,args3896,anf_tuple_fields3880,cases3847,anf_tuple_fields3862],$elidedFrames3830);\n}\nreturn $ans3827;\n};\nvar anf_assign3927 = R.mF($temp_lam3825,\"locs-from-application-ast\");\nlocs$from$application$ast3928.$var = anf_assign3927;\nR.nothing;\nvar $temp_lam3930 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2428($arg3931) {\nvar $step3929 = 0;\nvar $elidedFrames3935 = 0;\nvar $ans3932 = D;\nvar $al3933 = L[2428];\nif(R.isAR($arg3931)) {\n$step3929 = $arg3931.step;\n$al3933 = $arg3931.from;\n$ans3932 = $arg3931.ans;\n$elidedFrames3935 = $arg3931.elidedFrames;\narg3931 = $arg3931.args[0];\ncases3936 = $arg3931.vars[0];\ncases3938 = $arg3931.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2428],1,$t,false);\n}\nvar arg3931 = $arg3931;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3932 = R.mC();\n}\nwhile(!R.isContinuation($ans3932)) {\nswitch($step3929) {\ncase 0: var cases3936 = arg3931;\n$al3933 = L[2432];\n$step3929 = $cases_dispatch3946[cases3936.$name] || 4;\nbreak;\ncase 1: if(cases3936.$arity !== 2) {\nif(cases3936.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2431],2,cases3936.$arity,L[2432],cases3936.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2431],true,L[2432],cases3936.$loc);\n}\n}\nvar $fn3944 = cases3936.$constructor.$fieldNames;\nR.dF(cases3936.dict[$fn3944[0]],cases3936.$mut_fields_mask[0],false);\nvar id3937 = R.dF(cases3936.dict[$fn3944[1]],cases3936.$mut_fields_mask[1],false);\nvar cases3938 = id3937;\n$al3933 = L[2430];\n$step3929 = $cases_dispatch3942[cases3938.$name] || 3;\nbreak;\ncase 2: if(cases3938.$arity !== 1) {\nif(cases3938.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2429],1,cases3938.$arity,L[2430],cases3938.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2429],true,L[2430],cases3938.$loc);\n}\n}\nvar $fn3940 = cases3938.$constructor.$fieldNames;\nR.dF(cases3938.dict[$fn3940[0]],cases3938.$mut_fields_mask[0],false);\n$step3929 = 5;\n$ans3932 = (true);\nbreak;\ncase 3: $step3929 = 5;\n$ans3932 = (false);\nbreak;\ncase 4: $step3929 = 5;\n$ans3932 = (false);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans3932;\ndefault: R.ffi.throwSpinnakerError(L[2428],$step3929);\n}\n}\nif($step3929 !== 5) {\n$ans3932.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3933,$temp_lam3930,$step3929,[arg3931],[cases3936,cases3938],$elidedFrames3935);\n}\nreturn $ans3932;\n};\nvar anf_assign3948 = R.mF($temp_lam3930,\"is-underscore\");\nis$underscore3949.$var = anf_assign3948;\nR.nothing;\nvar $temp_lam3951 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2433($ast3952) {\nvar $step3950 = 0;\nvar $elidedFrames3956 = 0;\nvar $ans3953 = D;\nvar $al3954 = L[2433];\nif(R.isAR($ast3952)) {\n$step3950 = $ast3952.step;\n$al3954 = $ast3952.from;\n$ans3953 = $ast3952.ans;\n$elidedFrames3956 = $ast3952.elidedFrames;\nast3952 = $ast3952.args[0];\nanf_tuple_fields4009 = $ast3952.vars[0];\nl4031 = $ast3952.vars[1];\nl4143 = $ast3952.vars[2];\nl4055 = $ast3952.vars[3];\nl4079 = $ast3952.vars[4];\nb4030 = $ast3952.vars[5];\nl4007 = $ast3952.vars[6];\nb4142 = $ast3952.vars[7];\nb4054 = $ast3952.vars[8];\nb4078 = $ast3952.vars[9];\nanf_tuple_fields4081 = $ast3952.vars[10];\nb4006 = $ast3952.vars[11];\nanf_tuple_fields4033 = $ast3952.vars[12];\nanf_tuple_fields4145 = $ast3952.vars[13];\nanf_tuple_fields4057 = $ast3952.vars[14];\ncases3957 = $ast3952.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2433],1,$t,false);\n}\nvar ast3952 = $ast3952;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3953 = R.mC();\n}\nwhile(!R.isContinuation($ans3953)) {\nswitch($step3950) {\ncase 0: var cases3957 = ast3952;\n$al3954 = L[2441];\n$step3950 = $cases_dispatch4152[cases3957.$name] || 31;\nbreak;\ncase 1: if(cases3957.$arity !== 5) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2440],5,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2440],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn3975 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn3975[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn3975[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn3975[2]],cases3957.$mut_fields_mask[2],false);\nvar l3959 = R.dF(cases3957.dict[$fn3975[3]],cases3957.$mut_fields_mask[3],false);\nvar r3960 = R.dF(cases3957.dict[$fn3975[4]],cases3957.$mut_fields_mask[4],false);\n$ans3953 = R.getMaker2(ED6.dict.values.dict[\"locs\"],(\"make2\"),L[2434],L[2435]);\nvar anf_fun3958 = $ans3953;\n$step3950 = 2;\n$al3954 = L[2435];\nif(typeof(anf_fun3958.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun3958);\n}\n$ans3953 = anf_fun3958.app(l3959,r3960);\nbreak;\ncase 2: var anf_method_obj3961 = $ans3953;\n$step3950 = 3;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3961,\"filter\",L[2436],is$underscore3949.$var);\nbreak;\ncase 3: var anf_method_obj3970 = $ans3953;\nvar $temp_lam3963 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2437($recv_3964) {\nvar $step3962 = 0;\nvar $elidedFrames3968 = 0;\nvar $ans3965 = D;\nvar $al3966 = L[2437];\nif(R.isAR($recv_3964)) {\n$step3962 = $recv_3964.step;\n$al3966 = $recv_3964.from;\n$ans3965 = $recv_3964.ans;\n$elidedFrames3968 = $recv_3964.elidedFrames;\nrecv_3964 = $recv_3964.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2437],1,$t,false);\n}\nvar recv_3964 = $recv_3964;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3965 = R.mC();\n}\nwhile(!R.isContinuation($ans3965)) {\nswitch($step3962) {\ncase 0: $step3962 = 1;\n$al3966 = L[2437];\n$ans3965 = G(recv_3964,\"l\",L[2437]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3965;\ndefault: R.ffi.throwSpinnakerError(L[2437],$step3962);\n}\n}\nif($step3962 !== 1) {\n$ans3965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3966,$temp_lam3963,$step3962,[recv_3964],[],$elidedFrames3968);\n}\nreturn $ans3965;\n};\nvar anf_arg3971 = R.mF($temp_lam3963,\"\");\n$step3950 = 4;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3970,\"map\",L[2438],anf_arg3971);\nbreak;\ncase 4: var anf_tuple_fields3972 = $ans3953;\n$al3954 = L[2439];\nvar anf_tuple_fields3973 = G(self3814,\"fun-def-loc\",L[2439]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields3972,anf_tuple_fields3973]);\nbreak;\ncase 5: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2446],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2446],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn3993 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn3993[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn3993[1]],cases3957.$mut_fields_mask[1],false);\nvar args3979 = R.dF(cases3957.dict[$fn3993[2]],cases3957.$mut_fields_mask[2],false);\n$step3950 = 6;\n$ans3953 = R.maybeMethodCall1(args3979,\"filter\",L[2442],is$underscore3949.$var);\nbreak;\ncase 6: var anf_method_obj3988 = $ans3953;\nvar $temp_lam3981 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2443($recv_3982) {\nvar $step3980 = 0;\nvar $elidedFrames3986 = 0;\nvar $ans3983 = D;\nvar $al3984 = L[2443];\nif(R.isAR($recv_3982)) {\n$step3980 = $recv_3982.step;\n$al3984 = $recv_3982.from;\n$ans3983 = $recv_3982.ans;\n$elidedFrames3986 = $recv_3982.elidedFrames;\nrecv_3982 = $recv_3982.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2443],1,$t,false);\n}\nvar recv_3982 = $recv_3982;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3983 = R.mC();\n}\nwhile(!R.isContinuation($ans3983)) {\nswitch($step3980) {\ncase 0: $step3980 = 1;\n$al3984 = L[2443];\n$ans3983 = G(recv_3982,\"l\",L[2443]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3983;\ndefault: R.ffi.throwSpinnakerError(L[2443],$step3980);\n}\n}\nif($step3980 !== 1) {\n$ans3983.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3984,$temp_lam3981,$step3980,[recv_3982],[],$elidedFrames3986);\n}\nreturn $ans3983;\n};\nvar anf_arg3989 = R.mF($temp_lam3981,\"\");\n$step3950 = 7;\n$ans3953 = R.maybeMethodCall1(anf_method_obj3988,\"map\",L[2444],anf_arg3989);\nbreak;\ncase 7: var anf_tuple_fields3990 = $ans3953;\n$al3954 = L[2445];\nvar anf_tuple_fields3991 = G(self3814,\"fun-def-loc\",L[2445]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields3990,anf_tuple_fields3991]);\nbreak;\ncase 8: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2451],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2451],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4012 = cases3957.$constructor.$fieldNames;\nvar l4007 = R.dF(cases3957.dict[$fn4012[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4012[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4012[2]],cases3957.$mut_fields_mask[2],false);\nvar args4004 = R.dF(cases3957.dict[$fn4012[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4012[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4012[5]],cases3957.$mut_fields_mask[5],false);\nvar b4006 = R.dF(cases3957.dict[$fn4012[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4012[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4012[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4012[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam3997 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2447($recv_3998) {\nvar $step3996 = 0;\nvar $elidedFrames4002 = 0;\nvar $ans3999 = D;\nvar $al4000 = L[2447];\nif(R.isAR($recv_3998)) {\n$step3996 = $recv_3998.step;\n$al4000 = $recv_3998.from;\n$ans3999 = $recv_3998.ans;\n$elidedFrames4002 = $recv_3998.elidedFrames;\nrecv_3998 = $recv_3998.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2447],1,$t,false);\n}\nvar recv_3998 = $recv_3998;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3999 = R.mC();\n}\nwhile(!R.isContinuation($ans3999)) {\nswitch($step3996) {\ncase 0: $step3996 = 1;\n$al4000 = L[2447];\n$ans3999 = G(recv_3998,\"l\",L[2447]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3999;\ndefault: R.ffi.throwSpinnakerError(L[2447],$step3996);\n}\n}\nif($step3996 !== 1) {\n$ans3999.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4000,$temp_lam3997,$step3996,[recv_3998],[],$elidedFrames4002);\n}\nreturn $ans3999;\n};\nvar anf_arg4005 = R.mF($temp_lam3997,\"\");\n$step3950 = 9;\n$ans3953 = R.maybeMethodCall1(args4004,\"map\",L[2448],anf_arg4005);\nbreak;\ncase 9: var anf_tuple_fields4009 = $ans3953;\n$al3954 = L[2449];\nvar anf_arg4008 = G(b4006,\"l\",L[2449]);\n$step3950 = 10;\n$ans3953 = R.maybeMethodCall1(l4007,\"upto\",L[2450],anf_arg4008);\nbreak;\ncase 10: var anf_tuple_fields4010 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4009,anf_tuple_fields4010]);\nbreak;\ncase 11: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2456],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2456],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4036 = cases3957.$constructor.$fieldNames;\nvar l4031 = R.dF(cases3957.dict[$fn4036[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4036[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4036[2]],cases3957.$mut_fields_mask[2],false);\nvar args4028 = R.dF(cases3957.dict[$fn4036[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4036[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4036[5]],cases3957.$mut_fields_mask[5],false);\nvar b4030 = R.dF(cases3957.dict[$fn4036[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4036[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4036[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4036[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2452($recv_4022) {\nvar $step4020 = 0;\nvar $elidedFrames4026 = 0;\nvar $ans4023 = D;\nvar $al4024 = L[2452];\nif(R.isAR($recv_4022)) {\n$step4020 = $recv_4022.step;\n$al4024 = $recv_4022.from;\n$ans4023 = $recv_4022.ans;\n$elidedFrames4026 = $recv_4022.elidedFrames;\nrecv_4022 = $recv_4022.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2452],1,$t,false);\n}\nvar recv_4022 = $recv_4022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4023 = R.mC();\n}\nwhile(!R.isContinuation($ans4023)) {\nswitch($step4020) {\ncase 0: $step4020 = 1;\n$al4024 = L[2452];\n$ans4023 = G(recv_4022,\"l\",L[2452]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4023;\ndefault: R.ffi.throwSpinnakerError(L[2452],$step4020);\n}\n}\nif($step4020 !== 1) {\n$ans4023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4024,$temp_lam4021,$step4020,[recv_4022],[],$elidedFrames4026);\n}\nreturn $ans4023;\n};\nvar anf_arg4029 = R.mF($temp_lam4021,\"\");\n$step3950 = 12;\n$ans3953 = R.maybeMethodCall1(args4028,\"map\",L[2453],anf_arg4029);\nbreak;\ncase 12: var anf_tuple_fields4033 = $ans3953;\n$al3954 = L[2454];\nvar anf_arg4032 = G(b4030,\"l\",L[2454]);\n$step3950 = 13;\n$ans3953 = R.maybeMethodCall1(l4031,\"upto\",L[2455],anf_arg4032);\nbreak;\ncase 13: var anf_tuple_fields4034 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4033,anf_tuple_fields4034]);\nbreak;\ncase 14: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2461],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2461],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4060 = cases3957.$constructor.$fieldNames;\nvar l4055 = R.dF(cases3957.dict[$fn4060[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4060[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4060[2]],cases3957.$mut_fields_mask[2],false);\nvar args4052 = R.dF(cases3957.dict[$fn4060[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4060[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4060[5]],cases3957.$mut_fields_mask[5],false);\nvar b4054 = R.dF(cases3957.dict[$fn4060[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4060[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4060[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4060[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4045 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2457($recv_4046) {\nvar $step4044 = 0;\nvar $elidedFrames4050 = 0;\nvar $ans4047 = D;\nvar $al4048 = L[2457];\nif(R.isAR($recv_4046)) {\n$step4044 = $recv_4046.step;\n$al4048 = $recv_4046.from;\n$ans4047 = $recv_4046.ans;\n$elidedFrames4050 = $recv_4046.elidedFrames;\nrecv_4046 = $recv_4046.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2457],1,$t,false);\n}\nvar recv_4046 = $recv_4046;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4047 = R.mC();\n}\nwhile(!R.isContinuation($ans4047)) {\nswitch($step4044) {\ncase 0: $step4044 = 1;\n$al4048 = L[2457];\n$ans4047 = G(recv_4046,\"l\",L[2457]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4047;\ndefault: R.ffi.throwSpinnakerError(L[2457],$step4044);\n}\n}\nif($step4044 !== 1) {\n$ans4047.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4048,$temp_lam4045,$step4044,[recv_4046],[],$elidedFrames4050);\n}\nreturn $ans4047;\n};\nvar anf_arg4053 = R.mF($temp_lam4045,\"\");\n$step3950 = 15;\n$ans3953 = R.maybeMethodCall1(args4052,\"map\",L[2458],anf_arg4053);\nbreak;\ncase 15: var anf_tuple_fields4057 = $ans3953;\n$al3954 = L[2459];\nvar anf_arg4056 = G(b4054,\"l\",L[2459]);\n$step3950 = 16;\n$ans3953 = R.maybeMethodCall1(l4055,\"upto\",L[2460],anf_arg4056);\nbreak;\ncase 16: var anf_tuple_fields4058 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4057,anf_tuple_fields4058]);\nbreak;\ncase 17: if(cases3957.$arity !== 10) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2466],10,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2466],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4084 = cases3957.$constructor.$fieldNames;\nvar l4079 = R.dF(cases3957.dict[$fn4084[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4084[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4084[2]],cases3957.$mut_fields_mask[2],false);\nvar args4076 = R.dF(cases3957.dict[$fn4084[3]],cases3957.$mut_fields_mask[3],false);\nR.dF(cases3957.dict[$fn4084[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4084[5]],cases3957.$mut_fields_mask[5],false);\nvar b4078 = R.dF(cases3957.dict[$fn4084[6]],cases3957.$mut_fields_mask[6],false);\nR.dF(cases3957.dict[$fn4084[7]],cases3957.$mut_fields_mask[7],false);\nR.dF(cases3957.dict[$fn4084[8]],cases3957.$mut_fields_mask[8],false);\nR.dF(cases3957.dict[$fn4084[9]],cases3957.$mut_fields_mask[9],false);\nvar $temp_lam4069 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2462($recv_4070) {\nvar $step4068 = 0;\nvar $elidedFrames4074 = 0;\nvar $ans4071 = D;\nvar $al4072 = L[2462];\nif(R.isAR($recv_4070)) {\n$step4068 = $recv_4070.step;\n$al4072 = $recv_4070.from;\n$ans4071 = $recv_4070.ans;\n$elidedFrames4074 = $recv_4070.elidedFrames;\nrecv_4070 = $recv_4070.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2462],1,$t,false);\n}\nvar recv_4070 = $recv_4070;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4071 = R.mC();\n}\nwhile(!R.isContinuation($ans4071)) {\nswitch($step4068) {\ncase 0: $step4068 = 1;\n$al4072 = L[2462];\n$ans4071 = G(recv_4070,\"l\",L[2462]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4071;\ndefault: R.ffi.throwSpinnakerError(L[2462],$step4068);\n}\n}\nif($step4068 !== 1) {\n$ans4071.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4072,$temp_lam4069,$step4068,[recv_4070],[],$elidedFrames4074);\n}\nreturn $ans4071;\n};\nvar anf_arg4077 = R.mF($temp_lam4069,\"\");\n$step3950 = 18;\n$ans3953 = R.maybeMethodCall1(args4076,\"map\",L[2463],anf_arg4077);\nbreak;\ncase 18: var anf_tuple_fields4081 = $ans3953;\n$al3954 = L[2464];\nvar anf_arg4080 = G(b4078,\"l\",L[2464]);\n$step3950 = 19;\n$ans3953 = R.maybeMethodCall1(l4079,\"upto\",L[2465],anf_arg4080);\nbreak;\ncase 19: var anf_tuple_fields4082 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4081,anf_tuple_fields4082]);\nbreak;\ncase 20: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2472],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2472],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4099 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4099[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4092 = R.dF(cases3957.dict[$fn4099[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4099[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2467],L[2468]);\nvar anf_fun4094 = $ans3953;\n$al3954 = L[2469];\nvar anf_bracket4093 = G(obj4092,\"id\",L[2469]);\n$al3954 = L[2470];\nvar anf_arg4095 = G(anf_bracket4093,\"l\",L[2470]);\n$step3950 = 21;\n$al3954 = L[2468];\nif(typeof(anf_fun4094.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4094);\n}\n$ans3953 = anf_fun4094.app(anf_arg4095);\nbreak;\ncase 21: var anf_tuple_fields4096 = $ans3953;\n$al3954 = L[2471];\nvar anf_tuple_fields4097 = G(self3814,\"fun-def-loc\",L[2471]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4096,anf_tuple_fields4097]);\nbreak;\ncase 22: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2478],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2478],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4109 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4109[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4102 = R.dF(cases3957.dict[$fn4109[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4109[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2473],L[2474]);\nvar anf_fun4104 = $ans3953;\n$al3954 = L[2475];\nvar anf_bracket4103 = G(obj4102,\"id\",L[2475]);\n$al3954 = L[2476];\nvar anf_arg4105 = G(anf_bracket4103,\"l\",L[2476]);\n$step3950 = 23;\n$al3954 = L[2474];\nif(typeof(anf_fun4104.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4104);\n}\n$ans3953 = anf_fun4104.app(anf_arg4105);\nbreak;\ncase 23: var anf_tuple_fields4106 = $ans3953;\n$al3954 = L[2477];\nvar anf_tuple_fields4107 = G(self3814,\"fun-def-loc\",L[2477]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4106,anf_tuple_fields4107]);\nbreak;\ncase 24: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2484],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2484],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4119 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4119[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4112 = R.dF(cases3957.dict[$fn4119[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4119[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2479],L[2480]);\nvar anf_fun4114 = $ans3953;\n$al3954 = L[2481];\nvar anf_bracket4113 = G(obj4112,\"id\",L[2481]);\n$al3954 = L[2482];\nvar anf_arg4115 = G(anf_bracket4113,\"l\",L[2482]);\n$step3950 = 25;\n$al3954 = L[2480];\nif(typeof(anf_fun4114.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4114);\n}\n$ans3953 = anf_fun4114.app(anf_arg4115);\nbreak;\ncase 25: var anf_tuple_fields4116 = $ans3953;\n$al3954 = L[2483];\nvar anf_tuple_fields4117 = G(self3814,\"fun-def-loc\",L[2483]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4116,anf_tuple_fields4117]);\nbreak;\ncase 26: if(cases3957.$arity !== 3) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2490],3,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2490],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4129 = cases3957.$constructor.$fieldNames;\nR.dF(cases3957.dict[$fn4129[0]],cases3957.$mut_fields_mask[0],false);\nvar obj4122 = R.dF(cases3957.dict[$fn4129[1]],cases3957.$mut_fields_mask[1],false);\nR.dF(cases3957.dict[$fn4129[2]],cases3957.$mut_fields_mask[2],false);\n$ans3953 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2485],L[2486]);\nvar anf_fun4124 = $ans3953;\n$al3954 = L[2487];\nvar anf_bracket4123 = G(obj4122,\"id\",L[2487]);\n$al3954 = L[2488];\nvar anf_arg4125 = G(anf_bracket4123,\"l\",L[2488]);\n$step3950 = 27;\n$al3954 = L[2486];\nif(typeof(anf_fun4124.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3954,anf_fun4124);\n}\n$ans3953 = anf_fun4124.app(anf_arg4125);\nbreak;\ncase 27: var anf_tuple_fields4126 = $ans3953;\n$al3954 = L[2489];\nvar anf_tuple_fields4127 = G(self3814,\"fun-def-loc\",L[2489]);\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4126,anf_tuple_fields4127]);\nbreak;\ncase 28: if(cases3957.$arity !== 6) {\nif(cases3957.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2495],6,cases3957.$arity,L[2441],cases3957.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2495],true,L[2441],cases3957.$loc);\n}\n}\nvar $fn4148 = cases3957.$constructor.$fieldNames;\nvar l4143 = R.dF(cases3957.dict[$fn4148[0]],cases3957.$mut_fields_mask[0],false);\nR.dF(cases3957.dict[$fn4148[1]],cases3957.$mut_fields_mask[1],false);\nvar args4140 = R.dF(cases3957.dict[$fn4148[2]],cases3957.$mut_fields_mask[2],false);\nR.dF(cases3957.dict[$fn4148[3]],cases3957.$mut_fields_mask[3],false);\nvar b4142 = R.dF(cases3957.dict[$fn4148[4]],cases3957.$mut_fields_mask[4],false);\nR.dF(cases3957.dict[$fn4148[5]],cases3957.$mut_fields_mask[5],false);\nvar $temp_lam4133 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2491($recv_4134) {\nvar $step4132 = 0;\nvar $elidedFrames4138 = 0;\nvar $ans4135 = D;\nvar $al4136 = L[2491];\nif(R.isAR($recv_4134)) {\n$step4132 = $recv_4134.step;\n$al4136 = $recv_4134.from;\n$ans4135 = $recv_4134.ans;\n$elidedFrames4138 = $recv_4134.elidedFrames;\nrecv_4134 = $recv_4134.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2491],1,$t,false);\n}\nvar recv_4134 = $recv_4134;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4135 = R.mC();\n}\nwhile(!R.isContinuation($ans4135)) {\nswitch($step4132) {\ncase 0: $step4132 = 1;\n$al4136 = L[2491];\n$ans4135 = G(recv_4134,\"l\",L[2491]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4135;\ndefault: R.ffi.throwSpinnakerError(L[2491],$step4132);\n}\n}\nif($step4132 !== 1) {\n$ans4135.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4136,$temp_lam4133,$step4132,[recv_4134],[],$elidedFrames4138);\n}\nreturn $ans4135;\n};\nvar anf_arg4141 = R.mF($temp_lam4133,\"\");\n$step3950 = 29;\n$ans3953 = R.maybeMethodCall1(args4140,\"map\",L[2492],anf_arg4141);\nbreak;\ncase 29: var anf_tuple_fields4145 = $ans3953;\n$al3954 = L[2493];\nvar anf_arg4144 = G(b4142,\"l\",L[2493]);\n$step3950 = 30;\n$ans3953 = R.maybeMethodCall1(l4143,\"upto\",L[2494],anf_arg4144);\nbreak;\ncase 30: var anf_tuple_fields4146 = $ans3953;\n$step3950 = 32;\n$ans3953 = R.makeTuple([anf_tuple_fields4145,anf_tuple_fields4146]);\nbreak;\ncase 31: $ans3953 = R.throwNoCasesMatched(L[2441],cases3957);\n$step3950 = 32;\nbreak;\ncase 32: ++R.GAS;\nreturn $ans3953;\ndefault: R.ffi.throwSpinnakerError(L[2433],$step3950);\n}\n}\nif($step3950 !== 32) {\n$ans3953.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3954,$temp_lam3951,$step3950,[ast3952],[anf_tuple_fields4009,l4031,l4143,l4055,l4079,b4030,l4007,b4142,b4054,b4078,anf_tuple_fields4081,b4006,anf_tuple_fields4033,anf_tuple_fields4145,anf_tuple_fields4057,cases3957],$elidedFrames3956);\n}\nreturn $ans3953;\n};\nvar anf_assign4154 = R.mF($temp_lam3951,\"locs-from-definition-ast\");\nlocs$from$definition$ast4155.$var = anf_assign4154;\nR.nothing;\n$al3819 = L[2496];\nvar anf_method_obj4156 = G(self3814,\"fun-def-loc\",L[2496]);\n$step3812 = 9;\n$ans3818 = R.maybeMethodCall0(anf_method_obj4156,\"is-builtin\",L[2497]);\nbreak;\ncase 9: var anf_if4403 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4403)?10:11;\nbreak;\ncase 10: $step3812 = 12;\n$ans3818 = (0);\nbreak;\ncase 11: $step3812 = 12;\n$ans3818 = (1);\nbreak;\ncase 12: var anf_arg4157 = $ans3818;\n$step3812 = 13;\n$al3819 = L[2637];\nif(typeof(maybe$stack$loc3815.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,maybe$stack$loc3815);\n}\n$ans3818 = maybe$stack$loc3815.app(anf_arg4157,(false));\nbreak;\ncase 13: var application$loc4167 = $ans3818;\nvar $temp_lam4159 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2498($recv_4160) {\nvar $step4158 = 0;\nvar $elidedFrames4164 = 0;\nvar $ans4161 = D;\nvar $al4162 = L[2498];\nif(R.isAR($recv_4160)) {\n$step4158 = $recv_4160.step;\n$al4162 = $recv_4160.from;\n$ans4161 = $recv_4160.ans;\n$elidedFrames4164 = $recv_4160.elidedFrames;\nrecv_4160 = $recv_4160.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2498],1,$t,false);\n}\nvar recv_4160 = $recv_4160;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4161 = R.mC();\n}\nwhile(!R.isContinuation($ans4161)) {\nswitch($step4158) {\ncase 0: $al4162 = L[2499];\nvar anf_arg4165 = G(self3814,\"fun-def-loc\",L[2499]);\n$step4158 = 1;\n$ans4161 = R.maybeMethodCall1(recv_4160,\"contains\",L[2498],anf_arg4165);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4161;\ndefault: R.ffi.throwSpinnakerError(L[2498],$step4158);\n}\n}\nif($step4158 !== 1) {\n$ans4161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4162,$temp_lam4159,$step4158,[recv_4160],[],$elidedFrames4164);\n}\nreturn $ans4161;\n};\nvar anf_arg4168 = R.mF($temp_lam4159,\"\");\n$step3812 = 14;\n$ans3818 = R.maybeMethodCall1(application$loc4167,\"and-then\",L[2500],anf_arg4168);\nbreak;\ncase 14: var anf_method_obj4169 = $ans3818;\n$step3812 = 15;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4169,\"or-else\",L[2501],(false));\nbreak;\ncase 15: var definition$contained4304 = $ans3818;\nvar arg_4170 = application$loc4167;\n$step3812 = 16;\n$al3819 = L[2636];\n// omitting isFunction check;\n$ans3818 = and$if176.$var.app(src$available3816,arg_4170);\nbreak;\ncase 16: var arg_4171 = $ans3818;\n$step3812 = 17;\n$al3819 = L[2635];\n// omitting isFunction check;\n$ans3818 = and$maybe193.$var.app(maybe$ast3817,arg_4171);\nbreak;\ncase 17: var anf_method_obj4172 = $ans3818;\n$step3812 = 18;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4172,\"and-then\",L[2502],locs$from$application$ast3928.$var);\nbreak;\ncase 18: var destructured$application4261 = $ans3818;\n$al3819 = L[2503];\nvar anf_arg4173 = G(self3814,\"fun-def-loc\",L[2503]);\n$step3812 = 19;\n$al3819 = L[2634];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,O8.dict.values.dict[\"some\"]);\n}\n$ans3818 = O8.dict.values.dict[\"some\"].app(anf_arg4173);\nbreak;\ncase 19: var arg_4174 = $ans3818;\n$step3812 = 20;\n$al3819 = L[2633];\n// omitting isFunction check;\n$ans3818 = and$if176.$var.app(src$available3816,arg_4174);\nbreak;\ncase 20: var arg_4175 = $ans3818;\n$step3812 = 21;\n$al3819 = L[2632];\n// omitting isFunction check;\n$ans3818 = and$maybe193.$var.app(maybe$ast3817,arg_4175);\nbreak;\ncase 21: var anf_method_obj4176 = $ans3818;\n$step3812 = 22;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4176,\"and-then\",L[2504],locs$from$definition$ast4155.$var);\nbreak;\ncase 22: var destructured$definition4330 = $ans3818;\nvar operator$prose4192 = {\"$var\":D};\nvar definition$prose4226 = {\"$var\":D};\nvar explanation$prose4240 = {\"$var\":D};\nvar $temp_lam4178 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2505($arguments4179,$operator4180) {\nvar $step4177 = 0;\nvar $elidedFrames4184 = 0;\nvar $ans4181 = D;\nvar $al4182 = L[2505];\nif(R.isAR($arguments4179)) {\n$step4177 = $arguments4179.step;\n$al4182 = $arguments4179.from;\n$ans4181 = $arguments4179.ans;\n$elidedFrames4184 = $arguments4179.elidedFrames;\narguments4179 = $arguments4179.args[0];\noperator4180 = $arguments4179.args[1];\nanf_fun4187 = $arguments4179.vars[0];\nanf_arg4188 = $arguments4179.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2505],2,$t,false);\n}\nvar arguments4179 = $arguments4179;\nvar operator4180 = $operator4180;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4181 = R.mC();\n}\nwhile(!R.isContinuation($ans4181)) {\nswitch($step4177) {\ncase 0: $ans4181 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2506],L[2507]);\nvar anf_fun4187 = $ans4181;\n$step4177 = 1;\n$al4182 = L[2510];\n// omitting isFunction check;\n$ans4181 = _plus5.app(were$was4185,(\" passed to the \"));\nbreak;\ncase 1: var anf_arg4186 = $ans4181;\n$step4177 = 2;\n$al4182 = L[2509];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,ED6.dict.values.dict[\"text\"]);\n}\n$ans4181 = ED6.dict.values.dict[\"text\"].app(anf_arg4186);\nbreak;\ncase 2: var anf_arg4188 = $ans4181;\n$step4177 = 3;\n$al4182 = L[2508];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,ED6.dict.values.dict[\"text\"]);\n}\n$ans4181 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 3: var anf_arg4189 = $ans4181;\n$step4177 = 4;\n$al4182 = L[2507];\nif(typeof(anf_fun4187.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4182,anf_fun4187);\n}\n$ans4181 = anf_fun4187.app(arguments4179,anf_arg4188,operator4180,anf_arg4189);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans4181;\ndefault: R.ffi.throwSpinnakerError(L[2505],$step4177);\n}\n}\nif($step4177 !== 4) {\n$ans4181.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4182,$temp_lam4178,$step4177,[arguments4179,operator4180],[anf_fun4187,anf_arg4188],$elidedFrames4184);\n}\nreturn $ans4181;\n};\nvar anf_assign4191 = R.mF($temp_lam4178,\"operator-prose\");\noperator$prose4192.$var = anf_assign4191;\nR.nothing;\nvar $temp_lam4194 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2511($operator4195,$defined4196,$parameters4197,$show$definition4198) {\nvar $step4193 = 0;\nvar $elidedFrames4202 = 0;\nvar $ans4199 = D;\nvar $al4200 = L[2511];\nif(R.isAR($operator4195)) {\n$step4193 = $operator4195.step;\n$al4200 = $operator4195.from;\n$ans4199 = $operator4195.ans;\n$elidedFrames4202 = $operator4195.elidedFrames;\noperator4195 = $operator4195.args[0];\ndefined4196 = $operator4195.args[1];\nparameters4197 = $operator4195.args[2];\nshow$definition4198 = $operator4195.args[3];\nanf_fun4206 = $operator4195.vars[0];\nanf_arg4220 = $operator4195.vars[1];\nanf_arg4210 = $operator4195.vars[2];\nanf_arg4221 = $operator4195.vars[3];\nanf_fun4219 = $operator4195.vars[4];\nanf_fun4209 = $operator4195.vars[5];\nanf_array4216 = $operator4195.vars[6];\nanf_array4207 = $operator4195.vars[7];\nanf_fun4215 = $operator4195.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2511],4,$t,false);\n}\nvar operator4195 = $operator4195;\nvar defined4196 = $defined4196;\nvar parameters4197 = $parameters4197;\nvar show$definition4198 = $show$definition4198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4199 = R.mC();\n}\nwhile(!R.isContinuation($ans4199)) {\nswitch($step4193) {\ncase 0: $step4193 = R.checkPyretTrue(show$definition4198)?1:10;\nbreak;\ncase 1: $ans4199 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2512],L[2513]);\nvar anf_fun4209 = $ans4199;\n$ans4199 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2514],L[2515]);\nvar anf_fun4206 = $ans4199;\n$ans4199 = R.makeArrayN((7));\nvar anf_array4207 = $ans4199;\n$step4193 = 2;\n$al4200 = L[2523];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 2: anf_array4207[0] = $ans4199;\nanf_array4207[1] = operator4195;\n$step4193 = 3;\n$al4200 = L[2522];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 3: var anf_arg4204 = $ans4199;\n$step4193 = 4;\n$al4200 = L[2521];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4204,(\" \"));\nbreak;\ncase 4: var anf_arg4205 = $ans4199;\n$step4193 = 5;\n$al4200 = L[2520];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4205);\nbreak;\ncase 5: anf_array4207[2] = $ans4199;\nanf_array4207[3] = defined4196;\n$step4193 = 6;\n$al4200 = L[2519];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 6: anf_array4207[4] = $ans4199;\nanf_array4207[5] = parameters4197;\n$step4193 = 7;\n$al4200 = L[2518];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 7: anf_array4207[6] = $ans4199;\n$step4193 = 8;\n$al4200 = L[2515];\nif(typeof(anf_fun4206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4206);\n}\n$ans4199 = anf_fun4206.app(anf_array4207);\nbreak;\ncase 8: var anf_arg4210 = $ans4199;\n$al4200 = L[2516];\nvar anf_arg4208 = G(self3814,\"fun-def-loc\",L[2516]);\n$step4193 = 9;\n$al4200 = L[2517];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4208);\nbreak;\ncase 9: var anf_arg4211 = $ans4199;\n$step4193 = 25;\n$al4200 = L[2513];\nif(typeof(anf_fun4209.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4209);\n}\n$ans4199 = anf_fun4209.app(anf_arg4210,anf_arg4211);\nbreak;\ncase 10: $al4200 = L[2524];\nvar anf_arg4212 = G(self3814,\"fun-def-loc\",L[2524]);\n$step4193 = 11;\n$al4200 = L[2540];\nif(typeof(src$available3816.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,src$available3816);\n}\n$ans4199 = src$available3816.app(anf_arg4212);\nbreak;\ncase 11: var anf_if4223 = $ans4199;\n$step4193 = R.checkPyretTrue(anf_if4223)?12:19;\nbreak;\ncase 12: $ans4199 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2525],L[2526]);\nvar anf_fun4215 = $ans4199;\n$ans4199 = R.makeArrayN((7));\nvar anf_array4216 = $ans4199;\n$step4193 = 13;\n$al4200 = L[2532];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: anf_array4216[0] = $ans4199;\nanf_array4216[1] = operator4195;\n$step4193 = 14;\n$al4200 = L[2531];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 14: var anf_arg4213 = $ans4199;\n$step4193 = 15;\n$al4200 = L[2530];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4213,(\" \"));\nbreak;\ncase 15: var anf_arg4214 = $ans4199;\n$step4193 = 16;\n$al4200 = L[2529];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4214);\nbreak;\ncase 16: anf_array4216[2] = $ans4199;\nanf_array4216[3] = defined4196;\n$step4193 = 17;\n$al4200 = L[2528];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\" to accept \"));\nbreak;\ncase 17: anf_array4216[4] = $ans4199;\nanf_array4216[5] = parameters4197;\n$step4193 = 18;\n$al4200 = L[2527];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 18: anf_array4216[6] = $ans4199;\n$step4193 = 25;\n$al4200 = L[2526];\nif(typeof(anf_fun4215.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4215);\n}\n$ans4199 = anf_fun4215.app(anf_array4216);\nbreak;\ncase 19: $ans4199 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2533],L[2534]);\nvar anf_fun4219 = $ans4199;\n$step4193 = 20;\n$al4200 = L[2539];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 20: var anf_arg4220 = $ans4199;\n$step4193 = 21;\n$al4200 = L[2538];\n// omitting isFunction check;\n$ans4199 = _plus5.app((\" evaluated to a \"),function$or$method4203);\nbreak;\ncase 21: var anf_arg4217 = $ans4199;\n$step4193 = 22;\n$al4200 = L[2537];\n// omitting isFunction check;\n$ans4199 = _plus5.app(anf_arg4217,(\" accepting \"));\nbreak;\ncase 22: var anf_arg4218 = $ans4199;\n$step4193 = 23;\n$al4200 = L[2536];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app(anf_arg4218);\nbreak;\ncase 23: var anf_arg4221 = $ans4199;\n$step4193 = 24;\n$al4200 = L[2535];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,ED6.dict.values.dict[\"text\"]);\n}\n$ans4199 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 24: var anf_arg4222 = $ans4199;\n$step4193 = 25;\n$al4200 = L[2534];\nif(typeof(anf_fun4219.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4200,anf_fun4219);\n}\n$ans4199 = anf_fun4219.app(anf_arg4220,operator4195,anf_arg4221,parameters4197,anf_arg4222);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans4199;\ndefault: R.ffi.throwSpinnakerError(L[2511],$step4193);\n}\n}\nif($step4193 !== 25) {\n$ans4199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4200,$temp_lam4194,$step4193,[operator4195,defined4196,parameters4197,show$definition4198],[anf_fun4206,anf_arg4220,anf_arg4210,anf_arg4221,anf_fun4219,anf_fun4209,anf_array4216,anf_array4207,anf_fun4215],$elidedFrames4202);\n}\nreturn $ans4199;\n};\nvar anf_assign4225 = R.mF($temp_lam4194,\"definition-prose\");\ndefinition$prose4226.$var = anf_assign4225;\nR.nothing;\nvar $temp_lam4228 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2541($application$expression4229,$parameters4230,$arguments4231) {\nvar $step4227 = 0;\nvar $elidedFrames4235 = 0;\nvar $ans4232 = D;\nvar $al4233 = L[2541];\nif(R.isAR($application$expression4229)) {\n$step4227 = $application$expression4229.step;\n$al4233 = $application$expression4229.from;\n$ans4232 = $application$expression4229.ans;\n$elidedFrames4235 = $application$expression4229.elidedFrames;\napplication$expression4229 = $application$expression4229.args[0];\nparameters4230 = $application$expression4229.args[1];\narguments4231 = $application$expression4229.args[2];\nanf_fun4236 = $application$expression4229.vars[0];\nanf_array4237 = $application$expression4229.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2541],3,$t,false);\n}\nvar application$expression4229 = $application$expression4229;\nvar parameters4230 = $parameters4230;\nvar arguments4231 = $arguments4231;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4232 = R.mC();\n}\nwhile(!R.isContinuation($ans4232)) {\nswitch($step4227) {\ncase 0: $ans4232 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2542],L[2543]);\nvar anf_fun4236 = $ans4232;\n$ans4232 = R.makeArrayN((7));\nvar anf_array4237 = $ans4232;\n$step4227 = 1;\n$al4233 = L[2547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: anf_array4237[0] = $ans4232;\nanf_array4237[1] = application$expression4229;\n$step4227 = 2;\n$al4233 = L[2546];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" expects the number of \"));\nbreak;\ncase 2: anf_array4237[2] = $ans4232;\nanf_array4237[3] = parameters4230;\n$step4227 = 3;\n$al4233 = L[2545];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 3: anf_array4237[4] = $ans4232;\nanf_array4237[5] = arguments4231;\n$step4227 = 4;\n$al4233 = L[2544];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,ED6.dict.values.dict[\"text\"]);\n}\n$ans4232 = ED6.dict.values.dict[\"text\"].app((\" to be the same.\"));\nbreak;\ncase 4: anf_array4237[6] = $ans4232;\n$step4227 = 5;\n$al4233 = L[2543];\nif(typeof(anf_fun4236.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4233,anf_fun4236);\n}\n$ans4232 = anf_fun4236.app(anf_array4237);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans4232;\ndefault: R.ffi.throwSpinnakerError(L[2541],$step4227);\n}\n}\nif($step4227 !== 5) {\n$ans4232.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4233,$temp_lam4228,$step4227,[application$expression4229,parameters4230,arguments4231],[anf_fun4236,anf_array4237],$elidedFrames4235);\n}\nreturn $ans4232;\n};\nvar anf_assign4239 = R.mF($temp_lam4228,\"explanation-prose\");\nexplanation$prose4240.$var = anf_assign4239;\nR.nothing;\nvar $temp_lam4242 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2548($v4243) {\nvar $step4241 = 0;\nvar $elidedFrames4247 = 0;\nvar $ans4244 = D;\nvar $al4245 = L[2548];\nif(R.isAR($v4243)) {\n$step4241 = $v4243.step;\n$al4245 = $v4243.from;\n$ans4244 = $v4243.ans;\n$elidedFrames4247 = $v4243.elidedFrames;\nv4243 = $v4243.args[0];\ntup4248 = $v4243.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2548],1,$t,false);\n}\nvar v4243 = $v4243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4244 = R.mC();\n}\nwhile(!R.isContinuation($ans4244)) {\nswitch($step4241) {\ncase 0: var tup4248 = v4243;\n$step4241 = 1;\n$al4245 = L[2553];\nR.checkTupleBind(tup4248,3,L[2553]);\nbreak;\ncase 1: R.getTuple(tup4248,0,L[2549]);\nR.getTuple(tup4248,1,L[2550]);\nvar args4256 = R.getTuple(tup4248,2,L[2551]);\n$step4241 = 2;\nvar $temp_lam4250 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2552($arg_4251) {\nvar $step4249 = 0;\nvar $elidedFrames4255 = 0;\nvar $ans4252 = D;\nvar $al4253 = L[2552];\nif(R.isAR($arg_4251)) {\n$step4249 = $arg_4251.step;\n$al4253 = $arg_4251.from;\n$ans4252 = $arg_4251.ans;\n$elidedFrames4255 = $arg_4251.elidedFrames;\narg_4251 = $arg_4251.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2552],1,$t,false);\n}\nvar arg_4251 = $arg_4251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4252 = R.mC();\n}\nwhile(!R.isContinuation($ans4252)) {\nswitch($step4249) {\ncase 0: $step4249 = 1;\n$al4253 = L[2552];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4253,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4252 = ED6.dict.values.dict[\"highlight\"].app(arg_4251,args4256,(3));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4252;\ndefault: R.ffi.throwSpinnakerError(L[2552],$step4249);\n}\n}\nif($step4249 !== 1) {\n$ans4252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4253,$temp_lam4250,$step4249,[arg_4251],[],$elidedFrames4255);\n}\nreturn $ans4252;\n};\n$ans4244 = R.mF($temp_lam4250,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans4244;\ndefault: R.ffi.throwSpinnakerError(L[2548],$step4241);\n}\n}\nif($step4241 !== 2) {\n$ans4244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4245,$temp_lam4242,$step4241,[v4243],[tup4248],$elidedFrames4247);\n}\nreturn $ans4244;\n};\nvar anf_arg4262 = R.mF($temp_lam4242,\"\");\n$step3812 = 23;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2554],anf_arg4262);\nbreak;\ncase 23: var anf_method_obj4271 = $ans3818;\nvar $temp_lam4264 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2555($v4265) {\nvar $step4263 = 0;\nvar $elidedFrames4269 = 0;\nvar $ans4266 = D;\nvar $al4267 = L[2555];\nif(R.isAR($v4265)) {\n$step4263 = $v4265.step;\n$al4267 = $v4265.from;\n$ans4266 = $v4265.ans;\n$elidedFrames4269 = $v4265.elidedFrames;\nv4265 = $v4265.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2555],1,$t,false);\n}\nvar v4265 = $v4265;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4266 = R.mC();\n}\nwhile(!R.isContinuation($ans4266)) {\nswitch($step4263) {\ncase 0: $step4263 = 1;\n$ans4266 = v4265;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4266;\ndefault: R.ffi.throwSpinnakerError(L[2555],$step4263);\n}\n}\nif($step4263 !== 1) {\n$ans4266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4267,$temp_lam4264,$step4263,[v4265],[],$elidedFrames4269);\n}\nreturn $ans4266;\n};\nvar anf_arg4272 = R.mF($temp_lam4264,\"\");\n$step3812 = 24;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4271,\"or-else\",L[2556],anf_arg4272);\nbreak;\ncase 24: var arguments4381 = $ans3818;\nvar $temp_lam4274 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2557($v4275) {\nvar $step4273 = 0;\nvar $elidedFrames4279 = 0;\nvar $ans4276 = D;\nvar $al4277 = L[2557];\nif(R.isAR($v4275)) {\n$step4273 = $v4275.step;\n$al4277 = $v4275.from;\n$ans4276 = $v4275.ans;\n$elidedFrames4279 = $v4275.elidedFrames;\nv4275 = $v4275.args[0];\ntup4280 = $v4275.vars[0];\napp$loc4282 = $v4275.vars[1];\nanf_arg4283 = $v4275.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2557],1,$t,false);\n}\nvar v4275 = $v4275;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4276 = R.mC();\n}\nwhile(!R.isContinuation($ans4276)) {\nswitch($step4273) {\ncase 0: var tup4280 = v4275;\n$step4273 = 1;\n$al4277 = L[2565];\nR.checkTupleBind(tup4280,3,L[2565]);\nbreak;\ncase 1: var app$loc4282 = R.getTuple(tup4280,0,L[2558]);\nR.getTuple(tup4280,1,L[2559]);\nR.getTuple(tup4280,2,L[2560]);\n$step4273 = 2;\n$al4277 = L[2564];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,ED6.dict.values.dict[\"text\"]);\n}\n$ans4276 = ED6.dict.values.dict[\"text\"].app((\"application expression\"));\nbreak;\ncase 2: var anf_arg4283 = $ans4276;\n$ans4276 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2561],L[2562]);\nvar anf_fun4281 = $ans4276;\n$step4273 = 3;\n$al4277 = L[2562];\nif(typeof(anf_fun4281.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,anf_fun4281);\n}\n$ans4276 = anf_fun4281.app(app$loc4282);\nbreak;\ncase 3: var anf_arg4284 = $ans4276;\n$step4273 = 4;\n$al4277 = L[2563];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4277,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4276 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4283,anf_arg4284,(-1));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans4276;\ndefault: R.ffi.throwSpinnakerError(L[2557],$step4273);\n}\n}\nif($step4273 !== 4) {\n$ans4276.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4277,$temp_lam4274,$step4273,[v4275],[tup4280,app$loc4282,anf_arg4283],$elidedFrames4279);\n}\nreturn $ans4276;\n};\nvar anf_arg4288 = R.mF($temp_lam4274,\"\");\n$step3812 = 25;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2566],anf_arg4288);\nbreak;\ncase 25: var anf_method_obj4289 = $ans3818;\n$step3812 = 26;\n$al3819 = L[2631];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"application\"));\nbreak;\ncase 26: var anf_arg4290 = $ans3818;\n$step3812 = 27;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4289,\"or-else\",L[2567],anf_arg4290);\nbreak;\ncase 27: var application$expression4367 = $ans3818;\nvar $temp_lam4292 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2568($v4293) {\nvar $step4291 = 0;\nvar $elidedFrames4297 = 0;\nvar $ans4294 = D;\nvar $al4295 = L[2568];\nif(R.isAR($v4293)) {\n$step4291 = $v4293.step;\n$al4295 = $v4293.from;\n$ans4294 = $v4293.ans;\n$elidedFrames4297 = $v4293.elidedFrames;\nv4293 = $v4293.args[0];\ntup4298 = $v4293.vars[0];\nop$loc4300 = $v4293.vars[1];\nanf_arg4301 = $v4293.vars[2];\nanf_arg4302 = $v4293.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2568],1,$t,false);\n}\nvar v4293 = $v4293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4294 = R.mC();\n}\nwhile(!R.isContinuation($ans4294)) {\nswitch($step4291) {\ncase 0: var tup4298 = v4293;\n$step4291 = 1;\n$al4295 = L[2576];\nR.checkTupleBind(tup4298,3,L[2576]);\nbreak;\ncase 1: R.getTuple(tup4298,0,L[2569]);\nvar op$loc4300 = R.getTuple(tup4298,1,L[2570]);\nR.getTuple(tup4298,2,L[2571]);\n$step4291 = 2;\n$al4295 = L[2575];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,ED6.dict.values.dict[\"text\"]);\n}\n$ans4294 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 2: var anf_arg4301 = $ans4294;\n$ans4294 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2572],L[2573]);\nvar anf_fun4299 = $ans4294;\n$step4291 = 3;\n$al4295 = L[2573];\nif(typeof(anf_fun4299.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,anf_fun4299);\n}\n$ans4294 = anf_fun4299.app(op$loc4300);\nbreak;\ncase 3: var anf_arg4302 = $ans4294;\n$step4291 = R.checkPyretTrue(definition$contained4304)?4:5;\nbreak;\ncase 4: $step4291 = 6;\n$ans4294 = (-2);\nbreak;\ncase 5: $step4291 = 6;\n$ans4294 = (2);\nbreak;\ncase 6: var anf_arg4303 = $ans4294;\n$step4291 = 7;\n$al4295 = L[2574];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4295,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4294 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4301,anf_arg4302,anf_arg4303);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4294;\ndefault: R.ffi.throwSpinnakerError(L[2568],$step4291);\n}\n}\nif($step4291 !== 7) {\n$ans4294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4295,$temp_lam4292,$step4291,[v4293],[tup4298,op$loc4300,anf_arg4301,anf_arg4302],$elidedFrames4297);\n}\nreturn $ans4294;\n};\nvar anf_arg4308 = R.mF($temp_lam4292,\"\");\n$step3812 = 28;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2577],anf_arg4308);\nbreak;\ncase 28: var anf_method_obj4309 = $ans3818;\n$step3812 = 29;\n$al3819 = L[2630];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 29: var anf_arg4310 = $ans3818;\n$step3812 = 30;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4309,\"or-else\",L[2578],anf_arg4310);\nbreak;\ncase 30: var operator4384 = $ans3818;\nvar $temp_lam4312 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2579($v4313) {\nvar $step4311 = 0;\nvar $elidedFrames4317 = 0;\nvar $ans4314 = D;\nvar $al4315 = L[2579];\nif(R.isAR($v4313)) {\n$step4311 = $v4313.step;\n$al4315 = $v4313.from;\n$ans4314 = $v4313.ans;\n$elidedFrames4317 = $v4313.elidedFrames;\nv4313 = $v4313.args[0];\ntup4318 = $v4313.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2579],1,$t,false);\n}\nvar v4313 = $v4313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4314 = R.mC();\n}\nwhile(!R.isContinuation($ans4314)) {\nswitch($step4311) {\ncase 0: var tup4318 = v4313;\n$step4311 = 1;\n$al4315 = L[2583];\nR.checkTupleBind(tup4318,2,L[2583]);\nbreak;\ncase 1: var params4326 = R.getTuple(tup4318,0,L[2580]);\nR.getTuple(tup4318,1,L[2581]);\n$step4311 = 2;\nvar $temp_lam4320 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2582($arg_4321) {\nvar $step4319 = 0;\nvar $elidedFrames4325 = 0;\nvar $ans4322 = D;\nvar $al4323 = L[2582];\nif(R.isAR($arg_4321)) {\n$step4319 = $arg_4321.step;\n$al4323 = $arg_4321.from;\n$ans4322 = $arg_4321.ans;\n$elidedFrames4325 = $arg_4321.elidedFrames;\narg_4321 = $arg_4321.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2582],1,$t,false);\n}\nvar arg_4321 = $arg_4321;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4322 = R.mC();\n}\nwhile(!R.isContinuation($ans4322)) {\nswitch($step4319) {\ncase 0: $step4319 = 1;\n$al4323 = L[2582];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4323,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4322 = ED6.dict.values.dict[\"highlight\"].app(arg_4321,params4326,(4));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4322;\ndefault: R.ffi.throwSpinnakerError(L[2582],$step4319);\n}\n}\nif($step4319 !== 1) {\n$ans4322.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4323,$temp_lam4320,$step4319,[arg_4321],[],$elidedFrames4325);\n}\nreturn $ans4322;\n};\n$ans4314 = R.mF($temp_lam4320,\"\");\nbreak;\ncase 2: ++R.GAS;\nreturn $ans4314;\ndefault: R.ffi.throwSpinnakerError(L[2579],$step4311);\n}\n}\nif($step4311 !== 2) {\n$ans4314.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4315,$temp_lam4312,$step4311,[v4313],[tup4318],$elidedFrames4317);\n}\nreturn $ans4314;\n};\nvar anf_arg4331 = R.mF($temp_lam4312,\"\");\n$step3812 = 31;\n$ans3818 = R.maybeMethodCall1(destructured$definition4330,\"and-then\",L[2584],anf_arg4331);\nbreak;\ncase 31: var anf_method_obj4340 = $ans3818;\nvar $temp_lam4333 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2585($v4334) {\nvar $step4332 = 0;\nvar $elidedFrames4338 = 0;\nvar $ans4335 = D;\nvar $al4336 = L[2585];\nif(R.isAR($v4334)) {\n$step4332 = $v4334.step;\n$al4336 = $v4334.from;\n$ans4335 = $v4334.ans;\n$elidedFrames4338 = $v4334.elidedFrames;\nv4334 = $v4334.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2585],1,$t,false);\n}\nvar v4334 = $v4334;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4335 = R.mC();\n}\nwhile(!R.isContinuation($ans4335)) {\nswitch($step4332) {\ncase 0: $step4332 = 1;\n$ans4335 = v4334;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4335;\ndefault: R.ffi.throwSpinnakerError(L[2585],$step4332);\n}\n}\nif($step4332 !== 1) {\n$ans4335.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4336,$temp_lam4333,$step4332,[v4334],[],$elidedFrames4338);\n}\nreturn $ans4335;\n};\nvar anf_arg4341 = R.mF($temp_lam4333,\"\");\n$step3812 = 32;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4340,\"or-else\",L[2586],anf_arg4341);\nbreak;\ncase 32: var parameters4386 = $ans3818;\nvar $temp_lam4343 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2587($v4344) {\nvar $step4342 = 0;\nvar $elidedFrames4348 = 0;\nvar $ans4345 = D;\nvar $al4346 = L[2587];\nif(R.isAR($v4344)) {\n$step4342 = $v4344.step;\n$al4346 = $v4344.from;\n$ans4345 = $v4344.ans;\n$elidedFrames4348 = $v4344.elidedFrames;\nv4344 = $v4344.args[0];\nanf_arg4351 = $v4344.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2587],1,$t,false);\n}\nvar v4344 = $v4344;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4345 = R.mC();\n}\nwhile(!R.isContinuation($ans4345)) {\nswitch($step4342) {\ncase 0: $step4342 = 1;\n$al4346 = L[2592];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,ED6.dict.values.dict[\"text\"]);\n}\n$ans4345 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 1: var anf_arg4351 = $ans4345;\n$ans4345 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2588],L[2589]);\nvar anf_fun4349 = $ans4345;\n$al4346 = L[2590];\nvar anf_arg4350 = G(self3814,\"fun-def-loc\",L[2590]);\n$step4342 = 2;\n$al4346 = L[2589];\nif(typeof(anf_fun4349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,anf_fun4349);\n}\n$ans4345 = anf_fun4349.app(anf_arg4350);\nbreak;\ncase 2: var anf_arg4352 = $ans4345;\n$step4342 = 3;\n$al4346 = L[2591];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4346,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4345 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4351,anf_arg4352,(-5));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans4345;\ndefault: R.ffi.throwSpinnakerError(L[2587],$step4342);\n}\n}\nif($step4342 !== 3) {\n$ans4345.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4346,$temp_lam4343,$step4342,[v4344],[anf_arg4351],$elidedFrames4348);\n}\nreturn $ans4345;\n};\nvar anf_arg4354 = R.mF($temp_lam4343,\"\");\n$step3812 = 33;\n$ans3818 = R.maybeMethodCall1(destructured$definition4330,\"and-then\",L[2593],anf_arg4354);\nbreak;\ncase 33: var anf_method_obj4355 = $ans3818;\n$step3812 = 34;\n$al3819 = L[2629];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"defined\"));\nbreak;\ncase 34: var anf_arg4356 = $ans3818;\n$step3812 = 35;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4355,\"or-else\",L[2594],anf_arg4356);\nbreak;\ncase 35: var defined4388 = $ans3818;\n$ans3818 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2595],L[2596]);\nvar anf_fun4395 = $ans3818;\nvar $temp_lam4358 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2597($v4359) {\nvar $step4357 = 0;\nvar $elidedFrames4363 = 0;\nvar $ans4360 = D;\nvar $al4361 = L[2597];\nif(R.isAR($v4359)) {\n$step4357 = $v4359.step;\n$al4361 = $v4359.from;\n$ans4360 = $v4359.ans;\n$elidedFrames4363 = $v4359.elidedFrames;\nv4359 = $v4359.args[0];\ntup4364 = $v4359.vars[0];\napp$loc4369 = $v4359.vars[1];\nanf_fun4370 = $v4359.vars[2];\nanf_fun4365 = $v4359.vars[3];\nanf_arg4366 = $v4359.vars[4];\nanf_arg4371 = $v4359.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2597],1,$t,false);\n}\nvar v4359 = $v4359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4360 = R.mC();\n}\nwhile(!R.isContinuation($ans4360)) {\nswitch($step4357) {\ncase 0: var tup4364 = v4359;\n$step4357 = 1;\n$al4361 = L[2608];\nR.checkTupleBind(tup4364,3,L[2608]);\nbreak;\ncase 1: var app$loc4369 = R.getTuple(tup4364,0,L[2598]);\nR.getTuple(tup4364,1,L[2599]);\nR.getTuple(tup4364,2,L[2600]);\n$ans4360 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2601],L[2602]);\nvar anf_fun4370 = $ans4360;\n$ans4360 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2603],L[2604]);\nvar anf_fun4365 = $ans4360;\n$step4357 = 2;\n$al4361 = L[2607];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"text\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 2: var anf_arg4366 = $ans4360;\n$step4357 = 3;\n$al4361 = L[2606];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"text\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 3: var anf_arg4368 = $ans4360;\n$step4357 = 4;\n$al4361 = L[2604];\nif(typeof(anf_fun4365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,anf_fun4365);\n}\n$ans4360 = anf_fun4365.app(anf_arg4366,application$expression4367,anf_arg4368);\nbreak;\ncase 4: var anf_arg4371 = $ans4360;\n$step4357 = 5;\n$al4361 = L[2605];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4360 = ED6.dict.values.dict[\"cmcode\"].app(app$loc4369);\nbreak;\ncase 5: var anf_arg4372 = $ans4360;\n$step4357 = 6;\n$al4361 = L[2602];\nif(typeof(anf_fun4370.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4361,anf_fun4370);\n}\n$ans4360 = anf_fun4370.app(anf_arg4371,anf_arg4372);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4360;\ndefault: R.ffi.throwSpinnakerError(L[2597],$step4357);\n}\n}\nif($step4357 !== 6) {\n$ans4360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4361,$temp_lam4358,$step4357,[v4359],[tup4364,app$loc4369,anf_fun4370,anf_fun4365,anf_arg4366,anf_arg4371],$elidedFrames4363);\n}\nreturn $ans4360;\n};\nvar anf_arg4376 = R.mF($temp_lam4358,\"\");\n$step3812 = 36;\n$ans3818 = R.maybeMethodCall1(destructured$application4261,\"and-then\",L[2609],anf_arg4376);\nbreak;\ncase 36: var anf_method_obj4379 = $ans3818;\n$ans3818 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2610],L[2611]);\nvar anf_fun4377 = $ans3818;\n$step3812 = 37;\n$al3819 = L[2628];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"An application errored.\"));\nbreak;\ncase 37: var anf_arg4378 = $ans3818;\n$step3812 = 38;\n$al3819 = L[2611];\nif(typeof(anf_fun4377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,anf_fun4377);\n}\n$ans3818 = anf_fun4377.app(anf_arg4378);\nbreak;\ncase 38: var anf_arg4380 = $ans3818;\n$step3812 = 39;\n$ans3818 = R.maybeMethodCall1(anf_method_obj4379,\"or-else\",L[2612],anf_arg4380);\nbreak;\ncase 39: var anf_arg4396 = $ans3818;\n$step3812 = 40;\n$al3819 = L[2627];\nif(typeof(ED6.dict.values.dict[\"ed-args\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"ed-args\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"ed-args\"].app(fun$app$arity3823);\nbreak;\ncase 40: var anf_arg4382 = $ans3818;\n$step3812 = 41;\n$al3819 = L[2626];\nif(typeof(arguments4381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,arguments4381);\n}\n$ans3818 = arguments4381.app(anf_arg4382);\nbreak;\ncase 41: var anf_arg4383 = $ans3818;\n$step3812 = 42;\n$al3819 = L[2625];\nif(typeof(operator$prose4192.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,operator$prose4192.$var);\n}\n$ans3818 = operator$prose4192.$var.app(anf_arg4383,operator4384);\nbreak;\ncase 42: var anf_arg4397 = $ans3818;\n$al3819 = L[2613];\nvar anf_arg4385 = G(self3814,\"fun-def-arity\",L[2613]);\n$step3812 = 43;\n$al3819 = L[2624];\nif(typeof(ED6.dict.values.dict[\"ed-params\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"ed-params\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"ed-params\"].app(anf_arg4385);\nbreak;\ncase 43: var anf_arg4387 = $ans3818;\n$step3812 = 44;\n$al3819 = L[2623];\nif(typeof(parameters4386.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,parameters4386);\n}\n$ans3818 = parameters4386.app(anf_arg4387);\nbreak;\ncase 44: var anf_arg4389 = $ans3818;\n$step3812 = 45;\n$al3819 = L[2622];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,not5);\n}\n$ans3818 = not5.app(definition$contained4304);\nbreak;\ncase 45: var anf_if4402 = $ans3818;\n$step3812 = R.checkPyretTrue(anf_if4402)?46:48;\nbreak;\ncase 46: $al3819 = L[2620];\nvar anf_arg4400 = G(self3814,\"fun-def-loc\",L[2620]);\n$step3812 = 47;\n$al3819 = L[2621];\nif(typeof(src$available3816.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,src$available3816);\n}\n$ans3818 = src$available3816.app(anf_arg4400);\nbreak;\ncase 47: var anf_arg4401 = $ans3818;\n$ans3818 = R.checkWrapBoolean(anf_arg4401);\n$step3812 = 49;\nbreak;\ncase 48: $step3812 = 49;\n$ans3818 = (false);\nbreak;\ncase 49: var anf_arg4390 = $ans3818;\n$step3812 = 50;\n$al3819 = L[2619];\nif(typeof(definition$prose4226.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,definition$prose4226.$var);\n}\n$ans3818 = definition$prose4226.$var.app(operator4384,defined4388,anf_arg4389,anf_arg4390);\nbreak;\ncase 50: var anf_arg4398 = $ans3818;\n$step3812 = 51;\n$al3819 = L[2618];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"parameters\"));\nbreak;\ncase 51: var anf_arg4391 = $ans3818;\n$step3812 = 52;\n$al3819 = L[2617];\nif(typeof(parameters4386.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,parameters4386);\n}\n$ans3818 = parameters4386.app(anf_arg4391);\nbreak;\ncase 52: var anf_arg4393 = $ans3818;\n$step3812 = 53;\n$al3819 = L[2616];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,ED6.dict.values.dict[\"text\"]);\n}\n$ans3818 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 53: var anf_arg4392 = $ans3818;\n$step3812 = 54;\n$al3819 = L[2615];\nif(typeof(arguments4381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,arguments4381);\n}\n$ans3818 = arguments4381.app(anf_arg4392);\nbreak;\ncase 54: var anf_arg4394 = $ans3818;\n$step3812 = 55;\n$al3819 = L[2614];\nif(typeof(explanation$prose4240.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,explanation$prose4240.$var);\n}\n$ans3818 = explanation$prose4240.$var.app(application$expression4367,anf_arg4393,anf_arg4394);\nbreak;\ncase 55: var anf_arg4399 = $ans3818;\n$step3812 = 56;\n$al3819 = L[2596];\nif(typeof(anf_fun4395.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3819,anf_fun4395);\n}\n$ans3818 = anf_fun4395.app(anf_arg4396,anf_arg4397,anf_arg4398,anf_arg4399);\nbreak;\ncase 56: ++R.GAS;\nreturn $ans3818;\ndefault: R.ffi.throwSpinnakerError(L[2383],$step3812);\n}\n}\nif($step3812 !== 56) {\n$ans3818.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3819,$temp_full3813,$step3812,[self3814,maybe$stack$loc3815,src$available3816,maybe$ast3817],[anf_arg4396,anf_arg4397,anf_arg4398,parameters4386,application$expression4367,anf_arg4389,were$was4185,definition$prose4226,fun$app$arity3823,application$loc4167,operator$prose4192,operator4384,defined4388,destructured$definition4330,destructured$application4261,anf_method_obj4355,anf_method_obj4289,definition$contained4304,anf_method_obj4379,locs$from$definition$ast4155,arguments4381,anf_fun4395,anf_method_obj4309,explanation$prose4240,anf_fun4377,function$or$method4203,locs$from$application$ast3928,anf_arg4393],$elidedFrames3821);\n}\nreturn $ans3818;\n};\nvar anf_variant_member5962 = R.makeMethod3($temp_full3813,\"render-fancy-reason\");\nvar $temp_full4408 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2639($self4409) {\nvar $step4407 = 0;\nvar $elidedFrames4413 = 0;\nvar $ans4410 = D;\nvar $al4411 = L[2639];\nif(R.isAR($self4409)) {\n$step4407 = $self4409.step;\n$al4411 = $self4409.from;\n$ans4410 = $self4409.ans;\n$elidedFrames4413 = $self4409.elidedFrames;\nself4409 = $self4409.args[0];\nanf_arg4483 = $self4409.vars[0];\nanf_arg4484 = $self4409.vars[1];\nanf_arg4474 = $self4409.vars[2];\nanf_arg4475 = $self4409.vars[3];\nthis$str4433 = $self4409.vars[4];\nanf_arg4468 = $self4409.vars[5];\nanf_arg4479 = $self4409.vars[6];\nanf_arg4469 = $self4409.vars[7];\narg$str4435 = $self4409.vars[8];\nanf_fun4473 = $self4409.vars[9];\nnum$args4415 = $self4409.vars[10];\nanf_arg4480 = $self4409.vars[11];\nanf_fun4467 = $self4409.vars[12];\nanf_fun4478 = $self4409.vars[13];\nanf_arg4481 = $self4409.vars[14];\nexp$arg$str4427 = $self4409.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2639],1,$t,true);\n}\nvar self4409 = $self4409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4410 = R.mC();\n}\nwhile(!R.isContinuation($ans4410)) {\nswitch($step4407) {\ncase 0: $al4411 = L[2640];\nvar anf_method_obj4414 = G(self4409,\"fun-app-args\",L[2640]);\n$step4407 = 1;\n$ans4410 = R.maybeMethodCall0(anf_method_obj4414,\"length\",L[2641]);\nbreak;\ncase 1: var num$args4415 = $ans4410;\n$step4407 = 2;\n$al4411 = L[2707];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(num$args4415,(1));\nbreak;\ncase 2: var anf_if4489 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4489)?3:4;\nbreak;\ncase 3: $step4407 = 5;\n$ans4410 = (\"this \");\nbreak;\ncase 4: $step4407 = 5;\n$ans4410 = (\"these \");\nbreak;\ncase 5: var this$str4433 = $ans4410;\n$step4407 = 6;\n$al4411 = L[2706];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(num$args4415,(1));\nbreak;\ncase 6: var anf_if4488 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4488)?7:8;\nbreak;\ncase 7: $step4407 = 9;\n$ans4410 = (\" argument:\");\nbreak;\ncase 8: $step4407 = 9;\n$ans4410 = (\" arguments:\");\nbreak;\ncase 9: var arg$str4435 = $ans4410;\n$al4411 = L[2642];\nvar anf_arg4416 = G(self4409,\"fun-def-arity\",L[2642]);\n$step4407 = 10;\n$al4411 = L[2705];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,equal$always1);\n}\n$ans4410 = equal$always1.app(anf_arg4416,(1));\nbreak;\ncase 10: var anf_if4487 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4487)?11:12;\nbreak;\ncase 11: $step4407 = 13;\n$ans4410 = (\" argument\");\nbreak;\ncase 12: $step4407 = 13;\n$ans4410 = (\" arguments\");\nbreak;\ncase 13: var exp$arg$str4427 = $ans4410;\n$al4411 = L[2643];\nvar anf_method_obj4417 = G(self4409,\"fun-def-loc\",L[2643]);\n$step4407 = 14;\n$ans4410 = R.maybeMethodCall0(anf_method_obj4417,\"is-builtin\",L[2644]);\nbreak;\ncase 14: var anf_if4486 = $ans4410;\n$step4407 = R.checkPyretTrue(anf_if4486)?15:16;\nbreak;\ncase 15: $step4407 = 17;\n$ans4410 = (0);\nbreak;\ncase 16: $step4407 = 17;\n$ans4410 = (1);\nbreak;\ncase 17: var anf_arg4483 = $ans4410;\nvar $temp_lam4419 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2645($caller$loc4420) {\nvar $step4418 = 0;\nvar $elidedFrames4424 = 0;\nvar $ans4421 = D;\nvar $al4422 = L[2645];\nif(R.isAR($caller$loc4420)) {\n$step4418 = $caller$loc4420.step;\n$al4422 = $caller$loc4420.from;\n$ans4421 = $caller$loc4420.ans;\n$elidedFrames4424 = $caller$loc4420.elidedFrames;\ncaller$loc4420 = $caller$loc4420.args[0];\nanf_arg4450 = $caller$loc4420.vars[0];\nanf_fun4448 = $caller$loc4420.vars[1];\nanf_arg4430 = $caller$loc4420.vars[2];\nanf_arg4431 = $caller$loc4420.vars[3];\nanf_arg4442 = $caller$loc4420.vars[4];\nanf_fun4429 = $caller$loc4420.vars[5];\nanf_arg4443 = $caller$loc4420.vars[6];\nanf_arg4444 = $caller$loc4420.vars[7];\nanf_arg4457 = $caller$loc4420.vars[8];\nanf_arg4458 = $caller$loc4420.vars[9];\nanf_arg4437 = $caller$loc4420.vars[10];\nanf_arg4438 = $caller$loc4420.vars[11];\nanf_arg4449 = $caller$loc4420.vars[12];\nanf_fun4461 = $caller$loc4420.vars[13];\nanf_fun4441 = $caller$loc4420.vars[14];\nanf_fun4453 = $caller$loc4420.vars[15];\nanf_fun4456 = $caller$loc4420.vars[16];\nanf_array4462 = $caller$loc4420.vars[17];\nanf_fun4436 = $caller$loc4420.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2645],1,$t,false);\n}\nvar caller$loc4420 = $caller$loc4420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4421 = R.mC();\n}\nwhile(!R.isContinuation($ans4421)) {\nswitch($step4418) {\ncase 0: $al4422 = L[2646];\nvar anf_method_obj4425 = G(self4409,\"fun-def-loc\",L[2646]);\n$step4418 = 1;\n$ans4421 = R.maybeMethodCall0(anf_method_obj4425,\"is-builtin\",L[2647]);\nbreak;\ncase 1: var anf_if4463 = $ans4421;\n$step4418 = R.checkPyretTrue(anf_if4463)?2:14;\nbreak;\ncase 2: $ans4421 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2648],L[2649]);\nvar anf_fun4441 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2650],L[2651]);\nvar anf_fun4429 = $ans4421;\n$step4418 = 3;\n$al4422 = L[2664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 3: var anf_arg4430 = $ans4421;\n$al4422 = L[2652];\nvar anf_arg4426 = G(self4409,\"fun-def-arity\",L[2652]);\n$step4418 = 4;\n$al4422 = L[2663];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(anf_arg4426);\nbreak;\ncase 4: var anf_arg4431 = $ans4421;\n$step4418 = 5;\n$al4422 = L[2662];\n// omitting isFunction check;\n$ans4421 = _plus5.app(exp$arg$str4427,(\" at\"));\nbreak;\ncase 5: var anf_arg4428 = $ans4421;\n$step4418 = 6;\n$al4422 = L[2661];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4428);\nbreak;\ncase 6: var anf_arg4432 = $ans4421;\n$step4418 = 7;\n$al4422 = L[2651];\nif(typeof(anf_fun4429.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4429);\n}\n$ans4421 = anf_fun4429.app(anf_arg4430,anf_arg4431,anf_arg4432);\nbreak;\ncase 7: var anf_arg4442 = $ans4421;\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(caller$loc4420);\nvar anf_arg4443 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2653],L[2654]);\nvar anf_fun4436 = $ans4421;\n$step4418 = 8;\n$al4422 = L[2660];\n// omitting isFunction check;\n$ans4421 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 8: var anf_arg4434 = $ans4421;\n$step4418 = 9;\n$al4422 = L[2659];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4434);\nbreak;\ncase 9: var anf_arg4437 = $ans4421;\n$step4418 = 10;\n$al4422 = L[2658];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 10: var anf_arg4438 = $ans4421;\n$step4418 = 11;\n$al4422 = L[2657];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 11: var anf_arg4439 = $ans4421;\n$step4418 = 12;\n$al4422 = L[2654];\nif(typeof(anf_fun4436.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4436);\n}\n$ans4421 = anf_fun4436.app(anf_arg4437,anf_arg4438,anf_arg4439);\nbreak;\ncase 12: var anf_arg4444 = $ans4421;\n$al4422 = L[2655];\nvar anf_arg4440 = G(self4409,\"fun-app-args\",L[2655]);\n$step4418 = 13;\n$al4422 = L[2656];\n// omitting isFunction check;\n$ans4421 = vert$list$values58.$var.app(anf_arg4440);\nbreak;\ncase 13: var anf_arg4445 = $ans4421;\n$step4418 = 28;\n$al4422 = L[2649];\nif(typeof(anf_fun4441.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4441);\n}\n$ans4421 = anf_fun4441.app(anf_arg4442,anf_arg4443,anf_arg4444,anf_arg4445);\nbreak;\ncase 14: $ans4421 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2665],L[2666]);\nvar anf_fun4461 = $ans4421;\n$ans4421 = R.makeArrayN((6));\nvar anf_array4462 = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2667],L[2668]);\nvar anf_fun4448 = $ans4421;\n$step4418 = 15;\n$al4422 = L[2685];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 15: var anf_arg4449 = $ans4421;\n$al4422 = L[2669];\nvar anf_arg4446 = G(self4409,\"fun-def-arity\",L[2669]);\n$step4418 = 16;\n$al4422 = L[2684];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(anf_arg4446);\nbreak;\ncase 16: var anf_arg4450 = $ans4421;\n$step4418 = 17;\n$al4422 = L[2683];\n// omitting isFunction check;\n$ans4421 = _plus5.app(exp$arg$str4427,(\" when calling the function at \"));\nbreak;\ncase 17: var anf_arg4447 = $ans4421;\n$step4418 = 18;\n$al4422 = L[2682];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4447);\nbreak;\ncase 18: var anf_arg4451 = $ans4421;\n$step4418 = 19;\n$al4422 = L[2668];\nif(typeof(anf_fun4448.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4448);\n}\n$ans4421 = anf_fun4448.app(anf_arg4449,anf_arg4450,anf_arg4451);\nbreak;\ncase 19: anf_array4462[0] = $ans4421;\n$al4422 = L[2670];\nvar anf_arg4452 = G(self4409,\"fun-def-loc\",L[2670]);\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(anf_arg4452);\nanf_array4462[1] = $ans4421;\n$ans4421 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2671],L[2672]);\nvar anf_fun4453 = $ans4421;\n$step4418 = 20;\n$al4422 = L[2681];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app((\"from\"));\nbreak;\ncase 20: var anf_arg4454 = $ans4421;\n$step4418 = 21;\n$al4422 = L[2672];\nif(typeof(anf_fun4453.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4453);\n}\n$ans4421 = anf_fun4453.app(anf_arg4454);\nbreak;\ncase 21: anf_array4462[2] = $ans4421;\n// caller optimization;\n$ans4421 = draw$and$highlight36.$var.app(caller$loc4420);\nanf_array4462[3] = $ans4421;\n$ans4421 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2673],L[2674]);\nvar anf_fun4456 = $ans4421;\n$step4418 = 22;\n$al4422 = L[2680];\n// omitting isFunction check;\n$ans4421 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 22: var anf_arg4455 = $ans4421;\n$step4418 = 23;\n$al4422 = L[2679];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(anf_arg4455);\nbreak;\ncase 23: var anf_arg4457 = $ans4421;\n$step4418 = 24;\n$al4422 = L[2678];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 24: var anf_arg4458 = $ans4421;\n$step4418 = 25;\n$al4422 = L[2677];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,ED6.dict.values.dict[\"text\"]);\n}\n$ans4421 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 25: var anf_arg4459 = $ans4421;\n$step4418 = 26;\n$al4422 = L[2674];\nif(typeof(anf_fun4456.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4456);\n}\n$ans4421 = anf_fun4456.app(anf_arg4457,anf_arg4458,anf_arg4459);\nbreak;\ncase 26: anf_array4462[4] = $ans4421;\n$al4422 = L[2675];\nvar anf_arg4460 = G(self4409,\"fun-app-args\",L[2675]);\n$step4418 = 27;\n$al4422 = L[2676];\n// omitting isFunction check;\n$ans4421 = vert$list$values58.$var.app(anf_arg4460);\nbreak;\ncase 27: anf_array4462[5] = $ans4421;\n$step4418 = 28;\n$al4422 = L[2666];\nif(typeof(anf_fun4461.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4422,anf_fun4461);\n}\n$ans4421 = anf_fun4461.app(anf_array4462);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans4421;\ndefault: R.ffi.throwSpinnakerError(L[2645],$step4418);\n}\n}\nif($step4418 !== 28) {\n$ans4421.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4422,$temp_lam4419,$step4418,[caller$loc4420],[anf_arg4450,anf_fun4448,anf_arg4430,anf_arg4431,anf_arg4442,anf_fun4429,anf_arg4443,anf_arg4444,anf_arg4457,anf_arg4458,anf_arg4437,anf_arg4438,anf_arg4449,anf_fun4461,anf_fun4441,anf_fun4453,anf_fun4456,anf_array4462,anf_fun4436],$elidedFrames4424);\n}\nreturn $ans4421;\n};\nvar anf_arg4484 = R.mF($temp_lam4419,\"\");\n$ans4410 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2686],L[2687]);\nvar anf_fun4478 = $ans4410;\n$ans4410 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2688],L[2689]);\nvar anf_fun4467 = $ans4410;\n$step4407 = 18;\n$al4411 = L[2704];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 18: var anf_arg4468 = $ans4410;\n$al4411 = L[2690];\nvar anf_arg4465 = G(self4409,\"fun-def-arity\",L[2690]);\n$step4407 = 19;\n$al4411 = L[2703];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"embed\"].app(anf_arg4465);\nbreak;\ncase 19: var anf_arg4469 = $ans4410;\n$step4407 = 20;\n$al4411 = L[2702];\n// omitting isFunction check;\n$ans4410 = _plus5.app(exp$arg$str4427,(\" at \"));\nbreak;\ncase 20: var anf_arg4466 = $ans4410;\n$step4407 = 21;\n$al4411 = L[2701];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(anf_arg4466);\nbreak;\ncase 21: var anf_arg4470 = $ans4410;\n$step4407 = 22;\n$al4411 = L[2689];\nif(typeof(anf_fun4467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4467);\n}\n$ans4410 = anf_fun4467.app(anf_arg4468,anf_arg4469,anf_arg4470);\nbreak;\ncase 22: var anf_arg4479 = $ans4410;\n$al4411 = L[2691];\nvar anf_arg4471 = G(self4409,\"fun-def-loc\",L[2691]);\n// caller optimization;\n$ans4410 = draw$and$highlight36.$var.app(anf_arg4471);\nvar anf_arg4480 = $ans4410;\n$ans4410 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2692],L[2693]);\nvar anf_fun4473 = $ans4410;\n$step4407 = 23;\n$al4411 = L[2700];\n// omitting isFunction check;\n$ans4410 = _plus5.app((\" but got \"),this$str4433);\nbreak;\ncase 23: var anf_arg4472 = $ans4410;\n$step4407 = 24;\n$al4411 = L[2699];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(anf_arg4472);\nbreak;\ncase 24: var anf_arg4474 = $ans4410;\n$step4407 = 25;\n$al4411 = L[2698];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"embed\"].app(num$args4415);\nbreak;\ncase 25: var anf_arg4475 = $ans4410;\n$step4407 = 26;\n$al4411 = L[2697];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"text\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"text\"].app(arg$str4435);\nbreak;\ncase 26: var anf_arg4476 = $ans4410;\n$step4407 = 27;\n$al4411 = L[2693];\nif(typeof(anf_fun4473.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4473);\n}\n$ans4410 = anf_fun4473.app(anf_arg4474,anf_arg4475,anf_arg4476);\nbreak;\ncase 27: var anf_arg4481 = $ans4410;\n$al4411 = L[2694];\nvar anf_arg4477 = G(self4409,\"fun-app-args\",L[2694]);\n$step4407 = 28;\n$al4411 = L[2696];\n// omitting isFunction check;\n$ans4410 = vert$list$values58.$var.app(anf_arg4477);\nbreak;\ncase 28: var anf_arg4482 = $ans4410;\n$step4407 = 29;\n$al4411 = L[2687];\nif(typeof(anf_fun4478.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,anf_fun4478);\n}\n$ans4410 = anf_fun4478.app(anf_arg4479,anf_arg4480,anf_arg4481,anf_arg4482);\nbreak;\ncase 29: var anf_arg4485 = $ans4410;\n$step4407 = 30;\n$al4411 = L[2695];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4411,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans4410 = ED6.dict.values.dict[\"maybe-stack-loc\"].app(anf_arg4483,(false),anf_arg4484,anf_arg4485);\nbreak;\ncase 30: ++R.GAS;\nreturn $ans4410;\ndefault: R.ffi.throwSpinnakerError(L[2639],$step4407);\n}\n}\nif($step4407 !== 30) {\n$ans4410.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4411,$temp_full4408,$step4407,[self4409],[anf_arg4483,anf_arg4484,anf_arg4474,anf_arg4475,this$str4433,anf_arg4468,anf_arg4479,anf_arg4469,arg$str4435,anf_fun4473,num$args4415,anf_arg4480,anf_fun4467,anf_fun4478,anf_arg4481,exp$arg$str4427],$elidedFrames4413);\n}\nreturn $ans4410;\n};\nvar anf_variant_member5963 = R.makeMethod0($temp_full4408,\"render-reason\");\nvar $temp_full4492 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2708($self4493,$maybe$stack$loc4494,$src$available4495,$maybe$ast4496) {\nvar $step4491 = 0;\nvar $elidedFrames4500 = 0;\nvar $ans4497 = D;\nvar $al4498 = L[2708];\nif(R.isAR($self4493)) {\n$step4491 = $self4493.step;\n$al4498 = $self4493.from;\n$ans4497 = $self4493.ans;\n$elidedFrames4500 = $self4493.elidedFrames;\nself4493 = $self4493.args[0];\nmaybe$stack$loc4494 = $self4493.args[1];\nsrc$available4495 = $self4493.args[2];\nmaybe$ast4496 = $self4493.args[3];\ncases4501 = $self4493.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2708],4,$t,true);\n}\nvar self4493 = $self4493;\nvar maybe$stack$loc4494 = $maybe$stack$loc4494;\nvar src$available4495 = $src$available4495;\nvar maybe$ast4496 = $maybe$ast4496;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4497 = R.mC();\n}\nwhile(!R.isContinuation($ans4497)) {\nswitch($step4491) {\ncase 0: $step4491 = 1;\n$al4498 = L[2730];\nif(typeof(maybe$stack$loc4494.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4498,maybe$stack$loc4494);\n}\n$ans4497 = maybe$stack$loc4494.app((0),(true));\nbreak;\ncase 1: var cases4501 = $ans4497;\n$step4491 = 2;\n$al4498 = L[2729];\nvar $ann$check4522 = R._cA(L[2729],R.gDA(L[2729],\"O\",O8.dict.types,\"Option\"),cases4501);\nif(R.isContinuation($ann$check4522)) {\n$ans4497 = $ann$check4522;\n}\nbreak;\ncase 2: $al4498 = L[2726];\n$step4491 = $cases_dispatch4521[cases4501.$name] || 5;\nbreak;\ncase 3: if(cases4501.$arity !== 1) {\nif(cases4501.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2725],1,cases4501.$arity,L[2726],cases4501.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2725],true,L[2726],cases4501.$loc);\n}\n}\n$step4491 = 6;\n$al4498 = L[2725];\nvar $temp_branch4514 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2726($l4502) {\nvar $step4515 = 0;\nvar $elidedFrames4519 = 0;\nvar $ans4516 = D;\nvar $al4517 = L[2710];\nif(R.isAR($l4502)) {\n$step4515 = $l4502.step;\n$al4517 = $l4502.from;\n$ans4516 = $l4502.ans;\n$elidedFrames4519 = $l4502.elidedFrames;\nl4502 = $l4502.args[0];\nanf_fun4503 = $l4502.vars[0];\nanf_fun4505 = $l4502.vars[1];\nanf_fun4508 = $l4502.vars[2];\nanf_array4513 = $l4502.vars[3];\nanf_fun4512 = $l4502.vars[4];\n} else {\nvar l4502 = $l4502;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4516 = R.mC();\n}\nwhile(!R.isContinuation($ans4516)) {\nswitch($step4515) {\ncase 0: $ans4516 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[2709],L[2710]);\nvar anf_fun4512 = $ans4516;\n$ans4516 = R.makeArrayN((6));\nvar anf_array4513 = $ans4516;\n$step4515 = 1;\n$al4517 = L[2724];\n// omitting isFunction check;\n$ans4516 = ed$intro146.$var.app((\"row construction\"),l4502,(-1),(true));\nbreak;\ncase 1: anf_array4513[0] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2711],L[2712]);\nvar anf_fun4503 = $ans4516;\n$step4515 = 2;\n$al4517 = L[2723];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"The row could not be constructed because the number of expected columns didn't match the number of provided values.\"));\nbreak;\ncase 2: var anf_arg4504 = $ans4516;\n$step4515 = 3;\n$al4517 = L[2712];\nif(typeof(anf_fun4503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4503);\n}\n$ans4516 = anf_fun4503.app(anf_arg4504);\nbreak;\ncase 3: anf_array4513[1] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2713],L[2714]);\nvar anf_fun4505 = $ans4516;\n$step4515 = 4;\n$al4517 = L[2722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"Expected columns:\"));\nbreak;\ncase 4: var anf_arg4506 = $ans4516;\n$step4515 = 5;\n$al4517 = L[2714];\nif(typeof(anf_fun4505.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4505);\n}\n$ans4516 = anf_fun4505.app(anf_arg4506);\nbreak;\ncase 5: anf_array4513[2] = $ans4516;\n$al4517 = L[2715];\nvar anf_arg4507 = G(self4493,\"colnames\",L[2715]);\n$step4515 = 6;\n$al4517 = L[2721];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"embed\"].app(anf_arg4507);\nbreak;\ncase 6: anf_array4513[3] = $ans4516;\n$ans4516 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2716],L[2717]);\nvar anf_fun4508 = $ans4516;\n$step4515 = 7;\n$al4517 = L[2720];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,ED6.dict.values.dict[\"text\"]);\n}\n$ans4516 = ED6.dict.values.dict[\"text\"].app((\"Provided values:\"));\nbreak;\ncase 7: var anf_arg4509 = $ans4516;\n$step4515 = 8;\n$al4517 = L[2717];\nif(typeof(anf_fun4508.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4508);\n}\n$ans4516 = anf_fun4508.app(anf_arg4509);\nbreak;\ncase 8: anf_array4513[4] = $ans4516;\n$al4517 = L[2718];\nvar anf_arg4510 = G(self4493,\"provided-vals\",L[2718]);\n// caller optimization;\n$ans4516 = raw$array$to$list4.app(anf_arg4510);\nvar anf_arg4511 = $ans4516;\n$step4515 = 9;\n$al4517 = L[2719];\n// omitting isFunction check;\n$ans4516 = horz$list$values80.$var.app(anf_arg4511);\nbreak;\ncase 9: anf_array4513[5] = $ans4516;\n$step4515 = 10;\n$al4517 = L[2710];\nif(typeof(anf_fun4512.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4517,anf_fun4512);\n}\n$ans4516 = anf_fun4512.app(anf_array4513);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans4516;\ndefault: R.ffi.throwSpinnakerError(L[2710],$step4515);\n}\n}\nif($step4515 !== 10) {\n$ans4516.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4517,$temp_branch4514,$step4515,[l4502],[anf_fun4503,anf_fun4505,anf_fun4508,anf_array4513,anf_fun4512],$elidedFrames4519);\n}\nreturn $ans4516;\n};\n$ans4497 = cases4501.$app_fields($temp_branch4514,[false]);\nbreak;\ncase 4: if(cases4501.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[2728],false,L[2726],cases4501.$loc);\n}\n$step4491 = 6;\n$ans4497 = R.maybeMethodCall0(self4493,\"render-reason\",L[2727]);\nbreak;\ncase 5: $ans4497 = R.throwNoCasesMatched(L[2726],cases4501);\n$step4491 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4497;\ndefault: R.ffi.throwSpinnakerError(L[2708],$step4491);\n}\n}\nif($step4491 !== 6) {\n$ans4497.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4498,$temp_full4492,$step4491,[self4493,maybe$stack$loc4494,src$available4495,maybe$ast4496],[cases4501],$elidedFrames4500);\n}\nreturn $ans4497;\n};\nvar anf_variant_member5974 = R.makeMethod3($temp_full4492,\"render-fancy-reason\");\nvar $temp_full4525 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2731($self4526) {\nvar $step4524 = 0;\nvar $elidedFrames4530 = 0;\nvar $ans4527 = D;\nvar $al4528 = L[2731];\nif(R.isAR($self4526)) {\n$step4524 = $self4526.step;\n$al4528 = $self4526.from;\n$ans4527 = $self4526.ans;\n$elidedFrames4530 = $self4526.elidedFrames;\nself4526 = $self4526.args[0];\nanf_fun4536 = $self4526.vars[0];\nanf_arg4541 = $self4526.vars[1];\nanf_arg4542 = $self4526.vars[2];\nanf_arg4543 = $self4526.vars[3];\nanf_arg4544 = $self4526.vars[4];\nanf_fun4540 = $self4526.vars[5];\nanf_fun4531 = $self4526.vars[6];\nanf_fun4533 = $self4526.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2731],1,$t,true);\n}\nvar self4526 = $self4526;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4527 = R.mC();\n}\nwhile(!R.isContinuation($ans4527)) {\nswitch($step4524) {\ncase 0: $ans4527 = R.getMaker5(ED6.dict.values.dict[\"error\"],(\"make5\"),L[2732],L[2733]);\nvar anf_fun4540 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2734],L[2735]);\nvar anf_fun4531 = $ans4527;\n$step4524 = 1;\n$al4528 = L[2746];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"The row could not be constructed because the number of columns didn't match the number of provided values.\"));\nbreak;\ncase 1: var anf_arg4532 = $ans4527;\n$step4524 = 2;\n$al4528 = L[2735];\nif(typeof(anf_fun4531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4531);\n}\n$ans4527 = anf_fun4531.app(anf_arg4532);\nbreak;\ncase 2: var anf_arg4541 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2736],L[2737]);\nvar anf_fun4533 = $ans4527;\n$step4524 = 3;\n$al4528 = L[2745];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"Expected columns:\"));\nbreak;\ncase 3: var anf_arg4534 = $ans4527;\n$step4524 = 4;\n$al4528 = L[2737];\nif(typeof(anf_fun4533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4533);\n}\n$ans4527 = anf_fun4533.app(anf_arg4534);\nbreak;\ncase 4: var anf_arg4542 = $ans4527;\n$al4528 = L[2738];\nvar anf_arg4535 = G(self4526,\"colnames\",L[2738]);\n$step4524 = 5;\n$al4528 = L[2744];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"embed\"].app(anf_arg4535);\nbreak;\ncase 5: var anf_arg4543 = $ans4527;\n$ans4527 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2739],L[2740]);\nvar anf_fun4536 = $ans4527;\n$step4524 = 6;\n$al4528 = L[2743];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,ED6.dict.values.dict[\"text\"]);\n}\n$ans4527 = ED6.dict.values.dict[\"text\"].app((\"Provided values:\"));\nbreak;\ncase 6: var anf_arg4537 = $ans4527;\n$step4524 = 7;\n$al4528 = L[2740];\nif(typeof(anf_fun4536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4536);\n}\n$ans4527 = anf_fun4536.app(anf_arg4537);\nbreak;\ncase 7: var anf_arg4544 = $ans4527;\n$al4528 = L[2741];\nvar anf_arg4538 = G(self4526,\"provided-vals\",L[2741]);\n// caller optimization;\n$ans4527 = raw$array$to$list4.app(anf_arg4538);\nvar anf_arg4539 = $ans4527;\n$step4524 = 8;\n$al4528 = L[2742];\n// omitting isFunction check;\n$ans4527 = vert$list$values58.$var.app(anf_arg4539);\nbreak;\ncase 8: var anf_arg4545 = $ans4527;\n$step4524 = 9;\n$al4528 = L[2733];\nif(typeof(anf_fun4540.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4528,anf_fun4540);\n}\n$ans4527 = anf_fun4540.app(anf_arg4541,anf_arg4542,anf_arg4543,anf_arg4544,anf_arg4545);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4527;\ndefault: R.ffi.throwSpinnakerError(L[2731],$step4524);\n}\n}\nif($step4524 !== 9) {\n$ans4527.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4528,$temp_full4525,$step4524,[self4526],[anf_fun4536,anf_arg4541,anf_arg4542,anf_arg4543,anf_arg4544,anf_fun4540,anf_fun4531,anf_fun4533],$elidedFrames4530);\n}\nreturn $ans4527;\n};\nvar anf_variant_member5975 = R.makeMethod0($temp_full4525,\"render-reason\");\nvar $temp_full4548 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2747($self4549,$maybe$stack$loc4550,$src$available4551,$maybe$ast4552) {\nvar $step4547 = 0;\nvar $elidedFrames4556 = 0;\nvar $ans4553 = D;\nvar $al4554 = L[2747];\nif(R.isAR($self4549)) {\n$step4547 = $self4549.step;\n$al4554 = $self4549.from;\n$ans4553 = $self4549.ans;\n$elidedFrames4556 = $self4549.elidedFrames;\nself4549 = $self4549.args[0];\nmaybe$stack$loc4550 = $self4549.args[1];\nsrc$available4551 = $self4549.args[2];\nmaybe$ast4552 = $self4549.args[3];\nanf_fun4647 = $self4549.vars[0];\nanf_arg4650 = $self4549.vars[1];\nanf_arg4644 = $self4549.vars[2];\nanf_arg4634 = $self4549.vars[3];\nanf_arg4645 = $self4549.vars[4];\nanf_arg4635 = $self4549.vars[5];\napplication$loc4587 = $self4549.vars[6];\nanf_arg4636 = $self4549.vars[7];\nanf_arg4637 = $self4549.vars[8];\nanf_method_obj4594 = $self4549.vars[9];\ninfo$prose4649 = $self4549.vars[10];\nintro$prose4648 = $self4549.vars[11];\nanf_fun4590 = $self4549.vars[12];\nanf_method_obj4639 = $self4549.vars[13];\nanf_fun4643 = $self4549.vars[14];\nanf_arg4591 = $self4549.vars[15];\nanf_fun4633 = $self4549.vars[16];\nanf_arg4592 = $self4549.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2747],4,$t,true);\n}\nvar self4549 = $self4549;\nvar maybe$stack$loc4550 = $maybe$stack$loc4550;\nvar src$available4551 = $src$available4551;\nvar maybe$ast4552 = $maybe$ast4552;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4553 = R.mC();\n}\nwhile(!R.isContinuation($ans4553)) {\nswitch($step4547) {\ncase 0: $step4547 = 1;\n$al4554 = L[2831];\nif(typeof(maybe$stack$loc4550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,maybe$stack$loc4550);\n}\n$ans4553 = maybe$stack$loc4550.app((0),(true));\nbreak;\ncase 1: var application$loc4587 = $ans4553;\nvar $temp_lam4558 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2748($l4559) {\nvar $step4557 = 0;\nvar $elidedFrames4563 = 0;\nvar $ans4560 = D;\nvar $al4561 = L[2748];\nif(R.isAR($l4559)) {\n$step4557 = $l4559.step;\n$al4561 = $l4559.from;\n$ans4560 = $l4559.ans;\n$elidedFrames4563 = $l4559.elidedFrames;\nl4559 = $l4559.args[0];\nanf_arg4582 = $l4559.vars[0];\nanf_arg4572 = $l4559.vars[1];\nanf_arg4583 = $l4559.vars[2];\nanf_arg4573 = $l4559.vars[3];\nanf_arg4576 = $l4559.vars[4];\nanf_arg4566 = $l4559.vars[5];\nanf_arg4569 = $l4559.vars[6];\nanf_fun4571 = $l4559.vars[7];\nanf_fun4575 = $l4559.vars[8];\nanf_fun4565 = $l4559.vars[9];\nanf_arg4580 = $l4559.vars[10];\nanf_arg4581 = $l4559.vars[11];\nanf_fun4579 = $l4559.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2748],1,$t,false);\n}\nvar l4559 = $l4559;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4560 = R.mC();\n}\nwhile(!R.isContinuation($ans4560)) {\nswitch($step4557) {\ncase 0: $step4557 = 1;\n$al4561 = L[2772];\nif(typeof(src$available4551.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,src$available4551);\n}\n$ans4560 = src$available4551.app(l4559);\nbreak;\ncase 1: var anf_if4585 = $ans4560;\n$step4557 = R.checkPyretTrue(anf_if4585)?2:13;\nbreak;\ncase 2: $ans4560 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2749],L[2750]);\nvar anf_fun4575 = $ans4560;\n$ans4560 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2751],L[2752]);\nvar anf_fun4571 = $ans4560;\n$step4557 = 3;\n$al4561 = L[2763];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"This \"));\nbreak;\ncase 3: var anf_arg4572 = $ans4560;\n$ans4560 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[2753],L[2754]);\nvar anf_fun4565 = $ans4560;\n$step4557 = 4;\n$al4561 = L[2762];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 4: var anf_arg4564 = $ans4560;\n$step4557 = 5;\n$al4561 = L[2761];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"code\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"code\"].app(anf_arg4564);\nbreak;\ncase 5: var anf_arg4566 = $ans4560;\n$step4557 = 6;\n$al4561 = L[2760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" operation\"));\nbreak;\ncase 6: var anf_arg4567 = $ans4560;\n$step4557 = 7;\n$al4561 = L[2754];\nif(typeof(anf_fun4565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4565);\n}\n$ans4560 = anf_fun4565.app(anf_arg4566,anf_arg4567);\nbreak;\ncase 7: var anf_arg4569 = $ans4560;\n$ans4560 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2755],L[2756]);\nvar anf_fun4568 = $ans4560;\n$step4557 = 8;\n$al4561 = L[2756];\nif(typeof(anf_fun4568.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4568);\n}\n$ans4560 = anf_fun4568.app(l4559);\nbreak;\ncase 8: var anf_arg4570 = $ans4560;\n$step4557 = 9;\n$al4561 = L[2759];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4569,anf_arg4570,(-1));\nbreak;\ncase 9: var anf_arg4573 = $ans4560;\n$step4557 = 10;\n$al4561 = L[2758];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" errored:\"));\nbreak;\ncase 10: var anf_arg4574 = $ans4560;\n$step4557 = 11;\n$al4561 = L[2752];\nif(typeof(anf_fun4571.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4571);\n}\n$ans4560 = anf_fun4571.app(anf_arg4572,anf_arg4573,anf_arg4574);\nbreak;\ncase 11: var anf_arg4576 = $ans4560;\n$step4557 = 12;\n$al4561 = L[2757];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"cmcode\"].app(l4559);\nbreak;\ncase 12: var anf_arg4577 = $ans4560;\n$step4557 = 20;\n$al4561 = L[2750];\nif(typeof(anf_fun4575.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4575);\n}\n$ans4560 = anf_fun4575.app(anf_arg4576,anf_arg4577);\nbreak;\ncase 13: $ans4560 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2764],L[2765]);\nvar anf_fun4579 = $ans4560;\n$step4557 = 14;\n$al4561 = L[2771];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 14: var anf_arg4580 = $ans4560;\n$step4557 = 15;\n$al4561 = L[2770];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 15: var anf_arg4578 = $ans4560;\n$step4557 = 16;\n$al4561 = L[2769];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"code\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"code\"].app(anf_arg4578);\nbreak;\ncase 16: var anf_arg4581 = $ans4560;\n$step4557 = 17;\n$al4561 = L[2768];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" operation in \"));\nbreak;\ncase 17: var anf_arg4582 = $ans4560;\n$step4557 = 18;\n$al4561 = L[2767];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"loc\"].app(l4559);\nbreak;\ncase 18: var anf_arg4583 = $ans4560;\n$step4557 = 19;\n$al4561 = L[2766];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,ED6.dict.values.dict[\"text\"]);\n}\n$ans4560 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 19: var anf_arg4584 = $ans4560;\n$step4557 = 20;\n$al4561 = L[2765];\nif(typeof(anf_fun4579.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4561,anf_fun4579);\n}\n$ans4560 = anf_fun4579.app(anf_arg4580,anf_arg4581,anf_arg4582,anf_arg4583,anf_arg4584);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans4560;\ndefault: R.ffi.throwSpinnakerError(L[2748],$step4557);\n}\n}\nif($step4557 !== 20) {\n$ans4560.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4561,$temp_lam4558,$step4557,[l4559],[anf_arg4582,anf_arg4572,anf_arg4583,anf_arg4573,anf_arg4576,anf_arg4566,anf_arg4569,anf_fun4571,anf_fun4575,anf_fun4565,anf_arg4580,anf_arg4581,anf_fun4579],$elidedFrames4563);\n}\nreturn $ans4560;\n};\nvar anf_arg4588 = R.mF($temp_lam4558,\"\");\n$step4547 = 2;\n$ans4553 = R.maybeMethodCall1(application$loc4587,\"and-then\",L[2773],anf_arg4588);\nbreak;\ncase 2: var anf_method_obj4594 = $ans4553;\n$ans4553 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2774],L[2775]);\nvar anf_fun4590 = $ans4553;\n$step4547 = 3;\n$al4554 = L[2830];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 3: var anf_arg4591 = $ans4553;\n$step4547 = 4;\n$al4554 = L[2829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 4: var anf_arg4589 = $ans4553;\n$step4547 = 5;\n$al4554 = L[2828];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"code\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"code\"].app(anf_arg4589);\nbreak;\ncase 5: var anf_arg4592 = $ans4553;\n$step4547 = 6;\n$al4554 = L[2827];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" operation errored.\"));\nbreak;\ncase 6: var anf_arg4593 = $ans4553;\n$step4547 = 7;\n$al4554 = L[2775];\nif(typeof(anf_fun4590.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4590);\n}\n$ans4553 = anf_fun4590.app(anf_arg4591,anf_arg4592,anf_arg4593);\nbreak;\ncase 7: var anf_arg4595 = $ans4553;\n$step4547 = 8;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4594,\"or-else\",L[2776],anf_arg4595);\nbreak;\ncase 8: var intro$prose4648 = $ans4553;\n$step4547 = 9;\n$al4554 = L[2826];\n// omitting isFunction check;\n$ans4553 = destructure$method$application300.$var.app(application$loc4587,src$available4551,maybe$ast4552);\nbreak;\ncase 9: var anf_method_obj4629 = $ans4553;\nvar $temp_lam4597 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2777($tup4598) {\nvar $step4596 = 0;\nvar $elidedFrames4602 = 0;\nvar $ans4599 = D;\nvar $al4600 = L[2777];\nif(R.isAR($tup4598)) {\n$step4596 = $tup4598.step;\n$al4600 = $tup4598.from;\n$ans4599 = $tup4598.ans;\n$elidedFrames4602 = $tup4598.elidedFrames;\ntup4598 = $tup4598.args[0];\ntbl4618 = $tup4598.vars[0];\nanf_fun4626 = $tup4598.vars[1];\nanf_array4627 = $tup4598.vars[2];\nanf_arg4624 = $tup4598.vars[3];\nargs4621 = $tup4598.vars[4];\nanf_method_obj4616 = $tup4598.vars[5];\nanf_fun4622 = $tup4598.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2777],1,$t,false);\n}\nvar tup4598 = $tup4598;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4599 = R.mC();\n}\nwhile(!R.isContinuation($ans4599)) {\nswitch($step4596) {\ncase 0: $step4596 = 1;\n$al4600 = L[2804];\nR.checkTupleBind(tup4598,2,L[2804]);\nbreak;\ncase 1: var maybe$table4614 = R.getTuple(tup4598,0,L[2778]);\nvar args4621 = R.getTuple(tup4598,1,L[2779]);\nvar $temp_lam4604 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2780($tl4605) {\nvar $step4603 = 0;\nvar $elidedFrames4609 = 0;\nvar $ans4606 = D;\nvar $al4607 = L[2780];\nif(R.isAR($tl4605)) {\n$step4603 = $tl4605.step;\n$al4607 = $tl4605.from;\n$ans4606 = $tl4605.ans;\n$elidedFrames4609 = $tl4605.elidedFrames;\ntl4605 = $tl4605.args[0];\nanf_arg4611 = $tl4605.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2780],1,$t,false);\n}\nvar tl4605 = $tl4605;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4606 = R.mC();\n}\nwhile(!R.isContinuation($ans4606)) {\nswitch($step4603) {\ncase 0: $step4603 = 1;\n$al4607 = L[2784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,ED6.dict.values.dict[\"text\"]);\n}\n$ans4606 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 1: var anf_arg4611 = $ans4606;\n$ans4606 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2781],L[2782]);\nvar anf_fun4610 = $ans4606;\n$step4603 = 2;\n$al4607 = L[2782];\nif(typeof(anf_fun4610.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,anf_fun4610);\n}\n$ans4606 = anf_fun4610.app(tl4605);\nbreak;\ncase 2: var anf_arg4612 = $ans4606;\n$step4603 = 3;\n$al4607 = L[2783];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4607,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4606 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4611,anf_arg4612,(0));\nbreak;\ncase 3: ++R.GAS;\nreturn $ans4606;\ndefault: R.ffi.throwSpinnakerError(L[2780],$step4603);\n}\n}\nif($step4603 !== 3) {\n$ans4606.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4607,$temp_lam4604,$step4603,[tl4605],[anf_arg4611],$elidedFrames4609);\n}\nreturn $ans4606;\n};\nvar anf_arg4615 = R.mF($temp_lam4604,\"\");\n$step4596 = 2;\n$ans4599 = R.maybeMethodCall1(maybe$table4614,\"and-then\",L[2785],anf_arg4615);\nbreak;\ncase 2: var anf_method_obj4616 = $ans4599;\n$step4596 = 3;\n$al4600 = L[2803];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 3: var anf_arg4617 = $ans4599;\n$step4596 = 4;\n$ans4599 = R.maybeMethodCall1(anf_method_obj4616,\"or-else\",L[2786],anf_arg4617);\nbreak;\ncase 4: var tbl4618 = $ans4599;\n$ans4599 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[2787],L[2788]);\nvar anf_fun4626 = $ans4599;\n$ans4599 = R.makeArrayN((9));\nvar anf_array4627 = $ans4599;\n$step4596 = 5;\n$al4600 = L[2802];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 5: anf_array4627[0] = $ans4599;\nanf_array4627[1] = tbl4618;\n$step4596 = 6;\n$al4600 = L[2801];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\" had \"));\nbreak;\ncase 6: anf_array4627[2] = $ans4599;\n$al4600 = L[2789];\nvar anf_arg4619 = G(self4549,\"expected\",L[2789]);\n$step4596 = 7;\n$al4600 = L[2800];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4619);\nbreak;\ncase 7: anf_array4627[3] = $ans4599;\n$step4596 = 8;\n$al4600 = L[2799];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 8: anf_array4627[4] = $ans4599;\n$al4600 = L[2790];\nvar anf_arg4620 = G(self4549,\"actual\",L[2790]);\n$step4596 = 9;\n$al4600 = L[2798];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4620);\nbreak;\ncase 9: anf_array4627[5] = $ans4599;\n$step4596 = 10;\n$al4600 = L[2797];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\" were \"));\nbreak;\ncase 10: anf_array4627[6] = $ans4599;\n$step4596 = 11;\n$al4600 = L[2796];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\"provided\"));\nbreak;\ncase 11: var anf_arg4624 = $ans4599;\n$ans4599 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2791],L[2792]);\nvar anf_fun4622 = $ans4599;\n$step4596 = 12;\n$ans4599 = R.maybeMethodCall1(args4621,\"get\",L[2793],(1));\nbreak;\ncase 12: var anf_arg4623 = $ans4599;\n$step4596 = 13;\n$al4600 = L[2792];\nif(typeof(anf_fun4622.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,anf_fun4622);\n}\n$ans4599 = anf_fun4622.app(anf_arg4623);\nbreak;\ncase 13: var anf_arg4625 = $ans4599;\n$step4596 = 14;\n$al4600 = L[2795];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4624,anf_arg4625,(1));\nbreak;\ncase 14: anf_array4627[7] = $ans4599;\n$step4596 = 15;\n$al4600 = L[2794];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,ED6.dict.values.dict[\"text\"]);\n}\n$ans4599 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 15: anf_array4627[8] = $ans4599;\n$step4596 = 16;\n$al4600 = L[2788];\nif(typeof(anf_fun4626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4600,anf_fun4626);\n}\n$ans4599 = anf_fun4626.app(anf_array4627);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans4599;\ndefault: R.ffi.throwSpinnakerError(L[2777],$step4596);\n}\n}\nif($step4596 !== 16) {\n$ans4599.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4600,$temp_lam4597,$step4596,[tup4598],[tbl4618,anf_fun4626,anf_array4627,anf_arg4624,args4621,anf_method_obj4616,anf_fun4622],$elidedFrames4602);\n}\nreturn $ans4599;\n};\nvar anf_arg4630 = R.mF($temp_lam4597,\"\");\n$step4547 = 10;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4629,\"and-then\",L[2805],anf_arg4630);\nbreak;\ncase 10: var anf_method_obj4639 = $ans4553;\n$ans4553 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2806],L[2807]);\nvar anf_fun4633 = $ans4553;\n$step4547 = 11;\n$al4554 = L[2825];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"The table had \"));\nbreak;\ncase 11: var anf_arg4634 = $ans4553;\n$al4554 = L[2808];\nvar anf_arg4631 = G(self4549,\"expected\",L[2808]);\n$step4547 = 12;\n$al4554 = L[2824];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4631);\nbreak;\ncase 12: var anf_arg4635 = $ans4553;\n$step4547 = 13;\n$al4554 = L[2823];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 13: var anf_arg4636 = $ans4553;\n$al4554 = L[2809];\nvar anf_arg4632 = G(self4549,\"actual\",L[2809]);\n$step4547 = 14;\n$al4554 = L[2822];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4632);\nbreak;\ncase 14: var anf_arg4637 = $ans4553;\n$step4547 = 15;\n$al4554 = L[2821];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" were provided:\"));\nbreak;\ncase 15: var anf_arg4638 = $ans4553;\n$step4547 = 16;\n$al4554 = L[2807];\nif(typeof(anf_fun4633.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4633);\n}\n$ans4553 = anf_fun4633.app(anf_arg4634,anf_arg4635,anf_arg4636,anf_arg4637,anf_arg4638);\nbreak;\ncase 16: var anf_arg4640 = $ans4553;\n$step4547 = 17;\n$ans4553 = R.maybeMethodCall1(anf_method_obj4639,\"or-else\",L[2810],anf_arg4640);\nbreak;\ncase 17: var info$prose4649 = $ans4553;\n$ans4553 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2811],L[2812]);\nvar anf_fun4647 = $ans4553;\n$al4554 = L[2813];\nvar anf_arg4641 = G(self4549,\"value\",L[2813]);\n$step4547 = 18;\n$al4554 = L[2820];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"embed\"].app(anf_arg4641);\nbreak;\ncase 18: var anf_arg4650 = $ans4553;\n$ans4553 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2814],L[2815]);\nvar anf_fun4643 = $ans4553;\n$step4547 = 19;\n$al4554 = L[2819];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 19: var anf_arg4644 = $ans4553;\n$step4547 = 20;\n$al4554 = L[2818];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 20: var anf_arg4642 = $ans4553;\n$step4547 = 21;\n$al4554 = L[2817];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"code\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"code\"].app(anf_arg4642);\nbreak;\ncase 21: var anf_arg4645 = $ans4553;\n$step4547 = 22;\n$al4554 = L[2816];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,ED6.dict.values.dict[\"text\"]);\n}\n$ans4553 = ED6.dict.values.dict[\"text\"].app((\" operation expects the number of provided values to match the number of rows in the table.\"));\nbreak;\ncase 22: var anf_arg4646 = $ans4553;\n$step4547 = 23;\n$al4554 = L[2815];\nif(typeof(anf_fun4643.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4643);\n}\n$ans4553 = anf_fun4643.app(anf_arg4644,anf_arg4645,anf_arg4646);\nbreak;\ncase 23: var anf_arg4651 = $ans4553;\n$step4547 = 24;\n$al4554 = L[2812];\nif(typeof(anf_fun4647.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4554,anf_fun4647);\n}\n$ans4553 = anf_fun4647.app(intro$prose4648,info$prose4649,anf_arg4650,anf_arg4651);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans4553;\ndefault: R.ffi.throwSpinnakerError(L[2747],$step4547);\n}\n}\nif($step4547 !== 24) {\n$ans4553.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4554,$temp_full4548,$step4547,[self4549,maybe$stack$loc4550,src$available4551,maybe$ast4552],[anf_fun4647,anf_arg4650,anf_arg4644,anf_arg4634,anf_arg4645,anf_arg4635,application$loc4587,anf_arg4636,anf_arg4637,anf_method_obj4594,info$prose4649,intro$prose4648,anf_fun4590,anf_method_obj4639,anf_fun4643,anf_arg4591,anf_fun4633,anf_arg4592],$elidedFrames4556);\n}\nreturn $ans4553;\n};\nvar anf_variant_member5984 = R.makeMethod3($temp_full4548,\"render-fancy-reason\");\nvar $temp_full4654 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2832($self4655) {\nvar $step4653 = 0;\nvar $elidedFrames4659 = 0;\nvar $ans4656 = D;\nvar $al4657 = L[2832];\nif(R.isAR($self4655)) {\n$step4653 = $self4655.step;\n$al4657 = $self4655.from;\n$ans4656 = $self4655.ans;\n$elidedFrames4659 = $self4655.elidedFrames;\nself4655 = $self4655.args[0];\nanf_arg4693 = $self4655.vars[0];\nanf_arg4694 = $self4655.vars[1];\nanf_arg4685 = $self4655.vars[2];\nanf_arg4686 = $self4655.vars[3];\nanf_arg4697 = $self4655.vars[4];\nanf_arg4687 = $self4655.vars[5];\nanf_arg4698 = $self4655.vars[6];\nanf_arg4677 = $self4655.vars[7];\nanf_arg4688 = $self4655.vars[8];\nanf_arg4699 = $self4655.vars[9];\nanf_arg4678 = $self4655.vars[10];\nanf_fun4692 = $self4655.vars[11];\nanf_fun4684 = $self4655.vars[12];\nanf_fun4696 = $self4655.vars[13];\nanf_fun4676 = $self4655.vars[14];\nanf_arg4680 = $self4655.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2832],1,$t,true);\n}\nvar self4655 = $self4655;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4656 = R.mC();\n}\nwhile(!R.isContinuation($ans4656)) {\nswitch($step4653) {\ncase 0: $ans4656 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2833],L[2834]);\nvar anf_fun4696 = $ans4656;\nvar $temp_lam4661 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2835($l4662) {\nvar $step4660 = 0;\nvar $elidedFrames4666 = 0;\nvar $ans4663 = D;\nvar $al4664 = L[2835];\nif(R.isAR($l4662)) {\n$step4660 = $l4662.step;\n$al4664 = $l4662.from;\n$ans4663 = $l4662.ans;\n$elidedFrames4666 = $l4662.elidedFrames;\nl4662 = $l4662.args[0];\nanf_fun4668 = $l4662.vars[0];\nanf_arg4669 = $l4662.vars[1];\nanf_arg4670 = $l4662.vars[2];\nanf_arg4671 = $l4662.vars[3];\nanf_arg4672 = $l4662.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2835],1,$t,false);\n}\nvar l4662 = $l4662;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4663 = R.mC();\n}\nwhile(!R.isContinuation($ans4663)) {\nswitch($step4660) {\ncase 0: $ans4663 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2836],L[2837]);\nvar anf_fun4668 = $ans4663;\n$step4660 = 1;\n$al4664 = L[2843];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: var anf_arg4669 = $ans4663;\n$step4660 = 2;\n$al4664 = L[2842];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 2: var anf_arg4667 = $ans4663;\n$step4660 = 3;\n$al4664 = L[2841];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"code\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"code\"].app(anf_arg4667);\nbreak;\ncase 3: var anf_arg4670 = $ans4663;\n$step4660 = 4;\n$al4664 = L[2840];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\" operation in \"));\nbreak;\ncase 4: var anf_arg4671 = $ans4663;\n$step4660 = 5;\n$al4664 = L[2839];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"loc\"].app(l4662);\nbreak;\ncase 5: var anf_arg4672 = $ans4663;\n$step4660 = 6;\n$al4664 = L[2838];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,ED6.dict.values.dict[\"text\"]);\n}\n$ans4663 = ED6.dict.values.dict[\"text\"].app((\" errored.\"));\nbreak;\ncase 6: var anf_arg4673 = $ans4663;\n$step4660 = 7;\n$al4664 = L[2837];\nif(typeof(anf_fun4668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4664,anf_fun4668);\n}\n$ans4663 = anf_fun4668.app(anf_arg4669,anf_arg4670,anf_arg4671,anf_arg4672,anf_arg4673);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4663;\ndefault: R.ffi.throwSpinnakerError(L[2835],$step4660);\n}\n}\nif($step4660 !== 7) {\n$ans4663.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4664,$temp_lam4661,$step4660,[l4662],[anf_fun4668,anf_arg4669,anf_arg4670,anf_arg4671,anf_arg4672],$elidedFrames4666);\n}\nreturn $ans4663;\n};\nvar anf_arg4680 = R.mF($temp_lam4661,\"\");\n$ans4656 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2844],L[2845]);\nvar anf_fun4676 = $ans4656;\n$step4653 = 1;\n$al4657 = L[2867];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"An \"));\nbreak;\ncase 1: var anf_arg4677 = $ans4656;\n$step4653 = 2;\n$al4657 = L[2866];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 2: var anf_arg4675 = $ans4656;\n$step4653 = 3;\n$al4657 = L[2865];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"code\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"code\"].app(anf_arg4675);\nbreak;\ncase 3: var anf_arg4678 = $ans4656;\n$step4653 = 4;\n$al4657 = L[2864];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" operation errored.\"));\nbreak;\ncase 4: var anf_arg4679 = $ans4656;\n$step4653 = 5;\n$al4657 = L[2845];\nif(typeof(anf_fun4676.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4676);\n}\n$ans4656 = anf_fun4676.app(anf_arg4677,anf_arg4678,anf_arg4679);\nbreak;\ncase 5: var anf_arg4681 = $ans4656;\n$step4653 = 6;\n$al4657 = L[2863];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg4680,anf_arg4681);\nbreak;\ncase 6: var anf_arg4697 = $ans4656;\n$ans4656 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2846],L[2847]);\nvar anf_fun4684 = $ans4656;\n$step4653 = 7;\n$al4657 = L[2862];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"The table had \"));\nbreak;\ncase 7: var anf_arg4685 = $ans4656;\n$al4657 = L[2848];\nvar anf_arg4682 = G(self4655,\"expected\",L[2848]);\n$step4653 = 8;\n$al4657 = L[2861];\nif(typeof(ED6.dict.values.dict[\"ed-rows\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"ed-rows\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"ed-rows\"].app(anf_arg4682);\nbreak;\ncase 8: var anf_arg4686 = $ans4656;\n$step4653 = 9;\n$al4657 = L[2860];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 9: var anf_arg4687 = $ans4656;\n$al4657 = L[2849];\nvar anf_arg4683 = G(self4655,\"actual\",L[2849]);\n$step4653 = 10;\n$al4657 = L[2859];\nif(typeof(ED6.dict.values.dict[\"ed-values\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"ed-values\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"ed-values\"].app(anf_arg4683);\nbreak;\ncase 10: var anf_arg4688 = $ans4656;\n$step4653 = 11;\n$al4657 = L[2858];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" were provided:\"));\nbreak;\ncase 11: var anf_arg4689 = $ans4656;\n$step4653 = 12;\n$al4657 = L[2847];\nif(typeof(anf_fun4684.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4684);\n}\n$ans4656 = anf_fun4684.app(anf_arg4685,anf_arg4686,anf_arg4687,anf_arg4688,anf_arg4689);\nbreak;\ncase 12: var anf_arg4698 = $ans4656;\n$al4657 = L[2850];\nvar anf_arg4690 = G(self4655,\"value\",L[2850]);\n$step4653 = 13;\n$al4657 = L[2857];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"embed\"].app(anf_arg4690);\nbreak;\ncase 13: var anf_arg4699 = $ans4656;\n$ans4656 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2851],L[2852]);\nvar anf_fun4692 = $ans4656;\n$step4653 = 14;\n$al4657 = L[2856];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg4693 = $ans4656;\n$step4653 = 15;\n$al4657 = L[2855];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\"add-column\"));\nbreak;\ncase 15: var anf_arg4691 = $ans4656;\n$step4653 = 16;\n$al4657 = L[2854];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"code\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"code\"].app(anf_arg4691);\nbreak;\ncase 16: var anf_arg4694 = $ans4656;\n$step4653 = 17;\n$al4657 = L[2853];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,ED6.dict.values.dict[\"text\"]);\n}\n$ans4656 = ED6.dict.values.dict[\"text\"].app((\" operation expects the number of provided values to match the number of rows in the table.\"));\nbreak;\ncase 17: var anf_arg4695 = $ans4656;\n$step4653 = 18;\n$al4657 = L[2852];\nif(typeof(anf_fun4692.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4692);\n}\n$ans4656 = anf_fun4692.app(anf_arg4693,anf_arg4694,anf_arg4695);\nbreak;\ncase 18: var anf_arg4700 = $ans4656;\n$step4653 = 19;\n$al4657 = L[2834];\nif(typeof(anf_fun4696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4657,anf_fun4696);\n}\n$ans4656 = anf_fun4696.app(anf_arg4697,anf_arg4698,anf_arg4699,anf_arg4700);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans4656;\ndefault: R.ffi.throwSpinnakerError(L[2832],$step4653);\n}\n}\nif($step4653 !== 19) {\n$ans4656.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4657,$temp_full4654,$step4653,[self4655],[anf_arg4693,anf_arg4694,anf_arg4685,anf_arg4686,anf_arg4697,anf_arg4687,anf_arg4698,anf_arg4677,anf_arg4688,anf_arg4699,anf_arg4678,anf_fun4692,anf_fun4684,anf_fun4696,anf_fun4676,anf_arg4680],$elidedFrames4659);\n}\nreturn $ans4656;\n};\nvar anf_variant_member5985 = R.makeMethod0($temp_full4654,\"render-reason\");\nvar $temp_full4703 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2868($self4704,$maybe$stack$loc4705,$src$available4706,$maybe$ast4707) {\nvar $step4702 = 0;\nvar $elidedFrames4711 = 0;\nvar $ans4708 = D;\nvar $al4709 = L[2868];\nif(R.isAR($self4704)) {\n$step4702 = $self4704.step;\n$al4709 = $self4704.from;\n$ans4708 = $self4704.ans;\n$elidedFrames4711 = $self4704.elidedFrames;\nself4704 = $self4704.args[0];\nmaybe$stack$loc4705 = $self4704.args[1];\nsrc$available4706 = $self4704.args[2];\nmaybe$ast4707 = $self4704.args[3];\nanf_arg4792 = $self4704.vars[0];\nanf_arg4793 = $self4704.vars[1];\nanf_fun4714 = $self4704.vars[2];\nanf_fun4717 = $self4704.vars[3];\nanf_arg4718 = $self4704.vars[4];\nanf_arg4719 = $self4704.vars[5];\ncases4723 = $self4704.vars[6];\nanf_fun4791 = $self4704.vars[7];\nanf_fun4788 = $self4704.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2868],4,$t,true);\n}\nvar self4704 = $self4704;\nvar maybe$stack$loc4705 = $maybe$stack$loc4705;\nvar src$available4706 = $src$available4706;\nvar maybe$ast4707 = $maybe$ast4707;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4708 = R.mC();\n}\nwhile(!R.isContinuation($ans4708)) {\nswitch($step4702) {\ncase 0: $al4709 = L[2869];\nvar anf_method_obj4712 = G(self4704,\"loc\",L[2869]);\n$step4702 = 1;\n$ans4708 = R.maybeMethodCall0(anf_method_obj4712,\"is-builtin\",L[2870]);\nbreak;\ncase 1: var anf_if4796 = $ans4708;\n$step4702 = R.checkPyretTrue(anf_if4796)?2:7;\nbreak;\ncase 2: $ans4708 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2871],L[2872]);\nvar anf_fun4717 = $ans4708;\n$al4709 = L[2873];\nvar anf_arg4713 = G(self4704,\"loc\",L[2873]);\n$step4702 = 3;\n$al4709 = L[2879];\n// omitting isFunction check;\n$ans4708 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4713);\nbreak;\ncase 3: var anf_arg4718 = $ans4708;\n$ans4708 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2874],L[2875]);\nvar anf_fun4714 = $ans4708;\n$step4702 = 4;\n$al4709 = L[2878];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"text\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 4: var anf_arg4715 = $ans4708;\n$step4702 = 5;\n$al4709 = L[2875];\nif(typeof(anf_fun4714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4714);\n}\n$ans4708 = anf_fun4714.app(anf_arg4715);\nbreak;\ncase 5: var anf_arg4719 = $ans4708;\n$al4709 = L[2876];\nvar anf_arg4716 = G(self4704,\"non-fun-val\",L[2876]);\n$step4702 = 6;\n$al4709 = L[2877];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"embed\"].app(anf_arg4716);\nbreak;\ncase 6: var anf_arg4720 = $ans4708;\n$step4702 = 20;\n$al4709 = L[2872];\nif(typeof(anf_fun4717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4717);\n}\n$ans4708 = anf_fun4717.app(anf_arg4718,anf_arg4719,anf_arg4720);\nbreak;\ncase 7: $al4709 = L[2880];\nvar anf_arg4721 = G(self4704,\"loc\",L[2880]);\n$step4702 = 8;\n$al4709 = L[2929];\nif(typeof(src$available4706.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,src$available4706);\n}\n$ans4708 = src$available4706.app(anf_arg4721);\nbreak;\ncase 8: var anf_if4795 = $ans4708;\n$step4702 = R.checkPyretTrue(anf_if4795)?9:15;\nbreak;\ncase 9: $al4709 = L[2881];\nvar anf_arg4722 = G(self4704,\"loc\",L[2881]);\n$step4702 = 10;\n$al4709 = L[2919];\nif(typeof(maybe$ast4707.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,maybe$ast4707);\n}\n$ans4708 = maybe$ast4707.app(anf_arg4722);\nbreak;\ncase 10: var cases4723 = $ans4708;\n$step4702 = 11;\n$al4709 = L[2918];\nvar $ann$check4786 = R._cA(L[2918],R.gDA(L[2918],\"O\",O8.dict.types,\"Option\"),cases4723);\nif(R.isContinuation($ann$check4786)) {\n$ans4708 = $ann$check4786;\n}\nbreak;\ncase 11: $al4709 = L[2905];\n$step4702 = $cases_dispatch4785[cases4723.$name] || 14;\nbreak;\ncase 12: if(cases4723.$arity !== 1) {\nif(cases4723.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2904],1,cases4723.$arity,L[2905],cases4723.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2904],true,L[2905],cases4723.$loc);\n}\n}\n$step4702 = 20;\n$al4709 = L[2904];\nvar $temp_branch4756 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2905($ast4726) {\nvar $step4757 = 0;\nvar $elidedFrames4761 = 0;\nvar $ans4758 = D;\nvar $al4759 = L[2883];\nif(R.isAR($ast4726)) {\n$step4757 = $ast4726.step;\n$al4759 = $ast4726.from;\n$ans4758 = $ast4726.ans;\n$elidedFrames4761 = $ast4726.elidedFrames;\nast4726 = $ast4726.args[0];\nanf_fun4737 = $ast4726.vars[0];\nanf_arg4740 = $ast4726.vars[1];\nanf_fun4728 = $ast4726.vars[2];\nanf_arg4730 = $ast4726.vars[3];\nanf_arg4733 = $ast4726.vars[4];\nanf_arg4734 = $ast4726.vars[5];\nanf_arg4738 = $ast4726.vars[6];\nanf_arg4739 = $ast4726.vars[7];\ncases4727 = $ast4726.vars[8];\nanf_fun4732 = $ast4726.vars[9];\n} else {\nvar ast4726 = $ast4726;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4758 = R.mC();\n}\nwhile(!R.isContinuation($ans4758)) {\nswitch($step4757) {\ncase 0: $ans4758 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2882],L[2883]);\nvar anf_fun4737 = $ans4758;\n$al4759 = L[2884];\nvar anf_arg4724 = G(self4704,\"loc\",L[2884]);\n$step4757 = 1;\n$al4759 = L[2903];\n// omitting isFunction check;\n$ans4758 = ed$intro146.$var.app((\"function application expression\"),anf_arg4724,(-1),(true));\nbreak;\ncase 1: var anf_arg4738 = $ans4758;\n$al4759 = L[2885];\nvar anf_arg4725 = G(self4704,\"loc\",L[2885]);\n$step4757 = 2;\n$al4759 = L[2902];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4725);\nbreak;\ncase 2: var anf_arg4739 = $ans4758;\n$ans4758 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2886],L[2887]);\nvar anf_fun4732 = $ans4758;\n$step4757 = 3;\n$al4759 = L[2901];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg4733 = $ans4758;\n$step4757 = 4;\n$al4759 = L[2900];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 4: var anf_arg4730 = $ans4758;\n$ans4758 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2888],L[2889]);\nvar anf_fun4728 = $ans4758;\nvar cases4727 = ast4726;\n$al4759 = L[2896];\n$step4757 = $cases_dispatch4766[cases4727.$name] || 7;\nbreak;\ncase 5: if(cases4727.$arity !== 3) {\nif(cases4727.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2895],3,cases4727.$arity,L[2896],cases4727.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2895],true,L[2896],cases4727.$loc);\n}\n}\nvar $fn4763 = cases4727.$constructor.$fieldNames;\nR.dF(cases4727.dict[$fn4763[0]],cases4727.$mut_fields_mask[0],false);\nvar _fun4742 = R.dF(cases4727.dict[$fn4763[1]],cases4727.$mut_fields_mask[1],false);\nR.dF(cases4727.dict[$fn4763[2]],cases4727.$mut_fields_mask[2],false);\n$step4757 = 8;\n$al4759 = L[2894];\n$ans4758 = G(_fun4742,\"l\",L[2894]);\nbreak;\ncase 6: if(cases4727.$arity !== 6) {\nif(cases4727.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[2898],6,cases4727.$arity,L[2896],cases4727.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[2898],true,L[2896],cases4727.$loc);\n}\n}\nvar $fn4765 = cases4727.$constructor.$fieldNames;\nR.dF(cases4727.dict[$fn4765[0]],cases4727.$mut_fields_mask[0],false);\nvar _fun4747 = R.dF(cases4727.dict[$fn4765[1]],cases4727.$mut_fields_mask[1],false);\nR.dF(cases4727.dict[$fn4765[2]],cases4727.$mut_fields_mask[2],false);\nR.dF(cases4727.dict[$fn4765[3]],cases4727.$mut_fields_mask[3],false);\nR.dF(cases4727.dict[$fn4765[4]],cases4727.$mut_fields_mask[4],false);\nR.dF(cases4727.dict[$fn4765[5]],cases4727.$mut_fields_mask[5],false);\n$step4757 = 8;\n$al4759 = L[2897];\n$ans4758 = G(_fun4747,\"l\",L[2897]);\nbreak;\ncase 7: $step4757 = 8;\n$al4759 = L[2899];\n$ans4758 = G(ast4726,\"l\",L[2899]);\nbreak;\ncase 8: var anf_arg4729 = $ans4758;\n$step4757 = 9;\n$al4759 = L[2889];\nif(typeof(anf_fun4728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4728);\n}\n$ans4758 = anf_fun4728.app(anf_arg4729);\nbreak;\ncase 9: var anf_arg4731 = $ans4758;\n$step4757 = 10;\n$al4759 = L[2893];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4730,anf_arg4731,(0));\nbreak;\ncase 10: var anf_arg4734 = $ans4758;\n$step4757 = 11;\n$al4759 = L[2892];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"text\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"text\"].app((\" was not a function value:\"));\nbreak;\ncase 11: var anf_arg4735 = $ans4758;\n$step4757 = 12;\n$al4759 = L[2887];\nif(typeof(anf_fun4732.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4732);\n}\n$ans4758 = anf_fun4732.app(anf_arg4733,anf_arg4734,anf_arg4735);\nbreak;\ncase 12: var anf_arg4740 = $ans4758;\n$al4759 = L[2890];\nvar anf_arg4736 = G(self4704,\"non-fun-val\",L[2890]);\n$step4757 = 13;\n$al4759 = L[2891];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4758 = ED6.dict.values.dict[\"embed\"].app(anf_arg4736);\nbreak;\ncase 13: var anf_arg4741 = $ans4758;\n$step4757 = 14;\n$al4759 = L[2883];\nif(typeof(anf_fun4737.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4759,anf_fun4737);\n}\n$ans4758 = anf_fun4737.app(anf_arg4738,anf_arg4739,anf_arg4740,anf_arg4741);\nbreak;\ncase 14: ++R.GAS;\nreturn $ans4758;\ndefault: R.ffi.throwSpinnakerError(L[2883],$step4757);\n}\n}\nif($step4757 !== 14) {\n$ans4758.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4759,$temp_branch4756,$step4757,[ast4726],[anf_fun4737,anf_arg4740,anf_fun4728,anf_arg4730,anf_arg4733,anf_arg4734,anf_arg4738,anf_arg4739,cases4727,anf_fun4732],$elidedFrames4761);\n}\nreturn $ans4758;\n};\n$ans4708 = cases4723.$app_fields($temp_branch4756,[false]);\nbreak;\ncase 13: if(cases4723.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[2917],false,L[2905],cases4723.$loc);\n}\n$step4702 = 20;\n$al4709 = L[2917];\nvar $temp_branch4778 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2905($$resumer13) {\nvar $step4779 = 0;\nvar $elidedFrames4783 = 0;\nvar $ans4780 = D;\nvar $al4781 = L[2907];\nif(R.isAR($$resumer13)) {\n$step4779 = $$resumer13.step;\n$al4781 = $$resumer13.from;\n$ans4780 = $$resumer13.ans;\n$elidedFrames4783 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg4774 = $$resumer13.vars[0];\nanf_arg4775 = $$resumer13.vars[1];\nanf_arg4776 = $$resumer13.vars[2];\nanf_fun4770 = $$resumer13.vars[3];\nanf_fun4773 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4780 = R.mC();\n}\nwhile(!R.isContinuation($ans4780)) {\nswitch($step4779) {\ncase 0: $ans4780 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[2906],L[2907]);\nvar anf_fun4773 = $ans4780;\n$al4781 = L[2908];\nvar anf_arg4768 = G(self4704,\"loc\",L[2908]);\n$step4779 = 1;\n$al4781 = L[2916];\n// omitting isFunction check;\n$ans4780 = ed$intro146.$var.app((\"function application expression\"),anf_arg4768,(0),(true));\nbreak;\ncase 1: var anf_arg4774 = $ans4780;\n$al4781 = L[2909];\nvar anf_arg4769 = G(self4704,\"loc\",L[2909]);\n$step4779 = 2;\n$al4781 = L[2915];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4769);\nbreak;\ncase 2: var anf_arg4775 = $ans4780;\n$ans4780 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2910],L[2911]);\nvar anf_fun4770 = $ans4780;\n$step4779 = 3;\n$al4781 = L[2914];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"text\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 3: var anf_arg4771 = $ans4780;\n$step4779 = 4;\n$al4781 = L[2911];\nif(typeof(anf_fun4770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,anf_fun4770);\n}\n$ans4780 = anf_fun4770.app(anf_arg4771);\nbreak;\ncase 4: var anf_arg4776 = $ans4780;\n$al4781 = L[2912];\nvar anf_arg4772 = G(self4704,\"non-fun-val\",L[2912]);\n$step4779 = 5;\n$al4781 = L[2913];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4780 = ED6.dict.values.dict[\"embed\"].app(anf_arg4772);\nbreak;\ncase 5: var anf_arg4777 = $ans4780;\n$step4779 = 6;\n$al4781 = L[2907];\nif(typeof(anf_fun4773.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4781,anf_fun4773);\n}\n$ans4780 = anf_fun4773.app(anf_arg4774,anf_arg4775,anf_arg4776,anf_arg4777);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4780;\ndefault: R.ffi.throwSpinnakerError(L[2907],$step4779);\n}\n}\nif($step4779 !== 6) {\n$ans4780.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4781,$temp_branch4778,$step4779,[],[anf_arg4774,anf_arg4775,anf_arg4776,anf_fun4770,anf_fun4773],$elidedFrames4783);\n}\nreturn $ans4780;\n};\n$ans4708 = cases4723.$app_fields($temp_branch4778,[]);\nbreak;\ncase 14: $ans4708 = R.throwNoCasesMatched(L[2905],cases4723);\n$step4702 = 20;\nbreak;\ncase 15: $ans4708 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2920],L[2921]);\nvar anf_fun4791 = $ans4708;\n$al4709 = L[2922];\nvar anf_arg4787 = G(self4704,\"loc\",L[2922]);\n$step4702 = 16;\n$al4709 = L[2928];\n// omitting isFunction check;\n$ans4708 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4787);\nbreak;\ncase 16: var anf_arg4792 = $ans4708;\n$ans4708 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2923],L[2924]);\nvar anf_fun4788 = $ans4708;\n$step4702 = 17;\n$al4709 = L[2927];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"text\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 17: var anf_arg4789 = $ans4708;\n$step4702 = 18;\n$al4709 = L[2924];\nif(typeof(anf_fun4788.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4788);\n}\n$ans4708 = anf_fun4788.app(anf_arg4789);\nbreak;\ncase 18: var anf_arg4793 = $ans4708;\n$al4709 = L[2925];\nvar anf_arg4790 = G(self4704,\"non-fun-val\",L[2925]);\n$step4702 = 19;\n$al4709 = L[2926];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4708 = ED6.dict.values.dict[\"embed\"].app(anf_arg4790);\nbreak;\ncase 19: var anf_arg4794 = $ans4708;\n$step4702 = 20;\n$al4709 = L[2921];\nif(typeof(anf_fun4791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4709,anf_fun4791);\n}\n$ans4708 = anf_fun4791.app(anf_arg4792,anf_arg4793,anf_arg4794);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans4708;\ndefault: R.ffi.throwSpinnakerError(L[2868],$step4702);\n}\n}\nif($step4702 !== 20) {\n$ans4708.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4709,$temp_full4703,$step4702,[self4704,maybe$stack$loc4705,src$available4706,maybe$ast4707],[anf_arg4792,anf_arg4793,anf_fun4714,anf_fun4717,anf_arg4718,anf_arg4719,cases4723,anf_fun4791,anf_fun4788],$elidedFrames4711);\n}\nreturn $ans4708;\n};\nvar anf_variant_member5996 = R.makeMethod3($temp_full4703,\"render-fancy-reason\");\nvar $temp_full4799 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2930($self4800) {\nvar $step4798 = 0;\nvar $elidedFrames4804 = 0;\nvar $ans4801 = D;\nvar $al4802 = L[2930];\nif(R.isAR($self4800)) {\n$step4798 = $self4800.step;\n$al4802 = $self4800.from;\n$ans4801 = $self4800.ans;\n$elidedFrames4804 = $self4800.elidedFrames;\nself4800 = $self4800.args[0];\nanf_fun4809 = $self4800.vars[0];\nanf_arg4810 = $self4800.vars[1];\nanf_fun4806 = $self4800.vars[2];\nanf_arg4811 = $self4800.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2930],1,$t,true);\n}\nvar self4800 = $self4800;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4801 = R.mC();\n}\nwhile(!R.isContinuation($ans4801)) {\nswitch($step4798) {\ncase 0: $ans4801 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2931],L[2932]);\nvar anf_fun4809 = $ans4801;\n$al4802 = L[2933];\nvar anf_arg4805 = G(self4800,\"loc\",L[2933]);\n$step4798 = 1;\n$al4802 = L[2939];\n// omitting isFunction check;\n$ans4801 = ed$simple$intro104.$var.app((\"function application expression\"),anf_arg4805);\nbreak;\ncase 1: var anf_arg4810 = $ans4801;\n$ans4801 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[2934],L[2935]);\nvar anf_fun4806 = $ans4801;\n$step4798 = 2;\n$al4802 = L[2938];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,ED6.dict.values.dict[\"text\"]);\n}\n$ans4801 = ED6.dict.values.dict[\"text\"].app((\"The left side was not a function value:\"));\nbreak;\ncase 2: var anf_arg4807 = $ans4801;\n$step4798 = 3;\n$al4802 = L[2935];\nif(typeof(anf_fun4806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,anf_fun4806);\n}\n$ans4801 = anf_fun4806.app(anf_arg4807);\nbreak;\ncase 3: var anf_arg4811 = $ans4801;\n$al4802 = L[2936];\nvar anf_arg4808 = G(self4800,\"non-fun-val\",L[2936]);\n$step4798 = 4;\n$al4802 = L[2937];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,ED6.dict.values.dict[\"embed\"]);\n}\n$ans4801 = ED6.dict.values.dict[\"embed\"].app(anf_arg4808);\nbreak;\ncase 4: var anf_arg4812 = $ans4801;\n$step4798 = 5;\n$al4802 = L[2932];\nif(typeof(anf_fun4809.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4802,anf_fun4809);\n}\n$ans4801 = anf_fun4809.app(anf_arg4810,anf_arg4811,anf_arg4812);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans4801;\ndefault: R.ffi.throwSpinnakerError(L[2930],$step4798);\n}\n}\nif($step4798 !== 5) {\n$ans4801.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4802,$temp_full4799,$step4798,[self4800],[anf_fun4809,anf_arg4810,anf_fun4806,anf_arg4811],$elidedFrames4804);\n}\nreturn $ans4801;\n};\nvar anf_variant_member5997 = R.makeMethod0($temp_full4799,\"render-reason\");\nvar $temp_full4815 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2940($self4816,$maybe$stack$loc4817,$src$available4818,$maybe$ast4819) {\nvar $step4814 = 0;\nvar $elidedFrames4823 = 0;\nvar $ans4820 = D;\nvar $al4821 = L[2940];\nif(R.isAR($self4816)) {\n$step4814 = $self4816.step;\n$al4821 = $self4816.from;\n$ans4820 = $self4816.ans;\n$elidedFrames4823 = $self4816.elidedFrames;\nself4816 = $self4816.args[0];\nmaybe$stack$loc4817 = $self4816.args[1];\nsrc$available4818 = $self4816.args[2];\nmaybe$ast4819 = $self4816.args[3];\nanf_fun4833 = $self4816.vars[0];\nanf_fun4866 = $self4816.vars[1];\nanf_arg4850 = $self4816.vars[2];\nanf_arg4861 = $self4816.vars[3];\nanf_fun4849 = $self4816.vars[4];\nanf_arg4851 = $self4816.vars[5];\nanf_arg4862 = $self4816.vars[6];\nanf_fun4828 = $self4816.vars[7];\nanf_arg4830 = $self4816.vars[8];\nanf_arg4863 = $self4816.vars[9];\nanf_arg4831 = $self4816.vars[10];\nanf_arg4842 = $self4816.vars[11];\nanf_arg4864 = $self4816.vars[12];\nanf_arg4854 = $self4816.vars[13];\nanf_arg4855 = $self4816.vars[14];\nanf_arg4834 = $self4816.vars[15];\nanf_arg4847 = $self4816.vars[16];\nanf_arg4839 = $self4816.vars[17];\nanf_arg4829 = $self4816.vars[18];\nanf_fun4860 = $self4816.vars[19];\nanf_fun4841 = $self4816.vars[20];\nanf_fun4853 = $self4816.vars[21];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2940],4,$t,true);\n}\nvar self4816 = $self4816;\nvar maybe$stack$loc4817 = $maybe$stack$loc4817;\nvar src$available4818 = $src$available4818;\nvar maybe$ast4819 = $maybe$ast4819;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4820 = R.mC();\n}\nwhile(!R.isContinuation($ans4820)) {\nswitch($step4814) {\ncase 0: $al4821 = L[2941];\nvar anf_method_obj4824 = G(self4816,\"loc\",L[2941]);\n$step4814 = 1;\n$ans4820 = R.maybeMethodCall0(anf_method_obj4824,\"is-builtin\",L[2942]);\nbreak;\ncase 1: var anf_if4869 = $ans4820;\n$step4814 = R.checkPyretTrue(anf_if4869)?2:10;\nbreak;\ncase 2: $ans4820 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[2943],L[2944]);\nvar anf_fun4833 = $ans4820;\n$ans4820 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2945],L[2946]);\nvar anf_fun4828 = $ans4820;\n$step4814 = 3;\n$al4821 = L[2954];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 3: var anf_arg4829 = $ans4820;\n$al4821 = L[2947];\nvar anf_arg4825 = G(self4816,\"name\",L[2947]);\n$step4814 = 4;\n$al4821 = L[2953];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app(anf_arg4825);\nbreak;\ncase 4: var anf_arg4826 = $ans4820;\n$step4814 = 5;\n$al4821 = L[2952];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"code\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"code\"].app(anf_arg4826);\nbreak;\ncase 5: var anf_arg4830 = $ans4820;\n$step4814 = 6;\n$al4821 = L[2951];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound in \"));\nbreak;\ncase 6: var anf_arg4831 = $ans4820;\n$al4821 = L[2948];\nvar anf_arg4827 = G(self4816,\"loc\",L[2948]);\n$step4814 = 7;\n$al4821 = L[2950];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"loc\"].app(anf_arg4827);\nbreak;\ncase 7: var anf_arg4832 = $ans4820;\n$step4814 = 8;\n$al4821 = L[2946];\nif(typeof(anf_fun4828.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4828);\n}\n$ans4820 = anf_fun4828.app(anf_arg4829,anf_arg4830,anf_arg4831,anf_arg4832);\nbreak;\ncase 8: var anf_arg4834 = $ans4820;\n$step4814 = 9;\n$al4821 = L[2949];\n// omitting isFunction check;\n$ans4820 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg4835 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2944];\nif(typeof(anf_fun4833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4833);\n}\n$ans4820 = anf_fun4833.app(anf_arg4834,anf_arg4835);\nbreak;\ncase 10: $al4821 = L[2955];\nvar anf_arg4836 = G(self4816,\"loc\",L[2955]);\n$step4814 = 11;\n$al4821 = L[2989];\nif(typeof(src$available4818.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,src$available4818);\n}\n$ans4820 = src$available4818.app(anf_arg4836);\nbreak;\ncase 11: var anf_if4868 = $ans4820;\n$step4814 = R.checkPyretTrue(anf_if4868)?12:25;\nbreak;\ncase 12: $ans4820 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[2956],L[2957]);\nvar anf_fun4853 = $ans4820;\n$ans4820 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[2958],L[2959]);\nvar anf_fun4841 = $ans4820;\n$step4814 = 13;\n$al4821 = L[2976];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 13: var anf_arg4842 = $ans4820;\n$step4814 = 14;\n$al4821 = L[2975];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"identifier\"));\nbreak;\ncase 14: var anf_arg4839 = $ans4820;\n$ans4820 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2960],L[2961]);\nvar anf_fun4837 = $ans4820;\n$al4821 = L[2962];\nvar anf_arg4838 = G(self4816,\"loc\",L[2962]);\n$step4814 = 15;\n$al4821 = L[2961];\nif(typeof(anf_fun4837.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4837);\n}\n$ans4820 = anf_fun4837.app(anf_arg4838);\nbreak;\ncase 15: var anf_arg4840 = $ans4820;\n$step4814 = 16;\n$al4821 = L[2974];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4839,anf_arg4840,(0));\nbreak;\ncase 16: var anf_arg4843 = $ans4820;\n$step4814 = 17;\n$al4821 = L[2959];\nif(typeof(anf_fun4841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4841);\n}\n$ans4820 = anf_fun4841.app(anf_arg4842,anf_arg4843);\nbreak;\ncase 17: var anf_arg4854 = $ans4820;\n$al4821 = L[2963];\nvar anf_arg4844 = G(self4816,\"loc\",L[2963]);\n$step4814 = 18;\n$al4821 = L[2973];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg4844);\nbreak;\ncase 18: var anf_arg4855 = $ans4820;\n$ans4820 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[2964],L[2965]);\nvar anf_fun4849 = $ans4820;\n$step4814 = 19;\n$al4821 = L[2972];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being \"));\nbreak;\ncase 19: var anf_arg4850 = $ans4820;\n$step4814 = 20;\n$al4821 = L[2971];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"used\"));\nbreak;\ncase 20: var anf_arg4847 = $ans4820;\n$ans4820 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[2966],L[2967]);\nvar anf_fun4845 = $ans4820;\n$al4821 = L[2968];\nvar anf_arg4846 = G(self4816,\"loc\",L[2968]);\n$step4814 = 21;\n$al4821 = L[2967];\nif(typeof(anf_fun4845.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4845);\n}\n$ans4820 = anf_fun4845.app(anf_arg4846);\nbreak;\ncase 21: var anf_arg4848 = $ans4820;\n$step4814 = 22;\n$al4821 = L[2970];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"highlight\"].app(anf_arg4847,anf_arg4848,(0));\nbreak;\ncase 22: var anf_arg4851 = $ans4820;\n$step4814 = 23;\n$al4821 = L[2969];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" before it has been is initialized to a value.\"));\nbreak;\ncase 23: var anf_arg4852 = $ans4820;\n$step4814 = 24;\n$al4821 = L[2965];\nif(typeof(anf_fun4849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4849);\n}\n$ans4820 = anf_fun4849.app(anf_arg4850,anf_arg4851,anf_arg4852);\nbreak;\ncase 24: var anf_arg4856 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2957];\nif(typeof(anf_fun4853.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4853);\n}\n$ans4820 = anf_fun4853.app(anf_arg4854,anf_arg4855,anf_arg4856);\nbreak;\ncase 25: $ans4820 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[2977],L[2978]);\nvar anf_fun4866 = $ans4820;\n$ans4820 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[2979],L[2980]);\nvar anf_fun4860 = $ans4820;\n$step4814 = 26;\n$al4821 = L[2988];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 26: var anf_arg4861 = $ans4820;\n$al4821 = L[2981];\nvar anf_arg4857 = G(self4816,\"name\",L[2981]);\n$step4814 = 27;\n$al4821 = L[2987];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app(anf_arg4857);\nbreak;\ncase 27: var anf_arg4858 = $ans4820;\n$step4814 = 28;\n$al4821 = L[2986];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"code\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"code\"].app(anf_arg4858);\nbreak;\ncase 28: var anf_arg4862 = $ans4820;\n$step4814 = 29;\n$al4821 = L[2985];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 29: var anf_arg4863 = $ans4820;\n$al4821 = L[2982];\nvar anf_arg4859 = G(self4816,\"loc\",L[2982]);\n$step4814 = 30;\n$al4821 = L[2984];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"loc\"].app(anf_arg4859);\nbreak;\ncase 30: var anf_arg4864 = $ans4820;\n$step4814 = 31;\n$al4821 = L[2983];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,ED6.dict.values.dict[\"text\"]);\n}\n$ans4820 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being used before it has been is initialized to a value.\"));\nbreak;\ncase 31: var anf_arg4865 = $ans4820;\n$step4814 = 32;\n$al4821 = L[2980];\nif(typeof(anf_fun4860.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4860);\n}\n$ans4820 = anf_fun4860.app(anf_arg4861,anf_arg4862,anf_arg4863,anf_arg4864,anf_arg4865);\nbreak;\ncase 32: var anf_arg4867 = $ans4820;\n$step4814 = 33;\n$al4821 = L[2978];\nif(typeof(anf_fun4866.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4821,anf_fun4866);\n}\n$ans4820 = anf_fun4866.app(anf_arg4867);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans4820;\ndefault: R.ffi.throwSpinnakerError(L[2940],$step4814);\n}\n}\nif($step4814 !== 33) {\n$ans4820.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4821,$temp_full4815,$step4814,[self4816,maybe$stack$loc4817,src$available4818,maybe$ast4819],[anf_fun4833,anf_fun4866,anf_arg4850,anf_arg4861,anf_fun4849,anf_arg4851,anf_arg4862,anf_fun4828,anf_arg4830,anf_arg4863,anf_arg4831,anf_arg4842,anf_arg4864,anf_arg4854,anf_arg4855,anf_arg4834,anf_arg4847,anf_arg4839,anf_arg4829,anf_fun4860,anf_fun4841,anf_fun4853],$elidedFrames4823);\n}\nreturn $ans4820;\n};\nvar anf_variant_member6006 = R.makeMethod3($temp_full4815,\"render-fancy-reason\");\nvar $temp_full4872 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__2990($self4873) {\nvar $step4871 = 0;\nvar $elidedFrames4877 = 0;\nvar $ans4874 = D;\nvar $al4875 = L[2990];\nif(R.isAR($self4873)) {\n$step4871 = $self4873.step;\n$al4875 = $self4873.from;\n$ans4874 = $self4873.ans;\n$elidedFrames4877 = $self4873.elidedFrames;\nself4873 = $self4873.args[0];\nanf_fun4899 = $self4873.vars[0];\nanf_arg4883 = $self4873.vars[1];\nanf_arg4894 = $self4873.vars[2];\nanf_arg4884 = $self4873.vars[3];\nanf_arg4895 = $self4873.vars[4];\nanf_arg4885 = $self4873.vars[5];\nanf_arg4896 = $self4873.vars[6];\nanf_arg4897 = $self4873.vars[7];\nanf_arg4888 = $self4873.vars[8];\nanf_fun4882 = $self4873.vars[9];\nanf_fun4893 = $self4873.vars[10];\nanf_fun4887 = $self4873.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2990],1,$t,true);\n}\nvar self4873 = $self4873;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4874 = R.mC();\n}\nwhile(!R.isContinuation($ans4874)) {\nswitch($step4871) {\ncase 0: $al4875 = L[2991];\nvar anf_method_obj4878 = G(self4873,\"loc\",L[2991]);\n$step4871 = 1;\n$ans4874 = R.maybeMethodCall0(anf_method_obj4878,\"is-builtin\",L[2992]);\nbreak;\ncase 1: var anf_if4901 = $ans4874;\n$step4871 = R.checkPyretTrue(anf_if4901)?2:10;\nbreak;\ncase 2: $ans4874 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[2993],L[2994]);\nvar anf_fun4887 = $ans4874;\n$ans4874 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[2995],L[2996]);\nvar anf_fun4882 = $ans4874;\n$step4871 = 3;\n$al4875 = L[3004];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 3: var anf_arg4883 = $ans4874;\n$al4875 = L[2997];\nvar anf_arg4879 = G(self4873,\"name\",L[2997]);\n$step4871 = 4;\n$al4875 = L[3003];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app(anf_arg4879);\nbreak;\ncase 4: var anf_arg4880 = $ans4874;\n$step4871 = 5;\n$al4875 = L[3002];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"code\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"code\"].app(anf_arg4880);\nbreak;\ncase 5: var anf_arg4884 = $ans4874;\n$step4871 = 6;\n$al4875 = L[3001];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" is unbound in \"));\nbreak;\ncase 6: var anf_arg4885 = $ans4874;\n$al4875 = L[2998];\nvar anf_arg4881 = G(self4873,\"loc\",L[2998]);\n$step4871 = 7;\n$al4875 = L[3000];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"loc\"].app(anf_arg4881);\nbreak;\ncase 7: var anf_arg4886 = $ans4874;\n$step4871 = 8;\n$al4875 = L[2996];\nif(typeof(anf_fun4882.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4882);\n}\n$ans4874 = anf_fun4882.app(anf_arg4883,anf_arg4884,anf_arg4885,anf_arg4886);\nbreak;\ncase 8: var anf_arg4888 = $ans4874;\n$step4871 = 9;\n$al4875 = L[2999];\n// omitting isFunction check;\n$ans4874 = please$report$bug158.$var.app();\nbreak;\ncase 9: var anf_arg4889 = $ans4874;\n$step4871 = 18;\n$al4875 = L[2994];\nif(typeof(anf_fun4887.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4887);\n}\n$ans4874 = anf_fun4887.app(anf_arg4888,anf_arg4889);\nbreak;\ncase 10: $ans4874 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3005],L[3006]);\nvar anf_fun4899 = $ans4874;\n$ans4874 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3007],L[3008]);\nvar anf_fun4893 = $ans4874;\n$step4871 = 11;\n$al4875 = L[3016];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\"The identifier \"));\nbreak;\ncase 11: var anf_arg4894 = $ans4874;\n$al4875 = L[3009];\nvar anf_arg4890 = G(self4873,\"name\",L[3009]);\n$step4871 = 12;\n$al4875 = L[3015];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app(anf_arg4890);\nbreak;\ncase 12: var anf_arg4891 = $ans4874;\n$step4871 = 13;\n$al4875 = L[3014];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"code\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"code\"].app(anf_arg4891);\nbreak;\ncase 13: var anf_arg4895 = $ans4874;\n$step4871 = 14;\n$al4875 = L[3013];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 14: var anf_arg4896 = $ans4874;\n$al4875 = L[3010];\nvar anf_arg4892 = G(self4873,\"loc\",L[3010]);\n$step4871 = 15;\n$al4875 = L[3012];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"loc\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"loc\"].app(anf_arg4892);\nbreak;\ncase 15: var anf_arg4897 = $ans4874;\n$step4871 = 16;\n$al4875 = L[3011];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,ED6.dict.values.dict[\"text\"]);\n}\n$ans4874 = ED6.dict.values.dict[\"text\"].app((\" is unbound. Although it has been previously defined, it is being used before it has been is initialized to a value.\"));\nbreak;\ncase 16: var anf_arg4898 = $ans4874;\n$step4871 = 17;\n$al4875 = L[3008];\nif(typeof(anf_fun4893.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4893);\n}\n$ans4874 = anf_fun4893.app(anf_arg4894,anf_arg4895,anf_arg4896,anf_arg4897,anf_arg4898);\nbreak;\ncase 17: var anf_arg4900 = $ans4874;\n$step4871 = 18;\n$al4875 = L[3006];\nif(typeof(anf_fun4899.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4875,anf_fun4899);\n}\n$ans4874 = anf_fun4899.app(anf_arg4900);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans4874;\ndefault: R.ffi.throwSpinnakerError(L[2990],$step4871);\n}\n}\nif($step4871 !== 18) {\n$ans4874.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4875,$temp_full4872,$step4871,[self4873],[anf_fun4899,anf_arg4883,anf_arg4894,anf_arg4884,anf_arg4895,anf_arg4885,anf_arg4896,anf_arg4897,anf_arg4888,anf_fun4882,anf_fun4893,anf_fun4887],$elidedFrames4877);\n}\nreturn $ans4874;\n};\nvar anf_variant_member6007 = R.makeMethod0($temp_full4872,\"render-reason\");\nvar $temp_full4904 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3017($self4905,$maybe$stack$loc4906,$src$available4907,$maybe$ast4908) {\nvar $step4903 = 0;\nvar $elidedFrames4912 = 0;\nvar $ans4909 = D;\nvar $al4910 = L[3017];\nif(R.isAR($self4905)) {\n$step4903 = $self4905.step;\n$al4910 = $self4905.from;\n$ans4909 = $self4905.ans;\n$elidedFrames4912 = $self4905.elidedFrames;\nself4905 = $self4905.args[0];\nmaybe$stack$loc4906 = $self4905.args[1];\nsrc$available4907 = $self4905.args[2];\nmaybe$ast4908 = $self4905.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3017],4,$t,true);\n}\nvar self4905 = $self4905;\nvar maybe$stack$loc4906 = $maybe$stack$loc4906;\nvar src$available4907 = $src$available4907;\nvar maybe$ast4908 = $maybe$ast4908;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4909 = R.mC();\n}\nwhile(!R.isContinuation($ans4909)) {\nswitch($step4903) {\ncase 0: $step4903 = 1;\n$ans4909 = R.maybeMethodCall0(self4905,\"render-reason\",L[3018]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4909;\ndefault: R.ffi.throwSpinnakerError(L[3017],$step4903);\n}\n}\nif($step4903 !== 1) {\n$ans4909.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4910,$temp_full4904,$step4903,[self4905,maybe$stack$loc4906,src$available4907,maybe$ast4908],[],$elidedFrames4912);\n}\nreturn $ans4909;\n};\nvar anf_variant_member6016 = R.makeMethod3($temp_full4904,\"render-fancy-reason\");\nvar $temp_full4915 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3019($self4916) {\nvar $step4914 = 0;\nvar $elidedFrames4920 = 0;\nvar $ans4917 = D;\nvar $al4918 = L[3019];\nif(R.isAR($self4916)) {\n$step4914 = $self4916.step;\n$al4918 = $self4916.from;\n$ans4917 = $self4916.ans;\n$elidedFrames4920 = $self4916.elidedFrames;\nself4916 = $self4916.args[0];\nanf_fun4923 = $self4916.vars[0];\nanf_fun4927 = $self4916.vars[1];\nanf_arg4928 = $self4916.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3019],1,$t,true);\n}\nvar self4916 = $self4916;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4917 = R.mC();\n}\nwhile(!R.isContinuation($ans4917)) {\nswitch($step4914) {\ncase 0: $ans4917 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3020],L[3021]);\nvar anf_fun4927 = $ans4917;\n$ans4917 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3022],L[3023]);\nvar anf_fun4923 = $ans4917;\n$al4918 = L[3024];\nvar anf_method_obj4921 = G(self4916,\"names\",L[3024]);\n$step4914 = 1;\n$ans4917 = R.maybeMethodCall0(anf_method_obj4921,\"length\",L[3025]);\nbreak;\ncase 1: var anf_arg4922 = $ans4917;\n$step4914 = 2;\n$al4918 = L[3031];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,equal$always1);\n}\n$ans4917 = equal$always1.app(anf_arg4922,(1));\nbreak;\ncase 2: var anf_if4930 = $ans4917;\n$step4914 = R.checkPyretTrue(anf_if4930)?3:4;\nbreak;\ncase 3: $step4914 = 5;\n$al4918 = L[3029];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"text\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"text\"].app((\"The following module failed to load:\"));\nbreak;\ncase 4: $step4914 = 5;\n$al4918 = L[3030];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"text\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"text\"].app((\"The following modules failed to load:\"));\nbreak;\ncase 5: var anf_arg4924 = $ans4917;\n$step4914 = 6;\n$al4918 = L[3023];\nif(typeof(anf_fun4923.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,anf_fun4923);\n}\n$ans4917 = anf_fun4923.app(anf_arg4924);\nbreak;\ncase 6: var anf_arg4928 = $ans4917;\n$al4918 = L[3026];\nvar anf_method_obj4925 = G(self4916,\"names\",L[3026]);\n$step4914 = 7;\n$ans4917 = R.maybeMethodCall1(anf_method_obj4925,\"map\",L[3027],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 7: var anf_arg4926 = $ans4917;\n$step4914 = 8;\n$al4918 = L[3028];\nif(typeof(ED6.dict.values.dict[\"h-sequence-sep\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,ED6.dict.values.dict[\"h-sequence-sep\"]);\n}\n$ans4917 = ED6.dict.values.dict[\"h-sequence-sep\"].app(anf_arg4926,(\", \"),(\", and \"));\nbreak;\ncase 8: var anf_arg4929 = $ans4917;\n$step4914 = 9;\n$al4918 = L[3021];\nif(typeof(anf_fun4927.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4918,anf_fun4927);\n}\n$ans4917 = anf_fun4927.app(anf_arg4928,anf_arg4929);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4917;\ndefault: R.ffi.throwSpinnakerError(L[3019],$step4914);\n}\n}\nif($step4914 !== 9) {\n$ans4917.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4918,$temp_full4915,$step4914,[self4916],[anf_fun4923,anf_fun4927,anf_arg4928],$elidedFrames4920);\n}\nreturn $ans4917;\n};\nvar anf_variant_member6017 = R.makeMethod0($temp_full4915,\"render-reason\");\nvar $temp_full4933 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3032($self4934,$maybe$stack$loc4935,$src$available4936,$maybe$ast4937) {\nvar $step4932 = 0;\nvar $elidedFrames4941 = 0;\nvar $ans4938 = D;\nvar $al4939 = L[3032];\nif(R.isAR($self4934)) {\n$step4932 = $self4934.step;\n$al4939 = $self4934.from;\n$ans4938 = $self4934.ans;\n$elidedFrames4941 = $self4934.elidedFrames;\nself4934 = $self4934.args[0];\nmaybe$stack$loc4935 = $self4934.args[1];\nsrc$available4936 = $self4934.args[2];\nmaybe$ast4937 = $self4934.args[3];\nanf_fun4943 = $self4934.vars[0];\ncases4942 = $self4934.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3032],4,$t,true);\n}\nvar self4934 = $self4934;\nvar maybe$stack$loc4935 = $maybe$stack$loc4935;\nvar src$available4936 = $src$available4936;\nvar maybe$ast4937 = $maybe$ast4937;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4938 = R.mC();\n}\nwhile(!R.isContinuation($ans4938)) {\nswitch($step4932) {\ncase 0: $ans4938 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3033],L[3034]);\nvar anf_fun4943 = $ans4938;\n$step4932 = 1;\n$al4939 = L[3111];\nif(typeof(maybe$stack$loc4935.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4939,maybe$stack$loc4935);\n}\n$ans4938 = maybe$stack$loc4935.app((0),(true));\nbreak;\ncase 1: var cases4942 = $ans4938;\n$step4932 = 2;\n$al4939 = L[3110];\nvar $ann$check5029 = R._cA(L[3110],R.gDA(L[3110],\"O\",O8.dict.types,\"Option\"),cases4942);\nif(R.isContinuation($ann$check5029)) {\n$ans4938 = $ann$check5029;\n}\nbreak;\ncase 2: $al4939 = L[3091];\n$step4932 = $cases_dispatch5028[cases4942.$name] || 5;\nbreak;\ncase 3: if(cases4942.$arity !== 1) {\nif(cases4942.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3090],1,cases4942.$arity,L[3091],cases4942.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3090],true,L[3091],cases4942.$loc);\n}\n}\n$step4932 = 6;\n$al4939 = L[3090];\nvar $temp_branch4998 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3091($loc4945) {\nvar $step4999 = 0;\nvar $elidedFrames5003 = 0;\nvar $ans5000 = D;\nvar $al5001 = L[3035];\nif(R.isAR($loc4945)) {\n$step4999 = $loc4945.step;\n$al5001 = $loc4945.from;\n$ans5000 = $loc4945.ans;\n$elidedFrames5003 = $loc4945.elidedFrames;\nloc4945 = $loc4945.args[0];\nanf_arg4990 = $loc4945.vars[0];\nanf_fun4988 = $loc4945.vars[1];\nanf_arg4991 = $loc4945.vars[2];\nanf_fun4956 = $loc4945.vars[3];\nanf_fun4968 = $loc4945.vars[4];\nanf_arg4970 = $loc4945.vars[5];\nanf_arg4981 = $loc4945.vars[6];\nanf_arg4971 = $loc4945.vars[7];\nanf_arg4982 = $loc4945.vars[8];\nanf_arg4994 = $loc4945.vars[9];\nanf_fun4948 = $loc4945.vars[10];\nanf_arg4950 = $loc4945.vars[11];\nanf_arg4972 = $loc4945.vars[12];\nanf_arg4983 = $loc4945.vars[13];\nanf_arg4951 = $loc4945.vars[14];\nanf_arg4962 = $loc4945.vars[15];\nanf_arg4984 = $loc4945.vars[16];\nanf_arg4952 = $loc4945.vars[17];\nanf_arg4963 = $loc4945.vars[18];\nanf_arg4975 = $loc4945.vars[19];\nanf_arg4976 = $loc4945.vars[20];\nanf_arg4989 = $loc4945.vars[21];\nanf_arg4957 = $loc4945.vars[22];\nanf_arg4958 = $loc4945.vars[23];\nanf_arg4969 = $loc4945.vars[24];\nanf_arg4959 = $loc4945.vars[25];\nanf_arg4949 = $loc4945.vars[26];\nanf_fun4980 = $loc4945.vars[27];\nanf_fun4993 = $loc4945.vars[28];\nanf_fun4961 = $loc4945.vars[29];\nanf_fun4974 = $loc4945.vars[30];\n} else {\nvar loc4945 = $loc4945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5000 = R.mC();\n}\nwhile(!R.isContinuation($ans5000)) {\nswitch($step4999) {\ncase 0: $step4999 = 1;\n$ans5000 = R.maybeMethodCall0(loc4945,\"is-builtin\",L[3035]);\nbreak;\ncase 1: var anf_if4997 = $ans5000;\n$step4999 = R.checkPyretTrue(anf_if4997)?2:16;\nbreak;\ncase 2: $ans5000 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[3036],L[3037]);\nvar anf_fun4961 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3038],L[3039]);\nvar anf_fun4948 = $ans5000;\n$step4999 = 3;\n$al5001 = L[3055];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 3: var anf_arg4949 = $ans5000;\n$al5001 = L[3040];\nvar anf_arg4946 = G(self4934,\"method-name\",L[3040]);\n$step4999 = 4;\n$al5001 = L[3054];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4946);\nbreak;\ncase 4: var anf_arg4947 = $ans5000;\n$step4999 = 5;\n$al5001 = L[3053];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"code\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"code\"].app(anf_arg4947);\nbreak;\ncase 5: var anf_arg4950 = $ans5000;\n$step4999 = 6;\n$al5001 = L[3052];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg4951 = $ans5000;\n$step4999 = 7;\n$al5001 = L[3051];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"loc\"].app(loc4945);\nbreak;\ncase 7: var anf_arg4952 = $ans5000;\n$step4999 = 8;\n$al5001 = L[3050];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 8: var anf_arg4953 = $ans5000;\n$step4999 = 9;\n$al5001 = L[3039];\nif(typeof(anf_fun4948.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4948);\n}\n$ans5000 = anf_fun4948.app(anf_arg4949,anf_arg4950,anf_arg4951,anf_arg4952,anf_arg4953);\nbreak;\ncase 9: var anf_arg4962 = $ans5000;\n$ans5000 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3041],L[3042]);\nvar anf_fun4956 = $ans5000;\n$al5001 = L[3043];\nvar anf_arg4954 = G(self4934,\"index\",L[3043]);\n$step4999 = 10;\n$al5001 = L[3049];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4954);\nbreak;\ncase 10: var anf_arg4957 = $ans5000;\n$step4999 = 11;\n$al5001 = L[3048];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 11: var anf_arg4958 = $ans5000;\n$al5001 = L[3044];\nvar anf_arg4955 = G(self4934,\"reason\",L[3044]);\n$step4999 = 12;\n$al5001 = L[3047];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4955);\nbreak;\ncase 12: var anf_arg4959 = $ans5000;\n$step4999 = 13;\n$al5001 = L[3046];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 13: var anf_arg4960 = $ans5000;\n$step4999 = 14;\n$al5001 = L[3042];\nif(typeof(anf_fun4956.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4956);\n}\n$ans5000 = anf_fun4956.app(anf_arg4957,anf_arg4958,anf_arg4959,anf_arg4960);\nbreak;\ncase 14: var anf_arg4963 = $ans5000;\n$step4999 = 15;\n$al5001 = L[3045];\n// omitting isFunction check;\n$ans5000 = please$report$bug158.$var.app();\nbreak;\ncase 15: var anf_arg4964 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3037];\nif(typeof(anf_fun4961.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4961);\n}\n$ans5000 = anf_fun4961.app(anf_arg4962,anf_arg4963,anf_arg4964);\nbreak;\ncase 16: $step4999 = 17;\n$al5001 = L[3089];\nif(typeof(src$available4936.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,src$available4936);\n}\n$ans5000 = src$available4936.app(loc4945);\nbreak;\ncase 17: var anf_if4996 = $ans5000;\n$step4999 = R.checkPyretTrue(anf_if4996)?18:27;\nbreak;\ncase 18: $ans5000 = R.getMaker3(ED6.dict.values.dict[\"sequence\"],(\"make3\"),L[3056],L[3057]);\nvar anf_fun4974 = $ans5000;\n$al5001 = L[3058];\nvar anf_arg4965 = G(self4934,\"method-name\",L[3058]);\n$step4999 = 19;\n$al5001 = L[3069];\n// omitting isFunction check;\n$ans5000 = ed$intro146.$var.app(anf_arg4965,loc4945,(0),(true));\nbreak;\ncase 19: var anf_arg4975 = $ans5000;\n$step4999 = 20;\n$al5001 = L[3068];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"cmcode\"].app(loc4945);\nbreak;\ncase 20: var anf_arg4976 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3059],L[3060]);\nvar anf_fun4968 = $ans5000;\n$step4999 = 21;\n$al5001 = L[3067];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 21: var anf_arg4969 = $ans5000;\n$al5001 = L[3061];\nvar anf_arg4966 = G(self4934,\"index\",L[3061]);\n$step4999 = 22;\n$al5001 = L[3066];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4966);\nbreak;\ncase 22: var anf_arg4970 = $ans5000;\n$step4999 = 23;\n$al5001 = L[3065];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 23: var anf_arg4971 = $ans5000;\n$al5001 = L[3062];\nvar anf_arg4967 = G(self4934,\"reason\",L[3062]);\n$step4999 = 24;\n$al5001 = L[3064];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4967);\nbreak;\ncase 24: var anf_arg4972 = $ans5000;\n$step4999 = 25;\n$al5001 = L[3063];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 25: var anf_arg4973 = $ans5000;\n$step4999 = 26;\n$al5001 = L[3060];\nif(typeof(anf_fun4968.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4968);\n}\n$ans5000 = anf_fun4968.app(anf_arg4969,anf_arg4970,anf_arg4971,anf_arg4972,anf_arg4973);\nbreak;\ncase 26: var anf_arg4977 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3057];\nif(typeof(anf_fun4974.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4974);\n}\n$ans5000 = anf_fun4974.app(anf_arg4975,anf_arg4976,anf_arg4977);\nbreak;\ncase 27: $ans5000 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3070],L[3071]);\nvar anf_fun4993 = $ans5000;\n$ans5000 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3072],L[3073]);\nvar anf_fun4980 = $ans5000;\n$step4999 = 28;\n$al5001 = L[3088];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 28: var anf_arg4981 = $ans5000;\n$al5001 = L[3074];\nvar anf_arg4978 = G(self4934,\"method-name\",L[3074]);\n$step4999 = 29;\n$al5001 = L[3087];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4978);\nbreak;\ncase 29: var anf_arg4979 = $ans5000;\n$step4999 = 30;\n$al5001 = L[3086];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"code\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"code\"].app(anf_arg4979);\nbreak;\ncase 30: var anf_arg4982 = $ans5000;\n$step4999 = 31;\n$al5001 = L[3085];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 31: var anf_arg4983 = $ans5000;\n$step4999 = 32;\n$al5001 = L[3084];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"loc\"].app(loc4945);\nbreak;\ncase 32: var anf_arg4984 = $ans5000;\n$step4999 = 33;\n$al5001 = L[3083];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 33: var anf_arg4985 = $ans5000;\n$step4999 = 34;\n$al5001 = L[3073];\nif(typeof(anf_fun4980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4980);\n}\n$ans5000 = anf_fun4980.app(anf_arg4981,anf_arg4982,anf_arg4983,anf_arg4984,anf_arg4985);\nbreak;\ncase 34: var anf_arg4994 = $ans5000;\n$ans5000 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3075],L[3076]);\nvar anf_fun4988 = $ans5000;\n$al5001 = L[3077];\nvar anf_arg4986 = G(self4934,\"index\",L[3077]);\n$step4999 = 35;\n$al5001 = L[3082];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"embed\"].app(anf_arg4986);\nbreak;\ncase 35: var anf_arg4989 = $ans5000;\n$step4999 = 36;\n$al5001 = L[3081];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 36: var anf_arg4990 = $ans5000;\n$al5001 = L[3078];\nvar anf_arg4987 = G(self4934,\"reason\",L[3078]);\n$step4999 = 37;\n$al5001 = L[3080];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app(anf_arg4987);\nbreak;\ncase 37: var anf_arg4991 = $ans5000;\n$step4999 = 38;\n$al5001 = L[3079];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,ED6.dict.values.dict[\"text\"]);\n}\n$ans5000 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 38: var anf_arg4992 = $ans5000;\n$step4999 = 39;\n$al5001 = L[3076];\nif(typeof(anf_fun4988.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4988);\n}\n$ans5000 = anf_fun4988.app(anf_arg4989,anf_arg4990,anf_arg4991,anf_arg4992);\nbreak;\ncase 39: var anf_arg4995 = $ans5000;\n$step4999 = 40;\n$al5001 = L[3071];\nif(typeof(anf_fun4993.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5001,anf_fun4993);\n}\n$ans5000 = anf_fun4993.app(anf_arg4994,anf_arg4995);\nbreak;\ncase 40: ++R.GAS;\nreturn $ans5000;\ndefault: R.ffi.throwSpinnakerError(L[3035],$step4999);\n}\n}\nif($step4999 !== 40) {\n$ans5000.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5001,$temp_branch4998,$step4999,[loc4945],[anf_arg4990,anf_fun4988,anf_arg4991,anf_fun4956,anf_fun4968,anf_arg4970,anf_arg4981,anf_arg4971,anf_arg4982,anf_arg4994,anf_fun4948,anf_arg4950,anf_arg4972,anf_arg4983,anf_arg4951,anf_arg4962,anf_arg4984,anf_arg4952,anf_arg4963,anf_arg4975,anf_arg4976,anf_arg4989,anf_arg4957,anf_arg4958,anf_arg4969,anf_arg4959,anf_arg4949,anf_fun4980,anf_fun4993,anf_fun4961,anf_fun4974],$elidedFrames5003);\n}\nreturn $ans5000;\n};\n$ans4938 = cases4942.$app_fields($temp_branch4998,[false]);\nbreak;\ncase 4: if(cases4942.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[3109],false,L[3091],cases4942.$loc);\n}\n$step4932 = 6;\n$al4939 = L[3109];\nvar $temp_branch5021 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3091($$resumer13) {\nvar $step5022 = 0;\nvar $elidedFrames5026 = 0;\nvar $ans5023 = D;\nvar $al5024 = L[3093];\nif(R.isAR($$resumer13)) {\n$step5022 = $$resumer13.step;\n$al5024 = $$resumer13.from;\n$ans5023 = $$resumer13.ans;\n$elidedFrames5026 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg5014 = $$resumer13.vars[0];\nanf_arg5015 = $$resumer13.vars[1];\nanf_arg5016 = $$resumer13.vars[2];\nanf_arg5008 = $$resumer13.vars[3];\nanf_arg5019 = $$resumer13.vars[4];\nanf_arg5009 = $$resumer13.vars[5];\nanf_fun5013 = $$resumer13.vars[6];\nanf_fun5018 = $$resumer13.vars[7];\nanf_fun5007 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5023 = R.mC();\n}\nwhile(!R.isContinuation($ans5023)) {\nswitch($step5022) {\ncase 0: $ans5023 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3092],L[3093]);\nvar anf_fun5018 = $ans5023;\n$ans5023 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3094],L[3095]);\nvar anf_fun5007 = $ans5023;\n$step5022 = 1;\n$al5024 = L[3108];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 1: var anf_arg5008 = $ans5023;\n$al5024 = L[3096];\nvar anf_arg5005 = G(self4934,\"method-name\",L[3096]);\n$step5022 = 2;\n$al5024 = L[3107];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app(anf_arg5005);\nbreak;\ncase 2: var anf_arg5006 = $ans5023;\n$step5022 = 3;\n$al5024 = L[3106];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"code\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"code\"].app(anf_arg5006);\nbreak;\ncase 3: var anf_arg5009 = $ans5023;\n$step5022 = 4;\n$al5024 = L[3105];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\"It expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 4: var anf_arg5010 = $ans5023;\n$step5022 = 5;\n$al5024 = L[3095];\nif(typeof(anf_fun5007.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5007);\n}\n$ans5023 = anf_fun5007.app(anf_arg5008,anf_arg5009,anf_arg5010);\nbreak;\ncase 5: var anf_arg5019 = $ans5023;\n$ans5023 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3097],L[3098]);\nvar anf_fun5013 = $ans5023;\n$al5024 = L[3099];\nvar anf_arg5011 = G(self4934,\"index\",L[3099]);\n$step5022 = 6;\n$al5024 = L[3104];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"embed\"].app(anf_arg5011);\nbreak;\ncase 6: var anf_arg5014 = $ans5023;\n$step5022 = 7;\n$al5024 = L[3103];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 7: var anf_arg5015 = $ans5023;\n$al5024 = L[3100];\nvar anf_arg5012 = G(self4934,\"reason\",L[3100]);\n$step5022 = 8;\n$al5024 = L[3102];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app(anf_arg5012);\nbreak;\ncase 8: var anf_arg5016 = $ans5023;\n$step5022 = 9;\n$al5024 = L[3101];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,ED6.dict.values.dict[\"text\"]);\n}\n$ans5023 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg5017 = $ans5023;\n$step5022 = 10;\n$al5024 = L[3098];\nif(typeof(anf_fun5013.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5013);\n}\n$ans5023 = anf_fun5013.app(anf_arg5014,anf_arg5015,anf_arg5016,anf_arg5017);\nbreak;\ncase 10: var anf_arg5020 = $ans5023;\n$step5022 = 11;\n$al5024 = L[3093];\nif(typeof(anf_fun5018.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5024,anf_fun5018);\n}\n$ans5023 = anf_fun5018.app(anf_arg5019,anf_arg5020);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans5023;\ndefault: R.ffi.throwSpinnakerError(L[3093],$step5022);\n}\n}\nif($step5022 !== 11) {\n$ans5023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5024,$temp_branch5021,$step5022,[],[anf_arg5014,anf_arg5015,anf_arg5016,anf_arg5008,anf_arg5019,anf_arg5009,anf_fun5013,anf_fun5018,anf_fun5007],$elidedFrames5026);\n}\nreturn $ans5023;\n};\n$ans4938 = cases4942.$app_fields($temp_branch5021,[]);\nbreak;\ncase 5: $ans4938 = R.throwNoCasesMatched(L[3091],cases4942);\n$step4932 = 6;\nbreak;\ncase 6: var anf_arg4944 = $ans4938;\n$step4932 = 7;\n$al4939 = L[3034];\nif(typeof(anf_fun4943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4939,anf_fun4943);\n}\n$ans4938 = anf_fun4943.app(anf_arg4944);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4938;\ndefault: R.ffi.throwSpinnakerError(L[3032],$step4932);\n}\n}\nif($step4932 !== 7) {\n$ans4938.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4939,$temp_full4933,$step4932,[self4934,maybe$stack$loc4935,src$available4936,maybe$ast4937],[anf_fun4943,cases4942],$elidedFrames4941);\n}\nreturn $ans4938;\n};\nvar anf_variant_member6025 = R.makeMethod3($temp_full4933,\"render-fancy-reason\");\nvar $temp_full5032 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3112($self5033) {\nvar $step5031 = 0;\nvar $elidedFrames5037 = 0;\nvar $ans5034 = D;\nvar $al5035 = L[3112];\nif(R.isAR($self5033)) {\n$step5031 = $self5033.step;\n$al5035 = $self5033.from;\n$ans5034 = $self5033.ans;\n$elidedFrames5037 = $self5033.elidedFrames;\nself5033 = $self5033.args[0];\nanf_arg5088 = $self5033.vars[0];\nanf_arg5100 = $self5033.vars[1];\nanf_fun5092 = $self5033.vars[2];\nanf_fun5086 = $self5033.vars[3];\nanf_fun5097 = $self5033.vars[4];\nanf_arg5093 = $self5033.vars[5];\nanf_arg5094 = $self5033.vars[6];\nanf_arg5095 = $self5033.vars[7];\nanf_arg5087 = $self5033.vars[8];\nanf_arg5098 = $self5033.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3112],1,$t,true);\n}\nvar self5033 = $self5033;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5034 = R.mC();\n}\nwhile(!R.isContinuation($ans5034)) {\nswitch($step5031) {\ncase 0: var $temp_lam5039 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3113($loc5040) {\nvar $step5038 = 0;\nvar $elidedFrames5044 = 0;\nvar $ans5041 = D;\nvar $al5042 = L[3113];\nif(R.isAR($loc5040)) {\n$step5038 = $loc5040.step;\n$al5042 = $loc5040.from;\n$ans5041 = $loc5040.ans;\n$elidedFrames5044 = $loc5040.elidedFrames;\nloc5040 = $loc5040.args[0];\nanf_arg5077 = $loc5040.vars[0];\nanf_arg5056 = $loc5040.vars[1];\nanf_arg5067 = $loc5040.vars[2];\nanf_arg5057 = $loc5040.vars[3];\nanf_arg5068 = $loc5040.vars[4];\nanf_arg5058 = $loc5040.vars[5];\nanf_arg5069 = $loc5040.vars[6];\nanf_arg5048 = $loc5040.vars[7];\nanf_arg5049 = $loc5040.vars[8];\nanf_fun5060 = $loc5040.vars[9];\nanf_fun5074 = $loc5040.vars[10];\nanf_fun5055 = $loc5040.vars[11];\nanf_fun5066 = $loc5040.vars[12];\nanf_arg5080 = $loc5040.vars[13];\nanf_fun5079 = $loc5040.vars[14];\nanf_arg5070 = $loc5040.vars[15];\nanf_fun5047 = $loc5040.vars[16];\nanf_arg5050 = $loc5040.vars[17];\nanf_arg5061 = $loc5040.vars[18];\nanf_arg5051 = $loc5040.vars[19];\nanf_arg5062 = $loc5040.vars[20];\nanf_arg5075 = $loc5040.vars[21];\nanf_arg5076 = $loc5040.vars[22];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3113],1,$t,false);\n}\nvar loc5040 = $loc5040;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5041 = R.mC();\n}\nwhile(!R.isContinuation($ans5041)) {\nswitch($step5038) {\ncase 0: $step5038 = 1;\n$ans5041 = R.maybeMethodCall0(loc5040,\"is-builtin\",L[3114]);\nbreak;\ncase 1: var anf_if5082 = $ans5041;\n$step5038 = R.checkPyretTrue(anf_if5082)?2:16;\nbreak;\ncase 2: $ans5041 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3115],L[3116]);\nvar anf_fun5060 = $ans5041;\n$ans5041 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3117],L[3118]);\nvar anf_fun5047 = $ans5041;\n$step5038 = 3;\n$al5042 = L[3134];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 3: var anf_arg5048 = $ans5041;\n$al5042 = L[3119];\nvar anf_arg5045 = G(self5033,\"method-name\",L[3119]);\n$step5038 = 4;\n$al5042 = L[3133];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5045);\nbreak;\ncase 4: var anf_arg5046 = $ans5041;\n$step5038 = 5;\n$al5042 = L[3132];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"code\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"code\"].app(anf_arg5046);\nbreak;\ncase 5: var anf_arg5049 = $ans5041;\n$step5038 = 6;\n$al5042 = L[3131];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg5050 = $ans5041;\n$step5038 = 7;\n$al5042 = L[3130];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"loc\"].app(loc5040);\nbreak;\ncase 7: var anf_arg5051 = $ans5041;\n$step5038 = 8;\n$al5042 = L[3129];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 8: var anf_arg5052 = $ans5041;\n$step5038 = 9;\n$al5042 = L[3118];\nif(typeof(anf_fun5047.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5047);\n}\n$ans5041 = anf_fun5047.app(anf_arg5048,anf_arg5049,anf_arg5050,anf_arg5051,anf_arg5052);\nbreak;\ncase 9: var anf_arg5061 = $ans5041;\n$ans5041 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3120],L[3121]);\nvar anf_fun5055 = $ans5041;\n$al5042 = L[3122];\nvar anf_arg5053 = G(self5033,\"index\",L[3122]);\n$step5038 = 10;\n$al5042 = L[3128];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"embed\"].app(anf_arg5053);\nbreak;\ncase 10: var anf_arg5056 = $ans5041;\n$step5038 = 11;\n$al5042 = L[3127];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 11: var anf_arg5057 = $ans5041;\n$al5042 = L[3123];\nvar anf_arg5054 = G(self5033,\"reason\",L[3123]);\n$step5038 = 12;\n$al5042 = L[3126];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5054);\nbreak;\ncase 12: var anf_arg5058 = $ans5041;\n$step5038 = 13;\n$al5042 = L[3125];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 13: var anf_arg5059 = $ans5041;\n$step5038 = 14;\n$al5042 = L[3121];\nif(typeof(anf_fun5055.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5055);\n}\n$ans5041 = anf_fun5055.app(anf_arg5056,anf_arg5057,anf_arg5058,anf_arg5059);\nbreak;\ncase 14: var anf_arg5062 = $ans5041;\n$step5038 = 15;\n$al5042 = L[3124];\n// omitting isFunction check;\n$ans5041 = please$report$bug158.$var.app();\nbreak;\ncase 15: var anf_arg5063 = $ans5041;\n$step5038 = 29;\n$al5042 = L[3116];\nif(typeof(anf_fun5060.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5060);\n}\n$ans5041 = anf_fun5060.app(anf_arg5061,anf_arg5062,anf_arg5063);\nbreak;\ncase 16: $ans5041 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3135],L[3136]);\nvar anf_fun5079 = $ans5041;\n$ans5041 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3137],L[3138]);\nvar anf_fun5066 = $ans5041;\n$step5038 = 17;\n$al5042 = L[3153];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 17: var anf_arg5067 = $ans5041;\n$al5042 = L[3139];\nvar anf_arg5064 = G(self5033,\"method-name\",L[3139]);\n$step5038 = 18;\n$al5042 = L[3152];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5064);\nbreak;\ncase 18: var anf_arg5065 = $ans5041;\n$step5038 = 19;\n$al5042 = L[3151];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"code\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"code\"].app(anf_arg5065);\nbreak;\ncase 19: var anf_arg5068 = $ans5041;\n$step5038 = 20;\n$al5042 = L[3150];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 20: var anf_arg5069 = $ans5041;\n$step5038 = 21;\n$al5042 = L[3149];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"loc\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"loc\"].app(loc5040);\nbreak;\ncase 21: var anf_arg5070 = $ans5041;\n$step5038 = 22;\n$al5042 = L[3148];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 22: var anf_arg5071 = $ans5041;\n$step5038 = 23;\n$al5042 = L[3138];\nif(typeof(anf_fun5066.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5066);\n}\n$ans5041 = anf_fun5066.app(anf_arg5067,anf_arg5068,anf_arg5069,anf_arg5070,anf_arg5071);\nbreak;\ncase 23: var anf_arg5080 = $ans5041;\n$ans5041 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3140],L[3141]);\nvar anf_fun5074 = $ans5041;\n$al5042 = L[3142];\nvar anf_arg5072 = G(self5033,\"index\",L[3142]);\n$step5038 = 24;\n$al5042 = L[3147];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"embed\"].app(anf_arg5072);\nbreak;\ncase 24: var anf_arg5075 = $ans5041;\n$step5038 = 25;\n$al5042 = L[3146];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 25: var anf_arg5076 = $ans5041;\n$al5042 = L[3143];\nvar anf_arg5073 = G(self5033,\"reason\",L[3143]);\n$step5038 = 26;\n$al5042 = L[3145];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app(anf_arg5073);\nbreak;\ncase 26: var anf_arg5077 = $ans5041;\n$step5038 = 27;\n$al5042 = L[3144];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,ED6.dict.values.dict[\"text\"]);\n}\n$ans5041 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 27: var anf_arg5078 = $ans5041;\n$step5038 = 28;\n$al5042 = L[3141];\nif(typeof(anf_fun5074.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5074);\n}\n$ans5041 = anf_fun5074.app(anf_arg5075,anf_arg5076,anf_arg5077,anf_arg5078);\nbreak;\ncase 28: var anf_arg5081 = $ans5041;\n$step5038 = 29;\n$al5042 = L[3136];\nif(typeof(anf_fun5079.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5042,anf_fun5079);\n}\n$ans5041 = anf_fun5079.app(anf_arg5080,anf_arg5081);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans5041;\ndefault: R.ffi.throwSpinnakerError(L[3113],$step5038);\n}\n}\nif($step5038 !== 29) {\n$ans5041.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5042,$temp_lam5039,$step5038,[loc5040],[anf_arg5077,anf_arg5056,anf_arg5067,anf_arg5057,anf_arg5068,anf_arg5058,anf_arg5069,anf_arg5048,anf_arg5049,anf_fun5060,anf_fun5074,anf_fun5055,anf_fun5066,anf_arg5080,anf_fun5079,anf_arg5070,anf_fun5047,anf_arg5050,anf_arg5061,anf_arg5051,anf_arg5062,anf_arg5075,anf_arg5076],$elidedFrames5044);\n}\nreturn $ans5041;\n};\nvar anf_arg5100 = R.mF($temp_lam5039,\"\");\n$ans5034 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3154],L[3155]);\nvar anf_fun5097 = $ans5034;\n$ans5034 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3156],L[3157]);\nvar anf_fun5086 = $ans5034;\n$step5031 = 1;\n$al5035 = L[3171];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\"An array interaction, \"));\nbreak;\ncase 1: var anf_arg5087 = $ans5034;\n$al5035 = L[3158];\nvar anf_arg5084 = G(self5033,\"method-name\",L[3158]);\n$step5031 = 2;\n$al5035 = L[3170];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app(anf_arg5084);\nbreak;\ncase 2: var anf_arg5085 = $ans5034;\n$step5031 = 3;\n$al5035 = L[3169];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"code\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"code\"].app(anf_arg5085);\nbreak;\ncase 3: var anf_arg5088 = $ans5034;\n$step5031 = 4;\n$al5035 = L[3168];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\" expects that the index passed to it is an integer within the bounds of the array. \"));\nbreak;\ncase 4: var anf_arg5089 = $ans5034;\n$step5031 = 5;\n$al5035 = L[3157];\nif(typeof(anf_fun5086.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5086);\n}\n$ans5034 = anf_fun5086.app(anf_arg5087,anf_arg5088,anf_arg5089);\nbreak;\ncase 5: var anf_arg5098 = $ans5034;\n$ans5034 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3159],L[3160]);\nvar anf_fun5092 = $ans5034;\n$al5035 = L[3161];\nvar anf_arg5090 = G(self5033,\"index\",L[3161]);\n$step5031 = 6;\n$al5035 = L[3167];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"embed\"].app(anf_arg5090);\nbreak;\ncase 6: var anf_arg5093 = $ans5034;\n$step5031 = 7;\n$al5035 = L[3166];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\" is an invalid array index because \"));\nbreak;\ncase 7: var anf_arg5094 = $ans5034;\n$al5035 = L[3162];\nvar anf_arg5091 = G(self5033,\"reason\",L[3162]);\n$step5031 = 8;\n$al5035 = L[3165];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app(anf_arg5091);\nbreak;\ncase 8: var anf_arg5095 = $ans5034;\n$step5031 = 9;\n$al5035 = L[3164];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"text\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 9: var anf_arg5096 = $ans5034;\n$step5031 = 10;\n$al5035 = L[3160];\nif(typeof(anf_fun5092.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5092);\n}\n$ans5034 = anf_fun5092.app(anf_arg5093,anf_arg5094,anf_arg5095,anf_arg5096);\nbreak;\ncase 10: var anf_arg5099 = $ans5034;\n$step5031 = 11;\n$al5035 = L[3155];\nif(typeof(anf_fun5097.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,anf_fun5097);\n}\n$ans5034 = anf_fun5097.app(anf_arg5098,anf_arg5099);\nbreak;\ncase 11: var anf_arg5101 = $ans5034;\n$step5031 = 12;\n$al5035 = L[3163];\nif(typeof(ED6.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5035,ED6.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans5034 = ED6.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg5100,anf_arg5101);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans5034;\ndefault: R.ffi.throwSpinnakerError(L[3112],$step5031);\n}\n}\nif($step5031 !== 12) {\n$ans5034.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5035,$temp_full5032,$step5031,[self5033],[anf_arg5088,anf_arg5100,anf_fun5092,anf_fun5086,anf_fun5097,anf_arg5093,anf_arg5094,anf_arg5095,anf_arg5087,anf_arg5098],$elidedFrames5037);\n}\nreturn $ans5034;\n};\nvar anf_variant_member6026 = R.makeMethod0($temp_full5032,\"render-reason\");\nvar $temp_full5104 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3172($self5105,$maybe$stack$loc5106,$src$available5107,$maybe$ast5108) {\nvar $step5103 = 0;\nvar $elidedFrames5112 = 0;\nvar $ans5109 = D;\nvar $al5110 = L[3172];\nif(R.isAR($self5105)) {\n$step5103 = $self5105.step;\n$al5110 = $self5105.from;\n$ans5109 = $self5105.ans;\n$elidedFrames5112 = $self5105.elidedFrames;\nself5105 = $self5105.args[0];\nmaybe$stack$loc5106 = $self5105.args[1];\nsrc$available5107 = $self5105.args[2];\nmaybe$ast5108 = $self5105.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3172],4,$t,true);\n}\nvar self5105 = $self5105;\nvar maybe$stack$loc5106 = $maybe$stack$loc5106;\nvar src$available5107 = $src$available5107;\nvar maybe$ast5108 = $maybe$ast5108;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5109 = R.mC();\n}\nwhile(!R.isContinuation($ans5109)) {\nswitch($step5103) {\ncase 0: $step5103 = 1;\n$ans5109 = R.maybeMethodCall0(self5105,\"render-reason\",L[3173]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5109;\ndefault: R.ffi.throwSpinnakerError(L[3172],$step5103);\n}\n}\nif($step5103 !== 1) {\n$ans5109.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5110,$temp_full5104,$step5103,[self5105,maybe$stack$loc5106,src$available5107,maybe$ast5108],[],$elidedFrames5112);\n}\nreturn $ans5109;\n};\nvar anf_variant_member6037 = R.makeMethod3($temp_full5104,\"render-fancy-reason\");\nvar $temp_full5115 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3174($self5116) {\nvar $step5114 = 0;\nvar $elidedFrames5120 = 0;\nvar $ans5117 = D;\nvar $al5118 = L[3174];\nif(R.isAR($self5116)) {\n$step5114 = $self5116.step;\n$al5118 = $self5116.from;\n$ans5117 = $self5116.ans;\n$elidedFrames5120 = $self5116.elidedFrames;\nself5116 = $self5116.args[0];\nwithin$error5149 = $self5116.vars[0];\nvalue15121 = $self5116.vars[1];\nvalue25137 = $self5116.vars[2];\nanf_fun5181 = $self5116.vars[3];\nanf_fun5161 = $self5116.vars[4];\nanf_fun5151 = $self5116.vars[5];\nanf_fun5173 = $self5116.vars[6];\nanf_fun5153 = $self5116.vars[7];\nanf_fun5165 = $self5116.vars[8];\nanf_fun5176 = $self5116.vars[9];\nanf_fun5155 = $self5116.vars[10];\nanf_fun5157 = $self5116.vars[11];\nanf_fun5179 = $self5116.vars[12];\nanf_arg5182 = $self5116.vars[13];\nanf_fun5159 = $self5116.vars[14];\nanf_arg5183 = $self5116.vars[15];\nanf_arg5162 = $self5116.vars[16];\nanf_array5166 = $self5116.vars[17];\nanf_arg5163 = $self5116.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3174],1,$t,true);\n}\nvar self5116 = $self5116;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5117 = R.mC();\n}\nwhile(!R.isContinuation($ans5117)) {\nswitch($step5114) {\ncase 0: $al5118 = L[3175];\nvar value15121 = G(self5116,\"value1\",L[3175]);\n$al5118 = L[3176];\nvar value25137 = G(self5116,\"value2\",L[3176]);\n// caller optimization;\n$ans5117 = is$number4.app(value15121);\nvar anf_if5187 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5187)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans5117 = is$number4.app(value25137);\nvar anf_arg5186 = $ans5117;\n$ans5117 = R.checkWrapBoolean(anf_arg5186);\n$step5114 = 3;\nbreak;\ncase 2: $step5114 = 3;\n$ans5117 = (false);\nbreak;\ncase 3: var anf_if5185 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5185)?4:31;\nbreak;\ncase 4: var within$error5149 = {\"$var\":D};\nvar $temp_lam5123 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3177($message5124) {\nvar $step5122 = 0;\nvar $elidedFrames5128 = 0;\nvar $ans5125 = D;\nvar $al5126 = L[3177];\nif(R.isAR($message5124)) {\n$step5122 = $message5124.step;\n$al5126 = $message5124.from;\n$ans5125 = $message5124.ans;\n$elidedFrames5128 = $message5124.elidedFrames;\nmessage5124 = $message5124.args[0];\nanf_array5146 = $message5124.vars[0];\nanf_arg5143 = $message5124.vars[1];\nanf_fun5141 = $message5124.vars[2];\nanf_fun5131 = $message5124.vars[3];\nanf_fun5133 = $message5124.vars[4];\nanf_fun5145 = $message5124.vars[5];\nanf_fun5135 = $message5124.vars[6];\nanf_fun5138 = $message5124.vars[7];\nanf_arg5142 = $message5124.vars[8];\nanf_fun5129 = $message5124.vars[9];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3177],1,$t,false);\n}\nvar message5124 = $message5124;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5125 = R.mC();\n}\nwhile(!R.isContinuation($ans5125)) {\nswitch($step5122) {\ncase 0: $ans5125 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[3178],L[3179]);\nvar anf_fun5145 = $ans5125;\n$ans5125 = R.makeArrayN((6));\nvar anf_array5146 = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3180],L[3181]);\nvar anf_fun5129 = $ans5125;\n$step5122 = 1;\n$al5126 = L[3200];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app(message5124);\nbreak;\ncase 1: var anf_arg5130 = $ans5125;\n$step5122 = 2;\n$al5126 = L[3181];\nif(typeof(anf_fun5129.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5129);\n}\n$ans5125 = anf_fun5129.app(anf_arg5130);\nbreak;\ncase 2: anf_array5146[0] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3182],L[3183]);\nvar anf_fun5131 = $ans5125;\n$step5122 = 3;\n$al5126 = L[3199];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 3: var anf_arg5132 = $ans5125;\n$step5122 = 4;\n$al5126 = L[3183];\nif(typeof(anf_fun5131.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5131);\n}\n$ans5125 = anf_fun5131.app(anf_arg5132);\nbreak;\ncase 4: anf_array5146[1] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3184],L[3185]);\nvar anf_fun5133 = $ans5125;\n$step5122 = 5;\n$al5126 = L[3198];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"embed\"].app(value15121);\nbreak;\ncase 5: var anf_arg5134 = $ans5125;\n$step5122 = 6;\n$al5126 = L[3185];\nif(typeof(anf_fun5133.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5133);\n}\n$ans5125 = anf_fun5133.app(anf_arg5134);\nbreak;\ncase 6: anf_array5146[2] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3186],L[3187]);\nvar anf_fun5135 = $ans5125;\n$step5122 = 7;\n$al5126 = L[3197];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 7: var anf_arg5136 = $ans5125;\n$step5122 = 8;\n$al5126 = L[3187];\nif(typeof(anf_fun5135.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5135);\n}\n$ans5125 = anf_fun5135.app(anf_arg5136);\nbreak;\ncase 8: anf_array5146[3] = $ans5125;\n$ans5125 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3188],L[3189]);\nvar anf_fun5138 = $ans5125;\n$step5122 = 9;\n$al5126 = L[3196];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"embed\"].app(value25137);\nbreak;\ncase 9: var anf_arg5139 = $ans5125;\n$step5122 = 10;\n$al5126 = L[3189];\nif(typeof(anf_fun5138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5138);\n}\n$ans5125 = anf_fun5138.app(anf_arg5139);\nbreak;\ncase 10: anf_array5146[4] = $ans5125;\n$ans5125 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3190],L[3191]);\nvar anf_fun5141 = $ans5125;\n$step5122 = 11;\n$al5126 = L[3195];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"Consider using the \"));\nbreak;\ncase 11: var anf_arg5142 = $ans5125;\n$step5122 = 12;\n$al5126 = L[3194];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\"within\"));\nbreak;\ncase 12: var anf_arg5140 = $ans5125;\n$step5122 = 13;\n$al5126 = L[3193];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"code\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"code\"].app(anf_arg5140);\nbreak;\ncase 13: var anf_arg5143 = $ans5125;\n$step5122 = 14;\n$al5126 = L[3192];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,ED6.dict.values.dict[\"text\"]);\n}\n$ans5125 = ED6.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 14: var anf_arg5144 = $ans5125;\n$step5122 = 15;\n$al5126 = L[3191];\nif(typeof(anf_fun5141.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5141);\n}\n$ans5125 = anf_fun5141.app(anf_arg5142,anf_arg5143,anf_arg5144);\nbreak;\ncase 15: anf_array5146[5] = $ans5125;\n$step5122 = 16;\n$al5126 = L[3179];\nif(typeof(anf_fun5145.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5126,anf_fun5145);\n}\n$ans5125 = anf_fun5145.app(anf_array5146);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans5125;\ndefault: R.ffi.throwSpinnakerError(L[3177],$step5122);\n}\n}\nif($step5122 !== 16) {\n$ans5125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5126,$temp_lam5123,$step5122,[message5124],[anf_array5146,anf_arg5143,anf_fun5141,anf_fun5131,anf_fun5133,anf_fun5145,anf_fun5135,anf_fun5138,anf_arg5142,anf_fun5129],$elidedFrames5128);\n}\nreturn $ans5125;\n};\nvar anf_assign5148 = R.mF($temp_lam5123,\"within-error\");\nwithin$error5149.$var = anf_assign5148;\nR.nothing;\n$al5118 = L[3201];\nvar anf_arg5150 = G(self5116,\"reason\",L[3201]);\n$step5114 = 5;\n$al5118 = L[3228];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,equal$always1);\n}\n$ans5117 = equal$always1.app(anf_arg5150,(\"RoughnumZeroTolerances\"));\nbreak;\ncase 5: var anf_if5172 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5172)?6:21;\nbreak;\ncase 6: $ans5117 = R.getMaker(ED6.dict.values.dict[\"error\"],(\"make\"),L[3202],L[3203]);\nvar anf_fun5165 = $ans5117;\n$ans5117 = R.makeArrayN((6));\nvar anf_array5166 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3204],L[3205]);\nvar anf_fun5151 = $ans5117;\n$step5114 = 7;\n$al5118 = L[3223];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Pyret cannot be certain that Roughnums are the same to exactly-zero tolerance.\"));\nbreak;\ncase 7: var anf_arg5152 = $ans5117;\n$step5114 = 8;\n$al5118 = L[3205];\nif(typeof(anf_fun5151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5151);\n}\n$ans5117 = anf_fun5151.app(anf_arg5152);\nbreak;\ncase 8: anf_array5166[0] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3206],L[3207]);\nvar anf_fun5153 = $ans5117;\n$step5114 = 9;\n$al5118 = L[3222];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"The left side was:\"));\nbreak;\ncase 9: var anf_arg5154 = $ans5117;\n$step5114 = 10;\n$al5118 = L[3207];\nif(typeof(anf_fun5153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5153);\n}\n$ans5117 = anf_fun5153.app(anf_arg5154);\nbreak;\ncase 10: anf_array5166[1] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3208],L[3209]);\nvar anf_fun5155 = $ans5117;\n$step5114 = 11;\n$al5118 = L[3221];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(value15121);\nbreak;\ncase 11: var anf_arg5156 = $ans5117;\n$step5114 = 12;\n$al5118 = L[3209];\nif(typeof(anf_fun5155.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5155);\n}\n$ans5117 = anf_fun5155.app(anf_arg5156);\nbreak;\ncase 12: anf_array5166[2] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3210],L[3211]);\nvar anf_fun5157 = $ans5117;\n$step5114 = 13;\n$al5118 = L[3220];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"The right side was:\"));\nbreak;\ncase 13: var anf_arg5158 = $ans5117;\n$step5114 = 14;\n$al5118 = L[3211];\nif(typeof(anf_fun5157.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5157);\n}\n$ans5117 = anf_fun5157.app(anf_arg5158);\nbreak;\ncase 14: anf_array5166[3] = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3212],L[3213]);\nvar anf_fun5159 = $ans5117;\n$step5114 = 15;\n$al5118 = L[3219];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(value25137);\nbreak;\ncase 15: var anf_arg5160 = $ans5117;\n$step5114 = 16;\n$al5118 = L[3213];\nif(typeof(anf_fun5159.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5159);\n}\n$ans5117 = anf_fun5159.app(anf_arg5160);\nbreak;\ncase 16: anf_array5166[4] = $ans5117;\n$ans5117 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3214],L[3215]);\nvar anf_fun5161 = $ans5117;\n$step5114 = 17;\n$al5118 = L[3218];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Use a larger tolerance, or \"));\nbreak;\ncase 17: var anf_arg5162 = $ans5117;\n$step5114 = 18;\n$al5118 = L[3217];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(R.makeNumberFromString(\"~0\"));\nbreak;\ncase 18: var anf_arg5163 = $ans5117;\n$step5114 = 19;\n$al5118 = L[3216];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\" instead.\"));\nbreak;\ncase 19: var anf_arg5164 = $ans5117;\n$step5114 = 20;\n$al5118 = L[3215];\nif(typeof(anf_fun5161.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5161);\n}\n$ans5117 = anf_fun5161.app(anf_arg5162,anf_arg5163,anf_arg5164);\nbreak;\ncase 20: anf_array5166[5] = $ans5117;\n$step5114 = 38;\n$al5118 = L[3203];\nif(typeof(anf_fun5165.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5165);\n}\n$ans5117 = anf_fun5165.app(anf_array5166);\nbreak;\ncase 21: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value15121);\nvar anf_if5171 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5171)?22:23;\nbreak;\ncase 22: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value25137);\nvar anf_arg5170 = $ans5117;\n$ans5117 = R.checkWrapBoolean(anf_arg5170);\n$step5114 = 24;\nbreak;\ncase 23: $step5114 = 24;\n$ans5117 = (false);\nbreak;\ncase 24: var anf_if5169 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5169)?25:26;\nbreak;\ncase 25: $step5114 = 38;\n$al5118 = L[3224];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare two Roughnums for equality, which is not allowed:\"));\nbreak;\ncase 26: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value15121);\nvar anf_if5168 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5168)?27:28;\nbreak;\ncase 27: $step5114 = 38;\n$al5118 = L[3225];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare a Roughnum to an Exactnum for equality, which is not allowed:\"));\nbreak;\ncase 28: // caller optimization;\n$ans5117 = num$is$roughnum2.app(value25137);\nvar anf_if5167 = $ans5117;\n$step5114 = R.checkPyretTrue(anf_if5167)?29:30;\nbreak;\ncase 29: $step5114 = 38;\n$al5118 = L[3226];\nif(typeof(within$error5149.$var.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,within$error5149.$var);\n}\n$ans5117 = within$error5149.$var.app((\"Attempted to compare an Exactnum to a Roughnum for equality, which is not allowed:\"));\nbreak;\ncase 30: $ans5117 = R.throwNoBranchesMatched(L[3227],(\"if\"));\n$step5114 = 38;\nbreak;\ncase 31: $ans5117 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3229],L[3230]);\nvar anf_fun5181 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3231],L[3232]);\nvar anf_fun5173 = $ans5117;\n$step5114 = 32;\n$al5118 = L[3241];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"text\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"text\"].app((\"Attempted to compare two incomparable values: \"));\nbreak;\ncase 32: var anf_arg5174 = $ans5117;\n$step5114 = 33;\n$al5118 = L[3232];\nif(typeof(anf_fun5173.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5173);\n}\n$ans5117 = anf_fun5173.app(anf_arg5174);\nbreak;\ncase 33: var anf_arg5182 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3233],L[3234]);\nvar anf_fun5176 = $ans5117;\n$al5118 = L[3235];\nvar anf_arg5175 = G(self5116,\"value1\",L[3235]);\n$step5114 = 34;\n$al5118 = L[3240];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(anf_arg5175);\nbreak;\ncase 34: var anf_arg5177 = $ans5117;\n$step5114 = 35;\n$al5118 = L[3234];\nif(typeof(anf_fun5176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5176);\n}\n$ans5117 = anf_fun5176.app(anf_arg5177);\nbreak;\ncase 35: var anf_arg5183 = $ans5117;\n$ans5117 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3236],L[3237]);\nvar anf_fun5179 = $ans5117;\n$al5118 = L[3238];\nvar anf_arg5178 = G(self5116,\"value2\",L[3238]);\n$step5114 = 36;\n$al5118 = L[3239];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5117 = ED6.dict.values.dict[\"embed\"].app(anf_arg5178);\nbreak;\ncase 36: var anf_arg5180 = $ans5117;\n$step5114 = 37;\n$al5118 = L[3237];\nif(typeof(anf_fun5179.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5179);\n}\n$ans5117 = anf_fun5179.app(anf_arg5180);\nbreak;\ncase 37: var anf_arg5184 = $ans5117;\n$step5114 = 38;\n$al5118 = L[3230];\nif(typeof(anf_fun5181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5118,anf_fun5181);\n}\n$ans5117 = anf_fun5181.app(anf_arg5182,anf_arg5183,anf_arg5184);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans5117;\ndefault: R.ffi.throwSpinnakerError(L[3174],$step5114);\n}\n}\nif($step5114 !== 38) {\n$ans5117.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5118,$temp_full5115,$step5114,[self5116],[within$error5149,value15121,value25137,anf_fun5181,anf_fun5161,anf_fun5151,anf_fun5173,anf_fun5153,anf_fun5165,anf_fun5176,anf_fun5155,anf_fun5157,anf_fun5179,anf_arg5182,anf_fun5159,anf_arg5183,anf_arg5162,anf_array5166,anf_arg5163],$elidedFrames5120);\n}\nreturn $ans5117;\n};\nvar anf_variant_member6038 = R.makeMethod0($temp_full5115,\"render-reason\");\nvar $temp_full5190 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3242($self5191,$maybe$stack$loc5192,$src$available5193,$maybe$ast5194) {\nvar $step5189 = 0;\nvar $elidedFrames5198 = 0;\nvar $ans5195 = D;\nvar $al5196 = L[3242];\nif(R.isAR($self5191)) {\n$step5189 = $self5191.step;\n$al5196 = $self5191.from;\n$ans5195 = $self5191.ans;\n$elidedFrames5198 = $self5191.elidedFrames;\nself5191 = $self5191.args[0];\nmaybe$stack$loc5192 = $self5191.args[1];\nsrc$available5193 = $self5191.args[2];\nmaybe$ast5194 = $self5191.args[3];\nanf_arg5323 = $self5191.vars[0];\nanf_arg5324 = $self5191.vars[1];\nanf_arg5314 = $self5191.vars[2];\nanf_arg5315 = $self5191.vars[3];\nanf_arg5316 = $self5191.vars[4];\nanf_arg5317 = $self5191.vars[5];\ndestructured$pattern5274 = $self5191.vars[6];\ntable$text5307 = $self5191.vars[7];\nanf_method_obj5305 = $self5191.vars[8];\ncolumn$text5311 = $self5191.vars[9];\nanf_fun5322 = $self5191.vars[10];\nanf_fun5313 = $self5191.vars[11];\ndestructure$ast5250 = $self5191.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3242],4,$t,true);\n}\nvar self5191 = $self5191;\nvar maybe$stack$loc5192 = $maybe$stack$loc5192;\nvar src$available5193 = $src$available5193;\nvar maybe$ast5194 = $maybe$ast5194;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5195 = R.mC();\n}\nwhile(!R.isContinuation($ans5195)) {\nswitch($step5189) {\ncase 0: var destructure$ast5250 = {\"$var\":D};\nvar $temp_lam5200 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3243($ast5201) {\nvar $step5199 = 0;\nvar $elidedFrames5205 = 0;\nvar $ans5202 = D;\nvar $al5203 = L[3243];\nif(R.isAR($ast5201)) {\n$step5199 = $ast5201.step;\n$al5203 = $ast5201.from;\n$ans5202 = $ast5201.ans;\n$elidedFrames5205 = $ast5201.elidedFrames;\nast5201 = $ast5201.args[0];\ncases5206 = $ast5201.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3243],1,$t,false);\n}\nvar ast5201 = $ast5201;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5202 = R.mC();\n}\nwhile(!R.isContinuation($ans5202)) {\nswitch($step5199) {\ncase 0: var cases5206 = ast5201;\n$al5203 = L[3247];\n$step5199 = $cases_dispatch5247[cases5206.$name] || 7;\nbreak;\ncase 1: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3246],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3246],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5211 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5211[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5207 = R.dF(cases5206.dict[$fn5211[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5211[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3244];\nvar anf_bracket5208 = G(column$binds5207,\"table\",L[3244]);\n$al5203 = L[3245];\nvar anf_tuple_fields5209 = G(anf_bracket5208,\"l\",L[3245]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"extend\"),anf_tuple_fields5209]);\nbreak;\ncase 2: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3250],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3250],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5218 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5218[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5214 = R.dF(cases5206.dict[$fn5218[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5218[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3248];\nvar anf_bracket5215 = G(column$binds5214,\"table\",L[3248]);\n$al5203 = L[3249];\nvar anf_tuple_fields5216 = G(anf_bracket5215,\"l\",L[3249]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"update\"),anf_tuple_fields5216]);\nbreak;\ncase 3: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3252],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3252],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5224 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5224[0]],cases5206.$mut_fields_mask[0],false);\nR.dF(cases5206.dict[$fn5224[1]],cases5206.$mut_fields_mask[1],false);\nvar table5221 = R.dF(cases5206.dict[$fn5224[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3251];\nvar anf_tuple_fields5222 = G(table5221,\"l\",L[3251]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"select\"),anf_tuple_fields5222]);\nbreak;\ncase 4: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3254],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3254],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5230 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5230[0]],cases5206.$mut_fields_mask[0],false);\nvar table5227 = R.dF(cases5206.dict[$fn5230[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5230[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3253];\nvar anf_tuple_fields5228 = G(table5227,\"l\",L[3253]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"order\"),anf_tuple_fields5228]);\nbreak;\ncase 5: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3257],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3257],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5237 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5237[0]],cases5206.$mut_fields_mask[0],false);\nvar column$binds5233 = R.dF(cases5206.dict[$fn5237[1]],cases5206.$mut_fields_mask[1],false);\nR.dF(cases5206.dict[$fn5237[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3255];\nvar anf_bracket5234 = G(column$binds5233,\"table\",L[3255]);\n$al5203 = L[3256];\nvar anf_tuple_fields5235 = G(anf_bracket5234,\"l\",L[3256]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"sieve\"),anf_tuple_fields5235]);\nbreak;\ncase 6: if(cases5206.$arity !== 3) {\nif(cases5206.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3259],3,cases5206.$arity,L[3247],cases5206.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3259],true,L[3247],cases5206.$loc);\n}\n}\nvar $fn5243 = cases5206.$constructor.$fieldNames;\nR.dF(cases5206.dict[$fn5243[0]],cases5206.$mut_fields_mask[0],false);\nR.dF(cases5206.dict[$fn5243[1]],cases5206.$mut_fields_mask[1],false);\nvar table5240 = R.dF(cases5206.dict[$fn5243[2]],cases5206.$mut_fields_mask[2],false);\n$al5203 = L[3258];\nvar anf_tuple_fields5241 = G(table5240,\"l\",L[3258]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"extract\"),anf_tuple_fields5241]);\nbreak;\ncase 7: $al5203 = L[3260];\nvar anf_tuple_fields5246 = G(self5191,\"operation-loc\",L[3260]);\n$step5199 = 8;\n$ans5202 = R.makeTuple([(\"\"),anf_tuple_fields5246]);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans5202;\ndefault: R.ffi.throwSpinnakerError(L[3243],$step5199);\n}\n}\nif($step5199 !== 8) {\n$ans5202.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5203,$temp_lam5200,$step5199,[ast5201],[cases5206],$elidedFrames5205);\n}\nreturn $ans5202;\n};\nvar anf_assign5249 = R.mF($temp_lam5200,\"destructure-ast\");\ndestructure$ast5250.$var = anf_assign5249;\nR.nothing;\n$al5196 = L[3261];\nvar anf_arg5251 = G(self5191,\"operation-loc\",L[3261]);\n$step5189 = 1;\n$al5196 = L[3311];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,O8.dict.values.dict[\"some\"]);\n}\n$ans5195 = O8.dict.values.dict[\"some\"].app(anf_arg5251);\nbreak;\ncase 1: var arg_5252 = $ans5195;\n$step5189 = 2;\n$al5196 = L[3310];\n// omitting isFunction check;\n$ans5195 = and$if176.$var.app(src$available5193,arg_5252);\nbreak;\ncase 2: var arg_5253 = $ans5195;\n$step5189 = 3;\n$al5196 = L[3309];\n// omitting isFunction check;\n$ans5195 = and$maybe193.$var.app(maybe$ast5194,arg_5253);\nbreak;\ncase 3: var anf_method_obj5254 = $ans5195;\n$step5189 = 4;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5254,\"and-then\",L[3262],destructure$ast5250.$var);\nbreak;\ncase 4: var destructured$pattern5274 = $ans5195;\nvar $temp_lam5256 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3263($v5257) {\nvar $step5255 = 0;\nvar $elidedFrames5261 = 0;\nvar $ans5258 = D;\nvar $al5259 = L[3263];\nif(R.isAR($v5257)) {\n$step5255 = $v5257.step;\n$al5259 = $v5257.from;\n$ans5258 = $v5257.ans;\n$elidedFrames5261 = $v5257.elidedFrames;\nv5257 = $v5257.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3263],1,$t,false);\n}\nvar v5257 = $v5257;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5258 = R.mC();\n}\nwhile(!R.isContinuation($ans5258)) {\nswitch($step5255) {\ncase 0: $step5255 = 1;\nvar $temp_lam5263 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3264($arg_5264) {\nvar $step5262 = 0;\nvar $elidedFrames5268 = 0;\nvar $ans5265 = D;\nvar $al5266 = L[3264];\nif(R.isAR($arg_5264)) {\n$step5262 = $arg_5264.step;\n$al5266 = $arg_5264.from;\n$ans5265 = $arg_5264.ans;\n$elidedFrames5268 = $arg_5264.elidedFrames;\narg_5264 = $arg_5264.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3264],1,$t,false);\n}\nvar arg_5264 = $arg_5264;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5265 = R.mC();\n}\nwhile(!R.isContinuation($ans5265)) {\nswitch($step5262) {\ncase 0: $ans5265 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3265],L[3266]);\nvar anf_fun5269 = $ans5265;\nvar anf_arg5270 = R.getTuple(v5257,1,L[3267]);\n$step5262 = 1;\n$al5266 = L[3266];\nif(typeof(anf_fun5269.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5266,anf_fun5269);\n}\n$ans5265 = anf_fun5269.app(anf_arg5270);\nbreak;\ncase 1: var anf_arg5271 = $ans5265;\n$step5262 = 2;\n$al5266 = L[3264];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5266,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5265 = ED6.dict.values.dict[\"highlight\"].app(arg_5264,anf_arg5271,(0));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5265;\ndefault: R.ffi.throwSpinnakerError(L[3264],$step5262);\n}\n}\nif($step5262 !== 2) {\n$ans5265.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5266,$temp_lam5263,$step5262,[arg_5264],[],$elidedFrames5268);\n}\nreturn $ans5265;\n};\n$ans5258 = R.mF($temp_lam5263,\"\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5258;\ndefault: R.ffi.throwSpinnakerError(L[3263],$step5255);\n}\n}\nif($step5255 !== 1) {\n$ans5258.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5259,$temp_lam5256,$step5255,[v5257],[],$elidedFrames5261);\n}\nreturn $ans5258;\n};\nvar anf_arg5275 = R.mF($temp_lam5256,\"\");\n$step5189 = 5;\n$ans5195 = R.maybeMethodCall1(destructured$pattern5274,\"and-then\",L[3268],anf_arg5275);\nbreak;\ncase 5: var anf_method_obj5284 = $ans5195;\nvar $temp_lam5277 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3269($v5278) {\nvar $step5276 = 0;\nvar $elidedFrames5282 = 0;\nvar $ans5279 = D;\nvar $al5280 = L[3269];\nif(R.isAR($v5278)) {\n$step5276 = $v5278.step;\n$al5280 = $v5278.from;\n$ans5279 = $v5278.ans;\n$elidedFrames5282 = $v5278.elidedFrames;\nv5278 = $v5278.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3269],1,$t,false);\n}\nvar v5278 = $v5278;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5279 = R.mC();\n}\nwhile(!R.isContinuation($ans5279)) {\nswitch($step5276) {\ncase 0: $step5276 = 1;\n$ans5279 = v5278;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5279;\ndefault: R.ffi.throwSpinnakerError(L[3269],$step5276);\n}\n}\nif($step5276 !== 1) {\n$ans5279.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5280,$temp_lam5277,$step5276,[v5278],[],$elidedFrames5282);\n}\nreturn $ans5279;\n};\nvar anf_arg5285 = R.mF($temp_lam5277,\"\");\n$step5189 = 6;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5284,\"or-else\",L[3270],anf_arg5285);\nbreak;\ncase 6: var table$text5307 = $ans5195;\n$al5196 = L[3271];\nvar anf_arg5286 = G(self5191,\"column-loc\",L[3271]);\n$step5189 = 7;\n$al5196 = L[3308];\nif(typeof(src$available5193.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,src$available5193);\n}\n$ans5195 = src$available5193.app(anf_arg5286);\nbreak;\ncase 7: var anf_if5345 = $ans5195;\n$step5189 = R.checkPyretTrue(anf_if5345)?8:9;\nbreak;\ncase 8: $step5189 = 10;\nvar $temp_lam5327 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3303($arg_5328) {\nvar $step5326 = 0;\nvar $elidedFrames5332 = 0;\nvar $ans5329 = D;\nvar $al5330 = L[3303];\nif(R.isAR($arg_5328)) {\n$step5326 = $arg_5328.step;\n$al5330 = $arg_5328.from;\n$ans5329 = $arg_5328.ans;\n$elidedFrames5332 = $arg_5328.elidedFrames;\narg_5328 = $arg_5328.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3303],1,$t,false);\n}\nvar arg_5328 = $arg_5328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5329 = R.mC();\n}\nwhile(!R.isContinuation($ans5329)) {\nswitch($step5326) {\ncase 0: $ans5329 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3304],L[3305]);\nvar anf_fun5333 = $ans5329;\n$al5330 = L[3306];\nvar anf_arg5334 = G(self5191,\"column-loc\",L[3306]);\n$step5326 = 1;\n$al5330 = L[3305];\nif(typeof(anf_fun5333.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5330,anf_fun5333);\n}\n$ans5329 = anf_fun5333.app(anf_arg5334);\nbreak;\ncase 1: var anf_arg5335 = $ans5329;\n$step5326 = 2;\n$al5330 = L[3303];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5330,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5329 = ED6.dict.values.dict[\"highlight\"].app(arg_5328,anf_arg5335,(1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5329;\ndefault: R.ffi.throwSpinnakerError(L[3303],$step5326);\n}\n}\nif($step5326 !== 2) {\n$ans5329.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5330,$temp_lam5327,$step5326,[arg_5328],[],$elidedFrames5332);\n}\nreturn $ans5329;\n};\n$ans5195 = R.mF($temp_lam5327,\"\");\nbreak;\ncase 9: $step5189 = 10;\nvar $temp_lam5338 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3307($v5339) {\nvar $step5337 = 0;\nvar $elidedFrames5343 = 0;\nvar $ans5340 = D;\nvar $al5341 = L[3307];\nif(R.isAR($v5339)) {\n$step5337 = $v5339.step;\n$al5341 = $v5339.from;\n$ans5340 = $v5339.ans;\n$elidedFrames5343 = $v5339.elidedFrames;\nv5339 = $v5339.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3307],1,$t,false);\n}\nvar v5339 = $v5339;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5340 = R.mC();\n}\nwhile(!R.isContinuation($ans5340)) {\nswitch($step5337) {\ncase 0: $step5337 = 1;\n$ans5340 = v5339;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5340;\ndefault: R.ffi.throwSpinnakerError(L[3307],$step5337);\n}\n}\nif($step5337 !== 1) {\n$ans5340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5341,$temp_lam5338,$step5337,[v5339],[],$elidedFrames5343);\n}\nreturn $ans5340;\n};\n$ans5195 = R.mF($temp_lam5338,\"\");\nbreak;\ncase 10: var column$text5311 = $ans5195;\n$ans5195 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3272],L[3273]);\nvar anf_fun5322 = $ans5195;\nvar $temp_lam5288 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3274($v5289) {\nvar $step5287 = 0;\nvar $elidedFrames5293 = 0;\nvar $ans5290 = D;\nvar $al5291 = L[3274];\nif(R.isAR($v5289)) {\n$step5287 = $v5289.step;\n$al5291 = $v5289.from;\n$ans5290 = $v5289.ans;\n$elidedFrames5293 = $v5289.elidedFrames;\nv5289 = $v5289.args[0];\nanf_fun5299 = $v5289.vars[0];\nanf_arg5300 = $v5289.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3274],1,$t,false);\n}\nvar v5289 = $v5289;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5290 = R.mC();\n}\nwhile(!R.isContinuation($ans5290)) {\nswitch($step5287) {\ncase 0: $ans5290 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3275],L[3276]);\nvar anf_fun5299 = $ans5290;\nvar anf_arg5294 = R.getTuple(v5289,0,L[3277]);\n$step5287 = 1;\n$al5291 = L[3283];\n// omitting isFunction check;\n$ans5290 = _plus5.app((\"table \"),anf_arg5294);\nbreak;\ncase 1: var anf_arg5295 = $ans5290;\n$step5287 = 2;\n$al5291 = L[3282];\n// omitting isFunction check;\n$ans5290 = _plus5.app(anf_arg5295,(\" expression\"));\nbreak;\ncase 2: var anf_arg5296 = $ans5290;\n$al5291 = L[3278];\nvar anf_arg5297 = G(self5191,\"operation-loc\",L[3278]);\n$step5287 = 3;\n$al5291 = L[3281];\n// omitting isFunction check;\n$ans5290 = ed$intro146.$var.app(anf_arg5296,anf_arg5297,(-1),(true));\nbreak;\ncase 3: var anf_arg5300 = $ans5290;\n$al5291 = L[3279];\nvar anf_arg5298 = G(self5191,\"operation-loc\",L[3279]);\n$step5287 = 4;\n$al5291 = L[3280];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5291,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5290 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg5298);\nbreak;\ncase 4: var anf_arg5301 = $ans5290;\n$step5287 = 5;\n$al5291 = L[3276];\nif(typeof(anf_fun5299.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5291,anf_fun5299);\n}\n$ans5290 = anf_fun5299.app(anf_arg5300,anf_arg5301);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans5290;\ndefault: R.ffi.throwSpinnakerError(L[3274],$step5287);\n}\n}\nif($step5287 !== 5) {\n$ans5290.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5291,$temp_lam5288,$step5287,[v5289],[anf_fun5299,anf_arg5300],$elidedFrames5293);\n}\nreturn $ans5290;\n};\nvar anf_arg5303 = R.mF($temp_lam5288,\"\");\n$step5189 = 11;\n$ans5195 = R.maybeMethodCall1(destructured$pattern5274,\"and-then\",L[3284],anf_arg5303);\nbreak;\ncase 11: var anf_method_obj5305 = $ans5195;\n$al5196 = L[3285];\nvar anf_arg5304 = G(self5191,\"operation-loc\",L[3285]);\n$step5189 = 12;\n$al5196 = L[3302];\n// omitting isFunction check;\n$ans5195 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5304);\nbreak;\ncase 12: var anf_arg5306 = $ans5195;\n$step5189 = 13;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5305,\"or-else\",L[3286],anf_arg5306);\nbreak;\ncase 13: var anf_arg5323 = $ans5195;\n$ans5195 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3287],L[3288]);\nvar anf_fun5313 = $ans5195;\n$step5189 = 14;\n$al5196 = L[3301];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg5314 = $ans5195;\n$step5189 = 15;\n$al5196 = L[3300];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 15: var anf_arg5308 = $ans5195;\n$step5189 = 16;\n$al5196 = L[3299];\nif(typeof(table$text5307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,table$text5307);\n}\n$ans5195 = table$text5307.app(anf_arg5308);\nbreak;\ncase 16: var anf_arg5315 = $ans5195;\n$step5189 = 17;\n$al5196 = L[3298];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\" did not have a column named \"));\nbreak;\ncase 17: var anf_arg5316 = $ans5195;\n$al5196 = L[3289];\nvar anf_arg5309 = G(self5191,\"column-name\",L[3289]);\n$step5189 = 18;\n$al5196 = L[3297];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app(anf_arg5309);\nbreak;\ncase 18: var anf_arg5310 = $ans5195;\n$step5189 = 19;\n$al5196 = L[3296];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"code\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"code\"].app(anf_arg5310);\nbreak;\ncase 19: var anf_arg5312 = $ans5195;\n$step5189 = 20;\n$al5196 = L[3295];\nif(typeof(column$text5311.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,column$text5311);\n}\n$ans5195 = column$text5311.app(anf_arg5312);\nbreak;\ncase 20: var anf_arg5317 = $ans5195;\n$step5189 = 21;\n$al5196 = L[3294];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"text\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"text\"].app((\"; it only had columns named:\"));\nbreak;\ncase 21: var anf_arg5318 = $ans5195;\n$step5189 = 22;\n$al5196 = L[3288];\nif(typeof(anf_fun5313.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,anf_fun5313);\n}\n$ans5195 = anf_fun5313.app(anf_arg5314,anf_arg5315,anf_arg5316,anf_arg5317,anf_arg5318);\nbreak;\ncase 22: var anf_arg5324 = $ans5195;\n$al5196 = L[3290];\nvar anf_method_obj5319 = G(self5191,\"columns\",L[3290]);\n$step5189 = 23;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5319,\"map\",L[3291],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 23: var anf_method_obj5320 = $ans5195;\n$step5189 = 24;\n$ans5195 = R.maybeMethodCall1(anf_method_obj5320,\"map\",L[3292],ED6.dict.values.dict[\"code\"]);\nbreak;\ncase 24: var anf_arg5321 = $ans5195;\n$step5189 = 25;\n$al5196 = L[3293];\nif(typeof(ED6.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,ED6.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans5195 = ED6.dict.values.dict[\"bulleted-sequence\"].app(anf_arg5321);\nbreak;\ncase 25: var anf_arg5325 = $ans5195;\n$step5189 = 26;\n$al5196 = L[3273];\nif(typeof(anf_fun5322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5196,anf_fun5322);\n}\n$ans5195 = anf_fun5322.app(anf_arg5323,anf_arg5324,anf_arg5325);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans5195;\ndefault: R.ffi.throwSpinnakerError(L[3242],$step5189);\n}\n}\nif($step5189 !== 26) {\n$ans5195.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5196,$temp_full5190,$step5189,[self5191,maybe$stack$loc5192,src$available5193,maybe$ast5194],[anf_arg5323,anf_arg5324,anf_arg5314,anf_arg5315,anf_arg5316,anf_arg5317,destructured$pattern5274,table$text5307,anf_method_obj5305,column$text5311,anf_fun5322,anf_fun5313,destructure$ast5250],$elidedFrames5198);\n}\nreturn $ans5195;\n};\nvar anf_variant_member6048 = R.makeMethod3($temp_full5190,\"render-fancy-reason\");\nvar $temp_full5348 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3312($self5349) {\nvar $step5347 = 0;\nvar $elidedFrames5353 = 0;\nvar $ans5350 = D;\nvar $al5351 = L[3312];\nif(R.isAR($self5349)) {\n$step5347 = $self5349.step;\n$al5351 = $self5349.from;\n$ans5350 = $self5349.ans;\n$elidedFrames5353 = $self5349.elidedFrames;\nself5349 = $self5349.args[0];\nanf_arg5365 = $self5349.vars[0];\nanf_arg5366 = $self5349.vars[1];\nanf_arg5358 = $self5349.vars[2];\nanf_arg5359 = $self5349.vars[3];\nanf_fun5364 = $self5349.vars[4];\nanf_fun5357 = $self5349.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3312],1,$t,true);\n}\nvar self5349 = $self5349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5350 = R.mC();\n}\nwhile(!R.isContinuation($ans5350)) {\nswitch($step5347) {\ncase 0: $ans5350 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3313],L[3314]);\nvar anf_fun5364 = $ans5350;\n$al5351 = L[3315];\nvar anf_arg5354 = G(self5349,\"operation-loc\",L[3315]);\n$step5347 = 1;\n$al5351 = L[3327];\n// omitting isFunction check;\n$ans5350 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5354);\nbreak;\ncase 1: var anf_arg5365 = $ans5350;\n$ans5350 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3316],L[3317]);\nvar anf_fun5357 = $ans5350;\n$step5347 = 2;\n$al5351 = L[3326];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app((\"The table did not have a column named \"));\nbreak;\ncase 2: var anf_arg5358 = $ans5350;\n$al5351 = L[3318];\nvar anf_arg5355 = G(self5349,\"column-name\",L[3318]);\n$step5347 = 3;\n$al5351 = L[3325];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app(anf_arg5355);\nbreak;\ncase 3: var anf_arg5356 = $ans5350;\n$step5347 = 4;\n$al5351 = L[3324];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"code\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"code\"].app(anf_arg5356);\nbreak;\ncase 4: var anf_arg5359 = $ans5350;\n$step5347 = 5;\n$al5351 = L[3323];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"text\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"text\"].app((\"; it only had columns named:\"));\nbreak;\ncase 5: var anf_arg5360 = $ans5350;\n$step5347 = 6;\n$al5351 = L[3317];\nif(typeof(anf_fun5357.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,anf_fun5357);\n}\n$ans5350 = anf_fun5357.app(anf_arg5358,anf_arg5359,anf_arg5360);\nbreak;\ncase 6: var anf_arg5366 = $ans5350;\n$al5351 = L[3319];\nvar anf_method_obj5361 = G(self5349,\"columns\",L[3319]);\n$step5347 = 7;\n$ans5350 = R.maybeMethodCall1(anf_method_obj5361,\"map\",L[3320],ED6.dict.values.dict[\"text\"]);\nbreak;\ncase 7: var anf_method_obj5362 = $ans5350;\n$step5347 = 8;\n$ans5350 = R.maybeMethodCall1(anf_method_obj5362,\"map\",L[3321],ED6.dict.values.dict[\"code\"]);\nbreak;\ncase 8: var anf_arg5363 = $ans5350;\n$step5347 = 9;\n$al5351 = L[3322];\nif(typeof(ED6.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,ED6.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans5350 = ED6.dict.values.dict[\"bulleted-sequence\"].app(anf_arg5363);\nbreak;\ncase 9: var anf_arg5367 = $ans5350;\n$step5347 = 10;\n$al5351 = L[3314];\nif(typeof(anf_fun5364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5351,anf_fun5364);\n}\n$ans5350 = anf_fun5364.app(anf_arg5365,anf_arg5366,anf_arg5367);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans5350;\ndefault: R.ffi.throwSpinnakerError(L[3312],$step5347);\n}\n}\nif($step5347 !== 10) {\n$ans5350.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5351,$temp_full5348,$step5347,[self5349],[anf_arg5365,anf_arg5366,anf_arg5358,anf_arg5359,anf_fun5364,anf_fun5357],$elidedFrames5353);\n}\nreturn $ans5350;\n};\nvar anf_variant_member6049 = R.makeMethod0($temp_full5348,\"render-reason\");\nvar $temp_full5370 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3328($self5371,$maybe$stack$loc5372,$src$available5373,$maybe$ast5374) {\nvar $step5369 = 0;\nvar $elidedFrames5378 = 0;\nvar $ans5375 = D;\nvar $al5376 = L[3328];\nif(R.isAR($self5371)) {\n$step5369 = $self5371.step;\n$al5376 = $self5371.from;\n$ans5375 = $self5371.ans;\n$elidedFrames5378 = $self5371.elidedFrames;\nself5371 = $self5371.args[0];\nmaybe$stack$loc5372 = $self5371.args[1];\nsrc$available5373 = $self5371.args[2];\nmaybe$ast5374 = $self5371.args[3];\nanf_arg5495 = $self5371.vars[0];\ndestructure$ast5430 = $self5371.vars[1];\nanf_arg5496 = $self5371.vars[2];\nanf_arg5497 = $self5371.vars[3];\nanf_arg5500 = $self5371.vars[4];\ntable$text5487 = $self5371.vars[5];\nanf_method_obj5485 = $self5371.vars[6];\ncolumn$text5491 = $self5371.vars[7];\ndestructured$pattern5454 = $self5371.vars[8];\nanf_fun5493 = $self5371.vars[9];\nanf_fun5499 = $self5371.vars[10];\nanf_arg5494 = $self5371.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3328],4,$t,true);\n}\nvar self5371 = $self5371;\nvar maybe$stack$loc5372 = $maybe$stack$loc5372;\nvar src$available5373 = $src$available5373;\nvar maybe$ast5374 = $maybe$ast5374;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5375 = R.mC();\n}\nwhile(!R.isContinuation($ans5375)) {\nswitch($step5369) {\ncase 0: var destructure$ast5430 = {\"$var\":D};\nvar $temp_lam5380 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3329($ast5381) {\nvar $step5379 = 0;\nvar $elidedFrames5385 = 0;\nvar $ans5382 = D;\nvar $al5383 = L[3329];\nif(R.isAR($ast5381)) {\n$step5379 = $ast5381.step;\n$al5383 = $ast5381.from;\n$ans5382 = $ast5381.ans;\n$elidedFrames5385 = $ast5381.elidedFrames;\nast5381 = $ast5381.args[0];\ncases5386 = $ast5381.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3329],1,$t,false);\n}\nvar ast5381 = $ast5381;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5382 = R.mC();\n}\nwhile(!R.isContinuation($ans5382)) {\nswitch($step5379) {\ncase 0: var cases5386 = ast5381;\n$al5383 = L[3333];\n$step5379 = $cases_dispatch5427[cases5386.$name] || 7;\nbreak;\ncase 1: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3332],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3332],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5391 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5391[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5387 = R.dF(cases5386.dict[$fn5391[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5391[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3330];\nvar anf_bracket5388 = G(column$binds5387,\"table\",L[3330]);\n$al5383 = L[3331];\nvar anf_tuple_fields5389 = G(anf_bracket5388,\"l\",L[3331]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"extend\"),anf_tuple_fields5389]);\nbreak;\ncase 2: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3336],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3336],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5398 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5398[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5394 = R.dF(cases5386.dict[$fn5398[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5398[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3334];\nvar anf_bracket5395 = G(column$binds5394,\"table\",L[3334]);\n$al5383 = L[3335];\nvar anf_tuple_fields5396 = G(anf_bracket5395,\"l\",L[3335]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"update\"),anf_tuple_fields5396]);\nbreak;\ncase 3: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3338],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3338],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5404 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5404[0]],cases5386.$mut_fields_mask[0],false);\nR.dF(cases5386.dict[$fn5404[1]],cases5386.$mut_fields_mask[1],false);\nvar table5401 = R.dF(cases5386.dict[$fn5404[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3337];\nvar anf_tuple_fields5402 = G(table5401,\"l\",L[3337]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"select\"),anf_tuple_fields5402]);\nbreak;\ncase 4: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3340],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3340],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5410 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5410[0]],cases5386.$mut_fields_mask[0],false);\nvar table5407 = R.dF(cases5386.dict[$fn5410[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5410[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3339];\nvar anf_tuple_fields5408 = G(table5407,\"l\",L[3339]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"order\"),anf_tuple_fields5408]);\nbreak;\ncase 5: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3343],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3343],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5417 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5417[0]],cases5386.$mut_fields_mask[0],false);\nvar column$binds5413 = R.dF(cases5386.dict[$fn5417[1]],cases5386.$mut_fields_mask[1],false);\nR.dF(cases5386.dict[$fn5417[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3341];\nvar anf_bracket5414 = G(column$binds5413,\"table\",L[3341]);\n$al5383 = L[3342];\nvar anf_tuple_fields5415 = G(anf_bracket5414,\"l\",L[3342]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"sieve\"),anf_tuple_fields5415]);\nbreak;\ncase 6: if(cases5386.$arity !== 3) {\nif(cases5386.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3345],3,cases5386.$arity,L[3333],cases5386.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3345],true,L[3333],cases5386.$loc);\n}\n}\nvar $fn5423 = cases5386.$constructor.$fieldNames;\nR.dF(cases5386.dict[$fn5423[0]],cases5386.$mut_fields_mask[0],false);\nR.dF(cases5386.dict[$fn5423[1]],cases5386.$mut_fields_mask[1],false);\nvar table5420 = R.dF(cases5386.dict[$fn5423[2]],cases5386.$mut_fields_mask[2],false);\n$al5383 = L[3344];\nvar anf_tuple_fields5421 = G(table5420,\"l\",L[3344]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"extract\"),anf_tuple_fields5421]);\nbreak;\ncase 7: $al5383 = L[3346];\nvar anf_tuple_fields5426 = G(self5371,\"operation-loc\",L[3346]);\n$step5379 = 8;\n$ans5382 = R.makeTuple([(\"operation\"),anf_tuple_fields5426]);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans5382;\ndefault: R.ffi.throwSpinnakerError(L[3329],$step5379);\n}\n}\nif($step5379 !== 8) {\n$ans5382.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5383,$temp_lam5380,$step5379,[ast5381],[cases5386],$elidedFrames5385);\n}\nreturn $ans5382;\n};\nvar anf_assign5429 = R.mF($temp_lam5380,\"destructure-ast\");\ndestructure$ast5430.$var = anf_assign5429;\nR.nothing;\n$al5376 = L[3347];\nvar anf_arg5431 = G(self5371,\"operation-loc\",L[3347]);\n$step5369 = 1;\n$al5376 = L[3393];\nif(typeof(O8.dict.values.dict[\"some\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,O8.dict.values.dict[\"some\"]);\n}\n$ans5375 = O8.dict.values.dict[\"some\"].app(anf_arg5431);\nbreak;\ncase 1: var arg_5432 = $ans5375;\n$step5369 = 2;\n$al5376 = L[3392];\n// omitting isFunction check;\n$ans5375 = and$if176.$var.app(src$available5373,arg_5432);\nbreak;\ncase 2: var arg_5433 = $ans5375;\n$step5369 = 3;\n$al5376 = L[3391];\n// omitting isFunction check;\n$ans5375 = and$maybe193.$var.app(maybe$ast5374,arg_5433);\nbreak;\ncase 3: var anf_method_obj5434 = $ans5375;\n$step5369 = 4;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5434,\"and-then\",L[3348],destructure$ast5430.$var);\nbreak;\ncase 4: var destructured$pattern5454 = $ans5375;\nvar $temp_lam5436 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3349($v5437) {\nvar $step5435 = 0;\nvar $elidedFrames5441 = 0;\nvar $ans5438 = D;\nvar $al5439 = L[3349];\nif(R.isAR($v5437)) {\n$step5435 = $v5437.step;\n$al5439 = $v5437.from;\n$ans5438 = $v5437.ans;\n$elidedFrames5441 = $v5437.elidedFrames;\nv5437 = $v5437.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3349],1,$t,false);\n}\nvar v5437 = $v5437;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5438 = R.mC();\n}\nwhile(!R.isContinuation($ans5438)) {\nswitch($step5435) {\ncase 0: $step5435 = 1;\nvar $temp_lam5443 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3350($arg_5444) {\nvar $step5442 = 0;\nvar $elidedFrames5448 = 0;\nvar $ans5445 = D;\nvar $al5446 = L[3350];\nif(R.isAR($arg_5444)) {\n$step5442 = $arg_5444.step;\n$al5446 = $arg_5444.from;\n$ans5445 = $arg_5444.ans;\n$elidedFrames5448 = $arg_5444.elidedFrames;\narg_5444 = $arg_5444.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3350],1,$t,false);\n}\nvar arg_5444 = $arg_5444;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5445 = R.mC();\n}\nwhile(!R.isContinuation($ans5445)) {\nswitch($step5442) {\ncase 0: $ans5445 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3351],L[3352]);\nvar anf_fun5449 = $ans5445;\nvar anf_arg5450 = R.getTuple(v5437,1,L[3353]);\n$step5442 = 1;\n$al5446 = L[3352];\nif(typeof(anf_fun5449.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5446,anf_fun5449);\n}\n$ans5445 = anf_fun5449.app(anf_arg5450);\nbreak;\ncase 1: var anf_arg5451 = $ans5445;\n$step5442 = 2;\n$al5446 = L[3350];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5446,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5445 = ED6.dict.values.dict[\"highlight\"].app(arg_5444,anf_arg5451,(0));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5445;\ndefault: R.ffi.throwSpinnakerError(L[3350],$step5442);\n}\n}\nif($step5442 !== 2) {\n$ans5445.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5446,$temp_lam5443,$step5442,[arg_5444],[],$elidedFrames5448);\n}\nreturn $ans5445;\n};\n$ans5438 = R.mF($temp_lam5443,\"\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5438;\ndefault: R.ffi.throwSpinnakerError(L[3349],$step5435);\n}\n}\nif($step5435 !== 1) {\n$ans5438.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5439,$temp_lam5436,$step5435,[v5437],[],$elidedFrames5441);\n}\nreturn $ans5438;\n};\nvar anf_arg5455 = R.mF($temp_lam5436,\"\");\n$step5369 = 5;\n$ans5375 = R.maybeMethodCall1(destructured$pattern5454,\"and-then\",L[3354],anf_arg5455);\nbreak;\ncase 5: var anf_method_obj5464 = $ans5375;\nvar $temp_lam5457 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3355($v5458) {\nvar $step5456 = 0;\nvar $elidedFrames5462 = 0;\nvar $ans5459 = D;\nvar $al5460 = L[3355];\nif(R.isAR($v5458)) {\n$step5456 = $v5458.step;\n$al5460 = $v5458.from;\n$ans5459 = $v5458.ans;\n$elidedFrames5462 = $v5458.elidedFrames;\nv5458 = $v5458.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3355],1,$t,false);\n}\nvar v5458 = $v5458;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5459 = R.mC();\n}\nwhile(!R.isContinuation($ans5459)) {\nswitch($step5456) {\ncase 0: $step5456 = 1;\n$ans5459 = v5458;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5459;\ndefault: R.ffi.throwSpinnakerError(L[3355],$step5456);\n}\n}\nif($step5456 !== 1) {\n$ans5459.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5460,$temp_lam5457,$step5456,[v5458],[],$elidedFrames5462);\n}\nreturn $ans5459;\n};\nvar anf_arg5465 = R.mF($temp_lam5457,\"\");\n$step5369 = 6;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5464,\"or-else\",L[3356],anf_arg5465);\nbreak;\ncase 6: var table$text5487 = $ans5375;\n$al5376 = L[3357];\nvar anf_arg5466 = G(self5371,\"column-loc\",L[3357]);\n$step5369 = 7;\n$al5376 = L[3390];\nif(typeof(src$available5373.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,src$available5373);\n}\n$ans5375 = src$available5373.app(anf_arg5466);\nbreak;\ncase 7: var anf_if5521 = $ans5375;\n$step5369 = R.checkPyretTrue(anf_if5521)?8:9;\nbreak;\ncase 8: $step5369 = 10;\nvar $temp_lam5503 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3385($arg_5504) {\nvar $step5502 = 0;\nvar $elidedFrames5508 = 0;\nvar $ans5505 = D;\nvar $al5506 = L[3385];\nif(R.isAR($arg_5504)) {\n$step5502 = $arg_5504.step;\n$al5506 = $arg_5504.from;\n$ans5505 = $arg_5504.ans;\n$elidedFrames5508 = $arg_5504.elidedFrames;\narg_5504 = $arg_5504.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3385],1,$t,false);\n}\nvar arg_5504 = $arg_5504;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5505 = R.mC();\n}\nwhile(!R.isContinuation($ans5505)) {\nswitch($step5502) {\ncase 0: $ans5505 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3386],L[3387]);\nvar anf_fun5509 = $ans5505;\n$al5506 = L[3388];\nvar anf_arg5510 = G(self5371,\"column-loc\",L[3388]);\n$step5502 = 1;\n$al5506 = L[3387];\nif(typeof(anf_fun5509.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5506,anf_fun5509);\n}\n$ans5505 = anf_fun5509.app(anf_arg5510);\nbreak;\ncase 1: var anf_arg5511 = $ans5505;\n$step5502 = 2;\n$al5506 = L[3385];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5506,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans5505 = ED6.dict.values.dict[\"highlight\"].app(arg_5504,anf_arg5511,(1));\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5505;\ndefault: R.ffi.throwSpinnakerError(L[3385],$step5502);\n}\n}\nif($step5502 !== 2) {\n$ans5505.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5506,$temp_lam5503,$step5502,[arg_5504],[],$elidedFrames5508);\n}\nreturn $ans5505;\n};\n$ans5375 = R.mF($temp_lam5503,\"\");\nbreak;\ncase 9: $step5369 = 10;\nvar $temp_lam5514 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3389($v5515) {\nvar $step5513 = 0;\nvar $elidedFrames5519 = 0;\nvar $ans5516 = D;\nvar $al5517 = L[3389];\nif(R.isAR($v5515)) {\n$step5513 = $v5515.step;\n$al5517 = $v5515.from;\n$ans5516 = $v5515.ans;\n$elidedFrames5519 = $v5515.elidedFrames;\nv5515 = $v5515.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3389],1,$t,false);\n}\nvar v5515 = $v5515;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5516 = R.mC();\n}\nwhile(!R.isContinuation($ans5516)) {\nswitch($step5513) {\ncase 0: $step5513 = 1;\n$ans5516 = v5515;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5516;\ndefault: R.ffi.throwSpinnakerError(L[3389],$step5513);\n}\n}\nif($step5513 !== 1) {\n$ans5516.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5517,$temp_lam5514,$step5513,[v5515],[],$elidedFrames5519);\n}\nreturn $ans5516;\n};\n$ans5375 = R.mF($temp_lam5514,\"\");\nbreak;\ncase 10: var column$text5491 = $ans5375;\n$ans5375 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3358],L[3359]);\nvar anf_fun5499 = $ans5375;\nvar $temp_lam5468 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3360($v5469) {\nvar $step5467 = 0;\nvar $elidedFrames5473 = 0;\nvar $ans5470 = D;\nvar $al5471 = L[3360];\nif(R.isAR($v5469)) {\n$step5467 = $v5469.step;\n$al5471 = $v5469.from;\n$ans5470 = $v5469.ans;\n$elidedFrames5473 = $v5469.elidedFrames;\nv5469 = $v5469.args[0];\nanf_fun5479 = $v5469.vars[0];\nanf_arg5480 = $v5469.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3360],1,$t,false);\n}\nvar v5469 = $v5469;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5470 = R.mC();\n}\nwhile(!R.isContinuation($ans5470)) {\nswitch($step5467) {\ncase 0: $ans5470 = R.getMaker2(ED6.dict.values.dict[\"sequence\"],(\"make2\"),L[3361],L[3362]);\nvar anf_fun5479 = $ans5470;\nvar anf_arg5474 = R.getTuple(v5469,0,L[3363]);\n$step5467 = 1;\n$al5471 = L[3369];\n// omitting isFunction check;\n$ans5470 = _plus5.app((\"table \"),anf_arg5474);\nbreak;\ncase 1: var anf_arg5475 = $ans5470;\n$step5467 = 2;\n$al5471 = L[3368];\n// omitting isFunction check;\n$ans5470 = _plus5.app(anf_arg5475,(\" expression\"));\nbreak;\ncase 2: var anf_arg5476 = $ans5470;\n$al5471 = L[3364];\nvar anf_arg5477 = G(self5371,\"operation-loc\",L[3364]);\n$step5467 = 3;\n$al5471 = L[3367];\n// omitting isFunction check;\n$ans5470 = ed$intro146.$var.app(anf_arg5476,anf_arg5477,(-1),(true));\nbreak;\ncase 3: var anf_arg5480 = $ans5470;\n$al5471 = L[3365];\nvar anf_arg5478 = G(self5371,\"operation-loc\",L[3365]);\n$step5467 = 4;\n$al5471 = L[3366];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5471,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans5470 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg5478);\nbreak;\ncase 4: var anf_arg5481 = $ans5470;\n$step5467 = 5;\n$al5471 = L[3362];\nif(typeof(anf_fun5479.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5471,anf_fun5479);\n}\n$ans5470 = anf_fun5479.app(anf_arg5480,anf_arg5481);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans5470;\ndefault: R.ffi.throwSpinnakerError(L[3360],$step5467);\n}\n}\nif($step5467 !== 5) {\n$ans5470.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5471,$temp_lam5468,$step5467,[v5469],[anf_fun5479,anf_arg5480],$elidedFrames5473);\n}\nreturn $ans5470;\n};\nvar anf_arg5483 = R.mF($temp_lam5468,\"\");\n$step5369 = 11;\n$ans5375 = R.maybeMethodCall1(destructured$pattern5454,\"and-then\",L[3370],anf_arg5483);\nbreak;\ncase 11: var anf_method_obj5485 = $ans5375;\n$al5376 = L[3371];\nvar anf_arg5484 = G(self5371,\"operation-loc\",L[3371]);\n$step5369 = 12;\n$al5376 = L[3384];\n// omitting isFunction check;\n$ans5375 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5484);\nbreak;\ncase 12: var anf_arg5486 = $ans5375;\n$step5369 = 13;\n$ans5375 = R.maybeMethodCall1(anf_method_obj5485,\"or-else\",L[3372],anf_arg5486);\nbreak;\ncase 13: var anf_arg5500 = $ans5375;\n$ans5375 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3373],L[3374]);\nvar anf_fun5493 = $ans5375;\n$step5369 = 14;\n$al5376 = L[3383];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 14: var anf_arg5494 = $ans5375;\n$step5369 = 15;\n$al5376 = L[3382];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\"table\"));\nbreak;\ncase 15: var anf_arg5488 = $ans5375;\n$step5369 = 16;\n$al5376 = L[3381];\nif(typeof(table$text5487.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,table$text5487);\n}\n$ans5375 = table$text5487.app(anf_arg5488);\nbreak;\ncase 16: var anf_arg5495 = $ans5375;\n$step5369 = 17;\n$al5376 = L[3380];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\" already has a column named \"));\nbreak;\ncase 17: var anf_arg5496 = $ans5375;\n$al5376 = L[3375];\nvar anf_arg5489 = G(self5371,\"column-name\",L[3375]);\n$step5369 = 18;\n$al5376 = L[3379];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app(anf_arg5489);\nbreak;\ncase 18: var anf_arg5490 = $ans5375;\n$step5369 = 19;\n$al5376 = L[3378];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"code\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"code\"].app(anf_arg5490);\nbreak;\ncase 19: var anf_arg5492 = $ans5375;\n$step5369 = 20;\n$al5376 = L[3377];\nif(typeof(column$text5491.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,column$text5491);\n}\n$ans5375 = column$text5491.app(anf_arg5492);\nbreak;\ncase 20: var anf_arg5497 = $ans5375;\n$step5369 = 21;\n$al5376 = L[3376];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,ED6.dict.values.dict[\"text\"]);\n}\n$ans5375 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 21: var anf_arg5498 = $ans5375;\n$step5369 = 22;\n$al5376 = L[3374];\nif(typeof(anf_fun5493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,anf_fun5493);\n}\n$ans5375 = anf_fun5493.app(anf_arg5494,anf_arg5495,anf_arg5496,anf_arg5497,anf_arg5498);\nbreak;\ncase 22: var anf_arg5501 = $ans5375;\n$step5369 = 23;\n$al5376 = L[3359];\nif(typeof(anf_fun5499.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5376,anf_fun5499);\n}\n$ans5375 = anf_fun5499.app(anf_arg5500,anf_arg5501);\nbreak;\ncase 23: ++R.GAS;\nreturn $ans5375;\ndefault: R.ffi.throwSpinnakerError(L[3328],$step5369);\n}\n}\nif($step5369 !== 23) {\n$ans5375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5376,$temp_full5370,$step5369,[self5371,maybe$stack$loc5372,src$available5373,maybe$ast5374],[anf_arg5495,destructure$ast5430,anf_arg5496,anf_arg5497,anf_arg5500,table$text5487,anf_method_obj5485,column$text5491,destructured$pattern5454,anf_fun5493,anf_fun5499,anf_arg5494],$elidedFrames5378);\n}\nreturn $ans5375;\n};\nvar anf_variant_member6060 = R.makeMethod3($temp_full5370,\"render-fancy-reason\");\nvar $temp_full5524 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3394($self5525) {\nvar $step5523 = 0;\nvar $elidedFrames5529 = 0;\nvar $ans5526 = D;\nvar $al5527 = L[3394];\nif(R.isAR($self5525)) {\n$step5523 = $self5525.step;\n$al5527 = $self5525.from;\n$ans5526 = $self5525.ans;\n$elidedFrames5529 = $self5525.elidedFrames;\nself5525 = $self5525.args[0];\nanf_fun5537 = $self5525.vars[0];\nanf_arg5534 = $self5525.vars[1];\nanf_arg5535 = $self5525.vars[2];\nanf_arg5538 = $self5525.vars[3];\nanf_fun5533 = $self5525.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3394],1,$t,true);\n}\nvar self5525 = $self5525;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5526 = R.mC();\n}\nwhile(!R.isContinuation($ans5526)) {\nswitch($step5523) {\ncase 0: $ans5526 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3395],L[3396]);\nvar anf_fun5537 = $ans5526;\n$al5527 = L[3397];\nvar anf_arg5530 = G(self5525,\"operation-loc\",L[3397]);\n$step5523 = 1;\n$al5527 = L[3405];\n// omitting isFunction check;\n$ans5526 = ed$simple$intro104.$var.app((\"table operation\"),anf_arg5530);\nbreak;\ncase 1: var anf_arg5538 = $ans5526;\n$ans5526 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3398],L[3399]);\nvar anf_fun5533 = $ans5526;\n$step5523 = 2;\n$al5527 = L[3404];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app((\"The table already has a column named \"));\nbreak;\ncase 2: var anf_arg5534 = $ans5526;\n$al5527 = L[3400];\nvar anf_arg5531 = G(self5525,\"column-name\",L[3400]);\n$step5523 = 3;\n$al5527 = L[3403];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app(anf_arg5531);\nbreak;\ncase 3: var anf_arg5532 = $ans5526;\n$step5523 = 4;\n$al5527 = L[3402];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"code\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"code\"].app(anf_arg5532);\nbreak;\ncase 4: var anf_arg5535 = $ans5526;\n$step5523 = 5;\n$al5527 = L[3401];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,ED6.dict.values.dict[\"text\"]);\n}\n$ans5526 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg5536 = $ans5526;\n$step5523 = 6;\n$al5527 = L[3399];\nif(typeof(anf_fun5533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,anf_fun5533);\n}\n$ans5526 = anf_fun5533.app(anf_arg5534,anf_arg5535,anf_arg5536);\nbreak;\ncase 6: var anf_arg5539 = $ans5526;\n$step5523 = 7;\n$al5527 = L[3396];\nif(typeof(anf_fun5537.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5527,anf_fun5537);\n}\n$ans5526 = anf_fun5537.app(anf_arg5538,anf_arg5539);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans5526;\ndefault: R.ffi.throwSpinnakerError(L[3394],$step5523);\n}\n}\nif($step5523 !== 7) {\n$ans5526.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5527,$temp_full5524,$step5523,[self5525],[anf_fun5537,anf_arg5534,anf_arg5535,anf_arg5538,anf_fun5533],$elidedFrames5529);\n}\nreturn $ans5526;\n};\nvar anf_variant_member6061 = R.makeMethod0($temp_full5524,\"render-reason\");\nvar $temp_full5542 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3406($self5543,$maybe$stack$loc5544,$src$available5545,$maybe$ast5546) {\nvar $step5541 = 0;\nvar $elidedFrames5550 = 0;\nvar $ans5547 = D;\nvar $al5548 = L[3406];\nif(R.isAR($self5543)) {\n$step5541 = $self5543.step;\n$al5548 = $self5543.from;\n$ans5547 = $self5543.ans;\n$elidedFrames5550 = $self5543.elidedFrames;\nself5543 = $self5543.args[0];\nmaybe$stack$loc5544 = $self5543.args[1];\nsrc$available5545 = $self5543.args[2];\nmaybe$ast5546 = $self5543.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3406],4,$t,true);\n}\nvar self5543 = $self5543;\nvar maybe$stack$loc5544 = $maybe$stack$loc5544;\nvar src$available5545 = $src$available5545;\nvar maybe$ast5546 = $maybe$ast5546;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5547 = R.mC();\n}\nwhile(!R.isContinuation($ans5547)) {\nswitch($step5541) {\ncase 0: $step5541 = 1;\n$ans5547 = R.maybeMethodCall0(self5543,\"render-reason\",L[3407]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5547;\ndefault: R.ffi.throwSpinnakerError(L[3406],$step5541);\n}\n}\nif($step5541 !== 1) {\n$ans5547.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5548,$temp_full5542,$step5541,[self5543,maybe$stack$loc5544,src$available5545,maybe$ast5546],[],$elidedFrames5550);\n}\nreturn $ans5547;\n};\nvar anf_singleton_variant_member6071 = R.makeMethod3($temp_full5542,\"render-fancy-reason\");\nvar $temp_full5553 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3408($self5554) {\nvar $step5552 = 0;\nvar $elidedFrames5558 = 0;\nvar $ans5555 = D;\nvar $al5556 = L[3408];\nif(R.isAR($self5554)) {\n$step5552 = $self5554.step;\n$al5556 = $self5554.from;\n$ans5555 = $self5554.ans;\n$elidedFrames5558 = $self5554.elidedFrames;\nself5554 = $self5554.args[0];\nanf_fun5559 = $self5554.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3408],1,$t,true);\n}\nvar self5554 = $self5554;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5555 = R.mC();\n}\nwhile(!R.isContinuation($ans5555)) {\nswitch($step5552) {\ncase 0: $ans5555 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3409],L[3410]);\nvar anf_fun5559 = $ans5555;\n$step5552 = 1;\n$al5556 = L[3411];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5556,ED6.dict.values.dict[\"text\"]);\n}\n$ans5555 = ED6.dict.values.dict[\"text\"].app((\"Program stopped by user\"));\nbreak;\ncase 1: var anf_arg5560 = $ans5555;\n$step5552 = 2;\n$al5556 = L[3410];\nif(typeof(anf_fun5559.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5556,anf_fun5559);\n}\n$ans5555 = anf_fun5559.app(anf_arg5560);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5555;\ndefault: R.ffi.throwSpinnakerError(L[3408],$step5552);\n}\n}\nif($step5552 !== 2) {\n$ans5555.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5556,$temp_full5553,$step5552,[self5554],[anf_fun5559],$elidedFrames5558);\n}\nreturn $ans5555;\n};\nvar anf_singleton_variant_member6072 = R.makeMethod0($temp_full5553,\"render-reason\");\nvar $temp_full5563 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3412($self5564,$maybe$stack$loc5565,$src$available5566,$maybe$ast5567) {\nvar $step5562 = 0;\nvar $elidedFrames5571 = 0;\nvar $ans5568 = D;\nvar $al5569 = L[3412];\nif(R.isAR($self5564)) {\n$step5562 = $self5564.step;\n$al5569 = $self5564.from;\n$ans5568 = $self5564.ans;\n$elidedFrames5571 = $self5564.elidedFrames;\nself5564 = $self5564.args[0];\nmaybe$stack$loc5565 = $self5564.args[1];\nsrc$available5566 = $self5564.args[2];\nmaybe$ast5567 = $self5564.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3412],4,$t,true);\n}\nvar self5564 = $self5564;\nvar maybe$stack$loc5565 = $maybe$stack$loc5565;\nvar src$available5566 = $src$available5566;\nvar maybe$ast5567 = $maybe$ast5567;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5568 = R.mC();\n}\nwhile(!R.isContinuation($ans5568)) {\nswitch($step5562) {\ncase 0: $step5562 = 1;\n$ans5568 = R.maybeMethodCall0(self5564,\"render-reason\",L[3413]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5568;\ndefault: R.ffi.throwSpinnakerError(L[3412],$step5562);\n}\n}\nif($step5562 !== 1) {\n$ans5568.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5569,$temp_full5563,$step5562,[self5564,maybe$stack$loc5565,src$available5566,maybe$ast5567],[],$elidedFrames5571);\n}\nreturn $ans5568;\n};\nvar anf_variant_member6078 = R.makeMethod3($temp_full5563,\"render-fancy-reason\");\nvar $temp_full5574 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3414($self5575) {\nvar $step5573 = 0;\nvar $elidedFrames5579 = 0;\nvar $ans5576 = D;\nvar $al5577 = L[3414];\nif(R.isAR($self5575)) {\n$step5573 = $self5575.step;\n$al5577 = $self5575.from;\n$ans5576 = $self5575.ans;\n$elidedFrames5579 = $self5575.elidedFrames;\nself5575 = $self5575.args[0];\nanf_fun5583 = $self5575.vars[0];\nanf_fun5581 = $self5575.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3414],1,$t,true);\n}\nvar self5575 = $self5575;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5576 = R.mC();\n}\nwhile(!R.isContinuation($ans5576)) {\nswitch($step5573) {\ncase 0: $ans5576 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3415],L[3416]);\nvar anf_fun5583 = $ans5576;\n$ans5576 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3417],L[3418]);\nvar anf_fun5581 = $ans5576;\n$al5577 = L[3419];\nvar anf_arg5580 = G(self5575,\"value\",L[3419]);\n$step5573 = 1;\n$al5577 = L[3420];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5576 = ED6.dict.values.dict[\"embed\"].app(anf_arg5580);\nbreak;\ncase 1: var anf_arg5582 = $ans5576;\n$step5573 = 2;\n$al5577 = L[3418];\nif(typeof(anf_fun5581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,anf_fun5581);\n}\n$ans5576 = anf_fun5581.app(anf_arg5582);\nbreak;\ncase 2: var anf_arg5584 = $ans5576;\n$step5573 = 3;\n$al5577 = L[3416];\nif(typeof(anf_fun5583.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5577,anf_fun5583);\n}\n$ans5576 = anf_fun5583.app(anf_arg5584);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans5576;\ndefault: R.ffi.throwSpinnakerError(L[3414],$step5573);\n}\n}\nif($step5573 !== 3) {\n$ans5576.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5577,$temp_full5574,$step5573,[self5575],[anf_fun5583,anf_fun5581],$elidedFrames5579);\n}\nreturn $ans5576;\n};\nvar anf_variant_member6079 = R.makeMethod0($temp_full5574,\"render-reason\");\nvar $temp_full5587 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3421($self5588) {\nvar $step5586 = 0;\nvar $elidedFrames5592 = 0;\nvar $ans5589 = D;\nvar $al5590 = L[3421];\nif(R.isAR($self5588)) {\n$step5586 = $self5588.step;\n$al5590 = $self5588.from;\n$ans5589 = $self5588.ans;\n$elidedFrames5592 = $self5588.elidedFrames;\nself5588 = $self5588.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3421],1,$t,true);\n}\nvar self5588 = $self5588;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5589 = R.mC();\n}\nwhile(!R.isContinuation($ans5589)) {\nswitch($step5586) {\ncase 0: $al5590 = L[3422];\nvar anf_arg5593 = G(self5588,\"value\",L[3422]);\n$step5586 = 1;\n$al5590 = L[3423];\nif(typeof(VS10.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5590,VS10.dict.values.dict[\"vs-value\"]);\n}\n$ans5589 = VS10.dict.values.dict[\"vs-value\"].app(anf_arg5593);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5589;\ndefault: R.ffi.throwSpinnakerError(L[3421],$step5586);\n}\n}\nif($step5586 !== 1) {\n$ans5589.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5590,$temp_full5587,$step5586,[self5588],[],$elidedFrames5592);\n}\nreturn $ans5589;\n};\nvar anf_variant_member6080 = R.makeMethod0($temp_full5587,\"_output\");\nvar $temp_full5596 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3424($self5597,$maybe$stack$loc5598,$src$available5599,$maybe$ast5600) {\nvar $step5595 = 0;\nvar $elidedFrames5604 = 0;\nvar $ans5601 = D;\nvar $al5602 = L[3424];\nif(R.isAR($self5597)) {\n$step5595 = $self5597.step;\n$al5602 = $self5597.from;\n$ans5601 = $self5597.ans;\n$elidedFrames5604 = $self5597.elidedFrames;\nself5597 = $self5597.args[0];\nmaybe$stack$loc5598 = $self5597.args[1];\nsrc$available5599 = $self5597.args[2];\nmaybe$ast5600 = $self5597.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3424],4,$t,true);\n}\nvar self5597 = $self5597;\nvar maybe$stack$loc5598 = $maybe$stack$loc5598;\nvar src$available5599 = $src$available5599;\nvar maybe$ast5600 = $maybe$ast5600;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5601 = R.mC();\n}\nwhile(!R.isContinuation($ans5601)) {\nswitch($step5595) {\ncase 0: $step5595 = 1;\n$ans5601 = R.maybeMethodCall0(self5597,\"render-reason\",L[3425]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5601;\ndefault: R.ffi.throwSpinnakerError(L[3424],$step5595);\n}\n}\nif($step5595 !== 1) {\n$ans5601.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5602,$temp_full5596,$step5595,[self5597,maybe$stack$loc5598,src$available5599,maybe$ast5600],[],$elidedFrames5604);\n}\nreturn $ans5601;\n};\nvar anf_variant_member6088 = R.makeMethod3($temp_full5596,\"render-fancy-reason\");\nvar $temp_full5607 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3426($self5608) {\nvar $step5606 = 0;\nvar $elidedFrames5612 = 0;\nvar $ans5609 = D;\nvar $al5610 = L[3426];\nif(R.isAR($self5608)) {\n$step5606 = $self5608.step;\n$al5610 = $self5608.from;\n$ans5609 = $self5608.ans;\n$elidedFrames5612 = $self5608.elidedFrames;\nself5608 = $self5608.args[0];\nanf_fun5614 = $self5608.vars[0];\nanf_arg5615 = $self5608.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3426],1,$t,true);\n}\nvar self5608 = $self5608;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5609 = R.mC();\n}\nwhile(!R.isContinuation($ans5609)) {\nswitch($step5606) {\ncase 0: $ans5609 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3427],L[3428]);\nvar anf_fun5614 = $ans5609;\n$step5606 = 1;\n$al5610 = L[3431];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,ED6.dict.values.dict[\"text\"]);\n}\n$ans5609 = ED6.dict.values.dict[\"text\"].app((\"Exited with code \"));\nbreak;\ncase 1: var anf_arg5615 = $ans5609;\n$al5610 = L[3429];\nvar anf_arg5613 = G(self5608,\"code\",L[3429]);\n$step5606 = 2;\n$al5610 = L[3430];\nif(typeof(ED6.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,ED6.dict.values.dict[\"embed\"]);\n}\n$ans5609 = ED6.dict.values.dict[\"embed\"].app(anf_arg5613);\nbreak;\ncase 2: var anf_arg5616 = $ans5609;\n$step5606 = 3;\n$al5610 = L[3428];\nif(typeof(anf_fun5614.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5610,anf_fun5614);\n}\n$ans5609 = anf_fun5614.app(anf_arg5615,anf_arg5616);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans5609;\ndefault: R.ffi.throwSpinnakerError(L[3426],$step5606);\n}\n}\nif($step5606 !== 3) {\n$ans5609.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5610,$temp_full5607,$step5606,[self5608],[anf_fun5614,anf_arg5615],$elidedFrames5612);\n}\nreturn $ans5609;\n};\nvar anf_variant_member6089 = R.makeMethod0($temp_full5607,\"render-reason\");\nvar $temp_full5619 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3432($self5620,$maybe$stack$loc5621,$src$available5622,$maybe$ast5623) {\nvar $step5618 = 0;\nvar $elidedFrames5627 = 0;\nvar $ans5624 = D;\nvar $al5625 = L[3432];\nif(R.isAR($self5620)) {\n$step5618 = $self5620.step;\n$al5625 = $self5620.from;\n$ans5624 = $self5620.ans;\n$elidedFrames5627 = $self5620.elidedFrames;\nself5620 = $self5620.args[0];\nmaybe$stack$loc5621 = $self5620.args[1];\nsrc$available5622 = $self5620.args[2];\nmaybe$ast5623 = $self5620.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3432],4,$t,true);\n}\nvar self5620 = $self5620;\nvar maybe$stack$loc5621 = $maybe$stack$loc5621;\nvar src$available5622 = $src$available5622;\nvar maybe$ast5623 = $maybe$ast5623;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5624 = R.mC();\n}\nwhile(!R.isContinuation($ans5624)) {\nswitch($step5618) {\ncase 0: $step5618 = 1;\n$ans5624 = R.maybeMethodCall0(self5620,\"render-reason\",L[3433]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5624;\ndefault: R.ffi.throwSpinnakerError(L[3432],$step5618);\n}\n}\nif($step5618 !== 1) {\n$ans5624.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5625,$temp_full5619,$step5618,[self5620,maybe$stack$loc5621,src$available5622,maybe$ast5623],[],$elidedFrames5627);\n}\nreturn $ans5624;\n};\nvar anf_variant_member6097 = R.makeMethod3($temp_full5619,\"render-fancy-reason\");\nvar $temp_full5630 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3434($self5631) {\nvar $step5629 = 0;\nvar $elidedFrames5635 = 0;\nvar $ans5632 = D;\nvar $al5633 = L[3434];\nif(R.isAR($self5631)) {\n$step5629 = $self5631.step;\n$al5633 = $self5631.from;\n$ans5632 = $self5631.ans;\n$elidedFrames5635 = $self5631.elidedFrames;\nself5631 = $self5631.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3434],1,$t,true);\n}\nvar self5631 = $self5631;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5632 = R.mC();\n}\nwhile(!R.isContinuation($ans5632)) {\nswitch($step5629) {\ncase 0: $step5629 = 1;\n$al5633 = L[3435];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5633,ED6.dict.values.dict[\"text\"]);\n}\n$ans5632 = ED6.dict.values.dict[\"text\"].app((\"\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5632;\ndefault: R.ffi.throwSpinnakerError(L[3434],$step5629);\n}\n}\nif($step5629 !== 1) {\n$ans5632.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5633,$temp_full5630,$step5629,[self5631],[],$elidedFrames5635);\n}\nreturn $ans5632;\n};\nvar anf_variant_member6098 = R.makeMethod0($temp_full5630,\"render-reason\");\nvar $multi$error_getfields5643 = function singleton_variant(f) {\nreturn f(this.dict[\"errors\"]);\n};\nvar $multi$error_mutablemask5642 = [false];\nvar $multi$error$base5637 = {\"$fieldNames\":[\"errors\"],\n\"render-fancy-reason\":anf_variant_member5640,\n\"render-reason\":anf_variant_member5641,\n\"_match\":R.mM(\"multi-error\",1)};\nvar $multi$error$brander5638 = R.nB(\"multi-error\",L[3436]);\nvar $multi$error$brands5639 = {};\n$multi$error$brands5639[RuntimeError24._brand] = true;\n$multi$error$brands5639[$multi$error$brander5638._brand] = true;\nvar multi$error5644 = R.mVC(L[3436],function $synthesizedConstructor_$multi$error$base() {\nreturn [];\n},[],[],[false],[\"errors5645\"],$multi$error_mutablemask5642,$multi$error$base5637,$multi$error$brands5639,\"multi-error\",$multi$error_getfields5643,$multi$error$base5637);\nvar $sample$error_getfields5652 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"some-info\"]);\n};\nvar $sample$error_mutablemask5651 = [false,false];\nvar $sample$error$base5646 = {\"$fieldNames\":[\"loc\",\"some-info\"],\n\"render-fancy-reason\":anf_variant_member5649,\n\"render-reason\":anf_variant_member5650,\n\"_match\":R.mM(\"sample-error\",2)};\nvar $sample$error$brander5647 = R.nB(\"sample-error\",L[3437]);\nvar $sample$error$brands5648 = {};\n$sample$error$brands5648[RuntimeError24._brand] = true;\n$sample$error$brands5648[$sample$error$brander5647._brand] = true;\nvar sample$error5653 = R.mVC(L[3437],function $synthesizedConstructor_$sample$error$base() {\nreturn [];\n},[],[],[false,false],[\"loc5654\",\"some$info5655\"],$sample$error_mutablemask5651,$sample$error$base5646,$sample$error$brands5648,\"sample-error\",$sample$error_getfields5652,$sample$error$base5646);\nvar $message$exception_getfields5663 = function singleton_variant(f) {\nreturn f(this.dict[\"message\"]);\n};\nvar $message$exception_mutablemask5662 = [false];\nvar $message$exception$base5656 = {\"$fieldNames\":[\"message\"],\n\"render-fancy-reason\":anf_variant_member5659,\n\"render-reason\":anf_variant_member5660,\n\"_output\":anf_variant_member5661,\n\"_match\":R.mM(\"message-exception\",1)};\nvar $message$exception$brander5657 = R.nB(\"message-exception\",L[3438]);\nvar $message$exception$brands5658 = {};\n$message$exception$brands5658[RuntimeError24._brand] = true;\n$message$exception$brands5658[$message$exception$brander5657._brand] = true;\nvar message$exception5664 = R.mVC(L[3438],function $synthesizedConstructor_$message$exception$base() {\nreturn [$type$String8];\n},[\"message5665\"],[L[3439]],[false],[\"message5665\"],$message$exception_mutablemask5662,$message$exception$base5656,$message$exception$brands5658,\"message-exception\",$message$exception_getfields5663,$message$exception$base5656);\nvar $update$non$obj_getfields5672 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"]);\n};\nvar $update$non$obj_mutablemask5671 = [false,false,false];\nvar $update$non$obj$base5666 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\"],\n\"render-fancy-reason\":anf_variant_member5669,\n\"render-reason\":anf_variant_member5670,\n\"_match\":R.mM(\"update-non-obj\",3)};\nvar $update$non$obj$brander5667 = R.nB(\"update-non-obj\",L[3440]);\nvar $update$non$obj$brands5668 = {};\n$update$non$obj$brands5668[RuntimeError24._brand] = true;\n$update$non$obj$brands5668[$update$non$obj$brander5667._brand] = true;\nvar update$non$obj5673 = R.mVC(L[3440],function $synthesizedConstructor_$update$non$obj$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc5674\",\"obj5675\",\"objloc5676\"],$update$non$obj_mutablemask5671,$update$non$obj$base5666,$update$non$obj$brands5668,\"update-non-obj\",$update$non$obj_getfields5672,$update$non$obj$base5666);\nvar $update$frozen$ref_getfields5683 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$frozen$ref_mutablemask5682 = [false,false,false,false,false];\nvar $update$frozen$ref$base5677 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5680,\n\"render-reason\":anf_variant_member5681,\n\"_match\":R.mM(\"update-frozen-ref\",5)};\nvar $update$frozen$ref$brander5678 = R.nB(\"update-frozen-ref\",L[3441]);\nvar $update$frozen$ref$brands5679 = {};\n$update$frozen$ref$brands5679[RuntimeError24._brand] = true;\n$update$frozen$ref$brands5679[$update$frozen$ref$brander5678._brand] = true;\nvar update$frozen$ref5684 = R.mVC(L[3441],function $synthesizedConstructor_$update$frozen$ref$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5685\",\"obj5686\",\"objloc5687\",\"field5688\",\"fieldloc5689\"],$update$frozen$ref_mutablemask5682,$update$frozen$ref$base5677,$update$frozen$ref$brands5679,\"update-frozen-ref\",$update$frozen$ref_getfields5683,$update$frozen$ref$base5677);\nvar $update$non$ref_getfields5696 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$non$ref_mutablemask5695 = [false,false,false,false,false];\nvar $update$non$ref$base5690 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5693,\n\"render-reason\":anf_variant_member5694,\n\"_match\":R.mM(\"update-non-ref\",5)};\nvar $update$non$ref$brander5691 = R.nB(\"update-non-ref\",L[3442]);\nvar $update$non$ref$brands5692 = {};\n$update$non$ref$brands5692[RuntimeError24._brand] = true;\n$update$non$ref$brands5692[$update$non$ref$brander5691._brand] = true;\nvar update$non$ref5697 = R.mVC(L[3442],function $synthesizedConstructor_$update$non$ref$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5698\",\"obj5699\",\"objloc5700\",\"field5701\",\"fieldloc5702\"],$update$non$ref_mutablemask5695,$update$non$ref$base5690,$update$non$ref$brands5692,\"update-non-ref\",$update$non$ref_getfields5696,$update$non$ref$base5690);\nvar $update$non$existent$field_getfields5709 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"objloc\"],this.dict[\"field\"],this.dict[\"fieldloc\"]);\n};\nvar $update$non$existent$field_mutablemask5708 = [false,false,false,false,false];\nvar $update$non$existent$field$base5703 = {\"$fieldNames\":[\"loc\",\"obj\",\"objloc\",\"field\",\"fieldloc\"],\n\"render-fancy-reason\":anf_variant_member5706,\n\"render-reason\":anf_variant_member5707,\n\"_match\":R.mM(\"update-non-existent-field\",5)};\nvar $update$non$existent$field$brander5704 = R.nB(\"update-non-existent-field\",L[3443]);\nvar $update$non$existent$field$brands5705 = {};\n$update$non$existent$field$brands5705[RuntimeError24._brand] = true;\n$update$non$existent$field$brands5705[$update$non$existent$field$brander5704._brand] = true;\nvar update$non$existent$field5710 = R.mVC(L[3443],function $synthesizedConstructor_$update$non$existent$field$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc5711\",\"obj5712\",\"objloc5713\",\"field5714\",\"fieldloc5715\"],$update$non$existent$field_mutablemask5708,$update$non$existent$field$base5703,$update$non$existent$field$brands5705,\"update-non-existent-field\",$update$non$existent$field_getfields5709,$update$non$existent$field$base5703);\nvar $no$cases$matched_getfields5722 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"]);\n};\nvar $no$cases$matched_mutablemask5721 = [false,false];\nvar $no$cases$matched$base5716 = {\"$fieldNames\":[\"loc\",\"val\"],\n\"render-fancy-reason\":anf_variant_member5719,\n\"render-reason\":anf_variant_member5720,\n\"_match\":R.mM(\"no-cases-matched\",2)};\nvar $no$cases$matched$brander5717 = R.nB(\"no-cases-matched\",L[3444]);\nvar $no$cases$matched$brands5718 = {};\n$no$cases$matched$brands5718[RuntimeError24._brand] = true;\n$no$cases$matched$brands5718[$no$cases$matched$brander5717._brand] = true;\nvar no$cases$matched5723 = R.mVC(L[3444],function $synthesizedConstructor_$no$cases$matched$base() {\nreturn [];\n},[],[],[false,false],[\"loc5724\",\"val5725\"],$no$cases$matched_mutablemask5721,$no$cases$matched$base5716,$no$cases$matched$brands5718,\"no-cases-matched\",$no$cases$matched_getfields5722,$no$cases$matched$base5716);\nvar $no$branches$matched_getfields5732 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"expression\"]);\n};\nvar $no$branches$matched_mutablemask5731 = [false,false];\nvar $no$branches$matched$base5726 = {\"$fieldNames\":[\"loc\",\"expression\"],\n\"render-fancy-reason\":anf_variant_member5729,\n\"render-reason\":anf_variant_member5730,\n\"_match\":R.mM(\"no-branches-matched\",2)};\nvar $no$branches$matched$brander5727 = R.nB(\"no-branches-matched\",L[3445]);\nvar $no$branches$matched$brands5728 = {};\n$no$branches$matched$brands5728[RuntimeError24._brand] = true;\n$no$branches$matched$brands5728[$no$branches$matched$brander5727._brand] = true;\nvar no$branches$matched5733 = R.mVC(L[3445],function $synthesizedConstructor_$no$branches$matched$base() {\nreturn [$type$String8];\n},[\"expression5734\"],[L[3446]],[false,false],[\"loc5735\",\"expression5734\"],$no$branches$matched_mutablemask5731,$no$branches$matched$base5726,$no$branches$matched$brands5728,\"no-branches-matched\",$no$branches$matched_getfields5732,$no$branches$matched$base5726);\nvar $internal$error_getfields5742 = function singleton_variant(f) {\nreturn f(this.dict[\"message\"],this.dict[\"info-args\"]);\n};\nvar $internal$error_mutablemask5741 = [false,false];\nvar $internal$error$base5736 = {\"$fieldNames\":[\"message\",\"info-args\"],\n\"render-fancy-reason\":anf_variant_member5739,\n\"render-reason\":anf_variant_member5740,\n\"_match\":R.mM(\"internal-error\",2)};\nvar $internal$error$brander5737 = R.nB(\"internal-error\",L[3447]);\nvar $internal$error$brands5738 = {};\n$internal$error$brands5738[RuntimeError24._brand] = true;\n$internal$error$brands5738[$internal$error$brander5737._brand] = true;\nvar internal$error5743 = R.mVC(L[3447],function $synthesizedConstructor_$internal$error$base() {\nreturn [];\n},[],[],[false,false],[\"message5744\",\"info$args5745\"],$internal$error_mutablemask5741,$internal$error$base5736,$internal$error$brands5738,\"internal-error\",$internal$error_getfields5742,$internal$error$base5736);\nvar $spinnaker$error_getfields5752 = function singleton_variant(f) {\nreturn f(this.dict[\"funloc\"],this.dict[\"step-num\"]);\n};\nvar $spinnaker$error_mutablemask5751 = [false,false];\nvar $spinnaker$error$base5746 = {\"$fieldNames\":[\"funloc\",\"step-num\"],\n\"render-fancy-reason\":anf_variant_member5749,\n\"render-reason\":anf_variant_member5750,\n\"_match\":R.mM(\"spinnaker-error\",2)};\nvar $spinnaker$error$brander5747 = R.nB(\"spinnaker-error\",L[3448]);\nvar $spinnaker$error$brands5748 = {};\n$spinnaker$error$brands5748[RuntimeError24._brand] = true;\n$spinnaker$error$brands5748[$spinnaker$error$brander5747._brand] = true;\nvar spinnaker$error5753 = R.mVC(L[3448],function $synthesizedConstructor_$spinnaker$error$base() {\nreturn [];\n},[],[],[false,false],[\"funloc5754\",\"step$num5755\"],$spinnaker$error_mutablemask5751,$spinnaker$error$base5746,$spinnaker$error$brands5748,\"spinnaker-error\",$spinnaker$error_getfields5752,$spinnaker$error$base5746);\nvar $template$not$finished_getfields5762 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $template$not$finished_mutablemask5761 = [false];\nvar $template$not$finished$base5756 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member5759,\n\"render-reason\":anf_variant_member5760,\n\"_match\":R.mM(\"template-not-finished\",1)};\nvar $template$not$finished$brander5757 = R.nB(\"template-not-finished\",L[3449]);\nvar $template$not$finished$brands5758 = {};\n$template$not$finished$brands5758[RuntimeError24._brand] = true;\n$template$not$finished$brands5758[$template$not$finished$brander5757._brand] = true;\nvar template$not$finished5763 = R.mVC(L[3449],function $synthesizedConstructor_$template$not$finished$base() {\nreturn [];\n},[],[],[false],[\"loc5764\"],$template$not$finished_mutablemask5761,$template$not$finished$base5756,$template$not$finished$brands5758,\"template-not-finished\",$template$not$finished_getfields5762,$template$not$finished$base5756);\nvar $field$not$found_getfields5771 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"],this.dict[\"field\"]);\n};\nvar $field$not$found_mutablemask5770 = [false,false,false];\nvar $field$not$found$base5765 = {\"$fieldNames\":[\"loc\",\"obj\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5768,\n\"render-reason\":anf_variant_member5769,\n\"_match\":R.mM(\"field-not-found\",3)};\nvar $field$not$found$brander5766 = R.nB(\"field-not-found\",L[3450]);\nvar $field$not$found$brands5767 = {};\n$field$not$found$brands5767[RuntimeError24._brand] = true;\n$field$not$found$brands5767[$field$not$found$brander5766._brand] = true;\nvar field$not$found5772 = R.mVC(L[3450],function $synthesizedConstructor_$field$not$found$base() {\nreturn [$type$String8];\n},[\"field5773\"],[L[3451]],[false,false,false],[\"loc5774\",\"obj5775\",\"field5773\"],$field$not$found_mutablemask5770,$field$not$found$base5765,$field$not$found$brands5767,\"field-not-found\",$field$not$found_getfields5771,$field$not$found$base5765);\nvar $constructor$syntax$non$constructor_getfields5782 = function singleton_variant(f) {\nreturn f(this.dict[\"expr-loc\"],this.dict[\"constr-loc\"]);\n};\nvar $constructor$syntax$non$constructor_mutablemask5781 = [false,false];\nvar $constructor$syntax$non$constructor$base5776 = {\"$fieldNames\":[\"expr-loc\",\"constr-loc\"],\n\"render-fancy-reason\":anf_variant_member5779,\n\"render-reason\":anf_variant_member5780,\n\"_match\":R.mM(\"constructor-syntax-non-constructor\",2)};\nvar $constructor$syntax$non$constructor$brander5777 = R.nB(\"constructor-syntax-non-constructor\",L[3452]);\nvar $constructor$syntax$non$constructor$brands5778 = {};\n$constructor$syntax$non$constructor$brands5778[RuntimeError24._brand] = true;\n$constructor$syntax$non$constructor$brands5778[$constructor$syntax$non$constructor$brander5777._brand] = true;\nvar constructor$syntax$non$constructor5783 = R.mVC(L[3452],function $synthesizedConstructor_$constructor$syntax$non$constructor$base() {\nreturn [];\n},[],[],[false,false],[\"expr$loc5784\",\"constr$loc5785\"],$constructor$syntax$non$constructor_mutablemask5781,$constructor$syntax$non$constructor$base5776,$constructor$syntax$non$constructor$brands5778,\"constructor-syntax-non-constructor\",$constructor$syntax$non$constructor_getfields5782,$constructor$syntax$non$constructor$base5776);\nvar $lookup$constructor$not$object_getfields5792 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"constr-name\"],this.dict[\"field\"]);\n};\nvar $lookup$constructor$not$object_mutablemask5791 = [false,false,false];\nvar $lookup$constructor$not$object$base5786 = {\"$fieldNames\":[\"loc\",\"constr-name\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5789,\n\"render-reason\":anf_variant_member5790,\n\"_match\":R.mM(\"lookup-constructor-not-object\",3)};\nvar $lookup$constructor$not$object$brander5787 = R.nB(\"lookup-constructor-not-object\",L[3453]);\nvar $lookup$constructor$not$object$brands5788 = {};\n$lookup$constructor$not$object$brands5788[RuntimeError24._brand] = true;\n$lookup$constructor$not$object$brands5788[$lookup$constructor$not$object$brander5787._brand] = true;\nvar lookup$constructor$not$object5793 = R.mVC(L[3453],function $synthesizedConstructor_$lookup$constructor$not$object$base() {\nreturn [$type$String8,$type$String8];\n},[\"constr$name5794\",\"field5795\"],[L[3454],L[3455]],[false,false,false],[\"loc5796\",\"constr$name5794\",\"field5795\"],$lookup$constructor$not$object_mutablemask5791,$lookup$constructor$not$object$base5786,$lookup$constructor$not$object$brands5788,\"lookup-constructor-not-object\",$lookup$constructor$not$object_getfields5792,$lookup$constructor$not$object$base5786);\nvar $lookup$non$tuple_getfields5803 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-tup\"],this.dict[\"index\"]);\n};\nvar $lookup$non$tuple_mutablemask5802 = [false,false,false];\nvar $lookup$non$tuple$base5797 = {\"$fieldNames\":[\"loc\",\"non-tup\",\"index\"],\n\"render-fancy-reason\":anf_variant_member5800,\n\"render-reason\":anf_variant_member5801,\n\"_match\":R.mM(\"lookup-non-tuple\",3)};\nvar $lookup$non$tuple$brander5798 = R.nB(\"lookup-non-tuple\",L[3456]);\nvar $lookup$non$tuple$brands5799 = {};\n$lookup$non$tuple$brands5799[RuntimeError24._brand] = true;\n$lookup$non$tuple$brands5799[$lookup$non$tuple$brander5798._brand] = true;\nvar lookup$non$tuple5804 = R.mVC(L[3456],function $synthesizedConstructor_$lookup$non$tuple$base() {\nreturn [$type$Number3];\n},[\"index5805\"],[L[3457]],[false,false,false],[\"loc5806\",\"non$tup5807\",\"index5805\"],$lookup$non$tuple_mutablemask5802,$lookup$non$tuple$base5797,$lookup$non$tuple$brands5799,\"lookup-non-tuple\",$lookup$non$tuple_getfields5803,$lookup$non$tuple$base5797);\nvar $lookup$large$index_getfields5814 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"tup\"],this.dict[\"len\"],this.dict[\"index\"]);\n};\nvar $lookup$large$index_mutablemask5813 = [false,false,false,false];\nvar $lookup$large$index$base5808 = {\"$fieldNames\":[\"loc\",\"tup\",\"len\",\"index\"],\n\"render-fancy-reason\":anf_variant_member5811,\n\"render-reason\":anf_variant_member5812,\n\"_match\":R.mM(\"lookup-large-index\",4)};\nvar $lookup$large$index$brander5809 = R.nB(\"lookup-large-index\",L[3458]);\nvar $lookup$large$index$brands5810 = {};\n$lookup$large$index$brands5810[RuntimeError24._brand] = true;\n$lookup$large$index$brands5810[$lookup$large$index$brander5809._brand] = true;\nvar lookup$large$index5815 = R.mVC(L[3458],function $synthesizedConstructor_$lookup$large$index$base() {\nreturn [$type$Number3];\n},[\"index5816\"],[L[3459]],[false,false,false,false],[\"loc5817\",\"tup5818\",\"len5819\",\"index5816\"],$lookup$large$index_mutablemask5813,$lookup$large$index$base5808,$lookup$large$index$brands5810,\"lookup-large-index\",$lookup$large$index_getfields5814,$lookup$large$index$base5808);\nvar $non$tuple$bind_getfields5826 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-tup\"]);\n};\nvar $non$tuple$bind_mutablemask5825 = [false,false];\nvar $non$tuple$bind$base5820 = {\"$fieldNames\":[\"loc\",\"non-tup\"],\n\"render-fancy-reason\":anf_variant_member5823,\n\"render-reason\":anf_variant_member5824,\n\"_match\":R.mM(\"non-tuple-bind\",2)};\nvar $non$tuple$bind$brander5821 = R.nB(\"non-tuple-bind\",L[3460]);\nvar $non$tuple$bind$brands5822 = {};\n$non$tuple$bind$brands5822[RuntimeError24._brand] = true;\n$non$tuple$bind$brands5822[$non$tuple$bind$brander5821._brand] = true;\nvar non$tuple$bind5827 = R.mVC(L[3460],function $synthesizedConstructor_$non$tuple$bind$base() {\nreturn [];\n},[],[],[false,false],[\"loc5828\",\"non$tup5829\"],$non$tuple$bind_mutablemask5825,$non$tuple$bind$base5820,$non$tuple$bind$brands5822,\"non-tuple-bind\",$non$tuple$bind_getfields5826,$non$tuple$bind$base5820);\nvar $bad$tuple$bind_getfields5836 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"tup\"],this.dict[\"length\"],this.dict[\"desiredLength\"]);\n};\nvar $bad$tuple$bind_mutablemask5835 = [false,false,false,false];\nvar $bad$tuple$bind$base5830 = {\"$fieldNames\":[\"loc\",\"tup\",\"length\",\"desiredLength\"],\n\"render-fancy-reason\":anf_variant_member5833,\n\"render-reason\":anf_variant_member5834,\n\"_match\":R.mM(\"bad-tuple-bind\",4)};\nvar $bad$tuple$bind$brander5831 = R.nB(\"bad-tuple-bind\",L[3461]);\nvar $bad$tuple$bind$brands5832 = {};\n$bad$tuple$bind$brands5832[RuntimeError24._brand] = true;\n$bad$tuple$bind$brands5832[$bad$tuple$bind$brander5831._brand] = true;\nvar bad$tuple$bind5837 = R.mVC(L[3461],function $synthesizedConstructor_$bad$tuple$bind$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc5838\",\"tup5839\",\"length5840\",\"desiredLength5841\"],$bad$tuple$bind_mutablemask5835,$bad$tuple$bind$base5830,$bad$tuple$bind$brands5832,\"bad-tuple-bind\",$bad$tuple$bind_getfields5836,$bad$tuple$bind$base5830);\nvar $lookup$non$object_getfields5848 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-obj\"],this.dict[\"field\"]);\n};\nvar $lookup$non$object_mutablemask5847 = [false,false,false];\nvar $lookup$non$object$base5842 = {\"$fieldNames\":[\"loc\",\"non-obj\",\"field\"],\n\"render-fancy-reason\":anf_variant_member5845,\n\"render-reason\":anf_variant_member5846,\n\"_match\":R.mM(\"lookup-non-object\",3)};\nvar $lookup$non$object$brander5843 = R.nB(\"lookup-non-object\",L[3462]);\nvar $lookup$non$object$brands5844 = {};\n$lookup$non$object$brands5844[RuntimeError24._brand] = true;\n$lookup$non$object$brands5844[$lookup$non$object$brander5843._brand] = true;\nvar lookup$non$object5849 = R.mVC(L[3462],function $synthesizedConstructor_$lookup$non$object$base() {\nreturn [$type$String8];\n},[\"field5850\"],[L[3463]],[false,false,false],[\"loc5851\",\"non$obj5852\",\"field5850\"],$lookup$non$object_mutablemask5847,$lookup$non$object$base5842,$lookup$non$object$brands5844,\"lookup-non-object\",$lookup$non$object_getfields5848,$lookup$non$object$base5842);\nvar $extend$non$object_getfields5859 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-obj\"]);\n};\nvar $extend$non$object_mutablemask5858 = [false,false];\nvar $extend$non$object$base5853 = {\"$fieldNames\":[\"loc\",\"non-obj\"],\n\"render-fancy-reason\":anf_variant_member5856,\n\"render-reason\":anf_variant_member5857,\n\"_match\":R.mM(\"extend-non-object\",2)};\nvar $extend$non$object$brander5854 = R.nB(\"extend-non-object\",L[3464]);\nvar $extend$non$object$brands5855 = {};\n$extend$non$object$brands5855[RuntimeError24._brand] = true;\n$extend$non$object$brands5855[$extend$non$object$brander5854._brand] = true;\nvar extend$non$object5860 = R.mVC(L[3464],function $synthesizedConstructor_$extend$non$object$base() {\nreturn [];\n},[],[],[false,false],[\"loc5861\",\"non$obj5862\"],$extend$non$object_mutablemask5858,$extend$non$object$base5853,$extend$non$object$brands5855,\"extend-non-object\",$extend$non$object_getfields5859,$extend$non$object$base5853);\nvar $non$boolean$condition_getfields5869 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"typ\"],this.dict[\"value\"]);\n};\nvar $non$boolean$condition_mutablemask5868 = [false,false,false];\nvar $non$boolean$condition$base5863 = {\"$fieldNames\":[\"loc\",\"typ\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5866,\n\"render-reason\":anf_variant_member5867,\n\"_match\":R.mM(\"non-boolean-condition\",3)};\nvar $non$boolean$condition$brander5864 = R.nB(\"non-boolean-condition\",L[3465]);\nvar $non$boolean$condition$brands5865 = {};\n$non$boolean$condition$brands5865[RuntimeError24._brand] = true;\n$non$boolean$condition$brands5865[$non$boolean$condition$brander5864._brand] = true;\nvar non$boolean$condition5870 = R.mVC(L[3465],function $synthesizedConstructor_$non$boolean$condition$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc5871\",\"typ5872\",\"value5873\"],$non$boolean$condition_mutablemask5868,$non$boolean$condition$base5863,$non$boolean$condition$brands5865,\"non-boolean-condition\",$non$boolean$condition_getfields5869,$non$boolean$condition$base5863);\nvar $non$boolean$op_getfields5880 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"position\"],this.dict[\"typ\"],this.dict[\"value\"]);\n};\nvar $non$boolean$op_mutablemask5879 = [false,false,false,false];\nvar $non$boolean$op$base5874 = {\"$fieldNames\":[\"loc\",\"position\",\"typ\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5877,\n\"render-reason\":anf_variant_member5878,\n\"_match\":R.mM(\"non-boolean-op\",4)};\nvar $non$boolean$op$brander5875 = R.nB(\"non-boolean-op\",L[3466]);\nvar $non$boolean$op$brands5876 = {};\n$non$boolean$op$brands5876[RuntimeError24._brand] = true;\n$non$boolean$op$brands5876[$non$boolean$op$brander5875._brand] = true;\nvar non$boolean$op5881 = R.mVC(L[3466],function $synthesizedConstructor_$non$boolean$op$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc5882\",\"position5883\",\"typ5884\",\"value5885\"],$non$boolean$op_mutablemask5879,$non$boolean$op$base5874,$non$boolean$op$brands5876,\"non-boolean-op\",$non$boolean$op_getfields5880,$non$boolean$op$base5874);\nvar $generic$type$mismatch_getfields5892 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"typ\"]);\n};\nvar $generic$type$mismatch_mutablemask5891 = [false,false];\nvar $generic$type$mismatch$base5886 = {\"$fieldNames\":[\"val\",\"typ\"],\n\"render-fancy-reason\":anf_variant_member5889,\n\"render-reason\":anf_variant_member5890,\n\"_match\":R.mM(\"generic-type-mismatch\",2)};\nvar $generic$type$mismatch$brander5887 = R.nB(\"generic-type-mismatch\",L[3467]);\nvar $generic$type$mismatch$brands5888 = {};\n$generic$type$mismatch$brands5888[RuntimeError24._brand] = true;\n$generic$type$mismatch$brands5888[$generic$type$mismatch$brander5887._brand] = true;\nvar generic$type$mismatch5893 = R.mVC(L[3467],function $synthesizedConstructor_$generic$type$mismatch$base() {\nreturn [$type$String8];\n},[\"typ5894\"],[L[3468]],[false,false],[\"val5895\",\"typ5894\"],$generic$type$mismatch_mutablemask5891,$generic$type$mismatch$base5886,$generic$type$mismatch$brands5888,\"generic-type-mismatch\",$generic$type$mismatch_getfields5892,$generic$type$mismatch$base5886);\nvar $num$string$binop$error_getfields5902 = function singleton_variant(f) {\nreturn f(this.dict[\"val1\"],this.dict[\"val2\"],this.dict[\"opname\"],this.dict[\"opdesc\"],this.dict[\"methodname\"]);\n};\nvar $num$string$binop$error_mutablemask5901 = [false,false,false,false,false];\nvar $num$string$binop$error$base5896 = {\"$fieldNames\":[\"val1\",\"val2\",\"opname\",\"opdesc\",\"methodname\"],\n\"render-fancy-reason\":anf_variant_member5899,\n\"render-reason\":anf_variant_member5900,\n\"_match\":R.mM(\"num-string-binop-error\",5)};\nvar $num$string$binop$error$brander5897 = R.nB(\"num-string-binop-error\",L[3469]);\nvar $num$string$binop$error$brands5898 = {};\n$num$string$binop$error$brands5898[RuntimeError24._brand] = true;\n$num$string$binop$error$brands5898[$num$string$binop$error$brander5897._brand] = true;\nvar num$string$binop$error5903 = R.mVC(L[3469],function $synthesizedConstructor_$num$string$binop$error$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"val15904\",\"val25905\",\"opname5906\",\"opdesc5907\",\"methodname5908\"],$num$string$binop$error_mutablemask5901,$num$string$binop$error$base5896,$num$string$binop$error$brands5898,\"num-string-binop-error\",$num$string$binop$error_getfields5902,$num$string$binop$error$base5896);\nvar $numeric$binop$error_getfields5915 = function singleton_variant(f) {\nreturn f(this.dict[\"val1\"],this.dict[\"val2\"],this.dict[\"opname\"],this.dict[\"opdesc\"],this.dict[\"methodname\"]);\n};\nvar $numeric$binop$error_mutablemask5914 = [false,false,false,false,false];\nvar $numeric$binop$error$base5909 = {\"$fieldNames\":[\"val1\",\"val2\",\"opname\",\"opdesc\",\"methodname\"],\n\"render-fancy-reason\":anf_variant_member5912,\n\"render-reason\":anf_variant_member5913,\n\"_match\":R.mM(\"numeric-binop-error\",5)};\nvar $numeric$binop$error$brander5910 = R.nB(\"numeric-binop-error\",L[3470]);\nvar $numeric$binop$error$brands5911 = {};\n$numeric$binop$error$brands5911[RuntimeError24._brand] = true;\n$numeric$binop$error$brands5911[$numeric$binop$error$brander5910._brand] = true;\nvar numeric$binop$error5916 = R.mVC(L[3470],function $synthesizedConstructor_$numeric$binop$error$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"val15917\",\"val25918\",\"opname5919\",\"opdesc5920\",\"methodname5921\"],$numeric$binop$error_mutablemask5914,$numeric$binop$error$base5909,$numeric$binop$error$brands5911,\"numeric-binop-error\",$numeric$binop$error_getfields5915,$numeric$binop$error$base5909);\nvar $cases$singleton$mismatch_getfields5928 = function singleton_variant(f) {\nreturn f(this.dict[\"branch-loc\"],this.dict[\"should-be-singleton\"],this.dict[\"cases-loc\"],this.dict[\"constructor-loc\"]);\n};\nvar $cases$singleton$mismatch_mutablemask5927 = [false,false,false,false];\nvar $cases$singleton$mismatch$base5922 = {\"$fieldNames\":[\"branch-loc\",\"should-be-singleton\",\"cases-loc\",\"constructor-loc\"],\n\"render-fancy-reason\":anf_variant_member5925,\n\"render-reason\":anf_variant_member5926,\n\"_match\":R.mM(\"cases-singleton-mismatch\",4)};\nvar $cases$singleton$mismatch$brander5923 = R.nB(\"cases-singleton-mismatch\",L[3471]);\nvar $cases$singleton$mismatch$brands5924 = {};\n$cases$singleton$mismatch$brands5924[RuntimeError24._brand] = true;\n$cases$singleton$mismatch$brands5924[$cases$singleton$mismatch$brander5923._brand] = true;\nvar cases$singleton$mismatch5929 = R.mVC(L[3471],function $synthesizedConstructor_$cases$singleton$mismatch$base() {\nreturn [$type$Boolean6];\n},[\"should$be$singleton5930\"],[L[3472]],[false,false,false,false],[\"branch$loc5931\",\"should$be$singleton5930\",\"cases$loc5932\",\"constructor$loc5933\"],$cases$singleton$mismatch_mutablemask5927,$cases$singleton$mismatch$base5922,$cases$singleton$mismatch$brands5924,\"cases-singleton-mismatch\",$cases$singleton$mismatch_getfields5928,$cases$singleton$mismatch$base5922);\nvar $cases$arity$mismatch_getfields5940 = function singleton_variant(f) {\nreturn f(this.dict[\"branch-loc\"],this.dict[\"num-args\"],this.dict[\"actual-arity\"],this.dict[\"cases-loc\"],this.dict[\"constructor-loc\"]);\n};\nvar $cases$arity$mismatch_mutablemask5939 = [false,false,false,false,false];\nvar $cases$arity$mismatch$base5934 = {\"$fieldNames\":[\"branch-loc\",\"num-args\",\"actual-arity\",\"cases-loc\",\"constructor-loc\"],\n\"render-fancy-reason\":anf_variant_member5937,\n\"render-reason\":anf_variant_member5938,\n\"_match\":R.mM(\"cases-arity-mismatch\",5)};\nvar $cases$arity$mismatch$brander5935 = R.nB(\"cases-arity-mismatch\",L[3473]);\nvar $cases$arity$mismatch$brands5936 = {};\n$cases$arity$mismatch$brands5936[RuntimeError24._brand] = true;\n$cases$arity$mismatch$brands5936[$cases$arity$mismatch$brander5935._brand] = true;\nvar cases$arity$mismatch5941 = R.mVC(L[3473],function $synthesizedConstructor_$cases$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"branch$loc5942\",\"num$args5943\",\"actual$arity5944\",\"cases$loc5945\",\"constructor$loc5946\"],$cases$arity$mismatch_mutablemask5939,$cases$arity$mismatch$base5934,$cases$arity$mismatch$brands5936,\"cases-arity-mismatch\",$cases$arity$mismatch_getfields5940,$cases$arity$mismatch$base5934);\nvar $constructor$arity$mismatch_getfields5953 = function singleton_variant(f) {\nreturn f(this.dict[\"fun-def-loc\"],this.dict[\"constructor-name\"],this.dict[\"fun-def-arity\"],this.dict[\"fun-app-args\"]);\n};\nvar $constructor$arity$mismatch_mutablemask5952 = [false,false,false,false];\nvar $constructor$arity$mismatch$base5947 = {\"$fieldNames\":[\"fun-def-loc\",\"constructor-name\",\"fun-def-arity\",\"fun-app-args\"],\n\"render-fancy-reason\":anf_variant_member5950,\n\"render-reason\":anf_variant_member5951,\n\"_match\":R.mM(\"constructor-arity-mismatch\",4)};\nvar $constructor$arity$mismatch$brander5948 = R.nB(\"constructor-arity-mismatch\",L[3474]);\nvar $constructor$arity$mismatch$brands5949 = {};\n$constructor$arity$mismatch$brands5949[RuntimeError24._brand] = true;\n$constructor$arity$mismatch$brands5949[$constructor$arity$mismatch$brander5948._brand] = true;\nvar constructor$arity$mismatch5954 = R.mVC(L[3474],function $synthesizedConstructor_$constructor$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"fun$def$loc5955\",\"constructor$name5956\",\"fun$def$arity5957\",\"fun$app$args5958\"],$constructor$arity$mismatch_mutablemask5952,$constructor$arity$mismatch$base5947,$constructor$arity$mismatch$brands5949,\"constructor-arity-mismatch\",$constructor$arity$mismatch_getfields5953,$constructor$arity$mismatch$base5947);\nvar $arity$mismatch_getfields5965 = function singleton_variant(f) {\nreturn f(this.dict[\"fun-def-loc\"],this.dict[\"fun-def-arity\"],this.dict[\"fun-app-args\"],this.dict[\"is-method\"]);\n};\nvar $arity$mismatch_mutablemask5964 = [false,false,false,false];\nvar $arity$mismatch$base5959 = {\"$fieldNames\":[\"fun-def-loc\",\"fun-def-arity\",\"fun-app-args\",\"is-method\"],\n\"render-fancy-reason\":anf_variant_member5962,\n\"render-reason\":anf_variant_member5963,\n\"_match\":R.mM(\"arity-mismatch\",4)};\nvar $arity$mismatch$brander5960 = R.nB(\"arity-mismatch\",L[3475]);\nvar $arity$mismatch$brands5961 = {};\n$arity$mismatch$brands5961[RuntimeError24._brand] = true;\n$arity$mismatch$brands5961[$arity$mismatch$brander5960._brand] = true;\nvar arity$mismatch5966 = R.mVC(L[3475],function $synthesizedConstructor_$arity$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"fun$def$loc5967\",\"fun$def$arity5968\",\"fun$app$args5969\",\"is$method5970\"],$arity$mismatch_mutablemask5964,$arity$mismatch$base5959,$arity$mismatch$brands5961,\"arity-mismatch\",$arity$mismatch_getfields5965,$arity$mismatch$base5959);\nvar $row$length$mismatch_getfields5977 = function singleton_variant(f) {\nreturn f(this.dict[\"colnames\"],this.dict[\"provided-vals\"]);\n};\nvar $row$length$mismatch_mutablemask5976 = [false,false];\nvar $row$length$mismatch$base5971 = {\"$fieldNames\":[\"colnames\",\"provided-vals\"],\n\"render-fancy-reason\":anf_variant_member5974,\n\"render-reason\":anf_variant_member5975,\n\"_match\":R.mM(\"row-length-mismatch\",2)};\nvar $row$length$mismatch$brander5972 = R.nB(\"row-length-mismatch\",L[3476]);\nvar $row$length$mismatch$brands5973 = {};\n$row$length$mismatch$brands5973[RuntimeError24._brand] = true;\n$row$length$mismatch$brands5973[$row$length$mismatch$brander5972._brand] = true;\nvar row$length$mismatch5978 = R.mVC(L[3476],function $synthesizedConstructor_$row$length$mismatch$base() {\nreturn [];\n},[],[],[false,false],[\"colnames5979\",\"provided$vals5980\"],$row$length$mismatch_mutablemask5976,$row$length$mismatch$base5971,$row$length$mismatch$brands5973,\"row-length-mismatch\",$row$length$mismatch_getfields5977,$row$length$mismatch$base5971);\nvar $col$length$mismatch_getfields5987 = function singleton_variant(f) {\nreturn f(this.dict[\"colname\"],this.dict[\"expected\"],this.dict[\"actual\"],this.dict[\"value\"]);\n};\nvar $col$length$mismatch_mutablemask5986 = [false,false,false,false];\nvar $col$length$mismatch$base5981 = {\"$fieldNames\":[\"colname\",\"expected\",\"actual\",\"value\"],\n\"render-fancy-reason\":anf_variant_member5984,\n\"render-reason\":anf_variant_member5985,\n\"_match\":R.mM(\"col-length-mismatch\",4)};\nvar $col$length$mismatch$brander5982 = R.nB(\"col-length-mismatch\",L[3477]);\nvar $col$length$mismatch$brands5983 = {};\n$col$length$mismatch$brands5983[RuntimeError24._brand] = true;\n$col$length$mismatch$brands5983[$col$length$mismatch$brander5982._brand] = true;\nvar col$length$mismatch5988 = R.mVC(L[3477],function $synthesizedConstructor_$col$length$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"colname5989\",\"expected5990\",\"actual5991\",\"value5992\"],$col$length$mismatch_mutablemask5986,$col$length$mismatch$base5981,$col$length$mismatch$brands5983,\"col-length-mismatch\",$col$length$mismatch_getfields5987,$col$length$mismatch$base5981);\nvar $non$function$app_getfields5999 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"non-fun-val\"]);\n};\nvar $non$function$app_mutablemask5998 = [false,false];\nvar $non$function$app$base5993 = {\"$fieldNames\":[\"loc\",\"non-fun-val\"],\n\"render-fancy-reason\":anf_variant_member5996,\n\"render-reason\":anf_variant_member5997,\n\"_match\":R.mM(\"non-function-app\",2)};\nvar $non$function$app$brander5994 = R.nB(\"non-function-app\",L[3478]);\nvar $non$function$app$brands5995 = {};\n$non$function$app$brands5995[RuntimeError24._brand] = true;\n$non$function$app$brands5995[$non$function$app$brander5994._brand] = true;\nvar non$function$app6000 = R.mVC(L[3478],function $synthesizedConstructor_$non$function$app$base() {\nreturn [];\n},[],[],[false,false],[\"loc6001\",\"non$fun$val6002\"],$non$function$app_mutablemask5998,$non$function$app$base5993,$non$function$app$brands5995,\"non-function-app\",$non$function$app_getfields5999,$non$function$app$base5993);\nvar $uninitialized$id_getfields6009 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"name\"]);\n};\nvar $uninitialized$id_mutablemask6008 = [false,false];\nvar $uninitialized$id$base6003 = {\"$fieldNames\":[\"loc\",\"name\"],\n\"render-fancy-reason\":anf_variant_member6006,\n\"render-reason\":anf_variant_member6007,\n\"_match\":R.mM(\"uninitialized-id\",2)};\nvar $uninitialized$id$brander6004 = R.nB(\"uninitialized-id\",L[3479]);\nvar $uninitialized$id$brands6005 = {};\n$uninitialized$id$brands6005[RuntimeError24._brand] = true;\n$uninitialized$id$brands6005[$uninitialized$id$brander6004._brand] = true;\nvar uninitialized$id6010 = R.mVC(L[3479],function $synthesizedConstructor_$uninitialized$id$base() {\nreturn [];\n},[],[],[false,false],[\"loc6011\",\"name6012\"],$uninitialized$id_mutablemask6008,$uninitialized$id$base6003,$uninitialized$id$brands6005,\"uninitialized-id\",$uninitialized$id_getfields6009,$uninitialized$id$base6003);\nvar $module$load$failure_getfields6019 = function singleton_variant(f) {\nreturn f(this.dict[\"names\"]);\n};\nvar $module$load$failure_mutablemask6018 = [false];\nvar $module$load$failure$base6013 = {\"$fieldNames\":[\"names\"],\n\"render-fancy-reason\":anf_variant_member6016,\n\"render-reason\":anf_variant_member6017,\n\"_match\":R.mM(\"module-load-failure\",1)};\nvar $module$load$failure$brander6014 = R.nB(\"module-load-failure\",L[3480]);\nvar $module$load$failure$brands6015 = {};\n$module$load$failure$brands6015[RuntimeError24._brand] = true;\n$module$load$failure$brands6015[$module$load$failure$brander6014._brand] = true;\nvar module$load$failure6020 = R.mVC(L[3480],function $synthesizedConstructor_$module$load$failure$base() {\nreturn [];\n},[],[],[false],[\"names6021\"],$module$load$failure_mutablemask6018,$module$load$failure$base6013,$module$load$failure$brands6015,\"module-load-failure\",$module$load$failure_getfields6019,$module$load$failure$base6013);\nvar $invalid$array$index_getfields6028 = function singleton_variant(f) {\nreturn f(this.dict[\"method-name\"],this.dict[\"array\"],this.dict[\"index\"],this.dict[\"reason\"]);\n};\nvar $invalid$array$index_mutablemask6027 = [false,false,false,false];\nvar $invalid$array$index$base6022 = {\"$fieldNames\":[\"method-name\",\"array\",\"index\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member6025,\n\"render-reason\":anf_variant_member6026,\n\"_match\":R.mM(\"invalid-array-index\",4)};\nvar $invalid$array$index$brander6023 = R.nB(\"invalid-array-index\",L[3481]);\nvar $invalid$array$index$brands6024 = {};\n$invalid$array$index$brands6024[RuntimeError24._brand] = true;\n$invalid$array$index$brands6024[$invalid$array$index$brander6023._brand] = true;\nvar invalid$array$index6029 = R.mVC(L[3481],function $synthesizedConstructor_$invalid$array$index$base() {\nreturn [$type$String8,$type$Number3,$type$String8];\n},[\"method$name6030\",\"index6031\",\"reason6032\"],[L[3482],L[3483],L[3484]],[false,false,false,false],[\"method$name6030\",\"array6033\",\"index6031\",\"reason6032\"],$invalid$array$index_mutablemask6027,$invalid$array$index$base6022,$invalid$array$index$brands6024,\"invalid-array-index\",$invalid$array$index_getfields6028,$invalid$array$index$base6022);\nvar $equality$failure_getfields6040 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $equality$failure_mutablemask6039 = [false,false,false];\nvar $equality$failure$base6034 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"render-fancy-reason\":anf_variant_member6037,\n\"render-reason\":anf_variant_member6038,\n\"_match\":R.mM(\"equality-failure\",3)};\nvar $equality$failure$brander6035 = R.nB(\"equality-failure\",L[3485]);\nvar $equality$failure$brands6036 = {};\n$equality$failure$brands6036[RuntimeError24._brand] = true;\n$equality$failure$brands6036[$equality$failure$brander6035._brand] = true;\nvar equality$failure6041 = R.mVC(L[3485],function $synthesizedConstructor_$equality$failure$base() {\nreturn [$type$String8];\n},[\"reason6042\"],[L[3486]],[false,false,false],[\"reason6042\",\"value16043\",\"value26044\"],$equality$failure_mutablemask6039,$equality$failure$base6034,$equality$failure$brands6036,\"equality-failure\",$equality$failure_getfields6040,$equality$failure$base6034);\nvar $column$not$found_getfields6051 = function singleton_variant(f) {\nreturn f(this.dict[\"operation-loc\"],this.dict[\"column-name\"],this.dict[\"column-loc\"],this.dict[\"columns\"]);\n};\nvar $column$not$found_mutablemask6050 = [false,false,false,false];\nvar $column$not$found$base6045 = {\"$fieldNames\":[\"operation-loc\",\"column-name\",\"column-loc\",\"columns\"],\n\"render-fancy-reason\":anf_variant_member6048,\n\"render-reason\":anf_variant_member6049,\n\"_match\":R.mM(\"column-not-found\",4)};\nvar $column$not$found$brander6046 = R.nB(\"column-not-found\",L[3487]);\nvar $column$not$found$brands6047 = {};\n$column$not$found$brands6047[RuntimeError24._brand] = true;\n$column$not$found$brands6047[$column$not$found$brander6046._brand] = true;\nvar column$not$found6052 = R.mVC(L[3487],function $synthesizedConstructor_$column$not$found$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"operation$loc6053\",\"column$name6054\",\"column$loc6055\",\"columns6056\"],$column$not$found_mutablemask6050,$column$not$found$base6045,$column$not$found$brands6047,\"column-not-found\",$column$not$found_getfields6051,$column$not$found$base6045);\nvar $duplicate$column_getfields6063 = function singleton_variant(f) {\nreturn f(this.dict[\"operation-loc\"],this.dict[\"column-name\"],this.dict[\"column-loc\"]);\n};\nvar $duplicate$column_mutablemask6062 = [false,false,false];\nvar $duplicate$column$base6057 = {\"$fieldNames\":[\"operation-loc\",\"column-name\",\"column-loc\"],\n\"render-fancy-reason\":anf_variant_member6060,\n\"render-reason\":anf_variant_member6061,\n\"_match\":R.mM(\"duplicate-column\",3)};\nvar $duplicate$column$brander6058 = R.nB(\"duplicate-column\",L[3488]);\nvar $duplicate$column$brands6059 = {};\n$duplicate$column$brands6059[RuntimeError24._brand] = true;\n$duplicate$column$brands6059[$duplicate$column$brander6058._brand] = true;\nvar duplicate$column6064 = R.mVC(L[3488],function $synthesizedConstructor_$duplicate$column$base() {\nreturn [];\n},[],[],[false,false,false],[\"operation$loc6065\",\"column$name6066\",\"column$loc6067\"],$duplicate$column_mutablemask6062,$duplicate$column$base6057,$duplicate$column$brands6059,\"duplicate-column\",$duplicate$column_getfields6063,$duplicate$column$base6057);\nvar $user$break_getfields6074 = function variant(f) {\nreturn f();\n};\nvar $user$break_mutablemask6073 = [];\nvar $user$break$base6068 = {\"render-fancy-reason\":anf_singleton_variant_member6071,\n\"render-reason\":anf_singleton_variant_member6072,\n\"_match\":R.mM(\"user-break\",0)};\nvar $user$break$brander6069 = R.nB(\"user-break\",L[3489]);\nvar $user$break$brands6070 = {};\n$user$break$brands6070[RuntimeError24._brand] = true;\n$user$break$brands6070[$user$break$brander6069._brand] = true;\nvar $user$exception_getfields6082 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"]);\n};\nvar $user$exception_mutablemask6081 = [false];\nvar $user$exception$base6075 = {\"$fieldNames\":[\"value\"],\n\"render-fancy-reason\":anf_variant_member6078,\n\"render-reason\":anf_variant_member6079,\n\"_output\":anf_variant_member6080,\n\"_match\":R.mM(\"user-exception\",1)};\nvar $user$exception$brander6076 = R.nB(\"user-exception\",L[3490]);\nvar $user$exception$brands6077 = {};\n$user$exception$brands6077[RuntimeError24._brand] = true;\n$user$exception$brands6077[$user$exception$brander6076._brand] = true;\nvar user$exception6083 = R.mVC(L[3490],function $synthesizedConstructor_$user$exception$base() {\nreturn [];\n},[],[],[false],[\"value6084\"],$user$exception_mutablemask6081,$user$exception$base6075,$user$exception$brands6077,\"user-exception\",$user$exception_getfields6082,$user$exception$base6075);\nvar $exit_getfields6091 = function singleton_variant(f) {\nreturn f(this.dict[\"code\"]);\n};\nvar $exit_mutablemask6090 = [false];\nvar $exit$base6085 = {\"$fieldNames\":[\"code\"],\n\"render-fancy-reason\":anf_variant_member6088,\n\"render-reason\":anf_variant_member6089,\n\"_match\":R.mM(\"exit\",1)};\nvar $exit$brander6086 = R.nB(\"exit\",L[3491]);\nvar $exit$brands6087 = {};\n$exit$brands6087[RuntimeError24._brand] = true;\n$exit$brands6087[$exit$brander6086._brand] = true;\nvar exit6092 = R.mVC(L[3491],function $synthesizedConstructor_$exit$base() {\nreturn [$type$Number3];\n},[\"code6093\"],[L[3492]],[false],[\"code6093\"],$exit_mutablemask6090,$exit$base6085,$exit$brands6087,\"exit\",$exit_getfields6091,$exit$base6085);\nvar $exit$quiet_getfields6100 = function singleton_variant(f) {\nreturn f(this.dict[\"code\"]);\n};\nvar $exit$quiet_mutablemask6099 = [false];\nvar $exit$quiet$base6094 = {\"$fieldNames\":[\"code\"],\n\"render-fancy-reason\":anf_variant_member6097,\n\"render-reason\":anf_variant_member6098,\n\"_match\":R.mM(\"exit-quiet\",1)};\nvar $exit$quiet$brander6095 = R.nB(\"exit-quiet\",L[3493]);\nvar $exit$quiet$brands6096 = {};\n$exit$quiet$brands6096[RuntimeError24._brand] = true;\n$exit$quiet$brands6096[$exit$quiet$brander6095._brand] = true;\nvar exit$quiet6101 = R.mVC(L[3493],function $synthesizedConstructor_$exit$quiet$base() {\nreturn [$type$Number3];\n},[\"code6102\"],[L[3494]],[false],[\"code6102\"],$exit$quiet_mutablemask6099,$exit$quiet$base6094,$exit$quiet$brands6096,\"exit-quiet\",$exit$quiet_getfields6100,$exit$quiet$base6094);\nvar anf_assign6103 = R.mO({\"RuntimeError\":G(RuntimeError24,\"test\",L[3495]),\n\"is-multi-error\":G($multi$error$brander5638,\"test\",L[3436]),\n\"multi-error\":multi$error5644,\n\"is-sample-error\":G($sample$error$brander5647,\"test\",L[3437]),\n\"sample-error\":sample$error5653,\n\"is-message-exception\":G($message$exception$brander5657,\"test\",L[3438]),\n\"message-exception\":message$exception5664,\n\"is-update-non-obj\":G($update$non$obj$brander5667,\"test\",L[3440]),\n\"update-non-obj\":update$non$obj5673,\n\"is-update-frozen-ref\":G($update$frozen$ref$brander5678,\"test\",L[3441]),\n\"update-frozen-ref\":update$frozen$ref5684,\n\"is-update-non-ref\":G($update$non$ref$brander5691,\"test\",L[3442]),\n\"update-non-ref\":update$non$ref5697,\n\"is-update-non-existent-field\":G($update$non$existent$field$brander5704,\"test\",L[3443]),\n\"update-non-existent-field\":update$non$existent$field5710,\n\"is-no-cases-matched\":G($no$cases$matched$brander5717,\"test\",L[3444]),\n\"no-cases-matched\":no$cases$matched5723,\n\"is-no-branches-matched\":G($no$branches$matched$brander5727,\"test\",L[3445]),\n\"no-branches-matched\":no$branches$matched5733,\n\"is-internal-error\":G($internal$error$brander5737,\"test\",L[3447]),\n\"internal-error\":internal$error5743,\n\"is-spinnaker-error\":G($spinnaker$error$brander5747,\"test\",L[3448]),\n\"spinnaker-error\":spinnaker$error5753,\n\"is-template-not-finished\":G($template$not$finished$brander5757,\"test\",L[3449]),\n\"template-not-finished\":template$not$finished5763,\n\"is-field-not-found\":G($field$not$found$brander5766,\"test\",L[3450]),\n\"field-not-found\":field$not$found5772,\n\"is-constructor-syntax-non-constructor\":G($constructor$syntax$non$constructor$brander5777,\"test\",L[3452]),\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor5783,\n\"is-lookup-constructor-not-object\":G($lookup$constructor$not$object$brander5787,\"test\",L[3453]),\n\"lookup-constructor-not-object\":lookup$constructor$not$object5793,\n\"is-lookup-non-tuple\":G($lookup$non$tuple$brander5798,\"test\",L[3456]),\n\"lookup-non-tuple\":lookup$non$tuple5804,\n\"is-lookup-large-index\":G($lookup$large$index$brander5809,\"test\",L[3458]),\n\"lookup-large-index\":lookup$large$index5815,\n\"is-non-tuple-bind\":G($non$tuple$bind$brander5821,\"test\",L[3460]),\n\"non-tuple-bind\":non$tuple$bind5827,\n\"is-bad-tuple-bind\":G($bad$tuple$bind$brander5831,\"test\",L[3461]),\n\"bad-tuple-bind\":bad$tuple$bind5837,\n\"is-lookup-non-object\":G($lookup$non$object$brander5843,\"test\",L[3462]),\n\"lookup-non-object\":lookup$non$object5849,\n\"is-extend-non-object\":G($extend$non$object$brander5854,\"test\",L[3464]),\n\"extend-non-object\":extend$non$object5860,\n\"is-non-boolean-condition\":G($non$boolean$condition$brander5864,\"test\",L[3465]),\n\"non-boolean-condition\":non$boolean$condition5870,\n\"is-non-boolean-op\":G($non$boolean$op$brander5875,\"test\",L[3466]),\n\"non-boolean-op\":non$boolean$op5881,\n\"is-generic-type-mismatch\":G($generic$type$mismatch$brander5887,\"test\",L[3467]),\n\"generic-type-mismatch\":generic$type$mismatch5893,\n\"is-num-string-binop-error\":G($num$string$binop$error$brander5897,\"test\",L[3469]),\n\"num-string-binop-error\":num$string$binop$error5903,\n\"is-numeric-binop-error\":G($numeric$binop$error$brander5910,\"test\",L[3470]),\n\"numeric-binop-error\":numeric$binop$error5916,\n\"is-cases-singleton-mismatch\":G($cases$singleton$mismatch$brander5923,\"test\",L[3471]),\n\"cases-singleton-mismatch\":cases$singleton$mismatch5929,\n\"is-cases-arity-mismatch\":G($cases$arity$mismatch$brander5935,\"test\",L[3473]),\n\"cases-arity-mismatch\":cases$arity$mismatch5941,\n\"is-constructor-arity-mismatch\":G($constructor$arity$mismatch$brander5948,\"test\",L[3474]),\n\"constructor-arity-mismatch\":constructor$arity$mismatch5954,\n\"is-arity-mismatch\":G($arity$mismatch$brander5960,\"test\",L[3475]),\n\"arity-mismatch\":arity$mismatch5966,\n\"is-row-length-mismatch\":G($row$length$mismatch$brander5972,\"test\",L[3476]),\n\"row-length-mismatch\":row$length$mismatch5978,\n\"is-col-length-mismatch\":G($col$length$mismatch$brander5982,\"test\",L[3477]),\n\"col-length-mismatch\":col$length$mismatch5988,\n\"is-non-function-app\":G($non$function$app$brander5994,\"test\",L[3478]),\n\"non-function-app\":non$function$app6000,\n\"is-uninitialized-id\":G($uninitialized$id$brander6004,\"test\",L[3479]),\n\"uninitialized-id\":uninitialized$id6010,\n\"is-module-load-failure\":G($module$load$failure$brander6014,\"test\",L[3480]),\n\"module-load-failure\":module$load$failure6020,\n\"is-invalid-array-index\":G($invalid$array$index$brander6023,\"test\",L[3481]),\n\"invalid-array-index\":invalid$array$index6029,\n\"is-equality-failure\":G($equality$failure$brander6035,\"test\",L[3485]),\n\"equality-failure\":equality$failure6041,\n\"is-column-not-found\":G($column$not$found$brander6046,\"test\",L[3487]),\n\"column-not-found\":column$not$found6052,\n\"is-duplicate-column\":G($duplicate$column$brander6058,\"test\",L[3488]),\n\"duplicate-column\":duplicate$column6064,\n\"is-user-break\":G($user$break$brander6069,\"test\",L[3489]),\n\"user-break\":R.mDV($user$break$base6068,$user$break$brands6070,\"user-break\",$user$break_getfields6074,-1,$user$break_mutablemask6073,$user$break$base6068,false,L[3489]),\n\"is-user-exception\":G($user$exception$brander6076,\"test\",L[3490]),\n\"user-exception\":user$exception6083,\n\"is-exit\":G($exit$brander6086,\"test\",L[3491]),\n\"exit\":exit6092,\n\"is-exit-quiet\":G($exit$quiet$brander6095,\"test\",L[3493]),\n\"exit-quiet\":exit$quiet6101});\nRuntimeError6104.$var = anf_assign6103;\nR.nothing;\n$al21 = L[3495];\nvar anf_assign6105 = G(RuntimeError6104.$var,\"RuntimeError\",L[3495]);\nis$RuntimeError6106.$var = anf_assign6105;\nR.nothing;\n$al21 = L[3436];\nvar anf_assign6107 = G(RuntimeError6104.$var,\"is-multi-error\",L[3436]);\nis$multi$error6108.$var = anf_assign6107;\nR.nothing;\n$al21 = L[3436];\nvar anf_assign6109 = G(RuntimeError6104.$var,\"multi-error\",L[3436]);\nmulti$error6110.$var = anf_assign6109;\nR.nothing;\n$al21 = L[3437];\nvar anf_assign6111 = G(RuntimeError6104.$var,\"is-sample-error\",L[3437]);\nis$sample$error6112.$var = anf_assign6111;\nR.nothing;\n$al21 = L[3437];\nvar anf_assign6113 = G(RuntimeError6104.$var,\"sample-error\",L[3437]);\nsample$error6114.$var = anf_assign6113;\nR.nothing;\n$al21 = L[3438];\nvar anf_assign6115 = G(RuntimeError6104.$var,\"is-message-exception\",L[3438]);\nis$message$exception6116.$var = anf_assign6115;\nR.nothing;\n$al21 = L[3438];\nvar anf_assign6117 = G(RuntimeError6104.$var,\"message-exception\",L[3438]);\nmessage$exception6118.$var = anf_assign6117;\nR.nothing;\n$al21 = L[3440];\nvar anf_assign6119 = G(RuntimeError6104.$var,\"is-update-non-obj\",L[3440]);\nis$update$non$obj6120.$var = anf_assign6119;\nR.nothing;\n$al21 = L[3440];\nvar anf_assign6121 = G(RuntimeError6104.$var,\"update-non-obj\",L[3440]);\nupdate$non$obj6122.$var = anf_assign6121;\nR.nothing;\n$al21 = L[3441];\nvar anf_assign6123 = G(RuntimeError6104.$var,\"is-update-frozen-ref\",L[3441]);\nis$update$frozen$ref6124.$var = anf_assign6123;\nR.nothing;\n$al21 = L[3441];\nvar anf_assign6125 = G(RuntimeError6104.$var,\"update-frozen-ref\",L[3441]);\nupdate$frozen$ref6126.$var = anf_assign6125;\nR.nothing;\n$al21 = L[3442];\nvar anf_assign6127 = G(RuntimeError6104.$var,\"is-update-non-ref\",L[3442]);\nis$update$non$ref6128.$var = anf_assign6127;\nR.nothing;\n$al21 = L[3442];\nvar anf_assign6129 = G(RuntimeError6104.$var,\"update-non-ref\",L[3442]);\nupdate$non$ref6130.$var = anf_assign6129;\nR.nothing;\n$al21 = L[3443];\nvar anf_assign6131 = G(RuntimeError6104.$var,\"is-update-non-existent-field\",L[3443]);\nis$update$non$existent$field6132.$var = anf_assign6131;\nR.nothing;\n$al21 = L[3443];\nvar anf_assign6133 = G(RuntimeError6104.$var,\"update-non-existent-field\",L[3443]);\nupdate$non$existent$field6134.$var = anf_assign6133;\nR.nothing;\n$al21 = L[3444];\nvar anf_assign6135 = G(RuntimeError6104.$var,\"is-no-cases-matched\",L[3444]);\nis$no$cases$matched6136.$var = anf_assign6135;\nR.nothing;\n$al21 = L[3444];\nvar anf_assign6137 = G(RuntimeError6104.$var,\"no-cases-matched\",L[3444]);\nno$cases$matched6138.$var = anf_assign6137;\nR.nothing;\n$al21 = L[3445];\nvar anf_assign6139 = G(RuntimeError6104.$var,\"is-no-branches-matched\",L[3445]);\nis$no$branches$matched6140.$var = anf_assign6139;\nR.nothing;\n$al21 = L[3445];\nvar anf_assign6141 = G(RuntimeError6104.$var,\"no-branches-matched\",L[3445]);\nno$branches$matched6142.$var = anf_assign6141;\nR.nothing;\n$al21 = L[3447];\nvar anf_assign6143 = G(RuntimeError6104.$var,\"is-internal-error\",L[3447]);\nis$internal$error6144.$var = anf_assign6143;\nR.nothing;\n$al21 = L[3447];\nvar anf_assign6145 = G(RuntimeError6104.$var,\"internal-error\",L[3447]);\ninternal$error6146.$var = anf_assign6145;\nR.nothing;\n$al21 = L[3448];\nvar anf_assign6147 = G(RuntimeError6104.$var,\"is-spinnaker-error\",L[3448]);\nis$spinnaker$error6148.$var = anf_assign6147;\nR.nothing;\n$al21 = L[3448];\nvar anf_assign6149 = G(RuntimeError6104.$var,\"spinnaker-error\",L[3448]);\nspinnaker$error6150.$var = anf_assign6149;\nR.nothing;\n$al21 = L[3449];\nvar anf_assign6151 = G(RuntimeError6104.$var,\"is-template-not-finished\",L[3449]);\nis$template$not$finished6152.$var = anf_assign6151;\nR.nothing;\n$al21 = L[3449];\nvar anf_assign6153 = G(RuntimeError6104.$var,\"template-not-finished\",L[3449]);\ntemplate$not$finished6154.$var = anf_assign6153;\nR.nothing;\n$al21 = L[3450];\nvar anf_assign6155 = G(RuntimeError6104.$var,\"is-field-not-found\",L[3450]);\nis$field$not$found6156.$var = anf_assign6155;\nR.nothing;\n$al21 = L[3450];\nvar anf_assign6157 = G(RuntimeError6104.$var,\"field-not-found\",L[3450]);\nfield$not$found6158.$var = anf_assign6157;\nR.nothing;\n$al21 = L[3452];\nvar anf_assign6159 = G(RuntimeError6104.$var,\"is-constructor-syntax-non-constructor\",L[3452]);\nis$constructor$syntax$non$constructor6160.$var = anf_assign6159;\nR.nothing;\n$al21 = L[3452];\nvar anf_assign6161 = G(RuntimeError6104.$var,\"constructor-syntax-non-constructor\",L[3452]);\nconstructor$syntax$non$constructor6162.$var = anf_assign6161;\nR.nothing;\n$al21 = L[3453];\nvar anf_assign6163 = G(RuntimeError6104.$var,\"is-lookup-constructor-not-object\",L[3453]);\nis$lookup$constructor$not$object6164.$var = anf_assign6163;\nR.nothing;\n$al21 = L[3453];\nvar anf_assign6165 = G(RuntimeError6104.$var,\"lookup-constructor-not-object\",L[3453]);\nlookup$constructor$not$object6166.$var = anf_assign6165;\nR.nothing;\n$al21 = L[3456];\nvar anf_assign6167 = G(RuntimeError6104.$var,\"is-lookup-non-tuple\",L[3456]);\nis$lookup$non$tuple6168.$var = anf_assign6167;\nR.nothing;\n$al21 = L[3456];\nvar anf_assign6169 = G(RuntimeError6104.$var,\"lookup-non-tuple\",L[3456]);\nlookup$non$tuple6170.$var = anf_assign6169;\nR.nothing;\n$al21 = L[3458];\nvar anf_assign6171 = G(RuntimeError6104.$var,\"is-lookup-large-index\",L[3458]);\nis$lookup$large$index6172.$var = anf_assign6171;\nR.nothing;\n$al21 = L[3458];\nvar anf_assign6173 = G(RuntimeError6104.$var,\"lookup-large-index\",L[3458]);\nlookup$large$index6174.$var = anf_assign6173;\nR.nothing;\n$al21 = L[3460];\nvar anf_assign6175 = G(RuntimeError6104.$var,\"is-non-tuple-bind\",L[3460]);\nis$non$tuple$bind6176.$var = anf_assign6175;\nR.nothing;\n$al21 = L[3460];\nvar anf_assign6177 = G(RuntimeError6104.$var,\"non-tuple-bind\",L[3460]);\nnon$tuple$bind6178.$var = anf_assign6177;\nR.nothing;\n$al21 = L[3461];\nvar anf_assign6179 = G(RuntimeError6104.$var,\"is-bad-tuple-bind\",L[3461]);\nis$bad$tuple$bind6180.$var = anf_assign6179;\nR.nothing;\n$al21 = L[3461];\nvar anf_assign6181 = G(RuntimeError6104.$var,\"bad-tuple-bind\",L[3461]);\nbad$tuple$bind6182.$var = anf_assign6181;\nR.nothing;\n$al21 = L[3462];\nvar anf_assign6183 = G(RuntimeError6104.$var,\"is-lookup-non-object\",L[3462]);\nis$lookup$non$object6184.$var = anf_assign6183;\nR.nothing;\n$al21 = L[3462];\nvar anf_assign6185 = G(RuntimeError6104.$var,\"lookup-non-object\",L[3462]);\nlookup$non$object6186.$var = anf_assign6185;\nR.nothing;\n$al21 = L[3464];\nvar anf_assign6187 = G(RuntimeError6104.$var,\"is-extend-non-object\",L[3464]);\nis$extend$non$object6188.$var = anf_assign6187;\nR.nothing;\n$al21 = L[3464];\nvar anf_assign6189 = G(RuntimeError6104.$var,\"extend-non-object\",L[3464]);\nextend$non$object6190.$var = anf_assign6189;\nR.nothing;\n$al21 = L[3465];\nvar anf_assign6191 = G(RuntimeError6104.$var,\"is-non-boolean-condition\",L[3465]);\nis$non$boolean$condition6192.$var = anf_assign6191;\nR.nothing;\n$al21 = L[3465];\nvar anf_assign6193 = G(RuntimeError6104.$var,\"non-boolean-condition\",L[3465]);\nnon$boolean$condition6194.$var = anf_assign6193;\nR.nothing;\n$al21 = L[3466];\nvar anf_assign6195 = G(RuntimeError6104.$var,\"is-non-boolean-op\",L[3466]);\nis$non$boolean$op6196.$var = anf_assign6195;\nR.nothing;\n$al21 = L[3466];\nvar anf_assign6197 = G(RuntimeError6104.$var,\"non-boolean-op\",L[3466]);\nnon$boolean$op6198.$var = anf_assign6197;\nR.nothing;\n$al21 = L[3467];\nvar anf_assign6199 = G(RuntimeError6104.$var,\"is-generic-type-mismatch\",L[3467]);\nis$generic$type$mismatch6200.$var = anf_assign6199;\nR.nothing;\n$al21 = L[3467];\nvar anf_assign6201 = G(RuntimeError6104.$var,\"generic-type-mismatch\",L[3467]);\ngeneric$type$mismatch6202.$var = anf_assign6201;\nR.nothing;\n$al21 = L[3469];\nvar anf_assign6203 = G(RuntimeError6104.$var,\"is-num-string-binop-error\",L[3469]);\nis$num$string$binop$error6204.$var = anf_assign6203;\nR.nothing;\n$al21 = L[3469];\nvar anf_assign6205 = G(RuntimeError6104.$var,\"num-string-binop-error\",L[3469]);\nnum$string$binop$error6206.$var = anf_assign6205;\nR.nothing;\n$al21 = L[3470];\nvar anf_assign6207 = G(RuntimeError6104.$var,\"is-numeric-binop-error\",L[3470]);\nis$numeric$binop$error6208.$var = anf_assign6207;\nR.nothing;\n$al21 = L[3470];\nvar anf_assign6209 = G(RuntimeError6104.$var,\"numeric-binop-error\",L[3470]);\nnumeric$binop$error6210.$var = anf_assign6209;\nR.nothing;\n$al21 = L[3471];\nvar anf_assign6211 = G(RuntimeError6104.$var,\"is-cases-singleton-mismatch\",L[3471]);\nis$cases$singleton$mismatch6212.$var = anf_assign6211;\nR.nothing;\n$al21 = L[3471];\nvar anf_assign6213 = G(RuntimeError6104.$var,\"cases-singleton-mismatch\",L[3471]);\ncases$singleton$mismatch6214.$var = anf_assign6213;\nR.nothing;\n$al21 = L[3473];\nvar anf_assign6215 = G(RuntimeError6104.$var,\"is-cases-arity-mismatch\",L[3473]);\nis$cases$arity$mismatch6216.$var = anf_assign6215;\nR.nothing;\n$al21 = L[3473];\nvar anf_assign6217 = G(RuntimeError6104.$var,\"cases-arity-mismatch\",L[3473]);\ncases$arity$mismatch6218.$var = anf_assign6217;\nR.nothing;\n$al21 = L[3474];\nvar anf_assign6219 = G(RuntimeError6104.$var,\"is-constructor-arity-mismatch\",L[3474]);\nis$constructor$arity$mismatch6220.$var = anf_assign6219;\nR.nothing;\n$al21 = L[3474];\nvar anf_assign6221 = G(RuntimeError6104.$var,\"constructor-arity-mismatch\",L[3474]);\nconstructor$arity$mismatch6222.$var = anf_assign6221;\nR.nothing;\n$al21 = L[3475];\nvar anf_assign6223 = G(RuntimeError6104.$var,\"is-arity-mismatch\",L[3475]);\nis$arity$mismatch6224.$var = anf_assign6223;\nR.nothing;\n$al21 = L[3475];\nvar anf_assign6225 = G(RuntimeError6104.$var,\"arity-mismatch\",L[3475]);\narity$mismatch6226.$var = anf_assign6225;\nR.nothing;\n$al21 = L[3476];\nvar anf_assign6227 = G(RuntimeError6104.$var,\"is-row-length-mismatch\",L[3476]);\nis$row$length$mismatch6228.$var = anf_assign6227;\nR.nothing;\n$al21 = L[3476];\nvar anf_assign6229 = G(RuntimeError6104.$var,\"row-length-mismatch\",L[3476]);\nrow$length$mismatch6230.$var = anf_assign6229;\nR.nothing;\n$al21 = L[3477];\nvar anf_assign6231 = G(RuntimeError6104.$var,\"is-col-length-mismatch\",L[3477]);\nis$col$length$mismatch6232.$var = anf_assign6231;\nR.nothing;\n$al21 = L[3477];\nvar anf_assign6233 = G(RuntimeError6104.$var,\"col-length-mismatch\",L[3477]);\ncol$length$mismatch6234.$var = anf_assign6233;\nR.nothing;\n$al21 = L[3478];\nvar anf_assign6235 = G(RuntimeError6104.$var,\"is-non-function-app\",L[3478]);\nis$non$function$app6236.$var = anf_assign6235;\nR.nothing;\n$al21 = L[3478];\nvar anf_assign6237 = G(RuntimeError6104.$var,\"non-function-app\",L[3478]);\nnon$function$app6238.$var = anf_assign6237;\nR.nothing;\n$al21 = L[3479];\nvar anf_assign6239 = G(RuntimeError6104.$var,\"is-uninitialized-id\",L[3479]);\nis$uninitialized$id6240.$var = anf_assign6239;\nR.nothing;\n$al21 = L[3479];\nvar anf_assign6241 = G(RuntimeError6104.$var,\"uninitialized-id\",L[3479]);\nuninitialized$id6242.$var = anf_assign6241;\nR.nothing;\n$al21 = L[3480];\nvar anf_assign6243 = G(RuntimeError6104.$var,\"is-module-load-failure\",L[3480]);\nis$module$load$failure6244.$var = anf_assign6243;\nR.nothing;\n$al21 = L[3480];\nvar anf_assign6245 = G(RuntimeError6104.$var,\"module-load-failure\",L[3480]);\nmodule$load$failure6246.$var = anf_assign6245;\nR.nothing;\n$al21 = L[3481];\nvar anf_assign6247 = G(RuntimeError6104.$var,\"is-invalid-array-index\",L[3481]);\nis$invalid$array$index6248.$var = anf_assign6247;\nR.nothing;\n$al21 = L[3481];\nvar anf_assign6249 = G(RuntimeError6104.$var,\"invalid-array-index\",L[3481]);\ninvalid$array$index6250.$var = anf_assign6249;\nR.nothing;\n$al21 = L[3485];\nvar anf_assign6251 = G(RuntimeError6104.$var,\"is-equality-failure\",L[3485]);\nis$equality$failure6252.$var = anf_assign6251;\nR.nothing;\n$al21 = L[3485];\nvar anf_assign6253 = G(RuntimeError6104.$var,\"equality-failure\",L[3485]);\nequality$failure6254.$var = anf_assign6253;\nR.nothing;\n$al21 = L[3487];\nvar anf_assign6255 = G(RuntimeError6104.$var,\"is-column-not-found\",L[3487]);\nis$column$not$found6256.$var = anf_assign6255;\nR.nothing;\n$al21 = L[3487];\nvar anf_assign6257 = G(RuntimeError6104.$var,\"column-not-found\",L[3487]);\ncolumn$not$found6258.$var = anf_assign6257;\nR.nothing;\n$al21 = L[3488];\nvar anf_assign6259 = G(RuntimeError6104.$var,\"is-duplicate-column\",L[3488]);\nis$duplicate$column6260.$var = anf_assign6259;\nR.nothing;\n$al21 = L[3488];\nvar anf_assign6261 = G(RuntimeError6104.$var,\"duplicate-column\",L[3488]);\nduplicate$column6262.$var = anf_assign6261;\nR.nothing;\n$al21 = L[3489];\nvar anf_assign6263 = G(RuntimeError6104.$var,\"is-user-break\",L[3489]);\nis$user$break6264.$var = anf_assign6263;\nR.nothing;\n$al21 = L[3489];\nvar anf_assign6265 = G(RuntimeError6104.$var,\"user-break\",L[3489]);\nuser$break6266.$var = anf_assign6265;\nR.nothing;\n$al21 = L[3490];\nvar anf_assign6267 = G(RuntimeError6104.$var,\"is-user-exception\",L[3490]);\nis$user$exception6268.$var = anf_assign6267;\nR.nothing;\n$al21 = L[3490];\nvar anf_assign6269 = G(RuntimeError6104.$var,\"user-exception\",L[3490]);\nuser$exception6270.$var = anf_assign6269;\nR.nothing;\n$al21 = L[3491];\nvar anf_assign6271 = G(RuntimeError6104.$var,\"is-exit\",L[3491]);\nis$exit6272.$var = anf_assign6271;\nR.nothing;\n$al21 = L[3491];\nvar anf_assign6273 = G(RuntimeError6104.$var,\"exit\",L[3491]);\nexit6274.$var = anf_assign6273;\nR.nothing;\n$al21 = L[3493];\nvar anf_assign6275 = G(RuntimeError6104.$var,\"is-exit-quiet\",L[3493]);\nis$exit$quiet6276.$var = anf_assign6275;\nR.nothing;\n$al21 = L[3493];\nvar anf_assign6277 = G(RuntimeError6104.$var,\"exit-quiet\",L[3493]);\nexit$quiet6278.$var = anf_assign6277;\nR.nothing;\nvar $temp_full6280 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3496($self6281,$src$available6282) {\nvar $step6279 = 0;\nvar $elidedFrames6286 = 0;\nvar $ans6283 = D;\nvar $al6284 = L[3496];\nif(R.isAR($self6281)) {\n$step6279 = $self6281.step;\n$al6284 = $self6281.from;\n$ans6283 = $self6281.ans;\n$elidedFrames6286 = $self6281.elidedFrames;\nself6281 = $self6281.args[0];\nsrc$available6282 = $self6281.args[1];\nanf_fun6307 = $self6281.vars[0];\nanf_arg6299 = $self6281.vars[1];\nanf_fun6319 = $self6281.vars[2];\nanf_arg6302 = $self6281.vars[3];\nanf_arg6303 = $self6281.vars[4];\nanf_arg6304 = $self6281.vars[5];\nanf_arg6315 = $self6281.vars[6];\nanf_arg6305 = $self6281.vars[7];\nanf_arg6316 = $self6281.vars[8];\nanf_arg6317 = $self6281.vars[9];\nanf_arg6308 = $self6281.vars[10];\nanf_arg6309 = $self6281.vars[11];\nanf_fun6288 = $self6281.vars[12];\nanf_fun6301 = $self6281.vars[13];\nanf_fun6314 = $self6281.vars[14];\nanf_arg6295 = $self6281.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3496],2,$t,true);\n}\nvar self6281 = $self6281;\nvar src$available6282 = $src$available6282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6283 = R.mC();\n}\nwhile(!R.isContinuation($ans6283)) {\nswitch($step6279) {\ncase 0: $al6284 = L[3497];\nvar anf_arg6287 = G(self6281,\"a\",L[3497]);\n$step6279 = 1;\n$al6284 = L[3535];\nif(typeof(src$available6282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,src$available6282);\n}\n$ans6283 = src$available6282.app(anf_arg6287);\nbreak;\ncase 1: var anf_if6324 = $ans6283;\n$step6279 = R.checkPyretTrue(anf_if6324)?2:4;\nbreak;\ncase 2: $al6284 = L[3533];\nvar anf_arg6322 = G(self6281,\"b\",L[3533]);\n$step6279 = 3;\n$al6284 = L[3534];\nif(typeof(src$available6282.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,src$available6282);\n}\n$ans6283 = src$available6282.app(anf_arg6322);\nbreak;\ncase 3: var anf_arg6323 = $ans6283;\n$ans6283 = R.checkWrapBoolean(anf_arg6323);\n$step6279 = 5;\nbreak;\ncase 4: $step6279 = 5;\n$ans6283 = (false);\nbreak;\ncase 5: var anf_if6321 = $ans6283;\n$step6279 = R.checkPyretTrue(anf_if6321)?6:21;\nbreak;\ncase 6: $ans6283 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3498],L[3499]);\nvar anf_fun6307 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3500],L[3501]);\nvar anf_fun6288 = $ans6283;\n$step6279 = 7;\n$al6284 = L[3521];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks this code is probably a function call:\"));\nbreak;\ncase 7: var anf_arg6289 = $ans6283;\n$step6279 = 8;\n$al6284 = L[3501];\nif(typeof(anf_fun6288.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6288);\n}\n$ans6283 = anf_fun6288.app(anf_arg6289);\nbreak;\ncase 8: var anf_arg6308 = $ans6283;\n$al6284 = L[3502];\nvar anf_arg6290 = G(self6281,\"a\",L[3502]);\n$al6284 = L[3503];\nvar anf_arg6291 = G(self6281,\"b\",L[3503]);\n$step6279 = 9;\n$al6284 = L[3520];\n// omitting isFunction check;\n$ans6283 = _plus5.app(anf_arg6290,anf_arg6291);\nbreak;\ncase 9: var anf_arg6292 = $ans6283;\n$step6279 = 10;\n$al6284 = L[3519];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6292);\nbreak;\ncase 10: var anf_arg6309 = $ans6283;\n$ans6283 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3504],L[3505]);\nvar anf_fun6301 = $ans6283;\n$step6279 = 11;\n$al6284 = L[3518];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Function calls must not have space between the \"));\nbreak;\ncase 11: var anf_arg6302 = $ans6283;\n$step6279 = 12;\n$al6284 = L[3517];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"function expression\"));\nbreak;\ncase 12: var anf_arg6295 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3506],L[3507]);\nvar anf_fun6293 = $ans6283;\n$al6284 = L[3508];\nvar anf_arg6294 = G(self6281,\"a\",L[3508]);\n$step6279 = 13;\n$al6284 = L[3507];\nif(typeof(anf_fun6293.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6293);\n}\n$ans6283 = anf_fun6293.app(anf_arg6294);\nbreak;\ncase 13: var anf_arg6296 = $ans6283;\n$step6279 = 14;\n$al6284 = L[3516];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6295,anf_arg6296,(0));\nbreak;\ncase 14: var anf_arg6303 = $ans6283;\n$step6279 = 15;\n$al6284 = L[3515];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" and the \"));\nbreak;\ncase 15: var anf_arg6304 = $ans6283;\n$step6279 = 16;\n$al6284 = L[3514];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 16: var anf_arg6299 = $ans6283;\n$ans6283 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3509],L[3510]);\nvar anf_fun6297 = $ans6283;\n$al6284 = L[3511];\nvar anf_arg6298 = G(self6281,\"b\",L[3511]);\n$step6279 = 17;\n$al6284 = L[3510];\nif(typeof(anf_fun6297.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6297);\n}\n$ans6283 = anf_fun6297.app(anf_arg6298);\nbreak;\ncase 17: var anf_arg6300 = $ans6283;\n$step6279 = 18;\n$al6284 = L[3513];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6299,anf_arg6300,(1));\nbreak;\ncase 18: var anf_arg6305 = $ans6283;\n$step6279 = 19;\n$al6284 = L[3512];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 19: var anf_arg6306 = $ans6283;\n$step6279 = 20;\n$al6284 = L[3505];\nif(typeof(anf_fun6301.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6301);\n}\n$ans6283 = anf_fun6301.app(anf_arg6302,anf_arg6303,anf_arg6304,anf_arg6305,anf_arg6306);\nbreak;\ncase 20: var anf_arg6310 = $ans6283;\n$step6279 = 28;\n$al6284 = L[3499];\nif(typeof(anf_fun6307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6307);\n}\n$ans6283 = anf_fun6307.app(anf_arg6308,anf_arg6309,anf_arg6310);\nbreak;\ncase 21: $ans6283 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3522],L[3523]);\nvar anf_fun6319 = $ans6283;\n$ans6283 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3524],L[3525]);\nvar anf_fun6314 = $ans6283;\n$step6279 = 22;\n$al6284 = L[3532];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 22: var anf_arg6315 = $ans6283;\n$al6284 = L[3526];\nvar anf_arg6311 = G(self6281,\"a\",L[3526]);\n$al6284 = L[3527];\nvar anf_arg6312 = G(self6281,\"b\",L[3527]);\n$step6279 = 23;\n$al6284 = L[3531];\n// omitting isFunction check;\n$ans6283 = _plus5.app(anf_arg6311,anf_arg6312);\nbreak;\ncase 23: var anf_arg6313 = $ans6283;\n$step6279 = 24;\n$al6284 = L[3530];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"loc\"].app(anf_arg6313);\nbreak;\ncase 24: var anf_arg6316 = $ans6283;\n$step6279 = 25;\n$al6284 = L[3529];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" is probably a function call, but there should be no space\"));\nbreak;\ncase 25: var anf_arg6317 = $ans6283;\n$step6279 = 26;\n$al6284 = L[3528];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,ED6.dict.values.dict[\"text\"]);\n}\n$ans6283 = ED6.dict.values.dict[\"text\"].app((\" between the function and its arguments.\"));\nbreak;\ncase 26: var anf_arg6318 = $ans6283;\n$step6279 = 27;\n$al6284 = L[3525];\nif(typeof(anf_fun6314.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6314);\n}\n$ans6283 = anf_fun6314.app(anf_arg6315,anf_arg6316,anf_arg6317,anf_arg6318);\nbreak;\ncase 27: var anf_arg6320 = $ans6283;\n$step6279 = 28;\n$al6284 = L[3523];\nif(typeof(anf_fun6319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6284,anf_fun6319);\n}\n$ans6283 = anf_fun6319.app(anf_arg6320);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans6283;\ndefault: R.ffi.throwSpinnakerError(L[3496],$step6279);\n}\n}\nif($step6279 !== 28) {\n$ans6283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6284,$temp_full6280,$step6279,[self6281,src$available6282],[anf_fun6307,anf_arg6299,anf_fun6319,anf_arg6302,anf_arg6303,anf_arg6304,anf_arg6315,anf_arg6305,anf_arg6316,anf_arg6317,anf_arg6308,anf_arg6309,anf_fun6288,anf_fun6301,anf_fun6314,anf_arg6295],$elidedFrames6286);\n}\nreturn $ans6283;\n};\nvar anf_variant_member6909 = R.makeMethod1($temp_full6280,\"render-fancy-reason\");\nvar $temp_full6327 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3536($self6328) {\nvar $step6326 = 0;\nvar $elidedFrames6332 = 0;\nvar $ans6329 = D;\nvar $al6330 = L[3536];\nif(R.isAR($self6328)) {\n$step6326 = $self6328.step;\n$al6330 = $self6328.from;\n$ans6329 = $self6328.ans;\n$elidedFrames6332 = $self6328.elidedFrames;\nself6328 = $self6328.args[0];\nanf_arg6337 = $self6328.vars[0];\nanf_arg6338 = $self6328.vars[1];\nanf_arg6339 = $self6328.vars[2];\nanf_fun6341 = $self6328.vars[3];\nanf_fun6336 = $self6328.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3536],1,$t,true);\n}\nvar self6328 = $self6328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6329 = R.mC();\n}\nwhile(!R.isContinuation($ans6329)) {\nswitch($step6326) {\ncase 0: $ans6329 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3537],L[3538]);\nvar anf_fun6341 = $ans6329;\n$ans6329 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3539],L[3540]);\nvar anf_fun6336 = $ans6329;\n$step6326 = 1;\n$al6330 = L[3547];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 1: var anf_arg6337 = $ans6329;\n$al6330 = L[3541];\nvar anf_arg6333 = G(self6328,\"a\",L[3541]);\n$al6330 = L[3542];\nvar anf_arg6334 = G(self6328,\"b\",L[3542]);\n$step6326 = 2;\n$al6330 = L[3546];\n// omitting isFunction check;\n$ans6329 = _plus5.app(anf_arg6333,anf_arg6334);\nbreak;\ncase 2: var anf_arg6335 = $ans6329;\n$step6326 = 3;\n$al6330 = L[3545];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"loc\"].app(anf_arg6335);\nbreak;\ncase 3: var anf_arg6338 = $ans6329;\n$step6326 = 4;\n$al6330 = L[3544];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\" is probably a function call, but there should be no space\"));\nbreak;\ncase 4: var anf_arg6339 = $ans6329;\n$step6326 = 5;\n$al6330 = L[3543];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,ED6.dict.values.dict[\"text\"]);\n}\n$ans6329 = ED6.dict.values.dict[\"text\"].app((\" between the function and its arguments.\"));\nbreak;\ncase 5: var anf_arg6340 = $ans6329;\n$step6326 = 6;\n$al6330 = L[3540];\nif(typeof(anf_fun6336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,anf_fun6336);\n}\n$ans6329 = anf_fun6336.app(anf_arg6337,anf_arg6338,anf_arg6339,anf_arg6340);\nbreak;\ncase 6: var anf_arg6342 = $ans6329;\n$step6326 = 7;\n$al6330 = L[3538];\nif(typeof(anf_fun6341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6330,anf_fun6341);\n}\n$ans6329 = anf_fun6341.app(anf_arg6342);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans6329;\ndefault: R.ffi.throwSpinnakerError(L[3536],$step6326);\n}\n}\nif($step6326 !== 7) {\n$ans6329.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6330,$temp_full6327,$step6326,[self6328],[anf_arg6337,anf_arg6338,anf_arg6339,anf_fun6341,anf_fun6336],$elidedFrames6332);\n}\nreturn $ans6329;\n};\nvar anf_variant_member6910 = R.makeMethod0($temp_full6327,\"render-reason\");\nvar $temp_full6345 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3548($self6346,$src$available6347) {\nvar $step6344 = 0;\nvar $elidedFrames6351 = 0;\nvar $ans6348 = D;\nvar $al6349 = L[3548];\nif(R.isAR($self6346)) {\n$step6344 = $self6346.step;\n$al6349 = $self6346.from;\n$ans6348 = $self6346.ans;\n$elidedFrames6351 = $self6346.elidedFrames;\nself6346 = $self6346.args[0];\nsrc$available6347 = $self6346.args[1];\nanf_arg6375 = $self6346.vars[0];\nanf_arg6365 = $self6346.vars[1];\nanf_arg6376 = $self6346.vars[2];\nanf_arg6366 = $self6346.vars[3];\nanf_arg6377 = $self6346.vars[4];\nanf_arg6367 = $self6346.vars[5];\nanf_arg6358 = $self6346.vars[6];\nanf_fun6374 = $self6346.vars[7];\nanf_fun6353 = $self6346.vars[8];\nanf_fun6364 = $self6346.vars[9];\nanf_fun6379 = $self6346.vars[10];\nanf_arg6370 = $self6346.vars[11];\nanf_fun6369 = $self6346.vars[12];\nanf_arg6371 = $self6346.vars[13];\nanf_arg6362 = $self6346.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3548],2,$t,true);\n}\nvar self6346 = $self6346;\nvar src$available6347 = $src$available6347;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6348 = R.mC();\n}\nwhile(!R.isContinuation($ans6348)) {\nswitch($step6344) {\ncase 0: $al6349 = L[3549];\nvar anf_arg6352 = G(self6346,\"a\",L[3549]);\n$step6344 = 1;\n$al6349 = L[3582];\nif(typeof(src$available6347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,src$available6347);\n}\n$ans6348 = src$available6347.app(anf_arg6352);\nbreak;\ncase 1: var anf_if6384 = $ans6348;\n$step6344 = R.checkPyretTrue(anf_if6384)?2:4;\nbreak;\ncase 2: $al6349 = L[3580];\nvar anf_arg6382 = G(self6346,\"b\",L[3580]);\n$step6344 = 3;\n$al6349 = L[3581];\nif(typeof(src$available6347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,src$available6347);\n}\n$ans6348 = src$available6347.app(anf_arg6382);\nbreak;\ncase 3: var anf_arg6383 = $ans6348;\n$ans6348 = R.checkWrapBoolean(anf_arg6383);\n$step6344 = 5;\nbreak;\ncase 4: $step6344 = 5;\n$ans6348 = (false);\nbreak;\ncase 5: var anf_if6381 = $ans6348;\n$step6344 = R.checkPyretTrue(anf_if6381)?6:19;\nbreak;\ncase 6: $ans6348 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3550],L[3551]);\nvar anf_fun6369 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3552],L[3553]);\nvar anf_fun6353 = $ans6348;\n$step6344 = 7;\n$al6349 = L[3570];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks this code is probably a function header:\"));\nbreak;\ncase 7: var anf_arg6354 = $ans6348;\n$step6344 = 8;\n$al6349 = L[3553];\nif(typeof(anf_fun6353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6353);\n}\n$ans6348 = anf_fun6353.app(anf_arg6354);\nbreak;\ncase 8: var anf_arg6370 = $ans6348;\n$al6349 = L[3554];\nvar anf_arg6355 = G(self6346,\"a\",L[3554]);\n$step6344 = 9;\n$al6349 = L[3569];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6355);\nbreak;\ncase 9: var anf_arg6371 = $ans6348;\n$ans6348 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3555],L[3556]);\nvar anf_fun6364 = $ans6348;\n$step6344 = 10;\n$al6349 = L[3568];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Function headers\"));\nbreak;\ncase 10: var anf_arg6358 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3557],L[3558]);\nvar anf_fun6356 = $ans6348;\n$al6349 = L[3559];\nvar anf_arg6357 = G(self6346,\"a\",L[3559]);\n$step6344 = 11;\n$al6349 = L[3558];\nif(typeof(anf_fun6356.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6356);\n}\n$ans6348 = anf_fun6356.app(anf_arg6357);\nbreak;\ncase 11: var anf_arg6359 = $ans6348;\n$step6344 = 12;\n$al6349 = L[3567];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6358,anf_arg6359,(-1));\nbreak;\ncase 12: var anf_arg6365 = $ans6348;\n$step6344 = 13;\n$al6349 = L[3566];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" must not have space before the \"));\nbreak;\ncase 13: var anf_arg6366 = $ans6348;\n$step6344 = 14;\n$al6349 = L[3565];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"arguments\"));\nbreak;\ncase 14: var anf_arg6362 = $ans6348;\n$ans6348 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3560],L[3561]);\nvar anf_fun6360 = $ans6348;\n$al6349 = L[3562];\nvar anf_arg6361 = G(self6346,\"b\",L[3562]);\n$step6344 = 15;\n$al6349 = L[3561];\nif(typeof(anf_fun6360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6360);\n}\n$ans6348 = anf_fun6360.app(anf_arg6361);\nbreak;\ncase 15: var anf_arg6363 = $ans6348;\n$step6344 = 16;\n$al6349 = L[3564];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6362,anf_arg6363,(0));\nbreak;\ncase 16: var anf_arg6367 = $ans6348;\n$step6344 = 17;\n$al6349 = L[3563];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 17: var anf_arg6368 = $ans6348;\n$step6344 = 18;\n$al6349 = L[3556];\nif(typeof(anf_fun6364.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6364);\n}\n$ans6348 = anf_fun6364.app(anf_arg6365,anf_arg6366,anf_arg6367,anf_arg6368);\nbreak;\ncase 18: var anf_arg6372 = $ans6348;\n$step6344 = 25;\n$al6349 = L[3551];\nif(typeof(anf_fun6369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6369);\n}\n$ans6348 = anf_fun6369.app(anf_arg6370,anf_arg6371,anf_arg6372);\nbreak;\ncase 19: $ans6348 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3571],L[3572]);\nvar anf_fun6379 = $ans6348;\n$ans6348 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3573],L[3574]);\nvar anf_fun6374 = $ans6348;\n$step6344 = 20;\n$al6349 = L[3579];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 20: var anf_arg6375 = $ans6348;\n$al6349 = L[3575];\nvar anf_arg6373 = G(self6346,\"a\",L[3575]);\n$step6344 = 21;\n$al6349 = L[3578];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"loc\"].app(anf_arg6373);\nbreak;\ncase 21: var anf_arg6376 = $ans6348;\n$step6344 = 22;\n$al6349 = L[3577];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" is probably a function header, but there should be no space\"));\nbreak;\ncase 22: var anf_arg6377 = $ans6348;\n$step6344 = 23;\n$al6349 = L[3576];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,ED6.dict.values.dict[\"text\"]);\n}\n$ans6348 = ED6.dict.values.dict[\"text\"].app((\" before the arguments.\"));\nbreak;\ncase 23: var anf_arg6378 = $ans6348;\n$step6344 = 24;\n$al6349 = L[3574];\nif(typeof(anf_fun6374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6374);\n}\n$ans6348 = anf_fun6374.app(anf_arg6375,anf_arg6376,anf_arg6377,anf_arg6378);\nbreak;\ncase 24: var anf_arg6380 = $ans6348;\n$step6344 = 25;\n$al6349 = L[3572];\nif(typeof(anf_fun6379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6349,anf_fun6379);\n}\n$ans6348 = anf_fun6379.app(anf_arg6380);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans6348;\ndefault: R.ffi.throwSpinnakerError(L[3548],$step6344);\n}\n}\nif($step6344 !== 25) {\n$ans6348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6349,$temp_full6345,$step6344,[self6346,src$available6347],[anf_arg6375,anf_arg6365,anf_arg6376,anf_arg6366,anf_arg6377,anf_arg6367,anf_arg6358,anf_fun6374,anf_fun6353,anf_fun6364,anf_fun6379,anf_arg6370,anf_fun6369,anf_arg6371,anf_arg6362],$elidedFrames6351);\n}\nreturn $ans6348;\n};\nvar anf_variant_member6919 = R.makeMethod1($temp_full6345,\"render-fancy-reason\");\nvar $temp_full6387 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3583($self6388) {\nvar $step6386 = 0;\nvar $elidedFrames6392 = 0;\nvar $ans6389 = D;\nvar $al6390 = L[3583];\nif(R.isAR($self6388)) {\n$step6386 = $self6388.step;\n$al6390 = $self6388.from;\n$ans6389 = $self6388.ans;\n$elidedFrames6392 = $self6388.elidedFrames;\nself6388 = $self6388.args[0];\nanf_arg6397 = $self6388.vars[0];\nanf_arg6398 = $self6388.vars[1];\nanf_arg6399 = $self6388.vars[2];\nanf_fun6396 = $self6388.vars[3];\nanf_fun6401 = $self6388.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3583],1,$t,true);\n}\nvar self6388 = $self6388;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6389 = R.mC();\n}\nwhile(!R.isContinuation($ans6389)) {\nswitch($step6386) {\ncase 0: $ans6389 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3584],L[3585]);\nvar anf_fun6401 = $ans6389;\n$ans6389 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3586],L[3587]);\nvar anf_fun6396 = $ans6389;\n$step6386 = 1;\n$al6390 = L[3594];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the code at \"));\nbreak;\ncase 1: var anf_arg6397 = $ans6389;\n$al6390 = L[3588];\nvar anf_arg6393 = G(self6388,\"a\",L[3588]);\n$al6390 = L[3589];\nvar anf_arg6394 = G(self6388,\"b\",L[3589]);\n$step6386 = 2;\n$al6390 = L[3593];\n// omitting isFunction check;\n$ans6389 = _plus5.app(anf_arg6393,anf_arg6394);\nbreak;\ncase 2: var anf_arg6395 = $ans6389;\n$step6386 = 3;\n$al6390 = L[3592];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"loc\"].app(anf_arg6395);\nbreak;\ncase 3: var anf_arg6398 = $ans6389;\n$step6386 = 4;\n$al6390 = L[3591];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\" is probably a function header, but there should be no space\"));\nbreak;\ncase 4: var anf_arg6399 = $ans6389;\n$step6386 = 5;\n$al6390 = L[3590];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,ED6.dict.values.dict[\"text\"]);\n}\n$ans6389 = ED6.dict.values.dict[\"text\"].app((\" between the arguments.\"));\nbreak;\ncase 5: var anf_arg6400 = $ans6389;\n$step6386 = 6;\n$al6390 = L[3587];\nif(typeof(anf_fun6396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,anf_fun6396);\n}\n$ans6389 = anf_fun6396.app(anf_arg6397,anf_arg6398,anf_arg6399,anf_arg6400);\nbreak;\ncase 6: var anf_arg6402 = $ans6389;\n$step6386 = 7;\n$al6390 = L[3585];\nif(typeof(anf_fun6401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6390,anf_fun6401);\n}\n$ans6389 = anf_fun6401.app(anf_arg6402);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans6389;\ndefault: R.ffi.throwSpinnakerError(L[3583],$step6386);\n}\n}\nif($step6386 !== 7) {\n$ans6389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6390,$temp_full6387,$step6386,[self6388],[anf_arg6397,anf_arg6398,anf_arg6399,anf_fun6396,anf_fun6401],$elidedFrames6392);\n}\nreturn $ans6389;\n};\nvar anf_variant_member6920 = R.makeMethod0($temp_full6387,\"render-reason\");\nvar $temp_full6405 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3595($self6406,$src$available6407) {\nvar $step6404 = 0;\nvar $elidedFrames6411 = 0;\nvar $ans6408 = D;\nvar $al6409 = L[3595];\nif(R.isAR($self6406)) {\n$step6404 = $self6406.step;\n$al6409 = $self6406.from;\n$ans6408 = $self6406.ans;\n$elidedFrames6411 = $self6406.elidedFrames;\nself6406 = $self6406.args[0];\nsrc$available6407 = $self6406.args[1];\nanf_arg6431 = $self6406.vars[0];\nanf_array6424 = $self6406.vars[1];\nanf_arg6443 = $self6406.vars[2];\nanf_arg6435 = $self6406.vars[3];\nanf_arg6426 = $self6406.vars[4];\nanf_arg6427 = $self6406.vars[5];\nanf_arg6418 = $self6406.vars[6];\nanf_fun6440 = $self6406.vars[7];\nanf_fun6430 = $self6406.vars[8];\nanf_fun6442 = $self6406.vars[9];\nanf_fun6423 = $self6406.vars[10];\nanf_fun6413 = $self6406.vars[11];\nanf_array6441 = $self6406.vars[12];\nanf_fun6425 = $self6406.vars[13];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3595],2,$t,true);\n}\nvar self6406 = $self6406;\nvar src$available6407 = $src$available6407;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6408 = R.mC();\n}\nwhile(!R.isContinuation($ans6408)) {\nswitch($step6404) {\ncase 0: $al6409 = L[3596];\nvar anf_arg6412 = G(self6406,\"loc\",L[3596]);\n$step6404 = 1;\n$al6409 = L[3649];\nif(typeof(src$available6407.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,src$available6407);\n}\n$ans6408 = src$available6407.app(anf_arg6412);\nbreak;\ncase 1: var anf_if6445 = $ans6408;\n$step6404 = R.checkPyretTrue(anf_if6445)?2:22;\nbreak;\ncase 2: $ans6408 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3597],L[3598]);\nvar anf_fun6425 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3599],L[3600]);\nvar anf_fun6413 = $ans6408;\n$step6404 = 3;\n$al6409 = L[3622];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 3: var anf_arg6414 = $ans6408;\n$step6404 = 4;\n$al6409 = L[3600];\nif(typeof(anf_fun6413.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6413);\n}\n$ans6408 = anf_fun6413.app(anf_arg6414);\nbreak;\ncase 4: var anf_arg6426 = $ans6408;\n$al6409 = L[3601];\nvar anf_arg6415 = G(self6406,\"loc\",L[3601]);\n$step6404 = 5;\n$al6409 = L[3621];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6415);\nbreak;\ncase 5: var anf_arg6427 = $ans6408;\n$ans6408 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3602],L[3603]);\nvar anf_fun6423 = $ans6408;\n$ans6408 = R.makeArrayN((10));\nvar anf_array6424 = $ans6408;\n$step6404 = 6;\n$al6409 = L[3620];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\" You may need to add or remove some text to fix your program. \"));\nbreak;\ncase 6: anf_array6424[0] = $ans6408;\n$step6404 = 7;\n$al6409 = L[3619];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the \"));\nbreak;\ncase 7: anf_array6424[1] = $ans6408;\n$step6404 = 8;\n$al6409 = L[3618];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"highlighted text\"));\nbreak;\ncase 8: var anf_arg6418 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3604],L[3605]);\nvar anf_fun6416 = $ans6408;\n$al6409 = L[3606];\nvar anf_arg6417 = G(self6406,\"loc\",L[3606]);\n$step6404 = 9;\n$al6409 = L[3605];\nif(typeof(anf_fun6416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6416);\n}\n$ans6408 = anf_fun6416.app(anf_arg6417);\nbreak;\ncase 9: var anf_arg6419 = $ans6408;\n$step6404 = 10;\n$al6409 = L[3617];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6418,anf_arg6419,(0));\nbreak;\ncase 10: anf_array6424[2] = $ans6408;\n$step6404 = 11;\n$al6409 = L[3616];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\". Is there a missing colon (\"));\nbreak;\ncase 11: anf_array6424[3] = $ans6408;\n$step6404 = 12;\n$al6409 = L[3615];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 12: var anf_arg6420 = $ans6408;\n$step6404 = 13;\n$al6409 = L[3614];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6420);\nbreak;\ncase 13: anf_array6424[4] = $ans6408;\n$step6404 = 14;\n$al6409 = L[3613];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 14: anf_array6424[5] = $ans6408;\n$step6404 = 15;\n$al6409 = L[3612];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 15: var anf_arg6421 = $ans6408;\n$step6404 = 16;\n$al6409 = L[3611];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6421);\nbreak;\ncase 16: anf_array6424[6] = $ans6408;\n$step6404 = 17;\n$al6409 = L[3610];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 17: anf_array6424[7] = $ans6408;\n$step6404 = 18;\n$al6409 = L[3609];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 18: var anf_arg6422 = $ans6408;\n$step6404 = 19;\n$al6409 = L[3608];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6422);\nbreak;\ncase 19: anf_array6424[8] = $ans6408;\n$step6404 = 20;\n$al6409 = L[3607];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), or keyword? Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 20: anf_array6424[9] = $ans6408;\n$step6404 = 21;\n$al6409 = L[3603];\nif(typeof(anf_fun6423.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6423);\n}\n$ans6408 = anf_fun6423.app(anf_array6424);\nbreak;\ncase 21: var anf_arg6428 = $ans6408;\n$step6404 = 42;\n$al6409 = L[3598];\nif(typeof(anf_fun6425.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6425);\n}\n$ans6408 = anf_fun6425.app(anf_arg6426,anf_arg6427,anf_arg6428);\nbreak;\ncase 22: $ans6408 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3623],L[3624]);\nvar anf_fun6442 = $ans6408;\n$ans6408 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3625],L[3626]);\nvar anf_fun6430 = $ans6408;\n$step6404 = 23;\n$al6409 = L[3648];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 23: var anf_arg6431 = $ans6408;\n$al6409 = L[3627];\nvar anf_arg6429 = G(self6406,\"loc\",L[3627]);\n$step6404 = 24;\n$al6409 = L[3647];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"loc\"].app(anf_arg6429);\nbreak;\ncase 24: var anf_arg6432 = $ans6408;\n$step6404 = 25;\n$al6409 = L[3626];\nif(typeof(anf_fun6430.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6430);\n}\n$ans6408 = anf_fun6430.app(anf_arg6431,anf_arg6432);\nbreak;\ncase 25: var anf_arg6443 = $ans6408;\n$ans6408 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3628],L[3629]);\nvar anf_fun6440 = $ans6408;\n$ans6408 = R.makeArrayN((10));\nvar anf_array6441 = $ans6408;\n$step6404 = 26;\n$al6409 = L[3646];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\" You may need to add or remove some text to fix your program. \"));\nbreak;\ncase 26: anf_array6441[0] = $ans6408;\n$step6404 = 27;\n$al6409 = L[3645];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the \"));\nbreak;\ncase 27: anf_array6441[1] = $ans6408;\n$step6404 = 28;\n$al6409 = L[3644];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"highlighted text\"));\nbreak;\ncase 28: var anf_arg6435 = $ans6408;\n$ans6408 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3630],L[3631]);\nvar anf_fun6433 = $ans6408;\n$al6409 = L[3632];\nvar anf_arg6434 = G(self6406,\"loc\",L[3632]);\n$step6404 = 29;\n$al6409 = L[3631];\nif(typeof(anf_fun6433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6433);\n}\n$ans6408 = anf_fun6433.app(anf_arg6434);\nbreak;\ncase 29: var anf_arg6436 = $ans6408;\n$step6404 = 30;\n$al6409 = L[3643];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6435,anf_arg6436,(0));\nbreak;\ncase 30: anf_array6441[2] = $ans6408;\n$step6404 = 31;\n$al6409 = L[3642];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\". Is there a missing colon (\"));\nbreak;\ncase 31: anf_array6441[3] = $ans6408;\n$step6404 = 32;\n$al6409 = L[3641];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 32: var anf_arg6437 = $ans6408;\n$step6404 = 33;\n$al6409 = L[3640];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6437);\nbreak;\ncase 33: anf_array6441[4] = $ans6408;\n$step6404 = 34;\n$al6409 = L[3639];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 34: anf_array6441[5] = $ans6408;\n$step6404 = 35;\n$al6409 = L[3638];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 35: var anf_arg6438 = $ans6408;\n$step6404 = 36;\n$al6409 = L[3637];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6438);\nbreak;\ncase 36: anf_array6441[6] = $ans6408;\n$step6404 = 37;\n$al6409 = L[3636];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 37: anf_array6441[7] = $ans6408;\n$step6404 = 38;\n$al6409 = L[3635];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 38: var anf_arg6439 = $ans6408;\n$step6404 = 39;\n$al6409 = L[3634];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"code\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"code\"].app(anf_arg6439);\nbreak;\ncase 39: anf_array6441[8] = $ans6408;\n$step6404 = 40;\n$al6409 = L[3633];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,ED6.dict.values.dict[\"text\"]);\n}\n$ans6408 = ED6.dict.values.dict[\"text\"].app((\"), or keyword? Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 40: anf_array6441[9] = $ans6408;\n$step6404 = 41;\n$al6409 = L[3629];\nif(typeof(anf_fun6440.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6440);\n}\n$ans6408 = anf_fun6440.app(anf_array6441);\nbreak;\ncase 41: var anf_arg6444 = $ans6408;\n$step6404 = 42;\n$al6409 = L[3624];\nif(typeof(anf_fun6442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6409,anf_fun6442);\n}\n$ans6408 = anf_fun6442.app(anf_arg6443,anf_arg6444);\nbreak;\ncase 42: ++R.GAS;\nreturn $ans6408;\ndefault: R.ffi.throwSpinnakerError(L[3595],$step6404);\n}\n}\nif($step6404 !== 42) {\n$ans6408.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6409,$temp_full6405,$step6404,[self6406,src$available6407],[anf_arg6431,anf_array6424,anf_arg6443,anf_arg6435,anf_arg6426,anf_arg6427,anf_arg6418,anf_fun6440,anf_fun6430,anf_fun6442,anf_fun6423,anf_fun6413,anf_array6441,anf_fun6425],$elidedFrames6411);\n}\nreturn $ans6408;\n};\nvar anf_variant_member6929 = R.makeMethod1($temp_full6405,\"render-fancy-reason\");\nvar $temp_full6448 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3650($self6449) {\nvar $step6447 = 0;\nvar $elidedFrames6453 = 0;\nvar $ans6450 = D;\nvar $al6451 = L[3650];\nif(R.isAR($self6449)) {\n$step6447 = $self6449.step;\n$al6451 = $self6449.from;\n$ans6450 = $self6449.ans;\n$elidedFrames6453 = $self6449.elidedFrames;\nself6449 = $self6449.args[0];\nanf_array6466 = $self6449.vars[0];\nanf_fun6460 = $self6449.vars[1];\nanf_fun6465 = $self6449.vars[2];\nanf_fun6455 = $self6449.vars[3];\nanf_fun6467 = $self6449.vars[4];\nanf_arg6470 = $self6449.vars[5];\nanf_fun6469 = $self6449.vars[6];\nanf_arg6471 = $self6449.vars[7];\nanf_fun6458 = $self6449.vars[8];\nanf_arg6472 = $self6449.vars[9];\nanf_arg6473 = $self6449.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3650],1,$t,true);\n}\nvar self6449 = $self6449;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6450 = R.mC();\n}\nwhile(!R.isContinuation($ans6450)) {\nswitch($step6447) {\ncase 0: $ans6450 = R.getMaker5(ED6.dict.values.dict[\"error\"],(\"make5\"),L[3651],L[3652]);\nvar anf_fun6469 = $ans6450;\n$ans6450 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3653],L[3654]);\nvar anf_fun6455 = $ans6450;\n$step6447 = 1;\n$al6451 = L[3677];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 1: var anf_arg6456 = $ans6450;\n$al6451 = L[3655];\nvar anf_arg6454 = G(self6449,\"loc\",L[3655]);\n// caller optimization;\n$ans6450 = draw$and$highlight36.$var.app(anf_arg6454);\nvar anf_arg6457 = $ans6450;\n$step6447 = 2;\n$al6451 = L[3654];\nif(typeof(anf_fun6455.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6455);\n}\n$ans6450 = anf_fun6455.app(anf_arg6456,anf_arg6457);\nbreak;\ncase 2: var anf_arg6470 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3656],L[3657]);\nvar anf_fun6458 = $ans6450;\n$step6447 = 3;\n$al6451 = L[3676];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"You may need to add or remove some text to fix your program.\"));\nbreak;\ncase 3: var anf_arg6459 = $ans6450;\n$step6447 = 4;\n$al6451 = L[3657];\nif(typeof(anf_fun6458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6458);\n}\n$ans6450 = anf_fun6458.app(anf_arg6459);\nbreak;\ncase 4: var anf_arg6471 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3658],L[3659]);\nvar anf_fun6460 = $ans6450;\n$step6447 = 5;\n$al6451 = L[3675];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Look carefully before the highlighted text.\"));\nbreak;\ncase 5: var anf_arg6461 = $ans6450;\n$step6447 = 6;\n$al6451 = L[3659];\nif(typeof(anf_fun6460.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6460);\n}\n$ans6450 = anf_fun6460.app(anf_arg6461);\nbreak;\ncase 6: var anf_arg6472 = $ans6450;\n$ans6450 = R.getMaker(ED6.dict.values.dict[\"para\"],(\"make\"),L[3660],L[3661]);\nvar anf_fun6465 = $ans6450;\n$ans6450 = R.makeArrayN((7));\nvar anf_array6466 = $ans6450;\n$step6447 = 7;\n$al6451 = L[3674];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Is there a missing colon (\"));\nbreak;\ncase 7: anf_array6466[0] = $ans6450;\n$step6447 = 8;\n$al6451 = L[3673];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\":\"));\nbreak;\ncase 8: var anf_arg6462 = $ans6450;\n$step6447 = 9;\n$al6451 = L[3672];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6462);\nbreak;\ncase 9: anf_array6466[1] = $ans6450;\n$step6447 = 10;\n$al6451 = L[3671];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), comma (\"));\nbreak;\ncase 10: anf_array6466[2] = $ans6450;\n$step6447 = 11;\n$al6451 = L[3670];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\",\"));\nbreak;\ncase 11: var anf_arg6463 = $ans6450;\n$step6447 = 12;\n$al6451 = L[3669];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6463);\nbreak;\ncase 12: anf_array6466[3] = $ans6450;\n$step6447 = 13;\n$al6451 = L[3668];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), string marker (\"));\nbreak;\ncase 13: anf_array6466[4] = $ans6450;\n$step6447 = 14;\n$al6451 = L[3667];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"\\\"\"));\nbreak;\ncase 14: var anf_arg6464 = $ans6450;\n$step6447 = 15;\n$al6451 = L[3666];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"code\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"code\"].app(anf_arg6464);\nbreak;\ncase 15: anf_array6466[5] = $ans6450;\n$step6447 = 16;\n$al6451 = L[3665];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"), or keyword?\"));\nbreak;\ncase 16: anf_array6466[6] = $ans6450;\n$step6447 = 17;\n$al6451 = L[3661];\nif(typeof(anf_fun6465.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6465);\n}\n$ans6450 = anf_fun6465.app(anf_array6466);\nbreak;\ncase 17: var anf_arg6473 = $ans6450;\n$ans6450 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3662],L[3663]);\nvar anf_fun6467 = $ans6450;\n$step6447 = 18;\n$al6451 = L[3664];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,ED6.dict.values.dict[\"text\"]);\n}\n$ans6450 = ED6.dict.values.dict[\"text\"].app((\"Is there something there that shouldn\\u2019t be?\"));\nbreak;\ncase 18: var anf_arg6468 = $ans6450;\n$step6447 = 19;\n$al6451 = L[3663];\nif(typeof(anf_fun6467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6467);\n}\n$ans6450 = anf_fun6467.app(anf_arg6468);\nbreak;\ncase 19: var anf_arg6474 = $ans6450;\n$step6447 = 20;\n$al6451 = L[3652];\nif(typeof(anf_fun6469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6451,anf_fun6469);\n}\n$ans6450 = anf_fun6469.app(anf_arg6470,anf_arg6471,anf_arg6472,anf_arg6473,anf_arg6474);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans6450;\ndefault: R.ffi.throwSpinnakerError(L[3650],$step6447);\n}\n}\nif($step6447 !== 20) {\n$ans6450.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6451,$temp_full6448,$step6447,[self6449],[anf_array6466,anf_fun6460,anf_fun6465,anf_fun6455,anf_fun6467,anf_arg6470,anf_fun6469,anf_arg6471,anf_fun6458,anf_arg6472,anf_arg6473],$elidedFrames6453);\n}\nreturn $ans6450;\n};\nvar anf_variant_member6930 = R.makeMethod0($temp_full6448,\"render-reason\");\nvar $temp_full6477 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3678($self6478,$src$available6479) {\nvar $step6476 = 0;\nvar $elidedFrames6483 = 0;\nvar $ans6480 = D;\nvar $al6481 = L[3678];\nif(R.isAR($self6478)) {\n$step6476 = $self6478.step;\n$al6481 = $self6478.from;\n$ans6480 = $self6478.ans;\n$elidedFrames6483 = $self6478.elidedFrames;\nself6478 = $self6478.args[0];\nsrc$available6479 = $self6478.args[1];\nanf_arg6496 = $self6478.vars[0];\nanf_fun6507 = $self6478.vars[1];\nanf_arg6510 = $self6478.vars[2];\nanf_arg6499 = $self6478.vars[3];\nanf_arg6500 = $self6478.vars[4];\nanf_arg6513 = $self6478.vars[5];\nanf_arg6504 = $self6478.vars[6];\nanf_arg6508 = $self6478.vars[7];\nanf_arg6509 = $self6478.vars[8];\nanf_fun6493 = $self6478.vars[9];\nanf_fun6485 = $self6478.vars[10];\nanf_fun6498 = $self6478.vars[11];\nanf_arg6491 = $self6478.vars[12];\nanf_fun6512 = $self6478.vars[13];\nanf_arg6494 = $self6478.vars[14];\nanf_fun6503 = $self6478.vars[15];\nanf_arg6495 = $self6478.vars[16];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3678],2,$t,true);\n}\nvar self6478 = $self6478;\nvar src$available6479 = $src$available6479;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6480 = R.mC();\n}\nwhile(!R.isContinuation($ans6480)) {\nswitch($step6476) {\ncase 0: $al6481 = L[3679];\nvar anf_arg6484 = G(self6478,\"loc\",L[3679]);\n$step6476 = 1;\n$al6481 = L[3712];\nif(typeof(src$available6479.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,src$available6479);\n}\n$ans6480 = src$available6479.app(anf_arg6484);\nbreak;\ncase 1: var anf_if6515 = $ans6480;\n$step6476 = R.checkPyretTrue(anf_if6515)?2:14;\nbreak;\ncase 2: $ans6480 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3680],L[3681]);\nvar anf_fun6498 = $ans6480;\n$ans6480 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3682],L[3683]);\nvar anf_fun6485 = $ans6480;\n$step6476 = 3;\n$al6481 = L[3697];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 3: var anf_arg6486 = $ans6480;\n$step6476 = 4;\n$al6481 = L[3683];\nif(typeof(anf_fun6485.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6485);\n}\n$ans6480 = anf_fun6485.app(anf_arg6486);\nbreak;\ncase 4: var anf_arg6499 = $ans6480;\n$al6481 = L[3684];\nvar anf_arg6487 = G(self6478,\"loc\",L[3684]);\n$step6476 = 5;\n$al6481 = L[3696];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6487);\nbreak;\ncase 5: var anf_arg6500 = $ans6480;\n$ans6480 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3685],L[3686]);\nvar anf_fun6493 = $ans6480;\n$step6476 = 6;\n$al6481 = L[3695];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 6: var anf_arg6494 = $ans6480;\n$step6476 = 7;\n$al6481 = L[3694];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 7: var anf_arg6488 = $ans6480;\n$step6476 = 8;\n$al6481 = L[3693];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"code\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"code\"].app(anf_arg6488);\nbreak;\ncase 8: var anf_arg6491 = $ans6480;\n$ans6480 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3687],L[3688]);\nvar anf_fun6489 = $ans6480;\n$al6481 = L[3689];\nvar anf_arg6490 = G(self6478,\"loc\",L[3689]);\n$step6476 = 9;\n$al6481 = L[3688];\nif(typeof(anf_fun6489.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6489);\n}\n$ans6480 = anf_fun6489.app(anf_arg6490);\nbreak;\ncase 9: var anf_arg6492 = $ans6480;\n$step6476 = 10;\n$al6481 = L[3692];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6491,anf_arg6492,(0));\nbreak;\ncase 10: var anf_arg6495 = $ans6480;\n$step6476 = 11;\n$al6481 = L[3691];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 11: var anf_arg6496 = $ans6480;\n$step6476 = 12;\n$al6481 = L[3690];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 12: var anf_arg6497 = $ans6480;\n$step6476 = 13;\n$al6481 = L[3686];\nif(typeof(anf_fun6493.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6493);\n}\n$ans6480 = anf_fun6493.app(anf_arg6494,anf_arg6495,anf_arg6496,anf_arg6497);\nbreak;\ncase 13: var anf_arg6501 = $ans6480;\n$step6476 = 24;\n$al6481 = L[3681];\nif(typeof(anf_fun6498.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6498);\n}\n$ans6480 = anf_fun6498.app(anf_arg6499,anf_arg6500,anf_arg6501);\nbreak;\ncase 14: $ans6480 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3698],L[3699]);\nvar anf_fun6512 = $ans6480;\n$ans6480 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3700],L[3701]);\nvar anf_fun6503 = $ans6480;\n$step6476 = 15;\n$al6481 = L[3711];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 15: var anf_arg6504 = $ans6480;\n$al6481 = L[3702];\nvar anf_arg6502 = G(self6478,\"loc\",L[3702]);\n$step6476 = 16;\n$al6481 = L[3710];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"loc\"].app(anf_arg6502);\nbreak;\ncase 16: var anf_arg6505 = $ans6480;\n$step6476 = 17;\n$al6481 = L[3701];\nif(typeof(anf_fun6503.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6503);\n}\n$ans6480 = anf_fun6503.app(anf_arg6504,anf_arg6505);\nbreak;\ncase 17: var anf_arg6513 = $ans6480;\n$ans6480 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3703],L[3704]);\nvar anf_fun6507 = $ans6480;\n$step6476 = 18;\n$al6481 = L[3709];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 18: var anf_arg6508 = $ans6480;\n$step6476 = 19;\n$al6481 = L[3708];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 19: var anf_arg6506 = $ans6480;\n$step6476 = 20;\n$al6481 = L[3707];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"code\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"code\"].app(anf_arg6506);\nbreak;\ncase 20: var anf_arg6509 = $ans6480;\n$step6476 = 21;\n$al6481 = L[3706];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 21: var anf_arg6510 = $ans6480;\n$step6476 = 22;\n$al6481 = L[3705];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,ED6.dict.values.dict[\"text\"]);\n}\n$ans6480 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 22: var anf_arg6511 = $ans6480;\n$step6476 = 23;\n$al6481 = L[3704];\nif(typeof(anf_fun6507.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6507);\n}\n$ans6480 = anf_fun6507.app(anf_arg6508,anf_arg6509,anf_arg6510,anf_arg6511);\nbreak;\ncase 23: var anf_arg6514 = $ans6480;\n$step6476 = 24;\n$al6481 = L[3699];\nif(typeof(anf_fun6512.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6481,anf_fun6512);\n}\n$ans6480 = anf_fun6512.app(anf_arg6513,anf_arg6514);\nbreak;\ncase 24: ++R.GAS;\nreturn $ans6480;\ndefault: R.ffi.throwSpinnakerError(L[3678],$step6476);\n}\n}\nif($step6476 !== 24) {\n$ans6480.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6481,$temp_full6477,$step6476,[self6478,src$available6479],[anf_arg6496,anf_fun6507,anf_arg6510,anf_arg6499,anf_arg6500,anf_arg6513,anf_arg6504,anf_arg6508,anf_arg6509,anf_fun6493,anf_fun6485,anf_fun6498,anf_arg6491,anf_fun6512,anf_arg6494,anf_fun6503,anf_arg6495],$elidedFrames6483);\n}\nreturn $ans6480;\n};\nvar anf_variant_member6939 = R.makeMethod1($temp_full6477,\"render-fancy-reason\");\nvar $temp_full6518 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3713($self6519) {\nvar $step6517 = 0;\nvar $elidedFrames6523 = 0;\nvar $ans6520 = D;\nvar $al6521 = L[3713];\nif(R.isAR($self6519)) {\n$step6517 = $self6519.step;\n$al6521 = $self6519.from;\n$ans6520 = $self6519.ans;\n$elidedFrames6523 = $self6519.elidedFrames;\nself6519 = $self6519.args[0];\nanf_arg6530 = $self6519.vars[0];\nanf_fun6528 = $self6519.vars[1];\nanf_arg6531 = $self6519.vars[2];\nanf_arg6534 = $self6519.vars[3];\nanf_arg6535 = $self6519.vars[4];\nanf_arg6529 = $self6519.vars[5];\nanf_fun6533 = $self6519.vars[6];\nanf_fun6524 = $self6519.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3713],1,$t,true);\n}\nvar self6519 = $self6519;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6520 = R.mC();\n}\nwhile(!R.isContinuation($ans6520)) {\nswitch($step6517) {\ncase 0: $ans6520 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3714],L[3715]);\nvar anf_fun6533 = $ans6520;\n$ans6520 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3716],L[3717]);\nvar anf_fun6524 = $ans6520;\n$step6517 = 1;\n$al6521 = L[3726];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand your program around \"));\nbreak;\ncase 1: var anf_arg6525 = $ans6520;\n$step6517 = 2;\n$al6521 = L[3717];\nif(typeof(anf_fun6524.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6524);\n}\n$ans6520 = anf_fun6524.app(anf_arg6525);\nbreak;\ncase 2: var anf_arg6534 = $ans6520;\n$al6521 = L[3718];\nvar anf_arg6526 = G(self6519,\"loc\",L[3718]);\n// caller optimization;\n$ans6520 = draw$and$highlight36.$var.app(anf_arg6526);\nvar anf_arg6535 = $ans6520;\n$ans6520 = R.getMaker4(ED6.dict.values.dict[\"para\"],(\"make4\"),L[3719],L[3720]);\nvar anf_fun6528 = $ans6520;\n$step6517 = 3;\n$al6521 = L[3725];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\" If you were trying to write a type annotation (with \"));\nbreak;\ncase 3: var anf_arg6529 = $ans6520;\n$step6517 = 4;\n$al6521 = L[3724];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"::\"));\nbreak;\ncase 4: var anf_arg6527 = $ans6520;\n$step6517 = 5;\n$al6521 = L[3723];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"code\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"code\"].app(anf_arg6527);\nbreak;\ncase 5: var anf_arg6530 = $ans6520;\n$step6517 = 6;\n$al6521 = L[3722];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"), remember that annotations only apply directly to names. \"));\nbreak;\ncase 6: var anf_arg6531 = $ans6520;\n$step6517 = 7;\n$al6521 = L[3721];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,ED6.dict.values.dict[\"text\"]);\n}\n$ans6520 = ED6.dict.values.dict[\"text\"].app((\"If you were not trying to write an annotation, perhaps use a single colon instead.\"));\nbreak;\ncase 7: var anf_arg6532 = $ans6520;\n$step6517 = 8;\n$al6521 = L[3720];\nif(typeof(anf_fun6528.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6528);\n}\n$ans6520 = anf_fun6528.app(anf_arg6529,anf_arg6530,anf_arg6531,anf_arg6532);\nbreak;\ncase 8: var anf_arg6536 = $ans6520;\n$step6517 = 9;\n$al6521 = L[3715];\nif(typeof(anf_fun6533.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6521,anf_fun6533);\n}\n$ans6520 = anf_fun6533.app(anf_arg6534,anf_arg6535,anf_arg6536);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans6520;\ndefault: R.ffi.throwSpinnakerError(L[3713],$step6517);\n}\n}\nif($step6517 !== 9) {\n$ans6520.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6521,$temp_full6518,$step6517,[self6519],[anf_arg6530,anf_fun6528,anf_arg6531,anf_arg6534,anf_arg6535,anf_arg6529,anf_fun6533,anf_fun6524],$elidedFrames6523);\n}\nreturn $ans6520;\n};\nvar anf_variant_member6940 = R.makeMethod0($temp_full6518,\"render-reason\");\nvar $temp_full6539 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3727($self6540,$src$available6541) {\nvar $step6538 = 0;\nvar $elidedFrames6545 = 0;\nvar $ans6542 = D;\nvar $al6543 = L[3727];\nif(R.isAR($self6540)) {\n$step6538 = $self6540.step;\n$al6543 = $self6540.from;\n$ans6542 = $self6540.ans;\n$elidedFrames6545 = $self6540.elidedFrames;\nself6540 = $self6540.args[0];\nsrc$available6541 = $self6540.args[1];\nanf_arg6552 = $self6540.vars[0];\nanf_arg6553 = $self6540.vars[1];\nanf_arg6564 = $self6540.vars[2];\nanf_arg6565 = $self6540.vars[3];\nanf_arg6559 = $self6540.vars[4];\nanf_arg6549 = $self6540.vars[5];\nanf_fun6551 = $self6540.vars[6];\nanf_fun6563 = $self6540.vars[7];\nanf_fun6556 = $self6540.vars[8];\nanf_fun6567 = $self6540.vars[9];\nanf_arg6560 = $self6540.vars[10];\nanf_fun6558 = $self6540.vars[11];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3727],2,$t,true);\n}\nvar self6540 = $self6540;\nvar src$available6541 = $src$available6541;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6542 = R.mC();\n}\nwhile(!R.isContinuation($ans6542)) {\nswitch($step6538) {\ncase 0: $al6543 = L[3728];\nvar anf_arg6546 = G(self6540,\"loc\",L[3728]);\n$step6538 = 1;\n$al6543 = L[3753];\nif(typeof(src$available6541.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,src$available6541);\n}\n$ans6542 = src$available6541.app(anf_arg6546);\nbreak;\ncase 1: var anf_if6569 = $ans6542;\n$step6538 = R.checkPyretTrue(anf_if6569)?2:12;\nbreak;\ncase 2: $ans6542 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3729],L[3730]);\nvar anf_fun6558 = $ans6542;\n$ans6542 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3731],L[3732]);\nvar anf_fun6551 = $ans6542;\n$step6538 = 3;\n$al6543 = L[3744];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't expect your program to \"));\nbreak;\ncase 3: var anf_arg6552 = $ans6542;\n$step6538 = 4;\n$al6543 = L[3743];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"end\"));\nbreak;\ncase 4: var anf_arg6549 = $ans6542;\n$ans6542 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3733],L[3734]);\nvar anf_fun6547 = $ans6542;\n$al6543 = L[3735];\nvar anf_arg6548 = G(self6540,\"loc\",L[3735]);\n$step6538 = 5;\n$al6543 = L[3734];\nif(typeof(anf_fun6547.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6547);\n}\n$ans6542 = anf_fun6547.app(anf_arg6548);\nbreak;\ncase 5: var anf_arg6550 = $ans6542;\n$step6538 = 6;\n$al6543 = L[3742];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6549,anf_arg6550,(-1));\nbreak;\ncase 6: var anf_arg6553 = $ans6542;\n$step6538 = 7;\n$al6543 = L[3741];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\" as soon as it did:\"));\nbreak;\ncase 7: var anf_arg6554 = $ans6542;\n$step6538 = 8;\n$al6543 = L[3732];\nif(typeof(anf_fun6551.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6551);\n}\n$ans6542 = anf_fun6551.app(anf_arg6552,anf_arg6553,anf_arg6554);\nbreak;\ncase 8: var anf_arg6559 = $ans6542;\n$al6543 = L[3736];\nvar anf_arg6555 = G(self6540,\"loc\",L[3736]);\n$step6538 = 9;\n$al6543 = L[3740];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6555);\nbreak;\ncase 9: var anf_arg6560 = $ans6542;\n$ans6542 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3737],L[3738]);\nvar anf_fun6556 = $ans6542;\n$step6538 = 10;\n$al6543 = L[3739];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" somewhere in your program.\"));\nbreak;\ncase 10: var anf_arg6557 = $ans6542;\n$step6538 = 11;\n$al6543 = L[3738];\nif(typeof(anf_fun6556.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6556);\n}\n$ans6542 = anf_fun6556.app(anf_arg6557);\nbreak;\ncase 11: var anf_arg6561 = $ans6542;\n$step6538 = 17;\n$al6543 = L[3730];\nif(typeof(anf_fun6558.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6558);\n}\n$ans6542 = anf_fun6558.app(anf_arg6559,anf_arg6560,anf_arg6561);\nbreak;\ncase 12: $ans6542 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3745],L[3746]);\nvar anf_fun6567 = $ans6542;\n$ans6542 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3747],L[3748]);\nvar anf_fun6563 = $ans6542;\n$step6538 = 13;\n$al6543 = L[3752];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't expect your program to end (at \"));\nbreak;\ncase 13: var anf_arg6564 = $ans6542;\n$al6543 = L[3749];\nvar anf_arg6562 = G(self6540,\"loc\",L[3749]);\n$step6538 = 14;\n$al6543 = L[3751];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"loc\"].app(anf_arg6562);\nbreak;\ncase 14: var anf_arg6565 = $ans6542;\n$step6538 = 15;\n$al6543 = L[3750];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,ED6.dict.values.dict[\"text\"]);\n}\n$ans6542 = ED6.dict.values.dict[\"text\"].app((\") as soon as it did. You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" somewhere in your program.\"));\nbreak;\ncase 15: var anf_arg6566 = $ans6542;\n$step6538 = 16;\n$al6543 = L[3748];\nif(typeof(anf_fun6563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6563);\n}\n$ans6542 = anf_fun6563.app(anf_arg6564,anf_arg6565,anf_arg6566);\nbreak;\ncase 16: var anf_arg6568 = $ans6542;\n$step6538 = 17;\n$al6543 = L[3746];\nif(typeof(anf_fun6567.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6543,anf_fun6567);\n}\n$ans6542 = anf_fun6567.app(anf_arg6568);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans6542;\ndefault: R.ffi.throwSpinnakerError(L[3727],$step6538);\n}\n}\nif($step6538 !== 17) {\n$ans6542.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6543,$temp_full6539,$step6538,[self6540,src$available6541],[anf_arg6552,anf_arg6553,anf_arg6564,anf_arg6565,anf_arg6559,anf_arg6549,anf_fun6551,anf_fun6563,anf_fun6556,anf_fun6567,anf_arg6560,anf_fun6558],$elidedFrames6545);\n}\nreturn $ans6542;\n};\nvar anf_variant_member6948 = R.makeMethod1($temp_full6539,\"render-fancy-reason\");\nvar $temp_full6572 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3754($self6573) {\nvar $step6571 = 0;\nvar $elidedFrames6577 = 0;\nvar $ans6574 = D;\nvar $al6575 = L[3754];\nif(R.isAR($self6573)) {\n$step6571 = $self6573.step;\n$al6575 = $self6573.from;\n$ans6574 = $self6573.ans;\n$elidedFrames6577 = $self6573.elidedFrames;\nself6573 = $self6573.args[0];\nanf_fun6581 = $self6573.vars[0];\nanf_fun6578 = $self6573.vars[1];\nanf_arg6579 = $self6573.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3754],1,$t,true);\n}\nvar self6573 = $self6573;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6574 = R.mC();\n}\nwhile(!R.isContinuation($ans6574)) {\nswitch($step6571) {\ncase 0: $ans6574 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3755],L[3756]);\nvar anf_fun6581 = $ans6574;\n$ans6574 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3757],L[3758]);\nvar anf_fun6578 = $ans6574;\n$step6571 = 1;\n$al6575 = L[3760];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,ED6.dict.values.dict[\"text\"]);\n}\n$ans6574 = ED6.dict.values.dict[\"text\"].app((\"Pyret didn't understand the very end of your program.\"));\nbreak;\ncase 1: var anf_arg6579 = $ans6574;\n$step6571 = 2;\n$al6575 = L[3759];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,ED6.dict.values.dict[\"text\"]);\n}\n$ans6574 = ED6.dict.values.dict[\"text\"].app((\"You may be missing an \\\"end\\\", or closing punctuation like \\\")\\\" or \\\"]\\\" right at the end.\"));\nbreak;\ncase 2: var anf_arg6580 = $ans6574;\n$step6571 = 3;\n$al6575 = L[3758];\nif(typeof(anf_fun6578.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,anf_fun6578);\n}\n$ans6574 = anf_fun6578.app(anf_arg6579,anf_arg6580);\nbreak;\ncase 3: var anf_arg6582 = $ans6574;\n$step6571 = 4;\n$al6575 = L[3756];\nif(typeof(anf_fun6581.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6575,anf_fun6581);\n}\n$ans6574 = anf_fun6581.app(anf_arg6582);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6574;\ndefault: R.ffi.throwSpinnakerError(L[3754],$step6571);\n}\n}\nif($step6571 !== 4) {\n$ans6574.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6575,$temp_full6572,$step6571,[self6573],[anf_fun6581,anf_fun6578,anf_arg6579],$elidedFrames6577);\n}\nreturn $ans6574;\n};\nvar anf_variant_member6949 = R.makeMethod0($temp_full6572,\"render-reason\");\nvar $temp_full6585 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3761($self6586,$src$available6587) {\nvar $step6584 = 0;\nvar $elidedFrames6591 = 0;\nvar $ans6588 = D;\nvar $al6589 = L[3761];\nif(R.isAR($self6586)) {\n$step6584 = $self6586.step;\n$al6589 = $self6586.from;\n$ans6588 = $self6586.ans;\n$elidedFrames6591 = $self6586.elidedFrames;\nself6586 = $self6586.args[0];\nsrc$available6587 = $self6586.args[1];\nanf_arg6598 = $self6586.vars[0];\nanf_fun6607 = $self6586.vars[1];\nanf_arg6610 = $self6586.vars[2];\nanf_arg6599 = $self6586.vars[3];\nanf_arg6611 = $self6586.vars[4];\nanf_arg6602 = $self6586.vars[5];\nanf_arg6603 = $self6586.vars[6];\nanf_arg6608 = $self6586.vars[7];\nanf_arg6609 = $self6586.vars[8];\nanf_fun6593 = $self6586.vars[9];\nanf_fun6597 = $self6586.vars[10];\nanf_fun6601 = $self6586.vars[11];\nanf_fun6613 = $self6586.vars[12];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3761],2,$t,true);\n}\nvar self6586 = $self6586;\nvar src$available6587 = $src$available6587;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6588 = R.mC();\n}\nwhile(!R.isContinuation($ans6588)) {\nswitch($step6584) {\ncase 0: $al6589 = L[3762];\nvar anf_arg6592 = G(self6586,\"loc\",L[3762]);\n$step6584 = 1;\n$al6589 = L[3787];\nif(typeof(src$available6587.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,src$available6587);\n}\n$ans6588 = src$available6587.app(anf_arg6592);\nbreak;\ncase 1: var anf_if6615 = $ans6588;\n$step6584 = R.checkPyretTrue(anf_if6615)?2:11;\nbreak;\ncase 2: $ans6588 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3763],L[3764]);\nvar anf_fun6601 = $ans6588;\n$ans6588 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3765],L[3766]);\nvar anf_fun6593 = $ans6588;\n$step6584 = 3;\n$al6589 = L[3775];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the string \"));\nbreak;\ncase 3: var anf_arg6594 = $ans6588;\n$step6584 = 4;\n$al6589 = L[3766];\nif(typeof(anf_fun6593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6593);\n}\n$ans6588 = anf_fun6593.app(anf_arg6594);\nbreak;\ncase 4: var anf_arg6602 = $ans6588;\n$al6589 = L[3767];\nvar anf_arg6595 = G(self6586,\"loc\",L[3767]);\n$step6584 = 5;\n$al6589 = L[3774];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6595);\nbreak;\ncase 5: var anf_arg6603 = $ans6588;\n$ans6588 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3768],L[3769]);\nvar anf_fun6597 = $ans6588;\n$step6584 = 6;\n$al6589 = L[3773];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"is not finished; you may be missing closing punctuation. If you intended to write a multi-line string, use \"));\nbreak;\ncase 6: var anf_arg6598 = $ans6588;\n$step6584 = 7;\n$al6589 = L[3772];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"```\"));\nbreak;\ncase 7: var anf_arg6596 = $ans6588;\n$step6584 = 8;\n$al6589 = L[3771];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"code\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"code\"].app(anf_arg6596);\nbreak;\ncase 8: var anf_arg6599 = $ans6588;\n$step6584 = 9;\n$al6589 = L[3770];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\" instead of quotation marks.\"));\nbreak;\ncase 9: var anf_arg6600 = $ans6588;\n$step6584 = 10;\n$al6589 = L[3769];\nif(typeof(anf_fun6597.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6597);\n}\n$ans6588 = anf_fun6597.app(anf_arg6598,anf_arg6599,anf_arg6600);\nbreak;\ncase 10: var anf_arg6604 = $ans6588;\n$step6584 = 19;\n$al6589 = L[3764];\nif(typeof(anf_fun6601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6601);\n}\n$ans6588 = anf_fun6601.app(anf_arg6602,anf_arg6603,anf_arg6604);\nbreak;\ncase 11: $ans6588 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3776],L[3777]);\nvar anf_fun6613 = $ans6588;\n$ans6588 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3778],L[3779]);\nvar anf_fun6607 = $ans6588;\n$step6584 = 12;\n$al6589 = L[3786];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks the string at \"));\nbreak;\ncase 12: var anf_arg6608 = $ans6588;\n$al6589 = L[3780];\nvar anf_arg6605 = G(self6586,\"loc\",L[3780]);\n$step6584 = 13;\n$al6589 = L[3785];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"loc\"].app(anf_arg6605);\nbreak;\ncase 13: var anf_arg6609 = $ans6588;\n$step6584 = 14;\n$al6589 = L[3784];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"is not finished; you may be missing closing punctuation. If you intended to write a multi-line string, use \"));\nbreak;\ncase 14: var anf_arg6610 = $ans6588;\n$step6584 = 15;\n$al6589 = L[3783];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\"```\"));\nbreak;\ncase 15: var anf_arg6606 = $ans6588;\n$step6584 = 16;\n$al6589 = L[3782];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"code\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"code\"].app(anf_arg6606);\nbreak;\ncase 16: var anf_arg6611 = $ans6588;\n$step6584 = 17;\n$al6589 = L[3781];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,ED6.dict.values.dict[\"text\"]);\n}\n$ans6588 = ED6.dict.values.dict[\"text\"].app((\" instead of quotation marks.\"));\nbreak;\ncase 17: var anf_arg6612 = $ans6588;\n$step6584 = 18;\n$al6589 = L[3779];\nif(typeof(anf_fun6607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6607);\n}\n$ans6588 = anf_fun6607.app(anf_arg6608,anf_arg6609,anf_arg6610,anf_arg6611,anf_arg6612);\nbreak;\ncase 18: var anf_arg6614 = $ans6588;\n$step6584 = 19;\n$al6589 = L[3777];\nif(typeof(anf_fun6613.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6589,anf_fun6613);\n}\n$ans6588 = anf_fun6613.app(anf_arg6614);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans6588;\ndefault: R.ffi.throwSpinnakerError(L[3761],$step6584);\n}\n}\nif($step6584 !== 19) {\n$ans6588.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6589,$temp_full6585,$step6584,[self6586,src$available6587],[anf_arg6598,anf_fun6607,anf_arg6610,anf_arg6599,anf_arg6611,anf_arg6602,anf_arg6603,anf_arg6608,anf_arg6609,anf_fun6593,anf_fun6597,anf_fun6601,anf_fun6613],$elidedFrames6591);\n}\nreturn $ans6588;\n};\nvar anf_variant_member6957 = R.makeMethod1($temp_full6585,\"render-fancy-reason\");\nvar $temp_full6618 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3788($self6619) {\nvar $step6617 = 0;\nvar $elidedFrames6623 = 0;\nvar $ans6620 = D;\nvar $al6621 = L[3788];\nif(R.isAR($self6619)) {\n$step6617 = $self6619.step;\n$al6621 = $self6619.from;\n$ans6620 = $self6619.ans;\n$elidedFrames6623 = $self6619.elidedFrames;\nself6619 = $self6619.args[0];\nanf_fun6629 = $self6619.vars[0];\nanf_fun6625 = $self6619.vars[1];\nanf_arg6626 = $self6619.vars[2];\nanf_arg6627 = $self6619.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3788],1,$t,true);\n}\nvar self6619 = $self6619;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6620 = R.mC();\n}\nwhile(!R.isContinuation($ans6620)) {\nswitch($step6617) {\ncase 0: $ans6620 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3789],L[3790]);\nvar anf_fun6629 = $ans6620;\n$ans6620 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3791],L[3792]);\nvar anf_fun6625 = $ans6620;\n$step6617 = 1;\n$al6621 = L[3795];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,ED6.dict.values.dict[\"text\"]);\n}\n$ans6620 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program has an incomplete string literal around \"));\nbreak;\ncase 1: var anf_arg6626 = $ans6620;\n$al6621 = L[3793];\nvar anf_arg6624 = G(self6619,\"loc\",L[3793]);\n// caller optimization;\n$ans6620 = draw$and$highlight36.$var.app(anf_arg6624);\nvar anf_arg6627 = $ans6620;\n$step6617 = 2;\n$al6621 = L[3794];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,ED6.dict.values.dict[\"text\"]);\n}\n$ans6620 = ED6.dict.values.dict[\"text\"].app((\"; you may be missing closing punctuation.\"));\nbreak;\ncase 2: var anf_arg6628 = $ans6620;\n$step6617 = 3;\n$al6621 = L[3792];\nif(typeof(anf_fun6625.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,anf_fun6625);\n}\n$ans6620 = anf_fun6625.app(anf_arg6626,anf_arg6627,anf_arg6628);\nbreak;\ncase 3: var anf_arg6630 = $ans6620;\n$step6617 = 4;\n$al6621 = L[3790];\nif(typeof(anf_fun6629.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6621,anf_fun6629);\n}\n$ans6620 = anf_fun6629.app(anf_arg6630);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6620;\ndefault: R.ffi.throwSpinnakerError(L[3788],$step6617);\n}\n}\nif($step6617 !== 4) {\n$ans6620.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6621,$temp_full6618,$step6617,[self6619],[anf_fun6629,anf_fun6625,anf_arg6626,anf_arg6627],$elidedFrames6623);\n}\nreturn $ans6620;\n};\nvar anf_variant_member6958 = R.makeMethod0($temp_full6618,\"render-reason\");\nvar $temp_full6633 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3796($self6634,$src$available6635) {\nvar $step6632 = 0;\nvar $elidedFrames6639 = 0;\nvar $ans6636 = D;\nvar $al6637 = L[3796];\nif(R.isAR($self6634)) {\n$step6632 = $self6634.step;\n$al6637 = $self6634.from;\n$ans6636 = $self6634.ans;\n$elidedFrames6639 = $self6634.elidedFrames;\nself6634 = $self6634.args[0];\nsrc$available6635 = $self6634.args[1];\nanf_fun6649 = $self6634.vars[0];\nanf_arg6652 = $self6634.vars[1];\nanf_arg6653 = $self6634.vars[2];\nanf_arg6643 = $self6634.vars[3];\nanf_arg6646 = $self6634.vars[4];\nanf_arg6657 = $self6634.vars[5];\nanf_arg6658 = $self6634.vars[6];\nanf_fun6660 = $self6634.vars[7];\nanf_fun6651 = $self6634.vars[8];\nanf_fun6645 = $self6634.vars[9];\nanf_fun6656 = $self6634.vars[10];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3796],2,$t,true);\n}\nvar self6634 = $self6634;\nvar src$available6635 = $src$available6635;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6636 = R.mC();\n}\nwhile(!R.isContinuation($ans6636)) {\nswitch($step6632) {\ncase 0: $al6637 = L[3797];\nvar anf_arg6640 = G(self6634,\"loc\",L[3797]);\n$step6632 = 1;\n$al6637 = L[3821];\nif(typeof(src$available6635.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,src$available6635);\n}\n$ans6636 = src$available6635.app(anf_arg6640);\nbreak;\ncase 1: var anf_if6662 = $ans6636;\n$step6632 = R.checkPyretTrue(anf_if6662)?2:11;\nbreak;\ncase 2: $ans6636 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3798],L[3799]);\nvar anf_fun6651 = $ans6636;\n$ans6636 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3800],L[3801]);\nvar anf_fun6645 = $ans6636;\n$step6632 = 3;\n$al6637 = L[3812];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg6646 = $ans6636;\n$step6632 = 4;\n$al6637 = L[3811];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"operator\"));\nbreak;\ncase 4: var anf_arg6643 = $ans6636;\n$ans6636 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3802],L[3803]);\nvar anf_fun6641 = $ans6636;\n$al6637 = L[3804];\nvar anf_arg6642 = G(self6634,\"loc\",L[3804]);\n$step6632 = 5;\n$al6637 = L[3803];\nif(typeof(anf_fun6641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6641);\n}\n$ans6636 = anf_fun6641.app(anf_arg6642);\nbreak;\ncase 5: var anf_arg6644 = $ans6636;\n$step6632 = 6;\n$al6637 = L[3810];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6643,anf_arg6644,(0));\nbreak;\ncase 6: var anf_arg6647 = $ans6636;\n$step6632 = 7;\n$al6637 = L[3801];\nif(typeof(anf_fun6645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6645);\n}\n$ans6636 = anf_fun6645.app(anf_arg6646,anf_arg6647);\nbreak;\ncase 7: var anf_arg6652 = $ans6636;\n$al6637 = L[3805];\nvar anf_arg6648 = G(self6634,\"loc\",L[3805]);\n$step6632 = 8;\n$al6637 = L[3809];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6648);\nbreak;\ncase 8: var anf_arg6653 = $ans6636;\n$ans6636 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3806],L[3807]);\nvar anf_fun6649 = $ans6636;\n$step6632 = 9;\n$al6637 = L[3808];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\" must have whitespace separating it from its operands.\"));\nbreak;\ncase 9: var anf_arg6650 = $ans6636;\n$step6632 = 10;\n$al6637 = L[3807];\nif(typeof(anf_fun6649.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6649);\n}\n$ans6636 = anf_fun6649.app(anf_arg6650);\nbreak;\ncase 10: var anf_arg6654 = $ans6636;\n$step6632 = 16;\n$al6637 = L[3799];\nif(typeof(anf_fun6651.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6651);\n}\n$ans6636 = anf_fun6651.app(anf_arg6652,anf_arg6653,anf_arg6654);\nbreak;\ncase 11: $ans6636 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3813],L[3814]);\nvar anf_fun6660 = $ans6636;\n$ans6636 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3815],L[3816]);\nvar anf_fun6656 = $ans6636;\n$step6632 = 12;\n$al6637 = L[3820];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\"The operator at \"));\nbreak;\ncase 12: var anf_arg6657 = $ans6636;\n$al6637 = L[3817];\nvar anf_arg6655 = G(self6634,\"loc\",L[3817]);\n$step6632 = 13;\n$al6637 = L[3819];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"loc\"].app(anf_arg6655);\nbreak;\ncase 13: var anf_arg6658 = $ans6636;\n$step6632 = 14;\n$al6637 = L[3818];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,ED6.dict.values.dict[\"text\"]);\n}\n$ans6636 = ED6.dict.values.dict[\"text\"].app((\" must have whitespace separating it from its operands.\"));\nbreak;\ncase 14: var anf_arg6659 = $ans6636;\n$step6632 = 15;\n$al6637 = L[3816];\nif(typeof(anf_fun6656.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6656);\n}\n$ans6636 = anf_fun6656.app(anf_arg6657,anf_arg6658,anf_arg6659);\nbreak;\ncase 15: var anf_arg6661 = $ans6636;\n$step6632 = 16;\n$al6637 = L[3814];\nif(typeof(anf_fun6660.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6637,anf_fun6660);\n}\n$ans6636 = anf_fun6660.app(anf_arg6661);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans6636;\ndefault: R.ffi.throwSpinnakerError(L[3796],$step6632);\n}\n}\nif($step6632 !== 16) {\n$ans6636.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6637,$temp_full6633,$step6632,[self6634,src$available6635],[anf_fun6649,anf_arg6652,anf_arg6653,anf_arg6643,anf_arg6646,anf_arg6657,anf_arg6658,anf_fun6660,anf_fun6651,anf_fun6645,anf_fun6656],$elidedFrames6639);\n}\nreturn $ans6636;\n};\nvar anf_variant_member6966 = R.makeMethod1($temp_full6633,\"render-fancy-reason\");\nvar $temp_full6665 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3822($self6666) {\nvar $step6664 = 0;\nvar $elidedFrames6670 = 0;\nvar $ans6667 = D;\nvar $al6668 = L[3822];\nif(R.isAR($self6666)) {\n$step6664 = $self6666.step;\n$al6668 = $self6666.from;\n$ans6667 = $self6666.ans;\n$elidedFrames6670 = $self6666.elidedFrames;\nself6666 = $self6666.args[0];\nanf_fun6676 = $self6666.vars[0];\nanf_fun6672 = $self6666.vars[1];\nanf_arg6673 = $self6666.vars[2];\nanf_arg6674 = $self6666.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3822],1,$t,true);\n}\nvar self6666 = $self6666;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6667 = R.mC();\n}\nwhile(!R.isContinuation($ans6667)) {\nswitch($step6664) {\ncase 0: $ans6667 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3823],L[3824]);\nvar anf_fun6676 = $ans6667;\n$ans6667 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3825],L[3826]);\nvar anf_fun6672 = $ans6667;\n$step6664 = 1;\n$al6668 = L[3829];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,ED6.dict.values.dict[\"text\"]);\n}\n$ans6667 = ED6.dict.values.dict[\"text\"].app((\"The operator at \"));\nbreak;\ncase 1: var anf_arg6673 = $ans6667;\n$al6668 = L[3827];\nvar anf_arg6671 = G(self6666,\"loc\",L[3827]);\n// caller optimization;\n$ans6667 = draw$and$highlight36.$var.app(anf_arg6671);\nvar anf_arg6674 = $ans6667;\n$step6664 = 2;\n$al6668 = L[3828];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,ED6.dict.values.dict[\"text\"]);\n}\n$ans6667 = ED6.dict.values.dict[\"text\"].app((\" has no surrounding whitespace.\"));\nbreak;\ncase 2: var anf_arg6675 = $ans6667;\n$step6664 = 3;\n$al6668 = L[3826];\nif(typeof(anf_fun6672.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,anf_fun6672);\n}\n$ans6667 = anf_fun6672.app(anf_arg6673,anf_arg6674,anf_arg6675);\nbreak;\ncase 3: var anf_arg6677 = $ans6667;\n$step6664 = 4;\n$al6668 = L[3824];\nif(typeof(anf_fun6676.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6668,anf_fun6676);\n}\n$ans6667 = anf_fun6676.app(anf_arg6677);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6667;\ndefault: R.ffi.throwSpinnakerError(L[3822],$step6664);\n}\n}\nif($step6664 !== 4) {\n$ans6667.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6668,$temp_full6665,$step6664,[self6666],[anf_fun6676,anf_fun6672,anf_arg6673,anf_arg6674],$elidedFrames6670);\n}\nreturn $ans6667;\n};\nvar anf_variant_member6967 = R.makeMethod0($temp_full6665,\"render-reason\");\nvar $temp_full6680 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3830($self6681,$src$available6682) {\nvar $step6679 = 0;\nvar $elidedFrames6686 = 0;\nvar $ans6683 = D;\nvar $al6684 = L[3830];\nif(R.isAR($self6681)) {\n$step6679 = $self6681.step;\n$al6684 = $self6681.from;\n$ans6683 = $self6681.ans;\n$elidedFrames6686 = $self6681.elidedFrames;\nself6681 = $self6681.args[0];\nsrc$available6682 = $self6681.args[1];\nanf_arg6694 = $self6681.vars[0];\nanf_arg6695 = $self6681.vars[1];\nanf_arg6699 = $self6681.vars[2];\nanf_arg6700 = $self6681.vars[3];\nanf_fun6691 = $self6681.vars[4];\nanf_fun6693 = $self6681.vars[5];\nanf_fun6698 = $self6681.vars[6];\nanf_fun6688 = $self6681.vars[7];\nanf_fun6702 = $self6681.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3830],2,$t,true);\n}\nvar self6681 = $self6681;\nvar src$available6682 = $src$available6682;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6683 = R.mC();\n}\nwhile(!R.isContinuation($ans6683)) {\nswitch($step6679) {\ncase 0: $al6684 = L[3831];\nvar anf_arg6687 = G(self6681,\"loc\",L[3831]);\n$step6679 = 1;\n$al6684 = L[3850];\nif(typeof(src$available6682.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,src$available6682);\n}\n$ans6683 = src$available6682.app(anf_arg6687);\nbreak;\ncase 1: var anf_if6704 = $ans6683;\n$step6679 = R.checkPyretTrue(anf_if6704)?2:8;\nbreak;\ncase 2: $ans6683 = R.getMaker3(ED6.dict.values.dict[\"error\"],(\"make3\"),L[3832],L[3833]);\nvar anf_fun6693 = $ans6683;\n$ans6683 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3834],L[3835]);\nvar anf_fun6688 = $ans6683;\n$step6679 = 3;\n$al6684 = L[3841];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks \"));\nbreak;\ncase 3: var anf_arg6689 = $ans6683;\n$step6679 = 4;\n$al6684 = L[3835];\nif(typeof(anf_fun6688.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6688);\n}\n$ans6683 = anf_fun6688.app(anf_arg6689);\nbreak;\ncase 4: var anf_arg6694 = $ans6683;\n$al6684 = L[3836];\nvar anf_arg6690 = G(self6681,\"loc\",L[3836]);\n$step6679 = 5;\n$al6684 = L[3840];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6690);\nbreak;\ncase 5: var anf_arg6695 = $ans6683;\n$ans6683 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3837],L[3838]);\nvar anf_fun6691 = $ans6683;\n$step6679 = 6;\n$al6684 = L[3839];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\" is probably a number, but number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 6: var anf_arg6692 = $ans6683;\n$step6679 = 7;\n$al6684 = L[3838];\nif(typeof(anf_fun6691.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6691);\n}\n$ans6683 = anf_fun6691.app(anf_arg6692);\nbreak;\ncase 7: var anf_arg6696 = $ans6683;\n$step6679 = 13;\n$al6684 = L[3833];\nif(typeof(anf_fun6693.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6693);\n}\n$ans6683 = anf_fun6693.app(anf_arg6694,anf_arg6695,anf_arg6696);\nbreak;\ncase 8: $ans6683 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3842],L[3843]);\nvar anf_fun6702 = $ans6683;\n$ans6683 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3844],L[3845]);\nvar anf_fun6698 = $ans6683;\n$step6679 = 9;\n$al6684 = L[3849];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program has a number at \"));\nbreak;\ncase 9: var anf_arg6699 = $ans6683;\n$al6684 = L[3846];\nvar anf_arg6697 = G(self6681,\"loc\",L[3846]);\n$step6679 = 10;\n$al6684 = L[3848];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"loc\"].app(anf_arg6697);\nbreak;\ncase 10: var anf_arg6700 = $ans6683;\n$step6679 = 11;\n$al6684 = L[3847];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,ED6.dict.values.dict[\"text\"]);\n}\n$ans6683 = ED6.dict.values.dict[\"text\"].app((\", but number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 11: var anf_arg6701 = $ans6683;\n$step6679 = 12;\n$al6684 = L[3845];\nif(typeof(anf_fun6698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6698);\n}\n$ans6683 = anf_fun6698.app(anf_arg6699,anf_arg6700,anf_arg6701);\nbreak;\ncase 12: var anf_arg6703 = $ans6683;\n$step6679 = 13;\n$al6684 = L[3843];\nif(typeof(anf_fun6702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6684,anf_fun6702);\n}\n$ans6683 = anf_fun6702.app(anf_arg6703);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans6683;\ndefault: R.ffi.throwSpinnakerError(L[3830],$step6679);\n}\n}\nif($step6679 !== 13) {\n$ans6683.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6684,$temp_full6680,$step6679,[self6681,src$available6682],[anf_arg6694,anf_arg6695,anf_arg6699,anf_arg6700,anf_fun6691,anf_fun6693,anf_fun6698,anf_fun6688,anf_fun6702],$elidedFrames6686);\n}\nreturn $ans6683;\n};\nvar anf_variant_member6975 = R.makeMethod1($temp_full6680,\"render-fancy-reason\");\nvar $temp_full6707 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3851($self6708) {\nvar $step6706 = 0;\nvar $elidedFrames6712 = 0;\nvar $ans6709 = D;\nvar $al6710 = L[3851];\nif(R.isAR($self6708)) {\n$step6706 = $self6708.step;\n$al6710 = $self6708.from;\n$ans6709 = $self6708.ans;\n$elidedFrames6712 = $self6708.elidedFrames;\nself6708 = $self6708.args[0];\nanf_fun6718 = $self6708.vars[0];\nanf_fun6714 = $self6708.vars[1];\nanf_arg6715 = $self6708.vars[2];\nanf_arg6716 = $self6708.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3851],1,$t,true);\n}\nvar self6708 = $self6708;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6709 = R.mC();\n}\nwhile(!R.isContinuation($ans6709)) {\nswitch($step6706) {\ncase 0: $ans6709 = R.getMaker1(ED6.dict.values.dict[\"error\"],(\"make1\"),L[3852],L[3853]);\nvar anf_fun6718 = $ans6709;\n$ans6709 = R.getMaker3(ED6.dict.values.dict[\"para-nospace\"],(\"make3\"),L[3854],L[3855]);\nvar anf_fun6714 = $ans6709;\n$step6706 = 1;\n$al6710 = L[3858];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,ED6.dict.values.dict[\"text\"]);\n}\n$ans6709 = ED6.dict.values.dict[\"text\"].app((\"Pyret thinks your program probably has a number at \"));\nbreak;\ncase 1: var anf_arg6715 = $ans6709;\n$al6710 = L[3856];\nvar anf_arg6713 = G(self6708,\"loc\",L[3856]);\n// caller optimization;\n$ans6709 = draw$and$highlight36.$var.app(anf_arg6713);\nvar anf_arg6716 = $ans6709;\n$step6706 = 2;\n$al6710 = L[3857];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,ED6.dict.values.dict[\"text\"]);\n}\n$ans6709 = ED6.dict.values.dict[\"text\"].app((\"; number literals in Pyret require at least one digit before the decimal point.\"));\nbreak;\ncase 2: var anf_arg6717 = $ans6709;\n$step6706 = 3;\n$al6710 = L[3855];\nif(typeof(anf_fun6714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,anf_fun6714);\n}\n$ans6709 = anf_fun6714.app(anf_arg6715,anf_arg6716,anf_arg6717);\nbreak;\ncase 3: var anf_arg6719 = $ans6709;\n$step6706 = 4;\n$al6710 = L[3853];\nif(typeof(anf_fun6718.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6710,anf_fun6718);\n}\n$ans6709 = anf_fun6718.app(anf_arg6719);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans6709;\ndefault: R.ffi.throwSpinnakerError(L[3851],$step6706);\n}\n}\nif($step6706 !== 4) {\n$ans6709.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6710,$temp_full6707,$step6706,[self6708],[anf_fun6718,anf_fun6714,anf_arg6715,anf_arg6716],$elidedFrames6712);\n}\nreturn $ans6709;\n};\nvar anf_variant_member6976 = R.makeMethod0($temp_full6707,\"render-reason\");\nvar $temp_full6722 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3859($self6723,$src$available6724) {\nvar $step6721 = 0;\nvar $elidedFrames6728 = 0;\nvar $ans6725 = D;\nvar $al6726 = L[3859];\nif(R.isAR($self6723)) {\n$step6721 = $self6723.step;\n$al6726 = $self6723.from;\n$ans6725 = $self6723.ans;\n$elidedFrames6728 = $self6723.elidedFrames;\nself6723 = $self6723.args[0];\nsrc$available6724 = $self6723.args[1];\nanf_fun6736 = $self6723.vars[0];\nanf_arg6751 = $self6723.vars[1];\nanf_arg6752 = $self6723.vars[2];\nanf_arg6774 = $self6723.vars[3];\nanf_arg6753 = $self6723.vars[4];\nanf_arg6744 = $self6723.vars[5];\nanf_arg6734 = $self6723.vars[6];\nanf_arg6745 = $self6723.vars[7];\nanf_arg6778 = $self6723.vars[8];\nanf_arg6746 = $self6723.vars[9];\nanf_arg6757 = $self6723.vars[10];\nanf_arg6779 = $self6723.vars[11];\nanf_arg6747 = $self6723.vars[12];\nanf_arg6758 = $self6723.vars[13];\nanf_arg6737 = $self6723.vars[14];\ncases6772 = $self6723.vars[15];\nanf_fun6770 = $self6723.vars[16];\ncases6749 = $self6723.vars[17];\nanf_fun6750 = $self6723.vars[18];\nanf_fun6773 = $self6723.vars[19];\nanf_fun6784 = $self6723.vars[20];\nanf_fun6763 = $self6723.vars[21];\nanf_fun6743 = $self6723.vars[22];\nanf_array6771 = $self6723.vars[23];\nanf_fun6777 = $self6723.vars[24];\nanf_fun6756 = $self6723.vars[25];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3859],2,$t,true);\n}\nvar self6723 = $self6723;\nvar src$available6724 = $src$available6724;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6725 = R.mC();\n}\nwhile(!R.isContinuation($ans6725)) {\nswitch($step6721) {\ncase 0: $al6726 = L[3860];\nvar anf_bracket6729 = G(self6723,\"op\",L[3860]);\n$al6726 = L[3861];\nvar anf_arg6730 = G(anf_bracket6729,\"l\",L[3861]);\n$step6721 = 1;\n$al6726 = L[3924];\nif(typeof(src$available6724.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,src$available6724);\n}\n$ans6725 = src$available6724.app(anf_arg6730);\nbreak;\ncase 1: var anf_if6787 = $ans6725;\n$step6721 = R.checkPyretTrue(anf_if6787)?2:25;\nbreak;\ncase 2: $ans6725 = R.getMaker4(ED6.dict.values.dict[\"error\"],(\"make4\"),L[3862],L[3863]);\nvar anf_fun6750 = $ans6725;\n$ans6725 = R.getMaker2(ED6.dict.values.dict[\"para\"],(\"make2\"),L[3864],L[3865]);\nvar anf_fun6736 = $ans6725;\n$step6721 = 3;\n$al6726 = L[3896];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 3: var anf_arg6737 = $ans6725;\n$step6721 = 4;\n$al6726 = L[3895];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"testing operator\"));\nbreak;\ncase 4: var anf_arg6734 = $ans6725;\n$ans6725 = R.getMaker1(ED6.dict.values.dict[\"locs\"],(\"make1\"),L[3866],L[3867]);\nvar anf_fun6732 = $ans6725;\n$al6726 = L[3868];\nvar anf_bracket6731 = G(self6723,\"op\",L[3868]);\n$al6726 = L[3869];\nvar anf_arg6733 = G(anf_bracket6731,\"l\",L[3869]);\n$step6721 = 5;\n$al6726 = L[3867];\nif(typeof(anf_fun6732.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6732);\n}\n$ans6725 = anf_fun6732.app(anf_arg6733);\nbreak;\ncase 5: var anf_arg6735 = $ans6725;\n$step6721 = 6;\n$al6726 = L[3894];\nif(typeof(ED6.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"highlight\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"highlight\"].app(anf_arg6734,anf_arg6735,(0));\nbreak;\ncase 6: var anf_arg6738 = $ans6725;\n$step6721 = 7;\n$al6726 = L[3865];\nif(typeof(anf_fun6736.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6736);\n}\n$ans6725 = anf_fun6736.app(anf_arg6737,anf_arg6738);\nbreak;\ncase 7: var anf_arg6751 = $ans6725;\n$al6726 = L[3870];\nvar anf_bracket6739 = G(self6723,\"op\",L[3870]);\n$al6726 = L[3871];\nvar anf_arg6740 = G(anf_bracket6739,\"l\",L[3871]);\n$step6721 = 8;\n$al6726 = L[3893];\nif(typeof(ED6.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"cmcode\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"cmcode\"].app(anf_arg6740);\nbreak;\ncase 8: var anf_arg6752 = $ans6725;\n$ans6725 = R.getMaker5(ED6.dict.values.dict[\"para\"],(\"make5\"),L[3872],L[3873]);\nvar anf_fun6743 = $ans6725;\n$step6721 = 9;\n$al6726 = L[3892];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a \"));\nbreak;\ncase 9: var anf_arg6744 = $ans6725;\n$step6721 = 10;\n$al6726 = L[3891];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 10: var anf_arg6741 = $ans6725;\n$step6721 = 11;\n$al6726 = L[3890];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6741);\nbreak;\ncase 11: var anf_arg6745 = $ans6725;\n$step6721 = 12;\n$al6726 = L[3889];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 12: var anf_arg6746 = $ans6725;\n$step6721 = 13;\n$al6726 = L[3888];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 13: var anf_arg6742 = $ans6725;\n$step6721 = 14;\n$al6726 = L[3887];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6742);\nbreak;\ncase 14: var anf_arg6747 = $ans6725;\n$step6721 = 15;\n$al6726 = L[3886];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 15: var anf_arg6748 = $ans6725;\n$step6721 = 16;\n$al6726 = L[3873];\nif(typeof(anf_fun6743.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6743);\n}\n$ans6725 = anf_fun6743.app(anf_arg6744,anf_arg6745,anf_arg6746,anf_arg6747,anf_arg6748);\nbreak;\ncase 16: var anf_arg6753 = $ans6725;\n$al6726 = L[3874];\nvar cases6749 = G(self6723,\"op\",L[3874]);\n$al6726 = L[3882];\n$step6721 = $cases_dispatch6765[cases6749.$name] || 22;\nbreak;\ncase 17: if(cases6749.$arity !== 1) {\nif(cases6749.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3881],1,cases6749.$arity,L[3882],cases6749.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3881],true,L[3882],cases6749.$loc);\n}\n}\nvar $fn6761 = cases6749.$constructor.$fieldNames;\nR.dF(cases6749.dict[$fn6761[0]],cases6749.$mut_fields_mask[0],false);\n$ans6725 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3875],L[3876]);\nvar anf_fun6756 = $ans6725;\n$step6721 = 18;\n$al6726 = L[3880];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"You may have been looking for the \"));\nbreak;\ncase 18: var anf_arg6757 = $ans6725;\n$step6721 = 19;\n$al6726 = L[3879];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"raise\"));\nbreak;\ncase 19: var anf_arg6755 = $ans6725;\n$step6721 = 20;\n$al6726 = L[3878];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6755);\nbreak;\ncase 20: var anf_arg6758 = $ans6725;\n$step6721 = 21;\n$al6726 = L[3877];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" operator, or perhaps you meant to use a comparison operator instead.\"));\nbreak;\ncase 21: var anf_arg6759 = $ans6725;\n$step6721 = 24;\n$al6726 = L[3876];\nif(typeof(anf_fun6756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6756);\n}\n$ans6725 = anf_fun6756.app(anf_arg6757,anf_arg6758,anf_arg6759);\nbreak;\ncase 22: $ans6725 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3883],L[3884]);\nvar anf_fun6763 = $ans6725;\n$step6721 = 23;\n$al6726 = L[3885];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 23: var anf_arg6764 = $ans6725;\n$step6721 = 24;\n$al6726 = L[3884];\nif(typeof(anf_fun6763.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6763);\n}\n$ans6725 = anf_fun6763.app(anf_arg6764);\nbreak;\ncase 24: var anf_arg6754 = $ans6725;\n$step6721 = 44;\n$al6726 = L[3863];\nif(typeof(anf_fun6750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6750);\n}\n$ans6725 = anf_fun6750.app(anf_arg6751,anf_arg6752,anf_arg6753,anf_arg6754);\nbreak;\ncase 25: $ans6725 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3897],L[3898]);\nvar anf_fun6773 = $ans6725;\n$ans6725 = R.getMaker(ED6.dict.values.dict[\"para-nospace\"],(\"make\"),L[3899],L[3900]);\nvar anf_fun6770 = $ans6725;\n$ans6725 = R.makeArrayN((7));\nvar anf_array6771 = $ans6725;\n$step6721 = 26;\n$al6726 = L[3923];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"The testing operator at \"));\nbreak;\ncase 26: anf_array6771[0] = $ans6725;\n$al6726 = L[3901];\nvar anf_bracket6766 = G(self6723,\"op\",L[3901]);\n$al6726 = L[3902];\nvar anf_arg6767 = G(anf_bracket6766,\"l\",L[3902]);\n$step6721 = 27;\n$al6726 = L[3922];\nif(typeof(ED6.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"loc\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"loc\"].app(anf_arg6767);\nbreak;\ncase 27: anf_array6771[1] = $ans6725;\n$step6721 = 28;\n$al6726 = L[3921];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a \"));\nbreak;\ncase 28: anf_array6771[2] = $ans6725;\n$step6721 = 29;\n$al6726 = L[3920];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 29: var anf_arg6768 = $ans6725;\n$step6721 = 30;\n$al6726 = L[3919];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6768);\nbreak;\ncase 30: anf_array6771[3] = $ans6725;\n$step6721 = 31;\n$al6726 = L[3918];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 31: anf_array6771[4] = $ans6725;\n$step6721 = 32;\n$al6726 = L[3917];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 32: var anf_arg6769 = $ans6725;\n$step6721 = 33;\n$al6726 = L[3916];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6769);\nbreak;\ncase 33: anf_array6771[5] = $ans6725;\n$step6721 = 34;\n$al6726 = L[3915];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 34: anf_array6771[6] = $ans6725;\n$step6721 = 35;\n$al6726 = L[3900];\nif(typeof(anf_fun6770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6770);\n}\n$ans6725 = anf_fun6770.app(anf_array6771);\nbreak;\ncase 35: var anf_arg6774 = $ans6725;\n$al6726 = L[3903];\nvar cases6772 = G(self6723,\"op\",L[3903]);\n$al6726 = L[3911];\n$step6721 = $cases_dispatch6786[cases6772.$name] || 41;\nbreak;\ncase 36: if(cases6772.$arity !== 1) {\nif(cases6772.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[3910],1,cases6772.$arity,L[3911],cases6772.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[3910],true,L[3911],cases6772.$loc);\n}\n}\nvar $fn6782 = cases6772.$constructor.$fieldNames;\nR.dF(cases6772.dict[$fn6782[0]],cases6772.$mut_fields_mask[0],false);\n$ans6725 = R.getMaker3(ED6.dict.values.dict[\"para\"],(\"make3\"),L[3904],L[3905]);\nvar anf_fun6777 = $ans6725;\n$step6721 = 37;\n$al6726 = L[3909];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"You may have been looking for the \"));\nbreak;\ncase 37: var anf_arg6778 = $ans6725;\n$step6721 = 38;\n$al6726 = L[3908];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"raise\"));\nbreak;\ncase 38: var anf_arg6776 = $ans6725;\n$step6721 = 39;\n$al6726 = L[3907];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"code\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"code\"].app(anf_arg6776);\nbreak;\ncase 39: var anf_arg6779 = $ans6725;\n$step6721 = 40;\n$al6726 = L[3906];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\" operator, or perhaps you meant to use a comparison operator instead.\"));\nbreak;\ncase 40: var anf_arg6780 = $ans6725;\n$step6721 = 43;\n$al6726 = L[3905];\nif(typeof(anf_fun6777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6777);\n}\n$ans6725 = anf_fun6777.app(anf_arg6778,anf_arg6779,anf_arg6780);\nbreak;\ncase 41: $ans6725 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3912],L[3913]);\nvar anf_fun6784 = $ans6725;\n$step6721 = 42;\n$al6726 = L[3914];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,ED6.dict.values.dict[\"text\"]);\n}\n$ans6725 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 42: var anf_arg6785 = $ans6725;\n$step6721 = 43;\n$al6726 = L[3913];\nif(typeof(anf_fun6784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6784);\n}\n$ans6725 = anf_fun6784.app(anf_arg6785);\nbreak;\ncase 43: var anf_arg6775 = $ans6725;\n$step6721 = 44;\n$al6726 = L[3898];\nif(typeof(anf_fun6773.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6726,anf_fun6773);\n}\n$ans6725 = anf_fun6773.app(anf_arg6774,anf_arg6775);\nbreak;\ncase 44: ++R.GAS;\nreturn $ans6725;\ndefault: R.ffi.throwSpinnakerError(L[3859],$step6721);\n}\n}\nif($step6721 !== 44) {\n$ans6725.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6726,$temp_full6722,$step6721,[self6723,src$available6724],[anf_fun6736,anf_arg6751,anf_arg6752,anf_arg6774,anf_arg6753,anf_arg6744,anf_arg6734,anf_arg6745,anf_arg6778,anf_arg6746,anf_arg6757,anf_arg6779,anf_arg6747,anf_arg6758,anf_arg6737,cases6772,anf_fun6770,cases6749,anf_fun6750,anf_fun6773,anf_fun6784,anf_fun6763,anf_fun6743,anf_array6771,anf_fun6777,anf_fun6756],$elidedFrames6728);\n}\nreturn $ans6725;\n};\nvar anf_variant_member6984 = R.makeMethod1($temp_full6722,\"render-fancy-reason\");\nvar $temp_full6790 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3925($self6791) {\nvar $step6789 = 0;\nvar $elidedFrames6795 = 0;\nvar $ans6792 = D;\nvar $al6793 = L[3925];\nif(R.isAR($self6791)) {\n$step6789 = $self6791.step;\n$al6793 = $self6791.from;\n$ans6792 = $self6791.ans;\n$elidedFrames6795 = $self6791.elidedFrames;\nself6791 = $self6791.args[0];\nanf_fun6803 = $self6791.vars[0];\nanf_array6800 = $self6791.vars[1];\nanf_arg6804 = $self6791.vars[2];\nanf_fun6799 = $self6791.vars[3];\nanf_fun6801 = $self6791.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3925],1,$t,true);\n}\nvar self6791 = $self6791;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6792 = R.mC();\n}\nwhile(!R.isContinuation($ans6792)) {\nswitch($step6789) {\ncase 0: $ans6792 = R.getMaker2(ED6.dict.values.dict[\"error\"],(\"make2\"),L[3926],L[3927]);\nvar anf_fun6803 = $ans6792;\n$ans6792 = R.getMaker(ED6.dict.values.dict[\"para-nospace\"],(\"make\"),L[3928],L[3929]);\nvar anf_fun6799 = $ans6792;\n$ans6792 = R.makeArrayN((7));\nvar anf_array6800 = $ans6792;\n$step6789 = 1;\n$al6793 = L[3941];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"The testing operator at \"));\nbreak;\ncase 1: anf_array6800[0] = $ans6792;\n$al6793 = L[3930];\nvar anf_arg6796 = G(self6791,\"loc\",L[3930]);\n// caller optimization;\n$ans6792 = draw$and$highlight36.$var.app(anf_arg6796);\nanf_array6800[1] = $ans6792;\n$step6789 = 2;\n$al6793 = L[3940];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" must be used inside a\"));\nbreak;\ncase 2: anf_array6800[2] = $ans6792;\n$step6789 = 3;\n$al6793 = L[3939];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"check\"));\nbreak;\ncase 3: var anf_arg6797 = $ans6792;\n$step6789 = 4;\n$al6793 = L[3938];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"code\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"code\"].app(anf_arg6797);\nbreak;\ncase 4: anf_array6800[3] = $ans6792;\n$step6789 = 5;\n$al6793 = L[3937];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" or \"));\nbreak;\ncase 5: anf_array6800[4] = $ans6792;\n$step6789 = 6;\n$al6793 = L[3936];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"where\"));\nbreak;\ncase 6: var anf_arg6798 = $ans6792;\n$step6789 = 7;\n$al6793 = L[3935];\nif(typeof(ED6.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"code\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"code\"].app(anf_arg6798);\nbreak;\ncase 7: anf_array6800[5] = $ans6792;\n$step6789 = 8;\n$al6793 = L[3934];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\" block.\"));\nbreak;\ncase 8: anf_array6800[6] = $ans6792;\n$step6789 = 9;\n$al6793 = L[3929];\nif(typeof(anf_fun6799.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6799);\n}\n$ans6792 = anf_fun6799.app(anf_array6800);\nbreak;\ncase 9: var anf_arg6804 = $ans6792;\n$ans6792 = R.getMaker1(ED6.dict.values.dict[\"para\"],(\"make1\"),L[3931],L[3932]);\nvar anf_fun6801 = $ans6792;\n$step6789 = 10;\n$al6793 = L[3933];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,ED6.dict.values.dict[\"text\"]);\n}\n$ans6792 = ED6.dict.values.dict[\"text\"].app((\"Did you mean to use one of the comparison operators instead?\"));\nbreak;\ncase 10: var anf_arg6802 = $ans6792;\n$step6789 = 11;\n$al6793 = L[3932];\nif(typeof(anf_fun6801.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6801);\n}\n$ans6792 = anf_fun6801.app(anf_arg6802);\nbreak;\ncase 11: var anf_arg6805 = $ans6792;\n$step6789 = 12;\n$al6793 = L[3927];\nif(typeof(anf_fun6803.app) !== \"function\") {\nR.ffi.throwNonFunApp($al6793,anf_fun6803);\n}\n$ans6792 = anf_fun6803.app(anf_arg6804,anf_arg6805);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans6792;\ndefault: R.ffi.throwSpinnakerError(L[3925],$step6789);\n}\n}\nif($step6789 !== 12) {\n$ans6792.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6793,$temp_full6790,$step6789,[self6791],[anf_fun6803,anf_array6800,anf_arg6804,anf_fun6799,anf_fun6801],$elidedFrames6795);\n}\nreturn $ans6792;\n};\nvar anf_variant_member6985 = R.makeMethod0($temp_full6790,\"render-reason\");\nvar $temp_full6808 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3942($self6809) {\nvar $step6807 = 0;\nvar $elidedFrames6813 = 0;\nvar $ans6810 = D;\nvar $al6811 = L[3942];\nif(R.isAR($self6809)) {\n$step6807 = $self6809.step;\n$al6811 = $self6809.from;\n$ans6810 = $self6809.ans;\n$elidedFrames6813 = $self6809.elidedFrames;\nself6809 = $self6809.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3942],1,$t,true);\n}\nvar self6809 = $self6809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6810 = R.mC();\n}\nwhile(!R.isContinuation($ans6810)) {\nswitch($step6807) {\ncase 0: $al6811 = L[3943];\nvar anf_method_obj6814 = G(self6809,\"loc\",L[3943]);\n$step6807 = 1;\n$ans6810 = R.maybeMethodCall1(anf_method_obj6814,\"format\",L[3944],(true));\nbreak;\ncase 1: var anf_arg6815 = $ans6810;\n$step6807 = 2;\n$al6811 = L[3946];\n// omitting isFunction check;\n$ans6810 = _plus5.app((\"Empty block at \"),anf_arg6815);\nbreak;\ncase 2: var anf_arg6816 = $ans6810;\n$step6807 = 3;\n$al6811 = L[3945];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6811,ED6.dict.values.dict[\"text\"]);\n}\n$ans6810 = ED6.dict.values.dict[\"text\"].app(anf_arg6816);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6810;\ndefault: R.ffi.throwSpinnakerError(L[3942],$step6807);\n}\n}\nif($step6807 !== 3) {\n$ans6810.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6811,$temp_full6808,$step6807,[self6809],[],$elidedFrames6813);\n}\nreturn $ans6810;\n};\nvar anf_variant_member6993 = R.makeMethod0($temp_full6808,\"render-reason\");\nvar $temp_full6819 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3947($self6820) {\nvar $step6818 = 0;\nvar $elidedFrames6824 = 0;\nvar $ans6821 = D;\nvar $al6822 = L[3947];\nif(R.isAR($self6820)) {\n$step6818 = $self6820.step;\n$al6822 = $self6820.from;\n$ans6821 = $self6820.ans;\n$elidedFrames6824 = $self6820.elidedFrames;\nself6820 = $self6820.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3947],1,$t,true);\n}\nvar self6820 = $self6820;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6821 = R.mC();\n}\nwhile(!R.isContinuation($ans6821)) {\nswitch($step6818) {\ncase 0: $al6822 = L[3948];\nvar anf_method_obj6825 = G(self6820,\"loc\",L[3948]);\n$step6818 = 1;\n$ans6821 = R.maybeMethodCall1(anf_method_obj6825,\"format\",L[3949],(true));\nbreak;\ncase 1: var anf_arg6826 = $ans6821;\n$step6818 = 2;\n$al6822 = L[3951];\n// omitting isFunction check;\n$ans6821 = _plus5.app((\"Expected a val binding or an expression, but got something else \"),anf_arg6826);\nbreak;\ncase 2: var anf_arg6827 = $ans6821;\n$step6818 = 3;\n$al6822 = L[3950];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6822,ED6.dict.values.dict[\"text\"]);\n}\n$ans6821 = ED6.dict.values.dict[\"text\"].app(anf_arg6827);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6821;\ndefault: R.ffi.throwSpinnakerError(L[3947],$step6818);\n}\n}\nif($step6818 !== 3) {\n$ans6821.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6822,$temp_full6819,$step6818,[self6820],[],$elidedFrames6824);\n}\nreturn $ans6821;\n};\nvar anf_variant_member7001 = R.makeMethod0($temp_full6819,\"render-reason\");\nvar $temp_full6830 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3952($self6831) {\nvar $step6829 = 0;\nvar $elidedFrames6835 = 0;\nvar $ans6832 = D;\nvar $al6833 = L[3952];\nif(R.isAR($self6831)) {\n$step6829 = $self6831.step;\n$al6833 = $self6831.from;\n$ans6832 = $self6831.ans;\n$elidedFrames6835 = $self6831.elidedFrames;\nself6831 = $self6831.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3952],1,$t,true);\n}\nvar self6831 = $self6831;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6832 = R.mC();\n}\nwhile(!R.isContinuation($ans6832)) {\nswitch($step6829) {\ncase 0: $al6833 = L[3953];\nvar anf_method_obj6836 = G(self6831,\"loc\",L[3953]);\n$step6829 = 1;\n$ans6832 = R.maybeMethodCall1(anf_method_obj6836,\"format\",L[3954],(true));\nbreak;\ncase 1: var anf_arg6837 = $ans6832;\n$step6829 = 2;\n$al6833 = L[3956];\n// omitting isFunction check;\n$ans6832 = _plus5.app((\"Expected a val binding or an expression, but got something else \"),anf_arg6837);\nbreak;\ncase 2: var anf_arg6838 = $ans6832;\n$step6829 = 3;\n$al6833 = L[3955];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6833,ED6.dict.values.dict[\"text\"]);\n}\n$ans6832 = ED6.dict.values.dict[\"text\"].app(anf_arg6838);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6832;\ndefault: R.ffi.throwSpinnakerError(L[3952],$step6829);\n}\n}\nif($step6829 !== 3) {\n$ans6832.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6833,$temp_full6830,$step6829,[self6831],[],$elidedFrames6835);\n}\nreturn $ans6832;\n};\nvar anf_variant_member7009 = R.makeMethod0($temp_full6830,\"render-reason\");\nvar $temp_full6841 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3957($self6842) {\nvar $step6840 = 0;\nvar $elidedFrames6846 = 0;\nvar $ans6843 = D;\nvar $al6844 = L[3957];\nif(R.isAR($self6842)) {\n$step6840 = $self6842.step;\n$al6844 = $self6842.from;\n$ans6843 = $self6842.ans;\n$elidedFrames6846 = $self6842.elidedFrames;\nself6842 = $self6842.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3957],1,$t,true);\n}\nvar self6842 = $self6842;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6843 = R.mC();\n}\nwhile(!R.isContinuation($ans6843)) {\nswitch($step6840) {\ncase 0: $al6844 = L[3958];\nvar anf_method_obj6847 = G(self6842,\"loc\",L[3958]);\n$step6840 = 1;\n$ans6843 = R.maybeMethodCall1(anf_method_obj6847,\"format\",L[3959],(true));\nbreak;\ncase 1: var anf_arg6848 = $ans6843;\n$step6840 = 2;\n$al6844 = L[3961];\n// omitting isFunction check;\n$ans6843 = _plus5.app((\"fun-missing-colon: \"),anf_arg6848);\nbreak;\ncase 2: var anf_arg6849 = $ans6843;\n$step6840 = 3;\n$al6844 = L[3960];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6844,ED6.dict.values.dict[\"text\"]);\n}\n$ans6843 = ED6.dict.values.dict[\"text\"].app(anf_arg6849);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6843;\ndefault: R.ffi.throwSpinnakerError(L[3957],$step6840);\n}\n}\nif($step6840 !== 3) {\n$ans6843.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6844,$temp_full6841,$step6840,[self6842],[],$elidedFrames6846);\n}\nreturn $ans6843;\n};\nvar anf_variant_member7017 = R.makeMethod0($temp_full6841,\"render-reason\");\nvar $temp_full6852 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3962($self6853) {\nvar $step6851 = 0;\nvar $elidedFrames6857 = 0;\nvar $ans6854 = D;\nvar $al6855 = L[3962];\nif(R.isAR($self6853)) {\n$step6851 = $self6853.step;\n$al6855 = $self6853.from;\n$ans6854 = $self6853.ans;\n$elidedFrames6857 = $self6853.elidedFrames;\nself6853 = $self6853.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3962],1,$t,true);\n}\nvar self6853 = $self6853;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6854 = R.mC();\n}\nwhile(!R.isContinuation($ans6854)) {\nswitch($step6851) {\ncase 0: $al6855 = L[3963];\nvar anf_method_obj6858 = G(self6853,\"loc\",L[3963]);\n$step6851 = 1;\n$ans6854 = R.maybeMethodCall1(anf_method_obj6858,\"format\",L[3964],(true));\nbreak;\ncase 1: var anf_arg6859 = $ans6854;\n$step6851 = 2;\n$al6855 = L[3966];\n// omitting isFunction check;\n$ans6854 = _plus5.app((\"fun-missing-end: \"),anf_arg6859);\nbreak;\ncase 2: var anf_arg6860 = $ans6854;\n$step6851 = 3;\n$al6855 = L[3965];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6855,ED6.dict.values.dict[\"text\"]);\n}\n$ans6854 = ED6.dict.values.dict[\"text\"].app(anf_arg6860);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6854;\ndefault: R.ffi.throwSpinnakerError(L[3962],$step6851);\n}\n}\nif($step6851 !== 3) {\n$ans6854.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6855,$temp_full6852,$step6851,[self6853],[],$elidedFrames6857);\n}\nreturn $ans6854;\n};\nvar anf_variant_member7025 = R.makeMethod0($temp_full6852,\"render-reason\");\nvar $temp_full6863 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3967($self6864) {\nvar $step6862 = 0;\nvar $elidedFrames6868 = 0;\nvar $ans6865 = D;\nvar $al6866 = L[3967];\nif(R.isAR($self6864)) {\n$step6862 = $self6864.step;\n$al6866 = $self6864.from;\n$ans6865 = $self6864.ans;\n$elidedFrames6868 = $self6864.elidedFrames;\nself6864 = $self6864.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3967],1,$t,true);\n}\nvar self6864 = $self6864;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6865 = R.mC();\n}\nwhile(!R.isContinuation($ans6865)) {\nswitch($step6862) {\ncase 0: $al6866 = L[3968];\nvar anf_method_obj6869 = G(self6864,\"loc\",L[3968]);\n$step6862 = 1;\n$ans6865 = R.maybeMethodCall1(anf_method_obj6869,\"format\",L[3969],(true));\nbreak;\ncase 1: var anf_arg6870 = $ans6865;\n$step6862 = 2;\n$al6866 = L[3971];\n// omitting isFunction check;\n$ans6865 = _plus5.app((\"args-missing-comma: \"),anf_arg6870);\nbreak;\ncase 2: var anf_arg6871 = $ans6865;\n$step6862 = 3;\n$al6866 = L[3970];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6866,ED6.dict.values.dict[\"text\"]);\n}\n$ans6865 = ED6.dict.values.dict[\"text\"].app(anf_arg6871);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6865;\ndefault: R.ffi.throwSpinnakerError(L[3967],$step6862);\n}\n}\nif($step6862 !== 3) {\n$ans6865.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6866,$temp_full6863,$step6862,[self6864],[],$elidedFrames6868);\n}\nreturn $ans6865;\n};\nvar anf_variant_member7033 = R.makeMethod0($temp_full6863,\"render-reason\");\nvar $temp_full6874 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3972($self6875) {\nvar $step6873 = 0;\nvar $elidedFrames6879 = 0;\nvar $ans6876 = D;\nvar $al6877 = L[3972];\nif(R.isAR($self6875)) {\n$step6873 = $self6875.step;\n$al6877 = $self6875.from;\n$ans6876 = $self6875.ans;\n$elidedFrames6879 = $self6875.elidedFrames;\nself6875 = $self6875.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3972],1,$t,true);\n}\nvar self6875 = $self6875;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6876 = R.mC();\n}\nwhile(!R.isContinuation($ans6876)) {\nswitch($step6873) {\ncase 0: $al6877 = L[3973];\nvar anf_method_obj6880 = G(self6875,\"loc\",L[3973]);\n$step6873 = 1;\n$ans6876 = R.maybeMethodCall1(anf_method_obj6880,\"format\",L[3974],(true));\nbreak;\ncase 1: var anf_arg6881 = $ans6876;\n$step6873 = 2;\n$al6877 = L[3976];\n// omitting isFunction check;\n$ans6876 = _plus5.app((\"app-args-missing-comma: \"),anf_arg6881);\nbreak;\ncase 2: var anf_arg6882 = $ans6876;\n$step6873 = 3;\n$al6877 = L[3975];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6877,ED6.dict.values.dict[\"text\"]);\n}\n$ans6876 = ED6.dict.values.dict[\"text\"].app(anf_arg6882);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6876;\ndefault: R.ffi.throwSpinnakerError(L[3972],$step6873);\n}\n}\nif($step6873 !== 3) {\n$ans6876.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6877,$temp_full6874,$step6873,[self6875],[],$elidedFrames6879);\n}\nreturn $ans6876;\n};\nvar anf_variant_member7041 = R.makeMethod0($temp_full6874,\"render-reason\");\nvar $temp_full6885 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3977($self6886) {\nvar $step6884 = 0;\nvar $elidedFrames6890 = 0;\nvar $ans6887 = D;\nvar $al6888 = L[3977];\nif(R.isAR($self6886)) {\n$step6884 = $self6886.step;\n$al6888 = $self6886.from;\n$ans6887 = $self6886.ans;\n$elidedFrames6890 = $self6886.elidedFrames;\nself6886 = $self6886.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3977],1,$t,true);\n}\nvar self6886 = $self6886;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6887 = R.mC();\n}\nwhile(!R.isContinuation($ans6887)) {\nswitch($step6884) {\ncase 0: $al6888 = L[3978];\nvar anf_method_obj6891 = G(self6886,\"loc\",L[3978]);\n$step6884 = 1;\n$ans6887 = R.maybeMethodCall1(anf_method_obj6891,\"format\",L[3979],(true));\nbreak;\ncase 1: var anf_arg6892 = $ans6887;\n$step6884 = 2;\n$al6888 = L[3981];\n// omitting isFunction check;\n$ans6887 = _plus5.app((\"missing-end: \"),anf_arg6892);\nbreak;\ncase 2: var anf_arg6893 = $ans6887;\n$step6884 = 3;\n$al6888 = L[3980];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6888,ED6.dict.values.dict[\"text\"]);\n}\n$ans6887 = ED6.dict.values.dict[\"text\"].app(anf_arg6893);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6887;\ndefault: R.ffi.throwSpinnakerError(L[3977],$step6884);\n}\n}\nif($step6884 !== 3) {\n$ans6887.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6888,$temp_full6885,$step6884,[self6886],[],$elidedFrames6890);\n}\nreturn $ans6887;\n};\nvar anf_variant_member7049 = R.makeMethod0($temp_full6885,\"render-reason\");\nvar $temp_full6896 = function _9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453__3982($self6897) {\nvar $step6895 = 0;\nvar $elidedFrames6901 = 0;\nvar $ans6898 = D;\nvar $al6899 = L[3982];\nif(R.isAR($self6897)) {\n$step6895 = $self6897.step;\n$al6899 = $self6897.from;\n$ans6898 = $self6897.ans;\n$elidedFrames6901 = $self6897.elidedFrames;\nself6897 = $self6897.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3982],1,$t,true);\n}\nvar self6897 = $self6897;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans6898 = R.mC();\n}\nwhile(!R.isContinuation($ans6898)) {\nswitch($step6895) {\ncase 0: $al6899 = L[3983];\nvar anf_method_obj6902 = G(self6897,\"loc\",L[3983]);\n$step6895 = 1;\n$ans6898 = R.maybeMethodCall1(anf_method_obj6902,\"format\",L[3984],(true));\nbreak;\ncase 1: var anf_arg6903 = $ans6898;\n$step6895 = 2;\n$al6899 = L[3986];\n// omitting isFunction check;\n$ans6898 = _plus5.app((\"missing-comma: \"),anf_arg6903);\nbreak;\ncase 2: var anf_arg6904 = $ans6898;\n$step6895 = 3;\n$al6899 = L[3985];\nif(typeof(ED6.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al6899,ED6.dict.values.dict[\"text\"]);\n}\n$ans6898 = ED6.dict.values.dict[\"text\"].app(anf_arg6904);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans6898;\ndefault: R.ffi.throwSpinnakerError(L[3982],$step6895);\n}\n}\nif($step6895 !== 3) {\n$ans6898.stack[R.EXN_STACKHEIGHT++] = R.mAR($al6899,$temp_full6896,$step6895,[self6897],[],$elidedFrames6901);\n}\nreturn $ans6898;\n};\nvar anf_variant_member7057 = R.makeMethod0($temp_full6896,\"render-reason\");\nvar $parse$error$bad$app_getfields6912 = function singleton_variant(f) {\nreturn f(this.dict[\"a\"],this.dict[\"b\"]);\n};\nvar $parse$error$bad$app_mutablemask6911 = [false,false];\nvar $parse$error$bad$app$base6906 = {\"$fieldNames\":[\"a\",\"b\"],\n\"render-fancy-reason\":anf_variant_member6909,\n\"render-reason\":anf_variant_member6910,\n\"_match\":R.mM(\"parse-error-bad-app\",2)};\nvar $parse$error$bad$app$brander6907 = R.nB(\"parse-error-bad-app\",L[3987]);\nvar $parse$error$bad$app$brands6908 = {};\n$parse$error$bad$app$brands6908[ParseError25._brand] = true;\n$parse$error$bad$app$brands6908[$parse$error$bad$app$brander6907._brand] = true;\nvar parse$error$bad$app6913 = R.mVC(L[3987],function $synthesizedConstructor_$parse$error$bad$app$base() {\nreturn [];\n},[],[],[false,false],[\"a6914\",\"b6915\"],$parse$error$bad$app_mutablemask6911,$parse$error$bad$app$base6906,$parse$error$bad$app$brands6908,\"parse-error-bad-app\",$parse$error$bad$app_getfields6912,$parse$error$bad$app$base6906);\nvar $parse$error$bad$fun$header_getfields6922 = function singleton_variant(f) {\nreturn f(this.dict[\"a\"],this.dict[\"b\"]);\n};\nvar $parse$error$bad$fun$header_mutablemask6921 = [false,false];\nvar $parse$error$bad$fun$header$base6916 = {\"$fieldNames\":[\"a\",\"b\"],\n\"render-fancy-reason\":anf_variant_member6919,\n\"render-reason\":anf_variant_member6920,\n\"_match\":R.mM(\"parse-error-bad-fun-header\",2)};\nvar $parse$error$bad$fun$header$brander6917 = R.nB(\"parse-error-bad-fun-header\",L[3988]);\nvar $parse$error$bad$fun$header$brands6918 = {};\n$parse$error$bad$fun$header$brands6918[ParseError25._brand] = true;\n$parse$error$bad$fun$header$brands6918[$parse$error$bad$fun$header$brander6917._brand] = true;\nvar parse$error$bad$fun$header6923 = R.mVC(L[3988],function $synthesizedConstructor_$parse$error$bad$fun$header$base() {\nreturn [];\n},[],[],[false,false],[\"a6924\",\"b6925\"],$parse$error$bad$fun$header_mutablemask6921,$parse$error$bad$fun$header$base6916,$parse$error$bad$fun$header$brands6918,\"parse-error-bad-fun-header\",$parse$error$bad$fun$header_getfields6922,$parse$error$bad$fun$header$base6916);\nvar $parse$error$next$token_getfields6932 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"next-token\"]);\n};\nvar $parse$error$next$token_mutablemask6931 = [false,false];\nvar $parse$error$next$token$base6926 = {\"$fieldNames\":[\"loc\",\"next-token\"],\n\"render-fancy-reason\":anf_variant_member6929,\n\"render-reason\":anf_variant_member6930,\n\"_match\":R.mM(\"parse-error-next-token\",2)};\nvar $parse$error$next$token$brander6927 = R.nB(\"parse-error-next-token\",L[3989]);\nvar $parse$error$next$token$brands6928 = {};\n$parse$error$next$token$brands6928[ParseError25._brand] = true;\n$parse$error$next$token$brands6928[$parse$error$next$token$brander6927._brand] = true;\nvar parse$error$next$token6933 = R.mVC(L[3989],function $synthesizedConstructor_$parse$error$next$token$base() {\nreturn [$type$String8];\n},[\"next$token6934\"],[L[3990]],[false,false],[\"loc6935\",\"next$token6934\"],$parse$error$next$token_mutablemask6931,$parse$error$next$token$base6926,$parse$error$next$token$brands6928,\"parse-error-next-token\",$parse$error$next$token_getfields6932,$parse$error$next$token$base6926);\nvar $parse$error$colon$colon_getfields6942 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$colon$colon_mutablemask6941 = [false];\nvar $parse$error$colon$colon$base6936 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6939,\n\"render-reason\":anf_variant_member6940,\n\"_match\":R.mM(\"parse-error-colon-colon\",1)};\nvar $parse$error$colon$colon$brander6937 = R.nB(\"parse-error-colon-colon\",L[3991]);\nvar $parse$error$colon$colon$brands6938 = {};\n$parse$error$colon$colon$brands6938[ParseError25._brand] = true;\n$parse$error$colon$colon$brands6938[$parse$error$colon$colon$brander6937._brand] = true;\nvar parse$error$colon$colon6943 = R.mVC(L[3991],function $synthesizedConstructor_$parse$error$colon$colon$base() {\nreturn [];\n},[],[],[false],[\"loc6944\"],$parse$error$colon$colon_mutablemask6941,$parse$error$colon$colon$base6936,$parse$error$colon$colon$brands6938,\"parse-error-colon-colon\",$parse$error$colon$colon_getfields6942,$parse$error$colon$colon$base6936);\nvar $parse$error$eof_getfields6951 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$eof_mutablemask6950 = [false];\nvar $parse$error$eof$base6945 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6948,\n\"render-reason\":anf_variant_member6949,\n\"_match\":R.mM(\"parse-error-eof\",1)};\nvar $parse$error$eof$brander6946 = R.nB(\"parse-error-eof\",L[3992]);\nvar $parse$error$eof$brands6947 = {};\n$parse$error$eof$brands6947[ParseError25._brand] = true;\n$parse$error$eof$brands6947[$parse$error$eof$brander6946._brand] = true;\nvar parse$error$eof6952 = R.mVC(L[3992],function $synthesizedConstructor_$parse$error$eof$base() {\nreturn [];\n},[],[],[false],[\"loc6953\"],$parse$error$eof_mutablemask6950,$parse$error$eof$base6945,$parse$error$eof$brands6947,\"parse-error-eof\",$parse$error$eof_getfields6951,$parse$error$eof$base6945);\nvar $parse$error$unterminated$string_getfields6960 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$unterminated$string_mutablemask6959 = [false];\nvar $parse$error$unterminated$string$base6954 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6957,\n\"render-reason\":anf_variant_member6958,\n\"_match\":R.mM(\"parse-error-unterminated-string\",1)};\nvar $parse$error$unterminated$string$brander6955 = R.nB(\"parse-error-unterminated-string\",L[3993]);\nvar $parse$error$unterminated$string$brands6956 = {};\n$parse$error$unterminated$string$brands6956[ParseError25._brand] = true;\n$parse$error$unterminated$string$brands6956[$parse$error$unterminated$string$brander6955._brand] = true;\nvar parse$error$unterminated$string6961 = R.mVC(L[3993],function $synthesizedConstructor_$parse$error$unterminated$string$base() {\nreturn [];\n},[],[],[false],[\"loc6962\"],$parse$error$unterminated$string_mutablemask6959,$parse$error$unterminated$string$base6954,$parse$error$unterminated$string$brands6956,\"parse-error-unterminated-string\",$parse$error$unterminated$string_getfields6960,$parse$error$unterminated$string$base6954);\nvar $parse$error$bad$operator_getfields6969 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$bad$operator_mutablemask6968 = [false];\nvar $parse$error$bad$operator$base6963 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6966,\n\"render-reason\":anf_variant_member6967,\n\"_match\":R.mM(\"parse-error-bad-operator\",1)};\nvar $parse$error$bad$operator$brander6964 = R.nB(\"parse-error-bad-operator\",L[3994]);\nvar $parse$error$bad$operator$brands6965 = {};\n$parse$error$bad$operator$brands6965[ParseError25._brand] = true;\n$parse$error$bad$operator$brands6965[$parse$error$bad$operator$brander6964._brand] = true;\nvar parse$error$bad$operator6970 = R.mVC(L[3994],function $synthesizedConstructor_$parse$error$bad$operator$base() {\nreturn [];\n},[],[],[false],[\"loc6971\"],$parse$error$bad$operator_mutablemask6968,$parse$error$bad$operator$base6963,$parse$error$bad$operator$brands6965,\"parse-error-bad-operator\",$parse$error$bad$operator_getfields6969,$parse$error$bad$operator$base6963);\nvar $parse$error$bad$number_getfields6978 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $parse$error$bad$number_mutablemask6977 = [false];\nvar $parse$error$bad$number$base6972 = {\"$fieldNames\":[\"loc\"],\n\"render-fancy-reason\":anf_variant_member6975,\n\"render-reason\":anf_variant_member6976,\n\"_match\":R.mM(\"parse-error-bad-number\",1)};\nvar $parse$error$bad$number$brander6973 = R.nB(\"parse-error-bad-number\",L[3995]);\nvar $parse$error$bad$number$brands6974 = {};\n$parse$error$bad$number$brands6974[ParseError25._brand] = true;\n$parse$error$bad$number$brands6974[$parse$error$bad$number$brander6973._brand] = true;\nvar parse$error$bad$number6979 = R.mVC(L[3995],function $synthesizedConstructor_$parse$error$bad$number$base() {\nreturn [];\n},[],[],[false],[\"loc6980\"],$parse$error$bad$number_mutablemask6977,$parse$error$bad$number$base6972,$parse$error$bad$number$brands6974,\"parse-error-bad-number\",$parse$error$bad$number_getfields6978,$parse$error$bad$number$base6972);\nvar $parse$error$bad$check$operator_getfields6987 = function singleton_variant(f) {\nreturn f(this.dict[\"op\"]);\n};\nvar $parse$error$bad$check$operator_mutablemask6986 = [false];\nvar $parse$error$bad$check$operator$base6981 = {\"$fieldNames\":[\"op\"],\n\"render-fancy-reason\":anf_variant_member6984,\n\"render-reason\":anf_variant_member6985,\n\"_match\":R.mM(\"parse-error-bad-check-operator\",1)};\nvar $parse$error$bad$check$operator$brander6982 = R.nB(\"parse-error-bad-check-operator\",L[3996]);\nvar $parse$error$bad$check$operator$brands6983 = {};\n$parse$error$bad$check$operator$brands6983[ParseError25._brand] = true;\n$parse$error$bad$check$operator$brands6983[$parse$error$bad$check$operator$brander6982._brand] = true;\nvar parse$error$bad$check$operator6988 = R.mVC(L[3996],function $synthesizedConstructor_$parse$error$bad$check$operator$base() {\nreturn [];\n},[],[],[false],[\"op6989\"],$parse$error$bad$check$operator_mutablemask6986,$parse$error$bad$check$operator$base6981,$parse$error$bad$check$operator$brands6983,\"parse-error-bad-check-operator\",$parse$error$bad$check$operator_getfields6987,$parse$error$bad$check$operator$base6981);\nvar $empty$block_getfields6995 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $empty$block_mutablemask6994 = [false];\nvar $empty$block$base6990 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member6993,\n\"_match\":R.mM(\"empty-block\",1)};\nvar $empty$block$brander6991 = R.nB(\"empty-block\",L[3997]);\nvar $empty$block$brands6992 = {};\n$empty$block$brands6992[ParseError25._brand] = true;\n$empty$block$brands6992[$empty$block$brander6991._brand] = true;\nvar empty$block6996 = R.mVC(L[3997],function $synthesizedConstructor_$empty$block$base() {\nreturn [];\n},[],[],[false],[\"loc6997\"],$empty$block_mutablemask6994,$empty$block$base6990,$empty$block$brands6992,\"empty-block\",$empty$block_getfields6995,$empty$block$base6990);\nvar $bad$block$stmt_getfields7003 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $bad$block$stmt_mutablemask7002 = [false];\nvar $bad$block$stmt$base6998 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7001,\n\"_match\":R.mM(\"bad-block-stmt\",1)};\nvar $bad$block$stmt$brander6999 = R.nB(\"bad-block-stmt\",L[3998]);\nvar $bad$block$stmt$brands7000 = {};\n$bad$block$stmt$brands7000[ParseError25._brand] = true;\n$bad$block$stmt$brands7000[$bad$block$stmt$brander6999._brand] = true;\nvar bad$block$stmt7004 = R.mVC(L[3998],function $synthesizedConstructor_$bad$block$stmt$base() {\nreturn [];\n},[],[],[false],[\"loc7005\"],$bad$block$stmt_mutablemask7002,$bad$block$stmt$base6998,$bad$block$stmt$brands7000,\"bad-block-stmt\",$bad$block$stmt_getfields7003,$bad$block$stmt$base6998);\nvar $bad$check$block$stmt_getfields7011 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $bad$check$block$stmt_mutablemask7010 = [false];\nvar $bad$check$block$stmt$base7006 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7009,\n\"_match\":R.mM(\"bad-check-block-stmt\",1)};\nvar $bad$check$block$stmt$brander7007 = R.nB(\"bad-check-block-stmt\",L[3999]);\nvar $bad$check$block$stmt$brands7008 = {};\n$bad$check$block$stmt$brands7008[ParseError25._brand] = true;\n$bad$check$block$stmt$brands7008[$bad$check$block$stmt$brander7007._brand] = true;\nvar bad$check$block$stmt7012 = R.mVC(L[3999],function $synthesizedConstructor_$bad$check$block$stmt$base() {\nreturn [];\n},[],[],[false],[\"loc7013\"],$bad$check$block$stmt_mutablemask7010,$bad$check$block$stmt$base7006,$bad$check$block$stmt$brands7008,\"bad-check-block-stmt\",$bad$check$block$stmt_getfields7011,$bad$check$block$stmt$base7006);\nvar $fun$missing$colon_getfields7019 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $fun$missing$colon_mutablemask7018 = [false];\nvar $fun$missing$colon$base7014 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7017,\n\"_match\":R.mM(\"fun-missing-colon\",1)};\nvar $fun$missing$colon$brander7015 = R.nB(\"fun-missing-colon\",L[4000]);\nvar $fun$missing$colon$brands7016 = {};\n$fun$missing$colon$brands7016[ParseError25._brand] = true;\n$fun$missing$colon$brands7016[$fun$missing$colon$brander7015._brand] = true;\nvar fun$missing$colon7020 = R.mVC(L[4000],function $synthesizedConstructor_$fun$missing$colon$base() {\nreturn [];\n},[],[],[false],[\"loc7021\"],$fun$missing$colon_mutablemask7018,$fun$missing$colon$base7014,$fun$missing$colon$brands7016,\"fun-missing-colon\",$fun$missing$colon_getfields7019,$fun$missing$colon$base7014);\nvar $fun$missing$end_getfields7027 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $fun$missing$end_mutablemask7026 = [false];\nvar $fun$missing$end$base7022 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7025,\n\"_match\":R.mM(\"fun-missing-end\",1)};\nvar $fun$missing$end$brander7023 = R.nB(\"fun-missing-end\",L[4001]);\nvar $fun$missing$end$brands7024 = {};\n$fun$missing$end$brands7024[ParseError25._brand] = true;\n$fun$missing$end$brands7024[$fun$missing$end$brander7023._brand] = true;\nvar fun$missing$end7028 = R.mVC(L[4001],function $synthesizedConstructor_$fun$missing$end$base() {\nreturn [];\n},[],[],[false],[\"loc7029\"],$fun$missing$end_mutablemask7026,$fun$missing$end$base7022,$fun$missing$end$brands7024,\"fun-missing-end\",$fun$missing$end_getfields7027,$fun$missing$end$base7022);\nvar $args$missing$comma_getfields7035 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $args$missing$comma_mutablemask7034 = [false];\nvar $args$missing$comma$base7030 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7033,\n\"_match\":R.mM(\"args-missing-comma\",1)};\nvar $args$missing$comma$brander7031 = R.nB(\"args-missing-comma\",L[4002]);\nvar $args$missing$comma$brands7032 = {};\n$args$missing$comma$brands7032[ParseError25._brand] = true;\n$args$missing$comma$brands7032[$args$missing$comma$brander7031._brand] = true;\nvar args$missing$comma7036 = R.mVC(L[4002],function $synthesizedConstructor_$args$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7037\"],$args$missing$comma_mutablemask7034,$args$missing$comma$base7030,$args$missing$comma$brands7032,\"args-missing-comma\",$args$missing$comma_getfields7035,$args$missing$comma$base7030);\nvar $app$args$missing$comma_getfields7043 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $app$args$missing$comma_mutablemask7042 = [false];\nvar $app$args$missing$comma$base7038 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7041,\n\"_match\":R.mM(\"app-args-missing-comma\",1)};\nvar $app$args$missing$comma$brander7039 = R.nB(\"app-args-missing-comma\",L[4003]);\nvar $app$args$missing$comma$brands7040 = {};\n$app$args$missing$comma$brands7040[ParseError25._brand] = true;\n$app$args$missing$comma$brands7040[$app$args$missing$comma$brander7039._brand] = true;\nvar app$args$missing$comma7044 = R.mVC(L[4003],function $synthesizedConstructor_$app$args$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7045\"],$app$args$missing$comma_mutablemask7042,$app$args$missing$comma$base7038,$app$args$missing$comma$brands7040,\"app-args-missing-comma\",$app$args$missing$comma_getfields7043,$app$args$missing$comma$base7038);\nvar $missing$end_getfields7051 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $missing$end_mutablemask7050 = [false];\nvar $missing$end$base7046 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7049,\n\"_match\":R.mM(\"missing-end\",1)};\nvar $missing$end$brander7047 = R.nB(\"missing-end\",L[4004]);\nvar $missing$end$brands7048 = {};\n$missing$end$brands7048[ParseError25._brand] = true;\n$missing$end$brands7048[$missing$end$brander7047._brand] = true;\nvar missing$end7052 = R.mVC(L[4004],function $synthesizedConstructor_$missing$end$base() {\nreturn [];\n},[],[],[false],[\"loc7053\"],$missing$end_mutablemask7050,$missing$end$base7046,$missing$end$brands7048,\"missing-end\",$missing$end_getfields7051,$missing$end$base7046);\nvar $missing$comma_getfields7059 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $missing$comma_mutablemask7058 = [false];\nvar $missing$comma$base7054 = {\"$fieldNames\":[\"loc\"],\n\"render-reason\":anf_variant_member7057,\n\"_match\":R.mM(\"missing-comma\",1)};\nvar $missing$comma$brander7055 = R.nB(\"missing-comma\",L[4005]);\nvar $missing$comma$brands7056 = {};\n$missing$comma$brands7056[ParseError25._brand] = true;\n$missing$comma$brands7056[$missing$comma$brander7055._brand] = true;\nvar missing$comma7060 = R.mVC(L[4005],function $synthesizedConstructor_$missing$comma$base() {\nreturn [];\n},[],[],[false],[\"loc7061\"],$missing$comma_mutablemask7058,$missing$comma$base7054,$missing$comma$brands7056,\"missing-comma\",$missing$comma_getfields7059,$missing$comma$base7054);\nvar anf_assign7062 = R.mO({\"ParseError\":G(ParseError25,\"test\",L[4006]),\n\"is-parse-error-bad-app\":G($parse$error$bad$app$brander6907,\"test\",L[3987]),\n\"parse-error-bad-app\":parse$error$bad$app6913,\n\"is-parse-error-bad-fun-header\":G($parse$error$bad$fun$header$brander6917,\"test\",L[3988]),\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header6923,\n\"is-parse-error-next-token\":G($parse$error$next$token$brander6927,\"test\",L[3989]),\n\"parse-error-next-token\":parse$error$next$token6933,\n\"is-parse-error-colon-colon\":G($parse$error$colon$colon$brander6937,\"test\",L[3991]),\n\"parse-error-colon-colon\":parse$error$colon$colon6943,\n\"is-parse-error-eof\":G($parse$error$eof$brander6946,\"test\",L[3992]),\n\"parse-error-eof\":parse$error$eof6952,\n\"is-parse-error-unterminated-string\":G($parse$error$unterminated$string$brander6955,\"test\",L[3993]),\n\"parse-error-unterminated-string\":parse$error$unterminated$string6961,\n\"is-parse-error-bad-operator\":G($parse$error$bad$operator$brander6964,\"test\",L[3994]),\n\"parse-error-bad-operator\":parse$error$bad$operator6970,\n\"is-parse-error-bad-number\":G($parse$error$bad$number$brander6973,\"test\",L[3995]),\n\"parse-error-bad-number\":parse$error$bad$number6979,\n\"is-parse-error-bad-check-operator\":G($parse$error$bad$check$operator$brander6982,\"test\",L[3996]),\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator6988,\n\"is-empty-block\":G($empty$block$brander6991,\"test\",L[3997]),\n\"empty-block\":empty$block6996,\n\"is-bad-block-stmt\":G($bad$block$stmt$brander6999,\"test\",L[3998]),\n\"bad-block-stmt\":bad$block$stmt7004,\n\"is-bad-check-block-stmt\":G($bad$check$block$stmt$brander7007,\"test\",L[3999]),\n\"bad-check-block-stmt\":bad$check$block$stmt7012,\n\"is-fun-missing-colon\":G($fun$missing$colon$brander7015,\"test\",L[4000]),\n\"fun-missing-colon\":fun$missing$colon7020,\n\"is-fun-missing-end\":G($fun$missing$end$brander7023,\"test\",L[4001]),\n\"fun-missing-end\":fun$missing$end7028,\n\"is-args-missing-comma\":G($args$missing$comma$brander7031,\"test\",L[4002]),\n\"args-missing-comma\":args$missing$comma7036,\n\"is-app-args-missing-comma\":G($app$args$missing$comma$brander7039,\"test\",L[4003]),\n\"app-args-missing-comma\":app$args$missing$comma7044,\n\"is-missing-end\":G($missing$end$brander7047,\"test\",L[4004]),\n\"missing-end\":missing$end7052,\n\"is-missing-comma\":G($missing$comma$brander7055,\"test\",L[4005]),\n\"missing-comma\":missing$comma7060});\nParseError7063.$var = anf_assign7062;\nR.nothing;\n$al21 = L[4006];\nvar anf_assign7064 = G(ParseError7063.$var,\"ParseError\",L[4006]);\nis$ParseError7065.$var = anf_assign7064;\nR.nothing;\n$al21 = L[3987];\nvar anf_assign7066 = G(ParseError7063.$var,\"is-parse-error-bad-app\",L[3987]);\nis$parse$error$bad$app7067.$var = anf_assign7066;\nR.nothing;\n$al21 = L[3987];\nvar anf_assign7068 = G(ParseError7063.$var,\"parse-error-bad-app\",L[3987]);\nparse$error$bad$app7069.$var = anf_assign7068;\nR.nothing;\n$al21 = L[3988];\nvar anf_assign7070 = G(ParseError7063.$var,\"is-parse-error-bad-fun-header\",L[3988]);\nis$parse$error$bad$fun$header7071.$var = anf_assign7070;\nR.nothing;\n$al21 = L[3988];\nvar anf_assign7072 = G(ParseError7063.$var,\"parse-error-bad-fun-header\",L[3988]);\nparse$error$bad$fun$header7073.$var = anf_assign7072;\nR.nothing;\n$al21 = L[3989];\nvar anf_assign7074 = G(ParseError7063.$var,\"is-parse-error-next-token\",L[3989]);\nis$parse$error$next$token7075.$var = anf_assign7074;\nR.nothing;\n$al21 = L[3989];\nvar anf_assign7076 = G(ParseError7063.$var,\"parse-error-next-token\",L[3989]);\nparse$error$next$token7077.$var = anf_assign7076;\nR.nothing;\n$al21 = L[3991];\nvar anf_assign7078 = G(ParseError7063.$var,\"is-parse-error-colon-colon\",L[3991]);\nis$parse$error$colon$colon7079.$var = anf_assign7078;\nR.nothing;\n$al21 = L[3991];\nvar anf_assign7080 = G(ParseError7063.$var,\"parse-error-colon-colon\",L[3991]);\nparse$error$colon$colon7081.$var = anf_assign7080;\nR.nothing;\n$al21 = L[3992];\nvar anf_assign7082 = G(ParseError7063.$var,\"is-parse-error-eof\",L[3992]);\nis$parse$error$eof7083.$var = anf_assign7082;\nR.nothing;\n$al21 = L[3992];\nvar anf_assign7084 = G(ParseError7063.$var,\"parse-error-eof\",L[3992]);\nparse$error$eof7085.$var = anf_assign7084;\nR.nothing;\n$al21 = L[3993];\nvar anf_assign7086 = G(ParseError7063.$var,\"is-parse-error-unterminated-string\",L[3993]);\nis$parse$error$unterminated$string7087.$var = anf_assign7086;\nR.nothing;\n$al21 = L[3993];\nvar anf_assign7088 = G(ParseError7063.$var,\"parse-error-unterminated-string\",L[3993]);\nparse$error$unterminated$string7089.$var = anf_assign7088;\nR.nothing;\n$al21 = L[3994];\nvar anf_assign7090 = G(ParseError7063.$var,\"is-parse-error-bad-operator\",L[3994]);\nis$parse$error$bad$operator7091.$var = anf_assign7090;\nR.nothing;\n$al21 = L[3994];\nvar anf_assign7092 = G(ParseError7063.$var,\"parse-error-bad-operator\",L[3994]);\nparse$error$bad$operator7093.$var = anf_assign7092;\nR.nothing;\n$al21 = L[3995];\nvar anf_assign7094 = G(ParseError7063.$var,\"is-parse-error-bad-number\",L[3995]);\nis$parse$error$bad$number7095.$var = anf_assign7094;\nR.nothing;\n$al21 = L[3995];\nvar anf_assign7096 = G(ParseError7063.$var,\"parse-error-bad-number\",L[3995]);\nparse$error$bad$number7097.$var = anf_assign7096;\nR.nothing;\n$al21 = L[3996];\nvar anf_assign7098 = G(ParseError7063.$var,\"is-parse-error-bad-check-operator\",L[3996]);\nis$parse$error$bad$check$operator7099.$var = anf_assign7098;\nR.nothing;\n$al21 = L[3996];\nvar anf_assign7100 = G(ParseError7063.$var,\"parse-error-bad-check-operator\",L[3996]);\nparse$error$bad$check$operator7101.$var = anf_assign7100;\nR.nothing;\n$al21 = L[3997];\nvar anf_assign7102 = G(ParseError7063.$var,\"is-empty-block\",L[3997]);\nis$empty$block7103.$var = anf_assign7102;\nR.nothing;\n$al21 = L[3997];\nvar anf_assign7104 = G(ParseError7063.$var,\"empty-block\",L[3997]);\nempty$block7105.$var = anf_assign7104;\nR.nothing;\n$al21 = L[3998];\nvar anf_assign7106 = G(ParseError7063.$var,\"is-bad-block-stmt\",L[3998]);\nis$bad$block$stmt7107.$var = anf_assign7106;\nR.nothing;\n$al21 = L[3998];\nvar anf_assign7108 = G(ParseError7063.$var,\"bad-block-stmt\",L[3998]);\nbad$block$stmt7109.$var = anf_assign7108;\nR.nothing;\n$al21 = L[3999];\nvar anf_assign7110 = G(ParseError7063.$var,\"is-bad-check-block-stmt\",L[3999]);\nis$bad$check$block$stmt7111.$var = anf_assign7110;\nR.nothing;\n$al21 = L[3999];\nvar anf_assign7112 = G(ParseError7063.$var,\"bad-check-block-stmt\",L[3999]);\nbad$check$block$stmt7113.$var = anf_assign7112;\nR.nothing;\n$al21 = L[4000];\nvar anf_assign7114 = G(ParseError7063.$var,\"is-fun-missing-colon\",L[4000]);\nis$fun$missing$colon7115.$var = anf_assign7114;\nR.nothing;\n$al21 = L[4000];\nvar anf_assign7116 = G(ParseError7063.$var,\"fun-missing-colon\",L[4000]);\nfun$missing$colon7117.$var = anf_assign7116;\nR.nothing;\n$al21 = L[4001];\nvar anf_assign7118 = G(ParseError7063.$var,\"is-fun-missing-end\",L[4001]);\nis$fun$missing$end7119.$var = anf_assign7118;\nR.nothing;\n$al21 = L[4001];\nvar anf_assign7120 = G(ParseError7063.$var,\"fun-missing-end\",L[4001]);\nfun$missing$end7121.$var = anf_assign7120;\nR.nothing;\n$al21 = L[4002];\nvar anf_assign7122 = G(ParseError7063.$var,\"is-args-missing-comma\",L[4002]);\nis$args$missing$comma7123.$var = anf_assign7122;\nR.nothing;\n$al21 = L[4002];\nvar anf_assign7124 = G(ParseError7063.$var,\"args-missing-comma\",L[4002]);\nargs$missing$comma7125.$var = anf_assign7124;\nR.nothing;\n$al21 = L[4003];\nvar anf_assign7126 = G(ParseError7063.$var,\"is-app-args-missing-comma\",L[4003]);\nis$app$args$missing$comma7127.$var = anf_assign7126;\nR.nothing;\n$al21 = L[4003];\nvar anf_assign7128 = G(ParseError7063.$var,\"app-args-missing-comma\",L[4003]);\napp$args$missing$comma7129.$var = anf_assign7128;\nR.nothing;\n$al21 = L[4004];\nvar anf_assign7130 = G(ParseError7063.$var,\"is-missing-end\",L[4004]);\nis$missing$end7131.$var = anf_assign7130;\nR.nothing;\n$al21 = L[4004];\nvar anf_assign7132 = G(ParseError7063.$var,\"missing-end\",L[4004]);\nmissing$end7133.$var = anf_assign7132;\nR.nothing;\n$al21 = L[4005];\nvar anf_assign7134 = G(ParseError7063.$var,\"is-missing-comma\",L[4005]);\nis$missing$comma7135.$var = anf_assign7134;\nR.nothing;\n$al21 = L[4005];\nvar anf_assign7136 = G(ParseError7063.$var,\"missing-comma\",L[4005]);\nmissing$comma7137.$var = anf_assign7136;\nR.nothing;\n$step16 = 1;\n$ans20 = R.maybeMethodCall2(builtins1,\"trace-value\",L[4007],L[4007],nothing2);\nbreak;\ncase 1: var answer7141 = $ans20;\n$step16 = 2;\n$ans20 = R.maybeMethodCall0(builtins1,\"current-checker\",L[3495]);\nbreak;\ncase 2: var anf_method_obj7138 = $ans20;\n$step16 = 3;\n$ans20 = R.maybeMethodCall0(anf_method_obj7138,\"results\",L[3495]);\nbreak;\ncase 3: var checks7142 = $ans20;\n$step16 = 4;\n$ans20 = R.mO({\"answer\":answer7141,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"O\":O8,\n\"S\":S9,\n\"ED\":ED6,\n\"VS\":VS10},\n\"defined-values\":{\"is-user-break\":is$user$break6264.$var,\n\"is-numeric-binop-error\":is$numeric$binop$error6208.$var,\n\"is-parse-error-unterminated-string\":is$parse$error$unterminated$string7087.$var,\n\"is-args-missing-comma\":is$args$missing$comma7123.$var,\n\"is-module-load-failure\":is$module$load$failure6244.$var,\n\"is-arity-mismatch\":is$arity$mismatch6224.$var,\n\"is-parse-error-next-token\":is$parse$error$next$token7075.$var,\n\"is-exit\":is$exit6272.$var,\n\"is-update-non-existent-field\":is$update$non$existent$field6132.$var,\n\"non-tuple-bind\":non$tuple$bind6178.$var,\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header7073.$var,\n\"row-length-mismatch\":row$length$mismatch6230.$var,\n\"is-fun-missing-end\":is$fun$missing$end7119.$var,\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor6162.$var,\n\"numeric-binop-error\":numeric$binop$error6210.$var,\n\"parse-error-unterminated-string\":parse$error$unterminated$string7089.$var,\n\"module-load-failure\":module$load$failure6246.$var,\n\"sample-error\":sample$error6114.$var,\n\"is-invalid-array-index\":is$invalid$array$index6248.$var,\n\"exit-quiet\":exit$quiet6278.$var,\n\"is-non-tuple-bind\":is$non$tuple$bind6176.$var,\n\"is-parse-error-bad-fun-header\":is$parse$error$bad$fun$header7071.$var,\n\"is-col-length-mismatch\":is$col$length$mismatch6232.$var,\n\"update-non-existent-field\":update$non$existent$field6134.$var,\n\"is-message-exception\":is$message$exception6116.$var,\n\"fun-missing-end\":fun$missing$end7121.$var,\n\"non-boolean-op\":non$boolean$op6198.$var,\n\"is-constructor-syntax-non-constructor\":is$constructor$syntax$non$constructor6160.$var,\n\"is-update-frozen-ref\":is$update$frozen$ref6124.$var,\n\"is-fun-missing-colon\":is$fun$missing$colon7115.$var,\n\"is-generic-type-mismatch\":is$generic$type$mismatch6200.$var,\n\"is-exit-quiet\":is$exit$quiet6276.$var,\n\"invalid-array-index\":invalid$array$index6250.$var,\n\"cases-arity-mismatch\":cases$arity$mismatch6218.$var,\n\"col-length-mismatch\":col$length$mismatch6234.$var,\n\"is-sample-error\":is$sample$error6112.$var,\n\"message-exception\":message$exception6118.$var,\n\"is-non-boolean-op\":is$non$boolean$op6196.$var,\n\"fun-missing-colon\":fun$missing$colon7117.$var,\n\"bad-tuple-bind\":bad$tuple$bind6182.$var,\n\"app-args-missing-comma\":app$args$missing$comma7129.$var,\n\"update-frozen-ref\":update$frozen$ref6126.$var,\n\"is-empty-block\":is$empty$block7103.$var,\n\"is-missing-comma\":is$missing$comma7135.$var,\n\"generic-type-mismatch\":generic$type$mismatch6202.$var,\n\"parse-error-bad-operator\":parse$error$bad$operator7093.$var,\n\"is-cases-arity-mismatch\":is$cases$arity$mismatch6216.$var,\n\"non-function-app\":non$function$app6238.$var,\n\"empty-block\":empty$block7105.$var,\n\"user-exception\":user$exception6270.$var,\n\"is-bad-tuple-bind\":is$bad$tuple$bind6180.$var,\n\"uninitialized-id\":uninitialized$id6242.$var,\n\"is-app-args-missing-comma\":is$app$args$missing$comma7127.$var,\n\"lookup-large-index\":lookup$large$index6174.$var,\n\"no-cases-matched\":no$cases$matched6138.$var,\n\"is-parse-error-bad-operator\":is$parse$error$bad$operator7091.$var,\n\"num-string-binop-error\":num$string$binop$error6206.$var,\n\"missing-comma\":missing$comma7137.$var,\n\"update-non-ref\":update$non$ref6130.$var,\n\"is-extend-non-object\":is$extend$non$object6188.$var,\n\"is-lookup-non-object\":is$lookup$non$object6184.$var,\n\"is-parse-error-colon-colon\":is$parse$error$colon$colon7079.$var,\n\"is-non-function-app\":is$non$function$app6236.$var,\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator7101.$var,\n\"is-lookup-large-index\":is$lookup$large$index6172.$var,\n\"parse-error-bad-number\":parse$error$bad$number7097.$var,\n\"is-no-branches-matched\":is$no$branches$matched6140.$var,\n\"is-user-exception\":is$user$exception6268.$var,\n\"bad-block-stmt\":bad$block$stmt7109.$var,\n\"is-uninitialized-id\":is$uninitialized$id6240.$var,\n\"is-multi-error\":is$multi$error6108.$var,\n\"constructor-arity-mismatch\":constructor$arity$mismatch6222.$var,\n\"column-not-found\":column$not$found6258.$var,\n\"is-num-string-binop-error\":is$num$string$binop$error6204.$var,\n\"is-missing-end\":is$missing$end7131.$var,\n\"is-no-cases-matched\":is$no$cases$matched6136.$var,\n\"is-field-not-found\":is$field$not$found6156.$var,\n\"lookup-non-object\":lookup$non$object6186.$var,\n\"and-maybe\":and$maybe193.$var,\n\"parse-error-colon-colon\":parse$error$colon$colon7081.$var,\n\"extend-non-object\":extend$non$object6190.$var,\n\"is-update-non-ref\":is$update$non$ref6128.$var,\n\"no-branches-matched\":no$branches$matched6142.$var,\n\"and-if\":and$if176.$var,\n\"is-RuntimeError\":is$RuntimeError6106.$var,\n\"update-non-obj\":update$non$obj6122.$var,\n\"is-parse-error-bad-check-operator\":is$parse$error$bad$check$operator7099.$var,\n\"horz-list-values\":horz$list$values80.$var,\n\"is-non-boolean-condition\":is$non$boolean$condition6192.$var,\n\"is-parse-error-bad-number\":is$parse$error$bad$number7095.$var,\n\"is-bad-block-stmt\":is$bad$block$stmt7107.$var,\n\"multi-error\":multi$error6110.$var,\n\"is-column-not-found\":is$column$not$found6256.$var,\n\"is-constructor-arity-mismatch\":is$constructor$arity$mismatch6220.$var,\n\"missing-end\":missing$end7133.$var,\n\"lookup-non-tuple\":lookup$non$tuple6170.$var,\n\"vert-list-values\":vert$list$values58.$var,\n\"field-not-found\":field$not$found6158.$var,\n\"draw-and-highlight\":draw$and$highlight36.$var,\n\"bad-check-block-stmt\":bad$check$block$stmt7113.$var,\n\"non-boolean-condition\":non$boolean$condition6194.$var,\n\"is-update-non-obj\":is$update$non$obj6120.$var,\n\"is-parse-error-bad-app\":is$parse$error$bad$app7067.$var,\n\"equality-failure\":equality$failure6254.$var,\n\"is-bad-check-block-stmt\":is$bad$check$block$stmt7111.$var,\n\"duplicate-column\":duplicate$column6262.$var,\n\"is-lookup-non-tuple\":is$lookup$non$tuple6168.$var,\n\"internal-error\":internal$error6146.$var,\n\"is-ParseError\":is$ParseError7065.$var,\n\"cases-singleton-mismatch\":cases$singleton$mismatch6214.$var,\n\"is-equality-failure\":is$equality$failure6252.$var,\n\"is-parse-error-eof\":is$parse$error$eof7083.$var,\n\"parse-error-bad-app\":parse$error$bad$app7069.$var,\n\"is-duplicate-column\":is$duplicate$column6260.$var,\n\"is-spinnaker-error\":is$spinnaker$error6148.$var,\n\"is-internal-error\":is$internal$error6144.$var,\n\"is-template-not-finished\":is$template$not$finished6152.$var,\n\"is-lookup-constructor-not-object\":is$lookup$constructor$not$object6164.$var,\n\"user-break\":user$break6266.$var,\n\"parse-error-eof\":parse$error$eof7085.$var,\n\"is-cases-singleton-mismatch\":is$cases$singleton$mismatch6212.$var,\n\"please-report-bug\":please$report$bug158.$var,\n\"spinnaker-error\":spinnaker$error6150.$var,\n\"exit\":exit6274.$var,\n\"args-missing-comma\":args$missing$comma7125.$var,\n\"arity-mismatch\":arity$mismatch6226.$var,\n\"parse-error-next-token\":parse$error$next$token7077.$var,\n\"ed-intro\":ed$intro146.$var,\n\"template-not-finished\":template$not$finished6154.$var,\n\"lookup-constructor-not-object\":lookup$constructor$not$object6166.$var,\n\"ed-simple-intro\":ed$simple$intro104.$var,\n\"is-row-length-mismatch\":is$row$length$mismatch6228.$var,\n\"destructure-method-application\":destructure$method$application300.$var},\n\"defined-types\":{\"RuntimeError\":RuntimeError7139,\n\"ParseError\":ParseError7140},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-user-break\":is$user$break6264.$var,\n\"is-numeric-binop-error\":is$numeric$binop$error6208.$var,\n\"is-parse-error-unterminated-string\":is$parse$error$unterminated$string7087.$var,\n\"is-args-missing-comma\":is$args$missing$comma7123.$var,\n\"is-module-load-failure\":is$module$load$failure6244.$var,\n\"is-arity-mismatch\":is$arity$mismatch6224.$var,\n\"is-parse-error-next-token\":is$parse$error$next$token7075.$var,\n\"is-exit\":is$exit6272.$var,\n\"is-update-non-existent-field\":is$update$non$existent$field6132.$var,\n\"non-tuple-bind\":non$tuple$bind6178.$var,\n\"parse-error-bad-fun-header\":parse$error$bad$fun$header7073.$var,\n\"row-length-mismatch\":row$length$mismatch6230.$var,\n\"is-fun-missing-end\":is$fun$missing$end7119.$var,\n\"constructor-syntax-non-constructor\":constructor$syntax$non$constructor6162.$var,\n\"numeric-binop-error\":numeric$binop$error6210.$var,\n\"parse-error-unterminated-string\":parse$error$unterminated$string7089.$var,\n\"module-load-failure\":module$load$failure6246.$var,\n\"sample-error\":sample$error6114.$var,\n\"is-invalid-array-index\":is$invalid$array$index6248.$var,\n\"exit-quiet\":exit$quiet6278.$var,\n\"is-non-tuple-bind\":is$non$tuple$bind6176.$var,\n\"is-parse-error-bad-fun-header\":is$parse$error$bad$fun$header7071.$var,\n\"is-col-length-mismatch\":is$col$length$mismatch6232.$var,\n\"update-non-existent-field\":update$non$existent$field6134.$var,\n\"is-message-exception\":is$message$exception6116.$var,\n\"fun-missing-end\":fun$missing$end7121.$var,\n\"non-boolean-op\":non$boolean$op6198.$var,\n\"is-constructor-syntax-non-constructor\":is$constructor$syntax$non$constructor6160.$var,\n\"is-update-frozen-ref\":is$update$frozen$ref6124.$var,\n\"is-fun-missing-colon\":is$fun$missing$colon7115.$var,\n\"is-generic-type-mismatch\":is$generic$type$mismatch6200.$var,\n\"is-exit-quiet\":is$exit$quiet6276.$var,\n\"invalid-array-index\":invalid$array$index6250.$var,\n\"cases-arity-mismatch\":cases$arity$mismatch6218.$var,\n\"col-length-mismatch\":col$length$mismatch6234.$var,\n\"is-sample-error\":is$sample$error6112.$var,\n\"message-exception\":message$exception6118.$var,\n\"is-non-boolean-op\":is$non$boolean$op6196.$var,\n\"fun-missing-colon\":fun$missing$colon7117.$var,\n\"bad-tuple-bind\":bad$tuple$bind6182.$var,\n\"app-args-missing-comma\":app$args$missing$comma7129.$var,\n\"update-frozen-ref\":update$frozen$ref6126.$var,\n\"is-empty-block\":is$empty$block7103.$var,\n\"is-missing-comma\":is$missing$comma7135.$var,\n\"generic-type-mismatch\":generic$type$mismatch6202.$var,\n\"parse-error-bad-operator\":parse$error$bad$operator7093.$var,\n\"is-cases-arity-mismatch\":is$cases$arity$mismatch6216.$var,\n\"non-function-app\":non$function$app6238.$var,\n\"empty-block\":empty$block7105.$var,\n\"user-exception\":user$exception6270.$var,\n\"is-bad-tuple-bind\":is$bad$tuple$bind6180.$var,\n\"uninitialized-id\":uninitialized$id6242.$var,\n\"is-app-args-missing-comma\":is$app$args$missing$comma7127.$var,\n\"lookup-large-index\":lookup$large$index6174.$var,\n\"no-cases-matched\":no$cases$matched6138.$var,\n\"is-parse-error-bad-operator\":is$parse$error$bad$operator7091.$var,\n\"num-string-binop-error\":num$string$binop$error6206.$var,\n\"missing-comma\":missing$comma7137.$var,\n\"update-non-ref\":update$non$ref6130.$var,\n\"is-extend-non-object\":is$extend$non$object6188.$var,\n\"is-lookup-non-object\":is$lookup$non$object6184.$var,\n\"is-parse-error-colon-colon\":is$parse$error$colon$colon7079.$var,\n\"is-non-function-app\":is$non$function$app6236.$var,\n\"parse-error-bad-check-operator\":parse$error$bad$check$operator7101.$var,\n\"is-lookup-large-index\":is$lookup$large$index6172.$var,\n\"parse-error-bad-number\":parse$error$bad$number7097.$var,\n\"is-no-branches-matched\":is$no$branches$matched6140.$var,\n\"is-user-exception\":is$user$exception6268.$var,\n\"bad-block-stmt\":bad$block$stmt7109.$var,\n\"is-uninitialized-id\":is$uninitialized$id6240.$var,\n\"is-multi-error\":is$multi$error6108.$var,\n\"constructor-arity-mismatch\":constructor$arity$mismatch6222.$var,\n\"column-not-found\":column$not$found6258.$var,\n\"is-num-string-binop-error\":is$num$string$binop$error6204.$var,\n\"is-missing-end\":is$missing$end7131.$var,\n\"is-no-cases-matched\":is$no$cases$matched6136.$var,\n\"is-field-not-found\":is$field$not$found6156.$var,\n\"lookup-non-object\":lookup$non$object6186.$var,\n\"and-maybe\":and$maybe193.$var,\n\"parse-error-colon-colon\":parse$error$colon$colon7081.$var,\n\"extend-non-object\":extend$non$object6190.$var,\n\"is-update-non-ref\":is$update$non$ref6128.$var,\n\"no-branches-matched\":no$branches$matched6142.$var,\n\"and-if\":and$if176.$var,\n\"is-RuntimeError\":is$RuntimeError6106.$var,\n\"update-non-obj\":update$non$obj6122.$var,\n\"is-parse-error-bad-check-operator\":is$parse$error$bad$check$operator7099.$var,\n\"horz-list-values\":horz$list$values80.$var,\n\"is-non-boolean-condition\":is$non$boolean$condition6192.$var,\n\"is-parse-error-bad-number\":is$parse$error$bad$number7095.$var,\n\"is-bad-block-stmt\":is$bad$block$stmt7107.$var,\n\"multi-error\":multi$error6110.$var,\n\"is-column-not-found\":is$column$not$found6256.$var,\n\"is-constructor-arity-mismatch\":is$constructor$arity$mismatch6220.$var,\n\"missing-end\":missing$end7133.$var,\n\"lookup-non-tuple\":lookup$non$tuple6170.$var,\n\"vert-list-values\":vert$list$values58.$var,\n\"field-not-found\":field$not$found6158.$var,\n\"draw-and-highlight\":draw$and$highlight36.$var,\n\"bad-check-block-stmt\":bad$check$block$stmt7113.$var,\n\"non-boolean-condition\":non$boolean$condition6194.$var,\n\"is-update-non-obj\":is$update$non$obj6120.$var,\n\"is-parse-error-bad-app\":is$parse$error$bad$app7067.$var,\n\"equality-failure\":equality$failure6254.$var,\n\"is-bad-check-block-stmt\":is$bad$check$block$stmt7111.$var,\n\"duplicate-column\":duplicate$column6262.$var,\n\"is-lookup-non-tuple\":is$lookup$non$tuple6168.$var,\n\"internal-error\":internal$error6146.$var,\n\"is-ParseError\":is$ParseError7065.$var,\n\"cases-singleton-mismatch\":cases$singleton$mismatch6214.$var,\n\"is-equality-failure\":is$equality$failure6252.$var,\n\"is-parse-error-eof\":is$parse$error$eof7083.$var,\n\"parse-error-bad-app\":parse$error$bad$app7069.$var,\n\"is-duplicate-column\":is$duplicate$column6260.$var,\n\"is-spinnaker-error\":is$spinnaker$error6148.$var,\n\"is-internal-error\":is$internal$error6144.$var,\n\"is-template-not-finished\":is$template$not$finished6152.$var,\n\"is-lookup-constructor-not-object\":is$lookup$constructor$not$object6164.$var,\n\"user-break\":user$break6266.$var,\n\"parse-error-eof\":parse$error$eof7085.$var,\n\"is-cases-singleton-mismatch\":is$cases$singleton$mismatch6212.$var,\n\"please-report-bug\":please$report$bug158.$var,\n\"spinnaker-error\":spinnaker$error6150.$var,\n\"exit\":exit6274.$var,\n\"args-missing-comma\":args$missing$comma7125.$var,\n\"arity-mismatch\":arity$mismatch6226.$var,\n\"parse-error-next-token\":parse$error$next$token7077.$var,\n\"ed-intro\":ed$intro146.$var,\n\"template-not-finished\":template$not$finished6154.$var,\n\"lookup-constructor-not-object\":lookup$constructor$not$object6166.$var,\n\"ed-simple-intro\":ed$simple$intro104.$var,\n\"is-row-length-mismatch\":is$row$length$mismatch6228.$var,\n\"destructure-method-application\":destructure$method$application300.$var}),\n\"types\":{\"RuntimeError\":RuntimeError7139,\n\"ParseError\":ParseError7140},\n\"modules\":{}}),\n\"checks\":checks7142});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans20;\ndefault: R.ffi.throwSpinnakerError(L[4008],$step16);\n}\n}\nif($step16 !== 4) {\n$ans20.stack[R.EXN_STACKHEIGHT++] = R.mAR($al21,$toplevel17,$step16,[],[is$lookup$constructor$not$object6164,is$field$not$found6156,parse$error$bad$check$operator7101,exit$quiet6278,sample$error6114,destructure$method$application300,RuntimeError7139,is$duplicate$column6260,template$not$finished6154,is$lookup$non$object6184,is$spinnaker$error6148,parse$error$unterminated$string7089,is$user$exception6268,is$module$load$failure6244,non$boolean$condition6194,is$constructor$syntax$non$constructor6160,is$num$string$binop$error6204,spinnaker$error6150,is$arity$mismatch6224,is$non$tuple$bind6176,message$exception6118,is$extend$non$object6188,is$missing$end7131,is$args$missing$comma7123,is$cases$arity$mismatch6216,non$function$app6238,update$non$obj6122,is$app$args$missing$comma7127,extend$non$object6190,uninitialized$id6242,user$break6266,cases$singleton$mismatch6214,generic$type$mismatch6202,update$non$ref6130,is$parse$error$bad$check$operator7099,parse$error$bad$fun$header7073,is$exit$quiet6276,ed$intro146,and$if176,is$update$non$existent$field6132,is$sample$error6112,answer7141,lookup$large$index6174,col$length$mismatch6234,update$frozen$ref6126,is$row$length$mismatch6228,is$RuntimeError6106,lookup$constructor$not$object6166,row$length$mismatch6230,exit6274,field$not$found6158,equality$failure6254,internal$error6146,is$fun$missing$colon7115,column$not$found6258,draw$and$highlight36,bad$tuple$bind6182,lookup$non$object6186,constructor$arity$mismatch6222,is$non$function$app6236,is$no$branches$matched6140,is$uninitialized$id6240,is$user$break6264,is$update$non$obj6120,module$load$failure6246,is$missing$comma7135,is$parse$error$eof7083,user$exception6270,is$parse$error$bad$app7067,is$parse$error$bad$fun$header7071,is$cases$singleton$mismatch6212,is$lookup$non$tuple6168,no$cases$matched6138,is$multi$error6108,and$maybe193,is$invalid$array$index6248,ParseError7140,invalid$array$index6250,multi$error6110,is$empty$block7103,is$lookup$large$index6172,missing$end7133,parse$error$bad$number7097,bad$check$block$stmt7113,is$equality$failure6252,is$exit6272,parse$error$bad$operator7093,parse$error$next$token7077,is$fun$missing$end7119,is$internal$error6144,update$non$existent$field6134,is$column$not$found6256,bad$block$stmt7109,is$template$not$finished6152,horz$list$values80,fun$missing$end7121,is$constructor$arity$mismatch6220,is$bad$tuple$bind6180,is$non$boolean$condition6192,non$boolean$op6198,is$parse$error$unterminated$string7087,is$message$exception6116,is$no$cases$matched6136,fun$missing$colon7117,is$parse$error$colon$colon7079,parse$error$colon$colon7081,is$numeric$binop$error6208,duplicate$column6262,numeric$binop$error6210,is$update$non$ref6128,no$branches$matched6142,is$parse$error$bad$number7095,is$bad$check$block$stmt7111,num$string$binop$error6206,constructor$syntax$non$constructor6162,missing$comma7137,is$parse$error$bad$operator7091,is$generic$type$mismatch6200,parse$error$bad$app7069,arity$mismatch6226,parse$error$eof7085,is$parse$error$next$token7075,please$report$bug158,non$tuple$bind6178,is$ParseError7065,is$col$length$mismatch6232,is$bad$block$stmt7107,empty$block7105,cases$arity$mismatch6218,args$missing$comma7125,lookup$non$tuple6170,is$update$frozen$ref6124,is$non$boolean$op6196,ed$simple$intro104,vert$list$values58,app$args$missing$comma7129],$elidedFrames23);\n}\nreturn $ans20;\n};\nreturn R.safeCall($toplevel17,function module_load(moduleVal) {\nR.modules[\"$builtin://error11\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"destructure-method-application":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -71, -0, -1393, -85, -3, -2007], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"destructure-method-application", -"typ":"tany"}, -"is-row-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1921, -2, -69999, -1942, -7, -71087], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-row-length-mismatch", -"typ":"tany"}, -"ed-simple-intro":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -22, -0, -464, -34, -3, -756], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"ed-simple-intro", -"typ":"tany"}, -"lookup-constructor-not-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -453, -2, -16581, -472, -7, -17420], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"lookup-constructor-not-object", -"typ":"tany"}, -"template-not-finished":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -354, -2, -12541, -371, -7, -13313], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"template-not-finished", -"typ":"tany"}, -"ed-intro":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -36, -0, -758, -46, -3, -1018], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"ed-intro", -"typ":"tany"}, -"parse-error-next-token":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2488, -2, -92323, -2523, -7, -94394], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-next-token", -"typ":"tany"}, -"arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1688, -2, -61571, -1919, -7, -69995], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"arity-mismatch", -"typ":"tany"}, -"args-missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2715, -2, -102747, -2716, -91, -102870], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"args-missing-comma", -"typ":"tany"}, -"exit":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2415, -2, -89537, -2421, -7, -89790], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"exit", -"typ":"tany"}, -"spinnaker-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -344, -2, -12156, -353, -7, -12538], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"spinnaker-error", -"typ":"tany"}, -"please-report-bug":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -48, -0, -1020, -50, -3, -1101], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"please-report-bug", -"typ":"tany"}, -"is-cases-singleton-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1105, -2, -43092, -1319, -7, -49614], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-cases-singleton-mismatch", -"typ":"tany"}, -"parse-error-eof":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2551, -2, -95931, -2574, -7, -97010], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-eof", -"typ":"tany"}, -"user-break":{"bind":"let", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2398, -2, -88995, -2404, -7, -89223], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"typ":"tany"}, -"is-lookup-constructor-not-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -453, -2, -16581, -472, -7, -17420], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-lookup-constructor-not-object", -"typ":"tany"}, -"is-template-not-finished":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -354, -2, -12541, -371, -7, -13313], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-template-not-finished", -"typ":"tany"}, -"is-internal-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -334, -2, -11774, -343, -7, -12153], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-internal-error", -"typ":"tany"}, -"is-spinnaker-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -344, -2, -12156, -353, -7, -12538], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-spinnaker-error", -"typ":"tany"}, -"is-duplicate-column":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2337, -2, -86861, -2396, -7, -88991], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-duplicate-column", -"typ":"tany"}, -"parse-error-bad-app":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2433, -2, -90032, -2460, -7, -91220], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-bad-app", -"typ":"tany"}, -"is-parse-error-eof":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2551, -2, -95931, -2574, -7, -97010], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-eof", -"typ":"tany"}, -"is-equality-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2232, -2, -82444, -2274, -7, -84528], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-equality-failure", -"typ":"tany"}, -"cases-singleton-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1105, -2, -43092, -1319, -7, -49614], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"cases-singleton-mismatch", -"typ":"tany"}, -"is-ParseError":{"bind":"let", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2432, -0, -90013, -2723, -3, -103236], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"typ":"tany"}, -"internal-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -334, -2, -11774, -343, -7, -12153], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"internal-error", -"typ":"tany"}, -"is-lookup-non-tuple":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -473, -2, -17423, -510, -7, -18955], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-lookup-non-tuple", -"typ":"tany"}, -"duplicate-column":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2337, -2, -86861, -2396, -7, -88991], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"duplicate-column", -"typ":"tany"}, -"is-bad-check-block-stmt":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2707, -2, -102321, -2710, -7, -102500], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-bad-check-block-stmt", -"typ":"tany"}, -"equality-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2232, -2, -82444, -2274, -7, -84528], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"equality-failure", -"typ":"tany"}, -"is-parse-error-bad-app":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2433, -2, -90032, -2460, -7, -91220], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-bad-app", -"typ":"tany"}, -"is-update-non-obj":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -140, -2, -3819, -163, -7, -4760], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-update-non-obj", -"typ":"tany"}, -"non-boolean-condition":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -787, -2, -29828, -798, -7, -30361], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"non-boolean-condition", -"typ":"tany"}, -"bad-check-block-stmt":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2707, -2, -102321, -2710, -7, -102500], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"bad-check-block-stmt", -"typ":"tany"}, -"draw-and-highlight":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -12, -0, -180, -14, -3, -260], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":1, -"name":"draw-and-highlight", -"typ":"tany"}, -"field-not-found":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -372, -2, -13316, -428, -7, -15553], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"field-not-found", -"typ":"tany"}, -"vert-list-values":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -15, -0, -261, -17, -3, -358], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"vert-list-values", -"typ":"tany"}, -"lookup-non-tuple":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -473, -2, -17423, -510, -7, -18955], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"lookup-non-tuple", -"typ":"tany"}, -"missing-end":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2719, -2, -103007, -2720, -84, -103116], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"missing-end", -"typ":"tany"}, -"is-constructor-arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1478, -2, -54403, -1686, -7, -61567], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-constructor-arity-mismatch", -"typ":"tany"}, -"is-column-not-found":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2275, -2, -84531, -2336, -7, -86858], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-column-not-found", -"typ":"tany"}, -"multi-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -88, -2, -2030, -98, -7, -2557], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"multi-error", -"typ":"tany"}, -"is-bad-block-stmt":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2703, -2, -102145, -2706, -7, -102318], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-bad-block-stmt", -"typ":"tany"}, -"is-parse-error-bad-number":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2626, -2, -98986, -2648, -7, -99937], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-bad-number", -"typ":"tany"}, -"is-non-boolean-condition":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -787, -2, -29828, -798, -7, -30361], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-non-boolean-condition", -"typ":"tany"}, -"horz-list-values":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -18, -0, -359, -20, -3, -462], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"horz-list-values", -"typ":"tany"}, -"is-parse-error-bad-check-operator":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2649, -2, -99940, -2698, -7, -102018], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-bad-check-operator", -"typ":"tany"}, -"update-non-obj":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -140, -2, -3819, -163, -7, -4760], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"update-non-obj", -"typ":"tany"}, -"is-RuntimeError":{"bind":"let", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -87, -0, -2009, -2430, -3, -90011], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"typ":"tany"}, -"and-if":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -52, -0, -1103, -62, -3, -1285], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"and-if", -"typ":"tany"}, -"no-branches-matched":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -313, -2, -10665, -333, -7, -11771], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"no-branches-matched", -"typ":"tany"}, -"is-update-non-ref":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -202, -2, -6238, -239, -7, -7759], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-update-non-ref", -"typ":"tany"}, -"extend-non-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -744, -2, -28166, -786, -7, -29825], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"extend-non-object", -"typ":"tany"}, -"parse-error-colon-colon":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2524, -2, -94397, -2550, -7, -95928], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-colon-colon", -"typ":"tany"}, -"and-maybe":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://error", -64, -0, -1287, -69, -3, -1391], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":false, -"name":"and-maybe", -"typ":"tany"}, -"lookup-non-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -701, -2, -26543, -743, -7, -28163], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"lookup-non-object", -"typ":"tany"}, -"is-field-not-found":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -372, -2, -13316, -428, -7, -15553], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-field-not-found", -"typ":"tany"}, -"is-no-cases-matched":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -278, -2, -9235, -312, -7, -10662], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-no-cases-matched", -"typ":"tany"}, -"is-missing-end":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2719, -2, -103007, -2720, -84, -103116], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-missing-end", -"typ":"tany"}, -"is-num-string-binop-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -882, -2, -33594, -1003, -7, -38737], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-num-string-binop-error", -"typ":"tany"}, -"column-not-found":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2275, -2, -84531, -2336, -7, -86858], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"column-not-found", -"typ":"tany"}, -"constructor-arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1478, -2, -54403, -1686, -7, -61567], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"constructor-arity-mismatch", -"typ":"tany"}, -"is-multi-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -88, -2, -2030, -98, -7, -2557], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-multi-error", -"typ":"tany"}, -"is-uninitialized-id":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2079, -2, -76079, -2127, -7, -77904], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-uninitialized-id", -"typ":"tany"}, -"bad-block-stmt":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2703, -2, -102145, -2706, -7, -102318], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"bad-block-stmt", -"typ":"tany"}, -"is-user-exception":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2406, -2, -89231, -2413, -7, -89529], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-user-exception", -"typ":"tany"}, -"is-no-branches-matched":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -313, -2, -10665, -333, -7, -11771], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-no-branches-matched", -"typ":"tany"}, -"parse-error-bad-number":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2626, -2, -98986, -2648, -7, -99937], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-bad-number", -"typ":"tany"}, -"is-lookup-large-index":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -511, -2, -18958, -568, -7, -21394], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-lookup-large-index", -"typ":"tany"}, -"parse-error-bad-check-operator":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2649, -2, -99940, -2698, -7, -102018], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-bad-check-operator", -"typ":"tany"}, -"is-non-function-app":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2035, -2, -74263, -2078, -7, -76076], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-non-function-app", -"typ":"tany"}, -"is-parse-error-colon-colon":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2524, -2, -94397, -2550, -7, -95928], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-colon-colon", -"typ":"tany"}, -"is-lookup-non-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -701, -2, -26543, -743, -7, -28163], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-lookup-non-object", -"typ":"tany"}, -"is-extend-non-object":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -744, -2, -28166, -786, -7, -29825], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-extend-non-object", -"typ":"tany"}, -"update-non-ref":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -202, -2, -6238, -239, -7, -7759], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"update-non-ref", -"typ":"tany"}, -"missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2721, -2, -103119, -2722, -86, -103232], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"missing-comma", -"typ":"tany"}, -"num-string-binop-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -882, -2, -33594, -1003, -7, -38737], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"num-string-binop-error", -"typ":"tany"}, -"is-parse-error-bad-operator":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2602, -2, -98156, -2625, -7, -98983], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-bad-operator", -"typ":"tany"}, -"no-cases-matched":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -278, -2, -9235, -312, -7, -10662], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"no-cases-matched", -"typ":"tany"}, -"lookup-large-index":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -511, -2, -18958, -568, -7, -21394], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"lookup-large-index", -"typ":"tany"}, -"is-app-args-missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2717, -2, -102873, -2718, -95, -103004], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-app-args-missing-comma", -"typ":"tany"}, -"uninitialized-id":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2079, -2, -76079, -2127, -7, -77904], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"uninitialized-id", -"typ":"tany"}, -"is-bad-tuple-bind":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -622, -2, -23388, -700, -7, -26540], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-bad-tuple-bind", -"typ":"tany"}, -"user-exception":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2406, -2, -89231, -2413, -7, -89529], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"user-exception", -"typ":"tany"}, -"empty-block":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2699, -2, -102021, -2702, -7, -102142], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"empty-block", -"typ":"tany"}, -"non-function-app":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2035, -2, -74263, -2078, -7, -76076], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"non-function-app", -"typ":"tany"}, -"is-cases-arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1320, -2, -49617, -1477, -7, -54400], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-cases-arity-mismatch", -"typ":"tany"}, -"parse-error-bad-operator":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2602, -2, -98156, -2625, -7, -98983], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-bad-operator", -"typ":"tany"}, -"generic-type-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -812, -2, -30946, -881, -7, -33591], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"generic-type-mismatch", -"typ":"tany"}, -"is-missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2721, -2, -103119, -2722, -86, -103232], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-missing-comma", -"typ":"tany"}, -"is-empty-block":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2699, -2, -102021, -2702, -7, -102142], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-empty-block", -"typ":"tany"}, -"update-frozen-ref":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -164, -2, -4763, -201, -7, -6235], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"update-frozen-ref", -"typ":"tany"}, -"app-args-missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2717, -2, -102873, -2718, -95, -103004], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"app-args-missing-comma", -"typ":"tany"}, -"bad-tuple-bind":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -622, -2, -23388, -700, -7, -26540], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"bad-tuple-bind", -"typ":"tany"}, -"fun-missing-colon":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2711, -2, -102503, -2712, -90, -102624], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"fun-missing-colon", -"typ":"tany"}, -"is-non-boolean-op":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -799, -2, -30364, -811, -7, -30943], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-non-boolean-op", -"typ":"tany"}, -"message-exception":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -130, -2, -3497, -139, -7, -3816], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"message-exception", -"typ":"tany"}, -"is-sample-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -99, -2, -2560, -129, -7, -3494], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-sample-error", -"typ":"tany"}, -"col-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1944, -2, -71091, -2033, -7, -74259], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"col-length-mismatch", -"typ":"tany"}, -"cases-arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1320, -2, -49617, -1477, -7, -54400], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"cases-arity-mismatch", -"typ":"tany"}, -"invalid-array-index":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2140, -2, -78419, -2231, -7, -82441], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"invalid-array-index", -"typ":"tany"}, -"is-exit-quiet":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2423, -2, -89798, -2429, -7, -90007], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-exit-quiet", -"typ":"tany"}, -"is-generic-type-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -812, -2, -30946, -881, -7, -33591], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-generic-type-mismatch", -"typ":"tany"}, -"is-fun-missing-colon":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2711, -2, -102503, -2712, -90, -102624], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-fun-missing-colon", -"typ":"tany"}, -"is-update-frozen-ref":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -164, -2, -4763, -201, -7, -6235], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-update-frozen-ref", -"typ":"tany"}, -"is-constructor-syntax-non-constructor":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -429, -2, -15556, -452, -7, -16578], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-constructor-syntax-non-constructor", -"typ":"tany"}, -"non-boolean-op":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -799, -2, -30364, -811, -7, -30943], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"non-boolean-op", -"typ":"tany"}, -"fun-missing-end":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2713, -2, -102627, -2714, -88, -102744], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"fun-missing-end", -"typ":"tany"}, -"is-message-exception":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -130, -2, -3497, -139, -7, -3816], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-message-exception", -"typ":"tany"}, -"update-non-existent-field":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -240, -2, -7762, -277, -7, -9232], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"update-non-existent-field", -"typ":"tany"}, -"is-col-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1944, -2, -71091, -2033, -7, -74259], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-col-length-mismatch", -"typ":"tany"}, -"is-parse-error-bad-fun-header":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2461, -2, -91223, -2487, -7, -92320], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-bad-fun-header", -"typ":"tany"}, -"is-non-tuple-bind":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -569, -2, -21397, -621, -7, -23385], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-non-tuple-bind", -"typ":"tany"}, -"exit-quiet":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2423, -2, -89798, -2429, -7, -90007], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"exit-quiet", -"typ":"tany"}, -"is-invalid-array-index":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2140, -2, -78419, -2231, -7, -82441], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-invalid-array-index", -"typ":"tany"}, -"sample-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -99, -2, -2560, -129, -7, -3494], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"sample-error", -"typ":"tany"}, -"module-load-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2128, -2, -77907, -2139, -7, -78416], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"module-load-failure", -"typ":"tany"}, -"parse-error-unterminated-string":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2575, -2, -97013, -2601, -7, -98153], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-unterminated-string", -"typ":"tany"}, -"numeric-binop-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1004, -2, -38740, -1104, -7, -43089], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"numeric-binop-error", -"typ":"tany"}, -"constructor-syntax-non-constructor":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -429, -2, -15556, -452, -7, -16578], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"constructor-syntax-non-constructor", -"typ":"tany"}, -"is-fun-missing-end":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2713, -2, -102627, -2714, -88, -102744], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-fun-missing-end", -"typ":"tany"}, -"row-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1921, -2, -69999, -1942, -7, -71087], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"row-length-mismatch", -"typ":"tany"}, -"parse-error-bad-fun-header":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2461, -2, -91223, -2487, -7, -92320], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"parse-error-bad-fun-header", -"typ":"tany"}, -"non-tuple-bind":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -569, -2, -21397, -621, -7, -23385], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"non-tuple-bind", -"typ":"tany"}, -"is-update-non-existent-field":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -240, -2, -7762, -277, -7, -9232], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-update-non-existent-field", -"typ":"tany"}, -"is-exit":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2415, -2, -89537, -2421, -7, -89790], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-exit", -"typ":"tany"}, -"is-parse-error-next-token":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2488, -2, -92323, -2523, -7, -94394], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-next-token", -"typ":"tany"}, -"is-arity-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1688, -2, -61571, -1919, -7, -69995], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-arity-mismatch", -"typ":"tany"}, -"is-module-load-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2128, -2, -77907, -2139, -7, -78416], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-module-load-failure", -"typ":"tany"}, -"is-args-missing-comma":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2715, -2, -102747, -2716, -91, -102870], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-args-missing-comma", -"typ":"tany"}, -"is-parse-error-unterminated-string":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2575, -2, -97013, -2601, -7, -98153], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-parse-error-unterminated-string", -"typ":"tany"}, -"is-numeric-binop-error":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -1004, -2, -38740, -1104, -7, -43089], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-numeric-binop-error", -"typ":"tany"}, -"is-user-break":{"bind":"fun", -"origin":{"local-bind-site":["builtin://error", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://error", -2398, -2, -88995, -2404, -7, -89223], -"new-definition":true, -"uri-of-definition":"builtin://error"}, -"flatness":0, -"name":"is-user-break", -"typ":"tany"}}, -"datatypes":{"ParseError":["data",{"local-bind-site":["builtin://error", -2432, -0, -90013, -2723, -3, -103236], -"definition-bind-site":["builtin://error", -2432, -0, -90013, -2723, -3, -103236], -"new-definition":true, -"uri-of-definition":"builtin://error"},"ParseError",[],[["parse-error-bad-app", -[["a", -"tany"],["b", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-bad-fun-header", -[["a", -"tany"],["b", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-next-token", -[["loc", -"tany"],["next-token", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-colon-colon", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-eof", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-unterminated-string", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-bad-operator", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-bad-number", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["parse-error-bad-check-operator", -[["op", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}],["empty-block", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["bad-block-stmt", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["bad-check-block-stmt", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["fun-missing-colon", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["fun-missing-end", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["args-missing-comma", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["app-args-missing-comma", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["missing-end", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}],["missing-comma", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"]}]],{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany"], -"tany"]}], -"RuntimeError":["data",{"local-bind-site":["builtin://error", -87, -0, -2009, -2430, -3, -90011], -"definition-bind-site":["builtin://error", -87, -0, -2009, -2430, -3, -90011], -"new-definition":true, -"uri-of-definition":"builtin://error"},"RuntimeError",[],[["multi-error", -[["errors", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["sample-error", -[["loc", -"tany"],["some-info", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["message-exception", -[["message", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["update-non-obj", -[["loc", -"tany"],["obj", -"tany"],["objloc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["update-frozen-ref", -[["loc", -"tany"],["obj", -"tany"],["objloc", -"tany"],["field", -"tany"],["fieldloc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["update-non-ref", -[["loc", -"tany"],["obj", -"tany"],["objloc", -"tany"],["field", -"tany"],["fieldloc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["update-non-existent-field", -[["loc", -"tany"],["obj", -"tany"],["objloc", -"tany"],["field", -"tany"],["fieldloc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["no-cases-matched", -[["loc", -"tany"],["val", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["no-branches-matched", -[["loc", -"tany"],["expression", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["internal-error", -[["message", -"tany"],["info-args", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["spinnaker-error", -[["funloc", -"tany"],["step-num", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["template-not-finished", -[["loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["field-not-found", -[["loc", -"tany"],["obj", -"tany"],["field", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["constructor-syntax-non-constructor", -[["expr-loc", -"tany"],["constr-loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["lookup-constructor-not-object", -[["loc", -"tany"],["constr-name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["field", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["lookup-non-tuple", -[["loc", -"tany"],["non-tup", -"tany"],["index", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["lookup-large-index", -[["loc", -"tany"],["tup", -"tany"],["len", -"tany"],["index", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["non-tuple-bind", -[["loc", -"tany"],["non-tup", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["bad-tuple-bind", -[["loc", -"tany"],["tup", -"tany"],["length", -"tany"],["desiredLength", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["lookup-non-object", -[["loc", -"tany"],["non-obj", -"tany"],["field", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["extend-non-object", -[["loc", -"tany"],["non-obj", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["non-boolean-condition", -[["loc", -"tany"],["typ", -"tany"],["value", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["non-boolean-op", -[["loc", -"tany"],["position", -"tany"],["typ", -"tany"],["value", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["generic-type-mismatch", -[["val", -"tany"],["typ", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["num-string-binop-error", -[["val1", -"tany"],["val2", -"tany"],["opname", -"tany"],["opdesc", -"tany"],["methodname", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["numeric-binop-error", -[["val1", -"tany"],["val2", -"tany"],["opname", -"tany"],["opdesc", -"tany"],["methodname", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["cases-singleton-mismatch", -[["branch-loc", -"tany"],["should-be-singleton", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}],["cases-loc", -"tany"],["constructor-loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["cases-arity-mismatch", -[["branch-loc", -"tany"],["num-args", -"tany"],["actual-arity", -"tany"],["cases-loc", -"tany"],["constructor-loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["constructor-arity-mismatch", -[["fun-def-loc", -"tany"],["constructor-name", -"tany"],["fun-def-arity", -"tany"],["fun-app-args", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["arity-mismatch", -[["fun-def-loc", -"tany"],["fun-def-arity", -"tany"],["fun-app-args", -"tany"],["is-method", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["row-length-mismatch", -[["colnames", -"tany"],["provided-vals", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["col-length-mismatch", -[["colname", -"tany"],["expected", -"tany"],["actual", -"tany"],["value", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["non-function-app", -[["loc", -"tany"],["non-fun-val", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["uninitialized-id", -[["loc", -"tany"],["name", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["module-load-failure", -[["names", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["invalid-array-index", -[["method-name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["array", -"tany"],["index", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["equality-failure", -[["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["value1", -"tany"],["value2", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["column-not-found", -[["operation-loc", -"tany"],["column-name", -"tany"],["column-loc", -"tany"],["columns", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["duplicate-column", -[["operation-loc", -"tany"],["column-name", -"tany"],["column-loc", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["user-break", -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["user-exception", -[["value", -"tany"]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["exit", -[["code", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["exit-quiet", -[["code", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}]],{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}]}, -"aliases":{"ParseError":"tany", -"RuntimeError":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"error-display"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"srcloc"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://equality":({"theMap":"{\"version\":3,\"sources\":[\"builtin://equality\"],\"names\":[\"builtin://equality\",\",8,0,81,12,3,208\",\",9,2,104,9,9,111\",\",10,2,114,10,46,158\",\",11,2,161,11,45,204\",\",16,6,284,16,22,300\",\",17,6,317,17,22,333\",\",18,6,350,18,21,365\",\",25,6,542,25,19,555\",\",26,6,572,26,19,585\",\",27,6,602,27,21,617\",\",34,34,829,34,67,862\",\",34,28,823,34,68,863\",\",33,2,769,37,5,920\"],\"mappings\":\"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\",\"file\":\"builtin://equality\"}", -"theModule":"function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__22(R,NAMESPACE,M,$error4,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://equality\";\nvar D = R.undefined;\nvar L = [[M,9,2,104,9,9,111],\n[M,10,2,114,10,46,158],\n[M,10,23,135,10,29,141],\n[M,11,2,161,11,45,204],\n[M,11,22,181,11,28,187],\n[M,8,0,81,12,3,208],\n[M,14,0,210,21,3,467],\n[M,14,21,231,14,35,245],\n[M,14,44,254,14,58,268],\n[M,23,0,469,30,3,727],\n[M,23,20,489,23,34,503],\n[M,23,43,512,23,57,526],\n[M,32,0,729,38,3,924],\n[M,34,28,823,34,68,863],\n[M,34,34,829,34,67,862],\n[M,34,4,799,34,68,863],\n[M,33,2,769,37,5,920],\n[M,35,4,868,35,19,883],\n[M,36,4,888,36,30,914],\n[M,33,8,775,33,22,789],\n[M,32,21,750,32,35,764],\n[\"dummy location\"],\n[M,3,0,13,38,3,924]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar error2 = $error4;\nvar $underscore_import3 = $$underscore_import5;\nvar $cases_dispatch99 = {\"Unknown\":3,\n\"Equal\":5,\n\"NotEqual\":6};\nvar $toplevel6 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__22($$resumer13) {\nvar $step5 = 0;\nvar $elidedFrames14 = 0;\nvar $ans10 = D;\nvar $al12 = L[22];\nif(R.isAR($$resumer13)) {\n$step5 = $$resumer13.step;\n$al12 = $$resumer13.from;\n$ans10 = $$resumer13.ans;\n$elidedFrames14 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$EqualityResult40 = $$resumer13.vars[0];\nis$Unknown45 = $$resumer13.vars[1];\nto$boolean103 = $$resumer13.vars[2];\nanswer105 = $$resumer13.vars[3];\nequal$and60 = $$resumer13.vars[4];\nUnknown46 = $$resumer13.vars[5];\nNotEqual44 = $$resumer13.vars[6];\nis$Equal41 = $$resumer13.vars[7];\nis$NotEqual43 = $$resumer13.vars[8];\nEqualityResult58 = $$resumer13.vars[9];\nequal$or76 = $$resumer13.vars[10];\nEqual42 = $$resumer13.vars[11];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans10 = R.mC();\n}\nwhile(!R.isContinuation($ans10)) {\nswitch($step5) {\ncase 0: var EqualityResult15 = R.nB(\"EqualityResult\",L[5]);\nvar EqualityResult58 = R.mBA(EqualityResult15,\"EqualityResult\");\nvar EqualityResult39 = {\"$var\":D};\nvar is$EqualityResult40 = {\"$var\":D};\nvar is$Equal41 = {\"$var\":D};\nvar Equal42 = {\"$var\":D};\nvar is$NotEqual43 = {\"$var\":D};\nvar NotEqual44 = {\"$var\":D};\nvar is$Unknown45 = {\"$var\":D};\nvar Unknown46 = {\"$var\":D};\nvar equal$and60 = {\"$var\":D};\nvar equal$or76 = {\"$var\":D};\nvar to$boolean103 = {\"$var\":D};\nvar $Equal_getfields20 = function variant(f) {\nreturn f();\n};\nvar $Equal_mutablemask19 = [];\nvar $Equal$base16 = {\"_match\":R.mM(\"Equal\",0)};\nvar $Equal$brander17 = R.nB(\"Equal\",L[0]);\nvar $Equal$brands18 = {};\n$Equal$brands18[EqualityResult15._brand] = true;\n$Equal$brands18[$Equal$brander17._brand] = true;\nvar $NotEqual_getfields25 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $NotEqual_mutablemask24 = [false,false,false];\nvar $NotEqual$base21 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"_match\":R.mM(\"NotEqual\",3)};\nvar $NotEqual$brander22 = R.nB(\"NotEqual\",L[1]);\nvar $NotEqual$brands23 = {};\n$NotEqual$brands23[EqualityResult15._brand] = true;\n$NotEqual$brands23[$NotEqual$brander22._brand] = true;\nvar NotEqual26 = R.mVC(L[1],function $synthesizedConstructor_$NotEqual$base() {\nreturn [$type$String8];\n},[\"reason27\"],[L[2]],[false,false,false],[\"reason27\",\"value128\",\"value229\"],$NotEqual_mutablemask24,$NotEqual$base21,$NotEqual$brands23,\"NotEqual\",$NotEqual_getfields25,$NotEqual$base21);\nvar $Unknown_getfields34 = function singleton_variant(f) {\nreturn f(this.dict[\"reason\"],this.dict[\"value1\"],this.dict[\"value2\"]);\n};\nvar $Unknown_mutablemask33 = [false,false,false];\nvar $Unknown$base30 = {\"$fieldNames\":[\"reason\",\"value1\",\"value2\"],\n\"_match\":R.mM(\"Unknown\",3)};\nvar $Unknown$brander31 = R.nB(\"Unknown\",L[3]);\nvar $Unknown$brands32 = {};\n$Unknown$brands32[EqualityResult15._brand] = true;\n$Unknown$brands32[$Unknown$brander31._brand] = true;\nvar Unknown35 = R.mVC(L[3],function $synthesizedConstructor_$Unknown$base() {\nreturn [$type$String8];\n},[\"reason36\"],[L[4]],[false,false,false],[\"reason36\",\"value137\",\"value238\"],$Unknown_mutablemask33,$Unknown$base30,$Unknown$brands32,\"Unknown\",$Unknown_getfields34,$Unknown$base30);\nvar anf_assign82 = R.mO({\"EqualityResult\":G(EqualityResult15,\"test\",L[5]),\n\"is-Equal\":G($Equal$brander17,\"test\",L[0]),\n\"Equal\":R.mDV($Equal$base16,$Equal$brands18,\"Equal\",$Equal_getfields20,-1,$Equal_mutablemask19,$Equal$base16,false,L[0]),\n\"is-NotEqual\":G($NotEqual$brander22,\"test\",L[1]),\n\"NotEqual\":NotEqual26,\n\"is-Unknown\":G($Unknown$brander31,\"test\",L[3]),\n\"Unknown\":Unknown35});\nEqualityResult39.$var = anf_assign82;\nR.nothing;\n$al12 = L[5];\nvar anf_assign84 = G(EqualityResult39.$var,\"EqualityResult\",L[5]);\nis$EqualityResult40.$var = anf_assign84;\nR.nothing;\n$al12 = L[0];\nvar anf_assign86 = G(EqualityResult39.$var,\"is-Equal\",L[0]);\nis$Equal41.$var = anf_assign86;\nR.nothing;\n$al12 = L[0];\nvar anf_assign88 = G(EqualityResult39.$var,\"Equal\",L[0]);\nEqual42.$var = anf_assign88;\nR.nothing;\n$al12 = L[1];\nvar anf_assign90 = G(EqualityResult39.$var,\"is-NotEqual\",L[1]);\nis$NotEqual43.$var = anf_assign90;\nR.nothing;\n$al12 = L[1];\nvar anf_assign74 = G(EqualityResult39.$var,\"NotEqual\",L[1]);\nNotEqual44.$var = anf_assign74;\nR.nothing;\n$al12 = L[3];\nvar anf_assign76 = G(EqualityResult39.$var,\"is-Unknown\",L[3]);\nis$Unknown45.$var = anf_assign76;\nR.nothing;\n$al12 = L[3];\nvar anf_assign78 = G(EqualityResult39.$var,\"Unknown\",L[3]);\nUnknown46.$var = anf_assign78;\nR.nothing;\nvar $temp_lam48 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__6($er149,$er250) {\nvar $step47 = 0;\nvar $elidedFrames54 = 0;\nvar $ans51 = D;\nvar $al52 = L[6];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],2,$t,false);\n}\nvar er149 = $er149;\nvar er250 = $er250;\n// callee optimization;\nwhile(!R.isContinuation($ans51)) {\nswitch($step47) {\ncase 0: $step47 = 1;\n$al52 = L[7];\nR._cA(L[7],EqualityResult58,er149);\nbreak;\ncase 1: $step47 = 2;\n$al52 = L[8];\nR._cA(L[8],EqualityResult58,er250);\nbreak;\ncase 2: // caller optimization;\n$ans51 = is$NotEqual43.$var.app(er149);\nvar anf_if57 = $ans51;\n$step47 = R.checkPyretTrue(anf_if57)?3:4;\nbreak;\ncase 3: $step47 = 9;\n$ans51 = er149;\nbreak;\ncase 4: // caller optimization;\n$ans51 = is$NotEqual43.$var.app(er250);\nvar anf_if56 = $ans51;\n$step47 = R.checkPyretTrue(anf_if56)?5:6;\nbreak;\ncase 5: $step47 = 9;\n$ans51 = er250;\nbreak;\ncase 6: // caller optimization;\n$ans51 = is$Unknown45.$var.app(er149);\nvar anf_if55 = $ans51;\n$step47 = R.checkPyretTrue(anf_if55)?7:8;\nbreak;\ncase 7: $step47 = 9;\n$ans51 = er149;\nbreak;\ncase 8: $step47 = 9;\n$ans51 = er250;\nbreak;\ncase 9: return $ans51;\ndefault: R.ffi.throwSpinnakerError(L[6],$step47);\n}\n}\nreturn $ans51;\n};\nvar anf_assign87 = R.mF($temp_lam48,\"equal-and\");\nequal$and60.$var = anf_assign87;\nR.nothing;\nvar $temp_lam62 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__9($er163,$er264) {\nvar $step61 = 0;\nvar $elidedFrames69 = 0;\nvar $ans66 = D;\nvar $al67 = L[9];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],2,$t,false);\n}\nvar er163 = $er163;\nvar er264 = $er264;\n// callee optimization;\nwhile(!R.isContinuation($ans66)) {\nswitch($step61) {\ncase 0: $step61 = 1;\n$al67 = L[10];\nR._cA(L[10],EqualityResult58,er163);\nbreak;\ncase 1: $step61 = 2;\n$al67 = L[11];\nR._cA(L[11],EqualityResult58,er264);\nbreak;\ncase 2: // caller optimization;\n$ans66 = is$Equal41.$var.app(er163);\nvar anf_if72 = $ans66;\n$step61 = R.checkPyretTrue(anf_if72)?3:4;\nbreak;\ncase 3: $step61 = 9;\n$ans66 = er163;\nbreak;\ncase 4: // caller optimization;\n$ans66 = is$Equal41.$var.app(er264);\nvar anf_if71 = $ans66;\n$step61 = R.checkPyretTrue(anf_if71)?5:6;\nbreak;\ncase 5: $step61 = 9;\n$ans66 = er264;\nbreak;\ncase 6: // caller optimization;\n$ans66 = is$Unknown45.$var.app(er163);\nvar anf_if70 = $ans66;\n$step61 = R.checkPyretTrue(anf_if70)?7:8;\nbreak;\ncase 7: $step61 = 9;\n$ans66 = er163;\nbreak;\ncase 8: $step61 = 9;\n$ans66 = er264;\nbreak;\ncase 9: return $ans66;\ndefault: R.ffi.throwSpinnakerError(L[9],$step61);\n}\n}\nreturn $ans66;\n};\nvar anf_assign75 = R.mF($temp_lam62,\"equal-or\");\nequal$or76.$var = anf_assign75;\nR.nothing;\nvar $temp_lam78 = function _7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115__12($er79) {\nvar $step77 = 0;\nvar $elidedFrames83 = 0;\nvar $ans80 = D;\nvar $al81 = L[12];\nif(R.isAR($er79)) {\n$step77 = $er79.step;\n$al81 = $er79.from;\n$ans80 = $er79.ans;\n$elidedFrames83 = $er79.elidedFrames;\ner79 = $er79.args[0];\ncases84 = $er79.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[12],1,$t,false);\n}\nvar er79 = $er79;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans80 = R.mC();\n}\nwhile(!R.isContinuation($ans80)) {\nswitch($step77) {\ncase 0: $step77 = 1;\n$al81 = L[20];\nR._cA(L[20],EqualityResult58,er79);\nbreak;\ncase 1: var cases84 = er79;\n$step77 = 2;\n$al81 = L[19];\nvar $ann$check100 = R._cA(L[19],EqualityResult58,cases84);\nif(R.isContinuation($ann$check100)) {\n$ans80 = $ann$check100;\n}\nbreak;\ncase 2: $al81 = L[16];\n$step77 = $cases_dispatch99[cases84.$name] || 7;\nbreak;\ncase 3: if(cases84.$arity !== 3) {\nif(cases84.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[15],3,cases84.$arity,L[16],cases84.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[15],true,L[16],cases84.$loc);\n}\n}\nvar $fn93 = cases84.$constructor.$fieldNames;\nvar r85 = R.dF(cases84.dict[$fn93[0]],cases84.$mut_fields_mask[0],false);\nvar v187 = R.dF(cases84.dict[$fn93[1]],cases84.$mut_fields_mask[1],false);\nvar v288 = R.dF(cases84.dict[$fn93[2]],cases84.$mut_fields_mask[2],false);\n$step77 = 4;\n$al81 = L[14];\nif(typeof(error2.dict.values.dict[\"equality-failure\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al81,error2.dict.values.dict[\"equality-failure\"]);\n}\n$ans80 = error2.dict.values.dict[\"equality-failure\"].app(r85,v187,v288);\nbreak;\ncase 4: var anf_arg91 = $ans80;\n$step77 = 8;\n$al81 = L[13];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al81,raise1);\n}\n$ans80 = raise1.app(anf_arg91);\nbreak;\ncase 5: if(cases84.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[17],false,L[16],cases84.$loc);\n}\n$step77 = 8;\n$ans80 = (true);\nbreak;\ncase 6: if(cases84.$arity !== 3) {\nif(cases84.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[18],3,cases84.$arity,L[16],cases84.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[18],true,L[16],cases84.$loc);\n}\n}\nvar $fn95 = cases84.$constructor.$fieldNames;\nR.dF(cases84.dict[$fn95[0]],cases84.$mut_fields_mask[0],false);\nR.dF(cases84.dict[$fn95[1]],cases84.$mut_fields_mask[1],false);\nR.dF(cases84.dict[$fn95[2]],cases84.$mut_fields_mask[2],false);\n$step77 = 8;\n$ans80 = (false);\nbreak;\ncase 7: $ans80 = R.throwNoCasesMatched(L[16],cases84);\n$step77 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans80;\ndefault: R.ffi.throwSpinnakerError(L[12],$step77);\n}\n}\nif($step77 !== 8) {\n$ans80.stack[R.EXN_STACKHEIGHT++] = R.mAR($al81,$temp_lam78,$step77,[er79],[cases84],$elidedFrames83);\n}\nreturn $ans80;\n};\nvar anf_assign102 = R.mF($temp_lam78,\"to-boolean\");\nto$boolean103.$var = anf_assign102;\nR.nothing;\n$step5 = 1;\n$ans10 = R.maybeMethodCall2(builtins1,\"trace-value\",L[21],L[21],nothing2);\nbreak;\ncase 1: var answer105 = $ans10;\n$step5 = 2;\n$ans10 = R.maybeMethodCall0(builtins1,\"current-checker\",L[5]);\nbreak;\ncase 2: var anf_method_obj104 = $ans10;\n$step5 = 3;\n$ans10 = R.maybeMethodCall0(anf_method_obj104,\"results\",L[5]);\nbreak;\ncase 3: var checks106 = $ans10;\n$step5 = 4;\n$ans10 = R.mO({\"answer\":answer105,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"error\":error2},\n\"defined-values\":{\"NotEqual\":NotEqual44.$var,\n\"is-NotEqual\":is$NotEqual43.$var,\n\"is-Unknown\":is$Unknown45.$var,\n\"Unknown\":Unknown46.$var,\n\"is-Equal\":is$Equal41.$var,\n\"Equal\":Equal42.$var,\n\"to-boolean\":to$boolean103.$var,\n\"is-EqualityResult\":is$EqualityResult40.$var,\n\"equal-or\":equal$or76.$var,\n\"equal-and\":equal$and60.$var},\n\"defined-types\":{\"EqualityResult\":EqualityResult58},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"NotEqual\":NotEqual44.$var,\n\"is-NotEqual\":is$NotEqual43.$var,\n\"is-Unknown\":is$Unknown45.$var,\n\"Unknown\":Unknown46.$var,\n\"is-Equal\":is$Equal41.$var,\n\"Equal\":Equal42.$var,\n\"to-boolean\":to$boolean103.$var,\n\"is-EqualityResult\":is$EqualityResult40.$var,\n\"equal-or\":equal$or76.$var,\n\"equal-and\":equal$and60.$var}),\n\"types\":{\"EqualityResult\":EqualityResult58},\n\"modules\":{}}),\n\"checks\":checks106});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans10;\ndefault: R.ffi.throwSpinnakerError(L[22],$step5);\n}\n}\nif($step5 !== 4) {\n$ans10.stack[R.EXN_STACKHEIGHT++] = R.mAR($al12,$toplevel6,$step5,[],[is$EqualityResult40,is$Unknown45,to$boolean103,answer105,equal$and60,Unknown46,NotEqual44,is$Equal41,is$NotEqual43,EqualityResult58,equal$or76,Equal42],$elidedFrames14);\n}\nreturn $ans10;\n};\nreturn R.safeCall($toplevel6,function module_load(moduleVal) {\nR.modules[\"$builtin://equality3\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"equal-and":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://equality", -14, -0, -210, -21, -3, -467], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":1, -"name":"equal-and", -"typ":"tany"}, -"equal-or":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://equality", -23, -0, -469, -30, -3, -727], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":1, -"name":"equal-or", -"typ":"tany"}, -"is-EqualityResult":{"bind":"let", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -8, -0, -81, -12, -3, -208], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"typ":"tany"}, -"to-boolean":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://equality", -32, -0, -729, -38, -3, -924], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":false, -"name":"to-boolean", -"typ":"tany"}, -"Equal":{"bind":"let", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -9, -2, -104, -9, -9, -111], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"typ":"tany"}, -"is-Equal":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -9, -2, -104, -9, -9, -111], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":0, -"name":"is-Equal", -"typ":"tany"}, -"Unknown":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -11, -2, -161, -11, -45, -204], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":0, -"name":"Unknown", -"typ":"tany"}, -"is-Unknown":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -11, -2, -161, -11, -45, -204], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":0, -"name":"is-Unknown", -"typ":"tany"}, -"is-NotEqual":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -10, -2, -114, -10, -46, -158], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":0, -"name":"is-NotEqual", -"typ":"tany"}, -"NotEqual":{"bind":"fun", -"origin":{"local-bind-site":["builtin://equality", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://equality", -10, -2, -114, -10, -46, -158], -"new-definition":true, -"uri-of-definition":"builtin://equality"}, -"flatness":0, -"name":"NotEqual", -"typ":"tany"}}, -"datatypes":{"EqualityResult":["data",{"local-bind-site":["builtin://equality", -8, -0, -81, -12, -3, -208], -"definition-bind-site":["builtin://equality", -8, -0, -81, -12, -3, -208], -"new-definition":true, -"uri-of-definition":"builtin://equality"},"EqualityResult",[],[["Equal", -{}],["NotEqual", -[["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["value1", -"tany"],["value2", -"tany"]], -{}],["Unknown", -[["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["value1", -"tany"],["value2", -"tany"]], -{}]],{}]}, -"aliases":{"EqualityResult":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"error"}, -{"import-type":"builtin", -"name":"global"}]}), -"builtin://lists":({"theMap":"{\"version\":3,\"sources\":[\"builtin://lists\"],\"names\":[\"builtin://lists\",\",167,80,6903,167,101,6924\",\",167,55,6878,167,102,6925\",\",170,4,6998,170,22,7016\",\",175,4,7192,175,16,7204\",\",180,4,7403,180,19,7418\",\",185,4,7593,185,17,7606\",\",190,4,7755,190,17,7768\",\",195,4,7908,195,19,7923\",\",199,4,8143,199,21,8160\",\",203,4,8281,203,21,8298\",\",203,4,8281,203,28,8305\",\",207,4,8434,207,21,8451\",\",207,4,8434,207,28,8458\",\",212,4,8609,212,16,8621\",\",216,4,8811,216,19,8826\",\",220,4,8980,220,19,8995\",\",225,4,9213,225,23,9232\",\",230,4,9532,230,38,9566\",\",64,6,2310,64,44,2348\",\",83,10,3133,83,19,3142\",\",83,10,3133,83,28,3151\",\",83,6,3129,83,28,3151\",\",90,6,3557,90,24,3575\",\",95,6,3794,95,19,3807\",\",100,14,3972,100,24,3982\",\",100,7,3965,100,24,3982\",\",100,29,3987,100,38,3996\",\",100,29,3987,100,50,4008\",\",106,8,4253,106,18,4263\",\",106,20,4265,106,29,4274\",\",106,20,4265,106,44,4289\",\",106,6,4251,106,45,4290\",\",112,6,4532,112,15,4541\",\",112,27,4553,112,37,4563\",\",112,25,4551,112,44,4570\",\",112,6,4532,112,45,4571\",\",117,8,4747,117,18,4757\",\",117,6,4745,117,19,4758\",\",117,24,4763,117,33,4772\",\",117,24,4763,117,40,4779\",\",122,8,4953,122,18,4963\",\",122,6,4951,122,19,4964\",\",122,23,4968,122,32,4977\",\",122,23,4968,122,39,4984\",\",127,6,5156,127,16,5166\",\",127,27,5177,127,36,5186\",\",127,27,5177,127,50,5200\",\",127,19,5169,127,51,5201\",\",132,18,5361,132,27,5370\",\",132,9,5352,132,28,5371\",\",132,30,5373,132,40,5383\",\",133,12,5396,133,21,5405\",\",133,12,5396,133,28,5412\",\",141,14,5815,141,24,5825\",\",150,13,6207,150,26,6220\",\",150,46,6240,150,61,6255\",\",151,18,6274,151,30,6286\",\",151,46,6302,151,61,6317\",\",152,46,6364,152,61,6379\",\",149,6,6176,154,12,6406\",\",155,16,6423,155,39,6446\",\",157,16,6486,157,39,6509\",\",158,18,6528,158,39,6549\",\",158,6,6516,158,40,6550\",\",164,31,6780,164,38,6787\",\",164,44,6793,164,54,6803\",\",164,6,6755,164,55,6804\",\",11,0,152,232,3,9577\",\",12,2,168,78,8,2949\",\",79,2,2952,165,8,6813\",\",239,30,9787,239,37,9794\",\",237,4,9720,240,7,9803\",\",242,2,9812,242,14,9824\",\",254,6,10172,257,9,10278\",\",247,2,10027,258,5,10284\",\",268,15,10702,268,22,10709\",\",269,24,10734,269,31,10741\",\",269,54,10764,269,61,10771\",\",269,36,10746,269,62,10772\",\",267,2,10670,270,5,10778\",\",280,15,11146,280,22,11153\",\",281,24,11178,281,31,11185\",\",281,56,11210,281,63,11217\",\",281,37,11191,281,64,11218\",\",279,2,11114,282,5,11224\",\",292,7,11525,292,18,11536\",\",292,48,11566,292,59,11577\",\",292,26,11544,292,59,11577\",\",292,20,11538,292,60,11578\",\",293,12,11591,293,20,11599\",\",293,22,11601,293,29,11608\",\",294,15,11624,294,21,11630\",\",294,23,11632,294,30,11639\",\",297,5,11660,297,10,11665\",\",297,46,11701,297,57,11712\",\",297,18,11673,297,57,11712\",\",297,12,11667,297,58,11713\",\",298,8,11722,298,20,11734\",\",306,7,11990,306,18,12001\",\",306,48,12031,306,59,12042\",\",306,26,12009,306,59,12042\",\",306,20,12003,306,60,12043\",\",307,12,12056,307,20,12064\",\",307,34,12078,307,40,12084\",\",307,26,12070,307,41,12085\",\",308,10,12096,308,17,12103\",\",308,33,12119,308,39,12125\",\",308,41,12127,308,48,12134\",\",308,28,12114,308,49,12135\",\",308,20,12106,308,50,12136\",\",311,5,12156,311,10,12161\",\",311,46,12197,311,57,12208\",\",311,18,12169,311,57,12208\",\",311,12,12163,311,58,12209\",\",312,8,12218,312,20,12230\",\",318,22,12395,318,36,12409\",\",318,2,12375,318,53,12426\",\",325,2,12561,325,14,12573\",\",331,16,12750,331,22,12756\",\",331,7,12741,331,23,12757\",\",332,6,12765,332,13,12772\",\",334,13,12796,334,19,12802\",\",337,5,12823,337,18,12836\",\",338,4,12842,338,42,12880\",\",340,4,12893,340,15,12904\",\",345,2,13012,345,22,13032\",\",349,2,13080,349,12,13090\",\",354,5,13237,354,17,13249\",\",355,10,13303,355,25,13318\",\",354,25,13257,355,25,13318\",\",354,25,13257,356,14,13333\",\",357,10,13344,357,24,13358\",\",354,25,13257,357,24,13358\",\",354,25,13257,358,13,13372\",\",354,19,13251,358,14,13373\",\",359,42,13416,359,51,13425\",\",359,53,13427,359,65,13439\",\",359,26,13400,359,66,13440\",\",359,8,13382,359,67,13441\",\",366,5,13672,366,15,13682\",\",367,7,13691,367,20,13704\",\",368,10,13722,368,76,13788\",\",371,31,13836,371,43,13848\",\",371,30,13835,371,52,13857\",\",371,18,13823,371,53,13858\",\",371,10,13815,371,57,13862\",\",372,55,13918,372,64,13927\",\",372,46,13909,372,65,13928\",\",372,22,13885,372,75,13938\",\",372,4,13867,372,76,13939\",\",385,5,14286,385,10,14291\",\",385,12,14293,385,60,14341\",\",386,26,14368,386,44,14386\",\",386,8,14350,386,45,14387\",\",392,2,14525,392,34,14557\",\",398,28,14696,398,43,14711\",\",398,20,14688,398,44,14712\",\",396,2,14626,399,5,14718\",\",407,7,15012,407,26,15031\",\",410,11,15074,410,25,15088\",\",410,6,15069,410,26,15089\",\",411,11,15101,411,26,15116\",\",411,9,15099,411,27,15117\",\",412,19,15138,412,34,15153\",\",412,37,15156,412,53,15172\",\",414,20,15205,414,35,15220\",\",414,38,15223,414,55,15240\",\",418,2,15267,418,11,15276\",\",424,5,15473,424,18,15486\",\",427,14,15520,427,23,15529\",\",427,7,15513,427,23,15529\",\",428,13,15544,428,21,15552\",\",430,11,15580,430,20,15589\",\",430,29,15598,430,37,15606\",\",430,22,15591,430,43,15612\",\",430,6,15575,430,44,15613\",\",438,5,15827,438,18,15840\",\",441,9,15868,441,18,15877\",\",441,7,15866,441,19,15878\",\",442,11,15891,442,20,15900\",\",442,6,15886,442,21,15901\",\",444,14,15926,444,22,15934\",\",451,8,16171,451,13,16176\",\",451,22,16185,451,39,16202\",\",451,18,16181,451,40,16203\",\",452,4,16209,452,26,16231\",\",457,7,16307,457,15,16315\",\",460,19,16385,460,43,16409\",\",462,15,16453,462,22,16460\",\",462,10,16448,462,28,16466\",\",463,26,16493,463,41,16508\",\",459,6,16345,464,9,16518\",\",467,2,16535,467,14,16547\",\",473,2,16719,473,18,16735\",\",473,2,16719,473,25,16742\",\",478,2,16885,478,18,16901\",\",478,2,16885,478,25,16908\",\",483,5,17045,483,18,17058\",\",486,6,17084,486,15,17093\",\",486,4,17082,486,16,17094\",\",486,27,17105,486,35,17113\",\",486,20,17098,486,36,17114\",\",492,5,17258,492,18,17271\",\",495,6,17296,495,15,17305\",\",495,4,17294,495,16,17306\",\",495,28,17318,495,36,17326\",\",495,21,17311,495,37,17327\",\",503,7,17603,503,19,17615\",\",503,23,17619,503,35,17631\",\",504,12,17650,504,20,17658\",\",504,22,17660,504,30,17668\",\",504,10,17648,504,31,17669\",\",504,41,17679,504,48,17686\",\",504,50,17688,504,57,17695\",\",504,36,17674,504,58,17696\",\",507,2,17713,507,18,17729\",\",512,2,17864,512,31,17893\",\",517,5,18067,517,17,18079\",\",517,21,18083,517,33,18095\",\",520,6,18121,520,14,18129\",\",520,16,18131,520,24,18139\",\",520,4,18119,520,25,18140\",\",520,44,18159,520,51,18166\",\",520,53,18168,520,60,18175\",\",520,36,18151,520,61,18176\",\",520,28,18143,520,62,18177\",\",526,5,18380,526,17,18392\",\",526,21,18396,526,33,18408\",\",526,37,18412,526,49,18424\",\",529,6,18450,529,14,18458\",\",529,16,18460,529,24,18468\",\",529,26,18470,529,34,18478\",\",529,4,18448,529,35,18479\",\",529,54,18498,529,61,18505\",\",529,63,18507,529,70,18514\",\",529,72,18516,529,79,18523\",\",529,46,18490,529,80,18524\",\",529,38,18482,529,81,18525\",\",535,5,18763,535,17,18775\",\",535,21,18779,535,33,18791\",\",535,37,18795,535,49,18807\",\",535,53,18811,535,65,18823\",\",538,6,18849,538,14,18857\",\",538,16,18859,538,24,18867\",\",538,26,18869,538,34,18877\",\",538,36,18879,538,44,18887\",\",538,4,18847,538,45,18888\",\",538,64,18907,538,71,18914\",\",538,73,18916,538,80,18923\",\",538,82,18925,538,89,18932\",\",538,91,18934,538,98,18941\",\",538,56,18899,538,99,18942\",\",538,48,18891,538,100,18943\",\",544,5,19121,544,18,19134\",\",547,9,19163,547,18,19172\",\",547,4,19158,547,19,19173\",\",547,39,19193,547,44,19198\",\",547,46,19200,547,54,19208\",\",547,30,19184,547,55,19209\",\",547,22,19176,547,56,19210\",\",553,5,19430,553,17,19442\",\",553,21,19446,553,33,19458\",\",556,9,19487,556,17,19495\",\",556,19,19497,556,27,19505\",\",556,4,19482,556,28,19506\",\",556,49,19527,556,54,19532\",\",556,56,19534,556,63,19541\",\",556,65,19543,556,72,19550\",\",556,39,19517,556,73,19551\",\",556,31,19509,556,74,19552\",\",562,5,19807,562,17,19819\",\",562,21,19823,562,33,19835\",\",562,37,19839,562,49,19851\",\",565,9,19880,565,17,19888\",\",565,19,19890,565,27,19898\",\",565,29,19900,565,37,19908\",\",565,4,19875,565,38,19909\",\",565,59,19930,565,64,19935\",\",565,66,19937,565,73,19944\",\",565,75,19946,565,82,19953\",\",565,84,19955,565,91,19962\",\",565,49,19920,565,92,19963\",\",565,41,19912,565,93,19964\",\",571,5,20254,571,17,20266\",\",571,21,20270,571,33,20282\",\",571,37,20286,571,49,20298\",\",571,53,20302,571,65,20314\",\",574,9,20343,574,17,20351\",\",574,19,20353,574,27,20361\",\",574,29,20363,574,37,20371\",\",574,39,20373,574,47,20381\",\",574,4,20338,574,48,20382\",\",574,69,20403,574,74,20408\",\",574,76,20410,574,83,20417\",\",574,85,20419,574,92,20426\",\",574,94,20428,574,101,20435\",\",574,103,20437,574,110,20444\",\",574,59,20393,574,111,20445\",\",574,51,20385,574,112,20446\",\",580,20,20604,580,26,20610\",\",580,2,20586,580,45,20629\",\",587,7,20880,587,19,20892\",\",587,23,20896,587,35,20908\",\",590,8,20948,590,16,20956\",\",590,18,20958,590,26,20966\",\",590,6,20946,590,27,20967\",\",591,11,20979,591,18,20986\",\",591,20,20988,591,27,20995\",\",594,2,21013,594,18,21029\",\",600,7,21303,600,19,21315\",\",600,23,21319,600,35,21331\",\",600,39,21335,600,51,21347\",\",603,8,21387,603,16,21395\",\",603,18,21397,603,26,21405\",\",603,28,21407,603,36,21415\",\",603,6,21385,603,37,21416\",\",604,11,21428,604,18,21435\",\",604,20,21437,604,27,21444\",\",604,29,21446,604,36,21453\",\",607,2,21471,607,24,21493\",\",613,7,21786,613,19,21798\",\",613,23,21802,613,35,21814\",\",613,39,21818,613,51,21830\",\",613,55,21834,613,67,21846\",\",616,8,21886,616,16,21894\",\",616,18,21896,616,26,21904\",\",616,28,21906,616,36,21914\",\",616,38,21916,616,46,21924\",\",616,6,21884,616,47,21925\",\",617,11,21937,617,18,21944\",\",617,20,21946,617,27,21953\",\",617,29,21955,617,36,21962\",\",617,38,21964,617,45,21971\",\",620,2,21989,620,30,22017\",\",626,7,22227,626,18,22238\",\",629,11,22281,629,18,22288\",\",629,6,22276,629,19,22289\",\",630,11,22301,630,16,22306\",\",630,18,22308,630,24,22314\",\",633,2,22332,633,16,22346\",\",639,7,22606,639,19,22618\",\",639,23,22622,639,35,22634\",\",642,11,22677,642,19,22685\",\",642,21,22687,642,29,22695\",\",642,6,22672,642,30,22696\",\",643,11,22708,643,16,22713\",\",643,18,22715,643,25,22722\",\",643,27,22724,643,34,22731\",\",646,2,22749,646,23,22770\",\",652,7,23073,652,19,23085\",\",652,23,23089,652,35,23101\",\",652,39,23105,652,51,23117\",\",655,11,23160,655,19,23168\",\",655,21,23170,655,29,23178\",\",655,31,23180,655,39,23188\",\",655,6,23155,655,40,23189\",\",656,11,23201,656,16,23206\",\",656,18,23208,656,25,23215\",\",656,27,23217,656,34,23224\",\",656,36,23226,656,43,23233\",\",659,2,23251,659,29,23278\",\",665,7,23616,665,19,23628\",\",665,23,23632,665,35,23644\",\",665,39,23648,665,51,23660\",\",665,55,23664,665,67,23676\",\",668,11,23719,668,19,23727\",\",668,21,23729,668,29,23737\",\",668,31,23739,668,39,23747\",\",668,41,23749,668,49,23757\",\",668,6,23714,668,50,23758\",\",669,11,23770,669,16,23775\",\",669,18,23777,669,25,23784\",\",669,27,23786,669,34,23793\",\",669,36,23795,669,43,23802\",\",669,45,23804,669,52,23811\",\",672,2,23829,672,35,23862\",\",682,20,24297,682,32,24309\",\",683,21,24332,683,40,24351\",\",682,6,24283,685,9,24385\",\",679,2,24218,686,5,24391\",\",692,2,24617,692,38,24653\",\",698,5,24884,698,18,24897\",\",701,21,24937,701,29,24945\",\",701,6,24922,701,30,24946\",\",701,32,24948,701,41,24957\",\",701,4,24920,701,42,24958\",\",708,5,25267,708,17,25279\",\",708,21,25283,708,33,25295\",\",711,21,25335,711,29,25343\",\",711,31,25345,711,39,25353\",\",711,13,25327,711,40,25354\",\",711,42,25356,711,49,25363\",\",711,51,25365,711,58,25372\",\",718,5,25702,718,17,25714\",\",718,21,25718,718,33,25730\",\",718,37,25734,718,49,25746\",\",721,21,25786,721,29,25794\",\",721,31,25796,721,39,25804\",\",721,41,25806,721,49,25814\",\",721,13,25778,721,50,25815\",\",721,52,25817,721,59,25824\",\",721,61,25826,721,68,25833\",\",721,70,25835,721,77,25842\",\",728,5,26192,728,17,26204\",\",728,21,26208,728,33,26220\",\",728,37,26224,728,49,26236\",\",728,53,26240,728,65,26252\",\",731,21,26292,731,29,26300\",\",731,31,26302,731,39,26310\",\",731,41,26312,731,49,26320\",\",731,51,26322,731,59,26330\",\",731,13,26284,731,60,26331\",\",731,62,26333,731,69,26340\",\",731,71,26342,731,78,26349\",\",731,80,26351,731,87,26358\",\",731,89,26360,731,96,26367\",\",739,7,26722,739,29,26744\",\",742,11,26777,742,16,26782\",\",742,28,26794,742,46,26812\",\",742,18,26784,742,47,26813\",\",742,49,26815,742,66,26832\",\",745,2,26850,745,22,26870\",\",750,6,26976,750,19,26989\",\",750,26,26996,750,61,27031\",\",751,6,27038,751,18,27050\",\",752,10,27067,752,19,27076\",\",753,10,27087,753,18,27095\",\",754,24,27120,754,34,27130\",\",757,53,27272,757,76,27295\",\",757,18,27237,757,77,27296\",\",749,2,26965,759,5,27312\",\",763,2,27389,763,38,27425\",\",767,22,27505,767,39,27522\",\",767,2,27485,767,40,27523\",\",771,2,27604,771,35,27637\",\",775,22,27721,775,43,27742\",\",775,2,27701,775,44,27743\",\",779,2,27830,779,35,27863\",\",783,22,27953,783,49,27980\",\",783,2,27933,783,50,27981\",\",787,5,28035,787,18,28048\",\",790,18,28186,790,23,28191\",\",790,11,28179,790,24,28192\",\",791,28,28221,791,50,28243\",\",791,6,28199,791,51,28244\",\",792,6,28251,792,31,28276\",\",789,54,28118,789,63,28127\",\",789,65,28129,789,77,28141\",\",789,41,28105,789,78,28142\",\",789,87,28151,789,95,28159\",\",789,11,28075,794,7,28294\",\",795,4,28299,795,27,28322\",\",803,23,28499,803,31,28507\",\",804,18,28527,804,37,28546\",\",805,29,28576,805,48,28595\",\",805,21,28568,805,49,28596\",\",803,6,28482,806,9,28606\",\",800,2,28408,807,5,28612\",\",815,18,28793,815,37,28812\",\",816,29,28842,816,48,28861\",\",816,21,28834,816,49,28862\",\",814,6,28751,817,9,28872\",\",811,2,28677,818,5,28878\",\",826,37,29137,826,57,29157\",\",827,43,29202,827,57,29216\",\",827,31,29190,827,58,29217\",\",828,42,29260,828,56,29274\",\",828,30,29248,828,57,29275\",\",829,19,29295,829,33,29309\",\",826,6,29106,830,9,29319\",\",823,2,29036,831,5,29325\",\",841,11,29620,841,22,29631\",\",842,22,29661,842,32,29671\",\",842,10,29649,842,33,29672\",\",838,4,29542,847,7,29742\",\",849,4,29753,849,13,29762\",\",859,2,30236,859,46,30280\",\",868,2,30527,868,51,30576\",\",884,17,30981,884,31,30995\",\",885,28,31029,885,42,31043\",\",885,20,31021,885,43,31044\",\",886,39,31089,886,53,31103\",\",886,31,31081,886,54,31104\",\",886,23,31073,886,55,31105\",\",887,50,31161,887,64,31175\",\",887,42,31153,887,65,31176\",\",887,34,31145,887,66,31177\",\",887,26,31137,887,67,31178\",\",888,61,31245,888,75,31259\",\",888,53,31237,888,76,31260\",\",888,45,31229,888,77,31261\",\",888,37,31221,888,78,31262\",\",888,29,31213,888,79,31263\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkMGQ,uCAlMHR;AAAAA;AAkMGQ,wCAlMHR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsMGS,uCAtMHT;AAAAA;AAsMGS,sCAtMHT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqOGkB,uCArOHlB;AAAAA;AAqOGkB,oDArOHlB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+DKmB,mCA/DLnB;AAAAA;AA+DKmB,uDA/DLnB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA6PK0E,gDA7PL1E;AAAAA;AAAAA;AAAAA,SAsPC2E,gDAtPD3E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2Q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AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6Y2B4J,8CA7Y3B5J;AAAAA;AAAAA;AAAAA;AA6YmB6J,8CA7YnB7J;AAAAA;AAAAA;AAAAA,QA2YC8J,kDA3YD9J;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBCgb,mEA1vBDhb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBqBib,gDA9vBrBjb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBCkb,uEA9vBDlb;AAAAA;AA8vBCkb,mEA9vBDlb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkwBCmb,iEAlwBDnb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBqBob,oDAtwBrBpb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBCqb,uEAtwBDrb;AAAAA;AAswBCqb,mEAtwBDrb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0wBCsb,iEA1wBDtb;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA01BC6d,mFA11BD7d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAm2BC8d,wFAn2BD9d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BgB+d,gDAn3BhB/d;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo3B2Bge,gDAp3B3Bhe;AAAAA;AAAAA;AAo3BmBie,8CAp3BnBje;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq3BsCke,gDAr3BtCle;AAAAA;AAAAA;AAq3B8Bme,6CAr3B9Bne;AAAAA;AAAAA;AAq3BsBoe,8CAr3BtBpe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BiDqe,gDAt3BjDre;AAAAA;AAAAA;AAs3ByCse,8CAt3BzCte;AAAAA;AAAAA;AAs3BiCue,6CAt3BjCve;AAAAA;AAAAA;AAs3ByBwe,8CAt3BzBxe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu3B4Dye,gDAv3B5Dze;AAAAA;AAAAA;AAu3BoD0e,8CAv3BpD1e;AAAAA;AAAAA;AAu3B4C2e,8CAv3B5C3e;AAAAA;AAAAA;AAu3BoC4e,8CAv3BpC5e;AAAAA;AAAAA;AAu3B4B6e,8CAv3B5B7e;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAUDoE,sDAVCpE;AAAAA;AAAAA;AAAAA;AAAAA,SAUDoE,uDAVCpE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://lists\"}", -"theModule":"function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__951(R,NAMESPACE,M,$$included$225,$equality26,$$underscore_import5,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://lists\";\nvar D = R.undefined;\nvar L = [[M,167,2,6825,167,106,6929],\n[M,167,80,6903,167,101,6924],\n[M,167,37,6860,167,53,6876],\n[M,167,55,6878,167,102,6925],\n[M,167,25,6848,167,32,6855],\n[M,169,2,6934,171,5,7022],\n[M,170,4,6998,170,22,7016],\n[M,169,53,6985,169,60,6992],\n[M,169,23,6955,169,30,6962],\n[M,169,41,6973,169,48,6980],\n[M,173,2,7027,176,5,7210],\n[M,175,4,7192,175,7,7195],\n[M,173,40,7065,173,47,7072],\n[M,175,4,7192,175,16,7204],\n[M,173,27,7052,173,35,7060],\n[M,178,2,7215,181,5,7424],\n[M,180,4,7403,180,10,7409],\n[M,178,57,7270,178,64,7277],\n[M,180,4,7403,180,19,7418],\n[M,178,24,7237,178,31,7244],\n[M,178,38,7251,178,52,7265],\n[M,183,2,7429,186,5,7612],\n[M,185,4,7593,185,8,7597],\n[M,183,55,7482,183,62,7489],\n[M,185,4,7593,185,17,7606],\n[M,183,22,7449,183,29,7456],\n[M,183,36,7463,183,50,7477],\n[M,188,2,7617,191,5,7774],\n[M,190,4,7755,190,11,7762],\n[M,188,37,7652,188,44,7659],\n[M,190,4,7755,190,17,7768],\n[M,188,25,7640,188,32,7647],\n[M,193,2,7779,196,5,7929],\n[M,195,4,7908,195,8,7912],\n[M,193,44,7821,193,51,7828],\n[M,195,4,7908,195,19,7923],\n[M,193,22,7799,193,29,7806],\n[M,193,38,7815,193,39,7816],\n[M,197,2,7933,200,5,8166],\n[M,199,4,8143,199,12,8151],\n[M,197,53,7984,197,70,8001],\n[M,197,72,8003,197,89,8020],\n[M,197,51,7982,197,91,8022],\n[M,199,4,8143,199,21,8160],\n[M,197,26,7957,197,33,7964],\n[M,197,40,7971,197,46,7977],\n[M,201,2,8170,204,5,8311],\n[M,203,4,8281,203,12,8289],\n[M,203,4,8281,203,28,8305],\n[M,201,47,8215,201,54,8222],\n[M,203,4,8281,203,21,8298],\n[M,201,22,8190,201,29,8197],\n[M,201,36,8204,201,42,8210],\n[M,205,2,8315,208,5,8464],\n[M,207,4,8434,207,12,8442],\n[M,207,4,8434,207,28,8458],\n[M,205,47,8360,205,54,8367],\n[M,207,4,8434,207,21,8451],\n[M,205,22,8335,205,29,8342],\n[M,205,36,8349,205,42,8355],\n[M,210,2,8469,213,5,8627],\n[M,212,4,8609,212,7,8612],\n[M,210,46,8513,210,47,8514],\n[M,212,4,8609,212,16,8621],\n[M,210,21,8488,210,28,8495],\n[M,210,35,8502,210,41,8508],\n[M,214,2,8631,217,5,8832],\n[M,216,4,8811,216,7,8814],\n[M,214,54,8683,214,61,8690],\n[M,216,4,8811,216,19,8826],\n[M,214,21,8650,214,28,8657],\n[M,214,35,8664,214,41,8670],\n[M,214,48,8677,214,49,8678],\n[M,218,2,8836,221,5,9001],\n[M,220,4,8980,220,10,8986],\n[M,218,44,8878,218,51,8885],\n[M,220,4,8980,220,19,8995],\n[M,218,24,8858,218,31,8865],\n[M,218,38,8872,218,39,8873],\n[M,222,2,9005,226,5,9238],\n[M,225,4,9213,225,12,9221],\n[M,222,53,9056,222,59,9062],\n[M,225,4,9213,225,23,9232],\n[M,222,26,9029,222,33,9036],\n[M,222,42,9045,222,48,9051],\n[M,227,2,9242,231,5,9572],\n[M,230,4,9532,230,17,9545],\n[M,227,78,9318,227,84,9324],\n[M,230,4,9532,230,38,9566],\n[M,227,31,9271,227,38,9278],\n[M,227,47,9287,227,53,9293],\n[M,227,67,9307,227,73,9313],\n[M,13,4,186,16,7,325],\n[M,13,38,220,13,44,226],\n[M,13,26,208,13,33,215],\n[M,18,4,332,21,7,548],\n[M,18,57,385,18,66,394],\n[M,18,24,352,18,31,359],\n[M,18,38,366,18,52,380],\n[M,23,4,555,28,7,989],\n[M,27,17,957,27,22,962],\n[M,27,34,974,27,39,979],\n[M,23,63,614,23,81,632],\n[M,23,83,634,23,102,653],\n[M,23,62,613,23,103,654],\n[M,23,29,580,23,36,587],\n[M,23,43,594,23,57,608],\n[M,30,4,996,34,7,1233],\n[M,30,69,1061,30,70,1062],\n[M,30,28,1020,30,35,1027],\n[M,30,42,1034,30,53,1045],\n[M,30,63,1055,30,64,1056],\n[M,36,4,1240,40,7,1476],\n[M,36,69,1305,36,70,1306],\n[M,36,28,1264,36,35,1271],\n[M,36,42,1278,36,53,1289],\n[M,36,63,1299,36,64,1300],\n[M,42,4,1483,45,7,1654],\n[M,42,56,1535,42,63,1542],\n[M,42,23,1502,42,30,1509],\n[M,42,37,1516,42,51,1530],\n[M,47,4,1661,50,7,1831],\n[M,47,56,1713,47,63,1720],\n[M,47,23,1680,47,30,1687],\n[M,47,37,1694,47,51,1708],\n[M,52,4,1838,55,7,1993],\n[M,52,48,1882,52,55,1889],\n[M,52,26,1860,52,33,1867],\n[M,52,42,1876,52,43,1877],\n[M,57,4,2000,60,7,2170],\n[M,57,56,2052,57,63,2059],\n[M,57,26,2022,57,33,2029],\n[M,57,44,2040,57,51,2047],\n[M,62,4,2177,65,7,2356],\n[M,62,36,2209,62,37,2210],\n[M,64,6,2310,64,44,2348],\n[M,62,24,2197,62,31,2204],\n[M,67,4,2363,72,7,2739],\n[M,67,90,2449,67,97,2456],\n[M,67,27,2386,67,34,2393],\n[M,67,43,2402,67,60,2419],\n[M,67,68,2427,67,85,2444],\n[M,74,4,2746,78,7,2948],\n[M,74,36,2778,74,43,2785],\n[M,74,24,2766,74,31,2773],\n[M,81,4,2999,84,7,3159],\n[M,83,10,3133,83,19,3142],\n[M,83,10,3133,83,28,3151],\n[M,81,38,3033,81,44,3039],\n[M,83,6,3129,83,28,3151],\n[M,81,26,3021,81,33,3028],\n[M,86,4,3166,91,7,3583],\n[M,90,6,3557,90,15,3566],\n[M,86,63,3225,86,81,3243],\n[M,86,83,3245,86,102,3264],\n[M,86,62,3224,86,103,3265],\n[M,90,6,3557,90,24,3575],\n[M,86,29,3191,86,36,3198],\n[M,86,43,3205,86,57,3219],\n[M,93,4,3590,96,7,3815],\n[M,95,6,3794,95,10,3798],\n[M,93,57,3643,93,66,3652],\n[M,95,6,3794,95,19,3807],\n[M,93,24,3610,93,31,3617],\n[M,93,38,3624,93,52,3638],\n[M,98,4,3822,101,7,4016],\n[M,100,14,3972,100,24,3982],\n[M,98,48,3866,98,55,3873],\n[M,100,29,3987,100,38,3996],\n[M,100,29,3987,100,50,4008],\n[M,100,7,3965,100,24,3982],\n[M,98,26,3844,98,33,3851],\n[M,98,42,3860,98,43,3861],\n[M,103,4,4023,107,7,4298],\n[M,106,8,4253,106,18,4263],\n[M,106,20,4265,106,29,4274],\n[M,106,20,4265,106,44,4289],\n[M,103,69,4088,103,70,4089],\n[M,106,6,4251,106,45,4290],\n[M,103,28,4047,103,35,4054],\n[M,103,42,4061,103,53,4072],\n[M,103,63,4082,103,64,4083],\n[M,109,4,4305,113,7,4579],\n[M,112,6,4532,112,15,4541],\n[M,112,27,4553,112,37,4563],\n[M,112,6,4532,112,45,4571],\n[M,109,69,4370,109,70,4371],\n[M,112,25,4551,112,44,4570],\n[M,109,28,4329,109,35,4336],\n[M,109,42,4343,109,53,4354],\n[M,109,63,4364,109,64,4365],\n[M,115,4,4586,118,7,4787],\n[M,117,8,4747,117,18,4757],\n[M,115,56,4638,115,63,4645],\n[M,117,24,4763,117,33,4772],\n[M,117,24,4763,117,40,4779],\n[M,117,6,4745,117,19,4758],\n[M,115,23,4605,115,30,4612],\n[M,115,37,4619,115,51,4633],\n[M,120,4,4794,123,7,4992],\n[M,122,8,4953,122,18,4963],\n[M,120,56,4846,120,63,4853],\n[M,122,23,4968,122,32,4977],\n[M,122,23,4968,122,39,4984],\n[M,122,6,4951,122,19,4964],\n[M,120,23,4813,120,30,4820],\n[M,120,37,4827,120,51,4841],\n[M,125,4,4999,128,7,5209],\n[M,127,6,5156,127,16,5166],\n[M,127,19,5169,127,23,5173],\n[M,127,27,5177,127,36,5186],\n[M,127,27,5177,127,50,5200],\n[M,125,56,5051,125,63,5058],\n[M,127,19,5169,127,51,5201],\n[M,125,26,5021,125,33,5028],\n[M,125,44,5039,125,51,5046],\n[M,130,4,5216,135,7,5430],\n[M,132,9,5352,132,17,5360],\n[M,132,18,5361,132,27,5370],\n[M,130,36,5248,130,37,5249],\n[M,132,30,5373,132,40,5383],\n[M,133,12,5396,133,21,5405],\n[M,133,12,5396,133,28,5412],\n[M,132,9,5352,132,28,5371],\n[M,130,24,5236,130,31,5243],\n[M,137,4,5437,159,7,6558],\n[M,141,14,5815,141,24,5825],\n[M,146,19,6114,146,24,6119],\n[M,147,19,6139,147,24,6144],\n[M,148,19,6164,148,24,6169],\n[M,149,16,6186,154,11,6405],\n[M,150,46,6240,150,50,6244],\n[M,150,46,6240,150,61,6255],\n[M,151,46,6302,151,50,6306],\n[M,151,46,6302,151,61,6317],\n[M,152,46,6364,152,50,6368],\n[M,152,46,6364,152,61,6379],\n[M,151,18,6274,151,30,6286],\n[M,150,13,6207,150,26,6220],\n[M,149,6,6176,154,12,6406],\n[M,155,16,6423,155,39,6446],\n[M,157,16,6486,157,39,6509],\n[M,158,18,6528,158,39,6549],\n[M,158,6,6516,158,40,6550],\n[M,137,90,5523,137,97,5530],\n[M,137,27,5460,137,34,5467],\n[M,137,43,5476,137,60,5493],\n[M,137,68,5501,137,85,5518],\n[M,161,4,6565,165,7,6812],\n[M,164,19,6768,164,42,6791],\n[M,164,31,6780,164,38,6787],\n[M,164,6,6755,164,55,6804],\n[M,161,36,6597,161,43,6604],\n[M,161,24,6585,161,31,6592],\n[M,12,2,168,78,8,2949],\n[M,79,2,2952,165,8,6813],\n[M,79,18,2968,79,19,2969],\n[M,79,29,2979,79,36,2986],\n[M,11,0,152,232,3,9577],\n[M,234,0,9579,243,3,9828],\n[M,236,2,9688,241,5,9809],\n[M,236,22,9708,236,28,9714],\n[M,238,6,9742,238,20,9756],\n[M,237,4,9720,240,7,9803],\n[M,239,30,9787,239,37,9794],\n[M,239,6,9763,239,38,9795],\n[M,237,11,9727,237,15,9731],\n[M,234,33,9612,234,39,9618],\n[M,242,2,9812,242,14,9824],\n[M,234,21,9600,234,28,9607],\n[M,245,0,9830,263,3,10467],\n[M,245,59,9889,245,66,9896],\n[M,250,8,10092,250,23,10107],\n[M,249,6,10066,252,9,10141],\n[M,249,12,10072,249,16,10076],\n[M,248,4,10049,252,9,10141],\n[M,247,2,10027,258,5,10284],\n[M,255,8,10198,255,24,10214],\n[M,254,6,10172,257,9,10278],\n[M,256,8,10223,256,53,10268],\n[M,254,12,10178,254,16,10182],\n[M,253,4,10146,257,9,10278],\n[M,247,8,10033,247,12,10037],\n[M,245,30,9860,245,37,9867],\n[M,245,47,9877,245,54,9884],\n[M,265,0,10469,275,3,10909],\n[M,265,53,10522,265,60,10529],\n[M,268,15,10702,268,22,10709],\n[M,268,4,10691,268,22,10709],\n[M,267,2,10670,270,5,10778],\n[M,269,36,10746,269,62,10772],\n[M,269,54,10764,269,61,10771],\n[M,269,24,10734,269,31,10741],\n[M,269,4,10714,269,62,10772],\n[M,267,8,10676,267,12,10680],\n[M,265,26,10495,265,33,10502],\n[M,265,42,10511,265,48,10517],\n[M,277,0,10911,287,3,11358],\n[M,277,54,10965,277,61,10972],\n[M,280,15,11146,280,22,11153],\n[M,280,4,11135,280,22,11153],\n[M,279,2,11114,282,5,11224],\n[M,281,37,11191,281,64,11218],\n[M,281,56,11210,281,63,11217],\n[M,281,24,11178,281,31,11185],\n[M,281,4,11158,281,64,11218],\n[M,279,8,11120,279,12,11124],\n[M,277,27,10938,277,34,10945],\n[M,277,43,10954,277,49,10960],\n[M,289,0,11360,300,3,11744],\n[M,291,2,11500,296,5,11654],\n[M,292,20,11538,292,60,11578],\n[M,292,26,11544,292,59,11577],\n[M,292,48,11566,292,59,11577],\n[M,293,22,11601,293,29,11608],\n[M,294,15,11624,294,21,11630],\n[M,294,23,11632,294,30,11639],\n[M,293,12,11591,293,20,11599],\n[M,289,43,11403,289,44,11404],\n[M,297,12,11667,297,58,11713],\n[M,297,18,11673,297,57,11712],\n[M,297,46,11701,297,57,11712],\n[M,298,8,11722,298,20,11734],\n[M,297,5,11660,297,10,11665],\n[M,289,18,11378,289,25,11385],\n[M,289,32,11392,289,38,11398],\n[M,302,0,11746,314,3,12240],\n[M,305,2,11965,310,5,12150],\n[M,306,20,12003,306,60,12043],\n[M,306,26,12009,306,59,12042],\n[M,306,48,12031,306,59,12042],\n[M,307,34,12078,307,40,12084],\n[M,308,10,12096,308,17,12103],\n[M,308,33,12119,308,39,12125],\n[M,308,28,12114,308,49,12135],\n[M,308,41,12127,308,48,12134],\n[M,307,12,12056,307,20,12064],\n[M,302,46,11792,302,47,11793],\n[M,311,12,12163,311,58,12209],\n[M,311,18,12169,311,57,12208],\n[M,311,46,12197,311,57,12208],\n[M,312,8,12218,312,20,12230],\n[M,311,5,12156,311,10,12161],\n[M,302,18,11764,302,25,11771],\n[M,302,32,11778,302,38,11784],\n[M,316,0,12242,322,3,12509],\n[M,318,2,12375,318,6,12379],\n[M,318,7,12380,318,40,12413],\n[M,316,34,12276,316,41,12283],\n[M,318,2,12375,318,53,12426],\n[M,316,22,12264,316,29,12271],\n[M,324,0,12511,326,3,12577],\n[M,324,39,12550,324,46,12557],\n[M,324,17,12528,324,24,12535],\n[M,324,33,12544,324,34,12545],\n[M,328,0,12579,342,3,12914],\n[M,330,2,12703,336,5,12817],\n[M,331,16,12750,331,22,12756],\n[M,330,30,12731,330,31,12732],\n[M,332,6,12765,332,13,12772],\n[M,334,13,12796,334,19,12802],\n[M,330,18,12719,330,25,12726],\n[M,328,31,12610,328,32,12611],\n[M,338,4,12842,338,42,12880],\n[M,340,4,12893,340,15,12904],\n[M,328,19,12598,328,26,12605],\n[M,344,0,12916,346,3,13036],\n[M,345,2,13012,345,22,13032],\n[M,344,85,13001,344,92,13008],\n[M,344,22,12938,344,29,12945],\n[M,344,38,12954,344,55,12971],\n[M,344,63,12979,344,80,12996],\n[M,348,0,13038,350,3,13094],\n[M,349,2,13080,349,12,13090],\n[M,348,31,13069,348,38,13076],\n[M,348,19,13057,348,26,13064],\n[M,352,0,13096,361,3,13451],\n[M,352,46,13142,352,58,13154],\n[M,354,19,13251,358,14,13373],\n[M,354,25,13257,358,13,13372],\n[M,354,25,13257,357,24,13358],\n[M,357,10,13344,357,24,13358],\n[M,354,25,13257,356,14,13333],\n[M,354,25,13257,355,25,13318],\n[M,355,10,13303,355,25,13318],\n[M,359,42,13416,359,51,13425],\n[M,359,26,13400,359,66,13440],\n[M,359,53,13427,359,65,13439],\n[M,354,5,13237,354,17,13249],\n[M,352,19,13115,352,25,13121],\n[M,352,35,13131,352,41,13137],\n[M,363,0,13453,381,3,14189],\n[M,363,66,13519,363,78,13531],\n[M,368,10,13722,368,76,13788],\n[M,367,7,13691,367,20,13704],\n[M,372,38,13901,372,69,13932],\n[M,372,46,13909,372,65,13928],\n[M,372,55,13918,372,64,13927],\n[M,372,22,13885,372,75,13938],\n[M,371,30,13835,371,52,13857],\n[M,371,31,13836,371,43,13848],\n[M,366,5,13672,366,15,13682],\n[M,363,22,13475,363,28,13481],\n[M,363,38,13491,363,44,13497],\n[M,363,55,13508,363,61,13514],\n[M,383,0,14191,388,3,14397],\n[M,383,38,14229,383,45,14236],\n[M,385,12,14293,385,60,14341],\n[M,385,5,14286,385,10,14291],\n[M,383,19,14210,383,25,14216],\n[M,383,32,14223,383,33,14224],\n[M,390,0,14399,393,3,14561],\n[M,392,2,14525,392,34,14557],\n[M,390,54,14453,390,61,14460],\n[M,390,19,14418,390,33,14432],\n[M,390,42,14441,390,49,14448],\n[M,395,0,14563,400,3,14722],\n[M,395,52,14615,395,59,14622],\n[M,397,4,14652,397,19,14667],\n[M,396,2,14626,399,5,14718],\n[M,398,28,14696,398,43,14711],\n[M,398,4,14672,398,44,14712],\n[M,396,8,14632,396,15,14639],\n[M,395,23,14586,395,30,14593],\n[M,395,40,14603,395,47,14610],\n[M,402,0,14724,420,3,15323],\n[M,406,2,14984,417,5,15264],\n[M,410,11,15074,410,25,15088],\n[M,411,11,15101,411,26,15116],\n[M,412,19,15138,412,34,15153],\n[M,414,20,15205,414,35,15220],\n[M,411,9,15099,411,27,15117],\n[M,410,6,15069,410,26,15089],\n[M,402,58,14782,402,76,14800],\n[M,402,78,14802,402,97,14821],\n[M,402,57,14781,402,98,14822],\n[M,418,2,15267,418,11,15276],\n[M,402,22,14746,402,36,14760],\n[M,402,45,14769,402,52,14776],\n[M,422,0,15325,433,3,15631],\n[M,422,43,15368,422,50,15375],\n[M,427,14,15520,427,23,15529],\n[M,428,13,15544,428,21,15552],\n[M,430,11,15580,430,20,15589],\n[M,430,29,15598,430,37,15606],\n[M,430,22,15591,430,43,15612],\n[M,427,7,15513,427,23,15529],\n[M,422,21,15346,422,28,15353],\n[M,422,37,15362,422,38,15363],\n[M,435,0,15633,447,3,15953],\n[M,435,52,15685,435,61,15694],\n[M,441,9,15868,441,18,15877],\n[M,442,11,15891,442,20,15900],\n[M,444,14,15926,444,22,15934],\n[M,441,7,15866,441,19,15878],\n[M,435,17,15650,435,31,15664],\n[M,435,40,15673,435,47,15680],\n[M,449,0,15955,469,3,16588],\n[M,456,2,16282,466,5,16532],\n[M,460,19,16385,460,43,16409],\n[M,460,8,16374,460,43,16409],\n[M,459,6,16345,464,9,16518],\n[M,462,10,16448,462,28,16466],\n[M,462,15,16453,462,22,16460],\n[M,461,8,16418,463,41,16508],\n[M,459,12,16351,459,16,16355],\n[M,457,7,16307,457,15,16315],\n[M,449,50,16005,449,67,16022],\n[M,449,69,16024,449,86,16041],\n[M,449,48,16003,449,88,16043],\n[M,467,2,16535,467,14,16547],\n[M,452,4,16209,452,26,16231],\n[M,451,18,16181,451,40,16203],\n[M,451,8,16171,451,13,16176],\n[M,449,21,15976,449,27,15982],\n[M,449,36,15991,449,43,15998],\n[M,471,0,16590,474,3,16746],\n[M,473,2,16719,473,25,16742],\n[M,471,44,16634,471,51,16641],\n[M,473,2,16719,473,18,16735],\n[M,471,17,16607,471,23,16613],\n[M,471,32,16622,471,39,16629],\n[M,476,0,16748,479,3,16912],\n[M,478,2,16885,478,25,16908],\n[M,476,44,16792,476,51,16799],\n[M,478,2,16885,478,18,16901],\n[M,476,17,16765,476,23,16771],\n[M,476,32,16780,476,39,16787],\n[M,481,0,16914,488,3,17124],\n[M,481,51,16965,481,58,16972],\n[M,486,6,17084,486,15,17093],\n[M,486,27,17105,486,35,17113],\n[M,486,20,17098,486,36,17114],\n[M,486,4,17082,486,16,17094],\n[M,481,16,16930,481,30,16944],\n[M,481,39,16953,481,46,16960],\n[M,490,0,17126,497,3,17337],\n[M,490,51,17177,490,58,17184],\n[M,495,6,17296,495,15,17305],\n[M,495,28,17318,495,36,17326],\n[M,495,21,17311,495,37,17327],\n[M,495,4,17294,495,16,17306],\n[M,490,16,17142,490,30,17156],\n[M,490,39,17165,490,46,17172],\n[M,499,0,17339,508,3,17733],\n[M,502,2,17578,506,5,17710],\n[M,504,12,17650,504,20,17658],\n[M,504,22,17660,504,30,17668],\n[M,504,41,17679,504,48,17686],\n[M,504,50,17688,504,57,17695],\n[M,504,36,17674,504,58,17696],\n[M,504,10,17648,504,31,17669],\n[M,499,76,17415,499,83,17422],\n[M,507,2,17713,507,18,17729],\n[M,499,20,17359,499,37,17376],\n[M,499,47,17386,499,54,17393],\n[M,499,64,17403,499,71,17410],\n[M,510,0,17735,513,3,17897],\n[M,512,2,17864,512,31,17893],\n[M,510,48,17783,510,55,17790],\n[M,510,19,17754,510,27,17762],\n[M,510,36,17771,510,43,17778],\n[M,515,0,17899,522,3,18187],\n[M,515,69,17968,515,76,17975],\n[M,520,6,18121,520,14,18129],\n[M,520,16,18131,520,24,18139],\n[M,520,44,18159,520,51,18166],\n[M,520,53,18168,520,60,18175],\n[M,520,36,18151,520,61,18176],\n[M,520,4,18119,520,25,18140],\n[M,515,23,17922,515,34,17933],\n[M,515,42,17941,515,49,17948],\n[M,515,57,17956,515,64,17963],\n[M,524,0,18189,531,3,18535],\n[M,524,90,18279,524,97,18286],\n[M,529,6,18450,529,14,18458],\n[M,529,16,18460,529,24,18468],\n[M,529,26,18470,529,34,18478],\n[M,529,54,18498,529,61,18505],\n[M,529,63,18507,529,70,18514],\n[M,529,72,18516,529,79,18523],\n[M,529,46,18490,529,80,18524],\n[M,529,4,18448,529,35,18479],\n[M,524,26,18215,524,40,18229],\n[M,524,48,18237,524,55,18244],\n[M,524,63,18252,524,70,18259],\n[M,524,78,18267,524,85,18274],\n[M,533,0,18537,540,3,18953],\n[M,533,111,18648,533,118,18655],\n[M,538,6,18849,538,14,18857],\n[M,538,16,18859,538,24,18867],\n[M,538,26,18869,538,34,18877],\n[M,538,36,18879,538,44,18887],\n[M,538,64,18907,538,71,18914],\n[M,538,73,18916,538,80,18923],\n[M,538,82,18925,538,89,18932],\n[M,538,91,18934,538,98,18941],\n[M,538,56,18899,538,99,18942],\n[M,538,4,18847,538,45,18888],\n[M,533,29,18566,533,46,18583],\n[M,533,54,18591,533,61,18598],\n[M,533,69,18606,533,76,18613],\n[M,533,84,18621,533,91,18628],\n[M,533,99,18636,533,106,18643],\n[M,542,0,18955,549,3,19220],\n[M,542,71,19026,542,78,19033],\n[M,547,9,19163,547,18,19172],\n[M,547,46,19200,547,54,19208],\n[M,547,30,19184,547,55,19209],\n[M,547,39,19193,547,44,19198],\n[M,547,4,19158,547,19,19173],\n[M,542,21,18976,542,37,18992],\n[M,542,44,18999,542,50,19005],\n[M,542,59,19014,542,66,19021],\n[M,551,0,19222,558,3,19562],\n[M,551,92,19314,551,99,19321],\n[M,556,9,19487,556,17,19495],\n[M,556,19,19497,556,27,19505],\n[M,556,56,19534,556,63,19541],\n[M,556,65,19543,556,72,19550],\n[M,556,39,19517,556,73,19551],\n[M,556,49,19527,556,54,19532],\n[M,556,4,19482,556,28,19506],\n[M,551,25,19247,551,44,19266],\n[M,551,51,19273,551,57,19279],\n[M,551,65,19287,551,72,19294],\n[M,551,80,19302,551,87,19309],\n[M,560,0,19564,567,3,19974],\n[M,560,113,19677,560,120,19684],\n[M,565,9,19880,565,17,19888],\n[M,565,19,19890,565,27,19898],\n[M,565,29,19900,565,37,19908],\n[M,565,66,19937,565,73,19944],\n[M,565,75,19946,565,82,19953],\n[M,565,84,19955,565,91,19962],\n[M,565,49,19920,565,92,19963],\n[M,565,59,19930,565,64,19935],\n[M,565,4,19875,565,38,19909],\n[M,560,28,19592,560,50,19614],\n[M,560,57,19621,560,63,19627],\n[M,560,71,19635,560,78,19642],\n[M,560,86,19650,560,93,19657],\n[M,560,101,19665,560,108,19672],\n[M,569,0,19976,576,3,20456],\n[M,569,134,20110,569,141,20117],\n[M,574,9,20343,574,17,20351],\n[M,574,19,20353,574,27,20361],\n[M,574,29,20363,574,37,20371],\n[M,574,39,20373,574,47,20381],\n[M,574,76,20410,574,83,20417],\n[M,574,85,20419,574,92,20426],\n[M,574,94,20428,574,101,20435],\n[M,574,103,20437,574,110,20444],\n[M,574,59,20393,574,111,20445],\n[M,574,69,20403,574,74,20408],\n[M,574,4,20338,574,48,20382],\n[M,569,31,20007,569,56,20032],\n[M,569,63,20039,569,69,20045],\n[M,569,77,20053,569,84,20060],\n[M,569,92,20068,569,99,20075],\n[M,569,107,20083,569,114,20090],\n[M,569,122,20098,569,129,20105],\n[M,578,0,20458,582,3,20643],\n[M,580,2,20586,580,6,20590],\n[M,580,7,20591,580,30,20614],\n[M,580,20,20604,580,26,20610],\n[M,578,52,20510,578,59,20517],\n[M,580,2,20586,580,45,20629],\n[M,578,17,20475,578,31,20489],\n[M,578,40,20498,578,47,20505],\n[M,584,0,20645,595,3,21033],\n[M,586,2,20855,593,5,21010],\n[M,590,8,20948,590,16,20956],\n[M,590,18,20958,590,26,20966],\n[M,591,11,20979,591,18,20986],\n[M,591,20,20988,591,27,20995],\n[M,590,6,20946,590,27,20967],\n[M,584,77,20722,584,84,20729],\n[M,594,2,21013,594,18,21029],\n[M,584,21,20666,584,38,20683],\n[M,584,48,20693,584,55,20700],\n[M,584,65,20710,584,72,20717],\n[M,597,0,21035,608,3,21497],\n[M,599,2,21274,606,5,21468],\n[M,603,8,21387,603,16,21395],\n[M,603,18,21397,603,26,21405],\n[M,603,28,21407,603,36,21415],\n[M,604,11,21428,604,18,21435],\n[M,604,20,21437,604,27,21444],\n[M,604,29,21446,604,36,21453],\n[M,603,6,21385,603,37,21416],\n[M,597,100,21135,597,107,21142],\n[M,607,2,21471,607,24,21493],\n[M,597,24,21059,597,44,21079],\n[M,597,54,21089,597,61,21096],\n[M,597,71,21106,597,78,21113],\n[M,597,88,21123,597,95,21130],\n[M,610,0,21499,621,3,22021],\n[M,612,2,21753,619,5,21986],\n[M,616,8,21886,616,16,21894],\n[M,616,18,21896,616,26,21904],\n[M,616,28,21906,616,36,21914],\n[M,616,38,21916,616,46,21924],\n[M,617,11,21937,617,18,21944],\n[M,617,20,21946,617,27,21953],\n[M,617,29,21955,617,36,21962],\n[M,617,38,21964,617,45,21971],\n[M,616,6,21884,616,47,21925],\n[M,620,2,21989,620,30,22017],\n[M,610,27,21526,610,50,21549],\n[M,610,60,21559,610,67,21566],\n[M,610,77,21576,610,84,21583],\n[M,610,94,21593,610,101,21600],\n[M,610,111,21610,610,118,21617],\n[M,623,0,22023,634,3,22350],\n[M,625,2,22204,632,5,22329],\n[M,629,11,22281,629,18,22288],\n[M,630,18,22308,630,24,22314],\n[M,630,11,22301,630,16,22306],\n[M,629,6,22276,629,19,22289],\n[M,623,76,22099,623,83,22106],\n[M,633,2,22332,633,16,22346],\n[M,623,19,22042,623,41,22064],\n[M,623,50,22073,623,56,22079],\n[M,623,64,22087,623,71,22094],\n[M,636,0,22352,647,3,22774],\n[M,638,2,22578,645,5,22746],\n[M,642,11,22677,642,19,22685],\n[M,642,21,22687,642,29,22695],\n[M,643,18,22715,643,25,22722],\n[M,643,27,22724,643,34,22731],\n[M,643,11,22708,643,16,22713],\n[M,642,6,22672,642,30,22696],\n[M,636,102,22454,636,109,22461],\n[M,646,2,22749,646,23,22770],\n[M,636,23,22375,636,48,22400],\n[M,636,57,22409,636,63,22415],\n[M,636,73,22425,636,80,22432],\n[M,636,90,22442,636,97,22449],\n[M,649,0,22776,660,3,23282],\n[M,651,2,23041,658,5,23248],\n[M,655,11,23160,655,19,23168],\n[M,655,21,23170,655,29,23178],\n[M,655,31,23180,655,39,23188],\n[M,656,18,23208,656,25,23215],\n[M,656,27,23217,656,34,23224],\n[M,656,36,23226,656,43,23233],\n[M,656,11,23201,656,16,23206],\n[M,655,6,23155,655,40,23189],\n[M,649,125,22901,649,132,22908],\n[M,659,2,23251,659,29,23278],\n[M,649,26,22802,649,54,22830],\n[M,649,63,22839,649,69,22845],\n[M,649,79,22855,649,86,22862],\n[M,649,96,22872,649,103,22879],\n[M,649,113,22889,649,120,22896],\n[M,662,0,23284,673,3,23866],\n[M,664,2,23580,671,5,23826],\n[M,668,11,23719,668,19,23727],\n[M,668,21,23729,668,29,23737],\n[M,668,31,23739,668,39,23747],\n[M,668,41,23749,668,49,23757],\n[M,669,18,23777,669,25,23784],\n[M,669,27,23786,669,34,23793],\n[M,669,36,23795,669,43,23802],\n[M,669,45,23804,669,52,23811],\n[M,669,11,23770,669,16,23775],\n[M,668,6,23714,668,50,23758],\n[M,662,140,23424,662,147,23431],\n[M,672,2,23829,672,35,23862],\n[M,662,29,23313,662,52,23336],\n[M,662,61,23345,662,67,23351],\n[M,662,77,23361,662,84,23368],\n[M,662,94,23378,662,101,23385],\n[M,662,111,23395,662,118,23402],\n[M,662,128,23412,662,135,23419],\n[M,675,0,23868,687,3,24395],\n[M,675,80,23948,675,81,23949],\n[M,680,4,24239,680,19,24254],\n[M,679,2,24218,686,5,24391],\n[M,683,8,24319,683,40,24351],\n[M,682,6,24283,685,9,24385],\n[M,684,8,24360,684,23,24375],\n[M,682,12,24289,682,18,24295],\n[M,682,20,24297,682,32,24309],\n[M,683,21,24332,683,40,24351],\n[M,681,4,24259,685,9,24385],\n[M,679,8,24224,679,12,24228],\n[M,675,26,23894,675,48,23916],\n[M,675,58,23926,675,59,23927],\n[M,675,68,23936,675,75,23943],\n[M,689,0,24397,693,3,24657],\n[M,692,2,24617,692,38,24653],\n[M,689,63,24460,689,64,24461],\n[M,689,20,24417,689,31,24428],\n[M,689,41,24438,689,42,24439],\n[M,689,51,24448,689,58,24455],\n[M,695,0,24659,703,3,24968],\n[M,695,64,24723,695,65,24724],\n[M,701,21,24937,701,29,24945],\n[M,701,32,24948,701,41,24957],\n[M,701,4,24920,701,42,24958],\n[M,701,6,24922,701,30,24946],\n[M,695,21,24680,695,32,24691],\n[M,695,42,24701,695,43,24702],\n[M,695,52,24711,695,59,24718],\n[M,705,0,24970,713,3,25383],\n[M,705,84,25054,705,85,25055],\n[M,711,21,25335,711,29,25343],\n[M,711,31,25345,711,39,25353],\n[M,711,42,25356,711,49,25363],\n[M,711,51,25365,711,58,25372],\n[M,711,13,25327,711,40,25354],\n[M,705,24,24994,705,38,25008],\n[M,705,48,25018,705,49,25019],\n[M,705,57,25027,705,64,25034],\n[M,705,72,25042,705,79,25049],\n[M,715,0,25385,723,3,25853],\n[M,715,105,25490,715,106,25491],\n[M,721,21,25786,721,29,25794],\n[M,721,31,25796,721,39,25804],\n[M,721,41,25806,721,49,25814],\n[M,721,52,25817,721,59,25824],\n[M,721,61,25826,721,68,25833],\n[M,721,70,25835,721,77,25842],\n[M,721,13,25778,721,50,25815],\n[M,715,27,25412,715,44,25429],\n[M,715,54,25439,715,55,25440],\n[M,715,63,25448,715,70,25455],\n[M,715,78,25463,715,85,25470],\n[M,715,93,25478,715,100,25485],\n[M,725,0,25855,733,3,26378],\n[M,725,126,25981,725,127,25982],\n[M,731,21,26292,731,29,26300],\n[M,731,31,26302,731,39,26310],\n[M,731,41,26312,731,49,26320],\n[M,731,51,26322,731,59,26330],\n[M,731,62,26333,731,69,26340],\n[M,731,71,26342,731,78,26349],\n[M,731,80,26351,731,87,26358],\n[M,731,89,26360,731,96,26367],\n[M,731,13,26284,731,60,26331],\n[M,725,30,25885,725,50,25905],\n[M,725,60,25915,725,61,25916],\n[M,725,69,25924,725,76,25931],\n[M,725,84,25939,725,91,25946],\n[M,725,99,25954,725,106,25961],\n[M,725,114,25969,725,121,25976],\n[M,735,0,26380,746,3,26874],\n[M,738,2,26683,744,5,26847],\n[M,742,28,26794,742,46,26812],\n[M,742,49,26815,742,66,26832],\n[M,742,18,26784,742,47,26813],\n[M,742,11,26777,742,16,26782],\n[M,735,88,26468,735,89,26469],\n[M,745,2,26850,745,22,26870],\n[M,735,22,26402,735,41,26421],\n[M,735,50,26430,735,56,26436],\n[M,735,66,26446,735,67,26447],\n[M,735,76,26456,735,83,26463],\n[M,748,0,26876,760,3,27316],\n[M,750,26,26996,750,61,27031],\n[M,752,10,27067,752,19,27076],\n[M,753,10,27087,753,18,27095],\n[M,756,8,27193,756,33,27218],\n[M,755,6,27137,758,9,27306],\n[M,757,18,27237,757,77,27296],\n[M,757,53,27272,757,76,27295],\n[M,755,12,27143,755,35,27166],\n[M,754,24,27120,754,34,27130],\n[M,749,2,26965,759,5,27312],\n[M,748,26,26902,748,33,26909],\n[M,748,42,26918,748,43,26919],\n[M,748,51,26927,748,84,26960],\n[M,762,0,27318,764,3,27429],\n[M,762,44,27362,762,67,27385],\n[M,763,2,27389,763,38,27425],\n[M,762,22,27340,762,29,27347],\n[M,762,38,27356,762,39,27357],\n[M,766,0,27431,768,3,27527],\n[M,766,43,27474,766,50,27481],\n[M,767,2,27485,767,40,27523],\n[M,767,22,27505,767,39,27522],\n[M,766,21,27452,766,28,27459],\n[M,766,37,27468,766,38,27469],\n[M,770,0,27529,772,3,27641],\n[M,770,48,27577,770,71,27600],\n[M,771,2,27604,771,35,27637],\n[M,770,26,27555,770,33,27562],\n[M,770,42,27571,770,43,27572],\n[M,774,0,27643,776,3,27747],\n[M,774,47,27690,774,54,27697],\n[M,775,2,27701,775,44,27743],\n[M,775,22,27721,775,43,27742],\n[M,774,25,27668,774,32,27675],\n[M,774,41,27684,774,42,27685],\n[M,778,0,27749,780,3,27867],\n[M,778,54,27803,778,77,27826],\n[M,779,2,27830,779,35,27863],\n[M,778,32,27781,778,39,27788],\n[M,778,48,27797,778,49,27798],\n[M,782,0,27869,784,3,27985],\n[M,782,53,27922,782,60,27929],\n[M,783,2,27933,783,50,27981],\n[M,783,22,27953,783,49,27980],\n[M,782,31,27900,782,38,27907],\n[M,782,47,27916,782,48,27917],\n[M,786,0,27987,797,3,28332],\n[M,786,34,28021,786,41,28028],\n[M,789,11,28075,794,7,28294],\n[M,790,18,28186,790,23,28191],\n[M,789,54,28118,789,63,28127],\n[M,789,65,28129,789,77,28141],\n[M,789,87,28151,789,95,28159],\n[M,786,22,28009,786,29,28016],\n[M,799,0,28334,808,3,28616],\n[M,799,63,28397,799,70,28404],\n[M,801,4,28432,801,20,28448],\n[M,800,2,28408,807,5,28612],\n[M,804,8,28517,804,37,28546],\n[M,803,6,28482,806,9,28606],\n[M,805,29,28576,805,48,28595],\n[M,805,8,28555,805,49,28596],\n[M,803,12,28488,803,21,28497],\n[M,803,23,28499,803,31,28507],\n[M,804,18,28527,804,37,28546],\n[M,802,4,28453,806,9,28606],\n[M,800,8,28414,800,15,28421],\n[M,799,26,28360,799,42,28376],\n[M,799,51,28385,799,58,28392],\n[M,810,0,28618,819,3,28882],\n[M,810,48,28666,810,55,28673],\n[M,812,4,28701,812,20,28717],\n[M,811,2,28677,818,5,28878],\n[M,815,8,28783,815,37,28812],\n[M,814,6,28751,817,9,28872],\n[M,816,29,28842,816,48,28861],\n[M,816,8,28821,816,49,28862],\n[M,814,12,28757,814,21,28766],\n[M,815,18,28793,815,37,28812],\n[M,813,4,28722,817,9,28872],\n[M,811,8,28683,811,15,28690],\n[M,810,28,28646,810,43,28661],\n[M,821,0,28884,832,3,29329],\n[M,821,33,28917,821,40,28924],\n[M,824,4,29056,824,20,29072],\n[M,823,2,29036,831,5,29325],\n[M,827,43,29202,827,57,29216],\n[M,827,8,29167,827,58,29217],\n[M,826,6,29106,830,9,29319],\n[M,828,42,29260,828,56,29274],\n[M,828,8,29226,828,57,29275],\n[M,829,8,29284,829,33,29309],\n[M,826,12,29112,826,35,29135],\n[M,826,37,29137,826,57,29157],\n[M,829,19,29295,829,33,29309],\n[M,825,4,29077,830,9,29319],\n[M,823,9,29043,823,13,29047],\n[M,821,21,28905,821,28,28912],\n[M,834,0,29331,856,3,30176],\n[M,837,2,29525,848,5,29748],\n[M,839,6,29563,839,22,29579],\n[M,838,4,29542,847,7,29742],\n[M,842,22,29661,842,32,29671],\n[M,841,11,29620,841,22,29631],\n[M,840,6,29586,846,11,29734],\n[M,838,10,29548,838,14,29552],\n[M,834,62,29393,834,69,29400],\n[M,834,71,29402,834,78,29409],\n[M,834,61,29392,834,79,29410],\n[M,849,4,29753,849,13,29762],\n[M,834,26,29357,834,40,29371],\n[M,834,49,29380,834,56,29387],\n[M,858,0,30178,865,3,30442],\n[M,859,2,30236,859,46,30280],\n[M,858,48,30226,858,54,30232],\n[M,858,21,30199,858,28,30206],\n[M,858,37,30215,858,43,30221],\n[M,867,0,30444,875,3,30837],\n[M,868,2,30527,868,51,30576],\n[M,867,73,30517,867,79,30523],\n[M,867,26,30470,867,33,30477],\n[M,867,42,30486,867,48,30492],\n[M,867,62,30506,867,68,30512],\n[M,883,9,30946,883,25,30962],\n[M,884,9,30973,884,35,30999],\n[M,885,9,31010,885,47,31048],\n[M,886,9,31059,886,59,31109],\n[M,887,9,31120,887,71,31182],\n[M,888,9,31193,888,83,31267],\n[\"dummy location\"],\n[M,2,0,20,889,1,31270]];\nvar $type$Nothing1 = R.getModuleField(\"builtin://global\",\"types\",\"Nothing\");\nvar num$is$integer2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-integer\");\nvar random3 = R.getModuleField(\"builtin://global\",\"values\",\"random\");\nvar _times4 = R.getModuleField(\"builtin://global\",\"values\",\"_times\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar raw$array$set5 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-set\");\nvar within6 = R.getModuleField(\"builtin://global\",\"values\",\"within\");\nvar equal$always37 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always3\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array$of8 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-of\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$build10 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-build\");\nvar num$ceiling11 = R.getModuleField(\"builtin://global\",\"values\",\"num-ceiling\");\nvar equal$now312 = R.getModuleField(\"builtin://global\",\"values\",\"equal-now3\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar _greaterthan5 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterthan\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar identical316 = R.getModuleField(\"builtin://global\",\"values\",\"identical3\");\nvar $included$221 = $$included$225;\nvar equality22 = $equality26;\nvar $underscore_import3 = $$underscore_import5;\nvar $included$123 = $$included$127;\nvar VS10 = $VS8;\nvar $cases_dispatch2439 = {\"empty\":2,\n\"link\":3};\nvar $cases_dispatch2412 = {\"empty\":3,\n\"link\":4};\nvar $cases_dispatch2409 = {\"NotEqual\":3,\n\"Unknown\":5,\n\"Equal\":7};\nvar $cases_dispatch2397 = {\"NotEqual\":9,\n\"Unknown\":10,\n\"Equal\":11};\nvar $cases_dispatch2369 = {\"empty\":3,\n\"link\":4};\nvar $cases_dispatch2366 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch2356 = {\"none\":9,\n\"some\":10};\nvar $cases_dispatch2333 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch2330 = {\"none\":3,\n\"some\":4};\nvar $cases_dispatch2320 = {\"none\":10,\n\"some\":11};\nvar $cases_dispatch2182 = {\"Equal\":9};\nvar $cases_dispatch1979 = {\"empty\":5,\n\"link\":6};\nvar $cases_dispatch1976 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch1964 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch1260 = {\"empty\":5,\n\"link\":6};\nvar $cases_dispatch1145 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch836 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch806 = {\"empty\":4,\n\"link\":5};\nvar $cases_dispatch773 = {\"empty\":4,\n\"link\":8};\nvar $cases_dispatch768 = {\"empty\":10,\n\"link\":11};\nvar $cases_dispatch759 = {\"empty\":6};\nvar $cases_dispatch738 = {\"empty\":2,\n\"link\":3};\nvar Option17 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar Either18 = R.getModuleField(\"builtin://either\",\"types\",\"Either\");\nvar none19 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar some20 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar $toplevel30 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__951($$resumer13) {\nvar $step29 = 0;\nvar $elidedFrames36 = 0;\nvar $ans33 = D;\nvar $al34 = L[951];\nif(R.isAR($$resumer13)) {\n$step29 = $$resumer13.step;\n$al34 = $$resumer13.from;\n$ans33 = $$resumer13.ans;\n$elidedFrames36 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nfold_n2166 = $$resumer13.vars[0];\nsplit$at137 = $$resumer13.vars[1];\nfold32077 = $$resumer13.vars[2];\neach4_n1939 = $$resumer13.vars[3];\nmap21415 = $$resumer13.vars[4];\nis$List708 = $$resumer13.vars[5];\nsame$length762 = $$resumer13.vars[6];\nfind417 = $$resumer13.vars[7];\ntake$while2448 = $$resumer13.vars[8];\nmember$always2559 = $$resumer13.vars[9];\nfilter$map2313 = $$resumer13.vars[10];\nshorter$than823 = $$resumer13.vars[11];\nfold22036 = $$resumer13.vars[12];\ndrop1302 = $$resumer13.vars[13];\nmember$identical2266 = $$resumer13.vars[14];\nmember$with2179 = $$resumer13.vars[15];\nfoldl2560 = $$resumer13.vars[16];\nfold42119 = $$resumer13.vars[17];\neach41778 = $$resumer13.vars[18];\nfoldr2007 = $$resumer13.vars[19];\neach21700 = $$resumer13.vars[20];\nmember$identical32252 = $$resumer13.vars[21];\nempty266 = $$resumer13.vars[22];\nremove205 = $$resumer13.vars[23];\nmember$now2239 = $$resumer13.vars[24];\ntake1288 = $$resumer13.vars[25];\nfilter$values2348 = $$resumer13.vars[26];\nmap3_n1585 = $$resumer13.vars[27];\nfold$while1956 = $$resumer13.vars[28];\npartition404 = $$resumer13.vars[29];\neach31737 = $$resumer13.vars[30];\nmap4_n1620 = $$resumer13.vars[31];\nlength746 = $$resumer13.vars[32];\nany1314 = $$resumer13.vars[33];\nList50 = $$resumer13.vars[34];\nfold927 = $$resumer13.vars[35];\nmap2_n1543 = $$resumer13.vars[36];\neach_n1807 = $$resumer13.vars[37];\neach98 = $$resumer13.vars[38];\nlist2562 = $$resumer13.vars[39];\nmember$now32226 = $$resumer13.vars[40];\nget177 = $$resumer13.vars[41];\nrange$by1100 = $$resumer13.vars[42];\nanswer2563 = $$resumer13.vars[43];\nmap71 = $$resumer13.vars[44];\ndistinct2386 = $$resumer13.vars[45];\nmap41491 = $$resumer13.vars[46];\nmap_n1518 = $$resumer13.vars[47];\nmember$always32561 = $$resumer13.vars[48];\nset191 = $$resumer13.vars[49];\nfilter85 = $$resumer13.vars[50];\nlast992 = $$resumer13.vars[51];\nis$link712 = $$resumer13.vars[52];\nall1335 = $$resumer13.vars[53];\nrange1056 = $$resumer13.vars[54];\nmember2213 = $$resumer13.vars[55];\nsort1018 = $$resumer13.vars[56];\nrepeat1115 = $$resumer13.vars[57];\neach2_n1843 = $$resumer13.vars[58];\neach3_n1888 = $$resumer13.vars[59];\nis$empty549 = $$resumer13.vars[60];\nlink124 = $$resumer13.vars[61];\nshuffle2299 = $$resumer13.vars[62];\nmember32200 = $$resumer13.vars[63];\nappend1139 = $$resumer13.vars[64];\nsort$by1006 = $$resumer13.vars[65];\npush961 = $$resumer13.vars[66];\nreverse111 = $$resumer13.vars[67];\nall21384 = $$resumer13.vars[68];\nlonger$than788 = $$resumer13.vars[69];\njoin$str218 = $$resumer13.vars[70];\nmap31446 = $$resumer13.vars[71];\njoin$str$last232 = $$resumer13.vars[72];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans33 = R.mC();\n}\nwhile(!R.isContinuation($ans33)) {\nswitch($step29) {\ncase 0: var List37 = R.nB(\"List\",L[258]);\nvar List50 = R.mBA(List37,\"List\");\nvar List706 = {\"$var\":D};\nvar is$List708 = {\"$var\":D};\nvar is$empty549 = {\"$var\":D};\nvar empty266 = {\"$var\":D};\nvar is$link712 = {\"$var\":D};\nvar link124 = {\"$var\":D};\nvar length746 = {\"$var\":D};\nvar same$length762 = {\"$var\":D};\nvar longer$than788 = {\"$var\":D};\nvar shorter$than823 = {\"$var\":D};\nvar get177 = {\"$var\":D};\nvar set191 = {\"$var\":D};\nvar reverse111 = {\"$var\":D};\nvar push961 = {\"$var\":D};\nvar last992 = {\"$var\":D};\nvar sort$by1006 = {\"$var\":D};\nvar sort1018 = {\"$var\":D};\nvar range1056 = {\"$var\":D};\nvar range$by1100 = {\"$var\":D};\nvar repeat1115 = {\"$var\":D};\nvar filter85 = {\"$var\":D};\nvar append1139 = {\"$var\":D};\nvar partition404 = {\"$var\":D};\nvar remove205 = {\"$var\":D};\nvar find417 = {\"$var\":D};\nvar split$at137 = {\"$var\":D};\nvar take1288 = {\"$var\":D};\nvar drop1302 = {\"$var\":D};\nvar any1314 = {\"$var\":D};\nvar all1335 = {\"$var\":D};\nvar all21384 = {\"$var\":D};\nvar map71 = {\"$var\":D};\nvar map21415 = {\"$var\":D};\nvar map31446 = {\"$var\":D};\nvar map41491 = {\"$var\":D};\nvar map_n1518 = {\"$var\":D};\nvar map2_n1543 = {\"$var\":D};\nvar map3_n1585 = {\"$var\":D};\nvar map4_n1620 = {\"$var\":D};\nvar each98 = {\"$var\":D};\nvar each21700 = {\"$var\":D};\nvar each31737 = {\"$var\":D};\nvar each41778 = {\"$var\":D};\nvar each_n1807 = {\"$var\":D};\nvar each2_n1843 = {\"$var\":D};\nvar each3_n1888 = {\"$var\":D};\nvar each4_n1939 = {\"$var\":D};\nvar fold$while1956 = {\"$var\":D};\nvar fold927 = {\"$var\":D};\nvar foldr2007 = {\"$var\":D};\nvar fold22036 = {\"$var\":D};\nvar fold32077 = {\"$var\":D};\nvar fold42119 = {\"$var\":D};\nvar fold_n2166 = {\"$var\":D};\nvar member$with2179 = {\"$var\":D};\nvar member32200 = {\"$var\":D};\nvar member2213 = {\"$var\":D};\nvar member$now32226 = {\"$var\":D};\nvar member$now2239 = {\"$var\":D};\nvar member$identical32252 = {\"$var\":D};\nvar member$identical2266 = {\"$var\":D};\nvar shuffle2299 = {\"$var\":D};\nvar filter$map2313 = {\"$var\":D};\nvar filter$values2348 = {\"$var\":D};\nvar distinct2386 = {\"$var\":D};\nvar take$while2448 = {\"$var\":D};\nvar join$str218 = {\"$var\":D};\nvar join$str$last232 = {\"$var\":D};\nvar $temp_full41 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__0($self42) {\nvar $step40 = 0;\nvar $elidedFrames46 = 0;\nvar $ans43 = D;\nvar $al44 = L[0];\nif(R.isAR($self42)) {\n$step40 = $self42.step;\n$al44 = $self42.from;\n$ans43 = $self42.ans;\n$elidedFrames46 = $self42.elidedFrames;\nself42 = $self42.args[0];\nann_check_temp48 = $self42.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,true);\n}\nvar self42 = $self42;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans43 = R.mC();\n}\nwhile(!R.isContinuation($ans43)) {\nswitch($step40) {\ncase 0: $step40 = 1;\n$al44 = L[4];\nR._cA(L[4],List50,self42);\nbreak;\ncase 1: $step40 = 2;\n$ans43 = R.maybeMethodCall1(self42,\"map\",L[1],VS10.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg47 = $ans43;\n$step40 = 3;\n$al44 = L[3];\nif(typeof(VS10.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al44,VS10.dict.values.dict[\"vs-collection\"]);\n}\n$ans43 = VS10.dict.values.dict[\"vs-collection\"].app((\"list\"),anf_arg47);\nbreak;\ncase 3: var ann_check_temp48 = $ans43;\n$step40 = 4;\n$al44 = L[2];\nvar $ann$check49 = R._cA(L[2],R.gDA(L[2],\"VS\",VS10.dict.types,\"ValueSkeleton\"),ann_check_temp48);\nif(R.isContinuation($ann$check49)) {\n$ans43 = $ann$check49;\n}\nbreak;\ncase 4: $step40 = 5;\n$ans43 = ann_check_temp48;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans43;\ndefault: R.ffi.throwSpinnakerError(L[0],$step40);\n}\n}\nif($step40 !== 5) {\n$ans43.stack[R.EXN_STACKHEIGHT++] = R.mAR($al44,$temp_full41,$step40,[self42],[ann_check_temp48],$elidedFrames46);\n}\nreturn $ans43;\n};\nvar anf_shared653 = R.makeMethod0($temp_full41,\"_output\");\nvar $temp_full53 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__5($self54,$other55) {\nvar $step52 = 0;\nvar $elidedFrames59 = 0;\nvar $ans56 = D;\nvar $al57 = L[5];\nif(R.isAR($self54)) {\n$step52 = $self54.step;\n$al57 = $self54.from;\n$ans56 = $self54.ans;\n$elidedFrames59 = $self54.elidedFrames;\nself54 = $self54.args[0];\nother55 = $self54.args[1];\nann_check_temp60 = $self54.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],2,$t,true);\n}\nvar self54 = $self54;\nvar other55 = $other55;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans56 = R.mC();\n}\nwhile(!R.isContinuation($ans56)) {\nswitch($step52) {\ncase 0: $step52 = 1;\n$al57 = L[8];\nR._cA(L[8],List50,self54);\nbreak;\ncase 1: $step52 = 2;\n$al57 = L[9];\nR._cA(L[9],List50,other55);\nbreak;\ncase 2: $step52 = 3;\n$ans56 = R.maybeMethodCall1(self54,\"append\",L[6],other55);\nbreak;\ncase 3: var ann_check_temp60 = $ans56;\n$step52 = 4;\n$al57 = L[7];\nvar $ann$check61 = R._cA(L[7],List50,ann_check_temp60);\nif(R.isContinuation($ann$check61)) {\n$ans56 = $ann$check61;\n}\nbreak;\ncase 4: $step52 = 5;\n$ans56 = ann_check_temp60;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans56;\ndefault: R.ffi.throwSpinnakerError(L[5],$step52);\n}\n}\nif($step52 !== 5) {\n$ans56.stack[R.EXN_STACKHEIGHT++] = R.mAR($al57,$temp_full53,$step52,[self54,other55],[ann_check_temp60],$elidedFrames59);\n}\nreturn $ans56;\n};\nvar anf_shared654 = R.makeMethod1($temp_full53,\"_plus\");\nvar $temp_full64 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__10($self65,$f66) {\nvar $step63 = 0;\nvar $elidedFrames70 = 0;\nvar $ans67 = D;\nvar $al68 = L[10];\nif(R.isAR($self65)) {\n$step63 = $self65.step;\n$al68 = $self65.from;\n$ans67 = $self65.ans;\n$elidedFrames70 = $self65.elidedFrames;\nself65 = $self65.args[0];\nf66 = $self65.args[1];\nann_check_temp73 = $self65.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],2,$t,true);\n}\nvar self65 = $self65;\nvar f66 = $f66;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans67 = R.mC();\n}\nwhile(!R.isContinuation($ans67)) {\nswitch($step63) {\ncase 0: $step63 = 1;\n$al68 = L[14];\nR._cA(L[14],R.Function,f66);\nbreak;\ncase 1: var anf_fun72 = map71.$var === D?U(L[11],\"map\"):map71.$var;\n$step63 = 2;\n$al68 = L[13];\nif(typeof(anf_fun72.app) !== \"function\") {\nR.ffi.throwNonFunApp($al68,anf_fun72);\n}\n$ans67 = anf_fun72.app(f66,self65);\nbreak;\ncase 2: var ann_check_temp73 = $ans67;\n$step63 = 3;\n$al68 = L[12];\nvar $ann$check74 = R._cA(L[12],List50,ann_check_temp73);\nif(R.isContinuation($ann$check74)) {\n$ans67 = $ann$check74;\n}\nbreak;\ncase 3: $step63 = 4;\n$ans67 = ann_check_temp73;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans67;\ndefault: R.ffi.throwSpinnakerError(L[10],$step63);\n}\n}\nif($step63 !== 4) {\n$ans67.stack[R.EXN_STACKHEIGHT++] = R.mAR($al68,$temp_full64,$step63,[self65,f66],[ann_check_temp73],$elidedFrames70);\n}\nreturn $ans67;\n};\nvar anf_shared655 = R.makeMethod1($temp_full64,\"map\");\nvar $temp_full77 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__15($self78,$f79) {\nvar $step76 = 0;\nvar $elidedFrames84 = 0;\nvar $ans81 = D;\nvar $al82 = L[15];\nif(R.isAR($self78)) {\n$step76 = $self78.step;\n$al82 = $self78.from;\n$ans81 = $self78.ans;\n$elidedFrames84 = $self78.elidedFrames;\nself78 = $self78.args[0];\nf79 = $self78.args[1];\nann_check_temp87 = $self78.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],2,$t,true);\n}\nvar self78 = $self78;\nvar f79 = $f79;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans81 = R.mC();\n}\nwhile(!R.isContinuation($ans81)) {\nswitch($step76) {\ncase 0: $step76 = 1;\n$al82 = L[19];\nR._cA(L[19],List50,self78);\nbreak;\ncase 1: $step76 = 2;\n$al82 = L[20];\nR._cA(L[20],R.Function,f79);\nbreak;\ncase 2: var anf_fun86 = filter85.$var === D?U(L[16],\"filter\"):filter85.$var;\n$step76 = 3;\n$al82 = L[18];\nif(typeof(anf_fun86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al82,anf_fun86);\n}\n$ans81 = anf_fun86.app(f79,self78);\nbreak;\ncase 3: var ann_check_temp87 = $ans81;\n$step76 = 4;\n$al82 = L[17];\nvar $ann$check88 = R._cA(L[17],List50,ann_check_temp87);\nif(R.isContinuation($ann$check88)) {\n$ans81 = $ann$check88;\n}\nbreak;\ncase 4: $step76 = 5;\n$ans81 = ann_check_temp87;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans81;\ndefault: R.ffi.throwSpinnakerError(L[15],$step76);\n}\n}\nif($step76 !== 5) {\n$ans81.stack[R.EXN_STACKHEIGHT++] = R.mAR($al82,$temp_full77,$step76,[self78,f79],[ann_check_temp87],$elidedFrames84);\n}\nreturn $ans81;\n};\nvar anf_shared656 = R.makeMethod1($temp_full77,\"filter\");\nvar $temp_full91 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__21($self92,$f93) {\nvar $step90 = 0;\nvar $elidedFrames97 = 0;\nvar $ans94 = D;\nvar $al95 = L[21];\nif(R.isAR($self92)) {\n$step90 = $self92.step;\n$al95 = $self92.from;\n$ans94 = $self92.ans;\n$elidedFrames97 = $self92.elidedFrames;\nself92 = $self92.args[0];\nf93 = $self92.args[1];\nann_check_temp100 = $self92.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[21],2,$t,true);\n}\nvar self92 = $self92;\nvar f93 = $f93;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans94 = R.mC();\n}\nwhile(!R.isContinuation($ans94)) {\nswitch($step90) {\ncase 0: $step90 = 1;\n$al95 = L[25];\nR._cA(L[25],List50,self92);\nbreak;\ncase 1: $step90 = 2;\n$al95 = L[26];\nR._cA(L[26],R.Function,f93);\nbreak;\ncase 2: var anf_fun99 = each98.$var === D?U(L[22],\"each\"):each98.$var;\n$step90 = 3;\n$al95 = L[24];\nif(typeof(anf_fun99.app) !== \"function\") {\nR.ffi.throwNonFunApp($al95,anf_fun99);\n}\n$ans94 = anf_fun99.app(f93,self92);\nbreak;\ncase 3: var ann_check_temp100 = $ans94;\n$step90 = 4;\n$al95 = L[23];\nvar $ann$check101 = R._cA(L[23],$type$Nothing1,ann_check_temp100);\nif(R.isContinuation($ann$check101)) {\n$ans94 = $ann$check101;\n}\nbreak;\ncase 4: $step90 = 5;\n$ans94 = ann_check_temp100;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans94;\ndefault: R.ffi.throwSpinnakerError(L[21],$step90);\n}\n}\nif($step90 !== 5) {\n$ans94.stack[R.EXN_STACKHEIGHT++] = R.mAR($al95,$temp_full91,$step90,[self92,f93],[ann_check_temp100],$elidedFrames97);\n}\nreturn $ans94;\n};\nvar anf_shared657 = R.makeMethod1($temp_full91,\"each\");\nvar $temp_full105 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__27($self106) {\nvar $step104 = 0;\nvar $elidedFrames110 = 0;\nvar $ans107 = D;\nvar $al108 = L[27];\nif(R.isAR($self106)) {\n$step104 = $self106.step;\n$al108 = $self106.from;\n$ans107 = $self106.ans;\n$elidedFrames110 = $self106.elidedFrames;\nself106 = $self106.args[0];\nann_check_temp113 = $self106.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[27],1,$t,true);\n}\nvar self106 = $self106;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans107 = R.mC();\n}\nwhile(!R.isContinuation($ans107)) {\nswitch($step104) {\ncase 0: $step104 = 1;\n$al108 = L[31];\nR._cA(L[31],List50,self106);\nbreak;\ncase 1: var anf_fun112 = reverse111.$var === D?U(L[28],\"reverse\"):reverse111.$var;\n$step104 = 2;\n$al108 = L[30];\nif(typeof(anf_fun112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al108,anf_fun112);\n}\n$ans107 = anf_fun112.app(self106);\nbreak;\ncase 2: var ann_check_temp113 = $ans107;\n$step104 = 3;\n$al108 = L[29];\nvar $ann$check114 = R._cA(L[29],List50,ann_check_temp113);\nif(R.isContinuation($ann$check114)) {\n$ans107 = $ann$check114;\n}\nbreak;\ncase 3: $step104 = 4;\n$ans107 = ann_check_temp113;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans107;\ndefault: R.ffi.throwSpinnakerError(L[27],$step104);\n}\n}\nif($step104 !== 4) {\n$ans107.stack[R.EXN_STACKHEIGHT++] = R.mAR($al108,$temp_full105,$step104,[self106],[ann_check_temp113],$elidedFrames110);\n}\nreturn $ans107;\n};\nvar anf_shared658 = R.makeMethod0($temp_full105,\"reverse\");\nvar $temp_full117 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__32($self118,$elt119) {\nvar $step116 = 0;\nvar $elidedFrames123 = 0;\nvar $ans120 = D;\nvar $al121 = L[32];\nif(R.isAR($self118)) {\n$step116 = $self118.step;\n$al121 = $self118.from;\n$ans120 = $self118.ans;\n$elidedFrames123 = $self118.elidedFrames;\nself118 = $self118.args[0];\nelt119 = $self118.args[1];\nann_check_temp126 = $self118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],2,$t,true);\n}\nvar self118 = $self118;\nvar elt119 = $elt119;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans120 = R.mC();\n}\nwhile(!R.isContinuation($ans120)) {\nswitch($step116) {\ncase 0: $step116 = 1;\n$al121 = L[36];\nR._cA(L[36],List50,self118);\nbreak;\ncase 1: $step116 = 2;\n$al121 = L[37];\nR._cA(L[37],R.Any,elt119);\nbreak;\ncase 2: var anf_fun125 = link124.$var === D?U(L[33],\"link\"):link124.$var;\n$step116 = 3;\n$al121 = L[35];\nif(typeof(anf_fun125.app) !== \"function\") {\nR.ffi.throwNonFunApp($al121,anf_fun125);\n}\n$ans120 = anf_fun125.app(elt119,self118);\nbreak;\ncase 3: var ann_check_temp126 = $ans120;\n$step116 = 4;\n$al121 = L[34];\nvar $ann$check127 = R._cA(L[34],List50,ann_check_temp126);\nif(R.isContinuation($ann$check127)) {\n$ans120 = $ann$check127;\n}\nbreak;\ncase 4: $step116 = 5;\n$ans120 = ann_check_temp126;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans120;\ndefault: R.ffi.throwSpinnakerError(L[32],$step116);\n}\n}\nif($step116 !== 5) {\n$ans120.stack[R.EXN_STACKHEIGHT++] = R.mAR($al121,$temp_full117,$step116,[self118,elt119],[ann_check_temp126],$elidedFrames123);\n}\nreturn $ans120;\n};\nvar anf_shared659 = R.makeMethod1($temp_full117,\"push\");\nvar $temp_full130 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__38($self131,$n132) {\nvar $step129 = 0;\nvar $elidedFrames136 = 0;\nvar $ans133 = D;\nvar $al134 = L[38];\nif(R.isAR($self131)) {\n$step129 = $self131.step;\n$al134 = $self131.from;\n$ans133 = $self131.ans;\n$elidedFrames136 = $self131.elidedFrames;\nself131 = $self131.args[0];\nn132 = $self131.args[1];\nann_check_temp139 = $self131.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],2,$t,true);\n}\nvar self131 = $self131;\nvar n132 = $n132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans133 = R.mC();\n}\nwhile(!R.isContinuation($ans133)) {\nswitch($step129) {\ncase 0: $step129 = 1;\n$al134 = L[44];\nR._cA(L[44],List50,self131);\nbreak;\ncase 1: $step129 = 2;\n$al134 = L[45];\nR._cA(L[45],$type$Number3,n132);\nbreak;\ncase 2: var anf_fun138 = split$at137.$var === D?U(L[39],\"split-at\"):split$at137.$var;\n$step129 = 3;\n$al134 = L[43];\nif(typeof(anf_fun138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al134,anf_fun138);\n}\n$ans133 = anf_fun138.app(n132,self131);\nbreak;\ncase 3: var ann_check_temp139 = $ans133;\n$step129 = 4;\n$al134 = L[42];\nvar $ann$check140 = R._cA(L[42],R.mRA([\"prefix\",\"suffix\"],[L[40],L[41]],{\"prefix\":List50,\n\"suffix\":List50}),ann_check_temp139);\nif(R.isContinuation($ann$check140)) {\n$ans133 = $ann$check140;\n}\nbreak;\ncase 4: $step129 = 5;\n$ans133 = ann_check_temp139;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans133;\ndefault: R.ffi.throwSpinnakerError(L[38],$step129);\n}\n}\nif($step129 !== 5) {\n$ans133.stack[R.EXN_STACKHEIGHT++] = R.mAR($al134,$temp_full130,$step129,[self131,n132],[ann_check_temp139],$elidedFrames136);\n}\nreturn $ans133;\n};\nvar anf_shared660 = R.makeMethod1($temp_full130,\"split-at\");\nvar $temp_full143 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__46($self144,$n145) {\nvar $step142 = 0;\nvar $elidedFrames149 = 0;\nvar $ans146 = D;\nvar $al147 = L[46];\nif(R.isAR($self144)) {\n$step142 = $self144.step;\n$al147 = $self144.from;\n$ans146 = $self144.ans;\n$elidedFrames149 = $self144.elidedFrames;\nself144 = $self144.args[0];\nn145 = $self144.args[1];\nann_check_temp152 = $self144.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,true);\n}\nvar self144 = $self144;\nvar n145 = $n145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans146 = R.mC();\n}\nwhile(!R.isContinuation($ans146)) {\nswitch($step142) {\ncase 0: $step142 = 1;\n$al147 = L[51];\nR._cA(L[51],List50,self144);\nbreak;\ncase 1: $step142 = 2;\n$al147 = L[52];\nR._cA(L[52],$type$Number3,n145);\nbreak;\ncase 2: var anf_fun150 = split$at137.$var === D?U(L[47],\"split-at\"):split$at137.$var;\n$step142 = 3;\n$al147 = L[50];\nif(typeof(anf_fun150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al147,anf_fun150);\n}\n$ans146 = anf_fun150.app(n145,self144);\nbreak;\ncase 3: var anf_bracket151 = $ans146;\n$al147 = L[48];\nvar ann_check_temp152 = G(anf_bracket151,\"prefix\",L[48]);\n$step142 = 4;\n$al147 = L[49];\nvar $ann$check153 = R._cA(L[49],List50,ann_check_temp152);\nif(R.isContinuation($ann$check153)) {\n$ans146 = $ann$check153;\n}\nbreak;\ncase 4: $step142 = 5;\n$ans146 = ann_check_temp152;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans146;\ndefault: R.ffi.throwSpinnakerError(L[46],$step142);\n}\n}\nif($step142 !== 5) {\n$ans146.stack[R.EXN_STACKHEIGHT++] = R.mAR($al147,$temp_full143,$step142,[self144,n145],[ann_check_temp152],$elidedFrames149);\n}\nreturn $ans146;\n};\nvar anf_shared661 = R.makeMethod1($temp_full143,\"take\");\nvar $temp_full156 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__53($self157,$n158) {\nvar $step155 = 0;\nvar $elidedFrames162 = 0;\nvar $ans159 = D;\nvar $al160 = L[53];\nif(R.isAR($self157)) {\n$step155 = $self157.step;\n$al160 = $self157.from;\n$ans159 = $self157.ans;\n$elidedFrames162 = $self157.elidedFrames;\nself157 = $self157.args[0];\nn158 = $self157.args[1];\nann_check_temp165 = $self157.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,true);\n}\nvar self157 = $self157;\nvar n158 = $n158;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans159 = R.mC();\n}\nwhile(!R.isContinuation($ans159)) {\nswitch($step155) {\ncase 0: $step155 = 1;\n$al160 = L[58];\nR._cA(L[58],List50,self157);\nbreak;\ncase 1: $step155 = 2;\n$al160 = L[59];\nR._cA(L[59],$type$Number3,n158);\nbreak;\ncase 2: var anf_fun163 = split$at137.$var === D?U(L[54],\"split-at\"):split$at137.$var;\n$step155 = 3;\n$al160 = L[57];\nif(typeof(anf_fun163.app) !== \"function\") {\nR.ffi.throwNonFunApp($al160,anf_fun163);\n}\n$ans159 = anf_fun163.app(n158,self157);\nbreak;\ncase 3: var anf_bracket164 = $ans159;\n$al160 = L[55];\nvar ann_check_temp165 = G(anf_bracket164,\"suffix\",L[55]);\n$step155 = 4;\n$al160 = L[56];\nvar $ann$check166 = R._cA(L[56],List50,ann_check_temp165);\nif(R.isContinuation($ann$check166)) {\n$ans159 = $ann$check166;\n}\nbreak;\ncase 4: $step155 = 5;\n$ans159 = ann_check_temp165;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans159;\ndefault: R.ffi.throwSpinnakerError(L[53],$step155);\n}\n}\nif($step155 !== 5) {\n$ans159.stack[R.EXN_STACKHEIGHT++] = R.mAR($al160,$temp_full156,$step155,[self157,n158],[ann_check_temp165],$elidedFrames162);\n}\nreturn $ans159;\n};\nvar anf_shared662 = R.makeMethod1($temp_full156,\"drop\");\nvar $temp_full170 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__60($self171,$n172) {\nvar $step169 = 0;\nvar $elidedFrames176 = 0;\nvar $ans173 = D;\nvar $al174 = L[60];\nif(R.isAR($self171)) {\n$step169 = $self171.step;\n$al174 = $self171.from;\n$ans173 = $self171.ans;\n$elidedFrames176 = $self171.elidedFrames;\nself171 = $self171.args[0];\nn172 = $self171.args[1];\nann_check_temp179 = $self171.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],2,$t,true);\n}\nvar self171 = $self171;\nvar n172 = $n172;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans173 = R.mC();\n}\nwhile(!R.isContinuation($ans173)) {\nswitch($step169) {\ncase 0: $step169 = 1;\n$al174 = L[64];\nR._cA(L[64],List50,self171);\nbreak;\ncase 1: $step169 = 2;\n$al174 = L[65];\nR._cA(L[65],$type$Number3,n172);\nbreak;\ncase 2: var anf_fun178 = get177.$var === D?U(L[61],\"get\"):get177.$var;\n$step169 = 3;\n$al174 = L[63];\nif(typeof(anf_fun178.app) !== \"function\") {\nR.ffi.throwNonFunApp($al174,anf_fun178);\n}\n$ans173 = anf_fun178.app(self171,n172);\nbreak;\ncase 3: var ann_check_temp179 = $ans173;\n$step169 = 4;\n$al174 = L[62];\nvar $ann$check180 = R._cA(L[62],R.Any,ann_check_temp179);\nif(R.isContinuation($ann$check180)) {\n$ans173 = $ann$check180;\n}\nbreak;\ncase 4: $step169 = 5;\n$ans173 = ann_check_temp179;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans173;\ndefault: R.ffi.throwSpinnakerError(L[60],$step169);\n}\n}\nif($step169 !== 5) {\n$ans173.stack[R.EXN_STACKHEIGHT++] = R.mAR($al174,$temp_full170,$step169,[self171,n172],[ann_check_temp179],$elidedFrames176);\n}\nreturn $ans173;\n};\nvar anf_shared663 = R.makeMethod1($temp_full170,\"get\");\nvar $temp_full183 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__66($self184,$n185,$e186) {\nvar $step182 = 0;\nvar $elidedFrames190 = 0;\nvar $ans187 = D;\nvar $al188 = L[66];\nif(R.isAR($self184)) {\n$step182 = $self184.step;\n$al188 = $self184.from;\n$ans187 = $self184.ans;\n$elidedFrames190 = $self184.elidedFrames;\nself184 = $self184.args[0];\nn185 = $self184.args[1];\ne186 = $self184.args[2];\nann_check_temp193 = $self184.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],3,$t,true);\n}\nvar self184 = $self184;\nvar n185 = $n185;\nvar e186 = $e186;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans187 = R.mC();\n}\nwhile(!R.isContinuation($ans187)) {\nswitch($step182) {\ncase 0: $step182 = 1;\n$al188 = L[70];\nR._cA(L[70],List50,self184);\nbreak;\ncase 1: $step182 = 2;\n$al188 = L[71];\nR._cA(L[71],$type$Number3,n185);\nbreak;\ncase 2: $step182 = 3;\n$al188 = L[72];\nR._cA(L[72],R.Any,e186);\nbreak;\ncase 3: var anf_fun192 = set191.$var === D?U(L[67],\"set\"):set191.$var;\n$step182 = 4;\n$al188 = L[69];\nif(typeof(anf_fun192.app) !== \"function\") {\nR.ffi.throwNonFunApp($al188,anf_fun192);\n}\n$ans187 = anf_fun192.app(self184,n185,e186);\nbreak;\ncase 4: var ann_check_temp193 = $ans187;\n$step182 = 5;\n$al188 = L[68];\nvar $ann$check194 = R._cA(L[68],List50,ann_check_temp193);\nif(R.isContinuation($ann$check194)) {\n$ans187 = $ann$check194;\n}\nbreak;\ncase 5: $step182 = 6;\n$ans187 = ann_check_temp193;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans187;\ndefault: R.ffi.throwSpinnakerError(L[66],$step182);\n}\n}\nif($step182 !== 6) {\n$ans187.stack[R.EXN_STACKHEIGHT++] = R.mAR($al188,$temp_full183,$step182,[self184,n185,e186],[ann_check_temp193],$elidedFrames190);\n}\nreturn $ans187;\n};\nvar anf_shared664 = R.makeMethod2($temp_full183,\"set\");\nvar $temp_full198 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__73($self199,$e200) {\nvar $step197 = 0;\nvar $elidedFrames204 = 0;\nvar $ans201 = D;\nvar $al202 = L[73];\nif(R.isAR($self199)) {\n$step197 = $self199.step;\n$al202 = $self199.from;\n$ans201 = $self199.ans;\n$elidedFrames204 = $self199.elidedFrames;\nself199 = $self199.args[0];\ne200 = $self199.args[1];\nann_check_temp207 = $self199.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],2,$t,true);\n}\nvar self199 = $self199;\nvar e200 = $e200;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans201 = R.mC();\n}\nwhile(!R.isContinuation($ans201)) {\nswitch($step197) {\ncase 0: $step197 = 1;\n$al202 = L[77];\nR._cA(L[77],List50,self199);\nbreak;\ncase 1: $step197 = 2;\n$al202 = L[78];\nR._cA(L[78],R.Any,e200);\nbreak;\ncase 2: var anf_fun206 = remove205.$var === D?U(L[74],\"remove\"):remove205.$var;\n$step197 = 3;\n$al202 = L[76];\nif(typeof(anf_fun206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al202,anf_fun206);\n}\n$ans201 = anf_fun206.app(self199,e200);\nbreak;\ncase 3: var ann_check_temp207 = $ans201;\n$step197 = 4;\n$al202 = L[75];\nvar $ann$check208 = R._cA(L[75],List50,ann_check_temp207);\nif(R.isContinuation($ann$check208)) {\n$ans201 = $ann$check208;\n}\nbreak;\ncase 4: $step197 = 5;\n$ans201 = ann_check_temp207;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans201;\ndefault: R.ffi.throwSpinnakerError(L[73],$step197);\n}\n}\nif($step197 !== 5) {\n$ans201.stack[R.EXN_STACKHEIGHT++] = R.mAR($al202,$temp_full198,$step197,[self199,e200],[ann_check_temp207],$elidedFrames204);\n}\nreturn $ans201;\n};\nvar anf_shared665 = R.makeMethod1($temp_full198,\"remove\");\nvar $temp_full211 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__79($self212,$sep213) {\nvar $step210 = 0;\nvar $elidedFrames217 = 0;\nvar $ans214 = D;\nvar $al215 = L[79];\nif(R.isAR($self212)) {\n$step210 = $self212.step;\n$al215 = $self212.from;\n$ans214 = $self212.ans;\n$elidedFrames217 = $self212.elidedFrames;\nself212 = $self212.args[0];\nsep213 = $self212.args[1];\nann_check_temp220 = $self212.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,true);\n}\nvar self212 = $self212;\nvar sep213 = $sep213;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans214 = R.mC();\n}\nwhile(!R.isContinuation($ans214)) {\nswitch($step210) {\ncase 0: $step210 = 1;\n$al215 = L[83];\nR._cA(L[83],List50,self212);\nbreak;\ncase 1: $step210 = 2;\n$al215 = L[84];\nR._cA(L[84],$type$String8,sep213);\nbreak;\ncase 2: var anf_fun219 = join$str218.$var === D?U(L[80],\"join-str\"):join$str218.$var;\n$step210 = 3;\n$al215 = L[82];\nif(typeof(anf_fun219.app) !== \"function\") {\nR.ffi.throwNonFunApp($al215,anf_fun219);\n}\n$ans214 = anf_fun219.app(self212,sep213);\nbreak;\ncase 3: var ann_check_temp220 = $ans214;\n$step210 = 4;\n$al215 = L[81];\nvar $ann$check221 = R._cA(L[81],$type$String8,ann_check_temp220);\nif(R.isContinuation($ann$check221)) {\n$ans214 = $ann$check221;\n}\nbreak;\ncase 4: $step210 = 5;\n$ans214 = ann_check_temp220;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans214;\ndefault: R.ffi.throwSpinnakerError(L[79],$step210);\n}\n}\nif($step210 !== 5) {\n$ans214.stack[R.EXN_STACKHEIGHT++] = R.mAR($al215,$temp_full211,$step210,[self212,sep213],[ann_check_temp220],$elidedFrames217);\n}\nreturn $ans214;\n};\nvar anf_shared666 = R.makeMethod1($temp_full211,\"join-str\");\nvar $temp_full224 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__85($self225,$sep226,$last$sep227) {\nvar $step223 = 0;\nvar $elidedFrames231 = 0;\nvar $ans228 = D;\nvar $al229 = L[85];\nif(R.isAR($self225)) {\n$step223 = $self225.step;\n$al229 = $self225.from;\n$ans228 = $self225.ans;\n$elidedFrames231 = $self225.elidedFrames;\nself225 = $self225.args[0];\nsep226 = $self225.args[1];\nlast$sep227 = $self225.args[2];\nann_check_temp234 = $self225.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[85],3,$t,true);\n}\nvar self225 = $self225;\nvar sep226 = $sep226;\nvar last$sep227 = $last$sep227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans228 = R.mC();\n}\nwhile(!R.isContinuation($ans228)) {\nswitch($step223) {\ncase 0: $step223 = 1;\n$al229 = L[89];\nR._cA(L[89],List50,self225);\nbreak;\ncase 1: $step223 = 2;\n$al229 = L[90];\nR._cA(L[90],$type$String8,sep226);\nbreak;\ncase 2: $step223 = 3;\n$al229 = L[91];\nR._cA(L[91],$type$String8,last$sep227);\nbreak;\ncase 3: var anf_fun233 = join$str$last232.$var === D?U(L[86],\"join-str-last\"):join$str$last232.$var;\n$step223 = 4;\n$al229 = L[88];\nif(typeof(anf_fun233.app) !== \"function\") {\nR.ffi.throwNonFunApp($al229,anf_fun233);\n}\n$ans228 = anf_fun233.app(self225,sep226,last$sep227);\nbreak;\ncase 4: var ann_check_temp234 = $ans228;\n$step223 = 5;\n$al229 = L[87];\nvar $ann$check235 = R._cA(L[87],$type$String8,ann_check_temp234);\nif(R.isContinuation($ann$check235)) {\n$ans228 = $ann$check235;\n}\nbreak;\ncase 5: $step223 = 6;\n$ans228 = ann_check_temp234;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans228;\ndefault: R.ffi.throwSpinnakerError(L[85],$step223);\n}\n}\nif($step223 !== 6) {\n$ans228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al229,$temp_full224,$step223,[self225,sep226,last$sep227],[ann_check_temp234],$elidedFrames231);\n}\nreturn $ans228;\n};\nvar anf_shared667 = R.makeMethod2($temp_full224,\"join-str-last\");\nvar $temp_full238 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__92($self239) {\nvar $step237 = 0;\nvar $elidedFrames243 = 0;\nvar $ans240 = D;\nvar $al241 = L[92];\nif(R.isAR($self239)) {\n$step237 = $self239.step;\n$al241 = $self239.from;\n$ans240 = $self239.ans;\n$elidedFrames243 = $self239.elidedFrames;\nself239 = $self239.args[0];\nann_check_temp244 = $self239.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],1,$t,true);\n}\nvar self239 = $self239;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans240 = R.mC();\n}\nwhile(!R.isContinuation($ans240)) {\nswitch($step237) {\ncase 0: $step237 = 1;\n$al241 = L[94];\nR._cA(L[94],List50,self239);\nbreak;\ncase 1: var ann_check_temp244 = (0);\n$step237 = 2;\n$al241 = L[93];\nvar $ann$check245 = R._cA(L[93],$type$Number3,ann_check_temp244);\nif(R.isContinuation($ann$check245)) {\n$ans240 = $ann$check245;\n}\nbreak;\ncase 2: $step237 = 3;\n$ans240 = ann_check_temp244;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans240;\ndefault: R.ffi.throwSpinnakerError(L[92],$step237);\n}\n}\nif($step237 !== 3) {\n$ans240.stack[R.EXN_STACKHEIGHT++] = R.mAR($al241,$temp_full238,$step237,[self239],[ann_check_temp244],$elidedFrames243);\n}\nreturn $ans240;\n};\nvar anf_singleton_variant_member671 = R.makeMethod0($temp_full238,\"length\");\nvar $temp_full248 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__95($self249,$f250) {\nvar $step247 = 0;\nvar $elidedFrames254 = 0;\nvar $ans251 = D;\nvar $al252 = L[95];\nif(R.isAR($self249)) {\n$step247 = $self249.step;\n$al252 = $self249.from;\n$ans251 = $self249.ans;\n$elidedFrames254 = $self249.elidedFrames;\nself249 = $self249.args[0];\nf250 = $self249.args[1];\nann_check_temp255 = $self249.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[95],2,$t,true);\n}\nvar self249 = $self249;\nvar f250 = $f250;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans251 = R.mC();\n}\nwhile(!R.isContinuation($ans251)) {\nswitch($step247) {\ncase 0: $step247 = 1;\n$al252 = L[97];\nR._cA(L[97],List50,self249);\nbreak;\ncase 1: $step247 = 2;\n$al252 = L[98];\nR._cA(L[98],R.Function,f250);\nbreak;\ncase 2: var ann_check_temp255 = none19;\n$step247 = 3;\n$al252 = L[96];\nvar $ann$check256 = R._cA(L[96],Option17,ann_check_temp255);\nif(R.isContinuation($ann$check256)) {\n$ans251 = $ann$check256;\n}\nbreak;\ncase 3: $step247 = 4;\n$ans251 = ann_check_temp255;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans251;\ndefault: R.ffi.throwSpinnakerError(L[95],$step247);\n}\n}\nif($step247 !== 4) {\n$ans251.stack[R.EXN_STACKHEIGHT++] = R.mAR($al252,$temp_full248,$step247,[self249,f250],[ann_check_temp255],$elidedFrames254);\n}\nreturn $ans251;\n};\nvar anf_singleton_variant_member672 = R.makeMethod1($temp_full248,\"find\");\nvar $temp_full259 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__99($self260,$f261) {\nvar $step258 = 0;\nvar $elidedFrames265 = 0;\nvar $ans262 = D;\nvar $al263 = L[99];\nif(R.isAR($self260)) {\n$step258 = $self260.step;\n$al263 = $self260.from;\n$ans262 = $self260.ans;\n$elidedFrames265 = $self260.elidedFrames;\nself260 = $self260.args[0];\nf261 = $self260.args[1];\nann_check_temp274 = $self260.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[99],2,$t,true);\n}\nvar self260 = $self260;\nvar f261 = $f261;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans262 = R.mC();\n}\nwhile(!R.isContinuation($ans262)) {\nswitch($step258) {\ncase 0: $step258 = 1;\n$al263 = L[105];\nR._cA(L[105],List50,self260);\nbreak;\ncase 1: $step258 = 2;\n$al263 = L[106];\nR._cA(L[106],R.Function,f261);\nbreak;\ncase 2: var anf_obj272 = empty266.$var === D?U(L[100],\"empty\"):empty266.$var;\nvar anf_obj273 = empty266.$var === D?U(L[101],\"empty\"):empty266.$var;\nvar ann_check_temp274 = R.mO({\"is-true\":anf_obj272,\n\"is-false\":anf_obj273});\n$step258 = 3;\n$al263 = L[104];\nvar $ann$check275 = R._cA(L[104],R.mRA([\"is-true\",\"is-false\"],[L[102],L[103]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp274);\nif(R.isContinuation($ann$check275)) {\n$ans262 = $ann$check275;\n}\nbreak;\ncase 3: $step258 = 4;\n$ans262 = ann_check_temp274;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans262;\ndefault: R.ffi.throwSpinnakerError(L[99],$step258);\n}\n}\nif($step258 !== 4) {\n$ans262.stack[R.EXN_STACKHEIGHT++] = R.mAR($al263,$temp_full259,$step258,[self260,f261],[ann_check_temp274],$elidedFrames265);\n}\nreturn $ans262;\n};\nvar anf_singleton_variant_member673 = R.makeMethod1($temp_full259,\"partition\");\nvar $temp_full278 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__107($self279,$f280,$base281) {\nvar $step277 = 0;\nvar $elidedFrames285 = 0;\nvar $ans282 = D;\nvar $al283 = L[107];\nif(R.isAR($self279)) {\n$step277 = $self279.step;\n$al283 = $self279.from;\n$ans282 = $self279.ans;\n$elidedFrames285 = $self279.elidedFrames;\nself279 = $self279.args[0];\nf280 = $self279.args[1];\nbase281 = $self279.args[2];\nann_check_temp286 = $self279.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[107],3,$t,true);\n}\nvar self279 = $self279;\nvar f280 = $f280;\nvar base281 = $base281;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans282 = R.mC();\n}\nwhile(!R.isContinuation($ans282)) {\nswitch($step277) {\ncase 0: $step277 = 1;\n$al283 = L[109];\nR._cA(L[109],List50,self279);\nbreak;\ncase 1: $step277 = 2;\n$al283 = L[110];\nR._cA(L[110],R.Function,f280);\nbreak;\ncase 2: $step277 = 3;\n$al283 = L[111];\nR._cA(L[111],R.Any,base281);\nbreak;\ncase 3: var ann_check_temp286 = base281;\n$step277 = 4;\n$al283 = L[108];\nvar $ann$check287 = R._cA(L[108],R.Any,ann_check_temp286);\nif(R.isContinuation($ann$check287)) {\n$ans282 = $ann$check287;\n}\nbreak;\ncase 4: $step277 = 5;\n$ans282 = ann_check_temp286;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans282;\ndefault: R.ffi.throwSpinnakerError(L[107],$step277);\n}\n}\nif($step277 !== 5) {\n$ans282.stack[R.EXN_STACKHEIGHT++] = R.mAR($al283,$temp_full278,$step277,[self279,f280,base281],[ann_check_temp286],$elidedFrames285);\n}\nreturn $ans282;\n};\nvar anf_singleton_variant_member674 = R.makeMethod2($temp_full278,\"foldr\");\nvar $temp_full290 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__112($self291,$f292,$base293) {\nvar $step289 = 0;\nvar $elidedFrames298 = 0;\nvar $ans295 = D;\nvar $al296 = L[112];\nif(R.isAR($self291)) {\n$step289 = $self291.step;\n$al296 = $self291.from;\n$ans295 = $self291.ans;\n$elidedFrames298 = $self291.elidedFrames;\nself291 = $self291.args[0];\nf292 = $self291.args[1];\nbase293 = $self291.args[2];\nann_check_temp299 = $self291.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[112],3,$t,true);\n}\nvar self291 = $self291;\nvar f292 = $f292;\nvar base293 = $base293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans295 = R.mC();\n}\nwhile(!R.isContinuation($ans295)) {\nswitch($step289) {\ncase 0: $step289 = 1;\n$al296 = L[114];\nR._cA(L[114],List50,self291);\nbreak;\ncase 1: $step289 = 2;\n$al296 = L[115];\nR._cA(L[115],R.Function,f292);\nbreak;\ncase 2: $step289 = 3;\n$al296 = L[116];\nR._cA(L[116],R.Any,base293);\nbreak;\ncase 3: var ann_check_temp299 = base293;\n$step289 = 4;\n$al296 = L[113];\nvar $ann$check300 = R._cA(L[113],R.Any,ann_check_temp299);\nif(R.isContinuation($ann$check300)) {\n$ans295 = $ann$check300;\n}\nbreak;\ncase 4: $step289 = 5;\n$ans295 = ann_check_temp299;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans295;\ndefault: R.ffi.throwSpinnakerError(L[112],$step289);\n}\n}\nif($step289 !== 5) {\n$ans295.stack[R.EXN_STACKHEIGHT++] = R.mAR($al296,$temp_full290,$step289,[self291,f292,base293],[ann_check_temp299],$elidedFrames298);\n}\nreturn $ans295;\n};\nvar anf_singleton_variant_member675 = R.makeMethod2($temp_full290,\"foldl\");\nvar $temp_full304 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__117($self305,$f306) {\nvar $step303 = 0;\nvar $elidedFrames311 = 0;\nvar $ans308 = D;\nvar $al309 = L[117];\nif(R.isAR($self305)) {\n$step303 = $self305.step;\n$al309 = $self305.from;\n$ans308 = $self305.ans;\n$elidedFrames311 = $self305.elidedFrames;\nself305 = $self305.args[0];\nf306 = $self305.args[1];\nann_check_temp312 = $self305.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],2,$t,true);\n}\nvar self305 = $self305;\nvar f306 = $f306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans308 = R.mC();\n}\nwhile(!R.isContinuation($ans308)) {\nswitch($step303) {\ncase 0: $step303 = 1;\n$al309 = L[119];\nR._cA(L[119],List50,self305);\nbreak;\ncase 1: $step303 = 2;\n$al309 = L[120];\nR._cA(L[120],R.Function,f306);\nbreak;\ncase 2: var ann_check_temp312 = (true);\n$step303 = 3;\n$al309 = L[118];\nvar $ann$check313 = R._cA(L[118],$type$Boolean6,ann_check_temp312);\nif(R.isContinuation($ann$check313)) {\n$ans308 = $ann$check313;\n}\nbreak;\ncase 3: $step303 = 4;\n$ans308 = ann_check_temp312;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans308;\ndefault: R.ffi.throwSpinnakerError(L[117],$step303);\n}\n}\nif($step303 !== 4) {\n$ans308.stack[R.EXN_STACKHEIGHT++] = R.mAR($al309,$temp_full304,$step303,[self305,f306],[ann_check_temp312],$elidedFrames311);\n}\nreturn $ans308;\n};\nvar anf_singleton_variant_member676 = R.makeMethod1($temp_full304,\"all\");\nvar $temp_full316 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__121($self317,$f318) {\nvar $step315 = 0;\nvar $elidedFrames323 = 0;\nvar $ans320 = D;\nvar $al321 = L[121];\nif(R.isAR($self317)) {\n$step315 = $self317.step;\n$al321 = $self317.from;\n$ans320 = $self317.ans;\n$elidedFrames323 = $self317.elidedFrames;\nself317 = $self317.args[0];\nf318 = $self317.args[1];\nann_check_temp324 = $self317.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[121],2,$t,true);\n}\nvar self317 = $self317;\nvar f318 = $f318;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans320 = R.mC();\n}\nwhile(!R.isContinuation($ans320)) {\nswitch($step315) {\ncase 0: $step315 = 1;\n$al321 = L[123];\nR._cA(L[123],List50,self317);\nbreak;\ncase 1: $step315 = 2;\n$al321 = L[124];\nR._cA(L[124],R.Function,f318);\nbreak;\ncase 2: var ann_check_temp324 = (false);\n$step315 = 3;\n$al321 = L[122];\nvar $ann$check325 = R._cA(L[122],$type$Boolean6,ann_check_temp324);\nif(R.isContinuation($ann$check325)) {\n$ans320 = $ann$check325;\n}\nbreak;\ncase 3: $step315 = 4;\n$ans320 = ann_check_temp324;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans320;\ndefault: R.ffi.throwSpinnakerError(L[121],$step315);\n}\n}\nif($step315 !== 4) {\n$ans320.stack[R.EXN_STACKHEIGHT++] = R.mAR($al321,$temp_full316,$step315,[self317,f318],[ann_check_temp324],$elidedFrames323);\n}\nreturn $ans320;\n};\nvar anf_singleton_variant_member677 = R.makeMethod1($temp_full316,\"any\");\nvar $temp_full329 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__125($self330,$elt331) {\nvar $step328 = 0;\nvar $elidedFrames335 = 0;\nvar $ans332 = D;\nvar $al333 = L[125];\nif(R.isAR($self330)) {\n$step328 = $self330.step;\n$al333 = $self330.from;\n$ans332 = $self330.ans;\n$elidedFrames335 = $self330.elidedFrames;\nself330 = $self330.args[0];\nelt331 = $self330.args[1];\nann_check_temp336 = $self330.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],2,$t,true);\n}\nvar self330 = $self330;\nvar elt331 = $elt331;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans332 = R.mC();\n}\nwhile(!R.isContinuation($ans332)) {\nswitch($step328) {\ncase 0: $step328 = 1;\n$al333 = L[127];\nR._cA(L[127],List50,self330);\nbreak;\ncase 1: $step328 = 2;\n$al333 = L[128];\nR._cA(L[128],R.Any,elt331);\nbreak;\ncase 2: var ann_check_temp336 = (false);\n$step328 = 3;\n$al333 = L[126];\nvar $ann$check337 = R._cA(L[126],$type$Boolean6,ann_check_temp336);\nif(R.isContinuation($ann$check337)) {\n$ans332 = $ann$check337;\n}\nbreak;\ncase 3: $step328 = 4;\n$ans332 = ann_check_temp336;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans332;\ndefault: R.ffi.throwSpinnakerError(L[125],$step328);\n}\n}\nif($step328 !== 4) {\n$ans332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al333,$temp_full329,$step328,[self330,elt331],[ann_check_temp336],$elidedFrames335);\n}\nreturn $ans332;\n};\nvar anf_singleton_variant_member678 = R.makeMethod1($temp_full329,\"member\");\nvar $temp_full341 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__129($self342,$other343) {\nvar $step340 = 0;\nvar $elidedFrames347 = 0;\nvar $ans344 = D;\nvar $al345 = L[129];\nif(R.isAR($self342)) {\n$step340 = $self342.step;\n$al345 = $self342.from;\n$ans344 = $self342.ans;\n$elidedFrames347 = $self342.elidedFrames;\nself342 = $self342.args[0];\nother343 = $self342.args[1];\nann_check_temp348 = $self342.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],2,$t,true);\n}\nvar self342 = $self342;\nvar other343 = $other343;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans344 = R.mC();\n}\nwhile(!R.isContinuation($ans344)) {\nswitch($step340) {\ncase 0: $step340 = 1;\n$al345 = L[131];\nR._cA(L[131],List50,self342);\nbreak;\ncase 1: $step340 = 2;\n$al345 = L[132];\nR._cA(L[132],List50,other343);\nbreak;\ncase 2: var ann_check_temp348 = other343;\n$step340 = 3;\n$al345 = L[130];\nvar $ann$check349 = R._cA(L[130],List50,ann_check_temp348);\nif(R.isContinuation($ann$check349)) {\n$ans344 = $ann$check349;\n}\nbreak;\ncase 3: $step340 = 4;\n$ans344 = ann_check_temp348;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans344;\ndefault: R.ffi.throwSpinnakerError(L[129],$step340);\n}\n}\nif($step340 !== 4) {\n$ans344.stack[R.EXN_STACKHEIGHT++] = R.mAR($al345,$temp_full341,$step340,[self342,other343],[ann_check_temp348],$elidedFrames347);\n}\nreturn $ans344;\n};\nvar anf_singleton_variant_member679 = R.makeMethod1($temp_full341,\"append\");\nvar $temp_full352 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__133($self353) {\nvar $step351 = 0;\nvar $elidedFrames357 = 0;\nvar $ans354 = D;\nvar $al355 = L[133];\nif(R.isAR($self353)) {\n$step351 = $self353.step;\n$al355 = $self353.from;\n$ans354 = $self353.ans;\n$elidedFrames357 = $self353.elidedFrames;\nself353 = $self353.args[0];\nann_check_temp358 = $self353.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[133],1,$t,true);\n}\nvar self353 = $self353;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans354 = R.mC();\n}\nwhile(!R.isContinuation($ans354)) {\nswitch($step351) {\ncase 0: $step351 = 1;\n$al355 = L[136];\nR._cA(L[136],List50,self353);\nbreak;\ncase 1: $step351 = 2;\n$al355 = L[135];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al355,raise1);\n}\n$ans354 = raise1.app((\"last: took last of empty list\"));\nbreak;\ncase 2: var ann_check_temp358 = $ans354;\n$step351 = 3;\n$al355 = L[134];\nvar $ann$check359 = R._cA(L[134],R.Any,ann_check_temp358);\nif(R.isContinuation($ann$check359)) {\n$ans354 = $ann$check359;\n}\nbreak;\ncase 3: $step351 = 4;\n$ans354 = ann_check_temp358;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans354;\ndefault: R.ffi.throwSpinnakerError(L[133],$step351);\n}\n}\nif($step351 !== 4) {\n$ans354.stack[R.EXN_STACKHEIGHT++] = R.mAR($al355,$temp_full352,$step351,[self353],[ann_check_temp358],$elidedFrames357);\n}\nreturn $ans354;\n};\nvar anf_singleton_variant_member680 = R.makeMethod0($temp_full352,\"last\");\nvar $temp_full362 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__137($self363,$cmp364,$eq365) {\nvar $step361 = 0;\nvar $elidedFrames370 = 0;\nvar $ans367 = D;\nvar $al368 = L[137];\nif(R.isAR($self363)) {\n$step361 = $self363.step;\n$al368 = $self363.from;\n$ans367 = $self363.ans;\n$elidedFrames370 = $self363.elidedFrames;\nself363 = $self363.args[0];\ncmp364 = $self363.args[1];\neq365 = $self363.args[2];\nann_check_temp371 = $self363.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[137],3,$t,true);\n}\nvar self363 = $self363;\nvar cmp364 = $cmp364;\nvar eq365 = $eq365;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans367 = R.mC();\n}\nwhile(!R.isContinuation($ans367)) {\nswitch($step361) {\ncase 0: $step361 = 1;\n$al368 = L[139];\nR._cA(L[139],List50,self363);\nbreak;\ncase 1: $step361 = 2;\n$al368 = L[140];\nR._cA(L[140],R.Function,cmp364);\nbreak;\ncase 2: $step361 = 3;\n$al368 = L[141];\nR._cA(L[141],R.Function,eq365);\nbreak;\ncase 3: var ann_check_temp371 = self363;\n$step361 = 4;\n$al368 = L[138];\nvar $ann$check372 = R._cA(L[138],List50,ann_check_temp371);\nif(R.isContinuation($ann$check372)) {\n$ans367 = $ann$check372;\n}\nbreak;\ncase 4: $step361 = 5;\n$ans367 = ann_check_temp371;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans367;\ndefault: R.ffi.throwSpinnakerError(L[137],$step361);\n}\n}\nif($step361 !== 5) {\n$ans367.stack[R.EXN_STACKHEIGHT++] = R.mAR($al368,$temp_full362,$step361,[self363,cmp364,eq365],[ann_check_temp371],$elidedFrames370);\n}\nreturn $ans367;\n};\nvar anf_singleton_variant_member681 = R.makeMethod2($temp_full362,\"sort-by\");\nvar $temp_full375 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__142($self376) {\nvar $step374 = 0;\nvar $elidedFrames380 = 0;\nvar $ans377 = D;\nvar $al378 = L[142];\nif(R.isAR($self376)) {\n$step374 = $self376.step;\n$al378 = $self376.from;\n$ans377 = $self376.ans;\n$elidedFrames380 = $self376.elidedFrames;\nself376 = $self376.args[0];\nann_check_temp381 = $self376.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[142],1,$t,true);\n}\nvar self376 = $self376;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans377 = R.mC();\n}\nwhile(!R.isContinuation($ans377)) {\nswitch($step374) {\ncase 0: $step374 = 1;\n$al378 = L[144];\nR._cA(L[144],List50,self376);\nbreak;\ncase 1: var ann_check_temp381 = self376;\n$step374 = 2;\n$al378 = L[143];\nvar $ann$check382 = R._cA(L[143],List50,ann_check_temp381);\nif(R.isContinuation($ann$check382)) {\n$ans377 = $ann$check382;\n}\nbreak;\ncase 2: $step374 = 3;\n$ans377 = ann_check_temp381;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans377;\ndefault: R.ffi.throwSpinnakerError(L[142],$step374);\n}\n}\nif($step374 !== 3) {\n$ans377.stack[R.EXN_STACKHEIGHT++] = R.mAR($al378,$temp_full375,$step374,[self376],[ann_check_temp381],$elidedFrames380);\n}\nreturn $ans377;\n};\nvar anf_singleton_variant_member682 = R.makeMethod0($temp_full375,\"sort\");\nvar $temp_full385 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__145($self386) {\nvar $step384 = 0;\nvar $elidedFrames390 = 0;\nvar $ans387 = D;\nvar $al388 = L[145];\nif(R.isAR($self386)) {\n$step384 = $self386.step;\n$al388 = $self386.from;\n$ans387 = $self386.ans;\n$elidedFrames390 = $self386.elidedFrames;\nself386 = $self386.args[0];\nann_check_temp393 = $self386.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[145],1,$t,true);\n}\nvar self386 = $self386;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans387 = R.mC();\n}\nwhile(!R.isContinuation($ans387)) {\nswitch($step384) {\ncase 0: $step384 = 1;\n$al388 = L[150];\nR._cA(L[150],List50,self386);\nbreak;\ncase 1: $al388 = L[146];\nvar anf_method_obj391 = G(self386,\"rest\",L[146]);\n$step384 = 2;\n$ans387 = R.maybeMethodCall0(anf_method_obj391,\"length\",L[147]);\nbreak;\ncase 2: var anf_arg392 = $ans387;\n$step384 = 3;\n$al388 = L[149];\n// omitting isFunction check;\n$ans387 = _plus5.app((1),anf_arg392);\nbreak;\ncase 3: var ann_check_temp393 = $ans387;\n$step384 = 4;\n$al388 = L[148];\nvar $ann$check394 = R._cA(L[148],$type$Number3,ann_check_temp393);\nif(R.isContinuation($ann$check394)) {\n$ans387 = $ann$check394;\n}\nbreak;\ncase 4: $step384 = 5;\n$ans387 = ann_check_temp393;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans387;\ndefault: R.ffi.throwSpinnakerError(L[145],$step384);\n}\n}\nif($step384 !== 5) {\n$ans387.stack[R.EXN_STACKHEIGHT++] = R.mAR($al388,$temp_full385,$step384,[self386],[ann_check_temp393],$elidedFrames390);\n}\nreturn $ans387;\n};\nvar anf_variant_member688 = R.makeMethod0($temp_full385,\"length\");\nvar $temp_full397 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__151($self398,$f399) {\nvar $step396 = 0;\nvar $elidedFrames403 = 0;\nvar $ans400 = D;\nvar $al401 = L[151];\nif(R.isAR($self398)) {\n$step396 = $self398.step;\n$al401 = $self398.from;\n$ans400 = $self398.ans;\n$elidedFrames403 = $self398.elidedFrames;\nself398 = $self398.args[0];\nf399 = $self398.args[1];\nann_check_temp406 = $self398.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[151],2,$t,true);\n}\nvar self398 = $self398;\nvar f399 = $f399;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans400 = R.mC();\n}\nwhile(!R.isContinuation($ans400)) {\nswitch($step396) {\ncase 0: $step396 = 1;\n$al401 = L[157];\nR._cA(L[157],List50,self398);\nbreak;\ncase 1: $step396 = 2;\n$al401 = L[158];\nR._cA(L[158],R.Function,f399);\nbreak;\ncase 2: var anf_fun405 = partition404.$var === D?U(L[152],\"partition\"):partition404.$var;\n$step396 = 3;\n$al401 = L[156];\nif(typeof(anf_fun405.app) !== \"function\") {\nR.ffi.throwNonFunApp($al401,anf_fun405);\n}\n$ans400 = anf_fun405.app(f399,self398);\nbreak;\ncase 3: var ann_check_temp406 = $ans400;\n$step396 = 4;\n$al401 = L[155];\nvar $ann$check407 = R._cA(L[155],R.mRA([\"is-true\",\"is-false\"],[L[153],L[154]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp406);\nif(R.isContinuation($ann$check407)) {\n$ans400 = $ann$check407;\n}\nbreak;\ncase 4: $step396 = 5;\n$ans400 = ann_check_temp406;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans400;\ndefault: R.ffi.throwSpinnakerError(L[151],$step396);\n}\n}\nif($step396 !== 5) {\n$ans400.stack[R.EXN_STACKHEIGHT++] = R.mAR($al401,$temp_full397,$step396,[self398,f399],[ann_check_temp406],$elidedFrames403);\n}\nreturn $ans400;\n};\nvar anf_variant_member689 = R.makeMethod1($temp_full397,\"partition\");\nvar $temp_full410 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__159($self411,$f412) {\nvar $step409 = 0;\nvar $elidedFrames416 = 0;\nvar $ans413 = D;\nvar $al414 = L[159];\nif(R.isAR($self411)) {\n$step409 = $self411.step;\n$al414 = $self411.from;\n$ans413 = $self411.ans;\n$elidedFrames416 = $self411.elidedFrames;\nself411 = $self411.args[0];\nf412 = $self411.args[1];\nann_check_temp419 = $self411.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[159],2,$t,true);\n}\nvar self411 = $self411;\nvar f412 = $f412;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans413 = R.mC();\n}\nwhile(!R.isContinuation($ans413)) {\nswitch($step409) {\ncase 0: $step409 = 1;\n$al414 = L[163];\nR._cA(L[163],List50,self411);\nbreak;\ncase 1: $step409 = 2;\n$al414 = L[164];\nR._cA(L[164],R.Function,f412);\nbreak;\ncase 2: var anf_fun418 = find417.$var === D?U(L[160],\"find\"):find417.$var;\n$step409 = 3;\n$al414 = L[162];\nif(typeof(anf_fun418.app) !== \"function\") {\nR.ffi.throwNonFunApp($al414,anf_fun418);\n}\n$ans413 = anf_fun418.app(f412,self411);\nbreak;\ncase 3: var ann_check_temp419 = $ans413;\n$step409 = 4;\n$al414 = L[161];\nvar $ann$check420 = R._cA(L[161],Option17,ann_check_temp419);\nif(R.isContinuation($ann$check420)) {\n$ans413 = $ann$check420;\n}\nbreak;\ncase 4: $step409 = 5;\n$ans413 = ann_check_temp419;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans413;\ndefault: R.ffi.throwSpinnakerError(L[159],$step409);\n}\n}\nif($step409 !== 5) {\n$ans413.stack[R.EXN_STACKHEIGHT++] = R.mAR($al414,$temp_full410,$step409,[self411,f412],[ann_check_temp419],$elidedFrames416);\n}\nreturn $ans413;\n};\nvar anf_variant_member690 = R.makeMethod1($temp_full410,\"find\");\nvar $temp_full423 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__165($self424,$elt425) {\nvar $step422 = 0;\nvar $elidedFrames429 = 0;\nvar $ans426 = D;\nvar $al427 = L[165];\nif(R.isAR($self424)) {\n$step422 = $self424.step;\n$al427 = $self424.from;\n$ans426 = $self424.ans;\n$elidedFrames429 = $self424.elidedFrames;\nself424 = $self424.args[0];\nelt425 = $self424.args[1];\nann_check_temp434 = $self424.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[165],2,$t,true);\n}\nvar self424 = $self424;\nvar elt425 = $elt425;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans426 = R.mC();\n}\nwhile(!R.isContinuation($ans426)) {\nswitch($step422) {\ncase 0: $step422 = 1;\n$al427 = L[171];\nR._cA(L[171],List50,self424);\nbreak;\ncase 1: $step422 = 2;\n$al427 = L[172];\nR._cA(L[172],R.Any,elt425);\nbreak;\ncase 2: $al427 = L[166];\nvar anf_arg433 = G(self424,\"first\",L[166]);\n$step422 = 3;\n$al427 = L[170];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al427,equal$always1);\n}\n$ans426 = equal$always1.app(elt425,anf_arg433);\nbreak;\ncase 3: var anf_if438 = $ans426;\n$step422 = R.checkPyretTrue(anf_if438)?4:5;\nbreak;\ncase 4: $step422 = 7;\n$ans426 = (true);\nbreak;\ncase 5: $al427 = L[168];\nvar anf_method_obj436 = G(self424,\"rest\",L[168]);\n$step422 = 6;\n$ans426 = R.maybeMethodCall1(anf_method_obj436,\"member\",L[169],elt425);\nbreak;\ncase 6: var anf_arg437 = $ans426;\n$ans426 = R.checkWrapBoolean(anf_arg437);\n$step422 = 7;\nbreak;\ncase 7: var ann_check_temp434 = $ans426;\n$step422 = 8;\n$al427 = L[167];\nvar $ann$check435 = R._cA(L[167],$type$Boolean6,ann_check_temp434);\nif(R.isContinuation($ann$check435)) {\n$ans426 = $ann$check435;\n}\nbreak;\ncase 8: $step422 = 9;\n$ans426 = ann_check_temp434;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans426;\ndefault: R.ffi.throwSpinnakerError(L[165],$step422);\n}\n}\nif($step422 !== 9) {\n$ans426.stack[R.EXN_STACKHEIGHT++] = R.mAR($al427,$temp_full423,$step422,[self424,elt425],[ann_check_temp434],$elidedFrames429);\n}\nreturn $ans426;\n};\nvar anf_variant_member691 = R.makeMethod1($temp_full423,\"member\");\nvar $temp_full441 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__173($self442,$f443,$base444) {\nvar $step440 = 0;\nvar $elidedFrames448 = 0;\nvar $ans445 = D;\nvar $al446 = L[173];\nif(R.isAR($self442)) {\n$step440 = $self442.step;\n$al446 = $self442.from;\n$ans445 = $self442.ans;\n$elidedFrames448 = $self442.elidedFrames;\nself442 = $self442.args[0];\nf443 = $self442.args[1];\nbase444 = $self442.args[2];\nanf_arg450 = $self442.vars[0];\nann_check_temp452 = $self442.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[173],3,$t,true);\n}\nvar self442 = $self442;\nvar f443 = $f443;\nvar base444 = $base444;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans445 = R.mC();\n}\nwhile(!R.isContinuation($ans445)) {\nswitch($step440) {\ncase 0: $step440 = 1;\n$al446 = L[179];\nR._cA(L[179],List50,self442);\nbreak;\ncase 1: $step440 = 2;\n$al446 = L[180];\nR._cA(L[180],R.Function,f443);\nbreak;\ncase 2: $step440 = 3;\n$al446 = L[181];\nR._cA(L[181],R.Any,base444);\nbreak;\ncase 3: $al446 = L[174];\nvar anf_arg450 = G(self442,\"first\",L[174]);\n$al446 = L[175];\nvar anf_method_obj449 = G(self442,\"rest\",L[175]);\n$step440 = 4;\n$ans445 = R.maybeMethodCall2(anf_method_obj449,\"foldr\",L[176],f443,base444);\nbreak;\ncase 4: var anf_arg451 = $ans445;\n$step440 = 5;\n$al446 = L[178];\nif(typeof(f443.app) !== \"function\") {\nR.ffi.throwNonFunApp($al446,f443);\n}\n$ans445 = f443.app(anf_arg450,anf_arg451);\nbreak;\ncase 5: var ann_check_temp452 = $ans445;\n$step440 = 6;\n$al446 = L[177];\nvar $ann$check453 = R._cA(L[177],R.Any,ann_check_temp452);\nif(R.isContinuation($ann$check453)) {\n$ans445 = $ann$check453;\n}\nbreak;\ncase 6: $step440 = 7;\n$ans445 = ann_check_temp452;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans445;\ndefault: R.ffi.throwSpinnakerError(L[173],$step440);\n}\n}\nif($step440 !== 7) {\n$ans445.stack[R.EXN_STACKHEIGHT++] = R.mAR($al446,$temp_full441,$step440,[self442,f443,base444],[anf_arg450,ann_check_temp452],$elidedFrames448);\n}\nreturn $ans445;\n};\nvar anf_variant_member692 = R.makeMethod2($temp_full441,\"foldr\");\nvar $temp_full456 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__182($self457,$f458,$base459) {\nvar $step455 = 0;\nvar $elidedFrames463 = 0;\nvar $ans460 = D;\nvar $al461 = L[182];\nif(R.isAR($self457)) {\n$step455 = $self457.step;\n$al461 = $self457.from;\n$ans460 = $self457.ans;\n$elidedFrames463 = $self457.elidedFrames;\nself457 = $self457.args[0];\nf458 = $self457.args[1];\nbase459 = $self457.args[2];\nanf_method_obj468 = $self457.vars[0];\nann_check_temp470 = $self457.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[182],3,$t,true);\n}\nvar self457 = $self457;\nvar f458 = $f458;\nvar base459 = $base459;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans460 = R.mC();\n}\nwhile(!R.isContinuation($ans460)) {\nswitch($step455) {\ncase 0: $step455 = 1;\n$al461 = L[188];\nR._cA(L[188],List50,self457);\nbreak;\ncase 1: $step455 = 2;\n$al461 = L[189];\nR._cA(L[189],R.Function,f458);\nbreak;\ncase 2: $step455 = 3;\n$al461 = L[190];\nR._cA(L[190],R.Any,base459);\nbreak;\ncase 3: $al461 = L[183];\nvar anf_method_obj468 = G(self457,\"rest\",L[183]);\n$al461 = L[184];\nvar anf_arg467 = G(self457,\"first\",L[184]);\n$step455 = 4;\n$al461 = L[187];\nif(typeof(f458.app) !== \"function\") {\nR.ffi.throwNonFunApp($al461,f458);\n}\n$ans460 = f458.app(anf_arg467,base459);\nbreak;\ncase 4: var anf_arg469 = $ans460;\n$step455 = 5;\n$ans460 = R.maybeMethodCall2(anf_method_obj468,\"foldl\",L[185],f458,anf_arg469);\nbreak;\ncase 5: var ann_check_temp470 = $ans460;\n$step455 = 6;\n$al461 = L[186];\nvar $ann$check471 = R._cA(L[186],R.Any,ann_check_temp470);\nif(R.isContinuation($ann$check471)) {\n$ans460 = $ann$check471;\n}\nbreak;\ncase 6: $step455 = 7;\n$ans460 = ann_check_temp470;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans460;\ndefault: R.ffi.throwSpinnakerError(L[182],$step455);\n}\n}\nif($step455 !== 7) {\n$ans460.stack[R.EXN_STACKHEIGHT++] = R.mAR($al461,$temp_full456,$step455,[self457,f458,base459],[anf_method_obj468,ann_check_temp470],$elidedFrames463);\n}\nreturn $ans460;\n};\nvar anf_variant_member693 = R.makeMethod2($temp_full456,\"foldl\");\nvar $temp_full475 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__191($self476,$f477) {\nvar $step474 = 0;\nvar $elidedFrames481 = 0;\nvar $ans478 = D;\nvar $al479 = L[191];\nif(R.isAR($self476)) {\n$step474 = $self476.step;\n$al479 = $self476.from;\n$ans478 = $self476.ans;\n$elidedFrames481 = $self476.elidedFrames;\nself476 = $self476.args[0];\nf477 = $self476.args[1];\nann_check_temp486 = $self476.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[191],2,$t,true);\n}\nvar self476 = $self476;\nvar f477 = $f477;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans478 = R.mC();\n}\nwhile(!R.isContinuation($ans478)) {\nswitch($step474) {\ncase 0: $step474 = 1;\n$al479 = L[197];\nR._cA(L[197],List50,self476);\nbreak;\ncase 1: $step474 = 2;\n$al479 = L[198];\nR._cA(L[198],R.Function,f477);\nbreak;\ncase 2: $al479 = L[192];\nvar anf_arg485 = G(self476,\"first\",L[192]);\n$step474 = 3;\n$al479 = L[196];\nif(typeof(f477.app) !== \"function\") {\nR.ffi.throwNonFunApp($al479,f477);\n}\n$ans478 = f477.app(anf_arg485);\nbreak;\ncase 3: var anf_if499 = $ans478;\n$step474 = R.checkPyretTrue(anf_if499)?4:6;\nbreak;\ncase 4: $al479 = L[194];\nvar anf_method_obj488 = G(self476,\"rest\",L[194]);\n$step474 = 5;\n$ans478 = R.maybeMethodCall1(anf_method_obj488,\"all\",L[195],f477);\nbreak;\ncase 5: var anf_arg498 = $ans478;\n$ans478 = R.checkWrapBoolean(anf_arg498);\n$step474 = 7;\nbreak;\ncase 6: $step474 = 7;\n$ans478 = (false);\nbreak;\ncase 7: var ann_check_temp486 = $ans478;\n$step474 = 8;\n$al479 = L[193];\nvar $ann$check487 = R._cA(L[193],$type$Boolean6,ann_check_temp486);\nif(R.isContinuation($ann$check487)) {\n$ans478 = $ann$check487;\n}\nbreak;\ncase 8: $step474 = 9;\n$ans478 = ann_check_temp486;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans478;\ndefault: R.ffi.throwSpinnakerError(L[191],$step474);\n}\n}\nif($step474 !== 9) {\n$ans478.stack[R.EXN_STACKHEIGHT++] = R.mAR($al479,$temp_full475,$step474,[self476,f477],[ann_check_temp486],$elidedFrames481);\n}\nreturn $ans478;\n};\nvar anf_variant_member694 = R.makeMethod1($temp_full475,\"all\");\nvar $temp_full502 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__199($self503,$f504) {\nvar $step501 = 0;\nvar $elidedFrames508 = 0;\nvar $ans505 = D;\nvar $al506 = L[199];\nif(R.isAR($self503)) {\n$step501 = $self503.step;\n$al506 = $self503.from;\n$ans505 = $self503.ans;\n$elidedFrames508 = $self503.elidedFrames;\nself503 = $self503.args[0];\nf504 = $self503.args[1];\nann_check_temp514 = $self503.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[199],2,$t,true);\n}\nvar self503 = $self503;\nvar f504 = $f504;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans505 = R.mC();\n}\nwhile(!R.isContinuation($ans505)) {\nswitch($step501) {\ncase 0: $step501 = 1;\n$al506 = L[205];\nR._cA(L[205],List50,self503);\nbreak;\ncase 1: $step501 = 2;\n$al506 = L[206];\nR._cA(L[206],R.Function,f504);\nbreak;\ncase 2: $al506 = L[200];\nvar anf_arg513 = G(self503,\"first\",L[200]);\n$step501 = 3;\n$al506 = L[204];\nif(typeof(f504.app) !== \"function\") {\nR.ffi.throwNonFunApp($al506,f504);\n}\n$ans505 = f504.app(anf_arg513);\nbreak;\ncase 3: var anf_if524 = $ans505;\n$step501 = R.checkPyretTrue(anf_if524)?4:5;\nbreak;\ncase 4: $step501 = 7;\n$ans505 = (true);\nbreak;\ncase 5: $al506 = L[202];\nvar anf_method_obj516 = G(self503,\"rest\",L[202]);\n$step501 = 6;\n$ans505 = R.maybeMethodCall1(anf_method_obj516,\"any\",L[203],f504);\nbreak;\ncase 6: var anf_arg523 = $ans505;\n$ans505 = R.checkWrapBoolean(anf_arg523);\n$step501 = 7;\nbreak;\ncase 7: var ann_check_temp514 = $ans505;\n$step501 = 8;\n$al506 = L[201];\nvar $ann$check515 = R._cA(L[201],$type$Boolean6,ann_check_temp514);\nif(R.isContinuation($ann$check515)) {\n$ans505 = $ann$check515;\n}\nbreak;\ncase 8: $step501 = 9;\n$ans505 = ann_check_temp514;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans505;\ndefault: R.ffi.throwSpinnakerError(L[199],$step501);\n}\n}\nif($step501 !== 9) {\n$ans505.stack[R.EXN_STACKHEIGHT++] = R.mAR($al506,$temp_full502,$step501,[self503,f504],[ann_check_temp514],$elidedFrames508);\n}\nreturn $ans505;\n};\nvar anf_variant_member695 = R.makeMethod1($temp_full502,\"any\");\nvar $temp_full527 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__207($self528,$other529) {\nvar $step526 = 0;\nvar $elidedFrames534 = 0;\nvar $ans531 = D;\nvar $al532 = L[207];\nif(R.isAR($self528)) {\n$step526 = $self528.step;\n$al532 = $self528.from;\n$ans531 = $self528.ans;\n$elidedFrames534 = $self528.elidedFrames;\nself528 = $self528.args[0];\nother529 = $self528.args[1];\narg_537 = $self528.vars[0];\nanf_fun536 = $self528.vars[1];\nann_check_temp539 = $self528.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[207],2,$t,true);\n}\nvar self528 = $self528;\nvar other529 = $other529;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans531 = R.mC();\n}\nwhile(!R.isContinuation($ans531)) {\nswitch($step526) {\ncase 0: $step526 = 1;\n$al532 = L[214];\nR._cA(L[214],List50,self528);\nbreak;\ncase 1: $step526 = 2;\n$al532 = L[215];\nR._cA(L[215],List50,other529);\nbreak;\ncase 2: $al532 = L[208];\nvar arg_537 = G(self528,\"first\",L[208]);\nvar anf_fun536 = link124.$var === D?U(L[209],\"link\"):link124.$var;\n$al532 = L[210];\nvar anf_method_obj535 = G(self528,\"rest\",L[210]);\n$step526 = 3;\n$ans531 = R.maybeMethodCall1(anf_method_obj535,\"append\",L[211],other529);\nbreak;\ncase 3: var anf_arg538 = $ans531;\n$step526 = 4;\n$al532 = L[213];\nif(typeof(anf_fun536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al532,anf_fun536);\n}\n$ans531 = anf_fun536.app(arg_537,anf_arg538);\nbreak;\ncase 4: var ann_check_temp539 = $ans531;\n$step526 = 5;\n$al532 = L[212];\nvar $ann$check540 = R._cA(L[212],List50,ann_check_temp539);\nif(R.isContinuation($ann$check540)) {\n$ans531 = $ann$check540;\n}\nbreak;\ncase 5: $step526 = 6;\n$ans531 = ann_check_temp539;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans531;\ndefault: R.ffi.throwSpinnakerError(L[207],$step526);\n}\n}\nif($step526 !== 6) {\n$ans531.stack[R.EXN_STACKHEIGHT++] = R.mAR($al532,$temp_full527,$step526,[self528,other529],[arg_537,anf_fun536,ann_check_temp539],$elidedFrames534);\n}\nreturn $ans531;\n};\nvar anf_variant_member696 = R.makeMethod1($temp_full527,\"append\");\nvar $temp_full543 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__216($self544) {\nvar $step542 = 0;\nvar $elidedFrames548 = 0;\nvar $ans545 = D;\nvar $al546 = L[216];\nif(R.isAR($self544)) {\n$step542 = $self544.step;\n$al546 = $self544.from;\n$ans545 = $self544.ans;\n$elidedFrames548 = $self544.elidedFrames;\nself544 = $self544.args[0];\nann_check_temp553 = $self544.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[216],1,$t,true);\n}\nvar self544 = $self544;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans545 = R.mC();\n}\nwhile(!R.isContinuation($ans545)) {\nswitch($step542) {\ncase 0: $step542 = 1;\n$al546 = L[224];\nR._cA(L[224],List50,self544);\nbreak;\ncase 1: var anf_fun550 = is$empty549.$var === D?U(L[217],\"is-empty\"):is$empty549.$var;\n$al546 = L[218];\nvar anf_arg552 = G(self544,\"rest\",L[218]);\n$step542 = 2;\n$al546 = L[223];\nif(typeof(anf_fun550.app) !== \"function\") {\nR.ffi.throwNonFunApp($al546,anf_fun550);\n}\n$ans545 = anf_fun550.app(anf_arg552);\nbreak;\ncase 2: var anf_if556 = $ans545;\n$step542 = R.checkPyretTrue(anf_if556)?3:4;\nbreak;\ncase 3: $step542 = 5;\n$al546 = L[220];\n$ans545 = G(self544,\"first\",L[220]);\nbreak;\ncase 4: $al546 = L[221];\nvar anf_method_obj555 = G(self544,\"rest\",L[221]);\n$step542 = 5;\n$ans545 = R.maybeMethodCall0(anf_method_obj555,\"last\",L[222]);\nbreak;\ncase 5: var ann_check_temp553 = $ans545;\n$step542 = 6;\n$al546 = L[219];\nvar $ann$check554 = R._cA(L[219],R.Any,ann_check_temp553);\nif(R.isContinuation($ann$check554)) {\n$ans545 = $ann$check554;\n}\nbreak;\ncase 6: $step542 = 7;\n$ans545 = ann_check_temp553;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans545;\ndefault: R.ffi.throwSpinnakerError(L[216],$step542);\n}\n}\nif($step542 !== 7) {\n$ans545.stack[R.EXN_STACKHEIGHT++] = R.mAR($al546,$temp_full543,$step542,[self544],[ann_check_temp553],$elidedFrames548);\n}\nreturn $ans545;\n};\nvar anf_variant_member697 = R.makeMethod0($temp_full543,\"last\");\nvar $temp_full560 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__225($self561,$cmp562,$eq563) {\nvar $step559 = 0;\nvar $elidedFrames568 = 0;\nvar $ans565 = D;\nvar $al566 = L[225];\nif(R.isAR($self561)) {\n$step559 = $self561.step;\n$al566 = $self561.from;\n$ans565 = $self561.ans;\n$elidedFrames568 = $self561.elidedFrames;\nself561 = $self561.args[0];\ncmp562 = $self561.args[1];\neq563 = $self561.args[2];\nare$gt604 = $self561.vars[0];\nann_check_temp625 = $self561.vars[1];\nequal620 = $self561.vars[2];\nare$eq592 = $self561.vars[3];\nare$lt577 = $self561.vars[4];\nless622 = $self561.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[225],3,$t,true);\n}\nvar self561 = $self561;\nvar cmp562 = $cmp562;\nvar eq563 = $eq563;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans565 = R.mC();\n}\nwhile(!R.isContinuation($ans565)) {\nswitch($step559) {\ncase 0: $step559 = 1;\n$al566 = L[245];\nR._cA(L[245],List50,self561);\nbreak;\ncase 1: $step559 = 2;\n$al566 = L[246];\nR._cA(L[246],R.Function,cmp562);\nbreak;\ncase 2: $step559 = 3;\n$al566 = L[247];\nR._cA(L[247],R.Function,eq563);\nbreak;\ncase 3: $al566 = L[226];\nvar pivot576 = G(self561,\"first\",L[226]);\nvar var629 = empty266.$var === D?U(L[227],\"empty\"):empty266.$var;\nvar are$lt577 = {\"$var\":var629};\nvar var628 = empty266.$var === D?U(L[228],\"empty\"):empty266.$var;\nvar are$eq592 = {\"$var\":var628};\nvar var627 = empty266.$var === D?U(L[229],\"empty\"):empty266.$var;\nvar are$gt604 = {\"$var\":var627};\nvar $temp_lam570 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__230($e571) {\nvar $step569 = 0;\nvar $elidedFrames575 = 0;\nvar $ans572 = D;\nvar $al573 = L[230];\nif(R.isAR($e571)) {\n$step569 = $e571.step;\n$al573 = $e571.from;\n$ans572 = $e571.ans;\n$elidedFrames575 = $e571.elidedFrames;\ne571 = $e571.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[230],1,$t,false);\n}\nvar e571 = $e571;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans572 = R.mC();\n}\nwhile(!R.isContinuation($ans572)) {\nswitch($step569) {\ncase 0: $step569 = 1;\n$al573 = L[238];\nif(typeof(cmp562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,cmp562);\n}\n$ans572 = cmp562.app(e571,pivot576);\nbreak;\ncase 1: var anf_if613 = $ans572;\n$step569 = R.checkPyretTrue(anf_if613)?2:4;\nbreak;\ncase 2: var arg_579 = e571;\nvar anf_fun578 = link124.$var === D?U(L[231],\"link\"):link124.$var;\nvar anf_arg590 = are$lt577.$var;\n$step569 = 3;\n$al573 = L[232];\nif(typeof(anf_fun578.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun578);\n}\n$ans572 = anf_fun578.app(arg_579,anf_arg590);\nbreak;\ncase 3: var anf_assign591 = $ans572;\n$step569 = 10;\nare$lt577.$var = anf_assign591;\n$ans572 = R.nothing;\nbreak;\ncase 4: $step569 = 5;\n$al573 = L[237];\nif(typeof(eq563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,eq563);\n}\n$ans572 = eq563.app(e571,pivot576);\nbreak;\ncase 5: var anf_if612 = $ans572;\n$step569 = R.checkPyretTrue(anf_if612)?6:8;\nbreak;\ncase 6: var arg_594 = e571;\nvar anf_fun593 = link124.$var === D?U(L[233],\"link\"):link124.$var;\nvar anf_arg602 = are$eq592.$var;\n$step569 = 7;\n$al573 = L[234];\nif(typeof(anf_fun593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun593);\n}\n$ans572 = anf_fun593.app(arg_594,anf_arg602);\nbreak;\ncase 7: var anf_assign603 = $ans572;\n$step569 = 10;\nare$eq592.$var = anf_assign603;\n$ans572 = R.nothing;\nbreak;\ncase 8: var arg_606 = e571;\nvar anf_fun605 = link124.$var === D?U(L[235],\"link\"):link124.$var;\nvar anf_arg610 = are$gt604.$var;\n$step569 = 9;\n$al573 = L[236];\nif(typeof(anf_fun605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al573,anf_fun605);\n}\n$ans572 = anf_fun605.app(arg_606,anf_arg610);\nbreak;\ncase 9: var anf_assign611 = $ans572;\n$step569 = 10;\nare$gt604.$var = anf_assign611;\n$ans572 = R.nothing;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans572;\ndefault: R.ffi.throwSpinnakerError(L[230],$step569);\n}\n}\nif($step569 !== 10) {\n$ans572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al573,$temp_lam570,$step569,[e571],[],$elidedFrames575);\n}\nreturn $ans572;\n};\nvar anf_arg617 = R.mF($temp_lam570,\"\");\n$step559 = 4;\n$ans565 = R.maybeMethodCall1(self561,\"each\",L[239],anf_arg617);\nbreak;\ncase 4: var anf_method_obj618 = are$lt577.$var;\n$step559 = 5;\n$ans565 = R.maybeMethodCall2(anf_method_obj618,\"sort-by\",L[240],cmp562,eq563);\nbreak;\ncase 5: var less622 = $ans565;\nvar equal620 = are$eq592.$var;\nvar anf_method_obj619 = are$gt604.$var;\n$step559 = 6;\n$ans565 = R.maybeMethodCall2(anf_method_obj619,\"sort-by\",L[241],cmp562,eq563);\nbreak;\ncase 6: var greater621 = $ans565;\n$step559 = 7;\n$ans565 = R.maybeMethodCall1(equal620,\"append\",L[242],greater621);\nbreak;\ncase 7: var anf_arg624 = $ans565;\n$step559 = 8;\n$ans565 = R.maybeMethodCall1(less622,\"append\",L[243],anf_arg624);\nbreak;\ncase 8: var ann_check_temp625 = $ans565;\n$step559 = 9;\n$al566 = L[244];\nvar $ann$check626 = R._cA(L[244],List50,ann_check_temp625);\nif(R.isContinuation($ann$check626)) {\n$ans565 = $ann$check626;\n}\nbreak;\ncase 9: $step559 = 10;\n$ans565 = ann_check_temp625;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans565;\ndefault: R.ffi.throwSpinnakerError(L[225],$step559);\n}\n}\nif($step559 !== 10) {\n$ans565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al566,$temp_full560,$step559,[self561,cmp562,eq563],[are$gt604,ann_check_temp625,equal620,are$eq592,are$lt577,less622],$elidedFrames568);\n}\nreturn $ans565;\n};\nvar anf_variant_member698 = R.makeMethod2($temp_full560,\"sort-by\");\nvar $temp_full632 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__248($self633) {\nvar $step631 = 0;\nvar $elidedFrames637 = 0;\nvar $ans634 = D;\nvar $al635 = L[248];\nif(R.isAR($self633)) {\n$step631 = $self633.step;\n$al635 = $self633.from;\n$ans634 = $self633.ans;\n$elidedFrames637 = $self633.elidedFrames;\nself633 = $self633.args[0];\nann_check_temp650 = $self633.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[248],1,$t,true);\n}\nvar self633 = $self633;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans634 = R.mC();\n}\nwhile(!R.isContinuation($ans634)) {\nswitch($step631) {\ncase 0: $step631 = 1;\n$al635 = L[253];\nR._cA(L[253],List50,self633);\nbreak;\ncase 1: var $temp_lam639 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__249($e1640,$e2641) {\nvar $step638 = 0;\nvar $elidedFrames645 = 0;\nvar $ans642 = D;\nvar $al643 = L[249];\nif(R.isAR($e1640)) {\n$step638 = $e1640.step;\n$al643 = $e1640.from;\n$ans642 = $e1640.ans;\n$elidedFrames645 = $e1640.elidedFrames;\ne1640 = $e1640.args[0];\ne2641 = $e1640.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[249],2,$t,false);\n}\nvar e1640 = $e1640;\nvar e2641 = $e2641;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans642 = R.mC();\n}\nwhile(!R.isContinuation($ans642)) {\nswitch($step638) {\ncase 0: $step638 = 1;\n$al643 = L[250];\n// omitting isFunction check;\n$ans642 = _lessthan3.app(e1640,e2641);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans642;\ndefault: R.ffi.throwSpinnakerError(L[249],$step638);\n}\n}\nif($step638 !== 1) {\n$ans642.stack[R.EXN_STACKHEIGHT++] = R.mAR($al643,$temp_lam639,$step638,[e1640,e2641],[],$elidedFrames645);\n}\nreturn $ans642;\n};\nvar anf_arg648 = R.mF($temp_lam639,\"\");\n// caller optimization;\n$ans634 = within6.app(R.makeNumberFromString(\"~0\"));\nvar anf_arg649 = $ans634;\n$step631 = 2;\n$ans634 = R.maybeMethodCall2(self633,\"sort-by\",L[251],anf_arg648,anf_arg649);\nbreak;\ncase 2: var ann_check_temp650 = $ans634;\n$step631 = 3;\n$al635 = L[252];\nvar $ann$check651 = R._cA(L[252],List50,ann_check_temp650);\nif(R.isContinuation($ann$check651)) {\n$ans634 = $ann$check651;\n}\nbreak;\ncase 3: $step631 = 4;\n$ans634 = ann_check_temp650;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans634;\ndefault: R.ffi.throwSpinnakerError(L[248],$step631);\n}\n}\nif($step631 !== 4) {\n$ans634.stack[R.EXN_STACKHEIGHT++] = R.mAR($al635,$temp_full632,$step631,[self633],[ann_check_temp650],$elidedFrames637);\n}\nreturn $ans634;\n};\nvar anf_variant_member699 = R.makeMethod0($temp_full632,\"sort\");\nvar $empty_getfields684 = function variant(f) {\nreturn f();\n};\nvar $empty_mutablemask683 = [];\nvar $empty$base668 = {\"_output\":anf_shared653,\n\"_plus\":anf_shared654,\n\"map\":anf_shared655,\n\"filter\":anf_shared656,\n\"each\":anf_shared657,\n\"reverse\":anf_shared658,\n\"push\":anf_shared659,\n\"split-at\":anf_shared660,\n\"take\":anf_shared661,\n\"drop\":anf_shared662,\n\"get\":anf_shared663,\n\"set\":anf_shared664,\n\"remove\":anf_shared665,\n\"join-str\":anf_shared666,\n\"join-str-last\":anf_shared667,\n\"length\":anf_singleton_variant_member671,\n\"find\":anf_singleton_variant_member672,\n\"partition\":anf_singleton_variant_member673,\n\"foldr\":anf_singleton_variant_member674,\n\"foldl\":anf_singleton_variant_member675,\n\"all\":anf_singleton_variant_member676,\n\"any\":anf_singleton_variant_member677,\n\"member\":anf_singleton_variant_member678,\n\"append\":anf_singleton_variant_member679,\n\"last\":anf_singleton_variant_member680,\n\"sort-by\":anf_singleton_variant_member681,\n\"sort\":anf_singleton_variant_member682,\n\"_match\":R.mM(\"empty\",0)};\nvar $empty$brander669 = R.nB(\"empty\",L[254]);\nvar $empty$brands670 = {};\n$empty$brands670[List37._brand] = true;\n$empty$brands670[$empty$brander669._brand] = true;\nvar $link_getfields701 = function singleton_variant(f) {\nreturn f(this.dict[\"first\"],this.dict[\"rest\"]);\n};\nvar $link_mutablemask700 = [false,false];\nvar $link$base685 = {\"$fieldNames\":[\"first\",\"rest\"],\n\"_output\":anf_shared653,\n\"_plus\":anf_shared654,\n\"map\":anf_shared655,\n\"filter\":anf_shared656,\n\"each\":anf_shared657,\n\"reverse\":anf_shared658,\n\"push\":anf_shared659,\n\"split-at\":anf_shared660,\n\"take\":anf_shared661,\n\"drop\":anf_shared662,\n\"get\":anf_shared663,\n\"set\":anf_shared664,\n\"remove\":anf_shared665,\n\"join-str\":anf_shared666,\n\"join-str-last\":anf_shared667,\n\"length\":anf_variant_member688,\n\"partition\":anf_variant_member689,\n\"find\":anf_variant_member690,\n\"member\":anf_variant_member691,\n\"foldr\":anf_variant_member692,\n\"foldl\":anf_variant_member693,\n\"all\":anf_variant_member694,\n\"any\":anf_variant_member695,\n\"append\":anf_variant_member696,\n\"last\":anf_variant_member697,\n\"sort-by\":anf_variant_member698,\n\"sort\":anf_variant_member699,\n\"_match\":R.mM(\"link\",2)};\nvar $link$brander686 = R.nB(\"link\",L[255]);\nvar $link$brands687 = {};\n$link$brands687[List37._brand] = true;\n$link$brands687[$link$brander686._brand] = true;\nvar link702 = R.mVC(L[255],function $synthesizedConstructor_$link$base() {\nreturn [R.Any,List50];\n},[\"first703\",\"rest704\"],[L[256],L[257]],[false,false],[\"first703\",\"rest704\"],$link_mutablemask700,$link$base685,$link$brands687,\"link\",$link_getfields701,$link$base685);\nvar anf_assign705 = R.mO({\"List\":G(List37,\"test\",L[258]),\n\"is-empty\":G($empty$brander669,\"test\",L[254]),\n\"empty\":R.mDV($empty$base668,$empty$brands670,\"empty\",$empty_getfields684,-1,$empty_mutablemask683,$empty$base668,false,L[254]),\n\"is-link\":G($link$brander686,\"test\",L[255]),\n\"link\":link702});\nList706.$var = anf_assign705;\nR.nothing;\n$al34 = L[258];\nvar anf_assign707 = G(List706.$var,\"List\",L[258]);\nis$List708.$var = anf_assign707;\nR.nothing;\n$al34 = L[254];\nvar anf_assign709 = G(List706.$var,\"is-empty\",L[254]);\nis$empty549.$var = anf_assign709;\nR.nothing;\n$al34 = L[254];\nvar anf_assign710 = G(List706.$var,\"empty\",L[254]);\nempty266.$var = anf_assign710;\nR.nothing;\n$al34 = L[255];\nvar anf_assign711 = G(List706.$var,\"is-link\",L[255]);\nis$link712.$var = anf_assign711;\nR.nothing;\n$al34 = L[255];\nvar anf_assign713 = G(List706.$var,\"link\",L[255]);\nlink124.$var = anf_assign713;\nR.nothing;\nvar $temp_lam715 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__259($lst716) {\nvar $step714 = 0;\nvar $elidedFrames720 = 0;\nvar $ans717 = D;\nvar $al718 = L[259];\nif(R.isAR($lst716)) {\n$step714 = $lst716.step;\n$al718 = $lst716.from;\n$ans717 = $lst716.ans;\n$elidedFrames720 = $lst716.elidedFrames;\nlst716 = $lst716.args[0];\nann_check_temp742 = $lst716.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[259],1,$t,false);\n}\nvar lst716 = $lst716;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans717 = R.mC();\n}\nwhile(!R.isContinuation($ans717)) {\nswitch($step714) {\ncase 0: $step714 = 1;\n$al718 = L[269];\nR._cA(L[269],List50,lst716);\nbreak;\ncase 1: var help732 = {\"$var\":D};\nvar $temp_lam722 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__260($l723,$cur724) {\nvar $step721 = 0;\nvar $elidedFrames728 = 0;\nvar $ans725 = D;\nvar $al726 = L[260];\nif(R.isAR($l723)) {\n$step721 = $l723.step;\n$al726 = $l723.from;\n$ans725 = $l723.ans;\n$elidedFrames728 = $l723.elidedFrames;\nl723 = $l723.args[0];\ncur724 = $l723.args[1];\ncases729 = $l723.vars[0];\nr733 = $l723.vars[1];\nann_check_temp730 = $l723.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[260],2,$t,false);\n}\nvar l723 = $l723;\nvar cur724 = $cur724;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans725 = R.mC();\n}\nwhile(!R.isContinuation($ans725)) {\nswitch($step721) {\ncase 0: var cases729 = l723;\n$step721 = 1;\n$al726 = L[266];\nvar $ann$check739 = R._cA(L[266],List50,cases729);\nif(R.isContinuation($ann$check739)) {\n$ans725 = $ann$check739;\n}\nbreak;\ncase 1: $al726 = L[263];\n$step721 = $cases_dispatch738[cases729.$name] || 5;\nbreak;\ncase 2: if(cases729.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[262],false,L[263],cases729.$loc);\n}\n$step721 = 6;\n$ans725 = cur724;\nbreak;\ncase 3: if(cases729.$arity !== 2) {\nif(cases729.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[265],2,cases729.$arity,L[263],cases729.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[265],true,L[263],cases729.$loc);\n}\n}\nvar $fn736 = cases729.$constructor.$fieldNames;\nR.dF(cases729.dict[$fn736[0]],cases729.$mut_fields_mask[0],false);\nvar r733 = R.dF(cases729.dict[$fn736[1]],cases729.$mut_fields_mask[1],false);\n$step721 = 4;\n$al726 = L[264];\n// omitting isFunction check;\n$ans725 = _plus5.app(cur724,(1));\nbreak;\ncase 4: var anf_arg734 = $ans725;\n$step721 = 0;\n++$elidedFrames728;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans725 = R.mC();\n}\nl723 = r733;\ncur724 = anf_arg734;\ncontinue;\ncase 5: $ans725 = R.throwNoCasesMatched(L[263],cases729);\n$step721 = 6;\nbreak;\ncase 6: var ann_check_temp730 = $ans725;\n$step721 = 7;\n$al726 = L[261];\nvar $ann$check731 = R._cA(L[261],$type$Number3,ann_check_temp730);\nif(R.isContinuation($ann$check731)) {\n$ans725 = $ann$check731;\n}\nbreak;\ncase 7: $step721 = 8;\n$ans725 = ann_check_temp730;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans725;\ndefault: R.ffi.throwSpinnakerError(L[260],$step721);\n}\n}\nif($step721 !== 8) {\n$ans725.stack[R.EXN_STACKHEIGHT++] = R.mAR($al726,$temp_lam722,$step721,[l723,cur724],[cases729,r733,ann_check_temp730],$elidedFrames728);\n}\nreturn $ans725;\n};\nvar anf_assign741 = R.mF($temp_lam722,\"help\");\nhelp732.$var = anf_assign741;\nR.nothing;\n$step714 = 2;\n$al718 = L[268];\n// omitting isFunction check;\n$ans717 = help732.$var.app(lst716,(0));\nbreak;\ncase 2: var ann_check_temp742 = $ans717;\n$step714 = 3;\n$al718 = L[267];\nvar $ann$check743 = R._cA(L[267],$type$Number3,ann_check_temp742);\nif(R.isContinuation($ann$check743)) {\n$ans717 = $ann$check743;\n}\nbreak;\ncase 3: $step714 = 4;\n$ans717 = ann_check_temp742;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans717;\ndefault: R.ffi.throwSpinnakerError(L[259],$step714);\n}\n}\nif($step714 !== 4) {\n$ans717.stack[R.EXN_STACKHEIGHT++] = R.mAR($al718,$temp_lam715,$step714,[lst716],[ann_check_temp742],$elidedFrames720);\n}\nreturn $ans717;\n};\nvar anf_assign745 = R.mF($temp_lam715,\"length\");\nlength746.$var = anf_assign745;\nR.nothing;\nvar $temp_lam748 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__270($lst1749,$lst2750) {\nvar $step747 = 0;\nvar $elidedFrames754 = 0;\nvar $ans751 = D;\nvar $al752 = L[270];\nif(R.isAR($lst1749)) {\n$step747 = $lst1749.step;\n$al752 = $lst1749.from;\n$ans751 = $lst1749.ans;\n$elidedFrames754 = $lst1749.elidedFrames;\nlst1749 = $lst1749.args[0];\nlst2750 = $lst1749.args[1];\ncases761 = $lst1749.vars[0];\ncases755 = $lst1749.vars[1];\ncases758 = $lst1749.vars[2];\nann_check_temp756 = $lst1749.vars[3];\nrest1763 = $lst1749.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[270],2,$t,false);\n}\nvar lst1749 = $lst1749;\nvar lst2750 = $lst2750;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans751 = R.mC();\n}\nwhile(!R.isContinuation($ans751)) {\nswitch($step747) {\ncase 0: $step747 = 1;\n$al752 = L[283];\nR._cA(L[283],List50,lst1749);\nbreak;\ncase 1: $step747 = 2;\n$al752 = L[284];\nR._cA(L[284],List50,lst2750);\nbreak;\ncase 2: var cases755 = lst1749;\n$step747 = 3;\n$al752 = L[282];\nvar $ann$check774 = R._cA(L[282],List50,cases755);\nif(R.isContinuation($ann$check774)) {\n$ans751 = $ann$check774;\n}\nbreak;\ncase 3: $al752 = L[276];\n$step747 = $cases_dispatch773[cases755.$name] || 13;\nbreak;\ncase 4: if(cases755.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[275],false,L[276],cases755.$loc);\n}\nvar cases758 = lst2750;\n$step747 = 5;\n$al752 = L[274];\nvar $ann$check760 = R._cA(L[274],List50,cases758);\nif(R.isContinuation($ann$check760)) {\n$ans751 = $ann$check760;\n}\nbreak;\ncase 5: $al752 = L[273];\n$step747 = $cases_dispatch759[cases758.$name] || 7;\nbreak;\ncase 6: if(cases758.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[272],false,L[273],cases758.$loc);\n}\n$step747 = 14;\n$ans751 = (true);\nbreak;\ncase 7: $step747 = 14;\n$ans751 = (false);\nbreak;\ncase 8: if(cases755.$arity !== 2) {\nif(cases755.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[281],2,cases755.$arity,L[276],cases755.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[281],true,L[276],cases755.$loc);\n}\n}\nvar $fn771 = cases755.$constructor.$fieldNames;\nR.dF(cases755.dict[$fn771[0]],cases755.$mut_fields_mask[0],false);\nvar rest1763 = R.dF(cases755.dict[$fn771[1]],cases755.$mut_fields_mask[1],false);\nvar cases761 = lst2750;\n$step747 = 9;\n$al752 = L[280];\nvar $ann$check769 = R._cA(L[280],List50,cases761);\nif(R.isContinuation($ann$check769)) {\n$ans751 = $ann$check769;\n}\nbreak;\ncase 9: $al752 = L[278];\n$step747 = $cases_dispatch768[cases761.$name] || 12;\nbreak;\ncase 10: if(cases761.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[277],false,L[278],cases761.$loc);\n}\n$step747 = 14;\n$ans751 = (false);\nbreak;\ncase 11: if(cases761.$arity !== 2) {\nif(cases761.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[279],2,cases761.$arity,L[278],cases761.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[279],true,L[278],cases761.$loc);\n}\n}\nvar $fn766 = cases761.$constructor.$fieldNames;\nR.dF(cases761.dict[$fn766[0]],cases761.$mut_fields_mask[0],false);\nvar rest2764 = R.dF(cases761.dict[$fn766[1]],cases761.$mut_fields_mask[1],false);\n$step747 = 0;\n++$elidedFrames754;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans751 = R.mC();\n}\nlst1749 = rest1763;\nlst2750 = rest2764;\ncontinue;\ncase 12: $ans751 = R.throwNoCasesMatched(L[278],cases761);\n$step747 = 14;\nbreak;\ncase 13: $ans751 = R.throwNoCasesMatched(L[276],cases755);\n$step747 = 14;\nbreak;\ncase 14: var ann_check_temp756 = $ans751;\n$step747 = 15;\n$al752 = L[271];\nvar $ann$check757 = R._cA(L[271],$type$Boolean6,ann_check_temp756);\nif(R.isContinuation($ann$check757)) {\n$ans751 = $ann$check757;\n}\nbreak;\ncase 15: $step747 = 16;\n$ans751 = ann_check_temp756;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans751;\ndefault: R.ffi.throwSpinnakerError(L[270],$step747);\n}\n}\nif($step747 !== 16) {\n$ans751.stack[R.EXN_STACKHEIGHT++] = R.mAR($al752,$temp_lam748,$step747,[lst1749,lst2750],[cases761,cases755,cases758,ann_check_temp756,rest1763],$elidedFrames754);\n}\nreturn $ans751;\n};\nvar anf_assign776 = R.mF($temp_lam748,\"same-length\");\nsame$length762.$var = anf_assign776;\nR.nothing;\nvar $temp_lam778 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__285($lst779,$len780) {\nvar $step777 = 0;\nvar $elidedFrames784 = 0;\nvar $ans781 = D;\nvar $al782 = L[285];\nif(R.isAR($lst779)) {\n$step777 = $lst779.step;\n$al782 = $lst779.from;\n$ans781 = $lst779.ans;\n$elidedFrames784 = $lst779.elidedFrames;\nlst779 = $lst779.args[0];\nlen780 = $lst779.args[1];\ncases785 = $lst779.vars[0];\nann_check_temp786 = $lst779.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[285],2,$t,false);\n}\nvar lst779 = $lst779;\nvar len780 = $len780;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans781 = R.mC();\n}\nwhile(!R.isContinuation($ans781)) {\nswitch($step777) {\ncase 0: $step777 = 1;\n$al782 = L[295];\nR._cA(L[295],List50,lst779);\nbreak;\ncase 1: $step777 = 2;\n$al782 = L[296];\nR._cA(L[296],$type$Number3,len780);\nbreak;\ncase 2: var cases785 = lst779;\n$step777 = 3;\n$al782 = L[294];\nvar $ann$check807 = R._cA(L[294],List50,cases785);\nif(R.isContinuation($ann$check807)) {\n$ans781 = $ann$check807;\n}\nbreak;\ncase 3: $al782 = L[289];\n$step777 = $cases_dispatch806[cases785.$name] || 6;\nbreak;\ncase 4: if(cases785.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[288],false,L[289],cases785.$loc);\n}\n$step777 = 7;\n$al782 = L[287];\n// omitting isFunction check;\n$ans781 = _lessthan3.app(len780,(0));\nbreak;\ncase 5: if(cases785.$arity !== 2) {\nif(cases785.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[293],2,cases785.$arity,L[289],cases785.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[293],true,L[289],cases785.$loc);\n}\n}\n$step777 = 7;\n$al782 = L[293];\nvar $temp_branch798 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__289($$underscore804,$rest789) {\nvar $step799 = 0;\nvar $elidedFrames803 = 0;\nvar $ans800 = D;\nvar $al801 = L[292];\nif(R.isAR($$underscore804)) {\n$step799 = $$underscore804.step;\n$al801 = $$underscore804.from;\n$ans800 = $$underscore804.ans;\n$elidedFrames803 = $$underscore804.elidedFrames;\n$underscore804 = $$underscore804.args[0];\nrest789 = $$underscore804.args[1];\n} else {\nvar $underscore804 = $$underscore804;\nvar rest789 = $rest789;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans800 = R.mC();\n}\nwhile(!R.isContinuation($ans800)) {\nswitch($step799) {\ncase 0: $step799 = 1;\n$al801 = L[292];\n// omitting isFunction check;\n$ans800 = _lessthan3.app(len780,(1));\nbreak;\ncase 1: var anf_if797 = $ans800;\n$step799 = R.checkPyretTrue(anf_if797)?2:3;\nbreak;\ncase 2: $step799 = 6;\n$ans800 = (true);\nbreak;\ncase 3: $step799 = 4;\n$al801 = L[291];\n// omitting isFunction check;\n$ans800 = _minus9.app(len780,(1));\nbreak;\ncase 4: var anf_arg791 = $ans800;\n$step799 = 5;\n$al801 = L[290];\n// omitting isFunction check;\n$ans800 = longer$than788.$var.app(rest789,anf_arg791);\nbreak;\ncase 5: var anf_arg796 = $ans800;\n$ans800 = R.checkWrapBoolean(anf_arg796);\n$step799 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans800;\ndefault: R.ffi.throwSpinnakerError(L[292],$step799);\n}\n}\nif($step799 !== 6) {\n$ans800.stack[R.EXN_STACKHEIGHT++] = R.mAR($al801,$temp_branch798,$step799,[$underscore804,rest789],[],$elidedFrames803);\n}\nreturn $ans800;\n};\n$ans781 = cases785.$app_fields($temp_branch798,[false,false]);\nbreak;\ncase 6: $ans781 = R.throwNoCasesMatched(L[289],cases785);\n$step777 = 7;\nbreak;\ncase 7: var ann_check_temp786 = $ans781;\n$step777 = 8;\n$al782 = L[286];\nvar $ann$check787 = R._cA(L[286],$type$Boolean6,ann_check_temp786);\nif(R.isContinuation($ann$check787)) {\n$ans781 = $ann$check787;\n}\nbreak;\ncase 8: $step777 = 9;\n$ans781 = ann_check_temp786;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans781;\ndefault: R.ffi.throwSpinnakerError(L[285],$step777);\n}\n}\nif($step777 !== 9) {\n$ans781.stack[R.EXN_STACKHEIGHT++] = R.mAR($al782,$temp_lam778,$step777,[lst779,len780],[cases785,ann_check_temp786],$elidedFrames784);\n}\nreturn $ans781;\n};\nvar anf_assign811 = R.mF($temp_lam778,\"longer-than\");\nlonger$than788.$var = anf_assign811;\nR.nothing;\nvar $temp_lam813 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__297($lst814,$len815) {\nvar $step812 = 0;\nvar $elidedFrames819 = 0;\nvar $ans816 = D;\nvar $al817 = L[297];\nif(R.isAR($lst814)) {\n$step812 = $lst814.step;\n$al817 = $lst814.from;\n$ans816 = $lst814.ans;\n$elidedFrames819 = $lst814.elidedFrames;\nlst814 = $lst814.args[0];\nlen815 = $lst814.args[1];\ncases820 = $lst814.vars[0];\nann_check_temp821 = $lst814.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[297],2,$t,false);\n}\nvar lst814 = $lst814;\nvar len815 = $len815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans816 = R.mC();\n}\nwhile(!R.isContinuation($ans816)) {\nswitch($step812) {\ncase 0: $step812 = 1;\n$al817 = L[307];\nR._cA(L[307],List50,lst814);\nbreak;\ncase 1: $step812 = 2;\n$al817 = L[308];\nR._cA(L[308],$type$Number3,len815);\nbreak;\ncase 2: var cases820 = lst814;\n$step812 = 3;\n$al817 = L[306];\nvar $ann$check837 = R._cA(L[306],List50,cases820);\nif(R.isContinuation($ann$check837)) {\n$ans816 = $ann$check837;\n}\nbreak;\ncase 3: $al817 = L[301];\n$step812 = $cases_dispatch836[cases820.$name] || 6;\nbreak;\ncase 4: if(cases820.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[300],false,L[301],cases820.$loc);\n}\n$step812 = 7;\n$al817 = L[299];\n// omitting isFunction check;\n$ans816 = _greaterthan5.app(len815,(0));\nbreak;\ncase 5: if(cases820.$arity !== 2) {\nif(cases820.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[305],2,cases820.$arity,L[301],cases820.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[305],true,L[301],cases820.$loc);\n}\n}\n$step812 = 7;\n$al817 = L[305];\nvar $temp_branch828 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__301($$underscore834,$rest824) {\nvar $step829 = 0;\nvar $elidedFrames833 = 0;\nvar $ans830 = D;\nvar $al831 = L[304];\nif(R.isAR($$underscore834)) {\n$step829 = $$underscore834.step;\n$al831 = $$underscore834.from;\n$ans830 = $$underscore834.ans;\n$elidedFrames833 = $$underscore834.elidedFrames;\n$underscore834 = $$underscore834.args[0];\nrest824 = $$underscore834.args[1];\n} else {\nvar $underscore834 = $$underscore834;\nvar rest824 = $rest824;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans830 = R.mC();\n}\nwhile(!R.isContinuation($ans830)) {\nswitch($step829) {\ncase 0: $step829 = 1;\n$al831 = L[304];\n// omitting isFunction check;\n$ans830 = _greaterthan5.app(len815,(1));\nbreak;\ncase 1: var anf_if827 = $ans830;\n$step829 = R.checkPyretTrue(anf_if827)?2:5;\nbreak;\ncase 2: $step829 = 3;\n$al831 = L[303];\n// omitting isFunction check;\n$ans830 = _minus9.app(len815,(1));\nbreak;\ncase 3: var anf_arg825 = $ans830;\n$step829 = 4;\n$al831 = L[302];\n// omitting isFunction check;\n$ans830 = shorter$than823.$var.app(rest824,anf_arg825);\nbreak;\ncase 4: var anf_arg826 = $ans830;\n$ans830 = R.checkWrapBoolean(anf_arg826);\n$step829 = 6;\nbreak;\ncase 5: $step829 = 6;\n$ans830 = (false);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans830;\ndefault: R.ffi.throwSpinnakerError(L[304],$step829);\n}\n}\nif($step829 !== 6) {\n$ans830.stack[R.EXN_STACKHEIGHT++] = R.mAR($al831,$temp_branch828,$step829,[$underscore834,rest824],[],$elidedFrames833);\n}\nreturn $ans830;\n};\n$ans816 = cases820.$app_fields($temp_branch828,[false,false]);\nbreak;\ncase 6: $ans816 = R.throwNoCasesMatched(L[301],cases820);\n$step812 = 7;\nbreak;\ncase 7: var ann_check_temp821 = $ans816;\n$step812 = 8;\n$al817 = L[298];\nvar $ann$check822 = R._cA(L[298],$type$Boolean6,ann_check_temp821);\nif(R.isContinuation($ann$check822)) {\n$ans816 = $ann$check822;\n}\nbreak;\ncase 8: $step812 = 9;\n$ans816 = ann_check_temp821;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans816;\ndefault: R.ffi.throwSpinnakerError(L[297],$step812);\n}\n}\nif($step812 !== 9) {\n$ans816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al817,$temp_lam813,$step812,[lst814,len815],[cases820,ann_check_temp821],$elidedFrames819);\n}\nreturn $ans816;\n};\nvar anf_assign840 = R.mF($temp_lam813,\"shorter-than\");\nshorter$than823.$var = anf_assign840;\nR.nothing;\nvar $temp_lam844 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__309($lst845,$n846) {\nvar $step843 = 0;\nvar $elidedFrames850 = 0;\nvar $ans847 = D;\nvar $al848 = L[309];\nif(R.isAR($lst845)) {\n$step843 = $lst845.step;\n$al848 = $lst845.from;\n$ans847 = $lst845.ans;\n$elidedFrames850 = $lst845.elidedFrames;\nlst845 = $lst845.args[0];\nn846 = $lst845.args[1];\nhelp861 = $lst845.vars[0];\nann_check_temp869 = $lst845.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[309],2,$t,false);\n}\nvar lst845 = $lst845;\nvar n846 = $n846;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans847 = R.mC();\n}\nwhile(!R.isContinuation($ans847)) {\nswitch($step843) {\ncase 0: $step843 = 1;\n$al848 = L[324];\nR._cA(L[324],List50,lst845);\nbreak;\ncase 1: $step843 = 2;\n$al848 = L[325];\nR._cA(L[325],$type$Number3,n846);\nbreak;\ncase 2: var help861 = {\"$var\":D};\nvar $temp_lam852 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__310($l853,$cur854) {\nvar $step851 = 0;\nvar $elidedFrames858 = 0;\nvar $ans855 = D;\nvar $al856 = L[310];\nif(R.isAR($l853)) {\n$step851 = $l853.step;\n$al856 = $l853.from;\n$ans855 = $l853.ans;\n$elidedFrames858 = $l853.elidedFrames;\nl853 = $l853.args[0];\ncur854 = $l853.args[1];\nanf_arg862 = $l853.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[310],2,$t,false);\n}\nvar l853 = $l853;\nvar cur854 = $cur854;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans855 = R.mC();\n}\nwhile(!R.isContinuation($ans855)) {\nswitch($step851) {\ncase 0: // caller optimization;\n$ans855 = is$empty549.$var.app(l853);\nvar anf_if866 = $ans855;\n$step851 = R.checkPyretTrue(anf_if866)?1:4;\nbreak;\ncase 1: $step851 = 2;\n$al856 = L[313];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,tostring1);\n}\n$ans855 = tostring1.app(n846);\nbreak;\ncase 2: var anf_arg859 = $ans855;\n$step851 = 3;\n$al856 = L[312];\n// omitting isFunction check;\n$ans855 = _plus5.app((\"get: n too large \"),anf_arg859);\nbreak;\ncase 3: var anf_arg860 = $ans855;\n$step851 = 9;\n$al856 = L[311];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,raise1);\n}\n$ans855 = raise1.app(anf_arg860);\nbreak;\ncase 4: $step851 = 5;\n$al856 = L[317];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al856,equal$always1);\n}\n$ans855 = equal$always1.app(cur854,(0));\nbreak;\ncase 5: var anf_if865 = $ans855;\n$step851 = R.checkPyretTrue(anf_if865)?6:7;\nbreak;\ncase 6: $step851 = 9;\n$al856 = L[314];\n$ans855 = G(l853,\"first\",L[314]);\nbreak;\ncase 7: $al856 = L[315];\nvar anf_arg862 = G(l853,\"rest\",L[315]);\n$step851 = 8;\n$al856 = L[316];\n// omitting isFunction check;\n$ans855 = _minus9.app(cur854,(1));\nbreak;\ncase 8: var anf_arg864 = $ans855;\n$step851 = 0;\n++$elidedFrames858;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans855 = R.mC();\n}\nl853 = anf_arg862;\ncur854 = anf_arg864;\ncontinue;\ncase 9: ++R.GAS;\nreturn $ans855;\ndefault: R.ffi.throwSpinnakerError(L[310],$step851);\n}\n}\nif($step851 !== 9) {\n$ans855.stack[R.EXN_STACKHEIGHT++] = R.mAR($al856,$temp_lam852,$step851,[l853,cur854],[anf_arg862],$elidedFrames858);\n}\nreturn $ans855;\n};\nvar anf_assign868 = R.mF($temp_lam852,\"help\");\nhelp861.$var = anf_assign868;\nR.nothing;\n$step843 = 3;\n$al848 = L[323];\n// omitting isFunction check;\n$ans847 = _lessthan3.app(n846,(0));\nbreak;\ncase 3: var anf_if878 = $ans847;\n$step843 = R.checkPyretTrue(anf_if878)?4:7;\nbreak;\ncase 4: $step843 = 5;\n$al848 = L[321];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al848,tostring1);\n}\n$ans847 = tostring1.app(n846);\nbreak;\ncase 5: var anf_arg875 = $ans847;\n$step843 = 6;\n$al848 = L[320];\n// omitting isFunction check;\n$ans847 = _plus5.app((\"get: invalid argument: \"),anf_arg875);\nbreak;\ncase 6: var anf_arg877 = $ans847;\n$step843 = 8;\n$al848 = L[319];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al848,raise1);\n}\n$ans847 = raise1.app(anf_arg877);\nbreak;\ncase 7: $step843 = 8;\n$al848 = L[322];\n// omitting isFunction check;\n$ans847 = help861.$var.app(lst845,n846);\nbreak;\ncase 8: var ann_check_temp869 = $ans847;\n$step843 = 9;\n$al848 = L[318];\nvar $ann$check870 = R._cA(L[318],R.Any,ann_check_temp869);\nif(R.isContinuation($ann$check870)) {\n$ans847 = $ann$check870;\n}\nbreak;\ncase 9: $step843 = 10;\n$ans847 = ann_check_temp869;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans847;\ndefault: R.ffi.throwSpinnakerError(L[309],$step843);\n}\n}\nif($step843 !== 10) {\n$ans847.stack[R.EXN_STACKHEIGHT++] = R.mAR($al848,$temp_lam844,$step843,[lst845,n846],[help861,ann_check_temp869],$elidedFrames850);\n}\nreturn $ans847;\n};\nvar anf_assign880 = R.mF($temp_lam844,\"get\");\nget177.$var = anf_assign880;\nR.nothing;\nvar $temp_lam882 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__326($lst883,$n884,$v885) {\nvar $step881 = 0;\nvar $elidedFrames889 = 0;\nvar $ans886 = D;\nvar $al887 = L[326];\nif(R.isAR($lst883)) {\n$step881 = $lst883.step;\n$al887 = $lst883.from;\n$ans886 = $lst883.ans;\n$elidedFrames889 = $lst883.elidedFrames;\nlst883 = $lst883.args[0];\nn884 = $lst883.args[1];\nv885 = $lst883.args[2];\nhelp902 = $lst883.vars[0];\nann_check_temp911 = $lst883.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[326],3,$t,false);\n}\nvar lst883 = $lst883;\nvar n884 = $n884;\nvar v885 = $v885;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans886 = R.mC();\n}\nwhile(!R.isContinuation($ans886)) {\nswitch($step881) {\ncase 0: $step881 = 1;\n$al887 = L[343];\nR._cA(L[343],List50,lst883);\nbreak;\ncase 1: $step881 = 2;\n$al887 = L[344];\nR._cA(L[344],$type$Number3,n884);\nbreak;\ncase 2: var help902 = {\"$var\":D};\nvar $temp_lam891 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__327($l892,$cur893) {\nvar $step890 = 0;\nvar $elidedFrames897 = 0;\nvar $ans894 = D;\nvar $al895 = L[327];\nif(R.isAR($l892)) {\n$step890 = $l892.step;\n$al895 = $l892.from;\n$ans894 = $l892.ans;\n$elidedFrames897 = $l892.elidedFrames;\nl892 = $l892.args[0];\ncur893 = $l892.args[1];\narg_905 = $l892.vars[0];\nanf_arg903 = $l892.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[327],2,$t,false);\n}\nvar l892 = $l892;\nvar cur893 = $cur893;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans894 = R.mC();\n}\nwhile(!R.isContinuation($ans894)) {\nswitch($step890) {\ncase 0: // caller optimization;\n$ans894 = is$empty549.$var.app(l892);\nvar anf_if908 = $ans894;\n$step890 = R.checkPyretTrue(anf_if908)?1:4;\nbreak;\ncase 1: $step890 = 2;\n$al895 = L[330];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,tostring1);\n}\n$ans894 = tostring1.app(n884);\nbreak;\ncase 2: var anf_arg898 = $ans894;\n$step890 = 3;\n$al895 = L[329];\n// omitting isFunction check;\n$ans894 = _plus5.app((\"set: n too large \"),anf_arg898);\nbreak;\ncase 3: var anf_arg899 = $ans894;\n$step890 = 10;\n$al895 = L[328];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,raise1);\n}\n$ans894 = raise1.app(anf_arg899);\nbreak;\ncase 4: $step890 = 5;\n$al895 = L[336];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al895,equal$always1);\n}\n$ans894 = equal$always1.app(cur893,(0));\nbreak;\ncase 5: var anf_if907 = $ans894;\n$step890 = R.checkPyretTrue(anf_if907)?6:7;\nbreak;\ncase 6: var arg_900 = v885;\n$al895 = L[331];\nvar anf_arg901 = G(l892,\"rest\",L[331]);\n// caller optimization;\n$ans894 = link124.$var.app(arg_900,anf_arg901);\n$step890 = 10;\nbreak;\ncase 7: $al895 = L[332];\nvar arg_905 = G(l892,\"first\",L[332]);\n$al895 = L[333];\nvar anf_arg903 = G(l892,\"rest\",L[333]);\n$step890 = 8;\n$al895 = L[335];\n// omitting isFunction check;\n$ans894 = _minus9.app(cur893,(1));\nbreak;\ncase 8: var anf_arg904 = $ans894;\n$step890 = 9;\n$al895 = L[334];\n// omitting isFunction check;\n$ans894 = help902.$var.app(anf_arg903,anf_arg904);\nbreak;\ncase 9: var anf_arg906 = $ans894;\n// caller optimization;\n$ans894 = link124.$var.app(arg_905,anf_arg906);\n$step890 = 10;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans894;\ndefault: R.ffi.throwSpinnakerError(L[327],$step890);\n}\n}\nif($step890 !== 10) {\n$ans894.stack[R.EXN_STACKHEIGHT++] = R.mAR($al895,$temp_lam891,$step890,[l892,cur893],[arg_905,anf_arg903],$elidedFrames897);\n}\nreturn $ans894;\n};\nvar anf_assign910 = R.mF($temp_lam891,\"help\");\nhelp902.$var = anf_assign910;\nR.nothing;\n$step881 = 3;\n$al887 = L[342];\n// omitting isFunction check;\n$ans886 = _lessthan3.app(n884,(0));\nbreak;\ncase 3: var anf_if916 = $ans886;\n$step881 = R.checkPyretTrue(anf_if916)?4:7;\nbreak;\ncase 4: $step881 = 5;\n$al887 = L[340];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al887,tostring1);\n}\n$ans886 = tostring1.app(n884);\nbreak;\ncase 5: var anf_arg913 = $ans886;\n$step881 = 6;\n$al887 = L[339];\n// omitting isFunction check;\n$ans886 = _plus5.app((\"set: invalid argument: \"),anf_arg913);\nbreak;\ncase 6: var anf_arg915 = $ans886;\n$step881 = 8;\n$al887 = L[338];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al887,raise1);\n}\n$ans886 = raise1.app(anf_arg915);\nbreak;\ncase 7: $step881 = 8;\n$al887 = L[341];\n// omitting isFunction check;\n$ans886 = help902.$var.app(lst883,n884);\nbreak;\ncase 8: var ann_check_temp911 = $ans886;\n$step881 = 9;\n$al887 = L[337];\nvar $ann$check912 = R._cA(L[337],R.Any,ann_check_temp911);\nif(R.isContinuation($ann$check912)) {\n$ans886 = $ann$check912;\n}\nbreak;\ncase 9: $step881 = 10;\n$ans886 = ann_check_temp911;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans886;\ndefault: R.ffi.throwSpinnakerError(L[326],$step881);\n}\n}\nif($step881 !== 10) {\n$ans886.stack[R.EXN_STACKHEIGHT++] = R.mAR($al887,$temp_lam882,$step881,[lst883,n884,v885],[help902,ann_check_temp911],$elidedFrames889);\n}\nreturn $ans886;\n};\nvar anf_assign918 = R.mF($temp_lam882,\"set\");\nset191.$var = anf_assign918;\nR.nothing;\nvar $temp_lam921 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__345($lst922) {\nvar $step920 = 0;\nvar $elidedFrames926 = 0;\nvar $ans923 = D;\nvar $al924 = L[345];\nif(R.isAR($lst922)) {\n$step920 = $lst922.step;\n$al924 = $lst922.from;\n$ans923 = $lst922.ans;\n$elidedFrames926 = $lst922.elidedFrames;\nlst922 = $lst922.args[0];\nann_check_temp944 = $lst922.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[345],1,$t,false);\n}\nvar lst922 = $lst922;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans923 = R.mC();\n}\nwhile(!R.isContinuation($ans923)) {\nswitch($step920) {\ncase 0: $step920 = 1;\n$al924 = L[350];\nR._cA(L[350],List50,lst922);\nbreak;\ncase 1: var anf_fun937 = fold927.$var === D?U(L[346],\"fold\"):fold927.$var;\nvar $temp_lam929 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__347($acc930,$elt931) {\nvar $step928 = 0;\nvar $elidedFrames935 = 0;\nvar $ans932 = D;\nvar $al933 = L[347];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[347],2,$t,false);\n}\nvar acc930 = $acc930;\nvar elt931 = $elt931;\n// callee optimization;\nwhile(!R.isContinuation($ans932)) {\nswitch($step928) {\ncase 0: // caller optimization;\n$ans932 = link124.$var.app(elt931,acc930);\n$step928 = 1;\nbreak;\ncase 1: return $ans932;\ndefault: R.ffi.throwSpinnakerError(L[347],$step928);\n}\n}\nreturn $ans932;\n};\nvar anf_arg943 = R.mF($temp_lam929,\"\");\n$step920 = 2;\n$al924 = L[349];\nif(typeof(anf_fun937.app) !== \"function\") {\nR.ffi.throwNonFunApp($al924,anf_fun937);\n}\n$ans923 = anf_fun937.app(anf_arg943,empty266.$var,lst922);\nbreak;\ncase 2: var ann_check_temp944 = $ans923;\n$step920 = 3;\n$al924 = L[348];\nvar $ann$check945 = R._cA(L[348],List50,ann_check_temp944);\nif(R.isContinuation($ann$check945)) {\n$ans923 = $ann$check945;\n}\nbreak;\ncase 3: $step920 = 4;\n$ans923 = ann_check_temp944;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans923;\ndefault: R.ffi.throwSpinnakerError(L[345],$step920);\n}\n}\nif($step920 !== 4) {\n$ans923.stack[R.EXN_STACKHEIGHT++] = R.mAR($al924,$temp_lam921,$step920,[lst922],[ann_check_temp944],$elidedFrames926);\n}\nreturn $ans923;\n};\nvar anf_assign947 = R.mF($temp_lam921,\"reverse\");\nreverse111.$var = anf_assign947;\nR.nothing;\nvar $temp_lam949 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__351($l950,$elt951) {\nvar $step948 = 0;\nvar $elidedFrames955 = 0;\nvar $ans952 = D;\nvar $al953 = L[351];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[351],2,$t,false);\n}\nvar l950 = $l950;\nvar elt951 = $elt951;\n// callee optimization;\nwhile(!R.isContinuation($ans952)) {\nswitch($step948) {\ncase 0: $step948 = 1;\n$al953 = L[353];\nR._cA(L[353],List50,l950);\nbreak;\ncase 1: $step948 = 2;\n$al953 = L[354];\nR._cA(L[354],R.Any,elt951);\nbreak;\ncase 2: // caller optimization;\n$ans952 = link124.$var.app(elt951,l950);\nvar ann_check_temp956 = $ans952;\n$step948 = 3;\n$al953 = L[352];\nvar $ann$check957 = R._cA(L[352],List50,ann_check_temp956);\nif(R.isContinuation($ann$check957)) {\n$ans952 = $ann$check957;\n}\nbreak;\ncase 3: $step948 = 4;\n$ans952 = ann_check_temp956;\nbreak;\ncase 4: return $ans952;\ndefault: R.ffi.throwSpinnakerError(L[351],$step948);\n}\n}\nreturn $ans952;\n};\nvar anf_assign960 = R.mF($temp_lam949,\"push\");\npush961.$var = anf_assign960;\nR.nothing;\nvar $temp_lam964 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__355($lst965) {\nvar $step963 = 0;\nvar $elidedFrames969 = 0;\nvar $ans966 = D;\nvar $al967 = L[355];\nif(R.isAR($lst965)) {\n$step963 = $lst965.step;\n$al967 = $lst965.from;\n$ans966 = $lst965.ans;\n$elidedFrames969 = $lst965.elidedFrames;\nlst965 = $lst965.args[0];\nhelper982 = $lst965.vars[0];\nann_check_temp987 = $lst965.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[355],1,$t,false);\n}\nvar lst965 = $lst965;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans966 = R.mC();\n}\nwhile(!R.isContinuation($ans966)) {\nswitch($step963) {\ncase 0: $step963 = 1;\n$al967 = L[365];\nR._cA(L[365],List50,lst965);\nbreak;\ncase 1: var helper982 = {\"$var\":D};\nvar $temp_lam971 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__356($l972) {\nvar $step970 = 0;\nvar $elidedFrames976 = 0;\nvar $ans973 = D;\nvar $al974 = L[356];\nif(R.isAR($l972)) {\n$step970 = $l972.step;\n$al974 = $l972.from;\n$ans973 = $l972.ans;\n$elidedFrames976 = $l972.elidedFrames;\nl972 = $l972.args[0];\nann_check_temp980 = $l972.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[356],1,$t,false);\n}\nvar l972 = $l972;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans973 = R.mC();\n}\nwhile(!R.isContinuation($ans973)) {\nswitch($step970) {\ncase 0: $step970 = 1;\n$al974 = L[361];\nR._cA(L[361],List50,l972);\nbreak;\ncase 1: $al974 = L[357];\nvar anf_arg979 = G(l972,\"rest\",L[357]);\n// caller optimization;\n$ans973 = is$empty549.$var.app(anf_arg979);\nvar anf_if984 = $ans973;\n$step970 = R.checkPyretTrue(anf_if984)?2:3;\nbreak;\ncase 2: $step970 = 4;\n$al974 = L[359];\n$ans973 = G(l972,\"first\",L[359]);\nbreak;\ncase 3: $al974 = L[360];\nvar anf_arg983 = G(l972,\"rest\",L[360]);\n$step970 = 0;\n++$elidedFrames976;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans973 = R.mC();\n}\nl972 = anf_arg983;\ncontinue;\ncase 4: var ann_check_temp980 = $ans973;\n$step970 = 5;\n$al974 = L[358];\nvar $ann$check981 = R._cA(L[358],R.Any,ann_check_temp980);\nif(R.isContinuation($ann$check981)) {\n$ans973 = $ann$check981;\n}\nbreak;\ncase 5: $step970 = 6;\n$ans973 = ann_check_temp980;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans973;\ndefault: R.ffi.throwSpinnakerError(L[356],$step970);\n}\n}\nif($step970 !== 6) {\n$ans973.stack[R.EXN_STACKHEIGHT++] = R.mAR($al974,$temp_lam971,$step970,[l972],[ann_check_temp980],$elidedFrames976);\n}\nreturn $ans973;\n};\nvar anf_assign986 = R.mF($temp_lam971,\"helper\");\nhelper982.$var = anf_assign986;\nR.nothing;\n// caller optimization;\n$ans966 = is$empty549.$var.app(lst965);\nvar anf_if989 = $ans966;\n$step963 = R.checkPyretTrue(anf_if989)?2:3;\nbreak;\ncase 2: $step963 = 4;\n$al967 = L[363];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al967,raise1);\n}\n$ans966 = raise1.app((\"last: took last of empty list\"));\nbreak;\ncase 3: $step963 = 4;\n$al967 = L[364];\n// omitting isFunction check;\n$ans966 = helper982.$var.app(lst965);\nbreak;\ncase 4: var ann_check_temp987 = $ans966;\n$step963 = 5;\n$al967 = L[362];\nvar $ann$check988 = R._cA(L[362],R.Any,ann_check_temp987);\nif(R.isContinuation($ann$check988)) {\n$ans966 = $ann$check988;\n}\nbreak;\ncase 5: $step963 = 6;\n$ans966 = ann_check_temp987;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans966;\ndefault: R.ffi.throwSpinnakerError(L[355],$step963);\n}\n}\nif($step963 !== 6) {\n$ans966.stack[R.EXN_STACKHEIGHT++] = R.mAR($al967,$temp_lam964,$step963,[lst965],[helper982,ann_check_temp987],$elidedFrames969);\n}\nreturn $ans966;\n};\nvar anf_assign991 = R.mF($temp_lam964,\"last\");\nlast992.$var = anf_assign991;\nR.nothing;\nvar $temp_lam994 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__366($lst995,$cmp996,$eq997) {\nvar $step993 = 0;\nvar $elidedFrames1001 = 0;\nvar $ans998 = D;\nvar $al999 = L[366];\nif(R.isAR($lst995)) {\n$step993 = $lst995.step;\n$al999 = $lst995.from;\n$ans998 = $lst995.ans;\n$elidedFrames1001 = $lst995.elidedFrames;\nlst995 = $lst995.args[0];\ncmp996 = $lst995.args[1];\neq997 = $lst995.args[2];\nann_check_temp1002 = $lst995.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[366],3,$t,false);\n}\nvar lst995 = $lst995;\nvar cmp996 = $cmp996;\nvar eq997 = $eq997;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans998 = R.mC();\n}\nwhile(!R.isContinuation($ans998)) {\nswitch($step993) {\ncase 0: $step993 = 1;\n$al999 = L[369];\nR._cA(L[369],List50,lst995);\nbreak;\ncase 1: $step993 = 2;\n$al999 = L[370];\nR._cA(L[370],R.Function,cmp996);\nbreak;\ncase 2: $step993 = 3;\n$al999 = L[371];\nR._cA(L[371],R.Function,eq997);\nbreak;\ncase 3: $step993 = 4;\n$ans998 = R.maybeMethodCall2(lst995,\"sort-by\",L[367],cmp996,eq997);\nbreak;\ncase 4: var ann_check_temp1002 = $ans998;\n$step993 = 5;\n$al999 = L[368];\nvar $ann$check1003 = R._cA(L[368],List50,ann_check_temp1002);\nif(R.isContinuation($ann$check1003)) {\n$ans998 = $ann$check1003;\n}\nbreak;\ncase 5: $step993 = 6;\n$ans998 = ann_check_temp1002;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans998;\ndefault: R.ffi.throwSpinnakerError(L[366],$step993);\n}\n}\nif($step993 !== 6) {\n$ans998.stack[R.EXN_STACKHEIGHT++] = R.mAR($al999,$temp_lam994,$step993,[lst995,cmp996,eq997],[ann_check_temp1002],$elidedFrames1001);\n}\nreturn $ans998;\n};\nvar anf_assign1005 = R.mF($temp_lam994,\"sort-by\");\nsort$by1006.$var = anf_assign1005;\nR.nothing;\nvar $temp_lam1008 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__372($lst1009) {\nvar $step1007 = 0;\nvar $elidedFrames1013 = 0;\nvar $ans1010 = D;\nvar $al1011 = L[372];\nif(R.isAR($lst1009)) {\n$step1007 = $lst1009.step;\n$al1011 = $lst1009.from;\n$ans1010 = $lst1009.ans;\n$elidedFrames1013 = $lst1009.elidedFrames;\nlst1009 = $lst1009.args[0];\nann_check_temp1014 = $lst1009.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[372],1,$t,false);\n}\nvar lst1009 = $lst1009;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1010 = R.mC();\n}\nwhile(!R.isContinuation($ans1010)) {\nswitch($step1007) {\ncase 0: $step1007 = 1;\n$al1011 = L[375];\nR._cA(L[375],List50,lst1009);\nbreak;\ncase 1: $step1007 = 2;\n$ans1010 = R.maybeMethodCall0(lst1009,\"sort\",L[373]);\nbreak;\ncase 2: var ann_check_temp1014 = $ans1010;\n$step1007 = 3;\n$al1011 = L[374];\nvar $ann$check1015 = R._cA(L[374],List50,ann_check_temp1014);\nif(R.isContinuation($ann$check1015)) {\n$ans1010 = $ann$check1015;\n}\nbreak;\ncase 3: $step1007 = 4;\n$ans1010 = ann_check_temp1014;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1010;\ndefault: R.ffi.throwSpinnakerError(L[372],$step1007);\n}\n}\nif($step1007 !== 4) {\n$ans1010.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1011,$temp_lam1008,$step1007,[lst1009],[ann_check_temp1014],$elidedFrames1013);\n}\nreturn $ans1010;\n};\nvar anf_assign1017 = R.mF($temp_lam1008,\"sort\");\nsort1018.$var = anf_assign1017;\nR.nothing;\nvar $temp_lam1020 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__376($start1021,$stop1022) {\nvar $step1019 = 0;\nvar $elidedFrames1026 = 0;\nvar $ans1023 = D;\nvar $al1024 = L[376];\nif(R.isAR($start1021)) {\n$step1019 = $start1021.step;\n$al1024 = $start1021.from;\n$ans1023 = $start1021.ans;\n$elidedFrames1026 = $start1021.elidedFrames;\nstart1021 = $start1021.args[0];\nstop1022 = $start1021.args[1];\nanf_arg1031 = $start1021.vars[0];\nanf_arg1043 = $start1021.vars[1];\nann_check_temp1027 = $start1021.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[376],2,$t,false);\n}\nvar start1021 = $start1021;\nvar stop1022 = $stop1022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1023 = R.mC();\n}\nwhile(!R.isContinuation($ans1023)) {\nswitch($step1019) {\ncase 0: $step1019 = 1;\n$al1024 = L[389];\nR._cA(L[389],$type$Number3,start1021);\nbreak;\ncase 1: $step1019 = 2;\n$al1024 = L[390];\nR._cA(L[390],$type$Number3,stop1022);\nbreak;\ncase 2: $step1019 = 3;\n$al1024 = L[388];\n// omitting isFunction check;\n$ans1023 = _greaterthan5.app(start1021,stop1022);\nbreak;\ncase 3: var anf_if1053 = $ans1023;\n$step1019 = R.checkPyretTrue(anf_if1053)?4:11;\nbreak;\ncase 4: $step1019 = 5;\n$al1024 = L[384];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,tostring1);\n}\n$ans1023 = tostring1.app(start1021);\nbreak;\ncase 5: var anf_arg1029 = $ans1023;\n$step1019 = 6;\n$al1024 = L[383];\n// omitting isFunction check;\n$ans1023 = _plus5.app((\"range: start greater than stop: (\"),anf_arg1029);\nbreak;\ncase 6: var anf_arg1030 = $ans1023;\n$step1019 = 7;\n$al1024 = L[382];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1030,(\", \"));\nbreak;\ncase 7: var anf_arg1031 = $ans1023;\n$step1019 = 8;\n$al1024 = L[381];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,tostring1);\n}\n$ans1023 = tostring1.app(stop1022);\nbreak;\ncase 8: var anf_arg1032 = $ans1023;\n$step1019 = 9;\n$al1024 = L[380];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1031,anf_arg1032);\nbreak;\ncase 9: var anf_arg1033 = $ans1023;\n$step1019 = 10;\n$al1024 = L[379];\n// omitting isFunction check;\n$ans1023 = _plus5.app(anf_arg1033,(\")\"));\nbreak;\ncase 10: var anf_arg1034 = $ans1023;\n$step1019 = 14;\n$al1024 = L[378];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,raise1);\n}\n$ans1023 = raise1.app(anf_arg1034);\nbreak;\ncase 11: var $temp_lam1036 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__385($arg_1037) {\nvar $step1035 = 0;\nvar $elidedFrames1041 = 0;\nvar $ans1038 = D;\nvar $al1039 = L[385];\nif(R.isAR($arg_1037)) {\n$step1035 = $arg_1037.step;\n$al1039 = $arg_1037.from;\n$ans1038 = $arg_1037.ans;\n$elidedFrames1041 = $arg_1037.elidedFrames;\narg_1037 = $arg_1037.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[385],1,$t,false);\n}\nvar arg_1037 = $arg_1037;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1038 = R.mC();\n}\nwhile(!R.isContinuation($ans1038)) {\nswitch($step1035) {\ncase 0: $step1035 = 1;\n$al1039 = L[385];\n// omitting isFunction check;\n$ans1038 = _plus5.app(arg_1037,start1021);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1038;\ndefault: R.ffi.throwSpinnakerError(L[385],$step1035);\n}\n}\nif($step1035 !== 1) {\n$ans1038.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1039,$temp_lam1036,$step1035,[arg_1037],[],$elidedFrames1041);\n}\nreturn $ans1038;\n};\nvar anf_arg1043 = R.mF($temp_lam1036,\"\");\n$step1019 = 12;\n$al1024 = L[387];\n// omitting isFunction check;\n$ans1023 = _minus9.app(stop1022,start1021);\nbreak;\ncase 12: var anf_arg1046 = $ans1023;\n$step1019 = 13;\n$al1024 = L[386];\nif(typeof(raw$array$build10.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1024,raw$array$build10);\n}\n$ans1023 = raw$array$build10.app(anf_arg1043,anf_arg1046);\nbreak;\ncase 13: var anf_arg1052 = $ans1023;\n// caller optimization;\n$ans1023 = raw$array$to$list4.app(anf_arg1052);\n$step1019 = 14;\nbreak;\ncase 14: var ann_check_temp1027 = $ans1023;\n$step1019 = 15;\n$al1024 = L[377];\nvar $ann$check1028 = R._cA(L[377],List50,ann_check_temp1027);\nif(R.isContinuation($ann$check1028)) {\n$ans1023 = $ann$check1028;\n}\nbreak;\ncase 15: $step1019 = 16;\n$ans1023 = ann_check_temp1027;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1023;\ndefault: R.ffi.throwSpinnakerError(L[376],$step1019);\n}\n}\nif($step1019 !== 16) {\n$ans1023.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1024,$temp_lam1020,$step1019,[start1021,stop1022],[anf_arg1031,anf_arg1043,ann_check_temp1027],$elidedFrames1026);\n}\nreturn $ans1023;\n};\nvar anf_assign1055 = R.mF($temp_lam1020,\"range\");\nrange1056.$var = anf_assign1055;\nR.nothing;\nvar $temp_lam1058 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__391($start1059,$stop1060,$delta1061) {\nvar $step1057 = 0;\nvar $elidedFrames1065 = 0;\nvar $ans1062 = D;\nvar $al1063 = L[391];\nif(R.isAR($start1059)) {\n$step1057 = $start1059.step;\n$al1063 = $start1059.from;\n$ans1062 = $start1059.ans;\n$elidedFrames1065 = $start1059.elidedFrames;\nstart1059 = $start1059.args[0];\nstop1060 = $start1059.args[1];\ndelta1061 = $start1059.args[2];\nann_check_temp1066 = $start1059.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[391],3,$t,false);\n}\nvar start1059 = $start1059;\nvar stop1060 = $stop1060;\nvar delta1061 = $delta1061;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1062 = R.mC();\n}\nwhile(!R.isContinuation($ans1062)) {\nswitch($step1057) {\ncase 0: $step1057 = 1;\n$al1063 = L[402];\nR._cA(L[402],$type$Number3,start1059);\nbreak;\ncase 1: $step1057 = 2;\n$al1063 = L[403];\nR._cA(L[403],$type$Number3,stop1060);\nbreak;\ncase 2: $step1057 = 3;\n$al1063 = L[404];\nR._cA(L[404],$type$Number3,delta1061);\nbreak;\ncase 3: $step1057 = 4;\n$al1063 = L[401];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,equal$always1);\n}\n$ans1062 = equal$always1.app(delta1061,(0));\nbreak;\ncase 4: var anf_if1097 = $ans1062;\n$step1057 = R.checkPyretTrue(anf_if1097)?5:9;\nbreak;\ncase 5: $step1057 = 6;\n$al1063 = L[394];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,equal$always1);\n}\n$ans1062 = equal$always1.app(start1059,stop1060);\nbreak;\ncase 6: var anf_if1068 = $ans1062;\n$step1057 = R.checkPyretTrue(anf_if1068)?7:8;\nbreak;\ncase 7: $step1057 = 13;\n$ans1062 = empty266.$var;\nbreak;\ncase 8: $step1057 = 13;\n$al1063 = L[393];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,raise1);\n}\n$ans1062 = raise1.app((\"range-by: an interval of 0 would produce an infinite list\"));\nbreak;\ncase 9: $step1057 = 10;\n$al1063 = L[400];\n// omitting isFunction check;\n$ans1062 = _minus9.app(stop1060,start1059);\nbreak;\ncase 10: var anf_arg1072 = $ans1062;\n$step1057 = 11;\n$al1063 = L[399];\n// omitting isFunction check;\n$ans1062 = _divide13.app(anf_arg1072,delta1061);\nbreak;\ncase 11: var anf_arg1079 = $ans1062;\n// caller optimization;\n$ans1062 = num$ceiling11.app(anf_arg1079);\nvar anf_arg1084 = $ans1062;\n// caller optimization;\n$ans1062 = num$max15.app(anf_arg1084,(0));\nvar len1095 = $ans1062;\nvar $temp_lam1086 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__395($i1087) {\nvar $step1085 = 0;\nvar $elidedFrames1091 = 0;\nvar $ans1088 = D;\nvar $al1089 = L[395];\nif(R.isAR($i1087)) {\n$step1085 = $i1087.step;\n$al1089 = $i1087.from;\n$ans1088 = $i1087.ans;\n$elidedFrames1091 = $i1087.elidedFrames;\ni1087 = $i1087.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[395],1,$t,false);\n}\nvar i1087 = $i1087;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1088 = R.mC();\n}\nwhile(!R.isContinuation($ans1088)) {\nswitch($step1085) {\ncase 0: $step1085 = 1;\n$al1089 = L[397];\n// omitting isFunction check;\n$ans1088 = _times4.app(i1087,delta1061);\nbreak;\ncase 1: var anf_arg1092 = $ans1088;\n$step1085 = 2;\n$al1089 = L[396];\n// omitting isFunction check;\n$ans1088 = _plus5.app(start1059,anf_arg1092);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1088;\ndefault: R.ffi.throwSpinnakerError(L[395],$step1085);\n}\n}\nif($step1085 !== 2) {\n$ans1088.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1089,$temp_lam1086,$step1085,[i1087],[],$elidedFrames1091);\n}\nreturn $ans1088;\n};\nvar anf_arg1094 = R.mF($temp_lam1086,\"\");\n$step1057 = 12;\n$al1063 = L[398];\nif(typeof(raw$array$build10.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1063,raw$array$build10);\n}\n$ans1062 = raw$array$build10.app(anf_arg1094,len1095);\nbreak;\ncase 12: var anf_arg1096 = $ans1062;\n// caller optimization;\n$ans1062 = raw$array$to$list4.app(anf_arg1096);\n$step1057 = 13;\nbreak;\ncase 13: var ann_check_temp1066 = $ans1062;\n$step1057 = 14;\n$al1063 = L[392];\nvar $ann$check1067 = R._cA(L[392],List50,ann_check_temp1066);\nif(R.isContinuation($ann$check1067)) {\n$ans1062 = $ann$check1067;\n}\nbreak;\ncase 14: $step1057 = 15;\n$ans1062 = ann_check_temp1066;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1062;\ndefault: R.ffi.throwSpinnakerError(L[391],$step1057);\n}\n}\nif($step1057 !== 15) {\n$ans1062.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1063,$temp_lam1058,$step1057,[start1059,stop1060,delta1061],[ann_check_temp1066],$elidedFrames1065);\n}\nreturn $ans1062;\n};\nvar anf_assign1099 = R.mF($temp_lam1058,\"range-by\");\nrange$by1100.$var = anf_assign1099;\nR.nothing;\nvar $temp_lam1102 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__405($n1103,$e1104) {\nvar $step1101 = 0;\nvar $elidedFrames1108 = 0;\nvar $ans1105 = D;\nvar $al1106 = L[405];\nif(R.isAR($n1103)) {\n$step1101 = $n1103.step;\n$al1106 = $n1103.from;\n$ans1105 = $n1103.ans;\n$elidedFrames1108 = $n1103.elidedFrames;\nn1103 = $n1103.args[0];\ne1104 = $n1103.args[1];\nann_check_temp1109 = $n1103.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[405],2,$t,false);\n}\nvar n1103 = $n1103;\nvar e1104 = $e1104;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1105 = R.mC();\n}\nwhile(!R.isContinuation($ans1105)) {\nswitch($step1101) {\ncase 0: $step1101 = 1;\n$al1106 = L[409];\nR._cA(L[409],$type$Number3,n1103);\nbreak;\ncase 1: $step1101 = 2;\n$al1106 = L[410];\nR._cA(L[410],R.Any,e1104);\nbreak;\ncase 2: $step1101 = 3;\n$al1106 = L[408];\n// omitting isFunction check;\n$ans1105 = _lessthan3.app(n1103,(0));\nbreak;\ncase 3: var anf_if1112 = $ans1105;\n$step1101 = R.checkPyretTrue(anf_if1112)?4:5;\nbreak;\ncase 4: $step1101 = 6;\n$al1106 = L[407];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1106,raise1);\n}\n$ans1105 = raise1.app((\"repeat: can't have a negative argument'\"));\nbreak;\ncase 5: // caller optimization;\n$ans1105 = raw$array$of8.app(e1104,n1103);\nvar anf_arg1111 = $ans1105;\n// caller optimization;\n$ans1105 = raw$array$to$list4.app(anf_arg1111);\n$step1101 = 6;\nbreak;\ncase 6: var ann_check_temp1109 = $ans1105;\n$step1101 = 7;\n$al1106 = L[406];\nvar $ann$check1110 = R._cA(L[406],List50,ann_check_temp1109);\nif(R.isContinuation($ann$check1110)) {\n$ans1105 = $ann$check1110;\n}\nbreak;\ncase 7: $step1101 = 8;\n$ans1105 = ann_check_temp1109;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1105;\ndefault: R.ffi.throwSpinnakerError(L[405],$step1101);\n}\n}\nif($step1101 !== 8) {\n$ans1105.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1106,$temp_lam1102,$step1101,[n1103,e1104],[ann_check_temp1109],$elidedFrames1108);\n}\nreturn $ans1105;\n};\nvar anf_assign1114 = R.mF($temp_lam1102,\"repeat\");\nrepeat1115.$var = anf_assign1114;\nR.nothing;\nvar $temp_lam1117 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__411($f1118,$lst1119) {\nvar $step1116 = 0;\nvar $elidedFrames1123 = 0;\nvar $ans1120 = D;\nvar $al1121 = L[411];\nif(R.isAR($f1118)) {\n$step1116 = $f1118.step;\n$al1121 = $f1118.from;\n$ans1120 = $f1118.ans;\n$elidedFrames1123 = $f1118.elidedFrames;\nf1118 = $f1118.args[0];\nlst1119 = $f1118.args[1];\nann_check_temp1124 = $f1118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[411],2,$t,false);\n}\nvar f1118 = $f1118;\nvar lst1119 = $lst1119;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1120 = R.mC();\n}\nwhile(!R.isContinuation($ans1120)) {\nswitch($step1116) {\ncase 0: $step1116 = 1;\n$al1121 = L[414];\nR._cA(L[414],R.Function,f1118);\nbreak;\ncase 1: $step1116 = 2;\n$al1121 = L[415];\nR._cA(L[415],List50,lst1119);\nbreak;\ncase 2: $step1116 = 3;\n$ans1120 = R.maybeMethodCall2(builtins1,\"raw-list-filter\",L[412],f1118,lst1119);\nbreak;\ncase 3: var ann_check_temp1124 = $ans1120;\n$step1116 = 4;\n$al1121 = L[413];\nvar $ann$check1125 = R._cA(L[413],List50,ann_check_temp1124);\nif(R.isContinuation($ann$check1125)) {\n$ans1120 = $ann$check1125;\n}\nbreak;\ncase 4: $step1116 = 5;\n$ans1120 = ann_check_temp1124;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1120;\ndefault: R.ffi.throwSpinnakerError(L[411],$step1116);\n}\n}\nif($step1116 !== 5) {\n$ans1120.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1121,$temp_lam1117,$step1116,[f1118,lst1119],[ann_check_temp1124],$elidedFrames1123);\n}\nreturn $ans1120;\n};\nvar anf_assign1127 = R.mF($temp_lam1117,\"filter\");\nfilter85.$var = anf_assign1127;\nR.nothing;\nvar $temp_lam1129 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__416($front1130,$back1131) {\nvar $step1128 = 0;\nvar $elidedFrames1135 = 0;\nvar $ans1132 = D;\nvar $al1133 = L[416];\nif(R.isAR($front1130)) {\n$step1128 = $front1130.step;\n$al1133 = $front1130.from;\n$ans1132 = $front1130.ans;\n$elidedFrames1135 = $front1130.elidedFrames;\nfront1130 = $front1130.args[0];\nback1131 = $front1130.args[1];\ncases1136 = $front1130.vars[0];\nf1141 = $front1130.vars[1];\nann_check_temp1137 = $front1130.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[416],2,$t,false);\n}\nvar front1130 = $front1130;\nvar back1131 = $back1131;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1132 = R.mC();\n}\nwhile(!R.isContinuation($ans1132)) {\nswitch($step1128) {\ncase 0: $step1128 = 1;\n$al1133 = L[423];\nR._cA(L[423],List50,front1130);\nbreak;\ncase 1: $step1128 = 2;\n$al1133 = L[424];\nR._cA(L[424],List50,back1131);\nbreak;\ncase 2: var cases1136 = front1130;\n$step1128 = 3;\n$al1133 = L[422];\nvar $ann$check1146 = R._cA(L[422],List50,cases1136);\nif(R.isContinuation($ann$check1146)) {\n$ans1132 = $ann$check1146;\n}\nbreak;\ncase 3: $al1133 = L[419];\n$step1128 = $cases_dispatch1145[cases1136.$name] || 7;\nbreak;\ncase 4: if(cases1136.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[418],false,L[419],cases1136.$loc);\n}\n$step1128 = 8;\n$ans1132 = back1131;\nbreak;\ncase 5: if(cases1136.$arity !== 2) {\nif(cases1136.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[421],2,cases1136.$arity,L[419],cases1136.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[421],true,L[419],cases1136.$loc);\n}\n}\nvar $fn1144 = cases1136.$constructor.$fieldNames;\nvar f1141 = R.dF(cases1136.dict[$fn1144[0]],cases1136.$mut_fields_mask[0],false);\nvar r1140 = R.dF(cases1136.dict[$fn1144[1]],cases1136.$mut_fields_mask[1],false);\n$step1128 = 6;\n$al1133 = L[420];\n// omitting isFunction check;\n$ans1132 = append1139.$var.app(r1140,back1131);\nbreak;\ncase 6: var anf_arg1142 = $ans1132;\n// caller optimization;\n$ans1132 = link124.$var.app(f1141,anf_arg1142);\n$step1128 = 8;\nbreak;\ncase 7: $ans1132 = R.throwNoCasesMatched(L[419],cases1136);\n$step1128 = 8;\nbreak;\ncase 8: var ann_check_temp1137 = $ans1132;\n$step1128 = 9;\n$al1133 = L[417];\nvar $ann$check1138 = R._cA(L[417],List50,ann_check_temp1137);\nif(R.isContinuation($ann$check1138)) {\n$ans1132 = $ann$check1138;\n}\nbreak;\ncase 9: $step1128 = 10;\n$ans1132 = ann_check_temp1137;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1132;\ndefault: R.ffi.throwSpinnakerError(L[416],$step1128);\n}\n}\nif($step1128 !== 10) {\n$ans1132.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1133,$temp_lam1129,$step1128,[front1130,back1131],[cases1136,f1141,ann_check_temp1137],$elidedFrames1135);\n}\nreturn $ans1132;\n};\nvar anf_assign1148 = R.mF($temp_lam1129,\"append\");\nappend1139.$var = anf_assign1148;\nR.nothing;\nvar $temp_lam1151 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__425($f1152,$lst1153) {\nvar $step1150 = 0;\nvar $elidedFrames1157 = 0;\nvar $ans1154 = D;\nvar $al1155 = L[425];\nif(R.isAR($f1152)) {\n$step1150 = $f1152.step;\n$al1155 = $f1152.from;\n$ans1154 = $f1152.ans;\n$elidedFrames1157 = $f1152.elidedFrames;\nf1152 = $f1152.args[0];\nlst1153 = $f1152.args[1];\nann_check_temp1184 = $f1152.vars[0];\nis$false1174 = $f1152.vars[1];\nis$true1170 = $f1152.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[425],2,$t,false);\n}\nvar f1152 = $f1152;\nvar lst1153 = $lst1153;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1154 = R.mC();\n}\nwhile(!R.isContinuation($ans1154)) {\nswitch($step1150) {\ncase 0: $step1150 = 1;\n$al1155 = L[437];\nR._cA(L[437],R.Function,f1152);\nbreak;\ncase 1: $step1150 = 2;\n$al1155 = L[438];\nR._cA(L[438],List50,lst1153);\nbreak;\ncase 2: var is$true1170 = {\"$var\":empty266.$var};\nvar is$false1174 = {\"$var\":empty266.$var};\nvar help1165 = {\"$var\":D};\nvar $temp_lam1159 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__426($inner$lst1160) {\nvar $step1158 = 0;\nvar $elidedFrames1164 = 0;\nvar $ans1161 = D;\nvar $al1162 = L[426];\nif(R.isAR($inner$lst1160)) {\n$step1158 = $inner$lst1160.step;\n$al1162 = $inner$lst1160.from;\n$ans1161 = $inner$lst1160.ans;\n$elidedFrames1164 = $inner$lst1160.elidedFrames;\ninner$lst1160 = $inner$lst1160.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[426],1,$t,false);\n}\nvar inner$lst1160 = $inner$lst1160;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1161 = R.mC();\n}\nwhile(!R.isContinuation($ans1161)) {\nswitch($step1158) {\ncase 0: // caller optimization;\n$ans1161 = is$empty549.$var.app(inner$lst1160);\nvar anf_if1179 = $ans1161;\n$step1158 = R.checkPyretTrue(anf_if1179)?1:2;\nbreak;\ncase 1: $step1158 = 7;\n$ans1161 = nothing2;\nbreak;\ncase 2: $al1162 = L[427];\nvar anf_arg1168 = G(inner$lst1160,\"rest\",L[427]);\n$step1158 = 3;\n$al1162 = L[432];\n// omitting isFunction check;\n$ans1161 = help1165.$var.app(anf_arg1168);\nbreak;\ncase 3: $al1162 = L[428];\nvar anf_arg1169 = G(inner$lst1160,\"first\",L[428]);\n$step1158 = 4;\n$al1162 = L[431];\nif(typeof(f1152.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1162,f1152);\n}\n$ans1161 = f1152.app(anf_arg1169);\nbreak;\ncase 4: var anf_if1178 = $ans1161;\n$step1158 = R.checkPyretTrue(anf_if1178)?5:6;\nbreak;\ncase 5: $al1162 = L[429];\nvar arg_1171 = G(inner$lst1160,\"first\",L[429]);\nvar anf_arg1172 = is$true1170.$var;\n// caller optimization;\n$ans1161 = link124.$var.app(arg_1171,anf_arg1172);\nvar anf_assign1173 = $ans1161;\n$step1158 = 7;\nis$true1170.$var = anf_assign1173;\n$ans1161 = R.nothing;\nbreak;\ncase 6: $al1162 = L[430];\nvar arg_1175 = G(inner$lst1160,\"first\",L[430]);\nvar anf_arg1176 = is$false1174.$var;\n// caller optimization;\n$ans1161 = link124.$var.app(arg_1175,anf_arg1176);\nvar anf_assign1177 = $ans1161;\n$step1158 = 7;\nis$false1174.$var = anf_assign1177;\n$ans1161 = R.nothing;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1161;\ndefault: R.ffi.throwSpinnakerError(L[426],$step1158);\n}\n}\nif($step1158 !== 7) {\n$ans1161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1162,$temp_lam1159,$step1158,[inner$lst1160],[],$elidedFrames1164);\n}\nreturn $ans1161;\n};\nvar anf_assign1181 = R.mF($temp_lam1159,\"help\");\nhelp1165.$var = anf_assign1181;\nR.nothing;\n$step1150 = 3;\n$al1155 = L[436];\n// omitting isFunction check;\n$ans1154 = help1165.$var.app(lst1153);\nbreak;\ncase 3: var anf_obj1182 = is$true1170.$var;\nvar anf_obj1183 = is$false1174.$var;\nvar ann_check_temp1184 = R.mO({\"is-true\":anf_obj1182,\n\"is-false\":anf_obj1183});\n$step1150 = 4;\n$al1155 = L[435];\nvar $ann$check1185 = R._cA(L[435],R.mRA([\"is-true\",\"is-false\"],[L[433],L[434]],{\"is-true\":List50,\n\"is-false\":List50}),ann_check_temp1184);\nif(R.isContinuation($ann$check1185)) {\n$ans1154 = $ann$check1185;\n}\nbreak;\ncase 4: $step1150 = 5;\n$ans1154 = ann_check_temp1184;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1154;\ndefault: R.ffi.throwSpinnakerError(L[425],$step1150);\n}\n}\nif($step1150 !== 5) {\n$ans1154.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1155,$temp_lam1151,$step1150,[f1152,lst1153],[ann_check_temp1184,is$false1174,is$true1170],$elidedFrames1157);\n}\nreturn $ans1154;\n};\nvar anf_assign1187 = R.mF($temp_lam1151,\"partition\");\npartition404.$var = anf_assign1187;\nR.nothing;\nvar $temp_lam1189 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__439($lst1190,$elt1191) {\nvar $step1188 = 0;\nvar $elidedFrames1195 = 0;\nvar $ans1192 = D;\nvar $al1193 = L[439];\nif(R.isAR($lst1190)) {\n$step1188 = $lst1190.step;\n$al1193 = $lst1190.from;\n$ans1192 = $lst1190.ans;\n$elidedFrames1195 = $lst1190.elidedFrames;\nlst1190 = $lst1190.args[0];\nelt1191 = $lst1190.args[1];\nann_check_temp1196 = $lst1190.vars[0];\nanf_arg1207 = $lst1190.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[439],2,$t,false);\n}\nvar lst1190 = $lst1190;\nvar elt1191 = $elt1191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1192 = R.mC();\n}\nwhile(!R.isContinuation($ans1192)) {\nswitch($step1188) {\ncase 0: $step1188 = 1;\n$al1193 = L[447];\nR._cA(L[447],List50,lst1190);\nbreak;\ncase 1: $step1188 = 2;\n$al1193 = L[448];\nR._cA(L[448],R.Any,elt1191);\nbreak;\ncase 2: // caller optimization;\n$ans1192 = is$empty549.$var.app(lst1190);\nvar anf_if1210 = $ans1192;\n$step1188 = R.checkPyretTrue(anf_if1210)?3:4;\nbreak;\ncase 3: $step1188 = 9;\n$ans1192 = empty266.$var;\nbreak;\ncase 4: $al1193 = L[441];\nvar anf_arg1198 = G(lst1190,\"first\",L[441]);\n$step1188 = 5;\n$al1193 = L[446];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1193,equal$always1);\n}\n$ans1192 = equal$always1.app(elt1191,anf_arg1198);\nbreak;\ncase 5: var anf_if1209 = $ans1192;\n$step1188 = R.checkPyretTrue(anf_if1209)?6:7;\nbreak;\ncase 6: $al1193 = L[442];\nvar anf_arg1202 = G(lst1190,\"rest\",L[442]);\n$step1188 = 0;\n++$elidedFrames1195;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1192 = R.mC();\n}\nlst1190 = anf_arg1202;\nelt1191 = elt1191;\ncontinue;\ncase 7: $al1193 = L[443];\nvar anf_arg1207 = G(lst1190,\"first\",L[443]);\n$al1193 = L[444];\nvar anf_arg1206 = G(lst1190,\"rest\",L[444]);\n$step1188 = 8;\n$al1193 = L[445];\n// omitting isFunction check;\n$ans1192 = remove205.$var.app(anf_arg1206,elt1191);\nbreak;\ncase 8: var anf_arg1208 = $ans1192;\n// caller optimization;\n$ans1192 = link124.$var.app(anf_arg1207,anf_arg1208);\n$step1188 = 9;\nbreak;\ncase 9: var ann_check_temp1196 = $ans1192;\n$step1188 = 10;\n$al1193 = L[440];\nvar $ann$check1197 = R._cA(L[440],List50,ann_check_temp1196);\nif(R.isContinuation($ann$check1197)) {\n$ans1192 = $ann$check1197;\n}\nbreak;\ncase 10: $step1188 = 11;\n$ans1192 = ann_check_temp1196;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1192;\ndefault: R.ffi.throwSpinnakerError(L[439],$step1188);\n}\n}\nif($step1188 !== 11) {\n$ans1192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1193,$temp_lam1189,$step1188,[lst1190,elt1191],[ann_check_temp1196,anf_arg1207],$elidedFrames1195);\n}\nreturn $ans1192;\n};\nvar anf_assign1212 = R.mF($temp_lam1189,\"remove\");\nremove205.$var = anf_assign1212;\nR.nothing;\nvar $temp_lam1214 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__449($f1215,$lst1216) {\nvar $step1213 = 0;\nvar $elidedFrames1220 = 0;\nvar $ans1217 = D;\nvar $al1218 = L[449];\nif(R.isAR($f1215)) {\n$step1213 = $f1215.step;\n$al1218 = $f1215.from;\n$ans1217 = $f1215.ans;\n$elidedFrames1220 = $f1215.elidedFrames;\nf1215 = $f1215.args[0];\nlst1216 = $f1215.args[1];\nann_check_temp1221 = $f1215.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[449],2,$t,false);\n}\nvar f1215 = $f1215;\nvar lst1216 = $lst1216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1217 = R.mC();\n}\nwhile(!R.isContinuation($ans1217)) {\nswitch($step1213) {\ncase 0: $step1213 = 1;\n$al1218 = L[455];\nR._cA(L[455],R.Function,f1215);\nbreak;\ncase 1: $step1213 = 2;\n$al1218 = L[456];\nR._cA(L[456],List50,lst1216);\nbreak;\ncase 2: // caller optimization;\n$ans1217 = is$empty549.$var.app(lst1216);\nvar anf_if1227 = $ans1217;\n$step1213 = R.checkPyretTrue(anf_if1227)?3:4;\nbreak;\ncase 3: $step1213 = 8;\n$ans1217 = none19;\nbreak;\ncase 4: $al1218 = L[451];\nvar anf_arg1223 = G(lst1216,\"first\",L[451]);\n$step1213 = 5;\n$al1218 = L[454];\nif(typeof(f1215.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1218,f1215);\n}\n$ans1217 = f1215.app(anf_arg1223);\nbreak;\ncase 5: var anf_if1226 = $ans1217;\n$step1213 = R.checkPyretTrue(anf_if1226)?6:7;\nbreak;\ncase 6: $al1218 = L[452];\nvar anf_arg1224 = G(lst1216,\"first\",L[452]);\n// caller optimization;\n$ans1217 = some20.app(anf_arg1224);\n$step1213 = 8;\nbreak;\ncase 7: $al1218 = L[453];\nvar anf_arg1225 = G(lst1216,\"rest\",L[453]);\n$step1213 = 0;\n++$elidedFrames1220;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1217 = R.mC();\n}\nf1215 = f1215;\nlst1216 = anf_arg1225;\ncontinue;\ncase 8: var ann_check_temp1221 = $ans1217;\n$step1213 = 9;\n$al1218 = L[450];\nvar $ann$check1222 = R._cA(L[450],Option17,ann_check_temp1221);\nif(R.isContinuation($ann$check1222)) {\n$ans1217 = $ann$check1222;\n}\nbreak;\ncase 9: $step1213 = 10;\n$ans1217 = ann_check_temp1221;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1217;\ndefault: R.ffi.throwSpinnakerError(L[449],$step1213);\n}\n}\nif($step1213 !== 10) {\n$ans1217.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1218,$temp_lam1214,$step1213,[f1215,lst1216],[ann_check_temp1221],$elidedFrames1220);\n}\nreturn $ans1217;\n};\nvar anf_assign1229 = R.mF($temp_lam1214,\"find\");\nfind417.$var = anf_assign1229;\nR.nothing;\nvar $temp_lam1231 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__457($n1232,$lst1233) {\nvar $step1230 = 0;\nvar $elidedFrames1237 = 0;\nvar $ans1234 = D;\nvar $al1235 = L[457];\nif(R.isAR($n1232)) {\n$step1230 = $n1232.step;\n$al1235 = $n1232.from;\n$ans1234 = $n1232.ans;\n$elidedFrames1237 = $n1232.elidedFrames;\nn1232 = $n1232.args[0];\nlst1233 = $n1232.args[1];\nsuffix1246 = $n1232.vars[0];\nann_check_temp1267 = $n1232.vars[1];\nprefix1254 = $n1232.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],2,$t,false);\n}\nvar n1232 = $n1232;\nvar lst1233 = $lst1233;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1234 = R.mC();\n}\nwhile(!R.isContinuation($ans1234)) {\nswitch($step1230) {\ncase 0: $step1230 = 1;\n$al1235 = L[474];\nR._cA(L[474],$type$Number3,n1232);\nbreak;\ncase 1: $step1230 = 2;\n$al1235 = L[475];\nR._cA(L[475],List50,lst1233);\nbreak;\ncase 2: $step1230 = 3;\n$al1235 = L[473];\n// omitting isFunction check;\n$ans1234 = _lessthan3.app(n1232,(0));\nbreak;\ncase 3: var anf_if1272 = $ans1234;\n$step1230 = R.checkPyretTrue(anf_if1272)?4:5;\nbreak;\ncase 4: $step1230 = 7;\n$ans1234 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans1234 = num$is$integer2.app(n1232);\nvar anf_arg1270 = $ans1234;\n$step1230 = 6;\n$al1235 = L[472];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1235,not5);\n}\n$ans1234 = not5.app(anf_arg1270);\nbreak;\ncase 6: var anf_arg1271 = $ans1234;\n$ans1234 = R.checkWrapBoolean(anf_arg1271);\n$step1230 = 7;\nbreak;\ncase 7: var anf_if1269 = $ans1234;\n$step1230 = R.checkPyretTrue(anf_if1269)?8:10;\nbreak;\ncase 8: $step1230 = 9;\n$al1235 = L[471];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1235,raise1);\n}\n$ans1234 = raise1.app((\"Invalid index\"));\nbreak;\ncase 9: $step1230 = 11;\n$ans1234 = nothing2;\nbreak;\ncase 10: $step1230 = 11;\n$ans1234 = nothing2;\nbreak;\ncase 11: var prefix1254 = {\"$var\":empty266.$var};\nvar suffix1246 = {\"$var\":empty266.$var};\nvar help1248 = {\"$var\":D};\nvar $temp_lam1239 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__458($ind1240,$l1241) {\nvar $step1238 = 0;\nvar $elidedFrames1245 = 0;\nvar $ans1242 = D;\nvar $al1243 = L[458];\nif(R.isAR($ind1240)) {\n$step1238 = $ind1240.step;\n$al1243 = $ind1240.from;\n$ans1242 = $ind1240.ans;\n$elidedFrames1245 = $ind1240.elidedFrames;\nind1240 = $ind1240.args[0];\nl1241 = $ind1240.args[1];\nrst1252 = $ind1240.vars[0];\nfst1253 = $ind1240.vars[1];\ncases1247 = $ind1240.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[458],2,$t,false);\n}\nvar ind1240 = $ind1240;\nvar l1241 = $l1241;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1242 = R.mC();\n}\nwhile(!R.isContinuation($ans1242)) {\nswitch($step1238) {\ncase 0: $step1238 = 1;\n$al1243 = L[466];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1243,equal$always1);\n}\n$ans1242 = equal$always1.app(ind1240,(0));\nbreak;\ncase 1: var anf_if1262 = $ans1242;\n$step1238 = R.checkPyretTrue(anf_if1262)?2:3;\nbreak;\ncase 2: $step1238 = 10;\nsuffix1246.$var = l1241;\n$ans1242 = R.nothing;\nbreak;\ncase 3: var cases1247 = l1241;\n$step1238 = 4;\n$al1243 = L[465];\nvar $ann$check1261 = R._cA(L[465],List50,cases1247);\nif(R.isContinuation($ann$check1261)) {\n$ans1242 = $ann$check1261;\n}\nbreak;\ncase 4: $al1243 = L[461];\n$step1238 = $cases_dispatch1260[cases1247.$name] || 9;\nbreak;\ncase 5: if(cases1247.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[460],false,L[461],cases1247.$loc);\n}\n$step1238 = 10;\n$al1243 = L[459];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1243,raise1);\n}\n$ans1242 = raise1.app((\"Index too large\"));\nbreak;\ncase 6: if(cases1247.$arity !== 2) {\nif(cases1247.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[464],2,cases1247.$arity,L[461],cases1247.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[464],true,L[461],cases1247.$loc);\n}\n}\nvar $fn1259 = cases1247.$constructor.$fieldNames;\nvar fst1253 = R.dF(cases1247.dict[$fn1259[0]],cases1247.$mut_fields_mask[0],false);\nvar rst1252 = R.dF(cases1247.dict[$fn1259[1]],cases1247.$mut_fields_mask[1],false);\n$step1238 = 7;\n$al1243 = L[463];\n// omitting isFunction check;\n$ans1242 = _minus9.app(ind1240,(1));\nbreak;\ncase 7: var anf_arg1251 = $ans1242;\n$step1238 = 8;\n$al1243 = L[462];\n// omitting isFunction check;\n$ans1242 = help1248.$var.app(anf_arg1251,rst1252);\nbreak;\ncase 8: var arg_1255 = fst1253;\nvar anf_arg1256 = prefix1254.$var;\n// caller optimization;\n$ans1242 = link124.$var.app(arg_1255,anf_arg1256);\nvar anf_assign1257 = $ans1242;\n$step1238 = 10;\nprefix1254.$var = anf_assign1257;\n$ans1242 = R.nothing;\nbreak;\ncase 9: $ans1242 = R.throwNoCasesMatched(L[461],cases1247);\n$step1238 = 10;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1242;\ndefault: R.ffi.throwSpinnakerError(L[458],$step1238);\n}\n}\nif($step1238 !== 10) {\n$ans1242.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1243,$temp_lam1239,$step1238,[ind1240,l1241],[rst1252,fst1253,cases1247],$elidedFrames1245);\n}\nreturn $ans1242;\n};\nvar anf_assign1264 = R.mF($temp_lam1239,\"help\");\nhelp1248.$var = anf_assign1264;\nR.nothing;\n$step1230 = 12;\n$al1235 = L[470];\n// omitting isFunction check;\n$ans1234 = help1248.$var.app(n1232,lst1233);\nbreak;\ncase 12: var anf_obj1265 = prefix1254.$var;\nvar anf_obj1266 = suffix1246.$var;\nvar ann_check_temp1267 = R.mO({\"prefix\":anf_obj1265,\n\"suffix\":anf_obj1266});\n$step1230 = 13;\n$al1235 = L[469];\nvar $ann$check1268 = R._cA(L[469],R.mRA([\"prefix\",\"suffix\"],[L[467],L[468]],{\"prefix\":List50,\n\"suffix\":List50}),ann_check_temp1267);\nif(R.isContinuation($ann$check1268)) {\n$ans1234 = $ann$check1268;\n}\nbreak;\ncase 13: $step1230 = 14;\n$ans1234 = ann_check_temp1267;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1234;\ndefault: R.ffi.throwSpinnakerError(L[457],$step1230);\n}\n}\nif($step1230 !== 14) {\n$ans1234.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1235,$temp_lam1231,$step1230,[n1232,lst1233],[suffix1246,ann_check_temp1267,prefix1254],$elidedFrames1237);\n}\nreturn $ans1234;\n};\nvar anf_assign1274 = R.mF($temp_lam1231,\"split-at\");\nsplit$at137.$var = anf_assign1274;\nR.nothing;\nvar $temp_lam1276 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__476($n1277,$lst1278) {\nvar $step1275 = 0;\nvar $elidedFrames1282 = 0;\nvar $ans1279 = D;\nvar $al1280 = L[476];\nif(R.isAR($n1277)) {\n$step1275 = $n1277.step;\n$al1280 = $n1277.from;\n$ans1279 = $n1277.ans;\n$elidedFrames1282 = $n1277.elidedFrames;\nn1277 = $n1277.args[0];\nlst1278 = $n1277.args[1];\nann_check_temp1284 = $n1277.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[476],2,$t,false);\n}\nvar n1277 = $n1277;\nvar lst1278 = $lst1278;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1279 = R.mC();\n}\nwhile(!R.isContinuation($ans1279)) {\nswitch($step1275) {\ncase 0: $step1275 = 1;\n$al1280 = L[480];\nR._cA(L[480],$type$Number3,n1277);\nbreak;\ncase 1: $step1275 = 2;\n$al1280 = L[481];\nR._cA(L[481],List50,lst1278);\nbreak;\ncase 2: $step1275 = 3;\n$al1280 = L[479];\n// omitting isFunction check;\n$ans1279 = split$at137.$var.app(n1277,lst1278);\nbreak;\ncase 3: var anf_bracket1283 = $ans1279;\n$al1280 = L[477];\nvar ann_check_temp1284 = G(anf_bracket1283,\"prefix\",L[477]);\n$step1275 = 4;\n$al1280 = L[478];\nvar $ann$check1285 = R._cA(L[478],List50,ann_check_temp1284);\nif(R.isContinuation($ann$check1285)) {\n$ans1279 = $ann$check1285;\n}\nbreak;\ncase 4: $step1275 = 5;\n$ans1279 = ann_check_temp1284;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1279;\ndefault: R.ffi.throwSpinnakerError(L[476],$step1275);\n}\n}\nif($step1275 !== 5) {\n$ans1279.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1280,$temp_lam1276,$step1275,[n1277,lst1278],[ann_check_temp1284],$elidedFrames1282);\n}\nreturn $ans1279;\n};\nvar anf_assign1287 = R.mF($temp_lam1276,\"take\");\ntake1288.$var = anf_assign1287;\nR.nothing;\nvar $temp_lam1290 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__482($n1291,$lst1292) {\nvar $step1289 = 0;\nvar $elidedFrames1296 = 0;\nvar $ans1293 = D;\nvar $al1294 = L[482];\nif(R.isAR($n1291)) {\n$step1289 = $n1291.step;\n$al1294 = $n1291.from;\n$ans1293 = $n1291.ans;\n$elidedFrames1296 = $n1291.elidedFrames;\nn1291 = $n1291.args[0];\nlst1292 = $n1291.args[1];\nann_check_temp1298 = $n1291.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[482],2,$t,false);\n}\nvar n1291 = $n1291;\nvar lst1292 = $lst1292;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1293 = R.mC();\n}\nwhile(!R.isContinuation($ans1293)) {\nswitch($step1289) {\ncase 0: $step1289 = 1;\n$al1294 = L[486];\nR._cA(L[486],$type$Number3,n1291);\nbreak;\ncase 1: $step1289 = 2;\n$al1294 = L[487];\nR._cA(L[487],List50,lst1292);\nbreak;\ncase 2: $step1289 = 3;\n$al1294 = L[485];\n// omitting isFunction check;\n$ans1293 = split$at137.$var.app(n1291,lst1292);\nbreak;\ncase 3: var anf_bracket1297 = $ans1293;\n$al1294 = L[483];\nvar ann_check_temp1298 = G(anf_bracket1297,\"suffix\",L[483]);\n$step1289 = 4;\n$al1294 = L[484];\nvar $ann$check1299 = R._cA(L[484],List50,ann_check_temp1298);\nif(R.isContinuation($ann$check1299)) {\n$ans1293 = $ann$check1299;\n}\nbreak;\ncase 4: $step1289 = 5;\n$ans1293 = ann_check_temp1298;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1293;\ndefault: R.ffi.throwSpinnakerError(L[482],$step1289);\n}\n}\nif($step1289 !== 5) {\n$ans1293.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1294,$temp_lam1290,$step1289,[n1291,lst1292],[ann_check_temp1298],$elidedFrames1296);\n}\nreturn $ans1293;\n};\nvar anf_assign1301 = R.mF($temp_lam1290,\"drop\");\ndrop1302.$var = anf_assign1301;\nR.nothing;\nvar $temp_lam1304 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__488($f1305,$lst1306) {\nvar $step1303 = 0;\nvar $elidedFrames1310 = 0;\nvar $ans1307 = D;\nvar $al1308 = L[488];\nif(R.isAR($f1305)) {\n$step1303 = $f1305.step;\n$al1308 = $f1305.from;\n$ans1307 = $f1305.ans;\n$elidedFrames1310 = $f1305.elidedFrames;\nf1305 = $f1305.args[0];\nlst1306 = $f1305.args[1];\nann_check_temp1311 = $f1305.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[488],2,$t,false);\n}\nvar f1305 = $f1305;\nvar lst1306 = $lst1306;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1307 = R.mC();\n}\nwhile(!R.isContinuation($ans1307)) {\nswitch($step1303) {\ncase 0: $step1303 = 1;\n$al1308 = L[494];\nR._cA(L[494],R.Function,f1305);\nbreak;\ncase 1: $step1303 = 2;\n$al1308 = L[495];\nR._cA(L[495],List50,lst1306);\nbreak;\ncase 2: // caller optimization;\n$ans1307 = is$empty549.$var.app(lst1306);\nvar anf_if1321 = $ans1307;\n$step1303 = R.checkPyretTrue(anf_if1321)?3:4;\nbreak;\ncase 3: $step1303 = 9;\n$ans1307 = (false);\nbreak;\ncase 4: $al1308 = L[490];\nvar anf_arg1313 = G(lst1306,\"first\",L[490]);\n$step1303 = 5;\n$al1308 = L[493];\nif(typeof(f1305.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1308,f1305);\n}\n$ans1307 = f1305.app(anf_arg1313);\nbreak;\ncase 5: var anf_if1320 = $ans1307;\n$step1303 = R.checkPyretTrue(anf_if1320)?6:7;\nbreak;\ncase 6: $step1303 = 9;\n$ans1307 = (true);\nbreak;\ncase 7: $al1308 = L[491];\nvar anf_arg1316 = G(lst1306,\"rest\",L[491]);\n$step1303 = 8;\n$al1308 = L[492];\n// omitting isFunction check;\n$ans1307 = any1314.$var.app(f1305,anf_arg1316);\nbreak;\ncase 8: var anf_arg1319 = $ans1307;\n$ans1307 = R.checkWrapBoolean(anf_arg1319);\n$step1303 = 9;\nbreak;\ncase 9: var ann_check_temp1311 = $ans1307;\n$step1303 = 10;\n$al1308 = L[489];\nvar $ann$check1312 = R._cA(L[489],$type$Boolean6,ann_check_temp1311);\nif(R.isContinuation($ann$check1312)) {\n$ans1307 = $ann$check1312;\n}\nbreak;\ncase 10: $step1303 = 11;\n$ans1307 = ann_check_temp1311;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1307;\ndefault: R.ffi.throwSpinnakerError(L[488],$step1303);\n}\n}\nif($step1303 !== 11) {\n$ans1307.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1308,$temp_lam1304,$step1303,[f1305,lst1306],[ann_check_temp1311],$elidedFrames1310);\n}\nreturn $ans1307;\n};\nvar anf_assign1323 = R.mF($temp_lam1304,\"any\");\nany1314.$var = anf_assign1323;\nR.nothing;\nvar $temp_lam1325 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__496($f1326,$lst1327) {\nvar $step1324 = 0;\nvar $elidedFrames1331 = 0;\nvar $ans1328 = D;\nvar $al1329 = L[496];\nif(R.isAR($f1326)) {\n$step1324 = $f1326.step;\n$al1329 = $f1326.from;\n$ans1328 = $f1326.ans;\n$elidedFrames1331 = $f1326.elidedFrames;\nf1326 = $f1326.args[0];\nlst1327 = $f1326.args[1];\nann_check_temp1332 = $f1326.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[496],2,$t,false);\n}\nvar f1326 = $f1326;\nvar lst1327 = $lst1327;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1328 = R.mC();\n}\nwhile(!R.isContinuation($ans1328)) {\nswitch($step1324) {\ncase 0: $step1324 = 1;\n$al1329 = L[502];\nR._cA(L[502],R.Function,f1326);\nbreak;\ncase 1: $step1324 = 2;\n$al1329 = L[503];\nR._cA(L[503],List50,lst1327);\nbreak;\ncase 2: // caller optimization;\n$ans1328 = is$empty549.$var.app(lst1327);\nvar anf_if1344 = $ans1328;\n$step1324 = R.checkPyretTrue(anf_if1344)?3:4;\nbreak;\ncase 3: $step1324 = 9;\n$ans1328 = (true);\nbreak;\ncase 4: $al1329 = L[498];\nvar anf_arg1334 = G(lst1327,\"first\",L[498]);\n$step1324 = 5;\n$al1329 = L[501];\nif(typeof(f1326.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1329,f1326);\n}\n$ans1328 = f1326.app(anf_arg1334);\nbreak;\ncase 5: var anf_if1343 = $ans1328;\n$step1324 = R.checkPyretTrue(anf_if1343)?6:8;\nbreak;\ncase 6: $al1329 = L[499];\nvar anf_arg1337 = G(lst1327,\"rest\",L[499]);\n$step1324 = 7;\n$al1329 = L[500];\n// omitting isFunction check;\n$ans1328 = all1335.$var.app(f1326,anf_arg1337);\nbreak;\ncase 7: var anf_arg1341 = $ans1328;\n$ans1328 = R.checkWrapBoolean(anf_arg1341);\n$step1324 = 9;\nbreak;\ncase 8: $step1324 = 9;\n$ans1328 = (false);\nbreak;\ncase 9: var ann_check_temp1332 = $ans1328;\n$step1324 = 10;\n$al1329 = L[497];\nvar $ann$check1333 = R._cA(L[497],$type$Boolean6,ann_check_temp1332);\nif(R.isContinuation($ann$check1333)) {\n$ans1328 = $ann$check1333;\n}\nbreak;\ncase 10: $step1324 = 11;\n$ans1328 = ann_check_temp1332;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1328;\ndefault: R.ffi.throwSpinnakerError(L[496],$step1324);\n}\n}\nif($step1324 !== 11) {\n$ans1328.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1329,$temp_lam1325,$step1324,[f1326,lst1327],[ann_check_temp1332],$elidedFrames1331);\n}\nreturn $ans1328;\n};\nvar anf_assign1346 = R.mF($temp_lam1325,\"all\");\nall1335.$var = anf_assign1346;\nR.nothing;\nvar $temp_lam1348 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__504($f1349,$lst11350,$lst21351) {\nvar $step1347 = 0;\nvar $elidedFrames1355 = 0;\nvar $ans1352 = D;\nvar $al1353 = L[504];\nif(R.isAR($f1349)) {\n$step1347 = $f1349.step;\n$al1353 = $f1349.from;\n$ans1352 = $f1349.ans;\n$elidedFrames1355 = $f1349.elidedFrames;\nf1349 = $f1349.args[0];\nlst11350 = $f1349.args[1];\nlst21351 = $f1349.args[2];\nann_check_temp1380 = $f1349.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[504],3,$t,false);\n}\nvar f1349 = $f1349;\nvar lst11350 = $lst11350;\nvar lst21351 = $lst21351;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1352 = R.mC();\n}\nwhile(!R.isContinuation($ans1352)) {\nswitch($step1347) {\ncase 0: $step1347 = 1;\n$al1353 = L[514];\nR._cA(L[514],R.Function,f1349);\nbreak;\ncase 1: $step1347 = 2;\n$al1353 = L[515];\nR._cA(L[515],List50,lst11350);\nbreak;\ncase 2: $step1347 = 3;\n$al1353 = L[516];\nR._cA(L[516],List50,lst21351);\nbreak;\ncase 3: var help1366 = {\"$var\":D};\nvar $temp_lam1357 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__505($l11358,$l21359) {\nvar $step1356 = 0;\nvar $elidedFrames1363 = 0;\nvar $ans1360 = D;\nvar $al1361 = L[505];\nif(R.isAR($l11358)) {\n$step1356 = $l11358.step;\n$al1361 = $l11358.from;\n$ans1360 = $l11358.ans;\n$elidedFrames1363 = $l11358.elidedFrames;\nl11358 = $l11358.args[0];\nl21359 = $l11358.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[505],2,$t,false);\n}\nvar l11358 = $l11358;\nvar l21359 = $l21359;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1360 = R.mC();\n}\nwhile(!R.isContinuation($ans1360)) {\nswitch($step1356) {\ncase 0: // caller optimization;\n$ans1360 = is$empty549.$var.app(l11358);\nvar anf_if1377 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1377)?1:2;\nbreak;\ncase 1: $step1356 = 3;\n$ans1360 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1360 = is$empty549.$var.app(l21359);\nvar anf_arg1376 = $ans1360;\n$ans1360 = R.checkWrapBoolean(anf_arg1376);\n$step1356 = 3;\nbreak;\ncase 3: var anf_if1371 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1371)?4:5;\nbreak;\ncase 4: $step1356 = 10;\n$ans1360 = (true);\nbreak;\ncase 5: $al1361 = L[506];\nvar anf_arg1364 = G(l11358,\"first\",L[506]);\n$al1361 = L[507];\nvar anf_arg1365 = G(l21359,\"first\",L[507]);\n$step1356 = 6;\n$al1361 = L[511];\nif(typeof(f1349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1361,f1349);\n}\n$ans1360 = f1349.app(anf_arg1364,anf_arg1365);\nbreak;\ncase 6: var anf_if1370 = $ans1360;\n$step1356 = R.checkPyretTrue(anf_if1370)?7:9;\nbreak;\ncase 7: $al1361 = L[508];\nvar anf_arg1367 = G(l11358,\"rest\",L[508]);\n$al1361 = L[509];\nvar anf_arg1368 = G(l21359,\"rest\",L[509]);\n$step1356 = 8;\n$al1361 = L[510];\n// omitting isFunction check;\n$ans1360 = help1366.$var.app(anf_arg1367,anf_arg1368);\nbreak;\ncase 8: var anf_arg1369 = $ans1360;\n$ans1360 = R.checkWrapBoolean(anf_arg1369);\n$step1356 = 10;\nbreak;\ncase 9: $step1356 = 10;\n$ans1360 = (false);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1360;\ndefault: R.ffi.throwSpinnakerError(L[505],$step1356);\n}\n}\nif($step1356 !== 10) {\n$ans1360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1361,$temp_lam1357,$step1356,[l11358,l21359],[],$elidedFrames1363);\n}\nreturn $ans1360;\n};\nvar anf_assign1379 = R.mF($temp_lam1357,\"help\");\nhelp1366.$var = anf_assign1379;\nR.nothing;\n$step1347 = 4;\n$al1353 = L[513];\n// omitting isFunction check;\n$ans1352 = help1366.$var.app(lst11350,lst21351);\nbreak;\ncase 4: var ann_check_temp1380 = $ans1352;\n$step1347 = 5;\n$al1353 = L[512];\nvar $ann$check1381 = R._cA(L[512],$type$Boolean6,ann_check_temp1380);\nif(R.isContinuation($ann$check1381)) {\n$ans1352 = $ann$check1381;\n}\nbreak;\ncase 5: $step1347 = 6;\n$ans1352 = ann_check_temp1380;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1352;\ndefault: R.ffi.throwSpinnakerError(L[504],$step1347);\n}\n}\nif($step1347 !== 6) {\n$ans1352.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1353,$temp_lam1348,$step1347,[f1349,lst11350,lst21351],[ann_check_temp1380],$elidedFrames1355);\n}\nreturn $ans1352;\n};\nvar anf_assign1383 = R.mF($temp_lam1348,\"all2\");\nall21384.$var = anf_assign1383;\nR.nothing;\nvar $temp_lam1386 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__517($f1387,$lst1388) {\nvar $step1385 = 0;\nvar $elidedFrames1392 = 0;\nvar $ans1389 = D;\nvar $al1390 = L[517];\nif(R.isAR($f1387)) {\n$step1385 = $f1387.step;\n$al1390 = $f1387.from;\n$ans1389 = $f1387.ans;\n$elidedFrames1392 = $f1387.elidedFrames;\nf1387 = $f1387.args[0];\nlst1388 = $f1387.args[1];\nann_check_temp1393 = $f1387.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[517],2,$t,false);\n}\nvar f1387 = $f1387;\nvar lst1388 = $lst1388;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1389 = R.mC();\n}\nwhile(!R.isContinuation($ans1389)) {\nswitch($step1385) {\ncase 0: $step1385 = 1;\n$al1390 = L[520];\nR._cA(L[520],R.Function,f1387);\nbreak;\ncase 1: $step1385 = 2;\n$al1390 = L[521];\nR._cA(L[521],List50,lst1388);\nbreak;\ncase 2: $step1385 = 3;\n$ans1389 = R.maybeMethodCall2(builtins1,\"raw-list-map\",L[518],f1387,lst1388);\nbreak;\ncase 3: var ann_check_temp1393 = $ans1389;\n$step1385 = 4;\n$al1390 = L[519];\nvar $ann$check1394 = R._cA(L[519],List50,ann_check_temp1393);\nif(R.isContinuation($ann$check1394)) {\n$ans1389 = $ann$check1394;\n}\nbreak;\ncase 4: $step1385 = 5;\n$ans1389 = ann_check_temp1393;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1389;\ndefault: R.ffi.throwSpinnakerError(L[517],$step1385);\n}\n}\nif($step1385 !== 5) {\n$ans1389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1390,$temp_lam1386,$step1385,[f1387,lst1388],[ann_check_temp1393],$elidedFrames1392);\n}\nreturn $ans1389;\n};\nvar anf_assign1396 = R.mF($temp_lam1386,\"map\");\nmap71.$var = anf_assign1396;\nR.nothing;\nvar $temp_lam1398 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__522($f1399,$l11400,$l21401) {\nvar $step1397 = 0;\nvar $elidedFrames1405 = 0;\nvar $ans1402 = D;\nvar $al1403 = L[522];\nif(R.isAR($f1399)) {\n$step1397 = $f1399.step;\n$al1403 = $f1399.from;\n$ans1402 = $f1399.ans;\n$elidedFrames1405 = $f1399.elidedFrames;\nf1399 = $f1399.args[0];\nl11400 = $f1399.args[1];\nl21401 = $f1399.args[2];\nann_check_temp1406 = $f1399.vars[0];\narg_1418 = $f1399.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[522],3,$t,false);\n}\nvar f1399 = $f1399;\nvar l11400 = $l11400;\nvar l21401 = $l21401;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1402 = R.mC();\n}\nwhile(!R.isContinuation($ans1402)) {\nswitch($step1397) {\ncase 0: $step1397 = 1;\n$al1403 = L[530];\nR._cA(L[530],R.Function,f1399);\nbreak;\ncase 1: $step1397 = 2;\n$al1403 = L[531];\nR._cA(L[531],List50,l11400);\nbreak;\ncase 2: $step1397 = 3;\n$al1403 = L[532];\nR._cA(L[532],List50,l21401);\nbreak;\ncase 3: // caller optimization;\n$ans1402 = is$empty549.$var.app(l11400);\nvar anf_if1428 = $ans1402;\n$step1397 = R.checkPyretTrue(anf_if1428)?4:5;\nbreak;\ncase 4: $step1397 = 6;\n$ans1402 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans1402 = is$empty549.$var.app(l21401);\nvar anf_arg1427 = $ans1402;\n$ans1402 = R.checkWrapBoolean(anf_arg1427);\n$step1397 = 6;\nbreak;\ncase 6: var anf_if1420 = $ans1402;\n$step1397 = R.checkPyretTrue(anf_if1420)?7:8;\nbreak;\ncase 7: $step1397 = 11;\n$ans1402 = empty266.$var;\nbreak;\ncase 8: $al1403 = L[524];\nvar anf_arg1409 = G(l11400,\"first\",L[524]);\n$al1403 = L[525];\nvar anf_arg1414 = G(l21401,\"first\",L[525]);\n$step1397 = 9;\n$al1403 = L[529];\nif(typeof(f1399.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1403,f1399);\n}\n$ans1402 = f1399.app(anf_arg1409,anf_arg1414);\nbreak;\ncase 9: var arg_1418 = $ans1402;\n$al1403 = L[526];\nvar anf_arg1416 = G(l11400,\"rest\",L[526]);\n$al1403 = L[527];\nvar anf_arg1417 = G(l21401,\"rest\",L[527]);\n$step1397 = 10;\n$al1403 = L[528];\n// omitting isFunction check;\n$ans1402 = map21415.$var.app(f1399,anf_arg1416,anf_arg1417);\nbreak;\ncase 10: var anf_arg1419 = $ans1402;\n// caller optimization;\n$ans1402 = link124.$var.app(arg_1418,anf_arg1419);\n$step1397 = 11;\nbreak;\ncase 11: var ann_check_temp1406 = $ans1402;\n$step1397 = 12;\n$al1403 = L[523];\nvar $ann$check1407 = R._cA(L[523],List50,ann_check_temp1406);\nif(R.isContinuation($ann$check1407)) {\n$ans1402 = $ann$check1407;\n}\nbreak;\ncase 12: $step1397 = 13;\n$ans1402 = ann_check_temp1406;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1402;\ndefault: R.ffi.throwSpinnakerError(L[522],$step1397);\n}\n}\nif($step1397 !== 13) {\n$ans1402.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1403,$temp_lam1398,$step1397,[f1399,l11400,l21401],[ann_check_temp1406,arg_1418],$elidedFrames1405);\n}\nreturn $ans1402;\n};\nvar anf_assign1430 = R.mF($temp_lam1398,\"map2\");\nmap21415.$var = anf_assign1430;\nR.nothing;\nvar $temp_lam1432 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__533($f1433,$l11434,$l21435,$l31436) {\nvar $step1431 = 0;\nvar $elidedFrames1440 = 0;\nvar $ans1437 = D;\nvar $al1438 = L[533];\nif(R.isAR($f1433)) {\n$step1431 = $f1433.step;\n$al1438 = $f1433.from;\n$ans1437 = $f1433.ans;\n$elidedFrames1440 = $f1433.elidedFrames;\nf1433 = $f1433.args[0];\nl11434 = $f1433.args[1];\nl21435 = $f1433.args[2];\nl31436 = $f1433.args[3];\nann_check_temp1441 = $f1433.vars[0];\narg_1463 = $f1433.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[533],4,$t,false);\n}\nvar f1433 = $f1433;\nvar l11434 = $l11434;\nvar l21435 = $l21435;\nvar l31436 = $l31436;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1437 = R.mC();\n}\nwhile(!R.isContinuation($ans1437)) {\nswitch($step1431) {\ncase 0: $step1431 = 1;\n$al1438 = L[543];\nR._cA(L[543],R.Function,f1433);\nbreak;\ncase 1: $step1431 = 2;\n$al1438 = L[544];\nR._cA(L[544],List50,l11434);\nbreak;\ncase 2: $step1431 = 3;\n$al1438 = L[545];\nR._cA(L[545],List50,l21435);\nbreak;\ncase 3: $step1431 = 4;\n$al1438 = L[546];\nR._cA(L[546],List50,l31436);\nbreak;\ncase 4: // caller optimization;\n$ans1437 = is$empty549.$var.app(l11434);\nvar anf_if1468 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1468)?5:6;\nbreak;\ncase 5: $step1431 = 9;\n$ans1437 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1437 = is$empty549.$var.app(l21435);\nvar anf_if1467 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1467)?7:8;\nbreak;\ncase 7: $step1431 = 9;\n$ans1437 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans1437 = is$empty549.$var.app(l31436);\nvar anf_arg1466 = $ans1437;\n$ans1437 = R.checkWrapBoolean(anf_arg1466);\n$step1431 = 9;\nbreak;\ncase 9: var anf_if1465 = $ans1437;\n$step1431 = R.checkPyretTrue(anf_if1465)?10:11;\nbreak;\ncase 10: $step1431 = 14;\n$ans1437 = empty266.$var;\nbreak;\ncase 11: $al1438 = L[535];\nvar anf_arg1443 = G(l11434,\"first\",L[535]);\n$al1438 = L[536];\nvar anf_arg1444 = G(l21435,\"first\",L[536]);\n$al1438 = L[537];\nvar anf_arg1445 = G(l31436,\"first\",L[537]);\n$step1431 = 12;\n$al1438 = L[542];\nif(typeof(f1433.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1438,f1433);\n}\n$ans1437 = f1433.app(anf_arg1443,anf_arg1444,anf_arg1445);\nbreak;\ncase 12: var arg_1463 = $ans1437;\n$al1438 = L[538];\nvar anf_arg1452 = G(l11434,\"rest\",L[538]);\n$al1438 = L[539];\nvar anf_arg1458 = G(l21435,\"rest\",L[539]);\n$al1438 = L[540];\nvar anf_arg1462 = G(l31436,\"rest\",L[540]);\n$step1431 = 13;\n$al1438 = L[541];\n// omitting isFunction check;\n$ans1437 = map31446.$var.app(f1433,anf_arg1452,anf_arg1458,anf_arg1462);\nbreak;\ncase 13: var anf_arg1464 = $ans1437;\n// caller optimization;\n$ans1437 = link124.$var.app(arg_1463,anf_arg1464);\n$step1431 = 14;\nbreak;\ncase 14: var ann_check_temp1441 = $ans1437;\n$step1431 = 15;\n$al1438 = L[534];\nvar $ann$check1442 = R._cA(L[534],List50,ann_check_temp1441);\nif(R.isContinuation($ann$check1442)) {\n$ans1437 = $ann$check1442;\n}\nbreak;\ncase 15: $step1431 = 16;\n$ans1437 = ann_check_temp1441;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1437;\ndefault: R.ffi.throwSpinnakerError(L[533],$step1431);\n}\n}\nif($step1431 !== 16) {\n$ans1437.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1438,$temp_lam1432,$step1431,[f1433,l11434,l21435,l31436],[ann_check_temp1441,arg_1463],$elidedFrames1440);\n}\nreturn $ans1437;\n};\nvar anf_assign1470 = R.mF($temp_lam1432,\"map3\");\nmap31446.$var = anf_assign1470;\nR.nothing;\nvar $temp_lam1472 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__547($f1473,$l11474,$l21475,$l31476,$l41477) {\nvar $step1471 = 0;\nvar $elidedFrames1481 = 0;\nvar $ans1478 = D;\nvar $al1479 = L[547];\nif(R.isAR($f1473)) {\n$step1471 = $f1473.step;\n$al1479 = $f1473.from;\n$ans1478 = $f1473.ans;\n$elidedFrames1481 = $f1473.elidedFrames;\nf1473 = $f1473.args[0];\nl11474 = $f1473.args[1];\nl21475 = $f1473.args[2];\nl31476 = $f1473.args[3];\nl41477 = $f1473.args[4];\nann_check_temp1482 = $f1473.vars[0];\narg_1496 = $f1473.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],5,$t,false);\n}\nvar f1473 = $f1473;\nvar l11474 = $l11474;\nvar l21475 = $l21475;\nvar l31476 = $l31476;\nvar l41477 = $l41477;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1478 = R.mC();\n}\nwhile(!R.isContinuation($ans1478)) {\nswitch($step1471) {\ncase 0: $step1471 = 1;\n$al1479 = L[559];\nR._cA(L[559],R.Function,f1473);\nbreak;\ncase 1: $step1471 = 2;\n$al1479 = L[560];\nR._cA(L[560],List50,l11474);\nbreak;\ncase 2: $step1471 = 3;\n$al1479 = L[561];\nR._cA(L[561],List50,l21475);\nbreak;\ncase 3: $step1471 = 4;\n$al1479 = L[562];\nR._cA(L[562],List50,l31476);\nbreak;\ncase 4: $step1471 = 5;\n$al1479 = L[563];\nR._cA(L[563],List50,l41477);\nbreak;\ncase 5: // caller optimization;\n$ans1478 = is$empty549.$var.app(l11474);\nvar anf_if1503 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1503)?6:7;\nbreak;\ncase 6: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans1478 = is$empty549.$var.app(l21475);\nvar anf_if1502 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1502)?8:9;\nbreak;\ncase 8: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans1478 = is$empty549.$var.app(l31476);\nvar anf_if1501 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1501)?10:11;\nbreak;\ncase 10: $step1471 = 12;\n$ans1478 = (true);\nbreak;\ncase 11: // caller optimization;\n$ans1478 = is$empty549.$var.app(l41477);\nvar anf_arg1500 = $ans1478;\n$ans1478 = R.checkWrapBoolean(anf_arg1500);\n$step1471 = 12;\nbreak;\ncase 12: var anf_if1498 = $ans1478;\n$step1471 = R.checkPyretTrue(anf_if1498)?13:14;\nbreak;\ncase 13: $step1471 = 17;\n$ans1478 = empty266.$var;\nbreak;\ncase 14: $al1479 = L[549];\nvar anf_arg1487 = G(l11474,\"first\",L[549]);\n$al1479 = L[550];\nvar anf_arg1488 = G(l21475,\"first\",L[550]);\n$al1479 = L[551];\nvar anf_arg1489 = G(l31476,\"first\",L[551]);\n$al1479 = L[552];\nvar anf_arg1490 = G(l41477,\"first\",L[552]);\n$step1471 = 15;\n$al1479 = L[558];\nif(typeof(f1473.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1479,f1473);\n}\n$ans1478 = f1473.app(anf_arg1487,anf_arg1488,anf_arg1489,anf_arg1490);\nbreak;\ncase 15: var arg_1496 = $ans1478;\n$al1479 = L[553];\nvar anf_arg1492 = G(l11474,\"rest\",L[553]);\n$al1479 = L[554];\nvar anf_arg1493 = G(l21475,\"rest\",L[554]);\n$al1479 = L[555];\nvar anf_arg1494 = G(l31476,\"rest\",L[555]);\n$al1479 = L[556];\nvar anf_arg1495 = G(l41477,\"rest\",L[556]);\n$step1471 = 16;\n$al1479 = L[557];\n// omitting isFunction check;\n$ans1478 = map41491.$var.app(f1473,anf_arg1492,anf_arg1493,anf_arg1494,anf_arg1495);\nbreak;\ncase 16: var anf_arg1497 = $ans1478;\n// caller optimization;\n$ans1478 = link124.$var.app(arg_1496,anf_arg1497);\n$step1471 = 17;\nbreak;\ncase 17: var ann_check_temp1482 = $ans1478;\n$step1471 = 18;\n$al1479 = L[548];\nvar $ann$check1483 = R._cA(L[548],List50,ann_check_temp1482);\nif(R.isContinuation($ann$check1483)) {\n$ans1478 = $ann$check1483;\n}\nbreak;\ncase 18: $step1471 = 19;\n$ans1478 = ann_check_temp1482;\nbreak;\ncase 19: ++R.GAS;\nreturn $ans1478;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1471);\n}\n}\nif($step1471 !== 19) {\n$ans1478.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1479,$temp_lam1472,$step1471,[f1473,l11474,l21475,l31476,l41477],[ann_check_temp1482,arg_1496],$elidedFrames1481);\n}\nreturn $ans1478;\n};\nvar anf_assign1505 = R.mF($temp_lam1472,\"map4\");\nmap41491.$var = anf_assign1505;\nR.nothing;\nvar $temp_lam1507 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__564($f1508,$n1509,$lst1510) {\nvar $step1506 = 0;\nvar $elidedFrames1514 = 0;\nvar $ans1511 = D;\nvar $al1512 = L[564];\nif(R.isAR($f1508)) {\n$step1506 = $f1508.step;\n$al1512 = $f1508.from;\n$ans1511 = $f1508.ans;\n$elidedFrames1514 = $f1508.elidedFrames;\nf1508 = $f1508.args[0];\nn1509 = $f1508.args[1];\nlst1510 = $f1508.args[2];\narg_1524 = $f1508.vars[0];\nann_check_temp1515 = $f1508.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[564],3,$t,false);\n}\nvar f1508 = $f1508;\nvar n1509 = $n1509;\nvar lst1510 = $lst1510;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1511 = R.mC();\n}\nwhile(!R.isContinuation($ans1511)) {\nswitch($step1506) {\ncase 0: $step1506 = 1;\n$al1512 = L[571];\nR._cA(L[571],R.Function,f1508);\nbreak;\ncase 1: $step1506 = 2;\n$al1512 = L[572];\nR._cA(L[572],$type$Number3,n1509);\nbreak;\ncase 2: $step1506 = 3;\n$al1512 = L[573];\nR._cA(L[573],List50,lst1510);\nbreak;\ncase 3: // caller optimization;\n$ans1511 = is$empty549.$var.app(lst1510);\nvar anf_if1526 = $ans1511;\n$step1506 = R.checkPyretTrue(anf_if1526)?4:5;\nbreak;\ncase 4: $step1506 = 9;\n$ans1511 = empty266.$var;\nbreak;\ncase 5: $al1512 = L[566];\nvar anf_arg1517 = G(lst1510,\"first\",L[566]);\n$step1506 = 6;\n$al1512 = L[570];\nif(typeof(f1508.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1512,f1508);\n}\n$ans1511 = f1508.app(n1509,anf_arg1517);\nbreak;\ncase 6: var arg_1524 = $ans1511;\n$step1506 = 7;\n$al1512 = L[569];\n// omitting isFunction check;\n$ans1511 = _plus5.app(n1509,(1));\nbreak;\ncase 7: var anf_arg1522 = $ans1511;\n$al1512 = L[567];\nvar anf_arg1523 = G(lst1510,\"rest\",L[567]);\n$step1506 = 8;\n$al1512 = L[568];\n// omitting isFunction check;\n$ans1511 = map_n1518.$var.app(f1508,anf_arg1522,anf_arg1523);\nbreak;\ncase 8: var anf_arg1525 = $ans1511;\n// caller optimization;\n$ans1511 = link124.$var.app(arg_1524,anf_arg1525);\n$step1506 = 9;\nbreak;\ncase 9: var ann_check_temp1515 = $ans1511;\n$step1506 = 10;\n$al1512 = L[565];\nvar $ann$check1516 = R._cA(L[565],List50,ann_check_temp1515);\nif(R.isContinuation($ann$check1516)) {\n$ans1511 = $ann$check1516;\n}\nbreak;\ncase 10: $step1506 = 11;\n$ans1511 = ann_check_temp1515;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1511;\ndefault: R.ffi.throwSpinnakerError(L[564],$step1506);\n}\n}\nif($step1506 !== 11) {\n$ans1511.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1512,$temp_lam1507,$step1506,[f1508,n1509,lst1510],[arg_1524,ann_check_temp1515],$elidedFrames1514);\n}\nreturn $ans1511;\n};\nvar anf_assign1528 = R.mF($temp_lam1507,\"map_n\");\nmap_n1518.$var = anf_assign1528;\nR.nothing;\nvar $temp_lam1530 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__574($f1531,$n1532,$l11533,$l21534) {\nvar $step1529 = 0;\nvar $elidedFrames1538 = 0;\nvar $ans1535 = D;\nvar $al1536 = L[574];\nif(R.isAR($f1531)) {\n$step1529 = $f1531.step;\n$al1536 = $f1531.from;\n$ans1535 = $f1531.ans;\n$elidedFrames1538 = $f1531.elidedFrames;\nf1531 = $f1531.args[0];\nn1532 = $f1531.args[1];\nl11533 = $f1531.args[2];\nl21534 = $f1531.args[3];\narg_1547 = $f1531.vars[0];\nann_check_temp1539 = $f1531.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[574],4,$t,false);\n}\nvar f1531 = $f1531;\nvar n1532 = $n1532;\nvar l11533 = $l11533;\nvar l21534 = $l21534;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1535 = R.mC();\n}\nwhile(!R.isContinuation($ans1535)) {\nswitch($step1529) {\ncase 0: $step1529 = 1;\n$al1536 = L[583];\nR._cA(L[583],R.Function,f1531);\nbreak;\ncase 1: $step1529 = 2;\n$al1536 = L[584];\nR._cA(L[584],$type$Number3,n1532);\nbreak;\ncase 2: $step1529 = 3;\n$al1536 = L[585];\nR._cA(L[585],List50,l11533);\nbreak;\ncase 3: $step1529 = 4;\n$al1536 = L[586];\nR._cA(L[586],List50,l21534);\nbreak;\ncase 4: // caller optimization;\n$ans1535 = is$empty549.$var.app(l11533);\nvar anf_if1555 = $ans1535;\n$step1529 = R.checkPyretTrue(anf_if1555)?5:6;\nbreak;\ncase 5: $step1529 = 7;\n$ans1535 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1535 = is$empty549.$var.app(l21534);\nvar anf_arg1554 = $ans1535;\n$ans1535 = R.checkWrapBoolean(anf_arg1554);\n$step1529 = 7;\nbreak;\ncase 7: var anf_if1550 = $ans1535;\n$step1529 = R.checkPyretTrue(anf_if1550)?8:9;\nbreak;\ncase 8: $step1529 = 13;\n$ans1535 = empty266.$var;\nbreak;\ncase 9: $al1536 = L[576];\nvar anf_arg1541 = G(l11533,\"first\",L[576]);\n$al1536 = L[577];\nvar anf_arg1542 = G(l21534,\"first\",L[577]);\n$step1529 = 10;\n$al1536 = L[582];\nif(typeof(f1531.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1536,f1531);\n}\n$ans1535 = f1531.app(n1532,anf_arg1541,anf_arg1542);\nbreak;\ncase 10: var arg_1547 = $ans1535;\n$step1529 = 11;\n$al1536 = L[581];\n// omitting isFunction check;\n$ans1535 = _plus5.app(n1532,(1));\nbreak;\ncase 11: var anf_arg1544 = $ans1535;\n$al1536 = L[578];\nvar anf_arg1545 = G(l11533,\"rest\",L[578]);\n$al1536 = L[579];\nvar anf_arg1546 = G(l21534,\"rest\",L[579]);\n$step1529 = 12;\n$al1536 = L[580];\n// omitting isFunction check;\n$ans1535 = map2_n1543.$var.app(f1531,anf_arg1544,anf_arg1545,anf_arg1546);\nbreak;\ncase 12: var anf_arg1549 = $ans1535;\n// caller optimization;\n$ans1535 = link124.$var.app(arg_1547,anf_arg1549);\n$step1529 = 13;\nbreak;\ncase 13: var ann_check_temp1539 = $ans1535;\n$step1529 = 14;\n$al1536 = L[575];\nvar $ann$check1540 = R._cA(L[575],List50,ann_check_temp1539);\nif(R.isContinuation($ann$check1540)) {\n$ans1535 = $ann$check1540;\n}\nbreak;\ncase 14: $step1529 = 15;\n$ans1535 = ann_check_temp1539;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans1535;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1529);\n}\n}\nif($step1529 !== 15) {\n$ans1535.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1536,$temp_lam1530,$step1529,[f1531,n1532,l11533,l21534],[arg_1547,ann_check_temp1539],$elidedFrames1538);\n}\nreturn $ans1535;\n};\nvar anf_assign1557 = R.mF($temp_lam1530,\"map2_n\");\nmap2_n1543.$var = anf_assign1557;\nR.nothing;\nvar $temp_lam1559 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__587($f1560,$n1561,$l11562,$l21563,$l31564) {\nvar $step1558 = 0;\nvar $elidedFrames1568 = 0;\nvar $ans1565 = D;\nvar $al1566 = L[587];\nif(R.isAR($f1560)) {\n$step1558 = $f1560.step;\n$al1566 = $f1560.from;\n$ans1565 = $f1560.ans;\n$elidedFrames1568 = $f1560.elidedFrames;\nf1560 = $f1560.args[0];\nn1561 = $f1560.args[1];\nl11562 = $f1560.args[2];\nl21563 = $f1560.args[3];\nl31564 = $f1560.args[4];\narg_1591 = $f1560.vars[0];\nann_check_temp1569 = $f1560.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[587],5,$t,false);\n}\nvar f1560 = $f1560;\nvar n1561 = $n1561;\nvar l11562 = $l11562;\nvar l21563 = $l21563;\nvar l31564 = $l31564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1565 = R.mC();\n}\nwhile(!R.isContinuation($ans1565)) {\nswitch($step1558) {\ncase 0: $step1558 = 1;\n$al1566 = L[598];\nR._cA(L[598],R.Function,f1560);\nbreak;\ncase 1: $step1558 = 2;\n$al1566 = L[599];\nR._cA(L[599],$type$Number3,n1561);\nbreak;\ncase 2: $step1558 = 3;\n$al1566 = L[600];\nR._cA(L[600],List50,l11562);\nbreak;\ncase 3: $step1558 = 4;\n$al1566 = L[601];\nR._cA(L[601],List50,l21563);\nbreak;\ncase 4: $step1558 = 5;\n$al1566 = L[602];\nR._cA(L[602],List50,l31564);\nbreak;\ncase 5: // caller optimization;\n$ans1565 = is$empty549.$var.app(l11562);\nvar anf_if1596 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1596)?6:7;\nbreak;\ncase 6: $step1558 = 10;\n$ans1565 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans1565 = is$empty549.$var.app(l21563);\nvar anf_if1595 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1595)?8:9;\nbreak;\ncase 8: $step1558 = 10;\n$ans1565 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans1565 = is$empty549.$var.app(l31564);\nvar anf_arg1594 = $ans1565;\n$ans1565 = R.checkWrapBoolean(anf_arg1594);\n$step1558 = 10;\nbreak;\ncase 10: var anf_if1593 = $ans1565;\n$step1558 = R.checkPyretTrue(anf_if1593)?11:12;\nbreak;\ncase 11: $step1558 = 16;\n$ans1565 = empty266.$var;\nbreak;\ncase 12: $al1566 = L[589];\nvar anf_arg1574 = G(l11562,\"first\",L[589]);\n$al1566 = L[590];\nvar anf_arg1579 = G(l21563,\"first\",L[590]);\n$al1566 = L[591];\nvar anf_arg1584 = G(l31564,\"first\",L[591]);\n$step1558 = 13;\n$al1566 = L[597];\nif(typeof(f1560.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1566,f1560);\n}\n$ans1565 = f1560.app(n1561,anf_arg1574,anf_arg1579,anf_arg1584);\nbreak;\ncase 13: var arg_1591 = $ans1565;\n$step1558 = 14;\n$al1566 = L[596];\n// omitting isFunction check;\n$ans1565 = _plus5.app(n1561,(1));\nbreak;\ncase 14: var anf_arg1587 = $ans1565;\n$al1566 = L[592];\nvar anf_arg1588 = G(l11562,\"rest\",L[592]);\n$al1566 = L[593];\nvar anf_arg1589 = G(l21563,\"rest\",L[593]);\n$al1566 = L[594];\nvar anf_arg1590 = G(l31564,\"rest\",L[594]);\n$step1558 = 15;\n$al1566 = L[595];\n// omitting isFunction check;\n$ans1565 = map3_n1585.$var.app(f1560,anf_arg1587,anf_arg1588,anf_arg1589,anf_arg1590);\nbreak;\ncase 15: var anf_arg1592 = $ans1565;\n// caller optimization;\n$ans1565 = link124.$var.app(arg_1591,anf_arg1592);\n$step1558 = 16;\nbreak;\ncase 16: var ann_check_temp1569 = $ans1565;\n$step1558 = 17;\n$al1566 = L[588];\nvar $ann$check1570 = R._cA(L[588],List50,ann_check_temp1569);\nif(R.isContinuation($ann$check1570)) {\n$ans1565 = $ann$check1570;\n}\nbreak;\ncase 17: $step1558 = 18;\n$ans1565 = ann_check_temp1569;\nbreak;\ncase 18: ++R.GAS;\nreturn $ans1565;\ndefault: R.ffi.throwSpinnakerError(L[587],$step1558);\n}\n}\nif($step1558 !== 18) {\n$ans1565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1566,$temp_lam1559,$step1558,[f1560,n1561,l11562,l21563,l31564],[arg_1591,ann_check_temp1569],$elidedFrames1568);\n}\nreturn $ans1565;\n};\nvar anf_assign1598 = R.mF($temp_lam1559,\"map3_n\");\nmap3_n1585.$var = anf_assign1598;\nR.nothing;\nvar $temp_lam1600 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__603($f1601,$n1602,$l11603,$l21604,$l31605,$l41606) {\nvar $step1599 = 0;\nvar $elidedFrames1610 = 0;\nvar $ans1607 = D;\nvar $al1608 = L[603];\nif(R.isAR($f1601)) {\n$step1599 = $f1601.step;\n$al1608 = $f1601.from;\n$ans1607 = $f1601.ans;\n$elidedFrames1610 = $f1601.elidedFrames;\nf1601 = $f1601.args[0];\nn1602 = $f1601.args[1];\nl11603 = $f1601.args[2];\nl21604 = $f1601.args[3];\nl31605 = $f1601.args[4];\nl41606 = $f1601.args[5];\nann_check_temp1611 = $f1601.vars[0];\narg_1626 = $f1601.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[603],6,$t,false);\n}\nvar f1601 = $f1601;\nvar n1602 = $n1602;\nvar l11603 = $l11603;\nvar l21604 = $l21604;\nvar l31605 = $l31605;\nvar l41606 = $l41606;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1607 = R.mC();\n}\nwhile(!R.isContinuation($ans1607)) {\nswitch($step1599) {\ncase 0: $step1599 = 1;\n$al1608 = L[616];\nR._cA(L[616],R.Function,f1601);\nbreak;\ncase 1: $step1599 = 2;\n$al1608 = L[617];\nR._cA(L[617],$type$Number3,n1602);\nbreak;\ncase 2: $step1599 = 3;\n$al1608 = L[618];\nR._cA(L[618],List50,l11603);\nbreak;\ncase 3: $step1599 = 4;\n$al1608 = L[619];\nR._cA(L[619],List50,l21604);\nbreak;\ncase 4: $step1599 = 5;\n$al1608 = L[620];\nR._cA(L[620],List50,l31605);\nbreak;\ncase 5: $step1599 = 6;\n$al1608 = L[621];\nR._cA(L[621],List50,l41606);\nbreak;\ncase 6: // caller optimization;\n$ans1607 = is$empty549.$var.app(l11603);\nvar anf_if1636 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1636)?7:8;\nbreak;\ncase 7: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans1607 = is$empty549.$var.app(l21604);\nvar anf_if1635 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1635)?9:10;\nbreak;\ncase 9: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans1607 = is$empty549.$var.app(l31605);\nvar anf_if1634 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1634)?11:12;\nbreak;\ncase 11: $step1599 = 13;\n$ans1607 = (true);\nbreak;\ncase 12: // caller optimization;\n$ans1607 = is$empty549.$var.app(l41606);\nvar anf_arg1633 = $ans1607;\n$ans1607 = R.checkWrapBoolean(anf_arg1633);\n$step1599 = 13;\nbreak;\ncase 13: var anf_if1631 = $ans1607;\n$step1599 = R.checkPyretTrue(anf_if1631)?14:15;\nbreak;\ncase 14: $step1599 = 19;\n$ans1607 = empty266.$var;\nbreak;\ncase 15: $al1608 = L[605];\nvar anf_arg1616 = G(l11603,\"first\",L[605]);\n$al1608 = L[606];\nvar anf_arg1617 = G(l21604,\"first\",L[606]);\n$al1608 = L[607];\nvar anf_arg1618 = G(l31605,\"first\",L[607]);\n$al1608 = L[608];\nvar anf_arg1619 = G(l41606,\"first\",L[608]);\n$step1599 = 16;\n$al1608 = L[615];\nif(typeof(f1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1608,f1601);\n}\n$ans1607 = f1601.app(n1602,anf_arg1616,anf_arg1617,anf_arg1618,anf_arg1619);\nbreak;\ncase 16: var arg_1626 = $ans1607;\n$step1599 = 17;\n$al1608 = L[614];\n// omitting isFunction check;\n$ans1607 = _plus5.app(n1602,(1));\nbreak;\ncase 17: var anf_arg1621 = $ans1607;\n$al1608 = L[609];\nvar anf_arg1622 = G(l11603,\"rest\",L[609]);\n$al1608 = L[610];\nvar anf_arg1623 = G(l21604,\"rest\",L[610]);\n$al1608 = L[611];\nvar anf_arg1624 = G(l31605,\"rest\",L[611]);\n$al1608 = L[612];\nvar anf_arg1625 = G(l41606,\"rest\",L[612]);\n$step1599 = 18;\n$al1608 = L[613];\n// omitting isFunction check;\n$ans1607 = map4_n1620.$var.app(f1601,anf_arg1621,anf_arg1622,anf_arg1623,anf_arg1624,anf_arg1625);\nbreak;\ncase 18: var anf_arg1630 = $ans1607;\n// caller optimization;\n$ans1607 = link124.$var.app(arg_1626,anf_arg1630);\n$step1599 = 19;\nbreak;\ncase 19: var ann_check_temp1611 = $ans1607;\n$step1599 = 20;\n$al1608 = L[604];\nvar $ann$check1612 = R._cA(L[604],List50,ann_check_temp1611);\nif(R.isContinuation($ann$check1612)) {\n$ans1607 = $ann$check1612;\n}\nbreak;\ncase 20: $step1599 = 21;\n$ans1607 = ann_check_temp1611;\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1607;\ndefault: R.ffi.throwSpinnakerError(L[603],$step1599);\n}\n}\nif($step1599 !== 21) {\n$ans1607.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1608,$temp_lam1600,$step1599,[f1601,n1602,l11603,l21604,l31605,l41606],[ann_check_temp1611,arg_1626],$elidedFrames1610);\n}\nreturn $ans1607;\n};\nvar anf_assign1638 = R.mF($temp_lam1600,\"map4_n\");\nmap4_n1620.$var = anf_assign1638;\nR.nothing;\nvar $temp_lam1641 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__622($f1642,$lst1643) {\nvar $step1640 = 0;\nvar $elidedFrames1647 = 0;\nvar $ans1644 = D;\nvar $al1645 = L[622];\nif(R.isAR($f1642)) {\n$step1640 = $f1642.step;\n$al1645 = $f1642.from;\n$ans1644 = $f1642.ans;\n$elidedFrames1647 = $f1642.elidedFrames;\nf1642 = $f1642.args[0];\nlst1643 = $f1642.args[1];\nann_check_temp1664 = $f1642.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[622],2,$t,false);\n}\nvar f1642 = $f1642;\nvar lst1643 = $lst1643;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1644 = R.mC();\n}\nwhile(!R.isContinuation($ans1644)) {\nswitch($step1640) {\ncase 0: $step1640 = 1;\n$al1645 = L[628];\nR._cA(L[628],R.Function,f1642);\nbreak;\ncase 1: $step1640 = 2;\n$al1645 = L[629];\nR._cA(L[629],List50,lst1643);\nbreak;\ncase 2: var anf_fun1657 = fold927.$var === D?U(L[623],\"fold\"):fold927.$var;\nvar $temp_lam1649 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__624($$underscore1650,$elt1651) {\nvar $step1648 = 0;\nvar $elidedFrames1655 = 0;\nvar $ans1652 = D;\nvar $al1653 = L[624];\nif(R.isAR($$underscore1650)) {\n$step1648 = $$underscore1650.step;\n$al1653 = $$underscore1650.from;\n$ans1652 = $$underscore1650.ans;\n$elidedFrames1655 = $$underscore1650.elidedFrames;\n$underscore1650 = $$underscore1650.args[0];\nelt1651 = $$underscore1650.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[624],2,$t,false);\n}\nvar $underscore1650 = $$underscore1650;\nvar elt1651 = $elt1651;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1652 = R.mC();\n}\nwhile(!R.isContinuation($ans1652)) {\nswitch($step1648) {\ncase 0: $step1648 = 1;\n$al1653 = L[625];\nif(typeof(f1642.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1653,f1642);\n}\n$ans1652 = f1642.app(elt1651);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1652;\ndefault: R.ffi.throwSpinnakerError(L[624],$step1648);\n}\n}\nif($step1648 !== 1) {\n$ans1652.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1653,$temp_lam1649,$step1648,[$underscore1650,elt1651],[],$elidedFrames1655);\n}\nreturn $ans1652;\n};\nvar anf_arg1663 = R.mF($temp_lam1649,\"\");\n$step1640 = 3;\n$al1645 = L[627];\nif(typeof(anf_fun1657.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1645,anf_fun1657);\n}\n$ans1644 = anf_fun1657.app(anf_arg1663,nothing2,lst1643);\nbreak;\ncase 3: var ann_check_temp1664 = nothing2;\n$step1640 = 4;\n$al1645 = L[626];\nvar $ann$check1665 = R._cA(L[626],$type$Nothing1,ann_check_temp1664);\nif(R.isContinuation($ann$check1665)) {\n$ans1644 = $ann$check1665;\n}\nbreak;\ncase 4: $step1640 = 5;\n$ans1644 = ann_check_temp1664;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1644;\ndefault: R.ffi.throwSpinnakerError(L[622],$step1640);\n}\n}\nif($step1640 !== 5) {\n$ans1644.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1645,$temp_lam1641,$step1640,[f1642,lst1643],[ann_check_temp1664],$elidedFrames1647);\n}\nreturn $ans1644;\n};\nvar anf_assign1667 = R.mF($temp_lam1641,\"each\");\neach98.$var = anf_assign1667;\nR.nothing;\nvar $temp_lam1669 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__630($f1670,$lst11671,$lst21672) {\nvar $step1668 = 0;\nvar $elidedFrames1676 = 0;\nvar $ans1673 = D;\nvar $al1674 = L[630];\nif(R.isAR($f1670)) {\n$step1668 = $f1670.step;\n$al1674 = $f1670.from;\n$ans1673 = $f1670.ans;\n$elidedFrames1676 = $f1670.elidedFrames;\nf1670 = $f1670.args[0];\nlst11671 = $f1670.args[1];\nlst21672 = $f1670.args[2];\nann_check_temp1696 = $f1670.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[630],3,$t,false);\n}\nvar f1670 = $f1670;\nvar lst11671 = $lst11671;\nvar lst21672 = $lst21672;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1673 = R.mC();\n}\nwhile(!R.isContinuation($ans1673)) {\nswitch($step1668) {\ncase 0: $step1668 = 1;\n$al1674 = L[639];\nR._cA(L[639],R.Function,f1670);\nbreak;\ncase 1: $step1668 = 2;\n$al1674 = L[640];\nR._cA(L[640],List50,lst11671);\nbreak;\ncase 2: $step1668 = 3;\n$al1674 = L[641];\nR._cA(L[641],List50,lst21672);\nbreak;\ncase 3: var help1688 = {\"$var\":D};\nvar $temp_lam1678 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__631($l11679,$l21680) {\nvar $step1677 = 0;\nvar $elidedFrames1684 = 0;\nvar $ans1681 = D;\nvar $al1682 = L[631];\nif(R.isAR($l11679)) {\n$step1677 = $l11679.step;\n$al1682 = $l11679.from;\n$ans1681 = $l11679.ans;\n$elidedFrames1684 = $l11679.elidedFrames;\nl11679 = $l11679.args[0];\nl21680 = $l11679.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[631],2,$t,false);\n}\nvar l11679 = $l11679;\nvar l21680 = $l21680;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1681 = R.mC();\n}\nwhile(!R.isContinuation($ans1681)) {\nswitch($step1677) {\ncase 0: // caller optimization;\n$ans1681 = is$empty549.$var.app(l11679);\nvar anf_if1693 = $ans1681;\n$step1677 = R.checkPyretTrue(anf_if1693)?1:2;\nbreak;\ncase 1: $step1677 = 3;\n$ans1681 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1681 = is$empty549.$var.app(l21680);\nvar anf_arg1692 = $ans1681;\n$ans1681 = R.checkWrapBoolean(anf_arg1692);\n$step1677 = 3;\nbreak;\ncase 3: var anf_if1691 = $ans1681;\n$step1677 = R.checkPyretTrue(anf_if1691)?4:5;\nbreak;\ncase 4: $step1677 = 7;\n$ans1681 = nothing2;\nbreak;\ncase 5: $al1682 = L[632];\nvar anf_arg1686 = G(l11679,\"first\",L[632]);\n$al1682 = L[633];\nvar anf_arg1687 = G(l21680,\"first\",L[633]);\n$step1677 = 6;\n$al1682 = L[636];\nif(typeof(f1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1682,f1670);\n}\n$ans1681 = f1670.app(anf_arg1686,anf_arg1687);\nbreak;\ncase 6: $al1682 = L[634];\nvar anf_arg1689 = G(l11679,\"rest\",L[634]);\n$al1682 = L[635];\nvar anf_arg1690 = G(l21680,\"rest\",L[635]);\n$step1677 = 0;\n++$elidedFrames1684;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1681 = R.mC();\n}\nl11679 = anf_arg1689;\nl21680 = anf_arg1690;\ncontinue;\ncase 7: ++R.GAS;\nreturn $ans1681;\ndefault: R.ffi.throwSpinnakerError(L[631],$step1677);\n}\n}\nif($step1677 !== 7) {\n$ans1681.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1682,$temp_lam1678,$step1677,[l11679,l21680],[],$elidedFrames1684);\n}\nreturn $ans1681;\n};\nvar anf_assign1695 = R.mF($temp_lam1678,\"help\");\nhelp1688.$var = anf_assign1695;\nR.nothing;\n$step1668 = 4;\n$al1674 = L[638];\n// omitting isFunction check;\n$ans1673 = help1688.$var.app(lst11671,lst21672);\nbreak;\ncase 4: var ann_check_temp1696 = $ans1673;\n$step1668 = 5;\n$al1674 = L[637];\nvar $ann$check1697 = R._cA(L[637],$type$Nothing1,ann_check_temp1696);\nif(R.isContinuation($ann$check1697)) {\n$ans1673 = $ann$check1697;\n}\nbreak;\ncase 5: $step1668 = 6;\n$ans1673 = ann_check_temp1696;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1673;\ndefault: R.ffi.throwSpinnakerError(L[630],$step1668);\n}\n}\nif($step1668 !== 6) {\n$ans1673.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1674,$temp_lam1669,$step1668,[f1670,lst11671,lst21672],[ann_check_temp1696],$elidedFrames1676);\n}\nreturn $ans1673;\n};\nvar anf_assign1699 = R.mF($temp_lam1669,\"each2\");\neach21700.$var = anf_assign1699;\nR.nothing;\nvar $temp_lam1702 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__642($f1703,$lst11704,$lst21705,$lst31706) {\nvar $step1701 = 0;\nvar $elidedFrames1710 = 0;\nvar $ans1707 = D;\nvar $al1708 = L[642];\nif(R.isAR($f1703)) {\n$step1701 = $f1703.step;\n$al1708 = $f1703.from;\n$ans1707 = $f1703.ans;\n$elidedFrames1710 = $f1703.elidedFrames;\nf1703 = $f1703.args[0];\nlst11704 = $f1703.args[1];\nlst21705 = $f1703.args[2];\nlst31706 = $f1703.args[3];\nann_check_temp1733 = $f1703.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[642],4,$t,false);\n}\nvar f1703 = $f1703;\nvar lst11704 = $lst11704;\nvar lst21705 = $lst21705;\nvar lst31706 = $lst31706;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1707 = R.mC();\n}\nwhile(!R.isContinuation($ans1707)) {\nswitch($step1701) {\ncase 0: $step1701 = 1;\n$al1708 = L[653];\nR._cA(L[653],R.Function,f1703);\nbreak;\ncase 1: $step1701 = 2;\n$al1708 = L[654];\nR._cA(L[654],List50,lst11704);\nbreak;\ncase 2: $step1701 = 3;\n$al1708 = L[655];\nR._cA(L[655],List50,lst21705);\nbreak;\ncase 3: $step1701 = 4;\n$al1708 = L[656];\nR._cA(L[656],List50,lst31706);\nbreak;\ncase 4: var help1723 = {\"$var\":D};\nvar $temp_lam1712 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__643($l11713,$l21714,$l31715) {\nvar $step1711 = 0;\nvar $elidedFrames1719 = 0;\nvar $ans1716 = D;\nvar $al1717 = L[643];\nif(R.isAR($l11713)) {\n$step1711 = $l11713.step;\n$al1717 = $l11713.from;\n$ans1716 = $l11713.ans;\n$elidedFrames1719 = $l11713.elidedFrames;\nl11713 = $l11713.args[0];\nl21714 = $l11713.args[1];\nl31715 = $l11713.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[643],3,$t,false);\n}\nvar l11713 = $l11713;\nvar l21714 = $l21714;\nvar l31715 = $l31715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1716 = R.mC();\n}\nwhile(!R.isContinuation($ans1716)) {\nswitch($step1711) {\ncase 0: // caller optimization;\n$ans1716 = is$empty549.$var.app(l11713);\nvar anf_if1730 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1730)?1:2;\nbreak;\ncase 1: $step1711 = 5;\n$ans1716 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1716 = is$empty549.$var.app(l21714);\nvar anf_if1729 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1729)?3:4;\nbreak;\ncase 3: $step1711 = 5;\n$ans1716 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1716 = is$empty549.$var.app(l31715);\nvar anf_arg1728 = $ans1716;\n$ans1716 = R.checkWrapBoolean(anf_arg1728);\n$step1711 = 5;\nbreak;\ncase 5: var anf_if1727 = $ans1716;\n$step1711 = R.checkPyretTrue(anf_if1727)?6:7;\nbreak;\ncase 6: $step1711 = 9;\n$ans1716 = nothing2;\nbreak;\ncase 7: $al1717 = L[644];\nvar anf_arg1720 = G(l11713,\"first\",L[644]);\n$al1717 = L[645];\nvar anf_arg1721 = G(l21714,\"first\",L[645]);\n$al1717 = L[646];\nvar anf_arg1722 = G(l31715,\"first\",L[646]);\n$step1711 = 8;\n$al1717 = L[650];\nif(typeof(f1703.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1717,f1703);\n}\n$ans1716 = f1703.app(anf_arg1720,anf_arg1721,anf_arg1722);\nbreak;\ncase 8: $al1717 = L[647];\nvar anf_arg1724 = G(l11713,\"rest\",L[647]);\n$al1717 = L[648];\nvar anf_arg1725 = G(l21714,\"rest\",L[648]);\n$al1717 = L[649];\nvar anf_arg1726 = G(l31715,\"rest\",L[649]);\n$step1711 = 0;\n++$elidedFrames1719;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1716 = R.mC();\n}\nl11713 = anf_arg1724;\nl21714 = anf_arg1725;\nl31715 = anf_arg1726;\ncontinue;\ncase 9: ++R.GAS;\nreturn $ans1716;\ndefault: R.ffi.throwSpinnakerError(L[643],$step1711);\n}\n}\nif($step1711 !== 9) {\n$ans1716.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1717,$temp_lam1712,$step1711,[l11713,l21714,l31715],[],$elidedFrames1719);\n}\nreturn $ans1716;\n};\nvar anf_assign1732 = R.mF($temp_lam1712,\"help\");\nhelp1723.$var = anf_assign1732;\nR.nothing;\n$step1701 = 5;\n$al1708 = L[652];\n// omitting isFunction check;\n$ans1707 = help1723.$var.app(lst11704,lst21705,lst31706);\nbreak;\ncase 5: var ann_check_temp1733 = $ans1707;\n$step1701 = 6;\n$al1708 = L[651];\nvar $ann$check1734 = R._cA(L[651],$type$Nothing1,ann_check_temp1733);\nif(R.isContinuation($ann$check1734)) {\n$ans1707 = $ann$check1734;\n}\nbreak;\ncase 6: $step1701 = 7;\n$ans1707 = ann_check_temp1733;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1707;\ndefault: R.ffi.throwSpinnakerError(L[642],$step1701);\n}\n}\nif($step1701 !== 7) {\n$ans1707.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1708,$temp_lam1702,$step1701,[f1703,lst11704,lst21705,lst31706],[ann_check_temp1733],$elidedFrames1710);\n}\nreturn $ans1707;\n};\nvar anf_assign1736 = R.mF($temp_lam1702,\"each3\");\neach31737.$var = anf_assign1736;\nR.nothing;\nvar $temp_lam1739 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__657($f1876,$lst11740,$lst21741,$lst31742,$lst41743) {\nvar $step1738 = 0;\nvar $elidedFrames1747 = 0;\nvar $ans1744 = D;\nvar $al1745 = L[657];\nif(R.isAR($f1876)) {\n$step1738 = $f1876.step;\n$al1745 = $f1876.from;\n$ans1744 = $f1876.ans;\n$elidedFrames1747 = $f1876.elidedFrames;\nf1876 = $f1876.args[0];\nlst11740 = $f1876.args[1];\nlst21741 = $f1876.args[2];\nlst31742 = $f1876.args[3];\nlst41743 = $f1876.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[657],5,$t,false);\n}\nvar f1876 = $f1876;\nvar lst11740 = $lst11740;\nvar lst21741 = $lst21741;\nvar lst31742 = $lst31742;\nvar lst41743 = $lst41743;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1744 = R.mC();\n}\nwhile(!R.isContinuation($ans1744)) {\nswitch($step1738) {\ncase 0: $step1738 = 1;\n$al1745 = L[669];\nR._cA(L[669],R.Function,f1876);\nbreak;\ncase 1: $step1738 = 2;\n$al1745 = L[670];\nR._cA(L[670],List50,lst11740);\nbreak;\ncase 2: $step1738 = 3;\n$al1745 = L[671];\nR._cA(L[671],List50,lst21741);\nbreak;\ncase 3: $step1738 = 4;\n$al1745 = L[672];\nR._cA(L[672],List50,lst31742);\nbreak;\ncase 4: $step1738 = 5;\n$al1745 = L[673];\nR._cA(L[673],List50,lst41743);\nbreak;\ncase 5: var help1764 = {\"$var\":D};\nvar $temp_lam1749 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__658($l11750,$l21751,$l31752,$l41753) {\nvar $step1748 = 0;\nvar $elidedFrames1757 = 0;\nvar $ans1754 = D;\nvar $al1755 = L[658];\nif(R.isAR($l11750)) {\n$step1748 = $l11750.step;\n$al1755 = $l11750.from;\n$ans1754 = $l11750.ans;\n$elidedFrames1757 = $l11750.elidedFrames;\nl11750 = $l11750.args[0];\nl21751 = $l11750.args[1];\nl31752 = $l11750.args[2];\nl41753 = $l11750.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[658],4,$t,false);\n}\nvar l11750 = $l11750;\nvar l21751 = $l21751;\nvar l31752 = $l31752;\nvar l41753 = $l41753;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1754 = R.mC();\n}\nwhile(!R.isContinuation($ans1754)) {\nswitch($step1748) {\ncase 0: // caller optimization;\n$ans1754 = is$empty549.$var.app(l11750);\nvar anf_if1773 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1773)?1:2;\nbreak;\ncase 1: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1754 = is$empty549.$var.app(l21751);\nvar anf_if1772 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1772)?3:4;\nbreak;\ncase 3: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1754 = is$empty549.$var.app(l31752);\nvar anf_if1771 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1771)?5:6;\nbreak;\ncase 5: $step1748 = 7;\n$ans1754 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1754 = is$empty549.$var.app(l41753);\nvar anf_arg1770 = $ans1754;\n$ans1754 = R.checkWrapBoolean(anf_arg1770);\n$step1748 = 7;\nbreak;\ncase 7: var anf_if1769 = $ans1754;\n$step1748 = R.checkPyretTrue(anf_if1769)?8:9;\nbreak;\ncase 8: $step1748 = 11;\n$ans1754 = nothing2;\nbreak;\ncase 9: $al1755 = L[659];\nvar anf_arg1760 = G(l11750,\"first\",L[659]);\n$al1755 = L[660];\nvar anf_arg1761 = G(l21751,\"first\",L[660]);\n$al1755 = L[661];\nvar anf_arg1762 = G(l31752,\"first\",L[661]);\n$al1755 = L[662];\nvar anf_arg1763 = G(l41753,\"first\",L[662]);\n$step1748 = 10;\n$al1755 = L[667];\nif(typeof(f1876.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1755,f1876);\n}\n$ans1754 = f1876.app(anf_arg1760,anf_arg1761,anf_arg1762,anf_arg1763);\nbreak;\ncase 10: $al1755 = L[663];\nvar anf_arg1765 = G(l11750,\"rest\",L[663]);\n$al1755 = L[664];\nvar anf_arg1766 = G(l21751,\"rest\",L[664]);\n$al1755 = L[665];\nvar anf_arg1767 = G(l31752,\"rest\",L[665]);\n$al1755 = L[666];\nvar anf_arg1768 = G(l41753,\"rest\",L[666]);\n$step1748 = 0;\n++$elidedFrames1757;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1754 = R.mC();\n}\nl11750 = anf_arg1765;\nl21751 = anf_arg1766;\nl31752 = anf_arg1767;\nl41753 = anf_arg1768;\ncontinue;\ncase 11: ++R.GAS;\nreturn $ans1754;\ndefault: R.ffi.throwSpinnakerError(L[658],$step1748);\n}\n}\nif($step1748 !== 11) {\n$ans1754.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1755,$temp_lam1749,$step1748,[l11750,l21751,l31752,l41753],[],$elidedFrames1757);\n}\nreturn $ans1754;\n};\nvar anf_assign1775 = R.mF($temp_lam1749,\"help\");\nhelp1764.$var = anf_assign1775;\nR.nothing;\n$step1738 = 6;\n$al1745 = L[668];\n// omitting isFunction check;\n$ans1744 = help1764.$var.app(lst11740,lst21741,lst31742,lst41743);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1744;\ndefault: R.ffi.throwSpinnakerError(L[657],$step1738);\n}\n}\nif($step1738 !== 6) {\n$ans1744.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1745,$temp_lam1739,$step1738,[f1876,lst11740,lst21741,lst31742,lst41743],[],$elidedFrames1747);\n}\nreturn $ans1744;\n};\nvar anf_assign1777 = R.mF($temp_lam1739,\"each4\");\neach41778.$var = anf_assign1777;\nR.nothing;\nvar $temp_lam1780 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__674($f1781,$num1782,$lst1783) {\nvar $step1779 = 0;\nvar $elidedFrames1787 = 0;\nvar $ans1784 = D;\nvar $al1785 = L[674];\nif(R.isAR($f1781)) {\n$step1779 = $f1781.step;\n$al1785 = $f1781.from;\n$ans1784 = $f1781.ans;\n$elidedFrames1787 = $f1781.elidedFrames;\nf1781 = $f1781.args[0];\nnum1782 = $f1781.args[1];\nlst1783 = $f1781.args[2];\nann_check_temp1803 = $f1781.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[674],3,$t,false);\n}\nvar f1781 = $f1781;\nvar num1782 = $num1782;\nvar lst1783 = $lst1783;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1784 = R.mC();\n}\nwhile(!R.isContinuation($ans1784)) {\nswitch($step1779) {\ncase 0: $step1779 = 1;\n$al1785 = L[682];\nR._cA(L[682],R.Function,f1781);\nbreak;\ncase 1: $step1779 = 2;\n$al1785 = L[683];\nR._cA(L[683],$type$Number3,num1782);\nbreak;\ncase 2: $step1779 = 3;\n$al1785 = L[684];\nR._cA(L[684],List50,lst1783);\nbreak;\ncase 3: var help1797 = {\"$var\":D};\nvar $temp_lam1789 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__675($n1790,$l1791) {\nvar $step1788 = 0;\nvar $elidedFrames1795 = 0;\nvar $ans1792 = D;\nvar $al1793 = L[675];\nif(R.isAR($n1790)) {\n$step1788 = $n1790.step;\n$al1793 = $n1790.from;\n$ans1792 = $n1790.ans;\n$elidedFrames1795 = $n1790.elidedFrames;\nn1790 = $n1790.args[0];\nl1791 = $n1790.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[675],2,$t,false);\n}\nvar n1790 = $n1790;\nvar l1791 = $l1791;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1792 = R.mC();\n}\nwhile(!R.isContinuation($ans1792)) {\nswitch($step1788) {\ncase 0: // caller optimization;\n$ans1792 = is$empty549.$var.app(l1791);\nvar anf_if1800 = $ans1792;\n$step1788 = R.checkPyretTrue(anf_if1800)?1:2;\nbreak;\ncase 1: $step1788 = 5;\n$ans1792 = nothing2;\nbreak;\ncase 2: $al1793 = L[676];\nvar anf_arg1796 = G(l1791,\"first\",L[676]);\n$step1788 = 3;\n$al1793 = L[679];\nif(typeof(f1781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1793,f1781);\n}\n$ans1792 = f1781.app(n1790,anf_arg1796);\nbreak;\ncase 3: $step1788 = 4;\n$al1793 = L[678];\n// omitting isFunction check;\n$ans1792 = _plus5.app(n1790,(1));\nbreak;\ncase 4: var anf_arg1798 = $ans1792;\n$al1793 = L[677];\nvar anf_arg1799 = G(l1791,\"rest\",L[677]);\n$step1788 = 0;\n++$elidedFrames1795;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1792 = R.mC();\n}\nn1790 = anf_arg1798;\nl1791 = anf_arg1799;\ncontinue;\ncase 5: ++R.GAS;\nreturn $ans1792;\ndefault: R.ffi.throwSpinnakerError(L[675],$step1788);\n}\n}\nif($step1788 !== 5) {\n$ans1792.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1793,$temp_lam1789,$step1788,[n1790,l1791],[],$elidedFrames1795);\n}\nreturn $ans1792;\n};\nvar anf_assign1802 = R.mF($temp_lam1789,\"help\");\nhelp1797.$var = anf_assign1802;\nR.nothing;\n$step1779 = 4;\n$al1785 = L[681];\n// omitting isFunction check;\n$ans1784 = help1797.$var.app(num1782,lst1783);\nbreak;\ncase 4: var ann_check_temp1803 = $ans1784;\n$step1779 = 5;\n$al1785 = L[680];\nvar $ann$check1804 = R._cA(L[680],$type$Nothing1,ann_check_temp1803);\nif(R.isContinuation($ann$check1804)) {\n$ans1784 = $ann$check1804;\n}\nbreak;\ncase 5: $step1779 = 6;\n$ans1784 = ann_check_temp1803;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1784;\ndefault: R.ffi.throwSpinnakerError(L[674],$step1779);\n}\n}\nif($step1779 !== 6) {\n$ans1784.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1785,$temp_lam1780,$step1779,[f1781,num1782,lst1783],[ann_check_temp1803],$elidedFrames1787);\n}\nreturn $ans1784;\n};\nvar anf_assign1806 = R.mF($temp_lam1780,\"each_n\");\neach_n1807.$var = anf_assign1806;\nR.nothing;\nvar $temp_lam1809 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__685($f1810,$num1811,$lst11812,$lst21813) {\nvar $step1808 = 0;\nvar $elidedFrames1817 = 0;\nvar $ans1814 = D;\nvar $al1815 = L[685];\nif(R.isAR($f1810)) {\n$step1808 = $f1810.step;\n$al1815 = $f1810.from;\n$ans1814 = $f1810.ans;\n$elidedFrames1817 = $f1810.elidedFrames;\nf1810 = $f1810.args[0];\nnum1811 = $f1810.args[1];\nlst11812 = $f1810.args[2];\nlst21813 = $f1810.args[3];\nann_check_temp1839 = $f1810.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[685],4,$t,false);\n}\nvar f1810 = $f1810;\nvar num1811 = $num1811;\nvar lst11812 = $lst11812;\nvar lst21813 = $lst21813;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1814 = R.mC();\n}\nwhile(!R.isContinuation($ans1814)) {\nswitch($step1808) {\ncase 0: $step1808 = 1;\n$al1815 = L[695];\nR._cA(L[695],R.Function,f1810);\nbreak;\ncase 1: $step1808 = 2;\n$al1815 = L[696];\nR._cA(L[696],$type$Number3,num1811);\nbreak;\ncase 2: $step1808 = 3;\n$al1815 = L[697];\nR._cA(L[697],List50,lst11812);\nbreak;\ncase 3: $step1808 = 4;\n$al1815 = L[698];\nR._cA(L[698],List50,lst21813);\nbreak;\ncase 4: var help1830 = {\"$var\":D};\nvar $temp_lam1819 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__686($n1820,$l11821,$l21822) {\nvar $step1818 = 0;\nvar $elidedFrames1826 = 0;\nvar $ans1823 = D;\nvar $al1824 = L[686];\nif(R.isAR($n1820)) {\n$step1818 = $n1820.step;\n$al1824 = $n1820.from;\n$ans1823 = $n1820.ans;\n$elidedFrames1826 = $n1820.elidedFrames;\nn1820 = $n1820.args[0];\nl11821 = $n1820.args[1];\nl21822 = $n1820.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],3,$t,false);\n}\nvar n1820 = $n1820;\nvar l11821 = $l11821;\nvar l21822 = $l21822;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1823 = R.mC();\n}\nwhile(!R.isContinuation($ans1823)) {\nswitch($step1818) {\ncase 0: // caller optimization;\n$ans1823 = is$empty549.$var.app(l11821);\nvar anf_if1836 = $ans1823;\n$step1818 = R.checkPyretTrue(anf_if1836)?1:2;\nbreak;\ncase 1: $step1818 = 3;\n$ans1823 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1823 = is$empty549.$var.app(l21822);\nvar anf_arg1835 = $ans1823;\n$ans1823 = R.checkWrapBoolean(anf_arg1835);\n$step1818 = 3;\nbreak;\ncase 3: var anf_if1834 = $ans1823;\n$step1818 = R.checkPyretTrue(anf_if1834)?4:5;\nbreak;\ncase 4: $step1818 = 8;\n$ans1823 = nothing2;\nbreak;\ncase 5: $al1824 = L[687];\nvar anf_arg1828 = G(l11821,\"first\",L[687]);\n$al1824 = L[688];\nvar anf_arg1829 = G(l21822,\"first\",L[688]);\n$step1818 = 6;\n$al1824 = L[692];\nif(typeof(f1810.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1824,f1810);\n}\n$ans1823 = f1810.app(n1820,anf_arg1828,anf_arg1829);\nbreak;\ncase 6: $step1818 = 7;\n$al1824 = L[691];\n// omitting isFunction check;\n$ans1823 = _plus5.app(n1820,(1));\nbreak;\ncase 7: var anf_arg1831 = $ans1823;\n$al1824 = L[689];\nvar anf_arg1832 = G(l11821,\"rest\",L[689]);\n$al1824 = L[690];\nvar anf_arg1833 = G(l21822,\"rest\",L[690]);\n$step1818 = 0;\n++$elidedFrames1826;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1823 = R.mC();\n}\nn1820 = anf_arg1831;\nl11821 = anf_arg1832;\nl21822 = anf_arg1833;\ncontinue;\ncase 8: ++R.GAS;\nreturn $ans1823;\ndefault: R.ffi.throwSpinnakerError(L[686],$step1818);\n}\n}\nif($step1818 !== 8) {\n$ans1823.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1824,$temp_lam1819,$step1818,[n1820,l11821,l21822],[],$elidedFrames1826);\n}\nreturn $ans1823;\n};\nvar anf_assign1838 = R.mF($temp_lam1819,\"help\");\nhelp1830.$var = anf_assign1838;\nR.nothing;\n$step1808 = 5;\n$al1815 = L[694];\n// omitting isFunction check;\n$ans1814 = help1830.$var.app(num1811,lst11812,lst21813);\nbreak;\ncase 5: var ann_check_temp1839 = $ans1814;\n$step1808 = 6;\n$al1815 = L[693];\nvar $ann$check1840 = R._cA(L[693],$type$Nothing1,ann_check_temp1839);\nif(R.isContinuation($ann$check1840)) {\n$ans1814 = $ann$check1840;\n}\nbreak;\ncase 6: $step1808 = 7;\n$ans1814 = ann_check_temp1839;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1814;\ndefault: R.ffi.throwSpinnakerError(L[685],$step1808);\n}\n}\nif($step1808 !== 7) {\n$ans1814.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1815,$temp_lam1809,$step1808,[f1810,num1811,lst11812,lst21813],[ann_check_temp1839],$elidedFrames1817);\n}\nreturn $ans1814;\n};\nvar anf_assign1842 = R.mF($temp_lam1809,\"each2_n\");\neach2_n1843.$var = anf_assign1842;\nR.nothing;\nvar $temp_lam1845 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__699($f1846,$num1847,$lst11848,$lst21849,$lst31850) {\nvar $step1844 = 0;\nvar $elidedFrames1854 = 0;\nvar $ans1851 = D;\nvar $al1852 = L[699];\nif(R.isAR($f1846)) {\n$step1844 = $f1846.step;\n$al1852 = $f1846.from;\n$ans1851 = $f1846.ans;\n$elidedFrames1854 = $f1846.elidedFrames;\nf1846 = $f1846.args[0];\nnum1847 = $f1846.args[1];\nlst11848 = $f1846.args[2];\nlst21849 = $f1846.args[3];\nlst31850 = $f1846.args[4];\nann_check_temp1884 = $f1846.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[699],5,$t,false);\n}\nvar f1846 = $f1846;\nvar num1847 = $num1847;\nvar lst11848 = $lst11848;\nvar lst21849 = $lst21849;\nvar lst31850 = $lst31850;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1851 = R.mC();\n}\nwhile(!R.isContinuation($ans1851)) {\nswitch($step1844) {\ncase 0: $step1844 = 1;\n$al1852 = L[711];\nR._cA(L[711],R.Function,f1846);\nbreak;\ncase 1: $step1844 = 2;\n$al1852 = L[712];\nR._cA(L[712],$type$Number3,num1847);\nbreak;\ncase 2: $step1844 = 3;\n$al1852 = L[713];\nR._cA(L[713],List50,lst11848);\nbreak;\ncase 3: $step1844 = 4;\n$al1852 = L[714];\nR._cA(L[714],List50,lst21849);\nbreak;\ncase 4: $step1844 = 5;\n$al1852 = L[715];\nR._cA(L[715],List50,lst31850);\nbreak;\ncase 5: var help1873 = {\"$var\":D};\nvar $temp_lam1856 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__700($n1857,$l11858,$l21859,$l31860) {\nvar $step1855 = 0;\nvar $elidedFrames1864 = 0;\nvar $ans1861 = D;\nvar $al1862 = L[700];\nif(R.isAR($n1857)) {\n$step1855 = $n1857.step;\n$al1862 = $n1857.from;\n$ans1861 = $n1857.ans;\n$elidedFrames1864 = $n1857.elidedFrames;\nn1857 = $n1857.args[0];\nl11858 = $n1857.args[1];\nl21859 = $n1857.args[2];\nl31860 = $n1857.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[700],4,$t,false);\n}\nvar n1857 = $n1857;\nvar l11858 = $l11858;\nvar l21859 = $l21859;\nvar l31860 = $l31860;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1861 = R.mC();\n}\nwhile(!R.isContinuation($ans1861)) {\nswitch($step1855) {\ncase 0: // caller optimization;\n$ans1861 = is$empty549.$var.app(l11858);\nvar anf_if1881 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1881)?1:2;\nbreak;\ncase 1: $step1855 = 5;\n$ans1861 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1861 = is$empty549.$var.app(l21859);\nvar anf_if1880 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1880)?3:4;\nbreak;\ncase 3: $step1855 = 5;\n$ans1861 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1861 = is$empty549.$var.app(l31860);\nvar anf_arg1879 = $ans1861;\n$ans1861 = R.checkWrapBoolean(anf_arg1879);\n$step1855 = 5;\nbreak;\ncase 5: var anf_if1878 = $ans1861;\n$step1855 = R.checkPyretTrue(anf_if1878)?6:7;\nbreak;\ncase 6: $step1855 = 10;\n$ans1861 = nothing2;\nbreak;\ncase 7: $al1862 = L[701];\nvar anf_arg1866 = G(l11858,\"first\",L[701]);\n$al1862 = L[702];\nvar anf_arg1871 = G(l21859,\"first\",L[702]);\n$al1862 = L[703];\nvar anf_arg1872 = G(l31860,\"first\",L[703]);\n$step1855 = 8;\n$al1862 = L[708];\nif(typeof(f1846.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1862,f1846);\n}\n$ans1861 = f1846.app(n1857,anf_arg1866,anf_arg1871,anf_arg1872);\nbreak;\ncase 8: $step1855 = 9;\n$al1862 = L[707];\n// omitting isFunction check;\n$ans1861 = _plus5.app(n1857,(1));\nbreak;\ncase 9: var anf_arg1874 = $ans1861;\n$al1862 = L[704];\nvar anf_arg1875 = G(l11858,\"rest\",L[704]);\n$al1862 = L[705];\nvar anf_arg1876 = G(l21859,\"rest\",L[705]);\n$al1862 = L[706];\nvar anf_arg1877 = G(l31860,\"rest\",L[706]);\n$step1855 = 0;\n++$elidedFrames1864;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1861 = R.mC();\n}\nn1857 = anf_arg1874;\nl11858 = anf_arg1875;\nl21859 = anf_arg1876;\nl31860 = anf_arg1877;\ncontinue;\ncase 10: ++R.GAS;\nreturn $ans1861;\ndefault: R.ffi.throwSpinnakerError(L[700],$step1855);\n}\n}\nif($step1855 !== 10) {\n$ans1861.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1862,$temp_lam1856,$step1855,[n1857,l11858,l21859,l31860],[],$elidedFrames1864);\n}\nreturn $ans1861;\n};\nvar anf_assign1883 = R.mF($temp_lam1856,\"help\");\nhelp1873.$var = anf_assign1883;\nR.nothing;\n$step1844 = 6;\n$al1852 = L[710];\n// omitting isFunction check;\n$ans1851 = help1873.$var.app(num1847,lst11848,lst21849,lst31850);\nbreak;\ncase 6: var ann_check_temp1884 = $ans1851;\n$step1844 = 7;\n$al1852 = L[709];\nvar $ann$check1885 = R._cA(L[709],$type$Nothing1,ann_check_temp1884);\nif(R.isContinuation($ann$check1885)) {\n$ans1851 = $ann$check1885;\n}\nbreak;\ncase 7: $step1844 = 8;\n$ans1851 = ann_check_temp1884;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1851;\ndefault: R.ffi.throwSpinnakerError(L[699],$step1844);\n}\n}\nif($step1844 !== 8) {\n$ans1851.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1852,$temp_lam1845,$step1844,[f1846,num1847,lst11848,lst21849,lst31850],[ann_check_temp1884],$elidedFrames1854);\n}\nreturn $ans1851;\n};\nvar anf_assign1887 = R.mF($temp_lam1845,\"each3_n\");\neach3_n1888.$var = anf_assign1887;\nR.nothing;\nvar $temp_lam1890 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__716($f1891,$num1892,$lst11893,$lst21894,$lst31895,$lst41896) {\nvar $step1889 = 0;\nvar $elidedFrames1900 = 0;\nvar $ans1897 = D;\nvar $al1898 = L[716];\nif(R.isAR($f1891)) {\n$step1889 = $f1891.step;\n$al1898 = $f1891.from;\n$ans1897 = $f1891.ans;\n$elidedFrames1900 = $f1891.elidedFrames;\nf1891 = $f1891.args[0];\nnum1892 = $f1891.args[1];\nlst11893 = $f1891.args[2];\nlst21894 = $f1891.args[3];\nlst31895 = $f1891.args[4];\nlst41896 = $f1891.args[5];\nann_check_temp1935 = $f1891.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[716],6,$t,false);\n}\nvar f1891 = $f1891;\nvar num1892 = $num1892;\nvar lst11893 = $lst11893;\nvar lst21894 = $lst21894;\nvar lst31895 = $lst31895;\nvar lst41896 = $lst41896;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1897 = R.mC();\n}\nwhile(!R.isContinuation($ans1897)) {\nswitch($step1889) {\ncase 0: $step1889 = 1;\n$al1898 = L[730];\nR._cA(L[730],R.Function,f1891);\nbreak;\ncase 1: $step1889 = 2;\n$al1898 = L[731];\nR._cA(L[731],$type$Number3,num1892);\nbreak;\ncase 2: $step1889 = 3;\n$al1898 = L[732];\nR._cA(L[732],List50,lst11893);\nbreak;\ncase 3: $step1889 = 4;\n$al1898 = L[733];\nR._cA(L[733],List50,lst21894);\nbreak;\ncase 4: $step1889 = 5;\n$al1898 = L[734];\nR._cA(L[734],List50,lst31895);\nbreak;\ncase 5: $step1889 = 6;\n$al1898 = L[735];\nR._cA(L[735],List50,lst41896);\nbreak;\ncase 6: var help1922 = {\"$var\":D};\nvar $temp_lam1902 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__717($n1903,$l11904,$l21905,$l31906,$l41907) {\nvar $step1901 = 0;\nvar $elidedFrames1911 = 0;\nvar $ans1908 = D;\nvar $al1909 = L[717];\nif(R.isAR($n1903)) {\n$step1901 = $n1903.step;\n$al1909 = $n1903.from;\n$ans1908 = $n1903.ans;\n$elidedFrames1911 = $n1903.elidedFrames;\nn1903 = $n1903.args[0];\nl11904 = $n1903.args[1];\nl21905 = $n1903.args[2];\nl31906 = $n1903.args[3];\nl41907 = $n1903.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[717],5,$t,false);\n}\nvar n1903 = $n1903;\nvar l11904 = $l11904;\nvar l21905 = $l21905;\nvar l31906 = $l31906;\nvar l41907 = $l41907;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1908 = R.mC();\n}\nwhile(!R.isContinuation($ans1908)) {\nswitch($step1901) {\ncase 0: // caller optimization;\n$ans1908 = is$empty549.$var.app(l11904);\nvar anf_if1932 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1932)?1:2;\nbreak;\ncase 1: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1908 = is$empty549.$var.app(l21905);\nvar anf_if1931 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1931)?3:4;\nbreak;\ncase 3: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 4: // caller optimization;\n$ans1908 = is$empty549.$var.app(l31906);\nvar anf_if1930 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1930)?5:6;\nbreak;\ncase 5: $step1901 = 7;\n$ans1908 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans1908 = is$empty549.$var.app(l41907);\nvar anf_arg1929 = $ans1908;\n$ans1908 = R.checkWrapBoolean(anf_arg1929);\n$step1901 = 7;\nbreak;\ncase 7: var anf_if1928 = $ans1908;\n$step1901 = R.checkPyretTrue(anf_if1928)?8:9;\nbreak;\ncase 8: $step1901 = 12;\n$ans1908 = nothing2;\nbreak;\ncase 9: $al1909 = L[718];\nvar anf_arg1912 = G(l11904,\"first\",L[718]);\n$al1909 = L[719];\nvar anf_arg1914 = G(l21905,\"first\",L[719]);\n$al1909 = L[720];\nvar anf_arg1917 = G(l31906,\"first\",L[720]);\n$al1909 = L[721];\nvar anf_arg1921 = G(l41907,\"first\",L[721]);\n$step1901 = 10;\n$al1909 = L[727];\nif(typeof(f1891.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1909,f1891);\n}\n$ans1908 = f1891.app(n1903,anf_arg1912,anf_arg1914,anf_arg1917,anf_arg1921);\nbreak;\ncase 10: $step1901 = 11;\n$al1909 = L[726];\n// omitting isFunction check;\n$ans1908 = _plus5.app(n1903,(1));\nbreak;\ncase 11: var anf_arg1923 = $ans1908;\n$al1909 = L[722];\nvar anf_arg1924 = G(l11904,\"rest\",L[722]);\n$al1909 = L[723];\nvar anf_arg1925 = G(l21905,\"rest\",L[723]);\n$al1909 = L[724];\nvar anf_arg1926 = G(l31906,\"rest\",L[724]);\n$al1909 = L[725];\nvar anf_arg1927 = G(l41907,\"rest\",L[725]);\n$step1901 = 0;\n++$elidedFrames1911;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1908 = R.mC();\n}\nn1903 = anf_arg1923;\nl11904 = anf_arg1924;\nl21905 = anf_arg1925;\nl31906 = anf_arg1926;\nl41907 = anf_arg1927;\ncontinue;\ncase 12: ++R.GAS;\nreturn $ans1908;\ndefault: R.ffi.throwSpinnakerError(L[717],$step1901);\n}\n}\nif($step1901 !== 12) {\n$ans1908.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1909,$temp_lam1902,$step1901,[n1903,l11904,l21905,l31906,l41907],[],$elidedFrames1911);\n}\nreturn $ans1908;\n};\nvar anf_assign1934 = R.mF($temp_lam1902,\"help\");\nhelp1922.$var = anf_assign1934;\nR.nothing;\n$step1889 = 7;\n$al1898 = L[729];\n// omitting isFunction check;\n$ans1897 = help1922.$var.app(num1892,lst11893,lst21894,lst31895,lst41896);\nbreak;\ncase 7: var ann_check_temp1935 = $ans1897;\n$step1889 = 8;\n$al1898 = L[728];\nvar $ann$check1936 = R._cA(L[728],$type$Nothing1,ann_check_temp1935);\nif(R.isContinuation($ann$check1936)) {\n$ans1897 = $ann$check1936;\n}\nbreak;\ncase 8: $step1889 = 9;\n$ans1897 = ann_check_temp1935;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1897;\ndefault: R.ffi.throwSpinnakerError(L[716],$step1889);\n}\n}\nif($step1889 !== 9) {\n$ans1897.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1898,$temp_lam1890,$step1889,[f1891,num1892,lst11893,lst21894,lst31895,lst41896],[ann_check_temp1935],$elidedFrames1900);\n}\nreturn $ans1897;\n};\nvar anf_assign1938 = R.mF($temp_lam1890,\"each4_n\");\neach4_n1939.$var = anf_assign1938;\nR.nothing;\nvar $temp_lam1942 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__736($f1943,$base1944,$lst1945) {\nvar $step1941 = 0;\nvar $elidedFrames1950 = 0;\nvar $ans1947 = D;\nvar $al1948 = L[736];\nif(R.isAR($f1943)) {\n$step1941 = $f1943.step;\n$al1948 = $f1943.from;\n$ans1947 = $f1943.ans;\n$elidedFrames1950 = $f1943.elidedFrames;\nf1943 = $f1943.args[0];\nbase1944 = $f1943.args[1];\nlst1945 = $f1943.args[2];\ncases1951 = $f1943.vars[0];\nann_check_temp1952 = $f1943.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[736],3,$t,false);\n}\nvar f1943 = $f1943;\nvar base1944 = $base1944;\nvar lst1945 = $lst1945;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1947 = R.mC();\n}\nwhile(!R.isContinuation($ans1947)) {\nswitch($step1941) {\ncase 0: $step1941 = 1;\n$al1948 = L[748];\nR._cA(L[748],R.Function,f1943);\nbreak;\ncase 1: $step1941 = 2;\n$al1948 = L[749];\nR._cA(L[749],R.Any,base1944);\nbreak;\ncase 2: $step1941 = 3;\n$al1948 = L[750];\nR._cA(L[750],List50,lst1945);\nbreak;\ncase 3: var cases1951 = lst1945;\n$step1941 = 4;\n$al1948 = L[747];\nvar $ann$check1980 = R._cA(L[747],List50,cases1951);\nif(R.isContinuation($ann$check1980)) {\n$ans1947 = $ann$check1980;\n}\nbreak;\ncase 4: $al1948 = L[739];\n$step1941 = $cases_dispatch1979[cases1951.$name] || 7;\nbreak;\ncase 5: if(cases1951.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[738],false,L[739],cases1951.$loc);\n}\n$step1941 = 8;\n$ans1947 = base1944;\nbreak;\ncase 6: if(cases1951.$arity !== 2) {\nif(cases1951.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[746],2,cases1951.$arity,L[739],cases1951.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[746],true,L[739],cases1951.$loc);\n}\n}\n$step1941 = 8;\n$al1948 = L[746];\nvar $temp_branch1966 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__739($elt1954,$r1958) {\nvar $step1967 = 0;\nvar $elidedFrames1971 = 0;\nvar $ans1968 = D;\nvar $al1969 = L[741];\nif(R.isAR($elt1954)) {\n$step1967 = $elt1954.step;\n$al1969 = $elt1954.from;\n$ans1968 = $elt1954.ans;\n$elidedFrames1971 = $elt1954.elidedFrames;\nelt1954 = $elt1954.args[0];\nr1958 = $elt1954.args[1];\ncases1955 = $elt1954.vars[0];\n} else {\nvar elt1954 = $elt1954;\nvar r1958 = $r1958;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1968 = R.mC();\n}\nwhile(!R.isContinuation($ans1968)) {\nswitch($step1967) {\ncase 0: $step1967 = 1;\n$al1969 = L[744];\nif(typeof(f1943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1969,f1943);\n}\n$ans1968 = f1943.app(base1944,elt1954);\nbreak;\ncase 1: var cases1955 = $ans1968;\n$step1967 = 2;\n$al1969 = L[743];\nvar $ann$check1977 = R._cA(L[743],Either18,cases1955);\nif(R.isContinuation($ann$check1977)) {\n$ans1968 = $ann$check1977;\n}\nbreak;\ncase 2: $al1969 = L[741];\n$step1967 = $cases_dispatch1976[cases1955.$name] || 5;\nbreak;\ncase 3: if(cases1955.$arity !== 1) {\nif(cases1955.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[740],1,cases1955.$arity,L[741],cases1955.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[740],true,L[741],cases1955.$loc);\n}\n}\nvar $fn1973 = cases1955.$constructor.$fieldNames;\nvar v1957 = R.dF(cases1955.dict[$fn1973[0]],cases1955.$mut_fields_mask[0],false);\n$step1967 = 6;\n$al1969 = L[745];\n// omitting isFunction check;\n$ans1968 = fold$while1956.$var.app(f1943,v1957,r1958);\nbreak;\ncase 4: if(cases1955.$arity !== 1) {\nif(cases1955.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[742],1,cases1955.$arity,L[741],cases1955.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[742],true,L[741],cases1955.$loc);\n}\n}\nvar $fn1975 = cases1955.$constructor.$fieldNames;\nvar v1961 = R.dF(cases1955.dict[$fn1975[0]],cases1955.$mut_fields_mask[0],false);\n$step1967 = 6;\n$ans1968 = v1961;\nbreak;\ncase 5: $ans1968 = R.throwNoCasesMatched(L[741],cases1955);\n$step1967 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1968;\ndefault: R.ffi.throwSpinnakerError(L[741],$step1967);\n}\n}\nif($step1967 !== 6) {\n$ans1968.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1969,$temp_branch1966,$step1967,[elt1954,r1958],[cases1955],$elidedFrames1971);\n}\nreturn $ans1968;\n};\n$ans1947 = cases1951.$app_fields($temp_branch1966,[false,false]);\nbreak;\ncase 7: $ans1947 = R.throwNoCasesMatched(L[739],cases1951);\n$step1941 = 8;\nbreak;\ncase 8: var ann_check_temp1952 = $ans1947;\n$step1941 = 9;\n$al1948 = L[737];\nvar $ann$check1953 = R._cA(L[737],R.Any,ann_check_temp1952);\nif(R.isContinuation($ann$check1953)) {\n$ans1947 = $ann$check1953;\n}\nbreak;\ncase 9: $step1941 = 10;\n$ans1947 = ann_check_temp1952;\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1947;\ndefault: R.ffi.throwSpinnakerError(L[736],$step1941);\n}\n}\nif($step1941 !== 10) {\n$ans1947.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1948,$temp_lam1942,$step1941,[f1943,base1944,lst1945],[cases1951,ann_check_temp1952],$elidedFrames1950);\n}\nreturn $ans1947;\n};\nvar anf_assign1982 = R.mF($temp_lam1942,\"fold-while\");\nfold$while1956.$var = anf_assign1982;\nR.nothing;\nvar $temp_lam1984 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__751($f1985,$base1986,$lst1987) {\nvar $step1983 = 0;\nvar $elidedFrames1991 = 0;\nvar $ans1988 = D;\nvar $al1989 = L[751];\nif(R.isAR($f1985)) {\n$step1983 = $f1985.step;\n$al1989 = $f1985.from;\n$ans1988 = $f1985.ans;\n$elidedFrames1991 = $f1985.elidedFrames;\nf1985 = $f1985.args[0];\nbase1986 = $f1985.args[1];\nlst1987 = $f1985.args[2];\nann_check_temp1992 = $f1985.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[751],3,$t,false);\n}\nvar f1985 = $f1985;\nvar base1986 = $base1986;\nvar lst1987 = $lst1987;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1988 = R.mC();\n}\nwhile(!R.isContinuation($ans1988)) {\nswitch($step1983) {\ncase 0: $step1983 = 1;\n$al1989 = L[754];\nR._cA(L[754],R.Function,f1985);\nbreak;\ncase 1: $step1983 = 2;\n$al1989 = L[755];\nR._cA(L[755],R.Any,base1986);\nbreak;\ncase 2: $step1983 = 3;\n$al1989 = L[756];\nR._cA(L[756],List50,lst1987);\nbreak;\ncase 3: $step1983 = 4;\n$ans1988 = R.maybeMethodCall3(builtins1,\"raw-list-fold\",L[752],f1985,base1986,lst1987);\nbreak;\ncase 4: var ann_check_temp1992 = $ans1988;\n$step1983 = 5;\n$al1989 = L[753];\nvar $ann$check1993 = R._cA(L[753],R.Any,ann_check_temp1992);\nif(R.isContinuation($ann$check1993)) {\n$ans1988 = $ann$check1993;\n}\nbreak;\ncase 5: $step1983 = 6;\n$ans1988 = ann_check_temp1992;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1988;\ndefault: R.ffi.throwSpinnakerError(L[751],$step1983);\n}\n}\nif($step1983 !== 6) {\n$ans1988.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1989,$temp_lam1984,$step1983,[f1985,base1986,lst1987],[ann_check_temp1992],$elidedFrames1991);\n}\nreturn $ans1988;\n};\nvar anf_assign1995 = R.mF($temp_lam1984,\"fold\");\nfold927.$var = anf_assign1995;\nR.nothing;\nvar $temp_lam1997 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__757($f1998,$base1999,$lst2000) {\nvar $step1996 = 0;\nvar $elidedFrames2004 = 0;\nvar $ans2001 = D;\nvar $al2002 = L[757];\nif(R.isAR($f1998)) {\n$step1996 = $f1998.step;\n$al2002 = $f1998.from;\n$ans2001 = $f1998.ans;\n$elidedFrames2004 = $f1998.elidedFrames;\nf1998 = $f1998.args[0];\nbase1999 = $f1998.args[1];\nlst2000 = $f1998.args[2];\nann_check_temp2005 = $f1998.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[757],3,$t,false);\n}\nvar f1998 = $f1998;\nvar base1999 = $base1999;\nvar lst2000 = $lst2000;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2001 = R.mC();\n}\nwhile(!R.isContinuation($ans2001)) {\nswitch($step1996) {\ncase 0: $step1996 = 1;\n$al2002 = L[763];\nR._cA(L[763],R.Function,f1998);\nbreak;\ncase 1: $step1996 = 2;\n$al2002 = L[764];\nR._cA(L[764],R.Any,base1999);\nbreak;\ncase 2: $step1996 = 3;\n$al2002 = L[765];\nR._cA(L[765],List50,lst2000);\nbreak;\ncase 3: // caller optimization;\n$ans2001 = is$empty549.$var.app(lst2000);\nvar anf_if2011 = $ans2001;\n$step1996 = R.checkPyretTrue(anf_if2011)?4:5;\nbreak;\ncase 4: $step1996 = 7;\n$ans2001 = base1999;\nbreak;\ncase 5: $al2002 = L[759];\nvar anf_arg2008 = G(lst2000,\"rest\",L[759]);\n$step1996 = 6;\n$al2002 = L[762];\n// omitting isFunction check;\n$ans2001 = foldr2007.$var.app(f1998,base1999,anf_arg2008);\nbreak;\ncase 6: var anf_arg2009 = $ans2001;\n$al2002 = L[760];\nvar anf_arg2010 = G(lst2000,\"first\",L[760]);\n$step1996 = 7;\n$al2002 = L[761];\nif(typeof(f1998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2002,f1998);\n}\n$ans2001 = f1998.app(anf_arg2009,anf_arg2010);\nbreak;\ncase 7: var ann_check_temp2005 = $ans2001;\n$step1996 = 8;\n$al2002 = L[758];\nvar $ann$check2006 = R._cA(L[758],R.Any,ann_check_temp2005);\nif(R.isContinuation($ann$check2006)) {\n$ans2001 = $ann$check2006;\n}\nbreak;\ncase 8: $step1996 = 9;\n$ans2001 = ann_check_temp2005;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2001;\ndefault: R.ffi.throwSpinnakerError(L[757],$step1996);\n}\n}\nif($step1996 !== 9) {\n$ans2001.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2002,$temp_lam1997,$step1996,[f1998,base1999,lst2000],[ann_check_temp2005],$elidedFrames2004);\n}\nreturn $ans2001;\n};\nvar anf_assign2013 = R.mF($temp_lam1997,\"foldr\");\nfoldr2007.$var = anf_assign2013;\nR.nothing;\nvar $temp_lam2015 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__766($f2016,$base2017,$l12018,$l22019) {\nvar $step2014 = 0;\nvar $elidedFrames2023 = 0;\nvar $ans2020 = D;\nvar $al2021 = L[766];\nif(R.isAR($f2016)) {\n$step2014 = $f2016.step;\n$al2021 = $f2016.from;\n$ans2020 = $f2016.ans;\n$elidedFrames2023 = $f2016.elidedFrames;\nf2016 = $f2016.args[0];\nbase2017 = $f2016.args[1];\nl12018 = $f2016.args[2];\nl22019 = $f2016.args[3];\nann_check_temp2024 = $f2016.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[766],4,$t,false);\n}\nvar f2016 = $f2016;\nvar base2017 = $base2017;\nvar l12018 = $l12018;\nvar l22019 = $l22019;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2020 = R.mC();\n}\nwhile(!R.isContinuation($ans2020)) {\nswitch($step2014) {\ncase 0: $step2014 = 1;\n$al2021 = L[773];\nR._cA(L[773],R.Function,f2016);\nbreak;\ncase 1: $step2014 = 2;\n$al2021 = L[774];\nR._cA(L[774],R.Any,base2017);\nbreak;\ncase 2: $step2014 = 3;\n$al2021 = L[775];\nR._cA(L[775],List50,l12018);\nbreak;\ncase 3: $step2014 = 4;\n$al2021 = L[776];\nR._cA(L[776],List50,l22019);\nbreak;\ncase 4: // caller optimization;\n$ans2020 = is$empty549.$var.app(l12018);\nvar anf_if2057 = $ans2020;\n$step2014 = R.checkPyretTrue(anf_if2057)?5:6;\nbreak;\ncase 5: $step2014 = 7;\n$ans2020 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans2020 = is$empty549.$var.app(l22019);\nvar anf_arg2056 = $ans2020;\n$ans2020 = R.checkWrapBoolean(anf_arg2056);\n$step2014 = 7;\nbreak;\ncase 7: var anf_if2055 = $ans2020;\n$step2014 = R.checkPyretTrue(anf_if2055)?8:9;\nbreak;\ncase 8: $step2014 = 11;\n$ans2020 = base2017;\nbreak;\ncase 9: $al2021 = L[768];\nvar anf_arg2028 = G(l12018,\"first\",L[768]);\n$al2021 = L[769];\nvar anf_arg2035 = G(l22019,\"first\",L[769]);\n$step2014 = 10;\n$al2021 = L[772];\nif(typeof(f2016.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2021,f2016);\n}\n$ans2020 = f2016.app(base2017,anf_arg2028,anf_arg2035);\nbreak;\ncase 10: var anf_arg2042 = $ans2020;\n$al2021 = L[770];\nvar anf_arg2049 = G(l12018,\"rest\",L[770]);\n$al2021 = L[771];\nvar anf_arg2053 = G(l22019,\"rest\",L[771]);\n$step2014 = 0;\n++$elidedFrames2023;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2020 = R.mC();\n}\nf2016 = f2016;\nbase2017 = anf_arg2042;\nl12018 = anf_arg2049;\nl22019 = anf_arg2053;\ncontinue;\ncase 11: var ann_check_temp2024 = $ans2020;\n$step2014 = 12;\n$al2021 = L[767];\nvar $ann$check2025 = R._cA(L[767],R.Any,ann_check_temp2024);\nif(R.isContinuation($ann$check2025)) {\n$ans2020 = $ann$check2025;\n}\nbreak;\ncase 12: $step2014 = 13;\n$ans2020 = ann_check_temp2024;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans2020;\ndefault: R.ffi.throwSpinnakerError(L[766],$step2014);\n}\n}\nif($step2014 !== 13) {\n$ans2020.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2021,$temp_lam2015,$step2014,[f2016,base2017,l12018,l22019],[ann_check_temp2024],$elidedFrames2023);\n}\nreturn $ans2020;\n};\nvar anf_assign2059 = R.mF($temp_lam2015,\"fold2\");\nfold22036.$var = anf_assign2059;\nR.nothing;\nvar $temp_lam2061 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__777($f2062,$base2063,$l12064,$l22065,$l32066) {\nvar $step2060 = 0;\nvar $elidedFrames2070 = 0;\nvar $ans2067 = D;\nvar $al2068 = L[777];\nif(R.isAR($f2062)) {\n$step2060 = $f2062.step;\n$al2068 = $f2062.from;\n$ans2067 = $f2062.ans;\n$elidedFrames2070 = $f2062.elidedFrames;\nf2062 = $f2062.args[0];\nbase2063 = $f2062.args[1];\nl12064 = $f2062.args[2];\nl22065 = $f2062.args[3];\nl32066 = $f2062.args[4];\nann_check_temp2071 = $f2062.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[777],5,$t,false);\n}\nvar f2062 = $f2062;\nvar base2063 = $base2063;\nvar l12064 = $l12064;\nvar l22065 = $l22065;\nvar l32066 = $l32066;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2067 = R.mC();\n}\nwhile(!R.isContinuation($ans2067)) {\nswitch($step2060) {\ncase 0: $step2060 = 1;\n$al2068 = L[786];\nR._cA(L[786],R.Function,f2062);\nbreak;\ncase 1: $step2060 = 2;\n$al2068 = L[787];\nR._cA(L[787],R.Any,base2063);\nbreak;\ncase 2: $step2060 = 3;\n$al2068 = L[788];\nR._cA(L[788],List50,l12064);\nbreak;\ncase 3: $step2060 = 4;\n$al2068 = L[789];\nR._cA(L[789],List50,l22065);\nbreak;\ncase 4: $step2060 = 5;\n$al2068 = L[790];\nR._cA(L[790],List50,l32066);\nbreak;\ncase 5: // caller optimization;\n$ans2067 = is$empty549.$var.app(l12064);\nvar anf_if2085 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2085)?6:7;\nbreak;\ncase 6: $step2060 = 10;\n$ans2067 = (true);\nbreak;\ncase 7: // caller optimization;\n$ans2067 = is$empty549.$var.app(l22065);\nvar anf_if2084 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2084)?8:9;\nbreak;\ncase 8: $step2060 = 10;\n$ans2067 = (true);\nbreak;\ncase 9: // caller optimization;\n$ans2067 = is$empty549.$var.app(l32066);\nvar anf_arg2083 = $ans2067;\n$ans2067 = R.checkWrapBoolean(anf_arg2083);\n$step2060 = 10;\nbreak;\ncase 10: var anf_if2082 = $ans2067;\n$step2060 = R.checkPyretTrue(anf_if2082)?11:12;\nbreak;\ncase 11: $step2060 = 14;\n$ans2067 = base2063;\nbreak;\ncase 12: $al2068 = L[779];\nvar anf_arg2074 = G(l12064,\"first\",L[779]);\n$al2068 = L[780];\nvar anf_arg2075 = G(l22065,\"first\",L[780]);\n$al2068 = L[781];\nvar anf_arg2076 = G(l32066,\"first\",L[781]);\n$step2060 = 13;\n$al2068 = L[785];\nif(typeof(f2062.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2068,f2062);\n}\n$ans2067 = f2062.app(base2063,anf_arg2074,anf_arg2075,anf_arg2076);\nbreak;\ncase 13: var anf_arg2078 = $ans2067;\n$al2068 = L[782];\nvar anf_arg2079 = G(l12064,\"rest\",L[782]);\n$al2068 = L[783];\nvar anf_arg2080 = G(l22065,\"rest\",L[783]);\n$al2068 = L[784];\nvar anf_arg2081 = G(l32066,\"rest\",L[784]);\n$step2060 = 0;\n++$elidedFrames2070;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2067 = R.mC();\n}\nf2062 = f2062;\nbase2063 = anf_arg2078;\nl12064 = anf_arg2079;\nl22065 = anf_arg2080;\nl32066 = anf_arg2081;\ncontinue;\ncase 14: var ann_check_temp2071 = $ans2067;\n$step2060 = 15;\n$al2068 = L[778];\nvar $ann$check2072 = R._cA(L[778],R.Any,ann_check_temp2071);\nif(R.isContinuation($ann$check2072)) {\n$ans2067 = $ann$check2072;\n}\nbreak;\ncase 15: $step2060 = 16;\n$ans2067 = ann_check_temp2071;\nbreak;\ncase 16: ++R.GAS;\nreturn $ans2067;\ndefault: R.ffi.throwSpinnakerError(L[777],$step2060);\n}\n}\nif($step2060 !== 16) {\n$ans2067.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2068,$temp_lam2061,$step2060,[f2062,base2063,l12064,l22065,l32066],[ann_check_temp2071],$elidedFrames2070);\n}\nreturn $ans2067;\n};\nvar anf_assign2087 = R.mF($temp_lam2061,\"fold3\");\nfold32077.$var = anf_assign2087;\nR.nothing;\nvar $temp_lam2089 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__791($f2090,$base2091,$l12092,$l22093,$l32094,$l42095) {\nvar $step2088 = 0;\nvar $elidedFrames2099 = 0;\nvar $ans2096 = D;\nvar $al2097 = L[791];\nif(R.isAR($f2090)) {\n$step2088 = $f2090.step;\n$al2097 = $f2090.from;\n$ans2096 = $f2090.ans;\n$elidedFrames2099 = $f2090.elidedFrames;\nf2090 = $f2090.args[0];\nbase2091 = $f2090.args[1];\nl12092 = $f2090.args[2];\nl22093 = $f2090.args[3];\nl32094 = $f2090.args[4];\nl42095 = $f2090.args[5];\nann_check_temp2100 = $f2090.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[791],6,$t,false);\n}\nvar f2090 = $f2090;\nvar base2091 = $base2091;\nvar l12092 = $l12092;\nvar l22093 = $l22093;\nvar l32094 = $l32094;\nvar l42095 = $l42095;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2096 = R.mC();\n}\nwhile(!R.isContinuation($ans2096)) {\nswitch($step2088) {\ncase 0: $step2088 = 1;\n$al2097 = L[802];\nR._cA(L[802],R.Function,f2090);\nbreak;\ncase 1: $step2088 = 2;\n$al2097 = L[803];\nR._cA(L[803],R.Any,base2091);\nbreak;\ncase 2: $step2088 = 3;\n$al2097 = L[804];\nR._cA(L[804],List50,l12092);\nbreak;\ncase 3: $step2088 = 4;\n$al2097 = L[805];\nR._cA(L[805],List50,l22093);\nbreak;\ncase 4: $step2088 = 5;\n$al2097 = L[806];\nR._cA(L[806],List50,l32094);\nbreak;\ncase 5: $step2088 = 6;\n$al2097 = L[807];\nR._cA(L[807],List50,l42095);\nbreak;\ncase 6: // caller optimization;\n$ans2096 = is$empty549.$var.app(l12092);\nvar anf_if2134 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2134)?7:8;\nbreak;\ncase 7: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 8: // caller optimization;\n$ans2096 = is$empty549.$var.app(l22093);\nvar anf_if2133 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2133)?9:10;\nbreak;\ncase 9: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans2096 = is$empty549.$var.app(l32094);\nvar anf_if2132 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2132)?11:12;\nbreak;\ncase 11: $step2088 = 13;\n$ans2096 = (true);\nbreak;\ncase 12: // caller optimization;\n$ans2096 = is$empty549.$var.app(l42095);\nvar anf_arg2131 = $ans2096;\n$ans2096 = R.checkWrapBoolean(anf_arg2131);\n$step2088 = 13;\nbreak;\ncase 13: var anf_if2130 = $ans2096;\n$step2088 = R.checkPyretTrue(anf_if2130)?14:15;\nbreak;\ncase 14: $step2088 = 17;\n$ans2096 = base2091;\nbreak;\ncase 15: $al2097 = L[793];\nvar anf_arg2106 = G(l12092,\"first\",L[793]);\n$al2097 = L[794];\nvar anf_arg2109 = G(l22093,\"first\",L[794]);\n$al2097 = L[795];\nvar anf_arg2112 = G(l32094,\"first\",L[795]);\n$al2097 = L[796];\nvar anf_arg2118 = G(l42095,\"first\",L[796]);\n$step2088 = 16;\n$al2097 = L[801];\nif(typeof(f2090.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2097,f2090);\n}\n$ans2096 = f2090.app(base2091,anf_arg2106,anf_arg2109,anf_arg2112,anf_arg2118);\nbreak;\ncase 16: var anf_arg2123 = $ans2096;\n$al2097 = L[797];\nvar anf_arg2126 = G(l12092,\"rest\",L[797]);\n$al2097 = L[798];\nvar anf_arg2127 = G(l22093,\"rest\",L[798]);\n$al2097 = L[799];\nvar anf_arg2128 = G(l32094,\"rest\",L[799]);\n$al2097 = L[800];\nvar anf_arg2129 = G(l42095,\"rest\",L[800]);\n$step2088 = 0;\n++$elidedFrames2099;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2096 = R.mC();\n}\nf2090 = f2090;\nbase2091 = anf_arg2123;\nl12092 = anf_arg2126;\nl22093 = anf_arg2127;\nl32094 = anf_arg2128;\nl42095 = anf_arg2129;\ncontinue;\ncase 17: var ann_check_temp2100 = $ans2096;\n$step2088 = 18;\n$al2097 = L[792];\nvar $ann$check2101 = R._cA(L[792],R.Any,ann_check_temp2100);\nif(R.isContinuation($ann$check2101)) {\n$ans2096 = $ann$check2101;\n}\nbreak;\ncase 18: $step2088 = 19;\n$ans2096 = ann_check_temp2100;\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2096;\ndefault: R.ffi.throwSpinnakerError(L[791],$step2088);\n}\n}\nif($step2088 !== 19) {\n$ans2096.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2097,$temp_lam2089,$step2088,[f2090,base2091,l12092,l22093,l32094,l42095],[ann_check_temp2100],$elidedFrames2099);\n}\nreturn $ans2096;\n};\nvar anf_assign2136 = R.mF($temp_lam2089,\"fold4\");\nfold42119.$var = anf_assign2136;\nR.nothing;\nvar $temp_lam2138 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__808($f2139,$num2140,$base2141,$lst2142) {\nvar $step2137 = 0;\nvar $elidedFrames2146 = 0;\nvar $ans2143 = D;\nvar $al2144 = L[808];\nif(R.isAR($f2139)) {\n$step2137 = $f2139.step;\n$al2144 = $f2139.from;\n$ans2143 = $f2139.ans;\n$elidedFrames2146 = $f2139.elidedFrames;\nf2139 = $f2139.args[0];\nnum2140 = $f2139.args[1];\nbase2141 = $f2139.args[2];\nlst2142 = $f2139.args[3];\nann_check_temp2162 = $f2139.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[808],4,$t,false);\n}\nvar f2139 = $f2139;\nvar num2140 = $num2140;\nvar base2141 = $base2141;\nvar lst2142 = $lst2142;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2143 = R.mC();\n}\nwhile(!R.isContinuation($ans2143)) {\nswitch($step2137) {\ncase 0: $step2137 = 1;\n$al2144 = L[816];\nR._cA(L[816],R.Function,f2139);\nbreak;\ncase 1: $step2137 = 2;\n$al2144 = L[817];\nR._cA(L[817],$type$Number3,num2140);\nbreak;\ncase 2: $step2137 = 3;\n$al2144 = L[818];\nR._cA(L[818],R.Any,base2141);\nbreak;\ncase 3: $step2137 = 4;\n$al2144 = L[819];\nR._cA(L[819],List50,lst2142);\nbreak;\ncase 4: var help2156 = {\"$var\":D};\nvar $temp_lam2148 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__809($n2149,$acc2150,$partial$list2151) {\nvar $step2147 = 0;\nvar $elidedFrames2155 = 0;\nvar $ans2152 = D;\nvar $al2153 = L[809];\nif(R.isAR($n2149)) {\n$step2147 = $n2149.step;\n$al2153 = $n2149.from;\n$ans2152 = $n2149.ans;\n$elidedFrames2155 = $n2149.elidedFrames;\nn2149 = $n2149.args[0];\nacc2150 = $n2149.args[1];\npartial$list2151 = $n2149.args[2];\nanf_arg52 = $n2149.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[809],3,$t,false);\n}\nvar n2149 = $n2149;\nvar acc2150 = $acc2150;\nvar partial$list2151 = $partial$list2151;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2152 = R.mC();\n}\nwhile(!R.isContinuation($ans2152)) {\nswitch($step2147) {\ncase 0: // caller optimization;\n$ans2152 = is$empty549.$var.app(partial$list2151);\nvar anf_if2159 = $ans2152;\n$step2147 = R.checkPyretTrue(anf_if2159)?1:2;\nbreak;\ncase 1: $step2147 = 5;\n$ans2152 = acc2150;\nbreak;\ncase 2: $step2147 = 3;\n$al2153 = L[813];\n// omitting isFunction check;\n$ans2152 = _plus5.app(n2149,(1));\nbreak;\ncase 3: var anf_arg52 = $ans2152;\n$al2153 = L[810];\nvar anf_arg54 = G(partial$list2151,\"first\",L[810]);\n$step2147 = 4;\n$al2153 = L[812];\nif(typeof(f2139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2153,f2139);\n}\n$ans2152 = f2139.app(n2149,acc2150,anf_arg54);\nbreak;\ncase 4: var anf_arg55 = $ans2152;\n$al2153 = L[811];\nvar anf_arg2158 = G(partial$list2151,\"rest\",L[811]);\n$step2147 = 0;\n++$elidedFrames2155;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2152 = R.mC();\n}\nn2149 = anf_arg52;\nacc2150 = anf_arg55;\npartial$list2151 = anf_arg2158;\ncontinue;\ncase 5: ++R.GAS;\nreturn $ans2152;\ndefault: R.ffi.throwSpinnakerError(L[809],$step2147);\n}\n}\nif($step2147 !== 5) {\n$ans2152.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2153,$temp_lam2148,$step2147,[n2149,acc2150,partial$list2151],[anf_arg52],$elidedFrames2155);\n}\nreturn $ans2152;\n};\nvar anf_assign2161 = R.mF($temp_lam2148,\"help\");\nhelp2156.$var = anf_assign2161;\nR.nothing;\n$step2137 = 5;\n$al2144 = L[815];\n// omitting isFunction check;\n$ans2143 = help2156.$var.app(num2140,base2141,lst2142);\nbreak;\ncase 5: var ann_check_temp2162 = $ans2143;\n$step2137 = 6;\n$al2144 = L[814];\nvar $ann$check2163 = R._cA(L[814],R.Any,ann_check_temp2162);\nif(R.isContinuation($ann$check2163)) {\n$ans2143 = $ann$check2163;\n}\nbreak;\ncase 6: $step2137 = 7;\n$ans2143 = ann_check_temp2162;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2143;\ndefault: R.ffi.throwSpinnakerError(L[808],$step2137);\n}\n}\nif($step2137 !== 7) {\n$ans2143.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2144,$temp_lam2138,$step2137,[f2139,num2140,base2141,lst2142],[ann_check_temp2162],$elidedFrames2146);\n}\nreturn $ans2143;\n};\nvar anf_assign2165 = R.mF($temp_lam2138,\"fold_n\");\nfold_n2166.$var = anf_assign2165;\nR.nothing;\nvar $temp_lam2168 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__820($lst2169,$elt2170,$eq2171) {\nvar $step2167 = 0;\nvar $elidedFrames2175 = 0;\nvar $ans2172 = D;\nvar $al2173 = L[820];\nif(R.isAR($lst2169)) {\n$step2167 = $lst2169.step;\n$al2173 = $lst2169.from;\n$ans2172 = $lst2169.ans;\n$elidedFrames2175 = $lst2169.elidedFrames;\nlst2169 = $lst2169.args[0];\nelt2170 = $lst2169.args[1];\neq2171 = $lst2169.args[2];\nr2180 = $lst2169.vars[0];\nfirst$elt$equal2177 = $lst2169.vars[1];\ncases2178 = $lst2169.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[820],3,$t,false);\n}\nvar lst2169 = $lst2169;\nvar elt2170 = $elt2170;\nvar eq2171 = $eq2171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2172 = R.mC();\n}\nwhile(!R.isContinuation($ans2172)) {\nswitch($step2167) {\ncase 0: $step2167 = 1;\n$al2173 = L[831];\nR._cA(L[831],List50,lst2169);\nbreak;\ncase 1: $step2167 = 2;\n$al2173 = L[832];\nR._cA(L[832],R.Any,elt2170);\nbreak;\ncase 2: $step2167 = 3;\n$al2173 = L[833];\nR._cA(L[833],R.Function,eq2171);\nbreak;\ncase 3: // caller optimization;\n$ans2172 = is$empty549.$var.app(lst2169);\nvar anf_if2185 = $ans2172;\n$step2167 = R.checkPyretTrue(anf_if2185)?4:5;\nbreak;\ncase 4: $step2167 = 13;\n$al2173 = L[821];\nif(typeof(equality22.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,equality22.dict.values.dict[\"NotEqual\"]);\n}\n$ans2172 = equality22.dict.values.dict[\"NotEqual\"].app((\"list\"),elt2170,lst2169);\nbreak;\ncase 5: // caller optimization;\n$ans2172 = is$link712.$var.app(lst2169);\nvar anf_if2184 = $ans2172;\n$step2167 = R.checkPyretTrue(anf_if2184)?6:12;\nbreak;\ncase 6: $al2173 = L[822];\nvar f2176 = G(lst2169,\"first\",L[822]);\n$al2173 = L[823];\nvar r2180 = G(lst2169,\"rest\",L[823]);\n$step2167 = 7;\n$al2173 = L[829];\nif(typeof(eq2171.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,eq2171);\n}\n$ans2172 = eq2171.app(f2176,elt2170);\nbreak;\ncase 7: var first$elt$equal2177 = $ans2172;\nvar cases2178 = first$elt$equal2177;\n$step2167 = 8;\n$al2173 = L[828];\nvar $ann$check2183 = R._cA(L[828],R.gDA(L[828],\"equality\",equality22.dict.types,\"EqualityResult\"),cases2178);\nif(R.isContinuation($ann$check2183)) {\n$ans2172 = $ann$check2183;\n}\nbreak;\ncase 8: $al2173 = L[825];\n$step2167 = $cases_dispatch2182[cases2178.$name] || 10;\nbreak;\ncase 9: if(cases2178.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[824],false,L[825],cases2178.$loc);\n}\n$step2167 = 13;\n$ans2172 = equality22.dict.values.dict[\"Equal\"];\nbreak;\ncase 10: $step2167 = 11;\n$al2173 = L[827];\n// omitting isFunction check;\n$ans2172 = member$with2179.$var.app(r2180,elt2170,eq2171);\nbreak;\ncase 11: var anf_arg2181 = $ans2172;\n$step2167 = 13;\n$al2173 = L[826];\nif(typeof(equality22.dict.values.dict[\"equal-or\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2173,equality22.dict.values.dict[\"equal-or\"]);\n}\n$ans2172 = equality22.dict.values.dict[\"equal-or\"].app(first$elt$equal2177,anf_arg2181);\nbreak;\ncase 12: $ans2172 = R.throwNoBranchesMatched(L[830],(\"ask\"));\n$step2167 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans2172;\ndefault: R.ffi.throwSpinnakerError(L[820],$step2167);\n}\n}\nif($step2167 !== 13) {\n$ans2172.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2173,$temp_lam2168,$step2167,[lst2169,elt2170,eq2171],[r2180,first$elt$equal2177,cases2178],$elidedFrames2175);\n}\nreturn $ans2172;\n};\nvar anf_assign2187 = R.mF($temp_lam2168,\"member-with\");\nmember$with2179.$var = anf_assign2187;\nR.nothing;\nvar $temp_lam2189 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__834($lst2190,$elt2191) {\nvar $step2188 = 0;\nvar $elidedFrames2195 = 0;\nvar $ans2192 = D;\nvar $al2193 = L[834];\nif(R.isAR($lst2190)) {\n$step2188 = $lst2190.step;\n$al2193 = $lst2190.from;\n$ans2192 = $lst2190.ans;\n$elidedFrames2195 = $lst2190.elidedFrames;\nlst2190 = $lst2190.args[0];\nelt2191 = $lst2190.args[1];\nann_check_temp2196 = $lst2190.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[834],2,$t,false);\n}\nvar lst2190 = $lst2190;\nvar elt2191 = $elt2191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2192 = R.mC();\n}\nwhile(!R.isContinuation($ans2192)) {\nswitch($step2188) {\ncase 0: $step2188 = 1;\n$al2193 = L[837];\nR._cA(L[837],List50,lst2190);\nbreak;\ncase 1: $step2188 = 2;\n$al2193 = L[838];\nR._cA(L[838],R.Any,elt2191);\nbreak;\ncase 2: $step2188 = 3;\n$al2193 = L[836];\n// omitting isFunction check;\n$ans2192 = member$with2179.$var.app(lst2190,elt2191,equal$always37);\nbreak;\ncase 3: var ann_check_temp2196 = $ans2192;\n$step2188 = 4;\n$al2193 = L[835];\nvar $ann$check2197 = R._cA(L[835],R.gDA(L[835],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2196);\nif(R.isContinuation($ann$check2197)) {\n$ans2192 = $ann$check2197;\n}\nbreak;\ncase 4: $step2188 = 5;\n$ans2192 = ann_check_temp2196;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2192;\ndefault: R.ffi.throwSpinnakerError(L[834],$step2188);\n}\n}\nif($step2188 !== 5) {\n$ans2192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2193,$temp_lam2189,$step2188,[lst2190,elt2191],[ann_check_temp2196],$elidedFrames2195);\n}\nreturn $ans2192;\n};\nvar anf_assign2199 = R.mF($temp_lam2189,\"member3\");\nmember32200.$var = anf_assign2199;\nR.nothing;\nvar $temp_lam2202 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__839($lst2203,$elt2204) {\nvar $step2201 = 0;\nvar $elidedFrames2208 = 0;\nvar $ans2205 = D;\nvar $al2206 = L[839];\nif(R.isAR($lst2203)) {\n$step2201 = $lst2203.step;\n$al2206 = $lst2203.from;\n$ans2205 = $lst2203.ans;\n$elidedFrames2208 = $lst2203.elidedFrames;\nlst2203 = $lst2203.args[0];\nelt2204 = $lst2203.args[1];\nann_check_temp2209 = $lst2203.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[839],2,$t,false);\n}\nvar lst2203 = $lst2203;\nvar elt2204 = $elt2204;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2205 = R.mC();\n}\nwhile(!R.isContinuation($ans2205)) {\nswitch($step2201) {\ncase 0: $step2201 = 1;\n$al2206 = L[843];\nR._cA(L[843],List50,lst2203);\nbreak;\ncase 1: $step2201 = 2;\n$al2206 = L[844];\nR._cA(L[844],R.Any,elt2204);\nbreak;\ncase 2: $step2201 = 3;\n$al2206 = L[842];\n// omitting isFunction check;\n$ans2205 = member32200.$var.app(lst2203,elt2204);\nbreak;\ncase 3: var anf_arg92 = $ans2205;\n$step2201 = 4;\n$al2206 = L[841];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2206,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2205 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg92);\nbreak;\ncase 4: var ann_check_temp2209 = $ans2205;\n$step2201 = 5;\n$al2206 = L[840];\nvar $ann$check2210 = R._cA(L[840],$type$Boolean6,ann_check_temp2209);\nif(R.isContinuation($ann$check2210)) {\n$ans2205 = $ann$check2210;\n}\nbreak;\ncase 5: $step2201 = 6;\n$ans2205 = ann_check_temp2209;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2205;\ndefault: R.ffi.throwSpinnakerError(L[839],$step2201);\n}\n}\nif($step2201 !== 6) {\n$ans2205.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2206,$temp_lam2202,$step2201,[lst2203,elt2204],[ann_check_temp2209],$elidedFrames2208);\n}\nreturn $ans2205;\n};\nvar anf_assign2212 = R.mF($temp_lam2202,\"member\");\nmember2213.$var = anf_assign2212;\nR.nothing;\nvar $temp_lam2215 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__845($lst2216,$elt2217) {\nvar $step2214 = 0;\nvar $elidedFrames2221 = 0;\nvar $ans2218 = D;\nvar $al2219 = L[845];\nif(R.isAR($lst2216)) {\n$step2214 = $lst2216.step;\n$al2219 = $lst2216.from;\n$ans2218 = $lst2216.ans;\n$elidedFrames2221 = $lst2216.elidedFrames;\nlst2216 = $lst2216.args[0];\nelt2217 = $lst2216.args[1];\nann_check_temp2222 = $lst2216.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[845],2,$t,false);\n}\nvar lst2216 = $lst2216;\nvar elt2217 = $elt2217;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2218 = R.mC();\n}\nwhile(!R.isContinuation($ans2218)) {\nswitch($step2214) {\ncase 0: $step2214 = 1;\n$al2219 = L[848];\nR._cA(L[848],List50,lst2216);\nbreak;\ncase 1: $step2214 = 2;\n$al2219 = L[849];\nR._cA(L[849],R.Any,elt2217);\nbreak;\ncase 2: $step2214 = 3;\n$al2219 = L[847];\n// omitting isFunction check;\n$ans2218 = member$with2179.$var.app(lst2216,elt2217,equal$now312);\nbreak;\ncase 3: var ann_check_temp2222 = $ans2218;\n$step2214 = 4;\n$al2219 = L[846];\nvar $ann$check2223 = R._cA(L[846],R.gDA(L[846],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2222);\nif(R.isContinuation($ann$check2223)) {\n$ans2218 = $ann$check2223;\n}\nbreak;\ncase 4: $step2214 = 5;\n$ans2218 = ann_check_temp2222;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2218;\ndefault: R.ffi.throwSpinnakerError(L[845],$step2214);\n}\n}\nif($step2214 !== 5) {\n$ans2218.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2219,$temp_lam2215,$step2214,[lst2216,elt2217],[ann_check_temp2222],$elidedFrames2221);\n}\nreturn $ans2218;\n};\nvar anf_assign2225 = R.mF($temp_lam2215,\"member-now3\");\nmember$now32226.$var = anf_assign2225;\nR.nothing;\nvar $temp_lam2228 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__850($lst2229,$elt2230) {\nvar $step2227 = 0;\nvar $elidedFrames2234 = 0;\nvar $ans2231 = D;\nvar $al2232 = L[850];\nif(R.isAR($lst2229)) {\n$step2227 = $lst2229.step;\n$al2232 = $lst2229.from;\n$ans2231 = $lst2229.ans;\n$elidedFrames2234 = $lst2229.elidedFrames;\nlst2229 = $lst2229.args[0];\nelt2230 = $lst2229.args[1];\nann_check_temp2235 = $lst2229.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[850],2,$t,false);\n}\nvar lst2229 = $lst2229;\nvar elt2230 = $elt2230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2231 = R.mC();\n}\nwhile(!R.isContinuation($ans2231)) {\nswitch($step2227) {\ncase 0: $step2227 = 1;\n$al2232 = L[854];\nR._cA(L[854],List50,lst2229);\nbreak;\ncase 1: $step2227 = 2;\n$al2232 = L[855];\nR._cA(L[855],R.Any,elt2230);\nbreak;\ncase 2: $step2227 = 3;\n$al2232 = L[853];\n// omitting isFunction check;\n$ans2231 = member$now32226.$var.app(lst2229,elt2230);\nbreak;\ncase 3: var anf_arg96 = $ans2231;\n$step2227 = 4;\n$al2232 = L[852];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2232,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2231 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg96);\nbreak;\ncase 4: var ann_check_temp2235 = $ans2231;\n$step2227 = 5;\n$al2232 = L[851];\nvar $ann$check2236 = R._cA(L[851],$type$Boolean6,ann_check_temp2235);\nif(R.isContinuation($ann$check2236)) {\n$ans2231 = $ann$check2236;\n}\nbreak;\ncase 5: $step2227 = 6;\n$ans2231 = ann_check_temp2235;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2231;\ndefault: R.ffi.throwSpinnakerError(L[850],$step2227);\n}\n}\nif($step2227 !== 6) {\n$ans2231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2232,$temp_lam2228,$step2227,[lst2229,elt2230],[ann_check_temp2235],$elidedFrames2234);\n}\nreturn $ans2231;\n};\nvar anf_assign2238 = R.mF($temp_lam2228,\"member-now\");\nmember$now2239.$var = anf_assign2238;\nR.nothing;\nvar $temp_lam2241 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__856($lst2242,$elt2243) {\nvar $step2240 = 0;\nvar $elidedFrames2247 = 0;\nvar $ans2244 = D;\nvar $al2245 = L[856];\nif(R.isAR($lst2242)) {\n$step2240 = $lst2242.step;\n$al2245 = $lst2242.from;\n$ans2244 = $lst2242.ans;\n$elidedFrames2247 = $lst2242.elidedFrames;\nlst2242 = $lst2242.args[0];\nelt2243 = $lst2242.args[1];\nann_check_temp2248 = $lst2242.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[856],2,$t,false);\n}\nvar lst2242 = $lst2242;\nvar elt2243 = $elt2243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2244 = R.mC();\n}\nwhile(!R.isContinuation($ans2244)) {\nswitch($step2240) {\ncase 0: $step2240 = 1;\n$al2245 = L[859];\nR._cA(L[859],List50,lst2242);\nbreak;\ncase 1: $step2240 = 2;\n$al2245 = L[860];\nR._cA(L[860],R.Any,elt2243);\nbreak;\ncase 2: $step2240 = 3;\n$al2245 = L[858];\n// omitting isFunction check;\n$ans2244 = member$with2179.$var.app(lst2242,elt2243,identical316);\nbreak;\ncase 3: var ann_check_temp2248 = $ans2244;\n$step2240 = 4;\n$al2245 = L[857];\nvar $ann$check2249 = R._cA(L[857],R.gDA(L[857],\"equality\",equality22.dict.types,\"EqualityResult\"),ann_check_temp2248);\nif(R.isContinuation($ann$check2249)) {\n$ans2244 = $ann$check2249;\n}\nbreak;\ncase 4: $step2240 = 5;\n$ans2244 = ann_check_temp2248;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2244;\ndefault: R.ffi.throwSpinnakerError(L[856],$step2240);\n}\n}\nif($step2240 !== 5) {\n$ans2244.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2245,$temp_lam2241,$step2240,[lst2242,elt2243],[ann_check_temp2248],$elidedFrames2247);\n}\nreturn $ans2244;\n};\nvar anf_assign2251 = R.mF($temp_lam2241,\"member-identical3\");\nmember$identical32252.$var = anf_assign2251;\nR.nothing;\nvar $temp_lam2254 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__861($lst2255,$elt2256) {\nvar $step2253 = 0;\nvar $elidedFrames2260 = 0;\nvar $ans2257 = D;\nvar $al2258 = L[861];\nif(R.isAR($lst2255)) {\n$step2253 = $lst2255.step;\n$al2258 = $lst2255.from;\n$ans2257 = $lst2255.ans;\n$elidedFrames2260 = $lst2255.elidedFrames;\nlst2255 = $lst2255.args[0];\nelt2256 = $lst2255.args[1];\nann_check_temp2262 = $lst2255.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[861],2,$t,false);\n}\nvar lst2255 = $lst2255;\nvar elt2256 = $elt2256;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2257 = R.mC();\n}\nwhile(!R.isContinuation($ans2257)) {\nswitch($step2253) {\ncase 0: $step2253 = 1;\n$al2258 = L[865];\nR._cA(L[865],List50,lst2255);\nbreak;\ncase 1: $step2253 = 2;\n$al2258 = L[866];\nR._cA(L[866],R.Any,elt2256);\nbreak;\ncase 2: $step2253 = 3;\n$al2258 = L[864];\n// omitting isFunction check;\n$ans2257 = member$identical32252.$var.app(lst2255,elt2256);\nbreak;\ncase 3: var anf_arg2261 = $ans2257;\n$step2253 = 4;\n$al2258 = L[863];\nif(typeof(equality22.dict.values.dict[\"to-boolean\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2258,equality22.dict.values.dict[\"to-boolean\"]);\n}\n$ans2257 = equality22.dict.values.dict[\"to-boolean\"].app(anf_arg2261);\nbreak;\ncase 4: var ann_check_temp2262 = $ans2257;\n$step2253 = 5;\n$al2258 = L[862];\nvar $ann$check2263 = R._cA(L[862],$type$Boolean6,ann_check_temp2262);\nif(R.isContinuation($ann$check2263)) {\n$ans2257 = $ann$check2263;\n}\nbreak;\ncase 5: $step2253 = 6;\n$ans2257 = ann_check_temp2262;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2257;\ndefault: R.ffi.throwSpinnakerError(L[861],$step2253);\n}\n}\nif($step2253 !== 6) {\n$ans2257.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2258,$temp_lam2254,$step2253,[lst2255,elt2256],[ann_check_temp2262],$elidedFrames2260);\n}\nreturn $ans2257;\n};\nvar anf_assign2265 = R.mF($temp_lam2254,\"member-identical\");\nmember$identical2266.$var = anf_assign2265;\nR.nothing;\nvar $temp_lam2268 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__867($lst2269) {\nvar $step2267 = 0;\nvar $elidedFrames2273 = 0;\nvar $ans2270 = D;\nvar $al2271 = L[867];\nif(R.isAR($lst2269)) {\n$step2267 = $lst2269.step;\n$al2271 = $lst2269.from;\n$ans2270 = $lst2269.ans;\n$elidedFrames2273 = $lst2269.elidedFrames;\nlst2269 = $lst2269.args[0];\nann_check_temp2274 = $lst2269.vars[0];\nanf_arg142 = $lst2269.vars[1];\nanf_arg138 = $lst2269.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[867],1,$t,false);\n}\nvar lst2269 = $lst2269;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2270 = R.mC();\n}\nwhile(!R.isContinuation($ans2270)) {\nswitch($step2267) {\ncase 0: $step2267 = 1;\n$al2271 = L[874];\nR._cA(L[874],List50,lst2269);\nbreak;\ncase 1: // caller optimization;\n$ans2270 = is$empty549.$var.app(lst2269);\nvar anf_if2297 = $ans2270;\n$step2267 = R.checkPyretTrue(anf_if2297)?2:3;\nbreak;\ncase 2: $step2267 = 6;\n$ans2270 = empty266.$var;\nbreak;\ncase 3: var $temp_lam2277 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__869($i2278,$arr2279,$e2280) {\nvar $step2276 = 0;\nvar $elidedFrames2284 = 0;\nvar $ans2281 = D;\nvar $al2282 = L[869];\nif(R.isAR($i2278)) {\n$step2276 = $i2278.step;\n$al2282 = $i2278.from;\n$ans2281 = $i2278.ans;\n$elidedFrames2284 = $i2278.elidedFrames;\ni2278 = $i2278.args[0];\narr2279 = $i2278.args[1];\ne2280 = $i2278.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[869],3,$t,false);\n}\nvar i2278 = $i2278;\nvar arr2279 = $arr2279;\nvar e2280 = $e2280;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2281 = R.mC();\n}\nwhile(!R.isContinuation($ans2281)) {\nswitch($step2276) {\ncase 0: $step2276 = 1;\n$al2282 = L[870];\n// omitting isFunction check;\n$ans2281 = _plus5.app(i2278,(1));\nbreak;\ncase 1: var anf_arg137 = $ans2281;\n// caller optimization;\n$ans2281 = random3.app(anf_arg137);\nvar ix2285 = $ans2281;\n// caller optimization;\n$ans2281 = raw$array$get14.app(arr2279,ix2285);\nvar anf_arg141 = $ans2281;\n// caller optimization;\n$ans2281 = raw$array$set5.app(arr2279,i2278,anf_arg141);\n// caller optimization;\n$ans2281 = raw$array$set5.app(arr2279,ix2285,e2280);\n$step2276 = 2;\n$ans2281 = arr2279;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2281;\ndefault: R.ffi.throwSpinnakerError(L[869],$step2276);\n}\n}\nif($step2276 !== 2) {\n$ans2281.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2282,$temp_lam2277,$step2276,[i2278,arr2279,e2280],[],$elidedFrames2284);\n}\nreturn $ans2281;\n};\nvar anf_arg138 = R.mF($temp_lam2277,\"for-body\");\n$al2271 = L[871];\nvar anf_arg142 = G(lst2269,\"first\",L[871]);\n$step2267 = 4;\n$ans2270 = R.maybeMethodCall0(lst2269,\"length\",L[872]);\nbreak;\ncase 4: var anf_arg2291 = $ans2270;\n// caller optimization;\n$ans2270 = raw$array$of8.app(anf_arg142,anf_arg2291);\nvar anf_arg2295 = $ans2270;\n$al2271 = L[873];\nvar anf_arg154 = G(lst2269,\"rest\",L[873]);\n$step2267 = 5;\n$al2271 = L[869];\n// omitting isFunction check;\n$ans2270 = fold_n2166.$var.app(anf_arg138,(1),anf_arg2295,anf_arg154);\nbreak;\ncase 5: var elts2296 = $ans2270;\n// caller optimization;\n$ans2270 = raw$array$to$list4.app(elts2296);\n$step2267 = 6;\nbreak;\ncase 6: var ann_check_temp2274 = $ans2270;\n$step2267 = 7;\n$al2271 = L[868];\nvar $ann$check2275 = R._cA(L[868],List50,ann_check_temp2274);\nif(R.isContinuation($ann$check2275)) {\n$ans2270 = $ann$check2275;\n}\nbreak;\ncase 7: $step2267 = 8;\n$ans2270 = ann_check_temp2274;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2270;\ndefault: R.ffi.throwSpinnakerError(L[867],$step2267);\n}\n}\nif($step2267 !== 8) {\n$ans2270.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2271,$temp_lam2268,$step2267,[lst2269],[ann_check_temp2274,anf_arg142,anf_arg138],$elidedFrames2273);\n}\nreturn $ans2270;\n};\nvar anf_assign157 = R.mF($temp_lam2268,\"shuffle\");\nshuffle2299.$var = anf_assign157;\nR.nothing;\nvar $temp_lam2301 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__875($f2302,$lst2303) {\nvar $step2300 = 0;\nvar $elidedFrames2307 = 0;\nvar $ans2304 = D;\nvar $al2305 = L[875];\nif(R.isAR($f2302)) {\n$step2300 = $f2302.step;\n$al2305 = $f2302.from;\n$ans2304 = $f2302.ans;\n$elidedFrames2307 = $f2302.elidedFrames;\nf2302 = $f2302.args[0];\nlst2303 = $f2302.args[1];\ncases2308 = $f2302.vars[0];\nann_check_temp2309 = $f2302.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[875],2,$t,false);\n}\nvar f2302 = $f2302;\nvar lst2303 = $lst2303;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2304 = R.mC();\n}\nwhile(!R.isContinuation($ans2304)) {\nswitch($step2300) {\ncase 0: $step2300 = 1;\n$al2305 = L[888];\nR._cA(L[888],R.Function,f2302);\nbreak;\ncase 1: $step2300 = 2;\n$al2305 = L[889];\nR._cA(L[889],List50,lst2303);\nbreak;\ncase 2: var cases2308 = lst2303;\n$step2300 = 3;\n$al2305 = L[887];\nvar $ann$check2334 = R._cA(L[887],List50,cases2308);\nif(R.isContinuation($ann$check2334)) {\n$ans2304 = $ann$check2334;\n}\nbreak;\ncase 3: $al2305 = L[878];\n$step2300 = $cases_dispatch2333[cases2308.$name] || 6;\nbreak;\ncase 4: if(cases2308.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[877],false,L[878],cases2308.$loc);\n}\n$step2300 = 7;\n$ans2304 = empty266.$var;\nbreak;\ncase 5: if(cases2308.$arity !== 2) {\nif(cases2308.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[886],2,cases2308.$arity,L[878],cases2308.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[886],true,L[878],cases2308.$loc);\n}\n}\n$step2300 = 7;\n$al2305 = L[886];\nvar $temp_branch2322 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__878($first2311,$rest2314) {\nvar $step2323 = 0;\nvar $elidedFrames2327 = 0;\nvar $ans2324 = D;\nvar $al2325 = L[880];\nif(R.isAR($first2311)) {\n$step2323 = $first2311.step;\n$al2325 = $first2311.from;\n$ans2324 = $first2311.ans;\n$elidedFrames2327 = $first2311.elidedFrames;\nfirst2311 = $first2311.args[0];\nrest2314 = $first2311.args[1];\ncases2312 = $first2311.vars[0];\nv2315 = $first2311.vars[1];\n} else {\nvar first2311 = $first2311;\nvar rest2314 = $rest2314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2324 = R.mC();\n}\nwhile(!R.isContinuation($ans2324)) {\nswitch($step2323) {\ncase 0: $step2323 = 1;\n$al2325 = L[884];\nif(typeof(f2302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2325,f2302);\n}\n$ans2324 = f2302.app(first2311);\nbreak;\ncase 1: var cases2312 = $ans2324;\n$step2323 = 2;\n$al2325 = L[883];\nvar $ann$check2331 = R._cA(L[883],Option17,cases2312);\nif(R.isContinuation($ann$check2331)) {\n$ans2324 = $ann$check2331;\n}\nbreak;\ncase 2: $al2325 = L[880];\n$step2323 = $cases_dispatch2330[cases2312.$name] || 6;\nbreak;\ncase 3: if(cases2312.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[879],false,L[880],cases2312.$loc);\n}\n$step2323 = 7;\n$al2325 = L[885];\n// omitting isFunction check;\n$ans2324 = filter$map2313.$var.app(f2302,rest2314);\nbreak;\ncase 4: if(cases2312.$arity !== 1) {\nif(cases2312.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[882],1,cases2312.$arity,L[880],cases2312.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[882],true,L[880],cases2312.$loc);\n}\n}\nvar $fn2329 = cases2312.$constructor.$fieldNames;\nvar v2315 = R.dF(cases2312.dict[$fn2329[0]],cases2312.$mut_fields_mask[0],false);\n$step2323 = 5;\n$al2325 = L[881];\n// omitting isFunction check;\n$ans2324 = filter$map2313.$var.app(f2302,rest2314);\nbreak;\ncase 5: var anf_arg2316 = $ans2324;\n// caller optimization;\n$ans2324 = link124.$var.app(v2315,anf_arg2316);\n$step2323 = 7;\nbreak;\ncase 6: $ans2324 = R.throwNoCasesMatched(L[880],cases2312);\n$step2323 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2324;\ndefault: R.ffi.throwSpinnakerError(L[880],$step2323);\n}\n}\nif($step2323 !== 7) {\n$ans2324.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2325,$temp_branch2322,$step2323,[first2311,rest2314],[cases2312,v2315],$elidedFrames2327);\n}\nreturn $ans2324;\n};\n$ans2304 = cases2308.$app_fields($temp_branch2322,[false,false]);\nbreak;\ncase 6: $ans2304 = R.throwNoCasesMatched(L[878],cases2308);\n$step2300 = 7;\nbreak;\ncase 7: var ann_check_temp2309 = $ans2304;\n$step2300 = 8;\n$al2305 = L[876];\nvar $ann$check2310 = R._cA(L[876],List50,ann_check_temp2309);\nif(R.isContinuation($ann$check2310)) {\n$ans2304 = $ann$check2310;\n}\nbreak;\ncase 8: $step2300 = 9;\n$ans2304 = ann_check_temp2309;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2304;\ndefault: R.ffi.throwSpinnakerError(L[875],$step2300);\n}\n}\nif($step2300 !== 9) {\n$ans2304.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2305,$temp_lam2301,$step2300,[f2302,lst2303],[cases2308,ann_check_temp2309],$elidedFrames2307);\n}\nreturn $ans2304;\n};\nvar anf_assign192 = R.mF($temp_lam2301,\"filter-map\");\nfilter$map2313.$var = anf_assign192;\nR.nothing;\nvar $temp_lam2337 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__890($lst2338) {\nvar $step2336 = 0;\nvar $elidedFrames2342 = 0;\nvar $ans2339 = D;\nvar $al2340 = L[890];\nif(R.isAR($lst2338)) {\n$step2336 = $lst2338.step;\n$al2340 = $lst2338.from;\n$ans2339 = $lst2338.ans;\n$elidedFrames2342 = $lst2338.elidedFrames;\nlst2338 = $lst2338.args[0];\ncases2343 = $lst2338.vars[0];\nann_check_temp2344 = $lst2338.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[890],1,$t,false);\n}\nvar lst2338 = $lst2338;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2339 = R.mC();\n}\nwhile(!R.isContinuation($ans2339)) {\nswitch($step2336) {\ncase 0: $step2336 = 1;\n$al2340 = L[902];\nR._cA(L[902],List50,lst2338);\nbreak;\ncase 1: var cases2343 = lst2338;\n$step2336 = 2;\n$al2340 = L[901];\nvar $ann$check2370 = R._cA(L[901],List50,cases2343);\nif(R.isContinuation($ann$check2370)) {\n$ans2339 = $ann$check2370;\n}\nbreak;\ncase 2: $al2340 = L[893];\n$step2336 = $cases_dispatch2369[cases2343.$name] || 5;\nbreak;\ncase 3: if(cases2343.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[892],false,L[893],cases2343.$loc);\n}\n$step2336 = 6;\n$ans2339 = empty266.$var;\nbreak;\ncase 4: if(cases2343.$arity !== 2) {\nif(cases2343.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[900],2,cases2343.$arity,L[893],cases2343.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[900],true,L[893],cases2343.$loc);\n}\n}\n$step2336 = 6;\n$al2340 = L[900];\nvar $temp_branch2358 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__893($first2346,$rest2349) {\nvar $step2359 = 0;\nvar $elidedFrames2363 = 0;\nvar $ans2360 = D;\nvar $al2361 = L[895];\nif(R.isAR($first2346)) {\n$step2359 = $first2346.step;\n$al2361 = $first2346.from;\n$ans2360 = $first2346.ans;\n$elidedFrames2363 = $first2346.elidedFrames;\nfirst2346 = $first2346.args[0];\nrest2349 = $first2346.args[1];\ncases2347 = $first2346.vars[0];\nv2350 = $first2346.vars[1];\n} else {\nvar first2346 = $first2346;\nvar rest2349 = $rest2349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2360 = R.mC();\n}\nwhile(!R.isContinuation($ans2360)) {\nswitch($step2359) {\ncase 0: var cases2347 = first2346;\n$step2359 = 1;\n$al2361 = L[898];\nvar $ann$check2367 = R._cA(L[898],Option17,cases2347);\nif(R.isContinuation($ann$check2367)) {\n$ans2360 = $ann$check2367;\n}\nbreak;\ncase 1: $al2361 = L[895];\n$step2359 = $cases_dispatch2366[cases2347.$name] || 5;\nbreak;\ncase 2: if(cases2347.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[894],false,L[895],cases2347.$loc);\n}\n$step2359 = 6;\n$al2361 = L[899];\n// omitting isFunction check;\n$ans2360 = filter$values2348.$var.app(rest2349);\nbreak;\ncase 3: if(cases2347.$arity !== 1) {\nif(cases2347.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[897],1,cases2347.$arity,L[895],cases2347.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[897],true,L[895],cases2347.$loc);\n}\n}\nvar $fn2365 = cases2347.$constructor.$fieldNames;\nvar v2350 = R.dF(cases2347.dict[$fn2365[0]],cases2347.$mut_fields_mask[0],false);\n$step2359 = 4;\n$al2361 = L[896];\n// omitting isFunction check;\n$ans2360 = filter$values2348.$var.app(rest2349);\nbreak;\ncase 4: var anf_arg2353 = $ans2360;\n// caller optimization;\n$ans2360 = link124.$var.app(v2350,anf_arg2353);\n$step2359 = 6;\nbreak;\ncase 5: $ans2360 = R.throwNoCasesMatched(L[895],cases2347);\n$step2359 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2360;\ndefault: R.ffi.throwSpinnakerError(L[895],$step2359);\n}\n}\nif($step2359 !== 6) {\n$ans2360.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2361,$temp_branch2358,$step2359,[first2346,rest2349],[cases2347,v2350],$elidedFrames2363);\n}\nreturn $ans2360;\n};\n$ans2339 = cases2343.$app_fields($temp_branch2358,[false,false]);\nbreak;\ncase 5: $ans2339 = R.throwNoCasesMatched(L[893],cases2343);\n$step2336 = 6;\nbreak;\ncase 6: var ann_check_temp2344 = $ans2339;\n$step2336 = 7;\n$al2340 = L[891];\nvar $ann$check2345 = R._cA(L[891],List50,ann_check_temp2344);\nif(R.isContinuation($ann$check2345)) {\n$ans2339 = $ann$check2345;\n}\nbreak;\ncase 7: $step2336 = 8;\n$ans2339 = ann_check_temp2344;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2339;\ndefault: R.ffi.throwSpinnakerError(L[890],$step2336);\n}\n}\nif($step2336 !== 8) {\n$ans2339.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2340,$temp_lam2337,$step2336,[lst2338],[cases2343,ann_check_temp2344],$elidedFrames2342);\n}\nreturn $ans2339;\n};\nvar anf_assign2372 = R.mF($temp_lam2337,\"filter-values\");\nfilter$values2348.$var = anf_assign2372;\nR.nothing;\nvar $temp_lam2374 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__903($l2375) {\nvar $step2373 = 0;\nvar $elidedFrames2379 = 0;\nvar $ans2376 = D;\nvar $al2377 = L[903];\nif(R.isAR($l2375)) {\n$step2373 = $l2375.step;\n$al2377 = $l2375.from;\n$ans2376 = $l2375.ans;\n$elidedFrames2379 = $l2375.elidedFrames;\nl2375 = $l2375.args[0];\ncases2380 = $l2375.vars[0];\nann_check_temp2381 = $l2375.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[903],1,$t,false);\n}\nvar l2375 = $l2375;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2376 = R.mC();\n}\nwhile(!R.isContinuation($ans2376)) {\nswitch($step2373) {\ncase 0: $step2373 = 1;\n$al2377 = L[918];\nR._cA(L[918],List50,l2375);\nbreak;\ncase 1: var cases2380 = l2375;\n$step2373 = 2;\n$al2377 = L[917];\nvar $ann$check2413 = R._cA(L[917],List50,cases2380);\nif(R.isContinuation($ann$check2413)) {\n$ans2376 = $ann$check2413;\n}\nbreak;\ncase 2: $al2377 = L[906];\n$step2373 = $cases_dispatch2412[cases2380.$name] || 5;\nbreak;\ncase 3: if(cases2380.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[905],false,L[906],cases2380.$loc);\n}\n$step2373 = 6;\n$ans2376 = empty266.$var;\nbreak;\ncase 4: if(cases2380.$arity !== 2) {\nif(cases2380.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[916],2,cases2380.$arity,L[906],cases2380.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[916],true,L[906],cases2380.$loc);\n}\n}\n$step2373 = 6;\n$al2377 = L[916];\nvar $temp_branch2399 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__906($first2384,$rest2383) {\nvar $step2400 = 0;\nvar $elidedFrames2404 = 0;\nvar $ans2401 = D;\nvar $al2402 = L[909];\nif(R.isAR($first2384)) {\n$step2400 = $first2384.step;\n$al2402 = $first2384.from;\n$ans2401 = $first2384.ans;\n$elidedFrames2404 = $first2384.elidedFrames;\nfirst2384 = $first2384.args[0];\nrest2383 = $first2384.args[1];\ncases2385 = $first2384.vars[0];\n} else {\nvar first2384 = $first2384;\nvar rest2383 = $rest2383;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2401 = R.mC();\n}\nwhile(!R.isContinuation($ans2401)) {\nswitch($step2400) {\ncase 0: $step2400 = 1;\n$al2402 = L[914];\n// omitting isFunction check;\n$ans2401 = member32200.$var.app(rest2383,first2384);\nbreak;\ncase 1: var cases2385 = $ans2401;\n$step2400 = 2;\n$al2402 = L[913];\nvar $ann$check2410 = R._cA(L[913],R.gDA(L[913],\"equality\",equality22.dict.types,\"EqualityResult\"),cases2385);\nif(R.isContinuation($ann$check2410)) {\n$ans2401 = $ann$check2410;\n}\nbreak;\ncase 2: $al2402 = L[909];\n$step2400 = $cases_dispatch2409[cases2385.$name] || 8;\nbreak;\ncase 3: if(cases2385.$arity !== 3) {\nif(cases2385.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[908],3,cases2385.$arity,L[909],cases2385.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[908],true,L[909],cases2385.$loc);\n}\n}\nvar $fn2406 = cases2385.$constructor.$fieldNames;\nR.dF(cases2385.dict[$fn2406[0]],cases2385.$mut_fields_mask[0],false);\nR.dF(cases2385.dict[$fn2406[1]],cases2385.$mut_fields_mask[1],false);\nR.dF(cases2385.dict[$fn2406[2]],cases2385.$mut_fields_mask[2],false);\n$step2400 = 4;\n$al2402 = L[907];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 4: var anf_arg231 = $ans2401;\n// caller optimization;\n$ans2401 = link124.$var.app(first2384,anf_arg231);\n$step2400 = 9;\nbreak;\ncase 5: if(cases2385.$arity !== 3) {\nif(cases2385.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[911],3,cases2385.$arity,L[909],cases2385.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[911],true,L[909],cases2385.$loc);\n}\n}\nvar $fn2408 = cases2385.$constructor.$fieldNames;\nR.dF(cases2385.dict[$fn2408[0]],cases2385.$mut_fields_mask[0],false);\nR.dF(cases2385.dict[$fn2408[1]],cases2385.$mut_fields_mask[1],false);\nR.dF(cases2385.dict[$fn2408[2]],cases2385.$mut_fields_mask[2],false);\n$step2400 = 6;\n$al2402 = L[910];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 6: var anf_arg252 = $ans2401;\n// caller optimization;\n$ans2401 = link124.$var.app(first2384,anf_arg252);\n$step2400 = 9;\nbreak;\ncase 7: if(cases2385.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[912],false,L[909],cases2385.$loc);\n}\n$step2400 = 9;\n$al2402 = L[915];\n// omitting isFunction check;\n$ans2401 = distinct2386.$var.app(rest2383);\nbreak;\ncase 8: $ans2401 = R.throwNoCasesMatched(L[909],cases2385);\n$step2400 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2401;\ndefault: R.ffi.throwSpinnakerError(L[909],$step2400);\n}\n}\nif($step2400 !== 9) {\n$ans2401.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2402,$temp_branch2399,$step2400,[first2384,rest2383],[cases2385],$elidedFrames2404);\n}\nreturn $ans2401;\n};\n$ans2376 = cases2380.$app_fields($temp_branch2399,[false,false]);\nbreak;\ncase 5: $ans2376 = R.throwNoCasesMatched(L[906],cases2380);\n$step2373 = 6;\nbreak;\ncase 6: var ann_check_temp2381 = $ans2376;\n$step2373 = 7;\n$al2377 = L[904];\nvar $ann$check2382 = R._cA(L[904],List50,ann_check_temp2381);\nif(R.isContinuation($ann$check2382)) {\n$ans2376 = $ann$check2382;\n}\nbreak;\ncase 7: $step2373 = 8;\n$ans2376 = ann_check_temp2381;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2376;\ndefault: R.ffi.throwSpinnakerError(L[903],$step2373);\n}\n}\nif($step2373 !== 8) {\n$ans2376.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2377,$temp_lam2374,$step2373,[l2375],[cases2380,ann_check_temp2381],$elidedFrames2379);\n}\nreturn $ans2376;\n};\nvar anf_assign2415 = R.mF($temp_lam2374,\"distinct\");\ndistinct2386.$var = anf_assign2415;\nR.nothing;\nvar $temp_lam2417 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__919($pred2418,$lst2419) {\nvar $step2416 = 0;\nvar $elidedFrames2423 = 0;\nvar $ans2420 = D;\nvar $al2421 = L[919];\nif(R.isAR($pred2418)) {\n$step2416 = $pred2418.step;\n$al2421 = $pred2418.from;\n$ans2420 = $pred2418.ans;\n$elidedFrames2423 = $pred2418.elidedFrames;\npred2418 = $pred2418.args[0];\nlst2419 = $pred2418.args[1];\ntail2435 = $pred2418.vars[0];\nann_check_temp2444 = $pred2418.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[919],2,$t,false);\n}\nvar pred2418 = $pred2418;\nvar lst2419 = $lst2419;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2420 = R.mC();\n}\nwhile(!R.isContinuation($ans2420)) {\nswitch($step2416) {\ncase 0: $step2416 = 1;\n$al2421 = L[931];\nR._cA(L[931],R.Function,pred2418);\nbreak;\ncase 1: $step2416 = 2;\n$al2421 = L[932];\nR._cA(L[932],List50,lst2419);\nbreak;\ncase 2: var tail2435 = {\"$var\":empty266.$var};\nvar help2433 = {\"$var\":D};\nvar $temp_lam2425 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__920($l2426) {\nvar $step2424 = 0;\nvar $elidedFrames2430 = 0;\nvar $ans2427 = D;\nvar $al2428 = L[920];\nif(R.isAR($l2426)) {\n$step2424 = $l2426.step;\n$al2428 = $l2426.from;\n$ans2427 = $l2426.ans;\n$elidedFrames2430 = $l2426.elidedFrames;\nl2426 = $l2426.args[0];\ncases2431 = $l2426.vars[0];\nfirst2432 = $l2426.vars[1];\nrest2434 = $l2426.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[920],1,$t,false);\n}\nvar l2426 = $l2426;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2427 = R.mC();\n}\nwhile(!R.isContinuation($ans2427)) {\nswitch($step2424) {\ncase 0: var cases2431 = l2426;\n$step2424 = 1;\n$al2428 = L[926];\nvar $ann$check2440 = R._cA(L[926],List50,cases2431);\nif(R.isContinuation($ann$check2440)) {\n$ans2427 = $ann$check2440;\n}\nbreak;\ncase 1: $al2428 = L[922];\n$step2424 = $cases_dispatch2439[cases2431.$name] || 8;\nbreak;\ncase 2: if(cases2431.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[921],false,L[922],cases2431.$loc);\n}\n$step2424 = 9;\n$ans2427 = empty266.$var;\nbreak;\ncase 3: if(cases2431.$arity !== 2) {\nif(cases2431.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[925],2,cases2431.$arity,L[922],cases2431.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[925],true,L[922],cases2431.$loc);\n}\n}\nvar $fn2438 = cases2431.$constructor.$fieldNames;\nvar first2432 = R.dF(cases2431.dict[$fn2438[0]],cases2431.$mut_fields_mask[0],false);\nvar rest2434 = R.dF(cases2431.dict[$fn2438[1]],cases2431.$mut_fields_mask[1],false);\n$step2424 = 4;\n$al2428 = L[924];\nif(typeof(pred2418.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2428,pred2418);\n}\n$ans2427 = pred2418.app(first2432);\nbreak;\ncase 4: var anf_if2436 = $ans2427;\n$step2424 = R.checkPyretTrue(anf_if2436)?5:7;\nbreak;\ncase 5: $step2424 = 6;\n$al2428 = L[923];\n// omitting isFunction check;\n$ans2427 = help2433.$var.app(rest2434);\nbreak;\ncase 6: var anf_arg266 = $ans2427;\n// caller optimization;\n$ans2427 = link124.$var.app(first2432,anf_arg266);\n$step2424 = 9;\nbreak;\ncase 7: tail2435.$var = l2426;\nR.nothing;\n$step2424 = 9;\n$ans2427 = empty266.$var;\nbreak;\ncase 8: $ans2427 = R.throwNoCasesMatched(L[922],cases2431);\n$step2424 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2427;\ndefault: R.ffi.throwSpinnakerError(L[920],$step2424);\n}\n}\nif($step2424 !== 9) {\n$ans2427.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2428,$temp_lam2425,$step2424,[l2426],[cases2431,first2432,rest2434],$elidedFrames2430);\n}\nreturn $ans2427;\n};\nvar anf_assign2442 = R.mF($temp_lam2425,\"help\");\nhelp2433.$var = anf_assign2442;\nR.nothing;\n$step2416 = 3;\n$al2421 = L[930];\n// omitting isFunction check;\n$ans2420 = help2433.$var.app(lst2419);\nbreak;\ncase 3: var anf_tuple_fields278 = $ans2420;\nvar anf_tuple_fields2443 = tail2435.$var;\nvar ann_check_temp2444 = R.makeTuple([anf_tuple_fields278,anf_tuple_fields2443]);\n$step2416 = 4;\n$al2421 = L[929];\nvar $ann$check2445 = R._cA(L[929],R.mTA([L[927],L[928]],[List50,List50]),ann_check_temp2444);\nif(R.isContinuation($ann$check2445)) {\n$ans2420 = $ann$check2445;\n}\nbreak;\ncase 4: $step2416 = 5;\n$ans2420 = ann_check_temp2444;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2420;\ndefault: R.ffi.throwSpinnakerError(L[919],$step2416);\n}\n}\nif($step2416 !== 5) {\n$ans2420.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2421,$temp_lam2417,$step2416,[pred2418,lst2419],[tail2435,ann_check_temp2444],$elidedFrames2423);\n}\nreturn $ans2420;\n};\nvar anf_assign2447 = R.mF($temp_lam2417,\"take-while\");\ntake$while2448.$var = anf_assign2447;\nR.nothing;\nvar $temp_lam2450 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__933($l2451,$sep2452) {\nvar $step2449 = 0;\nvar $elidedFrames2456 = 0;\nvar $ans2453 = D;\nvar $al2454 = L[933];\nif(R.isAR($l2451)) {\n$step2449 = $l2451.step;\n$al2454 = $l2451.from;\n$ans2453 = $l2451.ans;\n$elidedFrames2456 = $l2451.elidedFrames;\nl2451 = $l2451.args[0];\nsep2452 = $l2451.args[1];\nann_check_temp2457 = $l2451.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[933],2,$t,false);\n}\nvar l2451 = $l2451;\nvar sep2452 = $sep2452;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2453 = R.mC();\n}\nwhile(!R.isContinuation($ans2453)) {\nswitch($step2449) {\ncase 0: $step2449 = 1;\n$al2454 = L[936];\nR._cA(L[936],List50,l2451);\nbreak;\ncase 1: $step2449 = 2;\n$al2454 = L[937];\nR._cA(L[937],$type$String8,sep2452);\nbreak;\ncase 2: $step2449 = 3;\n$ans2453 = R.maybeMethodCall3(builtins1,\"raw-list-join-str-last\",L[934],l2451,sep2452,sep2452);\nbreak;\ncase 3: var ann_check_temp2457 = $ans2453;\n$step2449 = 4;\n$al2454 = L[935];\nvar $ann$check2458 = R._cA(L[935],$type$String8,ann_check_temp2457);\nif(R.isContinuation($ann$check2458)) {\n$ans2453 = $ann$check2458;\n}\nbreak;\ncase 4: $step2449 = 5;\n$ans2453 = ann_check_temp2457;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2453;\ndefault: R.ffi.throwSpinnakerError(L[933],$step2449);\n}\n}\nif($step2449 !== 5) {\n$ans2453.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2454,$temp_lam2450,$step2449,[l2451,sep2452],[ann_check_temp2457],$elidedFrames2456);\n}\nreturn $ans2453;\n};\nvar anf_assign2461 = R.mF($temp_lam2450,\"join-str\");\njoin$str218.$var = anf_assign2461;\nR.nothing;\nvar $temp_lam2463 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__938($l2464,$sep2465,$last$sep2466) {\nvar $step2462 = 0;\nvar $elidedFrames2470 = 0;\nvar $ans2467 = D;\nvar $al2468 = L[938];\nif(R.isAR($l2464)) {\n$step2462 = $l2464.step;\n$al2468 = $l2464.from;\n$ans2467 = $l2464.ans;\n$elidedFrames2470 = $l2464.elidedFrames;\nl2464 = $l2464.args[0];\nsep2465 = $l2464.args[1];\nlast$sep2466 = $l2464.args[2];\nann_check_temp2471 = $l2464.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[938],3,$t,false);\n}\nvar l2464 = $l2464;\nvar sep2465 = $sep2465;\nvar last$sep2466 = $last$sep2466;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2467 = R.mC();\n}\nwhile(!R.isContinuation($ans2467)) {\nswitch($step2462) {\ncase 0: $step2462 = 1;\n$al2468 = L[941];\nR._cA(L[941],List50,l2464);\nbreak;\ncase 1: $step2462 = 2;\n$al2468 = L[942];\nR._cA(L[942],$type$String8,sep2465);\nbreak;\ncase 2: $step2462 = 3;\n$al2468 = L[943];\nR._cA(L[943],$type$String8,last$sep2466);\nbreak;\ncase 3: $step2462 = 4;\n$ans2467 = R.maybeMethodCall3(builtins1,\"raw-list-join-str-last\",L[939],l2464,sep2465,last$sep2466);\nbreak;\ncase 4: var ann_check_temp2471 = $ans2467;\n$step2462 = 5;\n$al2468 = L[940];\nvar $ann$check2472 = R._cA(L[940],$type$String8,ann_check_temp2471);\nif(R.isContinuation($ann$check2472)) {\n$ans2467 = $ann$check2472;\n}\nbreak;\ncase 5: $step2462 = 6;\n$ans2467 = ann_check_temp2471;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2467;\ndefault: R.ffi.throwSpinnakerError(L[938],$step2462);\n}\n}\nif($step2462 !== 6) {\n$ans2467.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2468,$temp_lam2463,$step2462,[l2464,sep2465,last$sep2466],[ann_check_temp2471],$elidedFrames2470);\n}\nreturn $ans2467;\n};\nvar anf_assign299 = R.mF($temp_lam2463,\"join-str-last\");\njoin$str$last232.$var = anf_assign299;\nR.nothing;\nvar member$always32561 = member32200.$var;\nvar member$always2559 = member2213.$var;\nvar foldl2560 = fold927.$var;\nvar $temp_lam2475 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__944($$resumer13) {\nvar $step2474 = 0;\nvar $elidedFrames2479 = 0;\nvar $ans2476 = D;\nvar $al2477 = L[944];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[944],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2476)) {\nswitch($step2474) {\ncase 0: $step2474 = 1;\n$ans2476 = empty266.$var;\nbreak;\ncase 1: return $ans2476;\ndefault: R.ffi.throwSpinnakerError(L[944],$step2474);\n}\n}\nreturn $ans2476;\n};\nvar anf_obj2552 = R.mF($temp_lam2475,\"\");\nvar $temp_lam2482 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__945($a2483) {\nvar $step2481 = 0;\nvar $elidedFrames2487 = 0;\nvar $ans2484 = D;\nvar $al2485 = L[945];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[945],1,$t,false);\n}\nvar a2483 = $a2483;\n// callee optimization;\nwhile(!R.isContinuation($ans2484)) {\nswitch($step2481) {\ncase 0: // caller optimization;\n$ans2484 = link124.$var.app(a2483,empty266.$var);\n$step2481 = 1;\nbreak;\ncase 1: return $ans2484;\ndefault: R.ffi.throwSpinnakerError(L[945],$step2481);\n}\n}\nreturn $ans2484;\n};\nvar anf_obj2553 = R.mF($temp_lam2482,\"\");\nvar $temp_lam2490 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__946($a2491,$b2492) {\nvar $step2489 = 0;\nvar $elidedFrames2496 = 0;\nvar $ans2493 = D;\nvar $al2494 = L[946];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[946],2,$t,false);\n}\nvar a2491 = $a2491;\nvar b2492 = $b2492;\n// callee optimization;\nwhile(!R.isContinuation($ans2493)) {\nswitch($step2489) {\ncase 0: // caller optimization;\n$ans2493 = link124.$var.app(b2492,empty266.$var);\nvar anf_arg2501 = $ans2493;\n// caller optimization;\n$ans2493 = link124.$var.app(a2491,anf_arg2501);\n$step2489 = 1;\nbreak;\ncase 1: return $ans2493;\ndefault: R.ffi.throwSpinnakerError(L[946],$step2489);\n}\n}\nreturn $ans2493;\n};\nvar anf_obj2554 = R.mF($temp_lam2490,\"\");\nvar $temp_lam2504 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__947($a2505,$b2506,$c2507) {\nvar $step2503 = 0;\nvar $elidedFrames2511 = 0;\nvar $ans2508 = D;\nvar $al2509 = L[947];\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[947],3,$t,false);\n}\nvar a2505 = $a2505;\nvar b2506 = $b2506;\nvar c2507 = $c2507;\n// callee optimization;\nwhile(!R.isContinuation($ans2508)) {\nswitch($step2503) {\ncase 0: // caller optimization;\n$ans2508 = link124.$var.app(c2507,empty266.$var);\nvar anf_arg340 = $ans2508;\n// caller optimization;\n$ans2508 = link124.$var.app(b2506,anf_arg340);\nvar anf_arg2512 = $ans2508;\n// caller optimization;\n$ans2508 = link124.$var.app(a2505,anf_arg2512);\n$step2503 = 1;\nbreak;\ncase 1: return $ans2508;\ndefault: R.ffi.throwSpinnakerError(L[947],$step2503);\n}\n}\nreturn $ans2508;\n};\nvar anf_obj2555 = R.mF($temp_lam2504,\"\");\nvar $temp_lam2516 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__948($a2517,$b2518,$c2519,$d2520) {\nvar $step2515 = 0;\nvar $elidedFrames2524 = 0;\nvar $ans2521 = D;\nvar $al2522 = L[948];\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[948],4,$t,false);\n}\nvar a2517 = $a2517;\nvar b2518 = $b2518;\nvar c2519 = $c2519;\nvar d2520 = $d2520;\n// callee optimization;\nwhile(!R.isContinuation($ans2521)) {\nswitch($step2515) {\ncase 0: // caller optimization;\n$ans2521 = link124.$var.app(d2520,empty266.$var);\nvar anf_arg2525 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(c2519,anf_arg2525);\nvar anf_arg355 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(b2518,anf_arg355);\nvar anf_arg2526 = $ans2521;\n// caller optimization;\n$ans2521 = link124.$var.app(a2517,anf_arg2526);\n$step2515 = 1;\nbreak;\ncase 1: return $ans2521;\ndefault: R.ffi.throwSpinnakerError(L[948],$step2515);\n}\n}\nreturn $ans2521;\n};\nvar anf_obj2556 = R.mF($temp_lam2516,\"\");\nvar $temp_lam2529 = function _848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b__949($a2530,$b2531,$c2532,$d2533,$e2534) {\nvar $step2528 = 0;\nvar $elidedFrames2538 = 0;\nvar $ans2535 = D;\nvar $al2536 = L[949];\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[949],5,$t,false);\n}\nvar a2530 = $a2530;\nvar b2531 = $b2531;\nvar c2532 = $c2532;\nvar d2533 = $d2533;\nvar e2534 = $e2534;\n// callee optimization;\nwhile(!R.isContinuation($ans2535)) {\nswitch($step2528) {\ncase 0: // caller optimization;\n$ans2535 = link124.$var.app(e2534,empty266.$var);\nvar anf_arg2539 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(d2533,anf_arg2539);\nvar anf_arg2542 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(c2532,anf_arg2542);\nvar anf_arg2548 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(b2531,anf_arg2548);\nvar anf_arg2550 = $ans2535;\n// caller optimization;\n$ans2535 = link124.$var.app(a2530,anf_arg2550);\n$step2528 = 1;\nbreak;\ncase 1: return $ans2535;\ndefault: R.ffi.throwSpinnakerError(L[949],$step2528);\n}\n}\nreturn $ans2535;\n};\nvar anf_obj2557 = R.mF($temp_lam2529,\"\");\nvar list2562 = R.mO({\"make\":raw$array$to$list4,\n\"make0\":anf_obj2552,\n\"make1\":anf_obj2553,\n\"make2\":anf_obj2554,\n\"make3\":anf_obj2555,\n\"make4\":anf_obj2556,\n\"make5\":anf_obj2557});\n$step29 = 1;\n$ans33 = R.maybeMethodCall2(builtins1,\"trace-value\",L[950],L[950],nothing2);\nbreak;\ncase 1: var answer2563 = $ans33;\n$step29 = 2;\n$ans33 = R.maybeMethodCall0(builtins1,\"current-checker\",L[258]);\nbreak;\ncase 2: var anf_method_obj2558 = $ans33;\n$step29 = 3;\n$ans33 = R.maybeMethodCall0(anf_method_obj2558,\"results\",L[258]);\nbreak;\ncase 3: var checks2564 = $ans33;\n$step29 = 4;\n$ans33 = R.mO({\"answer\":answer2563,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"equality\":equality22,\n\"VS\":VS10},\n\"defined-values\":{\"each2_n\":each2_n1843.$var,\n\"fold\":fold927.$var,\n\"all\":all1335.$var,\n\"each3_n\":each3_n1888.$var,\n\"each\":each98.$var,\n\"is-List\":is$List708.$var,\n\"set\":set191.$var,\n\"member-always\":member$always2559,\n\"member-identical\":member$identical2266.$var,\n\"each4_n\":each4_n1939.$var,\n\"reverse\":reverse111.$var,\n\"member-now\":member$now2239.$var,\n\"remove\":remove205.$var,\n\"map2_n\":map2_n1543.$var,\n\"longer-than\":longer$than788.$var,\n\"fold-while\":fold$while1956.$var,\n\"shorter-than\":shorter$than823.$var,\n\"map3_n\":map3_n1585.$var,\n\"length\":length746.$var,\n\"sort-by\":sort$by1006.$var,\n\"split-at\":split$at137.$var,\n\"map4_n\":map4_n1620.$var,\n\"take\":take1288.$var,\n\"filter-map\":filter$map2313.$var,\n\"range-by\":range$by1100.$var,\n\"partition\":partition404.$var,\n\"is-empty\":is$empty549.$var,\n\"foldl\":foldl2560,\n\"map_n\":map_n1518.$var,\n\"take-while\":take$while2448.$var,\n\"any\":any1314.$var,\n\"empty\":empty266.$var,\n\"same-length\":same$length762.$var,\n\"join-str\":join$str218.$var,\n\"drop\":drop1302.$var,\n\"each_n\":each_n1807.$var,\n\"member-now3\":member$now32226.$var,\n\"fold_n\":fold_n2166.$var,\n\"fold2\":fold22036.$var,\n\"foldr\":foldr2007.$var,\n\"each2\":each21700.$var,\n\"all2\":all21384.$var,\n\"member-identical3\":member$identical32252.$var,\n\"member-always3\":member$always32561,\n\"fold3\":fold32077.$var,\n\"each3\":each31737.$var,\n\"fold4\":fold42119.$var,\n\"each4\":each41778.$var,\n\"join-str-last\":join$str$last232.$var,\n\"map2\":map21415.$var,\n\"last\":last992.$var,\n\"get\":get177.$var,\n\"filter-values\":filter$values2348.$var,\n\"map3\":map31446.$var,\n\"map4\":map41491.$var,\n\"filter\":filter85.$var,\n\"member-with\":member$with2179.$var,\n\"member3\":member32200.$var,\n\"find\":find417.$var,\n\"shuffle\":shuffle2299.$var,\n\"member\":member2213.$var,\n\"push\":push961.$var,\n\"append\":append1139.$var,\n\"link\":link124.$var,\n\"repeat\":repeat1115.$var,\n\"map\":map71.$var,\n\"distinct\":distinct2386.$var,\n\"range\":range1056.$var,\n\"is-link\":is$link712.$var,\n\"list\":list2562,\n\"sort\":sort1018.$var},\n\"defined-types\":{\"List\":List50},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"each2_n\":each2_n1843.$var,\n\"fold\":fold927.$var,\n\"all\":all1335.$var,\n\"each3_n\":each3_n1888.$var,\n\"each\":each98.$var,\n\"is-List\":is$List708.$var,\n\"set\":set191.$var,\n\"member-always\":member$always2559,\n\"member-identical\":member$identical2266.$var,\n\"each4_n\":each4_n1939.$var,\n\"reverse\":reverse111.$var,\n\"member-now\":member$now2239.$var,\n\"remove\":remove205.$var,\n\"map2_n\":map2_n1543.$var,\n\"longer-than\":longer$than788.$var,\n\"fold-while\":fold$while1956.$var,\n\"shorter-than\":shorter$than823.$var,\n\"map3_n\":map3_n1585.$var,\n\"length\":length746.$var,\n\"sort-by\":sort$by1006.$var,\n\"split-at\":split$at137.$var,\n\"map4_n\":map4_n1620.$var,\n\"take\":take1288.$var,\n\"filter-map\":filter$map2313.$var,\n\"range-by\":range$by1100.$var,\n\"partition\":partition404.$var,\n\"is-empty\":is$empty549.$var,\n\"foldl\":foldl2560,\n\"map_n\":map_n1518.$var,\n\"take-while\":take$while2448.$var,\n\"any\":any1314.$var,\n\"empty\":empty266.$var,\n\"same-length\":same$length762.$var,\n\"join-str\":join$str218.$var,\n\"drop\":drop1302.$var,\n\"each_n\":each_n1807.$var,\n\"member-now3\":member$now32226.$var,\n\"fold_n\":fold_n2166.$var,\n\"fold2\":fold22036.$var,\n\"foldr\":foldr2007.$var,\n\"each2\":each21700.$var,\n\"all2\":all21384.$var,\n\"member-identical3\":member$identical32252.$var,\n\"member-always3\":member$always32561,\n\"fold3\":fold32077.$var,\n\"each3\":each31737.$var,\n\"fold4\":fold42119.$var,\n\"each4\":each41778.$var,\n\"join-str-last\":join$str$last232.$var,\n\"map2\":map21415.$var,\n\"last\":last992.$var,\n\"get\":get177.$var,\n\"filter-values\":filter$values2348.$var,\n\"map3\":map31446.$var,\n\"map4\":map41491.$var,\n\"filter\":filter85.$var,\n\"member-with\":member$with2179.$var,\n\"member3\":member32200.$var,\n\"find\":find417.$var,\n\"shuffle\":shuffle2299.$var,\n\"member\":member2213.$var,\n\"push\":push961.$var,\n\"append\":append1139.$var,\n\"link\":link124.$var,\n\"repeat\":repeat1115.$var,\n\"map\":map71.$var,\n\"distinct\":distinct2386.$var,\n\"range\":range1056.$var,\n\"is-link\":is$link712.$var,\n\"list\":list2562,\n\"sort\":sort1018.$var}),\n\"types\":{\"List\":List50},\n\"modules\":{}}),\n\"checks\":checks2564});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans33;\ndefault: R.ffi.throwSpinnakerError(L[951],$step29);\n}\n}\nif($step29 !== 4) {\n$ans33.stack[R.EXN_STACKHEIGHT++] = R.mAR($al34,$toplevel30,$step29,[],[fold_n2166,split$at137,fold32077,each4_n1939,map21415,is$List708,same$length762,find417,take$while2448,member$always2559,filter$map2313,shorter$than823,fold22036,drop1302,member$identical2266,member$with2179,foldl2560,fold42119,each41778,foldr2007,each21700,member$identical32252,empty266,remove205,member$now2239,take1288,filter$values2348,map3_n1585,fold$while1956,partition404,each31737,map4_n1620,length746,any1314,List50,fold927,map2_n1543,each_n1807,each98,list2562,member$now32226,get177,range$by1100,answer2563,map71,distinct2386,map41491,map_n1518,member$always32561,set191,filter85,last992,is$link712,all1335,range1056,member2213,sort1018,repeat1115,each2_n1843,each3_n1888,is$empty549,link124,shuffle2299,member32200,append1139,sort$by1006,push961,reverse111,all21384,longer$than788,join$str218,map31446,join$str$last232],$elidedFrames36);\n}\nreturn $ans33;\n};\nreturn R.safeCall($toplevel30,function module_load(moduleVal) {\nR.modules[\"$builtin://lists24\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"sort":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -348, -0, -13038, -350, -3, -13094], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"sort", -"typ":"tany"}, -"list":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -881, -0, -30901, -889, -1, -31270], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"is-link":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -3, -0, -30, -3, -15, -45], -"definition-bind-site":["builtin://lists", -79, -2, -2952, -165, -8, -6813], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":0, -"name":"is-link", -"typ":"tany"}, -"range":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -352, -0, -13096, -361, -3, -13451], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"range", -"typ":"tany"}, -"distinct":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -821, -0, -28884, -832, -3, -29329], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"distinct", -"typ":"tany"}, -"map":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -510, -0, -17735, -513, -3, -17897], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map", -"typ":"tany"}, -"repeat":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -383, -0, -14191, -388, -3, -14397], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"repeat", -"typ":"tany"}, -"link":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -3, -0, -30, -3, -15, -45], -"definition-bind-site":["builtin://lists", -79, -2, -2952, -165, -8, -6813], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":0, -"name":"link", -"typ":"tany"}, -"append":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -395, -0, -14563, -400, -3, -14722], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"append", -"typ":"tany"}, -"push":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -324, -0, -12511, -326, -3, -12577], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":1, -"name":"push", -"typ":"tany"}, -"member":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -766, -0, -27431, -768, -3, -27527], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member", -"typ":"tany"}, -"shuffle":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -786, -0, -27987, -797, -3, -28332], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"shuffle", -"typ":"tany"}, -"find":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -435, -0, -15633, -447, -3, -15953], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"find", -"typ":"tany"}, -"member3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -762, -0, -27318, -764, -3, -27429], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member3", -"typ":"tany"}, -"member-with":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -748, -0, -26876, -760, -3, -27316], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member-with", -"typ":"tany"}, -"filter":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -390, -0, -14399, -393, -3, -14561], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"filter", -"typ":"tany"}, -"map4":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -533, -0, -18537, -540, -3, -18953], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map4", -"typ":"tany"}, -"map3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -524, -0, -18189, -531, -3, -18535], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map3", -"typ":"tany"}, -"filter-values":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -810, -0, -28618, -819, -3, -28882], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"filter-values", -"typ":"tany"}, -"get":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -289, -0, -11360, -300, -3, -11744], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"get", -"typ":"tany"}, -"last":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -328, -0, -12579, -342, -3, -12914], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"last", -"typ":"tany"}, -"map2":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -515, -0, -17899, -522, -3, -18187], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map2", -"typ":"tany"}, -"join-str-last":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -867, -0, -30444, -875, -3, -30837], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"join-str-last", -"typ":"tany"}, -"each4":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -610, -0, -21499, -621, -3, -22021], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each4", -"typ":"tany"}, -"fold4":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -725, -0, -25855, -733, -3, -26378], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold4", -"typ":"tany"}, -"each3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -597, -0, -21035, -608, -3, -21497], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each3", -"typ":"tany"}, -"fold3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -715, -0, -25385, -723, -3, -25853], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold3", -"typ":"tany"}, -"member-always3":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -877, -0, -30839, -877, -24, -30863], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"member-identical3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -778, -0, -27749, -780, -3, -27867], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member-identical3", -"typ":"tany"}, -"all2":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -499, -0, -17339, -508, -3, -17733], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"all2", -"typ":"tany"}, -"each2":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -584, -0, -20645, -595, -3, -21033], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each2", -"typ":"tany"}, -"foldr":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -695, -0, -24659, -703, -3, -24968], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"foldr", -"typ":"tany"}, -"fold2":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -705, -0, -24970, -713, -3, -25383], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold2", -"typ":"tany"}, -"fold_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -735, -0, -26380, -746, -3, -26874], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold_n", -"typ":"tany"}, -"member-now3":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -770, -0, -27529, -772, -3, -27641], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member-now3", -"typ":"tany"}, -"each_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -623, -0, -22023, -634, -3, -22350], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each_n", -"typ":"tany"}, -"drop":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -476, -0, -16748, -479, -3, -16912], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"drop", -"typ":"tany"}, -"join-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -858, -0, -30178, -865, -3, -30442], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"join-str", -"typ":"tany"}, -"same-length":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -245, -0, -9830, -263, -3, -10467], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"same-length", -"typ":"tany"}, -"empty":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -3, -0, -30, -3, -15, -45], -"definition-bind-site":["builtin://lists", -12, -2, -168, -78, -8, -2949], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"any":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -481, -0, -16914, -488, -3, -17124], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"any", -"typ":"tany"}, -"take-while":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -834, -0, -29331, -856, -3, -30176], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"take-while", -"typ":"tany"}, -"map_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -542, -0, -18955, -549, -3, -19220], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map_n", -"typ":"tany"}, -"foldl":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -879, -0, -30887, -879, -12, -30899], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"is-empty":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -3, -0, -30, -3, -15, -45], -"definition-bind-site":["builtin://lists", -12, -2, -168, -78, -8, -2949], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":0, -"name":"is-empty", -"typ":"tany"}, -"partition":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -402, -0, -14724, -420, -3, -15323], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"partition", -"typ":"tany"}, -"range-by":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -363, -0, -13453, -381, -3, -14189], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"range-by", -"typ":"tany"}, -"filter-map":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -799, -0, -28334, -808, -3, -28616], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"filter-map", -"typ":"tany"}, -"take":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -471, -0, -16590, -474, -3, -16746], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"take", -"typ":"tany"}, -"map4_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -569, -0, -19976, -576, -3, -20456], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map4_n", -"typ":"tany"}, -"split-at":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -449, -0, -15955, -469, -3, -16588], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"split-at", -"typ":"tany"}, -"sort-by":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -344, -0, -12916, -346, -3, -13036], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"sort-by", -"typ":"tany"}, -"length":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -234, -0, -9579, -243, -3, -9828], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"length", -"typ":"tany"}, -"map3_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -560, -0, -19564, -567, -3, -19974], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map3_n", -"typ":"tany"}, -"shorter-than":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -277, -0, -10911, -287, -3, -11358], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"shorter-than", -"typ":"tany"}, -"fold-while":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -675, -0, -23868, -687, -3, -24395], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold-while", -"typ":"tany"}, -"longer-than":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -265, -0, -10469, -275, -3, -10909], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"longer-than", -"typ":"tany"}, -"map2_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -551, -0, -19222, -558, -3, -19562], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"map2_n", -"typ":"tany"}, -"remove":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -422, -0, -15325, -433, -3, -15631], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"remove", -"typ":"tany"}, -"member-now":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -774, -0, -27643, -776, -3, -27747], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member-now", -"typ":"tany"}, -"reverse":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -316, -0, -12242, -322, -3, -12509], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"reverse", -"typ":"tany"}, -"each4_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -662, -0, -23284, -673, -3, -23866], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each4_n", -"typ":"tany"}, -"member-identical":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -782, -0, -27869, -784, -3, -27985], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"member-identical", -"typ":"tany"}, -"member-always":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -878, -0, -30864, -878, -22, -30886], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"set":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -302, -0, -11746, -314, -3, -12240], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"set", -"typ":"tany"}, -"is-List":{"bind":"let", -"origin":{"local-bind-site":["builtin://lists", -3, -0, -30, -3, -15, -45], -"definition-bind-site":["builtin://lists", -11, -0, -152, -232, -3, -9577], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"typ":"tany"}, -"each":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -578, -0, -20458, -582, -3, -20643], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each", -"typ":"tany"}, -"each3_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -649, -0, -22776, -660, -3, -23282], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each3_n", -"typ":"tany"}, -"all":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -490, -0, -17126, -497, -3, -17337], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"all", -"typ":"tany"}, -"fold":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -689, -0, -24397, -693, -3, -24657], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"fold", -"typ":"tany"}, -"each2_n":{"bind":"fun", -"origin":{"local-bind-site":["builtin://lists", -2, -0, -20, -2, -9, -29], -"definition-bind-site":["builtin://lists", -636, -0, -22352, -647, -3, -22774], -"new-definition":true, -"uri-of-definition":"builtin://lists"}, -"flatness":false, -"name":"each2_n", -"typ":"tany"}}, -"datatypes":{"List":["data",{"local-bind-site":["builtin://lists", -11, -0, -152, -232, -3, -9577], -"definition-bind-site":["builtin://lists", -11, -0, -152, -232, -3, -9577], -"new-definition":true, -"uri-of-definition":"builtin://lists"},"List",["atom#a#98"],[["empty", -{"sort":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"append":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"member":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"find":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"Option"},[["tid", -"atom#a#98"]]]], -"last":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tid", -"atom#a#98"]], -"foldr":["forall", -["atom#b#104"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]]], -"any":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"foldl":["forall", -["atom#b#108"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]]], -"partition":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["record",{"is-false":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -"is-true":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]}]], -"sort-by":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"length":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"all":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]}],["link", -[["first", -["tid", -"atom#a#98"]],["rest", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]]], -{"sort":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"append":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"member":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"find":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"Option"},[["tid", -"atom#a#98"]]]], -"last":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tid", -"atom#a#98"]], -"foldr":["forall", -["atom#b#134"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#134"]], -["tid", -"atom#b#134"]], -["tid", -"atom#b#134"]], -["tid", -"atom#b#134"]]], -"any":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"foldl":["forall", -["atom#b#138"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#138"]], -["tid", -"atom#b#138"]], -["tid", -"atom#b#138"]], -["tid", -"atom#b#138"]]], -"partition":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["record",{"is-false":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -"is-true":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]}]], -"sort-by":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"length":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"all":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]}]],{"sort":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"map":["forall", -["atom#b#166"], -["arrow", -["tany", -["arrow", -[["tid", -"atom#a#98"]], -["tid", -"atom#b#166"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#b#166"]]]]], -"append":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"push":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tid", -"atom#a#98"]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"member":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"_plus":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"find":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"Option"},[["tid", -"atom#a#98"]]]], -"filter":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"get":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -["tid", -"atom#a#98"]], -"last":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tid", -"atom#a#98"]], -"join-str-last":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}], -"foldr":["forall", -["atom#b#104"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]], -["tid", -"atom#b#104"]]], -"drop":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"join-str":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}], -"any":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"foldl":["forall", -["atom#b#108"], -["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]], -["tid", -"atom#b#108"]]], -"partition":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["record",{"is-false":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -"is-true":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]}]], -"take":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"split-at":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -["record",{"suffix":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -"prefix":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]}]], -"sort-by":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -["arrow", -[["tid", -"atom#a#98"], -["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"length":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"remove":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["tid", -"atom#a#98"]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"reverse":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"set":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -["tid", -"atom#a#98"]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"each":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Nothing"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Nothing"}], -"all":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]], -["arrow", -[["tid", -"atom#a#98"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"_output":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://lists"}, -"name":"List"},[["tid", -"atom#a#98"]]]], -"tany"]}]}, -"aliases":{"List":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"either"}, -{"import-type":"builtin", -"name":"equality"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://arrays":({"theMap":"{\"version\":3,\"sources\":[\"builtin://arrays\"],\"names\":[\"builtin://arrays\",\",27,9,505,27,27,523\",\",27,39,535,27,73,569\",\",29,37,620,29,59,642\",\",31,6,716,31,33,743\",\",34,22,789,34,43,810\",\",35,27,843,35,49,865\",\",37,9,917,37,34,942\",\",37,36,944,37,62,970\",\",37,6,914,37,63,971\",\",39,52,1033,39,70,1051\",\",39,52,1033,39,87,1068\",\",39,26,1007,39,88,1069\",\",25,2,453,40,4,1078\",\",43,11,1095,43,22,1106\",\",46,8,1177,46,34,1203\",\",48,9,1228,48,16,1235\",\",49,28,1271,49,32,1275\",\",49,6,1249,49,33,1276\",\",50,11,1288,50,16,1293\",\",50,6,1283,50,17,1294\",\",53,2,1311,53,9,1318\",\",54,2,1321,54,11,1330\",\",58,24,1390,58,34,1400\",\",58,8,1374,58,35,1401\",\",60,4,1442,60,30,1468\",\",59,2,1404,61,5,1474\",\",62,2,1477,62,11,1486\",\",66,8,1556,66,32,1580\",\",67,2,1583,67,11,1592\",\",71,2,1677,71,25,1700\",\",75,2,1769,75,20,1787\",\",79,2,1843,79,14,1855\",\",83,2,1917,83,19,1934\",\",88,22,1986,88,31,1995\",\",88,16,1980,88,35,1999\",\",89,23,2028,89,32,2037\",\",89,17,2022,89,37,2042\",\",90,26,2074,90,35,2083\",\",90,20,2068,90,43,2091\",\",91,29,2126,91,38,2135\",\",91,23,2120,91,49,2146\",\",92,32,2184,92,41,2193\",\",92,26,2178,92,55,2207\",\",93,35,2248,93,44,2257\",\",93,29,2242,93,61,2274\",\",20,0,372,20,23,395\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAsEC8B,0DAtED9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA0EC+B,mDA1ED/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA8ECgC,yCA9EDhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://arrays\"}", -"theModule":"function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__87(R,NAMESPACE,M,$$underscore_import5,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://arrays\";\nvar D = R.undefined;\nvar L = [[M,24,0,415,41,3,1082],\n[M,26,4,472,28,7,581],\n[M,27,39,535,27,73,569],\n[M,27,9,505,27,27,523],\n[M,29,4,587,29,63,646],\n[M,29,28,611,29,34,617],\n[M,30,4,652,33,7,765],\n[M,30,47,695,30,54,702],\n[M,30,31,679,30,37,685],\n[M,34,4,771,34,47,814],\n[M,35,4,820,35,53,869],\n[M,36,4,875,38,7,979],\n[M,37,9,917,37,34,942],\n[M,37,36,944,37,62,970],\n[M,37,6,914,37,63,971],\n[M,39,4,985,39,92,1073],\n[M,39,52,1033,39,70,1051],\n[M,39,52,1033,39,87,1068],\n[M,39,26,1007,39,88,1069],\n[M,25,2,453,40,4,1078],\n[M,24,29,444,24,34,449],\n[M,24,16,431,24,24,439],\n[M,43,11,1095,43,22,1106],\n[M,45,0,1108,55,3,1334],\n[M,47,2,1206,52,5,1308],\n[M,50,6,1283,50,17,1294],\n[M,50,11,1288,50,16,1293],\n[M,49,28,1271,49,32,1275],\n[M,48,9,1228,48,16,1235],\n[M,54,2,1321,54,11,1330],\n[M,53,2,1311,53,9,1318],\n[M,45,24,1132,45,37,1145],\n[M,45,46,1154,45,52,1160],\n[M,57,0,1336,63,3,1490],\n[M,58,24,1390,58,34,1400],\n[M,59,2,1404,61,5,1474],\n[M,62,2,1477,62,11,1486],\n[M,65,0,1492,68,3,1596],\n[M,65,46,1538,65,54,1546],\n[M,67,2,1583,67,11,1592],\n[M,65,23,1515,65,24,1516],\n[M,65,35,1527,65,41,1533],\n[M,70,0,1598,72,3,1704],\n[M,71,2,1677,71,25,1700],\n[M,70,68,1666,70,75,1673],\n[M,70,28,1626,70,36,1634],\n[M,70,47,1645,70,53,1651],\n[M,70,62,1660,70,63,1661],\n[M,74,0,1706,76,3,1791],\n[M,75,2,1769,75,20,1787],\n[M,74,58,1764,74,59,1765],\n[M,74,28,1734,74,36,1742],\n[M,74,47,1753,74,53,1759],\n[M,78,0,1793,80,3,1859],\n[M,79,2,1843,79,14,1855],\n[M,78,40,1833,78,46,1839],\n[M,78,27,1820,78,35,1828],\n[M,82,0,1861,84,3,1938],\n[M,83,2,1917,83,19,1934],\n[M,82,45,1906,82,52,1913],\n[M,82,32,1893,82,40,1901],\n[M,88,9,1973,88,39,2003],\n[M,88,21,1985,88,34,1998],\n[M,88,22,1986,88,31,1995],\n[M,88,16,1980,88,35,1999],\n[M,89,9,2014,89,41,2046],\n[M,89,22,2027,89,36,2041],\n[M,89,23,2028,89,32,2037],\n[M,89,17,2022,89,37,2042],\n[M,90,9,2057,90,47,2095],\n[M,90,25,2073,90,42,2090],\n[M,90,26,2074,90,35,2083],\n[M,90,20,2068,90,43,2091],\n[M,91,9,2106,91,53,2150],\n[M,91,28,2125,91,48,2145],\n[M,91,29,2126,91,38,2135],\n[M,91,23,2120,91,49,2146],\n[M,92,9,2161,92,59,2211],\n[M,92,31,2183,92,54,2206],\n[M,92,32,2184,92,41,2193],\n[M,92,26,2178,92,55,2207],\n[M,93,9,2222,93,65,2278],\n[M,93,34,2247,93,60,2273],\n[M,93,35,2248,93,44,2257],\n[M,93,29,2242,93,61,2274],\n[\"dummy location\"],\n[M,20,0,372,20,23,395],\n[M,3,0,21,94,1,2280]];\nvar $type$Nothing1 = R.getModuleField(\"builtin://global\",\"types\",\"Nothing\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar raw$array$set5 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-set\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar raw$array$of8 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-of\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar raw$array$to$list4 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-to-list\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar raw$array$length1 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-length\");\nvar $underscore_import4 = $$underscore_import5;\nvar $included$15 = $$included$127;\nvar VS7 = $VS8;\nvar each_n2 = R.getModuleField(\"builtin://lists\",\"values\",\"each_n\");\nvar List3 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel11 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__87($$resumer13) {\nvar $step10 = 0;\nvar $elidedFrames21 = 0;\nvar $ans17 = D;\nvar $al19 = L[87];\nif(R.isAR($$resumer13)) {\n$step10 = $$resumer13.step;\n$al19 = $$resumer13.from;\n$ans17 = $$resumer13.ans;\n$elidedFrames21 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\narray$of178 = $$resumer13.vars[0];\narray$from$list164 = $$resumer13.vars[1];\narray$to$list$now232 = $$resumer13.vars[2];\nget$arr$key38 = $$resumer13.vars[3];\narray341 = $$resumer13.vars[4];\nmake118 = $$resumer13.vars[5];\nArrayT22 = $$resumer13.vars[6];\nArray113 = $$resumer13.vars[7];\narray$length218 = $$resumer13.vars[8];\nbuild$array142 = $$resumer13.vars[9];\narray$set$now192 = $$resumer13.vars[10];\nanswer343 = $$resumer13.vars[11];\narray$get$now205 = $$resumer13.vars[12];\nis$array342 = $$resumer13.vars[13];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans17 = R.mC();\n}\nwhile(!R.isContinuation($ans17)) {\nswitch($step10) {\ncase 0: var ArrayT22 = R.nB(\"Array\",L[86]);\nvar Array113 = R.mBA(ArrayT22,\"Array\");\nvar get$arr$key38 = R.mO({});\nvar make118 = {\"$var\":D};\nvar $temp_lam24 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__0($arr25) {\nvar $step23 = 0;\nvar $elidedFrames29 = 0;\nvar $ans26 = D;\nvar $al27 = L[0];\nif(R.isAR($arr25)) {\n$step23 = $arr25.step;\n$al27 = $arr25.from;\n$ans26 = $arr25.ans;\n$elidedFrames29 = $arr25.elidedFrames;\narr25 = $arr25.args[0];\nann_check_temp112 = $arr25.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar arr25 = $arr25;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans26 = R.mC();\n}\nwhile(!R.isContinuation($ans26)) {\nswitch($step23) {\ncase 0: $step23 = 1;\n$al27 = L[21];\nR._cA(L[21],$type$RawArray1,arr25);\nbreak;\ncase 1: var $temp_full31 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__1($$underscore32,$key33) {\nvar $step30 = 0;\nvar $elidedFrames37 = 0;\nvar $ans34 = D;\nvar $al35 = L[1];\nif(R.isAR($$underscore32)) {\n$step30 = $$underscore32.step;\n$al35 = $$underscore32.from;\n$ans34 = $$underscore32.ans;\n$elidedFrames37 = $$underscore32.elidedFrames;\n$underscore32 = $$underscore32.args[0];\nkey33 = $$underscore32.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1],2,$t,true);\n}\nvar $underscore32 = $$underscore32;\nvar key33 = $key33;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans34 = R.mC();\n}\nwhile(!R.isContinuation($ans34)) {\nswitch($step30) {\ncase 0: $step30 = 1;\n$al35 = L[3];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al35,equal$always1);\n}\n$ans34 = equal$always1.app(key33,get$arr$key38);\nbreak;\ncase 1: var anf_if39 = $ans34;\n$step30 = R.checkPyretTrue(anf_if39)?2:3;\nbreak;\ncase 2: $step30 = 4;\n$ans34 = arr25;\nbreak;\ncase 3: $step30 = 4;\n$al35 = L[2];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al35,raise1);\n}\n$ans34 = raise1.app((\"Cannot get arr externally\"));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans34;\ndefault: R.ffi.throwSpinnakerError(L[1],$step30);\n}\n}\nif($step30 !== 4) {\n$ans34.stack[R.EXN_STACKHEIGHT++] = R.mAR($al35,$temp_full31,$step30,[$underscore32,key33],[],$elidedFrames37);\n}\nreturn $ans34;\n};\nvar anf_obj105 = R.makeMethod1($temp_full31,\"get-arr\");\nvar $temp_full42 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__4($$underscore43,$ix44) {\nvar $step41 = 0;\nvar $elidedFrames48 = 0;\nvar $ans45 = D;\nvar $al46 = L[4];\nif(R.isAR($$underscore43)) {\n$step41 = $$underscore43.step;\n$al46 = $$underscore43.from;\n$ans45 = $$underscore43.ans;\n$elidedFrames48 = $$underscore43.elidedFrames;\n$underscore43 = $$underscore43.args[0];\nix44 = $$underscore43.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],2,$t,true);\n}\nvar $underscore43 = $$underscore43;\nvar ix44 = $ix44;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans45 = R.mC();\n}\nwhile(!R.isContinuation($ans45)) {\nswitch($step41) {\ncase 0: $step41 = 1;\n$al46 = L[5];\nR._cA(L[5],$type$Number3,ix44);\nbreak;\ncase 1: // caller optimization;\n$ans45 = raw$array$get14.app(arr25,ix44);\n$step41 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans45;\ndefault: R.ffi.throwSpinnakerError(L[4],$step41);\n}\n}\nif($step41 !== 2) {\n$ans45.stack[R.EXN_STACKHEIGHT++] = R.mAR($al46,$temp_full42,$step41,[$underscore43,ix44],[],$elidedFrames48);\n}\nreturn $ans45;\n};\nvar anf_obj106 = R.makeMethod1($temp_full42,\"get-now\");\nvar $temp_full51 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__6($self52,$ix53,$val54) {\nvar $step50 = 0;\nvar $elidedFrames58 = 0;\nvar $ans55 = D;\nvar $al56 = L[6];\nif(R.isAR($self52)) {\n$step50 = $self52.step;\n$al56 = $self52.from;\n$ans55 = $self52.ans;\n$elidedFrames58 = $self52.elidedFrames;\nself52 = $self52.args[0];\nix53 = $self52.args[1];\nval54 = $self52.args[2];\nann_check_temp59 = $self52.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],3,$t,true);\n}\nvar self52 = $self52;\nvar ix53 = $ix53;\nvar val54 = $val54;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans55 = R.mC();\n}\nwhile(!R.isContinuation($ans55)) {\nswitch($step50) {\ncase 0: $step50 = 1;\n$al56 = L[8];\nR._cA(L[8],$type$Number3,ix53);\nbreak;\ncase 1: // caller optimization;\n$ans55 = raw$array$set5.app(arr25,ix53,val54);\nvar ann_check_temp59 = nothing2;\n$step50 = 2;\n$al56 = L[7];\nvar $ann$check60 = R._cA(L[7],$type$Nothing1,ann_check_temp59);\nif(R.isContinuation($ann$check60)) {\n$ans55 = $ann$check60;\n}\nbreak;\ncase 2: $step50 = 3;\n$ans55 = ann_check_temp59;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans55;\ndefault: R.ffi.throwSpinnakerError(L[6],$step50);\n}\n}\nif($step50 !== 3) {\n$ans55.stack[R.EXN_STACKHEIGHT++] = R.mAR($al56,$temp_full51,$step50,[self52,ix53,val54],[ann_check_temp59],$elidedFrames58);\n}\nreturn $ans55;\n};\nvar anf_obj107 = R.makeMethod2($temp_full51,\"set-now\");\nvar $temp_full66 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__9($$underscore67) {\nvar $step65 = 0;\nvar $elidedFrames71 = 0;\nvar $ans68 = D;\nvar $al69 = L[9];\nif(R.isAR($$underscore67)) {\n$step65 = $$underscore67.step;\n$al69 = $$underscore67.from;\n$ans68 = $$underscore67.ans;\n$elidedFrames71 = $$underscore67.elidedFrames;\n$underscore67 = $$underscore67.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],1,$t,true);\n}\nvar $underscore67 = $$underscore67;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans68 = R.mC();\n}\nwhile(!R.isContinuation($ans68)) {\nswitch($step65) {\ncase 0: // caller optimization;\n$ans68 = raw$array$length1.app(arr25);\n$step65 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans68;\ndefault: R.ffi.throwSpinnakerError(L[9],$step65);\n}\n}\nif($step65 !== 1) {\n$ans68.stack[R.EXN_STACKHEIGHT++] = R.mAR($al69,$temp_full66,$step65,[$underscore67],[],$elidedFrames71);\n}\nreturn $ans68;\n};\nvar anf_obj108 = R.makeMethod0($temp_full66,\"length\");\nvar $temp_full74 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__10($$underscore75) {\nvar $step73 = 0;\nvar $elidedFrames79 = 0;\nvar $ans76 = D;\nvar $al77 = L[10];\nif(R.isAR($$underscore75)) {\n$step73 = $$underscore75.step;\n$al77 = $$underscore75.from;\n$ans76 = $$underscore75.ans;\n$elidedFrames79 = $$underscore75.elidedFrames;\n$underscore75 = $$underscore75.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[10],1,$t,true);\n}\nvar $underscore75 = $$underscore75;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans76 = R.mC();\n}\nwhile(!R.isContinuation($ans76)) {\nswitch($step73) {\ncase 0: // caller optimization;\n$ans76 = raw$array$to$list4.app(arr25);\n$step73 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans76;\ndefault: R.ffi.throwSpinnakerError(L[10],$step73);\n}\n}\nif($step73 !== 1) {\n$ans76.stack[R.EXN_STACKHEIGHT++] = R.mAR($al77,$temp_full74,$step73,[$underscore75],[],$elidedFrames79);\n}\nreturn $ans76;\n};\nvar anf_obj109 = R.makeMethod0($temp_full74,\"to-list-now\");\nvar $temp_full83 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__11($self84,$other85,$eq86) {\nvar $step82 = 0;\nvar $elidedFrames90 = 0;\nvar $ans87 = D;\nvar $al88 = L[11];\nif(R.isAR($self84)) {\n$step82 = $self84.step;\n$al88 = $self84.from;\n$ans87 = $self84.ans;\n$elidedFrames90 = $self84.elidedFrames;\nself84 = $self84.args[0];\nother85 = $self84.args[1];\neq86 = $self84.args[2];\nanf_arg247 = $self84.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],3,$t,true);\n}\nvar self84 = $self84;\nvar other85 = $other85;\nvar eq86 = $eq86;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans87 = R.mC();\n}\nwhile(!R.isContinuation($ans87)) {\nswitch($step82) {\ncase 0: $step82 = 1;\n$ans87 = R.maybeMethodCall1(self84,\"get-arr\",L[12],get$arr$key38);\nbreak;\ncase 1: var anf_arg247 = $ans87;\n$step82 = 2;\n$ans87 = R.maybeMethodCall1(other85,\"get-arr\",L[13],get$arr$key38);\nbreak;\ncase 2: var anf_arg248 = $ans87;\n$step82 = 3;\n$al88 = L[14];\nif(typeof(eq86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al88,eq86);\n}\n$ans87 = eq86.app(anf_arg247,anf_arg248);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans87;\ndefault: R.ffi.throwSpinnakerError(L[11],$step82);\n}\n}\nif($step82 !== 3) {\n$ans87.stack[R.EXN_STACKHEIGHT++] = R.mAR($al88,$temp_full83,$step82,[self84,other85,eq86],[anf_arg247],$elidedFrames90);\n}\nreturn $ans87;\n};\nvar anf_obj110 = R.makeMethod2($temp_full83,\"_equals\");\nvar $temp_full93 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__15($self94) {\nvar $step92 = 0;\nvar $elidedFrames98 = 0;\nvar $ans95 = D;\nvar $al96 = L[15];\nif(R.isAR($self94)) {\n$step92 = $self94.step;\n$al96 = $self94.from;\n$ans95 = $self94.ans;\n$elidedFrames98 = $self94.elidedFrames;\nself94 = $self94.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],1,$t,true);\n}\nvar self94 = $self94;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans95 = R.mC();\n}\nwhile(!R.isContinuation($ans95)) {\nswitch($step92) {\ncase 0: $step92 = 1;\n$ans95 = R.maybeMethodCall0(self94,\"to-list-now\",L[16]);\nbreak;\ncase 1: var anf_method_obj99 = $ans95;\n$step92 = 2;\n$ans95 = R.maybeMethodCall1(anf_method_obj99,\"map\",L[17],VS7.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg101 = $ans95;\n$step92 = 3;\n$al96 = L[18];\nif(typeof(VS7.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al96,VS7.dict.values.dict[\"vs-collection\"]);\n}\n$ans95 = VS7.dict.values.dict[\"vs-collection\"].app((\"array\"),anf_arg101);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans95;\ndefault: R.ffi.throwSpinnakerError(L[15],$step92);\n}\n}\nif($step92 !== 3) {\n$ans95.stack[R.EXN_STACKHEIGHT++] = R.mAR($al96,$temp_full93,$step92,[self94],[],$elidedFrames98);\n}\nreturn $ans95;\n};\nvar anf_obj111 = R.makeMethod0($temp_full93,\"_output\");\nvar anf_arg265 = R.mO({\"get-arr\":anf_obj105,\n\"get-now\":anf_obj106,\n\"set-now\":anf_obj107,\n\"length\":anf_obj108,\n\"to-list-now\":anf_obj109,\n\"_equals\":anf_obj110,\n\"_output\":anf_obj111});\n$step23 = 2;\n$ans26 = R.maybeMethodCall1(ArrayT22,\"brand\",L[19],anf_arg265);\nbreak;\ncase 2: var ann_check_temp112 = $ans26;\n$step23 = 3;\n$al27 = L[20];\nvar $ann$check115 = R._cA(L[20],Array113,ann_check_temp112);\nif(R.isContinuation($ann$check115)) {\n$ans26 = $ann$check115;\n}\nbreak;\ncase 3: $step23 = 4;\n$ans26 = ann_check_temp112;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans26;\ndefault: R.ffi.throwSpinnakerError(L[0],$step23);\n}\n}\nif($step23 !== 4) {\n$ans26.stack[R.EXN_STACKHEIGHT++] = R.mAR($al27,$temp_lam24,$step23,[arr25],[ann_check_temp112],$elidedFrames29);\n}\nreturn $ans26;\n};\nvar anf_assign117 = R.mF($temp_lam24,\"make\");\nmake118.$var = anf_assign117;\nR.nothing;\n$al19 = L[22];\nvar is$array342 = G(ArrayT22,\"test\",L[22]);\nvar build$array142 = {\"$var\":D};\nvar array$from$list164 = {\"$var\":D};\nvar array$of178 = {\"$var\":D};\nvar array$set$now192 = {\"$var\":D};\nvar array$get$now205 = {\"$var\":D};\nvar array$length218 = {\"$var\":D};\nvar array$to$list$now232 = {\"$var\":D};\nvar $temp_lam120 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__23($f121,$len122) {\nvar $step119 = 0;\nvar $elidedFrames126 = 0;\nvar $ans123 = D;\nvar $al124 = L[23];\nif(R.isAR($f121)) {\n$step119 = $f121.step;\n$al124 = $f121.from;\n$ans123 = $f121.ans;\n$elidedFrames126 = $f121.elidedFrames;\nf121 = $f121.args[0];\nlen122 = $f121.args[1];\narr456 = $f121.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[23],2,$t,false);\n}\nvar f121 = $f121;\nvar len122 = $len122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans123 = R.mC();\n}\nwhile(!R.isContinuation($ans123)) {\nswitch($step119) {\ncase 0: $step119 = 1;\n$al124 = L[31];\nR._cA(L[31],R.Function,f121);\nbreak;\ncase 1: $step119 = 2;\n$al124 = L[32];\nR._cA(L[32],$type$Number3,len122);\nbreak;\ncase 2: // caller optimization;\n$ans123 = raw$array$of8.app(nothing2,len122);\nvar arr456 = $ans123;\nvar loop134 = {\"$var\":D};\nvar $temp_lam128 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__24($i129) {\nvar $step127 = 0;\nvar $elidedFrames133 = 0;\nvar $ans130 = D;\nvar $al131 = L[24];\nif(R.isAR($i129)) {\n$step127 = $i129.step;\n$al131 = $i129.from;\n$ans130 = $i129.ans;\n$elidedFrames133 = $i129.elidedFrames;\ni129 = $i129.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],1,$t,false);\n}\nvar i129 = $i129;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans130 = R.mC();\n}\nwhile(!R.isContinuation($ans130)) {\nswitch($step127) {\ncase 0: $step127 = 1;\n$al131 = L[28];\n// omitting isFunction check;\n$ans130 = _lessthan3.app(i129,len122);\nbreak;\ncase 1: var anf_if135 = $ans130;\n$step127 = R.checkPyretTrue(anf_if135)?2:6;\nbreak;\ncase 2: $step127 = 3;\n$al131 = L[27];\nif(typeof(f121.app) !== \"function\") {\nR.ffi.throwNonFunApp($al131,f121);\n}\n$ans130 = f121.app(i129);\nbreak;\ncase 3: var anf_arg267 = $ans130;\n// caller optimization;\n$ans130 = raw$array$set5.app(arr456,i129,anf_arg267);\n$step127 = 4;\n$al131 = L[26];\n// omitting isFunction check;\n$ans130 = _plus5.app(i129,(1));\nbreak;\ncase 4: var anf_arg268 = $ans130;\n$step127 = 5;\n$al131 = L[25];\n// omitting isFunction check;\n$ans130 = loop134.$var.app(anf_arg268);\nbreak;\ncase 5: $step127 = 7;\n$ans130 = nothing2;\nbreak;\ncase 6: $step127 = 7;\n$ans130 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans130;\ndefault: R.ffi.throwSpinnakerError(L[24],$step127);\n}\n}\nif($step127 !== 7) {\n$ans130.stack[R.EXN_STACKHEIGHT++] = R.mAR($al131,$temp_lam128,$step127,[i129],[],$elidedFrames133);\n}\nreturn $ans130;\n};\nvar anf_assign139 = R.mF($temp_lam128,\"loop\");\nloop134.$var = anf_assign139;\nR.nothing;\n$step119 = 3;\n$al124 = L[30];\n// omitting isFunction check;\n$ans123 = loop134.$var.app((0));\nbreak;\ncase 3: $step119 = 4;\n$al124 = L[29];\n// omitting isFunction check;\n$ans123 = make118.$var.app(arr456);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans123;\ndefault: R.ffi.throwSpinnakerError(L[23],$step119);\n}\n}\nif($step119 !== 4) {\n$ans123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al124,$temp_lam120,$step119,[f121,len122],[arr456],$elidedFrames126);\n}\nreturn $ans123;\n};\nvar anf_assign141 = R.mF($temp_lam120,\"build-array\");\nbuild$array142.$var = anf_assign141;\nR.nothing;\nvar $temp_lam144 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__33($l145) {\nvar $step143 = 0;\nvar $elidedFrames150 = 0;\nvar $ans147 = D;\nvar $al148 = L[33];\nif(R.isAR($l145)) {\n$step143 = $l145.step;\n$al148 = $l145.from;\n$ans147 = $l145.ans;\n$elidedFrames150 = $l145.elidedFrames;\nl145 = $l145.args[0];\narr159 = $l145.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[33],1,$t,false);\n}\nvar l145 = $l145;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans147 = R.mC();\n}\nwhile(!R.isContinuation($ans147)) {\nswitch($step143) {\ncase 0: $step143 = 1;\n$ans147 = R.maybeMethodCall0(l145,\"length\",L[34]);\nbreak;\ncase 1: var anf_arg271 = $ans147;\n// caller optimization;\n$ans147 = raw$array$of8.app((0),anf_arg271);\nvar arr159 = $ans147;\nvar $temp_lam152 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__35($n153,$elt154) {\nvar $step151 = 0;\nvar $elidedFrames158 = 0;\nvar $ans155 = D;\nvar $al156 = L[35];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[35],2,$t,false);\n}\nvar n153 = $n153;\nvar elt154 = $elt154;\n// callee optimization;\nwhile(!R.isContinuation($ans155)) {\nswitch($step151) {\ncase 0: // caller optimization;\n$ans155 = raw$array$set5.app(arr159,n153,elt154);\n$step151 = 1;\nbreak;\ncase 1: return $ans155;\ndefault: R.ffi.throwSpinnakerError(L[35],$step151);\n}\n}\nreturn $ans155;\n};\nvar anf_arg272 = R.mF($temp_lam152,\"for-body\");\n$step143 = 2;\n$al148 = L[35];\n// omitting isFunction check;\n$ans147 = each_n2.app(anf_arg272,(0),l145);\nbreak;\ncase 2: $step143 = 3;\n$al148 = L[36];\n// omitting isFunction check;\n$ans147 = make118.$var.app(arr159);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans147;\ndefault: R.ffi.throwSpinnakerError(L[33],$step143);\n}\n}\nif($step143 !== 3) {\n$ans147.stack[R.EXN_STACKHEIGHT++] = R.mAR($al148,$temp_lam144,$step143,[l145],[arr159],$elidedFrames150);\n}\nreturn $ans147;\n};\nvar anf_assign163 = R.mF($temp_lam144,\"array-from-list\");\narray$from$list164.$var = anf_assign163;\nR.nothing;\nvar $temp_lam166 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__37($elt167,$count168) {\nvar $step165 = 0;\nvar $elidedFrames172 = 0;\nvar $ans169 = D;\nvar $al170 = L[37];\nif(R.isAR($elt167)) {\n$step165 = $elt167.step;\n$al170 = $elt167.from;\n$ans169 = $elt167.ans;\n$elidedFrames172 = $elt167.elidedFrames;\nelt167 = $elt167.args[0];\ncount168 = $elt167.args[1];\nann_check_temp174 = $elt167.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],2,$t,false);\n}\nvar elt167 = $elt167;\nvar count168 = $count168;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans169 = R.mC();\n}\nwhile(!R.isContinuation($ans169)) {\nswitch($step165) {\ncase 0: $step165 = 1;\n$al170 = L[40];\nR._cA(L[40],R.Any,elt167);\nbreak;\ncase 1: $step165 = 2;\n$al170 = L[41];\nR._cA(L[41],$type$Number3,count168);\nbreak;\ncase 2: // caller optimization;\n$ans169 = raw$array$of8.app(elt167,count168);\nvar arr173 = $ans169;\n$step165 = 3;\n$al170 = L[39];\n// omitting isFunction check;\n$ans169 = make118.$var.app(arr173);\nbreak;\ncase 3: var ann_check_temp174 = $ans169;\n$step165 = 4;\n$al170 = L[38];\nvar $ann$check175 = R._cA(L[38],Array113,ann_check_temp174);\nif(R.isContinuation($ann$check175)) {\n$ans169 = $ann$check175;\n}\nbreak;\ncase 4: $step165 = 5;\n$ans169 = ann_check_temp174;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans169;\ndefault: R.ffi.throwSpinnakerError(L[37],$step165);\n}\n}\nif($step165 !== 5) {\n$ans169.stack[R.EXN_STACKHEIGHT++] = R.mAR($al170,$temp_lam166,$step165,[elt167,count168],[ann_check_temp174],$elidedFrames172);\n}\nreturn $ans169;\n};\nvar anf_assign177 = R.mF($temp_lam166,\"array-of\");\narray$of178.$var = anf_assign177;\nR.nothing;\nvar $temp_lam180 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__42($arr181,$index182,$val183) {\nvar $step179 = 0;\nvar $elidedFrames187 = 0;\nvar $ans184 = D;\nvar $al185 = L[42];\nif(R.isAR($arr181)) {\n$step179 = $arr181.step;\n$al185 = $arr181.from;\n$ans184 = $arr181.ans;\n$elidedFrames187 = $arr181.elidedFrames;\narr181 = $arr181.args[0];\nindex182 = $arr181.args[1];\nval183 = $arr181.args[2];\nann_check_temp188 = $arr181.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],3,$t,false);\n}\nvar arr181 = $arr181;\nvar index182 = $index182;\nvar val183 = $val183;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans184 = R.mC();\n}\nwhile(!R.isContinuation($ans184)) {\nswitch($step179) {\ncase 0: $step179 = 1;\n$al185 = L[45];\nR._cA(L[45],Array113,arr181);\nbreak;\ncase 1: $step179 = 2;\n$al185 = L[46];\nR._cA(L[46],$type$Number3,index182);\nbreak;\ncase 2: $step179 = 3;\n$al185 = L[47];\nR._cA(L[47],R.Any,val183);\nbreak;\ncase 3: $step179 = 4;\n$ans184 = R.maybeMethodCall2(arr181,\"set-now\",L[43],index182,val183);\nbreak;\ncase 4: var ann_check_temp188 = $ans184;\n$step179 = 5;\n$al185 = L[44];\nvar $ann$check189 = R._cA(L[44],$type$Nothing1,ann_check_temp188);\nif(R.isContinuation($ann$check189)) {\n$ans184 = $ann$check189;\n}\nbreak;\ncase 5: $step179 = 6;\n$ans184 = ann_check_temp188;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans184;\ndefault: R.ffi.throwSpinnakerError(L[42],$step179);\n}\n}\nif($step179 !== 6) {\n$ans184.stack[R.EXN_STACKHEIGHT++] = R.mAR($al185,$temp_lam180,$step179,[arr181,index182,val183],[ann_check_temp188],$elidedFrames187);\n}\nreturn $ans184;\n};\nvar anf_assign191 = R.mF($temp_lam180,\"array-set-now\");\narray$set$now192.$var = anf_assign191;\nR.nothing;\nvar $temp_lam194 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__48($arr195,$index196) {\nvar $step193 = 0;\nvar $elidedFrames200 = 0;\nvar $ans197 = D;\nvar $al198 = L[48];\nif(R.isAR($arr195)) {\n$step193 = $arr195.step;\n$al198 = $arr195.from;\n$ans197 = $arr195.ans;\n$elidedFrames200 = $arr195.elidedFrames;\narr195 = $arr195.args[0];\nindex196 = $arr195.args[1];\nann_check_temp201 = $arr195.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],2,$t,false);\n}\nvar arr195 = $arr195;\nvar index196 = $index196;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans197 = R.mC();\n}\nwhile(!R.isContinuation($ans197)) {\nswitch($step193) {\ncase 0: $step193 = 1;\n$al198 = L[51];\nR._cA(L[51],Array113,arr195);\nbreak;\ncase 1: $step193 = 2;\n$al198 = L[52];\nR._cA(L[52],$type$Number3,index196);\nbreak;\ncase 2: $step193 = 3;\n$ans197 = R.maybeMethodCall1(arr195,\"get-now\",L[49],index196);\nbreak;\ncase 3: var ann_check_temp201 = $ans197;\n$step193 = 4;\n$al198 = L[50];\nvar $ann$check202 = R._cA(L[50],R.Any,ann_check_temp201);\nif(R.isContinuation($ann$check202)) {\n$ans197 = $ann$check202;\n}\nbreak;\ncase 4: $step193 = 5;\n$ans197 = ann_check_temp201;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans197;\ndefault: R.ffi.throwSpinnakerError(L[48],$step193);\n}\n}\nif($step193 !== 5) {\n$ans197.stack[R.EXN_STACKHEIGHT++] = R.mAR($al198,$temp_lam194,$step193,[arr195,index196],[ann_check_temp201],$elidedFrames200);\n}\nreturn $ans197;\n};\nvar anf_assign204 = R.mF($temp_lam194,\"array-get-now\");\narray$get$now205.$var = anf_assign204;\nR.nothing;\nvar $temp_lam208 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__53($arr209) {\nvar $step207 = 0;\nvar $elidedFrames213 = 0;\nvar $ans210 = D;\nvar $al211 = L[53];\nif(R.isAR($arr209)) {\n$step207 = $arr209.step;\n$al211 = $arr209.from;\n$ans210 = $arr209.ans;\n$elidedFrames213 = $arr209.elidedFrames;\narr209 = $arr209.args[0];\nann_check_temp214 = $arr209.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],1,$t,false);\n}\nvar arr209 = $arr209;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans210 = R.mC();\n}\nwhile(!R.isContinuation($ans210)) {\nswitch($step207) {\ncase 0: $step207 = 1;\n$al211 = L[56];\nR._cA(L[56],Array113,arr209);\nbreak;\ncase 1: $step207 = 2;\n$ans210 = R.maybeMethodCall0(arr209,\"length\",L[54]);\nbreak;\ncase 2: var ann_check_temp214 = $ans210;\n$step207 = 3;\n$al211 = L[55];\nvar $ann$check215 = R._cA(L[55],$type$Number3,ann_check_temp214);\nif(R.isContinuation($ann$check215)) {\n$ans210 = $ann$check215;\n}\nbreak;\ncase 3: $step207 = 4;\n$ans210 = ann_check_temp214;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans210;\ndefault: R.ffi.throwSpinnakerError(L[53],$step207);\n}\n}\nif($step207 !== 4) {\n$ans210.stack[R.EXN_STACKHEIGHT++] = R.mAR($al211,$temp_lam208,$step207,[arr209],[ann_check_temp214],$elidedFrames213);\n}\nreturn $ans210;\n};\nvar anf_assign217 = R.mF($temp_lam208,\"array-length\");\narray$length218.$var = anf_assign217;\nR.nothing;\nvar $temp_lam221 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__57($arr222) {\nvar $step220 = 0;\nvar $elidedFrames227 = 0;\nvar $ans224 = D;\nvar $al225 = L[57];\nif(R.isAR($arr222)) {\n$step220 = $arr222.step;\n$al225 = $arr222.from;\n$ans224 = $arr222.ans;\n$elidedFrames227 = $arr222.elidedFrames;\narr222 = $arr222.args[0];\nann_check_temp228 = $arr222.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar arr222 = $arr222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans224 = R.mC();\n}\nwhile(!R.isContinuation($ans224)) {\nswitch($step220) {\ncase 0: $step220 = 1;\n$al225 = L[60];\nR._cA(L[60],Array113,arr222);\nbreak;\ncase 1: $step220 = 2;\n$ans224 = R.maybeMethodCall0(arr222,\"to-list-now\",L[58]);\nbreak;\ncase 2: var ann_check_temp228 = $ans224;\n$step220 = 3;\n$al225 = L[59];\nvar $ann$check229 = R._cA(L[59],List3,ann_check_temp228);\nif(R.isContinuation($ann$check229)) {\n$ans224 = $ann$check229;\n}\nbreak;\ncase 3: $step220 = 4;\n$ans224 = ann_check_temp228;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans224;\ndefault: R.ffi.throwSpinnakerError(L[57],$step220);\n}\n}\nif($step220 !== 4) {\n$ans224.stack[R.EXN_STACKHEIGHT++] = R.mAR($al225,$temp_lam221,$step220,[arr222],[ann_check_temp228],$elidedFrames227);\n}\nreturn $ans224;\n};\nvar anf_assign231 = R.mF($temp_lam221,\"array-to-list-now\");\narray$to$list$now232.$var = anf_assign231;\nR.nothing;\nvar $temp_lam234 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__61($$resumer13) {\nvar $step233 = 0;\nvar $elidedFrames238 = 0;\nvar $ans235 = D;\nvar $al236 = L[61];\nif(R.isAR($$resumer13)) {\n$step233 = $$resumer13.step;\n$al236 = $$resumer13.from;\n$ans235 = $$resumer13.ans;\n$elidedFrames238 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans235 = R.mC();\n}\nwhile(!R.isContinuation($ans235)) {\nswitch($step233) {\ncase 0: $ans235 = R.getMaker0(raw$array2,(\"make0\"),L[62],L[63]);\nvar anf_fun239 = $ans235;\n$step233 = 1;\n$al236 = L[63];\nif(typeof(anf_fun239.app) !== \"function\") {\nR.ffi.throwNonFunApp($al236,anf_fun239);\n}\n$ans235 = anf_fun239.app();\nbreak;\ncase 1: var anf_arg295 = $ans235;\n$step233 = 2;\n$al236 = L[64];\n// omitting isFunction check;\n$ans235 = make118.$var.app(anf_arg295);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans235;\ndefault: R.ffi.throwSpinnakerError(L[61],$step233);\n}\n}\nif($step233 !== 2) {\n$ans235.stack[R.EXN_STACKHEIGHT++] = R.mAR($al236,$temp_lam234,$step233,[],[],$elidedFrames238);\n}\nreturn $ans235;\n};\nvar anf_obj334 = R.mF($temp_lam234,\"\");\nvar $temp_lam242 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__65($a243) {\nvar $step241 = 0;\nvar $elidedFrames248 = 0;\nvar $ans245 = D;\nvar $al246 = L[65];\nif(R.isAR($a243)) {\n$step241 = $a243.step;\n$al246 = $a243.from;\n$ans245 = $a243.ans;\n$elidedFrames248 = $a243.elidedFrames;\na243 = $a243.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[65],1,$t,false);\n}\nvar a243 = $a243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans245 = R.mC();\n}\nwhile(!R.isContinuation($ans245)) {\nswitch($step241) {\ncase 0: $ans245 = R.getMaker1(raw$array2,(\"make1\"),L[66],L[67]);\nvar anf_fun306 = $ans245;\n$step241 = 1;\n$al246 = L[67];\nif(typeof(anf_fun306.app) !== \"function\") {\nR.ffi.throwNonFunApp($al246,anf_fun306);\n}\n$ans245 = anf_fun306.app(a243);\nbreak;\ncase 1: var anf_arg253 = $ans245;\n$step241 = 2;\n$al246 = L[68];\n// omitting isFunction check;\n$ans245 = make118.$var.app(anf_arg253);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans245;\ndefault: R.ffi.throwSpinnakerError(L[65],$step241);\n}\n}\nif($step241 !== 2) {\n$ans245.stack[R.EXN_STACKHEIGHT++] = R.mAR($al246,$temp_lam242,$step241,[a243],[],$elidedFrames248);\n}\nreturn $ans245;\n};\nvar anf_obj335 = R.mF($temp_lam242,\"\");\nvar $temp_lam257 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__69($a258,$b259) {\nvar $step256 = 0;\nvar $elidedFrames263 = 0;\nvar $ans260 = D;\nvar $al261 = L[69];\nif(R.isAR($a258)) {\n$step256 = $a258.step;\n$al261 = $a258.from;\n$ans260 = $a258.ans;\n$elidedFrames263 = $a258.elidedFrames;\na258 = $a258.args[0];\nb259 = $a258.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[69],2,$t,false);\n}\nvar a258 = $a258;\nvar b259 = $b259;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans260 = R.mC();\n}\nwhile(!R.isContinuation($ans260)) {\nswitch($step256) {\ncase 0: $ans260 = R.getMaker2(raw$array2,(\"make2\"),L[70],L[71]);\nvar anf_fun264 = $ans260;\n$step256 = 1;\n$al261 = L[71];\nif(typeof(anf_fun264.app) !== \"function\") {\nR.ffi.throwNonFunApp($al261,anf_fun264);\n}\n$ans260 = anf_fun264.app(a258,b259);\nbreak;\ncase 1: var anf_arg275 = $ans260;\n$step256 = 2;\n$al261 = L[72];\n// omitting isFunction check;\n$ans260 = make118.$var.app(anf_arg275);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans260;\ndefault: R.ffi.throwSpinnakerError(L[69],$step256);\n}\n}\nif($step256 !== 2) {\n$ans260.stack[R.EXN_STACKHEIGHT++] = R.mAR($al261,$temp_lam257,$step256,[a258,b259],[],$elidedFrames263);\n}\nreturn $ans260;\n};\nvar anf_obj336 = R.mF($temp_lam257,\"\");\nvar $temp_lam279 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__73($a280,$b281,$c282) {\nvar $step278 = 0;\nvar $elidedFrames287 = 0;\nvar $ans284 = D;\nvar $al285 = L[73];\nif(R.isAR($a280)) {\n$step278 = $a280.step;\n$al285 = $a280.from;\n$ans284 = $a280.ans;\n$elidedFrames287 = $a280.elidedFrames;\na280 = $a280.args[0];\nb281 = $a280.args[1];\nc282 = $a280.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],3,$t,false);\n}\nvar a280 = $a280;\nvar b281 = $b281;\nvar c282 = $c282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans284 = R.mC();\n}\nwhile(!R.isContinuation($ans284)) {\nswitch($step278) {\ncase 0: $ans284 = R.getMaker3(raw$array2,(\"make3\"),L[74],L[75]);\nvar anf_fun288 = $ans284;\n$step278 = 1;\n$al285 = L[75];\nif(typeof(anf_fun288.app) !== \"function\") {\nR.ffi.throwNonFunApp($al285,anf_fun288);\n}\n$ans284 = anf_fun288.app(a280,b281,c282);\nbreak;\ncase 1: var anf_arg297 = $ans284;\n$step278 = 2;\n$al285 = L[76];\n// omitting isFunction check;\n$ans284 = make118.$var.app(anf_arg297);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans284;\ndefault: R.ffi.throwSpinnakerError(L[73],$step278);\n}\n}\nif($step278 !== 2) {\n$ans284.stack[R.EXN_STACKHEIGHT++] = R.mAR($al285,$temp_lam279,$step278,[a280,b281,c282],[],$elidedFrames287);\n}\nreturn $ans284;\n};\nvar anf_obj337 = R.mF($temp_lam279,\"\");\nvar $temp_lam301 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__77($a617,$b618,$c619,$d620) {\nvar $step300 = 0;\nvar $elidedFrames306 = 0;\nvar $ans303 = D;\nvar $al304 = L[77];\nif(R.isAR($a617)) {\n$step300 = $a617.step;\n$al304 = $a617.from;\n$ans303 = $a617.ans;\n$elidedFrames306 = $a617.elidedFrames;\na617 = $a617.args[0];\nb618 = $a617.args[1];\nc619 = $a617.args[2];\nd620 = $a617.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[77],4,$t,false);\n}\nvar a617 = $a617;\nvar b618 = $b618;\nvar c619 = $c619;\nvar d620 = $d620;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans303 = R.mC();\n}\nwhile(!R.isContinuation($ans303)) {\nswitch($step300) {\ncase 0: $ans303 = R.getMaker4(raw$array2,(\"make4\"),L[78],L[79]);\nvar anf_fun307 = $ans303;\n$step300 = 1;\n$al304 = L[79];\nif(typeof(anf_fun307.app) !== \"function\") {\nR.ffi.throwNonFunApp($al304,anf_fun307);\n}\n$ans303 = anf_fun307.app(a617,b618,c619,d620);\nbreak;\ncase 1: var anf_arg318 = $ans303;\n$step300 = 2;\n$al304 = L[80];\n// omitting isFunction check;\n$ans303 = make118.$var.app(anf_arg318);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans303;\ndefault: R.ffi.throwSpinnakerError(L[77],$step300);\n}\n}\nif($step300 !== 2) {\n$ans303.stack[R.EXN_STACKHEIGHT++] = R.mAR($al304,$temp_lam301,$step300,[a617,b618,c619,d620],[],$elidedFrames306);\n}\nreturn $ans303;\n};\nvar anf_obj338 = R.mF($temp_lam301,\"\");\nvar $temp_lam321 = function _a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0__81($a322,$b323,$c324,$d325,$e326) {\nvar $step320 = 0;\nvar $elidedFrames331 = 0;\nvar $ans328 = D;\nvar $al329 = L[81];\nif(R.isAR($a322)) {\n$step320 = $a322.step;\n$al329 = $a322.from;\n$ans328 = $a322.ans;\n$elidedFrames331 = $a322.elidedFrames;\na322 = $a322.args[0];\nb323 = $a322.args[1];\nc324 = $a322.args[2];\nd325 = $a322.args[3];\ne326 = $a322.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[81],5,$t,false);\n}\nvar a322 = $a322;\nvar b323 = $b323;\nvar c324 = $c324;\nvar d325 = $d325;\nvar e326 = $e326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans328 = R.mC();\n}\nwhile(!R.isContinuation($ans328)) {\nswitch($step320) {\ncase 0: $ans328 = R.getMaker5(raw$array2,(\"make5\"),L[82],L[83]);\nvar anf_fun332 = $ans328;\n$step320 = 1;\n$al329 = L[83];\nif(typeof(anf_fun332.app) !== \"function\") {\nR.ffi.throwNonFunApp($al329,anf_fun332);\n}\n$ans328 = anf_fun332.app(a322,b323,c324,d325,e326);\nbreak;\ncase 1: var anf_arg317 = $ans328;\n$step320 = 2;\n$al329 = L[84];\n// omitting isFunction check;\n$ans328 = make118.$var.app(anf_arg317);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans328;\ndefault: R.ffi.throwSpinnakerError(L[81],$step320);\n}\n}\nif($step320 !== 2) {\n$ans328.stack[R.EXN_STACKHEIGHT++] = R.mAR($al329,$temp_lam321,$step320,[a322,b323,c324,d325,e326],[],$elidedFrames331);\n}\nreturn $ans328;\n};\nvar anf_obj339 = R.mF($temp_lam321,\"\");\nvar array341 = R.mO({\"make\":make118.$var,\n\"make0\":anf_obj334,\n\"make1\":anf_obj335,\n\"make2\":anf_obj336,\n\"make3\":anf_obj337,\n\"make4\":anf_obj338,\n\"make5\":anf_obj339});\n$step10 = 1;\n$ans17 = R.maybeMethodCall2(builtins1,\"trace-value\",L[85],L[85],nothing2);\nbreak;\ncase 1: var answer343 = $ans17;\n$step10 = 2;\n$ans17 = R.maybeMethodCall0(builtins1,\"current-checker\",L[86]);\nbreak;\ncase 2: var anf_method_obj340 = $ans17;\n$step10 = 3;\n$ans17 = R.maybeMethodCall0(anf_method_obj340,\"results\",L[86]);\nbreak;\ncase 3: var checks344 = $ans17;\n$step10 = 4;\n$ans17 = R.mO({\"answer\":answer343,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"VS\":VS7},\n\"defined-values\":{\"array-to-list-now\":array$to$list$now232.$var,\n\"array-get-now\":array$get$now205.$var,\n\"array-of\":array$of178.$var,\n\"array-from-list\":array$from$list164.$var,\n\"make\":make118.$var,\n\"is-array\":is$array342,\n\"array-set-now\":array$set$now192.$var,\n\"array\":array341,\n\"array-length\":array$length218.$var,\n\"build-array\":build$array142.$var,\n\"ArrayT\":ArrayT22,\n\"get-arr-key\":get$arr$key38},\n\"defined-types\":{\"Array\":Array113},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"array\":array341,\n\"build-array\":build$array142.$var,\n\"array-from-list\":array$from$list164.$var,\n\"is-array\":is$array342,\n\"array-of\":array$of178.$var,\n\"array-set-now\":array$set$now192.$var,\n\"array-get-now\":array$get$now205.$var,\n\"array-length\":array$length218.$var,\n\"array-to-list-now\":array$to$list$now232.$var}),\n\"types\":{\"Array\":Array113},\n\"modules\":{}}),\n\"checks\":checks344});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans17;\ndefault: R.ffi.throwSpinnakerError(L[87],$step10);\n}\n}\nif($step10 !== 4) {\n$ans17.stack[R.EXN_STACKHEIGHT++] = R.mAR($al19,$toplevel11,$step10,[],[array$of178,array$from$list164,array$to$list$now232,get$arr$key38,array341,make118,ArrayT22,Array113,array$length218,build$array142,array$set$now192,answer343,array$get$now205,is$array342],$elidedFrames21);\n}\nreturn $ans17;\n};\nreturn R.safeCall($toplevel11,function module_load(moduleVal) {\nR.modules[\"$builtin://arrays8\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"build-array":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -5, -2, -49, -5, -26, -73], -"definition-bind-site":["builtin://arrays", -45, -0, -1108, -55, -3, -1334], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"build-array", -"typ":"tany"}, -"array-length":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -11, -2, -221, -11, -28, -247], -"definition-bind-site":["builtin://arrays", -78, -0, -1793, -80, -3, -1859], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-length", -"typ":"tany"}, -"array":{"bind":"let", -"origin":{"local-bind-site":["builtin://arrays", -4, -2, -33, -4, -14, -45], -"definition-bind-site":["builtin://arrays", -86, -0, -1940, -94, -1, -2280], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"typ":"tany"}, -"array-set-now":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -9, -2, -157, -9, -30, -185], -"definition-bind-site":["builtin://arrays", -70, -0, -1598, -72, -3, -1704], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-set-now", -"typ":"tany"}, -"is-array":{"bind":"let", -"origin":{"local-bind-site":["builtin://arrays", -7, -2, -113, -7, -20, -131], -"definition-bind-site":["builtin://arrays", -43, -0, -1084, -43, -22, -1106], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"typ":"tany"}, -"array-from-list":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -6, -2, -77, -6, -34, -109], -"definition-bind-site":["builtin://arrays", -57, -0, -1336, -63, -3, -1490], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-from-list", -"typ":"tany"}, -"array-of":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -8, -2, -135, -8, -20, -153], -"definition-bind-site":["builtin://arrays", -65, -0, -1492, -68, -3, -1596], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-of", -"typ":"tany"}, -"array-get-now":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -10, -2, -189, -10, -30, -217], -"definition-bind-site":["builtin://arrays", -74, -0, -1706, -76, -3, -1791], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-get-now", -"typ":"tany"}, -"array-to-list-now":{"bind":"fun", -"origin":{"local-bind-site":["builtin://arrays", -12, -2, -251, -12, -38, -287], -"definition-bind-site":["builtin://arrays", -82, -0, -1861, -84, -3, -1938], -"new-definition":true, -"uri-of-definition":"builtin://arrays"}, -"flatness":false, -"name":"array-to-list-now", -"typ":"tany"}}, -"datatypes":{}, -"aliases":{"Array":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://pick":({"theMap":"{\"version\":3,\"sources\":[\"builtin://pick\"],\"names\":[\"builtin://pick\",\",6,0,47,9,3,116\",\",7,2,66,7,13,77\",\",8,2,80,8,34,112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAKDC,0BALCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,kCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,+BANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,kCAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,+BAPDH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,mDALCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://pick\"}", -"theModule":"function _4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384__6(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://pick\";\nvar D = R.undefined;\nvar L = [[M,7,2,66,7,13,77],\n[M,8,2,80,8,34,112],\n[M,8,21,99,8,22,100],\n[M,8,32,110,8,33,111],\n[M,6,0,47,9,3,116],\n[\"dummy location\"],\n[M,1,0,0,9,3,116]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel5 = function _4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384__6($$resumer13) {\nvar $step4 = 0;\nvar $elidedFrames24 = 0;\nvar $ans18 = D;\nvar $al22 = L[6];\nif(R.isAR($$resumer13)) {\n$step4 = $$resumer13.step;\n$al22 = $$resumer13.from;\n$ans18 = $$resumer13.ans;\n$elidedFrames24 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$pick$none41 = $$resumer13.vars[0];\nPick45 = $$resumer13.vars[1];\nis$pick$some43 = $$resumer13.vars[2];\nis$Pick40 = $$resumer13.vars[3];\nanswer37 = $$resumer13.vars[4];\npick$none42 = $$resumer13.vars[5];\npick$some44 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans18 = R.mC();\n}\nwhile(!R.isContinuation($ans18)) {\nswitch($step4) {\ncase 0: var Pick25 = R.nB(\"Pick\",L[4]);\nvar Pick45 = R.mBA(Pick25,\"Pick\");\nvar Pick39 = {\"$var\":D};\nvar is$Pick40 = {\"$var\":D};\nvar is$pick$none41 = {\"$var\":D};\nvar pick$none42 = {\"$var\":D};\nvar is$pick$some43 = {\"$var\":D};\nvar pick$some44 = {\"$var\":D};\nvar $pick$none_getfields30 = function variant(f) {\nreturn f();\n};\nvar $pick$none_mutablemask29 = [];\nvar $pick$none$base26 = {\"_match\":R.mM(\"pick-none\",0)};\nvar $pick$none$brander27 = R.nB(\"pick-none\",L[0]);\nvar $pick$none$brands28 = {};\n$pick$none$brands28[Pick25._brand] = true;\n$pick$none$brands28[$pick$none$brander27._brand] = true;\nvar $pick$some_getfields35 = function singleton_variant(f) {\nreturn f(this.dict[\"elt\"],this.dict[\"rest\"]);\n};\nvar $pick$some_mutablemask34 = [false,false];\nvar $pick$some$base31 = {\"$fieldNames\":[\"elt\",\"rest\"],\n\"_match\":R.mM(\"pick-some\",2)};\nvar $pick$some$brander32 = R.nB(\"pick-some\",L[1]);\nvar $pick$some$brands33 = {};\n$pick$some$brands33[Pick25._brand] = true;\n$pick$some$brands33[$pick$some$brander32._brand] = true;\nvar pick$some36 = R.mVC(L[1],function $synthesizedConstructor_$pick$some$base() {\nreturn [R.Any,R.Any];\n},[\"elt37\",\"rest38\"],[L[2],L[3]],[false,false],[\"elt37\",\"rest38\"],$pick$some_mutablemask34,$pick$some$base31,$pick$some$brands33,\"pick-some\",$pick$some_getfields35,$pick$some$base31);\nvar anf_assign23 = R.mO({\"Pick\":G(Pick25,\"test\",L[4]),\n\"is-pick-none\":G($pick$none$brander27,\"test\",L[0]),\n\"pick-none\":R.mDV($pick$none$base26,$pick$none$brands28,\"pick-none\",$pick$none_getfields30,-1,$pick$none_mutablemask29,$pick$none$base26,false,L[0]),\n\"is-pick-some\":G($pick$some$brander32,\"test\",L[1]),\n\"pick-some\":pick$some36});\nPick39.$var = anf_assign23;\nR.nothing;\n$al22 = L[4];\nvar anf_assign25 = G(Pick39.$var,\"Pick\",L[4]);\nis$Pick40.$var = anf_assign25;\nR.nothing;\n$al22 = L[0];\nvar anf_assign27 = G(Pick39.$var,\"is-pick-none\",L[0]);\nis$pick$none41.$var = anf_assign27;\nR.nothing;\n$al22 = L[0];\nvar anf_assign29 = G(Pick39.$var,\"pick-none\",L[0]);\npick$none42.$var = anf_assign29;\nR.nothing;\n$al22 = L[1];\nvar anf_assign31 = G(Pick39.$var,\"is-pick-some\",L[1]);\nis$pick$some43.$var = anf_assign31;\nR.nothing;\n$al22 = L[1];\nvar anf_assign33 = G(Pick39.$var,\"pick-some\",L[1]);\npick$some44.$var = anf_assign33;\nR.nothing;\n$step4 = 1;\n$ans18 = R.maybeMethodCall2(builtins1,\"trace-value\",L[5],L[5],nothing2);\nbreak;\ncase 1: var answer37 = $ans18;\n$step4 = 2;\n$ans18 = R.maybeMethodCall0(builtins1,\"current-checker\",L[4]);\nbreak;\ncase 2: var anf_method_obj35 = $ans18;\n$step4 = 3;\n$ans18 = R.maybeMethodCall0(anf_method_obj35,\"results\",L[4]);\nbreak;\ncase 3: var checks38 = $ans18;\n$step4 = 4;\n$ans18 = R.mO({\"answer\":answer37,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"pick-some\":pick$some44.$var,\n\"is-pick-none\":is$pick$none41.$var,\n\"pick-none\":pick$none42.$var,\n\"is-Pick\":is$Pick40.$var,\n\"is-pick-some\":is$pick$some43.$var},\n\"defined-types\":{\"Pick\":Pick45},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"pick-some\":pick$some44.$var,\n\"is-pick-none\":is$pick$none41.$var,\n\"pick-none\":pick$none42.$var,\n\"is-Pick\":is$Pick40.$var,\n\"is-pick-some\":is$pick$some43.$var}),\n\"types\":{\"Pick\":Pick45},\n\"modules\":{}}),\n\"checks\":checks38});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans18;\ndefault: R.ffi.throwSpinnakerError(L[6],$step4);\n}\n}\nif($step4 !== 4) {\n$ans18.stack[R.EXN_STACKHEIGHT++] = R.mAR($al22,$toplevel5,$step4,[],[is$pick$none41,Pick45,is$pick$some43,is$Pick40,answer37,pick$none42,pick$some44],$elidedFrames24);\n}\nreturn $ans18;\n};\nreturn R.safeCall($toplevel5,function module_load(moduleVal) {\nR.modules[\"$builtin://pick1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-pick-some":{"bind":"fun", -"origin":{"local-bind-site":["builtin://pick", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://pick", -8, -2, -80, -8, -34, -112], -"new-definition":true, -"uri-of-definition":"builtin://pick"}, -"flatness":0, -"name":"is-pick-some", -"typ":"tany"}, -"is-Pick":{"bind":"let", -"origin":{"local-bind-site":["builtin://pick", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://pick", -6, -0, -47, -9, -3, -116], -"new-definition":true, -"uri-of-definition":"builtin://pick"}, -"typ":"tany"}, -"pick-none":{"bind":"let", -"origin":{"local-bind-site":["builtin://pick", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://pick", -7, -2, -66, -7, -13, -77], -"new-definition":true, -"uri-of-definition":"builtin://pick"}, -"typ":"tany"}, -"is-pick-none":{"bind":"fun", -"origin":{"local-bind-site":["builtin://pick", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://pick", -7, -2, -66, -7, -13, -77], -"new-definition":true, -"uri-of-definition":"builtin://pick"}, -"flatness":0, -"name":"is-pick-none", -"typ":"tany"}, -"pick-some":{"bind":"fun", -"origin":{"local-bind-site":["builtin://pick", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://pick", -8, -2, -80, -8, -34, -112], -"new-definition":true, -"uri-of-definition":"builtin://pick"}, -"flatness":0, -"name":"pick-some", -"typ":"tany"}}, -"datatypes":{"Pick":["data",{"local-bind-site":["builtin://pick", -6, -0, -47, -9, -3, -116], -"definition-bind-site":["builtin://pick", -6, -0, -47, -9, -3, -116], -"new-definition":true, -"uri-of-definition":"builtin://pick"},"Pick",["atom#a#10","atom#b#11"],[["pick-none", -{}],["pick-some", -[["elt", -["tid", -"atom#a#10"]],["rest", -["tid", -"atom#b#11"]]], -{}]],{}]}, -"aliases":{"Pick":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://sets":({"theMap":"{\"version\":3,\"sources\":[\"builtin://sets\"],\"names\":[\"builtin://sets\",\",149,4,6146,149,18,6160\",\",152,11,6214,152,28,6231\",\",152,7,6210,152,29,6232\",\",153,6,6240,153,51,6285\",\",155,9,6305,155,23,6319\",\",155,25,6321,155,40,6336\",\",155,6,6302,155,41,6337\",\",31,48,660,31,73,685\",\",52,6,1614,52,12,1620\",\",56,16,1772,56,26,1782\",\",56,9,1765,56,26,1782\",\",57,20,1809,57,30,1819\",\",57,14,1803,57,30,1819\",\",57,32,1821,57,41,1830\",\",57,32,1821,57,55,1844\",\",58,12,1857,58,22,1867\",\",58,12,1857,58,36,1881\",\",63,16,2032,63,26,2042\",\",63,9,2025,63,26,2042\",\",63,42,2058,63,51,2067\",\",63,53,2069,63,63,2079\",\",63,28,2044,63,64,2080\",\",64,20,2101,64,30,2111\",\",64,14,2095,64,30,2111\",\",65,27,2140,65,37,2150\",\",65,39,2152,65,48,2161\",\",65,39,2152,65,60,2173\",\",65,62,2175,65,72,2185\",\",65,18,2131,65,73,2186\",\",65,8,2121,65,74,2187\",\",67,27,2227,67,37,2237\",\",67,39,2239,67,48,2248\",\",67,50,2250,67,60,2260\",\",67,50,2250,67,72,2272\",\",67,18,2218,67,73,2273\",\",67,8,2208,67,74,2274\",\",72,16,2422,72,26,2432\",\",72,9,2415,72,26,2432\",\",72,28,2434,72,45,2451\",\",73,20,2472,73,30,2482\",\",73,14,2466,73,30,2482\",\",74,27,2511,74,37,2521\",\",74,39,2523,74,48,2532\",\",74,39,2523,74,60,2544\",\",74,62,2546,74,72,2556\",\",74,18,2502,74,73,2557\",\",74,8,2492,74,74,2558\",\",76,27,2598,76,37,2608\",\",76,39,2610,76,48,2619\",\",76,50,2621,76,60,2631\",\",76,50,2621,76,72,2643\",\",76,18,2589,76,73,2644\",\",76,8,2579,76,74,2645\",\",81,22,2806,81,32,2816\",\",82,6,2888,82,40,2922\",\",86,22,3107,86,32,3117\",\",87,6,3128,87,39,3161\",\",91,22,3314,91,32,3324\",\",92,6,3335,92,41,3370\",\",96,22,3524,96,32,3534\",\",97,6,3545,97,37,3576\",\",101,22,3727,101,32,3737\",\",102,6,3748,102,36,3778\",\",106,22,3934,106,32,3944\",\",107,6,3955,107,38,3987\",\",112,6,4195,112,16,4205\",\",112,34,4223,112,43,4232\",\",112,69,4258,112,79,4268\",\",112,61,4250,112,80,4269\",\",112,34,4223,112,81,4270\",\",112,6,4195,112,82,4271\",\",117,6,4478,117,16,4488\",\",117,35,4507,117,44,4516\",\",117,35,4507,117,66,4538\",\",117,68,4540,117,78,4550\",\",117,33,4505,117,79,4551\",\",117,6,4478,117,80,4552\",\",122,8,4764,122,18,4774\",\",122,37,4793,122,46,4802\",\",122,37,4793,122,70,4826\",\",122,8,4764,122,71,4827\",\",122,73,4829,122,83,4839\",\",122,6,4762,122,84,4840\",\",127,6,5065,127,15,5074\",\",127,36,5095,127,46,5105\",\",127,75,5134,127,85,5144\",\",127,67,5126,127,86,5145\",\",127,36,5095,127,87,5146\",\",127,6,5065,127,88,5147\",\",132,6,5370,132,15,5379\",\",132,37,5401,132,47,5411\",\",132,37,5401,132,72,5436\",\",132,74,5438,132,84,5448\",\",132,35,5399,132,85,5449\",\",132,6,5370,132,86,5450\",\",137,8,5679,137,17,5688\",\",137,39,5710,137,49,5720\",\",137,39,5710,137,76,5747\",\",137,8,5679,137,77,5748\",\",137,79,5750,137,89,5760\",\",137,6,5677,137,90,5761\",\",139,28,5799,139,37,5808\",\",139,28,5799,139,45,5816\",\",139,24,5795,139,45,5816\",\",139,48,5819,139,58,5829\",\",139,48,5819,139,66,5837\",\",139,24,5795,139,66,5837\",\",141,8,5876,141,18,5886\",\",141,6,5874,141,19,5887\",\",141,24,5892,141,34,5902\",\",141,24,5892,141,41,5909\",\",141,46,5914,141,55,5923\",\",141,46,5914,141,62,5930\",\",144,8,5973,144,18,5983\",\",144,6,5971,144,19,5984\",\",144,23,5988,144,33,5998\",\",144,23,5988,144,40,6005\",\",144,44,6009,144,53,6018\",\",144,44,6009,144,60,6025\",\",27,0,480,158,3,6355\",\",28,2,496,47,34,1449\",\",49,2,1453,145,7,6033\",\",160,30,6387,160,57,6414\",\",161,23,6442,161,34,6453\",\",162,23,6481,162,34,6492\",\",165,22,6581,165,35,6594\",\",165,37,6596,165,51,6610\",\",165,14,6573,165,52,6611\",\",165,14,6573,165,56,6615\",\",165,2,6561,165,70,6629\",\",170,13,6700,170,19,6706\",\",170,13,6700,170,25,6712\",\",170,27,6714,170,33,6720\",\",170,27,6714,170,38,6725\",\",170,49,6736,170,56,6743\",\",170,58,6745,170,64,6751\",\",170,58,6745,170,70,6757\",\",170,72,6759,170,79,6766\",\",170,40,6727,170,80,6767\",\",170,4,6691,170,81,6768\",\",173,13,6810,173,20,6817\",\",173,13,6810,173,26,6823\",\",173,37,6834,173,44,6841\",\",173,46,6843,173,52,6849\",\",173,54,6851,173,61,6858\",\",173,54,6851,173,66,6863\",\",173,28,6825,173,67,6864\",\",173,69,6866,173,76,6873\",\",173,69,6866,173,82,6879\",\",173,4,6801,173,83,6880\",\",176,13,6921,176,19,6927\",\",176,13,6921,176,25,6933\",\",176,13,6921,176,31,6939\",\",177,15,6956,177,21,6962\",\",177,15,6956,177,27,6968\",\",177,29,6970,177,35,6976\",\",177,29,6970,177,40,6981\",\",177,42,6983,177,48,6989\",\",177,42,6983,177,54,6995\",\",177,42,6983,177,59,7000\",\",177,6,6947,177,60,7001\",\",178,15,7018,178,22,7025\",\",178,24,7027,178,30,7033\",\",178,24,7027,178,36,7039\",\",178,24,7027,178,42,7045\",\",178,44,7047,178,51,7054\",\",178,6,7009,178,52,7055\",\",176,4,6912,178,53,7056\",\",181,13,7097,181,20,7104\",\",181,13,7097,181,25,7109\",\",181,13,7097,181,31,7115\",\",182,15,7132,182,22,7139\",\",182,24,7141,182,30,7147\",\",182,32,7149,182,39,7156\",\",182,32,7149,182,44,7161\",\",182,32,7149,182,49,7166\",\",182,6,7123,182,50,7167\",\",183,15,7184,183,22,7191\",\",183,15,7184,183,28,7197\",\",183,30,7199,183,37,7206\",\",183,30,7199,183,42,7211\",\",183,30,7199,183,48,7217\",\",183,50,7219,183,57,7226\",\",183,50,7219,183,63,7232\",\",183,6,7175,183,64,7233\",\",181,4,7088,183,65,7234\",\",185,7,7248,185,16,7257\",\",185,7,7248,185,25,7266\",\",186,7,7274,186,17,7284\",\",186,7,7274,186,26,7293\",\",187,13,7307,187,20,7314\",\",187,5,7299,187,21,7315\",\",187,5,7299,187,26,7320\",\",189,11,7342,189,18,7349\",\",189,10,7341,189,24,7355\",\",190,7,7364,190,16,7373\",\",190,7,7364,190,21,7378\",\",190,7,7364,190,30,7387\",\",190,34,7391,190,43,7400\",\",190,34,7391,190,49,7406\",\",190,34,7391,190,58,7415\",\",190,7,7364,190,58,7415\",\",191,6,7423,191,21,7438\",\",193,6,7455,193,22,7471\",\",195,11,7491,195,18,7498\",\",195,10,7490,195,24,7504\",\",196,7,7513,196,17,7523\",\",196,7,7513,196,23,7529\",\",196,7,7513,196,32,7538\",\",196,36,7542,196,46,7552\",\",196,36,7542,196,51,7557\",\",196,36,7542,196,60,7566\",\",196,7,7513,196,60,7566\",\",197,6,7574,197,23,7591\",\",199,6,7608,199,22,7624\",\",202,4,7645,202,48,7689\",\",207,13,7748,207,22,7757\",\",207,5,7740,207,23,7758\",\",208,15,7775,208,25,7785\",\",208,7,7767,208,26,7786\",\",211,6,7815,211,16,7825\",\",214,15,7857,214,25,7867\",\",214,7,7849,214,26,7868\",\",215,6,7876,215,15,7885\",\",217,6,7902,217,28,7924\",\",225,16,8040,225,55,8079\",\",226,37,8117,226,51,8131\",\",224,4,8006,227,7,8168\",\",231,16,8253,231,53,8290\",\",233,11,8341,233,25,8355\",\",236,40,8426,236,76,8462\",\",236,20,8406,236,77,8463\",\",236,10,8396,236,78,8464\",\",230,4,8219,238,7,8484\",\",240,30,8521,240,39,8530\",\",240,21,8512,240,40,8531\",\",240,21,8512,240,46,8537\",\",241,36,8575,241,45,8584\",\",241,6,8545,241,46,8585\",\",242,6,8593,242,16,8603\",\",240,12,8503,242,17,8604\",\",240,2,8493,242,18,8605\",\",431,4,13841,431,21,13858\",\",431,33,13870,431,54,13891\",\",431,4,13841,431,55,13892\",\",435,11,13947,435,24,13960\",\",435,7,13943,435,25,13961\",\",436,6,13969,436,47,14010\",\",438,18,14039,438,32,14053\",\",439,19,14073,439,34,14088\",\",440,13,14102,440,32,14121\",\",440,36,14125,440,54,14143\",\",440,13,14102,440,54,14143\",\",440,9,14098,440,55,14144\",\",441,8,14154,441,50,14196\",\",444,27,14302,444,59,14334\",\",445,10,14345,445,52,14387\",\",443,8,14217,446,11,14399\",\",262,12,9158,262,22,9168\",\",267,36,9306,267,51,9321\",\",267,23,9293,267,52,9322\",\",269,26,9379,269,35,9388\",\",270,17,9406,270,31,9420\",\",271,29,9451,271,40,9462\",\",271,16,9438,271,41,9463\",\",273,39,9523,273,50,9534\",\",273,30,9514,273,51,9535\",\",273,16,9500,273,52,9536\",\",266,10,9255,275,13,9568\",\",263,6,9175,276,9,9578\",\",278,55,9643,278,69,9657\",\",278,55,9643,278,86,9674\",\",278,26,9614,278,87,9675\",\",281,20,9762,281,30,9772\",\",281,6,9748,281,31,9773\",\",286,6,9892,286,16,9902\",\",286,6,9892,286,29,9915\",\",291,10,10047,291,20,10057\",\",291,10,10047,291,33,10070\",\",294,28,10126,294,38,10136\",\",294,17,10115,294,39,10137\",\",294,8,10106,294,40,10138\",\",300,15,10281,300,25,10291\",\",300,15,10281,300,38,10304\",\",300,6,10272,300,39,10305\",\",305,6,10408,305,16,10418\",\",311,8,10580,311,19,10591\",\",310,6,10547,312,16,10608\",\",318,11,10826,318,29,10844\",\",321,10,10886,321,28,10904\",\",317,38,10780,317,48,10790\",\",317,60,10802,317,70,10812\",\",317,18,10760,323,9,10926\",\",324,6,10933,324,25,10952\",\",329,15,11123,329,27,11135\",\",329,6,11114,329,28,11136\",\",335,11,11357,335,29,11375\",\",336,10,11387,336,28,11405\",\",334,38,11311,334,48,11321\",\",334,60,11333,334,70,11343\",\",334,18,11291,340,9,11457\",\",341,6,11464,341,25,11483\",\",345,6,11540,345,16,11550\",\",345,6,11540,345,25,11559\",\",348,36,11606,348,46,11616\",\",348,27,11597,348,47,11617\",\",351,6,11666,351,16,11676\",\",351,6,11666,351,23,11683\",\",355,6,11736,355,16,11746\",\",355,6,11736,355,23,11753\",\",360,10,11837,360,20,11847\",\",364,32,11964,364,43,11975\",\",364,23,11955,364,44,11976\",\",364,10,11942,364,45,11977\",\",361,6,11854,365,9,11987\",\",367,55,12052,367,69,12066\",\",367,55,12052,367,86,12083\",\",367,26,12023,367,87,12084\",\",370,25,12171,370,35,12181\",\",370,6,12152,370,36,12182\",\",375,6,12301,375,16,12311\",\",375,6,12301,375,31,12326\",\",380,15,12463,380,25,12473\",\",380,15,12463,380,38,12486\",\",380,6,12454,380,39,12487\",\",385,15,12620,385,25,12630\",\",385,15,12620,385,38,12643\",\",385,6,12611,385,39,12644\",\",390,6,12747,390,16,12757\",\",390,6,12747,390,26,12767\",\",395,6,12875,395,33,12902\",\",400,6,13021,400,37,13052\",\",405,15,13223,405,27,13235\",\",405,6,13214,405,28,13236\",\",410,6,13375,410,38,13407\",\",414,6,13464,414,16,13474\",\",414,6,13464,414,24,13482\",\",417,35,13528,417,45,13538\",\",417,27,13520,417,46,13539\",\",420,6,13588,420,16,13598\",\",420,6,13588,420,23,13605\",\",424,6,13658,424,16,13668\",\",424,6,13658,424,23,13675\",\",259,0,9079,450,3,14427\",\",260,2,9091,356,7,11761\",\",358,2,11769,425,7,13683\",\",454,25,14498,454,37,14510\",\",455,25,14536,455,40,14551\",\",453,2,14459,456,5,14557\",\",466,8,14936,466,22,14950\",\",468,7,14975,468,13,14981\",\",469,12,15006,469,26,15020\",\",471,30,15067,471,35,15072\",\",471,20,15057,471,36,15073\",\",471,13,15050,471,37,15074\",\",472,13,15088,472,23,15098\",\",473,14,15113,473,23,15122\",\",474,19,15142,474,32,15155\",\",474,19,15142,474,36,15159\",\",474,64,15187,474,69,15192\",\",474,63,15186,474,74,15197\",\",474,51,15174,474,75,15198\",\",474,44,15167,474,76,15199\",\",474,6,15129,474,77,15200\",\",477,2,15217,477,13,15228\",\",490,5,15752,490,17,15764\",\",491,10,15779,491,22,15791\",\",492,10,15806,492,18,15814\",\",492,21,15817,492,29,15825\",\",492,10,15806,492,29,15825\",\",492,37,15833,492,45,15841\",\",492,61,15857,492,68,15864\",\",492,47,15843,492,73,15869\",\",492,32,15828,492,74,15870\",\",493,10,15881,493,18,15889\",\",493,22,15893,493,30,15901\",\",493,10,15881,493,30,15901\",\",493,46,15917,493,53,15924\",\",494,37,15967,494,45,15975\",\",494,65,15995,494,72,16002\",\",494,47,15977,494,73,16003\",\",494,32,15962,494,74,16004\",\",501,13,16155,501,36,16178\",\",502,13,16192,502,36,16215\",\",503,14,16230,503,47,16263\",\",504,11,16275,504,43,16307\",\",504,2,16266,504,44,16308\",\",509,5,16433,509,17,16445\",\",509,21,16449,509,33,16461\",\",510,10,16479,510,18,16487\",\",510,21,16490,510,29,16498\",\",510,10,16479,510,29,16498\",\",510,48,16517,510,55,16524\",\",511,10,16540,511,18,16548\",\",511,22,16552,511,30,16560\",\",511,10,16540,511,30,16560\",\",511,37,16567,511,45,16575\",\",511,63,16593,511,70,16600\",\",511,72,16602,511,79,16609\",\",511,47,16577,511,80,16610\",\",511,32,16562,511,81,16611\",\",512,52,16664,512,59,16671\",\",519,13,16817,519,36,16840\",\",520,13,16854,520,36,16877\",\",521,14,16892,521,49,16927\",\",522,11,16939,522,43,16971\",\",522,2,16930,522,44,16972\",\",527,5,17101,527,17,17113\",\",527,21,17117,527,33,17129\",\",528,10,17144,528,18,17152\",\",528,22,17156,528,30,17164\",\",528,10,17144,528,30,17164\",\",528,46,17180,528,53,17187\",\",528,55,17189,528,62,17196\",\",529,10,17208,529,18,17216\",\",529,21,17219,529,29,17227\",\",529,10,17208,529,29,17227\",\",529,37,17235,529,45,17243\",\",529,61,17259,529,68,17266\",\",529,47,17245,529,73,17271\",\",529,32,17230,529,74,17272\",\",530,50,17323,530,57,17330\",\",537,13,17475,537,36,17498\",\",538,13,17512,538,36,17535\",\",539,14,17550,539,47,17583\",\",540,11,17595,540,43,17627\",\",540,2,17586,540,44,17628\",\",544,2,17673,544,10,17681\",\",548,2,17726,548,10,17734\",\",552,2,17775,552,17,17790\",\",558,4,17934,558,15,17945\",\",557,2,17888,559,5,17951\",\",564,19,18065,564,34,18080\",\",564,2,18048,564,35,18081\",\",569,19,18195,569,33,18209\",\",569,2,18178,569,34,18210\",\",574,4,18293,574,20,18309\",\",573,2,18249,575,5,18315\",\",580,4,18441,580,15,18452\",\",579,29,18395,579,44,18410\",\",579,2,18368,581,5,18458\",\",586,4,18579,586,17,18592\",\",585,9,18518,587,5,18598\",\",588,2,18601,588,16,18615\",\",591,17,18638,591,32,18653\",\",592,17,18671,592,31,18685\",\",595,5,18712,595,11,18718\",\",595,13,18720,595,27,18734\",\",596,16,18751,596,30,18765\",\",596,8,18743,596,31,18766\",\",600,10,18810,600,16,18816\",\",600,18,18818,600,32,18832\",\",601,10,18843,601,16,18849\",\",601,18,18851,601,32,18865\",\",602,26,18892,602,40,18906\",\",602,18,18884,602,41,18907\",\",606,10,18954,606,16,18960\",\",606,18,18962,606,35,18979\",\",607,10,18990,607,16,18996\",\",607,18,18998,607,35,19015\",\",608,10,19026,608,16,19032\",\",608,18,19034,608,35,19051\",\",609,26,19078,609,43,19095\",\",609,18,19070,609,44,19096\",\",613,10,19146,613,16,19152\",\",613,18,19154,613,38,19174\",\",614,10,19185,614,16,19191\",\",614,18,19193,614,38,19213\",\",615,10,19224,615,16,19230\",\",615,18,19232,615,38,19252\",\",616,10,19263,616,16,19269\",\",616,18,19271,616,38,19291\",\",617,26,19318,617,46,19338\",\",617,18,19310,617,47,19339\",\",624,26,19458,624,40,19472\",\",624,17,19449,624,41,19473\",\",625,29,19508,625,43,19522\",\",625,20,19499,625,44,19523\",\",626,32,19561,626,49,19578\",\",626,23,19552,626,50,19579\",\",627,35,19620,627,55,19640\",\",627,26,19611,627,56,19641\",\",628,38,19685,628,61,19708\",\",628,29,19676,628,62,19709\",\",634,17,19815,634,38,19836\",\",635,20,19862,635,41,19883\",\",635,20,19862,635,48,19890\",\",636,23,19919,636,44,19940\",\",636,23,19919,636,51,19947\",\",636,23,19919,636,58,19954\",\",637,26,19986,637,47,20007\",\",637,26,19986,637,54,20014\",\",637,26,19986,637,61,20021\",\",637,26,19986,637,68,20028\",\",638,29,20063,638,50,20084\",\",638,29,20063,638,57,20091\",\",638,29,20063,638,64,20098\",\",638,29,20063,638,71,20105\",\",638,29,20063,638,78,20112\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAoJGC,yCApJHD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJUE,qCAvJVF;AAAAA;AAuJUE,+BAvJVF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuJMG,gCAvJNH;AAAAA;AAuJMG,4BAvJNH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwJKI,mEAxJLJ;AAAAA;AAwJKI,oFAxJLJ;AAAAA;AAAAA;AAAAA,SA0JQK,yCA1JRL;AAAAA;AAAAA;AAAAA;AAAAA,SA0JwBM,0CA1JxBN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0JKO,gCA1JLP;AAAAA;AA0JKO,sCA1JLP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8B+CQ,sCA9B/CR;AAAAA;AA8B+CQ,oDA9B/CR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wBAmDKS,oBAnDLT;AAAAA;AAAAA;AAAAA;AAAAA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AAA;AAAAA;AAAAA;AAAAA;AAgFqBsD,8BAhFrBtD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAiFKuD,yEAjFLvD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqFqBwD,8BArFrBxD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAsFKyD,wEAtFLzD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0FqB0D,8BA1FrB1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA2FK2D,0EA3FL3D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+FqB4D,8BA/FrB5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAgGK6D,sEAhGL7D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoGqB8D,8BApGrB9D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAqGK+D,qEArGL/D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyGqBgE,8BAzGrBhE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UA0GKiE,uEA1GLjE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA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AA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAgTK8R,0BAhTL9R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAsTO+R,+CAtTP/R;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAqTKgS,gEArTLhS;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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A;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA+hBC4a,4CA/hBD5a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmiBC6a,4CAniBD7a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAuiBC8a,sDAviBD9a;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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\",\"file\":\"builtin://sets\"}", -"theModule":"function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__707(R,NAMESPACE,M,$equality26,$$underscore_import5,$$included$225,$$included$127,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://sets\";\nvar D = R.undefined;\nvar L = [[M,147,2,6045,150,5,6166],\n[M,149,4,6146,149,18,6160],\n[M,147,26,6069,147,30,6073],\n[M,151,2,6170,157,5,6351],\n[M,152,11,6214,152,21,6224],\n[M,153,6,6240,153,51,6285],\n[M,155,9,6305,155,23,6319],\n[M,155,25,6321,155,40,6336],\n[M,155,6,6302,155,41,6337],\n[M,152,7,6210,152,29,6232],\n[M,152,11,6214,152,28,6231],\n[M,29,4,513,29,40,549],\n[M,29,27,536,29,33,542],\n[M,30,4,555,30,59,610],\n[M,30,41,592,30,48,599],\n[M,31,4,616,31,77,689],\n[M,31,48,660,31,56,668],\n[M,31,62,674,31,66,678],\n[M,31,68,680,31,72,684],\n[M,31,39,651,31,46,658],\n[M,31,48,660,31,73,685],\n[M,32,4,695,32,56,747],\n[M,32,48,739,32,52,743],\n[M,32,39,730,32,46,737],\n[M,33,4,753,33,44,793],\n[M,33,29,778,33,33,782],\n[M,34,4,799,34,43,838],\n[M,34,28,823,34,32,827],\n[M,35,4,844,35,45,885],\n[M,35,30,870,35,34,874],\n[M,36,4,891,36,47,934],\n[M,36,32,919,36,36,923],\n[M,37,4,940,37,46,982],\n[M,37,31,967,37,35,971],\n[M,38,4,988,38,48,1032],\n[M,38,33,1017,38,37,1021],\n[M,39,4,1038,39,49,1083],\n[M,40,4,1089,40,48,1133],\n[M,41,4,1139,41,50,1185],\n[M,42,4,1191,42,52,1239],\n[M,43,4,1245,43,51,1292],\n[M,44,4,1298,44,53,1347],\n[M,45,4,1353,45,29,1378],\n[M,46,4,1384,46,33,1413],\n[M,47,4,1419,47,34,1449],\n[M,50,4,1534,53,7,1628],\n[M,52,6,1614,52,12,1620],\n[M,50,27,1557,50,33,1563],\n[M,54,4,1634,60,7,1899],\n[M,56,16,1772,56,26,1782],\n[M,54,41,1671,54,48,1678],\n[M,57,20,1809,57,30,1819],\n[M,57,32,1821,57,41,1830],\n[M,57,32,1821,57,55,1844],\n[M,58,12,1857,58,22,1867],\n[M,58,12,1857,58,36,1881],\n[M,57,14,1803,57,30,1819],\n[M,56,9,1765,56,26,1782],\n[M,61,4,1905,69,7,2292],\n[M,63,16,2032,63,26,2042],\n[M,61,39,1940,61,46,1947],\n[M,63,28,2044,63,36,2052],\n[M,63,42,2058,63,51,2067],\n[M,63,53,2069,63,63,2079],\n[M,63,28,2044,63,64,2080],\n[M,64,20,2101,64,30,2111],\n[M,65,8,2121,65,17,2130],\n[M,65,18,2131,65,26,2139],\n[M,65,27,2140,65,37,2150],\n[M,65,39,2152,65,48,2161],\n[M,65,39,2152,65,60,2173],\n[M,65,62,2175,65,72,2185],\n[M,65,8,2121,65,74,2187],\n[M,65,18,2131,65,73,2186],\n[M,67,8,2208,67,17,2217],\n[M,67,18,2218,67,26,2226],\n[M,67,27,2227,67,37,2237],\n[M,67,39,2239,67,48,2248],\n[M,67,50,2250,67,60,2260],\n[M,67,50,2250,67,72,2272],\n[M,67,8,2208,67,74,2274],\n[M,67,18,2218,67,73,2273],\n[M,64,14,2095,64,30,2111],\n[M,63,9,2025,63,26,2042],\n[M,70,4,2298,78,7,2663],\n[M,72,16,2422,72,26,2432],\n[M,70,39,2333,70,46,2340],\n[M,72,28,2434,72,39,2445],\n[M,72,28,2434,72,45,2451],\n[M,73,20,2472,73,30,2482],\n[M,74,8,2492,74,17,2501],\n[M,74,18,2502,74,26,2510],\n[M,74,27,2511,74,37,2521],\n[M,74,39,2523,74,48,2532],\n[M,74,39,2523,74,60,2544],\n[M,74,62,2546,74,72,2556],\n[M,74,8,2492,74,74,2558],\n[M,74,18,2502,74,73,2557],\n[M,76,8,2579,76,17,2588],\n[M,76,18,2589,76,26,2597],\n[M,76,27,2598,76,37,2608],\n[M,76,39,2610,76,48,2619],\n[M,76,50,2621,76,60,2631],\n[M,76,50,2621,76,72,2643],\n[M,76,8,2579,76,74,2645],\n[M,76,18,2589,76,73,2644],\n[M,73,14,2466,73,30,2482],\n[M,72,9,2415,72,26,2432],\n[M,79,4,2669,83,7,2966],\n[M,81,6,2790,81,36,2820],\n[M,82,6,2888,82,40,2922],\n[M,79,29,2694,79,33,2698],\n[M,84,4,2972,88,7,3169],\n[M,86,6,3091,86,36,3121],\n[M,87,6,3128,87,39,3161],\n[M,84,28,2996,84,32,3000],\n[M,89,4,3175,93,7,3378],\n[M,91,6,3298,91,36,3328],\n[M,92,6,3335,92,41,3370],\n[M,89,30,3201,89,34,3205],\n[M,94,4,3384,98,7,3584],\n[M,96,6,3508,96,36,3538],\n[M,97,6,3545,97,37,3576],\n[M,94,32,3412,94,36,3416],\n[M,99,4,3590,103,7,3786],\n[M,101,6,3711,101,36,3741],\n[M,102,6,3748,102,36,3778],\n[M,99,31,3617,99,35,3621],\n[M,104,4,3792,108,7,3995],\n[M,106,6,3918,106,36,3948],\n[M,107,6,3955,107,38,3987],\n[M,104,33,3821,104,37,3825],\n[M,109,4,4001,113,7,4279],\n[M,112,6,4195,112,16,4205],\n[M,112,34,4223,112,43,4232],\n[M,112,69,4258,112,79,4268],\n[M,112,34,4223,112,81,4270],\n[M,112,6,4195,112,82,4271],\n[M,112,61,4250,112,80,4269],\n[M,114,4,4285,118,7,4560],\n[M,117,6,4478,117,16,4488],\n[M,117,35,4507,117,44,4516],\n[M,117,35,4507,117,66,4538],\n[M,117,68,4540,117,78,4550],\n[M,117,6,4478,117,80,4552],\n[M,117,33,4505,117,79,4551],\n[M,119,4,4566,123,7,4848],\n[M,122,8,4764,122,18,4774],\n[M,122,37,4793,122,46,4802],\n[M,122,37,4793,122,70,4826],\n[M,122,8,4764,122,71,4827],\n[M,122,73,4829,122,83,4839],\n[M,122,6,4762,122,84,4840],\n[M,124,4,4854,128,7,5155],\n[M,127,6,5065,127,15,5074],\n[M,127,36,5095,127,46,5105],\n[M,127,75,5134,127,85,5144],\n[M,127,36,5095,127,87,5146],\n[M,127,6,5065,127,88,5147],\n[M,127,67,5126,127,86,5145],\n[M,129,4,5161,133,7,5458],\n[M,132,6,5370,132,15,5379],\n[M,132,37,5401,132,47,5411],\n[M,132,37,5401,132,72,5436],\n[M,132,74,5438,132,84,5448],\n[M,132,6,5370,132,86,5450],\n[M,132,35,5399,132,85,5449],\n[M,134,4,5464,138,7,5769],\n[M,137,8,5679,137,17,5688],\n[M,137,39,5710,137,49,5720],\n[M,137,39,5710,137,76,5747],\n[M,137,8,5679,137,77,5748],\n[M,137,79,5750,137,89,5760],\n[M,137,6,5677,137,90,5761],\n[M,139,4,5775,139,70,5841],\n[M,139,28,5799,139,37,5808],\n[M,139,28,5799,139,45,5816],\n[M,139,48,5819,139,58,5829],\n[M,139,48,5819,139,66,5837],\n[M,139,24,5795,139,66,5837],\n[M,139,24,5795,139,45,5816],\n[M,140,4,5847,142,7,5938],\n[M,141,8,5876,141,18,5886],\n[M,141,24,5892,141,34,5902],\n[M,141,24,5892,141,41,5909],\n[M,141,46,5914,141,55,5923],\n[M,141,46,5914,141,62,5930],\n[M,141,6,5874,141,19,5887],\n[M,143,4,5944,145,7,6033],\n[M,144,8,5973,144,18,5983],\n[M,144,23,5988,144,33,5998],\n[M,144,23,5988,144,40,6005],\n[M,144,44,6009,144,53,6018],\n[M,144,44,6009,144,60,6025],\n[M,144,6,5971,144,19,5984],\n[M,28,2,496,47,34,1449],\n[M,49,2,1453,145,7,6033],\n[M,49,30,1481,49,36,1487],\n[M,49,46,1497,49,53,1504],\n[M,49,64,1515,49,71,1522],\n[M,27,0,480,158,3,6355],\n[M,160,0,6357,160,61,6418],\n[M,160,30,6387,160,57,6414],\n[M,161,0,6419,161,38,6457],\n[M,161,23,6442,161,34,6453],\n[M,162,0,6458,162,38,6496],\n[M,162,23,6481,162,34,6492],\n[M,164,0,6498,166,3,6633],\n[M,165,22,6581,165,35,6594],\n[M,165,37,6596,165,51,6610],\n[M,165,14,6573,165,56,6615],\n[M,164,33,6531,164,40,6538],\n[M,164,51,6549,164,58,6556],\n[M,168,0,6635,204,3,7699],\n[M,169,2,6669,171,5,6774],\n[M,170,13,6700,170,19,6706],\n[M,170,13,6700,170,25,6712],\n[M,170,27,6714,170,33,6720],\n[M,170,27,6714,170,38,6725],\n[M,170,49,6736,170,56,6743],\n[M,170,58,6745,170,64,6751],\n[M,170,58,6745,170,70,6757],\n[M,170,72,6759,170,79,6766],\n[M,170,4,6691,170,81,6768],\n[M,170,40,6727,170,80,6767],\n[M,172,2,6777,174,5,6886],\n[M,173,13,6810,173,20,6817],\n[M,173,13,6810,173,26,6823],\n[M,173,37,6834,173,44,6841],\n[M,173,46,6843,173,52,6849],\n[M,173,54,6851,173,61,6858],\n[M,173,54,6851,173,66,6863],\n[M,173,69,6866,173,76,6873],\n[M,173,69,6866,173,82,6879],\n[M,173,4,6801,173,83,6880],\n[M,173,28,6825,173,67,6864],\n[M,175,2,6889,179,5,7062],\n[M,176,13,6921,176,19,6927],\n[M,176,13,6921,176,25,6933],\n[M,176,13,6921,176,31,6939],\n[M,177,15,6956,177,21,6962],\n[M,177,15,6956,177,27,6968],\n[M,177,29,6970,177,35,6976],\n[M,177,29,6970,177,40,6981],\n[M,177,42,6983,177,48,6989],\n[M,177,42,6983,177,54,6995],\n[M,177,42,6983,177,59,7000],\n[M,178,15,7018,178,22,7025],\n[M,178,24,7027,178,30,7033],\n[M,178,24,7027,178,36,7039],\n[M,178,24,7027,178,42,7045],\n[M,178,44,7047,178,51,7054],\n[M,176,4,6912,178,53,7056],\n[M,178,6,7009,178,52,7055],\n[M,177,6,6947,177,60,7001],\n[M,180,2,7065,184,5,7240],\n[M,181,13,7097,181,20,7104],\n[M,181,13,7097,181,25,7109],\n[M,181,13,7097,181,31,7115],\n[M,182,15,7132,182,22,7139],\n[M,182,24,7141,182,30,7147],\n[M,182,32,7149,182,39,7156],\n[M,182,32,7149,182,44,7161],\n[M,182,32,7149,182,49,7166],\n[M,183,15,7184,183,22,7191],\n[M,183,15,7184,183,28,7197],\n[M,183,30,7199,183,37,7206],\n[M,183,30,7199,183,42,7211],\n[M,183,30,7199,183,48,7217],\n[M,183,50,7219,183,57,7226],\n[M,183,50,7219,183,63,7232],\n[M,181,4,7088,183,65,7234],\n[M,183,6,7175,183,64,7233],\n[M,182,6,7123,182,50,7167],\n[M,185,7,7248,185,16,7257],\n[M,185,7,7248,185,25,7266],\n[M,186,7,7274,186,17,7284],\n[M,186,7,7274,186,26,7293],\n[M,190,7,7364,190,16,7373],\n[M,190,7,7364,190,21,7378],\n[M,190,7,7364,190,30,7387],\n[M,190,34,7391,190,43,7400],\n[M,190,34,7391,190,49,7406],\n[M,190,34,7391,190,58,7415],\n[M,191,6,7423,191,21,7438],\n[M,193,6,7455,193,22,7471],\n[M,190,7,7364,190,58,7415],\n[M,196,7,7513,196,17,7523],\n[M,196,7,7513,196,23,7529],\n[M,196,7,7513,196,32,7538],\n[M,196,36,7542,196,46,7552],\n[M,196,36,7542,196,51,7557],\n[M,196,36,7542,196,60,7566],\n[M,197,6,7574,197,23,7591],\n[M,199,6,7608,199,22,7624],\n[M,196,7,7513,196,60,7566],\n[M,202,4,7645,202,48,7689],\n[M,195,10,7490,195,24,7504],\n[M,195,11,7491,195,18,7498],\n[M,189,10,7341,189,24,7355],\n[M,189,11,7342,189,18,7349],\n[M,187,5,7299,187,26,7320],\n[M,187,13,7307,187,20,7314],\n[M,168,22,6657,168,29,6664],\n[M,206,0,7701,220,3,7942],\n[M,207,13,7748,207,22,7757],\n[M,208,15,7775,208,25,7785],\n[M,211,6,7815,211,16,7825],\n[M,214,15,7857,214,25,7867],\n[M,215,6,7876,215,15,7885],\n[M,217,6,7902,217,22,7918],\n[M,217,6,7902,217,28,7924],\n[M,206,24,7725,206,31,7732],\n[M,222,0,7944,243,3,8609],\n[M,223,2,7985,228,5,8174],\n[M,225,16,8040,225,55,8079],\n[M,225,6,8030,225,55,8079],\n[M,224,4,8006,227,7,8168],\n[M,226,6,8086,226,80,8160],\n[M,224,10,8012,224,17,8019],\n[M,229,2,8177,239,5,8490],\n[M,231,16,8253,231,53,8290],\n[M,231,6,8243,231,53,8290],\n[M,230,4,8219,238,7,8484],\n[M,236,10,8396,236,78,8464],\n[M,236,20,8406,236,77,8463],\n[M,236,40,8426,236,76,8462],\n[M,232,6,8297,237,11,8476],\n[M,230,10,8225,230,17,8232],\n[M,240,30,8521,240,39,8530],\n[M,240,21,8512,240,46,8537],\n[M,241,36,8575,241,45,8584],\n[M,242,6,8593,242,16,8603],\n[M,240,2,8493,242,18,8605],\n[M,240,12,8503,242,17,8604],\n[M,241,6,8545,241,46,8585],\n[M,240,21,8512,240,40,8531],\n[M,222,29,7973,222,36,7980],\n[M,429,2,13701,432,5,13898],\n[M,431,4,13841,431,21,13858],\n[M,431,33,13870,431,54,13891],\n[M,431,4,13841,431,55,13892],\n[M,429,60,13759,429,63,13762],\n[M,429,38,13737,429,41,13740],\n[M,429,52,13751,429,55,13754],\n[M,434,2,13903,449,5,14423],\n[M,435,11,13947,435,17,13953],\n[M,436,6,13969,436,47,14010],\n[M,438,18,14039,438,32,14053],\n[M,439,19,14073,439,34,14088],\n[M,440,13,14102,440,32,14121],\n[M,440,36,14125,440,54,14143],\n[M,441,8,14154,441,50,14196],\n[M,443,8,14217,446,11,14399],\n[M,445,10,14345,445,52,14387],\n[M,444,27,14302,444,59,14334],\n[M,440,9,14098,440,55,14144],\n[M,440,13,14102,440,54,14143],\n[M,435,7,13943,435,25,13961],\n[M,435,11,13947,435,24,13960],\n[M,261,4,9127,277,7,9586],\n[M,262,12,9158,262,22,9168],\n[M,264,8,9200,264,28,9220],\n[M,263,6,9175,276,9,9578],\n[M,267,36,9306,267,44,9314],\n[M,267,36,9306,267,51,9321],\n[M,267,12,9282,267,52,9322],\n[M,266,10,9255,275,13,9568],\n[M,271,29,9451,271,37,9459],\n[M,271,29,9451,271,40,9462],\n[M,273,30,9514,273,38,9522],\n[M,273,30,9514,273,51,9535],\n[M,270,17,9406,270,31,9420],\n[M,269,14,9367,269,35,9388],\n[M,268,12,9335,274,17,9554],\n[M,266,16,9261,266,20,9265],\n[M,265,8,9229,275,13,9568],\n[M,263,12,9181,263,16,9185],\n[M,278,4,9592,278,91,9679],\n[M,278,55,9643,278,69,9657],\n[M,278,55,9643,278,86,9674],\n[M,278,26,9614,278,87,9675],\n[M,280,4,9686,282,7,9781],\n[M,281,20,9762,281,30,9772],\n[M,281,6,9748,281,31,9773],\n[M,280,27,9709,280,44,9726],\n[M,284,4,9788,287,7,9923],\n[M,286,6,9892,286,16,9902],\n[M,286,6,9892,286,29,9915],\n[M,284,40,9824,284,47,9831],\n[M,289,4,9930,296,7,10156],\n[M,291,10,10047,291,20,10057],\n[M,291,10,10047,291,33,10070],\n[M,289,37,9963,289,40,9966],\n[M,294,8,10106,294,16,10114],\n[M,294,28,10126,294,38,10136],\n[M,294,8,10106,294,40,10138],\n[M,298,4,10163,301,7,10313],\n[M,300,6,10272,300,14,10280],\n[M,300,15,10281,300,25,10291],\n[M,300,15,10281,300,38,10304],\n[M,298,40,10199,298,43,10202],\n[M,300,6,10272,300,39,10305],\n[M,303,4,10320,306,7,10426],\n[M,305,6,10408,305,16,10418],\n[M,303,28,10344,303,32,10348],\n[M,308,4,10433,313,7,10616],\n[M,310,17,10558,312,9,10601],\n[M,311,8,10580,311,19,10591],\n[M,310,6,10547,312,16,10608],\n[M,308,47,10476,308,50,10479],\n[M,308,25,10454,308,28,10457],\n[M,308,39,10468,308,42,10471],\n[M,315,4,10623,325,7,10960],\n[M,317,18,10760,323,9,10926],\n[M,318,11,10826,318,29,10844],\n[M,321,10,10886,321,28,10904],\n[M,317,38,10780,317,48,10790],\n[M,317,60,10802,317,70,10812],\n[M,324,6,10933,324,14,10941],\n[M,315,51,10670,315,54,10673],\n[M,324,6,10933,324,25,10952],\n[M,315,29,10648,315,32,10651],\n[M,315,43,10662,315,46,10665],\n[M,327,4,10967,330,7,11144],\n[M,329,15,11123,329,27,11135],\n[M,329,6,11114,329,28,11136],\n[M,327,50,11013,327,57,11020],\n[M,327,28,10991,327,31,10994],\n[M,327,42,11005,327,45,11008],\n[M,332,4,11155,342,7,11491],\n[M,334,18,11291,340,9,11457],\n[M,335,11,11357,335,29,11375],\n[M,336,10,11387,336,28,11405],\n[M,334,38,11311,334,48,11321],\n[M,334,60,11333,334,70,11343],\n[M,341,6,11464,341,14,11472],\n[M,332,52,11203,332,55,11206],\n[M,341,6,11464,341,25,11483],\n[M,332,30,11181,332,33,11184],\n[M,332,44,11195,332,47,11198],\n[M,344,4,11498,346,7,11567],\n[M,345,6,11540,345,16,11550],\n[M,345,6,11540,345,25,11559],\n[M,344,32,11526,344,38,11532],\n[M,344,24,11518,344,27,11521],\n[M,348,4,11574,348,51,11621],\n[M,348,36,11606,348,46,11616],\n[M,350,4,11628,352,7,11691],\n[M,351,6,11666,351,16,11676],\n[M,351,6,11666,351,23,11683],\n[M,350,27,11651,350,34,11658],\n[M,354,4,11698,356,7,11761],\n[M,355,6,11736,355,16,11746],\n[M,355,6,11736,355,23,11753],\n[M,354,27,11721,354,34,11728],\n[M,359,4,11808,366,7,11995],\n[M,360,10,11837,360,20,11847],\n[M,362,8,11880,362,27,11899],\n[M,361,6,11854,365,9,11987],\n[M,364,23,11955,364,31,11963],\n[M,364,32,11964,364,43,11975],\n[M,364,23,11955,364,44,11976],\n[M,363,8,11908,364,45,11977],\n[M,361,12,11860,361,19,11867],\n[M,367,4,12001,367,91,12088],\n[M,367,55,12052,367,69,12066],\n[M,367,55,12052,367,86,12083],\n[M,367,26,12023,367,87,12084],\n[M,369,4,12095,371,7,12190],\n[M,370,25,12171,370,35,12181],\n[M,370,6,12152,370,36,12182],\n[M,369,27,12118,369,39,12130],\n[M,373,4,12197,376,7,12334],\n[M,375,6,12301,375,16,12311],\n[M,375,6,12301,375,31,12326],\n[M,373,40,12233,373,47,12240],\n[M,378,4,12341,381,7,12495],\n[M,380,6,12454,380,14,12462],\n[M,380,15,12463,380,25,12473],\n[M,380,15,12463,380,38,12486],\n[M,378,37,12374,378,40,12377],\n[M,380,6,12454,380,39,12487],\n[M,383,4,12502,386,7,12652],\n[M,385,6,12611,385,14,12619],\n[M,385,15,12620,385,25,12630],\n[M,385,15,12620,385,38,12643],\n[M,383,40,12538,383,43,12541],\n[M,385,6,12611,385,39,12644],\n[M,388,4,12659,391,7,12775],\n[M,390,6,12747,390,16,12757],\n[M,390,6,12747,390,26,12767],\n[M,388,28,12683,388,32,12687],\n[M,393,4,12782,396,7,12910],\n[M,395,6,12875,395,20,12889],\n[M,395,6,12875,395,33,12902],\n[M,398,4,12917,401,7,13060],\n[M,400,6,13021,400,24,13039],\n[M,400,6,13021,400,37,13052],\n[M,403,4,13067,406,7,13244],\n[M,405,15,13223,405,27,13235],\n[M,405,6,13214,405,28,13236],\n[M,403,50,13113,403,57,13120],\n[M,403,28,13091,403,31,13094],\n[M,403,42,13105,403,45,13108],\n[M,408,4,13251,411,7,13415],\n[M,410,6,13375,410,25,13394],\n[M,408,52,13299,408,55,13302],\n[M,410,6,13375,410,38,13407],\n[M,408,30,13277,408,33,13280],\n[M,408,44,13291,408,47,13294],\n[M,413,4,13422,415,7,13490],\n[M,414,6,13464,414,16,13474],\n[M,414,6,13464,414,24,13482],\n[M,413,32,13450,413,38,13456],\n[M,413,24,13442,413,27,13445],\n[M,417,4,13497,417,50,13543],\n[M,417,35,13528,417,45,13538],\n[M,419,4,13550,421,7,13613],\n[M,420,6,13588,420,16,13598],\n[M,420,6,13588,420,23,13605],\n[M,419,27,13573,419,34,13580],\n[M,423,4,13620,425,7,13683],\n[M,424,6,13658,424,16,13668],\n[M,424,6,13658,424,23,13675],\n[M,423,27,13643,423,34,13650],\n[M,260,2,9091,356,7,11761],\n[M,260,22,9111,260,26,9115],\n[M,358,2,11769,425,7,13683],\n[M,358,22,11789,358,29,11796],\n[M,259,0,9079,450,3,14427],\n[M,452,0,14429,457,3,14561],\n[M,454,25,14498,454,37,14510],\n[M,454,4,14477,454,37,14510],\n[M,453,2,14459,456,5,14557],\n[M,455,25,14536,455,40,14551],\n[M,455,4,14515,455,40,14551],\n[M,453,8,14465,453,11,14468],\n[M,459,0,14563,486,3,15623],\n[M,466,8,14936,466,22,14950],\n[M,467,2,14953,476,5,15214],\n[M,472,13,15088,472,23,15098],\n[M,473,14,15113,473,23,15122],\n[M,474,19,15142,474,32,15155],\n[M,474,44,15167,474,76,15199],\n[M,474,63,15186,474,74,15197],\n[M,474,64,15187,474,69,15192],\n[M,474,19,15142,474,36,15159],\n[M,471,13,15050,471,37,15074],\n[M,471,30,15067,471,35,15072],\n[M,468,7,14975,468,13,14981],\n[M,477,2,15217,477,13,15228],\n[M,488,0,15625,498,3,16105],\n[M,492,10,15806,492,18,15814],\n[M,492,21,15817,492,29,15825],\n[M,492,37,15833,492,45,15841],\n[M,492,61,15857,492,68,15864],\n[M,492,47,15843,492,73,15869],\n[M,493,10,15881,493,18,15889],\n[M,493,22,15893,493,30,15901],\n[M,493,46,15917,493,53,15924],\n[M,494,37,15967,494,45,15975],\n[M,494,65,15995,494,72,16002],\n[M,494,47,15977,494,73,16003],\n[M,493,10,15881,493,30,15901],\n[M,492,10,15806,492,29,15825],\n[M,500,0,16107,505,3,16312],\n[M,500,30,16137,500,33,16140],\n[M,504,11,16275,504,43,16307],\n[M,503,14,16230,503,47,16263],\n[M,502,13,16192,502,36,16215],\n[M,501,13,16155,501,36,16178],\n[M,507,0,16314,516,3,16763],\n[M,510,10,16479,510,18,16487],\n[M,510,21,16490,510,29,16498],\n[M,510,48,16517,510,55,16524],\n[M,511,10,16540,511,18,16548],\n[M,511,22,16552,511,30,16560],\n[M,511,37,16567,511,45,16575],\n[M,511,63,16593,511,70,16600],\n[M,511,72,16602,511,79,16609],\n[M,511,47,16577,511,80,16610],\n[M,512,52,16664,512,59,16671],\n[M,511,10,16540,511,30,16560],\n[M,510,10,16479,510,29,16498],\n[M,518,0,16765,523,3,16976],\n[M,518,34,16799,518,37,16802],\n[M,522,11,16939,522,43,16971],\n[M,521,14,16892,521,49,16927],\n[M,520,13,16854,520,36,16877],\n[M,519,13,16817,519,36,16840],\n[M,525,0,16978,534,3,17420],\n[M,528,10,17144,528,18,17152],\n[M,528,22,17156,528,30,17164],\n[M,528,46,17180,528,53,17187],\n[M,528,55,17189,528,62,17196],\n[M,529,10,17208,529,18,17216],\n[M,529,21,17219,529,29,17227],\n[M,529,37,17235,529,45,17243],\n[M,529,61,17259,529,68,17266],\n[M,529,47,17245,529,73,17271],\n[M,530,50,17323,530,57,17330],\n[M,529,10,17208,529,29,17227],\n[M,528,10,17144,528,30,17164],\n[M,536,0,17422,541,3,17632],\n[M,536,35,17457,536,38,17460],\n[M,540,11,17595,540,43,17627],\n[M,539,14,17550,539,47,17583],\n[M,538,13,17512,538,36,17535],\n[M,537,13,17475,537,36,17498],\n[M,543,0,17634,545,3,17685],\n[M,544,2,17673,544,10,17681],\n[M,543,28,17662,543,35,17669],\n[M,543,20,17654,543,23,17657],\n[M,547,0,17687,549,3,17738],\n[M,548,2,17726,548,10,17734],\n[M,547,28,17715,547,35,17722],\n[M,547,20,17707,547,23,17710],\n[M,551,0,17740,553,3,17794],\n[M,552,2,17775,552,17,17790],\n[M,551,27,17767,551,30,17770],\n[M,555,0,17796,560,3,17955],\n[M,557,2,17888,559,5,17951],\n[M,558,4,17934,558,15,17945],\n[M,555,49,17845,555,52,17848],\n[M,555,23,17819,555,27,17823],\n[M,555,41,17837,555,44,17840],\n[M,562,0,17957,565,3,18085],\n[M,562,37,17994,562,40,17997],\n[M,564,2,18048,564,35,18081],\n[M,562,28,17985,562,32,17989],\n[M,567,0,18087,570,3,18214],\n[M,567,37,18124,567,40,18127],\n[M,569,2,18178,569,34,18210],\n[M,567,28,18115,567,32,18119],\n[M,572,0,18216,576,3,18319],\n[M,573,2,18249,575,5,18315],\n[M,574,4,18293,574,20,18309],\n[M,572,24,18240,572,28,18244],\n[M,578,0,18321,582,3,18462],\n[M,579,2,18368,581,5,18458],\n[M,580,4,18441,580,15,18452],\n[M,578,40,18361,578,43,18364],\n[M,578,27,18348,578,35,18356],\n[M,584,0,18464,589,3,18619],\n[M,585,9,18518,587,5,18598],\n[M,586,4,18579,586,17,18592],\n[M,584,40,18504,584,43,18507],\n[M,584,27,18491,584,35,18499],\n[M,594,0,18687,598,3,18776],\n[M,595,5,18712,595,11,18718],\n[M,599,0,18777,604,3,18917],\n[M,600,18,18818,600,32,18832],\n[M,601,18,18851,601,32,18865],\n[M,602,26,18892,602,40,18906],\n[M,601,10,18843,601,16,18849],\n[M,600,10,18810,600,16,18816],\n[M,605,0,18918,611,3,19106],\n[M,606,18,18962,606,35,18979],\n[M,607,18,18998,607,35,19015],\n[M,608,18,19034,608,35,19051],\n[M,609,26,19078,609,43,19095],\n[M,608,10,19026,608,16,19032],\n[M,607,10,18990,607,16,18996],\n[M,606,10,18954,606,16,18960],\n[M,612,0,19107,619,3,19349],\n[M,613,18,19154,613,38,19174],\n[M,614,18,19193,614,38,19213],\n[M,615,18,19232,615,38,19252],\n[M,616,18,19271,616,38,19291],\n[M,617,26,19318,617,46,19338],\n[M,616,10,19263,616,16,19269],\n[M,615,10,19224,615,16,19230],\n[M,614,10,19185,614,16,19191],\n[M,613,10,19146,613,16,19152],\n[M,623,9,19405,623,34,19430],\n[M,624,9,19441,624,45,19477],\n[M,625,9,19488,625,48,19527],\n[M,625,29,19508,625,43,19522],\n[M,626,9,19538,626,54,19583],\n[M,626,32,19561,626,49,19578],\n[M,627,9,19594,627,60,19645],\n[M,627,35,19620,627,55,19640],\n[M,628,9,19656,628,66,19713],\n[M,628,38,19685,628,61,19708],\n[M,633,9,19771,633,34,19796],\n[M,634,9,19807,634,42,19840],\n[M,634,17,19815,634,38,19836],\n[M,635,9,19851,635,52,19894],\n[M,635,20,19862,635,41,19883],\n[M,635,20,19862,635,48,19890],\n[M,636,9,19905,636,62,19958],\n[M,636,23,19919,636,44,19940],\n[M,636,23,19919,636,51,19947],\n[M,636,23,19919,636,58,19954],\n[M,637,9,19969,637,72,20032],\n[M,637,26,19986,637,47,20007],\n[M,637,26,19986,637,54,20014],\n[M,637,26,19986,637,61,20021],\n[M,637,26,19986,637,68,20028],\n[M,638,9,20043,638,82,20116],\n[M,638,29,20063,638,50,20084],\n[M,638,29,20063,638,57,20091],\n[M,638,29,20063,638,64,20098],\n[M,638,29,20063,638,71,20105],\n[M,638,29,20063,638,78,20112],\n[\"dummy location\"],\n[M,3,0,21,646,20,20271]];\nvar random3 = R.getModuleField(\"builtin://global\",\"values\",\"random\");\nvar num$floor1 = R.getModuleField(\"builtin://global\",\"values\",\"num-floor\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$abs2 = R.getModuleField(\"builtin://global\",\"values\",\"num-abs\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar num$ceiling11 = R.getModuleField(\"builtin://global\",\"values\",\"num-ceiling\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _greaterequal2 = R.getModuleField(\"builtin://global\",\"values\",\"_greaterequal\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar _lessthan3 = R.getModuleField(\"builtin://global\",\"values\",\"_lessthan\");\nvar raw$array$fold3 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-fold\");\nvar _lessequal4 = R.getModuleField(\"builtin://global\",\"values\",\"_lessequal\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar equality12 = $equality26;\nvar $underscore_import13 = $$underscore_import5;\nvar $included$214 = $$included$225;\nvar $included$115 = $$included$127;\nvar VS16 = $VS8;\nvar $cases_dispatch1786 = {\"list-set\":2,\n\"tree-set\":3};\nvar $cases_dispatch1539 = {\"leaf\":2,\n\"branch\":3};\nvar $cases_dispatch1265 = {\"empty\":2,\n\"link\":3};\nvar $cases_dispatch1261 = {\"empty\":2,\n\"link\":4};\nvar $cases_dispatch1245 = {\"empty\":6,\n\"link\":7};\nvar $cases_dispatch1138 = {\"leaf\":2,\n\"branch\":3};\nvar $cases_dispatch1116 = {\"leaf\":2,\n\"branch\":3};\nvar empty4 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar is$empty5 = R.getModuleField(\"builtin://lists\",\"values\",\"is-empty\");\nvar fold6 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar List7 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar link8 = R.getModuleField(\"builtin://lists\",\"values\",\"link\");\nvar pick$none9 = R.getModuleField(\"builtin://pick\",\"values\",\"pick-none\");\nvar pick$some10 = R.getModuleField(\"builtin://pick\",\"values\",\"pick-some\");\nvar member$with11 = R.getModuleField(\"builtin://lists\",\"values\",\"member-with\");\nvar $toplevel20 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__707($$resumer13) {\nvar $step19 = 0;\nvar $elidedFrames28 = 0;\nvar $ans25 = D;\nvar $al26 = L[707];\nif(R.isAR($$resumer13)) {\n$step19 = $$resumer13.step;\n$al26 = $$resumer13.from;\n$ans25 = $$resumer13.ans;\n$elidedFrames28 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$leaf805 = $$resumer13.vars[0];\nis$Set1180 = $$resumer13.vars[1];\nempty$list$set2214 = $$resumer13.vars[2];\ntree$all834 = $$resumer13.vars[3];\nis$list$set1764 = $$resumer13.vars[4];\nis$tree$set1767 = $$resumer13.vars[5];\nmakeSet42190 = $$resumer13.vars[6];\nis$branch808 = $$resumer13.vars[7];\nbranch810 = $$resumer13.vars[8];\nempty$set2354 = $$resumer13.vars[9];\nany2355 = $$resumer13.vars[10];\ntree$fold823 = $$resumer13.vars[11];\nlist$to$tree2097 = $$resumer13.vars[12];\nmakeSet32172 = $$resumer13.vars[13];\nfold2351 = $$resumer13.vars[14];\nrebalance328 = $$resumer13.vars[15];\ntree$any845 = $$resumer13.vars[16];\nset$to$sorted$elems1790 = $$resumer13.vars[17];\nmkbranch97 = $$resumer13.vars[18];\nlist$to$tree$set2076 = $$resumer13.vars[19];\narr$to$tree$set2143 = $$resumer13.vars[20];\nset$any1986 = $$resumer13.vars[21];\ntree$set$difference1662 = $$resumer13.vars[22];\nall2352 = $$resumer13.vars[23];\nleaf98 = $$resumer13.vars[24];\nset2353 = $$resumer13.vars[25];\nlist$to$list$set2058 = $$resumer13.vars[26];\nis$AVLTree52 = $$resumer13.vars[27];\nSet1166 = $$resumer13.vars[28];\nmerge$drop$l21929 = $$resumer13.vars[29];\nset$fold1998 = $$resumer13.vars[30];\nmerge$no$dups1837 = $$resumer13.vars[31];\ntree$set$union1629 = $$resumer13.vars[32];\nAVLTree105 = $$resumer13.vars[33];\nmakeSet22159 = $$resumer13.vars[34];\nmakeSet52207 = $$resumer13.vars[35];\nlist$set2346 = $$resumer13.vars[36];\nlist$to$set2356 = $$resumer13.vars[37];\nanswer2349 = $$resumer13.vars[38];\ntree$set2348 = $$resumer13.vars[39];\narr$to$list$set2119 = $$resumer13.vars[40];\nset$all1974 = $$resumer13.vars[41];\ntree$set$intersect1640 = $$resumer13.vars[42];\nelems$to$balanced$avl1825 = $$resumer13.vars[43];\nremove$root361 = $$resumer13.vars[44];\nswap$next$lowest1088 = $$resumer13.vars[45];\nmerge$only$dups1879 = $$resumer13.vars[46];\nempty$tree$set2278 = $$resumer13.vars[47];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans25 = R.mC();\n}\nwhile(!R.isContinuation($ans25)) {\nswitch($step19) {\ncase 0: var AVLTree29 = R.nB(\"AVLTree\",L[200]);\nvar AVLTree105 = R.mBA(AVLTree29,\"AVLTree\");\nvar Set30 = R.nB(\"Set\",L[530]);\nvar Set1166 = R.mBA(Set30,\"Set\");\nvar AVLTree802 = {\"$var\":D};\nvar is$AVLTree52 = {\"$var\":D};\nvar is$leaf805 = {\"$var\":D};\nvar leaf98 = {\"$var\":D};\nvar is$branch808 = {\"$var\":D};\nvar branch810 = {\"$var\":D};\nvar tree$fold823 = {\"$var\":D};\nvar tree$all834 = {\"$var\":D};\nvar tree$any845 = {\"$var\":D};\nvar mkbranch97 = {\"$var\":D};\nvar rebalance328 = {\"$var\":D};\nvar remove$root361 = {\"$var\":D};\nvar swap$next$lowest1088 = {\"$var\":D};\nvar Set1761 = {\"$var\":D};\nvar is$Set1180 = {\"$var\":D};\nvar is$list$set1764 = {\"$var\":D};\nvar list$set1225 = {\"$var\":D};\nvar is$tree$set1767 = {\"$var\":D};\nvar tree$set1529 = {\"$var\":D};\nvar set$to$sorted$elems1790 = {\"$var\":D};\nvar elems$to$balanced$avl1825 = {\"$var\":D};\nvar merge$no$dups1837 = {\"$var\":D};\nvar tree$set$union1629 = {\"$var\":D};\nvar merge$only$dups1879 = {\"$var\":D};\nvar tree$set$intersect1640 = {\"$var\":D};\nvar merge$drop$l21929 = {\"$var\":D};\nvar tree$set$difference1662 = {\"$var\":D};\nvar set$all1974 = {\"$var\":D};\nvar set$any1986 = {\"$var\":D};\nvar set$fold1998 = {\"$var\":D};\nvar list$to$set2021 = {\"$var\":D};\nvar list$to$list$set2058 = {\"$var\":D};\nvar list$to$tree$set2076 = {\"$var\":D};\nvar list$to$tree2097 = {\"$var\":D};\nvar arr$to$list$set2119 = {\"$var\":D};\nvar arr$to$tree$set2143 = {\"$var\":D};\nvar $temp_full32 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__0($self33) {\nvar $step31 = 0;\nvar $elidedFrames38 = 0;\nvar $ans35 = D;\nvar $al36 = L[0];\nif(R.isAR($self33)) {\n$step31 = $self33.step;\n$al36 = $self33.from;\n$ans35 = $self33.ans;\n$elidedFrames38 = $self33.elidedFrames;\nself33 = $self33.args[0];\nann_check_temp39 = $self33.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,true);\n}\nvar self33 = $self33;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans35 = R.mC();\n}\nwhile(!R.isContinuation($ans35)) {\nswitch($step31) {\ncase 0: $step31 = 1;\n$ans35 = R.maybeMethodCall0(self33,\"inorder\",L[1]);\nbreak;\ncase 1: var ann_check_temp39 = $ans35;\n$step31 = 2;\n$al36 = L[2];\nvar $ann$check40 = R._cA(L[2],List7,ann_check_temp39);\nif(R.isContinuation($ann$check40)) {\n$ans35 = $ann$check40;\n}\nbreak;\ncase 2: $step31 = 3;\n$ans35 = ann_check_temp39;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans35;\ndefault: R.ffi.throwSpinnakerError(L[0],$step31);\n}\n}\nif($step31 !== 3) {\n$ans35.stack[R.EXN_STACKHEIGHT++] = R.mAR($al36,$temp_full32,$step31,[self33],[ann_check_temp39],$elidedFrames38);\n}\nreturn $ans35;\n};\nvar anf_shared746 = R.makeMethod0($temp_full32,\"to-list\");\nvar $temp_full43 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__3($self44,$other45,$eq46) {\nvar $step42 = 0;\nvar $elidedFrames51 = 0;\nvar $ans48 = D;\nvar $al49 = L[3];\nif(R.isAR($self44)) {\n$step42 = $self44.step;\n$al49 = $self44.from;\n$ans48 = $self44.ans;\n$elidedFrames51 = $self44.elidedFrames;\nself44 = $self44.args[0];\nother45 = $self44.args[1];\neq46 = $self44.args[2];\nanf_arg62 = $self44.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],3,$t,true);\n}\nvar self44 = $self44;\nvar other45 = $other45;\nvar eq46 = $eq46;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans48 = R.mC();\n}\nwhile(!R.isContinuation($ans48)) {\nswitch($step42) {\ncase 0: var anf_fun53 = is$AVLTree52.$var === D?U(L[4],\"is-AVLTree\"):is$AVLTree52.$var;\n$step42 = 1;\n$al49 = L[10];\nif(typeof(anf_fun53.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,anf_fun53);\n}\n$ans48 = anf_fun53.app(other45);\nbreak;\ncase 1: var anf_arg61 = $ans48;\n$step42 = 2;\n$al49 = L[9];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,not5);\n}\n$ans48 = not5.app(anf_arg61);\nbreak;\ncase 2: var anf_if64 = $ans48;\n$step42 = R.checkPyretTrue(anf_if64)?3:4;\nbreak;\ncase 3: $step42 = 7;\n$al49 = L[5];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans48 = equality12.dict.values.dict[\"NotEqual\"].app((\"Non-AVLTree\"),self44,other45);\nbreak;\ncase 4: $step42 = 5;\n$ans48 = R.maybeMethodCall0(self44,\"inorder\",L[6]);\nbreak;\ncase 5: var anf_arg62 = $ans48;\n$step42 = 6;\n$ans48 = R.maybeMethodCall0(other45,\"inorder\",L[7]);\nbreak;\ncase 6: var anf_arg63 = $ans48;\n$step42 = 7;\n$al49 = L[8];\nif(typeof(eq46.app) !== \"function\") {\nR.ffi.throwNonFunApp($al49,eq46);\n}\n$ans48 = eq46.app(anf_arg62,anf_arg63);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans48;\ndefault: R.ffi.throwSpinnakerError(L[3],$step42);\n}\n}\nif($step42 !== 7) {\n$ans48.stack[R.EXN_STACKHEIGHT++] = R.mAR($al49,$temp_full43,$step42,[self44,other45,eq46],[anf_arg62],$elidedFrames51);\n}\nreturn $ans48;\n};\nvar anf_shared747 = R.makeMethod2($temp_full43,\"_equals\");\nvar $temp_full68 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__11($self69) {\nvar $step67 = 0;\nvar $elidedFrames73 = 0;\nvar $ans70 = D;\nvar $al71 = L[11];\nif(R.isAR($self69)) {\n$step67 = $self69.step;\n$al71 = $self69.from;\n$ans70 = $self69.ans;\n$elidedFrames73 = $self69.elidedFrames;\nself69 = $self69.args[0];\nann_check_temp74 = $self69.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],1,$t,true);\n}\nvar self69 = $self69;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans70 = R.mC();\n}\nwhile(!R.isContinuation($ans70)) {\nswitch($step67) {\ncase 0: var ann_check_temp74 = (0);\n$step67 = 1;\n$al71 = L[12];\nvar $ann$check75 = R._cA(L[12],$type$Number3,ann_check_temp74);\nif(R.isContinuation($ann$check75)) {\n$ans70 = $ann$check75;\n}\nbreak;\ncase 1: $step67 = 2;\n$ans70 = ann_check_temp74;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans70;\ndefault: R.ffi.throwSpinnakerError(L[11],$step67);\n}\n}\nif($step67 !== 2) {\n$ans70.stack[R.EXN_STACKHEIGHT++] = R.mAR($al71,$temp_full68,$step67,[self69],[ann_check_temp74],$elidedFrames73);\n}\nreturn $ans70;\n};\nvar anf_singleton_variant_member751 = R.makeMethod0($temp_full68,\"height\");\nvar $temp_full79 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__13($self442,$val80) {\nvar $step78 = 0;\nvar $elidedFrames85 = 0;\nvar $ans82 = D;\nvar $al83 = L[13];\nif(R.isAR($self442)) {\n$step78 = $self442.step;\n$al83 = $self442.from;\n$ans82 = $self442.ans;\n$elidedFrames85 = $self442.elidedFrames;\nself442 = $self442.args[0];\nval80 = $self442.args[1];\nann_check_temp86 = $self442.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],2,$t,true);\n}\nvar self442 = $self442;\nvar val80 = $val80;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans82 = R.mC();\n}\nwhile(!R.isContinuation($ans82)) {\nswitch($step78) {\ncase 0: var ann_check_temp86 = (false);\n$step78 = 1;\n$al83 = L[14];\nvar $ann$check87 = R._cA(L[14],$type$Boolean6,ann_check_temp86);\nif(R.isContinuation($ann$check87)) {\n$ans82 = $ann$check87;\n}\nbreak;\ncase 1: $step78 = 2;\n$ans82 = ann_check_temp86;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans82;\ndefault: R.ffi.throwSpinnakerError(L[13],$step78);\n}\n}\nif($step78 !== 2) {\n$ans82.stack[R.EXN_STACKHEIGHT++] = R.mAR($al83,$temp_full79,$step78,[self442,val80],[ann_check_temp86],$elidedFrames85);\n}\nreturn $ans82;\n};\nvar anf_singleton_variant_member752 = R.makeMethod1($temp_full79,\"contains\");\nvar $temp_full90 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__15($self91,$val92) {\nvar $step89 = 0;\nvar $elidedFrames96 = 0;\nvar $ans93 = D;\nvar $al94 = L[15];\nif(R.isAR($self91)) {\n$step89 = $self91.step;\n$al94 = $self91.from;\n$ans93 = $self91.ans;\n$elidedFrames96 = $self91.elidedFrames;\nself91 = $self91.args[0];\nval92 = $self91.args[1];\nann_check_temp104 = $self91.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],2,$t,true);\n}\nvar self91 = $self91;\nvar val92 = $val92;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans93 = R.mC();\n}\nwhile(!R.isContinuation($ans93)) {\nswitch($step89) {\ncase 0: var anf_fun100 = mkbranch97.$var === D?U(L[16],\"mkbranch\"):mkbranch97.$var;\nvar anf_arg102 = leaf98.$var === D?U(L[17],\"leaf\"):leaf98.$var;\nvar anf_arg103 = leaf98.$var === D?U(L[18],\"leaf\"):leaf98.$var;\n$step89 = 1;\n$al94 = L[20];\nif(typeof(anf_fun100.app) !== \"function\") {\nR.ffi.throwNonFunApp($al94,anf_fun100);\n}\n$ans93 = anf_fun100.app(val92,anf_arg102,anf_arg103);\nbreak;\ncase 1: var ann_check_temp104 = $ans93;\n$step89 = 2;\n$al94 = L[19];\nvar $ann$check106 = R._cA(L[19],AVLTree105,ann_check_temp104);\nif(R.isContinuation($ann$check106)) {\n$ans93 = $ann$check106;\n}\nbreak;\ncase 2: $step89 = 3;\n$ans93 = ann_check_temp104;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans93;\ndefault: R.ffi.throwSpinnakerError(L[15],$step89);\n}\n}\nif($step89 !== 3) {\n$ans93.stack[R.EXN_STACKHEIGHT++] = R.mAR($al94,$temp_full90,$step89,[self91,val92],[ann_check_temp104],$elidedFrames96);\n}\nreturn $ans93;\n};\nvar anf_singleton_variant_member753 = R.makeMethod1($temp_full90,\"insert\");\nvar $temp_full110 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__21($self457,$val111) {\nvar $step109 = 0;\nvar $elidedFrames115 = 0;\nvar $ans112 = D;\nvar $al113 = L[21];\nif(R.isAR($self457)) {\n$step109 = $self457.step;\n$al113 = $self457.from;\n$ans112 = $self457.ans;\n$elidedFrames115 = $self457.elidedFrames;\nself457 = $self457.args[0];\nval111 = $self457.args[1];\nann_check_temp116 = $self457.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[21],2,$t,true);\n}\nvar self457 = $self457;\nvar val111 = $val111;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans112 = R.mC();\n}\nwhile(!R.isContinuation($ans112)) {\nswitch($step109) {\ncase 0: var ann_check_temp116 = leaf98.$var === D?U(L[22],\"leaf\"):leaf98.$var;\n$step109 = 1;\n$al113 = L[23];\nvar $ann$check117 = R._cA(L[23],AVLTree105,ann_check_temp116);\nif(R.isContinuation($ann$check117)) {\n$ans112 = $ann$check117;\n}\nbreak;\ncase 1: $step109 = 2;\n$ans112 = ann_check_temp116;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans112;\ndefault: R.ffi.throwSpinnakerError(L[21],$step109);\n}\n}\nif($step109 !== 2) {\n$ans112.stack[R.EXN_STACKHEIGHT++] = R.mAR($al113,$temp_full110,$step109,[self457,val111],[ann_check_temp116],$elidedFrames115);\n}\nreturn $ans112;\n};\nvar anf_singleton_variant_member754 = R.makeMethod1($temp_full110,\"remove\");\nvar $temp_full121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__24($self122) {\nvar $step120 = 0;\nvar $elidedFrames127 = 0;\nvar $ans124 = D;\nvar $al125 = L[24];\nif(R.isAR($self122)) {\n$step120 = $self122.step;\n$al125 = $self122.from;\n$ans124 = $self122.ans;\n$elidedFrames127 = $self122.elidedFrames;\nself122 = $self122.args[0];\nann_check_temp128 = $self122.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],1,$t,true);\n}\nvar self122 = $self122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans124 = R.mC();\n}\nwhile(!R.isContinuation($ans124)) {\nswitch($step120) {\ncase 0: var ann_check_temp128 = empty4;\n$step120 = 1;\n$al125 = L[25];\nvar $ann$check129 = R._cA(L[25],List7,ann_check_temp128);\nif(R.isContinuation($ann$check129)) {\n$ans124 = $ann$check129;\n}\nbreak;\ncase 1: $step120 = 2;\n$ans124 = ann_check_temp128;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans124;\ndefault: R.ffi.throwSpinnakerError(L[24],$step120);\n}\n}\nif($step120 !== 2) {\n$ans124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al125,$temp_full121,$step120,[self122],[ann_check_temp128],$elidedFrames127);\n}\nreturn $ans124;\n};\nvar anf_singleton_variant_member755 = R.makeMethod0($temp_full121,\"preorder\");\nvar $temp_full132 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__26($self476) {\nvar $step131 = 0;\nvar $elidedFrames137 = 0;\nvar $ans134 = D;\nvar $al135 = L[26];\nif(R.isAR($self476)) {\n$step131 = $self476.step;\n$al135 = $self476.from;\n$ans134 = $self476.ans;\n$elidedFrames137 = $self476.elidedFrames;\nself476 = $self476.args[0];\nann_check_temp138 = $self476.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[26],1,$t,true);\n}\nvar self476 = $self476;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans134 = R.mC();\n}\nwhile(!R.isContinuation($ans134)) {\nswitch($step131) {\ncase 0: var ann_check_temp138 = empty4;\n$step131 = 1;\n$al135 = L[27];\nvar $ann$check139 = R._cA(L[27],List7,ann_check_temp138);\nif(R.isContinuation($ann$check139)) {\n$ans134 = $ann$check139;\n}\nbreak;\ncase 1: $step131 = 2;\n$ans134 = ann_check_temp138;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans134;\ndefault: R.ffi.throwSpinnakerError(L[26],$step131);\n}\n}\nif($step131 !== 2) {\n$ans134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al135,$temp_full132,$step131,[self476],[ann_check_temp138],$elidedFrames137);\n}\nreturn $ans134;\n};\nvar anf_singleton_variant_member756 = R.makeMethod0($temp_full132,\"inorder\");\nvar $temp_full145 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__28($self146) {\nvar $step144 = 0;\nvar $elidedFrames151 = 0;\nvar $ans148 = D;\nvar $al149 = L[28];\nif(R.isAR($self146)) {\n$step144 = $self146.step;\n$al149 = $self146.from;\n$ans148 = $self146.ans;\n$elidedFrames151 = $self146.elidedFrames;\nself146 = $self146.args[0];\nann_check_temp153 = $self146.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[28],1,$t,true);\n}\nvar self146 = $self146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans148 = R.mC();\n}\nwhile(!R.isContinuation($ans148)) {\nswitch($step144) {\ncase 0: var ann_check_temp153 = empty4;\n$step144 = 1;\n$al149 = L[29];\nvar $ann$check154 = R._cA(L[29],List7,ann_check_temp153);\nif(R.isContinuation($ann$check154)) {\n$ans148 = $ann$check154;\n}\nbreak;\ncase 1: $step144 = 2;\n$ans148 = ann_check_temp153;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans148;\ndefault: R.ffi.throwSpinnakerError(L[28],$step144);\n}\n}\nif($step144 !== 2) {\n$ans148.stack[R.EXN_STACKHEIGHT++] = R.mAR($al149,$temp_full145,$step144,[self146],[ann_check_temp153],$elidedFrames151);\n}\nreturn $ans148;\n};\nvar anf_singleton_variant_member757 = R.makeMethod0($temp_full145,\"postorder\");\nvar $temp_full158 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__30($self503) {\nvar $step157 = 0;\nvar $elidedFrames163 = 0;\nvar $ans160 = D;\nvar $al161 = L[30];\nif(R.isAR($self503)) {\n$step157 = $self503.step;\n$al161 = $self503.from;\n$ans160 = $self503.ans;\n$elidedFrames163 = $self503.elidedFrames;\nself503 = $self503.args[0];\nann_check_temp164 = $self503.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],1,$t,true);\n}\nvar self503 = $self503;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans160 = R.mC();\n}\nwhile(!R.isContinuation($ans160)) {\nswitch($step157) {\ncase 0: var ann_check_temp164 = empty4;\n$step157 = 1;\n$al161 = L[31];\nvar $ann$check165 = R._cA(L[31],List7,ann_check_temp164);\nif(R.isContinuation($ann$check165)) {\n$ans160 = $ann$check165;\n}\nbreak;\ncase 1: $step157 = 2;\n$ans160 = ann_check_temp164;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans160;\ndefault: R.ffi.throwSpinnakerError(L[30],$step157);\n}\n}\nif($step157 !== 2) {\n$ans160.stack[R.EXN_STACKHEIGHT++] = R.mAR($al161,$temp_full158,$step157,[self503],[ann_check_temp164],$elidedFrames163);\n}\nreturn $ans160;\n};\nvar anf_singleton_variant_member758 = R.makeMethod0($temp_full158,\"revpreorder\");\nvar $temp_full168 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__32($self169) {\nvar $step167 = 0;\nvar $elidedFrames173 = 0;\nvar $ans170 = D;\nvar $al171 = L[32];\nif(R.isAR($self169)) {\n$step167 = $self169.step;\n$al171 = $self169.from;\n$ans170 = $self169.ans;\n$elidedFrames173 = $self169.elidedFrames;\nself169 = $self169.args[0];\nann_check_temp175 = $self169.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],1,$t,true);\n}\nvar self169 = $self169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans170 = R.mC();\n}\nwhile(!R.isContinuation($ans170)) {\nswitch($step167) {\ncase 0: var ann_check_temp175 = empty4;\n$step167 = 1;\n$al171 = L[33];\nvar $ann$check176 = R._cA(L[33],List7,ann_check_temp175);\nif(R.isContinuation($ann$check176)) {\n$ans170 = $ann$check176;\n}\nbreak;\ncase 1: $step167 = 2;\n$ans170 = ann_check_temp175;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans170;\ndefault: R.ffi.throwSpinnakerError(L[32],$step167);\n}\n}\nif($step167 !== 2) {\n$ans170.stack[R.EXN_STACKHEIGHT++] = R.mAR($al171,$temp_full168,$step167,[self169],[ann_check_temp175],$elidedFrames173);\n}\nreturn $ans170;\n};\nvar anf_singleton_variant_member759 = R.makeMethod0($temp_full168,\"revinorder\");\nvar $temp_full179 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__34($self528) {\nvar $step178 = 0;\nvar $elidedFrames183 = 0;\nvar $ans180 = D;\nvar $al181 = L[34];\nif(R.isAR($self528)) {\n$step178 = $self528.step;\n$al181 = $self528.from;\n$ans180 = $self528.ans;\n$elidedFrames183 = $self528.elidedFrames;\nself528 = $self528.args[0];\nann_check_temp184 = $self528.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[34],1,$t,true);\n}\nvar self528 = $self528;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans180 = R.mC();\n}\nwhile(!R.isContinuation($ans180)) {\nswitch($step178) {\ncase 0: var ann_check_temp184 = empty4;\n$step178 = 1;\n$al181 = L[35];\nvar $ann$check185 = R._cA(L[35],List7,ann_check_temp184);\nif(R.isContinuation($ann$check185)) {\n$ans180 = $ann$check185;\n}\nbreak;\ncase 1: $step178 = 2;\n$ans180 = ann_check_temp184;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans180;\ndefault: R.ffi.throwSpinnakerError(L[34],$step178);\n}\n}\nif($step178 !== 2) {\n$ans180.stack[R.EXN_STACKHEIGHT++] = R.mAR($al181,$temp_full179,$step178,[self528],[ann_check_temp184],$elidedFrames183);\n}\nreturn $ans180;\n};\nvar anf_singleton_variant_member760 = R.makeMethod0($temp_full179,\"revpostorder\");\nvar $temp_full188 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__36($self189,$f190,$base191) {\nvar $step187 = 0;\nvar $elidedFrames195 = 0;\nvar $ans192 = D;\nvar $al193 = L[36];\nif(R.isAR($self189)) {\n$step187 = $self189.step;\n$al193 = $self189.from;\n$ans192 = $self189.ans;\n$elidedFrames195 = $self189.elidedFrames;\nself189 = $self189.args[0];\nf190 = $self189.args[1];\nbase191 = $self189.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[36],3,$t,true);\n}\nvar self189 = $self189;\nvar f190 = $f190;\nvar base191 = $base191;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans192 = R.mC();\n}\nwhile(!R.isContinuation($ans192)) {\nswitch($step187) {\ncase 0: $step187 = 1;\n$ans192 = base191;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans192;\ndefault: R.ffi.throwSpinnakerError(L[36],$step187);\n}\n}\nif($step187 !== 1) {\n$ans192.stack[R.EXN_STACKHEIGHT++] = R.mAR($al193,$temp_full188,$step187,[self189,f190,base191],[],$elidedFrames195);\n}\nreturn $ans192;\n};\nvar anf_singleton_variant_member761 = R.makeMethod2($temp_full188,\"fold-preorder\");\nvar $temp_full199 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__37($self200,$f201,$base202) {\nvar $step198 = 0;\nvar $elidedFrames206 = 0;\nvar $ans203 = D;\nvar $al204 = L[37];\nif(R.isAR($self200)) {\n$step198 = $self200.step;\n$al204 = $self200.from;\n$ans203 = $self200.ans;\n$elidedFrames206 = $self200.elidedFrames;\nself200 = $self200.args[0];\nf201 = $self200.args[1];\nbase202 = $self200.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],3,$t,true);\n}\nvar self200 = $self200;\nvar f201 = $f201;\nvar base202 = $base202;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans203 = R.mC();\n}\nwhile(!R.isContinuation($ans203)) {\nswitch($step198) {\ncase 0: $step198 = 1;\n$ans203 = base202;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans203;\ndefault: R.ffi.throwSpinnakerError(L[37],$step198);\n}\n}\nif($step198 !== 1) {\n$ans203.stack[R.EXN_STACKHEIGHT++] = R.mAR($al204,$temp_full199,$step198,[self200,f201,base202],[],$elidedFrames206);\n}\nreturn $ans203;\n};\nvar anf_singleton_variant_member762 = R.makeMethod2($temp_full199,\"fold-inorder\");\nvar $temp_full209 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__38($self210,$f211,$base212) {\nvar $step208 = 0;\nvar $elidedFrames216 = 0;\nvar $ans213 = D;\nvar $al214 = L[38];\nif(R.isAR($self210)) {\n$step208 = $self210.step;\n$al214 = $self210.from;\n$ans213 = $self210.ans;\n$elidedFrames216 = $self210.elidedFrames;\nself210 = $self210.args[0];\nf211 = $self210.args[1];\nbase212 = $self210.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[38],3,$t,true);\n}\nvar self210 = $self210;\nvar f211 = $f211;\nvar base212 = $base212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans213 = R.mC();\n}\nwhile(!R.isContinuation($ans213)) {\nswitch($step208) {\ncase 0: $step208 = 1;\n$ans213 = base212;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans213;\ndefault: R.ffi.throwSpinnakerError(L[38],$step208);\n}\n}\nif($step208 !== 1) {\n$ans213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al214,$temp_full209,$step208,[self210,f211,base212],[],$elidedFrames216);\n}\nreturn $ans213;\n};\nvar anf_singleton_variant_member763 = R.makeMethod2($temp_full209,\"fold-postorder\");\nvar $temp_full219 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__39($self220,$f221,$base222) {\nvar $step218 = 0;\nvar $elidedFrames228 = 0;\nvar $ans225 = D;\nvar $al226 = L[39];\nif(R.isAR($self220)) {\n$step218 = $self220.step;\n$al226 = $self220.from;\n$ans225 = $self220.ans;\n$elidedFrames228 = $self220.elidedFrames;\nself220 = $self220.args[0];\nf221 = $self220.args[1];\nbase222 = $self220.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],3,$t,true);\n}\nvar self220 = $self220;\nvar f221 = $f221;\nvar base222 = $base222;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans225 = R.mC();\n}\nwhile(!R.isContinuation($ans225)) {\nswitch($step218) {\ncase 0: $step218 = 1;\n$ans225 = base222;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans225;\ndefault: R.ffi.throwSpinnakerError(L[39],$step218);\n}\n}\nif($step218 !== 1) {\n$ans225.stack[R.EXN_STACKHEIGHT++] = R.mAR($al226,$temp_full219,$step218,[self220,f221,base222],[],$elidedFrames228);\n}\nreturn $ans225;\n};\nvar anf_singleton_variant_member764 = R.makeMethod2($temp_full219,\"fold-revpreorder\");\nvar $temp_full231 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__40($self232,$f233,$base234) {\nvar $step230 = 0;\nvar $elidedFrames239 = 0;\nvar $ans236 = D;\nvar $al237 = L[40];\nif(R.isAR($self232)) {\n$step230 = $self232.step;\n$al237 = $self232.from;\n$ans236 = $self232.ans;\n$elidedFrames239 = $self232.elidedFrames;\nself232 = $self232.args[0];\nf233 = $self232.args[1];\nbase234 = $self232.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[40],3,$t,true);\n}\nvar self232 = $self232;\nvar f233 = $f233;\nvar base234 = $base234;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans236 = R.mC();\n}\nwhile(!R.isContinuation($ans236)) {\nswitch($step230) {\ncase 0: $step230 = 1;\n$ans236 = base234;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans236;\ndefault: R.ffi.throwSpinnakerError(L[40],$step230);\n}\n}\nif($step230 !== 1) {\n$ans236.stack[R.EXN_STACKHEIGHT++] = R.mAR($al237,$temp_full231,$step230,[self232,f233,base234],[],$elidedFrames239);\n}\nreturn $ans236;\n};\nvar anf_singleton_variant_member765 = R.makeMethod2($temp_full231,\"fold-revinorder\");\nvar $temp_full243 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__41($self244,$f245,$base246) {\nvar $step242 = 0;\nvar $elidedFrames250 = 0;\nvar $ans247 = D;\nvar $al248 = L[41];\nif(R.isAR($self244)) {\n$step242 = $self244.step;\n$al248 = $self244.from;\n$ans247 = $self244.ans;\n$elidedFrames250 = $self244.elidedFrames;\nself244 = $self244.args[0];\nf245 = $self244.args[1];\nbase246 = $self244.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],3,$t,true);\n}\nvar self244 = $self244;\nvar f245 = $f245;\nvar base246 = $base246;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans247 = R.mC();\n}\nwhile(!R.isContinuation($ans247)) {\nswitch($step242) {\ncase 0: $step242 = 1;\n$ans247 = base246;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans247;\ndefault: R.ffi.throwSpinnakerError(L[41],$step242);\n}\n}\nif($step242 !== 1) {\n$ans247.stack[R.EXN_STACKHEIGHT++] = R.mAR($al248,$temp_full243,$step242,[self244,f245,base246],[],$elidedFrames250);\n}\nreturn $ans247;\n};\nvar anf_singleton_variant_member766 = R.makeMethod2($temp_full243,\"fold-revpostorder\");\nvar $temp_full253 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__42($self254) {\nvar $step252 = 0;\nvar $elidedFrames258 = 0;\nvar $ans255 = D;\nvar $al256 = L[42];\nif(R.isAR($self254)) {\n$step252 = $self254.step;\n$al256 = $self254.from;\n$ans255 = $self254.ans;\n$elidedFrames258 = $self254.elidedFrames;\nself254 = $self254.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[42],1,$t,true);\n}\nvar self254 = $self254;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans255 = R.mC();\n}\nwhile(!R.isContinuation($ans255)) {\nswitch($step252) {\ncase 0: $step252 = 1;\n$ans255 = (0);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans255;\ndefault: R.ffi.throwSpinnakerError(L[42],$step252);\n}\n}\nif($step252 !== 1) {\n$ans255.stack[R.EXN_STACKHEIGHT++] = R.mAR($al256,$temp_full253,$step252,[self254],[],$elidedFrames258);\n}\nreturn $ans255;\n};\nvar anf_singleton_variant_member767 = R.makeMethod0($temp_full253,\"count\");\nvar $temp_full261 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__43($self262,$f263) {\nvar $step260 = 0;\nvar $elidedFrames267 = 0;\nvar $ans264 = D;\nvar $al265 = L[43];\nif(R.isAR($self262)) {\n$step260 = $self262.step;\n$al265 = $self262.from;\n$ans264 = $self262.ans;\n$elidedFrames267 = $self262.elidedFrames;\nself262 = $self262.args[0];\nf263 = $self262.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[43],2,$t,true);\n}\nvar self262 = $self262;\nvar f263 = $f263;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans264 = R.mC();\n}\nwhile(!R.isContinuation($ans264)) {\nswitch($step260) {\ncase 0: $step260 = 1;\n$ans264 = (true);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans264;\ndefault: R.ffi.throwSpinnakerError(L[43],$step260);\n}\n}\nif($step260 !== 1) {\n$ans264.stack[R.EXN_STACKHEIGHT++] = R.mAR($al265,$temp_full261,$step260,[self262,f263],[],$elidedFrames267);\n}\nreturn $ans264;\n};\nvar anf_singleton_variant_member768 = R.makeMethod1($temp_full261,\"all\");\nvar $temp_full270 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__44($self271,$f272) {\nvar $step269 = 0;\nvar $elidedFrames276 = 0;\nvar $ans273 = D;\nvar $al274 = L[44];\nif(R.isAR($self271)) {\n$step269 = $self271.step;\n$al274 = $self271.from;\n$ans273 = $self271.ans;\n$elidedFrames276 = $self271.elidedFrames;\nself271 = $self271.args[0];\nf272 = $self271.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],2,$t,true);\n}\nvar self271 = $self271;\nvar f272 = $f272;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans273 = R.mC();\n}\nwhile(!R.isContinuation($ans273)) {\nswitch($step269) {\ncase 0: $step269 = 1;\n$ans273 = (false);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans273;\ndefault: R.ffi.throwSpinnakerError(L[44],$step269);\n}\n}\nif($step269 !== 1) {\n$ans273.stack[R.EXN_STACKHEIGHT++] = R.mAR($al274,$temp_full270,$step269,[self271,f272],[],$elidedFrames276);\n}\nreturn $ans273;\n};\nvar anf_singleton_variant_member769 = R.makeMethod1($temp_full270,\"any\");\nvar $temp_full280 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__45($self118) {\nvar $step279 = 0;\nvar $elidedFrames284 = 0;\nvar $ans281 = D;\nvar $al282 = L[45];\nif(R.isAR($self118)) {\n$step279 = $self118.step;\n$al282 = $self118.from;\n$ans281 = $self118.ans;\n$elidedFrames284 = $self118.elidedFrames;\nself118 = $self118.args[0];\nann_check_temp285 = $self118.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[45],1,$t,true);\n}\nvar self118 = $self118;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans281 = R.mC();\n}\nwhile(!R.isContinuation($ans281)) {\nswitch($step279) {\ncase 0: $al282 = L[46];\nvar ann_check_temp285 = G(self118,\"h\",L[46]);\n$step279 = 1;\n$al282 = L[47];\nvar $ann$check286 = R._cA(L[47],$type$Number3,ann_check_temp285);\nif(R.isContinuation($ann$check286)) {\n$ans281 = $ann$check286;\n}\nbreak;\ncase 1: $step279 = 2;\n$ans281 = ann_check_temp285;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans281;\ndefault: R.ffi.throwSpinnakerError(L[45],$step279);\n}\n}\nif($step279 !== 2) {\n$ans281.stack[R.EXN_STACKHEIGHT++] = R.mAR($al282,$temp_full280,$step279,[self118],[ann_check_temp285],$elidedFrames284);\n}\nreturn $ans281;\n};\nvar anf_variant_member775 = R.makeMethod0($temp_full280,\"height\");\nvar $temp_full291 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__48($self292,$val293) {\nvar $step290 = 0;\nvar $elidedFrames299 = 0;\nvar $ans296 = D;\nvar $al297 = L[48];\nif(R.isAR($self292)) {\n$step290 = $self292.step;\n$al297 = $self292.from;\n$ans296 = $self292.ans;\n$elidedFrames299 = $self292.elidedFrames;\nself292 = $self292.args[0];\nval293 = $self292.args[1];\nann_check_temp302 = $self292.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[48],2,$t,true);\n}\nvar self292 = $self292;\nvar val293 = $val293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans296 = R.mC();\n}\nwhile(!R.isContinuation($ans296)) {\nswitch($step290) {\ncase 0: $al297 = L[49];\nvar anf_arg301 = G(self292,\"value\",L[49]);\n$step290 = 1;\n$al297 = L[57];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al297,equal$always1);\n}\n$ans296 = equal$always1.app(val293,anf_arg301);\nbreak;\ncase 1: var anf_if308 = $ans296;\n$step290 = R.checkPyretTrue(anf_if308)?2:3;\nbreak;\ncase 2: $step290 = 7;\n$ans296 = (true);\nbreak;\ncase 3: $al297 = L[51];\nvar anf_arg304 = G(self292,\"value\",L[51]);\n$step290 = 4;\n$al297 = L[56];\n// omitting isFunction check;\n$ans296 = _lessthan3.app(val293,anf_arg304);\nbreak;\ncase 4: var anf_if307 = $ans296;\n$step290 = R.checkPyretTrue(anf_if307)?5:6;\nbreak;\ncase 5: $al297 = L[52];\nvar anf_method_obj305 = G(self292,\"left\",L[52]);\n$step290 = 7;\n$ans296 = R.maybeMethodCall1(anf_method_obj305,\"contains\",L[53],val293);\nbreak;\ncase 6: $al297 = L[54];\nvar anf_method_obj306 = G(self292,\"right\",L[54]);\n$step290 = 7;\n$ans296 = R.maybeMethodCall1(anf_method_obj306,\"contains\",L[55],val293);\nbreak;\ncase 7: var ann_check_temp302 = $ans296;\n$step290 = 8;\n$al297 = L[50];\nvar $ann$check303 = R._cA(L[50],$type$Boolean6,ann_check_temp302);\nif(R.isContinuation($ann$check303)) {\n$ans296 = $ann$check303;\n}\nbreak;\ncase 8: $step290 = 9;\n$ans296 = ann_check_temp302;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans296;\ndefault: R.ffi.throwSpinnakerError(L[48],$step290);\n}\n}\nif($step290 !== 9) {\n$ans296.stack[R.EXN_STACKHEIGHT++] = R.mAR($al297,$temp_full291,$step290,[self292,val293],[ann_check_temp302],$elidedFrames299);\n}\nreturn $ans296;\n};\nvar anf_variant_member776 = R.makeMethod1($temp_full291,\"contains\");\nvar $temp_full311 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__58($self312,$val313) {\nvar $step310 = 0;\nvar $elidedFrames318 = 0;\nvar $ans315 = D;\nvar $al316 = L[58];\nif(R.isAR($self312)) {\n$step310 = $self312.step;\n$al316 = $self312.from;\n$ans315 = $self312.ans;\n$elidedFrames318 = $self312.elidedFrames;\nself312 = $self312.args[0];\nval313 = $self312.args[1];\nann_check_temp320 = $self312.vars[0];\nanf_arg341 = $self312.vars[1];\nanf_arg331 = $self312.vars[2];\nanf_arg342 = $self312.vars[3];\nanf_fun330 = $self312.vars[4];\nanf_fun344 = $self312.vars[5];\nanf_fun334 = $self312.vars[6];\nanf_fun338 = $self312.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[58],2,$t,true);\n}\nvar self312 = $self312;\nvar val313 = $val313;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans315 = R.mC();\n}\nwhile(!R.isContinuation($ans315)) {\nswitch($step310) {\ncase 0: $al316 = L[59];\nvar anf_arg319 = G(self312,\"value\",L[59]);\n$step310 = 1;\n$al316 = L[83];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,equal$always1);\n}\n$ans315 = equal$always1.app(val313,anf_arg319);\nbreak;\ncase 1: var anf_if347 = $ans315;\n$step310 = R.checkPyretTrue(anf_if347)?2:3;\nbreak;\ncase 2: var anf_fun322 = mkbranch97.$var === D?U(L[61],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[62];\nvar anf_arg323 = G(self312,\"left\",L[62]);\n$al316 = L[63];\nvar anf_arg326 = G(self312,\"right\",L[63]);\n$step310 = 11;\n$al316 = L[64];\nif(typeof(anf_fun322.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun322);\n}\n$ans315 = anf_fun322.app(val313,anf_arg323,anf_arg326);\nbreak;\ncase 3: $al316 = L[65];\nvar anf_arg327 = G(self312,\"value\",L[65]);\n$step310 = 4;\n$al316 = L[82];\n// omitting isFunction check;\n$ans315 = _lessthan3.app(val313,anf_arg327);\nbreak;\ncase 4: var anf_if346 = $ans315;\n$step310 = R.checkPyretTrue(anf_if346)?5:8;\nbreak;\ncase 5: var anf_fun334 = rebalance328.$var === D?U(L[66],\"rebalance\"):rebalance328.$var;\nvar anf_fun330 = mkbranch97.$var === D?U(L[67],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[68];\nvar anf_arg331 = G(self312,\"value\",L[68]);\n$al316 = L[69];\nvar anf_method_obj329 = G(self312,\"left\",L[69]);\n$step310 = 6;\n$ans315 = R.maybeMethodCall1(anf_method_obj329,\"insert\",L[70],val313);\nbreak;\ncase 6: var anf_arg332 = $ans315;\n$al316 = L[71];\nvar anf_arg333 = G(self312,\"right\",L[71]);\n$step310 = 7;\n$al316 = L[73];\nif(typeof(anf_fun330.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun330);\n}\n$ans315 = anf_fun330.app(anf_arg331,anf_arg332,anf_arg333);\nbreak;\ncase 7: var anf_arg335 = $ans315;\n$step310 = 11;\n$al316 = L[72];\nif(typeof(anf_fun334.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun334);\n}\n$ans315 = anf_fun334.app(anf_arg335);\nbreak;\ncase 8: var anf_fun344 = rebalance328.$var === D?U(L[74],\"rebalance\"):rebalance328.$var;\nvar anf_fun338 = mkbranch97.$var === D?U(L[75],\"mkbranch\"):mkbranch97.$var;\n$al316 = L[76];\nvar anf_arg341 = G(self312,\"value\",L[76]);\n$al316 = L[77];\nvar anf_arg342 = G(self312,\"left\",L[77]);\n$al316 = L[78];\nvar anf_method_obj336 = G(self312,\"right\",L[78]);\n$step310 = 9;\n$ans315 = R.maybeMethodCall1(anf_method_obj336,\"insert\",L[79],val313);\nbreak;\ncase 9: var anf_arg343 = $ans315;\n$step310 = 10;\n$al316 = L[81];\nif(typeof(anf_fun338.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun338);\n}\n$ans315 = anf_fun338.app(anf_arg341,anf_arg342,anf_arg343);\nbreak;\ncase 10: var anf_arg345 = $ans315;\n$step310 = 11;\n$al316 = L[80];\nif(typeof(anf_fun344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun344);\n}\n$ans315 = anf_fun344.app(anf_arg345);\nbreak;\ncase 11: var ann_check_temp320 = $ans315;\n$step310 = 12;\n$al316 = L[60];\nvar $ann$check321 = R._cA(L[60],AVLTree105,ann_check_temp320);\nif(R.isContinuation($ann$check321)) {\n$ans315 = $ann$check321;\n}\nbreak;\ncase 12: $step310 = 13;\n$ans315 = ann_check_temp320;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans315;\ndefault: R.ffi.throwSpinnakerError(L[58],$step310);\n}\n}\nif($step310 !== 13) {\n$ans315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al316,$temp_full311,$step310,[self312,val313],[ann_check_temp320,anf_arg341,anf_arg331,anf_arg342,anf_fun330,anf_fun344,anf_fun334,anf_fun338],$elidedFrames318);\n}\nreturn $ans315;\n};\nvar anf_variant_member777 = R.makeMethod1($temp_full311,\"insert\");\nvar $temp_full350 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__84($self351,$val352) {\nvar $step349 = 0;\nvar $elidedFrames356 = 0;\nvar $ans353 = D;\nvar $al354 = L[84];\nif(R.isAR($self351)) {\n$step349 = $self351.step;\n$al354 = $self351.from;\n$ans353 = $self351.ans;\n$elidedFrames356 = $self351.elidedFrames;\nself351 = $self351.args[0];\nval352 = $self351.args[1];\nanf_arg376 = $self351.vars[0];\nanf_arg366 = $self351.vars[1];\nanf_arg377 = $self351.vars[2];\nann_check_temp359 = $self351.vars[3];\nanf_fun375 = $self351.vars[4];\nanf_fun365 = $self351.vars[5];\nanf_fun379 = $self351.vars[6];\nanf_fun369 = $self351.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],2,$t,true);\n}\nvar self351 = $self351;\nvar val352 = $val352;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans353 = R.mC();\n}\nwhile(!R.isContinuation($ans353)) {\nswitch($step349) {\ncase 0: $al354 = L[85];\nvar anf_arg357 = G(self351,\"value\",L[85]);\n$step349 = 1;\n$al354 = L[107];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,equal$always1);\n}\n$ans353 = equal$always1.app(val352,anf_arg357);\nbreak;\ncase 1: var anf_if383 = $ans353;\n$step349 = R.checkPyretTrue(anf_if383)?2:3;\nbreak;\ncase 2: var anf_fun362 = remove$root361.$var === D?U(L[87],\"remove-root\"):remove$root361.$var;\n$step349 = 11;\n$al354 = L[88];\nif(typeof(anf_fun362.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun362);\n}\n$ans353 = anf_fun362.app(self351);\nbreak;\ncase 3: $al354 = L[89];\nvar anf_arg363 = G(self351,\"value\",L[89]);\n$step349 = 4;\n$al354 = L[106];\n// omitting isFunction check;\n$ans353 = _lessthan3.app(val352,anf_arg363);\nbreak;\ncase 4: var anf_if382 = $ans353;\n$step349 = R.checkPyretTrue(anf_if382)?5:8;\nbreak;\ncase 5: var anf_fun369 = rebalance328.$var === D?U(L[90],\"rebalance\"):rebalance328.$var;\nvar anf_fun365 = mkbranch97.$var === D?U(L[91],\"mkbranch\"):mkbranch97.$var;\n$al354 = L[92];\nvar anf_arg366 = G(self351,\"value\",L[92]);\n$al354 = L[93];\nvar anf_method_obj364 = G(self351,\"left\",L[93]);\n$step349 = 6;\n$ans353 = R.maybeMethodCall1(anf_method_obj364,\"remove\",L[94],val352);\nbreak;\ncase 6: var anf_arg367 = $ans353;\n$al354 = L[95];\nvar anf_arg368 = G(self351,\"right\",L[95]);\n$step349 = 7;\n$al354 = L[97];\nif(typeof(anf_fun365.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun365);\n}\n$ans353 = anf_fun365.app(anf_arg366,anf_arg367,anf_arg368);\nbreak;\ncase 7: var anf_arg371 = $ans353;\n$step349 = 11;\n$al354 = L[96];\nif(typeof(anf_fun369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun369);\n}\n$ans353 = anf_fun369.app(anf_arg371);\nbreak;\ncase 8: var anf_fun379 = rebalance328.$var === D?U(L[98],\"rebalance\"):rebalance328.$var;\nvar anf_fun375 = mkbranch97.$var === D?U(L[99],\"mkbranch\"):mkbranch97.$var;\n$al354 = L[100];\nvar anf_arg376 = G(self351,\"value\",L[100]);\n$al354 = L[101];\nvar anf_arg377 = G(self351,\"left\",L[101]);\n$al354 = L[102];\nvar anf_method_obj374 = G(self351,\"right\",L[102]);\n$step349 = 9;\n$ans353 = R.maybeMethodCall1(anf_method_obj374,\"remove\",L[103],val352);\nbreak;\ncase 9: var anf_arg378 = $ans353;\n$step349 = 10;\n$al354 = L[105];\nif(typeof(anf_fun375.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun375);\n}\n$ans353 = anf_fun375.app(anf_arg376,anf_arg377,anf_arg378);\nbreak;\ncase 10: var anf_arg381 = $ans353;\n$step349 = 11;\n$al354 = L[104];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al354,anf_fun379);\n}\n$ans353 = anf_fun379.app(anf_arg381);\nbreak;\ncase 11: var ann_check_temp359 = $ans353;\n$step349 = 12;\n$al354 = L[86];\nvar $ann$check360 = R._cA(L[86],AVLTree105,ann_check_temp359);\nif(R.isContinuation($ann$check360)) {\n$ans353 = $ann$check360;\n}\nbreak;\ncase 12: $step349 = 13;\n$ans353 = ann_check_temp359;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans353;\ndefault: R.ffi.throwSpinnakerError(L[84],$step349);\n}\n}\nif($step349 !== 13) {\n$ans353.stack[R.EXN_STACKHEIGHT++] = R.mAR($al354,$temp_full350,$step349,[self351,val352],[anf_arg376,anf_arg366,anf_arg377,ann_check_temp359,anf_fun375,anf_fun365,anf_fun379,anf_fun369],$elidedFrames356);\n}\nreturn $ans353;\n};\nvar anf_variant_member778 = R.makeMethod1($temp_full350,\"remove\");\nvar $temp_full386 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__108($self387) {\nvar $step385 = 0;\nvar $elidedFrames391 = 0;\nvar $ans388 = D;\nvar $al389 = L[108];\nif(R.isAR($self387)) {\n$step385 = $self387.step;\n$al389 = $self387.from;\n$ans388 = $self387.ans;\n$elidedFrames391 = $self387.elidedFrames;\nself387 = $self387.args[0];\nann_check_temp404 = $self387.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],1,$t,true);\n}\nvar self387 = $self387;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans388 = R.mC();\n}\nwhile(!R.isContinuation($ans388)) {\nswitch($step385) {\ncase 0: var knil403 = {\"$var\":D};\nvar $temp_lam393 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__109($l394,$x395) {\nvar $step392 = 0;\nvar $elidedFrames399 = 0;\nvar $ans396 = D;\nvar $al397 = L[109];\nif(R.isAR($l394)) {\n$step392 = $l394.step;\n$al397 = $l394.from;\n$ans396 = $l394.ans;\n$elidedFrames399 = $l394.elidedFrames;\nl394 = $l394.args[0];\nx395 = $l394.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[109],2,$t,false);\n}\nvar l394 = $l394;\nvar x395 = $x395;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans396 = R.mC();\n}\nwhile(!R.isContinuation($ans396)) {\nswitch($step392) {\ncase 0: // caller optimization;\n$ans396 = link8.app(x395,l394);\n$step392 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans396;\ndefault: R.ffi.throwSpinnakerError(L[109],$step392);\n}\n}\nif($step392 !== 1) {\n$ans396.stack[R.EXN_STACKHEIGHT++] = R.mAR($al397,$temp_lam393,$step392,[l394,x395],[],$elidedFrames399);\n}\nreturn $ans396;\n};\nvar anf_assign402 = R.mF($temp_lam393,\"knil\");\nknil403.$var = anf_assign402;\nR.nothing;\n$step385 = 1;\n$ans388 = R.maybeMethodCall2(self387,\"fold-revpreorder\",L[110],knil403.$var,empty4);\nbreak;\ncase 1: var ann_check_temp404 = $ans388;\n$step385 = 2;\n$al389 = L[111];\nvar $ann$check405 = R._cA(L[111],List7,ann_check_temp404);\nif(R.isContinuation($ann$check405)) {\n$ans388 = $ann$check405;\n}\nbreak;\ncase 2: $step385 = 3;\n$ans388 = ann_check_temp404;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans388;\ndefault: R.ffi.throwSpinnakerError(L[108],$step385);\n}\n}\nif($step385 !== 3) {\n$ans388.stack[R.EXN_STACKHEIGHT++] = R.mAR($al389,$temp_full386,$step385,[self387],[ann_check_temp404],$elidedFrames391);\n}\nreturn $ans388;\n};\nvar anf_variant_member779 = R.makeMethod0($temp_full386,\"preorder\");\nvar $temp_full408 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__112($self409) {\nvar $step407 = 0;\nvar $elidedFrames414 = 0;\nvar $ans411 = D;\nvar $al412 = L[112];\nif(R.isAR($self409)) {\n$step407 = $self409.step;\n$al412 = $self409.from;\n$ans411 = $self409.ans;\n$elidedFrames414 = $self409.elidedFrames;\nself409 = $self409.args[0];\nann_check_temp426 = $self409.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[112],1,$t,true);\n}\nvar self409 = $self409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans411 = R.mC();\n}\nwhile(!R.isContinuation($ans411)) {\nswitch($step407) {\ncase 0: var knil425 = {\"$var\":D};\nvar $temp_lam416 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__113($l417,$x418) {\nvar $step415 = 0;\nvar $elidedFrames422 = 0;\nvar $ans419 = D;\nvar $al420 = L[113];\nif(R.isAR($l417)) {\n$step415 = $l417.step;\n$al420 = $l417.from;\n$ans419 = $l417.ans;\n$elidedFrames422 = $l417.elidedFrames;\nl417 = $l417.args[0];\nx418 = $l417.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[113],2,$t,false);\n}\nvar l417 = $l417;\nvar x418 = $x418;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans419 = R.mC();\n}\nwhile(!R.isContinuation($ans419)) {\nswitch($step415) {\ncase 0: // caller optimization;\n$ans419 = link8.app(x418,l417);\n$step415 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans419;\ndefault: R.ffi.throwSpinnakerError(L[113],$step415);\n}\n}\nif($step415 !== 1) {\n$ans419.stack[R.EXN_STACKHEIGHT++] = R.mAR($al420,$temp_lam416,$step415,[l417,x418],[],$elidedFrames422);\n}\nreturn $ans419;\n};\nvar anf_assign424 = R.mF($temp_lam416,\"knil\");\nknil425.$var = anf_assign424;\nR.nothing;\n$step407 = 1;\n$ans411 = R.maybeMethodCall2(self409,\"fold-revinorder\",L[114],knil425.$var,empty4);\nbreak;\ncase 1: var ann_check_temp426 = $ans411;\n$step407 = 2;\n$al412 = L[115];\nvar $ann$check427 = R._cA(L[115],List7,ann_check_temp426);\nif(R.isContinuation($ann$check427)) {\n$ans411 = $ann$check427;\n}\nbreak;\ncase 2: $step407 = 3;\n$ans411 = ann_check_temp426;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans411;\ndefault: R.ffi.throwSpinnakerError(L[112],$step407);\n}\n}\nif($step407 !== 3) {\n$ans411.stack[R.EXN_STACKHEIGHT++] = R.mAR($al412,$temp_full408,$step407,[self409],[ann_check_temp426],$elidedFrames414);\n}\nreturn $ans411;\n};\nvar anf_variant_member780 = R.makeMethod0($temp_full408,\"inorder\");\nvar $temp_full430 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__116($self212) {\nvar $step429 = 0;\nvar $elidedFrames434 = 0;\nvar $ans431 = D;\nvar $al432 = L[116];\nif(R.isAR($self212)) {\n$step429 = $self212.step;\n$al432 = $self212.from;\n$ans431 = $self212.ans;\n$elidedFrames434 = $self212.elidedFrames;\nself212 = $self212.args[0];\nann_check_temp447 = $self212.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[116],1,$t,true);\n}\nvar self212 = $self212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans431 = R.mC();\n}\nwhile(!R.isContinuation($ans431)) {\nswitch($step429) {\ncase 0: var knil446 = {\"$var\":D};\nvar $temp_lam436 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__117($l437,$x438) {\nvar $step435 = 0;\nvar $elidedFrames443 = 0;\nvar $ans440 = D;\nvar $al441 = L[117];\nif(R.isAR($l437)) {\n$step435 = $l437.step;\n$al441 = $l437.from;\n$ans440 = $l437.ans;\n$elidedFrames443 = $l437.elidedFrames;\nl437 = $l437.args[0];\nx438 = $l437.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],2,$t,false);\n}\nvar l437 = $l437;\nvar x438 = $x438;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans440 = R.mC();\n}\nwhile(!R.isContinuation($ans440)) {\nswitch($step435) {\ncase 0: // caller optimization;\n$ans440 = link8.app(x438,l437);\n$step435 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans440;\ndefault: R.ffi.throwSpinnakerError(L[117],$step435);\n}\n}\nif($step435 !== 1) {\n$ans440.stack[R.EXN_STACKHEIGHT++] = R.mAR($al441,$temp_lam436,$step435,[l437,x438],[],$elidedFrames443);\n}\nreturn $ans440;\n};\nvar anf_assign445 = R.mF($temp_lam436,\"knil\");\nknil446.$var = anf_assign445;\nR.nothing;\n$step429 = 1;\n$ans431 = R.maybeMethodCall2(self212,\"fold-revpostorder\",L[118],knil446.$var,empty4);\nbreak;\ncase 1: var ann_check_temp447 = $ans431;\n$step429 = 2;\n$al432 = L[119];\nvar $ann$check448 = R._cA(L[119],List7,ann_check_temp447);\nif(R.isContinuation($ann$check448)) {\n$ans431 = $ann$check448;\n}\nbreak;\ncase 2: $step429 = 3;\n$ans431 = ann_check_temp447;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans431;\ndefault: R.ffi.throwSpinnakerError(L[116],$step429);\n}\n}\nif($step429 !== 3) {\n$ans431.stack[R.EXN_STACKHEIGHT++] = R.mAR($al432,$temp_full430,$step429,[self212],[ann_check_temp447],$elidedFrames434);\n}\nreturn $ans431;\n};\nvar anf_variant_member781 = R.makeMethod0($temp_full430,\"postorder\");\nvar $temp_full451 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__120($self452) {\nvar $step450 = 0;\nvar $elidedFrames456 = 0;\nvar $ans453 = D;\nvar $al454 = L[120];\nif(R.isAR($self452)) {\n$step450 = $self452.step;\n$al454 = $self452.from;\n$ans453 = $self452.ans;\n$elidedFrames456 = $self452.elidedFrames;\nself452 = $self452.args[0];\nann_check_temp468 = $self452.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[120],1,$t,true);\n}\nvar self452 = $self452;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans453 = R.mC();\n}\nwhile(!R.isContinuation($ans453)) {\nswitch($step450) {\ncase 0: var knil467 = {\"$var\":D};\nvar $temp_lam458 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__121($l459,$x460) {\nvar $step457 = 0;\nvar $elidedFrames464 = 0;\nvar $ans461 = D;\nvar $al462 = L[121];\nif(R.isAR($l459)) {\n$step457 = $l459.step;\n$al462 = $l459.from;\n$ans461 = $l459.ans;\n$elidedFrames464 = $l459.elidedFrames;\nl459 = $l459.args[0];\nx460 = $l459.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[121],2,$t,false);\n}\nvar l459 = $l459;\nvar x460 = $x460;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans461 = R.mC();\n}\nwhile(!R.isContinuation($ans461)) {\nswitch($step457) {\ncase 0: // caller optimization;\n$ans461 = link8.app(x460,l459);\n$step457 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans461;\ndefault: R.ffi.throwSpinnakerError(L[121],$step457);\n}\n}\nif($step457 !== 1) {\n$ans461.stack[R.EXN_STACKHEIGHT++] = R.mAR($al462,$temp_lam458,$step457,[l459,x460],[],$elidedFrames464);\n}\nreturn $ans461;\n};\nvar anf_assign466 = R.mF($temp_lam458,\"knil\");\nknil467.$var = anf_assign466;\nR.nothing;\n$step450 = 1;\n$ans453 = R.maybeMethodCall2(self452,\"fold-preorder\",L[122],knil467.$var,empty4);\nbreak;\ncase 1: var ann_check_temp468 = $ans453;\n$step450 = 2;\n$al454 = L[123];\nvar $ann$check469 = R._cA(L[123],List7,ann_check_temp468);\nif(R.isContinuation($ann$check469)) {\n$ans453 = $ann$check469;\n}\nbreak;\ncase 2: $step450 = 3;\n$ans453 = ann_check_temp468;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans453;\ndefault: R.ffi.throwSpinnakerError(L[120],$step450);\n}\n}\nif($step450 !== 3) {\n$ans453.stack[R.EXN_STACKHEIGHT++] = R.mAR($al454,$temp_full451,$step450,[self452],[ann_check_temp468],$elidedFrames456);\n}\nreturn $ans453;\n};\nvar anf_variant_member782 = R.makeMethod0($temp_full451,\"revpreorder\");\nvar $temp_full472 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__124($self473) {\nvar $step471 = 0;\nvar $elidedFrames478 = 0;\nvar $ans475 = D;\nvar $al476 = L[124];\nif(R.isAR($self473)) {\n$step471 = $self473.step;\n$al476 = $self473.from;\n$ans475 = $self473.ans;\n$elidedFrames478 = $self473.elidedFrames;\nself473 = $self473.args[0];\nann_check_temp490 = $self473.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[124],1,$t,true);\n}\nvar self473 = $self473;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans475 = R.mC();\n}\nwhile(!R.isContinuation($ans475)) {\nswitch($step471) {\ncase 0: var knil489 = {\"$var\":D};\nvar $temp_lam480 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__125($l481,$x482) {\nvar $step479 = 0;\nvar $elidedFrames486 = 0;\nvar $ans483 = D;\nvar $al484 = L[125];\nif(R.isAR($l481)) {\n$step479 = $l481.step;\n$al484 = $l481.from;\n$ans483 = $l481.ans;\n$elidedFrames486 = $l481.elidedFrames;\nl481 = $l481.args[0];\nx482 = $l481.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[125],2,$t,false);\n}\nvar l481 = $l481;\nvar x482 = $x482;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans483 = R.mC();\n}\nwhile(!R.isContinuation($ans483)) {\nswitch($step479) {\ncase 0: // caller optimization;\n$ans483 = link8.app(x482,l481);\n$step479 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans483;\ndefault: R.ffi.throwSpinnakerError(L[125],$step479);\n}\n}\nif($step479 !== 1) {\n$ans483.stack[R.EXN_STACKHEIGHT++] = R.mAR($al484,$temp_lam480,$step479,[l481,x482],[],$elidedFrames486);\n}\nreturn $ans483;\n};\nvar anf_assign488 = R.mF($temp_lam480,\"knil\");\nknil489.$var = anf_assign488;\nR.nothing;\n$step471 = 1;\n$ans475 = R.maybeMethodCall2(self473,\"fold-inorder\",L[126],knil489.$var,empty4);\nbreak;\ncase 1: var ann_check_temp490 = $ans475;\n$step471 = 2;\n$al476 = L[127];\nvar $ann$check491 = R._cA(L[127],List7,ann_check_temp490);\nif(R.isContinuation($ann$check491)) {\n$ans475 = $ann$check491;\n}\nbreak;\ncase 2: $step471 = 3;\n$ans475 = ann_check_temp490;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans475;\ndefault: R.ffi.throwSpinnakerError(L[124],$step471);\n}\n}\nif($step471 !== 3) {\n$ans475.stack[R.EXN_STACKHEIGHT++] = R.mAR($al476,$temp_full472,$step471,[self473],[ann_check_temp490],$elidedFrames478);\n}\nreturn $ans475;\n};\nvar anf_variant_member783 = R.makeMethod0($temp_full472,\"revinorder\");\nvar $temp_full494 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__128($self303) {\nvar $step493 = 0;\nvar $elidedFrames498 = 0;\nvar $ans495 = D;\nvar $al496 = L[128];\nif(R.isAR($self303)) {\n$step493 = $self303.step;\n$al496 = $self303.from;\n$ans495 = $self303.ans;\n$elidedFrames498 = $self303.elidedFrames;\nself303 = $self303.args[0];\nann_check_temp510 = $self303.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[128],1,$t,true);\n}\nvar self303 = $self303;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans495 = R.mC();\n}\nwhile(!R.isContinuation($ans495)) {\nswitch($step493) {\ncase 0: var knil509 = {\"$var\":D};\nvar $temp_lam500 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__129($l501,$x502) {\nvar $step499 = 0;\nvar $elidedFrames506 = 0;\nvar $ans503 = D;\nvar $al504 = L[129];\nif(R.isAR($l501)) {\n$step499 = $l501.step;\n$al504 = $l501.from;\n$ans503 = $l501.ans;\n$elidedFrames506 = $l501.elidedFrames;\nl501 = $l501.args[0];\nx502 = $l501.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],2,$t,false);\n}\nvar l501 = $l501;\nvar x502 = $x502;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans503 = R.mC();\n}\nwhile(!R.isContinuation($ans503)) {\nswitch($step499) {\ncase 0: // caller optimization;\n$ans503 = link8.app(x502,l501);\n$step499 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans503;\ndefault: R.ffi.throwSpinnakerError(L[129],$step499);\n}\n}\nif($step499 !== 1) {\n$ans503.stack[R.EXN_STACKHEIGHT++] = R.mAR($al504,$temp_lam500,$step499,[l501,x502],[],$elidedFrames506);\n}\nreturn $ans503;\n};\nvar anf_assign508 = R.mF($temp_lam500,\"knil\");\nknil509.$var = anf_assign508;\nR.nothing;\n$step493 = 1;\n$ans495 = R.maybeMethodCall2(self303,\"fold-postorder\",L[130],knil509.$var,empty4);\nbreak;\ncase 1: var ann_check_temp510 = $ans495;\n$step493 = 2;\n$al496 = L[131];\nvar $ann$check511 = R._cA(L[131],List7,ann_check_temp510);\nif(R.isContinuation($ann$check511)) {\n$ans495 = $ann$check511;\n}\nbreak;\ncase 2: $step493 = 3;\n$ans495 = ann_check_temp510;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans495;\ndefault: R.ffi.throwSpinnakerError(L[128],$step493);\n}\n}\nif($step493 !== 3) {\n$ans495.stack[R.EXN_STACKHEIGHT++] = R.mAR($al496,$temp_full494,$step493,[self303],[ann_check_temp510],$elidedFrames498);\n}\nreturn $ans495;\n};\nvar anf_variant_member784 = R.makeMethod0($temp_full494,\"revpostorder\");\nvar $temp_full514 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__132($self515,$f516,$base517) {\nvar $step513 = 0;\nvar $elidedFrames521 = 0;\nvar $ans518 = D;\nvar $al519 = L[132];\nif(R.isAR($self515)) {\n$step513 = $self515.step;\n$al519 = $self515.from;\n$ans518 = $self515.ans;\n$elidedFrames521 = $self515.elidedFrames;\nself515 = $self515.args[0];\nf516 = $self515.args[1];\nbase517 = $self515.args[2];\nanf_method_obj533 = $self515.vars[0];\nanf_method_obj529 = $self515.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],3,$t,true);\n}\nvar self515 = $self515;\nvar f516 = $f516;\nvar base517 = $base517;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans518 = R.mC();\n}\nwhile(!R.isContinuation($ans518)) {\nswitch($step513) {\ncase 0: $al519 = L[133];\nvar anf_method_obj533 = G(self515,\"right\",L[133]);\n$al519 = L[134];\nvar anf_method_obj529 = G(self515,\"left\",L[134]);\n$al519 = L[135];\nvar anf_arg528 = G(self515,\"value\",L[135]);\n$step513 = 1;\n$al519 = L[138];\nif(typeof(f516.app) !== \"function\") {\nR.ffi.throwNonFunApp($al519,f516);\n}\n$ans518 = f516.app(base517,anf_arg528);\nbreak;\ncase 1: var anf_arg532 = $ans518;\n$step513 = 2;\n$ans518 = R.maybeMethodCall2(anf_method_obj529,\"fold-preorder\",L[136],f516,anf_arg532);\nbreak;\ncase 2: var anf_arg537 = $ans518;\n$step513 = 3;\n$ans518 = R.maybeMethodCall2(anf_method_obj533,\"fold-preorder\",L[137],f516,anf_arg537);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans518;\ndefault: R.ffi.throwSpinnakerError(L[132],$step513);\n}\n}\nif($step513 !== 3) {\n$ans518.stack[R.EXN_STACKHEIGHT++] = R.mAR($al519,$temp_full514,$step513,[self515,f516,base517],[anf_method_obj533,anf_method_obj529],$elidedFrames521);\n}\nreturn $ans518;\n};\nvar anf_variant_member785 = R.makeMethod2($temp_full514,\"fold-preorder\");\nvar $temp_full540 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__139($self541,$f542,$base543) {\nvar $step539 = 0;\nvar $elidedFrames547 = 0;\nvar $ans544 = D;\nvar $al545 = L[139];\nif(R.isAR($self541)) {\n$step539 = $self541.step;\n$al545 = $self541.from;\n$ans544 = $self541.ans;\n$elidedFrames547 = $self541.elidedFrames;\nself541 = $self541.args[0];\nf542 = $self541.args[1];\nbase543 = $self541.args[2];\nanf_method_obj559 = $self541.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[139],3,$t,true);\n}\nvar self541 = $self541;\nvar f542 = $f542;\nvar base543 = $base543;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans544 = R.mC();\n}\nwhile(!R.isContinuation($ans544)) {\nswitch($step539) {\ncase 0: $al545 = L[140];\nvar anf_method_obj559 = G(self541,\"right\",L[140]);\n$al545 = L[141];\nvar anf_method_obj548 = G(self541,\"left\",L[141]);\n$step539 = 1;\n$ans544 = R.maybeMethodCall2(anf_method_obj548,\"fold-inorder\",L[142],f542,base543);\nbreak;\ncase 1: var anf_arg557 = $ans544;\n$al545 = L[143];\nvar anf_arg558 = G(self541,\"value\",L[143]);\n$step539 = 2;\n$al545 = L[145];\nif(typeof(f542.app) !== \"function\") {\nR.ffi.throwNonFunApp($al545,f542);\n}\n$ans544 = f542.app(anf_arg557,anf_arg558);\nbreak;\ncase 2: var anf_arg560 = $ans544;\n$step539 = 3;\n$ans544 = R.maybeMethodCall2(anf_method_obj559,\"fold-inorder\",L[144],f542,anf_arg560);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans544;\ndefault: R.ffi.throwSpinnakerError(L[139],$step539);\n}\n}\nif($step539 !== 3) {\n$ans544.stack[R.EXN_STACKHEIGHT++] = R.mAR($al545,$temp_full540,$step539,[self541,f542,base543],[anf_method_obj559],$elidedFrames547);\n}\nreturn $ans544;\n};\nvar anf_variant_member786 = R.makeMethod2($temp_full540,\"fold-inorder\");\nvar $temp_full563 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__146($self564,$f565,$base566) {\nvar $step562 = 0;\nvar $elidedFrames570 = 0;\nvar $ans567 = D;\nvar $al568 = L[146];\nif(R.isAR($self564)) {\n$step562 = $self564.step;\n$al568 = $self564.from;\n$ans567 = $self564.ans;\n$elidedFrames570 = $self564.elidedFrames;\nself564 = $self564.args[0];\nf565 = $self564.args[1];\nbase566 = $self564.args[2];\nanf_method_obj572 = $self564.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[146],3,$t,true);\n}\nvar self564 = $self564;\nvar f565 = $f565;\nvar base566 = $base566;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans567 = R.mC();\n}\nwhile(!R.isContinuation($ans567)) {\nswitch($step562) {\ncase 0: $al568 = L[147];\nvar anf_method_obj572 = G(self564,\"right\",L[147]);\n$al568 = L[148];\nvar anf_method_obj571 = G(self564,\"left\",L[148]);\n$step562 = 1;\n$ans567 = R.maybeMethodCall2(anf_method_obj571,\"fold-postorder\",L[149],f565,base566);\nbreak;\ncase 1: var anf_arg576 = $ans567;\n$step562 = 2;\n$ans567 = R.maybeMethodCall2(anf_method_obj572,\"fold-postorder\",L[150],f565,anf_arg576);\nbreak;\ncase 2: var anf_arg594 = $ans567;\n$al568 = L[151];\nvar anf_arg621 = G(self564,\"value\",L[151]);\n$step562 = 3;\n$al568 = L[152];\nif(typeof(f565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al568,f565);\n}\n$ans567 = f565.app(anf_arg594,anf_arg621);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans567;\ndefault: R.ffi.throwSpinnakerError(L[146],$step562);\n}\n}\nif($step562 !== 3) {\n$ans567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al568,$temp_full563,$step562,[self564,f565,base566],[anf_method_obj572],$elidedFrames570);\n}\nreturn $ans567;\n};\nvar anf_variant_member787 = R.makeMethod2($temp_full563,\"fold-postorder\");\nvar $temp_full624 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__153($self625,$f626,$base627) {\nvar $step623 = 0;\nvar $elidedFrames631 = 0;\nvar $ans628 = D;\nvar $al629 = L[153];\nif(R.isAR($self625)) {\n$step623 = $self625.step;\n$al629 = $self625.from;\n$ans628 = $self625.ans;\n$elidedFrames631 = $self625.elidedFrames;\nself625 = $self625.args[0];\nf626 = $self625.args[1];\nbase627 = $self625.args[2];\nanf_method_obj637 = $self625.vars[0];\nanf_method_obj633 = $self625.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[153],3,$t,true);\n}\nvar self625 = $self625;\nvar f626 = $f626;\nvar base627 = $base627;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans628 = R.mC();\n}\nwhile(!R.isContinuation($ans628)) {\nswitch($step623) {\ncase 0: $al629 = L[154];\nvar anf_method_obj637 = G(self625,\"left\",L[154]);\n$al629 = L[155];\nvar anf_method_obj633 = G(self625,\"right\",L[155]);\n$al629 = L[156];\nvar anf_arg632 = G(self625,\"value\",L[156]);\n$step623 = 1;\n$al629 = L[159];\nif(typeof(f626.app) !== \"function\") {\nR.ffi.throwNonFunApp($al629,f626);\n}\n$ans628 = f626.app(base627,anf_arg632);\nbreak;\ncase 1: var anf_arg636 = $ans628;\n$step623 = 2;\n$ans628 = R.maybeMethodCall2(anf_method_obj633,\"fold-revpreorder\",L[157],f626,anf_arg636);\nbreak;\ncase 2: var anf_arg641 = $ans628;\n$step623 = 3;\n$ans628 = R.maybeMethodCall2(anf_method_obj637,\"fold-revpreorder\",L[158],f626,anf_arg641);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans628;\ndefault: R.ffi.throwSpinnakerError(L[153],$step623);\n}\n}\nif($step623 !== 3) {\n$ans628.stack[R.EXN_STACKHEIGHT++] = R.mAR($al629,$temp_full624,$step623,[self625,f626,base627],[anf_method_obj637,anf_method_obj633],$elidedFrames631);\n}\nreturn $ans628;\n};\nvar anf_variant_member788 = R.makeMethod2($temp_full624,\"fold-revpreorder\");\nvar $temp_full644 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__160($self379,$f645,$base646) {\nvar $step643 = 0;\nvar $elidedFrames650 = 0;\nvar $ans647 = D;\nvar $al648 = L[160];\nif(R.isAR($self379)) {\n$step643 = $self379.step;\n$al648 = $self379.from;\n$ans647 = $self379.ans;\n$elidedFrames650 = $self379.elidedFrames;\nself379 = $self379.args[0];\nf645 = $self379.args[1];\nbase646 = $self379.args[2];\nanf_method_obj656 = $self379.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[160],3,$t,true);\n}\nvar self379 = $self379;\nvar f645 = $f645;\nvar base646 = $base646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans647 = R.mC();\n}\nwhile(!R.isContinuation($ans647)) {\nswitch($step643) {\ncase 0: $al648 = L[161];\nvar anf_method_obj656 = G(self379,\"left\",L[161]);\n$al648 = L[162];\nvar anf_method_obj651 = G(self379,\"right\",L[162]);\n$step643 = 1;\n$ans647 = R.maybeMethodCall2(anf_method_obj651,\"fold-revinorder\",L[163],f645,base646);\nbreak;\ncase 1: var anf_arg652 = $ans647;\n$al648 = L[164];\nvar anf_arg655 = G(self379,\"value\",L[164]);\n$step643 = 2;\n$al648 = L[166];\nif(typeof(f645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al648,f645);\n}\n$ans647 = f645.app(anf_arg652,anf_arg655);\nbreak;\ncase 2: var anf_arg657 = $ans647;\n$step643 = 3;\n$ans647 = R.maybeMethodCall2(anf_method_obj656,\"fold-revinorder\",L[165],f645,anf_arg657);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans647;\ndefault: R.ffi.throwSpinnakerError(L[160],$step643);\n}\n}\nif($step643 !== 3) {\n$ans647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al648,$temp_full644,$step643,[self379,f645,base646],[anf_method_obj656],$elidedFrames650);\n}\nreturn $ans647;\n};\nvar anf_variant_member789 = R.makeMethod2($temp_full644,\"fold-revinorder\");\nvar $temp_full660 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__167($self661,$f662,$base663) {\nvar $step659 = 0;\nvar $elidedFrames667 = 0;\nvar $ans664 = D;\nvar $al665 = L[167];\nif(R.isAR($self661)) {\n$step659 = $self661.step;\n$al665 = $self661.from;\n$ans664 = $self661.ans;\n$elidedFrames667 = $self661.elidedFrames;\nself661 = $self661.args[0];\nf662 = $self661.args[1];\nbase663 = $self661.args[2];\nanf_method_obj669 = $self661.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[167],3,$t,true);\n}\nvar self661 = $self661;\nvar f662 = $f662;\nvar base663 = $base663;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans664 = R.mC();\n}\nwhile(!R.isContinuation($ans664)) {\nswitch($step659) {\ncase 0: $al665 = L[168];\nvar anf_method_obj669 = G(self661,\"left\",L[168]);\n$al665 = L[169];\nvar anf_method_obj668 = G(self661,\"right\",L[169]);\n$step659 = 1;\n$ans664 = R.maybeMethodCall2(anf_method_obj668,\"fold-revpostorder\",L[170],f662,base663);\nbreak;\ncase 1: var anf_arg675 = $ans664;\n$step659 = 2;\n$ans664 = R.maybeMethodCall2(anf_method_obj669,\"fold-revpostorder\",L[171],f662,anf_arg675);\nbreak;\ncase 2: var anf_arg679 = $ans664;\n$al665 = L[172];\nvar anf_arg688 = G(self661,\"value\",L[172]);\n$step659 = 3;\n$al665 = L[173];\nif(typeof(f662.app) !== \"function\") {\nR.ffi.throwNonFunApp($al665,f662);\n}\n$ans664 = f662.app(anf_arg679,anf_arg688);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans664;\ndefault: R.ffi.throwSpinnakerError(L[167],$step659);\n}\n}\nif($step659 !== 3) {\n$ans664.stack[R.EXN_STACKHEIGHT++] = R.mAR($al665,$temp_full660,$step659,[self661,f662,base663],[anf_method_obj669],$elidedFrames667);\n}\nreturn $ans664;\n};\nvar anf_variant_member790 = R.makeMethod2($temp_full660,\"fold-revpostorder\");\nvar $temp_full691 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__174($self692) {\nvar $step690 = 0;\nvar $elidedFrames696 = 0;\nvar $ans693 = D;\nvar $al694 = L[174];\nif(R.isAR($self692)) {\n$step690 = $self692.step;\n$al694 = $self692.from;\n$ans693 = $self692.ans;\n$elidedFrames696 = $self692.elidedFrames;\nself692 = $self692.args[0];\nanf_arg706 = $self692.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[174],1,$t,true);\n}\nvar self692 = $self692;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans693 = R.mC();\n}\nwhile(!R.isContinuation($ans693)) {\nswitch($step690) {\ncase 0: $al694 = L[175];\nvar anf_method_obj697 = G(self692,\"left\",L[175]);\n$step690 = 1;\n$ans693 = R.maybeMethodCall0(anf_method_obj697,\"count\",L[176]);\nbreak;\ncase 1: var anf_arg698 = $ans693;\n$step690 = 2;\n$al694 = L[180];\n// omitting isFunction check;\n$ans693 = _plus5.app((1),anf_arg698);\nbreak;\ncase 2: var anf_arg706 = $ans693;\n$al694 = L[177];\nvar anf_method_obj699 = G(self692,\"right\",L[177]);\n$step690 = 3;\n$ans693 = R.maybeMethodCall0(anf_method_obj699,\"count\",L[178]);\nbreak;\ncase 3: var anf_arg711 = $ans693;\n$step690 = 4;\n$al694 = L[179];\n// omitting isFunction check;\n$ans693 = _plus5.app(anf_arg706,anf_arg711);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans693;\ndefault: R.ffi.throwSpinnakerError(L[174],$step690);\n}\n}\nif($step690 !== 4) {\n$ans693.stack[R.EXN_STACKHEIGHT++] = R.mAR($al694,$temp_full691,$step690,[self692],[anf_arg706],$elidedFrames696);\n}\nreturn $ans693;\n};\nvar anf_variant_member791 = R.makeMethod0($temp_full691,\"count\");\nvar $temp_full716 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__181($self717,$f718) {\nvar $step715 = 0;\nvar $elidedFrames722 = 0;\nvar $ans719 = D;\nvar $al720 = L[181];\nif(R.isAR($self717)) {\n$step715 = $self717.step;\n$al720 = $self717.from;\n$ans719 = $self717.ans;\n$elidedFrames722 = $self717.elidedFrames;\nself717 = $self717.args[0];\nf718 = $self717.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[181],2,$t,true);\n}\nvar self717 = $self717;\nvar f718 = $f718;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans719 = R.mC();\n}\nwhile(!R.isContinuation($ans719)) {\nswitch($step715) {\ncase 0: $al720 = L[182];\nvar anf_arg723 = G(self717,\"value\",L[182]);\n$step715 = 1;\n$al720 = L[187];\nif(typeof(f718.app) !== \"function\") {\nR.ffi.throwNonFunApp($al720,f718);\n}\n$ans719 = f718.app(anf_arg723);\nbreak;\ncase 1: var anf_if730 = $ans719;\n$step715 = R.checkPyretTrue(anf_if730)?2:7;\nbreak;\ncase 2: $al720 = L[183];\nvar anf_method_obj724 = G(self717,\"right\",L[183]);\n$step715 = 3;\n$ans719 = R.maybeMethodCall1(anf_method_obj724,\"all\",L[184],f718);\nbreak;\ncase 3: var anf_if729 = $ans719;\n$step715 = R.checkPyretTrue(anf_if729)?4:6;\nbreak;\ncase 4: $al720 = L[185];\nvar anf_method_obj725 = G(self717,\"left\",L[185]);\n$step715 = 5;\n$ans719 = R.maybeMethodCall1(anf_method_obj725,\"all\",L[186],f718);\nbreak;\ncase 5: var anf_arg728 = $ans719;\n$ans719 = R.checkWrapBoolean(anf_arg728);\n$step715 = 8;\nbreak;\ncase 6: $step715 = 8;\n$ans719 = (false);\nbreak;\ncase 7: $step715 = 8;\n$ans719 = (false);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans719;\ndefault: R.ffi.throwSpinnakerError(L[181],$step715);\n}\n}\nif($step715 !== 8) {\n$ans719.stack[R.EXN_STACKHEIGHT++] = R.mAR($al720,$temp_full716,$step715,[self717,f718],[],$elidedFrames722);\n}\nreturn $ans719;\n};\nvar anf_variant_member792 = R.makeMethod1($temp_full716,\"all\");\nvar $temp_full733 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__188($self412,$f734) {\nvar $step732 = 0;\nvar $elidedFrames738 = 0;\nvar $ans735 = D;\nvar $al736 = L[188];\nif(R.isAR($self412)) {\n$step732 = $self412.step;\n$al736 = $self412.from;\n$ans735 = $self412.ans;\n$elidedFrames738 = $self412.elidedFrames;\nself412 = $self412.args[0];\nf734 = $self412.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[188],2,$t,true);\n}\nvar self412 = $self412;\nvar f734 = $f734;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans735 = R.mC();\n}\nwhile(!R.isContinuation($ans735)) {\nswitch($step732) {\ncase 0: $al736 = L[189];\nvar anf_arg739 = G(self412,\"value\",L[189]);\n$step732 = 1;\n$al736 = L[194];\nif(typeof(f734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al736,f734);\n}\n$ans735 = f734.app(anf_arg739);\nbreak;\ncase 1: var anf_if744 = $ans735;\n$step732 = R.checkPyretTrue(anf_if744)?2:3;\nbreak;\ncase 2: $step732 = 8;\n$ans735 = (true);\nbreak;\ncase 3: $al736 = L[190];\nvar anf_method_obj740 = G(self412,\"right\",L[190]);\n$step732 = 4;\n$ans735 = R.maybeMethodCall1(anf_method_obj740,\"all\",L[191],f734);\nbreak;\ncase 4: var anf_if743 = $ans735;\n$step732 = R.checkPyretTrue(anf_if743)?5:6;\nbreak;\ncase 5: $step732 = 8;\n$ans735 = (true);\nbreak;\ncase 6: $al736 = L[192];\nvar anf_method_obj741 = G(self412,\"left\",L[192]);\n$step732 = 7;\n$ans735 = R.maybeMethodCall1(anf_method_obj741,\"all\",L[193],f734);\nbreak;\ncase 7: var anf_arg742 = $ans735;\n$ans735 = R.checkWrapBoolean(anf_arg742);\n$step732 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans735;\ndefault: R.ffi.throwSpinnakerError(L[188],$step732);\n}\n}\nif($step732 !== 8) {\n$ans735.stack[R.EXN_STACKHEIGHT++] = R.mAR($al736,$temp_full733,$step732,[self412,f734],[],$elidedFrames738);\n}\nreturn $ans735;\n};\nvar anf_variant_member793 = R.makeMethod1($temp_full733,\"any\");\nvar $leaf_getfields771 = function variant(f) {\nreturn f();\n};\nvar $leaf_mutablemask770 = [];\nvar $leaf$base748 = {\"to-list\":anf_shared746,\n\"_equals\":anf_shared747,\n\"height\":anf_singleton_variant_member751,\n\"contains\":anf_singleton_variant_member752,\n\"insert\":anf_singleton_variant_member753,\n\"remove\":anf_singleton_variant_member754,\n\"preorder\":anf_singleton_variant_member755,\n\"inorder\":anf_singleton_variant_member756,\n\"postorder\":anf_singleton_variant_member757,\n\"revpreorder\":anf_singleton_variant_member758,\n\"revinorder\":anf_singleton_variant_member759,\n\"revpostorder\":anf_singleton_variant_member760,\n\"fold-preorder\":anf_singleton_variant_member761,\n\"fold-inorder\":anf_singleton_variant_member762,\n\"fold-postorder\":anf_singleton_variant_member763,\n\"fold-revpreorder\":anf_singleton_variant_member764,\n\"fold-revinorder\":anf_singleton_variant_member765,\n\"fold-revpostorder\":anf_singleton_variant_member766,\n\"count\":anf_singleton_variant_member767,\n\"all\":anf_singleton_variant_member768,\n\"any\":anf_singleton_variant_member769,\n\"_match\":R.mM(\"leaf\",0)};\nvar $leaf$brander749 = R.nB(\"leaf\",L[195]);\nvar $leaf$brands750 = {};\n$leaf$brands750[AVLTree29._brand] = true;\n$leaf$brands750[$leaf$brander749._brand] = true;\nvar $branch_getfields795 = function singleton_variant(f) {\nreturn f(this.dict[\"value\"],this.dict[\"h\"],this.dict[\"left\"],this.dict[\"right\"]);\n};\nvar $branch_mutablemask794 = [false,false,false,false];\nvar $branch$base772 = {\"$fieldNames\":[\"value\",\"h\",\"left\",\"right\"],\n\"to-list\":anf_shared746,\n\"_equals\":anf_shared747,\n\"height\":anf_variant_member775,\n\"contains\":anf_variant_member776,\n\"insert\":anf_variant_member777,\n\"remove\":anf_variant_member778,\n\"preorder\":anf_variant_member779,\n\"inorder\":anf_variant_member780,\n\"postorder\":anf_variant_member781,\n\"revpreorder\":anf_variant_member782,\n\"revinorder\":anf_variant_member783,\n\"revpostorder\":anf_variant_member784,\n\"fold-preorder\":anf_variant_member785,\n\"fold-inorder\":anf_variant_member786,\n\"fold-postorder\":anf_variant_member787,\n\"fold-revpreorder\":anf_variant_member788,\n\"fold-revinorder\":anf_variant_member789,\n\"fold-revpostorder\":anf_variant_member790,\n\"count\":anf_variant_member791,\n\"all\":anf_variant_member792,\n\"any\":anf_variant_member793,\n\"_match\":R.mM(\"branch\",4)};\nvar $branch$brander773 = R.nB(\"branch\",L[196]);\nvar $branch$brands774 = {};\n$branch$brands774[AVLTree29._brand] = true;\n$branch$brands774[$branch$brander773._brand] = true;\nvar branch796 = R.mVC(L[196],function $synthesizedConstructor_$branch$base() {\nreturn [$type$Number3,AVLTree105,AVLTree105];\n},[\"h797\",\"left798\",\"right799\"],[L[197],L[198],L[199]],[false,false,false,false],[\"value800\",\"h797\",\"left798\",\"right799\"],$branch_mutablemask794,$branch$base772,$branch$brands774,\"branch\",$branch_getfields795,$branch$base772);\nvar anf_assign801 = R.mO({\"AVLTree\":G(AVLTree29,\"test\",L[200]),\n\"is-leaf\":G($leaf$brander749,\"test\",L[195]),\n\"leaf\":R.mDV($leaf$base748,$leaf$brands750,\"leaf\",$leaf_getfields771,-1,$leaf_mutablemask770,$leaf$base748,false,L[195]),\n\"is-branch\":G($branch$brander773,\"test\",L[196]),\n\"branch\":branch796});\nAVLTree802.$var = anf_assign801;\nR.nothing;\n$al26 = L[200];\nvar anf_assign803 = G(AVLTree802.$var,\"AVLTree\",L[200]);\nis$AVLTree52.$var = anf_assign803;\nR.nothing;\n$al26 = L[195];\nvar anf_assign804 = G(AVLTree802.$var,\"is-leaf\",L[195]);\nis$leaf805.$var = anf_assign804;\nR.nothing;\n$al26 = L[195];\nvar anf_assign806 = G(AVLTree802.$var,\"leaf\",L[195]);\nleaf98.$var = anf_assign806;\nR.nothing;\n$al26 = L[196];\nvar anf_assign807 = G(AVLTree802.$var,\"is-branch\",L[196]);\nis$branch808.$var = anf_assign807;\nR.nothing;\n$al26 = L[196];\nvar anf_assign809 = G(AVLTree802.$var,\"branch\",L[196]);\nbranch810.$var = anf_assign809;\nR.nothing;\nvar $temp_lam812 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__201($f813,$base814,$tree815) {\nvar $step811 = 0;\nvar $elidedFrames820 = 0;\nvar $ans817 = D;\nvar $al818 = L[201];\nif(R.isAR($f813)) {\n$step811 = $f813.step;\n$al818 = $f813.from;\n$ans817 = $f813.ans;\n$elidedFrames820 = $f813.elidedFrames;\nf813 = $f813.args[0];\nbase814 = $f813.args[1];\ntree815 = $f813.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[201],3,$t,false);\n}\nvar f813 = $f813;\nvar base814 = $base814;\nvar tree815 = $tree815;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans817 = R.mC();\n}\nwhile(!R.isContinuation($ans817)) {\nswitch($step811) {\ncase 0: $step811 = 1;\n$ans817 = R.maybeMethodCall2(tree815,\"fold-preorder\",L[202],f813,base814);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans817;\ndefault: R.ffi.throwSpinnakerError(L[201],$step811);\n}\n}\nif($step811 !== 1) {\n$ans817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al818,$temp_lam812,$step811,[f813,base814,tree815],[],$elidedFrames820);\n}\nreturn $ans817;\n};\nvar anf_assign822 = R.mF($temp_lam812,\"tree-fold\");\ntree$fold823.$var = anf_assign822;\nR.nothing;\nvar $temp_lam825 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__203($f826,$tree827) {\nvar $step824 = 0;\nvar $elidedFrames831 = 0;\nvar $ans828 = D;\nvar $al829 = L[203];\nif(R.isAR($f826)) {\n$step824 = $f826.step;\n$al829 = $f826.from;\n$ans828 = $f826.ans;\n$elidedFrames831 = $f826.elidedFrames;\nf826 = $f826.args[0];\ntree827 = $f826.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[203],2,$t,false);\n}\nvar f826 = $f826;\nvar tree827 = $tree827;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans828 = R.mC();\n}\nwhile(!R.isContinuation($ans828)) {\nswitch($step824) {\ncase 0: $step824 = 1;\n$ans828 = R.maybeMethodCall1(tree827,\"all\",L[204],f826);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans828;\ndefault: R.ffi.throwSpinnakerError(L[203],$step824);\n}\n}\nif($step824 !== 1) {\n$ans828.stack[R.EXN_STACKHEIGHT++] = R.mAR($al829,$temp_lam825,$step824,[f826,tree827],[],$elidedFrames831);\n}\nreturn $ans828;\n};\nvar anf_assign833 = R.mF($temp_lam825,\"tree-all\");\ntree$all834.$var = anf_assign833;\nR.nothing;\nvar $temp_lam836 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__205($f837,$tree838) {\nvar $step835 = 0;\nvar $elidedFrames842 = 0;\nvar $ans839 = D;\nvar $al840 = L[205];\nif(R.isAR($f837)) {\n$step835 = $f837.step;\n$al840 = $f837.from;\n$ans839 = $f837.ans;\n$elidedFrames842 = $f837.elidedFrames;\nf837 = $f837.args[0];\ntree838 = $f837.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[205],2,$t,false);\n}\nvar f837 = $f837;\nvar tree838 = $tree838;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans839 = R.mC();\n}\nwhile(!R.isContinuation($ans839)) {\nswitch($step835) {\ncase 0: $step835 = 1;\n$ans839 = R.maybeMethodCall1(tree838,\"any\",L[206],f837);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans839;\ndefault: R.ffi.throwSpinnakerError(L[205],$step835);\n}\n}\nif($step835 !== 1) {\n$ans839.stack[R.EXN_STACKHEIGHT++] = R.mAR($al840,$temp_lam836,$step835,[f837,tree838],[],$elidedFrames842);\n}\nreturn $ans839;\n};\nvar anf_assign844 = R.mF($temp_lam836,\"tree-any\");\ntree$any845.$var = anf_assign844;\nR.nothing;\nvar $temp_lam847 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__207($val848,$left849,$right850) {\nvar $step846 = 0;\nvar $elidedFrames854 = 0;\nvar $ans851 = D;\nvar $al852 = L[207];\nif(R.isAR($val848)) {\n$step846 = $val848.step;\n$al852 = $val848.from;\n$ans851 = $val848.ans;\n$elidedFrames854 = $val848.elidedFrames;\nval848 = $val848.args[0];\nleft849 = $val848.args[1];\nright850 = $val848.args[2];\nanf_arg858 = $val848.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[207],3,$t,false);\n}\nvar val848 = $val848;\nvar left849 = $left849;\nvar right850 = $right850;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans851 = R.mC();\n}\nwhile(!R.isContinuation($ans851)) {\nswitch($step846) {\ncase 0: $step846 = 1;\n$al852 = L[211];\nR._cA(L[211],AVLTree105,left849);\nbreak;\ncase 1: $step846 = 2;\n$al852 = L[212];\nR._cA(L[212],AVLTree105,right850);\nbreak;\ncase 2: $step846 = 3;\n$ans851 = R.maybeMethodCall0(left849,\"height\",L[208]);\nbreak;\ncase 3: var anf_arg858 = $ans851;\n$step846 = 4;\n$ans851 = R.maybeMethodCall0(right850,\"height\",L[209]);\nbreak;\ncase 4: var anf_arg861 = $ans851;\n// caller optimization;\n$ans851 = num$max15.app(anf_arg858,anf_arg861);\nvar anf_arg867 = $ans851;\n$step846 = 5;\n$al852 = L[210];\n// omitting isFunction check;\n$ans851 = _plus5.app(anf_arg867,(1));\nbreak;\ncase 5: var anf_arg47 = $ans851;\n// caller optimization;\n$ans851 = branch810.$var.app(val848,anf_arg47,left849,right850);\n$step846 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans851;\ndefault: R.ffi.throwSpinnakerError(L[207],$step846);\n}\n}\nif($step846 !== 6) {\n$ans851.stack[R.EXN_STACKHEIGHT++] = R.mAR($al852,$temp_lam847,$step846,[val848,left849,right850],[anf_arg858],$elidedFrames854);\n}\nreturn $ans851;\n};\nvar anf_assign870 = R.mF($temp_lam847,\"mkbranch\");\nmkbranch97.$var = anf_assign870;\nR.nothing;\nvar $temp_lam873 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__213($tree874) {\nvar $step872 = 0;\nvar $elidedFrames878 = 0;\nvar $ans875 = D;\nvar $al876 = L[213];\nif(R.isAR($tree874)) {\n$step872 = $tree874.step;\n$al876 = $tree874.from;\n$ans875 = $tree874.ans;\n$elidedFrames878 = $tree874.elidedFrames;\ntree874 = $tree874.args[0];\nanf_arg1053 = $tree874.vars[0];\nanf_arg1065 = $tree874.vars[1];\nleft$right995 = $tree874.vars[2];\nleft$left921 = $tree874.vars[3];\nlh1034 = $tree874.vars[4];\nright$right953 = $tree874.vars[5];\nrh1035 = $tree874.vars[6];\nright$left1031 = $tree874.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[213],1,$t,false);\n}\nvar tree874 = $tree874;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans875 = R.mC();\n}\nwhile(!R.isContinuation($ans875)) {\nswitch($step872) {\ncase 0: $step872 = 1;\n$al876 = L[303];\nR._cA(L[303],AVLTree105,tree874);\nbreak;\ncase 1: var left$left921 = {\"$var\":D};\nvar right$right953 = {\"$var\":D};\nvar left$right995 = {\"$var\":D};\nvar right$left1031 = {\"$var\":D};\nvar $temp_lam880 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__214($t881) {\nvar $step879 = 0;\nvar $elidedFrames885 = 0;\nvar $ans882 = D;\nvar $al883 = L[214];\nif(R.isAR($t881)) {\n$step879 = $t881.step;\n$al883 = $t881.from;\n$ans882 = $t881.ans;\n$elidedFrames885 = $t881.elidedFrames;\nt881 = $t881.args[0];\nanf_arg902 = $t881.vars[0];\nanf_arg905 = $t881.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[214],1,$t,false);\n}\nvar t881 = $t881;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans882 = R.mC();\n}\nwhile(!R.isContinuation($ans882)) {\nswitch($step879) {\ncase 0: $al883 = L[215];\nvar anf_bracket886 = G(t881,\"left\",L[215]);\n$al883 = L[216];\nvar anf_arg902 = G(anf_bracket886,\"value\",L[216]);\n$al883 = L[217];\nvar anf_bracket887 = G(t881,\"left\",L[217]);\n$al883 = L[218];\nvar anf_arg905 = G(anf_bracket887,\"left\",L[218]);\n$al883 = L[219];\nvar anf_arg889 = G(t881,\"value\",L[219]);\n$al883 = L[220];\nvar anf_bracket888 = G(t881,\"left\",L[220]);\n$al883 = L[221];\nvar anf_arg892 = G(anf_bracket888,\"right\",L[221]);\n$al883 = L[222];\nvar anf_arg900 = G(t881,\"right\",L[222]);\n$step879 = 1;\n$al883 = L[224];\n// omitting isFunction check;\n$ans882 = mkbranch97.$var.app(anf_arg889,anf_arg892,anf_arg900);\nbreak;\ncase 1: var anf_arg918 = $ans882;\n$step879 = 2;\n$al883 = L[223];\n// omitting isFunction check;\n$ans882 = mkbranch97.$var.app(anf_arg902,anf_arg905,anf_arg918);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans882;\ndefault: R.ffi.throwSpinnakerError(L[214],$step879);\n}\n}\nif($step879 !== 2) {\n$ans882.stack[R.EXN_STACKHEIGHT++] = R.mAR($al883,$temp_lam880,$step879,[t881],[anf_arg902,anf_arg905],$elidedFrames885);\n}\nreturn $ans882;\n};\nvar anf_assign920 = R.mF($temp_lam880,\"left-left\");\nleft$left921.$var = anf_assign920;\nR.nothing;\nvar $temp_lam923 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__225($t924) {\nvar $step922 = 0;\nvar $elidedFrames929 = 0;\nvar $ans926 = D;\nvar $al927 = L[225];\nif(R.isAR($t924)) {\n$step922 = $t924.step;\n$al927 = $t924.from;\n$ans926 = $t924.ans;\n$elidedFrames929 = $t924.elidedFrames;\nt924 = $t924.args[0];\nanf_arg936 = $t924.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[225],1,$t,false);\n}\nvar t924 = $t924;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans926 = R.mC();\n}\nwhile(!R.isContinuation($ans926)) {\nswitch($step922) {\ncase 0: $al927 = L[226];\nvar anf_bracket930 = G(t924,\"right\",L[226]);\n$al927 = L[227];\nvar anf_arg936 = G(anf_bracket930,\"value\",L[227]);\n$al927 = L[228];\nvar anf_arg932 = G(t924,\"value\",L[228]);\n$al927 = L[229];\nvar anf_arg933 = G(t924,\"left\",L[229]);\n$al927 = L[230];\nvar anf_bracket931 = G(t924,\"right\",L[230]);\n$al927 = L[231];\nvar anf_arg934 = G(anf_bracket931,\"left\",L[231]);\n$step922 = 1;\n$al927 = L[235];\n// omitting isFunction check;\n$ans926 = mkbranch97.$var.app(anf_arg932,anf_arg933,anf_arg934);\nbreak;\ncase 1: var anf_arg946 = $ans926;\n$al927 = L[232];\nvar anf_bracket935 = G(t924,\"right\",L[232]);\n$al927 = L[233];\nvar anf_arg950 = G(anf_bracket935,\"right\",L[233]);\n$step922 = 2;\n$al927 = L[234];\n// omitting isFunction check;\n$ans926 = mkbranch97.$var.app(anf_arg936,anf_arg946,anf_arg950);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans926;\ndefault: R.ffi.throwSpinnakerError(L[225],$step922);\n}\n}\nif($step922 !== 2) {\n$ans926.stack[R.EXN_STACKHEIGHT++] = R.mAR($al927,$temp_lam923,$step922,[t924],[anf_arg936],$elidedFrames929);\n}\nreturn $ans926;\n};\nvar anf_assign952 = R.mF($temp_lam923,\"right-right\");\nright$right953.$var = anf_assign952;\nR.nothing;\nvar $temp_lam955 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__236($t956) {\nvar $step954 = 0;\nvar $elidedFrames961 = 0;\nvar $ans958 = D;\nvar $al959 = L[236];\nif(R.isAR($t956)) {\n$step954 = $t956.step;\n$al959 = $t956.from;\n$ans958 = $t956.ans;\n$elidedFrames961 = $t956.elidedFrames;\nt956 = $t956.args[0];\nanf_arg990 = $t956.vars[0];\nanf_arg991 = $t956.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[236],1,$t,false);\n}\nvar t956 = $t956;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans958 = R.mC();\n}\nwhile(!R.isContinuation($ans958)) {\nswitch($step954) {\ncase 0: $al959 = L[237];\nvar anf_bracket962 = G(t956,\"left\",L[237]);\n$al959 = L[238];\nvar anf_bracket963 = G(anf_bracket962,\"right\",L[238]);\n$al959 = L[239];\nvar anf_arg990 = G(anf_bracket963,\"value\",L[239]);\n$al959 = L[240];\nvar anf_bracket964 = G(t956,\"left\",L[240]);\n$al959 = L[241];\nvar anf_arg968 = G(anf_bracket964,\"value\",L[241]);\n$al959 = L[242];\nvar anf_bracket965 = G(t956,\"left\",L[242]);\n$al959 = L[243];\nvar anf_arg976 = G(anf_bracket965,\"left\",L[243]);\n$al959 = L[244];\nvar anf_bracket966 = G(t956,\"left\",L[244]);\n$al959 = L[245];\nvar anf_bracket967 = G(anf_bracket966,\"right\",L[245]);\n$al959 = L[246];\nvar anf_arg984 = G(anf_bracket967,\"left\",L[246]);\n$step954 = 1;\n$al959 = L[254];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg968,anf_arg976,anf_arg984);\nbreak;\ncase 1: var anf_arg991 = $ans958;\n$al959 = L[247];\nvar anf_arg987 = G(t956,\"value\",L[247]);\n$al959 = L[248];\nvar anf_bracket985 = G(t956,\"left\",L[248]);\n$al959 = L[249];\nvar anf_bracket986 = G(anf_bracket985,\"right\",L[249]);\n$al959 = L[250];\nvar anf_arg988 = G(anf_bracket986,\"right\",L[250]);\n$al959 = L[251];\nvar anf_arg989 = G(t956,\"right\",L[251]);\n$step954 = 2;\n$al959 = L[253];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg987,anf_arg988,anf_arg989);\nbreak;\ncase 2: var anf_arg992 = $ans958;\n$step954 = 3;\n$al959 = L[252];\n// omitting isFunction check;\n$ans958 = mkbranch97.$var.app(anf_arg990,anf_arg991,anf_arg992);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans958;\ndefault: R.ffi.throwSpinnakerError(L[236],$step954);\n}\n}\nif($step954 !== 3) {\n$ans958.stack[R.EXN_STACKHEIGHT++] = R.mAR($al959,$temp_lam955,$step954,[t956],[anf_arg990,anf_arg991],$elidedFrames961);\n}\nreturn $ans958;\n};\nvar anf_assign994 = R.mF($temp_lam955,\"left-right\");\nleft$right995.$var = anf_assign994;\nR.nothing;\nvar $temp_lam997 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__255($t998) {\nvar $step996 = 0;\nvar $elidedFrames1002 = 0;\nvar $ans999 = D;\nvar $al1000 = L[255];\nif(R.isAR($t998)) {\n$step996 = $t998.step;\n$al1000 = $t998.from;\n$ans999 = $t998.ans;\n$elidedFrames1002 = $t998.elidedFrames;\nt998 = $t998.args[0];\nanf_arg1023 = $t998.vars[0];\nanf_arg1025 = $t998.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[255],1,$t,false);\n}\nvar t998 = $t998;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans999 = R.mC();\n}\nwhile(!R.isContinuation($ans999)) {\nswitch($step996) {\ncase 0: $al1000 = L[256];\nvar anf_bracket1003 = G(t998,\"right\",L[256]);\n$al1000 = L[257];\nvar anf_bracket1004 = G(anf_bracket1003,\"left\",L[257]);\n$al1000 = L[258];\nvar anf_arg1023 = G(anf_bracket1004,\"value\",L[258]);\n$al1000 = L[259];\nvar anf_arg1009 = G(t998,\"value\",L[259]);\n$al1000 = L[260];\nvar anf_arg1013 = G(t998,\"left\",L[260]);\n$al1000 = L[261];\nvar anf_bracket1005 = G(t998,\"right\",L[261]);\n$al1000 = L[262];\nvar anf_bracket1006 = G(anf_bracket1005,\"left\",L[262]);\n$al1000 = L[263];\nvar anf_arg1014 = G(anf_bracket1006,\"left\",L[263]);\n$step996 = 1;\n$al1000 = L[273];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1009,anf_arg1013,anf_arg1014);\nbreak;\ncase 1: var anf_arg1025 = $ans999;\n$al1000 = L[264];\nvar anf_bracket1015 = G(t998,\"right\",L[264]);\n$al1000 = L[265];\nvar anf_arg1019 = G(anf_bracket1015,\"value\",L[265]);\n$al1000 = L[266];\nvar anf_bracket1016 = G(t998,\"right\",L[266]);\n$al1000 = L[267];\nvar anf_bracket1017 = G(anf_bracket1016,\"left\",L[267]);\n$al1000 = L[268];\nvar anf_arg1020 = G(anf_bracket1017,\"right\",L[268]);\n$al1000 = L[269];\nvar anf_bracket1018 = G(t998,\"right\",L[269]);\n$al1000 = L[270];\nvar anf_arg1021 = G(anf_bracket1018,\"right\",L[270]);\n$step996 = 2;\n$al1000 = L[272];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1019,anf_arg1020,anf_arg1021);\nbreak;\ncase 2: var anf_arg1028 = $ans999;\n$step996 = 3;\n$al1000 = L[271];\n// omitting isFunction check;\n$ans999 = mkbranch97.$var.app(anf_arg1023,anf_arg1025,anf_arg1028);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans999;\ndefault: R.ffi.throwSpinnakerError(L[255],$step996);\n}\n}\nif($step996 !== 3) {\n$ans999.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1000,$temp_lam997,$step996,[t998],[anf_arg1023,anf_arg1025],$elidedFrames1002);\n}\nreturn $ans999;\n};\nvar anf_assign1030 = R.mF($temp_lam997,\"right-left\");\nright$left1031.$var = anf_assign1030;\nR.nothing;\n$al876 = L[274];\nvar anf_method_obj1032 = G(tree874,\"left\",L[274]);\n$step872 = 2;\n$ans875 = R.maybeMethodCall0(anf_method_obj1032,\"height\",L[275]);\nbreak;\ncase 2: var lh1034 = $ans875;\n$al876 = L[276];\nvar anf_method_obj1033 = G(tree874,\"right\",L[276]);\n$step872 = 3;\n$ans875 = R.maybeMethodCall0(anf_method_obj1033,\"height\",L[277]);\nbreak;\ncase 3: var rh1035 = $ans875;\n$step872 = 4;\n$al876 = L[302];\n// omitting isFunction check;\n$ans875 = _minus9.app(lh1034,rh1035);\nbreak;\ncase 4: var anf_arg1036 = $ans875;\n// caller optimization;\n$ans875 = num$abs2.app(anf_arg1036);\nvar anf_arg1037 = $ans875;\n$step872 = 5;\n$al876 = L[301];\n// omitting isFunction check;\n$ans875 = _lessequal4.app(anf_arg1037,(1));\nbreak;\ncase 5: var anf_if1072 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1072)?6:7;\nbreak;\ncase 6: $step872 = 26;\n$ans875 = tree874;\nbreak;\ncase 7: $step872 = 8;\n$al876 = L[300];\n// omitting isFunction check;\n$ans875 = _minus9.app(lh1034,rh1035);\nbreak;\ncase 8: var anf_arg1038 = $ans875;\n$step872 = 9;\n$al876 = L[299];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,equal$always1);\n}\n$ans875 = equal$always1.app(anf_arg1038,(2));\nbreak;\ncase 9: var anf_if1071 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1071)?10:16;\nbreak;\ncase 10: $al876 = L[278];\nvar anf_bracket1039 = G(tree874,\"left\",L[278]);\n$al876 = L[279];\nvar anf_method_obj1040 = G(anf_bracket1039,\"left\",L[279]);\n$step872 = 11;\n$ans875 = R.maybeMethodCall0(anf_method_obj1040,\"height\",L[280]);\nbreak;\ncase 11: var anf_arg1053 = $ans875;\n$al876 = L[281];\nvar anf_bracket1041 = G(tree874,\"left\",L[281]);\n$al876 = L[282];\nvar anf_method_obj1042 = G(anf_bracket1041,\"right\",L[282]);\n$step872 = 12;\n$ans875 = R.maybeMethodCall0(anf_method_obj1042,\"height\",L[283]);\nbreak;\ncase 12: var anf_arg1054 = $ans875;\n$step872 = 13;\n$al876 = L[286];\n// omitting isFunction check;\n$ans875 = _greaterequal2.app(anf_arg1053,anf_arg1054);\nbreak;\ncase 13: var anf_if1055 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1055)?14:15;\nbreak;\ncase 14: $step872 = 26;\n$al876 = L[284];\n// omitting isFunction check;\n$ans875 = left$left921.$var.app(tree874);\nbreak;\ncase 15: $step872 = 26;\n$al876 = L[285];\n// omitting isFunction check;\n$ans875 = left$right995.$var.app(tree874);\nbreak;\ncase 16: $step872 = 17;\n$al876 = L[298];\n// omitting isFunction check;\n$ans875 = _minus9.app(rh1035,lh1034);\nbreak;\ncase 17: var anf_arg1057 = $ans875;\n$step872 = 18;\n$al876 = L[297];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,equal$always1);\n}\n$ans875 = equal$always1.app(anf_arg1057,(2));\nbreak;\ncase 18: var anf_if1070 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1070)?19:25;\nbreak;\ncase 19: $al876 = L[287];\nvar anf_bracket1059 = G(tree874,\"right\",L[287]);\n$al876 = L[288];\nvar anf_method_obj1060 = G(anf_bracket1059,\"right\",L[288]);\n$step872 = 20;\n$ans875 = R.maybeMethodCall0(anf_method_obj1060,\"height\",L[289]);\nbreak;\ncase 20: var anf_arg1065 = $ans875;\n$al876 = L[290];\nvar anf_bracket1061 = G(tree874,\"right\",L[290]);\n$al876 = L[291];\nvar anf_method_obj1062 = G(anf_bracket1061,\"left\",L[291]);\n$step872 = 21;\n$ans875 = R.maybeMethodCall0(anf_method_obj1062,\"height\",L[292]);\nbreak;\ncase 21: var anf_arg1068 = $ans875;\n$step872 = 22;\n$al876 = L[295];\n// omitting isFunction check;\n$ans875 = _greaterequal2.app(anf_arg1065,anf_arg1068);\nbreak;\ncase 22: var anf_if1069 = $ans875;\n$step872 = R.checkPyretTrue(anf_if1069)?23:24;\nbreak;\ncase 23: $step872 = 26;\n$al876 = L[293];\n// omitting isFunction check;\n$ans875 = right$right953.$var.app(tree874);\nbreak;\ncase 24: $step872 = 26;\n$al876 = L[294];\n// omitting isFunction check;\n$ans875 = right$left1031.$var.app(tree874);\nbreak;\ncase 25: $step872 = 26;\n$al876 = L[296];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al876,raise1);\n}\n$ans875 = raise1.app((\"AVL tree invariant has been broken!\"));\nbreak;\ncase 26: ++R.GAS;\nreturn $ans875;\ndefault: R.ffi.throwSpinnakerError(L[213],$step872);\n}\n}\nif($step872 !== 26) {\n$ans875.stack[R.EXN_STACKHEIGHT++] = R.mAR($al876,$temp_lam873,$step872,[tree874],[anf_arg1053,anf_arg1065,left$right995,left$left921,lh1034,right$right953,rh1035,right$left1031],$elidedFrames878);\n}\nreturn $ans875;\n};\nvar anf_assign1074 = R.mF($temp_lam873,\"rebalance\");\nrebalance328.$var = anf_assign1074;\nR.nothing;\nvar $temp_lam1076 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__304($tree1077) {\nvar $step1075 = 0;\nvar $elidedFrames1081 = 0;\nvar $ans1078 = D;\nvar $al1079 = L[304];\nif(R.isAR($tree1077)) {\n$step1075 = $tree1077.step;\n$al1079 = $tree1077.from;\n$ans1078 = $tree1077.ans;\n$elidedFrames1081 = $tree1077.elidedFrames;\ntree1077 = $tree1077.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[304],1,$t,false);\n}\nvar tree1077 = $tree1077;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1078 = R.mC();\n}\nwhile(!R.isContinuation($ans1078)) {\nswitch($step1075) {\ncase 0: $step1075 = 1;\n$al1079 = L[312];\nR._cA(L[312],AVLTree105,tree1077);\nbreak;\ncase 1: $al1079 = L[305];\nvar anf_arg433 = G(tree1077,\"left\",L[305]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg433);\nvar anf_if438 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if438)?2:5;\nbreak;\ncase 2: $al1079 = L[306];\nvar anf_arg1085 = G(tree1077,\"right\",L[306]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg1085);\nvar anf_if1086 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if1086)?3:4;\nbreak;\ncase 3: $step1075 = 8;\n$ans1078 = leaf98.$var;\nbreak;\ncase 4: $step1075 = 8;\n$al1079 = L[307];\n$ans1078 = G(tree1077,\"right\",L[307]);\nbreak;\ncase 5: $al1079 = L[308];\nvar anf_arg1087 = G(tree1077,\"right\",L[308]);\n// caller optimization;\n$ans1078 = is$leaf805.$var.app(anf_arg1087);\nvar anf_if1090 = $ans1078;\n$step1075 = R.checkPyretTrue(anf_if1090)?6:7;\nbreak;\ncase 6: $step1075 = 8;\n$al1079 = L[309];\n$ans1078 = G(tree1077,\"left\",L[309]);\nbreak;\ncase 7: var anf_fun1089 = swap$next$lowest1088.$var === D?U(L[310],\"swap-next-lowest\"):swap$next$lowest1088.$var;\n$step1075 = 8;\n$al1079 = L[311];\nif(typeof(anf_fun1089.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1079,anf_fun1089);\n}\n$ans1078 = anf_fun1089.app(tree1077);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1078;\ndefault: R.ffi.throwSpinnakerError(L[304],$step1075);\n}\n}\nif($step1075 !== 8) {\n$ans1078.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1079,$temp_lam1076,$step1075,[tree1077],[],$elidedFrames1081);\n}\nreturn $ans1078;\n};\nvar anf_assign1092 = R.mF($temp_lam1076,\"remove-root\");\nremove$root361.$var = anf_assign1092;\nR.nothing;\nvar $temp_lam1094 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__313($tree1095) {\nvar $step1093 = 0;\nvar $elidedFrames1099 = 0;\nvar $ans1096 = D;\nvar $al1097 = L[313];\nif(R.isAR($tree1095)) {\n$step1093 = $tree1095.step;\n$al1097 = $tree1095.from;\n$ans1096 = $tree1095.ans;\n$elidedFrames1099 = $tree1095.elidedFrames;\ntree1095 = $tree1095.args[0];\nremove$greatest$and$rebalance1131 = $tree1095.vars[0];\nanf_arg485 = $tree1095.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[313],1,$t,false);\n}\nvar tree1095 = $tree1095;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1096 = R.mC();\n}\nwhile(!R.isContinuation($ans1096)) {\nswitch($step1093) {\ncase 0: $step1093 = 1;\n$al1097 = L[337];\nR._cA(L[337],AVLTree105,tree1095);\nbreak;\ncase 1: var greatest1109 = {\"$var\":D};\nvar remove$greatest$and$rebalance1131 = {\"$var\":D};\nvar $temp_lam1101 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__314($t1102) {\nvar $step1100 = 0;\nvar $elidedFrames1106 = 0;\nvar $ans1103 = D;\nvar $al1104 = L[314];\nif(R.isAR($t1102)) {\n$step1100 = $t1102.step;\n$al1104 = $t1102.from;\n$ans1103 = $t1102.ans;\n$elidedFrames1106 = $t1102.elidedFrames;\nt1102 = $t1102.args[0];\ncases1107 = $t1102.vars[0];\nright1108 = $t1102.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[314],1,$t,false);\n}\nvar t1102 = $t1102;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1103 = R.mC();\n}\nwhile(!R.isContinuation($ans1103)) {\nswitch($step1100) {\ncase 0: var cases1107 = t1102;\n$step1100 = 1;\n$al1104 = L[319];\nvar $ann$check1117 = R._cA(L[319],AVLTree105,cases1107);\nif(R.isContinuation($ann$check1117)) {\n$ans1103 = $ann$check1117;\n}\nbreak;\ncase 1: $al1104 = L[317];\n$step1100 = $cases_dispatch1116[cases1107.$name] || 6;\nbreak;\ncase 2: if(cases1107.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[316],false,L[317],cases1107.$loc);\n}\n$step1100 = 7;\n$al1104 = L[315];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1104,raise1);\n}\n$ans1103 = raise1.app((\"Went too far in traversal step\"));\nbreak;\ncase 3: if(cases1107.$arity !== 4) {\nif(cases1107.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[318],4,cases1107.$arity,L[317],cases1107.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[318],true,L[317],cases1107.$loc);\n}\n}\nvar $fn1112 = cases1107.$constructor.$fieldNames;\nR.dF(cases1107.dict[$fn1112[0]],cases1107.$mut_fields_mask[0],false);\nR.dF(cases1107.dict[$fn1112[1]],cases1107.$mut_fields_mask[1],false);\nR.dF(cases1107.dict[$fn1112[2]],cases1107.$mut_fields_mask[2],false);\nvar right1108 = R.dF(cases1107.dict[$fn1112[3]],cases1107.$mut_fields_mask[3],false);\n// caller optimization;\n$ans1103 = is$leaf805.$var.app(right1108);\nvar anf_if1110 = $ans1103;\n$step1100 = R.checkPyretTrue(anf_if1110)?4:5;\nbreak;\ncase 4: $step1100 = 7;\n$ans1103 = t1102;\nbreak;\ncase 5: $step1100 = 0;\n++$elidedFrames1106;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1103 = R.mC();\n}\nt1102 = right1108;\ncontinue;\ncase 6: $ans1103 = R.throwNoCasesMatched(L[317],cases1107);\n$step1100 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1103;\ndefault: R.ffi.throwSpinnakerError(L[314],$step1100);\n}\n}\nif($step1100 !== 7) {\n$ans1103.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1104,$temp_lam1101,$step1100,[t1102],[cases1107,right1108],$elidedFrames1106);\n}\nreturn $ans1103;\n};\nvar anf_assign1119 = R.mF($temp_lam1101,\"greatest\");\ngreatest1109.$var = anf_assign1119;\nR.nothing;\nvar $temp_lam1121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__320($t1122) {\nvar $step1120 = 0;\nvar $elidedFrames1127 = 0;\nvar $ans1124 = D;\nvar $al1125 = L[320];\nif(R.isAR($t1122)) {\n$step1120 = $t1122.step;\n$al1125 = $t1122.from;\n$ans1124 = $t1122.ans;\n$elidedFrames1127 = $t1122.elidedFrames;\nt1122 = $t1122.args[0];\nright1129 = $t1122.vars[0];\nleft1130 = $t1122.vars[1];\nval1132 = $t1122.vars[2];\ncases1128 = $t1122.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[320],1,$t,false);\n}\nvar t1122 = $t1122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1124 = R.mC();\n}\nwhile(!R.isContinuation($ans1124)) {\nswitch($step1120) {\ncase 0: var cases1128 = t1122;\n$step1120 = 1;\n$al1125 = L[328];\nvar $ann$check1139 = R._cA(L[328],AVLTree105,cases1128);\nif(R.isContinuation($ann$check1139)) {\n$ans1124 = $ann$check1139;\n}\nbreak;\ncase 1: $al1125 = L[323];\n$step1120 = $cases_dispatch1138[cases1128.$name] || 8;\nbreak;\ncase 2: if(cases1128.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[322],false,L[323],cases1128.$loc);\n}\n$step1120 = 9;\n$al1125 = L[321];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1125,raise1);\n}\n$ans1124 = raise1.app((\"Went too far in removal step\"));\nbreak;\ncase 3: if(cases1128.$arity !== 4) {\nif(cases1128.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[327],4,cases1128.$arity,L[323],cases1128.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[327],true,L[323],cases1128.$loc);\n}\n}\nvar $fn1136 = cases1128.$constructor.$fieldNames;\nvar val1132 = R.dF(cases1128.dict[$fn1136[0]],cases1128.$mut_fields_mask[0],false);\nR.dF(cases1128.dict[$fn1136[1]],cases1128.$mut_fields_mask[1],false);\nvar left1130 = R.dF(cases1128.dict[$fn1136[2]],cases1128.$mut_fields_mask[2],false);\nvar right1129 = R.dF(cases1128.dict[$fn1136[3]],cases1128.$mut_fields_mask[3],false);\n// caller optimization;\n$ans1124 = is$leaf805.$var.app(right1129);\nvar anf_if1134 = $ans1124;\n$step1120 = R.checkPyretTrue(anf_if1134)?4:5;\nbreak;\ncase 4: $step1120 = 9;\n$ans1124 = left1130;\nbreak;\ncase 5: $step1120 = 6;\n$al1125 = L[326];\n// omitting isFunction check;\n$ans1124 = remove$greatest$and$rebalance1131.$var.app(right1129);\nbreak;\ncase 6: var anf_arg1133 = $ans1124;\n$step1120 = 7;\n$al1125 = L[325];\n// omitting isFunction check;\n$ans1124 = mkbranch97.$var.app(val1132,left1130,anf_arg1133);\nbreak;\ncase 7: var anf_arg467 = $ans1124;\n$step1120 = 9;\n$al1125 = L[324];\n// omitting isFunction check;\n$ans1124 = rebalance328.$var.app(anf_arg467);\nbreak;\ncase 8: $ans1124 = R.throwNoCasesMatched(L[323],cases1128);\n$step1120 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1124;\ndefault: R.ffi.throwSpinnakerError(L[320],$step1120);\n}\n}\nif($step1120 !== 9) {\n$ans1124.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1125,$temp_lam1121,$step1120,[t1122],[right1129,left1130,val1132,cases1128],$elidedFrames1127);\n}\nreturn $ans1124;\n};\nvar anf_assign1141 = R.mF($temp_lam1121,\"remove-greatest-and-rebalance\");\nremove$greatest$and$rebalance1131.$var = anf_assign1141;\nR.nothing;\n$al1097 = L[329];\nvar anf_arg1143 = G(tree1095,\"left\",L[329]);\n$step1093 = 2;\n$al1097 = L[336];\n// omitting isFunction check;\n$ans1096 = greatest1109.$var.app(anf_arg1143);\nbreak;\ncase 2: var anf_bracket1144 = $ans1096;\n$al1097 = L[330];\nvar anf_arg485 = G(anf_bracket1144,\"value\",L[330]);\n$al1097 = L[331];\nvar anf_arg1147 = G(tree1095,\"left\",L[331]);\n$step1093 = 3;\n$al1097 = L[335];\n// omitting isFunction check;\n$ans1096 = remove$greatest$and$rebalance1131.$var.app(anf_arg1147);\nbreak;\ncase 3: var anf_arg1148 = $ans1096;\n$al1097 = L[332];\nvar anf_arg498 = G(tree1095,\"right\",L[332]);\n$step1093 = 4;\n$al1097 = L[334];\n// omitting isFunction check;\n$ans1096 = mkbranch97.$var.app(anf_arg485,anf_arg1148,anf_arg498);\nbreak;\ncase 4: var anf_arg1149 = $ans1096;\n$step1093 = 5;\n$al1097 = L[333];\n// omitting isFunction check;\n$ans1096 = rebalance328.$var.app(anf_arg1149);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1096;\ndefault: R.ffi.throwSpinnakerError(L[313],$step1093);\n}\n}\nif($step1093 !== 5) {\n$ans1096.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1097,$temp_lam1094,$step1093,[tree1095],[remove$greatest$and$rebalance1131,anf_arg485],$elidedFrames1099);\n}\nreturn $ans1096;\n};\nvar anf_assign1151 = R.mF($temp_lam1094,\"swap-next-lowest\");\nswap$next$lowest1088.$var = anf_assign1151;\nR.nothing;\nvar $temp_full1153 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__338($self1154,$other1155) {\nvar $step1152 = 0;\nvar $elidedFrames1159 = 0;\nvar $ans1156 = D;\nvar $al1157 = L[338];\nif(R.isAR($self1154)) {\n$step1152 = $self1154.step;\n$al1157 = $self1154.from;\n$ans1156 = $self1154.ans;\n$elidedFrames1159 = $self1154.elidedFrames;\nself1154 = $self1154.args[0];\nother1155 = $self1154.args[1];\nanf_method_obj1160 = $self1154.vars[0];\nann_check_temp1165 = $self1154.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[338],2,$t,true);\n}\nvar self1154 = $self1154;\nvar other1155 = $other1155;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1156 = R.mC();\n}\nwhile(!R.isContinuation($ans1156)) {\nswitch($step1152) {\ncase 0: $step1152 = 1;\n$al1157 = L[343];\nR._cA(L[343],Set1166,self1154);\nbreak;\ncase 1: $step1152 = 2;\n$al1157 = L[344];\nR._cA(L[344],Set1166,other1155);\nbreak;\ncase 2: $step1152 = 3;\n$ans1156 = R.maybeMethodCall1(self1154,\"union\",L[339],other1155);\nbreak;\ncase 3: var anf_method_obj1160 = $ans1156;\n$step1152 = 4;\n$ans1156 = R.maybeMethodCall1(self1154,\"intersect\",L[340],other1155);\nbreak;\ncase 4: var anf_arg1164 = $ans1156;\n$step1152 = 5;\n$ans1156 = R.maybeMethodCall1(anf_method_obj1160,\"difference\",L[341],anf_arg1164);\nbreak;\ncase 5: var ann_check_temp1165 = $ans1156;\n$step1152 = 6;\n$al1157 = L[342];\nvar $ann$check1167 = R._cA(L[342],Set1166,ann_check_temp1165);\nif(R.isContinuation($ann$check1167)) {\n$ans1156 = $ann$check1167;\n}\nbreak;\ncase 6: $step1152 = 7;\n$ans1156 = ann_check_temp1165;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1156;\ndefault: R.ffi.throwSpinnakerError(L[338],$step1152);\n}\n}\nif($step1152 !== 7) {\n$ans1156.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1157,$temp_full1153,$step1152,[self1154,other1155],[anf_method_obj1160,ann_check_temp1165],$elidedFrames1159);\n}\nreturn $ans1156;\n};\nvar anf_shared1714 = R.makeMethod1($temp_full1153,\"symmetric-difference\");\nvar $temp_full1171 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__345($self1172,$other1173,$eq1174) {\nvar $step1170 = 0;\nvar $elidedFrames1179 = 0;\nvar $ans1176 = D;\nvar $al1177 = L[345];\nif(R.isAR($self1172)) {\n$step1170 = $self1172.step;\n$al1177 = $self1172.from;\n$ans1176 = $self1172.ans;\n$elidedFrames1179 = $self1172.elidedFrames;\nself1172 = $self1172.args[0];\nother1173 = $self1172.args[1];\neq1174 = $self1172.args[2];\nother$list1183 = $self1172.vars[0];\nself$list1184 = $self1172.vars[1];\nanf_arg1190 = $self1172.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[345],3,$t,true);\n}\nvar self1172 = $self1172;\nvar other1173 = $other1173;\nvar eq1174 = $eq1174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1176 = R.mC();\n}\nwhile(!R.isContinuation($ans1176)) {\nswitch($step1170) {\ncase 0: var anf_fun1181 = is$Set1180.$var === D?U(L[346],\"is-Set\"):is$Set1180.$var;\n$step1170 = 1;\n$al1177 = L[359];\nif(typeof(anf_fun1181.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,anf_fun1181);\n}\n$ans1176 = anf_fun1181.app(other1173);\nbreak;\ncase 1: var anf_arg1182 = $ans1176;\n$step1170 = 2;\n$al1177 = L[358];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,not5);\n}\n$ans1176 = not5.app(anf_arg1182);\nbreak;\ncase 2: var anf_if1212 = $ans1176;\n$step1170 = R.checkPyretTrue(anf_if1212)?3:4;\nbreak;\ncase 3: $step1170 = 13;\n$al1177 = L[347];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans1176 = equality12.dict.values.dict[\"NotEqual\"].app((\"Non-Set\"),self1172,other1173);\nbreak;\ncase 4: $step1170 = 5;\n$ans1176 = R.maybeMethodCall0(self1172,\"to-list\",L[348]);\nbreak;\ncase 5: var self$list1184 = $ans1176;\n$step1170 = 6;\n$ans1176 = R.maybeMethodCall0(other1173,\"to-list\",L[349]);\nbreak;\ncase 6: var other$list1183 = $ans1176;\n$step1170 = 7;\n$ans1176 = R.maybeMethodCall0(other$list1183,\"length\",L[350]);\nbreak;\ncase 7: var anf_arg1190 = $ans1176;\n$step1170 = 8;\n$ans1176 = R.maybeMethodCall0(self$list1184,\"length\",L[351]);\nbreak;\ncase 8: var anf_arg538 = $ans1176;\n$step1170 = 9;\n$al1177 = L[357];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equal$always1);\n}\n$ans1176 = equal$always1.app(anf_arg1190,anf_arg538);\nbreak;\ncase 9: var anf_arg1194 = $ans1176;\n$step1170 = 10;\n$al1177 = L[356];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,not5);\n}\n$ans1176 = not5.app(anf_arg1194);\nbreak;\ncase 10: var anf_if1211 = $ans1176;\n$step1170 = R.checkPyretTrue(anf_if1211)?11:12;\nbreak;\ncase 11: $step1170 = 13;\n$al1177 = L[352];\nif(typeof(equality12.dict.values.dict[\"NotEqual\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1177,equality12.dict.values.dict[\"NotEqual\"]);\n}\n$ans1176 = equality12.dict.values.dict[\"NotEqual\"].app((\"set size\"),self1172,other1173);\nbreak;\ncase 12: var $temp_lam1196 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__353($result1197,$elt1198) {\nvar $step1195 = 0;\nvar $elidedFrames1202 = 0;\nvar $ans1199 = D;\nvar $al1200 = L[353];\nif(R.isAR($result1197)) {\n$step1195 = $result1197.step;\n$al1200 = $result1197.from;\n$ans1199 = $result1197.ans;\n$elidedFrames1202 = $result1197.elidedFrames;\nresult1197 = $result1197.args[0];\nelt1198 = $result1197.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[353],2,$t,false);\n}\nvar result1197 = $result1197;\nvar elt1198 = $elt1198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1199 = R.mC();\n}\nwhile(!R.isContinuation($ans1199)) {\nswitch($step1195) {\ncase 0: $step1195 = 1;\n$al1200 = L[355];\n// omitting isFunction check;\n$ans1199 = member$with11.app(other$list1183,elt1198,eq1174);\nbreak;\ncase 1: var result$for$elt1203 = $ans1199;\n$step1195 = 2;\n$al1200 = L[354];\nif(typeof(equality12.dict.values.dict[\"equal-and\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1200,equality12.dict.values.dict[\"equal-and\"]);\n}\n$ans1199 = equality12.dict.values.dict[\"equal-and\"].app(result1197,result$for$elt1203);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1199;\ndefault: R.ffi.throwSpinnakerError(L[353],$step1195);\n}\n}\nif($step1195 !== 2) {\n$ans1199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1200,$temp_lam1196,$step1195,[result1197,elt1198],[],$elidedFrames1202);\n}\nreturn $ans1199;\n};\nvar anf_arg1209 = R.mF($temp_lam1196,\"for-body\");\n$step1170 = 13;\n$al1177 = L[353];\n// omitting isFunction check;\n$ans1176 = fold6.app(anf_arg1209,equality12.dict.values.dict[\"Equal\"],self$list1184);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1176;\ndefault: R.ffi.throwSpinnakerError(L[345],$step1170);\n}\n}\nif($step1170 !== 13) {\n$ans1176.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1177,$temp_full1171,$step1170,[self1172,other1173,eq1174],[other$list1183,self$list1184,anf_arg1190],$elidedFrames1179);\n}\nreturn $ans1176;\n};\nvar anf_shared1715 = R.makeMethod2($temp_full1171,\"_equals\");\nvar $temp_full1215 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__360($self1216) {\nvar $step1214 = 0;\nvar $elidedFrames1221 = 0;\nvar $ans1218 = D;\nvar $al1219 = L[360];\nif(R.isAR($self1216)) {\n$step1214 = $self1216.step;\n$al1219 = $self1216.from;\n$ans1218 = $self1216.ans;\n$elidedFrames1221 = $self1216.elidedFrames;\nself1216 = $self1216.args[0];\ncases1222 = $self1216.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[360],1,$t,true);\n}\nvar self1216 = $self1216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1218 = R.mC();\n}\nwhile(!R.isContinuation($ans1218)) {\nswitch($step1214) {\ncase 0: $al1219 = L[361];\nvar lst1153 = G(self1216,\"elems\",L[361]);\nvar cases1222 = lst1153;\n$step1214 = 1;\n$al1219 = L[377];\nvar $ann$check1266 = R._cA(L[377],List7,cases1222);\nif(R.isContinuation($ann$check1266)) {\n$ans1218 = $ann$check1266;\n}\nbreak;\ncase 1: $al1219 = L[363];\n$step1214 = $cases_dispatch1265[cases1222.$name] || 4;\nbreak;\ncase 2: if(cases1222.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[362],false,L[363],cases1222.$loc);\n}\n$step1214 = 5;\n$ans1218 = pick$none9;\nbreak;\ncase 3: if(cases1222.$arity !== 2) {\nif(cases1222.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[376],2,cases1222.$arity,L[363],cases1222.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[376],true,L[363],cases1222.$loc);\n}\n}\n$step1214 = 5;\n$al1219 = L[376];\nvar $temp_branch1247 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__363($f1227,$r1223) {\nvar $step1248 = 0;\nvar $elidedFrames1252 = 0;\nvar $ans1249 = D;\nvar $al1250 = L[367];\nif(R.isAR($f1227)) {\n$step1248 = $f1227.step;\n$al1250 = $f1227.from;\n$ans1249 = $f1227.ans;\n$elidedFrames1252 = $f1227.elidedFrames;\nf1227 = $f1227.args[0];\nr1223 = $f1227.args[1];\ncases1224 = $f1227.vars[0];\n} else {\nvar f1227 = $f1227;\nvar r1223 = $r1223;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1249 = R.mC();\n}\nwhile(!R.isContinuation($ans1249)) {\nswitch($step1248) {\ncase 0: var cases1224 = r1223;\n$step1248 = 1;\n$al1250 = L[375];\nvar $ann$check1262 = R._cA(L[375],List7,cases1224);\nif(R.isContinuation($ann$check1262)) {\n$ans1249 = $ann$check1262;\n}\nbreak;\ncase 1: $al1250 = L[367];\n$step1248 = $cases_dispatch1261[cases1224.$name] || 5;\nbreak;\ncase 2: if(cases1224.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[366],false,L[367],cases1224.$loc);\n}\nvar anf_fun1226 = list$set1225.$var === D?U(L[364],\"list-set\"):list$set1225.$var;\n$step1248 = 3;\n$al1250 = L[365];\nif(typeof(anf_fun1226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1250,anf_fun1226);\n}\n$ans1249 = anf_fun1226.app(empty4);\nbreak;\ncase 3: var anf_arg1228 = $ans1249;\n// caller optimization;\n$ans1249 = pick$some10.app(f1227,anf_arg1228);\n$step1248 = 6;\nbreak;\ncase 4: if(cases1224.$arity !== 2) {\nif(cases1224.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[374],2,cases1224.$arity,L[367],cases1224.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[374],true,L[367],cases1224.$loc);\n}\n}\n$step1248 = 6;\n$al1250 = L[374];\nvar $temp_branch1253 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__367($f21235,$r21232) {\nvar $step1254 = 0;\nvar $elidedFrames1258 = 0;\nvar $ans1255 = D;\nvar $al1256 = L[373];\nif(R.isAR($f21235)) {\n$step1254 = $f21235.step;\n$al1256 = $f21235.from;\n$ans1255 = $f21235.ans;\n$elidedFrames1258 = $f21235.elidedFrames;\nf21235 = $f21235.args[0];\nr21232 = $f21235.args[1];\n} else {\nvar f21235 = $f21235;\nvar r21232 = $r21232;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1255 = R.mC();\n}\nwhile(!R.isContinuation($ans1255)) {\nswitch($step1254) {\ncase 0: // caller optimization;\n$ans1255 = random3.app((2));\nvar get$first1229 = $ans1255;\n$step1254 = 1;\n$al1256 = L[372];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,equal$always1);\n}\n$ans1255 = equal$always1.app(get$first1229,(0));\nbreak;\ncase 1: var anf_if1237 = $ans1255;\n$step1254 = R.checkPyretTrue(anf_if1237)?2:4;\nbreak;\ncase 2: var anf_fun1230 = list$set1225.$var === D?U(L[368],\"list-set\"):list$set1225.$var;\n$step1254 = 3;\n$al1256 = L[369];\nif(typeof(anf_fun1230.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,anf_fun1230);\n}\n$ans1255 = anf_fun1230.app(r1223);\nbreak;\ncase 3: var anf_arg1231 = $ans1255;\n// caller optimization;\n$ans1255 = pick$some10.app(f1227,anf_arg1231);\n$step1254 = 6;\nbreak;\ncase 4: var anf_fun1233 = list$set1225.$var === D?U(L[370],\"list-set\"):list$set1225.$var;\n// caller optimization;\n$ans1255 = link8.app(f1227,r21232);\nvar anf_arg1234 = $ans1255;\n$step1254 = 5;\n$al1256 = L[371];\nif(typeof(anf_fun1233.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1256,anf_fun1233);\n}\n$ans1255 = anf_fun1233.app(anf_arg1234);\nbreak;\ncase 5: var anf_arg1236 = $ans1255;\n// caller optimization;\n$ans1255 = pick$some10.app(f21235,anf_arg1236);\n$step1254 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1255;\ndefault: R.ffi.throwSpinnakerError(L[373],$step1254);\n}\n}\nif($step1254 !== 6) {\n$ans1255.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1256,$temp_branch1253,$step1254,[f21235,r21232],[],$elidedFrames1258);\n}\nreturn $ans1255;\n};\n$ans1249 = cases1224.$app_fields($temp_branch1253,[false,false]);\nbreak;\ncase 5: $ans1249 = R.throwNoCasesMatched(L[367],cases1224);\n$step1248 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1249;\ndefault: R.ffi.throwSpinnakerError(L[367],$step1248);\n}\n}\nif($step1248 !== 6) {\n$ans1249.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1250,$temp_branch1247,$step1248,[f1227,r1223],[cases1224],$elidedFrames1252);\n}\nreturn $ans1249;\n};\n$ans1218 = cases1222.$app_fields($temp_branch1247,[false,false]);\nbreak;\ncase 4: $ans1218 = R.throwNoCasesMatched(L[363],cases1222);\n$step1214 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1218;\ndefault: R.ffi.throwSpinnakerError(L[360],$step1214);\n}\n}\nif($step1214 !== 5) {\n$ans1218.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1219,$temp_full1215,$step1214,[self1216],[cases1222],$elidedFrames1221);\n}\nreturn $ans1218;\n};\nvar anf_variant_member1719 = R.makeMethod0($temp_full1215,\"pick\");\nvar $temp_full1269 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__378($self1270) {\nvar $step1268 = 0;\nvar $elidedFrames1274 = 0;\nvar $ans1271 = D;\nvar $al1272 = L[378];\nif(R.isAR($self1270)) {\n$step1268 = $self1270.step;\n$al1272 = $self1270.from;\n$ans1271 = $self1270.ans;\n$elidedFrames1274 = $self1270.elidedFrames;\nself1270 = $self1270.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[378],1,$t,true);\n}\nvar self1270 = $self1270;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1271 = R.mC();\n}\nwhile(!R.isContinuation($ans1271)) {\nswitch($step1268) {\ncase 0: $step1268 = 1;\n$ans1271 = R.maybeMethodCall0(self1270,\"to-list\",L[379]);\nbreak;\ncase 1: var anf_method_obj1275 = $ans1271;\n$step1268 = 2;\n$ans1271 = R.maybeMethodCall1(anf_method_obj1275,\"map\",L[380],VS16.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg1276 = $ans1271;\n$step1268 = 3;\n$al1272 = L[381];\nif(typeof(VS16.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1272,VS16.dict.values.dict[\"vs-collection\"]);\n}\n$ans1271 = VS16.dict.values.dict[\"vs-collection\"].app((\"list-set\"),anf_arg1276);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1271;\ndefault: R.ffi.throwSpinnakerError(L[378],$step1268);\n}\n}\nif($step1268 !== 3) {\n$ans1271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1272,$temp_full1269,$step1268,[self1270],[],$elidedFrames1274);\n}\nreturn $ans1271;\n};\nvar anf_variant_member1720 = R.makeMethod0($temp_full1269,\"_output\");\nvar $temp_full1279 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__382($self1280,$f1281,$base1282) {\nvar $step1278 = 0;\nvar $elidedFrames1286 = 0;\nvar $ans1283 = D;\nvar $al1284 = L[382];\nif(R.isAR($self1280)) {\n$step1278 = $self1280.step;\n$al1284 = $self1280.from;\n$ans1283 = $self1280.ans;\n$elidedFrames1286 = $self1280.elidedFrames;\nself1280 = $self1280.args[0];\nf1281 = $self1280.args[1];\nbase1282 = $self1280.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[382],3,$t,true);\n}\nvar self1280 = $self1280;\nvar f1281 = $f1281;\nvar base1282 = $base1282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1283 = R.mC();\n}\nwhile(!R.isContinuation($ans1283)) {\nswitch($step1278) {\ncase 0: $step1278 = 1;\n$al1284 = L[385];\nR._cA(L[385],R.Function,f1281);\nbreak;\ncase 1: $al1284 = L[383];\nvar anf_arg1288 = G(self1280,\"elems\",L[383]);\n$step1278 = 2;\n$al1284 = L[384];\n// omitting isFunction check;\n$ans1283 = fold6.app(f1281,base1282,anf_arg1288);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1283;\ndefault: R.ffi.throwSpinnakerError(L[382],$step1278);\n}\n}\nif($step1278 !== 2) {\n$ans1283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1284,$temp_full1279,$step1278,[self1280,f1281,base1282],[],$elidedFrames1286);\n}\nreturn $ans1283;\n};\nvar anf_variant_member1721 = R.makeMethod2($temp_full1279,\"fold\");\nvar $temp_full1291 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__386($self1292,$elem1293) {\nvar $step1290 = 0;\nvar $elidedFrames1297 = 0;\nvar $ans1294 = D;\nvar $al1295 = L[386];\nif(R.isAR($self1292)) {\n$step1290 = $self1292.step;\n$al1295 = $self1292.from;\n$ans1294 = $self1292.ans;\n$elidedFrames1297 = $self1292.elidedFrames;\nself1292 = $self1292.args[0];\nelem1293 = $self1292.args[1];\nann_check_temp1299 = $self1292.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[386],2,$t,true);\n}\nvar self1292 = $self1292;\nvar elem1293 = $elem1293;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1294 = R.mC();\n}\nwhile(!R.isContinuation($ans1294)) {\nswitch($step1290) {\ncase 0: $al1295 = L[387];\nvar anf_method_obj1298 = G(self1292,\"elems\",L[387]);\n$step1290 = 1;\n$ans1294 = R.maybeMethodCall1(anf_method_obj1298,\"member\",L[388],elem1293);\nbreak;\ncase 1: var ann_check_temp1299 = $ans1294;\n$step1290 = 2;\n$al1295 = L[389];\nvar $ann$check1300 = R._cA(L[389],$type$Boolean6,ann_check_temp1299);\nif(R.isContinuation($ann$check1300)) {\n$ans1294 = $ann$check1300;\n}\nbreak;\ncase 2: $step1290 = 3;\n$ans1294 = ann_check_temp1299;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1294;\ndefault: R.ffi.throwSpinnakerError(L[386],$step1290);\n}\n}\nif($step1290 !== 3) {\n$ans1294.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1295,$temp_full1291,$step1290,[self1292,elem1293],[ann_check_temp1299],$elidedFrames1297);\n}\nreturn $ans1294;\n};\nvar anf_variant_member1722 = R.makeMethod1($temp_full1291,\"member\");\nvar $temp_full1303 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__390($self902,$elem1304) {\nvar $step1302 = 0;\nvar $elidedFrames1308 = 0;\nvar $ans1305 = D;\nvar $al1306 = L[390];\nif(R.isAR($self902)) {\n$step1302 = $self902.step;\n$al1306 = $self902.from;\n$ans1305 = $self902.ans;\n$elidedFrames1308 = $self902.elidedFrames;\nself902 = $self902.args[0];\nelem1304 = $self902.args[1];\nann_check_temp1310 = $self902.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[390],2,$t,true);\n}\nvar self902 = $self902;\nvar elem1304 = $elem1304;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1305 = R.mC();\n}\nwhile(!R.isContinuation($ans1305)) {\nswitch($step1302) {\ncase 0: $al1306 = L[391];\nvar anf_method_obj1309 = G(self902,\"elems\",L[391]);\n$step1302 = 1;\n$ans1305 = R.maybeMethodCall1(anf_method_obj1309,\"member\",L[392],elem1304);\nbreak;\ncase 1: var anf_if1325 = $ans1305;\n$step1302 = R.checkPyretTrue(anf_if1325)?2:3;\nbreak;\ncase 2: $step1302 = 4;\n$ans1305 = self902;\nbreak;\ncase 3: var anf_fun1312 = list$set1225.$var === D?U(L[394],\"list-set\"):list$set1225.$var;\n$al1306 = L[395];\nvar anf_arg624 = G(self902,\"elems\",L[395]);\n// caller optimization;\n$ans1305 = link8.app(elem1304,anf_arg624);\nvar anf_arg1324 = $ans1305;\n$step1302 = 4;\n$al1306 = L[396];\nif(typeof(anf_fun1312.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1306,anf_fun1312);\n}\n$ans1305 = anf_fun1312.app(anf_arg1324);\nbreak;\ncase 4: var ann_check_temp1310 = $ans1305;\n$step1302 = 5;\n$al1306 = L[393];\nvar $ann$check1311 = R._cA(L[393],Set1166,ann_check_temp1310);\nif(R.isContinuation($ann$check1311)) {\n$ans1305 = $ann$check1311;\n}\nbreak;\ncase 5: $step1302 = 6;\n$ans1305 = ann_check_temp1310;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1305;\ndefault: R.ffi.throwSpinnakerError(L[390],$step1302);\n}\n}\nif($step1302 !== 6) {\n$ans1305.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1306,$temp_full1303,$step1302,[self902,elem1304],[ann_check_temp1310],$elidedFrames1308);\n}\nreturn $ans1305;\n};\nvar anf_variant_member1723 = R.makeMethod1($temp_full1303,\"add\");\nvar $temp_full1328 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__397($self1329,$elem1330) {\nvar $step1327 = 0;\nvar $elidedFrames1334 = 0;\nvar $ans1331 = D;\nvar $al1332 = L[397];\nif(R.isAR($self1329)) {\n$step1327 = $self1329.step;\n$al1332 = $self1329.from;\n$ans1331 = $self1329.ans;\n$elidedFrames1334 = $self1329.elidedFrames;\nself1329 = $self1329.args[0];\nelem1330 = $self1329.args[1];\nanf_fun1336 = $self1329.vars[0];\nann_check_temp1343 = $self1329.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[397],2,$t,true);\n}\nvar self1329 = $self1329;\nvar elem1330 = $elem1330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1331 = R.mC();\n}\nwhile(!R.isContinuation($ans1331)) {\nswitch($step1327) {\ncase 0: var anf_fun1336 = list$set1225.$var === D?U(L[398],\"list-set\"):list$set1225.$var;\n$al1332 = L[399];\nvar anf_method_obj1335 = G(self1329,\"elems\",L[399]);\n$step1327 = 1;\n$ans1331 = R.maybeMethodCall1(anf_method_obj1335,\"remove\",L[400],elem1330);\nbreak;\ncase 1: var anf_arg1342 = $ans1331;\n$step1327 = 2;\n$al1332 = L[402];\nif(typeof(anf_fun1336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1332,anf_fun1336);\n}\n$ans1331 = anf_fun1336.app(anf_arg1342);\nbreak;\ncase 2: var ann_check_temp1343 = $ans1331;\n$step1327 = 3;\n$al1332 = L[401];\nvar $ann$check1344 = R._cA(L[401],Set1166,ann_check_temp1343);\nif(R.isContinuation($ann$check1344)) {\n$ans1331 = $ann$check1344;\n}\nbreak;\ncase 3: $step1327 = 4;\n$ans1331 = ann_check_temp1343;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1331;\ndefault: R.ffi.throwSpinnakerError(L[397],$step1327);\n}\n}\nif($step1327 !== 4) {\n$ans1331.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1332,$temp_full1328,$step1327,[self1329,elem1330],[anf_fun1336,ann_check_temp1343],$elidedFrames1334);\n}\nreturn $ans1331;\n};\nvar anf_variant_member1724 = R.makeMethod1($temp_full1328,\"remove\");\nvar $temp_full1349 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__403($self1350) {\nvar $step1348 = 0;\nvar $elidedFrames1354 = 0;\nvar $ans1351 = D;\nvar $al1352 = L[403];\nif(R.isAR($self1350)) {\n$step1348 = $self1350.step;\n$al1352 = $self1350.from;\n$ans1351 = $self1350.ans;\n$elidedFrames1354 = $self1350.elidedFrames;\nself1350 = $self1350.args[0];\nann_check_temp1355 = $self1350.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[403],1,$t,true);\n}\nvar self1350 = $self1350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1351 = R.mC();\n}\nwhile(!R.isContinuation($ans1351)) {\nswitch($step1348) {\ncase 0: $al1352 = L[404];\nvar ann_check_temp1355 = G(self1350,\"elems\",L[404]);\n$step1348 = 1;\n$al1352 = L[405];\nvar $ann$check1356 = R._cA(L[405],List7,ann_check_temp1355);\nif(R.isContinuation($ann$check1356)) {\n$ans1351 = $ann$check1356;\n}\nbreak;\ncase 1: $step1348 = 2;\n$ans1351 = ann_check_temp1355;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1351;\ndefault: R.ffi.throwSpinnakerError(L[403],$step1348);\n}\n}\nif($step1348 !== 2) {\n$ans1351.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1352,$temp_full1349,$step1348,[self1350],[ann_check_temp1355],$elidedFrames1354);\n}\nreturn $ans1351;\n};\nvar anf_variant_member1725 = R.makeMethod0($temp_full1349,\"to-list\");\nvar $temp_full1359 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__406($self1360,$other1361) {\nvar $step1358 = 0;\nvar $elidedFrames1365 = 0;\nvar $ans1362 = D;\nvar $al1363 = L[406];\nif(R.isAR($self1360)) {\n$step1358 = $self1360.step;\n$al1363 = $self1360.from;\n$ans1362 = $self1360.ans;\n$elidedFrames1365 = $self1360.elidedFrames;\nself1360 = $self1360.args[0];\nother1361 = $self1360.args[1];\nann_check_temp1383 = $self1360.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[406],2,$t,true);\n}\nvar self1360 = $self1360;\nvar other1361 = $other1361;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1362 = R.mC();\n}\nwhile(!R.isContinuation($ans1362)) {\nswitch($step1358) {\ncase 0: $step1358 = 1;\n$al1363 = L[411];\nR._cA(L[411],Set1166,self1360);\nbreak;\ncase 1: $step1358 = 2;\n$al1363 = L[412];\nR._cA(L[412],Set1166,other1361);\nbreak;\ncase 2: var $temp_lam1367 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__407($u1368,$elem1369) {\nvar $step1366 = 0;\nvar $elidedFrames1373 = 0;\nvar $ans1370 = D;\nvar $al1371 = L[407];\nif(R.isAR($u1368)) {\n$step1366 = $u1368.step;\n$al1371 = $u1368.from;\n$ans1370 = $u1368.ans;\n$elidedFrames1373 = $u1368.elidedFrames;\nu1368 = $u1368.args[0];\nelem1369 = $u1368.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[407],2,$t,false);\n}\nvar u1368 = $u1368;\nvar elem1369 = $elem1369;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1370 = R.mC();\n}\nwhile(!R.isContinuation($ans1370)) {\nswitch($step1366) {\ncase 0: $step1366 = 1;\n$ans1370 = R.maybeMethodCall1(u1368,\"add\",L[408],elem1369);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1370;\ndefault: R.ffi.throwSpinnakerError(L[407],$step1366);\n}\n}\nif($step1366 !== 1) {\n$ans1370.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1371,$temp_lam1367,$step1366,[u1368,elem1369],[],$elidedFrames1373);\n}\nreturn $ans1370;\n};\nvar anf_arg1382 = R.mF($temp_lam1367,\"\");\n$step1358 = 3;\n$ans1362 = R.maybeMethodCall2(other1361,\"fold\",L[409],anf_arg1382,self1360);\nbreak;\ncase 3: var ann_check_temp1383 = $ans1362;\n$step1358 = 4;\n$al1363 = L[410];\nvar $ann$check1384 = R._cA(L[410],Set1166,ann_check_temp1383);\nif(R.isContinuation($ann$check1384)) {\n$ans1362 = $ann$check1384;\n}\nbreak;\ncase 4: $step1358 = 5;\n$ans1362 = ann_check_temp1383;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1362;\ndefault: R.ffi.throwSpinnakerError(L[406],$step1358);\n}\n}\nif($step1358 !== 5) {\n$ans1362.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1363,$temp_full1359,$step1358,[self1360,other1361],[ann_check_temp1383],$elidedFrames1365);\n}\nreturn $ans1362;\n};\nvar anf_variant_member1726 = R.makeMethod1($temp_full1359,\"union\");\nvar $temp_full1387 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__413($self1388,$other1389) {\nvar $step1386 = 0;\nvar $elidedFrames1393 = 0;\nvar $ans1390 = D;\nvar $al1391 = L[413];\nif(R.isAR($self1388)) {\n$step1386 = $self1388.step;\n$al1391 = $self1388.from;\n$ans1390 = $self1388.ans;\n$elidedFrames1393 = $self1388.elidedFrames;\nself1388 = $self1388.args[0];\nother1389 = $self1388.args[1];\nann_check_temp730 = $self1388.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[413],2,$t,true);\n}\nvar self1388 = $self1388;\nvar other1389 = $other1389;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1390 = R.mC();\n}\nwhile(!R.isContinuation($ans1390)) {\nswitch($step1386) {\ncase 0: $step1386 = 1;\n$al1391 = L[422];\nR._cA(L[422],Set1166,self1388);\nbreak;\ncase 1: $step1386 = 2;\n$al1391 = L[423];\nR._cA(L[423],Set1166,other1389);\nbreak;\ncase 2: var $temp_lam1395 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__414($elems1396,$elem1397) {\nvar $step1394 = 0;\nvar $elidedFrames1401 = 0;\nvar $ans1398 = D;\nvar $al1399 = L[414];\nif(R.isAR($elems1396)) {\n$step1394 = $elems1396.step;\n$al1399 = $elems1396.from;\n$ans1398 = $elems1396.ans;\n$elidedFrames1401 = $elems1396.elidedFrames;\nelems1396 = $elems1396.args[0];\nelem1397 = $elems1396.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[414],2,$t,false);\n}\nvar elems1396 = $elems1396;\nvar elem1397 = $elem1397;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1398 = R.mC();\n}\nwhile(!R.isContinuation($ans1398)) {\nswitch($step1394) {\ncase 0: $step1394 = 1;\n$ans1398 = R.maybeMethodCall1(other1389,\"member\",L[415],elem1397);\nbreak;\ncase 1: var anf_if1402 = $ans1398;\n$step1394 = R.checkPyretTrue(anf_if1402)?2:3;\nbreak;\ncase 2: $step1394 = 4;\n$ans1398 = elems1396;\nbreak;\ncase 3: $step1394 = 4;\n$ans1398 = R.maybeMethodCall1(elems1396,\"remove\",L[416],elem1397);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1398;\ndefault: R.ffi.throwSpinnakerError(L[414],$step1394);\n}\n}\nif($step1394 !== 4) {\n$ans1398.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1399,$temp_lam1395,$step1394,[elems1396,elem1397],[],$elidedFrames1401);\n}\nreturn $ans1398;\n};\nvar anf_arg1406 = R.mF($temp_lam1395,\"for-body\");\n$al1391 = L[417];\nvar anf_arg1407 = G(self1388,\"elems\",L[417]);\n$al1391 = L[418];\nvar anf_arg1415 = G(self1388,\"elems\",L[418]);\n$step1386 = 3;\n$al1391 = L[414];\n// omitting isFunction check;\n$ans1390 = fold6.app(anf_arg1406,anf_arg1407,anf_arg1415);\nbreak;\ncase 3: var new$elems1417 = $ans1390;\nvar anf_fun1416 = list$set1225.$var === D?U(L[419],\"list-set\"):list$set1225.$var;\n$step1386 = 4;\n$al1391 = L[421];\nif(typeof(anf_fun1416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1391,anf_fun1416);\n}\n$ans1390 = anf_fun1416.app(new$elems1417);\nbreak;\ncase 4: var ann_check_temp730 = $ans1390;\n$step1386 = 5;\n$al1391 = L[420];\nvar $ann$check1418 = R._cA(L[420],Set1166,ann_check_temp730);\nif(R.isContinuation($ann$check1418)) {\n$ans1390 = $ann$check1418;\n}\nbreak;\ncase 5: $step1386 = 6;\n$ans1390 = ann_check_temp730;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1390;\ndefault: R.ffi.throwSpinnakerError(L[413],$step1386);\n}\n}\nif($step1386 !== 6) {\n$ans1390.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1391,$temp_full1387,$step1386,[self1388,other1389],[ann_check_temp730],$elidedFrames1393);\n}\nreturn $ans1390;\n};\nvar anf_variant_member1727 = R.makeMethod1($temp_full1387,\"intersect\");\nvar $temp_full1421 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__424($self964,$other1422) {\nvar $step1420 = 0;\nvar $elidedFrames1426 = 0;\nvar $ans1423 = D;\nvar $al1424 = L[424];\nif(R.isAR($self964)) {\n$step1420 = $self964.step;\n$al1424 = $self964.from;\n$ans1423 = $self964.ans;\n$elidedFrames1426 = $self964.elidedFrames;\nself964 = $self964.args[0];\nother1422 = $self964.args[1];\nann_check_temp1427 = $self964.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[424],2,$t,true);\n}\nvar self964 = $self964;\nvar other1422 = $other1422;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1423 = R.mC();\n}\nwhile(!R.isContinuation($ans1423)) {\nswitch($step1420) {\ncase 0: $step1420 = 1;\n$al1424 = L[428];\nR._cA(L[428],Set1166,self964);\nbreak;\ncase 1: $step1420 = 2;\n$al1424 = L[429];\nR._cA(L[429],Set1166,other1422);\nbreak;\ncase 2: $al1424 = L[425];\nvar anf_arg791 = G(other1422,\"member\",L[425]);\n$step1420 = 3;\n$ans1423 = R.maybeMethodCall1(self964,\"any\",L[426],anf_arg791);\nbreak;\ncase 3: var ann_check_temp1427 = $ans1423;\n$step1420 = 4;\n$al1424 = L[427];\nvar $ann$check1428 = R._cA(L[427],$type$Boolean6,ann_check_temp1427);\nif(R.isContinuation($ann$check1428)) {\n$ans1423 = $ann$check1428;\n}\nbreak;\ncase 4: $step1420 = 5;\n$ans1423 = ann_check_temp1427;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1423;\ndefault: R.ffi.throwSpinnakerError(L[424],$step1420);\n}\n}\nif($step1420 !== 5) {\n$ans1423.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1424,$temp_full1421,$step1420,[self964,other1422],[ann_check_temp1427],$elidedFrames1426);\n}\nreturn $ans1423;\n};\nvar anf_variant_member1728 = R.makeMethod1($temp_full1421,\"overlaps\");\nvar $temp_full1433 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__430($self986,$other1434) {\nvar $step1432 = 0;\nvar $elidedFrames1438 = 0;\nvar $ans1435 = D;\nvar $al1436 = L[430];\nif(R.isAR($self986)) {\n$step1432 = $self986.step;\n$al1436 = $self986.from;\n$ans1435 = $self986.ans;\n$elidedFrames1438 = $self986.elidedFrames;\nself986 = $self986.args[0];\nother1434 = $self986.args[1];\nann_check_temp1466 = $self986.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[430],2,$t,true);\n}\nvar self986 = $self986;\nvar other1434 = $other1434;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1435 = R.mC();\n}\nwhile(!R.isContinuation($ans1435)) {\nswitch($step1432) {\ncase 0: $step1432 = 1;\n$al1436 = L[439];\nR._cA(L[439],Set1166,self986);\nbreak;\ncase 1: $step1432 = 2;\n$al1436 = L[440];\nR._cA(L[440],Set1166,other1434);\nbreak;\ncase 2: var $temp_lam1441 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__431($elems1442,$elem1443) {\nvar $step1440 = 0;\nvar $elidedFrames1447 = 0;\nvar $ans1444 = D;\nvar $al1445 = L[431];\nif(R.isAR($elems1442)) {\n$step1440 = $elems1442.step;\n$al1445 = $elems1442.from;\n$ans1444 = $elems1442.ans;\n$elidedFrames1447 = $elems1442.elidedFrames;\nelems1442 = $elems1442.args[0];\nelem1443 = $elems1442.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[431],2,$t,false);\n}\nvar elems1442 = $elems1442;\nvar elem1443 = $elem1443;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1444 = R.mC();\n}\nwhile(!R.isContinuation($ans1444)) {\nswitch($step1440) {\ncase 0: $step1440 = 1;\n$ans1444 = R.maybeMethodCall1(other1434,\"member\",L[432],elem1443);\nbreak;\ncase 1: var anf_if1448 = $ans1444;\n$step1440 = R.checkPyretTrue(anf_if1448)?2:3;\nbreak;\ncase 2: $step1440 = 4;\n$ans1444 = R.maybeMethodCall1(elems1442,\"remove\",L[433],elem1443);\nbreak;\ncase 3: $step1440 = 4;\n$ans1444 = elems1442;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1444;\ndefault: R.ffi.throwSpinnakerError(L[431],$step1440);\n}\n}\nif($step1440 !== 4) {\n$ans1444.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1445,$temp_lam1441,$step1440,[elems1442,elem1443],[],$elidedFrames1447);\n}\nreturn $ans1444;\n};\nvar anf_arg1463 = R.mF($temp_lam1441,\"for-body\");\n$al1436 = L[434];\nvar anf_arg825 = G(self986,\"elems\",L[434]);\n$al1436 = L[435];\nvar anf_arg826 = G(self986,\"elems\",L[435]);\n$step1432 = 3;\n$al1436 = L[431];\n// omitting isFunction check;\n$ans1435 = fold6.app(anf_arg1463,anf_arg825,anf_arg826);\nbreak;\ncase 3: var new$elems1465 = $ans1435;\nvar anf_fun1464 = list$set1225.$var === D?U(L[436],\"list-set\"):list$set1225.$var;\n$step1432 = 4;\n$al1436 = L[438];\nif(typeof(anf_fun1464.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1436,anf_fun1464);\n}\n$ans1435 = anf_fun1464.app(new$elems1465);\nbreak;\ncase 4: var ann_check_temp1466 = $ans1435;\n$step1432 = 5;\n$al1436 = L[437];\nvar $ann$check1467 = R._cA(L[437],Set1166,ann_check_temp1466);\nif(R.isContinuation($ann$check1467)) {\n$ans1435 = $ann$check1467;\n}\nbreak;\ncase 5: $step1432 = 6;\n$ans1435 = ann_check_temp1466;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1435;\ndefault: R.ffi.throwSpinnakerError(L[430],$step1432);\n}\n}\nif($step1432 !== 6) {\n$ans1435.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1436,$temp_full1433,$step1432,[self986,other1434],[ann_check_temp1466],$elidedFrames1438);\n}\nreturn $ans1435;\n};\nvar anf_variant_member1729 = R.makeMethod1($temp_full1433,\"difference\");\nvar $temp_full1470 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__441($self1471) {\nvar $step1469 = 0;\nvar $elidedFrames1475 = 0;\nvar $ans1472 = D;\nvar $al1473 = L[441];\nif(R.isAR($self1471)) {\n$step1469 = $self1471.step;\n$al1473 = $self1471.from;\n$ans1472 = $self1471.ans;\n$elidedFrames1475 = $self1471.elidedFrames;\nself1471 = $self1471.args[0];\nann_check_temp1477 = $self1471.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[441],1,$t,true);\n}\nvar self1471 = $self1471;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1472 = R.mC();\n}\nwhile(!R.isContinuation($ans1472)) {\nswitch($step1469) {\ncase 0: $step1469 = 1;\n$al1473 = L[445];\nR._cA(L[445],Set1166,self1471);\nbreak;\ncase 1: $al1473 = L[442];\nvar anf_method_obj1476 = G(self1471,\"elems\",L[442]);\n$step1469 = 2;\n$ans1472 = R.maybeMethodCall0(anf_method_obj1476,\"length\",L[443]);\nbreak;\ncase 2: var ann_check_temp1477 = $ans1472;\n$step1469 = 3;\n$al1473 = L[444];\nvar $ann$check1478 = R._cA(L[444],$type$Number3,ann_check_temp1477);\nif(R.isContinuation($ann$check1478)) {\n$ans1472 = $ann$check1478;\n}\nbreak;\ncase 3: $step1469 = 4;\n$ans1472 = ann_check_temp1477;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1472;\ndefault: R.ffi.throwSpinnakerError(L[441],$step1469);\n}\n}\nif($step1469 !== 4) {\n$ans1472.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1473,$temp_full1470,$step1469,[self1471],[ann_check_temp1477],$elidedFrames1475);\n}\nreturn $ans1472;\n};\nvar anf_variant_member1730 = R.makeMethod0($temp_full1470,\"size\");\nvar $temp_full1481 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__446($self1482) {\nvar $step1480 = 0;\nvar $elidedFrames1486 = 0;\nvar $ans1483 = D;\nvar $al1484 = L[446];\nif(R.isAR($self1482)) {\n$step1480 = $self1482.step;\n$al1484 = $self1482.from;\n$ans1483 = $self1482.ans;\n$elidedFrames1486 = $self1482.elidedFrames;\nself1482 = $self1482.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[446],1,$t,true);\n}\nvar self1482 = $self1482;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1483 = R.mC();\n}\nwhile(!R.isContinuation($ans1483)) {\nswitch($step1480) {\ncase 0: $al1484 = L[447];\nvar anf_arg1491 = G(self1482,\"elems\",L[447]);\n// caller optimization;\n$ans1483 = is$empty5.app(anf_arg1491);\n$step1480 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1483;\ndefault: R.ffi.throwSpinnakerError(L[446],$step1480);\n}\n}\nif($step1480 !== 1) {\n$ans1483.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1484,$temp_full1481,$step1480,[self1482],[],$elidedFrames1486);\n}\nreturn $ans1483;\n};\nvar anf_variant_member1731 = R.makeMethod0($temp_full1481,\"is-empty\");\nvar $temp_full1494 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__448($self1495,$f1496) {\nvar $step1493 = 0;\nvar $elidedFrames1500 = 0;\nvar $ans1497 = D;\nvar $al1498 = L[448];\nif(R.isAR($self1495)) {\n$step1493 = $self1495.step;\n$al1498 = $self1495.from;\n$ans1497 = $self1495.ans;\n$elidedFrames1500 = $self1495.elidedFrames;\nself1495 = $self1495.args[0];\nf1496 = $self1495.args[1];\nann_check_temp1502 = $self1495.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[448],2,$t,true);\n}\nvar self1495 = $self1495;\nvar f1496 = $f1496;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1497 = R.mC();\n}\nwhile(!R.isContinuation($ans1497)) {\nswitch($step1493) {\ncase 0: $al1498 = L[449];\nvar anf_method_obj1501 = G(self1495,\"elems\",L[449]);\n$step1493 = 1;\n$ans1497 = R.maybeMethodCall1(anf_method_obj1501,\"all\",L[450],f1496);\nbreak;\ncase 1: var ann_check_temp1502 = $ans1497;\n$step1493 = 2;\n$al1498 = L[451];\nvar $ann$check1503 = R._cA(L[451],$type$Boolean6,ann_check_temp1502);\nif(R.isContinuation($ann$check1503)) {\n$ans1497 = $ann$check1503;\n}\nbreak;\ncase 2: $step1493 = 3;\n$ans1497 = ann_check_temp1502;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1497;\ndefault: R.ffi.throwSpinnakerError(L[448],$step1493);\n}\n}\nif($step1493 !== 3) {\n$ans1497.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1498,$temp_full1494,$step1493,[self1495,f1496],[ann_check_temp1502],$elidedFrames1500);\n}\nreturn $ans1497;\n};\nvar anf_variant_member1732 = R.makeMethod1($temp_full1494,\"all\");\nvar $temp_full1508 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__452($self1509,$f1510) {\nvar $step1507 = 0;\nvar $elidedFrames1515 = 0;\nvar $ans1512 = D;\nvar $al1513 = L[452];\nif(R.isAR($self1509)) {\n$step1507 = $self1509.step;\n$al1513 = $self1509.from;\n$ans1512 = $self1509.ans;\n$elidedFrames1515 = $self1509.elidedFrames;\nself1509 = $self1509.args[0];\nf1510 = $self1509.args[1];\nann_check_temp1517 = $self1509.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[452],2,$t,true);\n}\nvar self1509 = $self1509;\nvar f1510 = $f1510;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1512 = R.mC();\n}\nwhile(!R.isContinuation($ans1512)) {\nswitch($step1507) {\ncase 0: $al1513 = L[453];\nvar anf_method_obj1516 = G(self1509,\"elems\",L[453]);\n$step1507 = 1;\n$ans1512 = R.maybeMethodCall1(anf_method_obj1516,\"any\",L[454],f1510);\nbreak;\ncase 1: var ann_check_temp1517 = $ans1512;\n$step1507 = 2;\n$al1513 = L[455];\nvar $ann$check1518 = R._cA(L[455],$type$Boolean6,ann_check_temp1517);\nif(R.isContinuation($ann$check1518)) {\n$ans1512 = $ann$check1518;\n}\nbreak;\ncase 2: $step1507 = 3;\n$ans1512 = ann_check_temp1517;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1512;\ndefault: R.ffi.throwSpinnakerError(L[452],$step1507);\n}\n}\nif($step1507 !== 3) {\n$ans1512.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1513,$temp_full1508,$step1507,[self1509,f1510],[ann_check_temp1517],$elidedFrames1515);\n}\nreturn $ans1512;\n};\nvar anf_variant_member1733 = R.makeMethod1($temp_full1508,\"any\");\nvar $temp_full1521 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__456($self1522) {\nvar $step1520 = 0;\nvar $elidedFrames1526 = 0;\nvar $ans1523 = D;\nvar $al1524 = L[456];\nif(R.isAR($self1522)) {\n$step1520 = $self1522.step;\n$al1524 = $self1522.from;\n$ans1523 = $self1522.ans;\n$elidedFrames1526 = $self1522.elidedFrames;\nself1522 = $self1522.args[0];\nt1527 = $self1522.vars[0];\ncases1528 = $self1522.vars[1];\nv1530 = $self1522.vars[2];\nanf_fun1532 = $self1522.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[456],1,$t,true);\n}\nvar self1522 = $self1522;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1523 = R.mC();\n}\nwhile(!R.isContinuation($ans1523)) {\nswitch($step1520) {\ncase 0: $al1524 = L[457];\nvar t1527 = G(self1522,\"elems\",L[457]);\nvar cases1528 = t1527;\n$step1520 = 1;\n$al1524 = L[464];\nvar $ann$check1541 = R._cA(L[464],AVLTree105,cases1528);\nif(R.isContinuation($ann$check1541)) {\n$ans1523 = $ann$check1541;\n}\nbreak;\ncase 1: $al1524 = L[459];\n$step1520 = $cases_dispatch1539[cases1528.$name] || 6;\nbreak;\ncase 2: if(cases1528.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[458],false,L[459],cases1528.$loc);\n}\n$step1520 = 7;\n$ans1523 = pick$none9;\nbreak;\ncase 3: if(cases1528.$arity !== 4) {\nif(cases1528.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[463],4,cases1528.$arity,L[459],cases1528.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[463],true,L[459],cases1528.$loc);\n}\n}\nvar $fn1538 = cases1528.$constructor.$fieldNames;\nvar v1530 = R.dF(cases1528.dict[$fn1538[0]],cases1528.$mut_fields_mask[0],false);\nR.dF(cases1528.dict[$fn1538[1]],cases1528.$mut_fields_mask[1],false);\nR.dF(cases1528.dict[$fn1538[2]],cases1528.$mut_fields_mask[2],false);\nR.dF(cases1528.dict[$fn1538[3]],cases1528.$mut_fields_mask[3],false);\nvar anf_fun1532 = tree$set1529.$var === D?U(L[460],\"tree-set\"):tree$set1529.$var;\n$step1520 = 4;\n$ans1523 = R.maybeMethodCall1(t1527,\"remove\",L[461],v1530);\nbreak;\ncase 4: var anf_arg1536 = $ans1523;\n$step1520 = 5;\n$al1524 = L[462];\nif(typeof(anf_fun1532.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1524,anf_fun1532);\n}\n$ans1523 = anf_fun1532.app(anf_arg1536);\nbreak;\ncase 5: var anf_arg898 = $ans1523;\n// caller optimization;\n$ans1523 = pick$some10.app(v1530,anf_arg898);\n$step1520 = 7;\nbreak;\ncase 6: $ans1523 = R.throwNoCasesMatched(L[459],cases1528);\n$step1520 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1523;\ndefault: R.ffi.throwSpinnakerError(L[456],$step1520);\n}\n}\nif($step1520 !== 7) {\n$ans1523.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1524,$temp_full1521,$step1520,[self1522],[t1527,cases1528,v1530,anf_fun1532],$elidedFrames1526);\n}\nreturn $ans1523;\n};\nvar anf_variant_member1741 = R.makeMethod0($temp_full1521,\"pick\");\nvar $temp_full1544 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__465($self1545) {\nvar $step1543 = 0;\nvar $elidedFrames1549 = 0;\nvar $ans1546 = D;\nvar $al1547 = L[465];\nif(R.isAR($self1545)) {\n$step1543 = $self1545.step;\n$al1547 = $self1545.from;\n$ans1546 = $self1545.ans;\n$elidedFrames1549 = $self1545.elidedFrames;\nself1545 = $self1545.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[465],1,$t,true);\n}\nvar self1545 = $self1545;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1546 = R.mC();\n}\nwhile(!R.isContinuation($ans1546)) {\nswitch($step1543) {\ncase 0: $step1543 = 1;\n$ans1546 = R.maybeMethodCall0(self1545,\"to-list\",L[466]);\nbreak;\ncase 1: var anf_method_obj1550 = $ans1546;\n$step1543 = 2;\n$ans1546 = R.maybeMethodCall1(anf_method_obj1550,\"map\",L[467],VS16.dict.values.dict[\"vs-value\"]);\nbreak;\ncase 2: var anf_arg901 = $ans1546;\n$step1543 = 3;\n$al1547 = L[468];\nif(typeof(VS16.dict.values.dict[\"vs-collection\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1547,VS16.dict.values.dict[\"vs-collection\"]);\n}\n$ans1546 = VS16.dict.values.dict[\"vs-collection\"].app((\"tree-set\"),anf_arg901);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1546;\ndefault: R.ffi.throwSpinnakerError(L[465],$step1543);\n}\n}\nif($step1543 !== 3) {\n$ans1546.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1547,$temp_full1544,$step1543,[self1545],[],$elidedFrames1549);\n}\nreturn $ans1546;\n};\nvar anf_variant_member1742 = R.makeMethod0($temp_full1544,\"_output\");\nvar $temp_full1553 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__469($self1554,$f1399,$base1555) {\nvar $step1552 = 0;\nvar $elidedFrames1559 = 0;\nvar $ans1556 = D;\nvar $al1557 = L[469];\nif(R.isAR($self1554)) {\n$step1552 = $self1554.step;\n$al1557 = $self1554.from;\n$ans1556 = $self1554.ans;\n$elidedFrames1559 = $self1554.elidedFrames;\nself1554 = $self1554.args[0];\nf1399 = $self1554.args[1];\nbase1555 = $self1554.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[469],3,$t,true);\n}\nvar self1554 = $self1554;\nvar f1399 = $f1399;\nvar base1555 = $base1555;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1556 = R.mC();\n}\nwhile(!R.isContinuation($ans1556)) {\nswitch($step1552) {\ncase 0: $step1552 = 1;\n$al1557 = L[472];\nR._cA(L[472],R.Function,f1399);\nbreak;\ncase 1: $al1557 = L[470];\nvar anf_arg904 = G(self1554,\"elems\",L[470]);\n$step1552 = 2;\n$al1557 = L[471];\n// omitting isFunction check;\n$ans1556 = tree$fold823.$var.app(f1399,base1555,anf_arg904);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1556;\ndefault: R.ffi.throwSpinnakerError(L[469],$step1552);\n}\n}\nif($step1552 !== 2) {\n$ans1556.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1557,$temp_full1553,$step1552,[self1554,f1399,base1555],[],$elidedFrames1559);\n}\nreturn $ans1556;\n};\nvar anf_variant_member1743 = R.makeMethod2($temp_full1553,\"fold\");\nvar $temp_full1562 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__473($self1563,$elem1564) {\nvar $step1561 = 0;\nvar $elidedFrames1569 = 0;\nvar $ans1566 = D;\nvar $al1567 = L[473];\nif(R.isAR($self1563)) {\n$step1561 = $self1563.step;\n$al1567 = $self1563.from;\n$ans1566 = $self1563.ans;\n$elidedFrames1569 = $self1563.elidedFrames;\nself1563 = $self1563.args[0];\nelem1564 = $self1563.args[1];\nann_check_temp1571 = $self1563.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[473],2,$t,true);\n}\nvar self1563 = $self1563;\nvar elem1564 = $elem1564;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1566 = R.mC();\n}\nwhile(!R.isContinuation($ans1566)) {\nswitch($step1561) {\ncase 0: $al1567 = L[474];\nvar anf_method_obj1570 = G(self1563,\"elems\",L[474]);\n$step1561 = 1;\n$ans1566 = R.maybeMethodCall1(anf_method_obj1570,\"contains\",L[475],elem1564);\nbreak;\ncase 1: var ann_check_temp1571 = $ans1566;\n$step1561 = 2;\n$al1567 = L[476];\nvar $ann$check1572 = R._cA(L[476],$type$Boolean6,ann_check_temp1571);\nif(R.isContinuation($ann$check1572)) {\n$ans1566 = $ann$check1572;\n}\nbreak;\ncase 2: $step1561 = 3;\n$ans1566 = ann_check_temp1571;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1566;\ndefault: R.ffi.throwSpinnakerError(L[473],$step1561);\n}\n}\nif($step1561 !== 3) {\n$ans1566.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1567,$temp_full1562,$step1561,[self1563,elem1564],[ann_check_temp1571],$elidedFrames1569);\n}\nreturn $ans1566;\n};\nvar anf_variant_member1744 = R.makeMethod1($temp_full1562,\"member\");\nvar $temp_full1575 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__477($self1576,$elem1577) {\nvar $step1574 = 0;\nvar $elidedFrames1581 = 0;\nvar $ans1578 = D;\nvar $al1579 = L[477];\nif(R.isAR($self1576)) {\n$step1574 = $self1576.step;\n$al1579 = $self1576.from;\n$ans1578 = $self1576.ans;\n$elidedFrames1581 = $self1576.elidedFrames;\nself1576 = $self1576.args[0];\nelem1577 = $self1576.args[1];\nanf_fun1583 = $self1576.vars[0];\nann_check_temp1592 = $self1576.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[477],2,$t,true);\n}\nvar self1576 = $self1576;\nvar elem1577 = $elem1577;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1578 = R.mC();\n}\nwhile(!R.isContinuation($ans1578)) {\nswitch($step1574) {\ncase 0: var anf_fun1583 = tree$set1529.$var === D?U(L[478],\"tree-set\"):tree$set1529.$var;\n$al1579 = L[479];\nvar anf_method_obj1582 = G(self1576,\"elems\",L[479]);\n$step1574 = 1;\n$ans1578 = R.maybeMethodCall1(anf_method_obj1582,\"insert\",L[480],elem1577);\nbreak;\ncase 1: var anf_arg1591 = $ans1578;\n$step1574 = 2;\n$al1579 = L[482];\nif(typeof(anf_fun1583.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1579,anf_fun1583);\n}\n$ans1578 = anf_fun1583.app(anf_arg1591);\nbreak;\ncase 2: var ann_check_temp1592 = $ans1578;\n$step1574 = 3;\n$al1579 = L[481];\nvar $ann$check1593 = R._cA(L[481],Set1166,ann_check_temp1592);\nif(R.isContinuation($ann$check1593)) {\n$ans1578 = $ann$check1593;\n}\nbreak;\ncase 3: $step1574 = 4;\n$ans1578 = ann_check_temp1592;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1578;\ndefault: R.ffi.throwSpinnakerError(L[477],$step1574);\n}\n}\nif($step1574 !== 4) {\n$ans1578.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1579,$temp_full1575,$step1574,[self1576,elem1577],[anf_fun1583,ann_check_temp1592],$elidedFrames1581);\n}\nreturn $ans1578;\n};\nvar anf_variant_member1745 = R.makeMethod1($temp_full1575,\"add\");\nvar $temp_full1596 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__483($self1597,$elem1598) {\nvar $step1595 = 0;\nvar $elidedFrames1602 = 0;\nvar $ans1599 = D;\nvar $al1600 = L[483];\nif(R.isAR($self1597)) {\n$step1595 = $self1597.step;\n$al1600 = $self1597.from;\n$ans1599 = $self1597.ans;\n$elidedFrames1602 = $self1597.elidedFrames;\nself1597 = $self1597.args[0];\nelem1598 = $self1597.args[1];\nanf_fun1604 = $self1597.vars[0];\nann_check_temp1607 = $self1597.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[483],2,$t,true);\n}\nvar self1597 = $self1597;\nvar elem1598 = $elem1598;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1599 = R.mC();\n}\nwhile(!R.isContinuation($ans1599)) {\nswitch($step1595) {\ncase 0: var anf_fun1604 = tree$set1529.$var === D?U(L[484],\"tree-set\"):tree$set1529.$var;\n$al1600 = L[485];\nvar anf_method_obj1603 = G(self1597,\"elems\",L[485]);\n$step1595 = 1;\n$ans1599 = R.maybeMethodCall1(anf_method_obj1603,\"remove\",L[486],elem1598);\nbreak;\ncase 1: var anf_arg1606 = $ans1599;\n$step1595 = 2;\n$al1600 = L[488];\nif(typeof(anf_fun1604.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1600,anf_fun1604);\n}\n$ans1599 = anf_fun1604.app(anf_arg1606);\nbreak;\ncase 2: var ann_check_temp1607 = $ans1599;\n$step1595 = 3;\n$al1600 = L[487];\nvar $ann$check1608 = R._cA(L[487],Set1166,ann_check_temp1607);\nif(R.isContinuation($ann$check1608)) {\n$ans1599 = $ann$check1608;\n}\nbreak;\ncase 3: $step1595 = 4;\n$ans1599 = ann_check_temp1607;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1599;\ndefault: R.ffi.throwSpinnakerError(L[483],$step1595);\n}\n}\nif($step1595 !== 4) {\n$ans1599.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1600,$temp_full1596,$step1595,[self1597,elem1598],[anf_fun1604,ann_check_temp1607],$elidedFrames1602);\n}\nreturn $ans1599;\n};\nvar anf_variant_member1746 = R.makeMethod1($temp_full1596,\"remove\");\nvar $temp_full1611 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__489($self1612) {\nvar $step1610 = 0;\nvar $elidedFrames1616 = 0;\nvar $ans1613 = D;\nvar $al1614 = L[489];\nif(R.isAR($self1612)) {\n$step1610 = $self1612.step;\n$al1614 = $self1612.from;\n$ans1613 = $self1612.ans;\n$elidedFrames1616 = $self1612.elidedFrames;\nself1612 = $self1612.args[0];\nann_check_temp1618 = $self1612.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[489],1,$t,true);\n}\nvar self1612 = $self1612;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1613 = R.mC();\n}\nwhile(!R.isContinuation($ans1613)) {\nswitch($step1610) {\ncase 0: $al1614 = L[490];\nvar anf_method_obj1617 = G(self1612,\"elems\",L[490]);\n$step1610 = 1;\n$ans1613 = R.maybeMethodCall0(anf_method_obj1617,\"inorder\",L[491]);\nbreak;\ncase 1: var ann_check_temp1618 = $ans1613;\n$step1610 = 2;\n$al1614 = L[492];\nvar $ann$check1619 = R._cA(L[492],List7,ann_check_temp1618);\nif(R.isContinuation($ann$check1619)) {\n$ans1613 = $ann$check1619;\n}\nbreak;\ncase 2: $step1610 = 3;\n$ans1613 = ann_check_temp1618;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1613;\ndefault: R.ffi.throwSpinnakerError(L[489],$step1610);\n}\n}\nif($step1610 !== 3) {\n$ans1613.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1614,$temp_full1611,$step1610,[self1612],[ann_check_temp1618],$elidedFrames1616);\n}\nreturn $ans1613;\n};\nvar anf_variant_member1747 = R.makeMethod0($temp_full1611,\"to-list\");\nvar $temp_full1622 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__493($self1623,$other1624) {\nvar $step1621 = 0;\nvar $elidedFrames1628 = 0;\nvar $ans1625 = D;\nvar $al1626 = L[493];\nif(R.isAR($self1623)) {\n$step1621 = $self1623.step;\n$al1626 = $self1623.from;\n$ans1625 = $self1623.ans;\n$elidedFrames1628 = $self1623.elidedFrames;\nself1623 = $self1623.args[0];\nother1624 = $self1623.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[493],2,$t,true);\n}\nvar self1623 = $self1623;\nvar other1624 = $other1624;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1625 = R.mC();\n}\nwhile(!R.isContinuation($ans1625)) {\nswitch($step1621) {\ncase 0: var anf_fun1631 = tree$set$union1629.$var === D?U(L[494],\"tree-set-union\"):tree$set$union1629.$var;\n$step1621 = 1;\n$al1626 = L[495];\nif(typeof(anf_fun1631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1626,anf_fun1631);\n}\n$ans1625 = anf_fun1631.app(self1623,other1624);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1625;\ndefault: R.ffi.throwSpinnakerError(L[493],$step1621);\n}\n}\nif($step1621 !== 1) {\n$ans1625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1626,$temp_full1622,$step1621,[self1623,other1624],[],$elidedFrames1628);\n}\nreturn $ans1625;\n};\nvar anf_variant_member1748 = R.makeMethod1($temp_full1622,\"union\");\nvar $temp_full1634 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__496($self1224,$other1635) {\nvar $step1633 = 0;\nvar $elidedFrames1639 = 0;\nvar $ans1636 = D;\nvar $al1637 = L[496];\nif(R.isAR($self1224)) {\n$step1633 = $self1224.step;\n$al1637 = $self1224.from;\n$ans1636 = $self1224.ans;\n$elidedFrames1639 = $self1224.elidedFrames;\nself1224 = $self1224.args[0];\nother1635 = $self1224.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[496],2,$t,true);\n}\nvar self1224 = $self1224;\nvar other1635 = $other1635;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1636 = R.mC();\n}\nwhile(!R.isContinuation($ans1636)) {\nswitch($step1633) {\ncase 0: var anf_fun1641 = tree$set$intersect1640.$var === D?U(L[497],\"tree-set-intersect\"):tree$set$intersect1640.$var;\n$step1633 = 1;\n$al1637 = L[498];\nif(typeof(anf_fun1641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1637,anf_fun1641);\n}\n$ans1636 = anf_fun1641.app(self1224,other1635);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1636;\ndefault: R.ffi.throwSpinnakerError(L[496],$step1633);\n}\n}\nif($step1633 !== 1) {\n$ans1636.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1637,$temp_full1634,$step1633,[self1224,other1635],[],$elidedFrames1639);\n}\nreturn $ans1636;\n};\nvar anf_variant_member1749 = R.makeMethod1($temp_full1634,\"intersect\");\nvar $temp_full1644 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__499($self1645,$other1646) {\nvar $step1643 = 0;\nvar $elidedFrames1650 = 0;\nvar $ans1647 = D;\nvar $al1648 = L[499];\nif(R.isAR($self1645)) {\n$step1643 = $self1645.step;\n$al1648 = $self1645.from;\n$ans1647 = $self1645.ans;\n$elidedFrames1650 = $self1645.elidedFrames;\nself1645 = $self1645.args[0];\nother1646 = $self1645.args[1];\nann_check_temp1652 = $self1645.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[499],2,$t,true);\n}\nvar self1645 = $self1645;\nvar other1646 = $other1646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1647 = R.mC();\n}\nwhile(!R.isContinuation($ans1647)) {\nswitch($step1643) {\ncase 0: $step1643 = 1;\n$al1648 = L[503];\nR._cA(L[503],Set1166,self1645);\nbreak;\ncase 1: $step1643 = 2;\n$al1648 = L[504];\nR._cA(L[504],Set1166,other1646);\nbreak;\ncase 2: $al1648 = L[500];\nvar anf_arg1651 = G(other1646,\"member\",L[500]);\n$step1643 = 3;\n$ans1647 = R.maybeMethodCall1(self1645,\"any\",L[501],anf_arg1651);\nbreak;\ncase 3: var ann_check_temp1652 = $ans1647;\n$step1643 = 4;\n$al1648 = L[502];\nvar $ann$check1653 = R._cA(L[502],$type$Boolean6,ann_check_temp1652);\nif(R.isContinuation($ann$check1653)) {\n$ans1647 = $ann$check1653;\n}\nbreak;\ncase 4: $step1643 = 5;\n$ans1647 = ann_check_temp1652;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1647;\ndefault: R.ffi.throwSpinnakerError(L[499],$step1643);\n}\n}\nif($step1643 !== 5) {\n$ans1647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1648,$temp_full1644,$step1643,[self1645,other1646],[ann_check_temp1652],$elidedFrames1650);\n}\nreturn $ans1647;\n};\nvar anf_variant_member1750 = R.makeMethod1($temp_full1644,\"overlaps\");\nvar $temp_full1656 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__505($self1255,$other1657) {\nvar $step1655 = 0;\nvar $elidedFrames1661 = 0;\nvar $ans1658 = D;\nvar $al1659 = L[505];\nif(R.isAR($self1255)) {\n$step1655 = $self1255.step;\n$al1659 = $self1255.from;\n$ans1658 = $self1255.ans;\n$elidedFrames1661 = $self1255.elidedFrames;\nself1255 = $self1255.args[0];\nother1657 = $self1255.args[1];\nann_check_temp1027 = $self1255.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[505],2,$t,true);\n}\nvar self1255 = $self1255;\nvar other1657 = $other1657;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1658 = R.mC();\n}\nwhile(!R.isContinuation($ans1658)) {\nswitch($step1655) {\ncase 0: $step1655 = 1;\n$al1659 = L[509];\nR._cA(L[509],Set1166,self1255);\nbreak;\ncase 1: $step1655 = 2;\n$al1659 = L[510];\nR._cA(L[510],Set1166,other1657);\nbreak;\ncase 2: var anf_fun1664 = tree$set$difference1662.$var === D?U(L[506],\"tree-set-difference\"):tree$set$difference1662.$var;\n$step1655 = 3;\n$al1659 = L[508];\nif(typeof(anf_fun1664.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1659,anf_fun1664);\n}\n$ans1658 = anf_fun1664.app(self1255,other1657);\nbreak;\ncase 3: var ann_check_temp1027 = $ans1658;\n$step1655 = 4;\n$al1659 = L[507];\nvar $ann$check1666 = R._cA(L[507],Set1166,ann_check_temp1027);\nif(R.isContinuation($ann$check1666)) {\n$ans1658 = $ann$check1666;\n}\nbreak;\ncase 4: $step1655 = 5;\n$ans1658 = ann_check_temp1027;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1658;\ndefault: R.ffi.throwSpinnakerError(L[505],$step1655);\n}\n}\nif($step1655 !== 5) {\n$ans1658.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1659,$temp_full1656,$step1655,[self1255,other1657],[ann_check_temp1027],$elidedFrames1661);\n}\nreturn $ans1658;\n};\nvar anf_variant_member1751 = R.makeMethod1($temp_full1656,\"difference\");\nvar $temp_full1671 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__511($self1672) {\nvar $step1670 = 0;\nvar $elidedFrames1677 = 0;\nvar $ans1674 = D;\nvar $al1675 = L[511];\nif(R.isAR($self1672)) {\n$step1670 = $self1672.step;\n$al1675 = $self1672.from;\n$ans1674 = $self1672.ans;\n$elidedFrames1677 = $self1672.elidedFrames;\nself1672 = $self1672.args[0];\nann_check_temp1679 = $self1672.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[511],1,$t,true);\n}\nvar self1672 = $self1672;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1674 = R.mC();\n}\nwhile(!R.isContinuation($ans1674)) {\nswitch($step1670) {\ncase 0: $step1670 = 1;\n$al1675 = L[515];\nR._cA(L[515],Set1166,self1672);\nbreak;\ncase 1: $al1675 = L[512];\nvar anf_method_obj1678 = G(self1672,\"elems\",L[512]);\n$step1670 = 2;\n$ans1674 = R.maybeMethodCall0(anf_method_obj1678,\"count\",L[513]);\nbreak;\ncase 2: var ann_check_temp1679 = $ans1674;\n$step1670 = 3;\n$al1675 = L[514];\nvar $ann$check1680 = R._cA(L[514],$type$Number3,ann_check_temp1679);\nif(R.isContinuation($ann$check1680)) {\n$ans1674 = $ann$check1680;\n}\nbreak;\ncase 3: $step1670 = 4;\n$ans1674 = ann_check_temp1679;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1674;\ndefault: R.ffi.throwSpinnakerError(L[511],$step1670);\n}\n}\nif($step1670 !== 4) {\n$ans1674.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1675,$temp_full1671,$step1670,[self1672],[ann_check_temp1679],$elidedFrames1677);\n}\nreturn $ans1674;\n};\nvar anf_variant_member1752 = R.makeMethod0($temp_full1671,\"size\");\nvar $temp_full1683 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__516($self1684) {\nvar $step1682 = 0;\nvar $elidedFrames1688 = 0;\nvar $ans1685 = D;\nvar $al1686 = L[516];\nif(R.isAR($self1684)) {\n$step1682 = $self1684.step;\n$al1686 = $self1684.from;\n$ans1685 = $self1684.ans;\n$elidedFrames1688 = $self1684.elidedFrames;\nself1684 = $self1684.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[516],1,$t,true);\n}\nvar self1684 = $self1684;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1685 = R.mC();\n}\nwhile(!R.isContinuation($ans1685)) {\nswitch($step1682) {\ncase 0: $al1686 = L[517];\nvar anf_arg1033 = G(self1684,\"elems\",L[517]);\n// caller optimization;\n$ans1685 = is$leaf805.$var.app(anf_arg1033);\n$step1682 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1685;\ndefault: R.ffi.throwSpinnakerError(L[516],$step1682);\n}\n}\nif($step1682 !== 1) {\n$ans1685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1686,$temp_full1683,$step1682,[self1684],[],$elidedFrames1688);\n}\nreturn $ans1685;\n};\nvar anf_variant_member1753 = R.makeMethod0($temp_full1683,\"is-empty\");\nvar $temp_full1691 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__518($self1269,$f1692) {\nvar $step1690 = 0;\nvar $elidedFrames1696 = 0;\nvar $ans1693 = D;\nvar $al1694 = L[518];\nif(R.isAR($self1269)) {\n$step1690 = $self1269.step;\n$al1694 = $self1269.from;\n$ans1693 = $self1269.ans;\n$elidedFrames1696 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nf1692 = $self1269.args[1];\nann_check_temp1698 = $self1269.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[518],2,$t,true);\n}\nvar self1269 = $self1269;\nvar f1692 = $f1692;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1693 = R.mC();\n}\nwhile(!R.isContinuation($ans1693)) {\nswitch($step1690) {\ncase 0: $al1694 = L[519];\nvar anf_method_obj1697 = G(self1269,\"elems\",L[519]);\n$step1690 = 1;\n$ans1693 = R.maybeMethodCall1(anf_method_obj1697,\"all\",L[520],f1692);\nbreak;\ncase 1: var ann_check_temp1698 = $ans1693;\n$step1690 = 2;\n$al1694 = L[521];\nvar $ann$check1699 = R._cA(L[521],$type$Boolean6,ann_check_temp1698);\nif(R.isContinuation($ann$check1699)) {\n$ans1693 = $ann$check1699;\n}\nbreak;\ncase 2: $step1690 = 3;\n$ans1693 = ann_check_temp1698;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1693;\ndefault: R.ffi.throwSpinnakerError(L[518],$step1690);\n}\n}\nif($step1690 !== 3) {\n$ans1693.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1694,$temp_full1691,$step1690,[self1269,f1692],[ann_check_temp1698],$elidedFrames1696);\n}\nreturn $ans1693;\n};\nvar anf_variant_member1754 = R.makeMethod1($temp_full1691,\"all\");\nvar $temp_full1703 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__522($self1704,$f1705) {\nvar $step1702 = 0;\nvar $elidedFrames1709 = 0;\nvar $ans1706 = D;\nvar $al1707 = L[522];\nif(R.isAR($self1704)) {\n$step1702 = $self1704.step;\n$al1707 = $self1704.from;\n$ans1706 = $self1704.ans;\n$elidedFrames1709 = $self1704.elidedFrames;\nself1704 = $self1704.args[0];\nf1705 = $self1704.args[1];\nann_check_temp1711 = $self1704.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[522],2,$t,true);\n}\nvar self1704 = $self1704;\nvar f1705 = $f1705;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1706 = R.mC();\n}\nwhile(!R.isContinuation($ans1706)) {\nswitch($step1702) {\ncase 0: $al1707 = L[523];\nvar anf_method_obj1710 = G(self1704,\"elems\",L[523]);\n$step1702 = 1;\n$ans1706 = R.maybeMethodCall1(anf_method_obj1710,\"any\",L[524],f1705);\nbreak;\ncase 1: var ann_check_temp1711 = $ans1706;\n$step1702 = 2;\n$al1707 = L[525];\nvar $ann$check1712 = R._cA(L[525],$type$Boolean6,ann_check_temp1711);\nif(R.isContinuation($ann$check1712)) {\n$ans1706 = $ann$check1712;\n}\nbreak;\ncase 2: $step1702 = 3;\n$ans1706 = ann_check_temp1711;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans1706;\ndefault: R.ffi.throwSpinnakerError(L[522],$step1702);\n}\n}\nif($step1702 !== 3) {\n$ans1706.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1707,$temp_full1703,$step1702,[self1704,f1705],[ann_check_temp1711],$elidedFrames1709);\n}\nreturn $ans1706;\n};\nvar anf_variant_member1755 = R.makeMethod1($temp_full1703,\"any\");\nvar $list$set_getfields1735 = function singleton_variant(f) {\nreturn f(this.dict[\"elems\"]);\n};\nvar $list$set_mutablemask1734 = [false];\nvar $list$set$base1716 = {\"$fieldNames\":[\"elems\"],\n\"symmetric-difference\":anf_shared1714,\n\"_equals\":anf_shared1715,\n\"pick\":anf_variant_member1719,\n\"_output\":anf_variant_member1720,\n\"fold\":anf_variant_member1721,\n\"member\":anf_variant_member1722,\n\"add\":anf_variant_member1723,\n\"remove\":anf_variant_member1724,\n\"to-list\":anf_variant_member1725,\n\"union\":anf_variant_member1726,\n\"intersect\":anf_variant_member1727,\n\"overlaps\":anf_variant_member1728,\n\"difference\":anf_variant_member1729,\n\"size\":anf_variant_member1730,\n\"is-empty\":anf_variant_member1731,\n\"all\":anf_variant_member1732,\n\"any\":anf_variant_member1733,\n\"_match\":R.mM(\"list-set\",1)};\nvar $list$set$brander1717 = R.nB(\"list-set\",L[526]);\nvar $list$set$brands1718 = {};\n$list$set$brands1718[Set30._brand] = true;\n$list$set$brands1718[$list$set$brander1717._brand] = true;\nvar list$set1736 = R.mVC(L[526],function $synthesizedConstructor_$list$set$base() {\nreturn [List7];\n},[\"elems1737\"],[L[527]],[false],[\"elems1737\"],$list$set_mutablemask1734,$list$set$base1716,$list$set$brands1718,\"list-set\",$list$set_getfields1735,$list$set$base1716);\nvar $tree$set_getfields1757 = function singleton_variant(f) {\nreturn f(this.dict[\"elems\"]);\n};\nvar $tree$set_mutablemask1756 = [false];\nvar $tree$set$base1738 = {\"$fieldNames\":[\"elems\"],\n\"symmetric-difference\":anf_shared1714,\n\"_equals\":anf_shared1715,\n\"pick\":anf_variant_member1741,\n\"_output\":anf_variant_member1742,\n\"fold\":anf_variant_member1743,\n\"member\":anf_variant_member1744,\n\"add\":anf_variant_member1745,\n\"remove\":anf_variant_member1746,\n\"to-list\":anf_variant_member1747,\n\"union\":anf_variant_member1748,\n\"intersect\":anf_variant_member1749,\n\"overlaps\":anf_variant_member1750,\n\"difference\":anf_variant_member1751,\n\"size\":anf_variant_member1752,\n\"is-empty\":anf_variant_member1753,\n\"all\":anf_variant_member1754,\n\"any\":anf_variant_member1755,\n\"_match\":R.mM(\"tree-set\",1)};\nvar $tree$set$brander1739 = R.nB(\"tree-set\",L[528]);\nvar $tree$set$brands1740 = {};\n$tree$set$brands1740[Set30._brand] = true;\n$tree$set$brands1740[$tree$set$brander1739._brand] = true;\nvar tree$set1758 = R.mVC(L[528],function $synthesizedConstructor_$tree$set$base() {\nreturn [AVLTree105];\n},[\"elems1759\"],[L[529]],[false],[\"elems1759\"],$tree$set_mutablemask1756,$tree$set$base1738,$tree$set$brands1740,\"tree-set\",$tree$set_getfields1757,$tree$set$base1738);\nvar anf_assign1760 = R.mO({\"Set\":G(Set30,\"test\",L[530]),\n\"is-list-set\":G($list$set$brander1717,\"test\",L[526]),\n\"list-set\":list$set1736,\n\"is-tree-set\":G($tree$set$brander1739,\"test\",L[528]),\n\"tree-set\":tree$set1758});\nSet1761.$var = anf_assign1760;\nR.nothing;\n$al26 = L[530];\nvar anf_assign1762 = G(Set1761.$var,\"Set\",L[530]);\nis$Set1180.$var = anf_assign1762;\nR.nothing;\n$al26 = L[526];\nvar anf_assign1763 = G(Set1761.$var,\"is-list-set\",L[526]);\nis$list$set1764.$var = anf_assign1763;\nR.nothing;\n$al26 = L[526];\nvar anf_assign1765 = G(Set1761.$var,\"list-set\",L[526]);\nlist$set1225.$var = anf_assign1765;\nR.nothing;\n$al26 = L[528];\nvar anf_assign1766 = G(Set1761.$var,\"is-tree-set\",L[528]);\nis$tree$set1767.$var = anf_assign1766;\nR.nothing;\n$al26 = L[528];\nvar anf_assign1768 = G(Set1761.$var,\"tree-set\",L[528]);\ntree$set1529.$var = anf_assign1768;\nR.nothing;\nvar $temp_lam1770 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__531($s1771) {\nvar $step1769 = 0;\nvar $elidedFrames1775 = 0;\nvar $ans1772 = D;\nvar $al1773 = L[531];\nif(R.isAR($s1771)) {\n$step1769 = $s1771.step;\n$al1773 = $s1771.from;\n$ans1772 = $s1771.ans;\n$elidedFrames1775 = $s1771.elidedFrames;\ns1771 = $s1771.args[0];\ncases1776 = $s1771.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[531],1,$t,false);\n}\nvar s1771 = $s1771;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1772 = R.mC();\n}\nwhile(!R.isContinuation($ans1772)) {\nswitch($step1769) {\ncase 0: var cases1776 = s1771;\n$step1769 = 1;\n$al1773 = L[537];\nvar $ann$check1787 = R._cA(L[537],Set1166,cases1776);\nif(R.isContinuation($ann$check1787)) {\n$ans1772 = $ann$check1787;\n}\nbreak;\ncase 1: $al1773 = L[534];\n$step1769 = $cases_dispatch1786[cases1776.$name] || 4;\nbreak;\ncase 2: if(cases1776.$arity !== 1) {\nif(cases1776.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[533],1,cases1776.$arity,L[534],cases1776.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[533],true,L[534],cases1776.$loc);\n}\n}\nvar $fn1782 = cases1776.$constructor.$fieldNames;\nvar elems1777 = R.dF(cases1776.dict[$fn1782[0]],cases1776.$mut_fields_mask[0],false);\n$step1769 = 5;\n$ans1772 = R.maybeMethodCall0(elems1777,\"sort\",L[532]);\nbreak;\ncase 3: if(cases1776.$arity !== 1) {\nif(cases1776.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[536],1,cases1776.$arity,L[534],cases1776.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[536],true,L[534],cases1776.$loc);\n}\n}\nvar $fn1785 = cases1776.$constructor.$fieldNames;\nvar elems1783 = R.dF(cases1776.dict[$fn1785[0]],cases1776.$mut_fields_mask[0],false);\n$step1769 = 5;\n$ans1772 = R.maybeMethodCall0(elems1783,\"inorder\",L[535]);\nbreak;\ncase 4: $ans1772 = R.throwNoCasesMatched(L[534],cases1776);\n$step1769 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1772;\ndefault: R.ffi.throwSpinnakerError(L[531],$step1769);\n}\n}\nif($step1769 !== 5) {\n$ans1772.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1773,$temp_lam1770,$step1769,[s1771],[cases1776],$elidedFrames1775);\n}\nreturn $ans1772;\n};\nvar anf_assign1789 = R.mF($temp_lam1770,\"set-to-sorted-elems\");\nset$to$sorted$elems1790.$var = anf_assign1789;\nR.nothing;\nvar $temp_lam1792 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__538($elems1793) {\nvar $step1791 = 0;\nvar $elidedFrames1797 = 0;\nvar $ans1794 = D;\nvar $al1795 = L[538];\nif(R.isAR($elems1793)) {\n$step1791 = $elems1793.step;\n$al1795 = $elems1793.from;\n$ans1794 = $elems1793.ans;\n$elidedFrames1797 = $elems1793.elidedFrames;\nelems1793 = $elems1793.args[0];\nhead1805 = $elems1793.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[538],1,$t,false);\n}\nvar elems1793 = $elems1793;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1794 = R.mC();\n}\nwhile(!R.isContinuation($ans1794)) {\nswitch($step1791) {\ncase 0: var head1805 = {\"$var\":elems1793};\n$step1791 = 1;\n$ans1794 = R.maybeMethodCall0(elems1793,\"length\",L[539]);\nbreak;\ncase 1: var len1822 = $ans1794;\nvar helper1807 = {\"$var\":D};\nvar $temp_lam1799 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__540($l1800) {\nvar $step1798 = 0;\nvar $elidedFrames1804 = 0;\nvar $ans1801 = D;\nvar $al1802 = L[540];\nif(R.isAR($l1800)) {\n$step1798 = $l1800.step;\n$al1802 = $l1800.from;\n$ans1801 = $l1800.ans;\n$elidedFrames1804 = $l1800.elidedFrames;\nl1800 = $l1800.args[0];\nitem1817 = $l1800.vars[0];\nanf_arg1818 = $l1800.vars[1];\nleft1814 = $l1800.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[540],1,$t,false);\n}\nvar l1800 = $l1800;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1801 = R.mC();\n}\nwhile(!R.isContinuation($ans1801)) {\nswitch($step1798) {\ncase 0: $step1798 = 1;\n$al1802 = L[550];\n// omitting isFunction check;\n$ans1801 = _lessequal4.app(l1800,(0));\nbreak;\ncase 1: var anf_if1819 = $ans1801;\n$step1798 = R.checkPyretTrue(anf_if1819)?2:3;\nbreak;\ncase 2: $step1798 = 13;\n$ans1801 = leaf98.$var;\nbreak;\ncase 3: var anf_arg1806 = head1805.$var;\n// caller optimization;\n$ans1801 = is$empty5.app(anf_arg1806);\nvar anf_if1112 = $ans1801;\n$step1798 = R.checkPyretTrue(anf_if1112)?4:5;\nbreak;\ncase 4: $step1798 = 13;\n$ans1801 = leaf98.$var;\nbreak;\ncase 5: $step1798 = 6;\n$al1802 = L[549];\n// omitting isFunction check;\n$ans1801 = _divide13.app(l1800,(2));\nbreak;\ncase 6: var anf_arg1111 = $ans1801;\n// caller optimization;\n$ans1801 = num$floor1.app(anf_arg1111);\nvar anf_arg1810 = $ans1801;\n$step1798 = 7;\n$al1802 = L[548];\n// omitting isFunction check;\n$ans1801 = helper1807.$var.app(anf_arg1810);\nbreak;\ncase 7: var left1814 = $ans1801;\nvar anf_bracket1811 = head1805.$var;\n$al1802 = L[541];\nvar item1817 = G(anf_bracket1811,\"first\",L[541]);\nvar anf_bracket1812 = head1805.$var;\n$al1802 = L[542];\nvar anf_assign1813 = G(anf_bracket1812,\"rest\",L[542]);\nhead1805.$var = anf_assign1813;\nR.nothing;\n$step1798 = 8;\n$ans1801 = R.maybeMethodCall0(left1814,\"height\",L[543]);\nbreak;\ncase 8: var anf_arg1142 = $ans1801;\n$step1798 = 9;\n$al1802 = L[547];\n// omitting isFunction check;\n$ans1801 = _plus5.app(anf_arg1142,(1));\nbreak;\ncase 9: var anf_arg1818 = $ans1801;\n$step1798 = 10;\n$al1802 = L[546];\n// omitting isFunction check;\n$ans1801 = _divide13.app(l1800,(2));\nbreak;\ncase 10: var anf_arg1815 = $ans1801;\n$step1798 = 11;\n$al1802 = L[545];\n// omitting isFunction check;\n$ans1801 = _minus9.app(anf_arg1815,(1));\nbreak;\ncase 11: var anf_arg1816 = $ans1801;\n// caller optimization;\n$ans1801 = num$ceiling11.app(anf_arg1816);\nvar anf_arg1168 = $ans1801;\n$step1798 = 12;\n$al1802 = L[544];\n// omitting isFunction check;\n$ans1801 = helper1807.$var.app(anf_arg1168);\nbreak;\ncase 12: var anf_arg1169 = $ans1801;\n// caller optimization;\n$ans1801 = branch810.$var.app(item1817,anf_arg1818,left1814,anf_arg1169);\n$step1798 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1801;\ndefault: R.ffi.throwSpinnakerError(L[540],$step1798);\n}\n}\nif($step1798 !== 13) {\n$ans1801.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1802,$temp_lam1799,$step1798,[l1800],[item1817,anf_arg1818,left1814],$elidedFrames1804);\n}\nreturn $ans1801;\n};\nvar anf_assign1821 = R.mF($temp_lam1799,\"helper\");\nhelper1807.$var = anf_assign1821;\nR.nothing;\n$step1791 = 2;\n$al1795 = L[551];\n// omitting isFunction check;\n$ans1794 = helper1807.$var.app(len1822);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1794;\ndefault: R.ffi.throwSpinnakerError(L[538],$step1791);\n}\n}\nif($step1791 !== 2) {\n$ans1794.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1795,$temp_lam1792,$step1791,[elems1793],[head1805],$elidedFrames1797);\n}\nreturn $ans1794;\n};\nvar anf_assign1824 = R.mF($temp_lam1792,\"elems-to-balanced-avl\");\nelems$to$balanced$avl1825.$var = anf_assign1824;\nR.nothing;\nvar $temp_lam1827 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__552($l11828,$l21829) {\nvar $step1826 = 0;\nvar $elidedFrames1833 = 0;\nvar $ans1830 = D;\nvar $al1831 = L[552];\nif(R.isAR($l11828)) {\n$step1826 = $l11828.step;\n$al1831 = $l11828.from;\n$ans1830 = $l11828.ans;\n$elidedFrames1833 = $l11828.elidedFrames;\nl11828 = $l11828.args[0];\nl21829 = $l11828.args[1];\nanf_arg1207 = $l11828.vars[0];\nanf_arg1839 = $l11828.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[552],2,$t,false);\n}\nvar l11828 = $l11828;\nvar l21829 = $l21829;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1830 = R.mC();\n}\nwhile(!R.isContinuation($ans1830)) {\nswitch($step1826) {\ncase 0: // caller optimization;\n$ans1830 = is$empty5.app(l11828);\nvar anf_if1847 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1847)?1:2;\nbreak;\ncase 1: $step1826 = 13;\n$ans1830 = l21829;\nbreak;\ncase 2: // caller optimization;\n$ans1830 = is$empty5.app(l21829);\nvar anf_if1846 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1846)?3:4;\nbreak;\ncase 3: $step1826 = 13;\n$ans1830 = l11828;\nbreak;\ncase 4: $al1831 = L[553];\nvar anf_arg1834 = G(l11828,\"first\",L[553]);\n$al1831 = L[554];\nvar anf_arg1836 = G(l21829,\"first\",L[554]);\n$step1826 = 5;\n$al1831 = L[565];\n// omitting isFunction check;\n$ans1830 = _lessthan3.app(anf_arg1834,anf_arg1836);\nbreak;\ncase 5: var anf_if1845 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1845)?6:8;\nbreak;\ncase 6: $al1831 = L[555];\nvar anf_arg1839 = G(l11828,\"first\",L[555]);\n$al1831 = L[556];\nvar anf_arg1838 = G(l11828,\"rest\",L[556]);\n$step1826 = 7;\n$al1831 = L[557];\n// omitting isFunction check;\n$ans1830 = merge$no$dups1837.$var.app(anf_arg1838,l21829);\nbreak;\ncase 7: var anf_arg1841 = $ans1830;\n// caller optimization;\n$ans1830 = link8.app(anf_arg1839,anf_arg1841);\n$step1826 = 13;\nbreak;\ncase 8: $al1831 = L[558];\nvar anf_arg1844 = G(l11828,\"first\",L[558]);\n$al1831 = L[559];\nvar anf_arg1198 = G(l21829,\"first\",L[559]);\n$step1826 = 9;\n$al1831 = L[564];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1831,equal$always1);\n}\n$ans1830 = equal$always1.app(anf_arg1844,anf_arg1198);\nbreak;\ncase 9: var anf_if1209 = $ans1830;\n$step1826 = R.checkPyretTrue(anf_if1209)?10:11;\nbreak;\ncase 10: $al1831 = L[560];\nvar anf_arg1202 = G(l11828,\"rest\",L[560]);\n$step1826 = 0;\n++$elidedFrames1833;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1830 = R.mC();\n}\nl11828 = anf_arg1202;\nl21829 = l21829;\ncontinue;\ncase 11: $al1831 = L[561];\nvar anf_arg1207 = G(l21829,\"first\",L[561]);\n$al1831 = L[562];\nvar anf_arg1206 = G(l21829,\"rest\",L[562]);\n$step1826 = 12;\n$al1831 = L[563];\n// omitting isFunction check;\n$ans1830 = merge$no$dups1837.$var.app(l11828,anf_arg1206);\nbreak;\ncase 12: var anf_arg1208 = $ans1830;\n// caller optimization;\n$ans1830 = link8.app(anf_arg1207,anf_arg1208);\n$step1826 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans1830;\ndefault: R.ffi.throwSpinnakerError(L[552],$step1826);\n}\n}\nif($step1826 !== 13) {\n$ans1830.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1831,$temp_lam1827,$step1826,[l11828,l21829],[anf_arg1207,anf_arg1839],$elidedFrames1833);\n}\nreturn $ans1830;\n};\nvar anf_assign1212 = R.mF($temp_lam1827,\"merge-no-dups\");\nmerge$no$dups1837.$var = anf_assign1212;\nR.nothing;\nvar $temp_lam1850 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__566($s11851,$s21852) {\nvar $step1849 = 0;\nvar $elidedFrames1856 = 0;\nvar $ans1853 = D;\nvar $al1854 = L[566];\nif(R.isAR($s11851)) {\n$step1849 = $s11851.step;\n$al1854 = $s11851.from;\n$ans1853 = $s11851.ans;\n$elidedFrames1856 = $s11851.elidedFrames;\ns11851 = $s11851.args[0];\ns21852 = $s11851.args[1];\ns1$elems1857 = $s11851.vars[0];\nann_check_temp1221 = $s11851.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[566],2,$t,false);\n}\nvar s11851 = $s11851;\nvar s21852 = $s21852;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1853 = R.mC();\n}\nwhile(!R.isContinuation($ans1853)) {\nswitch($step1849) {\ncase 0: $step1849 = 1;\n$al1854 = L[571];\n// omitting isFunction check;\n$ans1853 = set$to$sorted$elems1790.$var.app(s11851);\nbreak;\ncase 1: var s1$elems1857 = $ans1853;\n$step1849 = 2;\n$al1854 = L[570];\n// omitting isFunction check;\n$ans1853 = set$to$sorted$elems1790.$var.app(s21852);\nbreak;\ncase 2: var s2$elems1858 = $ans1853;\n$step1849 = 3;\n$al1854 = L[569];\n// omitting isFunction check;\n$ans1853 = merge$no$dups1837.$var.app(s1$elems1857,s2$elems1858);\nbreak;\ncase 3: var new$elems1859 = $ans1853;\n$step1849 = 4;\n$al1854 = L[568];\n// omitting isFunction check;\n$ans1853 = elems$to$balanced$avl1825.$var.app(new$elems1859);\nbreak;\ncase 4: var anf_arg1861 = $ans1853;\n// caller optimization;\n$ans1853 = tree$set1529.$var.app(anf_arg1861);\nvar ann_check_temp1221 = $ans1853;\n$step1849 = 5;\n$al1854 = L[567];\nvar $ann$check1862 = R._cA(L[567],Set1166,ann_check_temp1221);\nif(R.isContinuation($ann$check1862)) {\n$ans1853 = $ann$check1862;\n}\nbreak;\ncase 5: $step1849 = 6;\n$ans1853 = ann_check_temp1221;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1853;\ndefault: R.ffi.throwSpinnakerError(L[566],$step1849);\n}\n}\nif($step1849 !== 6) {\n$ans1853.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1854,$temp_lam1850,$step1849,[s11851,s21852],[s1$elems1857,ann_check_temp1221],$elidedFrames1856);\n}\nreturn $ans1853;\n};\nvar anf_assign1864 = R.mF($temp_lam1850,\"tree-set-union\");\ntree$set$union1629.$var = anf_assign1864;\nR.nothing;\nvar $temp_lam1866 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__572($l11867,$l21868) {\nvar $step1865 = 0;\nvar $elidedFrames1872 = 0;\nvar $ans1869 = D;\nvar $al1870 = L[572];\nif(R.isAR($l11867)) {\n$step1865 = $l11867.step;\n$al1870 = $l11867.from;\n$ans1869 = $l11867.ans;\n$elidedFrames1872 = $l11867.elidedFrames;\nl11867 = $l11867.args[0];\nl21868 = $l11867.args[1];\nanf_arg1251 = $l11867.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[572],2,$t,false);\n}\nvar l11867 = $l11867;\nvar l21868 = $l21868;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nwhile(!R.isContinuation($ans1869)) {\nswitch($step1865) {\ncase 0: // caller optimization;\n$ans1869 = is$empty5.app(l11867);\nvar anf_if1226 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1226)?1:2;\nbreak;\ncase 1: $step1865 = 3;\n$ans1869 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1869 = is$empty5.app(l21868);\nvar anf_arg1224 = $ans1869;\n$ans1869 = R.checkWrapBoolean(anf_arg1224);\n$step1865 = 3;\nbreak;\ncase 3: var anf_if1884 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1884)?4:5;\nbreak;\ncase 4: $step1865 = 13;\n$ans1869 = empty4;\nbreak;\ncase 5: $al1870 = L[573];\nvar anf_arg1873 = G(l11867,\"first\",L[573]);\n$al1870 = L[574];\nvar anf_arg1878 = G(l21868,\"first\",L[574]);\n$step1865 = 6;\n$al1870 = L[584];\n// omitting isFunction check;\n$ans1869 = _lessthan3.app(anf_arg1873,anf_arg1878);\nbreak;\ncase 6: var anf_if1272 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1272)?7:8;\nbreak;\ncase 7: $al1870 = L[575];\nvar anf_arg1270 = G(l11867,\"rest\",L[575]);\n$step1865 = 0;\n++$elidedFrames1872;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nl11867 = anf_arg1270;\nl21868 = l21868;\ncontinue;\ncase 8: $al1870 = L[576];\nvar anf_arg1271 = G(l11867,\"first\",L[576]);\n$al1870 = L[577];\nvar anf_arg1880 = G(l21868,\"first\",L[577]);\n$step1865 = 9;\n$al1870 = L[583];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1870,equal$always1);\n}\n$ans1869 = equal$always1.app(anf_arg1271,anf_arg1880);\nbreak;\ncase 9: var anf_if1262 = $ans1869;\n$step1865 = R.checkPyretTrue(anf_if1262)?10:12;\nbreak;\ncase 10: $al1870 = L[578];\nvar anf_arg1251 = G(l11867,\"first\",L[578]);\n$al1870 = L[579];\nvar anf_arg1256 = G(l11867,\"rest\",L[579]);\n$al1870 = L[580];\nvar anf_arg1881 = G(l21868,\"rest\",L[580]);\n$step1865 = 11;\n$al1870 = L[581];\n// omitting isFunction check;\n$ans1869 = merge$only$dups1879.$var.app(anf_arg1256,anf_arg1881);\nbreak;\ncase 11: var anf_arg1882 = $ans1869;\n// caller optimization;\n$ans1869 = link8.app(anf_arg1251,anf_arg1882);\n$step1865 = 13;\nbreak;\ncase 12: $al1870 = L[582];\nvar anf_arg1883 = G(l21868,\"rest\",L[582]);\n$step1865 = 0;\n++$elidedFrames1872;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1869 = R.mC();\n}\nl11867 = l11867;\nl21868 = anf_arg1883;\ncontinue;\ncase 13: ++R.GAS;\nreturn $ans1869;\ndefault: R.ffi.throwSpinnakerError(L[572],$step1865);\n}\n}\nif($step1865 !== 13) {\n$ans1869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1870,$temp_lam1866,$step1865,[l11867,l21868],[anf_arg1251],$elidedFrames1872);\n}\nreturn $ans1869;\n};\nvar anf_assign1886 = R.mF($temp_lam1866,\"merge-only-dups\");\nmerge$only$dups1879.$var = anf_assign1886;\nR.nothing;\nvar $temp_lam1888 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__585($s11889,$s21890) {\nvar $step1887 = 0;\nvar $elidedFrames1894 = 0;\nvar $ans1891 = D;\nvar $al1892 = L[585];\nif(R.isAR($s11889)) {\n$step1887 = $s11889.step;\n$al1892 = $s11889.from;\n$ans1891 = $s11889.ans;\n$elidedFrames1894 = $s11889.elidedFrames;\ns11889 = $s11889.args[0];\ns21890 = $s11889.args[1];\ns1$elems1895 = $s11889.vars[0];\nann_check_temp1900 = $s11889.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[585],2,$t,false);\n}\nvar s11889 = $s11889;\nvar s21890 = $s21890;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1891 = R.mC();\n}\nwhile(!R.isContinuation($ans1891)) {\nswitch($step1887) {\ncase 0: $step1887 = 1;\n$al1892 = L[590];\n// omitting isFunction check;\n$ans1891 = set$to$sorted$elems1790.$var.app(s11889);\nbreak;\ncase 1: var s1$elems1895 = $ans1891;\n$step1887 = 2;\n$al1892 = L[589];\n// omitting isFunction check;\n$ans1891 = set$to$sorted$elems1790.$var.app(s21890);\nbreak;\ncase 2: var s2$elems1896 = $ans1891;\n$step1887 = 3;\n$al1892 = L[588];\n// omitting isFunction check;\n$ans1891 = merge$only$dups1879.$var.app(s1$elems1895,s2$elems1896);\nbreak;\ncase 3: var new$elems1897 = $ans1891;\n$step1887 = 4;\n$al1892 = L[587];\n// omitting isFunction check;\n$ans1891 = elems$to$balanced$avl1825.$var.app(new$elems1897);\nbreak;\ncase 4: var anf_arg1899 = $ans1891;\n// caller optimization;\n$ans1891 = tree$set1529.$var.app(anf_arg1899);\nvar ann_check_temp1900 = $ans1891;\n$step1887 = 5;\n$al1892 = L[586];\nvar $ann$check1901 = R._cA(L[586],Set1166,ann_check_temp1900);\nif(R.isContinuation($ann$check1901)) {\n$ans1891 = $ann$check1901;\n}\nbreak;\ncase 5: $step1887 = 6;\n$ans1891 = ann_check_temp1900;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1891;\ndefault: R.ffi.throwSpinnakerError(L[585],$step1887);\n}\n}\nif($step1887 !== 6) {\n$ans1891.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1892,$temp_lam1888,$step1887,[s11889,s21890],[s1$elems1895,ann_check_temp1900],$elidedFrames1894);\n}\nreturn $ans1891;\n};\nvar anf_assign1903 = R.mF($temp_lam1888,\"tree-set-intersect\");\ntree$set$intersect1640.$var = anf_assign1903;\nR.nothing;\nvar $temp_lam1905 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__591($l11906,$l21907) {\nvar $step1904 = 0;\nvar $elidedFrames1912 = 0;\nvar $ans1909 = D;\nvar $al1910 = L[591];\nif(R.isAR($l11906)) {\n$step1904 = $l11906.step;\n$al1910 = $l11906.from;\n$ans1909 = $l11906.ans;\n$elidedFrames1912 = $l11906.elidedFrames;\nl11906 = $l11906.args[0];\nl21907 = $l11906.args[1];\nanf_arg1935 = $l11906.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[591],2,$t,false);\n}\nvar l11906 = $l11906;\nvar l21907 = $l21907;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nwhile(!R.isContinuation($ans1909)) {\nswitch($step1904) {\ncase 0: // caller optimization;\n$ans1909 = is$empty5.app(l11906);\nvar anf_if1943 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1943)?1:2;\nbreak;\ncase 1: $step1904 = 3;\n$ans1909 = (true);\nbreak;\ncase 2: // caller optimization;\n$ans1909 = is$empty5.app(l21907);\nvar anf_arg1942 = $ans1909;\n$ans1909 = R.checkWrapBoolean(anf_arg1942);\n$step1904 = 3;\nbreak;\ncase 3: var anf_if1941 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1941)?4:5;\nbreak;\ncase 4: $step1904 = 13;\n$ans1909 = l11906;\nbreak;\ncase 5: $al1910 = L[592];\nvar anf_arg1922 = G(l11906,\"first\",L[592]);\n$al1910 = L[593];\nvar anf_arg1928 = G(l21907,\"first\",L[593]);\n$step1904 = 6;\n$al1910 = L[603];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1910,equal$always1);\n}\n$ans1909 = equal$always1.app(anf_arg1922,anf_arg1928);\nbreak;\ncase 6: var anf_if1321 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1321)?7:8;\nbreak;\ncase 7: $al1910 = L[594];\nvar anf_arg1313 = G(l11906,\"rest\",L[594]);\n$al1910 = L[595];\nvar anf_arg1930 = G(l21907,\"rest\",L[595]);\n$step1904 = 0;\n++$elidedFrames1912;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nl11906 = anf_arg1313;\nl21907 = anf_arg1930;\ncontinue;\ncase 8: $al1910 = L[596];\nvar anf_arg1316 = G(l11906,\"first\",L[596]);\n$al1910 = L[597];\nvar anf_arg1319 = G(l21907,\"first\",L[597]);\n$step1904 = 9;\n$al1910 = L[602];\n// omitting isFunction check;\n$ans1909 = _lessthan3.app(anf_arg1316,anf_arg1319);\nbreak;\ncase 9: var anf_if1940 = $ans1909;\n$step1904 = R.checkPyretTrue(anf_if1940)?10:12;\nbreak;\ncase 10: $al1910 = L[598];\nvar anf_arg1935 = G(l11906,\"first\",L[598]);\n$al1910 = L[599];\nvar anf_arg1932 = G(l11906,\"rest\",L[599]);\n$step1904 = 11;\n$al1910 = L[600];\n// omitting isFunction check;\n$ans1909 = merge$drop$l21929.$var.app(anf_arg1932,l21907);\nbreak;\ncase 11: var anf_arg1334 = $ans1909;\n// caller optimization;\n$ans1909 = link8.app(anf_arg1935,anf_arg1334);\n$step1904 = 13;\nbreak;\ncase 12: $al1910 = L[601];\nvar anf_arg1939 = G(l21907,\"rest\",L[601]);\n$step1904 = 0;\n++$elidedFrames1912;\nif(--R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1909 = R.mC();\n}\nl11906 = l11906;\nl21907 = anf_arg1939;\ncontinue;\ncase 13: ++R.GAS;\nreturn $ans1909;\ndefault: R.ffi.throwSpinnakerError(L[591],$step1904);\n}\n}\nif($step1904 !== 13) {\n$ans1909.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1910,$temp_lam1905,$step1904,[l11906,l21907],[anf_arg1935],$elidedFrames1912);\n}\nreturn $ans1909;\n};\nvar anf_assign1945 = R.mF($temp_lam1905,\"merge-drop-l2\");\nmerge$drop$l21929.$var = anf_assign1945;\nR.nothing;\nvar $temp_lam1947 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__604($s11948,$s21949) {\nvar $step1946 = 0;\nvar $elidedFrames1953 = 0;\nvar $ans1950 = D;\nvar $al1951 = L[604];\nif(R.isAR($s11948)) {\n$step1946 = $s11948.step;\n$al1951 = $s11948.from;\n$ans1950 = $s11948.ans;\n$elidedFrames1953 = $s11948.elidedFrames;\ns11948 = $s11948.args[0];\ns21949 = $s11948.args[1];\ns1$elems1954 = $s11948.vars[0];\nann_check_temp1958 = $s11948.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[604],2,$t,false);\n}\nvar s11948 = $s11948;\nvar s21949 = $s21949;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1950 = R.mC();\n}\nwhile(!R.isContinuation($ans1950)) {\nswitch($step1946) {\ncase 0: $step1946 = 1;\n$al1951 = L[609];\n// omitting isFunction check;\n$ans1950 = set$to$sorted$elems1790.$var.app(s11948);\nbreak;\ncase 1: var s1$elems1954 = $ans1950;\n$step1946 = 2;\n$al1951 = L[608];\n// omitting isFunction check;\n$ans1950 = set$to$sorted$elems1790.$var.app(s21949);\nbreak;\ncase 2: var s2$elems1955 = $ans1950;\n$step1946 = 3;\n$al1951 = L[607];\n// omitting isFunction check;\n$ans1950 = merge$drop$l21929.$var.app(s1$elems1954,s2$elems1955);\nbreak;\ncase 3: var new$elems1956 = $ans1950;\n$step1946 = 4;\n$al1951 = L[606];\n// omitting isFunction check;\n$ans1950 = elems$to$balanced$avl1825.$var.app(new$elems1956);\nbreak;\ncase 4: var anf_arg1957 = $ans1950;\n// caller optimization;\n$ans1950 = tree$set1529.$var.app(anf_arg1957);\nvar ann_check_temp1958 = $ans1950;\n$step1946 = 5;\n$al1951 = L[605];\nvar $ann$check1959 = R._cA(L[605],Set1166,ann_check_temp1958);\nif(R.isContinuation($ann$check1959)) {\n$ans1950 = $ann$check1959;\n}\nbreak;\ncase 5: $step1946 = 6;\n$ans1950 = ann_check_temp1958;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1950;\ndefault: R.ffi.throwSpinnakerError(L[604],$step1946);\n}\n}\nif($step1946 !== 6) {\n$ans1950.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1951,$temp_lam1947,$step1946,[s11948,s21949],[s1$elems1954,ann_check_temp1958],$elidedFrames1953);\n}\nreturn $ans1950;\n};\nvar anf_assign1961 = R.mF($temp_lam1947,\"tree-set-difference\");\ntree$set$difference1662.$var = anf_assign1961;\nR.nothing;\nvar $temp_lam1963 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__610($f1964,$s1965) {\nvar $step1962 = 0;\nvar $elidedFrames1969 = 0;\nvar $ans1966 = D;\nvar $al1967 = L[610];\nif(R.isAR($f1964)) {\n$step1962 = $f1964.step;\n$al1967 = $f1964.from;\n$ans1966 = $f1964.ans;\n$elidedFrames1969 = $f1964.elidedFrames;\nf1964 = $f1964.args[0];\ns1965 = $f1964.args[1];\nann_check_temp1970 = $f1964.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[610],2,$t,false);\n}\nvar f1964 = $f1964;\nvar s1965 = $s1965;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1966 = R.mC();\n}\nwhile(!R.isContinuation($ans1966)) {\nswitch($step1962) {\ncase 0: $step1962 = 1;\n$al1967 = L[613];\nR._cA(L[613],Set1166,s1965);\nbreak;\ncase 1: $step1962 = 2;\n$ans1966 = R.maybeMethodCall1(s1965,\"all\",L[611],f1964);\nbreak;\ncase 2: var ann_check_temp1970 = $ans1966;\n$step1962 = 3;\n$al1967 = L[612];\nvar $ann$check1971 = R._cA(L[612],$type$Boolean6,ann_check_temp1970);\nif(R.isContinuation($ann$check1971)) {\n$ans1966 = $ann$check1971;\n}\nbreak;\ncase 3: $step1962 = 4;\n$ans1966 = ann_check_temp1970;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1966;\ndefault: R.ffi.throwSpinnakerError(L[610],$step1962);\n}\n}\nif($step1962 !== 4) {\n$ans1966.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1967,$temp_lam1963,$step1962,[f1964,s1965],[ann_check_temp1970],$elidedFrames1969);\n}\nreturn $ans1966;\n};\nvar anf_assign1973 = R.mF($temp_lam1963,\"set-all\");\nset$all1974.$var = anf_assign1973;\nR.nothing;\nvar $temp_lam1976 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__614($f1765,$s1977) {\nvar $step1975 = 0;\nvar $elidedFrames1981 = 0;\nvar $ans1978 = D;\nvar $al1979 = L[614];\nif(R.isAR($f1765)) {\n$step1975 = $f1765.step;\n$al1979 = $f1765.from;\n$ans1978 = $f1765.ans;\n$elidedFrames1981 = $f1765.elidedFrames;\nf1765 = $f1765.args[0];\ns1977 = $f1765.args[1];\nann_check_temp1982 = $f1765.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[614],2,$t,false);\n}\nvar f1765 = $f1765;\nvar s1977 = $s1977;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1978 = R.mC();\n}\nwhile(!R.isContinuation($ans1978)) {\nswitch($step1975) {\ncase 0: $step1975 = 1;\n$al1979 = L[617];\nR._cA(L[617],Set1166,s1977);\nbreak;\ncase 1: $step1975 = 2;\n$ans1978 = R.maybeMethodCall1(s1977,\"any\",L[615],f1765);\nbreak;\ncase 2: var ann_check_temp1982 = $ans1978;\n$step1975 = 3;\n$al1979 = L[616];\nvar $ann$check1983 = R._cA(L[616],$type$Boolean6,ann_check_temp1982);\nif(R.isContinuation($ann$check1983)) {\n$ans1978 = $ann$check1983;\n}\nbreak;\ncase 3: $step1975 = 4;\n$ans1978 = ann_check_temp1982;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1978;\ndefault: R.ffi.throwSpinnakerError(L[614],$step1975);\n}\n}\nif($step1975 !== 4) {\n$ans1978.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1979,$temp_lam1976,$step1975,[f1765,s1977],[ann_check_temp1982],$elidedFrames1981);\n}\nreturn $ans1978;\n};\nvar anf_assign1985 = R.mF($temp_lam1976,\"set-any\");\nset$any1986.$var = anf_assign1985;\nR.nothing;\nvar $temp_lam1988 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__618($f1989,$base1990,$s1991) {\nvar $step1987 = 0;\nvar $elidedFrames1995 = 0;\nvar $ans1992 = D;\nvar $al1993 = L[618];\nif(R.isAR($f1989)) {\n$step1987 = $f1989.step;\n$al1993 = $f1989.from;\n$ans1992 = $f1989.ans;\n$elidedFrames1995 = $f1989.elidedFrames;\nf1989 = $f1989.args[0];\nbase1990 = $f1989.args[1];\ns1991 = $f1989.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[618],3,$t,false);\n}\nvar f1989 = $f1989;\nvar base1990 = $base1990;\nvar s1991 = $s1991;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1992 = R.mC();\n}\nwhile(!R.isContinuation($ans1992)) {\nswitch($step1987) {\ncase 0: $step1987 = 1;\n$al1993 = L[620];\nR._cA(L[620],Set1166,s1991);\nbreak;\ncase 1: $step1987 = 2;\n$ans1992 = R.maybeMethodCall2(s1991,\"fold\",L[619],f1989,base1990);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans1992;\ndefault: R.ffi.throwSpinnakerError(L[618],$step1987);\n}\n}\nif($step1987 !== 2) {\n$ans1992.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1993,$temp_lam1988,$step1987,[f1989,base1990,s1991],[],$elidedFrames1995);\n}\nreturn $ans1992;\n};\nvar anf_assign1997 = R.mF($temp_lam1988,\"set-fold\");\nset$fold1998.$var = anf_assign1997;\nR.nothing;\nvar $temp_lam2001 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__621($lst2002,$base$set2003) {\nvar $step2000 = 0;\nvar $elidedFrames2007 = 0;\nvar $ans2004 = D;\nvar $al2005 = L[621];\nif(R.isAR($lst2002)) {\n$step2000 = $lst2002.step;\n$al2005 = $lst2002.from;\n$ans2004 = $lst2002.ans;\n$elidedFrames2007 = $lst2002.elidedFrames;\nlst2002 = $lst2002.args[0];\nbase$set2003 = $lst2002.args[1];\nann_check_temp2017 = $lst2002.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[621],2,$t,false);\n}\nvar lst2002 = $lst2002;\nvar base$set2003 = $base$set2003;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2004 = R.mC();\n}\nwhile(!R.isContinuation($ans2004)) {\nswitch($step2000) {\ncase 0: $step2000 = 1;\n$al2005 = L[625];\nR._cA(L[625],List7,lst2002);\nbreak;\ncase 1: $step2000 = 2;\n$al2005 = L[626];\nR._cA(L[626],Set1166,base$set2003);\nbreak;\ncase 2: var $temp_lam2009 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__622($s2010,$elem2011) {\nvar $step2008 = 0;\nvar $elidedFrames2015 = 0;\nvar $ans2012 = D;\nvar $al2013 = L[622];\nif(R.isAR($s2010)) {\n$step2008 = $s2010.step;\n$al2013 = $s2010.from;\n$ans2012 = $s2010.ans;\n$elidedFrames2015 = $s2010.elidedFrames;\ns2010 = $s2010.args[0];\nelem2011 = $s2010.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[622],2,$t,false);\n}\nvar s2010 = $s2010;\nvar elem2011 = $elem2011;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2012 = R.mC();\n}\nwhile(!R.isContinuation($ans2012)) {\nswitch($step2008) {\ncase 0: $step2008 = 1;\n$ans2012 = R.maybeMethodCall1(s2010,\"add\",L[623],elem2011);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2012;\ndefault: R.ffi.throwSpinnakerError(L[622],$step2008);\n}\n}\nif($step2008 !== 1) {\n$ans2012.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2013,$temp_lam2009,$step2008,[s2010,elem2011],[],$elidedFrames2015);\n}\nreturn $ans2012;\n};\nvar anf_arg1367 = R.mF($temp_lam2009,\"for-body\");\n$step2000 = 3;\n$al2005 = L[622];\n// omitting isFunction check;\n$ans2004 = fold6.app(anf_arg1367,base$set2003,lst2002);\nbreak;\ncase 3: var ann_check_temp2017 = $ans2004;\n$step2000 = 4;\n$al2005 = L[624];\nvar $ann$check2018 = R._cA(L[624],Set1166,ann_check_temp2017);\nif(R.isContinuation($ann$check2018)) {\n$ans2004 = $ann$check2018;\n}\nbreak;\ncase 4: $step2000 = 5;\n$ans2004 = ann_check_temp2017;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2004;\ndefault: R.ffi.throwSpinnakerError(L[621],$step2000);\n}\n}\nif($step2000 !== 5) {\n$ans2004.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2005,$temp_lam2001,$step2000,[lst2002,base$set2003],[ann_check_temp2017],$elidedFrames2007);\n}\nreturn $ans2004;\n};\nvar anf_assign2020 = R.mF($temp_lam2001,\"list-to-set\");\nlist$to$set2021.$var = anf_assign2020;\nR.nothing;\nvar $temp_lam2023 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__627($lst2024) {\nvar $step2022 = 0;\nvar $elidedFrames2028 = 0;\nvar $ans2025 = D;\nvar $al2026 = L[627];\nif(R.isAR($lst2024)) {\n$step2022 = $lst2024.step;\n$al2026 = $lst2024.from;\n$ans2025 = $lst2024.ans;\n$elidedFrames2028 = $lst2024.elidedFrames;\nlst2024 = $lst2024.args[0];\nann_check_temp2055 = $lst2024.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[627],1,$t,false);\n}\nvar lst2024 = $lst2024;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2025 = R.mC();\n}\nwhile(!R.isContinuation($ans2025)) {\nswitch($step2022) {\ncase 0: $step2022 = 1;\n$al2026 = L[630];\nR._cA(L[630],List7,lst2024);\nbreak;\ncase 1: // caller optimization;\n$ans2025 = list$set1225.$var.app(empty4);\nvar anf_arg2054 = $ans2025;\n$step2022 = 2;\n$al2026 = L[629];\n// omitting isFunction check;\n$ans2025 = list$to$set2021.$var.app(lst2024,anf_arg2054);\nbreak;\ncase 2: var ann_check_temp2055 = $ans2025;\n$step2022 = 3;\n$al2026 = L[628];\nvar $ann$check2056 = R._cA(L[628],Set1166,ann_check_temp2055);\nif(R.isContinuation($ann$check2056)) {\n$ans2025 = $ann$check2056;\n}\nbreak;\ncase 3: $step2022 = 4;\n$ans2025 = ann_check_temp2055;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2025;\ndefault: R.ffi.throwSpinnakerError(L[627],$step2022);\n}\n}\nif($step2022 !== 4) {\n$ans2025.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2026,$temp_lam2023,$step2022,[lst2024],[ann_check_temp2055],$elidedFrames2028);\n}\nreturn $ans2025;\n};\nvar anf_assign1383 = R.mF($temp_lam2023,\"list-to-list-set\");\nlist$to$list$set2058.$var = anf_assign1383;\nR.nothing;\nvar $temp_lam2060 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__631($lst2061) {\nvar $step2059 = 0;\nvar $elidedFrames2065 = 0;\nvar $ans2062 = D;\nvar $al2063 = L[631];\nif(R.isAR($lst2061)) {\n$step2059 = $lst2061.step;\n$al2063 = $lst2061.from;\n$ans2062 = $lst2061.ans;\n$elidedFrames2065 = $lst2061.elidedFrames;\nlst2061 = $lst2061.args[0];\nann_check_temp1393 = $lst2061.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[631],1,$t,false);\n}\nvar lst2061 = $lst2061;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2062 = R.mC();\n}\nwhile(!R.isContinuation($ans2062)) {\nswitch($step2059) {\ncase 0: $step2059 = 1;\n$al2063 = L[634];\nR._cA(L[634],List7,lst2061);\nbreak;\ncase 1: // caller optimization;\n$ans2062 = tree$set1529.$var.app(leaf98.$var);\nvar anf_arg2071 = $ans2062;\n$step2059 = 2;\n$al2063 = L[633];\n// omitting isFunction check;\n$ans2062 = list$to$set2021.$var.app(lst2061,anf_arg2071);\nbreak;\ncase 2: var ann_check_temp1393 = $ans2062;\n$step2059 = 3;\n$al2063 = L[632];\nvar $ann$check2073 = R._cA(L[632],Set1166,ann_check_temp1393);\nif(R.isContinuation($ann$check2073)) {\n$ans2062 = $ann$check2073;\n}\nbreak;\ncase 3: $step2059 = 4;\n$ans2062 = ann_check_temp1393;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2062;\ndefault: R.ffi.throwSpinnakerError(L[631],$step2059);\n}\n}\nif($step2059 !== 4) {\n$ans2062.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2063,$temp_lam2060,$step2059,[lst2061],[ann_check_temp1393],$elidedFrames2065);\n}\nreturn $ans2062;\n};\nvar anf_assign2075 = R.mF($temp_lam2060,\"list-to-tree-set\");\nlist$to$tree$set2076.$var = anf_assign2075;\nR.nothing;\nvar $temp_lam2078 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__635($lst2079) {\nvar $step2077 = 0;\nvar $elidedFrames2083 = 0;\nvar $ans2080 = D;\nvar $al2081 = L[635];\nif(R.isAR($lst2079)) {\n$step2077 = $lst2079.step;\n$al2081 = $lst2079.from;\n$ans2080 = $lst2079.ans;\n$elidedFrames2083 = $lst2079.elidedFrames;\nlst2079 = $lst2079.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[635],1,$t,false);\n}\nvar lst2079 = $lst2079;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2080 = R.mC();\n}\nwhile(!R.isContinuation($ans2080)) {\nswitch($step2077) {\ncase 0: $step2077 = 1;\n$al2081 = L[638];\nR._cA(L[638],List7,lst2079);\nbreak;\ncase 1: var $temp_lam2086 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__636($tree2087,$elt2088) {\nvar $step2085 = 0;\nvar $elidedFrames2092 = 0;\nvar $ans2089 = D;\nvar $al2090 = L[636];\nif(R.isAR($tree2087)) {\n$step2085 = $tree2087.step;\n$al2090 = $tree2087.from;\n$ans2089 = $tree2087.ans;\n$elidedFrames2092 = $tree2087.elidedFrames;\ntree2087 = $tree2087.args[0];\nelt2088 = $tree2087.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[636],2,$t,false);\n}\nvar tree2087 = $tree2087;\nvar elt2088 = $elt2088;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2089 = R.mC();\n}\nwhile(!R.isContinuation($ans2089)) {\nswitch($step2085) {\ncase 0: $step2085 = 1;\n$ans2089 = R.maybeMethodCall1(tree2087,\"insert\",L[637],elt2088);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2089;\ndefault: R.ffi.throwSpinnakerError(L[636],$step2085);\n}\n}\nif($step2085 !== 1) {\n$ans2089.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2090,$temp_lam2086,$step2085,[tree2087,elt2088],[],$elidedFrames2092);\n}\nreturn $ans2089;\n};\nvar anf_arg2094 = R.mF($temp_lam2086,\"for-body\");\n$step2077 = 2;\n$al2081 = L[636];\n// omitting isFunction check;\n$ans2080 = fold6.app(anf_arg2094,leaf98.$var,lst2079);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2080;\ndefault: R.ffi.throwSpinnakerError(L[635],$step2077);\n}\n}\nif($step2077 !== 2) {\n$ans2080.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2081,$temp_lam2078,$step2077,[lst2079],[],$elidedFrames2083);\n}\nreturn $ans2080;\n};\nvar anf_assign2096 = R.mF($temp_lam2078,\"list-to-tree\");\nlist$to$tree2097.$var = anf_assign2096;\nR.nothing;\nvar $temp_lam2099 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__639($arr2100) {\nvar $step2098 = 0;\nvar $elidedFrames2104 = 0;\nvar $ans2101 = D;\nvar $al2102 = L[639];\nif(R.isAR($arr2100)) {\n$step2098 = $arr2100.step;\n$al2102 = $arr2100.from;\n$ans2101 = $arr2100.ans;\n$elidedFrames2104 = $arr2100.elidedFrames;\narr2100 = $arr2100.args[0];\nann_check_temp2115 = $arr2100.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[639],1,$t,false);\n}\nvar arr2100 = $arr2100;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2101 = R.mC();\n}\nwhile(!R.isContinuation($ans2101)) {\nswitch($step2098) {\ncase 0: $step2098 = 1;\n$al2102 = L[643];\nR._cA(L[643],$type$RawArray1,arr2100);\nbreak;\ncase 1: var $temp_lam2106 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__640($ls2107,$elt2108,$$underscore2109) {\nvar $step2105 = 0;\nvar $elidedFrames2113 = 0;\nvar $ans2110 = D;\nvar $al2111 = L[640];\nif(R.isAR($ls2107)) {\n$step2105 = $ls2107.step;\n$al2111 = $ls2107.from;\n$ans2110 = $ls2107.ans;\n$elidedFrames2113 = $ls2107.elidedFrames;\nls2107 = $ls2107.args[0];\nelt2108 = $ls2107.args[1];\n$underscore2109 = $ls2107.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[640],3,$t,false);\n}\nvar ls2107 = $ls2107;\nvar elt2108 = $elt2108;\nvar $underscore2109 = $$underscore2109;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2110 = R.mC();\n}\nwhile(!R.isContinuation($ans2110)) {\nswitch($step2105) {\ncase 0: $step2105 = 1;\n$ans2110 = R.maybeMethodCall1(ls2107,\"add\",L[641],elt2108);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2110;\ndefault: R.ffi.throwSpinnakerError(L[640],$step2105);\n}\n}\nif($step2105 !== 1) {\n$ans2110.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2111,$temp_lam2106,$step2105,[ls2107,elt2108,$underscore2109],[],$elidedFrames2113);\n}\nreturn $ans2110;\n};\nvar anf_arg1409 = R.mF($temp_lam2106,\"for-body\");\n// caller optimization;\n$ans2101 = list$set1225.$var.app(empty4);\nvar anf_arg1414 = $ans2101;\n$step2098 = 2;\n$al2102 = L[640];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2102,raw$array$fold3);\n}\n$ans2101 = raw$array$fold3.app(anf_arg1409,anf_arg1414,arr2100,(0));\nbreak;\ncase 2: var ann_check_temp2115 = $ans2101;\n$step2098 = 3;\n$al2102 = L[642];\nvar $ann$check2116 = R._cA(L[642],Set1166,ann_check_temp2115);\nif(R.isContinuation($ann$check2116)) {\n$ans2101 = $ann$check2116;\n}\nbreak;\ncase 3: $step2098 = 4;\n$ans2101 = ann_check_temp2115;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2101;\ndefault: R.ffi.throwSpinnakerError(L[639],$step2098);\n}\n}\nif($step2098 !== 4) {\n$ans2101.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2102,$temp_lam2099,$step2098,[arr2100],[ann_check_temp2115],$elidedFrames2104);\n}\nreturn $ans2101;\n};\nvar anf_assign2118 = R.mF($temp_lam2099,\"arr-to-list-set\");\narr$to$list$set2119.$var = anf_assign2118;\nR.nothing;\nvar $temp_lam2121 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__644($arr2122) {\nvar $step2120 = 0;\nvar $elidedFrames2126 = 0;\nvar $ans2123 = D;\nvar $al2124 = L[644];\nif(R.isAR($arr2122)) {\n$step2120 = $arr2122.step;\n$al2124 = $arr2122.from;\n$ans2123 = $arr2122.ans;\n$elidedFrames2126 = $arr2122.elidedFrames;\narr2122 = $arr2122.args[0];\nann_check_temp2140 = $arr2122.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[644],1,$t,false);\n}\nvar arr2122 = $arr2122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2123 = R.mC();\n}\nwhile(!R.isContinuation($ans2123)) {\nswitch($step2120) {\ncase 0: $step2120 = 1;\n$al2124 = L[648];\nR._cA(L[648],$type$RawArray1,arr2122);\nbreak;\ncase 1: var $temp_lam2129 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__645($t2130,$elt2131,$$underscore2132) {\nvar $step2128 = 0;\nvar $elidedFrames2137 = 0;\nvar $ans2134 = D;\nvar $al2135 = L[645];\nif(R.isAR($t2130)) {\n$step2128 = $t2130.step;\n$al2135 = $t2130.from;\n$ans2134 = $t2130.ans;\n$elidedFrames2137 = $t2130.elidedFrames;\nt2130 = $t2130.args[0];\nelt2131 = $t2130.args[1];\n$underscore2132 = $t2130.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[645],3,$t,false);\n}\nvar t2130 = $t2130;\nvar elt2131 = $elt2131;\nvar $underscore2132 = $$underscore2132;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2134 = R.mC();\n}\nwhile(!R.isContinuation($ans2134)) {\nswitch($step2128) {\ncase 0: $step2128 = 1;\n$ans2134 = R.maybeMethodCall1(t2130,\"insert\",L[646],elt2131);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2134;\ndefault: R.ffi.throwSpinnakerError(L[645],$step2128);\n}\n}\nif($step2128 !== 1) {\n$ans2134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2135,$temp_lam2129,$step2128,[t2130,elt2131,$underscore2132],[],$elidedFrames2137);\n}\nreturn $ans2134;\n};\nvar anf_arg1419 = R.mF($temp_lam2129,\"for-body\");\n$step2120 = 2;\n$al2124 = L[645];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2124,raw$array$fold3);\n}\n$ans2123 = raw$array$fold3.app(anf_arg1419,leaf98.$var,arr2122,(0));\nbreak;\ncase 2: var tree2139 = $ans2123;\n// caller optimization;\n$ans2123 = tree$set1529.$var.app(tree2139);\nvar ann_check_temp2140 = $ans2123;\n$step2120 = 3;\n$al2124 = L[647];\nvar $ann$check2141 = R._cA(L[647],Set1166,ann_check_temp2140);\nif(R.isContinuation($ann$check2141)) {\n$ans2123 = $ann$check2141;\n}\nbreak;\ncase 3: $step2120 = 4;\n$ans2123 = ann_check_temp2140;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2123;\ndefault: R.ffi.throwSpinnakerError(L[644],$step2120);\n}\n}\nif($step2120 !== 4) {\n$ans2123.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2124,$temp_lam2121,$step2120,[arr2122],[ann_check_temp2140],$elidedFrames2126);\n}\nreturn $ans2123;\n};\nvar anf_assign1430 = R.mF($temp_lam2121,\"arr-to-tree-set\");\narr$to$tree$set2143.$var = anf_assign1430;\nR.nothing;\n// caller optimization;\n$ans25 = list$set1225.$var.app(empty4);\nvar empty$list$set2214 = $ans25;\n// caller optimization;\n$ans25 = tree$set1529.$var.app(leaf98.$var);\nvar empty$tree$set2278 = $ans25;\nvar makeSet22159 = {\"$var\":D};\nvar makeSet32172 = {\"$var\":D};\nvar makeSet42190 = {\"$var\":D};\nvar makeSet52207 = {\"$var\":D};\nvar $temp_lam2145 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__649($a2146,$b2147) {\nvar $step2144 = 0;\nvar $elidedFrames2151 = 0;\nvar $ans2148 = D;\nvar $al2149 = L[649];\nif(R.isAR($a2146)) {\n$step2144 = $a2146.step;\n$al2149 = $a2146.from;\n$ans2148 = $a2146.ans;\n$elidedFrames2151 = $a2146.elidedFrames;\na2146 = $a2146.args[0];\nb2147 = $a2146.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[649],2,$t,false);\n}\nvar a2146 = $a2146;\nvar b2147 = $b2147;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2148 = R.mC();\n}\nwhile(!R.isContinuation($ans2148)) {\nswitch($step2144) {\ncase 0: $step2144 = 1;\n$al2149 = L[650];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2149,equal$always1);\n}\n$ans2148 = equal$always1.app(a2146,b2147);\nbreak;\ncase 1: var anf_if2156 = $ans2148;\n$step2144 = R.checkPyretTrue(anf_if2156)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans2148 = link8.app(a2146,empty4);\n$step2144 = 4;\nbreak;\ncase 3: // caller optimization;\n$ans2148 = link8.app(b2147,empty4);\nvar anf_arg2155 = $ans2148;\n// caller optimization;\n$ans2148 = link8.app(a2146,anf_arg2155);\n$step2144 = 4;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2148;\ndefault: R.ffi.throwSpinnakerError(L[649],$step2144);\n}\n}\nif($step2144 !== 4) {\n$ans2148.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2149,$temp_lam2145,$step2144,[a2146,b2147],[],$elidedFrames2151);\n}\nreturn $ans2148;\n};\nvar anf_assign2158 = R.mF($temp_lam2145,\"makeSet2\");\nmakeSet22159.$var = anf_assign2158;\nR.nothing;\nvar $temp_lam2161 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__651($a2162,$b2163,$c2164) {\nvar $step2160 = 0;\nvar $elidedFrames2168 = 0;\nvar $ans2165 = D;\nvar $al2166 = L[651];\nif(R.isAR($a2162)) {\n$step2160 = $a2162.step;\n$al2166 = $a2162.from;\n$ans2165 = $a2162.ans;\n$elidedFrames2168 = $a2162.elidedFrames;\na2162 = $a2162.args[0];\nb2163 = $a2162.args[1];\nc2164 = $a2162.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[651],3,$t,false);\n}\nvar a2162 = $a2162;\nvar b2163 = $b2163;\nvar c2164 = $c2164;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2165 = R.mC();\n}\nwhile(!R.isContinuation($ans2165)) {\nswitch($step2160) {\ncase 0: $step2160 = 1;\n$al2166 = L[656];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2166,equal$always1);\n}\n$ans2165 = equal$always1.app(a2162,b2163);\nbreak;\ncase 1: var anf_if2169 = $ans2165;\n$step2160 = R.checkPyretTrue(anf_if2169)?2:3;\nbreak;\ncase 2: $step2160 = 8;\n$al2166 = L[652];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(b2163,c2164);\nbreak;\ncase 3: $step2160 = 4;\n$al2166 = L[655];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2166,equal$always1);\n}\n$ans2165 = equal$always1.app(a2162,c2164);\nbreak;\ncase 4: var anf_if1465 = $ans2165;\n$step2160 = R.checkPyretTrue(anf_if1465)?5:6;\nbreak;\ncase 5: $step2160 = 8;\n$al2166 = L[653];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(a2162,b2163);\nbreak;\ncase 6: $step2160 = 7;\n$al2166 = L[654];\n// omitting isFunction check;\n$ans2165 = makeSet22159.$var.app(b2163,c2164);\nbreak;\ncase 7: var anf_arg1443 = $ans2165;\n// caller optimization;\n$ans2165 = link8.app(a2162,anf_arg1443);\n$step2160 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2165;\ndefault: R.ffi.throwSpinnakerError(L[651],$step2160);\n}\n}\nif($step2160 !== 8) {\n$ans2165.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2166,$temp_lam2161,$step2160,[a2162,b2163,c2164],[],$elidedFrames2168);\n}\nreturn $ans2165;\n};\nvar anf_assign2171 = R.mF($temp_lam2161,\"makeSet3\");\nmakeSet32172.$var = anf_assign2171;\nR.nothing;\nvar $temp_lam2174 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__657($a2175,$b2176,$c2177,$d2178) {\nvar $step2173 = 0;\nvar $elidedFrames2182 = 0;\nvar $ans2179 = D;\nvar $al2180 = L[657];\nif(R.isAR($a2175)) {\n$step2173 = $a2175.step;\n$al2180 = $a2175.from;\n$ans2179 = $a2175.ans;\n$elidedFrames2182 = $a2175.elidedFrames;\na2175 = $a2175.args[0];\nb2176 = $a2175.args[1];\nc2177 = $a2175.args[2];\nd2178 = $a2175.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[657],4,$t,false);\n}\nvar a2175 = $a2175;\nvar b2176 = $b2176;\nvar c2177 = $c2177;\nvar d2178 = $d2178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2179 = R.mC();\n}\nwhile(!R.isContinuation($ans2179)) {\nswitch($step2173) {\ncase 0: $step2173 = 1;\n$al2180 = L[664];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,b2176);\nbreak;\ncase 1: var anf_if2187 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2187)?2:3;\nbreak;\ncase 2: $step2173 = 11;\n$al2180 = L[658];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(b2176,c2177,d2178);\nbreak;\ncase 3: $step2173 = 4;\n$al2180 = L[663];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,c2177);\nbreak;\ncase 4: var anf_if2186 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2186)?5:6;\nbreak;\ncase 5: $step2173 = 11;\n$al2180 = L[659];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(a2175,b2176,d2178);\nbreak;\ncase 6: $step2173 = 7;\n$al2180 = L[662];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2180,equal$always1);\n}\n$ans2179 = equal$always1.app(a2175,d2178);\nbreak;\ncase 7: var anf_if2183 = $ans2179;\n$step2173 = R.checkPyretTrue(anf_if2183)?8:9;\nbreak;\ncase 8: $step2173 = 11;\n$al2180 = L[660];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(a2175,b2176,c2177);\nbreak;\ncase 9: $step2173 = 10;\n$al2180 = L[661];\n// omitting isFunction check;\n$ans2179 = makeSet32172.$var.app(b2176,c2177,d2178);\nbreak;\ncase 10: var anf_arg1462 = $ans2179;\n// caller optimization;\n$ans2179 = link8.app(a2175,anf_arg1462);\n$step2173 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans2179;\ndefault: R.ffi.throwSpinnakerError(L[657],$step2173);\n}\n}\nif($step2173 !== 11) {\n$ans2179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2180,$temp_lam2174,$step2173,[a2175,b2176,c2177,d2178],[],$elidedFrames2182);\n}\nreturn $ans2179;\n};\nvar anf_assign2189 = R.mF($temp_lam2174,\"makeSet4\");\nmakeSet42190.$var = anf_assign2189;\nR.nothing;\nvar $temp_lam2192 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__665($a2193,$b2194,$c2195,$d2196,$e2197) {\nvar $step2191 = 0;\nvar $elidedFrames2201 = 0;\nvar $ans2198 = D;\nvar $al2199 = L[665];\nif(R.isAR($a2193)) {\n$step2191 = $a2193.step;\n$al2199 = $a2193.from;\n$ans2198 = $a2193.ans;\n$elidedFrames2201 = $a2193.elidedFrames;\na2193 = $a2193.args[0];\nb2194 = $a2193.args[1];\nc2195 = $a2193.args[2];\nd2196 = $a2193.args[3];\ne2197 = $a2193.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[665],5,$t,false);\n}\nvar a2193 = $a2193;\nvar b2194 = $b2194;\nvar c2195 = $c2195;\nvar d2196 = $d2196;\nvar e2197 = $e2197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2198 = R.mC();\n}\nwhile(!R.isContinuation($ans2198)) {\nswitch($step2191) {\ncase 0: $step2191 = 1;\n$al2199 = L[674];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,b2194);\nbreak;\ncase 1: var anf_if2204 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if2204)?2:3;\nbreak;\ncase 2: $step2191 = 14;\n$al2199 = L[666];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(b2194,c2195,d2196,e2197);\nbreak;\ncase 3: $step2191 = 4;\n$al2199 = L[673];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,c2195);\nbreak;\ncase 4: var anf_if2203 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if2203)?5:6;\nbreak;\ncase 5: $step2191 = 14;\n$al2199 = L[667];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,d2196,e2197);\nbreak;\ncase 6: $step2191 = 7;\n$al2199 = L[672];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,d2196);\nbreak;\ncase 7: var anf_if1503 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if1503)?8:9;\nbreak;\ncase 8: $step2191 = 14;\n$al2199 = L[668];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,c2195,e2197);\nbreak;\ncase 9: $step2191 = 10;\n$al2199 = L[671];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2199,equal$always1);\n}\n$ans2198 = equal$always1.app(a2193,e2197);\nbreak;\ncase 10: var anf_if1502 = $ans2198;\n$step2191 = R.checkPyretTrue(anf_if1502)?11:12;\nbreak;\ncase 11: $step2191 = 14;\n$al2199 = L[669];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(a2193,b2194,c2195,d2196);\nbreak;\ncase 12: $step2191 = 13;\n$al2199 = L[670];\n// omitting isFunction check;\n$ans2198 = makeSet42190.$var.app(b2194,c2195,d2196,e2197);\nbreak;\ncase 13: var anf_arg2202 = $ans2198;\n// caller optimization;\n$ans2198 = link8.app(a2193,anf_arg2202);\n$step2191 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans2198;\ndefault: R.ffi.throwSpinnakerError(L[665],$step2191);\n}\n}\nif($step2191 !== 14) {\n$ans2198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2199,$temp_lam2192,$step2191,[a2193,b2194,c2195,d2196,e2197],[],$elidedFrames2201);\n}\nreturn $ans2198;\n};\nvar anf_assign2206 = R.mF($temp_lam2192,\"makeSet5\");\nmakeSet52207.$var = anf_assign2206;\nR.nothing;\nvar $temp_lam2209 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__675($$resumer13) {\nvar $step2208 = 0;\nvar $elidedFrames2213 = 0;\nvar $ans2210 = D;\nvar $al2211 = L[675];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[675],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2210)) {\nswitch($step2208) {\ncase 0: $step2208 = 1;\n$ans2210 = empty$list$set2214;\nbreak;\ncase 1: return $ans2210;\ndefault: R.ffi.throwSpinnakerError(L[675],$step2208);\n}\n}\nreturn $ans2210;\n};\nvar anf_obj2266 = R.mF($temp_lam2209,\"\");\nvar $temp_lam2217 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__676($a2218) {\nvar $step2216 = 0;\nvar $elidedFrames2222 = 0;\nvar $ans2219 = D;\nvar $al2220 = L[676];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[676],1,$t,false);\n}\nvar a2218 = $a2218;\n// callee optimization;\nwhile(!R.isContinuation($ans2219)) {\nswitch($step2216) {\ncase 0: // caller optimization;\n$ans2219 = link8.app(a2218,empty4);\nvar anf_arg1487 = $ans2219;\n// caller optimization;\n$ans2219 = list$set1225.$var.app(anf_arg1487);\n$step2216 = 1;\nbreak;\ncase 1: return $ans2219;\ndefault: R.ffi.throwSpinnakerError(L[676],$step2216);\n}\n}\nreturn $ans2219;\n};\nvar anf_obj2267 = R.mF($temp_lam2217,\"\");\nvar $temp_lam2225 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__677($a2226,$b2227) {\nvar $step2224 = 0;\nvar $elidedFrames2231 = 0;\nvar $ans2228 = D;\nvar $al2229 = L[677];\nif(R.isAR($a2226)) {\n$step2224 = $a2226.step;\n$al2229 = $a2226.from;\n$ans2228 = $a2226.ans;\n$elidedFrames2231 = $a2226.elidedFrames;\na2226 = $a2226.args[0];\nb2227 = $a2226.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[677],2,$t,false);\n}\nvar a2226 = $a2226;\nvar b2227 = $b2227;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2228 = R.mC();\n}\nwhile(!R.isContinuation($ans2228)) {\nswitch($step2224) {\ncase 0: $step2224 = 1;\n$al2229 = L[678];\n// omitting isFunction check;\n$ans2228 = makeSet22159.$var.app(a2226,b2227);\nbreak;\ncase 1: var anf_arg1489 = $ans2228;\n// caller optimization;\n$ans2228 = list$set1225.$var.app(anf_arg1489);\n$step2224 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2228;\ndefault: R.ffi.throwSpinnakerError(L[677],$step2224);\n}\n}\nif($step2224 !== 2) {\n$ans2228.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2229,$temp_lam2225,$step2224,[a2226,b2227],[],$elidedFrames2231);\n}\nreturn $ans2228;\n};\nvar anf_obj2268 = R.mF($temp_lam2225,\"\");\nvar $temp_lam2234 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__679($a2235,$b2236,$c2237) {\nvar $step2233 = 0;\nvar $elidedFrames2241 = 0;\nvar $ans2238 = D;\nvar $al2239 = L[679];\nif(R.isAR($a2235)) {\n$step2233 = $a2235.step;\n$al2239 = $a2235.from;\n$ans2238 = $a2235.ans;\n$elidedFrames2241 = $a2235.elidedFrames;\na2235 = $a2235.args[0];\nb2236 = $a2235.args[1];\nc2237 = $a2235.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[679],3,$t,false);\n}\nvar a2235 = $a2235;\nvar b2236 = $b2236;\nvar c2237 = $c2237;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2238 = R.mC();\n}\nwhile(!R.isContinuation($ans2238)) {\nswitch($step2233) {\ncase 0: $step2233 = 1;\n$al2239 = L[680];\n// omitting isFunction check;\n$ans2238 = makeSet32172.$var.app(a2235,b2236,c2237);\nbreak;\ncase 1: var anf_arg1492 = $ans2238;\n// caller optimization;\n$ans2238 = list$set1225.$var.app(anf_arg1492);\n$step2233 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2238;\ndefault: R.ffi.throwSpinnakerError(L[679],$step2233);\n}\n}\nif($step2233 !== 2) {\n$ans2238.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2239,$temp_lam2234,$step2233,[a2235,b2236,c2237],[],$elidedFrames2241);\n}\nreturn $ans2238;\n};\nvar anf_obj2269 = R.mF($temp_lam2234,\"\");\nvar $temp_lam2244 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__681($a2245,$b2246,$c2247,$d2248) {\nvar $step2243 = 0;\nvar $elidedFrames2252 = 0;\nvar $ans2249 = D;\nvar $al2250 = L[681];\nif(R.isAR($a2245)) {\n$step2243 = $a2245.step;\n$al2250 = $a2245.from;\n$ans2249 = $a2245.ans;\n$elidedFrames2252 = $a2245.elidedFrames;\na2245 = $a2245.args[0];\nb2246 = $a2245.args[1];\nc2247 = $a2245.args[2];\nd2248 = $a2245.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[681],4,$t,false);\n}\nvar a2245 = $a2245;\nvar b2246 = $b2246;\nvar c2247 = $c2247;\nvar d2248 = $d2248;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2249 = R.mC();\n}\nwhile(!R.isContinuation($ans2249)) {\nswitch($step2243) {\ncase 0: $step2243 = 1;\n$al2250 = L[682];\n// omitting isFunction check;\n$ans2249 = makeSet42190.$var.app(a2245,b2246,c2247,d2248);\nbreak;\ncase 1: var anf_arg1494 = $ans2249;\n// caller optimization;\n$ans2249 = list$set1225.$var.app(anf_arg1494);\n$step2243 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2249;\ndefault: R.ffi.throwSpinnakerError(L[681],$step2243);\n}\n}\nif($step2243 !== 2) {\n$ans2249.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2250,$temp_lam2244,$step2243,[a2245,b2246,c2247,d2248],[],$elidedFrames2252);\n}\nreturn $ans2249;\n};\nvar anf_obj2270 = R.mF($temp_lam2244,\"\");\nvar $temp_lam2255 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__683($a2256,$b2257,$c2258,$d2259,$e2260) {\nvar $step2254 = 0;\nvar $elidedFrames2264 = 0;\nvar $ans2261 = D;\nvar $al2262 = L[683];\nif(R.isAR($a2256)) {\n$step2254 = $a2256.step;\n$al2262 = $a2256.from;\n$ans2261 = $a2256.ans;\n$elidedFrames2264 = $a2256.elidedFrames;\na2256 = $a2256.args[0];\nb2257 = $a2256.args[1];\nc2258 = $a2256.args[2];\nd2259 = $a2256.args[3];\ne2260 = $a2256.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[683],5,$t,false);\n}\nvar a2256 = $a2256;\nvar b2257 = $b2257;\nvar c2258 = $c2258;\nvar d2259 = $d2259;\nvar e2260 = $e2260;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2261 = R.mC();\n}\nwhile(!R.isContinuation($ans2261)) {\nswitch($step2254) {\ncase 0: $step2254 = 1;\n$al2262 = L[684];\n// omitting isFunction check;\n$ans2261 = makeSet52207.$var.app(a2256,b2257,c2258,d2259,e2260);\nbreak;\ncase 1: var anf_arg1497 = $ans2261;\n// caller optimization;\n$ans2261 = list$set1225.$var.app(anf_arg1497);\n$step2254 = 2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2261;\ndefault: R.ffi.throwSpinnakerError(L[683],$step2254);\n}\n}\nif($step2254 !== 2) {\n$ans2261.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2262,$temp_lam2255,$step2254,[a2256,b2257,c2258,d2259,e2260],[],$elidedFrames2264);\n}\nreturn $ans2261;\n};\nvar anf_obj2271 = R.mF($temp_lam2255,\"\");\nvar list$set2346 = R.mO({\"make\":arr$to$list$set2119.$var,\n\"make0\":anf_obj2266,\n\"make1\":anf_obj2267,\n\"make2\":anf_obj2268,\n\"make3\":anf_obj2269,\n\"make4\":anf_obj2270,\n\"make5\":anf_obj2271});\nvar $temp_lam2273 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__685($$resumer13) {\nvar $step2272 = 0;\nvar $elidedFrames2277 = 0;\nvar $ans2274 = D;\nvar $al2275 = L[685];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[685],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans2274)) {\nswitch($step2272) {\ncase 0: $step2272 = 1;\n$ans2274 = empty$tree$set2278;\nbreak;\ncase 1: return $ans2274;\ndefault: R.ffi.throwSpinnakerError(L[685],$step2272);\n}\n}\nreturn $ans2274;\n};\nvar anf_obj2340 = R.mF($temp_lam2273,\"\");\nvar $temp_lam2281 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__686($a2282) {\nvar $step2280 = 0;\nvar $elidedFrames2286 = 0;\nvar $ans2283 = D;\nvar $al2284 = L[686];\nif(R.isAR($a2282)) {\n$step2280 = $a2282.step;\n$al2284 = $a2282.from;\n$ans2283 = $a2282.ans;\n$elidedFrames2286 = $a2282.elidedFrames;\na2282 = $a2282.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[686],1,$t,false);\n}\nvar a2282 = $a2282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2283 = R.mC();\n}\nwhile(!R.isContinuation($ans2283)) {\nswitch($step2280) {\ncase 0: $step2280 = 1;\n$ans2283 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[687],a2282);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2283;\ndefault: R.ffi.throwSpinnakerError(L[686],$step2280);\n}\n}\nif($step2280 !== 1) {\n$ans2283.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2284,$temp_lam2281,$step2280,[a2282],[],$elidedFrames2286);\n}\nreturn $ans2283;\n};\nvar anf_obj2341 = R.mF($temp_lam2281,\"\");\nvar $temp_lam2289 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__688($a2290,$b2291) {\nvar $step2288 = 0;\nvar $elidedFrames2295 = 0;\nvar $ans2292 = D;\nvar $al2293 = L[688];\nif(R.isAR($a2290)) {\n$step2288 = $a2290.step;\n$al2293 = $a2290.from;\n$ans2292 = $a2290.ans;\n$elidedFrames2295 = $a2290.elidedFrames;\na2290 = $a2290.args[0];\nb2291 = $a2290.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[688],2,$t,false);\n}\nvar a2290 = $a2290;\nvar b2291 = $b2291;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2292 = R.mC();\n}\nwhile(!R.isContinuation($ans2292)) {\nswitch($step2288) {\ncase 0: $step2288 = 1;\n$ans2292 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[689],a2290);\nbreak;\ncase 1: var anf_method_obj2296 = $ans2292;\n$step2288 = 2;\n$ans2292 = R.maybeMethodCall1(anf_method_obj2296,\"add\",L[690],b2291);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2292;\ndefault: R.ffi.throwSpinnakerError(L[688],$step2288);\n}\n}\nif($step2288 !== 2) {\n$ans2292.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2293,$temp_lam2289,$step2288,[a2290,b2291],[],$elidedFrames2295);\n}\nreturn $ans2292;\n};\nvar anf_obj2342 = R.mF($temp_lam2289,\"\");\nvar $temp_lam2299 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__691($a2300,$b2301,$c2302) {\nvar $step2298 = 0;\nvar $elidedFrames2306 = 0;\nvar $ans2303 = D;\nvar $al2304 = L[691];\nif(R.isAR($a2300)) {\n$step2298 = $a2300.step;\n$al2304 = $a2300.from;\n$ans2303 = $a2300.ans;\n$elidedFrames2306 = $a2300.elidedFrames;\na2300 = $a2300.args[0];\nb2301 = $a2300.args[1];\nc2302 = $a2300.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[691],3,$t,false);\n}\nvar a2300 = $a2300;\nvar b2301 = $b2301;\nvar c2302 = $c2302;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2303 = R.mC();\n}\nwhile(!R.isContinuation($ans2303)) {\nswitch($step2298) {\ncase 0: $step2298 = 1;\n$ans2303 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[692],a2300);\nbreak;\ncase 1: var anf_method_obj2307 = $ans2303;\n$step2298 = 2;\n$ans2303 = R.maybeMethodCall1(anf_method_obj2307,\"add\",L[693],b2301);\nbreak;\ncase 2: var anf_method_obj2308 = $ans2303;\n$step2298 = 3;\n$ans2303 = R.maybeMethodCall1(anf_method_obj2308,\"add\",L[694],c2302);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans2303;\ndefault: R.ffi.throwSpinnakerError(L[691],$step2298);\n}\n}\nif($step2298 !== 3) {\n$ans2303.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2304,$temp_lam2299,$step2298,[a2300,b2301,c2302],[],$elidedFrames2306);\n}\nreturn $ans2303;\n};\nvar anf_obj2343 = R.mF($temp_lam2299,\"\");\nvar $temp_lam2311 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__695($a2312,$b2313,$c2314,$d2315) {\nvar $step2310 = 0;\nvar $elidedFrames2319 = 0;\nvar $ans2316 = D;\nvar $al2317 = L[695];\nif(R.isAR($a2312)) {\n$step2310 = $a2312.step;\n$al2317 = $a2312.from;\n$ans2316 = $a2312.ans;\n$elidedFrames2319 = $a2312.elidedFrames;\na2312 = $a2312.args[0];\nb2313 = $a2312.args[1];\nc2314 = $a2312.args[2];\nd2315 = $a2312.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[695],4,$t,false);\n}\nvar a2312 = $a2312;\nvar b2313 = $b2313;\nvar c2314 = $c2314;\nvar d2315 = $d2315;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2316 = R.mC();\n}\nwhile(!R.isContinuation($ans2316)) {\nswitch($step2310) {\ncase 0: $step2310 = 1;\n$ans2316 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[696],a2312);\nbreak;\ncase 1: var anf_method_obj2320 = $ans2316;\n$step2310 = 2;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2320,\"add\",L[697],b2313);\nbreak;\ncase 2: var anf_method_obj2321 = $ans2316;\n$step2310 = 3;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2321,\"add\",L[698],c2314);\nbreak;\ncase 3: var anf_method_obj2322 = $ans2316;\n$step2310 = 4;\n$ans2316 = R.maybeMethodCall1(anf_method_obj2322,\"add\",L[699],d2315);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2316;\ndefault: R.ffi.throwSpinnakerError(L[695],$step2310);\n}\n}\nif($step2310 !== 4) {\n$ans2316.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2317,$temp_lam2311,$step2310,[a2312,b2313,c2314,d2315],[],$elidedFrames2319);\n}\nreturn $ans2316;\n};\nvar anf_obj2344 = R.mF($temp_lam2311,\"\");\nvar $temp_lam2325 = function _c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275__700($a2326,$b2327,$c2328,$d2329,$e2330) {\nvar $step2324 = 0;\nvar $elidedFrames2334 = 0;\nvar $ans2331 = D;\nvar $al2332 = L[700];\nif(R.isAR($a2326)) {\n$step2324 = $a2326.step;\n$al2332 = $a2326.from;\n$ans2331 = $a2326.ans;\n$elidedFrames2334 = $a2326.elidedFrames;\na2326 = $a2326.args[0];\nb2327 = $a2326.args[1];\nc2328 = $a2326.args[2];\nd2329 = $a2326.args[3];\ne2330 = $a2326.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[700],5,$t,false);\n}\nvar a2326 = $a2326;\nvar b2327 = $b2327;\nvar c2328 = $c2328;\nvar d2329 = $d2329;\nvar e2330 = $e2330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2331 = R.mC();\n}\nwhile(!R.isContinuation($ans2331)) {\nswitch($step2324) {\ncase 0: $step2324 = 1;\n$ans2331 = R.maybeMethodCall1(empty$tree$set2278,\"add\",L[701],a2326);\nbreak;\ncase 1: var anf_method_obj2335 = $ans2331;\n$step2324 = 2;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2335,\"add\",L[702],b2327);\nbreak;\ncase 2: var anf_method_obj2336 = $ans2331;\n$step2324 = 3;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2336,\"add\",L[703],c2328);\nbreak;\ncase 3: var anf_method_obj2337 = $ans2331;\n$step2324 = 4;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2337,\"add\",L[704],d2329);\nbreak;\ncase 4: var anf_method_obj2338 = $ans2331;\n$step2324 = 5;\n$ans2331 = R.maybeMethodCall1(anf_method_obj2338,\"add\",L[705],e2330);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2331;\ndefault: R.ffi.throwSpinnakerError(L[700],$step2324);\n}\n}\nif($step2324 !== 5) {\n$ans2331.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2332,$temp_lam2325,$step2324,[a2326,b2327,c2328,d2329,e2330],[],$elidedFrames2334);\n}\nreturn $ans2331;\n};\nvar anf_obj2345 = R.mF($temp_lam2325,\"\");\nvar tree$set2348 = R.mO({\"make\":arr$to$tree$set2143.$var,\n\"make0\":anf_obj2340,\n\"make1\":anf_obj2341,\n\"make2\":anf_obj2342,\n\"make3\":anf_obj2343,\n\"make4\":anf_obj2344,\n\"make5\":anf_obj2345});\nvar empty$set2354 = empty$list$set2214;\nvar set2353 = list$set2346;\nvar list$to$set2356 = list$to$list$set2058.$var;\nvar fold2351 = set$fold1998.$var;\nvar all2352 = set$all1974.$var;\nvar any2355 = set$any1986.$var;\n$step19 = 1;\n$ans25 = R.maybeMethodCall2(builtins1,\"trace-value\",L[706],L[706],nothing2);\nbreak;\ncase 1: var answer2349 = $ans25;\n$step19 = 2;\n$ans25 = R.maybeMethodCall0(builtins1,\"current-checker\",L[200]);\nbreak;\ncase 2: var anf_method_obj2347 = $ans25;\n$step19 = 3;\n$ans25 = R.maybeMethodCall0(anf_method_obj2347,\"results\",L[200]);\nbreak;\ncase 3: var checks2350 = $ans25;\n$step19 = 4;\n$ans25 = R.mO({\"answer\":answer2349,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"equality\":equality12,\n\"VS\":VS16},\n\"defined-values\":{\"merge-only-dups\":merge$only$dups1879.$var,\n\"mkbranch\":mkbranch97.$var,\n\"makeSet4\":makeSet42190.$var,\n\"fold\":fold2351,\n\"list-to-tree\":list$to$tree2097.$var,\n\"all\":all2352,\n\"set-any\":set$any1986.$var,\n\"is-leaf\":is$leaf805.$var,\n\"makeSet5\":makeSet52207.$var,\n\"set\":set2353,\n\"branch\":branch810.$var,\n\"empty-set\":empty$set2354,\n\"tree-set-intersect\":tree$set$intersect1640.$var,\n\"is-branch\":is$branch808.$var,\n\"rebalance\":rebalance328.$var,\n\"remove-root\":remove$root361.$var,\n\"merge-no-dups\":merge$no$dups1837.$var,\n\"any\":any2355,\n\"set-fold\":set$fold1998.$var,\n\"merge-drop-l2\":merge$drop$l21929.$var,\n\"tree-fold\":tree$fold823.$var,\n\"swap-next-lowest\":swap$next$lowest1088.$var,\n\"is-AVLTree\":is$AVLTree52.$var,\n\"tree-all\":tree$all834.$var,\n\"tree-set\":tree$set2348,\n\"empty-tree-set\":empty$tree$set2278,\n\"list-set\":list$set2346,\n\"empty-list-set\":empty$list$set2214,\n\"tree-set-union\":tree$set$union1629.$var,\n\"set-all\":set$all1974.$var,\n\"list-to-tree-set\":list$to$tree$set2076.$var,\n\"is-tree-set\":is$tree$set1767.$var,\n\"list-to-list-set\":list$to$list$set2058.$var,\n\"is-list-set\":is$list$set1764.$var,\n\"tree-set-difference\":tree$set$difference1662.$var,\n\"arr-to-list-set\":arr$to$list$set2119.$var,\n\"arr-to-tree-set\":arr$to$tree$set2143.$var,\n\"elems-to-balanced-avl\":elems$to$balanced$avl1825.$var,\n\"set-to-sorted-elems\":set$to$sorted$elems1790.$var,\n\"tree-any\":tree$any845.$var,\n\"makeSet2\":makeSet22159.$var,\n\"leaf\":leaf98.$var,\n\"is-Set\":is$Set1180.$var,\n\"list-to-set\":list$to$set2356,\n\"makeSet3\":makeSet32172.$var},\n\"defined-types\":{\"Set\":Set1166,\n\"AVLTree\":AVLTree105},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"set\":list$set2346,\n\"list-set\":list$set2346,\n\"tree-set\":tree$set2348,\n\"empty-set\":empty$list$set2214,\n\"empty-list-set\":empty$list$set2214,\n\"empty-tree-set\":empty$tree$set2278,\n\"list-to-set\":list$to$list$set2058.$var,\n\"list-to-list-set\":list$to$list$set2058.$var,\n\"list-to-tree-set\":list$to$tree$set2076.$var,\n\"fold\":set$fold1998.$var,\n\"all\":set$all1974.$var,\n\"any\":set$any1986.$var,\n\"is-AVLTree\":is$AVLTree52.$var,\n\"leaf\":leaf98.$var,\n\"is-leaf\":is$leaf805.$var,\n\"branch\":branch810.$var,\n\"is-branch\":is$branch808.$var,\n\"is-Set\":is$Set1180.$var,\n\"is-list-set\":is$list$set1764.$var,\n\"is-tree-set\":is$tree$set1767.$var}),\n\"types\":{\"AVLTree\":AVLTree105,\n\"Set\":Set1166},\n\"modules\":{}}),\n\"checks\":checks2350});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans25;\ndefault: R.ffi.throwSpinnakerError(L[707],$step19);\n}\n}\nif($step19 !== 4) {\n$ans25.stack[R.EXN_STACKHEIGHT++] = R.mAR($al26,$toplevel20,$step19,[],[is$leaf805,is$Set1180,empty$list$set2214,tree$all834,is$list$set1764,is$tree$set1767,makeSet42190,is$branch808,branch810,empty$set2354,any2355,tree$fold823,list$to$tree2097,makeSet32172,fold2351,rebalance328,tree$any845,set$to$sorted$elems1790,mkbranch97,list$to$tree$set2076,arr$to$tree$set2143,set$any1986,tree$set$difference1662,all2352,leaf98,set2353,list$to$list$set2058,is$AVLTree52,Set1166,merge$drop$l21929,set$fold1998,merge$no$dups1837,tree$set$union1629,AVLTree105,makeSet22159,makeSet52207,list$set2346,list$to$set2356,answer2349,tree$set2348,arr$to$list$set2119,set$all1974,tree$set$intersect1640,elems$to$balanced$avl1825,remove$root361,swap$next$lowest1088,merge$only$dups1879,empty$tree$set2278],$elidedFrames28);\n}\nreturn $ans25;\n};\nreturn R.safeCall($toplevel20,function module_load(moduleVal) {\nR.modules[\"$builtin://sets17\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"list-to-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -10, -2, -191, -10, -31, -220], -"definition-bind-site":["builtin://sets", -562, -0, -17957, -565, -3, -18085], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"is-Set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -259, -0, -9079, -450, -3, -14427], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"leaf":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -28, -2, -496, -47, -34, -1449], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"is-list-set":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -260, -2, -9091, -356, -7, -11761], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":0, -"name":"is-list-set", -"typ":"tany"}, -"list-to-list-set":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -11, -2, -224, -11, -36, -258], -"definition-bind-site":["builtin://sets", -562, -0, -17957, -565, -3, -18085], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":false, -"name":"list-to-list-set", -"typ":"tany"}, -"is-tree-set":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -358, -2, -11769, -425, -7, -13683], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":0, -"name":"is-tree-set", -"typ":"tany"}, -"list-to-tree-set":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -12, -2, -262, -12, -36, -296], -"definition-bind-site":["builtin://sets", -567, -0, -18087, -570, -3, -18214], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":false, -"name":"list-to-tree-set", -"typ":"tany"}, -"empty-list-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -8, -2, -123, -8, -32, -153], -"definition-bind-site":["builtin://sets", -591, -0, -18621, -591, -32, -18653], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"list-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -621, -0, -19351, -629, -1, -19715], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"empty-tree-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -9, -2, -157, -9, -32, -187], -"definition-bind-site":["builtin://sets", -592, -0, -18654, -592, -31, -18685], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"tree-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -631, -0, -19717, -639, -1, -20118], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"is-AVLTree":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -27, -0, -480, -158, -3, -6355], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"any":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -15, -2, -334, -15, -14, -346], -"definition-bind-site":["builtin://sets", -547, -0, -17687, -549, -3, -17738], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"is-branch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -49, -2, -1453, -145, -7, -6033], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":0, -"name":"is-branch", -"typ":"tany"}, -"empty-set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -7, -2, -94, -7, -27, -119], -"definition-bind-site":["builtin://sets", -591, -0, -18621, -591, -32, -18653], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"branch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -49, -2, -1453, -145, -7, -6033], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":0, -"name":"branch", -"typ":"tany"}, -"set":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -4, -2, -33, -4, -15, -46], -"definition-bind-site":["builtin://sets", -621, -0, -19351, -629, -1, -19715], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"is-leaf":{"bind":"fun", -"origin":{"local-bind-site":["builtin://sets", -17, -0, -353, -17, -15, -368], -"definition-bind-site":["builtin://sets", -28, -2, -496, -47, -34, -1449], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"flatness":0, -"name":"is-leaf", -"typ":"tany"}, -"all":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -14, -2, -318, -14, -14, -330], -"definition-bind-site":["builtin://sets", -543, -0, -17634, -545, -3, -17685], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}, -"fold":{"bind":"let", -"origin":{"local-bind-site":["builtin://sets", -13, -2, -300, -13, -16, -314], -"definition-bind-site":["builtin://sets", -551, -0, -17740, -553, -3, -17794], -"new-definition":true, -"uri-of-definition":"builtin://sets"}, -"typ":"tany"}}, -"datatypes":{"Set":["data",{"local-bind-site":["builtin://sets", -259, -0, -9079, -450, -3, -14427], -"definition-bind-site":["builtin://sets", -259, -0, -9079, -450, -3, -14427], -"new-definition":true, -"uri-of-definition":"builtin://sets"},"Set",[],[["list-set", -[["elems", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}]], -{"intersect":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"difference":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"member":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"to-list":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"union":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"any":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"overlaps":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"is-empty":["arrow", -["tany"], -"tany"], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"all":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"add":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"pick":["arrow", -["tany"], -"tany"], -"size":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"fold":["arrow", -["tany", -["arrow", -["tany", -"tany"], -"tany"], -"tany"], -"tany"], -"_output":["arrow", -["tany"], -"tany"]}],["tree-set", -[["elems", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}]], -{"intersect":["arrow", -["tany", -"tany"], -"tany"], -"difference":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"member":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"to-list":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"union":["arrow", -["tany", -"tany"], -"tany"], -"any":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"overlaps":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"is-empty":["arrow", -["tany"], -"tany"], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"all":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"add":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"pick":["arrow", -["tany"], -"tany"], -"size":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"fold":["arrow", -["tany", -["arrow", -["tany"], -"tany"], -"tany"], -"tany"], -"_output":["arrow", -["tany"], -"tany"]}]],{"_equals":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"difference":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"member":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"symmetric-difference":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"to-list":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"any":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"overlaps":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"is-empty":["arrow", -["tany"], -"tany"], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"all":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"add":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -"pick":["arrow", -["tany"], -"tany"], -"size":["arrow", -[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"Set"}], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"_output":["arrow", -["tany"], -"tany"]}], -"AVLTree":["data",{"local-bind-site":["builtin://sets", -27, -0, -480, -158, -3, -6355], -"definition-bind-site":["builtin://sets", -27, -0, -480, -158, -3, -6355], -"new-definition":true, -"uri-of-definition":"builtin://sets"},"AVLTree",[],[["leaf", -{"contains":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"fold-inorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"insert":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-revpostorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-preorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revinorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"count":["arrow", -["tany"], -"tany"], -"postorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpreorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"any":["arrow", -["tany", -"tany"], -"tany"], -"preorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpostorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"inorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"height":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"revinorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-postorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revpreorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"all":["arrow", -["tany", -"tany"], -"tany"]}],["branch", -[["value", -"tany"],["h", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["left", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}],["right", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}]], -{"contains":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"fold-inorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"insert":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-revpostorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-preorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revinorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"count":["arrow", -["tany"], -"tany"], -"postorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpreorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"any":["arrow", -["tany", -"tany"], -"tany"], -"preorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpostorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"inorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"height":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"revinorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-postorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revpreorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"all":["arrow", -["tany", -"tany"], -"tany"]}]],{"contains":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}], -"_equals":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-inorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"insert":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-revpostorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-preorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revinorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"to-list":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"count":["arrow", -["tany"], -"tany"], -"postorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpreorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"any":["arrow", -["tany", -"tany"], -"tany"], -"preorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"revpostorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"inorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"height":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"revinorder":["arrow", -["tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"List"}], -"remove":["arrow", -["tany", -"tany"], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://sets"}, -"name":"AVLTree"}], -"fold-postorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"fold-revpreorder":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"all":["arrow", -["tany", -"tany"], -"tany"]}]}, -"aliases":{"Set":"tany", -"AVLTree":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"equality"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"pick"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://contracts":({"theMap":"{\"version\":3,\"sources\":[\"builtin://contracts\"],\"names\":[\"builtin://contracts\",\",11,39,185,11,48,194\",\",11,2,148,11,49,195\",\",16,32,267,16,63,298\",\",19,6,435,19,17,446\",\",19,38,467,19,46,475\",\",19,6,435,19,96,525\",\",22,6,573,22,17,584\",\",22,32,599,22,40,607\",\",22,6,573,22,48,615\",\",26,6,760,26,17,771\",\",26,38,792,26,46,800\",\",26,6,760,26,96,850\",\",29,6,898,29,17,909\",\",29,32,924,29,40,932\",\",29,6,898,29,47,939\",\",14,0,201,31,3,951\",\",15,2,224,16,67,302\",\",17,2,305,23,7,623\",\",24,2,626,30,7,947\",\",37,7,1121,37,15,1129\",\",38,9,1140,38,24,1155\",\",38,26,1157,38,40,1171\",\",38,61,1192,38,69,1200\",\",38,42,1173,38,70,1201\",\",39,10,1213,39,29,1232\",\",39,47,1250,39,57,1260\",\",39,39,1242,39,58,1261\",\",39,31,1234,39,59,1262\",\",39,61,1264,39,87,1290\",\",40,8,1301,40,19,1312\",\",40,8,1301,40,53,1346\",\",44,7,1455,44,15,1463\",\",45,9,1474,45,24,1489\",\",45,26,1491,45,55,1520\",\",45,57,1522,45,80,1545\",\",46,9,1556,46,35,1582\",\",47,8,1593,47,19,1604\",\",47,34,1619,47,42,1627\",\",47,8,1593,47,58,1643\",\",51,7,1748,51,15,1756\",\",52,9,1767,52,16,1774\",\",52,18,1776,52,43,1801\",\",52,61,1819,52,71,1829\",\",52,53,1811,52,72,1830\",\",52,45,1803,52,73,1831\",\",53,10,1843,53,36,1869\",\",53,57,1890,53,65,1898\",\",53,38,1871,53,66,1899\",\",34,0,999,55,3,1913\",\",35,2,1020,41,7,1355\",\",42,2,1358,48,7,1652\",\",49,2,1655,54,7,1909\",\",60,19,2094,60,37,2112\",\",61,22,2136,61,36,2150\",\",63,15,2192,63,26,2203\",\",63,15,2192,63,41,2218\",\",63,43,2220,63,50,2227\",\",63,43,2220,63,52,2229\",\",61,8,2122,67,11,2303\",\",70,7,2337,70,15,2345\",\",71,9,2356,71,16,2363\",\",71,8,2355,76,61,2693\",\",72,10,2375,72,23,2388\",\",72,38,2403,72,67,2432\",\",72,70,2435,72,77,2442\",\",72,79,2444,72,87,2452\",\",72,25,2390,72,92,2457\",\",73,10,2469,73,38,2497\",\",74,18,2517,74,32,2531\",\",74,10,2509,74,33,2532\",\",74,35,2534,74,49,2548\",\",75,18,2568,75,39,2589\",\",75,10,2560,75,40,2590\",\",75,42,2592,75,80,2630\",\",76,18,2650,76,38,2670\",\",76,10,2642,76,39,2671\",\",76,41,2673,76,60,2692\",\",77,18,2713,77,26,2721\",\",77,8,2703,77,27,2722\",\",78,9,2733,78,16,2740\",\",78,18,2742,78,54,2778\",\",79,23,2803,79,40,2820\",\",79,43,2823,79,50,2830\",\",79,10,2790,79,64,2844\",\",79,66,2846,79,82,2862\",\",80,9,2874,80,16,2881\",\",80,27,2892,80,35,2900\",\",80,18,2883,80,36,2901\",\",83,7,2972,83,15,2980\",\",84,9,2991,84,16,2998\",\",84,8,2990,89,77,3329\",\",85,10,3010,85,47,3047\",\",85,68,3068,85,76,3076\",\",85,49,3049,85,77,3077\",\",86,10,3089,86,38,3117\",\",87,18,3137,87,32,3151\",\",87,10,3129,87,33,3152\",\",87,35,3154,87,49,3168\",\",88,18,3188,88,39,3209\",\",88,10,3180,88,40,3210\",\",88,42,3212,88,80,3250\",\",89,18,3270,89,38,3290\",\",89,10,3262,89,39,3291\",\",89,41,3293,89,76,3328\",\",90,9,3340,90,16,3347\",\",90,27,3358,90,35,3366\",\",90,18,3349,90,36,3367\",\",94,20,3565,94,44,3589\",\",96,13,3631,96,35,3653\",\",97,26,3681,97,44,3699\",\",99,28,3758,99,39,3769\",\",101,20,3834,101,44,3858\",\",102,24,3889,102,34,3899\",\",102,24,3889,102,39,3904\",\",102,41,3906,102,48,3913\",\",102,55,3920,102,62,3927\",\",104,21,4007,104,29,4015\",\",104,34,4020,104,44,4030\",\",104,21,4007,104,45,4031\",\",106,17,4094,106,25,4102\",\",107,19,4123,107,26,4130\",\",108,20,4152,108,35,4167\",\",109,33,4202,109,51,4220\",\",109,54,4223,109,61,4230\",\",109,20,4189,109,76,4245\",\",110,19,4267,110,37,4285\",\",111,19,4306,111,26,4313\",\",112,20,4335,112,50,4365\",\",114,23,4424,114,34,4435\",\",114,46,4447,114,56,4457\",\",114,46,4447,114,60,4461\",\",114,36,4437,114,61,4462\",\",114,63,4464,114,83,4484\",\",115,23,4510,115,30,4517\",\",115,32,4519,115,41,4528\",\",113,20,4387,115,46,4533\",\",116,20,4555,116,65,4600\",\",117,18,4621,117,29,4632\",\",117,18,4621,117,104,4707\",\",119,17,4755,119,25,4763\",\",120,19,4784,120,26,4791\",\",121,20,4813,121,35,4828\",\",122,33,4863,122,64,4894\",\",122,67,4897,122,74,4904\",\",122,20,4850,122,88,4918\",\",123,19,4940,123,37,4958\",\",124,19,4979,124,26,4986\",\",125,20,5008,125,50,5038\",\",126,30,5070,126,40,5080\",\",126,30,5070,126,44,5084\",\",126,20,5060,126,45,5085\",\",127,20,5107,127,74,5161\",\",128,18,5182,128,29,5193\",\",128,18,5182,128,104,5268\",\",97,12,3667,129,15,5285\",\",131,13,5315,131,21,5323\",\",132,15,5340,132,22,5347\",\",133,16,5365,133,55,5404\",\",134,16,5422,134,31,5437\",\",135,16,5455,135,47,5486\",\",136,26,5514,136,36,5524\",\",136,26,5514,136,40,5528\",\",136,16,5504,136,41,5529\",\",137,16,5547,137,70,5601\",\",138,14,5618,138,25,5629\",\",138,14,5618,138,108,5712\",\",141,11,5766,141,19,5774\",\",142,13,5789,142,20,5796\",\",143,14,5812,143,43,5841\",\",144,30,5873,144,48,5891\",\",144,22,5865,144,49,5892\",\",144,14,5857,144,50,5893\",\",145,14,5909,145,45,5940\",\",146,24,5966,146,34,5976\",\",146,24,5966,146,38,5980\",\",146,14,5956,146,39,5981\",\",147,14,5997,147,68,6051\",\",148,12,6066,148,23,6077\",\",148,12,6066,148,106,6160\",\",94,6,3551,149,9,6171\",\",152,7,6240,152,15,6248\",\",153,9,6259,153,16,6266\",\",154,26,6294,154,44,6312\",\",154,18,6286,154,45,6313\",\",154,10,6278,154,46,6314\",\",155,60,6376,155,70,6386\",\",155,60,6376,155,74,6390\",\",155,51,6367,155,75,6391\",\",155,18,6334,155,75,6391\",\",155,10,6326,155,76,6392\",\",156,10,6404,156,43,6437\",\",157,8,6448,157,19,6459\",\",157,8,6448,157,53,6493\",\",158,9,6504,158,16,6511\",\",158,18,6513,158,54,6549\",\",159,9,6561,159,16,6568\",\",159,50,6602,159,59,6611\",\",159,36,6588,159,60,6612\",\",159,18,6570,159,75,6627\",\",163,7,6801,163,15,6809\",\",164,9,6820,164,16,6827\",\",165,10,6839,165,55,6884\",\",166,10,6896,166,24,6910\",\",167,10,6922,167,29,6941\",\",168,10,6953,168,21,6964\",\",168,10,6953,168,47,6990\",\",173,11,7122,173,19,7130\",\",174,13,7145,174,20,7152\",\",174,22,7154,174,69,7201\",\",174,71,7203,174,99,7231\",\",175,14,7247,175,33,7266\",\",176,12,7281,176,23,7292\",\",176,12,7281,176,49,7318\",\",178,9,7342,178,17,7350\",\",179,11,7363,179,18,7370\",\",179,20,7372,179,73,7425\",\",180,10,7438,180,21,7449\",\",180,10,7438,180,47,7475\",\",171,6,7060,180,49,7477\",\",184,7,7639,184,15,7647\",\",185,11,7660,185,27,7676\",\",186,11,7689,186,18,7696\",\",187,12,7710,187,38,7736\",\",188,28,7766,188,37,7775\",\",188,20,7758,188,38,7776\",\",188,12,7750,188,39,7777\",\",189,12,7791,189,28,7807\",\",190,12,7821,190,23,7832\",\",191,16,7850,191,34,7868\",\",192,11,7881,192,22,7892\",\",193,13,7907,193,20,7914\",\",194,14,7930,194,29,7945\",\",195,35,7982,195,44,7991\",\",195,35,7982,195,60,8007\",\",195,27,7974,195,61,8008\",\",195,64,8011,195,71,8018\",\",195,14,7961,195,81,8028\",\",196,12,8043,196,26,8057\",\",198,11,8084,198,18,8091\",\",199,12,8105,199,39,8132\",\",200,28,8162,200,37,8171\",\",200,20,8154,200,38,8172\",\",200,12,8146,200,39,8173\",\",201,12,8187,201,28,8203\",\",202,12,8217,202,23,8228\",\",204,9,8252,204,16,8259\",\",205,10,8271,205,51,8312\",\",206,17,8332,206,25,8340\",\",206,8,8323,206,26,8341\",\",208,24,8393,208,48,8417\",\",210,17,8466,210,38,8487\",\",211,17,8506,211,28,8517\",\",212,19,8538,212,26,8545\",\",213,20,8567,213,57,8604\",\",214,19,8626,214,36,8643\",\",216,17,8682,216,24,8689\",\",217,18,8709,217,56,8747\",\",218,18,8767,218,32,8781\",\",221,15,8838,221,26,8849\",\",208,10,8379,222,13,8865\",\",223,15,8881,223,26,8892\",\",226,17,8978,226,24,8985\",\",227,8,8995,227,35,9022\",\",227,53,9040,227,62,9049\",\",227,45,9032,227,63,9050\",\",227,37,9024,227,64,9051\",\",228,8,9061,228,49,9102\",\",228,51,9104,228,74,9127\",\",229,8,9137,229,28,9157\",\",233,13,9250,233,21,9258\",\",233,41,9278,233,49,9286\",\",233,32,9269,233,50,9287\",\",234,15,9304,234,22,9311\",\",234,24,9313,234,54,9343\",\",234,56,9345,234,77,9366\",\",236,11,9395,236,19,9403\",\",236,39,9423,236,47,9431\",\",236,30,9414,236,48,9432\",\",231,8,9191,236,50,9434\",\",238,9,9456,238,17,9464\",\",238,37,9484,238,45,9492\",\",238,28,9475,238,46,9493\",\",243,7,9660,243,15,9668\",\",244,11,9681,244,27,9697\",\",245,11,9710,245,18,9717\",\",246,12,9731,246,36,9755\",\",247,28,9785,247,37,9794\",\",247,20,9777,247,38,9795\",\",247,12,9769,247,39,9796\",\",248,12,9810,248,28,9826\",\",249,12,9840,249,23,9851\",\",250,16,9869,250,34,9887\",\",251,11,9900,251,22,9911\",\",252,13,9926,252,20,9933\",\",253,14,9949,253,39,9974\",\",254,30,10006,254,39,10015\",\",254,22,9998,254,40,10016\",\",254,14,9990,254,41,10017\",\",255,14,10033,255,33,10052\",\",256,27,10081,256,48,10102\",\",256,51,10105,256,58,10112\",\",256,14,10068,256,68,10122\",\",257,12,10137,257,26,10151\",\",259,11,10178,259,18,10185\",\",260,14,10201,260,40,10227\",\",261,30,10259,261,39,10268\",\",261,22,10251,261,40,10269\",\",261,14,10243,261,41,10270\",\",262,14,10286,262,30,10302\",\",263,14,10318,263,25,10329\",\",265,9,10353,265,16,10360\",\",266,10,10372,266,51,10413\",\",267,17,10433,267,25,10441\",\",267,8,10424,267,26,10442\",\",269,24,10494,269,48,10518\",\",271,17,10567,271,38,10588\",\",272,17,10607,272,28,10618\",\",273,19,10639,273,26,10646\",\",274,20,10668,274,57,10705\",\",275,19,10727,275,36,10744\",\",277,17,10783,277,24,10790\",\",278,18,10810,278,56,10848\",\",279,18,10868,279,32,10882\",\",282,15,10939,282,26,10950\",\",269,10,10480,283,13,10966\",\",284,15,10982,284,26,10993\",\",287,17,11079,287,24,11086\",\",288,8,11096,288,32,11120\",\",288,50,11138,288,59,11147\",\",288,42,11130,288,60,11148\",\",288,34,11122,288,61,11149\",\",289,8,11159,289,39,11190\",\",289,41,11192,289,64,11215\",\",289,66,11217,289,107,11258\",\",293,13,11351,293,21,11359\",\",293,41,11379,293,49,11387\",\",293,32,11370,293,50,11388\",\",294,15,11405,294,22,11412\",\",294,24,11414,294,53,11443\",\",294,55,11445,294,76,11466\",\",296,11,11495,296,19,11503\",\",296,39,11523,296,47,11531\",\",296,30,11514,296,48,11532\",\",291,8,11292,296,50,11534\",\",298,9,11556,298,17,11564\",\",298,37,11584,298,45,11592\",\",298,28,11575,298,46,11593\",\",303,7,11793,303,15,11801\",\",304,11,11814,304,27,11830\",\",305,11,11843,305,18,11850\",\",306,12,11864,306,46,11898\",\",307,12,11912,307,23,11923\",\",308,16,11941,308,34,11959\",\",309,11,11972,309,22,11983\",\",310,13,11998,310,20,12005\",\",311,14,12021,311,29,12036\",\",312,27,12065,312,55,12093\",\",312,58,12096,312,65,12103\",\",312,14,12052,312,76,12114\",\",313,12,12129,313,26,12143\",\",315,11,12170,315,18,12177\",\",316,12,12191,316,48,12227\",\",317,12,12241,317,23,12252\",\",319,9,12276,319,16,12283\",\",320,10,12295,320,51,12336\",\",321,17,12356,321,25,12364\",\",321,8,12347,321,26,12365\",\",323,24,12417,323,48,12441\",\",325,17,12490,325,38,12511\",\",326,17,12530,326,28,12541\",\",327,19,12562,327,26,12569\",\",328,20,12591,328,57,12628\",\",329,19,12650,329,36,12667\",\",331,17,12706,331,24,12713\",\",332,18,12733,332,56,12771\",\",333,18,12791,333,32,12805\",\",336,15,12862,336,26,12873\",\",323,10,12403,337,13,12889\",\",338,15,12905,338,26,12916\",\",339,9,12933,339,16,12940\",\",340,10,12952,340,30,12972\",\",344,19,13114,344,36,13131\",\",345,19,13152,345,30,13163\",\",346,20,13185,346,45,13210\",\",347,33,13245,347,52,13264\",\",347,55,13267,347,62,13274\",\",347,20,13232,347,71,13283\",\",348,20,13305,348,54,13339\",\",349,28,13369,349,39,13380\",\",349,20,13361,349,40,13381\",\",351,19,13424,351,30,13435\",\",352,20,13457,352,76,13513\",\",353,28,13543,353,39,13554\",\",353,20,13535,353,40,13555\",\",354,20,13577,354,61,13618\",\",355,20,13640,355,30,13650\",\",357,42,13714,357,83,13755\",\",342,12,13019,358,15,13771\",\",359,18,13790,359,37,13809\",\",341,10,12984,359,38,13810\",\",341,10,12984,359,61,13833\",\",362,7,13904,362,14,13911\",\",363,9,13922,363,16,13929\",\",364,10,13941,364,46,13977\",\",365,10,13989,365,21,14000\",\",366,10,14012,366,43,14045\",\",367,17,14065,367,25,14073\",\",367,8,14056,367,26,14074\",\",368,9,14085,368,16,14092\",\",368,18,14094,368,37,14113\",\",369,29,14145,369,48,14164\",\",369,53,14169,369,80,14196\",\",369,29,14145,369,81,14197\",\",369,8,14124,369,82,14198\",\",374,7,14391,374,15,14399\",\",375,11,14412,375,27,14428\",\",376,11,14441,376,18,14448\",\",377,12,14462,377,47,14497\",\",378,12,14511,378,23,14522\",\",379,16,14540,379,34,14558\",\",380,11,14571,380,22,14582\",\",381,13,14597,381,20,14604\",\",382,14,14620,382,53,14659\",\",383,27,14688,383,48,14709\",\",383,51,14712,383,58,14719\",\",383,14,14675,383,68,14729\",\",384,12,14744,384,26,14758\",\",386,11,14785,386,18,14792\",\",387,12,14806,387,47,14841\",\",388,12,14855,388,23,14866\",\",390,9,14890,390,16,14897\",\",390,18,14899,390,59,14940\",\",391,17,14960,391,25,14968\",\",391,8,14951,391,26,14969\",\",393,24,15021,393,48,15045\",\",395,17,15094,395,38,15115\",\",396,17,15134,396,28,15145\",\",397,19,15166,397,26,15173\",\",398,20,15195,398,57,15232\",\",399,19,15254,399,36,15271\",\",401,17,15310,401,24,15317\",\",402,18,15337,402,56,15375\",\",403,18,15395,403,32,15409\",\",406,15,15466,406,26,15477\",\",393,10,15007,407,13,15493\",\",408,15,15509,408,26,15520\",\",409,9,15537,409,16,15544\",\",410,10,15556,410,30,15576\",\",414,19,15718,414,36,15735\",\",415,19,15756,415,30,15767\",\",416,20,15789,416,45,15814\",\",417,33,15849,417,52,15868\",\",417,55,15871,417,62,15878\",\",417,20,15836,417,71,15887\",\",418,20,15909,418,54,15943\",\",419,28,15973,419,39,15984\",\",419,20,15965,419,40,15985\",\",421,19,16028,421,30,16039\",\",422,20,16061,422,76,16117\",\",423,28,16147,423,39,16158\",\",423,20,16139,423,40,16159\",\",424,20,16181,424,61,16222\",\",425,20,16244,425,30,16254\",\",427,42,16318,427,83,16359\",\",428,40,16400,428,81,16441\",\",412,12,15623,429,15,16457\",\",430,18,16476,430,36,16494\",\",411,10,15588,430,37,16495\",\",411,10,15588,430,60,16518\",\",433,7,16589,433,14,16596\",\",434,9,16607,434,16,16614\",\",435,10,16626,435,45,16661\",\",436,10,16673,436,21,16684\",\",437,10,16696,437,43,16729\",\",438,17,16749,438,25,16757\",\",438,8,16740,438,26,16758\",\",439,9,16769,439,16,16776\",\",439,18,16778,439,38,16798\",\",440,29,16830,440,47,16848\",\",440,52,16853,440,79,16880\",\",440,29,16830,440,80,16881\",\",440,8,16809,440,81,16882\",\",445,7,17071,445,15,17079\",\",446,13,17094,446,29,17110\",\",447,13,17125,447,20,17132\",\",448,14,17148,448,49,17183\",\",449,14,17199,449,25,17210\",\",450,18,17230,450,36,17248\",\",451,13,17263,451,24,17274\",\",452,15,17291,452,22,17298\",\",453,16,17316,453,31,17331\",\",454,29,17362,454,56,17389\",\",454,59,17392,454,66,17399\",\",454,16,17349,454,76,17409\",\",455,14,17426,455,28,17440\",\",457,13,17471,457,20,17478\",\",458,14,17494,458,49,17529\",\",459,14,17545,459,25,17556\",\",461,11,17584,461,18,17591\",\",462,12,17605,462,64,17657\",\",463,29,17688,463,43,17702\",\",463,12,17671,463,44,17703\",\",464,12,17717,464,49,17754\",\",465,21,17777,465,37,17793\",\",465,12,17768,465,38,17794\",\",466,12,17808,466,40,17836\",\",467,19,17858,467,27,17866\",\",467,10,17849,467,28,17867\",\",469,26,17923,469,50,17947\",\",471,19,18000,471,40,18021\",\",472,19,18042,472,30,18053\",\",473,21,18076,473,28,18083\",\",474,22,18107,474,59,18144\",\",475,21,18168,475,38,18185\",\",477,19,18228,477,26,18235\",\",478,20,18257,478,58,18295\",\",479,20,18317,479,34,18331\",\",482,17,18394,482,28,18405\",\",469,12,17909,483,15,18423\",\",484,17,18441,484,28,18452\",\",487,7,18528,487,15,18536\",\",488,9,18547,488,16,18554\",\",489,10,18566,489,45,18601\",\",490,10,18613,490,23,18626\",\",491,10,18638,491,63,18691\",\",492,19,18712,492,33,18726\",\",492,10,18703,492,34,18727\",\",493,9,18739,493,16,18746\",\",494,10,18758,494,65,18813\",\",495,19,18834,495,35,18850\",\",495,10,18825,495,36,18851\",\",500,9,19022,500,25,19038\",\",501,9,19049,501,17,19057\",\",502,11,19070,502,18,19077\",\",503,12,19091,503,42,19121\",\",505,15,19159,505,26,19170\",\",506,24,19196,506,33,19205\",\",506,16,19188,506,34,19206\",\",507,16,19224,507,28,19236\",\",508,24,19262,508,34,19272\",\",508,16,19254,508,35,19273\",\",504,12,19135,508,37,19275\",\",509,12,19289,509,27,19304\",\",510,12,19318,510,23,19329\",\",511,11,19343,511,18,19350\",\",511,10,19342,518,44,19658\",\",512,12,19364,512,51,19403\",\",513,28,19433,513,38,19443\",\",513,20,19425,513,39,19444\",\",513,12,19417,513,40,19445\",\",514,12,19459,514,51,19498\",\",515,28,19528,515,37,19537\",\",515,20,19520,515,38,19538\",\",515,12,19512,515,39,19539\",\",516,12,19553,516,29,19570\",\",517,28,19600,517,38,19610\",\",517,20,19592,517,39,19611\",\",517,12,19584,517,40,19612\",\",518,12,19626,518,43,19657\",\",519,14,19674,519,32,19692\",\",520,9,19703,520,17,19711\",\",521,11,19724,521,18,19731\",\",522,12,19745,522,27,19760\",\",523,25,19787,523,50,19812\",\",523,53,19815,523,60,19822\",\",523,12,19774,523,70,19832\",\",524,10,19845,524,24,19859\",\",525,11,19872,525,18,19879\",\",525,10,19871,532,44,20187\",\",526,12,19893,526,51,19932\",\",527,28,19962,527,38,19972\",\",527,20,19954,527,39,19973\",\",527,12,19946,527,40,19974\",\",528,12,19988,528,51,20027\",\",529,28,20057,529,37,20066\",\",529,20,20049,529,38,20067\",\",529,12,20041,529,39,20068\",\",530,12,20082,530,29,20099\",\",531,28,20129,531,38,20139\",\",531,20,20121,531,39,20140\",\",531,12,20113,531,40,20141\",\",532,12,20155,532,43,20186\",\",534,9,20210,534,17,20218\",\",535,11,20231,535,18,20238\",\",536,12,20252,536,42,20282\",\",538,15,20320,538,26,20331\",\",539,24,20357,539,33,20366\",\",539,16,20349,539,34,20367\",\",540,16,20385,540,28,20397\",\",541,24,20423,541,34,20433\",\",541,16,20415,541,35,20434\",\",537,12,20296,541,37,20436\",\",542,12,20450,542,27,20465\",\",543,12,20479,543,23,20490\",\",544,11,20504,544,18,20511\",\",544,10,20503,551,44,20819\",\",545,12,20525,545,51,20564\",\",546,28,20594,546,38,20604\",\",546,20,20586,546,39,20605\",\",546,12,20578,546,40,20606\",\",547,12,20620,547,51,20659\",\",548,28,20689,548,37,20698\",\",548,20,20681,548,38,20699\",\",548,12,20673,548,39,20700\",\",549,12,20714,549,29,20731\",\",550,28,20761,550,38,20771\",\",550,20,20753,550,39,20772\",\",550,12,20745,550,40,20773\",\",551,12,20787,551,43,20818\",\",555,7,20899,555,15,20907\",\",556,9,20918,556,16,20925\",\",556,18,20927,556,43,20952\",\",557,83,21037,557,93,21047\",\",557,57,21011,557,93,21047\",\",557,49,21003,557,94,21048\",\",557,10,20964,557,95,21049\",\",558,10,21061,558,45,21096\",\",558,63,21114,558,72,21123\",\",558,55,21106,558,73,21124\",\",558,47,21098,558,74,21125\",\",57,0,1915,560,3,21139\",\",58,2,1937,91,7,3377\",\",92,2,3380,160,7,6637\",\",161,2,6640,181,7,7485\",\",182,2,7488,240,7,9512\",\",241,2,9515,300,7,11612\",\",301,2,11615,371,7,14214\",\",372,2,14217,442,7,16898\",\",443,2,16901,497,7,18868\",\",498,2,18871,559,7,21135\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAUsCC,uDAVtCD;AAAAA;AAUsCC,6CAVtCD;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\",\"file\":\"builtin://contracts\"}", -"theModule":"function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__830(R,NAMESPACE,M,$ED12,$$underscore_import5,$$included$127,$$included$225) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://contracts\";\nvar D = R.undefined;\nvar L = [[M,10,0,119,12,3,199],\n[M,11,2,148,11,49,195],\n[M,11,39,185,11,48,194],\n[M,16,4,239,16,67,302],\n[M,16,32,267,16,63,298],\n[M,18,4,352,20,7,533],\n[M,19,6,435,19,17,446],\n[M,19,38,467,19,46,475],\n[M,19,6,435,19,96,525],\n[M,21,4,539,23,7,623],\n[M,22,6,573,22,17,584],\n[M,22,32,599,22,40,607],\n[M,22,6,573,22,48,615],\n[M,25,4,677,27,7,858],\n[M,26,6,760,26,17,771],\n[M,26,38,792,26,46,800],\n[M,26,6,760,26,96,850],\n[M,28,4,864,30,7,947],\n[M,29,6,898,29,17,909],\n[M,29,32,924,29,40,932],\n[M,29,6,898,29,47,939],\n[M,15,2,224,16,67,302],\n[M,17,2,305,23,7,623],\n[M,17,24,327,17,37,340],\n[M,24,2,626,30,7,947],\n[M,24,28,652,24,41,665],\n[M,14,0,201,31,3,951],\n[M,36,4,1066,41,7,1355],\n[M,37,6,1120,40,54,1347],\n[M,37,7,1121,37,15,1129],\n[M,38,8,1139,39,88,1291],\n[M,38,9,1140,38,24,1155],\n[M,38,61,1192,38,69,1200],\n[M,39,47,1250,39,57,1260],\n[M,40,8,1301,40,19,1312],\n[M,40,8,1301,40,53,1346],\n[M,39,61,1264,39,87,1290],\n[M,39,31,1234,39,59,1262],\n[M,39,39,1242,39,58,1261],\n[M,39,10,1213,39,29,1232],\n[M,38,26,1157,38,40,1171],\n[M,43,4,1400,48,7,1652],\n[M,44,6,1454,47,59,1644],\n[M,44,7,1455,44,15,1463],\n[M,45,8,1473,46,36,1583],\n[M,45,9,1474,45,24,1489],\n[M,47,8,1593,47,19,1604],\n[M,47,34,1619,47,42,1627],\n[M,47,8,1593,47,58,1643],\n[M,46,9,1556,46,35,1582],\n[M,45,26,1491,45,55,1520],\n[M,50,4,1693,54,7,1909],\n[M,51,6,1747,53,68,1901],\n[M,51,7,1748,51,15,1756],\n[M,52,8,1766,53,67,1900],\n[M,52,9,1767,52,16,1774],\n[M,52,61,1819,52,71,1829],\n[M,53,57,1890,53,65,1898],\n[M,53,10,1843,53,36,1869],\n[M,52,45,1803,52,73,1831],\n[M,52,53,1811,52,72,1830],\n[M,52,18,1776,52,43,1801],\n[M,35,2,1020,41,7,1355],\n[M,42,2,1358,48,7,1652],\n[M,49,2,1655,54,7,1909],\n[M,34,0,999,55,3,1913],\n[M,59,4,1978,81,7,2911],\n[M,70,6,2336,80,38,2903],\n[M,70,7,2337,70,15,2345],\n[M,71,8,2355,76,61,2693],\n[M,71,9,2356,71,16,2363],\n[M,72,69,2434,72,88,2453],\n[M,72,70,2435,72,77,2442],\n[M,72,79,2444,72,87,2452],\n[M,77,18,2713,77,26,2721],\n[M,78,8,2732,79,83,2863],\n[M,78,9,2733,78,16,2740],\n[M,79,42,2822,79,60,2840],\n[M,79,43,2823,79,50,2830],\n[M,80,8,2873,80,37,2902],\n[M,80,9,2874,80,16,2881],\n[M,80,27,2892,80,35,2900],\n[M,80,18,2883,80,36,2901],\n[M,79,66,2846,79,82,2862],\n[M,79,10,2790,79,64,2844],\n[M,79,23,2803,79,40,2820],\n[M,78,18,2742,78,54,2778],\n[M,77,8,2703,77,27,2722],\n[M,76,41,2673,76,60,2692],\n[M,76,10,2642,76,39,2671],\n[M,76,18,2650,76,38,2670],\n[M,75,42,2592,75,80,2630],\n[M,75,10,2560,75,40,2590],\n[M,75,18,2568,75,39,2589],\n[M,74,35,2534,74,49,2548],\n[M,74,10,2509,74,33,2532],\n[M,74,18,2517,74,32,2531],\n[M,73,10,2469,73,38,2497],\n[M,72,25,2390,72,92,2457],\n[M,72,38,2403,72,67,2432],\n[M,72,10,2375,72,23,2388],\n[M,63,15,2192,63,26,2203],\n[M,63,43,2220,63,50,2227],\n[M,63,43,2220,63,52,2229],\n[M,63,15,2192,63,41,2218],\n[M,62,10,2162,65,15,2267],\n[M,61,8,2122,67,11,2303],\n[M,66,10,2278,66,23,2291],\n[M,61,14,2128,61,20,2134],\n[M,61,22,2136,61,36,2150],\n[M,60,19,2094,60,37,2112],\n[M,82,4,2917,91,7,3377],\n[M,83,6,2971,90,38,3369],\n[M,83,7,2972,83,15,2980],\n[M,84,8,2990,89,77,3329],\n[M,84,9,2991,84,16,2998],\n[M,85,68,3068,85,76,3076],\n[M,90,8,3339,90,37,3368],\n[M,90,9,3340,90,16,3347],\n[M,90,27,3358,90,35,3366],\n[M,90,18,3349,90,36,3367],\n[M,89,41,3293,89,76,3328],\n[M,89,10,3262,89,39,3291],\n[M,89,18,3270,89,38,3290],\n[M,88,42,3212,88,80,3250],\n[M,88,10,3180,88,40,3210],\n[M,88,18,3188,88,39,3209],\n[M,87,35,3154,87,49,3168],\n[M,87,10,3129,87,33,3152],\n[M,87,18,3137,87,32,3151],\n[M,86,10,3089,86,38,3117],\n[M,85,10,3010,85,47,3047],\n[M,93,4,3448,150,7,6179],\n[M,99,28,3758,99,39,3769],\n[M,100,17,3787,100,24,3794],\n[M,100,26,3796,100,35,3805],\n[M,106,16,4093,117,105,4708],\n[M,106,17,4094,106,25,4102],\n[M,107,18,4122,109,77,4246],\n[M,107,19,4123,107,26,4130],\n[M,109,53,4222,109,71,4240],\n[M,109,54,4223,109,61,4230],\n[M,111,18,4305,116,66,4601],\n[M,111,19,4306,111,26,4313],\n[M,114,22,4423,114,84,4485],\n[M,114,23,4424,114,34,4435],\n[M,114,46,4447,114,56,4457],\n[M,115,22,4509,115,42,4529],\n[M,115,23,4510,115,30,4517],\n[M,115,32,4519,115,41,4528],\n[M,117,18,4621,117,29,4632],\n[M,117,18,4621,117,104,4707],\n[M,116,20,4555,116,65,4600],\n[M,113,20,4387,115,46,4533],\n[M,114,63,4464,114,83,4484],\n[M,114,36,4437,114,61,4462],\n[M,114,46,4447,114,60,4461],\n[M,112,20,4335,112,50,4365],\n[M,110,19,4267,110,37,4285],\n[M,109,20,4189,109,76,4245],\n[M,109,33,4202,109,51,4220],\n[M,108,20,4152,108,35,4167],\n[M,100,16,3786,100,36,3806],\n[M,102,24,3889,102,34,3899],\n[M,102,41,3906,102,48,3913],\n[M,102,55,3920,102,62,3927],\n[M,102,24,3889,102,39,3904],\n[M,104,21,4007,104,29,4015],\n[M,104,34,4020,104,44,4030],\n[M,104,21,4007,104,45,4031],\n[M,101,20,3834,101,44,3858],\n[M,99,16,3746,99,39,3769],\n[M,98,14,3715,117,105,4708],\n[M,97,12,3667,129,15,5285],\n[M,119,16,4754,128,105,5269],\n[M,119,17,4755,119,25,4763],\n[M,120,18,4783,122,89,4919],\n[M,120,19,4784,120,26,4791],\n[M,122,66,4896,122,84,4914],\n[M,122,67,4897,122,74,4904],\n[M,124,18,4978,127,75,5162],\n[M,124,19,4979,124,26,4986],\n[M,126,30,5070,126,40,5080],\n[M,128,18,5182,128,29,5193],\n[M,128,18,5182,128,104,5268],\n[M,127,20,5107,127,74,5161],\n[M,126,20,5060,126,45,5085],\n[M,126,30,5070,126,44,5084],\n[M,125,20,5008,125,50,5038],\n[M,123,19,4940,123,37,4958],\n[M,122,20,4850,122,88,4918],\n[M,122,33,4863,122,64,4894],\n[M,121,20,4813,121,35,4828],\n[M,118,14,4723,128,105,5269],\n[M,97,18,3673,97,24,3679],\n[M,97,26,3681,97,44,3699],\n[M,131,12,5314,138,109,5713],\n[M,131,13,5315,131,21,5323],\n[M,132,14,5339,137,71,5602],\n[M,132,15,5340,132,22,5347],\n[M,136,26,5514,136,36,5524],\n[M,138,14,5618,138,25,5629],\n[M,138,14,5618,138,108,5712],\n[M,137,16,5547,137,70,5601],\n[M,136,16,5504,136,41,5529],\n[M,136,26,5514,136,40,5528],\n[M,135,16,5455,135,47,5486],\n[M,134,16,5422,134,31,5437],\n[M,133,16,5365,133,55,5404],\n[M,96,13,3631,96,35,3653],\n[M,95,8,3599,139,13,5727],\n[M,94,6,3551,149,9,6171],\n[M,141,10,5765,148,107,6161],\n[M,141,11,5766,141,19,5774],\n[M,142,12,5788,147,69,6052],\n[M,142,13,5789,142,20,5796],\n[M,144,30,5873,144,48,5891],\n[M,146,24,5966,146,34,5976],\n[M,148,12,6066,148,23,6077],\n[M,148,12,6066,148,106,6160],\n[M,147,14,5997,147,68,6051],\n[M,146,14,5956,146,39,5981],\n[M,146,24,5966,146,38,5980],\n[M,145,14,5909,145,45,5940],\n[M,144,14,5857,144,50,5893],\n[M,144,22,5865,144,49,5892],\n[M,143,14,5812,143,43,5841],\n[M,140,8,5736,148,107,6161],\n[M,94,12,3557,94,18,3563],\n[M,94,20,3565,94,44,3589],\n[M,151,4,6185,160,7,6637],\n[M,152,6,6239,159,77,6629],\n[M,152,7,6240,152,15,6248],\n[M,153,8,6258,156,44,6438],\n[M,153,9,6259,153,16,6266],\n[M,154,26,6294,154,44,6312],\n[M,155,60,6376,155,70,6386],\n[M,157,8,6448,157,19,6459],\n[M,157,8,6448,157,53,6493],\n[M,158,8,6503,158,55,6550],\n[M,158,9,6504,158,16,6511],\n[M,159,8,6560,159,76,6628],\n[M,159,9,6561,159,16,6568],\n[M,159,50,6602,159,59,6611],\n[M,159,18,6570,159,75,6627],\n[M,159,36,6588,159,60,6612],\n[M,158,18,6513,158,54,6549],\n[M,156,10,6404,156,43,6437],\n[M,155,10,6326,155,76,6392],\n[M,155,18,6334,155,75,6391],\n[M,155,51,6367,155,75,6391],\n[M,155,60,6376,155,74,6390],\n[M,154,10,6278,154,46,6314],\n[M,154,18,6286,154,45,6313],\n[M,162,4,6691,169,7,7000],\n[M,163,6,6800,168,49,6992],\n[M,163,7,6801,163,15,6809],\n[M,164,8,6819,168,48,6991],\n[M,164,9,6820,164,16,6827],\n[M,168,10,6953,168,21,6964],\n[M,168,10,6953,168,47,6990],\n[M,167,10,6922,167,29,6941],\n[M,166,10,6896,166,24,6910],\n[M,165,10,6839,165,55,6884],\n[M,170,4,7006,181,7,7485],\n[M,172,8,7096,177,11,7331],\n[M,173,10,7121,176,50,7319],\n[M,173,11,7122,173,19,7130],\n[M,174,12,7144,175,34,7267],\n[M,174,13,7145,174,20,7152],\n[M,176,12,7281,176,23,7292],\n[M,176,12,7281,176,49,7318],\n[M,175,14,7247,175,33,7266],\n[M,174,22,7154,174,69,7201],\n[M,178,8,7341,180,48,7476],\n[M,178,9,7342,178,17,7350],\n[M,179,10,7362,179,74,7426],\n[M,179,11,7363,179,18,7370],\n[M,180,10,7438,180,21,7449],\n[M,180,10,7438,180,47,7475],\n[M,171,6,7060,180,49,7477],\n[M,179,20,7372,179,73,7425],\n[M,183,4,7535,224,7,8907],\n[M,184,6,7638,223,33,8899],\n[M,184,7,7639,184,15,7647],\n[M,185,11,7660,185,27,7676],\n[M,204,8,8251,205,52,8313],\n[M,204,9,8252,204,16,8259],\n[M,206,17,8332,206,25,8340],\n[M,211,16,8505,214,37,8644],\n[M,211,17,8506,211,28,8517],\n[M,212,18,8537,213,58,8605],\n[M,212,19,8538,212,26,8545],\n[M,214,19,8626,214,36,8643],\n[M,213,20,8567,213,57,8604],\n[M,216,16,8681,218,33,8782],\n[M,216,17,8682,216,24,8689],\n[M,218,18,8767,218,32,8781],\n[M,217,18,8709,217,56,8747],\n[M,210,17,8466,210,38,8487],\n[M,209,12,8431,219,17,8800],\n[M,208,10,8379,222,13,8865],\n[M,221,14,8837,221,28,8851],\n[M,221,15,8838,221,26,8849],\n[M,220,12,8813,221,28,8851],\n[M,208,16,8385,208,22,8391],\n[M,208,24,8393,208,48,8417],\n[M,223,14,8880,223,28,8894],\n[M,223,15,8881,223,26,8892],\n[M,206,8,8323,206,26,8341],\n[M,205,10,8271,205,51,8312],\n[M,186,10,7688,190,24,7833],\n[M,186,11,7689,186,18,7696],\n[M,188,28,7766,188,37,7775],\n[M,190,12,7821,190,23,7832],\n[M,189,12,7791,189,28,7807],\n[M,188,12,7750,188,39,7777],\n[M,188,20,7758,188,38,7776],\n[M,187,12,7710,187,38,7736],\n[M,192,10,7880,196,27,8058],\n[M,192,11,7881,192,22,7892],\n[M,193,12,7906,195,82,8029],\n[M,193,13,7907,193,20,7914],\n[M,195,35,7982,195,44,7991],\n[M,195,63,8010,195,77,8024],\n[M,195,64,8011,195,71,8018],\n[M,196,12,8043,196,26,8057],\n[M,195,14,7961,195,81,8028],\n[M,195,27,7974,195,61,8008],\n[M,195,35,7982,195,60,8007],\n[M,194,14,7930,194,29,7945],\n[M,198,10,8083,202,24,8229],\n[M,198,11,8084,198,18,8091],\n[M,200,28,8162,200,37,8171],\n[M,202,12,8217,202,23,8228],\n[M,201,12,8187,201,28,8203],\n[M,200,12,8146,200,39,8173],\n[M,200,20,8154,200,38,8172],\n[M,199,12,8105,199,39,8132],\n[M,191,16,7850,191,34,7868],\n[M,225,4,8913,240,7,9512],\n[M,226,16,8977,229,29,9158],\n[M,226,17,8978,226,24,8985],\n[M,227,53,9040,227,62,9049],\n[M,232,10,9229,235,13,9382],\n[M,233,12,9249,234,79,9368],\n[M,233,13,9250,233,21,9258],\n[M,233,41,9278,233,49,9286],\n[M,234,14,9303,234,78,9367],\n[M,234,15,9304,234,22,9311],\n[M,234,24,9313,234,54,9343],\n[M,233,32,9269,233,50,9287],\n[M,236,10,9394,236,49,9433],\n[M,236,11,9395,236,19,9403],\n[M,236,39,9423,236,47,9431],\n[M,231,8,9191,236,50,9434],\n[M,236,30,9414,236,48,9432],\n[M,238,8,9455,238,47,9494],\n[M,238,9,9456,238,17,9464],\n[M,238,37,9484,238,45,9492],\n[M,238,28,9475,238,46,9493],\n[M,229,8,9137,229,28,9157],\n[M,228,8,9061,228,49,9102],\n[M,227,37,9024,227,64,9051],\n[M,227,45,9032,227,63,9050],\n[M,227,8,8995,227,35,9022],\n[M,242,4,9556,285,7,11008],\n[M,243,6,9659,284,33,11000],\n[M,243,7,9660,243,15,9668],\n[M,244,11,9681,244,27,9697],\n[M,265,8,10352,266,52,10414],\n[M,265,9,10353,265,16,10360],\n[M,267,17,10433,267,25,10441],\n[M,272,16,10606,275,37,10745],\n[M,272,17,10607,272,28,10618],\n[M,273,18,10638,274,58,10706],\n[M,273,19,10639,273,26,10646],\n[M,275,19,10727,275,36,10744],\n[M,274,20,10668,274,57,10705],\n[M,277,16,10782,279,33,10883],\n[M,277,17,10783,277,24,10790],\n[M,279,18,10868,279,32,10882],\n[M,278,18,10810,278,56,10848],\n[M,271,17,10567,271,38,10588],\n[M,270,12,10532,280,17,10901],\n[M,269,10,10480,283,13,10966],\n[M,282,14,10938,282,28,10952],\n[M,282,15,10939,282,26,10950],\n[M,281,12,10914,282,28,10952],\n[M,269,16,10486,269,22,10492],\n[M,269,24,10494,269,48,10518],\n[M,284,14,10981,284,28,10995],\n[M,284,15,10982,284,26,10993],\n[M,267,8,10424,267,26,10442],\n[M,266,10,10372,266,51,10413],\n[M,245,10,9709,249,24,9852],\n[M,245,11,9710,245,18,9717],\n[M,247,28,9785,247,37,9794],\n[M,249,12,9840,249,23,9851],\n[M,248,12,9810,248,28,9826],\n[M,247,12,9769,247,39,9796],\n[M,247,20,9777,247,38,9795],\n[M,246,12,9731,246,36,9755],\n[M,251,10,9899,257,27,10152],\n[M,251,11,9900,251,22,9911],\n[M,252,12,9925,256,69,10123],\n[M,252,13,9926,252,20,9933],\n[M,254,30,10006,254,39,10015],\n[M,256,50,10104,256,64,10118],\n[M,256,51,10105,256,58,10112],\n[M,257,12,10137,257,26,10151],\n[M,256,14,10068,256,68,10122],\n[M,256,27,10081,256,48,10102],\n[M,255,14,10033,255,33,10052],\n[M,254,14,9990,254,41,10017],\n[M,254,22,9998,254,40,10016],\n[M,253,14,9949,253,39,9974],\n[M,259,10,10177,263,26,10330],\n[M,259,11,10178,259,18,10185],\n[M,261,30,10259,261,39,10268],\n[M,263,14,10318,263,25,10329],\n[M,262,14,10286,262,30,10302],\n[M,261,14,10243,261,41,10270],\n[M,261,22,10251,261,40,10269],\n[M,260,14,10201,260,40,10227],\n[M,250,16,9869,250,34,9887],\n[M,286,4,11014,300,7,11612],\n[M,287,16,11078,289,108,11259],\n[M,287,17,11079,287,24,11086],\n[M,288,50,11138,288,59,11147],\n[M,292,10,11330,295,13,11482],\n[M,293,12,11350,294,78,11468],\n[M,293,13,11351,293,21,11359],\n[M,293,41,11379,293,49,11387],\n[M,294,14,11404,294,77,11467],\n[M,294,15,11405,294,22,11412],\n[M,294,24,11414,294,53,11443],\n[M,293,32,11370,293,50,11388],\n[M,296,10,11494,296,49,11533],\n[M,296,11,11495,296,19,11503],\n[M,296,39,11523,296,47,11531],\n[M,291,8,11292,296,50,11534],\n[M,296,30,11514,296,48,11532],\n[M,298,8,11555,298,47,11594],\n[M,298,9,11556,298,17,11564],\n[M,298,37,11584,298,45,11592],\n[M,298,28,11575,298,46,11593],\n[M,289,66,11217,289,107,11258],\n[M,289,8,11159,289,39,11190],\n[M,288,34,11122,288,61,11149],\n[M,288,42,11130,288,60,11148],\n[M,288,8,11096,288,32,11120],\n[M,302,4,11689,360,7,13843],\n[M,303,6,11792,359,63,13835],\n[M,303,7,11793,303,15,11801],\n[M,304,11,11814,304,27,11830],\n[M,319,8,12275,320,52,12337],\n[M,319,9,12276,319,16,12283],\n[M,321,17,12356,321,25,12364],\n[M,339,8,12932,359,62,13834],\n[M,339,9,12933,339,16,12940],\n[M,341,16,12990,359,13,13785],\n[M,345,18,13151,349,41,13382],\n[M,345,19,13152,345,30,13163],\n[M,347,54,13266,347,67,13279],\n[M,347,55,13267,347,62,13274],\n[M,349,20,13361,349,40,13381],\n[M,349,28,13369,349,39,13380],\n[M,348,20,13305,348,54,13339],\n[M,347,20,13232,347,71,13283],\n[M,347,33,13245,347,52,13264],\n[M,346,20,13185,346,45,13210],\n[M,351,18,13423,355,31,13651],\n[M,351,19,13424,351,30,13435],\n[M,355,20,13640,355,30,13650],\n[M,354,20,13577,354,61,13618],\n[M,353,20,13535,353,40,13555],\n[M,353,28,13543,353,39,13554],\n[M,352,20,13457,352,76,13513],\n[M,344,19,13114,344,36,13131],\n[M,343,14,13068,356,19,13671],\n[M,342,12,13019,358,15,13771],\n[M,357,42,13714,357,83,13755],\n[M,357,14,13686,357,83,13755],\n[M,342,18,13025,342,30,13037],\n[M,359,18,13790,359,37,13809],\n[M,341,10,12984,359,61,13833],\n[M,341,10,12984,359,38,13810],\n[M,340,10,12952,340,30,12972],\n[M,326,16,12529,329,37,12668],\n[M,326,17,12530,326,28,12541],\n[M,327,18,12561,328,58,12629],\n[M,327,19,12562,327,26,12569],\n[M,329,19,12650,329,36,12667],\n[M,328,20,12591,328,57,12628],\n[M,331,16,12705,333,33,12806],\n[M,331,17,12706,331,24,12713],\n[M,333,18,12791,333,32,12805],\n[M,332,18,12733,332,56,12771],\n[M,325,17,12490,325,38,12511],\n[M,324,12,12455,334,17,12824],\n[M,323,10,12403,337,13,12889],\n[M,336,14,12861,336,28,12875],\n[M,336,15,12862,336,26,12873],\n[M,335,12,12837,336,28,12875],\n[M,323,16,12409,323,22,12415],\n[M,323,24,12417,323,48,12441],\n[M,338,14,12904,338,28,12918],\n[M,338,15,12905,338,26,12916],\n[M,321,8,12347,321,26,12365],\n[M,320,10,12295,320,51,12336],\n[M,305,10,11842,307,24,11924],\n[M,305,11,11843,305,18,11850],\n[M,307,12,11912,307,23,11923],\n[M,306,12,11864,306,46,11898],\n[M,309,10,11971,313,27,12144],\n[M,309,11,11972,309,22,11983],\n[M,310,12,11997,312,77,12115],\n[M,310,13,11998,310,20,12005],\n[M,312,57,12095,312,71,12109],\n[M,312,58,12096,312,65,12103],\n[M,313,12,12129,313,26,12143],\n[M,312,14,12052,312,76,12114],\n[M,312,27,12065,312,55,12093],\n[M,311,14,12021,311,29,12036],\n[M,315,10,12169,317,24,12253],\n[M,315,11,12170,315,18,12177],\n[M,317,12,12241,317,23,12252],\n[M,316,12,12191,316,48,12227],\n[M,308,16,11941,308,34,11959],\n[M,361,4,13849,371,7,14214],\n[M,362,6,13903,370,7,14206],\n[M,362,7,13904,362,14,13911],\n[M,363,8,13921,366,44,14046],\n[M,363,9,13922,363,16,13929],\n[M,367,17,14065,367,25,14073],\n[M,368,8,14084,368,38,14114],\n[M,368,9,14085,368,16,14092],\n[M,369,29,14145,369,48,14164],\n[M,369,53,14169,369,80,14196],\n[M,369,29,14145,369,81,14197],\n[M,369,8,14124,369,82,14198],\n[M,368,18,14094,368,37,14113],\n[M,367,8,14056,367,26,14074],\n[M,366,10,14012,366,43,14045],\n[M,365,10,13989,365,21,14000],\n[M,364,10,13941,364,46,13977],\n[M,373,4,14287,431,7,16528],\n[M,374,6,14390,430,62,16520],\n[M,374,7,14391,374,15,14399],\n[M,375,11,14412,375,27,14428],\n[M,390,8,14889,390,60,14941],\n[M,390,9,14890,390,16,14897],\n[M,391,17,14960,391,25,14968],\n[M,409,8,15536,430,61,16519],\n[M,409,9,15537,409,16,15544],\n[M,411,16,15594,430,13,16471],\n[M,415,18,15755,419,41,15986],\n[M,415,19,15756,415,30,15767],\n[M,417,54,15870,417,67,15883],\n[M,417,55,15871,417,62,15878],\n[M,419,20,15965,419,40,15985],\n[M,419,28,15973,419,39,15984],\n[M,418,20,15909,418,54,15943],\n[M,417,20,15836,417,71,15887],\n[M,417,33,15849,417,52,15868],\n[M,416,20,15789,416,45,15814],\n[M,421,18,16027,425,31,16255],\n[M,421,19,16028,421,30,16039],\n[M,425,20,16244,425,30,16254],\n[M,424,20,16181,424,61,16222],\n[M,423,20,16139,423,40,16159],\n[M,423,28,16147,423,39,16158],\n[M,422,20,16061,422,76,16117],\n[M,414,19,15718,414,36,15735],\n[M,413,14,15672,426,19,16275],\n[M,412,12,15623,429,15,16457],\n[M,427,42,16318,427,83,16359],\n[M,427,14,16290,427,83,16359],\n[M,428,40,16400,428,81,16441],\n[M,428,14,16374,428,81,16441],\n[M,412,18,15629,412,30,15641],\n[M,430,18,16476,430,36,16494],\n[M,411,10,15588,430,60,16518],\n[M,411,10,15588,430,37,16495],\n[M,410,10,15556,410,30,15576],\n[M,396,16,15133,399,37,15272],\n[M,396,17,15134,396,28,15145],\n[M,397,18,15165,398,58,15233],\n[M,397,19,15166,397,26,15173],\n[M,399,19,15254,399,36,15271],\n[M,398,20,15195,398,57,15232],\n[M,401,16,15309,403,33,15410],\n[M,401,17,15310,401,24,15317],\n[M,403,18,15395,403,32,15409],\n[M,402,18,15337,402,56,15375],\n[M,395,17,15094,395,38,15115],\n[M,394,12,15059,404,17,15428],\n[M,393,10,15007,407,13,15493],\n[M,406,14,15465,406,28,15479],\n[M,406,15,15466,406,26,15477],\n[M,405,12,15441,406,28,15479],\n[M,393,16,15013,393,22,15019],\n[M,393,24,15021,393,48,15045],\n[M,408,14,15508,408,28,15522],\n[M,408,15,15509,408,26,15520],\n[M,391,8,14951,391,26,14969],\n[M,390,18,14899,390,59,14940],\n[M,376,10,14440,378,24,14523],\n[M,376,11,14441,376,18,14448],\n[M,378,12,14511,378,23,14522],\n[M,377,12,14462,377,47,14497],\n[M,380,10,14570,384,27,14759],\n[M,380,11,14571,380,22,14582],\n[M,381,12,14596,383,69,14730],\n[M,381,13,14597,381,20,14604],\n[M,383,50,14711,383,64,14725],\n[M,383,51,14712,383,58,14719],\n[M,384,12,14744,384,26,14758],\n[M,383,14,14675,383,68,14729],\n[M,383,27,14688,383,48,14709],\n[M,382,14,14620,382,53,14659],\n[M,386,10,14784,388,24,14867],\n[M,386,11,14785,386,18,14792],\n[M,388,12,14855,388,23,14866],\n[M,387,12,14806,387,47,14841],\n[M,379,16,14540,379,34,14558],\n[M,432,4,16534,442,7,16898],\n[M,433,6,16588,441,7,16890],\n[M,433,7,16589,433,14,16596],\n[M,434,8,16606,437,44,16730],\n[M,434,9,16607,434,16,16614],\n[M,438,17,16749,438,25,16757],\n[M,439,8,16768,439,39,16799],\n[M,439,9,16769,439,16,16776],\n[M,440,29,16830,440,47,16848],\n[M,440,52,16853,440,79,16880],\n[M,440,29,16830,440,80,16881],\n[M,440,8,16809,440,81,16882],\n[M,439,18,16778,439,38,16798],\n[M,438,8,16740,438,26,16758],\n[M,437,10,16696,437,43,16729],\n[M,436,10,16673,436,21,16684],\n[M,435,10,16626,435,45,16661],\n[M,444,4,16967,485,7,18467],\n[M,445,6,17070,484,35,18459],\n[M,445,7,17071,445,15,17079],\n[M,446,13,17094,446,29,17110],\n[M,461,10,17583,466,41,17837],\n[M,461,11,17584,461,18,17591],\n[M,463,29,17688,463,43,17702],\n[M,465,21,17777,465,37,17793],\n[M,467,19,17858,467,27,17866],\n[M,472,18,18041,475,39,18186],\n[M,472,19,18042,472,30,18053],\n[M,473,20,18075,474,60,18145],\n[M,473,21,18076,473,28,18083],\n[M,475,21,18168,475,38,18185],\n[M,474,22,18107,474,59,18144],\n[M,477,18,18227,479,35,18332],\n[M,477,19,18228,477,26,18235],\n[M,479,20,18317,479,34,18331],\n[M,478,20,18257,478,58,18295],\n[M,471,19,18000,471,40,18021],\n[M,470,14,17963,480,19,18352],\n[M,469,12,17909,483,15,18423],\n[M,482,16,18393,482,30,18407],\n[M,482,17,18394,482,28,18405],\n[M,481,14,18367,482,30,18407],\n[M,469,18,17915,469,24,17921],\n[M,469,26,17923,469,50,17947],\n[M,484,16,18440,484,30,18454],\n[M,484,17,18441,484,28,18452],\n[M,467,10,17849,467,28,17867],\n[M,466,12,17808,466,40,17836],\n[M,465,12,17768,465,38,17794],\n[M,464,12,17717,464,49,17754],\n[M,463,12,17671,463,44,17703],\n[M,462,12,17605,462,64,17657],\n[M,447,12,17124,449,26,17211],\n[M,447,13,17125,447,20,17132],\n[M,449,14,17199,449,25,17210],\n[M,448,14,17148,448,49,17183],\n[M,451,12,17262,455,29,17441],\n[M,451,13,17263,451,24,17274],\n[M,452,14,17290,454,77,17410],\n[M,452,15,17291,452,22,17298],\n[M,454,58,17391,454,72,17405],\n[M,454,59,17392,454,66,17399],\n[M,455,14,17426,455,28,17440],\n[M,454,16,17349,454,76,17409],\n[M,454,29,17362,454,56,17389],\n[M,453,16,17316,453,31,17331],\n[M,457,12,17470,459,26,17557],\n[M,457,13,17471,457,20,17478],\n[M,459,14,17545,459,25,17556],\n[M,458,14,17494,458,49,17529],\n[M,450,18,17230,450,36,17248],\n[M,486,4,18473,497,7,18868],\n[M,487,6,18527,496,7,18860],\n[M,487,7,18528,487,15,18536],\n[M,488,8,18546,492,35,18728],\n[M,488,9,18547,488,16,18554],\n[M,492,19,18712,492,33,18726],\n[M,493,8,18738,495,37,18852],\n[M,493,9,18739,493,16,18746],\n[M,495,19,18834,495,35,18850],\n[M,495,10,18825,495,36,18851],\n[M,494,10,18758,494,65,18813],\n[M,492,10,18703,492,34,18727],\n[M,491,10,18638,491,63,18691],\n[M,490,10,18613,490,23,18626],\n[M,489,10,18566,489,45,18601],\n[M,499,4,18916,553,7,20838],\n[M,500,9,19022,500,25,19038],\n[M,501,8,19048,518,45,19659],\n[M,501,9,19049,501,17,19057],\n[M,502,10,19069,510,24,19330],\n[M,502,11,19070,502,18,19077],\n[M,505,14,19158,508,36,19274],\n[M,505,15,19159,505,26,19170],\n[M,506,24,19196,506,33,19205],\n[M,508,24,19262,508,34,19272],\n[M,511,10,19342,518,44,19658],\n[M,511,11,19343,511,18,19350],\n[M,513,28,19433,513,38,19443],\n[M,515,28,19528,515,37,19537],\n[M,517,28,19600,517,38,19610],\n[M,518,12,19626,518,43,19657],\n[M,517,12,19584,517,40,19612],\n[M,517,20,19592,517,39,19611],\n[M,516,12,19553,516,29,19570],\n[M,515,12,19512,515,39,19539],\n[M,515,20,19520,515,38,19538],\n[M,514,12,19459,514,51,19498],\n[M,513,12,19417,513,40,19445],\n[M,513,20,19425,513,39,19444],\n[M,512,12,19364,512,51,19403],\n[M,510,12,19318,510,23,19329],\n[M,509,12,19289,509,27,19304],\n[M,504,12,19135,508,37,19275],\n[M,508,16,19254,508,35,19273],\n[M,507,16,19224,507,28,19236],\n[M,506,16,19188,506,34,19206],\n[M,503,12,19091,503,42,19121],\n[M,520,8,19702,532,45,20188],\n[M,520,9,19703,520,17,19711],\n[M,521,10,19723,523,71,19833],\n[M,521,11,19724,521,18,19731],\n[M,523,52,19814,523,66,19828],\n[M,523,53,19815,523,60,19822],\n[M,525,10,19871,532,44,20187],\n[M,525,11,19872,525,18,19879],\n[M,527,28,19962,527,38,19972],\n[M,529,28,20057,529,37,20066],\n[M,531,28,20129,531,38,20139],\n[M,532,12,20155,532,43,20186],\n[M,531,12,20113,531,40,20141],\n[M,531,20,20121,531,39,20140],\n[M,530,12,20082,530,29,20099],\n[M,529,12,20041,529,39,20068],\n[M,529,20,20049,529,38,20067],\n[M,528,12,19988,528,51,20027],\n[M,527,12,19946,527,40,19974],\n[M,527,20,19954,527,39,19973],\n[M,526,12,19893,526,51,19932],\n[M,524,10,19845,524,24,19859],\n[M,523,12,19774,523,70,19832],\n[M,523,25,19787,523,50,19812],\n[M,522,12,19745,522,27,19760],\n[M,534,8,20209,551,45,20820],\n[M,534,9,20210,534,17,20218],\n[M,535,10,20230,543,24,20491],\n[M,535,11,20231,535,18,20238],\n[M,538,14,20319,541,36,20435],\n[M,538,15,20320,538,26,20331],\n[M,539,24,20357,539,33,20366],\n[M,541,24,20423,541,34,20433],\n[M,544,10,20503,551,44,20819],\n[M,544,11,20504,544,18,20511],\n[M,546,28,20594,546,38,20604],\n[M,548,28,20689,548,37,20698],\n[M,550,28,20761,550,38,20771],\n[M,551,12,20787,551,43,20818],\n[M,550,12,20745,550,40,20773],\n[M,550,20,20753,550,39,20772],\n[M,549,12,20714,549,29,20731],\n[M,548,12,20673,548,39,20700],\n[M,548,20,20681,548,38,20699],\n[M,547,12,20620,547,51,20659],\n[M,546,12,20578,546,40,20606],\n[M,546,20,20586,546,39,20605],\n[M,545,12,20525,545,51,20564],\n[M,543,12,20479,543,23,20490],\n[M,542,12,20450,542,27,20465],\n[M,537,12,20296,541,37,20436],\n[M,541,16,20415,541,35,20434],\n[M,540,16,20385,540,28,20397],\n[M,539,16,20349,539,34,20367],\n[M,536,12,20252,536,42,20282],\n[M,519,14,19674,519,32,19692],\n[M,554,4,20844,559,7,21135],\n[M,555,6,20898,558,76,21127],\n[M,555,7,20899,555,15,20907],\n[M,556,8,20917,558,75,21126],\n[M,556,9,20918,556,16,20925],\n[M,557,83,21037,557,93,21047],\n[M,558,63,21114,558,72,21123],\n[M,558,47,21098,558,74,21125],\n[M,558,55,21106,558,73,21124],\n[M,558,10,21061,558,45,21096],\n[M,557,10,20964,557,95,21049],\n[M,557,49,21003,557,94,21048],\n[M,557,57,21011,557,93,21047],\n[M,556,18,20927,556,43,20952],\n[M,58,2,1937,91,7,3377],\n[M,92,2,3380,160,7,6637],\n[M,161,2,6640,181,7,7485],\n[M,161,28,6666,161,41,6679],\n[M,182,2,7488,240,7,9512],\n[M,182,31,7517,182,37,7523],\n[M,241,2,9515,300,7,11612],\n[M,301,2,11615,371,7,14214],\n[M,301,46,11659,301,64,11677],\n[M,372,2,14217,442,7,16898],\n[M,372,42,14257,372,60,14275],\n[M,443,2,16901,497,7,18868],\n[M,498,2,18871,559,7,21135],\n[M,57,0,1915,560,3,21139],\n[\"dummy location\"],\n[M,3,0,17,560,3,21139]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar ED5 = $ED12;\nvar $underscore_import6 = $$underscore_import5;\nvar $included$17 = $$included$127;\nvar $included$28 = $$included$225;\nvar $cases_dispatch1621 = {\"some\":28,\n\"none\":29};\nvar $cases_dispatch1482 = {\"some\":24,\n\"none\":25};\nvar $cases_dispatch1437 = {\"missing-field\":2,\n\"field-failure\":3,\n\"ann-failure\":4};\nvar $cases_dispatch1272 = {\"some\":24,\n\"none\":25};\nvar $cases_dispatch1230 = {\"missing-field\":2,\n\"field-failure\":3};\nvar $cases_dispatch1049 = {\"some\":33,\n\"none\":34};\nvar $cases_dispatch824 = {\"some\":31,\n\"none\":32};\nvar $cases_dispatch574 = {\"some\":3,\n\"none\":4};\nvar $cases_dispatch482 = {\"some\":5,\n\"none\":6};\nvar $cases_dispatch423 = {\"some\":7,\n\"none\":8};\nvar $cases_dispatch309 = {\"some\":5,\n\"none\":10};\nvar map_n1 = R.getModuleField(\"builtin://lists\",\"values\",\"map_n\");\nvar List2 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar map3 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar Option4 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar $toplevel13 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__830($$resumer13) {\nvar $step12 = 0;\nvar $elidedFrames30 = 0;\nvar $ans27 = D;\nvar $al28 = L[830];\nif(R.isAR($$resumer13)) {\n$step12 = $$resumer13.step;\n$al28 = $$resumer13.from;\n$ans27 = $$resumer13.ans;\n$elidedFrames30 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nok148 = $$resumer13.vars[0];\nFieldFailure1231 = $$resumer13.vars[1];\nanswer1905 = $$resumer13.vars[2];\nis$FieldFailure241 = $$resumer13.vars[3];\nis$FailureReason1866 = $$resumer13.vars[4];\ntup$length$mismatch1898 = $$resumer13.vars[5];\ntuple$anns$fail1895 = $$resumer13.vars[6];\nbad$bracket$target1870 = $$resumer13.vars[7];\nis$fail$arg154 = $$resumer13.vars[8];\nis$field$failure243 = $$resumer13.vars[9];\nis$dot$ann$not$present1900 = $$resumer13.vars[10];\nFailureReason121 = $$resumer13.vars[11];\nann$failure249 = $$resumer13.vars[12];\ndraw$and$highlight44 = $$resumer13.vars[13];\nis$ContractResult138 = $$resumer13.vars[14];\nis$record$fields$fail1889 = $$resumer13.vars[15];\nContractResult1904 = $$resumer13.vars[16];\nis$fail150 = $$resumer13.vars[17];\nis$predicate$failure1883 = $$resumer13.vars[18];\nfail$arg156 = $$resumer13.vars[19];\nis$ann$failure247 = $$resumer13.vars[20];\nis$ok144 = $$resumer13.vars[21];\ndot$ann$not$present1902 = $$resumer13.vars[22];\nfailure$at$arg1874 = $$resumer13.vars[23];\nref$init1877 = $$resumer13.vars[24];\nmissing$field253 = $$resumer13.vars[25];\nis$tuple$anns$fail1893 = $$resumer13.vars[26];\nis$bad$bracket$target1868 = $$resumer13.vars[27];\nis$tup$length$mismatch1897 = $$resumer13.vars[28];\nrecord$fields$fail1891 = $$resumer13.vars[29];\nfail152 = $$resumer13.vars[30];\nis$type$mismatch1879 = $$resumer13.vars[31];\npredicate$failure1885 = $$resumer13.vars[32];\ntype$mismatch1881 = $$resumer13.vars[33];\nfield$failure245 = $$resumer13.vars[34];\nis$failure$at$arg1872 = $$resumer13.vars[35];\nis$missing$field251 = $$resumer13.vars[36];\nis$ref$init1875 = $$resumer13.vars[37];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans27 = R.mC();\n}\nwhile(!R.isContinuation($ans27)) {\nswitch($step12) {\ncase 0: var ContractResult31 = R.nB(\"ContractResult\",L[26]);\nvar ContractResult1904 = R.mBA(ContractResult31,\"ContractResult\");\nvar FieldFailure32 = R.nB(\"FieldFailure\",L[65]);\nvar FieldFailure1231 = R.mBA(FieldFailure32,\"FieldFailure\");\nvar FailureReason33 = R.nB(\"FailureReason\",L[828]);\nvar FailureReason121 = R.mBA(FailureReason33,\"FailureReason\");\nvar draw$and$highlight44 = {\"$var\":D};\nvar ContractResult136 = {\"$var\":D};\nvar is$ContractResult138 = {\"$var\":D};\nvar is$ok144 = {\"$var\":D};\nvar ok148 = {\"$var\":D};\nvar is$fail150 = {\"$var\":D};\nvar fail152 = {\"$var\":D};\nvar is$fail$arg154 = {\"$var\":D};\nvar fail$arg156 = {\"$var\":D};\nvar FieldFailure239 = {\"$var\":D};\nvar is$FieldFailure241 = {\"$var\":D};\nvar is$field$failure243 = {\"$var\":D};\nvar field$failure245 = {\"$var\":D};\nvar is$ann$failure247 = {\"$var\":D};\nvar ann$failure249 = {\"$var\":D};\nvar is$missing$field251 = {\"$var\":D};\nvar missing$field253 = {\"$var\":D};\nvar FailureReason1865 = {\"$var\":D};\nvar is$FailureReason1866 = {\"$var\":D};\nvar is$bad$bracket$target1868 = {\"$var\":D};\nvar bad$bracket$target1870 = {\"$var\":D};\nvar is$failure$at$arg1872 = {\"$var\":D};\nvar failure$at$arg1874 = {\"$var\":D};\nvar is$ref$init1875 = {\"$var\":D};\nvar ref$init1877 = {\"$var\":D};\nvar is$type$mismatch1879 = {\"$var\":D};\nvar type$mismatch1881 = {\"$var\":D};\nvar is$predicate$failure1883 = {\"$var\":D};\nvar predicate$failure1885 = {\"$var\":D};\nvar is$record$fields$fail1889 = {\"$var\":D};\nvar record$fields$fail1891 = {\"$var\":D};\nvar is$tuple$anns$fail1893 = {\"$var\":D};\nvar tuple$anns$fail1895 = {\"$var\":D};\nvar is$tup$length$mismatch1897 = {\"$var\":D};\nvar tup$length$mismatch1898 = {\"$var\":D};\nvar is$dot$ann$not$present1900 = {\"$var\":D};\nvar dot$ann$not$present1902 = {\"$var\":D};\nvar $temp_lam35 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__0($l36) {\nvar $step34 = 0;\nvar $elidedFrames40 = 0;\nvar $ans37 = D;\nvar $al38 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar l36 = $l36;\n// callee optimization;\nwhile(!R.isContinuation($ans37)) {\nswitch($step34) {\ncase 0: $step34 = 1;\n$al38 = L[2];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al38,ED5.dict.values.dict[\"loc\"]);\n}\n$ans37 = ED5.dict.values.dict[\"loc\"].app(l36);\nbreak;\ncase 1: var anf_arg521 = $ans37;\n$step34 = 2;\n$al38 = L[1];\nif(typeof(ED5.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al38,ED5.dict.values.dict[\"loc-display\"]);\n}\n$ans37 = ED5.dict.values.dict[\"loc-display\"].app(l36,(\"error-highlight\"),anf_arg521);\nbreak;\ncase 2: return $ans37;\ndefault: R.ffi.throwSpinnakerError(L[0],$step34);\n}\n}\nreturn $ans37;\n};\nvar anf_assign43 = R.mF($temp_lam35,\"draw-and-highlight\");\ndraw$and$highlight44.$var = anf_assign43;\nR.nothing;\nvar $temp_full46 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__3($self47) {\nvar $step45 = 0;\nvar $elidedFrames52 = 0;\nvar $ans49 = D;\nvar $al50 = L[3];\nif(R.isAR($self47)) {\n$step45 = $self47.step;\n$al50 = $self47.from;\n$ans49 = $self47.ans;\n$elidedFrames52 = $self47.elidedFrames;\nself47 = $self47.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[3],1,$t,true);\n}\nvar self47 = $self47;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans49 = R.mC();\n}\nwhile(!R.isContinuation($ans49)) {\nswitch($step45) {\ncase 0: $step45 = 1;\n$al50 = L[4];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al50,ED5.dict.values.dict[\"text\"]);\n}\n$ans49 = ED5.dict.values.dict[\"text\"].app((\"There were no errors\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans49;\ndefault: R.ffi.throwSpinnakerError(L[3],$step45);\n}\n}\nif($step45 !== 1) {\n$ans49.stack[R.EXN_STACKHEIGHT++] = R.mAR($al50,$temp_full46,$step45,[self47],[],$elidedFrames52);\n}\nreturn $ans49;\n};\nvar anf_singleton_variant_member110 = R.makeMethod0($temp_full46,\"render-reason\");\nvar $temp_full56 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__5($self122,$maybe$stack$loc57,$src$available58,$maybe$ast59) {\nvar $step55 = 0;\nvar $elidedFrames63 = 0;\nvar $ans60 = D;\nvar $al61 = L[5];\nif(R.isAR($self122)) {\n$step55 = $self122.step;\n$al61 = $self122.from;\n$ans60 = $self122.ans;\n$elidedFrames63 = $self122.elidedFrames;\nself122 = $self122.args[0];\nmaybe$stack$loc57 = $self122.args[1];\nsrc$available58 = $self122.args[2];\nmaybe$ast59 = $self122.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],4,$t,true);\n}\nvar self122 = $self122;\nvar maybe$stack$loc57 = $maybe$stack$loc57;\nvar src$available58 = $src$available58;\nvar maybe$ast59 = $maybe$ast59;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans60 = R.mC();\n}\nwhile(!R.isContinuation($ans60)) {\nswitch($step55) {\ncase 0: $al61 = L[6];\nvar anf_method_obj64 = G(self122,\"reason\",L[6]);\n$al61 = L[7];\nvar anf_arg536 = G(self122,\"loc\",L[7]);\n$step55 = 1;\n$ans60 = R.maybeMethodCall5(anf_method_obj64,\"render-fancy-reason\",L[8],anf_arg536,(true),maybe$stack$loc57,src$available58,maybe$ast59);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans60;\ndefault: R.ffi.throwSpinnakerError(L[5],$step55);\n}\n}\nif($step55 !== 1) {\n$ans60.stack[R.EXN_STACKHEIGHT++] = R.mAR($al61,$temp_full56,$step55,[self122,maybe$stack$loc57,src$available58,maybe$ast59],[],$elidedFrames63);\n}\nreturn $ans60;\n};\nvar anf_variant_member116 = R.makeMethod3($temp_full56,\"render-fancy-reason\");\nvar $temp_full69 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__9($self169) {\nvar $step68 = 0;\nvar $elidedFrames74 = 0;\nvar $ans71 = D;\nvar $al72 = L[9];\nif(R.isAR($self169)) {\n$step68 = $self169.step;\n$al72 = $self169.from;\n$ans71 = $self169.ans;\n$elidedFrames74 = $self169.elidedFrames;\nself169 = $self169.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],1,$t,true);\n}\nvar self169 = $self169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans71 = R.mC();\n}\nwhile(!R.isContinuation($ans71)) {\nswitch($step68) {\ncase 0: $al72 = L[10];\nvar anf_method_obj75 = G(self169,\"reason\",L[10]);\n$al72 = L[11];\nvar anf_arg76 = G(self169,\"loc\",L[11]);\n$step68 = 1;\n$ans71 = R.maybeMethodCall2(anf_method_obj75,\"render-reason\",L[12],anf_arg76,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans71;\ndefault: R.ffi.throwSpinnakerError(L[9],$step68);\n}\n}\nif($step68 !== 1) {\n$ans71.stack[R.EXN_STACKHEIGHT++] = R.mAR($al72,$temp_full69,$step68,[self169],[],$elidedFrames74);\n}\nreturn $ans71;\n};\nvar anf_variant_member117 = R.makeMethod0($temp_full69,\"render-reason\");\nvar $temp_full80 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__13($self544,$maybe$stack$loc81,$src$available82,$maybe$ast83) {\nvar $step79 = 0;\nvar $elidedFrames87 = 0;\nvar $ans84 = D;\nvar $al85 = L[13];\nif(R.isAR($self544)) {\n$step79 = $self544.step;\n$al85 = $self544.from;\n$ans84 = $self544.ans;\n$elidedFrames87 = $self544.elidedFrames;\nself544 = $self544.args[0];\nmaybe$stack$loc81 = $self544.args[1];\nsrc$available82 = $self544.args[2];\nmaybe$ast83 = $self544.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],4,$t,true);\n}\nvar self544 = $self544;\nvar maybe$stack$loc81 = $maybe$stack$loc81;\nvar src$available82 = $src$available82;\nvar maybe$ast83 = $maybe$ast83;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans84 = R.mC();\n}\nwhile(!R.isContinuation($ans84)) {\nswitch($step79) {\ncase 0: $al85 = L[14];\nvar anf_method_obj88 = G(self544,\"reason\",L[14]);\n$al85 = L[15];\nvar anf_arg563 = G(self544,\"loc\",L[15]);\n$step79 = 1;\n$ans84 = R.maybeMethodCall5(anf_method_obj88,\"render-fancy-reason\",L[16],anf_arg563,(true),maybe$stack$loc81,src$available82,maybe$ast83);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans84;\ndefault: R.ffi.throwSpinnakerError(L[13],$step79);\n}\n}\nif($step79 !== 1) {\n$ans84.stack[R.EXN_STACKHEIGHT++] = R.mAR($al85,$temp_full80,$step79,[self544,maybe$stack$loc81,src$available82,maybe$ast83],[],$elidedFrames87);\n}\nreturn $ans84;\n};\nvar anf_variant_member127 = R.makeMethod3($temp_full80,\"render-fancy-reason\");\nvar $temp_full92 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__17($self93) {\nvar $step91 = 0;\nvar $elidedFrames99 = 0;\nvar $ans96 = D;\nvar $al97 = L[17];\nif(R.isAR($self93)) {\n$step91 = $self93.step;\n$al97 = $self93.from;\n$ans96 = $self93.ans;\n$elidedFrames99 = $self93.elidedFrames;\nself93 = $self93.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[17],1,$t,true);\n}\nvar self93 = $self93;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans96 = R.mC();\n}\nwhile(!R.isContinuation($ans96)) {\nswitch($step91) {\ncase 0: $al97 = L[18];\nvar anf_method_obj100 = G(self93,\"reason\",L[18]);\n$al97 = L[19];\nvar anf_arg573 = G(self93,\"loc\",L[19]);\n$step91 = 1;\n$ans96 = R.maybeMethodCall2(anf_method_obj100,\"render-reason\",L[20],anf_arg573,(true));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans96;\ndefault: R.ffi.throwSpinnakerError(L[17],$step91);\n}\n}\nif($step91 !== 1) {\n$ans96.stack[R.EXN_STACKHEIGHT++] = R.mAR($al97,$temp_full92,$step91,[self93],[],$elidedFrames99);\n}\nreturn $ans96;\n};\nvar anf_variant_member128 = R.makeMethod0($temp_full92,\"render-reason\");\nvar $ok_getfields112 = function variant(f) {\nreturn f();\n};\nvar $ok_mutablemask111 = [];\nvar $ok$base107 = {\"render-reason\":anf_singleton_variant_member110,\n\"_match\":R.mM(\"ok\",0)};\nvar $ok$brander108 = R.nB(\"ok\",L[21]);\nvar $ok$brands109 = {};\n$ok$brands109[ContractResult31._brand] = true;\n$ok$brands109[$ok$brander108._brand] = true;\nvar $fail_getfields119 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $fail_mutablemask118 = [false,false];\nvar $fail$base113 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member116,\n\"render-reason\":anf_variant_member117,\n\"_match\":R.mM(\"fail\",2)};\nvar $fail$brander114 = R.nB(\"fail\",L[22]);\nvar $fail$brands115 = {};\n$fail$brands115[ContractResult31._brand] = true;\n$fail$brands115[$fail$brander114._brand] = true;\nvar fail120 = R.mVC(L[22],function $synthesizedConstructor_$fail$base() {\nreturn [FailureReason121];\n},[\"reason122\"],[L[23]],[false,false],[\"loc123\",\"reason122\"],$fail_mutablemask118,$fail$base113,$fail$brands115,\"fail\",$fail_getfields119,$fail$base113);\nvar $fail$arg_getfields130 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $fail$arg_mutablemask129 = [false,false];\nvar $fail$arg$base124 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member127,\n\"render-reason\":anf_variant_member128,\n\"_match\":R.mM(\"fail-arg\",2)};\nvar $fail$arg$brander125 = R.nB(\"fail-arg\",L[24]);\nvar $fail$arg$brands126 = {};\n$fail$arg$brands126[ContractResult31._brand] = true;\n$fail$arg$brands126[$fail$arg$brander125._brand] = true;\nvar fail$arg131 = R.mVC(L[24],function $synthesizedConstructor_$fail$arg$base() {\nreturn [FailureReason121];\n},[\"reason132\"],[L[25]],[false,false],[\"loc133\",\"reason132\"],$fail$arg_mutablemask129,$fail$arg$base124,$fail$arg$brands126,\"fail-arg\",$fail$arg_getfields130,$fail$arg$base124);\nvar anf_assign135 = R.mO({\"ContractResult\":G(ContractResult31,\"test\",L[26]),\n\"is-ok\":G($ok$brander108,\"test\",L[21]),\n\"ok\":R.mDV($ok$base107,$ok$brands109,\"ok\",$ok_getfields112,-1,$ok_mutablemask111,$ok$base107,false,L[21]),\n\"is-fail\":G($fail$brander114,\"test\",L[22]),\n\"fail\":fail120,\n\"is-fail-arg\":G($fail$arg$brander125,\"test\",L[24]),\n\"fail-arg\":fail$arg131});\nContractResult136.$var = anf_assign135;\nR.nothing;\n$al28 = L[26];\nvar anf_assign137 = G(ContractResult136.$var,\"ContractResult\",L[26]);\nis$ContractResult138.$var = anf_assign137;\nR.nothing;\n$al28 = L[21];\nvar anf_assign143 = G(ContractResult136.$var,\"is-ok\",L[21]);\nis$ok144.$var = anf_assign143;\nR.nothing;\n$al28 = L[21];\nvar anf_assign147 = G(ContractResult136.$var,\"ok\",L[21]);\nok148.$var = anf_assign147;\nR.nothing;\n$al28 = L[22];\nvar anf_assign149 = G(ContractResult136.$var,\"is-fail\",L[22]);\nis$fail150.$var = anf_assign149;\nR.nothing;\n$al28 = L[22];\nvar anf_assign151 = G(ContractResult136.$var,\"fail\",L[22]);\nfail152.$var = anf_assign151;\nR.nothing;\n$al28 = L[24];\nvar anf_assign153 = G(ContractResult136.$var,\"is-fail-arg\",L[24]);\nis$fail$arg154.$var = anf_assign153;\nR.nothing;\n$al28 = L[24];\nvar anf_assign155 = G(ContractResult136.$var,\"fail-arg\",L[24]);\nfail$arg156.$var = anf_assign155;\nR.nothing;\nvar $temp_full159 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__27($self220,$loc160,$from$fail$arg161) {\nvar $step158 = 0;\nvar $elidedFrames165 = 0;\nvar $ans162 = D;\nvar $al163 = L[27];\nif(R.isAR($self220)) {\n$step158 = $self220.step;\n$al163 = $self220.from;\n$ans162 = $self220.ans;\n$elidedFrames165 = $self220.elidedFrames;\nself220 = $self220.args[0];\nloc160 = $self220.args[1];\nfrom$fail$arg161 = $self220.args[2];\nanf_arg171 = $self220.vars[0];\nanf_arg166 = $self220.vars[1];\nanf_arg167 = $self220.vars[2];\nanf_fun170 = $self220.vars[3];\nanf_arg168 = $self220.vars[4];\nanf_arg612 = $self220.vars[5];\nanf_fun611 = $self220.vars[6];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[27],3,$t,true);\n}\nvar self220 = $self220;\nvar loc160 = $loc160;\nvar from$fail$arg161 = $from$fail$arg161;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans162 = R.mC();\n}\nwhile(!R.isContinuation($ans162)) {\nswitch($step158) {\ncase 0: $ans162 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[28],L[29]);\nvar anf_fun170 = $ans162;\n$ans162 = R.getMaker5(ED5.dict.values.dict[\"para-nospace\"],(\"make5\"),L[30],L[31]);\nvar anf_fun611 = $ans162;\n$step158 = 1;\n$al163 = L[40];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\"At \"));\nbreak;\ncase 1: var anf_arg612 = $ans162;\n$al163 = L[32];\nvar anf_arg613 = G(self220,\"loc\",L[32]);\n// caller optimization;\n$ans162 = draw$and$highlight44.$var.app(anf_arg613);\nvar anf_arg166 = $ans162;\n$step158 = 2;\n$al163 = L[39];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\", field \"));\nbreak;\ncase 2: var anf_arg167 = $ans162;\n$al163 = L[33];\nvar anf_arg627 = G(self220,\"field\",L[33]);\n$step158 = 3;\n$al163 = L[38];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app(anf_arg627);\nbreak;\ncase 3: var anf_arg628 = $ans162;\n$step158 = 4;\n$al163 = L[37];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"code\"]);\n}\n$ans162 = ED5.dict.values.dict[\"code\"].app(anf_arg628);\nbreak;\ncase 4: var anf_arg168 = $ans162;\n$step158 = 5;\n$al163 = L[36];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,ED5.dict.values.dict[\"text\"]);\n}\n$ans162 = ED5.dict.values.dict[\"text\"].app((\" failed because\"));\nbreak;\ncase 5: var anf_arg644 = $ans162;\n$step158 = 6;\n$al163 = L[31];\nif(typeof(anf_fun611.app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,anf_fun611);\n}\n$ans162 = anf_fun611.app(anf_arg612,anf_arg166,anf_arg167,anf_arg168,anf_arg644);\nbreak;\ncase 6: var anf_arg171 = $ans162;\n$al163 = L[34];\nvar anf_method_obj169 = G(self220,\"reason\",L[34]);\n$step158 = 7;\n$ans162 = R.maybeMethodCall2(anf_method_obj169,\"render-reason\",L[35],loc160,from$fail$arg161);\nbreak;\ncase 7: var anf_arg653 = $ans162;\n$step158 = 8;\n$al163 = L[29];\nif(typeof(anf_fun170.app) !== \"function\") {\nR.ffi.throwNonFunApp($al163,anf_fun170);\n}\n$ans162 = anf_fun170.app(anf_arg171,anf_arg653);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans162;\ndefault: R.ffi.throwSpinnakerError(L[27],$step158);\n}\n}\nif($step158 !== 8) {\n$ans162.stack[R.EXN_STACKHEIGHT++] = R.mAR($al163,$temp_full159,$step158,[self220,loc160,from$fail$arg161],[anf_arg171,anf_arg166,anf_arg167,anf_fun170,anf_arg168,anf_arg612,anf_fun611],$elidedFrames165);\n}\nreturn $ans162;\n};\nvar anf_variant_member212 = R.makeMethod2($temp_full159,\"render-reason\");\nvar $temp_full174 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__41($self244,$loc175,$from$fail$arg176) {\nvar $step173 = 0;\nvar $elidedFrames180 = 0;\nvar $ans177 = D;\nvar $al178 = L[41];\nif(R.isAR($self244)) {\n$step173 = $self244.step;\n$al178 = $self244.from;\n$ans177 = $self244.ans;\n$elidedFrames180 = $self244.elidedFrames;\nself244 = $self244.args[0];\nloc175 = $self244.args[1];\nfrom$fail$arg176 = $self244.args[2];\nanf_arg185 = $self244.vars[0];\nanf_arg664 = $self244.vars[1];\nanf_arg665 = $self244.vars[2];\nanf_fun184 = $self244.vars[3];\nanf_fun663 = $self244.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[41],3,$t,true);\n}\nvar self244 = $self244;\nvar loc175 = $loc175;\nvar from$fail$arg176 = $from$fail$arg176;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans177 = R.mC();\n}\nwhile(!R.isContinuation($ans177)) {\nswitch($step173) {\ncase 0: $ans177 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[42],L[43]);\nvar anf_fun184 = $ans177;\n$ans177 = R.getMaker3(ED5.dict.values.dict[\"para-nospace\"],(\"make3\"),L[44],L[45]);\nvar anf_fun663 = $ans177;\n$step173 = 1;\n$al178 = L[50];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,ED5.dict.values.dict[\"text\"]);\n}\n$ans177 = ED5.dict.values.dict[\"text\"].app((\"The annotation at \"));\nbreak;\ncase 1: var anf_arg664 = $ans177;\n// caller optimization;\n$ans177 = draw$and$highlight44.$var.app(loc175);\nvar anf_arg665 = $ans177;\n$step173 = 2;\n$al178 = L[49];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,ED5.dict.values.dict[\"text\"]);\n}\n$ans177 = ED5.dict.values.dict[\"text\"].app((\" failed because\"));\nbreak;\ncase 2: var anf_arg182 = $ans177;\n$step173 = 3;\n$al178 = L[45];\nif(typeof(anf_fun663.app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,anf_fun663);\n}\n$ans177 = anf_fun663.app(anf_arg664,anf_arg665,anf_arg182);\nbreak;\ncase 3: var anf_arg185 = $ans177;\n$al178 = L[46];\nvar anf_method_obj183 = G(self244,\"reason\",L[46]);\n$al178 = L[47];\nvar anf_arg677 = G(self244,\"loc\",L[47]);\n$step173 = 4;\n$ans177 = R.maybeMethodCall2(anf_method_obj183,\"render-reason\",L[48],anf_arg677,from$fail$arg176);\nbreak;\ncase 4: var anf_arg186 = $ans177;\n$step173 = 5;\n$al178 = L[43];\nif(typeof(anf_fun184.app) !== \"function\") {\nR.ffi.throwNonFunApp($al178,anf_fun184);\n}\n$ans177 = anf_fun184.app(anf_arg185,anf_arg186);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans177;\ndefault: R.ffi.throwSpinnakerError(L[41],$step173);\n}\n}\nif($step173 !== 5) {\n$ans177.stack[R.EXN_STACKHEIGHT++] = R.mAR($al178,$temp_full174,$step173,[self244,loc175,from$fail$arg176],[anf_arg185,anf_arg664,anf_arg665,anf_fun184,anf_fun663],$elidedFrames180);\n}\nreturn $ans177;\n};\nvar anf_variant_member222 = R.makeMethod2($temp_full174,\"render-reason\");\nvar $temp_full190 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__51($self65,$loc191,$from$fail$arg192) {\nvar $step189 = 0;\nvar $elidedFrames196 = 0;\nvar $ans193 = D;\nvar $al194 = L[51];\nif(R.isAR($self65)) {\n$step189 = $self65.step;\n$al194 = $self65.from;\n$ans193 = $self65.ans;\n$elidedFrames196 = $self65.elidedFrames;\nself65 = $self65.args[0];\nloc191 = $self65.args[1];\nfrom$fail$arg192 = $self65.args[2];\nanf_arg204 = $self65.vars[0];\nanf_arg704 = $self65.vars[1];\nanf_fun203 = $self65.vars[2];\nanf_fun207 = $self65.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],3,$t,true);\n}\nvar self65 = $self65;\nvar loc191 = $loc191;\nvar from$fail$arg192 = $from$fail$arg192;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans193 = R.mC();\n}\nwhile(!R.isContinuation($ans193)) {\nswitch($step189) {\ncase 0: $ans193 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[52],L[53]);\nvar anf_fun207 = $ans193;\n$ans193 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[54],L[55]);\nvar anf_fun203 = $ans193;\n$step189 = 1;\n$al194 = L[61];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app((\"Missing field \"));\nbreak;\ncase 1: var anf_arg204 = $ans193;\n$al194 = L[56];\nvar anf_arg201 = G(self65,\"field\",L[56]);\n$step189 = 2;\n$al194 = L[60];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app(anf_arg201);\nbreak;\ncase 2: var anf_arg703 = $ans193;\n$step189 = 3;\n$al194 = L[59];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"code\"]);\n}\n$ans193 = ED5.dict.values.dict[\"code\"].app(anf_arg703);\nbreak;\ncase 3: var anf_arg704 = $ans193;\n$step189 = 4;\n$al194 = L[58];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,ED5.dict.values.dict[\"text\"]);\n}\n$ans193 = ED5.dict.values.dict[\"text\"].app((\"is required at \"));\nbreak;\ncase 4: var anf_arg205 = $ans193;\n$al194 = L[57];\nvar anf_arg202 = G(self65,\"loc\",L[57]);\n// caller optimization;\n$ans193 = draw$and$highlight44.$var.app(anf_arg202);\nvar anf_arg718 = $ans193;\n$step189 = 5;\n$al194 = L[55];\nif(typeof(anf_fun203.app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,anf_fun203);\n}\n$ans193 = anf_fun203.app(anf_arg204,anf_arg704,anf_arg205,anf_arg718);\nbreak;\ncase 5: var anf_arg719 = $ans193;\n$step189 = 6;\n$al194 = L[53];\nif(typeof(anf_fun207.app) !== \"function\") {\nR.ffi.throwNonFunApp($al194,anf_fun207);\n}\n$ans193 = anf_fun207.app(anf_arg719);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans193;\ndefault: R.ffi.throwSpinnakerError(L[51],$step189);\n}\n}\nif($step189 !== 6) {\n$ans193.stack[R.EXN_STACKHEIGHT++] = R.mAR($al194,$temp_full190,$step189,[self65,loc191,from$fail$arg192],[anf_arg204,anf_arg704,anf_fun203,anf_fun207],$elidedFrames196);\n}\nreturn $ans193;\n};\nvar anf_variant_member232 = R.makeMethod2($temp_full190,\"render-reason\");\nvar $field$failure_getfields214 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"field\"],this.dict[\"reason\"]);\n};\nvar $field$failure_mutablemask213 = [false,false,false];\nvar $field$failure$base209 = {\"$fieldNames\":[\"loc\",\"field\",\"reason\"],\n\"render-reason\":anf_variant_member212,\n\"_match\":R.mM(\"field-failure\",3)};\nvar $field$failure$brander210 = R.nB(\"field-failure\",L[62]);\nvar $field$failure$brands211 = {};\n$field$failure$brands211[FieldFailure32._brand] = true;\n$field$failure$brands211[$field$failure$brander210._brand] = true;\nvar field$failure215 = R.mVC(L[62],function $synthesizedConstructor_$field$failure$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc216\",\"field217\",\"reason218\"],$field$failure_mutablemask213,$field$failure$base209,$field$failure$brands211,\"field-failure\",$field$failure_getfields214,$field$failure$base209);\nvar $ann$failure_getfields224 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"ann\"],this.dict[\"reason\"]);\n};\nvar $ann$failure_mutablemask223 = [false,false,false];\nvar $ann$failure$base219 = {\"$fieldNames\":[\"loc\",\"ann\",\"reason\"],\n\"render-reason\":anf_variant_member222,\n\"_match\":R.mM(\"ann-failure\",3)};\nvar $ann$failure$brander220 = R.nB(\"ann-failure\",L[63]);\nvar $ann$failure$brands221 = {};\n$ann$failure$brands221[FieldFailure32._brand] = true;\n$ann$failure$brands221[$ann$failure$brander220._brand] = true;\nvar ann$failure225 = R.mVC(L[63],function $synthesizedConstructor_$ann$failure$base() {\nreturn [];\n},[],[],[false,false,false],[\"loc226\",\"ann227\",\"reason228\"],$ann$failure_mutablemask223,$ann$failure$base219,$ann$failure$brands221,\"ann-failure\",$ann$failure_getfields224,$ann$failure$base219);\nvar $missing$field_getfields234 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"field\"]);\n};\nvar $missing$field_mutablemask233 = [false,false];\nvar $missing$field$base229 = {\"$fieldNames\":[\"loc\",\"field\"],\n\"render-reason\":anf_variant_member232,\n\"_match\":R.mM(\"missing-field\",2)};\nvar $missing$field$brander230 = R.nB(\"missing-field\",L[64]);\nvar $missing$field$brands231 = {};\n$missing$field$brands231[FieldFailure32._brand] = true;\n$missing$field$brands231[$missing$field$brander230._brand] = true;\nvar missing$field235 = R.mVC(L[64],function $synthesizedConstructor_$missing$field$base() {\nreturn [];\n},[],[],[false,false],[\"loc236\",\"field237\"],$missing$field_mutablemask233,$missing$field$base229,$missing$field$brands231,\"missing-field\",$missing$field_getfields234,$missing$field$base229);\nvar anf_assign238 = R.mO({\"FieldFailure\":G(FieldFailure32,\"test\",L[65]),\n\"is-field-failure\":G($field$failure$brander210,\"test\",L[62]),\n\"field-failure\":field$failure215,\n\"is-ann-failure\":G($ann$failure$brander220,\"test\",L[63]),\n\"ann-failure\":ann$failure225,\n\"is-missing-field\":G($missing$field$brander230,\"test\",L[64]),\n\"missing-field\":missing$field235});\nFieldFailure239.$var = anf_assign238;\nR.nothing;\n$al28 = L[65];\nvar anf_assign240 = G(FieldFailure239.$var,\"FieldFailure\",L[65]);\nis$FieldFailure241.$var = anf_assign240;\nR.nothing;\n$al28 = L[62];\nvar anf_assign242 = G(FieldFailure239.$var,\"is-field-failure\",L[62]);\nis$field$failure243.$var = anf_assign242;\nR.nothing;\n$al28 = L[62];\nvar anf_assign244 = G(FieldFailure239.$var,\"field-failure\",L[62]);\nfield$failure245.$var = anf_assign244;\nR.nothing;\n$al28 = L[63];\nvar anf_assign246 = G(FieldFailure239.$var,\"is-ann-failure\",L[63]);\nis$ann$failure247.$var = anf_assign246;\nR.nothing;\n$al28 = L[63];\nvar anf_assign248 = G(FieldFailure239.$var,\"ann-failure\",L[63]);\nann$failure249.$var = anf_assign248;\nR.nothing;\n$al28 = L[64];\nvar anf_assign250 = G(FieldFailure239.$var,\"is-missing-field\",L[64]);\nis$missing$field251.$var = anf_assign250;\nR.nothing;\n$al28 = L[64];\nvar anf_assign252 = G(FieldFailure239.$var,\"missing-field\",L[64]);\nmissing$field253.$var = anf_assign252;\nR.nothing;\nvar $temp_full255 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__66($self256,$loc108,$from$fail$arg257,$maybe$stack$loc258,$src$available259,$maybe$ast260) {\nvar $step254 = 0;\nvar $elidedFrames264 = 0;\nvar $ans261 = D;\nvar $al262 = L[66];\nif(R.isAR($self256)) {\n$step254 = $self256.step;\n$al262 = $self256.from;\n$ans261 = $self256.ans;\n$elidedFrames264 = $self256.elidedFrames;\nself256 = $self256.args[0];\nloc108 = $self256.args[1];\nfrom$fail$arg257 = $self256.args[2];\nmaybe$stack$loc258 = $self256.args[3];\nsrc$available259 = $self256.args[4];\nmaybe$ast260 = $self256.args[5];\nast304 = $self256.vars[0];\ncases303 = $self256.vars[1];\nanf_arg283 = $self256.vars[2];\nobj$loc282 = $self256.vars[3];\nanf_arg771 = $self256.vars[4];\nanf_arg298 = $self256.vars[5];\nanf_arg302 = $self256.vars[6];\nanf_fun284 = $self256.vars[7];\nanf_arg799 = $self256.vars[8];\nanf_array279 = $self256.vars[9];\nanf_arg801 = $self256.vars[10];\nanf_fun289 = $self256.vars[11];\nanf_arg816 = $self256.vars[12];\nanf_fun834 = $self256.vars[13];\nanf_fun769 = $self256.vars[14];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[66],6,$t,true);\n}\nvar self256 = $self256;\nvar loc108 = $loc108;\nvar from$fail$arg257 = $from$fail$arg257;\nvar maybe$stack$loc258 = $maybe$stack$loc258;\nvar src$available259 = $src$available259;\nvar maybe$ast260 = $maybe$ast260;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans261 = R.mC();\n}\nwhile(!R.isContinuation($ans261)) {\nswitch($step254) {\ncase 0: $step254 = 1;\n$al262 = L[110];\nif(typeof(src$available259.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,src$available259);\n}\n$ans261 = src$available259.app(loc108);\nbreak;\ncase 1: var anf_if311 = $ans261;\n$step254 = R.checkPyretTrue(anf_if311)?2:12;\nbreak;\ncase 2: $step254 = 3;\n$al262 = L[109];\nif(typeof(maybe$ast260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,maybe$ast260);\n}\n$ans261 = maybe$ast260.app(loc108);\nbreak;\ncase 3: var cases303 = $ans261;\n$step254 = 4;\n$al262 = L[108];\nvar $ann$check310 = R._cA(L[108],Option4,cases303);\nif(R.isContinuation($ann$check310)) {\n$ans261 = $ann$check310;\n}\nbreak;\ncase 4: $al262 = L[106];\n$step254 = $cases_dispatch309[cases303.$name] || 11;\nbreak;\ncase 5: if(cases303.$arity !== 1) {\nif(cases303.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[105],1,cases303.$arity,L[106],cases303.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[105],true,L[106],cases303.$loc);\n}\n}\nvar $fn308 = cases303.$constructor.$fieldNames;\nvar ast304 = R.dF(cases303.dict[$fn308[0]],cases303.$mut_fields_mask[0],false);\n$step254 = 6;\n$ans261 = R.maybeMethodCall0(ast304,\"label\",L[101]);\nbreak;\ncase 6: var anf_arg757 = $ans261;\n$step254 = 7;\n$al262 = L[104];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,equal$always1);\n}\n$ans261 = equal$always1.app(anf_arg757,(\"s-bracket\"));\nbreak;\ncase 7: var anf_if306 = $ans261;\n$step254 = R.checkPyretTrue(anf_if306)?8:9;\nbreak;\ncase 8: $al262 = L[102];\nvar anf_bracket305 = G(ast304,\"obj\",L[102]);\n$step254 = 13;\n$al262 = L[103];\n$ans261 = G(anf_bracket305,\"l\",L[103]);\nbreak;\ncase 9: $step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 10: if(cases303.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[107],false,L[106],cases303.$loc);\n}\n$step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 11: $ans261 = R.throwNoCasesMatched(L[106],cases303);\n$step254 = 13;\nbreak;\ncase 12: $step254 = 13;\n$ans261 = loc108;\nbreak;\ncase 13: var obj$loc282 = $ans261;\n$ans261 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[67],L[68]);\nvar anf_fun289 = $ans261;\n$ans261 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[69],L[70]);\nvar anf_fun769 = $ans261;\n$ans261 = R.makeArrayN((9));\nvar anf_array279 = $ans261;\n$step254 = 14;\n$al262 = L[100];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"A \"));\nbreak;\ncase 14: anf_array279[0] = $ans261;\n$step254 = 15;\n$al262 = L[99];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"bracket expression\"));\nbreak;\ncase 15: var anf_arg771 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[71],L[72]);\nvar anf_fun265 = $ans261;\n$al262 = L[73];\nvar anf_arg276 = G(self256,\"loc\",L[73]);\n$step254 = 16;\n$al262 = L[72];\nif(typeof(anf_fun265.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun265);\n}\n$ans261 = anf_fun265.app(anf_arg276);\nbreak;\ncase 16: var anf_arg278 = $ans261;\n$step254 = 17;\n$al262 = L[98];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans261 = ED5.dict.values.dict[\"highlight\"].app(anf_arg771,anf_arg278,(0));\nbreak;\ncase 17: anf_array279[1] = $ans261;\n$step254 = 18;\n$al262 = L[97];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" only works with \"));\nbreak;\ncase 18: anf_array279[2] = $ans261;\n$step254 = 19;\n$al262 = L[96];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"Row\"));\nbreak;\ncase 19: var anf_arg784 = $ans261;\n$step254 = 20;\n$al262 = L[95];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg784);\nbreak;\ncase 20: anf_array279[3] = $ans261;\n$step254 = 21;\n$al262 = L[94];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"s, \"));\nbreak;\ncase 21: anf_array279[4] = $ans261;\n$step254 = 22;\n$al262 = L[93];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"StringDict\"));\nbreak;\ncase 22: var anf_arg785 = $ans261;\n$step254 = 23;\n$al262 = L[92];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg785);\nbreak;\ncase 23: anf_array279[5] = $ans261;\n$step254 = 24;\n$al262 = L[91];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"s, or values that define a \"));\nbreak;\ncase 24: anf_array279[6] = $ans261;\n$step254 = 25;\n$al262 = L[90];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"get-value\"));\nbreak;\ncase 25: var anf_arg786 = $ans261;\n$step254 = 26;\n$al262 = L[89];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"code\"]);\n}\n$ans261 = ED5.dict.values.dict[\"code\"].app(anf_arg786);\nbreak;\ncase 26: anf_array279[7] = $ans261;\n$step254 = 27;\n$al262 = L[88];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" method.\"));\nbreak;\ncase 27: anf_array279[8] = $ans261;\n$step254 = 28;\n$al262 = L[70];\nif(typeof(anf_fun769.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun769);\n}\n$ans261 = anf_fun769.app(anf_array279);\nbreak;\ncase 28: var anf_arg298 = $ans261;\n$al262 = L[74];\nvar anf_arg281 = G(self256,\"loc\",L[74]);\n$step254 = 29;\n$al262 = L[87];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans261 = ED5.dict.values.dict[\"cmcode\"].app(anf_arg281);\nbreak;\ncase 29: var anf_arg799 = $ans261;\n$ans261 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[75],L[76]);\nvar anf_fun284 = $ans261;\n$step254 = 30;\n$al262 = L[86];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"The bracket expression's \"));\nbreak;\ncase 30: var anf_arg801 = $ans261;\n$step254 = 31;\n$al262 = L[85];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\"target\"));\nbreak;\ncase 31: var anf_arg283 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[77],L[78]);\nvar anf_fun814 = $ans261;\n$step254 = 32;\n$al262 = L[78];\nif(typeof(anf_fun814.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun814);\n}\n$ans261 = anf_fun814.app(obj$loc282);\nbreak;\ncase 32: var anf_arg815 = $ans261;\n$step254 = 33;\n$al262 = L[84];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans261 = ED5.dict.values.dict[\"highlight\"].app(anf_arg283,anf_arg815,(1));\nbreak;\ncase 33: var anf_arg816 = $ans261;\n$step254 = 34;\n$al262 = L[83];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"text\"]);\n}\n$ans261 = ED5.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 34: var anf_arg817 = $ans261;\n$step254 = 35;\n$al262 = L[76];\nif(typeof(anf_fun284.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun284);\n}\n$ans261 = anf_fun284.app(anf_arg801,anf_arg816,anf_arg817);\nbreak;\ncase 35: var anf_arg302 = $ans261;\n$ans261 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[79],L[80]);\nvar anf_fun834 = $ans261;\n$al262 = L[81];\nvar anf_arg835 = G(self256,\"obj\",L[81]);\n$step254 = 36;\n$al262 = L[82];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,ED5.dict.values.dict[\"embed\"]);\n}\n$ans261 = ED5.dict.values.dict[\"embed\"].app(anf_arg835);\nbreak;\ncase 36: var anf_arg286 = $ans261;\n$step254 = 37;\n$al262 = L[80];\nif(typeof(anf_fun834.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun834);\n}\n$ans261 = anf_fun834.app(anf_arg286);\nbreak;\ncase 37: var anf_arg833 = $ans261;\n$step254 = 38;\n$al262 = L[68];\nif(typeof(anf_fun289.app) !== \"function\") {\nR.ffi.throwNonFunApp($al262,anf_fun289);\n}\n$ans261 = anf_fun289.app(anf_arg298,anf_arg799,anf_arg302,anf_arg833);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans261;\ndefault: R.ffi.throwSpinnakerError(L[66],$step254);\n}\n}\nif($step254 !== 38) {\n$ans261.stack[R.EXN_STACKHEIGHT++] = R.mAR($al262,$temp_full255,$step254,[self256,loc108,from$fail$arg257,maybe$stack$loc258,src$available259,maybe$ast260],[ast304,cases303,anf_arg283,obj$loc282,anf_arg771,anf_arg298,anf_arg302,anf_fun284,anf_arg799,anf_array279,anf_arg801,anf_fun289,anf_arg816,anf_fun834,anf_fun769],$elidedFrames264);\n}\nreturn $ans261;\n};\nvar anf_variant_member1775 = R.makeMethod5($temp_full255,\"render-fancy-reason\");\nvar $temp_full314 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__111($self157,$loc315,$from$fail$arg316) {\nvar $step313 = 0;\nvar $elidedFrames320 = 0;\nvar $ans317 = D;\nvar $al318 = L[111];\nif(R.isAR($self157)) {\n$step313 = $self157.step;\n$al318 = $self157.from;\n$ans317 = $self157.ans;\n$elidedFrames320 = $self157.elidedFrames;\nself157 = $self157.args[0];\nloc315 = $self157.args[1];\nfrom$fail$arg316 = $self157.args[2];\nanf_fun849 = $self157.vars[0];\nanf_arg334 = $self157.vars[1];\nanf_array323 = $self157.vars[2];\nanf_fun331 = $self157.vars[3];\nanf_fun329 = $self157.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[111],3,$t,true);\n}\nvar self157 = $self157;\nvar loc315 = $loc315;\nvar from$fail$arg316 = $from$fail$arg316;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans317 = R.mC();\n}\nwhile(!R.isContinuation($ans317)) {\nswitch($step313) {\ncase 0: $ans317 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[112],L[113]);\nvar anf_fun331 = $ans317;\n$ans317 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[114],L[115]);\nvar anf_fun849 = $ans317;\n$ans317 = R.makeArrayN((9));\nvar anf_array323 = $ans317;\n$step313 = 1;\n$al318 = L[131];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"The bracket expression at \"));\nbreak;\ncase 1: anf_array323[0] = $ans317;\n$al318 = L[116];\nvar anf_arg321 = G(self157,\"loc\",L[116]);\n// caller optimization;\n$ans317 = draw$and$highlight44.$var.app(anf_arg321);\nanf_array323[1] = $ans317;\n$step313 = 2;\n$al318 = L[130];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\" only works with \"));\nbreak;\ncase 2: anf_array323[2] = $ans317;\n$step313 = 3;\n$al318 = L[129];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"Row\"));\nbreak;\ncase 3: var anf_arg848 = $ans317;\n$step313 = 4;\n$al318 = L[128];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg848);\nbreak;\ncase 4: anf_array323[3] = $ans317;\n$step313 = 5;\n$al318 = L[127];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"s, \"));\nbreak;\ncase 5: anf_array323[4] = $ans317;\n$step313 = 6;\n$al318 = L[126];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"StringDict\"));\nbreak;\ncase 6: var anf_arg851 = $ans317;\n$step313 = 7;\n$al318 = L[125];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg851);\nbreak;\ncase 7: anf_array323[5] = $ans317;\n$step313 = 8;\n$al318 = L[124];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"s, or values that define a \"));\nbreak;\ncase 8: anf_array323[6] = $ans317;\n$step313 = 9;\n$al318 = L[123];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\"get-value\"));\nbreak;\ncase 9: var anf_arg322 = $ans317;\n$step313 = 10;\n$al318 = L[122];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"code\"]);\n}\n$ans317 = ED5.dict.values.dict[\"code\"].app(anf_arg322);\nbreak;\ncase 10: anf_array323[7] = $ans317;\n$step313 = 11;\n$al318 = L[121];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"text\"]);\n}\n$ans317 = ED5.dict.values.dict[\"text\"].app((\" method. The value was:\"));\nbreak;\ncase 11: anf_array323[8] = $ans317;\n$step313 = 12;\n$al318 = L[115];\nif(typeof(anf_fun849.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun849);\n}\n$ans317 = anf_fun849.app(anf_array323);\nbreak;\ncase 12: var anf_arg334 = $ans317;\n$ans317 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[117],L[118]);\nvar anf_fun329 = $ans317;\n$al318 = L[119];\nvar anf_arg328 = G(self157,\"obj\",L[119]);\n$step313 = 13;\n$al318 = L[120];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,ED5.dict.values.dict[\"embed\"]);\n}\n$ans317 = ED5.dict.values.dict[\"embed\"].app(anf_arg328);\nbreak;\ncase 13: var anf_arg863 = $ans317;\n$step313 = 14;\n$al318 = L[118];\nif(typeof(anf_fun329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun329);\n}\n$ans317 = anf_fun329.app(anf_arg863);\nbreak;\ncase 14: var anf_arg866 = $ans317;\n$step313 = 15;\n$al318 = L[113];\nif(typeof(anf_fun331.app) !== \"function\") {\nR.ffi.throwNonFunApp($al318,anf_fun331);\n}\n$ans317 = anf_fun331.app(anf_arg334,anf_arg866);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans317;\ndefault: R.ffi.throwSpinnakerError(L[111],$step313);\n}\n}\nif($step313 !== 15) {\n$ans317.stack[R.EXN_STACKHEIGHT++] = R.mAR($al318,$temp_full314,$step313,[self157,loc315,from$fail$arg316],[anf_fun849,anf_arg334,anf_array323,anf_fun331,anf_fun329],$elidedFrames320);\n}\nreturn $ans317;\n};\nvar anf_variant_member1776 = R.makeMethod2($temp_full314,\"render-reason\");\nvar $temp_full337 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__132($self338,$loc339,$from$fail$arg340,$maybe$stack$loc341,$src$available342,$maybe$ast343) {\nvar $step336 = 0;\nvar $elidedFrames348 = 0;\nvar $ans345 = D;\nvar $al346 = L[132];\nif(R.isAR($self338)) {\n$step336 = $self338.step;\n$al346 = $self338.from;\n$ans345 = $self338.ans;\n$elidedFrames348 = $self338.elidedFrames;\nself338 = $self338.args[0];\nloc339 = $self338.args[1];\nfrom$fail$arg340 = $self338.args[2];\nmaybe$stack$loc341 = $self338.args[3];\nsrc$available342 = $self338.args[4];\nmaybe$ast343 = $self338.args[5];\ncases349 = $self338.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],6,$t,true);\n}\nvar self338 = $self338;\nvar loc339 = $loc339;\nvar from$fail$arg340 = $from$fail$arg340;\nvar maybe$stack$loc341 = $maybe$stack$loc341;\nvar src$available342 = $src$available342;\nvar maybe$ast343 = $maybe$ast343;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans345 = R.mC();\n}\nwhile(!R.isContinuation($ans345)) {\nswitch($step336) {\ncase 0: $step336 = 1;\n$al346 = L[229];\nif(typeof(maybe$stack$loc341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al346,maybe$stack$loc341);\n}\n$ans345 = maybe$stack$loc341.app((0),(true));\nbreak;\ncase 1: var cases349 = $ans345;\n$step336 = 2;\n$al346 = L[228];\nvar $ann$check575 = R._cA(L[228],Option4,cases349);\nif(R.isContinuation($ann$check575)) {\n$ans345 = $ann$check575;\n}\nbreak;\ncase 2: $al346 = L[211];\n$step336 = $cases_dispatch574[cases349.$name] || 5;\nbreak;\ncase 3: if(cases349.$arity !== 1) {\nif(cases349.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[210],1,cases349.$arity,L[211],cases349.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[210],true,L[211],cases349.$loc);\n}\n}\n$step336 = 6;\n$al346 = L[210];\nvar $temp_branch459 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__211($app$loc350) {\nvar $step460 = 0;\nvar $elidedFrames465 = 0;\nvar $ans462 = D;\nvar $al463 = L[209];\nif(R.isAR($app$loc350)) {\n$step460 = $app$loc350.step;\n$al463 = $app$loc350.from;\n$ans462 = $app$loc350.ans;\n$elidedFrames465 = $app$loc350.elidedFrames;\napp$loc350 = $app$loc350.args[0];\nanf_arg452 = $app$loc350.vars[0];\nanf_arg442 = $app$loc350.vars[1];\nanf_arg102 = $app$loc350.vars[2];\nanf_arg456 = $app$loc350.vars[3];\nanf_arg449 = $app$loc350.vars[4];\nanf_fun455 = $app$loc350.vars[5];\nanf_fun426 = $app$loc350.vars[6];\ncases351 = $app$loc350.vars[7];\n} else {\nvar app$loc350 = $app$loc350;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans462 = R.mC();\n}\nwhile(!R.isContinuation($ans462)) {\nswitch($step460) {\ncase 0: $step460 = 1;\n$al463 = L[209];\nif(typeof(src$available342.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,src$available342);\n}\n$ans462 = src$available342.app(app$loc350);\nbreak;\ncase 1: var anf_if458 = $ans462;\n$step460 = R.checkPyretTrue(anf_if458)?2:8;\nbreak;\ncase 2: $step460 = 3;\n$al463 = L[195];\nif(typeof(maybe$ast343.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,maybe$ast343);\n}\n$ans462 = maybe$ast343.app(app$loc350);\nbreak;\ncase 3: var cases351 = $ans462;\n$step460 = 4;\n$al463 = L[194];\nvar $ann$check483 = R._cA(L[194],Option4,cases351);\nif(R.isContinuation($ann$check483)) {\n$ans462 = $ann$check483;\n}\nbreak;\ncase 4: $al463 = L[173];\n$step460 = $cases_dispatch482[cases351.$name] || 7;\nbreak;\ncase 5: if(cases351.$arity !== 1) {\nif(cases351.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[172],1,cases351.$arity,L[173],cases351.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[172],true,L[173],cases351.$loc);\n}\n}\n$step460 = 17;\n$al463 = L[172];\nvar $temp_branch466 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__173($ast352) {\nvar $step467 = 0;\nvar $elidedFrames471 = 0;\nvar $ans468 = D;\nvar $al469 = L[171];\nif(R.isAR($ast352)) {\n$step467 = $ast352.step;\n$al469 = $ast352.from;\n$ans468 = $ast352.ans;\n$elidedFrames471 = $ast352.elidedFrames;\nast352 = $ast352.args[0];\nanf_arg382 = $ast352.vars[0];\nanf_arg372 = $ast352.vars[1];\nanf_arg374 = $ast352.vars[2];\ntup2856 = $ast352.vars[3];\nanf_arg896 = $ast352.vars[4];\nanf_arg941 = $ast352.vars[5];\nanf_arg358 = $ast352.vars[6];\nnth$arg365 = $ast352.vars[7];\nanf_fun373 = $ast352.vars[8];\nanf_fun363 = $ast352.vars[9];\nanf_arg911 = $ast352.vars[10];\nanf_fun377 = $ast352.vars[11];\nanf_arg926 = $ast352.vars[12];\nanf_fun359 = $ast352.vars[13];\nanf_arg908 = $ast352.vars[14];\ncall$type354 = $ast352.vars[15];\n} else {\nvar ast352 = $ast352;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans468 = R.mC();\n}\nwhile(!R.isContinuation($ans468)) {\nswitch($step467) {\ncase 0: $step467 = 1;\n$ans468 = R.maybeMethodCall0(ast352,\"label\",L[133]);\nbreak;\ncase 1: var ast$label353 = $ans468;\n$step467 = 2;\n$al469 = L[170];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,equal$always1);\n}\n$ans468 = equal$always1.app(ast$label353,(\"s-bracket\"));\nbreak;\ncase 2: var anf_if390 = $ans468;\n$step467 = R.checkPyretTrue(anf_if390)?3:8;\nbreak;\ncase 3: $al469 = L[163];\nvar anf_arg384 = G(self338,\"index\",L[163]);\n$step467 = 4;\n$al469 = L[166];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,equal$always1);\n}\n$ans468 = equal$always1.app(anf_arg384,(0));\nbreak;\ncase 4: var anf_if386 = $ans468;\n$step467 = R.checkPyretTrue(anf_if386)?5:6;\nbreak;\ncase 5: $step467 = 7;\n$al469 = L[164];\n$ans468 = G(ast352,\"obj\",L[164]);\nbreak;\ncase 6: $step467 = 7;\n$al469 = L[165];\n$ans468 = G(ast352,\"key\",L[165]);\nbreak;\ncase 7: var anf_tuple_fields385 = $ans468;\n$step467 = 10;\n$ans468 = R.makeTuple([anf_tuple_fields385,(\"bracket expression\")]);\nbreak;\ncase 8: $al469 = L[167];\nvar anf_method_obj387 = G(ast352,\"args\",L[167]);\n$al469 = L[168];\nvar anf_arg388 = G(self338,\"index\",L[168]);\n$step467 = 9;\n$ans468 = R.maybeMethodCall1(anf_method_obj387,\"get\",L[169],anf_arg388);\nbreak;\ncase 9: var anf_tuple_fields389 = $ans468;\n$step467 = 10;\n$ans468 = R.makeTuple([anf_tuple_fields389,(\"function application\")]);\nbreak;\ncase 10: var tup2856 = $ans468;\n$step467 = 11;\n$al469 = L[162];\nR.checkTupleBind(tup2856,2,L[162]);\nbreak;\ncase 11: var nth$arg365 = R.getTuple(tup2856,0,L[134]);\nvar call$type354 = R.getTuple(tup2856,1,L[135]);\n$ans468 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[136],L[137]);\nvar anf_fun377 = $ans468;\n$ans468 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[138],L[139]);\nvar anf_fun359 = $ans468;\n$step467 = 12;\n$al469 = L[161];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 12: var anf_arg896 = $ans468;\n$step467 = 13;\n$al469 = L[160];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app(call$type354);\nbreak;\ncase 13: var anf_arg358 = $ans468;\n$ans468 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[140],L[141]);\nvar anf_fun909 = $ans468;\n$step467 = 14;\n$al469 = L[141];\nif(typeof(anf_fun909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun909);\n}\n$ans468 = anf_fun909.app(app$loc350);\nbreak;\ncase 14: var anf_arg910 = $ans468;\n$step467 = 15;\n$al469 = L[159];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans468 = ED5.dict.values.dict[\"highlight\"].app(anf_arg358,anf_arg910,(-1));\nbreak;\ncase 15: var anf_arg360 = $ans468;\n$step467 = 16;\n$al469 = L[139];\nif(typeof(anf_fun359.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun359);\n}\n$ans468 = anf_fun359.app(anf_arg896,anf_arg360);\nbreak;\ncase 16: var anf_arg908 = $ans468;\n$step467 = 17;\n$al469 = L[158];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans468 = ED5.dict.values.dict[\"cmcode\"].app(app$loc350);\nbreak;\ncase 17: var anf_arg911 = $ans468;\n$ans468 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[142],L[143]);\nvar anf_fun373 = $ans468;\n$step467 = 18;\n$al469 = L[157];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\"failed because the \"));\nbreak;\ncase 18: var anf_arg374 = $ans468;\n$ans468 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[144],L[145]);\nvar anf_fun363 = $ans468;\n$al469 = L[146];\nvar anf_arg361 = G(self338,\"index\",L[146]);\n$step467 = 19;\n$al469 = L[156];\n// omitting isFunction check;\n$ans468 = _plus5.app(anf_arg361,(1));\nbreak;\ncase 19: var anf_arg923 = $ans468;\n$step467 = 20;\n$al469 = L[155];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans468 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg923);\nbreak;\ncase 20: var anf_arg926 = $ans468;\n$step467 = 21;\n$al469 = L[154];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\" argument\"));\nbreak;\ncase 21: var anf_arg364 = $ans468;\n$step467 = 22;\n$al469 = L[145];\nif(typeof(anf_fun363.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun363);\n}\n$ans468 = anf_fun363.app(anf_arg926,anf_arg364);\nbreak;\ncase 22: var anf_arg372 = $ans468;\n$ans468 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[147],L[148]);\nvar anf_fun366 = $ans468;\n$al469 = L[149];\nvar anf_arg369 = G(nth$arg365,\"l\",L[149]);\n$step467 = 23;\n$al469 = L[148];\nif(typeof(anf_fun366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun366);\n}\n$ans468 = anf_fun366.app(anf_arg369);\nbreak;\ncase 23: var anf_arg938 = $ans468;\n$step467 = 24;\n$al469 = L[153];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans468 = ED5.dict.values.dict[\"highlight\"].app(anf_arg372,anf_arg938,(0));\nbreak;\ncase 24: var anf_arg941 = $ans468;\n$step467 = 25;\n$al469 = L[152];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,ED5.dict.values.dict[\"text\"]);\n}\n$ans468 = ED5.dict.values.dict[\"text\"].app((\" evaluated to an unexpected value.\"));\nbreak;\ncase 25: var anf_arg375 = $ans468;\n$step467 = 26;\n$al469 = L[143];\nif(typeof(anf_fun373.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun373);\n}\n$ans468 = anf_fun373.app(anf_arg374,anf_arg941,anf_arg375);\nbreak;\ncase 26: var anf_arg382 = $ans468;\n$al469 = L[150];\nvar anf_method_obj376 = G(self338,\"reason\",L[150]);\n$step467 = 27;\n$ans468 = R.maybeMethodCall5(anf_method_obj376,\"render-fancy-reason\",L[151],loc339,(false),maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 27: var anf_arg383 = $ans468;\n$step467 = 28;\n$al469 = L[137];\nif(typeof(anf_fun377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al469,anf_fun377);\n}\n$ans468 = anf_fun377.app(anf_arg908,anf_arg911,anf_arg382,anf_arg383);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans468;\ndefault: R.ffi.throwSpinnakerError(L[171],$step467);\n}\n}\nif($step467 !== 28) {\n$ans468.stack[R.EXN_STACKHEIGHT++] = R.mAR($al469,$temp_branch466,$step467,[ast352],[anf_arg382,anf_arg372,anf_arg374,tup2856,anf_arg896,anf_arg941,anf_arg358,nth$arg365,anf_fun373,anf_fun363,anf_arg911,anf_fun377,anf_arg926,anf_fun359,anf_arg908,call$type354],$elidedFrames471);\n}\nreturn $ans468;\n};\n$ans462 = cases351.$app_fields($temp_branch466,[false]);\nbreak;\ncase 6: if(cases351.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[193],false,L[173],cases351.$loc);\n}\n$step460 = 17;\n$al463 = L[193];\nvar $temp_branch475 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__173($$resumer13) {\nvar $step476 = 0;\nvar $elidedFrames480 = 0;\nvar $ans477 = D;\nvar $al478 = L[175];\nif(R.isAR($$resumer13)) {\n$step476 = $$resumer13.step;\n$al478 = $$resumer13.from;\n$ans477 = $$resumer13.ans;\n$elidedFrames480 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg62 = $$resumer13.vars[0];\nanf_arg970 = $$resumer13.vars[1];\nanf_arg971 = $$resumer13.vars[2];\nanf_arg412 = $$resumer13.vars[3];\nanf_arg404 = $$resumer13.vars[4];\nanf_arg969 = $$resumer13.vars[5];\nanf_arg409 = $$resumer13.vars[6];\nanf_fun411 = $$resumer13.vars[7];\nanf_fun402 = $$resumer13.vars[8];\nanf_fun407 = $$resumer13.vars[9];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans477 = R.mC();\n}\nwhile(!R.isContinuation($ans477)) {\nswitch($step476) {\ncase 0: $ans477 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[174],L[175]);\nvar anf_fun411 = $ans477;\n$ans477 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[176],L[177]);\nvar anf_fun402 = $ans477;\n$step476 = 1;\n$al478 = L[192];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg404 = $ans477;\n$step476 = 2;\n$al478 = L[191];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"function application\"));\nbreak;\ncase 2: var anf_arg969 = $ans477;\n$ans477 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[178],L[179]);\nvar anf_fun400 = $ans477;\n$step476 = 3;\n$al478 = L[179];\nif(typeof(anf_fun400.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun400);\n}\n$ans477 = anf_fun400.app(app$loc350);\nbreak;\ncase 3: var anf_arg401 = $ans477;\n$step476 = 4;\n$al478 = L[190];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans477 = ED5.dict.values.dict[\"highlight\"].app(anf_arg969,anf_arg401,(0));\nbreak;\ncase 4: var anf_arg405 = $ans477;\n$step476 = 5;\n$al478 = L[177];\nif(typeof(anf_fun402.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun402);\n}\n$ans477 = anf_fun402.app(anf_arg404,anf_arg405);\nbreak;\ncase 5: var anf_arg970 = $ans477;\n$step476 = 6;\n$al478 = L[189];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans477 = ED5.dict.values.dict[\"cmcode\"].app(app$loc350);\nbreak;\ncase 6: var anf_arg971 = $ans477;\n$ans477 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[180],L[181]);\nvar anf_fun407 = $ans477;\n$step476 = 7;\n$al478 = L[188];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\"failed because the \"));\nbreak;\ncase 7: var anf_arg409 = $ans477;\n$al478 = L[182];\nvar anf_arg61 = G(self338,\"index\",L[182]);\n$step476 = 8;\n$al478 = L[187];\n// omitting isFunction check;\n$ans477 = _plus5.app(anf_arg61,(1));\nbreak;\ncase 8: var anf_arg406 = $ans477;\n$step476 = 9;\n$al478 = L[186];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans477 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg406);\nbreak;\ncase 9: var anf_arg62 = $ans477;\n$step476 = 10;\n$al478 = L[185];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,ED5.dict.values.dict[\"text\"]);\n}\n$ans477 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 10: var anf_arg63 = $ans477;\n$step476 = 11;\n$al478 = L[181];\nif(typeof(anf_fun407.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun407);\n}\n$ans477 = anf_fun407.app(anf_arg409,anf_arg62,anf_arg63);\nbreak;\ncase 11: var anf_arg412 = $ans477;\n$al478 = L[183];\nvar anf_method_obj410 = G(self338,\"reason\",L[183]);\n$step476 = 12;\n$ans477 = R.maybeMethodCall5(anf_method_obj410,\"render-fancy-reason\",L[184],loc339,(false),maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 12: var anf_arg413 = $ans477;\n$step476 = 13;\n$al478 = L[175];\nif(typeof(anf_fun411.app) !== \"function\") {\nR.ffi.throwNonFunApp($al478,anf_fun411);\n}\n$ans477 = anf_fun411.app(anf_arg970,anf_arg971,anf_arg412,anf_arg413);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans477;\ndefault: R.ffi.throwSpinnakerError(L[175],$step476);\n}\n}\nif($step476 !== 13) {\n$ans477.stack[R.EXN_STACKHEIGHT++] = R.mAR($al478,$temp_branch475,$step476,[],[anf_arg62,anf_arg970,anf_arg971,anf_arg412,anf_arg404,anf_arg969,anf_arg409,anf_fun411,anf_fun402,anf_fun407],$elidedFrames480);\n}\nreturn $ans477;\n};\n$ans462 = cases351.$app_fields($temp_branch475,[]);\nbreak;\ncase 7: $ans462 = R.throwNoCasesMatched(L[173],cases351);\n$step460 = 17;\nbreak;\ncase 8: $ans462 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[196],L[197]);\nvar anf_fun455 = $ans462;\n$ans462 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[198],L[199]);\nvar anf_fun426 = $ans462;\n$step460 = 9;\n$al463 = L[208];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\"The function application at \"));\nbreak;\ncase 9: var anf_arg442 = $ans462;\n$step460 = 10;\n$al463 = L[207];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"loc\"]);\n}\n$ans462 = ED5.dict.values.dict[\"loc\"].app(app$loc350);\nbreak;\ncase 10: var anf_arg449 = $ans462;\n$step460 = 11;\n$al463 = L[206];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\" failed because the \"));\nbreak;\ncase 11: var anf_arg102 = $ans462;\n$al463 = L[200];\nvar anf_arg103 = G(self338,\"index\",L[200]);\n$step460 = 12;\n$al463 = L[205];\n// omitting isFunction check;\n$ans462 = _plus5.app(anf_arg103,(1));\nbreak;\ncase 12: var anf_arg425 = $ans462;\n$step460 = 13;\n$al463 = L[204];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans462 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg425);\nbreak;\ncase 13: var anf_arg452 = $ans462;\n$step460 = 14;\n$al463 = L[203];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,ED5.dict.values.dict[\"text\"]);\n}\n$ans462 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 14: var anf_arg453 = $ans462;\n$step460 = 15;\n$al463 = L[199];\nif(typeof(anf_fun426.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,anf_fun426);\n}\n$ans462 = anf_fun426.app(anf_arg442,anf_arg449,anf_arg102,anf_arg452,anf_arg453);\nbreak;\ncase 15: var anf_arg456 = $ans462;\n$al463 = L[201];\nvar anf_method_obj454 = G(self338,\"reason\",L[201]);\n$step460 = 16;\n$ans462 = R.maybeMethodCall5(anf_method_obj454,\"render-fancy-reason\",L[202],loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 16: var anf_arg457 = $ans462;\n$step460 = 17;\n$al463 = L[197];\nif(typeof(anf_fun455.app) !== \"function\") {\nR.ffi.throwNonFunApp($al463,anf_fun455);\n}\n$ans462 = anf_fun455.app(anf_arg456,anf_arg457);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans462;\ndefault: R.ffi.throwSpinnakerError(L[209],$step460);\n}\n}\nif($step460 !== 17) {\n$ans462.stack[R.EXN_STACKHEIGHT++] = R.mAR($al463,$temp_branch459,$step460,[app$loc350],[anf_arg452,anf_arg442,anf_arg102,anf_arg456,anf_arg449,anf_fun455,anf_fun426,cases351],$elidedFrames465);\n}\nreturn $ans462;\n};\n$ans345 = cases349.$app_fields($temp_branch459,[false]);\nbreak;\ncase 4: if(cases349.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[227],false,L[211],cases349.$loc);\n}\n$step336 = 6;\n$al346 = L[227];\nvar $temp_branch566 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__211($$resumer13) {\nvar $step567 = 0;\nvar $elidedFrames572 = 0;\nvar $ans569 = D;\nvar $al570 = L[213];\nif(R.isAR($$resumer13)) {\n$step567 = $$resumer13.step;\n$al570 = $$resumer13.from;\n$ans569 = $$resumer13.ans;\n$elidedFrames572 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg542 = $$resumer13.vars[0];\nanf_arg564 = $$resumer13.vars[1];\nanf_arg543 = $$resumer13.vars[2];\nanf_arg547 = $$resumer13.vars[3];\nanf_arg559 = $$resumer13.vars[4];\nanf_fun563 = $$resumer13.vars[5];\nanf_fun541 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans569 = R.mC();\n}\nwhile(!R.isContinuation($ans569)) {\nswitch($step567) {\ncase 0: $ans569 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[212],L[213]);\nvar anf_fun563 = $ans569;\n$ans569 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[214],L[215]);\nvar anf_fun541 = $ans569;\n$step567 = 1;\n$al570 = L[226];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\"An application of \"));\nbreak;\ncase 1: var anf_arg542 = $ans569;\n$al570 = L[216];\nvar anf_arg487 = G(self338,\"function-name\",L[216]);\n$step567 = 2;\n$al570 = L[225];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app(anf_arg487);\nbreak;\ncase 2: var anf_arg502 = $ans569;\n$step567 = 3;\n$al570 = L[224];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"code\"]);\n}\n$ans569 = ED5.dict.values.dict[\"code\"].app(anf_arg502);\nbreak;\ncase 3: var anf_arg543 = $ans569;\n$step567 = 4;\n$al570 = L[223];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\" failed because the \"));\nbreak;\ncase 4: var anf_arg547 = $ans569;\n$al570 = L[217];\nvar anf_arg539 = G(self338,\"index\",L[217]);\n$step567 = 5;\n$al570 = L[222];\n// omitting isFunction check;\n$ans569 = _plus5.app(anf_arg539,(1));\nbreak;\ncase 5: var anf_arg540 = $ans569;\n$step567 = 6;\n$al570 = L[221];\nif(typeof(ED5.dict.values.dict[\"ed-nth\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"ed-nth\"]);\n}\n$ans569 = ED5.dict.values.dict[\"ed-nth\"].app(anf_arg540);\nbreak;\ncase 6: var anf_arg559 = $ans569;\n$step567 = 7;\n$al570 = L[220];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,ED5.dict.values.dict[\"text\"]);\n}\n$ans569 = ED5.dict.values.dict[\"text\"].app((\" argument evaluated to an unexpected value.\"));\nbreak;\ncase 7: var anf_arg561 = $ans569;\n$step567 = 8;\n$al570 = L[215];\nif(typeof(anf_fun541.app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,anf_fun541);\n}\n$ans569 = anf_fun541.app(anf_arg542,anf_arg543,anf_arg547,anf_arg559,anf_arg561);\nbreak;\ncase 8: var anf_arg564 = $ans569;\n$al570 = L[218];\nvar anf_method_obj562 = G(self338,\"reason\",L[218]);\n$step567 = 9;\n$ans569 = R.maybeMethodCall5(anf_method_obj562,\"render-fancy-reason\",L[219],loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343);\nbreak;\ncase 9: var anf_arg565 = $ans569;\n$step567 = 10;\n$al570 = L[213];\nif(typeof(anf_fun563.app) !== \"function\") {\nR.ffi.throwNonFunApp($al570,anf_fun563);\n}\n$ans569 = anf_fun563.app(anf_arg564,anf_arg565);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans569;\ndefault: R.ffi.throwSpinnakerError(L[213],$step567);\n}\n}\nif($step567 !== 10) {\n$ans569.stack[R.EXN_STACKHEIGHT++] = R.mAR($al570,$temp_branch566,$step567,[],[anf_arg542,anf_arg564,anf_arg543,anf_arg547,anf_arg559,anf_fun563,anf_fun541],$elidedFrames572);\n}\nreturn $ans569;\n};\n$ans345 = cases349.$app_fields($temp_branch566,[]);\nbreak;\ncase 5: $ans345 = R.throwNoCasesMatched(L[211],cases349);\n$step336 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans345;\ndefault: R.ffi.throwSpinnakerError(L[132],$step336);\n}\n}\nif($step336 !== 6) {\n$ans345.stack[R.EXN_STACKHEIGHT++] = R.mAR($al346,$temp_full337,$step336,[self338,loc339,from$fail$arg340,maybe$stack$loc341,src$available342,maybe$ast343],[cases349],$elidedFrames348);\n}\nreturn $ans345;\n};\nvar anf_variant_member1785 = R.makeMethod5($temp_full337,\"render-fancy-reason\");\nvar $temp_full578 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__230($self579,$loc580,$from$fail$arg581) {\nvar $step577 = 0;\nvar $elidedFrames585 = 0;\nvar $ans582 = D;\nvar $al583 = L[230];\nif(R.isAR($self579)) {\n$step577 = $self579.step;\n$al583 = $self579.from;\n$ans582 = $self579.ans;\n$elidedFrames585 = $self579.elidedFrames;\nself579 = $self579.args[0];\nloc580 = $self579.args[1];\nfrom$fail$arg581 = $self579.args[2];\nanf_arg694 = $self579.vars[0];\nanf_arg712 = $self579.vars[1];\nanf_arg646 = $self579.vars[2];\nanf_arg668 = $self579.vars[3];\nanf_arg647 = $self579.vars[4];\nanf_fun662 = $self579.vars[5];\nanf_fun631 = $self579.vars[6];\nanf_fun653 = $self579.vars[7];\nanf_fun657 = $self579.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[230],3,$t,true);\n}\nvar self579 = $self579;\nvar loc580 = $loc580;\nvar from$fail$arg581 = $from$fail$arg581;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans582 = R.mC();\n}\nwhile(!R.isContinuation($ans582)) {\nswitch($step577) {\ncase 0: $ans582 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[231],L[232]);\nvar anf_fun662 = $ans582;\n$ans582 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[233],L[234]);\nvar anf_fun631 = $ans582;\n$al583 = L[235];\nvar anf_arg625 = G(self579,\"function-name\",L[235]);\n$step577 = 1;\n$al583 = L[253];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app(anf_arg625);\nbreak;\ncase 1: var anf_arg626 = $ans582;\n$step577 = 2;\n$al583 = L[252];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"code\"]);\n}\n$ans582 = ED5.dict.values.dict[\"code\"].app(anf_arg626);\nbreak;\ncase 2: var anf_arg646 = $ans582;\n$al583 = L[236];\nvar anf_arg629 = G(self579,\"index\",L[236]);\n$step577 = 3;\n$al583 = L[251];\n// omitting isFunction check;\n$ans582 = _plus5.app(anf_arg629,(1));\nbreak;\ncase 3: var anf_arg301 = $ans582;\n$step577 = 4;\n$al583 = L[250];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,tostring1);\n}\n$ans582 = tostring1.app(anf_arg301);\nbreak;\ncase 4: var anf_arg630 = $ans582;\n$step577 = 5;\n$al583 = L[249];\n// omitting isFunction check;\n$ans582 = _plus5.app((\" : The argument at position \"),anf_arg630);\nbreak;\ncase 5: var anf_arg304 = $ans582;\n$step577 = 6;\n$al583 = L[248];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app(anf_arg304);\nbreak;\ncase 6: var anf_arg647 = $ans582;\n$step577 = 7;\n$al583 = L[247];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app((\" was invalid because: \"));\nbreak;\ncase 7: var anf_arg650 = $ans582;\n$step577 = 8;\n$al583 = L[234];\nif(typeof(anf_fun631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun631);\n}\n$ans582 = anf_fun631.app(anf_arg646,anf_arg647,anf_arg650);\nbreak;\ncase 8: var anf_arg668 = $ans582;\n$al583 = L[237];\nvar anf_method_obj652 = G(self579,\"reason\",L[237]);\n$step577 = 9;\n$ans582 = R.maybeMethodCall2(anf_method_obj652,\"render-reason\",L[238],loc580,from$fail$arg581);\nbreak;\ncase 9: var anf_arg694 = $ans582;\n$ans582 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[239],L[240]);\nvar anf_fun653 = $ans582;\n$step577 = 10;\n$al583 = L[246];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"text\"]);\n}\n$ans582 = ED5.dict.values.dict[\"text\"].app((\"The other arguments were:\"));\nbreak;\ncase 10: var anf_arg656 = $ans582;\n$step577 = 11;\n$al583 = L[240];\nif(typeof(anf_fun653.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun653);\n}\n$ans582 = anf_fun653.app(anf_arg656);\nbreak;\ncase 11: var anf_arg712 = $ans582;\n$ans582 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[241],L[242]);\nvar anf_fun657 = $ans582;\n$al583 = L[243];\nvar anf_arg326 = G(self579,\"args\",L[243]);\n$step577 = 12;\n$al583 = L[245];\n// omitting isFunction check;\n$ans582 = map3.app(ED5.dict.values.dict[\"embed\"],anf_arg326);\nbreak;\ncase 12: var anf_arg327 = $ans582;\n$step577 = 13;\n$al583 = L[244];\nif(typeof(ED5.dict.values.dict[\"h-sequence-sep\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,ED5.dict.values.dict[\"h-sequence-sep\"]);\n}\n$ans582 = ED5.dict.values.dict[\"h-sequence-sep\"].app(anf_arg327,(\" \"),(\" and \"));\nbreak;\ncase 13: var anf_arg661 = $ans582;\n$step577 = 14;\n$al583 = L[242];\nif(typeof(anf_fun657.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun657);\n}\n$ans582 = anf_fun657.app(anf_arg661);\nbreak;\ncase 14: var anf_arg713 = $ans582;\n$step577 = 15;\n$al583 = L[232];\nif(typeof(anf_fun662.app) !== \"function\") {\nR.ffi.throwNonFunApp($al583,anf_fun662);\n}\n$ans582 = anf_fun662.app(anf_arg668,anf_arg694,anf_arg712,anf_arg713);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans582;\ndefault: R.ffi.throwSpinnakerError(L[230],$step577);\n}\n}\nif($step577 !== 15) {\n$ans582.stack[R.EXN_STACKHEIGHT++] = R.mAR($al583,$temp_full578,$step577,[self579,loc580,from$fail$arg581],[anf_arg694,anf_arg712,anf_arg646,anf_arg668,anf_arg647,anf_fun662,anf_fun631,anf_fun653,anf_fun657],$elidedFrames585);\n}\nreturn $ans582;\n};\nvar anf_variant_member1786 = R.makeMethod2($temp_full578,\"render-reason\");\nvar $temp_full717 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__254($self718,$loc719,$from$fail$arg720,$maybe$stack$loc721,$src$available722,$maybe$ast723) {\nvar $step716 = 0;\nvar $elidedFrames727 = 0;\nvar $ans724 = D;\nvar $al725 = L[254];\nif(R.isAR($self718)) {\n$step716 = $self718.step;\n$al725 = $self718.from;\n$ans724 = $self718.ans;\n$elidedFrames727 = $self718.elidedFrames;\nself718 = $self718.args[0];\nloc719 = $self718.args[1];\nfrom$fail$arg720 = $self718.args[2];\nmaybe$stack$loc721 = $self718.args[3];\nsrc$available722 = $self718.args[4];\nmaybe$ast723 = $self718.args[5];\nanf_fun733 = $self718.vars[0];\nanf_fun729 = $self718.vars[1];\nanf_arg332 = $self718.vars[2];\nanf_arg333 = $self718.vars[3];\nanf_arg335 = $self718.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[254],6,$t,true);\n}\nvar self718 = $self718;\nvar loc719 = $loc719;\nvar from$fail$arg720 = $from$fail$arg720;\nvar maybe$stack$loc721 = $maybe$stack$loc721;\nvar src$available722 = $src$available722;\nvar maybe$ast723 = $maybe$ast723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans724 = R.mC();\n}\nwhile(!R.isContinuation($ans724)) {\nswitch($step716) {\ncase 0: $ans724 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[255],L[256]);\nvar anf_fun733 = $ans724;\n$ans724 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[257],L[258]);\nvar anf_fun729 = $ans724;\n$step716 = 1;\n$al725 = L[263];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"text\"]);\n}\n$ans724 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference:\"));\nbreak;\ncase 1: var anf_arg332 = $ans724;\n$step716 = 2;\n$al725 = L[262];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans724 = ED5.dict.values.dict[\"cmcode\"].app(loc719);\nbreak;\ncase 2: var anf_arg333 = $ans724;\n$step716 = 3;\n$al725 = L[261];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,ED5.dict.values.dict[\"text\"]);\n}\n$ans724 = ED5.dict.values.dict[\"text\"].app((\"because:\"));\nbreak;\ncase 3: var anf_arg335 = $ans724;\n$al725 = L[259];\nvar anf_method_obj728 = G(self718,\"reason\",L[259]);\n$step716 = 4;\n$ans724 = R.maybeMethodCall2(anf_method_obj728,\"render-reason\",L[260],loc719,(false));\nbreak;\ncase 4: var anf_arg732 = $ans724;\n$step716 = 5;\n$al725 = L[258];\nif(typeof(anf_fun729.app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,anf_fun729);\n}\n$ans724 = anf_fun729.app(anf_arg332,anf_arg333,anf_arg335,anf_arg732);\nbreak;\ncase 5: var anf_arg341 = $ans724;\n$step716 = 6;\n$al725 = L[256];\nif(typeof(anf_fun733.app) !== \"function\") {\nR.ffi.throwNonFunApp($al725,anf_fun733);\n}\n$ans724 = anf_fun733.app(anf_arg341);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans724;\ndefault: R.ffi.throwSpinnakerError(L[254],$step716);\n}\n}\nif($step716 !== 6) {\n$ans724.stack[R.EXN_STACKHEIGHT++] = R.mAR($al725,$temp_full717,$step716,[self718,loc719,from$fail$arg720,maybe$stack$loc721,src$available722,maybe$ast723],[anf_fun733,anf_fun729,anf_arg332,anf_arg333,anf_arg335],$elidedFrames727);\n}\nreturn $ans724;\n};\nvar anf_variant_member1798 = R.makeMethod5($temp_full717,\"render-fancy-reason\");\nvar $temp_full736 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__264($self345,$loc737,$from$fail$arg738) {\nvar $step735 = 0;\nvar $elidedFrames744 = 0;\nvar $ans741 = D;\nvar $al742 = L[264];\nif(R.isAR($self345)) {\n$step735 = $self345.step;\n$al742 = $self345.from;\n$ans741 = $self345.ans;\n$elidedFrames744 = $self345.elidedFrames;\nself345 = $self345.args[0];\nloc737 = $self345.args[1];\nfrom$fail$arg738 = $self345.args[2];\nanf_arg363 = $self345.vars[0];\nanf_arg366 = $self345.vars[1];\nanf_fun369 = $self345.vars[2];\nanf_fun768 = $self345.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[264],3,$t,true);\n}\nvar self345 = $self345;\nvar loc737 = $loc737;\nvar from$fail$arg738 = $from$fail$arg738;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans741 = R.mC();\n}\nwhile(!R.isContinuation($ans741)) {\nswitch($step735) {\ncase 0: var $temp_lam746 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__265($user$loc747) {\nvar $step745 = 0;\nvar $elidedFrames751 = 0;\nvar $ans748 = D;\nvar $al749 = L[265];\nif(R.isAR($user$loc747)) {\n$step745 = $user$loc747.step;\n$al749 = $user$loc747.from;\n$ans748 = $user$loc747.ans;\n$elidedFrames751 = $user$loc747.elidedFrames;\nuser$loc747 = $user$loc747.args[0];\nanf_fun764 = $user$loc747.vars[0];\nanf_fun752 = $user$loc747.vars[1];\nanf_arg345 = $user$loc747.vars[2];\nanf_arg756 = $user$loc747.vars[3];\nanf_arg357 = $user$loc747.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[265],1,$t,false);\n}\nvar user$loc747 = $user$loc747;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans748 = R.mC();\n}\nwhile(!R.isContinuation($ans748)) {\nswitch($step745) {\ncase 0: $ans748 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[266],L[267]);\nvar anf_fun764 = $ans748;\n$ans748 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[268],L[269]);\nvar anf_fun752 = $ans748;\n$step745 = 1;\n$al749 = L[273];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,ED5.dict.values.dict[\"text\"]);\n}\n$ans748 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference at\"));\nbreak;\ncase 1: var anf_arg345 = $ans748;\n// caller optimization;\n$ans748 = draw$and$highlight44.$var.app(user$loc747);\nvar anf_arg756 = $ans748;\n$step745 = 2;\n$al749 = L[272];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,ED5.dict.values.dict[\"text\"]);\n}\n$ans748 = ED5.dict.values.dict[\"text\"].app((\"because:\"));\nbreak;\ncase 2: var anf_arg762 = $ans748;\n$step745 = 3;\n$al749 = L[269];\nif(typeof(anf_fun752.app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,anf_fun752);\n}\n$ans748 = anf_fun752.app(anf_arg345,anf_arg756,anf_arg762);\nbreak;\ncase 3: var anf_arg357 = $ans748;\n$al749 = L[270];\nvar anf_method_obj763 = G(self345,\"reason\",L[270]);\n$step745 = 4;\n$ans748 = R.maybeMethodCall2(anf_method_obj763,\"render-reason\",L[271],loc737,(false));\nbreak;\ncase 4: var anf_arg765 = $ans748;\n$step745 = 5;\n$al749 = L[267];\nif(typeof(anf_fun764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al749,anf_fun764);\n}\n$ans748 = anf_fun764.app(anf_arg357,anf_arg765);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans748;\ndefault: R.ffi.throwSpinnakerError(L[265],$step745);\n}\n}\nif($step745 !== 5) {\n$ans748.stack[R.EXN_STACKHEIGHT++] = R.mAR($al749,$temp_lam746,$step745,[user$loc747],[anf_fun764,anf_fun752,anf_arg345,anf_arg756,anf_arg357],$elidedFrames751);\n}\nreturn $ans748;\n};\nvar anf_arg363 = R.mF($temp_lam746,\"\");\n$ans741 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[274],L[275]);\nvar anf_fun768 = $ans741;\n$ans741 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[276],L[277]);\nvar anf_fun369 = $ans741;\n$step735 = 1;\n$al742 = L[281];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,ED5.dict.values.dict[\"text\"]);\n}\n$ans741 = ED5.dict.values.dict[\"text\"].app((\"Failed while updating a reference because:\"));\nbreak;\ncase 1: var anf_arg767 = $ans741;\n$step735 = 2;\n$al742 = L[277];\nif(typeof(anf_fun369.app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,anf_fun369);\n}\n$ans741 = anf_fun369.app(anf_arg767);\nbreak;\ncase 2: var anf_arg366 = $ans741;\n$al742 = L[278];\nvar anf_method_obj364 = G(self345,\"reason\",L[278]);\n$step735 = 3;\n$ans741 = R.maybeMethodCall2(anf_method_obj364,\"render-reason\",L[279],loc737,(false));\nbreak;\ncase 3: var anf_arg367 = $ans741;\n$step735 = 4;\n$al742 = L[275];\nif(typeof(anf_fun768.app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,anf_fun768);\n}\n$ans741 = anf_fun768.app(anf_arg366,anf_arg367);\nbreak;\ncase 4: var anf_arg368 = $ans741;\n$step735 = 5;\n$al742 = L[280];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al742,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans741 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg363,anf_arg368);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans741;\ndefault: R.ffi.throwSpinnakerError(L[264],$step735);\n}\n}\nif($step735 !== 5) {\n$ans741.stack[R.EXN_STACKHEIGHT++] = R.mAR($al742,$temp_full736,$step735,[self345,loc737,from$fail$arg738],[anf_arg363,anf_arg366,anf_fun369,anf_fun768],$elidedFrames744);\n}\nreturn $ans741;\n};\nvar anf_variant_member1799 = R.makeMethod2($temp_full736,\"render-reason\");\nvar $temp_full771 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__282($self772,$loc773,$from$fail$arg774,$maybe$stack$loc775,$src$available776,$maybe$ast777) {\nvar $step770 = 0;\nvar $elidedFrames781 = 0;\nvar $ans778 = D;\nvar $al779 = L[282];\nif(R.isAR($self772)) {\n$step770 = $self772.step;\n$al779 = $self772.from;\n$ans778 = $self772.ans;\n$elidedFrames781 = $self772.elidedFrames;\nself772 = $self772.args[0];\nloc773 = $self772.args[1];\nfrom$fail$arg774 = $self772.args[2];\nmaybe$stack$loc775 = $self772.args[3];\nsrc$available776 = $self772.args[4];\nmaybe$ast777 = $self772.args[5];\nanf_fun828 = $self772.vars[0];\nanf_arg381 = $self772.vars[1];\ncases804 = $self772.vars[2];\nanf_arg377 = $self772.vars[3];\nanf_arg842 = $self772.vars[4];\nanf_arg798 = $self772.vars[5];\nanf_arg887 = $self772.vars[6];\nanf_arg845 = $self772.vars[7];\nanf_arg868 = $self772.vars[8];\nanf_fun782 = $self772.vars[9];\nanf_arg802 = $self772.vars[10];\nanf_arg869 = $self772.vars[11];\nanf_arg528 = $self772.vars[12];\nanf_arg839 = $self772.vars[13];\nanf_fun379 = $self772.vars[14];\nanf_fun841 = $self772.vars[15];\nanf_arg829 = $self772.vars[16];\nanf_fun844 = $self772.vars[17];\nanf_fun855 = $self772.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[282],6,$t,true);\n}\nvar self772 = $self772;\nvar loc773 = $loc773;\nvar from$fail$arg774 = $from$fail$arg774;\nvar maybe$stack$loc775 = $maybe$stack$loc775;\nvar src$available776 = $src$available776;\nvar maybe$ast777 = $maybe$ast777;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans778 = R.mC();\n}\nwhile(!R.isContinuation($ans778)) {\nswitch($step770) {\ncase 0: $ans778 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[283],L[284]);\nvar anf_fun379 = $ans778;\n$step770 = 1;\n$ans778 = R.maybeMethodCall0(loc773,\"is-builtin\",L[285]);\nbreak;\ncase 1: var anf_if921 = $ans778;\n$step770 = R.checkPyretTrue(anf_if921)?2:8;\nbreak;\ncase 2: $ans778 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[311],L[312]);\nvar anf_fun828 = $ans778;\n$step770 = 3;\n$al779 = L[318];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"An annotation, \"));\nbreak;\ncase 3: var anf_arg377 = $ans778;\n$al779 = L[313];\nvar anf_arg827 = G(self772,\"name\",L[313]);\n$step770 = 4;\n$al779 = L[317];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg827);\nbreak;\ncase 4: var anf_arg378 = $ans778;\n$step770 = 5;\n$al779 = L[316];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"code\"]);\n}\n$ans778 = ED5.dict.values.dict[\"code\"].app(anf_arg378);\nbreak;\ncase 5: var anf_arg381 = $ans778;\n$step770 = 6;\n$al779 = L[315];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg829 = $ans778;\n$step770 = 7;\n$al779 = L[314];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"loc\"]);\n}\n$ans778 = ED5.dict.values.dict[\"loc\"].app(loc773);\nbreak;\ncase 7: var anf_arg830 = $ans778;\n$step770 = 24;\n$al779 = L[312];\nif(typeof(anf_fun828.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun828);\n}\n$ans778 = anf_fun828.app(anf_arg377,anf_arg381,anf_arg829,anf_arg830);\nbreak;\ncase 8: $step770 = 9;\n$al779 = L[339];\nif(typeof(src$available776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,src$available776);\n}\n$ans778 = src$available776.app(loc773);\nbreak;\ncase 9: var anf_if920 = $ans778;\n$step770 = R.checkPyretTrue(anf_if920)?10:18;\nbreak;\ncase 10: $ans778 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[319],L[320]);\nvar anf_fun844 = $ans778;\n$ans778 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[321],L[322]);\nvar anf_fun841 = $ans778;\n$step770 = 11;\n$al779 = L[330];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 11: var anf_arg842 = $ans778;\n$al779 = L[323];\nvar anf_arg831 = G(self772,\"name\",L[323]);\n$step770 = 12;\n$al779 = L[329];\n// omitting isFunction check;\n$ans778 = _plus5.app(anf_arg831,(\" annotation\"));\nbreak;\ncase 12: var anf_arg832 = $ans778;\n$step770 = 13;\n$al779 = L[328];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg832);\nbreak;\ncase 13: var anf_arg839 = $ans778;\n$ans778 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[324],L[325]);\nvar anf_fun833 = $ans778;\n$step770 = 14;\n$al779 = L[325];\nif(typeof(anf_fun833.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun833);\n}\n$ans778 = anf_fun833.app(loc773);\nbreak;\ncase 14: var anf_arg840 = $ans778;\n$step770 = 15;\n$al779 = L[327];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans778 = ED5.dict.values.dict[\"highlight\"].app(anf_arg839,anf_arg840,(0));\nbreak;\ncase 15: var anf_arg843 = $ans778;\n$step770 = 16;\n$al779 = L[322];\nif(typeof(anf_fun841.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun841);\n}\n$ans778 = anf_fun841.app(anf_arg842,anf_arg843);\nbreak;\ncase 16: var anf_arg845 = $ans778;\n$step770 = 17;\n$al779 = L[326];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans778 = ED5.dict.values.dict[\"cmcode\"].app(loc773);\nbreak;\ncase 17: var anf_arg846 = $ans778;\n$step770 = 24;\n$al779 = L[320];\nif(typeof(anf_fun844.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun844);\n}\n$ans778 = anf_fun844.app(anf_arg845,anf_arg846);\nbreak;\ncase 18: $ans778 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[331],L[332]);\nvar anf_fun855 = $ans778;\n$step770 = 19;\n$al779 = L[338];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"The annotation, \"));\nbreak;\ncase 19: var anf_arg868 = $ans778;\n$al779 = L[333];\nvar anf_arg847 = G(self772,\"name\",L[333]);\n$step770 = 20;\n$al779 = L[337];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app(anf_arg847);\nbreak;\ncase 20: var anf_arg854 = $ans778;\n$step770 = 21;\n$al779 = L[336];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"code\"]);\n}\n$ans778 = ED5.dict.values.dict[\"code\"].app(anf_arg854);\nbreak;\ncase 21: var anf_arg869 = $ans778;\n$step770 = 22;\n$al779 = L[335];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\", at \"));\nbreak;\ncase 22: var anf_arg887 = $ans778;\n$step770 = 23;\n$al779 = L[334];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"loc\"]);\n}\n$ans778 = ED5.dict.values.dict[\"loc\"].app(loc773);\nbreak;\ncase 23: var anf_arg919 = $ans778;\n$step770 = 24;\n$al779 = L[332];\nif(typeof(anf_fun855.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun855);\n}\n$ans778 = anf_fun855.app(anf_arg868,anf_arg869,anf_arg887,anf_arg919);\nbreak;\ncase 24: var anf_arg528 = $ans778;\n$ans778 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[286],L[287]);\nvar anf_fun782 = $ans778;\n$step770 = 25;\n$al779 = L[310];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"text\"]);\n}\n$ans778 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 25: var anf_arg537 = $ans778;\n$step770 = 26;\n$al779 = L[287];\nif(typeof(anf_fun782.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun782);\n}\n$ans778 = anf_fun782.app(anf_arg537);\nbreak;\ncase 26: var anf_arg798 = $ans778;\n$al779 = L[288];\nvar anf_arg797 = G(self772,\"val\",L[288]);\n$step770 = 27;\n$al779 = L[309];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,ED5.dict.values.dict[\"embed\"]);\n}\n$ans778 = ED5.dict.values.dict[\"embed\"].app(anf_arg797);\nbreak;\ncase 27: var anf_arg802 = $ans778;\n$step770 = R.checkPyretTrue(from$fail$arg774)?28:34;\nbreak;\ncase 28: $step770 = 29;\n$al779 = L[306];\nif(typeof(maybe$stack$loc775.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,maybe$stack$loc775);\n}\n$ans778 = maybe$stack$loc775.app((1),(true));\nbreak;\ncase 29: var cases804 = $ans778;\n$step770 = 30;\n$al779 = L[305];\nvar $ann$check825 = R._cA(L[305],Option4,cases804);\nif(R.isContinuation($ann$check825)) {\n$ans778 = $ann$check825;\n}\nbreak;\ncase 30: $al779 = L[301];\n$step770 = $cases_dispatch824[cases804.$name] || 33;\nbreak;\ncase 31: if(cases804.$arity !== 1) {\nif(cases804.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[300],1,cases804.$arity,L[301],cases804.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[300],true,L[301],cases804.$loc);\n}\n}\n$step770 = 35;\n$al779 = L[300];\nvar $temp_branch815 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__301($sender805) {\nvar $step816 = 0;\nvar $elidedFrames821 = 0;\nvar $ans818 = D;\nvar $al819 = L[299];\nif(R.isAR($sender805)) {\n$step816 = $sender805.step;\n$al819 = $sender805.from;\n$ans818 = $sender805.ans;\n$elidedFrames821 = $sender805.elidedFrames;\nsender805 = $sender805.args[0];\nanf_fun806 = $sender805.vars[0];\nanf_fun808 = $sender805.vars[1];\nanf_arg594 = $sender805.vars[2];\nanf_arg809 = $sender805.vars[3];\nanf_fun813 = $sender805.vars[4];\n} else {\nvar sender805 = $sender805;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans818 = R.mC();\n}\nwhile(!R.isContinuation($ans818)) {\nswitch($step816) {\ncase 0: $step816 = 1;\n$al819 = L[299];\nif(typeof(src$available776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,src$available776);\n}\n$ans818 = src$available776.app(sender805);\nbreak;\ncase 1: var anf_if814 = $ans818;\n$step816 = R.checkPyretTrue(anf_if814)?2:6;\nbreak;\ncase 2: $ans818 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[289],L[290]);\nvar anf_fun808 = $ans818;\n$ans818 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[291],L[292]);\nvar anf_fun806 = $ans818;\n$step816 = 3;\n$al819 = L[294];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"text\"]);\n}\n$ans818 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg807 = $ans818;\n$step816 = 4;\n$al819 = L[292];\nif(typeof(anf_fun806.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun806);\n}\n$ans818 = anf_fun806.app(anf_arg807);\nbreak;\ncase 4: var anf_arg809 = $ans818;\n$step816 = 5;\n$al819 = L[293];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans818 = ED5.dict.values.dict[\"cmcode\"].app(sender805);\nbreak;\ncase 5: var anf_arg812 = $ans818;\n$step816 = 9;\n$al819 = L[290];\nif(typeof(anf_fun808.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun808);\n}\n$ans818 = anf_fun808.app(anf_arg809,anf_arg812);\nbreak;\ncase 6: $ans818 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[295],L[296]);\nvar anf_fun813 = $ans818;\n$step816 = 7;\n$al819 = L[298];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"text\"]);\n}\n$ans818 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg594 = $ans818;\n$step816 = 8;\n$al819 = L[297];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,ED5.dict.values.dict[\"loc\"]);\n}\n$ans818 = ED5.dict.values.dict[\"loc\"].app(sender805);\nbreak;\ncase 8: var anf_arg621 = $ans818;\n$step816 = 9;\n$al819 = L[296];\nif(typeof(anf_fun813.app) !== \"function\") {\nR.ffi.throwNonFunApp($al819,anf_fun813);\n}\n$ans818 = anf_fun813.app(anf_arg594,anf_arg621);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans818;\ndefault: R.ffi.throwSpinnakerError(L[299],$step816);\n}\n}\nif($step816 !== 9) {\n$ans818.stack[R.EXN_STACKHEIGHT++] = R.mAR($al819,$temp_branch815,$step816,[sender805],[anf_fun806,anf_fun808,anf_arg594,anf_arg809,anf_fun813],$elidedFrames821);\n}\nreturn $ans818;\n};\n$ans778 = cases804.$app_fields($temp_branch815,[false]);\nbreak;\ncase 32: if(cases804.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[304],false,L[301],cases804.$loc);\n}\n$ans778 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[302],L[303]);\nvar anf_fun823 = $ans778;\n$step770 = 35;\n$al779 = L[303];\nif(typeof(anf_fun823.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun823);\n}\n$ans778 = anf_fun823.app();\nbreak;\ncase 33: $ans778 = R.throwNoCasesMatched(L[301],cases804);\n$step770 = 35;\nbreak;\ncase 34: $ans778 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[307],L[308]);\nvar anf_fun826 = $ans778;\n$step770 = 35;\n$al779 = L[308];\nif(typeof(anf_fun826.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun826);\n}\n$ans778 = anf_fun826.app();\nbreak;\ncase 35: var anf_arg803 = $ans778;\n$step770 = 36;\n$al779 = L[284];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al779,anf_fun379);\n}\n$ans778 = anf_fun379.app(anf_arg528,anf_arg798,anf_arg802,anf_arg803);\nbreak;\ncase 36: ++R.GAS;\nreturn $ans778;\ndefault: R.ffi.throwSpinnakerError(L[282],$step770);\n}\n}\nif($step770 !== 36) {\n$ans778.stack[R.EXN_STACKHEIGHT++] = R.mAR($al779,$temp_full771,$step770,[self772,loc773,from$fail$arg774,maybe$stack$loc775,src$available776,maybe$ast777],[anf_fun828,anf_arg381,cases804,anf_arg377,anf_arg842,anf_arg798,anf_arg887,anf_arg845,anf_arg868,anf_fun782,anf_arg802,anf_arg869,anf_arg528,anf_arg839,anf_fun379,anf_fun841,anf_arg829,anf_fun844,anf_fun855],$elidedFrames781);\n}\nreturn $ans778;\n};\nvar anf_variant_member1808 = R.makeMethod5($temp_full771,\"render-fancy-reason\");\nvar $temp_full924 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__340($self692,$loc925,$from$fail$arg926) {\nvar $step923 = 0;\nvar $elidedFrames930 = 0;\nvar $ans927 = D;\nvar $al928 = L[340];\nif(R.isAR($self692)) {\n$step923 = $self692.step;\n$al928 = $self692.from;\n$ans927 = $self692.ans;\n$elidedFrames930 = $self692.elidedFrames;\nself692 = $self692.args[0];\nloc925 = $self692.args[1];\nfrom$fail$arg926 = $self692.args[2];\nanf_fun936 = $self692.vars[0];\nmessage962 = $self692.vars[1];\nanf_arg641 = $self692.vars[2];\nanf_arg652 = $self692.vars[3];\nanf_arg951 = $self692.vars[4];\nanf_arg985 = $self692.vars[5];\nanf_arg655 = $self692.vars[6];\nanf_fun986 = $self692.vars[7];\nanf_fun966 = $self692.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[340],3,$t,true);\n}\nvar self692 = $self692;\nvar loc925 = $loc925;\nvar from$fail$arg926 = $from$fail$arg926;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans927 = R.mC();\n}\nwhile(!R.isContinuation($ans927)) {\nswitch($step923) {\ncase 0: $ans927 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[341],L[342]);\nvar anf_fun936 = $ans927;\n$step923 = 1;\n$al928 = L[365];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\"Expected to get \"));\nbreak;\ncase 1: var anf_arg641 = $ans927;\n$al928 = L[343];\nvar anf_arg931 = G(self692,\"name\",L[343]);\n$step923 = 2;\n$al928 = L[364];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app(anf_arg931);\nbreak;\ncase 2: var anf_arg935 = $ans927;\n$step923 = 3;\n$al928 = L[363];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"code\"]);\n}\n$ans927 = ED5.dict.values.dict[\"code\"].app(anf_arg935);\nbreak;\ncase 3: var anf_arg951 = $ans927;\n$step923 = 4;\n$al928 = L[362];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 4: var anf_arg652 = $ans927;\n// caller optimization;\n$ans927 = draw$and$highlight44.$var.app(loc925);\nvar anf_arg655 = $ans927;\n$step923 = 5;\n$al928 = L[361];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"text\"]);\n}\n$ans927 = ED5.dict.values.dict[\"text\"].app((\" but got:\"));\nbreak;\ncase 5: var anf_arg657 = $ans927;\n$step923 = 6;\n$al928 = L[342];\nif(typeof(anf_fun936.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun936);\n}\n$ans927 = anf_fun936.app(anf_arg641,anf_arg951,anf_arg652,anf_arg655,anf_arg657);\nbreak;\ncase 6: var message962 = $ans927;\n$step923 = R.checkPyretTrue(from$fail$arg926)?7:10;\nbreak;\ncase 7: var $temp_lam953 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__344($l954) {\nvar $step952 = 0;\nvar $elidedFrames958 = 0;\nvar $ans955 = D;\nvar $al956 = L[344];\nif(R.isAR($l954)) {\n$step952 = $l954.step;\n$al956 = $l954.from;\n$ans955 = $l954.ans;\n$elidedFrames958 = $l954.elidedFrames;\nl954 = $l954.args[0];\nanf_fun961 = $l954.vars[0];\nanf_arg963 = $l954.vars[1];\nanf_fun960 = $l954.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[344],1,$t,false);\n}\nvar l954 = $l954;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans955 = R.mC();\n}\nwhile(!R.isContinuation($ans955)) {\nswitch($step952) {\ncase 0: $ans955 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[345],L[346]);\nvar anf_fun961 = $ans955;\n$al956 = L[347];\nvar anf_arg959 = G(self692,\"val\",L[347]);\n$step952 = 1;\n$al956 = L[351];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,ED5.dict.values.dict[\"embed\"]);\n}\n$ans955 = ED5.dict.values.dict[\"embed\"].app(anf_arg959);\nbreak;\ncase 1: var anf_arg963 = $ans955;\n$ans955 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[348],L[349]);\nvar anf_fun960 = $ans955;\n$step952 = 2;\n$al956 = L[350];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,ED5.dict.values.dict[\"text\"]);\n}\n$ans955 = ED5.dict.values.dict[\"text\"].app((\"called from around \"));\nbreak;\ncase 2: var anf_arg679 = $ans955;\n// caller optimization;\n$ans955 = draw$and$highlight44.$var.app(l954);\nvar anf_arg688 = $ans955;\n$step952 = 3;\n$al956 = L[349];\nif(typeof(anf_fun960.app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,anf_fun960);\n}\n$ans955 = anf_fun960.app(anf_arg679,anf_arg688);\nbreak;\ncase 3: var anf_arg964 = $ans955;\n$step952 = 4;\n$al956 = L[346];\nif(typeof(anf_fun961.app) !== \"function\") {\nR.ffi.throwNonFunApp($al956,anf_fun961);\n}\n$ans955 = anf_fun961.app(message962,anf_arg963,anf_arg964);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans955;\ndefault: R.ffi.throwSpinnakerError(L[344],$step952);\n}\n}\nif($step952 !== 4) {\n$ans955.stack[R.EXN_STACKHEIGHT++] = R.mAR($al956,$temp_lam953,$step952,[l954],[anf_fun961,anf_arg963,anf_fun960],$elidedFrames958);\n}\nreturn $ans955;\n};\nvar anf_arg985 = R.mF($temp_lam953,\"\");\n$ans927 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[352],L[353]);\nvar anf_fun966 = $ans927;\n$al928 = L[354];\nvar anf_arg706 = G(self692,\"val\",L[354]);\n$step923 = 8;\n$al928 = L[356];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"embed\"]);\n}\n$ans927 = ED5.dict.values.dict[\"embed\"].app(anf_arg706);\nbreak;\ncase 8: var anf_arg967 = $ans927;\n$step923 = 9;\n$al928 = L[353];\nif(typeof(anf_fun966.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun966);\n}\n$ans927 = anf_fun966.app(message962,anf_arg967);\nbreak;\ncase 9: var anf_arg711 = $ans927;\n$step923 = 12;\n$al928 = L[355];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans927 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg985,anf_arg711);\nbreak;\ncase 10: $ans927 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[357],L[358]);\nvar anf_fun986 = $ans927;\n$al928 = L[359];\nvar anf_arg723 = G(self692,\"val\",L[359]);\n$step923 = 11;\n$al928 = L[360];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,ED5.dict.values.dict[\"embed\"]);\n}\n$ans927 = ED5.dict.values.dict[\"embed\"].app(anf_arg723);\nbreak;\ncase 11: var anf_arg993 = $ans927;\n$step923 = 12;\n$al928 = L[358];\nif(typeof(anf_fun986.app) !== \"function\") {\nR.ffi.throwNonFunApp($al928,anf_fun986);\n}\n$ans927 = anf_fun986.app(message962,anf_arg993);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans927;\ndefault: R.ffi.throwSpinnakerError(L[340],$step923);\n}\n}\nif($step923 !== 12) {\n$ans927.stack[R.EXN_STACKHEIGHT++] = R.mAR($al928,$temp_full924,$step923,[self692,loc925,from$fail$arg926],[anf_fun936,message962,anf_arg641,anf_arg652,anf_arg951,anf_arg985,anf_arg655,anf_fun986,anf_fun966],$elidedFrames930);\n}\nreturn $ans927;\n};\nvar anf_variant_member1809 = R.makeMethod2($temp_full924,\"render-reason\");\nvar $temp_full996 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__366($self453,$loc5685,$from$fail$arg997,$maybe$stack$loc998,$src$available999,$maybe$ast1000) {\nvar $step995 = 0;\nvar $elidedFrames1004 = 0;\nvar $ans1001 = D;\nvar $al1002 = L[366];\nif(R.isAR($self453)) {\n$step995 = $self453.step;\n$al1002 = $self453.from;\n$ans1001 = $self453.ans;\n$elidedFrames1004 = $self453.elidedFrames;\nself453 = $self453.args[0];\nloc5685 = $self453.args[1];\nfrom$fail$arg997 = $self453.args[2];\nmaybe$stack$loc998 = $self453.args[3];\nsrc$available999 = $self453.args[4];\nmaybe$ast1000 = $self453.args[5];\nanf_arg1095 = $self453.vars[0];\nanf_fun1104 = $self453.vars[1];\nanf_fun1006 = $self453.vars[2];\nanf_arg1086 = $self453.vars[3];\nanf_arg1088 = $self453.vars[4];\nanf_arg1099 = $self453.vars[5];\nanf_arg1089 = $self453.vars[6];\nanf_arg1100 = $self453.vars[7];\nanf_arg1101 = $self453.vars[8];\nanf_arg1015 = $self453.vars[9];\nanf_arg1016 = $self453.vars[10];\nanf_arg1105 = $self453.vars[11];\nanf_arg1106 = $self453.vars[12];\nanf_arg861 = $self453.vars[13];\nanf_fun1060 = $self453.vars[14];\ncases1017 = $self453.vars[15];\nanf_arg905 = $self453.vars[16];\nanf_fun86 = $self453.vars[17];\nanf_fun1098 = $self453.vars[18];\nanf_arg918 = $self453.vars[19];\nanf_fun1102 = $self453.vars[20];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[366],6,$t,true);\n}\nvar self453 = $self453;\nvar loc5685 = $loc5685;\nvar from$fail$arg997 = $from$fail$arg997;\nvar maybe$stack$loc998 = $maybe$stack$loc998;\nvar src$available999 = $src$available999;\nvar maybe$ast1000 = $maybe$ast1000;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1001 = R.mC();\n}\nwhile(!R.isContinuation($ans1001)) {\nswitch($step995) {\ncase 0: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[367],L[368]);\nvar anf_fun1006 = $ans1001;\n$step995 = 1;\n$ans1001 = R.maybeMethodCall0(loc5685,\"is-builtin\",L[369]);\nbreak;\ncase 1: var anf_if1108 = $ans1001;\n$step995 = R.checkPyretTrue(anf_if1108)?2:8;\nbreak;\ncase 2: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[395],L[396]);\nvar anf_fun1060 = $ans1001;\n$step995 = 3;\n$al1002 = L[402];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"A predicate, \"));\nbreak;\ncase 3: var anf_arg1086 = $ans1001;\n$al1002 = L[397];\nvar anf_arg739 = G(self453,\"name\",L[397]);\n$step995 = 4;\n$al1002 = L[401];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg739);\nbreak;\ncase 4: var anf_arg1058 = $ans1001;\n$step995 = 5;\n$al1002 = L[400];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg1058);\nbreak;\ncase 5: var anf_arg1088 = $ans1001;\n$step995 = 6;\n$al1002 = L[399];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\", in \"));\nbreak;\ncase 6: var anf_arg1089 = $ans1001;\n$step995 = 7;\n$al1002 = L[398];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"loc\"].app(loc5685);\nbreak;\ncase 7: var anf_arg1090 = $ans1001;\n$step995 = 26;\n$al1002 = L[396];\nif(typeof(anf_fun1060.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1060);\n}\n$ans1001 = anf_fun1060.app(anf_arg1086,anf_arg1088,anf_arg1089,anf_arg1090);\nbreak;\ncase 8: $step995 = 9;\n$al1002 = L[425];\nif(typeof(src$available999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,src$available999);\n}\n$ans1001 = src$available999.app(loc5685);\nbreak;\ncase 9: var anf_if1107 = $ans1001;\n$step995 = R.checkPyretTrue(anf_if1107)?10:20;\nbreak;\ncase 10: $ans1001 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[403],L[404]);\nvar anf_fun1102 = $ans1001;\n$ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[405],L[406]);\nvar anf_fun1098 = $ans1001;\n$step995 = 11;\n$al1002 = L[416];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"The predicate \"));\nbreak;\ncase 11: var anf_arg1099 = $ans1001;\n$al1002 = L[407];\nvar anf_arg1091 = G(self453,\"name\",L[407]);\n$step995 = 12;\n$al1002 = L[415];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg1091);\nbreak;\ncase 12: var anf_arg1093 = $ans1001;\n$step995 = 13;\n$al1002 = L[414];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg1093);\nbreak;\ncase 13: var anf_arg1100 = $ans1001;\n$step995 = 14;\n$al1002 = L[413];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\" in the \"));\nbreak;\ncase 14: var anf_arg1101 = $ans1001;\n$step995 = 15;\n$al1002 = L[412];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"annotation\"));\nbreak;\ncase 15: var anf_arg1095 = $ans1001;\n$ans1001 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[408],L[409]);\nvar anf_fun1094 = $ans1001;\n$step995 = 16;\n$al1002 = L[409];\nif(typeof(anf_fun1094.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1094);\n}\n$ans1001 = anf_fun1094.app(loc5685);\nbreak;\ncase 16: var anf_arg1097 = $ans1001;\n$step995 = 17;\n$al1002 = L[411];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1095,anf_arg1097,(0));\nbreak;\ncase 17: var anf_arg858 = $ans1001;\n$step995 = 18;\n$al1002 = L[406];\nif(typeof(anf_fun1098.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1098);\n}\n$ans1001 = anf_fun1098.app(anf_arg1099,anf_arg1100,anf_arg1101,anf_arg858);\nbreak;\ncase 18: var anf_arg861 = $ans1001;\n$step995 = 19;\n$al1002 = L[410];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"cmcode\"].app(loc5685);\nbreak;\ncase 19: var anf_arg867 = $ans1001;\n$step995 = 26;\n$al1002 = L[404];\nif(typeof(anf_fun1102.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1102);\n}\n$ans1001 = anf_fun1102.app(anf_arg861,anf_arg867);\nbreak;\ncase 20: $ans1001 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[417],L[418]);\nvar anf_fun1104 = $ans1001;\n$step995 = 21;\n$al1002 = L[424];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"The predicate, \"));\nbreak;\ncase 21: var anf_arg1105 = $ans1001;\n$al1002 = L[419];\nvar anf_arg1103 = G(self453,\"name\",L[419]);\n$step995 = 22;\n$al1002 = L[423];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app(anf_arg1103);\nbreak;\ncase 22: var anf_arg902 = $ans1001;\n$step995 = 23;\n$al1002 = L[422];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"code\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"code\"].app(anf_arg902);\nbreak;\ncase 23: var anf_arg1106 = $ans1001;\n$step995 = 24;\n$al1002 = L[421];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\", at \"));\nbreak;\ncase 24: var anf_arg905 = $ans1001;\n$step995 = 25;\n$al1002 = L[420];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"loc\"].app(loc5685);\nbreak;\ncase 25: var anf_arg889 = $ans1001;\n$step995 = 26;\n$al1002 = L[418];\nif(typeof(anf_fun1104.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1104);\n}\n$ans1001 = anf_fun1104.app(anf_arg1105,anf_arg1106,anf_arg905,anf_arg889);\nbreak;\ncase 26: var anf_arg1015 = $ans1001;\n$ans1001 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[370],L[371]);\nvar anf_fun86 = $ans1001;\n$step995 = 27;\n$al1002 = L[394];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"text\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 27: var anf_arg900 = $ans1001;\n$step995 = 28;\n$al1002 = L[371];\nif(typeof(anf_fun86.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun86);\n}\n$ans1001 = anf_fun86.app(anf_arg900);\nbreak;\ncase 28: var anf_arg918 = $ans1001;\n$al1002 = L[372];\nvar anf_arg1005 = G(self453,\"val\",L[372]);\n$step995 = 29;\n$al1002 = L[393];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1001 = ED5.dict.values.dict[\"embed\"].app(anf_arg1005);\nbreak;\ncase 29: var anf_arg1016 = $ans1001;\n$step995 = R.checkPyretTrue(from$fail$arg997)?30:36;\nbreak;\ncase 30: $step995 = 31;\n$al1002 = L[390];\nif(typeof(maybe$stack$loc998.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,maybe$stack$loc998);\n}\n$ans1001 = maybe$stack$loc998.app((1),(true));\nbreak;\ncase 31: var cases1017 = $ans1001;\n$step995 = 32;\n$al1002 = L[389];\nvar $ann$check1050 = R._cA(L[389],Option4,cases1017);\nif(R.isContinuation($ann$check1050)) {\n$ans1001 = $ann$check1050;\n}\nbreak;\ncase 32: $al1002 = L[385];\n$step995 = $cases_dispatch1049[cases1017.$name] || 35;\nbreak;\ncase 33: if(cases1017.$arity !== 1) {\nif(cases1017.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[384],1,cases1017.$arity,L[385],cases1017.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[384],true,L[385],cases1017.$loc);\n}\n}\n$step995 = 37;\n$al1002 = L[384];\nvar $temp_branch1041 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__385($sender1018) {\nvar $step1042 = 0;\nvar $elidedFrames1046 = 0;\nvar $ans1043 = D;\nvar $al1044 = L[383];\nif(R.isAR($sender1018)) {\n$step1042 = $sender1018.step;\n$al1044 = $sender1018.from;\n$ans1043 = $sender1018.ans;\n$elidedFrames1046 = $sender1018.elidedFrames;\nsender1018 = $sender1018.args[0];\nanf_fun1019 = $sender1018.vars[0];\nanf_arg950 = $sender1018.vars[1];\nanf_arg934 = $sender1018.vars[2];\nanf_fun112 = $sender1018.vars[3];\nanf_fun1036 = $sender1018.vars[4];\n} else {\nvar sender1018 = $sender1018;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1043 = R.mC();\n}\nwhile(!R.isContinuation($ans1043)) {\nswitch($step1042) {\ncase 0: $step1042 = 1;\n$al1044 = L[383];\nif(typeof(src$available999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,src$available999);\n}\n$ans1043 = src$available999.app(sender1018);\nbreak;\ncase 1: var anf_if1040 = $ans1043;\n$step1042 = R.checkPyretTrue(anf_if1040)?2:6;\nbreak;\ncase 2: $ans1043 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[373],L[374]);\nvar anf_fun112 = $ans1043;\n$ans1043 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[375],L[376]);\nvar anf_fun1019 = $ans1043;\n$step1042 = 3;\n$al1044 = L[378];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"text\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1035 = $ans1043;\n$step1042 = 4;\n$al1044 = L[376];\nif(typeof(anf_fun1019.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun1019);\n}\n$ans1043 = anf_fun1019.app(anf_arg1035);\nbreak;\ncase 4: var anf_arg934 = $ans1043;\n$step1042 = 5;\n$al1044 = L[377];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"cmcode\"].app(sender1018);\nbreak;\ncase 5: var anf_arg946 = $ans1043;\n$step1042 = 9;\n$al1044 = L[374];\nif(typeof(anf_fun112.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun112);\n}\n$ans1043 = anf_fun112.app(anf_arg934,anf_arg946);\nbreak;\ncase 6: $ans1043 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[379],L[380]);\nvar anf_fun1036 = $ans1043;\n$step1042 = 7;\n$al1044 = L[382];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"text\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg950 = $ans1043;\n$step1042 = 8;\n$al1044 = L[381];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1043 = ED5.dict.values.dict[\"loc\"].app(sender1018);\nbreak;\ncase 8: var anf_arg1039 = $ans1043;\n$step1042 = 9;\n$al1044 = L[380];\nif(typeof(anf_fun1036.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1044,anf_fun1036);\n}\n$ans1043 = anf_fun1036.app(anf_arg950,anf_arg1039);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1043;\ndefault: R.ffi.throwSpinnakerError(L[383],$step1042);\n}\n}\nif($step1042 !== 9) {\n$ans1043.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1044,$temp_branch1041,$step1042,[sender1018],[anf_fun1019,anf_arg950,anf_arg934,anf_fun112,anf_fun1036],$elidedFrames1046);\n}\nreturn $ans1043;\n};\n$ans1001 = cases1017.$app_fields($temp_branch1041,[false]);\nbreak;\ncase 34: if(cases1017.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[388],false,L[385],cases1017.$loc);\n}\n$ans1001 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[386],L[387]);\nvar anf_fun1048 = $ans1001;\n$step995 = 37;\n$al1002 = L[387];\nif(typeof(anf_fun1048.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1048);\n}\n$ans1001 = anf_fun1048.app();\nbreak;\ncase 35: $ans1001 = R.throwNoCasesMatched(L[385],cases1017);\n$step995 = 37;\nbreak;\ncase 36: $ans1001 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[391],L[392]);\nvar anf_fun150 = $ans1001;\n$step995 = 37;\n$al1002 = L[392];\nif(typeof(anf_fun150.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun150);\n}\n$ans1001 = anf_fun150.app();\nbreak;\ncase 37: var anf_arg990 = $ans1001;\n$step995 = 38;\n$al1002 = L[368];\nif(typeof(anf_fun1006.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1002,anf_fun1006);\n}\n$ans1001 = anf_fun1006.app(anf_arg1015,anf_arg918,anf_arg1016,anf_arg990);\nbreak;\ncase 38: ++R.GAS;\nreturn $ans1001;\ndefault: R.ffi.throwSpinnakerError(L[366],$step995);\n}\n}\nif($step995 !== 38) {\n$ans1001.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1002,$temp_full996,$step995,[self453,loc5685,from$fail$arg997,maybe$stack$loc998,src$available999,maybe$ast1000],[anf_arg1095,anf_fun1104,anf_fun1006,anf_arg1086,anf_arg1088,anf_arg1099,anf_arg1089,anf_arg1100,anf_arg1101,anf_arg1015,anf_arg1016,anf_arg1105,anf_arg1106,anf_arg861,anf_fun1060,cases1017,anf_arg905,anf_fun86,anf_fun1098,anf_arg918,anf_fun1102],$elidedFrames1004);\n}\nreturn $ans1001;\n};\nvar anf_variant_member1818 = R.makeMethod5($temp_full996,\"render-fancy-reason\");\nvar $temp_full1111 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__426($self1112,$loc1113,$from$fail$arg1114) {\nvar $step1110 = 0;\nvar $elidedFrames1118 = 0;\nvar $ans1115 = D;\nvar $al1116 = L[426];\nif(R.isAR($self1112)) {\n$step1110 = $self1112.step;\n$al1116 = $self1112.from;\n$ans1115 = $self1112.ans;\n$elidedFrames1118 = $self1112.elidedFrames;\nself1112 = $self1112.args[0];\nloc1113 = $self1112.args[1];\nfrom$fail$arg1114 = $self1112.args[2];\nanf_arg1155 = $self1112.vars[0];\nanf_arg1123 = $self1112.vars[1];\nanf_arg1124 = $self1112.vars[2];\nmessage1151 = $self1112.vars[3];\nanf_arg991 = $self1112.vars[4];\nanf_arg984 = $self1112.vars[5];\nanf_fun1160 = $self1112.vars[6];\nanf_fun1154 = $self1112.vars[7];\nanf_fun1122 = $self1112.vars[8];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[426],3,$t,true);\n}\nvar self1112 = $self1112;\nvar loc1113 = $loc1113;\nvar from$fail$arg1114 = $from$fail$arg1114;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1115 = R.mC();\n}\nwhile(!R.isContinuation($ans1115)) {\nswitch($step1110) {\ncase 0: $ans1115 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[427],L[428]);\nvar anf_fun1122 = $ans1115;\n$step1110 = 1;\n$al1116 = L[451];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"The predicate\"));\nbreak;\ncase 1: var anf_arg1123 = $ans1115;\n$al1116 = L[429];\nvar anf_arg976 = G(self1112,\"name\",L[429]);\n$step1110 = 2;\n$al1116 = L[450];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app(anf_arg976);\nbreak;\ncase 2: var anf_arg1121 = $ans1115;\n$step1110 = 3;\n$al1116 = L[449];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"code\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"code\"].app(anf_arg1121);\nbreak;\ncase 3: var anf_arg1124 = $ans1115;\n$step1110 = 4;\n$al1116 = L[448];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"in the annotation at\"));\nbreak;\ncase 4: var anf_arg984 = $ans1115;\n// caller optimization;\n$ans1115 = draw$and$highlight44.$var.app(loc1113);\nvar anf_arg991 = $ans1115;\n$step1110 = 5;\n$al1116 = L[447];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"text\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"text\"].app((\"returned false for this value:\"));\nbreak;\ncase 5: var anf_arg987 = $ans1115;\n$step1110 = 6;\n$al1116 = L[428];\nif(typeof(anf_fun1122.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1122);\n}\n$ans1115 = anf_fun1122.app(anf_arg1123,anf_arg1124,anf_arg984,anf_arg991,anf_arg987);\nbreak;\ncase 6: var message1151 = $ans1115;\n$step1110 = R.checkPyretTrue(from$fail$arg1114)?7:10;\nbreak;\ncase 7: var $temp_lam1126 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__430($l1127) {\nvar $step1125 = 0;\nvar $elidedFrames1131 = 0;\nvar $ans1128 = D;\nvar $al1129 = L[430];\nif(R.isAR($l1127)) {\n$step1125 = $l1127.step;\n$al1129 = $l1127.from;\n$ans1128 = $l1127.ans;\n$elidedFrames1131 = $l1127.elidedFrames;\nl1127 = $l1127.args[0];\nanf_fun192 = $l1127.vars[0];\nanf_arg988 = $l1127.vars[1];\nanf_fun206 = $l1127.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[430],1,$t,false);\n}\nvar l1127 = $l1127;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1128 = R.mC();\n}\nwhile(!R.isContinuation($ans1128)) {\nswitch($step1125) {\ncase 0: $ans1128 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[431],L[432]);\nvar anf_fun192 = $ans1128;\n$al1129 = L[433];\nvar anf_arg1138 = G(self1112,\"val\",L[433]);\n$step1125 = 1;\n$al1129 = L[437];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1128 = ED5.dict.values.dict[\"embed\"].app(anf_arg1138);\nbreak;\ncase 1: var anf_arg988 = $ans1128;\n$ans1128 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[434],L[435]);\nvar anf_fun206 = $ans1128;\n$step1125 = 2;\n$al1129 = L[436];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,ED5.dict.values.dict[\"text\"]);\n}\n$ans1128 = ED5.dict.values.dict[\"text\"].app((\"called from around\"));\nbreak;\ncase 2: var anf_arg992 = $ans1128;\n// caller optimization;\n$ans1128 = draw$and$highlight44.$var.app(l1127);\nvar anf_arg1150 = $ans1128;\n$step1125 = 3;\n$al1129 = L[435];\nif(typeof(anf_fun206.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,anf_fun206);\n}\n$ans1128 = anf_fun206.app(anf_arg992,anf_arg1150);\nbreak;\ncase 3: var anf_arg1152 = $ans1128;\n$step1125 = 4;\n$al1129 = L[432];\nif(typeof(anf_fun192.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1129,anf_fun192);\n}\n$ans1128 = anf_fun192.app(message1151,anf_arg988,anf_arg1152);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1128;\ndefault: R.ffi.throwSpinnakerError(L[430],$step1125);\n}\n}\nif($step1125 !== 4) {\n$ans1128.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1129,$temp_lam1126,$step1125,[l1127],[anf_fun192,anf_arg988,anf_fun206],$elidedFrames1131);\n}\nreturn $ans1128;\n};\nvar anf_arg1155 = R.mF($temp_lam1126,\"\");\n$ans1115 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[438],L[439]);\nvar anf_fun1154 = $ans1115;\n$al1116 = L[440];\nvar anf_arg1009 = G(self1112,\"val\",L[440]);\n$step1110 = 8;\n$al1116 = L[442];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"embed\"].app(anf_arg1009);\nbreak;\ncase 8: var anf_arg1013 = $ans1115;\n$step1110 = 9;\n$al1116 = L[439];\nif(typeof(anf_fun1154.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1154);\n}\n$ans1115 = anf_fun1154.app(message1151,anf_arg1013);\nbreak;\ncase 9: var anf_arg1159 = $ans1115;\n$step1110 = 12;\n$al1116 = L[441];\nif(typeof(ED5.dict.values.dict[\"maybe-stack-loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"maybe-stack-loc\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"maybe-stack-loc\"].app((0),(true),anf_arg1155,anf_arg1159);\nbreak;\ncase 10: $ans1115 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[443],L[444]);\nvar anf_fun1160 = $ans1115;\n$al1116 = L[445];\nvar anf_arg1014 = G(self1112,\"val\",L[445]);\n$step1110 = 11;\n$al1116 = L[446];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1115 = ED5.dict.values.dict[\"embed\"].app(anf_arg1014);\nbreak;\ncase 11: var anf_arg1025 = $ans1115;\n$step1110 = 12;\n$al1116 = L[444];\nif(typeof(anf_fun1160.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1116,anf_fun1160);\n}\n$ans1115 = anf_fun1160.app(message1151,anf_arg1025);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1115;\ndefault: R.ffi.throwSpinnakerError(L[426],$step1110);\n}\n}\nif($step1110 !== 12) {\n$ans1115.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1116,$temp_full1111,$step1110,[self1112,loc1113,from$fail$arg1114],[anf_arg1155,anf_arg1123,anf_arg1124,message1151,anf_arg991,anf_arg984,anf_fun1160,anf_fun1154,anf_fun1122],$elidedFrames1118);\n}\nreturn $ans1115;\n};\nvar anf_variant_member1819 = R.makeMethod2($temp_full1111,\"render-reason\");\nvar $temp_full1163 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__452($self1164,$loc1165,$from$fail$arg1166,$maybe$stack$loc1167,$src$available1168,$maybe$ast1169) {\nvar $step1162 = 0;\nvar $elidedFrames1173 = 0;\nvar $ans1170 = D;\nvar $al1171 = L[452];\nif(R.isAR($self1164)) {\n$step1162 = $self1164.step;\n$al1171 = $self1164.from;\n$ans1170 = $self1164.ans;\n$elidedFrames1173 = $self1164.elidedFrames;\nself1164 = $self1164.args[0];\nloc1165 = $self1164.args[1];\nfrom$fail$arg1166 = $self1164.args[2];\nmaybe$stack$loc1167 = $self1164.args[3];\nsrc$available1168 = $self1164.args[4];\nmaybe$ast1169 = $self1164.args[5];\nanf_arg1282 = $self1164.vars[0];\nanf_arg1020 = $self1164.vars[1];\nanf_arg1252 = $self1164.vars[2];\nanf_arg1297 = $self1164.vars[3];\nanf_arg1243 = $self1164.vars[4];\nanf_arg392 = $self1164.vars[5];\nanf_arg1279 = $self1164.vars[6];\nanf_arg1247 = $self1164.vars[7];\nanf_arg1038 = $self1164.vars[8];\ncases1254 = $self1164.vars[9];\nanf_arg437 = $self1164.vars[10];\nanf_fun1280 = $self1164.vars[11];\nanf_fun1292 = $self1164.vars[12];\nanf_fun1294 = $self1164.vars[13];\nanf_fun1174 = $self1164.vars[14];\nanf_fun1242 = $self1164.vars[15];\nanf_fun1275 = $self1164.vars[16];\nanf_fun1244 = $self1164.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[452],6,$t,true);\n}\nvar self1164 = $self1164;\nvar loc1165 = $loc1165;\nvar from$fail$arg1166 = $from$fail$arg1166;\nvar maybe$stack$loc1167 = $maybe$stack$loc1167;\nvar src$available1168 = $src$available1168;\nvar maybe$ast1169 = $maybe$ast1169;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1170 = R.mC();\n}\nwhile(!R.isContinuation($ans1170)) {\nswitch($step1162) {\ncase 0: $ans1170 = R.getMaker5(ED5.dict.values.dict[\"error\"],(\"make5\"),L[453],L[454]);\nvar anf_fun1244 = $ans1170;\n$step1162 = 1;\n$ans1170 = R.maybeMethodCall0(loc1165,\"is-builtin\",L[455]);\nbreak;\ncase 1: var anf_if1299 = $ans1170;\n$step1162 = R.checkPyretTrue(anf_if1299)?2:5;\nbreak;\ncase 2: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[511],L[512]);\nvar anf_fun1275 = $ans1170;\n$step1162 = 3;\n$al1171 = L[514];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"A record annotation in \"));\nbreak;\ncase 3: var anf_arg1020 = $ans1170;\n$step1162 = 4;\n$al1171 = L[513];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"loc\"].app(loc1165);\nbreak;\ncase 4: var anf_arg1277 = $ans1170;\n$step1162 = 17;\n$al1171 = L[512];\nif(typeof(anf_fun1275.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1275);\n}\n$ans1170 = anf_fun1275.app(anf_arg1020,anf_arg1277);\nbreak;\ncase 5: $step1162 = 6;\n$al1171 = L[529];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,src$available1168);\n}\n$ans1170 = src$available1168.app(loc1165);\nbreak;\ncase 6: var anf_if1298 = $ans1170;\n$step1162 = R.checkPyretTrue(anf_if1298)?7:14;\nbreak;\ncase 7: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[515],L[516]);\nvar anf_fun1292 = $ans1170;\n$ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[517],L[518]);\nvar anf_fun1280 = $ans1170;\n$step1162 = 8;\n$al1171 = L[524];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 8: var anf_arg1282 = $ans1170;\n$step1162 = 9;\n$al1171 = L[523];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"record annotation\"));\nbreak;\ncase 9: var anf_arg1279 = $ans1170;\n$ans1170 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[519],L[520]);\nvar anf_fun1278 = $ans1170;\n$step1162 = 10;\n$al1171 = L[520];\nif(typeof(anf_fun1278.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1278);\n}\n$ans1170 = anf_fun1278.app(loc1165);\nbreak;\ncase 10: var anf_arg1037 = $ans1170;\n$step1162 = 11;\n$al1171 = L[522];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1279,anf_arg1037,(-1));\nbreak;\ncase 11: var anf_arg1291 = $ans1170;\n$step1162 = 12;\n$al1171 = L[518];\nif(typeof(anf_fun1280.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1280);\n}\n$ans1170 = anf_fun1280.app(anf_arg1282,anf_arg1291);\nbreak;\ncase 12: var anf_arg1038 = $ans1170;\n$step1162 = 13;\n$al1171 = L[521];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"cmcode\"].app(loc1165);\nbreak;\ncase 13: var anf_arg1293 = $ans1170;\n$step1162 = 17;\n$al1171 = L[516];\nif(typeof(anf_fun1292.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1292);\n}\n$ans1170 = anf_fun1292.app(anf_arg1038,anf_arg1293);\nbreak;\ncase 14: $ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[525],L[526]);\nvar anf_fun1294 = $ans1170;\n$step1162 = 15;\n$al1171 = L[528];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"The record annotation at \"));\nbreak;\ncase 15: var anf_arg1297 = $ans1170;\n$step1162 = 16;\n$al1171 = L[527];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"loc\"].app(loc1165);\nbreak;\ncase 16: var anf_arg1053 = $ans1170;\n$step1162 = 17;\n$al1171 = L[526];\nif(typeof(anf_fun1294.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1294);\n}\n$ans1170 = anf_fun1294.app(anf_arg1297,anf_arg1053);\nbreak;\ncase 17: var anf_arg1247 = $ans1170;\n$ans1170 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[456],L[457]);\nvar anf_fun1174 = $ans1170;\n$step1162 = 18;\n$al1171 = L[510];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 18: var anf_arg1054 = $ans1170;\n$step1162 = 19;\n$al1171 = L[457];\nif(typeof(anf_fun1174.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1174);\n}\n$ans1170 = anf_fun1174.app(anf_arg1054);\nbreak;\ncase 19: var anf_arg1252 = $ans1170;\n$al1171 = L[458];\nvar anf_arg1057 = G(self1164,\"val\",L[458]);\n$step1162 = 20;\n$al1171 = L[509];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"embed\"].app(anf_arg1057);\nbreak;\ncase 20: var anf_arg392 = $ans1170;\n$step1162 = R.checkPyretTrue(from$fail$arg1166)?21:27;\nbreak;\ncase 21: $step1162 = 22;\n$al1171 = L[506];\nif(typeof(maybe$stack$loc1167.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,maybe$stack$loc1167);\n}\n$ans1170 = maybe$stack$loc1167.app((1),(true));\nbreak;\ncase 22: var cases1254 = $ans1170;\n$step1162 = 23;\n$al1171 = L[505];\nvar $ann$check1273 = R._cA(L[505],Option4,cases1254);\nif(R.isContinuation($ann$check1273)) {\n$ans1170 = $ann$check1273;\n}\nbreak;\ncase 23: $al1171 = L[501];\n$step1162 = $cases_dispatch1272[cases1254.$name] || 26;\nbreak;\ncase 24: if(cases1254.$arity !== 1) {\nif(cases1254.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[500],1,cases1254.$arity,L[501],cases1254.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[500],true,L[501],cases1254.$loc);\n}\n}\n$step1162 = 28;\n$al1171 = L[500];\nvar $temp_branch1264 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__501($sender1255) {\nvar $step1265 = 0;\nvar $elidedFrames1269 = 0;\nvar $ans1266 = D;\nvar $al1267 = L[499];\nif(R.isAR($sender1255)) {\n$step1265 = $sender1255.step;\n$al1267 = $sender1255.from;\n$ans1266 = $sender1255.ans;\n$elidedFrames1269 = $sender1255.elidedFrames;\nsender1255 = $sender1255.args[0];\nanf_fun1258 = $sender1255.vars[0];\nanf_arg1261 = $sender1255.vars[1];\nanf_arg1259 = $sender1255.vars[2];\nanf_fun1260 = $sender1255.vars[3];\nanf_fun405 = $sender1255.vars[4];\n} else {\nvar sender1255 = $sender1255;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1266 = R.mC();\n}\nwhile(!R.isContinuation($ans1266)) {\nswitch($step1265) {\ncase 0: $step1265 = 1;\n$al1267 = L[499];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,src$available1168);\n}\n$ans1266 = src$available1168.app(sender1255);\nbreak;\ncase 1: var anf_if1263 = $ans1266;\n$step1265 = R.checkPyretTrue(anf_if1263)?2:6;\nbreak;\ncase 2: $ans1266 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[489],L[490]);\nvar anf_fun1258 = $ans1266;\n$ans1266 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[491],L[492]);\nvar anf_fun405 = $ans1266;\n$step1265 = 3;\n$al1267 = L[494];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"text\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1257 = $ans1266;\n$step1265 = 4;\n$al1267 = L[492];\nif(typeof(anf_fun405.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun405);\n}\n$ans1266 = anf_fun405.app(anf_arg1257);\nbreak;\ncase 4: var anf_arg1259 = $ans1266;\n$step1265 = 5;\n$al1267 = L[493];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"cmcode\"].app(sender1255);\nbreak;\ncase 5: var anf_arg1068 = $ans1266;\n$step1265 = 9;\n$al1267 = L[490];\nif(typeof(anf_fun1258.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun1258);\n}\n$ans1266 = anf_fun1258.app(anf_arg1259,anf_arg1068);\nbreak;\ncase 6: $ans1266 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[495],L[496]);\nvar anf_fun1260 = $ans1266;\n$step1265 = 7;\n$al1267 = L[498];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"text\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1261 = $ans1266;\n$step1265 = 8;\n$al1267 = L[497];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1266 = ED5.dict.values.dict[\"loc\"].app(sender1255);\nbreak;\ncase 8: var anf_arg433 = $ans1266;\n$step1265 = 9;\n$al1267 = L[496];\nif(typeof(anf_fun1260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1267,anf_fun1260);\n}\n$ans1266 = anf_fun1260.app(anf_arg1261,anf_arg433);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1266;\ndefault: R.ffi.throwSpinnakerError(L[499],$step1265);\n}\n}\nif($step1265 !== 9) {\n$ans1266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1267,$temp_branch1264,$step1265,[sender1255],[anf_fun1258,anf_arg1261,anf_arg1259,anf_fun1260,anf_fun405],$elidedFrames1269);\n}\nreturn $ans1266;\n};\n$ans1170 = cases1254.$app_fields($temp_branch1264,[false]);\nbreak;\ncase 25: if(cases1254.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[504],false,L[501],cases1254.$loc);\n}\n$ans1170 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[502],L[503]);\nvar anf_fun1271 = $ans1170;\n$step1162 = 28;\n$al1171 = L[503];\nif(typeof(anf_fun1271.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1271);\n}\n$ans1170 = anf_fun1271.app();\nbreak;\ncase 26: $ans1170 = R.throwNoCasesMatched(L[501],cases1254);\n$step1162 = 28;\nbreak;\ncase 27: $ans1170 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[507],L[508]);\nvar anf_fun1274 = $ans1170;\n$step1162 = 28;\n$al1171 = L[508];\nif(typeof(anf_fun1274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1274);\n}\n$ans1170 = anf_fun1274.app();\nbreak;\ncase 28: var anf_arg437 = $ans1170;\n$ans1170 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[459],L[460]);\nvar anf_fun1242 = $ans1170;\n$step1162 = 29;\n$al1171 = L[488];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"text\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"text\"].app((\"because, \"));\nbreak;\ncase 29: var anf_arg1243 = $ans1170;\nvar $temp_lam1176 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__461($n1177,$failure1178) {\nvar $step1175 = 0;\nvar $elidedFrames1182 = 0;\nvar $ans1179 = D;\nvar $al1180 = L[461];\nif(R.isAR($n1177)) {\n$step1175 = $n1177.step;\n$al1180 = $n1177.from;\n$ans1179 = $n1177.ans;\n$elidedFrames1182 = $n1177.elidedFrames;\nn1177 = $n1177.args[0];\nfailure1178 = $n1177.args[1];\ncases1183 = $n1177.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[461],2,$t,false);\n}\nvar n1177 = $n1177;\nvar failure1178 = $failure1178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1179 = R.mC();\n}\nwhile(!R.isContinuation($ans1179)) {\nswitch($step1175) {\ncase 0: var cases1183 = failure1178;\n$step1175 = 1;\n$al1180 = L[484];\nvar $ann$check1232 = R._cA(L[484],FieldFailure1231,cases1183);\nif(R.isContinuation($ann$check1232)) {\n$ans1179 = $ann$check1232;\n}\nbreak;\ncase 1: $al1180 = L[481];\n$step1175 = $cases_dispatch1230[cases1183.$name] || 4;\nbreak;\ncase 2: if(cases1183.$arity !== 2) {\nif(cases1183.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[480],2,cases1183.$arity,L[481],cases1183.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[480],true,L[481],cases1183.$loc);\n}\n}\n$step1175 = 5;\n$al1180 = L[480];\nvar $temp_branch1218 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__481($fl1184,$ff1211) {\nvar $step1219 = 0;\nvar $elidedFrames1223 = 0;\nvar $ans1220 = D;\nvar $al1221 = L[479];\nif(R.isAR($fl1184)) {\n$step1219 = $fl1184.step;\n$al1221 = $fl1184.from;\n$ans1220 = $fl1184.ans;\n$elidedFrames1223 = $fl1184.elidedFrames;\nfl1184 = $fl1184.args[0];\nff1211 = $fl1184.args[1];\nanf_fun1214 = $fl1184.vars[0];\nanf_arg1210 = $fl1184.vars[1];\nanf_arg1147 = $fl1184.vars[2];\nanf_arg1149 = $fl1184.vars[3];\nanf_arg451 = $fl1184.vars[4];\nanf_arg498 = $fl1184.vars[5];\nanf_arg467 = $fl1184.vars[6];\nanf_arg469 = $fl1184.vars[7];\nanf_fun1212 = $fl1184.vars[8];\n} else {\nvar fl1184 = $fl1184;\nvar ff1211 = $ff1211;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1220 = R.mC();\n}\nwhile(!R.isContinuation($ans1220)) {\nswitch($step1219) {\ncase 0: $step1219 = 1;\n$al1221 = L[479];\nif(typeof(src$available1168.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,src$available1168);\n}\n$ans1220 = src$available1168.app(fl1184);\nbreak;\ncase 1: var anf_if1217 = $ans1220;\n$step1219 = R.checkPyretTrue(anf_if1217)?2:10;\nbreak;\ncase 2: $ans1220 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[462],L[463]);\nvar anf_fun1212 = $ans1220;\n$step1219 = 3;\n$al1221 = L[471];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"The value was \"));\nbreak;\ncase 3: var anf_arg451 = $ans1220;\n$step1219 = 4;\n$al1221 = L[470];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"expected\"));\nbreak;\ncase 4: var anf_arg1210 = $ans1220;\n$ans1220 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[464],L[465]);\nvar anf_fun1185 = $ans1220;\n$step1219 = 5;\n$al1221 = L[465];\nif(typeof(anf_fun1185.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1185);\n}\n$ans1220 = anf_fun1185.app(fl1184);\nbreak;\ncase 5: var anf_arg1133 = $ans1220;\n$step1219 = 6;\n$al1221 = L[469];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1210,anf_arg1133,n1177);\nbreak;\ncase 6: var anf_arg467 = $ans1220;\n$step1219 = 7;\n$al1221 = L[468];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\" to have a field named \"));\nbreak;\ncase 7: var anf_arg469 = $ans1220;\n$step1219 = 8;\n$al1221 = L[467];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app(ff1211);\nbreak;\ncase 8: var anf_arg1143 = $ans1220;\n$step1219 = 9;\n$al1221 = L[466];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"code\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"code\"].app(anf_arg1143);\nbreak;\ncase 9: var anf_arg1213 = $ans1220;\n$step1219 = 16;\n$al1221 = L[463];\nif(typeof(anf_fun1212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1212);\n}\n$ans1220 = anf_fun1212.app(anf_arg451,anf_arg467,anf_arg469,anf_arg1213);\nbreak;\ncase 10: $ans1220 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[472],L[473]);\nvar anf_fun1214 = $ans1220;\n$step1219 = 11;\n$al1221 = L[478];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\"The value was expected to have a field named \"));\nbreak;\ncase 11: var anf_arg1147 = $ans1220;\n$step1219 = 12;\n$al1221 = L[477];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app(ff1211);\nbreak;\ncase 12: var anf_arg1148 = $ans1220;\n$step1219 = 13;\n$al1221 = L[476];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"code\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"code\"].app(anf_arg1148);\nbreak;\ncase 13: var anf_arg498 = $ans1220;\n$step1219 = 14;\n$al1221 = L[475];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"text\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 14: var anf_arg1149 = $ans1220;\n$step1219 = 15;\n$al1221 = L[474];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1220 = ED5.dict.values.dict[\"loc\"].app(fl1184);\nbreak;\ncase 15: var anf_arg1216 = $ans1220;\n$step1219 = 16;\n$al1221 = L[473];\nif(typeof(anf_fun1214.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1221,anf_fun1214);\n}\n$ans1220 = anf_fun1214.app(anf_arg1147,anf_arg498,anf_arg1149,anf_arg1216);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1220;\ndefault: R.ffi.throwSpinnakerError(L[479],$step1219);\n}\n}\nif($step1219 !== 16) {\n$ans1220.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1221,$temp_branch1218,$step1219,[fl1184,ff1211],[anf_fun1214,anf_arg1210,anf_arg1147,anf_arg1149,anf_arg451,anf_arg498,anf_arg467,anf_arg469,anf_fun1212],$elidedFrames1223);\n}\nreturn $ans1220;\n};\n$ans1179 = cases1183.$app_fields($temp_branch1218,[false,false]);\nbreak;\ncase 3: if(cases1183.$arity !== 3) {\nif(cases1183.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[483],3,cases1183.$arity,L[481],cases1183.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[483],true,L[481],cases1183.$loc);\n}\n}\nvar $fn1226 = cases1183.$constructor.$fieldNames;\nR.dF(cases1183.dict[$fn1226[0]],cases1183.$mut_fields_mask[0],false);\nR.dF(cases1183.dict[$fn1226[1]],cases1183.$mut_fields_mask[1],false);\nR.dF(cases1183.dict[$fn1226[2]],cases1183.$mut_fields_mask[2],false);\n$step1175 = 5;\n$ans1179 = R.maybeMethodCall2(failure1178,\"render-reason\",L[482],loc1165,from$fail$arg1166);\nbreak;\ncase 4: $ans1179 = R.throwNoCasesMatched(L[481],cases1183);\n$step1175 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans1179;\ndefault: R.ffi.throwSpinnakerError(L[461],$step1175);\n}\n}\nif($step1175 !== 5) {\n$ans1179.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1180,$temp_lam1176,$step1175,[n1177,failure1178],[cases1183],$elidedFrames1182);\n}\nreturn $ans1179;\n};\nvar anf_arg513 = R.mF($temp_lam1176,\"\");\n$al1171 = L[485];\nvar anf_arg1241 = G(self1164,\"field-failures\",L[485]);\n$step1162 = 30;\n$al1171 = L[487];\n// omitting isFunction check;\n$ans1170 = map_n1.app(anf_arg513,(1),anf_arg1241);\nbreak;\ncase 30: var anf_arg1164 = $ans1170;\n$step1162 = 31;\n$al1171 = L[486];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1170 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1164);\nbreak;\ncase 31: var anf_arg523 = $ans1170;\n$step1162 = 32;\n$al1171 = L[460];\nif(typeof(anf_fun1242.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1242);\n}\n$ans1170 = anf_fun1242.app(anf_arg1243,anf_arg523);\nbreak;\ncase 32: var anf_arg1253 = $ans1170;\n$step1162 = 33;\n$al1171 = L[454];\nif(typeof(anf_fun1244.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1171,anf_fun1244);\n}\n$ans1170 = anf_fun1244.app(anf_arg1247,anf_arg1252,anf_arg392,anf_arg437,anf_arg1253);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1170;\ndefault: R.ffi.throwSpinnakerError(L[452],$step1162);\n}\n}\nif($step1162 !== 33) {\n$ans1170.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1171,$temp_full1163,$step1162,[self1164,loc1165,from$fail$arg1166,maybe$stack$loc1167,src$available1168,maybe$ast1169],[anf_arg1282,anf_arg1020,anf_arg1252,anf_arg1297,anf_arg1243,anf_arg392,anf_arg1279,anf_arg1247,anf_arg1038,cases1254,anf_arg437,anf_fun1280,anf_fun1292,anf_fun1294,anf_fun1174,anf_fun1242,anf_fun1275,anf_fun1244],$elidedFrames1173);\n}\nreturn $ans1170;\n};\nvar anf_variant_member1828 = R.makeMethod5($temp_full1163,\"render-fancy-reason\");\nvar $temp_full1305 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__530($self1306,$loc1307,$from$fail$arg1308) {\nvar $step1304 = 0;\nvar $elidedFrames1313 = 0;\nvar $ans1310 = D;\nvar $al1311 = L[530];\nif(R.isAR($self1306)) {\n$step1304 = $self1306.step;\n$al1311 = $self1306.from;\n$ans1310 = $self1306.ans;\n$elidedFrames1313 = $self1306.elidedFrames;\nself1306 = $self1306.args[0];\nloc1307 = $self1306.args[1];\nfrom$fail$arg1308 = $self1306.args[2];\nanf_arg1194 = $self1306.vars[0];\nanf_fun1314 = $self1306.vars[1];\nanf_fun1326 = $self1306.vars[2];\nanf_arg1344 = $self1306.vars[3];\nanf_arg1345 = $self1306.vars[4];\nanf_arg1209 = $self1306.vars[5];\nanf_arg538 = $self1306.vars[6];\nanf_fun536 = $self1306.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[530],3,$t,true);\n}\nvar self1306 = $self1306;\nvar loc1307 = $loc1307;\nvar from$fail$arg1308 = $from$fail$arg1308;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1310 = R.mC();\n}\nwhile(!R.isContinuation($ans1310)) {\nswitch($step1304) {\ncase 0: $ans1310 = R.getMaker4(ED5.dict.values.dict[\"vert\"],(\"make4\"),L[531],L[532]);\nvar anf_fun536 = $ans1310;\n$ans1310 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[533],L[534]);\nvar anf_fun1314 = $ans1310;\n$step1304 = 1;\n$al1311 = L[546];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\"The record annotation at \"));\nbreak;\ncase 1: var anf_arg538 = $ans1310;\n$step1304 = 2;\n$al1311 = L[545];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"loc\"].app(loc1307);\nbreak;\ncase 2: var anf_arg1194 = $ans1310;\n$step1304 = 3;\n$al1311 = L[544];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\" failed on this value:\"));\nbreak;\ncase 3: var anf_arg1325 = $ans1310;\n$step1304 = 4;\n$al1311 = L[534];\nif(typeof(anf_fun1314.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun1314);\n}\n$ans1310 = anf_fun1314.app(anf_arg538,anf_arg1194,anf_arg1325);\nbreak;\ncase 4: var anf_arg1209 = $ans1310;\n$al1311 = L[535];\nvar anf_arg552 = G(self1306,\"val\",L[535]);\n$step1304 = 5;\n$al1311 = L[543];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"embed\"].app(anf_arg552);\nbreak;\ncase 5: var anf_arg1344 = $ans1310;\n$ans1310 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[536],L[537]);\nvar anf_fun1326 = $ans1310;\n$step1304 = 6;\n$al1311 = L[542];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"text\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"text\"].app((\"Because:\"));\nbreak;\ncase 6: var anf_arg1327 = $ans1310;\n$step1304 = 7;\n$al1311 = L[537];\nif(typeof(anf_fun1326.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun1326);\n}\n$ans1310 = anf_fun1326.app(anf_arg1327);\nbreak;\ncase 7: var anf_arg1345 = $ans1310;\n$al1311 = L[538];\nvar anf_method_obj1337 = G(self1306,\"field-failures\",L[538]);\nvar $temp_lam1329 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__539($recv_1330) {\nvar $step1328 = 0;\nvar $elidedFrames1335 = 0;\nvar $ans1332 = D;\nvar $al1333 = L[539];\nif(R.isAR($recv_1330)) {\n$step1328 = $recv_1330.step;\n$al1333 = $recv_1330.from;\n$ans1332 = $recv_1330.ans;\n$elidedFrames1335 = $recv_1330.elidedFrames;\nrecv_1330 = $recv_1330.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[539],1,$t,false);\n}\nvar recv_1330 = $recv_1330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1332 = R.mC();\n}\nwhile(!R.isContinuation($ans1332)) {\nswitch($step1328) {\ncase 0: $step1328 = 1;\n$ans1332 = R.maybeMethodCall2(recv_1330,\"render-reason\",L[539],loc1307,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1332;\ndefault: R.ffi.throwSpinnakerError(L[539],$step1328);\n}\n}\nif($step1328 !== 1) {\n$ans1332.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1333,$temp_lam1329,$step1328,[recv_1330],[],$elidedFrames1335);\n}\nreturn $ans1332;\n};\nvar anf_arg1343 = R.mF($temp_lam1329,\"\");\n$step1304 = 8;\n$ans1310 = R.maybeMethodCall1(anf_method_obj1337,\"map\",L[540],anf_arg1343);\nbreak;\ncase 8: var anf_arg1234 = $ans1310;\n$step1304 = 9;\n$al1311 = L[541];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1310 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1234);\nbreak;\ncase 9: var anf_arg1236 = $ans1310;\n$step1304 = 10;\n$al1311 = L[532];\nif(typeof(anf_fun536.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1311,anf_fun536);\n}\n$ans1310 = anf_fun536.app(anf_arg1209,anf_arg1344,anf_arg1345,anf_arg1236);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1310;\ndefault: R.ffi.throwSpinnakerError(L[530],$step1304);\n}\n}\nif($step1304 !== 10) {\n$ans1310.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1311,$temp_full1305,$step1304,[self1306,loc1307,from$fail$arg1308],[anf_arg1194,anf_fun1314,anf_fun1326,anf_arg1344,anf_arg1345,anf_arg1209,anf_arg538,anf_fun536],$elidedFrames1313);\n}\nreturn $ans1310;\n};\nvar anf_variant_member1719 = R.makeMethod2($temp_full1305,\"render-reason\");\nvar $temp_full1350 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__547($self1351,$loc1352,$from$fail$arg1353,$maybe$stack$loc1354,$src$available1355,$maybe$ast1356) {\nvar $step1349 = 0;\nvar $elidedFrames1360 = 0;\nvar $ans1357 = D;\nvar $al1358 = L[547];\nif(R.isAR($self1351)) {\n$step1349 = $self1351.step;\n$al1358 = $self1351.from;\n$ans1357 = $self1351.ans;\n$elidedFrames1360 = $self1351.elidedFrames;\nself1351 = $self1351.args[0];\nloc1352 = $self1351.args[1];\nfrom$fail$arg1353 = $self1351.args[2];\nmaybe$stack$loc1354 = $self1351.args[3];\nsrc$available1355 = $self1351.args[4];\nmaybe$ast1356 = $self1351.args[5];\nanf_arg1382 = $self1351.vars[0];\nanf_arg1463 = $self1351.vars[1];\nanf_arg1342 = $self1351.vars[2];\nanf_arg1288 = $self1351.vars[3];\nanf_fun1506 = $self1351.vars[4];\nanf_arg1498 = $self1351.vars[5];\nanf_arg1465 = $self1351.vars[6];\nanf_arg1324 = $self1351.vars[7];\nanf_arg1446 = $self1351.vars[8];\ncases1466 = $self1351.vars[9];\nanf_arg649 = $self1351.vars[10];\nanf_arg617 = $self1351.vars[11];\nanf_fun1361 = $self1351.vars[12];\nanf_fun1440 = $self1351.vars[13];\nanf_fun1442 = $self1351.vars[14];\nanf_fun1486 = $self1351.vars[15];\nanf_fun1497 = $self1351.vars[16];\nanf_fun605 = $self1351.vars[17];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],6,$t,true);\n}\nvar self1351 = $self1351;\nvar loc1352 = $loc1352;\nvar from$fail$arg1353 = $from$fail$arg1353;\nvar maybe$stack$loc1354 = $maybe$stack$loc1354;\nvar src$available1355 = $src$available1355;\nvar maybe$ast1356 = $maybe$ast1356;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1357 = R.mC();\n}\nwhile(!R.isContinuation($ans1357)) {\nswitch($step1349) {\ncase 0: $ans1357 = R.getMaker5(ED5.dict.values.dict[\"error\"],(\"make5\"),L[548],L[549]);\nvar anf_fun1442 = $ans1357;\n$step1349 = 1;\n$ans1357 = R.maybeMethodCall0(loc1352,\"is-builtin\",L[550]);\nbreak;\ncase 1: var anf_if1513 = $ans1357;\n$step1349 = R.checkPyretTrue(anf_if1513)?2:5;\nbreak;\ncase 2: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[608],L[609]);\nvar anf_fun1486 = $ans1357;\n$step1349 = 3;\n$al1358 = L[611];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 3: var anf_arg1288 = $ans1357;\n$step1349 = 4;\n$al1358 = L[610];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"loc\"].app(loc1352);\nbreak;\ncase 4: var anf_arg602 = $ans1357;\n$step1349 = 17;\n$al1358 = L[609];\nif(typeof(anf_fun1486.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1486);\n}\n$ans1357 = anf_fun1486.app(anf_arg1288,anf_arg602);\nbreak;\ncase 5: $step1349 = 6;\n$al1358 = L[626];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,src$available1355);\n}\n$ans1357 = src$available1355.app(loc1352);\nbreak;\ncase 6: var anf_if1512 = $ans1357;\n$step1349 = R.checkPyretTrue(anf_if1512)?7:14;\nbreak;\ncase 7: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[612],L[613]);\nvar anf_fun605 = $ans1357;\n$ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[614],L[615]);\nvar anf_fun1497 = $ans1357;\n$step1349 = 8;\n$al1358 = L[621];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation in the \"));\nbreak;\ncase 8: var anf_arg1498 = $ans1357;\n$step1349 = 9;\n$al1358 = L[620];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"annotation\"));\nbreak;\ncase 9: var anf_arg617 = $ans1357;\n$ans1357 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[616],L[617]);\nvar anf_fun1487 = $ans1357;\n$step1349 = 10;\n$al1358 = L[617];\nif(typeof(anf_fun1487.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1487);\n}\n$ans1357 = anf_fun1487.app(loc1352);\nbreak;\ncase 10: var anf_arg1496 = $ans1357;\n$step1349 = 11;\n$al1358 = L[619];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"highlight\"].app(anf_arg617,anf_arg1496,(0));\nbreak;\ncase 11: var anf_arg624 = $ans1357;\n$step1349 = 12;\n$al1358 = L[615];\nif(typeof(anf_fun1497.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1497);\n}\n$ans1357 = anf_fun1497.app(anf_arg1498,anf_arg624);\nbreak;\ncase 12: var anf_arg1324 = $ans1357;\n$step1349 = 13;\n$al1358 = L[618];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"cmcode\"].app(loc1352);\nbreak;\ncase 13: var anf_arg1505 = $ans1357;\n$step1349 = 17;\n$al1358 = L[613];\nif(typeof(anf_fun605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun605);\n}\n$ans1357 = anf_fun605.app(anf_arg1324,anf_arg1505);\nbreak;\ncase 14: $ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[622],L[623]);\nvar anf_fun1506 = $ans1357;\n$step1349 = 15;\n$al1358 = L[625];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 15: var anf_arg649 = $ans1357;\n$step1349 = 16;\n$al1358 = L[624];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"loc\"].app(loc1352);\nbreak;\ncase 16: var anf_arg1511 = $ans1357;\n$step1349 = 17;\n$al1358 = L[623];\nif(typeof(anf_fun1506.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1506);\n}\n$ans1357 = anf_fun1506.app(anf_arg649,anf_arg1511);\nbreak;\ncase 17: var anf_arg1342 = $ans1357;\n$ans1357 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[551],L[552]);\nvar anf_fun1361 = $ans1357;\n$step1349 = 18;\n$al1358 = L[607];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"was not satisfied by the value\"));\nbreak;\ncase 18: var anf_arg1362 = $ans1357;\n$step1349 = 19;\n$al1358 = L[552];\nif(typeof(anf_fun1361.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1361);\n}\n$ans1357 = anf_fun1361.app(anf_arg1362);\nbreak;\ncase 19: var anf_arg1446 = $ans1357;\n$al1358 = L[553];\nvar anf_arg1363 = G(self1351,\"val\",L[553]);\n$step1349 = 20;\n$al1358 = L[606];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"embed\"].app(anf_arg1363);\nbreak;\ncase 20: var anf_arg1382 = $ans1357;\n$step1349 = R.checkPyretTrue(from$fail$arg1353)?21:27;\nbreak;\ncase 21: $step1349 = 22;\n$al1358 = L[603];\nif(typeof(maybe$stack$loc1354.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,maybe$stack$loc1354);\n}\n$ans1357 = maybe$stack$loc1354.app((1),(true));\nbreak;\ncase 22: var cases1466 = $ans1357;\n$step1349 = 23;\n$al1358 = L[602];\nvar $ann$check1484 = R._cA(L[602],Option4,cases1466);\nif(R.isContinuation($ann$check1484)) {\n$ans1357 = $ann$check1484;\n}\nbreak;\ncase 23: $al1358 = L[598];\n$step1349 = $cases_dispatch1482[cases1466.$name] || 26;\nbreak;\ncase 24: if(cases1466.$arity !== 1) {\nif(cases1466.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[597],1,cases1466.$arity,L[598],cases1466.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[597],true,L[598],cases1466.$loc);\n}\n}\n$step1349 = 28;\n$al1358 = L[597];\nvar $temp_branch1473 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__598($sender1467) {\nvar $step1474 = 0;\nvar $elidedFrames1478 = 0;\nvar $ans1475 = D;\nvar $al1476 = L[596];\nif(R.isAR($sender1467)) {\n$step1474 = $sender1467.step;\n$al1476 = $sender1467.from;\n$ans1475 = $sender1467.ans;\n$elidedFrames1478 = $sender1467.elidedFrames;\nsender1467 = $sender1467.args[0];\nanf_fun1468 = $sender1467.vars[0];\nanf_arg1470 = $sender1467.vars[1];\nanf_fun1469 = $sender1467.vars[2];\nanf_fun1416 = $sender1467.vars[3];\nanf_arg1407 = $sender1467.vars[4];\n} else {\nvar sender1467 = $sender1467;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1475 = R.mC();\n}\nwhile(!R.isContinuation($ans1475)) {\nswitch($step1474) {\ncase 0: $step1474 = 1;\n$al1476 = L[596];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,src$available1355);\n}\n$ans1475 = src$available1355.app(sender1467);\nbreak;\ncase 1: var anf_if1472 = $ans1475;\n$step1474 = R.checkPyretTrue(anf_if1472)?2:6;\nbreak;\ncase 2: $ans1475 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[586],L[587]);\nvar anf_fun1469 = $ans1475;\n$ans1475 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[588],L[589]);\nvar anf_fun1468 = $ans1475;\n$step1474 = 3;\n$al1476 = L[591];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"text\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1406 = $ans1475;\n$step1474 = 4;\n$al1476 = L[589];\nif(typeof(anf_fun1468.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1468);\n}\n$ans1475 = anf_fun1468.app(anf_arg1406);\nbreak;\ncase 4: var anf_arg1407 = $ans1475;\n$step1474 = 5;\n$al1476 = L[590];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"cmcode\"].app(sender1467);\nbreak;\ncase 5: var anf_arg1415 = $ans1475;\n$step1474 = 9;\n$al1476 = L[587];\nif(typeof(anf_fun1469.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1469);\n}\n$ans1475 = anf_fun1469.app(anf_arg1407,anf_arg1415);\nbreak;\ncase 6: $ans1475 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[592],L[593]);\nvar anf_fun1416 = $ans1475;\n$step1474 = 7;\n$al1476 = L[595];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"text\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1470 = $ans1475;\n$step1474 = 8;\n$al1476 = L[594];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1475 = ED5.dict.values.dict[\"loc\"].app(sender1467);\nbreak;\ncase 8: var anf_arg1471 = $ans1475;\n$step1474 = 9;\n$al1476 = L[593];\nif(typeof(anf_fun1416.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1476,anf_fun1416);\n}\n$ans1475 = anf_fun1416.app(anf_arg1470,anf_arg1471);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1475;\ndefault: R.ffi.throwSpinnakerError(L[596],$step1474);\n}\n}\nif($step1474 !== 9) {\n$ans1475.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1476,$temp_branch1473,$step1474,[sender1467],[anf_fun1468,anf_arg1470,anf_fun1469,anf_fun1416,anf_arg1407],$elidedFrames1478);\n}\nreturn $ans1475;\n};\n$ans1357 = cases1466.$app_fields($temp_branch1473,[false]);\nbreak;\ncase 25: if(cases1466.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[601],false,L[598],cases1466.$loc);\n}\n$ans1357 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[599],L[600]);\nvar anf_fun1481 = $ans1357;\n$step1349 = 28;\n$al1358 = L[600];\nif(typeof(anf_fun1481.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1481);\n}\n$ans1357 = anf_fun1481.app();\nbreak;\ncase 26: $ans1357 = R.throwNoCasesMatched(L[598],cases1466);\n$step1349 = 28;\nbreak;\ncase 27: $ans1357 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[604],L[605]);\nvar anf_fun1485 = $ans1357;\n$step1349 = 28;\n$al1358 = L[605];\nif(typeof(anf_fun1485.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1485);\n}\n$ans1357 = anf_fun1485.app();\nbreak;\ncase 28: var anf_arg1465 = $ans1357;\n$ans1357 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[554],L[555]);\nvar anf_fun1440 = $ans1357;\n$step1349 = 29;\n$al1358 = L[585];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"text\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"text\"].app((\"because, \"));\nbreak;\ncase 29: var anf_arg1463 = $ans1357;\nvar $temp_lam1365 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__556($n1366,$failure1367) {\nvar $step1364 = 0;\nvar $elidedFrames1371 = 0;\nvar $ans1368 = D;\nvar $al1369 = L[556];\nif(R.isAR($n1366)) {\n$step1364 = $n1366.step;\n$al1369 = $n1366.from;\n$ans1368 = $n1366.ans;\n$elidedFrames1371 = $n1366.elidedFrames;\nn1366 = $n1366.args[0];\nfailure1367 = $n1366.args[1];\ncases1372 = $n1366.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[556],2,$t,false);\n}\nvar n1366 = $n1366;\nvar failure1367 = $failure1367;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1368 = R.mC();\n}\nwhile(!R.isContinuation($ans1368)) {\nswitch($step1364) {\ncase 0: var cases1372 = failure1367;\n$step1364 = 1;\n$al1369 = L[581];\nvar $ann$check1438 = R._cA(L[581],FieldFailure1231,cases1372);\nif(R.isContinuation($ann$check1438)) {\n$ans1368 = $ann$check1438;\n}\nbreak;\ncase 1: $al1369 = L[576];\n$step1364 = $cases_dispatch1437[cases1372.$name] || 5;\nbreak;\ncase 2: if(cases1372.$arity !== 2) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[575],2,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[575],true,L[576],cases1372.$loc);\n}\n}\n$step1364 = 6;\n$al1369 = L[575];\nvar $temp_branch1420 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__576($fl1373,$ff1389) {\nvar $step1421 = 0;\nvar $elidedFrames1425 = 0;\nvar $ans1422 = D;\nvar $al1423 = L[574];\nif(R.isAR($fl1373)) {\n$step1421 = $fl1373.step;\n$al1423 = $fl1373.from;\n$ans1422 = $fl1373.ans;\n$elidedFrames1425 = $fl1373.elidedFrames;\nfl1373 = $fl1373.args[0];\nff1389 = $fl1373.args[1];\nanf_arg1491 = $fl1373.vars[0];\nanf_arg1393 = $fl1373.vars[1];\nanf_arg1398 = $fl1373.vars[2];\nanf_arg1388 = $fl1373.vars[3];\nanf_arg860 = $fl1373.vars[4];\nanf_arg877 = $fl1373.vars[5];\nanf_fun1390 = $fl1373.vars[6];\nanf_fun1392 = $fl1373.vars[7];\nanf_arg1391 = $fl1373.vars[8];\n} else {\nvar fl1373 = $fl1373;\nvar ff1389 = $ff1389;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1422 = R.mC();\n}\nwhile(!R.isContinuation($ans1422)) {\nswitch($step1421) {\ncase 0: $step1421 = 1;\n$al1423 = L[574];\nif(typeof(src$available1355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,src$available1355);\n}\n$ans1422 = src$available1355.app(fl1373);\nbreak;\ncase 1: var anf_if1419 = $ans1422;\n$step1421 = R.checkPyretTrue(anf_if1419)?2:10;\nbreak;\ncase 2: $ans1422 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[557],L[558]);\nvar anf_fun1390 = $ans1422;\n$step1421 = 3;\n$al1423 = L[566];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"The value was \"));\nbreak;\ncase 3: var anf_arg1391 = $ans1422;\n$step1421 = 4;\n$al1423 = L[565];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"expected\"));\nbreak;\ncase 4: var anf_arg1388 = $ans1422;\n$ans1422 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[559],L[560]);\nvar anf_fun1374 = $ans1422;\n$step1421 = 5;\n$al1423 = L[560];\nif(typeof(anf_fun1374.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1374);\n}\n$ans1422 = anf_fun1374.app(fl1373);\nbreak;\ncase 5: var anf_arg859 = $ans1422;\n$step1421 = 6;\n$al1423 = L[564];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1388,anf_arg859,n1366);\nbreak;\ncase 6: var anf_arg860 = $ans1422;\n$step1421 = 7;\n$al1423 = L[563];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\" to have a field named \"));\nbreak;\ncase 7: var anf_arg1491 = $ans1422;\n$step1421 = 8;\n$al1423 = L[562];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app(ff1389);\nbreak;\ncase 8: var anf_arg862 = $ans1422;\n$step1421 = 9;\n$al1423 = L[561];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"code\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"code\"].app(anf_arg862);\nbreak;\ncase 9: var anf_arg864 = $ans1422;\n$step1421 = 16;\n$al1423 = L[558];\nif(typeof(anf_fun1390.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1390);\n}\n$ans1422 = anf_fun1390.app(anf_arg1391,anf_arg860,anf_arg1491,anf_arg864);\nbreak;\ncase 10: $ans1422 = R.getMaker4(ED5.dict.values.dict[\"sequence\"],(\"make4\"),L[567],L[568]);\nvar anf_fun1392 = $ans1422;\n$step1421 = 11;\n$al1423 = L[573];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\"The value was expected to have a field named \"));\nbreak;\ncase 11: var anf_arg1393 = $ans1422;\n$step1421 = 12;\n$al1423 = L[572];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app(ff1389);\nbreak;\ncase 12: var anf_arg875 = $ans1422;\n$step1421 = 13;\n$al1423 = L[571];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"code\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"code\"].app(anf_arg875);\nbreak;\ncase 13: var anf_arg877 = $ans1422;\n$step1421 = 14;\n$al1423 = L[570];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"text\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"text\"].app((\" because of the annotation at \"));\nbreak;\ncase 14: var anf_arg1398 = $ans1422;\n$step1421 = 15;\n$al1423 = L[569];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1422 = ED5.dict.values.dict[\"loc\"].app(fl1373);\nbreak;\ncase 15: var anf_arg1418 = $ans1422;\n$step1421 = 16;\n$al1423 = L[568];\nif(typeof(anf_fun1392.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1423,anf_fun1392);\n}\n$ans1422 = anf_fun1392.app(anf_arg1393,anf_arg877,anf_arg1398,anf_arg1418);\nbreak;\ncase 16: ++R.GAS;\nreturn $ans1422;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1421);\n}\n}\nif($step1421 !== 16) {\n$ans1422.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1423,$temp_branch1420,$step1421,[fl1373,ff1389],[anf_arg1491,anf_arg1393,anf_arg1398,anf_arg1388,anf_arg860,anf_arg877,anf_fun1390,anf_fun1392,anf_arg1391],$elidedFrames1425);\n}\nreturn $ans1422;\n};\n$ans1368 = cases1372.$app_fields($temp_branch1420,[false,false]);\nbreak;\ncase 3: if(cases1372.$arity !== 3) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[578],3,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[578],true,L[576],cases1372.$loc);\n}\n}\nvar $fn1428 = cases1372.$constructor.$fieldNames;\nR.dF(cases1372.dict[$fn1428[0]],cases1372.$mut_fields_mask[0],false);\nR.dF(cases1372.dict[$fn1428[1]],cases1372.$mut_fields_mask[1],false);\nR.dF(cases1372.dict[$fn1428[2]],cases1372.$mut_fields_mask[2],false);\n$step1364 = 6;\n$ans1368 = R.maybeMethodCall2(failure1367,\"render-reason\",L[577],loc1352,from$fail$arg1353);\nbreak;\ncase 4: if(cases1372.$arity !== 3) {\nif(cases1372.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[580],3,cases1372.$arity,L[576],cases1372.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[580],true,L[576],cases1372.$loc);\n}\n}\nvar $fn1433 = cases1372.$constructor.$fieldNames;\nR.dF(cases1372.dict[$fn1433[0]],cases1372.$mut_fields_mask[0],false);\nR.dF(cases1372.dict[$fn1433[1]],cases1372.$mut_fields_mask[1],false);\nR.dF(cases1372.dict[$fn1433[2]],cases1372.$mut_fields_mask[2],false);\n$step1364 = 6;\n$ans1368 = R.maybeMethodCall2(failure1367,\"render-reason\",L[579],loc1352,from$fail$arg1353);\nbreak;\ncase 5: $ans1368 = R.throwNoCasesMatched(L[576],cases1372);\n$step1364 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1368;\ndefault: R.ffi.throwSpinnakerError(L[556],$step1364);\n}\n}\nif($step1364 !== 6) {\n$ans1368.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1369,$temp_lam1365,$step1364,[n1366,failure1367],[cases1372],$elidedFrames1371);\n}\nreturn $ans1368;\n};\nvar anf_arg1536 = R.mF($temp_lam1365,\"\");\n$al1358 = L[582];\nvar anf_arg898 = G(self1351,\"anns-failures\",L[582]);\n$step1349 = 30;\n$al1358 = L[584];\n// omitting isFunction check;\n$ans1357 = map_n1.app(anf_arg1536,(0),anf_arg898);\nbreak;\ncase 30: var anf_arg899 = $ans1357;\n$step1349 = 31;\n$al1358 = L[583];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1357 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg899);\nbreak;\ncase 31: var anf_arg1441 = $ans1357;\n$step1349 = 32;\n$al1358 = L[555];\nif(typeof(anf_fun1440.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1440);\n}\n$ans1357 = anf_fun1440.app(anf_arg1463,anf_arg1441);\nbreak;\ncase 32: var anf_arg901 = $ans1357;\n$step1349 = 33;\n$al1358 = L[549];\nif(typeof(anf_fun1442.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1358,anf_fun1442);\n}\n$ans1357 = anf_fun1442.app(anf_arg1342,anf_arg1446,anf_arg1382,anf_arg1465,anf_arg901);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1357;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1349);\n}\n}\nif($step1349 !== 33) {\n$ans1357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1358,$temp_full1350,$step1349,[self1351,loc1352,from$fail$arg1353,maybe$stack$loc1354,src$available1355,maybe$ast1356],[anf_arg1382,anf_arg1463,anf_arg1342,anf_arg1288,anf_fun1506,anf_arg1498,anf_arg1465,anf_arg1324,anf_arg1446,cases1466,anf_arg649,anf_arg617,anf_fun1361,anf_fun1440,anf_fun1442,anf_fun1486,anf_fun1497,anf_fun605],$elidedFrames1360);\n}\nreturn $ans1357;\n};\nvar anf_variant_member1742 = R.makeMethod5($temp_full1350,\"render-fancy-reason\");\nvar $temp_full1516 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__627($self1517,$loc1518,$from$fail$arg1519) {\nvar $step1515 = 0;\nvar $elidedFrames1523 = 0;\nvar $ans1520 = D;\nvar $al1521 = L[627];\nif(R.isAR($self1517)) {\n$step1515 = $self1517.step;\n$al1521 = $self1517.from;\n$ans1520 = $self1517.ans;\n$elidedFrames1523 = $self1517.elidedFrames;\nself1517 = $self1517.args[0];\nloc1518 = $self1517.args[1];\nfrom$fail$arg1519 = $self1517.args[2];\nanf_fun937 = $self1517.vars[0];\nanf_fun1524 = $self1517.vars[1];\nanf_arg1543 = $self1517.vars[2];\nanf_arg1547 = $self1517.vars[3];\nanf_arg1526 = $self1517.vars[4];\nanf_arg1527 = $self1517.vars[5];\nanf_arg915 = $self1517.vars[6];\nanf_fun1540 = $self1517.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[627],3,$t,true);\n}\nvar self1517 = $self1517;\nvar loc1518 = $loc1518;\nvar from$fail$arg1519 = $from$fail$arg1519;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1520 = R.mC();\n}\nwhile(!R.isContinuation($ans1520)) {\nswitch($step1515) {\ncase 0: $ans1520 = R.getMaker4(ED5.dict.values.dict[\"vert\"],(\"make4\"),L[628],L[629]);\nvar anf_fun1540 = $ans1520;\n$ans1520 = R.getMaker3(ED5.dict.values.dict[\"para\"],(\"make3\"),L[630],L[631]);\nvar anf_fun1524 = $ans1520;\n$step1515 = 1;\n$al1521 = L[643];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 1: var anf_arg1526 = $ans1520;\n$step1515 = 2;\n$al1521 = L[642];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"loc\"].app(loc1518);\nbreak;\ncase 2: var anf_arg1527 = $ans1520;\n$step1515 = 3;\n$al1521 = L[641];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\" failed on this value:\"));\nbreak;\ncase 3: var anf_arg913 = $ans1520;\n$step1515 = 4;\n$al1521 = L[631];\nif(typeof(anf_fun1524.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun1524);\n}\n$ans1520 = anf_fun1524.app(anf_arg1526,anf_arg1527,anf_arg913);\nbreak;\ncase 4: var anf_arg915 = $ans1520;\n$al1521 = L[632];\nvar anf_arg1528 = G(self1517,\"val\",L[632]);\n$step1515 = 5;\n$al1521 = L[640];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"embed\"].app(anf_arg1528);\nbreak;\ncase 5: var anf_arg1543 = $ans1520;\n$ans1520 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[633],L[634]);\nvar anf_fun937 = $ans1520;\n$step1515 = 6;\n$al1521 = L[639];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"text\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"text\"].app((\"Because: \"));\nbreak;\ncase 6: var anf_arg943 = $ans1520;\n$step1515 = 7;\n$al1521 = L[634];\nif(typeof(anf_fun937.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun937);\n}\n$ans1520 = anf_fun937.app(anf_arg943);\nbreak;\ncase 7: var anf_arg1547 = $ans1520;\n$al1521 = L[635];\nvar anf_method_obj1538 = G(self1517,\"anns-failures\",L[635]);\nvar $temp_lam1531 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__636($recv_1532) {\nvar $step1530 = 0;\nvar $elidedFrames1536 = 0;\nvar $ans1533 = D;\nvar $al1534 = L[636];\nif(R.isAR($recv_1532)) {\n$step1530 = $recv_1532.step;\n$al1534 = $recv_1532.from;\n$ans1533 = $recv_1532.ans;\n$elidedFrames1536 = $recv_1532.elidedFrames;\nrecv_1532 = $recv_1532.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[636],1,$t,false);\n}\nvar recv_1532 = $recv_1532;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1533 = R.mC();\n}\nwhile(!R.isContinuation($ans1533)) {\nswitch($step1530) {\ncase 0: $step1530 = 1;\n$ans1533 = R.maybeMethodCall2(recv_1532,\"render-reason\",L[636],loc1518,(false));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1533;\ndefault: R.ffi.throwSpinnakerError(L[636],$step1530);\n}\n}\nif($step1530 !== 1) {\n$ans1533.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1534,$temp_lam1531,$step1530,[recv_1532],[],$elidedFrames1536);\n}\nreturn $ans1533;\n};\nvar anf_arg1539 = R.mF($temp_lam1531,\"\");\n$step1515 = 8;\n$ans1520 = R.maybeMethodCall1(anf_method_obj1538,\"map\",L[637],anf_arg1539);\nbreak;\ncase 8: var anf_arg1606 = $ans1520;\n$step1515 = 9;\n$al1521 = L[638];\nif(typeof(ED5.dict.values.dict[\"bulleted-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,ED5.dict.values.dict[\"bulleted-sequence\"]);\n}\n$ans1520 = ED5.dict.values.dict[\"bulleted-sequence\"].app(anf_arg1606);\nbreak;\ncase 9: var anf_arg1557 = $ans1520;\n$step1515 = 10;\n$al1521 = L[629];\nif(typeof(anf_fun1540.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1521,anf_fun1540);\n}\n$ans1520 = anf_fun1540.app(anf_arg915,anf_arg1543,anf_arg1547,anf_arg1557);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1520;\ndefault: R.ffi.throwSpinnakerError(L[627],$step1515);\n}\n}\nif($step1515 !== 10) {\n$ans1520.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1521,$temp_full1516,$step1515,[self1517,loc1518,from$fail$arg1519],[anf_fun937,anf_fun1524,anf_arg1543,anf_arg1547,anf_arg1526,anf_arg1527,anf_arg915,anf_fun1540],$elidedFrames1523);\n}\nreturn $ans1520;\n};\nvar anf_variant_member1837 = R.makeMethod2($temp_full1516,\"render-reason\");\nvar $temp_full1560 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__644($self1561,$loc1562,$from$fail$arg1563,$maybe$stack$loc1564,$src$available1565,$maybe$ast1566) {\nvar $step1559 = 0;\nvar $elidedFrames1570 = 0;\nvar $ans1567 = D;\nvar $al1568 = L[644];\nif(R.isAR($self1561)) {\n$step1559 = $self1561.step;\n$al1568 = $self1561.from;\n$ans1567 = $self1561.ans;\n$elidedFrames1570 = $self1561.elidedFrames;\nself1561 = $self1561.args[0];\nloc1562 = $self1561.args[1];\nfrom$fail$arg1563 = $self1561.args[2];\nmaybe$stack$loc1564 = $self1561.args[3];\nsrc$available1565 = $self1561.args[4];\nmaybe$ast1566 = $self1561.args[5];\nanf_fun1643 = $self1561.vars[0];\nanf_arg1096 = $self1561.vars[1];\nanf_arg1031 = $self1561.vars[2];\nanf_arg1034 = $self1561.vars[3];\nanf_arg1595 = $self1561.vars[4];\nanf_arg1046 = $self1561.vars[5];\nanf_arg1079 = $self1561.vars[6];\nanf_arg1596 = $self1561.vars[7];\nanf_arg1641 = $self1561.vars[8];\nanf_arg1597 = $self1561.vars[9];\nanf_arg1631 = $self1561.vars[10];\nanf_arg1639 = $self1561.vars[11];\ncases1599 = $self1561.vars[12];\nanf_fun1594 = $self1561.vars[13];\nanf_arg1092 = $self1561.vars[14];\nanf_fun1640 = $self1561.vars[15];\nanf_fun1631 = $self1561.vars[16];\nanf_fun1642 = $self1561.vars[17];\nanf_fun1598 = $self1561.vars[18];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[644],6,$t,true);\n}\nvar self1561 = $self1561;\nvar loc1562 = $loc1562;\nvar from$fail$arg1563 = $from$fail$arg1563;\nvar maybe$stack$loc1564 = $maybe$stack$loc1564;\nvar src$available1565 = $src$available1565;\nvar maybe$ast1566 = $maybe$ast1566;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1567 = R.mC();\n}\nwhile(!R.isContinuation($ans1567)) {\nswitch($step1559) {\ncase 0: $ans1567 = R.getMaker4(ED5.dict.values.dict[\"error\"],(\"make4\"),L[645],L[646]);\nvar anf_fun1598 = $ans1567;\n$step1559 = 1;\n$ans1567 = R.maybeMethodCall0(loc1562,\"is-builtin\",L[647]);\nbreak;\ncase 1: var anf_if1645 = $ans1567;\n$step1559 = R.checkPyretTrue(anf_if1645)?2:5;\nbreak;\ncase 2: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[679],L[680]);\nvar anf_fun1631 = $ans1567;\n$step1559 = 3;\n$al1568 = L[682];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 3: var anf_arg1631 = $ans1567;\n$step1559 = 4;\n$al1568 = L[681];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"loc\"].app(loc1562);\nbreak;\ncase 4: var anf_arg1638 = $ans1567;\n$step1559 = 17;\n$al1568 = L[680];\nif(typeof(anf_fun1631.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1631);\n}\n$ans1567 = anf_fun1631.app(anf_arg1631,anf_arg1638);\nbreak;\ncase 5: $step1559 = 6;\n$al1568 = L[697];\nif(typeof(src$available1565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,src$available1565);\n}\n$ans1567 = src$available1565.app(loc1562);\nbreak;\ncase 6: var anf_if1644 = $ans1567;\n$step1559 = R.checkPyretTrue(anf_if1644)?7:14;\nbreak;\ncase 7: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[683],L[684]);\nvar anf_fun1642 = $ans1567;\n$ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[685],L[686]);\nvar anf_fun1640 = $ans1567;\n$step1559 = 8;\n$al1568 = L[692];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 8: var anf_arg1641 = $ans1567;\n$step1559 = 9;\n$al1568 = L[691];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"tuple annotation\"));\nbreak;\ncase 9: var anf_arg1639 = $ans1567;\n$ans1567 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[687],L[688]);\nvar anf_fun1664 = $ans1567;\n$step1559 = 10;\n$al1568 = L[688];\nif(typeof(anf_fun1664.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1664);\n}\n$ans1567 = anf_fun1664.app(loc1562);\nbreak;\ncase 10: var anf_arg1029 = $ans1567;\n$step1559 = 11;\n$al1568 = L[690];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1639,anf_arg1029,(0));\nbreak;\ncase 11: var anf_arg1030 = $ans1567;\n$step1559 = 12;\n$al1568 = L[686];\nif(typeof(anf_fun1640.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1640);\n}\n$ans1567 = anf_fun1640.app(anf_arg1641,anf_arg1030);\nbreak;\ncase 12: var anf_arg1031 = $ans1567;\n$step1559 = 13;\n$al1568 = L[689];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"cmcode\"].app(loc1562);\nbreak;\ncase 13: var anf_arg1032 = $ans1567;\n$step1559 = 17;\n$al1568 = L[684];\nif(typeof(anf_fun1642.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1642);\n}\n$ans1567 = anf_fun1642.app(anf_arg1031,anf_arg1032);\nbreak;\ncase 14: $ans1567 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[693],L[694]);\nvar anf_fun1643 = $ans1567;\n$step1559 = 15;\n$al1568 = L[696];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 15: var anf_arg1034 = $ans1567;\n$step1559 = 16;\n$al1568 = L[695];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"loc\"].app(loc1562);\nbreak;\ncase 16: var anf_arg1043 = $ans1567;\n$step1559 = 17;\n$al1568 = L[694];\nif(typeof(anf_fun1643.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1643);\n}\n$ans1567 = anf_fun1643.app(anf_arg1034,anf_arg1043);\nbreak;\ncase 17: var anf_arg1046 = $ans1567;\n$ans1567 = R.getMaker5(ED5.dict.values.dict[\"para\"],(\"make5\"),L[648],L[649]);\nvar anf_fun1594 = $ans1567;\n$step1559 = 18;\n$al1568 = L[678];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\"which expects a tuple containing exactly \"));\nbreak;\ncase 18: var anf_arg1595 = $ans1567;\n$al1568 = L[650];\nvar anf_arg1593 = G(self1561,\"annLength\",L[650]);\n$step1559 = 19;\n$al1568 = L[677];\nif(typeof(ED5.dict.values.dict[\"ed-components\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"ed-components\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"ed-components\"].app(anf_arg1593);\nbreak;\ncase 19: var anf_arg1596 = $ans1567;\n$step1559 = 20;\n$al1568 = L[676];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\" was not satisfied by the \"));\nbreak;\ncase 20: var anf_arg1597 = $ans1567;\n$al1568 = L[651];\nvar anf_arg1072 = G(self1561,\"tupleLength\",L[651]);\n$step1559 = 21;\n$al1568 = L[675];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"embed\"].app(anf_arg1072);\nbreak;\ncase 21: var anf_arg1079 = $ans1567;\n$step1559 = 22;\n$al1568 = L[674];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"text\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"text\"].app((\" component tuple:\"));\nbreak;\ncase 22: var anf_arg1084 = $ans1567;\n$step1559 = 23;\n$al1568 = L[649];\nif(typeof(anf_fun1594.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1594);\n}\n$ans1567 = anf_fun1594.app(anf_arg1595,anf_arg1596,anf_arg1597,anf_arg1079,anf_arg1084);\nbreak;\ncase 23: var anf_arg1092 = $ans1567;\n$al1568 = L[652];\nvar anf_arg1094 = G(self1561,\"val\",L[652]);\n$step1559 = 24;\n$al1568 = L[673];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1567 = ED5.dict.values.dict[\"embed\"].app(anf_arg1094);\nbreak;\ncase 24: var anf_arg1096 = $ans1567;\n$step1559 = R.checkPyretTrue(from$fail$arg1563)?25:31;\nbreak;\ncase 25: $step1559 = 26;\n$al1568 = L[670];\nif(typeof(maybe$stack$loc1564.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,maybe$stack$loc1564);\n}\n$ans1567 = maybe$stack$loc1564.app((1),(true));\nbreak;\ncase 26: var cases1599 = $ans1567;\n$step1559 = 27;\n$al1568 = L[669];\nvar $ann$check1622 = R._cA(L[669],Option4,cases1599);\nif(R.isContinuation($ann$check1622)) {\n$ans1567 = $ann$check1622;\n}\nbreak;\ncase 27: $al1568 = L[665];\n$step1559 = $cases_dispatch1621[cases1599.$name] || 30;\nbreak;\ncase 28: if(cases1599.$arity !== 1) {\nif(cases1599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[664],1,cases1599.$arity,L[665],cases1599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[664],true,L[665],cases1599.$loc);\n}\n}\n$step1559 = 32;\n$al1568 = L[664];\nvar $temp_branch1613 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__665($sender1600) {\nvar $step1614 = 0;\nvar $elidedFrames1618 = 0;\nvar $ans1615 = D;\nvar $al1616 = L[663];\nif(R.isAR($sender1600)) {\n$step1614 = $sender1600.step;\n$al1616 = $sender1600.from;\n$ans1615 = $sender1600.ans;\n$elidedFrames1618 = $sender1600.elidedFrames;\nsender1600 = $sender1600.args[0];\nanf_fun1601 = $sender1600.vars[0];\nanf_fun1602 = $sender1600.vars[1];\nanf_fun1605 = $sender1600.vars[2];\nanf_arg1810 = $sender1600.vars[3];\nanf_arg1612 = $sender1600.vars[4];\n} else {\nvar sender1600 = $sender1600;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1615 = R.mC();\n}\nwhile(!R.isContinuation($ans1615)) {\nswitch($step1614) {\ncase 0: $step1614 = 1;\n$al1616 = L[663];\nif(typeof(src$available1565.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,src$available1565);\n}\n$ans1615 = src$available1565.app(sender1600);\nbreak;\ncase 1: var anf_if1819 = $ans1615;\n$step1614 = R.checkPyretTrue(anf_if1819)?2:6;\nbreak;\ncase 2: $ans1615 = R.getMaker2(ED5.dict.values.dict[\"sequence\"],(\"make2\"),L[653],L[654]);\nvar anf_fun1602 = $ans1615;\n$ans1615 = R.getMaker1(ED5.dict.values.dict[\"para\"],(\"make1\"),L[655],L[656]);\nvar anf_fun1601 = $ans1615;\n$step1614 = 3;\n$al1616 = L[658];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"text\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around\"));\nbreak;\ncase 3: var anf_arg1111 = $ans1615;\n$step1614 = 4;\n$al1616 = L[656];\nif(typeof(anf_fun1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1601);\n}\n$ans1615 = anf_fun1601.app(anf_arg1111);\nbreak;\ncase 4: var anf_arg1810 = $ans1615;\n$step1614 = 5;\n$al1616 = L[657];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"cmcode\"].app(sender1600);\nbreak;\ncase 5: var anf_arg1603 = $ans1615;\n$step1614 = 9;\n$al1616 = L[654];\nif(typeof(anf_fun1602.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1602);\n}\n$ans1615 = anf_fun1602.app(anf_arg1810,anf_arg1603);\nbreak;\ncase 6: $ans1615 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[659],L[660]);\nvar anf_fun1605 = $ans1615;\n$step1614 = 7;\n$al1616 = L[662];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"text\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"text\"].app((\"which was sent from around \"));\nbreak;\ncase 7: var anf_arg1612 = $ans1615;\n$step1614 = 8;\n$al1616 = L[661];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1615 = ED5.dict.values.dict[\"loc\"].app(sender1600);\nbreak;\ncase 8: var anf_arg1142 = $ans1615;\n$step1614 = 9;\n$al1616 = L[660];\nif(typeof(anf_fun1605.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1616,anf_fun1605);\n}\n$ans1615 = anf_fun1605.app(anf_arg1612,anf_arg1142);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1615;\ndefault: R.ffi.throwSpinnakerError(L[663],$step1614);\n}\n}\nif($step1614 !== 9) {\n$ans1615.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1616,$temp_branch1613,$step1614,[sender1600],[anf_fun1601,anf_fun1602,anf_fun1605,anf_arg1810,anf_arg1612],$elidedFrames1618);\n}\nreturn $ans1615;\n};\n$ans1567 = cases1599.$app_fields($temp_branch1613,[false]);\nbreak;\ncase 29: if(cases1599.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[668],false,L[665],cases1599.$loc);\n}\n$ans1567 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[666],L[667]);\nvar anf_fun1620 = $ans1567;\n$step1559 = 32;\n$al1568 = L[667];\nif(typeof(anf_fun1620.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1620);\n}\n$ans1567 = anf_fun1620.app();\nbreak;\ncase 30: $ans1567 = R.throwNoCasesMatched(L[665],cases1599);\n$step1559 = 32;\nbreak;\ncase 31: $ans1567 = R.getMaker0(ED5.dict.values.dict[\"sequence\"],(\"make0\"),L[671],L[672]);\nvar anf_fun1623 = $ans1567;\n$step1559 = 32;\n$al1568 = L[672];\nif(typeof(anf_fun1623.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1623);\n}\n$ans1567 = anf_fun1623.app();\nbreak;\ncase 32: var anf_arg1816 = $ans1567;\n$step1559 = 33;\n$al1568 = L[646];\nif(typeof(anf_fun1598.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1568,anf_fun1598);\n}\n$ans1567 = anf_fun1598.app(anf_arg1046,anf_arg1092,anf_arg1096,anf_arg1816);\nbreak;\ncase 33: ++R.GAS;\nreturn $ans1567;\ndefault: R.ffi.throwSpinnakerError(L[644],$step1559);\n}\n}\nif($step1559 !== 33) {\n$ans1567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1568,$temp_full1560,$step1559,[self1561,loc1562,from$fail$arg1563,maybe$stack$loc1564,src$available1565,maybe$ast1566],[anf_fun1643,anf_arg1096,anf_arg1031,anf_arg1034,anf_arg1595,anf_arg1046,anf_arg1079,anf_arg1596,anf_arg1641,anf_arg1597,anf_arg1631,anf_arg1639,cases1599,anf_fun1594,anf_arg1092,anf_fun1640,anf_fun1631,anf_fun1642,anf_fun1598],$elidedFrames1570);\n}\nreturn $ans1567;\n};\nvar anf_variant_member1846 = R.makeMethod5($temp_full1560,\"render-fancy-reason\");\nvar $temp_full1648 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__698($self1649,$loc1650,$fail$from$arg1651) {\nvar $step1647 = 0;\nvar $elidedFrames1656 = 0;\nvar $ans1653 = D;\nvar $al1654 = L[698];\nif(R.isAR($self1649)) {\n$step1647 = $self1649.step;\n$al1654 = $self1649.from;\n$ans1653 = $self1649.ans;\n$elidedFrames1656 = $self1649.elidedFrames;\nself1649 = $self1649.args[0];\nloc1650 = $self1649.args[1];\nfail$from$arg1651 = $self1649.args[2];\nanf_arg1172 = $self1649.vars[0];\nanf_arg1176 = $self1649.vars[1];\nanf_fun1658 = $self1649.vars[2];\nanf_fun1669 = $self1649.vars[3];\nanf_arg1671 = $self1649.vars[4];\nanf_arg1668 = $self1649.vars[5];\nanf_arg1838 = $self1649.vars[6];\nanf_fun1670 = $self1649.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[698],3,$t,true);\n}\nvar self1649 = $self1649;\nvar loc1650 = $loc1650;\nvar fail$from$arg1651 = $fail$from$arg1651;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1653 = R.mC();\n}\nwhile(!R.isContinuation($ans1653)) {\nswitch($step1647) {\ncase 0: $ans1653 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[699],L[700]);\nvar anf_fun1670 = $ans1653;\n$ans1653 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[701],L[702]);\nvar anf_fun1658 = $ans1653;\n$step1647 = 1;\n$al1654 = L[712];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\"The tuple annotation at \"));\nbreak;\ncase 1: var anf_arg1172 = $ans1653;\n$step1647 = 2;\n$al1654 = L[711];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(loc1650);\nbreak;\ncase 2: var anf_arg1668 = $ans1653;\n$step1647 = 3;\n$al1654 = L[710];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\" expected the given tuple to be of length \"));\nbreak;\ncase 3: var anf_arg1176 = $ans1653;\n$al1654 = L[703];\nvar anf_arg1834 = G(self1649,\"annLength\",L[703]);\n$step1647 = 4;\n$al1654 = L[709];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(anf_arg1834);\nbreak;\ncase 4: var anf_arg1836 = $ans1653;\n$step1647 = 5;\n$al1654 = L[702];\nif(typeof(anf_fun1658.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1658);\n}\n$ans1653 = anf_fun1658.app(anf_arg1172,anf_arg1668,anf_arg1176,anf_arg1836);\nbreak;\ncase 5: var anf_arg1671 = $ans1653;\n$ans1653 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[704],L[705]);\nvar anf_fun1669 = $ans1653;\n$step1647 = 6;\n$al1654 = L[708];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"text\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"text\"].app((\"The given tuple had the incorrect length of \"));\nbreak;\ncase 6: var anf_arg1838 = $ans1653;\n$al1654 = L[706];\nvar anf_arg1841 = G(self1649,\"tupleLength\",L[706]);\n$step1647 = 7;\n$al1654 = L[707];\nif(typeof(ED5.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,ED5.dict.values.dict[\"embed\"]);\n}\n$ans1653 = ED5.dict.values.dict[\"embed\"].app(anf_arg1841);\nbreak;\ncase 7: var anf_arg1844 = $ans1653;\n$step1647 = 8;\n$al1654 = L[705];\nif(typeof(anf_fun1669.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1669);\n}\n$ans1653 = anf_fun1669.app(anf_arg1838,anf_arg1844);\nbreak;\ncase 8: var anf_arg1198 = $ans1653;\n$step1647 = 9;\n$al1654 = L[700];\nif(typeof(anf_fun1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1654,anf_fun1670);\n}\n$ans1653 = anf_fun1670.app(anf_arg1671,anf_arg1198);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1653;\ndefault: R.ffi.throwSpinnakerError(L[698],$step1647);\n}\n}\nif($step1647 !== 9) {\n$ans1653.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1654,$temp_full1648,$step1647,[self1649,loc1650,fail$from$arg1651],[anf_arg1172,anf_arg1176,anf_fun1658,anf_fun1669,anf_arg1671,anf_arg1668,anf_arg1838,anf_fun1670],$elidedFrames1656);\n}\nreturn $ans1653;\n};\nvar anf_variant_member1847 = R.makeMethod2($temp_full1648,\"render-reason\");\nvar $temp_full1674 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__713($self1675,$loc1676,$from$fail$arg1677,$maybe$stack$loc1678,$src$available1679,$maybe$ast1680) {\nvar $step1673 = 0;\nvar $elidedFrames1685 = 0;\nvar $ans1682 = D;\nvar $al1683 = L[713];\nif(R.isAR($self1675)) {\n$step1673 = $self1675.step;\n$al1683 = $self1675.from;\n$ans1682 = $self1675.ans;\n$elidedFrames1685 = $self1675.elidedFrames;\nself1675 = $self1675.args[0];\nloc1676 = $self1675.args[1];\nfrom$fail$arg1677 = $self1675.args[2];\nmaybe$stack$loc1678 = $self1675.args[3];\nsrc$available1679 = $self1675.args[4];\nmaybe$ast1680 = $self1675.args[5];\nanf_fun1720 = $self1675.vars[0];\nanf_fun1731 = $self1675.vars[1];\nanf_fun1698 = $self1675.vars[2];\nanf_fun1711 = $self1675.vars[3];\nanf_fun1734 = $self1675.vars[4];\nanf_fun1702 = $self1675.vars[5];\nanf_arg1364 = $self1675.vars[6];\nanf_fun1714 = $self1675.vars[7];\nanf_array1697 = $self1675.vars[8];\nanf_array1732 = $self1675.vars[9];\nanf_arg1861 = $self1675.vars[10];\nanf_arg1223 = $self1675.vars[11];\nanf_fun1717 = $self1675.vars[12];\nanf_arg1873 = $self1675.vars[13];\nanf_arg1368 = $self1675.vars[14];\nanf_array1712 = $self1675.vars[15];\nanf_arg1313 = $self1675.vars[16];\nanf_arg1369 = $self1675.vars[17];\nanf_arg1942 = $self1675.vars[18];\nanf_arg1723 = $self1675.vars[19];\nanf_arg1878 = $self1675.vars[20];\nanf_arg1703 = $self1675.vars[21];\nanf_arg1208 = $self1675.vars[22];\nanf_arg1716 = $self1675.vars[23];\nanf_arg1739 = $self1675.vars[24];\nanf_arg1718 = $self1675.vars[25];\nanf_fun1692 = $self1675.vars[26];\nanf_fun1693 = $self1675.vars[27];\nanf_fun1696 = $self1675.vars[28];\nanf_arg1270 = $self1675.vars[29];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[713],6,$t,true);\n}\nvar self1675 = $self1675;\nvar loc1676 = $loc1676;\nvar from$fail$arg1677 = $from$fail$arg1677;\nvar maybe$stack$loc1678 = $maybe$stack$loc1678;\nvar src$available1679 = $src$available1679;\nvar maybe$ast1680 = $maybe$ast1680;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1682 = R.mC();\n}\nwhile(!R.isContinuation($ans1682)) {\nswitch($step1673) {\ncase 0: $step1673 = 1;\n$ans1682 = R.maybeMethodCall0(loc1676,\"is-builtin\",L[714]);\nbreak;\ncase 1: var anf_if1741 = $ans1682;\n$step1673 = R.checkPyretTrue(anf_if1741)?2:23;\nbreak;\ncase 2: $ans1682 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[715],L[716]);\nvar anf_fun1698 = $ans1682;\n$ans1682 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[717],L[718]);\nvar anf_fun1693 = $ans1682;\n$step1673 = 3;\n$al1683 = L[744];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The dot-annotation \"));\nbreak;\ncase 3: var anf_arg1208 = $ans1682;\n$ans1682 = R.getMaker3(ED5.dict.values.dict[\"sequence\"],(\"make3\"),L[719],L[720]);\nvar anf_fun1692 = $ans1682;\n$al1683 = L[721];\nvar anf_arg1688 = G(self1675,\"name\",L[721]);\n$step1673 = 4;\n$al1683 = L[743];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1688);\nbreak;\ncase 4: var anf_arg1861 = $ans1682;\n$step1673 = 5;\n$al1683 = L[742];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 5: var anf_arg1223 = $ans1682;\n$al1683 = L[722];\nvar anf_arg1691 = G(self1675,\"field\",L[722]);\n$step1673 = 6;\n$al1683 = L[741];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1691);\nbreak;\ncase 6: var anf_arg1224 = $ans1682;\n$step1673 = 7;\n$al1683 = L[720];\nif(typeof(anf_fun1692.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1692);\n}\n$ans1682 = anf_fun1692.app(anf_arg1861,anf_arg1223,anf_arg1224);\nbreak;\ncase 7: var anf_arg1225 = $ans1682;\n$step1673 = 8;\n$al1683 = L[740];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1225);\nbreak;\ncase 8: var anf_arg1873 = $ans1682;\n$step1673 = 9;\n$al1683 = L[739];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" in \"));\nbreak;\ncase 9: var anf_arg1878 = $ans1682;\n$step1673 = 10;\n$al1683 = L[738];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"loc\"].app(loc1676);\nbreak;\ncase 10: var anf_arg1694 = $ans1682;\n$step1673 = 11;\n$al1683 = L[718];\nif(typeof(anf_fun1693.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1693);\n}\n$ans1682 = anf_fun1693.app(anf_arg1208,anf_arg1873,anf_arg1878,anf_arg1694);\nbreak;\ncase 11: var anf_arg1270 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[723],L[724]);\nvar anf_fun1696 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1697 = $ans1682;\n$step1673 = 12;\n$al1683 = L[737];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 12: anf_array1697[0] = $ans1682;\n$al1683 = L[725];\nvar anf_arg1695 = G(self1675,\"field\",L[725]);\n$step1673 = 13;\n$al1683 = L[736];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1695);\nbreak;\ncase 13: var anf_arg1251 = $ans1682;\n$step1673 = 14;\n$al1683 = L[735];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1251);\nbreak;\ncase 14: anf_array1697[1] = $ans1682;\n$step1673 = 15;\n$al1683 = L[734];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 15: anf_array1697[2] = $ans1682;\n$al1683 = L[726];\nvar anf_arg1256 = G(self1675,\"name\",L[726]);\n$step1673 = 16;\n$al1683 = L[733];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1256);\nbreak;\ncase 16: var anf_arg1881 = $ans1682;\n$step1673 = 17;\n$al1683 = L[732];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1881);\nbreak;\ncase 17: anf_array1697[3] = $ans1682;\n$step1673 = 18;\n$al1683 = L[731];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 18: anf_array1697[4] = $ans1682;\n$al1683 = L[727];\nvar anf_arg1882 = G(self1675,\"field\",L[727]);\n$step1673 = 19;\n$al1683 = L[730];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1882);\nbreak;\ncase 19: var anf_arg1883 = $ans1682;\n$step1673 = 20;\n$al1683 = L[729];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1883);\nbreak;\ncase 20: anf_array1697[5] = $ans1682;\n$step1673 = 21;\n$al1683 = L[728];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 21: anf_array1697[6] = $ans1682;\n$step1673 = 22;\n$al1683 = L[724];\nif(typeof(anf_fun1696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1696);\n}\n$ans1682 = anf_fun1696.app(anf_array1697);\nbreak;\ncase 22: var anf_arg1700 = $ans1682;\n$step1673 = 64;\n$al1683 = L[716];\nif(typeof(anf_fun1698.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1698);\n}\n$ans1682 = anf_fun1698.app(anf_arg1270,anf_arg1700);\nbreak;\ncase 23: $step1673 = 24;\n$al1683 = L[800];\nif(typeof(src$available1679.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,src$available1679);\n}\n$ans1682 = src$available1679.app(loc1676);\nbreak;\ncase 24: var anf_if1740 = $ans1682;\n$step1673 = R.checkPyretTrue(anf_if1740)?25:43;\nbreak;\ncase 25: $ans1682 = R.getMaker3(ED5.dict.values.dict[\"error\"],(\"make3\"),L[745],L[746]);\nvar anf_fun1714 = $ans1682;\n$ans1682 = R.getMaker2(ED5.dict.values.dict[\"para\"],(\"make2\"),L[747],L[748]);\nvar anf_fun1702 = $ans1682;\n$step1673 = 26;\n$al1683 = L[769];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 26: var anf_arg1703 = $ans1682;\n$step1673 = 27;\n$al1683 = L[768];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"dot-annotation\"));\nbreak;\ncase 27: var anf_arg1942 = $ans1682;\n$ans1682 = R.getMaker1(ED5.dict.values.dict[\"locs\"],(\"make1\"),L[749],L[750]);\nvar anf_fun1701 = $ans1682;\n$step1673 = 28;\n$al1683 = L[750];\nif(typeof(anf_fun1701.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1701);\n}\n$ans1682 = anf_fun1701.app(loc1676);\nbreak;\ncase 28: var anf_arg1922 = $ans1682;\n$step1673 = 29;\n$al1683 = L[767];\nif(typeof(ED5.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"highlight\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"highlight\"].app(anf_arg1942,anf_arg1922,(0));\nbreak;\ncase 29: var anf_arg1928 = $ans1682;\n$step1673 = 30;\n$al1683 = L[748];\nif(typeof(anf_fun1702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1702);\n}\n$ans1682 = anf_fun1702.app(anf_arg1703,anf_arg1928);\nbreak;\ncase 30: var anf_arg1716 = $ans1682;\n$step1673 = 31;\n$al1683 = L[766];\nif(typeof(ED5.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"cmcode\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"cmcode\"].app(loc1676);\nbreak;\ncase 31: var anf_arg1313 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[751],L[752]);\nvar anf_fun1711 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1712 = $ans1682;\n$step1673 = 32;\n$al1683 = L[765];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 32: anf_array1712[0] = $ans1682;\n$al1683 = L[753];\nvar anf_arg1319 = G(self1675,\"field\",L[753]);\n$step1673 = 33;\n$al1683 = L[764];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1319);\nbreak;\ncase 33: var anf_arg1710 = $ans1682;\n$step1673 = 34;\n$al1683 = L[763];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1710);\nbreak;\ncase 34: anf_array1712[1] = $ans1682;\n$step1673 = 35;\n$al1683 = L[762];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 35: anf_array1712[2] = $ans1682;\n$al1683 = L[754];\nvar anf_arg1935 = G(self1675,\"name\",L[754]);\n$step1673 = 36;\n$al1683 = L[761];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1935);\nbreak;\ncase 36: var anf_arg1932 = $ans1682;\n$step1673 = 37;\n$al1683 = L[760];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1932);\nbreak;\ncase 37: anf_array1712[3] = $ans1682;\n$step1673 = 38;\n$al1683 = L[759];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 38: anf_array1712[4] = $ans1682;\n$al1683 = L[755];\nvar anf_arg1334 = G(self1675,\"field\",L[755]);\n$step1673 = 39;\n$al1683 = L[758];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1334);\nbreak;\ncase 39: var anf_arg1939 = $ans1682;\n$step1673 = 40;\n$al1683 = L[757];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1939);\nbreak;\ncase 40: anf_array1712[5] = $ans1682;\n$step1673 = 41;\n$al1683 = L[756];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 41: anf_array1712[6] = $ans1682;\n$step1673 = 42;\n$al1683 = L[752];\nif(typeof(anf_fun1711.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1711);\n}\n$ans1682 = anf_fun1711.app(anf_array1712);\nbreak;\ncase 42: var anf_arg1337 = $ans1682;\n$step1673 = 64;\n$al1683 = L[746];\nif(typeof(anf_fun1714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1714);\n}\n$ans1682 = anf_fun1714.app(anf_arg1716,anf_arg1313,anf_arg1337);\nbreak;\ncase 43: $ans1682 = R.getMaker2(ED5.dict.values.dict[\"error\"],(\"make2\"),L[770],L[771]);\nvar anf_fun1734 = $ans1682;\n$ans1682 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[772],L[773]);\nvar anf_fun1720 = $ans1682;\n$step1673 = 44;\n$al1683 = L[799];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"The dot-annotation \"));\nbreak;\ncase 44: var anf_arg1723 = $ans1682;\n$ans1682 = R.getMaker3(ED5.dict.values.dict[\"sequence\"],(\"make3\"),L[774],L[775]);\nvar anf_fun1717 = $ans1682;\n$al1683 = L[776];\nvar anf_arg1376 = G(self1675,\"name\",L[776]);\n$step1673 = 45;\n$al1683 = L[798];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1376);\nbreak;\ncase 45: var anf_arg1718 = $ans1682;\n$step1673 = 46;\n$al1683 = L[797];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\".\"));\nbreak;\ncase 46: var anf_arg1364 = $ans1682;\n$al1683 = L[777];\nvar anf_arg1365 = G(self1675,\"field\",L[777]);\n$step1673 = 47;\n$al1683 = L[796];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1365);\nbreak;\ncase 47: var anf_arg1719 = $ans1682;\n$step1673 = 48;\n$al1683 = L[775];\nif(typeof(anf_fun1717.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1717);\n}\n$ans1682 = anf_fun1717.app(anf_arg1718,anf_arg1364,anf_arg1719);\nbreak;\ncase 48: var anf_arg1367 = $ans1682;\n$step1673 = 49;\n$al1683 = L[795];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1367);\nbreak;\ncase 49: var anf_arg1368 = $ans1682;\n$step1673 = 50;\n$al1683 = L[794];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" at \"));\nbreak;\ncase 50: var anf_arg1369 = $ans1682;\n$step1673 = 51;\n$al1683 = L[793];\nif(typeof(ED5.dict.values.dict[\"loc\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"loc\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"loc\"].app(loc1676);\nbreak;\ncase 51: var anf_arg2054 = $ans1682;\n$step1673 = 52;\n$al1683 = L[773];\nif(typeof(anf_fun1720.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1720);\n}\n$ans1682 = anf_fun1720.app(anf_arg1723,anf_arg1368,anf_arg1369,anf_arg2054);\nbreak;\ncase 52: var anf_arg1739 = $ans1682;\n$ans1682 = R.getMaker(ED5.dict.values.dict[\"para\"],(\"make\"),L[778],L[779]);\nvar anf_fun1731 = $ans1682;\n$ans1682 = R.makeArrayN((7));\nvar anf_array1732 = $ans1682;\n$step1673 = 53;\n$al1683 = L[792];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\"expects that the type named \"));\nbreak;\ncase 53: anf_array1732[0] = $ans1682;\n$al1683 = L[780];\nvar anf_arg1727 = G(self1675,\"field\",L[780]);\n$step1673 = 54;\n$al1683 = L[791];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1727);\nbreak;\ncase 54: var anf_arg2094 = $ans1682;\n$step1673 = 55;\n$al1683 = L[790];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg2094);\nbreak;\ncase 55: anf_array1732[1] = $ans1682;\n$step1673 = 56;\n$al1683 = L[789];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" exists in the object named \"));\nbreak;\ncase 56: anf_array1732[2] = $ans1682;\n$al1683 = L[781];\nvar anf_arg1427 = G(self1675,\"name\",L[781]);\n$step1673 = 57;\n$al1683 = L[788];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1427);\nbreak;\ncase 57: var anf_arg1730 = $ans1682;\n$step1673 = 58;\n$al1683 = L[787];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1730);\nbreak;\ncase 58: anf_array1732[3] = $ans1682;\n$step1673 = 59;\n$al1683 = L[786];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\", but \"));\nbreak;\ncase 59: anf_array1732[4] = $ans1682;\n$al1683 = L[782];\nvar anf_arg1409 = G(self1675,\"field\",L[782]);\n$step1673 = 60;\n$al1683 = L[785];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app(anf_arg1409);\nbreak;\ncase 60: var anf_arg1414 = $ans1682;\n$step1673 = 61;\n$al1683 = L[784];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"code\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"code\"].app(anf_arg1414);\nbreak;\ncase 61: anf_array1732[5] = $ans1682;\n$step1673 = 62;\n$al1683 = L[783];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,ED5.dict.values.dict[\"text\"]);\n}\n$ans1682 = ED5.dict.values.dict[\"text\"].app((\" could not be found.\"));\nbreak;\ncase 62: anf_array1732[6] = $ans1682;\n$step1673 = 63;\n$al1683 = L[779];\nif(typeof(anf_fun1731.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1731);\n}\n$ans1682 = anf_fun1731.app(anf_array1732);\nbreak;\ncase 63: var anf_arg1416 = $ans1682;\n$step1673 = 64;\n$al1683 = L[771];\nif(typeof(anf_fun1734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1683,anf_fun1734);\n}\n$ans1682 = anf_fun1734.app(anf_arg1739,anf_arg1416);\nbreak;\ncase 64: ++R.GAS;\nreturn $ans1682;\ndefault: R.ffi.throwSpinnakerError(L[713],$step1673);\n}\n}\nif($step1673 !== 64) {\n$ans1682.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1683,$temp_full1674,$step1673,[self1675,loc1676,from$fail$arg1677,maybe$stack$loc1678,src$available1679,maybe$ast1680],[anf_fun1720,anf_fun1731,anf_fun1698,anf_fun1711,anf_fun1734,anf_fun1702,anf_arg1364,anf_fun1714,anf_array1697,anf_array1732,anf_arg1861,anf_arg1223,anf_fun1717,anf_arg1873,anf_arg1368,anf_array1712,anf_arg1313,anf_arg1369,anf_arg1942,anf_arg1723,anf_arg1878,anf_arg1703,anf_arg1208,anf_arg1716,anf_arg1739,anf_arg1718,anf_fun1692,anf_fun1693,anf_fun1696,anf_arg1270],$elidedFrames1685);\n}\nreturn $ans1682;\n};\nvar anf_variant_member1858 = R.makeMethod5($temp_full1674,\"render-fancy-reason\");\nvar $temp_full1744 = function _935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b__801($self1031,$loc1745,$from$fail$arg1746) {\nvar $step1743 = 0;\nvar $elidedFrames1750 = 0;\nvar $ans1747 = D;\nvar $al1748 = L[801];\nif(R.isAR($self1031)) {\n$step1743 = $self1031.step;\n$al1748 = $self1031.from;\n$ans1747 = $self1031.ans;\n$elidedFrames1750 = $self1031.elidedFrames;\nself1031 = $self1031.args[0];\nloc1745 = $self1031.args[1];\nfrom$fail$arg1746 = $self1031.args[2];\nanf_fun1756 = $self1031.vars[0];\nanf_arg1443 = $self1031.vars[1];\nanf_arg1764 = $self1031.vars[2];\nanf_arg1769 = $self1031.vars[3];\nanf_fun1770 = $self1031.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[801],3,$t,true);\n}\nvar self1031 = $self1031;\nvar loc1745 = $loc1745;\nvar from$fail$arg1746 = $from$fail$arg1746;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1747 = R.mC();\n}\nwhile(!R.isContinuation($ans1747)) {\nswitch($step1743) {\ncase 0: $ans1747 = R.getMaker1(ED5.dict.values.dict[\"error\"],(\"make1\"),L[802],L[803]);\nvar anf_fun1770 = $ans1747;\n$ans1747 = R.getMaker4(ED5.dict.values.dict[\"para\"],(\"make4\"),L[804],L[805]);\nvar anf_fun1756 = $ans1747;\n$step1743 = 1;\n$al1748 = L[814];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app((\"Couldn't find \"));\nbreak;\ncase 1: var anf_arg1764 = $ans1747;\n$al1748 = L[806];\nvar anf_arg2155 = G(self1031,\"field\",L[806]);\n$step1743 = 2;\n$al1748 = L[813];\n// omitting isFunction check;\n$ans1747 = _plus5.app((\"the annotation named \"),anf_arg2155);\nbreak;\ncase 2: var anf_arg1755 = $ans1747;\n$step1743 = 3;\n$al1748 = L[812];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app(anf_arg1755);\nbreak;\ncase 3: var anf_arg1466 = $ans1747;\n$step1743 = 4;\n$al1748 = L[811];\nif(typeof(ED5.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"loc-display\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"loc-display\"].app(loc1745,(\"error-highlight\"),anf_arg1466);\nbreak;\ncase 4: var anf_arg1769 = $ans1747;\n$step1743 = 5;\n$al1748 = L[810];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app((\" in the annotations from\"));\nbreak;\ncase 5: var anf_arg1443 = $ans1747;\n$al1748 = L[807];\nvar anf_arg1444 = G(self1031,\"name\",L[807]);\n$step1743 = 6;\n$al1748 = L[809];\nif(typeof(ED5.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"text\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"text\"].app(anf_arg1444);\nbreak;\ncase 6: var anf_arg1445 = $ans1747;\n$step1743 = 7;\n$al1748 = L[808];\nif(typeof(ED5.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,ED5.dict.values.dict[\"code\"]);\n}\n$ans1747 = ED5.dict.values.dict[\"code\"].app(anf_arg1445);\nbreak;\ncase 7: var anf_arg1452 = $ans1747;\n$step1743 = 8;\n$al1748 = L[805];\nif(typeof(anf_fun1756.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,anf_fun1756);\n}\n$ans1747 = anf_fun1756.app(anf_arg1764,anf_arg1769,anf_arg1443,anf_arg1452);\nbreak;\ncase 8: var anf_arg1458 = $ans1747;\n$step1743 = 9;\n$al1748 = L[803];\nif(typeof(anf_fun1770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1748,anf_fun1770);\n}\n$ans1747 = anf_fun1770.app(anf_arg1458);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1747;\ndefault: R.ffi.throwSpinnakerError(L[801],$step1743);\n}\n}\nif($step1743 !== 9) {\n$ans1747.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1748,$temp_full1744,$step1743,[self1031,loc1745,from$fail$arg1746],[anf_fun1756,anf_arg1443,anf_arg1764,anf_arg1769,anf_fun1770],$elidedFrames1750);\n}\nreturn $ans1747;\n};\nvar anf_variant_member1859 = R.makeMethod2($temp_full1744,\"render-reason\");\nvar $bad$bracket$target_getfields1778 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"obj\"]);\n};\nvar $bad$bracket$target_mutablemask1777 = [false,false];\nvar $bad$bracket$target$base1772 = {\"$fieldNames\":[\"loc\",\"obj\"],\n\"render-fancy-reason\":anf_variant_member1775,\n\"render-reason\":anf_variant_member1776,\n\"_match\":R.mM(\"bad-bracket-target\",2)};\nvar $bad$bracket$target$brander1773 = R.nB(\"bad-bracket-target\",L[815]);\nvar $bad$bracket$target$brands1774 = {};\n$bad$bracket$target$brands1774[FailureReason33._brand] = true;\n$bad$bracket$target$brands1774[$bad$bracket$target$brander1773._brand] = true;\nvar bad$bracket$target1779 = R.mVC(L[815],function $synthesizedConstructor_$bad$bracket$target$base() {\nreturn [];\n},[],[],[false,false],[\"loc1780\",\"obj1781\"],$bad$bracket$target_mutablemask1777,$bad$bracket$target$base1772,$bad$bracket$target$brands1774,\"bad-bracket-target\",$bad$bracket$target_getfields1778,$bad$bracket$target$base1772);\nvar $failure$at$arg_getfields1788 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"index\"],this.dict[\"function-name\"],this.dict[\"args\"],this.dict[\"reason\"]);\n};\nvar $failure$at$arg_mutablemask1787 = [false,false,false,false,false];\nvar $failure$at$arg$base1782 = {\"$fieldNames\":[\"loc\",\"index\",\"function-name\",\"args\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member1785,\n\"render-reason\":anf_variant_member1786,\n\"_match\":R.mM(\"failure-at-arg\",5)};\nvar $failure$at$arg$brander1783 = R.nB(\"failure-at-arg\",L[816]);\nvar $failure$at$arg$brands1784 = {};\n$failure$at$arg$brands1784[FailureReason33._brand] = true;\n$failure$at$arg$brands1784[$failure$at$arg$brander1783._brand] = true;\nvar failure$at$arg1789 = R.mVC(L[816],function $synthesizedConstructor_$failure$at$arg$base() {\nreturn [];\n},[],[],[false,false,false,false,false],[\"loc1790\",\"index1791\",\"function$name1792\",\"args1793\",\"reason1794\"],$failure$at$arg_mutablemask1787,$failure$at$arg$base1782,$failure$at$arg$brands1784,\"failure-at-arg\",$failure$at$arg_getfields1788,$failure$at$arg$base1782);\nvar $ref$init_getfields1801 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"reason\"]);\n};\nvar $ref$init_mutablemask1800 = [false,false];\nvar $ref$init$base1795 = {\"$fieldNames\":[\"loc\",\"reason\"],\n\"render-fancy-reason\":anf_variant_member1798,\n\"render-reason\":anf_variant_member1799,\n\"_match\":R.mM(\"ref-init\",2)};\nvar $ref$init$brander1796 = R.nB(\"ref-init\",L[817]);\nvar $ref$init$brands1797 = {};\n$ref$init$brands1797[FailureReason33._brand] = true;\n$ref$init$brands1797[$ref$init$brander1796._brand] = true;\nvar ref$init1802 = R.mVC(L[817],function $synthesizedConstructor_$ref$init$base() {\nreturn [FailureReason121];\n},[\"reason1803\"],[L[818]],[false,false],[\"loc1804\",\"reason1803\"],$ref$init_mutablemask1800,$ref$init$base1795,$ref$init$brands1797,\"ref-init\",$ref$init_getfields1801,$ref$init$base1795);\nvar $type$mismatch_getfields1811 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"name\"]);\n};\nvar $type$mismatch_mutablemask1810 = [false,false];\nvar $type$mismatch$base1805 = {\"$fieldNames\":[\"val\",\"name\"],\n\"render-fancy-reason\":anf_variant_member1808,\n\"render-reason\":anf_variant_member1809,\n\"_match\":R.mM(\"type-mismatch\",2)};\nvar $type$mismatch$brander1806 = R.nB(\"type-mismatch\",L[819]);\nvar $type$mismatch$brands1807 = {};\n$type$mismatch$brands1807[FailureReason33._brand] = true;\n$type$mismatch$brands1807[$type$mismatch$brander1806._brand] = true;\nvar type$mismatch1812 = R.mVC(L[819],function $synthesizedConstructor_$type$mismatch$base() {\nreturn [$type$String8];\n},[\"name1813\"],[L[820]],[false,false],[\"val1814\",\"name1813\"],$type$mismatch_mutablemask1810,$type$mismatch$base1805,$type$mismatch$brands1807,\"type-mismatch\",$type$mismatch_getfields1811,$type$mismatch$base1805);\nvar $predicate$failure_getfields1821 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"name\"]);\n};\nvar $predicate$failure_mutablemask1820 = [false,false];\nvar $predicate$failure$base1815 = {\"$fieldNames\":[\"val\",\"name\"],\n\"render-fancy-reason\":anf_variant_member1818,\n\"render-reason\":anf_variant_member1819,\n\"_match\":R.mM(\"predicate-failure\",2)};\nvar $predicate$failure$brander1816 = R.nB(\"predicate-failure\",L[821]);\nvar $predicate$failure$brands1817 = {};\n$predicate$failure$brands1817[FailureReason33._brand] = true;\n$predicate$failure$brands1817[$predicate$failure$brander1816._brand] = true;\nvar predicate$failure1822 = R.mVC(L[821],function $synthesizedConstructor_$predicate$failure$base() {\nreturn [];\n},[],[],[false,false],[\"val1823\",\"name1824\"],$predicate$failure_mutablemask1820,$predicate$failure$base1815,$predicate$failure$brands1817,\"predicate-failure\",$predicate$failure_getfields1821,$predicate$failure$base1815);\nvar $record$fields$fail_getfields1830 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"field-failures\"]);\n};\nvar $record$fields$fail_mutablemask1829 = [false,false];\nvar $record$fields$fail$base1825 = {\"$fieldNames\":[\"val\",\"field-failures\"],\n\"render-fancy-reason\":anf_variant_member1828,\n\"render-reason\":anf_variant_member1719,\n\"_match\":R.mM(\"record-fields-fail\",2)};\nvar $record$fields$fail$brander1826 = R.nB(\"record-fields-fail\",L[822]);\nvar $record$fields$fail$brands1827 = {};\n$record$fields$fail$brands1827[FailureReason33._brand] = true;\n$record$fields$fail$brands1827[$record$fields$fail$brander1826._brand] = true;\nvar record$fields$fail1831 = R.mVC(L[822],function $synthesizedConstructor_$record$fields$fail$base() {\nreturn [List2];\n},[\"field$failures1832\"],[L[823]],[false,false],[\"val1833\",\"field$failures1832\"],$record$fields$fail_mutablemask1829,$record$fields$fail$base1825,$record$fields$fail$brands1827,\"record-fields-fail\",$record$fields$fail_getfields1830,$record$fields$fail$base1825);\nvar $tuple$anns$fail_getfields1839 = function singleton_variant(f) {\nreturn f(this.dict[\"val\"],this.dict[\"anns-failures\"]);\n};\nvar $tuple$anns$fail_mutablemask1838 = [false,false];\nvar $tuple$anns$fail$base1834 = {\"$fieldNames\":[\"val\",\"anns-failures\"],\n\"render-fancy-reason\":anf_variant_member1742,\n\"render-reason\":anf_variant_member1837,\n\"_match\":R.mM(\"tuple-anns-fail\",2)};\nvar $tuple$anns$fail$brander1835 = R.nB(\"tuple-anns-fail\",L[824]);\nvar $tuple$anns$fail$brands1836 = {};\n$tuple$anns$fail$brands1836[FailureReason33._brand] = true;\n$tuple$anns$fail$brands1836[$tuple$anns$fail$brander1835._brand] = true;\nvar tuple$anns$fail1840 = R.mVC(L[824],function $synthesizedConstructor_$tuple$anns$fail$base() {\nreturn [List2];\n},[\"anns$failures1841\"],[L[825]],[false,false],[\"val1842\",\"anns$failures1841\"],$tuple$anns$fail_mutablemask1838,$tuple$anns$fail$base1834,$tuple$anns$fail$brands1836,\"tuple-anns-fail\",$tuple$anns$fail_getfields1839,$tuple$anns$fail$base1834);\nvar $tup$length$mismatch_getfields1849 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"annLength\"],this.dict[\"tupleLength\"]);\n};\nvar $tup$length$mismatch_mutablemask1848 = [false,false,false,false];\nvar $tup$length$mismatch$base1843 = {\"$fieldNames\":[\"loc\",\"val\",\"annLength\",\"tupleLength\"],\n\"render-fancy-reason\":anf_variant_member1846,\n\"render-reason\":anf_variant_member1847,\n\"_match\":R.mM(\"tup-length-mismatch\",4)};\nvar $tup$length$mismatch$brander1844 = R.nB(\"tup-length-mismatch\",L[826]);\nvar $tup$length$mismatch$brands1845 = {};\n$tup$length$mismatch$brands1845[FailureReason33._brand] = true;\n$tup$length$mismatch$brands1845[$tup$length$mismatch$brander1844._brand] = true;\nvar tup$length$mismatch1850 = R.mVC(L[826],function $synthesizedConstructor_$tup$length$mismatch$base() {\nreturn [];\n},[],[],[false,false,false,false],[\"loc1851\",\"val1852\",\"annLength1853\",\"tupleLength1854\"],$tup$length$mismatch_mutablemask1848,$tup$length$mismatch$base1843,$tup$length$mismatch$brands1845,\"tup-length-mismatch\",$tup$length$mismatch_getfields1849,$tup$length$mismatch$base1843);\nvar $dot$ann$not$present_getfields1861 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"field\"]);\n};\nvar $dot$ann$not$present_mutablemask1860 = [false,false];\nvar $dot$ann$not$present$base1855 = {\"$fieldNames\":[\"name\",\"field\"],\n\"render-fancy-reason\":anf_variant_member1858,\n\"render-reason\":anf_variant_member1859,\n\"_match\":R.mM(\"dot-ann-not-present\",2)};\nvar $dot$ann$not$present$brander1856 = R.nB(\"dot-ann-not-present\",L[827]);\nvar $dot$ann$not$present$brands1857 = {};\n$dot$ann$not$present$brands1857[FailureReason33._brand] = true;\n$dot$ann$not$present$brands1857[$dot$ann$not$present$brander1856._brand] = true;\nvar dot$ann$not$present1862 = R.mVC(L[827],function $synthesizedConstructor_$dot$ann$not$present$base() {\nreturn [];\n},[],[],[false,false],[\"name1863\",\"field1864\"],$dot$ann$not$present_mutablemask1860,$dot$ann$not$present$base1855,$dot$ann$not$present$brands1857,\"dot-ann-not-present\",$dot$ann$not$present_getfields1861,$dot$ann$not$present$base1855);\nvar anf_assign2189 = R.mO({\"FailureReason\":G(FailureReason33,\"test\",L[828]),\n\"is-bad-bracket-target\":G($bad$bracket$target$brander1773,\"test\",L[815]),\n\"bad-bracket-target\":bad$bracket$target1779,\n\"is-failure-at-arg\":G($failure$at$arg$brander1783,\"test\",L[816]),\n\"failure-at-arg\":failure$at$arg1789,\n\"is-ref-init\":G($ref$init$brander1796,\"test\",L[817]),\n\"ref-init\":ref$init1802,\n\"is-type-mismatch\":G($type$mismatch$brander1806,\"test\",L[819]),\n\"type-mismatch\":type$mismatch1812,\n\"is-predicate-failure\":G($predicate$failure$brander1816,\"test\",L[821]),\n\"predicate-failure\":predicate$failure1822,\n\"is-record-fields-fail\":G($record$fields$fail$brander1826,\"test\",L[822]),\n\"record-fields-fail\":record$fields$fail1831,\n\"is-tuple-anns-fail\":G($tuple$anns$fail$brander1835,\"test\",L[824]),\n\"tuple-anns-fail\":tuple$anns$fail1840,\n\"is-tup-length-mismatch\":G($tup$length$mismatch$brander1844,\"test\",L[826]),\n\"tup-length-mismatch\":tup$length$mismatch1850,\n\"is-dot-ann-not-present\":G($dot$ann$not$present$brander1856,\"test\",L[827]),\n\"dot-ann-not-present\":dot$ann$not$present1862});\nFailureReason1865.$var = anf_assign2189;\nR.nothing;\n$al28 = L[828];\nvar anf_assign1470 = G(FailureReason1865.$var,\"FailureReason\",L[828]);\nis$FailureReason1866.$var = anf_assign1470;\nR.nothing;\n$al28 = L[815];\nvar anf_assign1867 = G(FailureReason1865.$var,\"is-bad-bracket-target\",L[815]);\nis$bad$bracket$target1868.$var = anf_assign1867;\nR.nothing;\n$al28 = L[815];\nvar anf_assign1869 = G(FailureReason1865.$var,\"bad-bracket-target\",L[815]);\nbad$bracket$target1870.$var = anf_assign1869;\nR.nothing;\n$al28 = L[816];\nvar anf_assign1871 = G(FailureReason1865.$var,\"is-failure-at-arg\",L[816]);\nis$failure$at$arg1872.$var = anf_assign1871;\nR.nothing;\n$al28 = L[816];\nvar anf_assign1873 = G(FailureReason1865.$var,\"failure-at-arg\",L[816]);\nfailure$at$arg1874.$var = anf_assign1873;\nR.nothing;\n$al28 = L[817];\nvar anf_assign2206 = G(FailureReason1865.$var,\"is-ref-init\",L[817]);\nis$ref$init1875.$var = anf_assign2206;\nR.nothing;\n$al28 = L[817];\nvar anf_assign1876 = G(FailureReason1865.$var,\"ref-init\",L[817]);\nref$init1877.$var = anf_assign1876;\nR.nothing;\n$al28 = L[819];\nvar anf_assign1878 = G(FailureReason1865.$var,\"is-type-mismatch\",L[819]);\nis$type$mismatch1879.$var = anf_assign1878;\nR.nothing;\n$al28 = L[819];\nvar anf_assign1880 = G(FailureReason1865.$var,\"type-mismatch\",L[819]);\ntype$mismatch1881.$var = anf_assign1880;\nR.nothing;\n$al28 = L[821];\nvar anf_assign1882 = G(FailureReason1865.$var,\"is-predicate-failure\",L[821]);\nis$predicate$failure1883.$var = anf_assign1882;\nR.nothing;\n$al28 = L[821];\nvar anf_assign1884 = G(FailureReason1865.$var,\"predicate-failure\",L[821]);\npredicate$failure1885.$var = anf_assign1884;\nR.nothing;\n$al28 = L[822];\nvar anf_assign1888 = G(FailureReason1865.$var,\"is-record-fields-fail\",L[822]);\nis$record$fields$fail1889.$var = anf_assign1888;\nR.nothing;\n$al28 = L[822];\nvar anf_assign1890 = G(FailureReason1865.$var,\"record-fields-fail\",L[822]);\nrecord$fields$fail1891.$var = anf_assign1890;\nR.nothing;\n$al28 = L[824];\nvar anf_assign1892 = G(FailureReason1865.$var,\"is-tuple-anns-fail\",L[824]);\nis$tuple$anns$fail1893.$var = anf_assign1892;\nR.nothing;\n$al28 = L[824];\nvar anf_assign1894 = G(FailureReason1865.$var,\"tuple-anns-fail\",L[824]);\ntuple$anns$fail1895.$var = anf_assign1894;\nR.nothing;\n$al28 = L[826];\nvar anf_assign1896 = G(FailureReason1865.$var,\"is-tup-length-mismatch\",L[826]);\nis$tup$length$mismatch1897.$var = anf_assign1896;\nR.nothing;\n$al28 = L[826];\nvar anf_assign1505 = G(FailureReason1865.$var,\"tup-length-mismatch\",L[826]);\ntup$length$mismatch1898.$var = anf_assign1505;\nR.nothing;\n$al28 = L[827];\nvar anf_assign1899 = G(FailureReason1865.$var,\"is-dot-ann-not-present\",L[827]);\nis$dot$ann$not$present1900.$var = anf_assign1899;\nR.nothing;\n$al28 = L[827];\nvar anf_assign1901 = G(FailureReason1865.$var,\"dot-ann-not-present\",L[827]);\ndot$ann$not$present1902.$var = anf_assign1901;\nR.nothing;\n$step12 = 1;\n$ans27 = R.maybeMethodCall2(builtins1,\"trace-value\",L[829],L[829],nothing2);\nbreak;\ncase 1: var answer1905 = $ans27;\n$step12 = 2;\n$ans27 = R.maybeMethodCall0(builtins1,\"current-checker\",L[26]);\nbreak;\ncase 2: var anf_method_obj1903 = $ans27;\n$step12 = 3;\n$ans27 = R.maybeMethodCall0(anf_method_obj1903,\"results\",L[26]);\nbreak;\ncase 3: var checks1906 = $ans27;\n$step12 = 4;\n$ans27 = R.mO({\"answer\":answer1905,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"ED\":ED5},\n\"defined-values\":{\"is-fail\":is$fail150.$var,\n\"is-bad-bracket-target\":is$bad$bracket$target1868.$var,\n\"type-mismatch\":type$mismatch1881.$var,\n\"is-failure-at-arg\":is$failure$at$arg1872.$var,\n\"fail-arg\":fail$arg156.$var,\n\"is-fail-arg\":is$fail$arg154.$var,\n\"ref-init\":ref$init1877.$var,\n\"is-FailureReason\":is$FailureReason1866.$var,\n\"is-ref-init\":is$ref$init1875.$var,\n\"is-dot-ann-not-present\":is$dot$ann$not$present1900.$var,\n\"is-missing-field\":is$missing$field251.$var,\n\"dot-ann-not-present\":dot$ann$not$present1902.$var,\n\"is-predicate-failure\":is$predicate$failure1883.$var,\n\"is-tuple-anns-fail\":is$tuple$anns$fail1893.$var,\n\"is-ContractResult\":is$ContractResult138.$var,\n\"missing-field\":missing$field253.$var,\n\"is-FieldFailure\":is$FieldFailure241.$var,\n\"is-field-failure\":is$field$failure243.$var,\n\"tuple-anns-fail\":tuple$anns$fail1895.$var,\n\"predicate-failure\":predicate$failure1885.$var,\n\"is-tup-length-mismatch\":is$tup$length$mismatch1897.$var,\n\"draw-and-highlight\":draw$and$highlight44.$var,\n\"record-fields-fail\":record$fields$fail1891.$var,\n\"tup-length-mismatch\":tup$length$mismatch1898.$var,\n\"field-failure\":field$failure245.$var,\n\"is-record-fields-fail\":is$record$fields$fail1889.$var,\n\"is-ann-failure\":is$ann$failure247.$var,\n\"ok\":ok148.$var,\n\"bad-bracket-target\":bad$bracket$target1870.$var,\n\"ann-failure\":ann$failure249.$var,\n\"fail\":fail152.$var,\n\"is-type-mismatch\":is$type$mismatch1879.$var,\n\"is-ok\":is$ok144.$var,\n\"failure-at-arg\":failure$at$arg1874.$var},\n\"defined-types\":{\"FailureReason\":FailureReason121,\n\"ContractResult\":ContractResult1904,\n\"FieldFailure\":FieldFailure1231},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-fail\":is$fail150.$var,\n\"is-bad-bracket-target\":is$bad$bracket$target1868.$var,\n\"type-mismatch\":type$mismatch1881.$var,\n\"is-failure-at-arg\":is$failure$at$arg1872.$var,\n\"fail-arg\":fail$arg156.$var,\n\"is-fail-arg\":is$fail$arg154.$var,\n\"ref-init\":ref$init1877.$var,\n\"is-FailureReason\":is$FailureReason1866.$var,\n\"is-ref-init\":is$ref$init1875.$var,\n\"is-dot-ann-not-present\":is$dot$ann$not$present1900.$var,\n\"is-missing-field\":is$missing$field251.$var,\n\"dot-ann-not-present\":dot$ann$not$present1902.$var,\n\"is-predicate-failure\":is$predicate$failure1883.$var,\n\"is-tuple-anns-fail\":is$tuple$anns$fail1893.$var,\n\"is-ContractResult\":is$ContractResult138.$var,\n\"missing-field\":missing$field253.$var,\n\"is-FieldFailure\":is$FieldFailure241.$var,\n\"is-field-failure\":is$field$failure243.$var,\n\"tuple-anns-fail\":tuple$anns$fail1895.$var,\n\"predicate-failure\":predicate$failure1885.$var,\n\"is-tup-length-mismatch\":is$tup$length$mismatch1897.$var,\n\"draw-and-highlight\":draw$and$highlight44.$var,\n\"record-fields-fail\":record$fields$fail1891.$var,\n\"tup-length-mismatch\":tup$length$mismatch1898.$var,\n\"field-failure\":field$failure245.$var,\n\"is-record-fields-fail\":is$record$fields$fail1889.$var,\n\"is-ann-failure\":is$ann$failure247.$var,\n\"ok\":ok148.$var,\n\"bad-bracket-target\":bad$bracket$target1870.$var,\n\"ann-failure\":ann$failure249.$var,\n\"fail\":fail152.$var,\n\"is-type-mismatch\":is$type$mismatch1879.$var,\n\"is-ok\":is$ok144.$var,\n\"failure-at-arg\":failure$at$arg1874.$var}),\n\"types\":{\"ContractResult\":ContractResult1904,\n\"FieldFailure\":FieldFailure1231,\n\"FailureReason\":FailureReason121},\n\"modules\":{}}),\n\"checks\":checks1906});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans27;\ndefault: R.ffi.throwSpinnakerError(L[830],$step12);\n}\n}\nif($step12 !== 4) {\n$ans27.stack[R.EXN_STACKHEIGHT++] = R.mAR($al28,$toplevel13,$step12,[],[ok148,FieldFailure1231,answer1905,is$FieldFailure241,is$FailureReason1866,tup$length$mismatch1898,tuple$anns$fail1895,bad$bracket$target1870,is$fail$arg154,is$field$failure243,is$dot$ann$not$present1900,FailureReason121,ann$failure249,draw$and$highlight44,is$ContractResult138,is$record$fields$fail1889,ContractResult1904,is$fail150,is$predicate$failure1883,fail$arg156,is$ann$failure247,is$ok144,dot$ann$not$present1902,failure$at$arg1874,ref$init1877,missing$field253,is$tuple$anns$fail1893,is$bad$bracket$target1868,is$tup$length$mismatch1897,record$fields$fail1891,fail152,is$type$mismatch1879,predicate$failure1885,type$mismatch1881,field$failure245,is$failure$at$arg1872,is$missing$field251,is$ref$init1875],$elidedFrames30);\n}\nreturn $ans27;\n};\nreturn R.safeCall($toplevel13,function module_load(moduleVal) {\nR.modules[\"$builtin://contracts9\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"failure-at-arg":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -92, -2, -3380, -160, -7, -6637], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"failure-at-arg", -"typ":"tany"}, -"is-ok":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -15, -2, -224, -16, -67, -302], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-ok", -"typ":"tany"}, -"is-type-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -182, -2, -7488, -240, -7, -9512], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-type-mismatch", -"typ":"tany"}, -"fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -17, -2, -305, -23, -7, -623], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"fail", -"typ":"tany"}, -"ann-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -42, -2, -1358, -48, -7, -1652], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"ann-failure", -"typ":"tany"}, -"bad-bracket-target":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -58, -2, -1937, -91, -7, -3377], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"bad-bracket-target", -"typ":"tany"}, -"ok":{"bind":"let", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -15, -2, -224, -16, -67, -302], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"typ":"tany"}, -"is-ann-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -42, -2, -1358, -48, -7, -1652], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-ann-failure", -"typ":"tany"}, -"is-record-fields-fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -301, -2, -11615, -371, -7, -14214], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-record-fields-fail", -"typ":"tany"}, -"field-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -35, -2, -1020, -41, -7, -1355], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"field-failure", -"typ":"tany"}, -"tup-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -443, -2, -16901, -497, -7, -18868], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"tup-length-mismatch", -"typ":"tany"}, -"record-fields-fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -301, -2, -11615, -371, -7, -14214], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"record-fields-fail", -"typ":"tany"}, -"draw-and-highlight":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -3, -0, -17, -3, -9, -26], -"definition-bind-site":["builtin://contracts", -10, -0, -119, -12, -3, -199], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":1, -"name":"draw-and-highlight", -"typ":"tany"}, -"is-tup-length-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -443, -2, -16901, -497, -7, -18868], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-tup-length-mismatch", -"typ":"tany"}, -"predicate-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -241, -2, -9515, -300, -7, -11612], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"predicate-failure", -"typ":"tany"}, -"tuple-anns-fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -372, -2, -14217, -442, -7, -16898], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"tuple-anns-fail", -"typ":"tany"}, -"is-field-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -35, -2, -1020, -41, -7, -1355], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-field-failure", -"typ":"tany"}, -"is-FieldFailure":{"bind":"let", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -34, -0, -999, -55, -3, -1913], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"typ":"tany"}, -"missing-field":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -49, -2, -1655, -54, -7, -1909], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"missing-field", -"typ":"tany"}, -"is-ContractResult":{"bind":"let", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -14, -0, -201, -31, -3, -951], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"typ":"tany"}, -"is-tuple-anns-fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -372, -2, -14217, -442, -7, -16898], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-tuple-anns-fail", -"typ":"tany"}, -"is-predicate-failure":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -241, -2, -9515, -300, -7, -11612], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-predicate-failure", -"typ":"tany"}, -"dot-ann-not-present":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -498, -2, -18871, -559, -7, -21135], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"dot-ann-not-present", -"typ":"tany"}, -"is-missing-field":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -49, -2, -1655, -54, -7, -1909], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-missing-field", -"typ":"tany"}, -"is-dot-ann-not-present":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -498, -2, -18871, -559, -7, -21135], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-dot-ann-not-present", -"typ":"tany"}, -"is-ref-init":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -161, -2, -6640, -181, -7, -7485], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-ref-init", -"typ":"tany"}, -"is-FailureReason":{"bind":"let", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -57, -0, -1915, -560, -3, -21139], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"typ":"tany"}, -"ref-init":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -161, -2, -6640, -181, -7, -7485], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"ref-init", -"typ":"tany"}, -"is-fail-arg":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -24, -2, -626, -30, -7, -947], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-fail-arg", -"typ":"tany"}, -"fail-arg":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -24, -2, -626, -30, -7, -947], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"fail-arg", -"typ":"tany"}, -"is-failure-at-arg":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -92, -2, -3380, -160, -7, -6637], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-failure-at-arg", -"typ":"tany"}, -"type-mismatch":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -182, -2, -7488, -240, -7, -9512], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"type-mismatch", -"typ":"tany"}, -"is-bad-bracket-target":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -58, -2, -1937, -91, -7, -3377], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-bad-bracket-target", -"typ":"tany"}, -"is-fail":{"bind":"fun", -"origin":{"local-bind-site":["builtin://contracts", -4, -0, -27, -4, -15, -42], -"definition-bind-site":["builtin://contracts", -17, -2, -305, -23, -7, -623], -"new-definition":true, -"uri-of-definition":"builtin://contracts"}, -"flatness":0, -"name":"is-fail", -"typ":"tany"}}, -"datatypes":{"FailureReason":["data",{"local-bind-site":["builtin://contracts", -57, -0, -1915, -560, -3, -21139], -"definition-bind-site":["builtin://contracts", -57, -0, -1915, -560, -3, -21139], -"new-definition":true, -"uri-of-definition":"builtin://contracts"},"FailureReason",[],[["bad-bracket-target", -[["loc", -"tany"],["obj", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-at-arg", -[["loc", -"tany"],["index", -"tany"],["function-name", -"tany"],["args", -"tany"],["reason", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["ref-init", -[["loc", -"tany"],["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"FailureReason"}]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["type-mismatch", -[["val", -"tany"],["name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["predicate-failure", -[["val", -"tany"],["name", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["record-fields-fail", -[["val", -"tany"],["field-failures", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"List"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"FieldFailure"}]]]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["tuple-anns-fail", -[["val", -"tany"],["anns-failures", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"List"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"FieldFailure"}]]]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["tup-length-mismatch", -[["loc", -"tany"],["val", -"tany"],["annLength", -"tany"],["tupleLength", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}],["dot-ann-not-present", -[["name", -"tany"],["field", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}]],{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany", -"tany", -"tany"], -"tany"]}], -"FieldFailure":["data",{"local-bind-site":["builtin://contracts", -34, -0, -999, -55, -3, -1913], -"definition-bind-site":["builtin://contracts", -34, -0, -999, -55, -3, -1913], -"new-definition":true, -"uri-of-definition":"builtin://contracts"},"FieldFailure",[],[["field-failure", -[["loc", -"tany"],["field", -"tany"],["reason", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"]}],["ann-failure", -[["loc", -"tany"],["ann", -"tany"],["reason", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"]}],["missing-field", -[["loc", -"tany"],["field", -"tany"]], -{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"]}]],{"render-reason":["arrow", -["tany", -"tany", -"tany"], -"tany"]}], -"ContractResult":["data",{"local-bind-site":["builtin://contracts", -14, -0, -201, -31, -3, -951], -"definition-bind-site":["builtin://contracts", -14, -0, -201, -31, -3, -951], -"new-definition":true, -"uri-of-definition":"builtin://contracts"},"ContractResult",[],[["ok", -{"render-reason":["arrow", -["tany"], -"tany"]}],["fail", -[["loc", -"tany"],["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"FailureReason"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["fail-arg", -[["loc", -"tany"],["reason", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://contracts"}, -"name":"FailureReason"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}]],{"render-reason":["arrow", -["tany"], -"tany"]}]}, -"aliases":{"FailureReason":"tany", -"FieldFailure":"tany", -"ContractResult":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"error-display"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"option"}]}), -"builtin://string-dict":({ - requires: - [ - { "import-type": "builtin", name: "valueskeleton" } - ], - nativeRequires: ["pyret-base/js/namespace"], - provides: { - shorthands: { - "sdOfA": ["tyapp", ["local", "StringDict"], [["tid", "a"]]], - "msdOfA": ["tyapp", ["local", "MutableStringDict"], [["tid", "a"]]], - - "Equality": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://equality" }, - name: "EqualityResult" }, - "VS": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://valueskeleton" }, - name: "ValueSkeleton" }, - "SetOfA": ["tyapp", { tag: "name", - origin: { "import-type": "uri", uri: "builtin://sets" }, - name: "Set" }, [["tid", "a"]]], - "SetOfString": ["tyapp", { tag: "name", - origin: { "import-type": "uri", uri: "builtin://sets" }, - name: "Set" }, ["String"]], - "tva": ["tid", "a"], - "idB": ["tid", "b"] - }, - values: { - "make-string-dict": ["forall", ["a"], ["arrow", [], "sdOfA"]], - "make-mutable-string-dict": ["forall", ["a"], ["arrow", [], "msdOfA"]], - "string-dict": ["forall", ["a"], ["Maker", "Any", "sdOfA"]], - "mutable-string-dict": ["forall", ["a"], ["Maker", "Any", "msdOfA"]], - "map-keys": ["forall", ["a", "b"], ["arrow", [["arrow", ["String"], "idB"], - "sdOfA"], - ["List", "idB"]]], - "map-keys-now": ["forall", ["a", "b"], ["arrow", [["arrow", ["String"], "idB"], - "msdOfA"], - ["List", "idB"]]], - // NOTE: the signature for this is backwards from the method version, - // so as to match the inconsistency in lists.arr - "fold-keys": ["forall", ["a", "b"], ["arrow", [["arrow", ["idB", "String"], "idB"], - "idB", - "sdOfA"], - "idB"]], - "fold-keys-now": ["forall", ["a", "b"], ["arrow", [["arrow", ["idB", "String"], "idB"], - "idB", - "msdOfA"], - "idB"]], - "each-key": ["forall", ["a"], ["arrow", [["arrow", ["String"], "Nothing"], "sdOfA"], "Nothing"]], - "each-key-now": ["forall", ["a"], ["arrow", [["arrow", ["String"], "Nothing"], "msdOfA"], "Nothing"]], - "is-mutable-string-dict": ["arrow", ["Any"], "Boolean"], - "is-string-dict": ["arrow", ["Any"], "Boolean"], - "string-dict-of": ["forall", "a", ["arrow", [["List", "String"], ["tid", "a"]], "sdOfA"]] - }, - aliases: { - "StringDict": { - tag: "name", - origin: { "import-type": "$ELF" }, - name: "StringDict" - }, - "MutableStringDict": { - tag: "name", - origin: { "import-type": "$ELF" }, - name: "MutableStringDict" - } - }, - datatypes: { - "StringDict": ["data", "StringDict", ["a"], [], { - "get": ["arrow", ["String"], ["Option", ["tid", "a"]]], - "get-value": ["arrow", ["String"], ["tid", "a"]], - "set": ["arrow", ["String", ["tid", "a"]], "sdOfA"], - "merge": ["arrow", ["sdOfA"], "sdOfA"], - "remove": ["arrow", ["String"], "sdOfA"], - "keys": ["arrow", [], "SetOfString"], - "keys-list": ["arrow", [], ["List", "String"]], - "map-keys": ["forall", ["b"], ["arrow", [["arrow", ["String"], "idB"]], ["List", "idB"]]], - "fold-keys": ["forall", ["b"], ["arrow", [["arrow", ["String", "idB"], "idB"], "idB"], "idB"]], - "each-key": ["arrow", [["arrow", ["String"], "Nothing"]], "Nothing"], - "count": ["arrow", [], "Number"], - "has-key": ["arrow", ["String"], "Boolean"], - "_equals": ["arrow", ["sdOfA", ["arrow", ["Any", "Any"], "Equality"]], "Equality"], - "_output": ["arrow", [["arrow", ["Any"], "VS"]], "VS"], - "unfreeze": ["arrow", [], "msdOfA"] - }], - "MutableStringDict": ["data", "MutableStringDict", ["a"], [], { - "get-now": ["arrow", ["String"], ["Option", ["tid", "a"]]], - "get-value-now": ["arrow", ["String"], ["tid", "a"]], - "set-now": ["arrow", ["String", ["tid", "a"]], "Nothing"], - "merge-now": ["arrow", ["msdOfA"], "Nothing"], - "remove-now": ["arrow", ["String"], "Nothing"], - "keys-now": ["arrow", [], "SetOfString"], - "keys-list-now": ["arrow", [], ["List", "String"]], - "map-keys-now": ["forall", ["b"], ["arrow", [["arrow", ["String"], "idB"]], ["List", "idB"]]], - "fold-keys-now": ["forall", ["b"], ["arrow", [["arrow", ["String", "idB"], "idB"], "idB"], "idB"]], - "each-key-now": ["arrow", [["arrow", ["String"], "Nothing"]], "Nothing"], - "count-now": ["arrow", [], "Number"], - "has-key-now": ["arrow", ["String"], "Boolean"], - "_equals": ["arrow", ["sdOfA", ["arrow", ["Any", "Any"], "Equality"]], "Equality"], - "_output": ["arrow", [["arrow", ["Any"], "VS"]], "VS"], - "freeze": ["arrow", [], "sdOfA"], - "seal": ["arrow", [], "msdOfA"] - }], - } - }, - theModule: function(runtime, namespace, uri, VSlib){ - var O = runtime.makeObject; - var F = runtime.makeFunction; - var arity = runtime.checkArity; - var get = runtime.getField; - - var VS = get(VSlib, "values"); - - var brandMutable = runtime.namedBrander("mutable-string-dict", ["string-dict: mutable-string-dict brander"]); - var brandImmutable = runtime.namedBrander("string-dict", ["string-dict: string-dict brander"]); - - var annMutable = runtime.makeBranderAnn(brandMutable, "MutableStringDict"); - var annImmutable = runtime.makeBranderAnn(brandImmutable, "StringDict"); - - var checkMSD = function(v) { runtime._checkAnn(["string-dict"], annMutable, v); }; - var checkISD = function(v) { runtime._checkAnn(["string-dict"], annImmutable, v); }; - - function applyBrand(brand, val) { - return get(brand, "brand").app(val); - } - function hasBrand(brand, val) { - return get(brand, "test").app(val); - } - - // used for removing values - var NOT_SET = {} - - // TODO(MATT): is this bad? - var CHANGE_LENGTH = { value: false }; - var DID_ALTER = { value: false }; - - var SHIFT = 5; - var SIZE = 1 << SHIFT; - var MASK = SIZE - 1; - var MAX_ARRAY_MAP_SIZE = SIZE / 4; - var MAX_BITMAP_INDEXED_SIZE = SIZE / 2; - var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4; - var STRING_HASH_CACHE_MIN_STRLEN = 16; - var STRING_HASH_CACHE_MAX_SIZE = 255; - var STRING_HASH_CACHE_SIZE = 0; - var stringHashCache = {}; - - function OwnerID() {} - - // v8 has an optimization for storing 31-bit signed numbers. - // Values which have either 00 or 11 as the high order bits qualify. - // This function drops the highest order bit in a signed number, maintaining - // the sign bit. - function smi(i32) { - return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF); - } - - function hash(str) { - return str.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(str) : hashString(str); - } - - function cachedHashString(string) { - var hash = stringHashCache[string]; - if (hash === undefined) { - hash = hashString(string); - if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) { - STRING_HASH_CACHE_SIZE = 0; - stringHashCache = {}; - } - STRING_HASH_CACHE_SIZE++; - stringHashCache[string] = hash; - } - return hash; - } - - // http://jsperf.com/hashing-strings - function hashString(string) { - // This is the hash from JVM - // The hash code for a string is computed as - // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1], - // where s[i] is the ith character of the string and n is the length of - // the string. We "mod" the result to make it between 0 (inclusive) and 2^31 - // (exclusive) by dropping high bits. - var hash = 0; - for (var ii = 0; ii < string.length; ii++) { - hash = 31 * hash + string.charCodeAt(ii) | 0; - } - return smi(hash); - } - - function popCount(x) { - x = x - ((x >> 1) & 0x55555555); - x = (x & 0x33333333) + ((x >> 2) & 0x33333333); - x = (x + (x >> 4)) & 0x0f0f0f0f; - x = x + (x >> 8); - x = x + (x >> 16); - return x & 0x7f; - } - - function setIn(array, idx, val, canEdit) { - var newArray = canEdit ? array : arrCopy(array); - newArray[idx] = val; - return newArray; - } - - function spliceIn(array, idx, val, canEdit) { - var newLen = array.length + 1; - if (canEdit && idx + 1 === newLen) { - array[idx] = val; - return array; - } - var newArray = new Array(newLen); - var after = 0; - for (var ii = 0; ii < newLen; ii++) { - if (ii === idx) { - newArray[ii] = val; - after = -1; - } else { - newArray[ii] = array[ii + after]; - } - } - return newArray; - } - - function spliceOut(array, idx, canEdit) { - var newLen = array.length - 1; - if (canEdit && idx === newLen) { - array.pop(); - return array; - } - var newArray = new Array(newLen); - var after = 0; - for (var ii = 0; ii < newLen; ii++) { - if (ii === idx) { - after = 1; - } - newArray[ii] = array[ii + after]; - } - return newArray; - } - - function arrCopy(arr, offset) { - offset = offset || 0; - var len = Math.max(0, arr.length - offset); - var newArr = new Array(len); - for (var ii = 0; ii < len; ii++) { - newArr[ii] = arr[ii + offset]; - } - return newArr; - } - - function MakeRef(ref) { - ref.value = false; - return ref; - } - - function SetRef(ref) { - ref && (ref.value = true); - } - - function emptyMap() { - return new ImmutableMap(0); - } - - function ImmutableMap(size, root, ownerID) { - this.size = size; - this._root = root; - this.__ownerID = ownerID; - - this.get = function(k, notSetValue) { - return this._root ? - this._root.get(0, undefined, k, notSetValue) : - notSetValue; - }; - - this.set = function(k, v) { - return updateMap(this, k, v); - }; - - this.remove = function(k) { - return updateMap(this, k, NOT_SET); - }; - - this.keys = function() { - if (!this._root) { - return []; - } else { - return this._root.keys([]); - } - }; - } - - function updateMap(map, k, v) { - var newRoot; - var newSize; - if (!map._root) { - if (v == NOT_SET) { - return map; - } - newSize = 1; - newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]); - } else { - var didChangeSize = MakeRef(CHANGE_LENGTH); - var didAlter = MakeRef(DID_ALTER); - newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter); - if (!didAlter.value) { - return map; - } - newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0); - } - if (map.__ownerID) { - map.size = newSize; - map._root = newRoot; - return map; - } - return newRoot ? new ImmutableMap(newSize, newRoot) : new ImmutableMap(0); - } - - function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (!node) { - if (value === NOT_SET) { - return node; - } - SetRef(didAlter); - SetRef(didChangeSize); - return new ValueNode(ownerID, keyHash, [key, value]); - } - return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter); - } - - function createNodes(ownerID, entries, key, value) { - if (!ownerID) { - ownerID = new OwnerID(); - } - var node = new ValueNode(ownerID, hash(key), [key, value]); - for (var ii = 0; ii < entries.length; ii++) { - var entry = entries[ii]; - node = node.update(ownerID, 0, undefined, entry[0], entry[1]); - } - return node; - } - - function packNodes(ownerID, nodes, count, excluding) { - var bitmap = 0; - var packedII =0; - var packedNodes = new Array(count); - for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) { - var node = nodes[ii]; - if (node !== undefined && ii !== excluding) { - bitmap |= bit; - packedNodes[packedII++] = node; - } - } - return new BitmapIndexedNode(ownerID, bitmap, packedNodes); - } - - function expandNodes(ownerID, nodes, bitmap, including, node) { - var count = 0; - var expandedNodes = new Array(SIZE); - for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) { - expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined; - } - expandedNodes[including] = node; - return new HashArrayMapNode(ownerID, count + 1, expandedNodes); - } - - function mergeIntoNode(node, ownerID, shift, keyHash, entry) { - if (node.keyHash === keyHash) { - return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]); - } - - var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK; - var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - - var newNode; - var nodes = (idx1 === idx2) ? - [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] : - ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]); - - return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes); - } - - function isLeafNode(node) { - return node.constructor === ValueNode || node.constructor === HashCollisionNode; - } - - function ArrayMapNode(ownerID, entries) { - this.ownerID = ownerID; - this.entries = entries; - - this.get = function(shift, keyHash, key, notSetValue) { - var entries = this.entries; - for (var ii = 0, len = entries.length; ii < len; ii++) { - if (key === entries[ii][0]) { - return entries[ii][1]; - } - } - return notSetValue; - }; - - this.keys = function(ret) { - for (var i = 0; i < this.entries.length; i++) - ret.push(this.entries[i][0]); - return ret; - }; - - this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - var removed = (value === NOT_SET); - - var entries = this.entries; - var idx = 0; - for (var len = entries.length; idx < len; idx++) { - if (key === entries[idx][0]) { - break; - } - } - var exists = idx < len; - - if (exists ? entries[idx][1] === value : removed) { - return this; - } - - SetRef(didAlter); - (removed || !exists) && SetRef(didChangeSize); - - if (removed && entries.length === 1) { - return undefined; - } - - if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) { - return createNodes(ownerID, entries, key, value); - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newEntries = isEditable ? entries : arrCopy(entries); - - if (exists) { - if (removed) { - idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); - } else { - newEntries[idx] = [key, value]; - } - } else { - newEntries.push([key, value]); - } - - if (isEditable) { - this.entries = newEntries; - return this; - } - - return new ArrayMapNode(ownerID, newEntries); - }; - } - - function ValueNode(ownerID, keyHash, entry) { - this.ownerID = ownerID; - this.keyHash = keyHash; - this.entry = entry; - - this.get = function(shift, keyHash, key, notSetValue) { - return key === this.entry[0] ? this.entry[1] : notSetValue; - }; - - this.keys = function(ret) { - ret.push(this.entry[0]); - return ret; - }; - - this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - var removed = (value === NOT_SET); - var keyMatch = (key === this.entry[0]); - if (keyMatch ? value === this.entry[1] : removed) { - return this; - } - - SetRef(didAlter); - - if (removed) { - SetRef(didChangeSize); - return undefined; - } - - if (keyMatch) { - if (ownerID && ownerID === this.ownerID) { - this.entry[1] = value; - return this; - } - return new ValueNode(ownerID, this.keyHash, [key, value]); - } - - SetRef(didChangeSize); - return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]); - }; - } - - function HashCollisionNode(ownerID, keyHash, entries) { - this.ownerID = ownerID; - this.keyHash = keyHash; - this.entries = entries; - - this.get = function(shift, keyHash, key, notSetValue) { - var entries = this.entries; - for (var ii = 0, len = entries.length; ii < len; ii++) { - if (key === entries[ii][0]) { - return entries[ii][1]; - } - } - return notSetValue; - }; - - this.keys = function(ret) { - for (var i = 0; i < this.entries.length; i++) - ret.push(this.entries[i][0]); - return ret; - }; - - this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - - var removed = (value === NOT_SET); - - if (keyHash !== this.keyHash) { - if (removed) { - return this; - } - SetRef(didAlter); - SetRef(didChangeSize); - return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]); - } - - var entries = this.entries; - var idx = 0; - for (var len = entries.length; idx < len; idx++) { - if (key === entries[idx][0]) { - break; - } - } - var exists = idx < len; - - if (exists ? entries[idx][1] === value : removed) { - return this; - } - - SetRef(didAlter); - (removed || !exists) && SetRef(didChangeSize); - - if (removed && len === 2) { - return new ValueNode(ownerID, this.keyHAsh, entries[idx ^ 1]); - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newEntries = isEditable ? entries : arrCopy(entries); - - if (exists) { - if (removed) { - idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); - } else { - newEntries[idx] = [key, value]; - } - } else { - newEntries.push([key, value]); - } - - if (isEditable) { - this.entries = newEntries; - return this; - } - - return new HashCollisionNode(ownerID, this.keyHash, newEntries); - }; - } - - function BitmapIndexedNode(ownerID, bitmap, nodes) { - this.ownerID = ownerID; - this.bitmap = bitmap; - this.nodes = nodes; - - this.get = function(shift, keyHash, key, notSetValue) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK)); - var bitmap = this.bitmap; - return (bitmap & bit) === 0 ? notSetValue : - this.nodes[popCount(bitmap & (bit -1))].get(shift + SHIFT, keyHash, key, notSetValue); - }; - - this.keys = function(ret) { - var nodes = this.nodes; - for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { - var node = nodes[ii]; - if (node) { - node.keys(ret); - } - } - return ret; - }; - - this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var bit = 1 << keyHashFrag; - var bitmap = this.bitmap; - var exists = (bitmap & bit) !== 0; - - if (!exists && value === NOT_SET) { - return this; - } - - var idx = popCount(bitmap & (bit - 1)); - var nodes = this.nodes; - var node = exists ? nodes[idx] : undefined; - var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); - - if (newNode === node) { - return this; - } - - if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) { - return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode); - } - - if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) { - return nodes[idx ^ 1]; - } - - if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) { - return newNode; - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit; - var newNodes = exists ? newNode ? - setIn(nodes, idx, newNode, isEditable) : - spliceOut(nodes, idx, isEditable) : - spliceIn(nodes, idx, newNode, isEditable); - - if (isEditable) { - this.bitmap = newBitmap; - this.nodes = newNodes; - return this; - } - - return new BitmapIndexedNode(ownerID, newBitmap, newNodes); - }; - } - - function HashArrayMapNode(ownerID, count, nodes) { - this.ownerID = ownerID; - this.count = count; - this.nodes = nodes; - - this.get = function(shift, keyHash, key, notSetValue) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var node = this.nodes[idx]; - return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue; - }; - this.keys = function(ret) { - var nodes = this.nodes; - for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { - var node = nodes[ii]; - if (node) { - node.keys(ret); - } - } - return ret; - }; - - this.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var removed = (value === NOT_SET); - var nodes = this.nodes; - var node = nodes[idx]; - - if (removed && !node) { - return this; - } - - var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); - if (newNode === node) { - return this; - } - - var newCount = this.count; - if (!node) { - newCount++; - } else if (!newNode) { - newCount--; - if (newCount < MIN_HASH_ARRAY_MAP_SIZE) { - return packNodes(ownerID, nodes, newCount, idx); - } - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newNodes = setIn(nodes, idx, newNode, isEditable); - - if (isEditable) { - this.count = newCount; - this.nodes = newNodes; - return this; - } - - return new HashArrayMapNode(ownerID, newCount, newNodes); - }; - } - - function eqHelp(self, other, selfKeys, hasKey, getValue, recEq) { - if (runtime.isActivationRecord(self)) { - var $ar = sekf; - $step = $ar.step; - $ans = $ar.ans; - curIdx = $ar.vars[0]; - curEq = $ar.vars[1]; - self = $ar.args[0]; - other = $ar.args[1]; - selfKeys = $ar.args[2]; - hasKey = $ar.args[3]; - getValue = $ar.args[4]; - recEq = $ar.args[5]; - } else { - var curIdx = 0; - var curEq = runtime.ffi.equal; - var $step = 0; - var $ans = undefined; - } - while(true) { - switch($step) { - case 0: - if (curIdx == selfKeys.length) - return curEq; - $step = 1; - if (!hasKey.full_meth(other, selfKeys[curIdx])) { - return runtime.ffi.notEqual.app("", self, other); - } - $ans = recEq.app(getValue.full_meth(self, selfKeys[curIdx]), getValue.full_meth(other, selfKeys[curIdx])); - if (runtime.isContinuation($ans)) { - $ans.stack[thisRuntime.EXN_STACKHEIGHT++] = thisRuntime.makeActivationRecord( - stackFrameDesc, - equalFun, - $step, - [], - []); - return $ans; - } - break; - case 1: - curEq = runtime.combineEquality(curEq, $ans); - curIdx++; - $step = 0; - break; - } - } - } - - - ////////////////////////////////////////////////// - var getISD = runtime.makeMethod1(function(self, key) { - if (arguments.length !== 2) { var $a=new Array(arguments.length); for (var $i=0;$i= 0) {\nR.ffi.throwCasesArityErrorC(L[12],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[12],true,L[13],cases93.$loc);\n}\n}\nvar $fn98 = cases93.$constructor.$fieldNames;\nvar contents94 = R.dF(cases93.dict[$fn98[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 4;\n$ans75 = R.maybeMethodCall1(contents94,\"map\",L[10],help95);\nbreak;\ncase 4: var anf_method_obj96 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj96,\"join-str\",L[11],(\"\"));\nbreak;\ncase 5: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[14],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[14],true,L[13],cases93.$loc);\n}\n}\nvar $fn101 = cases93.$constructor.$fieldNames;\nvar str99 = R.dF(cases93.dict[$fn101[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = str99;\nbreak;\ncase 6: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[25],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[25],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[25];\nvar $temp_branch120 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($val108) {\nvar $step121 = 0;\nvar $elidedFrames125 = 0;\nvar $ans122 = D;\nvar $al123 = L[15];\nif(R.isAR($val108)) {\n$step121 = $val108.step;\n$al123 = $val108.from;\n$ans122 = $val108.ans;\n$elidedFrames125 = $val108.elidedFrames;\nval108 = $val108.args[0];\ncases112 = $val108.vars[0];\n} else {\nvar val108 = $val108;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans122 = R.mC();\n}\nwhile(!R.isContinuation($ans122)) {\nswitch($step121) {\ncase 0: var $temp_lam127 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__15($$resumer13) {\nvar $step126 = 0;\nvar $elidedFrames131 = 0;\nvar $ans128 = D;\nvar $al129 = L[15];\nif(R.isAR($$resumer13)) {\n$step126 = $$resumer13.step;\n$al129 = $$resumer13.from;\n$ans128 = $$resumer13.ans;\n$elidedFrames131 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans128 = R.mC();\n}\nwhile(!R.isContinuation($ans128)) {\nswitch($step126) {\ncase 0: $step126 = 1;\n$al129 = L[17];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al129,exn$unwrap2);\n}\n$ans128 = exn$unwrap2.app(val108);\nbreak;\ncase 1: var anf_method_obj109 = $ans128;\n$step126 = 2;\n$ans128 = R.maybeMethodCall0(anf_method_obj109,\"render-reason\",L[16]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans128;\ndefault: R.ffi.throwSpinnakerError(L[15],$step126);\n}\n}\nif($step126 !== 2) {\n$ans128.stack[R.EXN_STACKHEIGHT++] = R.mAR($al129,$temp_lam127,$step126,[],[],$elidedFrames131);\n}\nreturn $ans128;\n};\nvar anf_arg111 = R.mF($temp_lam127,\"\");\n$step121 = 1;\n$al123 = L[24];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al123,run$task1);\n}\n$ans122 = run$task1.app(anf_arg111);\nbreak;\ncase 1: var cases112 = $ans122;\n$step121 = 2;\n$al123 = L[23];\nvar $ann$check138 = R._cA(L[23],R.gDA(L[23],\"E\",E3.dict.types,\"Either\"),cases112);\nif(R.isContinuation($ann$check138)) {\n$ans122 = $ann$check138;\n}\nbreak;\ncase 2: $al123 = L[20];\n$step121 = $cases_dispatch137[cases112.$name] || 5;\nbreak;\ncase 3: if(cases112.$arity !== 1) {\nif(cases112.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[19],1,cases112.$arity,L[20],cases112.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[19],true,L[20],cases112.$loc);\n}\n}\nvar $fn134 = cases112.$constructor.$fieldNames;\nvar v113 = R.dF(cases112.dict[$fn134[0]],cases112.$mut_fields_mask[0],false);\n$step121 = 6;\n$al123 = L[18];\n// omitting isFunction check;\n$ans122 = help95.app(v113);\nbreak;\ncase 4: if(cases112.$arity !== 1) {\nif(cases112.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[22],1,cases112.$arity,L[20],cases112.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[22],true,L[20],cases112.$loc);\n}\n}\nvar $fn136 = cases112.$constructor.$fieldNames;\nR.dF(cases112.dict[$fn136[0]],cases112.$mut_fields_mask[0],false);\n$step121 = 6;\n$al123 = L[21];\nif(typeof(embed$display73.app) !== \"function\") {\nR.ffi.throwNonFunApp($al123,embed$display73);\n}\n$ans122 = embed$display73.app(val108);\nbreak;\ncase 5: $ans122 = R.throwNoCasesMatched(L[20],cases112);\n$step121 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans122;\ndefault: R.ffi.throwSpinnakerError(L[15],$step121);\n}\n}\nif($step121 !== 6) {\n$ans122.stack[R.EXN_STACKHEIGHT++] = R.mAR($al123,$temp_branch120,$step121,[val108],[cases112],$elidedFrames125);\n}\nreturn $ans122;\n};\n$ans75 = cases93.$app_fields($temp_branch120,[false]);\nbreak;\ncase 7: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[27],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[27],true,L[13],cases93.$loc);\n}\n}\nvar $fn142 = cases93.$constructor.$fieldNames;\nvar l140 = R.dF(cases93.dict[$fn142[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(l140,\"format\",L[26],(true));\nbreak;\ncase 8: if(cases93.$arity !== 4) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[36],4,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[36],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[36];\nvar $temp_branch157 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($n143,$user$frames$only144,$contents$with$loc147,$contents$without$loc146) {\nvar $step160 = 0;\nvar $elidedFrames164 = 0;\nvar $ans161 = D;\nvar $al162 = L[30];\nif(R.isAR($n143)) {\n$step160 = $n143.step;\n$al162 = $n143.from;\n$ans161 = $n143.ans;\n$elidedFrames164 = $n143.elidedFrames;\nn143 = $n143.args[0];\nuser$frames$only144 = $n143.args[1];\ncontents$with$loc147 = $n143.args[2];\ncontents$without$loc146 = $n143.args[3];\ncases145 = $n143.vars[0];\n} else {\nvar n143 = $n143;\nvar user$frames$only144 = $user$frames$only144;\nvar contents$with$loc147 = $contents$with$loc147;\nvar contents$without$loc146 = $contents$without$loc146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans161 = R.mC();\n}\nwhile(!R.isContinuation($ans161)) {\nswitch($step160) {\ncase 0: $step160 = 1;\n$al162 = L[35];\n// omitting isFunction check;\n$ans161 = nth$stack$frame69.$var.app(n143,user$frames$only144,stack74);\nbreak;\ncase 1: var cases145 = $ans161;\n$step160 = 2;\n$al162 = L[34];\nvar $ann$check168 = R._cA(L[34],R.gDA(L[34],\"O\",O5.dict.types,\"Option\"),cases145);\nif(R.isContinuation($ann$check168)) {\n$ans161 = $ann$check168;\n}\nbreak;\ncase 2: $al162 = L[30];\n$step160 = $cases_dispatch167[cases145.$name] || 6;\nbreak;\ncase 3: if(cases145.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[29],false,L[30],cases145.$loc);\n}\n$step160 = 7;\n$al162 = L[28];\n// omitting isFunction check;\n$ans161 = help95.app(contents$without$loc146);\nbreak;\ncase 4: if(cases145.$arity !== 1) {\nif(cases145.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[33],1,cases145.$arity,L[30],cases145.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[33],true,L[30],cases145.$loc);\n}\n}\nvar $fn166 = cases145.$constructor.$fieldNames;\nvar l148 = R.dF(cases145.dict[$fn166[0]],cases145.$mut_fields_mask[0],false);\n$step160 = 5;\n$al162 = L[32];\nif(typeof(contents$with$loc147.app) !== \"function\") {\nR.ffi.throwNonFunApp($al162,contents$with$loc147);\n}\n$ans161 = contents$with$loc147.app(l148);\nbreak;\ncase 5: var anf_arg152 = $ans161;\n$step160 = 7;\n$al162 = L[31];\n// omitting isFunction check;\n$ans161 = help95.app(anf_arg152);\nbreak;\ncase 6: $ans161 = R.throwNoCasesMatched(L[30],cases145);\n$step160 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans161;\ndefault: R.ffi.throwSpinnakerError(L[30],$step160);\n}\n}\nif($step160 !== 7) {\n$ans161.stack[R.EXN_STACKHEIGHT++] = R.mAR($al162,$temp_branch157,$step160,[n143,user$frames$only144,contents$with$loc147,contents$without$loc146],[cases145],$elidedFrames164);\n}\nreturn $ans161;\n};\n$ans75 = cases93.$app_fields($temp_branch157,[false,false,false,false]);\nbreak;\ncase 9: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[52],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[52],true,L[13],cases93.$loc);\n}\n}\n$step70 = 29;\n$al76 = L[52];\nvar $temp_branch192 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__13($l173,$$underscore200,$contents170) {\nvar $step195 = 0;\nvar $elidedFrames199 = 0;\nvar $ans196 = D;\nvar $al197 = L[45];\nif(R.isAR($l173)) {\n$step195 = $l173.step;\n$al197 = $l173.from;\n$ans196 = $l173.ans;\n$elidedFrames199 = $l173.elidedFrames;\nl173 = $l173.args[0];\n$underscore200 = $l173.args[1];\ncontents170 = $l173.args[2];\ncases171 = $l173.vars[0];\nanf_arg56 = $l173.vars[1];\n} else {\nvar l173 = $l173;\nvar $underscore200 = $$underscore200;\nvar contents170 = $contents170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans196 = R.mC();\n}\nwhile(!R.isContinuation($ans196)) {\nswitch($step195) {\ncase 0: var cases171 = contents170;\n$step195 = 1;\n$al197 = L[51];\nvar $ann$check212 = R._cA(L[51],R.gDA(L[51],\"ED\",ED4.dict.types,\"ErrorDisplay\"),cases171);\nif(R.isContinuation($ann$check212)) {\n$ans196 = $ann$check212;\n}\nbreak;\ncase 1: $al197 = L[45];\n$step195 = $cases_dispatch211[cases171.$name] || 3;\nbreak;\ncase 2: if(cases171.$arity !== 1) {\nif(cases171.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[44],1,cases171.$arity,L[45],cases171.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[44],true,L[45],cases171.$loc);\n}\n}\n$step195 = 8;\n$al197 = L[44];\nvar $temp_branch201 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__45($l2172) {\nvar $step203 = 0;\nvar $elidedFrames207 = 0;\nvar $ans204 = D;\nvar $al205 = L[43];\nif(R.isAR($l2172)) {\n$step203 = $l2172.step;\n$al205 = $l2172.from;\n$ans204 = $l2172.ans;\n$elidedFrames207 = $l2172.elidedFrames;\nl2172 = $l2172.args[0];\nanf_arg174 = $l2172.vars[0];\n} else {\nvar l2172 = $l2172;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans204 = R.mC();\n}\nwhile(!R.isContinuation($ans204)) {\nswitch($step203) {\ncase 0: $step203 = 1;\n$al205 = L[43];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al205,equal$always1);\n}\n$ans204 = equal$always1.app(l2172,l173);\nbreak;\ncase 1: var anf_if177 = $ans204;\n$step203 = R.checkPyretTrue(anf_if177)?2:3;\nbreak;\ncase 2: $step203 = 8;\n$al205 = L[37];\n// omitting isFunction check;\n$ans204 = help95.app(contents170);\nbreak;\ncase 3: $step203 = 4;\n$al205 = L[42];\n// omitting isFunction check;\n$ans204 = help95.app(contents170);\nbreak;\ncase 4: var anf_arg37 = $ans204;\n$step203 = 5;\n$al205 = L[41];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg37,(\" (at \"));\nbreak;\ncase 5: var anf_arg174 = $ans204;\n$step203 = 6;\n$ans204 = R.maybeMethodCall1(l173,\"format\",L[38],(true));\nbreak;\ncase 6: var anf_arg175 = $ans204;\n$step203 = 7;\n$al205 = L[40];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg174,anf_arg175);\nbreak;\ncase 7: var anf_arg176 = $ans204;\n$step203 = 8;\n$al205 = L[39];\n// omitting isFunction check;\n$ans204 = _plus5.app(anf_arg176,(\")\"));\nbreak;\ncase 8: ++R.GAS;\nreturn $ans204;\ndefault: R.ffi.throwSpinnakerError(L[43],$step203);\n}\n}\nif($step203 !== 8) {\n$ans204.stack[R.EXN_STACKHEIGHT++] = R.mAR($al205,$temp_branch201,$step203,[l2172],[anf_arg174],$elidedFrames207);\n}\nreturn $ans204;\n};\n$ans196 = cases171.$app_fields($temp_branch201,[false]);\nbreak;\ncase 3: $step195 = 4;\n$al197 = L[50];\n// omitting isFunction check;\n$ans196 = help95.app(contents170);\nbreak;\ncase 4: var anf_arg189 = $ans196;\n$step195 = 5;\n$al197 = L[49];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg189,(\" (at \"));\nbreak;\ncase 5: var anf_arg56 = $ans196;\n$step195 = 6;\n$ans196 = R.maybeMethodCall1(l173,\"format\",L[46],(true));\nbreak;\ncase 6: var anf_arg57 = $ans196;\n$step195 = 7;\n$al197 = L[48];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg56,anf_arg57);\nbreak;\ncase 7: var anf_arg59 = $ans196;\n$step195 = 8;\n$al197 = L[47];\n// omitting isFunction check;\n$ans196 = _plus5.app(anf_arg59,(\")\"));\nbreak;\ncase 8: ++R.GAS;\nreturn $ans196;\ndefault: R.ffi.throwSpinnakerError(L[45],$step195);\n}\n}\nif($step195 !== 8) {\n$ans196.stack[R.EXN_STACKHEIGHT++] = R.mAR($al197,$temp_branch192,$step195,[l173,$underscore200,contents170],[cases171,anf_arg56],$elidedFrames199);\n}\nreturn $ans196;\n};\n$ans75 = cases93.$app_fields($temp_branch192,[false,false,false]);\nbreak;\ncase 10: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[56],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[56],true,L[13],cases93.$loc);\n}\n}\nvar $fn220 = cases93.$constructor.$fieldNames;\nvar contents214 = R.dF(cases93.dict[$fn220[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 11;\n$al76 = L[55];\n// omitting isFunction check;\n$ans75 = help95.app(contents214);\nbreak;\ncase 11: var anf_arg218 = $ans75;\n$step70 = 12;\n$al76 = L[54];\n// omitting isFunction check;\n$ans75 = _plus5.app((\"`\"),anf_arg218);\nbreak;\ncase 12: var anf_arg70 = $ans75;\n$step70 = 29;\n$al76 = L[53];\n// omitting isFunction check;\n$ans75 = _plus5.app(anf_arg70,(\"`\"));\nbreak;\ncase 13: if(cases93.$arity !== 2) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[63],2,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[63],true,L[13],cases93.$loc);\n}\n}\nvar $fn249 = cases93.$constructor.$fieldNames;\nvar contents232 = R.dF(cases93.dict[$fn249[0]],cases93.$mut_fields_mask[0],false);\nvar sep246 = R.dF(cases93.dict[$fn249[1]],cases93.$mut_fields_mask[1],false);\nvar $temp_lam222 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__57($c223) {\nvar $step221 = 0;\nvar $elidedFrames229 = 0;\nvar $ans226 = D;\nvar $al227 = L[57];\nif(R.isAR($c223)) {\n$step221 = $c223.step;\n$al227 = $c223.from;\n$ans226 = $c223.ans;\n$elidedFrames229 = $c223.elidedFrames;\nc223 = $c223.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar c223 = $c223;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans226 = R.mC();\n}\nwhile(!R.isContinuation($ans226)) {\nswitch($step221) {\ncase 0: $step221 = 1;\n$al227 = L[59];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al227,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans226 = ED4.dict.values.dict[\"is-optional\"].app(c223);\nbreak;\ncase 1: var anf_arg71 = $ans226;\n$step221 = 2;\n$al227 = L[58];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al227,not5);\n}\n$ans226 = not5.app(anf_arg71);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans226;\ndefault: R.ffi.throwSpinnakerError(L[57],$step221);\n}\n}\nif($step221 !== 2) {\n$ans226.stack[R.EXN_STACKHEIGHT++] = R.mAR($al227,$temp_lam222,$step221,[c223],[],$elidedFrames229);\n}\nreturn $ans226;\n};\nvar anf_arg243 = R.mF($temp_lam222,\"\");\n$step70 = 14;\n$ans75 = R.maybeMethodCall1(contents232,\"filter\",L[60],anf_arg243);\nbreak;\ncase 14: var anf_method_obj244 = $ans75;\n$step70 = 15;\n$ans75 = R.maybeMethodCall1(anf_method_obj244,\"map\",L[61],help95);\nbreak;\ncase 15: var anf_method_obj245 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj245,\"join-str\",L[62],sep246);\nbreak;\ncase 16: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[70],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[70],true,L[13],cases93.$loc);\n}\n}\nvar $fn264 = cases93.$constructor.$fieldNames;\nvar contents32 = R.dF(cases93.dict[$fn264[0]],cases93.$mut_fields_mask[0],false);\nvar sep261 = R.dF(cases93.dict[$fn264[1]],cases93.$mut_fields_mask[1],false);\nvar last$sep262 = R.dF(cases93.dict[$fn264[2]],cases93.$mut_fields_mask[2],false);\nvar $temp_lam251 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__64($c252) {\nvar $step250 = 0;\nvar $elidedFrames256 = 0;\nvar $ans253 = D;\nvar $al254 = L[64];\nif(R.isAR($c252)) {\n$step250 = $c252.step;\n$al254 = $c252.from;\n$ans253 = $c252.ans;\n$elidedFrames256 = $c252.elidedFrames;\nc252 = $c252.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[64],1,$t,false);\n}\nvar c252 = $c252;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans253 = R.mC();\n}\nwhile(!R.isContinuation($ans253)) {\nswitch($step250) {\ncase 0: $step250 = 1;\n$al254 = L[66];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al254,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans253 = ED4.dict.values.dict[\"is-optional\"].app(c252);\nbreak;\ncase 1: var anf_arg114 = $ans253;\n$step250 = 2;\n$al254 = L[65];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al254,not5);\n}\n$ans253 = not5.app(anf_arg114);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans253;\ndefault: R.ffi.throwSpinnakerError(L[64],$step250);\n}\n}\nif($step250 !== 2) {\n$ans253.stack[R.EXN_STACKHEIGHT++] = R.mAR($al254,$temp_lam251,$step250,[c252],[],$elidedFrames256);\n}\nreturn $ans253;\n};\nvar anf_arg116 = R.mF($temp_lam251,\"\");\n$step70 = 17;\n$ans75 = R.maybeMethodCall1(contents32,\"filter\",L[67],anf_arg116);\nbreak;\ncase 17: var anf_method_obj259 = $ans75;\n$step70 = 18;\n$ans75 = R.maybeMethodCall1(anf_method_obj259,\"map\",L[68],help95);\nbreak;\ncase 18: var anf_method_obj260 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall2(anf_method_obj260,\"join-str-last\",L[69],sep261,last$sep262);\nbreak;\ncase 19: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[77],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[77],true,L[13],cases93.$loc);\n}\n}\nvar $fn276 = cases93.$constructor.$fieldNames;\nvar contents56 = R.dF(cases93.dict[$fn276[0]],cases93.$mut_fields_mask[0],false);\nvar $temp_lam266 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__71($c267) {\nvar $step265 = 0;\nvar $elidedFrames271 = 0;\nvar $ans268 = D;\nvar $al269 = L[71];\nif(R.isAR($c267)) {\n$step265 = $c267.step;\n$al269 = $c267.from;\n$ans268 = $c267.ans;\n$elidedFrames271 = $c267.elidedFrames;\nc267 = $c267.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[71],1,$t,false);\n}\nvar c267 = $c267;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans268 = R.mC();\n}\nwhile(!R.isContinuation($ans268)) {\nswitch($step265) {\ncase 0: $step265 = 1;\n$al269 = L[73];\nif(typeof(ED4.dict.values.dict[\"is-optional\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al269,ED4.dict.values.dict[\"is-optional\"]);\n}\n$ans268 = ED4.dict.values.dict[\"is-optional\"].app(c267);\nbreak;\ncase 1: var anf_arg118 = $ans268;\n$step265 = 2;\n$al269 = L[72];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al269,not5);\n}\n$ans268 = not5.app(anf_arg118);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans268;\ndefault: R.ffi.throwSpinnakerError(L[71],$step265);\n}\n}\nif($step265 !== 2) {\n$ans268.stack[R.EXN_STACKHEIGHT++] = R.mAR($al269,$temp_lam266,$step265,[c267],[],$elidedFrames271);\n}\nreturn $ans268;\n};\nvar anf_arg120 = R.mF($temp_lam266,\"\");\n$step70 = 20;\n$ans75 = R.maybeMethodCall1(contents56,\"filter\",L[74],anf_arg120);\nbreak;\ncase 20: var anf_method_obj273 = $ans75;\n$step70 = 21;\n$ans75 = R.maybeMethodCall1(anf_method_obj273,\"map\",L[75],help95);\nbreak;\ncase 21: var anf_method_obj274 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj274,\"join-str\",L[76],(\"\\n\"));\nbreak;\ncase 22: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[83],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[83],true,L[13],cases93.$loc);\n}\n}\nvar $fn295 = cases93.$constructor.$fieldNames;\nvar contents292 = R.dF(cases93.dict[$fn295[0]],cases93.$mut_fields_mask[0],false);\nvar $temp_lam281 = function _4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96__78($elt282) {\nvar $step280 = 0;\nvar $elidedFrames288 = 0;\nvar $ans285 = D;\nvar $al286 = L[78];\nif(R.isAR($elt282)) {\n$step280 = $elt282.step;\n$al286 = $elt282.from;\n$ans285 = $elt282.ans;\n$elidedFrames288 = $elt282.elidedFrames;\nelt282 = $elt282.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[78],1,$t,false);\n}\nvar elt282 = $elt282;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans285 = R.mC();\n}\nwhile(!R.isContinuation($ans285)) {\nswitch($step280) {\ncase 0: $step280 = 1;\n$al286 = L[80];\n// omitting isFunction check;\n$ans285 = help95.app(elt282);\nbreak;\ncase 1: var anf_arg122 = $ans285;\n$step280 = 2;\n$al286 = L[79];\n// omitting isFunction check;\n$ans285 = _plus5.app((\"* \"),anf_arg122);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans285;\ndefault: R.ffi.throwSpinnakerError(L[78],$step280);\n}\n}\nif($step280 !== 2) {\n$ans285.stack[R.EXN_STACKHEIGHT++] = R.mAR($al286,$temp_lam281,$step280,[elt282],[],$elidedFrames288);\n}\nreturn $ans285;\n};\nvar anf_arg124 = R.mF($temp_lam281,\"\");\n$step70 = 23;\n$ans75 = R.maybeMethodCall1(contents292,\"map\",L[81],anf_arg124);\nbreak;\ncase 23: var anf_method_obj293 = $ans75;\n$step70 = 29;\n$ans75 = R.maybeMethodCall1(anf_method_obj293,\"join-str\",L[82],(\"\\n\"));\nbreak;\ncase 24: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[84],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[84],true,L[13],cases93.$loc);\n}\n}\nvar $fn297 = cases93.$constructor.$fieldNames;\nR.dF(cases93.dict[$fn297[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$ans75 = (\"\");\nbreak;\ncase 25: if(cases93.$arity !== 1) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[86],1,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[86],true,L[13],cases93.$loc);\n}\n}\nvar $fn300 = cases93.$constructor.$fieldNames;\nvar loc77 = R.dF(cases93.dict[$fn300[0]],cases93.$mut_fields_mask[0],false);\n$step70 = 29;\n$al76 = L[85];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al76,tostring1);\n}\n$ans75 = tostring1.app(loc77);\nbreak;\ncase 26: if(cases93.$arity !== 3) {\nif(cases93.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[90],3,cases93.$arity,L[13],cases93.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[90],true,L[13],cases93.$loc);\n}\n}\nvar $fn304 = cases93.$constructor.$fieldNames;\nvar contents302 = R.dF(cases93.dict[$fn304[0]],cases93.$mut_fields_mask[0],false);\nvar locs301 = R.dF(cases93.dict[$fn304[1]],cases93.$mut_fields_mask[1],false);\nR.dF(cases93.dict[$fn304[2]],cases93.$mut_fields_mask[2],false);\n$al76 = L[87];\nvar anf_arg125 = G(locs301,\"first\",L[87]);\n$step70 = 27;\n$al76 = L[89];\nif(typeof(ED4.dict.values.dict[\"loc-display\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al76,ED4.dict.values.dict[\"loc-display\"]);\n}\n$ans75 = ED4.dict.values.dict[\"loc-display\"].app(anf_arg125,(\"\"),contents302);\nbreak;\ncase 27: var anf_arg126 = $ans75;\n$step70 = 29;\n$al76 = L[88];\n// omitting isFunction check;\n$ans75 = help95.app(anf_arg126);\nbreak;\ncase 28: $ans75 = R.throwNoCasesMatched(L[13],cases93);\n$step70 = 29;\nbreak;\ncase 29: ++R.GAS;\nreturn $ans75;\ndefault: R.ffi.throwSpinnakerError(L[8],$step70);\n}\n}\nif($step70 !== 29) {\n$ans75.stack[R.EXN_STACKHEIGHT++] = R.mAR($al76,$temp_lam71,$step70,[e72,embed$display73,stack74],[help95,cases93,last$sep262,sep261,sep246],$elidedFrames78);\n}\nreturn $ans75;\n};\nvar anf_assign309 = R.mF($temp_lam71,\"display-to-string\");\ndisplay$to$string87.$var = anf_assign309;\nR.nothing;\n$step13 = 1;\n$ans30 = R.maybeMethodCall2(builtins1,\"trace-value\",L[93],L[93],nothing2);\nbreak;\ncase 1: var answer311 = $ans30;\n$step13 = 2;\n$ans30 = R.maybeMethodCall0(builtins1,\"current-checker\",L[94]);\nbreak;\ncase 2: var anf_method_obj310 = $ans30;\n$step13 = 3;\n$ans30 = R.maybeMethodCall0(anf_method_obj310,\"results\",L[94]);\nbreak;\ncase 3: var checks312 = $ans30;\n$step13 = 4;\n$ans30 = R.mO({\"answer\":answer311,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"E\":E3,\n\"ED\":ED4,\n\"S\":S6,\n\"O\":O5},\n\"defined-values\":{\"display-to-string\":display$to$string87.$var,\n\"nth-stack-frame\":nth$stack$frame69.$var},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"display-to-string\":display$to$string87.$var,\n\"nth-stack-frame\":nth$stack$frame69.$var}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks312});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans30;\ndefault: R.ffi.throwSpinnakerError(L[95],$step13);\n}\n}\nif($step13 !== 4) {\n$ans30.stack[R.EXN_STACKHEIGHT++] = R.mAR($al37,$toplevel14,$step13,[],[answer311,nth$stack$frame69,display$to$string87],$elidedFrames39);\n}\nreturn $ans30;\n};\nreturn R.safeCall($toplevel14,function module_load(moduleVal) {\nR.modules[\"$builtin://render$error$display7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"nth-stack-frame":{"bind":"fun", -"origin":{"local-bind-site":["builtin://render-error-display", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://render-error-display", -8, -0, -114, -16, -3, -363], -"new-definition":true, -"uri-of-definition":"builtin://render-error-display"}, -"flatness":false, -"name":"nth-stack-frame", -"typ":"tany"}, -"display-to-string":{"bind":"fun", -"origin":{"local-bind-site":["builtin://render-error-display", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://render-error-display", -18, -0, -365, -55, -3, -2033], -"new-definition":true, -"uri-of-definition":"builtin://render-error-display"}, -"flatness":false, -"name":"display-to-string", -"typ":"tany"}}, -"datatypes":{}, -"aliases":{}}, -"requires":[{"import-type":"builtin", -"name":"either"}, -{"import-type":"builtin", -"name":"error-display"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"srcloc"}]}), -"builtin://ffi":({ - requires: [ - { "import-type": "builtin", name: "lists" }, - { "import-type": "builtin", name: "sets" }, - { "import-type": "builtin", name: "option" }, - { "import-type": "builtin", name: "either" }, - { "import-type": "builtin", name: "equality" }, - { "import-type": "builtin", name: "error" }, - { "import-type": "builtin", name: "srcloc" }, - { "import-type": "builtin", name: "contracts" }, - // skipping checker - { "import-type": "builtin", name: "error-display" }, - { "import-type": "builtin", name: "valueskeleton" } - ], - provides: {}, - nativeRequires: [], - theModule: function(runtime, namespace, uri, L, Se, O, E, EQ, ERR, S, CON, /* CH, */ ED, VS) { - var gf = runtime.getField; - L = gf(L, "values"); - Se = gf(Se, "values"); - O = gf(O, "values"); - E = gf(E, "values"); - EQ = gf(EQ, "values"); - ERR = gf(ERR, "values"); - S = gf(S, "values"); - CON = gf(CON, "values"); - ED = gf(ED, "values"); - VS = gf(VS, "values"); - var link = gf(L, "link"); - var lnk = function(first, rest) { return link.app(first, rest); }; - var mt = gf(L, "empty"); - function makeList(arr) { - if (!arr || typeof arr.length !== "number") { - throw "Non-array given to makeList " + JSON.stringify(arr); - } - var lst = mt; - for(var i = arr.length - 1; i >= 0; i--) { - lst = lnk(arr[i], lst); - } - return lst; - } - - function makePyretPos(fileName, p) { - var n = runtime.makeNumber; - return runtime.getField(S, "srcloc").app( - runtime.makeString(fileName), - n(p.startRow), - n(p.startCol), - n(p.startChar), - n(p.endRow), - n(p.endCol), - n(p.endChar) - ); - } - function combinePyretPos(fileName, p1, p2) { - var n = runtime.makeNumber; - return runtime.getField(S, "srcloc").app( - runtime.makeString(fileName), - n(p1.startRow), - n(p1.startCol), - n(p1.startChar), - n(p2.endRow), - n(p2.endCol), - n(p2.endChar) - ); - } - - function makeTreeSet(arr) { - return gf(Se, 'list-to-tree-set').app(makeList(arr)); - } - function toArray(list) { - var isList = runtime.getField(L, "is-List"); - var isEmpty = runtime.getField(L, "is-empty"); - var isLink = runtime.getField(L, "is-link"); - // console.error("list is " + JSON.stringify(list).substr(0, 100)); - // console.error("list is Object? " + runtime.isObject(list)); - // console.error("list.brands is " + JSON.stringify(list.brands)); - if(!(runtime.unwrap(isList.app(list)) === true)) { - throw "Non-list given to toArray " + String(list); - } - var arr = []; - try { - while(!(runtime.unwrap(isEmpty.app(list)) === true)) { - try { - arr.push(runtime.getField(list, "first")); - } catch(e) { - console.error("***** getField first failed on list: " + JSON.stringify(list)); - console.error(e); - throw e; - } - try { - list = runtime.getField(list, "rest"); - } catch(e) { - console.error("***** getField rest failed on list: " + JSON.stringify(list)); - console.error(e); - throw e; - } - } - } catch(e) { - console.error("******* Calling isEmpty failed on list: " + JSON.stringify(list)); - console.error(e); - throw e; - } - return arr; - } - var checkSrcloc = runtime.makeCheckType(function(val) { - return runtime.unwrap(gf(S, "is-Srcloc").app(val)); - }, "Srcloc"); - -/* NOTE(joe): skipping checker - function isTestResult(val) { return runtime.unwrap(runtime.getField(CH, "TestResult").app(val)); } - var checkTestResult = runtime.makeCheckType(isTestResult, "TestResult"); -*/ - - function isErrorDisplay(val) { return runtime.unwrap(runtime.getField(ED, "ErrorDisplay").app(val)); } - var checkErrorDisplay = runtime.makeCheckType(isErrorDisplay, "ErrorDisplay"); - - function cases(pred, predName, val, casesObj) { - if(!pred.app(val)) { - throwTypeMismatch(val, predName); - } - var pyretObj = {} - var els = runtime.makeFunction(function(v) { - throwMessageException("No cases matched"); - }, "cases-else"); - Object.keys(casesObj).forEach(function(k) { - if(k !== "else") { - pyretObj[k] = runtime.makeFunction(casesObj[k], "cases-" + k); - } else { - els = runtime.makeFunction(casesObj[k], "cases-else"); - } - }); - return runtime.safeTail(function() { - return gf(val, "_match").app(runtime.makeObject(pyretObj), els); - }); - } - - var checkArity = runtime.checkArity; - -/* NOTE(joe): skipping checker - function checkResultsSummary(checkResults) { - return runtime.safeCall( - function() { - return gf(CH, "results-summary").app(checkResults); - }, - function(pySummary) { - return { - message: gf(pySummary, "message"), - passed: gf(pySummary, "passed"), - failed: gf(pySummary, "failed"), - total: gf(pySummary, "total") - }; - }, - "results-summary"); - }; -*/ - function err(str) { return gf(ERR, str).app; } - function contract(str) { return gf(CON, str).app; } - function errPred(str) { - return function(val) { - return runtime.unwrap(gf(ERR, str).app(val)); - }; - } - var raise = runtime.raise; - - function throwInternalError(message, otherArgs) { - runtime.checkString(message); - runtime.checkList(otherArgs); - raise(err("internal-error")(runtime.makeString(message), otherArgs)); - } - - function makeInternalError(message, otherArgs) { - runtime.checkString(message); - runtime.checkList(otherArgs); - return err("internal-error")(runtime.makeString(message), otherArgs); - } - - function throwSpinnakerError(loc, stepNum) { - runtime.checkNumber(stepNum); - raise(err("spinnaker-error")(runtime.makeSrcloc(loc), stepNum)); - } - - function throwFieldNotFound(loc, object, field) { - checkSrcloc(loc); - runtime.checkPyretVal(object); - runtime.checkString(field); - raise(err("field-not-found")(loc, object, runtime.makeString(field))); - } - function throwConstructorSyntaxNonConstructor(exprLoc, constrLoc) { - checkSrcloc(exprLoc); - checkSrcloc(constrLoc); - raise(err("constructor-syntax-non-constructor")(exprLoc, constrLoc)); - } - function throwLookupConstructorNotObject(loc, constrName, field) { - checkSrcloc(loc); - runtime.checkString(constrName); - runtime.checkString(field); - raise(err("lookup-constructor-not-object")(loc, constrName, runtime.makeString(field))); - } - function throwLookupNonObject(loc, nonObject, field) { - checkSrcloc(loc); - runtime.checkPyretVal(nonObject); - runtime.checkString(field); - raise(err("lookup-non-object")(loc, nonObject, runtime.makeString(field))); - } - function throwLookupNonTuple(loc, nonTuple, index) { - checkSrcloc(loc); - runtime.checkPyretVal(nonTuple); - runtime.checkNumber(index); - raise(err("lookup-non-tuple")(loc, nonTuple, runtime.makeNumber(index))); - } - function throwBadTupleBind(loc, tup, length, desiredLength) { - checkSrcloc(loc); - //runtime.checkPyretVal(tup); - raise(err("bad-tuple-bind")(loc, tup, runtime.makeNumber(length), runtime.makeNumber(desiredLength))); - } - function throwLookupLargeIndex(loc, tup, index) { - checkSrcloc(loc); - runtime.checkPyretVal(tup); - runtime.checkNumber(index); - raise(err("lookup-large-index")(loc, tup, runtime.makeNumber(index))); - } - function throwExtendNonObject(loc, nonObject) { - checkSrcloc(loc); - runtime.checkPyretVal(nonObject); - raise(err("extend-non-object")(loc, nonObject)); - } - function throwLookupNonTuple(loc, nonTuple, index) { - checkSrcloc(loc); - runtime.checkPyretVal(nonTuple); - runtime.checkNumber(index); - raise(err("lookup-non-tuple")(loc, nonTuple, runtime.makeNumber(index))); - } - function throwBadTupleBind(loc, tup, length, desiredLength) { - checkSrcloc(loc); - runtime.checkPyretVal(tup); - raise(err("bad-tuple-bind")(loc, tup, length, desiredLength)); - } - function throwNonTupleBind(loc, non_tup) { - checkSrcloc(loc); - raise(err("non-tuple-bind")(loc, non_tup)); - } - function throwLookupLargeIndex(loc, tup, index) { - checkSrcloc(loc); - runtime.checkPyretVal(tup); - runtime.checkNumber(index); - raise(err("lookup-large-index")(loc, tup, tup.vals.length, runtime.makeNumber(index))); - } - function throwExtendNonObject(loc, nonObject) { - checkSrcloc(loc); - runtime.checkPyretVal(nonObject); - raise(err("extend-non-object")(loc, nonObject)); - } - - function throwMessageException(message) { - runtime.checkString(message); - raise(err("message-exception")(message)); - } - - function makeMessageException(message) { - runtime.checkString(message); - return err("message-exception")(message); - } - - function throwMultiErrorException(errs) { - runtime.checkList(errs); - raise(err("multi-error")(errs)); - } - - function throwUserException(errVal) { - runtime.checkPyretVal(errVal); - raise(err("user-exception")(errVal)); - } - function makeUserException(errVal) { - runtime.checkPyretVal(errVal); - return err("user-exception")(errVal); - } - - function throwEqualityException(reason, v1, v2) { - runtime.checkString(reason); - runtime.checkPyretVal(v1); - runtime.checkPyretVal(v2); - raise(err("equality-failure")(reason, v1, v2)); - } - - function throwTypeMismatch(val, typeName) { - // NOTE(joe): can't use checkPyretVal here, because it will re-enter - // this function and blow up... - if(!runtime.isPyretVal(val)) { - console.log("Non Pyret value:", val); - val = "non-Pyret value; see the console for more details"; - } - runtime.checkString(typeName); - raise(err("generic-type-mismatch")(val, typeName)); - } - - function throwInvalidArrayIndex(methodName, array, index, reason) { - runtime.checkString(methodName); - runtime.checkArray(array); - runtime.checkNumber(index); - runtime.checkString(reason); - raise(err("invalid-array-index")(methodName, array, index, reason)); - } - - function throwNumStringBinopError(left, right, opname, opdesc, methodname) { - runtime.checkPyretVal(left); - runtime.checkPyretVal(right); - runtime.checkString(opname); - runtime.checkString(opdesc); - runtime.checkString(methodname); - raise(err("num-string-binop-error")(left, right, opname, opdesc, methodname)); - } - function throwNumericBinopError(left, right, opname, opdesc, methodname) { - runtime.checkPyretVal(left); - runtime.checkPyretVal(right); - runtime.checkString(opname); - runtime.checkString(opdesc); - runtime.checkString(methodname); - raise(err("numeric-binop-error")(left, right, opname, opdesc, methodname)); - } - - function throwUpdateNonObj(loc, objval, objloc) { - runtime.checkPyretVal(objval); - checkSrcloc(loc); - checkSrcloc(objloc); - raise(err("update-non-obj")(loc, objval, objloc)); - } - - function throwUpdateFrozenRef(loc, objval, objloc, fieldname, fieldloc) { - runtime.checkPyretVal(objval); - checkSrcloc(loc); - checkSrcloc(objloc); - runtime.checkString(fieldname); - checkSrcloc(fieldloc); - raise(err("update-frozen-ref")(loc, objval, objloc, fieldname, fieldloc)); - } - - function throwUpdateNonRef(loc, objval, objloc, fieldname, fieldloc) { - runtime.checkPyretVal(objval); - checkSrcloc(loc); - checkSrcloc(objloc); - runtime.checkString(fieldname); - checkSrcloc(fieldloc); - raise(err("update-non-ref")(loc, objval, objloc, fieldname, fieldloc)); - } - - function throwUpdateNonExistentField(loc, objval, objloc, fieldname, fieldloc) { - runtime.checkPyretVal(objval); - checkSrcloc(loc); - checkSrcloc(objloc); - runtime.checkString(fieldname); - checkSrcloc(fieldloc); - raise(err("update-non-existent-field")(loc, objval, objloc, fieldname, fieldloc)); - } - - function throwUninitializedId(loc, name) { - checkSrcloc(loc); - runtime.checkString(name); - raise(err("uninitialized-id")(loc, name)); - } - - function throwUninitializedIdMkLoc(loc, name) { - throwUninitializedId(runtime.makeSrcloc(loc), name); - } - - function throwArityError(funLoc, arity, args, isMethod) { - checkSrcloc(funLoc); - runtime.checkNumber(arity); - runtime.checkList(args); - runtime.checkBoolean(isMethod); - raise(err("arity-mismatch")(funLoc, arity, args, isMethod)); - } - - function throwRowLengthMismatch(colnames, providedVals) { - runtime.checkTable(colnames); - runtime.checkArray(providedVals); - raise(err("row-length-mismatch")(colnames, providedVals)); - } - - function throwColLengthMismatch(colname, expected, actual, value) { - runtime.checkString(colname); - runtime.checkNumber(actual); - runtime.checkNumber(expected); - raise(err("col-length-mismatch")(colname, expected, actual, value)); - } - - function throwArityErrorC(funLoc, arity, args, isMethod) { - var loc = runtime.makeSrcloc(funLoc); - var argsPyret = makeList(args); - throwArityError(loc, arity, argsPyret, isMethod); - } - - function throwConstructorArityErrorC(funLoc, name, arity, args) { - runtime.checkString(name); - runtime.checkNumber(arity); - var loc = runtime.makeSrcloc(funLoc); - var argsPyret = makeList(args); - raise(err("constructor-arity-mismatch")(loc, name, arity, argsPyret)); - } - - function throwCasesArityError(branchLoc, arity, fields, casesLoc, constructorLoc) { - checkSrcloc(branchLoc); - runtime.checkNumber(arity); - runtime.checkNumber(fields); - checkSrcloc(casesLoc); - checkSrcloc(constructorLoc); - raise(err("cases-arity-mismatch")(branchLoc, arity, fields, casesLoc, constructorLoc)); - } - - function throwCasesArityErrorC(branchLoc, arity, fields, casesLoc, constructorLoc) { - var loc = runtime.makeSrcloc(branchLoc); - var cloc = runtime.makeSrcloc(casesLoc); - var constructorLoc = runtime.makeSrcloc(constructorLoc); - throwCasesArityError(loc, arity, fields, cloc, constructorLoc); - } - - function throwCasesSingletonError(branchLoc, shouldBeSingleton, casesLoc, constructorLoc) { - checkSrcloc(branchLoc); - runtime.checkBoolean(shouldBeSingleton); - checkSrcloc(casesLoc) - checkSrcloc(constructorLoc) - raise(err("cases-singleton-mismatch")(branchLoc, shouldBeSingleton, casesLoc, constructorLoc)); - } - - function throwCasesSingletonErrorC(branchLoc, shouldBeSingleton, casesLoc, constructorLoc) { - var loc = runtime.makeSrcloc(branchLoc); - var cloc = runtime.makeSrcloc(casesLoc); - var constructorLoc = runtime.makeSrcloc(constructorLoc); - throwCasesSingletonError(loc, shouldBeSingleton, cloc, constructorLoc); - } - - function throwNonBooleanCondition(locArray, type, val) { - runtime.checkString(type); - runtime.checkPyretVal(val); - raise(err("non-boolean-condition")(runtime.makeSrcloc(locArray), type, val)); - } - function throwNonBooleanOp(locArray, position, type, val) { - runtime.checkString(position); - runtime.checkString(type); - runtime.checkPyretVal(val); - raise(err("non-boolean-op")(runtime.makeSrcloc(locArray), position, type, val)); - } - function throwNoBranchesMatched(locArray, type) { - runtime.checkString(type); - raise(err("no-branches-matched")(runtime.makeSrcloc(locArray), type)); - } - function throwNoCasesMatched(locArray, val) { - runtime.checkPyretVal(val); - raise(err("no-cases-matched")(runtime.makeSrcloc(locArray), val)); - } - function throwUnfinishedTemplate(locArray) { - raise(err("template-not-finished")(runtime.makeSrcloc(locArray))); - } - function throwNonFunApp(locArray, funVal) { - runtime.checkPyretVal(funVal); - raise(err("non-function-app")(runtime.makeSrcloc(locArray), funVal)); - } - - function throwColumnNotFound(operation_loc, col_name, col_loc, columns) { - runtime.checkString(col_name); - runtime.checkList(columns); - raise(err("column-not-found")( - runtime.makeSrcloc(operation_loc), - col_name, - runtime.makeSrcloc(col_loc), - columns)); - } - - function throwDuplicateColumn(operation_loc, col_name, col_loc) { - runtime.checkString(col_name); - raise(err("duplicate-column")( - runtime.makeSrcloc(operation_loc), - col_name, - runtime.makeSrcloc(col_loc))); - } - - function throwParseErrorBadApp(fun_loc, args_loc) { - raise(err("parse-error-bad-app")(fun_loc, args_loc)); - } - function throwParseErrorBadFunHeader(fun_loc, args_loc) { - raise(err("parse-error-bad-fun-header")(fun_loc, args_loc)); - } - function throwParseErrorNextToken(loc, nextToken) { - raise(err("parse-error-next-token")(loc, nextToken)); - } - function throwParseErrorEOF(loc) { - raise(err("parse-error-eof")(loc)); - } - function throwParseErrorUnterminatedString(loc) { - raise(err("parse-error-unterminated-string")(loc)); - } - function throwParseErrorBadNumber(loc) { - raise(err("parse-error-bad-number")(loc)); - } - function throwParseErrorBadOper(loc) { - raise(err("parse-error-bad-operator")(loc)); - } - function throwParseErrorBadCheckOper(loc) { - raise(err("parse-error-bad-check-operator")(loc)); - } - function throwParseErrorColonColon(loc, nextToken) { - raise(err("parse-error-colon-colon")(loc)); - } - - function throwModuleLoadFailureL(names) { - raise(makeModuleLoadFailureL(names)); - } - - function makeModuleLoadFailureL(names) { - var namesList = makeList(names); - return err("module-load-failure")(namesList); - } - - function makeBadBracketException(loc, val) { - runtime.checkPyretVal(val); - return contract("bad-bracket-target")(loc, val); - } - - - function makeRecordFieldsFail(value, failures) { - runtime.checkPyretVal(value); - return contract("record-fields-fail")(value, failures); - } - - function makeTupleAnnsFail(value, failures) { - return contract("tuple-anns-fail")(value, failures); - } - - function makeTupleAnnsFail(value, failures) { - return contract("tuple-anns-fail")(value, failures); - } - - function makeFieldFailure(loc, field, reason) { - checkSrcloc(loc); - runtime.checkString(field); - return contract("field-failure")(loc, field, reason); - } - - function makeAnnFailure(loc, ann, reason) { - checkSrcloc(loc); - return contract("ann-failure")(loc, ann, reason); - } - - function makeMissingField(loc, field) { - checkSrcloc(loc); - runtime.checkString(field); - return contract("missing-field")(loc, field); - } - - function makeTupleLengthMismatch(loc, val, annLength, tupLength) { - checkSrcloc(loc); - runtime.checkNumber(annLength); - runtime.checkNumber(tupLength); - return contract("tup-length-mismatch")(loc, val, annLength, tupLength); - } - - function makeTypeMismatch(val, name) { - runtime.checkString(name); - runtime.checkPyretVal(val); - return contract("type-mismatch")(val, name); - } - - function makeRefInitFail(loc, reason) { - checkSrcloc(loc); - return contract("ref-init")(loc, reason); - } - - function makePredicateFailure(val, name) { - runtime.checkString(name); - runtime.checkPyretVal(val); - return contract("predicate-failure")(val, name); - } - - function makeDotAnnNotPresent(name, field) { - runtime.checkString(name); - runtime.checkPyretVal(field); - return contract("dot-ann-not-present")(name, field); - } - - function makeFailureAtArg(loc, index, name, args, reason) { - checkSrcloc(loc); - runtime.checkNumber(index); - runtime.checkString(name); - runtime.checkList(args); - return contract("failure-at-arg")(loc, index, name, args, reason); - } - - var isOk = contract("is-ok"); - var isFail = contract("is-fail"); - var isFailArg = contract("is-fail-arg"); - - var isEqualityResult = gf(EQ, "is-EqualityResult").app; - var isEqual = gf(EQ, "is-Equal").app; - var isNotEqual = gf(EQ, "is-NotEqual").app; - var isUnknown = gf(EQ, "is-Unknown").app - - var isEmpty = gf(L, "is-empty").app; - var isLink = gf(L, "is-link").app; - function listLength(lst) { - var len = 0; - while (isLink(lst)) { - len++; - lst = gf(lst, "rest"); - } - return len; - } - - function isList(list) { return runtime.unwrap(runtime.getField(L, "is-List").app(list)); } - - runtime.makePrimAnn("List", isList); - - return runtime.makeJSModuleReturn({ - makePyretPos : makePyretPos, - combinePyretPos : combinePyretPos, - throwUpdateNonObj : throwUpdateNonObj, - throwUpdateFrozenRef : throwUpdateFrozenRef, - throwUpdateNonRef : throwUpdateNonRef, - throwUpdateNonExistentField : throwUpdateNonExistentField, - throwNumStringBinopError: throwNumStringBinopError, - throwNumericBinopError: throwNumericBinopError, - throwInternalError: throwInternalError, - throwSpinnakerError: throwSpinnakerError, - throwFieldNotFound: throwFieldNotFound, - throwConstructorSyntaxNonConstructor: throwConstructorSyntaxNonConstructor, - throwLookupConstructorNotObject: throwLookupConstructorNotObject, - throwLookupNonObject: throwLookupNonObject, - throwLookupNonTuple: throwLookupNonTuple, - throwBadTupleBind: throwBadTupleBind, - throwNonTupleBind: throwNonTupleBind, - throwLookupLargeIndex: throwLookupLargeIndex, - throwExtendNonObject: throwExtendNonObject, - throwTypeMismatch: throwTypeMismatch, - throwInvalidArrayIndex: throwInvalidArrayIndex, - throwMessageException: throwMessageException, - throwMultiErrorException: throwMultiErrorException, - throwUserException: throwUserException, - throwEqualityException: throwEqualityException, - throwUninitializedId: throwUninitializedId, - throwUninitializedIdMkLoc: throwUninitializedIdMkLoc, - throwArityError: throwArityError, - throwArityErrorC: throwArityErrorC, - throwRowLengthMismatch: throwRowLengthMismatch, - throwColLengthMismatch: throwColLengthMismatch, - throwConstructorArityErrorC: throwConstructorArityErrorC, - throwCasesArityError: throwCasesArityError, - throwCasesArityErrorC: throwCasesArityErrorC, - throwCasesSingletonError: throwCasesSingletonError, - throwCasesSingletonErrorC: throwCasesSingletonErrorC, - throwNonBooleanCondition: throwNonBooleanCondition, - throwNonBooleanOp: throwNonBooleanOp, - throwNoBranchesMatched: throwNoBranchesMatched, - throwNoCasesMatched: throwNoCasesMatched, - throwNonFunApp: throwNonFunApp, - throwColumnNotFound: throwColumnNotFound, - throwDuplicateColumn: throwDuplicateColumn, - throwUnfinishedTemplate: throwUnfinishedTemplate, - throwModuleLoadFailureL: throwModuleLoadFailureL, - - throwParseErrorBadApp: throwParseErrorBadApp, - throwParseErrorBadFunHeader: throwParseErrorBadFunHeader, - throwParseErrorNextToken: throwParseErrorNextToken, - throwParseErrorColonColon: throwParseErrorColonColon, - throwParseErrorEOF: throwParseErrorEOF, - throwParseErrorUnterminatedString: throwParseErrorUnterminatedString, - throwParseErrorBadNumber: throwParseErrorBadNumber, - throwParseErrorBadOper: throwParseErrorBadOper, - throwParseErrorBadCheckOper: throwParseErrorBadCheckOper, - - makeBadBracketException: makeBadBracketException, - makeRecordFieldsFail: makeRecordFieldsFail, - makeTupleAnnsFail: makeTupleAnnsFail, - makeFieldFailure: makeFieldFailure, - makeAnnFailure: makeAnnFailure, - makeMissingField: makeMissingField, - makeTupleLengthMismatch: makeTupleLengthMismatch, - makeTypeMismatch: makeTypeMismatch, - makeTupleAnnsFail: makeTupleAnnsFail, - makeTupleLengthMismatch: makeTupleLengthMismatch, - makeAnnFailure: makeAnnFailure, - makeRefInitFail: makeRefInitFail, - makePredicateFailure: makePredicateFailure, - makeDotAnnNotPresent: makeDotAnnNotPresent, - makeFailureAtArg: makeFailureAtArg, - contractOk: gf(CON, "ok"), - contractFail: contract("fail"), - contractFailArg: contract("fail-arg"), - isOk: isOk, - isFail: isFail, - isFailArg: isFailArg, - - equal: gf(EQ, "Equal"), - notEqual: gf(EQ, "NotEqual"), - unknown: gf(EQ, "Unknown"), - isEqual: isEqual, - isNotEqual: isNotEqual, - isUnknown: isUnknown, - isEqualityResult: isEqualityResult, - - makeInternalError: makeInternalError, - makeMessageException: makeMessageException, - makeUserException: makeUserException, - makeModuleLoadFailureL: makeModuleLoadFailureL, - - userBreak: gf(ERR, "user-break"), - isUserBreak: errPred("is-user-break"), - isExit: errPred("is-exit"), - isExitQuiet: errPred("is-exit-quiet"), - - errPred: errPred, - - cases: cases, - - checkArity: checkArity, - - /*checkResultsSummary: checkResultsSummary,*/ - - makeList: makeList, - makeTreeSet: makeTreeSet, - - isOption: runtime.getField(O, "is-Option"), - isNone: function(v) { return runtime.getField(O, "is-none").app(v); }, - isSome: function(v) { return runtime.getField(O, "is-some").app(v); }, - makeNone: function() { return runtime.getField(O, "none"); }, - makeSome: function(v) { return runtime.getField(O, "some").app(v); }, - - isEither: runtime.getField(E, "is-Either"), - isLeft: function(v) { return runtime.getField(E, "is-left").app(v); }, - isRight: function(v) { return runtime.getField(E, "is-right").app(v); }, - makeLeft: function(l) { return runtime.getField(E, "left").app(l); }, - makeRight: function(r) { return runtime.getField(E, "right").app(r); }, - - toArray: toArray, - isList: isList, - isLink: isLink, - isEmpty : isEmpty, - listLength: listLength, - - isErrorDisplay: isErrorDisplay, - checkErrorDisplay: checkErrorDisplay, -// NOTE(joe): skipping checker -// isTestResult: isTestResult, -// checkTestResult: checkTestResult, -// isTestSuccess: function(val) { return runtime.unwrap(runtime.getField(CH, "is-success").app(val)); }, - - isValueSkeleton: function(v) { return runtime.unwrap(runtime.getField(VS, "is-ValueSkeleton").app(v)); }, - isVSValue: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-value").app(v)); }, - isVSTable: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-table").app(v)); }, - isVSRow: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-row").app(v)); }, - isVSCollection: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-collection").app(v)); }, - isVSConstr: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-constr").app(v)); }, - isVSStr: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-str").app(v)); }, - isVSSeq: function(v) { return runtime.unwrap(runtime.getField(VS, "is-vs-seq").app(v)); }, - vsStr: function(s) { - runtime.checkString(s); - return runtime.getField(VS, "vs-str").app(s); - }, - - edEmbed: function(v) { - runtime.checkPyretVal(v); - return runtime.getField(ED, "embed").app(v); - }, - - //TODO(joe): add more creation methods for error-display/valueskeleton - //here, which are super-useful! - - skeletonValues: function(skel) { - var isValueSkeleton = runtime.getField(VS, "is-ValueSkeleton"); - var isValue = runtime.getField(VS, "is-vs-value"); - var isTable = runtime.getField(VS, "is-vs-table"); - var isRow = runtime.getField(VS, "is-vs-row"); - var isCollection = runtime.getField(VS, "is-vs-collection"); - var isConstr = runtime.getField(VS, "is-vs-constr"); - var isStr = runtime.getField(VS, "is-vs-str"); - var isSeq = runtime.getField(VS, "is-vs-seq"); - if(!(runtime.unwrap(isValueSkeleton.app(skel)) === true)) { - throwTypeMismatch(skel, "ValueSkeleton"); - } - var arr = []; - var worklist = [skel]; - try { - for (var i = 0; i < worklist.length; i++) { // length changes as the loop iterates - var cur = worklist[i]; - if (runtime.unwrap(isValue.app(cur)) === true) { - arr.push(runtime.getField(cur, "v")); - } else if (runtime.unwrap(isCollection.app(cur)) === true) { - Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "items"))); - } else if (runtime.unwrap(isRow.app(cur)) === true) { - Array.prototype.push.apply(worklist, runtime.getField(cur, "headers")); - Array.prototype.push.apply(worklist, runtime.getField(cur, "values")); - } else if (runtime.unwrap(isTable.app(cur)) === true) { - Array.prototype.push.apply(worklist, runtime.getField(cur, "headers")); - runtime.getField(cur, "rows").forEach(function(row){ - Array.prototype.push.apply(worklist, row); }); - } else if (runtime.unwrap(isConstr.app(cur)) === true) { - Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "args"))); - } else if (runtime.unwrap(isStr.app(cur)) === true) { - // nothing - } else if (runtime.unwrap(isSeq.app(cur)) === true) { - Array.prototype.push.apply(worklist, toArray(runtime.getField(cur, "items"))); - } else { - throwMessageException("Non-value appeared in skeleton: " + String(cur)); - } - } - } catch(e) { - console.error("******* Something went wrong in skeletonValues: " + JSON.stringify(skel)); - console.error(e); - throw e; - } - return arr; - } - }); - } -}) -, -"builtin://checker":({"theMap":"{\"version\":3,\"sources\":[\"builtin://checker\"],\"names\":[\"builtin://checker\",\",24,6,380,24,22,396\",\",25,6,424,25,22,440\",\",26,6,465,26,23,482\",\",27,23,524,27,46,547\",\",27,17,518,27,47,548\",\",47,28,1198,47,46,1216\",\",47,20,1190,47,47,1217\",\",49,22,1256,49,41,1275\",\",51,26,1326,51,37,1337\",\",51,26,1326,51,48,1348\",\",51,26,1326,51,59,1359\",\",51,26,1326,51,72,1372\",\",51,12,1312,51,76,1376\",\",53,13,1413,53,24,1424\",\",54,28,1454,54,39,1465\",\",54,28,1454,54,50,1476\",\",54,28,1454,54,61,1487\",\",54,28,1454,54,74,1500\",\",54,14,1440,54,78,1504\",\",55,14,1520,55,27,1533\",\",56,41,1576,56,53,1588\",\",56,41,1576,56,64,1599\",\",56,41,1576,56,77,1612\",\",56,27,1562,56,81,1616\",\",56,84,1619,56,88,1623\",\",56,90,1625,56,93,1628\",\",56,14,1549,56,99,1634\",\",57,14,1650,57,26,1662\",\",49,8,1242,58,11,1675\",\",64,9,1790,64,16,1797\",\",65,10,1809,65,114,1913\",\",67,9,1940,67,16,1947\",\",68,10,1959,68,39,1988\",\",69,18,2008,69,40,2030\",\",69,10,2000,69,41,2031\",\",70,10,2043,70,42,2075\",\",34,43,680,34,56,693\",\",37,43,802,37,57,816\",\",37,43,802,37,63,822\",\",40,43,936,40,62,955\",\",40,43,936,40,68,961\",\",43,43,1071,43,57,1085\",\",43,43,1071,43,63,1091\",\",31,0,560,73,3,2094\",\",32,2,581,34,61,698\",\",35,2,701,37,68,827\",\",38,2,830,40,73,966\",\",41,2,969,43,68,1096\",\",75,0,2096,83,3,2295\",\",76,2,2121,82,5,2291\",\",86,3,2334,86,14,2345\",\",87,5,2352,87,12,2359\",\",88,6,2367,88,21,2382\",\",90,6,2405,90,22,2421\",\",91,4,2428,91,19,2443\",\",98,9,2667,98,17,2675\",\",98,9,2667,98,30,2688\",\",99,8,2698,99,28,2718\",\",100,28,2747,100,36,2755\",\",100,14,2733,100,37,2756\",\",101,32,2790,101,40,2798\",\",101,22,2780,101,41,2799\",\",103,22,2853,103,35,2866\",\",103,22,2853,103,60,2891\",\",104,22,2914,104,36,2928\",\",104,22,2914,104,61,2953\",\",105,42,2996,105,55,3009\",\",105,42,2996,105,62,3016\",\",105,34,2988,105,63,3017\",\",105,67,3021,105,74,3028\",\",105,76,3030,105,85,3039\",\",105,21,2975,105,90,3044\",\",106,42,3087,106,56,3101\",\",106,42,3087,106,63,3108\",\",106,34,3079,106,64,3109\",\",106,67,3112,106,74,3119\",\",106,76,3121,106,85,3130\",\",106,21,3066,106,90,3135\",\",107,20,3156,107,33,3169\",\",107,20,3156,107,51,3187\",\",108,13,3201,108,21,3209\",\",109,14,3225,109,27,3238\",\",109,14,3225,109,51,3262\",\",110,24,3288,110,32,3296\",\",110,14,3278,110,33,3297\",\",111,15,3314,111,22,3321\",\",112,27,3350,112,38,3361\",\",114,21,3426,114,32,3437\",\",115,22,3461,115,57,3496\",\",116,30,3528,116,46,3544\",\",116,56,3554,116,108,3606\",\",118,34,3676,118,53,3695\",\",120,25,3754,120,36,3765\",\",121,26,3793,121,61,3828\",\",122,34,3864,122,50,3880\",\",122,60,3890,122,82,3912\",\",124,25,3974,124,36,3985\",\",124,24,3973,129,57,4307\",\",125,26,4013,125,61,4048\",\",126,39,4089,126,59,4109\",\",126,62,4112,126,66,4116\",\",126,68,4118,126,71,4121\",\",126,26,4076,126,76,4126\",\",127,26,4154,127,60,4188\",\",128,34,4224,128,50,4240\",\",129,26,4276,129,56,4306\",\",118,20,3662,130,23,4331\",\",132,21,4394,132,32,4405\",\",132,20,4393,137,53,4704\",\",133,22,4429,133,67,4474\",\",134,38,4514,134,57,4533\",\",134,30,4506,134,58,4534\",\",134,22,4498,134,59,4535\",\",135,22,4559,135,56,4593\",\",136,30,4625,136,46,4641\",\",137,22,4673,137,52,4703\",\",112,16,3339,138,19,4724\",\",139,37,4764,139,46,4773\",\",139,16,4743,139,47,4774\",\",140,37,4813,140,47,4823\",\",140,16,4792,140,48,4824\",\",141,25,4851,141,45,4871\",\",101,8,2766,142,11,4883\",\",144,8,4904,144,28,4924\",\",148,7,4983,148,15,4991\",\",149,9,5002,149,16,5009\",\",149,32,5025,149,47,5040\",\",150,25,5067,150,52,5094\",\",151,25,5120,151,77,5172\",\",149,18,5011,152,13,5186\",\",153,17,5206,153,26,5215\",\",153,8,5197,153,27,5216\",\",154,17,5235,154,27,5245\",\",154,8,5226,154,28,5246\",\",158,9,5468,158,17,5476\",\",158,9,5468,158,30,5489\",\",159,8,5499,159,28,5519\",\",160,28,5548,160,36,5556\",\",160,14,5534,160,37,5557\",\",161,32,5591,161,40,5599\",\",161,22,5581,161,41,5600\",\",163,22,5654,163,35,5667\",\",163,22,5654,163,60,5692\",\",164,22,5715,164,36,5729\",\",164,22,5715,164,61,5754\",\",165,42,5797,165,55,5810\",\",165,42,5797,165,62,5817\",\",165,34,5789,165,63,5818\",\",165,67,5822,165,74,5829\",\",165,76,5831,165,85,5840\",\",165,21,5776,165,90,5845\",\",166,42,5888,166,56,5902\",\",166,42,5888,166,63,5909\",\",166,34,5880,166,64,5910\",\",166,67,5913,166,74,5920\",\",166,76,5922,166,85,5931\",\",166,21,5867,166,90,5936\",\",167,20,5957,167,33,5970\",\",167,20,5957,167,51,5988\",\",168,37,6026,168,48,6037\",\",171,20,6117,171,32,6129\",\",176,20,6292,176,32,6304\",\",181,26,6460,181,33,6467\",\",182,14,6483,182,29,6498\",\",182,39,6508,182,60,6529\",\",182,31,6500,182,61,6530\",\",183,14,6546,183,73,6605\",\",184,22,6629,184,42,6649\",\",184,14,6621,184,43,6650\",\",184,45,6652,184,90,6697\",\",187,28,6772,187,42,6786\",\",187,28,6772,187,49,6793\",\",187,16,6760,187,50,6794\",\",187,67,6811,187,81,6825\",\",187,67,6811,187,88,6832\",\",187,55,6799,187,89,6833\",\",189,19,6950,189,26,6957\",\",189,28,6959,189,71,7002\",\",190,28,7033,190,42,7047\",\",190,28,7033,190,49,7054\",\",190,16,7021,190,50,7055\",\",190,66,7071,190,80,7085\",\",190,66,7071,190,87,7092\",\",190,54,7059,190,88,7093\",\",192,19,7202,192,26,7209\",\",192,28,7211,192,79,7262\",\",193,32,7297,193,46,7311\",\",193,32,7297,193,53,7318\",\",193,16,7281,193,54,7319\",\",193,75,7340,193,89,7354\",\",193,75,7340,193,96,7361\",\",193,59,7324,193,97,7362\",\",195,32,7504,195,46,7518\",\",195,32,7504,195,53,7525\",\",195,16,7488,195,54,7526\",\",200,13,7819,200,21,7827\",\",200,12,7818,206,19,8071\",\",201,14,7843,201,27,7856\",\",201,14,7843,201,51,7880\",\",202,24,7906,202,32,7914\",\",202,14,7896,202,33,7915\",\",203,15,7932,203,22,7939\",\",203,24,7941,203,37,7954\",\",204,35,7992,204,44,8001\",\",204,14,7971,204,45,8002\",\",205,35,8039,205,45,8049\",\",205,14,8018,205,46,8050\",\",207,25,8097,207,45,8117\",\",161,8,5567,208,11,8129\",\",210,8,8150,210,28,8170\",\",215,22,8255,215,36,8269\",\",215,22,8255,215,43,8276\",\",215,10,8243,215,44,8277\",\",215,61,8294,215,75,8308\",\",215,61,8294,215,82,8315\",\",215,49,8282,215,83,8316\",\",216,11,8334,216,19,8342\",\",217,13,8357,217,20,8364\",\",218,14,8380,218,115,8481\",\",220,21,8518,220,30,8527\",\",220,12,8509,220,31,8528\",\",221,21,8551,221,31,8561\",\",221,12,8542,221,32,8562\",\",222,22,8586,222,36,8600\",\",222,22,8586,222,43,8607\",\",222,10,8574,222,44,8608\",\",222,60,8624,222,74,8638\",\",222,60,8624,222,81,8645\",\",222,48,8612,222,82,8646\",\",223,11,8664,223,19,8672\",\",224,13,8687,224,20,8694\",\",225,14,8710,225,137,8833\",\",227,21,8870,227,30,8879\",\",227,12,8861,227,31,8880\",\",228,21,8903,228,31,8913\",\",228,12,8894,228,32,8914\",\",230,11,8948,230,19,8956\",\",231,13,8971,231,20,8978\",\",232,14,8994,232,83,9063\",\",232,93,9073,232,114,9094\",\",232,85,9065,232,115,9095\",\",233,14,9111,233,48,9145\",\",234,22,9169,234,39,9186\",\",234,14,9161,234,40,9187\",\",234,42,9189,234,87,9234\",\",236,21,9271,236,30,9280\",\",236,12,9262,236,31,9281\",\",237,21,9304,237,31,9314\",\",237,12,9295,237,32,9315\",\",242,9,9515,242,17,9523\",\",242,9,9515,242,30,9536\",\",243,8,9546,243,28,9566\",\",244,28,9595,244,36,9603\",\",244,14,9581,244,37,9604\",\",245,32,9638,245,40,9646\",\",245,22,9628,245,41,9647\",\",247,22,9701,247,35,9714\",\",247,22,9701,247,60,9739\",\",248,22,9762,248,36,9776\",\",248,22,9762,248,61,9801\",\",249,42,9844,249,55,9857\",\",249,42,9844,249,62,9864\",\",249,34,9836,249,63,9865\",\",249,67,9869,249,74,9876\",\",249,76,9878,249,85,9887\",\",249,21,9823,249,90,9892\",\",250,42,9935,250,56,9949\",\",250,42,9935,250,63,9956\",\",250,34,9927,250,64,9957\",\",250,67,9960,250,74,9967\",\",250,76,9969,250,85,9978\",\",250,21,9914,250,90,9983\",\",251,20,10004,251,33,10017\",\",251,20,10004,251,51,10035\",\",252,13,10049,252,21,10057\",\",253,14,10073,253,27,10086\",\",253,14,10073,253,51,10110\",\",254,24,10136,254,32,10144\",\",254,14,10126,254,33,10145\",\",255,15,10162,255,22,10169\",\",256,27,10198,256,38,10209\",\",258,34,10283,258,53,10302\",\",260,25,10361,260,36,10372\",\",261,26,10400,261,61,10435\",\",262,34,10471,262,50,10487\",\",262,60,10497,262,92,10529\",\",264,25,10591,264,36,10602\",\",264,24,10590,269,63,10934\",\",265,26,10630,265,61,10665\",\",266,39,10706,266,59,10726\",\",266,62,10729,266,66,10733\",\",266,68,10735,266,71,10738\",\",266,26,10693,266,76,10743\",\",267,26,10771,267,64,10809\",\",268,34,10845,268,50,10861\",\",269,26,10897,269,62,10933\",\",258,20,10269,270,23,10958\",\",272,21,11025,272,32,11036\",\",272,20,11024,277,59,11345\",\",273,22,11060,273,67,11105\",\",274,38,11145,274,57,11164\",\",274,30,11137,274,58,11165\",\",274,22,11129,274,59,11166\",\",275,22,11190,275,60,11228\",\",276,30,11260,276,46,11276\",\",277,22,11308,277,58,11344\",\",256,16,10187,278,19,11365\",\",279,37,11405,279,46,11414\",\",279,16,11384,279,47,11415\",\",280,37,11454,280,47,11464\",\",280,16,11433,280,48,11465\",\",281,25,11492,281,45,11512\",\",245,8,9614,282,11,11524\",\",284,8,11545,284,28,11565\",\",288,7,11624,288,15,11632\",\",289,9,11643,289,16,11650\",\",289,32,11666,289,47,11681\",\",290,25,11708,290,56,11739\",\",291,25,11765,291,81,11821\",\",289,18,11652,292,13,11835\",\",293,17,11855,293,26,11864\",\",293,8,11846,293,27,11865\",\",294,17,11884,294,27,11894\",\",294,8,11875,294,28,11895\",\",298,9,12059,298,17,12067\",\",298,9,12059,298,30,12080\",\",299,8,12090,299,28,12110\",\",300,28,12139,300,36,12147\",\",300,14,12125,300,37,12148\",\",301,32,12182,301,40,12190\",\",301,22,12172,301,41,12191\",\",303,22,12245,303,34,12257\",\",303,22,12245,303,59,12282\",\",304,22,12305,304,36,12319\",\",304,22,12305,304,42,12325\",\",305,42,12368,305,54,12380\",\",305,42,12368,305,61,12387\",\",305,34,12360,305,62,12388\",\",305,66,12392,305,73,12399\",\",305,75,12401,305,84,12410\",\",305,21,12347,305,89,12415\",\",306,34,12450,306,54,12470\",\",306,57,12473,306,64,12480\",\",306,66,12482,306,75,12491\",\",306,21,12437,306,80,12496\",\",308,13,12511,308,21,12519\",\",309,14,12535,309,26,12547\",\",309,14,12535,309,50,12571\",\",310,24,12597,310,32,12605\",\",310,14,12587,310,33,12606\",\",311,15,12623,311,22,12630\",\",311,14,12622,318,32,12887\",\",312,16,12648,312,51,12683\",\",314,16,12725,314,61,12770\",\",316,16,12812,316,33,12829\",\",318,16,12871,318,31,12886\",\",319,23,12912,319,31,12920\",\",319,14,12903,319,32,12921\",\",320,20,12943,320,40,12963\",\",301,8,12158,321,11,12975\",\",323,8,12996,323,28,13016\",\",327,7,13075,327,15,13083\",\",328,9,13094,328,16,13101\",\",328,18,13103,328,56,13141\",\",329,17,13161,329,25,13169\",\",329,8,13152,329,26,13170\",\",333,9,13337,333,17,13345\",\",333,9,13337,333,30,13358\",\",334,8,13368,334,28,13388\",\",335,28,13417,335,36,13425\",\",335,14,13403,335,37,13426\",\",336,32,13460,336,40,13468\",\",336,22,13450,336,41,13469\",\",338,22,13523,338,34,13535\",\",338,22,13523,338,59,13560\",\",339,22,13583,339,36,13597\",\",339,22,13583,339,42,13603\",\",340,42,13646,340,54,13658\",\",340,42,13646,340,61,13665\",\",340,34,13638,340,62,13666\",\",340,66,13670,340,73,13677\",\",340,75,13679,340,84,13688\",\",340,21,13625,340,89,13693\",\",341,34,13728,341,54,13748\",\",341,57,13751,341,64,13758\",\",341,66,13760,341,75,13769\",\",341,21,13715,341,80,13774\",\",342,13,13788,342,21,13796\",\",343,14,13812,343,26,13824\",\",343,14,13812,343,50,13848\",\",344,24,13874,344,32,13882\",\",344,14,13864,344,33,13883\",\",345,15,13900,345,22,13907\",\",345,14,13899,352,33,14201\",\",346,16,13925,346,51,13960\",\",348,16,14002,348,67,14053\",\",350,16,14095,350,63,14142\",\",352,16,14184,352,32,14200\",\",353,23,14226,353,31,14234\",\",353,14,14217,353,32,14235\",\",355,12,14269,355,32,14289\",\",336,8,13436,356,11,14301\",\",358,8,14322,358,28,14342\",\",362,7,14401,362,15,14409\",\",363,9,14420,363,16,14427\",\",363,18,14429,363,83,14494\",\",364,17,14514,364,25,14522\",\",364,8,14505,364,26,14523\",\",368,9,14701,368,17,14709\",\",368,9,14701,368,30,14722\",\",369,8,14732,369,28,14752\",\",370,28,14781,370,36,14789\",\",370,14,14767,370,37,14790\",\",371,32,14824,371,40,14832\",\",371,22,14814,371,41,14833\",\",373,13,14878,373,21,14886\",\",373,12,14877,379,42,15177\",\",374,14,14902,374,29,14917\",\",374,14,14902,374,53,14941\",\",375,24,14967,375,32,14975\",\",375,14,14957,375,33,14976\",\",376,15,14993,376,22,15000\",\",376,24,15002,376,60,15038\",\",377,23,15064,377,38,15079\",\",377,14,15055,377,39,15080\",\",378,15,15097,378,22,15104\",\",378,24,15106,378,50,15132\",\",379,23,15158,379,40,15175\",\",379,14,15149,379,41,15176\",\",380,20,15198,380,40,15218\",\",371,8,14800,381,11,15230\",\",383,8,15251,383,28,15271\",\",387,16,15349,387,31,15364\",\",387,6,15339,387,32,15365\",\",390,7,15414,390,15,15422\",\",391,9,15433,391,16,15440\",\",391,18,15442,391,54,15478\",\",392,17,15498,392,32,15513\",\",392,8,15489,392,33,15514\",\",393,9,15525,393,16,15532\",\",393,18,15534,393,44,15560\",\",394,17,15580,394,34,15597\",\",394,8,15571,394,35,15598\",\",398,9,15684,398,13,15688\",\",399,22,15712,399,30,15720\",\",399,10,15700,399,31,15721\",\",400,22,15745,400,39,15762\",\",400,10,15733,400,40,15763\",\",401,33,15798,401,48,15813\",\",401,22,15787,401,49,15814\",\",401,10,15775,401,50,15815\",\",397,6,15641,401,52,15817\",\",405,9,15999,405,17,16007\",\",405,9,15999,405,30,16020\",\",406,8,16030,406,28,16050\",\",407,28,16079,407,36,16087\",\",407,14,16065,407,37,16088\",\",408,32,16122,408,40,16130\",\",408,22,16112,408,41,16131\",\",410,13,16176,410,21,16184\",\",410,12,16175,416,46,16484\",\",411,14,16200,411,29,16215\",\",411,14,16200,411,53,16239\",\",412,24,16265,412,32,16273\",\",412,14,16255,412,33,16274\",\",413,15,16291,413,22,16298\",\",413,24,16300,413,49,16325\",\",414,23,16351,414,38,16366\",\",414,14,16342,414,39,16367\",\",415,15,16384,415,22,16391\",\",415,24,16393,415,66,16435\",\",416,23,16461,416,44,16482\",\",416,14,16452,416,45,16483\",\",417,20,16505,417,40,16525\",\",408,8,16098,418,11,16537\",\",420,8,16558,420,28,16578\",\",424,7,16637,424,15,16645\",\",425,9,16656,425,16,16663\",\",425,18,16665,425,43,16690\",\",426,17,16710,426,32,16725\",\",426,8,16701,426,33,16726\",\",427,9,16737,427,16,16744\",\",427,18,16746,427,60,16788\",\",428,17,16808,428,38,16829\",\",428,8,16799,428,39,16830\",\",432,9,16916,432,13,16920\",\",433,22,16944,433,30,16952\",\",433,10,16932,433,31,16953\",\",434,22,16977,434,43,16998\",\",434,10,16965,434,44,16999\",\",435,33,17034,435,48,17049\",\",435,22,17023,435,49,17050\",\",435,10,17011,435,50,17051\",\",431,6,16873,435,52,17053\",\",439,9,17226,439,17,17234\",\",439,9,17226,439,30,17247\",\",440,8,17257,440,28,17277\",\",441,28,17306,441,36,17314\",\",441,14,17292,441,37,17315\",\",442,32,17349,442,40,17357\",\",442,22,17339,442,41,17358\",\",444,22,17412,444,36,17426\",\",444,22,17412,444,61,17451\",\",445,13,17465,445,21,17473\",\",446,14,17489,446,28,17503\",\",446,14,17489,446,52,17527\",\",447,24,17553,447,32,17561\",\",447,14,17543,447,33,17562\",\",449,17,17609,449,21,17613\",\",449,23,17615,449,74,17666\",\",450,36,17706,450,50,17720\",\",451,36,17758,451,40,17762\",\",451,55,17777,451,75,17797\",\",451,79,17801,451,86,17808\",\",451,88,17810,451,97,17819\",\",451,42,17764,451,103,17825\",\",452,36,17863,452,40,17867\",\",452,55,17882,452,76,17903\",\",452,79,17906,452,86,17913\",\",452,88,17915,452,102,17929\",\",452,88,17915,452,108,17935\",\",452,88,17915,452,110,17937\",\",452,42,17869,452,116,17943\",\",453,36,17981,453,40,17985\",\",453,55,18000,453,77,18022\",\",453,80,18025,453,87,18032\",\",453,89,18034,453,103,18048\",\",453,89,18034,453,109,18054\",\",453,89,18034,453,111,18056\",\",453,42,17987,453,117,18062\",\",455,39,18140,455,58,18159\",\",456,36,18226,456,40,18230\",\",456,55,18245,456,76,18266\",\",456,81,18271,456,88,18278\",\",456,90,18280,456,93,18283\",\",456,42,18232,456,99,18289\",\",458,25,18352,458,29,18356\",\",458,44,18371,458,64,18391\",\",458,68,18395,458,75,18402\",\",458,77,18404,458,91,18418\",\",458,77,18404,458,97,18424\",\",458,77,18404,458,99,18426\",\",458,31,18358,458,105,18432\",\",455,20,18121,459,23,18457\",\",450,16,17686,460,19,18477\",\",449,16,17608,460,19,18477\",\",460,23,18481,460,27,18485\",\",460,29,18487,460,63,18521\",\",449,16,17608,460,64,18522\",\",448,14,17578,460,65,18523\",\",461,23,18548,461,38,18563\",\",461,14,18539,461,39,18564\",\",462,20,18586,462,40,18606\",\",442,8,17325,463,11,18618\",\",465,8,18639,465,28,18659\",\",469,7,18718,469,15,18726\",\",470,9,18737,470,16,18744\",\",470,18,18746,470,54,18782\",\",471,17,18802,471,32,18817\",\",471,8,18793,471,33,18818\",\",476,16,18980,476,31,18995\",\",476,6,18970,476,32,18996\",\",480,9,19075,480,13,19079\",\",481,22,19103,481,30,19111\",\",481,10,19091,481,31,19112\",\",482,33,19147,482,48,19162\",\",482,22,19136,482,49,19163\",\",482,10,19124,482,50,19164\",\",483,22,19188,483,36,19202\",\",483,10,19176,483,37,19203\",\",479,6,19038,483,39,19205\",\",487,9,19402,487,17,19410\",\",487,9,19402,487,30,19423\",\",488,8,19439,488,28,19459\",\",489,28,19488,489,36,19496\",\",489,14,19474,489,37,19497\",\",490,32,19531,490,40,19539\",\",490,22,19521,490,41,19540\",\",492,22,19594,492,34,19606\",\",492,22,19594,492,59,19631\",\",493,42,19674,493,54,19686\",\",493,42,19674,493,61,19693\",\",493,34,19666,493,62,19694\",\",493,65,19697,493,72,19704\",\",493,74,19706,493,83,19715\",\",493,21,19653,493,88,19720\",\",494,26,19747,494,43,19764\",\",496,17,19812,496,25,19820\",\",497,18,19840,497,30,19852\",\",497,18,19840,497,54,19876\",\",498,28,19906,498,36,19914\",\",498,18,19896,498,37,19915\",\",499,19,19936,499,26,19943\",\",500,20,19965,500,72,20017\",\",501,23,20050,501,34,20061\",\",502,22,20085,502,43,20106\",\",504,22,20155,504,68,20201\",\",505,26,20228,505,39,20241\",\",507,17,20284,507,25,20292\",\",508,18,20312,508,30,20324\",\",508,18,20312,508,54,20348\",\",509,28,20378,509,36,20386\",\",509,18,20368,509,37,20387\",\",510,19,20408,510,26,20415\",\",510,28,20417,510,80,20469\",\",494,12,19733,511,15,20495\",\",512,20,20516,512,40,20536\",\",490,8,19507,513,11,20548\",\",515,8,20569,515,28,20589\",\",519,20,20661,519,37,20678\",\",521,11,20714,521,19,20722\",\",522,13,20737,522,20,20744\",\",522,76,20800,522,88,20812\",\",522,76,20800,522,95,20819\",\",522,30,20754,522,95,20819\",\",523,19,20841,523,30,20852\",\",522,30,20754,527,19,20982\",\",522,22,20746,527,20,20983\",\",527,23,20986,527,36,20999\",\",529,11,21030,529,19,21038\",\",530,13,21053,530,20,21060\",\",530,76,21116,530,88,21128\",\",530,76,21116,530,95,21135\",\",530,30,21070,530,95,21135\",\",530,22,21062,530,96,21136\",\",519,6,20647,531,9,21148\",\",535,9,21317,535,17,21325\",\",535,9,21317,535,30,21338\",\",536,8,21348,536,28,21368\",\",537,28,21397,537,36,21405\",\",537,14,21383,537,37,21406\",\",538,32,21440,538,40,21448\",\",538,22,21430,538,41,21449\",\",540,22,21503,540,34,21515\",\",540,22,21503,540,59,21540\",\",541,22,21563,541,36,21577\",\",541,22,21563,541,42,21583\",\",542,42,21626,542,54,21638\",\",542,42,21626,542,61,21645\",\",542,34,21618,542,62,21646\",\",542,66,21650,542,73,21657\",\",542,75,21659,542,84,21668\",\",542,21,21605,542,89,21673\",\",543,34,21708,543,54,21728\",\",543,57,21731,543,64,21738\",\",543,66,21740,543,75,21749\",\",543,21,21695,543,80,21754\",\",545,13,21769,545,21,21777\",\",546,14,21793,546,26,21805\",\",546,14,21793,546,50,21829\",\",547,24,21855,547,32,21863\",\",547,14,21845,547,33,21864\",\",548,15,21881,548,22,21888\",\",548,14,21880,555,33,22202\",\",549,16,21906,549,51,21941\",\",551,16,21983,551,87,22054\",\",553,16,22096,553,63,22143\",\",555,16,22185,555,32,22201\",\",556,23,22227,556,31,22235\",\",556,14,22218,556,32,22236\",\",557,20,22258,557,40,22278\",\",538,8,21416,558,11,22290\",\",560,8,22311,560,28,22331\",\",564,7,22390,564,15,22398\",\",565,9,22409,565,16,22416\",\",565,18,22418,565,60,22460\",\",566,9,22472,566,16,22479\",\",566,38,22501,566,46,22509\",\",566,27,22490,566,47,22510\",\",566,18,22481,566,48,22511\",\",570,9,22608,570,13,22612\",\",571,22,22636,571,30,22644\",\",571,10,22624,571,31,22645\",\",572,33,22680,572,41,22688\",\",572,22,22669,572,42,22689\",\",572,10,22657,572,43,22690\",\",573,22,22714,573,31,22723\",\",573,10,22702,573,32,22724\",\",569,6,22555,573,34,22726\",\",577,9,22898,577,17,22906\",\",577,9,22898,577,30,22919\",\",578,8,22929,578,28,22949\",\",579,28,22978,579,36,22986\",\",579,14,22964,579,37,22987\",\",580,32,23021,580,40,23029\",\",580,22,23011,580,41,23030\",\",582,22,23084,582,34,23096\",\",582,22,23084,582,59,23121\",\",583,22,23144,583,36,23158\",\",583,22,23144,583,42,23164\",\",584,42,23207,584,54,23219\",\",584,42,23207,584,61,23226\",\",584,34,23199,584,62,23227\",\",584,66,23231,584,73,23238\",\",584,75,23240,584,84,23249\",\",584,21,23186,584,89,23254\",\",585,34,23289,585,54,23309\",\",585,57,23312,585,64,23319\",\",585,66,23321,585,75,23330\",\",585,21,23276,585,80,23335\",\",587,13,23350,587,21,23358\",\",588,15,23375,588,22,23382\",\",589,16,23400,589,28,23412\",\",589,16,23400,589,52,23436\",\",593,24,23620,593,32,23628\",\",593,14,23610,593,33,23629\",\",594,15,23646,594,22,23653\",\",594,14,23645,601,32,23970\",\",595,16,23671,595,51,23706\",\",597,16,23748,597,91,23823\",\",599,16,23865,599,63,23912\",\",601,16,23954,601,31,23969\",\",602,23,23995,602,31,24003\",\",602,14,23986,602,32,24004\",\",603,20,24026,603,40,24046\",\",580,8,22997,604,11,24058\",\",606,8,24079,606,28,24099\",\",610,7,24158,610,15,24166\",\",611,9,24177,611,16,24184\",\",611,18,24186,611,87,24255\",\",612,9,24267,612,16,24274\",\",612,38,24296,612,46,24304\",\",612,27,24285,612,47,24305\",\",612,18,24276,612,48,24306\",\",616,9,24406,616,13,24410\",\",617,22,24434,617,30,24442\",\",617,10,24422,617,31,24443\",\",618,33,24478,618,41,24486\",\",618,22,24467,618,42,24487\",\",618,10,24455,618,43,24488\",\",619,22,24512,619,31,24521\",\",619,10,24500,619,32,24522\",\",615,6,24350,619,34,24524\",\",625,7,24823,625,15,24831\",\",626,9,24842,626,16,24849\",\",626,18,24851,626,106,24939\",\",627,9,24951,627,16,24958\",\",627,27,24969,627,43,24985\",\",627,18,24960,627,44,24986\",\",630,7,25037,630,15,25045\",\",631,9,25056,631,16,25063\",\",631,18,25065,631,106,25153\",\",632,9,25165,632,16,25172\",\",632,27,25183,632,43,25199\",\",632,18,25174,632,44,25200\",\",636,9,25366,636,17,25374\",\",636,9,25366,636,30,25387\",\",637,8,25397,637,28,25417\",\",638,28,25446,638,36,25454\",\",638,14,25432,638,37,25455\",\",639,32,25489,639,40,25497\",\",639,22,25479,639,41,25498\",\",641,36,25566,641,61,25591\",\",641,65,25595,641,72,25602\",\",641,74,25604,641,107,25637\",\",641,74,25604,641,109,25639\",\",641,23,25553,641,114,25644\",\",642,13,25658,642,21,25666\",\",643,15,25683,643,22,25690\",\",643,24,25692,643,39,25707\",\",643,85,25753,643,95,25763\",\",643,75,25743,643,96,25764\",\",643,59,25727,643,96,25764\",\",643,59,25727,643,143,25811\",\",643,51,25719,643,144,25812\",\",644,24,25839,644,32,25847\",\",644,14,25829,644,33,25848\",\",645,15,25865,645,22,25872\",\",645,24,25874,645,51,25901\",\",645,62,25912,645,76,25926\",\",645,53,25903,645,77,25927\",\",647,13,25963,647,21,25971\",\",648,15,25988,648,22,25995\",\",648,76,26049,648,86,26059\",\",648,66,26039,648,87,26060\",\",648,32,26005,648,87,26060\",\",648,32,26005,648,155,26128\",\",648,24,25997,648,156,26129\",\",649,15,26147,649,22,26154\",\",649,33,26165,649,47,26179\",\",649,24,26156,649,48,26180\",\",650,24,26207,650,32,26215\",\",650,14,26197,650,33,26216\",\",639,8,25465,651,11,26229\",\",636,6,25363,652,9,26239\",\",655,7,26288,655,15,26296\",\",656,9,26307,656,16,26314\",\",656,70,26368,656,80,26378\",\",656,60,26358,656,81,26379\",\",656,26,26324,656,81,26379\",\",656,26,26324,656,149,26447\",\",656,18,26316,656,150,26448\",\",657,9,26460,657,16,26467\",\",657,27,26478,657,41,26492\",\",657,18,26469,657,42,26493\",\",661,9,26679,661,17,26687\",\",661,9,26679,661,30,26700\",\",662,8,26710,662,28,26730\",\",663,28,26759,663,36,26767\",\",663,14,26745,663,37,26768\",\",664,32,26802,664,40,26810\",\",664,22,26792,664,41,26811\",\",666,22,26865,666,35,26878\",\",666,22,26865,666,60,26903\",\",667,42,26946,667,55,26959\",\",667,42,26946,667,62,26966\",\",667,34,26938,667,63,26967\",\",667,67,26971,667,74,26978\",\",667,76,26980,667,85,26989\",\",667,21,26925,667,90,26994\",\",668,36,27031,668,61,27056\",\",668,65,27060,668,72,27067\",\",668,74,27069,668,107,27102\",\",668,74,27069,668,109,27104\",\",668,23,27018,668,114,27109\",\",669,13,27123,669,21,27131\",\",670,15,27148,670,22,27155\",\",670,24,27157,670,39,27172\",\",670,51,27184,670,85,27218\",\",671,24,27245,671,32,27253\",\",671,14,27235,671,33,27254\",\",672,15,27271,672,22,27278\",\",672,24,27280,672,55,27311\",\",672,66,27322,672,82,27338\",\",672,57,27313,672,83,27339\",\",673,16,27357,673,48,27389\",\",675,13,27433,675,21,27441\",\",676,15,27458,676,22,27465\",\",676,24,27467,676,102,27545\",\",677,15,27563,677,22,27570\",\",677,33,27581,677,49,27597\",\",677,24,27572,677,50,27598\",\",678,15,27616,678,22,27623\",\",678,57,27658,678,70,27671\",\",678,57,27658,678,77,27678\",\",678,32,27633,678,77,27678\",\",678,24,27625,678,78,27679\",\",679,24,27706,679,32,27714\",\",679,14,27696,679,33,27715\",\",664,8,26778,680,11,27728\",\",661,6,26676,681,9,27738\",\",684,7,27787,684,15,27795\",\",685,9,27806,685,16,27813\",\",685,18,27815,685,96,27893\",\",686,9,27905,686,16,27912\",\",686,27,27923,686,43,27939\",\",686,18,27914,686,44,27940\",\",94,0,2450,692,3,28134\",\",95,2,2469,95,23,2490\",\",96,2,2493,155,7,5255\",\",156,2,5258,239,7,9334\",\",240,2,9337,295,7,11904\",\",296,2,11907,330,7,13179\",\",331,2,13182,365,7,14532\",\",366,2,14535,402,8,15826\",\",403,2,15829,436,8,17062\",\",437,2,17065,484,8,19214\",\",485,2,19217,532,7,21156\",\",533,2,21159,574,7,22734\",\",575,2,22737,620,7,24532\",\",623,2,24638,633,7,25210\",\",634,2,25213,658,7,26503\",\",659,2,26506,687,7,27950\",\",695,23,28233,695,27,28237\",\",697,22,28312,697,26,28316\",\",697,21,28311,697,48,28338\",\",699,25,28370,699,29,28374\",\",701,24,28437,701,28,28441\",\",701,23,28436,701,50,28463\",\",705,23,28555,705,40,28572\",\",705,53,28585,705,59,28591\",\",705,11,28543,705,64,28596\",\",706,9,28606,706,28,28625\",\",706,59,28656,706,63,28660\",\",706,42,28639,706,74,28671\",\",706,31,28628,706,75,28672\",\",708,25,28710,708,43,28728\",\",708,57,28742,708,64,28749\",\",708,13,28698,708,69,28754\",\",709,11,28766,709,30,28785\",\",709,61,28816,709,65,28820\",\",709,44,28799,709,77,28832\",\",709,33,28788,709,78,28833\",\",711,42,28890,711,46,28894\",\",711,48,28896,711,52,28900\",\",711,32,28880,711,53,28901\",\",711,16,28864,711,58,28906\",\",712,13,28920,712,33,28940\",\",712,63,28970,712,68,28975\",\",712,46,28953,712,84,28991\",\",712,35,28942,712,85,28992\",\",713,16,29009,713,21,29014\",\",721,23,29163,721,40,29180\",\",721,53,29193,721,59,29199\",\",721,11,29151,721,64,29204\",\",722,9,29214,722,28,29233\",\",722,59,29264,722,63,29268\",\",722,42,29247,722,74,29279\",\",722,31,29236,722,75,29280\",\",724,25,29318,724,43,29336\",\",724,57,29350,724,64,29357\",\",724,13,29306,724,69,29362\",\",725,11,29374,725,30,29393\",\",725,61,29424,725,65,29428\",\",725,44,29407,725,77,29440\",\",725,33,29396,725,78,29441\",\",727,27,29483,727,45,29501\",\",727,59,29515,727,66,29522\",\",727,15,29471,727,71,29527\",\",728,13,29541,728,32,29560\",\",728,63,29591,728,67,29595\",\",728,46,29574,728,78,29606\",\",728,35,29563,728,79,29607\",\",730,44,29668,730,48,29672\",\",730,50,29674,730,54,29678\",\",730,56,29680,730,60,29684\",\",730,34,29658,730,61,29685\",\",730,18,29642,730,66,29690\",\",731,15,29706,731,35,29726\",\",731,65,29756,731,70,29761\",\",731,48,29739,731,86,29777\",\",731,37,29728,731,87,29778\",\",732,18,29797,732,23,29802\",\",741,17,29954,741,29,29966\",\",741,6,29943,741,30,29967\",\",743,17,29995,743,29,30007\",\",743,6,29984,743,30,30008\",\",746,43,30066,746,47,30070\",\",749,25,30157,749,56,30188\",\",749,24,30156,749,57,30189\",\",752,10,30289,752,25,30304\",\",753,28,30333,753,33,30338\",\",753,19,30324,753,34,30339\",\",755,61,30440,755,67,30446\",\",755,69,30448,755,79,30458\",\",755,81,30460,755,96,30475\",\",755,42,30421,755,120,30499\",\",755,25,30404,755,121,30500\",\",756,64,30565,756,70,30571\",\",756,72,30573,756,82,30583\",\",756,84,30585,756,99,30600\",\",756,118,30619,756,127,30628\",\",756,45,30546,756,128,30629\",\",756,28,30529,756,129,30630\",\",754,10,30350,757,13,30644\",\",750,8,30205,759,11,30700\",\",763,10,30781,763,31,30802\",\",764,19,30852,764,40,30873\",\",766,44,30958,766,109,31023\",\",766,33,30947,766,110,31024\",\",767,44,31069,767,99,31124\",\",767,33,31058,767,100,31125\",\",768,44,31170,768,56,31182\",\",768,33,31159,768,57,31183\",\",765,8,30882,769,11,31195\",\",763,6,30777,770,9,31205\",\",774,10,31303,774,37,31330\",\",775,19,31395,775,40,31416\",\",777,44,31501,777,110,31567\",\",777,33,31490,777,111,31568\",\",778,44,31613,778,100,31669\",\",778,33,31602,778,101,31670\",\",780,23,31715,780,44,31736\",\",782,48,31829,782,113,31894\",\",782,37,31818,782,114,31895\",\",783,48,31944,783,103,31999\",\",783,37,31933,783,104,32000\",\",784,48,32049,784,60,32061\",\",784,37,32038,784,61,32062\",\",781,12,31749,785,15,32078\",\",776,8,31425,786,11,32090\",\",774,6,31299,787,9,32100\",\",791,10,32193,791,31,32214\",\",792,19,32264,792,50,32295\",\",792,19,32264,792,58,32303\",\",794,44,32388,794,109,32453\",\",794,33,32377,794,110,32454\",\",795,44,32499,795,99,32554\",\",795,33,32488,795,100,32555\",\",796,44,32600,796,56,32612\",\",796,33,32589,796,57,32613\",\",793,8,32312,797,11,32625\",\",791,6,32189,798,9,32635\",\",802,10,32741,802,37,32768\",\",804,19,32857,804,44,32882\",\",804,19,32857,804,52,32890\",\",806,44,33023,806,110,33089\",\",806,33,33012,806,111,33090\",\",807,44,33135,807,100,33191\",\",807,33,33124,807,101,33192\",\",809,23,33237,809,48,33262\",\",809,23,33237,809,56,33270\",\",811,48,33363,811,113,33428\",\",811,37,33352,811,114,33429\",\",812,48,33478,812,103,33533\",\",812,37,33467,812,104,33534\",\",813,48,33583,813,60,33595\",\",813,37,33572,813,61,33596\",\",810,12,33283,814,15,33612\",\",805,8,32947,815,11,33624\",\",802,6,32737,816,9,33634\",\",820,10,33723,820,31,33744\",\",821,19,33794,821,40,33815\",\",823,44,33900,823,109,33965\",\",823,33,33889,823,110,33966\",\",824,44,34011,824,103,34070\",\",824,33,34000,824,104,34071\",\",825,44,34116,825,56,34128\",\",825,33,34105,825,57,34129\",\",822,8,33824,826,11,34141\",\",820,6,33719,827,9,34151\",\",831,10,34253,831,37,34280\",\",832,19,34345,832,40,34366\",\",834,45,34489,834,111,34555\",\",834,34,34478,834,112,34556\",\",835,44,34601,835,104,34661\",\",835,33,34590,835,105,34662\",\",837,23,34719,837,44,34740\",\",839,48,34833,839,113,34898\",\",839,37,34822,839,114,34899\",\",840,48,34948,840,107,35007\",\",840,37,34937,840,108,35008\",\",841,48,35057,841,60,35069\",\",841,37,35046,841,61,35070\",\",838,12,34753,842,15,35086\",\",833,8,34412,843,11,35098\",\",831,6,34249,844,9,35108\",\",848,10,35216,848,31,35237\",\",849,45,35313,849,63,35331\",\",849,29,35297,849,68,35336\",\",851,20,35384,851,35,35399\",\",852,15,35415,852,41,35441\",\",852,45,35445,852,73,35473\",\",852,86,35486,852,120,35520\",\",852,75,35475,852,121,35521\",\",853,29,35551,853,65,35587\",\",853,18,35540,853,66,35588\",\",857,16,35671,857,39,35694\",\",857,61,35716,857,129,35784\",\",857,50,35705,857,130,35785\",\",858,17,35803,858,37,35823\",\",859,19,35844,859,43,35868\",\",859,84,35909,859,100,35925\",\",859,61,35886,859,128,35953\",\",859,50,35875,859,129,35954\",\",860,20,35975,860,43,35998\",\",861,21,36020,861,42,36041\",\",860,16,35971,861,43,36042\",\",861,61,36060,861,135,36134\",\",861,50,36049,861,136,36135\",\",862,61,36197,862,73,36209\",\",862,50,36186,862,74,36210\",\",849,8,35276,864,11,36238\",\",848,6,35212,865,9,36248\",\",869,10,36369,869,37,36396\",\",870,45,36487,870,63,36505\",\",870,29,36471,870,68,36510\",\",872,20,36593,872,35,36608\",\",873,15,36624,873,41,36650\",\",873,45,36654,873,73,36682\",\",873,86,36695,873,120,36729\",\",873,75,36684,873,121,36730\",\",874,29,36760,874,65,36796\",\",874,18,36749,874,66,36797\",\",878,16,36881,878,40,36905\",\",878,62,36927,878,132,36997\",\",878,51,36916,878,133,36998\",\",879,17,37016,879,38,37037\",\",880,19,37058,880,44,37083\",\",880,85,37124,880,101,37140\",\",880,62,37101,880,130,37169\",\",880,51,37090,880,131,37170\",\",881,20,37191,881,44,37215\",\",882,21,37237,882,43,37259\",\",881,16,37187,882,44,37260\",\",882,62,37278,882,138,37354\",\",882,51,37267,882,139,37355\",\",884,53,37436,884,71,37454\",\",884,37,37420,884,76,37459\",\",886,28,37523,886,43,37538\",\",887,23,37562,887,49,37588\",\",887,53,37592,887,81,37620\",\",887,94,37633,887,128,37667\",\",887,83,37622,887,129,37668\",\",888,37,37706,888,73,37742\",\",888,26,37695,888,74,37743\",\",892,24,37858,892,47,37881\",\",892,69,37903,892,137,37971\",\",892,58,37892,892,138,37972\",\",893,25,37998,893,45,38018\",\",894,27,38047,894,51,38071\",\",894,92,38112,894,108,38128\",\",894,69,38089,894,136,38156\",\",894,58,38078,894,137,38157\",\",895,28,38186,895,51,38209\",\",896,29,38239,896,50,38260\",\",895,24,38182,896,51,38261\",\",896,69,38279,896,143,38353\",\",896,58,38268,896,144,38354\",\",897,69,38424,897,81,38436\",\",897,58,38413,897,82,38437\",\",884,16,37399,899,19,38481\",\",870,8,36450,901,11,38509\",\",869,6,36365,902,9,38519\",\",906,10,38631,906,31,38652\",\",907,45,38728,907,63,38746\",\",907,29,38712,907,68,38751\",\",909,20,38799,909,35,38814\",\",910,15,38830,910,41,38856\",\",910,45,38860,910,73,38888\",\",910,86,38901,910,120,38935\",\",910,75,38890,910,121,38936\",\",911,29,38966,911,65,39002\",\",911,18,38955,911,66,39003\",\",915,16,39086,915,39,39109\",\",915,64,39134,915,132,39202\",\",915,53,39123,915,133,39203\",\",916,17,39221,916,36,39240\",\",917,19,39261,917,40,39282\",\",917,91,39333,917,107,39349\",\",917,64,39306,917,135,39377\",\",917,53,39295,917,136,39378\",\",918,20,39399,918,43,39422\",\",919,21,39444,919,45,39468\",\",918,16,39395,919,46,39469\",\",919,64,39487,919,138,39561\",\",919,53,39476,919,139,39562\",\",920,64,39627,920,76,39639\",\",920,53,39616,920,77,39640\",\",907,8,38691,922,11,39668\",\",906,6,38627,923,9,39678\",\",927,10,39803,927,37,39830\",\",928,45,39921,928,63,39939\",\",928,29,39905,928,68,39944\",\",930,20,40027,930,35,40042\",\",931,15,40058,931,41,40084\",\",931,45,40088,931,73,40116\",\",931,86,40129,931,120,40163\",\",931,75,40118,931,121,40164\",\",932,29,40194,932,65,40230\",\",932,18,40183,932,66,40231\",\",936,16,40315,936,40,40339\",\",936,65,40364,936,135,40434\",\",936,54,40353,936,136,40435\",\",937,17,40453,937,37,40473\",\",938,19,40494,938,41,40516\",\",938,92,40567,938,108,40583\",\",938,65,40540,938,137,40612\",\",938,54,40529,938,138,40613\",\",939,20,40634,939,44,40658\",\",940,21,40680,940,46,40705\",\",939,16,40630,940,47,40706\",\",940,65,40724,940,141,40800\",\",940,54,40713,940,142,40801\",\",942,53,40882,942,71,40900\",\",942,37,40866,942,76,40905\",\",944,28,40969,944,43,40984\",\",945,23,41008,945,49,41034\",\",945,53,41038,945,81,41066\",\",945,94,41079,945,128,41113\",\",945,83,41068,945,129,41114\",\",946,37,41152,946,73,41188\",\",946,26,41141,946,74,41189\",\",950,24,41304,950,47,41327\",\",950,72,41352,950,140,41420\",\",950,61,41341,950,141,41421\",\",951,25,41447,951,44,41466\",\",952,27,41495,952,48,41516\",\",952,99,41567,952,115,41583\",\",952,72,41540,952,143,41611\",\",952,61,41529,952,144,41612\",\",953,28,41641,953,51,41664\",\",954,29,41694,954,53,41718\",\",953,24,41637,954,54,41719\",\",954,72,41737,954,146,41811\",\",954,61,41726,954,147,41812\",\",955,72,41885,955,84,41897\",\",955,61,41874,955,85,41898\",\",942,16,40845,957,19,41942\",\",928,8,39884,959,11,41970\",\",927,6,39799,960,9,41980\",\",964,10,42079,964,31,42100\",\",965,45,42175,965,51,42181\",\",965,29,42159,965,56,42186\",\",967,20,42234,967,35,42249\",\",968,15,42265,968,41,42291\",\",968,45,42295,968,73,42323\",\",968,86,42336,968,112,42362\",\",968,75,42325,968,113,42363\",\",969,29,42393,969,60,42424\",\",969,18,42382,969,61,42425\",\",973,20,42512,973,43,42535\",\",973,16,42508,973,44,42536\",\",973,62,42554,973,119,42611\",\",973,51,42543,973,120,42612\",\",974,16,42629,974,32,42645\",\",974,62,42675,974,105,42718\",\",974,51,42664,974,106,42719\",\",975,62,42782,975,74,42794\",\",975,51,42771,975,75,42795\",\",965,8,42138,977,11,42823\",\",964,6,42075,978,9,42833\",\",982,10,42945,982,37,42972\",\",983,45,43062,983,51,43068\",\",983,29,43046,983,56,43073\",\",985,20,43121,985,35,43136\",\",986,15,43152,986,41,43178\",\",986,45,43182,986,73,43210\",\",986,86,43223,986,112,43249\",\",986,75,43212,986,113,43250\",\",987,29,43280,987,60,43311\",\",987,18,43269,987,61,43312\",\",991,20,43400,991,44,43424\",\",991,16,43396,991,45,43425\",\",991,63,43443,991,122,43502\",\",991,52,43432,991,123,43503\",\",992,16,43520,992,33,43537\",\",992,63,43567,992,107,43611\",\",992,52,43556,992,108,43612\",\",994,53,43693,994,59,43699\",\",994,37,43677,994,64,43704\",\",996,28,43768,996,43,43783\",\",997,23,43807,997,49,43833\",\",997,53,43837,997,81,43865\",\",997,94,43878,997,120,43904\",\",997,83,43867,997,121,43905\",\",998,37,43943,998,68,43974\",\",998,26,43932,998,69,43975\",\",1002,28,44094,1002,51,44117\",\",1002,24,44090,1002,52,44118\",\",1002,70,44136,1002,127,44193\",\",1002,59,44125,1002,128,44194\",\",1003,24,44219,1003,40,44235\",\",1003,70,44265,1003,113,44308\",\",1003,59,44254,1003,114,44309\",\",1004,70,44380,1004,82,44392\",\",1004,59,44369,1004,83,44393\",\",994,16,43656,1006,19,44437\",\",983,8,43025,1008,11,44465\",\",982,6,42941,1009,9,44475\",\",1013,10,44578,1013,31,44599\",\",1014,45,44674,1014,51,44680\",\",1014,29,44658,1014,56,44685\",\",1016,20,44733,1016,35,44748\",\",1017,15,44764,1017,41,44790\",\",1017,45,44794,1017,73,44822\",\",1017,86,44835,1017,112,44861\",\",1017,75,44824,1017,113,44862\",\",1018,29,44892,1018,60,44923\",\",1018,18,44881,1018,61,44924\",\",1022,20,45011,1022,43,45034\",\",1022,16,45007,1022,44,45035\",\",1022,62,45053,1022,119,45110\",\",1022,51,45042,1022,120,45111\",\",1023,62,45174,1023,108,45220\",\",1023,51,45163,1023,109,45221\",\",1024,62,45284,1024,74,45296\",\",1024,51,45273,1024,75,45297\",\",1014,8,44637,1026,11,45325\",\",1013,6,44574,1027,9,45335\",\",1031,10,45451,1031,37,45478\",\",1032,45,45568,1032,51,45574\",\",1032,29,45552,1032,56,45579\",\",1034,20,45627,1034,35,45642\",\",1035,15,45658,1035,41,45684\",\",1035,45,45688,1035,73,45716\",\",1035,86,45729,1035,112,45755\",\",1035,75,45718,1035,113,45756\",\",1036,29,45786,1036,60,45817\",\",1036,18,45775,1036,61,45818\",\",1040,20,45906,1040,44,45930\",\",1040,16,45902,1040,45,45931\",\",1040,63,45949,1040,122,46008\",\",1040,52,45938,1040,123,46009\",\",1041,63,46073,1041,110,46120\",\",1041,52,46062,1041,111,46121\",\",1043,53,46202,1043,59,46208\",\",1043,37,46186,1043,64,46213\",\",1045,28,46277,1045,43,46292\",\",1046,23,46316,1046,49,46342\",\",1046,53,46346,1046,81,46374\",\",1046,94,46387,1046,120,46413\",\",1046,83,46376,1046,121,46414\",\",1047,37,46452,1047,68,46483\",\",1047,26,46441,1047,69,46484\",\",1051,28,46603,1051,51,46626\",\",1051,24,46599,1051,52,46627\",\",1051,70,46645,1051,127,46702\",\",1051,59,46634,1051,128,46703\",\",1052,70,46774,1052,116,46820\",\",1052,59,46763,1052,117,46821\",\",1053,70,46892,1053,82,46904\",\",1053,59,46881,1053,83,46905\",\",1043,16,46165,1055,19,46949\",\",1032,8,45531,1057,11,46977\",\",1031,6,45447,1058,9,46987\",\",1064,8,47137,1064,18,47147\",\",1065,15,47164,1065,53,47202\",\",1063,6,47113,1065,58,47207\",\",1071,12,47365,1071,22,47375\",\",1071,8,47361,1071,23,47376\",\",1072,15,47393,1072,56,47434\",\",1070,6,47337,1072,61,47439\",\",1076,15,47536,1076,30,47551\",\",1078,52,47639,1078,61,47648\",\",1078,32,47619,1078,77,47664\",\",1078,21,47608,1078,78,47665\",\",1080,40,47729,1080,54,47743\",\",1080,33,47722,1080,55,47744\",\",1080,17,47706,1080,61,47750\",\",1080,13,47702,1080,62,47751\",\",1081,23,47776,1081,63,47816\",\",1081,12,47765,1081,64,47817\",\",1083,23,47857,1083,35,47869\",\",1083,12,47846,1083,36,47870\",\",1077,6,47558,1085,9,47894\",\",1089,21,48010,1089,36,48025\",\",1091,52,48119,1091,61,48128\",\",1091,32,48099,1091,78,48145\",\",1091,21,48088,1091,79,48146\",\",1093,40,48210,1093,54,48224\",\",1093,33,48203,1093,55,48225\",\",1093,17,48187,1093,61,48231\",\",1093,13,48183,1093,62,48232\",\",1094,23,48257,1094,64,48298\",\",1094,12,48246,1094,65,48299\",\",1096,21,48337,1096,36,48352\",\",1098,58,48452,1098,67,48461\",\",1098,38,48432,1098,83,48477\",\",1098,27,48421,1098,84,48478\",\",1100,46,48554,1100,60,48568\",\",1100,39,48547,1100,61,48569\",\",1100,23,48531,1100,67,48575\",\",1100,19,48527,1100,68,48576\",\",1101,29,48607,1101,69,48647\",\",1101,18,48596,1101,70,48648\",\",1103,29,48700,1103,41,48712\",\",1103,18,48689,1103,42,48713\",\",1097,12,48365,1105,15,48749\",\",1090,6,48032,1107,9,48773\",\",1111,15,48876,1111,30,48891\",\",1113,52,48979,1113,61,48988\",\",1113,32,48959,1113,78,49005\",\",1113,21,48948,1113,79,49006\",\",1115,36,49066,1115,50,49080\",\",1115,29,49059,1115,51,49081\",\",1115,13,49043,1115,57,49087\",\",1116,23,49112,1116,63,49152\",\",1116,12,49101,1116,64,49153\",\",1118,23,49193,1118,35,49205\",\",1118,12,49182,1118,36,49206\",\",1112,6,48898,1120,9,49230\",\",1124,21,49352,1124,36,49367\",\",1126,52,49461,1126,61,49470\",\",1126,32,49441,1126,79,49488\",\",1126,21,49430,1126,80,49489\",\",1128,36,49549,1128,50,49563\",\",1128,29,49542,1128,51,49564\",\",1128,13,49526,1128,57,49570\",\",1129,23,49595,1129,64,49636\",\",1129,12,49584,1129,65,49637\",\",1131,21,49675,1131,36,49690\",\",1133,58,49790,1133,67,49799\",\",1133,38,49770,1133,84,49816\",\",1133,27,49759,1133,85,49817\",\",1135,42,49889,1135,56,49903\",\",1135,35,49882,1135,57,49904\",\",1135,19,49866,1135,63,49910\",\",1136,29,49941,1136,69,49981\",\",1136,18,49930,1136,70,49982\",\",1138,29,50034,1138,41,50046\",\",1138,18,50023,1138,42,50047\",\",1132,12,49703,1140,15,50083\",\",1125,6,49374,1142,9,50107\",\",1146,27,50211,1146,42,50226\",\",1147,35,50263,1147,65,50293\",\",1147,24,50252,1147,66,50294\",\",1148,35,50330,1148,47,50342\",\",1148,24,50319,1148,48,50343\",\",1146,6,50190,1149,9,50353\",\",1153,27,50470,1153,42,50485\",\",1154,35,50522,1154,66,50553\",\",1154,24,50511,1154,67,50554\",\",1156,31,50611,1156,46,50626\",\",1157,39,50667,1157,69,50697\",\",1157,28,50656,1157,70,50698\",\",1158,39,50738,1158,51,50750\",\",1158,28,50727,1158,52,50751\",\",1156,10,50590,1159,13,50765\",\",1153,6,50449,1160,9,50775\",\",1165,29,50911,1165,44,50926\",\",1166,26,50954,1166,66,50994\",\",1169,37,51080,1169,52,51095\",\",1169,17,51060,1169,53,51096\",\",1170,16,51114,1170,31,51129\",\",1170,16,51114,1170,37,51135\",\",1172,16,51172,1172,31,51187\",\",1174,49,51255,1174,62,51268\",\",1174,33,51239,1174,67,51273\",\",1176,24,51336,1176,39,51351\",\",1177,19,51371,1177,45,51397\",\",1177,49,51401,1177,77,51429\",\",1177,79,51431,1177,107,51459\",\",1178,22,51482,1178,53,51513\",\",1182,24,51616,1182,47,51639\",\",1182,20,51612,1182,48,51640\",\",1182,55,51647,1182,119,51711\",\",1183,20,51732,1183,36,51748\",\",1183,43,51755,1183,95,51807\",\",1184,31,51839,1184,43,51851\",\",1174,12,51218,1186,15,51887\",\",1165,8,50890,1187,11,51899\",\",1164,6,50870,1187,12,51900\",\",1192,29,52049,1192,44,52064\",\",1193,26,52092,1193,67,52133\",\",1196,37,52225,1196,52,52240\",\",1196,17,52205,1196,53,52241\",\",1197,16,52259,1197,31,52274\",\",1197,16,52259,1197,37,52280\",\",1199,16,52317,1199,31,52332\",\",1201,49,52400,1201,68,52419\",\",1201,33,52384,1201,73,52424\",\",1203,24,52487,1203,39,52502\",\",1204,19,52522,1204,45,52548\",\",1204,49,52552,1204,77,52580\",\",1204,79,52582,1204,107,52610\",\",1205,22,52633,1205,53,52664\",\",1209,24,52773,1209,53,52802\",\",1209,20,52769,1209,54,52803\",\",1209,61,52810,1209,138,52887\",\",1210,20,52908,1210,42,52930\",\",1210,49,52937,1210,102,52990\",\",1212,41,53063,1212,56,53078\",\",1213,38,53118,1213,78,53158\",\",1216,49,53294,1216,64,53309\",\",1216,29,53274,1216,65,53310\",\",1217,28,53340,1217,43,53355\",\",1217,28,53340,1217,49,53361\",\",1219,28,53422,1219,43,53437\",\",1221,61,53529,1221,80,53548\",\",1221,45,53513,1221,85,53553\",\",1223,36,53640,1223,51,53655\",\",1224,31,53687,1224,57,53713\",\",1224,61,53717,1224,89,53745\",\",1224,91,53747,1224,119,53775\",\",1225,34,53810,1225,65,53841\",\",1229,36,53998,1229,65,54027\",\",1229,32,53994,1229,66,54028\",\",1229,73,54035,1229,149,54111\",\",1230,32,54144,1230,54,54166\",\",1230,61,54173,1230,113,54225\",\",1231,43,54269,1231,55,54281\",\",1221,24,53492,1233,27,54341\",\",1212,20,53042,1234,23,54365\",\",1201,12,52363,1236,15,54401\",\",1192,8,52028,1237,11,54413\",\",1191,6,52008,1237,12,54414\",\",1242,29,54549,1242,44,54564\",\",1243,26,54592,1243,66,54632\",\",1246,37,54718,1246,52,54733\",\",1246,17,54698,1246,53,54734\",\",1247,16,54752,1247,31,54767\",\",1247,16,54752,1247,37,54773\",\",1249,16,54810,1249,31,54825\",\",1251,49,54893,1251,62,54906\",\",1251,33,54877,1251,67,54911\",\",1253,24,54974,1253,39,54989\",\",1254,19,55009,1254,45,55035\",\",1254,49,55039,1254,77,55067\",\",1254,79,55069,1254,107,55097\",\",1255,22,55120,1255,53,55151\",\",1259,24,55254,1259,47,55277\",\",1259,20,55250,1259,48,55278\",\",1259,55,55285,1259,119,55349\",\",1260,38,55388,1260,93,55443\",\",1261,31,55475,1261,43,55487\",\",1251,12,54856,1263,15,55523\",\",1242,8,54528,1264,11,55535\",\",1241,6,54508,1264,12,55536\",\",1269,29,55684,1269,44,55699\",\",1270,26,55727,1270,67,55768\",\",1273,37,55860,1273,52,55875\",\",1273,17,55840,1273,53,55876\",\",1274,16,55894,1274,31,55909\",\",1274,16,55894,1274,37,55915\",\",1276,16,55952,1276,31,55967\",\",1278,49,56035,1278,68,56054\",\",1278,33,56019,1278,73,56059\",\",1280,24,56122,1280,39,56137\",\",1281,19,56157,1281,45,56183\",\",1281,49,56187,1281,77,56215\",\",1281,79,56217,1281,107,56245\",\",1282,22,56268,1282,53,56299\",\",1286,24,56408,1286,53,56437\",\",1286,20,56404,1286,54,56438\",\",1286,61,56445,1286,138,56522\",\",1287,44,56567,1287,100,56623\",\",1289,41,56696,1289,56,56711\",\",1290,38,56751,1290,78,56791\",\",1293,49,56926,1293,64,56941\",\",1293,29,56906,1293,65,56942\",\",1294,28,56972,1294,43,56987\",\",1294,28,56972,1294,49,56993\",\",1296,28,57054,1296,43,57069\",\",1298,61,57161,1298,80,57180\",\",1298,45,57145,1298,85,57185\",\",1300,36,57272,1300,51,57287\",\",1301,31,57319,1301,57,57345\",\",1301,61,57349,1301,89,57377\",\",1301,91,57379,1301,119,57407\",\",1302,34,57442,1302,65,57473\",\",1306,36,57630,1306,65,57659\",\",1306,32,57626,1306,66,57660\",\",1306,73,57667,1306,149,57743\",\",1307,56,57800,1307,111,57855\",\",1308,43,57899,1308,55,57911\",\",1298,24,57124,1310,27,57971\",\",1289,20,56675,1311,23,57995\",\",1278,12,55998,1313,15,58031\",\",1269,8,55663,1314,11,58043\",\",1268,6,55643,1314,12,58044\",\",1318,6,58100,1318,36,58130\",\",1324,6,58226,1324,41,58261\",\",1344,21,58877,1344,30,58886\",\",1344,21,58877,1344,39,58895\",\",1344,42,58898,1344,59,58915\",\",1344,21,58877,1344,59,58915\",\",1344,21,58877,1344,68,58924\",\",1345,20,58946,1345,28,58954\",\",1345,20,58946,1345,32,58958\",\",1346,19,58979,1346,26,58986\",\",1346,19,58979,1346,30,58990\",\",1349,18,59039,1349,44,59065\",\",1350,14,59080,1350,23,59089\",\",1350,14,59080,1350,32,59098\",\",1350,35,59101,1350,41,59107\",\",1350,35,59101,1350,55,59121\",\",1350,14,59080,1350,55,59121\",\",1350,14,59080,1350,84,59150\",\",1351,36,59187,1351,54,59205\",\",1351,14,59165,1351,70,59221\",\",1350,14,59080,1351,70,59221\",\",1354,20,59280,1354,28,59288\",\",1354,20,59280,1354,32,59292\",\",1355,19,59313,1355,26,59320\",\",1355,19,59313,1355,30,59324\",\",1341,50,58770,1341,65,58785\",\",1341,50,58770,1341,75,58795\",\",1341,20,58740,1358,7,59354\",\",1359,20,59375,1359,36,59391\",\",1360,35,59457,1360,47,59469\",\",1363,16,59527,1363,30,59541\",\",1364,8,59550,1364,27,59569\",\",1364,8,59550,1364,104,59646\",\",1365,34,59681,1365,49,59696\",\",1365,34,59681,1365,65,59712\",\",1365,12,59659,1365,81,59728\",\",1364,8,59550,1365,81,59728\",\",1366,48,59777,1366,66,59795\",\",1366,34,59763,1366,67,59796\",\",1366,12,59741,1366,83,59812\",\",1364,8,59550,1366,83,59812\",\",1364,8,59550,1367,18,59831\",\",1360,21,59443,1368,7,59839\",\",1369,14,59854,1369,29,59869\",\",1369,14,59854,1369,38,59878\",\",1369,41,59881,1369,47,59887\",\",1369,41,59881,1369,60,59900\",\",1369,14,59854,1369,60,59900\",\",1369,14,59854,1369,67,59907\",\",1369,70,59910,1369,77,59917\",\",1369,14,59854,1369,77,59917\",\",1369,14,59854,1369,84,59924\",\",1369,96,59936,1369,116,59956\",\",1369,87,59927,1369,117,59957\",\",1369,14,59854,1369,117,59957\",\",1369,14,59854,1369,123,59963\",\",1369,135,59975,1369,154,59994\",\",1369,126,59966,1369,155,59995\",\",1369,14,59854,1369,155,59995\",\",1369,14,59854,1369,164,60004\",\",1370,30,60035,1370,54,60059\",\",1372,9,60091,1372,29,60111\",\",1372,9,60091,1372,34,60116\",\",1373,12,60133,1373,33,60154\",\",1376,15,60186,1376,56,60227\",\",1377,15,60244,1377,30,60259\",\",1377,44,60273,1377,56,60285\",\",1377,36,60265,1377,57,60286\",\",1377,15,60244,1377,72,60301\",\",1378,14,60317,1378,28,60331\",\",1378,31,60334,1378,51,60354\",\",1378,14,60317,1378,51,60354\",\",1379,14,60370,1379,28,60384\",\",1379,31,60387,1379,51,60407\",\",1379,14,60370,1379,51,60407\",\",1380,13,60422,1380,26,60435\",\",1380,29,60438,1380,48,60457\",\",1380,13,60422,1380,48,60457\",\",1340,57,58694,1340,80,58717\",\",1340,21,58658,1382,5,60469\",\",1383,6,60476,1383,28,60498\",\",1383,6,60476,1383,33,60503\",\",1383,40,60510,1383,64,60534\",\",1383,40,60510,1383,69,60539\",\",1383,39,60509,1383,70,60540\",\",1385,11,60624,1385,34,60647\",\",1385,11,60624,1385,39,60652\",\",1385,46,60659,1385,70,60683\",\",1385,46,60659,1385,75,60688\",\",1385,45,60658,1385,76,60689\",\",1386,19,60710,1386,42,60733\",\",1386,19,60710,1386,47,60738\",\",1389,43,60846,1389,66,60869\",\",1389,34,60837,1389,67,60870\",\",1389,8,60811,1389,67,60870\",\",1389,8,60811,1389,92,60895\",\",1395,15,61004,1395,24,61013\",\",1395,15,61004,1395,41,61030\",\",1395,53,61042,1395,61,61050\",\",1395,44,61033,1395,62,61051\",\",1395,15,61004,1395,62,61051\",\",1395,15,61004,1395,77,61066\",\",1395,89,61078,1395,97,61086\",\",1395,80,61069,1395,98,61087\",\",1395,15,61004,1395,98,61087\",\",1395,15,61004,1395,121,61110\",\",1395,133,61122,1395,142,61131\",\",1395,124,61113,1395,143,61132\",\",1395,15,61004,1395,143,61132\",\",1395,15,61004,1395,157,61146\",\",1395,169,61158,1395,176,61165\",\",1395,160,61149,1395,177,61166\",\",1395,15,61004,1395,177,61166\",\",1395,15,61004,1395,184,61173\",\",1401,2,61234,1401,53,61285\",\",1401,2,61234,1401,61,61293\",\",1405,2,61385,1405,43,61426\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAiC0CqC,2BAjC1CrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAoC0CsC,4BApC1CtC;AAAAA;AAAAA;AAAAA,UAoC0CuC,+BApC1CvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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BM00B,yCA3qBN10B;AAAAA;AA2qBM00B,mDA3qBN10B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBA6FDg1B,2CA7FCh1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8FCi1B,2CA9FDj1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8FCi1B,wCA9FDj1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+FCk1B,qDA/FDl1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+FCk1B,kDA/FDl1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA2JCm1B,2DA3JDn1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA2JCm1B,wDA3JDn1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OCo1B,yDA/ODp1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA+OCo1B,sDA/ODp1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAuSCq1B,yDAvSDr1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAuSCq1B,sDAvSDr1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA0UCs1B,4DA1UDt1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA0UCs1B,yDA1UDt1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA6WCu1B,qDA7WDv1B;AAAAA;AAAAA;AAAAA;AAAAA,qBA6WCu1B,kDA7WDv1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkZCw1B,qDAlZDx1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkZCw1B,kDAlZDx1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAobCy1B,+CApbDz1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAobCy1B,4CApbDz1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAoeC01B,kDApeD11B;AAAAA;AAAAA;AAAAA;AAAAA,qBAoeC01B,+CApeD11B;AAAAA;AAAAA;AAAAA;AAAAA,qBAohBC21B,+DAphBD31B;AAAAA;AAAAA;AAAAA;AAAAA,qBAohBC21B,4DAphBD31B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8jBC41B,kEA9jBD51B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8jBC41B,+DA9jBD51B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8mBC61B,qDA9mBD71B;AAAAA;AAAAA;AAAAA;AAAAA,qBA8mBC61B,kDA9mBD71B;AAAAA;AAAAA;AAAAA;AAAAA,qBAynBC81B,kDAznBD91B;AAAAA;AAAAA;AAAAA;AAAAA,qBAynBC81B,+CAznBD91B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkpBC+1B,0DAlpBD/1B;AAAAA;AAAAA;AAAAA;AAAAA,qBAkpBC+1B,uDAlpBD/1B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAsrBsBg2B,uDAtrBtBh2B;AAAAA;AAAAA;AAAAA;AAAAA;AAsrBsBg2B,yCAtrBtBh2B;AAAAA;AAsrBsBg2B,4BAtrBtBh2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAwrBqBi2B,uDAxrBrBj2B;AAAAA;AAAAA;AAAAA;AAAAA;AAwrBqBi2B,yCAxrBrBj2B;AAAAA;AAwrBqBi2B,mCAxrBrBj2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrBoBk2B,8CAxrBpBl2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0rBwBm2B,uDA1rBxBn2B;AAAAA;AAAAA;AAAAA;AAAAA;AA0rBwBm2B,yCA1rBxBn2B;AAAAA;AA0rBwBm2B,4BA1rBxBn2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4rBuBo2B,uDA5rBvBp2B;AAAAA;AAAAA;AAAAA;AAAAA;AA4rBuBo2B,yCA5rBvBp2B;AAAAA;AA4rBuBo2B,iCA5rBvBp2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4rBsBq2B,8CA5rBtBr2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsBsBs2B,qCAhsBtBt2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgsBoDu2B,uBAhsBpDv2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsBUw2B,uCAhsBVx2B;AAAAA;AAgsBUw2B,qCAhsBVx2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAisBQy2B,mEAjsBRz2B;AAAAA;AAisBQy2B,4DAjsBRz2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAisB0D02B,qBAjsB1D12B;AAAAA;AAisByC22B,wEAjsBzC32B;AAAAA;AAAAA;AAAAA;AAAAA;AAisB8B42B,+CAjsB9B52B;AAAAA;AAAAA;AAmsBwB62B,sCAnsBxB72B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmsBwD82B,wBAnsBxD92B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmsBY+2B,uCAnsBZ/2B;AAAAA;AAmsBY+2B,qCAnsBZ/2B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosBUg3B,mEApsBVh3B;AAAAA;AAosBUg3B,4DApsBVh3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAosB4Di3B,qBApsB5Dj3B;AAAAA;AAosB2Ck3B,yEApsB3Cl3B;AAAAA;AAAAA;AAAAA;AAAAA;AAosBgCm3B,+CApsBhCn3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAssByCo3B,qBAtsBzCp3B;AAAAA;AAAAA,kBAssB+Cq3B,qBAtsB/Cr3B;AAAAA;AAAAA;AAAAA;AAssB+Bs3B,2CAtsB/Bt3B;AAAAA;AAssB+Bs3B,qDAtsB/Bt3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAssBeu3B,uCAtsBfv3B;AAAAA;AAssBeu3B,qCAtsBfv3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusBYw3B,mEAvsBZx3B;AAAAA;AAusBYw3B,6DAvsBZx3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAusB8Dy3B,sBAvsB9Dz3B;AAAAA;AAusB6C03B,8EAvsB7C13B;AAAAA;AAAAA;AAAAA;AAAAA;AAusBkC23B,+CAvsBlC33B;AAAAA;AAAAA;AAAAA;AAAAA,WAwsBe43B,sBAxsBf53B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgtBsB63B,qCAhtBtB73B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgtBoD83B,uBAhtBpD93B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgtBU+3B,uCAhtBV/3B;AAAAA;AAgtBU+3B,qCAhtBV/3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAitBQg4B,mEAjtBRh4B;AAAAA;AAitBQg4B,4DAjtBRh4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAitB0Di4B,qBAjtB1Dj4B;AAAAA;AAitByCk4B,wEAjtBzCl4B;AAAAA;AAAAA;AAAAA;AAAAA;AAitB8Bm4B,+CAjtB9Bn4B;AAAAA;AAAAA;AAmtBwBo4B,sCAntBxBp4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmtBwDq4B,wBAntBxDr4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmtBYs4B,uCAntBZt4B;AAAAA;AAmtBYs4B,qCAntBZt4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAotBUu4B,mEAptBVv4B;AAAAA;AAotBUu4B,4DAptBVv4B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAotB4Dw4B,qBAptB5Dx4B;AAAAA;AAotB2Cy4B,yEAptB3Cz4B;AAAAA;AAAAA;AAAAA;AAAAA;AAotBgC04B,+CAptBhC14B;AAAAA;AAAAA;AAstB0B24B,sCAttB1B34B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAstB0D44B,wBAttB1D54B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAstBc64B,uCAttBd74B;AAAAA;AAstBc64B,qCAttBd74B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAutBY84B,mEAvtBZ94B;AAAAA;AAutBY84B,4DAvtBZ94B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAutB8D+4B,qBAvtB9D/4B;AAAAA;AAutB6Cg5B,yEAvtB7Ch5B;AAAAA;AAAAA;AAAAA;AAAAA;AAutBkCi5B,+CAvtBlCj5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAytB2Ck5B,qBAztB3Cl5B;AAAAA;AAAAA,kBAytBiDm5B,qBAztBjDn5B;AAAAA;AAAAA,kBAytBuDo5B,qBAztBvDp5B;AAAAA;AAAAA;AAAAA;AAytBiCq5B,2CAztBjCr5B;AAAAA;AAytBiCq5B,iEAztBjCr5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAytBiBs5B,uCAztBjBt5B;AAAAA;AAytBiBs5B,qCAztBjBt5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0tBcu5B,mEA1tBdv5B;AAAAA;AA0tBcu5B,6DA1tBdv5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0tBgEw5B,sBA1tBhEx5B;AAAAA;AA0tB+Cy5B,8EA1tB/Cz5B;AAAAA;AAAAA;AAAAA;AAAAA;AA0tBoC05B,+CA1tBpC15B;AAAAA;AAAAA;AAAAA;AAAAA,WA2tBiB25B,sBA3tBjB35B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAouBgB45B,wCApuBhB55B;AAAAA;AAAAA;AAAAA;AAAAA;AAouBK65B,+CApuBL75B;AAAAA;AAAAA;AAAAA;AAAAA;AAsuBgB85B,4CAtuBhB95B;AAAAA;AAsuBgB85B,+BAtuBhB95B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsuBK+5B,+CAtuBL/5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAyuB0Cg6B,uDAzuB1Ch6B;AAAAA;AAAAA;AAAAA;AAAAA;AAyuB0Cg6B,yCAzuB1Ch6B;AAAAA;AAyuB0Cg6B,4BAzuB1Ch6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4uBwBi6B,2CA5uBxBj6B;AAAAA;AA4uBwBi6B,kEA5uBxBj6B;AAAAA;AAAAA;AA4uBuBk6B,0CA5uBvBl6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+uBSm6B,uCA/uBTn6B;AAAAA;AAAAA;AAAAA,kBAgvB2Bo6B,sBAhvB3Bp6B;AAAAA;AAAAA;AAAAA;AAgvBkBq6B,uCAhvBlBr6B;AAAAA;AAgvBkBq6B,qCAhvBlBr6B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAkvB4Ds6B,uBAlvB5Dt6B;AAAAA;AAAAA,kBAkvBoEu6B,2BAlvBpEv6B;AAAAA;AAAAA,kBAkvBgFw6B,gCAlvBhFx6B;AAAAA;AAAAA;AAkvByCy6B,iGAlvBzCz6B;AAAAA;AAAAA;AAAAA;AAAAA;AAkvBwB06B,qDAlvBxB16B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAmvB+D26B,uBAnvB/D36B;AAAAA;AAAAA,kBAmvBuE46B,2BAnvBvE56B;AAAAA;AAAAA,kBAmvBmF66B,gCAnvBnF76B;AAAAA;AAAAA;AAmvBqH86B,8BAnvBrH96B;AAAAA;AAAAA;AAmvB4C+6B,sGAnvB5C/6B;AAAAA;AAAAA;AAAAA;AAAAA;AAmvB2Bg7B,qDAnvB3Bh7B;AAAAA;AAAAA,QAivBSi7B,mDAjvBTj7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6uBOk7B,4CA7uBPl7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBSm7B,iDA1vBTn7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2vBkBo7B,4CA3vBlBp7B;AAAAA;AA2vBkBo7B,4CA3vBlBp7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vB2Cq7B,oHA7vB3Cr7B;AAAAA;AAAAA;AAAAA;AAAAA;AA6vBgCs7B,+CA7vBhCt7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8vB2Cu7B,wGA9vB3Cv7B;AAAAA;AAAAA;AAAAA;AAAAA;AA8vBgCw7B,+CA9vBhCx7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+vB2Cy7B,wCA/vB3Cz7B;AAAAA;AAAAA;AAAAA;AAAAA;AA+vBgC07B,+CA/vBhC17B;AAAAA;AAAAA,QA4vBO27B,mDA5vBP37B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0vBK47B,yCA1vBL57B;AAAAA;AA0vBK47B,0DA1vBL57B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwBS67B,uDArwBT77B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswBkB87B,4CAtwBlB97B;AAAAA;AAswBkB87B,4CAtwBlB97B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwwB2C+7B,qHAxwB3C/7B;AAAAA;AAAAA;AAAAA;AAAAA;AAwwBgCg8B,+CAxwBhCh8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAywB2Ci8B,yGAzwB3Cj8B;AAAAA;AAAAA;AAAAA;AAAAA;AAywBgCk8B,+CAzwBhCl8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2wBsBm8B,4CA3wBtBn8B;AAAAA;AA2wBsBm8B,4CA3wBtBn8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6wB+Co8B,oHA7wB/Cp8B;AAAAA;AAAAA;AAAAA;AAAAA;AA6wBoCq8B,+CA7wBpCr8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8wB+Cs8B,wGA9wB/Ct8B;AAAAA;AAAAA;AAAAA;AAAAA;AA8wBoCu8B,+CA9wBpCv8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+wB+Cw8B,wCA/wB/Cx8B;AAAAA;AAAAA;AAAAA;AAAAA;AA+wBoCy8B,+CA/wBpCz8B;AAAAA;AAAAA,QA4wBW08B,mDA5wBX18B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAuwBO28B,mDAvwBP38B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwBK48B,yCArwBL58B;AAAAA;AAqwBK48B,oEArwBL58B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsxBS68B,iDAtxBT78B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAuxBkB88B,uFAvxBlB98B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuxBkB+8B,yCAvxBlB/8B;AAAAA;AAuxBkB+8B,yCAvxBlB/8B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxB2Cg9B,oHAzxB3Ch9B;AAAAA;AAAAA;AAAAA;AAAAA;AAyxBgCi9B,+CAzxBhCj9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0xB2Ck9B,wGA1xB3Cl9B;AAAAA;AAAAA;AAAAA;AAAAA;AA0xBgCm9B,+CA1xBhCn9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2xB2Co9B,wCA3xB3Cp9B;AAAAA;AAAAA;AAAAA;AAAAA;AA2xBgCq9B,+CA3xBhCr9B;AAAAA;AAAAA,QAwxBOs9B,mDAxxBPt9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsxBKu9B,yCAtxBLv9B;AAAAA;AAsxBKu9B,0DAtxBLv9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiyBSw9B,uDAjyBTx9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAmyBkBy9B,2DAnyBlBz9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmyBkB09B,yCAnyBlB19B;AAAAA;AAmyBkB09B,yCAnyBlB19B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqyB2C29B,qHAryB3C39B;AAAAA;AAAAA;AAAAA;AAAAA;AAqyBgC49B,+CAryBhC59B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsyB2C69B,yGAtyB3C79B;AAAAA;AAAAA;AAAAA;AAAAA;AAsyBgC89B,+CAtyBhC99B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAwyBsB+9B,2DAxyBtB/9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwyBsBg+B,yCAxyBtBh+B;AAAAA;AAwyBsBg+B,yCAxyBtBh+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0yB+Ci+B,oHA1yB/Cj+B;AAAAA;AAAAA;AAAAA;AAAAA;AA0yBoCk+B,+CA1yBpCl+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2yB+Cm+B,wGA3yB/Cn+B;AAAAA;AAAAA;AAAAA;AAAAA;AA2yBoCo+B,+CA3yBpCp+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4yB+Cq+B,wCA5yB/Cr+B;AAAAA;AAAAA;AAAAA;AAAAA;AA4yBoCs+B,+CA5yBpCt+B;AAAAA;AAAAA,QAyyBWu+B,mDAzyBXv+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAoyBOw+B,mDApyBPx+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiyBKy+B,yCAjyBLz+B;AAAAA;AAiyBKy+B,oEAjyBLz+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmzBS0+B,iDAnzBT1+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAozBkB2+B,4CApzBlB3+B;AAAAA;AAozBkB2+B,4CApzBlB3+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAszB2C4+B,oHAtzB3C5+B;AAAAA;AAAAA;AAAAA;AAAAA;AAszBgC6+B,+CAtzBhC7+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuzB2C8+B,4GAvzB3C9+B;AAAAA;AAAAA;AAAAA;AAAAA;AAuzBgC++B,+CAvzBhC/+B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwzB2Cg/B,wCAxzB3Ch/B;AAAAA;AAAAA;AAAAA;AAAAA;AAwzBgCi/B,+CAxzBhCj/B;AAAAA;AAAAA,QAqzBOk/B,mDArzBPl/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmzBKm/B,yCAnzBLn/B;AAAAA;AAmzBKm/B,0DAnzBLn/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8zBSo/B,uDA9zBTp/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+zBkBq/B,4CA/zBlBr/B;AAAAA;AA+zBkBq/B,4CA/zBlBr/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi0B4Cs/B,qHAj0B5Ct/B;AAAAA;AAAAA;AAAAA;AAAAA;AAi0BiCu/B,+CAj0BjCv/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk0B2Cw/B,6GAl0B3Cx/B;AAAAA;AAAAA;AAAAA;AAAAA;AAk0BgCy/B,+CAl0BhCz/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo0BsB0/B,4CAp0BtB1/B;AAAAA;AAo0BsB0/B,4CAp0BtB1/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs0B+C2/B,oHAt0B/C3/B;AAAAA;AAAAA;AAAAA;AAAAA;AAs0BoC4/B,+CAt0BpC5/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu0B+C6/B,4GAv0B/C7/B;AAAAA;AAAAA;AAAAA;AAAAA;AAu0BoC8/B,+CAv0BpC9/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw0B+C+/B,wCAx0B/C//B;AAAAA;AAAAA;AAAAA;AAAAA;AAw0BoCggC,+CAx0BpChgC;AAAAA;AAAAA,QAq0BWigC,mDAr0BXjgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAg0BOkgC,mDAh0BPlgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8zBKmgC,yCA9zBLngC;AAAAA;AA8zBKmgC,oEA9zBLngC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+0BSogC,iDA/0BTpgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg1B4CqgC,4CAh1B5CrgC;AAAAA;AAg1B4CqgC,4CAh1B5CrgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg1B4BsgC,uCAh1B5BtgC;AAAAA;AAg1B4BsgC,qCAh1B5BtgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk1BmBugC,yCAl1BnBvgC;AAAAA;AAk1BmBugC,mCAl1BnBvgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1BcwgC,uEAn1BdxgC;AAAAA;AAm1BcwgC,mEAn1BdxgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1B4CygC,yEAn1B5CzgC;AAAAA;AAm1B4CygC,qEAn1B5CzgC;AAAAA;AAAAA;AAm1B4CygC,0CAn1B5CzgC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm1BqF0gC,kEAn1BrF1gC;AAAAA;AAAAA;AAAAA;AAAAA;AAm1B0E2gC,+CAn1B1E3gC;AAAAA;AAAAA;AAo1B4B4gC,0EAp1B5B5gC;AAAAA;AAAAA;AAAAA;AAAAA;AAo1BiB6gC,+CAp1BjB7gC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw1Be8gC,2CAx1Bf9gC;AAAAA;AAAAA;AAAAA;AAAAA;AAw1B4D+gC,uHAx1B5D/gC;AAAAA;AAAAA;AAAAA;AAAAA;AAw1BiDghC,+CAx1BjDhhC;AAAAA;AAAAA;AAAAA;AAAAA;AAy1BgBihC,2CAz1BhBjhC;AAAAA;AAy1BgBihC,qDAz1BhBjhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA01BkBkhC,6CA11BlBlhC;AAAAA;AA01BkBkhC,0CA11BlBlhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA01BmFmhC,qCA11BnFnhC;AAAAA;AAAAA;AA01B4DohC,6GA11B5DphC;AAAAA;AAAAA;AAAAA;AAAAA;AA01BiDqhC,+CA11BjDrhC;AAAAA;AAAAA;AA21BmBshC,2CA31BnBthC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA41BoBuhC,yCA51BpBvhC;AAAAA;AA41BoBuhC,0CA51BpBvhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA21BewhC,kCA31BfxhC;AAAAA;AA21BewhC,gCA31BfxhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA41B4DyhC,gIA51B5DzhC;AAAAA;AAAAA;AAAAA;AAAAA;AA41BiD0hC,+CA51BjD1hC;AAAAA;AAAAA;AA61B4D2hC,wCA71B5D3hC;AAAAA;AAAAA;AAAAA;AAAAA;AA61BiD4hC,+CA71BjD5hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAg1BO6hC,mDAh1BP7hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+0BK8hC,yCA/0BL9hC;AAAAA;AA+0BK8hC,0DA/0BL9hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo2BS+hC,uDAp2BT/hC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq2B4CgiC,4CAr2B5ChiC;AAAAA;AAq2B4CgiC,4CAr2B5ChiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq2B4BiiC,uCAr2B5BjiC;AAAAA;AAq2B4BiiC,qCAr2B5BjiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu2BmBkiC,yCAv2BnBliC;AAAAA;AAu2BmBkiC,mCAv2BnBliC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2BcmiC,uEAx2BdniC;AAAAA;AAw2BcmiC,mEAx2BdniC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2B4CoiC,yEAx2B5CpiC;AAAAA;AAw2B4CoiC,qEAx2B5CpiC;AAAAA;AAAAA;AAw2B4CoiC,0CAx2B5CpiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw2BqFqiC,kEAx2BrFriC;AAAAA;AAAAA;AAAAA;AAAAA;AAw2B0EsiC,+CAx2B1EtiC;AAAAA;AAAAA;AAy2B4BuiC,0EAz2B5BviC;AAAAA;AAAAA;AAAAA;AAAAA;AAy2BiBwiC,+CAz2BjBxiC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA62BeyiC,4CA72BfziC;AAAAA;AAAAA;AAAAA;AAAAA;AA62B6D0iC,yHA72B7D1iC;AAAAA;AAAAA;AAAAA;AAAAA;AA62BkD2iC,+CA72BlD3iC;AAAAA;AAAAA;AAAAA;AAAAA;AA82BgB4iC,2CA92BhB5iC;AAAAA;AA82BgB4iC,sDA92BhB5iC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BkB6iC,8CA/2BlB7iC;AAAAA;AA+2BkB6iC,0CA/2BlB7iC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BoF8iC,qCA/2BpF9iC;AAAAA;AAAAA;AA+2B6D+iC,8GA/2B7D/iC;AAAAA;AAAAA;AAAAA;AAAAA;AA+2BkDgjC,+CA/2BlDhjC;AAAAA;AAAAA;AAg3BmBijC,4CAh3BnBjjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi3BoBkjC,0CAj3BpBljC;AAAAA;AAi3BoBkjC,0CAj3BpBljC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg3BemjC,kCAh3BfnjC;AAAAA;AAg3BemjC,gCAh3BfnjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi3B6DojC,kIAj3B7DpjC;AAAAA;AAAAA;AAAAA;AAAAA;AAi3BkDqjC,+CAj3BlDrjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BoDsjC,4CAn3BpDtjC;AAAAA;AAm3BoDsjC,4CAn3BpDtjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm3BoCujC,uCAn3BpCvjC;AAAAA;AAm3BoCujC,qCAn3BpCvjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq3B2BwjC,yCAr3B3BxjC;AAAAA;AAq3B2BwjC,mCAr3B3BxjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BsByjC,uEAt3BtBzjC;AAAAA;AAs3BsByjC,mEAt3BtBzjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BoD0jC,yEAt3BpD1jC;AAAAA;AAs3BoD0jC,qEAt3BpD1jC;AAAAA;AAAAA;AAs3BoD0jC,0CAt3BpD1jC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs3B6F2jC,kEAt3B7F3jC;AAAAA;AAAAA;AAAAA;AAAAA;AAs3BkF4jC,+CAt3BlF5jC;AAAAA;AAAAA;AAu3BoC6jC,0EAv3BpC7jC;AAAAA;AAAAA;AAAAA;AAAAA;AAu3ByB8jC,+CAv3BzB9jC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA23BuB+jC,2CA33BvB/jC;AAAAA;AAAAA;AAAAA;AAAAA;AA23BoEgkC,uHA33BpEhkC;AAAAA;AAAAA;AAAAA;AAAAA;AA23ByDikC,+CA33BzDjkC;AAAAA;AAAAA;AAAAA;AAAAA;AA43BwBkkC,2CA53BxBlkC;AAAAA;AA43BwBkkC,qDA53BxBlkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA63B0BmkC,6CA73B1BnkC;AAAAA;AA63B0BmkC,0CA73B1BnkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA63B2FokC,qCA73B3FpkC;AAAAA;AAAAA;AA63BoEqkC,6GA73BpErkC;AAAAA;AAAAA;AAAAA;AAAAA;AA63ByDskC,+CA73BzDtkC;AAAAA;AAAAA;AA83B2BukC,2CA93B3BvkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+3B4BwkC,yCA/3B5BxkC;AAAAA;AA+3B4BwkC,0CA/3B5BxkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA83BuBykC,kCA93BvBzkC;AAAAA;AA83BuBykC,gCA93BvBzkC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+3BoE0kC,gIA/3BpE1kC;AAAAA;AAAAA;AAAAA;AAAAA;AA+3ByD2kC,+CA/3BzD3kC;AAAAA;AAAAA;AAg4BoE4kC,wCAh4BpE5kC;AAAAA;AAAAA;AAAAA;AAAAA;AAg4ByD6kC,+CAh4BzD7kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAm3Be8kC,mDAn3Bf9kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAq2BO+kC,mDAr2BP/kC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo2BKglC,yCAp2BLhlC;AAAAA;AAo2BKglC,oEAp2BLhlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4BSilC,iDAz4BTjlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA04B4CklC,4CA14B5CllC;AAAAA;AA04B4CklC,4CA14B5CllC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA04B4BmlC,uCA14B5BnlC;AAAAA;AA04B4BmlC,qCA14B5BnlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA44BmBolC,yCA54BnBplC;AAAAA;AA44BmBolC,mCA54BnBplC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64BcqlC,uEA74BdrlC;AAAAA;AA64BcqlC,mEA74BdrlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64B4CslC,yEA74B5CtlC;AAAAA;AA64B4CslC,qEA74B5CtlC;AAAAA;AAAAA;AA64B4CslC,0CA74B5CtlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA64BqFulC,kEA74BrFvlC;AAAAA;AAAAA;AAAAA;AAAAA;AA64B0EwlC,+CA74B1ExlC;AAAAA;AAAAA;AA84B4BylC,0EA94B5BzlC;AAAAA;AAAAA;AAAAA;AAAAA;AA84BiB0lC,+CA94BjB1lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk5Be2lC,2CAl5Bf3lC;AAAAA;AAAAA;AAAAA;AAAAA;AAk5B+D4lC,uHAl5B/D5lC;AAAAA;AAAAA;AAAAA;AAAAA;AAk5BoD6lC,+CAl5BpD7lC;AAAAA;AAAAA;AAAAA;AAAAA;AAm5BgB8lC,2CAn5BhB9lC;AAAAA;AAm5BgB8lC,oDAn5BhB9lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo5BkB+lC,yCAp5BlB/lC;AAAAA;AAo5BkB+lC,0CAp5BlB/lC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo5B0FgmC,qCAp5B1FhmC;AAAAA;AAAAA;AAo5B+DimC,iHAp5B/DjmC;AAAAA;AAAAA;AAAAA;AAAAA;AAo5BoDkmC,+CAp5BpDlmC;AAAAA;AAAAA;AAq5BmBmmC,2CAr5BnBnmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs5BoBomC,6CAt5BpBpmC;AAAAA;AAs5BoBomC,0CAt5BpBpmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq5BeqmC,kCAr5BfrmC;AAAAA;AAq5BeqmC,gCAr5BfrmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs5B+DsmC,gIAt5B/DtmC;AAAAA;AAAAA;AAAAA;AAAAA;AAs5BoDumC,+CAt5BpDvmC;AAAAA;AAAAA;AAu5B+DwmC,wCAv5B/DxmC;AAAAA;AAAAA;AAAAA;AAAAA;AAu5BoDymC,+CAv5BpDzmC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA04BO0mC,mDA14BP1mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy4BK2mC,yCAz4BL3mC;AAAAA;AAy4BK2mC,0DAz4BL3mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA85BS4mC,uDA95BT5mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+5B4C6mC,4CA/5B5C7mC;AAAAA;AA+5B4C6mC,4CA/5B5C7mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+5B4B8mC,uCA/5B5B9mC;AAAAA;AA+5B4B8mC,qCA/5B5B9mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi6BmB+mC,yCAj6BnB/mC;AAAAA;AAi6BmB+mC,mCAj6BnB/mC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6BcgnC,uEAl6BdhnC;AAAAA;AAk6BcgnC,mEAl6BdhnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6B4CinC,yEAl6B5CjnC;AAAAA;AAk6B4CinC,qEAl6B5CjnC;AAAAA;AAAAA;AAk6B4CinC,0CAl6B5CjnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAk6BqFknC,kEAl6BrFlnC;AAAAA;AAAAA;AAAAA;AAAAA;AAk6B0EmnC,+CAl6B1EnnC;AAAAA;AAAAA;AAm6B4BonC,0EAn6B5BpnC;AAAAA;AAAAA;AAAAA;AAAAA;AAm6BiBqnC,+CAn6BjBrnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BesnC,4CAv6BftnC;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BgEunC,yHAv6BhEvnC;AAAAA;AAAAA;AAAAA;AAAAA;AAu6BqDwnC,+CAv6BrDxnC;AAAAA;AAAAA;AAAAA;AAAAA;AAw6BgBynC,2CAx6BhBznC;AAAAA;AAw6BgBynC,qDAx6BhBznC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy6BkB0nC,0CAz6BlB1nC;AAAAA;AAy6BkB0nC,0CAz6BlB1nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy6B2F2nC,qCAz6B3F3nC;AAAAA;AAAAA;AAy6BgE4nC,kHAz6BhE5nC;AAAAA;AAAAA;AAAAA;AAAAA;AAy6BqD6nC,+CAz6BrD7nC;AAAAA;AAAAA;AA06BmB8nC,4CA16BnB9nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA26BoB+nC,8CA36BpB/nC;AAAAA;AA26BoB+nC,0CA36BpB/nC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA06BegoC,kCA16BfhoC;AAAAA;AA06BegoC,gCA16BfhoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA26BgEioC,kIA36BhEjoC;AAAAA;AAAAA;AAAAA;AAAAA;AA26BqDkoC,+CA36BrDloC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA66BoDmoC,4CA76BpDnoC;AAAAA;AA66BoDmoC,4CA76BpDnoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA66BoCooC,uCA76BpCpoC;AAAAA;AA66BoCooC,qCA76BpCpoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+6B2BqoC,yCA/6B3BroC;AAAAA;AA+6B2BqoC,mCA/6B3BroC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BsBsoC,uEAh7BtBtoC;AAAAA;AAg7BsBsoC,mEAh7BtBtoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BoDuoC,yEAh7BpDvoC;AAAAA;AAg7BoDuoC,qEAh7BpDvoC;AAAAA;AAAAA;AAg7BoDuoC,0CAh7BpDvoC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAg7B6FwoC,kEAh7B7FxoC;AAAAA;AAAAA;AAAAA;AAAAA;AAg7BkFyoC,+CAh7BlFzoC;AAAAA;AAAAA;AAi7BoC0oC,0EAj7BpC1oC;AAAAA;AAAAA;AAAAA;AAAAA;AAi7ByB2oC,+CAj7BzB3oC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq7BuB4oC,2CAr7BvB5oC;AAAAA;AAAAA;AAAAA;AAAAA;AAq7BuE6oC,uHAr7BvE7oC;AAAAA;AAAAA;AAAAA;AAAAA;AAq7B4D8oC,+CAr7B5D9oC;AAAAA;AAAAA;AAAAA;AAAAA;AAs7BwB+oC,2CAt7BxB/oC;AAAAA;AAs7BwB+oC,oDAt7BxB/oC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu7B0BgpC,yCAv7B1BhpC;AAAAA;AAu7B0BgpC,0CAv7B1BhpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu7BkGipC,qCAv7BlGjpC;AAAAA;AAAAA;AAu7BuEkpC,iHAv7BvElpC;AAAAA;AAAAA;AAAAA;AAAAA;AAu7B4DmpC,+CAv7B5DnpC;AAAAA;AAAAA;AAw7B2BopC,2CAx7B3BppC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy7B4BqpC,6CAz7B5BrpC;AAAAA;AAy7B4BqpC,0CAz7B5BrpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw7BuBspC,kCAx7BvBtpC;AAAAA;AAw7BuBspC,gCAx7BvBtpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy7BuEupC,gIAz7BvEvpC;AAAAA;AAAAA;AAAAA;AAAAA;AAy7B4DwpC,+CAz7B5DxpC;AAAAA;AAAAA;AA07BuEypC,wCA17BvEzpC;AAAAA;AAAAA;AAAAA;AAAAA;AA07B4D0pC,+CA17B5D1pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA66Be2pC,mDA76Bf3pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA+5BO4pC,mDA/5BP5pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA85BK6pC,yCA95BL7pC;AAAAA;AA85BK6pC,oEA95BL7pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm8BS8pC,iDAn8BT9pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo8B4C+pC,oCAp8B5C/pC;AAAAA;AAo8B4C+pC,6BAp8B5C/pC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo8B4BgqC,uCAp8B5BhqC;AAAAA;AAo8B4BgqC,qCAp8B5BhqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs8BmBiqC,yCAt8BnBjqC;AAAAA;AAs8BmBiqC,mCAt8BnBjqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8BckqC,uEAv8BdlqC;AAAAA;AAu8BckqC,mEAv8BdlqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8B4CmqC,yEAv8B5CnqC;AAAAA;AAu8B4CmqC,qEAv8B5CnqC;AAAAA;AAAAA;AAu8B4CmqC,0CAv8B5CnqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu8BqFoqC,0DAv8BrFpqC;AAAAA;AAAAA;AAAAA;AAAAA;AAu8B0EqqC,+CAv8B1ErqC;AAAAA;AAAAA;AAw8B4BsqC,qEAx8B5BtqC;AAAAA;AAAAA;AAAAA;AAAAA;AAw8BiBuqC,+CAx8BjBvqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA48BmBwqC,2CA58BnBxqC;AAAAA;AAAAA;AAAAA;AAAAA;AA48BeyqC,kCA58BfzqC;AAAAA;AA48BeyqC,gCA58BfzqC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA48B6D0qC,qGA58B7D1qC;AAAAA;AAAAA;AAAAA;AAAAA;AA48BkD2qC,+CA58BlD3qC;AAAAA;AAAAA;AAAAA;AAAAA;AA68Be4qC,kCA78Bf5qC;AAAAA;AA68Be4qC,oCA78Bf5qC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA68B6D6qC,oFA78B7D7qC;AAAAA;AAAAA;AAAAA;AAAAA;AA68BkD8qC,+CA78BlD9qC;AAAAA;AAAAA;AA88B6D+qC,wCA98B7D/qC;AAAAA;AAAAA;AAAAA;AAAAA;AA88BkDgrC,+CA98BlDhrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAo8BOirC,mDAp8BPjrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm8BKkrC,yCAn8BLlrC;AAAAA;AAm8BKkrC,yDAn8BLlrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9BSmrC,uDAr9BTnrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9B4CorC,oCAt9B5CprC;AAAAA;AAs9B4CorC,6BAt9B5CprC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAs9B4BqrC,uCAt9B5BrrC;AAAAA;AAs9B4BqrC,qCAt9B5BrrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw9BmBsrC,yCAx9BnBtrC;AAAAA;AAw9BmBsrC,mCAx9BnBtrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9BcurC,uEAz9BdvrC;AAAAA;AAy9BcurC,mEAz9BdvrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9B4CwrC,yEAz9B5CxrC;AAAAA;AAy9B4CwrC,qEAz9B5CxrC;AAAAA;AAAAA;AAy9B4CwrC,0CAz9B5CxrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy9BqFyrC,0DAz9BrFzrC;AAAAA;AAAAA;AAAAA;AAAAA;AAy9B0E0rC,+CAz9B1E1rC;AAAAA;AAAAA;AA09B4B2rC,qEA19B5B3rC;AAAAA;AAAAA;AAAAA;AAAAA;AA09BiB4rC,+CA19BjB5rC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA89BmB6rC,4CA99BnB7rC;AAAAA;AAAAA;AAAAA;AAAAA;AA89Be8rC,kCA99Bf9rC;AAAAA;AA89Be8rC,gCA99Bf9rC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA89B8D+rC,uGA99B9D/rC;AAAAA;AAAAA;AAAAA;AAAAA;AA89BmDgsC,+CA99BnDhsC;AAAAA;AAAAA;AAAAA;AAAAA;AA+9BeisC,kCA/9BfjsC;AAAAA;AA+9BeisC,qCA/9BfjsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+9B8DksC,qFA/9B9DlsC;AAAAA;AAAAA;AAAAA;AAAAA;AA+9BmDmsC,+CA/9BnDnsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi+BoDosC,oCAj+BpDpsC;AAAAA;AAi+BoDosC,6BAj+BpDpsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAi+BoCqsC,uCAj+BpCrsC;AAAAA;AAi+BoCqsC,qCAj+BpCrsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAm+B2BssC,yCAn+B3BtsC;AAAAA;AAm+B2BssC,mCAn+B3BtsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BsBusC,uEAp+BtBvsC;AAAAA;AAo+BsBusC,mEAp+BtBvsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BoDwsC,yEAp+BpDxsC;AAAAA;AAo+BoDwsC,qEAp+BpDxsC;AAAAA;AAAAA;AAo+BoDwsC,0CAp+BpDxsC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo+B6FysC,0DAp+B7FzsC;AAAAA;AAAAA;AAAAA;AAAAA;AAo+BkF0sC,+CAp+BlF1sC;AAAAA;AAAAA;AAq+BoC2sC,qEAr+BpC3sC;AAAAA;AAAAA;AAAAA;AAAAA;AAq+ByB4sC,+CAr+BzB5sC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+B2B6sC,2CAz+B3B7sC;AAAAA;AAAAA;AAAAA;AAAAA;AAy+BuB8sC,kCAz+BvB9sC;AAAAA;AAy+BuB8sC,gCAz+BvB9sC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAy+BqE+sC,qGAz+BrE/sC;AAAAA;AAAAA;AAAAA;AAAAA;AAy+B0DgtC,+CAz+B1DhtC;AAAAA;AAAAA;AAAAA;AAAAA;AA0+BuBitC,kCA1+BvBjtC;AAAAA;AA0+BuBitC,oCA1+BvBjtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0+BqEktC,oFA1+BrEltC;AAAAA;AAAAA;AAAAA;AAAAA;AA0+B0DmtC,+CA1+B1DntC;AAAAA;AAAAA;AA2+BqEotC,wCA3+BrEptC;AAAAA;AAAAA;AAAAA;AAAAA;AA2+B0DqtC,+CA3+B1DrtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAi+BestC,mDAj+BfttC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAs9BOutC,mDAt9BPvtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq9BKwtC,yCAr9BLxtC;AAAAA;AAq9BKwtC,mEAr9BLxtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo/BSytC,iDAp/BTztC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq/B4C0tC,oCAr/B5C1tC;AAAAA;AAq/B4C0tC,6BAr/B5C1tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAq/B4B2tC,uCAr/B5B3tC;AAAAA;AAq/B4B2tC,qCAr/B5B3tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAu/BmB4tC,yCAv/BnB5tC;AAAAA;AAu/BmB4tC,mCAv/BnB5tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/Bc6tC,uEAx/Bd7tC;AAAAA;AAw/Bc6tC,mEAx/Bd7tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/B4C8tC,yEAx/B5C9tC;AAAAA;AAw/B4C8tC,qEAx/B5C9tC;AAAAA;AAAAA;AAw/B4C8tC,0CAx/B5C9tC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAw/BqF+tC,0DAx/BrF/tC;AAAAA;AAAAA;AAAAA;AAAAA;AAw/B0EguC,+CAx/B1EhuC;AAAAA;AAAAA;AAy/B4BiuC,qEAz/B5BjuC;AAAAA;AAAAA;AAAAA;AAAAA;AAy/BiBkuC,+CAz/BjBluC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BmBmuC,2CA7/BnBnuC;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BeouC,kCA7/BfpuC;AAAAA;AA6/BeouC,gCA7/BfpuC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6/B6DquC,qGA7/B7DruC;AAAAA;AAAAA;AAAAA;AAAAA;AA6/BkDsuC,+CA7/BlDtuC;AAAAA;AAAAA;AAAAA;AAAAA;AA8/B6DuuC,uFA9/B7DvuC;AAAAA;AAAAA;AAAAA;AAAAA;AA8/BkDwuC,+CA9/BlDxuC;AAAAA;AAAAA;AA+/B6DyuC,wCA//B7DzuC;AAAAA;AAAAA;AAAAA;AAAAA;AA+/BkD0uC,+CA//BlD1uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAq/BO2uC,mDAr/BP3uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAo/BK4uC,yCAp/BL5uC;AAAAA;AAo/BK4uC,yDAp/BL5uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsgCS6uC,uDAtgCT7uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAugC4C8uC,oCAvgC5C9uC;AAAAA;AAugC4C8uC,6BAvgC5C9uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAugC4B+uC,uCAvgC5B/uC;AAAAA;AAugC4B+uC,qCAvgC5B/uC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAygCmBgvC,yCAzgCnBhvC;AAAAA;AAygCmBgvC,mCAzgCnBhvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gCcivC,uEA1gCdjvC;AAAAA;AA0gCcivC,mEA1gCdjvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gC4CkvC,yEA1gC5ClvC;AAAAA;AA0gC4CkvC,qEA1gC5ClvC;AAAAA;AAAAA;AA0gC4CkvC,0CA1gC5ClvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0gCqFmvC,0DA1gCrFnvC;AAAAA;AAAAA;AAAAA;AAAAA;AA0gC0EovC,+CA1gC1EpvC;AAAAA;AAAAA;AA2gC4BqvC,qEA3gC5BrvC;AAAAA;AAAAA;AAAAA;AAAAA;AA2gCiBsvC,+CA3gCjBtvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCmBuvC,4CA/gCnBvvC;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCewvC,kCA/gCfxvC;AAAAA;AA+gCewvC,gCA/gCfxvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+gC8DyvC,uGA/gC9DzvC;AAAAA;AAAAA;AAAAA;AAAAA;AA+gCmD0vC,+CA/gCnD1vC;AAAAA;AAAAA;AAAAA;AAAAA;AAghC8D2vC,wFAhhC9D3vC;AAAAA;AAAAA;AAAAA;AAAAA;AAghCmD4vC,+CAhhCnD5vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkhCoD6vC,oCAlhCpD7vC;AAAAA;AAkhCoD6vC,6BAlhCpD7vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkhCoC8vC,uCAlhCpC9vC;AAAAA;AAkhCoC8vC,qCAlhCpC9vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAohC2B+vC,yCAphC3B/vC;AAAAA;AAohC2B+vC,mCAphC3B/vC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCsBgwC,uEArhCtBhwC;AAAAA;AAqhCsBgwC,mEArhCtBhwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCoDiwC,yEArhCpDjwC;AAAAA;AAqhCoDiwC,qEArhCpDjwC;AAAAA;AAAAA;AAqhCoDiwC,0CArhCpDjwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqhC6FkwC,0DArhC7FlwC;AAAAA;AAAAA;AAAAA;AAAAA;AAqhCkFmwC,+CArhClFnwC;AAAAA;AAAAA;AAshCoCowC,qEAthCpCpwC;AAAAA;AAAAA;AAAAA;AAAAA;AAshCyBqwC,+CAthCzBrwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0hC2BswC,2CA1hC3BtwC;AAAAA;AAAAA;AAAAA;AAAAA;AA0hCuBuwC,kCA1hCvBvwC;AAAAA;AA0hCuBuwC,gCA1hCvBvwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0hCqEwwC,qGA1hCrExwC;AAAAA;AAAAA;AAAAA;AAAAA;AA0hC0DywC,+CA1hC1DzwC;AAAAA;AAAAA;AAAAA;AAAAA;AA2hCqE0wC,uFA3hCrE1wC;AAAAA;AAAAA;AAAAA;AAAAA;AA2hC0D2wC,+CA3hC1D3wC;AAAAA;AAAAA;AA4hCqE4wC,wCA5hCrE5wC;AAAAA;AAAAA;AAAAA;AAAAA;AA4hC0D6wC,+CA5hC1D7wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAkhCe8wC,mDAlhCf9wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAugCO+wC,mDAvgCP/wC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsgCKgxC,yCAtgCLhxC;AAAAA;AAsgCKgxC,mEAtgCLhxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuiCOixC,sCAviCPjxC;AAAAA;AAuiCOixC,iCAviCPjxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwiCckxC,wEAxiCdlxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsiCKmxC,mEAtiCLnxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8iCWoxC,sCA9iCXpxC;AAAAA;AA8iCWoxC,iCA9iCXpxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8iCOqxC,kCA9iCPrxC;AAAAA;AA8iCOqxC,gCA9iCPrxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+iCcsxC,2EA/iCdtxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6iCKuxC,mEA7iCLvxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmjCcwxC,uCAnjCdxxC;AAAAA;AAmjCcwxC,mCAnjCdxxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqjCmDyxC,8BArjCnDzxC;AAAAA;AAAAA;AAqjC+B0xC,kFArjC/B1xC;AAAAA;AAAAA;AAAAA;AAAAA;AAqjCoB2xC,+CArjCpB3xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAujCuC4xC,yCAvjCvC5xC;AAAAA;AAujCuC4xC,kCAvjCvC5xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAujCgC6xC,qCAvjChC7xC;AAAAA;AAujCgC6xC,mCAvjChC7xC;AAAAA;AAAAA;AAAAA;AAujCgB8xC,oDAvjChB9xC;AAAAA;AAAAA;AAAAA;AAAAA;AAujCY+xC,kCAvjCZ/xC;AAAAA;AAujCY+xC,gCAvjCZ/xC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwjCsBgyC,iFAxjCtBhyC;AAAAA;AAAAA;AAAAA;AAAAA;AAwjCWiyC,+CAxjCXjyC;AAAAA;AAAAA;AA0jCsBkyC,wCA1jCtBlyC;AAAAA;AAAAA;AAAAA;AAAAA;AA0jCWmyC,+CA1jCXnyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAojCKoyC,mDApjCLpyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgkCoBqyC,uCAhkCpBryC;AAAAA;AAgkCoBqyC,mCAhkCpBryC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkkCmDsyC,8BAlkCnDtyC;AAAAA;AAAAA;AAkkC+BuyC,mFAlkC/BvyC;AAAAA;AAAAA;AAAAA;AAAAA;AAkkCoBwyC,+CAlkCpBxyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAokCuCyyC,yCApkCvCzyC;AAAAA;AAokCuCyyC,kCApkCvCzyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAokCgC0yC,qCApkChC1yC;AAAAA;AAokCgC0yC,mCApkChC1yC;AAAAA;AAAAA;AAAAA;AAokCgB2yC,oDApkChB3yC;AAAAA;AAAAA;AAAAA;AAAAA;AAokCY4yC,kCApkCZ5yC;AAAAA;AAokCY4yC,gCApkCZ5yC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqkCsB6yC,kFArkCtB7yC;AAAAA;AAAAA;AAAAA;AAAAA;AAqkCW8yC,+CArkCX9yC;AAAAA;AAAAA;AAAAA;AAAAA;AAukCoB+yC,uCAvkCpB/yC;AAAAA;AAukCoB+yC,mCAvkCpB/yC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAykCyDgzC,8BAzkCzDhzC;AAAAA;AAAAA;AAykCqCizC,kFAzkCrCjzC;AAAAA;AAAAA;AAAAA;AAAAA;AAykC0BkzC,+CAzkC1BlzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2kC6CmzC,yCA3kC7CnzC;AAAAA;AA2kC6CmzC,kCA3kC7CnzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2kCsCozC,qCA3kCtCpzC;AAAAA;AA2kCsCozC,mCA3kCtCpzC;AAAAA;AAAAA;AAAAA;AA2kCsBqzC,oDA3kCtBrzC;AAAAA;AAAAA;AAAAA;AAAAA;AA2kCkBszC,kCA3kClBtzC;AAAAA;AA2kCkBszC,gCA3kClBtzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4kC4BuzC,iFA5kC5BvzC;AAAAA;AAAAA;AAAAA;AAAAA;AA4kCiBwzC,+CA5kCjBxzC;AAAAA;AAAAA;AA8kC4ByzC,wCA9kC5BzzC;AAAAA;AAAAA;AAAAA;AAAAA;AA8kCiB0zC,+CA9kCjB1zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAwkCW2zC,mDAxkCX3zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAikCK4zC,mDAjkCL5zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAslCc6zC,uCAtlCd7zC;AAAAA;AAslCc6zC,mCAtlCd7zC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwlCmD8zC,8BAxlCnD9zC;AAAAA;AAAAA;AAwlC+B+zC,mFAxlC/B/zC;AAAAA;AAAAA;AAAAA;AAAAA;AAwlCoBg0C,+CAxlCpBh0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0lCmCi0C,yCA1lCnCj0C;AAAAA;AA0lCmCi0C,kCA1lCnCj0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0lC4Bk0C,qCA1lC5Bl0C;AAAAA;AA0lC4Bk0C,mCA1lC5Bl0C;AAAAA;AAAAA;AAAAA;AA0lCYm0C,oDA1lCZn0C;AAAAA;AAAAA;AAAAA;AAAAA;AA2lCsBo0C,iFA3lCtBp0C;AAAAA;AAAAA;AAAAA;AAAAA;AA2lCWq0C,+CA3lCXr0C;AAAAA;AAAAA;AA6lCsBs0C,wCA7lCtBt0C;AAAAA;AAAAA;AAAAA;AAAAA;AA6lCWu0C,+CA7lCXv0C;AAAAA;AAAAA,QAulCKw0C,mDAvlCLx0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmmCoBy0C,uCAnmCpBz0C;AAAAA;AAmmCoBy0C,mCAnmCpBz0C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqmCmD00C,8BArmCnD10C;AAAAA;AAAAA;AAqmC+B20C,oFArmC/B30C;AAAAA;AAAAA;AAAAA;AAAAA;AAqmCoB40C,+CArmCpB50C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAumCmC60C,yCAvmCnC70C;AAAAA;AAumCmC60C,kCAvmCnC70C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAumC4B80C,qCAvmC5B90C;AAAAA;AAumC4B80C,mCAvmC5B90C;AAAAA;AAAAA;AAAAA;AAumCY+0C,oDAvmCZ/0C;AAAAA;AAAAA;AAAAA;AAAAA;AAwmCsBg1C,kFAxmCtBh1C;AAAAA;AAAAA;AAAAA;AAAAA;AAwmCWi1C,+CAxmCXj1C;AAAAA;AAAAA;AAAAA;AAAAA;AA0mCoBk1C,uCA1mCpBl1C;AAAAA;AA0mCoBk1C,mCA1mCpBl1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4mCyDm1C,8BA5mCzDn1C;AAAAA;AAAAA;AA4mCqCo1C,mFA5mCrCp1C;AAAAA;AAAAA;AAAAA;AAAAA;AA4mC0Bq1C,+CA5mC1Br1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8mCyCs1C,yCA9mCzCt1C;AAAAA;AA8mCyCs1C,kCA9mCzCt1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8mCkCu1C,qCA9mClCv1C;AAAAA;AA8mCkCu1C,mCA9mClCv1C;AAAAA;AAAAA;AAAAA;AA8mCkBw1C,oDA9mClBx1C;AAAAA;AAAAA;AAAAA;AAAAA;AA+mC4By1C,iFA/mC5Bz1C;AAAAA;AAAAA;AAAAA;AAAAA;AA+mCiB01C,+CA/mCjB11C;AAAAA;AAAAA;AAinC4B21C,wCAjnC5B31C;AAAAA;AAAAA;AAAAA;AAAAA;AAinCiB41C,+CAjnCjB51C;AAAAA;AAAAA,SA2mCW61C,mDA3mCX71C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAomCK81C,mDApmCL91C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAynC0B+1C,uCAznC1B/1C;AAAAA;AAynC0B+1C,mCAznC1B/1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0nCkCg2C,oEA1nClCh2C;AAAAA;AAAAA;AAAAA;AAAAA;AA0nCuBi2C,+CA1nCvBj2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2nCkCk2C,wCA3nClCl2C;AAAAA;AAAAA;AAAAA;AAAAA;AA2nCuBm2C,+CA3nCvBn2C;AAAAA;AAAAA,QAynCKo2C,mDAznCLp2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgoC0Bq2C,uCAhoC1Br2C;AAAAA;AAgoC0Bq2C,mCAhoC1Br2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAioCkCs2C,qEAjoClCt2C;AAAAA;AAAAA;AAAAA;AAAAA;AAioCuBu2C,+CAjoCvBv2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmoC8Bw2C,uCAnoC9Bx2C;AAAAA;AAmoC8Bw2C,mCAnoC9Bx2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAooCsCy2C,oEApoCtCz2C;AAAAA;AAAAA;AAAAA;AAAAA;AAooC2B02C,+CApoC3B12C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqoCsC22C,wCAroCtC32C;AAAAA;AAAAA;AAAAA;AAAAA;AAqoC2B42C,+CAroC3B52C;AAAAA;AAAAA,QAmoCS62C,mDAnoCT72C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAgoCK82C,mDAhoCL92C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4oC4B+2C,uCA5oC5B/2C;AAAAA;AA4oC4B+2C,mCA5oC5B/2C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6oCyBg3C,6EA7oCzBh3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpCoCi3C,yCAhpCpCj3C;AAAAA;AAgpCoCi3C,mCAhpCpCj3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgpCgBk3C,uEAhpChBl3C;AAAAA;AAgpCgBk3C,qEAhpChBl3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAipCem3C,yCAjpCfn3C;AAAAA;AAipCem3C,mCAjpCfn3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAipCeo3C,kCAjpCfp3C;AAAAA;AAAAA;AAAAA;AAAAA;AAmpCeq3C,yCAnpCfr3C;AAAAA;AAmpCeq3C,mCAnpCfr3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqpCgDs3C,sCArpChDt3C;AAAAA;AAqpCgDs3C,oCArpChDt3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqpCgCu3C,uCArpChCv3C;AAAAA;AAqpCgCu3C,qCArpChCv3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAupCuBw3C,yCAvpCvBx3C;AAAAA;AAupCuBw3C,mCAvpCvBx3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpCkBy3C,uEAxpClBz3C;AAAAA;AAwpCkBy3C,mEAxpClBz3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpCgD03C,yEAxpChD13C;AAAAA;AAwpCgD03C,qEAxpChD13C;AAAAA;AAAAA;AAwpCgD03C,0CAxpChD13C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwpC8E23C,4DAxpC9E33C;AAAAA;AAAAA;AAAAA;AAypCqB43C,qEAzpCrB53C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCuB63C,2CA7pCvB73C;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCmB83C,kCA7pCnB93C;AAAAA;AA6pCmB83C,gCA7pCnB93C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6pCsD+3C,4GA7pCtD/3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8pCmBg4C,kCA9pCnBh4C;AAAAA;AA8pCmBg4C,oCA9pCnBh4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8pC0Ci4C,6FA9pC1Cj4C;AAAAA;AAAAA;AAAAA;AA+pC8Bk4C,wCA/pC9Bl4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAqpCWm4C,mDArpCXn4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QA4oCOo4C,mDA5oCPp4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2oCKq4C,+CA3oCLr4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAuqC4Bs4C,uCAvqC5Bt4C;AAAAA;AAuqC4Bs4C,mCAvqC5Bt4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwqCyBu4C,8EAxqCzBv4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2qCoCw4C,yCA3qCpCx4C;AAAAA;AA2qCoCw4C,mCA3qCpCx4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2qCgBy4C,uEA3qChBz4C;AAAAA;AA2qCgBy4C,qEA3qChBz4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4qCe04C,yCA5qCf14C;AAAAA;AA4qCe04C,mCA5qCf14C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA4qCe24C,kCA5qCf34C;AAAAA;AAAAA;AAAAA;AAAAA;AA8qCe44C,yCA9qCf54C;AAAAA;AA8qCe44C,mCA9qCf54C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgrCgD64C,sCAhrChD74C;AAAAA;AAgrCgD64C,0CAhrChD74C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgrCgC84C,uCAhrChC94C;AAAAA;AAgrCgC84C,qCAhrChC94C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkrCuB+4C,yCAlrCvB/4C;AAAAA;AAkrCuB+4C,mCAlrCvB/4C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrCkBg5C,uEAnrClBh5C;AAAAA;AAmrCkBg5C,mEAnrClBh5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrCgDi5C,yEAnrChDj5C;AAAAA;AAmrCgDi5C,qEAnrChDj5C;AAAAA;AAAAA;AAmrCgDi5C,0CAnrChDj5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmrC8Ek5C,4DAnrC9El5C;AAAAA;AAAAA;AAAAA;AAorCqBm5C,qEAprCrBn5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrCuBo5C,iDAxrCvBp5C;AAAAA;AAAAA;AAAAA;AAAAA;AAwrCmBq5C,kCAxrCnBr5C;AAAAA;AAwrCmBq5C,gCAxrCnBr5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwrC4Ds5C,yHAxrC5Dt5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyrCmBu5C,kCAzrCnBv5C;AAAAA;AAyrCmBu5C,0CAzrCnBv5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyrCgDw5C,8FAzrChDx5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2rCwCy5C,uCA3rCxCz5C;AAAAA;AA2rCwCy5C,mCA3rCxCz5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4rCqC05C,6EA5rCrC15C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+rCgD25C,yCA/rChD35C;AAAAA;AA+rCgD25C,mCA/rChD35C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+rC4B45C,uEA/rC5B55C;AAAAA;AA+rC4B45C,qEA/rC5B55C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgsC2B65C,yCAhsC3B75C;AAAAA;AAgsC2B65C,mCAhsC3B75C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAgsC2B85C,kCAhsC3B95C;AAAAA;AAAAA;AAAAA;AAAAA;AAksC2B+5C,yCAlsC3B/5C;AAAAA;AAksC2B+5C,mCAlsC3B/5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosC4Dg6C,sCApsC5Dh6C;AAAAA;AAosC4Dg6C,0CApsC5Dh6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAosC4Ci6C,uCApsC5Cj6C;AAAAA;AAosC4Ci6C,qCApsC5Cj6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAssCmCk6C,yCAtsCnCl6C;AAAAA;AAssCmCk6C,mCAtsCnCl6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC8Bm6C,uEAvsC9Bn6C;AAAAA;AAusC8Bm6C,mEAvsC9Bn6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC4Do6C,yEAvsC5Dp6C;AAAAA;AAusC4Do6C,qEAvsC5Dp6C;AAAAA;AAAAA;AAusC4Do6C,0CAvsC5Dp6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAusC0Fq6C,4DAvsC1Fr6C;AAAAA;AAAAA;AAAAA;AAwsCiCs6C,qEAxsCjCt6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4sCmCu6C,iDA5sCnCv6C;AAAAA;AAAAA;AAAAA;AAAAA;AA4sC+Bw6C,kCA5sC/Bx6C;AAAAA;AA4sC+Bw6C,gCA5sC/Bx6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4sCwEy6C,wHA5sCxEz6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sC+B06C,kCA7sC/B16C;AAAAA;AA6sC+B06C,0CA7sC/B16C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6sC4D26C,6FA7sC5D36C;AAAAA;AAAAA;AAAAA;AA8sC0C46C,wCA9sC1C56C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAosCuB66C,mDApsCvB76C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA2rCmB86C,mDA3rCnB96C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAgrCW+6C,mDAhrCX/6C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAuqCOg7C,mDAvqCPh7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsqCKi7C,+CAtqCLj7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAytC4Bk7C,uCAztC5Bl7C;AAAAA;AAytC4Bk7C,mCAztC5Bl7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0tCyBm7C,6EA1tCzBn7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6tCoCo7C,yCA7tCpCp7C;AAAAA;AA6tCoCo7C,mCA7tCpCp7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6tCgBq7C,uEA7tChBr7C;AAAAA;AA6tCgBq7C,qEA7tChBr7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8tCes7C,yCA9tCft7C;AAAAA;AA8tCes7C,mCA9tCft7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA8tCeu7C,kCA9tCfv7C;AAAAA;AAAAA;AAAAA;AAAAA;AAguCew7C,yCAhuCfx7C;AAAAA;AAguCew7C,mCAhuCfx7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCgDy7C,sCAluChDz7C;AAAAA;AAkuCgDy7C,oCAluChDz7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAkuCgC07C,uCAluChC17C;AAAAA;AAkuCgC07C,qCAluChC17C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAouCuB27C,yCApuCvB37C;AAAAA;AAouCuB27C,mCApuCvB37C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquCkB47C,uEAruClB57C;AAAAA;AAquCkB47C,mEAruClB57C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquCgD67C,yEAruChD77C;AAAAA;AAquCgD67C,qEAruChD77C;AAAAA;AAAAA;AAquCgD67C,0CAruChD77C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAquC8E87C,4DAruC9E97C;AAAAA;AAAAA;AAAAA;AAsuCqB+7C,qEAtuCrB/7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCuBg8C,2CA1uCvBh8C;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCmBi8C,kCA1uCnBj8C;AAAAA;AA0uCmBi8C,gCA1uCnBj8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0uCsDk8C,4GA1uCtDl8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2uCqCm8C,gGA3uCrCn8C;AAAAA;AAAAA;AAAAA;AA4uC8Bo8C,wCA5uC9Bp8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAkuCWq8C,mDAluCXr8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAytCOs8C,mDAztCPt8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwtCKu8C,+CAxtCLv8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAovC4Bw8C,uCApvC5Bx8C;AAAAA;AAovC4Bw8C,mCApvC5Bx8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqvCyBy8C,8EArvCzBz8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwvCoC08C,yCAxvCpC18C;AAAAA;AAwvCoC08C,mCAxvCpC18C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwvCgB28C,uEAxvChB38C;AAAAA;AAwvCgB28C,qEAxvChB38C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyvCe48C,yCAzvCf58C;AAAAA;AAyvCe48C,mCAzvCf58C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAyvCe68C,kCAzvCf78C;AAAAA;AAAAA;AAAAA;AAAAA;AA2vCe88C,yCA3vCf98C;AAAAA;AA2vCe88C,mCA3vCf98C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vCgD+8C,sCA7vChD/8C;AAAAA;AA6vCgD+8C,0CA7vChD/8C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6vCgCg9C,uCA7vChCh9C;AAAAA;AA6vCgCg9C,qCA7vChCh9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+vCuBi9C,yCA/vCvBj9C;AAAAA;AA+vCuBi9C,mCA/vCvBj9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwCkBk9C,uEAhwClBl9C;AAAAA;AAgwCkBk9C,mEAhwClBl9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwCgDm9C,yEAhwChDn9C;AAAAA;AAgwCgDm9C,qEAhwChDn9C;AAAAA;AAAAA;AAgwCgDm9C,0CAhwChDn9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAgwC8Eo9C,4DAhwC9Ep9C;AAAAA;AAAAA;AAAAA;AAiwCqBq9C,qEAjwCrBr9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwCuBs9C,iDArwCvBt9C;AAAAA;AAAAA;AAAAA;AAAAA;AAqwCmBu9C,kCArwCnBv9C;AAAAA;AAqwCmBu9C,gCArwCnBv9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqwC4Dw9C,yHArwC5Dx9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAswC2Cy9C,iGAtwC3Cz9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAwwCwC09C,uCAxwCxC19C;AAAAA;AAwwCwC09C,mCAxwCxC19C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAywCqC29C,6EAzwCrC39C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4wCgD49C,yCA5wChD59C;AAAAA;AA4wCgD49C,mCA5wChD59C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA4wC4B69C,uEA5wC5B79C;AAAAA;AA4wC4B69C,qEA5wC5B79C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6wC2B89C,yCA7wC3B99C;AAAAA;AA6wC2B89C,mCA7wC3B99C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WA6wC2B+9C,kCA7wC3B/9C;AAAAA;AAAAA;AAAAA;AAAAA;AA+wC2Bg+C,yCA/wC3Bh+C;AAAAA;AA+wC2Bg+C,mCA/wC3Bh+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAixC4Di+C,sCAjxC5Dj+C;AAAAA;AAixC4Di+C,0CAjxC5Dj+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAixC4Ck+C,uCAjxC5Cl+C;AAAAA;AAixC4Ck+C,qCAjxC5Cl+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmxCmCm+C,yCAnxCnCn+C;AAAAA;AAmxCmCm+C,mCAnxCnCn+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC8Bo+C,uEApxC9Bp+C;AAAAA;AAoxC8Bo+C,mEApxC9Bp+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC4Dq+C,yEApxC5Dr+C;AAAAA;AAoxC4Dq+C,qEApxC5Dr+C;AAAAA;AAAAA;AAoxC4Dq+C,0CApxC5Dr+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoxC0Fs+C,4DApxC1Ft+C;AAAAA;AAAAA;AAAAA;AAqxCiCu+C,qEArxCjCv+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxCmCw+C,iDAzxCnCx+C;AAAAA;AAAAA;AAAAA;AAAAA;AAyxC+By+C,kCAzxC/Bz+C;AAAAA;AAyxC+By+C,gCAzxC/Bz+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAyxCwE0+C,wHAzxCxE1+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0xCuD2+C,gGA1xCvD3+C;AAAAA;AAAAA;AAAAA;AA2xC0C4+C,wCA3xC1C5+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAixCuB6+C,mDAjxCvB7+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAwwCmB8+C,mDAxwCnB9+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SA6vCW++C,mDA7vCX/+C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAovCOg/C,mDApvCPh/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmvCKi/C,+CAnvCLj/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAqyCKk/C,yCAryCLl/C;AAAAA;AAqyCKk/C,uCAryCLl/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA2yCKm/C,yCA3yCLn/C;AAAAA;AA2yCKm/C,uCA3yCLn/C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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AA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://checker\"}", -"theModule":"function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1947(R,NAMESPACE,M,$either31,$$included$127,$E8,$ED12,$$underscore_import5,$$underscore_import5,$$included$225,$$included$332,$RED33,$SL34,$VS8) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://checker\";\nvar D = R.undefined;\nvar L = [[M,22,0,338,29,3,558],\n[M,27,17,518,27,47,548],\n[M,27,23,524,27,46,547],\n[M,26,6,465,26,23,482],\n[M,25,6,424,25,22,440],\n[M,24,6,380,24,22,396],\n[M,45,2,1108,60,5,1689],\n[M,47,20,1190,47,47,1217],\n[M,47,28,1198,47,46,1216],\n[M,47,6,1176,47,47,1217],\n[M,46,4,1144,59,7,1683],\n[M,49,22,1256,49,41,1275],\n[M,51,26,1326,51,37,1337],\n[M,51,26,1326,51,48,1348],\n[M,51,26,1326,51,59,1359],\n[M,51,26,1326,51,72,1372],\n[M,51,12,1312,51,76,1376],\n[M,50,10,1287,51,76,1376],\n[M,49,8,1242,58,11,1675],\n[M,53,12,1412,57,27,1663],\n[M,53,13,1413,53,24,1424],\n[M,54,28,1454,54,39,1465],\n[M,54,28,1454,54,50,1476],\n[M,54,28,1454,54,61,1487],\n[M,54,28,1454,54,74,1500],\n[M,56,41,1576,56,53,1588],\n[M,56,41,1576,56,64,1599],\n[M,56,41,1576,56,77,1612],\n[M,56,83,1618,56,95,1630],\n[M,56,84,1619,56,88,1623],\n[M,56,90,1625,56,93,1628],\n[M,57,14,1650,57,26,1662],\n[M,56,14,1549,56,99,1634],\n[M,56,27,1562,56,81,1616],\n[M,55,14,1520,55,27,1533],\n[M,54,14,1440,54,78,1504],\n[M,52,10,1387,57,27,1663],\n[M,49,14,1248,49,20,1254],\n[M,46,10,1150,46,22,1162],\n[M,61,2,1693,72,5,2090],\n[M,64,8,1789,65,115,1914],\n[M,64,9,1790,64,16,1797],\n[M,65,10,1809,65,114,1913],\n[M,63,6,1767,65,115,1914],\n[M,62,4,1735,71,7,2084],\n[M,67,8,1939,70,43,2076],\n[M,67,9,1940,67,16,1947],\n[M,69,18,2008,69,40,2030],\n[M,70,10,2043,70,42,2075],\n[M,69,10,2000,69,41,2031],\n[M,68,10,1959,68,39,1988],\n[M,62,10,1741,62,22,1753],\n[M,33,4,601,33,38,635],\n[M,34,4,641,34,60,697],\n[M,34,43,680,34,56,693],\n[M,36,4,722,36,39,757],\n[M,37,4,763,37,67,826],\n[M,37,43,802,37,57,816],\n[M,37,43,802,37,63,822],\n[M,39,4,856,39,39,891],\n[M,40,4,897,40,72,965],\n[M,40,43,936,40,62,955],\n[M,40,43,936,40,68,961],\n[M,42,4,990,42,40,1026],\n[M,43,4,1032,43,67,1095],\n[M,43,43,1071,43,57,1085],\n[M,43,43,1071,43,63,1091],\n[M,32,2,581,34,61,698],\n[M,35,2,701,37,68,827],\n[M,38,2,830,40,73,966],\n[M,41,2,969,43,68,1096],\n[M,31,0,560,73,3,2094],\n[M,76,2,2121,82,5,2291],\n[M,77,14,2157,77,20,2163],\n[M,78,13,2178,78,16,2181],\n[M,79,23,2206,79,30,2213],\n[M,80,22,2237,80,38,2253],\n[M,81,19,2274,81,30,2285],\n[M,75,0,2096,83,3,2295],\n[M,85,0,2297,92,3,2448],\n[M,86,2,2333,91,20,2444],\n[M,86,3,2334,86,14,2345],\n[M,87,4,2351,90,23,2422],\n[M,87,5,2352,87,12,2359],\n[M,91,4,2428,91,19,2443],\n[M,90,6,2405,90,22,2421],\n[M,88,6,2367,88,21,2382],\n[M,691,2,28080,691,52,28130],\n[M,97,4,2581,146,7,4942],\n[M,98,9,2667,98,17,2675],\n[M,98,9,2667,98,30,2688],\n[M,99,8,2698,99,28,2718],\n[M,100,28,2747,100,36,2755],\n[M,101,32,2790,101,40,2798],\n[M,103,22,2853,103,35,2866],\n[M,103,22,2853,103,60,2891],\n[M,104,22,2914,104,36,2928],\n[M,104,22,2914,104,61,2953],\n[M,105,42,2996,105,55,3009],\n[M,105,42,2996,105,62,3016],\n[M,105,66,3020,105,86,3040],\n[M,105,67,3021,105,74,3028],\n[M,105,76,3030,105,85,3039],\n[M,106,42,3087,106,56,3101],\n[M,106,42,3087,106,63,3108],\n[M,106,66,3111,106,86,3131],\n[M,106,67,3112,106,74,3119],\n[M,106,76,3121,106,85,3130],\n[M,107,20,3156,107,33,3169],\n[M,107,20,3156,107,51,3187],\n[M,108,12,3200,140,49,4825],\n[M,108,13,3201,108,21,3209],\n[M,109,14,3225,109,27,3238],\n[M,109,14,3225,109,51,3262],\n[M,110,24,3288,110,32,3296],\n[M,111,14,3313,138,20,4725],\n[M,111,15,3314,111,22,3321],\n[M,112,27,3350,112,38,3361],\n[M,139,37,4764,139,46,4773],\n[M,140,37,4813,140,47,4823],\n[M,140,16,4792,140,48,4824],\n[M,139,16,4743,139,47,4774],\n[M,114,20,3425,116,109,3607],\n[M,114,21,3426,114,32,3437],\n[M,116,56,3554,116,108,3606],\n[M,116,30,3528,116,46,3544],\n[M,115,22,3461,115,57,3496],\n[M,113,18,3381,116,109,3607],\n[M,112,16,3339,138,19,4724],\n[M,118,34,3676,118,53,3695],\n[M,120,24,3753,122,83,3913],\n[M,120,25,3754,120,36,3765],\n[M,122,60,3890,122,82,3912],\n[M,122,34,3864,122,50,3880],\n[M,121,26,3793,121,61,3828],\n[M,119,22,3719,122,83,3913],\n[M,118,20,3662,130,23,4331],\n[M,124,24,3973,129,57,4307],\n[M,124,25,3974,124,36,3985],\n[M,126,61,4111,126,72,4122],\n[M,126,62,4112,126,66,4116],\n[M,126,68,4118,126,71,4121],\n[M,129,26,4276,129,56,4306],\n[M,128,34,4224,128,50,4240],\n[M,127,26,4154,127,60,4188],\n[M,126,26,4076,126,76,4126],\n[M,126,39,4089,126,59,4109],\n[M,125,26,4013,125,61,4048],\n[M,123,22,3936,129,57,4307],\n[M,118,26,3668,118,32,3674],\n[M,117,18,3626,130,23,4331],\n[M,132,20,4393,137,53,4704],\n[M,132,21,4394,132,32,4405],\n[M,137,22,4673,137,52,4703],\n[M,136,30,4625,136,46,4641],\n[M,135,22,4559,135,56,4593],\n[M,134,22,4498,134,59,4535],\n[M,134,30,4506,134,58,4534],\n[M,134,38,4514,134,57,4533],\n[M,133,22,4429,133,67,4474],\n[M,131,18,4350,137,53,4704],\n[M,110,14,3278,110,33,3297],\n[M,106,21,3066,106,90,3135],\n[M,106,34,3079,106,64,3109],\n[M,105,21,2975,105,90,3044],\n[M,105,34,2988,105,63,3017],\n[M,102,10,2811,140,49,4825],\n[M,101,8,2766,142,11,4883],\n[M,141,25,4851,141,45,4871],\n[M,141,10,4836,141,45,4871],\n[M,101,14,2772,101,20,2778],\n[M,101,22,2780,101,41,2799],\n[M,144,8,4904,144,28,4924],\n[M,100,14,2733,100,37,2756],\n[M,147,4,4948,155,7,5255],\n[M,148,6,4982,154,29,5247],\n[M,148,7,4983,148,15,4991],\n[M,149,8,5001,152,14,5187],\n[M,149,9,5002,149,16,5009],\n[M,149,32,5025,149,47,5040],\n[M,153,17,5206,153,26,5215],\n[M,154,17,5235,154,27,5245],\n[M,154,8,5226,154,28,5246],\n[M,153,8,5197,153,27,5216],\n[M,150,25,5067,150,52,5094],\n[M,150,12,5054,150,52,5094],\n[M,149,18,5011,152,13,5186],\n[M,151,25,5120,151,77,5172],\n[M,151,12,5107,151,77,5172],\n[M,149,24,5017,149,30,5023],\n[M,157,4,5382,212,7,8188],\n[M,158,9,5468,158,17,5476],\n[M,158,9,5468,158,30,5489],\n[M,159,8,5499,159,28,5519],\n[M,160,28,5548,160,36,5556],\n[M,161,32,5591,161,40,5599],\n[M,163,22,5654,163,35,5667],\n[M,163,22,5654,163,60,5692],\n[M,164,22,5715,164,36,5729],\n[M,164,22,5715,164,61,5754],\n[M,165,42,5797,165,55,5810],\n[M,165,42,5797,165,62,5817],\n[M,165,66,5821,165,86,5841],\n[M,165,67,5822,165,74,5829],\n[M,165,76,5831,165,85,5840],\n[M,166,42,5888,166,56,5902],\n[M,166,42,5888,166,63,5909],\n[M,166,66,5912,166,86,5932],\n[M,166,67,5913,166,74,5920],\n[M,166,76,5922,166,85,5931],\n[M,167,20,5957,167,33,5970],\n[M,167,20,5957,167,51,5988],\n[M,168,37,6026,168,48,6037],\n[M,181,25,6459,185,13,6711],\n[M,181,26,6460,181,33,6467],\n[M,187,28,6772,187,42,6786],\n[M,187,28,6772,187,49,6793],\n[M,186,13,6725,186,17,6729],\n[M,186,19,6731,186,23,6735],\n[M,200,12,7818,206,19,8071],\n[M,200,13,7819,200,21,7827],\n[M,201,14,7843,201,27,7856],\n[M,201,14,7843,201,51,7880],\n[M,202,24,7906,202,32,7914],\n[M,203,14,7931,203,38,7955],\n[M,203,15,7932,203,22,7939],\n[M,204,35,7992,204,44,8001],\n[M,205,35,8039,205,45,8049],\n[M,205,14,8018,205,46,8050],\n[M,204,14,7971,204,45,8002],\n[M,203,24,7941,203,37,7954],\n[M,202,14,7896,202,33,7915],\n[M,186,12,6724,186,24,6736],\n[M,189,18,6949,189,72,7003],\n[M,189,19,6950,189,26,6957],\n[M,189,28,6959,189,71,7002],\n[M,190,28,7033,190,42,7047],\n[M,190,28,7033,190,49,7054],\n[M,192,18,7201,192,80,7263],\n[M,192,19,7202,192,26,7209],\n[M,192,28,7211,192,79,7262],\n[M,193,32,7297,193,46,7311],\n[M,193,32,7297,193,53,7318],\n[M,195,32,7504,195,46,7518],\n[M,195,32,7504,195,53,7525],\n[M,193,75,7340,193,89,7354],\n[M,193,75,7340,193,96,7361],\n[M,190,66,7071,190,80,7085],\n[M,190,66,7071,190,87,7092],\n[M,187,67,6811,187,81,6825],\n[M,187,67,6811,187,88,6832],\n[M,184,45,6652,184,90,6697],\n[M,184,14,6621,184,43,6650],\n[M,184,22,6629,184,42,6649],\n[M,183,14,6546,183,73,6605],\n[M,182,31,6500,182,61,6530],\n[M,182,39,6508,182,60,6529],\n[M,182,14,6483,182,29,6498],\n[M,171,20,6117,171,32,6129],\n[M,169,14,6053,173,19,6209],\n[M,168,26,6015,180,15,6433],\n[M,176,20,6292,176,32,6304],\n[M,174,14,6224,178,19,6384],\n[M,166,21,5867,166,90,5936],\n[M,166,34,5880,166,64,5910],\n[M,165,21,5776,165,90,5845],\n[M,165,34,5789,165,63,5818],\n[M,162,10,5612,206,19,8071],\n[M,161,8,5567,208,11,8129],\n[M,207,25,8097,207,45,8117],\n[M,207,10,8082,207,45,8117],\n[M,161,14,5573,161,20,5579],\n[M,161,22,5581,161,41,5600],\n[M,210,8,8150,210,28,8170],\n[M,160,14,5534,160,37,5557],\n[M,213,4,8194,239,7,9334],\n[M,215,22,8255,215,36,8269],\n[M,215,22,8255,215,43,8276],\n[M,216,10,8333,221,33,8563],\n[M,216,11,8334,216,19,8342],\n[M,217,12,8356,219,13,8495],\n[M,217,13,8357,217,20,8364],\n[M,220,21,8518,220,30,8527],\n[M,221,21,8551,221,31,8561],\n[M,221,12,8542,221,32,8562],\n[M,220,12,8509,220,31,8528],\n[M,218,14,8380,218,115,8481],\n[M,222,22,8586,222,36,8600],\n[M,222,22,8586,222,43,8607],\n[M,223,10,8663,228,33,8915],\n[M,223,11,8664,223,19,8672],\n[M,224,12,8686,226,13,8847],\n[M,224,13,8687,224,20,8694],\n[M,227,21,8870,227,30,8879],\n[M,228,21,8903,228,31,8913],\n[M,228,12,8894,228,32,8914],\n[M,227,12,8861,227,31,8880],\n[M,225,14,8710,225,137,8833],\n[M,230,10,8947,237,33,9316],\n[M,230,11,8948,230,19,8956],\n[M,231,12,8970,235,13,9248],\n[M,231,13,8971,231,20,8978],\n[M,236,21,9271,236,30,9280],\n[M,237,21,9304,237,31,9314],\n[M,237,12,9295,237,32,9315],\n[M,236,12,9262,236,31,9281],\n[M,234,42,9189,234,87,9234],\n[M,234,14,9161,234,40,9187],\n[M,234,22,9169,234,39,9186],\n[M,233,14,9111,233,48,9145],\n[M,232,85,9065,232,115,9095],\n[M,232,93,9073,232,114,9094],\n[M,232,14,8994,232,83,9063],\n[M,222,60,8624,222,74,8638],\n[M,222,60,8624,222,81,8645],\n[M,215,61,8294,215,75,8308],\n[M,215,61,8294,215,82,8315],\n[M,241,4,9429,286,7,11583],\n[M,242,9,9515,242,17,9523],\n[M,242,9,9515,242,30,9536],\n[M,243,8,9546,243,28,9566],\n[M,244,28,9595,244,36,9603],\n[M,245,32,9638,245,40,9646],\n[M,247,22,9701,247,35,9714],\n[M,247,22,9701,247,60,9739],\n[M,248,22,9762,248,36,9776],\n[M,248,22,9762,248,61,9801],\n[M,249,42,9844,249,55,9857],\n[M,249,42,9844,249,62,9864],\n[M,249,66,9868,249,86,9888],\n[M,249,67,9869,249,74,9876],\n[M,249,76,9878,249,85,9887],\n[M,250,42,9935,250,56,9949],\n[M,250,42,9935,250,63,9956],\n[M,250,66,9959,250,86,9979],\n[M,250,67,9960,250,74,9967],\n[M,250,76,9969,250,85,9978],\n[M,251,20,10004,251,33,10017],\n[M,251,20,10004,251,51,10035],\n[M,252,12,10048,280,49,11466],\n[M,252,13,10049,252,21,10057],\n[M,253,14,10073,253,27,10086],\n[M,253,14,10073,253,51,10110],\n[M,254,24,10136,254,32,10144],\n[M,255,14,10161,278,20,11366],\n[M,255,15,10162,255,22,10169],\n[M,256,27,10198,256,38,10209],\n[M,279,37,11405,279,46,11414],\n[M,280,37,11454,280,47,11464],\n[M,280,16,11433,280,48,11465],\n[M,279,16,11384,279,47,11415],\n[M,258,34,10283,258,53,10302],\n[M,260,24,10360,262,93,10530],\n[M,260,25,10361,260,36,10372],\n[M,262,60,10497,262,92,10529],\n[M,262,34,10471,262,50,10487],\n[M,261,26,10400,261,61,10435],\n[M,259,22,10326,262,93,10530],\n[M,258,20,10269,270,23,10958],\n[M,264,24,10590,269,63,10934],\n[M,264,25,10591,264,36,10602],\n[M,266,61,10728,266,72,10739],\n[M,266,62,10729,266,66,10733],\n[M,266,68,10735,266,71,10738],\n[M,269,26,10897,269,62,10933],\n[M,268,34,10845,268,50,10861],\n[M,267,26,10771,267,64,10809],\n[M,266,26,10693,266,76,10743],\n[M,266,39,10706,266,59,10726],\n[M,265,26,10630,265,61,10665],\n[M,263,22,10553,269,63,10934],\n[M,258,26,10275,258,32,10281],\n[M,257,18,10229,270,23,10958],\n[M,256,16,10187,278,19,11365],\n[M,272,20,11024,277,59,11345],\n[M,272,21,11025,272,32,11036],\n[M,277,22,11308,277,58,11344],\n[M,276,30,11260,276,46,11276],\n[M,275,22,11190,275,60,11228],\n[M,274,22,11129,274,59,11166],\n[M,274,30,11137,274,58,11165],\n[M,274,38,11145,274,57,11164],\n[M,273,22,11060,273,67,11105],\n[M,271,18,10977,277,59,11345],\n[M,254,14,10126,254,33,10145],\n[M,250,21,9914,250,90,9983],\n[M,250,34,9927,250,64,9957],\n[M,249,21,9823,249,90,9892],\n[M,249,34,9836,249,63,9865],\n[M,246,10,9659,280,49,11466],\n[M,245,8,9614,282,11,11524],\n[M,281,25,11492,281,45,11512],\n[M,281,10,11477,281,45,11512],\n[M,245,14,9620,245,20,9626],\n[M,245,22,9628,245,41,9647],\n[M,284,8,11545,284,28,11565],\n[M,244,14,9581,244,37,9604],\n[M,287,4,11589,295,7,11904],\n[M,288,6,11623,294,29,11896],\n[M,288,7,11624,288,15,11632],\n[M,289,8,11642,292,14,11836],\n[M,289,9,11643,289,16,11650],\n[M,289,32,11666,289,47,11681],\n[M,293,17,11855,293,26,11864],\n[M,294,17,11884,294,27,11894],\n[M,294,8,11875,294,28,11895],\n[M,293,8,11846,293,27,11865],\n[M,290,25,11708,290,56,11739],\n[M,290,12,11695,290,56,11739],\n[M,289,18,11652,292,13,11835],\n[M,291,25,11765,291,81,11821],\n[M,291,12,11752,291,81,11821],\n[M,289,24,11658,289,30,11664],\n[M,297,4,11973,325,7,13034],\n[M,298,9,12059,298,17,12067],\n[M,298,9,12059,298,30,12080],\n[M,299,8,12090,299,28,12110],\n[M,300,28,12139,300,36,12147],\n[M,301,32,12182,301,40,12190],\n[M,303,22,12245,303,34,12257],\n[M,303,22,12245,303,59,12282],\n[M,304,22,12305,304,36,12319],\n[M,304,22,12305,304,42,12325],\n[M,305,42,12368,305,54,12380],\n[M,305,42,12368,305,61,12387],\n[M,305,65,12391,305,85,12411],\n[M,305,66,12392,305,73,12399],\n[M,305,75,12401,305,84,12410],\n[M,306,56,12472,306,76,12492],\n[M,306,57,12473,306,64,12480],\n[M,306,66,12482,306,75,12491],\n[M,308,12,12510,319,33,12922],\n[M,308,13,12511,308,21,12519],\n[M,309,14,12535,309,26,12547],\n[M,309,14,12535,309,50,12571],\n[M,310,24,12597,310,32,12605],\n[M,311,14,12622,318,32,12887],\n[M,311,15,12623,311,22,12630],\n[M,319,23,12912,319,31,12920],\n[M,319,14,12903,319,32,12921],\n[M,318,16,12871,318,31,12886],\n[M,316,16,12812,316,33,12829],\n[M,314,16,12725,314,61,12770],\n[M,312,16,12648,312,51,12683],\n[M,310,14,12587,310,33,12606],\n[M,306,21,12437,306,80,12496],\n[M,306,34,12450,306,54,12470],\n[M,305,21,12347,305,89,12415],\n[M,305,34,12360,305,62,12388],\n[M,302,10,12203,319,33,12922],\n[M,301,8,12158,321,11,12975],\n[M,320,20,12943,320,40,12963],\n[M,320,10,12933,320,40,12963],\n[M,301,14,12164,301,20,12170],\n[M,301,22,12172,301,41,12191],\n[M,323,8,12996,323,28,13016],\n[M,300,14,12125,300,37,12148],\n[M,326,4,13040,330,7,13179],\n[M,327,6,13074,329,27,13171],\n[M,327,7,13075,327,15,13083],\n[M,328,8,13093,328,57,13142],\n[M,328,9,13094,328,16,13101],\n[M,329,17,13161,329,25,13169],\n[M,329,8,13152,329,26,13170],\n[M,328,18,13103,328,56,13141],\n[M,332,4,13251,360,7,14360],\n[M,333,9,13337,333,17,13345],\n[M,333,9,13337,333,30,13358],\n[M,334,8,13368,334,28,13388],\n[M,335,28,13417,335,36,13425],\n[M,336,32,13460,336,40,13468],\n[M,338,22,13523,338,34,13535],\n[M,338,22,13523,338,59,13560],\n[M,339,22,13583,339,36,13597],\n[M,339,22,13583,339,42,13603],\n[M,340,42,13646,340,54,13658],\n[M,340,42,13646,340,61,13665],\n[M,340,65,13669,340,85,13689],\n[M,340,66,13670,340,73,13677],\n[M,340,75,13679,340,84,13688],\n[M,341,56,13750,341,76,13770],\n[M,341,57,13751,341,64,13758],\n[M,341,66,13760,341,75,13769],\n[M,342,12,13787,353,33,14236],\n[M,342,13,13788,342,21,13796],\n[M,343,14,13812,343,26,13824],\n[M,343,14,13812,343,50,13848],\n[M,344,24,13874,344,32,13882],\n[M,345,14,13899,352,33,14201],\n[M,345,15,13900,345,22,13907],\n[M,353,23,14226,353,31,14234],\n[M,353,14,14217,353,32,14235],\n[M,352,16,14184,352,32,14200],\n[M,350,16,14095,350,63,14142],\n[M,348,16,14002,348,67,14053],\n[M,346,16,13925,346,51,13960],\n[M,344,14,13864,344,33,13883],\n[M,341,21,13715,341,80,13774],\n[M,341,34,13728,341,54,13748],\n[M,340,21,13625,340,89,13693],\n[M,340,34,13638,340,62,13666],\n[M,337,10,13481,353,33,14236],\n[M,336,8,13436,356,11,14301],\n[M,355,12,14269,355,32,14289],\n[M,354,10,14247,355,32,14289],\n[M,336,14,13442,336,20,13448],\n[M,336,22,13450,336,41,13469],\n[M,358,8,14322,358,28,14342],\n[M,335,14,13403,335,37,13426],\n[M,361,4,14366,365,7,14532],\n[M,362,6,14400,364,27,14524],\n[M,362,7,14401,362,15,14409],\n[M,363,8,14419,363,84,14495],\n[M,363,9,14420,363,16,14427],\n[M,364,17,14514,364,25,14522],\n[M,364,8,14505,364,26,14523],\n[M,363,18,14429,363,83,14494],\n[M,367,4,14615,385,7,15289],\n[M,368,9,14701,368,17,14709],\n[M,368,9,14701,368,30,14722],\n[M,369,8,14732,369,28,14752],\n[M,370,28,14781,370,36,14789],\n[M,371,32,14824,371,40,14832],\n[M,373,12,14877,379,42,15177],\n[M,373,13,14878,373,21,14886],\n[M,374,14,14902,374,29,14917],\n[M,374,14,14902,374,53,14941],\n[M,375,24,14967,375,32,14975],\n[M,376,14,14992,376,61,15039],\n[M,376,15,14993,376,22,15000],\n[M,377,23,15064,377,38,15079],\n[M,378,14,15096,378,51,15133],\n[M,378,15,15097,378,22,15104],\n[M,379,23,15158,379,40,15175],\n[M,379,14,15149,379,41,15176],\n[M,378,24,15106,378,50,15132],\n[M,377,14,15055,377,39,15080],\n[M,376,24,15002,376,60,15038],\n[M,375,14,14957,375,33,14976],\n[M,372,10,14845,379,42,15177],\n[M,371,8,14800,381,11,15230],\n[M,380,20,15198,380,40,15218],\n[M,380,10,15188,380,40,15218],\n[M,371,14,14806,371,20,14812],\n[M,371,22,14814,371,41,14833],\n[M,383,8,15251,383,28,15271],\n[M,370,14,14767,370,37,14790],\n[M,386,4,15295,388,7,15373],\n[M,387,16,15349,387,31,15364],\n[M,387,6,15339,387,32,15365],\n[M,389,4,15379,395,7,15607],\n[M,390,6,15413,394,36,15599],\n[M,390,7,15414,390,15,15422],\n[M,391,8,15432,391,55,15479],\n[M,391,9,15433,391,16,15440],\n[M,392,17,15498,392,32,15513],\n[M,393,8,15524,393,45,15561],\n[M,393,9,15525,393,16,15532],\n[M,394,17,15580,394,34,15597],\n[M,394,8,15571,394,35,15598],\n[M,393,18,15534,393,44,15560],\n[M,392,8,15489,392,33,15514],\n[M,391,18,15442,391,54,15478],\n[M,396,4,15613,402,7,15825],\n[M,398,8,15683,401,51,15816],\n[M,398,9,15684,398,13,15688],\n[M,399,22,15712,399,30,15720],\n[M,400,22,15745,400,39,15762],\n[M,401,33,15798,401,48,15813],\n[M,397,6,15641,401,52,15817],\n[M,401,10,15775,401,50,15815],\n[M,401,22,15787,401,49,15814],\n[M,400,10,15733,400,40,15763],\n[M,399,10,15700,399,31,15721],\n[M,404,4,15913,422,7,16596],\n[M,405,9,15999,405,17,16007],\n[M,405,9,15999,405,30,16020],\n[M,406,8,16030,406,28,16050],\n[M,407,28,16079,407,36,16087],\n[M,408,32,16122,408,40,16130],\n[M,410,12,16175,416,46,16484],\n[M,410,13,16176,410,21,16184],\n[M,411,14,16200,411,29,16215],\n[M,411,14,16200,411,53,16239],\n[M,412,24,16265,412,32,16273],\n[M,413,14,16290,413,50,16326],\n[M,413,15,16291,413,22,16298],\n[M,414,23,16351,414,38,16366],\n[M,415,14,16383,415,67,16436],\n[M,415,15,16384,415,22,16391],\n[M,416,23,16461,416,44,16482],\n[M,416,14,16452,416,45,16483],\n[M,415,24,16393,415,66,16435],\n[M,414,14,16342,414,39,16367],\n[M,413,24,16300,413,49,16325],\n[M,412,14,16255,412,33,16274],\n[M,409,10,16143,416,46,16484],\n[M,408,8,16098,418,11,16537],\n[M,417,20,16505,417,40,16525],\n[M,417,10,16495,417,40,16525],\n[M,408,14,16104,408,20,16110],\n[M,408,22,16112,408,41,16131],\n[M,420,8,16558,420,28,16578],\n[M,407,14,16065,407,37,16088],\n[M,423,4,16602,429,7,16839],\n[M,424,6,16636,428,40,16831],\n[M,424,7,16637,424,15,16645],\n[M,425,8,16655,425,44,16691],\n[M,425,9,16656,425,16,16663],\n[M,426,17,16710,426,32,16725],\n[M,427,8,16736,427,61,16789],\n[M,427,9,16737,427,16,16744],\n[M,428,17,16808,428,38,16829],\n[M,428,8,16799,428,39,16830],\n[M,427,18,16746,427,60,16788],\n[M,426,8,16701,426,33,16726],\n[M,425,18,16665,425,43,16690],\n[M,430,4,16845,436,7,17061],\n[M,432,8,16915,435,51,17052],\n[M,432,9,16916,432,13,16920],\n[M,433,22,16944,433,30,16952],\n[M,434,22,16977,434,43,16998],\n[M,435,33,17034,435,48,17049],\n[M,431,6,16873,435,52,17053],\n[M,435,10,17011,435,50,17051],\n[M,435,22,17023,435,49,17050],\n[M,434,10,16965,434,44,16999],\n[M,433,10,16932,433,31,16953],\n[M,438,4,17140,467,7,18677],\n[M,439,9,17226,439,17,17234],\n[M,439,9,17226,439,30,17247],\n[M,440,8,17257,440,28,17277],\n[M,441,28,17306,441,36,17314],\n[M,442,32,17349,442,40,17357],\n[M,444,22,17412,444,36,17426],\n[M,444,22,17412,444,61,17451],\n[M,445,12,17464,461,40,18565],\n[M,445,13,17465,445,21,17473],\n[M,446,14,17489,446,28,17503],\n[M,446,14,17489,446,52,17527],\n[M,447,24,17553,447,32,17561],\n[M,449,16,17608,449,75,17667],\n[M,449,17,17609,449,21,17613],\n[M,450,36,17706,450,50,17720],\n[M,460,22,18480,460,64,18522],\n[M,460,23,18481,460,27,18485],\n[M,461,23,18548,461,38,18563],\n[M,461,14,18539,461,39,18564],\n[M,448,14,17578,460,65,18523],\n[M,449,16,17608,460,64,18522],\n[M,460,29,18487,460,63,18521],\n[M,449,16,17608,460,19,18477],\n[M,451,35,17757,451,104,17826],\n[M,451,36,17758,451,40,17762],\n[M,451,78,17800,451,98,17820],\n[M,451,79,17801,451,86,17808],\n[M,451,88,17810,451,97,17819],\n[M,451,42,17764,451,103,17825],\n[M,451,55,17777,451,75,17797],\n[M,451,18,17740,451,104,17826],\n[M,450,16,17686,460,19,18477],\n[M,452,35,17862,452,117,17944],\n[M,452,36,17863,452,40,17867],\n[M,452,78,17905,452,111,17938],\n[M,452,79,17906,452,86,17913],\n[M,452,88,17915,452,102,17929],\n[M,452,88,17915,452,108,17935],\n[M,452,88,17915,452,110,17937],\n[M,452,42,17869,452,116,17943],\n[M,452,55,17882,452,76,17903],\n[M,452,18,17845,452,117,17944],\n[M,453,35,17980,453,118,18063],\n[M,453,36,17981,453,40,17985],\n[M,453,79,18024,453,112,18057],\n[M,453,80,18025,453,87,18032],\n[M,453,89,18034,453,103,18048],\n[M,453,89,18034,453,109,18054],\n[M,453,89,18034,453,111,18056],\n[M,453,42,17987,453,117,18062],\n[M,453,55,18000,453,77,18022],\n[M,453,18,17963,453,118,18063],\n[M,455,39,18140,455,58,18159],\n[M,456,35,18225,456,100,18290],\n[M,456,36,18226,456,40,18230],\n[M,456,80,18270,456,94,18284],\n[M,456,81,18271,456,88,18278],\n[M,456,90,18280,456,93,18283],\n[M,456,42,18232,456,99,18289],\n[M,456,55,18245,456,76,18266],\n[M,456,22,18212,456,100,18290],\n[M,455,20,18121,459,23,18457],\n[M,458,24,18351,458,106,18433],\n[M,458,25,18352,458,29,18356],\n[M,458,67,18394,458,100,18427],\n[M,458,68,18395,458,75,18402],\n[M,458,77,18404,458,91,18418],\n[M,458,77,18404,458,97,18424],\n[M,458,77,18404,458,99,18426],\n[M,458,31,18358,458,105,18432],\n[M,458,44,18371,458,64,18391],\n[M,457,22,18313,458,106,18433],\n[M,455,26,18127,455,37,18138],\n[M,454,18,18082,459,23,18457],\n[M,450,22,17692,450,34,17704],\n[M,449,23,17615,449,74,17666],\n[M,447,14,17543,447,33,17562],\n[M,443,10,17370,461,40,18565],\n[M,442,8,17325,463,11,18618],\n[M,462,20,18586,462,40,18606],\n[M,462,10,18576,462,40,18606],\n[M,442,14,17331,442,20,17337],\n[M,442,22,17339,442,41,17358],\n[M,465,8,18639,465,28,18659],\n[M,441,14,17292,441,37,17315],\n[M,468,4,18683,472,7,18827],\n[M,469,6,18717,471,34,18819],\n[M,469,7,18718,469,15,18726],\n[M,470,8,18736,470,55,18783],\n[M,470,9,18737,470,16,18744],\n[M,471,17,18802,471,32,18817],\n[M,471,8,18793,471,33,18818],\n[M,470,18,18746,470,54,18782],\n[M,473,4,18833,477,7,19004],\n[M,476,16,18980,476,31,18995],\n[M,476,6,18970,476,32,18996],\n[M,478,4,19010,484,7,19213],\n[M,480,8,19074,483,38,19204],\n[M,480,9,19075,480,13,19079],\n[M,481,22,19103,481,30,19111],\n[M,482,33,19147,482,48,19162],\n[M,483,22,19188,483,36,19202],\n[M,479,6,19038,483,39,19205],\n[M,483,10,19176,483,37,19203],\n[M,482,10,19124,482,50,19164],\n[M,482,22,19136,482,49,19163],\n[M,481,10,19091,481,31,19112],\n[M,486,4,19316,517,7,20607],\n[M,487,9,19402,487,17,19410],\n[M,487,9,19402,487,30,19423],\n[M,488,8,19439,488,28,19459],\n[M,489,28,19488,489,36,19496],\n[M,490,32,19531,490,40,19539],\n[M,492,22,19594,492,34,19606],\n[M,492,22,19594,492,59,19631],\n[M,493,42,19674,493,54,19686],\n[M,493,42,19674,493,61,19693],\n[M,493,64,19696,493,84,19716],\n[M,493,65,19697,493,72,19704],\n[M,493,74,19706,493,83,19715],\n[M,494,26,19747,494,43,19764],\n[M,496,16,19811,505,40,20242],\n[M,496,17,19812,496,25,19820],\n[M,497,18,19840,497,30,19852],\n[M,497,18,19840,497,54,19876],\n[M,498,28,19906,498,36,19914],\n[M,499,18,19935,505,24,20226],\n[M,499,19,19936,499,26,19943],\n[M,501,23,20050,501,34,20061],\n[M,505,26,20228,505,39,20241],\n[M,502,22,20085,502,43,20106],\n[M,504,22,20155,504,68,20201],\n[M,500,20,19965,500,72,20017],\n[M,498,18,19896,498,37,19915],\n[M,495,14,19780,505,40,20242],\n[M,494,12,19733,511,15,20495],\n[M,507,16,20283,510,90,20479],\n[M,507,17,20284,507,25,20292],\n[M,508,18,20312,508,30,20324],\n[M,508,18,20312,508,54,20348],\n[M,509,28,20378,509,36,20386],\n[M,510,18,20407,510,89,20478],\n[M,510,19,20408,510,26,20415],\n[M,510,28,20417,510,80,20469],\n[M,509,18,20368,509,37,20387],\n[M,506,14,20257,510,90,20479],\n[M,494,18,19739,494,24,19745],\n[M,493,21,19653,493,88,19720],\n[M,493,34,19666,493,62,19694],\n[M,491,10,19552,511,15,20495],\n[M,490,8,19507,513,11,20548],\n[M,512,20,20516,512,40,20536],\n[M,512,10,20506,512,40,20536],\n[M,490,14,19513,490,20,19519],\n[M,490,22,19521,490,41,19540],\n[M,515,8,20569,515,28,20589],\n[M,489,14,19474,489,37,19497],\n[M,518,4,20613,532,7,21156],\n[M,519,20,20661,519,37,20678],\n[M,521,10,20713,527,37,21000],\n[M,521,11,20714,521,19,20722],\n[M,522,12,20736,527,21,20984],\n[M,522,13,20737,522,20,20744],\n[M,522,76,20800,522,88,20812],\n[M,522,76,20800,522,95,20819],\n[M,523,19,20841,523,30,20852],\n[M,527,23,20986,527,36,20999],\n[M,522,22,20746,527,20,20983],\n[M,522,30,20754,527,19,20982],\n[M,522,30,20754,522,95,20819],\n[M,520,8,20688,527,37,21000],\n[M,519,6,20647,531,9,21148],\n[M,529,10,21029,530,98,21138],\n[M,529,11,21030,529,19,21038],\n[M,530,12,21052,530,97,21137],\n[M,530,13,21053,530,20,21060],\n[M,530,76,21116,530,88,21128],\n[M,530,76,21116,530,95,21135],\n[M,530,22,21062,530,96,21136],\n[M,530,30,21070,530,95,21135],\n[M,528,8,21009,530,98,21138],\n[M,519,12,20653,519,18,20659],\n[M,534,4,21231,562,7,22349],\n[M,535,9,21317,535,17,21325],\n[M,535,9,21317,535,30,21338],\n[M,536,8,21348,536,28,21368],\n[M,537,28,21397,537,36,21405],\n[M,538,32,21440,538,40,21448],\n[M,540,22,21503,540,34,21515],\n[M,540,22,21503,540,59,21540],\n[M,541,22,21563,541,36,21577],\n[M,541,22,21563,541,42,21583],\n[M,542,42,21626,542,54,21638],\n[M,542,42,21626,542,61,21645],\n[M,542,65,21649,542,85,21669],\n[M,542,66,21650,542,73,21657],\n[M,542,75,21659,542,84,21668],\n[M,543,56,21730,543,76,21750],\n[M,543,57,21731,543,64,21738],\n[M,543,66,21740,543,75,21749],\n[M,545,12,21768,556,33,22237],\n[M,545,13,21769,545,21,21777],\n[M,546,14,21793,546,26,21805],\n[M,546,14,21793,546,50,21829],\n[M,547,24,21855,547,32,21863],\n[M,548,14,21880,555,33,22202],\n[M,548,15,21881,548,22,21888],\n[M,556,23,22227,556,31,22235],\n[M,556,14,22218,556,32,22236],\n[M,555,16,22185,555,32,22201],\n[M,553,16,22096,553,63,22143],\n[M,551,16,21983,551,87,22054],\n[M,549,16,21906,549,51,21941],\n[M,547,14,21845,547,33,21864],\n[M,543,21,21695,543,80,21754],\n[M,543,34,21708,543,54,21728],\n[M,542,21,21605,542,89,21673],\n[M,542,34,21618,542,62,21646],\n[M,539,10,21461,556,33,22237],\n[M,538,8,21416,558,11,22290],\n[M,557,20,22258,557,40,22278],\n[M,557,10,22248,557,40,22278],\n[M,538,14,21422,538,20,21428],\n[M,538,22,21430,538,41,21449],\n[M,560,8,22311,560,28,22331],\n[M,537,14,21383,537,37,21406],\n[M,563,4,22355,567,7,22521],\n[M,564,6,22389,566,50,22513],\n[M,564,7,22390,564,15,22398],\n[M,565,8,22408,565,61,22461],\n[M,565,9,22409,565,16,22416],\n[M,566,8,22471,566,49,22512],\n[M,566,9,22472,566,16,22479],\n[M,566,38,22501,566,46,22509],\n[M,566,18,22481,566,48,22511],\n[M,566,27,22490,566,47,22510],\n[M,565,18,22418,565,60,22460],\n[M,568,4,22527,574,7,22734],\n[M,570,8,22607,573,33,22725],\n[M,570,9,22608,570,13,22612],\n[M,571,22,22636,571,30,22644],\n[M,572,33,22680,572,41,22688],\n[M,573,22,22714,573,31,22723],\n[M,569,6,22555,573,34,22726],\n[M,573,10,22702,573,32,22724],\n[M,572,10,22657,572,43,22690],\n[M,572,22,22669,572,42,22689],\n[M,571,10,22624,571,31,22645],\n[M,576,4,22812,608,7,24117],\n[M,577,9,22898,577,17,22906],\n[M,577,9,22898,577,30,22919],\n[M,578,8,22929,578,28,22949],\n[M,579,28,22978,579,36,22986],\n[M,580,32,23021,580,40,23029],\n[M,582,22,23084,582,34,23096],\n[M,582,22,23084,582,59,23121],\n[M,583,22,23144,583,36,23158],\n[M,583,22,23144,583,42,23164],\n[M,584,42,23207,584,54,23219],\n[M,584,42,23207,584,61,23226],\n[M,584,65,23230,584,85,23250],\n[M,584,66,23231,584,73,23238],\n[M,584,75,23240,584,84,23249],\n[M,585,56,23311,585,76,23331],\n[M,585,57,23312,585,64,23319],\n[M,585,66,23321,585,75,23330],\n[M,587,12,23349,602,33,24005],\n[M,587,13,23350,587,21,23358],\n[M,588,14,23374,589,53,23437],\n[M,588,15,23375,588,22,23382],\n[M,589,16,23400,589,28,23412],\n[M,589,16,23400,589,52,23436],\n[M,593,24,23620,593,32,23628],\n[M,594,14,23645,601,32,23970],\n[M,594,15,23646,594,22,23653],\n[M,602,23,23995,602,31,24003],\n[M,602,14,23986,602,32,24004],\n[M,601,16,23954,601,31,23969],\n[M,599,16,23865,599,63,23912],\n[M,597,16,23748,597,91,23823],\n[M,595,16,23671,595,51,23706],\n[M,593,14,23610,593,33,23629],\n[M,585,21,23276,585,80,23335],\n[M,585,34,23289,585,54,23309],\n[M,584,21,23186,584,89,23254],\n[M,584,34,23199,584,62,23227],\n[M,581,10,23042,602,33,24005],\n[M,580,8,22997,604,11,24058],\n[M,603,20,24026,603,40,24046],\n[M,603,10,24016,603,40,24046],\n[M,580,14,23003,580,20,23009],\n[M,580,22,23011,580,41,23030],\n[M,606,8,24079,606,28,24099],\n[M,579,14,22964,579,37,22987],\n[M,609,4,24123,613,7,24316],\n[M,610,6,24157,612,50,24308],\n[M,610,7,24158,610,15,24166],\n[M,611,8,24176,611,88,24256],\n[M,611,9,24177,611,16,24184],\n[M,612,8,24266,612,49,24307],\n[M,612,9,24267,612,16,24274],\n[M,612,38,24296,612,46,24304],\n[M,612,18,24276,612,48,24306],\n[M,612,27,24285,612,47,24305],\n[M,611,18,24186,611,87,24255],\n[M,614,4,24322,620,7,24532],\n[M,616,8,24405,619,33,24523],\n[M,616,9,24406,616,13,24410],\n[M,617,22,24434,617,30,24442],\n[M,618,33,24478,618,41,24486],\n[M,619,22,24512,619,31,24521],\n[M,615,6,24350,619,34,24524],\n[M,619,10,24500,619,32,24522],\n[M,618,10,24455,618,43,24488],\n[M,618,22,24467,618,42,24487],\n[M,617,10,24422,617,31,24443],\n[M,624,4,24739,628,7,24996],\n[M,625,6,24822,627,46,24988],\n[M,625,7,24823,625,15,24831],\n[M,626,8,24841,626,107,24940],\n[M,626,9,24842,626,16,24849],\n[M,627,8,24950,627,45,24987],\n[M,627,9,24951,627,16,24958],\n[M,627,27,24969,627,43,24985],\n[M,627,18,24960,627,44,24986],\n[M,626,18,24851,626,106,24939],\n[M,629,4,25002,633,7,25210],\n[M,630,6,25036,632,46,25202],\n[M,630,7,25037,630,15,25045],\n[M,631,8,25055,631,107,25154],\n[M,631,9,25056,631,16,25063],\n[M,632,8,25164,632,45,25201],\n[M,632,9,25165,632,16,25172],\n[M,632,27,25183,632,43,25199],\n[M,632,18,25174,632,44,25200],\n[M,631,18,25065,631,106,25153],\n[M,635,4,25280,653,7,26247],\n[M,636,9,25366,636,17,25374],\n[M,636,9,25366,636,30,25387],\n[M,637,8,25397,637,28,25417],\n[M,638,28,25446,638,36,25454],\n[M,639,32,25489,639,40,25497],\n[M,641,64,25594,641,110,25640],\n[M,641,65,25595,641,72,25602],\n[M,641,74,25604,641,107,25637],\n[M,641,74,25604,641,109,25639],\n[M,642,12,25657,645,79,25929],\n[M,642,13,25658,642,21,25666],\n[M,643,14,25682,643,145,25813],\n[M,643,15,25683,643,22,25690],\n[M,643,85,25753,643,95,25763],\n[M,644,24,25839,644,32,25847],\n[M,645,14,25864,645,78,25928],\n[M,645,15,25865,645,22,25872],\n[M,645,62,25912,645,76,25926],\n[M,645,53,25903,645,77,25927],\n[M,645,24,25874,645,51,25901],\n[M,644,14,25829,644,33,25848],\n[M,643,51,25719,643,144,25812],\n[M,643,59,25727,643,143,25811],\n[M,643,59,25727,643,96,25764],\n[M,643,75,25743,643,96,25764],\n[M,643,24,25692,643,39,25707],\n[M,641,23,25553,641,114,25644],\n[M,641,36,25566,641,61,25591],\n[M,640,10,25510,645,79,25929],\n[M,639,8,25465,651,11,26229],\n[M,647,12,25962,650,34,26217],\n[M,647,13,25963,647,21,25971],\n[M,648,14,25987,648,157,26130],\n[M,648,15,25988,648,22,25995],\n[M,648,76,26049,648,86,26059],\n[M,649,14,26146,649,49,26181],\n[M,649,15,26147,649,22,26154],\n[M,649,33,26165,649,47,26179],\n[M,650,24,26207,650,32,26215],\n[M,650,14,26197,650,33,26216],\n[M,649,24,26156,649,48,26180],\n[M,648,24,25997,648,156,26129],\n[M,648,32,26005,648,155,26128],\n[M,648,32,26005,648,87,26060],\n[M,648,66,26039,648,87,26060],\n[M,646,10,25940,650,34,26217],\n[M,639,14,25471,639,20,25477],\n[M,639,22,25479,639,41,25498],\n[M,636,6,25363,652,9,26239],\n[M,638,14,25432,638,37,25455],\n[M,654,4,26253,658,7,26503],\n[M,655,6,26287,657,44,26495],\n[M,655,7,26288,655,15,26296],\n[M,656,8,26306,656,151,26449],\n[M,656,9,26307,656,16,26314],\n[M,656,70,26368,656,80,26378],\n[M,657,8,26459,657,43,26494],\n[M,657,9,26460,657,16,26467],\n[M,657,27,26478,657,41,26492],\n[M,657,18,26469,657,42,26493],\n[M,656,18,26316,656,150,26448],\n[M,656,26,26324,656,149,26447],\n[M,656,26,26324,656,81,26379],\n[M,656,60,26358,656,81,26379],\n[M,660,4,26593,682,7,27746],\n[M,661,9,26679,661,17,26687],\n[M,661,9,26679,661,30,26700],\n[M,662,8,26710,662,28,26730],\n[M,663,28,26759,663,36,26767],\n[M,664,32,26802,664,40,26810],\n[M,666,22,26865,666,35,26878],\n[M,666,22,26865,666,60,26903],\n[M,667,42,26946,667,55,26959],\n[M,667,42,26946,667,62,26966],\n[M,667,66,26970,667,86,26990],\n[M,667,67,26971,667,74,26978],\n[M,667,76,26980,667,85,26989],\n[M,668,64,27059,668,110,27105],\n[M,668,65,27060,668,72,27067],\n[M,668,74,27069,668,107,27102],\n[M,668,74,27069,668,109,27104],\n[M,669,12,27122,673,58,27399],\n[M,669,13,27123,669,21,27131],\n[M,670,14,27147,670,86,27219],\n[M,670,15,27148,670,22,27155],\n[M,671,24,27245,671,32,27253],\n[M,672,14,27270,673,57,27398],\n[M,672,15,27271,672,22,27278],\n[M,672,66,27322,672,82,27338],\n[M,673,16,27357,673,48,27389],\n[M,672,57,27313,672,83,27339],\n[M,672,24,27280,672,55,27311],\n[M,671,14,27235,671,33,27254],\n[M,670,51,27184,670,85,27218],\n[M,670,24,27157,670,39,27172],\n[M,668,23,27018,668,114,27109],\n[M,668,36,27031,668,61,27056],\n[M,667,21,26925,667,90,26994],\n[M,667,34,26938,667,63,26967],\n[M,665,10,26823,673,58,27399],\n[M,664,8,26778,680,11,27728],\n[M,675,12,27432,679,34,27716],\n[M,675,13,27433,675,21,27441],\n[M,676,14,27457,676,103,27546],\n[M,676,15,27458,676,22,27465],\n[M,677,14,27562,677,51,27599],\n[M,677,15,27563,677,22,27570],\n[M,677,33,27581,677,49,27597],\n[M,678,14,27615,678,79,27680],\n[M,678,15,27616,678,22,27623],\n[M,678,57,27658,678,70,27671],\n[M,678,57,27658,678,77,27678],\n[M,679,24,27706,679,32,27714],\n[M,679,14,27696,679,33,27715],\n[M,678,24,27625,678,78,27679],\n[M,678,32,27633,678,77,27678],\n[M,677,24,27572,677,50,27598],\n[M,676,24,27467,676,102,27545],\n[M,674,10,27410,679,34,27716],\n[M,664,14,26784,664,20,26790],\n[M,664,22,26792,664,41,26811],\n[M,661,6,26676,681,9,27738],\n[M,663,14,26745,663,37,26768],\n[M,683,4,27752,687,7,27950],\n[M,684,6,27786,686,46,27942],\n[M,684,7,27787,684,15,27795],\n[M,685,8,27805,685,97,27894],\n[M,685,9,27806,685,16,27813],\n[M,686,8,27904,686,45,27941],\n[M,686,9,27905,686,16,27912],\n[M,686,27,27923,686,43,27939],\n[M,686,18,27914,686,44,27940],\n[M,685,18,27815,685,96,27893],\n[M,95,2,2469,95,23,2490],\n[M,95,19,2486,95,22,2489],\n[M,96,2,2493,155,7,5255],\n[M,96,29,2520,96,32,2523],\n[M,156,2,5258,239,7,9334],\n[M,156,35,5291,156,38,5294],\n[M,156,53,5309,156,80,5336],\n[M,240,2,9337,295,7,11904],\n[M,240,33,9368,240,36,9371],\n[M,296,2,11907,330,7,13179],\n[M,296,33,11938,296,36,11941],\n[M,331,2,13182,365,7,14532],\n[M,331,36,13216,331,39,13219],\n[M,366,2,14535,402,8,15826],\n[M,366,29,14562,366,32,14565],\n[M,403,2,15829,436,8,17062],\n[M,403,29,15856,403,32,15859],\n[M,437,2,17065,484,8,19214],\n[M,437,23,17086,437,26,17089],\n[M,437,53,17116,437,65,17128],\n[M,485,2,19217,532,7,21156],\n[M,485,26,19241,485,29,19244],\n[M,485,47,19262,485,61,19276],\n[M,485,82,19297,485,89,19304],\n[M,533,2,21159,574,7,22734],\n[M,533,39,21196,533,42,21199],\n[M,575,2,22737,620,7,24532],\n[M,575,42,22777,575,45,22780],\n[M,623,2,24638,633,7,25210],\n[M,623,29,24665,623,32,24668],\n[M,634,2,25213,658,7,26503],\n[M,634,26,25237,634,29,25240],\n[M,634,51,25262,634,57,25268],\n[M,659,2,26506,687,7,27950],\n[M,659,34,26538,659,37,26541],\n[M,94,0,2450,692,3,28134],\n[M,694,0,28136,1327,3,58277],\n[M,695,22,28232,695,30,28240],\n[M,695,23,28233,695,27,28237],\n[M,696,2,28243,698,5,28344],\n[M,697,21,28311,697,32,28322],\n[M,697,22,28312,697,26,28316],\n[M,697,21,28311,697,48,28338],\n[M,696,30,28271,696,46,28287],\n[M,699,24,28369,699,32,28377],\n[M,699,25,28370,699,29,28374],\n[M,700,2,28380,702,5,28469],\n[M,701,23,28436,701,32,28445],\n[M,701,24,28437,701,28,28441],\n[M,701,23,28436,701,50,28463],\n[M,700,22,28400,700,32,28410],\n[M,703,2,28472,718,5,29064],\n[M,704,4,28503,717,7,29058],\n[M,706,59,28656,706,63,28660],\n[M,706,31,28628,706,75,28672],\n[M,709,61,28816,709,65,28820],\n[M,709,33,28788,709,78,28833],\n[M,711,25,28873,711,57,28905],\n[M,711,42,28890,711,46,28894],\n[M,711,48,28896,711,52,28900],\n[M,711,32,28880,711,53,28901],\n[M,712,63,28970,712,68,28975],\n[M,712,35,28942,712,85,28992],\n[M,713,16,29009,713,21,29014],\n[M,712,13,28920,712,33,28940],\n[M,711,16,28864,711,58,28906],\n[M,709,11,28766,709,30,28785],\n[M,708,13,28698,708,69,28754],\n[M,708,57,28742,708,64,28749],\n[M,706,9,28606,706,28,28625],\n[M,705,11,28543,705,64,28596],\n[M,705,53,28585,705,59,28591],\n[M,719,2,29067,738,5,29868],\n[M,720,4,29104,737,7,29862],\n[M,722,59,29264,722,63,29268],\n[M,722,31,29236,722,75,29280],\n[M,725,61,29424,725,65,29428],\n[M,725,33,29396,725,78,29441],\n[M,728,63,29591,728,67,29595],\n[M,728,35,29563,728,79,29607],\n[M,730,27,29651,730,65,29689],\n[M,730,44,29668,730,48,29672],\n[M,730,50,29674,730,54,29678],\n[M,730,56,29680,730,60,29684],\n[M,730,34,29658,730,61,29685],\n[M,731,65,29756,731,70,29761],\n[M,731,37,29728,731,87,29778],\n[M,732,18,29797,732,23,29802],\n[M,731,15,29706,731,35,29726],\n[M,730,18,29642,730,66,29690],\n[M,728,13,29541,728,32,29560],\n[M,727,15,29471,727,71,29527],\n[M,727,59,29515,727,66,29522],\n[M,725,11,29374,725,30,29393],\n[M,724,13,29306,724,69,29362],\n[M,724,57,29350,724,64,29357],\n[M,722,9,29214,722,28,29233],\n[M,721,11,29151,721,64,29204],\n[M,721,53,29193,721,59,29199],\n[M,739,2,29871,745,5,30022],\n[M,741,6,29943,741,30,29967],\n[M,743,6,29984,743,30,30008],\n[M,743,17,29995,743,29,30007],\n[M,746,2,30025,746,54,30077],\n[M,746,42,30065,746,50,30073],\n[M,746,43,30066,746,47,30070],\n[M,748,4,30086,761,7,30718],\n[M,750,8,30205,759,11,30700],\n[M,753,28,30333,753,33,30338],\n[M,755,61,30440,755,67,30446],\n[M,755,69,30448,755,79,30458],\n[M,755,81,30460,755,96,30475],\n[M,755,25,30404,755,121,30500],\n[M,755,12,30391,755,121,30500],\n[M,754,10,30350,757,13,30644],\n[M,756,64,30565,756,70,30571],\n[M,756,72,30573,756,82,30583],\n[M,756,84,30585,756,99,30600],\n[M,756,28,30529,756,129,30630],\n[M,756,12,30513,756,129,30630],\n[M,754,16,30356,754,29,30369],\n[M,753,19,30324,753,34,30339],\n[M,752,10,30289,752,25,30304],\n[M,749,25,30157,749,56,30188],\n[M,762,4,30724,772,7,31227],\n[M,763,6,30777,770,9,31205],\n[M,766,33,30947,766,110,31024],\n[M,766,10,30924,766,110,31024],\n[M,765,8,30882,769,11,31195],\n[M,767,33,31058,767,100,31125],\n[M,767,10,31035,767,100,31125],\n[M,768,33,31159,768,57,31183],\n[M,768,10,31136,768,57,31183],\n[M,765,14,30888,765,28,30902],\n[M,764,19,30852,764,40,30873],\n[M,773,4,31233,789,7,32122],\n[M,774,6,31299,787,9,32100],\n[M,777,33,31490,777,111,31568],\n[M,777,10,31467,777,111,31568],\n[M,776,8,31425,786,11,32090],\n[M,778,33,31602,778,101,31670],\n[M,778,10,31579,778,101,31670],\n[M,782,37,31818,782,114,31895],\n[M,782,14,31795,782,114,31895],\n[M,781,12,31749,785,15,32078],\n[M,783,37,31933,783,104,32000],\n[M,783,14,31910,783,104,32000],\n[M,784,37,32038,784,61,32062],\n[M,784,14,32015,784,61,32062],\n[M,781,18,31755,781,32,31769],\n[M,780,23,31715,780,44,31736],\n[M,780,12,31704,780,44,31736],\n[M,779,10,31681,785,15,32078],\n[M,776,14,31431,776,28,31445],\n[M,775,19,31395,775,40,31416],\n[M,790,4,32128,800,7,32657],\n[M,791,6,32189,798,9,32635],\n[M,792,19,32264,792,50,32295],\n[M,794,33,32377,794,110,32454],\n[M,794,10,32354,794,110,32454],\n[M,793,8,32312,797,11,32625],\n[M,795,33,32488,795,100,32555],\n[M,795,10,32465,795,100,32555],\n[M,796,33,32589,796,57,32613],\n[M,796,10,32566,796,57,32613],\n[M,793,14,32318,793,28,32332],\n[M,792,19,32264,792,58,32303],\n[M,801,4,32663,818,7,33656],\n[M,802,6,32737,816,9,33634],\n[M,804,19,32857,804,44,32882],\n[M,806,33,33012,806,111,33090],\n[M,806,10,32989,806,111,33090],\n[M,805,8,32947,815,11,33624],\n[M,807,33,33124,807,101,33192],\n[M,807,10,33101,807,101,33192],\n[M,809,23,33237,809,48,33262],\n[M,811,37,33352,811,114,33429],\n[M,811,14,33329,811,114,33429],\n[M,810,12,33283,814,15,33612],\n[M,812,37,33467,812,104,33534],\n[M,812,14,33444,812,104,33534],\n[M,813,37,33572,813,61,33596],\n[M,813,14,33549,813,61,33596],\n[M,810,18,33289,810,32,33303],\n[M,809,23,33237,809,56,33270],\n[M,808,10,33203,814,15,33612],\n[M,805,14,32953,805,28,32967],\n[M,804,19,32857,804,52,32890],\n[M,819,4,33662,829,7,34173],\n[M,820,6,33719,827,9,34151],\n[M,823,33,33889,823,110,33966],\n[M,823,10,33866,823,110,33966],\n[M,822,8,33824,826,11,34141],\n[M,824,33,34000,824,104,34071],\n[M,824,10,33977,824,104,34071],\n[M,825,33,34105,825,57,34129],\n[M,825,10,34082,825,57,34129],\n[M,822,14,33830,822,28,33844],\n[M,821,19,33794,821,40,33815],\n[M,830,4,34179,846,7,35130],\n[M,831,6,34249,844,9,35108],\n[M,834,34,34478,834,112,34556],\n[M,834,10,34454,834,112,34556],\n[M,833,8,34412,843,11,35098],\n[M,835,33,34590,835,105,34662],\n[M,835,10,34567,835,105,34662],\n[M,839,37,34822,839,114,34899],\n[M,839,14,34799,839,114,34899],\n[M,838,12,34753,842,15,35086],\n[M,840,37,34937,840,108,35008],\n[M,840,14,34914,840,108,35008],\n[M,841,37,35046,841,61,35070],\n[M,841,14,35023,841,61,35070],\n[M,838,18,34759,838,32,34773],\n[M,837,23,34719,837,44,34740],\n[M,837,12,34708,837,44,34740],\n[M,836,10,34673,842,15,35086],\n[M,833,14,34418,833,28,34432],\n[M,832,19,34345,832,40,34366],\n[M,847,4,35136,867,7,36270],\n[M,848,6,35212,865,9,36248],\n[M,849,38,35306,849,67,35335],\n[M,849,45,35313,849,63,35331],\n[M,852,75,35475,852,121,35521],\n[M,853,18,35540,853,66,35588],\n[M,852,45,35445,852,73,35473],\n[M,852,15,35415,852,41,35441],\n[M,851,20,35384,851,35,35399],\n[M,851,12,35376,851,35,35399],\n[M,850,10,35348,854,15,35604],\n[M,849,8,35276,864,11,36238],\n[M,857,50,35705,857,130,35785],\n[M,859,50,35875,859,129,35954],\n[M,861,50,36049,861,136,36135],\n[M,862,50,36186,862,74,36210],\n[M,860,16,35971,861,43,36042],\n[M,858,17,35803,858,37,35823],\n[M,857,16,35671,857,39,35694],\n[M,855,10,35615,863,15,36226],\n[M,849,14,35282,849,27,35295],\n[M,849,29,35297,849,68,35336],\n[M,868,4,36276,904,7,38541],\n[M,869,6,36365,902,9,38519],\n[M,870,38,36480,870,67,36509],\n[M,870,45,36487,870,63,36505],\n[M,873,75,36684,873,121,36730],\n[M,874,18,36749,874,66,36797],\n[M,873,45,36654,873,73,36682],\n[M,873,15,36624,873,41,36650],\n[M,872,20,36593,872,35,36608],\n[M,872,12,36585,872,35,36608],\n[M,871,10,36557,875,15,36813],\n[M,870,8,36450,901,11,38509],\n[M,878,51,36916,878,133,36998],\n[M,880,51,37090,880,131,37170],\n[M,882,51,37267,882,139,37355],\n[M,884,46,37429,884,75,37458],\n[M,884,53,37436,884,71,37454],\n[M,887,83,37622,887,129,37668],\n[M,888,26,37695,888,74,37743],\n[M,887,53,37592,887,81,37620],\n[M,887,23,37562,887,49,37588],\n[M,886,28,37523,886,43,37538],\n[M,886,20,37515,886,43,37538],\n[M,885,18,37479,889,23,37767],\n[M,884,16,37399,899,19,38481],\n[M,892,58,37892,892,138,37972],\n[M,894,58,38078,894,137,38157],\n[M,896,58,38268,896,144,38354],\n[M,897,58,38413,897,82,38437],\n[M,895,24,38182,896,51,38261],\n[M,893,25,37998,893,45,38018],\n[M,892,24,37858,892,47,37881],\n[M,890,18,37786,898,23,38461],\n[M,884,22,37405,884,35,37418],\n[M,884,37,37420,884,76,37459],\n[M,881,16,37187,882,44,37260],\n[M,879,17,37016,879,38,37037],\n[M,878,16,36881,878,40,36905],\n[M,876,10,36824,900,15,38497],\n[M,870,14,36456,870,27,36469],\n[M,870,29,36471,870,68,36510],\n[M,905,4,38547,925,7,39700],\n[M,906,6,38627,923,9,39678],\n[M,907,38,38721,907,67,38750],\n[M,907,45,38728,907,63,38746],\n[M,910,75,38890,910,121,38936],\n[M,911,18,38955,911,66,39003],\n[M,910,45,38860,910,73,38888],\n[M,910,15,38830,910,41,38856],\n[M,909,20,38799,909,35,38814],\n[M,909,12,38791,909,35,38814],\n[M,908,10,38763,912,15,39019],\n[M,907,8,38691,922,11,39668],\n[M,915,53,39123,915,133,39203],\n[M,917,53,39295,917,136,39378],\n[M,919,53,39476,919,139,39562],\n[M,920,53,39616,920,77,39640],\n[M,918,16,39395,919,46,39469],\n[M,916,17,39221,916,36,39240],\n[M,915,16,39086,915,39,39109],\n[M,913,10,39030,921,15,39656],\n[M,907,14,38697,907,27,38710],\n[M,907,29,38712,907,68,38751],\n[M,926,4,39706,962,7,42002],\n[M,927,6,39799,960,9,41980],\n[M,928,38,39914,928,67,39943],\n[M,928,45,39921,928,63,39939],\n[M,931,75,40118,931,121,40164],\n[M,932,18,40183,932,66,40231],\n[M,931,45,40088,931,73,40116],\n[M,931,15,40058,931,41,40084],\n[M,930,20,40027,930,35,40042],\n[M,930,12,40019,930,35,40042],\n[M,929,10,39991,933,15,40247],\n[M,928,8,39884,959,11,41970],\n[M,936,54,40353,936,136,40435],\n[M,938,54,40529,938,138,40613],\n[M,940,54,40713,940,142,40801],\n[M,942,46,40875,942,75,40904],\n[M,942,53,40882,942,71,40900],\n[M,945,83,41068,945,129,41114],\n[M,946,26,41141,946,74,41189],\n[M,945,53,41038,945,81,41066],\n[M,945,23,41008,945,49,41034],\n[M,944,28,40969,944,43,40984],\n[M,944,20,40961,944,43,40984],\n[M,943,18,40925,947,23,41213],\n[M,942,16,40845,957,19,41942],\n[M,950,61,41341,950,141,41421],\n[M,952,61,41529,952,144,41612],\n[M,954,61,41726,954,147,41812],\n[M,955,61,41874,955,85,41898],\n[M,953,24,41637,954,54,41719],\n[M,951,25,41447,951,44,41466],\n[M,950,24,41304,950,47,41327],\n[M,948,18,41232,956,23,41922],\n[M,942,22,40851,942,35,40864],\n[M,942,37,40866,942,76,40905],\n[M,939,16,40630,940,47,40706],\n[M,937,17,40453,937,37,40473],\n[M,936,16,40315,936,40,40339],\n[M,934,10,40258,958,15,41958],\n[M,928,14,39890,928,27,39903],\n[M,928,29,39905,928,68,39944],\n[M,963,4,42008,980,7,42855],\n[M,964,6,42075,978,9,42833],\n[M,965,38,42168,965,55,42185],\n[M,965,45,42175,965,51,42181],\n[M,968,75,42325,968,113,42363],\n[M,969,18,42382,969,61,42425],\n[M,968,45,42295,968,73,42323],\n[M,968,15,42265,968,41,42291],\n[M,967,20,42234,967,35,42249],\n[M,967,12,42226,967,35,42249],\n[M,966,10,42198,970,15,42441],\n[M,965,8,42138,977,11,42823],\n[M,973,51,42543,973,120,42612],\n[M,974,51,42664,974,106,42719],\n[M,975,51,42771,975,75,42795],\n[M,974,16,42629,974,32,42645],\n[M,973,16,42508,973,44,42536],\n[M,973,20,42512,973,43,42535],\n[M,971,10,42452,976,15,42811],\n[M,965,14,42144,965,27,42157],\n[M,965,29,42159,965,56,42186],\n[M,981,4,42861,1011,7,44497],\n[M,982,6,42941,1009,9,44475],\n[M,983,38,43055,983,55,43072],\n[M,983,45,43062,983,51,43068],\n[M,986,75,43212,986,113,43250],\n[M,987,18,43269,987,61,43312],\n[M,986,45,43182,986,73,43210],\n[M,986,15,43152,986,41,43178],\n[M,985,20,43121,985,35,43136],\n[M,985,12,43113,985,35,43136],\n[M,984,10,43085,988,15,43328],\n[M,983,8,43025,1008,11,44465],\n[M,991,52,43432,991,123,43503],\n[M,992,52,43556,992,108,43612],\n[M,994,46,43686,994,63,43703],\n[M,994,53,43693,994,59,43699],\n[M,997,83,43867,997,121,43905],\n[M,998,26,43932,998,69,43975],\n[M,997,53,43837,997,81,43865],\n[M,997,23,43807,997,49,43833],\n[M,996,28,43768,996,43,43783],\n[M,996,20,43760,996,43,43783],\n[M,995,18,43724,999,23,43999],\n[M,994,16,43656,1006,19,44437],\n[M,1002,59,44125,1002,128,44194],\n[M,1003,59,44254,1003,114,44309],\n[M,1004,59,44369,1004,83,44393],\n[M,1003,24,44219,1003,40,44235],\n[M,1002,24,44090,1002,52,44118],\n[M,1002,28,44094,1002,51,44117],\n[M,1000,18,44018,1005,23,44417],\n[M,994,22,43662,994,35,43675],\n[M,994,37,43677,994,64,43704],\n[M,992,16,43520,992,33,43537],\n[M,991,16,43396,991,45,43425],\n[M,991,20,43400,991,44,43424],\n[M,989,10,43339,1007,15,44453],\n[M,983,14,43031,983,27,43044],\n[M,983,29,43046,983,56,43073],\n[M,1012,4,44503,1029,7,45357],\n[M,1013,6,44574,1027,9,45335],\n[M,1014,38,44667,1014,55,44684],\n[M,1014,45,44674,1014,51,44680],\n[M,1017,75,44824,1017,113,44862],\n[M,1018,18,44881,1018,61,44924],\n[M,1017,45,44794,1017,73,44822],\n[M,1017,15,44764,1017,41,44790],\n[M,1016,20,44733,1016,35,44748],\n[M,1016,12,44725,1016,35,44748],\n[M,1015,10,44697,1019,15,44940],\n[M,1014,8,44637,1026,11,45325],\n[M,1022,51,45042,1022,120,45111],\n[M,1023,51,45163,1023,109,45221],\n[M,1024,51,45273,1024,75,45297],\n[M,1022,16,45007,1022,44,45035],\n[M,1022,20,45011,1022,43,45034],\n[M,1020,10,44951,1025,15,45313],\n[M,1014,14,44643,1014,27,44656],\n[M,1014,29,44658,1014,56,44685],\n[M,1030,4,45363,1060,7,47009],\n[M,1031,6,45447,1058,9,46987],\n[M,1032,38,45561,1032,55,45578],\n[M,1032,45,45568,1032,51,45574],\n[M,1035,75,45718,1035,113,45756],\n[M,1036,18,45775,1036,61,45818],\n[M,1035,45,45688,1035,73,45716],\n[M,1035,15,45658,1035,41,45684],\n[M,1034,20,45627,1034,35,45642],\n[M,1034,12,45619,1034,35,45642],\n[M,1033,10,45591,1037,15,45834],\n[M,1032,8,45531,1057,11,46977],\n[M,1040,52,45938,1040,123,46009],\n[M,1041,52,46062,1041,111,46121],\n[M,1043,46,46195,1043,63,46212],\n[M,1043,53,46202,1043,59,46208],\n[M,1046,83,46376,1046,121,46414],\n[M,1047,26,46441,1047,69,46484],\n[M,1046,53,46346,1046,81,46374],\n[M,1046,23,46316,1046,49,46342],\n[M,1045,28,46277,1045,43,46292],\n[M,1045,20,46269,1045,43,46292],\n[M,1044,18,46233,1048,23,46508],\n[M,1043,16,46165,1055,19,46949],\n[M,1051,59,46634,1051,128,46703],\n[M,1052,59,46763,1052,117,46821],\n[M,1053,59,46881,1053,83,46905],\n[M,1051,24,46599,1051,52,46627],\n[M,1051,28,46603,1051,51,46626],\n[M,1049,18,46527,1054,23,46929],\n[M,1043,22,46171,1043,35,46184],\n[M,1043,37,46186,1043,64,46213],\n[M,1040,16,45902,1040,45,45931],\n[M,1040,20,45906,1040,44,45930],\n[M,1038,10,45845,1056,15,46965],\n[M,1032,14,45537,1032,27,45550],\n[M,1032,29,45552,1032,56,45579],\n[M,1061,4,47015,1067,7,47229],\n[M,1065,8,47157,1065,57,47206],\n[M,1063,6,47113,1065,58,47207],\n[M,1064,8,47137,1064,18,47147],\n[M,1068,4,47235,1074,7,47461],\n[M,1072,8,47386,1072,60,47438],\n[M,1070,6,47337,1072,61,47439],\n[M,1071,8,47361,1071,23,47376],\n[M,1071,12,47365,1071,22,47375],\n[M,1075,4,47467,1087,7,47916],\n[M,1078,21,47608,1078,78,47665],\n[M,1078,8,47595,1078,78,47665],\n[M,1077,6,47558,1085,9,47894],\n[M,1081,12,47765,1081,64,47817],\n[M,1083,12,47846,1083,36,47870],\n[M,1080,13,47702,1080,62,47751],\n[M,1080,33,47722,1080,55,47744],\n[M,1080,40,47729,1080,54,47743],\n[M,1079,8,47674,1084,13,47884],\n[M,1077,12,47564,1077,25,47577],\n[M,1076,15,47536,1076,30,47551],\n[M,1088,4,47922,1109,7,48795],\n[M,1091,21,48088,1091,79,48146],\n[M,1091,8,48075,1091,79,48146],\n[M,1090,6,48032,1107,9,48773],\n[M,1094,12,48246,1094,65,48299],\n[M,1098,27,48421,1098,84,48478],\n[M,1098,14,48408,1098,84,48478],\n[M,1097,12,48365,1105,15,48749],\n[M,1101,18,48596,1101,70,48648],\n[M,1103,18,48689,1103,42,48713],\n[M,1100,19,48527,1100,68,48576],\n[M,1100,39,48547,1100,61,48569],\n[M,1100,46,48554,1100,60,48568],\n[M,1099,14,48493,1104,19,48733],\n[M,1097,18,48371,1097,31,48384],\n[M,1096,21,48337,1096,36,48352],\n[M,1093,13,48183,1093,62,48232],\n[M,1093,33,48203,1093,55,48225],\n[M,1093,40,48210,1093,54,48224],\n[M,1092,8,48155,1106,13,48763],\n[M,1090,12,48038,1090,25,48051],\n[M,1089,21,48010,1089,36,48025],\n[M,1110,4,48801,1122,7,49252],\n[M,1113,21,48948,1113,79,49006],\n[M,1113,8,48935,1113,79,49006],\n[M,1112,6,48898,1120,9,49230],\n[M,1116,12,49101,1116,64,49153],\n[M,1118,12,49182,1118,36,49206],\n[M,1115,29,49059,1115,51,49081],\n[M,1115,36,49066,1115,50,49080],\n[M,1114,8,49015,1119,13,49220],\n[M,1112,12,48904,1112,25,48917],\n[M,1111,15,48876,1111,30,48891],\n[M,1123,4,49258,1144,7,50129],\n[M,1126,21,49430,1126,80,49489],\n[M,1126,8,49417,1126,80,49489],\n[M,1125,6,49374,1142,9,50107],\n[M,1129,12,49584,1129,65,49637],\n[M,1133,27,49759,1133,85,49817],\n[M,1133,14,49746,1133,85,49817],\n[M,1132,12,49703,1140,15,50083],\n[M,1136,18,49930,1136,70,49982],\n[M,1138,18,50023,1138,42,50047],\n[M,1135,35,49882,1135,57,49904],\n[M,1135,42,49889,1135,56,49903],\n[M,1134,14,49832,1139,19,50067],\n[M,1132,18,49709,1132,31,49722],\n[M,1131,21,49675,1131,36,49690],\n[M,1128,29,49542,1128,51,49564],\n[M,1128,36,49549,1128,50,49563],\n[M,1127,8,49498,1141,13,50097],\n[M,1125,12,49380,1125,25,49393],\n[M,1124,21,49352,1124,36,49367],\n[M,1145,4,50135,1151,7,50375],\n[M,1147,24,50252,1147,66,50294],\n[M,1147,8,50236,1147,66,50294],\n[M,1146,6,50190,1149,9,50353],\n[M,1148,24,50319,1148,48,50343],\n[M,1148,8,50303,1148,48,50343],\n[M,1146,12,50196,1146,25,50209],\n[M,1146,27,50211,1146,42,50226],\n[M,1152,4,50381,1162,7,50797],\n[M,1154,24,50511,1154,67,50554],\n[M,1154,8,50495,1154,67,50554],\n[M,1153,6,50449,1160,9,50775],\n[M,1157,28,50656,1157,70,50698],\n[M,1157,12,50640,1157,70,50698],\n[M,1156,10,50590,1159,13,50765],\n[M,1158,28,50727,1158,52,50751],\n[M,1158,12,50711,1158,52,50751],\n[M,1156,16,50596,1156,29,50609],\n[M,1156,31,50611,1156,46,50626],\n[M,1155,8,50563,1159,13,50765],\n[M,1153,12,50455,1153,25,50468],\n[M,1153,27,50470,1153,42,50485],\n[M,1163,4,50803,1189,7,51922],\n[M,1164,6,50870,1187,12,51900],\n[M,1166,10,50938,1166,66,50994],\n[M,1165,8,50890,1187,11,51899],\n[M,1174,42,51248,1174,66,51272],\n[M,1174,49,51255,1174,62,51268],\n[M,1177,49,51401,1177,77,51429],\n[M,1177,19,51371,1177,45,51397],\n[M,1176,24,51336,1176,39,51351],\n[M,1176,16,51328,1176,39,51351],\n[M,1175,14,51289,1179,19,51533],\n[M,1174,12,51218,1186,15,51887],\n[M,1183,20,51732,1183,36,51748],\n[M,1182,20,51612,1182,48,51640],\n[M,1182,24,51616,1182,47,51639],\n[M,1180,14,51548,1185,19,51871],\n[M,1174,18,51224,1174,31,51237],\n[M,1174,33,51239,1174,67,51273],\n[M,1170,16,51114,1170,37,51135],\n[M,1170,16,51114,1170,31,51129],\n[M,1172,16,51172,1172,31,51187],\n[M,1169,17,51060,1169,53,51096],\n[M,1169,37,51080,1169,52,51095],\n[M,1167,10,51005,1186,15,51887],\n[M,1165,14,50896,1165,27,50909],\n[M,1165,29,50911,1165,44,50926],\n[M,1190,4,51928,1239,7,54436],\n[M,1191,6,52008,1237,12,54414],\n[M,1193,10,52076,1193,67,52133],\n[M,1192,8,52028,1237,11,54413],\n[M,1201,42,52393,1201,72,52423],\n[M,1201,49,52400,1201,68,52419],\n[M,1204,49,52552,1204,77,52580],\n[M,1204,19,52522,1204,45,52548],\n[M,1203,24,52487,1203,39,52502],\n[M,1203,16,52479,1203,39,52502],\n[M,1202,14,52440,1206,19,52684],\n[M,1201,12,52363,1236,15,54401],\n[M,1213,22,53102,1213,78,53158],\n[M,1212,20,53042,1234,23,54365],\n[M,1221,54,53522,1221,84,53552],\n[M,1221,61,53529,1221,80,53548],\n[M,1224,61,53717,1224,89,53745],\n[M,1224,31,53687,1224,57,53713],\n[M,1223,36,53640,1223,51,53655],\n[M,1223,28,53632,1223,51,53655],\n[M,1222,26,53581,1226,31,53873],\n[M,1221,24,53492,1233,27,54341],\n[M,1230,32,54144,1230,54,54166],\n[M,1229,32,53994,1229,66,54028],\n[M,1229,36,53998,1229,65,54027],\n[M,1227,26,53900,1232,31,54313],\n[M,1221,30,53498,1221,43,53511],\n[M,1221,45,53513,1221,85,53553],\n[M,1217,28,53340,1217,49,53361],\n[M,1217,28,53340,1217,43,53355],\n[M,1219,28,53422,1219,43,53437],\n[M,1216,29,53274,1216,65,53310],\n[M,1216,49,53294,1216,64,53309],\n[M,1214,22,53181,1233,27,54341],\n[M,1212,26,53048,1212,39,53061],\n[M,1212,41,53063,1212,56,53078],\n[M,1210,20,52908,1210,42,52930],\n[M,1209,20,52769,1209,54,52803],\n[M,1209,24,52773,1209,53,52802],\n[M,1207,14,52699,1235,19,54385],\n[M,1201,18,52369,1201,31,52382],\n[M,1201,33,52384,1201,73,52424],\n[M,1197,16,52259,1197,37,52280],\n[M,1197,16,52259,1197,31,52274],\n[M,1199,16,52317,1199,31,52332],\n[M,1196,17,52205,1196,53,52241],\n[M,1196,37,52225,1196,52,52240],\n[M,1194,10,52144,1236,15,54401],\n[M,1192,14,52034,1192,27,52047],\n[M,1192,29,52049,1192,44,52064],\n[M,1240,4,54442,1266,7,55558],\n[M,1241,6,54508,1264,12,55536],\n[M,1243,10,54576,1243,66,54632],\n[M,1242,8,54528,1264,11,55535],\n[M,1251,42,54886,1251,66,54910],\n[M,1251,49,54893,1251,62,54906],\n[M,1254,49,55039,1254,77,55067],\n[M,1254,19,55009,1254,45,55035],\n[M,1253,24,54974,1253,39,54989],\n[M,1253,16,54966,1253,39,54989],\n[M,1252,14,54927,1256,19,55171],\n[M,1251,12,54856,1263,15,55523],\n[M,1259,20,55250,1259,48,55278],\n[M,1259,24,55254,1259,47,55277],\n[M,1257,14,55186,1262,19,55507],\n[M,1251,18,54862,1251,31,54875],\n[M,1251,33,54877,1251,67,54911],\n[M,1247,16,54752,1247,37,54773],\n[M,1247,16,54752,1247,31,54767],\n[M,1249,16,54810,1249,31,54825],\n[M,1246,17,54698,1246,53,54734],\n[M,1246,37,54718,1246,52,54733],\n[M,1244,10,54643,1263,15,55523],\n[M,1242,14,54534,1242,27,54547],\n[M,1242,29,54549,1242,44,54564],\n[M,1267,4,55564,1316,7,58066],\n[M,1268,6,55643,1314,12,58044],\n[M,1270,10,55711,1270,67,55768],\n[M,1269,8,55663,1314,11,58043],\n[M,1278,42,56028,1278,72,56058],\n[M,1278,49,56035,1278,68,56054],\n[M,1281,49,56187,1281,77,56215],\n[M,1281,19,56157,1281,45,56183],\n[M,1280,24,56122,1280,39,56137],\n[M,1280,16,56114,1280,39,56137],\n[M,1279,14,56075,1283,19,56319],\n[M,1278,12,55998,1313,15,58031],\n[M,1290,22,56735,1290,78,56791],\n[M,1289,20,56675,1311,23,57995],\n[M,1298,54,57154,1298,84,57184],\n[M,1298,61,57161,1298,80,57180],\n[M,1301,61,57349,1301,89,57377],\n[M,1301,31,57319,1301,57,57345],\n[M,1300,36,57272,1300,51,57287],\n[M,1300,28,57264,1300,51,57287],\n[M,1299,26,57213,1303,31,57505],\n[M,1298,24,57124,1310,27,57971],\n[M,1306,32,57626,1306,66,57660],\n[M,1306,36,57630,1306,65,57659],\n[M,1304,26,57532,1309,31,57943],\n[M,1298,30,57130,1298,43,57143],\n[M,1298,45,57145,1298,85,57185],\n[M,1294,28,56972,1294,49,56993],\n[M,1294,28,56972,1294,43,56987],\n[M,1296,28,57054,1296,43,57069],\n[M,1293,29,56906,1293,65,56942],\n[M,1293,49,56926,1293,64,56941],\n[M,1291,22,56814,1310,27,57971],\n[M,1289,26,56681,1289,39,56694],\n[M,1289,41,56696,1289,56,56711],\n[M,1286,20,56404,1286,54,56438],\n[M,1286,24,56408,1286,53,56437],\n[M,1284,14,56334,1312,19,58015],\n[M,1278,18,56004,1278,31,56017],\n[M,1278,33,56019,1278,73,56059],\n[M,1274,16,55894,1274,37,55915],\n[M,1274,16,55894,1274,31,55909],\n[M,1276,16,55952,1276,31,55967],\n[M,1273,17,55840,1273,53,55876],\n[M,1273,37,55860,1273,52,55875],\n[M,1271,10,55779,1313,15,58031],\n[M,1269,14,55669,1269,27,55682],\n[M,1269,29,55684,1269,44,55699],\n[M,1317,4,58072,1319,7,58138],\n[M,1318,6,58100,1318,21,58115],\n[M,1318,6,58100,1318,36,58130],\n[M,1320,4,58144,1322,7,58193],\n[M,1323,4,58199,1325,7,58269],\n[M,1324,6,58226,1324,26,58246],\n[M,1324,6,58226,1324,41,58261],\n[M,694,43,28179,694,49,28185],\n[M,694,64,28200,694,71,28207],\n[M,1332,0,58461,1398,3,61189],\n[M,1340,21,58658,1382,5,60469],\n[M,1341,20,58740,1358,7,59354],\n[M,1344,21,58877,1344,30,58886],\n[M,1344,42,58898,1344,59,58915],\n[M,1345,20,58946,1345,28,58954],\n[M,1346,19,58979,1346,26,58986],\n[M,1343,26,58852,1347,11,59002],\n[M,1346,19,58979,1346,30,58990],\n[M,1345,20,58946,1345,32,58958],\n[M,1344,21,58877,1344,68,58924],\n[M,1344,21,58877,1344,59,58915],\n[M,1344,21,58877,1344,39,58895],\n[M,1343,8,58834,1347,11,59002],\n[M,1342,6,58804,1357,9,59346],\n[M,1349,18,59039,1349,44,59065],\n[M,1350,14,59080,1350,23,59089],\n[M,1350,35,59101,1350,41,59107],\n[M,1350,35,59101,1350,55,59121],\n[M,1351,36,59187,1351,54,59205],\n[M,1354,20,59280,1354,28,59288],\n[M,1355,19,59313,1355,26,59320],\n[M,1352,10,59232,1356,11,59336],\n[M,1355,19,59313,1355,30,59324],\n[M,1354,20,59280,1354,32,59292],\n[M,1350,14,59080,1351,70,59221],\n[M,1351,14,59165,1351,70,59221],\n[M,1350,14,59080,1350,84,59150],\n[M,1350,14,59080,1350,55,59121],\n[M,1350,14,59080,1350,32,59098],\n[M,1342,12,58810,1342,22,58820],\n[M,1341,50,58770,1341,65,58785],\n[M,1341,50,58770,1341,75,58795],\n[M,1359,20,59375,1359,36,59391],\n[M,1360,35,59457,1360,47,59469],\n[M,1369,14,59854,1369,29,59869],\n[M,1369,41,59881,1369,47,59887],\n[M,1369,41,59881,1369,60,59900],\n[M,1369,70,59910,1369,77,59917],\n[M,1369,96,59936,1369,116,59956],\n[M,1369,135,59975,1369,154,59994],\n[M,1372,9,60091,1372,29,60111],\n[M,1377,15,60244,1377,30,60259],\n[M,1377,44,60273,1377,56,60285],\n[M,1378,14,60317,1378,28,60331],\n[M,1378,31,60334,1378,51,60354],\n[M,1379,14,60370,1379,28,60384],\n[M,1379,31,60387,1379,51,60407],\n[M,1380,13,60422,1380,26,60435],\n[M,1380,29,60438,1380,48,60457],\n[M,1380,13,60422,1380,48,60457],\n[M,1379,14,60370,1379,51,60407],\n[M,1378,14,60317,1378,51,60354],\n[M,1377,15,60244,1377,72,60301],\n[M,1376,15,60186,1376,56,60227],\n[M,1373,12,60133,1373,33,60154],\n[M,1372,9,60091,1372,34,60116],\n[M,1370,30,60035,1370,54,60059],\n[M,1369,14,59854,1369,164,60004],\n[M,1369,14,59854,1369,155,59995],\n[M,1369,126,59966,1369,155,59995],\n[M,1369,14,59854,1369,123,59963],\n[M,1369,14,59854,1369,117,59957],\n[M,1369,87,59927,1369,117,59957],\n[M,1369,14,59854,1369,84,59924],\n[M,1369,14,59854,1369,77,59917],\n[M,1369,14,59854,1369,67,59907],\n[M,1369,14,59854,1369,60,59900],\n[M,1369,14,59854,1369,38,59878],\n[M,1361,6,59477,1361,18,59489],\n[M,1360,21,59443,1368,7,59839],\n[M,1365,34,59681,1365,65,59712],\n[M,1364,8,59550,1367,18,59831],\n[M,1364,8,59550,1366,83,59812],\n[M,1366,12,59741,1366,83,59812],\n[M,1366,34,59763,1366,67,59796],\n[M,1366,48,59777,1366,66,59795],\n[M,1364,8,59550,1365,81,59728],\n[M,1365,12,59659,1365,81,59728],\n[M,1365,34,59681,1365,49,59696],\n[M,1364,8,59550,1364,104,59646],\n[M,1364,8,59550,1364,27,59569],\n[M,1363,16,59527,1363,30,59541],\n[M,1363,8,59519,1363,30,59541],\n[M,1362,6,59496,1367,18,59831],\n[M,1360,27,59449,1360,33,59455],\n[M,1340,57,58694,1340,80,58717],\n[M,1383,6,60476,1383,28,60498],\n[M,1384,4,60546,1384,70,60612],\n[M,1385,11,60624,1385,34,60647],\n[M,1386,19,60710,1386,42,60733],\n[M,1391,4,60910,1391,41,60947],\n[M,1389,43,60846,1389,66,60869],\n[M,1389,8,60811,1389,92,60895],\n[M,1389,8,60811,1389,67,60870],\n[M,1389,34,60837,1389,67,60870],\n[M,1386,19,60710,1386,47,60738],\n[M,1395,15,61004,1395,24,61013],\n[M,1395,53,61042,1395,61,61050],\n[M,1395,89,61078,1395,97,61086],\n[M,1395,133,61122,1395,142,61131],\n[M,1395,169,61158,1395,176,61165],\n[M,1394,4,60985,1396,5,61179],\n[M,1395,15,61004,1395,184,61173],\n[M,1395,15,61004,1395,177,61166],\n[M,1395,160,61149,1395,177,61166],\n[M,1395,15,61004,1395,157,61146],\n[M,1395,15,61004,1395,143,61132],\n[M,1395,124,61113,1395,143,61132],\n[M,1395,15,61004,1395,121,61110],\n[M,1395,15,61004,1395,98,61087],\n[M,1395,80,61069,1395,98,61087],\n[M,1395,15,61004,1395,77,61066],\n[M,1395,15,61004,1395,62,61051],\n[M,1395,44,61033,1395,62,61051],\n[M,1395,15,61004,1395,41,61030],\n[M,1385,46,60659,1385,70,60683],\n[M,1385,46,60659,1385,75,60688],\n[M,1385,11,60624,1385,39,60652],\n[M,1383,40,60510,1383,64,60534],\n[M,1383,40,60510,1383,69,60539],\n[M,1383,6,60476,1383,33,60503],\n[M,1332,37,58498,1332,59,58520],\n[M,1400,0,61191,1402,3,61297],\n[M,1401,33,61265,1401,52,61284],\n[M,1401,2,61234,1401,61,61293],\n[M,1401,2,61234,1401,53,61285],\n[M,1404,0,61299,1406,3,61430],\n[M,1405,2,61385,1405,43,61426],\n[M,1404,48,61347,1404,70,61369],\n[\"dummy location\"],\n[M,19,11,285,19,20,294],\n[M,3,0,13,1406,3,61430]];\nvar to$string1 = R.getModuleField(\"builtin://global\",\"values\",\"to-string\");\nvar is$boolean2 = R.getModuleField(\"builtin://global\",\"values\",\"is-boolean\");\nvar run$task1 = R.getModuleField(\"builtin://global\",\"values\",\"run-task\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$is$roughnum2 = R.getModuleField(\"builtin://global\",\"values\",\"num-is-roughnum\");\nvar equal$always37 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always3\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar tostring1 = R.getModuleField(\"builtin://global\",\"values\",\"tostring\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar torepr3 = R.getModuleField(\"builtin://global\",\"values\",\"torepr\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar not5 = R.getModuleField(\"builtin://global\",\"values\",\"not\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar exn$unwrap2 = R.getModuleField(\"builtin://global\",\"values\",\"exn-unwrap\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar is$function4 = R.getModuleField(\"builtin://global\",\"values\",\"is-function\");\nvar string$contains5 = R.getModuleField(\"builtin://global\",\"values\",\"string-contains\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar either20 = $either31;\nvar $included$121 = $$included$127;\nvar E22 = $E8;\nvar ED23 = $ED12;\nvar $underscore_import24 = $$underscore_import5;\nvar $underscore_import6 = $$underscore_import5;\nvar $included$225 = $$included$225;\nvar $included$326 = $$included$332;\nvar RED27 = $RED33;\nvar SL28 = $SL34;\nvar VS29 = $VS8;\nvar $cases_dispatch5163 = {\"none\":7,\n\"some\":8};\nvar $cases_dispatch5114 = {\"success\":2};\nvar $cases_dispatch4999 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4996 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4993 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4990 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4961 = {\"right\":12,\n\"left\":13};\nvar $cases_dispatch4929 = {\"left\":13,\n\"right\":14};\nvar $cases_dispatch4926 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4897 = {\"right\":15,\n\"left\":16};\nvar $cases_dispatch4850 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4847 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4844 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4815 = {\"right\":12,\n\"left\":13};\nvar $cases_dispatch4781 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch4778 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4746 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4670 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4667 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4635 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4586 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4583 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4580 = {\"left\":9,\n\"right\":10};\nvar $cases_dispatch4577 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4548 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4517 = {\"left\":13,\n\"right\":14};\nvar $cases_dispatch4514 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4485 = {\"right\":15,\n\"left\":16};\nvar $cases_dispatch4438 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4435 = {\"left\":9,\n\"right\":10};\nvar $cases_dispatch4432 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4403 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4370 = {\"left\":11,\n\"right\":12};\nvar $cases_dispatch4367 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4336 = {\"right\":13,\n\"left\":14};\nvar $cases_dispatch4253 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4250 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4219 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch4169 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4166 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4153 = {\"right\":8,\n\"left\":9};\nvar $cases_dispatch4125 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch4105 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4102 = {\"left\":7,\n\"right\":8};\nvar $cases_dispatch4087 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch4049 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4018 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch4015 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch3997 = {\"left\":8,\n\"right\":9};\nvar $cases_dispatch3959 = {\"left\":3,\n\"right\":4};\nvar $cases_dispatch3888 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3885 = {\"right\":8,\n\"left\":9};\nvar $cases_dispatch3856 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3773 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3713 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3710 = {\"right\":9,\n\"left\":10};\nvar $cases_dispatch3678 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3598 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3541 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3538 = {\"right\":17,\n\"left\":18};\nvar $cases_dispatch3502 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3420 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3363 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3360 = {\"right\":17,\n\"left\":18};\nvar $cases_dispatch3318 = {\"right\":7,\n\"left\":8};\nvar $cases_dispatch3218 = {\"right\":3,\n\"left\":4};\nvar $cases_dispatch3159 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3156 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3143 = {\"Unknown\":8,\n\"Equal\":9,\n\"NotEqual\":10};\nvar $cases_dispatch3103 = {\"Unknown\":3,\n\"Equal\":4,\n\"NotEqual\":5};\nvar $cases_dispatch3066 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch3063 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch3048 = {\"Unknown\":9,\n\"NotEqual\":10,\n\"Equal\":11};\nvar $cases_dispatch2994 = {\"Unknown\":4,\n\"NotEqual\":5,\n\"Equal\":6};\nvar $cases_dispatch2957 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2954 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2942 = {\"Unknown\":8,\n\"NotEqual\":9,\n\"Equal\":10};\nvar $cases_dispatch2893 = {\"Unknown\":3,\n\"NotEqual\":4,\n\"Equal\":5};\nvar $cases_dispatch2858 = {\"left\":4,\n\"right\":5};\nvar $cases_dispatch2414 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2307 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2169 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch2071 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1994 = {\"some\":2,\n\"none\":3};\nvar $cases_dispatch1959 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1956 = {\"some\":7,\n\"none\":8};\nvar $cases_dispatch1941 = {\"some\":13,\n\"none\":14};\nvar $cases_dispatch1840 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1837 = {\"on-left\":7,\n\"on-right\":11,\n\"on-cause\":15,\n\"on-refinement\":19};\nvar $cases_dispatch1834 = {\"some\":2,\n\"none\":6};\nvar $cases_dispatch1823 = {\"some\":29,\n\"none\":30};\nvar $cases_dispatch1812 = {\"on-left\":13,\n\"on-right\":14,\n\"on-cause\":15,\n\"on-refinement\":16};\nvar $cases_dispatch1809 = {\"some\":2,\n\"none\":6};\nvar $cases_dispatch1799 = {\"some\":17,\n\"none\":18};\nvar $cases_dispatch1683 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1537 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1447 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1369 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1312 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch1262 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch1258 = {\"s-op-is-not\":14,\n\"s-op-is-not-op\":15};\nvar $cases_dispatch1248 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch1231 = {\"none\":22,\n\"some\":23};\nvar $cases_dispatch1213 = {\"s-op-is-not\":13,\n\"s-op-is-not-op\":14};\nvar $cases_dispatch1198 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch1182 = {\"none\":15,\n\"some\":16};\nvar $cases_dispatch800 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch798 = {\"s-op-is-op\":12,\n\"s-op-is-not-op\":16};\nvar $cases_dispatch785 = {\"s-op-is-op\":13,\n\"s-op-is-not-op\":14};\nvar $cases_dispatch467 = {\"none\":2,\n\"some\":3};\nvar $cases_dispatch446 = {\"some\":8,\n\"none\":9};\nvar $cases_dispatch443 = {\"s-op-is-roughly\":14,\n\"s-op-is\":18,\n\"s-op-is-op\":19};\nvar $cases_dispatch433 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch417 = {\"none\":26,\n\"some\":27};\nvar $cases_dispatch398 = {\"s-op-is-roughly\":13,\n\"s-op-is\":14,\n\"s-op-is-op\":15};\nvar $cases_dispatch381 = {\"none\":2,\n\"some\":6};\nvar $cases_dispatch364 = {\"none\":16,\n\"some\":17};\nvar $cases_dispatch131 = {\"on-cause\":2};\nvar $cases_dispatch112 = {\"on-cause\":2};\nvar $cases_dispatch110 = {\"none\":6,\n\"some\":10};\nvar list6 = R.getModuleField(\"builtin://lists\",\"values\",\"list\");\nvar is$Equal7 = R.getModuleField(\"builtin://equality\",\"values\",\"is-Equal\");\nvar is$Unknown8 = R.getModuleField(\"builtin://equality\",\"values\",\"is-Unknown\");\nvar each9 = R.getModuleField(\"builtin://lists\",\"values\",\"each\");\nvar empty10 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar fold11 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar some12 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar is$some13 = R.getModuleField(\"builtin://option\",\"values\",\"is-some\");\nvar none14 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar Option15 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar is$NotEqual16 = R.getModuleField(\"builtin://equality\",\"values\",\"is-NotEqual\");\nvar map17 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar EqualityResult18 = R.getModuleField(\"builtin://equality\",\"types\",\"EqualityResult\");\nvar List19 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel36 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1947($$resumer13) {\nvar $step35 = 0;\nvar $elidedFrames47 = 0;\nvar $ans44 = D;\nvar $al45 = L[1947];\nif(R.isAR($$resumer13)) {\n$step35 = $$resumer13.step;\n$al45 = $$resumer13.from;\n$ans44 = $$resumer13.ans;\n$elidedFrames47 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nresults$summary5009 = $$resumer13.vars[0];\nis$failure$not$different2634 = $$resumer13.vars[1];\nis$check$block$result283 = $$resumer13.vars[2];\nCheckOperand113 = $$resumer13.vars[3];\nerror$not$boolean$pred2680 = $$resumer13.vars[4];\non$cause267 = $$resumer13.vars[5];\nerror$not$pred2676 = $$resumer13.vars[6];\nrender$check$results5028 = $$resumer13.vars[7];\nfailure$not$dissatisfied2644 = $$resumer13.vars[8];\nis$failure$wrong$exn2646 = $$resumer13.vars[9];\nfailure$raise$not$satisfied2664 = $$resumer13.vars[10];\nreport$value306 = $$resumer13.vars[11];\nis$failure$not$equal2626 = $$resumer13.vars[12];\non$left256 = $$resumer13.vars[13];\nTestResult2715 = $$resumer13.vars[14];\non$refinement264 = $$resumer13.vars[15];\nget$op$fun$name61 = $$resumer13.vars[16];\nis$success2622 = $$resumer13.vars[17];\nis$failure$not$satisfied2638 = $$resumer13.vars[18];\nis$error$not$boolean2670 = $$resumer13.vars[19];\nis$failure$exn2654 = $$resumer13.vars[20];\ncheck$block$result284 = $$resumer13.vars[21];\nis$failure$is$incomparable2630 = $$resumer13.vars[22];\nis$error$not$pred2674 = $$resumer13.vars[23];\nis$TestResult2620 = $$resumer13.vars[24];\nis$failure$not$dissatisfied2642 = $$resumer13.vars[25];\nfailure$not$satisfied2640 = $$resumer13.vars[26];\nfailure$not$different2636 = $$resumer13.vars[27];\nmake$check$context5066 = $$resumer13.vars[28];\nfailure$raise$not$dissatisfied2668 = $$resumer13.vars[29];\nis$failure$no$exn2658 = $$resumer13.vars[30];\nis$on$right258 = $$resumer13.vars[31];\nis$failure$right$exn2650 = $$resumer13.vars[32];\non$right260 = $$resumer13.vars[33];\nis$on$left254 = $$resumer13.vars[34];\nfailure$wrong$exn2648 = $$resumer13.vars[35];\nis$CheckBlockResult282 = $$resumer13.vars[36];\nanswer5225 = $$resumer13.vars[37];\nis$on$refinement262 = $$resumer13.vars[38];\nCheckBlockResult2700 = $$resumer13.vars[39];\nis$CheckOperand252 = $$resumer13.vars[40];\nis$error$not$boolean$pred2678 = $$resumer13.vars[41];\nfailure$not$equal2628 = $$resumer13.vars[42];\nis$failure$raise$not$dissatisfied2666 = $$resumer13.vars[43];\nsuccess2624 = $$resumer13.vars[44];\nfailure$exn2656 = $$resumer13.vars[45];\nerror$not$boolean2672 = $$resumer13.vars[46];\nfailure$is$incomparable2632 = $$resumer13.vars[47];\nLoc274 = $$resumer13.vars[48];\nis$on$cause266 = $$resumer13.vars[49];\nis$failure$raise$not$satisfied2662 = $$resumer13.vars[50];\nfailure$right$exn2652 = $$resumer13.vars[51];\nfailure$no$exn2660 = $$resumer13.vars[52];\nrender$check$results$stack5223 = $$resumer13.vars[53];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans44 = R.mC();\n}\nwhile(!R.isContinuation($ans44)) {\nswitch($step35) {\ncase 0: var CheckOperand48 = R.nB(\"CheckOperand\",L[71]);\nvar CheckOperand113 = R.mBA(CheckOperand48,\"CheckOperand\");\nvar CheckBlockResult49 = R.nB(\"CheckBlockResult\",L[78]);\nvar CheckBlockResult2700 = R.mBA(CheckBlockResult49,\"CheckBlockResult\");\nvar TestResult50 = R.nB(\"TestResult\",L[1134]);\nvar TestResult2715 = R.mBA(TestResult50,\"TestResult\");\nvar Loc274 = R.gDA(L[1946],\"SL\",SL28.dict.types,\"Srcloc\");\nvar get$op$fun$name61 = {\"$var\":D};\nvar CheckOperand250 = {\"$var\":D};\nvar is$CheckOperand252 = {\"$var\":D};\nvar is$on$left254 = {\"$var\":D};\nvar on$left256 = {\"$var\":D};\nvar is$on$right258 = {\"$var\":D};\nvar on$right260 = {\"$var\":D};\nvar is$on$refinement262 = {\"$var\":D};\nvar on$refinement264 = {\"$var\":D};\nvar is$on$cause266 = {\"$var\":D};\nvar on$cause267 = {\"$var\":D};\nvar CheckBlockResult280 = {\"$var\":D};\nvar is$CheckBlockResult282 = {\"$var\":D};\nvar is$check$block$result283 = {\"$var\":D};\nvar check$block$result284 = {\"$var\":D};\nvar report$value306 = {\"$var\":D};\nvar TestResult2618 = {\"$var\":D};\nvar is$TestResult2620 = {\"$var\":D};\nvar is$success2622 = {\"$var\":D};\nvar success2624 = {\"$var\":D};\nvar is$failure$not$equal2626 = {\"$var\":D};\nvar failure$not$equal2628 = {\"$var\":D};\nvar is$failure$is$incomparable2630 = {\"$var\":D};\nvar failure$is$incomparable2632 = {\"$var\":D};\nvar is$failure$not$different2634 = {\"$var\":D};\nvar failure$not$different2636 = {\"$var\":D};\nvar is$failure$not$satisfied2638 = {\"$var\":D};\nvar failure$not$satisfied2640 = {\"$var\":D};\nvar is$failure$not$dissatisfied2642 = {\"$var\":D};\nvar failure$not$dissatisfied2644 = {\"$var\":D};\nvar is$failure$wrong$exn2646 = {\"$var\":D};\nvar failure$wrong$exn2648 = {\"$var\":D};\nvar is$failure$right$exn2650 = {\"$var\":D};\nvar failure$right$exn2652 = {\"$var\":D};\nvar is$failure$exn2654 = {\"$var\":D};\nvar failure$exn2656 = {\"$var\":D};\nvar is$failure$no$exn2658 = {\"$var\":D};\nvar failure$no$exn2660 = {\"$var\":D};\nvar is$failure$raise$not$satisfied2662 = {\"$var\":D};\nvar failure$raise$not$satisfied2664 = {\"$var\":D};\nvar is$failure$raise$not$dissatisfied2666 = {\"$var\":D};\nvar failure$raise$not$dissatisfied2668 = {\"$var\":D};\nvar is$error$not$boolean2670 = {\"$var\":D};\nvar error$not$boolean2672 = {\"$var\":D};\nvar is$error$not$pred2674 = {\"$var\":D};\nvar error$not$pred2676 = {\"$var\":D};\nvar is$error$not$boolean$pred2678 = {\"$var\":D};\nvar error$not$boolean$pred2680 = {\"$var\":D};\nvar make$check$context5066 = {\"$var\":D};\nvar results$summary5009 = {\"$var\":D};\nvar render$check$results5028 = {\"$var\":D};\nvar render$check$results$stack5223 = {\"$var\":D};\nvar $temp_lam52 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__0($opname53) {\nvar $step51 = 0;\nvar $elidedFrames57 = 0;\nvar $ans54 = D;\nvar $al55 = L[0];\nif(R.isAR($opname53)) {\n$step51 = $opname53.step;\n$al55 = $opname53.from;\n$ans54 = $opname53.ans;\n$elidedFrames57 = $opname53.elidedFrames;\nopname53 = $opname53.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar opname53 = $opname53;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans54 = R.mC();\n}\nwhile(!R.isContinuation($ans54)) {\nswitch($step51) {\ncase 0: $step51 = 1;\n$al55 = L[5];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op==\"));\nbreak;\ncase 1: var anf_if1097 = $ans54;\n$step51 = R.checkPyretTrue(anf_if1097)?2:3;\nbreak;\ncase 2: $step51 = 11;\n$ans54 = (\"equal-always\");\nbreak;\ncase 3: $step51 = 4;\n$al55 = L[4];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op=~\"));\nbreak;\ncase 4: var anf_if1068 = $ans54;\n$step51 = R.checkPyretTrue(anf_if1068)?5:6;\nbreak;\ncase 5: $step51 = 11;\n$ans54 = (\"equal-now\");\nbreak;\ncase 6: $step51 = 7;\n$al55 = L[3];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,equal$always1);\n}\n$ans54 = equal$always1.app(opname53,(\"op<=>\"));\nbreak;\ncase 7: var anf_if58 = $ans54;\n$step51 = R.checkPyretTrue(anf_if58)?8:9;\nbreak;\ncase 8: $step51 = 11;\n$ans54 = (\"identical\");\nbreak;\ncase 9: $step51 = 10;\n$al55 = L[2];\n// omitting isFunction check;\n$ans54 = _plus5.app((\"Unknown op: \"),opname53);\nbreak;\ncase 10: var anf_arg1079 = $ans54;\n$step51 = 11;\n$al55 = L[1];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al55,raise1);\n}\n$ans54 = raise1.app(anf_arg1079);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans54;\ndefault: R.ffi.throwSpinnakerError(L[0],$step51);\n}\n}\nif($step51 !== 11) {\n$ans54.stack[R.EXN_STACKHEIGHT++] = R.mAR($al55,$temp_lam52,$step51,[opname53],[],$elidedFrames57);\n}\nreturn $ans54;\n};\nvar anf_assign1765 = R.mF($temp_lam52,\"get-op-fun-name\");\nget$op$fun$name61.$var = anf_assign1765;\nR.nothing;\nvar $temp_full65 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__6($self225,$test$ast66) {\nvar $step64 = 0;\nvar $elidedFrames75 = 0;\nvar $ans72 = D;\nvar $al73 = L[6];\nif(R.isAR($self225)) {\n$step64 = $self225.step;\n$al73 = $self225.from;\n$ans72 = $self225.ans;\n$elidedFrames75 = $self225.elidedFrames;\nself225 = $self225.args[0];\ntest$ast66 = $self225.args[1];\ncases76 = $self225.vars[0];\ncases77 = $self225.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[6],2,$t,true);\n}\nvar self225 = $self225;\nvar test$ast66 = $test$ast66;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans72 = R.mC();\n}\nwhile(!R.isContinuation($ans72)) {\nswitch($step64) {\ncase 0: var cases76 = self225;\n$step64 = 1;\n$al73 = L[38];\nvar $ann$check116 = R._cA(L[38],CheckOperand113,cases76);\nif(R.isContinuation($ann$check116)) {\n$ans72 = $ann$check116;\n}\nbreak;\ncase 1: $al73 = L[10];\n$step64 = $cases_dispatch112[cases76.$name] || 4;\nbreak;\ncase 2: if(cases76.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[9],false,L[10],cases76.$loc);\n}\n$step64 = 3;\n$al73 = L[8];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"text\"]);\n}\n$ans72 = ED23.dict.values.dict[\"text\"].app((\"because\"));\nbreak;\ncase 3: var anf_arg1092 = $ans72;\n$step64 = 12;\n$al73 = L[7];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"code\"]);\n}\n$ans72 = ED23.dict.values.dict[\"code\"].app(anf_arg1092);\nbreak;\ncase 4: $al73 = L[11];\nvar cases77 = G(test$ast66,\"refinement\",L[11]);\n$step64 = 5;\n$al73 = L[37];\nvar $ann$check111 = R._cA(L[37],Option15,cases77);\nif(R.isContinuation($ann$check111)) {\n$ans72 = $ann$check111;\n}\nbreak;\ncase 5: $al73 = L[18];\n$step64 = $cases_dispatch110[cases77.$name] || 11;\nbreak;\ncase 6: if(cases77.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[17],false,L[18],cases77.$loc);\n}\n$al73 = L[12];\nvar anf_method_obj78 = G(test$ast66,\"op\",L[12]);\n$step64 = 7;\n$ans72 = R.maybeMethodCall0(anf_method_obj78,\"tosource\",L[13]);\nbreak;\ncase 7: var anf_method_obj79 = $ans72;\n$step64 = 8;\n$ans72 = R.maybeMethodCall1(anf_method_obj79,\"pretty\",L[14],(80));\nbreak;\ncase 8: var anf_method_obj80 = $ans72;\n$step64 = 9;\n$ans72 = R.maybeMethodCall1(anf_method_obj80,\"map\",L[15],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 9: var anf_arg1806 = $ans72;\n$step64 = 12;\n$al73 = L[16];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al73,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans72 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg1806,(\"\"));\nbreak;\ncase 10: if(cases77.$arity !== 1) {\nif(cases77.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[36],1,cases77.$arity,L[18],cases77.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[36],true,L[18],cases77.$loc);\n}\n}\n$step64 = 12;\n$al73 = L[36];\nvar $temp_branch89 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__18($e85) {\nvar $step93 = 0;\nvar $elidedFrames100 = 0;\nvar $ans97 = D;\nvar $al98 = L[20];\nif(R.isAR($e85)) {\n$step93 = $e85.step;\n$al98 = $e85.from;\n$ans97 = $e85.ans;\n$elidedFrames100 = $e85.elidedFrames;\ne85 = $e85.args[0];\nanf_fun1601 = $e85.vars[0];\nanf_arg1142 = $e85.vars[1];\nanf_arg1168 = $e85.vars[2];\nanf_arg1612 = $e85.vars[3];\nanf_arg1668 = $e85.vars[4];\n} else {\nvar e85 = $e85;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans97 = R.mC();\n}\nwhile(!R.isContinuation($ans97)) {\nswitch($step93) {\ncase 0: $ans97 = R.getMaker4(ED23.dict.values.dict[\"sequence\"],(\"make4\"),L[19],L[20]);\nvar anf_fun1601 = $ans97;\n$al98 = L[21];\nvar anf_method_obj81 = G(test$ast66,\"op\",L[21]);\n$step93 = 1;\n$ans97 = R.maybeMethodCall0(anf_method_obj81,\"tosource\",L[22]);\nbreak;\ncase 1: var anf_method_obj82 = $ans97;\n$step93 = 2;\n$ans97 = R.maybeMethodCall1(anf_method_obj82,\"pretty\",L[23],(80));\nbreak;\ncase 2: var anf_method_obj83 = $ans97;\n$step93 = 3;\n$ans97 = R.maybeMethodCall1(anf_method_obj83,\"map\",L[24],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 3: var anf_arg84 = $ans97;\n$step93 = 4;\n$al98 = L[35];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans97 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg84,(\"\"));\nbreak;\ncase 4: var anf_arg1612 = $ans97;\n$step93 = 5;\n$al98 = L[34];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"text\"]);\n}\n$ans97 = ED23.dict.values.dict[\"text\"].app((\"%(\"));\nbreak;\ncase 5: var anf_arg1142 = $ans97;\n$step93 = 6;\n$ans97 = R.maybeMethodCall0(e85,\"tosource\",L[25]);\nbreak;\ncase 6: var anf_method_obj86 = $ans97;\n$step93 = 7;\n$ans97 = R.maybeMethodCall1(anf_method_obj86,\"pretty\",L[26],(80));\nbreak;\ncase 7: var anf_method_obj87 = $ans97;\n$step93 = 8;\n$ans97 = R.maybeMethodCall1(anf_method_obj87,\"map\",L[27],ED23.dict.values.dict[\"text\"]);\nbreak;\ncase 8: var anf_arg1816 = $ans97;\n$step93 = 9;\n$al98 = L[33];\nif(typeof(ED23.dict.values.dict[\"h-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"h-sequence\"]);\n}\n$ans97 = ED23.dict.values.dict[\"h-sequence\"].app(anf_arg1816,(\"\"));\nbreak;\ncase 9: var anf_arg1168 = $ans97;\n$ans97 = R.getMaker1(list6,(\"make1\"),L[28],L[29]);\nvar anf_fun1670 = $ans97;\n$al98 = L[30];\nvar anf_arg88 = G(e85,\"l\",L[30]);\n$step93 = 10;\n$al98 = L[29];\nif(typeof(anf_fun1670.app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,anf_fun1670);\n}\n$ans97 = anf_fun1670.app(anf_arg88);\nbreak;\ncase 10: var anf_arg1172 = $ans97;\n$step93 = 11;\n$al98 = L[32];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans97 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1168,anf_arg1172,(1));\nbreak;\ncase 11: var anf_arg1668 = $ans97;\n$step93 = 12;\n$al98 = L[31];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,ED23.dict.values.dict[\"text\"]);\n}\n$ans97 = ED23.dict.values.dict[\"text\"].app((\")\"));\nbreak;\ncase 12: var anf_arg1176 = $ans97;\n$step93 = 13;\n$al98 = L[20];\nif(typeof(anf_fun1601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al98,anf_fun1601);\n}\n$ans97 = anf_fun1601.app(anf_arg1612,anf_arg1142,anf_arg1668,anf_arg1176);\nbreak;\ncase 13: ++R.GAS;\nreturn $ans97;\ndefault: R.ffi.throwSpinnakerError(L[20],$step93);\n}\n}\nif($step93 !== 13) {\n$ans97.stack[R.EXN_STACKHEIGHT++] = R.mAR($al98,$temp_branch89,$step93,[e85],[anf_fun1601,anf_arg1142,anf_arg1168,anf_arg1612,anf_arg1668],$elidedFrames100);\n}\nreturn $ans97;\n};\n$ans72 = cases77.$app_fields($temp_branch89,[false]);\nbreak;\ncase 11: $ans72 = R.throwNoCasesMatched(L[18],cases77);\n$step64 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans72;\ndefault: R.ffi.throwSpinnakerError(L[6],$step64);\n}\n}\nif($step64 !== 12) {\n$ans72.stack[R.EXN_STACKHEIGHT++] = R.mAR($al73,$temp_full65,$step64,[self225,test$ast66],[cases76,cases77],$elidedFrames75);\n}\nreturn $ans72;\n};\nvar anf_shared220 = R.makeMethod1($temp_full65,\"test-op\");\nvar $temp_full119 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__39($self120,$test$ast121) {\nvar $step118 = 0;\nvar $elidedFrames128 = 0;\nvar $ans125 = D;\nvar $al126 = L[39];\nif(R.isAR($self120)) {\n$step118 = $self120.step;\n$al126 = $self120.from;\n$ans125 = $self120.ans;\n$elidedFrames128 = $self120.elidedFrames;\nself120 = $self120.args[0];\ntest$ast121 = $self120.args[1];\nanf_fun1669 = $self120.vars[0];\ncases129 = $self120.vars[1];\nanf_arg1844 = $self120.vars[2];\nanf_arg1838 = $self120.vars[3];\nanf_fun130 = $self120.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],2,$t,true);\n}\nvar self120 = $self120;\nvar test$ast121 = $test$ast121;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans125 = R.mC();\n}\nwhile(!R.isContinuation($ans125)) {\nswitch($step118) {\ncase 0: var cases129 = self120;\n$step118 = 1;\n$al126 = L[51];\nvar $ann$check132 = R._cA(L[51],CheckOperand113,cases129);\nif(R.isContinuation($ann$check132)) {\n$ans125 = $ann$check132;\n}\nbreak;\ncase 1: $al126 = L[44];\n$step118 = $cases_dispatch131[cases129.$name] || 4;\nbreak;\ncase 2: if(cases129.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[43],false,L[44],cases129.$loc);\n}\n$ans125 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[40],L[41]);\nvar anf_fun130 = $ans125;\n$step118 = 3;\n$al126 = L[42];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\"The test was inconsistent: the expected answer and the explanation do not match for the test:\"));\nbreak;\ncase 3: var anf_arg1671 = $ans125;\n$step118 = 9;\n$al126 = L[41];\nif(typeof(anf_fun130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,anf_fun130);\n}\n$ans125 = anf_fun130.app(anf_arg1671);\nbreak;\ncase 4: $ans125 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[45],L[46]);\nvar anf_fun1669 = $ans125;\n$step118 = 5;\n$al126 = L[50];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\"The test operator \"));\nbreak;\ncase 5: var anf_arg1838 = $ans125;\n$step118 = 6;\n$ans125 = R.maybeMethodCall1(self120,\"test-op\",L[47],test$ast121);\nbreak;\ncase 6: var anf_arg1841 = $ans125;\n$step118 = 7;\n$al126 = L[49];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"code\"]);\n}\n$ans125 = ED23.dict.values.dict[\"code\"].app(anf_arg1841);\nbreak;\ncase 7: var anf_arg1844 = $ans125;\n$step118 = 8;\n$al126 = L[48];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,ED23.dict.values.dict[\"text\"]);\n}\n$ans125 = ED23.dict.values.dict[\"text\"].app((\" failed for the test:\"));\nbreak;\ncase 8: var anf_arg1198 = $ans125;\n$step118 = 9;\n$al126 = L[46];\nif(typeof(anf_fun1669.app) !== \"function\") {\nR.ffi.throwNonFunApp($al126,anf_fun1669);\n}\n$ans125 = anf_fun1669.app(anf_arg1838,anf_arg1844,anf_arg1198);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans125;\ndefault: R.ffi.throwSpinnakerError(L[39],$step118);\n}\n}\nif($step118 !== 9) {\n$ans125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al126,$temp_full119,$step118,[self120,test$ast121],[anf_fun1669,cases129,anf_arg1844,anf_arg1838,anf_fun130],$elidedFrames128);\n}\nreturn $ans125;\n};\nvar anf_shared221 = R.makeMethod1($temp_full119,\"test-preamble\");\nvar $temp_full135 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__52($self351) {\nvar $step134 = 0;\nvar $elidedFrames139 = 0;\nvar $ans136 = D;\nvar $al137 = L[52];\nif(R.isAR($self351)) {\n$step134 = $self351.step;\n$al137 = $self351.from;\n$ans136 = $self351.ans;\n$elidedFrames139 = $self351.elidedFrames;\nself351 = $self351.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[52],1,$t,true);\n}\nvar self351 = $self351;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans136 = R.mC();\n}\nwhile(!R.isContinuation($ans136)) {\nswitch($step134) {\ncase 0: $step134 = 1;\n$ans136 = (\"left side\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans136;\ndefault: R.ffi.throwSpinnakerError(L[52],$step134);\n}\n}\nif($step134 !== 1) {\n$ans136.stack[R.EXN_STACKHEIGHT++] = R.mAR($al137,$temp_full135,$step134,[self351],[],$elidedFrames139);\n}\nreturn $ans136;\n};\nvar anf_singleton_variant_member225 = R.makeMethod0($temp_full135,\"side\");\nvar $temp_full146 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__53($self157,$test$ast147) {\nvar $step145 = 0;\nvar $elidedFrames153 = 0;\nvar $ans150 = D;\nvar $al151 = L[53];\nif(R.isAR($self157)) {\n$step145 = $self157.step;\n$al151 = $self157.from;\n$ans150 = $self157.ans;\n$elidedFrames153 = $self157.elidedFrames;\nself157 = $self157.args[0];\ntest$ast147 = $self157.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],2,$t,true);\n}\nvar self157 = $self157;\nvar test$ast147 = $test$ast147;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans150 = R.mC();\n}\nwhile(!R.isContinuation($ans150)) {\nswitch($step145) {\ncase 0: $step145 = 1;\n$al151 = L[54];\n$ans150 = G(test$ast147,\"left\",L[54]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans150;\ndefault: R.ffi.throwSpinnakerError(L[53],$step145);\n}\n}\nif($step145 !== 1) {\n$ans150.stack[R.EXN_STACKHEIGHT++] = R.mAR($al151,$temp_full146,$step145,[self157,test$ast147],[],$elidedFrames153);\n}\nreturn $ans150;\n};\nvar anf_singleton_variant_member226 = R.makeMethod1($temp_full146,\"test-component\");\nvar $temp_full162 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__55($self171) {\nvar $step161 = 0;\nvar $elidedFrames167 = 0;\nvar $ans164 = D;\nvar $al165 = L[55];\nif(R.isAR($self171)) {\n$step161 = $self171.step;\n$al165 = $self171.from;\n$ans164 = $self171.ans;\n$elidedFrames167 = $self171.elidedFrames;\nself171 = $self171.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[55],1,$t,true);\n}\nvar self171 = $self171;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans164 = R.mC();\n}\nwhile(!R.isContinuation($ans164)) {\nswitch($step161) {\ncase 0: $step161 = 1;\n$ans164 = (\"right side\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans164;\ndefault: R.ffi.throwSpinnakerError(L[55],$step161);\n}\n}\nif($step161 !== 1) {\n$ans164.stack[R.EXN_STACKHEIGHT++] = R.mAR($al165,$temp_full162,$step161,[self171],[],$elidedFrames167);\n}\nreturn $ans164;\n};\nvar anf_singleton_variant_member232 = R.makeMethod0($temp_full162,\"side\");\nvar $temp_full172 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__56($self173,$test$ast174) {\nvar $step171 = 0;\nvar $elidedFrames178 = 0;\nvar $ans175 = D;\nvar $al176 = L[56];\nif(R.isAR($self173)) {\n$step171 = $self173.step;\n$al176 = $self173.from;\n$ans175 = $self173.ans;\n$elidedFrames178 = $self173.elidedFrames;\nself173 = $self173.args[0];\ntest$ast174 = $self173.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[56],2,$t,true);\n}\nvar self173 = $self173;\nvar test$ast174 = $test$ast174;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans175 = R.mC();\n}\nwhile(!R.isContinuation($ans175)) {\nswitch($step171) {\ncase 0: $al176 = L[57];\nvar anf_bracket179 = G(test$ast174,\"right\",L[57]);\n$step171 = 1;\n$al176 = L[58];\n$ans175 = G(anf_bracket179,\"value\",L[58]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans175;\ndefault: R.ffi.throwSpinnakerError(L[56],$step171);\n}\n}\nif($step171 !== 1) {\n$ans175.stack[R.EXN_STACKHEIGHT++] = R.mAR($al176,$temp_full172,$step171,[self173,test$ast174],[],$elidedFrames178);\n}\nreturn $ans175;\n};\nvar anf_singleton_variant_member233 = R.makeMethod1($temp_full172,\"test-component\");\nvar $temp_full182 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__59($self409) {\nvar $step181 = 0;\nvar $elidedFrames186 = 0;\nvar $ans183 = D;\nvar $al184 = L[59];\nif(R.isAR($self409)) {\n$step181 = $self409.step;\n$al184 = $self409.from;\n$ans183 = $self409.ans;\n$elidedFrames186 = $self409.elidedFrames;\nself409 = $self409.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],1,$t,true);\n}\nvar self409 = $self409;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans183 = R.mC();\n}\nwhile(!R.isContinuation($ans183)) {\nswitch($step181) {\ncase 0: $step181 = 1;\n$ans183 = (\"refinement\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans183;\ndefault: R.ffi.throwSpinnakerError(L[59],$step181);\n}\n}\nif($step181 !== 1) {\n$ans183.stack[R.EXN_STACKHEIGHT++] = R.mAR($al184,$temp_full182,$step181,[self409],[],$elidedFrames186);\n}\nreturn $ans183;\n};\nvar anf_singleton_variant_member239 = R.makeMethod0($temp_full182,\"side\");\nvar $temp_full191 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__60($self192,$test$ast193) {\nvar $step190 = 0;\nvar $elidedFrames197 = 0;\nvar $ans194 = D;\nvar $al195 = L[60];\nif(R.isAR($self192)) {\n$step190 = $self192.step;\n$al195 = $self192.from;\n$ans194 = $self192.ans;\n$elidedFrames197 = $self192.elidedFrames;\nself192 = $self192.args[0];\ntest$ast193 = $self192.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[60],2,$t,true);\n}\nvar self192 = $self192;\nvar test$ast193 = $test$ast193;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans194 = R.mC();\n}\nwhile(!R.isContinuation($ans194)) {\nswitch($step190) {\ncase 0: $al195 = L[61];\nvar anf_bracket198 = G(test$ast193,\"refinement\",L[61]);\n$step190 = 1;\n$al195 = L[62];\n$ans194 = G(anf_bracket198,\"value\",L[62]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans194;\ndefault: R.ffi.throwSpinnakerError(L[60],$step190);\n}\n}\nif($step190 !== 1) {\n$ans194.stack[R.EXN_STACKHEIGHT++] = R.mAR($al195,$temp_full191,$step190,[self192,test$ast193],[],$elidedFrames197);\n}\nreturn $ans194;\n};\nvar anf_singleton_variant_member240 = R.makeMethod1($temp_full191,\"test-component\");\nvar $temp_full201 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__63($self338) {\nvar $step200 = 0;\nvar $elidedFrames205 = 0;\nvar $ans202 = D;\nvar $al203 = L[63];\nif(R.isAR($self338)) {\n$step200 = $self338.step;\n$al203 = $self338.from;\n$ans202 = $self338.ans;\n$elidedFrames205 = $self338.elidedFrames;\nself338 = $self338.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[63],1,$t,true);\n}\nvar self338 = $self338;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans202 = R.mC();\n}\nwhile(!R.isContinuation($ans202)) {\nswitch($step200) {\ncase 0: $step200 = 1;\n$ans202 = (\"explanation\");\nbreak;\ncase 1: ++R.GAS;\nreturn $ans202;\ndefault: R.ffi.throwSpinnakerError(L[63],$step200);\n}\n}\nif($step200 !== 1) {\n$ans202.stack[R.EXN_STACKHEIGHT++] = R.mAR($al203,$temp_full201,$step200,[self338],[],$elidedFrames205);\n}\nreturn $ans202;\n};\nvar anf_singleton_variant_member246 = R.makeMethod0($temp_full201,\"side\");\nvar $temp_full210 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__64($self212,$test$ast211) {\nvar $step209 = 0;\nvar $elidedFrames215 = 0;\nvar $ans212 = D;\nvar $al213 = L[64];\nif(R.isAR($self212)) {\n$step209 = $self212.step;\n$al213 = $self212.from;\n$ans212 = $self212.ans;\n$elidedFrames215 = $self212.elidedFrames;\nself212 = $self212.args[0];\ntest$ast211 = $self212.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[64],2,$t,true);\n}\nvar self212 = $self212;\nvar test$ast211 = $test$ast211;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans212 = R.mC();\n}\nwhile(!R.isContinuation($ans212)) {\nswitch($step209) {\ncase 0: $al213 = L[65];\nvar anf_bracket216 = G(test$ast211,\"cause\",L[65]);\n$step209 = 1;\n$al213 = L[66];\n$ans212 = G(anf_bracket216,\"value\",L[66]);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans212;\ndefault: R.ffi.throwSpinnakerError(L[64],$step209);\n}\n}\nif($step209 !== 1) {\n$ans212.stack[R.EXN_STACKHEIGHT++] = R.mAR($al213,$temp_full210,$step209,[self212,test$ast211],[],$elidedFrames215);\n}\nreturn $ans212;\n};\nvar anf_singleton_variant_member247 = R.makeMethod1($temp_full210,\"test-component\");\nvar $on$left_getfields228 = function variant(f) {\nreturn f();\n};\nvar $on$left_mutablemask227 = [];\nvar $on$left$base222 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member225,\n\"test-component\":anf_singleton_variant_member226,\n\"_match\":R.mM(\"on-left\",0)};\nvar $on$left$brander223 = R.nB(\"on-left\",L[67]);\nvar $on$left$brands224 = {};\n$on$left$brands224[CheckOperand48._brand] = true;\n$on$left$brands224[$on$left$brander223._brand] = true;\nvar $on$right_getfields235 = function variant(f) {\nreturn f();\n};\nvar $on$right_mutablemask234 = [];\nvar $on$right$base229 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member232,\n\"test-component\":anf_singleton_variant_member233,\n\"_match\":R.mM(\"on-right\",0)};\nvar $on$right$brander230 = R.nB(\"on-right\",L[68]);\nvar $on$right$brands231 = {};\n$on$right$brands231[CheckOperand48._brand] = true;\n$on$right$brands231[$on$right$brander230._brand] = true;\nvar $on$refinement_getfields242 = function variant(f) {\nreturn f();\n};\nvar $on$refinement_mutablemask241 = [];\nvar $on$refinement$base236 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member239,\n\"test-component\":anf_singleton_variant_member240,\n\"_match\":R.mM(\"on-refinement\",0)};\nvar $on$refinement$brander237 = R.nB(\"on-refinement\",L[69]);\nvar $on$refinement$brands238 = {};\n$on$refinement$brands238[CheckOperand48._brand] = true;\n$on$refinement$brands238[$on$refinement$brander237._brand] = true;\nvar $on$cause_getfields249 = function variant(f) {\nreturn f();\n};\nvar $on$cause_mutablemask248 = [];\nvar $on$cause$base243 = {\"test-op\":anf_shared220,\n\"test-preamble\":anf_shared221,\n\"side\":anf_singleton_variant_member246,\n\"test-component\":anf_singleton_variant_member247,\n\"_match\":R.mM(\"on-cause\",0)};\nvar $on$cause$brander244 = R.nB(\"on-cause\",L[70]);\nvar $on$cause$brands245 = {};\n$on$cause$brands245[CheckOperand48._brand] = true;\n$on$cause$brands245[$on$cause$brander244._brand] = true;\nvar anf_assign1229 = R.mO({\"CheckOperand\":G(CheckOperand48,\"test\",L[71]),\n\"is-on-left\":G($on$left$brander223,\"test\",L[67]),\n\"on-left\":R.mDV($on$left$base222,$on$left$brands224,\"on-left\",$on$left_getfields228,-1,$on$left_mutablemask227,$on$left$base222,false,L[67]),\n\"is-on-right\":G($on$right$brander230,\"test\",L[68]),\n\"on-right\":R.mDV($on$right$base229,$on$right$brands231,\"on-right\",$on$right_getfields235,-1,$on$right_mutablemask234,$on$right$base229,false,L[68]),\n\"is-on-refinement\":G($on$refinement$brander237,\"test\",L[69]),\n\"on-refinement\":R.mDV($on$refinement$base236,$on$refinement$brands238,\"on-refinement\",$on$refinement_getfields242,-1,$on$refinement_mutablemask241,$on$refinement$base236,false,L[69]),\n\"is-on-cause\":G($on$cause$brander244,\"test\",L[70]),\n\"on-cause\":R.mDV($on$cause$base243,$on$cause$brands245,\"on-cause\",$on$cause_getfields249,-1,$on$cause_mutablemask248,$on$cause$base243,false,L[70])});\nCheckOperand250.$var = anf_assign1229;\nR.nothing;\n$al45 = L[71];\nvar anf_assign251 = G(CheckOperand250.$var,\"CheckOperand\",L[71]);\nis$CheckOperand252.$var = anf_assign251;\nR.nothing;\n$al45 = L[67];\nvar anf_assign253 = G(CheckOperand250.$var,\"is-on-left\",L[67]);\nis$on$left254.$var = anf_assign253;\nR.nothing;\n$al45 = L[67];\nvar anf_assign255 = G(CheckOperand250.$var,\"on-left\",L[67]);\non$left256.$var = anf_assign255;\nR.nothing;\n$al45 = L[68];\nvar anf_assign257 = G(CheckOperand250.$var,\"is-on-right\",L[68]);\nis$on$right258.$var = anf_assign257;\nR.nothing;\n$al45 = L[68];\nvar anf_assign259 = G(CheckOperand250.$var,\"on-right\",L[68]);\non$right260.$var = anf_assign259;\nR.nothing;\n$al45 = L[69];\nvar anf_assign261 = G(CheckOperand250.$var,\"is-on-refinement\",L[69]);\nis$on$refinement262.$var = anf_assign261;\nR.nothing;\n$al45 = L[69];\nvar anf_assign263 = G(CheckOperand250.$var,\"on-refinement\",L[69]);\non$refinement264.$var = anf_assign263;\nR.nothing;\n$al45 = L[70];\nvar anf_assign265 = G(CheckOperand250.$var,\"is-on-cause\",L[70]);\nis$on$cause266.$var = anf_assign265;\nR.nothing;\n$al45 = L[70];\nvar anf_assign1257 = G(CheckOperand250.$var,\"on-cause\",L[70]);\non$cause267.$var = anf_assign1257;\nR.nothing;\nvar $check$block$result_getfields272 = function singleton_variant(f) {\nreturn f(this.dict[\"name\"],this.dict[\"loc\"],this.dict[\"keyword-check\"],this.dict[\"test-results\"],this.dict[\"maybe-err\"]);\n};\nvar $check$block$result_mutablemask271 = [false,false,false,false,false];\nvar $check$block$result$base268 = {\"$fieldNames\":[\"name\",\"loc\",\"keyword-check\",\"test-results\",\"maybe-err\"],\n\"_match\":R.mM(\"check-block-result\",5)};\nvar $check$block$result$brander269 = R.nB(\"check-block-result\",L[72]);\nvar $check$block$result$brands270 = {};\n$check$block$result$brands270[CheckBlockResult49._brand] = true;\n$check$block$result$brands270[$check$block$result$brander269._brand] = true;\nvar check$block$result273 = R.mVC(L[72],function $synthesizedConstructor_$check$block$result$base() {\nreturn [$type$String8,Loc274,$type$Boolean6,List19,Option15];\n},[\"name275\",\"loc276\",\"keyword$check277\",\"test$results278\",\"maybe$err279\"],[L[73],L[74],L[75],L[76],L[77]],[false,false,false,false,false],[\"name275\",\"loc276\",\"keyword$check277\",\"test$results278\",\"maybe$err279\"],$check$block$result_mutablemask271,$check$block$result$base268,$check$block$result$brands270,\"check-block-result\",$check$block$result_getfields272,$check$block$result$base268);\nvar anf_assign1264 = R.mO({\"CheckBlockResult\":G(CheckBlockResult49,\"test\",L[78]),\n\"is-check-block-result\":G($check$block$result$brander269,\"test\",L[72]),\n\"check-block-result\":check$block$result273});\nCheckBlockResult280.$var = anf_assign1264;\nR.nothing;\n$al45 = L[78];\nvar anf_assign281 = G(CheckBlockResult280.$var,\"CheckBlockResult\",L[78]);\nis$CheckBlockResult282.$var = anf_assign281;\nR.nothing;\n$al45 = L[72];\nvar anf_assign1886 = G(CheckBlockResult280.$var,\"is-check-block-result\",L[72]);\nis$check$block$result283.$var = anf_assign1886;\nR.nothing;\n$al45 = L[72];\nvar anf_assign1274 = G(CheckBlockResult280.$var,\"check-block-result\",L[72]);\ncheck$block$result284.$var = anf_assign1274;\nR.nothing;\nvar $temp_lam286 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__79($operand287,$value288) {\nvar $step285 = 0;\nvar $elidedFrames292 = 0;\nvar $ans289 = D;\nvar $al290 = L[79];\nif(R.isAR($operand287)) {\n$step285 = $operand287.step;\n$al290 = $operand287.from;\n$ans289 = $operand287.ans;\n$elidedFrames292 = $operand287.elidedFrames;\noperand287 = $operand287.args[0];\nvalue288 = $operand287.args[1];\nanf_fun1714 = $operand287.vars[0];\nanf_fun1702 = $operand287.vars[1];\nanf_arg1703 = $operand287.vars[2];\nanf_arg303 = $operand287.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,false);\n}\nvar operand287 = $operand287;\nvar value288 = $value288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans289 = R.mC();\n}\nwhile(!R.isContinuation($ans289)) {\nswitch($step285) {\ncase 0: $ans289 = R.getMaker2(ED23.dict.values.dict[\"sequence\"],(\"make2\"),L[80],L[81]);\nvar anf_fun1714 = $ans289;\n$ans289 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[82],L[83]);\nvar anf_fun1702 = $ans289;\n$step285 = 1;\n$al290 = L[86];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"text\"]);\n}\n$ans289 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 1: var anf_arg1703 = $ans289;\n$step285 = 2;\n$al290 = L[85];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"text\"]);\n}\n$ans289 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 2: var anf_arg1942 = $ans289;\n$step285 = 3;\n$al290 = L[83];\nif(typeof(anf_fun1702.app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,anf_fun1702);\n}\n$ans289 = anf_fun1702.app(anf_arg1703,operand287,anf_arg1942);\nbreak;\ncase 3: var anf_arg303 = $ans289;\n$step285 = 4;\n$al290 = L[84];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,ED23.dict.values.dict[\"embed\"]);\n}\n$ans289 = ED23.dict.values.dict[\"embed\"].app(value288);\nbreak;\ncase 4: var anf_arg1922 = $ans289;\n$step285 = 5;\n$al290 = L[81];\nif(typeof(anf_fun1714.app) !== \"function\") {\nR.ffi.throwNonFunApp($al290,anf_fun1714);\n}\n$ans289 = anf_fun1714.app(anf_arg303,anf_arg1922);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans289;\ndefault: R.ffi.throwSpinnakerError(L[79],$step285);\n}\n}\nif($step285 !== 5) {\n$ans289.stack[R.EXN_STACKHEIGHT++] = R.mAR($al290,$temp_lam286,$step285,[operand287,value288],[anf_fun1714,anf_fun1702,anf_arg1703,anf_arg303],$elidedFrames292);\n}\nreturn $ans289;\n};\nvar anf_assign305 = R.mF($temp_lam286,\"report-value\");\nreport$value306.$var = anf_assign305;\nR.nothing;\nvar $temp_full308 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__87($self2001,$stack$getter309) {\nvar $step307 = 0;\nvar $elidedFrames313 = 0;\nvar $ans310 = D;\nvar $al311 = L[87];\nif(R.isAR($self2001)) {\n$step307 = $self2001.step;\n$al311 = $self2001.from;\n$ans310 = $self2001.ans;\n$elidedFrames313 = $self2001.elidedFrames;\nself2001 = $self2001.args[0];\nstack$getter309 = $self2001.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[87],2,$t,true);\n}\nvar self2001 = $self2001;\nvar stack$getter309 = $stack$getter309;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans310 = R.mC();\n}\nwhile(!R.isContinuation($ans310)) {\nswitch($step307) {\ncase 0: $step307 = 1;\n$ans310 = empty10;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans310;\ndefault: R.ffi.throwSpinnakerError(L[87],$step307);\n}\n}\nif($step307 !== 1) {\n$ans310.stack[R.EXN_STACKHEIGHT++] = R.mAR($al311,$temp_full308,$step307,[self2001,stack$getter309],[],$elidedFrames313);\n}\nreturn $ans310;\n};\nvar anf_shared2430 = R.makeMethod1($temp_full308,\"access-stack\");\nvar $temp_full318 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__88($self345,$maybe$stack$loc346,$src$available347,$maybe$ast348) {\nvar $step317 = 0;\nvar $elidedFrames324 = 0;\nvar $ans321 = D;\nvar $al322 = L[88];\nif(R.isAR($self345)) {\n$step317 = $self345.step;\n$al322 = $self345.from;\n$ans321 = $self345.ans;\n$elidedFrames324 = $self345.elidedFrames;\nself345 = $self345.args[0];\nmaybe$stack$loc346 = $self345.args[1];\nsrc$available347 = $self345.args[2];\nmaybe$ast348 = $self345.args[3];\ncases326 = $self345.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],4,$t,true);\n}\nvar self345 = $self345;\nvar maybe$stack$loc346 = $maybe$stack$loc346;\nvar src$available347 = $src$available347;\nvar maybe$ast348 = $maybe$ast348;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans321 = R.mC();\n}\nwhile(!R.isContinuation($ans321)) {\nswitch($step317) {\ncase 0: $al322 = L[89];\nvar anf_method_obj325 = G(self345,\"loc\",L[89]);\n$step317 = 1;\n$ans321 = R.maybeMethodCall0(anf_method_obj325,\"is-builtin\",L[90]);\nbreak;\ncase 1: var anf_if1320 = $ans321;\n$step317 = R.checkPyretTrue(anf_if1320)?2:3;\nbreak;\ncase 2: $step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[91]);\nbreak;\ncase 3: $al322 = L[92];\nvar anf_arg1316 = G(self345,\"loc\",L[92]);\n$step317 = 4;\n$al322 = L[173];\nif(typeof(src$available347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al322,src$available347);\n}\n$ans321 = src$available347.app(anf_arg1316);\nbreak;\ncase 4: var anf_if448 = $ans321;\n$step317 = R.checkPyretTrue(anf_if448)?5:11;\nbreak;\ncase 5: $al322 = L[93];\nvar anf_arg1710 = G(self345,\"loc\",L[93]);\n$step317 = 6;\n$al322 = L[171];\nif(typeof(maybe$ast348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al322,maybe$ast348);\n}\n$ans321 = maybe$ast348.app(anf_arg1710);\nbreak;\ncase 6: var cases326 = $ans321;\n$step317 = 7;\n$al322 = L[170];\nvar $ann$check447 = R._cA(L[170],Option15,cases326);\nif(R.isContinuation($ann$check447)) {\n$ans321 = $ann$check447;\n}\nbreak;\ncase 7: $al322 = L[167];\n$step317 = $cases_dispatch446[cases326.$name] || 10;\nbreak;\ncase 8: if(cases326.$arity !== 1) {\nif(cases326.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[166],1,cases326.$arity,L[167],cases326.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[166],true,L[167],cases326.$loc);\n}\n}\n$step317 = 12;\n$al322 = L[166];\nvar $temp_branch400 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__167($test$ast328) {\nvar $step402 = 0;\nvar $elidedFrames406 = 0;\nvar $ans403 = D;\nvar $al404 = L[94];\nif(R.isAR($test$ast328)) {\n$step402 = $test$ast328.step;\n$al404 = $test$ast328.from;\n$ans403 = $test$ast328.ans;\n$elidedFrames406 = $test$ast328.elidedFrames;\ntest$ast328 = $test$ast328.args[0];\nanf_arg2054 = $test$ast328.vars[0];\nanf_arg1464 = $test$ast328.vars[1];\ncases339 = $test$ast328.vars[2];\nanf_arg1458 = $test$ast328.vars[3];\nanf_arg1337 = $test$ast328.vars[4];\nanf_arg1427 = $test$ast328.vars[5];\nanf_arg346 = $test$ast328.vars[6];\ned$lhs341 = $test$ast328.vars[7];\nanf_arg1718 = $test$ast328.vars[8];\nlhs$ast332 = $test$ast328.vars[9];\nanf_fun340 = $test$ast328.vars[10];\nanf_fun345 = $test$ast328.vars[11];\ned$rhs342 = $test$ast328.vars[12];\nrhs$ast334 = $test$ast328.vars[13];\nanf_fun348 = $test$ast328.vars[14];\nanf_arg2094 = $test$ast328.vars[15];\n} else {\nvar test$ast328 = $test$ast328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans403 = R.mC();\n}\nwhile(!R.isContinuation($ans403)) {\nswitch($step402) {\ncase 0: $al404 = L[94];\nvar anf_method_obj327 = G(self345,\"left-src\",L[94]);\n$step402 = 1;\n$ans403 = R.maybeMethodCall1(anf_method_obj327,\"test-component\",L[95],test$ast328);\nbreak;\ncase 1: var lhs$ast332 = $ans403;\n$al404 = L[96];\nvar anf_method_obj330 = G(self345,\"right-src\",L[96]);\n$step402 = 2;\n$ans403 = R.maybeMethodCall1(anf_method_obj330,\"test-component\",L[97],test$ast328);\nbreak;\ncase 2: var rhs$ast334 = $ans403;\n$al404 = L[98];\nvar anf_method_obj331 = G(self345,\"left-src\",L[98]);\n$step402 = 3;\n$ans403 = R.maybeMethodCall0(anf_method_obj331,\"side\",L[99]);\nbreak;\ncase 3: var anf_arg1939 = $ans403;\n$step402 = 4;\n$al404 = L[165];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app(anf_arg1939);\nbreak;\ncase 4: var anf_arg1337 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[100],L[101]);\nvar anf_fun1734 = $ans403;\n$al404 = L[102];\nvar anf_arg1957 = G(lhs$ast332,\"l\",L[102]);\n$step402 = 5;\n$al404 = L[101];\nif(typeof(anf_fun1734.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun1734);\n}\n$ans403 = anf_fun1734.app(anf_arg1957);\nbreak;\ncase 5: var anf_arg1723 = $ans403;\n$step402 = 6;\n$al404 = L[164];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans403 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1337,anf_arg1723,(3));\nbreak;\ncase 6: var ed$lhs341 = $ans403;\n$al404 = L[103];\nvar anf_method_obj333 = G(self345,\"right-src\",L[103]);\n$step402 = 7;\n$ans403 = R.maybeMethodCall0(anf_method_obj333,\"side\",L[104]);\nbreak;\ncase 7: var anf_arg1376 = $ans403;\n$step402 = 8;\n$al404 = L[163];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app(anf_arg1376);\nbreak;\ncase 8: var anf_arg1718 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[105],L[106]);\nvar anf_fun335 = $ans403;\n$al404 = L[107];\nvar anf_arg1365 = G(rhs$ast334,\"l\",L[107]);\n$step402 = 9;\n$al404 = L[106];\nif(typeof(anf_fun335.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun335);\n}\n$ans403 = anf_fun335.app(anf_arg1365);\nbreak;\ncase 9: var anf_arg1719 = $ans403;\n$step402 = 10;\n$al404 = L[162];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans403 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1718,anf_arg1719,(4));\nbreak;\ncase 10: var ed$rhs342 = $ans403;\n$al404 = L[108];\nvar anf_method_obj337 = G(self345,\"left-src\",L[108]);\n$step402 = 11;\n$ans403 = R.maybeMethodCall1(anf_method_obj337,\"test-op\",L[109],test$ast328);\nbreak;\ncase 11: $ans403 = R.getMaker5(ED23.dict.values.dict[\"error\"],(\"make5\"),L[110],L[111]);\nvar anf_fun345 = $ans403;\n$al404 = L[112];\nvar anf_method_obj338 = G(self345,\"left-src\",L[112]);\n$step402 = 12;\n$ans403 = R.maybeMethodCall1(anf_method_obj338,\"test-preamble\",L[113],test$ast328);\nbreak;\ncase 12: var anf_arg2054 = $ans403;\n$al404 = L[114];\nvar anf_arg1739 = G(self345,\"loc\",L[114]);\n$step402 = 13;\n$al404 = L[161];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans403 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1739);\nbreak;\ncase 13: var anf_arg346 = $ans403;\n$ans403 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[115],L[116]);\nvar anf_fun340 = $ans403;\n$al404 = L[117];\nvar cases339 = G(test$ast328,\"op\",L[117]);\n$al404 = L[128];\n$step402 = $cases_dispatch443[cases339.$name] || 20;\nbreak;\ncase 14: if(cases339.$arity !== 1) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[127],1,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[127],true,L[128],cases339.$loc);\n}\n}\nvar $fn408 = cases339.$constructor.$fieldNames;\nR.dF(cases339.dict[$fn408[0]],cases339.$mut_fields_mask[0],false);\n$ans403 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[122],L[123]);\nvar anf_fun348 = $ans403;\n$step402 = 15;\n$al404 = L[126];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 15: var anf_arg2094 = $ans403;\n$step402 = 16;\n$al404 = L[125];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 16: var anf_arg1427 = $ans403;\n$step402 = 17;\n$al404 = L[124];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,ED23.dict.values.dict[\"text\"]);\n}\n$ans403 = ED23.dict.values.dict[\"text\"].app((\" are equal (allowing for rough equality).\"));\nbreak;\ncase 17: var anf_arg1730 = $ans403;\n$step402 = 21;\n$al404 = L[123];\nif(typeof(anf_fun348.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun348);\n}\n$ans403 = anf_fun348.app(anf_arg2094,ed$lhs341,anf_arg1427,ed$rhs342,anf_arg1730);\nbreak;\ncase 18: if(cases339.$arity !== 1) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[150],1,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[150],true,L[128],cases339.$loc);\n}\n}\n$step402 = 21;\n$al404 = L[150];\nvar $temp_branch419 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__128($$underscore372) {\nvar $step420 = 0;\nvar $elidedFrames424 = 0;\nvar $ans421 = D;\nvar $al422 = L[136];\nif(R.isAR($$underscore372)) {\n$step420 = $$underscore372.step;\n$al422 = $$underscore372.from;\n$ans421 = $$underscore372.ans;\n$elidedFrames424 = $$underscore372.elidedFrames;\n$underscore372 = $$underscore372.args[0];\ncases352 = $$underscore372.vars[0];\nanf_fun353 = $$underscore372.vars[1];\nanf_arg1414 = $$underscore372.vars[2];\nanf_arg1416 = $$underscore372.vars[3];\n} else {\nvar $underscore372 = $$underscore372;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans421 = R.mC();\n}\nwhile(!R.isContinuation($ans421)) {\nswitch($step420) {\ncase 0: $al422 = L[129];\nvar cases352 = G(test$ast328,\"refinement\",L[129]);\n$step420 = 1;\n$al422 = L[149];\nvar $ann$check434 = R._cA(L[149],Option15,cases352);\nif(R.isContinuation($ann$check434)) {\n$ans421 = $ann$check434;\n}\nbreak;\ncase 1: $al422 = L[136];\n$step420 = $cases_dispatch433[cases352.$name] || 7;\nbreak;\ncase 2: if(cases352.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[135],false,L[136],cases352.$loc);\n}\n$ans421 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[130],L[131]);\nvar anf_fun353 = $ans421;\n$step420 = 3;\n$al422 = L[134];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 3: var anf_arg1414 = $ans421;\n$step420 = 4;\n$al422 = L[133];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 4: var anf_arg1416 = $ans421;\n$step420 = 5;\n$al422 = L[132];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,ED23.dict.values.dict[\"text\"]);\n}\n$ans421 = ED23.dict.values.dict[\"text\"].app((\" are equal.\"));\nbreak;\ncase 5: var anf_arg1417 = $ans421;\n$step420 = 8;\n$al422 = L[131];\nif(typeof(anf_fun353.app) !== \"function\") {\nR.ffi.throwNonFunApp($al422,anf_fun353);\n}\n$ans421 = anf_fun353.app(anf_arg1414,ed$lhs341,anf_arg1416,ed$rhs342,anf_arg1417);\nbreak;\ncase 6: if(cases352.$arity !== 1) {\nif(cases352.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[148],1,cases352.$arity,L[136],cases352.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[148],true,L[136],cases352.$loc);\n}\n}\n$step420 = 8;\n$al422 = L[148];\nvar $temp_branch425 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__136($e354) {\nvar $step426 = 0;\nvar $elidedFrames430 = 0;\nvar $ans427 = D;\nvar $al428 = L[138];\nif(R.isAR($e354)) {\n$step426 = $e354.step;\n$al428 = $e354.from;\n$ans427 = $e354.ans;\n$elidedFrames430 = $e354.elidedFrames;\ne354 = $e354.args[0];\nanf_fun1770 = $e354.vars[0];\nanf_array356 = $e354.vars[1];\nanf_arg1764 = $e354.vars[2];\n} else {\nvar e354 = $e354;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans427 = R.mC();\n}\nwhile(!R.isContinuation($ans427)) {\nswitch($step426) {\ncase 0: $ans427 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[137],L[138]);\nvar anf_fun1770 = $ans427;\n$ans427 = R.makeArrayN((7));\nvar anf_array356 = $ans427;\n$step426 = 1;\n$al428 = L[147];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 1: anf_array356[0] = $ans427;\n$step426 = 2;\n$al428 = L[146];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 2: var anf_arg1764 = $ans427;\n$ans427 = R.getMaker1(list6,(\"make1\"),L[139],L[140]);\nvar anf_fun355 = $ans427;\n$al428 = L[141];\nvar anf_arg1755 = G(e354,\"l\",L[141]);\n$step426 = 3;\n$al428 = L[140];\nif(typeof(anf_fun355.app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,anf_fun355);\n}\n$ans427 = anf_fun355.app(anf_arg1755);\nbreak;\ncase 3: var anf_arg1466 = $ans427;\n$step426 = 4;\n$al428 = L[145];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans427 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1764,anf_arg1466,(1));\nbreak;\ncase 4: anf_array356[1] = $ans427;\n$step426 = 5;\n$al428 = L[144];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the \"));\nbreak;\ncase 5: anf_array356[2] = $ans427;\nanf_array356[3] = ed$lhs341;\n$step426 = 6;\n$al428 = L[143];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array356[4] = $ans427;\nanf_array356[5] = ed$rhs342;\n$step426 = 7;\n$al428 = L[142];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,ED23.dict.values.dict[\"text\"]);\n}\n$ans427 = ED23.dict.values.dict[\"text\"].app((\" are applied to it.\"));\nbreak;\ncase 7: anf_array356[6] = $ans427;\n$step426 = 8;\n$al428 = L[138];\nif(typeof(anf_fun1770.app) !== \"function\") {\nR.ffi.throwNonFunApp($al428,anf_fun1770);\n}\n$ans427 = anf_fun1770.app(anf_array356);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans427;\ndefault: R.ffi.throwSpinnakerError(L[138],$step426);\n}\n}\nif($step426 !== 8) {\n$ans427.stack[R.EXN_STACKHEIGHT++] = R.mAR($al428,$temp_branch425,$step426,[e354],[anf_fun1770,anf_array356,anf_arg1764],$elidedFrames430);\n}\nreturn $ans427;\n};\n$ans421 = cases352.$app_fields($temp_branch425,[false]);\nbreak;\ncase 7: $ans421 = R.throwNoCasesMatched(L[136],cases352);\n$step420 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans421;\ndefault: R.ffi.throwSpinnakerError(L[136],$step420);\n}\n}\nif($step420 !== 8) {\n$ans421.stack[R.EXN_STACKHEIGHT++] = R.mAR($al422,$temp_branch419,$step420,[$underscore372],[cases352,anf_fun353,anf_arg1414,anf_arg1416],$elidedFrames424);\n}\nreturn $ans421;\n};\n$ans403 = cases339.$app_fields($temp_branch419,[false]);\nbreak;\ncase 19: if(cases339.$arity !== 2) {\nif(cases339.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[160],2,cases339.$arity,L[128],cases339.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[160],true,L[128],cases339.$loc);\n}\n}\n$step402 = 21;\n$al404 = L[160];\nvar $temp_branch436 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__128($$underscore396,$op386) {\nvar $step437 = 0;\nvar $elidedFrames441 = 0;\nvar $ans438 = D;\nvar $al439 = L[152];\nif(R.isAR($$underscore396)) {\n$step437 = $$underscore396.step;\n$al439 = $$underscore396.from;\n$ans438 = $$underscore396.ans;\n$elidedFrames441 = $$underscore396.elidedFrames;\n$underscore396 = $$underscore396.args[0];\nop386 = $$underscore396.args[1];\nanf_fun387 = $$underscore396.vars[0];\nanf_array388 = $$underscore396.vars[1];\n} else {\nvar $underscore396 = $$underscore396;\nvar op386 = $op386;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans438 = R.mC();\n}\nwhile(!R.isContinuation($ans438)) {\nswitch($step437) {\ncase 0: $ans438 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[151],L[152]);\nvar anf_fun387 = $ans438;\n$ans438 = R.makeArrayN((7));\nvar anf_array388 = $ans438;\n$step437 = 1;\n$al439 = L[159];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the predicate \"));\nbreak;\ncase 1: anf_array388[0] = $ans438;\n$step437 = 2;\n$al439 = L[158];\n// omitting isFunction check;\n$ans438 = get$op$fun$name61.$var.app(op386);\nbreak;\ncase 2: var anf_arg1444 = $ans438;\n$step437 = 3;\n$al439 = L[157];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app(anf_arg1444);\nbreak;\ncase 3: var anf_arg1445 = $ans438;\n$step437 = 4;\n$al439 = L[156];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"code\"]);\n}\n$ans438 = ED23.dict.values.dict[\"code\"].app(anf_arg1445);\nbreak;\ncase 4: anf_array388[1] = $ans438;\n$step437 = 5;\n$al439 = L[155];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the \"));\nbreak;\ncase 5: anf_array388[2] = $ans438;\nanf_array388[3] = ed$lhs341;\n$step437 = 6;\n$al439 = L[154];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array388[4] = $ans438;\nanf_array388[5] = ed$rhs342;\n$step437 = 7;\n$al439 = L[153];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,ED23.dict.values.dict[\"text\"]);\n}\n$ans438 = ED23.dict.values.dict[\"text\"].app((\" are applied to it.\"));\nbreak;\ncase 7: anf_array388[6] = $ans438;\n$step437 = 8;\n$al439 = L[152];\nif(typeof(anf_fun387.app) !== \"function\") {\nR.ffi.throwNonFunApp($al439,anf_fun387);\n}\n$ans438 = anf_fun387.app(anf_array388);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans438;\ndefault: R.ffi.throwSpinnakerError(L[152],$step437);\n}\n}\nif($step437 !== 8) {\n$ans438.stack[R.EXN_STACKHEIGHT++] = R.mAR($al439,$temp_branch436,$step437,[$underscore396,op386],[anf_fun387,anf_array388],$elidedFrames441);\n}\nreturn $ans438;\n};\n$ans403 = cases339.$app_fields($temp_branch436,[false,false]);\nbreak;\ncase 20: $ans403 = R.throwNoCasesMatched(L[128],cases339);\n$step402 = 21;\nbreak;\ncase 21: var anf_arg1452 = $ans403;\n$step402 = 22;\n$al404 = L[116];\nif(typeof(anf_fun340.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun340);\n}\n$ans403 = anf_fun340.app(anf_arg1452);\nbreak;\ncase 22: var anf_arg1458 = $ans403;\n$al404 = L[118];\nvar anf_arg1462 = G(self345,\"left\",L[118]);\n$step402 = 23;\n$al404 = L[121];\n// omitting isFunction check;\n$ans403 = report$value306.$var.app(ed$lhs341,anf_arg1462);\nbreak;\ncase 23: var anf_arg1464 = $ans403;\n$al404 = L[119];\nvar anf_arg344 = G(self345,\"right\",L[119]);\n$step402 = 24;\n$al404 = L[120];\n// omitting isFunction check;\n$ans403 = report$value306.$var.app(ed$rhs342,anf_arg344);\nbreak;\ncase 24: var anf_arg347 = $ans403;\n$step402 = 25;\n$al404 = L[111];\nif(typeof(anf_fun345.app) !== \"function\") {\nR.ffi.throwNonFunApp($al404,anf_fun345);\n}\n$ans403 = anf_fun345.app(anf_arg2054,anf_arg346,anf_arg1458,anf_arg1464,anf_arg347);\nbreak;\ncase 25: ++R.GAS;\nreturn $ans403;\ndefault: R.ffi.throwSpinnakerError(L[94],$step402);\n}\n}\nif($step402 !== 25) {\n$ans403.stack[R.EXN_STACKHEIGHT++] = R.mAR($al404,$temp_branch400,$step402,[test$ast328],[anf_arg2054,anf_arg1464,cases339,anf_arg1458,anf_arg1337,anf_arg1427,anf_arg346,ed$lhs341,anf_arg1718,lhs$ast332,anf_fun340,anf_fun345,ed$rhs342,rhs$ast334,anf_fun348,anf_arg2094],$elidedFrames406);\n}\nreturn $ans403;\n};\n$ans321 = cases326.$app_fields($temp_branch400,[false]);\nbreak;\ncase 9: if(cases326.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[169],false,L[167],cases326.$loc);\n}\n$step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[168]);\nbreak;\ncase 10: $ans321 = R.throwNoCasesMatched(L[167],cases326);\n$step317 = 12;\nbreak;\ncase 11: $step317 = 12;\n$ans321 = R.maybeMethodCall0(self345,\"render-reason\",L[172]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans321;\ndefault: R.ffi.throwSpinnakerError(L[88],$step317);\n}\n}\nif($step317 !== 12) {\n$ans321.stack[R.EXN_STACKHEIGHT++] = R.mAR($al322,$temp_full318,$step317,[self345,maybe$stack$loc346,src$available347,maybe$ast348],[cases326],$elidedFrames324);\n}\nreturn $ans321;\n};\nvar anf_variant_member2441 = R.makeMethod3($temp_full318,\"render-fancy-reason\");\nvar $temp_full453 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__174($self454) {\nvar $step452 = 0;\nvar $elidedFrames458 = 0;\nvar $ans455 = D;\nvar $al456 = L[174];\nif(R.isAR($self454)) {\n$step452 = $self454.step;\n$al456 = $self454.from;\n$ans455 = $self454.ans;\n$elidedFrames458 = $self454.elidedFrames;\nself454 = $self454.args[0];\ncases459 = $self454.vars[0];\nanf_arg1488 = $self454.vars[1];\nanf_arg463 = $self454.vars[2];\nanf_fun460 = $self454.vars[3];\nanf_fun461 = $self454.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[174],1,$t,true);\n}\nvar self454 = $self454;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans455 = R.mC();\n}\nwhile(!R.isContinuation($ans455)) {\nswitch($step452) {\ncase 0: $ans455 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[175],L[176]);\nvar anf_fun461 = $ans455;\n$ans455 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[177],L[178]);\nvar anf_fun460 = $ans455;\n$al456 = L[179];\nvar cases459 = G(self454,\"refinement\",L[179]);\n$step452 = 1;\n$al456 = L[189];\nvar $ann$check468 = R._cA(L[189],Option15,cases459);\nif(R.isContinuation($ann$check468)) {\n$ans455 = $ann$check468;\n}\nbreak;\ncase 1: $al456 = L[186];\n$step452 = $cases_dispatch467[cases459.$name] || 4;\nbreak;\ncase 2: if(cases459.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[185],false,L[186],cases459.$loc);\n}\n$step452 = 5;\n$al456 = L[184];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"text\"]);\n}\n$ans455 = ED23.dict.values.dict[\"text\"].app((\"Values not equal\"));\nbreak;\ncase 3: if(cases459.$arity !== 1) {\nif(cases459.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[188],1,cases459.$arity,L[186],cases459.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[188],true,L[186],cases459.$loc);\n}\n}\nvar $fn465 = cases459.$constructor.$fieldNames;\nR.dF(cases459.dict[$fn465[0]],cases459.$mut_fields_mask[0],false);\n$step452 = 5;\n$al456 = L[187];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"text\"]);\n}\n$ans455 = ED23.dict.values.dict[\"text\"].app((\"Values not equal (using custom equality):\"));\nbreak;\ncase 4: $ans455 = R.throwNoCasesMatched(L[186],cases459);\n$step452 = 5;\nbreak;\ncase 5: var anf_arg1500 = $ans455;\n$step452 = 6;\n$al456 = L[178];\nif(typeof(anf_fun460.app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,anf_fun460);\n}\n$ans455 = anf_fun460.app(anf_arg1500);\nbreak;\ncase 6: var anf_arg463 = $ans455;\n$al456 = L[180];\nvar anf_arg1487 = G(self454,\"left\",L[180]);\n$step452 = 7;\n$al456 = L[183];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"embed\"]);\n}\n$ans455 = ED23.dict.values.dict[\"embed\"].app(anf_arg1487);\nbreak;\ncase 7: var anf_arg1488 = $ans455;\n$al456 = L[181];\nvar anf_arg1489 = G(self454,\"right\",L[181]);\n$step452 = 8;\n$al456 = L[182];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,ED23.dict.values.dict[\"embed\"]);\n}\n$ans455 = ED23.dict.values.dict[\"embed\"].app(anf_arg1489);\nbreak;\ncase 8: var anf_arg1490 = $ans455;\n$step452 = 9;\n$al456 = L[176];\nif(typeof(anf_fun461.app) !== \"function\") {\nR.ffi.throwNonFunApp($al456,anf_fun461);\n}\n$ans455 = anf_fun461.app(anf_arg463,anf_arg1488,anf_arg1490);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans455;\ndefault: R.ffi.throwSpinnakerError(L[174],$step452);\n}\n}\nif($step452 !== 9) {\n$ans455.stack[R.EXN_STACKHEIGHT++] = R.mAR($al456,$temp_full453,$step452,[self454],[cases459,anf_arg1488,anf_arg463,anf_fun460,anf_fun461],$elidedFrames458);\n}\nreturn $ans455;\n};\nvar anf_variant_member2442 = R.makeMethod0($temp_full453,\"render-reason\");\nvar $temp_full471 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__190($self472,$maybe$stack$loc473,$src$available474,$maybe$ast475) {\nvar $step470 = 0;\nvar $elidedFrames482 = 0;\nvar $ans479 = D;\nvar $al480 = L[190];\nif(R.isAR($self472)) {\n$step470 = $self472.step;\n$al480 = $self472.from;\n$ans479 = $self472.ans;\n$elidedFrames482 = $self472.elidedFrames;\nself472 = $self472.args[0];\nmaybe$stack$loc473 = $self472.args[1];\nsrc$available474 = $self472.args[2];\nmaybe$ast475 = $self472.args[3];\ncases542 = $self472.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[190],4,$t,true);\n}\nvar self472 = $self472;\nvar maybe$stack$loc473 = $maybe$stack$loc473;\nvar src$available474 = $src$available474;\nvar maybe$ast475 = $maybe$ast475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans479 = R.mC();\n}\nwhile(!R.isContinuation($ans479)) {\nswitch($step470) {\ncase 0: $al480 = L[191];\nvar anf_method_obj483 = G(self472,\"loc\",L[191]);\n$step470 = 1;\n$ans479 = R.maybeMethodCall0(anf_method_obj483,\"is-builtin\",L[192]);\nbreak;\ncase 1: var anf_if803 = $ans479;\n$step470 = R.checkPyretTrue(anf_if803)?2:3;\nbreak;\ncase 2: $step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[193]);\nbreak;\ncase 3: $al480 = L[194];\nvar anf_arg1495 = G(self472,\"loc\",L[194]);\n$step470 = 4;\n$al480 = L[274];\nif(typeof(src$available474.app) !== \"function\") {\nR.ffi.throwNonFunApp($al480,src$available474);\n}\n$ans479 = src$available474.app(anf_arg1495);\nbreak;\ncase 4: var anf_if802 = $ans479;\n$step470 = R.checkPyretTrue(anf_if802)?5:11;\nbreak;\ncase 5: $al480 = L[195];\nvar anf_arg541 = G(self472,\"loc\",L[195]);\n$step470 = 6;\n$al480 = L[272];\nif(typeof(maybe$ast475.app) !== \"function\") {\nR.ffi.throwNonFunApp($al480,maybe$ast475);\n}\n$ans479 = maybe$ast475.app(anf_arg541);\nbreak;\ncase 6: var cases542 = $ans479;\n$step470 = 7;\n$al480 = L[271];\nvar $ann$check801 = R._cA(L[271],Option15,cases542);\nif(R.isContinuation($ann$check801)) {\n$ans479 = $ann$check801;\n}\nbreak;\ncase 7: $al480 = L[268];\n$step470 = $cases_dispatch800[cases542.$name] || 10;\nbreak;\ncase 8: if(cases542.$arity !== 1) {\nif(cases542.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[267],1,cases542.$arity,L[268],cases542.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[267],true,L[268],cases542.$loc);\n}\n}\n$step470 = 12;\n$al480 = L[267];\nvar $temp_branch787 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__268($test$ast544) {\nvar $step789 = 0;\nvar $elidedFrames793 = 0;\nvar $ans790 = D;\nvar $al791 = L[196];\nif(R.isAR($test$ast544)) {\n$step789 = $test$ast544.step;\n$al791 = $test$ast544.from;\n$ans790 = $test$ast544.ans;\n$elidedFrames793 = $test$ast544.elidedFrames;\ntest$ast544 = $test$ast544.args[0];\nanf_fun739 = $test$ast544.vars[0];\nwithin$name652 = $test$ast544.vars[1];\ncases632 = $test$ast544.vars[2];\nanf_arg1594 = $test$ast544.vars[3];\nanf_arg1574 = $test$ast544.vars[4];\nanf_arg1523 = $test$ast544.vars[5];\ntup2856 = $test$ast544.vars[6];\nanf_arg631 = $test$ast544.vars[7];\nanf_array740 = $test$ast544.vars[8];\nuse$within749 = $test$ast544.vars[9];\nmsg1720 = $test$ast544.vars[10];\nanf_arg716 = $test$ast544.vars[11];\nlhs$ast546 = $test$ast544.vars[12];\ned$lhs722 = $test$ast544.vars[13];\nanf_arg717 = $test$ast544.vars[14];\nanf_fun741 = $test$ast544.vars[15];\nanf_fun721 = $test$ast544.vars[16];\nmsg2738 = $test$ast544.vars[17];\nanf_fun746 = $test$ast544.vars[18];\nrhs$ast568 = $test$ast544.vars[19];\nanf_fun715 = $test$ast544.vars[20];\ned$rhs734 = $test$ast544.vars[21];\n} else {\nvar test$ast544 = $test$ast544;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans790 = R.mC();\n}\nwhile(!R.isContinuation($ans790)) {\nswitch($step789) {\ncase 0: $al791 = L[196];\nvar anf_method_obj543 = G(self472,\"left-src\",L[196]);\n$step789 = 1;\n$ans790 = R.maybeMethodCall1(anf_method_obj543,\"test-component\",L[197],test$ast544);\nbreak;\ncase 1: var lhs$ast546 = $ans790;\n$al791 = L[198];\nvar anf_method_obj545 = G(self472,\"right-src\",L[198]);\n$step789 = 2;\n$ans790 = R.maybeMethodCall1(anf_method_obj545,\"test-component\",L[199],test$ast544);\nbreak;\ncase 2: var rhs$ast568 = $ans790;\n$al791 = L[200];\nvar anf_method_obj2296 = G(self472,\"left-src\",L[200]);\n$step789 = 3;\n$ans790 = R.maybeMethodCall0(anf_method_obj2296,\"side\",L[201]);\nbreak;\ncase 3: var anf_arg1522 = $ans790;\n$step789 = 4;\n$al791 = L[266];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(anf_arg1522);\nbreak;\ncase 4: var anf_arg1523 = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[202],L[203]);\nvar anf_fun548 = $ans790;\n$al791 = L[204];\nvar anf_arg566 = G(lhs$ast546,\"l\",L[204]);\n$step789 = 5;\n$al791 = L[203];\nif(typeof(anf_fun548.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun548);\n}\n$ans790 = anf_fun548.app(anf_arg566);\nbreak;\ncase 5: var anf_arg567 = $ans790;\n$step789 = 6;\n$al791 = L[265];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans790 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1523,anf_arg567,(3));\nbreak;\ncase 6: var ed$lhs722 = $ans790;\n$al791 = L[205];\nvar anf_method_obj2321 = G(self472,\"right-src\",L[205]);\n$step789 = 7;\n$ans790 = R.maybeMethodCall0(anf_method_obj2321,\"side\",L[206]);\nbreak;\ncase 7: var anf_arg1554 = $ans790;\n$step789 = 8;\n$al791 = L[264];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(anf_arg1554);\nbreak;\ncase 8: var anf_arg631 = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[207],L[208]);\nvar anf_fun569 = $ans790;\n$al791 = L[209];\nvar anf_arg1542 = G(rhs$ast568,\"l\",L[209]);\n$step789 = 9;\n$al791 = L[208];\nif(typeof(anf_fun569.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun569);\n}\n$ans790 = anf_fun569.app(anf_arg1542);\nbreak;\ncase 9: var anf_arg1544 = $ans790;\n$step789 = 10;\n$al791 = L[263];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans790 = ED23.dict.values.dict[\"highlight\"].app(anf_arg631,anf_arg1544,(4));\nbreak;\ncase 10: var ed$rhs734 = $ans790;\n$al791 = L[210];\nvar anf_method_obj2338 = G(self472,\"left-src\",L[210]);\n$step789 = 11;\n$ans790 = R.maybeMethodCall1(anf_method_obj2338,\"test-op\",L[211],test$ast544);\nbreak;\ncase 11: $al791 = L[212];\nvar cases632 = G(test$ast544,\"op\",L[212]);\n$al791 = L[260];\n$step789 = $cases_dispatch798[cases632.$name] || 20;\nbreak;\ncase 12: if(cases632.$arity !== 2) {\nif(cases632.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[259],2,cases632.$arity,L[260],cases632.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[259],true,L[260],cases632.$loc);\n}\n}\nvar $fn795 = cases632.$constructor.$fieldNames;\nR.dF(cases632.dict[$fn795[0]],cases632.$mut_fields_mask[0],false);\nvar op775 = R.dF(cases632.dict[$fn795[1]],cases632.$mut_fields_mask[1],false);\n$step789 = 13;\n$al791 = L[258];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,equal$always1);\n}\n$ans790 = equal$always1.app(op775,(\"op=~\"));\nbreak;\ncase 13: var anf_if776 = $ans790;\n$step789 = R.checkPyretTrue(anf_if776)?14:15;\nbreak;\ncase 14: $step789 = 21;\n$ans790 = (\"within-now\");\nbreak;\ncase 15: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 16: if(cases632.$arity !== 2) {\nif(cases632.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[262],2,cases632.$arity,L[260],cases632.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[262],true,L[260],cases632.$loc);\n}\n}\nvar $fn797 = cases632.$constructor.$fieldNames;\nR.dF(cases632.dict[$fn797[0]],cases632.$mut_fields_mask[0],false);\nvar op780 = R.dF(cases632.dict[$fn797[1]],cases632.$mut_fields_mask[1],false);\n$step789 = 17;\n$al791 = L[261];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,equal$always1);\n}\n$ans790 = equal$always1.app(op780,(\"op=~\"));\nbreak;\ncase 17: var anf_if781 = $ans790;\n$step789 = R.checkPyretTrue(anf_if781)?18:19;\nbreak;\ncase 18: $step789 = 21;\n$ans790 = (\"within-now\");\nbreak;\ncase 19: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 20: $step789 = 21;\n$ans790 = (\"within\");\nbreak;\ncase 21: var within$name652 = $ans790;\n$ans790 = R.getMaker5(ED23.dict.values.dict[\"para\"],(\"make5\"),L[213],L[214]);\nvar anf_fun715 = $ans790;\n$step789 = 22;\n$al791 = L[257];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Use \"));\nbreak;\ncase 22: var anf_arg716 = $ans790;\n$step789 = 23;\n$al791 = L[256];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"is-roughly\"));\nbreak;\ncase 23: var anf_arg651 = $ans790;\n$step789 = 24;\n$al791 = L[255];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"code\"]);\n}\n$ans790 = ED23.dict.values.dict[\"code\"].app(anf_arg651);\nbreak;\ncase 24: var anf_arg717 = $ans790;\n$step789 = 25;\n$al791 = L[254];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\" as the testing operator, or consider using the \"));\nbreak;\ncase 25: var anf_arg1594 = $ans790;\n$step789 = 26;\n$al791 = L[253];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(within$name652);\nbreak;\ncase 26: var anf_arg714 = $ans790;\n$step789 = 27;\n$al791 = L[252];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"code\"]);\n}\n$ans790 = ED23.dict.values.dict[\"code\"].app(anf_arg714);\nbreak;\ncase 27: var anf_arg1574 = $ans790;\n$step789 = 28;\n$al791 = L[251];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 28: var anf_arg1579 = $ans790;\n$step789 = 29;\n$al791 = L[214];\nif(typeof(anf_fun715.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun715);\n}\n$ans790 = anf_fun715.app(anf_arg716,anf_arg717,anf_arg1594,anf_arg1574,anf_arg1579);\nbreak;\ncase 29: var use$within749 = $ans790;\n$al791 = L[215];\nvar anf_bracket718 = G(self472,\"eq-result\",L[215]);\n$al791 = L[216];\nvar anf_arg1587 = G(anf_bracket718,\"value1\",L[216]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1587);\nvar anf_if774 = $ans790;\n$step789 = R.checkPyretTrue(anf_if774)?30:31;\nbreak;\ncase 30: $al791 = L[249];\nvar anf_bracket773 = G(self472,\"eq-result\",L[249]);\n$al791 = L[250];\nvar anf_arg1590 = G(anf_bracket773,\"value2\",L[250]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1590);\nvar anf_arg1592 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg1592);\n$step789 = 32;\nbreak;\ncase 31: $step789 = 32;\n$ans790 = (false);\nbreak;\ncase 32: var anf_if772 = $ans790;\n$step789 = R.checkPyretTrue(anf_if772)?33:36;\nbreak;\ncase 33: $ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[233],L[234]);\nvar anf_fun741 = $ans790;\n$step789 = 34;\n$al791 = L[235];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Did you mean to call them first?\"));\nbreak;\ncase 34: var anf_arg743 = $ans790;\n$step789 = 35;\n$al791 = L[234];\nif(typeof(anf_fun741.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun741);\n}\n$ans790 = anf_fun741.app(anf_arg743);\nbreak;\ncase 35: var anf_tuple_fields744 = $ans790;\n$step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare two Functions for equality, which is not allowed:\"),anf_tuple_fields744]);\nbreak;\ncase 36: $al791 = L[236];\nvar anf_bracket745 = G(self472,\"eq-result\",L[236]);\n$al791 = L[237];\nvar anf_arg1633 = G(anf_bracket745,\"value1\",L[237]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1633);\nvar anf_if1631 = $ans790;\n$step789 = R.checkPyretTrue(anf_if1631)?37:38;\nbreak;\ncase 37: $step789 = 39;\n$ans790 = (true);\nbreak;\ncase 38: $al791 = L[247];\nvar anf_bracket771 = G(self472,\"eq-result\",L[247]);\n$al791 = L[248];\nvar anf_arg1617 = G(anf_bracket771,\"value2\",L[248]);\n// caller optimization;\n$ans790 = is$function4.app(anf_arg1617);\nvar anf_arg1618 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg1618);\n$step789 = 39;\nbreak;\ncase 39: var anf_if770 = $ans790;\n$step789 = R.checkPyretTrue(anf_if770)?40:43;\nbreak;\ncase 40: $ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[238],L[239]);\nvar anf_fun746 = $ans790;\n$step789 = 41;\n$al791 = L[240];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app((\"Did you mean to call the function first?\"));\nbreak;\ncase 41: var anf_arg1622 = $ans790;\n$step789 = 42;\n$al791 = L[239];\nif(typeof(anf_fun746.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun746);\n}\n$ans790 = anf_fun746.app(anf_arg1622);\nbreak;\ncase 42: var anf_tuple_fields747 = $ans790;\n$step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare a Function to another value for equality:\"),anf_tuple_fields747]);\nbreak;\ncase 43: $al791 = L[241];\nvar anf_bracket748 = G(self472,\"eq-result\",L[241]);\n$al791 = L[242];\nvar anf_arg1625 = G(anf_bracket748,\"value1\",L[242]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg1625);\nvar anf_if769 = $ans790;\n$step789 = R.checkPyretTrue(anf_if769)?44:45;\nbreak;\ncase 44: $al791 = L[245];\nvar anf_bracket765 = G(self472,\"eq-result\",L[245]);\n$al791 = L[246];\nvar anf_arg766 = G(anf_bracket765,\"value2\",L[246]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg766);\nvar anf_arg768 = $ans790;\n$ans790 = R.checkWrapBoolean(anf_arg768);\n$step789 = 46;\nbreak;\ncase 45: $step789 = 46;\n$ans790 = (false);\nbreak;\ncase 46: var anf_if764 = $ans790;\n$step789 = R.checkPyretTrue(anf_if764)?47:48;\nbreak;\ncase 47: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare two Roughnums for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 48: $al791 = L[243];\nvar anf_bracket750 = G(self472,\"eq-result\",L[243]);\n$al791 = L[244];\nvar anf_arg763 = G(anf_bracket750,\"value1\",L[244]);\n// caller optimization;\n$ans790 = num$is$roughnum2.app(anf_arg763);\nvar anf_if1693 = $ans790;\n$step789 = R.checkPyretTrue(anf_if1693)?49:50;\nbreak;\ncase 49: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare a Roughnum to an Exactnum for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 50: $step789 = 51;\n$ans790 = R.makeTuple([(\"Attempted to compare an Exactnum to a Roughnum for equality, which is not allowed:\"),use$within749]);\nbreak;\ncase 51: var tup2856 = $ans790;\n$step789 = 52;\n$al791 = L[232];\nR.checkTupleBind(tup2856,2,L[232]);\nbreak;\ncase 52: var msg1720 = R.getTuple(tup2856,0,L[217]);\nvar msg2738 = R.getTuple(tup2856,1,L[218]);\n$ans790 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[219],L[220]);\nvar anf_fun739 = $ans790;\n$ans790 = R.makeArrayN((6));\nvar anf_array740 = $ans790;\n$al791 = L[221];\nvar anf_method_obj719 = G(self472,\"left-src\",L[221]);\n$step789 = 53;\n$ans790 = R.maybeMethodCall1(anf_method_obj719,\"test-preamble\",L[222],test$ast544);\nbreak;\ncase 53: anf_array740[0] = $ans790;\n$al791 = L[223];\nvar anf_arg1687 = G(self472,\"loc\",L[223]);\n$step789 = 54;\n$al791 = L[231];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans790 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1687);\nbreak;\ncase 54: anf_array740[1] = $ans790;\n$ans790 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[224],L[225]);\nvar anf_fun721 = $ans790;\n$step789 = 55;\n$al791 = L[230];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,ED23.dict.values.dict[\"text\"]);\n}\n$ans790 = ED23.dict.values.dict[\"text\"].app(msg1720);\nbreak;\ncase 55: var anf_arg1690 = $ans790;\n$step789 = 56;\n$al791 = L[225];\nif(typeof(anf_fun721.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun721);\n}\n$ans790 = anf_fun721.app(anf_arg1690);\nbreak;\ncase 56: anf_array740[2] = $ans790;\n$al791 = L[226];\nvar anf_arg733 = G(self472,\"left\",L[226]);\n$step789 = 57;\n$al791 = L[229];\n// omitting isFunction check;\n$ans790 = report$value306.$var.app(ed$lhs722,anf_arg733);\nbreak;\ncase 57: anf_array740[3] = $ans790;\n$al791 = L[227];\nvar anf_arg737 = G(self472,\"right\",L[227]);\n$step789 = 58;\n$al791 = L[228];\n// omitting isFunction check;\n$ans790 = report$value306.$var.app(ed$rhs734,anf_arg737);\nbreak;\ncase 58: anf_array740[4] = $ans790;\nanf_array740[5] = msg2738;\n$step789 = 59;\n$al791 = L[220];\nif(typeof(anf_fun739.app) !== \"function\") {\nR.ffi.throwNonFunApp($al791,anf_fun739);\n}\n$ans790 = anf_fun739.app(anf_array740);\nbreak;\ncase 59: ++R.GAS;\nreturn $ans790;\ndefault: R.ffi.throwSpinnakerError(L[196],$step789);\n}\n}\nif($step789 !== 59) {\n$ans790.stack[R.EXN_STACKHEIGHT++] = R.mAR($al791,$temp_branch787,$step789,[test$ast544],[anf_fun739,within$name652,cases632,anf_arg1594,anf_arg1574,anf_arg1523,tup2856,anf_arg631,anf_array740,use$within749,msg1720,anf_arg716,lhs$ast546,ed$lhs722,anf_arg717,anf_fun741,anf_fun721,msg2738,anf_fun746,rhs$ast568,anf_fun715,ed$rhs734],$elidedFrames793);\n}\nreturn $ans790;\n};\n$ans479 = cases542.$app_fields($temp_branch787,[false]);\nbreak;\ncase 9: if(cases542.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[270],false,L[268],cases542.$loc);\n}\n$step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[269]);\nbreak;\ncase 10: $ans479 = R.throwNoCasesMatched(L[268],cases542);\n$step470 = 12;\nbreak;\ncase 11: $step470 = 12;\n$ans479 = R.maybeMethodCall0(self472,\"render-reason\",L[273]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans479;\ndefault: R.ffi.throwSpinnakerError(L[190],$step470);\n}\n}\nif($step470 !== 12) {\n$ans479.stack[R.EXN_STACKHEIGHT++] = R.mAR($al480,$temp_full471,$step470,[self472,maybe$stack$loc473,src$available474,maybe$ast475],[cases542],$elidedFrames482);\n}\nreturn $ans479;\n};\nvar anf_variant_member2455 = R.makeMethod3($temp_full471,\"render-fancy-reason\");\nvar $temp_full806 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__275($self807) {\nvar $step805 = 0;\nvar $elidedFrames811 = 0;\nvar $ans808 = D;\nvar $al809 = L[275];\nif(R.isAR($self807)) {\n$step805 = $self807.step;\n$al809 = $self807.from;\n$ans808 = $self807.ans;\n$elidedFrames811 = $self807.elidedFrames;\nself807 = $self807.args[0];\nanf_fun925 = $self807.vars[0];\nanf_fun929 = $self807.vars[1];\nanf_arg1832 = $self807.vars[2];\nanf_arg960 = $self807.vars[3];\nanf_arg961 = $self807.vars[4];\nanf_arg930 = $self807.vars[5];\nanf_arg952 = $self807.vars[6];\nanf_arg920 = $self807.vars[7];\nanf_arg844 = $self807.vars[8];\nanf_arg1829 = $self807.vars[9];\nanf_arg957 = $self807.vars[10];\nanf_arg958 = $self807.vars[11];\nanf_fun962 = $self807.vars[12];\nanf_fun842 = $self807.vars[13];\nanf_fun955 = $self807.vars[14];\nanf_fun824 = $self807.vars[15];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[275],1,$t,true);\n}\nvar self807 = $self807;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans808 = R.mC();\n}\nwhile(!R.isContinuation($ans808)) {\nswitch($step805) {\ncase 0: $al809 = L[276];\nvar anf_bracket812 = G(self807,\"eq-result\",L[276]);\n$al809 = L[277];\nvar anf_arg822 = G(anf_bracket812,\"value1\",L[277]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg822);\nvar anf_if975 = $ans808;\n$step805 = R.checkPyretTrue(anf_if975)?1:2;\nbreak;\ncase 1: $al809 = L[315];\nvar anf_bracket971 = G(self807,\"eq-result\",L[315]);\n$al809 = L[316];\nvar anf_arg1720 = G(anf_bracket971,\"value2\",L[316]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg1720);\nvar anf_arg1721 = $ans808;\n$ans808 = R.checkWrapBoolean(anf_arg1721);\n$step805 = 3;\nbreak;\ncase 2: $step805 = 3;\n$ans808 = (false);\nbreak;\ncase 3: var anf_if970 = $ans808;\n$step805 = R.checkPyretTrue(anf_if970)?4:9;\nbreak;\ncase 4: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[278],L[279]);\nvar anf_fun842 = $ans808;\n$ans808 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[280],L[281]);\nvar anf_fun824 = $ans808;\n$step805 = 5;\n$al809 = L[286];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare two functions using strict equality: did you mean to call them first?\"));\nbreak;\ncase 5: var anf_arg1726 = $ans808;\n$step805 = 6;\n$al809 = L[281];\nif(typeof(anf_fun824.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun824);\n}\n$ans808 = anf_fun824.app(anf_arg1726);\nbreak;\ncase 6: var anf_arg844 = $ans808;\n$al809 = L[282];\nvar anf_arg828 = G(self807,\"left\",L[282]);\n$step805 = 7;\n$al809 = L[285];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg828);\nbreak;\ncase 7: var anf_arg920 = $ans808;\n$al809 = L[283];\nvar anf_arg841 = G(self807,\"right\",L[283]);\n$step805 = 8;\n$al809 = L[284];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg841);\nbreak;\ncase 8: var anf_arg921 = $ans808;\n$step805 = 29;\n$al809 = L[279];\nif(typeof(anf_fun842.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun842);\n}\n$ans808 = anf_fun842.app(anf_arg844,anf_arg920,anf_arg921);\nbreak;\ncase 9: $al809 = L[287];\nvar anf_bracket922 = G(self807,\"eq-result\",L[287]);\n$al809 = L[288];\nvar anf_arg924 = G(anf_bracket922,\"value1\",L[288]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg924);\nvar anf_if969 = $ans808;\n$step805 = R.checkPyretTrue(anf_if969)?10:11;\nbreak;\ncase 10: $step805 = 12;\n$ans808 = (true);\nbreak;\ncase 11: $al809 = L[313];\nvar anf_bracket968 = G(self807,\"eq-result\",L[313]);\n$al809 = L[314];\nvar anf_arg1762 = G(anf_bracket968,\"value2\",L[314]);\n// caller optimization;\n$ans808 = is$function4.app(anf_arg1762);\nvar anf_arg1763 = $ans808;\n$ans808 = R.checkWrapBoolean(anf_arg1763);\n$step805 = 12;\nbreak;\ncase 12: var anf_if966 = $ans808;\n$step805 = R.checkPyretTrue(anf_if966)?13:18;\nbreak;\ncase 13: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[289],L[290]);\nvar anf_fun929 = $ans808;\n$ans808 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[291],L[292]);\nvar anf_fun925 = $ans808;\n$step805 = 14;\n$al809 = L[297];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare a function to another value using strict equality: did you mean to call the function first?\"));\nbreak;\ncase 14: var anf_arg1768 = $ans808;\n$step805 = 15;\n$al809 = L[292];\nif(typeof(anf_fun925.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun925);\n}\n$ans808 = anf_fun925.app(anf_arg1768);\nbreak;\ncase 15: var anf_arg930 = $ans808;\n$al809 = L[293];\nvar anf_arg927 = G(self807,\"left\",L[293]);\n$step805 = 16;\n$al809 = L[296];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg927);\nbreak;\ncase 16: var anf_arg952 = $ans808;\n$al809 = L[294];\nvar anf_arg928 = G(self807,\"right\",L[294]);\n$step805 = 17;\n$al809 = L[295];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg928);\nbreak;\ncase 17: var anf_arg1796 = $ans808;\n$step805 = 29;\n$al809 = L[290];\nif(typeof(anf_fun929.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun929);\n}\n$ans808 = anf_fun929.app(anf_arg930,anf_arg952,anf_arg1796);\nbreak;\ncase 18: $ans808 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[298],L[299]);\nvar anf_fun962 = $ans808;\n$ans808 = R.getMaker5(ED23.dict.values.dict[\"para\"],(\"make5\"),L[300],L[301]);\nvar anf_fun955 = $ans808;\n$step805 = 19;\n$al809 = L[312];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"Attempted to compare roughnums using strict equality: use \"));\nbreak;\ncase 19: var anf_arg957 = $ans808;\n$step805 = 20;\n$al809 = L[311];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"is-roughly\"));\nbreak;\ncase 20: var anf_arg954 = $ans808;\n$step805 = 21;\n$al809 = L[310];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"code\"]);\n}\n$ans808 = ED23.dict.values.dict[\"code\"].app(anf_arg954);\nbreak;\ncase 21: var anf_arg958 = $ans808;\n$step805 = 22;\n$al809 = L[309];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\", or consider using the\"));\nbreak;\ncase 22: var anf_arg960 = $ans808;\n$step805 = 23;\n$al809 = L[308];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\"within\"));\nbreak;\ncase 23: var anf_arg1835 = $ans808;\n$step805 = 24;\n$al809 = L[307];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"code\"]);\n}\n$ans808 = ED23.dict.values.dict[\"code\"].app(anf_arg1835);\nbreak;\ncase 24: var anf_arg961 = $ans808;\n$step805 = 25;\n$al809 = L[306];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"text\"]);\n}\n$ans808 = ED23.dict.values.dict[\"text\"].app((\" function to compare them instead.\"));\nbreak;\ncase 25: var anf_arg1828 = $ans808;\n$step805 = 26;\n$al809 = L[301];\nif(typeof(anf_fun955.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun955);\n}\n$ans808 = anf_fun955.app(anf_arg957,anf_arg958,anf_arg960,anf_arg961,anf_arg1828);\nbreak;\ncase 26: var anf_arg1829 = $ans808;\n$al809 = L[302];\nvar anf_arg1831 = G(self807,\"left\",L[302]);\n$step805 = 27;\n$al809 = L[305];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg1831);\nbreak;\ncase 27: var anf_arg1832 = $ans808;\n$al809 = L[303];\nvar anf_arg1833 = G(self807,\"right\",L[303]);\n$step805 = 28;\n$al809 = L[304];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,ED23.dict.values.dict[\"embed\"]);\n}\n$ans808 = ED23.dict.values.dict[\"embed\"].app(anf_arg1833);\nbreak;\ncase 28: var anf_arg965 = $ans808;\n$step805 = 29;\n$al809 = L[299];\nif(typeof(anf_fun962.app) !== \"function\") {\nR.ffi.throwNonFunApp($al809,anf_fun962);\n}\n$ans808 = anf_fun962.app(anf_arg1829,anf_arg1832,anf_arg965);\nbreak;\ncase 29: ++R.GAS;\nreturn $ans808;\ndefault: R.ffi.throwSpinnakerError(L[275],$step805);\n}\n}\nif($step805 !== 29) {\n$ans808.stack[R.EXN_STACKHEIGHT++] = R.mAR($al809,$temp_full806,$step805,[self807],[anf_fun925,anf_fun929,anf_arg1832,anf_arg960,anf_arg961,anf_arg930,anf_arg952,anf_arg920,anf_arg844,anf_arg1829,anf_arg957,anf_arg958,anf_fun962,anf_fun842,anf_fun955,anf_fun824],$elidedFrames811);\n}\nreturn $ans808;\n};\nvar anf_variant_member2456 = R.makeMethod0($temp_full806,\"render-reason\");\nvar $temp_full978 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__317($self1306,$maybe$stack$loc979,$src$available980,$maybe$ast981) {\nvar $step977 = 0;\nvar $elidedFrames985 = 0;\nvar $ans982 = D;\nvar $al983 = L[317];\nif(R.isAR($self1306)) {\n$step977 = $self1306.step;\n$al983 = $self1306.from;\n$ans982 = $self1306.ans;\n$elidedFrames985 = $self1306.elidedFrames;\nself1306 = $self1306.args[0];\nmaybe$stack$loc979 = $self1306.args[1];\nsrc$available980 = $self1306.args[2];\nmaybe$ast981 = $self1306.args[3];\ncases997 = $self1306.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[317],4,$t,true);\n}\nvar self1306 = $self1306;\nvar maybe$stack$loc979 = $maybe$stack$loc979;\nvar src$available980 = $src$available980;\nvar maybe$ast981 = $maybe$ast981;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans982 = R.mC();\n}\nwhile(!R.isContinuation($ans982)) {\nswitch($step977) {\ncase 0: $al983 = L[318];\nvar anf_method_obj986 = G(self1306,\"loc\",L[318]);\n$step977 = 1;\n$ans982 = R.maybeMethodCall0(anf_method_obj986,\"is-builtin\",L[319]);\nbreak;\ncase 1: var anf_if1881 = $ans982;\n$step977 = R.checkPyretTrue(anf_if1881)?2:3;\nbreak;\ncase 2: $step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[320]);\nbreak;\ncase 3: $al983 = L[321];\nvar anf_arg994 = G(self1306,\"loc\",L[321]);\n$step977 = 4;\n$al983 = L[396];\nif(typeof(src$available980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al983,src$available980);\n}\n$ans982 = src$available980.app(anf_arg994);\nbreak;\ncase 4: var anf_if1264 = $ans982;\n$step977 = R.checkPyretTrue(anf_if1264)?5:11;\nbreak;\ncase 5: $al983 = L[322];\nvar anf_arg996 = G(self1306,\"loc\",L[322]);\n$step977 = 6;\n$al983 = L[394];\nif(typeof(maybe$ast981.app) !== \"function\") {\nR.ffi.throwNonFunApp($al983,maybe$ast981);\n}\n$ans982 = maybe$ast981.app(anf_arg996);\nbreak;\ncase 6: var cases997 = $ans982;\n$step977 = 7;\n$al983 = L[393];\nvar $ann$check1263 = R._cA(L[393],Option15,cases997);\nif(R.isContinuation($ann$check1263)) {\n$ans982 = $ann$check1263;\n}\nbreak;\ncase 7: $al983 = L[390];\n$step977 = $cases_dispatch1262[cases997.$name] || 10;\nbreak;\ncase 8: if(cases997.$arity !== 1) {\nif(cases997.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[389],1,cases997.$arity,L[390],cases997.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[389],true,L[390],cases997.$loc);\n}\n}\n$step977 = 12;\n$al983 = L[389];\nvar $temp_branch1215 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__390($test$ast999) {\nvar $step1216 = 0;\nvar $elidedFrames1222 = 0;\nvar $ans1219 = D;\nvar $al1220 = L[323];\nif(R.isAR($test$ast999)) {\n$step1216 = $test$ast999.step;\n$al1220 = $test$ast999.from;\n$ans1219 = $test$ast999.ans;\n$elidedFrames1222 = $test$ast999.elidedFrames;\ntest$ast999 = $test$ast999.args[0];\nanf_fun1126 = $test$ast999.vars[0];\nlhs$ast1002 = $test$ast999.vars[1];\nanf_fun1106 = $test$ast999.vars[2];\nanf_arg2056 = $test$ast999.vars[3];\ned$lhs1117 = $test$ast999.vars[4];\nanf_arg1102 = $test$ast999.vars[5];\nanf_arg1127 = $test$ast999.vars[6];\nanf_arg1875 = $test$ast999.vars[7];\nanf_arg1923 = $test$ast999.vars[8];\nrhs$ast1060 = $test$ast999.vars[9];\nanf_arg1917 = $test$ast999.vars[10];\ncases1105 = $test$ast999.vars[11];\ned$rhs1123 = $test$ast999.vars[12];\n} else {\nvar test$ast999 = $test$ast999;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1219 = R.mC();\n}\nwhile(!R.isContinuation($ans1219)) {\nswitch($step1216) {\ncase 0: $al1220 = L[323];\nvar anf_method_obj998 = G(self1306,\"left-src\",L[323]);\n$step1216 = 1;\n$ans1219 = R.maybeMethodCall1(anf_method_obj998,\"test-component\",L[324],test$ast999);\nbreak;\ncase 1: var lhs$ast1002 = $ans1219;\n$al1220 = L[325];\nvar anf_method_obj1000 = G(self1306,\"right-src\",L[325]);\n$step1216 = 2;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1000,\"test-component\",L[326],test$ast999);\nbreak;\ncase 2: var rhs$ast1060 = $ans1219;\n$al1220 = L[327];\nvar anf_method_obj1001 = G(self1306,\"left-src\",L[327]);\n$step1216 = 3;\n$ans1219 = R.maybeMethodCall0(anf_method_obj1001,\"side\",L[328]);\nbreak;\ncase 3: var anf_arg1874 = $ans1219;\n$step1216 = 4;\n$al1220 = L[388];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"text\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"text\"].app(anf_arg1874);\nbreak;\ncase 4: var anf_arg1875 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[329],L[330]);\nvar anf_fun1004 = $ans1219;\n$al1220 = L[331];\nvar anf_arg1877 = G(lhs$ast1002,\"l\",L[331]);\n$step1216 = 5;\n$al1220 = L[330];\nif(typeof(anf_fun1004.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1004);\n}\n$ans1219 = anf_fun1004.app(anf_arg1877);\nbreak;\ncase 5: var anf_arg1017 = $ans1219;\n$step1216 = 6;\n$al1220 = L[387];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1875,anf_arg1017,(3));\nbreak;\ncase 6: var ed$lhs1117 = $ans1219;\n$al1220 = L[332];\nvar anf_method_obj1018 = G(self1306,\"right-src\",L[332]);\n$step1216 = 7;\n$ans1219 = R.maybeMethodCall0(anf_method_obj1018,\"side\",L[333]);\nbreak;\ncase 7: var anf_arg1059 = $ans1219;\n$step1216 = 8;\n$al1220 = L[386];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"text\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"text\"].app(anf_arg1059);\nbreak;\ncase 8: var anf_arg1102 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[334],L[335]);\nvar anf_fun1061 = $ans1219;\n$al1220 = L[336];\nvar anf_arg1098 = G(rhs$ast1060,\"l\",L[336]);\n$step1216 = 9;\n$al1220 = L[335];\nif(typeof(anf_fun1061.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1061);\n}\n$ans1219 = anf_fun1061.app(anf_arg1098);\nbreak;\ncase 9: var anf_arg1929 = $ans1219;\n$step1216 = 10;\n$al1220 = L[385];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1102,anf_arg1929,(4));\nbreak;\ncase 10: var ed$rhs1123 = $ans1219;\n$al1220 = L[337];\nvar anf_method_obj1103 = G(self1306,\"left-src\",L[337]);\n$step1216 = 11;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1103,\"test-op\",L[338],test$ast999);\nbreak;\ncase 11: $ans1219 = R.getMaker5(ED23.dict.values.dict[\"error\"],(\"make5\"),L[339],L[340]);\nvar anf_fun1126 = $ans1219;\n$al1220 = L[341];\nvar anf_method_obj1104 = G(self1306,\"left-src\",L[341]);\n$step1216 = 12;\n$ans1219 = R.maybeMethodCall1(anf_method_obj1104,\"test-preamble\",L[342],test$ast999);\nbreak;\ncase 12: var anf_arg1917 = $ans1219;\n$al1220 = L[343];\nvar anf_arg1921 = G(self1306,\"loc\",L[343]);\n$step1216 = 13;\n$al1220 = L[384];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1219 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1921);\nbreak;\ncase 13: var anf_arg1923 = $ans1219;\n$ans1219 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[344],L[345]);\nvar anf_fun1106 = $ans1219;\n$al1220 = L[346];\nvar cases1105 = G(test$ast999,\"op\",L[346]);\n$al1220 = L[373];\n$step1216 = $cases_dispatch1258[cases1105.$name] || 16;\nbreak;\ncase 14: if(cases1105.$arity !== 1) {\nif(cases1105.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[372],1,cases1105.$arity,L[373],cases1105.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[372],true,L[373],cases1105.$loc);\n}\n}\n$step1216 = 17;\n$al1220 = L[372];\nvar $temp_branch1234 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__373($$underscore1190) {\nvar $step1235 = 0;\nvar $elidedFrames1239 = 0;\nvar $ans1236 = D;\nvar $al1237 = L[358];\nif(R.isAR($$underscore1190)) {\n$step1235 = $$underscore1190.step;\n$al1237 = $$underscore1190.from;\n$ans1236 = $$underscore1190.ans;\n$elidedFrames1239 = $$underscore1190.elidedFrames;\n$underscore1190 = $$underscore1190.args[0];\ncases1129 = $$underscore1190.vars[0];\nanf_fun1130 = $$underscore1190.vars[1];\nanf_arg1926 = $$underscore1190.vars[2];\nanf_arg1927 = $$underscore1190.vars[3];\n} else {\nvar $underscore1190 = $$underscore1190;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1236 = R.mC();\n}\nwhile(!R.isContinuation($ans1236)) {\nswitch($step1235) {\ncase 0: $al1237 = L[351];\nvar cases1129 = G(test$ast999,\"refinement\",L[351]);\n$step1235 = 1;\n$al1237 = L[371];\nvar $ann$check1249 = R._cA(L[371],Option15,cases1129);\nif(R.isContinuation($ann$check1249)) {\n$ans1236 = $ann$check1249;\n}\nbreak;\ncase 1: $al1237 = L[358];\n$step1235 = $cases_dispatch1248[cases1129.$name] || 7;\nbreak;\ncase 2: if(cases1129.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[357],false,L[358],cases1129.$loc);\n}\n$ans1236 = R.getMaker5(ED23.dict.values.dict[\"sequence\"],(\"make5\"),L[352],L[353]);\nvar anf_fun1130 = $ans1236;\n$step1235 = 3;\n$al1237 = L[356];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 3: var anf_arg1926 = $ans1236;\n$step1235 = 4;\n$al1237 = L[355];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 4: var anf_arg1927 = $ans1236;\n$step1235 = 5;\n$al1237 = L[354];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,ED23.dict.values.dict[\"text\"]);\n}\n$ans1236 = ED23.dict.values.dict[\"text\"].app((\" sides are not equal.\"));\nbreak;\ncase 5: var anf_arg1151 = $ans1236;\n$step1235 = 8;\n$al1237 = L[353];\nif(typeof(anf_fun1130.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1237,anf_fun1130);\n}\n$ans1236 = anf_fun1130.app(anf_arg1926,ed$lhs1117,anf_arg1927,ed$rhs1123,anf_arg1151);\nbreak;\ncase 6: if(cases1129.$arity !== 1) {\nif(cases1129.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[370],1,cases1129.$arity,L[358],cases1129.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[370],true,L[358],cases1129.$loc);\n}\n}\n$step1235 = 8;\n$al1237 = L[370];\nvar $temp_branch1240 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__358($e1152) {\nvar $step1241 = 0;\nvar $elidedFrames1246 = 0;\nvar $ans1243 = D;\nvar $al1244 = L[360];\nif(R.isAR($e1152)) {\n$step1241 = $e1152.step;\n$al1244 = $e1152.from;\n$ans1243 = $e1152.ans;\n$elidedFrames1246 = $e1152.elidedFrames;\ne1152 = $e1152.args[0];\nanf_fun1172 = $e1152.vars[0];\nanf_array1173 = $e1152.vars[1];\nanf_arg1170 = $e1152.vars[2];\n} else {\nvar e1152 = $e1152;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1243 = R.mC();\n}\nwhile(!R.isContinuation($ans1243)) {\nswitch($step1241) {\ncase 0: $ans1243 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[359],L[360]);\nvar anf_fun1172 = $ans1243;\n$ans1243 = R.makeArrayN((7));\nvar anf_array1173 = $ans1243;\n$step1241 = 1;\n$al1244 = L[369];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 1: anf_array1173[0] = $ans1243;\n$step1241 = 2;\n$al1244 = L[368];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 2: var anf_arg1170 = $ans1243;\n$ans1243 = R.getMaker1(list6,(\"make1\"),L[361],L[362]);\nvar anf_fun1153 = $ans1243;\n$al1244 = L[363];\nvar anf_arg1154 = G(e1152,\"l\",L[363]);\n$step1241 = 3;\n$al1244 = L[362];\nif(typeof(anf_fun1153.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,anf_fun1153);\n}\n$ans1243 = anf_fun1153.app(anf_arg1154);\nbreak;\ncase 3: var anf_arg1171 = $ans1243;\n$step1241 = 4;\n$al1244 = L[367];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1170,anf_arg1171,(1));\nbreak;\ncase 4: anf_array1173[1] = $ans1243;\n$step1241 = 5;\n$al1244 = L[366];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the \"));\nbreak;\ncase 5: anf_array1173[2] = $ans1243;\nanf_array1173[3] = ed$lhs1117;\n$step1241 = 6;\n$al1244 = L[365];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array1173[4] = $ans1243;\nanf_array1173[5] = ed$rhs1123;\n$step1241 = 7;\n$al1244 = L[364];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,ED23.dict.values.dict[\"text\"]);\n}\n$ans1243 = ED23.dict.values.dict[\"text\"].app((\" sides are applied to it.\"));\nbreak;\ncase 7: anf_array1173[6] = $ans1243;\n$step1241 = 8;\n$al1244 = L[360];\nif(typeof(anf_fun1172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1244,anf_fun1172);\n}\n$ans1243 = anf_fun1172.app(anf_array1173);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1243;\ndefault: R.ffi.throwSpinnakerError(L[360],$step1241);\n}\n}\nif($step1241 !== 8) {\n$ans1243.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1244,$temp_branch1240,$step1241,[e1152],[anf_fun1172,anf_array1173,anf_arg1170],$elidedFrames1246);\n}\nreturn $ans1243;\n};\n$ans1236 = cases1129.$app_fields($temp_branch1240,[false]);\nbreak;\ncase 7: $ans1236 = R.throwNoCasesMatched(L[358],cases1129);\n$step1235 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1236;\ndefault: R.ffi.throwSpinnakerError(L[358],$step1235);\n}\n}\nif($step1235 !== 8) {\n$ans1236.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1237,$temp_branch1234,$step1235,[$underscore1190],[cases1129,anf_fun1130,anf_arg1926,anf_arg1927],$elidedFrames1239);\n}\nreturn $ans1236;\n};\n$ans1219 = cases1105.$app_fields($temp_branch1234,[false]);\nbreak;\ncase 15: if(cases1105.$arity !== 2) {\nif(cases1105.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[383],2,cases1105.$arity,L[373],cases1105.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[383],true,L[373],cases1105.$loc);\n}\n}\n$step1216 = 17;\n$al1220 = L[383];\nvar $temp_branch1251 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__373($$underscore1210,$op1201) {\nvar $step1252 = 0;\nvar $elidedFrames1256 = 0;\nvar $ans1253 = D;\nvar $al1254 = L[375];\nif(R.isAR($$underscore1210)) {\n$step1252 = $$underscore1210.step;\n$al1254 = $$underscore1210.from;\n$ans1253 = $$underscore1210.ans;\n$elidedFrames1256 = $$underscore1210.elidedFrames;\n$underscore1210 = $$underscore1210.args[0];\nop1201 = $$underscore1210.args[1];\nanf_fun1202 = $$underscore1210.vars[0];\nanf_array1203 = $$underscore1210.vars[1];\n} else {\nvar $underscore1210 = $$underscore1210;\nvar op1201 = $op1201;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1253 = R.mC();\n}\nwhile(!R.isContinuation($ans1253)) {\nswitch($step1252) {\ncase 0: $ans1253 = R.getMaker(ED23.dict.values.dict[\"sequence\"],(\"make\"),L[374],L[375]);\nvar anf_fun1202 = $ans1253;\n$ans1253 = R.makeArrayN((7));\nvar anf_array1203 = $ans1253;\n$step1252 = 1;\n$al1254 = L[382];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the predicate \"));\nbreak;\ncase 1: anf_array1203[0] = $ans1253;\n$step1252 = 2;\n$al1254 = L[381];\n// omitting isFunction check;\n$ans1253 = get$op$fun$name61.$var.app(op1201);\nbreak;\ncase 2: var anf_arg2009 = $ans1253;\n$step1252 = 3;\n$al1254 = L[380];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app(anf_arg2009);\nbreak;\ncase 3: var anf_arg2010 = $ans1253;\n$step1252 = 4;\n$al1254 = L[379];\nif(typeof(ED23.dict.values.dict[\"code\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"code\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"code\"].app(anf_arg2010);\nbreak;\ncase 4: anf_array1203[1] = $ans1253;\n$step1252 = 5;\n$al1254 = L[378];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the \"));\nbreak;\ncase 5: anf_array1203[2] = $ans1253;\nanf_array1203[3] = ed$lhs1117;\n$step1252 = 6;\n$al1254 = L[377];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" and \"));\nbreak;\ncase 6: anf_array1203[4] = $ans1253;\nanf_array1203[5] = ed$rhs1123;\n$step1252 = 7;\n$al1254 = L[376];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,ED23.dict.values.dict[\"text\"]);\n}\n$ans1253 = ED23.dict.values.dict[\"text\"].app((\" sides are applied to it.\"));\nbreak;\ncase 7: anf_array1203[6] = $ans1253;\n$step1252 = 8;\n$al1254 = L[375];\nif(typeof(anf_fun1202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1254,anf_fun1202);\n}\n$ans1253 = anf_fun1202.app(anf_array1203);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans1253;\ndefault: R.ffi.throwSpinnakerError(L[375],$step1252);\n}\n}\nif($step1252 !== 8) {\n$ans1253.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1254,$temp_branch1251,$step1252,[$underscore1210,op1201],[anf_fun1202,anf_array1203],$elidedFrames1256);\n}\nreturn $ans1253;\n};\n$ans1219 = cases1105.$app_fields($temp_branch1251,[false,false]);\nbreak;\ncase 16: $ans1219 = R.throwNoCasesMatched(L[373],cases1105);\n$step1216 = 17;\nbreak;\ncase 17: var anf_arg1116 = $ans1219;\n$step1216 = 18;\n$al1220 = L[345];\nif(typeof(anf_fun1106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1106);\n}\n$ans1219 = anf_fun1106.app(anf_arg1116);\nbreak;\ncase 18: var anf_arg1127 = $ans1219;\n$al1220 = L[347];\nvar anf_arg1122 = G(self1306,\"left\",L[347]);\n$step1216 = 19;\n$al1220 = L[350];\n// omitting isFunction check;\n$ans1219 = report$value306.$var.app(ed$lhs1117,anf_arg1122);\nbreak;\ncase 19: var anf_arg2056 = $ans1219;\n$al1220 = L[348];\nvar anf_arg1125 = G(self1306,\"right\",L[348]);\n$step1216 = 20;\n$al1220 = L[349];\n// omitting isFunction check;\n$ans1219 = report$value306.$var.app(ed$rhs1123,anf_arg1125);\nbreak;\ncase 20: var anf_arg2028 = $ans1219;\n$step1216 = 21;\n$al1220 = L[340];\nif(typeof(anf_fun1126.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1220,anf_fun1126);\n}\n$ans1219 = anf_fun1126.app(anf_arg1917,anf_arg1923,anf_arg1127,anf_arg2056,anf_arg2028);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1219;\ndefault: R.ffi.throwSpinnakerError(L[323],$step1216);\n}\n}\nif($step1216 !== 21) {\n$ans1219.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1220,$temp_branch1215,$step1216,[test$ast999],[anf_fun1126,lhs$ast1002,anf_fun1106,anf_arg2056,ed$lhs1117,anf_arg1102,anf_arg1127,anf_arg1875,anf_arg1923,rhs$ast1060,anf_arg1917,cases1105,ed$rhs1123],$elidedFrames1222);\n}\nreturn $ans1219;\n};\n$ans982 = cases997.$app_fields($temp_branch1215,[false]);\nbreak;\ncase 9: if(cases997.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[392],false,L[390],cases997.$loc);\n}\n$step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[391]);\nbreak;\ncase 10: $ans982 = R.throwNoCasesMatched(L[390],cases997);\n$step977 = 12;\nbreak;\ncase 11: $step977 = 12;\n$ans982 = R.maybeMethodCall0(self1306,\"render-reason\",L[395]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans982;\ndefault: R.ffi.throwSpinnakerError(L[317],$step977);\n}\n}\nif($step977 !== 12) {\n$ans982.stack[R.EXN_STACKHEIGHT++] = R.mAR($al983,$temp_full978,$step977,[self1306,maybe$stack$loc979,src$available980,maybe$ast981],[cases997],$elidedFrames985);\n}\nreturn $ans982;\n};\nvar anf_variant_member2469 = R.makeMethod3($temp_full978,\"render-fancy-reason\");\nvar $temp_full1267 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__397($self1268) {\nvar $step1266 = 0;\nvar $elidedFrames1272 = 0;\nvar $ans1269 = D;\nvar $al1270 = L[397];\nif(R.isAR($self1268)) {\n$step1266 = $self1268.step;\n$al1270 = $self1268.from;\n$ans1269 = $self1268.ans;\n$elidedFrames1272 = $self1268.elidedFrames;\nself1268 = $self1268.args[0];\nanf_fun1303 = $self1268.vars[0];\nanf_arg1307 = $self1268.vars[1];\ncases1273 = $self1268.vars[2];\nanf_arg1308 = $self1268.vars[3];\nanf_fun1276 = $self1268.vars[4];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[397],1,$t,true);\n}\nvar self1268 = $self1268;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1269 = R.mC();\n}\nwhile(!R.isContinuation($ans1269)) {\nswitch($step1266) {\ncase 0: $ans1269 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[398],L[399]);\nvar anf_fun1303 = $ans1269;\n$ans1269 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[400],L[401]);\nvar anf_fun1276 = $ans1269;\n$al1270 = L[402];\nvar cases1273 = G(self1268,\"refinement\",L[402]);\n$step1266 = 1;\n$al1270 = L[412];\nvar $ann$check1313 = R._cA(L[412],Option15,cases1273);\nif(R.isContinuation($ann$check1313)) {\n$ans1269 = $ann$check1313;\n}\nbreak;\ncase 1: $al1270 = L[409];\n$step1266 = $cases_dispatch1312[cases1273.$name] || 4;\nbreak;\ncase 2: if(cases1273.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[408],false,L[409],cases1273.$loc);\n}\n$step1266 = 5;\n$al1270 = L[407];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"text\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"text\"].app((\"Values not different\"));\nbreak;\ncase 3: if(cases1273.$arity !== 1) {\nif(cases1273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[411],1,cases1273.$arity,L[409],cases1273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[411],true,L[409],cases1273.$loc);\n}\n}\nvar $fn1310 = cases1273.$constructor.$fieldNames;\nR.dF(cases1273.dict[$fn1310[0]],cases1273.$mut_fields_mask[0],false);\n$step1266 = 5;\n$al1270 = L[410];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"text\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"text\"].app((\"Values not different (using custom equality):\"));\nbreak;\ncase 4: $ans1269 = R.throwNoCasesMatched(L[409],cases1273);\n$step1266 = 5;\nbreak;\ncase 5: var anf_arg2053 = $ans1269;\n$step1266 = 6;\n$al1270 = L[401];\nif(typeof(anf_fun1276.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,anf_fun1276);\n}\n$ans1269 = anf_fun1276.app(anf_arg2053);\nbreak;\ncase 6: var anf_arg1307 = $ans1269;\n$al1270 = L[403];\nvar anf_arg1292 = G(self1268,\"left\",L[403]);\n$step1266 = 7;\n$al1270 = L[406];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"embed\"].app(anf_arg1292);\nbreak;\ncase 7: var anf_arg1308 = $ans1269;\n$al1270 = L[404];\nvar anf_arg1302 = G(self1268,\"right\",L[404]);\n$step1266 = 8;\n$al1270 = L[405];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1269 = ED23.dict.values.dict[\"embed\"].app(anf_arg1302);\nbreak;\ncase 8: var anf_arg2083 = $ans1269;\n$step1266 = 9;\n$al1270 = L[399];\nif(typeof(anf_fun1303.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1270,anf_fun1303);\n}\n$ans1269 = anf_fun1303.app(anf_arg1307,anf_arg1308,anf_arg2083);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1269;\ndefault: R.ffi.throwSpinnakerError(L[397],$step1266);\n}\n}\nif($step1266 !== 9) {\n$ans1269.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1270,$temp_full1267,$step1266,[self1268],[anf_fun1303,anf_arg1307,cases1273,anf_arg1308,anf_fun1276],$elidedFrames1272);\n}\nreturn $ans1269;\n};\nvar anf_variant_member2470 = R.makeMethod0($temp_full1267,\"render-reason\");\nvar $temp_full1316 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__413($self1317,$maybe$stack$loc1318,$src$available1319,$maybe$ast1320) {\nvar $step1315 = 0;\nvar $elidedFrames1324 = 0;\nvar $ans1321 = D;\nvar $al1322 = L[413];\nif(R.isAR($self1317)) {\n$step1315 = $self1317.step;\n$al1322 = $self1317.from;\n$ans1321 = $self1317.ans;\n$elidedFrames1324 = $self1317.elidedFrames;\nself1317 = $self1317.args[0];\nmaybe$stack$loc1318 = $self1317.args[1];\nsrc$available1319 = $self1317.args[2];\nmaybe$ast1320 = $self1317.args[3];\ncases1326 = $self1317.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[413],4,$t,true);\n}\nvar self1317 = $self1317;\nvar maybe$stack$loc1318 = $maybe$stack$loc1318;\nvar src$available1319 = $src$available1319;\nvar maybe$ast1320 = $maybe$ast1320;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1321 = R.mC();\n}\nwhile(!R.isContinuation($ans1321)) {\nswitch($step1315) {\ncase 0: $al1322 = L[414];\nvar anf_method_obj1325 = G(self1317,\"loc\",L[414]);\n$step1315 = 1;\n$ans1321 = R.maybeMethodCall0(anf_method_obj1325,\"is-builtin\",L[415]);\nbreak;\ncase 1: var anf_if1373 = $ans1321;\n$step1315 = R.checkPyretTrue(anf_if1373)?2:3;\nbreak;\ncase 2: $step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[416]);\nbreak;\ncase 3: $al1322 = L[417];\nvar anf_arg2076 = G(self1317,\"loc\",L[417]);\n$step1315 = 4;\n$al1322 = L[456];\nif(typeof(src$available1319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1322,src$available1319);\n}\n$ans1321 = src$available1319.app(anf_arg2076);\nbreak;\ncase 4: var anf_if1372 = $ans1321;\n$step1315 = R.checkPyretTrue(anf_if1372)?5:11;\nbreak;\ncase 5: $al1322 = L[418];\nvar anf_arg2079 = G(self1317,\"loc\",L[418]);\n$step1315 = 6;\n$al1322 = L[454];\nif(typeof(maybe$ast1320.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1322,maybe$ast1320);\n}\n$ans1321 = maybe$ast1320.app(anf_arg2079);\nbreak;\ncase 6: var cases1326 = $ans1321;\n$step1315 = 7;\n$al1322 = L[453];\nvar $ann$check1370 = R._cA(L[453],Option15,cases1326);\nif(R.isContinuation($ann$check1370)) {\n$ans1321 = $ann$check1370;\n}\nbreak;\ncase 7: $al1322 = L[450];\n$step1315 = $cases_dispatch1369[cases1326.$name] || 10;\nbreak;\ncase 8: if(cases1326.$arity !== 1) {\nif(cases1326.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[449],1,cases1326.$arity,L[450],cases1326.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[449],true,L[450],cases1326.$loc);\n}\n}\n$step1315 = 12;\n$al1322 = L[449];\nvar $temp_branch1362 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__450($test$ast1328) {\nvar $step1363 = 0;\nvar $elidedFrames1367 = 0;\nvar $ans1364 = D;\nvar $al1365 = L[419];\nif(R.isAR($test$ast1328)) {\n$step1363 = $test$ast1328.step;\n$al1365 = $test$ast1328.from;\n$ans1364 = $test$ast1328.ans;\n$elidedFrames1367 = $test$ast1328.elidedFrames;\ntest$ast1328 = $test$ast1328.args[0];\nrhs$ast1348 = $test$ast1328.vars[0];\nlhs$ast1332 = $test$ast1328.vars[1];\nanf_arg1361 = $test$ast1328.vars[2];\nanf_arg1350 = $test$ast1328.vars[3];\nanf_array1355 = $test$ast1328.vars[4];\nanf_arg2126 = $test$ast1328.vars[5];\nanf_arg2128 = $test$ast1328.vars[6];\nanf_arg1347 = $test$ast1328.vars[7];\ned$rhs1352 = $test$ast1328.vars[8];\nanf_fun1360 = $test$ast1328.vars[9];\nanf_fun1354 = $test$ast1328.vars[10];\ned$lhs1353 = $test$ast1328.vars[11];\n} else {\nvar test$ast1328 = $test$ast1328;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1364 = R.mC();\n}\nwhile(!R.isContinuation($ans1364)) {\nswitch($step1363) {\ncase 0: $al1365 = L[419];\nvar anf_method_obj1327 = G(self1317,\"val-src\",L[419]);\n$step1363 = 1;\n$ans1364 = R.maybeMethodCall1(anf_method_obj1327,\"test-component\",L[420],test$ast1328);\nbreak;\ncase 1: var lhs$ast1332 = $ans1364;\n$al1365 = L[421];\nvar anf_bracket1329 = G(test$ast1328,\"right\",L[421]);\n$al1365 = L[422];\nvar rhs$ast1348 = G(anf_bracket1329,\"value\",L[422]);\n$al1365 = L[423];\nvar anf_method_obj1330 = G(self1317,\"val-src\",L[423]);\n$step1363 = 2;\n$ans1364 = R.maybeMethodCall0(anf_method_obj1330,\"side\",L[424]);\nbreak;\ncase 2: var anf_arg1331 = $ans1364;\n$step1363 = 3;\n$al1365 = L[448];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app(anf_arg1331);\nbreak;\ncase 3: var anf_arg1347 = $ans1364;\n$ans1364 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[425],L[426]);\nvar anf_fun1333 = $ans1364;\n$al1365 = L[427];\nvar anf_arg1346 = G(lhs$ast1332,\"l\",L[427]);\n$step1363 = 4;\n$al1365 = L[426];\nif(typeof(anf_fun1333.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1333);\n}\n$ans1364 = anf_fun1333.app(anf_arg1346);\nbreak;\ncase 4: var anf_arg2131 = $ans1364;\n$step1363 = 5;\n$al1365 = L[447];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1347,anf_arg2131,(3));\nbreak;\ncase 5: var ed$lhs1353 = $ans1364;\n$step1363 = 6;\n$al1365 = L[446];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg1350 = $ans1364;\n$ans1364 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[428],L[429]);\nvar anf_fun1349 = $ans1364;\n$al1365 = L[430];\nvar anf_arg2109 = G(rhs$ast1348,\"l\",L[430]);\n$step1363 = 7;\n$al1365 = L[429];\nif(typeof(anf_fun1349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1349);\n}\n$ans1364 = anf_fun1349.app(anf_arg2109);\nbreak;\ncase 7: var anf_arg2112 = $ans1364;\n$step1363 = 8;\n$al1365 = L[445];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1350,anf_arg2112,(4));\nbreak;\ncase 8: var ed$rhs1352 = $ans1364;\n$ans1364 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[431],L[432]);\nvar anf_fun1360 = $ans1364;\n$al1365 = L[433];\nvar anf_method_obj1351 = G(self1317,\"val-src\",L[433]);\n$step1363 = 9;\n$ans1364 = R.maybeMethodCall1(anf_method_obj1351,\"test-preamble\",L[434],test$ast1328);\nbreak;\ncase 9: var anf_arg2126 = $ans1364;\n$al1365 = L[435];\nvar anf_arg2127 = G(self1317,\"loc\",L[435]);\n$step1363 = 10;\n$al1365 = L[444];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg2127);\nbreak;\ncase 10: var anf_arg2128 = $ans1364;\n$ans1364 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[436],L[437]);\nvar anf_fun1354 = $ans1364;\n$ans1364 = R.makeArrayN((7));\nvar anf_array1355 = $ans1364;\n$step1363 = 11;\n$al1365 = L[443];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array1355[0] = $ans1364;\nanf_array1355[1] = ed$rhs1352;\n$step1363 = 12;\n$al1365 = L[442];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when applied to the \"));\nbreak;\ncase 12: anf_array1355[2] = $ans1364;\nanf_array1355[3] = ed$lhs1353;\n$step1363 = 13;\n$al1365 = L[441];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\". The \"));\nbreak;\ncase 13: anf_array1355[4] = $ans1364;\nanf_array1355[5] = ed$lhs1353;\n$step1363 = 14;\n$al1365 = L[440];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"text\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"text\"].app((\" is:\"));\nbreak;\ncase 14: anf_array1355[6] = $ans1364;\n$step1363 = 15;\n$al1365 = L[437];\nif(typeof(anf_fun1354.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1354);\n}\n$ans1364 = anf_fun1354.app(anf_array1355);\nbreak;\ncase 15: var anf_arg1361 = $ans1364;\n$al1365 = L[438];\nvar anf_arg1359 = G(self1317,\"val\",L[438]);\n$step1363 = 16;\n$al1365 = L[439];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1364 = ED23.dict.values.dict[\"embed\"].app(anf_arg1359);\nbreak;\ncase 16: var anf_arg52 = $ans1364;\n$step1363 = 17;\n$al1365 = L[432];\nif(typeof(anf_fun1360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1365,anf_fun1360);\n}\n$ans1364 = anf_fun1360.app(anf_arg2126,anf_arg2128,anf_arg1361,anf_arg52);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans1364;\ndefault: R.ffi.throwSpinnakerError(L[419],$step1363);\n}\n}\nif($step1363 !== 17) {\n$ans1364.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1365,$temp_branch1362,$step1363,[test$ast1328],[rhs$ast1348,lhs$ast1332,anf_arg1361,anf_arg1350,anf_array1355,anf_arg2126,anf_arg2128,anf_arg1347,ed$rhs1352,anf_fun1360,anf_fun1354,ed$lhs1353],$elidedFrames1367);\n}\nreturn $ans1364;\n};\n$ans1321 = cases1326.$app_fields($temp_branch1362,[false]);\nbreak;\ncase 9: if(cases1326.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[452],false,L[450],cases1326.$loc);\n}\n$step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[451]);\nbreak;\ncase 10: $ans1321 = R.throwNoCasesMatched(L[450],cases1326);\n$step1315 = 12;\nbreak;\ncase 11: $step1315 = 12;\n$ans1321 = R.maybeMethodCall0(self1317,\"render-reason\",L[455]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1321;\ndefault: R.ffi.throwSpinnakerError(L[413],$step1315);\n}\n}\nif($step1315 !== 12) {\n$ans1321.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1322,$temp_full1316,$step1315,[self1317,maybe$stack$loc1318,src$available1319,maybe$ast1320],[cases1326],$elidedFrames1324);\n}\nreturn $ans1321;\n};\nvar anf_variant_member2483 = R.makeMethod3($temp_full1316,\"render-fancy-reason\");\nvar $temp_full1377 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__457($self1561) {\nvar $step1376 = 0;\nvar $elidedFrames1381 = 0;\nvar $ans1378 = D;\nvar $al1379 = L[457];\nif(R.isAR($self1561)) {\n$step1376 = $self1561.step;\n$al1379 = $self1561.from;\n$ans1378 = $self1561.ans;\n$elidedFrames1381 = $self1561.elidedFrames;\nself1561 = $self1561.args[0];\nanf_fun1394 = $self1561.vars[0];\nanf_fun1383 = $self1561.vars[1];\nanf_arg74 = $self1561.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[457],1,$t,true);\n}\nvar self1561 = $self1561;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1378 = R.mC();\n}\nwhile(!R.isContinuation($ans1378)) {\nswitch($step1376) {\ncase 0: $ans1378 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[458],L[459]);\nvar anf_fun1394 = $ans1378;\n$ans1378 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[460],L[461]);\nvar anf_fun1383 = $ans1378;\n$step1376 = 1;\n$al1379 = L[464];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,ED23.dict.values.dict[\"text\"]);\n}\n$ans1378 = ED23.dict.values.dict[\"text\"].app((\"Predicate failed for value:\"));\nbreak;\ncase 1: var anf_arg1392 = $ans1378;\n$step1376 = 2;\n$al1379 = L[461];\nif(typeof(anf_fun1383.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,anf_fun1383);\n}\n$ans1378 = anf_fun1383.app(anf_arg1392);\nbreak;\ncase 2: var anf_arg74 = $ans1378;\n$al1379 = L[462];\nvar anf_arg75 = G(self1561,\"val\",L[462]);\n$step1376 = 3;\n$al1379 = L[463];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1378 = ED23.dict.values.dict[\"embed\"].app(anf_arg75);\nbreak;\ncase 3: var anf_arg77 = $ans1378;\n$step1376 = 4;\n$al1379 = L[459];\nif(typeof(anf_fun1394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1379,anf_fun1394);\n}\n$ans1378 = anf_fun1394.app(anf_arg74,anf_arg77);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1378;\ndefault: R.ffi.throwSpinnakerError(L[457],$step1376);\n}\n}\nif($step1376 !== 4) {\n$ans1378.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1379,$temp_full1377,$step1376,[self1561],[anf_fun1394,anf_fun1383,anf_arg74],$elidedFrames1381);\n}\nreturn $ans1378;\n};\nvar anf_variant_member2484 = R.makeMethod0($temp_full1377,\"render-reason\");\nvar $temp_full1399 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__465($self1400,$maybe$stack$loc1401,$src$available1402,$maybe$ast1403) {\nvar $step1398 = 0;\nvar $elidedFrames1407 = 0;\nvar $ans1404 = D;\nvar $al1405 = L[465];\nif(R.isAR($self1400)) {\n$step1398 = $self1400.step;\n$al1405 = $self1400.from;\n$ans1404 = $self1400.ans;\n$elidedFrames1407 = $self1400.elidedFrames;\nself1400 = $self1400.args[0];\nmaybe$stack$loc1401 = $self1400.args[1];\nsrc$available1402 = $self1400.args[2];\nmaybe$ast1403 = $self1400.args[3];\ncases1409 = $self1400.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[465],4,$t,true);\n}\nvar self1400 = $self1400;\nvar maybe$stack$loc1401 = $maybe$stack$loc1401;\nvar src$available1402 = $src$available1402;\nvar maybe$ast1403 = $maybe$ast1403;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1404 = R.mC();\n}\nwhile(!R.isContinuation($ans1404)) {\nswitch($step1398) {\ncase 0: $al1405 = L[466];\nvar anf_method_obj1408 = G(self1400,\"loc\",L[466]);\n$step1398 = 1;\n$ans1404 = R.maybeMethodCall0(anf_method_obj1408,\"is-builtin\",L[467]);\nbreak;\ncase 1: var anf_if1450 = $ans1404;\n$step1398 = R.checkPyretTrue(anf_if1450)?2:3;\nbreak;\ncase 2: $step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[468]);\nbreak;\ncase 3: $al1405 = L[469];\nvar anf_arg89 = G(self1400,\"loc\",L[469]);\n$step1398 = 4;\n$al1405 = L[508];\nif(typeof(src$available1402.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1405,src$available1402);\n}\n$ans1404 = src$available1402.app(anf_arg89);\nbreak;\ncase 4: var anf_if1449 = $ans1404;\n$step1398 = R.checkPyretTrue(anf_if1449)?5:11;\nbreak;\ncase 5: $al1405 = L[470];\nvar anf_arg92 = G(self1400,\"loc\",L[470]);\n$step1398 = 6;\n$al1405 = L[506];\nif(typeof(maybe$ast1403.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1405,maybe$ast1403);\n}\n$ans1404 = maybe$ast1403.app(anf_arg92);\nbreak;\ncase 6: var cases1409 = $ans1404;\n$step1398 = 7;\n$al1405 = L[505];\nvar $ann$check1448 = R._cA(L[505],Option15,cases1409);\nif(R.isContinuation($ann$check1448)) {\n$ans1404 = $ann$check1448;\n}\nbreak;\ncase 7: $al1405 = L[502];\n$step1398 = $cases_dispatch1447[cases1409.$name] || 10;\nbreak;\ncase 8: if(cases1409.$arity !== 1) {\nif(cases1409.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[501],1,cases1409.$arity,L[502],cases1409.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[501],true,L[502],cases1409.$loc);\n}\n}\n$step1398 = 12;\n$al1405 = L[501];\nvar $temp_branch1439 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__502($test$ast1411) {\nvar $step1441 = 0;\nvar $elidedFrames1445 = 0;\nvar $ans1442 = D;\nvar $al1443 = L[471];\nif(R.isAR($test$ast1411)) {\n$step1441 = $test$ast1411.step;\n$al1443 = $test$ast1411.from;\n$ans1442 = $test$ast1411.ans;\n$elidedFrames1445 = $test$ast1411.elidedFrames;\ntest$ast1411 = $test$ast1411.args[0];\nanf_fun1424 = $test$ast1411.vars[0];\nanf_arg96 = $test$ast1411.vars[1];\nrhs$ast1416 = $test$ast1411.vars[2];\ned$lhs1423 = $test$ast1411.vars[3];\nlhs$ast1414 = $test$ast1411.vars[4];\nanf_arg1420 = $test$ast1411.vars[5];\nanf_array1425 = $test$ast1411.vars[6];\nanf_arg141 = $test$ast1411.vars[7];\nanf_arg142 = $test$ast1411.vars[8];\nanf_arg154 = $test$ast1411.vars[9];\nanf_fun115 = $test$ast1411.vars[10];\ned$rhs1422 = $test$ast1411.vars[11];\n} else {\nvar test$ast1411 = $test$ast1411;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1442 = R.mC();\n}\nwhile(!R.isContinuation($ans1442)) {\nswitch($step1441) {\ncase 0: $al1443 = L[471];\nvar anf_method_obj1410 = G(self1400,\"val-src\",L[471]);\n$step1441 = 1;\n$ans1442 = R.maybeMethodCall1(anf_method_obj1410,\"test-component\",L[472],test$ast1411);\nbreak;\ncase 1: var lhs$ast1414 = $ans1442;\n$al1443 = L[473];\nvar anf_bracket1412 = G(test$ast1411,\"right\",L[473]);\n$al1443 = L[474];\nvar rhs$ast1416 = G(anf_bracket1412,\"value\",L[474]);\n$al1443 = L[475];\nvar anf_method_obj1413 = G(self1400,\"val-src\",L[475]);\n$step1441 = 2;\n$ans1442 = R.maybeMethodCall0(anf_method_obj1413,\"side\",L[476]);\nbreak;\ncase 2: var anf_arg95 = $ans1442;\n$step1441 = 3;\n$al1443 = L[500];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app(anf_arg95);\nbreak;\ncase 3: var anf_arg96 = $ans1442;\n$ans1442 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[477],L[478]);\nvar anf_fun1415 = $ans1442;\n$al1443 = L[479];\nvar anf_arg99 = G(lhs$ast1414,\"l\",L[479]);\n$step1441 = 4;\n$al1443 = L[478];\nif(typeof(anf_fun1415.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun1415);\n}\n$ans1442 = anf_fun1415.app(anf_arg99);\nbreak;\ncase 4: var anf_arg100 = $ans1442;\n$step1441 = 5;\n$al1443 = L[499];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"highlight\"].app(anf_arg96,anf_arg100,(3));\nbreak;\ncase 5: var ed$lhs1423 = $ans1442;\n$step1441 = 6;\n$al1443 = L[498];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg1420 = $ans1442;\n$ans1442 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[480],L[481]);\nvar anf_fun139 = $ans1442;\n$al1443 = L[482];\nvar anf_arg140 = G(rhs$ast1416,\"l\",L[482]);\n$step1441 = 7;\n$al1443 = L[481];\nif(typeof(anf_fun139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun139);\n}\n$ans1442 = anf_fun139.app(anf_arg140);\nbreak;\ncase 7: var anf_arg136 = $ans1442;\n$step1441 = 8;\n$al1443 = L[497];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1420,anf_arg136,(4));\nbreak;\ncase 8: var ed$rhs1422 = $ans1442;\n$ans1442 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[483],L[484]);\nvar anf_fun115 = $ans1442;\n$al1443 = L[485];\nvar anf_method_obj1421 = G(self1400,\"val-src\",L[485]);\n$step1441 = 9;\n$ans1442 = R.maybeMethodCall1(anf_method_obj1421,\"test-preamble\",L[486],test$ast1411);\nbreak;\ncase 9: var anf_arg141 = $ans1442;\n$al1443 = L[487];\nvar anf_arg138 = G(self1400,\"loc\",L[487]);\n$step1441 = 10;\n$al1443 = L[496];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg138);\nbreak;\ncase 10: var anf_arg142 = $ans1442;\n$ans1442 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[488],L[489]);\nvar anf_fun1424 = $ans1442;\n$ans1442 = R.makeArrayN((7));\nvar anf_array1425 = $ans1442;\n$step1441 = 11;\n$al1443 = L[495];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array1425[0] = $ans1442;\nanf_array1425[1] = ed$rhs1422;\n$step1441 = 12;\n$al1443 = L[494];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the value of the \"));\nbreak;\ncase 12: anf_array1425[2] = $ans1442;\nanf_array1425[3] = ed$lhs1423;\n$step1441 = 13;\n$al1443 = L[493];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 13: anf_array1425[4] = $ans1442;\nanf_array1425[5] = ed$lhs1423;\n$step1441 = 14;\n$al1443 = L[492];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"text\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 14: anf_array1425[6] = $ans1442;\n$step1441 = 15;\n$al1443 = L[489];\nif(typeof(anf_fun1424.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun1424);\n}\n$ans1442 = anf_fun1424.app(anf_array1425);\nbreak;\ncase 15: var anf_arg154 = $ans1442;\n$al1443 = L[490];\nvar anf_arg1433 = G(self1400,\"val\",L[490]);\n$step1441 = 16;\n$al1443 = L[491];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1442 = ED23.dict.values.dict[\"embed\"].app(anf_arg1433);\nbreak;\ncase 16: var anf_arg1438 = $ans1442;\n$step1441 = 17;\n$al1443 = L[484];\nif(typeof(anf_fun115.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1443,anf_fun115);\n}\n$ans1442 = anf_fun115.app(anf_arg141,anf_arg142,anf_arg154,anf_arg1438);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans1442;\ndefault: R.ffi.throwSpinnakerError(L[471],$step1441);\n}\n}\nif($step1441 !== 17) {\n$ans1442.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1443,$temp_branch1439,$step1441,[test$ast1411],[anf_fun1424,anf_arg96,rhs$ast1416,ed$lhs1423,lhs$ast1414,anf_arg1420,anf_array1425,anf_arg141,anf_arg142,anf_arg154,anf_fun115,ed$rhs1422],$elidedFrames1445);\n}\nreturn $ans1442;\n};\n$ans1404 = cases1409.$app_fields($temp_branch1439,[false]);\nbreak;\ncase 9: if(cases1409.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[504],false,L[502],cases1409.$loc);\n}\n$step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[503]);\nbreak;\ncase 10: $ans1404 = R.throwNoCasesMatched(L[502],cases1409);\n$step1398 = 12;\nbreak;\ncase 11: $step1398 = 12;\n$ans1404 = R.maybeMethodCall0(self1400,\"render-reason\",L[507]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1404;\ndefault: R.ffi.throwSpinnakerError(L[465],$step1398);\n}\n}\nif($step1398 !== 12) {\n$ans1404.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1405,$temp_full1399,$step1398,[self1400,maybe$stack$loc1401,src$available1402,maybe$ast1403],[cases1409],$elidedFrames1407);\n}\nreturn $ans1404;\n};\nvar anf_variant_member2495 = R.makeMethod3($temp_full1399,\"render-fancy-reason\");\nvar $temp_full1453 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__509($self1017) {\nvar $step1452 = 0;\nvar $elidedFrames1457 = 0;\nvar $ans1454 = D;\nvar $al1455 = L[509];\nif(R.isAR($self1017)) {\n$step1452 = $self1017.step;\n$al1455 = $self1017.from;\n$ans1454 = $self1017.ans;\n$elidedFrames1457 = $self1017.elidedFrames;\nself1017 = $self1017.args[0];\nanf_fun1470 = $self1017.vars[0];\nanf_fun1459 = $self1017.vars[1];\nanf_arg226 = $self1017.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[509],1,$t,true);\n}\nvar self1017 = $self1017;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1454 = R.mC();\n}\nwhile(!R.isContinuation($ans1454)) {\nswitch($step1452) {\ncase 0: $ans1454 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[510],L[511]);\nvar anf_fun1470 = $ans1454;\n$ans1454 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[512],L[513]);\nvar anf_fun1459 = $ans1454;\n$step1452 = 1;\n$al1455 = L[516];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,ED23.dict.values.dict[\"text\"]);\n}\n$ans1454 = ED23.dict.values.dict[\"text\"].app((\"Predicate succeeded for value (it should have failed):\"));\nbreak;\ncase 1: var anf_arg2353 = $ans1454;\n$step1452 = 2;\n$al1455 = L[513];\nif(typeof(anf_fun1459.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,anf_fun1459);\n}\n$ans1454 = anf_fun1459.app(anf_arg2353);\nbreak;\ncase 2: var anf_arg226 = $ans1454;\n$al1455 = L[514];\nvar anf_arg1467 = G(self1017,\"val\",L[514]);\n$step1452 = 3;\n$al1455 = L[515];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1454 = ED23.dict.values.dict[\"embed\"].app(anf_arg1467);\nbreak;\ncase 3: var anf_arg231 = $ans1454;\n$step1452 = 4;\n$al1455 = L[511];\nif(typeof(anf_fun1470.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1455,anf_fun1470);\n}\n$ans1454 = anf_fun1470.app(anf_arg226,anf_arg231);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1454;\ndefault: R.ffi.throwSpinnakerError(L[509],$step1452);\n}\n}\nif($step1452 !== 4) {\n$ans1454.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1455,$temp_full1453,$step1452,[self1017],[anf_fun1470,anf_fun1459,anf_arg226],$elidedFrames1457);\n}\nreturn $ans1454;\n};\nvar anf_variant_member2496 = R.makeMethod0($temp_full1453,\"render-reason\");\nvar $temp_full1473 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__517($self1509,$maybe$stack$loc1474,$src$available1475,$maybe$ast1476) {\nvar $step1472 = 0;\nvar $elidedFrames1480 = 0;\nvar $ans1477 = D;\nvar $al1478 = L[517];\nif(R.isAR($self1509)) {\n$step1472 = $self1509.step;\n$al1478 = $self1509.from;\n$ans1477 = $self1509.ans;\n$elidedFrames1480 = $self1509.elidedFrames;\nself1509 = $self1509.args[0];\nmaybe$stack$loc1474 = $self1509.args[1];\nsrc$available1475 = $self1509.args[2];\nmaybe$ast1476 = $self1509.args[3];\ncases1484 = $self1509.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[517],4,$t,true);\n}\nvar self1509 = $self1509;\nvar maybe$stack$loc1474 = $maybe$stack$loc1474;\nvar src$available1475 = $src$available1475;\nvar maybe$ast1476 = $maybe$ast1476;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1477 = R.mC();\n}\nwhile(!R.isContinuation($ans1477)) {\nswitch($step1472) {\ncase 0: $al1478 = L[518];\nvar anf_method_obj1481 = G(self1509,\"loc\",L[518]);\n$step1472 = 1;\n$ans1477 = R.maybeMethodCall0(anf_method_obj1481,\"is-builtin\",L[519]);\nbreak;\ncase 1: var anf_if1540 = $ans1477;\n$step1472 = R.checkPyretTrue(anf_if1540)?2:3;\nbreak;\ncase 2: $step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[520]);\nbreak;\ncase 3: $al1478 = L[521];\nvar anf_arg1483 = G(self1509,\"loc\",L[521]);\n$step1472 = 4;\n$al1478 = L[546];\nif(typeof(src$available1475.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1478,src$available1475);\n}\n$ans1477 = src$available1475.app(anf_arg1483);\nbreak;\ncase 4: var anf_if1539 = $ans1477;\n$step1472 = R.checkPyretTrue(anf_if1539)?5:11;\nbreak;\ncase 5: $al1478 = L[522];\nvar anf_arg274 = G(self1509,\"loc\",L[522]);\n$step1472 = 6;\n$al1478 = L[544];\nif(typeof(maybe$ast1476.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1478,maybe$ast1476);\n}\n$ans1477 = maybe$ast1476.app(anf_arg274);\nbreak;\ncase 6: var cases1484 = $ans1477;\n$step1472 = 7;\n$al1478 = L[543];\nvar $ann$check1538 = R._cA(L[543],Option15,cases1484);\nif(R.isContinuation($ann$check1538)) {\n$ans1477 = $ann$check1538;\n}\nbreak;\ncase 7: $al1478 = L[540];\n$step1472 = $cases_dispatch1537[cases1484.$name] || 10;\nbreak;\ncase 8: if(cases1484.$arity !== 1) {\nif(cases1484.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[539],1,cases1484.$arity,L[540],cases1484.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[539],true,L[540],cases1484.$loc);\n}\n}\n$step1472 = 12;\n$al1478 = L[539];\nvar $temp_branch1528 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__540($test$ast1486) {\nvar $step1531 = 0;\nvar $elidedFrames1535 = 0;\nvar $ans1532 = D;\nvar $al1533 = L[524];\nif(R.isAR($test$ast1486)) {\n$step1531 = $test$ast1486.step;\n$al1533 = $test$ast1486.from;\n$ans1532 = $test$ast1486.ans;\n$elidedFrames1535 = $test$ast1486.elidedFrames;\ntest$ast1486 = $test$ast1486.args[0];\nanf_fun1525 = $test$ast1486.vars[0];\nanf_fun1515 = $test$ast1486.vars[1];\nanf_fun1526 = $test$ast1486.vars[2];\nanf_array1527 = $test$ast1486.vars[3];\n} else {\nvar test$ast1486 = $test$ast1486;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1532 = R.mC();\n}\nwhile(!R.isContinuation($ans1532)) {\nswitch($step1531) {\ncase 0: $ans1532 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[523],L[524]);\nvar anf_fun1526 = $ans1532;\n$ans1532 = R.makeArrayN((6));\nvar anf_array1527 = $ans1532;\n$al1533 = L[525];\nvar anf_method_obj1485 = G(self1509,\"actual-src\",L[525]);\n$step1531 = 1;\n$ans1532 = R.maybeMethodCall1(anf_method_obj1485,\"test-preamble\",L[526],test$ast1486);\nbreak;\ncase 1: anf_array1527[0] = $ans1532;\n$al1533 = L[527];\nvar anf_arg1514 = G(self1509,\"loc\",L[527]);\n$step1531 = 2;\n$al1533 = L[538];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1514);\nbreak;\ncase 2: anf_array1527[1] = $ans1532;\n$ans1532 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[528],L[529]);\nvar anf_fun1515 = $ans1532;\n$step1531 = 3;\n$al1533 = L[537];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"text\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 3: var anf_arg296 = $ans1532;\n$step1531 = 4;\n$al1533 = L[529];\nif(typeof(anf_fun1515.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1515);\n}\n$ans1532 = anf_fun1515.app(anf_arg296);\nbreak;\ncase 4: anf_array1527[2] = $ans1532;\n$al1533 = L[530];\nvar anf_arg1524 = G(self1509,\"actual-exn\",L[530]);\n$step1531 = 5;\n$al1533 = L[536];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"embed\"].app(anf_arg1524);\nbreak;\ncase 5: anf_array1527[3] = $ans1532;\n$ans1532 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[531],L[532]);\nvar anf_fun1525 = $ans1532;\n$step1531 = 6;\n$al1533 = L[535];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"text\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"text\"].app((\"when expecting \"));\nbreak;\ncase 6: var anf_arg320 = $ans1532;\n$step1531 = 7;\n$al1533 = L[532];\nif(typeof(anf_fun1525.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1525);\n}\n$ans1532 = anf_fun1525.app(anf_arg320);\nbreak;\ncase 7: anf_array1527[4] = $ans1532;\n$al1533 = L[533];\nvar anf_arg2501 = G(self1509,\"exn-expected\",L[533]);\n$step1531 = 8;\n$al1533 = L[534];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1532 = ED23.dict.values.dict[\"embed\"].app(anf_arg2501);\nbreak;\ncase 8: anf_array1527[5] = $ans1532;\n$step1531 = 9;\n$al1533 = L[524];\nif(typeof(anf_fun1526.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1533,anf_fun1526);\n}\n$ans1532 = anf_fun1526.app(anf_array1527);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1532;\ndefault: R.ffi.throwSpinnakerError(L[524],$step1531);\n}\n}\nif($step1531 !== 9) {\n$ans1532.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1533,$temp_branch1528,$step1531,[test$ast1486],[anf_fun1525,anf_fun1515,anf_fun1526,anf_array1527],$elidedFrames1535);\n}\nreturn $ans1532;\n};\n$ans1477 = cases1484.$app_fields($temp_branch1528,[false]);\nbreak;\ncase 9: if(cases1484.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[542],false,L[540],cases1484.$loc);\n}\n$step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[541]);\nbreak;\ncase 10: $ans1477 = R.throwNoCasesMatched(L[540],cases1484);\n$step1472 = 12;\nbreak;\ncase 11: $step1472 = 12;\n$ans1477 = R.maybeMethodCall0(self1509,\"render-reason\",L[545]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1477;\ndefault: R.ffi.throwSpinnakerError(L[517],$step1472);\n}\n}\nif($step1472 !== 12) {\n$ans1477.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1478,$temp_full1473,$step1472,[self1509,maybe$stack$loc1474,src$available1475,maybe$ast1476],[cases1484],$elidedFrames1480);\n}\nreturn $ans1477;\n};\nvar anf_variant_member2506 = R.makeMethod3($temp_full1473,\"render-fancy-reason\");\nvar $temp_full1543 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__547($self1544,$get$stack1545) {\nvar $step1542 = 0;\nvar $elidedFrames1550 = 0;\nvar $ans1547 = D;\nvar $al1548 = L[547];\nif(R.isAR($self1544)) {\n$step1542 = $self1544.step;\n$al1548 = $self1544.from;\n$ans1547 = $self1544.ans;\n$elidedFrames1550 = $self1544.elidedFrames;\nself1544 = $self1544.args[0];\nget$stack1545 = $self1544.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[547],2,$t,true);\n}\nvar self1544 = $self1544;\nvar get$stack1545 = $get$stack1545;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1547 = R.mC();\n}\nwhile(!R.isContinuation($ans1547)) {\nswitch($step1542) {\ncase 0: $al1548 = L[548];\nvar anf_arg340 = G(self1544,\"actual-exn\",L[548]);\n$step1542 = 1;\n$al1548 = L[549];\nif(typeof(get$stack1545.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1548,get$stack1545);\n}\n$ans1547 = get$stack1545.app(anf_arg340);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1547;\ndefault: R.ffi.throwSpinnakerError(L[547],$step1542);\n}\n}\nif($step1542 !== 1) {\n$ans1547.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1548,$temp_full1543,$step1542,[self1544,get$stack1545],[],$elidedFrames1550);\n}\nreturn $ans1547;\n};\nvar anf_variant_member5641 = R.makeMethod1($temp_full1543,\"access-stack\");\nvar $temp_full1554 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__550($self1555) {\nvar $step1553 = 0;\nvar $elidedFrames1560 = 0;\nvar $ans1557 = D;\nvar $al1558 = L[550];\nif(R.isAR($self1555)) {\n$step1553 = $self1555.step;\n$al1558 = $self1555.from;\n$ans1557 = $self1555.ans;\n$elidedFrames1560 = $self1555.elidedFrames;\nself1555 = $self1555.args[0];\nanf_arg2550 = $self1555.vars[0];\nanf_arg2526 = $self1555.vars[1];\nanf_arg2539 = $self1555.vars[2];\nanf_fun1561 = $self1555.vars[3];\nanf_fun1562 = $self1555.vars[4];\nanf_fun1564 = $self1555.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[550],1,$t,true);\n}\nvar self1555 = $self1555;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1557 = R.mC();\n}\nwhile(!R.isContinuation($ans1557)) {\nswitch($step1553) {\ncase 0: $ans1557 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[551],L[552]);\nvar anf_fun1564 = $ans1557;\n$ans1557 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[553],L[554]);\nvar anf_fun1561 = $ans1557;\n$step1553 = 1;\n$al1558 = L[562];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"text\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 1: var anf_arg355 = $ans1557;\n$step1553 = 2;\n$al1558 = L[554];\nif(typeof(anf_fun1561.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1561);\n}\n$ans1557 = anf_fun1561.app(anf_arg355);\nbreak;\ncase 2: var anf_arg2526 = $ans1557;\n$al1558 = L[555];\nvar anf_arg356 = G(self1555,\"actual-exn\",L[555]);\n$step1553 = 3;\n$al1558 = L[561];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"embed\"].app(anf_arg356);\nbreak;\ncase 3: var anf_arg2539 = $ans1557;\n$ans1557 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[556],L[557]);\nvar anf_fun1562 = $ans1557;\n$step1553 = 4;\n$al1558 = L[560];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"text\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"text\"].app((\"when expecting \"));\nbreak;\ncase 4: var anf_arg2548 = $ans1557;\n$step1553 = 5;\n$al1558 = L[557];\nif(typeof(anf_fun1562.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1562);\n}\n$ans1557 = anf_fun1562.app(anf_arg2548);\nbreak;\ncase 5: var anf_arg2550 = $ans1557;\n$al1558 = L[558];\nvar anf_arg1563 = G(self1555,\"exn-expected\",L[558]);\n$step1553 = 6;\n$al1558 = L[559];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1557 = ED23.dict.values.dict[\"embed\"].app(anf_arg1563);\nbreak;\ncase 6: var anf_arg1565 = $ans1557;\n$step1553 = 7;\n$al1558 = L[552];\nif(typeof(anf_fun1564.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1558,anf_fun1564);\n}\n$ans1557 = anf_fun1564.app(anf_arg2526,anf_arg2539,anf_arg2550,anf_arg1565);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1557;\ndefault: R.ffi.throwSpinnakerError(L[550],$step1553);\n}\n}\nif($step1553 !== 7) {\n$ans1557.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1558,$temp_full1554,$step1553,[self1555],[anf_arg2550,anf_arg2526,anf_arg2539,anf_fun1561,anf_fun1562,anf_fun1564],$elidedFrames1560);\n}\nreturn $ans1557;\n};\nvar anf_variant_member2507 = R.makeMethod0($temp_full1554,\"render-reason\");\nvar $temp_full1568 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__563($self1569) {\nvar $step1567 = 0;\nvar $elidedFrames1573 = 0;\nvar $ans1570 = D;\nvar $al1571 = L[563];\nif(R.isAR($self1569)) {\n$step1567 = $self1569.step;\n$al1571 = $self1569.from;\n$ans1570 = $self1569.ans;\n$elidedFrames1573 = $self1569.elidedFrames;\nself1569 = $self1569.args[0];\nanf_fun1607 = $self1569.vars[0];\nanf_arg399 = $self1569.vars[1];\nanf_arg408 = $self1569.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[563],1,$t,true);\n}\nvar self1569 = $self1569;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1570 = R.mC();\n}\nwhile(!R.isContinuation($ans1570)) {\nswitch($step1567) {\ncase 0: $ans1570 = R.getMaker3(list6,(\"make3\"),L[564],L[565]);\nvar anf_fun1607 = $ans1570;\n$al1571 = L[566];\nvar anf_arg397 = G(self1569,\"loc\",L[566]);\n$step1567 = 1;\n$al1571 = L[573];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg397);\nbreak;\ncase 1: var anf_arg399 = $ans1570;\n$al1571 = L[567];\nvar anf_arg1598 = G(self1569,\"exn-expected\",L[567]);\n$step1567 = 2;\n$al1571 = L[572];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1598);\nbreak;\ncase 2: var anf_arg408 = $ans1570;\n$al1571 = L[568];\nvar anf_arg1599 = G(self1569,\"actual-exn\",L[568]);\n$step1567 = 3;\n$al1571 = L[571];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,exn$unwrap2);\n}\n$ans1570 = exn$unwrap2.app(anf_arg1599);\nbreak;\ncase 3: var anf_arg1604 = $ans1570;\n$step1567 = 4;\n$al1571 = L[570];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1604);\nbreak;\ncase 4: var anf_arg1620 = $ans1570;\n$step1567 = 5;\n$al1571 = L[565];\nif(typeof(anf_fun1607.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,anf_fun1607);\n}\n$ans1570 = anf_fun1607.app(anf_arg399,anf_arg408,anf_arg1620);\nbreak;\ncase 5: var anf_arg1640 = $ans1570;\n$step1567 = 6;\n$al1571 = L[569];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1571,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1570 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-wrong-exn\"),anf_arg1640);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1570;\ndefault: R.ffi.throwSpinnakerError(L[563],$step1567);\n}\n}\nif($step1567 !== 6) {\n$ans1570.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1571,$temp_full1568,$step1567,[self1569],[anf_fun1607,anf_arg399,anf_arg408],$elidedFrames1573);\n}\nreturn $ans1570;\n};\nvar anf_variant_member2508 = R.makeMethod0($temp_full1568,\"_output\");\nvar $temp_full1643 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__574($self1563,$maybe$stack$loc1644,$src$available1645,$maybe$ast1646) {\nvar $step1642 = 0;\nvar $elidedFrames1651 = 0;\nvar $ans1648 = D;\nvar $al1649 = L[574];\nif(R.isAR($self1563)) {\n$step1642 = $self1563.step;\n$al1649 = $self1563.from;\n$ans1648 = $self1563.ans;\n$elidedFrames1651 = $self1563.elidedFrames;\nself1563 = $self1563.args[0];\nmaybe$stack$loc1644 = $self1563.args[1];\nsrc$available1645 = $self1563.args[2];\nmaybe$ast1646 = $self1563.args[3];\ncases1653 = $self1563.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[574],4,$t,true);\n}\nvar self1563 = $self1563;\nvar maybe$stack$loc1644 = $maybe$stack$loc1644;\nvar src$available1645 = $src$available1645;\nvar maybe$ast1646 = $maybe$ast1646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1648 = R.mC();\n}\nwhile(!R.isContinuation($ans1648)) {\nswitch($step1642) {\ncase 0: $al1649 = L[575];\nvar anf_method_obj1652 = G(self1563,\"loc\",L[575]);\n$step1642 = 1;\n$ans1648 = R.maybeMethodCall0(anf_method_obj1652,\"is-builtin\",L[576]);\nbreak;\ncase 1: var anf_if1688 = $ans1648;\n$step1642 = R.checkPyretTrue(anf_if1688)?2:3;\nbreak;\ncase 2: $step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[577]);\nbreak;\ncase 3: $al1649 = L[578];\nvar anf_arg423 = G(self1563,\"loc\",L[578]);\n$step1642 = 4;\n$al1649 = L[603];\nif(typeof(src$available1645.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1649,src$available1645);\n}\n$ans1648 = src$available1645.app(anf_arg423);\nbreak;\ncase 4: var anf_if1685 = $ans1648;\n$step1642 = R.checkPyretTrue(anf_if1685)?5:11;\nbreak;\ncase 5: $al1649 = L[579];\nvar anf_arg424 = G(self1563,\"loc\",L[579]);\n$step1642 = 6;\n$al1649 = L[601];\nif(typeof(maybe$ast1646.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1649,maybe$ast1646);\n}\n$ans1648 = maybe$ast1646.app(anf_arg424);\nbreak;\ncase 6: var cases1653 = $ans1648;\n$step1642 = 7;\n$al1649 = L[600];\nvar $ann$check1684 = R._cA(L[600],Option15,cases1653);\nif(R.isContinuation($ann$check1684)) {\n$ans1648 = $ann$check1684;\n}\nbreak;\ncase 7: $al1649 = L[597];\n$step1642 = $cases_dispatch1683[cases1653.$name] || 10;\nbreak;\ncase 8: if(cases1653.$arity !== 1) {\nif(cases1653.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[596],1,cases1653.$arity,L[597],cases1653.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[596],true,L[597],cases1653.$loc);\n}\n}\n$step1642 = 12;\n$al1649 = L[596];\nvar $temp_branch1675 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__597($test$ast1655) {\nvar $step1676 = 0;\nvar $elidedFrames1680 = 0;\nvar $ans1677 = D;\nvar $al1678 = L[581];\nif(R.isAR($test$ast1655)) {\n$step1676 = $test$ast1655.step;\n$al1678 = $test$ast1655.from;\n$ans1677 = $test$ast1655.ans;\n$elidedFrames1680 = $test$ast1655.elidedFrames;\ntest$ast1655 = $test$ast1655.args[0];\nanf_array1674 = $test$ast1655.vars[0];\nanf_fun1659 = $test$ast1655.vars[1];\nanf_fun1671 = $test$ast1655.vars[2];\nanf_fun1673 = $test$ast1655.vars[3];\n} else {\nvar test$ast1655 = $test$ast1655;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1677 = R.mC();\n}\nwhile(!R.isContinuation($ans1677)) {\nswitch($step1676) {\ncase 0: $ans1677 = R.getMaker(ED23.dict.values.dict[\"error\"],(\"make\"),L[580],L[581]);\nvar anf_fun1673 = $ans1677;\n$ans1677 = R.makeArrayN((6));\nvar anf_array1674 = $ans1677;\n$al1678 = L[582];\nvar anf_method_obj1654 = G(self1563,\"actual-src\",L[582]);\n$step1676 = 1;\n$ans1677 = R.maybeMethodCall1(anf_method_obj1654,\"test-preamble\",L[583],test$ast1655);\nbreak;\ncase 1: anf_array1674[0] = $ans1677;\n$al1678 = L[584];\nvar anf_arg443 = G(self1563,\"loc\",L[584]);\n$step1676 = 2;\n$al1678 = L[595];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg443);\nbreak;\ncase 2: anf_array1674[1] = $ans1677;\n$ans1677 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[585],L[586]);\nvar anf_fun1659 = $ans1677;\n$step1676 = 3;\n$al1678 = L[594];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"text\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"text\"].app((\"Got exception \"));\nbreak;\ncase 3: var anf_arg446 = $ans1677;\n$step1676 = 4;\n$al1678 = L[586];\nif(typeof(anf_fun1659.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1659);\n}\n$ans1677 = anf_fun1659.app(anf_arg446);\nbreak;\ncase 4: anf_array1674[2] = $ans1677;\n$al1678 = L[587];\nvar anf_arg1669 = G(self1563,\"actual-exn\",L[587]);\n$step1676 = 5;\n$al1678 = L[593];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"embed\"].app(anf_arg1669);\nbreak;\ncase 5: anf_array1674[3] = $ans1677;\n$ans1677 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[588],L[589]);\nvar anf_fun1671 = $ans1677;\n$step1676 = 6;\n$al1678 = L[592];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"text\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"text\"].app((\"and expected it not to contain \"));\nbreak;\ncase 6: var anf_arg435 = $ans1677;\n$step1676 = 7;\n$al1678 = L[589];\nif(typeof(anf_fun1671.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1671);\n}\n$ans1677 = anf_fun1671.app(anf_arg435);\nbreak;\ncase 7: anf_array1674[4] = $ans1677;\n$al1678 = L[590];\nvar anf_arg1672 = G(self1563,\"exn-not-expected\",L[590]);\n$step1676 = 8;\n$al1678 = L[591];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1677 = ED23.dict.values.dict[\"embed\"].app(anf_arg1672);\nbreak;\ncase 8: anf_array1674[5] = $ans1677;\n$step1676 = 9;\n$al1678 = L[581];\nif(typeof(anf_fun1673.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1678,anf_fun1673);\n}\n$ans1677 = anf_fun1673.app(anf_array1674);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1677;\ndefault: R.ffi.throwSpinnakerError(L[581],$step1676);\n}\n}\nif($step1676 !== 9) {\n$ans1677.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1678,$temp_branch1675,$step1676,[test$ast1655],[anf_array1674,anf_fun1659,anf_fun1671,anf_fun1673],$elidedFrames1680);\n}\nreturn $ans1677;\n};\n$ans1648 = cases1653.$app_fields($temp_branch1675,[false]);\nbreak;\ncase 9: if(cases1653.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[599],false,L[597],cases1653.$loc);\n}\n$step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[598]);\nbreak;\ncase 10: $ans1648 = R.throwNoCasesMatched(L[597],cases1653);\n$step1642 = 12;\nbreak;\ncase 11: $step1642 = 12;\n$ans1648 = R.maybeMethodCall0(self1563,\"render-reason\",L[602]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1648;\ndefault: R.ffi.throwSpinnakerError(L[574],$step1642);\n}\n}\nif($step1642 !== 12) {\n$ans1648.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1649,$temp_full1643,$step1642,[self1563,maybe$stack$loc1644,src$available1645,maybe$ast1646],[cases1653],$elidedFrames1651);\n}\nreturn $ans1648;\n};\nvar anf_variant_member2518 = R.makeMethod3($temp_full1643,\"render-fancy-reason\");\nvar $temp_full1692 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__604($self1210) {\nvar $step1691 = 0;\nvar $elidedFrames1697 = 0;\nvar $ans1694 = D;\nvar $al1695 = L[604];\nif(R.isAR($self1210)) {\n$step1691 = $self1210.step;\n$al1695 = $self1210.from;\n$ans1694 = $self1210.ans;\n$elidedFrames1697 = $self1210.elidedFrames;\nself1210 = $self1210.args[0];\nanf_fun1699 = $self1210.vars[0];\nanf_fun1712 = $self1210.vars[1];\nanf_fun1704 = $self1210.vars[2];\nanf_arg447 = $self1210.vars[3];\nanf_arg458 = $self1210.vars[4];\nanf_arg448 = $self1210.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[604],1,$t,true);\n}\nvar self1210 = $self1210;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1694 = R.mC();\n}\nwhile(!R.isContinuation($ans1694)) {\nswitch($step1691) {\ncase 0: $ans1694 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[605],L[606]);\nvar anf_fun1712 = $ans1694;\n$ans1694 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[607],L[608]);\nvar anf_fun1699 = $ans1694;\n$step1691 = 1;\n$al1695 = L[616];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"text\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"text\"].app((\"Got exception \"));\nbreak;\ncase 1: var anf_arg440 = $ans1694;\n$step1691 = 2;\n$al1695 = L[608];\nif(typeof(anf_fun1699.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1699);\n}\n$ans1694 = anf_fun1699.app(anf_arg440);\nbreak;\ncase 2: var anf_arg447 = $ans1694;\n$al1695 = L[609];\nvar anf_arg441 = G(self1210,\"actual-exn\",L[609]);\n$step1691 = 3;\n$al1695 = L[615];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"embed\"].app(anf_arg441);\nbreak;\ncase 3: var anf_arg448 = $ans1694;\n$ans1694 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[610],L[611]);\nvar anf_fun1704 = $ans1694;\n$step1691 = 4;\n$al1695 = L[614];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"text\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"text\"].app((\"and expected it not to contain \"));\nbreak;\ncase 4: var anf_arg1711 = $ans1694;\n$step1691 = 5;\n$al1695 = L[611];\nif(typeof(anf_fun1704.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1704);\n}\n$ans1694 = anf_fun1704.app(anf_arg1711);\nbreak;\ncase 5: var anf_arg458 = $ans1694;\n$al1695 = L[612];\nvar anf_arg464 = G(self1210,\"exn-not-expected\",L[612]);\n$step1691 = 6;\n$al1695 = L[613];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1694 = ED23.dict.values.dict[\"embed\"].app(anf_arg464);\nbreak;\ncase 6: var anf_arg1713 = $ans1694;\n$step1691 = 7;\n$al1695 = L[606];\nif(typeof(anf_fun1712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1695,anf_fun1712);\n}\n$ans1694 = anf_fun1712.app(anf_arg447,anf_arg448,anf_arg458,anf_arg1713);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans1694;\ndefault: R.ffi.throwSpinnakerError(L[604],$step1691);\n}\n}\nif($step1691 !== 7) {\n$ans1694.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1695,$temp_full1692,$step1691,[self1210],[anf_fun1699,anf_fun1712,anf_fun1704,anf_arg447,anf_arg458,anf_arg448],$elidedFrames1697);\n}\nreturn $ans1694;\n};\nvar anf_variant_member2519 = R.makeMethod0($temp_full1692,\"render-reason\");\nvar $temp_full1716 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__617($self1612) {\nvar $step1715 = 0;\nvar $elidedFrames1720 = 0;\nvar $ans1717 = D;\nvar $al1718 = L[617];\nif(R.isAR($self1612)) {\n$step1715 = $self1612.step;\n$al1718 = $self1612.from;\n$ans1717 = $self1612.ans;\n$elidedFrames1720 = $self1612.elidedFrames;\nself1612 = $self1612.args[0];\nanf_arg1744 = $self1612.vars[0];\nanf_arg466 = $self1612.vars[1];\nanf_fun1741 = $self1612.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[617],1,$t,true);\n}\nvar self1612 = $self1612;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1717 = R.mC();\n}\nwhile(!R.isContinuation($ans1717)) {\nswitch($step1715) {\ncase 0: $ans1717 = R.getMaker3(list6,(\"make3\"),L[618],L[619]);\nvar anf_fun1741 = $ans1717;\n$al1718 = L[620];\nvar anf_arg462 = G(self1612,\"loc\",L[620]);\n$step1715 = 1;\n$al1718 = L[627];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg462);\nbreak;\ncase 1: var anf_arg466 = $ans1717;\n$al1718 = L[621];\nvar anf_arg1733 = G(self1612,\"exn-not-expected\",L[621]);\n$step1715 = 2;\n$al1718 = L[626];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1733);\nbreak;\ncase 2: var anf_arg1744 = $ans1717;\n$al1718 = L[622];\nvar anf_arg479 = G(self1612,\"actual-exn\",L[622]);\n$step1715 = 3;\n$al1718 = L[625];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,exn$unwrap2);\n}\n$ans1717 = exn$unwrap2.app(anf_arg479);\nbreak;\ncase 3: var anf_arg1740 = $ans1717;\n$step1715 = 4;\n$al1718 = L[624];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg1740);\nbreak;\ncase 4: var anf_arg533 = $ans1717;\n$step1715 = 5;\n$al1718 = L[619];\nif(typeof(anf_fun1741.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,anf_fun1741);\n}\n$ans1717 = anf_fun1741.app(anf_arg466,anf_arg1744,anf_arg533);\nbreak;\ncase 5: var anf_arg534 = $ans1717;\n$step1715 = 6;\n$al1718 = L[623];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1718,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1717 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-right-exn\"),anf_arg534);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1717;\ndefault: R.ffi.throwSpinnakerError(L[617],$step1715);\n}\n}\nif($step1715 !== 6) {\n$ans1717.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1718,$temp_full1716,$step1715,[self1612],[anf_arg1744,anf_arg466,anf_fun1741],$elidedFrames1720);\n}\nreturn $ans1717;\n};\nvar anf_variant_member2520 = R.makeMethod0($temp_full1716,\"_output\");\nvar $temp_full1747 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__628($self1748,$maybe$stack$loc1749,$src$available1750,$maybe$ast1751) {\nvar $step1746 = 0;\nvar $elidedFrames1755 = 0;\nvar $ans1752 = D;\nvar $al1753 = L[628];\nif(R.isAR($self1748)) {\n$step1746 = $self1748.step;\n$al1753 = $self1748.from;\n$ans1752 = $self1748.ans;\n$elidedFrames1755 = $self1748.elidedFrames;\nself1748 = $self1748.args[0];\nmaybe$stack$loc1749 = $self1748.args[1];\nsrc$available1750 = $self1748.args[2];\nmaybe$ast1751 = $self1748.args[3];\ncases1757 = $self1748.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[628],4,$t,true);\n}\nvar self1748 = $self1748;\nvar maybe$stack$loc1749 = $maybe$stack$loc1749;\nvar src$available1750 = $src$available1750;\nvar maybe$ast1751 = $maybe$ast1751;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1752 = R.mC();\n}\nwhile(!R.isContinuation($ans1752)) {\nswitch($step1746) {\ncase 0: $al1753 = L[629];\nvar anf_method_obj1756 = G(self1748,\"loc\",L[629]);\n$step1746 = 1;\n$ans1752 = R.maybeMethodCall0(anf_method_obj1756,\"is-builtin\",L[630]);\nbreak;\ncase 1: var anf_if1843 = $ans1752;\n$step1746 = R.checkPyretTrue(anf_if1843)?2:3;\nbreak;\ncase 2: $step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[631]);\nbreak;\ncase 3: $al1753 = L[632];\nvar anf_arg514 = G(self1748,\"loc\",L[632]);\n$step1746 = 4;\n$al1753 = L[713];\nif(typeof(src$available1750.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1753,src$available1750);\n}\n$ans1752 = src$available1750.app(anf_arg514);\nbreak;\ncase 4: var anf_if1842 = $ans1752;\n$step1746 = R.checkPyretTrue(anf_if1842)?5:11;\nbreak;\ncase 5: $al1753 = L[633];\nvar anf_arg515 = G(self1748,\"loc\",L[633]);\n$step1746 = 6;\n$al1753 = L[711];\nif(typeof(maybe$ast1751.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1753,maybe$ast1751);\n}\n$ans1752 = maybe$ast1751.app(anf_arg515);\nbreak;\ncase 6: var cases1757 = $ans1752;\n$step1746 = 7;\n$al1753 = L[710];\nvar $ann$check1841 = R._cA(L[710],Option15,cases1757);\nif(R.isContinuation($ann$check1841)) {\n$ans1752 = $ann$check1841;\n}\nbreak;\ncase 7: $al1753 = L[707];\n$step1746 = $cases_dispatch1840[cases1757.$name] || 10;\nbreak;\ncase 8: if(cases1757.$arity !== 1) {\nif(cases1757.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[706],1,cases1757.$arity,L[707],cases1757.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[706],true,L[707],cases1757.$loc);\n}\n}\n$step1746 = 12;\n$al1753 = L[706];\nvar $temp_branch1814 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__707($test$ast1759) {\nvar $step1815 = 0;\nvar $elidedFrames1820 = 0;\nvar $ans1817 = D;\nvar $al1818 = L[634];\nif(R.isAR($test$ast1759)) {\n$step1815 = $test$ast1759.step;\n$al1818 = $test$ast1759.from;\n$ans1817 = $test$ast1759.ans;\n$elidedFrames1820 = $test$ast1759.elidedFrames;\ntest$ast1759 = $test$ast1759.args[0];\nanf_fun1786 = $test$ast1759.vars[0];\nanf_fun1777 = $test$ast1759.vars[1];\nlhs$ast1775 = $test$ast1759.vars[2];\nanf_arg1773 = $test$ast1759.vars[3];\nanf_arg492 = $test$ast1759.vars[4];\nanf_arg1774 = $test$ast1759.vars[5];\nanf_arg486 = $test$ast1759.vars[6];\nanf_arg489 = $test$ast1759.vars[7];\nanf_arg512 = $test$ast1759.vars[8];\ncases1762 = $test$ast1759.vars[9];\nanf_arg549 = $test$ast1759.vars[10];\nanf_arg509 = $test$ast1759.vars[11];\nanf_fun1781 = $test$ast1759.vars[12];\nanf_fun1761 = $test$ast1759.vars[13];\nanf_fun1772 = $test$ast1759.vars[14];\nanf_fun1763 = $test$ast1759.vars[15];\n} else {\nvar test$ast1759 = $test$ast1759;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1817 = R.mC();\n}\nwhile(!R.isContinuation($ans1817)) {\nswitch($step1815) {\ncase 0: $al1818 = L[634];\nvar anf_method_obj1758 = G(self1748,\"exn-place\",L[634]);\n$step1815 = 1;\n$ans1817 = R.maybeMethodCall1(anf_method_obj1758,\"test-component\",L[635],test$ast1759);\nbreak;\ncase 1: var lhs$ast1775 = $ans1817;\n$ans1817 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[636],L[637]);\nvar anf_fun1772 = $ans1817;\n$al1818 = L[638];\nvar anf_method_obj1760 = G(self1748,\"exn-place\",L[638]);\n$step1815 = 2;\n$ans1817 = R.maybeMethodCall1(anf_method_obj1760,\"test-preamble\",L[639],test$ast1759);\nbreak;\ncase 2: var anf_arg1773 = $ans1817;\n$al1818 = L[640];\nvar anf_arg484 = G(self1748,\"loc\",L[640]);\n$step1815 = 3;\n$al1818 = L[705];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg484);\nbreak;\ncase 3: var anf_arg489 = $ans1817;\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[641],L[642]);\nvar anf_fun1761 = $ans1817;\n$step1815 = 4;\n$al1818 = L[704];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"It did not expect the evaluation of the \"));\nbreak;\ncase 4: var anf_arg491 = $ans1817;\n$step1815 = 5;\n$al1818 = L[642];\nif(typeof(anf_fun1761.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1761);\n}\n$ans1817 = anf_fun1761.app(anf_arg491);\nbreak;\ncase 5: var anf_arg492 = $ans1817;\n$al1818 = L[643];\nvar cases1762 = G(self1748,\"exn-place\",L[643]);\n$step1815 = 6;\n$al1818 = L[703];\nvar $ann$check1838 = R._cA(L[703],CheckOperand113,cases1762);\nif(R.isContinuation($ann$check1838)) {\n$ans1817 = $ann$check1838;\n}\nbreak;\ncase 6: $al1818 = L[660];\n$step1815 = $cases_dispatch1837[cases1762.$name] || 20;\nbreak;\ncase 7: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[659],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[652],L[653]);\nvar anf_fun1777 = $ans1817;\n$step1815 = 8;\n$al1818 = L[658];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"left side\"));\nbreak;\ncase 8: var anf_arg486 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[654],L[655]);\nvar anf_fun1776 = $ans1817;\n$al1818 = L[656];\nvar anf_arg488 = G(lhs$ast1775,\"l\",L[656]);\n$step1815 = 9;\n$al1818 = L[655];\nif(typeof(anf_fun1776.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1776);\n}\n$ans1817 = anf_fun1776.app(anf_arg488);\nbreak;\ncase 9: var anf_arg497 = $ans1817;\n$step1815 = 10;\n$al1818 = L[657];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg486,anf_arg497,(-3));\nbreak;\ncase 10: var anf_arg499 = $ans1817;\n$step1815 = 21;\n$al1818 = L[653];\nif(typeof(anf_fun1777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1777);\n}\n$ans1817 = anf_fun1777.app(anf_arg499);\nbreak;\ncase 11: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[670],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[661],L[662]);\nvar anf_fun1781 = $ans1817;\n$step1815 = 12;\n$al1818 = L[669];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"right side\"));\nbreak;\ncase 12: var anf_arg509 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[663],L[664]);\nvar anf_fun1780 = $ans1817;\n$al1818 = L[665];\nvar anf_bracket1778 = G(test$ast1759,\"right\",L[665]);\n$al1818 = L[666];\nvar anf_bracket1779 = G(anf_bracket1778,\"value\",L[666]);\n$al1818 = L[667];\nvar anf_arg503 = G(anf_bracket1779,\"l\",L[667]);\n$step1815 = 13;\n$al1818 = L[664];\nif(typeof(anf_fun1780.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1780);\n}\n$ans1817 = anf_fun1780.app(anf_arg503);\nbreak;\ncase 13: var anf_arg505 = $ans1817;\n$step1815 = 14;\n$al1818 = L[668];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg509,anf_arg505,(-3));\nbreak;\ncase 14: var anf_arg511 = $ans1817;\n$step1815 = 21;\n$al1818 = L[662];\nif(typeof(anf_fun1781.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1781);\n}\n$ans1817 = anf_fun1781.app(anf_arg511);\nbreak;\ncase 15: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[680],false,L[660],cases1762.$loc);\n}\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[671],L[672]);\nvar anf_fun1786 = $ans1817;\n$step1815 = 16;\n$al1818 = L[679];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\"explanation\"));\nbreak;\ncase 16: var anf_arg512 = $ans1817;\n$ans1817 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[673],L[674]);\nvar anf_fun1784 = $ans1817;\n$al1818 = L[675];\nvar anf_bracket1782 = G(test$ast1759,\"cause\",L[675]);\n$al1818 = L[676];\nvar anf_bracket1783 = G(anf_bracket1782,\"value\",L[676]);\n$al1818 = L[677];\nvar anf_arg529 = G(anf_bracket1783,\"l\",L[677]);\n$step1815 = 17;\n$al1818 = L[674];\nif(typeof(anf_fun1784.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1784);\n}\n$ans1817 = anf_fun1784.app(anf_arg529);\nbreak;\ncase 17: var anf_arg1785 = $ans1817;\n$step1815 = 18;\n$al1818 = L[678];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"highlight\"].app(anf_arg512,anf_arg1785,(-3));\nbreak;\ncase 18: var anf_arg524 = $ans1817;\n$step1815 = 21;\n$al1818 = L[672];\nif(typeof(anf_fun1786.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1786);\n}\n$ans1817 = anf_fun1786.app(anf_arg524);\nbreak;\ncase 19: if(cases1762.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[702],false,L[660],cases1762.$loc);\n}\n$step1815 = 21;\n$al1818 = L[702];\nvar $temp_branch1825 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__660($$resumer13) {\nvar $step1827 = 0;\nvar $elidedFrames1831 = 0;\nvar $ans1828 = D;\nvar $al1829 = L[690];\nif(R.isAR($$resumer13)) {\n$step1827 = $$resumer13.step;\n$al1829 = $$resumer13.from;\n$ans1828 = $$resumer13.ans;\n$elidedFrames1831 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_fun1798 = $$resumer13.vars[0];\nv1788 = $$resumer13.vars[1];\nanf_arg1797 = $$resumer13.vars[2];\nanf_arg522 = $$resumer13.vars[3];\ncases1787 = $$resumer13.vars[4];\nanf_fun1790 = $$resumer13.vars[5];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1828 = R.mC();\n}\nwhile(!R.isContinuation($ans1828)) {\nswitch($step1827) {\ncase 0: $al1829 = L[681];\nvar cases1787 = G(test$ast1759,\"refinement\",L[681]);\n$step1827 = 1;\n$al1829 = L[701];\nvar $ann$check1835 = R._cA(L[701],Option15,cases1787);\nif(R.isContinuation($ann$check1835)) {\n$ans1828 = $ann$check1835;\n}\nbreak;\ncase 1: $al1829 = L[690];\n$step1827 = $cases_dispatch1834[cases1787.$name] || 10;\nbreak;\ncase 2: if(cases1787.$arity !== 1) {\nif(cases1787.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[689],1,cases1787.$arity,L[690],cases1787.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[689],true,L[690],cases1787.$loc);\n}\n}\nvar $fn1833 = cases1787.$constructor.$fieldNames;\nvar v1788 = R.dF(cases1787.dict[$fn1833[0]],cases1787.$mut_fields_mask[0],false);\n$ans1828 = R.getMaker1(list6,(\"make1\"),L[682],L[683]);\nvar anf_fun1790 = $ans1828;\n$step1827 = 3;\n$al1829 = L[688];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"text\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"text\"].app((\"refinement\"));\nbreak;\ncase 3: var anf_arg522 = $ans1828;\n$ans1828 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[684],L[685]);\nvar anf_fun1789 = $ans1828;\n$al1829 = L[686];\nvar anf_arg526 = G(v1788,\"l\",L[686]);\n$step1827 = 4;\n$al1829 = L[685];\nif(typeof(anf_fun1789.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1789);\n}\n$ans1828 = anf_fun1789.app(anf_arg526);\nbreak;\ncase 4: var anf_arg530 = $ans1828;\n$step1827 = 5;\n$al1829 = L[687];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"highlight\"].app(anf_arg522,anf_arg530,(-3));\nbreak;\ncase 5: var anf_arg527 = $ans1828;\n$step1827 = 11;\n$al1829 = L[683];\nif(typeof(anf_fun1790.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1790);\n}\n$ans1828 = anf_fun1790.app(anf_arg527);\nbreak;\ncase 6: if(cases1787.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[700],false,L[690],cases1787.$loc);\n}\n$ans1828 = R.getMaker1(list6,(\"make1\"),L[691],L[692]);\nvar anf_fun1798 = $ans1828;\n$step1827 = 7;\n$al1829 = L[699];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"text\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 7: var anf_arg1797 = $ans1828;\n$ans1828 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[693],L[694]);\nvar anf_fun552 = $ans1828;\n$al1829 = L[695];\nvar anf_bracket1793 = G(test$ast1759,\"right\",L[695]);\n$al1829 = L[696];\nvar anf_bracket1794 = G(anf_bracket1793,\"value\",L[696]);\n$al1829 = L[697];\nvar anf_arg1795 = G(anf_bracket1794,\"l\",L[697]);\n$step1827 = 8;\n$al1829 = L[694];\nif(typeof(anf_fun552.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun552);\n}\n$ans1828 = anf_fun552.app(anf_arg1795);\nbreak;\ncase 8: var anf_arg548 = $ans1828;\n$step1827 = 9;\n$al1829 = L[698];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1828 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1797,anf_arg548,(-3));\nbreak;\ncase 9: var anf_arg545 = $ans1828;\n$step1827 = 11;\n$al1829 = L[692];\nif(typeof(anf_fun1798.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1829,anf_fun1798);\n}\n$ans1828 = anf_fun1798.app(anf_arg545);\nbreak;\ncase 10: $ans1828 = R.throwNoCasesMatched(L[690],cases1787);\n$step1827 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans1828;\ndefault: R.ffi.throwSpinnakerError(L[690],$step1827);\n}\n}\nif($step1827 !== 11) {\n$ans1828.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1829,$temp_branch1825,$step1827,[],[anf_fun1798,v1788,anf_arg1797,anf_arg522,cases1787,anf_fun1790],$elidedFrames1831);\n}\nreturn $ans1828;\n};\n$ans1817 = cases1762.$app_fields($temp_branch1825,[]);\nbreak;\ncase 20: $ans1817 = R.throwNoCasesMatched(L[660],cases1762);\n$step1815 = 21;\nbreak;\ncase 21: var anf_arg546 = $ans1817;\n$step1815 = 22;\n$al1818 = L[651];\n// omitting isFunction check;\n$ans1817 = _plus5.app(anf_arg492,anf_arg546);\nbreak;\ncase 22: var anf_arg549 = $ans1817;\n$ans1817 = R.getMaker1(list6,(\"make1\"),L[644],L[645]);\nvar anf_fun1763 = $ans1817;\n$step1815 = 23;\n$al1818 = L[650];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"text\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"text\"].app((\" to raise an exception:\"));\nbreak;\ncase 23: var anf_arg555 = $ans1817;\n$step1815 = 24;\n$al1818 = L[645];\nif(typeof(anf_fun1763.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1763);\n}\n$ans1817 = anf_fun1763.app(anf_arg555);\nbreak;\ncase 24: var anf_arg551 = $ans1817;\n$step1815 = 25;\n$al1818 = L[649];\n// omitting isFunction check;\n$ans1817 = _plus5.app(anf_arg549,anf_arg551);\nbreak;\ncase 25: var anf_arg556 = $ans1817;\n$step1815 = 26;\n$al1818 = L[648];\nif(typeof(ED23.dict.values.dict[\"paragraph\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"paragraph\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"paragraph\"].app(anf_arg556);\nbreak;\ncase 26: var anf_arg1774 = $ans1817;\n$al1818 = L[646];\nvar anf_arg1771 = G(self1748,\"actual-exn\",L[646]);\n$step1815 = 27;\n$al1818 = L[647];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1817 = ED23.dict.values.dict[\"embed\"].app(anf_arg1771);\nbreak;\ncase 27: var anf_arg569 = $ans1817;\n$step1815 = 28;\n$al1818 = L[637];\nif(typeof(anf_fun1772.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1818,anf_fun1772);\n}\n$ans1817 = anf_fun1772.app(anf_arg1773,anf_arg489,anf_arg1774,anf_arg569);\nbreak;\ncase 28: ++R.GAS;\nreturn $ans1817;\ndefault: R.ffi.throwSpinnakerError(L[634],$step1815);\n}\n}\nif($step1815 !== 28) {\n$ans1817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1818,$temp_branch1814,$step1815,[test$ast1759],[anf_fun1786,anf_fun1777,lhs$ast1775,anf_arg1773,anf_arg492,anf_arg1774,anf_arg486,anf_arg489,anf_arg512,cases1762,anf_arg549,anf_arg509,anf_fun1781,anf_fun1761,anf_fun1772,anf_fun1763],$elidedFrames1820);\n}\nreturn $ans1817;\n};\n$ans1752 = cases1757.$app_fields($temp_branch1814,[false]);\nbreak;\ncase 9: if(cases1757.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[709],false,L[707],cases1757.$loc);\n}\n$step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[708]);\nbreak;\ncase 10: $ans1752 = R.throwNoCasesMatched(L[707],cases1757);\n$step1746 = 12;\nbreak;\ncase 11: $step1746 = 12;\n$ans1752 = R.maybeMethodCall0(self1748,\"render-reason\",L[712]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1752;\ndefault: R.ffi.throwSpinnakerError(L[628],$step1746);\n}\n}\nif($step1746 !== 12) {\n$ans1752.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1753,$temp_full1747,$step1746,[self1748,maybe$stack$loc1749,src$available1750,maybe$ast1751],[cases1757],$elidedFrames1755);\n}\nreturn $ans1752;\n};\nvar anf_variant_member2531 = R.makeMethod3($temp_full1747,\"render-fancy-reason\");\nvar $temp_full1846 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__714($self1269) {\nvar $step1845 = 0;\nvar $elidedFrames1850 = 0;\nvar $ans1847 = D;\nvar $al1848 = L[714];\nif(R.isAR($self1269)) {\n$step1845 = $self1269.step;\n$al1848 = $self1269.from;\n$ans1847 = $self1269.ans;\n$elidedFrames1850 = $self1269.elidedFrames;\nself1269 = $self1269.args[0];\nanf_fun1853 = $self1269.vars[0];\nanf_fun1851 = $self1269.vars[1];\nanf_arg1855 = $self1269.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[714],1,$t,true);\n}\nvar self1269 = $self1269;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1847 = R.mC();\n}\nwhile(!R.isContinuation($ans1847)) {\nswitch($step1845) {\ncase 0: $ans1847 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[715],L[716]);\nvar anf_fun1853 = $ans1847;\n$ans1847 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[717],L[718]);\nvar anf_fun1851 = $ans1847;\n$step1845 = 1;\n$al1848 = L[721];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,ED23.dict.values.dict[\"text\"]);\n}\n$ans1847 = ED23.dict.values.dict[\"text\"].app((\"Got unexpected exception \"));\nbreak;\ncase 1: var anf_arg1852 = $ans1847;\n$step1845 = 2;\n$al1848 = L[718];\nif(typeof(anf_fun1851.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,anf_fun1851);\n}\n$ans1847 = anf_fun1851.app(anf_arg1852);\nbreak;\ncase 2: var anf_arg1855 = $ans1847;\n$al1848 = L[719];\nvar anf_arg570 = G(self1269,\"actual-exn\",L[719]);\n$step1845 = 3;\n$al1848 = L[720];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1847 = ED23.dict.values.dict[\"embed\"].app(anf_arg570);\nbreak;\ncase 3: var anf_arg603 = $ans1847;\n$step1845 = 4;\n$al1848 = L[716];\nif(typeof(anf_fun1853.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1848,anf_fun1853);\n}\n$ans1847 = anf_fun1853.app(anf_arg1855,anf_arg603);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans1847;\ndefault: R.ffi.throwSpinnakerError(L[714],$step1845);\n}\n}\nif($step1845 !== 4) {\n$ans1847.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1848,$temp_full1846,$step1845,[self1269],[anf_fun1853,anf_fun1851,anf_arg1855],$elidedFrames1850);\n}\nreturn $ans1847;\n};\nvar anf_variant_member2532 = R.makeMethod0($temp_full1846,\"render-reason\");\nvar $temp_full1858 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__722($self1859,$get$stack1860) {\nvar $step1857 = 0;\nvar $elidedFrames1865 = 0;\nvar $ans1862 = D;\nvar $al1863 = L[722];\nif(R.isAR($self1859)) {\n$step1857 = $self1859.step;\n$al1863 = $self1859.from;\n$ans1862 = $self1859.ans;\n$elidedFrames1865 = $self1859.elidedFrames;\nself1859 = $self1859.args[0];\nget$stack1860 = $self1859.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[722],2,$t,true);\n}\nvar self1859 = $self1859;\nvar get$stack1860 = $get$stack1860;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1862 = R.mC();\n}\nwhile(!R.isContinuation($ans1862)) {\nswitch($step1857) {\ncase 0: $al1863 = L[723];\nvar anf_arg604 = G(self1859,\"actual-exn\",L[723]);\n$step1857 = 1;\n$al1863 = L[724];\nif(typeof(get$stack1860.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1863,get$stack1860);\n}\n$ans1862 = get$stack1860.app(anf_arg604);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans1862;\ndefault: R.ffi.throwSpinnakerError(L[722],$step1857);\n}\n}\nif($step1857 !== 1) {\n$ans1862.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1863,$temp_full1858,$step1857,[self1859,get$stack1860],[],$elidedFrames1865);\n}\nreturn $ans1862;\n};\nvar anf_variant_member2533 = R.makeMethod1($temp_full1858,\"access-stack\");\nvar $temp_full1868 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__725($self1869) {\nvar $step1867 = 0;\nvar $elidedFrames1873 = 0;\nvar $ans1870 = D;\nvar $al1871 = L[725];\nif(R.isAR($self1869)) {\n$step1867 = $self1869.step;\n$al1871 = $self1869.from;\n$ans1870 = $self1869.ans;\n$elidedFrames1873 = $self1869.elidedFrames;\nself1869 = $self1869.args[0];\nanf_fun1874 = $self1869.vars[0];\nanf_arg1884 = $self1869.vars[1];\nanf_arg579 = $self1869.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[725],1,$t,true);\n}\nvar self1869 = $self1869;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1870 = R.mC();\n}\nwhile(!R.isContinuation($ans1870)) {\nswitch($step1867) {\ncase 0: $ans1870 = R.getMaker3(list6,(\"make3\"),L[726],L[727]);\nvar anf_fun1874 = $ans1870;\n$al1871 = L[728];\nvar anf_arg588 = G(self1869,\"loc\",L[728]);\n$step1867 = 1;\n$al1871 = L[735];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg588);\nbreak;\ncase 1: var anf_arg1884 = $ans1870;\n$al1871 = L[729];\nvar anf_arg572 = G(self1869,\"actual-exn\",L[729]);\n$step1867 = 2;\n$al1871 = L[734];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,exn$unwrap2);\n}\n$ans1870 = exn$unwrap2.app(anf_arg572);\nbreak;\ncase 2: var anf_arg578 = $ans1870;\n$step1867 = 3;\n$al1871 = L[733];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg578);\nbreak;\ncase 3: var anf_arg579 = $ans1870;\n$al1871 = L[730];\nvar anf_arg580 = G(self1869,\"exn-place\",L[730]);\n$step1867 = 4;\n$al1871 = L[732];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg580);\nbreak;\ncase 4: var anf_arg581 = $ans1870;\n$step1867 = 5;\n$al1871 = L[727];\nif(typeof(anf_fun1874.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,anf_fun1874);\n}\n$ans1870 = anf_fun1874.app(anf_arg1884,anf_arg579,anf_arg581);\nbreak;\ncase 5: var anf_arg582 = $ans1870;\n$step1867 = 6;\n$al1871 = L[731];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1871,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans1870 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-exn\"),anf_arg582);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans1870;\ndefault: R.ffi.throwSpinnakerError(L[725],$step1867);\n}\n}\nif($step1867 !== 6) {\n$ans1870.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1871,$temp_full1868,$step1867,[self1869],[anf_fun1874,anf_arg1884,anf_arg579],$elidedFrames1873);\n}\nreturn $ans1870;\n};\nvar anf_variant_member2534 = R.makeMethod0($temp_full1868,\"_output\");\nvar $temp_full1889 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__736($self1890,$maybe$stack$loc1891,$src$available1892,$maybe$ast1893) {\nvar $step1888 = 0;\nvar $elidedFrames1897 = 0;\nvar $ans1894 = D;\nvar $al1895 = L[736];\nif(R.isAR($self1890)) {\n$step1888 = $self1890.step;\n$al1895 = $self1890.from;\n$ans1894 = $self1890.ans;\n$elidedFrames1897 = $self1890.elidedFrames;\nself1890 = $self1890.args[0];\nmaybe$stack$loc1891 = $self1890.args[1];\nsrc$available1892 = $self1890.args[2];\nmaybe$ast1893 = $self1890.args[3];\ncases1899 = $self1890.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[736],4,$t,true);\n}\nvar self1890 = $self1890;\nvar maybe$stack$loc1891 = $maybe$stack$loc1891;\nvar src$available1892 = $src$available1892;\nvar maybe$ast1893 = $maybe$ast1893;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1894 = R.mC();\n}\nwhile(!R.isContinuation($ans1894)) {\nswitch($step1888) {\ncase 0: $al1895 = L[737];\nvar anf_method_obj1898 = G(self1890,\"loc\",L[737]);\n$step1888 = 1;\n$ans1894 = R.maybeMethodCall0(anf_method_obj1898,\"is-builtin\",L[738]);\nbreak;\ncase 1: var anf_if1962 = $ans1894;\n$step1888 = R.checkPyretTrue(anf_if1962)?2:3;\nbreak;\ncase 2: $step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[739]);\nbreak;\ncase 3: $al1895 = L[740];\nvar anf_arg584 = G(self1890,\"loc\",L[740]);\n$step1888 = 4;\n$al1895 = L[785];\nif(typeof(src$available1892.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1895,src$available1892);\n}\n$ans1894 = src$available1892.app(anf_arg584);\nbreak;\ncase 4: var anf_if1961 = $ans1894;\n$step1888 = R.checkPyretTrue(anf_if1961)?5:11;\nbreak;\ncase 5: $al1895 = L[741];\nvar anf_arg589 = G(self1890,\"loc\",L[741]);\n$step1888 = 6;\n$al1895 = L[783];\nif(typeof(maybe$ast1893.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1895,maybe$ast1893);\n}\n$ans1894 = maybe$ast1893.app(anf_arg589);\nbreak;\ncase 6: var cases1899 = $ans1894;\n$step1888 = 7;\n$al1895 = L[782];\nvar $ann$check1960 = R._cA(L[782],Option15,cases1899);\nif(R.isContinuation($ann$check1960)) {\n$ans1894 = $ann$check1960;\n}\nbreak;\ncase 7: $al1895 = L[779];\n$step1888 = $cases_dispatch1959[cases1899.$name] || 10;\nbreak;\ncase 8: if(cases1899.$arity !== 1) {\nif(cases1899.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[778],1,cases1899.$arity,L[779],cases1899.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[778],true,L[779],cases1899.$loc);\n}\n}\n$step1888 = 12;\n$al1895 = L[778];\nvar $temp_branch1943 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__779($test$ast1901) {\nvar $step1944 = 0;\nvar $elidedFrames1948 = 0;\nvar $ans1945 = D;\nvar $al1946 = L[742];\nif(R.isAR($test$ast1901)) {\n$step1944 = $test$ast1901.step;\n$al1946 = $test$ast1901.from;\n$ans1945 = $test$ast1901.ans;\n$elidedFrames1948 = $test$ast1901.elidedFrames;\ntest$ast1901 = $test$ast1901.args[0];\ncases1906 = $test$ast1901.vars[0];\ned$exn1911 = $test$ast1901.vars[1];\nanf_fun1923 = $test$ast1901.vars[2];\nexn$ast1903 = $test$ast1901.vars[3];\nanf_arg1940 = $test$ast1901.vars[4];\nanf_arg1905 = $test$ast1901.vars[5];\nanf_arg616 = $test$ast1901.vars[6];\nanf_fun641 = $test$ast1901.vars[7];\n} else {\nvar test$ast1901 = $test$ast1901;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1945 = R.mC();\n}\nwhile(!R.isContinuation($ans1945)) {\nswitch($step1944) {\ncase 0: $al1946 = L[742];\nvar anf_method_obj1900 = G(self1890,\"exn-src\",L[742]);\n$step1944 = 1;\n$ans1945 = R.maybeMethodCall1(anf_method_obj1900,\"test-component\",L[743],test$ast1901);\nbreak;\ncase 1: var exn$ast1903 = $ans1945;\n$al1946 = L[744];\nvar anf_method_obj1902 = G(self1890,\"exn-src\",L[744]);\n$step1944 = 2;\n$ans1945 = R.maybeMethodCall0(anf_method_obj1902,\"side\",L[745]);\nbreak;\ncase 2: var anf_arg592 = $ans1945;\n$step1944 = 3;\n$al1946 = L[777];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"text\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"text\"].app(anf_arg592);\nbreak;\ncase 3: var anf_arg1905 = $ans1945;\n$ans1945 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[746],L[747]);\nvar anf_fun1904 = $ans1945;\n$al1946 = L[748];\nvar anf_arg593 = G(exn$ast1903,\"l\",L[748]);\n$step1944 = 4;\n$al1946 = L[747];\nif(typeof(anf_fun1904.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun1904);\n}\n$ans1945 = anf_fun1904.app(anf_arg593);\nbreak;\ncase 4: var anf_arg600 = $ans1945;\n$step1944 = 5;\n$al1946 = L[776];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1905,anf_arg600,(3));\nbreak;\ncase 5: var ed$exn1911 = $ans1945;\n$al1946 = L[749];\nvar cases1906 = G(self1890,\"exn-expected\",L[749]);\n$step1944 = 6;\n$al1946 = L[775];\nvar $ann$check1957 = R._cA(L[775],Option15,cases1906);\nif(R.isContinuation($ann$check1957)) {\n$ans1945 = $ann$check1957;\n}\nbreak;\ncase 6: $al1946 = L[764];\n$step1944 = $cases_dispatch1956[cases1906.$name] || 13;\nbreak;\ncase 7: if(cases1906.$arity !== 1) {\nif(cases1906.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[763],1,cases1906.$arity,L[764],cases1906.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[763],true,L[764],cases1906.$loc);\n}\n}\n$step1944 = 14;\n$al1946 = L[763];\nvar $temp_branch1949 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__764($exn1912) {\nvar $step1950 = 0;\nvar $elidedFrames1954 = 0;\nvar $ans1951 = D;\nvar $al1952 = L[751];\nif(R.isAR($exn1912)) {\n$step1950 = $exn1912.step;\n$al1952 = $exn1912.from;\n$ans1951 = $exn1912.ans;\n$elidedFrames1954 = $exn1912.elidedFrames;\nexn1912 = $exn1912.args[0];\nanf_fun1913 = $exn1912.vars[0];\nanf_arg1910 = $exn1912.vars[1];\nanf_fun1909 = $exn1912.vars[2];\nanf_arg606 = $exn1912.vars[3];\nanf_arg607 = $exn1912.vars[4];\nanf_arg609 = $exn1912.vars[5];\n} else {\nvar exn1912 = $exn1912;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1951 = R.mC();\n}\nwhile(!R.isContinuation($ans1951)) {\nswitch($step1950) {\ncase 0: $ans1951 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[750],L[751]);\nvar anf_fun1913 = $ans1951;\n$al1952 = L[752];\nvar anf_method_obj1907 = G(self1890,\"exn-src\",L[752]);\n$step1950 = 1;\n$ans1951 = R.maybeMethodCall1(anf_method_obj1907,\"test-preamble\",L[753],test$ast1901);\nbreak;\ncase 1: var anf_arg606 = $ans1951;\n$al1952 = L[754];\nvar anf_arg1908 = G(self1890,\"loc\",L[754]);\n$step1950 = 2;\n$al1952 = L[762];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1908);\nbreak;\ncase 2: var anf_arg607 = $ans1951;\n$ans1951 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[755],L[756]);\nvar anf_fun1909 = $ans1951;\n$step1950 = 3;\n$al1952 = L[761];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\"No exception raised while evaluating the \"));\nbreak;\ncase 3: var anf_arg1910 = $ans1951;\n$al1952 = L[757];\nvar anf_if1914 = G(self1890,\"wanted\",L[757]);\n$step1950 = R.checkPyretTrue(anf_if1914)?4:5;\nbreak;\ncase 4: $step1950 = 6;\n$al1952 = L[759];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\", expected\"));\nbreak;\ncase 5: $step1950 = 6;\n$al1952 = L[760];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"text\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"text\"].app((\", expected any exception other than\"));\nbreak;\ncase 6: var anf_arg608 = $ans1951;\n$step1950 = 7;\n$al1952 = L[756];\nif(typeof(anf_fun1909.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,anf_fun1909);\n}\n$ans1951 = anf_fun1909.app(anf_arg1910,ed$exn1911,anf_arg608);\nbreak;\ncase 7: var anf_arg609 = $ans1951;\n$step1950 = 8;\n$al1952 = L[758];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1951 = ED23.dict.values.dict[\"embed\"].app(exn1912);\nbreak;\ncase 8: var anf_arg614 = $ans1951;\n$step1950 = 9;\n$al1952 = L[751];\nif(typeof(anf_fun1913.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1952,anf_fun1913);\n}\n$ans1951 = anf_fun1913.app(anf_arg606,anf_arg607,anf_arg609,anf_arg614);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1951;\ndefault: R.ffi.throwSpinnakerError(L[751],$step1950);\n}\n}\nif($step1950 !== 9) {\n$ans1951.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1952,$temp_branch1949,$step1950,[exn1912],[anf_fun1913,anf_arg1910,anf_fun1909,anf_arg606,anf_arg607,anf_arg609],$elidedFrames1954);\n}\nreturn $ans1951;\n};\n$ans1945 = cases1906.$app_fields($temp_branch1949,[false]);\nbreak;\ncase 8: if(cases1906.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[774],false,L[764],cases1906.$loc);\n}\n$ans1945 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[765],L[766]);\nvar anf_fun1923 = $ans1945;\n$al1946 = L[767];\nvar anf_method_obj1922 = G(self1890,\"exn-src\",L[767]);\n$step1944 = 9;\n$ans1945 = R.maybeMethodCall1(anf_method_obj1922,\"test-preamble\",L[768],test$ast1901);\nbreak;\ncase 9: var anf_arg616 = $ans1945;\n$al1946 = L[769];\nvar anf_arg620 = G(self1890,\"loc\",L[769]);\n$step1944 = 10;\n$al1946 = L[773];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg620);\nbreak;\ncase 10: var anf_arg1940 = $ans1945;\n$ans1945 = R.getMaker2(ED23.dict.values.dict[\"para\"],(\"make2\"),L[770],L[771]);\nvar anf_fun641 = $ans1945;\n$step1944 = 11;\n$al1946 = L[772];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,ED23.dict.values.dict[\"text\"]);\n}\n$ans1945 = ED23.dict.values.dict[\"text\"].app((\"No exception raised while evaluating the \"));\nbreak;\ncase 11: var anf_arg633 = $ans1945;\n$step1944 = 12;\n$al1946 = L[771];\nif(typeof(anf_fun641.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun641);\n}\n$ans1945 = anf_fun641.app(anf_arg633,ed$exn1911);\nbreak;\ncase 12: var anf_arg642 = $ans1945;\n$step1944 = 14;\n$al1946 = L[766];\nif(typeof(anf_fun1923.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1946,anf_fun1923);\n}\n$ans1945 = anf_fun1923.app(anf_arg616,anf_arg1940,anf_arg642);\nbreak;\ncase 13: $ans1945 = R.throwNoCasesMatched(L[764],cases1906);\n$step1944 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans1945;\ndefault: R.ffi.throwSpinnakerError(L[742],$step1944);\n}\n}\nif($step1944 !== 14) {\n$ans1945.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1946,$temp_branch1943,$step1944,[test$ast1901],[cases1906,ed$exn1911,anf_fun1923,exn$ast1903,anf_arg1940,anf_arg1905,anf_arg616,anf_fun641],$elidedFrames1948);\n}\nreturn $ans1945;\n};\n$ans1894 = cases1899.$app_fields($temp_branch1943,[false]);\nbreak;\ncase 9: if(cases1899.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[781],false,L[779],cases1899.$loc);\n}\n$step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[780]);\nbreak;\ncase 10: $ans1894 = R.throwNoCasesMatched(L[779],cases1899);\n$step1888 = 12;\nbreak;\ncase 11: $step1888 = 12;\n$ans1894 = R.maybeMethodCall0(self1890,\"render-reason\",L[784]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans1894;\ndefault: R.ffi.throwSpinnakerError(L[736],$step1888);\n}\n}\nif($step1888 !== 12) {\n$ans1894.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1895,$temp_full1889,$step1888,[self1890,maybe$stack$loc1891,src$available1892,maybe$ast1893],[cases1899],$elidedFrames1897);\n}\nreturn $ans1894;\n};\nvar anf_variant_member2544 = R.makeMethod3($temp_full1889,\"render-fancy-reason\");\nvar $temp_full1965 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__786($self1966) {\nvar $step1964 = 0;\nvar $elidedFrames1970 = 0;\nvar $ans1967 = D;\nvar $al1968 = L[786];\nif(R.isAR($self1966)) {\n$step1964 = $self1966.step;\n$al1968 = $self1966.from;\n$ans1967 = $self1966.ans;\n$elidedFrames1970 = $self1966.elidedFrames;\nself1966 = $self1966.args[0];\ncases1971 = $self1966.vars[0];\nanf_fun668 = $self1966.vars[1];\nanf_fun1993 = $self1966.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[786],1,$t,true);\n}\nvar self1966 = $self1966;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1967 = R.mC();\n}\nwhile(!R.isContinuation($ans1967)) {\nswitch($step1964) {\ncase 0: $al1968 = L[787];\nvar cases1971 = G(self1966,\"exn-expected\",L[787]);\n$step1964 = 1;\n$al1968 = L[810];\nvar $ann$check1995 = R._cA(L[810],Option15,cases1971);\nif(R.isContinuation($ann$check1995)) {\n$ans1967 = $ann$check1995;\n}\nbreak;\ncase 1: $al1968 = L[800];\n$step1964 = $cases_dispatch1994[cases1971.$name] || 8;\nbreak;\ncase 2: if(cases1971.$arity !== 1) {\nif(cases1971.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[799],1,cases1971.$arity,L[800],cases1971.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[799],true,L[800],cases1971.$loc);\n}\n}\n$step1964 = 9;\n$al1968 = L[799];\nvar $temp_branch1980 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__800($exn1975) {\nvar $step1981 = 0;\nvar $elidedFrames1985 = 0;\nvar $ans1982 = D;\nvar $al1983 = L[789];\nif(R.isAR($exn1975)) {\n$step1981 = $exn1975.step;\n$al1983 = $exn1975.from;\n$ans1982 = $exn1975.ans;\n$elidedFrames1985 = $exn1975.elidedFrames;\nexn1975 = $exn1975.args[0];\nanf_fun1973 = $exn1975.vars[0];\nanf_fun1976 = $exn1975.vars[1];\nanf_arg1977 = $exn1975.vars[2];\nanf_arg639 = $exn1975.vars[3];\n} else {\nvar exn1975 = $exn1975;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1982 = R.mC();\n}\nwhile(!R.isContinuation($ans1982)) {\nswitch($step1981) {\ncase 0: $ans1982 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[788],L[789]);\nvar anf_fun1976 = $ans1982;\n$ans1982 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[790],L[791]);\nvar anf_fun1973 = $ans1982;\n$al1983 = L[792];\nvar anf_method_obj1972 = G(self1966,\"exn-src\",L[792]);\n$step1981 = 1;\n$ans1982 = R.maybeMethodCall0(anf_method_obj1972,\"side\",L[793]);\nbreak;\ncase 1: var anf_arg638 = $ans1982;\n$step1981 = 2;\n$al1983 = L[798];\n// omitting isFunction check;\n$ans1982 = _plus5.app((\"No exception raised while evaluating the \"),anf_arg638);\nbreak;\ncase 2: var anf_arg639 = $ans1982;\n$al1983 = L[794];\nvar anf_if1979 = G(self1966,\"wanted\",L[794]);\n$step1981 = R.checkPyretTrue(anf_if1979)?3:4;\nbreak;\ncase 3: $step1981 = 5;\n$ans1982 = (\", expected\");\nbreak;\ncase 4: $step1981 = 5;\n$ans1982 = (\", expected any exception other than\");\nbreak;\ncase 5: var anf_arg640 = $ans1982;\n$step1981 = 6;\n$al1983 = L[797];\n// omitting isFunction check;\n$ans1982 = _plus5.app(anf_arg639,anf_arg640);\nbreak;\ncase 6: var anf_arg645 = $ans1982;\n$step1981 = 7;\n$al1983 = L[796];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,ED23.dict.values.dict[\"text\"]);\n}\n$ans1982 = ED23.dict.values.dict[\"text\"].app(anf_arg645);\nbreak;\ncase 7: var anf_arg1974 = $ans1982;\n$step1981 = 8;\n$al1983 = L[791];\nif(typeof(anf_fun1973.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,anf_fun1973);\n}\n$ans1982 = anf_fun1973.app(anf_arg1974);\nbreak;\ncase 8: var anf_arg1977 = $ans1982;\n$step1981 = 9;\n$al1983 = L[795];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,ED23.dict.values.dict[\"embed\"]);\n}\n$ans1982 = ED23.dict.values.dict[\"embed\"].app(exn1975);\nbreak;\ncase 9: var anf_arg1978 = $ans1982;\n$step1981 = 10;\n$al1983 = L[789];\nif(typeof(anf_fun1976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1983,anf_fun1976);\n}\n$ans1982 = anf_fun1976.app(anf_arg1977,anf_arg1978);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans1982;\ndefault: R.ffi.throwSpinnakerError(L[789],$step1981);\n}\n}\nif($step1981 !== 10) {\n$ans1982.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1983,$temp_branch1980,$step1981,[exn1975],[anf_fun1973,anf_fun1976,anf_arg1977,anf_arg639],$elidedFrames1985);\n}\nreturn $ans1982;\n};\n$ans1967 = cases1971.$app_fields($temp_branch1980,[false]);\nbreak;\ncase 3: if(cases1971.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[809],false,L[800],cases1971.$loc);\n}\n$ans1967 = R.getMaker1(ED23.dict.values.dict[\"error\"],(\"make1\"),L[801],L[802]);\nvar anf_fun668 = $ans1967;\n$ans1967 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[803],L[804]);\nvar anf_fun1993 = $ans1967;\n$al1968 = L[805];\nvar anf_method_obj1987 = G(self1966,\"exn-src\",L[805]);\n$step1964 = 4;\n$ans1967 = R.maybeMethodCall0(anf_method_obj1987,\"side\",L[806]);\nbreak;\ncase 4: var anf_arg1992 = $ans1967;\n$step1964 = 5;\n$al1968 = L[808];\n// omitting isFunction check;\n$ans1967 = _plus5.app((\"No exception raised while evaluating the \"),anf_arg1992);\nbreak;\ncase 5: var anf_arg662 = $ans1967;\n$step1964 = 6;\n$al1968 = L[807];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,ED23.dict.values.dict[\"text\"]);\n}\n$ans1967 = ED23.dict.values.dict[\"text\"].app(anf_arg662);\nbreak;\ncase 6: var anf_arg659 = $ans1967;\n$step1964 = 7;\n$al1968 = L[804];\nif(typeof(anf_fun1993.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,anf_fun1993);\n}\n$ans1967 = anf_fun1993.app(anf_arg659);\nbreak;\ncase 7: var anf_arg660 = $ans1967;\n$step1964 = 9;\n$al1968 = L[802];\nif(typeof(anf_fun668.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1968,anf_fun668);\n}\n$ans1967 = anf_fun668.app(anf_arg660);\nbreak;\ncase 8: $ans1967 = R.throwNoCasesMatched(L[800],cases1971);\n$step1964 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans1967;\ndefault: R.ffi.throwSpinnakerError(L[786],$step1964);\n}\n}\nif($step1964 !== 9) {\n$ans1967.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1968,$temp_full1965,$step1964,[self1966],[cases1971,anf_fun668,anf_fun1993],$elidedFrames1970);\n}\nreturn $ans1967;\n};\nvar anf_variant_member2545 = R.makeMethod0($temp_full1965,\"render-reason\");\nvar $temp_full1999 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__811($self2000,$maybe$stack$loc2001,$src$available2002,$maybe$ast2003) {\nvar $step1998 = 0;\nvar $elidedFrames2009 = 0;\nvar $ans2006 = D;\nvar $al2007 = L[811];\nif(R.isAR($self2000)) {\n$step1998 = $self2000.step;\n$al2007 = $self2000.from;\n$ans2006 = $self2000.ans;\n$elidedFrames2009 = $self2000.elidedFrames;\nself2000 = $self2000.args[0];\nmaybe$stack$loc2001 = $self2000.args[1];\nsrc$available2002 = $self2000.args[2];\nmaybe$ast2003 = $self2000.args[3];\ncases2013 = $self2000.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[811],4,$t,true);\n}\nvar self2000 = $self2000;\nvar maybe$stack$loc2001 = $maybe$stack$loc2001;\nvar src$available2002 = $src$available2002;\nvar maybe$ast2003 = $maybe$ast2003;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2006 = R.mC();\n}\nwhile(!R.isContinuation($ans2006)) {\nswitch($step1998) {\ncase 0: $al2007 = L[812];\nvar anf_method_obj2010 = G(self2000,\"loc\",L[812]);\n$step1998 = 1;\n$ans2006 = R.maybeMethodCall0(anf_method_obj2010,\"is-builtin\",L[813]);\nbreak;\ncase 1: var anf_if2076 = $ans2006;\n$step1998 = R.checkPyretTrue(anf_if2076)?2:3;\nbreak;\ncase 2: $step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[814]);\nbreak;\ncase 3: $al2007 = L[815];\nvar anf_arg667 = G(self2000,\"loc\",L[815]);\n$step1998 = 4;\n$al2007 = L[854];\nif(typeof(src$available2002.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2007,src$available2002);\n}\n$ans2006 = src$available2002.app(anf_arg667);\nbreak;\ncase 4: var anf_if2075 = $ans2006;\n$step1998 = R.checkPyretTrue(anf_if2075)?5:11;\nbreak;\ncase 5: $al2007 = L[816];\nvar anf_arg2012 = G(self2000,\"loc\",L[816]);\n$step1998 = 6;\n$al2007 = L[852];\nif(typeof(maybe$ast2003.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2007,maybe$ast2003);\n}\n$ans2006 = maybe$ast2003.app(anf_arg2012);\nbreak;\ncase 6: var cases2013 = $ans2006;\n$step1998 = 7;\n$al2007 = L[851];\nvar $ann$check2074 = R._cA(L[851],Option15,cases2013);\nif(R.isContinuation($ann$check2074)) {\n$ans2006 = $ann$check2074;\n}\nbreak;\ncase 7: $al2007 = L[848];\n$step1998 = $cases_dispatch2071[cases2013.$name] || 10;\nbreak;\ncase 8: if(cases2013.$arity !== 1) {\nif(cases2013.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[847],1,cases2013.$arity,L[848],cases2013.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[847],true,L[848],cases2013.$loc);\n}\n}\n$step1998 = 12;\n$al2007 = L[847];\nvar $temp_branch2064 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__848($test$ast2015) {\nvar $step2065 = 0;\nvar $elidedFrames2069 = 0;\nvar $ans2066 = D;\nvar $al2067 = L[817];\nif(R.isAR($test$ast2015)) {\n$step2065 = $test$ast2015.step;\n$al2067 = $test$ast2015.from;\n$ans2066 = $test$ast2015.ans;\n$elidedFrames2069 = $test$ast2015.elidedFrames;\ntest$ast2015 = $test$ast2015.args[0];\nanf_arg2022 = $test$ast2015.vars[0];\nlhs$ast2018 = $test$ast2015.vars[1];\nanf_arg680 = $test$ast2015.vars[2];\nanf_arg693 = $test$ast2015.vars[3];\nanf_arg674 = $test$ast2015.vars[4];\nanf_arg678 = $test$ast2015.vars[5];\nanf_fun2061 = $test$ast2015.vars[6];\ned$lhs2060 = $test$ast2015.vars[7];\nanf_fun2063 = $test$ast2015.vars[8];\nrhs$ast2056 = $test$ast2015.vars[9];\ned$rhs2059 = $test$ast2015.vars[10];\nanf_array2062 = $test$ast2015.vars[11];\n} else {\nvar test$ast2015 = $test$ast2015;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2066 = R.mC();\n}\nwhile(!R.isContinuation($ans2066)) {\nswitch($step2065) {\ncase 0: $al2067 = L[817];\nvar anf_method_obj2014 = G(self2000,\"exn-src\",L[817]);\n$step2065 = 1;\n$ans2066 = R.maybeMethodCall1(anf_method_obj2014,\"test-component\",L[818],test$ast2015);\nbreak;\ncase 1: var lhs$ast2018 = $ans2066;\n$al2067 = L[819];\nvar anf_bracket2016 = G(test$ast2015,\"right\",L[819]);\n$al2067 = L[820];\nvar rhs$ast2056 = G(anf_bracket2016,\"value\",L[820]);\n$al2067 = L[821];\nvar anf_method_obj2017 = G(self2000,\"exn-src\",L[821]);\n$step2065 = 2;\n$ans2066 = R.maybeMethodCall0(anf_method_obj2017,\"side\",L[822]);\nbreak;\ncase 2: var anf_arg708 = $ans2066;\n$step2065 = 3;\n$al2067 = L[846];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app(anf_arg708);\nbreak;\ncase 3: var anf_arg2022 = $ans2066;\n$ans2066 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[823],L[824]);\nvar anf_fun2019 = $ans2066;\n$al2067 = L[825];\nvar anf_arg692 = G(lhs$ast2018,\"l\",L[825]);\n$step2065 = 4;\n$al2067 = L[824];\nif(typeof(anf_fun2019.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2019);\n}\n$ans2066 = anf_fun2019.app(anf_arg692);\nbreak;\ncase 4: var anf_arg2055 = $ans2066;\n$step2065 = 5;\n$al2067 = L[845];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"highlight\"].app(anf_arg2022,anf_arg2055,(3));\nbreak;\ncase 5: var ed$lhs2060 = $ans2066;\n$step2065 = 6;\n$al2067 = L[844];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg674 = $ans2066;\n$ans2066 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[826],L[827]);\nvar anf_fun2057 = $ans2066;\n$al2067 = L[828];\nvar anf_arg682 = G(rhs$ast2056,\"l\",L[828]);\n$step2065 = 7;\n$al2067 = L[827];\nif(typeof(anf_fun2057.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2057);\n}\n$ans2066 = anf_fun2057.app(anf_arg682);\nbreak;\ncase 7: var anf_arg683 = $ans2066;\n$step2065 = 8;\n$al2067 = L[843];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"highlight\"].app(anf_arg674,anf_arg683,(4));\nbreak;\ncase 8: var ed$rhs2059 = $ans2066;\n$ans2066 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[829],L[830]);\nvar anf_fun2063 = $ans2066;\n$al2067 = L[831];\nvar anf_method_obj2058 = G(self2000,\"exn-src\",L[831]);\n$step2065 = 9;\n$ans2066 = R.maybeMethodCall1(anf_method_obj2058,\"test-preamble\",L[832],test$ast2015);\nbreak;\ncase 9: var anf_arg678 = $ans2066;\n$al2067 = L[833];\nvar anf_arg686 = G(self2000,\"loc\",L[833]);\n$step2065 = 10;\n$al2067 = L[842];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg686);\nbreak;\ncase 10: var anf_arg680 = $ans2066;\n$ans2066 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[834],L[835]);\nvar anf_fun2061 = $ans2066;\n$ans2066 = R.makeArrayN((7));\nvar anf_array2062 = $ans2066;\n$step2065 = 11;\n$al2067 = L[841];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 11: anf_array2062[0] = $ans2066;\nanf_array2062[1] = ed$rhs2059;\n$step2065 = 12;\n$al2067 = L[840];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" is satisfied when the value of the exception raised by the \"));\nbreak;\ncase 12: anf_array2062[2] = $ans2066;\nanf_array2062[3] = ed$lhs2060;\n$step2065 = 13;\n$al2067 = L[839];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 13: anf_array2062[4] = $ans2066;\nanf_array2062[5] = ed$lhs2060;\n$step2065 = 14;\n$al2067 = L[838];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"text\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"text\"].app((\" was:\"));\nbreak;\ncase 14: anf_array2062[6] = $ans2066;\n$step2065 = 15;\n$al2067 = L[835];\nif(typeof(anf_fun2061.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2061);\n}\n$ans2066 = anf_fun2061.app(anf_array2062);\nbreak;\ncase 15: var anf_arg693 = $ans2066;\n$al2067 = L[836];\nvar anf_arg700 = G(self2000,\"exn\",L[836]);\n$step2065 = 16;\n$al2067 = L[837];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2066 = ED23.dict.values.dict[\"embed\"].app(anf_arg700);\nbreak;\ncase 16: var anf_arg701 = $ans2066;\n$step2065 = 17;\n$al2067 = L[830];\nif(typeof(anf_fun2063.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2067,anf_fun2063);\n}\n$ans2066 = anf_fun2063.app(anf_arg678,anf_arg680,anf_arg693,anf_arg701);\nbreak;\ncase 17: ++R.GAS;\nreturn $ans2066;\ndefault: R.ffi.throwSpinnakerError(L[817],$step2065);\n}\n}\nif($step2065 !== 17) {\n$ans2066.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2067,$temp_branch2064,$step2065,[test$ast2015],[anf_arg2022,lhs$ast2018,anf_arg680,anf_arg693,anf_arg674,anf_arg678,anf_fun2061,ed$lhs2060,anf_fun2063,rhs$ast2056,ed$rhs2059,anf_array2062],$elidedFrames2069);\n}\nreturn $ans2066;\n};\n$ans2006 = cases2013.$app_fields($temp_branch2064,[false]);\nbreak;\ncase 9: if(cases2013.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[850],false,L[848],cases2013.$loc);\n}\n$step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[849]);\nbreak;\ncase 10: $ans2006 = R.throwNoCasesMatched(L[848],cases2013);\n$step1998 = 12;\nbreak;\ncase 11: $step1998 = 12;\n$ans2006 = R.maybeMethodCall0(self2000,\"render-reason\",L[853]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2006;\ndefault: R.ffi.throwSpinnakerError(L[811],$step1998);\n}\n}\nif($step1998 !== 12) {\n$ans2006.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2007,$temp_full1999,$step1998,[self2000,maybe$stack$loc2001,src$available2002,maybe$ast2003],[cases2013],$elidedFrames2009);\n}\nreturn $ans2006;\n};\nvar anf_variant_member2556 = R.makeMethod3($temp_full1999,\"render-fancy-reason\");\nvar $temp_full2079 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__855($self2080) {\nvar $step2078 = 0;\nvar $elidedFrames2084 = 0;\nvar $ans2081 = D;\nvar $al2082 = L[855];\nif(R.isAR($self2080)) {\n$step2078 = $self2080.step;\n$al2082 = $self2080.from;\n$ans2081 = $self2080.ans;\n$elidedFrames2084 = $self2080.elidedFrames;\nself2080 = $self2080.args[0];\nanf_arg702 = $self2080.vars[0];\nanf_fun694 = $self2080.vars[1];\nanf_fun2085 = $self2080.vars[2];\nanf_fun2086 = $self2080.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[855],1,$t,true);\n}\nvar self2080 = $self2080;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2081 = R.mC();\n}\nwhile(!R.isContinuation($ans2081)) {\nswitch($step2078) {\ncase 0: $ans2081 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[856],L[857]);\nvar anf_fun694 = $ans2081;\n$ans2081 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[858],L[859]);\nvar anf_fun2085 = $ans2081;\n$step2078 = 1;\n$al2082 = L[865];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,ED23.dict.values.dict[\"text\"]);\n}\n$ans2081 = ED23.dict.values.dict[\"text\"].app((\"Predicate failed for exception:\"));\nbreak;\ncase 1: var anf_arg697 = $ans2081;\n$step2078 = 2;\n$al2082 = L[859];\nif(typeof(anf_fun2085.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun2085);\n}\n$ans2081 = anf_fun2085.app(anf_arg697);\nbreak;\ncase 2: var anf_arg702 = $ans2081;\n$ans2081 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[860],L[861]);\nvar anf_fun2086 = $ans2081;\n$al2082 = L[862];\nvar anf_arg705 = G(self2080,\"exn\",L[862]);\n$step2078 = 3;\n$al2082 = L[864];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,exn$unwrap2);\n}\n$ans2081 = exn$unwrap2.app(anf_arg705);\nbreak;\ncase 3: var anf_arg710 = $ans2081;\n$step2078 = 4;\n$al2082 = L[863];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2081 = ED23.dict.values.dict[\"embed\"].app(anf_arg710);\nbreak;\ncase 4: var anf_arg2087 = $ans2081;\n$step2078 = 5;\n$al2082 = L[861];\nif(typeof(anf_fun2086.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun2086);\n}\n$ans2081 = anf_fun2086.app(anf_arg2087);\nbreak;\ncase 5: var anf_arg2088 = $ans2081;\n$step2078 = 6;\n$al2082 = L[857];\nif(typeof(anf_fun694.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2082,anf_fun694);\n}\n$ans2081 = anf_fun694.app(anf_arg702,anf_arg2088);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2081;\ndefault: R.ffi.throwSpinnakerError(L[855],$step2078);\n}\n}\nif($step2078 !== 6) {\n$ans2081.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2082,$temp_full2079,$step2078,[self2080],[anf_arg702,anf_fun694,anf_fun2085,anf_fun2086],$elidedFrames2084);\n}\nreturn $ans2081;\n};\nvar anf_variant_member2557 = R.makeMethod0($temp_full2079,\"render-reason\");\nvar $temp_full2091 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__866($self2092) {\nvar $step2090 = 0;\nvar $elidedFrames2096 = 0;\nvar $ans2093 = D;\nvar $al2094 = L[866];\nif(R.isAR($self2092)) {\n$step2090 = $self2092.step;\n$al2094 = $self2092.from;\n$ans2093 = $self2092.ans;\n$elidedFrames2096 = $self2092.elidedFrames;\nself2092 = $self2092.args[0];\nanf_arg724 = $self2092.vars[0];\nanf_arg725 = $self2092.vars[1];\nanf_fun2098 = $self2092.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[866],1,$t,true);\n}\nvar self2092 = $self2092;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2093 = R.mC();\n}\nwhile(!R.isContinuation($ans2093)) {\nswitch($step2090) {\ncase 0: $ans2093 = R.getMaker3(list6,(\"make3\"),L[867],L[868]);\nvar anf_fun2098 = $ans2093;\n$al2094 = L[869];\nvar anf_arg2097 = G(self2092,\"loc\",L[869]);\n$step2090 = 1;\n$al2094 = L[876];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2097);\nbreak;\ncase 1: var anf_arg724 = $ans2093;\n$al2094 = L[870];\nvar anf_arg721 = G(self2092,\"exn\",L[870]);\n$step2090 = 2;\n$al2094 = L[875];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,exn$unwrap2);\n}\n$ans2093 = exn$unwrap2.app(anf_arg721);\nbreak;\ncase 2: var anf_arg722 = $ans2093;\n$step2090 = 3;\n$al2094 = L[874];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg722);\nbreak;\ncase 3: var anf_arg725 = $ans2093;\n$al2094 = L[871];\nvar anf_arg726 = G(self2092,\"pred\",L[871]);\n$step2090 = 4;\n$al2094 = L[873];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg726);\nbreak;\ncase 4: var anf_arg730 = $ans2093;\n$step2090 = 5;\n$al2094 = L[868];\nif(typeof(anf_fun2098.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,anf_fun2098);\n}\n$ans2093 = anf_fun2098.app(anf_arg724,anf_arg725,anf_arg730);\nbreak;\ncase 5: var anf_arg727 = $ans2093;\n$step2090 = 6;\n$al2094 = L[872];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2094,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans2093 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-raise-not-satisfied\"),anf_arg727);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2093;\ndefault: R.ffi.throwSpinnakerError(L[866],$step2090);\n}\n}\nif($step2090 !== 6) {\n$ans2093.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2094,$temp_full2091,$step2090,[self2092],[anf_arg724,anf_arg725,anf_fun2098],$elidedFrames2096);\n}\nreturn $ans2093;\n};\nvar anf_variant_member2558 = R.makeMethod0($temp_full2091,\"_output\");\nvar $temp_full2101 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__877($self1720,$maybe$stack$loc1721,$src$available1722,$maybe$ast1723) {\nvar $step2100 = 0;\nvar $elidedFrames2105 = 0;\nvar $ans2102 = D;\nvar $al2103 = L[877];\nif(R.isAR($self1720)) {\n$step2100 = $self1720.step;\n$al2103 = $self1720.from;\n$ans2102 = $self1720.ans;\n$elidedFrames2105 = $self1720.elidedFrames;\nself1720 = $self1720.args[0];\nmaybe$stack$loc1721 = $self1720.args[1];\nsrc$available1722 = $self1720.args[2];\nmaybe$ast1723 = $self1720.args[3];\ncases2131 = $self1720.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[877],4,$t,true);\n}\nvar self1720 = $self1720;\nvar maybe$stack$loc1721 = $maybe$stack$loc1721;\nvar src$available1722 = $src$available1722;\nvar maybe$ast1723 = $maybe$ast1723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2102 = R.mC();\n}\nwhile(!R.isContinuation($ans2102)) {\nswitch($step2100) {\ncase 0: $al2103 = L[878];\nvar anf_method_obj2106 = G(self1720,\"loc\",L[878]);\n$step2100 = 1;\n$ans2102 = R.maybeMethodCall0(anf_method_obj2106,\"is-builtin\",L[879]);\nbreak;\ncase 1: var anf_if2172 = $ans2102;\n$step2100 = R.checkPyretTrue(anf_if2172)?2:3;\nbreak;\ncase 2: $step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[880]);\nbreak;\ncase 3: $al2103 = L[881];\nvar anf_arg2130 = G(self1720,\"loc\",L[881]);\n$step2100 = 4;\n$al2103 = L[922];\nif(typeof(src$available1722.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2103,src$available1722);\n}\n$ans2102 = src$available1722.app(anf_arg2130);\nbreak;\ncase 4: var anf_if2171 = $ans2102;\n$step2100 = R.checkPyretTrue(anf_if2171)?5:11;\nbreak;\ncase 5: $al2103 = L[882];\nvar anf_arg837 = G(self1720,\"loc\",L[882]);\n$step2100 = 6;\n$al2103 = L[920];\nif(typeof(maybe$ast1723.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2103,maybe$ast1723);\n}\n$ans2102 = maybe$ast1723.app(anf_arg837);\nbreak;\ncase 6: var cases2131 = $ans2102;\n$step2100 = 7;\n$al2103 = L[919];\nvar $ann$check2170 = R._cA(L[919],Option15,cases2131);\nif(R.isContinuation($ann$check2170)) {\n$ans2102 = $ann$check2170;\n}\nbreak;\ncase 7: $al2103 = L[916];\n$step2100 = $cases_dispatch2169[cases2131.$name] || 10;\nbreak;\ncase 8: if(cases2131.$arity !== 1) {\nif(cases2131.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[915],1,cases2131.$arity,L[916],cases2131.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[915],true,L[916],cases2131.$loc);\n}\n}\n$step2100 = 12;\n$al2103 = L[915];\nvar $temp_branch2162 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__916($test$ast2133) {\nvar $step2163 = 0;\nvar $elidedFrames2167 = 0;\nvar $ans2164 = D;\nvar $al2165 = L[883];\nif(R.isAR($test$ast2133)) {\n$step2163 = $test$ast2133.step;\n$al2165 = $test$ast2133.from;\n$ans2164 = $test$ast2133.ans;\n$elidedFrames2167 = $test$ast2133.elidedFrames;\ntest$ast2133 = $test$ast2133.args[0];\nanf_array2145 = $test$ast2133.vars[0];\nlhs$ast2136 = $test$ast2133.vars[1];\nanf_arg2149 = $test$ast2133.vars[2];\nanf_arg761 = $test$ast2133.vars[3];\nanf_arg751 = $test$ast2133.vars[4];\nanf_fun791 = $test$ast2133.vars[5];\ned$rhs2142 = $test$ast2133.vars[6];\nanf_arg749 = $test$ast2133.vars[7];\nanf_fun2144 = $test$ast2133.vars[8];\ned$lhs2143 = $test$ast2133.vars[9];\nrhs$ast2137 = $test$ast2133.vars[10];\nanf_fun2147 = $test$ast2133.vars[11];\nanf_arg2161 = $test$ast2133.vars[12];\n} else {\nvar test$ast2133 = $test$ast2133;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2164 = R.mC();\n}\nwhile(!R.isContinuation($ans2164)) {\nswitch($step2163) {\ncase 0: $al2165 = L[883];\nvar anf_method_obj2132 = G(self1720,\"exn-src\",L[883]);\n$step2163 = 1;\n$ans2164 = R.maybeMethodCall1(anf_method_obj2132,\"test-component\",L[884],test$ast2133);\nbreak;\ncase 1: var lhs$ast2136 = $ans2164;\n$al2165 = L[885];\nvar anf_bracket2134 = G(test$ast2133,\"right\",L[885]);\n$al2165 = L[886];\nvar rhs$ast2137 = G(anf_bracket2134,\"value\",L[886]);\n$al2165 = L[887];\nvar anf_method_obj2135 = G(self1720,\"exn-src\",L[887]);\n$step2163 = 2;\n$ans2164 = R.maybeMethodCall0(anf_method_obj2135,\"side\",L[888]);\nbreak;\ncase 2: var anf_arg744 = $ans2164;\n$step2163 = 3;\n$al2165 = L[914];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app(anf_arg744);\nbreak;\ncase 3: var anf_arg751 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[889],L[890]);\nvar anf_fun745 = $ans2164;\n$al2165 = L[891];\nvar anf_arg748 = G(lhs$ast2136,\"l\",L[891]);\n$step2163 = 4;\n$al2165 = L[890];\nif(typeof(anf_fun745.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun745);\n}\n$ans2164 = anf_fun745.app(anf_arg748);\nbreak;\ncase 4: var anf_arg752 = $ans2164;\n$step2163 = 5;\n$al2165 = L[913];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"highlight\"].app(anf_arg751,anf_arg752,(3));\nbreak;\ncase 5: var ed$lhs2143 = $ans2164;\n$step2163 = 6;\n$al2165 = L[912];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\"predicate\"));\nbreak;\ncase 6: var anf_arg749 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[892],L[893]);\nvar anf_fun2139 = $ans2164;\n$al2165 = L[894];\nvar anf_arg754 = G(rhs$ast2137,\"l\",L[894]);\n$step2163 = 7;\n$al2165 = L[893];\nif(typeof(anf_fun2139.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2139);\n}\n$ans2164 = anf_fun2139.app(anf_arg754);\nbreak;\ncase 7: var anf_arg2140 = $ans2164;\n$step2163 = 8;\n$al2165 = L[911];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"highlight\"].app(anf_arg749,anf_arg2140,(4));\nbreak;\ncase 8: var ed$rhs2142 = $ans2164;\n$ans2164 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[895],L[896]);\nvar anf_fun2147 = $ans2164;\n$ans2164 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[897],L[898]);\nvar anf_fun791 = $ans2164;\n$al2165 = L[899];\nvar anf_method_obj2141 = G(self1720,\"exn-src\",L[899]);\n$step2163 = 9;\n$ans2164 = R.maybeMethodCall1(anf_method_obj2141,\"test-preamble\",L[900],test$ast2133);\nbreak;\ncase 9: var anf_arg792 = $ans2164;\n$step2163 = 10;\n$al2165 = L[898];\nif(typeof(anf_fun791.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun791);\n}\n$ans2164 = anf_fun791.app(anf_arg792);\nbreak;\ncase 10: var anf_arg761 = $ans2164;\n$al2165 = L[901];\nvar anf_arg793 = G(self1720,\"loc\",L[901]);\n$step2163 = 11;\n$al2165 = L[910];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg793);\nbreak;\ncase 11: var anf_arg2149 = $ans2164;\n$ans2164 = R.getMaker(ED23.dict.values.dict[\"para\"],(\"make\"),L[902],L[903]);\nvar anf_fun2144 = $ans2164;\n$ans2164 = R.makeArrayN((7));\nvar anf_array2145 = $ans2164;\n$step2163 = 12;\n$al2165 = L[909];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\"It succeeds only if the \"));\nbreak;\ncase 12: anf_array2145[0] = $ans2164;\nanf_array2145[1] = ed$rhs2142;\n$step2163 = 13;\n$al2165 = L[908];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is not satisfied when the value of the exception raised by the \"));\nbreak;\ncase 13: anf_array2145[2] = $ans2164;\nanf_array2145[3] = ed$lhs2143;\n$step2163 = 14;\n$al2165 = L[907];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is applied to it. The value of the \"));\nbreak;\ncase 14: anf_array2145[4] = $ans2164;\nanf_array2145[5] = ed$lhs2143;\n$step2163 = 15;\n$al2165 = L[906];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"text\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"text\"].app((\" is:\"));\nbreak;\ncase 15: anf_array2145[6] = $ans2164;\n$step2163 = 16;\n$al2165 = L[903];\nif(typeof(anf_fun2144.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2144);\n}\n$ans2164 = anf_fun2144.app(anf_array2145);\nbreak;\ncase 16: var anf_arg2161 = $ans2164;\n$al2165 = L[904];\nvar anf_arg773 = G(self1720,\"exn\",L[904]);\n$step2163 = 17;\n$al2165 = L[905];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2164 = ED23.dict.values.dict[\"embed\"].app(anf_arg773);\nbreak;\ncase 17: var anf_arg775 = $ans2164;\n$step2163 = 18;\n$al2165 = L[896];\nif(typeof(anf_fun2147.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2165,anf_fun2147);\n}\n$ans2164 = anf_fun2147.app(anf_arg761,anf_arg2149,anf_arg2161,anf_arg775);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2164;\ndefault: R.ffi.throwSpinnakerError(L[883],$step2163);\n}\n}\nif($step2163 !== 18) {\n$ans2164.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2165,$temp_branch2162,$step2163,[test$ast2133],[anf_array2145,lhs$ast2136,anf_arg2149,anf_arg761,anf_arg751,anf_fun791,ed$rhs2142,anf_arg749,anf_fun2144,ed$lhs2143,rhs$ast2137,anf_fun2147,anf_arg2161],$elidedFrames2167);\n}\nreturn $ans2164;\n};\n$ans2102 = cases2131.$app_fields($temp_branch2162,[false]);\nbreak;\ncase 9: if(cases2131.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[918],false,L[916],cases2131.$loc);\n}\n$step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[917]);\nbreak;\ncase 10: $ans2102 = R.throwNoCasesMatched(L[916],cases2131);\n$step2100 = 12;\nbreak;\ncase 11: $step2100 = 12;\n$ans2102 = R.maybeMethodCall0(self1720,\"render-reason\",L[921]);\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2102;\ndefault: R.ffi.throwSpinnakerError(L[877],$step2100);\n}\n}\nif($step2100 !== 12) {\n$ans2102.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2103,$temp_full2101,$step2100,[self1720,maybe$stack$loc1721,src$available1722,maybe$ast1723],[cases2131],$elidedFrames2105);\n}\nreturn $ans2102;\n};\nvar anf_variant_member2569 = R.makeMethod3($temp_full2101,\"render-fancy-reason\");\nvar $temp_full2175 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__923($self2176) {\nvar $step2174 = 0;\nvar $elidedFrames2180 = 0;\nvar $ans2177 = D;\nvar $al2178 = L[923];\nif(R.isAR($self2176)) {\n$step2174 = $self2176.step;\n$al2178 = $self2176.from;\n$ans2177 = $self2176.ans;\n$elidedFrames2180 = $self2176.elidedFrames;\nself2176 = $self2176.args[0];\nanf_fun2182 = $self2176.vars[0];\nanf_fun2186 = $self2176.vars[1];\nanf_fun2187 = $self2176.vars[2];\nanf_arg2193 = $self2176.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[923],1,$t,true);\n}\nvar self2176 = $self2176;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2177 = R.mC();\n}\nwhile(!R.isContinuation($ans2177)) {\nswitch($step2174) {\ncase 0: $ans2177 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[924],L[925]);\nvar anf_fun2187 = $ans2177;\n$ans2177 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[926],L[927]);\nvar anf_fun2182 = $ans2177;\n$step2174 = 1;\n$al2178 = L[933];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,ED23.dict.values.dict[\"text\"]);\n}\n$ans2177 = ED23.dict.values.dict[\"text\"].app((\"Predicate succeeded for exception (it should have failed):\"));\nbreak;\ncase 1: var anf_arg2185 = $ans2177;\n$step2174 = 2;\n$al2178 = L[927];\nif(typeof(anf_fun2182.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2182);\n}\n$ans2177 = anf_fun2182.app(anf_arg2185);\nbreak;\ncase 2: var anf_arg2193 = $ans2177;\n$ans2177 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[928],L[929]);\nvar anf_fun2186 = $ans2177;\n$al2178 = L[930];\nvar anf_arg780 = G(self2176,\"exn\",L[930]);\n$step2174 = 3;\n$al2178 = L[932];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,exn$unwrap2);\n}\n$ans2177 = exn$unwrap2.app(anf_arg780);\nbreak;\ncase 3: var anf_arg788 = $ans2177;\n$step2174 = 4;\n$al2178 = L[931];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2177 = ED23.dict.values.dict[\"embed\"].app(anf_arg788);\nbreak;\ncase 4: var anf_arg789 = $ans2177;\n$step2174 = 5;\n$al2178 = L[929];\nif(typeof(anf_fun2186.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2186);\n}\n$ans2177 = anf_fun2186.app(anf_arg789);\nbreak;\ncase 5: var anf_arg794 = $ans2177;\n$step2174 = 6;\n$al2178 = L[925];\nif(typeof(anf_fun2187.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2178,anf_fun2187);\n}\n$ans2177 = anf_fun2187.app(anf_arg2193,anf_arg794);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2177;\ndefault: R.ffi.throwSpinnakerError(L[923],$step2174);\n}\n}\nif($step2174 !== 6) {\n$ans2177.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2178,$temp_full2175,$step2174,[self2176],[anf_fun2182,anf_fun2186,anf_fun2187,anf_arg2193],$elidedFrames2180);\n}\nreturn $ans2177;\n};\nvar anf_variant_member2570 = R.makeMethod0($temp_full2175,\"render-reason\");\nvar $temp_full2196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__934($self2197) {\nvar $step2195 = 0;\nvar $elidedFrames2202 = 0;\nvar $ans2199 = D;\nvar $al2200 = L[934];\nif(R.isAR($self2197)) {\n$step2195 = $self2197.step;\n$al2200 = $self2197.from;\n$ans2199 = $self2197.ans;\n$elidedFrames2202 = $self2197.elidedFrames;\nself2197 = $self2197.args[0];\nanf_fun2205 = $self2197.vars[0];\nanf_arg810 = $self2197.vars[1];\nanf_arg819 = $self2197.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[934],1,$t,true);\n}\nvar self2197 = $self2197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2199 = R.mC();\n}\nwhile(!R.isContinuation($ans2199)) {\nswitch($step2195) {\ncase 0: $ans2199 = R.getMaker3(list6,(\"make3\"),L[935],L[936]);\nvar anf_fun2205 = $ans2199;\n$al2200 = L[937];\nvar anf_arg2203 = G(self2197,\"loc\",L[937]);\n$step2195 = 1;\n$al2200 = L[944];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2203);\nbreak;\ncase 1: var anf_arg810 = $ans2199;\n$al2200 = L[938];\nvar anf_arg818 = G(self2197,\"exn\",L[938]);\n$step2195 = 2;\n$al2200 = L[943];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,exn$unwrap2);\n}\n$ans2199 = exn$unwrap2.app(anf_arg818);\nbreak;\ncase 2: var anf_arg811 = $ans2199;\n$step2195 = 3;\n$al2200 = L[942];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg811);\nbreak;\ncase 3: var anf_arg819 = $ans2199;\n$al2200 = L[939];\nvar anf_arg2204 = G(self2197,\"pred\",L[939]);\n$step2195 = 4;\n$al2200 = L[941];\nif(typeof(VS29.dict.values.dict[\"vs-value\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-value\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-value\"].app(anf_arg2204);\nbreak;\ncase 4: var anf_arg813 = $ans2199;\n$step2195 = 5;\n$al2200 = L[936];\nif(typeof(anf_fun2205.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,anf_fun2205);\n}\n$ans2199 = anf_fun2205.app(anf_arg810,anf_arg819,anf_arg813);\nbreak;\ncase 5: var anf_arg820 = $ans2199;\n$step2195 = 6;\n$al2200 = L[940];\nif(typeof(VS29.dict.values.dict[\"vs-constr\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2200,VS29.dict.values.dict[\"vs-constr\"]);\n}\n$ans2199 = VS29.dict.values.dict[\"vs-constr\"].app((\"failure-raise-not-dissatisfied\"),anf_arg820);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans2199;\ndefault: R.ffi.throwSpinnakerError(L[934],$step2195);\n}\n}\nif($step2195 !== 6) {\n$ans2199.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2200,$temp_full2196,$step2195,[self2197],[anf_fun2205,anf_arg810,anf_arg819],$elidedFrames2202);\n}\nreturn $ans2199;\n};\nvar anf_variant_member2571 = R.makeMethod0($temp_full2196,\"_output\");\nvar $temp_full2208 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__945($self2209,$maybe$stack$loc2210,$src$available2211,$maybe$ast2212) {\nvar $step2207 = 0;\nvar $elidedFrames2216 = 0;\nvar $ans2213 = D;\nvar $al2214 = L[945];\nif(R.isAR($self2209)) {\n$step2207 = $self2209.step;\n$al2214 = $self2209.from;\n$ans2213 = $self2209.ans;\n$elidedFrames2216 = $self2209.elidedFrames;\nself2209 = $self2209.args[0];\nmaybe$stack$loc2210 = $self2209.args[1];\nsrc$available2211 = $self2209.args[2];\nmaybe$ast2212 = $self2209.args[3];\nanf_fun2227 = $self2209.vars[0];\nanf_fun2217 = $self2209.vars[1];\nanf_arg849 = $self2209.vars[2];\nanf_fun2226 = $self2209.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[945],4,$t,true);\n}\nvar self2209 = $self2209;\nvar maybe$stack$loc2210 = $maybe$stack$loc2210;\nvar src$available2211 = $src$available2211;\nvar maybe$ast2212 = $maybe$ast2212;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2213 = R.mC();\n}\nwhile(!R.isContinuation($ans2213)) {\nswitch($step2207) {\ncase 0: $ans2213 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[946],L[947]);\nvar anf_fun2227 = $ans2213;\n$ans2213 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[948],L[949]);\nvar anf_fun2217 = $ans2213;\n$step2207 = 1;\n$al2214 = L[954];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,ED23.dict.values.dict[\"text\"]);\n}\n$ans2213 = ED23.dict.values.dict[\"text\"].app((\"The custom equality function must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2222 = $ans2213;\n$step2207 = 2;\n$al2214 = L[949];\nif(typeof(anf_fun2217.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2217);\n}\n$ans2213 = anf_fun2217.app(anf_arg2222);\nbreak;\ncase 2: var anf_arg849 = $ans2213;\n$ans2213 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[950],L[951]);\nvar anf_fun2226 = $ans2213;\n$al2214 = L[952];\nvar anf_arg2225 = G(self2209,\"test-result\",L[952]);\n$step2207 = 3;\n$al2214 = L[953];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2213 = ED23.dict.values.dict[\"embed\"].app(anf_arg2225);\nbreak;\ncase 3: var anf_arg852 = $ans2213;\n$step2207 = 4;\n$al2214 = L[951];\nif(typeof(anf_fun2226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2226);\n}\n$ans2213 = anf_fun2226.app(anf_arg852);\nbreak;\ncase 4: var anf_arg856 = $ans2213;\n$step2207 = 5;\n$al2214 = L[947];\nif(typeof(anf_fun2227.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2214,anf_fun2227);\n}\n$ans2213 = anf_fun2227.app(anf_arg849,anf_arg856);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2213;\ndefault: R.ffi.throwSpinnakerError(L[945],$step2207);\n}\n}\nif($step2207 !== 5) {\n$ans2213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2214,$temp_full2208,$step2207,[self2209,maybe$stack$loc2210,src$available2211,maybe$ast2212],[anf_fun2227,anf_fun2217,anf_arg849,anf_fun2226],$elidedFrames2216);\n}\nreturn $ans2213;\n};\nvar anf_variant_member2582 = R.makeMethod3($temp_full2208,\"render-fancy-reason\");\nvar $temp_full2230 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__955($self2231) {\nvar $step2229 = 0;\nvar $elidedFrames2236 = 0;\nvar $ans2233 = D;\nvar $al2234 = L[955];\nif(R.isAR($self2231)) {\n$step2229 = $self2231.step;\n$al2234 = $self2231.from;\n$ans2233 = $self2231.ans;\n$elidedFrames2236 = $self2231.elidedFrames;\nself2231 = $self2231.args[0];\nanf_fun2240 = $self2231.vars[0];\nanf_fun2237 = $self2231.vars[1];\nanf_arg870 = $self2231.vars[2];\nanf_fun2239 = $self2231.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[955],1,$t,true);\n}\nvar self2231 = $self2231;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2233 = R.mC();\n}\nwhile(!R.isContinuation($ans2233)) {\nswitch($step2229) {\ncase 0: $ans2233 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[956],L[957]);\nvar anf_fun2240 = $ans2233;\n$ans2233 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[958],L[959]);\nvar anf_fun2237 = $ans2233;\n$step2229 = 1;\n$al2234 = L[964];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,ED23.dict.values.dict[\"text\"]);\n}\n$ans2233 = ED23.dict.values.dict[\"text\"].app((\"The custom equality function must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2238 = $ans2233;\n$step2229 = 2;\n$al2234 = L[959];\nif(typeof(anf_fun2237.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2237);\n}\n$ans2233 = anf_fun2237.app(anf_arg2238);\nbreak;\ncase 2: var anf_arg870 = $ans2233;\n$ans2233 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[960],L[961]);\nvar anf_fun2239 = $ans2233;\n$al2234 = L[962];\nvar anf_arg894 = G(self2231,\"test-result\",L[962]);\n$step2229 = 3;\n$al2234 = L[963];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2233 = ED23.dict.values.dict[\"embed\"].app(anf_arg894);\nbreak;\ncase 3: var anf_arg897 = $ans2233;\n$step2229 = 4;\n$al2234 = L[961];\nif(typeof(anf_fun2239.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2239);\n}\n$ans2233 = anf_fun2239.app(anf_arg897);\nbreak;\ncase 4: var anf_arg2244 = $ans2233;\n$step2229 = 5;\n$al2234 = L[957];\nif(typeof(anf_fun2240.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2234,anf_fun2240);\n}\n$ans2233 = anf_fun2240.app(anf_arg870,anf_arg2244);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2233;\ndefault: R.ffi.throwSpinnakerError(L[955],$step2229);\n}\n}\nif($step2229 !== 5) {\n$ans2233.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2234,$temp_full2230,$step2229,[self2231],[anf_fun2240,anf_fun2237,anf_arg870,anf_fun2239],$elidedFrames2236);\n}\nreturn $ans2233;\n};\nvar anf_variant_member2583 = R.makeMethod0($temp_full2230,\"render-reason\");\nvar $temp_full2247 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__965($self2248,$maybe$stack$loc2249,$src$available2250,$maybe$ast2251) {\nvar $step2246 = 0;\nvar $elidedFrames2255 = 0;\nvar $ans2252 = D;\nvar $al2253 = L[965];\nif(R.isAR($self2248)) {\n$step2246 = $self2248.step;\n$al2253 = $self2248.from;\n$ans2252 = $self2248.ans;\n$elidedFrames2255 = $self2248.elidedFrames;\nself2248 = $self2248.args[0];\nmaybe$stack$loc2249 = $self2248.args[1];\nsrc$available2250 = $self2248.args[2];\nmaybe$ast2251 = $self2248.args[3];\ncases2257 = $self2248.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[965],4,$t,true);\n}\nvar self2248 = $self2248;\nvar maybe$stack$loc2249 = $maybe$stack$loc2249;\nvar src$available2250 = $src$available2250;\nvar maybe$ast2251 = $maybe$ast2251;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2252 = R.mC();\n}\nwhile(!R.isContinuation($ans2252)) {\nswitch($step2246) {\ncase 0: $al2253 = L[966];\nvar anf_method_obj2256 = G(self2248,\"loc\",L[966]);\n$step2246 = 1;\n$ans2252 = R.maybeMethodCall0(anf_method_obj2256,\"is-builtin\",L[967]);\nbreak;\ncase 1: var anf_if2310 = $ans2252;\n$step2246 = R.checkPyretTrue(anf_if2310)?2:3;\nbreak;\ncase 2: $step2246 = 12;\n$ans2252 = R.maybeMethodCall0(self2248,\"render-reason\",L[968]);\nbreak;\ncase 3: $al2253 = L[969];\nvar anf_arg873 = G(self2248,\"loc\",L[969]);\n$step2246 = 4;\n$al2253 = L[1015];\nif(typeof(src$available2250.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2253,src$available2250);\n}\n$ans2252 = src$available2250.app(anf_arg873);\nbreak;\ncase 4: var anf_if2309 = $ans2252;\n$step2246 = R.checkPyretTrue(anf_if2309)?5:11;\nbreak;\ncase 5: $al2253 = L[970];\nvar anf_arg874 = G(self2248,\"loc\",L[970]);\n$step2246 = 6;\n$al2253 = L[1013];\nif(typeof(maybe$ast2251.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2253,maybe$ast2251);\n}\n$ans2252 = maybe$ast2251.app(anf_arg874);\nbreak;\ncase 6: var cases2257 = $ans2252;\n$step2246 = 7;\n$al2253 = L[1012];\nvar $ann$check2308 = R._cA(L[1012],Option15,cases2257);\nif(R.isContinuation($ann$check2308)) {\n$ans2252 = $ann$check2308;\n}\nbreak;\ncase 7: $al2253 = L[995];\n$step2246 = $cases_dispatch2307[cases2257.$name] || 10;\nbreak;\ncase 8: if(cases2257.$arity !== 1) {\nif(cases2257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[994],1,cases2257.$arity,L[995],cases2257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[994],true,L[995],cases2257.$loc);\n}\n}\n$step2246 = 12;\n$al2253 = L[994];\nvar $temp_branch2271 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__995($test$ast2258) {\nvar $step2273 = 0;\nvar $elidedFrames2278 = 0;\nvar $ans2275 = D;\nvar $al2276 = L[993];\nif(R.isAR($test$ast2258)) {\n$step2273 = $test$ast2258.step;\n$al2276 = $test$ast2258.from;\n$ans2275 = $test$ast2258.ans;\n$elidedFrames2278 = $test$ast2258.elidedFrames;\ntest$ast2258 = $test$ast2258.args[0];\nanf_arg882 = $test$ast2258.vars[0];\nanf_arg886 = $test$ast2258.vars[1];\nanf_arg916 = $test$ast2258.vars[2];\nanf_fun2264 = $test$ast2258.vars[3];\nanf_fun875 = $test$ast2258.vars[4];\npred$lhs2265 = $test$ast2258.vars[5];\nanf_arg909 = $test$ast2258.vars[6];\nanf_arg2270 = $test$ast2258.vars[7];\nanf_fun2268 = $test$ast2258.vars[8];\nanf_fun2269 = $test$ast2258.vars[9];\n} else {\nvar test$ast2258 = $test$ast2258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2275 = R.mC();\n}\nwhile(!R.isContinuation($ans2275)) {\nswitch($step2273) {\ncase 0: $step2273 = 1;\n$al2276 = L[993];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"test predicate\"));\nbreak;\ncase 1: var anf_arg882 = $ans2275;\n$ans2275 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[971],L[972]);\nvar anf_fun875 = $ans2275;\n$step2273 = 2;\n$al2276 = L[973];\nvar $obj2279 = on$right260.$var;\nvar $field2280 = R.gCFL($obj2279,\"test-component\",L[973]);\nif(R.isM($field2280)) {\n$ans2275 = $field2280.full_meth($obj2279,test$ast2258);\n} else {\nif(typeof($field2280.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[973],$field2280);\n}\n$ans2275 = $field2280.app(test$ast2258);\n}\nbreak;\ncase 2: var anf_bracket2261 = $ans2275;\n$al2276 = L[974];\nvar anf_arg883 = G(anf_bracket2261,\"l\",L[974]);\n$step2273 = 3;\n$al2276 = L[972];\nif(typeof(anf_fun875.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun875);\n}\n$ans2275 = anf_fun875.app(anf_arg883);\nbreak;\ncase 3: var anf_arg2262 = $ans2275;\n$step2273 = 4;\n$al2276 = L[992];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"highlight\"].app(anf_arg882,anf_arg2262,(2));\nbreak;\ncase 4: var pred$lhs2265 = $ans2275;\n$ans2275 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[975],L[976]);\nvar anf_fun2269 = $ans2275;\n$ans2275 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[977],L[978]);\nvar anf_fun2264 = $ans2275;\n$step2273 = 5;\n$al2276 = L[991];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 5: var anf_arg886 = $ans2275;\n$al2276 = L[979];\nvar anf_arg890 = G(self2248,\"arity\",L[979]);\n$step2273 = 6;\n$al2276 = L[990];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,to$string1);\n}\n$ans2275 = to$string1.app(anf_arg890);\nbreak;\ncase 6: var anf_arg2263 = $ans2275;\n$step2273 = 7;\n$al2276 = L[989];\n// omitting isFunction check;\n$ans2275 = _plus5.app((\" must be a \"),anf_arg2263);\nbreak;\ncase 7: var anf_arg888 = $ans2275;\n$step2273 = 8;\n$al2276 = L[988];\n// omitting isFunction check;\n$ans2275 = _plus5.app(anf_arg888,(\"-argument function that returns a boolean:\"));\nbreak;\ncase 8: var anf_arg891 = $ans2275;\n$step2273 = 9;\n$al2276 = L[987];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app(anf_arg891);\nbreak;\ncase 9: var anf_arg2266 = $ans2275;\n$step2273 = 10;\n$al2276 = L[978];\nif(typeof(anf_fun2264.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2264);\n}\n$ans2275 = anf_fun2264.app(anf_arg886,pred$lhs2265,anf_arg2266);\nbreak;\ncase 10: var anf_arg2270 = $ans2275;\n$al2276 = L[980];\nvar anf_arg907 = G(self2248,\"loc\",L[980]);\n$step2273 = 11;\n$al2276 = L[986];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg907);\nbreak;\ncase 11: var anf_arg909 = $ans2275;\n$ans2275 = R.getMaker2(ED23.dict.values.dict[\"para\"],(\"make2\"),L[981],L[982]);\nvar anf_fun2268 = $ans2275;\n$step2273 = 12;\n$al2276 = L[985];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"text\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"text\"].app((\"Instead it was: \"));\nbreak;\ncase 12: var anf_arg916 = $ans2275;\n$al2276 = L[983];\nvar anf_arg2267 = G(self2248,\"predicate\",L[983]);\n$step2273 = 13;\n$al2276 = L[984];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2275 = ED23.dict.values.dict[\"embed\"].app(anf_arg2267);\nbreak;\ncase 13: var anf_arg914 = $ans2275;\n$step2273 = 14;\n$al2276 = L[982];\nif(typeof(anf_fun2268.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2268);\n}\n$ans2275 = anf_fun2268.app(anf_arg916,anf_arg914);\nbreak;\ncase 14: var anf_arg917 = $ans2275;\n$step2273 = 15;\n$al2276 = L[976];\nif(typeof(anf_fun2269.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2276,anf_fun2269);\n}\n$ans2275 = anf_fun2269.app(anf_arg2270,anf_arg909,anf_arg917);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans2275;\ndefault: R.ffi.throwSpinnakerError(L[993],$step2273);\n}\n}\nif($step2273 !== 15) {\n$ans2275.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2276,$temp_branch2271,$step2273,[test$ast2258],[anf_arg882,anf_arg886,anf_arg916,anf_fun2264,anf_fun875,pred$lhs2265,anf_arg909,anf_arg2270,anf_fun2268,anf_fun2269],$elidedFrames2278);\n}\nreturn $ans2275;\n};\n$ans2252 = cases2257.$app_fields($temp_branch2271,[false]);\nbreak;\ncase 9: if(cases2257.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1011],false,L[995],cases2257.$loc);\n}\n$step2246 = 12;\n$al2253 = L[1011];\nvar $temp_branch2299 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__995($$resumer13) {\nvar $step2301 = 0;\nvar $elidedFrames2305 = 0;\nvar $ans2302 = D;\nvar $al2303 = L[997];\nif(R.isAR($$resumer13)) {\n$step2301 = $$resumer13.step;\n$al2303 = $$resumer13.from;\n$ans2302 = $$resumer13.ans;\n$elidedFrames2305 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg945 = $$resumer13.vars[0];\nanf_arg947 = $$resumer13.vars[1];\nanf_fun2284 = $$resumer13.vars[2];\nanf_fun2285 = $$resumer13.vars[3];\nanf_fun943 = $$resumer13.vars[4];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2302 = R.mC();\n}\nwhile(!R.isContinuation($ans2302)) {\nswitch($step2301) {\ncase 0: $ans2302 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[996],L[997]);\nvar anf_fun2285 = $ans2302;\n$ans2302 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[998],L[999]);\nvar anf_fun2284 = $ans2302;\n$al2303 = L[1000];\nvar anf_arg2282 = G(self2248,\"arity\",L[1000]);\n$step2301 = 1;\n$al2303 = L[1010];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,to$string1);\n}\n$ans2302 = to$string1.app(anf_arg2282);\nbreak;\ncase 1: var anf_arg2283 = $ans2302;\n$step2301 = 2;\n$al2303 = L[1009];\n// omitting isFunction check;\n$ans2302 = _plus5.app((\"The test predicate must be a \"),anf_arg2283);\nbreak;\ncase 2: var anf_arg939 = $ans2302;\n$step2301 = 3;\n$al2303 = L[1008];\n// omitting isFunction check;\n$ans2302 = _plus5.app(anf_arg939,(\"-argument function that returns a boolean, but instead it was: \"));\nbreak;\ncase 3: var anf_arg937 = $ans2302;\n$step2301 = 4;\n$al2303 = L[1007];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"text\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"text\"].app(anf_arg937);\nbreak;\ncase 4: var anf_arg942 = $ans2302;\n$step2301 = 5;\n$al2303 = L[999];\nif(typeof(anf_fun2284.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun2284);\n}\n$ans2302 = anf_fun2284.app(anf_arg942);\nbreak;\ncase 5: var anf_arg947 = $ans2302;\n$ans2302 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1001],L[1002]);\nvar anf_fun943 = $ans2302;\n$al2303 = L[1003];\nvar anf_arg944 = G(self2248,\"predicate\",L[1003]);\n$step2301 = 6;\n$al2303 = L[1006];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"embed\"].app(anf_arg944);\nbreak;\ncase 6: var anf_arg948 = $ans2302;\n$step2301 = 7;\n$al2303 = L[1002];\nif(typeof(anf_fun943.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun943);\n}\n$ans2302 = anf_fun943.app(anf_arg948);\nbreak;\ncase 7: var anf_arg945 = $ans2302;\n$al2303 = L[1004];\nvar anf_arg949 = G(self2248,\"loc\",L[1004]);\n$step2301 = 8;\n$al2303 = L[1005];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2302 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg949);\nbreak;\ncase 8: var anf_arg2298 = $ans2302;\n$step2301 = 9;\n$al2303 = L[997];\nif(typeof(anf_fun2285.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2303,anf_fun2285);\n}\n$ans2302 = anf_fun2285.app(anf_arg947,anf_arg945,anf_arg2298);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans2302;\ndefault: R.ffi.throwSpinnakerError(L[997],$step2301);\n}\n}\nif($step2301 !== 9) {\n$ans2302.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2303,$temp_branch2299,$step2301,[],[anf_arg945,anf_arg947,anf_fun2284,anf_fun2285,anf_fun943],$elidedFrames2305);\n}\nreturn $ans2302;\n};\n$ans2252 = cases2257.$app_fields($temp_branch2299,[]);\nbreak;\ncase 10: $ans2252 = R.throwNoCasesMatched(L[995],cases2257);\n$step2246 = 12;\nbreak;\ncase 11: $ans2252 = R.throwNoBranchesMatched(L[1014],(\"if\"));\n$step2246 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2252;\ndefault: R.ffi.throwSpinnakerError(L[965],$step2246);\n}\n}\nif($step2246 !== 12) {\n$ans2252.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2253,$temp_full2247,$step2246,[self2248,maybe$stack$loc2249,src$available2250,maybe$ast2251],[cases2257],$elidedFrames2255);\n}\nreturn $ans2252;\n};\nvar anf_variant_member5749 = R.makeMethod3($temp_full2247,\"render-fancy-reason\");\nvar $temp_full2313 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1016($self2314) {\nvar $step2312 = 0;\nvar $elidedFrames2318 = 0;\nvar $ans2315 = D;\nvar $al2316 = L[1016];\nif(R.isAR($self2314)) {\n$step2312 = $self2314.step;\n$al2316 = $self2314.from;\n$ans2315 = $self2314.ans;\n$elidedFrames2318 = $self2314.elidedFrames;\nself2314 = $self2314.args[0];\nanf_fun2319 = $self2314.vars[0];\nanf_arg980 = $self2314.vars[1];\nanf_fun976 = $self2314.vars[2];\nanf_fun979 = $self2314.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1016],1,$t,true);\n}\nvar self2314 = $self2314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2315 = R.mC();\n}\nwhile(!R.isContinuation($ans2315)) {\nswitch($step2312) {\ncase 0: $ans2315 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[1017],L[1018]);\nvar anf_fun979 = $ans2315;\n$ans2315 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1019],L[1020]);\nvar anf_fun976 = $ans2315;\n$al2316 = L[1021];\nvar anf_arg972 = G(self2314,\"arity\",L[1021]);\n$step2312 = 1;\n$al2316 = L[1029];\nif(typeof(to$string1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,to$string1);\n}\n$ans2315 = to$string1.app(anf_arg972);\nbreak;\ncase 1: var anf_arg973 = $ans2315;\n$step2312 = 2;\n$al2316 = L[1028];\n// omitting isFunction check;\n$ans2315 = _plus5.app((\"The test predicate must be a \"),anf_arg973);\nbreak;\ncase 2: var anf_arg974 = $ans2315;\n$step2312 = 3;\n$al2316 = L[1027];\n// omitting isFunction check;\n$ans2315 = _plus5.app(anf_arg974,(\"-argument function that returns a boolean, but instead it was: \"));\nbreak;\ncase 3: var anf_arg975 = $ans2315;\n$step2312 = 4;\n$al2316 = L[1026];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,ED23.dict.values.dict[\"text\"]);\n}\n$ans2315 = ED23.dict.values.dict[\"text\"].app(anf_arg975);\nbreak;\ncase 4: var anf_arg977 = $ans2315;\n$step2312 = 5;\n$al2316 = L[1020];\nif(typeof(anf_fun976.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun976);\n}\n$ans2315 = anf_fun976.app(anf_arg977);\nbreak;\ncase 5: var anf_arg980 = $ans2315;\n$ans2315 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1022],L[1023]);\nvar anf_fun2319 = $ans2315;\n$al2316 = L[1024];\nvar anf_arg981 = G(self2314,\"predicate\",L[1024]);\n$step2312 = 6;\n$al2316 = L[1025];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2315 = ED23.dict.values.dict[\"embed\"].app(anf_arg981);\nbreak;\ncase 6: var anf_arg982 = $ans2315;\n$step2312 = 7;\n$al2316 = L[1023];\nif(typeof(anf_fun2319.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun2319);\n}\n$ans2315 = anf_fun2319.app(anf_arg982);\nbreak;\ncase 7: var anf_arg2320 = $ans2315;\n$step2312 = 8;\n$al2316 = L[1018];\nif(typeof(anf_fun979.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2316,anf_fun979);\n}\n$ans2315 = anf_fun979.app(anf_arg980,anf_arg2320);\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2315;\ndefault: R.ffi.throwSpinnakerError(L[1016],$step2312);\n}\n}\nif($step2312 !== 8) {\n$ans2315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2316,$temp_full2313,$step2312,[self2314],[anf_fun2319,anf_arg980,anf_fun976,anf_fun979],$elidedFrames2318);\n}\nreturn $ans2315;\n};\nvar anf_variant_member2597 = R.makeMethod0($temp_full2313,\"render-reason\");\nvar $temp_full2326 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1030($self2327,$maybe$stack$loc2328,$src$available2329,$maybe$ast2330) {\nvar $step2325 = 0;\nvar $elidedFrames2336 = 0;\nvar $ans2333 = D;\nvar $al2334 = L[1030];\nif(R.isAR($self2327)) {\n$step2325 = $self2327.step;\n$al2334 = $self2327.from;\n$ans2333 = $self2327.ans;\n$elidedFrames2336 = $self2327.elidedFrames;\nself2327 = $self2327.args[0];\nmaybe$stack$loc2328 = $self2327.args[1];\nsrc$available2329 = $self2327.args[2];\nmaybe$ast2330 = $self2327.args[3];\ncases2342 = $self2327.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1030],4,$t,true);\n}\nvar self2327 = $self2327;\nvar maybe$stack$loc2328 = $maybe$stack$loc2328;\nvar src$available2329 = $src$available2329;\nvar maybe$ast2330 = $maybe$ast2330;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2333 = R.mC();\n}\nwhile(!R.isContinuation($ans2333)) {\nswitch($step2325) {\ncase 0: $al2334 = L[1031];\nvar anf_method_obj2339 = G(self2327,\"loc\",L[1031]);\n$step2325 = 1;\n$ans2333 = R.maybeMethodCall0(anf_method_obj2339,\"is-builtin\",L[1032]);\nbreak;\ncase 1: var anf_if2417 = $ans2333;\n$step2325 = R.checkPyretTrue(anf_if2417)?2:3;\nbreak;\ncase 2: $step2325 = 12;\n$ans2333 = R.maybeMethodCall0(self2327,\"render-reason\",L[1033]);\nbreak;\ncase 3: $al2334 = L[1034];\nvar anf_arg1011 = G(self2327,\"loc\",L[1034]);\n$step2325 = 4;\n$al2334 = L[1088];\nif(typeof(src$available2329.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2334,src$available2329);\n}\n$ans2333 = src$available2329.app(anf_arg1011);\nbreak;\ncase 4: var anf_if2416 = $ans2333;\n$step2325 = R.checkPyretTrue(anf_if2416)?5:11;\nbreak;\ncase 5: $al2334 = L[1035];\nvar anf_arg2341 = G(self2327,\"loc\",L[1035]);\n$step2325 = 6;\n$al2334 = L[1086];\nif(typeof(maybe$ast2330.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2334,maybe$ast2330);\n}\n$ans2333 = maybe$ast2330.app(anf_arg2341);\nbreak;\ncase 6: var cases2342 = $ans2333;\n$step2325 = 7;\n$al2334 = L[1085];\nvar $ann$check2415 = R._cA(L[1085],Option15,cases2342);\nif(R.isContinuation($ann$check2415)) {\n$ans2333 = $ann$check2415;\n}\nbreak;\ncase 7: $al2334 = L[1066];\n$step2325 = $cases_dispatch2414[cases2342.$name] || 10;\nbreak;\ncase 8: if(cases2342.$arity !== 1) {\nif(cases2342.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1065],1,cases2342.$arity,L[1066],cases2342.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1065],true,L[1066],cases2342.$loc);\n}\n}\n$step2325 = 12;\n$al2334 = L[1065];\nvar $temp_branch2385 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1066($test$ast2344) {\nvar $step2386 = 0;\nvar $elidedFrames2390 = 0;\nvar $ans2387 = D;\nvar $al2388 = L[1036];\nif(R.isAR($test$ast2344)) {\n$step2386 = $test$ast2344.step;\n$al2388 = $test$ast2344.from;\n$ans2387 = $test$ast2344.ans;\n$elidedFrames2390 = $test$ast2344.elidedFrames;\ntest$ast2344 = $test$ast2344.args[0];\nanf_arg2350 = $test$ast2344.vars[0];\nanf_arg2384 = $test$ast2344.vars[1];\nlhs$ast2346 = $test$ast2344.vars[2];\nanf_arg1022 = $test$ast2344.vars[3];\nanf_arg1001 = $test$ast2344.vars[4];\nanf_arg2365 = $test$ast2344.vars[5];\nanf_arg2377 = $test$ast2344.vars[6];\nanf_arg1027 = $test$ast2344.vars[7];\nanf_fun2360 = $test$ast2344.vars[8];\nanf_fun2382 = $test$ast2344.vars[9];\ned$lhs2381 = $test$ast2344.vars[10];\nanf_fun2362 = $test$ast2344.vars[11];\nanf_fun2375 = $test$ast2344.vars[12];\npred$lhs2366 = $test$ast2344.vars[13];\n} else {\nvar test$ast2344 = $test$ast2344;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2387 = R.mC();\n}\nwhile(!R.isContinuation($ans2387)) {\nswitch($step2386) {\ncase 0: $al2388 = L[1036];\nvar anf_method_obj2343 = G(self2327,\"left-src\",L[1036]);\n$step2386 = 1;\n$ans2387 = R.maybeMethodCall1(anf_method_obj2343,\"test-component\",L[1037],test$ast2344);\nbreak;\ncase 1: var lhs$ast2346 = $ans2387;\n$al2388 = L[1038];\nvar anf_method_obj2345 = G(self2327,\"left-src\",L[1038]);\n$step2386 = 2;\n$ans2387 = R.maybeMethodCall0(anf_method_obj2345,\"side\",L[1039]);\nbreak;\ncase 2: var anf_arg999 = $ans2387;\n$step2386 = 3;\n$al2388 = L[1064];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app(anf_arg999);\nbreak;\ncase 3: var anf_arg2350 = $ans2387;\n$ans2387 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[1040],L[1041]);\nvar anf_fun2347 = $ans2387;\n$al2388 = L[1042];\nvar anf_arg1000 = G(lhs$ast2346,\"l\",L[1042]);\n$step2386 = 4;\n$al2388 = L[1041];\nif(typeof(anf_fun2347.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2347);\n}\n$ans2387 = anf_fun2347.app(anf_arg1000);\nbreak;\ncase 4: var anf_arg2356 = $ans2387;\n$step2386 = 5;\n$al2388 = L[1063];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"highlight\"].app(anf_arg2350,anf_arg2356,(3));\nbreak;\ncase 5: var ed$lhs2381 = $ans2387;\n$step2386 = 6;\n$al2388 = L[1062];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"test predicate\"));\nbreak;\ncase 6: var anf_arg1001 = $ans2387;\n$ans2387 = R.getMaker1(ED23.dict.values.dict[\"locs\"],(\"make1\"),L[1043],L[1044]);\nvar anf_fun2360 = $ans2387;\n$step2386 = 7;\n$al2388 = L[1045];\nvar $obj2391 = on$right260.$var;\nvar $field2392 = R.gCFL($obj2391,\"test-component\",L[1045]);\nif(R.isM($field2392)) {\n$ans2387 = $field2392.full_meth($obj2391,test$ast2344);\n} else {\nif(typeof($field2392.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1045],$field2392);\n}\n$ans2387 = $field2392.app(test$ast2344);\n}\nbreak;\ncase 7: var anf_bracket2359 = $ans2387;\n$al2388 = L[1046];\nvar anf_arg1007 = G(anf_bracket2359,\"l\",L[1046]);\n$step2386 = 8;\n$al2388 = L[1044];\nif(typeof(anf_fun2360.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2360);\n}\n$ans2387 = anf_fun2360.app(anf_arg1007);\nbreak;\ncase 8: var anf_arg2361 = $ans2387;\n$step2386 = 9;\n$al2388 = L[1061];\nif(typeof(ED23.dict.values.dict[\"highlight\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"highlight\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"highlight\"].app(anf_arg1001,anf_arg2361,(4));\nbreak;\ncase 9: var pred$lhs2366 = $ans2387;\n$ans2387 = R.getMaker3(ED23.dict.values.dict[\"error\"],(\"make3\"),L[1047],L[1048]);\nvar anf_fun2382 = $ans2387;\n$ans2387 = R.getMaker3(ED23.dict.values.dict[\"para\"],(\"make3\"),L[1049],L[1050]);\nvar anf_fun2362 = $ans2387;\n$step2386 = 10;\n$al2388 = L[1060];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"The \"));\nbreak;\ncase 10: var anf_arg2365 = $ans2387;\n$step2386 = 11;\n$al2388 = L[1059];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\" must return a boolean:\"));\nbreak;\ncase 11: var anf_arg2368 = $ans2387;\n$step2386 = 12;\n$al2388 = L[1050];\nif(typeof(anf_fun2362.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2362);\n}\n$ans2387 = anf_fun2362.app(anf_arg2365,pred$lhs2366,anf_arg2368);\nbreak;\ncase 12: var anf_arg1022 = $ans2387;\n$al2388 = L[1051];\nvar anf_arg1026 = G(self2327,\"loc\",L[1051]);\n$step2386 = 13;\n$al2388 = L[1058];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg1026);\nbreak;\ncase 13: var anf_arg2384 = $ans2387;\n$ans2387 = R.getMaker4(ED23.dict.values.dict[\"para\"],(\"make4\"),L[1052],L[1053]);\nvar anf_fun2375 = $ans2387;\n$step2386 = 14;\n$al2388 = L[1057];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\"Instead it returned \"));\nbreak;\ncase 14: var anf_arg1027 = $ans2387;\n$al2388 = L[1054];\nvar anf_arg2374 = G(self2327,\"test-result\",L[1054]);\n$step2386 = 15;\n$al2388 = L[1056];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"embed\"].app(anf_arg2374);\nbreak;\ncase 15: var anf_arg2377 = $ans2387;\n$step2386 = 16;\n$al2388 = L[1055];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,ED23.dict.values.dict[\"text\"]);\n}\n$ans2387 = ED23.dict.values.dict[\"text\"].app((\" when applied to the \"));\nbreak;\ncase 16: var anf_arg2380 = $ans2387;\n$step2386 = 17;\n$al2388 = L[1053];\nif(typeof(anf_fun2375.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2375);\n}\n$ans2387 = anf_fun2375.app(anf_arg1027,anf_arg2377,anf_arg2380,ed$lhs2381);\nbreak;\ncase 17: var anf_arg1144 = $ans2387;\n$step2386 = 18;\n$al2388 = L[1048];\nif(typeof(anf_fun2382.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2388,anf_fun2382);\n}\n$ans2387 = anf_fun2382.app(anf_arg1022,anf_arg2384,anf_arg1144);\nbreak;\ncase 18: ++R.GAS;\nreturn $ans2387;\ndefault: R.ffi.throwSpinnakerError(L[1036],$step2386);\n}\n}\nif($step2386 !== 18) {\n$ans2387.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2388,$temp_branch2385,$step2386,[test$ast2344],[anf_arg2350,anf_arg2384,lhs$ast2346,anf_arg1022,anf_arg1001,anf_arg2365,anf_arg2377,anf_arg1027,anf_fun2360,anf_fun2382,ed$lhs2381,anf_fun2362,anf_fun2375,pred$lhs2366],$elidedFrames2390);\n}\nreturn $ans2387;\n};\n$ans2333 = cases2342.$app_fields($temp_branch2385,[false]);\nbreak;\ncase 9: if(cases2342.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1084],false,L[1066],cases2342.$loc);\n}\n$step2325 = 12;\n$al2334 = L[1084];\nvar $temp_branch2407 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1066($$resumer13) {\nvar $step2408 = 0;\nvar $elidedFrames2412 = 0;\nvar $ans2409 = D;\nvar $al2410 = L[1068];\nif(R.isAR($$resumer13)) {\n$step2408 = $$resumer13.step;\n$al2410 = $$resumer13.from;\n$ans2409 = $$resumer13.ans;\n$elidedFrames2412 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanf_arg1044 = $$resumer13.vars[0];\nanf_arg2406 = $$resumer13.vars[1];\nanf_fun2394 = $$resumer13.vars[2];\nanf_fun2396 = $$resumer13.vars[3];\nanf_fun2399 = $$resumer13.vars[4];\nanf_arg1050 = $$resumer13.vars[5];\nanf_fun2401 = $$resumer13.vars[6];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2409 = R.mC();\n}\nwhile(!R.isContinuation($ans2409)) {\nswitch($step2408) {\ncase 0: $ans2409 = R.getMaker4(ED23.dict.values.dict[\"error\"],(\"make4\"),L[1067],L[1068]);\nvar anf_fun2401 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1069],L[1070]);\nvar anf_fun2394 = $ans2409;\n$step2408 = 1;\n$al2410 = L[1083];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"text\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"text\"].app((\"The test predicate must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg2395 = $ans2409;\n$step2408 = 2;\n$al2410 = L[1070];\nif(typeof(anf_fun2394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2394);\n}\n$ans2409 = anf_fun2394.app(anf_arg2395);\nbreak;\ncase 2: var anf_arg2406 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1071],L[1072]);\nvar anf_fun2396 = $ans2409;\n$al2410 = L[1073];\nvar anf_arg1047 = G(self2327,\"test-result\",L[1073]);\n$step2408 = 3;\n$al2410 = L[1082];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"embed\"].app(anf_arg1047);\nbreak;\ncase 3: var anf_arg2397 = $ans2409;\n$step2408 = 4;\n$al2410 = L[1072];\nif(typeof(anf_fun2396.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2396);\n}\n$ans2409 = anf_fun2396.app(anf_arg2397);\nbreak;\ncase 4: var anf_arg1044 = $ans2409;\n$ans2409 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1074],L[1075]);\nvar anf_fun2399 = $ans2409;\n$al2410 = L[1076];\nvar anf_method_obj2398 = G(self2327,\"left-src\",L[1076]);\n$step2408 = 5;\n$ans2409 = R.maybeMethodCall0(anf_method_obj2398,\"side\",L[1077]);\nbreak;\ncase 5: var anf_arg1045 = $ans2409;\n$step2408 = 6;\n$al2410 = L[1081];\n// omitting isFunction check;\n$ans2409 = _plus5.app((\"when applied to the \"),anf_arg1045);\nbreak;\ncase 6: var anf_arg1048 = $ans2409;\n$step2408 = 7;\n$al2410 = L[1080];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"text\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"text\"].app(anf_arg1048);\nbreak;\ncase 7: var anf_arg1049 = $ans2409;\n$step2408 = 8;\n$al2410 = L[1075];\nif(typeof(anf_fun2399.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2399);\n}\n$ans2409 = anf_fun2399.app(anf_arg1049);\nbreak;\ncase 8: var anf_arg1050 = $ans2409;\n$al2410 = L[1078];\nvar anf_arg2400 = G(self2327,\"loc\",L[1078]);\n$step2408 = 9;\n$al2410 = L[1079];\nif(typeof(ED23.dict.values.dict[\"cmcode\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,ED23.dict.values.dict[\"cmcode\"]);\n}\n$ans2409 = ED23.dict.values.dict[\"cmcode\"].app(anf_arg2400);\nbreak;\ncase 9: var anf_arg1051 = $ans2409;\n$step2408 = 10;\n$al2410 = L[1068];\nif(typeof(anf_fun2401.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2410,anf_fun2401);\n}\n$ans2409 = anf_fun2401.app(anf_arg2406,anf_arg1044,anf_arg1050,anf_arg1051);\nbreak;\ncase 10: ++R.GAS;\nreturn $ans2409;\ndefault: R.ffi.throwSpinnakerError(L[1068],$step2408);\n}\n}\nif($step2408 !== 10) {\n$ans2409.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2410,$temp_branch2407,$step2408,[],[anf_arg1044,anf_arg2406,anf_fun2394,anf_fun2396,anf_fun2399,anf_arg1050,anf_fun2401],$elidedFrames2412);\n}\nreturn $ans2409;\n};\n$ans2333 = cases2342.$app_fields($temp_branch2407,[]);\nbreak;\ncase 10: $ans2333 = R.throwNoCasesMatched(L[1066],cases2342);\n$step2325 = 12;\nbreak;\ncase 11: $ans2333 = R.throwNoBranchesMatched(L[1087],(\"if\"));\n$step2325 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans2333;\ndefault: R.ffi.throwSpinnakerError(L[1030],$step2325);\n}\n}\nif($step2325 !== 12) {\n$ans2333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2334,$temp_full2326,$step2325,[self2327,maybe$stack$loc2328,src$available2329,maybe$ast2330],[cases2342],$elidedFrames2336);\n}\nreturn $ans2333;\n};\nvar anf_variant_member2607 = R.makeMethod3($temp_full2326,\"render-fancy-reason\");\nvar $temp_full2420 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1089($self2421) {\nvar $step2419 = 0;\nvar $elidedFrames2425 = 0;\nvar $ans2422 = D;\nvar $al2423 = L[1089];\nif(R.isAR($self2421)) {\n$step2419 = $self2421.step;\n$al2423 = $self2421.from;\n$ans2422 = $self2421.ans;\n$elidedFrames2425 = $self2421.elidedFrames;\nself2421 = $self2421.args[0];\nanf_fun2427 = $self2421.vars[0];\nanf_fun2426 = $self2421.vars[1];\nanf_arg1081 = $self2421.vars[2];\nanf_fun1072 = $self2421.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1089],1,$t,true);\n}\nvar self2421 = $self2421;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2422 = R.mC();\n}\nwhile(!R.isContinuation($ans2422)) {\nswitch($step2419) {\ncase 0: $ans2422 = R.getMaker2(ED23.dict.values.dict[\"error\"],(\"make2\"),L[1090],L[1091]);\nvar anf_fun2427 = $ans2422;\n$ans2422 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1092],L[1093]);\nvar anf_fun2426 = $ans2422;\n$step2419 = 1;\n$al2423 = L[1098];\nif(typeof(ED23.dict.values.dict[\"text\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,ED23.dict.values.dict[\"text\"]);\n}\n$ans2422 = ED23.dict.values.dict[\"text\"].app((\"The test predicate must return a boolean, but instead it returned: \"));\nbreak;\ncase 1: var anf_arg1056 = $ans2422;\n$step2419 = 2;\n$al2423 = L[1093];\nif(typeof(anf_fun2426.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun2426);\n}\n$ans2422 = anf_fun2426.app(anf_arg1056);\nbreak;\ncase 2: var anf_arg1081 = $ans2422;\n$ans2422 = R.getMaker1(ED23.dict.values.dict[\"para\"],(\"make1\"),L[1094],L[1095]);\nvar anf_fun1072 = $ans2422;\n$al2423 = L[1096];\nvar anf_arg1073 = G(self2421,\"test-result\",L[1096]);\n$step2419 = 3;\n$al2423 = L[1097];\nif(typeof(ED23.dict.values.dict[\"embed\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,ED23.dict.values.dict[\"embed\"]);\n}\n$ans2422 = ED23.dict.values.dict[\"embed\"].app(anf_arg1073);\nbreak;\ncase 3: var anf_arg1061 = $ans2422;\n$step2419 = 4;\n$al2423 = L[1095];\nif(typeof(anf_fun1072.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun1072);\n}\n$ans2422 = anf_fun1072.app(anf_arg1061);\nbreak;\ncase 4: var anf_arg2428 = $ans2422;\n$step2419 = 5;\n$al2423 = L[1091];\nif(typeof(anf_fun2427.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2423,anf_fun2427);\n}\n$ans2422 = anf_fun2427.app(anf_arg1081,anf_arg2428);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2422;\ndefault: R.ffi.throwSpinnakerError(L[1089],$step2419);\n}\n}\nif($step2419 !== 5) {\n$ans2422.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2423,$temp_full2420,$step2419,[self2421],[anf_fun2427,anf_fun2426,anf_arg1081,anf_fun1072],$elidedFrames2425);\n}\nreturn $ans2422;\n};\nvar anf_variant_member2608 = R.makeMethod0($temp_full2420,\"render-reason\");\nvar $success_getfields2435 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"]);\n};\nvar $success_mutablemask2434 = [false];\nvar $success$base2431 = {\"$fieldNames\":[\"loc\"],\n\"access-stack\":anf_shared2430,\n\"_match\":R.mM(\"success\",1)};\nvar $success$brander2432 = R.nB(\"success\",L[1099]);\nvar $success$brands2433 = {};\n$success$brands2433[TestResult50._brand] = true;\n$success$brands2433[$success$brander2432._brand] = true;\nvar success2436 = R.mVC(L[1099],function $synthesizedConstructor_$success$base() {\nreturn [Loc274];\n},[\"loc2437\"],[L[1100]],[false],[\"loc2437\"],$success_mutablemask2434,$success$base2431,$success$brands2433,\"success\",$success_getfields2435,$success$base2431);\nvar $failure$not$equal_getfields2444 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$not$equal_mutablemask2443 = [false,false,false,false,false,false];\nvar $failure$not$equal$base2438 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2441,\n\"render-reason\":anf_variant_member2442,\n\"_match\":R.mM(\"failure-not-equal\",6)};\nvar $failure$not$equal$brander2439 = R.nB(\"failure-not-equal\",L[1101]);\nvar $failure$not$equal$brands2440 = {};\n$failure$not$equal$brands2440[TestResult50._brand] = true;\n$failure$not$equal$brands2440[$failure$not$equal$brander2439._brand] = true;\nvar failure$not$equal2445 = R.mVC(L[1101],function $synthesizedConstructor_$failure$not$equal$base() {\nreturn [Loc274];\n},[\"loc2446\"],[L[1102]],[false,false,false,false,false,false],[\"loc2446\",\"refinement2447\",\"left2448\",\"left$src2449\",\"right2450\",\"right$src2451\"],$failure$not$equal_mutablemask2443,$failure$not$equal$base2438,$failure$not$equal$brands2440,\"failure-not-equal\",$failure$not$equal_getfields2444,$failure$not$equal$base2438);\nvar $failure$is$incomparable_getfields2458 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"eq-result\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$is$incomparable_mutablemask2457 = [false,false,false,false,false,false];\nvar $failure$is$incomparable$base2452 = {\"$fieldNames\":[\"loc\",\"eq-result\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2455,\n\"render-reason\":anf_variant_member2456,\n\"_match\":R.mM(\"failure-is-incomparable\",6)};\nvar $failure$is$incomparable$brander2453 = R.nB(\"failure-is-incomparable\",L[1103]);\nvar $failure$is$incomparable$brands2454 = {};\n$failure$is$incomparable$brands2454[TestResult50._brand] = true;\n$failure$is$incomparable$brands2454[$failure$is$incomparable$brander2453._brand] = true;\nvar failure$is$incomparable2459 = R.mVC(L[1103],function $synthesizedConstructor_$failure$is$incomparable$base() {\nreturn [Loc274,R.makeFlatPredAnn(EqualityResult18,is$Unknown8,\"is-Unknown\")];\n},[\"loc2460\",\"eq$result2461\"],[L[1104],L[1105]],[false,false,false,false,false,false],[\"loc2460\",\"eq$result2461\",\"left2462\",\"left$src2463\",\"right2464\",\"right$src2465\"],$failure$is$incomparable_mutablemask2457,$failure$is$incomparable$base2452,$failure$is$incomparable$brands2454,\"failure-is-incomparable\",$failure$is$incomparable_getfields2458,$failure$is$incomparable$base2452);\nvar $failure$not$different_getfields2472 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"]);\n};\nvar $failure$not$different_mutablemask2471 = [false,false,false,false,false,false];\nvar $failure$not$different$base2466 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2469,\n\"render-reason\":anf_variant_member2470,\n\"_match\":R.mM(\"failure-not-different\",6)};\nvar $failure$not$different$brander2467 = R.nB(\"failure-not-different\",L[1106]);\nvar $failure$not$different$brands2468 = {};\n$failure$not$different$brands2468[TestResult50._brand] = true;\n$failure$not$different$brands2468[$failure$not$different$brander2467._brand] = true;\nvar failure$not$different2473 = R.mVC(L[1106],function $synthesizedConstructor_$failure$not$different$base() {\nreturn [Loc274];\n},[\"loc2474\"],[L[1107]],[false,false,false,false,false,false],[\"loc2474\",\"refinement2475\",\"left2476\",\"left$src2477\",\"right2478\",\"right$src2479\"],$failure$not$different_mutablemask2471,$failure$not$different$base2466,$failure$not$different$brands2468,\"failure-not-different\",$failure$not$different_getfields2472,$failure$not$different$base2466);\nvar $failure$not$satisfied_getfields2486 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"val-src\"],this.dict[\"pred\"]);\n};\nvar $failure$not$satisfied_mutablemask2485 = [false,false,false,false];\nvar $failure$not$satisfied$base2480 = {\"$fieldNames\":[\"loc\",\"val\",\"val-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2483,\n\"render-reason\":anf_variant_member2484,\n\"_match\":R.mM(\"failure-not-satisfied\",4)};\nvar $failure$not$satisfied$brander2481 = R.nB(\"failure-not-satisfied\",L[1108]);\nvar $failure$not$satisfied$brands2482 = {};\n$failure$not$satisfied$brands2482[TestResult50._brand] = true;\n$failure$not$satisfied$brands2482[$failure$not$satisfied$brander2481._brand] = true;\nvar failure$not$satisfied2487 = R.mVC(L[1108],function $synthesizedConstructor_$failure$not$satisfied$base() {\nreturn [Loc274];\n},[\"loc2488\"],[L[1109]],[false,false,false,false],[\"loc2488\",\"val2489\",\"val$src2490\",\"pred2491\"],$failure$not$satisfied_mutablemask2485,$failure$not$satisfied$base2480,$failure$not$satisfied$brands2482,\"failure-not-satisfied\",$failure$not$satisfied_getfields2486,$failure$not$satisfied$base2480);\nvar $failure$not$dissatisfied_getfields2498 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"val\"],this.dict[\"val-src\"],this.dict[\"pred\"]);\n};\nvar $failure$not$dissatisfied_mutablemask2497 = [false,false,false,false];\nvar $failure$not$dissatisfied$base2492 = {\"$fieldNames\":[\"loc\",\"val\",\"val-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2495,\n\"render-reason\":anf_variant_member2496,\n\"_match\":R.mM(\"failure-not-dissatisfied\",4)};\nvar $failure$not$dissatisfied$brander2493 = R.nB(\"failure-not-dissatisfied\",L[1110]);\nvar $failure$not$dissatisfied$brands2494 = {};\n$failure$not$dissatisfied$brands2494[TestResult50._brand] = true;\n$failure$not$dissatisfied$brands2494[$failure$not$dissatisfied$brander2493._brand] = true;\nvar failure$not$dissatisfied2499 = R.mVC(L[1110],function $synthesizedConstructor_$failure$not$dissatisfied$base() {\nreturn [Loc274];\n},[\"loc1562\"],[L[1111]],[false,false,false,false],[\"loc1562\",\"val2500\",\"val$src2501\",\"pred2502\"],$failure$not$dissatisfied_mutablemask2497,$failure$not$dissatisfied$base2492,$failure$not$dissatisfied$brands2494,\"failure-not-dissatisfied\",$failure$not$dissatisfied_getfields2498,$failure$not$dissatisfied$base2492);\nvar $failure$wrong$exn_getfields2510 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-expected\"],this.dict[\"actual-exn\"],this.dict[\"actual-src\"]);\n};\nvar $failure$wrong$exn_mutablemask2509 = [false,false,false,false];\nvar $failure$wrong$exn$base2503 = {\"$fieldNames\":[\"loc\",\"exn-expected\",\"actual-exn\",\"actual-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2506,\n\"access-stack\":anf_variant_member5641,\n\"render-reason\":anf_variant_member2507,\n\"_output\":anf_variant_member2508,\n\"_match\":R.mM(\"failure-wrong-exn\",4)};\nvar $failure$wrong$exn$brander2504 = R.nB(\"failure-wrong-exn\",L[1112]);\nvar $failure$wrong$exn$brands2505 = {};\n$failure$wrong$exn$brands2505[TestResult50._brand] = true;\n$failure$wrong$exn$brands2505[$failure$wrong$exn$brander2504._brand] = true;\nvar failure$wrong$exn2511 = R.mVC(L[1112],function $synthesizedConstructor_$failure$wrong$exn$base() {\nreturn [Loc274];\n},[\"loc5774\"],[L[1113]],[false,false,false,false],[\"loc5774\",\"exn$expected2512\",\"actual$exn2513\",\"actual$src2514\"],$failure$wrong$exn_mutablemask2509,$failure$wrong$exn$base2503,$failure$wrong$exn$brands2505,\"failure-wrong-exn\",$failure$wrong$exn_getfields2510,$failure$wrong$exn$base2503);\nvar $failure$right$exn_getfields2522 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-not-expected\"],this.dict[\"actual-exn\"],this.dict[\"actual-src\"]);\n};\nvar $failure$right$exn_mutablemask2521 = [false,false,false,false];\nvar $failure$right$exn$base2515 = {\"$fieldNames\":[\"loc\",\"exn-not-expected\",\"actual-exn\",\"actual-src\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2518,\n\"render-reason\":anf_variant_member2519,\n\"_output\":anf_variant_member2520,\n\"_match\":R.mM(\"failure-right-exn\",4)};\nvar $failure$right$exn$brander2516 = R.nB(\"failure-right-exn\",L[1114]);\nvar $failure$right$exn$brands2517 = {};\n$failure$right$exn$brands2517[TestResult50._brand] = true;\n$failure$right$exn$brands2517[$failure$right$exn$brander2516._brand] = true;\nvar failure$right$exn2523 = R.mVC(L[1114],function $synthesizedConstructor_$failure$right$exn$base() {\nreturn [Loc274];\n},[\"loc2524\"],[L[1115]],[false,false,false,false],[\"loc2524\",\"exn$not$expected2525\",\"actual$exn2526\",\"actual$src2527\"],$failure$right$exn_mutablemask2521,$failure$right$exn$base2515,$failure$right$exn$brands2517,\"failure-right-exn\",$failure$right$exn_getfields2522,$failure$right$exn$base2515);\nvar $failure$exn_getfields2536 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"actual-exn\"],this.dict[\"exn-place\"]);\n};\nvar $failure$exn_mutablemask2535 = [false,false,false];\nvar $failure$exn$base2528 = {\"$fieldNames\":[\"loc\",\"actual-exn\",\"exn-place\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2531,\n\"render-reason\":anf_variant_member2532,\n\"access-stack\":anf_variant_member2533,\n\"_output\":anf_variant_member2534,\n\"_match\":R.mM(\"failure-exn\",3)};\nvar $failure$exn$brander2529 = R.nB(\"failure-exn\",L[1116]);\nvar $failure$exn$brands2530 = {};\n$failure$exn$brands2530[TestResult50._brand] = true;\n$failure$exn$brands2530[$failure$exn$brander2529._brand] = true;\nvar failure$exn2537 = R.mVC(L[1116],function $synthesizedConstructor_$failure$exn$base() {\nreturn [Loc274,CheckOperand113];\n},[\"loc2538\",\"exn$place2539\"],[L[1117],L[1118]],[false,false,false],[\"loc2538\",\"actual$exn2540\",\"exn$place2539\"],$failure$exn_mutablemask2535,$failure$exn$base2528,$failure$exn$brands2530,\"failure-exn\",$failure$exn_getfields2536,$failure$exn$base2528);\nvar $failure$no$exn_getfields2547 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn-expected\"],this.dict[\"exn-src\"],this.dict[\"wanted\"]);\n};\nvar $failure$no$exn_mutablemask2546 = [false,false,false,false];\nvar $failure$no$exn$base2541 = {\"$fieldNames\":[\"loc\",\"exn-expected\",\"exn-src\",\"wanted\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2544,\n\"render-reason\":anf_variant_member2545,\n\"_match\":R.mM(\"failure-no-exn\",4)};\nvar $failure$no$exn$brander2542 = R.nB(\"failure-no-exn\",L[1119]);\nvar $failure$no$exn$brands2543 = {};\n$failure$no$exn$brands2543[TestResult50._brand] = true;\n$failure$no$exn$brands2543[$failure$no$exn$brander2542._brand] = true;\nvar failure$no$exn2548 = R.mVC(L[1119],function $synthesizedConstructor_$failure$no$exn$base() {\nreturn [Loc274,Option15,$type$Boolean6];\n},[\"loc2549\",\"exn$expected2550\",\"wanted2551\"],[L[1120],L[1121],L[1122]],[false,false,false,false],[\"loc2549\",\"exn$expected2550\",\"exn$src2552\",\"wanted2551\"],$failure$no$exn_mutablemask2546,$failure$no$exn$base2541,$failure$no$exn$brands2543,\"failure-no-exn\",$failure$no$exn_getfields2547,$failure$no$exn$base2541);\nvar $failure$raise$not$satisfied_getfields2560 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn\"],this.dict[\"exn-src\"],this.dict[\"pred\"]);\n};\nvar $failure$raise$not$satisfied_mutablemask2559 = [false,false,false,false];\nvar $failure$raise$not$satisfied$base2553 = {\"$fieldNames\":[\"loc\",\"exn\",\"exn-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2556,\n\"render-reason\":anf_variant_member2557,\n\"_output\":anf_variant_member2558,\n\"_match\":R.mM(\"failure-raise-not-satisfied\",4)};\nvar $failure$raise$not$satisfied$brander2554 = R.nB(\"failure-raise-not-satisfied\",L[1123]);\nvar $failure$raise$not$satisfied$brands2555 = {};\n$failure$raise$not$satisfied$brands2555[TestResult50._brand] = true;\n$failure$raise$not$satisfied$brands2555[$failure$raise$not$satisfied$brander2554._brand] = true;\nvar failure$raise$not$satisfied2561 = R.mVC(L[1123],function $synthesizedConstructor_$failure$raise$not$satisfied$base() {\nreturn [Loc274];\n},[\"loc2562\"],[L[1124]],[false,false,false,false],[\"loc2562\",\"exn2563\",\"exn$src2564\",\"pred2565\"],$failure$raise$not$satisfied_mutablemask2559,$failure$raise$not$satisfied$base2553,$failure$raise$not$satisfied$brands2555,\"failure-raise-not-satisfied\",$failure$raise$not$satisfied_getfields2560,$failure$raise$not$satisfied$base2553);\nvar $failure$raise$not$dissatisfied_getfields2573 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"exn\"],this.dict[\"exn-src\"],this.dict[\"pred\"]);\n};\nvar $failure$raise$not$dissatisfied_mutablemask2572 = [false,false,false,false];\nvar $failure$raise$not$dissatisfied$base2566 = {\"$fieldNames\":[\"loc\",\"exn\",\"exn-src\",\"pred\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2569,\n\"render-reason\":anf_variant_member2570,\n\"_output\":anf_variant_member2571,\n\"_match\":R.mM(\"failure-raise-not-dissatisfied\",4)};\nvar $failure$raise$not$dissatisfied$brander2567 = R.nB(\"failure-raise-not-dissatisfied\",L[1125]);\nvar $failure$raise$not$dissatisfied$brands2568 = {};\n$failure$raise$not$dissatisfied$brands2568[TestResult50._brand] = true;\n$failure$raise$not$dissatisfied$brands2568[$failure$raise$not$dissatisfied$brander2567._brand] = true;\nvar failure$raise$not$dissatisfied2574 = R.mVC(L[1125],function $synthesizedConstructor_$failure$raise$not$dissatisfied$base() {\nreturn [Loc274];\n},[\"loc2575\"],[L[1126]],[false,false,false,false],[\"loc2575\",\"exn2576\",\"exn$src2577\",\"pred2578\"],$failure$raise$not$dissatisfied_mutablemask2572,$failure$raise$not$dissatisfied$base2566,$failure$raise$not$dissatisfied$brands2568,\"failure-raise-not-dissatisfied\",$failure$raise$not$dissatisfied_getfields2573,$failure$raise$not$dissatisfied$base2566);\nvar $error$not$boolean_getfields2585 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"refinement\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"right\"],this.dict[\"right-src\"],this.dict[\"test-result\"]);\n};\nvar $error$not$boolean_mutablemask2584 = [false,false,false,false,false,false,false];\nvar $error$not$boolean$base2579 = {\"$fieldNames\":[\"loc\",\"refinement\",\"left\",\"left-src\",\"right\",\"right-src\",\"test-result\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2582,\n\"render-reason\":anf_variant_member2583,\n\"_match\":R.mM(\"error-not-boolean\",7)};\nvar $error$not$boolean$brander2580 = R.nB(\"error-not-boolean\",L[1127]);\nvar $error$not$boolean$brands2581 = {};\n$error$not$boolean$brands2581[TestResult50._brand] = true;\n$error$not$boolean$brands2581[$error$not$boolean$brander2580._brand] = true;\nvar error$not$boolean2586 = R.mVC(L[1127],function $synthesizedConstructor_$error$not$boolean$base() {\nreturn [Loc274];\n},[\"loc2587\"],[L[1128]],[false,false,false,false,false,false,false],[\"loc2587\",\"refinement2588\",\"left2589\",\"left$src2590\",\"right2591\",\"right$src2592\",\"test$result2593\"],$error$not$boolean_mutablemask2584,$error$not$boolean$base2579,$error$not$boolean$brands2581,\"error-not-boolean\",$error$not$boolean_getfields2585,$error$not$boolean$base2579);\nvar $error$not$pred_getfields2599 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"predicate\"],this.dict[\"arity\"]);\n};\nvar $error$not$pred_mutablemask2598 = [false,false,false];\nvar $error$not$pred$base2594 = {\"$fieldNames\":[\"loc\",\"predicate\",\"arity\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member5749,\n\"render-reason\":anf_variant_member2597,\n\"_match\":R.mM(\"error-not-pred\",3)};\nvar $error$not$pred$brander2595 = R.nB(\"error-not-pred\",L[1129]);\nvar $error$not$pred$brands2596 = {};\n$error$not$pred$brands2596[TestResult50._brand] = true;\n$error$not$pred$brands2596[$error$not$pred$brander2595._brand] = true;\nvar error$not$pred2600 = R.mVC(L[1129],function $synthesizedConstructor_$error$not$pred$base() {\nreturn [Loc274,$type$Number3];\n},[\"loc2601\",\"arity2602\"],[L[1130],L[1131]],[false,false,false],[\"loc2601\",\"predicate2603\",\"arity2602\"],$error$not$pred_mutablemask2598,$error$not$pred$base2594,$error$not$pred$brands2596,\"error-not-pred\",$error$not$pred_getfields2599,$error$not$pred$base2594);\nvar $error$not$boolean$pred_getfields2610 = function singleton_variant(f) {\nreturn f(this.dict[\"loc\"],this.dict[\"predicate\"],this.dict[\"left\"],this.dict[\"left-src\"],this.dict[\"test-result\"]);\n};\nvar $error$not$boolean$pred_mutablemask2609 = [false,false,false,false,false];\nvar $error$not$boolean$pred$base2604 = {\"$fieldNames\":[\"loc\",\"predicate\",\"left\",\"left-src\",\"test-result\"],\n\"access-stack\":anf_shared2430,\n\"render-fancy-reason\":anf_variant_member2607,\n\"render-reason\":anf_variant_member2608,\n\"_match\":R.mM(\"error-not-boolean-pred\",5)};\nvar $error$not$boolean$pred$brander2605 = R.nB(\"error-not-boolean-pred\",L[1132]);\nvar $error$not$boolean$pred$brands2606 = {};\n$error$not$boolean$pred$brands2606[TestResult50._brand] = true;\n$error$not$boolean$pred$brands2606[$error$not$boolean$pred$brander2605._brand] = true;\nvar error$not$boolean$pred2611 = R.mVC(L[1132],function $synthesizedConstructor_$error$not$boolean$pred$base() {\nreturn [Loc274];\n},[\"loc2612\"],[L[1133]],[false,false,false,false,false],[\"loc2612\",\"predicate2613\",\"left2614\",\"left$src2615\",\"test$result2616\"],$error$not$boolean$pred_mutablemask2609,$error$not$boolean$pred$base2604,$error$not$boolean$pred$brands2606,\"error-not-boolean-pred\",$error$not$boolean$pred_getfields2610,$error$not$boolean$pred$base2604);\nvar anf_assign2617 = R.mO({\"TestResult\":G(TestResult50,\"test\",L[1134]),\n\"is-success\":G($success$brander2432,\"test\",L[1099]),\n\"success\":success2436,\n\"is-failure-not-equal\":G($failure$not$equal$brander2439,\"test\",L[1101]),\n\"failure-not-equal\":failure$not$equal2445,\n\"is-failure-is-incomparable\":G($failure$is$incomparable$brander2453,\"test\",L[1103]),\n\"failure-is-incomparable\":failure$is$incomparable2459,\n\"is-failure-not-different\":G($failure$not$different$brander2467,\"test\",L[1106]),\n\"failure-not-different\":failure$not$different2473,\n\"is-failure-not-satisfied\":G($failure$not$satisfied$brander2481,\"test\",L[1108]),\n\"failure-not-satisfied\":failure$not$satisfied2487,\n\"is-failure-not-dissatisfied\":G($failure$not$dissatisfied$brander2493,\"test\",L[1110]),\n\"failure-not-dissatisfied\":failure$not$dissatisfied2499,\n\"is-failure-wrong-exn\":G($failure$wrong$exn$brander2504,\"test\",L[1112]),\n\"failure-wrong-exn\":failure$wrong$exn2511,\n\"is-failure-right-exn\":G($failure$right$exn$brander2516,\"test\",L[1114]),\n\"failure-right-exn\":failure$right$exn2523,\n\"is-failure-exn\":G($failure$exn$brander2529,\"test\",L[1116]),\n\"failure-exn\":failure$exn2537,\n\"is-failure-no-exn\":G($failure$no$exn$brander2542,\"test\",L[1119]),\n\"failure-no-exn\":failure$no$exn2548,\n\"is-failure-raise-not-satisfied\":G($failure$raise$not$satisfied$brander2554,\"test\",L[1123]),\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2561,\n\"is-failure-raise-not-dissatisfied\":G($failure$raise$not$dissatisfied$brander2567,\"test\",L[1125]),\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2574,\n\"is-error-not-boolean\":G($error$not$boolean$brander2580,\"test\",L[1127]),\n\"error-not-boolean\":error$not$boolean2586,\n\"is-error-not-pred\":G($error$not$pred$brander2595,\"test\",L[1129]),\n\"error-not-pred\":error$not$pred2600,\n\"is-error-not-boolean-pred\":G($error$not$boolean$pred$brander2605,\"test\",L[1132]),\n\"error-not-boolean-pred\":error$not$boolean$pred2611});\nTestResult2618.$var = anf_assign2617;\nR.nothing;\n$al45 = L[1134];\nvar anf_assign2619 = G(TestResult2618.$var,\"TestResult\",L[1134]);\nis$TestResult2620.$var = anf_assign2619;\nR.nothing;\n$al45 = L[1099];\nvar anf_assign2621 = G(TestResult2618.$var,\"is-success\",L[1099]);\nis$success2622.$var = anf_assign2621;\nR.nothing;\n$al45 = L[1099];\nvar anf_assign2623 = G(TestResult2618.$var,\"success\",L[1099]);\nsuccess2624.$var = anf_assign2623;\nR.nothing;\n$al45 = L[1101];\nvar anf_assign2625 = G(TestResult2618.$var,\"is-failure-not-equal\",L[1101]);\nis$failure$not$equal2626.$var = anf_assign2625;\nR.nothing;\n$al45 = L[1101];\nvar anf_assign2627 = G(TestResult2618.$var,\"failure-not-equal\",L[1101]);\nfailure$not$equal2628.$var = anf_assign2627;\nR.nothing;\n$al45 = L[1103];\nvar anf_assign2629 = G(TestResult2618.$var,\"is-failure-is-incomparable\",L[1103]);\nis$failure$is$incomparable2630.$var = anf_assign2629;\nR.nothing;\n$al45 = L[1103];\nvar anf_assign2631 = G(TestResult2618.$var,\"failure-is-incomparable\",L[1103]);\nfailure$is$incomparable2632.$var = anf_assign2631;\nR.nothing;\n$al45 = L[1106];\nvar anf_assign2633 = G(TestResult2618.$var,\"is-failure-not-different\",L[1106]);\nis$failure$not$different2634.$var = anf_assign2633;\nR.nothing;\n$al45 = L[1106];\nvar anf_assign2635 = G(TestResult2618.$var,\"failure-not-different\",L[1106]);\nfailure$not$different2636.$var = anf_assign2635;\nR.nothing;\n$al45 = L[1108];\nvar anf_assign2637 = G(TestResult2618.$var,\"is-failure-not-satisfied\",L[1108]);\nis$failure$not$satisfied2638.$var = anf_assign2637;\nR.nothing;\n$al45 = L[1108];\nvar anf_assign2639 = G(TestResult2618.$var,\"failure-not-satisfied\",L[1108]);\nfailure$not$satisfied2640.$var = anf_assign2639;\nR.nothing;\n$al45 = L[1110];\nvar anf_assign2641 = G(TestResult2618.$var,\"is-failure-not-dissatisfied\",L[1110]);\nis$failure$not$dissatisfied2642.$var = anf_assign2641;\nR.nothing;\n$al45 = L[1110];\nvar anf_assign2643 = G(TestResult2618.$var,\"failure-not-dissatisfied\",L[1110]);\nfailure$not$dissatisfied2644.$var = anf_assign2643;\nR.nothing;\n$al45 = L[1112];\nvar anf_assign2645 = G(TestResult2618.$var,\"is-failure-wrong-exn\",L[1112]);\nis$failure$wrong$exn2646.$var = anf_assign2645;\nR.nothing;\n$al45 = L[1112];\nvar anf_assign2647 = G(TestResult2618.$var,\"failure-wrong-exn\",L[1112]);\nfailure$wrong$exn2648.$var = anf_assign2647;\nR.nothing;\n$al45 = L[1114];\nvar anf_assign2649 = G(TestResult2618.$var,\"is-failure-right-exn\",L[1114]);\nis$failure$right$exn2650.$var = anf_assign2649;\nR.nothing;\n$al45 = L[1114];\nvar anf_assign2651 = G(TestResult2618.$var,\"failure-right-exn\",L[1114]);\nfailure$right$exn2652.$var = anf_assign2651;\nR.nothing;\n$al45 = L[1116];\nvar anf_assign2653 = G(TestResult2618.$var,\"is-failure-exn\",L[1116]);\nis$failure$exn2654.$var = anf_assign2653;\nR.nothing;\n$al45 = L[1116];\nvar anf_assign2655 = G(TestResult2618.$var,\"failure-exn\",L[1116]);\nfailure$exn2656.$var = anf_assign2655;\nR.nothing;\n$al45 = L[1119];\nvar anf_assign2657 = G(TestResult2618.$var,\"is-failure-no-exn\",L[1119]);\nis$failure$no$exn2658.$var = anf_assign2657;\nR.nothing;\n$al45 = L[1119];\nvar anf_assign2659 = G(TestResult2618.$var,\"failure-no-exn\",L[1119]);\nfailure$no$exn2660.$var = anf_assign2659;\nR.nothing;\n$al45 = L[1123];\nvar anf_assign2661 = G(TestResult2618.$var,\"is-failure-raise-not-satisfied\",L[1123]);\nis$failure$raise$not$satisfied2662.$var = anf_assign2661;\nR.nothing;\n$al45 = L[1123];\nvar anf_assign2663 = G(TestResult2618.$var,\"failure-raise-not-satisfied\",L[1123]);\nfailure$raise$not$satisfied2664.$var = anf_assign2663;\nR.nothing;\n$al45 = L[1125];\nvar anf_assign2665 = G(TestResult2618.$var,\"is-failure-raise-not-dissatisfied\",L[1125]);\nis$failure$raise$not$dissatisfied2666.$var = anf_assign2665;\nR.nothing;\n$al45 = L[1125];\nvar anf_assign2667 = G(TestResult2618.$var,\"failure-raise-not-dissatisfied\",L[1125]);\nfailure$raise$not$dissatisfied2668.$var = anf_assign2667;\nR.nothing;\n$al45 = L[1127];\nvar anf_assign2669 = G(TestResult2618.$var,\"is-error-not-boolean\",L[1127]);\nis$error$not$boolean2670.$var = anf_assign2669;\nR.nothing;\n$al45 = L[1127];\nvar anf_assign2671 = G(TestResult2618.$var,\"error-not-boolean\",L[1127]);\nerror$not$boolean2672.$var = anf_assign2671;\nR.nothing;\n$al45 = L[1129];\nvar anf_assign2673 = G(TestResult2618.$var,\"is-error-not-pred\",L[1129]);\nis$error$not$pred2674.$var = anf_assign2673;\nR.nothing;\n$al45 = L[1129];\nvar anf_assign2675 = G(TestResult2618.$var,\"error-not-pred\",L[1129]);\nerror$not$pred2676.$var = anf_assign2675;\nR.nothing;\n$al45 = L[1132];\nvar anf_assign2677 = G(TestResult2618.$var,\"is-error-not-boolean-pred\",L[1132]);\nis$error$not$boolean$pred2678.$var = anf_assign2677;\nR.nothing;\n$al45 = L[1132];\nvar anf_assign2679 = G(TestResult2618.$var,\"error-not-boolean-pred\",L[1132]);\nerror$not$boolean$pred2680.$var = anf_assign2679;\nR.nothing;\nvar $temp_lam2682 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1135($main$module$name2683,$check$all2684) {\nvar $step2681 = 0;\nvar $elidedFrames2688 = 0;\nvar $ans2685 = D;\nvar $al2686 = L[1135];\nif(R.isAR($main$module$name2683)) {\n$step2681 = $main$module$name2683.step;\n$al2686 = $main$module$name2683.from;\n$ans2685 = $main$module$name2683.ans;\n$elidedFrames2688 = $main$module$name2683.elidedFrames;\nmain$module$name2683 = $main$module$name2683.args[0];\ncheck$all2684 = $main$module$name2683.args[1];\nadd$block$result2703 = $main$module$name2683.vars[0];\nblock$results2697 = $main$module$name2683.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1135],2,$t,false);\n}\nvar main$module$name2683 = $main$module$name2683;\nvar check$all2684 = $check$all2684;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2685 = R.mC();\n}\nwhile(!R.isContinuation($ans2685)) {\nswitch($step2681) {\ncase 0: $step2681 = 1;\n$al2686 = L[1813];\nR._cA(L[1813],$type$String8,main$module$name2683);\nbreak;\ncase 1: $step2681 = 2;\n$al2686 = L[1814];\nR._cA(L[1814],$type$Boolean6,check$all2684);\nbreak;\ncase 2: $ans2685 = R.getMaker0(list6,(\"make0\"),L[1136],L[1137]);\nvar anf_fun1138 = $ans2685;\n$step2681 = 3;\n$al2686 = L[1137];\nif(typeof(anf_fun1138.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2686,anf_fun1138);\n}\n$ans2685 = anf_fun1138.app();\nbreak;\ncase 3: var var5063 = $ans2685;\nvar block$results2697 = {\"$var\":var5063};\nvar add$block$result2703 = {\"$var\":D};\nvar $temp_lam2690 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1138($cbr2691) {\nvar $step2689 = 0;\nvar $elidedFrames2695 = 0;\nvar $ans2692 = D;\nvar $al2693 = L[1138];\nif(R.isAR($cbr2691)) {\n$step2689 = $cbr2691.step;\n$al2693 = $cbr2691.from;\n$ans2692 = $cbr2691.ans;\n$elidedFrames2695 = $cbr2691.elidedFrames;\ncbr2691 = $cbr2691.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1138],1,$t,false);\n}\nvar cbr2691 = $cbr2691;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2692 = R.mC();\n}\nwhile(!R.isContinuation($ans2692)) {\nswitch($step2689) {\ncase 0: $step2689 = 1;\n$al2693 = L[1142];\nR._cA(L[1142],CheckBlockResult2700,cbr2691);\nbreak;\ncase 1: $ans2692 = R.getMaker1(list6,(\"make1\"),L[1139],L[1140]);\nvar anf_fun2696 = $ans2692;\n$step2689 = 2;\n$al2693 = L[1140];\nif(typeof(anf_fun2696.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2693,anf_fun2696);\n}\n$ans2692 = anf_fun2696.app(cbr2691);\nbreak;\ncase 2: var anf_arg2698 = $ans2692;\nvar anf_arg1134 = block$results2697.$var;\n$step2689 = 3;\n$al2693 = L[1141];\n// omitting isFunction check;\n$ans2692 = _plus5.app(anf_arg2698,anf_arg1134);\nbreak;\ncase 3: var anf_assign2699 = $ans2692;\n$step2689 = 4;\nblock$results2697.$var = anf_assign2699;\n$ans2692 = R.nothing;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2692;\ndefault: R.ffi.throwSpinnakerError(L[1138],$step2689);\n}\n}\nif($step2689 !== 4) {\n$ans2692.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2693,$temp_lam2690,$step2689,[cbr2691],[],$elidedFrames2695);\n}\nreturn $ans2692;\n};\nvar anf_assign2702 = R.mF($temp_lam2690,\"add-block-result\");\nadd$block$result2703.$var = anf_assign2702;\nR.nothing;\n$ans2685 = R.getMaker0(list6,(\"make0\"),L[1143],L[1144]);\nvar anf_fun2704 = $ans2685;\n$step2681 = 4;\n$al2686 = L[1144];\nif(typeof(anf_fun2704.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2686,anf_fun2704);\n}\n$ans2685 = anf_fun2704.app();\nbreak;\ncase 4: var var5062 = $ans2685;\nvar current$results2713 = {\"$var\":var5062};\nvar add$result2718 = {\"$var\":D};\nvar left$right$check2755 = {\"$var\":D};\nvar left$right$cause$check2800 = {\"$var\":D};\nvar check$bool2814 = {\"$var\":D};\nvar reset$results2825 = {\"$var\":D};\nvar $temp_lam2706 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1145($t2707) {\nvar $step2705 = 0;\nvar $elidedFrames2711 = 0;\nvar $ans2708 = D;\nvar $al2709 = L[1145];\nif(R.isAR($t2707)) {\n$step2705 = $t2707.step;\n$al2709 = $t2707.from;\n$ans2708 = $t2707.ans;\n$elidedFrames2711 = $t2707.elidedFrames;\nt2707 = $t2707.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1145],1,$t,false);\n}\nvar t2707 = $t2707;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2708 = R.mC();\n}\nwhile(!R.isContinuation($ans2708)) {\nswitch($step2705) {\ncase 0: $step2705 = 1;\n$al2709 = L[1149];\nR._cA(L[1149],TestResult2715,t2707);\nbreak;\ncase 1: $ans2708 = R.getMaker1(list6,(\"make1\"),L[1146],L[1147]);\nvar anf_fun2712 = $ans2708;\n$step2705 = 2;\n$al2709 = L[1147];\nif(typeof(anf_fun2712.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2709,anf_fun2712);\n}\n$ans2708 = anf_fun2712.app(t2707);\nbreak;\ncase 2: var anf_arg1137 = $ans2708;\nvar anf_arg1141 = current$results2713.$var;\n$step2705 = 3;\n$al2709 = L[1148];\n// omitting isFunction check;\n$ans2708 = _plus5.app(anf_arg1137,anf_arg1141);\nbreak;\ncase 3: var anf_assign2714 = $ans2708;\n$step2705 = 4;\ncurrent$results2713.$var = anf_assign2714;\n$ans2708 = R.nothing;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2708;\ndefault: R.ffi.throwSpinnakerError(L[1145],$step2705);\n}\n}\nif($step2705 !== 4) {\n$ans2708.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2709,$temp_lam2706,$step2705,[t2707],[],$elidedFrames2711);\n}\nreturn $ans2708;\n};\nvar anf_assign2717 = R.mF($temp_lam2706,\"add-result\");\nadd$result2718.$var = anf_assign2717;\nR.nothing;\nvar $temp_lam2720 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1150($loc2721) {\nvar $step2719 = 0;\nvar $elidedFrames2725 = 0;\nvar $ans2722 = D;\nvar $al2723 = L[1150];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1150],1,$t,false);\n}\nvar loc2721 = $loc2721;\n// callee optimization;\nwhile(!R.isContinuation($ans2722)) {\nswitch($step2719) {\ncase 0: $step2719 = 1;\nvar $temp_lam2727 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1151($with$vals2728,$left2729,$right2730) {\nvar $step2726 = 0;\nvar $elidedFrames2734 = 0;\nvar $ans2731 = D;\nvar $al2732 = L[1151];\nif(R.isAR($with$vals2728)) {\n$step2726 = $with$vals2728.step;\n$al2732 = $with$vals2728.from;\n$ans2731 = $with$vals2728.ans;\n$elidedFrames2734 = $with$vals2728.elidedFrames;\nwith$vals2728 = $with$vals2728.args[0];\nleft2729 = $with$vals2728.args[1];\nright2730 = $with$vals2728.args[2];\nlv2735 = $with$vals2728.vars[0];\nrv2736 = $with$vals2728.vars[1];\nres2747 = $with$vals2728.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1151],3,$t,false);\n}\nvar with$vals2728 = $with$vals2728;\nvar left2729 = $left2729;\nvar right2730 = $right2730;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2731 = R.mC();\n}\nwhile(!R.isContinuation($ans2731)) {\nswitch($step2726) {\ncase 0: // caller optimization;\n$ans2731 = is$function4.app(left2729);\nvar anf_if2751 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2751)?1:2;\nbreak;\ncase 1: $step2726 = 3;\n$ans2731 = left2729;\nbreak;\ncase 2: $step2726 = 3;\n$al2732 = L[1170];\n$ans2731 = G(left2729,\"v\",L[1170]);\nbreak;\ncase 3: var anf_arg1165 = $ans2731;\n$step2726 = 4;\n$al2732 = L[1169];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg1165);\nbreak;\ncase 4: var lv2735 = $ans2731;\n$step2726 = 5;\n$al2732 = L[1168];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(lv2735);\nbreak;\ncase 5: var anf_if2750 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2750)?6:7;\nbreak;\ncase 6: $al2732 = L[1152];\nvar anf_arg1160 = G(lv2735,\"v\",L[1152]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1160,on$left256.$var);\nvar anf_arg1157 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1153];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1157);\nbreak;\ncase 7: // caller optimization;\n$ans2731 = is$function4.app(right2730);\nvar anf_if2749 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2749)?8:9;\nbreak;\ncase 8: $step2726 = 10;\n$ans2731 = right2730;\nbreak;\ncase 9: $step2726 = 10;\n$al2732 = L[1167];\n$ans2731 = G(right2730,\"v\",L[1167]);\nbreak;\ncase 10: var anf_arg1161 = $ans2731;\n$step2726 = 11;\n$al2732 = L[1166];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg1161);\nbreak;\ncase 11: var rv2736 = $ans2731;\n$step2726 = 12;\n$al2732 = L[1165];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(rv2736);\nbreak;\ncase 12: var anf_if2748 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if2748)?13:14;\nbreak;\ncase 13: $al2732 = L[1154];\nvar anf_arg1166 = G(rv2736,\"v\",L[1154]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1166,on$right260.$var);\nvar anf_arg1163 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1155];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1163);\nbreak;\ncase 14: var $temp_lam2738 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1156($$resumer13) {\nvar $step2737 = 0;\nvar $elidedFrames2743 = 0;\nvar $ans2740 = D;\nvar $al2741 = L[1156];\nif(R.isAR($$resumer13)) {\n$step2737 = $$resumer13.step;\n$al2741 = $$resumer13.from;\n$ans2740 = $$resumer13.ans;\n$elidedFrames2743 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1156],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2740 = R.mC();\n}\nwhile(!R.isContinuation($ans2740)) {\nswitch($step2737) {\ncase 0: $al2741 = L[1157];\nvar anf_arg1167 = G(lv2735,\"v\",L[1157]);\n$al2741 = L[1158];\nvar anf_arg2744 = G(rv2736,\"v\",L[1158]);\n$step2737 = 1;\n$al2741 = L[1159];\nif(typeof(with$vals2728.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2741,with$vals2728);\n}\n$ans2740 = with$vals2728.app(anf_arg1167,anf_arg2744);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2740;\ndefault: R.ffi.throwSpinnakerError(L[1156],$step2737);\n}\n}\nif($step2737 !== 1) {\n$ans2740.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2741,$temp_lam2738,$step2737,[],[],$elidedFrames2743);\n}\nreturn $ans2740;\n};\nvar anf_arg2746 = R.mF($temp_lam2738,\"\");\n$step2726 = 15;\n$al2732 = L[1164];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,run$task1);\n}\n$ans2731 = run$task1.app(anf_arg2746);\nbreak;\ncase 15: var res2747 = $ans2731;\n$step2726 = 16;\n$al2732 = L[1163];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2732,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2731 = either20.dict.values.dict[\"is-right\"].app(res2747);\nbreak;\ncase 16: var anf_if1206 = $ans2731;\n$step2726 = R.checkPyretTrue(anf_if1206)?17:18;\nbreak;\ncase 17: $al2732 = L[1160];\nvar anf_arg1203 = G(res2747,\"v\",L[1160]);\n// caller optimization;\n$ans2731 = failure$exn2656.$var.app(loc2721,anf_arg1203,on$refinement264.$var);\nvar anf_arg1204 = $ans2731;\n$step2726 = 19;\n$al2732 = L[1161];\n// omitting isFunction check;\n$ans2731 = add$result2718.$var.app(anf_arg1204);\nbreak;\ncase 18: $step2726 = 19;\n$al2732 = L[1162];\n$ans2731 = G(res2747,\"v\",L[1162]);\nbreak;\ncase 19: ++R.GAS;\nreturn $ans2731;\ndefault: R.ffi.throwSpinnakerError(L[1151],$step2726);\n}\n}\nif($step2726 !== 19) {\n$ans2731.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2732,$temp_lam2727,$step2726,[with$vals2728,left2729,right2730],[lv2735,rv2736,res2747],$elidedFrames2734);\n}\nreturn $ans2731;\n};\n$ans2722 = R.mF($temp_lam2727,\"\");\nbreak;\ncase 1: return $ans2722;\ndefault: R.ffi.throwSpinnakerError(L[1150],$step2719);\n}\n}\nreturn $ans2722;\n};\nvar anf_assign2754 = R.mF($temp_lam2720,\"left-right-check\");\nleft$right$check2755.$var = anf_assign2754;\nR.nothing;\nvar $temp_lam2757 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1171($loc2331) {\nvar $step2756 = 0;\nvar $elidedFrames2761 = 0;\nvar $ans2758 = D;\nvar $al2759 = L[1171];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1171],1,$t,false);\n}\nvar loc2331 = $loc2331;\n// callee optimization;\nwhile(!R.isContinuation($ans2758)) {\nswitch($step2756) {\ncase 0: $step2756 = 1;\nvar $temp_lam2763 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1172($with$vals2764,$left2765,$right2766,$cause2767) {\nvar $step2762 = 0;\nvar $elidedFrames2771 = 0;\nvar $ans2768 = D;\nvar $al2769 = L[1172];\nif(R.isAR($with$vals2764)) {\n$step2762 = $with$vals2764.step;\n$al2769 = $with$vals2764.from;\n$ans2768 = $with$vals2764.ans;\n$elidedFrames2771 = $with$vals2764.elidedFrames;\nwith$vals2764 = $with$vals2764.args[0];\nleft2765 = $with$vals2764.args[1];\nright2766 = $with$vals2764.args[2];\ncause2767 = $with$vals2764.args[3];\ncv2777 = $with$vals2764.vars[0];\nlv2773 = $with$vals2764.vars[1];\nrv2775 = $with$vals2764.vars[2];\nres2789 = $with$vals2764.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1172],4,$t,false);\n}\nvar with$vals2764 = $with$vals2764;\nvar left2765 = $left2765;\nvar right2766 = $right2766;\nvar cause2767 = $cause2767;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2768 = R.mC();\n}\nwhile(!R.isContinuation($ans2768)) {\nswitch($step2762) {\ncase 0: // caller optimization;\n$ans2768 = is$function4.app(left2765);\nvar anf_if1202 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if1202)?1:2;\nbreak;\ncase 1: $step2762 = 3;\n$ans2768 = left2765;\nbreak;\ncase 2: $step2762 = 3;\n$al2769 = L[1197];\n$ans2768 = G(left2765,\"v\",L[1197]);\nbreak;\ncase 3: var anf_arg2772 = $ans2768;\n$step2762 = 4;\n$al2769 = L[1196];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg2772);\nbreak;\ncase 4: var lv2773 = $ans2768;\n$step2762 = 5;\n$al2769 = L[1195];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(lv2773);\nbreak;\ncase 5: var anf_if2796 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2796)?6:7;\nbreak;\ncase 6: $al2769 = L[1173];\nvar anf_arg1185 = G(lv2773,\"v\",L[1173]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1185,on$left256.$var);\nvar anf_arg1181 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1174];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg1181);\nbreak;\ncase 7: // caller optimization;\n$ans2768 = is$function4.app(right2766);\nvar anf_if2795 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2795)?8:9;\nbreak;\ncase 8: $step2762 = 10;\n$ans2768 = right2766;\nbreak;\ncase 9: $step2762 = 10;\n$al2769 = L[1194];\n$ans2768 = G(right2766,\"v\",L[1194]);\nbreak;\ncase 10: var anf_arg2774 = $ans2768;\n$step2762 = 11;\n$al2769 = L[1193];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg2774);\nbreak;\ncase 11: var rv2775 = $ans2768;\n$step2762 = 12;\n$al2769 = L[1192];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(rv2775);\nbreak;\ncase 12: var anf_if2794 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2794)?13:14;\nbreak;\ncase 13: $al2769 = L[1175];\nvar anf_arg1187 = G(rv2775,\"v\",L[1175]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1187,on$right260.$var);\nvar anf_arg2776 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1176];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg2776);\nbreak;\ncase 14: // caller optimization;\n$ans2768 = is$function4.app(cause2767);\nvar anf_if2793 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2793)?15:16;\nbreak;\ncase 15: $step2762 = 17;\n$ans2768 = cause2767;\nbreak;\ncase 16: $step2762 = 17;\n$al2769 = L[1191];\n$ans2768 = G(cause2767,\"v\",L[1191]);\nbreak;\ncase 17: var anf_arg1199 = $ans2768;\n$step2762 = 18;\n$al2769 = L[1190];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg1199);\nbreak;\ncase 18: var cv2777 = $ans2768;\n$step2762 = 19;\n$al2769 = L[1189];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(cv2777);\nbreak;\ncase 19: var anf_if2792 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2792)?20:21;\nbreak;\ncase 20: $al2769 = L[1177];\nvar anf_arg1200 = G(cv2777,\"v\",L[1177]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1200,on$cause267.$var);\nvar anf_arg2779 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1178];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg2779);\nbreak;\ncase 21: var $temp_lam2781 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1179($$resumer13) {\nvar $step2780 = 0;\nvar $elidedFrames2785 = 0;\nvar $ans2782 = D;\nvar $al2783 = L[1179];\nif(R.isAR($$resumer13)) {\n$step2780 = $$resumer13.step;\n$al2783 = $$resumer13.from;\n$ans2782 = $$resumer13.ans;\n$elidedFrames2785 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1179],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2782 = R.mC();\n}\nwhile(!R.isContinuation($ans2782)) {\nswitch($step2780) {\ncase 0: $al2783 = L[1180];\nvar anf_arg1195 = G(lv2773,\"v\",L[1180]);\n$al2783 = L[1181];\nvar anf_arg1192 = G(rv2775,\"v\",L[1181]);\n$al2783 = L[1182];\nvar anf_arg2787 = G(cv2777,\"v\",L[1182]);\n$step2780 = 1;\n$al2783 = L[1183];\nif(typeof(with$vals2764.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2783,with$vals2764);\n}\n$ans2782 = with$vals2764.app(anf_arg1195,anf_arg1192,anf_arg2787);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans2782;\ndefault: R.ffi.throwSpinnakerError(L[1179],$step2780);\n}\n}\nif($step2780 !== 1) {\n$ans2782.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2783,$temp_lam2781,$step2780,[],[],$elidedFrames2785);\n}\nreturn $ans2782;\n};\nvar anf_arg1191 = R.mF($temp_lam2781,\"\");\n$step2762 = 22;\n$al2769 = L[1188];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,run$task1);\n}\n$ans2768 = run$task1.app(anf_arg1191);\nbreak;\ncase 22: var res2789 = $ans2768;\n$step2762 = 23;\n$al2769 = L[1187];\nif(typeof(either20.dict.values.dict[\"is-right\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al2769,either20.dict.values.dict[\"is-right\"]);\n}\n$ans2768 = either20.dict.values.dict[\"is-right\"].app(res2789);\nbreak;\ncase 23: var anf_if2791 = $ans2768;\n$step2762 = R.checkPyretTrue(anf_if2791)?24:25;\nbreak;\ncase 24: $al2769 = L[1184];\nvar anf_arg1196 = G(res2789,\"v\",L[1184]);\n// caller optimization;\n$ans2768 = failure$exn2656.$var.app(loc2331,anf_arg1196,on$refinement264.$var);\nvar anf_arg1197 = $ans2768;\n$step2762 = 26;\n$al2769 = L[1185];\n// omitting isFunction check;\n$ans2768 = add$result2718.$var.app(anf_arg1197);\nbreak;\ncase 25: $step2762 = 26;\n$al2769 = L[1186];\n$ans2768 = G(res2789,\"v\",L[1186]);\nbreak;\ncase 26: ++R.GAS;\nreturn $ans2768;\ndefault: R.ffi.throwSpinnakerError(L[1172],$step2762);\n}\n}\nif($step2762 !== 26) {\n$ans2768.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2769,$temp_lam2763,$step2762,[with$vals2764,left2765,right2766,cause2767],[cv2777,lv2773,rv2775,res2789],$elidedFrames2771);\n}\nreturn $ans2768;\n};\n$ans2758 = R.mF($temp_lam2763,\"\");\nbreak;\ncase 1: return $ans2758;\ndefault: R.ffi.throwSpinnakerError(L[1171],$step2756);\n}\n}\nreturn $ans2758;\n};\nvar anf_assign2799 = R.mF($temp_lam2757,\"left-right-cause-check\");\nleft$right$cause$check2800.$var = anf_assign2799;\nR.nothing;\nvar $temp_lam2802 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1198($loc2803,$test$result2804,$on$failure2805) {\nvar $step2801 = 0;\nvar $elidedFrames2809 = 0;\nvar $ans2806 = D;\nvar $al2807 = L[1198];\nif(R.isAR($loc2803)) {\n$step2801 = $loc2803.step;\n$al2807 = $loc2803.from;\n$ans2806 = $loc2803.ans;\n$elidedFrames2809 = $loc2803.elidedFrames;\nloc2803 = $loc2803.args[0];\ntest$result2804 = $loc2803.args[1];\non$failure2805 = $loc2803.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1198],3,$t,false);\n}\nvar loc2803 = $loc2803;\nvar test$result2804 = $test$result2804;\nvar on$failure2805 = $on$failure2805;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2806 = R.mC();\n}\nwhile(!R.isContinuation($ans2806)) {\nswitch($step2801) {\ncase 0: $step2801 = R.checkPyretTrue(test$result2804)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans2806 = success2624.$var.app(loc2803);\nvar anf_arg2810 = $ans2806;\n$step2801 = 4;\n$al2807 = L[1199];\n// omitting isFunction check;\n$ans2806 = add$result2718.$var.app(anf_arg2810);\nbreak;\ncase 2: $step2801 = 3;\n$al2807 = L[1201];\nif(typeof(on$failure2805.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2807,on$failure2805);\n}\n$ans2806 = on$failure2805.app();\nbreak;\ncase 3: var anf_arg2811 = $ans2806;\n$step2801 = 4;\n$al2807 = L[1200];\n// omitting isFunction check;\n$ans2806 = add$result2718.$var.app(anf_arg2811);\nbreak;\ncase 4: ++R.GAS;\nreturn $ans2806;\ndefault: R.ffi.throwSpinnakerError(L[1198],$step2801);\n}\n}\nif($step2801 !== 4) {\n$ans2806.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2807,$temp_lam2802,$step2801,[loc2803,test$result2804,on$failure2805],[],$elidedFrames2809);\n}\nreturn $ans2806;\n};\nvar anf_assign2813 = R.mF($temp_lam2802,\"check-bool\");\ncheck$bool2814.$var = anf_assign2813;\nR.nothing;\nvar $temp_lam2816 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1202($$resumer13) {\nvar $step2815 = 0;\nvar $elidedFrames2820 = 0;\nvar $ans2817 = D;\nvar $al2818 = L[1202];\nif(R.isAR($$resumer13)) {\n$step2815 = $$resumer13.step;\n$al2818 = $$resumer13.from;\n$ans2817 = $$resumer13.ans;\n$elidedFrames2820 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1202],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2817 = R.mC();\n}\nwhile(!R.isContinuation($ans2817)) {\nswitch($step2815) {\ncase 0: $ans2817 = R.getMaker0(list6,(\"make0\"),L[1203],L[1204]);\nvar anf_fun2821 = $ans2817;\n$step2815 = 1;\n$al2818 = L[1204];\nif(typeof(anf_fun2821.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2818,anf_fun2821);\n}\n$ans2817 = anf_fun2821.app();\nbreak;\ncase 1: var anf_assign2822 = $ans2817;\n$step2815 = 2;\ncurrent$results2713.$var = anf_assign2822;\n$ans2817 = R.nothing;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2817;\ndefault: R.ffi.throwSpinnakerError(L[1202],$step2815);\n}\n}\nif($step2815 !== 2) {\n$ans2817.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2818,$temp_lam2816,$step2815,[],[],$elidedFrames2820);\n}\nreturn $ans2817;\n};\nvar anf_assign2824 = R.mF($temp_lam2816,\"reset-results\");\nreset$results2825.$var = anf_assign2824;\nR.nothing;\nvar $temp_full2828 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1205($self2829,$module$name2830,$checks2831) {\nvar $step2827 = 0;\nvar $elidedFrames2835 = 0;\nvar $ans2832 = D;\nvar $al2833 = L[1205];\nif(R.isAR($self2829)) {\n$step2827 = $self2829.step;\n$al2833 = $self2829.from;\n$ans2832 = $self2829.ans;\n$elidedFrames2835 = $self2829.elidedFrames;\nself2829 = $self2829.args[0];\nmodule$name2830 = $self2829.args[1];\nchecks2831 = $self2829.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1205],3,$t,true);\n}\nvar self2829 = $self2829;\nvar module$name2830 = $module$name2830;\nvar checks2831 = $checks2831;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2832 = R.mC();\n}\nwhile(!R.isContinuation($ans2832)) {\nswitch($step2827) {\ncase 0: $step2827 = R.checkPyretTrue(check$all2684)?1:2;\nbreak;\ncase 1: $step2827 = 4;\n$ans2832 = (true);\nbreak;\ncase 2: $step2827 = 3;\n$al2833 = L[1222];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2833,equal$always1);\n}\n$ans2832 = equal$always1.app(module$name2830,main$module$name2683);\nbreak;\ncase 3: var anf_arg1220 = $ans2832;\n$ans2832 = R.checkWrapBoolean(anf_arg1220);\n$step2827 = 4;\nbreak;\ncase 4: var anf_if2862 = $ans2832;\n$step2827 = R.checkPyretTrue(anf_if2862)?5:7;\nbreak;\ncase 5: var $temp_lam2837 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1206($c2838) {\nvar $step2836 = 0;\nvar $elidedFrames2842 = 0;\nvar $ans2839 = D;\nvar $al2840 = L[1206];\nif(R.isAR($c2838)) {\n$step2836 = $c2838.step;\n$al2840 = $c2838.from;\n$ans2839 = $c2838.ans;\n$elidedFrames2842 = $c2838.elidedFrames;\nc2838 = $c2838.args[0];\nresults$before2846 = $c2838.vars[0];\ncases2845 = $c2838.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1206],1,$t,false);\n}\nvar c2838 = $c2838;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2839 = R.mC();\n}\nwhile(!R.isContinuation($ans2839)) {\nswitch($step2836) {\ncase 0: var results$before2846 = current$results2713.$var;\n$step2836 = 1;\n$al2840 = L[1221];\n// omitting isFunction check;\n$ans2839 = reset$results2825.$var.app();\nbreak;\ncase 1: $al2840 = L[1207];\nvar anf_arg2843 = G(c2838,\"run\",L[1207]);\n$step2836 = 2;\n$al2840 = L[1220];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2840,run$task1);\n}\n$ans2839 = run$task1.app(anf_arg2843);\nbreak;\ncase 2: var result2844 = $ans2839;\nvar cases2845 = result2844;\n$step2836 = 3;\n$al2840 = L[1219];\nvar $ann$check2859 = R._cA(L[1219],R.gDA(L[1219],\"either\",either20.dict.types,\"Either\"),cases2845);\nif(R.isContinuation($ann$check2859)) {\n$ans2839 = $ann$check2859;\n}\nbreak;\ncase 3: $al2840 = L[1213];\n$step2836 = $cases_dispatch2858[cases2845.$name] || 6;\nbreak;\ncase 4: if(cases2845.$arity !== 1) {\nif(cases2845.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1212],1,cases2845.$arity,L[1213],cases2845.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1212],true,L[1213],cases2845.$loc);\n}\n}\nvar $fn2851 = cases2845.$constructor.$fieldNames;\nR.dF(cases2845.dict[$fn2851[0]],cases2845.$mut_fields_mask[0],false);\n$al2840 = L[1208];\nvar anf_arg2847 = G(c2838,\"name\",L[1208]);\n$al2840 = L[1209];\nvar anf_arg1248 = G(c2838,\"location\",L[1209]);\n$al2840 = L[1210];\nvar anf_arg1249 = G(c2838,\"keyword-check\",L[1210]);\nvar anf_arg1250 = current$results2713.$var;\n// caller optimization;\n$ans2839 = check$block$result284.$var.app(anf_arg2847,anf_arg1248,anf_arg1249,anf_arg1250,none14);\nvar anf_arg2849 = $ans2839;\n$step2836 = 7;\n$al2840 = L[1211];\n// omitting isFunction check;\n$ans2839 = add$block$result2703.$var.app(anf_arg2849);\nbreak;\ncase 5: if(cases2845.$arity !== 1) {\nif(cases2845.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1218],1,cases2845.$arity,L[1213],cases2845.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1218],true,L[1213],cases2845.$loc);\n}\n}\nvar $fn2857 = cases2845.$constructor.$fieldNames;\nvar err2853 = R.dF(cases2845.dict[$fn2857[0]],cases2845.$mut_fields_mask[0],false);\n$al2840 = L[1214];\nvar anf_arg2854 = G(c2838,\"name\",L[1214]);\n$al2840 = L[1215];\nvar anf_arg1233 = G(c2838,\"location\",L[1215]);\n$al2840 = L[1216];\nvar anf_arg1237 = G(c2838,\"keyword-check\",L[1216]);\nvar anf_arg2855 = current$results2713.$var;\n// caller optimization;\n$ans2839 = some12.app(err2853);\nvar anf_arg1235 = $ans2839;\n// caller optimization;\n$ans2839 = check$block$result284.$var.app(anf_arg2854,anf_arg1233,anf_arg1237,anf_arg2855,anf_arg1235);\nvar anf_arg1238 = $ans2839;\n$step2836 = 7;\n$al2840 = L[1217];\n// omitting isFunction check;\n$ans2839 = add$block$result2703.$var.app(anf_arg1238);\nbreak;\ncase 6: $ans2839 = R.throwNoCasesMatched(L[1213],cases2845);\n$step2836 = 7;\nbreak;\ncase 7: $step2836 = 8;\ncurrent$results2713.$var = results$before2846;\n$ans2839 = R.nothing;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2839;\ndefault: R.ffi.throwSpinnakerError(L[1206],$step2836);\n}\n}\nif($step2836 !== 8) {\n$ans2839.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2840,$temp_lam2837,$step2836,[c2838],[results$before2846,cases2845],$elidedFrames2842);\n}\nreturn $ans2839;\n};\nvar anf_arg2861 = R.mF($temp_lam2837,\"for-body\");\n$step2827 = 6;\n$al2833 = L[1206];\n// omitting isFunction check;\n$ans2832 = each9.app(anf_arg2861,checks2831);\nbreak;\ncase 6: $step2827 = 8;\n$ans2832 = nothing2;\nbreak;\ncase 7: $step2827 = 8;\n$ans2832 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2832;\ndefault: R.ffi.throwSpinnakerError(L[1205],$step2827);\n}\n}\nif($step2827 !== 8) {\n$ans2832.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2833,$temp_full2828,$step2827,[self2829,module$name2830,checks2831],[],$elidedFrames2835);\n}\nreturn $ans2832;\n};\nvar anf_obj5032 = R.makeMethod2($temp_full2828,\"run-checks\");\nvar $temp_full2865 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1223($self2621,$left2866,$right2867,$loc2868) {\nvar $step2864 = 0;\nvar $elidedFrames2872 = 0;\nvar $ans2869 = D;\nvar $al2870 = L[1223];\nif(R.isAR($self2621)) {\n$step2864 = $self2621.step;\n$al2870 = $self2621.from;\n$ans2869 = $self2621.ans;\n$elidedFrames2872 = $self2621.elidedFrames;\nself2621 = $self2621.args[0];\nleft2866 = $self2621.args[1];\nright2867 = $self2621.args[2];\nloc2868 = $self2621.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1223],4,$t,true);\n}\nvar self2621 = $self2621;\nvar left2866 = $left2866;\nvar right2867 = $right2867;\nvar loc2868 = $loc2868;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2869 = R.mC();\n}\nwhile(!R.isContinuation($ans2869)) {\nswitch($step2864) {\ncase 0: // caller optimization;\n$ans2869 = left$right$check2755.$var.app(loc2868);\nvar anf_fun2896 = $ans2869;\nvar $temp_lam2875 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1224($lv2876,$rv2877) {\nvar $step2874 = 0;\nvar $elidedFrames2881 = 0;\nvar $ans2878 = D;\nvar $al2879 = L[1224];\nif(R.isAR($lv2876)) {\n$step2874 = $lv2876.step;\n$al2879 = $lv2876.from;\n$ans2878 = $lv2876.ans;\n$elidedFrames2881 = $lv2876.elidedFrames;\nlv2876 = $lv2876.args[0];\nrv2877 = $lv2876.args[1];\neq$lv$rv2882 = $lv2876.vars[0];\ncases2883 = $lv2876.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1224],2,$t,false);\n}\nvar lv2876 = $lv2876;\nvar rv2877 = $rv2877;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2878 = R.mC();\n}\nwhile(!R.isContinuation($ans2878)) {\nswitch($step2874) {\ncase 0: $step2874 = 1;\n$al2879 = L[1233];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2879,equal$always37);\n}\n$ans2878 = equal$always37.app(lv2876,rv2877);\nbreak;\ncase 1: var eq$lv$rv2882 = $ans2878;\nvar cases2883 = eq$lv$rv2882;\n$step2874 = 2;\n$al2879 = L[1232];\nvar $ann$check2894 = R._cA(L[1232],EqualityResult18,cases2883);\nif(R.isContinuation($ann$check2894)) {\n$ans2878 = $ann$check2894;\n}\nbreak;\ncase 2: $al2879 = L[1227];\n$step2874 = $cases_dispatch2893[cases2883.$name] || 6;\nbreak;\ncase 3: if(cases2883.$arity !== 3) {\nif(cases2883.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1226],3,cases2883.$arity,L[1227],cases2883.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1226],true,L[1227],cases2883.$loc);\n}\n}\nvar $fn2885 = cases2883.$constructor.$fieldNames;\nR.dF(cases2883.dict[$fn2885[0]],cases2883.$mut_fields_mask[0],false);\nR.dF(cases2883.dict[$fn2885[1]],cases2883.$mut_fields_mask[1],false);\nR.dF(cases2883.dict[$fn2885[2]],cases2883.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2878 = failure$is$incomparable2632.$var.app(loc2868,eq$lv$rv2882,lv2876,on$left256.$var,rv2877,on$right260.$var);\nvar anf_arg1240 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1225];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg1240);\nbreak;\ncase 4: if(cases2883.$arity !== 3) {\nif(cases2883.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1229],3,cases2883.$arity,L[1227],cases2883.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1229],true,L[1227],cases2883.$loc);\n}\n}\nvar $fn2889 = cases2883.$constructor.$fieldNames;\nR.dF(cases2883.dict[$fn2889[0]],cases2883.$mut_fields_mask[0],false);\nR.dF(cases2883.dict[$fn2889[1]],cases2883.$mut_fields_mask[1],false);\nR.dF(cases2883.dict[$fn2889[2]],cases2883.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2878 = failure$not$equal2628.$var.app(loc2868,none14,lv2876,on$left256.$var,rv2877,on$right260.$var);\nvar anf_arg1245 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1228];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg1245);\nbreak;\ncase 5: if(cases2883.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1231],false,L[1227],cases2883.$loc);\n}\n// caller optimization;\n$ans2878 = success2624.$var.app(loc2868);\nvar anf_arg2892 = $ans2878;\n$step2874 = 7;\n$al2879 = L[1230];\n// omitting isFunction check;\n$ans2878 = add$result2718.$var.app(anf_arg2892);\nbreak;\ncase 6: $ans2878 = R.throwNoCasesMatched(L[1227],cases2883);\n$step2874 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2878;\ndefault: R.ffi.throwSpinnakerError(L[1224],$step2874);\n}\n}\nif($step2874 !== 7) {\n$ans2878.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2879,$temp_lam2875,$step2874,[lv2876,rv2877],[eq$lv$rv2882,cases2883],$elidedFrames2881);\n}\nreturn $ans2878;\n};\nvar anf_arg1242 = R.mF($temp_lam2875,\"for-body\");\n$step2864 = 1;\n$al2870 = L[1224];\nif(typeof(anf_fun2896.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2870,anf_fun2896);\n}\n$ans2869 = anf_fun2896.app(anf_arg1242,left2866,right2867);\nbreak;\ncase 1: $step2864 = 2;\n$ans2869 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2869;\ndefault: R.ffi.throwSpinnakerError(L[1223],$step2864);\n}\n}\nif($step2864 !== 2) {\n$ans2869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2870,$temp_full2865,$step2864,[self2621,left2866,right2867,loc2868],[],$elidedFrames2872);\n}\nreturn $ans2869;\n};\nvar anf_obj5033 = R.makeMethod3($temp_full2865,\"check-is\");\nvar $temp_full2899 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1234($self2900,$left2901,$right2902,$cause2903,$loc2904) {\nvar $step2898 = 0;\nvar $elidedFrames2908 = 0;\nvar $ans2905 = D;\nvar $al2906 = L[1234];\nif(R.isAR($self2900)) {\n$step2898 = $self2900.step;\n$al2906 = $self2900.from;\n$ans2905 = $self2900.ans;\n$elidedFrames2908 = $self2900.elidedFrames;\nself2900 = $self2900.args[0];\nleft2901 = $self2900.args[1];\nright2902 = $self2900.args[2];\ncause2903 = $self2900.args[3];\nloc2904 = $self2900.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1234],5,$t,true);\n}\nvar self2900 = $self2900;\nvar left2901 = $left2901;\nvar right2902 = $right2902;\nvar cause2903 = $cause2903;\nvar loc2904 = $loc2904;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2905 = R.mC();\n}\nwhile(!R.isContinuation($ans2905)) {\nswitch($step2898) {\ncase 0: // caller optimization;\n$ans2905 = left$right$cause$check2800.$var.app(loc2904);\nvar anf_fun2960 = $ans2905;\nvar $temp_lam2910 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1235($lv2911,$rv2912,$cv2913) {\nvar $step2909 = 0;\nvar $elidedFrames2917 = 0;\nvar $ans2914 = D;\nvar $al2915 = L[1235];\nif(R.isAR($lv2911)) {\n$step2909 = $lv2911.step;\n$al2915 = $lv2911.from;\n$ans2914 = $lv2911.ans;\n$elidedFrames2917 = $lv2911.elidedFrames;\nlv2911 = $lv2911.args[0];\nrv2912 = $lv2911.args[1];\ncv2913 = $lv2911.args[2];\neq$cv$rv2918 = $lv2911.vars[0];\ncases2919 = $lv2911.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1235],3,$t,false);\n}\nvar lv2911 = $lv2911;\nvar rv2912 = $rv2912;\nvar cv2913 = $cv2913;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2914 = R.mC();\n}\nwhile(!R.isContinuation($ans2914)) {\nswitch($step2909) {\ncase 0: $step2909 = 1;\n$al2915 = L[1253];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2915,equal$always37);\n}\n$ans2914 = equal$always37.app(cv2913,rv2912);\nbreak;\ncase 1: var eq$cv$rv2918 = $ans2914;\nvar cases2919 = eq$cv$rv2918;\n$step2909 = 2;\n$al2915 = L[1252];\nvar $ann$check2958 = R._cA(L[1252],EqualityResult18,cases2919);\nif(R.isContinuation($ann$check2958)) {\n$ans2914 = $ann$check2958;\n}\nbreak;\ncase 2: $al2915 = L[1238];\n$step2909 = $cases_dispatch2957[cases2919.$name] || 6;\nbreak;\ncase 3: if(cases2919.$arity !== 3) {\nif(cases2919.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1237],3,cases2919.$arity,L[1238],cases2919.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1237],true,L[1238],cases2919.$loc);\n}\n}\nvar $fn2922 = cases2919.$constructor.$fieldNames;\nR.dF(cases2919.dict[$fn2922[0]],cases2919.$mut_fields_mask[0],false);\nR.dF(cases2919.dict[$fn2922[1]],cases2919.$mut_fields_mask[1],false);\nR.dF(cases2919.dict[$fn2922[2]],cases2919.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2914 = failure$is$incomparable2632.$var.app(loc2904,eq$cv$rv2918,cv2913,on$cause267.$var,rv2912,on$right260.$var);\nvar anf_arg2920 = $ans2914;\n$step2909 = 7;\n$al2915 = L[1236];\n// omitting isFunction check;\n$ans2914 = add$result2718.$var.app(anf_arg2920);\nbreak;\ncase 4: if(cases2919.$arity !== 3) {\nif(cases2919.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1240],3,cases2919.$arity,L[1238],cases2919.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1240],true,L[1238],cases2919.$loc);\n}\n}\nvar $fn2926 = cases2919.$constructor.$fieldNames;\nR.dF(cases2919.dict[$fn2926[0]],cases2919.$mut_fields_mask[0],false);\nR.dF(cases2919.dict[$fn2926[1]],cases2919.$mut_fields_mask[1],false);\nR.dF(cases2919.dict[$fn2926[2]],cases2919.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2914 = failure$not$equal2628.$var.app(loc2904,none14,cv2913,on$cause267.$var,rv2912,on$right260.$var);\nvar anf_arg1260 = $ans2914;\n$step2909 = 7;\n$al2915 = L[1239];\n// omitting isFunction check;\n$ans2914 = add$result2718.$var.app(anf_arg1260);\nbreak;\ncase 5: if(cases2919.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1251],false,L[1238],cases2919.$loc);\n}\n$step2909 = 7;\n$al2915 = L[1251];\nvar $temp_branch2944 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1238($$resumer13) {\nvar $step2945 = 0;\nvar $elidedFrames2949 = 0;\nvar $ans2946 = D;\nvar $al2947 = L[1250];\nif(R.isAR($$resumer13)) {\n$step2945 = $$resumer13.step;\n$al2947 = $$resumer13.from;\n$ans2946 = $$resumer13.ans;\n$elidedFrames2949 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\neq$lv$rv2929 = $$resumer13.vars[0];\ncases2930 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2946 = R.mC();\n}\nwhile(!R.isContinuation($ans2946)) {\nswitch($step2945) {\ncase 0: $step2945 = 1;\n$al2947 = L[1249];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2947,equal$always37);\n}\n$ans2946 = equal$always37.app(lv2911,rv2912);\nbreak;\ncase 1: var eq$lv$rv2929 = $ans2946;\nvar cases2930 = eq$lv$rv2929;\n$step2945 = 2;\n$al2947 = L[1248];\nvar $ann$check2955 = R._cA(L[1248],EqualityResult18,cases2930);\nif(R.isContinuation($ann$check2955)) {\n$ans2946 = $ann$check2955;\n}\nbreak;\ncase 2: $al2947 = L[1243];\n$step2945 = $cases_dispatch2954[cases2930.$name] || 6;\nbreak;\ncase 3: if(cases2930.$arity !== 3) {\nif(cases2930.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1242],3,cases2930.$arity,L[1243],cases2930.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1242],true,L[1243],cases2930.$loc);\n}\n}\nvar $fn2951 = cases2930.$constructor.$fieldNames;\nR.dF(cases2930.dict[$fn2951[0]],cases2930.$mut_fields_mask[0],false);\nR.dF(cases2930.dict[$fn2951[1]],cases2930.$mut_fields_mask[1],false);\nR.dF(cases2930.dict[$fn2951[2]],cases2930.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2946 = failure$is$incomparable2632.$var.app(loc2904,eq$lv$rv2929,lv2911,on$left256.$var,rv2912,on$right260.$var);\nvar anf_arg1264 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1241];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg1264);\nbreak;\ncase 4: if(cases2930.$arity !== 3) {\nif(cases2930.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1245],3,cases2930.$arity,L[1243],cases2930.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1245],true,L[1243],cases2930.$loc);\n}\n}\nvar $fn2953 = cases2930.$constructor.$fieldNames;\nR.dF(cases2930.dict[$fn2953[0]],cases2930.$mut_fields_mask[0],false);\nR.dF(cases2930.dict[$fn2953[1]],cases2930.$mut_fields_mask[1],false);\nR.dF(cases2930.dict[$fn2953[2]],cases2930.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2946 = failure$not$equal2628.$var.app(loc2904,none14,lv2911,on$left256.$var,rv2912,on$right260.$var);\nvar anf_arg2936 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1244];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg2936);\nbreak;\ncase 5: if(cases2930.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1247],false,L[1243],cases2930.$loc);\n}\n// caller optimization;\n$ans2946 = success2624.$var.app(loc2904);\nvar anf_arg1262 = $ans2946;\n$step2945 = 7;\n$al2947 = L[1246];\n// omitting isFunction check;\n$ans2946 = add$result2718.$var.app(anf_arg1262);\nbreak;\ncase 6: $ans2946 = R.throwNoCasesMatched(L[1243],cases2930);\n$step2945 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2946;\ndefault: R.ffi.throwSpinnakerError(L[1250],$step2945);\n}\n}\nif($step2945 !== 7) {\n$ans2946.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2947,$temp_branch2944,$step2945,[],[eq$lv$rv2929,cases2930],$elidedFrames2949);\n}\nreturn $ans2946;\n};\n$ans2914 = cases2919.$app_fields($temp_branch2944,[]);\nbreak;\ncase 6: $ans2914 = R.throwNoCasesMatched(L[1238],cases2919);\n$step2909 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans2914;\ndefault: R.ffi.throwSpinnakerError(L[1235],$step2909);\n}\n}\nif($step2909 !== 7) {\n$ans2914.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2915,$temp_lam2910,$step2909,[lv2911,rv2912,cv2913],[eq$cv$rv2918,cases2919],$elidedFrames2917);\n}\nreturn $ans2914;\n};\nvar anf_arg1265 = R.mF($temp_lam2910,\"for-body\");\n$step2898 = 1;\n$al2906 = L[1235];\nif(typeof(anf_fun2960.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2906,anf_fun2960);\n}\n$ans2905 = anf_fun2960.app(anf_arg1265,left2901,right2902,cause2903);\nbreak;\ncase 1: $step2898 = 2;\n$ans2905 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2905;\ndefault: R.ffi.throwSpinnakerError(L[1234],$step2898);\n}\n}\nif($step2898 !== 2) {\n$ans2905.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2906,$temp_full2899,$step2898,[self2900,left2901,right2902,cause2903,loc2904],[],$elidedFrames2908);\n}\nreturn $ans2905;\n};\nvar anf_obj5034 = R.makeMethod4($temp_full2899,\"check-is-cause\");\nvar $temp_full2963 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1254($self2964,$left2965,$right2966,$loc2967) {\nvar $step2962 = 0;\nvar $elidedFrames2971 = 0;\nvar $ans2968 = D;\nvar $al2969 = L[1254];\nif(R.isAR($self2964)) {\n$step2962 = $self2964.step;\n$al2969 = $self2964.from;\n$ans2968 = $self2964.ans;\n$elidedFrames2971 = $self2964.elidedFrames;\nself2964 = $self2964.args[0];\nleft2965 = $self2964.args[1];\nright2966 = $self2964.args[2];\nloc2967 = $self2964.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1254],4,$t,true);\n}\nvar self2964 = $self2964;\nvar left2965 = $left2965;\nvar right2966 = $right2966;\nvar loc2967 = $loc2967;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2968 = R.mC();\n}\nwhile(!R.isContinuation($ans2968)) {\nswitch($step2962) {\ncase 0: // caller optimization;\n$ans2968 = left$right$check2755.$var.app(loc2967);\nvar anf_fun2997 = $ans2968;\nvar $temp_lam2973 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1255($lv2974,$rv2975) {\nvar $step2972 = 0;\nvar $elidedFrames2979 = 0;\nvar $ans2976 = D;\nvar $al2977 = L[1255];\nif(R.isAR($lv2974)) {\n$step2972 = $lv2974.step;\n$al2977 = $lv2974.from;\n$ans2976 = $lv2974.ans;\n$elidedFrames2979 = $lv2974.elidedFrames;\nlv2974 = $lv2974.args[0];\nrv2975 = $lv2974.args[1];\neq$lv$rv2981 = $lv2974.vars[0];\ncases2982 = $lv2974.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1255],2,$t,false);\n}\nvar lv2974 = $lv2974;\nvar rv2975 = $rv2975;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans2976 = R.mC();\n}\nwhile(!R.isContinuation($ans2976)) {\nswitch($step2972) {\ncase 0: $step2972 = 1;\n$ans2976 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1256],R.makeNumberFromString(\"~0.000001\"));\nbreak;\ncase 1: var anf_fun2980 = $ans2976;\n$step2972 = 2;\n$al2977 = L[1265];\nif(typeof(anf_fun2980.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2977,anf_fun2980);\n}\n$ans2976 = anf_fun2980.app(lv2974,rv2975);\nbreak;\ncase 2: var eq$lv$rv2981 = $ans2976;\nvar cases2982 = eq$lv$rv2981;\n$step2972 = 3;\n$al2977 = L[1264];\nvar $ann$check2995 = R._cA(L[1264],EqualityResult18,cases2982);\nif(R.isContinuation($ann$check2995)) {\n$ans2976 = $ann$check2995;\n}\nbreak;\ncase 3: $al2977 = L[1259];\n$step2972 = $cases_dispatch2994[cases2982.$name] || 7;\nbreak;\ncase 4: if(cases2982.$arity !== 3) {\nif(cases2982.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1258],3,cases2982.$arity,L[1259],cases2982.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1258],true,L[1259],cases2982.$loc);\n}\n}\nvar $fn2985 = cases2982.$constructor.$fieldNames;\nR.dF(cases2982.dict[$fn2985[0]],cases2982.$mut_fields_mask[0],false);\nR.dF(cases2982.dict[$fn2985[1]],cases2982.$mut_fields_mask[1],false);\nR.dF(cases2982.dict[$fn2985[2]],cases2982.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2976 = failure$is$incomparable2632.$var.app(loc2967,eq$lv$rv2981,lv2974,on$left256.$var,rv2975,on$right260.$var);\nvar anf_arg2983 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1257];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg2983);\nbreak;\ncase 5: if(cases2982.$arity !== 3) {\nif(cases2982.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1261],3,cases2982.$arity,L[1259],cases2982.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1261],true,L[1259],cases2982.$loc);\n}\n}\nvar $fn2990 = cases2982.$constructor.$fieldNames;\nR.dF(cases2982.dict[$fn2990[0]],cases2982.$mut_fields_mask[0],false);\nR.dF(cases2982.dict[$fn2990[1]],cases2982.$mut_fields_mask[1],false);\nR.dF(cases2982.dict[$fn2990[2]],cases2982.$mut_fields_mask[2],false);\n// caller optimization;\n$ans2976 = failure$not$equal2628.$var.app(loc2967,none14,lv2974,on$left256.$var,rv2975,on$right260.$var);\nvar anf_arg1278 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1260];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg1278);\nbreak;\ncase 6: if(cases2982.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1263],false,L[1259],cases2982.$loc);\n}\n// caller optimization;\n$ans2976 = success2624.$var.app(loc2967);\nvar anf_arg1283 = $ans2976;\n$step2972 = 8;\n$al2977 = L[1262];\n// omitting isFunction check;\n$ans2976 = add$result2718.$var.app(anf_arg1283);\nbreak;\ncase 7: $ans2976 = R.throwNoCasesMatched(L[1259],cases2982);\n$step2972 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans2976;\ndefault: R.ffi.throwSpinnakerError(L[1255],$step2972);\n}\n}\nif($step2972 !== 8) {\n$ans2976.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2977,$temp_lam2973,$step2972,[lv2974,rv2975],[eq$lv$rv2981,cases2982],$elidedFrames2979);\n}\nreturn $ans2976;\n};\nvar anf_arg2998 = R.mF($temp_lam2973,\"for-body\");\n$step2962 = 1;\n$al2969 = L[1255];\nif(typeof(anf_fun2997.app) !== \"function\") {\nR.ffi.throwNonFunApp($al2969,anf_fun2997);\n}\n$ans2968 = anf_fun2997.app(anf_arg2998,left2965,right2966);\nbreak;\ncase 1: $step2962 = 2;\n$ans2968 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans2968;\ndefault: R.ffi.throwSpinnakerError(L[1254],$step2962);\n}\n}\nif($step2962 !== 2) {\n$ans2968.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2969,$temp_full2963,$step2962,[self2964,left2965,right2966,loc2967],[],$elidedFrames2971);\n}\nreturn $ans2968;\n};\nvar anf_obj5035 = R.makeMethod3($temp_full2963,\"check-is-roughly\");\nvar $temp_full3001 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1266($self3002,$left3003,$right3004,$cause3005,$loc3006) {\nvar $step3000 = 0;\nvar $elidedFrames3010 = 0;\nvar $ans3007 = D;\nvar $al3008 = L[1266];\nif(R.isAR($self3002)) {\n$step3000 = $self3002.step;\n$al3008 = $self3002.from;\n$ans3007 = $self3002.ans;\n$elidedFrames3010 = $self3002.elidedFrames;\nself3002 = $self3002.args[0];\nleft3003 = $self3002.args[1];\nright3004 = $self3002.args[2];\ncause3005 = $self3002.args[3];\nloc3006 = $self3002.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1266],5,$t,true);\n}\nvar self3002 = $self3002;\nvar left3003 = $left3003;\nvar right3004 = $right3004;\nvar cause3005 = $cause3005;\nvar loc3006 = $loc3006;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3007 = R.mC();\n}\nwhile(!R.isContinuation($ans3007)) {\nswitch($step3000) {\ncase 0: // caller optimization;\n$ans3007 = left$right$cause$check2800.$var.app(loc3006);\nvar anf_fun3069 = $ans3007;\nvar $temp_lam3012 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1267($lv3013,$rv3014,$cv3015) {\nvar $step3011 = 0;\nvar $elidedFrames3019 = 0;\nvar $ans3016 = D;\nvar $al3017 = L[1267];\nif(R.isAR($lv3013)) {\n$step3011 = $lv3013.step;\n$al3017 = $lv3013.from;\n$ans3016 = $lv3013.ans;\n$elidedFrames3019 = $lv3013.elidedFrames;\nlv3013 = $lv3013.args[0];\nrv3014 = $lv3013.args[1];\ncv3015 = $lv3013.args[2];\ncases3023 = $lv3013.vars[0];\neq$cv$rv3022 = $lv3013.vars[1];\ntol3020 = $lv3013.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1267],3,$t,false);\n}\nvar lv3013 = $lv3013;\nvar rv3014 = $rv3014;\nvar cv3015 = $cv3015;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3016 = R.mC();\n}\nwhile(!R.isContinuation($ans3016)) {\nswitch($step3011) {\ncase 0: var tol3020 = R.makeNumberFromString(\"~0.000001\");\n$step3011 = 1;\n$ans3016 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1268],tol3020);\nbreak;\ncase 1: var anf_fun3021 = $ans3016;\n$step3011 = 2;\n$al3017 = L[1286];\nif(typeof(anf_fun3021.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3017,anf_fun3021);\n}\n$ans3016 = anf_fun3021.app(cv3015,rv3014);\nbreak;\ncase 2: var eq$cv$rv3022 = $ans3016;\nvar cases3023 = eq$cv$rv3022;\n$step3011 = 3;\n$al3017 = L[1285];\nvar $ann$check3067 = R._cA(L[1285],EqualityResult18,cases3023);\nif(R.isContinuation($ann$check3067)) {\n$ans3016 = $ann$check3067;\n}\nbreak;\ncase 3: $al3017 = L[1271];\n$step3011 = $cases_dispatch3066[cases3023.$name] || 7;\nbreak;\ncase 4: if(cases3023.$arity !== 3) {\nif(cases3023.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1270],3,cases3023.$arity,L[1271],cases3023.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1270],true,L[1271],cases3023.$loc);\n}\n}\nvar $fn3025 = cases3023.$constructor.$fieldNames;\nR.dF(cases3023.dict[$fn3025[0]],cases3023.$mut_fields_mask[0],false);\nR.dF(cases3023.dict[$fn3025[1]],cases3023.$mut_fields_mask[1],false);\nR.dF(cases3023.dict[$fn3025[2]],cases3023.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3016 = failure$is$incomparable2632.$var.app(loc3006,eq$cv$rv3022,cv3015,on$cause267.$var,rv3014,on$right260.$var);\nvar anf_arg1285 = $ans3016;\n$step3011 = 8;\n$al3017 = L[1269];\n// omitting isFunction check;\n$ans3016 = add$result2718.$var.app(anf_arg1285);\nbreak;\ncase 5: if(cases3023.$arity !== 3) {\nif(cases3023.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1273],3,cases3023.$arity,L[1271],cases3023.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1273],true,L[1271],cases3023.$loc);\n}\n}\nvar $fn3030 = cases3023.$constructor.$fieldNames;\nR.dF(cases3023.dict[$fn3030[0]],cases3023.$mut_fields_mask[0],false);\nR.dF(cases3023.dict[$fn3030[1]],cases3023.$mut_fields_mask[1],false);\nR.dF(cases3023.dict[$fn3030[2]],cases3023.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3016 = failure$not$equal2628.$var.app(loc3006,none14,cv3015,on$cause267.$var,rv3014,on$right260.$var);\nvar anf_arg1286 = $ans3016;\n$step3011 = 8;\n$al3017 = L[1272];\n// omitting isFunction check;\n$ans3016 = add$result2718.$var.app(anf_arg1286);\nbreak;\ncase 6: if(cases3023.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1284],false,L[1271],cases3023.$loc);\n}\n$step3011 = 8;\n$al3017 = L[1284];\nvar $temp_branch3050 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1271($$resumer13) {\nvar $step3051 = 0;\nvar $elidedFrames3055 = 0;\nvar $ans3052 = D;\nvar $al3053 = L[1274];\nif(R.isAR($$resumer13)) {\n$step3051 = $$resumer13.step;\n$al3053 = $$resumer13.from;\n$ans3052 = $$resumer13.ans;\n$elidedFrames3055 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\neq$lv$rv3035 = $$resumer13.vars[0];\ncases3036 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3052 = R.mC();\n}\nwhile(!R.isContinuation($ans3052)) {\nswitch($step3051) {\ncase 0: $step3051 = 1;\n$ans3052 = R.maybeMethodCall1(builtins1,\"within-rel3\",L[1274],tol3020);\nbreak;\ncase 1: var anf_fun3034 = $ans3052;\n$step3051 = 2;\n$al3053 = L[1283];\nif(typeof(anf_fun3034.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3053,anf_fun3034);\n}\n$ans3052 = anf_fun3034.app(lv3013,rv3014);\nbreak;\ncase 2: var eq$lv$rv3035 = $ans3052;\nvar cases3036 = eq$lv$rv3035;\n$step3051 = 3;\n$al3053 = L[1282];\nvar $ann$check3064 = R._cA(L[1282],EqualityResult18,cases3036);\nif(R.isContinuation($ann$check3064)) {\n$ans3052 = $ann$check3064;\n}\nbreak;\ncase 3: $al3053 = L[1277];\n$step3051 = $cases_dispatch3063[cases3036.$name] || 7;\nbreak;\ncase 4: if(cases3036.$arity !== 3) {\nif(cases3036.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1276],3,cases3036.$arity,L[1277],cases3036.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1276],true,L[1277],cases3036.$loc);\n}\n}\nvar $fn3059 = cases3036.$constructor.$fieldNames;\nR.dF(cases3036.dict[$fn3059[0]],cases3036.$mut_fields_mask[0],false);\nR.dF(cases3036.dict[$fn3059[1]],cases3036.$mut_fields_mask[1],false);\nR.dF(cases3036.dict[$fn3059[2]],cases3036.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3052 = failure$is$incomparable2632.$var.app(loc3006,eq$lv$rv3035,lv3013,on$left256.$var,rv3014,on$right260.$var);\nvar anf_arg1287 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1275];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg1287);\nbreak;\ncase 5: if(cases3036.$arity !== 3) {\nif(cases3036.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1279],3,cases3036.$arity,L[1277],cases3036.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1279],true,L[1277],cases3036.$loc);\n}\n}\nvar $fn3061 = cases3036.$constructor.$fieldNames;\nR.dF(cases3036.dict[$fn3061[0]],cases3036.$mut_fields_mask[0],false);\nR.dF(cases3036.dict[$fn3061[1]],cases3036.$mut_fields_mask[1],false);\nR.dF(cases3036.dict[$fn3061[2]],cases3036.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3052 = failure$not$equal2628.$var.app(loc3006,none14,lv3013,on$left256.$var,rv3014,on$right260.$var);\nvar anf_arg3042 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1278];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg3042);\nbreak;\ncase 6: if(cases3036.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1281],false,L[1277],cases3036.$loc);\n}\n// caller optimization;\n$ans3052 = success2624.$var.app(loc3006);\nvar anf_arg1289 = $ans3052;\n$step3051 = 8;\n$al3053 = L[1280];\n// omitting isFunction check;\n$ans3052 = add$result2718.$var.app(anf_arg1289);\nbreak;\ncase 7: $ans3052 = R.throwNoCasesMatched(L[1277],cases3036);\n$step3051 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3052;\ndefault: R.ffi.throwSpinnakerError(L[1274],$step3051);\n}\n}\nif($step3051 !== 8) {\n$ans3052.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3053,$temp_branch3050,$step3051,[],[eq$lv$rv3035,cases3036],$elidedFrames3055);\n}\nreturn $ans3052;\n};\n$ans3016 = cases3023.$app_fields($temp_branch3050,[]);\nbreak;\ncase 7: $ans3016 = R.throwNoCasesMatched(L[1271],cases3023);\n$step3011 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans3016;\ndefault: R.ffi.throwSpinnakerError(L[1267],$step3011);\n}\n}\nif($step3011 !== 8) {\n$ans3016.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3017,$temp_lam3012,$step3011,[lv3013,rv3014,cv3015],[cases3023,eq$cv$rv3022,tol3020],$elidedFrames3019);\n}\nreturn $ans3016;\n};\nvar anf_arg1303 = R.mF($temp_lam3012,\"for-body\");\n$step3000 = 1;\n$al3008 = L[1267];\nif(typeof(anf_fun3069.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3008,anf_fun3069);\n}\n$ans3007 = anf_fun3069.app(anf_arg1303,left3003,right3004,cause3005);\nbreak;\ncase 1: $step3000 = 2;\n$ans3007 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3007;\ndefault: R.ffi.throwSpinnakerError(L[1266],$step3000);\n}\n}\nif($step3000 !== 2) {\n$ans3007.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3008,$temp_full3001,$step3000,[self3002,left3003,right3004,cause3005,loc3006],[],$elidedFrames3010);\n}\nreturn $ans3007;\n};\nvar anf_obj5036 = R.makeMethod4($temp_full3001,\"check-is-roughly-cause\");\nvar $temp_full3072 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1287($self3073,$left3074,$right3075,$loc3076) {\nvar $step3071 = 0;\nvar $elidedFrames3081 = 0;\nvar $ans3078 = D;\nvar $al3079 = L[1287];\nif(R.isAR($self3073)) {\n$step3071 = $self3073.step;\n$al3079 = $self3073.from;\n$ans3078 = $self3073.ans;\n$elidedFrames3081 = $self3073.elidedFrames;\nself3073 = $self3073.args[0];\nleft3074 = $self3073.args[1];\nright3075 = $self3073.args[2];\nloc3076 = $self3073.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1287],4,$t,true);\n}\nvar self3073 = $self3073;\nvar left3074 = $left3074;\nvar right3075 = $right3075;\nvar loc3076 = $loc3076;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3078 = R.mC();\n}\nwhile(!R.isContinuation($ans3078)) {\nswitch($step3071) {\ncase 0: // caller optimization;\n$ans3078 = left$right$check2755.$var.app(loc3076);\nvar anf_fun3106 = $ans3078;\nvar $temp_lam3083 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1288($lv3084,$rv3085) {\nvar $step3082 = 0;\nvar $elidedFrames3089 = 0;\nvar $ans3086 = D;\nvar $al3087 = L[1288];\nif(R.isAR($lv3084)) {\n$step3082 = $lv3084.step;\n$al3087 = $lv3084.from;\n$ans3086 = $lv3084.ans;\n$elidedFrames3089 = $lv3084.elidedFrames;\nlv3084 = $lv3084.args[0];\nrv3085 = $lv3084.args[1];\neq$lv$rv3090 = $lv3084.vars[0];\ncases3091 = $lv3084.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1288],2,$t,false);\n}\nvar lv3084 = $lv3084;\nvar rv3085 = $rv3085;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3086 = R.mC();\n}\nwhile(!R.isContinuation($ans3086)) {\nswitch($step3082) {\ncase 0: $step3082 = 1;\n$al3087 = L[1297];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3087,equal$always37);\n}\n$ans3086 = equal$always37.app(lv3084,rv3085);\nbreak;\ncase 1: var eq$lv$rv3090 = $ans3086;\nvar cases3091 = eq$lv$rv3090;\n$step3082 = 2;\n$al3087 = L[1296];\nvar $ann$check3104 = R._cA(L[1296],EqualityResult18,cases3091);\nif(R.isContinuation($ann$check3104)) {\n$ans3086 = $ann$check3104;\n}\nbreak;\ncase 2: $al3087 = L[1291];\n$step3082 = $cases_dispatch3103[cases3091.$name] || 6;\nbreak;\ncase 3: if(cases3091.$arity !== 3) {\nif(cases3091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1290],3,cases3091.$arity,L[1291],cases3091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1290],true,L[1291],cases3091.$loc);\n}\n}\nvar $fn3094 = cases3091.$constructor.$fieldNames;\nR.dF(cases3091.dict[$fn3094[0]],cases3091.$mut_fields_mask[0],false);\nR.dF(cases3091.dict[$fn3094[1]],cases3091.$mut_fields_mask[1],false);\nR.dF(cases3091.dict[$fn3094[2]],cases3091.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3086 = failure$is$incomparable2632.$var.app(loc3076,eq$lv$rv3090,lv3084,on$left256.$var,rv3085,on$right260.$var);\nvar anf_arg3092 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1289];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg3092);\nbreak;\ncase 4: if(cases3091.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1293],false,L[1291],cases3091.$loc);\n}\n// caller optimization;\n$ans3086 = failure$not$different2636.$var.app(loc3076,none14,lv3084,on$left256.$var,rv3085,on$right260.$var);\nvar anf_arg1298 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1292];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg1298);\nbreak;\ncase 5: if(cases3091.$arity !== 3) {\nif(cases3091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1295],3,cases3091.$arity,L[1291],cases3091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1295],true,L[1291],cases3091.$loc);\n}\n}\nvar $fn3099 = cases3091.$constructor.$fieldNames;\nR.dF(cases3091.dict[$fn3099[0]],cases3091.$mut_fields_mask[0],false);\nR.dF(cases3091.dict[$fn3099[1]],cases3091.$mut_fields_mask[1],false);\nR.dF(cases3091.dict[$fn3099[2]],cases3091.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3086 = success2624.$var.app(loc3076);\nvar anf_arg1295 = $ans3086;\n$step3082 = 7;\n$al3087 = L[1294];\n// omitting isFunction check;\n$ans3086 = add$result2718.$var.app(anf_arg1295);\nbreak;\ncase 6: $ans3086 = R.throwNoCasesMatched(L[1291],cases3091);\n$step3082 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3086;\ndefault: R.ffi.throwSpinnakerError(L[1288],$step3082);\n}\n}\nif($step3082 !== 7) {\n$ans3086.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3087,$temp_lam3083,$step3082,[lv3084,rv3085],[eq$lv$rv3090,cases3091],$elidedFrames3089);\n}\nreturn $ans3086;\n};\nvar anf_arg3107 = R.mF($temp_lam3083,\"for-body\");\n$step3071 = 1;\n$al3079 = L[1288];\nif(typeof(anf_fun3106.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3079,anf_fun3106);\n}\n$ans3078 = anf_fun3106.app(anf_arg3107,left3074,right3075);\nbreak;\ncase 1: $step3071 = 2;\n$ans3078 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3078;\ndefault: R.ffi.throwSpinnakerError(L[1287],$step3071);\n}\n}\nif($step3071 !== 2) {\n$ans3078.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3079,$temp_full3072,$step3071,[self3073,left3074,right3075,loc3076],[],$elidedFrames3081);\n}\nreturn $ans3078;\n};\nvar anf_obj5037 = R.makeMethod3($temp_full3072,\"check-is-not\");\nvar $temp_full3110 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1298($self3111,$left3112,$right3113,$cause3114,$loc3115) {\nvar $step3109 = 0;\nvar $elidedFrames3119 = 0;\nvar $ans3116 = D;\nvar $al3117 = L[1298];\nif(R.isAR($self3111)) {\n$step3109 = $self3111.step;\n$al3117 = $self3111.from;\n$ans3116 = $self3111.ans;\n$elidedFrames3119 = $self3111.elidedFrames;\nself3111 = $self3111.args[0];\nleft3112 = $self3111.args[1];\nright3113 = $self3111.args[2];\ncause3114 = $self3111.args[3];\nloc3115 = $self3111.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1298],5,$t,true);\n}\nvar self3111 = $self3111;\nvar left3112 = $left3112;\nvar right3113 = $right3113;\nvar cause3114 = $cause3114;\nvar loc3115 = $loc3115;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3116 = R.mC();\n}\nwhile(!R.isContinuation($ans3116)) {\nswitch($step3109) {\ncase 0: // caller optimization;\n$ans3116 = left$right$cause$check2800.$var.app(loc3115);\nvar anf_fun3162 = $ans3116;\nvar $temp_lam3121 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1299($lv3122,$rv3123,$cv3124) {\nvar $step3120 = 0;\nvar $elidedFrames3128 = 0;\nvar $ans3125 = D;\nvar $al3126 = L[1299];\nif(R.isAR($lv3122)) {\n$step3120 = $lv3122.step;\n$al3126 = $lv3122.from;\n$ans3125 = $lv3122.ans;\n$elidedFrames3128 = $lv3122.elidedFrames;\nlv3122 = $lv3122.args[0];\nrv3123 = $lv3122.args[1];\ncv3124 = $lv3122.args[2];\neq$cv$rv3129 = $lv3122.vars[0];\ncases3130 = $lv3122.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1299],3,$t,false);\n}\nvar lv3122 = $lv3122;\nvar rv3123 = $rv3123;\nvar cv3124 = $cv3124;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3125 = R.mC();\n}\nwhile(!R.isContinuation($ans3125)) {\nswitch($step3120) {\ncase 0: $step3120 = 1;\n$al3126 = L[1317];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3126,equal$always37);\n}\n$ans3125 = equal$always37.app(cv3124,rv3123);\nbreak;\ncase 1: var eq$cv$rv3129 = $ans3125;\nvar cases3130 = eq$cv$rv3129;\n$step3120 = 2;\n$al3126 = L[1316];\nvar $ann$check3160 = R._cA(L[1316],EqualityResult18,cases3130);\nif(R.isContinuation($ann$check3160)) {\n$ans3125 = $ann$check3160;\n}\nbreak;\ncase 2: $al3126 = L[1302];\n$step3120 = $cases_dispatch3159[cases3130.$name] || 6;\nbreak;\ncase 3: if(cases3130.$arity !== 3) {\nif(cases3130.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1301],3,cases3130.$arity,L[1302],cases3130.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1301],true,L[1302],cases3130.$loc);\n}\n}\nvar $fn3132 = cases3130.$constructor.$fieldNames;\nR.dF(cases3130.dict[$fn3132[0]],cases3130.$mut_fields_mask[0],false);\nR.dF(cases3130.dict[$fn3132[1]],cases3130.$mut_fields_mask[1],false);\nR.dF(cases3130.dict[$fn3132[2]],cases3130.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3125 = failure$is$incomparable2632.$var.app(loc3115,eq$cv$rv3129,cv3124,on$cause267.$var,rv3123,on$right260.$var);\nvar anf_arg1296 = $ans3125;\n$step3120 = 7;\n$al3126 = L[1300];\n// omitting isFunction check;\n$ans3125 = add$result2718.$var.app(anf_arg1296);\nbreak;\ncase 4: if(cases3130.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1304],false,L[1302],cases3130.$loc);\n}\n// caller optimization;\n$ans3125 = failure$not$different2636.$var.app(loc3115,none14,cv3124,on$cause267.$var,rv3123,on$right260.$var);\nvar anf_arg1299 = $ans3125;\n$step3120 = 7;\n$al3126 = L[1303];\n// omitting isFunction check;\n$ans3125 = add$result2718.$var.app(anf_arg1299);\nbreak;\ncase 5: if(cases3130.$arity !== 3) {\nif(cases3130.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1315],3,cases3130.$arity,L[1302],cases3130.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1315],true,L[1302],cases3130.$loc);\n}\n}\n$step3120 = 7;\n$al3126 = L[1315];\nvar $temp_branch3145 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1302($$underscore3151,$$underscore2389,$$underscore2390) {\nvar $step3146 = 0;\nvar $elidedFrames3150 = 0;\nvar $ans3147 = D;\nvar $al3148 = L[1314];\nif(R.isAR($$underscore3151)) {\n$step3146 = $$underscore3151.step;\n$al3148 = $$underscore3151.from;\n$ans3147 = $$underscore3151.ans;\n$elidedFrames3150 = $$underscore3151.elidedFrames;\n$underscore3151 = $$underscore3151.args[0];\n$underscore2389 = $$underscore3151.args[1];\n$underscore2390 = $$underscore3151.args[2];\neq$lv$rv3134 = $$underscore3151.vars[0];\ncases3135 = $$underscore3151.vars[1];\n} else {\nvar $underscore3151 = $$underscore3151;\nvar $underscore2389 = $$underscore2389;\nvar $underscore2390 = $$underscore2390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3147 = R.mC();\n}\nwhile(!R.isContinuation($ans3147)) {\nswitch($step3146) {\ncase 0: $step3146 = 1;\n$al3148 = L[1313];\nif(typeof(equal$always37.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3148,equal$always37);\n}\n$ans3147 = equal$always37.app(lv3122,rv3123);\nbreak;\ncase 1: var eq$lv$rv3134 = $ans3147;\nvar cases3135 = eq$lv$rv3134;\n$step3146 = 2;\n$al3148 = L[1312];\nvar $ann$check3157 = R._cA(L[1312],EqualityResult18,cases3135);\nif(R.isContinuation($ann$check3157)) {\n$ans3147 = $ann$check3157;\n}\nbreak;\ncase 2: $al3148 = L[1307];\n$step3146 = $cases_dispatch3156[cases3135.$name] || 6;\nbreak;\ncase 3: if(cases3135.$arity !== 3) {\nif(cases3135.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1306],3,cases3135.$arity,L[1307],cases3135.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1306],true,L[1307],cases3135.$loc);\n}\n}\nvar $fn3153 = cases3135.$constructor.$fieldNames;\nR.dF(cases3135.dict[$fn3153[0]],cases3135.$mut_fields_mask[0],false);\nR.dF(cases3135.dict[$fn3153[1]],cases3135.$mut_fields_mask[1],false);\nR.dF(cases3135.dict[$fn3153[2]],cases3135.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3147 = failure$is$incomparable2632.$var.app(loc3115,eq$lv$rv3134,lv3122,on$left256.$var,rv3123,on$right260.$var);\nvar anf_arg1300 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1305];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1300);\nbreak;\ncase 4: if(cases3135.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1309],false,L[1307],cases3135.$loc);\n}\n// caller optimization;\n$ans3147 = failure$not$different2636.$var.app(loc3115,none14,lv3122,on$left256.$var,rv3123,on$right260.$var);\nvar anf_arg1305 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1308];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1305);\nbreak;\ncase 5: if(cases3135.$arity !== 3) {\nif(cases3135.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1311],3,cases3135.$arity,L[1307],cases3135.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1311],true,L[1307],cases3135.$loc);\n}\n}\nvar $fn3155 = cases3135.$constructor.$fieldNames;\nR.dF(cases3135.dict[$fn3155[0]],cases3135.$mut_fields_mask[0],false);\nR.dF(cases3135.dict[$fn3155[1]],cases3135.$mut_fields_mask[1],false);\nR.dF(cases3135.dict[$fn3155[2]],cases3135.$mut_fields_mask[2],false);\n// caller optimization;\n$ans3147 = success2624.$var.app(loc3115);\nvar anf_arg1301 = $ans3147;\n$step3146 = 7;\n$al3148 = L[1310];\n// omitting isFunction check;\n$ans3147 = add$result2718.$var.app(anf_arg1301);\nbreak;\ncase 6: $ans3147 = R.throwNoCasesMatched(L[1307],cases3135);\n$step3146 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3147;\ndefault: R.ffi.throwSpinnakerError(L[1314],$step3146);\n}\n}\nif($step3146 !== 7) {\n$ans3147.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3148,$temp_branch3145,$step3146,[$underscore3151,$underscore2389,$underscore2390],[eq$lv$rv3134,cases3135],$elidedFrames3150);\n}\nreturn $ans3147;\n};\n$ans3125 = cases3130.$app_fields($temp_branch3145,[false,false,false]);\nbreak;\ncase 6: $ans3125 = R.throwNoCasesMatched(L[1302],cases3130);\n$step3120 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3125;\ndefault: R.ffi.throwSpinnakerError(L[1299],$step3120);\n}\n}\nif($step3120 !== 7) {\n$ans3125.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3126,$temp_lam3121,$step3120,[lv3122,rv3123,cv3124],[eq$cv$rv3129,cases3130],$elidedFrames3128);\n}\nreturn $ans3125;\n};\nvar anf_arg1306 = R.mF($temp_lam3121,\"for-body\");\n$step3109 = 1;\n$al3117 = L[1299];\nif(typeof(anf_fun3162.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3117,anf_fun3162);\n}\n$ans3116 = anf_fun3162.app(anf_arg1306,left3112,right3113,cause3114);\nbreak;\ncase 1: $step3109 = 2;\n$ans3116 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3116;\ndefault: R.ffi.throwSpinnakerError(L[1298],$step3109);\n}\n}\nif($step3109 !== 2) {\n$ans3116.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3117,$temp_full3110,$step3109,[self3111,left3112,right3113,cause3114,loc3115],[],$elidedFrames3119);\n}\nreturn $ans3116;\n};\nvar anf_obj5038 = R.makeMethod4($temp_full3110,\"check-is-not-cause\");\nvar $temp_full3165 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1318($self3166,$refinement3167,$left3168,$right3169,$loc3170) {\nvar $step3164 = 0;\nvar $elidedFrames3174 = 0;\nvar $ans3171 = D;\nvar $al3172 = L[1318];\nif(R.isAR($self3166)) {\n$step3164 = $self3166.step;\n$al3172 = $self3166.from;\n$ans3171 = $self3166.ans;\n$elidedFrames3174 = $self3166.elidedFrames;\nself3166 = $self3166.args[0];\nrefinement3167 = $self3166.args[1];\nleft3168 = $self3166.args[2];\nright3169 = $self3166.args[3];\nloc3170 = $self3166.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1318],5,$t,true);\n}\nvar self3166 = $self3166;\nvar refinement3167 = $refinement3167;\nvar left3168 = $left3168;\nvar right3169 = $right3169;\nvar loc3170 = $loc3170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3171 = R.mC();\n}\nwhile(!R.isContinuation($ans3171)) {\nswitch($step3164) {\ncase 0: // caller optimization;\n$ans3171 = left$right$check2755.$var.app(loc3170);\nvar anf_fun3221 = $ans3171;\nvar $temp_lam3176 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1319($lv3177,$rv3178) {\nvar $step3175 = 0;\nvar $elidedFrames3183 = 0;\nvar $ans3180 = D;\nvar $al3181 = L[1319];\nif(R.isAR($lv3177)) {\n$step3175 = $lv3177.step;\n$al3181 = $lv3177.from;\n$ans3180 = $lv3177.ans;\n$elidedFrames3183 = $lv3177.elidedFrames;\nlv3177 = $lv3177.args[0];\nrv3178 = $lv3177.args[1];\ncases3191 = $lv3177.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1319],2,$t,false);\n}\nvar lv3177 = $lv3177;\nvar rv3178 = $rv3178;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3180 = R.mC();\n}\nwhile(!R.isContinuation($ans3180)) {\nswitch($step3175) {\ncase 0: var $temp_lam3185 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1320($$resumer13) {\nvar $step3184 = 0;\nvar $elidedFrames3189 = 0;\nvar $ans3186 = D;\nvar $al3187 = L[1320];\nif(R.isAR($$resumer13)) {\n$step3184 = $$resumer13.step;\n$al3187 = $$resumer13.from;\n$ans3186 = $$resumer13.ans;\n$elidedFrames3189 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1320],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3186 = R.mC();\n}\nwhile(!R.isContinuation($ans3186)) {\nswitch($step3184) {\ncase 0: $step3184 = 1;\n$al3187 = L[1321];\nif(typeof(refinement3167.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3187,refinement3167);\n}\n$ans3186 = refinement3167.app(lv3177,rv3178);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3186;\ndefault: R.ffi.throwSpinnakerError(L[1320],$step3184);\n}\n}\nif($step3184 !== 1) {\n$ans3186.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3187,$temp_lam3185,$step3184,[],[],$elidedFrames3189);\n}\nreturn $ans3186;\n};\nvar anf_arg1320 = R.mF($temp_lam3185,\"\");\n$step3175 = 1;\n$al3181 = L[1339];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3181,run$task1);\n}\n$ans3180 = run$task1.app(anf_arg1320);\nbreak;\ncase 1: var cases3191 = $ans3180;\n$step3175 = 2;\n$al3181 = L[1338];\nvar $ann$check3219 = R._cA(L[1338],R.gDA(L[1338],\"either\",either20.dict.types,\"Either\"),cases3191);\nif(R.isContinuation($ann$check3219)) {\n$ans3180 = $ann$check3219;\n}\nbreak;\ncase 2: $al3181 = L[1329];\n$step3175 = $cases_dispatch3218[cases3191.$name] || 5;\nbreak;\ncase 3: if(cases3191.$arity !== 1) {\nif(cases3191.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1328],1,cases3191.$arity,L[1329],cases3191.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1328],true,L[1329],cases3191.$loc);\n}\n}\n$step3175 = 6;\n$al3181 = L[1328];\nvar $temp_branch3196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1329($exn3192) {\nvar $step3197 = 0;\nvar $elidedFrames3201 = 0;\nvar $ans3198 = D;\nvar $al3199 = L[1327];\nif(R.isAR($exn3192)) {\n$step3197 = $exn3192.step;\n$al3199 = $exn3192.from;\n$ans3198 = $exn3192.ans;\n$elidedFrames3201 = $exn3192.elidedFrames;\nexn3192 = $exn3192.args[0];\nexn$v3193 = $exn3192.vars[0];\n} else {\nvar exn3192 = $exn3192;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3198 = R.mC();\n}\nwhile(!R.isContinuation($ans3198)) {\nswitch($step3197) {\ncase 0: $step3197 = 1;\n$al3199 = L[1326];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,exn$unwrap2);\n}\n$ans3198 = exn$unwrap2.app(exn3192);\nbreak;\ncase 1: var exn$v3193 = $ans3198;\n$step3197 = 2;\n$al3199 = L[1325];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3198 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3193);\nbreak;\ncase 2: var anf_if3195 = $ans3198;\n$step3197 = R.checkPyretTrue(anf_if3195)?3:4;\nbreak;\ncase 3: $step3197 = 6;\n$ans3198 = (true);\nbreak;\ncase 4: $step3197 = 5;\n$al3199 = L[1324];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3199,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3198 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3193);\nbreak;\ncase 5: var anf_arg1321 = $ans3198;\n$ans3198 = R.checkWrapBoolean(anf_arg1321);\n$step3197 = 6;\nbreak;\ncase 6: var anf_if3194 = $ans3198;\n$step3197 = R.checkPyretTrue(anf_if3194)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3198 = error$not$pred2676.$var.app(loc3170,refinement3167,(2));\nvar anf_arg1317 = $ans3198;\n$step3197 = 9;\n$al3199 = L[1322];\n// omitting isFunction check;\n$ans3198 = add$result2718.$var.app(anf_arg1317);\nbreak;\ncase 8: // caller optimization;\n$ans3198 = failure$exn2656.$var.app(loc3170,exn3192,on$refinement264.$var);\nvar anf_arg1322 = $ans3198;\n$step3197 = 9;\n$al3199 = L[1323];\n// omitting isFunction check;\n$ans3198 = add$result2718.$var.app(anf_arg1322);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3198;\ndefault: R.ffi.throwSpinnakerError(L[1327],$step3197);\n}\n}\nif($step3197 !== 9) {\n$ans3198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3199,$temp_branch3196,$step3197,[exn3192],[exn$v3193],$elidedFrames3201);\n}\nreturn $ans3198;\n};\n$ans3180 = cases3191.$app_fields($temp_branch3196,[false]);\nbreak;\ncase 4: if(cases3191.$arity !== 1) {\nif(cases3191.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1337],1,cases3191.$arity,L[1329],cases3191.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1337],true,L[1329],cases3191.$loc);\n}\n}\n$step3175 = 6;\n$al3181 = L[1337];\nvar $temp_branch3211 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1329($test$result3203) {\nvar $step3212 = 0;\nvar $elidedFrames3216 = 0;\nvar $ans3213 = D;\nvar $al3214 = L[1336];\nif(R.isAR($test$result3203)) {\n$step3212 = $test$result3203.step;\n$al3214 = $test$result3203.from;\n$ans3213 = $test$result3203.ans;\n$elidedFrames3216 = $test$result3203.elidedFrames;\ntest$result3203 = $test$result3203.args[0];\n} else {\nvar test$result3203 = $test$result3203;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3213 = R.mC();\n}\nwhile(!R.isContinuation($ans3213)) {\nswitch($step3212) {\ncase 0: // caller optimization;\n$ans3213 = is$Unknown8.app(test$result3203);\nvar anf_if3210 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3210)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3213 = failure$is$incomparable2632.$var.app(loc3170,test$result3203,lv3177,on$left256.$var,rv3178,on$right260.$var);\nvar anf_arg1323 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1330];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1323);\nbreak;\ncase 2: $step3212 = 3;\n$al3214 = L[1335];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3214,equal$always1);\n}\n$ans3213 = equal$always1.app(test$result3203,(false));\nbreak;\ncase 3: var anf_if3209 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3209)?4:5;\nbreak;\ncase 4: $step3212 = 6;\n$ans3213 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3213 = is$NotEqual16.app(test$result3203);\nvar anf_arg1333 = $ans3213;\n$ans3213 = R.checkWrapBoolean(anf_arg1333);\n$step3212 = 6;\nbreak;\ncase 6: var anf_if3208 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3208)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3213 = some12.app(refinement3167);\nvar anf_arg3204 = $ans3213;\n// caller optimization;\n$ans3213 = failure$not$equal2628.$var.app(loc3170,anf_arg3204,lv3177,on$left256.$var,rv3178,on$right260.$var);\nvar anf_arg1335 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1331];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1335);\nbreak;\ncase 8: // caller optimization;\n$ans3213 = is$boolean2.app(test$result3203);\nvar anf_if3207 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3207)?9:10;\nbreak;\ncase 9: $step3212 = 11;\n$ans3213 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3213 = is$Equal7.app(test$result3203);\nvar anf_arg1336 = $ans3213;\n$ans3213 = R.checkWrapBoolean(anf_arg1336);\n$step3212 = 11;\nbreak;\ncase 11: var anf_arg1340 = $ans3213;\n$step3212 = 12;\n$al3214 = L[1334];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3214,not5);\n}\n$ans3213 = not5.app(anf_arg1340);\nbreak;\ncase 12: var anf_if3206 = $ans3213;\n$step3212 = R.checkPyretTrue(anf_if3206)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3213 = error$not$boolean2672.$var.app(loc3170,refinement3167,lv3177,on$left256.$var,rv3178,on$right260.$var,test$result3203);\nvar anf_arg3205 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1332];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg3205);\nbreak;\ncase 14: // caller optimization;\n$ans3213 = success2624.$var.app(loc3170);\nvar anf_arg1351 = $ans3213;\n$step3212 = 15;\n$al3214 = L[1333];\n// omitting isFunction check;\n$ans3213 = add$result2718.$var.app(anf_arg1351);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3213;\ndefault: R.ffi.throwSpinnakerError(L[1336],$step3212);\n}\n}\nif($step3212 !== 15) {\n$ans3213.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3214,$temp_branch3211,$step3212,[test$result3203],[],$elidedFrames3216);\n}\nreturn $ans3213;\n};\n$ans3180 = cases3191.$app_fields($temp_branch3211,[false]);\nbreak;\ncase 5: $ans3180 = R.throwNoCasesMatched(L[1329],cases3191);\n$step3175 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3180;\ndefault: R.ffi.throwSpinnakerError(L[1319],$step3175);\n}\n}\nif($step3175 !== 6) {\n$ans3180.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3181,$temp_lam3176,$step3175,[lv3177,rv3178],[cases3191],$elidedFrames3183);\n}\nreturn $ans3180;\n};\nvar anf_arg1356 = R.mF($temp_lam3176,\"for-body\");\n$step3164 = 1;\n$al3172 = L[1319];\nif(typeof(anf_fun3221.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3172,anf_fun3221);\n}\n$ans3171 = anf_fun3221.app(anf_arg1356,left3168,right3169);\nbreak;\ncase 1: $step3164 = 2;\n$ans3171 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3171;\ndefault: R.ffi.throwSpinnakerError(L[1318],$step3164);\n}\n}\nif($step3164 !== 2) {\n$ans3171.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3172,$temp_full3165,$step3164,[self3166,refinement3167,left3168,right3169,loc3170],[],$elidedFrames3174);\n}\nreturn $ans3171;\n};\nvar anf_obj5039 = R.makeMethod4($temp_full3165,\"check-is-refinement\");\nvar $temp_full3224 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1340($self3225,$refinement3226,$left3227,$right3228,$cause3229,$loc3230) {\nvar $step3223 = 0;\nvar $elidedFrames3234 = 0;\nvar $ans3231 = D;\nvar $al3232 = L[1340];\nif(R.isAR($self3225)) {\n$step3223 = $self3225.step;\n$al3232 = $self3225.from;\n$ans3231 = $self3225.ans;\n$elidedFrames3234 = $self3225.elidedFrames;\nself3225 = $self3225.args[0];\nrefinement3226 = $self3225.args[1];\nleft3227 = $self3225.args[2];\nright3228 = $self3225.args[3];\ncause3229 = $self3225.args[4];\nloc3230 = $self3225.args[5];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1340],6,$t,true);\n}\nvar self3225 = $self3225;\nvar refinement3226 = $refinement3226;\nvar left3227 = $left3227;\nvar right3228 = $right3228;\nvar cause3229 = $cause3229;\nvar loc3230 = $loc3230;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3231 = R.mC();\n}\nwhile(!R.isContinuation($ans3231)) {\nswitch($step3223) {\ncase 0: // caller optimization;\n$ans3231 = left$right$cause$check2800.$var.app(loc3230);\nvar anf_fun3366 = $ans3231;\nvar $temp_lam3236 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1341($lv3237,$rv3238,$cv3239) {\nvar $step3235 = 0;\nvar $elidedFrames3243 = 0;\nvar $ans3240 = D;\nvar $al3241 = L[1341];\nif(R.isAR($lv3237)) {\n$step3235 = $lv3237.step;\n$al3241 = $lv3237.from;\n$ans3240 = $lv3237.ans;\n$elidedFrames3243 = $lv3237.elidedFrames;\nlv3237 = $lv3237.args[0];\nrv3238 = $lv3237.args[1];\ncv3239 = $lv3237.args[2];\ncases3251 = $lv3237.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1341],3,$t,false);\n}\nvar lv3237 = $lv3237;\nvar rv3238 = $rv3238;\nvar cv3239 = $cv3239;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3240 = R.mC();\n}\nwhile(!R.isContinuation($ans3240)) {\nswitch($step3235) {\ncase 0: var $temp_lam3245 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1342($$resumer13) {\nvar $step3244 = 0;\nvar $elidedFrames3249 = 0;\nvar $ans3246 = D;\nvar $al3247 = L[1342];\nif(R.isAR($$resumer13)) {\n$step3244 = $$resumer13.step;\n$al3247 = $$resumer13.from;\n$ans3246 = $$resumer13.ans;\n$elidedFrames3249 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1342],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3246 = R.mC();\n}\nwhile(!R.isContinuation($ans3246)) {\nswitch($step3244) {\ncase 0: $step3244 = 1;\n$al3247 = L[1343];\nif(typeof(refinement3226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3247,refinement3226);\n}\n$ans3246 = refinement3226.app(cv3239,rv3238);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3246;\ndefault: R.ffi.throwSpinnakerError(L[1342],$step3244);\n}\n}\nif($step3244 !== 1) {\n$ans3246.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3247,$temp_lam3245,$step3244,[],[],$elidedFrames3249);\n}\nreturn $ans3246;\n};\nvar anf_arg1357 = R.mF($temp_lam3245,\"\");\n$step3235 = 1;\n$al3241 = L[1380];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3241,run$task1);\n}\n$ans3240 = run$task1.app(anf_arg1357);\nbreak;\ncase 1: var cases3251 = $ans3240;\n$step3235 = 2;\n$al3241 = L[1379];\nvar $ann$check3364 = R._cA(L[1379],R.gDA(L[1379],\"either\",either20.dict.types,\"Either\"),cases3251);\nif(R.isContinuation($ann$check3364)) {\n$ans3240 = $ann$check3364;\n}\nbreak;\ncase 2: $al3241 = L[1351];\n$step3235 = $cases_dispatch3363[cases3251.$name] || 5;\nbreak;\ncase 3: if(cases3251.$arity !== 1) {\nif(cases3251.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1350],1,cases3251.$arity,L[1351],cases3251.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1350],true,L[1351],cases3251.$loc);\n}\n}\n$step3235 = 6;\n$al3241 = L[1350];\nvar $temp_branch3258 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1351($exn3252) {\nvar $step3259 = 0;\nvar $elidedFrames3263 = 0;\nvar $ans3260 = D;\nvar $al3261 = L[1349];\nif(R.isAR($exn3252)) {\n$step3259 = $exn3252.step;\n$al3261 = $exn3252.from;\n$ans3260 = $exn3252.ans;\n$elidedFrames3263 = $exn3252.elidedFrames;\nexn3252 = $exn3252.args[0];\nexn$v3253 = $exn3252.vars[0];\n} else {\nvar exn3252 = $exn3252;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3260 = R.mC();\n}\nwhile(!R.isContinuation($ans3260)) {\nswitch($step3259) {\ncase 0: $step3259 = 1;\n$al3261 = L[1348];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,exn$unwrap2);\n}\n$ans3260 = exn$unwrap2.app(exn3252);\nbreak;\ncase 1: var exn$v3253 = $ans3260;\n$step3259 = 2;\n$al3261 = L[1347];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3260 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3253);\nbreak;\ncase 2: var anf_if3257 = $ans3260;\n$step3259 = R.checkPyretTrue(anf_if3257)?3:4;\nbreak;\ncase 3: $step3259 = 6;\n$ans3260 = (true);\nbreak;\ncase 4: $step3259 = 5;\n$al3261 = L[1346];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3261,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3260 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3253);\nbreak;\ncase 5: var anf_arg1358 = $ans3260;\n$ans3260 = R.checkWrapBoolean(anf_arg1358);\n$step3259 = 6;\nbreak;\ncase 6: var anf_if3256 = $ans3260;\n$step3259 = R.checkPyretTrue(anf_if3256)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3260 = error$not$pred2676.$var.app(loc3230,refinement3226,(2));\nvar anf_arg3254 = $ans3260;\n$step3259 = 9;\n$al3261 = L[1344];\n// omitting isFunction check;\n$ans3260 = add$result2718.$var.app(anf_arg3254);\nbreak;\ncase 8: // caller optimization;\n$ans3260 = failure$exn2656.$var.app(loc3230,exn3252,on$refinement264.$var);\nvar anf_arg3255 = $ans3260;\n$step3259 = 9;\n$al3261 = L[1345];\n// omitting isFunction check;\n$ans3260 = add$result2718.$var.app(anf_arg3255);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3260;\ndefault: R.ffi.throwSpinnakerError(L[1349],$step3259);\n}\n}\nif($step3259 !== 9) {\n$ans3260.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3261,$temp_branch3258,$step3259,[exn3252],[exn$v3253],$elidedFrames3263);\n}\nreturn $ans3260;\n};\n$ans3240 = cases3251.$app_fields($temp_branch3258,[false]);\nbreak;\ncase 4: if(cases3251.$arity !== 1) {\nif(cases3251.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1378],1,cases3251.$arity,L[1351],cases3251.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1378],true,L[1351],cases3251.$loc);\n}\n}\n$step3235 = 6;\n$al3241 = L[1378];\nvar $temp_branch3332 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1351($cause$result3265) {\nvar $step3333 = 0;\nvar $elidedFrames3337 = 0;\nvar $ans3334 = D;\nvar $al3335 = L[1377];\nif(R.isAR($cause$result3265)) {\n$step3333 = $cause$result3265.step;\n$al3335 = $cause$result3265.from;\n$ans3334 = $cause$result3265.ans;\n$elidedFrames3337 = $cause$result3265.elidedFrames;\ncause$result3265 = $cause$result3265.args[0];\ncases3273 = $cause$result3265.vars[0];\n} else {\nvar cause$result3265 = $cause$result3265;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3334 = R.mC();\n}\nwhile(!R.isContinuation($ans3334)) {\nswitch($step3333) {\ncase 0: // caller optimization;\n$ans3334 = is$Unknown8.app(cause$result3265);\nvar anf_if3331 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3331)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3334 = failure$is$incomparable2632.$var.app(loc3230,cause$result3265,cv3239,on$cause267.$var,rv3238,on$right260.$var);\nvar anf_arg1371 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1352];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1371);\nbreak;\ncase 2: $step3333 = 3;\n$al3335 = L[1376];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,equal$always1);\n}\n$ans3334 = equal$always1.app(cause$result3265,(false));\nbreak;\ncase 3: var anf_if3330 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3330)?4:5;\nbreak;\ncase 4: $step3333 = 6;\n$ans3334 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3334 = is$NotEqual16.app(cause$result3265);\nvar anf_arg3329 = $ans3334;\n$ans3334 = R.checkWrapBoolean(anf_arg3329);\n$step3333 = 6;\nbreak;\ncase 6: var anf_if3322 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3322)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3334 = some12.app(refinement3226);\nvar anf_arg1372 = $ans3334;\n// caller optimization;\n$ans3334 = failure$not$equal2628.$var.app(loc3230,anf_arg1372,cv3239,on$cause267.$var,rv3238,on$right260.$var);\nvar anf_arg1378 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1353];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1378);\nbreak;\ncase 8: // caller optimization;\n$ans3334 = is$boolean2.app(cause$result3265);\nvar anf_if3321 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3321)?9:10;\nbreak;\ncase 9: $step3333 = 11;\n$ans3334 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3334 = is$Equal7.app(cause$result3265);\nvar anf_arg1373 = $ans3334;\n$ans3334 = R.checkWrapBoolean(anf_arg1373);\n$step3333 = 11;\nbreak;\ncase 11: var anf_arg1374 = $ans3334;\n$step3333 = 12;\n$al3335 = L[1375];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,not5);\n}\n$ans3334 = not5.app(anf_arg1374);\nbreak;\ncase 12: var anf_if3320 = $ans3334;\n$step3333 = R.checkPyretTrue(anf_if3320)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3334 = error$not$boolean2672.$var.app(loc3230,refinement3226,cv3239,on$cause267.$var,rv3238,on$right260.$var,cause$result3265);\nvar anf_arg1380 = $ans3334;\n$step3333 = 20;\n$al3335 = L[1354];\n// omitting isFunction check;\n$ans3334 = add$result2718.$var.app(anf_arg1380);\nbreak;\ncase 14: var $temp_lam3339 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1355($$resumer13) {\nvar $step3338 = 0;\nvar $elidedFrames3343 = 0;\nvar $ans3340 = D;\nvar $al3341 = L[1355];\nif(R.isAR($$resumer13)) {\n$step3338 = $$resumer13.step;\n$al3341 = $$resumer13.from;\n$ans3340 = $$resumer13.ans;\n$elidedFrames3343 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1355],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3340 = R.mC();\n}\nwhile(!R.isContinuation($ans3340)) {\nswitch($step3338) {\ncase 0: $step3338 = 1;\n$al3341 = L[1356];\nif(typeof(refinement3226.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3341,refinement3226);\n}\n$ans3340 = refinement3226.app(lv3237,rv3238);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3340;\ndefault: R.ffi.throwSpinnakerError(L[1355],$step3338);\n}\n}\nif($step3338 !== 1) {\n$ans3340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3341,$temp_lam3339,$step3338,[],[],$elidedFrames3343);\n}\nreturn $ans3340;\n};\nvar anf_arg1384 = R.mF($temp_lam3339,\"\");\n$step3333 = 15;\n$al3335 = L[1374];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3335,run$task1);\n}\n$ans3334 = run$task1.app(anf_arg1384);\nbreak;\ncase 15: var cases3273 = $ans3334;\n$step3333 = 16;\n$al3335 = L[1373];\nvar $ann$check3361 = R._cA(L[1373],R.gDA(L[1373],\"either\",either20.dict.types,\"Either\"),cases3273);\nif(R.isContinuation($ann$check3361)) {\n$ans3334 = $ann$check3361;\n}\nbreak;\ncase 16: $al3335 = L[1364];\n$step3333 = $cases_dispatch3360[cases3273.$name] || 19;\nbreak;\ncase 17: if(cases3273.$arity !== 1) {\nif(cases3273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1363],1,cases3273.$arity,L[1364],cases3273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1363],true,L[1364],cases3273.$loc);\n}\n}\n$step3333 = 20;\n$al3335 = L[1363];\nvar $temp_branch3346 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1364($exn3274) {\nvar $step3347 = 0;\nvar $elidedFrames3351 = 0;\nvar $ans3348 = D;\nvar $al3349 = L[1362];\nif(R.isAR($exn3274)) {\n$step3347 = $exn3274.step;\n$al3349 = $exn3274.from;\n$ans3348 = $exn3274.ans;\n$elidedFrames3351 = $exn3274.elidedFrames;\nexn3274 = $exn3274.args[0];\nexn$v3275 = $exn3274.vars[0];\n} else {\nvar exn3274 = $exn3274;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3348 = R.mC();\n}\nwhile(!R.isContinuation($ans3348)) {\nswitch($step3347) {\ncase 0: $step3347 = 1;\n$al3349 = L[1361];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,exn$unwrap2);\n}\n$ans3348 = exn$unwrap2.app(exn3274);\nbreak;\ncase 1: var exn$v3275 = $ans3348;\n$step3347 = 2;\n$al3349 = L[1360];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3348 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3275);\nbreak;\ncase 2: var anf_if3280 = $ans3348;\n$step3347 = R.checkPyretTrue(anf_if3280)?3:4;\nbreak;\ncase 3: $step3347 = 6;\n$ans3348 = (true);\nbreak;\ncase 4: $step3347 = 5;\n$al3349 = L[1359];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3349,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3348 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3275);\nbreak;\ncase 5: var anf_arg1385 = $ans3348;\n$ans3348 = R.checkWrapBoolean(anf_arg1385);\n$step3347 = 6;\nbreak;\ncase 6: var anf_if3279 = $ans3348;\n$step3347 = R.checkPyretTrue(anf_if3279)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3348 = error$not$pred2676.$var.app(loc3230,refinement3226,(2));\nvar anf_arg3278 = $ans3348;\n$step3347 = 9;\n$al3349 = L[1357];\n// omitting isFunction check;\n$ans3348 = add$result2718.$var.app(anf_arg3278);\nbreak;\ncase 8: // caller optimization;\n$ans3348 = failure$exn2656.$var.app(loc3230,exn3274,on$refinement264.$var);\nvar anf_arg1387 = $ans3348;\n$step3347 = 9;\n$al3349 = L[1358];\n// omitting isFunction check;\n$ans3348 = add$result2718.$var.app(anf_arg1387);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3348;\ndefault: R.ffi.throwSpinnakerError(L[1362],$step3347);\n}\n}\nif($step3347 !== 9) {\n$ans3348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3349,$temp_branch3346,$step3347,[exn3274],[exn$v3275],$elidedFrames3351);\n}\nreturn $ans3348;\n};\n$ans3334 = cases3273.$app_fields($temp_branch3346,[false]);\nbreak;\ncase 18: if(cases3273.$arity !== 1) {\nif(cases3273.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1372],1,cases3273.$arity,L[1364],cases3273.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1372],true,L[1364],cases3273.$loc);\n}\n}\n$step3333 = 20;\n$al3335 = L[1372];\nvar $temp_branch3353 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1364($test$result3288) {\nvar $step3354 = 0;\nvar $elidedFrames3358 = 0;\nvar $ans3355 = D;\nvar $al3356 = L[1371];\nif(R.isAR($test$result3288)) {\n$step3354 = $test$result3288.step;\n$al3356 = $test$result3288.from;\n$ans3355 = $test$result3288.ans;\n$elidedFrames3358 = $test$result3288.elidedFrames;\ntest$result3288 = $test$result3288.args[0];\n} else {\nvar test$result3288 = $test$result3288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3355 = R.mC();\n}\nwhile(!R.isContinuation($ans3355)) {\nswitch($step3354) {\ncase 0: // caller optimization;\n$ans3355 = is$Unknown8.app(test$result3288);\nvar anf_if3310 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3310)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3355 = failure$is$incomparable2632.$var.app(loc3230,test$result3288,lv3237,on$left256.$var,rv3238,on$right260.$var);\nvar anf_arg1389 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1365];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1389);\nbreak;\ncase 2: $step3354 = 3;\n$al3356 = L[1370];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3356,equal$always1);\n}\n$ans3355 = equal$always1.app(test$result3288,(false));\nbreak;\ncase 3: var anf_if3309 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3309)?4:5;\nbreak;\ncase 4: $step3354 = 6;\n$ans3355 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3355 = is$NotEqual16.app(test$result3288);\nvar anf_arg1390 = $ans3355;\n$ans3355 = R.checkWrapBoolean(anf_arg1390);\n$step3354 = 6;\nbreak;\ncase 6: var anf_if3308 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3308)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3355 = some12.app(refinement3226);\nvar anf_arg3291 = $ans3355;\n// caller optimization;\n$ans3355 = failure$not$equal2628.$var.app(loc3230,anf_arg3291,lv3237,on$left256.$var,rv3238,on$right260.$var);\nvar anf_arg3294 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1366];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg3294);\nbreak;\ncase 8: // caller optimization;\n$ans3355 = is$boolean2.app(test$result3288);\nvar anf_if3307 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3307)?9:10;\nbreak;\ncase 9: $step3354 = 11;\n$ans3355 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3355 = is$Equal7.app(test$result3288);\nvar anf_arg3306 = $ans3355;\n$ans3355 = R.checkWrapBoolean(anf_arg3306);\n$step3354 = 11;\nbreak;\ncase 11: var anf_arg3298 = $ans3355;\n$step3354 = 12;\n$al3356 = L[1369];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3356,not5);\n}\n$ans3355 = not5.app(anf_arg3298);\nbreak;\ncase 12: var anf_if3299 = $ans3355;\n$step3354 = R.checkPyretTrue(anf_if3299)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3355 = error$not$boolean2672.$var.app(loc3230,refinement3226,lv3237,on$left256.$var,rv3238,on$right260.$var,test$result3288);\nvar anf_arg1396 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1367];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1396);\nbreak;\ncase 14: // caller optimization;\n$ans3355 = success2624.$var.app(loc3230);\nvar anf_arg1397 = $ans3355;\n$step3354 = 15;\n$al3356 = L[1368];\n// omitting isFunction check;\n$ans3355 = add$result2718.$var.app(anf_arg1397);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3355;\ndefault: R.ffi.throwSpinnakerError(L[1371],$step3354);\n}\n}\nif($step3354 !== 15) {\n$ans3355.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3356,$temp_branch3353,$step3354,[test$result3288],[],$elidedFrames3358);\n}\nreturn $ans3355;\n};\n$ans3334 = cases3273.$app_fields($temp_branch3353,[false]);\nbreak;\ncase 19: $ans3334 = R.throwNoCasesMatched(L[1364],cases3273);\n$step3333 = 20;\nbreak;\ncase 20: ++R.GAS;\nreturn $ans3334;\ndefault: R.ffi.throwSpinnakerError(L[1377],$step3333);\n}\n}\nif($step3333 !== 20) {\n$ans3334.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3335,$temp_branch3332,$step3333,[cause$result3265],[cases3273],$elidedFrames3337);\n}\nreturn $ans3334;\n};\n$ans3240 = cases3251.$app_fields($temp_branch3332,[false]);\nbreak;\ncase 5: $ans3240 = R.throwNoCasesMatched(L[1351],cases3251);\n$step3235 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3240;\ndefault: R.ffi.throwSpinnakerError(L[1341],$step3235);\n}\n}\nif($step3235 !== 6) {\n$ans3240.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3241,$temp_lam3236,$step3235,[lv3237,rv3238,cv3239],[cases3251],$elidedFrames3243);\n}\nreturn $ans3240;\n};\nvar anf_arg1400 = R.mF($temp_lam3236,\"for-body\");\n$step3223 = 1;\n$al3232 = L[1341];\nif(typeof(anf_fun3366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3232,anf_fun3366);\n}\n$ans3231 = anf_fun3366.app(anf_arg1400,left3227,right3228,cause3229);\nbreak;\ncase 1: $step3223 = 2;\n$ans3231 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3231;\ndefault: R.ffi.throwSpinnakerError(L[1340],$step3223);\n}\n}\nif($step3223 !== 2) {\n$ans3231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3232,$temp_full3224,$step3223,[self3225,refinement3226,left3227,right3228,cause3229,loc3230],[],$elidedFrames3234);\n}\nreturn $ans3231;\n};\nvar anf_obj5040 = R.makeMethod5($temp_full3224,\"check-is-refinement-cause\");\nvar $temp_full3369 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1381($self3370,$refinement3371,$left3372,$right3373,$loc3374) {\nvar $step3368 = 0;\nvar $elidedFrames3378 = 0;\nvar $ans3375 = D;\nvar $al3376 = L[1381];\nif(R.isAR($self3370)) {\n$step3368 = $self3370.step;\n$al3376 = $self3370.from;\n$ans3375 = $self3370.ans;\n$elidedFrames3378 = $self3370.elidedFrames;\nself3370 = $self3370.args[0];\nrefinement3371 = $self3370.args[1];\nleft3372 = $self3370.args[2];\nright3373 = $self3370.args[3];\nloc3374 = $self3370.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1381],5,$t,true);\n}\nvar self3370 = $self3370;\nvar refinement3371 = $refinement3371;\nvar left3372 = $left3372;\nvar right3373 = $right3373;\nvar loc3374 = $loc3374;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3375 = R.mC();\n}\nwhile(!R.isContinuation($ans3375)) {\nswitch($step3368) {\ncase 0: // caller optimization;\n$ans3375 = left$right$check2755.$var.app(loc3374);\nvar anf_fun3423 = $ans3375;\nvar $temp_lam3380 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1382($lv3381,$rv3382) {\nvar $step3379 = 0;\nvar $elidedFrames3386 = 0;\nvar $ans3383 = D;\nvar $al3384 = L[1382];\nif(R.isAR($lv3381)) {\n$step3379 = $lv3381.step;\n$al3384 = $lv3381.from;\n$ans3383 = $lv3381.ans;\n$elidedFrames3386 = $lv3381.elidedFrames;\nlv3381 = $lv3381.args[0];\nrv3382 = $lv3381.args[1];\ncases3394 = $lv3381.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1382],2,$t,false);\n}\nvar lv3381 = $lv3381;\nvar rv3382 = $rv3382;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3383 = R.mC();\n}\nwhile(!R.isContinuation($ans3383)) {\nswitch($step3379) {\ncase 0: var $temp_lam3388 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1383($$resumer13) {\nvar $step3387 = 0;\nvar $elidedFrames3392 = 0;\nvar $ans3389 = D;\nvar $al3390 = L[1383];\nif(R.isAR($$resumer13)) {\n$step3387 = $$resumer13.step;\n$al3390 = $$resumer13.from;\n$ans3389 = $$resumer13.ans;\n$elidedFrames3392 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1383],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3389 = R.mC();\n}\nwhile(!R.isContinuation($ans3389)) {\nswitch($step3387) {\ncase 0: $step3387 = 1;\n$al3390 = L[1384];\nif(typeof(refinement3371.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3390,refinement3371);\n}\n$ans3389 = refinement3371.app(lv3381,rv3382);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3389;\ndefault: R.ffi.throwSpinnakerError(L[1383],$step3387);\n}\n}\nif($step3387 !== 1) {\n$ans3389.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3390,$temp_lam3388,$step3387,[],[],$elidedFrames3392);\n}\nreturn $ans3389;\n};\nvar anf_arg1401 = R.mF($temp_lam3388,\"\");\n$step3379 = 1;\n$al3384 = L[1402];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3384,run$task1);\n}\n$ans3383 = run$task1.app(anf_arg1401);\nbreak;\ncase 1: var cases3394 = $ans3383;\n$step3379 = 2;\n$al3384 = L[1401];\nvar $ann$check3421 = R._cA(L[1401],R.gDA(L[1401],\"either\",either20.dict.types,\"Either\"),cases3394);\nif(R.isContinuation($ann$check3421)) {\n$ans3383 = $ann$check3421;\n}\nbreak;\ncase 2: $al3384 = L[1392];\n$step3379 = $cases_dispatch3420[cases3394.$name] || 5;\nbreak;\ncase 3: if(cases3394.$arity !== 1) {\nif(cases3394.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1391],1,cases3394.$arity,L[1392],cases3394.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1391],true,L[1392],cases3394.$loc);\n}\n}\n$step3379 = 6;\n$al3384 = L[1391];\nvar $temp_branch3399 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1392($exn3395) {\nvar $step3401 = 0;\nvar $elidedFrames3405 = 0;\nvar $ans3402 = D;\nvar $al3403 = L[1390];\nif(R.isAR($exn3395)) {\n$step3401 = $exn3395.step;\n$al3403 = $exn3395.from;\n$ans3402 = $exn3395.ans;\n$elidedFrames3405 = $exn3395.elidedFrames;\nexn3395 = $exn3395.args[0];\nexn$v3396 = $exn3395.vars[0];\n} else {\nvar exn3395 = $exn3395;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3402 = R.mC();\n}\nwhile(!R.isContinuation($ans3402)) {\nswitch($step3401) {\ncase 0: $step3401 = 1;\n$al3403 = L[1389];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,exn$unwrap2);\n}\n$ans3402 = exn$unwrap2.app(exn3395);\nbreak;\ncase 1: var exn$v3396 = $ans3402;\n$step3401 = 2;\n$al3403 = L[1388];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3402 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3396);\nbreak;\ncase 2: var anf_if3398 = $ans3402;\n$step3401 = R.checkPyretTrue(anf_if3398)?3:4;\nbreak;\ncase 3: $step3401 = 6;\n$ans3402 = (true);\nbreak;\ncase 4: $step3401 = 5;\n$al3403 = L[1387];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3403,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3402 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3396);\nbreak;\ncase 5: var anf_arg1403 = $ans3402;\n$ans3402 = R.checkWrapBoolean(anf_arg1403);\n$step3401 = 6;\nbreak;\ncase 6: var anf_if3397 = $ans3402;\n$step3401 = R.checkPyretTrue(anf_if3397)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3402 = error$not$pred2676.$var.app(loc3374,refinement3371,(2));\nvar anf_arg1405 = $ans3402;\n$step3401 = 9;\n$al3403 = L[1385];\n// omitting isFunction check;\n$ans3402 = add$result2718.$var.app(anf_arg1405);\nbreak;\ncase 8: // caller optimization;\n$ans3402 = failure$exn2656.$var.app(loc3374,exn3395,on$refinement264.$var);\nvar anf_arg1412 = $ans3402;\n$step3401 = 9;\n$al3403 = L[1386];\n// omitting isFunction check;\n$ans3402 = add$result2718.$var.app(anf_arg1412);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3402;\ndefault: R.ffi.throwSpinnakerError(L[1390],$step3401);\n}\n}\nif($step3401 !== 9) {\n$ans3402.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3403,$temp_branch3399,$step3401,[exn3395],[exn$v3396],$elidedFrames3405);\n}\nreturn $ans3402;\n};\n$ans3383 = cases3394.$app_fields($temp_branch3399,[false]);\nbreak;\ncase 4: if(cases3394.$arity !== 1) {\nif(cases3394.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1400],1,cases3394.$arity,L[1392],cases3394.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1400],true,L[1392],cases3394.$loc);\n}\n}\n$step3379 = 6;\n$al3384 = L[1400];\nvar $temp_branch3413 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1392($test$result3407) {\nvar $step3414 = 0;\nvar $elidedFrames3418 = 0;\nvar $ans3415 = D;\nvar $al3416 = L[1399];\nif(R.isAR($test$result3407)) {\n$step3414 = $test$result3407.step;\n$al3416 = $test$result3407.from;\n$ans3415 = $test$result3407.ans;\n$elidedFrames3418 = $test$result3407.elidedFrames;\ntest$result3407 = $test$result3407.args[0];\n} else {\nvar test$result3407 = $test$result3407;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3415 = R.mC();\n}\nwhile(!R.isContinuation($ans3415)) {\nswitch($step3414) {\ncase 0: // caller optimization;\n$ans3415 = is$Unknown8.app(test$result3407);\nvar anf_if3412 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3412)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3415 = failure$is$incomparable2632.$var.app(loc3374,test$result3407,lv3381,on$left256.$var,rv3382,on$right260.$var);\nvar anf_arg1413 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1393];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1413);\nbreak;\ncase 2: $step3414 = 3;\n$al3416 = L[1398];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3416,equal$always1);\n}\n$ans3415 = equal$always1.app(test$result3407,(true));\nbreak;\ncase 3: var anf_if3411 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3411)?4:5;\nbreak;\ncase 4: $step3414 = 6;\n$ans3415 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3415 = is$Equal7.app(test$result3407);\nvar anf_arg1421 = $ans3415;\n$ans3415 = R.checkWrapBoolean(anf_arg1421);\n$step3414 = 6;\nbreak;\ncase 6: var anf_if3410 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3410)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3415 = some12.app(refinement3371);\nvar anf_arg1422 = $ans3415;\n// caller optimization;\n$ans3415 = failure$not$different2636.$var.app(loc3374,anf_arg1422,lv3381,on$left256.$var,rv3382,on$right260.$var);\nvar anf_arg1435 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1394];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1435);\nbreak;\ncase 8: // caller optimization;\n$ans3415 = is$boolean2.app(test$result3407);\nvar anf_if3409 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3409)?9:10;\nbreak;\ncase 9: $step3414 = 11;\n$ans3415 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3415 = is$NotEqual16.app(test$result3407);\nvar anf_arg1428 = $ans3415;\n$ans3415 = R.checkWrapBoolean(anf_arg1428);\n$step3414 = 11;\nbreak;\ncase 11: var anf_arg1423 = $ans3415;\n$step3414 = 12;\n$al3416 = L[1397];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3416,not5);\n}\n$ans3415 = not5.app(anf_arg1423);\nbreak;\ncase 12: var anf_if3408 = $ans3415;\n$step3414 = R.checkPyretTrue(anf_if3408)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3415 = error$not$boolean2672.$var.app(loc3374,refinement3371,lv3381,on$left256.$var,rv3382,on$right260.$var,test$result3407);\nvar anf_arg1430 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1395];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1430);\nbreak;\ncase 14: // caller optimization;\n$ans3415 = success2624.$var.app(loc3374);\nvar anf_arg1424 = $ans3415;\n$step3414 = 15;\n$al3416 = L[1396];\n// omitting isFunction check;\n$ans3415 = add$result2718.$var.app(anf_arg1424);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3415;\ndefault: R.ffi.throwSpinnakerError(L[1399],$step3414);\n}\n}\nif($step3414 !== 15) {\n$ans3415.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3416,$temp_branch3413,$step3414,[test$result3407],[],$elidedFrames3418);\n}\nreturn $ans3415;\n};\n$ans3383 = cases3394.$app_fields($temp_branch3413,[false]);\nbreak;\ncase 5: $ans3383 = R.throwNoCasesMatched(L[1392],cases3394);\n$step3379 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3383;\ndefault: R.ffi.throwSpinnakerError(L[1382],$step3379);\n}\n}\nif($step3379 !== 6) {\n$ans3383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3384,$temp_lam3380,$step3379,[lv3381,rv3382],[cases3394],$elidedFrames3386);\n}\nreturn $ans3383;\n};\nvar anf_arg1425 = R.mF($temp_lam3380,\"for-body\");\n$step3368 = 1;\n$al3376 = L[1382];\nif(typeof(anf_fun3423.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3376,anf_fun3423);\n}\n$ans3375 = anf_fun3423.app(anf_arg1425,left3372,right3373);\nbreak;\ncase 1: $step3368 = 2;\n$ans3375 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3375;\ndefault: R.ffi.throwSpinnakerError(L[1381],$step3368);\n}\n}\nif($step3368 !== 2) {\n$ans3375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3376,$temp_full3369,$step3368,[self3370,refinement3371,left3372,right3373,loc3374],[],$elidedFrames3378);\n}\nreturn $ans3375;\n};\nvar anf_obj5041 = R.makeMethod4($temp_full3369,\"check-is-not-refinement\");\nvar $temp_full3426 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1403($self3427,$refinement3428,$left3429,$right3430,$cause3431,$loc3432) {\nvar $step3425 = 0;\nvar $elidedFrames3436 = 0;\nvar $ans3433 = D;\nvar $al3434 = L[1403];\nif(R.isAR($self3427)) {\n$step3425 = $self3427.step;\n$al3434 = $self3427.from;\n$ans3433 = $self3427.ans;\n$elidedFrames3436 = $self3427.elidedFrames;\nself3427 = $self3427.args[0];\nrefinement3428 = $self3427.args[1];\nleft3429 = $self3427.args[2];\nright3430 = $self3427.args[3];\ncause3431 = $self3427.args[4];\nloc3432 = $self3427.args[5];\n} else {\nvar $l = arguments.length;\nif($l !== 6) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1403],6,$t,true);\n}\nvar self3427 = $self3427;\nvar refinement3428 = $refinement3428;\nvar left3429 = $left3429;\nvar right3430 = $right3430;\nvar cause3431 = $cause3431;\nvar loc3432 = $loc3432;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3433 = R.mC();\n}\nwhile(!R.isContinuation($ans3433)) {\nswitch($step3425) {\ncase 0: // caller optimization;\n$ans3433 = left$right$cause$check2800.$var.app(loc3432);\nvar anf_fun3544 = $ans3433;\nvar $temp_lam3438 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1404($lv3439,$rv3440,$cv3441) {\nvar $step3437 = 0;\nvar $elidedFrames3445 = 0;\nvar $ans3442 = D;\nvar $al3443 = L[1404];\nif(R.isAR($lv3439)) {\n$step3437 = $lv3439.step;\n$al3443 = $lv3439.from;\n$ans3442 = $lv3439.ans;\n$elidedFrames3445 = $lv3439.elidedFrames;\nlv3439 = $lv3439.args[0];\nrv3440 = $lv3439.args[1];\ncv3441 = $lv3439.args[2];\ncases3453 = $lv3439.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1404],3,$t,false);\n}\nvar lv3439 = $lv3439;\nvar rv3440 = $rv3440;\nvar cv3441 = $cv3441;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3442 = R.mC();\n}\nwhile(!R.isContinuation($ans3442)) {\nswitch($step3437) {\ncase 0: var $temp_lam3447 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1405($$resumer13) {\nvar $step3446 = 0;\nvar $elidedFrames3451 = 0;\nvar $ans3448 = D;\nvar $al3449 = L[1405];\nif(R.isAR($$resumer13)) {\n$step3446 = $$resumer13.step;\n$al3449 = $$resumer13.from;\n$ans3448 = $$resumer13.ans;\n$elidedFrames3451 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1405],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3448 = R.mC();\n}\nwhile(!R.isContinuation($ans3448)) {\nswitch($step3446) {\ncase 0: $step3446 = 1;\n$al3449 = L[1406];\nif(typeof(refinement3428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3449,refinement3428);\n}\n$ans3448 = refinement3428.app(cv3441,rv3440);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3448;\ndefault: R.ffi.throwSpinnakerError(L[1405],$step3446);\n}\n}\nif($step3446 !== 1) {\n$ans3448.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3449,$temp_lam3447,$step3446,[],[],$elidedFrames3451);\n}\nreturn $ans3448;\n};\nvar anf_arg1436 = R.mF($temp_lam3447,\"\");\n$step3437 = 1;\n$al3443 = L[1443];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3443,run$task1);\n}\n$ans3442 = run$task1.app(anf_arg1436);\nbreak;\ncase 1: var cases3453 = $ans3442;\n$step3437 = 2;\n$al3443 = L[1442];\nvar $ann$check3542 = R._cA(L[1442],R.gDA(L[1442],\"either\",either20.dict.types,\"Either\"),cases3453);\nif(R.isContinuation($ann$check3542)) {\n$ans3442 = $ann$check3542;\n}\nbreak;\ncase 2: $al3443 = L[1414];\n$step3437 = $cases_dispatch3541[cases3453.$name] || 5;\nbreak;\ncase 3: if(cases3453.$arity !== 1) {\nif(cases3453.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1413],1,cases3453.$arity,L[1414],cases3453.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1413],true,L[1414],cases3453.$loc);\n}\n}\n$step3437 = 6;\n$al3443 = L[1413];\nvar $temp_branch3458 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1414($exn3454) {\nvar $step3459 = 0;\nvar $elidedFrames3463 = 0;\nvar $ans3460 = D;\nvar $al3461 = L[1412];\nif(R.isAR($exn3454)) {\n$step3459 = $exn3454.step;\n$al3461 = $exn3454.from;\n$ans3460 = $exn3454.ans;\n$elidedFrames3463 = $exn3454.elidedFrames;\nexn3454 = $exn3454.args[0];\nexn$v3455 = $exn3454.vars[0];\n} else {\nvar exn3454 = $exn3454;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3460 = R.mC();\n}\nwhile(!R.isContinuation($ans3460)) {\nswitch($step3459) {\ncase 0: $step3459 = 1;\n$al3461 = L[1411];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,exn$unwrap2);\n}\n$ans3460 = exn$unwrap2.app(exn3454);\nbreak;\ncase 1: var exn$v3455 = $ans3460;\n$step3459 = 2;\n$al3461 = L[1410];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3460 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3455);\nbreak;\ncase 2: var anf_if3457 = $ans3460;\n$step3459 = R.checkPyretTrue(anf_if3457)?3:4;\nbreak;\ncase 3: $step3459 = 6;\n$ans3460 = (true);\nbreak;\ncase 4: $step3459 = 5;\n$al3461 = L[1409];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3461,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3460 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3455);\nbreak;\ncase 5: var anf_arg1437 = $ans3460;\n$ans3460 = R.checkWrapBoolean(anf_arg1437);\n$step3459 = 6;\nbreak;\ncase 6: var anf_if3456 = $ans3460;\n$step3459 = R.checkPyretTrue(anf_if3456)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3460 = error$not$pred2676.$var.app(loc3432,refinement3428,(2));\nvar anf_arg1447 = $ans3460;\n$step3459 = 9;\n$al3461 = L[1407];\n// omitting isFunction check;\n$ans3460 = add$result2718.$var.app(anf_arg1447);\nbreak;\ncase 8: // caller optimization;\n$ans3460 = failure$exn2656.$var.app(loc3432,exn3454,on$refinement264.$var);\nvar anf_arg1459 = $ans3460;\n$step3459 = 9;\n$al3461 = L[1408];\n// omitting isFunction check;\n$ans3460 = add$result2718.$var.app(anf_arg1459);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3460;\ndefault: R.ffi.throwSpinnakerError(L[1412],$step3459);\n}\n}\nif($step3459 !== 9) {\n$ans3460.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3461,$temp_branch3458,$step3459,[exn3454],[exn$v3455],$elidedFrames3463);\n}\nreturn $ans3460;\n};\n$ans3442 = cases3453.$app_fields($temp_branch3458,[false]);\nbreak;\ncase 4: if(cases3453.$arity !== 1) {\nif(cases3453.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1441],1,cases3453.$arity,L[1414],cases3453.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1441],true,L[1414],cases3453.$loc);\n}\n}\n$step3437 = 6;\n$al3443 = L[1441];\nvar $temp_branch3509 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1414($cause$result3465) {\nvar $step3511 = 0;\nvar $elidedFrames3515 = 0;\nvar $ans3512 = D;\nvar $al3513 = L[1440];\nif(R.isAR($cause$result3465)) {\n$step3511 = $cause$result3465.step;\n$al3513 = $cause$result3465.from;\n$ans3512 = $cause$result3465.ans;\n$elidedFrames3515 = $cause$result3465.elidedFrames;\ncause$result3465 = $cause$result3465.args[0];\ncases3474 = $cause$result3465.vars[0];\n} else {\nvar cause$result3465 = $cause$result3465;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3512 = R.mC();\n}\nwhile(!R.isContinuation($ans3512)) {\nswitch($step3511) {\ncase 0: // caller optimization;\n$ans3512 = is$Unknown8.app(cause$result3465);\nvar anf_if3508 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3508)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3512 = failure$is$incomparable2632.$var.app(loc3432,cause$result3465,cv3441,on$cause267.$var,rv3440,on$right260.$var);\nvar anf_arg1453 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1415];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1453);\nbreak;\ncase 2: $step3511 = 3;\n$al3513 = L[1439];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,equal$always1);\n}\n$ans3512 = equal$always1.app(cause$result3465,(true));\nbreak;\ncase 3: var anf_if3507 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3507)?4:5;\nbreak;\ncase 4: $step3511 = 6;\n$ans3512 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3512 = is$Equal7.app(cause$result3465);\nvar anf_arg1454 = $ans3512;\n$ans3512 = R.checkWrapBoolean(anf_arg1454);\n$step3511 = 6;\nbreak;\ncase 6: var anf_if3506 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3506)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3512 = some12.app(refinement3428);\nvar anf_arg1449 = $ans3512;\n// caller optimization;\n$ans3512 = failure$not$different2636.$var.app(loc3432,anf_arg1449,cv3441,on$cause267.$var,rv3440,on$right260.$var);\nvar anf_arg1450 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1416];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1450);\nbreak;\ncase 8: // caller optimization;\n$ans3512 = is$boolean2.app(cause$result3465);\nvar anf_if3505 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3505)?9:10;\nbreak;\ncase 9: $step3511 = 11;\n$ans3512 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3512 = is$NotEqual16.app(cause$result3465);\nvar anf_arg1456 = $ans3512;\n$ans3512 = R.checkWrapBoolean(anf_arg1456);\n$step3511 = 11;\nbreak;\ncase 11: var anf_arg1460 = $ans3512;\n$step3511 = 12;\n$al3513 = L[1438];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,not5);\n}\n$ans3512 = not5.app(anf_arg1460);\nbreak;\ncase 12: var anf_if3504 = $ans3512;\n$step3511 = R.checkPyretTrue(anf_if3504)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3512 = error$not$boolean2672.$var.app(loc3432,refinement3428,cv3441,on$cause267.$var,rv3440,on$right260.$var,cause$result3465);\nvar anf_arg1461 = $ans3512;\n$step3511 = 20;\n$al3513 = L[1417];\n// omitting isFunction check;\n$ans3512 = add$result2718.$var.app(anf_arg1461);\nbreak;\ncase 14: var $temp_lam3517 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1418($$resumer13) {\nvar $step3516 = 0;\nvar $elidedFrames3521 = 0;\nvar $ans3518 = D;\nvar $al3519 = L[1418];\nif(R.isAR($$resumer13)) {\n$step3516 = $$resumer13.step;\n$al3519 = $$resumer13.from;\n$ans3518 = $$resumer13.ans;\n$elidedFrames3521 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1418],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3518 = R.mC();\n}\nwhile(!R.isContinuation($ans3518)) {\nswitch($step3516) {\ncase 0: $step3516 = 1;\n$al3519 = L[1419];\nif(typeof(refinement3428.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3519,refinement3428);\n}\n$ans3518 = refinement3428.app(lv3439,rv3440);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3518;\ndefault: R.ffi.throwSpinnakerError(L[1418],$step3516);\n}\n}\nif($step3516 !== 1) {\n$ans3518.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3519,$temp_lam3517,$step3516,[],[],$elidedFrames3521);\n}\nreturn $ans3518;\n};\nvar anf_arg3473 = R.mF($temp_lam3517,\"\");\n$step3511 = 15;\n$al3513 = L[1437];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3513,run$task1);\n}\n$ans3512 = run$task1.app(anf_arg3473);\nbreak;\ncase 15: var cases3474 = $ans3512;\n$step3511 = 16;\n$al3513 = L[1436];\nvar $ann$check3539 = R._cA(L[1436],R.gDA(L[1436],\"either\",either20.dict.types,\"Either\"),cases3474);\nif(R.isContinuation($ann$check3539)) {\n$ans3512 = $ann$check3539;\n}\nbreak;\ncase 16: $al3513 = L[1427];\n$step3511 = $cases_dispatch3538[cases3474.$name] || 19;\nbreak;\ncase 17: if(cases3474.$arity !== 1) {\nif(cases3474.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1426],1,cases3474.$arity,L[1427],cases3474.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1426],true,L[1427],cases3474.$loc);\n}\n}\n$step3511 = 20;\n$al3513 = L[1426];\nvar $temp_branch3523 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1427($exn3475) {\nvar $step3524 = 0;\nvar $elidedFrames3528 = 0;\nvar $ans3525 = D;\nvar $al3526 = L[1425];\nif(R.isAR($exn3475)) {\n$step3524 = $exn3475.step;\n$al3526 = $exn3475.from;\n$ans3525 = $exn3475.ans;\n$elidedFrames3528 = $exn3475.elidedFrames;\nexn3475 = $exn3475.args[0];\nexn$v3476 = $exn3475.vars[0];\n} else {\nvar exn3475 = $exn3475;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3525 = R.mC();\n}\nwhile(!R.isContinuation($ans3525)) {\nswitch($step3524) {\ncase 0: $step3524 = 1;\n$al3526 = L[1424];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,exn$unwrap2);\n}\n$ans3525 = exn$unwrap2.app(exn3475);\nbreak;\ncase 1: var exn$v3476 = $ans3525;\n$step3524 = 2;\n$al3526 = L[1423];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3525 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3476);\nbreak;\ncase 2: var anf_if3479 = $ans3525;\n$step3524 = R.checkPyretTrue(anf_if3479)?3:4;\nbreak;\ncase 3: $step3524 = 6;\n$ans3525 = (true);\nbreak;\ncase 4: $step3524 = 5;\n$al3526 = L[1422];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3526,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3525 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3476);\nbreak;\ncase 5: var anf_arg1472 = $ans3525;\n$ans3525 = R.checkWrapBoolean(anf_arg1472);\n$step3524 = 6;\nbreak;\ncase 6: var anf_if3478 = $ans3525;\n$step3524 = R.checkPyretTrue(anf_if3478)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3525 = error$not$pred2676.$var.app(loc3432,refinement3428,(2));\nvar anf_arg3477 = $ans3525;\n$step3524 = 9;\n$al3526 = L[1420];\n// omitting isFunction check;\n$ans3525 = add$result2718.$var.app(anf_arg3477);\nbreak;\ncase 8: // caller optimization;\n$ans3525 = failure$exn2656.$var.app(loc3432,exn3475,on$refinement264.$var);\nvar anf_arg1478 = $ans3525;\n$step3524 = 9;\n$al3526 = L[1421];\n// omitting isFunction check;\n$ans3525 = add$result2718.$var.app(anf_arg1478);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3525;\ndefault: R.ffi.throwSpinnakerError(L[1425],$step3524);\n}\n}\nif($step3524 !== 9) {\n$ans3525.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3526,$temp_branch3523,$step3524,[exn3475],[exn$v3476],$elidedFrames3528);\n}\nreturn $ans3525;\n};\n$ans3512 = cases3474.$app_fields($temp_branch3523,[false]);\nbreak;\ncase 18: if(cases3474.$arity !== 1) {\nif(cases3474.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1435],1,cases3474.$arity,L[1427],cases3474.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1435],true,L[1427],cases3474.$loc);\n}\n}\n$step3511 = 20;\n$al3513 = L[1435];\nvar $temp_branch3530 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1427($test$result3487) {\nvar $step3531 = 0;\nvar $elidedFrames3536 = 0;\nvar $ans3533 = D;\nvar $al3534 = L[1434];\nif(R.isAR($test$result3487)) {\n$step3531 = $test$result3487.step;\n$al3534 = $test$result3487.from;\n$ans3533 = $test$result3487.ans;\n$elidedFrames3536 = $test$result3487.elidedFrames;\ntest$result3487 = $test$result3487.args[0];\n} else {\nvar test$result3487 = $test$result3487;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3533 = R.mC();\n}\nwhile(!R.isContinuation($ans3533)) {\nswitch($step3531) {\ncase 0: // caller optimization;\n$ans3533 = is$Unknown8.app(test$result3487);\nvar anf_if3494 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3494)?1:2;\nbreak;\ncase 1: // caller optimization;\n$ans3533 = failure$is$incomparable2632.$var.app(loc3432,test$result3487,lv3439,on$left256.$var,rv3440,on$right260.$var);\nvar anf_arg1479 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1428];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg1479);\nbreak;\ncase 2: $step3531 = 3;\n$al3534 = L[1433];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3534,equal$always1);\n}\n$ans3533 = equal$always1.app(test$result3487,(true));\nbreak;\ncase 3: var anf_if3493 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3493)?4:5;\nbreak;\ncase 4: $step3531 = 6;\n$ans3533 = (true);\nbreak;\ncase 5: // caller optimization;\n$ans3533 = is$Equal7.app(test$result3487);\nvar anf_arg1474 = $ans3533;\n$ans3533 = R.checkWrapBoolean(anf_arg1474);\n$step3531 = 6;\nbreak;\ncase 6: var anf_if3492 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3492)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3533 = some12.app(refinement3428);\nvar anf_arg1476 = $ans3533;\n// caller optimization;\n$ans3533 = failure$not$different2636.$var.app(loc3432,anf_arg1476,lv3439,on$left256.$var,rv3440,on$right260.$var);\nvar anf_arg1481 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1429];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg1481);\nbreak;\ncase 8: // caller optimization;\n$ans3533 = is$boolean2.app(test$result3487);\nvar anf_if3491 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3491)?9:10;\nbreak;\ncase 9: $step3531 = 11;\n$ans3533 = (true);\nbreak;\ncase 10: // caller optimization;\n$ans3533 = is$NotEqual16.app(test$result3487);\nvar anf_arg1482 = $ans3533;\n$ans3533 = R.checkWrapBoolean(anf_arg1482);\n$step3531 = 11;\nbreak;\ncase 11: var anf_arg1486 = $ans3533;\n$step3531 = 12;\n$al3534 = L[1432];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3534,not5);\n}\n$ans3533 = not5.app(anf_arg1486);\nbreak;\ncase 12: var anf_if3490 = $ans3533;\n$step3531 = R.checkPyretTrue(anf_if3490)?13:14;\nbreak;\ncase 13: // caller optimization;\n$ans3533 = error$not$boolean2672.$var.app(loc3432,refinement3428,lv3439,on$left256.$var,rv3440,on$right260.$var,test$result3487);\nvar anf_arg3488 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1430];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg3488);\nbreak;\ncase 14: // caller optimization;\n$ans3533 = success2624.$var.app(loc3432);\nvar anf_arg3489 = $ans3533;\n$step3531 = 15;\n$al3534 = L[1431];\n// omitting isFunction check;\n$ans3533 = add$result2718.$var.app(anf_arg3489);\nbreak;\ncase 15: ++R.GAS;\nreturn $ans3533;\ndefault: R.ffi.throwSpinnakerError(L[1434],$step3531);\n}\n}\nif($step3531 !== 15) {\n$ans3533.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3534,$temp_branch3530,$step3531,[test$result3487],[],$elidedFrames3536);\n}\nreturn $ans3533;\n};\n$ans3512 = cases3474.$app_fields($temp_branch3530,[false]);\nbreak;\ncase 19: $ans3512 = R.throwNoCasesMatched(L[1427],cases3474);\n$step3511 = 20;\nbreak;\ncase 20: ++R.GAS;\nreturn $ans3512;\ndefault: R.ffi.throwSpinnakerError(L[1440],$step3511);\n}\n}\nif($step3511 !== 20) {\n$ans3512.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3513,$temp_branch3509,$step3511,[cause$result3465],[cases3474],$elidedFrames3515);\n}\nreturn $ans3512;\n};\n$ans3442 = cases3453.$app_fields($temp_branch3509,[false]);\nbreak;\ncase 5: $ans3442 = R.throwNoCasesMatched(L[1414],cases3453);\n$step3437 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3442;\ndefault: R.ffi.throwSpinnakerError(L[1404],$step3437);\n}\n}\nif($step3437 !== 6) {\n$ans3442.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3443,$temp_lam3438,$step3437,[lv3439,rv3440,cv3441],[cases3453],$elidedFrames3445);\n}\nreturn $ans3442;\n};\nvar anf_arg3545 = R.mF($temp_lam3438,\"for-body\");\n$step3425 = 1;\n$al3434 = L[1404];\nif(typeof(anf_fun3544.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3434,anf_fun3544);\n}\n$ans3433 = anf_fun3544.app(anf_arg3545,left3429,right3430,cause3431);\nbreak;\ncase 1: $step3425 = 2;\n$ans3433 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3433;\ndefault: R.ffi.throwSpinnakerError(L[1403],$step3425);\n}\n}\nif($step3425 !== 2) {\n$ans3433.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3434,$temp_full3426,$step3425,[self3427,refinement3428,left3429,right3430,cause3431,loc3432],[],$elidedFrames3436);\n}\nreturn $ans3433;\n};\nvar anf_obj5042 = R.makeMethod5($temp_full3426,\"check-is-not-refinement-cause\");\nvar $temp_full3548 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1444($self3549,$left3550,$pred3551,$loc3552) {\nvar $step3547 = 0;\nvar $elidedFrames3556 = 0;\nvar $ans3553 = D;\nvar $al3554 = L[1444];\nif(R.isAR($self3549)) {\n$step3547 = $self3549.step;\n$al3554 = $self3549.from;\n$ans3553 = $self3549.ans;\n$elidedFrames3556 = $self3549.elidedFrames;\nself3549 = $self3549.args[0];\nleft3550 = $self3549.args[1];\npred3551 = $self3549.args[2];\nloc3552 = $self3549.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1444],4,$t,true);\n}\nvar self3549 = $self3549;\nvar left3550 = $left3550;\nvar pred3551 = $pred3551;\nvar loc3552 = $loc3552;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3553 = R.mC();\n}\nwhile(!R.isContinuation($ans3553)) {\nswitch($step3547) {\ncase 0: // caller optimization;\n$ans3553 = left$right$check2755.$var.app(loc3552);\nvar anf_fun3601 = $ans3553;\nvar $temp_lam3558 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1445($lv3559,$pv3560) {\nvar $step3557 = 0;\nvar $elidedFrames3564 = 0;\nvar $ans3561 = D;\nvar $al3562 = L[1445];\nif(R.isAR($lv3559)) {\n$step3557 = $lv3559.step;\n$al3562 = $lv3559.from;\n$ans3561 = $lv3559.ans;\n$elidedFrames3564 = $lv3559.elidedFrames;\nlv3559 = $lv3559.args[0];\npv3560 = $lv3559.args[1];\ncases3572 = $lv3559.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1445],2,$t,false);\n}\nvar lv3559 = $lv3559;\nvar pv3560 = $pv3560;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3561 = R.mC();\n}\nwhile(!R.isContinuation($ans3561)) {\nswitch($step3557) {\ncase 0: var $temp_lam3566 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1446($$resumer13) {\nvar $step3565 = 0;\nvar $elidedFrames3570 = 0;\nvar $ans3567 = D;\nvar $al3568 = L[1446];\nif(R.isAR($$resumer13)) {\n$step3565 = $$resumer13.step;\n$al3568 = $$resumer13.from;\n$ans3567 = $$resumer13.ans;\n$elidedFrames3570 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1446],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3567 = R.mC();\n}\nwhile(!R.isContinuation($ans3567)) {\nswitch($step3565) {\ncase 0: $step3565 = 1;\n$al3568 = L[1447];\nif(typeof(pv3560.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3568,pv3560);\n}\n$ans3567 = pv3560.app(lv3559);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3567;\ndefault: R.ffi.throwSpinnakerError(L[1446],$step3565);\n}\n}\nif($step3565 !== 1) {\n$ans3567.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3568,$temp_lam3566,$step3565,[],[],$elidedFrames3570);\n}\nreturn $ans3567;\n};\nvar anf_arg1499 = R.mF($temp_lam3566,\"\");\n$step3557 = 1;\n$al3562 = L[1464];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3562,run$task1);\n}\n$ans3561 = run$task1.app(anf_arg1499);\nbreak;\ncase 1: var cases3572 = $ans3561;\n$step3557 = 2;\n$al3562 = L[1463];\nvar $ann$check3599 = R._cA(L[1463],R.gDA(L[1463],\"either\",either20.dict.types,\"Either\"),cases3572);\nif(R.isContinuation($ann$check3599)) {\n$ans3561 = $ann$check3599;\n}\nbreak;\ncase 2: $al3562 = L[1455];\n$step3557 = $cases_dispatch3598[cases3572.$name] || 5;\nbreak;\ncase 3: if(cases3572.$arity !== 1) {\nif(cases3572.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1454],1,cases3572.$arity,L[1455],cases3572.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1454],true,L[1455],cases3572.$loc);\n}\n}\n$step3557 = 6;\n$al3562 = L[1454];\nvar $temp_branch3577 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1455($exn3573) {\nvar $step3578 = 0;\nvar $elidedFrames3582 = 0;\nvar $ans3579 = D;\nvar $al3580 = L[1453];\nif(R.isAR($exn3573)) {\n$step3578 = $exn3573.step;\n$al3580 = $exn3573.from;\n$ans3579 = $exn3573.ans;\n$elidedFrames3582 = $exn3573.elidedFrames;\nexn3573 = $exn3573.args[0];\nexn$v3574 = $exn3573.vars[0];\n} else {\nvar exn3573 = $exn3573;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3579 = R.mC();\n}\nwhile(!R.isContinuation($ans3579)) {\nswitch($step3578) {\ncase 0: $step3578 = 1;\n$al3580 = L[1452];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,exn$unwrap2);\n}\n$ans3579 = exn$unwrap2.app(exn3573);\nbreak;\ncase 1: var exn$v3574 = $ans3579;\n$step3578 = 2;\n$al3580 = L[1451];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3579 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3574);\nbreak;\ncase 2: var anf_if3576 = $ans3579;\n$step3578 = R.checkPyretTrue(anf_if3576)?3:4;\nbreak;\ncase 3: $step3578 = 6;\n$ans3579 = (true);\nbreak;\ncase 4: $step3578 = 5;\n$al3580 = L[1450];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3580,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3579 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3574);\nbreak;\ncase 5: var anf_arg1503 = $ans3579;\n$ans3579 = R.checkWrapBoolean(anf_arg1503);\n$step3578 = 6;\nbreak;\ncase 6: var anf_if3575 = $ans3579;\n$step3578 = R.checkPyretTrue(anf_if3575)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3579 = error$not$pred2676.$var.app(loc3552,pv3560,(1));\nvar anf_arg1504 = $ans3579;\n$step3578 = 9;\n$al3580 = L[1448];\n// omitting isFunction check;\n$ans3579 = add$result2718.$var.app(anf_arg1504);\nbreak;\ncase 8: // caller optimization;\n$ans3579 = failure$exn2656.$var.app(loc3552,exn3573,on$right260.$var);\nvar anf_arg1507 = $ans3579;\n$step3578 = 9;\n$al3580 = L[1449];\n// omitting isFunction check;\n$ans3579 = add$result2718.$var.app(anf_arg1507);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3579;\ndefault: R.ffi.throwSpinnakerError(L[1453],$step3578);\n}\n}\nif($step3578 !== 9) {\n$ans3579.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3580,$temp_branch3577,$step3578,[exn3573],[exn$v3574],$elidedFrames3582);\n}\nreturn $ans3579;\n};\n$ans3561 = cases3572.$app_fields($temp_branch3577,[false]);\nbreak;\ncase 4: if(cases3572.$arity !== 1) {\nif(cases3572.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1462],1,cases3572.$arity,L[1455],cases3572.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1462],true,L[1455],cases3572.$loc);\n}\n}\n$step3557 = 6;\n$al3562 = L[1462];\nvar $temp_branch3590 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1455($test$result3585) {\nvar $step3591 = 0;\nvar $elidedFrames3596 = 0;\nvar $ans3593 = D;\nvar $al3594 = L[1461];\nif(R.isAR($test$result3585)) {\n$step3591 = $test$result3585.step;\n$al3594 = $test$result3585.from;\n$ans3593 = $test$result3585.ans;\n$elidedFrames3596 = $test$result3585.elidedFrames;\ntest$result3585 = $test$result3585.args[0];\n} else {\nvar test$result3585 = $test$result3585;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3593 = R.mC();\n}\nwhile(!R.isContinuation($ans3593)) {\nswitch($step3591) {\ncase 0: // caller optimization;\n$ans3593 = is$boolean2.app(test$result3585);\nvar anf_arg1508 = $ans3593;\n$step3591 = 1;\n$al3594 = L[1460];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3594,not5);\n}\n$ans3593 = not5.app(anf_arg1508);\nbreak;\ncase 1: var anf_if3589 = $ans3593;\n$step3591 = R.checkPyretTrue(anf_if3589)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3593 = error$not$boolean$pred2680.$var.app(loc3552,pv3560,lv3559,on$left256.$var,test$result3585);\nvar anf_arg3586 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1456];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg3586);\nbreak;\ncase 3: $step3591 = 4;\n$al3594 = L[1459];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3594,not5);\n}\n$ans3593 = not5.app(test$result3585);\nbreak;\ncase 4: var anf_if3588 = $ans3593;\n$step3591 = R.checkPyretTrue(anf_if3588)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3593 = failure$not$satisfied2640.$var.app(loc3552,lv3559,on$left256.$var,pv3560);\nvar anf_arg3587 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1457];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg3587);\nbreak;\ncase 6: // caller optimization;\n$ans3593 = success2624.$var.app(loc3552);\nvar anf_arg1512 = $ans3593;\n$step3591 = 7;\n$al3594 = L[1458];\n// omitting isFunction check;\n$ans3593 = add$result2718.$var.app(anf_arg1512);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3593;\ndefault: R.ffi.throwSpinnakerError(L[1461],$step3591);\n}\n}\nif($step3591 !== 7) {\n$ans3593.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3594,$temp_branch3590,$step3591,[test$result3585],[],$elidedFrames3596);\n}\nreturn $ans3593;\n};\n$ans3561 = cases3572.$app_fields($temp_branch3590,[false]);\nbreak;\ncase 5: $ans3561 = R.throwNoCasesMatched(L[1455],cases3572);\n$step3557 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3561;\ndefault: R.ffi.throwSpinnakerError(L[1445],$step3557);\n}\n}\nif($step3557 !== 6) {\n$ans3561.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3562,$temp_lam3558,$step3557,[lv3559,pv3560],[cases3572],$elidedFrames3564);\n}\nreturn $ans3561;\n};\nvar anf_arg1518 = R.mF($temp_lam3558,\"for-body\");\n$step3547 = 1;\n$al3554 = L[1445];\nif(typeof(anf_fun3601.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3554,anf_fun3601);\n}\n$ans3553 = anf_fun3601.app(anf_arg1518,left3550,pred3551);\nbreak;\ncase 1: $step3547 = 2;\n$ans3553 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3553;\ndefault: R.ffi.throwSpinnakerError(L[1444],$step3547);\n}\n}\nif($step3547 !== 2) {\n$ans3553.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3554,$temp_full3548,$step3547,[self3549,left3550,pred3551,loc3552],[],$elidedFrames3556);\n}\nreturn $ans3553;\n};\nvar anf_obj5043 = R.makeMethod3($temp_full3548,\"check-satisfies-delayed\");\nvar $temp_full3604 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1465($self3605,$left3606,$pred3607,$cause3608,$loc3609) {\nvar $step3603 = 0;\nvar $elidedFrames3613 = 0;\nvar $ans3610 = D;\nvar $al3611 = L[1465];\nif(R.isAR($self3605)) {\n$step3603 = $self3605.step;\n$al3611 = $self3605.from;\n$ans3610 = $self3605.ans;\n$elidedFrames3613 = $self3605.elidedFrames;\nself3605 = $self3605.args[0];\nleft3606 = $self3605.args[1];\npred3607 = $self3605.args[2];\ncause3608 = $self3605.args[3];\nloc3609 = $self3605.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1465],5,$t,true);\n}\nvar self3605 = $self3605;\nvar left3606 = $left3606;\nvar pred3607 = $pred3607;\nvar cause3608 = $cause3608;\nvar loc3609 = $loc3609;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3610 = R.mC();\n}\nwhile(!R.isContinuation($ans3610)) {\nswitch($step3603) {\ncase 0: // caller optimization;\n$ans3610 = left$right$cause$check2800.$var.app(loc3609);\nvar anf_fun3716 = $ans3610;\nvar $temp_lam3615 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1466($lv3616,$pv3617,$cv3618) {\nvar $step3614 = 0;\nvar $elidedFrames3622 = 0;\nvar $ans3619 = D;\nvar $al3620 = L[1466];\nif(R.isAR($lv3616)) {\n$step3614 = $lv3616.step;\n$al3620 = $lv3616.from;\n$ans3619 = $lv3616.ans;\n$elidedFrames3622 = $lv3616.elidedFrames;\nlv3616 = $lv3616.args[0];\npv3617 = $lv3616.args[1];\ncv3618 = $lv3616.args[2];\ncases3631 = $lv3616.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1466],3,$t,false);\n}\nvar lv3616 = $lv3616;\nvar pv3617 = $pv3617;\nvar cv3618 = $cv3618;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3619 = R.mC();\n}\nwhile(!R.isContinuation($ans3619)) {\nswitch($step3614) {\ncase 0: var $temp_lam3624 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1467($$resumer13) {\nvar $step3623 = 0;\nvar $elidedFrames3628 = 0;\nvar $ans3625 = D;\nvar $al3626 = L[1467];\nif(R.isAR($$resumer13)) {\n$step3623 = $$resumer13.step;\n$al3626 = $$resumer13.from;\n$ans3625 = $$resumer13.ans;\n$elidedFrames3628 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1467],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3625 = R.mC();\n}\nwhile(!R.isContinuation($ans3625)) {\nswitch($step3623) {\ncase 0: $step3623 = 1;\n$al3626 = L[1468];\nif(typeof(pv3617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3626,pv3617);\n}\n$ans3625 = pv3617.app(cv3618);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3625;\ndefault: R.ffi.throwSpinnakerError(L[1467],$step3623);\n}\n}\nif($step3623 !== 1) {\n$ans3625.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3626,$temp_lam3624,$step3623,[],[],$elidedFrames3628);\n}\nreturn $ans3625;\n};\nvar anf_arg3630 = R.mF($temp_lam3624,\"\");\n$step3614 = 1;\n$al3620 = L[1503];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3620,run$task1);\n}\n$ans3619 = run$task1.app(anf_arg3630);\nbreak;\ncase 1: var cases3631 = $ans3619;\n$step3614 = 2;\n$al3620 = L[1502];\nvar $ann$check3714 = R._cA(L[1502],R.gDA(L[1502],\"either\",either20.dict.types,\"Either\"),cases3631);\nif(R.isContinuation($ann$check3714)) {\n$ans3619 = $ann$check3714;\n}\nbreak;\ncase 2: $al3620 = L[1476];\n$step3614 = $cases_dispatch3713[cases3631.$name] || 5;\nbreak;\ncase 3: if(cases3631.$arity !== 1) {\nif(cases3631.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1475],1,cases3631.$arity,L[1476],cases3631.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1475],true,L[1476],cases3631.$loc);\n}\n}\n$step3614 = 6;\n$al3620 = L[1475];\nvar $temp_branch3638 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1476($exn3632) {\nvar $step3639 = 0;\nvar $elidedFrames3644 = 0;\nvar $ans3641 = D;\nvar $al3642 = L[1474];\nif(R.isAR($exn3632)) {\n$step3639 = $exn3632.step;\n$al3642 = $exn3632.from;\n$ans3641 = $exn3632.ans;\n$elidedFrames3644 = $exn3632.elidedFrames;\nexn3632 = $exn3632.args[0];\nexn$v3633 = $exn3632.vars[0];\n} else {\nvar exn3632 = $exn3632;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3641 = R.mC();\n}\nwhile(!R.isContinuation($ans3641)) {\nswitch($step3639) {\ncase 0: $step3639 = 1;\n$al3642 = L[1473];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,exn$unwrap2);\n}\n$ans3641 = exn$unwrap2.app(exn3632);\nbreak;\ncase 1: var exn$v3633 = $ans3641;\n$step3639 = 2;\n$al3642 = L[1472];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3641 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3633);\nbreak;\ncase 2: var anf_if3637 = $ans3641;\n$step3639 = R.checkPyretTrue(anf_if3637)?3:4;\nbreak;\ncase 3: $step3639 = 6;\n$ans3641 = (true);\nbreak;\ncase 4: $step3639 = 5;\n$al3642 = L[1471];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3642,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3641 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3633);\nbreak;\ncase 5: var anf_arg1520 = $ans3641;\n$ans3641 = R.checkWrapBoolean(anf_arg1520);\n$step3639 = 6;\nbreak;\ncase 6: var anf_if3636 = $ans3641;\n$step3639 = R.checkPyretTrue(anf_if3636)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3641 = error$not$pred2676.$var.app(loc3609,pv3617,(1));\nvar anf_arg1521 = $ans3641;\n$step3639 = 9;\n$al3642 = L[1469];\n// omitting isFunction check;\n$ans3641 = add$result2718.$var.app(anf_arg1521);\nbreak;\ncase 8: // caller optimization;\n$ans3641 = failure$exn2656.$var.app(loc3609,exn3632,on$right260.$var);\nvar anf_arg3635 = $ans3641;\n$step3639 = 9;\n$al3642 = L[1470];\n// omitting isFunction check;\n$ans3641 = add$result2718.$var.app(anf_arg3635);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3641;\ndefault: R.ffi.throwSpinnakerError(L[1474],$step3639);\n}\n}\nif($step3639 !== 9) {\n$ans3641.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3642,$temp_branch3638,$step3639,[exn3632],[exn$v3633],$elidedFrames3644);\n}\nreturn $ans3641;\n};\n$ans3619 = cases3631.$app_fields($temp_branch3638,[false]);\nbreak;\ncase 4: if(cases3631.$arity !== 1) {\nif(cases3631.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1501],1,cases3631.$arity,L[1476],cases3631.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1501],true,L[1476],cases3631.$loc);\n}\n}\n$step3614 = 6;\n$al3620 = L[1501];\nvar $temp_branch3682 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1476($cause$result3646) {\nvar $step3684 = 0;\nvar $elidedFrames3688 = 0;\nvar $ans3685 = D;\nvar $al3686 = L[1500];\nif(R.isAR($cause$result3646)) {\n$step3684 = $cause$result3646.step;\n$al3686 = $cause$result3646.from;\n$ans3685 = $cause$result3646.ans;\n$elidedFrames3688 = $cause$result3646.elidedFrames;\ncause$result3646 = $cause$result3646.args[0];\ncases3655 = $cause$result3646.vars[0];\n} else {\nvar cause$result3646 = $cause$result3646;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3685 = R.mC();\n}\nwhile(!R.isContinuation($ans3685)) {\nswitch($step3684) {\ncase 0: // caller optimization;\n$ans3685 = is$boolean2.app(cause$result3646);\nvar anf_arg3647 = $ans3685;\n$step3684 = 1;\n$al3686 = L[1499];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,not5);\n}\n$ans3685 = not5.app(anf_arg3647);\nbreak;\ncase 1: var anf_if3681 = $ans3685;\n$step3684 = R.checkPyretTrue(anf_if3681)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3685 = error$not$boolean$pred2680.$var.app(loc3609,pv3617,cv3618,on$cause267.$var,cause$result3646);\nvar anf_arg1530 = $ans3685;\n$step3684 = 12;\n$al3686 = L[1477];\n// omitting isFunction check;\n$ans3685 = add$result2718.$var.app(anf_arg1530);\nbreak;\ncase 3: $step3684 = 4;\n$al3686 = L[1498];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,not5);\n}\n$ans3685 = not5.app(cause$result3646);\nbreak;\ncase 4: var anf_if3680 = $ans3685;\n$step3684 = R.checkPyretTrue(anf_if3680)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3685 = failure$not$satisfied2640.$var.app(loc3609,cv3618,on$cause267.$var,pv3617);\nvar anf_arg1534 = $ans3685;\n$step3684 = 12;\n$al3686 = L[1478];\n// omitting isFunction check;\n$ans3685 = add$result2718.$var.app(anf_arg1534);\nbreak;\ncase 6: var $temp_lam3690 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1479($$resumer13) {\nvar $step3689 = 0;\nvar $elidedFrames3694 = 0;\nvar $ans3691 = D;\nvar $al3692 = L[1479];\nif(R.isAR($$resumer13)) {\n$step3689 = $$resumer13.step;\n$al3692 = $$resumer13.from;\n$ans3691 = $$resumer13.ans;\n$elidedFrames3694 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1479],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3691 = R.mC();\n}\nwhile(!R.isContinuation($ans3691)) {\nswitch($step3689) {\ncase 0: $step3689 = 1;\n$al3692 = L[1480];\nif(typeof(pv3617.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3692,pv3617);\n}\n$ans3691 = pv3617.app(lv3616);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3691;\ndefault: R.ffi.throwSpinnakerError(L[1479],$step3689);\n}\n}\nif($step3689 !== 1) {\n$ans3691.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3692,$temp_lam3690,$step3689,[],[],$elidedFrames3694);\n}\nreturn $ans3691;\n};\nvar anf_arg1537 = R.mF($temp_lam3690,\"\");\n$step3684 = 7;\n$al3686 = L[1497];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3686,run$task1);\n}\n$ans3685 = run$task1.app(anf_arg1537);\nbreak;\ncase 7: var cases3655 = $ans3685;\n$step3684 = 8;\n$al3686 = L[1496];\nvar $ann$check3711 = R._cA(L[1496],R.gDA(L[1496],\"either\",either20.dict.types,\"Either\"),cases3655);\nif(R.isContinuation($ann$check3711)) {\n$ans3685 = $ann$check3711;\n}\nbreak;\ncase 8: $al3686 = L[1488];\n$step3684 = $cases_dispatch3710[cases3655.$name] || 11;\nbreak;\ncase 9: if(cases3655.$arity !== 1) {\nif(cases3655.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1487],1,cases3655.$arity,L[1488],cases3655.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1487],true,L[1488],cases3655.$loc);\n}\n}\n$step3684 = 12;\n$al3686 = L[1487];\nvar $temp_branch3696 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1488($exn3656) {\nvar $step3697 = 0;\nvar $elidedFrames3701 = 0;\nvar $ans3698 = D;\nvar $al3699 = L[1486];\nif(R.isAR($exn3656)) {\n$step3697 = $exn3656.step;\n$al3699 = $exn3656.from;\n$ans3698 = $exn3656.ans;\n$elidedFrames3701 = $exn3656.elidedFrames;\nexn3656 = $exn3656.args[0];\nexn$v3657 = $exn3656.vars[0];\n} else {\nvar exn3656 = $exn3656;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3698 = R.mC();\n}\nwhile(!R.isContinuation($ans3698)) {\nswitch($step3697) {\ncase 0: $step3697 = 1;\n$al3699 = L[1485];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,exn$unwrap2);\n}\n$ans3698 = exn$unwrap2.app(exn3656);\nbreak;\ncase 1: var exn$v3657 = $ans3698;\n$step3697 = 2;\n$al3699 = L[1484];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3698 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3657);\nbreak;\ncase 2: var anf_if3660 = $ans3698;\n$step3697 = R.checkPyretTrue(anf_if3660)?3:4;\nbreak;\ncase 3: $step3697 = 6;\n$ans3698 = (true);\nbreak;\ncase 4: $step3697 = 5;\n$al3699 = L[1483];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3699,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3698 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3657);\nbreak;\ncase 5: var anf_arg1538 = $ans3698;\n$ans3698 = R.checkWrapBoolean(anf_arg1538);\n$step3697 = 6;\nbreak;\ncase 6: var anf_if3659 = $ans3698;\n$step3697 = R.checkPyretTrue(anf_if3659)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3698 = error$not$pred2676.$var.app(loc3609,pv3617,(1));\nvar anf_arg3658 = $ans3698;\n$step3697 = 9;\n$al3699 = L[1481];\n// omitting isFunction check;\n$ans3698 = add$result2718.$var.app(anf_arg3658);\nbreak;\ncase 8: // caller optimization;\n$ans3698 = failure$exn2656.$var.app(loc3609,exn3656,on$right260.$var);\nvar anf_arg1550 = $ans3698;\n$step3697 = 9;\n$al3699 = L[1482];\n// omitting isFunction check;\n$ans3698 = add$result2718.$var.app(anf_arg1550);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3698;\ndefault: R.ffi.throwSpinnakerError(L[1486],$step3697);\n}\n}\nif($step3697 !== 9) {\n$ans3698.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3699,$temp_branch3696,$step3697,[exn3656],[exn$v3657],$elidedFrames3701);\n}\nreturn $ans3698;\n};\n$ans3685 = cases3655.$app_fields($temp_branch3696,[false]);\nbreak;\ncase 10: if(cases3655.$arity !== 1) {\nif(cases3655.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1495],1,cases3655.$arity,L[1488],cases3655.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1495],true,L[1488],cases3655.$loc);\n}\n}\n$step3684 = 12;\n$al3686 = L[1495];\nvar $temp_branch3703 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1488($test$result3668) {\nvar $step3704 = 0;\nvar $elidedFrames3708 = 0;\nvar $ans3705 = D;\nvar $al3706 = L[1494];\nif(R.isAR($test$result3668)) {\n$step3704 = $test$result3668.step;\n$al3706 = $test$result3668.from;\n$ans3705 = $test$result3668.ans;\n$elidedFrames3708 = $test$result3668.elidedFrames;\ntest$result3668 = $test$result3668.args[0];\n} else {\nvar test$result3668 = $test$result3668;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3705 = R.mC();\n}\nwhile(!R.isContinuation($ans3705)) {\nswitch($step3704) {\ncase 0: // caller optimization;\n$ans3705 = is$boolean2.app(test$result3668);\nvar anf_arg1548 = $ans3705;\n$step3704 = 1;\n$al3706 = L[1493];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3706,not5);\n}\n$ans3705 = not5.app(anf_arg1548);\nbreak;\ncase 1: var anf_if3670 = $ans3705;\n$step3704 = R.checkPyretTrue(anf_if3670)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3705 = error$not$boolean$pred2680.$var.app(loc3609,pv3617,lv3616,on$left256.$var,test$result3668);\nvar anf_arg1552 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1489];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1552);\nbreak;\ncase 3: $step3704 = 4;\n$al3706 = L[1492];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3706,not5);\n}\n$ans3705 = not5.app(test$result3668);\nbreak;\ncase 4: var anf_if3669 = $ans3705;\n$step3704 = R.checkPyretTrue(anf_if3669)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans3705 = failure$not$satisfied2640.$var.app(loc3609,lv3616,on$left256.$var,pv3617);\nvar anf_arg1553 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1490];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1553);\nbreak;\ncase 6: // caller optimization;\n$ans3705 = success2624.$var.app(loc3609);\nvar anf_arg1556 = $ans3705;\n$step3704 = 7;\n$al3706 = L[1491];\n// omitting isFunction check;\n$ans3705 = add$result2718.$var.app(anf_arg1556);\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3705;\ndefault: R.ffi.throwSpinnakerError(L[1494],$step3704);\n}\n}\nif($step3704 !== 7) {\n$ans3705.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3706,$temp_branch3703,$step3704,[test$result3668],[],$elidedFrames3708);\n}\nreturn $ans3705;\n};\n$ans3685 = cases3655.$app_fields($temp_branch3703,[false]);\nbreak;\ncase 11: $ans3685 = R.throwNoCasesMatched(L[1488],cases3655);\n$step3684 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans3685;\ndefault: R.ffi.throwSpinnakerError(L[1500],$step3684);\n}\n}\nif($step3684 !== 12) {\n$ans3685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3686,$temp_branch3682,$step3684,[cause$result3646],[cases3655],$elidedFrames3688);\n}\nreturn $ans3685;\n};\n$ans3619 = cases3631.$app_fields($temp_branch3682,[false]);\nbreak;\ncase 5: $ans3619 = R.throwNoCasesMatched(L[1476],cases3631);\n$step3614 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3619;\ndefault: R.ffi.throwSpinnakerError(L[1466],$step3614);\n}\n}\nif($step3614 !== 6) {\n$ans3619.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3620,$temp_lam3615,$step3614,[lv3616,pv3617,cv3618],[cases3631],$elidedFrames3622);\n}\nreturn $ans3619;\n};\nvar anf_arg3721 = R.mF($temp_lam3615,\"for-body\");\n$step3603 = 1;\n$al3611 = L[1466];\nif(typeof(anf_fun3716.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3611,anf_fun3716);\n}\n$ans3610 = anf_fun3716.app(anf_arg3721,left3606,pred3607,cause3608);\nbreak;\ncase 1: $step3603 = 2;\n$ans3610 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3610;\ndefault: R.ffi.throwSpinnakerError(L[1465],$step3603);\n}\n}\nif($step3603 !== 2) {\n$ans3610.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3611,$temp_full3604,$step3603,[self3605,left3606,pred3607,cause3608,loc3609],[],$elidedFrames3613);\n}\nreturn $ans3610;\n};\nvar anf_obj5044 = R.makeMethod4($temp_full3604,\"check-satisfies-delayed-cause\");\nvar $temp_full3724 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1504($self3725,$left3726,$pred3727,$loc3728) {\nvar $step3723 = 0;\nvar $elidedFrames3732 = 0;\nvar $ans3729 = D;\nvar $al3730 = L[1504];\nif(R.isAR($self3725)) {\n$step3723 = $self3725.step;\n$al3730 = $self3725.from;\n$ans3729 = $self3725.ans;\n$elidedFrames3732 = $self3725.elidedFrames;\nself3725 = $self3725.args[0];\nleft3726 = $self3725.args[1];\npred3727 = $self3725.args[2];\nloc3728 = $self3725.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1504],4,$t,true);\n}\nvar self3725 = $self3725;\nvar left3726 = $left3726;\nvar pred3727 = $pred3727;\nvar loc3728 = $loc3728;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3729 = R.mC();\n}\nwhile(!R.isContinuation($ans3729)) {\nswitch($step3723) {\ncase 0: // caller optimization;\n$ans3729 = left$right$check2755.$var.app(loc3728);\nvar anf_fun3777 = $ans3729;\nvar $temp_lam3734 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1505($lv3735,$pv3736) {\nvar $step3733 = 0;\nvar $elidedFrames3740 = 0;\nvar $ans3737 = D;\nvar $al3738 = L[1505];\nif(R.isAR($lv3735)) {\n$step3733 = $lv3735.step;\n$al3738 = $lv3735.from;\n$ans3737 = $lv3735.ans;\n$elidedFrames3740 = $lv3735.elidedFrames;\nlv3735 = $lv3735.args[0];\npv3736 = $lv3735.args[1];\ncases3751 = $lv3735.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1505],2,$t,false);\n}\nvar lv3735 = $lv3735;\nvar pv3736 = $pv3736;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3737 = R.mC();\n}\nwhile(!R.isContinuation($ans3737)) {\nswitch($step3733) {\ncase 0: var $temp_lam3743 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1506($$resumer13) {\nvar $step3742 = 0;\nvar $elidedFrames3748 = 0;\nvar $ans3745 = D;\nvar $al3746 = L[1506];\nif(R.isAR($$resumer13)) {\n$step3742 = $$resumer13.step;\n$al3746 = $$resumer13.from;\n$ans3745 = $$resumer13.ans;\n$elidedFrames3748 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1506],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3745 = R.mC();\n}\nwhile(!R.isContinuation($ans3745)) {\nswitch($step3742) {\ncase 0: $step3742 = 1;\n$al3746 = L[1507];\nif(typeof(pv3736.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3746,pv3736);\n}\n$ans3745 = pv3736.app(lv3735);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3745;\ndefault: R.ffi.throwSpinnakerError(L[1506],$step3742);\n}\n}\nif($step3742 !== 1) {\n$ans3745.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3746,$temp_lam3743,$step3742,[],[],$elidedFrames3748);\n}\nreturn $ans3745;\n};\nvar anf_arg3750 = R.mF($temp_lam3743,\"\");\n$step3733 = 1;\n$al3738 = L[1523];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3738,run$task1);\n}\n$ans3737 = run$task1.app(anf_arg3750);\nbreak;\ncase 1: var cases3751 = $ans3737;\n$step3733 = 2;\n$al3738 = L[1522];\nvar $ann$check3774 = R._cA(L[1522],R.gDA(L[1522],\"either\",either20.dict.types,\"Either\"),cases3751);\nif(R.isContinuation($ann$check3774)) {\n$ans3737 = $ann$check3774;\n}\nbreak;\ncase 2: $al3738 = L[1515];\n$step3733 = $cases_dispatch3773[cases3751.$name] || 5;\nbreak;\ncase 3: if(cases3751.$arity !== 1) {\nif(cases3751.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1514],1,cases3751.$arity,L[1515],cases3751.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1514],true,L[1515],cases3751.$loc);\n}\n}\n$step3733 = 6;\n$al3738 = L[1514];\nvar $temp_branch3756 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1515($exn3752) {\nvar $step3757 = 0;\nvar $elidedFrames3761 = 0;\nvar $ans3758 = D;\nvar $al3759 = L[1513];\nif(R.isAR($exn3752)) {\n$step3757 = $exn3752.step;\n$al3759 = $exn3752.from;\n$ans3758 = $exn3752.ans;\n$elidedFrames3761 = $exn3752.elidedFrames;\nexn3752 = $exn3752.args[0];\nexn$v3753 = $exn3752.vars[0];\n} else {\nvar exn3752 = $exn3752;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3758 = R.mC();\n}\nwhile(!R.isContinuation($ans3758)) {\nswitch($step3757) {\ncase 0: $step3757 = 1;\n$al3759 = L[1512];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,exn$unwrap2);\n}\n$ans3758 = exn$unwrap2.app(exn3752);\nbreak;\ncase 1: var exn$v3753 = $ans3758;\n$step3757 = 2;\n$al3759 = L[1511];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3758 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3753);\nbreak;\ncase 2: var anf_if3755 = $ans3758;\n$step3757 = R.checkPyretTrue(anf_if3755)?3:4;\nbreak;\ncase 3: $step3757 = 6;\n$ans3758 = (true);\nbreak;\ncase 4: $step3757 = 5;\n$al3759 = L[1510];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3759,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3758 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3753);\nbreak;\ncase 5: var anf_arg1570 = $ans3758;\n$ans3758 = R.checkWrapBoolean(anf_arg1570);\n$step3757 = 6;\nbreak;\ncase 6: var anf_if3754 = $ans3758;\n$step3757 = R.checkPyretTrue(anf_if3754)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3758 = error$not$pred2676.$var.app(loc3728,pv3736,(1));\nvar anf_arg1571 = $ans3758;\n$step3757 = 9;\n$al3759 = L[1508];\n// omitting isFunction check;\n$ans3758 = add$result2718.$var.app(anf_arg1571);\nbreak;\ncase 8: // caller optimization;\n$ans3758 = failure$exn2656.$var.app(loc3728,exn3752,on$right260.$var);\nvar anf_arg1572 = $ans3758;\n$step3757 = 9;\n$al3759 = L[1509];\n// omitting isFunction check;\n$ans3758 = add$result2718.$var.app(anf_arg1572);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3758;\ndefault: R.ffi.throwSpinnakerError(L[1513],$step3757);\n}\n}\nif($step3757 !== 9) {\n$ans3758.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3759,$temp_branch3756,$step3757,[exn3752],[exn$v3753],$elidedFrames3761);\n}\nreturn $ans3758;\n};\n$ans3737 = cases3751.$app_fields($temp_branch3756,[false]);\nbreak;\ncase 4: if(cases3751.$arity !== 1) {\nif(cases3751.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1521],1,cases3751.$arity,L[1515],cases3751.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1521],true,L[1515],cases3751.$loc);\n}\n}\n$step3733 = 6;\n$al3738 = L[1521];\nvar $temp_branch3766 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1515($test$result3763) {\nvar $step3767 = 0;\nvar $elidedFrames3771 = 0;\nvar $ans3768 = D;\nvar $al3769 = L[1520];\nif(R.isAR($test$result3763)) {\n$step3767 = $test$result3763.step;\n$al3769 = $test$result3763.from;\n$ans3768 = $test$result3763.ans;\n$elidedFrames3771 = $test$result3763.elidedFrames;\ntest$result3763 = $test$result3763.args[0];\n} else {\nvar test$result3763 = $test$result3763;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3768 = R.mC();\n}\nwhile(!R.isContinuation($ans3768)) {\nswitch($step3767) {\ncase 0: // caller optimization;\n$ans3768 = is$boolean2.app(test$result3763);\nvar anf_arg1575 = $ans3768;\n$step3767 = 1;\n$al3769 = L[1519];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3769,not5);\n}\n$ans3768 = not5.app(anf_arg1575);\nbreak;\ncase 1: var anf_if3765 = $ans3768;\n$step3767 = R.checkPyretTrue(anf_if3765)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3768 = error$not$boolean$pred2680.$var.app(loc3728,pv3736,lv3735,on$left256.$var,test$result3763);\nvar anf_arg1576 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1516];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg1576);\nbreak;\ncase 3: $step3767 = R.checkPyretTrue(test$result3763)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3768 = failure$not$dissatisfied2644.$var.app(loc3728,lv3735,on$left256.$var,pv3736);\nvar anf_arg1577 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1517];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg1577);\nbreak;\ncase 5: // caller optimization;\n$ans3768 = success2624.$var.app(loc3728);\nvar anf_arg3764 = $ans3768;\n$step3767 = 6;\n$al3769 = L[1518];\n// omitting isFunction check;\n$ans3768 = add$result2718.$var.app(anf_arg3764);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3768;\ndefault: R.ffi.throwSpinnakerError(L[1520],$step3767);\n}\n}\nif($step3767 !== 6) {\n$ans3768.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3769,$temp_branch3766,$step3767,[test$result3763],[],$elidedFrames3771);\n}\nreturn $ans3768;\n};\n$ans3737 = cases3751.$app_fields($temp_branch3766,[false]);\nbreak;\ncase 5: $ans3737 = R.throwNoCasesMatched(L[1515],cases3751);\n$step3733 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3737;\ndefault: R.ffi.throwSpinnakerError(L[1505],$step3733);\n}\n}\nif($step3733 !== 6) {\n$ans3737.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3738,$temp_lam3734,$step3733,[lv3735,pv3736],[cases3751],$elidedFrames3740);\n}\nreturn $ans3737;\n};\nvar anf_arg3779 = R.mF($temp_lam3734,\"for-body\");\n$step3723 = 1;\n$al3730 = L[1505];\nif(typeof(anf_fun3777.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3730,anf_fun3777);\n}\n$ans3729 = anf_fun3777.app(anf_arg3779,left3726,pred3727);\nbreak;\ncase 1: $step3723 = 2;\n$ans3729 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3729;\ndefault: R.ffi.throwSpinnakerError(L[1504],$step3723);\n}\n}\nif($step3723 !== 2) {\n$ans3729.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3730,$temp_full3724,$step3723,[self3725,left3726,pred3727,loc3728],[],$elidedFrames3732);\n}\nreturn $ans3729;\n};\nvar anf_obj5045 = R.makeMethod3($temp_full3724,\"check-satisfies-not-delayed\");\nvar $temp_full3782 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1524($self3783,$left3784,$pred3785,$cause3786,$loc3787) {\nvar $step3781 = 0;\nvar $elidedFrames3791 = 0;\nvar $ans3788 = D;\nvar $al3789 = L[1524];\nif(R.isAR($self3783)) {\n$step3781 = $self3783.step;\n$al3789 = $self3783.from;\n$ans3788 = $self3783.ans;\n$elidedFrames3791 = $self3783.elidedFrames;\nself3783 = $self3783.args[0];\nleft3784 = $self3783.args[1];\npred3785 = $self3783.args[2];\ncause3786 = $self3783.args[3];\nloc3787 = $self3783.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1524],5,$t,true);\n}\nvar self3783 = $self3783;\nvar left3784 = $left3784;\nvar pred3785 = $pred3785;\nvar cause3786 = $cause3786;\nvar loc3787 = $loc3787;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3788 = R.mC();\n}\nwhile(!R.isContinuation($ans3788)) {\nswitch($step3781) {\ncase 0: // caller optimization;\n$ans3788 = left$right$cause$check2800.$var.app(loc3787);\nvar anf_fun3891 = $ans3788;\nvar $temp_lam3793 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1525($lv3794,$pv3795,$cv3796) {\nvar $step3792 = 0;\nvar $elidedFrames3800 = 0;\nvar $ans3797 = D;\nvar $al3798 = L[1525];\nif(R.isAR($lv3794)) {\n$step3792 = $lv3794.step;\n$al3798 = $lv3794.from;\n$ans3797 = $lv3794.ans;\n$elidedFrames3800 = $lv3794.elidedFrames;\nlv3794 = $lv3794.args[0];\npv3795 = $lv3794.args[1];\ncv3796 = $lv3794.args[2];\ncases3808 = $lv3794.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1525],3,$t,false);\n}\nvar lv3794 = $lv3794;\nvar pv3795 = $pv3795;\nvar cv3796 = $cv3796;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3797 = R.mC();\n}\nwhile(!R.isContinuation($ans3797)) {\nswitch($step3792) {\ncase 0: var $temp_lam3802 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1526($$resumer13) {\nvar $step3801 = 0;\nvar $elidedFrames3806 = 0;\nvar $ans3803 = D;\nvar $al3804 = L[1526];\nif(R.isAR($$resumer13)) {\n$step3801 = $$resumer13.step;\n$al3804 = $$resumer13.from;\n$ans3803 = $$resumer13.ans;\n$elidedFrames3806 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1526],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3803 = R.mC();\n}\nwhile(!R.isContinuation($ans3803)) {\nswitch($step3801) {\ncase 0: $step3801 = 1;\n$al3804 = L[1527];\nif(typeof(pv3795.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3804,pv3795);\n}\n$ans3803 = pv3795.app(cv3796);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3803;\ndefault: R.ffi.throwSpinnakerError(L[1526],$step3801);\n}\n}\nif($step3801 !== 1) {\n$ans3803.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3804,$temp_lam3802,$step3801,[],[],$elidedFrames3806);\n}\nreturn $ans3803;\n};\nvar anf_arg1581 = R.mF($temp_lam3802,\"\");\n$step3792 = 1;\n$al3798 = L[1560];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3798,run$task1);\n}\n$ans3797 = run$task1.app(anf_arg1581);\nbreak;\ncase 1: var cases3808 = $ans3797;\n$step3792 = 2;\n$al3798 = L[1559];\nvar $ann$check3889 = R._cA(L[1559],R.gDA(L[1559],\"either\",either20.dict.types,\"Either\"),cases3808);\nif(R.isContinuation($ann$check3889)) {\n$ans3797 = $ann$check3889;\n}\nbreak;\ncase 2: $al3798 = L[1535];\n$step3792 = $cases_dispatch3888[cases3808.$name] || 5;\nbreak;\ncase 3: if(cases3808.$arity !== 1) {\nif(cases3808.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1534],1,cases3808.$arity,L[1535],cases3808.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1534],true,L[1535],cases3808.$loc);\n}\n}\n$step3792 = 6;\n$al3798 = L[1534];\nvar $temp_branch3814 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1535($exn3809) {\nvar $step3815 = 0;\nvar $elidedFrames3819 = 0;\nvar $ans3816 = D;\nvar $al3817 = L[1533];\nif(R.isAR($exn3809)) {\n$step3815 = $exn3809.step;\n$al3817 = $exn3809.from;\n$ans3816 = $exn3809.ans;\n$elidedFrames3819 = $exn3809.elidedFrames;\nexn3809 = $exn3809.args[0];\nexn$v3810 = $exn3809.vars[0];\n} else {\nvar exn3809 = $exn3809;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3816 = R.mC();\n}\nwhile(!R.isContinuation($ans3816)) {\nswitch($step3815) {\ncase 0: $step3815 = 1;\n$al3817 = L[1532];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,exn$unwrap2);\n}\n$ans3816 = exn$unwrap2.app(exn3809);\nbreak;\ncase 1: var exn$v3810 = $ans3816;\n$step3815 = 2;\n$al3817 = L[1531];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3816 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3810);\nbreak;\ncase 2: var anf_if3813 = $ans3816;\n$step3815 = R.checkPyretTrue(anf_if3813)?3:4;\nbreak;\ncase 3: $step3815 = 6;\n$ans3816 = (true);\nbreak;\ncase 4: $step3815 = 5;\n$al3817 = L[1530];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3817,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3816 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3810);\nbreak;\ncase 5: var anf_arg1585 = $ans3816;\n$ans3816 = R.checkWrapBoolean(anf_arg1585);\n$step3815 = 6;\nbreak;\ncase 6: var anf_if3812 = $ans3816;\n$step3815 = R.checkPyretTrue(anf_if3812)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3816 = error$not$pred2676.$var.app(loc3787,pv3795,(1));\nvar anf_arg1586 = $ans3816;\n$step3815 = 9;\n$al3817 = L[1528];\n// omitting isFunction check;\n$ans3816 = add$result2718.$var.app(anf_arg1586);\nbreak;\ncase 8: // caller optimization;\n$ans3816 = failure$exn2656.$var.app(loc3787,exn3809,on$right260.$var);\nvar anf_arg3811 = $ans3816;\n$step3815 = 9;\n$al3817 = L[1529];\n// omitting isFunction check;\n$ans3816 = add$result2718.$var.app(anf_arg3811);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3816;\ndefault: R.ffi.throwSpinnakerError(L[1533],$step3815);\n}\n}\nif($step3815 !== 9) {\n$ans3816.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3817,$temp_branch3814,$step3815,[exn3809],[exn$v3810],$elidedFrames3819);\n}\nreturn $ans3816;\n};\n$ans3797 = cases3808.$app_fields($temp_branch3814,[false]);\nbreak;\ncase 4: if(cases3808.$arity !== 1) {\nif(cases3808.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1558],1,cases3808.$arity,L[1535],cases3808.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1558],true,L[1535],cases3808.$loc);\n}\n}\n$step3792 = 6;\n$al3798 = L[1558];\nvar $temp_branch3858 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1535($cause$result3821) {\nvar $step3859 = 0;\nvar $elidedFrames3863 = 0;\nvar $ans3860 = D;\nvar $al3861 = L[1557];\nif(R.isAR($cause$result3821)) {\n$step3859 = $cause$result3821.step;\n$al3861 = $cause$result3821.from;\n$ans3860 = $cause$result3821.ans;\n$elidedFrames3863 = $cause$result3821.elidedFrames;\ncause$result3821 = $cause$result3821.args[0];\ncases3834 = $cause$result3821.vars[0];\n} else {\nvar cause$result3821 = $cause$result3821;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3860 = R.mC();\n}\nwhile(!R.isContinuation($ans3860)) {\nswitch($step3859) {\ncase 0: // caller optimization;\n$ans3860 = is$boolean2.app(cause$result3821);\nvar anf_arg3822 = $ans3860;\n$step3859 = 1;\n$al3861 = L[1556];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3861,not5);\n}\n$ans3860 = not5.app(anf_arg3822);\nbreak;\ncase 1: var anf_if1687 = $ans3860;\n$step3859 = R.checkPyretTrue(anf_if1687)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3860 = error$not$boolean$pred2680.$var.app(loc3787,pv3795,cv3796,on$cause267.$var,cause$result3821);\nvar anf_arg3823 = $ans3860;\n$step3859 = 11;\n$al3861 = L[1536];\n// omitting isFunction check;\n$ans3860 = add$result2718.$var.app(anf_arg3823);\nbreak;\ncase 3: $step3859 = R.checkPyretTrue(cause$result3821)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3860 = failure$not$dissatisfied2644.$var.app(loc3787,cv3796,on$cause267.$var,pv3795);\nvar anf_arg3824 = $ans3860;\n$step3859 = 11;\n$al3861 = L[1537];\n// omitting isFunction check;\n$ans3860 = add$result2718.$var.app(anf_arg3824);\nbreak;\ncase 5: var $temp_lam3865 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1538($$resumer13) {\nvar $step3864 = 0;\nvar $elidedFrames3869 = 0;\nvar $ans3866 = D;\nvar $al3867 = L[1538];\nif(R.isAR($$resumer13)) {\n$step3864 = $$resumer13.step;\n$al3867 = $$resumer13.from;\n$ans3866 = $$resumer13.ans;\n$elidedFrames3869 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1538],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3866 = R.mC();\n}\nwhile(!R.isContinuation($ans3866)) {\nswitch($step3864) {\ncase 0: $step3864 = 1;\n$al3867 = L[1539];\nif(typeof(pv3795.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3867,pv3795);\n}\n$ans3866 = pv3795.app(lv3794);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3866;\ndefault: R.ffi.throwSpinnakerError(L[1538],$step3864);\n}\n}\nif($step3864 !== 1) {\n$ans3866.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3867,$temp_lam3865,$step3864,[],[],$elidedFrames3869);\n}\nreturn $ans3866;\n};\nvar anf_arg3833 = R.mF($temp_lam3865,\"\");\n$step3859 = 6;\n$al3861 = L[1555];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3861,run$task1);\n}\n$ans3860 = run$task1.app(anf_arg3833);\nbreak;\ncase 6: var cases3834 = $ans3860;\n$step3859 = 7;\n$al3861 = L[1554];\nvar $ann$check3886 = R._cA(L[1554],R.gDA(L[1554],\"either\",either20.dict.types,\"Either\"),cases3834);\nif(R.isContinuation($ann$check3886)) {\n$ans3860 = $ann$check3886;\n}\nbreak;\ncase 7: $al3861 = L[1547];\n$step3859 = $cases_dispatch3885[cases3834.$name] || 10;\nbreak;\ncase 8: if(cases3834.$arity !== 1) {\nif(cases3834.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1546],1,cases3834.$arity,L[1547],cases3834.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1546],true,L[1547],cases3834.$loc);\n}\n}\n$step3859 = 11;\n$al3861 = L[1546];\nvar $temp_branch3871 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1547($exn3835) {\nvar $step3872 = 0;\nvar $elidedFrames3876 = 0;\nvar $ans3873 = D;\nvar $al3874 = L[1545];\nif(R.isAR($exn3835)) {\n$step3872 = $exn3835.step;\n$al3874 = $exn3835.from;\n$ans3873 = $exn3835.ans;\n$elidedFrames3876 = $exn3835.elidedFrames;\nexn3835 = $exn3835.args[0];\nexn$v3836 = $exn3835.vars[0];\n} else {\nvar exn3835 = $exn3835;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3873 = R.mC();\n}\nwhile(!R.isContinuation($ans3873)) {\nswitch($step3872) {\ncase 0: $step3872 = 1;\n$al3874 = L[1544];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,exn$unwrap2);\n}\n$ans3873 = exn$unwrap2.app(exn3835);\nbreak;\ncase 1: var exn$v3836 = $ans3873;\n$step3872 = 2;\n$al3874 = L[1543];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans3873 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v3836);\nbreak;\ncase 2: var anf_if3838 = $ans3873;\n$step3872 = R.checkPyretTrue(anf_if3838)?3:4;\nbreak;\ncase 3: $step3872 = 6;\n$ans3873 = (true);\nbreak;\ncase 4: $step3872 = 5;\n$al3874 = L[1542];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al3874,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans3873 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v3836);\nbreak;\ncase 5: var anf_arg1601 = $ans3873;\n$ans3873 = R.checkWrapBoolean(anf_arg1601);\n$step3872 = 6;\nbreak;\ncase 6: var anf_if3837 = $ans3873;\n$step3872 = R.checkPyretTrue(anf_if3837)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans3873 = error$not$pred2676.$var.app(loc3787,pv3795,(1));\nvar anf_arg1607 = $ans3873;\n$step3872 = 9;\n$al3874 = L[1540];\n// omitting isFunction check;\n$ans3873 = add$result2718.$var.app(anf_arg1607);\nbreak;\ncase 8: // caller optimization;\n$ans3873 = failure$exn2656.$var.app(loc3787,exn3835,on$right260.$var);\nvar anf_arg1605 = $ans3873;\n$step3872 = 9;\n$al3874 = L[1541];\n// omitting isFunction check;\n$ans3873 = add$result2718.$var.app(anf_arg1605);\nbreak;\ncase 9: ++R.GAS;\nreturn $ans3873;\ndefault: R.ffi.throwSpinnakerError(L[1545],$step3872);\n}\n}\nif($step3872 !== 9) {\n$ans3873.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3874,$temp_branch3871,$step3872,[exn3835],[exn$v3836],$elidedFrames3876);\n}\nreturn $ans3873;\n};\n$ans3860 = cases3834.$app_fields($temp_branch3871,[false]);\nbreak;\ncase 9: if(cases3834.$arity !== 1) {\nif(cases3834.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1553],1,cases3834.$arity,L[1547],cases3834.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1553],true,L[1547],cases3834.$loc);\n}\n}\n$step3859 = 11;\n$al3861 = L[1553];\nvar $temp_branch3878 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1547($test$result3846) {\nvar $step3879 = 0;\nvar $elidedFrames3883 = 0;\nvar $ans3880 = D;\nvar $al3881 = L[1552];\nif(R.isAR($test$result3846)) {\n$step3879 = $test$result3846.step;\n$al3881 = $test$result3846.from;\n$ans3880 = $test$result3846.ans;\n$elidedFrames3883 = $test$result3846.elidedFrames;\ntest$result3846 = $test$result3846.args[0];\n} else {\nvar test$result3846 = $test$result3846;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3880 = R.mC();\n}\nwhile(!R.isContinuation($ans3880)) {\nswitch($step3879) {\ncase 0: // caller optimization;\n$ans3880 = is$boolean2.app(test$result3846);\nvar anf_arg1608 = $ans3880;\n$step3879 = 1;\n$al3881 = L[1551];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3881,not5);\n}\n$ans3880 = not5.app(anf_arg1608);\nbreak;\ncase 1: var anf_if3848 = $ans3880;\n$step3879 = R.checkPyretTrue(anf_if3848)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans3880 = error$not$boolean$pred2680.$var.app(loc3787,pv3795,lv3794,on$left256.$var,test$result3846);\nvar anf_arg1610 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1548];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg1610);\nbreak;\ncase 3: $step3879 = R.checkPyretTrue(test$result3846)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3880 = failure$not$dissatisfied2644.$var.app(loc3787,lv3794,on$left256.$var,pv3795);\nvar anf_arg3847 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1549];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg3847);\nbreak;\ncase 5: // caller optimization;\n$ans3880 = success2624.$var.app(loc3787);\nvar anf_arg1611 = $ans3880;\n$step3879 = 6;\n$al3881 = L[1550];\n// omitting isFunction check;\n$ans3880 = add$result2718.$var.app(anf_arg1611);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3880;\ndefault: R.ffi.throwSpinnakerError(L[1552],$step3879);\n}\n}\nif($step3879 !== 6) {\n$ans3880.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3881,$temp_branch3878,$step3879,[test$result3846],[],$elidedFrames3883);\n}\nreturn $ans3880;\n};\n$ans3860 = cases3834.$app_fields($temp_branch3878,[false]);\nbreak;\ncase 10: $ans3860 = R.throwNoCasesMatched(L[1547],cases3834);\n$step3859 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans3860;\ndefault: R.ffi.throwSpinnakerError(L[1557],$step3859);\n}\n}\nif($step3859 !== 11) {\n$ans3860.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3861,$temp_branch3858,$step3859,[cause$result3821],[cases3834],$elidedFrames3863);\n}\nreturn $ans3860;\n};\n$ans3797 = cases3808.$app_fields($temp_branch3858,[false]);\nbreak;\ncase 5: $ans3797 = R.throwNoCasesMatched(L[1535],cases3808);\n$step3792 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3797;\ndefault: R.ffi.throwSpinnakerError(L[1525],$step3792);\n}\n}\nif($step3792 !== 6) {\n$ans3797.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3798,$temp_lam3793,$step3792,[lv3794,pv3795,cv3796],[cases3808],$elidedFrames3800);\n}\nreturn $ans3797;\n};\nvar anf_arg3892 = R.mF($temp_lam3793,\"for-body\");\n$step3781 = 1;\n$al3789 = L[1525];\nif(typeof(anf_fun3891.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3789,anf_fun3891);\n}\n$ans3788 = anf_fun3891.app(anf_arg3892,left3784,pred3785,cause3786);\nbreak;\ncase 1: $step3781 = 2;\n$ans3788 = nothing2;\nbreak;\ncase 2: ++R.GAS;\nreturn $ans3788;\ndefault: R.ffi.throwSpinnakerError(L[1524],$step3781);\n}\n}\nif($step3781 !== 2) {\n$ans3788.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3789,$temp_full3782,$step3781,[self3783,left3784,pred3785,cause3786,loc3787],[],$elidedFrames3791);\n}\nreturn $ans3788;\n};\nvar anf_obj5046 = R.makeMethod4($temp_full3782,\"check-satisfies-not-delayed-cause\");\nvar $temp_full3895 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1561($self3896,$left3897,$pred3898,$loc3899) {\nvar $step3894 = 0;\nvar $elidedFrames3903 = 0;\nvar $ans3900 = D;\nvar $al3901 = L[1561];\nif(R.isAR($self3896)) {\n$step3894 = $self3896.step;\n$al3901 = $self3896.from;\n$ans3900 = $self3896.ans;\n$elidedFrames3903 = $self3896.elidedFrames;\nself3896 = $self3896.args[0];\nleft3897 = $self3896.args[1];\npred3898 = $self3896.args[2];\nloc3899 = $self3896.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1561],4,$t,true);\n}\nvar self3896 = $self3896;\nvar left3897 = $left3897;\nvar pred3898 = $pred3898;\nvar loc3899 = $loc3899;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3900 = R.mC();\n}\nwhile(!R.isContinuation($ans3900)) {\nswitch($step3894) {\ncase 0: $step3894 = 1;\n$al3901 = L[1564];\nif(typeof(pred3898.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3901,pred3898);\n}\n$ans3900 = pred3898.app(left3897);\nbreak;\ncase 1: var anf_arg1634 = $ans3900;\nvar $temp_lam3905 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1562($$resumer13) {\nvar $step3904 = 0;\nvar $elidedFrames3909 = 0;\nvar $ans3906 = D;\nvar $al3907 = L[1562];\nif(R.isAR($$resumer13)) {\n$step3904 = $$resumer13.step;\n$al3907 = $$resumer13.from;\n$ans3906 = $$resumer13.ans;\n$elidedFrames3909 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1562],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3906 = R.mC();\n}\nwhile(!R.isContinuation($ans3906)) {\nswitch($step3904) {\ncase 0: // caller optimization;\n$ans3906 = failure$not$satisfied2640.$var.app(loc3899,left3897,pred3898);\n$step3904 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3906;\ndefault: R.ffi.throwSpinnakerError(L[1562],$step3904);\n}\n}\nif($step3904 !== 1) {\n$ans3906.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3907,$temp_lam3905,$step3904,[],[],$elidedFrames3909);\n}\nreturn $ans3906;\n};\nvar anf_arg1614 = R.mF($temp_lam3905,\"\");\n$step3894 = 2;\n$al3901 = L[1563];\n// omitting isFunction check;\n$ans3900 = check$bool2814.$var.app(loc3899,anf_arg1634,anf_arg1614);\nbreak;\ncase 2: $step3894 = 3;\n$ans3900 = nothing2;\nbreak;\ncase 3: ++R.GAS;\nreturn $ans3900;\ndefault: R.ffi.throwSpinnakerError(L[1561],$step3894);\n}\n}\nif($step3894 !== 3) {\n$ans3900.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3901,$temp_full3895,$step3894,[self3896,left3897,pred3898,loc3899],[],$elidedFrames3903);\n}\nreturn $ans3900;\n};\nvar anf_obj5047 = R.makeMethod3($temp_full3895,\"check-satisfies\");\nvar $temp_full3913 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1565($self3914,$left3915,$pred3916,$loc3917) {\nvar $step3912 = 0;\nvar $elidedFrames3921 = 0;\nvar $ans3918 = D;\nvar $al3919 = L[1565];\nif(R.isAR($self3914)) {\n$step3912 = $self3914.step;\n$al3919 = $self3914.from;\n$ans3918 = $self3914.ans;\n$elidedFrames3921 = $self3914.elidedFrames;\nself3914 = $self3914.args[0];\nleft3915 = $self3914.args[1];\npred3916 = $self3914.args[2];\nloc3917 = $self3914.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1565],4,$t,true);\n}\nvar self3914 = $self3914;\nvar left3915 = $left3915;\nvar pred3916 = $pred3916;\nvar loc3917 = $loc3917;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3918 = R.mC();\n}\nwhile(!R.isContinuation($ans3918)) {\nswitch($step3912) {\ncase 0: $step3912 = 1;\n$al3919 = L[1569];\nif(typeof(pred3916.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3919,pred3916);\n}\n$ans3918 = pred3916.app(left3915);\nbreak;\ncase 1: var anf_arg3922 = $ans3918;\n$step3912 = 2;\n$al3919 = L[1568];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3919,not5);\n}\n$ans3918 = not5.app(anf_arg3922);\nbreak;\ncase 2: var anf_arg3930 = $ans3918;\nvar $temp_lam3924 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1566($$resumer13) {\nvar $step3923 = 0;\nvar $elidedFrames3928 = 0;\nvar $ans3925 = D;\nvar $al3926 = L[1566];\nif(R.isAR($$resumer13)) {\n$step3923 = $$resumer13.step;\n$al3926 = $$resumer13.from;\n$ans3925 = $$resumer13.ans;\n$elidedFrames3928 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1566],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3925 = R.mC();\n}\nwhile(!R.isContinuation($ans3925)) {\nswitch($step3923) {\ncase 0: // caller optimization;\n$ans3925 = failure$not$dissatisfied2644.$var.app(loc3917,left3915,pred3916);\n$step3923 = 1;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans3925;\ndefault: R.ffi.throwSpinnakerError(L[1566],$step3923);\n}\n}\nif($step3923 !== 1) {\n$ans3925.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3926,$temp_lam3924,$step3923,[],[],$elidedFrames3928);\n}\nreturn $ans3925;\n};\nvar anf_arg1615 = R.mF($temp_lam3924,\"\");\n$step3912 = 3;\n$al3919 = L[1567];\n// omitting isFunction check;\n$ans3918 = check$bool2814.$var.app(loc3917,anf_arg3930,anf_arg1615);\nbreak;\ncase 3: $step3912 = 4;\n$ans3918 = nothing2;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans3918;\ndefault: R.ffi.throwSpinnakerError(L[1565],$step3912);\n}\n}\nif($step3912 !== 4) {\n$ans3918.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3919,$temp_full3913,$step3912,[self3914,left3915,pred3916,loc3917],[],$elidedFrames3921);\n}\nreturn $ans3918;\n};\nvar anf_obj5048 = R.makeMethod3($temp_full3913,\"check-satisfies-not\");\nvar $temp_full3933 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1570($self3934,$thunk3935,$str3936,$loc3937) {\nvar $step3932 = 0;\nvar $elidedFrames3941 = 0;\nvar $ans3938 = D;\nvar $al3939 = L[1570];\nif(R.isAR($self3934)) {\n$step3932 = $self3934.step;\n$al3939 = $self3934.from;\n$ans3938 = $self3934.ans;\n$elidedFrames3941 = $self3934.elidedFrames;\nself3934 = $self3934.args[0];\nthunk3935 = $self3934.args[1];\nstr3936 = $self3934.args[2];\nloc3937 = $self3934.args[3];\ncases3943 = $self3934.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1570],4,$t,true);\n}\nvar self3934 = $self3934;\nvar thunk3935 = $thunk3935;\nvar str3936 = $str3936;\nvar loc3937 = $loc3937;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3938 = R.mC();\n}\nwhile(!R.isContinuation($ans3938)) {\nswitch($step3932) {\ncase 0: $step3932 = 1;\n$al3939 = L[1581];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3939,run$task1);\n}\n$ans3938 = run$task1.app(thunk3935);\nbreak;\ncase 1: var result3942 = $ans3938;\nvar cases3943 = result3942;\n$step3932 = 2;\n$al3939 = L[1580];\nvar $ann$check3960 = R._cA(L[1580],R.gDA(L[1580],\"either\",either20.dict.types,\"Either\"),cases3943);\nif(R.isContinuation($ann$check3960)) {\n$ans3938 = $ann$check3960;\n}\nbreak;\ncase 2: $al3939 = L[1573];\n$step3932 = $cases_dispatch3959[cases3943.$name] || 5;\nbreak;\ncase 3: if(cases3943.$arity !== 1) {\nif(cases3943.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1572],1,cases3943.$arity,L[1573],cases3943.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1572],true,L[1573],cases3943.$loc);\n}\n}\nvar $fn3946 = cases3943.$constructor.$fieldNames;\nR.dF(cases3943.dict[$fn3946[0]],cases3943.$mut_fields_mask[0],false);\n// caller optimization;\n$ans3938 = some12.app(str3936);\nvar anf_arg3944 = $ans3938;\n// caller optimization;\n$ans3938 = failure$no$exn2660.$var.app(loc3937,anf_arg3944,on$left256.$var,(true));\nvar anf_arg1626 = $ans3938;\n$step3932 = 6;\n$al3939 = L[1571];\n// omitting isFunction check;\n$ans3938 = add$result2718.$var.app(anf_arg1626);\nbreak;\ncase 4: if(cases3943.$arity !== 1) {\nif(cases3943.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1579],1,cases3943.$arity,L[1573],cases3943.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1579],true,L[1573],cases3943.$loc);\n}\n}\n$step3932 = 6;\n$al3939 = L[1579];\nvar $temp_branch3951 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1573($lv3948) {\nvar $step3952 = 0;\nvar $elidedFrames3957 = 0;\nvar $ans3954 = D;\nvar $al3955 = L[1578];\nif(R.isAR($lv3948)) {\n$step3952 = $lv3948.step;\n$al3955 = $lv3948.from;\n$ans3954 = $lv3948.ans;\n$elidedFrames3957 = $lv3948.elidedFrames;\nlv3948 = $lv3948.args[0];\n} else {\nvar lv3948 = $lv3948;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3954 = R.mC();\n}\nwhile(!R.isContinuation($ans3954)) {\nswitch($step3952) {\ncase 0: $step3952 = 1;\n$al3955 = L[1578];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,exn$unwrap2);\n}\n$ans3954 = exn$unwrap2.app(lv3948);\nbreak;\ncase 1: var anf_arg1628 = $ans3954;\n$step3952 = 2;\n$al3955 = L[1577];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,torepr3);\n}\n$ans3954 = torepr3.app(anf_arg1628);\nbreak;\ncase 2: var anf_arg1629 = $ans3954;\n// caller optimization;\n$ans3954 = string$contains5.app(anf_arg1629,str3936);\nvar anf_arg1636 = $ans3954;\n$step3952 = 3;\n$al3955 = L[1576];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3955,not5);\n}\n$ans3954 = not5.app(anf_arg1636);\nbreak;\ncase 3: var anf_if3950 = $ans3954;\n$step3952 = R.checkPyretTrue(anf_if3950)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans3954 = failure$wrong$exn2648.$var.app(loc3937,str3936,lv3948,on$left256.$var);\nvar anf_arg1637 = $ans3954;\n$step3952 = 6;\n$al3955 = L[1574];\n// omitting isFunction check;\n$ans3954 = add$result2718.$var.app(anf_arg1637);\nbreak;\ncase 5: // caller optimization;\n$ans3954 = success2624.$var.app(loc3937);\nvar anf_arg3949 = $ans3954;\n$step3952 = 6;\n$al3955 = L[1575];\n// omitting isFunction check;\n$ans3954 = add$result2718.$var.app(anf_arg3949);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans3954;\ndefault: R.ffi.throwSpinnakerError(L[1578],$step3952);\n}\n}\nif($step3952 !== 6) {\n$ans3954.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3955,$temp_branch3951,$step3952,[lv3948],[],$elidedFrames3957);\n}\nreturn $ans3954;\n};\n$ans3938 = cases3943.$app_fields($temp_branch3951,[false]);\nbreak;\ncase 5: $ans3938 = R.throwNoCasesMatched(L[1573],cases3943);\n$step3932 = 6;\nbreak;\ncase 6: $step3932 = 7;\n$ans3938 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3938;\ndefault: R.ffi.throwSpinnakerError(L[1570],$step3932);\n}\n}\nif($step3932 !== 7) {\n$ans3938.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3939,$temp_full3933,$step3932,[self3934,thunk3935,str3936,loc3937],[cases3943],$elidedFrames3941);\n}\nreturn $ans3938;\n};\nvar anf_obj5049 = R.makeMethod3($temp_full3933,\"check-raises-str\");\nvar $temp_full3964 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1582($self3965,$thunk3966,$str3967,$cause3968,$loc3969) {\nvar $step3963 = 0;\nvar $elidedFrames3973 = 0;\nvar $ans3970 = D;\nvar $al3971 = L[1582];\nif(R.isAR($self3965)) {\n$step3963 = $self3965.step;\n$al3971 = $self3965.from;\n$ans3970 = $self3965.ans;\n$elidedFrames3973 = $self3965.elidedFrames;\nself3965 = $self3965.args[0];\nthunk3966 = $self3965.args[1];\nstr3967 = $self3965.args[2];\ncause3968 = $self3965.args[3];\nloc3969 = $self3965.args[4];\ncases3975 = $self3965.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1582],5,$t,true);\n}\nvar self3965 = $self3965;\nvar thunk3966 = $thunk3966;\nvar str3967 = $str3967;\nvar cause3968 = $cause3968;\nvar loc3969 = $loc3969;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans3970 = R.mC();\n}\nwhile(!R.isContinuation($ans3970)) {\nswitch($step3963) {\ncase 0: $step3963 = 1;\n$al3971 = L[1603];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al3971,run$task1);\n}\n$ans3970 = run$task1.app(cause3968);\nbreak;\ncase 1: var cause$result3974 = $ans3970;\nvar cases3975 = cause$result3974;\n$step3963 = 2;\n$al3971 = L[1602];\nvar $ann$check4019 = R._cA(L[1602],R.gDA(L[1602],\"either\",either20.dict.types,\"Either\"),cases3975);\nif(R.isContinuation($ann$check4019)) {\n$ans3970 = $ann$check4019;\n}\nbreak;\ncase 2: $al3971 = L[1585];\n$step3963 = $cases_dispatch4018[cases3975.$name] || 5;\nbreak;\ncase 3: if(cases3975.$arity !== 1) {\nif(cases3975.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1584],1,cases3975.$arity,L[1585],cases3975.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1584],true,L[1585],cases3975.$loc);\n}\n}\nvar $fn3977 = cases3975.$constructor.$fieldNames;\nR.dF(cases3975.dict[$fn3977[0]],cases3975.$mut_fields_mask[0],false);\n// caller optimization;\n$ans3970 = some12.app(str3967);\nvar anf_arg1664 = $ans3970;\n// caller optimization;\n$ans3970 = failure$no$exn2660.$var.app(loc3969,anf_arg1664,on$cause267.$var,(true));\nvar anf_arg1653 = $ans3970;\n$step3963 = 6;\n$al3971 = L[1583];\n// omitting isFunction check;\n$ans3970 = add$result2718.$var.app(anf_arg1653);\nbreak;\ncase 4: if(cases3975.$arity !== 1) {\nif(cases3975.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1601],1,cases3975.$arity,L[1585],cases3975.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1601],true,L[1585],cases3975.$loc);\n}\n}\n$step3963 = 6;\n$al3971 = L[1601];\nvar $temp_branch4000 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1585($cv3980) {\nvar $step4001 = 0;\nvar $elidedFrames4005 = 0;\nvar $ans4002 = D;\nvar $al4003 = L[1600];\nif(R.isAR($cv3980)) {\n$step4001 = $cv3980.step;\n$al4003 = $cv3980.from;\n$ans4002 = $cv3980.ans;\n$elidedFrames4005 = $cv3980.elidedFrames;\ncv3980 = $cv3980.args[0];\ncases3983 = $cv3980.vars[0];\n} else {\nvar cv3980 = $cv3980;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4002 = R.mC();\n}\nwhile(!R.isContinuation($ans4002)) {\nswitch($step4001) {\ncase 0: $step4001 = 1;\n$al4003 = L[1600];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,exn$unwrap2);\n}\n$ans4002 = exn$unwrap2.app(cv3980);\nbreak;\ncase 1: var anf_arg1665 = $ans4002;\n$step4001 = 2;\n$al4003 = L[1599];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,torepr3);\n}\n$ans4002 = torepr3.app(anf_arg1665);\nbreak;\ncase 2: var anf_arg3981 = $ans4002;\n// caller optimization;\n$ans4002 = string$contains5.app(anf_arg3981,str3967);\nvar anf_arg1657 = $ans4002;\n$step4001 = 3;\n$al4003 = L[1598];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,not5);\n}\n$ans4002 = not5.app(anf_arg1657);\nbreak;\ncase 3: var anf_if3999 = $ans4002;\n$step4001 = R.checkPyretTrue(anf_if3999)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4002 = failure$wrong$exn2648.$var.app(loc3969,str3967,cv3980,on$cause267.$var);\nvar anf_arg1658 = $ans4002;\n$step4001 = 11;\n$al4003 = L[1586];\n// omitting isFunction check;\n$ans4002 = add$result2718.$var.app(anf_arg1658);\nbreak;\ncase 5: $step4001 = 6;\n$al4003 = L[1597];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4003,run$task1);\n}\n$ans4002 = run$task1.app(thunk3966);\nbreak;\ncase 6: var result3982 = $ans4002;\nvar cases3983 = result3982;\n$step4001 = 7;\n$al4003 = L[1596];\nvar $ann$check4016 = R._cA(L[1596],R.gDA(L[1596],\"either\",either20.dict.types,\"Either\"),cases3983);\nif(R.isContinuation($ann$check4016)) {\n$ans4002 = $ann$check4016;\n}\nbreak;\ncase 7: $al4003 = L[1589];\n$step4001 = $cases_dispatch4015[cases3983.$name] || 10;\nbreak;\ncase 8: if(cases3983.$arity !== 1) {\nif(cases3983.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1588],1,cases3983.$arity,L[1589],cases3983.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1588],true,L[1589],cases3983.$loc);\n}\n}\nvar $fn4007 = cases3983.$constructor.$fieldNames;\nR.dF(cases3983.dict[$fn4007[0]],cases3983.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4002 = some12.app(str3967);\nvar anf_arg1659 = $ans4002;\n// caller optimization;\n$ans4002 = failure$no$exn2660.$var.app(loc3969,anf_arg1659,on$left256.$var,(true));\nvar anf_arg1655 = $ans4002;\n$step4001 = 11;\n$al4003 = L[1587];\n// omitting isFunction check;\n$ans4002 = add$result2718.$var.app(anf_arg1655);\nbreak;\ncase 9: if(cases3983.$arity !== 1) {\nif(cases3983.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1595],1,cases3983.$arity,L[1589],cases3983.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1595],true,L[1589],cases3983.$loc);\n}\n}\n$step4001 = 11;\n$al4003 = L[1595];\nvar $temp_branch4008 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1589($lv3987) {\nvar $step4009 = 0;\nvar $elidedFrames4013 = 0;\nvar $ans4010 = D;\nvar $al4011 = L[1594];\nif(R.isAR($lv3987)) {\n$step4009 = $lv3987.step;\n$al4011 = $lv3987.from;\n$ans4010 = $lv3987.ans;\n$elidedFrames4013 = $lv3987.elidedFrames;\nlv3987 = $lv3987.args[0];\n} else {\nvar lv3987 = $lv3987;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4010 = R.mC();\n}\nwhile(!R.isContinuation($ans4010)) {\nswitch($step4009) {\ncase 0: $step4009 = 1;\n$al4011 = L[1594];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,exn$unwrap2);\n}\n$ans4010 = exn$unwrap2.app(lv3987);\nbreak;\ncase 1: var anf_arg1660 = $ans4010;\n$step4009 = 2;\n$al4011 = L[1593];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,torepr3);\n}\n$ans4010 = torepr3.app(anf_arg1660);\nbreak;\ncase 2: var anf_arg1661 = $ans4010;\n// caller optimization;\n$ans4010 = string$contains5.app(anf_arg1661,str3967);\nvar anf_arg1666 = $ans4010;\n$step4009 = 3;\n$al4011 = L[1592];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4011,not5);\n}\n$ans4010 = not5.app(anf_arg1666);\nbreak;\ncase 3: var anf_if3989 = $ans4010;\n$step4009 = R.checkPyretTrue(anf_if3989)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4010 = failure$wrong$exn2648.$var.app(loc3969,str3967,lv3987,on$left256.$var);\nvar anf_arg1667 = $ans4010;\n$step4009 = 6;\n$al4011 = L[1590];\n// omitting isFunction check;\n$ans4010 = add$result2718.$var.app(anf_arg1667);\nbreak;\ncase 5: // caller optimization;\n$ans4010 = success2624.$var.app(loc3969);\nvar anf_arg3988 = $ans4010;\n$step4009 = 6;\n$al4011 = L[1591];\n// omitting isFunction check;\n$ans4010 = add$result2718.$var.app(anf_arg3988);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4010;\ndefault: R.ffi.throwSpinnakerError(L[1594],$step4009);\n}\n}\nif($step4009 !== 6) {\n$ans4010.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4011,$temp_branch4008,$step4009,[lv3987],[],$elidedFrames4013);\n}\nreturn $ans4010;\n};\n$ans4002 = cases3983.$app_fields($temp_branch4008,[false]);\nbreak;\ncase 10: $ans4002 = R.throwNoCasesMatched(L[1589],cases3983);\n$step4001 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4002;\ndefault: R.ffi.throwSpinnakerError(L[1600],$step4001);\n}\n}\nif($step4001 !== 11) {\n$ans4002.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4003,$temp_branch4000,$step4001,[cv3980],[cases3983],$elidedFrames4005);\n}\nreturn $ans4002;\n};\n$ans3970 = cases3975.$app_fields($temp_branch4000,[false]);\nbreak;\ncase 5: $ans3970 = R.throwNoCasesMatched(L[1585],cases3975);\n$step3963 = 6;\nbreak;\ncase 6: $step3963 = 7;\n$ans3970 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans3970;\ndefault: R.ffi.throwSpinnakerError(L[1582],$step3963);\n}\n}\nif($step3963 !== 7) {\n$ans3970.stack[R.EXN_STACKHEIGHT++] = R.mAR($al3971,$temp_full3964,$step3963,[self3965,thunk3966,str3967,cause3968,loc3969],[cases3975],$elidedFrames3973);\n}\nreturn $ans3970;\n};\nvar anf_obj5050 = R.makeMethod4($temp_full3964,\"check-raises-str-cause\");\nvar $temp_full4022 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1604($self4023,$thunk4024,$str4025,$loc4026) {\nvar $step4021 = 0;\nvar $elidedFrames4030 = 0;\nvar $ans4027 = D;\nvar $al4028 = L[1604];\nif(R.isAR($self4023)) {\n$step4021 = $self4023.step;\n$al4028 = $self4023.from;\n$ans4027 = $self4023.ans;\n$elidedFrames4030 = $self4023.elidedFrames;\nself4023 = $self4023.args[0];\nthunk4024 = $self4023.args[1];\nstr4025 = $self4023.args[2];\nloc4026 = $self4023.args[3];\nlv4045 = $self4023.vars[0];\ncases4032 = $self4023.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1604],4,$t,true);\n}\nvar self4023 = $self4023;\nvar thunk4024 = $thunk4024;\nvar str4025 = $str4025;\nvar loc4026 = $loc4026;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4027 = R.mC();\n}\nwhile(!R.isContinuation($ans4027)) {\nswitch($step4021) {\ncase 0: $step4021 = 1;\n$al4028 = L[1614];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,run$task1);\n}\n$ans4027 = run$task1.app(thunk4024);\nbreak;\ncase 1: var result4031 = $ans4027;\nvar cases4032 = result4031;\n$step4021 = 2;\n$al4028 = L[1613];\nvar $ann$check4050 = R._cA(L[1613],R.gDA(L[1613],\"either\",either20.dict.types,\"Either\"),cases4032);\nif(R.isContinuation($ann$check4050)) {\n$ans4027 = $ann$check4050;\n}\nbreak;\ncase 2: $al4028 = L[1607];\n$step4021 = $cases_dispatch4049[cases4032.$name] || 9;\nbreak;\ncase 3: if(cases4032.$arity !== 1) {\nif(cases4032.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1606],1,cases4032.$arity,L[1607],cases4032.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1606],true,L[1607],cases4032.$loc);\n}\n}\nvar $fn4037 = cases4032.$constructor.$fieldNames;\nR.dF(cases4032.dict[$fn4037[0]],cases4032.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4027 = some12.app(str4025);\nvar anf_arg4033 = $ans4027;\n// caller optimization;\n$ans4027 = failure$no$exn2660.$var.app(loc4026,anf_arg4033,on$left256.$var,(false));\nvar anf_arg1677 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1605];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1677);\nbreak;\ncase 4: if(cases4032.$arity !== 1) {\nif(cases4032.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1612],1,cases4032.$arity,L[1607],cases4032.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1612],true,L[1607],cases4032.$loc);\n}\n}\nvar $fn4048 = cases4032.$constructor.$fieldNames;\nvar lv4045 = R.dF(cases4032.dict[$fn4048[0]],cases4032.$mut_fields_mask[0],false);\n$step4021 = 5;\n$al4028 = L[1611];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,exn$unwrap2);\n}\n$ans4027 = exn$unwrap2.app(lv4045);\nbreak;\ncase 5: var anf_arg1678 = $ans4027;\n$step4021 = 6;\n$al4028 = L[1610];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4028,torepr3);\n}\n$ans4027 = torepr3.app(anf_arg1678);\nbreak;\ncase 6: var anf_arg1679 = $ans4027;\n// caller optimization;\n$ans4027 = string$contains5.app(anf_arg1679,str4025);\nvar anf_if4046 = $ans4027;\n$step4021 = R.checkPyretTrue(anf_if4046)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4027 = failure$right$exn2652.$var.app(loc4026,str4025,lv4045,on$left256.$var);\nvar anf_arg1682 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1608];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1682);\nbreak;\ncase 8: // caller optimization;\n$ans4027 = success2624.$var.app(loc4026);\nvar anf_arg1685 = $ans4027;\n$step4021 = 10;\n$al4028 = L[1609];\n// omitting isFunction check;\n$ans4027 = add$result2718.$var.app(anf_arg1685);\nbreak;\ncase 9: $ans4027 = R.throwNoCasesMatched(L[1607],cases4032);\n$step4021 = 10;\nbreak;\ncase 10: $step4021 = 11;\n$ans4027 = nothing2;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4027;\ndefault: R.ffi.throwSpinnakerError(L[1604],$step4021);\n}\n}\nif($step4021 !== 11) {\n$ans4027.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4028,$temp_full4022,$step4021,[self4023,thunk4024,str4025,loc4026],[lv4045,cases4032],$elidedFrames4030);\n}\nreturn $ans4027;\n};\nvar anf_obj5051 = R.makeMethod3($temp_full4022,\"check-raises-other-str\");\nvar $temp_full4054 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1615($self4055,$thunk4056,$str4057,$cause4058,$loc4059) {\nvar $step4053 = 0;\nvar $elidedFrames4063 = 0;\nvar $ans4060 = D;\nvar $al4061 = L[1615];\nif(R.isAR($self4055)) {\n$step4053 = $self4055.step;\n$al4061 = $self4055.from;\n$ans4060 = $self4055.ans;\n$elidedFrames4063 = $self4055.elidedFrames;\nself4055 = $self4055.args[0];\nthunk4056 = $self4055.args[1];\nstr4057 = $self4055.args[2];\ncause4058 = $self4055.args[3];\nloc4059 = $self4055.args[4];\ncases4065 = $self4055.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1615],5,$t,true);\n}\nvar self4055 = $self4055;\nvar thunk4056 = $thunk4056;\nvar str4057 = $str4057;\nvar cause4058 = $cause4058;\nvar loc4059 = $loc4059;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4060 = R.mC();\n}\nwhile(!R.isContinuation($ans4060)) {\nswitch($step4053) {\ncase 0: $step4053 = 1;\n$al4061 = L[1634];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4061,run$task1);\n}\n$ans4060 = run$task1.app(cause4058);\nbreak;\ncase 1: var cause$result4064 = $ans4060;\nvar cases4065 = cause$result4064;\n$step4053 = 2;\n$al4061 = L[1633];\nvar $ann$check4106 = R._cA(L[1633],R.gDA(L[1633],\"either\",either20.dict.types,\"Either\"),cases4065);\nif(R.isContinuation($ann$check4106)) {\n$ans4060 = $ann$check4106;\n}\nbreak;\ncase 2: $al4061 = L[1618];\n$step4053 = $cases_dispatch4105[cases4065.$name] || 5;\nbreak;\ncase 3: if(cases4065.$arity !== 1) {\nif(cases4065.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1617],1,cases4065.$arity,L[1618],cases4065.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1617],true,L[1618],cases4065.$loc);\n}\n}\nvar $fn4069 = cases4065.$constructor.$fieldNames;\nR.dF(cases4065.dict[$fn4069[0]],cases4065.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4060 = some12.app(str4057);\nvar anf_arg4066 = $ans4060;\n// caller optimization;\n$ans4060 = failure$no$exn2660.$var.app(loc4059,anf_arg4066,on$cause267.$var,(false));\nvar anf_arg4067 = $ans4060;\n$step4053 = 6;\n$al4061 = L[1616];\n// omitting isFunction check;\n$ans4060 = add$result2718.$var.app(anf_arg4067);\nbreak;\ncase 4: if(cases4065.$arity !== 1) {\nif(cases4065.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1632],1,cases4065.$arity,L[1618],cases4065.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1632],true,L[1618],cases4065.$loc);\n}\n}\n$step4053 = 6;\n$al4061 = L[1632];\nvar $temp_branch4090 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1618($cv4071) {\nvar $step4091 = 0;\nvar $elidedFrames4095 = 0;\nvar $ans4092 = D;\nvar $al4093 = L[1631];\nif(R.isAR($cv4071)) {\n$step4091 = $cv4071.step;\n$al4093 = $cv4071.from;\n$ans4092 = $cv4071.ans;\n$elidedFrames4095 = $cv4071.elidedFrames;\ncv4071 = $cv4071.args[0];\nlv4079 = $cv4071.vars[0];\ncases4075 = $cv4071.vars[1];\n} else {\nvar cv4071 = $cv4071;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4092 = R.mC();\n}\nwhile(!R.isContinuation($ans4092)) {\nswitch($step4091) {\ncase 0: $step4091 = 1;\n$al4093 = L[1631];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,exn$unwrap2);\n}\n$ans4092 = exn$unwrap2.app(cv4071);\nbreak;\ncase 1: var anf_arg4072 = $ans4092;\n$step4091 = 2;\n$al4093 = L[1630];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,torepr3);\n}\n$ans4092 = torepr3.app(anf_arg4072);\nbreak;\ncase 2: var anf_arg4073 = $ans4092;\n// caller optimization;\n$ans4092 = string$contains5.app(anf_arg4073,str4057);\nvar anf_if4089 = $ans4092;\n$step4091 = R.checkPyretTrue(anf_if4089)?3:4;\nbreak;\ncase 3: // caller optimization;\n$ans4092 = failure$right$exn2652.$var.app(loc4059,str4057,cv4071,on$cause267.$var);\nvar anf_arg1697 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1619];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1697);\nbreak;\ncase 4: $step4091 = 5;\n$al4093 = L[1629];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,run$task1);\n}\n$ans4092 = run$task1.app(thunk4056);\nbreak;\ncase 5: var result4074 = $ans4092;\nvar cases4075 = result4074;\n$step4091 = 6;\n$al4093 = L[1628];\nvar $ann$check4103 = R._cA(L[1628],R.gDA(L[1628],\"either\",either20.dict.types,\"Either\"),cases4075);\nif(R.isContinuation($ann$check4103)) {\n$ans4092 = $ann$check4103;\n}\nbreak;\ncase 6: $al4093 = L[1622];\n$step4091 = $cases_dispatch4102[cases4075.$name] || 13;\nbreak;\ncase 7: if(cases4075.$arity !== 1) {\nif(cases4075.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1621],1,cases4075.$arity,L[1622],cases4075.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1621],true,L[1622],cases4075.$loc);\n}\n}\nvar $fn4097 = cases4075.$constructor.$fieldNames;\nR.dF(cases4075.dict[$fn4097[0]],cases4075.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4092 = some12.app(str4057);\nvar anf_arg1698 = $ans4092;\n// caller optimization;\n$ans4092 = failure$no$exn2660.$var.app(loc4059,anf_arg1698,on$left256.$var,(false));\nvar anf_arg1699 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1620];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1699);\nbreak;\ncase 8: if(cases4075.$arity !== 1) {\nif(cases4075.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1627],1,cases4075.$arity,L[1622],cases4075.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1627],true,L[1622],cases4075.$loc);\n}\n}\nvar $fn4101 = cases4075.$constructor.$fieldNames;\nvar lv4079 = R.dF(cases4075.dict[$fn4101[0]],cases4075.$mut_fields_mask[0],false);\n$step4091 = 9;\n$al4093 = L[1626];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,exn$unwrap2);\n}\n$ans4092 = exn$unwrap2.app(lv4079);\nbreak;\ncase 9: var anf_arg1704 = $ans4092;\n$step4091 = 10;\n$al4093 = L[1625];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4093,torepr3);\n}\n$ans4092 = torepr3.app(anf_arg1704);\nbreak;\ncase 10: var anf_arg1702 = $ans4092;\n// caller optimization;\n$ans4092 = string$contains5.app(anf_arg1702,str4057);\nvar anf_if4082 = $ans4092;\n$step4091 = R.checkPyretTrue(anf_if4082)?11:12;\nbreak;\ncase 11: // caller optimization;\n$ans4092 = failure$right$exn2652.$var.app(loc4059,str4057,lv4079,on$left256.$var);\nvar anf_arg1706 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1623];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg1706);\nbreak;\ncase 12: // caller optimization;\n$ans4092 = success2624.$var.app(loc4059);\nvar anf_arg4081 = $ans4092;\n$step4091 = 14;\n$al4093 = L[1624];\n// omitting isFunction check;\n$ans4092 = add$result2718.$var.app(anf_arg4081);\nbreak;\ncase 13: $ans4092 = R.throwNoCasesMatched(L[1622],cases4075);\n$step4091 = 14;\nbreak;\ncase 14: ++R.GAS;\nreturn $ans4092;\ndefault: R.ffi.throwSpinnakerError(L[1631],$step4091);\n}\n}\nif($step4091 !== 14) {\n$ans4092.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4093,$temp_branch4090,$step4091,[cv4071],[lv4079,cases4075],$elidedFrames4095);\n}\nreturn $ans4092;\n};\n$ans4060 = cases4065.$app_fields($temp_branch4090,[false]);\nbreak;\ncase 5: $ans4060 = R.throwNoCasesMatched(L[1618],cases4065);\n$step4053 = 6;\nbreak;\ncase 6: $step4053 = 7;\n$ans4060 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4060;\ndefault: R.ffi.throwSpinnakerError(L[1615],$step4053);\n}\n}\nif($step4053 !== 7) {\n$ans4060.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4061,$temp_full4054,$step4053,[self4055,thunk4056,str4057,cause4058,loc4059],[cases4065],$elidedFrames4063);\n}\nreturn $ans4060;\n};\nvar anf_obj5052 = R.makeMethod4($temp_full4054,\"check-raises-other-str-cause\");\nvar $temp_full4109 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1635($self4110,$thunk4111,$loc4112) {\nvar $step4108 = 0;\nvar $elidedFrames4116 = 0;\nvar $ans4113 = D;\nvar $al4114 = L[1635];\nif(R.isAR($self4110)) {\n$step4108 = $self4110.step;\n$al4114 = $self4110.from;\n$ans4113 = $self4110.ans;\n$elidedFrames4116 = $self4110.elidedFrames;\nself4110 = $self4110.args[0];\nthunk4111 = $self4110.args[1];\nloc4112 = $self4110.args[2];\ncases4117 = $self4110.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1635],3,$t,true);\n}\nvar self4110 = $self4110;\nvar thunk4111 = $thunk4111;\nvar loc4112 = $loc4112;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4113 = R.mC();\n}\nwhile(!R.isContinuation($ans4113)) {\nswitch($step4108) {\ncase 0: $step4108 = 1;\n$al4114 = L[1642];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4114,run$task1);\n}\n$ans4113 = run$task1.app(thunk4111);\nbreak;\ncase 1: var cases4117 = $ans4113;\n$step4108 = 2;\n$al4114 = L[1641];\nvar $ann$check4126 = R._cA(L[1641],R.gDA(L[1641],\"either\",either20.dict.types,\"Either\"),cases4117);\nif(R.isContinuation($ann$check4126)) {\n$ans4113 = $ann$check4126;\n}\nbreak;\ncase 2: $al4114 = L[1638];\n$step4108 = $cases_dispatch4125[cases4117.$name] || 5;\nbreak;\ncase 3: if(cases4117.$arity !== 1) {\nif(cases4117.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1637],1,cases4117.$arity,L[1638],cases4117.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1637],true,L[1638],cases4117.$loc);\n}\n}\nvar $fn4121 = cases4117.$constructor.$fieldNames;\nvar exn4118 = R.dF(cases4117.dict[$fn4121[0]],cases4117.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4113 = failure$exn2656.$var.app(loc4112,exn4118,on$left256.$var);\nvar anf_arg4119 = $ans4113;\n$step4108 = 6;\n$al4114 = L[1636];\n// omitting isFunction check;\n$ans4113 = add$result2718.$var.app(anf_arg4119);\nbreak;\ncase 4: if(cases4117.$arity !== 1) {\nif(cases4117.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1640],1,cases4117.$arity,L[1638],cases4117.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1640],true,L[1638],cases4117.$loc);\n}\n}\nvar $fn4123 = cases4117.$constructor.$fieldNames;\nR.dF(cases4117.dict[$fn4123[0]],cases4117.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4113 = success2624.$var.app(loc4112);\nvar anf_arg1707 = $ans4113;\n$step4108 = 6;\n$al4114 = L[1639];\n// omitting isFunction check;\n$ans4113 = add$result2718.$var.app(anf_arg1707);\nbreak;\ncase 5: $ans4113 = R.throwNoCasesMatched(L[1638],cases4117);\n$step4108 = 6;\nbreak;\ncase 6: $step4108 = 7;\n$ans4113 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4113;\ndefault: R.ffi.throwSpinnakerError(L[1635],$step4108);\n}\n}\nif($step4108 !== 7) {\n$ans4113.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4114,$temp_full4109,$step4108,[self4110,thunk4111,loc4112],[cases4117],$elidedFrames4116);\n}\nreturn $ans4113;\n};\nvar anf_obj5053 = R.makeMethod2($temp_full4109,\"check-raises-not\");\nvar $temp_full4129 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1643($self4130,$thunk4131,$cause4132,$loc4133) {\nvar $step4128 = 0;\nvar $elidedFrames4137 = 0;\nvar $ans4134 = D;\nvar $al4135 = L[1643];\nif(R.isAR($self4130)) {\n$step4128 = $self4130.step;\n$al4135 = $self4130.from;\n$ans4134 = $self4130.ans;\n$elidedFrames4137 = $self4130.elidedFrames;\nself4130 = $self4130.args[0];\nthunk4131 = $self4130.args[1];\ncause4132 = $self4130.args[2];\nloc4133 = $self4130.args[3];\ncases4138 = $self4130.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1643],4,$t,true);\n}\nvar self4130 = $self4130;\nvar thunk4131 = $thunk4131;\nvar cause4132 = $cause4132;\nvar loc4133 = $loc4133;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4134 = R.mC();\n}\nwhile(!R.isContinuation($ans4134)) {\nswitch($step4128) {\ncase 0: $step4128 = 1;\n$al4135 = L[1656];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4135,run$task1);\n}\n$ans4134 = run$task1.app(cause4132);\nbreak;\ncase 1: var cases4138 = $ans4134;\n$step4128 = 2;\n$al4135 = L[1655];\nvar $ann$check4170 = R._cA(L[1655],R.gDA(L[1655],\"either\",either20.dict.types,\"Either\"),cases4138);\nif(R.isContinuation($ann$check4170)) {\n$ans4134 = $ann$check4170;\n}\nbreak;\ncase 2: $al4135 = L[1646];\n$step4128 = $cases_dispatch4169[cases4138.$name] || 5;\nbreak;\ncase 3: if(cases4138.$arity !== 1) {\nif(cases4138.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1645],1,cases4138.$arity,L[1646],cases4138.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1645],true,L[1646],cases4138.$loc);\n}\n}\nvar $fn4141 = cases4138.$constructor.$fieldNames;\nvar exn4139 = R.dF(cases4138.dict[$fn4141[0]],cases4138.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4134 = failure$exn2656.$var.app(loc4133,exn4139,on$cause267.$var);\nvar anf_arg1709 = $ans4134;\n$step4128 = 6;\n$al4135 = L[1644];\n// omitting isFunction check;\n$ans4134 = add$result2718.$var.app(anf_arg1709);\nbreak;\ncase 4: if(cases4138.$arity !== 1) {\nif(cases4138.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1654],1,cases4138.$arity,L[1646],cases4138.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1654],true,L[1646],cases4138.$loc);\n}\n}\n$step4128 = 6;\n$al4135 = L[1654];\nvar $temp_branch4155 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1646($$underscore4161) {\nvar $step4156 = 0;\nvar $elidedFrames4160 = 0;\nvar $ans4157 = D;\nvar $al4158 = L[1649];\nif(R.isAR($$underscore4161)) {\n$step4156 = $$underscore4161.step;\n$al4158 = $$underscore4161.from;\n$ans4157 = $$underscore4161.ans;\n$elidedFrames4160 = $$underscore4161.elidedFrames;\n$underscore4161 = $$underscore4161.args[0];\ncases4142 = $$underscore4161.vars[0];\n} else {\nvar $underscore4161 = $$underscore4161;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4157 = R.mC();\n}\nwhile(!R.isContinuation($ans4157)) {\nswitch($step4156) {\ncase 0: $step4156 = 1;\n$al4158 = L[1653];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4158,run$task1);\n}\n$ans4157 = run$task1.app(thunk4131);\nbreak;\ncase 1: var cases4142 = $ans4157;\n$step4156 = 2;\n$al4158 = L[1652];\nvar $ann$check4167 = R._cA(L[1652],R.gDA(L[1652],\"either\",either20.dict.types,\"Either\"),cases4142);\nif(R.isContinuation($ann$check4167)) {\n$ans4157 = $ann$check4167;\n}\nbreak;\ncase 2: $al4158 = L[1649];\n$step4156 = $cases_dispatch4166[cases4142.$name] || 5;\nbreak;\ncase 3: if(cases4142.$arity !== 1) {\nif(cases4142.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1648],1,cases4142.$arity,L[1649],cases4142.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1648],true,L[1649],cases4142.$loc);\n}\n}\nvar $fn4163 = cases4142.$constructor.$fieldNames;\nvar exn4143 = R.dF(cases4142.dict[$fn4163[0]],cases4142.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4157 = failure$exn2656.$var.app(loc4133,exn4143,on$left256.$var);\nvar anf_arg1714 = $ans4157;\n$step4156 = 6;\n$al4158 = L[1647];\n// omitting isFunction check;\n$ans4157 = add$result2718.$var.app(anf_arg1714);\nbreak;\ncase 4: if(cases4142.$arity !== 1) {\nif(cases4142.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1651],1,cases4142.$arity,L[1649],cases4142.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1651],true,L[1649],cases4142.$loc);\n}\n}\nvar $fn4165 = cases4142.$constructor.$fieldNames;\nR.dF(cases4142.dict[$fn4165[0]],cases4142.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4157 = success2624.$var.app(loc4133);\nvar anf_arg1712 = $ans4157;\n$step4156 = 6;\n$al4158 = L[1650];\n// omitting isFunction check;\n$ans4157 = add$result2718.$var.app(anf_arg1712);\nbreak;\ncase 5: $ans4157 = R.throwNoCasesMatched(L[1649],cases4142);\n$step4156 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4157;\ndefault: R.ffi.throwSpinnakerError(L[1649],$step4156);\n}\n}\nif($step4156 !== 6) {\n$ans4157.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4158,$temp_branch4155,$step4156,[$underscore4161],[cases4142],$elidedFrames4160);\n}\nreturn $ans4157;\n};\n$ans4134 = cases4138.$app_fields($temp_branch4155,[false]);\nbreak;\ncase 5: $ans4134 = R.throwNoCasesMatched(L[1646],cases4138);\n$step4128 = 6;\nbreak;\ncase 6: $step4128 = 7;\n$ans4134 = nothing2;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4134;\ndefault: R.ffi.throwSpinnakerError(L[1643],$step4128);\n}\n}\nif($step4128 !== 7) {\n$ans4134.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4135,$temp_full4129,$step4128,[self4130,thunk4131,cause4132,loc4133],[cases4138],$elidedFrames4137);\n}\nreturn $ans4134;\n};\nvar anf_obj5054 = R.makeMethod3($temp_full4129,\"check-raises-not-cause\");\nvar $temp_full4173 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1657($self4174,$thunk4175,$pred4176,$loc4177) {\nvar $step4172 = 0;\nvar $elidedFrames4181 = 0;\nvar $ans4178 = D;\nvar $al4179 = L[1657];\nif(R.isAR($self4174)) {\n$step4172 = $self4174.step;\n$al4179 = $self4174.from;\n$ans4178 = $self4174.ans;\n$elidedFrames4181 = $self4174.elidedFrames;\nself4174 = $self4174.args[0];\nthunk4175 = $self4174.args[1];\npred4176 = $self4174.args[2];\nloc4177 = $self4174.args[3];\ncases4182 = $self4174.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1657],4,$t,true);\n}\nvar self4174 = $self4174;\nvar thunk4175 = $thunk4175;\nvar pred4176 = $pred4176;\nvar loc4177 = $loc4177;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4178 = R.mC();\n}\nwhile(!R.isContinuation($ans4178)) {\nswitch($step4172) {\ncase 0: $step4172 = 1;\n$al4179 = L[1682];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4179,run$task1);\n}\n$ans4178 = run$task1.app(thunk4175);\nbreak;\ncase 1: var cases4182 = $ans4178;\n$step4172 = 2;\n$al4179 = L[1681];\nvar $ann$check4254 = R._cA(L[1681],R.gDA(L[1681],\"either\",either20.dict.types,\"Either\"),cases4182);\nif(R.isContinuation($ann$check4254)) {\n$ans4178 = $ann$check4254;\n}\nbreak;\ncase 2: $al4179 = L[1660];\n$step4172 = $cases_dispatch4253[cases4182.$name] || 5;\nbreak;\ncase 3: if(cases4182.$arity !== 1) {\nif(cases4182.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1659],1,cases4182.$arity,L[1660],cases4182.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1659],true,L[1660],cases4182.$loc);\n}\n}\nvar $fn4184 = cases4182.$constructor.$fieldNames;\nR.dF(cases4182.dict[$fn4184[0]],cases4182.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4178 = failure$no$exn2660.$var.app(loc4177,none14,on$left256.$var,(true));\n$step4172 = 6;\nbreak;\ncase 4: if(cases4182.$arity !== 1) {\nif(cases4182.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1680],1,cases4182.$arity,L[1660],cases4182.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1680],true,L[1660],cases4182.$loc);\n}\n}\n$step4172 = 6;\n$al4179 = L[1680];\nvar $temp_branch4223 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1660($exn4186) {\nvar $step4224 = 0;\nvar $elidedFrames4228 = 0;\nvar $ans4225 = D;\nvar $al4226 = L[1679];\nif(R.isAR($exn4186)) {\n$step4224 = $exn4186.step;\n$al4226 = $exn4186.from;\n$ans4225 = $exn4186.ans;\n$elidedFrames4228 = $exn4186.elidedFrames;\nexn4186 = $exn4186.args[0];\ncases4197 = $exn4186.vars[0];\nexn$val4194 = $exn4186.vars[1];\n} else {\nvar exn4186 = $exn4186;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4225 = R.mC();\n}\nwhile(!R.isContinuation($ans4225)) {\nswitch($step4224) {\ncase 0: $step4224 = 1;\n$al4226 = L[1679];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 1: var anf_arg4187 = $ans4225;\n$step4224 = 2;\n$al4226 = L[1678];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4225 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4187);\nbreak;\ncase 2: var anf_if4222 = $ans4225;\n$step4224 = R.checkPyretTrue(anf_if4222)?3:5;\nbreak;\ncase 3: $step4224 = 4;\n$al4226 = L[1676];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 4: var anf_bracket4221 = $ans4225;\n$step4224 = 6;\n$al4226 = L[1675];\n$ans4225 = G(anf_bracket4221,\"value\",L[1675]);\nbreak;\ncase 5: $step4224 = 6;\n$al4226 = L[1677];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,exn$unwrap2);\n}\n$ans4225 = exn$unwrap2.app(exn4186);\nbreak;\ncase 6: var exn$val4194 = $ans4225;\nvar $temp_lam4230 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1661($$resumer13) {\nvar $step4229 = 0;\nvar $elidedFrames4234 = 0;\nvar $ans4231 = D;\nvar $al4232 = L[1661];\nif(R.isAR($$resumer13)) {\n$step4229 = $$resumer13.step;\n$al4232 = $$resumer13.from;\n$ans4231 = $$resumer13.ans;\n$elidedFrames4234 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1661],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4231 = R.mC();\n}\nwhile(!R.isContinuation($ans4231)) {\nswitch($step4229) {\ncase 0: $step4229 = 1;\n$al4232 = L[1662];\nif(typeof(pred4176.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4232,pred4176);\n}\n$ans4231 = pred4176.app(exn$val4194);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4231;\ndefault: R.ffi.throwSpinnakerError(L[1661],$step4229);\n}\n}\nif($step4229 !== 1) {\n$ans4231.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4232,$temp_lam4230,$step4229,[],[],$elidedFrames4234);\n}\nreturn $ans4231;\n};\nvar anf_arg4196 = R.mF($temp_lam4230,\"\");\n$step4224 = 7;\n$al4226 = L[1674];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4226,run$task1);\n}\n$ans4225 = run$task1.app(anf_arg4196);\nbreak;\ncase 7: var cases4197 = $ans4225;\n$step4224 = 8;\n$al4226 = L[1673];\nvar $ann$check4251 = R._cA(L[1673],R.gDA(L[1673],\"either\",either20.dict.types,\"Either\"),cases4197);\nif(R.isContinuation($ann$check4251)) {\n$ans4225 = $ann$check4251;\n}\nbreak;\ncase 8: $al4226 = L[1668];\n$step4224 = $cases_dispatch4250[cases4197.$name] || 11;\nbreak;\ncase 9: if(cases4197.$arity !== 1) {\nif(cases4197.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1667],1,cases4197.$arity,L[1668],cases4197.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1667],true,L[1668],cases4197.$loc);\n}\n}\n$step4224 = 12;\n$al4226 = L[1667];\nvar $temp_branch4236 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1668($exn4198) {\nvar $step4237 = 0;\nvar $elidedFrames4241 = 0;\nvar $ans4238 = D;\nvar $al4239 = L[1666];\nif(R.isAR($exn4198)) {\n$step4237 = $exn4198.step;\n$al4239 = $exn4198.from;\n$ans4238 = $exn4198.ans;\n$elidedFrames4241 = $exn4198.elidedFrames;\nexn4198 = $exn4198.args[0];\nexn$v4199 = $exn4198.vars[0];\n} else {\nvar exn4198 = $exn4198;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4238 = R.mC();\n}\nwhile(!R.isContinuation($ans4238)) {\nswitch($step4237) {\ncase 0: $step4237 = 1;\n$al4239 = L[1665];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,exn$unwrap2);\n}\n$ans4238 = exn$unwrap2.app(exn4198);\nbreak;\ncase 1: var exn$v4199 = $ans4238;\n$step4237 = 2;\n$al4239 = L[1664];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4238 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4199);\nbreak;\ncase 2: var anf_if4201 = $ans4238;\n$step4237 = R.checkPyretTrue(anf_if4201)?3:4;\nbreak;\ncase 3: $step4237 = 6;\n$ans4238 = (true);\nbreak;\ncase 4: $step4237 = 5;\n$al4239 = L[1663];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4239,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4238 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4199);\nbreak;\ncase 5: var anf_arg1734 = $ans4238;\n$ans4238 = R.checkWrapBoolean(anf_arg1734);\n$step4237 = 6;\nbreak;\ncase 6: var anf_if4200 = $ans4238;\n$step4237 = R.checkPyretTrue(anf_if4200)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4238 = error$not$pred2676.$var.app(loc4177,pred4176,(1));\n$step4237 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4238 = failure$exn2656.$var.app(loc4177,exn4198,on$right260.$var);\n$step4237 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4238;\ndefault: R.ffi.throwSpinnakerError(L[1666],$step4237);\n}\n}\nif($step4237 !== 9) {\n$ans4238.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4239,$temp_branch4236,$step4237,[exn4198],[exn$v4199],$elidedFrames4241);\n}\nreturn $ans4238;\n};\n$ans4225 = cases4197.$app_fields($temp_branch4236,[false]);\nbreak;\ncase 10: if(cases4197.$arity !== 1) {\nif(cases4197.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1672],1,cases4197.$arity,L[1668],cases4197.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1672],true,L[1668],cases4197.$loc);\n}\n}\n$step4224 = 12;\n$al4226 = L[1672];\nvar $temp_branch4243 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1668($pred$result4209) {\nvar $step4244 = 0;\nvar $elidedFrames4248 = 0;\nvar $ans4245 = D;\nvar $al4246 = L[1671];\nif(R.isAR($pred$result4209)) {\n$step4244 = $pred$result4209.step;\n$al4246 = $pred$result4209.from;\n$ans4245 = $pred$result4209.ans;\n$elidedFrames4248 = $pred$result4209.elidedFrames;\npred$result4209 = $pred$result4209.args[0];\n} else {\nvar pred$result4209 = $pred$result4209;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4245 = R.mC();\n}\nwhile(!R.isContinuation($ans4245)) {\nswitch($step4244) {\ncase 0: // caller optimization;\n$ans4245 = is$boolean2.app(pred$result4209);\nvar anf_arg1731 = $ans4245;\n$step4244 = 1;\n$al4246 = L[1670];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4246,not5);\n}\n$ans4245 = not5.app(anf_arg1731);\nbreak;\ncase 1: var anf_if4211 = $ans4245;\n$step4244 = R.checkPyretTrue(anf_if4211)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4245 = error$not$boolean$pred2680.$var.app(loc4177,pred4176,exn$val4194,on$left256.$var,pred$result4209);\n$step4244 = 7;\nbreak;\ncase 3: $step4244 = 4;\n$al4246 = L[1669];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4246,not5);\n}\n$ans4245 = not5.app(pred$result4209);\nbreak;\ncase 4: var anf_if4210 = $ans4245;\n$step4244 = R.checkPyretTrue(anf_if4210)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4245 = failure$raise$not$satisfied2664.$var.app(loc4177,exn4186,on$left256.$var,pred4176);\n$step4244 = 7;\nbreak;\ncase 6: // caller optimization;\n$ans4245 = success2624.$var.app(loc4177);\n$step4244 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4245;\ndefault: R.ffi.throwSpinnakerError(L[1671],$step4244);\n}\n}\nif($step4244 !== 7) {\n$ans4245.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4246,$temp_branch4243,$step4244,[pred$result4209],[],$elidedFrames4248);\n}\nreturn $ans4245;\n};\n$ans4225 = cases4197.$app_fields($temp_branch4243,[false]);\nbreak;\ncase 11: $ans4225 = R.throwNoCasesMatched(L[1668],cases4197);\n$step4224 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4225;\ndefault: R.ffi.throwSpinnakerError(L[1679],$step4224);\n}\n}\nif($step4224 !== 12) {\n$ans4225.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4226,$temp_branch4223,$step4224,[exn4186],[cases4197,exn$val4194],$elidedFrames4228);\n}\nreturn $ans4225;\n};\n$ans4178 = cases4182.$app_fields($temp_branch4223,[false]);\nbreak;\ncase 5: $ans4178 = R.throwNoCasesMatched(L[1660],cases4182);\n$step4172 = 6;\nbreak;\ncase 6: var anf_arg1736 = $ans4178;\n$step4172 = 7;\n$al4179 = L[1658];\n// omitting isFunction check;\n$ans4178 = add$result2718.$var.app(anf_arg1736);\nbreak;\ncase 7: $step4172 = 8;\n$ans4178 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4178;\ndefault: R.ffi.throwSpinnakerError(L[1657],$step4172);\n}\n}\nif($step4172 !== 8) {\n$ans4178.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4179,$temp_full4173,$step4172,[self4174,thunk4175,pred4176,loc4177],[cases4182],$elidedFrames4181);\n}\nreturn $ans4178;\n};\nvar anf_obj5055 = R.makeMethod3($temp_full4173,\"check-raises-satisfies\");\nvar $temp_full4257 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1683($self4258,$thunk4259,$pred4260,$cause4261,$loc4262) {\nvar $step4256 = 0;\nvar $elidedFrames4266 = 0;\nvar $ans4263 = D;\nvar $al4264 = L[1683];\nif(R.isAR($self4258)) {\n$step4256 = $self4258.step;\n$al4264 = $self4258.from;\n$ans4263 = $self4258.ans;\n$elidedFrames4266 = $self4258.elidedFrames;\nself4258 = $self4258.args[0];\nthunk4259 = $self4258.args[1];\npred4260 = $self4258.args[2];\ncause4261 = $self4258.args[3];\nloc4262 = $self4258.args[4];\ncases4267 = $self4258.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1683],5,$t,true);\n}\nvar self4258 = $self4258;\nvar thunk4259 = $thunk4259;\nvar pred4260 = $pred4260;\nvar cause4261 = $cause4261;\nvar loc4262 = $loc4262;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4263 = R.mC();\n}\nwhile(!R.isContinuation($ans4263)) {\nswitch($step4256) {\ncase 0: $step4256 = 1;\n$al4264 = L[1732];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4264,run$task1);\n}\n$ans4263 = run$task1.app(cause4261);\nbreak;\ncase 1: var cases4267 = $ans4263;\n$step4256 = 2;\n$al4264 = L[1731];\nvar $ann$check4587 = R._cA(L[1731],R.gDA(L[1731],\"either\",either20.dict.types,\"Either\"),cases4267);\nif(R.isContinuation($ann$check4587)) {\n$ans4263 = $ann$check4587;\n}\nbreak;\ncase 2: $al4264 = L[1686];\n$step4256 = $cases_dispatch4586[cases4267.$name] || 5;\nbreak;\ncase 3: if(cases4267.$arity !== 1) {\nif(cases4267.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1685],1,cases4267.$arity,L[1686],cases4267.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1685],true,L[1686],cases4267.$loc);\n}\n}\nvar $fn4269 = cases4267.$constructor.$fieldNames;\nR.dF(cases4267.dict[$fn4269[0]],cases4267.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4263 = failure$no$exn2660.$var.app(loc4262,none14,on$cause267.$var,(true));\n$step4256 = 6;\nbreak;\ncase 4: if(cases4267.$arity !== 1) {\nif(cases4267.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1730],1,cases4267.$arity,L[1686],cases4267.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1730],true,L[1686],cases4267.$loc);\n}\n}\n$step4256 = 6;\n$al4264 = L[1730];\nvar $temp_branch4442 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1686($exn4271) {\nvar $step4443 = 0;\nvar $elidedFrames4447 = 0;\nvar $ans4444 = D;\nvar $al4445 = L[1729];\nif(R.isAR($exn4271)) {\n$step4443 = $exn4271.step;\n$al4445 = $exn4271.from;\n$ans4444 = $exn4271.ans;\n$elidedFrames4447 = $exn4271.elidedFrames;\nexn4271 = $exn4271.args[0];\ncases4283 = $exn4271.vars[0];\nexn$cause$val4281 = $exn4271.vars[1];\n} else {\nvar exn4271 = $exn4271;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4444 = R.mC();\n}\nwhile(!R.isContinuation($ans4444)) {\nswitch($step4443) {\ncase 0: $step4443 = 1;\n$al4445 = L[1729];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 1: var anf_arg4273 = $ans4444;\n$step4443 = 2;\n$al4445 = L[1728];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4444 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4273);\nbreak;\ncase 2: var anf_if4441 = $ans4444;\n$step4443 = R.checkPyretTrue(anf_if4441)?3:5;\nbreak;\ncase 3: $step4443 = 4;\n$al4445 = L[1726];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 4: var anf_bracket4440 = $ans4444;\n$step4443 = 6;\n$al4445 = L[1725];\n$ans4444 = G(anf_bracket4440,\"value\",L[1725]);\nbreak;\ncase 5: $step4443 = 6;\n$al4445 = L[1727];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,exn$unwrap2);\n}\n$ans4444 = exn$unwrap2.app(exn4271);\nbreak;\ncase 6: var exn$cause$val4281 = $ans4444;\nvar $temp_lam4449 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1687($$resumer13) {\nvar $step4448 = 0;\nvar $elidedFrames4453 = 0;\nvar $ans4450 = D;\nvar $al4451 = L[1687];\nif(R.isAR($$resumer13)) {\n$step4448 = $$resumer13.step;\n$al4451 = $$resumer13.from;\n$ans4450 = $$resumer13.ans;\n$elidedFrames4453 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1687],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4450 = R.mC();\n}\nwhile(!R.isContinuation($ans4450)) {\nswitch($step4448) {\ncase 0: $step4448 = 1;\n$al4451 = L[1688];\nif(typeof(pred4260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4451,pred4260);\n}\n$ans4450 = pred4260.app(exn$cause$val4281);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4450;\ndefault: R.ffi.throwSpinnakerError(L[1687],$step4448);\n}\n}\nif($step4448 !== 1) {\n$ans4450.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4451,$temp_lam4449,$step4448,[],[],$elidedFrames4453);\n}\nreturn $ans4450;\n};\nvar anf_arg1742 = R.mF($temp_lam4449,\"\");\n$step4443 = 7;\n$al4445 = L[1724];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4445,run$task1);\n}\n$ans4444 = run$task1.app(anf_arg1742);\nbreak;\ncase 7: var cases4283 = $ans4444;\n$step4443 = 8;\n$al4445 = L[1723];\nvar $ann$check4584 = R._cA(L[1723],R.gDA(L[1723],\"either\",either20.dict.types,\"Either\"),cases4283);\nif(R.isContinuation($ann$check4584)) {\n$ans4444 = $ann$check4584;\n}\nbreak;\ncase 8: $al4445 = L[1694];\n$step4443 = $cases_dispatch4583[cases4283.$name] || 11;\nbreak;\ncase 9: if(cases4283.$arity !== 1) {\nif(cases4283.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1693],1,cases4283.$arity,L[1694],cases4283.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1693],true,L[1694],cases4283.$loc);\n}\n}\n$step4443 = 12;\n$al4445 = L[1693];\nvar $temp_branch4455 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1694($exn4284) {\nvar $step4456 = 0;\nvar $elidedFrames4460 = 0;\nvar $ans4457 = D;\nvar $al4458 = L[1692];\nif(R.isAR($exn4284)) {\n$step4456 = $exn4284.step;\n$al4458 = $exn4284.from;\n$ans4457 = $exn4284.ans;\n$elidedFrames4460 = $exn4284.elidedFrames;\nexn4284 = $exn4284.args[0];\nexn$v4285 = $exn4284.vars[0];\n} else {\nvar exn4284 = $exn4284;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4457 = R.mC();\n}\nwhile(!R.isContinuation($ans4457)) {\nswitch($step4456) {\ncase 0: $step4456 = 1;\n$al4458 = L[1691];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,exn$unwrap2);\n}\n$ans4457 = exn$unwrap2.app(exn4284);\nbreak;\ncase 1: var exn$v4285 = $ans4457;\n$step4456 = 2;\n$al4458 = L[1690];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4457 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4285);\nbreak;\ncase 2: var anf_if4287 = $ans4457;\n$step4456 = R.checkPyretTrue(anf_if4287)?3:4;\nbreak;\ncase 3: $step4456 = 6;\n$ans4457 = (true);\nbreak;\ncase 4: $step4456 = 5;\n$al4458 = L[1689];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4458,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4457 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4285);\nbreak;\ncase 5: var anf_arg1743 = $ans4457;\n$ans4457 = R.checkWrapBoolean(anf_arg1743);\n$step4456 = 6;\nbreak;\ncase 6: var anf_if4286 = $ans4457;\n$step4456 = R.checkPyretTrue(anf_if4286)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4457 = error$not$pred2676.$var.app(loc4262,pred4260,(1));\n$step4456 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4457 = failure$exn2656.$var.app(loc4262,exn4284,on$right260.$var);\n$step4456 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4457;\ndefault: R.ffi.throwSpinnakerError(L[1692],$step4456);\n}\n}\nif($step4456 !== 9) {\n$ans4457.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4458,$temp_branch4455,$step4456,[exn4284],[exn$v4285],$elidedFrames4460);\n}\nreturn $ans4457;\n};\n$ans4444 = cases4283.$app_fields($temp_branch4455,[false]);\nbreak;\ncase 10: if(cases4283.$arity !== 1) {\nif(cases4283.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1722],1,cases4283.$arity,L[1694],cases4283.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1722],true,L[1694],cases4283.$loc);\n}\n}\n$step4443 = 12;\n$al4445 = L[1722];\nvar $temp_branch4519 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1694($pred$cause$result4295) {\nvar $step4520 = 0;\nvar $elidedFrames4524 = 0;\nvar $ans4521 = D;\nvar $al4522 = L[1721];\nif(R.isAR($pred$cause$result4295)) {\n$step4520 = $pred$cause$result4295.step;\n$al4522 = $pred$cause$result4295.from;\n$ans4521 = $pred$cause$result4295.ans;\n$elidedFrames4524 = $pred$cause$result4295.elidedFrames;\npred$cause$result4295 = $pred$cause$result4295.args[0];\ncases4297 = $pred$cause$result4295.vars[0];\n} else {\nvar pred$cause$result4295 = $pred$cause$result4295;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4521 = R.mC();\n}\nwhile(!R.isContinuation($ans4521)) {\nswitch($step4520) {\ncase 0: // caller optimization;\n$ans4521 = is$boolean2.app(pred$cause$result4295);\nvar anf_arg4296 = $ans4521;\n$step4520 = 1;\n$al4522 = L[1720];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,not5);\n}\n$ans4521 = not5.app(anf_arg4296);\nbreak;\ncase 1: var anf_if4373 = $ans4521;\n$step4520 = R.checkPyretTrue(anf_if4373)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4521 = error$not$boolean$pred2680.$var.app(loc4262,pred4260,exn$cause$val4281,on$cause267.$var,pred$cause$result4295);\n$step4520 = 12;\nbreak;\ncase 3: $step4520 = 4;\n$al4522 = L[1719];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,not5);\n}\n$ans4521 = not5.app(pred$cause$result4295);\nbreak;\ncase 4: var anf_if4372 = $ans4521;\n$step4520 = R.checkPyretTrue(anf_if4372)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4521 = failure$raise$not$satisfied2664.$var.app(loc4262,exn4271,on$cause267.$var,pred4260);\n$step4520 = 12;\nbreak;\ncase 6: $step4520 = 7;\n$al4522 = L[1718];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4522,run$task1);\n}\n$ans4521 = run$task1.app(thunk4259);\nbreak;\ncase 7: var cases4297 = $ans4521;\n$step4520 = 8;\n$al4522 = L[1717];\nvar $ann$check4581 = R._cA(L[1717],R.gDA(L[1717],\"either\",either20.dict.types,\"Either\"),cases4297);\nif(R.isContinuation($ann$check4581)) {\n$ans4521 = $ann$check4581;\n}\nbreak;\ncase 8: $al4522 = L[1696];\n$step4520 = $cases_dispatch4580[cases4297.$name] || 11;\nbreak;\ncase 9: if(cases4297.$arity !== 1) {\nif(cases4297.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1695],1,cases4297.$arity,L[1696],cases4297.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1695],true,L[1696],cases4297.$loc);\n}\n}\nvar $fn4526 = cases4297.$constructor.$fieldNames;\nR.dF(cases4297.dict[$fn4526[0]],cases4297.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4521 = failure$no$exn2660.$var.app(loc4262,none14,on$left256.$var,(true));\n$step4520 = 12;\nbreak;\ncase 10: if(cases4297.$arity !== 1) {\nif(cases4297.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1716],1,cases4297.$arity,L[1696],cases4297.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1716],true,L[1696],cases4297.$loc);\n}\n}\n$step4520 = 12;\n$al4522 = L[1716];\nvar $temp_branch4550 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1696($exn4301) {\nvar $step4551 = 0;\nvar $elidedFrames4555 = 0;\nvar $ans4552 = D;\nvar $al4553 = L[1715];\nif(R.isAR($exn4301)) {\n$step4551 = $exn4301.step;\n$al4553 = $exn4301.from;\n$ans4552 = $exn4301.ans;\n$elidedFrames4555 = $exn4301.elidedFrames;\nexn4301 = $exn4301.args[0];\nexn$thunk$val4311 = $exn4301.vars[0];\ncases4313 = $exn4301.vars[1];\n} else {\nvar exn4301 = $exn4301;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4552 = R.mC();\n}\nwhile(!R.isContinuation($ans4552)) {\nswitch($step4551) {\ncase 0: $step4551 = 1;\n$al4553 = L[1715];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 1: var anf_arg4304 = $ans4552;\n$step4551 = 2;\n$al4553 = L[1714];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4552 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg4304);\nbreak;\ncase 2: var anf_if4339 = $ans4552;\n$step4551 = R.checkPyretTrue(anf_if4339)?3:5;\nbreak;\ncase 3: $step4551 = 4;\n$al4553 = L[1712];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 4: var anf_bracket4338 = $ans4552;\n$step4551 = 6;\n$al4553 = L[1711];\n$ans4552 = G(anf_bracket4338,\"value\",L[1711]);\nbreak;\ncase 5: $step4551 = 6;\n$al4553 = L[1713];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,exn$unwrap2);\n}\n$ans4552 = exn$unwrap2.app(exn4301);\nbreak;\ncase 6: var exn$thunk$val4311 = $ans4552;\nvar $temp_lam4557 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1697($$resumer13) {\nvar $step4556 = 0;\nvar $elidedFrames4561 = 0;\nvar $ans4558 = D;\nvar $al4559 = L[1697];\nif(R.isAR($$resumer13)) {\n$step4556 = $$resumer13.step;\n$al4559 = $$resumer13.from;\n$ans4558 = $$resumer13.ans;\n$elidedFrames4561 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1697],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4558 = R.mC();\n}\nwhile(!R.isContinuation($ans4558)) {\nswitch($step4556) {\ncase 0: $step4556 = 1;\n$al4559 = L[1698];\nif(typeof(pred4260.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4559,pred4260);\n}\n$ans4558 = pred4260.app(exn$thunk$val4311);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4558;\ndefault: R.ffi.throwSpinnakerError(L[1697],$step4556);\n}\n}\nif($step4556 !== 1) {\n$ans4558.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4559,$temp_lam4557,$step4556,[],[],$elidedFrames4561);\n}\nreturn $ans4558;\n};\nvar anf_arg1749 = R.mF($temp_lam4557,\"\");\n$step4551 = 7;\n$al4553 = L[1710];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4553,run$task1);\n}\n$ans4552 = run$task1.app(anf_arg1749);\nbreak;\ncase 7: var cases4313 = $ans4552;\n$step4551 = 8;\n$al4553 = L[1709];\nvar $ann$check4578 = R._cA(L[1709],R.gDA(L[1709],\"either\",either20.dict.types,\"Either\"),cases4313);\nif(R.isContinuation($ann$check4578)) {\n$ans4552 = $ann$check4578;\n}\nbreak;\ncase 8: $al4553 = L[1704];\n$step4551 = $cases_dispatch4577[cases4313.$name] || 11;\nbreak;\ncase 9: if(cases4313.$arity !== 1) {\nif(cases4313.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1703],1,cases4313.$arity,L[1704],cases4313.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1703],true,L[1704],cases4313.$loc);\n}\n}\n$step4551 = 12;\n$al4553 = L[1703];\nvar $temp_branch4563 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1704($exn4314) {\nvar $step4564 = 0;\nvar $elidedFrames4568 = 0;\nvar $ans4565 = D;\nvar $al4566 = L[1702];\nif(R.isAR($exn4314)) {\n$step4564 = $exn4314.step;\n$al4566 = $exn4314.from;\n$ans4565 = $exn4314.ans;\n$elidedFrames4568 = $exn4314.elidedFrames;\nexn4314 = $exn4314.args[0];\nexn$v4315 = $exn4314.vars[0];\n} else {\nvar exn4314 = $exn4314;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4565 = R.mC();\n}\nwhile(!R.isContinuation($ans4565)) {\nswitch($step4564) {\ncase 0: $step4564 = 1;\n$al4566 = L[1701];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,exn$unwrap2);\n}\n$ans4565 = exn$unwrap2.app(exn4314);\nbreak;\ncase 1: var exn$v4315 = $ans4565;\n$step4564 = 2;\n$al4566 = L[1700];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4565 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4315);\nbreak;\ncase 2: var anf_if4317 = $ans4565;\n$step4564 = R.checkPyretTrue(anf_if4317)?3:4;\nbreak;\ncase 3: $step4564 = 6;\n$ans4565 = (true);\nbreak;\ncase 4: $step4564 = 5;\n$al4566 = L[1699];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4566,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4565 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4315);\nbreak;\ncase 5: var anf_arg1753 = $ans4565;\n$ans4565 = R.checkWrapBoolean(anf_arg1753);\n$step4564 = 6;\nbreak;\ncase 6: var anf_if4316 = $ans4565;\n$step4564 = R.checkPyretTrue(anf_if4316)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4565 = error$not$pred2676.$var.app(loc4262,pred4260,(1));\n$step4564 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4565 = failure$exn2656.$var.app(loc4262,exn4314,on$right260.$var);\n$step4564 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4565;\ndefault: R.ffi.throwSpinnakerError(L[1702],$step4564);\n}\n}\nif($step4564 !== 9) {\n$ans4565.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4566,$temp_branch4563,$step4564,[exn4314],[exn$v4315],$elidedFrames4568);\n}\nreturn $ans4565;\n};\n$ans4552 = cases4313.$app_fields($temp_branch4563,[false]);\nbreak;\ncase 10: if(cases4313.$arity !== 1) {\nif(cases4313.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1708],1,cases4313.$arity,L[1704],cases4313.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1708],true,L[1704],cases4313.$loc);\n}\n}\n$step4551 = 12;\n$al4553 = L[1708];\nvar $temp_branch4570 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1704($pred$thunk$result4326) {\nvar $step4571 = 0;\nvar $elidedFrames4575 = 0;\nvar $ans4572 = D;\nvar $al4573 = L[1707];\nif(R.isAR($pred$thunk$result4326)) {\n$step4571 = $pred$thunk$result4326.step;\n$al4573 = $pred$thunk$result4326.from;\n$ans4572 = $pred$thunk$result4326.ans;\n$elidedFrames4575 = $pred$thunk$result4326.elidedFrames;\npred$thunk$result4326 = $pred$thunk$result4326.args[0];\n} else {\nvar pred$thunk$result4326 = $pred$thunk$result4326;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4572 = R.mC();\n}\nwhile(!R.isContinuation($ans4572)) {\nswitch($step4571) {\ncase 0: // caller optimization;\n$ans4572 = is$boolean2.app(pred$thunk$result4326);\nvar anf_arg1754 = $ans4572;\n$step4571 = 1;\n$al4573 = L[1706];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4573,not5);\n}\n$ans4572 = not5.app(anf_arg1754);\nbreak;\ncase 1: var anf_if4328 = $ans4572;\n$step4571 = R.checkPyretTrue(anf_if4328)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4572 = error$not$boolean$pred2680.$var.app(loc4262,pred4260,exn$thunk$val4311,on$left256.$var,pred$thunk$result4326);\n$step4571 = 7;\nbreak;\ncase 3: $step4571 = 4;\n$al4573 = L[1705];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4573,not5);\n}\n$ans4572 = not5.app(pred$thunk$result4326);\nbreak;\ncase 4: var anf_if4327 = $ans4572;\n$step4571 = R.checkPyretTrue(anf_if4327)?5:6;\nbreak;\ncase 5: // caller optimization;\n$ans4572 = failure$raise$not$satisfied2664.$var.app(loc4262,exn4301,on$left256.$var,pred4260);\n$step4571 = 7;\nbreak;\ncase 6: // caller optimization;\n$ans4572 = success2624.$var.app(loc4262);\n$step4571 = 7;\nbreak;\ncase 7: ++R.GAS;\nreturn $ans4572;\ndefault: R.ffi.throwSpinnakerError(L[1707],$step4571);\n}\n}\nif($step4571 !== 7) {\n$ans4572.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4573,$temp_branch4570,$step4571,[pred$thunk$result4326],[],$elidedFrames4575);\n}\nreturn $ans4572;\n};\n$ans4552 = cases4313.$app_fields($temp_branch4570,[false]);\nbreak;\ncase 11: $ans4552 = R.throwNoCasesMatched(L[1704],cases4313);\n$step4551 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4552;\ndefault: R.ffi.throwSpinnakerError(L[1715],$step4551);\n}\n}\nif($step4551 !== 12) {\n$ans4552.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4553,$temp_branch4550,$step4551,[exn4301],[exn$thunk$val4311,cases4313],$elidedFrames4555);\n}\nreturn $ans4552;\n};\n$ans4521 = cases4297.$app_fields($temp_branch4550,[false]);\nbreak;\ncase 11: $ans4521 = R.throwNoCasesMatched(L[1696],cases4297);\n$step4520 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4521;\ndefault: R.ffi.throwSpinnakerError(L[1721],$step4520);\n}\n}\nif($step4520 !== 12) {\n$ans4521.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4522,$temp_branch4519,$step4520,[pred$cause$result4295],[cases4297],$elidedFrames4524);\n}\nreturn $ans4521;\n};\n$ans4444 = cases4283.$app_fields($temp_branch4519,[false]);\nbreak;\ncase 11: $ans4444 = R.throwNoCasesMatched(L[1694],cases4283);\n$step4443 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4444;\ndefault: R.ffi.throwSpinnakerError(L[1729],$step4443);\n}\n}\nif($step4443 !== 12) {\n$ans4444.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4445,$temp_branch4442,$step4443,[exn4271],[cases4283,exn$cause$val4281],$elidedFrames4447);\n}\nreturn $ans4444;\n};\n$ans4263 = cases4267.$app_fields($temp_branch4442,[false]);\nbreak;\ncase 5: $ans4263 = R.throwNoCasesMatched(L[1686],cases4267);\n$step4256 = 6;\nbreak;\ncase 6: var anf_arg1783 = $ans4263;\n$step4256 = 7;\n$al4264 = L[1684];\n// omitting isFunction check;\n$ans4263 = add$result2718.$var.app(anf_arg1783);\nbreak;\ncase 7: $step4256 = 8;\n$ans4263 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4263;\ndefault: R.ffi.throwSpinnakerError(L[1683],$step4256);\n}\n}\nif($step4256 !== 8) {\n$ans4263.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4264,$temp_full4257,$step4256,[self4258,thunk4259,pred4260,cause4261,loc4262],[cases4267],$elidedFrames4266);\n}\nreturn $ans4263;\n};\nvar anf_obj5056 = R.makeMethod4($temp_full4257,\"check-raises-satisfies-cause\");\nvar $temp_full4590 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1733($self4591,$thunk4592,$pred4593,$loc4594) {\nvar $step4589 = 0;\nvar $elidedFrames4598 = 0;\nvar $ans4595 = D;\nvar $al4596 = L[1733];\nif(R.isAR($self4591)) {\n$step4589 = $self4591.step;\n$al4596 = $self4591.from;\n$ans4595 = $self4591.ans;\n$elidedFrames4598 = $self4591.elidedFrames;\nself4591 = $self4591.args[0];\nthunk4592 = $self4591.args[1];\npred4593 = $self4591.args[2];\nloc4594 = $self4591.args[3];\ncases4599 = $self4591.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1733],4,$t,true);\n}\nvar self4591 = $self4591;\nvar thunk4592 = $thunk4592;\nvar pred4593 = $pred4593;\nvar loc4594 = $loc4594;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4595 = R.mC();\n}\nwhile(!R.isContinuation($ans4595)) {\nswitch($step4589) {\ncase 0: $step4589 = 1;\n$al4596 = L[1757];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4596,run$task1);\n}\n$ans4595 = run$task1.app(thunk4592);\nbreak;\ncase 1: var cases4599 = $ans4595;\n$step4589 = 2;\n$al4596 = L[1756];\nvar $ann$check4671 = R._cA(L[1756],R.gDA(L[1756],\"either\",either20.dict.types,\"Either\"),cases4599);\nif(R.isContinuation($ann$check4671)) {\n$ans4595 = $ann$check4671;\n}\nbreak;\ncase 2: $al4596 = L[1736];\n$step4589 = $cases_dispatch4670[cases4599.$name] || 5;\nbreak;\ncase 3: if(cases4599.$arity !== 1) {\nif(cases4599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1735],1,cases4599.$arity,L[1736],cases4599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1735],true,L[1736],cases4599.$loc);\n}\n}\nvar $fn4601 = cases4599.$constructor.$fieldNames;\nR.dF(cases4599.dict[$fn4601[0]],cases4599.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4595 = failure$no$exn2660.$var.app(loc4594,none14,on$left256.$var,(true));\n$step4589 = 6;\nbreak;\ncase 4: if(cases4599.$arity !== 1) {\nif(cases4599.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1755],1,cases4599.$arity,L[1736],cases4599.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1755],true,L[1736],cases4599.$loc);\n}\n}\n$step4589 = 6;\n$al4596 = L[1755];\nvar $temp_branch4639 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1736($exn4603) {\nvar $step4640 = 0;\nvar $elidedFrames4644 = 0;\nvar $ans4641 = D;\nvar $al4642 = L[1754];\nif(R.isAR($exn4603)) {\n$step4640 = $exn4603.step;\n$al4642 = $exn4603.from;\n$ans4641 = $exn4603.ans;\n$elidedFrames4644 = $exn4603.elidedFrames;\nexn4603 = $exn4603.args[0];\ncases4613 = $exn4603.vars[0];\nexn$val4611 = $exn4603.vars[1];\n} else {\nvar exn4603 = $exn4603;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4641 = R.mC();\n}\nwhile(!R.isContinuation($ans4641)) {\nswitch($step4640) {\ncase 0: $step4640 = 1;\n$al4642 = L[1754];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 1: var anf_arg1784 = $ans4641;\n$step4640 = 2;\n$al4642 = L[1753];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4641 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1784);\nbreak;\ncase 2: var anf_if4638 = $ans4641;\n$step4640 = R.checkPyretTrue(anf_if4638)?3:5;\nbreak;\ncase 3: $step4640 = 4;\n$al4642 = L[1751];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 4: var anf_bracket4637 = $ans4641;\n$step4640 = 6;\n$al4642 = L[1750];\n$ans4641 = G(anf_bracket4637,\"value\",L[1750]);\nbreak;\ncase 5: $step4640 = 6;\n$al4642 = L[1752];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,exn$unwrap2);\n}\n$ans4641 = exn$unwrap2.app(exn4603);\nbreak;\ncase 6: var exn$val4611 = $ans4641;\nvar $temp_lam4646 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1737($$resumer13) {\nvar $step4645 = 0;\nvar $elidedFrames4650 = 0;\nvar $ans4647 = D;\nvar $al4648 = L[1737];\nif(R.isAR($$resumer13)) {\n$step4645 = $$resumer13.step;\n$al4648 = $$resumer13.from;\n$ans4647 = $$resumer13.ans;\n$elidedFrames4650 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1737],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4647 = R.mC();\n}\nwhile(!R.isContinuation($ans4647)) {\nswitch($step4645) {\ncase 0: $step4645 = 1;\n$al4648 = L[1738];\nif(typeof(pred4593.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4648,pred4593);\n}\n$ans4647 = pred4593.app(exn$val4611);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4647;\ndefault: R.ffi.throwSpinnakerError(L[1737],$step4645);\n}\n}\nif($step4645 !== 1) {\n$ans4647.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4648,$temp_lam4646,$step4645,[],[],$elidedFrames4650);\n}\nreturn $ans4647;\n};\nvar anf_arg1786 = R.mF($temp_lam4646,\"\");\n$step4640 = 7;\n$al4642 = L[1749];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4642,run$task1);\n}\n$ans4641 = run$task1.app(anf_arg1786);\nbreak;\ncase 7: var cases4613 = $ans4641;\n$step4640 = 8;\n$al4642 = L[1748];\nvar $ann$check4668 = R._cA(L[1748],R.gDA(L[1748],\"either\",either20.dict.types,\"Either\"),cases4613);\nif(R.isContinuation($ann$check4668)) {\n$ans4641 = $ann$check4668;\n}\nbreak;\ncase 8: $al4642 = L[1744];\n$step4640 = $cases_dispatch4667[cases4613.$name] || 11;\nbreak;\ncase 9: if(cases4613.$arity !== 1) {\nif(cases4613.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1743],1,cases4613.$arity,L[1744],cases4613.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1743],true,L[1744],cases4613.$loc);\n}\n}\n$step4640 = 12;\n$al4642 = L[1743];\nvar $temp_branch4652 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1744($exn4614) {\nvar $step4654 = 0;\nvar $elidedFrames4658 = 0;\nvar $ans4655 = D;\nvar $al4656 = L[1742];\nif(R.isAR($exn4614)) {\n$step4654 = $exn4614.step;\n$al4656 = $exn4614.from;\n$ans4655 = $exn4614.ans;\n$elidedFrames4658 = $exn4614.elidedFrames;\nexn4614 = $exn4614.args[0];\nexn$v4615 = $exn4614.vars[0];\n} else {\nvar exn4614 = $exn4614;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4655 = R.mC();\n}\nwhile(!R.isContinuation($ans4655)) {\nswitch($step4654) {\ncase 0: $step4654 = 1;\n$al4656 = L[1741];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,exn$unwrap2);\n}\n$ans4655 = exn$unwrap2.app(exn4614);\nbreak;\ncase 1: var exn$v4615 = $ans4655;\n$step4654 = 2;\n$al4656 = L[1740];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4655 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4615);\nbreak;\ncase 2: var anf_if4617 = $ans4655;\n$step4654 = R.checkPyretTrue(anf_if4617)?3:4;\nbreak;\ncase 3: $step4654 = 6;\n$ans4655 = (true);\nbreak;\ncase 4: $step4654 = 5;\n$al4656 = L[1739];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4656,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4655 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4615);\nbreak;\ncase 5: var anf_arg1787 = $ans4655;\n$ans4655 = R.checkWrapBoolean(anf_arg1787);\n$step4654 = 6;\nbreak;\ncase 6: var anf_if4616 = $ans4655;\n$step4654 = R.checkPyretTrue(anf_if4616)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4655 = error$not$pred2676.$var.app(loc4594,pred4593,(1));\n$step4654 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4655 = failure$exn2656.$var.app(loc4594,exn4614,on$right260.$var);\n$step4654 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4655;\ndefault: R.ffi.throwSpinnakerError(L[1742],$step4654);\n}\n}\nif($step4654 !== 9) {\n$ans4655.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4656,$temp_branch4652,$step4654,[exn4614],[exn$v4615],$elidedFrames4658);\n}\nreturn $ans4655;\n};\n$ans4641 = cases4613.$app_fields($temp_branch4652,[false]);\nbreak;\ncase 10: if(cases4613.$arity !== 1) {\nif(cases4613.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1747],1,cases4613.$arity,L[1744],cases4613.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1747],true,L[1744],cases4613.$loc);\n}\n}\n$step4640 = 12;\n$al4642 = L[1747];\nvar $temp_branch4660 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1744($pred$result4625) {\nvar $step4661 = 0;\nvar $elidedFrames4665 = 0;\nvar $ans4662 = D;\nvar $al4663 = L[1746];\nif(R.isAR($pred$result4625)) {\n$step4661 = $pred$result4625.step;\n$al4663 = $pred$result4625.from;\n$ans4662 = $pred$result4625.ans;\n$elidedFrames4665 = $pred$result4625.elidedFrames;\npred$result4625 = $pred$result4625.args[0];\n} else {\nvar pred$result4625 = $pred$result4625;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4662 = R.mC();\n}\nwhile(!R.isContinuation($ans4662)) {\nswitch($step4661) {\ncase 0: // caller optimization;\n$ans4662 = is$boolean2.app(pred$result4625);\nvar anf_arg4626 = $ans4662;\n$step4661 = 1;\n$al4663 = L[1745];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4663,not5);\n}\n$ans4662 = not5.app(anf_arg4626);\nbreak;\ncase 1: var anf_if4627 = $ans4662;\n$step4661 = R.checkPyretTrue(anf_if4627)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4662 = error$not$boolean$pred2680.$var.app(loc4594,pred4593,exn$val4611,on$left256.$var,pred$result4625);\n$step4661 = 6;\nbreak;\ncase 3: $step4661 = R.checkPyretTrue(pred$result4625)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4662 = failure$raise$not$dissatisfied2668.$var.app(loc4594,exn4603,on$left256.$var,pred4593);\n$step4661 = 6;\nbreak;\ncase 5: // caller optimization;\n$ans4662 = success2624.$var.app(loc4594);\n$step4661 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4662;\ndefault: R.ffi.throwSpinnakerError(L[1746],$step4661);\n}\n}\nif($step4661 !== 6) {\n$ans4662.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4663,$temp_branch4660,$step4661,[pred$result4625],[],$elidedFrames4665);\n}\nreturn $ans4662;\n};\n$ans4641 = cases4613.$app_fields($temp_branch4660,[false]);\nbreak;\ncase 11: $ans4641 = R.throwNoCasesMatched(L[1744],cases4613);\n$step4640 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4641;\ndefault: R.ffi.throwSpinnakerError(L[1754],$step4640);\n}\n}\nif($step4640 !== 12) {\n$ans4641.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4642,$temp_branch4639,$step4640,[exn4603],[cases4613,exn$val4611],$elidedFrames4644);\n}\nreturn $ans4641;\n};\n$ans4595 = cases4599.$app_fields($temp_branch4639,[false]);\nbreak;\ncase 5: $ans4595 = R.throwNoCasesMatched(L[1736],cases4599);\n$step4589 = 6;\nbreak;\ncase 6: var anf_arg1807 = $ans4595;\n$step4589 = 7;\n$al4596 = L[1734];\n// omitting isFunction check;\n$ans4595 = add$result2718.$var.app(anf_arg1807);\nbreak;\ncase 7: $step4589 = 8;\n$ans4595 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4595;\ndefault: R.ffi.throwSpinnakerError(L[1733],$step4589);\n}\n}\nif($step4589 !== 8) {\n$ans4595.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4596,$temp_full4590,$step4589,[self4591,thunk4592,pred4593,loc4594],[cases4599],$elidedFrames4598);\n}\nreturn $ans4595;\n};\nvar anf_obj5057 = R.makeMethod3($temp_full4590,\"check-raises-violates\");\nvar $temp_full4674 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1758($self4675,$thunk4676,$pred4677,$cause4678,$loc4679) {\nvar $step4673 = 0;\nvar $elidedFrames4683 = 0;\nvar $ans4680 = D;\nvar $al4681 = L[1758];\nif(R.isAR($self4675)) {\n$step4673 = $self4675.step;\n$al4681 = $self4675.from;\n$ans4680 = $self4675.ans;\n$elidedFrames4683 = $self4675.elidedFrames;\nself4675 = $self4675.args[0];\nthunk4676 = $self4675.args[1];\npred4677 = $self4675.args[2];\ncause4678 = $self4675.args[3];\nloc4679 = $self4675.args[4];\ncases4684 = $self4675.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1758],5,$t,true);\n}\nvar self4675 = $self4675;\nvar thunk4676 = $thunk4676;\nvar pred4677 = $pred4677;\nvar cause4678 = $cause4678;\nvar loc4679 = $loc4679;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4680 = R.mC();\n}\nwhile(!R.isContinuation($ans4680)) {\nswitch($step4673) {\ncase 0: $step4673 = 1;\n$al4681 = L[1805];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4681,run$task1);\n}\n$ans4680 = run$task1.app(cause4678);\nbreak;\ncase 1: var cases4684 = $ans4680;\n$step4673 = 2;\n$al4681 = L[1804];\nvar $ann$check5000 = R._cA(L[1804],R.gDA(L[1804],\"either\",either20.dict.types,\"Either\"),cases4684);\nif(R.isContinuation($ann$check5000)) {\n$ans4680 = $ann$check5000;\n}\nbreak;\ncase 2: $al4681 = L[1761];\n$step4673 = $cases_dispatch4999[cases4684.$name] || 5;\nbreak;\ncase 3: if(cases4684.$arity !== 1) {\nif(cases4684.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1760],1,cases4684.$arity,L[1761],cases4684.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1760],true,L[1761],cases4684.$loc);\n}\n}\nvar $fn4686 = cases4684.$constructor.$fieldNames;\nR.dF(cases4684.dict[$fn4686[0]],cases4684.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4680 = failure$no$exn2660.$var.app(loc4679,none14,on$cause267.$var,(true));\n$step4673 = 6;\nbreak;\ncase 4: if(cases4684.$arity !== 1) {\nif(cases4684.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1803],1,cases4684.$arity,L[1761],cases4684.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1803],true,L[1761],cases4684.$loc);\n}\n}\n$step4673 = 6;\n$al4681 = L[1803];\nvar $temp_branch4854 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1761($exn4688) {\nvar $step4855 = 0;\nvar $elidedFrames4859 = 0;\nvar $ans4856 = D;\nvar $al4857 = L[1802];\nif(R.isAR($exn4688)) {\n$step4855 = $exn4688.step;\n$al4857 = $exn4688.from;\n$ans4856 = $exn4688.ans;\n$elidedFrames4859 = $exn4688.elidedFrames;\nexn4688 = $exn4688.args[0];\ncases4697 = $exn4688.vars[0];\nexn$cause$val4695 = $exn4688.vars[1];\n} else {\nvar exn4688 = $exn4688;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4856 = R.mC();\n}\nwhile(!R.isContinuation($ans4856)) {\nswitch($step4855) {\ncase 0: $step4855 = 1;\n$al4857 = L[1802];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 1: var anf_arg1804 = $ans4856;\n$step4855 = 2;\n$al4857 = L[1801];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4856 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1804);\nbreak;\ncase 2: var anf_if4853 = $ans4856;\n$step4855 = R.checkPyretTrue(anf_if4853)?3:5;\nbreak;\ncase 3: $step4855 = 4;\n$al4857 = L[1799];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 4: var anf_bracket4852 = $ans4856;\n$step4855 = 6;\n$al4857 = L[1798];\n$ans4856 = G(anf_bracket4852,\"value\",L[1798]);\nbreak;\ncase 5: $step4855 = 6;\n$al4857 = L[1800];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,exn$unwrap2);\n}\n$ans4856 = exn$unwrap2.app(exn4688);\nbreak;\ncase 6: var exn$cause$val4695 = $ans4856;\nvar $temp_lam4861 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1762($$resumer13) {\nvar $step4860 = 0;\nvar $elidedFrames4865 = 0;\nvar $ans4862 = D;\nvar $al4863 = L[1762];\nif(R.isAR($$resumer13)) {\n$step4860 = $$resumer13.step;\n$al4863 = $$resumer13.from;\n$ans4862 = $$resumer13.ans;\n$elidedFrames4865 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1762],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4862 = R.mC();\n}\nwhile(!R.isContinuation($ans4862)) {\nswitch($step4860) {\ncase 0: $step4860 = 1;\n$al4863 = L[1763];\nif(typeof(pred4677.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4863,pred4677);\n}\n$ans4862 = pred4677.app(exn$cause$val4695);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4862;\ndefault: R.ffi.throwSpinnakerError(L[1762],$step4860);\n}\n}\nif($step4860 !== 1) {\n$ans4862.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4863,$temp_lam4861,$step4860,[],[],$elidedFrames4865);\n}\nreturn $ans4862;\n};\nvar anf_arg1809 = R.mF($temp_lam4861,\"\");\n$step4855 = 7;\n$al4857 = L[1797];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4857,run$task1);\n}\n$ans4856 = run$task1.app(anf_arg1809);\nbreak;\ncase 7: var cases4697 = $ans4856;\n$step4855 = 8;\n$al4857 = L[1796];\nvar $ann$check4997 = R._cA(L[1796],R.gDA(L[1796],\"either\",either20.dict.types,\"Either\"),cases4697);\nif(R.isContinuation($ann$check4997)) {\n$ans4856 = $ann$check4997;\n}\nbreak;\ncase 8: $al4857 = L[1769];\n$step4855 = $cases_dispatch4996[cases4697.$name] || 11;\nbreak;\ncase 9: if(cases4697.$arity !== 1) {\nif(cases4697.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1768],1,cases4697.$arity,L[1769],cases4697.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1768],true,L[1769],cases4697.$loc);\n}\n}\n$step4855 = 12;\n$al4857 = L[1768];\nvar $temp_branch4867 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1769($exn4698) {\nvar $step4868 = 0;\nvar $elidedFrames4872 = 0;\nvar $ans4869 = D;\nvar $al4870 = L[1767];\nif(R.isAR($exn4698)) {\n$step4868 = $exn4698.step;\n$al4870 = $exn4698.from;\n$ans4869 = $exn4698.ans;\n$elidedFrames4872 = $exn4698.elidedFrames;\nexn4698 = $exn4698.args[0];\nexn$v4699 = $exn4698.vars[0];\n} else {\nvar exn4698 = $exn4698;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4869 = R.mC();\n}\nwhile(!R.isContinuation($ans4869)) {\nswitch($step4868) {\ncase 0: $step4868 = 1;\n$al4870 = L[1766];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,exn$unwrap2);\n}\n$ans4869 = exn$unwrap2.app(exn4698);\nbreak;\ncase 1: var exn$v4699 = $ans4869;\n$step4868 = 2;\n$al4870 = L[1765];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4869 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4699);\nbreak;\ncase 2: var anf_if4702 = $ans4869;\n$step4868 = R.checkPyretTrue(anf_if4702)?3:4;\nbreak;\ncase 3: $step4868 = 6;\n$ans4869 = (true);\nbreak;\ncase 4: $step4868 = 5;\n$al4870 = L[1764];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4870,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4869 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4699);\nbreak;\ncase 5: var anf_arg4701 = $ans4869;\n$ans4869 = R.checkWrapBoolean(anf_arg4701);\n$step4868 = 6;\nbreak;\ncase 6: var anf_if4700 = $ans4869;\n$step4868 = R.checkPyretTrue(anf_if4700)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4869 = error$not$pred2676.$var.app(loc4679,pred4677,(1));\n$step4868 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4869 = failure$exn2656.$var.app(loc4679,exn4698,on$right260.$var);\n$step4868 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4869;\ndefault: R.ffi.throwSpinnakerError(L[1767],$step4868);\n}\n}\nif($step4868 !== 9) {\n$ans4869.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4870,$temp_branch4867,$step4868,[exn4698],[exn$v4699],$elidedFrames4872);\n}\nreturn $ans4869;\n};\n$ans4856 = cases4697.$app_fields($temp_branch4867,[false]);\nbreak;\ncase 10: if(cases4697.$arity !== 1) {\nif(cases4697.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1795],1,cases4697.$arity,L[1769],cases4697.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1795],true,L[1769],cases4697.$loc);\n}\n}\n$step4855 = 12;\n$al4857 = L[1795];\nvar $temp_branch4931 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1769($pred$cause$result4710) {\nvar $step4933 = 0;\nvar $elidedFrames4937 = 0;\nvar $ans4934 = D;\nvar $al4935 = L[1794];\nif(R.isAR($pred$cause$result4710)) {\n$step4933 = $pred$cause$result4710.step;\n$al4935 = $pred$cause$result4710.from;\n$ans4934 = $pred$cause$result4710.ans;\n$elidedFrames4937 = $pred$cause$result4710.elidedFrames;\npred$cause$result4710 = $pred$cause$result4710.args[0];\ncases4711 = $pred$cause$result4710.vars[0];\n} else {\nvar pred$cause$result4710 = $pred$cause$result4710;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4934 = R.mC();\n}\nwhile(!R.isContinuation($ans4934)) {\nswitch($step4933) {\ncase 0: // caller optimization;\n$ans4934 = is$boolean2.app(pred$cause$result4710);\nvar anf_arg1825 = $ans4934;\n$step4933 = 1;\n$al4935 = L[1793];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4935,not5);\n}\n$ans4934 = not5.app(anf_arg1825);\nbreak;\ncase 1: var anf_if4783 = $ans4934;\n$step4933 = R.checkPyretTrue(anf_if4783)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4934 = error$not$boolean$pred2680.$var.app(loc4679,pred4677,exn$cause$val4695,on$cause267.$var,pred$cause$result4710);\n$step4933 = 11;\nbreak;\ncase 3: $step4933 = R.checkPyretTrue(pred$cause$result4710)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4934 = failure$raise$not$dissatisfied2668.$var.app(loc4679,exn4688,on$cause267.$var,pred4677);\n$step4933 = 11;\nbreak;\ncase 5: $step4933 = 6;\n$al4935 = L[1792];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4935,run$task1);\n}\n$ans4934 = run$task1.app(thunk4676);\nbreak;\ncase 6: var cases4711 = $ans4934;\n$step4933 = 7;\n$al4935 = L[1791];\nvar $ann$check4994 = R._cA(L[1791],R.gDA(L[1791],\"either\",either20.dict.types,\"Either\"),cases4711);\nif(R.isContinuation($ann$check4994)) {\n$ans4934 = $ann$check4994;\n}\nbreak;\ncase 7: $al4935 = L[1771];\n$step4933 = $cases_dispatch4993[cases4711.$name] || 10;\nbreak;\ncase 8: if(cases4711.$arity !== 1) {\nif(cases4711.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1770],1,cases4711.$arity,L[1771],cases4711.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1770],true,L[1771],cases4711.$loc);\n}\n}\nvar $fn4939 = cases4711.$constructor.$fieldNames;\nR.dF(cases4711.dict[$fn4939[0]],cases4711.$mut_fields_mask[0],false);\n// caller optimization;\n$ans4934 = failure$no$exn2660.$var.app(loc4679,none14,on$left256.$var,(true));\n$step4933 = 11;\nbreak;\ncase 9: if(cases4711.$arity !== 1) {\nif(cases4711.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1790],1,cases4711.$arity,L[1771],cases4711.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1790],true,L[1771],cases4711.$loc);\n}\n}\n$step4933 = 11;\n$al4935 = L[1790];\nvar $temp_branch4963 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1771($exn4715) {\nvar $step4964 = 0;\nvar $elidedFrames4968 = 0;\nvar $ans4965 = D;\nvar $al4966 = L[1789];\nif(R.isAR($exn4715)) {\n$step4964 = $exn4715.step;\n$al4966 = $exn4715.from;\n$ans4965 = $exn4715.ans;\n$elidedFrames4968 = $exn4715.elidedFrames;\nexn4715 = $exn4715.args[0];\nexn$thunk$val4722 = $exn4715.vars[0];\ncases4724 = $exn4715.vars[1];\n} else {\nvar exn4715 = $exn4715;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4965 = R.mC();\n}\nwhile(!R.isContinuation($ans4965)) {\nswitch($step4964) {\ncase 0: $step4964 = 1;\n$al4966 = L[1789];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 1: var anf_arg1822 = $ans4965;\n$step4964 = 2;\n$al4966 = L[1788];\nif(typeof(E22.dict.values.dict[\"is-user-exception\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,E22.dict.values.dict[\"is-user-exception\"]);\n}\n$ans4965 = E22.dict.values.dict[\"is-user-exception\"].app(anf_arg1822);\nbreak;\ncase 2: var anf_if4749 = $ans4965;\n$step4964 = R.checkPyretTrue(anf_if4749)?3:5;\nbreak;\ncase 3: $step4964 = 4;\n$al4966 = L[1786];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 4: var anf_bracket4748 = $ans4965;\n$step4964 = 6;\n$al4966 = L[1785];\n$ans4965 = G(anf_bracket4748,\"value\",L[1785]);\nbreak;\ncase 5: $step4964 = 6;\n$al4966 = L[1787];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,exn$unwrap2);\n}\n$ans4965 = exn$unwrap2.app(exn4715);\nbreak;\ncase 6: var exn$thunk$val4722 = $ans4965;\nvar $temp_lam4970 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1772($$resumer13) {\nvar $step4969 = 0;\nvar $elidedFrames4974 = 0;\nvar $ans4971 = D;\nvar $al4972 = L[1772];\nif(R.isAR($$resumer13)) {\n$step4969 = $$resumer13.step;\n$al4972 = $$resumer13.from;\n$ans4971 = $$resumer13.ans;\n$elidedFrames4974 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1772],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4971 = R.mC();\n}\nwhile(!R.isContinuation($ans4971)) {\nswitch($step4969) {\ncase 0: $step4969 = 1;\n$al4972 = L[1773];\nif(typeof(pred4677.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4972,pred4677);\n}\n$ans4971 = pred4677.app(exn$thunk$val4722);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans4971;\ndefault: R.ffi.throwSpinnakerError(L[1772],$step4969);\n}\n}\nif($step4969 !== 1) {\n$ans4971.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4972,$temp_lam4970,$step4969,[],[],$elidedFrames4974);\n}\nreturn $ans4971;\n};\nvar anf_arg1827 = R.mF($temp_lam4970,\"\");\n$step4964 = 7;\n$al4966 = L[1784];\nif(typeof(run$task1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4966,run$task1);\n}\n$ans4965 = run$task1.app(anf_arg1827);\nbreak;\ncase 7: var cases4724 = $ans4965;\n$step4964 = 8;\n$al4966 = L[1783];\nvar $ann$check4991 = R._cA(L[1783],R.gDA(L[1783],\"either\",either20.dict.types,\"Either\"),cases4724);\nif(R.isContinuation($ann$check4991)) {\n$ans4965 = $ann$check4991;\n}\nbreak;\ncase 8: $al4966 = L[1779];\n$step4964 = $cases_dispatch4990[cases4724.$name] || 11;\nbreak;\ncase 9: if(cases4724.$arity !== 1) {\nif(cases4724.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1778],1,cases4724.$arity,L[1779],cases4724.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1778],true,L[1779],cases4724.$loc);\n}\n}\n$step4964 = 12;\n$al4966 = L[1778];\nvar $temp_branch4976 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1779($exn4725) {\nvar $step4977 = 0;\nvar $elidedFrames4981 = 0;\nvar $ans4978 = D;\nvar $al4979 = L[1777];\nif(R.isAR($exn4725)) {\n$step4977 = $exn4725.step;\n$al4979 = $exn4725.from;\n$ans4978 = $exn4725.ans;\n$elidedFrames4981 = $exn4725.elidedFrames;\nexn4725 = $exn4725.args[0];\nexn$v4726 = $exn4725.vars[0];\n} else {\nvar exn4725 = $exn4725;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4978 = R.mC();\n}\nwhile(!R.isContinuation($ans4978)) {\nswitch($step4977) {\ncase 0: $step4977 = 1;\n$al4979 = L[1776];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,exn$unwrap2);\n}\n$ans4978 = exn$unwrap2.app(exn4725);\nbreak;\ncase 1: var exn$v4726 = $ans4978;\n$step4977 = 2;\n$al4979 = L[1775];\nif(typeof(E22.dict.values.dict[\"is-arity-mismatch\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,E22.dict.values.dict[\"is-arity-mismatch\"]);\n}\n$ans4978 = E22.dict.values.dict[\"is-arity-mismatch\"].app(exn$v4726);\nbreak;\ncase 2: var anf_if4728 = $ans4978;\n$step4977 = R.checkPyretTrue(anf_if4728)?3:4;\nbreak;\ncase 3: $step4977 = 6;\n$ans4978 = (true);\nbreak;\ncase 4: $step4977 = 5;\n$al4979 = L[1774];\nif(typeof(E22.dict.values.dict[\"is-non-function-app\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al4979,E22.dict.values.dict[\"is-non-function-app\"]);\n}\n$ans4978 = E22.dict.values.dict[\"is-non-function-app\"].app(exn$v4726);\nbreak;\ncase 5: var anf_arg4727 = $ans4978;\n$ans4978 = R.checkWrapBoolean(anf_arg4727);\n$step4977 = 6;\nbreak;\ncase 6: var anf_if1922 = $ans4978;\n$step4977 = R.checkPyretTrue(anf_if1922)?7:8;\nbreak;\ncase 7: // caller optimization;\n$ans4978 = error$not$pred2676.$var.app(loc4679,pred4677,(1));\n$step4977 = 9;\nbreak;\ncase 8: // caller optimization;\n$ans4978 = failure$exn2656.$var.app(loc4679,exn4725,on$right260.$var);\n$step4977 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans4978;\ndefault: R.ffi.throwSpinnakerError(L[1777],$step4977);\n}\n}\nif($step4977 !== 9) {\n$ans4978.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4979,$temp_branch4976,$step4977,[exn4725],[exn$v4726],$elidedFrames4981);\n}\nreturn $ans4978;\n};\n$ans4965 = cases4724.$app_fields($temp_branch4976,[false]);\nbreak;\ncase 10: if(cases4724.$arity !== 1) {\nif(cases4724.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1782],1,cases4724.$arity,L[1779],cases4724.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1782],true,L[1779],cases4724.$loc);\n}\n}\n$step4964 = 12;\n$al4966 = L[1782];\nvar $temp_branch4983 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1779($pred$thunk$result4736) {\nvar $step4984 = 0;\nvar $elidedFrames4988 = 0;\nvar $ans4985 = D;\nvar $al4986 = L[1781];\nif(R.isAR($pred$thunk$result4736)) {\n$step4984 = $pred$thunk$result4736.step;\n$al4986 = $pred$thunk$result4736.from;\n$ans4985 = $pred$thunk$result4736.ans;\n$elidedFrames4988 = $pred$thunk$result4736.elidedFrames;\npred$thunk$result4736 = $pred$thunk$result4736.args[0];\n} else {\nvar pred$thunk$result4736 = $pred$thunk$result4736;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans4985 = R.mC();\n}\nwhile(!R.isContinuation($ans4985)) {\nswitch($step4984) {\ncase 0: // caller optimization;\n$ans4985 = is$boolean2.app(pred$thunk$result4736);\nvar anf_arg4737 = $ans4985;\n$step4984 = 1;\n$al4986 = L[1780];\nif(typeof(not5.app) !== \"function\") {\nR.ffi.throwNonFunApp($al4986,not5);\n}\n$ans4985 = not5.app(anf_arg4737);\nbreak;\ncase 1: var anf_if4738 = $ans4985;\n$step4984 = R.checkPyretTrue(anf_if4738)?2:3;\nbreak;\ncase 2: // caller optimization;\n$ans4985 = error$not$boolean$pred2680.$var.app(loc4679,pred4677,exn$thunk$val4722,on$left256.$var,pred$thunk$result4736);\n$step4984 = 6;\nbreak;\ncase 3: $step4984 = R.checkPyretTrue(pred$thunk$result4736)?4:5;\nbreak;\ncase 4: // caller optimization;\n$ans4985 = failure$raise$not$dissatisfied2668.$var.app(loc4679,exn4715,on$left256.$var,pred4677);\n$step4984 = 6;\nbreak;\ncase 5: // caller optimization;\n$ans4985 = success2624.$var.app(loc4679);\n$step4984 = 6;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans4985;\ndefault: R.ffi.throwSpinnakerError(L[1781],$step4984);\n}\n}\nif($step4984 !== 6) {\n$ans4985.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4986,$temp_branch4983,$step4984,[pred$thunk$result4736],[],$elidedFrames4988);\n}\nreturn $ans4985;\n};\n$ans4965 = cases4724.$app_fields($temp_branch4983,[false]);\nbreak;\ncase 11: $ans4965 = R.throwNoCasesMatched(L[1779],cases4724);\n$step4964 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4965;\ndefault: R.ffi.throwSpinnakerError(L[1789],$step4964);\n}\n}\nif($step4964 !== 12) {\n$ans4965.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4966,$temp_branch4963,$step4964,[exn4715],[exn$thunk$val4722,cases4724],$elidedFrames4968);\n}\nreturn $ans4965;\n};\n$ans4934 = cases4711.$app_fields($temp_branch4963,[false]);\nbreak;\ncase 10: $ans4934 = R.throwNoCasesMatched(L[1771],cases4711);\n$step4933 = 11;\nbreak;\ncase 11: ++R.GAS;\nreturn $ans4934;\ndefault: R.ffi.throwSpinnakerError(L[1794],$step4933);\n}\n}\nif($step4933 !== 11) {\n$ans4934.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4935,$temp_branch4931,$step4933,[pred$cause$result4710],[cases4711],$elidedFrames4937);\n}\nreturn $ans4934;\n};\n$ans4856 = cases4697.$app_fields($temp_branch4931,[false]);\nbreak;\ncase 11: $ans4856 = R.throwNoCasesMatched(L[1769],cases4697);\n$step4855 = 12;\nbreak;\ncase 12: ++R.GAS;\nreturn $ans4856;\ndefault: R.ffi.throwSpinnakerError(L[1802],$step4855);\n}\n}\nif($step4855 !== 12) {\n$ans4856.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4857,$temp_branch4854,$step4855,[exn4688],[cases4697,exn$cause$val4695],$elidedFrames4859);\n}\nreturn $ans4856;\n};\n$ans4680 = cases4684.$app_fields($temp_branch4854,[false]);\nbreak;\ncase 5: $ans4680 = R.throwNoCasesMatched(L[1761],cases4684);\n$step4673 = 6;\nbreak;\ncase 6: var anf_arg1845 = $ans4680;\n$step4673 = 7;\n$al4681 = L[1759];\n// omitting isFunction check;\n$ans4680 = add$result2718.$var.app(anf_arg1845);\nbreak;\ncase 7: $step4673 = 8;\n$ans4680 = nothing2;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans4680;\ndefault: R.ffi.throwSpinnakerError(L[1758],$step4673);\n}\n}\nif($step4673 !== 8) {\n$ans4680.stack[R.EXN_STACKHEIGHT++] = R.mAR($al4681,$temp_full4674,$step4673,[self4675,thunk4676,pred4677,cause4678,loc4679],[cases4684],$elidedFrames4683);\n}\nreturn $ans4680;\n};\nvar anf_obj5058 = R.makeMethod4($temp_full4674,\"check-raises-violates-cause\");\nvar $temp_full5003 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1806($self5004) {\nvar $step5002 = 0;\nvar $elidedFrames5008 = 0;\nvar $ans5005 = D;\nvar $al5006 = L[1806];\nif(R.isAR($self5004)) {\n$step5002 = $self5004.step;\n$al5006 = $self5004.from;\n$ans5005 = $self5004.ans;\n$elidedFrames5008 = $self5004.elidedFrames;\nself5004 = $self5004.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1806],1,$t,true);\n}\nvar self5004 = $self5004;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5005 = R.mC();\n}\nwhile(!R.isContinuation($ans5005)) {\nswitch($step5002) {\ncase 0: var anf_fun5010 = results$summary5009.$var === D?U(L[1807],\"results-summary\"):results$summary5009.$var;\nvar anf_arg1846 = block$results2697.$var;\n$step5002 = 1;\n$al5006 = L[1808];\nif(typeof(anf_fun5010.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5006,anf_fun5010);\n}\n$ans5005 = anf_fun5010.app(anf_arg1846);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5005;\ndefault: R.ffi.throwSpinnakerError(L[1806],$step5002);\n}\n}\nif($step5002 !== 1) {\n$ans5005.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5006,$temp_full5003,$step5002,[self5004],[],$elidedFrames5008);\n}\nreturn $ans5005;\n};\nvar anf_obj5059 = R.makeMethod0($temp_full5003,\"summary\");\nvar $temp_full5013 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1809($self5014) {\nvar $step5012 = 0;\nvar $elidedFrames5018 = 0;\nvar $ans5015 = D;\nvar $al5016 = L[1809];\nif(R.isAR($self5014)) {\n$step5012 = $self5014.step;\n$al5016 = $self5014.from;\n$ans5015 = $self5014.ans;\n$elidedFrames5018 = $self5014.elidedFrames;\nself5014 = $self5014.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1809],1,$t,true);\n}\nvar self5014 = $self5014;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5015 = R.mC();\n}\nwhile(!R.isContinuation($ans5015)) {\nswitch($step5012) {\ncase 0: $step5012 = 1;\n$ans5015 = block$results2697.$var;\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5015;\ndefault: R.ffi.throwSpinnakerError(L[1809],$step5012);\n}\n}\nif($step5012 !== 1) {\n$ans5015.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5016,$temp_full5013,$step5012,[self5014],[],$elidedFrames5018);\n}\nreturn $ans5015;\n};\nvar anf_obj5060 = R.makeMethod0($temp_full5013,\"results\");\nvar $temp_full5021 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1810($self5022) {\nvar $step5020 = 0;\nvar $elidedFrames5027 = 0;\nvar $ans5024 = D;\nvar $al5025 = L[1810];\nif(R.isAR($self5022)) {\n$step5020 = $self5022.step;\n$al5025 = $self5022.from;\n$ans5024 = $self5022.ans;\n$elidedFrames5027 = $self5022.elidedFrames;\nself5022 = $self5022.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1810],1,$t,true);\n}\nvar self5022 = $self5022;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5024 = R.mC();\n}\nwhile(!R.isContinuation($ans5024)) {\nswitch($step5020) {\ncase 0: var anf_fun5029 = render$check$results5028.$var === D?U(L[1811],\"render-check-results\"):render$check$results5028.$var;\nvar anf_arg5030 = block$results2697.$var;\n$step5020 = 1;\n$al5025 = L[1812];\nif(typeof(anf_fun5029.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5025,anf_fun5029);\n}\n$ans5024 = anf_fun5029.app(anf_arg5030);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans5024;\ndefault: R.ffi.throwSpinnakerError(L[1810],$step5020);\n}\n}\nif($step5020 !== 1) {\n$ans5024.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5025,$temp_full5021,$step5020,[self5022],[],$elidedFrames5027);\n}\nreturn $ans5024;\n};\nvar anf_obj5061 = R.makeMethod0($temp_full5021,\"render\");\n$step2681 = 5;\n$ans2685 = R.mO({\"run-checks\":anf_obj5032,\n\"check-is\":anf_obj5033,\n\"check-is-cause\":anf_obj5034,\n\"check-is-roughly\":anf_obj5035,\n\"check-is-roughly-cause\":anf_obj5036,\n\"check-is-not\":anf_obj5037,\n\"check-is-not-cause\":anf_obj5038,\n\"check-is-refinement\":anf_obj5039,\n\"check-is-refinement-cause\":anf_obj5040,\n\"check-is-not-refinement\":anf_obj5041,\n\"check-is-not-refinement-cause\":anf_obj5042,\n\"check-satisfies-delayed\":anf_obj5043,\n\"check-satisfies-delayed-cause\":anf_obj5044,\n\"check-satisfies-not-delayed\":anf_obj5045,\n\"check-satisfies-not-delayed-cause\":anf_obj5046,\n\"check-satisfies\":anf_obj5047,\n\"check-satisfies-not\":anf_obj5048,\n\"check-raises-str\":anf_obj5049,\n\"check-raises-str-cause\":anf_obj5050,\n\"check-raises-other-str\":anf_obj5051,\n\"check-raises-other-str-cause\":anf_obj5052,\n\"check-raises-not\":anf_obj5053,\n\"check-raises-not-cause\":anf_obj5054,\n\"check-raises-satisfies\":anf_obj5055,\n\"check-raises-satisfies-cause\":anf_obj5056,\n\"check-raises-violates\":anf_obj5057,\n\"check-raises-violates-cause\":anf_obj5058,\n\"summary\":anf_obj5059,\n\"results\":anf_obj5060,\n\"render\":anf_obj5061});\nbreak;\ncase 5: ++R.GAS;\nreturn $ans2685;\ndefault: R.ffi.throwSpinnakerError(L[1135],$step2681);\n}\n}\nif($step2681 !== 5) {\n$ans2685.stack[R.EXN_STACKHEIGHT++] = R.mAR($al2686,$temp_lam2682,$step2681,[main$module$name2683,check$all2684],[add$block$result2703,block$results2697],$elidedFrames2688);\n}\nreturn $ans2685;\n};\nvar anf_assign5065 = R.mF($temp_lam2682,\"make-check-context\");\nmake$check$context5066.$var = anf_assign5065;\nR.nothing;\nvar $temp_lam5068 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1815($block$results5069,$get$stack5070) {\nvar $step5067 = 0;\nvar $elidedFrames5074 = 0;\nvar $ans5071 = D;\nvar $al5072 = L[1815];\nif(R.isAR($block$results5069)) {\n$step5067 = $block$results5069.step;\n$al5072 = $block$results5069.from;\n$ans5071 = $block$results5069.ans;\n$elidedFrames5074 = $block$results5069.elidedFrames;\nblock$results5069 = $block$results5069.args[0];\nget$stack5070 = $block$results5069.args[1];\nanf_arg2032 = $block$results5069.vars[0];\nanf_arg5167 = $block$results5069.vars[1];\ninit5119 = $block$results5069.vars[2];\nanf_arg2036 = $block$results5069.vars[3];\nanf_arg2026 = $block$results5069.vars[4];\nanf_arg2039 = $block$results5069.vars[5];\nc5175 = $block$results5069.vars[6];\ncomplete$summary5169 = $block$results5069.vars[7];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1815],2,$t,false);\n}\nvar block$results5069 = $block$results5069;\nvar get$stack5070 = $get$stack5070;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5071 = R.mC();\n}\nwhile(!R.isContinuation($ans5071)) {\nswitch($step5067) {\ncase 0: $step5067 = 1;\n$al5072 = L[1937];\nR._cA(L[1937],List19,block$results5069);\nbreak;\ncase 1: var init5119 = R.mO({\"message\":(\"\"),\n\"errored\":(0),\n\"passed\":(0),\n\"failed\":(0),\n\"total\":(0)});\nvar $temp_lam5076 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1816($summary5077,$br5078) {\nvar $step5075 = 0;\nvar $elidedFrames5082 = 0;\nvar $ans5079 = D;\nvar $al5080 = L[1816];\nif(R.isAR($summary5077)) {\n$step5075 = $summary5077.step;\n$al5080 = $summary5077.from;\n$ans5079 = $summary5077.ans;\n$elidedFrames5082 = $summary5077.elidedFrames;\nsummary5077 = $summary5077.args[0];\nbr5078 = $summary5077.args[1];\nblock$summary5124 = $summary5077.vars[0];\nanf_arg5126 = $summary5077.vars[1];\nanf_obj5139 = $summary5077.vars[2];\nanf_arg5118 = $summary5077.vars[3];\nanf_arg5129 = $summary5077.vars[4];\nanf_arg1931 = $summary5077.vars[5];\nwith$error$notification5132 = $summary5077.vars[6];\ncases5120 = $summary5077.vars[7];\nanf_arg1967 = $summary5077.vars[8];\nended$in$error5131 = $summary5077.vars[9];\nanf_obj5140 = $summary5077.vars[10];\nanf_obj5141 = $summary5077.vars[11];\nanf_obj5142 = $summary5077.vars[12];\nblock$type5147 = $summary5077.vars[13];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1816],2,$t,false);\n}\nvar summary5077 = $summary5077;\nvar br5078 = $br5078;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5079 = R.mC();\n}\nwhile(!R.isContinuation($ans5079)) {\nswitch($step5075) {\ncase 0: var $temp_lam5084 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1817($s5085,$tr5086) {\nvar $step5083 = 0;\nvar $elidedFrames5090 = 0;\nvar $ans5087 = D;\nvar $al5088 = L[1817];\nif(R.isAR($s5085)) {\n$step5083 = $s5085.step;\n$al5088 = $s5085.from;\n$ans5087 = $s5085.ans;\n$elidedFrames5090 = $s5085.elidedFrames;\ns5085 = $s5085.args[0];\ntr5086 = $s5085.args[1];\nm5111 = $s5085.vars[0];\ncases5091 = $s5085.vars[1];\nanf_arg1860 = $s5085.vars[2];\nanf_arg1865 = $s5085.vars[3];\nanf_extend5112 = $s5085.vars[4];\nstack5109 = $s5085.vars[5];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1817],2,$t,false);\n}\nvar s5085 = $s5085;\nvar tr5086 = $tr5086;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5087 = R.mC();\n}\nwhile(!R.isContinuation($ans5087)) {\nswitch($step5083) {\ncase 0: var cases5091 = tr5086;\n$step5083 = 1;\n$al5088 = L[1845];\nvar $ann$check5115 = R._cA(L[1845],TestResult2715,cases5091);\nif(R.isContinuation($ann$check5115)) {\n$ans5087 = $ann$check5115;\n}\nbreak;\ncase 1: $al5088 = L[1829];\n$step5083 = $cases_dispatch5114[cases5091.$name] || 3;\nbreak;\ncase 2: if(cases5091.$arity !== 1) {\nif(cases5091.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1828],1,cases5091.$arity,L[1829],cases5091.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1828],true,L[1829],cases5091.$loc);\n}\n}\n$step5083 = 14;\n$al5088 = L[1828];\nvar $temp_branch5101 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1829($loc5092) {\nvar $step5102 = 0;\nvar $elidedFrames5106 = 0;\nvar $ans5103 = D;\nvar $al5104 = L[1818];\nif(R.isAR($loc5092)) {\n$step5102 = $loc5092.step;\n$al5104 = $loc5092.from;\n$ans5103 = $loc5092.ans;\n$elidedFrames5106 = $loc5092.elidedFrames;\nloc5092 = $loc5092.args[0];\nanf_extend5098 = $loc5092.vars[0];\nanf_extend5099 = $loc5092.vars[1];\nanf_arg1867 = $loc5092.vars[2];\n} else {\nvar loc5092 = $loc5092;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5103 = R.mC();\n}\nwhile(!R.isContinuation($ans5103)) {\nswitch($step5102) {\ncase 0: $al5104 = L[1818];\nvar anf_arg1853 = G(s5085,\"message\",L[1818]);\n$step5102 = 1;\n$al5104 = L[1827];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1853,(\"\\n \"));\nbreak;\ncase 1: var anf_arg1867 = $ans5103;\n$step5102 = 2;\n$ans5103 = R.maybeMethodCall1(loc5092,\"format\",L[1819],(false));\nbreak;\ncase 2: var anf_arg1854 = $ans5103;\n$step5102 = 3;\n$al5104 = L[1826];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1867,anf_arg1854);\nbreak;\ncase 3: var anf_arg1868 = $ans5103;\n$step5102 = 4;\n$al5104 = L[1825];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1868,(\": ok\"));\nbreak;\ncase 4: var anf_extend5098 = $ans5103;\n$al5104 = L[1820];\nvar anf_arg1862 = G(s5085,\"passed\",L[1820]);\n$step5102 = 5;\n$al5104 = L[1824];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg1862,(1));\nbreak;\ncase 5: var anf_extend5099 = $ans5103;\n$al5104 = L[1821];\nvar anf_arg5097 = G(s5085,\"total\",L[1821]);\n$step5102 = 6;\n$al5104 = L[1823];\n// omitting isFunction check;\n$ans5103 = _plus5.app(anf_arg5097,(1));\nbreak;\ncase 6: var anf_extend5100 = $ans5103;\n$step5102 = 7;\n$ans5103 = R.extendObj(L[1822],s5085,{\"message\":anf_extend5098,\n\"passed\":anf_extend5099,\n\"total\":anf_extend5100});\nbreak;\ncase 7: ++R.GAS;\nreturn $ans5103;\ndefault: R.ffi.throwSpinnakerError(L[1818],$step5102);\n}\n}\nif($step5102 !== 7) {\n$ans5103.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5104,$temp_branch5101,$step5102,[loc5092],[anf_extend5098,anf_extend5099,anf_arg1867],$elidedFrames5106);\n}\nreturn $ans5103;\n};\n$ans5087 = cases5091.$app_fields($temp_branch5101,[false]);\nbreak;\ncase 3: $step5083 = 4;\n$ans5087 = R.maybeMethodCall1(tr5086,\"access-stack\",L[1830],get$stack5070);\nbreak;\ncase 4: var stack5109 = $ans5087;\n$al5088 = L[1831];\nvar anf_arg1858 = G(s5085,\"message\",L[1831]);\n$step5083 = 5;\n$al5088 = L[1844];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1858,(\"\\n \"));\nbreak;\ncase 5: var anf_arg1860 = $ans5087;\n$al5088 = L[1832];\nvar anf_method_obj5108 = G(tr5086,\"loc\",L[1832]);\n$step5083 = 6;\n$ans5087 = R.maybeMethodCall1(anf_method_obj5108,\"format\",L[1833],(false));\nbreak;\ncase 6: var anf_arg1864 = $ans5087;\n$step5083 = 7;\n$al5088 = L[1843];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1860,anf_arg1864);\nbreak;\ncase 7: var anf_arg1869 = $ans5087;\n$step5083 = 8;\n$al5088 = L[1842];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1869,(\": failed because: \\n \"));\nbreak;\ncase 8: var anf_arg1865 = $ans5087;\n$step5083 = 9;\n$ans5087 = R.maybeMethodCall0(tr5086,\"render-reason\",L[1834]);\nbreak;\ncase 9: var anf_arg1870 = $ans5087;\n$step5083 = 10;\n$al5088 = L[1841];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5088,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5087 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1870,torepr3,stack5109);\nbreak;\ncase 10: var anf_arg5110 = $ans5087;\n$step5083 = 11;\n$al5088 = L[1840];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1865,anf_arg5110);\nbreak;\ncase 11: var m5111 = $ans5087;\n$al5088 = L[1835];\nvar anf_arg1894 = G(s5085,\"failed\",L[1835]);\n$step5083 = 12;\n$al5088 = L[1839];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1894,(1));\nbreak;\ncase 12: var anf_extend5112 = $ans5087;\n$al5088 = L[1836];\nvar anf_arg1895 = G(s5085,\"total\",L[1836]);\n$step5083 = 13;\n$al5088 = L[1838];\n// omitting isFunction check;\n$ans5087 = _plus5.app(anf_arg1895,(1));\nbreak;\ncase 13: var anf_extend5113 = $ans5087;\n$step5083 = 14;\n$ans5087 = R.extendObj(L[1837],s5085,{\"message\":m5111,\n\"failed\":anf_extend5112,\n\"total\":anf_extend5113});\nbreak;\ncase 14: ++R.GAS;\nreturn $ans5087;\ndefault: R.ffi.throwSpinnakerError(L[1817],$step5083);\n}\n}\nif($step5083 !== 14) {\n$ans5087.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5088,$temp_lam5084,$step5083,[s5085,tr5086],[m5111,cases5091,anf_arg1860,anf_arg1865,anf_extend5112,stack5109],$elidedFrames5090);\n}\nreturn $ans5087;\n};\nvar anf_arg5118 = R.mF($temp_lam5084,\"for-body\");\n$al5080 = L[1846];\nvar anf_method_obj5117 = G(br5078,\"test-results\",L[1846]);\n$step5075 = 1;\n$ans5079 = R.maybeMethodCall0(anf_method_obj5117,\"reverse\",L[1847]);\nbreak;\ncase 1: var anf_arg1902 = $ans5079;\n$step5075 = 2;\n$al5080 = L[1817];\n// omitting isFunction check;\n$ans5079 = fold11.app(anf_arg5118,init5119,anf_arg1902);\nbreak;\ncase 2: var block$summary5124 = $ans5079;\n$al5080 = L[1848];\nvar anf_if5165 = G(br5078,\"keyword-check\",L[1848]);\n$step5075 = R.checkPyretTrue(anf_if5165)?3:4;\nbreak;\ncase 3: $step5075 = 5;\n$ans5079 = (\"Check\");\nbreak;\ncase 4: $step5075 = 5;\n$ans5079 = (\"Examples\");\nbreak;\ncase 5: var block$type5147 = $ans5079;\n$al5080 = L[1849];\nvar cases5120 = G(br5078,\"maybe-err\",L[1849]);\n$step5075 = 6;\n$al5080 = L[1900];\nvar $ann$check5164 = R._cA(L[1900],Option15,cases5120);\nif(R.isContinuation($ann$check5164)) {\n$ans5079 = $ann$check5164;\n}\nbreak;\ncase 6: $al5080 = L[1885];\n$step5075 = $cases_dispatch5163[cases5120.$name] || 9;\nbreak;\ncase 7: if(cases5120.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[1884],false,L[1885],cases5120.$loc);\n}\n$step5075 = 10;\n$ans5079 = (\"\");\nbreak;\ncase 8: if(cases5120.$arity !== 1) {\nif(cases5120.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[1899],1,cases5120.$arity,L[1885],cases5120.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[1899],true,L[1885],cases5120.$loc);\n}\n}\n$step5075 = 10;\n$al5080 = L[1899];\nvar $temp_branch5156 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1885($err5146) {\nvar $step5157 = 0;\nvar $elidedFrames5161 = 0;\nvar $ans5158 = D;\nvar $al5159 = L[1898];\nif(R.isAR($err5146)) {\n$step5157 = $err5146.step;\n$al5159 = $err5146.from;\n$ans5158 = $err5146.ans;\n$elidedFrames5161 = $err5146.elidedFrames;\nerr5146 = $err5146.args[0];\nstack5149 = $err5146.vars[0];\nanf_arg1915 = $err5146.vars[1];\nanf_arg5151 = $err5146.vars[2];\n} else {\nvar err5146 = $err5146;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5158 = R.mC();\n}\nwhile(!R.isContinuation($ans5158)) {\nswitch($step5157) {\ncase 0: $step5157 = 1;\n$al5159 = L[1897];\nif(typeof(get$stack5070.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,get$stack5070);\n}\n$ans5158 = get$stack5070.app(err5146);\nbreak;\ncase 1: var stack5149 = $ans5158;\n$step5157 = 2;\n$al5159 = L[1896];\n// omitting isFunction check;\n$ans5158 = _plus5.app((\"\\n \"),block$type5147);\nbreak;\ncase 2: var anf_arg1903 = $ans5158;\n$step5157 = 3;\n$al5159 = L[1895];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg1903,(\" block ended in the following error (not all tests may have run): \\n\\n \"));\nbreak;\ncase 3: var anf_arg5151 = $ans5158;\n$step5157 = 4;\n$al5159 = L[1894];\nif(typeof(exn$unwrap2.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,exn$unwrap2);\n}\n$ans5158 = exn$unwrap2.app(err5146);\nbreak;\ncase 4: var anf_method_obj5148 = $ans5158;\n$step5157 = 5;\n$ans5158 = R.maybeMethodCall0(anf_method_obj5148,\"render-reason\",L[1886]);\nbreak;\ncase 5: var anf_arg1918 = $ans5158;\n$step5157 = 6;\n$al5159 = L[1893];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5158 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1918,torepr3,stack5149);\nbreak;\ncase 6: var anf_arg5153 = $ans5158;\n$step5157 = 7;\n$al5159 = L[1892];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg5151,anf_arg5153);\nbreak;\ncase 7: var anf_arg1915 = $ans5158;\n$step5157 = 8;\n$al5159 = L[1891];\n// omitting isFunction check;\n$ans5158 = map17.app(ED23.dict.values.dict[\"loc\"],stack5149);\nbreak;\ncase 8: var anf_arg1919 = $ans5158;\n$step5157 = 9;\n$al5159 = L[1890];\nif(typeof(ED23.dict.values.dict[\"v-sequence\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,ED23.dict.values.dict[\"v-sequence\"]);\n}\n$ans5158 = ED23.dict.values.dict[\"v-sequence\"].app(anf_arg1919);\nbreak;\ncase 9: var anf_arg1916 = $ans5158;\n$step5157 = 10;\n$al5159 = L[1889];\nif(typeof(RED27.dict.values.dict[\"display-to-string\"].app) !== \"function\") {\nR.ffi.throwNonFunApp($al5159,RED27.dict.values.dict[\"display-to-string\"]);\n}\n$ans5158 = RED27.dict.values.dict[\"display-to-string\"].app(anf_arg1916,torepr3,empty10);\nbreak;\ncase 10: var anf_arg1920 = $ans5158;\n$step5157 = 11;\n$al5159 = L[1888];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg1915,anf_arg1920);\nbreak;\ncase 11: var anf_arg5155 = $ans5158;\n$step5157 = 12;\n$al5159 = L[1887];\n// omitting isFunction check;\n$ans5158 = _plus5.app(anf_arg5155,(\"\\n\\n\"));\nbreak;\ncase 12: ++R.GAS;\nreturn $ans5158;\ndefault: R.ffi.throwSpinnakerError(L[1898],$step5157);\n}\n}\nif($step5157 !== 12) {\n$ans5158.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5159,$temp_branch5156,$step5157,[err5146],[stack5149,anf_arg1915,anf_arg5151],$elidedFrames5161);\n}\nreturn $ans5158;\n};\n$ans5079 = cases5120.$app_fields($temp_branch5156,[false]);\nbreak;\ncase 9: $ans5079 = R.throwNoCasesMatched(L[1885],cases5120);\n$step5075 = 10;\nbreak;\ncase 10: var ended$in$error5131 = $ans5079;\n$al5080 = L[1850];\nvar anf_arg5121 = G(summary5077,\"message\",L[1850]);\n$step5075 = 11;\n$al5080 = L[1883];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5121,(\"\\n\\n\"));\nbreak;\ncase 11: var anf_arg1931 = $ans5079;\n$al5080 = L[1851];\nvar anf_method_obj5122 = G(br5078,\"loc\",L[1851]);\n$step5075 = 12;\n$ans5079 = R.maybeMethodCall1(anf_method_obj5122,\"format\",L[1852],(true));\nbreak;\ncase 12: var anf_arg5123 = $ans5079;\n$step5075 = 13;\n$al5080 = L[1882];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1931,anf_arg5123);\nbreak;\ncase 13: var anf_arg1933 = $ans5079;\n$step5075 = 14;\n$al5080 = L[1881];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1933,(\": \"));\nbreak;\ncase 14: var anf_arg1937 = $ans5079;\n$al5080 = L[1853];\nvar anf_arg1934 = G(br5078,\"name\",L[1853]);\n$step5075 = 15;\n$al5080 = L[1880];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1937,anf_arg1934);\nbreak;\ncase 15: var anf_arg1938 = $ans5079;\n$step5075 = 16;\n$al5080 = L[1879];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1938,(\" (\"));\nbreak;\ncase 16: var anf_arg5126 = $ans5079;\n$al5080 = L[1854];\nvar anf_arg5125 = G(block$summary5124,\"passed\",L[1854]);\n$step5075 = 17;\n$al5080 = L[1878];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,tostring1);\n}\n$ans5079 = tostring1.app(anf_arg5125);\nbreak;\ncase 17: var anf_arg5127 = $ans5079;\n$step5075 = 18;\n$al5080 = L[1877];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5126,anf_arg5127);\nbreak;\ncase 18: var anf_arg5128 = $ans5079;\n$step5075 = 19;\n$al5080 = L[1876];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5128,(\"/\"));\nbreak;\ncase 19: var anf_arg5129 = $ans5079;\n$al5080 = L[1855];\nvar anf_arg1958 = G(block$summary5124,\"total\",L[1855]);\n$step5075 = 20;\n$al5080 = L[1875];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,tostring1);\n}\n$ans5079 = tostring1.app(anf_arg1958);\nbreak;\ncase 20: var anf_arg1959 = $ans5079;\n$step5075 = 21;\n$al5080 = L[1874];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5129,anf_arg1959);\nbreak;\ncase 21: var anf_arg1960 = $ans5079;\n$step5075 = 22;\n$al5080 = L[1873];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1960,(\") \\n\"));\nbreak;\ncase 22: var message5130 = $ans5079;\n$step5075 = 23;\n$al5080 = L[1872];\n// omitting isFunction check;\n$ans5079 = _plus5.app(message5130,ended$in$error5131);\nbreak;\ncase 23: var with$error$notification5132 = $ans5079;\n$al5080 = L[1856];\nvar anf_arg1961 = G(block$summary5124,\"failed\",L[1856]);\n$step5075 = 24;\n$al5080 = L[1871];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5080,equal$always1);\n}\n$ans5079 = equal$always1.app(anf_arg1961,(0));\nbreak;\ncase 24: var anf_if5145 = $ans5079;\n$step5075 = R.checkPyretTrue(anf_if5145)?25:26;\nbreak;\ncase 25: $step5075 = 27;\n$ans5079 = (\"\");\nbreak;\ncase 26: $step5075 = 27;\n$al5080 = L[1870];\n$ans5079 = G(block$summary5124,\"message\",L[1870]);\nbreak;\ncase 27: var rest$of$message5133 = $ans5079;\n$step5075 = 28;\n$al5080 = L[1869];\n// omitting isFunction check;\n$ans5079 = _plus5.app(with$error$notification5132,rest$of$message5133);\nbreak;\ncase 28: var anf_obj5139 = $ans5079;\n$al5080 = L[1857];\nvar anf_arg1967 = G(summary5077,\"errored\",L[1857]);\n$al5080 = L[1858];\nvar anf_arg5135 = G(br5078,\"maybe-err\",L[1858]);\n// caller optimization;\n$ans5079 = is$some13.app(anf_arg5135);\nvar anf_if5144 = $ans5079;\n$step5075 = R.checkPyretTrue(anf_if5144)?29:30;\nbreak;\ncase 29: $step5075 = 31;\n$ans5079 = (1);\nbreak;\ncase 30: $step5075 = 31;\n$ans5079 = (0);\nbreak;\ncase 31: var anf_arg5137 = $ans5079;\n$step5075 = 32;\n$al5080 = L[1868];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1967,anf_arg5137);\nbreak;\ncase 32: var anf_obj5140 = $ans5079;\n$al5080 = L[1859];\nvar anf_arg5138 = G(summary5077,\"passed\",L[1859]);\n$al5080 = L[1860];\nvar anf_arg1987 = G(block$summary5124,\"passed\",L[1860]);\n$step5075 = 33;\n$al5080 = L[1867];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg5138,anf_arg1987);\nbreak;\ncase 33: var anf_obj5141 = $ans5079;\n$al5080 = L[1861];\nvar anf_arg1989 = G(summary5077,\"failed\",L[1861]);\n$al5080 = L[1862];\nvar anf_arg1990 = G(block$summary5124,\"failed\",L[1862]);\n$step5075 = 34;\n$al5080 = L[1866];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1989,anf_arg1990);\nbreak;\ncase 34: var anf_obj5142 = $ans5079;\n$al5080 = L[1863];\nvar anf_arg1996 = G(summary5077,\"total\",L[1863]);\n$al5080 = L[1864];\nvar anf_arg1994 = G(block$summary5124,\"total\",L[1864]);\n$step5075 = 35;\n$al5080 = L[1865];\n// omitting isFunction check;\n$ans5079 = _plus5.app(anf_arg1996,anf_arg1994);\nbreak;\ncase 35: var anf_obj5143 = $ans5079;\n$step5075 = 36;\n$ans5079 = R.mO({\"message\":anf_obj5139,\n\"errored\":anf_obj5140,\n\"passed\":anf_obj5141,\n\"failed\":anf_obj5142,\n\"total\":anf_obj5143});\nbreak;\ncase 36: ++R.GAS;\nreturn $ans5079;\ndefault: R.ffi.throwSpinnakerError(L[1816],$step5075);\n}\n}\nif($step5075 !== 36) {\n$ans5079.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5080,$temp_lam5076,$step5075,[summary5077,br5078],[block$summary5124,anf_arg5126,anf_obj5139,anf_arg5118,anf_arg5129,anf_arg1931,with$error$notification5132,cases5120,anf_arg1967,ended$in$error5131,anf_obj5140,anf_obj5141,anf_obj5142,block$type5147],$elidedFrames5082);\n}\nreturn $ans5079;\n};\nvar anf_arg5167 = R.mF($temp_lam5076,\"for-body\");\n$step5067 = 2;\n$ans5071 = R.maybeMethodCall0(block$results5069,\"reverse\",L[1901]);\nbreak;\ncase 2: var anf_arg5168 = $ans5071;\n$step5067 = 3;\n$al5072 = L[1816];\n// omitting isFunction check;\n$ans5071 = fold11.app(anf_arg5167,init5119,anf_arg5168);\nbreak;\ncase 3: var complete$summary5169 = $ans5071;\n$al5072 = L[1902];\nvar anf_arg5171 = G(complete$summary5169,\"total\",L[1902]);\n$step5067 = 4;\n$al5072 = L[1936];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg5171,(0));\nbreak;\ncase 4: var anf_if5192 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5192)?5:7;\nbreak;\ncase 5: $al5072 = L[1934];\nvar anf_arg2023 = G(complete$summary5169,\"errored\",L[1934]);\n$step5067 = 6;\n$al5072 = L[1935];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2023,(0));\nbreak;\ncase 6: var anf_arg5191 = $ans5071;\n$ans5071 = R.checkWrapBoolean(anf_arg5191);\n$step5067 = 8;\nbreak;\ncase 7: $step5067 = 8;\n$ans5071 = (false);\nbreak;\ncase 8: var anf_if5190 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5190)?9:10;\nbreak;\ncase 9: $step5067 = 37;\n$ans5071 = R.extendObj(L[1903],complete$summary5169,{\"message\":(\"The program didn't define any tests.\")});\nbreak;\ncase 10: $al5072 = L[1904];\nvar anf_arg2013 = G(complete$summary5169,\"failed\",L[1904]);\n$step5067 = 11;\n$al5072 = L[1933];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2013,(0));\nbreak;\ncase 11: var anf_if5189 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5189)?12:14;\nbreak;\ncase 12: $al5072 = L[1931];\nvar anf_arg2018 = G(complete$summary5169,\"errored\",L[1931]);\n$step5067 = 13;\n$al5072 = L[1932];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2018,(0));\nbreak;\ncase 13: var anf_arg2014 = $ans5071;\n$ans5071 = R.checkWrapBoolean(anf_arg2014);\n$step5067 = 15;\nbreak;\ncase 14: $step5067 = 15;\n$ans5071 = (false);\nbreak;\ncase 15: var anf_if5188 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5188)?16:23;\nbreak;\ncase 16: $al5072 = L[1905];\nvar anf_arg2020 = G(complete$summary5169,\"passed\",L[1905]);\n$step5067 = 17;\n$al5072 = L[1911];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,equal$always1);\n}\n$ans5071 = equal$always1.app(anf_arg2020,(1));\nbreak;\ncase 17: var anf_if5174 = $ans5071;\n$step5067 = R.checkPyretTrue(anf_if5174)?18:19;\nbreak;\ncase 18: $step5067 = 22;\n$ans5071 = (\"Looks shipshape, your test passed, mate!\");\nbreak;\ncase 19: $al5072 = L[1907];\nvar anf_arg2021 = G(complete$summary5169,\"passed\",L[1907]);\n$step5067 = 20;\n$al5072 = L[1910];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2021);\nbreak;\ncase 20: var anf_arg2025 = $ans5071;\n$step5067 = 21;\n$al5072 = L[1909];\n// omitting isFunction check;\n$ans5071 = _plus5.app((\"Looks shipshape, all \"),anf_arg2025);\nbreak;\ncase 21: var anf_arg5173 = $ans5071;\n$step5067 = 22;\n$al5072 = L[1908];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5173,(\" tests passed, mate!\"));\nbreak;\ncase 22: var happy$msg5172 = $ans5071;\n$step5067 = 37;\n$ans5071 = R.extendObj(L[1906],complete$summary5169,{\"message\":happy$msg5172});\nbreak;\ncase 23: var c5175 = complete$summary5169;\n$al5072 = L[1912];\nvar anf_arg5176 = G(c5175,\"message\",L[1912]);\n$step5067 = 24;\n$al5072 = L[1930];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5176,(\"\\n\\nPassed: \"));\nbreak;\ncase 24: var anf_arg2036 = $ans5071;\n$al5072 = L[1913];\nvar anf_arg2037 = G(c5175,\"passed\",L[1913]);\n$step5067 = 25;\n$al5072 = L[1929];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2037);\nbreak;\ncase 25: var anf_arg5179 = $ans5071;\n$step5067 = 26;\n$al5072 = L[1928];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2036,anf_arg5179);\nbreak;\ncase 26: var anf_arg2029 = $ans5071;\n$step5067 = 27;\n$al5072 = L[1927];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2029,(\"; Failed: \"));\nbreak;\ncase 27: var anf_arg2026 = $ans5071;\n$al5072 = L[1914];\nvar anf_arg2030 = G(c5175,\"failed\",L[1914]);\n$step5067 = 28;\n$al5072 = L[1926];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2030);\nbreak;\ncase 28: var anf_arg2031 = $ans5071;\n$step5067 = 29;\n$al5072 = L[1925];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2026,anf_arg2031);\nbreak;\ncase 29: var anf_arg2027 = $ans5071;\n$step5067 = 30;\n$al5072 = L[1924];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2027,(\"; Ended in Error: \"));\nbreak;\ncase 30: var anf_arg2032 = $ans5071;\n$al5072 = L[1915];\nvar anf_arg2033 = G(c5175,\"errored\",L[1915]);\n$step5067 = 31;\n$al5072 = L[1923];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg2033);\nbreak;\ncase 31: var anf_arg2038 = $ans5071;\n$step5067 = 32;\n$al5072 = L[1922];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2032,anf_arg2038);\nbreak;\ncase 32: var anf_arg2034 = $ans5071;\n$step5067 = 33;\n$al5072 = L[1921];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2034,(\"; Total: \"));\nbreak;\ncase 33: var anf_arg2039 = $ans5071;\n$al5072 = L[1916];\nvar anf_arg5181 = G(c5175,\"total\",L[1916]);\n$step5067 = 34;\n$al5072 = L[1920];\nif(typeof(tostring1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al5072,tostring1);\n}\n$ans5071 = tostring1.app(anf_arg5181);\nbreak;\ncase 34: var anf_arg2050 = $ans5071;\n$step5067 = 35;\n$al5072 = L[1919];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg2039,anf_arg2050);\nbreak;\ncase 35: var anf_arg5185 = $ans5071;\n$step5067 = 36;\n$al5072 = L[1918];\n// omitting isFunction check;\n$ans5071 = _plus5.app(anf_arg5185,(\"\\n\"));\nbreak;\ncase 36: var anf_extend5186 = $ans5071;\n$step5067 = 37;\n$ans5071 = R.extendObj(L[1917],c5175,{\"message\":anf_extend5186});\nbreak;\ncase 37: ++R.GAS;\nreturn $ans5071;\ndefault: R.ffi.throwSpinnakerError(L[1815],$step5067);\n}\n}\nif($step5067 !== 37) {\n$ans5071.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5072,$temp_lam5068,$step5067,[block$results5069,get$stack5070],[anf_arg2032,anf_arg5167,init5119,anf_arg2036,anf_arg2026,anf_arg2039,c5175,complete$summary5169],$elidedFrames5074);\n}\nreturn $ans5071;\n};\nvar anf_assign5194 = R.mF($temp_lam5068,\"results-summary\");\nresults$summary5009.$var = anf_assign5194;\nR.nothing;\nvar $temp_lam5196 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1938($block$results5197) {\nvar $step5195 = 0;\nvar $elidedFrames5201 = 0;\nvar $ans5198 = D;\nvar $al5199 = L[1938];\nif(R.isAR($block$results5197)) {\n$step5195 = $block$results5197.step;\n$al5199 = $block$results5197.from;\n$ans5198 = $block$results5197.ans;\n$elidedFrames5201 = $block$results5197.elidedFrames;\nblock$results5197 = $block$results5197.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1938],1,$t,false);\n}\nvar block$results5197 = $block$results5197;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5198 = R.mC();\n}\nwhile(!R.isContinuation($ans5198)) {\nswitch($step5195) {\ncase 0: var $temp_lam5203 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1939($err5204) {\nvar $step5202 = 0;\nvar $elidedFrames5208 = 0;\nvar $ans5205 = D;\nvar $al5206 = L[1939];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1939],1,$t,false);\n}\nvar err5204 = $err5204;\n// callee optimization;\nwhile(!R.isContinuation($ans5205)) {\nswitch($step5202) {\ncase 0: $step5202 = 1;\n$ans5205 = empty10;\nbreak;\ncase 1: return $ans5205;\ndefault: R.ffi.throwSpinnakerError(L[1939],$step5202);\n}\n}\nreturn $ans5205;\n};\nvar anf_arg2044 = R.mF($temp_lam5203,\"\");\n$step5195 = 1;\n$al5199 = L[1941];\n// omitting isFunction check;\n$ans5198 = results$summary5009.$var.app(block$results5197,anf_arg2044);\nbreak;\ncase 1: var anf_bracket5210 = $ans5198;\n$step5195 = 2;\n$al5199 = L[1940];\n$ans5198 = G(anf_bracket5210,\"message\",L[1940]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5198;\ndefault: R.ffi.throwSpinnakerError(L[1938],$step5195);\n}\n}\nif($step5195 !== 2) {\n$ans5198.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5199,$temp_lam5196,$step5195,[block$results5197],[],$elidedFrames5201);\n}\nreturn $ans5198;\n};\nvar anf_assign5212 = R.mF($temp_lam5196,\"render-check-results\");\nrender$check$results5028.$var = anf_assign5212;\nR.nothing;\nvar $temp_lam5214 = function _87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72__1942($block$results5215,$get$stack5216) {\nvar $step5213 = 0;\nvar $elidedFrames5220 = 0;\nvar $ans5217 = D;\nvar $al5218 = L[1942];\nif(R.isAR($block$results5215)) {\n$step5213 = $block$results5215.step;\n$al5218 = $block$results5215.from;\n$ans5217 = $block$results5215.ans;\n$elidedFrames5220 = $block$results5215.elidedFrames;\nblock$results5215 = $block$results5215.args[0];\nget$stack5216 = $block$results5215.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1942],2,$t,false);\n}\nvar block$results5215 = $block$results5215;\nvar get$stack5216 = $get$stack5216;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans5217 = R.mC();\n}\nwhile(!R.isContinuation($ans5217)) {\nswitch($step5213) {\ncase 0: $step5213 = 1;\n$al5218 = L[1944];\nR._cA(L[1944],List19,block$results5215);\nbreak;\ncase 1: $step5213 = 2;\n$al5218 = L[1943];\n// omitting isFunction check;\n$ans5217 = results$summary5009.$var.app(block$results5215,get$stack5216);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans5217;\ndefault: R.ffi.throwSpinnakerError(L[1942],$step5213);\n}\n}\nif($step5213 !== 2) {\n$ans5217.stack[R.EXN_STACKHEIGHT++] = R.mAR($al5218,$temp_lam5214,$step5213,[block$results5215,get$stack5216],[],$elidedFrames5220);\n}\nreturn $ans5217;\n};\nvar anf_assign5222 = R.mF($temp_lam5214,\"render-check-results-stack\");\nrender$check$results$stack5223.$var = anf_assign5222;\nR.nothing;\n$step35 = 1;\n$ans44 = R.maybeMethodCall2(builtins1,\"trace-value\",L[1945],L[1945],nothing2);\nbreak;\ncase 1: var answer5225 = $ans44;\n$step35 = 2;\n$ans44 = R.maybeMethodCall0(builtins1,\"current-checker\",L[71]);\nbreak;\ncase 2: var anf_method_obj5224 = $ans44;\n$step35 = 3;\n$ans44 = R.maybeMethodCall0(anf_method_obj5224,\"results\",L[71]);\nbreak;\ncase 3: var checks5226 = $ans44;\n$step35 = 4;\n$ans44 = R.mO({\"answer\":answer5225,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"SL\":SL28,\n\"E\":E22,\n\"ED\":ED23,\n\"RED\":RED27,\n\"VS\":VS29,\n\"either\":either20},\n\"defined-values\":{\"is-success\":is$success2622.$var,\n\"error-not-pred\":error$not$pred2676.$var,\n\"failure-not-dissatisfied\":failure$not$dissatisfied2644.$var,\n\"check-block-result\":check$block$result284.$var,\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2668.$var,\n\"success\":success2624.$var,\n\"is-error-not-pred\":is$error$not$pred2674.$var,\n\"is-failure-right-exn\":is$failure$right$exn2650.$var,\n\"is-failure-not-dissatisfied\":is$failure$not$dissatisfied2642.$var,\n\"is-CheckOperand\":is$CheckOperand252.$var,\n\"is-failure-raise-not-dissatisfied\":is$failure$raise$not$dissatisfied2666.$var,\n\"error-not-boolean-pred\":error$not$boolean$pred2680.$var,\n\"is-CheckBlockResult\":is$CheckBlockResult282.$var,\n\"is-check-block-result\":is$check$block$result283.$var,\n\"is-error-not-boolean\":is$error$not$boolean2670.$var,\n\"failure-right-exn\":failure$right$exn2652.$var,\n\"is-error-not-boolean-pred\":is$error$not$boolean$pred2678.$var,\n\"error-not-boolean\":error$not$boolean2672.$var,\n\"make-check-context\":make$check$context5066.$var,\n\"get-op-fun-name\":get$op$fun$name61.$var,\n\"on-right\":on$right260.$var,\n\"results-summary\":results$summary5009.$var,\n\"is-on-right\":is$on$right258.$var,\n\"is-failure-raise-not-satisfied\":is$failure$raise$not$satisfied2662.$var,\n\"is-on-left\":is$on$left254.$var,\n\"failure-no-exn\":failure$no$exn2660.$var,\n\"is-failure-not-satisfied\":is$failure$not$satisfied2638.$var,\n\"is-TestResult\":is$TestResult2620.$var,\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2664.$var,\n\"is-failure-not-equal\":is$failure$not$equal2626.$var,\n\"is-failure-no-exn\":is$failure$no$exn2658.$var,\n\"failure-not-satisfied\":failure$not$satisfied2640.$var,\n\"on-left\":on$left256.$var,\n\"is-failure-exn\":is$failure$exn2654.$var,\n\"render-check-results-stack\":render$check$results$stack5223.$var,\n\"is-failure-wrong-exn\":is$failure$wrong$exn2646.$var,\n\"is-on-refinement\":is$on$refinement262.$var,\n\"failure-not-equal\":failure$not$equal2628.$var,\n\"failure-wrong-exn\":failure$wrong$exn2648.$var,\n\"failure-exn\":failure$exn2656.$var,\n\"report-value\":report$value306.$var,\n\"on-refinement\":on$refinement264.$var,\n\"is-failure-not-different\":is$failure$not$different2634.$var,\n\"render-check-results\":render$check$results5028.$var,\n\"on-cause\":on$cause267.$var,\n\"is-failure-is-incomparable\":is$failure$is$incomparable2630.$var,\n\"failure-not-different\":failure$not$different2636.$var,\n\"is-on-cause\":is$on$cause266.$var,\n\"failure-is-incomparable\":failure$is$incomparable2632.$var},\n\"defined-types\":{\"Loc\":Loc274,\n\"CheckOperand\":CheckOperand113,\n\"CheckBlockResult\":CheckBlockResult2700,\n\"TestResult\":TestResult2715},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-success\":is$success2622.$var,\n\"error-not-pred\":error$not$pred2676.$var,\n\"failure-not-dissatisfied\":failure$not$dissatisfied2644.$var,\n\"check-block-result\":check$block$result284.$var,\n\"failure-raise-not-dissatisfied\":failure$raise$not$dissatisfied2668.$var,\n\"success\":success2624.$var,\n\"is-error-not-pred\":is$error$not$pred2674.$var,\n\"is-failure-right-exn\":is$failure$right$exn2650.$var,\n\"is-failure-not-dissatisfied\":is$failure$not$dissatisfied2642.$var,\n\"is-CheckOperand\":is$CheckOperand252.$var,\n\"is-failure-raise-not-dissatisfied\":is$failure$raise$not$dissatisfied2666.$var,\n\"error-not-boolean-pred\":error$not$boolean$pred2680.$var,\n\"is-CheckBlockResult\":is$CheckBlockResult282.$var,\n\"is-check-block-result\":is$check$block$result283.$var,\n\"is-error-not-boolean\":is$error$not$boolean2670.$var,\n\"failure-right-exn\":failure$right$exn2652.$var,\n\"is-error-not-boolean-pred\":is$error$not$boolean$pred2678.$var,\n\"error-not-boolean\":error$not$boolean2672.$var,\n\"make-check-context\":make$check$context5066.$var,\n\"get-op-fun-name\":get$op$fun$name61.$var,\n\"on-right\":on$right260.$var,\n\"results-summary\":results$summary5009.$var,\n\"is-on-right\":is$on$right258.$var,\n\"is-failure-raise-not-satisfied\":is$failure$raise$not$satisfied2662.$var,\n\"is-on-left\":is$on$left254.$var,\n\"failure-no-exn\":failure$no$exn2660.$var,\n\"is-failure-not-satisfied\":is$failure$not$satisfied2638.$var,\n\"is-TestResult\":is$TestResult2620.$var,\n\"failure-raise-not-satisfied\":failure$raise$not$satisfied2664.$var,\n\"is-failure-not-equal\":is$failure$not$equal2626.$var,\n\"is-failure-no-exn\":is$failure$no$exn2658.$var,\n\"failure-not-satisfied\":failure$not$satisfied2640.$var,\n\"on-left\":on$left256.$var,\n\"is-failure-exn\":is$failure$exn2654.$var,\n\"render-check-results-stack\":render$check$results$stack5223.$var,\n\"is-failure-wrong-exn\":is$failure$wrong$exn2646.$var,\n\"is-on-refinement\":is$on$refinement262.$var,\n\"failure-not-equal\":failure$not$equal2628.$var,\n\"failure-wrong-exn\":failure$wrong$exn2648.$var,\n\"failure-exn\":failure$exn2656.$var,\n\"report-value\":report$value306.$var,\n\"on-refinement\":on$refinement264.$var,\n\"is-failure-not-different\":is$failure$not$different2634.$var,\n\"render-check-results\":render$check$results5028.$var,\n\"on-cause\":on$cause267.$var,\n\"is-failure-is-incomparable\":is$failure$is$incomparable2630.$var,\n\"failure-not-different\":failure$not$different2636.$var,\n\"is-on-cause\":is$on$cause266.$var,\n\"failure-is-incomparable\":failure$is$incomparable2632.$var}),\n\"types\":{\"CheckOperand\":CheckOperand113,\n\"CheckBlockResult\":CheckBlockResult2700,\n\"TestResult\":TestResult2715,\n\"Loc\":Loc274},\n\"modules\":{}}),\n\"checks\":checks5226});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans44;\ndefault: R.ffi.throwSpinnakerError(L[1947],$step35);\n}\n}\nif($step35 !== 4) {\n$ans44.stack[R.EXN_STACKHEIGHT++] = R.mAR($al45,$toplevel36,$step35,[],[results$summary5009,is$failure$not$different2634,is$check$block$result283,CheckOperand113,error$not$boolean$pred2680,on$cause267,error$not$pred2676,render$check$results5028,failure$not$dissatisfied2644,is$failure$wrong$exn2646,failure$raise$not$satisfied2664,report$value306,is$failure$not$equal2626,on$left256,TestResult2715,on$refinement264,get$op$fun$name61,is$success2622,is$failure$not$satisfied2638,is$error$not$boolean2670,is$failure$exn2654,check$block$result284,is$failure$is$incomparable2630,is$error$not$pred2674,is$TestResult2620,is$failure$not$dissatisfied2642,failure$not$satisfied2640,failure$not$different2636,make$check$context5066,failure$raise$not$dissatisfied2668,is$failure$no$exn2658,is$on$right258,is$failure$right$exn2650,on$right260,is$on$left254,failure$wrong$exn2648,is$CheckBlockResult282,answer5225,is$on$refinement262,CheckBlockResult2700,is$CheckOperand252,is$error$not$boolean$pred2678,failure$not$equal2628,is$failure$raise$not$dissatisfied2666,success2624,failure$exn2656,error$not$boolean2672,failure$is$incomparable2632,Loc274,is$on$cause266,is$failure$raise$not$satisfied2662,failure$right$exn2652,failure$no$exn2660,render$check$results$stack5223],$elidedFrames47);\n}\nreturn $ans44;\n};\nreturn R.safeCall($toplevel36,function module_load(moduleVal) {\nR.modules[\"$builtin://checker30\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"failure-is-incomparable":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -156, -2, -5258, -239, -7, -9334], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-is-incomparable", -"typ":"tany"}, -"is-on-cause":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -41, -2, -969, -43, -68, -1096], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-on-cause", -"typ":"tany"}, -"failure-not-different":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -240, -2, -9337, -295, -7, -11904], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-not-different", -"typ":"tany"}, -"is-failure-is-incomparable":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -156, -2, -5258, -239, -7, -9334], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-is-incomparable", -"typ":"tany"}, -"on-cause":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -41, -2, -969, -43, -68, -1096], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"render-check-results":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -1400, -0, -61191, -1402, -3, -61297], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"render-check-results", -"typ":"tany"}, -"is-failure-not-different":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -240, -2, -9337, -295, -7, -11904], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-not-different", -"typ":"tany"}, -"on-refinement":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -38, -2, -830, -40, -73, -966], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"report-value":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -85, -0, -2297, -92, -3, -2448], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"report-value", -"typ":"tany"}, -"failure-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -437, -2, -17065, -484, -8, -19214], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-exn", -"typ":"tany"}, -"failure-wrong-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -366, -2, -14535, -402, -8, -15826], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-wrong-exn", -"typ":"tany"}, -"failure-not-equal":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -96, -2, -2493, -155, -7, -5255], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-not-equal", -"typ":"tany"}, -"is-on-refinement":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -38, -2, -830, -40, -73, -966], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-on-refinement", -"typ":"tany"}, -"is-failure-wrong-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -366, -2, -14535, -402, -8, -15826], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-wrong-exn", -"typ":"tany"}, -"render-check-results-stack":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -1404, -0, -61299, -1406, -3, -61430], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"render-check-results-stack", -"typ":"tany"}, -"is-failure-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -437, -2, -17065, -484, -8, -19214], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-exn", -"typ":"tany"}, -"on-left":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -32, -2, -581, -34, -61, -698], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"failure-not-satisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -296, -2, -11907, -330, -7, -13179], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-not-satisfied", -"typ":"tany"}, -"is-failure-no-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -485, -2, -19217, -532, -7, -21156], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-no-exn", -"typ":"tany"}, -"is-failure-not-equal":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -96, -2, -2493, -155, -7, -5255], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-not-equal", -"typ":"tany"}, -"failure-raise-not-satisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -533, -2, -21159, -574, -7, -22734], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-raise-not-satisfied", -"typ":"tany"}, -"is-TestResult":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -94, -0, -2450, -692, -3, -28134], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"is-failure-not-satisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -296, -2, -11907, -330, -7, -13179], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-not-satisfied", -"typ":"tany"}, -"failure-no-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -485, -2, -19217, -532, -7, -21156], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-no-exn", -"typ":"tany"}, -"is-on-left":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -32, -2, -581, -34, -61, -698], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-on-left", -"typ":"tany"}, -"is-failure-raise-not-satisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -533, -2, -21159, -574, -7, -22734], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-raise-not-satisfied", -"typ":"tany"}, -"is-on-right":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -35, -2, -701, -37, -68, -827], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-on-right", -"typ":"tany"}, -"results-summary":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -1332, -0, -58461, -1398, -3, -61189], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"results-summary", -"typ":"tany"}, -"on-right":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -35, -2, -701, -37, -68, -827], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"get-op-fun-name":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -22, -0, -338, -29, -3, -558], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"get-op-fun-name", -"typ":"tany"}, -"make-check-context":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -3, -0, -13, -3, -9, -22], -"definition-bind-site":["builtin://checker", -694, -0, -28136, -1327, -3, -58277], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":false, -"name":"make-check-context", -"typ":"tany"}, -"error-not-boolean":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -623, -2, -24638, -633, -7, -25210], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"error-not-boolean", -"typ":"tany"}, -"is-error-not-boolean-pred":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -659, -2, -26506, -687, -7, -27950], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-error-not-boolean-pred", -"typ":"tany"}, -"failure-right-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -403, -2, -15829, -436, -8, -17062], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-right-exn", -"typ":"tany"}, -"is-error-not-boolean":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -623, -2, -24638, -633, -7, -25210], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-error-not-boolean", -"typ":"tany"}, -"is-check-block-result":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -76, -2, -2121, -82, -5, -2291], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-check-block-result", -"typ":"tany"}, -"is-CheckBlockResult":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -75, -0, -2096, -83, -3, -2295], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"error-not-boolean-pred":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -659, -2, -26506, -687, -7, -27950], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"error-not-boolean-pred", -"typ":"tany"}, -"is-failure-raise-not-dissatisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -575, -2, -22737, -620, -7, -24532], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-raise-not-dissatisfied", -"typ":"tany"}, -"is-CheckOperand":{"bind":"let", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -31, -0, -560, -73, -3, -2094], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"typ":"tany"}, -"is-failure-not-dissatisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -331, -2, -13182, -365, -7, -14532], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-not-dissatisfied", -"typ":"tany"}, -"is-failure-right-exn":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -403, -2, -15829, -436, -8, -17062], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-failure-right-exn", -"typ":"tany"}, -"is-error-not-pred":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -634, -2, -25213, -658, -7, -26503], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-error-not-pred", -"typ":"tany"}, -"success":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -95, -2, -2469, -95, -23, -2490], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"success", -"typ":"tany"}, -"failure-raise-not-dissatisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -575, -2, -22737, -620, -7, -24532], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-raise-not-dissatisfied", -"typ":"tany"}, -"check-block-result":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -76, -2, -2121, -82, -5, -2291], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"check-block-result", -"typ":"tany"}, -"failure-not-dissatisfied":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -331, -2, -13182, -365, -7, -14532], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"failure-not-dissatisfied", -"typ":"tany"}, -"error-not-pred":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -634, -2, -25213, -658, -7, -26503], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"error-not-pred", -"typ":"tany"}, -"is-success":{"bind":"fun", -"origin":{"local-bind-site":["builtin://checker", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://checker", -95, -2, -2469, -95, -23, -2490], -"new-definition":true, -"uri-of-definition":"builtin://checker"}, -"flatness":0, -"name":"is-success", -"typ":"tany"}}, -"datatypes":{"TestResult":["data",{"local-bind-site":["builtin://checker", -94, -0, -2450, -692, -3, -28134], -"definition-bind-site":["builtin://checker", -94, -0, -2450, -692, -3, -28134], -"new-definition":true, -"uri-of-definition":"builtin://checker"},"TestResult",[],[["success", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}]], -{}],["failure-not-equal", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["refinement", -"tany"],["left", -"tany"],["left-src", -"tany"],["right", -"tany"],["right-src", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-is-incomparable", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["eq-result", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"EqualityResult"}],["left", -"tany"],["left-src", -"tany"],["right", -"tany"],["right-src", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-not-different", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["refinement", -"tany"],["left", -"tany"],["left-src", -"tany"],["right", -"tany"],["right-src", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-not-satisfied", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["val", -"tany"],["val-src", -"tany"],["pred", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-not-dissatisfied", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["val", -"tany"],["val-src", -"tany"],["pred", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-wrong-exn", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["exn-expected", -"tany"],["actual-exn", -"tany"],["actual-src", -"tany"]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"access-stack":["arrow", -["tany", -"tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-right-exn", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["exn-not-expected", -"tany"],["actual-exn", -"tany"],["actual-src", -"tany"]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-exn", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["actual-exn", -"tany"],["exn-place", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"CheckOperand"}]], -{"_output":["arrow", -["tany"], -"tany"], -"access-stack":["arrow", -["tany", -"tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-no-exn", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["exn-expected", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Option"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]]],["exn-src", -"tany"],["wanted", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-raise-not-satisfied", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["exn", -"tany"],["exn-src", -"tany"],["pred", -"tany"]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["failure-raise-not-dissatisfied", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["exn", -"tany"],["exn-src", -"tany"],["pred", -"tany"]], -{"_output":["arrow", -["tany"], -"tany"], -"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["error-not-boolean", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["refinement", -"tany"],["left", -"tany"],["left-src", -"tany"],["right", -"tany"],["right-src", -"tany"],["test-result", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["error-not-pred", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["predicate", -"tany"],["arity", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}],["error-not-boolean-pred", -[["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["predicate", -"tany"],["left", -"tany"],["left-src", -"tany"],["test-result", -"tany"]], -{"render-reason":["arrow", -["tany"], -"tany"], -"render-fancy-reason":["arrow", -["tany", -"tany", -"tany", -"tany"], -"tany"]}]],{"access-stack":["arrow", -["tany", -"tany"], -"tany"]}], -"CheckBlockResult":["data",{"local-bind-site":["builtin://checker", -75, -0, -2096, -83, -3, -2295], -"definition-bind-site":["builtin://checker", -75, -0, -2096, -83, -3, -2295], -"new-definition":true, -"uri-of-definition":"builtin://checker"},"CheckBlockResult",[],[["check-block-result", -[["name", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["loc", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Loc"}],["keyword-check", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}],["test-results", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"List"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"TestResult"}]]],["maybe-err", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://checker"}, -"name":"Option"},["tany"]]]], -{}]],{}], -"CheckOperand":["data",{"local-bind-site":["builtin://checker", -31, -0, -560, -73, -3, -2094], -"definition-bind-site":["builtin://checker", -31, -0, -560, -73, -3, -2094], -"new-definition":true, -"uri-of-definition":"builtin://checker"},"CheckOperand",[],[["on-left", -{"test-component":["arrow", -["tany", -"tany"], -"tany"], -"side":["arrow", -["tany"], -"tany"]}],["on-right", -{"test-component":["arrow", -["tany", -"tany"], -"tany"], -"side":["arrow", -["tany"], -"tany"]}],["on-refinement", -{"test-component":["arrow", -["tany", -"tany"], -"tany"], -"side":["arrow", -["tany"], -"tany"]}],["on-cause", -{"test-component":["arrow", -["tany", -"tany"], -"tany"], -"side":["arrow", -["tany"], -"tany"]}]],{"test-component":["arrow", -["tany", -"tany"], -"tany"], -"side":["arrow", -["tany"], -"tany"], -"test-preamble":["arrow", -["tany", -"tany"], -"tany"], -"test-op":["arrow", -["tany", -"tany"], -"tany"]}]}, -"aliases":{"Loc":"tany", -"TestResult":"tany", -"CheckBlockResult":"tany", -"CheckOperand":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"either"}, -{"import-type":"builtin", -"name":"equality"}, -{"import-type":"builtin", -"name":"error"}, -{"import-type":"builtin", -"name":"error-display"}, -{"import-type":"builtin", -"name":"ffi"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"render-error-display"}, -{"import-type":"builtin", -"name":"srcloc"}, -{"import-type":"builtin", -"name":"valueskeleton"}]}), -"builtin://table":({ - requires: [ - { "import-type": "builtin", name: "valueskeleton" }, - { "import-type": "builtin", name: "equality" }, - { "import-type": "builtin", name: "ffi" } - ], - nativeRequires: [ - "pyret-base/js/type-util" - ], - provides: {}, - theModule: function(runtime, namespace, uri, VSlib, EQlib, ffi, t) { - var get = runtime.getField; - - var VS = get(VSlib, "values"); - var EQ = get(EQlib, "values"); - - var eq = function() { return ffi.equal; }; - var neq = function(left, right) { return ffi.notEqual.app('', left, right); }; - - var brandTable = runtime.namedBrander("table", ["table: table brander"]); - var annTable = runtime.makeBranderAnn(brandTable, "Table"); - - var brandRow = runtime.namedBrander("row", ["table: row brander"]); - var annRow = runtime.makeBranderAnn(brandRow, "Row"); - - var rowGetValue = runtime.makeMethod1(function(self, arg) { - ffi.checkArity(2, arguments, "get-value", true); - runtime.checkArgsInternal2("tables", "get-value", - self, annRow, arg, runtime.String); - var index = self.$underlyingTable.headerIndex["column:" + arg]; - if(typeof index === "number") { - return self.$rowData[index]; - } - else { - return ffi.throwMessageException("No such column: " + arg); - } - }); - - var rowGetColumns = runtime.makeMethod0(function(self) { - ffi.checkArity(1, arguments, "get-column-names", true); - var cols = Object.keys(self.$underlyingTable.headerIndex).map(function(k) { - return k.slice(7); // chop off "column:" - }); - return runtime.ffi.makeList(cols); - }); - - var rowEquals = runtime.makeMethod2(function(self, other, rec) { - ffi.checkArity(3, arguments, "_equals", true); - runtime.checkArgsInternal3("tables", "_equals", - self, annRow, other, annRow, rec, runtime.Function); - var headers1 = self.$underlyingTable.headerIndex; - var headers2 = other.$underlyingTable.headerIndex; - var hk1 = Object.keys(headers1); - var hk2 = Object.keys(headers2); - var rowData1 = self.$rowData; - var rowData2 = other.$rowData; - if(rowData1.length !== rowData2.length) { - return neq(self, other); - } - if(hk1.length !== hk2.length) { - return neq(self, other); - } - for(var i = 0; i < hk1.length; i += 1) { - if(headers1[hk1[i]] !== headers2[hk1[i]]) { - return neq(self, other); - } - } - return runtime.raw_array_fold(runtime.makeFunction(function(ans, val1, j) { - if (ffi.isNotEqual(ans)) { return ans; } - return runtime.safeCall(function() { - return rec.app(val1, rowData2[j]); - }, function(eqAns) { - return get(EQ, "equal-and").app(ans, eqAns); - }, "equals:combine-cells"); - }), eq(), rowData1, 0); - }); - - var rowOutput = runtime.makeMethod0(function(self) { - ffi.checkArity(1, arguments, "_output", true); - var vsValue = get(VS, "vs-value").app; - var keys = Object.keys(self.$underlyingTable.headerIndex); - return get(VS, "vs-row").app( - keys.map(function(hdr){return vsValue(hdr.slice(7));}), - keys.map(function(hdr){return vsValue(self.$rowData[self.$underlyingTable.headerIndex[hdr]]);})); - }); - - function makeRow(underlyingTable, rowData) { - var rowVal = runtime.makeObject({ - "get-value": rowGetValue, - "get-column-names": rowGetColumns, - "_output": rowOutput, - "_equals": rowEquals - }); - rowVal = applyBrand(brandRow, rowVal); - rowVal.$underlyingTable = underlyingTable; - rowVal.$rowData = rowData; - return rowVal; - } - - function makeRowFromArray(rawArrayOfTuples) { - var headerIndex = []; - var rowData = []; - - // TODO(joe): error checking here for bogus values, or elsewhere? - // May be good to keep this fast and do checks in Pyret-land - for(var i = 0; i < rawArrayOfTuples.length; i += 1) { - var colname = rawArrayOfTuples[i].vals[0]; - if(headerIndex["column:" + colname] !== undefined) { - return runtime.ffi.throwMessageException("Duplicate column name in row: " + colname); - } - headerIndex["column:" + colname] = i; - rowData[i] = rawArrayOfTuples[i].vals[1]; - } - - return makeRow({ headerIndex: headerIndex }, rowData); - } - - function applyBrand(brand, val) { - return get(brand, "brand").app(val); - } - - function hasBrand(brand, val) { - return get(brand, "test").app(val); - } - - function isTable(val) { - return hasBrand(brandTable, val); - } - - function isRow(val) { - return hasBrand(brandRow, val); - } - - function openTable(info) { - runtime.checkTuple(info); - if (info.vals.length != 2) { - runtime.ffi.throwMessageException("Expected to find {header; contents} pair, " - + "but found a tuple of length " - + info.vals.length); - } - var headers = info.vals[0]; - var contents = info.vals[1]; - runtime.checkArray(headers); - runtime.checkArray(contents); - var names = []; - var sanitizers = []; - for(var i = 0; i < headers.length; ++i) { - runtime.checkTuple(headers[i]); - if (headers[i].vals.length !== 2) { - runtime.ffi.throwMessageException("Expected to find {name; sanitizer} pairs " - + "in header data, but found a tuple of " - + "length " + headers[i].vals.length); - } - var header = headers[i].vals; - runtime.checkString(header[0]); - runtime.checkFunction(header[1]); - names.push(header[0]); - sanitizers.push(header[1]); - } - return runtime.safeCall(function() { - return runtime.eachLoop(runtime.makeFunction(function(i) { - runtime.checkArray(contents[i]); - if (contents[i].length !== headers.length) { - if (i === 0) { - runtime.ffi.throwMessageException("Contents must match header size"); - } else { - runtime.ffi.throwMessageException("Contents must be rectangular"); - } - } - // This loop is stack safe, since it's just a brand-checker - for (var j = 0; j < contents[i].length; ++j) { - runtime.checkCellContent(contents[i][j]); - } - return runtime.safeCall(function() { - return runtime.raw_array_mapi(runtime.makeFunction(function(v, j) { - return sanitizers[j].app(contents[i][j], names[j], runtime.makeNumber(i)); - }), contents[i]); - }, function(new_contents_i) { - contents[i] = new_contents_i; - return runtime.nothing; - }, "openTable:assign-rows"); - }), 0, contents.length); - }, function(_) { - return makeTable(names, contents); - }, "openTable"); - } - - function makeTable(headers, rows) { - var headerIndex = {}; - - for (var i = 0; i < headers.length; i++) { - headerIndex["column:" + headers[i]] = i; - } - - function getColumn(column_name) { - /* TODO: Raise error if table lacks column */ - var column_index; - Object.keys(headers).forEach(function(i) { - if(headers[i] == column_name) { column_index = i; } - }); - return rows.map(function(row){return row[column_index];}); - } - - function hasColumn(column_name) { - return headerIndex.hasOwnProperty("column:" + column_name); - } - - function getRowContentAsRecordFromHeaders(headers, raw_row) { - /* TODO: Raise error if no row at index */ - var obj = {}; - for(var i = 0; i < headers.length; i++) { - obj[headers[i]] = raw_row[i]; - } - return obj; - } - - function getRowContentAsRecord(raw_row) { - return getRowContentAsRecordFromHeaders(headers, raw_row); - } - - function getRowContentAsGetter(headers, raw_row) { - var obj = getRowContentAsRecordFromHeaders(headers, raw_row); - obj["get-value"] = runtime.makeFunction(function(key) { - if(obj.hasOwnProperty(key)) { - return obj[key]; - } - else { - runtime.ffi.throwMessageException("Not found: " + key); - } - }); - return runtime.makeObject(obj); - } - - function multiOrder(sourceArr, colComps, destArr) { - // sourceArr is a raw JS array of table rows - // colComps is an array of 2-element arrays, [true iff ascending, colName] - // destArr is the final array in which to place the sorted rows - // returns destArr, and mutates destArr - if (sourceArr.length === 0) { return destArr; } - var colIdxs = []; - var comps = []; - var LESS = "less"; - var EQ = "equal"; - var MORE = "more"; - for (var i = 0; i < colComps.length; i++) { - comps[i] = (colComps[i][0] ? runtime.lessthan : runtime.greaterthan); - colIdxs[i] = headerIndex["column:" + colComps[i][1]]; - for (var dupIdx = i + 1; dupIdx < colComps.length; dupIdx++) { - if (colComps[i][1] === colComps[dupIdx][1]) { - runtime.ffi.throwMessageException( - "Attempted to sort on the same column multiple times: " - + "'" + colComps[i][1] + "' is used as sort-key " + i - + ", and also as sort-key " + dupIdx); - } - } - } - function helper(sourceArr) { - var lessers = []; - var equals = []; - var greaters = []; - var pivot = sourceArr[0]; - equals.push(pivot); - return runtime.safeCall(function() { - return runtime.eachLoop(runtime.makeFunction(function(rowIdx) { - return runtime.safeCall(function() { - return runtime.raw_array_fold(runtime.makeFunction(function(order, comp, colIdx) { - if (order !== EQ) return order; - else { - return runtime.safeCall(function() { - return comp(sourceArr[rowIdx][colIdxs[colIdx]], pivot[colIdxs[colIdx]]); - }, function(isLess) { - if (isLess) return LESS; - else return runtime.safeCall(function() { - return runtime.equal_always(sourceArr[rowIdx][colIdxs[colIdx]], pivot[colIdxs[colIdx]]); - }, function(isEqual) { - return (isEqual ? EQ : MORE); - }, "multiOrder-isGreater"); - }, "multiOrder-isLess"); - } - }), EQ, comps, 0); - }, function(order) { - if (order === LESS) { lessers.push(sourceArr[rowIdx]); } - else if (order === EQ) { equals.push(sourceArr[rowIdx]); } - else { greaters.push(sourceArr[rowIdx]); } - return runtime.nothing; - }, "multiOrder-temparrs"); - }), 1, sourceArr.length); // start from 1, since index 0 is the pivot - }, function(_) { - return runtime.safeCall(function() { - if (lessers.length === 0) { return destArr; } - else { return helper(lessers); } - }, function(_) { - for (var i = 0; i < equals.length; i++) - destArr.push(equals[i].slice()); // need to copy here - if (greaters.length === 0) { return destArr; } - else { return helper(greaters); } - }, "multiOrder-finalMoves"); - }); - } - return helper(sourceArr); - } - - function order(direction, colname) { - var asList = runtime.ffi.makeList(rows); - var index = headerIndex["column:" + colname]; - var comparator = direction ? runtime.lessthan : runtime.greaterthan; - var compare = runtime.makeFunction(function(l, r) { - return comparator(l[index], r[index]); - }); - var equal = runtime.makeFunction(function(l, r) { - return runtime.equal_always(l[index], r[index]); - }); - return runtime.safeCall(function() { - return runtime.getField(asList, "sort-by").app(compare, equal); - }, function(sortedList) { - return makeTable(headers, runtime.ffi.toArray(sortedList)); - }, "order-sort-by"); - - } - - function makeRowFromValues(vals) { - if(headers.length !== vals.length) { - throw runtime.ffi.throwRowLengthMismatch(makeTable(headers, []), vals); - } - return makeRow({ headerIndex: headerIndex }, vals); - } - - return applyBrand(brandTable, runtime.makeObject({ - - '_header-raw-array': headers, - '_rows-raw-array': rows, - - 'increasing-by': runtime.makeMethod1(function(self, colname) { - ffi.checkArity(2, arguments, "increasing-by", true); - runtime.checkArgsInternal2("tables", "increasing-by", - self, annTable, colname, runtime.String); - return order(true, colname); - }), - 'decreasing-by': runtime.makeMethod1(function(self, colname) { - ffi.checkArity(2, arguments, "decreasing-by", true); - runtime.checkArgsInternal2("tables", "decreasing-by", - self, annTable, colname, runtime.String); - return order(false, colname); - }), - 'order-by': runtime.makeMethod2(function(self, colname, increasing) { - ffi.checkArity(3, arguments, "order-by", true); - runtime.checkArgsInternal3("tables", "order-by", - self, annTable, colname, runtime.String, increasing, runtime.Boolean); - if(!hasColumn(colname)) { - ffi.throwMessageException("The table does not have a column named `"+colname+"`."); - } - return order(increasing, colname); - }), - 'order-by-columns': runtime.makeMethod1(function(self, specs) { - ffi.checkArity(2, arguments, "order-by-columns", true); - runtime.checkArgsInternal2("tables", "order-by-columns", - self, annTable, specs, runtime.List); - var specsArray = ffi.toArray(specs); - var asArrays = []; - for(var i = 0; i < specsArray.length; i += 1) { - runtime.checkTuple(specsArray[i]); - var colname = runtime.getTuple(specsArray[i], 0); - if(!hasColumn(colname)) { - ffi.throwMessageException("The table does not have a column named `"+colname+"`."); - } - asArrays.push([ - runtime.getTuple(specsArray[i], 1), - colname - ]); - } - return runtime.safeCall(function() { - return multiOrder(rows, asArrays, []); - }, function(destArr) { - return makeTable(headers, destArr); - }, "order-by-columns"); - }), - - 'multi-order': runtime.makeMethod1(function(self, colComps) { - ffi.checkArity(2, arguments, "multi-order", true); - runtime.checkArgsInternal2("tables", "multi-order", - self, annTable, colComps, runtime.RawArray); - // colComps is an array of 2-element arrays, [true iff ascending, colName] - for(var i = 0; i < colComps.length; i += 1) { - var colname = colComps[i][1]; - if(!hasColumn(colname)) { - ffi.throwMessageException("The table does not have a column named `"+colname+"`."); - } - } - return runtime.safeCall(function() { - return multiOrder(rows, colComps, []); - }, function(destArr) { - return makeTable(headers, destArr); - }, "multi-order"); - }), - - 'add-column': runtime.makeMethod2(function(self, colname, eltList) { - ffi.checkArity(3, arguments, "add-column", true); - runtime.checkArgsInternal3("tables", "add-column", - self, annTable, colname, runtime.String, eltList, runtime.List); - if(hasColumn(colname)) { - throw runtime.ffi.throwMessageException("column-name-exists"); - } - var asArray = runtime.ffi.toArray(eltList); - if(rows.length !== asArray.length) { - throw runtime.ffi.throwColLengthMismatch(colname, rows.length, asArray.length, eltList); - } - - var newRows = []; - for(var i = 0; i < rows.length; i += 1) { - newRows.push(rows[i].concat([asArray[i]])); - } - - return makeTable(headers.concat([colname]), newRows); - }), - - 'add-row': runtime.makeMethod1(function(self, row) { - ffi.checkArity(2, arguments, 'add-row', true); - runtime.checkArgsInternal2("tables", "add-row", self, annTable, row, annRow); - var theseKeys = Object.keys(headerIndex); - var rowKeys = Object.keys(row.$underlyingTable.headerIndex); - if(theseKeys.length !== rowKeys.length) { - throw runtime.ffi.throwMessageException("add-row-length"); - } - for(var i = 0; i < theseKeys.length; i += 1) { - if(headerIndex["column:" + headers[i]] !== - row.$underlyingTable.headerIndex["column:" + headers[i]]) { - throw runtime.ffi.throwMessageException("row-name-mismatch: " + headers[i]); - } - } - // NOTE(joe): Here we do not copy all the sub-arrays with the - // existing data, we just copy the outer array containing them. - // This relies on the assumption that we never mutate the - // underlying arrays in tables, and avoids significant copying. - // Note also that add-column doesn't get to do this sharing because - // of the row-major organization of tables. - var newRows = rows.concat([row.$rowData]); - return makeTable(headers, newRows); - }), - - 'row-n': runtime.makeMethod1(function(self, row) { - ffi.checkArity(2, arguments, "row-n", true); - runtime.checkArgsInternal2("tables", "row-n", self, annTable, row, runtime.NumInteger); - runtime.checkNumNonNegative(row); // NOTE(Ben): These should be converted to a call to checkArgsInternal - var rowFix = runtime.num_to_fixnum(row); - if(rowFix >= rows.length) { - throw runtime.ffi.throwMessageException("row-n-too-large"); - } - return makeRow({ headerIndex: headerIndex }, rows[rowFix]); - }), - - 'all-rows': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "all-rows", true); - return runtime.ffi.makeList( - rows.map(function(r) { - return makeRow({ headerIndex: headerIndex }, r); - }) - ); - }), - - - 'column': runtime.makeMethod1(function(self, colname) { - ffi.checkArity(2, arguments, "column", true); - runtime.checkArgsInternal2("tables", "column", - self, annTable, colname, runtime.String); - var lookupName = "column:" + colname; - if(!(lookupName in headerIndex)) { - throw runtime.ffi.throwMessageException("no-such-column"); - } - var results = rows.map(function(r) { - return r[headerIndex[lookupName]]; - }); - return runtime.ffi.makeList(results); - }), - - 'column-n': runtime.makeMethod1(function(self, n) { - ffi.checkArity(2, arguments, "column-n", true); - runtime.checkArgsInternal2("tables", "column-n", self, annTable, n, runtime.NumInteger); - runtime.checkNumNonNegative(n); // NOTE(Ben): These should be converted to checkArgsInternal1 - var lookupIndex = runtime.num_to_fixnum(n); - if(lookupIndex >= headers.length) { - throw runtime.ffi.throwMessageException("column-n-too-large"); - } - var results = rows.map(function(r) { - return r[lookupIndex]; - }); - return runtime.ffi.makeList(results); - }), - - 'all-columns': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "all-columns", true); - var collists = []; - for(var c = 0; c < headers.length; c += 1) { - collists.push([]); - } - for(var r = 0; r < rows.length; r += 1) { - for(var c = 0; c < headers.length; c += 1) { - collists[c].push(rows[r][c]); - } - } - return runtime.ffi.makeList(collists.map(runtime.ffi.makeList)); - }), - - 'column-names': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "column-names", true); - return runtime.ffi.makeList(headers); - }), - - 'stack': runtime.makeMethod1(function(self, otherTable) { - ffi.checkArity(2, arguments, "stack", true); - runtime.checkArgsInternal1("tables", "stack", self, annTable, otherTable, annTable); - var otherHeaders = runtime.getField(otherTable, "_header-raw-array"); - if(otherHeaders.length !== headers.length) { - return ffi.throwMessageException("Tables have different column sizes in stack: " + headers.length + " " + otherHeaders.length); - } - var headersSorted = headers.slice(0, headers.length).sort(); - var otherHeadersSorted = otherHeaders.slice(0, headers.length).sort(); - headersSorted.forEach(function(h, i) { - if(h !== otherHeadersSorted[i]) { - return ffi.throwMessageException("The table to be stacked is missing column " + h); - } - }); - - var newRows = runtime.getField(otherTable, "_rows-raw-array"); - newRows = newRows.map(function(row) { - var rowAsRec = getRowContentAsRecordFromHeaders(otherHeaders, row); - console.log(headers); - var newRow = headers.map(function(h) { - return rowAsRec[h]; - }); - return newRow; - }); - return makeTable(headers, rows.concat(newRows)); - }), - - 'reduce': runtime.makeMethod2(function(self, colname, reducer) { - ffi.checkArity(3, arguments, "reduce", true); - runtime.checkArgsInternal3("tables", "reduce", - self, annTable, - colname, runtime.String, - reducer, runtime.Object); - if(rows.length === 0) { ffi.throwMessageException("Reducing an empty table (column names were " + headers.join(", ") + ")"); } - var column = getColumn(colname); - return runtime.safeCall(function() { - return runtime.safeCall(function() { - return runtime.getField(reducer, "one").app(column[0]); - }, function(one) { - if(rows.length === 1) { - return one; - } - else { - var reduce = runtime.getField(reducer, "reduce"); - var reducerWrapped = runtime.makeFunction(function(acc, val, ix) { - return reduce.app(runtime.getTuple(acc, 0, ["tables"]), val); - }); - return runtime.raw_array_fold(reducerWrapped, one, column.slice(1), 1); - } - }, "reduce-one"); - }, function(answerTuple) { - return runtime.getTuple(answerTuple, 1, ["tables"]); - }, "reduce-rest"); - }), - - 'empty': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "empty", true); - return makeTable(headers, []); - }), - - 'drop': runtime.makeMethod1(function(self, colname) { - ffi.checkArity(2, arguments, "drop", true); - runtime.checkArgsInternal1("tables", "drop", - self, annTable, colname, runtime.String); - var newHeaders = headers.filter(function(h) { return h !== colname; }) - var newRows = rows.map(function(rawRow) { - return rawRow.filter(function(h, i) { - return i !== headerIndex['column:' + colname]; - }); - }); - return makeTable(newHeaders, newRows); - }), - - 'rename-column': runtime.makeMethod1(function(self, colname, newcolname) { - ffi.checkArity(3, arguments, "rename-column", true); - runtime.checkArgsInternal1("tables", "rename-column", - self, annTable, colname, runtime.String, newcolname, runtime.String); - if(!hasColumn(colname)) { - ffi.throwMessageException("transform-column: tried changing the name of column " + colname + " but it doesn't exist (existing column name(s) were " + headers.join(", ") + ")"); - } - if(hasColumn(newcolname)) { - ffi.throwMessageException("transform-column: tried changing the name of column " + colname + " to " + newcolname + " but that new name already exists as a column name (existing column name(s) were " + headers.join(", ") + ")"); - } - var newHeaders = headers.map(function(h) { - if(h === colname) { return newcolname; } else { return h; } - }); - return makeTable(newHeaders, rows); - }), - - 'transform-column': runtime.makeMethod1(function(self, colname, func) { - ffi.checkArity(3, arguments, "transform-column", true); - runtime.checkArgsInternal3("tables", "transform-column", - self, annTable, colname, runtime.String, func, runtime.Function); - - if(!hasColumn(colname)) { - ffi.throwMessageException("transform-column: tried changing the column " + colname + " but it doesn't exist (existing column name(s) were " + headers.join(", ") + ")"); - } - - var i = headerIndex['column:' + colname]; - - var wrappedFunc = function(rawRow) { - return runtime.safeCall(function() { - return func.app(rawRow[i]); - }, - function(newVal) { - var result = rawRow.slice(0, i).concat([newVal]).concat(rawRow.slice(i + 1, rawRow.length)); - return result; - }, "table-transform-cell"); - }; - - return runtime.safeCall(function() { - return runtime.raw_array_map(runtime.makeFunction(wrappedFunc, "func"), rows); - }, function(newRows) { - return makeTable(headers, newRows); - }, "table-transform-column"); - }), - - - - 'build-column': runtime.makeMethod1(function(self, colname, func) { - ffi.checkArity(3, arguments, "build-column", true); - runtime.checkArgsInternal3("tables", "build-column", - self, annTable, colname, runtime.String, func, runtime.Function); - - if(hasColumn(colname)) { - ffi.throwMessageException("build-column: tried adding the column " + colname + " but it already exists (existing column names were " + headers.join(", ") + ")"); - } - - var wrappedFunc = function(rawRow) { - return runtime.safeCall(function() { - var thisRow = makeRow({ headerIndex: headerIndex }, rawRow); - return func.app(thisRow); - }, - function(newVal) { - return rawRow.concat([newVal]); - }, "table-add-cell"); - }; - - return runtime.safeCall(function() { - return runtime.raw_array_map(runtime.makeFunction(wrappedFunc, "func"), rows); - }, function(newRows) { - return makeTable(headers.concat([colname]), newRows); - }, "table-add-column"); - }), - - 'filter-by': runtime.makeMethod2(function(self, colname, pred) { - ffi.checkArity(3, arguments, "filter-by", true); - runtime.checkArgsInternal3("tables", "filter-by", - self, annTable, colname, runtime.String, pred, runtime.Function); - if(!(("column:" + colname) in headerIndex)) { - throw runtime.ffi.throwMessageException("no-such-column"); - } - var wrappedPred = function(rawRow) { - return pred.app(getRowContentAsRecord(rawRow)[colname]); - } - return runtime.safeCall(function() { - return runtime.raw_array_filter(runtime.makeFunction(wrappedPred, "pred"), rows); - }, function(filteredRows) { - return makeTable(headers, filteredRows); - }, "table-filter-by"); - }), - - - 'filter': runtime.makeMethod1(function(self, pred) { - ffi.checkArity(2, arguments, "filter", true); - runtime.checkArgsInternal2("tables", "filter", - self, annTable, pred, runtime.Function); - var wrappedPred = function(rawRow) { - return pred.app(makeRow({ headerIndex: headerIndex }, rawRow)); - } - return runtime.safeCall(function() { - return runtime.raw_array_filter(runtime.makeFunction(wrappedPred, "pred"), rows); - }, function(filteredRows) { - return makeTable(headers, filteredRows); - }, "table-filter"); - }), - - 'length': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "length", true); - return runtime.makeNumber(rows.length); - }), - - 'get-column': runtime.makeMethod1(function(self, col_name) { - ffi.checkArity(2, arguments, "get-column", true); - runtime.checkArgsInternal2("tables", "get-column", - self, annTable, col_name, runtime.String); - if(!hasColumn(col_name)) { - ffi.throwMessageException("The table does not have a column named `"+col_name+"`."); - } - return runtime.ffi.makeList(getColumn(col_name)); - }), - - 'select-columns': runtime.makeMethod1(function(self, colnames) { - ffi.checkArity(2, arguments, "select-columns", true); - runtime.checkArgsInternal2("tables", "select-columns", - self, annTable, colnames, runtime.List); - - var colnamesList = ffi.toArray(colnames); - if(colnamesList.length === 0) { - throw ffi.throwMessageException("zero-columns"); - } - for(var i = 0; i < colnamesList.length; i += 1) { - runtime.checkString(colnamesList[i]); - if(!hasColumn(colnamesList[i])) { - throw ffi.throwMessageException("no-such-column"); - } - } - - var newRows = []; - for(var i = 0; i < rows.length; i += 1) { - newRows[i] = []; - for(var j = 0; j < colnamesList.length; j += 1) { - var colIndex = headerIndex['column:' + colnamesList[j]]; - newRows[i].push(rows[i][colIndex]); - } - } - return makeTable(colnamesList, newRows); - }), - - - '_column-index': runtime.makeMethod3(function(_, operation_loc, table_loc, col_name, col_loc) { - ffi.checkArity(5, arguments, "_column-index", true); - var col_index = headerIndex['column:'+col_name]; - if(col_index === undefined) { - ffi.throwColumnNotFound(operation_loc, col_name, col_loc, - runtime.ffi.makeList(Object.keys(headerIndex).map(function(k) { return k.slice(7); }))); - } - return col_index; - }), - - '_no-column': runtime.makeMethod3(function(_, operation_loc, table_loc, col_name, col_loc) { - ffi.checkArity(5, arguments, "_no-column", true); - var col_index = headerIndex['column:'+col_name]; - if(col_index != undefined) - ffi.throwDuplicateColumn(operation_loc, col_name, col_loc); - return col_index; - }), - - '_equals': runtime.makeMethod2(function(self, other, equals) { - ffi.checkArity(3, arguments, "_equals", true); - // is the other a table - // same number of columns? - // same number of rows? - // columns have same names? - // each row has the same elements - if (!hasBrand(brandTable, other)) { - return neq(self, other); - } - var otherHeaders = get(other, "_header-raw-array"); - var otherRows = get(other, "_rows-raw-array"); - if (headers.length !== otherHeaders.length - || rows.length !== otherRows.length) { - return neq(self, other); - } - for (var i = 0; i < headers.length; ++i) { - if (headers[i] != otherHeaders[i]) { - return neq(self, other); - } - } - return runtime.raw_array_fold(runtime.makeFunction(function(ans, selfRow, i) { - if (ffi.isNotEqual(ans)) { return ans; } - var otherRow = otherRows[i]; - return runtime.raw_array_fold(runtime.makeFunction(function(ans, selfRowJ, j) { - if (ffi.isNotEqual(ans)) { return ans; } - return runtime.safeCall(function() { - return equals.app(selfRowJ, otherRow[j]); - }, function(eqAns) { - return get(EQ, "equal-and").app(ans, eqAns); - }, "equals:combine-cells"); - }), ans, selfRow, 0); - }), eq(), rows, 0); - }), - - '_output': runtime.makeMethod0(function(_) { - ffi.checkArity(1, arguments, "_output", true); - var vsValue = get(VS, "vs-value").app; - var vsString = get(VS, "vs-str").app; - return get(VS, "vs-table").app( - headers.map(function(hdr){return vsString(hdr);}), - rows.map(function(row){return row.map( - function(elm){return vsValue(elm);});})); - }), - - 'row': runtime.makeMethodN(function(self, ...args) { - // NOTE: Deliberately no arity check - if(headers.length !== args.length) { - throw runtime.ffi.throwRowLengthMismatch(makeTable(headers, []), args); - } - return makeRow({ headerIndex: headerIndex }, args); - }), - - 'new-row': runtime.makeObject({ - make: runtime.makeFunction(function(ar) { return makeRowFromValues(ar); }), - make0: runtime.makeFunction(function( ) { return makeRowFromValues([]); }), - make1: runtime.makeFunction(function(v) { return makeRowFromValues([v]); }), - make2: runtime.makeFunction(function(v1, v2) { return makeRowFromValues([v1, v2]); }), - make3: runtime.makeFunction(function(v1, v2, v3) { return makeRowFromValues([v1, v2, v3]); }), - make4: runtime.makeFunction(function(v1, v2, v3, v4) { return makeRowFromValues([v1, v2, v3, v4]); }), - make5: runtime.makeFunction(function(v1, v2, v3, v4, v5) { return makeRowFromValues([v1, v2, v3, v4, v5]); }) - }) - })); - } - - return runtime.makeJSModuleReturn({ - TableAnn : annTable, - RowAnn : annRow, - makeTable: makeTable, - makeRow: makeRow, - makeRowFromArray: makeRowFromArray, - openTable: openTable, - isTable: isTable, - isRow: isRow - }, - {}); - } -}) -, -"builtin://tables":({"theMap":"{\"version\":3,\"sources\":[\"builtin://tables\"],\"names\":[\"builtin://tables\",\",15,11,314,15,19,322\",\",18,11,414,18,21,424\",\",23,13,458,23,31,476\",\",27,14,609,27,19,614\",\",30,15,701,30,22,708\",\",31,17,726,31,26,735\",\",32,30,766,32,51,787\",\",39,18,950,39,29,961\",\",43,17,1042,43,25,1050\",\",53,17,1248,53,25,1256\",\",59,49,1352,59,72,1375\",\",61,49,1426,61,72,1449\",\",63,64,1515,63,69,1520\",\",63,49,1500,63,70,1521\",\",66,18,1553,66,44,1579\",\",67,39,1624,67,48,1633\",\",67,16,1601,67,51,1636\",\",68,40,1682,68,49,1691\",\",68,17,1659,68,54,1696\",\",69,45,1747,69,54,1756\",\",69,22,1724,69,64,1766\",\",70,49,1821,70,58,1830\",\",70,26,1798,70,72,1844\",\",71,53,1903,71,62,1912\",\",71,30,1880,71,80,1930\",\",72,57,1993,72,66,2002\",\",72,34,1970,72,88,2024\",\",76,9,2073,76,30,2094\",\",76,9,2073,76,49,2113\",\",80,6,2214,80,28,2236\",\",78,20,2148,78,52,2180\",\",78,4,2132,81,7,2244\",\",83,4,2311,83,16,2323\",\",82,2,2247,84,5,2329\",\",89,38,2423,89,47,2432\",\",89,16,2401,89,50,2435\",\",90,39,2480,90,48,2489\",\",90,17,2458,90,53,2494\",\",91,44,2544,91,53,2553\",\",91,22,2522,91,63,2563\",\",92,48,2617,92,57,2626\",\",92,26,2595,92,71,2640\",\",93,52,2698,93,61,2707\",\",93,30,2676,93,79,2725\",\",94,56,2787,94,65,2796\",\",94,34,2765,94,87,2818\",\",99,18,2952,99,27,2961\",\",99,4,2938,99,44,2978\",\",98,9,2910,100,5,2984\",\",101,23,3008,101,48,3033\",\",101,2,2987,101,49,3034\",\",108,5,3136,108,31,3162\",\",108,5,3136,108,36,3167\",\",109,4,3173,109,60,3229\",\",111,19,3257,111,45,3283\",\",113,9,3382,113,15,3388\",\",116,8,3439,116,34,3465\",\",112,30,3314,112,59,3343\",\",112,4,3288,118,7,3483\",\",125,33,3577,125,42,3586\",\",125,16,3560,125,45,3589\",\",126,34,3629,126,43,3638\",\",126,17,3612,126,48,3643\",\",127,39,3688,127,48,3697\",\",127,22,3671,127,58,3707\",\",128,43,3756,128,52,3765\",\",128,26,3739,128,66,3779\",\",129,47,3832,129,56,3841\",\",129,30,3815,129,74,3859\",\",130,51,3916,130,60,3925\",\",130,34,3899,130,82,3947\",\",7,0,61,131,1,3954\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAcUC,gCAdVD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAiBUE,kCAjBVF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsBYG,oCAtBZH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0BaI,iCA1BbJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA6BcK,iCA7BdL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA8BgBM,kCA9BhBN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA+B6BO,kDA/B7BP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsCiBQ,kCAtCjBR;AAAAA;AAsCiBQ,iCAtCjBR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA0CgBS,kCA1ChBT;AAAAA;AA0CgBS,8BA1ChBT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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\",\"file\":\"builtin://tables\"}", -"theModule":"function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__164(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://tables\";\nvar D = R.undefined;\nvar L = [[M,12,18,196,21,3,443],\n[M,14,9,265,16,7,333],\n[M,14,30,286,14,36,292],\n[M,14,38,294,14,44,300],\n[M,14,29,285,14,45,301],\n[M,15,11,314,15,19,322],\n[M,14,18,274,14,24,280],\n[M,17,12,347,19,7,435],\n[M,17,51,386,17,57,392],\n[M,17,59,394,17,65,400],\n[M,17,50,385,17,66,401],\n[M,18,11,414,18,21,424],\n[M,17,26,361,17,32,367],\n[M,17,39,374,17,45,380],\n[M,12,41,219,12,72,250],\n[M,12,30,208,12,36,214],\n[M,26,7,547,28,5,622],\n[M,26,29,569,26,35,575],\n[M,26,37,577,26,43,583],\n[M,26,28,568,26,44,584],\n[M,26,46,586,26,52,592],\n[M,26,27,567,26,53,593],\n[M,27,14,609,27,19,614],\n[M,26,16,556,26,22,562],\n[M,29,10,634,33,5,795],\n[M,29,15,639,29,18,642],\n[M,29,20,644,29,25,649],\n[M,29,36,660,29,42,666],\n[M,29,44,668,29,50,674],\n[M,29,35,659,29,51,675],\n[M,29,53,677,29,59,683],\n[M,29,34,658,29,60,684],\n[M,32,30,766,32,51,787],\n[M,31,17,726,31,26,735],\n[M,30,15,701,30,22,708],\n[M,29,14,638,29,26,650],\n[M,36,15,814,47,3,1095],\n[M,38,9,924,41,7,1000],\n[M,39,18,950,39,29,961],\n[M,42,12,1014,45,7,1087],\n[M,43,17,1042,43,25,1050],\n[M,36,82,881,36,110,909],\n[M,36,40,839,36,46,845],\n[M,36,54,853,36,77,876],\n[M,49,17,1114,57,3,1301],\n[M,51,9,1188,51,27,1206],\n[M,52,12,1220,55,7,1293],\n[M,53,17,1248,53,25,1256],\n[M,49,54,1151,49,76,1173],\n[M,49,32,1129,49,49,1146],\n[M,63,64,1515,63,69,1520],\n[M,66,8,1543,66,48,1583],\n[M,66,18,1553,66,44,1579],\n[M,67,9,1594,67,55,1640],\n[M,67,38,1623,67,50,1635],\n[M,67,39,1624,67,48,1633],\n[M,67,16,1601,67,51,1636],\n[M,68,9,1651,68,58,1700],\n[M,68,39,1681,68,53,1695],\n[M,68,40,1682,68,49,1691],\n[M,68,17,1659,68,54,1696],\n[M,69,9,1711,69,68,1770],\n[M,69,44,1746,69,63,1765],\n[M,69,45,1747,69,54,1756],\n[M,69,22,1724,69,64,1766],\n[M,70,9,1781,70,76,1848],\n[M,70,48,1820,70,71,1843],\n[M,70,49,1821,70,58,1830],\n[M,70,26,1798,70,72,1844],\n[M,71,9,1859,71,84,1934],\n[M,71,52,1902,71,79,1929],\n[M,71,53,1903,71,62,1912],\n[M,71,30,1880,71,80,1930],\n[M,72,9,1945,72,92,2028],\n[M,72,56,1992,72,87,2023],\n[M,72,57,1993,72,66,2002],\n[M,72,34,1970,72,88,2024],\n[M,75,0,2033,85,3,2333],\n[M,76,9,2073,76,49,2113],\n[M,78,4,2132,81,7,2244],\n[M,80,6,2214,80,28,2236],\n[M,78,20,2148,78,52,2180],\n[M,82,2,2247,84,5,2329],\n[M,83,4,2311,83,16,2323],\n[M,89,9,2394,89,54,2439],\n[M,89,37,2422,89,49,2434],\n[M,89,38,2423,89,47,2432],\n[M,89,16,2401,89,50,2435],\n[M,90,9,2450,90,57,2498],\n[M,90,38,2479,90,52,2493],\n[M,90,39,2480,90,48,2489],\n[M,90,17,2458,90,53,2494],\n[M,91,9,2509,91,67,2567],\n[M,91,43,2543,91,62,2562],\n[M,91,44,2544,91,53,2553],\n[M,91,22,2522,91,63,2563],\n[M,92,9,2578,92,75,2644],\n[M,92,47,2616,92,70,2639],\n[M,92,48,2617,92,57,2626],\n[M,92,26,2595,92,71,2640],\n[M,93,9,2655,93,83,2729],\n[M,93,51,2697,93,78,2724],\n[M,93,52,2698,93,61,2707],\n[M,93,30,2676,93,79,2725],\n[M,94,9,2740,94,91,2822],\n[M,94,55,2786,94,86,2817],\n[M,94,56,2787,94,65,2796],\n[M,94,34,2765,94,87,2818],\n[M,97,0,2827,102,3,3038],\n[M,98,9,2910,100,5,2984],\n[M,99,17,2951,99,43,2977],\n[M,99,18,2952,99,27,2961],\n[M,99,4,2938,99,44,2978],\n[M,101,2,2987,101,49,3034],\n[M,97,67,2894,97,72,2899],\n[M,97,37,2864,97,43,2870],\n[M,97,55,2882,97,62,2889],\n[M,107,0,3100,120,3,3493],\n[M,106,52,3094,106,57,3099],\n[M,109,4,3173,109,60,3229],\n[M,111,5,3243,111,9,3247],\n[M,111,11,3249,111,15,3253],\n[M,112,4,3288,118,7,3483],\n[M,115,9,3413,115,14,3418],\n[M,115,16,3420,115,21,3425],\n[M,116,8,3439,116,34,3465],\n[M,115,8,3412,115,22,3426],\n[M,113,9,3382,113,15,3388],\n[M,112,30,3314,112,59,3343],\n[M,111,4,3242,111,16,3254],\n[M,108,5,3136,108,36,3167],\n[M,106,19,3061,106,48,3090],\n[M,125,9,3553,125,49,3593],\n[M,125,32,3576,125,44,3588],\n[M,125,33,3577,125,42,3586],\n[M,125,16,3560,125,45,3589],\n[M,126,9,3604,126,52,3647],\n[M,126,33,3628,126,47,3642],\n[M,126,34,3629,126,43,3638],\n[M,126,17,3612,126,48,3643],\n[M,127,9,3658,127,62,3711],\n[M,127,38,3687,127,57,3706],\n[M,127,39,3688,127,48,3697],\n[M,127,22,3671,127,58,3707],\n[M,128,9,3722,128,70,3783],\n[M,128,42,3755,128,65,3778],\n[M,128,43,3756,128,52,3765],\n[M,128,26,3739,128,66,3779],\n[M,129,9,3794,129,78,3863],\n[M,129,46,3831,129,73,3858],\n[M,129,47,3832,129,56,3841],\n[M,129,30,3815,129,74,3859],\n[M,130,9,3874,130,86,3951],\n[M,130,50,3915,130,81,3946],\n[M,130,51,3916,130,60,3925],\n[M,130,34,3899,130,82,3947],\n[\"dummy location\"],\n[M,7,0,61,131,1,3954],\n[M,63,15,1466,63,46,1497],\n[M,61,15,1392,61,46,1423],\n[M,59,15,1318,59,46,1349],\n[M,25,16,494,25,57,535],\n[M,8,2,100,8,33,131],\n[M,9,2,135,9,41,174],\n[M,1,0,0,131,1,3954]];\nvar $type$Table1 = R.getModuleField(\"builtin://global\",\"types\",\"Table\");\nvar raw$array$from$list2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-from-list\");\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar num$min3 = R.getModuleField(\"builtin://global\",\"values\",\"num-min\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar _minus9 = R.getModuleField(\"builtin://global\",\"values\",\"_minus\");\nvar raw$array2 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _divide13 = R.getModuleField(\"builtin://global\",\"values\",\"_divide\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar raw$array$fold3 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-fold\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar raw$array$get14 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-get\");\nvar num$max15 = R.getModuleField(\"builtin://global\",\"values\",\"num-max\");\nvar raw$array$length1 = R.getModuleField(\"builtin://global\",\"values\",\"raw-array-length\");\nvar $underscore_import8 = $$underscore_import5;\nvar $included$19 = $$included$127;\nvar fold4 = R.getModuleField(\"builtin://lists\",\"values\",\"fold\");\nvar empty5 = R.getModuleField(\"builtin://lists\",\"values\",\"empty\");\nvar List6 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar map7 = R.getModuleField(\"builtin://lists\",\"values\",\"map\");\nvar $toplevel15 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__164($$resumer13) {\nvar $step14 = 0;\nvar $elidedFrames49 = 0;\nvar $ans46 = D;\nvar $al47 = L[164];\nif(R.isAR($$resumer13)) {\n$step14 = $$resumer13.step;\n$al47 = $$resumer13.from;\n$ans46 = $$resumer13.ans;\n$elidedFrames49 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nraw$row758 = $$resumer13.vars[0];\nrunning$min1012 = $$resumer13.vars[1];\nReducer99 = $$resumer13.vars[2];\nrunning$mean1014 = $$resumer13.vars[3];\nrunning$fold1013 = $$resumer13.vars[4];\ndifference$from112 = $$resumer13.vars[5];\nrunning$reduce239 = $$resumer13.vars[6];\nrunning$sum1018 = $$resumer13.vars[7];\ndifference1017 = $$resumer13.vars[8];\nrunning$max1015 = $$resumer13.vars[9];\ntable$from$rows771 = $$resumer13.vars[10];\nanswer1019 = $$resumer13.vars[11];\ntable$from$column776 = $$resumer13.vars[12];\ntable$from$columns1016 = $$resumer13.vars[13];\ntable$from$cols827 = $$resumer13.vars[14];\ntable$from$raw$array458 = $$resumer13.vars[15];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans46 = R.mC();\n}\nwhile(!R.isContinuation($ans46)) {\nswitch($step14) {\ncase 0: var Reducer99 = R.mRA([\"one\",\"reduce\"],[L[162],L[163]],{\"one\":R.Function,\n\"reduce\":R.Function});\nvar $temp_lam54 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__0($init55) {\nvar $step53 = 0;\nvar $elidedFrames60 = 0;\nvar $ans57 = D;\nvar $al58 = L[0];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar init55 = $init55;\n// callee optimization;\nwhile(!R.isContinuation($ans57)) {\nswitch($step53) {\ncase 0: $step53 = 1;\n$al58 = L[15];\nR._cA(L[15],$type$Number3,init55);\nbreak;\ncase 1: var $temp_lam70 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__1($n71) {\nvar $step69 = 0;\nvar $elidedFrames76 = 0;\nvar $ans73 = D;\nvar $al74 = L[1];\nif(R.isAR($n71)) {\n$step69 = $n71.step;\n$al74 = $n71.from;\n$ans73 = $n71.ans;\n$elidedFrames76 = $n71.elidedFrames;\nn71 = $n71.args[0];\nann_check_temp78 = $n71.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[1],1,$t,false);\n}\nvar n71 = $n71;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans73 = R.mC();\n}\nwhile(!R.isContinuation($ans73)) {\nswitch($step69) {\ncase 0: $step69 = 1;\n$al74 = L[6];\nR._cA(L[6],$type$Number3,n71);\nbreak;\ncase 1: $step69 = 2;\n$al74 = L[5];\n// omitting isFunction check;\n$ans73 = _minus9.app(n71,init55);\nbreak;\ncase 2: var anf_tuple_fields77 = $ans73;\nvar ann_check_temp78 = R.makeTuple([n71,anf_tuple_fields77]);\n$step69 = 3;\n$al74 = L[4];\nvar $ann$check79 = R._cA(L[4],R.mTA([L[2],L[3]],[$type$Number3,$type$Number3]),ann_check_temp78);\nif(R.isContinuation($ann$check79)) {\n$ans73 = $ann$check79;\n}\nbreak;\ncase 3: $step69 = 4;\n$ans73 = ann_check_temp78;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans73;\ndefault: R.ffi.throwSpinnakerError(L[1],$step69);\n}\n}\nif($step69 !== 4) {\n$ans73.stack[R.EXN_STACKHEIGHT++] = R.mAR($al74,$temp_lam70,$step69,[n71],[ann_check_temp78],$elidedFrames76);\n}\nreturn $ans73;\n};\nvar anf_obj96 = R.mF($temp_lam70,\"\");\nvar $temp_lam84 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__7($last$n85,$n86) {\nvar $step83 = 0;\nvar $elidedFrames91 = 0;\nvar $ans88 = D;\nvar $al89 = L[7];\nif(R.isAR($last$n85)) {\n$step83 = $last$n85.step;\n$al89 = $last$n85.from;\n$ans88 = $last$n85.ans;\n$elidedFrames91 = $last$n85.elidedFrames;\nlast$n85 = $last$n85.args[0];\nn86 = $last$n85.args[1];\nann_check_temp93 = $last$n85.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[7],2,$t,false);\n}\nvar last$n85 = $last$n85;\nvar n86 = $n86;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans88 = R.mC();\n}\nwhile(!R.isContinuation($ans88)) {\nswitch($step83) {\ncase 0: $step83 = 1;\n$al89 = L[12];\nR._cA(L[12],$type$Number3,last$n85);\nbreak;\ncase 1: $step83 = 2;\n$al89 = L[13];\nR._cA(L[13],$type$Number3,n86);\nbreak;\ncase 2: $step83 = 3;\n$al89 = L[11];\n// omitting isFunction check;\n$ans88 = _minus9.app(n86,last$n85);\nbreak;\ncase 3: var anf_tuple_fields92 = $ans88;\nvar ann_check_temp93 = R.makeTuple([n86,anf_tuple_fields92]);\n$step83 = 4;\n$al89 = L[10];\nvar $ann$check94 = R._cA(L[10],R.mTA([L[8],L[9]],[$type$Number3,$type$Number3]),ann_check_temp93);\nif(R.isContinuation($ann$check94)) {\n$ans88 = $ann$check94;\n}\nbreak;\ncase 4: $step83 = 5;\n$ans88 = ann_check_temp93;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans88;\ndefault: R.ffi.throwSpinnakerError(L[7],$step83);\n}\n}\nif($step83 !== 5) {\n$ans88.stack[R.EXN_STACKHEIGHT++] = R.mAR($al89,$temp_lam84,$step83,[last$n85,n86],[ann_check_temp93],$elidedFrames91);\n}\nreturn $ans88;\n};\nvar anf_obj97 = R.mF($temp_lam84,\"\");\nvar ann_check_temp98 = R.mO({\"one\":anf_obj96,\n\"reduce\":anf_obj97});\n$step53 = 2;\n$al58 = L[14];\nvar $ann$check102 = R._cA(L[14],Reducer99,ann_check_temp98);\nif(R.isContinuation($ann$check102)) {\n$ans57 = $ann$check102;\n}\nbreak;\ncase 2: $step53 = 3;\n$ans57 = ann_check_temp98;\nbreak;\ncase 3: return $ans57;\ndefault: R.ffi.throwSpinnakerError(L[0],$step53);\n}\n}\nreturn $ans57;\n};\nvar difference$from112 = R.mF($temp_lam54,\"\");\n// caller optimization;\n$ans46 = difference$from112.app((0));\nvar difference1017 = $ans46;\nvar $temp_lam114 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__16($n115) {\nvar $step113 = 0;\nvar $elidedFrames119 = 0;\nvar $ans116 = D;\nvar $al117 = L[16];\nif(R.isAR($n115)) {\n$step113 = $n115.step;\n$al117 = $n115.from;\n$ans116 = $n115.ans;\n$elidedFrames119 = $n115.elidedFrames;\nn115 = $n115.args[0];\nanf_tuple_fields120 = $n115.vars[0];\nann_check_temp122 = $n115.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[16],1,$t,false);\n}\nvar n115 = $n115;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans116 = R.mC();\n}\nwhile(!R.isContinuation($ans116)) {\nswitch($step113) {\ncase 0: $step113 = 1;\n$al117 = L[23];\nR._cA(L[23],$type$Number3,n115);\nbreak;\ncase 1: var anf_tuple_fields120 = R.makeTuple([n115,(1)]);\n$step113 = 2;\n$al117 = L[22];\n// omitting isFunction check;\n$ans116 = _divide13.app(n115,(1));\nbreak;\ncase 2: var anf_tuple_fields121 = $ans116;\nvar ann_check_temp122 = R.makeTuple([anf_tuple_fields120,anf_tuple_fields121]);\n$step113 = 3;\n$al117 = L[21];\nvar $ann$check123 = R._cA(L[21],R.mTA([L[19],L[20]],[R.mTA([L[17],L[18]],[$type$Number3,$type$Number3]),$type$Number3]),ann_check_temp122);\nif(R.isContinuation($ann$check123)) {\n$ans116 = $ann$check123;\n}\nbreak;\ncase 3: $step113 = 4;\n$ans116 = ann_check_temp122;\nbreak;\ncase 4: ++R.GAS;\nreturn $ans116;\ndefault: R.ffi.throwSpinnakerError(L[16],$step113);\n}\n}\nif($step113 !== 4) {\n$ans116.stack[R.EXN_STACKHEIGHT++] = R.mAR($al117,$temp_lam114,$step113,[n115],[anf_tuple_fields120,ann_check_temp122],$elidedFrames119);\n}\nreturn $ans116;\n};\nvar anf_obj146 = R.mF($temp_lam114,\"\");\nvar $temp_lam126 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__24($tup127,$n128) {\nvar $step125 = 0;\nvar $elidedFrames132 = 0;\nvar $ans129 = D;\nvar $al130 = L[24];\nif(R.isAR($tup127)) {\n$step125 = $tup127.step;\n$al130 = $tup127.from;\n$ans129 = $tup127.ans;\n$elidedFrames132 = $tup127.elidedFrames;\ntup127 = $tup127.args[0];\nn128 = $tup127.args[1];\ncount134 = $tup127.vars[0];\nnext$sum135 = $tup127.vars[1];\nanf_tuple_fields137 = $tup127.vars[2];\nann_check_temp140 = $tup127.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[24],2,$t,false);\n}\nvar tup127 = $tup127;\nvar n128 = $n128;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans129 = R.mC();\n}\nwhile(!R.isContinuation($ans129)) {\nswitch($step125) {\ncase 0: $step125 = 1;\n$al130 = L[35];\nR.checkTupleBind(tup127,2,L[35]);\nbreak;\ncase 1: var sum133 = R.getTuple(tup127,0,L[25]);\nvar count134 = R.getTuple(tup127,1,L[26]);\n$step125 = 2;\n$al130 = L[34];\n// omitting isFunction check;\n$ans129 = _plus5.app(sum133,n128);\nbreak;\ncase 2: var next$sum135 = $ans129;\n$step125 = 3;\n$al130 = L[33];\n// omitting isFunction check;\n$ans129 = _plus5.app(count134,(1));\nbreak;\ncase 3: var next$count136 = $ans129;\nvar anf_tuple_fields137 = R.makeTuple([next$sum135,next$count136]);\n$step125 = 4;\n$al130 = L[32];\n// omitting isFunction check;\n$ans129 = _divide13.app(next$sum135,next$count136);\nbreak;\ncase 4: var anf_tuple_fields138 = $ans129;\nvar ann_check_temp140 = R.makeTuple([anf_tuple_fields137,anf_tuple_fields138]);\n$step125 = 5;\n$al130 = L[31];\nvar $ann$check141 = R._cA(L[31],R.mTA([L[29],L[30]],[R.mTA([L[27],L[28]],[$type$Number3,$type$Number3]),$type$Number3]),ann_check_temp140);\nif(R.isContinuation($ann$check141)) {\n$ans129 = $ann$check141;\n}\nbreak;\ncase 5: $step125 = 6;\n$ans129 = ann_check_temp140;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans129;\ndefault: R.ffi.throwSpinnakerError(L[24],$step125);\n}\n}\nif($step125 !== 6) {\n$ans129.stack[R.EXN_STACKHEIGHT++] = R.mAR($al130,$temp_lam126,$step125,[tup127,n128],[count134,next$sum135,anf_tuple_fields137,ann_check_temp140],$elidedFrames132);\n}\nreturn $ans129;\n};\nvar anf_obj147 = R.mF($temp_lam126,\"\");\nvar running$mean1014 = R.mO({\"one\":anf_obj146,\n\"reduce\":anf_obj147});\n$step14 = 1;\n$al47 = L[161];\nvar $ann$check1024 = R._cA(L[161],Reducer99,running$mean1014);\nif(R.isContinuation($ann$check1024)) {\n$ans46 = $ann$check1024;\n}\nbreak;\ncase 1: var $temp_lam149 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__36($init150,$op151) {\nvar $step148 = 0;\nvar $elidedFrames155 = 0;\nvar $ans152 = D;\nvar $al153 = L[36];\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[36],2,$t,false);\n}\nvar init150 = $init150;\nvar op151 = $op151;\n// callee optimization;\nwhile(!R.isContinuation($ans152)) {\nswitch($step148) {\ncase 0: $step148 = 1;\n$al153 = L[42];\nR._cA(L[42],R.Any,init150);\nbreak;\ncase 1: $step148 = 2;\n$al153 = L[43];\nR._cA(L[43],R.Function,op151);\nbreak;\ncase 2: var $temp_lam157 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__37($n159) {\nvar $step156 = 0;\nvar $elidedFrames168 = 0;\nvar $ans165 = D;\nvar $al166 = L[37];\nif(R.isAR($n159)) {\n$step156 = $n159.step;\n$al166 = $n159.from;\n$ans165 = $n159.ans;\n$elidedFrames168 = $n159.elidedFrames;\nn159 = $n159.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[37],1,$t,false);\n}\nvar n159 = $n159;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans165 = R.mC();\n}\nwhile(!R.isContinuation($ans165)) {\nswitch($step156) {\ncase 0: $step156 = 1;\n$al166 = L[38];\nif(typeof(op151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al166,op151);\n}\n$ans165 = op151.app(init150,n159);\nbreak;\ncase 1: var first$row169 = $ans165;\n$step156 = 2;\n$ans165 = R.makeTuple([first$row169,first$row169]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans165;\ndefault: R.ffi.throwSpinnakerError(L[37],$step156);\n}\n}\nif($step156 !== 2) {\n$ans165.stack[R.EXN_STACKHEIGHT++] = R.mAR($al166,$temp_lam157,$step156,[n159],[],$elidedFrames168);\n}\nreturn $ans165;\n};\nvar anf_obj183 = R.mF($temp_lam157,\"\");\nvar $temp_lam173 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__39($m174,$n175) {\nvar $step172 = 0;\nvar $elidedFrames179 = 0;\nvar $ans176 = D;\nvar $al177 = L[39];\nif(R.isAR($m174)) {\n$step172 = $m174.step;\n$al177 = $m174.from;\n$ans176 = $m174.ans;\n$elidedFrames179 = $m174.elidedFrames;\nm174 = $m174.args[0];\nn175 = $m174.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[39],2,$t,false);\n}\nvar m174 = $m174;\nvar n175 = $n175;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans176 = R.mC();\n}\nwhile(!R.isContinuation($ans176)) {\nswitch($step172) {\ncase 0: $step172 = 1;\n$al177 = L[40];\nif(typeof(op151.app) !== \"function\") {\nR.ffi.throwNonFunApp($al177,op151);\n}\n$ans176 = op151.app(m174,n175);\nbreak;\ncase 1: var next$val180 = $ans176;\n$step172 = 2;\n$ans176 = R.makeTuple([next$val180,next$val180]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans176;\ndefault: R.ffi.throwSpinnakerError(L[39],$step172);\n}\n}\nif($step172 !== 2) {\n$ans176.stack[R.EXN_STACKHEIGHT++] = R.mAR($al177,$temp_lam173,$step172,[m174,n175],[],$elidedFrames179);\n}\nreturn $ans176;\n};\nvar anf_obj184 = R.mF($temp_lam173,\"\");\nvar ann_check_temp185 = R.mO({\"one\":anf_obj183,\n\"reduce\":anf_obj184});\n$step148 = 3;\n$al153 = L[41];\nvar $ann$check186 = R._cA(L[41],Reducer99,ann_check_temp185);\nif(R.isContinuation($ann$check186)) {\n$ans152 = $ann$check186;\n}\nbreak;\ncase 3: $step148 = 4;\n$ans152 = ann_check_temp185;\nbreak;\ncase 4: return $ans152;\ndefault: R.ffi.throwSpinnakerError(L[36],$step148);\n}\n}\nreturn $ans152;\n};\nvar running$fold1013 = R.mF($temp_lam149,\"\");\nvar $temp_lam200 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__44($op201) {\nvar $step199 = 0;\nvar $elidedFrames209 = 0;\nvar $ans206 = D;\nvar $al207 = L[44];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[44],1,$t,false);\n}\nvar op201 = $op201;\n// callee optimization;\nwhile(!R.isContinuation($ans206)) {\nswitch($step199) {\ncase 0: $step199 = 1;\n$al207 = L[49];\nR._cA(L[49],R.Function,op201);\nbreak;\ncase 1: var $temp_lam212 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__45($n213) {\nvar $step211 = 0;\nvar $elidedFrames218 = 0;\nvar $ans215 = D;\nvar $al216 = L[45];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[45],1,$t,false);\n}\nvar n213 = $n213;\n// callee optimization;\nwhile(!R.isContinuation($ans215)) {\nswitch($step211) {\ncase 0: $step211 = 1;\n$ans215 = R.makeTuple([n213,n213]);\nbreak;\ncase 1: return $ans215;\ndefault: R.ffi.throwSpinnakerError(L[45],$step211);\n}\n}\nreturn $ans215;\n};\nvar anf_obj233 = R.mF($temp_lam212,\"\");\nvar $temp_lam223 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__46($m224,$n153) {\nvar $step222 = 0;\nvar $elidedFrames230 = 0;\nvar $ans227 = D;\nvar $al228 = L[46];\nif(R.isAR($m224)) {\n$step222 = $m224.step;\n$al228 = $m224.from;\n$ans227 = $m224.ans;\n$elidedFrames230 = $m224.elidedFrames;\nm224 = $m224.args[0];\nn153 = $m224.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[46],2,$t,false);\n}\nvar m224 = $m224;\nvar n153 = $n153;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans227 = R.mC();\n}\nwhile(!R.isContinuation($ans227)) {\nswitch($step222) {\ncase 0: $step222 = 1;\n$al228 = L[47];\nif(typeof(op201.app) !== \"function\") {\nR.ffi.throwNonFunApp($al228,op201);\n}\n$ans227 = op201.app(m224,n153);\nbreak;\ncase 1: var next$val231 = $ans227;\n$step222 = 2;\n$ans227 = R.makeTuple([next$val231,next$val231]);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans227;\ndefault: R.ffi.throwSpinnakerError(L[46],$step222);\n}\n}\nif($step222 !== 2) {\n$ans227.stack[R.EXN_STACKHEIGHT++] = R.mAR($al228,$temp_lam223,$step222,[m224,n153],[],$elidedFrames230);\n}\nreturn $ans227;\n};\nvar anf_obj234 = R.mF($temp_lam223,\"\");\nvar ann_check_temp235 = R.mO({\"one\":anf_obj233,\n\"reduce\":anf_obj234});\n$step199 = 2;\n$al207 = L[48];\nvar $ann$check236 = R._cA(L[48],Reducer99,ann_check_temp235);\nif(R.isContinuation($ann$check236)) {\n$ans206 = $ann$check236;\n}\nbreak;\ncase 2: $step199 = 3;\n$ans206 = ann_check_temp235;\nbreak;\ncase 3: return $ans206;\ndefault: R.ffi.throwSpinnakerError(L[44],$step199);\n}\n}\nreturn $ans206;\n};\nvar running$reduce239 = R.mF($temp_lam200,\"\");\n// caller optimization;\n$ans46 = running$reduce239.app(num$max15);\nvar running$max1015 = $ans46;\n$step14 = 2;\n$al47 = L[160];\nvar $ann$check1023 = R._cA(L[160],Reducer99,running$max1015);\nif(R.isContinuation($ann$check1023)) {\n$ans46 = $ann$check1023;\n}\nbreak;\ncase 2: // caller optimization;\n$ans46 = running$reduce239.app(num$min3);\nvar running$min1012 = $ans46;\n$step14 = 3;\n$al47 = L[159];\nvar $ann$check1022 = R._cA(L[159],Reducer99,running$min1012);\nif(R.isContinuation($ann$check1022)) {\n$ans46 = $ann$check1022;\n}\nbreak;\ncase 3: var $temp_lam241 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__50($arg_242,$arg_243) {\nvar $step240 = 0;\nvar $elidedFrames249 = 0;\nvar $ans246 = D;\nvar $al247 = L[50];\nif(R.isAR($arg_242)) {\n$step240 = $arg_242.step;\n$al247 = $arg_242.from;\n$ans246 = $arg_242.ans;\n$elidedFrames249 = $arg_242.elidedFrames;\narg_242 = $arg_242.args[0];\narg_243 = $arg_242.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[50],2,$t,false);\n}\nvar arg_242 = $arg_242;\nvar arg_243 = $arg_243;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans246 = R.mC();\n}\nwhile(!R.isContinuation($ans246)) {\nswitch($step240) {\ncase 0: $step240 = 1;\n$al247 = L[50];\n// omitting isFunction check;\n$ans246 = _plus5.app(arg_242,arg_243);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans246;\ndefault: R.ffi.throwSpinnakerError(L[50],$step240);\n}\n}\nif($step240 !== 1) {\n$ans246.stack[R.EXN_STACKHEIGHT++] = R.mAR($al247,$temp_lam241,$step240,[arg_242,arg_243],[],$elidedFrames249);\n}\nreturn $ans246;\n};\nvar anf_arg254 = R.mF($temp_lam241,\"\");\n// caller optimization;\n$ans46 = running$reduce239.app(anf_arg254);\nvar running$sum1018 = $ans46;\n$step14 = 4;\n$al47 = L[158];\nvar $ann$check1021 = R._cA(L[158],Reducer99,running$sum1018);\nif(R.isContinuation($ann$check1021)) {\n$ans46 = $ann$check1021;\n}\nbreak;\ncase 4: var $temp_lam258 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__51($arr259) {\nvar $step257 = 0;\nvar $elidedFrames266 = 0;\nvar $ans263 = D;\nvar $al264 = L[51];\nif(R.isAR($arr259)) {\n$step257 = $arr259.step;\n$al264 = $arr259.from;\n$ans263 = $arr259.ans;\n$elidedFrames266 = $arr259.elidedFrames;\narr259 = $arr259.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[51],1,$t,false);\n}\nvar arr259 = $arr259;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans263 = R.mC();\n}\nwhile(!R.isContinuation($ans263)) {\nswitch($step257) {\ncase 0: $step257 = 1;\n$ans263 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[52],arr259);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans263;\ndefault: R.ffi.throwSpinnakerError(L[51],$step257);\n}\n}\nif($step257 !== 1) {\n$ans263.stack[R.EXN_STACKHEIGHT++] = R.mAR($al264,$temp_lam258,$step257,[arr259],[],$elidedFrames266);\n}\nreturn $ans263;\n};\nvar anf_obj375 = R.mF($temp_lam258,\"\");\nvar $temp_lam269 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__53($$resumer13) {\nvar $step268 = 0;\nvar $elidedFrames273 = 0;\nvar $ans270 = D;\nvar $al271 = L[53];\nif(R.isAR($$resumer13)) {\n$step268 = $$resumer13.step;\n$al271 = $$resumer13.from;\n$ans270 = $$resumer13.ans;\n$elidedFrames273 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans270 = R.mC();\n}\nwhile(!R.isContinuation($ans270)) {\nswitch($step268) {\ncase 0: $ans270 = R.getMaker0(raw$array2,(\"make0\"),L[54],L[55]);\nvar anf_fun274 = $ans270;\n$step268 = 1;\n$al271 = L[55];\nif(typeof(anf_fun274.app) !== \"function\") {\nR.ffi.throwNonFunApp($al271,anf_fun274);\n}\n$ans270 = anf_fun274.app();\nbreak;\ncase 1: var anf_arg282 = $ans270;\n$step268 = 2;\n$ans270 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[56],anf_arg282);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans270;\ndefault: R.ffi.throwSpinnakerError(L[53],$step268);\n}\n}\nif($step268 !== 2) {\n$ans270.stack[R.EXN_STACKHEIGHT++] = R.mAR($al271,$temp_lam269,$step268,[],[],$elidedFrames273);\n}\nreturn $ans270;\n};\nvar anf_obj376 = R.mF($temp_lam269,\"\");\nvar $temp_lam285 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__57($t286) {\nvar $step284 = 0;\nvar $elidedFrames290 = 0;\nvar $ans287 = D;\nvar $al288 = L[57];\nif(R.isAR($t286)) {\n$step284 = $t286.step;\n$al288 = $t286.from;\n$ans287 = $t286.ans;\n$elidedFrames290 = $t286.elidedFrames;\nt286 = $t286.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[57],1,$t,false);\n}\nvar t286 = $t286;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans287 = R.mC();\n}\nwhile(!R.isContinuation($ans287)) {\nswitch($step284) {\ncase 0: $ans287 = R.getMaker1(raw$array2,(\"make1\"),L[58],L[59]);\nvar anf_fun291 = $ans287;\n$step284 = 1;\n$al288 = L[59];\nif(typeof(anf_fun291.app) !== \"function\") {\nR.ffi.throwNonFunApp($al288,anf_fun291);\n}\n$ans287 = anf_fun291.app(t286);\nbreak;\ncase 1: var anf_arg305 = $ans287;\n$step284 = 2;\n$ans287 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[60],anf_arg305);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans287;\ndefault: R.ffi.throwSpinnakerError(L[57],$step284);\n}\n}\nif($step284 !== 2) {\n$ans287.stack[R.EXN_STACKHEIGHT++] = R.mAR($al288,$temp_lam285,$step284,[t286],[],$elidedFrames290);\n}\nreturn $ans287;\n};\nvar anf_obj377 = R.mF($temp_lam285,\"\");\nvar $temp_lam309 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__61($t1310,$t2311) {\nvar $step308 = 0;\nvar $elidedFrames315 = 0;\nvar $ans312 = D;\nvar $al313 = L[61];\nif(R.isAR($t1310)) {\n$step308 = $t1310.step;\n$al313 = $t1310.from;\n$ans312 = $t1310.ans;\n$elidedFrames315 = $t1310.elidedFrames;\nt1310 = $t1310.args[0];\nt2311 = $t1310.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[61],2,$t,false);\n}\nvar t1310 = $t1310;\nvar t2311 = $t2311;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans312 = R.mC();\n}\nwhile(!R.isContinuation($ans312)) {\nswitch($step308) {\ncase 0: $ans312 = R.getMaker2(raw$array2,(\"make2\"),L[62],L[63]);\nvar anf_fun316 = $ans312;\n$step308 = 1;\n$al313 = L[63];\nif(typeof(anf_fun316.app) !== \"function\") {\nR.ffi.throwNonFunApp($al313,anf_fun316);\n}\n$ans312 = anf_fun316.app(t1310,t2311);\nbreak;\ncase 1: var anf_arg329 = $ans312;\n$step308 = 2;\n$ans312 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[64],anf_arg329);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans312;\ndefault: R.ffi.throwSpinnakerError(L[61],$step308);\n}\n}\nif($step308 !== 2) {\n$ans312.stack[R.EXN_STACKHEIGHT++] = R.mAR($al313,$temp_lam309,$step308,[t1310,t2311],[],$elidedFrames315);\n}\nreturn $ans312;\n};\nvar anf_obj378 = R.mF($temp_lam309,\"\");\nvar $temp_lam333 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__65($t1334,$t2335,$t3336) {\nvar $step332 = 0;\nvar $elidedFrames340 = 0;\nvar $ans337 = D;\nvar $al338 = L[65];\nif(R.isAR($t1334)) {\n$step332 = $t1334.step;\n$al338 = $t1334.from;\n$ans337 = $t1334.ans;\n$elidedFrames340 = $t1334.elidedFrames;\nt1334 = $t1334.args[0];\nt2335 = $t1334.args[1];\nt3336 = $t1334.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[65],3,$t,false);\n}\nvar t1334 = $t1334;\nvar t2335 = $t2335;\nvar t3336 = $t3336;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans337 = R.mC();\n}\nwhile(!R.isContinuation($ans337)) {\nswitch($step332) {\ncase 0: $ans337 = R.getMaker3(raw$array2,(\"make3\"),L[66],L[67]);\nvar anf_fun341 = $ans337;\n$step332 = 1;\n$al338 = L[67];\nif(typeof(anf_fun341.app) !== \"function\") {\nR.ffi.throwNonFunApp($al338,anf_fun341);\n}\n$ans337 = anf_fun341.app(t1334,t2335,t3336);\nbreak;\ncase 1: var anf_arg348 = $ans337;\n$step332 = 2;\n$ans337 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[68],anf_arg348);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans337;\ndefault: R.ffi.throwSpinnakerError(L[65],$step332);\n}\n}\nif($step332 !== 2) {\n$ans337.stack[R.EXN_STACKHEIGHT++] = R.mAR($al338,$temp_lam333,$step332,[t1334,t2335,t3336],[],$elidedFrames340);\n}\nreturn $ans337;\n};\nvar anf_obj265 = R.mF($temp_lam333,\"\");\nvar $temp_lam351 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__69($t1352,$t2353,$t3354,$t4355) {\nvar $step350 = 0;\nvar $elidedFrames359 = 0;\nvar $ans356 = D;\nvar $al357 = L[69];\nif(R.isAR($t1352)) {\n$step350 = $t1352.step;\n$al357 = $t1352.from;\n$ans356 = $t1352.ans;\n$elidedFrames359 = $t1352.elidedFrames;\nt1352 = $t1352.args[0];\nt2353 = $t1352.args[1];\nt3354 = $t1352.args[2];\nt4355 = $t1352.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[69],4,$t,false);\n}\nvar t1352 = $t1352;\nvar t2353 = $t2353;\nvar t3354 = $t3354;\nvar t4355 = $t4355;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans356 = R.mC();\n}\nwhile(!R.isContinuation($ans356)) {\nswitch($step350) {\ncase 0: $ans356 = R.getMaker4(raw$array2,(\"make4\"),L[70],L[71]);\nvar anf_fun202 = $ans356;\n$step350 = 1;\n$al357 = L[71];\nif(typeof(anf_fun202.app) !== \"function\") {\nR.ffi.throwNonFunApp($al357,anf_fun202);\n}\n$ans356 = anf_fun202.app(t1352,t2353,t3354,t4355);\nbreak;\ncase 1: var anf_arg203 = $ans356;\n$step350 = 2;\n$ans356 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[72],anf_arg203);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans356;\ndefault: R.ffi.throwSpinnakerError(L[69],$step350);\n}\n}\nif($step350 !== 2) {\n$ans356.stack[R.EXN_STACKHEIGHT++] = R.mAR($al357,$temp_lam351,$step350,[t1352,t2353,t3354,t4355],[],$elidedFrames359);\n}\nreturn $ans356;\n};\nvar anf_obj266 = R.mF($temp_lam351,\"\");\nvar $temp_lam363 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__73($t1364,$t2365,$t3366,$t4367,$t5368) {\nvar $step362 = 0;\nvar $elidedFrames373 = 0;\nvar $ans370 = D;\nvar $al371 = L[73];\nif(R.isAR($t1364)) {\n$step362 = $t1364.step;\n$al371 = $t1364.from;\n$ans370 = $t1364.ans;\n$elidedFrames373 = $t1364.elidedFrames;\nt1364 = $t1364.args[0];\nt2365 = $t1364.args[1];\nt3366 = $t1364.args[2];\nt4367 = $t1364.args[3];\nt5368 = $t1364.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[73],5,$t,false);\n}\nvar t1364 = $t1364;\nvar t2365 = $t2365;\nvar t3366 = $t3366;\nvar t4367 = $t4367;\nvar t5368 = $t5368;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans370 = R.mC();\n}\nwhile(!R.isContinuation($ans370)) {\nswitch($step362) {\ncase 0: $ans370 = R.getMaker5(raw$array2,(\"make5\"),L[74],L[75]);\nvar anf_fun212 = $ans370;\n$step362 = 1;\n$al371 = L[75];\nif(typeof(anf_fun212.app) !== \"function\") {\nR.ffi.throwNonFunApp($al371,anf_fun212);\n}\n$ans370 = anf_fun212.app(t1364,t2365,t3366,t4367,t5368);\nbreak;\ncase 1: var anf_arg213 = $ans370;\n$step362 = 2;\n$ans370 = R.maybeMethodCall1(builtins1,\"raw-make-row\",L[76],anf_arg213);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans370;\ndefault: R.ffi.throwSpinnakerError(L[73],$step362);\n}\n}\nif($step362 !== 2) {\n$ans370.stack[R.EXN_STACKHEIGHT++] = R.mAR($al371,$temp_lam363,$step362,[t1364,t2365,t3366,t4367,t5368],[],$elidedFrames373);\n}\nreturn $ans370;\n};\nvar anf_obj267 = R.mF($temp_lam363,\"\");\nvar raw$row758 = R.mO({\"make\":anf_obj375,\n\"make0\":anf_obj376,\n\"make1\":anf_obj377,\n\"make2\":anf_obj378,\n\"make3\":anf_obj265,\n\"make4\":anf_obj266,\n\"make5\":anf_obj267});\nvar table$from$raw$array458 = {\"$var\":D};\nvar $temp_lam380 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__77($arr381) {\nvar $step379 = 0;\nvar $elidedFrames385 = 0;\nvar $ans382 = D;\nvar $al383 = L[77];\nif(R.isAR($arr381)) {\n$step379 = $arr381.step;\n$al383 = $arr381.from;\n$ans382 = $arr381.ans;\n$elidedFrames385 = $arr381.elidedFrames;\narr381 = $arr381.args[0];\nanf_arg224 = $arr381.vars[0];\ncols408 = $arr381.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[77],1,$t,false);\n}\nvar arr381 = $arr381;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans382 = R.mC();\n}\nwhile(!R.isContinuation($ans382)) {\nswitch($step379) {\ncase 0: // caller optimization;\n$ans382 = raw$array$get14.app(arr381,(0));\nvar anf_method_obj386 = $ans382;\n$step379 = 1;\n$ans382 = R.maybeMethodCall0(anf_method_obj386,\"get-column-names\",L[78]);\nbreak;\ncase 1: var cols408 = $ans382;\nvar $temp_lam388 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__79($t389,$c390) {\nvar $step387 = 0;\nvar $elidedFrames396 = 0;\nvar $ans393 = D;\nvar $al394 = L[79];\nif(R.isAR($t389)) {\n$step387 = $t389.step;\n$al394 = $t389.from;\n$ans393 = $t389.ans;\n$elidedFrames396 = $t389.elidedFrames;\nt389 = $t389.args[0];\nc390 = $t389.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[79],2,$t,false);\n}\nvar t389 = $t389;\nvar c390 = $c390;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans393 = R.mC();\n}\nwhile(!R.isContinuation($ans393)) {\nswitch($step387) {\ncase 0: $step387 = 1;\n$ans393 = R.maybeMethodCall2(t389,\"add-column\",L[80],c390,empty5);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans393;\ndefault: R.ffi.throwSpinnakerError(L[79],$step387);\n}\n}\nif($step387 !== 1) {\n$ans393.stack[R.EXN_STACKHEIGHT++] = R.mAR($al394,$temp_lam388,$step387,[t389,c390],[],$elidedFrames396);\n}\nreturn $ans393;\n};\nvar anf_arg224 = R.mF($temp_lam388,\"for-body\");\n$ans382 = R.makeArrayN((1));\nvar anf_array399 = $ans382;\nanf_array399[0] = (\"ignore\");\n$ans382 = R.makeArrayN((0));\nvar anf_array400 = $ans382;\n$ans382 = R.makeTable(anf_array399,anf_array400);\nvar anf_method_obj401 = $ans382;\n$step379 = 2;\n$ans382 = R.maybeMethodCall1(anf_method_obj401,\"drop\",L[81],(\"ignore\"));\nbreak;\ncase 2: var anf_arg407 = $ans382;\n$step379 = 3;\n$al383 = L[79];\n// omitting isFunction check;\n$ans382 = fold4.app(anf_arg224,anf_arg407,cols408);\nbreak;\ncase 3: var with$cols455 = $ans382;\nvar $temp_lam413 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__82($t414,$r415,$$underscore416) {\nvar $step412 = 0;\nvar $elidedFrames421 = 0;\nvar $ans418 = D;\nvar $al419 = L[82];\nif(R.isAR($t414)) {\n$step412 = $t414.step;\n$al419 = $t414.from;\n$ans418 = $t414.ans;\n$elidedFrames421 = $t414.elidedFrames;\nt414 = $t414.args[0];\nr415 = $t414.args[1];\n$underscore416 = $t414.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[82],3,$t,false);\n}\nvar t414 = $t414;\nvar r415 = $r415;\nvar $underscore416 = $$underscore416;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans418 = R.mC();\n}\nwhile(!R.isContinuation($ans418)) {\nswitch($step412) {\ncase 0: $step412 = 1;\n$ans418 = R.maybeMethodCall1(t414,\"add-row\",L[83],r415);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans418;\ndefault: R.ffi.throwSpinnakerError(L[82],$step412);\n}\n}\nif($step412 !== 1) {\n$ans418.stack[R.EXN_STACKHEIGHT++] = R.mAR($al419,$temp_lam413,$step412,[t414,r415,$underscore416],[],$elidedFrames421);\n}\nreturn $ans418;\n};\nvar anf_arg454 = R.mF($temp_lam413,\"for-body\");\n$step379 = 4;\n$al383 = L[82];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al383,raw$array$fold3);\n}\n$ans382 = raw$array$fold3.app(anf_arg454,with$cols455,arr381,(0));\nbreak;\ncase 4: ++R.GAS;\nreturn $ans382;\ndefault: R.ffi.throwSpinnakerError(L[77],$step379);\n}\n}\nif($step379 !== 4) {\n$ans382.stack[R.EXN_STACKHEIGHT++] = R.mAR($al383,$temp_lam380,$step379,[arr381],[anf_arg224,cols408],$elidedFrames385);\n}\nreturn $ans382;\n};\nvar anf_assign457 = R.mF($temp_lam380,\"table-from-raw-array\");\ntable$from$raw$array458.$var = anf_assign457;\nR.nothing;\nvar $temp_lam460 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__84($$resumer13) {\nvar $step459 = 0;\nvar $elidedFrames466 = 0;\nvar $ans463 = D;\nvar $al464 = L[84];\nif(R.isAR($$resumer13)) {\n$step459 = $$resumer13.step;\n$al464 = $$resumer13.from;\n$ans463 = $$resumer13.ans;\n$elidedFrames466 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[84],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans463 = R.mC();\n}\nwhile(!R.isContinuation($ans463)) {\nswitch($step459) {\ncase 0: $ans463 = R.getMaker0(raw$array2,(\"make0\"),L[85],L[86]);\nvar anf_fun467 = $ans463;\n$step459 = 1;\n$al464 = L[86];\nif(typeof(anf_fun467.app) !== \"function\") {\nR.ffi.throwNonFunApp($al464,anf_fun467);\n}\n$ans463 = anf_fun467.app();\nbreak;\ncase 1: var anf_arg468 = $ans463;\n$step459 = 2;\n$al464 = L[87];\n// omitting isFunction check;\n$ans463 = table$from$raw$array458.$var.app(anf_arg468);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans463;\ndefault: R.ffi.throwSpinnakerError(L[84],$step459);\n}\n}\nif($step459 !== 2) {\n$ans463.stack[R.EXN_STACKHEIGHT++] = R.mAR($al464,$temp_lam460,$step459,[],[],$elidedFrames466);\n}\nreturn $ans463;\n};\nvar anf_obj734 = R.mF($temp_lam460,\"\");\nvar $temp_lam473 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__88($t474) {\nvar $step472 = 0;\nvar $elidedFrames483 = 0;\nvar $ans480 = D;\nvar $al481 = L[88];\nif(R.isAR($t474)) {\n$step472 = $t474.step;\n$al481 = $t474.from;\n$ans480 = $t474.ans;\n$elidedFrames483 = $t474.elidedFrames;\nt474 = $t474.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[88],1,$t,false);\n}\nvar t474 = $t474;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans480 = R.mC();\n}\nwhile(!R.isContinuation($ans480)) {\nswitch($step472) {\ncase 0: $ans480 = R.getMaker1(raw$array2,(\"make1\"),L[89],L[90]);\nvar anf_fun484 = $ans480;\n$step472 = 1;\n$al481 = L[90];\nif(typeof(anf_fun484.app) !== \"function\") {\nR.ffi.throwNonFunApp($al481,anf_fun484);\n}\n$ans480 = anf_fun484.app(t474);\nbreak;\ncase 1: var anf_arg279 = $ans480;\n$step472 = 2;\n$al481 = L[91];\n// omitting isFunction check;\n$ans480 = table$from$raw$array458.$var.app(anf_arg279);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans480;\ndefault: R.ffi.throwSpinnakerError(L[88],$step472);\n}\n}\nif($step472 !== 2) {\n$ans480.stack[R.EXN_STACKHEIGHT++] = R.mAR($al481,$temp_lam473,$step472,[t474],[],$elidedFrames483);\n}\nreturn $ans480;\n};\nvar anf_obj356 = R.mF($temp_lam473,\"\");\nvar $temp_lam487 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__92($t1488,$t2489) {\nvar $step486 = 0;\nvar $elidedFrames493 = 0;\nvar $ans490 = D;\nvar $al491 = L[92];\nif(R.isAR($t1488)) {\n$step486 = $t1488.step;\n$al491 = $t1488.from;\n$ans490 = $t1488.ans;\n$elidedFrames493 = $t1488.elidedFrames;\nt1488 = $t1488.args[0];\nt2489 = $t1488.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[92],2,$t,false);\n}\nvar t1488 = $t1488;\nvar t2489 = $t2489;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans490 = R.mC();\n}\nwhile(!R.isContinuation($ans490)) {\nswitch($step486) {\ncase 0: $ans490 = R.getMaker2(raw$array2,(\"make2\"),L[93],L[94]);\nvar anf_fun287 = $ans490;\n$step486 = 1;\n$al491 = L[94];\nif(typeof(anf_fun287.app) !== \"function\") {\nR.ffi.throwNonFunApp($al491,anf_fun287);\n}\n$ans490 = anf_fun287.app(t1488,t2489);\nbreak;\ncase 1: var anf_arg288 = $ans490;\n$step486 = 2;\n$al491 = L[95];\n// omitting isFunction check;\n$ans490 = table$from$raw$array458.$var.app(anf_arg288);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans490;\ndefault: R.ffi.throwSpinnakerError(L[92],$step486);\n}\n}\nif($step486 !== 2) {\n$ans490.stack[R.EXN_STACKHEIGHT++] = R.mAR($al491,$temp_lam487,$step486,[t1488,t2489],[],$elidedFrames493);\n}\nreturn $ans490;\n};\nvar anf_obj735 = R.mF($temp_lam487,\"\");\nvar $temp_lam496 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__96($t1497,$t2498,$t3499) {\nvar $step495 = 0;\nvar $elidedFrames503 = 0;\nvar $ans500 = D;\nvar $al501 = L[96];\nif(R.isAR($t1497)) {\n$step495 = $t1497.step;\n$al501 = $t1497.from;\n$ans500 = $t1497.ans;\n$elidedFrames503 = $t1497.elidedFrames;\nt1497 = $t1497.args[0];\nt2498 = $t1497.args[1];\nt3499 = $t1497.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[96],3,$t,false);\n}\nvar t1497 = $t1497;\nvar t2498 = $t2498;\nvar t3499 = $t3499;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans500 = R.mC();\n}\nwhile(!R.isContinuation($ans500)) {\nswitch($step495) {\ncase 0: $ans500 = R.getMaker3(raw$array2,(\"make3\"),L[97],L[98]);\nvar anf_fun504 = $ans500;\n$step495 = 1;\n$al501 = L[98];\nif(typeof(anf_fun504.app) !== \"function\") {\nR.ffi.throwNonFunApp($al501,anf_fun504);\n}\n$ans500 = anf_fun504.app(t1497,t2498,t3499);\nbreak;\ncase 1: var anf_arg568 = $ans500;\n$step495 = 2;\n$al501 = L[99];\n// omitting isFunction check;\n$ans500 = table$from$raw$array458.$var.app(anf_arg568);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans500;\ndefault: R.ffi.throwSpinnakerError(L[96],$step495);\n}\n}\nif($step495 !== 2) {\n$ans500.stack[R.EXN_STACKHEIGHT++] = R.mAR($al501,$temp_lam496,$step495,[t1497,t2498,t3499],[],$elidedFrames503);\n}\nreturn $ans500;\n};\nvar anf_obj736 = R.mF($temp_lam496,\"\");\nvar $temp_lam571 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__100($t1572,$t2573,$t3574,$t4575) {\nvar $step570 = 0;\nvar $elidedFrames579 = 0;\nvar $ans576 = D;\nvar $al577 = L[100];\nif(R.isAR($t1572)) {\n$step570 = $t1572.step;\n$al577 = $t1572.from;\n$ans576 = $t1572.ans;\n$elidedFrames579 = $t1572.elidedFrames;\nt1572 = $t1572.args[0];\nt2573 = $t1572.args[1];\nt3574 = $t1572.args[2];\nt4575 = $t1572.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[100],4,$t,false);\n}\nvar t1572 = $t1572;\nvar t2573 = $t2573;\nvar t3574 = $t3574;\nvar t4575 = $t4575;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans576 = R.mC();\n}\nwhile(!R.isContinuation($ans576)) {\nswitch($step570) {\ncase 0: $ans576 = R.getMaker4(raw$array2,(\"make4\"),L[101],L[102]);\nvar anf_fun580 = $ans576;\n$step570 = 1;\n$al577 = L[102];\nif(typeof(anf_fun580.app) !== \"function\") {\nR.ffi.throwNonFunApp($al577,anf_fun580);\n}\n$ans576 = anf_fun580.app(t1572,t2573,t3574,t4575);\nbreak;\ncase 1: var anf_arg715 = $ans576;\n$step570 = 2;\n$al577 = L[103];\n// omitting isFunction check;\n$ans576 = table$from$raw$array458.$var.app(anf_arg715);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans576;\ndefault: R.ffi.throwSpinnakerError(L[100],$step570);\n}\n}\nif($step570 !== 2) {\n$ans576.stack[R.EXN_STACKHEIGHT++] = R.mAR($al577,$temp_lam571,$step570,[t1572,t2573,t3574,t4575],[],$elidedFrames579);\n}\nreturn $ans576;\n};\nvar anf_obj737 = R.mF($temp_lam571,\"\");\nvar $temp_lam718 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__104($t1719,$t2720,$t3721,$t4722,$t5723) {\nvar $step717 = 0;\nvar $elidedFrames729 = 0;\nvar $ans726 = D;\nvar $al727 = L[104];\nif(R.isAR($t1719)) {\n$step717 = $t1719.step;\n$al727 = $t1719.from;\n$ans726 = $t1719.ans;\n$elidedFrames729 = $t1719.elidedFrames;\nt1719 = $t1719.args[0];\nt2720 = $t1719.args[1];\nt3721 = $t1719.args[2];\nt4722 = $t1719.args[3];\nt5723 = $t1719.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[104],5,$t,false);\n}\nvar t1719 = $t1719;\nvar t2720 = $t2720;\nvar t3721 = $t3721;\nvar t4722 = $t4722;\nvar t5723 = $t5723;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans726 = R.mC();\n}\nwhile(!R.isContinuation($ans726)) {\nswitch($step717) {\ncase 0: $ans726 = R.getMaker5(raw$array2,(\"make5\"),L[105],L[106]);\nvar anf_fun730 = $ans726;\n$step717 = 1;\n$al727 = L[106];\nif(typeof(anf_fun730.app) !== \"function\") {\nR.ffi.throwNonFunApp($al727,anf_fun730);\n}\n$ans726 = anf_fun730.app(t1719,t2720,t3721,t4722,t5723);\nbreak;\ncase 1: var anf_arg312 = $ans726;\n$step717 = 2;\n$al727 = L[107];\n// omitting isFunction check;\n$ans726 = table$from$raw$array458.$var.app(anf_arg312);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans726;\ndefault: R.ffi.throwSpinnakerError(L[104],$step717);\n}\n}\nif($step717 !== 2) {\n$ans726.stack[R.EXN_STACKHEIGHT++] = R.mAR($al727,$temp_lam718,$step717,[t1719,t2720,t3721,t4722,t5723],[],$elidedFrames729);\n}\nreturn $ans726;\n};\nvar anf_obj359 = R.mF($temp_lam718,\"\");\nvar table$from$rows771 = R.mO({\"make\":table$from$raw$array458.$var,\n\"make0\":anf_obj734,\n\"make1\":anf_obj356,\n\"make2\":anf_obj735,\n\"make3\":anf_obj736,\n\"make4\":anf_obj737,\n\"make5\":anf_obj359});\nvar table$from$column776 = {\"$var\":D};\nvar table$from$cols827 = {\"$var\":D};\nvar $temp_lam740 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__108($col$name741,$values742) {\nvar $step739 = 0;\nvar $elidedFrames746 = 0;\nvar $ans743 = D;\nvar $al744 = L[108];\nif(R.isAR($col$name741)) {\n$step739 = $col$name741.step;\n$al744 = $col$name741.from;\n$ans743 = $col$name741.ans;\n$elidedFrames746 = $col$name741.elidedFrames;\ncol$name741 = $col$name741.args[0];\nvalues742 = $col$name741.args[1];\nann_check_temp772 = $col$name741.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[108],2,$t,false);\n}\nvar col$name741 = $col$name741;\nvar values742 = $values742;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans743 = R.mC();\n}\nwhile(!R.isContinuation($ans743)) {\nswitch($step739) {\ncase 0: $step739 = 1;\n$al744 = L[115];\nR._cA(L[115],$type$String8,col$name741);\nbreak;\ncase 1: $step739 = 2;\n$al744 = L[116];\nR._cA(L[116],List6,values742);\nbreak;\ncase 2: var $temp_lam749 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__109($v750) {\nvar $step748 = 0;\nvar $elidedFrames756 = 0;\nvar $ans753 = D;\nvar $al754 = L[109];\nif(R.isAR($v750)) {\n$step748 = $v750.step;\n$al754 = $v750.from;\n$ans753 = $v750.ans;\n$elidedFrames756 = $v750.elidedFrames;\nv750 = $v750.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[109],1,$t,false);\n}\nvar v750 = $v750;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans753 = R.mC();\n}\nwhile(!R.isContinuation($ans753)) {\nswitch($step748) {\ncase 0: $ans753 = R.getMaker1(raw$array2,(\"make1\"),L[110],L[111]);\nvar anf_fun757 = $ans753;\nvar anf_arg325 = R.makeTuple([col$name741,v750]);\n$step748 = 1;\n$al754 = L[111];\nif(typeof(anf_fun757.app) !== \"function\") {\nR.ffi.throwNonFunApp($al754,anf_fun757);\n}\n$ans753 = anf_fun757.app(anf_arg325);\nbreak;\ncase 1: var anf_arg764 = $ans753;\n$step748 = 2;\n$ans753 = R.maybeMethodCall1(raw$row758,\"make\",L[112],anf_arg764);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans753;\ndefault: R.ffi.throwSpinnakerError(L[109],$step748);\n}\n}\nif($step748 !== 2) {\n$ans753.stack[R.EXN_STACKHEIGHT++] = R.mAR($al754,$temp_lam749,$step748,[v750],[],$elidedFrames756);\n}\nreturn $ans753;\n};\nvar anf_arg769 = R.mF($temp_lam749,\"for-body\");\n$step739 = 3;\n$al744 = L[109];\n// omitting isFunction check;\n$ans743 = map7.app(anf_arg769,values742);\nbreak;\ncase 3: var rows770 = $ans743;\n// caller optimization;\n$ans743 = raw$array$from$list2.app(rows770);\nvar anf_arg338 = $ans743;\n$step739 = 4;\n$ans743 = R.maybeMethodCall1(table$from$rows771,\"make\",L[113],anf_arg338);\nbreak;\ncase 4: var ann_check_temp772 = $ans743;\n$step739 = 5;\n$al744 = L[114];\nvar $ann$check773 = R._cA(L[114],$type$Table1,ann_check_temp772);\nif(R.isContinuation($ann$check773)) {\n$ans743 = $ann$check773;\n}\nbreak;\ncase 5: $step739 = 6;\n$ans743 = ann_check_temp772;\nbreak;\ncase 6: ++R.GAS;\nreturn $ans743;\ndefault: R.ffi.throwSpinnakerError(L[108],$step739);\n}\n}\nif($step739 !== 6) {\n$ans743.stack[R.EXN_STACKHEIGHT++] = R.mAR($al744,$temp_lam740,$step739,[col$name741,values742],[ann_check_temp772],$elidedFrames746);\n}\nreturn $ans743;\n};\nvar anf_assign775 = R.mF($temp_lam740,\"table-from-column\");\ntable$from$column776.$var = anf_assign775;\nR.nothing;\nvar $temp_lam779 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__117($colspecs780) {\nvar $step778 = 0;\nvar $elidedFrames785 = 0;\nvar $ans782 = D;\nvar $al783 = L[117];\nif(R.isAR($colspecs780)) {\n$step778 = $colspecs780.step;\n$al783 = $colspecs780.from;\n$ans782 = $colspecs780.ans;\n$elidedFrames785 = $colspecs780.elidedFrames;\ncolspecs780 = $colspecs780.args[0];\ntup2816 = $colspecs780.vars[0];\nanf_arg823 = $colspecs780.vars[1];\nann_check_temp805 = $colspecs780.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[117],1,$t,false);\n}\nvar colspecs780 = $colspecs780;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans782 = R.mC();\n}\nwhile(!R.isContinuation($ans782)) {\nswitch($step778) {\ncase 0: $step778 = 1;\n$al783 = L[131];\nR._cA(L[131],$type$RawArray1,colspecs780);\nbreak;\ncase 1: // caller optimization;\n$ans782 = raw$array$length1.app(colspecs780);\nvar anf_arg804 = $ans782;\n$step778 = 2;\n$al783 = L[130];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,equal$always1);\n}\n$ans782 = equal$always1.app(anf_arg804,(0));\nbreak;\ncase 2: var anf_if824 = $ans782;\n$step778 = R.checkPyretTrue(anf_if824)?3:4;\nbreak;\ncase 3: $step778 = 7;\n$al783 = L[119];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,raise1);\n}\n$ans782 = raise1.app((\"table-from-columns requires at least one column\"));\nbreak;\ncase 4: // caller optimization;\n$ans782 = raw$array$get14.app(colspecs780,(0));\nvar tup2816 = $ans782;\n$step778 = 5;\n$al783 = L[129];\nR.checkTupleBind(tup2816,2,L[129]);\nbreak;\ncase 5: var name83 = R.getTuple(tup2816,0,L[120]);\nvar vals821 = R.getTuple(tup2816,1,L[121]);\nvar $temp_lam808 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__122($t809,$c810,$i811) {\nvar $step807 = 0;\nvar $elidedFrames815 = 0;\nvar $ans812 = D;\nvar $al813 = L[122];\nif(R.isAR($t809)) {\n$step807 = $t809.step;\n$al813 = $t809.from;\n$ans812 = $t809.ans;\n$elidedFrames815 = $t809.elidedFrames;\nt809 = $t809.args[0];\nc810 = $t809.args[1];\ni811 = $t809.args[2];\ntup816 = $t809.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[122],3,$t,false);\n}\nvar t809 = $t809;\nvar c810 = $c810;\nvar i811 = $i811;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans812 = R.mC();\n}\nwhile(!R.isContinuation($ans812)) {\nswitch($step807) {\ncase 0: $step807 = 1;\n$al813 = L[127];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al813,equal$always1);\n}\n$ans812 = equal$always1.app(i811,(0));\nbreak;\ncase 1: var anf_if819 = $ans812;\n$step807 = R.checkPyretTrue(anf_if819)?2:3;\nbreak;\ncase 2: $step807 = 5;\n$ans812 = t809;\nbreak;\ncase 3: var tup816 = c810;\n$step807 = 4;\n$al813 = L[126];\nR.checkTupleBind(tup816,2,L[126]);\nbreak;\ncase 4: var cname817 = R.getTuple(tup816,0,L[123]);\nvar cvals818 = R.getTuple(tup816,1,L[124]);\n$step807 = 5;\n$ans812 = R.maybeMethodCall2(t809,\"add-column\",L[125],cname817,cvals818);\nbreak;\ncase 5: ++R.GAS;\nreturn $ans812;\ndefault: R.ffi.throwSpinnakerError(L[122],$step807);\n}\n}\nif($step807 !== 5) {\n$ans812.stack[R.EXN_STACKHEIGHT++] = R.mAR($al813,$temp_lam808,$step807,[t809,c810,i811],[tup816],$elidedFrames815);\n}\nreturn $ans812;\n};\nvar anf_arg823 = R.mF($temp_lam808,\"for-body\");\n$step778 = 6;\n$al783 = L[128];\n// omitting isFunction check;\n$ans782 = table$from$column776.$var.app(name83,vals821);\nbreak;\ncase 6: var anf_arg370 = $ans782;\n$step778 = 7;\n$al783 = L[122];\nif(typeof(raw$array$fold3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al783,raw$array$fold3);\n}\n$ans782 = raw$array$fold3.app(anf_arg823,anf_arg370,colspecs780,(1));\nbreak;\ncase 7: var ann_check_temp805 = $ans782;\n$step778 = 8;\n$al783 = L[118];\nvar $ann$check806 = R._cA(L[118],$type$Table1,ann_check_temp805);\nif(R.isContinuation($ann$check806)) {\n$ans782 = $ann$check806;\n}\nbreak;\ncase 8: $step778 = 9;\n$ans782 = ann_check_temp805;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans782;\ndefault: R.ffi.throwSpinnakerError(L[117],$step778);\n}\n}\nif($step778 !== 9) {\n$ans782.stack[R.EXN_STACKHEIGHT++] = R.mAR($al783,$temp_lam779,$step778,[colspecs780],[tup2816,anf_arg823,ann_check_temp805],$elidedFrames785);\n}\nreturn $ans782;\n};\nvar anf_assign826 = R.mF($temp_lam779,\"table-from-cols\");\ntable$from$cols827.$var = anf_assign826;\nR.nothing;\nvar $temp_lam829 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__132($$resumer13) {\nvar $step828 = 0;\nvar $elidedFrames834 = 0;\nvar $ans831 = D;\nvar $al832 = L[132];\nif(R.isAR($$resumer13)) {\n$step828 = $$resumer13.step;\n$al832 = $$resumer13.from;\n$ans831 = $$resumer13.ans;\n$elidedFrames834 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[132],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans831 = R.mC();\n}\nwhile(!R.isContinuation($ans831)) {\nswitch($step828) {\ncase 0: $ans831 = R.getMaker0(raw$array2,(\"make0\"),L[133],L[134]);\nvar anf_fun378 = $ans831;\n$step828 = 1;\n$al832 = L[134];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al832,anf_fun378);\n}\n$ans831 = anf_fun378.app();\nbreak;\ncase 1: var anf_arg379 = $ans831;\n$step828 = 2;\n$al832 = L[135];\n// omitting isFunction check;\n$ans831 = table$from$cols827.$var.app(anf_arg379);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans831;\ndefault: R.ffi.throwSpinnakerError(L[132],$step828);\n}\n}\nif($step828 !== 2) {\n$ans831.stack[R.EXN_STACKHEIGHT++] = R.mAR($al832,$temp_lam829,$step828,[],[],$elidedFrames834);\n}\nreturn $ans831;\n};\nvar anf_obj1006 = R.mF($temp_lam829,\"\");\nvar $temp_lam838 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__136($t839) {\nvar $step837 = 0;\nvar $elidedFrames843 = 0;\nvar $ans840 = D;\nvar $al841 = L[136];\nif(R.isAR($t839)) {\n$step837 = $t839.step;\n$al841 = $t839.from;\n$ans840 = $t839.ans;\n$elidedFrames843 = $t839.elidedFrames;\nt839 = $t839.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[136],1,$t,false);\n}\nvar t839 = $t839;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans840 = R.mC();\n}\nwhile(!R.isContinuation($ans840)) {\nswitch($step837) {\ncase 0: $ans840 = R.getMaker1(raw$array2,(\"make1\"),L[137],L[138]);\nvar anf_fun845 = $ans840;\n$step837 = 1;\n$al841 = L[138];\nif(typeof(anf_fun845.app) !== \"function\") {\nR.ffi.throwNonFunApp($al841,anf_fun845);\n}\n$ans840 = anf_fun845.app(t839);\nbreak;\ncase 1: var anf_arg922 = $ans840;\n$step837 = 2;\n$al841 = L[139];\n// omitting isFunction check;\n$ans840 = table$from$cols827.$var.app(anf_arg922);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans840;\ndefault: R.ffi.throwSpinnakerError(L[136],$step837);\n}\n}\nif($step837 !== 2) {\n$ans840.stack[R.EXN_STACKHEIGHT++] = R.mAR($al841,$temp_lam838,$step837,[t839],[],$elidedFrames843);\n}\nreturn $ans840;\n};\nvar anf_obj1007 = R.mF($temp_lam838,\"\");\nvar $temp_lam925 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__140($t1926,$t2927) {\nvar $step924 = 0;\nvar $elidedFrames931 = 0;\nvar $ans928 = D;\nvar $al929 = L[140];\nif(R.isAR($t1926)) {\n$step924 = $t1926.step;\n$al929 = $t1926.from;\n$ans928 = $t1926.ans;\n$elidedFrames931 = $t1926.elidedFrames;\nt1926 = $t1926.args[0];\nt2927 = $t1926.args[1];\n} else {\nvar $l = arguments.length;\nif($l !== 2) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[140],2,$t,false);\n}\nvar t1926 = $t1926;\nvar t2927 = $t2927;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans928 = R.mC();\n}\nwhile(!R.isContinuation($ans928)) {\nswitch($step924) {\ncase 0: $ans928 = R.getMaker2(raw$array2,(\"make2\"),L[141],L[142]);\nvar anf_fun932 = $ans928;\n$step924 = 1;\n$al929 = L[142];\nif(typeof(anf_fun932.app) !== \"function\") {\nR.ffi.throwNonFunApp($al929,anf_fun932);\n}\n$ans928 = anf_fun932.app(t1926,t2927);\nbreak;\ncase 1: var anf_arg962 = $ans928;\n$step924 = 2;\n$al929 = L[143];\n// omitting isFunction check;\n$ans928 = table$from$cols827.$var.app(anf_arg962);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans928;\ndefault: R.ffi.throwSpinnakerError(L[140],$step924);\n}\n}\nif($step924 !== 2) {\n$ans928.stack[R.EXN_STACKHEIGHT++] = R.mAR($al929,$temp_lam925,$step924,[t1926,t2927],[],$elidedFrames931);\n}\nreturn $ans928;\n};\nvar anf_obj1008 = R.mF($temp_lam925,\"\");\nvar $temp_lam965 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__144($t1966,$t2967,$t3968) {\nvar $step964 = 0;\nvar $elidedFrames972 = 0;\nvar $ans969 = D;\nvar $al970 = L[144];\nif(R.isAR($t1966)) {\n$step964 = $t1966.step;\n$al970 = $t1966.from;\n$ans969 = $t1966.ans;\n$elidedFrames972 = $t1966.elidedFrames;\nt1966 = $t1966.args[0];\nt2967 = $t1966.args[1];\nt3968 = $t1966.args[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[144],3,$t,false);\n}\nvar t1966 = $t1966;\nvar t2967 = $t2967;\nvar t3968 = $t3968;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans969 = R.mC();\n}\nwhile(!R.isContinuation($ans969)) {\nswitch($step964) {\ncase 0: $ans969 = R.getMaker3(raw$array2,(\"make3\"),L[145],L[146]);\nvar anf_fun973 = $ans969;\n$step964 = 1;\n$al970 = L[146];\nif(typeof(anf_fun973.app) !== \"function\") {\nR.ffi.throwNonFunApp($al970,anf_fun973);\n}\n$ans969 = anf_fun973.app(t1966,t2967,t3968);\nbreak;\ncase 1: var anf_arg403 = $ans969;\n$step964 = 2;\n$al970 = L[147];\n// omitting isFunction check;\n$ans969 = table$from$cols827.$var.app(anf_arg403);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans969;\ndefault: R.ffi.throwSpinnakerError(L[144],$step964);\n}\n}\nif($step964 !== 2) {\n$ans969.stack[R.EXN_STACKHEIGHT++] = R.mAR($al970,$temp_lam965,$step964,[t1966,t2967,t3968],[],$elidedFrames972);\n}\nreturn $ans969;\n};\nvar anf_obj450 = R.mF($temp_lam965,\"\");\nvar $temp_lam976 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__148($t1977,$t2978,$t3979,$t4980) {\nvar $step975 = 0;\nvar $elidedFrames984 = 0;\nvar $ans981 = D;\nvar $al982 = L[148];\nif(R.isAR($t1977)) {\n$step975 = $t1977.step;\n$al982 = $t1977.from;\n$ans981 = $t1977.ans;\n$elidedFrames984 = $t1977.elidedFrames;\nt1977 = $t1977.args[0];\nt2978 = $t1977.args[1];\nt3979 = $t1977.args[2];\nt4980 = $t1977.args[3];\n} else {\nvar $l = arguments.length;\nif($l !== 4) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[148],4,$t,false);\n}\nvar t1977 = $t1977;\nvar t2978 = $t2978;\nvar t3979 = $t3979;\nvar t4980 = $t4980;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans981 = R.mC();\n}\nwhile(!R.isContinuation($ans981)) {\nswitch($step975) {\ncase 0: $ans981 = R.getMaker4(raw$array2,(\"make4\"),L[149],L[150]);\nvar anf_fun414 = $ans981;\n$step975 = 1;\n$al982 = L[150];\nif(typeof(anf_fun414.app) !== \"function\") {\nR.ffi.throwNonFunApp($al982,anf_fun414);\n}\n$ans981 = anf_fun414.app(t1977,t2978,t3979,t4980);\nbreak;\ncase 1: var anf_arg415 = $ans981;\n$step975 = 2;\n$al982 = L[151];\n// omitting isFunction check;\n$ans981 = table$from$cols827.$var.app(anf_arg415);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans981;\ndefault: R.ffi.throwSpinnakerError(L[148],$step975);\n}\n}\nif($step975 !== 2) {\n$ans981.stack[R.EXN_STACKHEIGHT++] = R.mAR($al982,$temp_lam976,$step975,[t1977,t2978,t3979,t4980],[],$elidedFrames984);\n}\nreturn $ans981;\n};\nvar anf_obj1009 = R.mF($temp_lam976,\"\");\nvar $temp_lam988 = function _7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c__152($t1989,$t2990,$t3991,$t4992,$t5993) {\nvar $step987 = 0;\nvar $elidedFrames997 = 0;\nvar $ans994 = D;\nvar $al995 = L[152];\nif(R.isAR($t1989)) {\n$step987 = $t1989.step;\n$al995 = $t1989.from;\n$ans994 = $t1989.ans;\n$elidedFrames997 = $t1989.elidedFrames;\nt1989 = $t1989.args[0];\nt2990 = $t1989.args[1];\nt3991 = $t1989.args[2];\nt4992 = $t1989.args[3];\nt5993 = $t1989.args[4];\n} else {\nvar $l = arguments.length;\nif($l !== 5) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],5,$t,false);\n}\nvar t1989 = $t1989;\nvar t2990 = $t2990;\nvar t3991 = $t3991;\nvar t4992 = $t4992;\nvar t5993 = $t5993;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans994 = R.mC();\n}\nwhile(!R.isContinuation($ans994)) {\nswitch($step987) {\ncase 0: $ans994 = R.getMaker5(raw$array2,(\"make5\"),L[153],L[154]);\nvar anf_fun999 = $ans994;\n$step987 = 1;\n$al995 = L[154];\nif(typeof(anf_fun999.app) !== \"function\") {\nR.ffi.throwNonFunApp($al995,anf_fun999);\n}\n$ans994 = anf_fun999.app(t1989,t2990,t3991,t4992,t5993);\nbreak;\ncase 1: var anf_arg1003 = $ans994;\n$step987 = 2;\n$al995 = L[155];\n// omitting isFunction check;\n$ans994 = table$from$cols827.$var.app(anf_arg1003);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans994;\ndefault: R.ffi.throwSpinnakerError(L[152],$step987);\n}\n}\nif($step987 !== 2) {\n$ans994.stack[R.EXN_STACKHEIGHT++] = R.mAR($al995,$temp_lam988,$step987,[t1989,t2990,t3991,t4992,t5993],[],$elidedFrames997);\n}\nreturn $ans994;\n};\nvar anf_obj1010 = R.mF($temp_lam988,\"\");\nvar table$from$columns1016 = R.mO({\"make\":table$from$cols827.$var,\n\"make0\":anf_obj1006,\n\"make1\":anf_obj1007,\n\"make2\":anf_obj1008,\n\"make3\":anf_obj450,\n\"make4\":anf_obj1009,\n\"make5\":anf_obj1010});\n$step14 = 5;\n$ans46 = R.maybeMethodCall2(builtins1,\"trace-value\",L[156],L[156],nothing2);\nbreak;\ncase 5: var answer1019 = $ans46;\n$step14 = 6;\n$ans46 = R.maybeMethodCall0(builtins1,\"current-checker\",L[157]);\nbreak;\ncase 6: var anf_method_obj1011 = $ans46;\n$step14 = 7;\n$ans46 = R.maybeMethodCall0(anf_method_obj1011,\"results\",L[157]);\nbreak;\ncase 7: var checks1020 = $ans46;\n$step14 = 8;\n$ans46 = R.mO({\"answer\":answer1019,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"running-min\":running$min1012,\n\"running-fold\":running$fold1013,\n\"table-from-raw-array\":table$from$raw$array458.$var,\n\"running-mean\":running$mean1014,\n\"running-reduce\":running$reduce239,\n\"raw-row\":raw$row758,\n\"running-max\":running$max1015,\n\"table-from-cols\":table$from$cols827.$var,\n\"table-from-columns\":table$from$columns1016,\n\"difference-from\":difference$from112,\n\"table-from-column\":table$from$column776.$var,\n\"difference\":difference1017,\n\"running-sum\":running$sum1018,\n\"table-from-rows\":table$from$rows771},\n\"defined-types\":{\"Reducer\":Reducer99},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"running-min\":running$min1012,\n\"running-fold\":running$fold1013,\n\"table-from-raw-array\":table$from$raw$array458.$var,\n\"running-mean\":running$mean1014,\n\"running-reduce\":running$reduce239,\n\"raw-row\":raw$row758,\n\"running-max\":running$max1015,\n\"table-from-cols\":table$from$cols827.$var,\n\"table-from-columns\":table$from$columns1016,\n\"difference-from\":difference$from112,\n\"table-from-column\":table$from$column776.$var,\n\"difference\":difference1017,\n\"running-sum\":running$sum1018,\n\"table-from-rows\":table$from$rows771}),\n\"types\":{\"Reducer\":Reducer99},\n\"modules\":{}}),\n\"checks\":checks1020});\nbreak;\ncase 8: ++R.GAS;\nreturn $ans46;\ndefault: R.ffi.throwSpinnakerError(L[164],$step14);\n}\n}\nif($step14 !== 8) {\n$ans46.stack[R.EXN_STACKHEIGHT++] = R.mAR($al47,$toplevel15,$step14,[],[raw$row758,running$min1012,Reducer99,running$mean1014,running$fold1013,difference$from112,running$reduce239,running$sum1018,difference1017,running$max1015,table$from$rows771,answer1019,table$from$column776,table$from$columns1016,table$from$cols827,table$from$raw$array458],$elidedFrames49);\n}\nreturn $ans46;\n};\nreturn R.safeCall($toplevel15,function module_load(moduleVal) {\nR.modules[\"$builtin://tables10\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"table-from-rows":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -87, -0, -2335, -95, -1, -2825], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":"tany"}, -"running-sum":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -63, -0, -1451, -63, -70, -1521], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://tables"}, -"name":"Reducer"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]]}, -"difference":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -23, -0, -445, -23, -31, -476], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":"tany"}, -"table-from-column":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -97, -0, -2827, -102, -3, -3038], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":false, -"name":"table-from-column", -"typ":"tany"}, -"difference-from":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -12, -0, -178, -21, -3, -443], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":0, -"name":"difference-from", -"typ":"tany"}, -"table-from-columns":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -123, -0, -3496, -131, -1, -3954], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":"tany"}, -"table-from-cols":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -107, -0, -3100, -120, -3, -3493], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":false, -"name":"table-from-cols", -"typ":"tany"}, -"running-max":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -59, -0, -1303, -59, -72, -1375], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://tables"}, -"name":"Reducer"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]]}, -"raw-row":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -65, -0, -1523, -73, -1, -2031], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":"tany"}, -"running-reduce":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -49, -0, -1097, -57, -3, -1301], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":0, -"name":"running-reduce", -"typ":"tany"}, -"running-mean":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -25, -0, -478, -34, -1, -797], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://tables"}, -"name":"Reducer"},[["tuple",[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"},{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]]}, -"table-from-raw-array":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -75, -0, -2033, -85, -3, -2333], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":false, -"name":"table-from-raw-array", -"typ":"tany"}, -"running-fold":{"bind":"fun", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -36, -0, -799, -47, -3, -1095], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"flatness":0, -"name":"running-fold", -"typ":"tany"}, -"running-min":{"bind":"let", -"origin":{"local-bind-site":["builtin://tables", -1, -0, -0, -1, -9, -9], -"definition-bind-site":["builtin://tables", -61, -0, -1377, -61, -72, -1449], -"new-definition":true, -"uri-of-definition":"builtin://tables"}, -"typ":["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://tables"}, -"name":"Reducer"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]]}}, -"datatypes":{}, -"aliases":{"Reducer":["forall", -["atom#OutVal#85","atom#InVal#84","atom#Acc#83"], -["record",{"reduce":["arrow", -[["tid", -"atom#Acc#83"], -["tid", -"atom#InVal#84"]], -["tuple",[["tid", -"atom#Acc#83"],["tid", -"atom#OutVal#85"]]]], -"one":["arrow", -[["tid", -"atom#InVal#84"]], -["tuple",[["tid", -"atom#Acc#83"],["tid", -"atom#OutVal#85"]]]]}]]}}, -"requires":[{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}]}), -"builtin://reactor-events":({"theMap":"{\"version\":3,\"sources\":[\"builtin://reactor-events\"],\"names\":[\"builtin://reactor-events\",\",6,0,47,10,3,156\",\",7,2,61,7,13,72\",\",8,2,75,8,51,124\",\",9,2,127,9,27,152\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAKDC,4BALCD;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,mCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAMCE,gCANDF;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,+BAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAOCG,4BAPDH;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCI,kCARDJ;AAAAA;AAAAA;AAAAA;AAAAA,mBAQCI,+BARDJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA,SAKDC,oDALCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://reactor-events\"}", -"theModule":"function _c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543__9(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://reactor-events\";\nvar D = R.undefined;\nvar L = [[M,7,2,61,7,13,72],\n[M,8,2,75,8,51,124],\n[M,8,15,88,8,21,94],\n[M,8,28,101,8,34,107],\n[M,8,44,117,8,50,123],\n[M,9,2,127,9,27,152],\n[M,9,20,145,9,26,151],\n[M,6,0,47,10,3,156],\n[\"dummy location\"],\n[M,1,0,0,10,3,156]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar $toplevel8 = function _c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543__9($$resumer13) {\nvar $step7 = 0;\nvar $elidedFrames64 = 0;\nvar $ans61 = D;\nvar $al62 = L[9];\nif(R.isAR($$resumer13)) {\n$step7 = $$resumer13.step;\n$al62 = $$resumer13.from;\n$ans61 = $$resumer13.ans;\n$elidedFrames64 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanswer103 = $$resumer13.vars[0];\nmouse94 = $$resumer13.vars[1];\nkeypress98 = $$resumer13.vars[2];\nis$Event88 = $$resumer13.vars[3];\nis$keypress96 = $$resumer13.vars[4];\ntime$tick90 = $$resumer13.vars[5];\nis$time$tick89 = $$resumer13.vars[6];\nEvent102 = $$resumer13.vars[7];\nis$mouse92 = $$resumer13.vars[8];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans61 = R.mC();\n}\nwhile(!R.isContinuation($ans61)) {\nswitch($step7) {\ncase 0: var Event65 = R.nB(\"Event\",L[7]);\nvar Event102 = R.mBA(Event65,\"Event\");\nvar Event87 = {\"$var\":D};\nvar is$Event88 = {\"$var\":D};\nvar is$time$tick89 = {\"$var\":D};\nvar time$tick90 = {\"$var\":D};\nvar is$mouse92 = {\"$var\":D};\nvar mouse94 = {\"$var\":D};\nvar is$keypress96 = {\"$var\":D};\nvar keypress98 = {\"$var\":D};\nvar $time$tick_getfields70 = function variant(f) {\nreturn f();\n};\nvar $time$tick_mutablemask69 = [];\nvar $time$tick$base66 = {\"_match\":R.mM(\"time-tick\",0)};\nvar $time$tick$brander67 = R.nB(\"time-tick\",L[0]);\nvar $time$tick$brands68 = {};\n$time$tick$brands68[Event65._brand] = true;\n$time$tick$brands68[$time$tick$brander67._brand] = true;\nvar $mouse_getfields75 = function singleton_variant(f) {\nreturn f(this.dict[\"x\"],this.dict[\"y\"],this.dict[\"kind\"]);\n};\nvar $mouse_mutablemask74 = [false,false,false];\nvar $mouse$base71 = {\"$fieldNames\":[\"x\",\"y\",\"kind\"],\n\"_match\":R.mM(\"mouse\",3)};\nvar $mouse$brander72 = R.nB(\"mouse\",L[1]);\nvar $mouse$brands73 = {};\n$mouse$brands73[Event65._brand] = true;\n$mouse$brands73[$mouse$brander72._brand] = true;\nvar mouse76 = R.mVC(L[1],function $synthesizedConstructor_$mouse$base() {\nreturn [$type$Number3,$type$Number3,$type$String8];\n},[\"x77\",\"y78\",\"kind79\"],[L[2],L[3],L[4]],[false,false,false],[\"x77\",\"y78\",\"kind79\"],$mouse_mutablemask74,$mouse$base71,$mouse$brands73,\"mouse\",$mouse_getfields75,$mouse$base71);\nvar $keypress_getfields84 = function singleton_variant(f) {\nreturn f(this.dict[\"key\"]);\n};\nvar $keypress_mutablemask83 = [false];\nvar $keypress$base80 = {\"$fieldNames\":[\"key\"],\n\"_match\":R.mM(\"keypress\",1)};\nvar $keypress$brander81 = R.nB(\"keypress\",L[5]);\nvar $keypress$brands82 = {};\n$keypress$brands82[Event65._brand] = true;\n$keypress$brands82[$keypress$brander81._brand] = true;\nvar keypress85 = R.mVC(L[5],function $synthesizedConstructor_$keypress$base() {\nreturn [$type$String8];\n},[\"key86\"],[L[6]],[false],[\"key86\"],$keypress_mutablemask83,$keypress$base80,$keypress$brands82,\"keypress\",$keypress_getfields84,$keypress$base80);\nvar anf_assign27 = R.mO({\"Event\":G(Event65,\"test\",L[7]),\n\"is-time-tick\":G($time$tick$brander67,\"test\",L[0]),\n\"time-tick\":R.mDV($time$tick$base66,$time$tick$brands68,\"time-tick\",$time$tick_getfields70,-1,$time$tick_mutablemask69,$time$tick$base66,false,L[0]),\n\"is-mouse\":G($mouse$brander72,\"test\",L[1]),\n\"mouse\":mouse76,\n\"is-keypress\":G($keypress$brander81,\"test\",L[5]),\n\"keypress\":keypress85});\nEvent87.$var = anf_assign27;\nR.nothing;\n$al62 = L[7];\nvar anf_assign29 = G(Event87.$var,\"Event\",L[7]);\nis$Event88.$var = anf_assign29;\nR.nothing;\n$al62 = L[0];\nvar anf_assign31 = G(Event87.$var,\"is-time-tick\",L[0]);\nis$time$tick89.$var = anf_assign31;\nR.nothing;\n$al62 = L[0];\nvar anf_assign33 = G(Event87.$var,\"time-tick\",L[0]);\ntime$tick90.$var = anf_assign33;\nR.nothing;\n$al62 = L[1];\nvar anf_assign91 = G(Event87.$var,\"is-mouse\",L[1]);\nis$mouse92.$var = anf_assign91;\nR.nothing;\n$al62 = L[1];\nvar anf_assign93 = G(Event87.$var,\"mouse\",L[1]);\nmouse94.$var = anf_assign93;\nR.nothing;\n$al62 = L[5];\nvar anf_assign95 = G(Event87.$var,\"is-keypress\",L[5]);\nis$keypress96.$var = anf_assign95;\nR.nothing;\n$al62 = L[5];\nvar anf_assign97 = G(Event87.$var,\"keypress\",L[5]);\nkeypress98.$var = anf_assign97;\nR.nothing;\n$step7 = 1;\n$ans61 = R.maybeMethodCall2(builtins1,\"trace-value\",L[8],L[8],nothing2);\nbreak;\ncase 1: var answer103 = $ans61;\n$step7 = 2;\n$ans61 = R.maybeMethodCall0(builtins1,\"current-checker\",L[7]);\nbreak;\ncase 2: var anf_method_obj101 = $ans61;\n$step7 = 3;\n$ans61 = R.maybeMethodCall0(anf_method_obj101,\"results\",L[7]);\nbreak;\ncase 3: var checks104 = $ans61;\n$step7 = 4;\n$ans61 = R.mO({\"answer\":answer103,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-mouse\":is$mouse92.$var,\n\"keypress\":keypress98.$var,\n\"mouse\":mouse94.$var,\n\"is-keypress\":is$keypress96.$var,\n\"is-Event\":is$Event88.$var,\n\"is-time-tick\":is$time$tick89.$var,\n\"time-tick\":time$tick90.$var},\n\"defined-types\":{\"Event\":Event102},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-mouse\":is$mouse92.$var,\n\"keypress\":keypress98.$var,\n\"mouse\":mouse94.$var,\n\"is-keypress\":is$keypress96.$var,\n\"is-Event\":is$Event88.$var,\n\"is-time-tick\":is$time$tick89.$var,\n\"time-tick\":time$tick90.$var}),\n\"types\":{\"Event\":Event102},\n\"modules\":{}}),\n\"checks\":checks104});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans61;\ndefault: R.ffi.throwSpinnakerError(L[9],$step7);\n}\n}\nif($step7 !== 4) {\n$ans61.stack[R.EXN_STACKHEIGHT++] = R.mAR($al62,$toplevel8,$step7,[],[answer103,mouse94,keypress98,is$Event88,is$keypress96,time$tick90,is$time$tick89,Event102,is$mouse92],$elidedFrames64);\n}\nreturn $ans61;\n};\nreturn R.safeCall($toplevel8,function module_load(moduleVal) {\nR.modules[\"$builtin://reactor$events1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"time-tick":{"bind":"let", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -7, -2, -61, -7, -13, -72], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"typ":"tany"}, -"is-time-tick":{"bind":"fun", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -7, -2, -61, -7, -13, -72], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"flatness":0, -"name":"is-time-tick", -"typ":"tany"}, -"is-Event":{"bind":"let", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -6, -0, -47, -10, -3, -156], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"typ":"tany"}, -"is-keypress":{"bind":"fun", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -9, -2, -127, -9, -27, -152], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"flatness":0, -"name":"is-keypress", -"typ":"tany"}, -"mouse":{"bind":"fun", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -8, -2, -75, -8, -51, -124], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"flatness":0, -"name":"mouse", -"typ":"tany"}, -"keypress":{"bind":"fun", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -9, -2, -127, -9, -27, -152], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"flatness":0, -"name":"keypress", -"typ":"tany"}, -"is-mouse":{"bind":"fun", -"origin":{"local-bind-site":["builtin://reactor-events", -2, -0, -10, -2, -15, -25], -"definition-bind-site":["builtin://reactor-events", -8, -2, -75, -8, -51, -124], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"}, -"flatness":0, -"name":"is-mouse", -"typ":"tany"}}, -"datatypes":{"Event":["data",{"local-bind-site":["builtin://reactor-events", -6, -0, -47, -10, -3, -156], -"definition-bind-site":["builtin://reactor-events", -6, -0, -47, -10, -3, -156], -"new-definition":true, -"uri-of-definition":"builtin://reactor-events"},"Event",[],[["time-tick", -{}],["mouse", -[["x", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["y", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}],["kind", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["keypress", -[["key", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}]],{}]}, -"aliases":{"Event":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://reactors":({ - requires: [ - { "import-type": "builtin", "name": "reactor-events" }, - { "import-type": "builtin", "name": "valueskeleton" }, - { "import-type": "builtin", "name": "table" } - ], - nativeRequires: [], - provides: { - shorthands: { - "RofA": ["tyapp", ["local", "Reactor"], [["tid", "a"]]], - "ReactorEvent": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://reactor-events" }, - name: "Event" }, - "Image": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://image-lib" }, - name: "Image" }, - "ValueSkeleton": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://valueskeleton" }, - name: "ValueSkeleton" }, - "Table": { tag: "name", - origin: { "import-type": "uri", uri: "builtin://global" }, - name: "Table" } - }, - values: { - "keypress": ["arrow", ["String"], ["local", "Event"]], - "mouse": ["arrow", ["Number", "Number", "String"], ["local", "Event"]], - "time-tick": ["local", "Event"], - - "get-value": ["forall", ["a"], ["arrow", ["RofA"], ["tid", "a"]]], - "get-instance": ["forall", ["a"], ["arrow", ["RofA"], ["tid", "a"]]], - "draw": ["forall", ["a"], ["arrow", ["RofA"], "Image"]], - "interact": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], - "interact-trace": ["forall", ["a"], ["arrow", ["RofA"], "Table"]], - "simulate-trace": ["forall", ["a"], ["arrow", ["RofA", "Number"], "Table"]], - "start-trace": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], - "stop-trace": ["forall", ["a"], ["arrow", ["RofA"], "RofA"]], - "get-trace": ["forall", ["a"], ["arrow", ["RofA"], ["List", ["tid", "a"]]]], - "get-trace-as-table": ["forall", ["a"], ["arrow", ["RofA"], "Table"]], - "react": ["forall", ["a"], ["arrow", ["RofA", ["local", "Event"]], "RofA"]] - }, - aliases: { - "Event": "ReactorEvent", - "Reactor": ["local", "Reactor"] - }, - datatypes: { - "Reactor": ["data", "Reactor", ["a"], [], { - "get-value": ["arrow", [], ["tid", "a"]], - "draw": ["arrow", [], "Image"], - "interact": ["arrow", [], "RofA"], - "interact-trace": ["forall", ["a"], ["arrow", [], "Any"]], - "simulate-trace": ["forall", ["a"], ["arrow", ["Number"], "Any"]], - "start-trace": ["arrow", [], "RofA"], - "stop-trace": ["arrow", [], "RofA"], - "get-trace": ["arrow", [], ["List", ["tid", "a"]]], - "get-trace-as-table": ["arrow", [], "Any"], - "react": ["arrow", [["local", "Event"]], "RofA"], - "is-stopped": ["arrow", [], "Boolean"], - "_output": ["arrow", [], "ValueSkeleton"] - }] - }, - }, - - theModule: function(runtime, _, uri, reactorEvents, VSlib, tables, reactorLib) { - var gf = runtime.getField; - var gmf = function(m, f) { return gf(runtime.getField(m, "values"), f); } - var gtf = function(m, f) { return gf(m, "types")[f]; } - var VS = runtime.getField(VSlib, "values"); - - var brandReactor = runtime.namedBrander("reactors", ["reactors"]); - var annReactor = runtime.makeBranderAnn(brandReactor, "Reactor"); - - var checkArity = runtime.ffi.checkArity; - - var annEvent = gtf(reactorEvents, "Event"); - - function applyBrand(brand, val) { - return gf(brand, "brand").app(val); - } - function hasBrand(brand, val) { - return gf(brand, "test").app(val); - } - - var isEvent = gmf(reactorEvents, "is-Event"); - var externalInteractionHandler = null; - var setInteract = function(newInteract) { - externalInteractionHandler = newInteract; - } - var makeReactor = function(init, fields) { - runtime.ffi.checkArity(2, arguments, "reactor", false); - runtime.checkObject(fields); - var handlerDict = {}; - Object.keys(fields.dict).forEach(function(f) { - if(runtime.ffi.isSome(gf(fields, f))) { - handlerDict[f] = gf(gf(fields, f), "value"); - } - }); - return makeReactorRaw(init, handlerDict, false, []); - } - var makeReactorRaw = function(init, handlers, tracing, trace) { - var o = runtime.makeObject({ - "get-value": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - return init; - }), - "draw": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - if(!handlers.hasOwnProperty("to-draw")) { - runtime.ffi.throwMessageException("Cannot draw() because no to-draw was specified on this reactor."); - } - var drawer = handlers["to-draw"]; - return drawer.app(init); - }), - "interact-trace": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - return runtime.safeThen(function() { - return gf(self, "start-trace").app(); - }).then(function(val) { - return gf(val, "interact").app(); - }).then(function(val) { - return gf(val, "get-trace-as-table").app(); - }).start(); - }), - "simulate-trace": runtime.makeMethod1(function(self, limit) { - checkArity(2, arguments, "reactors", true); - function help(r, i) { - return r.then(function(rval) { - if(i <= 0) { - return gf(rval, "get-trace-as-table").app() - } - else { - return runtime.safeThen(function() { - return gf(rval, "is-stopped").app(); - }).then(function(isStopped) { - if(isStopped) { - return gf(rval, "get-trace-as-table").app() - } - else { - return help(runtime.safeThen(function() { - return gf(rval, "react").app(gmf(reactorEvents, "time-tick")); - }), i - 1).start(); - } - }).start() - } - }); - } - var withTracing = runtime.safeThen(function() { - return gf(self, "start-trace").app(); - }); - return help(withTracing, limit).start(); - }), - interact: runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - if(externalInteractionHandler === null) { - runtime.ffi.throwMessageException("No interaction set up for this context (please report a bug if you are using code.pyret.org and see this message)"); - } - var thisInteractTrace = []; - var tracer = null; - if(tracing) { - tracer = function(newVal, oldVal, k) { - thisInteractTrace.push(newVal); - k(); - }; - } - return runtime.safeCall(function() { - return externalInteractionHandler(init, handlers, tracer); - }, function(newVal) { - // This unshift prevents duplicate first elements - thisInteractTrace.shift(); - return makeReactorRaw(newVal, handlers, tracing, trace.concat(thisInteractTrace)); - }, "interact"); - }), - "start-trace": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - return makeReactorRaw(init, handlers, true, [init]); - }), - "stop-trace": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - return makeReactorRaw(init, handlers, false, []); - }), - "get-trace": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - if(tracing) { - return runtime.ffi.makeList(trace); - } - else { - runtime.ffi.throwMessageException("Tried to get trace of a reactor that isn't tracing; try calling start-trace() first"); - } - }), - "get-trace-as-table": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - if(tracing) { - var i = 0; - var rows = trace.map(function(state) { - var ans = [i, state]; - i += 1; - return ans; - }); - return tables.makeTable(["tick", "state"], rows); - } - else { - runtime.ffi.throwMessageException("Tried to get trace of a reactor that isn't tracing; try calling start-trace() first"); - } - }), - react: runtime.makeMethod1(function(self, event) { - checkArity(2, arguments, "reactors", true); - function callOrError(handlerName, args) { - if(handlers.hasOwnProperty(handlerName)) { - var funObj = handlers[handlerName].app; - return runtime.safeCall(function() { - return funObj.apply(funObj, args); - }, function(newVal) { - if(tracing) { - var newTrace = trace.concat([newVal]); - } - else { - var newTrace = trace; - } - return makeReactorRaw(newVal, handlers, tracing, newTrace); - }, "react:" + handlerName); - } - else { - runtime.ffi.throwMessageException("No " + handlerName + " handler defined"); - } - } - return runtime.safeCall(function() { - if(handlers["stop-when"]) { - return handlers["stop-when"].app(init); - } - else { - return false; - } - }, function(stop) { - if(stop) { - return self; - } - else { - return runtime.ffi.cases(isEvent, "Event", event, { - keypress: function(key) { - return callOrError("on-key", [init, key]); - }, - "time-tick": function() { - return callOrError("on-tick", [init]); - }, - mouse: function(x, y, kind) { - return callOrError("on-mouse", [init, x, y, kind]); - } - }); - } - }, "react:stop-when"); - }), - "is-stopped": runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - if(handlers["stop-when"]) { - return handlers["stop-when"].app(init); - } - else { - return false; - } - }), - _output: runtime.makeMethod0(function(self) { - checkArity(1, arguments, "reactors", true); - return runtime.getField(VS, "vs-constr").app( - "reactor", - runtime.ffi.makeList([ gf(VS, "vs-value").app(init) ])); - }) - }); - return applyBrand(brandReactor, o); - } - - var c = function(name, ...argsAndAnns) { - runtime.checkArgsInternalInline("reactors", name, ...argsAndAnns); - } - - function getValue(reactor) { - checkArity(1, arguments, "reactors", false); - c("get-value", reactor, annReactor); - return runtime.getField(reactor, "get-value").app(); - } - - function draw(reactor) { - checkArity(1, arguments, "reactors", false); - c("draw", reactor, annReactor); - return runtime.getField(reactor, "draw").app(); - } - - function interact(reactor) { - checkArity(1, arguments, "reactors", false); - c("interact", reactor, annReactor); - return runtime.getField(reactor, "interact").app(); - } - - function react(reactor, event) { - checkArity(2, arguments, "reactors", false); - c("react", reactor, annReactor, event, annEvent); - return runtime.getField(reactor, "react").app(event); - } - - function getTrace(reactor) { - checkArity(1, arguments, "reactors", false); - c("get-trace", reactor, annReactor); - return runtime.getField(reactor, "get-trace").app(); - } - - function getTraceAsTable(reactor) { - checkArity(1, arguments, "reactors", false); - c("get-trace-as-table", reactor, annReactor); - return runtime.getField(reactor, "get-trace-as-table").app(); - } - - function startTrace(reactor) { - checkArity(1, arguments, "reactors", false); - c("start-trace", reactor, annReactor); - return runtime.getField(reactor, "start-trace").app(); - } - - function interactTrace(reactor) { - checkArity(1, arguments, "reactors", false); - c("interact-trace", reactor, annReactor); - return runtime.getField(reactor, "interact-trace").app(); - } - - function simulateTrace(reactor, limit) { - checkArity(2, arguments, "reactors", false); - c("simulate-trace", reactor, annReactor, limit, runtime.NumInteger); - return runtime.getField(reactor, "simulate-trace").app(limit); - } - - function stopTrace(reactor) { - checkArity(1, arguments, "reactors", false); - c("stop-trace", reactor, annReactor); - return runtime.getField(reactor, "stop-trace").app(); - } - - var F = runtime.makeFunction; - - var values = { - mouse: gmf(reactorEvents, "mouse"), - keypress: gmf(reactorEvents, "keypress"), - "time-tick": gmf(reactorEvents, "time-tick"), - "make-reactor": F(makeReactor, "make-reactor"), - - "get-value": F(getValue, "get-value"), - "get-instance": F(getValue, "get-instance"), - "draw": F(draw, "draw"), - "get-trace": F(getTrace, "get-trace"), - "get-trace-as-table": F(getTraceAsTable, "get-trace-as-table"), - "start-trace": F(startTrace, "start-trace"), - "stop-trace": F(stopTrace, "stop-trace"), - "interact-trace": F(interactTrace, "interact-trace"), - "simulate-trace": F(simulateTrace, "simulate-trace"), - "react": F(react, "react"), - "interact": F(interact, "interact") - - }; - - var types = { - Event: gtf(reactorEvents, "Event"), - Reactor: annReactor - }; - - var internal = { - setInteract: setInteract - }; - return runtime.makeModuleReturn(values, types, internal); - } -}) -, -"builtin://data-source":({"theMap":"{\"version\":3,\"sources\":[\"builtin://data-source\"],\"names\":[\"builtin://data-source\",\",7,0,93,13,3,225\",\",8,2,116,8,11,125\",\",9,2,128,9,22,148\",\",10,2,151,10,22,171\",\",11,2,174,11,24,196\",\",12,2,199,12,24,221\",\",24,0,523,26,3,625\",\",25,2,559,25,64,621\",\",36,21,889,36,47,915\",\",36,16,884,36,48,916\",\",45,18,1053,45,34,1069\",\",46,19,1089,46,28,1098\",\",47,25,1124,47,38,1137\",\",42,2,973,48,5,1143\",\",52,8,1189,52,23,1204\",\",52,8,1189,52,34,1215\",\",52,37,1218,52,55,1236\",\",52,8,1189,52,55,1236\",\",55,20,1299,55,39,1318\",\",56,24,1344,56,58,1378\",\",56,24,1344,57,23,1402\",\",56,24,1344,57,29,1408\",\",56,24,1344,57,46,1425\",\",56,18,1338,57,47,1426\",\",55,6,1285,59,9,1459\",\",63,12,1591,63,25,1604\",\",62,31,1550,63,25,1604\",\",62,31,1550,63,34,1613\",\",62,31,1550,63,40,1619\",\",62,31,1550,63,57,1636\",\",62,25,1544,63,58,1637\",\",64,23,1661,65,15,1713\",\",64,23,1661,65,32,1730\",\",64,17,1655,65,33,1731\",\",53,2,1239,66,5,1737\",\",70,8,1784,70,23,1799\",\",70,8,1784,70,34,1810\",\",70,37,1813,70,55,1831\",\",70,8,1784,70,55,1831\",\",75,10,1916,75,16,1922\",\",76,10,1945,76,16,1951\",\",78,16,2036,78,32,2052\",\",77,27,1990,78,32,2052\",\",77,27,1990,78,41,2061\",\",77,27,1990,78,47,2067\",\",77,27,1990,78,65,2085\",\",77,21,1984,78,66,2086\",\",82,10,2136,82,27,2153\",\",82,10,2136,82,37,2163\",\",83,10,2185,83,27,2202\",\",83,10,2185,83,38,2213\",\",84,27,2253,85,17,2301\",\",84,27,2253,85,27,2311\",\",84,27,2253,85,33,2317\",\",84,27,2253,85,51,2335\",\",84,21,2247,85,52,2336\",\",88,12,2419,88,25,2432\",\",87,31,2378,88,25,2432\",\",87,31,2378,88,34,2441\",\",87,31,2378,88,40,2447\",\",87,31,2378,88,58,2465\",\",87,25,2372,88,59,2466\",\",89,23,2490,90,15,2542\",\",89,23,2490,90,33,2560\",\",89,17,2484,90,34,2561\",\",71,2,1834,91,5,2567\",\",95,8,2620,95,23,2635\",\",95,8,2620,95,34,2646\",\",95,37,2649,95,55,2667\",\",95,8,2620,95,55,2667\",\",98,20,2730,98,39,2749\",\",99,24,2775,100,17,2823\",\",99,24,2775,100,27,2833\",\",99,24,2775,100,33,2839\",\",99,24,2775,100,50,2856\",\",99,18,2769,100,51,2857\",\",98,6,2716,102,9,2890\",\",105,12,2979,105,21,2988\",\",104,25,2936,105,21,2988\",\",104,25,2936,105,30,2997\",\",104,25,2936,105,36,3003\",\",104,25,2936,105,69,3036\",\",104,19,2930,105,70,3037\",\",107,12,3110,107,25,3123\",\",106,31,3069,107,25,3123\",\",106,31,3069,107,34,3132\",\",106,31,3069,107,40,3138\",\",106,31,3069,107,57,3155\",\",106,25,3063,107,58,3156\",\",108,23,3180,109,15,3232\",\",108,23,3180,109,32,3249\",\",108,17,3174,109,33,3250\",\",96,2,2670,110,5,3256\",\",114,8,3301,114,23,3316\",\",114,8,3301,114,34,3327\",\",114,37,3330,114,55,3348\",\",114,8,3301,114,55,3348\",\",119,38,3482,119,54,3498\",\",119,22,3466,119,54,3498\",\",120,40,3539,120,49,3548\",\",120,23,3522,120,49,3548\",\",121,43,3592,121,56,3605\",\",121,28,3577,121,56,3605\",\",118,15,3422,123,9,3653\",\",124,12,3666,124,39,3693\",\",124,12,3666,124,48,3702\",\",124,12,3666,125,15,3718\",\",124,12,3666,125,32,3735\",\",124,6,3660,125,33,3736\",\",130,8,3787,130,23,3802\",\",130,8,3787,130,34,3813\",\",130,37,3816,130,55,3834\",\",130,8,3787,130,55,3834\",\",135,38,3968,135,47,3977\",\",135,22,3952,135,47,3977\",\",136,40,4018,136,49,4027\",\",136,23,4001,136,49,4027\",\",137,43,4071,137,56,4084\",\",137,28,4056,137,56,4084\",\",134,15,3908,139,9,4131\",\",140,12,4144,140,39,4171\",\",140,12,4144,140,48,4180\",\",140,12,4144,141,15,4196\",\",140,12,4144,141,32,4213\",\",140,6,4138,141,33,4214\",\",146,8,4266,146,23,4281\",\",146,8,4266,146,34,4292\",\",146,37,4295,146,55,4313\",\",146,8,4266,146,55,4313\",\",151,38,4448,151,54,4464\",\",151,22,4432,151,54,4464\",\",152,38,4503,152,47,4512\",\",152,22,4487,152,47,4512\",\",153,43,4556,153,56,4569\",\",153,28,4541,153,56,4569\",\",150,15,4388,155,9,4616\",\",156,12,4629,156,39,4656\",\",156,12,4629,156,48,4665\",\",156,12,4629,157,15,4681\",\",156,12,4629,157,33,4699\",\",156,6,4623,157,34,4700\",\",162,8,4749,162,23,4764\",\",162,8,4749,162,34,4775\",\",162,37,4778,162,55,4796\",\",162,8,4749,162,55,4796\",\",167,34,4928,167,50,4944\",\",167,22,4916,167,50,4944\",\",168,34,4979,168,43,4988\",\",168,22,4967,168,43,4988\",\",169,36,5025,169,45,5034\",\",169,23,5012,169,45,5034\",\",170,39,5074,170,52,5087\",\",170,28,5063,170,52,5087\",\",166,15,4872,171,9,5097\",\",172,12,5110,172,43,5141\",\",172,12,5110,172,52,5150\",\",172,12,5110,173,15,5166\",\",172,12,5110,173,37,5188\",\",172,6,5104,173,38,5189\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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\",\"file\":\"builtin://data-source\"}", -"theModule":"function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__228(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://data-source\";\nvar D = R.undefined;\nvar L = [[M,8,2,116,8,11,125],\n[M,9,2,128,9,22,148],\n[M,9,15,141,9,21,147],\n[M,10,2,151,10,22,171],\n[M,10,15,164,10,21,170],\n[M,11,2,174,11,24,196],\n[M,11,16,188,11,23,195],\n[M,12,2,199,12,24,221],\n[M,12,22,219,12,23,220],\n[M,7,0,93,13,3,225],\n[M,25,2,559,25,64,621],\n[M,25,24,581,25,30,587],\n[M,25,45,602,25,54,611],\n[M,24,0,523,26,3,625],\n[M,32,0,761,39,3,934],\n[M,33,2,800,38,5,930],\n[M,35,6,850,35,23,867],\n[M,34,4,822,37,7,924],\n[M,36,21,889,36,47,915],\n[M,34,10,828,34,21,839],\n[M,41,0,936,49,3,1147],\n[M,43,4,999,43,19,1014],\n[M,42,2,973,48,5,1143],\n[M,44,4,1019,44,19,1034],\n[M,45,4,1039,45,34,1069],\n[M,46,19,1089,46,28,1098],\n[M,46,4,1074,46,28,1098],\n[M,47,25,1124,47,38,1137],\n[M,47,4,1103,47,38,1137],\n[M,42,8,979,42,19,990],\n[M,51,0,1149,67,3,1741],\n[M,56,18,1338,57,47,1426],\n[M,56,24,1344,57,46,1425],\n[M,56,24,1344,57,29,1408],\n[M,56,24,1344,57,23,1402],\n[M,56,24,1344,56,58,1378],\n[M,56,8,1328,57,47,1426],\n[M,55,6,1285,59,9,1459],\n[M,58,8,1435,58,22,1449],\n[M,55,12,1291,55,18,1297],\n[M,54,4,1265,59,9,1459],\n[M,53,2,1239,66,5,1737],\n[M,60,4,1464,60,19,1479],\n[M,61,4,1484,61,38,1518],\n[M,62,25,1544,63,58,1637],\n[M,62,31,1550,63,57,1636],\n[M,62,31,1550,63,40,1619],\n[M,62,31,1550,63,34,1613],\n[M,62,31,1550,63,25,1604],\n[M,63,12,1591,63,25,1604],\n[M,62,4,1523,63,58,1637],\n[M,64,17,1655,65,33,1731],\n[M,64,23,1661,65,32,1730],\n[M,64,23,1661,65,15,1713],\n[M,64,4,1642,65,33,1731],\n[M,53,8,1245,53,19,1256],\n[M,52,8,1189,52,55,1236],\n[M,52,8,1189,52,34,1215],\n[M,52,8,1189,52,23,1204],\n[M,69,0,1743,92,3,2571],\n[M,72,4,1860,72,20,1876],\n[M,71,2,1834,91,5,2567],\n[M,77,21,1984,78,66,2086],\n[M,77,27,1990,78,65,2085],\n[M,77,27,1990,78,47,2067],\n[M,77,27,1990,78,41,2061],\n[M,77,27,1990,78,32,2052],\n[M,76,10,1945,76,16,1951],\n[M,75,10,1916,75,16,1922],\n[M,73,4,1881,79,9,2096],\n[M,84,21,2247,85,52,2336],\n[M,84,27,2253,85,51,2335],\n[M,84,27,2253,85,33,2317],\n[M,84,27,2253,85,27,2311],\n[M,84,27,2253,85,17,2301],\n[M,83,10,2185,83,38,2213],\n[M,82,10,2136,82,37,2163],\n[M,82,10,2136,82,27,2153],\n[M,80,4,2101,86,9,2346],\n[M,87,25,2372,88,59,2466],\n[M,87,31,2378,88,58,2465],\n[M,87,31,2378,88,40,2447],\n[M,87,31,2378,88,34,2441],\n[M,87,31,2378,88,25,2432],\n[M,88,12,2419,88,25,2432],\n[M,87,4,2351,88,59,2466],\n[M,89,17,2484,90,34,2561],\n[M,89,23,2490,90,33,2560],\n[M,89,23,2490,90,15,2542],\n[M,89,4,2471,90,34,2561],\n[M,71,8,1840,71,19,1851],\n[M,70,8,1784,70,55,1831],\n[M,70,8,1784,70,34,1810],\n[M,70,8,1784,70,23,1799],\n[M,94,0,2573,111,3,3260],\n[M,99,18,2769,100,51,2857],\n[M,99,24,2775,100,50,2856],\n[M,99,24,2775,100,33,2839],\n[M,99,24,2775,100,27,2833],\n[M,99,24,2775,100,17,2823],\n[M,99,8,2759,100,51,2857],\n[M,98,6,2716,102,9,2890],\n[M,101,8,2866,101,22,2880],\n[M,98,12,2722,98,18,2728],\n[M,97,4,2696,102,9,2890],\n[M,96,2,2670,110,5,3256],\n[M,103,4,2895,103,19,2910],\n[M,104,19,2930,105,70,3037],\n[M,104,25,2936,105,69,3036],\n[M,104,25,2936,105,36,3003],\n[M,104,25,2936,105,30,2997],\n[M,104,25,2936,105,21,2988],\n[M,105,12,2979,105,21,2988],\n[M,104,4,2915,105,70,3037],\n[M,106,25,3063,107,58,3156],\n[M,106,31,3069,107,57,3155],\n[M,106,31,3069,107,40,3138],\n[M,106,31,3069,107,34,3132],\n[M,106,31,3069,107,25,3123],\n[M,107,12,3110,107,25,3123],\n[M,106,4,3042,107,58,3156],\n[M,108,17,3174,109,33,3250],\n[M,108,23,3180,109,32,3249],\n[M,108,23,3180,109,15,3232],\n[M,108,4,3161,109,33,3250],\n[M,96,8,2676,96,19,2687],\n[M,95,8,2620,95,55,2667],\n[M,95,8,2620,95,34,2646],\n[M,95,8,2620,95,23,2635],\n[M,113,0,3262,127,3,3746],\n[M,116,4,3377,116,19,3392],\n[M,115,2,3351,126,5,3742],\n[M,124,6,3660,125,33,3736],\n[M,124,12,3666,125,32,3735],\n[M,124,12,3666,125,15,3718],\n[M,124,12,3666,124,48,3702],\n[M,124,12,3666,124,39,3693],\n[M,119,22,3466,119,54,3498],\n[M,119,8,3452,119,54,3498],\n[M,118,15,3422,123,9,3653],\n[M,120,23,3522,120,49,3548],\n[M,120,40,3539,120,49,3548],\n[M,120,8,3507,120,49,3548],\n[M,121,28,3577,121,56,3605],\n[M,121,43,3592,121,56,3605],\n[M,121,8,3557,121,56,3605],\n[M,122,8,3614,122,37,3643],\n[M,118,21,3428,118,32,3439],\n[M,115,8,3357,115,19,3368],\n[M,114,8,3301,114,55,3348],\n[M,114,8,3301,114,34,3327],\n[M,114,8,3301,114,23,3316],\n[M,129,0,3748,143,3,4224],\n[M,132,4,3863,132,19,3878],\n[M,131,2,3837,142,5,4220],\n[M,140,6,4138,141,33,4214],\n[M,140,12,4144,141,32,4213],\n[M,140,12,4144,141,15,4196],\n[M,140,12,4144,140,48,4180],\n[M,140,12,4144,140,39,4171],\n[M,135,22,3952,135,47,3977],\n[M,135,38,3968,135,47,3977],\n[M,135,8,3938,135,47,3977],\n[M,134,15,3908,139,9,4131],\n[M,136,23,4001,136,49,4027],\n[M,136,40,4018,136,49,4027],\n[M,136,8,3986,136,49,4027],\n[M,137,28,4056,137,56,4084],\n[M,137,43,4071,137,56,4084],\n[M,137,8,4036,137,56,4084],\n[M,138,8,4093,138,36,4121],\n[M,134,21,3914,134,32,3925],\n[M,131,8,3843,131,19,3854],\n[M,130,8,3787,130,55,3834],\n[M,130,8,3787,130,34,3813],\n[M,130,8,3787,130,23,3802],\n[M,145,0,4226,159,3,4710],\n[M,148,4,4342,148,20,4358],\n[M,147,2,4316,158,5,4706],\n[M,156,6,4623,157,34,4700],\n[M,156,12,4629,157,33,4699],\n[M,156,12,4629,157,15,4681],\n[M,156,12,4629,156,48,4665],\n[M,156,12,4629,156,39,4656],\n[M,151,22,4432,151,54,4464],\n[M,151,8,4418,151,54,4464],\n[M,150,15,4388,155,9,4616],\n[M,152,22,4487,152,47,4512],\n[M,152,38,4503,152,47,4512],\n[M,152,8,4473,152,47,4512],\n[M,153,28,4541,153,56,4569],\n[M,153,43,4556,153,56,4569],\n[M,153,8,4521,153,56,4569],\n[M,154,8,4578,154,36,4606],\n[M,150,21,4394,150,32,4405],\n[M,147,8,4322,147,19,4333],\n[M,146,8,4266,146,55,4313],\n[M,146,8,4266,146,34,4292],\n[M,146,8,4266,146,23,4281],\n[M,161,0,4712,175,3,5199],\n[M,164,4,4825,164,21,4842],\n[M,163,2,4799,174,5,5195],\n[M,172,6,5104,173,38,5189],\n[M,172,12,5110,173,37,5188],\n[M,172,12,5110,173,15,5166],\n[M,172,12,5110,172,52,5150],\n[M,172,12,5110,172,43,5141],\n[M,167,22,4916,167,50,4944],\n[M,167,8,4902,167,50,4944],\n[M,166,15,4872,171,9,5097],\n[M,168,22,4967,168,43,4988],\n[M,168,34,4979,168,43,4988],\n[M,168,8,4953,168,43,4988],\n[M,169,23,5012,169,45,5034],\n[M,169,36,5025,169,45,5034],\n[M,169,8,4997,169,45,5034],\n[M,170,28,5063,170,52,5087],\n[M,170,39,5074,170,52,5087],\n[M,170,8,5043,170,52,5087],\n[M,166,21,4878,166,32,4889],\n[M,163,8,4805,163,19,4816],\n[M,162,8,4749,162,55,4796],\n[M,162,8,4749,162,34,4775],\n[M,162,8,4749,162,23,4764],\n[\"dummy location\"],\n[M,29,2,664,29,95,757],\n[M,20,2,441,20,40,479],\n[M,21,2,483,21,38,519],\n[M,2,0,32,175,3,5199]];\nvar equal$always1 = R.getModuleField(\"builtin://global\",\"values\",\"equal-always\");\nvar string$tolower1 = R.getModuleField(\"builtin://global\",\"values\",\"string-tolower\");\nvar raise1 = R.getModuleField(\"builtin://global\",\"values\",\"raise\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar torepr3 = R.getModuleField(\"builtin://global\",\"values\",\"torepr\");\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar _plus5 = R.getModuleField(\"builtin://global\",\"values\",\"_plus\");\nvar $type$Boolean6 = R.getModuleField(\"builtin://global\",\"types\",\"Boolean\");\nvar num$to$string7 = R.getModuleField(\"builtin://global\",\"values\",\"num-to-string\");\nvar $type$RawArray1 = R.getModuleField(\"builtin://global\",\"types\",\"RawArray\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar string$to$number2 = R.getModuleField(\"builtin://global\",\"values\",\"string-to-number\");\nvar $underscore_import13 = $$underscore_import5;\nvar $included$115 = $$included$127;\nvar $cases_dispatch1358 = {\"c-empty\":5};\nvar $cases_dispatch1355 = {\"c-num\":8,\n\"c-str\":9,\n\"c-bool\":11,\n\"c-datum\":13};\nvar $cases_dispatch1315 = {\"c-bool\":5};\nvar $cases_dispatch1313 = {\"c-num\":8,\n\"c-str\":9,\n\"c-datum\":11,\n\"c-empty\":13};\nvar $cases_dispatch1224 = {\"c-num\":5};\nvar $cases_dispatch1221 = {\"c-str\":8,\n\"c-bool\":10,\n\"c-datum\":12,\n\"c-empty\":14};\nvar $cases_dispatch1161 = {\"c-str\":5};\nvar $cases_dispatch1159 = {\"c-num\":8,\n\"c-bool\":9,\n\"c-datum\":11,\n\"c-empty\":13};\nvar $cases_dispatch930 = {\"c-str\":5,\n\"c-num\":6,\n\"c-bool\":7,\n\"c-custom\":8,\n\"c-empty\":9};\nvar $cases_dispatch487 = {\"none\":2,\n\"some\":7};\nvar $cases_dispatch476 = {\"none\":14,\n\"some\":15};\nvar $cases_dispatch399 = {\"c-bool\":5,\n\"c-num\":6,\n\"c-str\":7,\n\"c-custom\":8,\n\"c-empty\":9};\nvar $cases_dispatch331 = {\"c-str\":5,\n\"c-num\":6,\n\"c-bool\":7,\n\"c-custom\":10,\n\"c-empty\":11};\nvar $cases_dispatch279 = {\"none\":2,\n\"some\":7};\nvar $cases_dispatch266 = {\"none\":16,\n\"some\":17};\nvar $cases_dispatch230 = {\"c-empty\":2,\n\"c-str\":3,\n\"c-num\":4,\n\"c-bool\":5,\n\"c-custom\":6};\nvar $cases_dispatch194 = {\"c-empty\":2};\nvar some3 = R.getModuleField(\"builtin://option\",\"values\",\"some\");\nvar Option5 = R.getModuleField(\"builtin://option\",\"types\",\"Option\");\nvar none6 = R.getModuleField(\"builtin://option\",\"values\",\"none\");\nvar $toplevel9 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__228($$resumer13) {\nvar $step8 = 0;\nvar $elidedFrames66 = 0;\nvar $ans63 = D;\nvar $al64 = L[228];\nif(R.isAR($$resumer13)) {\n$step8 = $$resumer13.step;\n$al64 = $$resumer13.from;\n$ans63 = $$resumer13.ans;\n$elidedFrames66 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nis$c$bool121 = $$resumer13.vars[0];\nstrings$only1165 = $$resumer13.vars[1];\nis$CellContent107 = $$resumer13.vars[2];\nDataSourceLoaderOption1364 = $$resumer13.vars[3];\nSanitizer134 = $$resumer13.vars[4];\nsanitize$col168 = $$resumer13.vars[5];\nc$empty111 = $$resumer13.vars[6];\nc$num119 = $$resumer13.vars[7];\nis$c$custom125 = $$resumer13.vars[8];\nnum$sanitizer336 = $$resumer13.vars[9];\nempty$only1362 = $$resumer13.vars[10];\nc$bool123 = $$resumer13.vars[11];\nLoadedTable1365 = $$resumer13.vars[12];\nCellContent195 = $$resumer13.vars[13];\nc$str115 = $$resumer13.vars[14];\nis$c$num117 = $$resumer13.vars[15];\nnumbers$only1228 = $$resumer13.vars[16];\nbool$sanitizer403 = $$resumer13.vars[17];\nanswer1367 = $$resumer13.vars[18];\nc$custom127 = $$resumer13.vars[19];\nis$c$str113 = $$resumer13.vars[20];\nstrict$num$sanitizer933 = $$resumer13.vars[21];\nstring$sanitizer235 = $$resumer13.vars[22];\nbooleans$only1319 = $$resumer13.vars[23];\nis$sanitize$col166 = $$resumer13.vars[24];\nDataSourceLoader1366 = $$resumer13.vars[25];\nis$c$empty109 = $$resumer13.vars[26];\noption$sanitizer202 = $$resumer13.vars[27];\nis$DataSourceLoaderOption162 = $$resumer13.vars[28];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans63 = R.mC();\n}\nwhile(!R.isContinuation($ans63)) {\nswitch($step8) {\ncase 0: var CellContent67 = R.nB(\"CellContent\",L[9]);\nvar CellContent195 = R.mBA(CellContent67,\"CellContent\");\nvar DataSourceLoaderOption68 = R.nB(\"DataSourceLoaderOption\",L[13]);\nvar DataSourceLoaderOption1364 = R.mBA(DataSourceLoaderOption68,\"DataSourceLoaderOption\");\nvar CellContent105 = {\"$var\":D};\nvar is$CellContent107 = {\"$var\":D};\nvar is$c$empty109 = {\"$var\":D};\nvar c$empty111 = {\"$var\":D};\nvar is$c$str113 = {\"$var\":D};\nvar c$str115 = {\"$var\":D};\nvar is$c$num117 = {\"$var\":D};\nvar c$num119 = {\"$var\":D};\nvar is$c$bool121 = {\"$var\":D};\nvar c$bool123 = {\"$var\":D};\nvar is$c$custom125 = {\"$var\":D};\nvar c$custom127 = {\"$var\":D};\nvar $c$empty_getfields73 = function variant(f) {\nreturn f();\n};\nvar $c$empty_mutablemask72 = [];\nvar $c$empty$base69 = {\"_match\":R.mM(\"c-empty\",0)};\nvar $c$empty$brander70 = R.nB(\"c-empty\",L[0]);\nvar $c$empty$brands71 = {};\n$c$empty$brands71[CellContent67._brand] = true;\n$c$empty$brands71[$c$empty$brander70._brand] = true;\nvar $c$str_getfields78 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $c$str_mutablemask77 = [false];\nvar $c$str$base74 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"c-str\",1)};\nvar $c$str$brander75 = R.nB(\"c-str\",L[1]);\nvar $c$str$brands76 = {};\n$c$str$brands76[CellContent67._brand] = true;\n$c$str$brands76[$c$str$brander75._brand] = true;\nvar c$str79 = R.mVC(L[1],function $synthesizedConstructor_$c$str$base() {\nreturn [$type$String8];\n},[\"s80\"],[L[2]],[false],[\"s80\"],$c$str_mutablemask77,$c$str$base74,$c$str$brands76,\"c-str\",$c$str_getfields78,$c$str$base74);\nvar $c$num_getfields85 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"]);\n};\nvar $c$num_mutablemask84 = [false];\nvar $c$num$base81 = {\"$fieldNames\":[\"n\"],\n\"_match\":R.mM(\"c-num\",1)};\nvar $c$num$brander82 = R.nB(\"c-num\",L[3]);\nvar $c$num$brands83 = {};\n$c$num$brands83[CellContent67._brand] = true;\n$c$num$brands83[$c$num$brander82._brand] = true;\nvar c$num86 = R.mVC(L[3],function $synthesizedConstructor_$c$num$base() {\nreturn [$type$Number3];\n},[\"n87\"],[L[4]],[false],[\"n87\"],$c$num_mutablemask84,$c$num$base81,$c$num$brands83,\"c-num\",$c$num_getfields85,$c$num$base81);\nvar $c$bool_getfields92 = function singleton_variant(f) {\nreturn f(this.dict[\"b\"]);\n};\nvar $c$bool_mutablemask91 = [false];\nvar $c$bool$base88 = {\"$fieldNames\":[\"b\"],\n\"_match\":R.mM(\"c-bool\",1)};\nvar $c$bool$brander89 = R.nB(\"c-bool\",L[5]);\nvar $c$bool$brands90 = {};\n$c$bool$brands90[CellContent67._brand] = true;\n$c$bool$brands90[$c$bool$brander89._brand] = true;\nvar c$bool93 = R.mVC(L[5],function $synthesizedConstructor_$c$bool$base() {\nreturn [$type$Boolean6];\n},[\"b94\"],[L[6]],[false],[\"b94\"],$c$bool_mutablemask91,$c$bool$base88,$c$bool$brands90,\"c-bool\",$c$bool_getfields92,$c$bool$base88);\nvar $c$custom_getfields99 = function singleton_variant(f) {\nreturn f(this.dict[\"datum\"]);\n};\nvar $c$custom_mutablemask98 = [false];\nvar $c$custom$base95 = {\"$fieldNames\":[\"datum\"],\n\"_match\":R.mM(\"c-custom\",1)};\nvar $c$custom$brander96 = R.nB(\"c-custom\",L[7]);\nvar $c$custom$brands97 = {};\n$c$custom$brands97[CellContent67._brand] = true;\n$c$custom$brands97[$c$custom$brander96._brand] = true;\nvar c$custom100 = R.mVC(L[7],function $synthesizedConstructor_$c$custom$base() {\nreturn [R.Any];\n},[\"datum101\"],[L[8]],[false],[\"datum101\"],$c$custom_mutablemask98,$c$custom$base95,$c$custom$brands97,\"c-custom\",$c$custom_getfields99,$c$custom$base95);\nvar anf_assign104 = R.mO({\"CellContent\":G(CellContent67,\"test\",L[9]),\n\"is-c-empty\":G($c$empty$brander70,\"test\",L[0]),\n\"c-empty\":R.mDV($c$empty$base69,$c$empty$brands71,\"c-empty\",$c$empty_getfields73,-1,$c$empty_mutablemask72,$c$empty$base69,false,L[0]),\n\"is-c-str\":G($c$str$brander75,\"test\",L[1]),\n\"c-str\":c$str79,\n\"is-c-num\":G($c$num$brander82,\"test\",L[3]),\n\"c-num\":c$num86,\n\"is-c-bool\":G($c$bool$brander89,\"test\",L[5]),\n\"c-bool\":c$bool93,\n\"is-c-custom\":G($c$custom$brander96,\"test\",L[7]),\n\"c-custom\":c$custom100});\nCellContent105.$var = anf_assign104;\nR.nothing;\n$al64 = L[9];\nvar anf_assign106 = G(CellContent105.$var,\"CellContent\",L[9]);\nis$CellContent107.$var = anf_assign106;\nR.nothing;\n$al64 = L[0];\nvar anf_assign108 = G(CellContent105.$var,\"is-c-empty\",L[0]);\nis$c$empty109.$var = anf_assign108;\nR.nothing;\n$al64 = L[0];\nvar anf_assign110 = G(CellContent105.$var,\"c-empty\",L[0]);\nc$empty111.$var = anf_assign110;\nR.nothing;\n$al64 = L[1];\nvar anf_assign112 = G(CellContent105.$var,\"is-c-str\",L[1]);\nis$c$str113.$var = anf_assign112;\nR.nothing;\n$al64 = L[1];\nvar anf_assign114 = G(CellContent105.$var,\"c-str\",L[1]);\nc$str115.$var = anf_assign114;\nR.nothing;\n$al64 = L[3];\nvar anf_assign116 = G(CellContent105.$var,\"is-c-num\",L[3]);\nis$c$num117.$var = anf_assign116;\nR.nothing;\n$al64 = L[3];\nvar anf_assign118 = G(CellContent105.$var,\"c-num\",L[3]);\nc$num119.$var = anf_assign118;\nR.nothing;\n$al64 = L[5];\nvar anf_assign120 = G(CellContent105.$var,\"is-c-bool\",L[5]);\nis$c$bool121.$var = anf_assign120;\nR.nothing;\n$al64 = L[5];\nvar anf_assign122 = G(CellContent105.$var,\"c-bool\",L[5]);\nc$bool123.$var = anf_assign122;\nR.nothing;\n$al64 = L[7];\nvar anf_assign124 = G(CellContent105.$var,\"is-c-custom\",L[7]);\nis$c$custom125.$var = anf_assign124;\nR.nothing;\n$al64 = L[7];\nvar anf_assign126 = G(CellContent105.$var,\"c-custom\",L[7]);\nc$custom127.$var = anf_assign126;\nR.nothing;\nvar Sanitizer134 = R.Function;\nvar LoadedTable1365 = R.mTA([L[226],L[227]],[$type$RawArray1,$type$RawArray1]);\nvar DataSourceLoaderOption160 = {\"$var\":D};\nvar is$DataSourceLoaderOption162 = {\"$var\":D};\nvar is$sanitize$col166 = {\"$var\":D};\nvar sanitize$col168 = {\"$var\":D};\nvar $sanitize$col_getfields132 = function singleton_variant(f) {\nreturn f(this.dict[\"col\"],this.dict[\"sanitizer\"]);\n};\nvar $sanitize$col_mutablemask131 = [false,false];\nvar $sanitize$col$base128 = {\"$fieldNames\":[\"col\",\"sanitizer\"],\n\"_match\":R.mM(\"sanitize-col\",2)};\nvar $sanitize$col$brander129 = R.nB(\"sanitize-col\",L[10]);\nvar $sanitize$col$brands130 = {};\n$sanitize$col$brands130[DataSourceLoaderOption68._brand] = true;\n$sanitize$col$brands130[$sanitize$col$brander129._brand] = true;\nvar sanitize$col133 = R.mVC(L[10],function $synthesizedConstructor_$sanitize$col$base() {\nreturn [$type$String8,Sanitizer134];\n},[\"col135\",\"sanitizer136\"],[L[11],L[12]],[false,false],[\"col135\",\"sanitizer136\"],$sanitize$col_mutablemask131,$sanitize$col$base128,$sanitize$col$brands130,\"sanitize-col\",$sanitize$col_getfields132,$sanitize$col$base128);\nvar anf_assign159 = R.mO({\"DataSourceLoaderOption\":G(DataSourceLoaderOption68,\"test\",L[13]),\n\"is-sanitize-col\":G($sanitize$col$brander129,\"test\",L[10]),\n\"sanitize-col\":sanitize$col133});\nDataSourceLoaderOption160.$var = anf_assign159;\nR.nothing;\n$al64 = L[13];\nvar anf_assign161 = G(DataSourceLoaderOption160.$var,\"DataSourceLoaderOption\",L[13]);\nis$DataSourceLoaderOption162.$var = anf_assign161;\nR.nothing;\n$al64 = L[10];\nvar anf_assign165 = G(DataSourceLoaderOption160.$var,\"is-sanitize-col\",L[10]);\nis$sanitize$col166.$var = anf_assign165;\nR.nothing;\n$al64 = L[10];\nvar anf_assign167 = G(DataSourceLoaderOption160.$var,\"sanitize-col\",L[10]);\nsanitize$col168.$var = anf_assign167;\nR.nothing;\nvar DataSourceLoader1366 = R.mRA([\"load\"],[L[225]],{\"load\":R.Function});\nvar option$sanitizer202 = {\"$var\":D};\nvar string$sanitizer235 = {\"$var\":D};\nvar num$sanitizer336 = {\"$var\":D};\nvar bool$sanitizer403 = {\"$var\":D};\nvar strict$num$sanitizer933 = {\"$var\":D};\nvar strings$only1165 = {\"$var\":D};\nvar numbers$only1228 = {\"$var\":D};\nvar booleans$only1319 = {\"$var\":D};\nvar empty$only1362 = {\"$var\":D};\nvar $temp_lam171 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__14($val$sanitizer172) {\nvar $step170 = 0;\nvar $elidedFrames177 = 0;\nvar $ans174 = D;\nvar $al175 = L[14];\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[14],1,$t,false);\n}\nvar val$sanitizer172 = $val$sanitizer172;\n// callee optimization;\nwhile(!R.isContinuation($ans174)) {\nswitch($step170) {\ncase 0: $step170 = 1;\nvar $temp_lam184 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__15($x185,$col186,$row187) {\nvar $step183 = 0;\nvar $elidedFrames192 = 0;\nvar $ans189 = D;\nvar $al190 = L[15];\nif(R.isAR($x185)) {\n$step183 = $x185.step;\n$al190 = $x185.from;\n$ans189 = $x185.ans;\n$elidedFrames192 = $x185.elidedFrames;\nx185 = $x185.args[0];\ncol186 = $x185.args[1];\nrow187 = $x185.args[2];\ncases193 = $x185.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[15],3,$t,false);\n}\nvar x185 = $x185;\nvar col186 = $col186;\nvar row187 = $row187;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans189 = R.mC();\n}\nwhile(!R.isContinuation($ans189)) {\nswitch($step183) {\ncase 0: var cases193 = x185;\n$step183 = 1;\n$al190 = L[19];\nvar $ann$check196 = R._cA(L[19],CellContent195,cases193);\nif(R.isContinuation($ann$check196)) {\n$ans189 = $ann$check196;\n}\nbreak;\ncase 1: $al190 = L[17];\n$step183 = $cases_dispatch194[cases193.$name] || 3;\nbreak;\ncase 2: if(cases193.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[16],false,L[17],cases193.$loc);\n}\n$step183 = 5;\n$ans189 = none6;\nbreak;\ncase 3: $step183 = 4;\n$al190 = L[18];\nif(typeof(val$sanitizer172.app) !== \"function\") {\nR.ffi.throwNonFunApp($al190,val$sanitizer172);\n}\n$ans189 = val$sanitizer172.app(x185,col186,row187);\nbreak;\ncase 4: var anf_arg251 = $ans189;\n// caller optimization;\n$ans189 = some3.app(anf_arg251);\n$step183 = 5;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans189;\ndefault: R.ffi.throwSpinnakerError(L[15],$step183);\n}\n}\nif($step183 !== 5) {\n$ans189.stack[R.EXN_STACKHEIGHT++] = R.mAR($al190,$temp_lam184,$step183,[x185,col186,row187],[cases193],$elidedFrames192);\n}\nreturn $ans189;\n};\n$ans174 = R.mF($temp_lam184,\"\");\nbreak;\ncase 1: return $ans174;\ndefault: R.ffi.throwSpinnakerError(L[14],$step170);\n}\n}\nreturn $ans174;\n};\nvar anf_assign201 = R.mF($temp_lam171,\"option-sanitizer\");\noption$sanitizer202.$var = anf_assign201;\nR.nothing;\nvar $temp_lam205 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__20($x206,$col207,$row208) {\nvar $step204 = 0;\nvar $elidedFrames214 = 0;\nvar $ans211 = D;\nvar $al212 = L[20];\nif(R.isAR($x206)) {\n$step204 = $x206.step;\n$al212 = $x206.from;\n$ans211 = $x206.ans;\n$elidedFrames214 = $x206.elidedFrames;\nx206 = $x206.args[0];\ncol207 = $x206.args[1];\nrow208 = $x206.args[2];\ncases216 = $x206.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[20],3,$t,false);\n}\nvar x206 = $x206;\nvar col207 = $col207;\nvar row208 = $row208;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans211 = R.mC();\n}\nwhile(!R.isContinuation($ans211)) {\nswitch($step204) {\ncase 0: var cases216 = x206;\n$step204 = 1;\n$al212 = L[29];\nvar $ann$check231 = R._cA(L[29],CellContent195,cases216);\nif(R.isContinuation($ann$check231)) {\n$ans211 = $ann$check231;\n}\nbreak;\ncase 1: $al212 = L[22];\n$step204 = $cases_dispatch230[cases216.$name] || 7;\nbreak;\ncase 2: if(cases216.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[21],false,L[22],cases216.$loc);\n}\n$step204 = 8;\n$ans211 = (\"\");\nbreak;\ncase 3: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[23],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[23],true,L[22],cases216.$loc);\n}\n}\nvar $fn221 = cases216.$constructor.$fieldNames;\nvar s217 = R.dF(cases216.dict[$fn221[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$ans211 = s217;\nbreak;\ncase 4: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[24],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[24],true,L[22],cases216.$loc);\n}\n}\nvar $fn224 = cases216.$constructor.$fieldNames;\nvar n222 = R.dF(cases216.dict[$fn224[0]],cases216.$mut_fields_mask[0],false);\n// caller optimization;\n$ans211 = num$to$string7.app(n222);\n$step204 = 8;\nbreak;\ncase 5: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[26],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[26],true,L[22],cases216.$loc);\n}\n}\nvar $fn226 = cases216.$constructor.$fieldNames;\nvar b229 = R.dF(cases216.dict[$fn226[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$al212 = L[25];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al212,torepr3);\n}\n$ans211 = torepr3.app(b229);\nbreak;\ncase 6: if(cases216.$arity !== 1) {\nif(cases216.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[28],1,cases216.$arity,L[22],cases216.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[28],true,L[22],cases216.$loc);\n}\n}\nvar $fn229 = cases216.$constructor.$fieldNames;\nvar datum227 = R.dF(cases216.dict[$fn229[0]],cases216.$mut_fields_mask[0],false);\n$step204 = 8;\n$al212 = L[27];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al212,torepr3);\n}\n$ans211 = torepr3.app(datum227);\nbreak;\ncase 7: $ans211 = R.throwNoCasesMatched(L[22],cases216);\n$step204 = 8;\nbreak;\ncase 8: ++R.GAS;\nreturn $ans211;\ndefault: R.ffi.throwSpinnakerError(L[20],$step204);\n}\n}\nif($step204 !== 8) {\n$ans211.stack[R.EXN_STACKHEIGHT++] = R.mAR($al212,$temp_lam205,$step204,[x206,col207,row208],[cases216],$elidedFrames214);\n}\nreturn $ans211;\n};\nvar anf_assign234 = R.mF($temp_lam205,\"string-sanitizer\");\nstring$sanitizer235.$var = anf_assign234;\nR.nothing;\nvar $temp_lam237 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__30($x238,$col239,$row240) {\nvar $step236 = 0;\nvar $elidedFrames244 = 0;\nvar $ans241 = D;\nvar $al242 = L[30];\nif(R.isAR($x238)) {\n$step236 = $x238.step;\n$al242 = $x238.from;\n$ans241 = $x238.ans;\n$elidedFrames244 = $x238.elidedFrames;\nx238 = $x238.args[0];\ncol239 = $x238.args[1];\nrow240 = $x238.args[2];\ncases257 = $x238.vars[0];\nloc260 = $x238.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],3,$t,false);\n}\nvar x238 = $x238;\nvar col239 = $col239;\nvar row240 = $row240;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans241 = R.mC();\n}\nwhile(!R.isContinuation($ans241)) {\nswitch($step236) {\ncase 0: $step236 = 1;\n$al242 = L[58];\n// omitting isFunction check;\n$ans241 = _plus5.app((\"column \"),col239);\nbreak;\ncase 1: var anf_arg265 = $ans241;\n$step236 = 2;\n$al242 = L[57];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg265,(\", row \"));\nbreak;\ncase 2: var anf_arg255 = $ans241;\n// caller optimization;\n$ans241 = num$to$string7.app(row240);\nvar anf_arg256 = $ans241;\n$step236 = 3;\n$al242 = L[56];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg255,anf_arg256);\nbreak;\ncase 3: var loc260 = $ans241;\nvar cases257 = x238;\n$step236 = 4;\n$al242 = L[55];\nvar $ann$check332 = R._cA(L[55],CellContent195,cases257);\nif(R.isContinuation($ann$check332)) {\n$ans241 = $ann$check332;\n}\nbreak;\ncase 4: $al242 = L[41];\n$step236 = $cases_dispatch331[cases257.$name] || 14;\nbreak;\ncase 5: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[40],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[40],true,L[41],cases257.$loc);\n}\n}\n$step236 = 15;\n$al242 = L[40];\nvar $temp_branch268 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__41($s258) {\nvar $step270 = 0;\nvar $elidedFrames274 = 0;\nvar $ans271 = D;\nvar $al272 = L[37];\nif(R.isAR($s258)) {\n$step270 = $s258.step;\n$al272 = $s258.from;\n$ans271 = $s258.ans;\n$elidedFrames274 = $s258.elidedFrames;\ns258 = $s258.args[0];\ncases259 = $s258.vars[0];\n} else {\nvar s258 = $s258;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans271 = R.mC();\n}\nwhile(!R.isContinuation($ans271)) {\nswitch($step270) {\ncase 0: // caller optimization;\n$ans271 = string$to$number2.app(s258);\nvar cases259 = $ans271;\n$step270 = 1;\n$al272 = L[39];\nvar $ann$check280 = R._cA(L[39],Option5,cases259);\nif(R.isContinuation($ann$check280)) {\n$ans271 = $ann$check280;\n}\nbreak;\ncase 1: $al272 = L[37];\n$step270 = $cases_dispatch279[cases259.$name] || 8;\nbreak;\ncase 2: if(cases259.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[36],false,L[37],cases259.$loc);\n}\n$step270 = 3;\n$al272 = L[35];\n// omitting isFunction check;\n$ans271 = _plus5.app((\"Cannot sanitize the string \\\"\"),s258);\nbreak;\ncase 3: var anf_arg267 = $ans271;\n$step270 = 4;\n$al272 = L[34];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg267,(\"\\\" at \"));\nbreak;\ncase 4: var anf_arg268 = $ans271;\n$step270 = 5;\n$al272 = L[33];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg268,loc260);\nbreak;\ncase 5: var anf_arg269 = $ans271;\n$step270 = 6;\n$al272 = L[32];\n// omitting isFunction check;\n$ans271 = _plus5.app(anf_arg269,(\" as a number\"));\nbreak;\ncase 6: var anf_arg270 = $ans271;\n$step270 = 9;\n$al272 = L[31];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al272,raise1);\n}\n$ans271 = raise1.app(anf_arg270);\nbreak;\ncase 7: if(cases259.$arity !== 1) {\nif(cases259.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[38],1,cases259.$arity,L[37],cases259.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[38],true,L[37],cases259.$loc);\n}\n}\nvar $fn278 = cases259.$constructor.$fieldNames;\nvar n261 = R.dF(cases259.dict[$fn278[0]],cases259.$mut_fields_mask[0],false);\n$step270 = 9;\n$ans271 = n261;\nbreak;\ncase 8: $ans271 = R.throwNoCasesMatched(L[37],cases259);\n$step270 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans271;\ndefault: R.ffi.throwSpinnakerError(L[37],$step270);\n}\n}\nif($step270 !== 9) {\n$ans271.stack[R.EXN_STACKHEIGHT++] = R.mAR($al272,$temp_branch268,$step270,[s258],[cases259],$elidedFrames274);\n}\nreturn $ans271;\n};\n$ans241 = cases257.$app_fields($temp_branch268,[false]);\nbreak;\ncase 6: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[42],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[42],true,L[41],cases257.$loc);\n}\n}\nvar $fn284 = cases257.$constructor.$fieldNames;\nvar n282 = R.dF(cases257.dict[$fn284[0]],cases257.$mut_fields_mask[0],false);\n$step236 = 15;\n$ans241 = n282;\nbreak;\ncase 7: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[43],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[43],true,L[41],cases257.$loc);\n}\n}\nvar $fn287 = cases257.$constructor.$fieldNames;\nvar b285 = R.dF(cases257.dict[$fn287[0]],cases257.$mut_fields_mask[0],false);\n$step236 = R.checkPyretTrue(b285)?8:9;\nbreak;\ncase 8: $step236 = 15;\n$ans241 = (1);\nbreak;\ncase 9: $step236 = 15;\n$ans241 = (0);\nbreak;\ncase 10: if(cases257.$arity !== 1) {\nif(cases257.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[50],1,cases257.$arity,L[41],cases257.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[50],true,L[41],cases257.$loc);\n}\n}\n$step236 = 15;\n$al242 = L[50];\nvar $temp_branch307 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__41($datum288) {\nvar $step309 = 0;\nvar $elidedFrames314 = 0;\nvar $ans311 = D;\nvar $al312 = L[49];\nif(R.isAR($datum288)) {\n$step309 = $datum288.step;\n$al312 = $datum288.from;\n$ans311 = $datum288.ans;\n$elidedFrames314 = $datum288.elidedFrames;\ndatum288 = $datum288.args[0];\n} else {\nvar datum288 = $datum288;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans311 = R.mC();\n}\nwhile(!R.isContinuation($ans311)) {\nswitch($step309) {\ncase 0: $step309 = 1;\n$al312 = L[49];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al312,torepr3);\n}\n$ans311 = torepr3.app(datum288);\nbreak;\ncase 1: var anf_arg271 = $ans311;\n$step309 = 2;\n$al312 = L[48];\n// omitting isFunction check;\n$ans311 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg271);\nbreak;\ncase 2: var anf_arg272 = $ans311;\n$step309 = 3;\n$al312 = L[47];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg272,(\" at \"));\nbreak;\ncase 3: var anf_arg273 = $ans311;\n$step309 = 4;\n$al312 = L[46];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg273,loc260);\nbreak;\ncase 4: var anf_arg306 = $ans311;\n$step309 = 5;\n$al312 = L[45];\n// omitting isFunction check;\n$ans311 = _plus5.app(anf_arg306,(\" as a number\"));\nbreak;\ncase 5: var anf_arg284 = $ans311;\n$step309 = 6;\n$al312 = L[44];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al312,raise1);\n}\n$ans311 = raise1.app(anf_arg284);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans311;\ndefault: R.ffi.throwSpinnakerError(L[49],$step309);\n}\n}\nif($step309 !== 6) {\n$ans311.stack[R.EXN_STACKHEIGHT++] = R.mAR($al312,$temp_branch307,$step309,[datum288],[],$elidedFrames314);\n}\nreturn $ans311;\n};\n$ans241 = cases257.$app_fields($temp_branch307,[false]);\nbreak;\ncase 11: if(cases257.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[54],false,L[41],cases257.$loc);\n}\n$step236 = 12;\n$al242 = L[53];\n// omitting isFunction check;\n$ans241 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc260);\nbreak;\ncase 12: var anf_arg285 = $ans241;\n$step236 = 13;\n$al242 = L[52];\n// omitting isFunction check;\n$ans241 = _plus5.app(anf_arg285,(\" as a number\"));\nbreak;\ncase 13: var anf_arg330 = $ans241;\n$step236 = 15;\n$al242 = L[51];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al242,raise1);\n}\n$ans241 = raise1.app(anf_arg330);\nbreak;\ncase 14: $ans241 = R.throwNoCasesMatched(L[41],cases257);\n$step236 = 15;\nbreak;\ncase 15: ++R.GAS;\nreturn $ans241;\ndefault: R.ffi.throwSpinnakerError(L[30],$step236);\n}\n}\nif($step236 !== 15) {\n$ans241.stack[R.EXN_STACKHEIGHT++] = R.mAR($al242,$temp_lam237,$step236,[x238,col239,row240],[cases257,loc260],$elidedFrames244);\n}\nreturn $ans241;\n};\nvar anf_assign335 = R.mF($temp_lam237,\"num-sanitizer\");\nnum$sanitizer336.$var = anf_assign335;\nR.nothing;\nvar $temp_lam338 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__59($x339,$col340,$row341) {\nvar $step337 = 0;\nvar $elidedFrames345 = 0;\nvar $ans342 = D;\nvar $al343 = L[59];\nif(R.isAR($x339)) {\n$step337 = $x339.step;\n$al343 = $x339.from;\n$ans342 = $x339.ans;\n$elidedFrames345 = $x339.elidedFrames;\nx339 = $x339.args[0];\ncol340 = $x339.args[1];\nrow341 = $x339.args[2];\ncases346 = $x339.vars[0];\nloc351 = $x339.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[59],3,$t,false);\n}\nvar x339 = $x339;\nvar col340 = $col340;\nvar row341 = $row341;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans342 = R.mC();\n}\nwhile(!R.isContinuation($ans342)) {\nswitch($step337) {\ncase 0: $step337 = 1;\n$al343 = L[93];\n// omitting isFunction check;\n$ans342 = _plus5.app((\"column \"),col340);\nbreak;\ncase 1: var anf_arg287 = $ans342;\n$step337 = 2;\n$al343 = L[92];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg287,(\", row \"));\nbreak;\ncase 2: var anf_arg290 = $ans342;\n// caller optimization;\n$ans342 = num$to$string7.app(row341);\nvar anf_arg291 = $ans342;\n$step337 = 3;\n$al343 = L[91];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg290,anf_arg291);\nbreak;\ncase 3: var loc351 = $ans342;\nvar cases346 = x339;\n$step337 = 4;\n$al343 = L[90];\nvar $ann$check400 = R._cA(L[90],CellContent195,cases346);\nif(R.isContinuation($ann$check400)) {\n$ans342 = $ann$check400;\n}\nbreak;\ncase 4: $al343 = L[61];\n$step337 = $cases_dispatch399[cases346.$name] || 12;\nbreak;\ncase 5: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[60],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[60],true,L[61],cases346.$loc);\n}\n}\nvar $fn348 = cases346.$constructor.$fieldNames;\nvar b305 = R.dF(cases346.dict[$fn348[0]],cases346.$mut_fields_mask[0],false);\n$step337 = 13;\n$ans342 = b305;\nbreak;\ncase 6: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[69],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[69],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[69];\nvar $temp_branch355 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($n349) {\nvar $step356 = 0;\nvar $elidedFrames360 = 0;\nvar $ans357 = D;\nvar $al358 = L[68];\nif(R.isAR($n349)) {\n$step356 = $n349.step;\n$al358 = $n349.from;\n$ans357 = $n349.ans;\n$elidedFrames360 = $n349.elidedFrames;\nn349 = $n349.args[0];\n} else {\nvar n349 = $n349;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans357 = R.mC();\n}\nwhile(!R.isContinuation($ans357)) {\nswitch($step356) {\ncase 0: $step356 = 1;\n$al358 = L[68];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,equal$always1);\n}\n$ans357 = equal$always1.app(n349,(0));\nbreak;\ncase 1: var anf_if354 = $ans357;\n$step356 = R.checkPyretTrue(anf_if354)?2:3;\nbreak;\ncase 2: $step356 = 11;\n$ans357 = (false);\nbreak;\ncase 3: $step356 = 4;\n$al358 = L[67];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,equal$always1);\n}\n$ans357 = equal$always1.app(n349,(1));\nbreak;\ncase 4: var anf_if353 = $ans357;\n$step356 = R.checkPyretTrue(anf_if353)?5:6;\nbreak;\ncase 5: $step356 = 11;\n$ans357 = (true);\nbreak;\ncase 6: // caller optimization;\n$ans357 = num$to$string7.app(n349);\nvar anf_arg294 = $ans357;\n$step356 = 7;\n$al358 = L[66];\n// omitting isFunction check;\n$ans357 = _plus5.app((\"Cannot sanitize the number \"),anf_arg294);\nbreak;\ncase 7: var anf_arg295 = $ans357;\n$step356 = 8;\n$al358 = L[65];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg295,(\" at \"));\nbreak;\ncase 8: var anf_arg350 = $ans357;\n$step356 = 9;\n$al358 = L[64];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg350,loc351);\nbreak;\ncase 9: var anf_arg352 = $ans357;\n$step356 = 10;\n$al358 = L[63];\n// omitting isFunction check;\n$ans357 = _plus5.app(anf_arg352,(\" as a boolean\"));\nbreak;\ncase 10: var anf_arg253 = $ans357;\n$step356 = 11;\n$al358 = L[62];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al358,raise1);\n}\n$ans357 = raise1.app(anf_arg253);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans357;\ndefault: R.ffi.throwSpinnakerError(L[68],$step356);\n}\n}\nif($step356 !== 11) {\n$ans357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al358,$temp_branch355,$step356,[n349],[],$elidedFrames360);\n}\nreturn $ans357;\n};\n$ans342 = cases346.$app_fields($temp_branch355,[false]);\nbreak;\ncase 7: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[78],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[78],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[78];\nvar $temp_branch367 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($s363) {\nvar $step368 = 0;\nvar $elidedFrames374 = 0;\nvar $ans371 = D;\nvar $al372 = L[77];\nif(R.isAR($s363)) {\n$step368 = $s363.step;\n$al372 = $s363.from;\n$ans371 = $s363.ans;\n$elidedFrames374 = $s363.elidedFrames;\ns363 = $s363.args[0];\n} else {\nvar s363 = $s363;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans371 = R.mC();\n}\nwhile(!R.isContinuation($ans371)) {\nswitch($step368) {\ncase 0: // caller optimization;\n$ans371 = string$tolower1.app(s363);\nvar anf_arg307 = $ans371;\n$step368 = 1;\n$al372 = L[76];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,equal$always1);\n}\n$ans371 = equal$always1.app(anf_arg307,(\"true\"));\nbreak;\ncase 1: var anf_if366 = $ans371;\n$step368 = R.checkPyretTrue(anf_if366)?2:3;\nbreak;\ncase 2: $step368 = 11;\n$ans371 = (true);\nbreak;\ncase 3: // caller optimization;\n$ans371 = string$tolower1.app(s363);\nvar anf_arg275 = $ans371;\n$step368 = 4;\n$al372 = L[75];\nif(typeof(equal$always1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,equal$always1);\n}\n$ans371 = equal$always1.app(anf_arg275,(\"false\"));\nbreak;\ncase 4: var anf_if365 = $ans371;\n$step368 = R.checkPyretTrue(anf_if365)?5:6;\nbreak;\ncase 5: $step368 = 11;\n$ans371 = (false);\nbreak;\ncase 6: $step368 = 7;\n$al372 = L[74];\n// omitting isFunction check;\n$ans371 = _plus5.app((\"Cannot sanitize the string \\\"\"),s363);\nbreak;\ncase 7: var anf_arg310 = $ans371;\n$step368 = 8;\n$al372 = L[73];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg310,(\"\\\" at \"));\nbreak;\ncase 8: var anf_arg297 = $ans371;\n$step368 = 9;\n$al372 = L[72];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg297,loc351);\nbreak;\ncase 9: var anf_arg313 = $ans371;\n$step368 = 10;\n$al372 = L[71];\n// omitting isFunction check;\n$ans371 = _plus5.app(anf_arg313,(\" as a boolean\"));\nbreak;\ncase 10: var anf_arg314 = $ans371;\n$step368 = 11;\n$al372 = L[70];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al372,raise1);\n}\n$ans371 = raise1.app(anf_arg314);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans371;\ndefault: R.ffi.throwSpinnakerError(L[77],$step368);\n}\n}\nif($step368 !== 11) {\n$ans371.stack[R.EXN_STACKHEIGHT++] = R.mAR($al372,$temp_branch367,$step368,[s363],[],$elidedFrames374);\n}\nreturn $ans371;\n};\n$ans342 = cases346.$app_fields($temp_branch367,[false]);\nbreak;\ncase 8: if(cases346.$arity !== 1) {\nif(cases346.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[85],1,cases346.$arity,L[61],cases346.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[85],true,L[61],cases346.$loc);\n}\n}\n$step337 = 13;\n$al343 = L[85];\nvar $temp_branch386 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__61($datum378) {\nvar $step389 = 0;\nvar $elidedFrames393 = 0;\nvar $ans390 = D;\nvar $al391 = L[84];\nif(R.isAR($datum378)) {\n$step389 = $datum378.step;\n$al391 = $datum378.from;\n$ans390 = $datum378.ans;\n$elidedFrames393 = $datum378.elidedFrames;\ndatum378 = $datum378.args[0];\n} else {\nvar datum378 = $datum378;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans390 = R.mC();\n}\nwhile(!R.isContinuation($ans390)) {\nswitch($step389) {\ncase 0: $step389 = 1;\n$al391 = L[84];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al391,torepr3);\n}\n$ans390 = torepr3.app(datum378);\nbreak;\ncase 1: var anf_arg318 = $ans390;\n$step389 = 2;\n$al391 = L[83];\n// omitting isFunction check;\n$ans390 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg318);\nbreak;\ncase 2: var anf_arg315 = $ans390;\n$step389 = 3;\n$al391 = L[82];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg315,(\" at \"));\nbreak;\ncase 3: var anf_arg316 = $ans390;\n$step389 = 4;\n$al391 = L[81];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg316,loc351);\nbreak;\ncase 4: var anf_arg317 = $ans390;\n$step389 = 5;\n$al391 = L[80];\n// omitting isFunction check;\n$ans390 = _plus5.app(anf_arg317,(\" as a boolean\"));\nbreak;\ncase 5: var anf_arg385 = $ans390;\n$step389 = 6;\n$al391 = L[79];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al391,raise1);\n}\n$ans390 = raise1.app(anf_arg385);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans390;\ndefault: R.ffi.throwSpinnakerError(L[84],$step389);\n}\n}\nif($step389 !== 6) {\n$ans390.stack[R.EXN_STACKHEIGHT++] = R.mAR($al391,$temp_branch386,$step389,[datum378],[],$elidedFrames393);\n}\nreturn $ans390;\n};\n$ans342 = cases346.$app_fields($temp_branch386,[false]);\nbreak;\ncase 9: if(cases346.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[89],false,L[61],cases346.$loc);\n}\n$step337 = 10;\n$al343 = L[88];\n// omitting isFunction check;\n$ans342 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc351);\nbreak;\ncase 10: var anf_arg396 = $ans342;\n$step337 = 11;\n$al343 = L[87];\n// omitting isFunction check;\n$ans342 = _plus5.app(anf_arg396,(\" as a boolean\"));\nbreak;\ncase 11: var anf_arg398 = $ans342;\n$step337 = 13;\n$al343 = L[86];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al343,raise1);\n}\n$ans342 = raise1.app(anf_arg398);\nbreak;\ncase 12: $ans342 = R.throwNoCasesMatched(L[61],cases346);\n$step337 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans342;\ndefault: R.ffi.throwSpinnakerError(L[59],$step337);\n}\n}\nif($step337 !== 13) {\n$ans342.stack[R.EXN_STACKHEIGHT++] = R.mAR($al343,$temp_lam338,$step337,[x339,col340,row341],[cases346,loc351],$elidedFrames345);\n}\nreturn $ans342;\n};\nvar anf_assign134 = R.mF($temp_lam338,\"bool-sanitizer\");\nbool$sanitizer403.$var = anf_assign134;\nR.nothing;\nvar $temp_lam405 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__94($x406,$col407,$row408) {\nvar $step404 = 0;\nvar $elidedFrames412 = 0;\nvar $ans409 = D;\nvar $al410 = L[94];\nif(R.isAR($x406)) {\n$step404 = $x406.step;\n$al410 = $x406.from;\n$ans409 = $x406.ans;\n$elidedFrames412 = $x406.elidedFrames;\nx406 = $x406.args[0];\ncol407 = $x406.args[1];\nrow408 = $x406.args[2];\nloc456 = $x406.vars[0];\ncases419 = $x406.vars[1];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[94],3,$t,false);\n}\nvar x406 = $x406;\nvar col407 = $col407;\nvar row408 = $row408;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans409 = R.mC();\n}\nwhile(!R.isContinuation($ans409)) {\nswitch($step404) {\ncase 0: $step404 = 1;\n$al410 = L[128];\n// omitting isFunction check;\n$ans409 = _plus5.app((\"column \"),col407);\nbreak;\ncase 1: var anf_arg414 = $ans409;\n$step404 = 2;\n$al410 = L[127];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg414,(\", row \"));\nbreak;\ncase 2: var anf_arg417 = $ans409;\n// caller optimization;\n$ans409 = num$to$string7.app(row408);\nvar anf_arg418 = $ans409;\n$step404 = 3;\n$al410 = L[126];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg417,anf_arg418);\nbreak;\ncase 3: var loc456 = $ans409;\nvar cases419 = x406;\n$step404 = 4;\n$al410 = L[125];\nvar $ann$check931 = R._cA(L[125],CellContent195,cases419);\nif(R.isContinuation($ann$check931)) {\n$ans409 = $ann$check931;\n}\nbreak;\ncase 4: $al410 = L[105];\n$step404 = $cases_dispatch930[cases419.$name] || 12;\nbreak;\ncase 5: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[104],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[104],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[104];\nvar $temp_branch478 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($s420) {\nvar $step480 = 0;\nvar $elidedFrames484 = 0;\nvar $ans481 = D;\nvar $al482 = L[101];\nif(R.isAR($s420)) {\n$step480 = $s420.step;\n$al482 = $s420.from;\n$ans481 = $s420.ans;\n$elidedFrames484 = $s420.elidedFrames;\ns420 = $s420.args[0];\ncases421 = $s420.vars[0];\n} else {\nvar s420 = $s420;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans481 = R.mC();\n}\nwhile(!R.isContinuation($ans481)) {\nswitch($step480) {\ncase 0: // caller optimization;\n$ans481 = string$to$number2.app(s420);\nvar cases421 = $ans481;\n$step480 = 1;\n$al482 = L[103];\nvar $ann$check488 = R._cA(L[103],Option5,cases421);\nif(R.isContinuation($ann$check488)) {\n$ans481 = $ann$check488;\n}\nbreak;\ncase 1: $al482 = L[101];\n$step480 = $cases_dispatch487[cases421.$name] || 8;\nbreak;\ncase 2: if(cases421.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[100],false,L[101],cases421.$loc);\n}\n$step480 = 3;\n$al482 = L[99];\n// omitting isFunction check;\n$ans481 = _plus5.app((\"Cannot sanitize the string \\\"\"),s420);\nbreak;\ncase 3: var anf_arg422 = $ans481;\n$step480 = 4;\n$al482 = L[98];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg422,(\"\\\" at \"));\nbreak;\ncase 4: var anf_arg455 = $ans481;\n$step480 = 5;\n$al482 = L[97];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg455,loc456);\nbreak;\ncase 5: var anf_arg459 = $ans481;\n$step480 = 6;\n$al482 = L[96];\n// omitting isFunction check;\n$ans481 = _plus5.app(anf_arg459,(\" as a number\"));\nbreak;\ncase 6: var anf_arg472 = $ans481;\n$step480 = 9;\n$al482 = L[95];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al482,raise1);\n}\n$ans481 = raise1.app(anf_arg472);\nbreak;\ncase 7: if(cases421.$arity !== 1) {\nif(cases421.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[102],1,cases421.$arity,L[101],cases421.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[102],true,L[101],cases421.$loc);\n}\n}\nvar $fn486 = cases421.$constructor.$fieldNames;\nvar n473 = R.dF(cases421.dict[$fn486[0]],cases421.$mut_fields_mask[0],false);\n$step480 = 9;\n$ans481 = n473;\nbreak;\ncase 8: $ans481 = R.throwNoCasesMatched(L[101],cases421);\n$step480 = 9;\nbreak;\ncase 9: ++R.GAS;\nreturn $ans481;\ndefault: R.ffi.throwSpinnakerError(L[101],$step480);\n}\n}\nif($step480 !== 9) {\n$ans481.stack[R.EXN_STACKHEIGHT++] = R.mAR($al482,$temp_branch478,$step480,[s420],[cases421],$elidedFrames484);\n}\nreturn $ans481;\n};\n$ans409 = cases419.$app_fields($temp_branch478,[false]);\nbreak;\ncase 6: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[106],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[106],true,L[105],cases419.$loc);\n}\n}\nvar $fn491 = cases419.$constructor.$fieldNames;\nvar n71 = R.dF(cases419.dict[$fn491[0]],cases419.$mut_fields_mask[0],false);\n$step404 = 13;\n$ans409 = n71;\nbreak;\ncase 7: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[113],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[113],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[113];\nvar $temp_branch777 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($b492) {\nvar $step779 = 0;\nvar $elidedFrames783 = 0;\nvar $ans780 = D;\nvar $al781 = L[112];\nif(R.isAR($b492)) {\n$step779 = $b492.step;\n$al781 = $b492.from;\n$ans780 = $b492.ans;\n$elidedFrames783 = $b492.elidedFrames;\nb492 = $b492.args[0];\n} else {\nvar b492 = $b492;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans780 = R.mC();\n}\nwhile(!R.isContinuation($ans780)) {\nswitch($step779) {\ncase 0: $step779 = 1;\n$al781 = L[112];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al781,torepr3);\n}\n$ans780 = torepr3.app(b492);\nbreak;\ncase 1: var anf_arg738 = $ans780;\n$step779 = 2;\n$al781 = L[111];\n// omitting isFunction check;\n$ans780 = _plus5.app((\"Cannot sanitize the boolean \"),anf_arg738);\nbreak;\ncase 2: var anf_arg740 = $ans780;\n$step779 = 3;\n$al781 = L[110];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg740,(\" at \"));\nbreak;\ncase 3: var anf_arg741 = $ans780;\n$step779 = 4;\n$al781 = L[109];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg741,loc456);\nbreak;\ncase 4: var anf_arg750 = $ans780;\n$step779 = 5;\n$al781 = L[108];\n// omitting isFunction check;\n$ans780 = _plus5.app(anf_arg750,(\" as a number in strict mode.\"));\nbreak;\ncase 5: var anf_arg776 = $ans780;\n$step779 = 6;\n$al781 = L[107];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al781,raise1);\n}\n$ans780 = raise1.app(anf_arg776);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans780;\ndefault: R.ffi.throwSpinnakerError(L[112],$step779);\n}\n}\nif($step779 !== 6) {\n$ans780.stack[R.EXN_STACKHEIGHT++] = R.mAR($al781,$temp_branch777,$step779,[b492],[],$elidedFrames783);\n}\nreturn $ans780;\n};\n$ans409 = cases419.$app_fields($temp_branch777,[false]);\nbreak;\ncase 8: if(cases419.$arity !== 1) {\nif(cases419.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[120],1,cases419.$arity,L[105],cases419.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[120],true,L[105],cases419.$loc);\n}\n}\n$step404 = 13;\n$al410 = L[120];\nvar $temp_branch809 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__105($datum785) {\nvar $step810 = 0;\nvar $elidedFrames814 = 0;\nvar $ans811 = D;\nvar $al812 = L[119];\nif(R.isAR($datum785)) {\n$step810 = $datum785.step;\n$al812 = $datum785.from;\n$ans811 = $datum785.ans;\n$elidedFrames814 = $datum785.elidedFrames;\ndatum785 = $datum785.args[0];\n} else {\nvar datum785 = $datum785;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans811 = R.mC();\n}\nwhile(!R.isContinuation($ans811)) {\nswitch($step810) {\ncase 0: $step810 = 1;\n$al812 = L[119];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al812,torepr3);\n}\n$ans811 = torepr3.app(datum785);\nbreak;\ncase 1: var anf_arg805 = $ans811;\n$step810 = 2;\n$al812 = L[118];\n// omitting isFunction check;\n$ans811 = _plus5.app((\"Cannot sanitize the datum \"),anf_arg805);\nbreak;\ncase 2: var anf_arg254 = $ans811;\n$step810 = 3;\n$al812 = L[117];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg254,(\" at \"));\nbreak;\ncase 3: var anf_arg806 = $ans811;\n$step810 = 4;\n$al812 = L[116];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg806,loc456);\nbreak;\ncase 4: var anf_arg808 = $ans811;\n$step810 = 5;\n$al812 = L[115];\n// omitting isFunction check;\n$ans811 = _plus5.app(anf_arg808,(\" as a number\"));\nbreak;\ncase 5: var anf_arg282 = $ans811;\n$step810 = 6;\n$al812 = L[114];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al812,raise1);\n}\n$ans811 = raise1.app(anf_arg282);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans811;\ndefault: R.ffi.throwSpinnakerError(L[119],$step810);\n}\n}\nif($step810 !== 6) {\n$ans811.stack[R.EXN_STACKHEIGHT++] = R.mAR($al812,$temp_branch809,$step810,[datum785],[],$elidedFrames814);\n}\nreturn $ans811;\n};\n$ans409 = cases419.$app_fields($temp_branch809,[false]);\nbreak;\ncase 9: if(cases419.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[124],false,L[105],cases419.$loc);\n}\n$step404 = 10;\n$al410 = L[123];\n// omitting isFunction check;\n$ans409 = _plus5.app((\"Cannot sanitize the empty cell at \"),loc456);\nbreak;\ncase 10: var anf_arg824 = $ans409;\n$step404 = 11;\n$al410 = L[122];\n// omitting isFunction check;\n$ans409 = _plus5.app(anf_arg824,(\" as a number\"));\nbreak;\ncase 11: var anf_arg929 = $ans409;\n$step404 = 13;\n$al410 = L[121];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al410,raise1);\n}\n$ans409 = raise1.app(anf_arg929);\nbreak;\ncase 12: $ans409 = R.throwNoCasesMatched(L[105],cases419);\n$step404 = 13;\nbreak;\ncase 13: ++R.GAS;\nreturn $ans409;\ndefault: R.ffi.throwSpinnakerError(L[94],$step404);\n}\n}\nif($step404 !== 13) {\n$ans409.stack[R.EXN_STACKHEIGHT++] = R.mAR($al410,$temp_lam405,$step404,[x406,col407,row408],[loc456,cases419],$elidedFrames412);\n}\nreturn $ans409;\n};\nvar anf_assign174 = R.mF($temp_lam405,\"strict-num-sanitizer\");\nstrict$num$sanitizer933.$var = anf_assign174;\nR.nothing;\nvar $temp_lam935 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__129($x936,$col937,$row938) {\nvar $step934 = 0;\nvar $elidedFrames942 = 0;\nvar $ans939 = D;\nvar $al940 = L[129];\nif(R.isAR($x936)) {\n$step934 = $x936.step;\n$al940 = $x936.from;\n$ans939 = $x936.ans;\n$elidedFrames942 = $x936.elidedFrames;\nx936 = $x936.args[0];\ncol937 = $x936.args[1];\nrow938 = $x936.args[2];\ncases987 = $x936.vars[0];\nloc1019 = $x936.vars[1];\ncases991 = $x936.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[129],3,$t,false);\n}\nvar x936 = $x936;\nvar col937 = $col937;\nvar row938 = $row938;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans939 = R.mC();\n}\nwhile(!R.isContinuation($ans939)) {\nswitch($step934) {\ncase 0: $step934 = 1;\n$al940 = L[151];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"column \"),col937);\nbreak;\ncase 1: var anf_arg966 = $ans939;\n$step934 = 2;\n$al940 = L[150];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg966,(\", row \"));\nbreak;\ncase 2: var anf_arg986 = $ans939;\n// caller optimization;\n$ans939 = num$to$string7.app(row938);\nvar anf_arg329 = $ans939;\n$step934 = 3;\n$al940 = L[149];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg986,anf_arg329);\nbreak;\ncase 3: var loc1019 = $ans939;\nvar cases987 = x936;\n$step934 = 4;\n$al940 = L[148];\nvar $ann$check1162 = R._cA(L[148],CellContent195,cases987);\nif(R.isContinuation($ann$check1162)) {\n$ans939 = $ann$check1162;\n}\nbreak;\ncase 4: $al940 = L[131];\n$step934 = $cases_dispatch1161[cases987.$name] || 6;\nbreak;\ncase 5: if(cases987.$arity !== 1) {\nif(cases987.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[130],1,cases987.$arity,L[131],cases987.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[130],true,L[131],cases987.$loc);\n}\n}\nvar $fn990 = cases987.$constructor.$fieldNames;\nvar s988 = R.dF(cases987.dict[$fn990[0]],cases987.$mut_fields_mask[0],false);\n$step934 = 20;\n$ans939 = s988;\nbreak;\ncase 6: var cases991 = x936;\n$step934 = 7;\n$al940 = L[147];\nvar $ann$check1160 = R._cA(L[147],CellContent195,cases991);\nif(R.isContinuation($ann$check1160)) {\n$ans939 = $ann$check1160;\n}\nbreak;\ncase 7: $al940 = L[139];\n$step934 = $cases_dispatch1159[cases991.$name] || 14;\nbreak;\ncase 8: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[138],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[138],true,L[139],cases991.$loc);\n}\n}\nvar $fn1128 = cases991.$constructor.$fieldNames;\nvar n1105 = R.dF(cases991.dict[$fn1128[0]],cases991.$mut_fields_mask[0],false);\n// caller optimization;\n$ans939 = num$to$string7.app(n1105);\nvar anf_arg1126 = $ans939;\n$step934 = 15;\n$al940 = L[137];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the number \"),anf_arg1126);\nbreak;\ncase 9: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[142],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[142],true,L[139],cases991.$loc);\n}\n}\nvar $fn1155 = cases991.$constructor.$fieldNames;\nvar b1129 = R.dF(cases991.dict[$fn1155[0]],cases991.$mut_fields_mask[0],false);\n$step934 = 10;\n$al940 = L[141];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,torepr3);\n}\n$ans939 = torepr3.app(b1129);\nbreak;\ncase 10: var anf_arg1153 = $ans939;\n$step934 = 15;\n$al940 = L[140];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the boolean \"),anf_arg1153);\nbreak;\ncase 11: if(cases991.$arity !== 1) {\nif(cases991.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[145],1,cases991.$arity,L[139],cases991.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[145],true,L[139],cases991.$loc);\n}\n}\nvar $fn1158 = cases991.$constructor.$fieldNames;\nvar datum1156 = R.dF(cases991.dict[$fn1158[0]],cases991.$mut_fields_mask[0],false);\n$step934 = 12;\n$al940 = L[144];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,torepr3);\n}\n$ans939 = torepr3.app(datum1156);\nbreak;\ncase 12: var anf_arg348 = $ans939;\n$step934 = 15;\n$al940 = L[143];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"the datum \"),anf_arg348);\nbreak;\ncase 13: if(cases991.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[146],false,L[139],cases991.$loc);\n}\n$step934 = 15;\n$ans939 = (\"the empty cell\");\nbreak;\ncase 14: $ans939 = R.throwNoCasesMatched(L[139],cases991);\n$step934 = 15;\nbreak;\ncase 15: var as$str992 = $ans939;\n$step934 = 16;\n$al940 = L[136];\n// omitting isFunction check;\n$ans939 = _plus5.app((\"Cannot sanitize \"),as$str992);\nbreak;\ncase 16: var anf_arg998 = $ans939;\n$step934 = 17;\n$al940 = L[135];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg998,(\" at \"));\nbreak;\ncase 17: var anf_arg1018 = $ans939;\n$step934 = 18;\n$al940 = L[134];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg1018,loc1019);\nbreak;\ncase 18: var anf_arg203 = $ans939;\n$step934 = 19;\n$al940 = L[133];\n// omitting isFunction check;\n$ans939 = _plus5.app(anf_arg203,(\" as a string\"));\nbreak;\ncase 19: var anf_arg1104 = $ans939;\n$step934 = 20;\n$al940 = L[132];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al940,raise1);\n}\n$ans939 = raise1.app(anf_arg1104);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans939;\ndefault: R.ffi.throwSpinnakerError(L[129],$step934);\n}\n}\nif($step934 !== 20) {\n$ans939.stack[R.EXN_STACKHEIGHT++] = R.mAR($al940,$temp_lam935,$step934,[x936,col937,row938],[cases987,loc1019,cases991],$elidedFrames942);\n}\nreturn $ans939;\n};\nvar anf_assign1164 = R.mF($temp_lam935,\"strings-only\");\nstrings$only1165.$var = anf_assign1164;\nR.nothing;\nvar $temp_lam1167 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__152($x1168,$col1169,$row1170) {\nvar $step1166 = 0;\nvar $elidedFrames1174 = 0;\nvar $ans1171 = D;\nvar $al1172 = L[152];\nif(R.isAR($x1168)) {\n$step1166 = $x1168.step;\n$al1172 = $x1168.from;\n$ans1171 = $x1168.ans;\n$elidedFrames1174 = $x1168.elidedFrames;\nx1168 = $x1168.args[0];\ncol1169 = $x1168.args[1];\nrow1170 = $x1168.args[2];\ncases1181 = $x1168.vars[0];\nloc1183 = $x1168.vars[1];\ncases1178 = $x1168.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[152],3,$t,false);\n}\nvar x1168 = $x1168;\nvar col1169 = $col1169;\nvar row1170 = $row1170;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1171 = R.mC();\n}\nwhile(!R.isContinuation($ans1171)) {\nswitch($step1166) {\ncase 0: $step1166 = 1;\n$al1172 = L[175];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"column \"),col1169);\nbreak;\ncase 1: var anf_arg213 = $ans1171;\n$step1166 = 2;\n$al1172 = L[174];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg213,(\", row \"));\nbreak;\ncase 2: var anf_arg1175 = $ans1171;\n// caller optimization;\n$ans1171 = num$to$string7.app(row1170);\nvar anf_arg1177 = $ans1171;\n$step1166 = 3;\n$al1172 = L[173];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg1175,anf_arg1177);\nbreak;\ncase 3: var loc1183 = $ans1171;\nvar cases1178 = x1168;\n$step1166 = 4;\n$al1172 = L[172];\nvar $ann$check1225 = R._cA(L[172],CellContent195,cases1178);\nif(R.isContinuation($ann$check1225)) {\n$ans1171 = $ann$check1225;\n}\nbreak;\ncase 4: $al1172 = L[154];\n$step1166 = $cases_dispatch1224[cases1178.$name] || 6;\nbreak;\ncase 5: if(cases1178.$arity !== 1) {\nif(cases1178.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[153],1,cases1178.$arity,L[154],cases1178.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[153],true,L[154],cases1178.$loc);\n}\n}\nvar $fn1180 = cases1178.$constructor.$fieldNames;\nvar n159 = R.dF(cases1178.dict[$fn1180[0]],cases1178.$mut_fields_mask[0],false);\n$step1166 = 21;\n$ans1171 = n159;\nbreak;\ncase 6: var cases1181 = x1168;\n$step1166 = 7;\n$al1172 = L[171];\nvar $ann$check1223 = R._cA(L[171],CellContent195,cases1181);\nif(R.isContinuation($ann$check1223)) {\n$ans1171 = $ann$check1223;\n}\nbreak;\ncase 7: $al1172 = L[163];\n$step1166 = $cases_dispatch1221[cases1181.$name] || 15;\nbreak;\ncase 8: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[162],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[162],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1186 = cases1181.$constructor.$fieldNames;\nvar s1184 = R.dF(cases1181.dict[$fn1186[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 9;\n$al1172 = L[161];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(s1184);\nbreak;\ncase 9: var anf_arg224 = $ans1171;\n$step1166 = 16;\n$al1172 = L[160];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the string \"),anf_arg224);\nbreak;\ncase 10: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[166],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[166],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1213 = cases1181.$constructor.$fieldNames;\nvar b1187 = R.dF(cases1181.dict[$fn1213[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 11;\n$al1172 = L[165];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(b1187);\nbreak;\ncase 11: var anf_arg1211 = $ans1171;\n$step1166 = 16;\n$al1172 = L[164];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the boolean \"),anf_arg1211);\nbreak;\ncase 12: if(cases1181.$arity !== 1) {\nif(cases1181.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[169],1,cases1181.$arity,L[163],cases1181.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[169],true,L[163],cases1181.$loc);\n}\n}\nvar $fn1220 = cases1181.$constructor.$fieldNames;\nvar datum1214 = R.dF(cases1181.dict[$fn1220[0]],cases1181.$mut_fields_mask[0],false);\n$step1166 = 13;\n$al1172 = L[168];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,torepr3);\n}\n$ans1171 = torepr3.app(datum1214);\nbreak;\ncase 13: var anf_arg1218 = $ans1171;\n$step1166 = 16;\n$al1172 = L[167];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"the datum \"),anf_arg1218);\nbreak;\ncase 14: if(cases1181.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[170],false,L[163],cases1181.$loc);\n}\n$step1166 = 16;\n$ans1171 = (\"an empty cell\");\nbreak;\ncase 15: $ans1171 = R.throwNoCasesMatched(L[163],cases1181);\n$step1166 = 16;\nbreak;\ncase 16: var as$str1182 = $ans1171;\n$step1166 = 17;\n$al1172 = L[159];\n// omitting isFunction check;\n$ans1171 = _plus5.app((\"Cannot sanitize \"),as$str1182);\nbreak;\ncase 17: var anf_arg236 = $ans1171;\n$step1166 = 18;\n$al1172 = L[158];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg236,(\" at \"));\nbreak;\ncase 18: var anf_arg407 = $ans1171;\n$step1166 = 19;\n$al1172 = L[157];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg407,loc1183);\nbreak;\ncase 19: var anf_arg454 = $ans1171;\n$step1166 = 20;\n$al1172 = L[156];\n// omitting isFunction check;\n$ans1171 = _plus5.app(anf_arg454,(\" as a number\"));\nbreak;\ncase 20: var anf_arg249 = $ans1171;\n$step1166 = 21;\n$al1172 = L[155];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1172,raise1);\n}\n$ans1171 = raise1.app(anf_arg249);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1171;\ndefault: R.ffi.throwSpinnakerError(L[152],$step1166);\n}\n}\nif($step1166 !== 21) {\n$ans1171.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1172,$temp_lam1167,$step1166,[x1168,col1169,row1170],[cases1181,loc1183,cases1178],$elidedFrames1174);\n}\nreturn $ans1171;\n};\nvar anf_assign1227 = R.mF($temp_lam1167,\"numbers-only\");\nnumbers$only1228.$var = anf_assign1227;\nR.nothing;\nvar $temp_lam1230 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__176($x1231,$col1232,$row1233) {\nvar $step1229 = 0;\nvar $elidedFrames1238 = 0;\nvar $ans1235 = D;\nvar $al1236 = L[176];\nif(R.isAR($x1231)) {\n$step1229 = $x1231.step;\n$al1236 = $x1231.from;\n$ans1235 = $x1231.ans;\n$elidedFrames1238 = $x1231.elidedFrames;\nx1231 = $x1231.args[0];\ncol1232 = $x1231.args[1];\nrow1233 = $x1231.args[2];\ncases1261 = $x1231.vars[0];\ncases1255 = $x1231.vars[1];\nloc1263 = $x1231.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[176],3,$t,false);\n}\nvar x1231 = $x1231;\nvar col1232 = $col1232;\nvar row1233 = $row1233;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1235 = R.mC();\n}\nwhile(!R.isContinuation($ans1235)) {\nswitch($step1229) {\ncase 0: $step1229 = 1;\n$al1236 = L[198];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"column \"),col1232);\nbreak;\ncase 1: var anf_arg468 = $ans1235;\n$step1229 = 2;\n$al1236 = L[197];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg468,(\", row \"));\nbreak;\ncase 2: var anf_arg263 = $ans1235;\n// caller optimization;\n$ans1235 = num$to$string7.app(row1233);\nvar anf_arg1254 = $ans1235;\n$step1229 = 3;\n$al1236 = L[196];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg263,anf_arg1254);\nbreak;\ncase 3: var loc1263 = $ans1235;\nvar cases1255 = x1231;\n$step1229 = 4;\n$al1236 = L[195];\nvar $ann$check1316 = R._cA(L[195],CellContent195,cases1255);\nif(R.isContinuation($ann$check1316)) {\n$ans1235 = $ann$check1316;\n}\nbreak;\ncase 4: $al1236 = L[178];\n$step1229 = $cases_dispatch1315[cases1255.$name] || 6;\nbreak;\ncase 5: if(cases1255.$arity !== 1) {\nif(cases1255.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[177],1,cases1255.$arity,L[178],cases1255.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[177],true,L[178],cases1255.$loc);\n}\n}\nvar $fn1260 = cases1255.$constructor.$fieldNames;\nvar b1256 = R.dF(cases1255.dict[$fn1260[0]],cases1255.$mut_fields_mask[0],false);\n$step1229 = 20;\n$ans1235 = b1256;\nbreak;\ncase 6: var cases1261 = x1231;\n$step1229 = 7;\n$al1236 = L[194];\nvar $ann$check1314 = R._cA(L[194],CellContent195,cases1261);\nif(R.isContinuation($ann$check1314)) {\n$ans1235 = $ann$check1314;\n}\nbreak;\ncase 7: $al1236 = L[186];\n$step1229 = $cases_dispatch1313[cases1261.$name] || 14;\nbreak;\ncase 8: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[185],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[185],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1269 = cases1261.$constructor.$fieldNames;\nvar n1267 = R.dF(cases1261.dict[$fn1269[0]],cases1261.$mut_fields_mask[0],false);\n// caller optimization;\n$ans1235 = num$to$string7.app(n1267);\nvar anf_arg279 = $ans1235;\n$step1229 = 15;\n$al1236 = L[184];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the number \"),anf_arg279);\nbreak;\ncase 9: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[189],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[189],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1274 = cases1261.$constructor.$fieldNames;\nvar s1270 = R.dF(cases1261.dict[$fn1274[0]],cases1261.$mut_fields_mask[0],false);\n$step1229 = 10;\n$al1236 = L[188];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,torepr3);\n}\n$ans1235 = torepr3.app(s1270);\nbreak;\ncase 10: var anf_arg1272 = $ans1235;\n$step1229 = 15;\n$al1236 = L[187];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the string \"),anf_arg1272);\nbreak;\ncase 11: if(cases1261.$arity !== 1) {\nif(cases1261.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[192],1,cases1261.$arity,L[186],cases1261.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[192],true,L[186],cases1261.$loc);\n}\n}\nvar $fn1312 = cases1261.$constructor.$fieldNames;\nvar datum1275 = R.dF(cases1261.dict[$fn1312[0]],cases1261.$mut_fields_mask[0],false);\n$step1229 = 12;\n$al1236 = L[191];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,torepr3);\n}\n$ans1235 = torepr3.app(datum1275);\nbreak;\ncase 12: var anf_arg1309 = $ans1235;\n$step1229 = 15;\n$al1236 = L[190];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"the datum \"),anf_arg1309);\nbreak;\ncase 13: if(cases1261.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[193],false,L[186],cases1261.$loc);\n}\n$step1229 = 15;\n$ans1235 = (\"an empty cell\");\nbreak;\ncase 14: $ans1235 = R.throwNoCasesMatched(L[186],cases1261);\n$step1229 = 15;\nbreak;\ncase 15: var as$str1262 = $ans1235;\n$step1229 = 16;\n$al1236 = L[183];\n// omitting isFunction check;\n$ans1235 = _plus5.app((\"Cannot sanitize \"),as$str1262);\nbreak;\ncase 16: var anf_arg288 = $ans1235;\n$step1229 = 17;\n$al1236 = L[182];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg288,(\" at \"));\nbreak;\ncase 17: var anf_arg289 = $ans1235;\n$step1229 = 18;\n$al1236 = L[181];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg289,loc1263);\nbreak;\ncase 18: var anf_arg1266 = $ans1235;\n$step1229 = 19;\n$al1236 = L[180];\n// omitting isFunction check;\n$ans1235 = _plus5.app(anf_arg1266,(\" as a boolean\"));\nbreak;\ncase 19: var anf_arg568 = $ans1235;\n$step1229 = 20;\n$al1236 = L[179];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1236,raise1);\n}\n$ans1235 = raise1.app(anf_arg568);\nbreak;\ncase 20: ++R.GAS;\nreturn $ans1235;\ndefault: R.ffi.throwSpinnakerError(L[176],$step1229);\n}\n}\nif($step1229 !== 20) {\n$ans1235.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1236,$temp_lam1230,$step1229,[x1231,col1232,row1233],[cases1261,cases1255,loc1263],$elidedFrames1238);\n}\nreturn $ans1235;\n};\nvar anf_assign1318 = R.mF($temp_lam1230,\"booleans-only\");\nbooleans$only1319.$var = anf_assign1318;\nR.nothing;\nvar $temp_lam1321 = function _7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72__199($x1322,$col1323,$row1324) {\nvar $step1320 = 0;\nvar $elidedFrames1328 = 0;\nvar $ans1325 = D;\nvar $al1326 = L[199];\nif(R.isAR($x1322)) {\n$step1320 = $x1322.step;\n$al1326 = $x1322.from;\n$ans1325 = $x1322.ans;\n$elidedFrames1328 = $x1322.elidedFrames;\nx1322 = $x1322.args[0];\ncol1323 = $x1322.args[1];\nrow1324 = $x1322.args[2];\ncases1330 = $x1322.vars[0];\ncases1331 = $x1322.vars[1];\nloc1333 = $x1322.vars[2];\n} else {\nvar $l = arguments.length;\nif($l !== 3) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[199],3,$t,false);\n}\nvar x1322 = $x1322;\nvar col1323 = $col1323;\nvar row1324 = $row1324;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans1325 = R.mC();\n}\nwhile(!R.isContinuation($ans1325)) {\nswitch($step1320) {\ncase 0: $step1320 = 1;\n$al1326 = L[223];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"column \"),col1323);\nbreak;\ncase 1: var anf_arg300 = $ans1325;\n$step1320 = 2;\n$al1326 = L[222];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg300,(\", row \"));\nbreak;\ncase 2: var anf_arg715 = $ans1325;\n// caller optimization;\n$ans1325 = num$to$string7.app(row1324);\nvar anf_arg1329 = $ans1325;\n$step1320 = 3;\n$al1326 = L[221];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg715,anf_arg1329);\nbreak;\ncase 3: var loc1333 = $ans1325;\nvar cases1330 = x1322;\n$step1320 = 4;\n$al1326 = L[220];\nvar $ann$check1359 = R._cA(L[220],CellContent195,cases1330);\nif(R.isContinuation($ann$check1359)) {\n$ans1325 = $ann$check1359;\n}\nbreak;\ncase 4: $al1326 = L[201];\n$step1320 = $cases_dispatch1358[cases1330.$name] || 6;\nbreak;\ncase 5: if(cases1330.$arity !== -1) {\nR.ffi.throwCasesSingletonErrorC(L[200],false,L[201],cases1330.$loc);\n}\n$step1320 = 21;\n$ans1325 = none6;\nbreak;\ncase 6: var cases1331 = x1322;\n$step1320 = 7;\n$al1326 = L[219];\nvar $ann$check1357 = R._cA(L[219],CellContent195,cases1331);\nif(R.isContinuation($ann$check1357)) {\n$ans1325 = $ann$check1357;\n}\nbreak;\ncase 7: $al1326 = L[209];\n$step1320 = $cases_dispatch1355[cases1331.$name] || 15;\nbreak;\ncase 8: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[208],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[208],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1336 = cases1331.$constructor.$fieldNames;\nvar n1334 = R.dF(cases1331.dict[$fn1336[0]],cases1331.$mut_fields_mask[0],false);\n// caller optimization;\n$ans1325 = num$to$string7.app(n1334);\nvar anf_arg311 = $ans1325;\n$step1320 = 16;\n$al1326 = L[207];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"number \"),anf_arg311);\nbreak;\ncase 9: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[212],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[212],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1339 = cases1331.$constructor.$fieldNames;\nvar s1337 = R.dF(cases1331.dict[$fn1339[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 10;\n$al1326 = L[211];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(s1337);\nbreak;\ncase 10: var anf_arg312 = $ans1325;\n$step1320 = 16;\n$al1326 = L[210];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"string \"),anf_arg312);\nbreak;\ncase 11: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[215],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[215],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1350 = cases1331.$constructor.$fieldNames;\nvar b1340 = R.dF(cases1331.dict[$fn1350[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 12;\n$al1326 = L[214];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(b1340);\nbreak;\ncase 12: var anf_arg1348 = $ans1325;\n$step1320 = 16;\n$al1326 = L[213];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"boolean \"),anf_arg1348);\nbreak;\ncase 13: if(cases1331.$arity !== 1) {\nif(cases1331.$arity >= 0) {\nR.ffi.throwCasesArityErrorC(L[218],1,cases1331.$arity,L[209],cases1331.$loc);\n} else {\nR.ffi.throwCasesSingletonErrorC(L[218],true,L[209],cases1331.$loc);\n}\n}\nvar $fn1354 = cases1331.$constructor.$fieldNames;\nvar datum1351 = R.dF(cases1331.dict[$fn1354[0]],cases1331.$mut_fields_mask[0],false);\n$step1320 = 14;\n$al1326 = L[217];\nif(typeof(torepr3.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,torepr3);\n}\n$ans1325 = torepr3.app(datum1351);\nbreak;\ncase 14: var anf_arg1352 = $ans1325;\n$step1320 = 16;\n$al1326 = L[216];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"datum \"),anf_arg1352);\nbreak;\ncase 15: $ans1325 = R.throwNoCasesMatched(L[209],cases1331);\n$step1320 = 16;\nbreak;\ncase 16: var as$str1332 = $ans1325;\n$step1320 = 17;\n$al1326 = L[206];\n// omitting isFunction check;\n$ans1325 = _plus5.app((\"Cannot sanitize the \"),as$str1332);\nbreak;\ncase 17: var anf_arg324 = $ans1325;\n$step1320 = 18;\n$al1326 = L[205];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg324,(\" at \"));\nbreak;\ncase 18: var anf_arg325 = $ans1325;\n$step1320 = 19;\n$al1326 = L[204];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg325,loc1333);\nbreak;\ncase 19: var anf_arg764 = $ans1325;\n$step1320 = 20;\n$al1326 = L[203];\n// omitting isFunction check;\n$ans1325 = _plus5.app(anf_arg764,(\" as an empty cell\"));\nbreak;\ncase 20: var anf_arg769 = $ans1325;\n$step1320 = 21;\n$al1326 = L[202];\nif(typeof(raise1.app) !== \"function\") {\nR.ffi.throwNonFunApp($al1326,raise1);\n}\n$ans1325 = raise1.app(anf_arg769);\nbreak;\ncase 21: ++R.GAS;\nreturn $ans1325;\ndefault: R.ffi.throwSpinnakerError(L[199],$step1320);\n}\n}\nif($step1320 !== 21) {\n$ans1325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al1326,$temp_lam1321,$step1320,[x1322,col1323,row1324],[cases1330,cases1331,loc1333],$elidedFrames1328);\n}\nreturn $ans1325;\n};\nvar anf_assign1361 = R.mF($temp_lam1321,\"empty-only\");\nempty$only1362.$var = anf_assign1361;\nR.nothing;\n$step8 = 1;\n$ans63 = R.maybeMethodCall2(builtins1,\"trace-value\",L[224],L[224],nothing2);\nbreak;\ncase 1: var answer1367 = $ans63;\n$step8 = 2;\n$ans63 = R.maybeMethodCall0(builtins1,\"current-checker\",L[9]);\nbreak;\ncase 2: var anf_method_obj1363 = $ans63;\n$step8 = 3;\n$ans63 = R.maybeMethodCall0(anf_method_obj1363,\"results\",L[9]);\nbreak;\ncase 3: var checks1368 = $ans63;\n$step8 = 4;\n$ans63 = R.mO({\"answer\":answer1367,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-c-empty\":is$c$empty109.$var,\n\"num-sanitizer\":num$sanitizer336.$var,\n\"c-empty\":c$empty111.$var,\n\"is-c-str\":is$c$str113.$var,\n\"bool-sanitizer\":bool$sanitizer403.$var,\n\"c-str\":c$str115.$var,\n\"empty-only\":empty$only1362.$var,\n\"string-sanitizer\":string$sanitizer235.$var,\n\"booleans-only\":booleans$only1319.$var,\n\"numbers-only\":numbers$only1228.$var,\n\"is-DataSourceLoaderOption\":is$DataSourceLoaderOption162.$var,\n\"option-sanitizer\":option$sanitizer202.$var,\n\"is-CellContent\":is$CellContent107.$var,\n\"c-bool\":c$bool123.$var,\n\"is-c-bool\":is$c$bool121.$var,\n\"strings-only\":strings$only1165.$var,\n\"is-c-num\":is$c$num117.$var,\n\"c-custom\":c$custom127.$var,\n\"sanitize-col\":sanitize$col168.$var,\n\"c-num\":c$num119.$var,\n\"is-c-custom\":is$c$custom125.$var,\n\"strict-num-sanitizer\":strict$num$sanitizer933.$var,\n\"is-sanitize-col\":is$sanitize$col166.$var},\n\"defined-types\":{\"Sanitizer\":Sanitizer134,\n\"LoadedTable\":LoadedTable1365,\n\"DataSourceLoaderOption\":DataSourceLoaderOption1364,\n\"CellContent\":CellContent195,\n\"DataSourceLoader\":DataSourceLoader1366},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-c-empty\":is$c$empty109.$var,\n\"num-sanitizer\":num$sanitizer336.$var,\n\"c-empty\":c$empty111.$var,\n\"is-c-str\":is$c$str113.$var,\n\"bool-sanitizer\":bool$sanitizer403.$var,\n\"c-str\":c$str115.$var,\n\"empty-only\":empty$only1362.$var,\n\"string-sanitizer\":string$sanitizer235.$var,\n\"booleans-only\":booleans$only1319.$var,\n\"numbers-only\":numbers$only1228.$var,\n\"is-DataSourceLoaderOption\":is$DataSourceLoaderOption162.$var,\n\"option-sanitizer\":option$sanitizer202.$var,\n\"is-CellContent\":is$CellContent107.$var,\n\"c-bool\":c$bool123.$var,\n\"is-c-bool\":is$c$bool121.$var,\n\"strings-only\":strings$only1165.$var,\n\"is-c-num\":is$c$num117.$var,\n\"c-custom\":c$custom127.$var,\n\"sanitize-col\":sanitize$col168.$var,\n\"c-num\":c$num119.$var,\n\"is-c-custom\":is$c$custom125.$var,\n\"strict-num-sanitizer\":strict$num$sanitizer933.$var,\n\"is-sanitize-col\":is$sanitize$col166.$var}),\n\"types\":{\"CellContent\":CellContent195,\n\"DataSourceLoaderOption\":DataSourceLoaderOption1364,\n\"Sanitizer\":Sanitizer134,\n\"LoadedTable\":LoadedTable1365,\n\"DataSourceLoader\":DataSourceLoader1366},\n\"modules\":{}}),\n\"checks\":checks1368});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans63;\ndefault: R.ffi.throwSpinnakerError(L[228],$step8);\n}\n}\nif($step8 !== 4) {\n$ans63.stack[R.EXN_STACKHEIGHT++] = R.mAR($al64,$toplevel9,$step8,[],[is$c$bool121,strings$only1165,is$CellContent107,DataSourceLoaderOption1364,Sanitizer134,sanitize$col168,c$empty111,c$num119,is$c$custom125,num$sanitizer336,empty$only1362,c$bool123,LoadedTable1365,CellContent195,c$str115,is$c$num117,numbers$only1228,bool$sanitizer403,answer1367,c$custom127,is$c$str113,strict$num$sanitizer933,string$sanitizer235,booleans$only1319,is$sanitize$col166,DataSourceLoader1366,is$c$empty109,option$sanitizer202,is$DataSourceLoaderOption162],$elidedFrames66);\n}\nreturn $ans63;\n};\nreturn R.safeCall($toplevel9,function module_load(moduleVal) {\nR.modules[\"$builtin://data$source7\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-sanitize-col":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -25, -2, -559, -25, -64, -621], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-sanitize-col", -"typ":"tany"}, -"strict-num-sanitizer":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -94, -0, -2573, -111, -3, -3260], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"strict-num-sanitizer", -"typ":"tany"}, -"is-c-custom":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -12, -2, -199, -12, -24, -221], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-c-custom", -"typ":"tany"}, -"c-num":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -10, -2, -151, -10, -22, -171], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"c-num", -"typ":"tany"}, -"sanitize-col":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -25, -2, -559, -25, -64, -621], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"sanitize-col", -"typ":"tany"}, -"c-custom":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -12, -2, -199, -12, -24, -221], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"c-custom", -"typ":"tany"}, -"is-c-num":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -10, -2, -151, -10, -22, -171], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-c-num", -"typ":"tany"}, -"strings-only":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -113, -0, -3262, -127, -3, -3746], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"strings-only", -"typ":"tany"}, -"is-c-bool":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -11, -2, -174, -11, -24, -196], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-c-bool", -"typ":"tany"}, -"c-bool":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -11, -2, -174, -11, -24, -196], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"c-bool", -"typ":"tany"}, -"is-CellContent":{"bind":"let", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -7, -0, -93, -13, -3, -225], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"typ":"tany"}, -"option-sanitizer":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -32, -0, -761, -39, -3, -934], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"option-sanitizer", -"typ":"tany"}, -"is-DataSourceLoaderOption":{"bind":"let", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -24, -0, -523, -26, -3, -625], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"typ":"tany"}, -"numbers-only":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -129, -0, -3748, -143, -3, -4224], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"numbers-only", -"typ":"tany"}, -"booleans-only":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -145, -0, -4226, -159, -3, -4710], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"booleans-only", -"typ":"tany"}, -"string-sanitizer":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -41, -0, -936, -49, -3, -1147], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"string-sanitizer", -"typ":"tany"}, -"empty-only":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -161, -0, -4712, -175, -3, -5199], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"empty-only", -"typ":"tany"}, -"c-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -9, -2, -128, -9, -22, -148], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"c-str", -"typ":"tany"}, -"bool-sanitizer":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -69, -0, -1743, -92, -3, -2571], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"bool-sanitizer", -"typ":"tany"}, -"is-c-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -9, -2, -128, -9, -22, -148], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-c-str", -"typ":"tany"}, -"c-empty":{"bind":"let", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -8, -2, -116, -8, -11, -125], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"typ":"tany"}, -"num-sanitizer":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -2, -0, -32, -2, -9, -41], -"definition-bind-site":["builtin://data-source", -51, -0, -1149, -67, -3, -1741], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":false, -"name":"num-sanitizer", -"typ":"tany"}, -"is-c-empty":{"bind":"fun", -"origin":{"local-bind-site":["builtin://data-source", -3, -0, -42, -3, -15, -57], -"definition-bind-site":["builtin://data-source", -8, -2, -116, -8, -11, -125], -"new-definition":true, -"uri-of-definition":"builtin://data-source"}, -"flatness":0, -"name":"is-c-empty", -"typ":"tany"}}, -"datatypes":{"DataSourceLoaderOption":["data",{"local-bind-site":["builtin://data-source", -24, -0, -523, -26, -3, -625], -"definition-bind-site":["builtin://data-source", -24, -0, -523, -26, -3, -625], -"new-definition":true, -"uri-of-definition":"builtin://data-source"},"DataSourceLoaderOption",["atom#A#41","atom#B#42"],[["sanitize-col", -[["col", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}],["sanitizer", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"Sanitizer"}]], -{}]],{}], -"CellContent":["data",{"local-bind-site":["builtin://data-source", -7, -0, -93, -13, -3, -225], -"definition-bind-site":["builtin://data-source", -7, -0, -93, -13, -3, -225], -"new-definition":true, -"uri-of-definition":"builtin://data-source"},"CellContent",["atom#A#31"],[["c-empty", -{}],["c-str", -[["s", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["c-num", -[["n", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{}],["c-bool", -[["b", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Boolean"}]], -{}],["c-custom", -[["datum", -["tid", -"atom#A#31"]]], -{}]],{}]}, -"aliases":{"DataSourceLoader":["record",{"load":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"DataSourceLoaderOption"}]]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"LoadedTable"}]}], -"LoadedTable":["tuple",[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"},[["tuple",[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"},{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"Sanitizer"}]]]],["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"},[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"RawArray"},[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"CellContent"},["tany"]]]]]]]], -"Sanitizer":["arrow", -[["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://data-source"}, -"name":"CellContent"},["tany"]], -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}, -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}], -"tany"], -"DataSourceLoaderOption":"tany", -"CellContent":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"option"}]}), -"builtin://constants":({"theMap":"{\"version\":3,\"sources\":[\"builtin://constants\"],\"names\":[\"builtin://constants\",\",13,0,329,13,23,352\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAYDC,oDAZCD;AAAAA;AAAAA;AAAAA;AAAAA,SAYDC,mDAZCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://constants\"}", -"theModule":"function _dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee__2(R,NAMESPACE,M,$$underscore_import5) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://constants\";\nvar D = R.undefined;\nvar L = [[\"dummy location\"],\n[M,13,0,329,13,23,352],\n[M,1,0,0,13,23,352]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $underscore_import4 = $$underscore_import5;\nvar $toplevel18 = function _dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee__2($$resumer13) {\nvar $step17 = 0;\nvar $elidedFrames77 = 0;\nvar $ans74 = D;\nvar $al75 = L[2];\nif(R.isAR($$resumer13)) {\n$step17 = $$resumer13.step;\n$al75 = $$resumer13.from;\n$ans74 = $$resumer13.ans;\n$elidedFrames77 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nPI85 = $$resumer13.vars[0];\nanswer86 = $$resumer13.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans74 = R.mC();\n}\nwhile(!R.isContinuation($ans74)) {\nswitch($step17) {\ncase 0: var PI85 = R.makeNumberFromString(\"~3.141592653589793\");\n$step17 = 1;\n$ans74 = R.maybeMethodCall2(builtins1,\"trace-value\",L[0],L[0],nothing2);\nbreak;\ncase 1: var answer86 = $ans74;\n$step17 = 2;\n$ans74 = R.maybeMethodCall0(builtins1,\"current-checker\",L[1]);\nbreak;\ncase 2: var anf_method_obj84 = $ans74;\n$step17 = 3;\n$ans74 = R.maybeMethodCall0(anf_method_obj84,\"results\",L[1]);\nbreak;\ncase 3: var checks87 = $ans74;\n$step17 = 4;\n$ans74 = R.mO({\"answer\":answer86,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"PI\":PI85},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"PI\":PI85}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks87});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans74;\ndefault: R.ffi.throwSpinnakerError(L[2],$step17);\n}\n}\nif($step17 !== 4) {\n$ans74.stack[R.EXN_STACKHEIGHT++] = R.mAR($al75,$toplevel18,$step17,[],[PI85,answer86],$elidedFrames77);\n}\nreturn $ans74;\n};\nreturn R.safeCall($toplevel18,function module_load(moduleVal) {\nR.modules[\"$builtin://constants1\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"PI":{"bind":"let", -"origin":{"local-bind-site":["builtin://constants", -1, -9, -9, -1, -11, -11], -"definition-bind-site":["builtin://constants", -13, -0, -329, -13, -23, -352], -"new-definition":true, -"uri-of-definition":"builtin://constants"}, -"typ":"tany"}}, -"datatypes":{}, -"aliases":{}}, -"requires":[{"import-type":"builtin", -"name":"global"}]}), -"builtin://s-exp-structs":({"theMap":"{\"version\":3,\"sources\":[\"builtin://s-exp-structs\"],\"names\":[\"builtin://s-exp-structs\",\",9,0,74,14,3,190\",\",10,2,88,10,31,117\",\",11,2,120,11,22,140\",\",12,2,143,12,22,163\",\",13,2,166,13,22,186\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAQDC,6BARCD;AAAAA;AAAAA;AAAAA;AAAAA,oBASCE,iCATDF;AAAAA;AAAAA;AAAAA;AAAAA,oBASCE,8BATDF;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCG,gCAVDH;AAAAA;AAAAA;AAAAA;AAAAA,oBAUCG,6BAVDH;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCI,gCAXDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBAWCI,6BAXDJ;AAAAA;AAAAA;AAAAA;AAAAA,oBAYCK,gCAZDL;AAAAA;AAAAA;AAAAA;AAAAA,oBAYCK,6BAZDL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAQDC,oDARCD;AAAAA;AAAAA;AAAAA;AAAAA,SAQDC,oDARCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"builtin://s-exp-structs\"}", -"theModule":"function _03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0__10(R,NAMESPACE,M,$$underscore_import5,$$included$127) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"builtin://s-exp-structs\";\nvar D = R.undefined;\nvar L = [[M,10,2,88,10,31,117],\n[M,10,19,105,10,30,116],\n[M,11,2,120,11,22,140],\n[M,11,15,133,11,21,139],\n[M,12,2,143,12,22,163],\n[M,12,15,156,12,21,162],\n[M,13,2,166,13,22,186],\n[M,13,15,179,13,21,185],\n[M,9,0,74,14,3,190],\n[\"dummy location\"],\n[M,3,0,13,14,3,190]];\nvar builtins1 = R.getModuleField(\"builtin://global\",\"values\",\"builtins\");\nvar nothing2 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar $type$Number3 = R.getModuleField(\"builtin://global\",\"types\",\"Number\");\nvar $type$String8 = R.getModuleField(\"builtin://global\",\"types\",\"String\");\nvar $underscore_import3 = $$underscore_import5;\nvar $included$123 = $$included$127;\nvar List1 = R.getModuleField(\"builtin://lists\",\"types\",\"List\");\nvar $toplevel21 = function _03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0__10($$resumer13) {\nvar $step20 = 0;\nvar $elidedFrames82 = 0;\nvar $ans79 = D;\nvar $al80 = L[10];\nif(R.isAR($$resumer13)) {\n$step20 = $$resumer13.step;\n$al80 = $$resumer13.from;\n$ans79 = $$resumer13.ans;\n$elidedFrames82 = $$resumer13.elidedFrames;\n$resumer13 = $$resumer13.args[0];\nanswer137 = $$resumer13.vars[0];\nis$s$list120 = $$resumer13.vars[1];\nS$Exp136 = $$resumer13.vars[2];\nis$s$str128 = $$resumer13.vars[3];\ns$list122 = $$resumer13.vars[4];\ns$sym134 = $$resumer13.vars[5];\ns$num126 = $$resumer13.vars[6];\nis$S$Exp116 = $$resumer13.vars[7];\ns$str130 = $$resumer13.vars[8];\nis$s$sym132 = $$resumer13.vars[9];\nis$s$num124 = $$resumer13.vars[10];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans79 = R.mC();\n}\nwhile(!R.isContinuation($ans79)) {\nswitch($step20) {\ncase 0: var S$Exp83 = R.nB(\"S-Exp\",L[8]);\nvar S$Exp136 = R.mBA(S$Exp83,\"S-Exp\");\nvar S$Exp114 = {\"$var\":D};\nvar is$S$Exp116 = {\"$var\":D};\nvar is$s$list120 = {\"$var\":D};\nvar s$list122 = {\"$var\":D};\nvar is$s$num124 = {\"$var\":D};\nvar s$num126 = {\"$var\":D};\nvar is$s$str128 = {\"$var\":D};\nvar s$str130 = {\"$var\":D};\nvar is$s$sym132 = {\"$var\":D};\nvar s$sym134 = {\"$var\":D};\nvar $s$list_getfields88 = function singleton_variant(f) {\nreturn f(this.dict[\"exps\"]);\n};\nvar $s$list_mutablemask87 = [false];\nvar $s$list$base84 = {\"$fieldNames\":[\"exps\"],\n\"_match\":R.mM(\"s-list\",1)};\nvar $s$list$brander85 = R.nB(\"s-list\",L[0]);\nvar $s$list$brands86 = {};\n$s$list$brands86[S$Exp83._brand] = true;\n$s$list$brands86[$s$list$brander85._brand] = true;\nvar s$list89 = R.mVC(L[0],function $synthesizedConstructor_$s$list$base() {\nreturn [List1];\n},[\"exps90\"],[L[1]],[false],[\"exps90\"],$s$list_mutablemask87,$s$list$base84,$s$list$brands86,\"s-list\",$s$list_getfields88,$s$list$base84);\nvar $s$num_getfields95 = function singleton_variant(f) {\nreturn f(this.dict[\"n\"]);\n};\nvar $s$num_mutablemask94 = [false];\nvar $s$num$base91 = {\"$fieldNames\":[\"n\"],\n\"_match\":R.mM(\"s-num\",1)};\nvar $s$num$brander92 = R.nB(\"s-num\",L[2]);\nvar $s$num$brands93 = {};\n$s$num$brands93[S$Exp83._brand] = true;\n$s$num$brands93[$s$num$brander92._brand] = true;\nvar s$num96 = R.mVC(L[2],function $synthesizedConstructor_$s$num$base() {\nreturn [$type$Number3];\n},[\"n97\"],[L[3]],[false],[\"n97\"],$s$num_mutablemask94,$s$num$base91,$s$num$brands93,\"s-num\",$s$num_getfields95,$s$num$base91);\nvar $s$str_getfields102 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $s$str_mutablemask101 = [false];\nvar $s$str$base98 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"s-str\",1)};\nvar $s$str$brander99 = R.nB(\"s-str\",L[4]);\nvar $s$str$brands100 = {};\n$s$str$brands100[S$Exp83._brand] = true;\n$s$str$brands100[$s$str$brander99._brand] = true;\nvar s$str103 = R.mVC(L[4],function $synthesizedConstructor_$s$str$base() {\nreturn [$type$String8];\n},[\"s104\"],[L[5]],[false],[\"s104\"],$s$str_mutablemask101,$s$str$base98,$s$str$brands100,\"s-str\",$s$str_getfields102,$s$str$base98);\nvar $s$sym_getfields109 = function singleton_variant(f) {\nreturn f(this.dict[\"s\"]);\n};\nvar $s$sym_mutablemask108 = [false];\nvar $s$sym$base105 = {\"$fieldNames\":[\"s\"],\n\"_match\":R.mM(\"s-sym\",1)};\nvar $s$sym$brander106 = R.nB(\"s-sym\",L[6]);\nvar $s$sym$brands107 = {};\n$s$sym$brands107[S$Exp83._brand] = true;\n$s$sym$brands107[$s$sym$brander106._brand] = true;\nvar s$sym110 = R.mVC(L[6],function $synthesizedConstructor_$s$sym$base() {\nreturn [$type$String8];\n},[\"s111\"],[L[7]],[false],[\"s111\"],$s$sym_mutablemask108,$s$sym$base105,$s$sym$brands107,\"s-sym\",$s$sym_getfields109,$s$sym$base105);\nvar anf_assign113 = R.mO({\"S-Exp\":G(S$Exp83,\"test\",L[8]),\n\"is-s-list\":G($s$list$brander85,\"test\",L[0]),\n\"s-list\":s$list89,\n\"is-s-num\":G($s$num$brander92,\"test\",L[2]),\n\"s-num\":s$num96,\n\"is-s-str\":G($s$str$brander99,\"test\",L[4]),\n\"s-str\":s$str103,\n\"is-s-sym\":G($s$sym$brander106,\"test\",L[6]),\n\"s-sym\":s$sym110});\nS$Exp114.$var = anf_assign113;\nR.nothing;\n$al80 = L[8];\nvar anf_assign115 = G(S$Exp114.$var,\"S-Exp\",L[8]);\nis$S$Exp116.$var = anf_assign115;\nR.nothing;\n$al80 = L[0];\nvar anf_assign119 = G(S$Exp114.$var,\"is-s-list\",L[0]);\nis$s$list120.$var = anf_assign119;\nR.nothing;\n$al80 = L[0];\nvar anf_assign121 = G(S$Exp114.$var,\"s-list\",L[0]);\ns$list122.$var = anf_assign121;\nR.nothing;\n$al80 = L[2];\nvar anf_assign123 = G(S$Exp114.$var,\"is-s-num\",L[2]);\nis$s$num124.$var = anf_assign123;\nR.nothing;\n$al80 = L[2];\nvar anf_assign125 = G(S$Exp114.$var,\"s-num\",L[2]);\ns$num126.$var = anf_assign125;\nR.nothing;\n$al80 = L[4];\nvar anf_assign127 = G(S$Exp114.$var,\"is-s-str\",L[4]);\nis$s$str128.$var = anf_assign127;\nR.nothing;\n$al80 = L[4];\nvar anf_assign129 = G(S$Exp114.$var,\"s-str\",L[4]);\ns$str130.$var = anf_assign129;\nR.nothing;\n$al80 = L[6];\nvar anf_assign131 = G(S$Exp114.$var,\"is-s-sym\",L[6]);\nis$s$sym132.$var = anf_assign131;\nR.nothing;\n$al80 = L[6];\nvar anf_assign133 = G(S$Exp114.$var,\"s-sym\",L[6]);\ns$sym134.$var = anf_assign133;\nR.nothing;\n$step20 = 1;\n$ans79 = R.maybeMethodCall2(builtins1,\"trace-value\",L[9],L[9],nothing2);\nbreak;\ncase 1: var answer137 = $ans79;\n$step20 = 2;\n$ans79 = R.maybeMethodCall0(builtins1,\"current-checker\",L[8]);\nbreak;\ncase 2: var anf_method_obj135 = $ans79;\n$step20 = 3;\n$ans79 = R.maybeMethodCall0(anf_method_obj135,\"results\",L[8]);\nbreak;\ncase 3: var checks138 = $ans79;\n$step20 = 4;\n$ans79 = R.mO({\"answer\":answer137,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{},\n\"defined-values\":{\"is-S-Exp\":is$S$Exp116.$var,\n\"is-s-num\":is$s$num124.$var,\n\"is-s-sym\":is$s$sym132.$var,\n\"s-num\":s$num126.$var,\n\"s-sym\":s$sym134.$var,\n\"is-s-str\":is$s$str128.$var,\n\"s-str\":s$str130.$var,\n\"s-list\":s$list122.$var,\n\"is-s-list\":is$s$list120.$var},\n\"defined-types\":{\"S-Exp\":S$Exp136},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"is-S-Exp\":is$S$Exp116.$var,\n\"is-s-num\":is$s$num124.$var,\n\"is-s-sym\":is$s$sym132.$var,\n\"s-num\":s$num126.$var,\n\"s-sym\":s$sym134.$var,\n\"is-s-str\":is$s$str128.$var,\n\"s-str\":s$str130.$var,\n\"s-list\":s$list122.$var,\n\"is-s-list\":is$s$list120.$var}),\n\"types\":{\"S-Exp\":S$Exp136},\n\"modules\":{}}),\n\"checks\":checks138});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans79;\ndefault: R.ffi.throwSpinnakerError(L[10],$step20);\n}\n}\nif($step20 !== 4) {\n$ans79.stack[R.EXN_STACKHEIGHT++] = R.mAR($al80,$toplevel21,$step20,[],[answer137,is$s$list120,S$Exp136,is$s$str128,s$list122,s$sym134,s$num126,is$S$Exp116,s$str130,is$s$sym132,is$s$num124],$elidedFrames82);\n}\nreturn $ans79;\n};\nreturn R.safeCall($toplevel21,function module_load(moduleVal) {\nR.modules[\"$builtin://s$exp$structs2\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"is-s-list":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -10, -2, -88, -10, -31, -117], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"is-s-list", -"typ":"tany"}, -"s-list":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -10, -2, -88, -10, -31, -117], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"s-list", -"typ":"tany"}, -"s-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -12, -2, -143, -12, -22, -163], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"s-str", -"typ":"tany"}, -"is-s-str":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -12, -2, -143, -12, -22, -163], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"is-s-str", -"typ":"tany"}, -"s-sym":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -13, -2, -166, -13, -22, -186], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"s-sym", -"typ":"tany"}, -"s-num":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -11, -2, -120, -11, -22, -140], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"s-num", -"typ":"tany"}, -"is-s-sym":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -13, -2, -166, -13, -22, -186], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"is-s-sym", -"typ":"tany"}, -"is-s-num":{"bind":"fun", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -11, -2, -120, -11, -22, -140], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"flatness":0, -"name":"is-s-num", -"typ":"tany"}, -"is-S-Exp":{"bind":"let", -"origin":{"local-bind-site":["builtin://s-exp-structs", -4, -0, -23, -4, -15, -38], -"definition-bind-site":["builtin://s-exp-structs", -9, -0, -74, -14, -3, -190], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"}, -"typ":"tany"}}, -"datatypes":{"S-Exp":["data",{"local-bind-site":["builtin://s-exp-structs", -9, -0, -74, -14, -3, -190], -"definition-bind-site":["builtin://s-exp-structs", -9, -0, -74, -14, -3, -190], -"new-definition":true, -"uri-of-definition":"builtin://s-exp-structs"},"S-Exp",[],[["s-list", -[["exps", -["tyapp",{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://s-exp-structs"}, -"name":"List"},[{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://s-exp-structs"}, -"name":"S-Exp"}]]]], -{}],["s-num", -[["n", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"Number"}]], -{}],["s-str", -[["s", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}],["s-sym", -[["s", -{"tag":"name", -"origin":{"import-type":"uri", -"uri":"builtin://global"}, -"name":"String"}]], -{}]],{}]}, -"aliases":{"S-Exp":"tany"}}, -"requires":[{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}]}), -"builtin://s-exp":({ - requires: [ - { "import-type": "builtin", "name": "s-exp-structs" } - ], - nativeRequires: ["s-expression"], - provides: { - shorthands: { - "S-Exp": { - tag: "name", - origin: { "import-type": "uri", uri: "builtin://s-exp-structs" }, - name: "S-Exp" - }, - "pred": ["arrow", ["Any"], "Boolean"] - }, - values: { - "s-list": ["arrow", [["List", "S-Exp"]], "S-Exp"], - "s-num": ["arrow", ["Number"], "S-Exp"], - "s-str": ["arrow", ["String"], "S-Exp"], - "s-sym": ["arrow", ["String"], "S-Exp"], - "is-s-list": "pred", - "is-s-num": "pred", - "is-s-str": "pred", - "is-s-sym": "pred", - "read-s-exp": ["arrow", ["String"], "S-Exp"] - }, - types: { - "S-Exp": "S-Exp" - } - }, - theModule: function(RUNTIME, NAMESPACE, uri, sstruct, sexp) { - var gf = RUNTIME.getField; - var vals = gf(sstruct, "values"); - var typs = gf(sstruct, "types"); - function readSexp(s) { - RUNTIME.checkArity(1, arguments, "s-exp", false); - RUNTIME.checkString(s); - // Wrap in quotes to satisfy parser for simple atoms like "a" - var jsVal = new sexp("(" + s + ")"); - var sList = gf(vals, "s-list"); - var sStr = gf(vals, "s-str"); - var sNum = gf(vals, "s-num"); - var sSym = gf(vals, "s-sym"); - var list = function(l) { return sList.app(RUNTIME.ffi.makeList(l)); } - var str = function(s) { return sStr.app(RUNTIME.makeString(s)); } - var num = function(nstr) { return sNum.app(RUNTIME.makeNumberFromString(nstr)); } - var sym = function(x) { return sSym.app(RUNTIME.makeString(x)); } - function convert(v) { - if(v instanceof String) { - return str(String(v)); - } else if (typeof v === "string") { - if(RUNTIME.string_isnumber(v)) { - return num(v); - } else { - if(v.indexOf("'") !== -1 || v.indexOf('"') !== -1) { - RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); - } - return sym(v); - } - } - else if(Array.isArray(v)) { - if(v.length === 0) { return list([]); } - if(v[0] === "quote") { - RUNTIME.ffi.throwMessageException("Invalid s-expression: Single quotation mark (') and keyword 'quote' not supported" + s); - } - return list(v.map(convert)); - } - else { - RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); - } - } - if(Array.isArray(jsVal) && jsVal.length === 1) { - return convert(jsVal[0]); - } - else { - RUNTIME.ffi.throwMessageException("Invalid s-expression: " + s); - } - } - var values = { - "s-list": gf(vals, "s-list"), - "s-num": gf(vals, "s-num"), - "s-str": gf(vals, "s-str"), - "s-sym": gf(vals, "s-sym"), - "is-s-list": gf(vals, "is-s-list"), - "is-s-num": gf(vals, "is-s-num"), - "is-s-str": gf(vals, "is-s-str"), - "is-s-sym": gf(vals, "is-s-sym"), - "read-s-exp": RUNTIME.makeFunction(readSexp) - }; - var types = { - "S-Exp": typs["S-Exp"] - }; - return RUNTIME.makeModuleReturn(values, types); - } -}) -, -"builtin://base":({ - requires: [ - { "import-type": "builtin", name: "global" }, - { "import-type": "builtin", name: "option" }, - { "import-type": "builtin", name: "either" }, - { "import-type": "builtin", name: "error-display" }, - { "import-type": "builtin", name: "error" }, - { "import-type": "builtin", name: "equality" }, - { "import-type": "builtin", name: "valueskeleton" }, - { "import-type": "builtin", name: "lists" }, - { "import-type": "builtin", name: "arrays" }, - { "import-type": "builtin", name: "pick" }, - { "import-type": "builtin", name: "sets" }, - { "import-type": "builtin", name: "contracts" }, - { "import-type": "builtin", name: "srcloc" }, - { "import-type": "builtin", name: "string-dict" }, - { "import-type": "builtin", name: "render-error-display" }, - { "import-type": "builtin", name: "checker" }, - { "import-type": "builtin", name: "ffi" }, - { "import-type": "builtin", name: "table" }, - { "import-type": "builtin", name: "tables" }, - { "import-type": "builtin", name: "reactors" }, - { "import-type": "builtin", name: "data-source" }, - { "import-type": "builtin", name: "constants" }, - { "import-type": "builtin", "name": "s-exp" } - ], - provides: {}, - nativeRequires: [], - theModule: function(runtime, namespace, uri /* intentionally blank */) { - return runtime.makeObject({ - "defined-values": {}, - "defined-types": {}, - "provide-plus-types": runtime.makeObject({ - "values": runtime.makeObject({}), - "types": {} - }) - }); - } -}) -, -"file:///workspaces/pyret/exercises/practice/etl/etl.arr":({"theMap":"{\"version\":3,\"sources\":[\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\"],\"names\":[\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\",\",6,18,103,6,37,122\",\",7,5,130,7,18,143\",\",7,5,130,7,28,153\",\",7,43,168,7,62,187\",\",7,96,221,7,119,244\",\",7,81,206,7,123,248\",\",7,43,168,7,128,253\",\",7,4,129,7,133,258\",\",4,0,44,11,3,288\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAKiBC,+DALjBD;AAAAA;AAAAA;AAAAA;AAAAA;AAKiBC,sCALjBD;AAAAA;AAKiBC,yBALjBD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAMIE,wCANJF;AAAAA;AAAAA;AAAAA;AAAAA,UAMIG,oDANJH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAM0CI,kDAN1CJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAM+FK,yCAN/FL;AAAAA;AAAAA;AAAAA,UAMgFM,mEANhFN;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAM0CO,2DAN1CP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAMGQ,4DANHR;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAGDS,oCAHCT;AAAAA;AAGDS,yBAHCT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAGDS,mDAHCT;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA\",\"file\":\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\"}", -"theModule":"function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__12(R,NAMESPACE,M,$arrays12,$$base13,$$constants14,$error15,$$global16,$lists17,$option18,$sets19,$$included$120) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"file:///workspaces/pyret/exercises/practice/etl/etl.arr\";\nvar D = R.undefined;\nvar L = [[M,4,0,44,11,3,288],\n[M,6,17,102,6,39,124],\n[M,6,18,103,6,37,122],\n[M,7,5,130,7,18,143],\n[M,7,5,130,7,28,153],\n[M,7,35,160,7,132,257],\n[M,7,43,168,7,62,187],\n[M,7,68,193,7,127,252],\n[M,7,81,206,7,123,248],\n[M,7,43,168,7,128,253],\n[M,7,4,129,7,133,258],\n[\"dummy location\"],\n[M,1,0,0,11,3,288]];\nvar string$to$lower1 = R.getModuleField(\"builtin://global\",\"values\",\"string-to-lower\");\nvar arrays2 = $arrays12;\nvar $base3 = $$base13;\nvar $constants4 = $$constants14;\nvar error5 = $error15;\nvar $global6 = $$global16;\nvar lists7 = $lists17;\nvar option8 = $option18;\nvar sets9 = $sets19;\nvar $included$110 = $$included$120;\nvar mutable$string$dict1 = R.getModuleField(\"builtin://string-dict\",\"values\",\"mutable-string-dict\");\nvar $toplevel125 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__12($$resumer28) {\nvar $step124 = 0;\nvar $elidedFrames269 = 0;\nvar $ans266 = D;\nvar $al267 = L[12];\nif(R.isAR($$resumer28)) {\n$step124 = $$resumer28.step;\n$al267 = $$resumer28.from;\n$ans266 = $$resumer28.ans;\n$elidedFrames269 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanswer245 = $$resumer28.vars[0];\ntranslate28 = $$resumer28.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans266 = R.mC();\n}\nwhile(!R.isContinuation($ans266)) {\nswitch($step124) {\ncase 0: var translate28 = {\"$var\":D};\nvar $temp_lam277 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__0($legacy20) {\nvar $step276 = 0;\nvar $elidedFrames281 = 0;\nvar $ans278 = D;\nvar $al279 = L[0];\nif(R.isAR($legacy20)) {\n$step276 = $legacy20.step;\n$al279 = $legacy20.from;\n$ans278 = $legacy20.ans;\n$elidedFrames281 = $legacy20.elidedFrames;\nlegacy20 = $legacy20.args[0];\nresult127 = $legacy20.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[0],1,$t,false);\n}\nvar legacy20 = $legacy20;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans278 = R.mC();\n}\nwhile(!R.isContinuation($ans278)) {\nswitch($step276) {\ncase 0: $ans278 = R.getMaker0(mutable$string$dict1,(\"make0\"),L[1],L[2]);\nvar anf_fun38 = $ans278;\n$step276 = 1;\n$al279 = L[2];\nif(typeof(anf_fun38.app) !== \"function\") {\nR.ffi.throwNonFunApp($al279,anf_fun38);\n}\n$ans278 = anf_fun38.app();\nbreak;\ncase 1: var var122 = $ans278;\nvar result127 = {\"$var\":var122};\n$step276 = 2;\n$ans278 = R.maybeMethodCall0(legacy20,\"keys\",L[3]);\nbreak;\ncase 2: var anf_method_obj101 = $ans278;\n$step276 = 3;\n$ans278 = R.maybeMethodCall0(anf_method_obj101,\"to-list\",L[4]);\nbreak;\ncase 3: var anf_method_obj129 = $ans278;\nvar $temp_lam283 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__5($n122) {\nvar $step282 = 0;\nvar $elidedFrames287 = 0;\nvar $ans284 = D;\nvar $al285 = L[5];\nif(R.isAR($n122)) {\n$step282 = $n122.step;\n$al285 = $n122.from;\n$ans284 = $n122.ans;\n$elidedFrames287 = $n122.elidedFrames;\nn122 = $n122.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[5],1,$t,false);\n}\nvar n122 = $n122;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans284 = R.mC();\n}\nwhile(!R.isContinuation($ans284)) {\nswitch($step282) {\ncase 0: $step282 = 1;\n$ans284 = R.maybeMethodCall1(legacy20,\"get-value\",L[6],n122);\nbreak;\ncase 1: var anf_method_obj233 = $ans284;\nvar $temp_lam289 = function _9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517__7($letter226) {\nvar $step288 = 0;\nvar $elidedFrames293 = 0;\nvar $ans290 = D;\nvar $al291 = L[7];\nif(R.isAR($letter226)) {\n$step288 = $letter226.step;\n$al291 = $letter226.from;\n$ans290 = $letter226.ans;\n$elidedFrames293 = $letter226.elidedFrames;\nletter226 = $letter226.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 1) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[7],1,$t,false);\n}\nvar letter226 = $letter226;\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans290 = R.mC();\n}\nwhile(!R.isContinuation($ans290)) {\nswitch($step288) {\ncase 0: var anf_method_obj121 = result127.$var;\n// caller optimization;\n$ans290 = string$to$lower1.app(letter226);\nvar anf_arg48 = $ans290;\n$step288 = 1;\n$ans290 = R.maybeMethodCall2(anf_method_obj121,\"set-now\",L[8],anf_arg48,n122);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans290;\ndefault: R.ffi.throwSpinnakerError(L[7],$step288);\n}\n}\nif($step288 !== 1) {\n$ans290.stack[R.EXN_STACKHEIGHT++] = R.mAR($al291,$temp_lam289,$step288,[letter226],[],$elidedFrames293);\n}\nreturn $ans290;\n};\nvar anf_arg54 = R.mF($temp_lam289,\"\");\n$step282 = 2;\n$ans284 = R.maybeMethodCall1(anf_method_obj233,\"each\",L[9],anf_arg54);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans284;\ndefault: R.ffi.throwSpinnakerError(L[5],$step282);\n}\n}\nif($step282 !== 2) {\n$ans284.stack[R.EXN_STACKHEIGHT++] = R.mAR($al285,$temp_lam283,$step282,[n122],[],$elidedFrames287);\n}\nreturn $ans284;\n};\nvar anf_arg55 = R.mF($temp_lam283,\"\");\n$step276 = 4;\n$ans278 = R.maybeMethodCall1(anf_method_obj129,\"each\",L[10],anf_arg55);\nbreak;\ncase 4: var result32 = result127.$var;\n$step276 = 5;\n$ans278 = result32;\nbreak;\ncase 5: ++R.GAS;\nreturn $ans278;\ndefault: R.ffi.throwSpinnakerError(L[0],$step276);\n}\n}\nif($step276 !== 5) {\n$ans278.stack[R.EXN_STACKHEIGHT++] = R.mAR($al279,$temp_lam277,$step276,[legacy20],[result127],$elidedFrames281);\n}\nreturn $ans278;\n};\nvar anf_assign240 = R.mF($temp_lam277,\"translate\");\ntranslate28.$var = anf_assign240;\nR.nothing;\n$step124 = 1;\n$al267 = L[11];\nvar $obj303 = R.builtins;\nvar $field304 = R.gCFL($obj303,\"trace-value\",L[11]);\nif(R.isM($field304)) {\n$ans266 = $field304.full_meth($obj303,L[11],R.nothing);\n} else {\nif(typeof($field304.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[11],$field304);\n}\n$ans266 = $field304.app(L[11],R.nothing);\n}\nbreak;\ncase 1: var answer245 = $ans266;\n$step124 = 2;\n$al267 = L[0];\nvar $obj305 = R.builtins;\nvar $field306 = R.gCFL($obj305,\"current-checker\",L[0]);\nif(R.isM($field306)) {\n$ans266 = $field306.full_meth($obj305);\n} else {\nif(typeof($field306.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[0],$field306);\n}\n$ans266 = $field306.app();\n}\nbreak;\ncase 2: var anf_method_obj86 = $ans266;\n$step124 = 3;\n$ans266 = R.maybeMethodCall0(anf_method_obj86,\"results\",L[0]);\nbreak;\ncase 3: var checks246 = $ans266;\n$step124 = 4;\n$ans266 = R.mO({\"answer\":answer245,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"sets\":sets9,\n\"error\":error5,\n\"option\":option8,\n\"lists\":lists7,\n\"arrays\":arrays2,\n\"$constants\":$constants4,\n\"$base\":$base3,\n\"$global\":$global6},\n\"defined-values\":{\"translate\":translate28.$var},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({\"translate\":translate28.$var}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks246});\nbreak;\ncase 4: ++R.GAS;\nreturn $ans266;\ndefault: R.ffi.throwSpinnakerError(L[12],$step124);\n}\n}\nif($step124 !== 4) {\n$ans266.stack[R.EXN_STACKHEIGHT++] = R.mAR($al267,$toplevel125,$step124,[],[answer245,translate28],$elidedFrames269);\n}\nreturn $ans266;\n};\nreturn R.safeCall($toplevel125,function module_load(moduleVal) {\nR.modules[\"$file:///workspaces/pyret/exercises/practice/etl/etl.arr20\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{"translate":{"bind":"fun", -"origin":{"local-bind-site":["file:///workspaces/pyret/exercises/practice/etl/etl.arr", -1, -9, -9, -1, -18, -18], -"definition-bind-site":["file:///workspaces/pyret/exercises/practice/etl/etl.arr", -4, -0, -44, -11, -3, -288], -"new-definition":true, -"uri-of-definition":"file:///workspaces/pyret/exercises/practice/etl/etl.arr"}, -"flatness":false, -"name":"translate", -"typ":"tany"}}, -"datatypes":{}, -"aliases":{}}, -"requires":[{"import-type":"builtin", -"name":"arrays"}, -{"import-type":"builtin", -"name":"base"}, -{"import-type":"builtin", -"name":"constants"}, -{"import-type":"builtin", -"name":"error"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"sets"}, -{"import-type":"builtin", -"name":"string-dict"}]}), -"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr":({"theMap":"{\"version\":3,\"sources\":[\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"],\"names\":[\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\",\",4,0,45,34,3,1542\",\",5,2,70,5,79,147\",\",5,13,81,5,24,92\",\",5,32,100,5,36,104\",\",5,2,70,5,44,112\",\",5,49,117,5,68,136\",\",4,0,45,6,3,151\",\",9,2,199,9,139,336\",\",9,13,210,9,24,221\",\",9,32,229,9,36,233\",\",9,2,199,9,64,261\",\",9,69,266,9,88,285\",\",9,68,265,9,139,336\",\",8,0,153,10,3,340\",\",13,11,400,13,22,411\",\",13,30,419,13,34,423\",\",13,68,457,13,72,461\",\",14,14,488,14,33,507\",\",14,13,487,14,104,578\",\",15,2,581,15,30,609\",\",15,2,581,15,18,597\",\",12,0,342,16,3,613\",\",19,11,693,19,22,704\",\",19,10,692,25,47,1052\",\",19,30,712,19,34,716\",\",20,30,775,20,34,779\",\",21,30,823,21,34,827\",\",22,30,881,22,34,885\",\",23,30,944,23,34,948\",\",24,30,987,24,34,991\",\",25,31,1036,25,35,1040\",\",26,14,1067,26,33,1086\",\",26,13,1066,32,55,1507\",\",33,2,1510,33,30,1538\",\",33,2,1510,33,18,1526\",\",18,0,615,34,3,1542\"],\"mappings\":\"AAACA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAGDC,oCAHCD;AAAAA;AAGDC,yBAHCD;AAAAA;AAAAA;AAAAA;AAGDC,2BAHCD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAICE,oCAJDF;AAAAA;AAICE,yBAJDF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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\",\"file\":\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"}", -"theModule":"function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__54(R,NAMESPACE,M,$arrays12,$$base13,$$constants14,$error15,$$global16,$lists17,$option18,$sets19,$$included$26,$$included$120) {\nvar G = R.getFieldLoc;\nvar U = function throw_error(loc,name) {\nR.ffi.throwUninitializedIdMkLoc(loc,name);\n};\nvar M = \"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\";\nvar D = R.undefined;\nvar L = [[\"dummy location\"],\n[M,4,0,45,34,3,1542],\n[M,4,0,45,6,3,151],\n[M,5,2,70,5,79,147],\n[M,5,2,70,5,44,112],\n[M,5,12,80,5,43,111],\n[M,5,13,81,5,24,92],\n[M,5,31,99,5,42,110],\n[M,5,32,100,5,36,104],\n[M,5,48,116,5,79,147],\n[M,5,49,117,5,68,136],\n[M,8,0,153,10,3,340],\n[M,9,2,199,9,139,336],\n[M,9,2,199,9,64,261],\n[M,9,12,209,9,63,260],\n[M,9,13,210,9,24,221],\n[M,9,31,228,9,62,259],\n[M,9,32,229,9,36,233],\n[M,9,68,265,9,139,336],\n[M,9,69,266,9,88,285],\n[M,12,0,342,16,3,613],\n[M,13,10,399,13,84,473],\n[M,13,11,400,13,22,411],\n[M,13,29,418,13,60,449],\n[M,13,30,419,13,34,423],\n[M,13,67,456,13,83,472],\n[M,13,68,457,13,72,461],\n[M,14,13,487,14,104,578],\n[M,14,14,488,14,33,507],\n[M,15,2,581,15,30,609],\n[M,15,2,581,15,18,597],\n[M,15,22,601,15,30,609],\n[M,18,0,615,34,3,1542],\n[M,19,10,692,25,47,1052],\n[M,19,11,693,19,22,704],\n[M,19,29,711,19,60,742],\n[M,19,30,712,19,34,716],\n[M,20,29,774,20,45,790],\n[M,20,30,775,20,34,779],\n[M,21,29,822,21,55,848],\n[M,21,30,823,21,34,827],\n[M,22,29,880,22,60,911],\n[M,22,30,881,22,34,885],\n[M,23,29,943,23,40,954],\n[M,23,30,944,23,34,948],\n[M,24,29,986,24,45,1002],\n[M,24,30,987,24,34,991],\n[M,25,30,1035,25,46,1051],\n[M,25,31,1036,25,35,1040],\n[M,26,13,1066,32,55,1507],\n[M,26,14,1067,26,33,1086],\n[M,33,2,1510,33,30,1538],\n[M,33,2,1510,33,18,1526],\n[M,33,22,1530,33,30,1538],\n[M,1,0,0,34,3,1542]];\nvar nothing1 = R.getModuleField(\"builtin://global\",\"values\",\"nothing\");\nvar arrays2 = $arrays12;\nvar $base3 = $$base13;\nvar $constants4 = $$constants14;\nvar error5 = $error15;\nvar $global6 = $$global16;\nvar lists7 = $lists17;\nvar option8 = $option18;\nvar sets9 = $sets19;\nvar $included$24 = $$included$26;\nvar $included$110 = $$included$120;\nvar translate1 = R.getModuleField(\"file:///workspaces/pyret/exercises/practice/etl/etl.arr\",\"values\",\"translate\");\nvar mutable$string$dict2 = R.getModuleField(\"builtin://string-dict\",\"values\",\"mutable-string-dict\");\nvar list1 = R.getModuleField(\"builtin://lists\",\"values\",\"list\");\nvar string$dict2 = R.getModuleField(\"builtin://string-dict\",\"values\",\"string-dict\");\nvar $toplevel128 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__54($$resumer28) {\nvar $step127 = 0;\nvar $elidedFrames291 = 0;\nvar $ans288 = D;\nvar $al289 = L[54];\nif(R.isAR($$resumer28)) {\n$step127 = $$resumer28.step;\n$al289 = $$resumer28.from;\n$ans288 = $$resumer28.ans;\n$elidedFrames291 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_method_obj79 = $$resumer28.vars[0];\nresult$after$checks1420 = $$resumer28.vars[1];\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans288 = R.mC();\n}\nwhile(!R.isContinuation($ans288)) {\nswitch($step127) {\ncase 0: var $underscore14 = {\"$var\":D};\nvar $underscore19 = {\"$var\":D};\nvar $underscore252 = {\"$var\":D};\nvar $underscore253 = {\"$var\":D};\n$underscore14.$var = nothing1;\nR.nothing;\n$underscore19.$var = nothing1;\nR.nothing;\n$underscore252.$var = nothing1;\nR.nothing;\n$underscore253.$var = nothing1;\nR.nothing;\n$step127 = 1;\n$al289 = L[0];\nvar $obj293 = R.builtins;\nvar $field294 = R.gCFL($obj293,\"trace-value\",L[0]);\nif(R.isM($field294)) {\n$ans288 = $field294.full_meth($obj293,L[0],R.nothing);\n} else {\nif(typeof($field294.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[0],$field294);\n}\n$ans288 = $field294.app(L[0],R.nothing);\n}\nbreak;\ncase 1: var result$after$checks1420 = $ans288;\n$step127 = 2;\n$al289 = L[1];\nvar $obj295 = R.builtins;\nvar $field296 = R.gCFL($obj295,\"current-checker\",L[1]);\nif(R.isM($field296)) {\n$ans288 = $field296.full_meth($obj295);\n} else {\nif(typeof($field296.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field296);\n}\n$ans288 = $field296.app();\n}\nbreak;\ncase 2: var anf_method_obj79 = $ans288;\n$ans288 = R.makeArrayN((4));\nvar anf_array413 = $ans288;\nvar $temp_lam298 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__2($$resumer28) {\nvar $step297 = 0;\nvar $elidedFrames302 = 0;\nvar $ans299 = D;\nvar $al300 = L[2];\nif(R.isAR($$resumer28)) {\n$step297 = $$resumer28.step;\n$al300 = $$resumer28.from;\n$ans299 = $$resumer28.ans;\n$elidedFrames302 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[2],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans299 = R.mC();\n}\nwhile(!R.isContinuation($ans299)) {\nswitch($step297) {\ncase 0: $step297 = 1;\n$al300 = L[3];\nvar $obj304 = R.builtins;\nvar $field305 = R.gCFL($obj304,\"current-checker\",L[3]);\nif(R.isM($field305)) {\n$ans299 = $field305.full_meth($obj304);\n} else {\nif(typeof($field305.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[3],$field305);\n}\n$ans299 = $field305.app();\n}\nbreak;\ncase 1: var anf_method_obj86 = $ans299;\nvar $temp_lam307 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__4($$resumer28) {\nvar $step306 = 0;\nvar $elidedFrames311 = 0;\nvar $ans308 = D;\nvar $al309 = L[4];\nif(R.isAR($$resumer28)) {\n$step306 = $$resumer28.step;\n$al309 = $$resumer28.from;\n$ans308 = $$resumer28.ans;\n$elidedFrames311 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_fun74 = $$resumer28.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[4],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans308 = R.mC();\n}\nwhile(!R.isContinuation($ans308)) {\nswitch($step306) {\ncase 0: $ans308 = R.getMaker2(string$dict2,(\"make2\"),L[5],L[6]);\nvar anf_fun74 = $ans308;\n$ans308 = R.getMaker1(list1,(\"make1\"),L[7],L[8]);\nvar anf_fun73 = $ans308;\n$step306 = 1;\n$al309 = L[8];\nif(typeof(anf_fun73.app) !== \"function\") {\nR.ffi.throwNonFunApp($al309,anf_fun73);\n}\n$ans308 = anf_fun73.app((\"A\"));\nbreak;\ncase 1: var anf_arg75 = $ans308;\n$step306 = 2;\n$al309 = L[6];\nif(typeof(anf_fun74.app) !== \"function\") {\nR.ffi.throwNonFunApp($al309,anf_fun74);\n}\n$ans308 = anf_fun74.app((\"1\"),anf_arg75);\nbreak;\ncase 2: var anf_arg87 = $ans308;\n$step306 = 3;\n$al309 = L[4];\n// omitting isFunction check;\n$ans308 = translate1.app(anf_arg87);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans308;\ndefault: R.ffi.throwSpinnakerError(L[4],$step306);\n}\n}\nif($step306 !== 3) {\n$ans308.stack[R.EXN_STACKHEIGHT++] = R.mAR($al309,$temp_lam307,$step306,[],[anf_fun74],$elidedFrames311);\n}\nreturn $ans308;\n};\nvar anf_arg81 = R.mF($temp_lam307,\"\");\nvar $temp_lam314 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__9($$resumer28) {\nvar $step313 = 0;\nvar $elidedFrames318 = 0;\nvar $ans315 = D;\nvar $al316 = L[9];\nif(R.isAR($$resumer28)) {\n$step313 = $$resumer28.step;\n$al316 = $$resumer28.from;\n$ans315 = $$resumer28.ans;\n$elidedFrames318 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[9],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans315 = R.mC();\n}\nwhile(!R.isContinuation($ans315)) {\nswitch($step313) {\ncase 0: $ans315 = R.getMaker2(mutable$string$dict2,(\"make2\"),L[9],L[10]);\nvar anf_fun302 = $ans315;\n$step313 = 1;\n$al316 = L[10];\nif(typeof(anf_fun302.app) !== \"function\") {\nR.ffi.throwNonFunApp($al316,anf_fun302);\n}\n$ans315 = anf_fun302.app((\"a\"),(\"1\"));\nbreak;\ncase 1: ++R.GAS;\nreturn $ans315;\ndefault: R.ffi.throwSpinnakerError(L[9],$step313);\n}\n}\nif($step313 !== 1) {\n$ans315.stack[R.EXN_STACKHEIGHT++] = R.mAR($al316,$temp_lam314,$step313,[],[],$elidedFrames318);\n}\nreturn $ans315;\n};\nvar anf_arg88 = R.mF($temp_lam314,\"\");\n$ans299 = R.makeSrcloc(L[3]);\nvar anf_arg89 = $ans299;\n$step297 = 2;\n$ans299 = R.maybeMethodCall3(anf_method_obj86,\"check-is\",L[3],anf_arg81,anf_arg88,anf_arg89);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans299;\ndefault: R.ffi.throwSpinnakerError(L[2],$step297);\n}\n}\nif($step297 !== 2) {\n$ans299.stack[R.EXN_STACKHEIGHT++] = R.mAR($al300,$temp_lam298,$step297,[],[],$elidedFrames302);\n}\nreturn $ans299;\n};\nvar anf_obj91 = R.mF($temp_lam298,\"\");\n$ans288 = R.makeSrcloc(L[2]);\nvar anf_obj92 = $ans288;\nanf_array413[0] = R.mO({\"name\":(\"single letter\"),\n\"run\":anf_obj91,\n\"keyword-check\":(true),\n\"location\":anf_obj92});\nvar $temp_lam324 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__11($$resumer28) {\nvar $step323 = 0;\nvar $elidedFrames328 = 0;\nvar $ans325 = D;\nvar $al326 = L[11];\nif(R.isAR($$resumer28)) {\n$step323 = $$resumer28.step;\n$al326 = $$resumer28.from;\n$ans325 = $$resumer28.ans;\n$elidedFrames328 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[11],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans325 = R.mC();\n}\nwhile(!R.isContinuation($ans325)) {\nswitch($step323) {\ncase 0: $step323 = 1;\n$al326 = L[12];\nvar $obj329 = R.builtins;\nvar $field330 = R.gCFL($obj329,\"current-checker\",L[12]);\nif(R.isM($field330)) {\n$ans325 = $field330.full_meth($obj329);\n} else {\nif(typeof($field330.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[12],$field330);\n}\n$ans325 = $field330.app();\n}\nbreak;\ncase 1: var anf_method_obj332 = $ans325;\nvar $temp_lam332 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__13($$resumer28) {\nvar $step331 = 0;\nvar $elidedFrames336 = 0;\nvar $ans333 = D;\nvar $al334 = L[13];\nif(R.isAR($$resumer28)) {\n$step331 = $$resumer28.step;\n$al334 = $$resumer28.from;\n$ans333 = $$resumer28.ans;\n$elidedFrames336 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nanf_fun321 = $$resumer28.vars[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[13],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans333 = R.mC();\n}\nwhile(!R.isContinuation($ans333)) {\nswitch($step331) {\ncase 0: $ans333 = R.getMaker2(string$dict2,(\"make2\"),L[14],L[15]);\nvar anf_fun321 = $ans333;\n$ans333 = R.getMaker5(list1,(\"make5\"),L[16],L[17]);\nvar anf_fun327 = $ans333;\n$step331 = 1;\n$al334 = L[17];\nif(typeof(anf_fun327.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun327);\n}\n$ans333 = anf_fun327.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: var anf_arg322 = $ans333;\n$step331 = 2;\n$al334 = L[15];\nif(typeof(anf_fun321.app) !== \"function\") {\nR.ffi.throwNonFunApp($al334,anf_fun321);\n}\n$ans333 = anf_fun321.app((\"1\"),anf_arg322);\nbreak;\ncase 2: var anf_arg330 = $ans333;\n$step331 = 3;\n$al334 = L[13];\n// omitting isFunction check;\n$ans333 = translate1.app(anf_arg330);\nbreak;\ncase 3: ++R.GAS;\nreturn $ans333;\ndefault: R.ffi.throwSpinnakerError(L[13],$step331);\n}\n}\nif($step331 !== 3) {\n$ans333.stack[R.EXN_STACKHEIGHT++] = R.mAR($al334,$temp_lam332,$step331,[],[anf_fun321],$elidedFrames336);\n}\nreturn $ans333;\n};\nvar anf_arg331 = R.mF($temp_lam332,\"\");\nvar $temp_lam339 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__18($$resumer28) {\nvar $step338 = 0;\nvar $elidedFrames343 = 0;\nvar $ans340 = D;\nvar $al341 = L[18];\nif(R.isAR($$resumer28)) {\n$step338 = $$resumer28.step;\n$al341 = $$resumer28.from;\n$ans340 = $$resumer28.ans;\n$elidedFrames343 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[18],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans340 = R.mC();\n}\nwhile(!R.isContinuation($ans340)) {\nswitch($step338) {\ncase 0: $ans340 = R.getMaker(mutable$string$dict2,(\"make\"),L[18],L[19]);\nvar anf_fun336 = $ans340;\n$ans340 = R.makeArrayN((10));\nvar anf_array330 = $ans340;\nanf_array330[0] = (\"a\");\nanf_array330[1] = (\"1\");\nanf_array330[2] = (\"e\");\nanf_array330[3] = (\"1\");\nanf_array330[4] = (\"i\");\nanf_array330[5] = (\"1\");\nanf_array330[6] = (\"o\");\nanf_array330[7] = (\"1\");\nanf_array330[8] = (\"u\");\nanf_array330[9] = (\"1\");\n$step338 = 1;\n$al341 = L[19];\nif(typeof(anf_fun336.app) !== \"function\") {\nR.ffi.throwNonFunApp($al341,anf_fun336);\n}\n$ans340 = anf_fun336.app(anf_array330);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans340;\ndefault: R.ffi.throwSpinnakerError(L[18],$step338);\n}\n}\nif($step338 !== 1) {\n$ans340.stack[R.EXN_STACKHEIGHT++] = R.mAR($al341,$temp_lam339,$step338,[],[],$elidedFrames343);\n}\nreturn $ans340;\n};\nvar anf_arg333 = R.mF($temp_lam339,\"\");\n$ans325 = R.makeSrcloc(L[12]);\nvar anf_arg340 = $ans325;\n$step323 = 2;\n$ans325 = R.maybeMethodCall3(anf_method_obj332,\"check-is\",L[12],anf_arg331,anf_arg333,anf_arg340);\nbreak;\ncase 2: ++R.GAS;\nreturn $ans325;\ndefault: R.ffi.throwSpinnakerError(L[11],$step323);\n}\n}\nif($step323 !== 2) {\n$ans325.stack[R.EXN_STACKHEIGHT++] = R.mAR($al326,$temp_lam324,$step323,[],[],$elidedFrames328);\n}\nreturn $ans325;\n};\nvar anf_obj335 = R.mF($temp_lam324,\"\");\n$ans288 = R.makeSrcloc(L[11]);\nvar anf_obj336 = $ans288;\nanf_array413[1] = R.mO({\"name\":(\"single score with multiple letters\"),\n\"run\":anf_obj335,\n\"keyword-check\":(true),\n\"location\":anf_obj336});\nvar $temp_lam347 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__20($$resumer28) {\nvar $step346 = 0;\nvar $elidedFrames351 = 0;\nvar $ans348 = D;\nvar $al349 = L[20];\nif(R.isAR($$resumer28)) {\n$step346 = $$resumer28.step;\n$al349 = $$resumer28.from;\n$ans348 = $$resumer28.ans;\n$elidedFrames351 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\ninput357 = $$resumer28.vars[0];\nanf_arg354 = $$resumer28.vars[1];\nexpected367 = $$resumer28.vars[2];\nanf_fun349 = $$resumer28.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[20],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans348 = R.mC();\n}\nwhile(!R.isContinuation($ans348)) {\nswitch($step346) {\ncase 0: $ans348 = R.getMaker4(string$dict2,(\"make4\"),L[21],L[22]);\nvar anf_fun349 = $ans348;\n$ans348 = R.getMaker5(list1,(\"make5\"),L[23],L[24]);\nvar anf_fun343 = $ans348;\n$step346 = 1;\n$al349 = L[24];\nif(typeof(anf_fun343.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun343);\n}\n$ans348 = anf_fun343.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: var anf_arg354 = $ans348;\n$ans348 = R.getMaker2(list1,(\"make2\"),L[25],L[26]);\nvar anf_fun344 = $ans348;\n$step346 = 2;\n$al349 = L[26];\nif(typeof(anf_fun344.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun344);\n}\n$ans348 = anf_fun344.app((\"D\"),(\"G\"));\nbreak;\ncase 2: var anf_arg345 = $ans348;\n$step346 = 3;\n$al349 = L[22];\nif(typeof(anf_fun349.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun349);\n}\n$ans348 = anf_fun349.app((\"1\"),anf_arg354,(\"2\"),anf_arg345);\nbreak;\ncase 3: var input357 = $ans348;\n$ans348 = R.getMaker(mutable$string$dict2,(\"make\"),L[27],L[28]);\nvar anf_fun346 = $ans348;\n$ans348 = R.makeArrayN((14));\nvar anf_array347 = $ans348;\nanf_array347[0] = (\"a\");\nanf_array347[1] = (\"1\");\nanf_array347[2] = (\"e\");\nanf_array347[3] = (\"1\");\nanf_array347[4] = (\"i\");\nanf_array347[5] = (\"1\");\nanf_array347[6] = (\"o\");\nanf_array347[7] = (\"1\");\nanf_array347[8] = (\"u\");\nanf_array347[9] = (\"1\");\nanf_array347[10] = (\"d\");\nanf_array347[11] = (\"2\");\nanf_array347[12] = (\"g\");\nanf_array347[13] = (\"2\");\n$step346 = 4;\n$al349 = L[28];\nif(typeof(anf_fun346.app) !== \"function\") {\nR.ffi.throwNonFunApp($al349,anf_fun346);\n}\n$ans348 = anf_fun346.app(anf_array347);\nbreak;\ncase 4: var expected367 = $ans348;\n$step346 = 5;\n$al349 = L[29];\nvar $obj352 = R.builtins;\nvar $field353 = R.gCFL($obj352,\"current-checker\",L[29]);\nif(R.isM($field353)) {\n$ans348 = $field353.full_meth($obj352);\n} else {\nif(typeof($field353.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[29],$field353);\n}\n$ans348 = $field353.app();\n}\nbreak;\ncase 5: var anf_method_obj370 = $ans348;\nvar $temp_lam356 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__30($$resumer28) {\nvar $step355 = 0;\nvar $elidedFrames360 = 0;\nvar $ans357 = D;\nvar $al358 = L[30];\nif(R.isAR($$resumer28)) {\n$step355 = $$resumer28.step;\n$al358 = $$resumer28.from;\n$ans357 = $$resumer28.ans;\n$elidedFrames360 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[30],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans357 = R.mC();\n}\nwhile(!R.isContinuation($ans357)) {\nswitch($step355) {\ncase 0: $step355 = 1;\n$al358 = L[30];\n// omitting isFunction check;\n$ans357 = translate1.app(input357);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans357;\ndefault: R.ffi.throwSpinnakerError(L[30],$step355);\n}\n}\nif($step355 !== 1) {\n$ans357.stack[R.EXN_STACKHEIGHT++] = R.mAR($al358,$temp_lam356,$step355,[],[],$elidedFrames360);\n}\nreturn $ans357;\n};\nvar anf_arg371 = R.mF($temp_lam356,\"\");\nvar $temp_lam363 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__31($$resumer28) {\nvar $step362 = 0;\nvar $elidedFrames367 = 0;\nvar $ans364 = D;\nvar $al365 = L[31];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[31],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans364)) {\nswitch($step362) {\ncase 0: $step362 = 1;\n$ans364 = expected367;\nbreak;\ncase 1: return $ans364;\ndefault: R.ffi.throwSpinnakerError(L[31],$step362);\n}\n}\nreturn $ans364;\n};\nvar anf_arg372 = R.mF($temp_lam363,\"\");\n$ans348 = R.makeSrcloc(L[29]);\nvar anf_arg373 = $ans348;\n$step346 = 6;\n$ans348 = R.maybeMethodCall3(anf_method_obj370,\"check-is\",L[29],anf_arg371,anf_arg372,anf_arg373);\nbreak;\ncase 6: ++R.GAS;\nreturn $ans348;\ndefault: R.ffi.throwSpinnakerError(L[20],$step346);\n}\n}\nif($step346 !== 6) {\n$ans348.stack[R.EXN_STACKHEIGHT++] = R.mAR($al349,$temp_lam347,$step346,[],[input357,anf_arg354,expected367,anf_fun349],$elidedFrames351);\n}\nreturn $ans348;\n};\nvar anf_obj375 = R.mF($temp_lam347,\"\");\n$ans288 = R.makeSrcloc(L[20]);\nvar anf_obj376 = $ans288;\nanf_array413[2] = R.mO({\"name\":(\"multiple scores with multiple letters\"),\n\"run\":anf_obj375,\n\"keyword-check\":(true),\n\"location\":anf_obj376});\nvar $temp_lam374 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__32($$resumer28) {\nvar $step373 = 0;\nvar $elidedFrames378 = 0;\nvar $ans375 = D;\nvar $al376 = L[32];\nif(R.isAR($$resumer28)) {\n$step373 = $$resumer28.step;\n$al376 = $$resumer28.from;\n$ans375 = $$resumer28.ans;\n$elidedFrames378 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\nexpected405 = $$resumer28.vars[0];\ninput395 = $$resumer28.vars[1];\nanf_array385 = $$resumer28.vars[2];\nanf_fun378 = $$resumer28.vars[3];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[32],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans375 = R.mC();\n}\nwhile(!R.isContinuation($ans375)) {\nswitch($step373) {\ncase 0: $ans375 = R.getMaker(string$dict2,(\"make\"),L[33],L[34]);\nvar anf_fun378 = $ans375;\n$ans375 = R.makeArrayN((14));\nvar anf_array385 = $ans375;\nanf_array385[0] = (\"1\");\n$ans375 = R.getMaker5(list1,(\"make5\"),L[35],L[36]);\nvar anf_fun379 = $ans375;\n$step373 = 1;\n$al376 = L[36];\nif(typeof(anf_fun379.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun379);\n}\n$ans375 = anf_fun379.app((\"A\"),(\"E\"),(\"I\"),(\"O\"),(\"U\"));\nbreak;\ncase 1: anf_array385[1] = $ans375;\nanf_array385[2] = (\"2\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[37],L[38]);\nvar anf_fun377 = $ans375;\n$step373 = 2;\n$al376 = L[38];\nif(typeof(anf_fun377.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun377);\n}\n$ans375 = anf_fun377.app((\"D\"),(\"G\"));\nbreak;\ncase 2: anf_array385[3] = $ans375;\nanf_array385[4] = (\"3\");\n$ans375 = R.getMaker4(list1,(\"make4\"),L[39],L[40]);\nvar anf_fun380 = $ans375;\n$step373 = 3;\n$al376 = L[40];\nif(typeof(anf_fun380.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun380);\n}\n$ans375 = anf_fun380.app((\"B\"),(\"C\"),(\"M\"),(\"P\"));\nbreak;\ncase 3: anf_array385[5] = $ans375;\nanf_array385[6] = (\"4\");\n$ans375 = R.getMaker5(list1,(\"make5\"),L[41],L[42]);\nvar anf_fun366 = $ans375;\n$step373 = 4;\n$al376 = L[42];\nif(typeof(anf_fun366.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun366);\n}\n$ans375 = anf_fun366.app((\"F\"),(\"H\"),(\"V\"),(\"W\"),(\"Y\"));\nbreak;\ncase 4: anf_array385[7] = $ans375;\nanf_array385[8] = (\"5\");\n$ans375 = R.getMaker1(list1,(\"make1\"),L[43],L[44]);\nvar anf_fun381 = $ans375;\n$step373 = 5;\n$al376 = L[44];\nif(typeof(anf_fun381.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun381);\n}\n$ans375 = anf_fun381.app((\"K\"));\nbreak;\ncase 5: anf_array385[9] = $ans375;\nanf_array385[10] = (\"8\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[45],L[46]);\nvar anf_fun383 = $ans375;\n$step373 = 6;\n$al376 = L[46];\nif(typeof(anf_fun383.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun383);\n}\n$ans375 = anf_fun383.app((\"J\"),(\"X\"));\nbreak;\ncase 6: anf_array385[11] = $ans375;\nanf_array385[12] = (\"10\");\n$ans375 = R.getMaker2(list1,(\"make2\"),L[47],L[48]);\nvar anf_fun384 = $ans375;\n$step373 = 7;\n$al376 = L[48];\nif(typeof(anf_fun384.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun384);\n}\n$ans375 = anf_fun384.app((\"Q\"),(\"Z\"));\nbreak;\ncase 7: anf_array385[13] = $ans375;\n$step373 = 8;\n$al376 = L[34];\nif(typeof(anf_fun378.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun378);\n}\n$ans375 = anf_fun378.app(anf_array385);\nbreak;\ncase 8: var input395 = $ans375;\n$ans375 = R.getMaker(mutable$string$dict2,(\"make\"),L[49],L[50]);\nvar anf_fun394 = $ans375;\n$ans375 = R.makeArrayN((42));\nvar anf_array395 = $ans375;\nanf_array395[0] = (\"a\");\nanf_array395[1] = (\"1\");\nanf_array395[2] = (\"e\");\nanf_array395[3] = (\"1\");\nanf_array395[4] = (\"i\");\nanf_array395[5] = (\"1\");\nanf_array395[6] = (\"o\");\nanf_array395[7] = (\"1\");\nanf_array395[8] = (\"u\");\nanf_array395[9] = (\"1\");\nanf_array395[10] = (\"d\");\nanf_array395[11] = (\"2\");\nanf_array395[12] = (\"g\");\nanf_array395[13] = (\"2\");\nanf_array395[14] = (\"b\");\nanf_array395[15] = (\"3\");\nanf_array395[16] = (\"c\");\nanf_array395[17] = (\"3\");\nanf_array395[18] = (\"m\");\nanf_array395[19] = (\"3\");\nanf_array395[20] = (\"p\");\nanf_array395[21] = (\"3\");\nanf_array395[22] = (\"f\");\nanf_array395[23] = (\"4\");\nanf_array395[24] = (\"h\");\nanf_array395[25] = (\"4\");\nanf_array395[26] = (\"v\");\nanf_array395[27] = (\"4\");\nanf_array395[28] = (\"w\");\nanf_array395[29] = (\"4\");\nanf_array395[30] = (\"y\");\nanf_array395[31] = (\"4\");\nanf_array395[32] = (\"k\");\nanf_array395[33] = (\"5\");\nanf_array395[34] = (\"j\");\nanf_array395[35] = (\"8\");\nanf_array395[36] = (\"x\");\nanf_array395[37] = (\"8\");\nanf_array395[38] = (\"q\");\nanf_array395[39] = (\"10\");\nanf_array395[40] = (\"z\");\nanf_array395[41] = (\"10\");\n$step373 = 9;\n$al376 = L[50];\nif(typeof(anf_fun394.app) !== \"function\") {\nR.ffi.throwNonFunApp($al376,anf_fun394);\n}\n$ans375 = anf_fun394.app(anf_array395);\nbreak;\ncase 9: var expected405 = $ans375;\n$step373 = 10;\n$al376 = L[51];\nvar $obj379 = R.builtins;\nvar $field380 = R.gCFL($obj379,\"current-checker\",L[51]);\nif(R.isM($field380)) {\n$ans375 = $field380.full_meth($obj379);\n} else {\nif(typeof($field380.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[51],$field380);\n}\n$ans375 = $field380.app();\n}\nbreak;\ncase 10: var anf_method_obj407 = $ans375;\nvar $temp_lam382 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__52($$resumer28) {\nvar $step381 = 0;\nvar $elidedFrames386 = 0;\nvar $ans383 = D;\nvar $al384 = L[52];\nif(R.isAR($$resumer28)) {\n$step381 = $$resumer28.step;\n$al384 = $$resumer28.from;\n$ans383 = $$resumer28.ans;\n$elidedFrames386 = $$resumer28.elidedFrames;\n$resumer28 = $$resumer28.args[0];\n} else {\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[52],0,$t,false);\n}\n}\nif(--R.GAS <= 0 || --R.RUNGAS <= 0) {\nR.EXN_STACKHEIGHT = 0;\n$ans383 = R.mC();\n}\nwhile(!R.isContinuation($ans383)) {\nswitch($step381) {\ncase 0: $step381 = 1;\n$al384 = L[52];\n// omitting isFunction check;\n$ans383 = translate1.app(input395);\nbreak;\ncase 1: ++R.GAS;\nreturn $ans383;\ndefault: R.ffi.throwSpinnakerError(L[52],$step381);\n}\n}\nif($step381 !== 1) {\n$ans383.stack[R.EXN_STACKHEIGHT++] = R.mAR($al384,$temp_lam382,$step381,[],[],$elidedFrames386);\n}\nreturn $ans383;\n};\nvar anf_arg400 = R.mF($temp_lam382,\"\");\nvar $temp_lam392 = function _a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db__53($$resumer28) {\nvar $step391 = 0;\nvar $elidedFrames396 = 0;\nvar $ans393 = D;\nvar $al394 = L[53];\nvar $l = arguments.length;\nif($l !== 0) {\nvar $t = new Array($l);\nfor(var $i = 0;$i < $l;++$i) {\n$t[$i] = arguments[$i];\n}\nR.cAC(L[53],0,$t,false);\n}\n// callee optimization;\nwhile(!R.isContinuation($ans393)) {\nswitch($step391) {\ncase 0: $step391 = 1;\n$ans393 = expected405;\nbreak;\ncase 1: return $ans393;\ndefault: R.ffi.throwSpinnakerError(L[53],$step391);\n}\n}\nreturn $ans393;\n};\nvar anf_arg409 = R.mF($temp_lam392,\"\");\n$ans375 = R.makeSrcloc(L[51]);\nvar anf_arg408 = $ans375;\n$step373 = 11;\n$ans375 = R.maybeMethodCall3(anf_method_obj407,\"check-is\",L[51],anf_arg400,anf_arg409,anf_arg408);\nbreak;\ncase 11: ++R.GAS;\nreturn $ans375;\ndefault: R.ffi.throwSpinnakerError(L[32],$step373);\n}\n}\nif($step373 !== 11) {\n$ans375.stack[R.EXN_STACKHEIGHT++] = R.mAR($al376,$temp_lam374,$step373,[],[expected405,input395,anf_array385,anf_fun378],$elidedFrames378);\n}\nreturn $ans375;\n};\nvar anf_obj411 = R.mF($temp_lam374,\"\");\n$ans288 = R.makeSrcloc(L[32]);\nvar anf_obj412 = $ans288;\nanf_array413[3] = R.mO({\"name\":(\"multiple scores with multiple letters and multiple scores\"),\n\"run\":anf_obj411,\n\"keyword-check\":(true),\n\"location\":anf_obj412});\n$step127 = 3;\n$al289 = L[1];\nvar $obj401 = R.builtins;\nvar $field402 = R.gCFL($obj401,\"raw-array-to-list\",L[1]);\nif(R.isM($field402)) {\n$ans288 = $field402.full_meth($obj401,anf_array413);\n} else {\nif(typeof($field402.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field402);\n}\n$ans288 = $field402.app(anf_array413);\n}\nbreak;\ncase 3: var anf_arg416 = $ans288;\n$step127 = 4;\n$ans288 = R.maybeMethodCall2(anf_method_obj79,\"run-checks\",L[1],(\"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr\"),anf_arg416);\nbreak;\ncase 4: $step127 = 5;\n$al289 = L[1];\nvar $obj403 = R.builtins;\nvar $field404 = R.gCFL($obj403,\"current-checker\",L[1]);\nif(R.isM($field404)) {\n$ans288 = $field404.full_meth($obj403);\n} else {\nif(typeof($field404.app) !== \"function\") {\nR.ffi.throwNonFunApp(L[1],$field404);\n}\n$ans288 = $field404.app();\n}\nbreak;\ncase 5: var anf_method_obj419 = $ans288;\n$step127 = 6;\n$ans288 = R.maybeMethodCall0(anf_method_obj419,\"results\",L[1]);\nbreak;\ncase 6: var checks421 = $ans288;\n$step127 = 7;\n$ans288 = R.mO({\"answer\":result$after$checks1420,\n\"namespace\":NAMESPACE,\n\"locations\":L,\n\"defined-modules\":{\"sets\":sets9,\n\"error\":error5,\n\"option\":option8,\n\"lists\":lists7,\n\"arrays\":arrays2,\n\"$constants\":$constants4,\n\"$base\":$base3,\n\"$global\":$global6},\n\"defined-values\":{},\n\"defined-types\":{},\n\"provide-plus-types\":R.mO({\"values\":R.mO({}),\n\"types\":{},\n\"modules\":{}}),\n\"checks\":checks421});\nbreak;\ncase 7: ++R.GAS;\nreturn $ans288;\ndefault: R.ffi.throwSpinnakerError(L[54],$step127);\n}\n}\nif($step127 !== 7) {\n$ans288.stack[R.EXN_STACKHEIGHT++] = R.mAR($al289,$toplevel128,$step127,[],[anf_method_obj79,result$after$checks1420],$elidedFrames291);\n}\nreturn $ans288;\n};\nreturn R.safeCall($toplevel128,function module_load(moduleVal) {\nR.modules[\"$file:///workspaces/pyret/exercises/practice/etl/etl$test.arr28\"] = moduleVal;\nreturn moduleVal;\n},\"Evaluating $toplevel\");\n}", -"nativeRequires":[], -"provides":{"modules":{}, -"values":{}, -"datatypes":{}, -"aliases":{}}, -"requires":[{"import-type":"builtin", -"name":"arrays"}, -{"import-type":"builtin", -"name":"base"}, -{"import-type":"builtin", -"name":"constants"}, -{"import-type":"builtin", -"name":"error"}, -{"import-type":"builtin", -"name":"global"}, -{"import-type":"builtin", -"name":"lists"}, -{"import-type":"builtin", -"name":"option"}, -{"import-type":"builtin", -"name":"sets"}, -{"import-type":"builtin", -"name":"string-dict"}, -{"import-type":"dependency", -"protocol":"file", -"args":["etl.arr"]}]})}, -"depMap":{"builtin://global":{}, -"builtin://either":{"builtin(global)":"builtin://global"}, -"builtin://error-display":{"builtin(global)":"builtin://global"}, -"builtin://option":{"builtin(global)":"builtin://global"}, -"builtin://valueskeleton":{"builtin(global)":"builtin://global"}, -"builtin://srcloc":{"builtin(global)":"builtin://global", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://error":{"builtin(error-display)":"builtin://error-display", -"builtin(global)":"builtin://global", -"builtin(option)":"builtin://option", -"builtin(srcloc)":"builtin://srcloc", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://equality":{"builtin(error)":"builtin://error", -"builtin(global)":"builtin://global"}, -"builtin://lists":{"builtin(either)":"builtin://either", -"builtin(equality)":"builtin://equality", -"builtin(global)":"builtin://global", -"builtin(option)":"builtin://option", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://arrays":{"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://pick":{"builtin(global)":"builtin://global"}, -"builtin://sets":{"builtin(equality)":"builtin://equality", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(pick)":"builtin://pick", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://contracts":{"builtin(error-display)":"builtin://error-display", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option"}, -"builtin://string-dict":{"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://render-error-display":{"builtin(either)":"builtin://either", -"builtin(error-display)":"builtin://error-display", -"builtin(global)":"builtin://global", -"builtin(option)":"builtin://option", -"builtin(srcloc)":"builtin://srcloc"}, -"builtin://ffi":{"builtin(contracts)":"builtin://contracts", -"builtin(either)":"builtin://either", -"builtin(equality)":"builtin://equality", -"builtin(error)":"builtin://error", -"builtin(error-display)":"builtin://error-display", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option", -"builtin(sets)":"builtin://sets", -"builtin(srcloc)":"builtin://srcloc", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://checker":{"builtin(either)":"builtin://either", -"builtin(equality)":"builtin://equality", -"builtin(error)":"builtin://error", -"builtin(error-display)":"builtin://error-display", -"builtin(ffi)":"builtin://ffi", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option", -"builtin(render-error-display)":"builtin://render-error-display", -"builtin(srcloc)":"builtin://srcloc", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://table":{"builtin(equality)":"builtin://equality", -"builtin(ffi)":"builtin://ffi", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://tables":{"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists"}, -"builtin://reactor-events":{"builtin(global)":"builtin://global"}, -"builtin://reactors":{"builtin(reactor-events)":"builtin://reactor-events", -"builtin(table)":"builtin://table", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"builtin://data-source":{"builtin(global)":"builtin://global", -"builtin(option)":"builtin://option"}, -"builtin://constants":{"builtin(global)":"builtin://global"}, -"builtin://s-exp-structs":{"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists"}, -"builtin://s-exp":{"builtin(s-exp-structs)":"builtin://s-exp-structs"}, -"builtin://base":{"builtin(arrays)":"builtin://arrays", -"builtin(checker)":"builtin://checker", -"builtin(constants)":"builtin://constants", -"builtin(contracts)":"builtin://contracts", -"builtin(data-source)":"builtin://data-source", -"builtin(either)":"builtin://either", -"builtin(equality)":"builtin://equality", -"builtin(error)":"builtin://error", -"builtin(error-display)":"builtin://error-display", -"builtin(ffi)":"builtin://ffi", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option", -"builtin(pick)":"builtin://pick", -"builtin(reactors)":"builtin://reactors", -"builtin(render-error-display)":"builtin://render-error-display", -"builtin(s-exp)":"builtin://s-exp", -"builtin(sets)":"builtin://sets", -"builtin(srcloc)":"builtin://srcloc", -"builtin(string-dict)":"builtin://string-dict", -"builtin(table)":"builtin://table", -"builtin(tables)":"builtin://tables", -"builtin(valueskeleton)":"builtin://valueskeleton"}, -"file:///workspaces/pyret/exercises/practice/etl/etl.arr":{"builtin(arrays)":"builtin://arrays", -"builtin(base)":"builtin://base", -"builtin(constants)":"builtin://constants", -"builtin(error)":"builtin://error", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option", -"builtin(sets)":"builtin://sets", -"builtin(string-dict)":"builtin://string-dict"}, -"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr":{"builtin(arrays)":"builtin://arrays", -"builtin(base)":"builtin://base", -"builtin(constants)":"builtin://constants", -"builtin(error)":"builtin://error", -"builtin(global)":"builtin://global", -"builtin(lists)":"builtin://lists", -"builtin(option)":"builtin://option", -"builtin(sets)":"builtin://sets", -"builtin(string-dict)":"builtin://string-dict", -"file(etl.arr)":"file:///workspaces/pyret/exercises/practice/etl/etl.arr"}}, -"toLoad":["builtin://global","builtin://either","builtin://error-display","builtin://option","builtin://valueskeleton","builtin://srcloc","builtin://error","builtin://equality","builtin://lists","builtin://arrays","builtin://pick","builtin://sets","builtin://contracts","builtin://string-dict","builtin://render-error-display","builtin://ffi","builtin://checker","builtin://table","builtin://tables","builtin://reactor-events","builtin://reactors","builtin://data-source","builtin://constants","builtin://s-exp-structs","builtin://s-exp","builtin://base","file:///workspaces/pyret/exercises/practice/etl/etl.arr","file:///workspaces/pyret/exercises/practice/etl/etl-test.arr"], -"uris":{"63dbd0f07813bfaa79cd9de0fdff53b53a0ec4bb05cfb52a327435decc390b59":"builtin://global", -"3254d9bebe9722a0732cf6a71c06da8ea182466d30b5f8ea68a731f8b684bb9d":"builtin://either", -"45b0b35d49ec67b51e3a0ded92c6872c071def498a08dd02821e6295603cc76e":"builtin://error-display", -"031c137bfbc5a87a6c7b84ff8d85a5e5d52363c3af419df154bc0f07e3bbd645":"builtin://option", -"62d33c401f179ab3bc759ba7cbdb1389b10d38c4c7910bd4746c214e6286ff0f":"builtin://valueskeleton", -"8a093747cc54c9266fb0fef90c9bf8537eb704727d9d840321bd8132b4ea8c2f":"builtin://srcloc", -"9986aca6bfa3e5f533ce6df0d5c8d5b378aaad6773fd396b3d0d628278bf5453":"builtin://error", -"7cdc1a1b9f26bacb085bed9c86e4b5fd3106f7eca9c6b9ba00b6176c198bc115":"builtin://equality", -"848909f63754a080edb923188fa103a988e949ddbad56676e1dd82e254675c7b":"builtin://lists", -"a1e395f8351e984a127eafa9d57d7c774c0dab9e75673fe2fb916756dad996b0":"builtin://arrays", -"4b383c1f9fac586396592050f4f00e6022e3112c9e202bca9e650ceb94846384":"builtin://pick", -"c484db320ae2b7107ce573dc60ed2b7802feef6e023fb9d5b2d395d4106c3275":"builtin://sets", -"935625665f2cd5d5331588222483ca686e83f0edab4eb829298daf34f68a405b":"builtin://contracts", -"e8d3007cbac535b595e70655683a876934ecf3a307ab2d4115ffa914dd011889":"builtin://string-dict", -"4c90135022f2382e652d5d4a6b44d33bb7c4af021545af042a86a8bb00440f96":"builtin://render-error-display", -"db6c2f9817723ebf6fc8a375b59983de450942f6db406a149cd7040f53ddf095":"builtin://ffi", -"87a6d29cadb57d99ecea353caea55134445d06163c8bbe11473760ca1805bb72":"builtin://checker", -"7067bdbcac8eb8b1b8b3c085cf69f2ad489ed9301ad3076df3ee5881c4bd257f":"builtin://table", -"7d67469ce5cff0dbb28120f4de49ed6283aecf04b962ca1832bd76bed343ab0c":"builtin://tables", -"c9eb5880c4f0e1004047a3f7ed661540a2e6b18a193f913ba3dba41146418543":"builtin://reactor-events", -"9ab64718c5223291b20b694148b2e830b4247d9cd4a2aa873cdc1c3f86ac40ee":"builtin://reactors", -"7a2ecdade6b7cf2d6e380ab155f615a79dbaa397c17d57926624b8cdc6d41d72":"builtin://data-source", -"dfb4d9ca770399cae9647bcc1bdacebe80394a45c193f484ed8b969d397487ee":"builtin://constants", -"03a21b609295fa8706921499591c6de05a05276e378ee63ecd3a023126689be0":"builtin://s-exp-structs", -"6c90c8c7901bf89f1ccc6cd3480cc9e7863e3bd36fa5e1d90440757ee55b2c7c":"builtin://s-exp", -"17d273f0ec8b89bb47c40676d0adc211fef13d13830b71c0fbc3c2a24531f9b3":"builtin://base", -"9b3abca5ae1b38866f7d5d901b89502944c0d7dc5ce27681b9e2e40c9d04d517":"file:///workspaces/pyret/exercises/practice/etl/etl.arr", -"a1524cc6f53357efdc33d0efebed9a9351c5ec290dd6cb71c01375a3a7a548db":"file:///workspaces/pyret/exercises/practice/etl/etl-test.arr"}, -"runtimeOptions":{"checks":"all", -"disableAnnotationChecks":false}} -}); -/* -TODO(joe): see how the lack of this interacts with CPO - -if(typeof window === 'undefined') { -var require = require("requirejs"); -} -require(["pyret-base/js/runtime", "pyret-base/js/exn-stack-parser", "program"], function(runtimeLib, stackLib, program) { - -*/ -// TODO: Change to myrequire -requirejs(["pyret-base/js/runtime", "pyret-base/js/post-load-hooks", "pyret-base/js/exn-stack-parser", "program"], function(runtimeLib, loadHooksLib, stackLib, program) { - - var staticModules = program.staticModules; - var depMap = program.depMap; - var toLoad = program.toLoad; - var uris = program.uris; - var realm = { instantiated: {}, static: {}}; - var util = require('util'); // This lets us mimic console.log of fancy objects, while using process.stderr.write - - var main = toLoad[toLoad.length - 1]; - - var runtime = runtimeLib.makeRuntime({ - stdout: function(s) { process.stdout.write(s); }, - stderr: function(s) { process.stderr.write(s); } - }); - - var EXIT_SUCCESS = 0; - var EXIT_ERROR = 1; - var EXIT_ERROR_RENDERING_ERROR = 2; - var EXIT_ERROR_DISPLAYING_ERROR = 3; - var EXIT_ERROR_CHECK_FAILURES = 4; - var EXIT_ERROR_JS = 5; - var EXIT_ERROR_UNKNOWN = 6; - - runtime.setParam("command-line-arguments", process.argv.slice(1)); - - function checkFlag(name) { - return program.runtimeOptions && program.runtimeOptions[name]; - } - - if(checkFlag("disableAnnotationChecks")) { - runtime.checkArgsInternal1 = function() {}; - runtime.checkArgsInternal2 = function() {}; - runtime.checkArgsInternal3 = function() {}; - runtime._checkAnn = function() {}; - } - - var postLoadHooks = loadHooksLib.makeDefaultPostLoadHooks(runtime, {main: main, checkAll: checkFlag("checks") === "all"}); - postLoadHooks[main] = function(answer) { - var checks = checkFlag("checks"); - if(checks && checks === "none") { process.exit(EXIT_SUCCESS); } - var checkerLib = runtime.modules["builtin://checker"]; - var checker = runtime.getField(runtime.getField(checkerLib, "provide-plus-types"), "values"); - var getStack = function(err) { - - err.val.pyretStack = stackLib.convertExceptionToPyretStackTrace(err.val, realm); - - var locArray = err.val.pyretStack.map(runtime.makeSrcloc); - var locList = runtime.ffi.makeList(locArray); - return locList; - }; - var getStackP = runtime.makeFunction(getStack, "get-stack"); - var toCall = runtime.getField(checker, "render-check-results-stack"); - var checks = runtime.getField(answer, "checks"); - return runtime.safeCall(function() { - return toCall.app(checks, getStackP); - }, function(summary) { - // We're technically on the Pyret stack right now, but don't need to be. - // So, pause the stack and switch off Pyret stack management so that the - // use of the callbacks to write (and therefore lack of Pyret return value) - // doesn't screw up Pyret's runtime. - return runtime.pauseStack(function(resumer) { - if(runtime.isObject(summary)) { - var errs = runtime.getField(summary, "errored"); - var failed = runtime.getField(summary, "failed"); - var exitCode = (errs !== 0 || failed !== 0) ? EXIT_ERROR_CHECK_FAILURES : EXIT_SUCCESS; - process.stdout.write(util.format(runtime.getField(summary, "message"))); - process.stdout.write("\n", - function() { process.exit(exitCode); }); - } - // NOTE: Never calls resumer.resume, because there's nothing to do here beside exit - }); - }, "postLoadHooks[main]:render-check-results-stack"); - } - - function renderErrorMessageAndExit(execRt, res) { - if (execRt.isPyretException(res.exn)) { - var rendererrorMod = execRt.modules["builtin://render-error-display"]; - var rendererror = execRt.getField(rendererrorMod, "provide-plus-types"); - var gf = execRt.getField; - var exnStack = res.exn.stack; - - res.exn.pyretStack = stackLib.convertExceptionToPyretStackTrace(res.exn, realm); - - execRt.runThunk( - function() { - if (execRt.isObject(res.exn.exn) && execRt.hasField(res.exn.exn, "render-reason")) { - return execRt.getColonField(res.exn.exn, "render-reason").full_meth(res.exn.exn); - } else { - return execRt.ffi.edEmbed(res.exn.exn); - } - }, - function(reasonResult) { - // This callback is *not* on the Pyret stack, so no need to pause - if (execRt.isFailureResult(reasonResult)) { - process.stderr.write( - "While trying to report that Pyret terminated with an error:\n" + JSON.stringify(res) - + "\nPyret encountered an error rendering that error:\n" + JSON.stringify(reasonResult) - + "\nStack:\n" + JSON.stringify(exnStack) - + "\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack, true) + "\n", - function() { process.exit(EXIT_ERROR_RENDERING_ERROR); }); - } else { - execRt.runThunk( - function() { - var cliRender = execRt.makeFunction(function(val) { - return execRt.toReprJS(val, execRt.ReprMethods["$cli"]); - }, "cliRender"); - return gf(gf(rendererror, "values"), "display-to-string").app( - reasonResult.result, - cliRender, - execRt.ffi.makeList(res.exn.pyretStack.map(execRt.makeSrcloc))); - }, - function(printResult) { - // This callback is *not* on the Pyret stack, so no need to pause - if(execRt.isSuccessResult(printResult)) { - process.stderr.write(util.format(printResult.result)); - process.stderr.write("\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack) + "\n", - function() { process.exit(EXIT_ERROR); }); - } else { - process.stderr.write( - "While trying to report that Pyret terminated with an error:\n" + JSON.stringify(res) - + "\ndisplaying that error produced another error:\n" + JSON.stringify(printResult) - + "\nStack:\n" + JSON.stringify(exnStack) - + "\nPyret stack:\n" + execRt.printPyretStack(res.exn.pyretStack, true) + "\n", - function() { process.exit(EXIT_ERROR_DISPLAYING_ERROR); }); - } - }, "errordisplay->to-string"); - } - }, "error->display"); - } else if (res.exn && res.exn.stack) { - process.stderr.write("Abstraction breaking: Uncaught JavaScript error:\n" + util.format(res.exn)); - process.stderr.write("Stack trace:\n" + util.format(res.exn.stack) + "\n", - function() { process.exit(EXIT_ERROR_JS); }); - } else { - process.stderr.write("Unknown error result: " + util.format(res.exn) + "\n", - function() { process.exit(EXIT_ERROR_UNKNOWN); }); - } - } - - function isExit(execRt, result) { - var exn = result.exn.exn; - return execRt.ffi.isExit(exn) || execRt.ffi.isExitQuiet(exn); - } - - function processExit(execRt, exn) { - var exitCode = execRt.getField(exn, "code"); - if (execRt.ffi.isExit(exn)) { - var message = "Exited with code " + exitCode.toString() + "\n"; - process.stdout.write(message); - } - process.stdout.write("", function() { process.exit(exitCode); }); - } - - function onComplete(result) { - // This function is *not* on the Pyret stack, so no need to pause - if(runtime.isSuccessResult(result)) { - //console.log("The program completed successfully"); - //console.log(result); - process.exit(EXIT_SUCCESS); - } - else if (runtime.isFailureResult(result)) { - if (runtime.isPyretException(result.exn) && isExit(runtime, result)) { - processExit(runtime, result.exn.exn); - } else { - process.stderr.write("The run ended in error:\n"); - try { - renderErrorMessageAndExit(runtime, result); - } catch(e) { - process.stderr.write("EXCEPTION!\n" + util.format(e) + "\n", - function() { process.exit(EXIT_ERROR_JS); }); - } - } - } else { - process.stderr.write("The run ended in an unknown error:\n" + util.format(result) + "\n"); - process.stderr.write(result.exn.stack, - function() { process.exit(EXIT_ERROR_UNKNOWN); }); - } - } - - return runtime.runThunk(function() { - runtime.modules = realm.instantiated; - return runtime.runStandalone(staticModules, realm, depMap, toLoad, postLoadHooks); - }, onComplete); -}); From 01cd37440ed6eea76fdd5a0902a330e839f7636c Mon Sep 17 00:00:00 2001 From: Andras Nagy Date: Fri, 30 Jun 2023 17:41:22 -0700 Subject: [PATCH 012/244] Update gitignore to ignore Pyret compilaton files. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 6a513a0..8e8d1e4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .DS_Store bin/configlet bin/configlet.exe +.pyret/ +*.jarr From 64905e0e9d5d25ca980a924983ade0890647ea88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 1 Jul 2023 21:47:19 -0700 Subject: [PATCH 013/244] Initial implementation of raindrops (#27) --- config.json | 9 +++ .../practice/raindrops/.docs/instructions.md | 20 +++++ .../practice/raindrops/.meta/config.json | 19 +++++ .../practice/raindrops/.meta/example.arr | 23 ++++++ exercises/practice/raindrops/.meta/tests.toml | 64 ++++++++++++++++ .../practice/raindrops/raindrops-test.arr | 73 +++++++++++++++++++ exercises/practice/raindrops/raindrops.arr | 5 ++ 7 files changed, 213 insertions(+) create mode 100644 exercises/practice/raindrops/.docs/instructions.md create mode 100644 exercises/practice/raindrops/.meta/config.json create mode 100644 exercises/practice/raindrops/.meta/example.arr create mode 100644 exercises/practice/raindrops/.meta/tests.toml create mode 100644 exercises/practice/raindrops/raindrops-test.arr create mode 100644 exercises/practice/raindrops/raindrops.arr diff --git a/config.json b/config.json index 6ede45b..55d4f8a 100644 --- a/config.json +++ b/config.json @@ -96,6 +96,15 @@ "prerequisites": [], "difficulty": 3, "status": "beta" + }, + { + "slug": "raindrops", + "name": "Raindrops", + "uuid": "8dcd513e-93f5-499b-a388-0a7f3c7898dd", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" }, { "slug": "resistor-color-duo", diff --git a/exercises/practice/raindrops/.docs/instructions.md b/exercises/practice/raindrops/.docs/instructions.md new file mode 100644 index 0000000..fc61d36 --- /dev/null +++ b/exercises/practice/raindrops/.docs/instructions.md @@ -0,0 +1,20 @@ +# Instructions + +Your task is to convert a number into a string that contains raindrop sounds corresponding to certain potential factors. +A factor is a number that evenly divides into another number, leaving no remainder. +The simplest way to test if one number is a factor of another is to use the [modulo operation][modulo]. + +The rules of `raindrops` are that if a given number: + +- has 3 as a factor, add 'Pling' to the result. +- has 5 as a factor, add 'Plang' to the result. +- has 7 as a factor, add 'Plong' to the result. +- _does not_ have any of 3, 5, or 7 as a factor, the result should be the digits of the number. + +## Examples + +- 28 has 7 as a factor, but not 3 or 5, so the result would be "Plong". +- 30 has both 3 and 5 as factors, but not 7, so the result would be "PlingPlang". +- 34 is not factored by 3, 5, or 7, so the result would be "34". + +[modulo]: https://en.wikipedia.org/wiki/Modulo_operation diff --git a/exercises/practice/raindrops/.meta/config.json b/exercises/practice/raindrops/.meta/config.json new file mode 100644 index 0000000..62e9477 --- /dev/null +++ b/exercises/practice/raindrops/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "raindrops.arr" + ], + "test": [ + "raindrops-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Convert a number to a string, the content of which depends on the number's factors.", + "source": "A variation on FizzBuzz, a famous technical interview question that is intended to weed out potential candidates. That question is itself derived from Fizz Buzz, a popular children's game for teaching division.", + "source_url": "https://en.wikipedia.org/wiki/Fizz_buzz" +} diff --git a/exercises/practice/raindrops/.meta/example.arr b/exercises/practice/raindrops/.meta/example.arr new file mode 100644 index 0000000..8e2a59d --- /dev/null +++ b/exercises/practice/raindrops/.meta/example.arr @@ -0,0 +1,23 @@ +provide: convert end + +RULES = [list: [list: 3, "Pling"], [list: 5, "Plang"], [list: 7, "Plong"]] + +fun convert(n): + + is-divisible-by = lam(f): num-modulo(n, f) == 0 end + + fun check-rules(l, acc): + cases (List) l: + | empty => acc + | link(f, r) => if (is-divisible-by(f.get(0))): f.get(1) + check-rules(r, acc) else: check-rules(r, acc) end + end + end + + sound = check-rules(RULES, "") + + if string-length(sound) == 0: + num-to-string(n) + else: + sound + end +end diff --git a/exercises/practice/raindrops/.meta/tests.toml b/exercises/practice/raindrops/.meta/tests.toml new file mode 100644 index 0000000..756d16c --- /dev/null +++ b/exercises/practice/raindrops/.meta/tests.toml @@ -0,0 +1,64 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[1575d549-e502-46d4-a8e1-6b7bec6123d8] +description = "the sound for 1 is 1" + +[1f51a9f9-4895-4539-b182-d7b0a5ab2913] +description = "the sound for 3 is Pling" + +[2d9bfae5-2b21-4bcd-9629-c8c0e388f3e0] +description = "the sound for 5 is Plang" + +[d7e60daa-32ef-4c23-b688-2abff46c4806] +description = "the sound for 7 is Plong" + +[6bb4947b-a724-430c-923f-f0dc3d62e56a] +description = "the sound for 6 is Pling as it has a factor 3" + +[ce51e0e8-d9d4-446d-9949-96eac4458c2d] +description = "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base" + +[0dd66175-e3e2-47fc-8750-d01739856671] +description = "the sound for 9 is Pling as it has a factor 3" + +[022c44d3-2182-4471-95d7-c575af225c96] +description = "the sound for 10 is Plang as it has a factor 5" + +[37ab74db-fed3-40ff-b7b9-04acdfea8edf] +description = "the sound for 14 is Plong as it has a factor of 7" + +[31f92999-6afb-40ee-9aa4-6d15e3334d0f] +description = "the sound for 15 is PlingPlang as it has factors 3 and 5" + +[ff9bb95d-6361-4602-be2c-653fe5239b54] +description = "the sound for 21 is PlingPlong as it has factors 3 and 7" + +[d2e75317-b72e-40ab-8a64-6734a21dece1] +description = "the sound for 25 is Plang as it has a factor 5" + +[a09c4c58-c662-4e32-97fe-f1501ef7125c] +description = "the sound for 27 is Pling as it has a factor 3" + +[bdf061de-8564-4899-a843-14b48b722789] +description = "the sound for 35 is PlangPlong as it has factors 5 and 7" + +[c4680bee-69ba-439d-99b5-70c5fd1a7a83] +description = "the sound for 49 is Plong as it has a factor 7" + +[17f2bc9a-b65a-4d23-8ccd-266e8c271444] +description = "the sound for 52 is 52" + +[e46677ed-ff1a-419f-a740-5c713d2830e4] +description = "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7" + +[13c6837a-0fcd-4b86-a0eb-20572f7deb0b] +description = "the sound for 3125 is Plang as it has a factor 5" diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr new file mode 100644 index 0000000..6c0b552 --- /dev/null +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -0,0 +1,73 @@ +include file("raindrops.arr") + +check "the sound for 1 is 1": + convert(1) is "1" +end + +check "the sound for 3 is Pling": + convert(3) is "Pling" +end + +check "the sound for 5 is Plang": + convert(5) is "Plang" +end + +check "the sound for 7 is Plong": + convert(7) is "Plong" +end + +check "the sound for 6 is Pling as it has a factor 3": + convert(6) is "Pling" +end + +check "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base": + convert(8) is "8" +end + +check "the sound for 9 is Pling as it has a factor 3": + convert(9) is "Pling" +end + +check "the sound for 10 is Plang as it has a factor 5": + convert(10) is "Plang" +end + +check "the sound for 14 is Plong as it has a factor of 7": + convert(14) is "Plong" +end + +check "the sound for 15 is PlingPlang as it has factors 3 and 5": + convert(15) is "PlingPlang" +end + +check "the sound for 21 is PlingPlong as it has factors 3 and 7": + convert(21) is "PlingPlong" +end + +check "the sound for 25 is Plang as it has a factor 5": + convert(25) is "Plang" +end + +check "the sound for 27 is Pling as it has a factor 3": + convert(27) is "Pling" +end + +check "the sound for 35 is PlangPlong as it has factors 5 and 7": + convert(35) is "PlangPlong" +end + +check "the sound for 49 is Plong as it has a factor 7": + convert(49) is "Plong" +end + +check "the sound for 52 is 52": + convert(52) is "52" +end + +check "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7": + convert(105) is "PlingPlangPlong" +end + +check "the sound for 3125 is Plang as it has a factor 5": + convert(3125) is "Plang" +end diff --git a/exercises/practice/raindrops/raindrops.arr b/exercises/practice/raindrops/raindrops.arr new file mode 100644 index 0000000..67fb75a --- /dev/null +++ b/exercises/practice/raindrops/raindrops.arr @@ -0,0 +1,5 @@ +provide: convert end + +fun convert(n): + raise("Please implement the convert function") +end From e6fdc008efdbd0931a4f0a1ee2cad458c924c42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 1 Jul 2023 22:48:39 -0700 Subject: [PATCH 014/244] Implement D&D Character exercise (#20) --- config.json | 9 ++ .../dnd-character/.docs/instructions.md | 31 +++++++ .../practice/dnd-character/.meta/config.json | 19 ++++ .../practice/dnd-character/.meta/example.arr | 21 +++++ .../practice/dnd-character/.meta/tests.toml | 67 ++++++++++++++ .../dnd-character/dnd-character-test.arr | 89 +++++++++++++++++++ .../practice/dnd-character/dnd-character.arr | 3 + 7 files changed, 239 insertions(+) create mode 100644 exercises/practice/dnd-character/.docs/instructions.md create mode 100644 exercises/practice/dnd-character/.meta/config.json create mode 100644 exercises/practice/dnd-character/.meta/example.arr create mode 100644 exercises/practice/dnd-character/.meta/tests.toml create mode 100644 exercises/practice/dnd-character/dnd-character-test.arr create mode 100644 exercises/practice/dnd-character/dnd-character.arr diff --git a/config.json b/config.json index 55d4f8a..9f4f531 100644 --- a/config.json +++ b/config.json @@ -124,6 +124,15 @@ "difficulty": 3, "topics": null }, + { + "slug": "dnd-character", + "name": "D&D Character", + "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", + "practices": [], + "prerequisites": [], + "difficulty": 5, + "status": "beta" + }, { "slug": "darts", "name": "Darts", diff --git a/exercises/practice/dnd-character/.docs/instructions.md b/exercises/practice/dnd-character/.docs/instructions.md new file mode 100644 index 0000000..b0a6035 --- /dev/null +++ b/exercises/practice/dnd-character/.docs/instructions.md @@ -0,0 +1,31 @@ +# Instructions + +For a game of [Dungeons & Dragons][dnd], each player starts by generating a character they can play with. +This character has, among other things, six abilities; strength, dexterity, constitution, intelligence, wisdom and charisma. +These six abilities have scores that are determined randomly. +You do this by rolling four 6-sided dice and record the sum of the largest three dice. +You do this six times, once for each ability. + +Your character's initial hitpoints are 10 + your character's constitution modifier. +You find your character's constitution modifier by subtracting 10 from your character's constitution, divide by 2 and round down. + +Write a random character generator that follows the rules above. + +For example, the six throws of four dice may look like: + +- 5, 3, 1, 6: You discard the 1 and sum 5 + 3 + 6 = 14, which you assign to strength. +- 3, 2, 5, 3: You discard the 2 and sum 3 + 5 + 3 = 11, which you assign to dexterity. +- 1, 1, 1, 1: You discard the 1 and sum 1 + 1 + 1 = 3, which you assign to constitution. +- 2, 1, 6, 6: You discard the 1 and sum 2 + 6 + 6 = 14, which you assign to intelligence. +- 3, 5, 3, 4: You discard the 3 and sum 5 + 3 + 4 = 12, which you assign to wisdom. +- 6, 6, 6, 6: You discard the 6 and sum 6 + 6 + 6 = 18, which you assign to charisma. + +Because constitution is 3, the constitution modifier is -4 and the hitpoints are 6. + +## Notes + +Most programming languages feature (pseudo-)random generators, but few programming languages are designed to roll dice. +One such language is [Troll][troll]. + +[dnd]: https://en.wikipedia.org/wiki/Dungeons_%26_Dragons +[troll]: https://di.ku.dk/Ansatte/?pure=da%2Fpublications%2Ftroll-a-language-for-specifying-dicerolls(84a45ff0-068b-11df-825d-000ea68e967b)%2Fexport.html diff --git a/exercises/practice/dnd-character/.meta/config.json b/exercises/practice/dnd-character/.meta/config.json new file mode 100644 index 0000000..1d332bf --- /dev/null +++ b/exercises/practice/dnd-character/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "dnd-character.arr" + ], + "test": [ + "dnd-character-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Randomly generate Dungeons & Dragons characters.", + "source": "Simon Shine, Erik Schierboom", + "source_url": "https://github.com/exercism/problem-specifications/issues/616#issuecomment-437358945" +} diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr new file mode 100644 index 0000000..19f614a --- /dev/null +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -0,0 +1,21 @@ +provide: character, modifier, ability end + +modifier = lam(value): num-floor((value - 10) / 2) end +ability = lam(): + roll-dice = lam(_): num-random(5) + 1 end + rolls = map(roll-dice, repeat(4, 0)) + rolls.sort().drop(1).foldl(lam(elt, acc): elt + acc end, 0) +end + +character = lam(): + constitution = ability() + { + strength: ability(), + dexterity: ability(), + constitution: constitution, + intelligence: ability(), + wisdom: ability(), + charisma: ability(), + hitpoints: modifier(constitution) + } +end diff --git a/exercises/practice/dnd-character/.meta/tests.toml b/exercises/practice/dnd-character/.meta/tests.toml new file mode 100644 index 0000000..2b04dd3 --- /dev/null +++ b/exercises/practice/dnd-character/.meta/tests.toml @@ -0,0 +1,67 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[1e9ae1dc-35bd-43ba-aa08-e4b94c20fa37] +description = "ability modifier -> ability modifier for score 3 is -4" + +[cc9bb24e-56b8-4e9e-989d-a0d1a29ebb9c] +description = "ability modifier -> ability modifier for score 4 is -3" + +[5b519fcd-6946-41ee-91fe-34b4f9808326] +description = "ability modifier -> ability modifier for score 5 is -3" + +[dc2913bd-6d7a-402e-b1e2-6d568b1cbe21] +description = "ability modifier -> ability modifier for score 6 is -2" + +[099440f5-0d66-4b1a-8a10-8f3a03cc499f] +description = "ability modifier -> ability modifier for score 7 is -2" + +[cfda6e5c-3489-42f0-b22b-4acb47084df0] +description = "ability modifier -> ability modifier for score 8 is -1" + +[c70f0507-fa7e-4228-8463-858bfbba1754] +description = "ability modifier -> ability modifier for score 9 is -1" + +[6f4e6c88-1cd9-46a0-92b8-db4a99b372f7] +description = "ability modifier -> ability modifier for score 10 is 0" + +[e00d9e5c-63c8-413f-879d-cd9be9697097] +description = "ability modifier -> ability modifier for score 11 is 0" + +[eea06f3c-8de0-45e7-9d9d-b8cab4179715] +description = "ability modifier -> ability modifier for score 12 is +1" + +[9c51f6be-db72-4af7-92ac-b293a02c0dcd] +description = "ability modifier -> ability modifier for score 13 is +1" + +[94053a5d-53b6-4efc-b669-a8b5098f7762] +description = "ability modifier -> ability modifier for score 14 is +2" + +[8c33e7ca-3f9f-4820-8ab3-65f2c9e2f0e2] +description = "ability modifier -> ability modifier for score 15 is +2" + +[c3ec871e-1791-44d0-b3cc-77e5fb4cd33d] +description = "ability modifier -> ability modifier for score 16 is +3" + +[3d053cee-2888-4616-b9fd-602a3b1efff4] +description = "ability modifier -> ability modifier for score 17 is +3" + +[bafd997a-e852-4e56-9f65-14b60261faee] +description = "ability modifier -> ability modifier for score 18 is +4" + +[4f28f19c-2e47-4453-a46a-c0d365259c14] +description = "random ability is within range" + +[385d7e72-864f-4e88-8279-81a7d75b04ad] +description = "random character is valid" + +[2ca77b9b-c099-46c3-a02c-0d0f68ffa0fe] +description = "each ability is only calculated once" diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr new file mode 100644 index 0000000..22c4291 --- /dev/null +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -0,0 +1,89 @@ +include file("dnd-character.arr") + +check "ability modifier -> ability modifier for score 3 is -4": + modifier(3) is -4 +end + +check "ability modifier -> ability modifier for score 4 is -3": + modifier(4) is -3 +end + +check "ability modifier -> ability modifier for score 5 is -3": + modifier(5) is -3 +end + +check "ability modifier -> ability modifier for score 6 is -2": + modifier(6) is -2 +end + +check "ability modifier -> ability modifier for score 7 is -2": + modifier(7) is -2 +end + +check "ability modifier -> ability modifier for score 8 is -1": + modifier(8) is -1 +end + +check "ability modifier -> ability modifier for score 9 is -1": + modifier(9) is -1 +end + +check "ability modifier -> ability modifier for score 10 is 0": + modifier(10) is 0 +end + +check "ability modifier -> ability modifier for score 11 is 0": + modifier(11) is 0 +end + +check "ability modifier -> ability modifier for score 12 is +1": + modifier(12) is 1 +end + +check "ability modifier -> ability modifier for score 13 is +1": + modifier(13) is 1 +end + +check "ability modifier -> ability modifier for score 14 is +2": + modifier(14) is 2 +end + +check "ability modifier -> ability modifier for score 15 is +2": + modifier(15) is 2 +end + +check "ability modifier -> ability modifier for score 16 is +3": + modifier(16) is 3 +end + +check "ability modifier -> ability modifier for score 17 is +3": + modifier(17) is 3 +end + +check "ability modifier -> ability modifier for score 18 is +4": + modifier(18) is 4 +end + +check "random ability is within range": + is-valid = lam(stat): (stat >= 3) and (stat <= 18) end + stat = ability() + is-valid(stat) is true +end + +check "random character is valid": + is-valid = lam(stat): (stat >= 3) and (stat <= 18) end + char = character() + is-valid(char.strength) is true + is-valid(char.dexterity) is true + is-valid(char.constitution) is true + is-valid(char.intelligence) is true + is-valid(char.wisdom) is true + is-valid(char.charisma) is true + + (char.hitpoints == modifier(char.constitution)) is true +end + +check "each ability is only calculated once": + char = character() + (char.strength == char.strength) is true +end diff --git a/exercises/practice/dnd-character/dnd-character.arr b/exercises/practice/dnd-character/dnd-character.arr new file mode 100644 index 0000000..1c061f9 --- /dev/null +++ b/exercises/practice/dnd-character/dnd-character.arr @@ -0,0 +1,3 @@ +provide: character, modifier, ability end + +# Implement the character, modifier, and ability functions \ No newline at end of file From f65a550637019907f2d61bccaba4caa3a02618b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 1 Jul 2023 23:19:14 -0700 Subject: [PATCH 015/244] Add space age exercise (#28) --- config.json | 9 +++++ .../practice/space-age/.docs/instructions.md | 25 +++++++++++++ .../practice/space-age/.meta/config.json | 19 ++++++++++ .../practice/space-age/.meta/example.arr | 25 +++++++++++++ exercises/practice/space-age/.meta/tests.toml | 37 +++++++++++++++++++ .../practice/space-age/space-age-test.arr | 37 +++++++++++++++++++ exercises/practice/space-age/space-age.arr | 5 +++ 7 files changed, 157 insertions(+) create mode 100644 exercises/practice/space-age/.docs/instructions.md create mode 100644 exercises/practice/space-age/.meta/config.json create mode 100644 exercises/practice/space-age/.meta/example.arr create mode 100644 exercises/practice/space-age/.meta/tests.toml create mode 100644 exercises/practice/space-age/space-age-test.arr create mode 100644 exercises/practice/space-age/space-age.arr diff --git a/config.json b/config.json index 9f4f531..276a391 100644 --- a/config.json +++ b/config.json @@ -88,6 +88,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "space-age", + "name": "Space Age", + "uuid": "fcdf45a2-a72c-4983-8271-ca9276467f98", + "practices": [], + "prerequisites": [], + "difficulty": 2, + "status": "beta" + }, { "slug": "collatz-conjecture", "name": "Collatz Conjecture", diff --git a/exercises/practice/space-age/.docs/instructions.md b/exercises/practice/space-age/.docs/instructions.md new file mode 100644 index 0000000..fe938cc --- /dev/null +++ b/exercises/practice/space-age/.docs/instructions.md @@ -0,0 +1,25 @@ +# Instructions + +Given an age in seconds, calculate how old someone would be on: + +- Mercury: orbital period 0.2408467 Earth years +- Venus: orbital period 0.61519726 Earth years +- Earth: orbital period 1.0 Earth years, 365.25 Earth days, or 31557600 seconds +- Mars: orbital period 1.8808158 Earth years +- Jupiter: orbital period 11.862615 Earth years +- Saturn: orbital period 29.447498 Earth years +- Uranus: orbital period 84.016846 Earth years +- Neptune: orbital period 164.79132 Earth years + +So if you were told someone were 1,000,000,000 seconds old, you should +be able to say that they're 31.69 Earth-years old. + +If you're wondering why Pluto didn't make the cut, go watch [this YouTube video][pluto-video]. + +Note: The actual length of one complete orbit of the Earth around the sun is closer to 365.256 days (1 sidereal year). +The Gregorian calendar has, on average, 365.2425 days. +While not entirely accurate, 365.25 is the value used in this exercise. +See [Year on Wikipedia][year] for more ways to measure a year. + +[pluto-video]: https://www.youtube.com/watch?v=Z_2gbGXzFbs +[year]: https://en.wikipedia.org/wiki/Year#Summary diff --git a/exercises/practice/space-age/.meta/config.json b/exercises/practice/space-age/.meta/config.json new file mode 100644 index 0000000..9d256a7 --- /dev/null +++ b/exercises/practice/space-age/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "space-age.arr" + ], + "test": [ + "space-age-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.", + "source": "Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial.", + "source_url": "https://pine.fm/LearnToProgram/?Chapter=01" +} diff --git a/exercises/practice/space-age/.meta/example.arr b/exercises/practice/space-age/.meta/example.arr new file mode 100644 index 0000000..4c20427 --- /dev/null +++ b/exercises/practice/space-age/.meta/example.arr @@ -0,0 +1,25 @@ +provide: on-planet end + +include string-dict + +EARTH-SECONDS = 31557600 + +ORBITAL-RATIOS = [string-dict: + "Mercury", 0.2408467, + "Venus", 0.61519726, + "Earth", 1.00, + "Mars", 1.8808158, + "Jupiter", 11.862615, + "Saturn", 29.447498, + "Uranus", 84.016846, + "Neptune", 164.79132 +] + +fun on-planet(planet, seconds): + cases(Option) ORBITAL-RATIOS.get(planet): + | none => raise("not a planet") + | some(ratio) => + value = ((seconds / EARTH-SECONDS) / ratio) + num-round(value * 100) / 100 + end +end \ No newline at end of file diff --git a/exercises/practice/space-age/.meta/tests.toml b/exercises/practice/space-age/.meta/tests.toml new file mode 100644 index 0000000..7957bb7 --- /dev/null +++ b/exercises/practice/space-age/.meta/tests.toml @@ -0,0 +1,37 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[84f609af-5a91-4d68-90a3-9e32d8a5cd34] +description = "age on Earth" + +[ca20c4e9-6054-458c-9312-79679ffab40b] +description = "age on Mercury" + +[502c6529-fd1b-41d3-8fab-65e03082b024] +description = "age on Venus" + +[9ceadf5e-a0d5-4388-9d40-2c459227ceb8] +description = "age on Mars" + +[42927dc3-fe5e-4f76-a5b5-f737fc19bcde] +description = "age on Jupiter" + +[8469b332-7837-4ada-b27c-00ee043ebcad] +description = "age on Saturn" + +[999354c1-76f8-4bb5-a672-f317b6436743] +description = "age on Uranus" + +[80096d30-a0d4-4449-903e-a381178355d8] +description = "age on Neptune" + +[57b96e2a-1178-40b7-b34d-f3c9c34e4bf4] +description = "invalid planet causes error" diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr new file mode 100644 index 0000000..426d907 --- /dev/null +++ b/exercises/practice/space-age/space-age-test.arr @@ -0,0 +1,37 @@ +include file("space-age.arr") + +check "age on Earth": + on-planet("Earth", 1000000000) is 31.69 +end + +check "age on Mercury": + on-planet("Mercury", 2134835688) is 280.88 +end + +check "age on Venus": + on-planet("Venus", 189839836) is 9.78 +end + +check "age on Mars": + on-planet("Mars", 2129871239) is 35.88 +end + +check "age on Jupiter": + on-planet("Jupiter", 901876382) is 2.41 +end + +check "age on Saturn": + on-planet("Saturn", 2000000000) is 2.15 +end + +check "age on Uranus": + on-planet("Uranus", 1210123456) is 0.46 +end + +check "age on Neptune": + on-planet("Neptune", 1821023456) is 0.35 +end + +check "invalid planet causes error": + on-planet("Sun", 680804807) raises "not a planet" +end \ No newline at end of file diff --git a/exercises/practice/space-age/space-age.arr b/exercises/practice/space-age/space-age.arr new file mode 100644 index 0000000..3b94049 --- /dev/null +++ b/exercises/practice/space-age/space-age.arr @@ -0,0 +1,5 @@ +provide: on-planet end + +fun on-planet(planet, seconds): + raise("Implement the on-planet function") +end From b5e6714f87b3e3b13245b071c2e61a43488f22ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 3 Jul 2023 22:44:55 -0700 Subject: [PATCH 016/244] Initial track docs (#29) --- docs/ABOUT.md | 13 +---- docs/INSTALLATION.md | 17 ++++--- docs/LEARNING.md | 15 ++---- docs/RESOURCES.md | 16 ++----- docs/SNIPPET.txt | 4 +- docs/TESTS.md | 110 +++++++++++++++++++++++++++++++++++++++---- 6 files changed, 123 insertions(+), 52 deletions(-) diff --git a/docs/ABOUT.md b/docs/ABOUT.md index 9864ed0..abbbf95 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -1,14 +1,3 @@ # About - +Inspired by the How to Design Programs (HtDP) textbook, Pyret is a multi-paradigm programming language, explicitly designed as an introductory language for students ranging from American grade school to college. This includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available online and offline, it can be easily used on many platforms. diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index cd6ce85..6c31bae 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,15 +1,14 @@ # Installation - +[node-js]: https://nodejs.org/en/download +[pyret-npm]: https://npm.io/package/pyret-npm +[cpo]: https://code.pyret.org/editor +[atom-language-pyret]: https://github.com/brownplt/atom-language-pyret +[vscode-pyret]: https://marketplace.visualstudio.com/items?itemName=SethPoulsen.vscode-language-pyret \ No newline at end of file diff --git a/docs/LEARNING.md b/docs/LEARNING.md index b14434d..ed9d591 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -1,13 +1,6 @@ # Learning - +Besides Exercism's exercises and mentoring, here are some other resources from the PLT group at Brown University and academics around the world. +* [A Data-Centric Introduction to Computing][https://dcic-world.org/] +* [Programming and Programming Languages][https://papl.cs.brown.edu/2020/] +* [Grade 7 - 12 Lesson Plans for Bootstrap:Data Science][https://www.bootstrapworld.org/materials/fall2023/en-us/courses/data-science/] \ No newline at end of file diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index 9811f04..766908b 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -1,13 +1,7 @@ # Resources - +* [Official Pyret Documentation][https://pyret.org/docs/latest/] +* [Official Pyret Online Editor][https://code.pyret.org/editor] +* [Pyret Discuss on Google Groups][https://groups.google.com/g/pyret-discuss] +* [Pyret Twitter][https://twitter.com/pyretlang] +* [Pyret Discord][https://discord.gg/9nFHuaBp] \ No newline at end of file diff --git a/docs/SNIPPET.txt b/docs/SNIPPET.txt index 4b4a4f0..ddb36bc 100644 --- a/docs/SNIPPET.txt +++ b/docs/SNIPPET.txt @@ -1 +1,3 @@ -TODO: add snippet +fun hello(name): + "Hello, " + name + "!" +end \ No newline at end of file diff --git a/docs/TESTS.md b/docs/TESTS.md index bec9502..3819b73 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,15 +1,109 @@ # Tests +Execute the tests by passing the location of the test as a relative path to `pyret`: +`$ pyret relative/path/to/example-test.arr` - +print(add-two-number(1, 2)) +"I'm in a function!" +3 +``` + +A more convenient approach is to use a [`spy statement`][spy-statement] which prints the contents and line numbers of the passed values. It doesn't require the block keyword to be used. + +```pyret +fun add-two-numbers(number1, number2): + spy: number1, number2 end + number1 + number2 +end + +print(add-two-numbers(1, 2)) +Spying (at .../add-two-numbers.arr:2:2-2:27) + number1: 1 + number2: 2 +3 +``` + +A label can also be used: + +```pyret +fun add-two-numbers(number1, number2): + spy "adding two": number1, number2 end + number1 + number2 +end + +print(add-two-numbers(1, 2)) +Spying "adding two" (at .../add-two-numbers.arr:2:2-2:27) + number1: 1 + number2: 2 +3 +``` + +You can also use multiple spies: + +```pyret +fun do-math(number1, number2): + added = number1 + number2 + subtracted = number1 - number2 + spy "args": number1, number2 end + spy "adding": added end + spy "subtracting": subtracted end + true +end + +print(do-math(1, 2)) +Spying "args" (at .../math.arr:4:2-4:36) + number1: 1 + number2: 2 +Spying "adding" (at .../math.arr:5:2-5:25) + added: 3 +Spying "subtracting" (at .../math.arr:6:2-6:35) + subtracted: -1 +true +``` + + + +# Notes +Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. + +To export bindings, you need to add a [`provide statement`][provide-statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing][shadowing] which Pyret does not allow. + +To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. It is an error to try and provide + +```pyret +provide-types * + +data Point: + | two-dim(x, y) + | three-dim(x, y, z) +end +``` + +All exercise stubs will have either `provide` or `provide-types` statements set up for your use. + +[print]: https://pyret.org/docs/latest/_global_.html#%28part._~3cglobal~3e_print%29 +[spy-statement]: https://pyret.org/docs/latest/s_spies.html +[provide-statement]: https://pyret.org/docs/latest/Provide_Statements.html +[shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 From 9ebe487a01a0c0a6952530d38b5210f08c4227d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 4 Jul 2023 19:14:33 -0700 Subject: [PATCH 017/244] shared docs for exercises (#30) --- exercises/shared/.docs/debug.md | 130 ++++++++++++++++++++++++++++++++ exercises/shared/.docs/help.md | 24 ++---- exercises/shared/.docs/tests.md | 34 +++++++-- 3 files changed, 162 insertions(+), 26 deletions(-) create mode 100644 exercises/shared/.docs/debug.md diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md new file mode 100644 index 0000000..c1d6414 --- /dev/null +++ b/exercises/shared/.docs/debug.md @@ -0,0 +1,130 @@ +# Debug + +To help with debugging, you can use the fact that any console output will be shown in the test results window. You can write to the console using a [print][print] expression: + +```pyret +print("Debug message") +# "Debug message" +``` + +However, this can be unwieldly because Pyret by default only allows a single expression in a block. You'd need to use the `block` keyword to allow multiple expressions. + +```pyret +fun do-something(): + print("Debug message") + # do something else +end + +do_something() # won't compile +``` + +```pyret +fun do-something(): + block: + print("Debug message") + # do something else + end +end + +do_something() # will compile +# "Debug message" +``` + +## Spies +Considering these limitations, a [spy][spy] is often recommended: + +```pyret +fun do-something(): + foo = "something" + spy: foo end + # do something else +end + +do_something() +# Spying (at .../example.arr:3:4-3:14) +# foo: "something" +``` + +A spy takes a binding and reports the file the spy is in, the line and column numbers for the spy, and then the name and value for that binding. Optionally, it takes a label. You can also spy on multiple bindings at once or use multiple spies in a block. + +```pyret +fun do-something(): + foo = "something" + bar = 3 + spy "multiple bindings": foo, bar end + # do something else +end + +do_something() +# Spying "multiple bindings" (at .../example.arr:4:4-4:41) +# foo: "something" +# bar: 3 +``` + +```pyret +fun do-something(): + foo = "something" + bar = 3 + spy "foo": foo end + spy "bar": bar end + # do something else +end + +do_something() +# Spying "foo" (at .../example.arr:4:4-4:22) +# foo: "something" +# Spying "bar" (at .../example.arr:5:4-5:22) +# bar: 3 +``` + +## Changing a custom representation +Pyret by default uses a representation of a value that can be used to create the value you're printing. This means you could paste the output back into Pyret code and have it execute. + +However, this is a problem when you're working with [data declarations][data-declarations], because what gets printed then is the data variant used to construct the value. In such a situation, you'd likely need to override this string representation to provide more meaningful information. + +This can be done by implementing a `_output` method which tells Pyret how to display the value. Pyret will expect an internal `ValueSkeleton` variant to be returned by this method so you can use `vs-value` or `vs-str`. The `vs-value` variant accepts any value, properly escaping characters and adding quote marks for strings. `vs-str` on the other hand only accepts strings and will print characters exactly as written. + +```pyret +data Data: + | foo(str) with: + method change-to-bar(self): bar(self.str) end + | bar(str) +end + +example-foo = foo("a") +example-bar = bar("a") +example-foo-to-bar = example-foo.change-to-bar() +spy "examples": example-foo, example-bar, example-foo-to-bar end + +# Spying "examples" (at .../example.arr:10:0-10:64) +# example-foo: foo("a") +# example-bar: bar("a") +# example-foo-to-bar: bar("a") +``` + +```pyret +import valueskeleton as VS + +data Data: + | foo-A() with: + method _output(self): VS.vs-str("\\") end + | foo-B() with: + method _output(self): VS.vs-value("\\") end + | foo-C() with: + method _output(self): VS.vs-value(100) end +end + +a = foo-A() +b = foo-B() +c = foo-C() +spy: a, b, c end + +# Spying (at .../example.arr:17:0-17:16) +# a: \ +# b: "\\" +# c: 100 +``` + +[print]: "https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29" +[spy]: "https://pyret.org/docs/latest/s_spies.html" +[data-declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" \ No newline at end of file diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index 45aa2d6..01cf8d4 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -1,21 +1,9 @@ # Help - +* [Official Pyret Documentation](https://pyret.org/docs/latest/) +* [Official Pyret Online Editor](https://code.pyret.org/editor) +* [Pyret Discuss on Google Groups](https://groups.google.com/g/pyret-discuss) +* [Pyret Twitter](https://twitter.com/pyretlang) +* [Pyret Discord](https://discord.gg/9nFHuaBp) diff --git a/exercises/shared/.docs/tests.md b/exercises/shared/.docs/tests.md index 1f197bf..7b3df1b 100644 --- a/exercises/shared/.docs/tests.md +++ b/exercises/shared/.docs/tests.md @@ -1,15 +1,33 @@ # Tests - +Windows +```powershell +PS C:\Users\foobar\Exercism\pyret\exercise> pyret {exercise-test.arr} +2/2 modules compiled ({exercise-test.arr}) +Cleaning up and generating standalone... +Looks shipshape, all 9 tests passed, mate! +``` + +[pyret-npm]: "https://www.npmjs.com/package/pyret-npm" \ No newline at end of file From cada2a12fd4dbb1fd51e5986325d0022436169b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 4 Jul 2023 20:25:07 -0700 Subject: [PATCH 018/244] Add secret handshake (#31) --- config.json | 9 ++++ .../secret-handshake/.docs/instructions.md | 48 +++++++++++++++++++ .../secret-handshake/.docs/introduction.md | 7 +++ .../secret-handshake/.meta/config.json | 19 ++++++++ .../secret-handshake/.meta/example.arr | 29 +++++++++++ .../secret-handshake/.meta/tests.toml | 43 +++++++++++++++++ .../secret-handshake-test.arr | 45 +++++++++++++++++ .../secret-handshake/secret-handshake.arr | 5 ++ 8 files changed, 205 insertions(+) create mode 100644 exercises/practice/secret-handshake/.docs/instructions.md create mode 100644 exercises/practice/secret-handshake/.docs/introduction.md create mode 100644 exercises/practice/secret-handshake/.meta/config.json create mode 100644 exercises/practice/secret-handshake/.meta/example.arr create mode 100644 exercises/practice/secret-handshake/.meta/tests.toml create mode 100644 exercises/practice/secret-handshake/secret-handshake-test.arr create mode 100644 exercises/practice/secret-handshake/secret-handshake.arr diff --git a/config.json b/config.json index 276a391..163a9e8 100644 --- a/config.json +++ b/config.json @@ -124,6 +124,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "secret-handshake", + "name": "Secret Handshake", + "uuid": "3a830edd-253c-4889-ad6b-9402fea4af97", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/secret-handshake/.docs/instructions.md b/exercises/practice/secret-handshake/.docs/instructions.md new file mode 100644 index 0000000..d2120b9 --- /dev/null +++ b/exercises/practice/secret-handshake/.docs/instructions.md @@ -0,0 +1,48 @@ +# Instructions + +Your task is to convert a number between 1 and 31 to a sequence of actions in the secret handshake. + +The sequence of actions is chosen by looking at the rightmost five digits of the number once it's been converted to binary. +Start at the right-most digit and move left. + +The actions for each number place are: + +```plaintext +00001 = wink +00010 = double blink +00100 = close your eyes +01000 = jump +10000 = Reverse the order of the operations in the secret handshake. +``` + +Let's use the number `9` as an example: + +- 9 in binary is `1001`. +- The digit that is farthest to the right is 1, so the first action is `wink`. +- Going left, the next digit is 0, so there is no double-blink. +- Going left again, the next digit is 0, so you leave your eyes open. +- Going left again, the next digit is 1, so you jump. + +That was the last digit, so the final code is: + +```plaintext +wink, jump +``` + +Given the number 26, which is `11010` in binary, we get the following actions: + +- double blink +- jump +- reverse actions + +The secret handshake for 26 is therefore: + +```plaintext +jump, double blink +``` + +~~~~exercism/note +If you aren't sure what binary is or how it works, check out [this binary tutorial][intro-to-binary]. + +[intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa +~~~~ diff --git a/exercises/practice/secret-handshake/.docs/introduction.md b/exercises/practice/secret-handshake/.docs/introduction.md new file mode 100644 index 0000000..176b92e --- /dev/null +++ b/exercises/practice/secret-handshake/.docs/introduction.md @@ -0,0 +1,7 @@ +# Introduction + +You are starting a secret coding club with some friends and friends-of-friends. +Not everyone knows each other, so you and your friends have decided to create a secret handshake that you can use to recognize that someone is a member. +You don't want anyone who isn't in the know to be able to crack the code. + +You've designed the code so that one person says a number between 1 and 31, and the other person turns it into a series of actions. diff --git a/exercises/practice/secret-handshake/.meta/config.json b/exercises/practice/secret-handshake/.meta/config.json new file mode 100644 index 0000000..347afb6 --- /dev/null +++ b/exercises/practice/secret-handshake/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "secret-handshake.arr" + ], + "test": [ + "secret-handshake-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.", + "source": "Bert, in Mary Poppins", + "source_url": "https://www.imdb.com/title/tt0058331/quotes/?item=qt0437047" +} diff --git a/exercises/practice/secret-handshake/.meta/example.arr b/exercises/practice/secret-handshake/.meta/example.arr new file mode 100644 index 0000000..ebf653c --- /dev/null +++ b/exercises/practice/secret-handshake/.meta/example.arr @@ -0,0 +1,29 @@ +provide: commands end + +import lists as L + +fun commands(binary): + to-commands = lam(index, acc, elt): + ask: + | elt == "1" then: + ask: + | index == 0 then: + acc.push("wink") + | index == 1 then: + acc.push("double blink") + | index == 2 then: + acc.push("close your eyes") + | index == 3 then: + acc.push("jump") + | index == 4 then: + L.reverse(acc) + end + | otherwise: + acc + end + end + + digits = L.reverse(string-explode(binary)) + value = L.fold_n(to-commands, 0, [list: ], digits) + L.reverse(value) +end \ No newline at end of file diff --git a/exercises/practice/secret-handshake/.meta/tests.toml b/exercises/practice/secret-handshake/.meta/tests.toml new file mode 100644 index 0000000..f318e52 --- /dev/null +++ b/exercises/practice/secret-handshake/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[b8496fbd-6778-468c-8054-648d03c4bb23] +description = "wink for 1" + +[83ec6c58-81a9-4fd1-bfaf-0160514fc0e3] +description = "double blink for 10" + +[0e20e466-3519-4134-8082-5639d85fef71] +description = "close your eyes for 100" + +[b339ddbb-88b7-4b7d-9b19-4134030d9ac0] +description = "jump for 1000" + +[40499fb4-e60c-43d7-8b98-0de3ca44e0eb] +description = "combine two actions" + +[9730cdd5-ef27-494b-afd3-5c91ad6c3d9d] +description = "reverse two actions" + +[0b828205-51ca-45cd-90d5-f2506013f25f] +description = "reversing one action gives the same action" + +[9949e2ac-6c9c-4330-b685-2089ab28b05f] +description = "reversing no actions still gives no actions" + +[23fdca98-676b-4848-970d-cfed7be39f81] +description = "all possible actions" + +[ae8fe006-d910-4d6f-be00-54b7c3799e79] +description = "reverse all possible actions" + +[3d36da37-b31f-4cdb-a396-d93a2ee1c4a5] +description = "do nothing for zero" diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr new file mode 100644 index 0000000..5a39557 --- /dev/null +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -0,0 +1,45 @@ +include file("secret-handshake.arr") + +check "wink for 1": + commands("00001") is [list: "wink"] +end + +check "double blink for 10": + commands("00010") is [list: "double blink"] +end + +check "close your eyes for 100": + commands("00100") is [list: "close your eyes"] +end + +check "jump for 1000": + commands("01000") is [list: "jump"] +end + +check "combine two actions": + commands("00011") is [list: "wink", "double blink"] +end + +check "reverse two actions": + commands("10011") is [list: "double blink", "wink"] +end + +check "reversing one action gives the same action": + commands("11000") is [list: "jump"] +end + +check "reversing no actions still gives no actions": + commands("10000") is [list: ] +end + +check "all possible actions": + commands("01111") is [list: "wink", "double blink", "close your eyes", "jump"] +end + +check "reverse all possible actions": + commands("11111") is [list: "jump", "close your eyes", "double blink", "wink"] +end + +check "do nothing for zero": + commands("00000") is [list: ] +end diff --git a/exercises/practice/secret-handshake/secret-handshake.arr b/exercises/practice/secret-handshake/secret-handshake.arr new file mode 100644 index 0000000..fcbb820 --- /dev/null +++ b/exercises/practice/secret-handshake/secret-handshake.arr @@ -0,0 +1,5 @@ +provide: commands end + +fun commands(binary): + raise("Please implement the commands function") +end From 8ebb58e2922927cda2458c43f5f147bccce8c1b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 5 Jul 2023 10:44:08 -0700 Subject: [PATCH 019/244] Add matrix exercise (#32) --- config.json | 9 ++++ .../practice/matrix/.docs/instructions.md | 38 +++++++++++++++++ exercises/practice/matrix/.meta/config.json | 19 +++++++++ exercises/practice/matrix/.meta/example.arr | 32 +++++++++++++++ exercises/practice/matrix/.meta/tests.toml | 34 +++++++++++++++ exercises/practice/matrix/matrix-test.arr | 41 +++++++++++++++++++ exercises/practice/matrix/matrix.arr | 5 +++ 7 files changed, 178 insertions(+) create mode 100644 exercises/practice/matrix/.docs/instructions.md create mode 100644 exercises/practice/matrix/.meta/config.json create mode 100644 exercises/practice/matrix/.meta/example.arr create mode 100644 exercises/practice/matrix/.meta/tests.toml create mode 100644 exercises/practice/matrix/matrix-test.arr create mode 100644 exercises/practice/matrix/matrix.arr diff --git a/config.json b/config.json index 163a9e8..b365f00 100644 --- a/config.json +++ b/config.json @@ -142,6 +142,15 @@ "difficulty": 3, "topics": null }, + { + "slug": "matrix", + "name": "Matrix", + "uuid": "eef61f56-6dda-4389-b348-7c27835493b8", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "dnd-character", "name": "D&D Character", diff --git a/exercises/practice/matrix/.docs/instructions.md b/exercises/practice/matrix/.docs/instructions.md new file mode 100644 index 0000000..dadea8a --- /dev/null +++ b/exercises/practice/matrix/.docs/instructions.md @@ -0,0 +1,38 @@ +# Instructions + +Given a string representing a matrix of numbers, return the rows and columns of that matrix. + +So given a string with embedded newlines like: + +```text +9 8 7 +5 3 2 +6 6 7 +``` + +representing this matrix: + +```text + 1 2 3 + |--------- +1 | 9 8 7 +2 | 5 3 2 +3 | 6 6 7 +``` + +your code should be able to spit out: + +- A list of the rows, reading each row left-to-right while moving top-to-bottom across the rows, +- A list of the columns, reading each column top-to-bottom while moving from left-to-right. + +The rows for our example matrix: + +- 9, 8, 7 +- 5, 3, 2 +- 6, 6, 7 + +And its columns: + +- 9, 5, 6 +- 8, 3, 6 +- 7, 2, 7 diff --git a/exercises/practice/matrix/.meta/config.json b/exercises/practice/matrix/.meta/config.json new file mode 100644 index 0000000..5f0d86a --- /dev/null +++ b/exercises/practice/matrix/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "matrix.arr" + ], + "test": [ + "matrix-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a string representing a matrix of numbers, return the rows and columns of that matrix.", + "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", + "source_url": "https://turing.edu" +} diff --git a/exercises/practice/matrix/.meta/example.arr b/exercises/practice/matrix/.meta/example.arr new file mode 100644 index 0000000..c971ad2 --- /dev/null +++ b/exercises/practice/matrix/.meta/example.arr @@ -0,0 +1,32 @@ +provide: matrix end + +fun matrix(input :: String): + process-input = lam(): + to-number = lam(s :: String): + cases(Option) string-to-number(s): + | some(a) => a + | none => raise("invalid number") + end + end + + rows = string-split-all(input, "\n") + rows.map(lam(r): string-split-all(r, " ").map(to-number) end) + end + + { + method row(self, nth :: Number): self.values.get(nth - 1) end, + method column(self, nth :: Number): + n = nth - 1 + self.values.foldl(lam(elt, acc): + ask: + | elt.length() > n then: + val = elt.get(n) + acc.push(val) + | otherwise: + acc + end + end, [list: ]).reverse() + end, + values: process-input() + } +end \ No newline at end of file diff --git a/exercises/practice/matrix/.meta/tests.toml b/exercises/practice/matrix/.meta/tests.toml new file mode 100644 index 0000000..90b509c --- /dev/null +++ b/exercises/practice/matrix/.meta/tests.toml @@ -0,0 +1,34 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[ca733dab-9d85-4065-9ef6-a880a951dafd] +description = "extract row from one number matrix" + +[5c93ec93-80e1-4268-9fc2-63bc7d23385c] +description = "can extract row" + +[2f1aad89-ad0f-4bd2-9919-99a8bff0305a] +description = "extract row where numbers have different widths" + +[68f7f6ba-57e2-4e87-82d0-ad09889b5204] +description = "can extract row from non-square matrix with no corresponding column" + +[e8c74391-c93b-4aed-8bfe-f3c9beb89ebb] +description = "extract column from one number matrix" + +[7136bdbd-b3dc-48c4-a10c-8230976d3727] +description = "can extract column" + +[ad64f8d7-bba6-4182-8adf-0c14de3d0eca] +description = "can extract column from non-square matrix with no corresponding row" + +[9eddfa5c-8474-440e-ae0a-f018c2a0dd89] +description = "extract column where numbers have different widths" diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr new file mode 100644 index 0000000..2cebe12 --- /dev/null +++ b/exercises/practice/matrix/matrix-test.arr @@ -0,0 +1,41 @@ +include file("matrix.arr") + +check "extract row from one number matrix": + m = matrix("1") + m.row(1) is [list: 1] +end + +check "can extract row": + m = matrix("1 2\n3 4") + m.row(2) is [list: 3, 4] +end + +check "extract row where numbers have different widths": + m = matrix("1 2\n10 20") + m.row(2) is [list: 10, 20] +end + +check "can extract row from non-square matrix with no corresponding column": + m = matrix("1 2 3\n4 5 6\n7 8 9\n8 7 6") + m.row(4) is [list: 8, 7, 6] +end + +check "extract column from one number matrix": + m = matrix("1") + m.column(1) is [list: 1] +end + +check "can extract column": + m = matrix("1 2 3\n4 5 6\n7 8 9") + m.column(3) is [list: 3, 6, 9] +end + +check "can extract column from non-square matrix with no corresponding row": + m = matrix("1 2 3 4\n5 6 7 8\n9 8 7 6") + m.column(4) is [list: 4, 8, 6] +end + +check "extract column where numbers have different widths": + m = matrix("89 1903 3\n18 3 1\n9 4 800") + m.column(2) is [list: 1903, 3, 4] +end \ No newline at end of file diff --git a/exercises/practice/matrix/matrix.arr b/exercises/practice/matrix/matrix.arr new file mode 100644 index 0000000..8440a64 --- /dev/null +++ b/exercises/practice/matrix/matrix.arr @@ -0,0 +1,5 @@ +provide: matrix end + +fun matrix(input): + raise("Please implement the matrix function") +end \ No newline at end of file From e2f098e3d8b062ba2d971e5af6806c6bc7866343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:48:07 -0700 Subject: [PATCH 020/244] Add anagrams exercise (#33) --- config.json | 9 ++ .../practice/anagram/.docs/instructions.md | 13 ++ exercises/practice/anagram/.meta/config.json | 19 +++ exercises/practice/anagram/.meta/example.arr | 19 +++ exercises/practice/anagram/.meta/tests.toml | 75 ++++++++++++ exercises/practice/anagram/anagram-test.arr | 113 ++++++++++++++++++ exercises/practice/anagram/anagram.arr | 5 + 7 files changed, 253 insertions(+) create mode 100644 exercises/practice/anagram/.docs/instructions.md create mode 100644 exercises/practice/anagram/.meta/config.json create mode 100644 exercises/practice/anagram/.meta/example.arr create mode 100644 exercises/practice/anagram/.meta/tests.toml create mode 100644 exercises/practice/anagram/anagram-test.arr create mode 100644 exercises/practice/anagram/anagram.arr diff --git a/config.json b/config.json index b365f00..1bd3858 100644 --- a/config.json +++ b/config.json @@ -142,6 +142,15 @@ "difficulty": 3, "topics": null }, + { + "slug": "anagram", + "name": "Anagram", + "uuid": "52e3290f-b78f-423f-a1cf-d727edc9fa73", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "matrix", "name": "Matrix", diff --git a/exercises/practice/anagram/.docs/instructions.md b/exercises/practice/anagram/.docs/instructions.md new file mode 100644 index 0000000..7d1c828 --- /dev/null +++ b/exercises/practice/anagram/.docs/instructions.md @@ -0,0 +1,13 @@ +# Instructions + +An anagram is a rearrangement of letters to form a new word: for example `"owns"` is an anagram of `"snow"`. +A word is not its own anagram: for example, `"stop"` is not an anagram of `"stop"`. + +Given a target word and a set of candidate words, this exercise requests the anagram set: the subset of the candidates that are anagrams of the target. + +The target and candidates are words of one or more ASCII alphabetic characters (`A`-`Z` and `a`-`z`). +Lowercase and uppercase characters are equivalent: for example, `"PoTS"` is an anagram of `"sTOp"`, but `StoP` is not an anagram of `sTOp`. +The anagram set is the subset of the candidate set that are anagrams of the target (in any order). +Words in the anagram set should have the same letter case as in the candidate set. + +Given the target `"stone"` and candidates `"stone"`, `"tones"`, `"banana"`, `"tons"`, `"notes"`, `"Seton"`, the anagram set is `"tones"`, `"notes"`, `"Seton"`. diff --git a/exercises/practice/anagram/.meta/config.json b/exercises/practice/anagram/.meta/config.json new file mode 100644 index 0000000..e4788ba --- /dev/null +++ b/exercises/practice/anagram/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "anagram.arr" + ], + "test": [ + "anagram-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a word and a list of possible anagrams, select the correct sublist.", + "source": "Inspired by the Extreme Startup game", + "source_url": "https://github.com/rchatley/extreme_startup" +} diff --git a/exercises/practice/anagram/.meta/example.arr b/exercises/practice/anagram/.meta/example.arr new file mode 100644 index 0000000..8e8d098 --- /dev/null +++ b/exercises/practice/anagram/.meta/example.arr @@ -0,0 +1,19 @@ +provide: find-anagrams end + +fun find-anagrams(phrase, candidates): + detect-anagram = lam(elt, acc): + phrase-lowered = string-explode(string-to-lower(phrase)) + elt-lowered = string-explode(string-to-lower(elt)) + + different-order = phrase-lowered <> elt-lowered + same-letters = phrase-lowered.sort() == elt-lowered.sort() + + ask: + | different-order and same-letters + then: acc.push(elt) + | otherwise: acc + end + end + + candidates.foldl(detect-anagram, [list: ]).reverse() +end \ No newline at end of file diff --git a/exercises/practice/anagram/.meta/tests.toml b/exercises/practice/anagram/.meta/tests.toml new file mode 100644 index 0000000..8a3708b --- /dev/null +++ b/exercises/practice/anagram/.meta/tests.toml @@ -0,0 +1,75 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[dd40c4d2-3c8b-44e5-992a-f42b393ec373] +description = "no matches" + +[b3cca662-f50a-489e-ae10-ab8290a09bdc] +description = "detects two anagrams" +include = false + +[03eb9bbe-8906-4ea0-84fa-ffe711b52c8b] +description = "detects two anagrams" +reimplements = "b3cca662-f50a-489e-ae10-ab8290a09bdc" + +[a27558ee-9ba0-4552-96b1-ecf665b06556] +description = "does not detect anagram subsets" + +[64cd4584-fc15-4781-b633-3d814c4941a4] +description = "detects anagram" + +[99c91beb-838f-4ccd-b123-935139917283] +description = "detects three anagrams" + +[78487770-e258-4e1f-a646-8ece10950d90] +description = "detects multiple anagrams with different case" + +[1d0ab8aa-362f-49b7-9902-3d0c668d557b] +description = "does not detect non-anagrams with identical checksum" + +[9e632c0b-c0b1-4804-8cc1-e295dea6d8a8] +description = "detects anagrams case-insensitively" + +[b248e49f-0905-48d2-9c8d-bd02d8c3e392] +description = "detects anagrams using case-insensitive subject" + +[f367325c-78ec-411c-be76-e79047f4bd54] +description = "detects anagrams using case-insensitive possible matches" + +[7cc195ad-e3c7-44ee-9fd2-d3c344806a2c] +description = "does not detect an anagram if the original word is repeated" + +[9878a1c9-d6ea-4235-ae51-3ea2befd6842] +description = "anagrams must use all letters exactly once" + +[85757361-4535-45fd-ac0e-3810d40debc1] +description = "words are not anagrams of themselves (case-insensitive)" +include = false + +[68934ed0-010b-4ef9-857a-20c9012d1ebf] +description = "words are not anagrams of themselves" +reimplements = "85757361-4535-45fd-ac0e-3810d40debc1" + +[589384f3-4c8a-4e7d-9edc-51c3e5f0c90e] +description = "words are not anagrams of themselves even if letter case is partially different" +reimplements = "85757361-4535-45fd-ac0e-3810d40debc1" + +[ba53e423-7e02-41ee-9ae2-71f91e6d18e6] +description = "words are not anagrams of themselves even if letter case is completely different" +reimplements = "85757361-4535-45fd-ac0e-3810d40debc1" + +[a0705568-628c-4b55-9798-82e4acde51ca] +description = "words other than themselves can be anagrams" +include = false + +[33d3f67e-fbb9-49d3-a90e-0beb00861da7] +description = "words other than themselves can be anagrams" +reimplements = "a0705568-628c-4b55-9798-82e4acde51ca" diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr new file mode 100644 index 0000000..fbe08dc --- /dev/null +++ b/exercises/practice/anagram/anagram-test.arr @@ -0,0 +1,113 @@ +include file("anagram.arr") + +check "no matches": + candidates = [list: "hello", "world", "zombies", "pants"] + expected = [list: ] + + find-anagrams("diaper", candidates) is expected +end + +check "detects two anagrams": + candidates = [list: "lemons", "cherry", "melons"] + expected = [list: "lemons", "melons"] + + find-anagrams("solemn", candidates) is expected +end + +check "does not detect anagram subsets": + candidates = [list: "dog", "goody"] + expected = [list: ] + + find-anagrams("good", candidates) is expected +end + +check "detects anagram": + candidates = [list: "enlists", "google", "inlets", "banana"] + expected = [list: "inlets"] + + find-anagrams("listen", candidates) is expected +end + +check "detects three anagrams": + candidates = [list: "gallery", "ballerina", "regally", "clergy", "largely", "leading"] + expected = [list: "gallery", "regally", "largely"] + + find-anagrams("allergy", candidates) is expected +end + +check "detects multiple anagrams with different case": + candidates = [list: "Eons", "ONES"] + expected = [list: "Eons", "ONES"] + + find-anagrams("nose", candidates) is expected +end + +check "does not detect non-anagrams with identical checksum": + candidates = [list: "last"] + expected = [list: ] + + find-anagrams("mass", candidates) is expected +end + +check "detects anagrams case-insensitively": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] + + find-anagrams("Orchestra", candidates) is expected +end + +check "detects anagrams using case-insensitive subject": + candidates = [list: "cashregister", "carthorse", "radishes"] + expected = [list: "carthorse"] + + find-anagrams("Orchestra", candidates) is expected +end + +check "detects anagrams using case-insensitive possible matches": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] + + find-anagrams("orchestra", candidates) is expected +end + +check "does not detect an anagram if the original word is repeated": + candidates = [list: "go Go GO"] + expected = [list: ] + + find-anagrams("go", candidates) is expected +end + +check "anagrams must use all letters exactly once": + candidates = [list: "patter"] + expected = [list: ] + + find-anagrams("tapper", candidates) is expected +end + +check "words are not anagrams of themselves": + candidates = [list: "BANANA"] + expected = [list: ] + + find-anagrams("BANANA", candidates) is expected +end + +check "words are not anagrams of themselves even if letter case is partially different": + candidates = [list: "Banana"] + expected = [list: ] + + find-anagrams("BANANA", candidates) is expected +end + +check "words are not anagrams of themselves even if letter case is completely different": + candidates = [list: "banana"] + expected = [list: ] + + find-anagrams("BANANA", candidates) is expected +end + +check "words other than themselves can be anagrams": + candidates = [list: "LISTEN", "Silent"] + expected = [list: "Silent"] + + find-anagrams("LISTEN", candidates) is expected +end \ No newline at end of file diff --git a/exercises/practice/anagram/anagram.arr b/exercises/practice/anagram/anagram.arr new file mode 100644 index 0000000..003aa65 --- /dev/null +++ b/exercises/practice/anagram/anagram.arr @@ -0,0 +1,5 @@ +provide: find-anagrams end + +fun find-anagrams(phrase, candidates): + raise("Please implement the find-anagrams function") +end From cb9bb1bee1f0fc03936842710d2dcea5da7c8fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 6 Jul 2023 12:46:23 -0700 Subject: [PATCH 021/244] add nucleotide-count exercise (#34) --- config.json | 9 +++++ .../nucleotide-count/.docs/instructions.md | 23 ++++++++++++ .../nucleotide-count/.meta/config.json | 19 ++++++++++ .../nucleotide-count/.meta/example.arr | 18 +++++++++ .../nucleotide-count/.meta/tests.toml | 25 +++++++++++++ .../nucleotide-count-test.arr | 37 +++++++++++++++++++ .../nucleotide-count/nucleotide-count.arr | 5 +++ 7 files changed, 136 insertions(+) create mode 100644 exercises/practice/nucleotide-count/.docs/instructions.md create mode 100644 exercises/practice/nucleotide-count/.meta/config.json create mode 100644 exercises/practice/nucleotide-count/.meta/example.arr create mode 100644 exercises/practice/nucleotide-count/.meta/tests.toml create mode 100644 exercises/practice/nucleotide-count/nucleotide-count-test.arr create mode 100644 exercises/practice/nucleotide-count/nucleotide-count.arr diff --git a/config.json b/config.json index 1bd3858..50a5261 100644 --- a/config.json +++ b/config.json @@ -79,6 +79,15 @@ "difficulty": 2, "status": "beta" }, + { + "slug": "nucleotide-count", + "name": "Nucleotide Count", + "uuid": "437768f4-a4d4-4a87-bf8b-6fe403e34179", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "leap", "name": "Leap", diff --git a/exercises/practice/nucleotide-count/.docs/instructions.md b/exercises/practice/nucleotide-count/.docs/instructions.md new file mode 100644 index 0000000..548d9ba --- /dev/null +++ b/exercises/practice/nucleotide-count/.docs/instructions.md @@ -0,0 +1,23 @@ +# Instructions + +Each of us inherits from our biological parents a set of chemical instructions known as DNA that influence how our bodies are constructed. +All known life depends on DNA! + +> Note: You do not need to understand anything about nucleotides or DNA to complete this exercise. + +DNA is a long chain of other chemicals and the most important are the four nucleotides, adenine, cytosine, guanine and thymine. +A single DNA chain can contain billions of these four nucleotides and the order in which they occur is important! +We call the order of these nucleotides in a bit of DNA a "DNA sequence". + +We represent a DNA sequence as an ordered collection of these four nucleotides and a common way to do that is with a string of characters such as "ATTACG" for a DNA sequence of 6 nucleotides. +'A' for adenine, 'C' for cytosine, 'G' for guanine, and 'T' for thymine. + +Given a string representing a DNA sequence, count how many of each nucleotide is present. +If the string contains characters that aren't A, C, G, or T then it is invalid and you should signal an error. + +For example: + +```text +"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2 +"INVALID" -> error +``` diff --git a/exercises/practice/nucleotide-count/.meta/config.json b/exercises/practice/nucleotide-count/.meta/config.json new file mode 100644 index 0000000..8e699ce --- /dev/null +++ b/exercises/practice/nucleotide-count/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "nucleotide-count.arr" + ], + "test": [ + "nucleotide-count-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a DNA string, compute how many times each nucleotide occurs in the string.", + "source": "The Calculating DNA Nucleotides_problem at Rosalind", + "source_url": "https://rosalind.info/problems/dna/" +} diff --git a/exercises/practice/nucleotide-count/.meta/example.arr b/exercises/practice/nucleotide-count/.meta/example.arr new file mode 100644 index 0000000..07af229 --- /dev/null +++ b/exercises/practice/nucleotide-count/.meta/example.arr @@ -0,0 +1,18 @@ +provide: nucleotide-counts end + +include string-dict + +fun nucleotide-counts(strand): + string-explode(strand).foldl(lam(elt, acc): + ask: + | acc.has-key-now(elt) then: + _ = cases(Option) acc.get-now(elt): + | some(a) => acc.set-now(elt, a + 1) + end + + acc + | otherwise: + raise("Invalid nucleotide in strand") + end + end, [mutable-string-dict: "A", 0, "C", 0, "G", 0, "T", 0]) +end \ No newline at end of file diff --git a/exercises/practice/nucleotide-count/.meta/tests.toml b/exercises/practice/nucleotide-count/.meta/tests.toml new file mode 100644 index 0000000..7c55e53 --- /dev/null +++ b/exercises/practice/nucleotide-count/.meta/tests.toml @@ -0,0 +1,25 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[3e5c30a8-87e2-4845-a815-a49671ade970] +description = "empty strand" + +[a0ea42a6-06d9-4ac6-828c-7ccaccf98fec] +description = "can count one nucleotide in single-character input" + +[eca0d565-ed8c-43e7-9033-6cefbf5115b5] +description = "strand with repeated nucleotide" + +[40a45eac-c83f-4740-901a-20b22d15a39f] +description = "strand with multiple nucleotides" + +[b4c47851-ee9e-4b0a-be70-a86e343bd851] +description = "strand with invalid nucleotides" diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr new file mode 100644 index 0000000..b822ed0 --- /dev/null +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -0,0 +1,37 @@ +include file("nucleotide-count.arr") + +include string-dict + +check "empty strand": + input = "" + expected = [mutable-string-dict: "A", 0, "C", 0, "G", 0, "T", 0] + + nucleotide-counts(input) is expected +end + +check "can count one nucleotide in single-character input": + input = "G" + expected = [mutable-string-dict: "A", 0, "C", 0, "G", 1, "T", 0] + + nucleotide-counts(input) is expected +end + +check "strand with repeated nucleotide": + input = "GGGGGGG" + expected = [mutable-string-dict: "A", 0, "C", 0, "G", 7, "T", 0] + + nucleotide-counts(input) is expected +end + +check "strand with multiple nucleotides": + input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" + expected = [mutable-string-dict: "A", 20, "C", 12, "G", 17, "T", 21] + + nucleotide-counts(input) is expected +end + +check "strand with invalid nucleotides": + input = "AGXXACT" + + nucleotide-counts(input) raises "Invalid nucleotide in strand" +end \ No newline at end of file diff --git a/exercises/practice/nucleotide-count/nucleotide-count.arr b/exercises/practice/nucleotide-count/nucleotide-count.arr new file mode 100644 index 0000000..a78fba4 --- /dev/null +++ b/exercises/practice/nucleotide-count/nucleotide-count.arr @@ -0,0 +1,5 @@ +provide: nucleotide-counts end + +fun nucleotide-counts(strand): + raise("Please implement the nucleotide-counts function") +end \ No newline at end of file From ea818d555e0d2bd3c3123fefb5e68d30dbe9d88c Mon Sep 17 00:00:00 2001 From: meatball <69751659+meatball133@users.noreply.github.com> Date: Fri, 7 Jul 2023 18:21:36 +0200 Subject: [PATCH 022/244] Add binary-search (#35) --- config.json | 9 ++++ .../binary-search/.docs/instructions.md | 29 ++++++++++++ .../binary-search/.docs/introduction.md | 13 ++++++ .../practice/binary-search/.meta/config.json | 17 +++++++ .../practice/binary-search/.meta/example.arr | 22 +++++++++ .../practice/binary-search/.meta/tests.toml | 43 ++++++++++++++++++ .../binary-search/binary-search-test.arr | 45 +++++++++++++++++++ .../practice/binary-search/binary-search.arr | 5 +++ 8 files changed, 183 insertions(+) create mode 100644 exercises/practice/binary-search/.docs/instructions.md create mode 100644 exercises/practice/binary-search/.docs/introduction.md create mode 100644 exercises/practice/binary-search/.meta/config.json create mode 100644 exercises/practice/binary-search/.meta/example.arr create mode 100644 exercises/practice/binary-search/.meta/tests.toml create mode 100644 exercises/practice/binary-search/binary-search-test.arr create mode 100644 exercises/practice/binary-search/binary-search.arr diff --git a/config.json b/config.json index 50a5261..4b3f972 100644 --- a/config.json +++ b/config.json @@ -79,6 +79,15 @@ "difficulty": 2, "status": "beta" }, + { + "slug": "binary-search", + "name": "Binary Search", + "uuid": "dc4437e4-9ab3-4ab0-ae0d-ae3d2287e97c", + "practices": [], + "prerequisites": [], + "difficulty": 2, + "status": "beta" + }, { "slug": "nucleotide-count", "name": "Nucleotide Count", diff --git a/exercises/practice/binary-search/.docs/instructions.md b/exercises/practice/binary-search/.docs/instructions.md new file mode 100644 index 0000000..aa1946c --- /dev/null +++ b/exercises/practice/binary-search/.docs/instructions.md @@ -0,0 +1,29 @@ +# Instructions + +Your task is to implement a binary search algorithm. + +A binary search algorithm finds an item in a list by repeatedly splitting it in half, only keeping the half which contains the item we're looking for. +It allows us to quickly narrow down the possible locations of our item until we find it, or until we've eliminated all possible locations. + +~~~~exercism/caution +Binary search only works when a list has been sorted. +~~~~ + +The algorithm looks like this: + +- Find the middle element of a *sorted* list and compare it with the item we're looking for. +- If the middle element is our item, then we're done! +- If the middle element is greater than our item, we can eliminate that element and all the elements **after** it. +- If the middle element is less than our item, we can eliminate that element and all the elements **before** it. +- If every element of the list has been eliminated then the item is not in the list. +- Otherwise, repeat the process on the part of the list that has not been eliminated. + +Here's an example: + +Let's say we're looking for the number 23 in the following sorted list: `[4, 8, 12, 16, 23, 28, 32]`. + +- We start by comparing 23 with the middle element, 16. +- Since 23 is greater than 16, we can eliminate the left half of the list, leaving us with `[23, 28, 32]`. +- We then compare 23 with the new middle element, 28. +- Since 23 is less than 28, we can eliminate the right half of the list: `[23]`. +- We've found our item. diff --git a/exercises/practice/binary-search/.docs/introduction.md b/exercises/practice/binary-search/.docs/introduction.md new file mode 100644 index 0000000..0349659 --- /dev/null +++ b/exercises/practice/binary-search/.docs/introduction.md @@ -0,0 +1,13 @@ +# Introduction + +You have stumbled upon a group of mathematicians who are also singer-songwriters. +They have written a song for each of their favorite numbers, and, as you can imagine, they have a lot of favorite numbers (like [0][zero] or [73][seventy-three] or [6174][kaprekars-constant]). + +You are curious to hear the song for your favorite number, but with so many songs to wade through, finding the right song could take a while. +Fortunately, they have organized their songs in a playlist sorted by the title — which is simply the number that the song is about. + +You realize that you can use a binary search algorithm to quickly find a song given the title. + +[zero]: https://en.wikipedia.org/wiki/0 +[seventy-three]: https://en.wikipedia.org/wiki/73_(number) +[kaprekars-constant]: https://en.wikipedia.org/wiki/6174_(number) diff --git a/exercises/practice/binary-search/.meta/config.json b/exercises/practice/binary-search/.meta/config.json new file mode 100644 index 0000000..3345e80 --- /dev/null +++ b/exercises/practice/binary-search/.meta/config.json @@ -0,0 +1,17 @@ +{ + "authors": ["meatball133"], + "files": { + "solution": [ + "binary-search.arr" + ], + "test": [ + "binary-search-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Implement a binary search algorithm.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Binary_search_algorithm" +} diff --git a/exercises/practice/binary-search/.meta/example.arr b/exercises/practice/binary-search/.meta/example.arr new file mode 100644 index 0000000..1a612f9 --- /dev/null +++ b/exercises/practice/binary-search/.meta/example.arr @@ -0,0 +1,22 @@ +provide: binary_search end + +fun binary_search(numbers, x): + n = num-floor((numbers.length() - 1) / 2) + if numbers.length() == 0 block: + raise("value not in list") + else if numbers.get(n) == x: + n + else if numbers.get(n) < x: + var new_numbers = split-at(n + 1, numbers) + when new_numbers.suffix == numbers block: + raise("value not in list") + end + n + 1 + binary_search(new_numbers.suffix, x) + else: + var new_numbers = split-at(n, numbers) + when new_numbers.prefix == numbers block: + raise("value not in list") + end + binary_search(new_numbers.prefix, x) + end +end diff --git a/exercises/practice/binary-search/.meta/tests.toml b/exercises/practice/binary-search/.meta/tests.toml new file mode 100644 index 0000000..61e2b06 --- /dev/null +++ b/exercises/practice/binary-search/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[b55c24a9-a98d-4379-a08c-2adcf8ebeee8] +description = "finds a value in an array with one element" + +[73469346-b0a0-4011-89bf-989e443d503d] +description = "finds a value in the middle of an array" + +[327bc482-ab85-424e-a724-fb4658e66ddb] +description = "finds a value at the beginning of an array" + +[f9f94b16-fe5e-472c-85ea-c513804c7d59] +description = "finds a value at the end of an array" + +[f0068905-26e3-4342-856d-ad153cadb338] +description = "finds a value in an array of odd length" + +[fc316b12-c8b3-4f5e-9e89-532b3389de8c] +description = "finds a value in an array of even length" + +[da7db20a-354f-49f7-a6a1-650a54998aa6] +description = "identifies that a value is not included in the array" + +[95d869ff-3daf-4c79-b622-6e805c675f97] +description = "a value smaller than the array's smallest value is not found" + +[8b24ef45-6e51-4a94-9eac-c2bf38fdb0ba] +description = "a value larger than the array's largest value is not found" + +[f439a0fa-cf42-4262-8ad1-64bf41ce566a] +description = "nothing is found in an empty array" + +[2c353967-b56d-40b8-acff-ce43115eed64] +description = "nothing is found when the left and right bounds cross" diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr new file mode 100644 index 0000000..79be883 --- /dev/null +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -0,0 +1,45 @@ +include file("binary-search.arr") + +check "finds a value in an array with one element": + binary_search([list: 6], 6) is 0 +end + +check "finds a value in the middle of an array": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 +end + +check "finds a value at the beginning of an array": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 +end + +check "finds a value at the end of an array": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 +end + +check "finds a value in an array of odd length": + binary_search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 +end + +check "finds a value in an array of even length": + binary_search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 +end + +check "identifies that a value is not included in the array": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" +end + +check "a value smaller than the array's smallest value is not found": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" +end + +check "a value larger than the array's largest value is not found": + binary_search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" +end + +check "nothing is found in an empty array": + binary_search([list: ], 1) raises "value not in list" +end + +check "nothing is found when the left and right bounds cross": + binary_search([list: 1, 2], 0) raises "value not in list" +end diff --git a/exercises/practice/binary-search/binary-search.arr b/exercises/practice/binary-search/binary-search.arr new file mode 100644 index 0000000..0fdef7c --- /dev/null +++ b/exercises/practice/binary-search/binary-search.arr @@ -0,0 +1,5 @@ +provide: binary_search end + +fun binary_search(numbers, x): + raise("Please implement the binary_search function") +end From 708d5ba1a4245abfd0d24cf9f275844b404669e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 8 Jul 2023 23:12:16 -0700 Subject: [PATCH 023/244] Initial implementation of grains exercise (#36) --- config.json | 8 ++++ .../practice/grains/.docs/instructions.md | 15 +++++++ exercises/practice/grains/.meta/config.json | 19 ++++++++ exercises/practice/grains/.meta/example.arr | 17 +++++++ exercises/practice/grains/.meta/tests.toml | 43 ++++++++++++++++++ exercises/practice/grains/grains-test.arr | 45 +++++++++++++++++++ exercises/practice/grains/grains.arr | 9 ++++ 7 files changed, 156 insertions(+) create mode 100644 exercises/practice/grains/.docs/instructions.md create mode 100644 exercises/practice/grains/.meta/config.json create mode 100644 exercises/practice/grains/.meta/example.arr create mode 100644 exercises/practice/grains/.meta/tests.toml create mode 100644 exercises/practice/grains/grains-test.arr create mode 100644 exercises/practice/grains/grains.arr diff --git a/config.json b/config.json index 4b3f972..a43468b 100644 --- a/config.json +++ b/config.json @@ -169,6 +169,14 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "grains", + "name": "Grains", + "uuid": "04948c47-34d1-4200-a6f0-5131f63c5600", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "matrix", "name": "Matrix", diff --git a/exercises/practice/grains/.docs/instructions.md b/exercises/practice/grains/.docs/instructions.md new file mode 100644 index 0000000..df479fc --- /dev/null +++ b/exercises/practice/grains/.docs/instructions.md @@ -0,0 +1,15 @@ +# Instructions + +Calculate the number of grains of wheat on a chessboard given that the number on each square doubles. + +There once was a wise servant who saved the life of a prince. +The king promised to pay whatever the servant could dream up. +Knowing that the king loved chess, the servant told the king he would like to have grains of wheat. +One grain on the first square of a chess board, with the number of grains doubling on each successive square. + +There are 64 squares on a chessboard (where square 1 has one grain, square 2 has two grains, and so on). + +Write code that shows: + +- how many grains were on a given square, and +- the total number of grains on the chessboard diff --git a/exercises/practice/grains/.meta/config.json b/exercises/practice/grains/.meta/config.json new file mode 100644 index 0000000..fc91603 --- /dev/null +++ b/exercises/practice/grains/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "grains.arr" + ], + "test": [ + "grains-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.", + "source": "The CodeRanch Cattle Drive, Assignment 6", + "source_url": "https://coderanch.com/wiki/718824/Grains" +} diff --git a/exercises/practice/grains/.meta/example.arr b/exercises/practice/grains/.meta/example.arr new file mode 100644 index 0000000..d60b690 --- /dev/null +++ b/exercises/practice/grains/.meta/example.arr @@ -0,0 +1,17 @@ +provide: on-square, total end + + +fun on-square(n :: Number) -> Number: + ask: + | num-is-non-positive(n) then: + raise("square must be between 1 and 64") + | n > 64 then: + raise("square must be between 1 and 64") + | otherwise: + num-expt(2, (n - 1)) + end +end + +fun total() -> Number: + num-expt(2, 64) - 1 +end \ No newline at end of file diff --git a/exercises/practice/grains/.meta/tests.toml b/exercises/practice/grains/.meta/tests.toml new file mode 100644 index 0000000..0d38bef --- /dev/null +++ b/exercises/practice/grains/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[9fbde8de-36b2-49de-baf2-cd42d6f28405] +description = "returns the number of grains on the square -> grains on square 1" + +[ee1f30c2-01d8-4298-b25d-c677331b5e6d] +description = "returns the number of grains on the square -> grains on square 2" + +[10f45584-2fc3-4875-8ec6-666065d1163b] +description = "returns the number of grains on the square -> grains on square 3" + +[a7cbe01b-36f4-4601-b053-c5f6ae055170] +description = "returns the number of grains on the square -> grains on square 4" + +[c50acc89-8535-44e4-918f-b848ad2817d4] +description = "returns the number of grains on the square -> grains on square 16" + +[acd81b46-c2ad-4951-b848-80d15ed5a04f] +description = "returns the number of grains on the square -> grains on square 32" + +[c73b470a-5efb-4d53-9ac6-c5f6487f227b] +description = "returns the number of grains on the square -> grains on square 64" + +[1d47d832-3e85-4974-9466-5bd35af484e3] +description = "returns the number of grains on the square -> square 0 raises an exception" + +[61974483-eeb2-465e-be54-ca5dde366453] +description = "returns the number of grains on the square -> negative square raises an exception" + +[a95e4374-f32c-45a7-a10d-ffec475c012f] +description = "returns the number of grains on the square -> square greater than 64 raises an exception" + +[6eb07385-3659-4b45-a6be-9dc474222750] +description = "returns the total number of grains on the board" diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr new file mode 100644 index 0000000..9586d40 --- /dev/null +++ b/exercises/practice/grains/grains-test.arr @@ -0,0 +1,45 @@ +include file("grains.arr") + +check "returns the number of grains on the square -> grains on square 1": + on-square(1) is 1 +end + +check "returns the number of grains on the square -> grains on square 2": + on-square(2) is 2 +end + +check "returns the number of grains on the square -> grains on square 3": + on-square(3) is 4 +end + +check "returns the number of grains on the square -> grains on square 4": + on-square(4) is 8 +end + +check "returns the number of grains on the square -> grains on square 16": + on-square(16) is 32768 +end + +check "returns the number of grains on the square -> grains on square 32": + on-square(32) is 2147483648 +end + +check "returns the number of grains on the square -> grains on square 64": + on-square(64) is 9223372036854775808 +end + +check "returns the number of grains on the square -> square 0 raises an exception": + on-square(0) raises "square must be between 1 and 64" +end + +check "returns the number of grains on the square -> negative square raises an exception": + on-square(-1) raises "square must be between 1 and 64" +end + +check "returns the number of grains on the square -> square greater than 64 raises an exception": + on-square(65) raises "square must be between 1 and 64" +end + +check "returns the total number of grains on the board": + total() is 18446744073709551615 +end \ No newline at end of file diff --git a/exercises/practice/grains/grains.arr b/exercises/practice/grains/grains.arr new file mode 100644 index 0000000..aec4baa --- /dev/null +++ b/exercises/practice/grains/grains.arr @@ -0,0 +1,9 @@ +provide: on-square, total end + +fun on-square(n): + raise("Please implement the on-square function") +end + +fun total(): + raise("Please implement the total function") +end \ No newline at end of file From 823fde641c3765ff31d4087067da0cf89902026a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 9 Jul 2023 14:14:14 -0700 Subject: [PATCH 024/244] Add bob exercise (#37) --- config.json | 9 + exercises/practice/bob/.docs/instructions.md | 19 ++ exercises/practice/bob/.docs/introduction.md | 10 ++ exercises/practice/bob/.meta/config.json | 19 ++ exercises/practice/bob/.meta/example.arr | 59 +++++++ exercises/practice/bob/.meta/tests.toml | 85 +++++++++ exercises/practice/bob/bob-test.arr | 176 +++++++++++++++++++ exercises/practice/bob/bob.arr | 5 + 8 files changed, 382 insertions(+) create mode 100644 exercises/practice/bob/.docs/instructions.md create mode 100644 exercises/practice/bob/.docs/introduction.md create mode 100644 exercises/practice/bob/.meta/config.json create mode 100644 exercises/practice/bob/.meta/example.arr create mode 100644 exercises/practice/bob/.meta/tests.toml create mode 100644 exercises/practice/bob/bob-test.arr create mode 100644 exercises/practice/bob/bob.arr diff --git a/config.json b/config.json index a43468b..74e121e 100644 --- a/config.json +++ b/config.json @@ -151,6 +151,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "bob", + "name": "Bob", + "uuid": "28d1beed-ff83-4341-8a71-08fd287489fd", + "practices": [], + "prerequisites": [], + "difficulty": 2, + "status": "beta" + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/bob/.docs/instructions.md b/exercises/practice/bob/.docs/instructions.md new file mode 100644 index 0000000..bb702f7 --- /dev/null +++ b/exercises/practice/bob/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +Your task is to determine what Bob will reply to someone when they say something to him or ask him a question. + +Bob only ever answers one of five things: + +- **"Sure."** + This is his response if you ask him a question, such as "How are you?" + The convention used for questions is that it ends with a question mark. +- **"Whoa, chill out!"** + This is his answer if you YELL AT HIM. + The convention used for yelling is ALL CAPITAL LETTERS. +- **"Calm down, I know what I'm doing!"** + This is what he says if you yell a question at him. +- **"Fine. Be that way!"** + This is how he responds to silence. + The convention used for silence is nothing, or various combinations of whitespace characters. +- **"Whatever."** + This is what he answers to anything else. diff --git a/exercises/practice/bob/.docs/introduction.md b/exercises/practice/bob/.docs/introduction.md new file mode 100644 index 0000000..ea4a807 --- /dev/null +++ b/exercises/practice/bob/.docs/introduction.md @@ -0,0 +1,10 @@ +# Introduction + +Bob is a [lackadaisical][] teenager. +He likes to think that he's very cool. +And he definitely doesn't get excited about things. +That wouldn't be cool. + +When people talk to him, his responses are pretty limited. + +[lackadaisical]: https://www.collinsdictionary.com/dictionary/english/lackadaisical diff --git a/exercises/practice/bob/.meta/config.json b/exercises/practice/bob/.meta/config.json new file mode 100644 index 0000000..c581b21 --- /dev/null +++ b/exercises/practice/bob/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "bob.arr" + ], + "test": [ + "bob-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Bob is a lackadaisical teenager. In conversation, his responses are very limited.", + "source": "Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial.", + "source_url": "https://pine.fm/LearnToProgram/?Chapter=06" +} diff --git a/exercises/practice/bob/.meta/example.arr b/exercises/practice/bob/.meta/example.arr new file mode 100644 index 0000000..71a3997 --- /dev/null +++ b/exercises/practice/bob/.meta/example.arr @@ -0,0 +1,59 @@ +provide: response end + +import lists as L +import either as EI + +fun response(hey-bob): + trimmed = [list: "\n", "\t", " ", "\r"].foldl( + lam(elt, acc): + string-replace(acc, elt, "") + end, hey-bob) + + is-shouting = lam(): + uppercase = string-explode("ABCDEFGHIJKLMNOPQRSTUVWXYZ") + lowercase = string-explode("abcdefghijklmnopqrstuvwxyz") + + index-of = lam(item, l): + find-item = lam(acc, elt): + ask: + | elt == item then: + EI.right(acc) + | otherwise: + EI.left(acc + 1) + end + end + L.fold-while(find-item, 0, l) + end + + only-the-letters = string-explode(trimmed).filter(lam(c): + in-case = lam(l): index-of(c, l) <> l.length() end + + in-case(uppercase) or in-case(lowercase) + end).join-str("") + + if only-the-letters == "": + false + else: + only-the-letters == string-to-upper(only-the-letters) + end + end + + is-silence = lam(): trimmed == "" end + + is-question = lam(): + last-index = ask: + | trimmed <> "" then: string-length(trimmed) - 1 + | otherwise: 0 + end + + string-char-at(trimmed, last-index) == "?" + end + + ask: + | is-silence() then: "Fine. Be that way!" + | is-shouting() and is-question() then: "Calm down, I know what I'm doing!" + | is-shouting() then: 'Whoa, chill out!' + | is-question() then: "Sure." + | otherwise: "Whatever." + end +end \ No newline at end of file diff --git a/exercises/practice/bob/.meta/tests.toml b/exercises/practice/bob/.meta/tests.toml new file mode 100644 index 0000000..ea47d6b --- /dev/null +++ b/exercises/practice/bob/.meta/tests.toml @@ -0,0 +1,85 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[e162fead-606f-437a-a166-d051915cea8e] +description = "stating something" + +[73a966dc-8017-47d6-bb32-cf07d1a5fcd9] +description = "shouting" + +[d6c98afd-df35-4806-b55e-2c457c3ab748] +description = "shouting gibberish" + +[8a2e771d-d6f1-4e3f-b6c6-b41495556e37] +description = "asking a question" + +[81080c62-4e4d-4066-b30a-48d8d76920d9] +description = "asking a numeric question" + +[2a02716d-685b-4e2e-a804-2adaf281c01e] +description = "asking gibberish" + +[c02f9179-ab16-4aa7-a8dc-940145c385f7] +description = "talking forcefully" + +[153c0e25-9bb5-4ec5-966e-598463658bcd] +description = "using acronyms in regular speech" + +[a5193c61-4a92-4f68-93e2-f554eb385ec6] +description = "forceful question" + +[a20e0c54-2224-4dde-8b10-bd2cdd4f61bc] +description = "shouting numbers" + +[f7bc4b92-bdff-421e-a238-ae97f230ccac] +description = "no letters" + +[bb0011c5-cd52-4a5b-8bfb-a87b6283b0e2] +description = "question with no letters" + +[496143c8-1c31-4c01-8a08-88427af85c66] +description = "shouting with special characters" + +[e6793c1c-43bd-4b8d-bc11-499aea73925f] +description = "shouting with no exclamation mark" + +[aa8097cc-c548-4951-8856-14a404dd236a] +description = "statement containing question mark" + +[9bfc677d-ea3a-45f2-be44-35bc8fa3753e] +description = "non-letters with question" + +[8608c508-f7de-4b17-985b-811878b3cf45] +description = "prattling on" + +[bc39f7c6-f543-41be-9a43-fd1c2f753fc0] +description = "silence" + +[d6c47565-372b-4b09-b1dd-c40552b8378b] +description = "prolonged silence" + +[4428f28d-4100-4d85-a902-e5a78cb0ecd3] +description = "alternate silence" + +[66953780-165b-4e7e-8ce3-4bcb80b6385a] +description = "multiple line question" + +[5371ef75-d9ea-4103-bcfa-2da973ddec1b] +description = "starting with whitespace" + +[05b304d6-f83b-46e7-81e0-4cd3ca647900] +description = "ending with whitespace" + +[72bd5ad3-9b2f-4931-a988-dce1f5771de2] +description = "other whitespace" + +[12983553-8601-46a8-92fa-fcaa3bc4a2a0] +description = "non-question ending with whitespace" diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr new file mode 100644 index 0000000..26bf815 --- /dev/null +++ b/exercises/practice/bob/bob-test.arr @@ -0,0 +1,176 @@ +include file("bob.arr") + +check "stating something": + input = "Tom-ay-to, tom-aaaah-to." + expected = "Whatever." + + response(input) is expected +end + +check "shouting": + input = "WATCH OUT!" + expected = "Whoa, chill out!" + + response(input) is expected +end + +check "shouting gibberish": + input = "FCECDFCAAB" + expected = "Whoa, chill out!" + + response(input) is expected +end + +check "asking a question": + input = "Does this cryogenic chamber make me look fat?" + expected = "Sure." + + response(input) is expected +end + +check "asking a numeric question": + input = "You are, what, like 15?" + expected = "Sure." + + response(input) is expected +end + +check "asking gibberish": + input = "fffbbcbeab?" + expected = "Sure." + + response(input) is expected +end + +check "talking forcefully": + input = "Hi there!" + expected = "Whatever." + + response(input) is expected +end + +check "using acronyms in regular speech": + input = "It's OK if you don't want to go work for NASA." + expected = "Whatever." + + response(input) is expected +end + +check "forceful question": + input = "WHAT'S GOING ON?" + expected = "Calm down, I know what I'm doing!" + + response(input) is expected +end + +check "shouting numbers": + input = "1, 2, 3 GO!" + expected = "Whoa, chill out!" + + response(input) is expected +end + +check "no letters": + input = "1, 2, 3" + expected = "Whatever." + + response(input) is expected +end + +check "question with no letters": + input = "4?" + expected = "Sure." + + response(input) is expected +end + +check "shouting with special characters": + input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!" + expected = "Whoa, chill out!" + + response(input) is expected +end + +check "shouting with no exclamation mark": + input = "I HATE THE DENTIST" + expected = "Whoa, chill out!" + + response(input) is expected +end + +check "statement containing question mark": + input = "Ending with ? means a question." + expected = "Whatever." + + response(input) is expected +end + +check "non-letters with question": + input = ":) ?" + expected = "Sure." + + response(input) is expected +end + +check "prattling on": + input = "Wait! Hang on. Are you going to be OK?" + expected = "Sure." + + response(input) is expected +end + +check "silence": + input = "" + expected = "Fine. Be that way!" + + response(input) is expected +end + +check "prolonged silence": + input = " " + expected = "Fine. Be that way!" + + response(input) is expected +end + +check "alternate silence": + input = "\t\t\t\t\t\t\t\t\t\t" + expected = "Fine. Be that way!" + + response(input) is expected +end + +check "multiple line question": + input = "\nDoes this cryogenic chamber make me look fat?\nNo." + expected = "Whatever." + + response(input) is expected +end + +check "starting with whitespace": + input = " hmmmmmmm..." + expected = "Whatever." + + response(input) is expected +end + +check "ending with whitespace": + input = "Okay if like my spacebar quite a bit? " + expected = "Sure." + + response(input) is expected +end + +check "other whitespace": + input = "\n\r \t" + expected = "Fine. Be that way!" + + response(input) is expected +end + +check "non-question ending with whitespace": + input = "This is a statement ending with whitespace " + expected = "Whatever." + + response(input) is expected +end \ No newline at end of file diff --git a/exercises/practice/bob/bob.arr b/exercises/practice/bob/bob.arr new file mode 100644 index 0000000..8aa60b0 --- /dev/null +++ b/exercises/practice/bob/bob.arr @@ -0,0 +1,5 @@ +provide: response end + +fun response(hey-bob): + raise("Please implement the response function") +end From f2c6550e678711b124d332a4563aba3135516411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 9 Jul 2023 22:49:50 -0700 Subject: [PATCH 025/244] Add series exercise (#38) --- config.json | 11 ++++- .../practice/series/.docs/instructions.md | 19 ++++++++ exercises/practice/series/.meta/config.json | 19 ++++++++ exercises/practice/series/.meta/example.arr | 17 +++++++ exercises/practice/series/.meta/tests.toml | 43 ++++++++++++++++++ exercises/practice/series/series-test.arr | 45 +++++++++++++++++++ exercises/practice/series/series.arr | 5 +++ 7 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 exercises/practice/series/.docs/instructions.md create mode 100644 exercises/practice/series/.meta/config.json create mode 100644 exercises/practice/series/.meta/example.arr create mode 100644 exercises/practice/series/.meta/tests.toml create mode 100644 exercises/practice/series/series-test.arr create mode 100644 exercises/practice/series/series.arr diff --git a/config.json b/config.json index 74e121e..c803487 100644 --- a/config.json +++ b/config.json @@ -124,7 +124,7 @@ "difficulty": 3, "status": "beta" }, - { + { "slug": "raindrops", "name": "Raindrops", "uuid": "8dcd513e-93f5-499b-a388-0a7f3c7898dd", @@ -142,6 +142,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "series", + "name": "Series", + "uuid": "f58b5305-3bf2-4c15-8aac-339a97204d06", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "secret-handshake", "name": "Secret Handshake", diff --git a/exercises/practice/series/.docs/instructions.md b/exercises/practice/series/.docs/instructions.md new file mode 100644 index 0000000..e32cc38 --- /dev/null +++ b/exercises/practice/series/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +Given a string of digits, output all the contiguous substrings of length `n` in that string in the order that they appear. + +For example, the string "49142" has the following 3-digit series: + +- "491" +- "914" +- "142" + +And the following 4-digit series: + +- "4914" +- "9142" + +And if you ask for a 6-digit series from a 5-digit string, you deserve whatever you get. + +Note that these series are only required to occupy *adjacent positions* in the input; +the digits need not be *numerically consecutive*. diff --git a/exercises/practice/series/.meta/config.json b/exercises/practice/series/.meta/config.json new file mode 100644 index 0000000..41f9a35 --- /dev/null +++ b/exercises/practice/series/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "series.arr" + ], + "test": [ + "series-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a string of digits, output all the contiguous substrings of length `n` in that string.", + "source": "A subset of the Problem 8 at Project Euler", + "source_url": "https://projecteuler.net/problem=8" +} diff --git a/exercises/practice/series/.meta/example.arr b/exercises/practice/series/.meta/example.arr new file mode 100644 index 0000000..e6abc0d --- /dev/null +++ b/exercises/practice/series/.meta/example.arr @@ -0,0 +1,17 @@ +provide: series end + +fun slices(series, len): + ask: + | series == "" then: + raise("series cannot be empty") + | len == 0 then: + raise("slice length cannot be zero") + | len < 0 then: + raise("slice length cannot be negative") + | string-length(series) < len then: + raise("slice length cannot be greater than series length") + | otherwise: + range(0, (string-length(series) - len) + 1).map( + lam(idx): string-substring(series, idx, idx + len) end) + end +end \ No newline at end of file diff --git a/exercises/practice/series/.meta/tests.toml b/exercises/practice/series/.meta/tests.toml new file mode 100644 index 0000000..9696f51 --- /dev/null +++ b/exercises/practice/series/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[7ae7a46a-d992-4c2a-9c15-a112d125ebad] +description = "slices of one from one" + +[3143b71d-f6a5-4221-aeae-619f906244d2] +description = "slices of one from two" + +[dbb68ff5-76c5-4ccd-895a-93dbec6d5805] +description = "slices of two" + +[19bbea47-c987-4e11-a7d1-e103442adf86] +description = "slices of two overlap" + +[8e17148d-ba0a-4007-a07f-d7f87015d84c] +description = "slices can include duplicates" + +[bd5b085e-f612-4f81-97a8-6314258278b0] +description = "slices of a long series" + +[6d235d85-46cf-4fae-9955-14b6efef27cd] +description = "slice length is too large" + +[d7957455-346d-4e47-8e4b-87ed1564c6d7] +description = "slice length is way too large" + +[d34004ad-8765-4c09-8ba1-ada8ce776806] +description = "slice length cannot be zero" + +[10ab822d-8410-470a-a85d-23fbeb549e54] +description = "slice length cannot be negative" + +[c7ed0812-0e4b-4bf3-99c4-28cbbfc246a2] +description = "empty series is invalid" diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr new file mode 100644 index 0000000..bd56ab1 --- /dev/null +++ b/exercises/practice/series/series-test.arr @@ -0,0 +1,45 @@ +include file("series.arr") + +check "slices of one from one": + slices("1", 1) is [list: "1"] +end + +check "slices of one from two": + slices("12", 1) is [list: "1", "2"] +end + +check "slices of two": + slices("35", 2) is [list: "35"] +end + +check "slices of two overlap": + slices("9142", 2) is [list: "91", "14", "42"] +end + +check "slices can include duplicates": + slices("777777", 3) is [list: "777", "777", "777", "777"] +end + +check "slices of a long series": + slices("918493904243", 5) is [list: "91849", "18493", "84939", "49390", "93904", "39042", "90424", "04243"] +end + +check "slice length is too large": + slices("12345", 6) raises "slice length cannot be greater than series length" +end + +check "slice length is way too large": + slices("12345", 42) raises "slice length cannot be greater than series length" +end + +check "slice length cannot be zero": + slices("12345", 0) raises "slice length cannot be zero" +end + +check "slice length cannot be negative": + slices("12345", -1) raises "slice length cannot be negative" +end + +check "empty series is invalid": + slices("", 1) raises "series cannot be empty" +end \ No newline at end of file diff --git a/exercises/practice/series/series.arr b/exercises/practice/series/series.arr new file mode 100644 index 0000000..2c36043 --- /dev/null +++ b/exercises/practice/series/series.arr @@ -0,0 +1,5 @@ +provide: slices end + +fun slices(series, len): + raise("Implement the slices function") +end From e7ab18336e9c86059c06121ad709dd1c3374ec9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 9 Jul 2023 22:51:01 -0700 Subject: [PATCH 026/244] Update config.json --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index c803487..f9e4ca5 100644 --- a/config.json +++ b/config.json @@ -72,7 +72,7 @@ }, { "slug": "etl", - "name": "Etl", + "name": "ETL", "uuid": "a86c1654-da80-46c9-aba5-a2eec3f66262", "practices": [], "prerequisites": [], From 6d773468389231727d7a66f56f89ba8469b05097 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 9 Jul 2023 23:37:39 -0700 Subject: [PATCH 027/244] add difference of squares exercise (#39) --- config.json | 9 +++++ .../.docs/instructions.md | 14 +++++++ .../difference-of-squares/.meta/config.json | 19 ++++++++++ .../difference-of-squares/.meta/example.arr | 14 +++++++ .../difference-of-squares/.meta/tests.toml | 37 +++++++++++++++++++ .../difference-of-squares-test.arr | 37 +++++++++++++++++++ .../difference-of-squares.arr | 13 +++++++ 7 files changed, 143 insertions(+) create mode 100644 exercises/practice/difference-of-squares/.docs/instructions.md create mode 100644 exercises/practice/difference-of-squares/.meta/config.json create mode 100644 exercises/practice/difference-of-squares/.meta/example.arr create mode 100644 exercises/practice/difference-of-squares/.meta/tests.toml create mode 100644 exercises/practice/difference-of-squares/difference-of-squares-test.arr create mode 100644 exercises/practice/difference-of-squares/difference-of-squares.arr diff --git a/config.json b/config.json index f9e4ca5..cd40d33 100644 --- a/config.json +++ b/config.json @@ -97,6 +97,15 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "difference-of-squares", + "name": "Difference of Squares", + "uuid": "6968b216-4478-4778-93d3-197ed849fd40", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "leap", "name": "Leap", diff --git a/exercises/practice/difference-of-squares/.docs/instructions.md b/exercises/practice/difference-of-squares/.docs/instructions.md new file mode 100644 index 0000000..39c38b5 --- /dev/null +++ b/exercises/practice/difference-of-squares/.docs/instructions.md @@ -0,0 +1,14 @@ +# Instructions + +Find the difference between the square of the sum and the sum of the squares of the first N natural numbers. + +The square of the sum of the first ten natural numbers is +(1 + 2 + ... + 10)² = 55² = 3025. + +The sum of the squares of the first ten natural numbers is +1² + 2² + ... + 10² = 385. + +Hence the difference between the square of the sum of the first ten natural numbers and the sum of the squares of the first ten natural numbers is 3025 - 385 = 2640. + +You are not expected to discover an efficient solution to this yourself from first principles; research is allowed, indeed, encouraged. +Finding the best algorithm for the problem is a key skill in software engineering. diff --git a/exercises/practice/difference-of-squares/.meta/config.json b/exercises/practice/difference-of-squares/.meta/config.json new file mode 100644 index 0000000..b80430e --- /dev/null +++ b/exercises/practice/difference-of-squares/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "difference-of-squares.arr" + ], + "test": [ + "difference-of-squares-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.", + "source": "Problem 6 at Project Euler", + "source_url": "https://projecteuler.net/problem=6" +} diff --git a/exercises/practice/difference-of-squares/.meta/example.arr b/exercises/practice/difference-of-squares/.meta/example.arr new file mode 100644 index 0000000..35e179d --- /dev/null +++ b/exercises/practice/difference-of-squares/.meta/example.arr @@ -0,0 +1,14 @@ +provide: square-of-sum, sum-of-squares, difference-of-squares end + +fun square-of-sum(number): + sum = (number * (number + 1)) / 2 + sum * sum +end + +fun sum-of-squares(number): + (number * (number + 1) * ((2 * number) + 1)) / 6 +end + +fun difference-of-squares(number): + square-of-sum(number) - sum-of-squares(number) +end \ No newline at end of file diff --git a/exercises/practice/difference-of-squares/.meta/tests.toml b/exercises/practice/difference-of-squares/.meta/tests.toml new file mode 100644 index 0000000..e54414c --- /dev/null +++ b/exercises/practice/difference-of-squares/.meta/tests.toml @@ -0,0 +1,37 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[e46c542b-31fc-4506-bcae-6b62b3268537] +description = "Square the sum of the numbers up to the given number -> square of sum 1" + +[9b3f96cb-638d-41ee-99b7-b4f9c0622948] +description = "Square the sum of the numbers up to the given number -> square of sum 5" + +[54ba043f-3c35-4d43-86ff-3a41625d5e86] +description = "Square the sum of the numbers up to the given number -> square of sum 100" + +[01d84507-b03e-4238-9395-dd61d03074b5] +description = "Sum the squares of the numbers up to the given number -> sum of squares 1" + +[c93900cd-8cc2-4ca4-917b-dd3027023499] +description = "Sum the squares of the numbers up to the given number -> sum of squares 5" + +[94807386-73e4-4d9e-8dec-69eb135b19e4] +description = "Sum the squares of the numbers up to the given number -> sum of squares 100" + +[44f72ae6-31a7-437f-858d-2c0837adabb6] +description = "Subtract sum of squares from square of sums -> difference of squares 1" + +[005cb2bf-a0c8-46f3-ae25-924029f8b00b] +description = "Subtract sum of squares from square of sums -> difference of squares 5" + +[b1bf19de-9a16-41c0-a62b-1f02ecc0b036] +description = "Subtract sum of squares from square of sums -> difference of squares 100" diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr new file mode 100644 index 0000000..99558a1 --- /dev/null +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -0,0 +1,37 @@ +include file("difference-of-squares.arr") + +check "Square the sum of the numbers up to the given number -> square of sum 1": + square-of-sum(1) is 1 +end + +check "Square the sum of the numbers up to the given number -> square of sum 5": + square-of-sum(5) is 225 +end + +check "Square the sum of the numbers up to the given number -> square of sum 100": + square-of-sum(100) is 25502500 +end + +check "Sum the squares of the numbers up to the given number -> sum of squares 1": + sum-of-squares(1) is 1 +end + +check "Sum the squares of the numbers up to the given number -> sum of squares 5": + sum-of-squares(5) is 55 +end + +check "Sum the squares of the numbers up to the given number -> sum of squares 100": + sum-of-squares(100) is 338350 +end + +check "Subtract sum of squares from square of sums -> difference of squares 1": + difference-of-squares(1) is 0 +end + +check "Subtract sum of squares from square of sums -> difference of squares 5": + difference-of-squares(5) is 170 +end + +check "Subtract sum of squares from square of sums -> difference of squares 100": + difference-of-squares(100) is 25164150 +end diff --git a/exercises/practice/difference-of-squares/difference-of-squares.arr b/exercises/practice/difference-of-squares/difference-of-squares.arr new file mode 100644 index 0000000..fbc6957 --- /dev/null +++ b/exercises/practice/difference-of-squares/difference-of-squares.arr @@ -0,0 +1,13 @@ +provide: square-of-sum, sum-of-squares, difference-of-squares end + +fun square-of-sum(number): + raise("please implement the square-of-sum function") +end + +fun sum-of-squares(number): + raise("please implement the sum-of-squares function") +end + +fun difference-of-squares(number): + raise("please implement the difference-of-squares function") +end \ No newline at end of file From 2e827ab006f148ce463b337693bcea9eda363298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:32:06 -0700 Subject: [PATCH 028/244] Add atbash cipher exercise (#40) --------- Co-authored-by: Andras Nagy --- config.json | 9 ++ .../atbash-cipher/.docs/instructions.md | 27 +++++ .../practice/atbash-cipher/.meta/config.json | 19 ++++ .../practice/atbash-cipher/.meta/example.arr | 0 .../practice/atbash-cipher/.meta/tests.toml | 52 ++++++++++ .../atbash-cipher/atbash-cipher-test.arr | 99 +++++++++++++++++++ .../practice/atbash-cipher/atbash-cipher.arr | 57 +++++++++++ 7 files changed, 263 insertions(+) create mode 100644 exercises/practice/atbash-cipher/.docs/instructions.md create mode 100644 exercises/practice/atbash-cipher/.meta/config.json create mode 100644 exercises/practice/atbash-cipher/.meta/example.arr create mode 100644 exercises/practice/atbash-cipher/.meta/tests.toml create mode 100644 exercises/practice/atbash-cipher/atbash-cipher-test.arr create mode 100644 exercises/practice/atbash-cipher/atbash-cipher.arr diff --git a/config.json b/config.json index cd40d33..4ae9b4a 100644 --- a/config.json +++ b/config.json @@ -124,6 +124,15 @@ "difficulty": 2, "status": "beta" }, + { + "slug": "atbash-cipher", + "name": "Atbash Cipher", + "uuid": "7263c877-5ddd-4c48-886f-e3f57967f649", + "practices": [], + "prerequisites": [], + "difficulty": 3, + "status": "beta" + }, { "slug": "collatz-conjecture", "name": "Collatz Conjecture", diff --git a/exercises/practice/atbash-cipher/.docs/instructions.md b/exercises/practice/atbash-cipher/.docs/instructions.md new file mode 100644 index 0000000..21ca2ce --- /dev/null +++ b/exercises/practice/atbash-cipher/.docs/instructions.md @@ -0,0 +1,27 @@ +# Instructions + +Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East. + +The Atbash cipher is a simple substitution cipher that relies on transposing all the letters in the alphabet such that the resulting alphabet is backwards. +The first letter is replaced with the last letter, the second with the second-last, and so on. + +An Atbash cipher for the Latin alphabet would be as follows: + +```text +Plain: abcdefghijklmnopqrstuvwxyz +Cipher: zyxwvutsrqponmlkjihgfedcba +``` + +It is a very weak cipher because it only has one possible key, and it is a simple mono-alphabetic substitution cipher. +However, this may not have been an issue in the cipher's time. + +Ciphertext is written out in groups of fixed length, the traditional group size being 5 letters, leaving numbers unchanged, and punctuation is excluded. +This is to make it harder to guess things based on word boundaries. +All text will be encoded as lowercase letters. + +## Examples + +- Encoding `test` gives `gvhg` +- Encoding `x123 yes` gives `c123b vh` +- Decoding `gvhg` gives `test` +- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog` diff --git a/exercises/practice/atbash-cipher/.meta/config.json b/exercises/practice/atbash-cipher/.meta/config.json new file mode 100644 index 0000000..246b368 --- /dev/null +++ b/exercises/practice/atbash-cipher/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "atbash-cipher.arr" + ], + "test": [ + "atbash-cipher-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Atbash" +} diff --git a/exercises/practice/atbash-cipher/.meta/example.arr b/exercises/practice/atbash-cipher/.meta/example.arr new file mode 100644 index 0000000..e69de29 diff --git a/exercises/practice/atbash-cipher/.meta/tests.toml b/exercises/practice/atbash-cipher/.meta/tests.toml new file mode 100644 index 0000000..c082d07 --- /dev/null +++ b/exercises/practice/atbash-cipher/.meta/tests.toml @@ -0,0 +1,52 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[2f47ebe1-eab9-4d6b-b3c6-627562a31c77] +description = "encode -> encode yes" + +[b4ffe781-ea81-4b74-b268-cc58ba21c739] +description = "encode -> encode no" + +[10e48927-24ab-4c4d-9d3f-3067724ace00] +description = "encode -> encode OMG" + +[d59b8bc3-509a-4a9a-834c-6f501b98750b] +description = "encode -> encode spaces" + +[31d44b11-81b7-4a94-8b43-4af6a2449429] +description = "encode -> encode mindblowingly" + +[d503361a-1433-48c0-aae0-d41b5baa33ff] +description = "encode -> encode numbers" + +[79c8a2d5-0772-42d4-b41b-531d0b5da926] +description = "encode -> encode deep thought" + +[9ca13d23-d32a-4967-a1fd-6100b8742bab] +description = "encode -> encode all the letters" + +[bb50e087-7fdf-48e7-9223-284fe7e69851] +description = "decode -> decode exercism" + +[ac021097-cd5d-4717-8907-b0814b9e292c] +description = "decode -> decode a sentence" + +[18729de3-de74-49b8-b68c-025eaf77f851] +description = "decode -> decode numbers" + +[0f30325f-f53b-415d-ad3e-a7a4f63de034] +description = "decode -> decode all the letters" + +[39640287-30c6-4c8c-9bac-9d613d1a5674] +description = "decode -> decode with too many spaces" + +[b34edf13-34c0-49b5-aa21-0768928000d5] +description = "decode -> decode with no spaces" diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr new file mode 100644 index 0000000..e1a2912 --- /dev/null +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -0,0 +1,99 @@ +include file("atbash-cipher.arr") + +check "encode -> encode yes": + input = "yes" + expected = "bvh" + + encode(input) is expected +end + +check "encode -> encode no": + input = "no" + expected = "ml" + + encode(input) is expected +end + +check "encode -> encode OMG": + input = "OMG" + expected = "lnt" + + encode(input) is expected +end + +check "encode -> encode spaces": + input = "O M G" + expected = "lnt" + + encode(input) is expected +end + +check "encode -> encode mindblowingly": + input = "mindblowingly" + expected = "nrmwy oldrm tob" + + encode(input) is expected +end + +check "encode -> encode numbers": + input = "Testing,1 2 3, testing." + expected = "gvhgr mt123 gvhgr mt" + + encode(input) is expected +end + +check "encode -> encode deep thought": + input = "Truth is fiction." + expected = "gifgs rhurx grlm" + + encode(input) is expected +end + +check "encode -> encode all the letters": + input = "The quick brown fox jumps over the lazy dog." + expected = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + + encode(input) is expected +end + +check "decode -> decode exercism": + input = "vcvix rhn" + expected = "exercism" + + decode(input) is expected +end + +check "decode -> decode a sentence": + input = "zmlyh gzxov rhlug vmzhg vkkrm thglm v" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected +end + +check "decode -> decode numbers": + input = "gvhgr mt123 gvhgr mt" + expected = "testing123testing" + + decode(input) is expected +end + +check "decode -> decode all the letters": + input = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + expected = "thequickbrownfoxjumpsoverthelazydog" + + decode(input) is expected +end + +check "decode -> decode with too many spaces": + input = "vc vix r hn" + expected = "exercism" + + decode(input) is expected +end + +check "decode -> decode with no spaces": + input = "zmlyhgzxovrhlugvmzhgvkkrmthglmv" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected +end \ No newline at end of file diff --git a/exercises/practice/atbash-cipher/atbash-cipher.arr b/exercises/practice/atbash-cipher/atbash-cipher.arr new file mode 100644 index 0000000..180e4b8 --- /dev/null +++ b/exercises/practice/atbash-cipher/atbash-cipher.arr @@ -0,0 +1,57 @@ +provide: encode, decode end + +include string-dict + +TRANSCRIBE-PAIRS = fold2( + lam(acc, elt1, elt2): + key = string-from-code-point(elt1) + value = string-from-code-point(elt2) + acc.set(key, value) + end, + [string-dict: ], + range(97, 123), + range(97, 123).reverse() +) + +fun chunk-a-list(lst, n): + ask: + | lst.length() <= n then: + [list: lst] + | otherwise: + [list: lst.take(n)] + chunk-a-list(lst.drop(n), n) + end +end + +fun transcribe(phrase): + string-explode( + string-to-lower(phrase)).filter( + lam(char): + code-point = string-to-code-point(char) + ask: + | (48 <= code-point) and (code-point <= 57) then: + true + | (97 <= code-point) and (code-point <= 122) then: + true + | otherwise: + false + end + end).map( + lam(char): + cases(Option) TRANSCRIBE-PAIRS.get(char): + | some(a) => a + | none => char + end + end).join-str("") +end + +fun decode(phrase): + transcribe(phrase) +end + +fun encode(phrase): + encrypted = transcribe(phrase) + chunk-a-list( + string-explode(encrypted), 5).map( + lam(l): l.join-str("") end + ).join-str(" ") +end \ No newline at end of file From 69a6ce58e1c23cbd69bdeb52aa13bc7cd4c1eaf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:10:40 -0700 Subject: [PATCH 029/244] Update platform tags in config.json Pyret uses a WebSocket-based compile server which doesn't run on Windows itself but works fine on WSL, MacOS, and Linux. --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 4ae9b4a..065f3a4 100644 --- a/config.json +++ b/config.json @@ -279,7 +279,7 @@ "execution_mode/compiled", "paradigm/functional", "typing/dynamic", - "platform/windows", + "platform/web", "platform/mac", "platform/linux", "runtime/language_specific", From be8a18b5dec99581bc44b8188137b8749e5a7608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:12:19 -0700 Subject: [PATCH 030/244] Add two-fer exercise (#25) --- config.json | 8 ++ .../practice/two-fer/.approaches/config.json | 7 ++ .../two-fer/.approaches/introduction.md | 79 +++++++++++++++++++ .../practice/two-fer/.docs/instructions.md | 25 ++++++ .../practice/two-fer/.docs/introduction.md | 8 ++ exercises/practice/two-fer/.meta/config.json | 18 +++++ exercises/practice/two-fer/.meta/example.arr | 7 ++ exercises/practice/two-fer/.meta/tests.toml | 19 +++++ exercises/practice/two-fer/two-fer-test.arr | 13 +++ exercises/practice/two-fer/two-fer.arr | 5 ++ 10 files changed, 189 insertions(+) create mode 100644 exercises/practice/two-fer/.approaches/config.json create mode 100644 exercises/practice/two-fer/.approaches/introduction.md create mode 100644 exercises/practice/two-fer/.docs/instructions.md create mode 100644 exercises/practice/two-fer/.docs/introduction.md create mode 100644 exercises/practice/two-fer/.meta/config.json create mode 100644 exercises/practice/two-fer/.meta/example.arr create mode 100644 exercises/practice/two-fer/.meta/tests.toml create mode 100644 exercises/practice/two-fer/two-fer-test.arr create mode 100644 exercises/practice/two-fer/two-fer.arr diff --git a/config.json b/config.json index 065f3a4..532cfee 100644 --- a/config.json +++ b/config.json @@ -115,6 +115,14 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "two-fer", + "name": "Two Fer", + "uuid": "198c1176-536a-49db-828b-0dc1655d7da9", + "practices": [], + "prerequisites": [], + "difficulty": 1, + }, { "slug": "space-age", "name": "Space Age", diff --git a/exercises/practice/two-fer/.approaches/config.json b/exercises/practice/two-fer/.approaches/config.json new file mode 100644 index 0000000..1b0f015 --- /dev/null +++ b/exercises/practice/two-fer/.approaches/config.json @@ -0,0 +1,7 @@ +{ + "introduction": { + "authors": ["BNAndras"], + "contributors": [] + }, + "approaches": [] +} diff --git a/exercises/practice/two-fer/.approaches/introduction.md b/exercises/practice/two-fer/.approaches/introduction.md new file mode 100644 index 0000000..5fce203 --- /dev/null +++ b/exercises/practice/two-fer/.approaches/introduction.md @@ -0,0 +1,79 @@ +# Introduction + +There are generally two approaches for solving Two Fer. +One approach would be using an [`if expression`][if-expression] to test a passed-in value. +A variant of this approach would be an [`ask expression`][ask-expression] to concisely write the `if expression`. + +## General guidance + +Regardless of the approach used, Pyret doesn't allow one to [re-assign a variable binding][shadowing] that is already in scope +Therefore, you can't rebind `name`. + + +## Approach: `if` expressions + +```pyret +fun two-fer(name): + fun get-name(): + if name == "": + "you" + else: + name + end + end + + "One for " + get-name() + ", one for me." +end + + +``` + +## Approach: `ask` expressions + +```pyret +fun two-fer(name): + fun get-name(): + ask: + | name == "" then: "you" + | otherwise: name + end + end + + "One for " + get-name() + ", one for me." +end + +``` + +## Other approaches + +Besides the aforementioned, idiomatic approaches, you could also approach the exercise as follows: + +### Other approach: Option datatypes + +Pyret provides a type of data called an [`Option`][option-datatype] that can represent a piece of data that is or is not available. The value `none` represents missing or invalid data and `some` wraps around data that is present. An empty incoming string `""` is still considered valid data so we'd need to replace it with `none`. Once we've done that, we can use [`or-else`][or-else] to either return the wrapped value or provide a default value when the Option is `none`. + +```pyret +fun two-fer(name): + fun get-option(): + if name == "": + none + else: + some(name) + end + end + + option = get-option() + "One for " + option.or-else("you") + ", one for me." +end + +``` + +## Which approach to use? + +Either the `ask` or `if` expressions work well here and work similarly so the decision is largely stylistic. + +[if-expression]: https://pyret.org/docs/latest/Expressions.html#%28elem._%28bnf-prod._%28.Pyret._if-expr%29%29%29 +[ask-expression]: https://pyret.org/docs/latest/Expressions.html#%28part._s~3aask-expr%29 +[shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 +[option-datatype]: https://pyret.org/docs/latest/option.html +[or-else]: https://pyret.org/docs/latest/option.html#%28idx._%28gentag._342%29%29 diff --git a/exercises/practice/two-fer/.docs/instructions.md b/exercises/practice/two-fer/.docs/instructions.md new file mode 100644 index 0000000..37aa752 --- /dev/null +++ b/exercises/practice/two-fer/.docs/instructions.md @@ -0,0 +1,25 @@ +# Instructions + +Your task is to determine what you will say as you give away the extra cookie. + +If your friend likes cookies, and is named Do-yun, then you will say: + +```text +One for Do-yun, one for me. +``` + +If your friend doesn't like cookies, you give the cookie to the next person in line at the bakery. +Since you don't know their name, you will say _you_ instead. + +```text +One for you, one for me. +``` + +Here are some examples: + +| Name | Dialogue | +| :----- | :-------------------------- | +| Alice | One for Alice, one for me. | +| Bohdan | One for Bohdan, one for me. | +| | One for you, one for me. | +| Zaphod | One for Zaphod, one for me. | diff --git a/exercises/practice/two-fer/.docs/introduction.md b/exercises/practice/two-fer/.docs/introduction.md new file mode 100644 index 0000000..8c12439 --- /dev/null +++ b/exercises/practice/two-fer/.docs/introduction.md @@ -0,0 +1,8 @@ +# Introduction + +In some English accents, when you say "two for" quickly, it sounds like "two fer". +Two-for-one is a way of saying that if you buy one, you also get one for free. +So the phrase "two-fer" often implies a two-for-one offer. + +Imagine a bakery that has a holiday offer where you can buy two cookies for the price of one ("two-fer one!"). +You go for the offer and (very generously) decide to give the extra cookie to a friend. diff --git a/exercises/practice/two-fer/.meta/config.json b/exercises/practice/two-fer/.meta/config.json new file mode 100644 index 0000000..e4adcc5 --- /dev/null +++ b/exercises/practice/two-fer/.meta/config.json @@ -0,0 +1,18 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "two-fer.arr" + ], + "test": [ + "two-fer-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Create a sentence of the form \"One for X, one for me.\".", + "source_url": "https://github.com/exercism/problem-specifications/issues/757" +} diff --git a/exercises/practice/two-fer/.meta/example.arr b/exercises/practice/two-fer/.meta/example.arr new file mode 100644 index 0000000..6f014ef --- /dev/null +++ b/exercises/practice/two-fer/.meta/example.arr @@ -0,0 +1,7 @@ +provide: two-fer end + +fun two-fer(name): + ask: + | name == "" then: "One for you, one for me." + | otherwise: "One for " + name + ", one for me." +end diff --git a/exercises/practice/two-fer/.meta/tests.toml b/exercises/practice/two-fer/.meta/tests.toml new file mode 100644 index 0000000..d0e3857 --- /dev/null +++ b/exercises/practice/two-fer/.meta/tests.toml @@ -0,0 +1,19 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[1cf3e15a-a3d7-4a87-aeb3-ba1b43bc8dce] +description = "no name given" + +[b4c6dbb8-b4fb-42c2-bafd-10785abe7709] +description = "a name given" + +[3549048d-1a6e-4653-9a79-b0bda163e8d5] +description = "another name given" diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr new file mode 100644 index 0000000..3160bf4 --- /dev/null +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -0,0 +1,13 @@ +include file("two-fer.arr") + +check "no name given": + two-fer("") is "One for you, one for me." +end + +check "a name given": + two-fer("Alice") is "One for Alice, one for me." +end + +check "another name given": + two-fer("Bob") is "One for Bob, one for me." +end diff --git a/exercises/practice/two-fer/two-fer.arr b/exercises/practice/two-fer/two-fer.arr new file mode 100644 index 0000000..4301e14 --- /dev/null +++ b/exercises/practice/two-fer/two-fer.arr @@ -0,0 +1,5 @@ +provide: two-fer end + +fun two-fer(name): + panic("Please implement the two-fer function") +end From 849093394a45291bb479a780504a3f8a2c9a2ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:14:44 -0700 Subject: [PATCH 031/244] Update typo in config.json --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 532cfee..323757e 100644 --- a/config.json +++ b/config.json @@ -121,7 +121,7 @@ "uuid": "198c1176-536a-49db-828b-0dc1655d7da9", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 1 }, { "slug": "space-age", From 76cfe07565c6fbf59bb2e506c41a95dbb95090c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 19 Jul 2023 21:43:07 -0700 Subject: [PATCH 032/244] Testing CI (#43) --- .github/workflows/test.yml | 19 ++- package-lock.json | 289 +++++++++++++++++++++++++++++++++++++ package.json | 17 +++ 3 files changed, 315 insertions(+), 10 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67a8ba0..210cb63 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,27 +13,26 @@ # Requires scripts: # - bin/test -name: / Test +name: pyret / Test on: push: branches: [main] pull_request: - workflow_dispatch: jobs: ci: - runs-on: + runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Use - uses: - + - uses: actions/checkout@v3 + - name: Use Node.js LTS (18.x) + uses: actions/setup-node@v3 + with: + node-version: '18' + - name: Install project dependencies - run: + run: npm ci - name: Verify all exercises run: bin/verify-exercises diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..77a3168 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,289 @@ +{ + "name": "@exercism/pyret", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@exercism/pyret", + "license": "MIT", + "dependencies": { + "pyret-npm": "~0.0.23" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz", + "integrity": "sha512-d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==", + "dependencies": { + "array-back": "^2.0.0", + "chalk": "^2.4.1", + "table-layout": "^0.4.3", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/pyret-npm": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.23.tgz", + "integrity": "sha512-d3AZkxuAJxwXCxSHoCvb4gc4JtU/ry61S1nsbPrf701nRdpe2ReVAiaEYYRrad3UI6w50Tf3PLogtvKvOVQRiw==", + "dependencies": { + "command-line-args": "^5.0.2", + "command-line-usage": "^5.0.5", + "mkdirp": "^0.5.1", + "strip-ansi": "^4.0.0", + "ws": "^5.2.1" + }, + "bin": { + "pyret": "pyret.js" + } + }, + "node_modules/reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1d7a6e3 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "@exercism/pyret", + "description": "Exercism exercises in Pyret.", + "author": "Katrina Owen", + "contributors": [ + "András B. Nagy" + ], + "private": true, + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/exercism/pyret" + }, + "dependencies": { + "pyret-npm" : "~0.0.23" + } +} From aac1beec0595262e728f2028955cb83f92f489cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 19 Jul 2023 22:04:59 -0700 Subject: [PATCH 033/244] Revert "Testing CI (#43)" (#44) This reverts commit 76cfe07565c6fbf59bb2e506c41a95dbb95090c7. --- .github/workflows/test.yml | 19 +-- package-lock.json | 289 ------------------------------------- package.json | 17 --- 3 files changed, 10 insertions(+), 315 deletions(-) delete mode 100644 package-lock.json delete mode 100644 package.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 210cb63..67a8ba0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,26 +13,27 @@ # Requires scripts: # - bin/test -name: pyret / Test +name: / Test on: push: branches: [main] pull_request: + workflow_dispatch: jobs: ci: - runs-on: ubuntu-latest + runs-on: steps: - - uses: actions/checkout@v3 - - name: Use Node.js LTS (18.x) - uses: actions/setup-node@v3 - with: - node-version: '18' - + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Use + uses: + - name: Install project dependencies - run: npm ci + run: - name: Verify all exercises run: bin/verify-exercises diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 77a3168..0000000 --- a/package-lock.json +++ /dev/null @@ -1,289 +0,0 @@ -{ - "name": "@exercism/pyret", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@exercism/pyret", - "license": "MIT", - "dependencies": { - "pyret-npm": "~0.0.23" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz", - "integrity": "sha512-d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==", - "dependencies": { - "array-back": "^2.0.0", - "chalk": "^2.4.1", - "table-layout": "^0.4.3", - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/pyret-npm": { - "version": "0.0.23", - "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.23.tgz", - "integrity": "sha512-d3AZkxuAJxwXCxSHoCvb4gc4JtU/ry61S1nsbPrf701nRdpe2ReVAiaEYYRrad3UI6w50Tf3PLogtvKvOVQRiw==", - "dependencies": { - "command-line-args": "^5.0.2", - "command-line-usage": "^5.0.5", - "mkdirp": "^0.5.1", - "strip-ansi": "^4.0.0", - "ws": "^5.2.1" - }, - "bin": { - "pyret": "pyret.js" - } - }, - "node_modules/reduce-flatten": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", - "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table-layout": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", - "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", - "dependencies": { - "array-back": "^2.0.0", - "deep-extend": "~0.6.0", - "lodash.padend": "^4.6.1", - "typical": "^2.6.1", - "wordwrapjs": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wordwrapjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", - "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", - "dependencies": { - "reduce-flatten": "^1.0.1", - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" - }, - "node_modules/ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 1d7a6e3..0000000 --- a/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@exercism/pyret", - "description": "Exercism exercises in Pyret.", - "author": "Katrina Owen", - "contributors": [ - "András B. Nagy" - ], - "private": true, - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/exercism/pyret" - }, - "dependencies": { - "pyret-npm" : "~0.0.23" - } -} From 117fd173b29791e9233645bc892a8c5db56b5d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 20 Jul 2023 21:43:20 -0700 Subject: [PATCH 034/244] Add reverse string (#45) --- config.json | 8 ++++++ .../reverse-string/.docs/instructions.md | 7 +++++ .../practice/reverse-string/.meta/config.json | 19 +++++++++++++ .../practice/reverse-string/.meta/example.arr | 5 ++++ .../practice/reverse-string/.meta/tests.toml | 28 +++++++++++++++++++ .../reverse-string/reverse-string-test.arr | 25 +++++++++++++++++ .../reverse-string/reverse-string.arr | 5 ++++ 7 files changed, 97 insertions(+) create mode 100644 exercises/practice/reverse-string/.docs/instructions.md create mode 100644 exercises/practice/reverse-string/.meta/config.json create mode 100644 exercises/practice/reverse-string/.meta/example.arr create mode 100644 exercises/practice/reverse-string/.meta/tests.toml create mode 100644 exercises/practice/reverse-string/reverse-string-test.arr create mode 100644 exercises/practice/reverse-string/reverse-string.arr diff --git a/config.json b/config.json index 323757e..0dace88 100644 --- a/config.json +++ b/config.json @@ -150,6 +150,14 @@ "difficulty": 3, "status": "beta" }, + { + "slug": "reverse-string", + "name": "Reverse String", + "uuid": "69911771-a41a-4be9-b685-678def75e1b2", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "raindrops", "name": "Raindrops", diff --git a/exercises/practice/reverse-string/.docs/instructions.md b/exercises/practice/reverse-string/.docs/instructions.md new file mode 100644 index 0000000..039ee33 --- /dev/null +++ b/exercises/practice/reverse-string/.docs/instructions.md @@ -0,0 +1,7 @@ +# Instructions + +Reverse a string + +For example: +input: "cool" +output: "looc" diff --git a/exercises/practice/reverse-string/.meta/config.json b/exercises/practice/reverse-string/.meta/config.json new file mode 100644 index 0000000..9cb38bc --- /dev/null +++ b/exercises/practice/reverse-string/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "reverse-string.arr" + ], + "test": [ + "reverse-string-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Reverse a string.", + "source": "Introductory challenge to reverse an input string", + "source_url": "https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb" +} diff --git a/exercises/practice/reverse-string/.meta/example.arr b/exercises/practice/reverse-string/.meta/example.arr new file mode 100644 index 0000000..ca6ecd8 --- /dev/null +++ b/exercises/practice/reverse-string/.meta/example.arr @@ -0,0 +1,5 @@ +provide: reversed end + +fun reversed(input): + string-explode(input).reverse().join-str("") +end \ No newline at end of file diff --git a/exercises/practice/reverse-string/.meta/tests.toml b/exercises/practice/reverse-string/.meta/tests.toml new file mode 100644 index 0000000..0b04c4c --- /dev/null +++ b/exercises/practice/reverse-string/.meta/tests.toml @@ -0,0 +1,28 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[c3b7d806-dced-49ee-8543-933fd1719b1c] +description = "an empty string" + +[01ebf55b-bebb-414e-9dec-06f7bb0bee3c] +description = "a word" + +[0f7c07e4-efd1-4aaa-a07a-90b49ce0b746] +description = "a capitalized word" + +[71854b9c-f200-4469-9f5c-1e8e5eff5614] +description = "a sentence with punctuation" + +[1f8ed2f3-56f3-459b-8f3e-6d8d654a1f6c] +description = "a palindrome" + +[b9e7dec1-c6df-40bd-9fa3-cd7ded010c4c] +description = "an even-sized word" diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr new file mode 100644 index 0000000..c4169f2 --- /dev/null +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -0,0 +1,25 @@ +include file("reverse-string.arr") + +check "an empty string": + reversed("") is "" +end + +check "a word": + reversed("robot") is "tobor" +end + +check "a capitalized word": + reversed("Ramen") is "nemaR" +end + +check "a sentence with punctuation": + reversed("I'm hungry!") is "!yrgnuh m'I" +end + +check "a palindrome": + reversed("racecar") is "racecar" +end + +check "an even-sized word": + reversed("drawer") is "reward" +end \ No newline at end of file diff --git a/exercises/practice/reverse-string/reverse-string.arr b/exercises/practice/reverse-string/reverse-string.arr new file mode 100644 index 0000000..a2e8e24 --- /dev/null +++ b/exercises/practice/reverse-string/reverse-string.arr @@ -0,0 +1,5 @@ +provide: reversed end + +fun reversed(text): + raise("please implement the reversed function") +end \ No newline at end of file From 903cac3c47398a07e1d9f1b5b71b6e455895ee39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 20 Jul 2023 22:11:18 -0700 Subject: [PATCH 035/244] Update docs (#46) --- docs/INSTALLATION.md | 8 ++++---- docs/TESTS.md | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 6c31bae..5df9766 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,14 +1,14 @@ # Installation -You can install Pyret by first installing [NodeJS][node-js] for your operating system. After that, you can use the `npm` package manager to install the [pyret-npm][pyret-npm] package by running `npm install pyret-npm`. - +Pyret has an [official online editor][cpo] that can be used by most modern browsers regardless of operating system. However, an experimental command-line interface (CLI) is also available through the [pyret-npm][pyret-npm] package by first installing [NodeJS][node-js] and then the pyret-npm package. This package works well in Linux and MacOS, but Windows users should install the CLI using the [Windows Subsystem for Linux (WSL)][wsl] or a virtual machine of their choosing. ## IDEs -Because offline use of Pyret is experimental at the moment, there isn't strong IDE support and using the [online CPO editor][cpo] will generally give you the best experience out of the box. Syntax highlighting is provided in Atom and Pulsar Edit by [atom-language-pyret][atom-language-pyret] or in Visual Studio Code by [the Pyret extension][vscode-pyret]. +Because offline use of Pyret is currently experimental, there isn't strong IDE support and using the [official online editor][cpo] will generally give you the best experience out of the box. Syntax highlighting can be provided in Atom and Pulsar Edit by the [atom-language-pyret][atom-language-pyret] package or in Visual Studio Code by [the Pyret extension][vscode-pyret]. [node-js]: https://nodejs.org/en/download [pyret-npm]: https://npm.io/package/pyret-npm [cpo]: https://code.pyret.org/editor +[wsl]: https://learn.microsoft.com/en-us/windows/wsl/about [atom-language-pyret]: https://github.com/brownplt/atom-language-pyret -[vscode-pyret]: https://marketplace.visualstudio.com/items?itemName=SethPoulsen.vscode-language-pyret \ No newline at end of file +[vscode-pyret]: https://marketplace.visualstudio.com/items?itemName=SethPoulsen.vscode-language-pyret diff --git a/docs/TESTS.md b/docs/TESTS.md index 3819b73..fd8c161 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,8 +1,10 @@ # Tests -Execute the tests by passing the location of the test as a relative path to `pyret`: + +When working offline, first make sure [pyret-npm][pyret-npm] is installed and available. Then execute tests by passing to `pyret` the location of the test file relative to your current working directory. `$ pyret relative/path/to/example-test.arr` # Debugging + In many languages, there is a common idiom of printing text to the screen during code execution. This can trivially be done using the [`print`][print] function which prints its provided value and then returns it. @@ -83,14 +85,13 @@ Spying "subtracting" (at .../math.arr:6:2-6:35) true ``` - - # Notes + Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. To export bindings, you need to add a [`provide statement`][provide-statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing][shadowing] which Pyret does not allow. -To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. It is an error to try and provide +To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. It is an error to try and provide ```pyret provide-types * @@ -103,6 +104,7 @@ end All exercise stubs will have either `provide` or `provide-types` statements set up for your use. +[pyret-npm]: https://npm.io/package/pyret-npm [print]: https://pyret.org/docs/latest/_global_.html#%28part._~3cglobal~3e_print%29 [spy-statement]: https://pyret.org/docs/latest/s_spies.html [provide-statement]: https://pyret.org/docs/latest/Provide_Statements.html From 22f401d2abda49720d3d8e6847478e7bb27bec8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 21 Jul 2023 09:55:10 -0700 Subject: [PATCH 036/244] Minor idiomatic tweaks (#48) --- .../practice/binary-search/.meta/example.arr | 8 +++---- .../binary-search/binary-search-test.arr | 22 +++++++++---------- .../practice/binary-search/binary-search.arr | 6 ++--- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/exercises/practice/binary-search/.meta/example.arr b/exercises/practice/binary-search/.meta/example.arr index 1a612f9..8c68853 100644 --- a/exercises/practice/binary-search/.meta/example.arr +++ b/exercises/practice/binary-search/.meta/example.arr @@ -1,6 +1,6 @@ -provide: binary_search end +provide: binary-search end -fun binary_search(numbers, x): +fun binary-search(numbers, x): n = num-floor((numbers.length() - 1) / 2) if numbers.length() == 0 block: raise("value not in list") @@ -11,12 +11,12 @@ fun binary_search(numbers, x): when new_numbers.suffix == numbers block: raise("value not in list") end - n + 1 + binary_search(new_numbers.suffix, x) + n + 1 + binary-search(new_numbers.suffix, x) else: var new_numbers = split-at(n, numbers) when new_numbers.prefix == numbers block: raise("value not in list") end - binary_search(new_numbers.prefix, x) + binary-search(new_numbers.prefix, x) end end diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index 79be883..4556dbb 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -1,45 +1,45 @@ include file("binary-search.arr") check "finds a value in an array with one element": - binary_search([list: 6], 6) is 0 + binary-search([list: 6], 6) is 0 end check "finds a value in the middle of an array": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 end check "finds a value at the beginning of an array": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 end check "finds a value at the end of an array": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 end check "finds a value in an array of odd length": - binary_search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 + binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 end check "finds a value in an array of even length": - binary_search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 + binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 end check "identifies that a value is not included in the array": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" end check "a value smaller than the array's smallest value is not found": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" end check "a value larger than the array's largest value is not found": - binary_search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" end check "nothing is found in an empty array": - binary_search([list: ], 1) raises "value not in list" + binary-search([list: ], 1) raises "value not in list" end check "nothing is found when the left and right bounds cross": - binary_search([list: 1, 2], 0) raises "value not in list" + binary-search([list: 1, 2], 0) raises "value not in list" end diff --git a/exercises/practice/binary-search/binary-search.arr b/exercises/practice/binary-search/binary-search.arr index 0fdef7c..b7d589d 100644 --- a/exercises/practice/binary-search/binary-search.arr +++ b/exercises/practice/binary-search/binary-search.arr @@ -1,5 +1,5 @@ -provide: binary_search end +provide: binary-search end -fun binary_search(numbers, x): - raise("Please implement the binary_search function") +fun binary-search(lst, elt): + raise("Please implement the binary-search function") end From 5edad7a83eef029edf52c82659793e0f381753a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 21 Jul 2023 17:08:58 -0700 Subject: [PATCH 037/244] Swap example and stub for atbash cipher exercise (#49) Closes #47 --- .../practice/atbash-cipher/.meta/example.arr | 57 +++++++++++++++++++ .../practice/atbash-cipher/atbash-cipher.arr | 54 +----------------- 2 files changed, 60 insertions(+), 51 deletions(-) diff --git a/exercises/practice/atbash-cipher/.meta/example.arr b/exercises/practice/atbash-cipher/.meta/example.arr index e69de29..5e36ada 100644 --- a/exercises/practice/atbash-cipher/.meta/example.arr +++ b/exercises/practice/atbash-cipher/.meta/example.arr @@ -0,0 +1,57 @@ +provide: encode, decode end + +include string-dict + +TRANSCRIBE-PAIRS = fold2( + lam(acc, elt1, elt2): + key = string-from-code-point(elt1) + value = string-from-code-point(elt2) + acc.set(key, value) + end, + [string-dict: ], + range(97, 123), + range(97, 123).reverse() +) + +fun chunk-a-list(lst, n): + ask: + | lst.length() <= n then: + [list: lst] + | otherwise: + [list: lst.take(n)] + chunk-a-list(lst.drop(n), n) + end +end + +fun transcribe(phrase): + string-explode( + string-to-lower(phrase)).filter( + lam(char): + code-point = string-to-code-point(char) + ask: + | (48 <= code-point) and (code-point <= 57) then: + true + | (97 <= code-point) and (code-point <= 122) then: + true + | otherwise: + false + end + end).map( + lam(char): + cases(Option) TRANSCRIBE-PAIRS.get(char): + | some(a) => a + | none => char + end + end).join-str("") +end + +fun encode(phrase): + encrypted = transcribe(phrase) + chunk-a-list( + string-explode(encrypted), 5).map( + lam(l): l.join-str("") end + ).join-str(" ") +end + +fun decode(phrase): + transcribe(phrase) +end diff --git a/exercises/practice/atbash-cipher/atbash-cipher.arr b/exercises/practice/atbash-cipher/atbash-cipher.arr index 180e4b8..23cf9c4 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher.arr @@ -1,57 +1,9 @@ provide: encode, decode end -include string-dict - -TRANSCRIBE-PAIRS = fold2( - lam(acc, elt1, elt2): - key = string-from-code-point(elt1) - value = string-from-code-point(elt2) - acc.set(key, value) - end, - [string-dict: ], - range(97, 123), - range(97, 123).reverse() -) - -fun chunk-a-list(lst, n): - ask: - | lst.length() <= n then: - [list: lst] - | otherwise: - [list: lst.take(n)] + chunk-a-list(lst.drop(n), n) - end -end - -fun transcribe(phrase): - string-explode( - string-to-lower(phrase)).filter( - lam(char): - code-point = string-to-code-point(char) - ask: - | (48 <= code-point) and (code-point <= 57) then: - true - | (97 <= code-point) and (code-point <= 122) then: - true - | otherwise: - false - end - end).map( - lam(char): - cases(Option) TRANSCRIBE-PAIRS.get(char): - | some(a) => a - | none => char - end - end).join-str("") +fun encode(phrase): + raise("please implement the encode function") end fun decode(phrase): - transcribe(phrase) + raise("please implement the decode function") end - -fun encode(phrase): - encrypted = transcribe(phrase) - chunk-a-list( - string-explode(encrypted), 5).map( - lam(l): l.join-str("") end - ).join-str(" ") -end \ No newline at end of file From 65eb71ac8e59714e8a79c318b97530ac530bd95b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 23 Jul 2023 17:10:26 -0700 Subject: [PATCH 038/244] add armstrong-numbers (#50) --- config.json | 8 ++++ .../armstrong-numbers/.docs/instructions.md | 14 ++++++ .../armstrong-numbers/.meta/config.json | 19 ++++++++ .../armstrong-numbers/.meta/example.arr | 18 ++++++++ .../armstrong-numbers/.meta/tests.toml | 43 ++++++++++++++++++ .../armstrong-numbers-test.arr | 45 +++++++++++++++++++ .../armstrong-numbers/armstrong-numbers.arr | 5 +++ 7 files changed, 152 insertions(+) create mode 100644 exercises/practice/armstrong-numbers/.docs/instructions.md create mode 100644 exercises/practice/armstrong-numbers/.meta/config.json create mode 100644 exercises/practice/armstrong-numbers/.meta/example.arr create mode 100644 exercises/practice/armstrong-numbers/.meta/tests.toml create mode 100644 exercises/practice/armstrong-numbers/armstrong-numbers-test.arr create mode 100644 exercises/practice/armstrong-numbers/armstrong-numbers.arr diff --git a/config.json b/config.json index 0dace88..d3da807 100644 --- a/config.json +++ b/config.json @@ -43,6 +43,14 @@ "prerequisites": [], "difficulty": 1 }, + { + "slug": "armstrong-numbers", + "name": "Armstrong Numbers", + "uuid": "26431238-01d5-4890-9bb1-f5b023e2c295", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "isogram", "name": "Isogram", diff --git a/exercises/practice/armstrong-numbers/.docs/instructions.md b/exercises/practice/armstrong-numbers/.docs/instructions.md new file mode 100644 index 0000000..744cfbe --- /dev/null +++ b/exercises/practice/armstrong-numbers/.docs/instructions.md @@ -0,0 +1,14 @@ +# Instructions + +An [Armstrong number][armstrong-number] is a number that is the sum of its own digits each raised to the power of the number of digits. + +For example: + +- 9 is an Armstrong number, because `9 = 9^1 = 9` +- 10 is *not* an Armstrong number, because `10 != 1^2 + 0^2 = 1` +- 153 is an Armstrong number, because: `153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153` +- 154 is *not* an Armstrong number, because: `154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190` + +Write some code to determine whether a number is an Armstrong number. + +[armstrong-number]: https://en.wikipedia.org/wiki/Narcissistic_number diff --git a/exercises/practice/armstrong-numbers/.meta/config.json b/exercises/practice/armstrong-numbers/.meta/config.json new file mode 100644 index 0000000..ea3d04e --- /dev/null +++ b/exercises/practice/armstrong-numbers/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "armstrong-numbers.arr" + ], + "test": [ + "armstrong-numbers-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Determine if a number is an Armstrong number.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Narcissistic_number" +} diff --git a/exercises/practice/armstrong-numbers/.meta/example.arr b/exercises/practice/armstrong-numbers/.meta/example.arr new file mode 100644 index 0000000..3e27e8c --- /dev/null +++ b/exercises/practice/armstrong-numbers/.meta/example.arr @@ -0,0 +1,18 @@ +provide: is-armstrong-number end + +import lists as L + +fun is-armstrong-number(number): + digits = string-explode(num-to-string(number)) + sum = L.foldl( + lam(acc, elt): + cases(Option) string-to-number(elt): + | some(digit) => acc + num-expt(digit, digits.length()) + | none => raise("unable to convert character to digit") + end + end, + 0, + digits) + + sum == number +end diff --git a/exercises/practice/armstrong-numbers/.meta/tests.toml b/exercises/practice/armstrong-numbers/.meta/tests.toml new file mode 100644 index 0000000..b3f09e4 --- /dev/null +++ b/exercises/practice/armstrong-numbers/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[c1ed103c-258d-45b2-be73-d8c6d9580c7b] +description = "Zero is an Armstrong number" + +[579e8f03-9659-4b85-a1a2-d64350f6b17a] +description = "Single-digit numbers are Armstrong numbers" + +[2d6db9dc-5bf8-4976-a90b-b2c2b9feba60] +description = "There are no two-digit Armstrong numbers" + +[509c087f-e327-4113-a7d2-26a4e9d18283] +description = "Three-digit number that is an Armstrong number" + +[7154547d-c2ce-468d-b214-4cb953b870cf] +description = "Three-digit number that is not an Armstrong number" + +[6bac5b7b-42e9-4ecb-a8b0-4832229aa103] +description = "Four-digit number that is an Armstrong number" + +[eed4b331-af80-45b5-a80b-19c9ea444b2e] +description = "Four-digit number that is not an Armstrong number" + +[f971ced7-8d68-4758-aea1-d4194900b864] +description = "Seven-digit number that is an Armstrong number" + +[7ee45d52-5d35-4fbd-b6f1-5c8cd8a67f18] +description = "Seven-digit number that is not an Armstrong number" + +[5ee2fdf8-334e-4a46-bb8d-e5c19c02c148] +description = "Armstrong number containing seven zeroes" + +[12ffbf10-307a-434e-b4ad-c925680e1dd4] +description = "The largest and last Armstrong number" diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr new file mode 100644 index 0000000..99878dd --- /dev/null +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -0,0 +1,45 @@ +include file("armstrong-numbers.arr") + +check "Zero is an Armstrong number": + is-armstrong-number(0) is true +end + +check "Single-digit numbers are Armstrong numbers": + is-armstrong-number(5) is true +end + +check "There are no two-digit Armstrong numbers": + is-armstrong-number(10) is-not true +end + +check "Three-digit number that is an Armstrong number": + is-armstrong-number(153) is true +end + +check "Three-digit number that is not an Armstrong number": + is-armstrong-number(100) is-not true +end + +check "Four-digit number that is an Armstrong number": + is-armstrong-number(9474) is true +end + +check "Four-digit number that is not an Armstrong number": + is-armstrong-number(9475) is-not true +end + +check "Seven-digit number that is an Armstrong number": + is-armstrong-number(9926315) is true +end + +check "Seven-digit number that is not an Armstrong number": + is-armstrong-number(9926314) is-not true +end + +check "Armstrong number containing seven zeroes": + is-armstrong-number(186709961001538790100634132976990) is true +end + +check "The largest and last Armstrong number": + is-armstrong-number(115132219018763992565095597973971522401) is true +end diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers.arr b/exercises/practice/armstrong-numbers/armstrong-numbers.arr new file mode 100644 index 0000000..70a0cef --- /dev/null +++ b/exercises/practice/armstrong-numbers/armstrong-numbers.arr @@ -0,0 +1,5 @@ +provide: is-armstrong-number end + +fun is-armstrong-number(number): + raise("please implement the is-armstrong-number function") +end From ae6e4ed323ccea54a5209f05152a6d79b56fe7f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 23 Jul 2023 22:00:57 -0700 Subject: [PATCH 039/244] Update highlight.js keyword (#52) --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index d3da807..9fcf649 100644 --- a/config.json +++ b/config.json @@ -13,7 +13,7 @@ "online_editor": { "indent_style": "space", "indent_size": 2, - "highlightjs_language": "TODO: specify highlightjs language" + "highlightjs_language": "plaintext" }, "files": { "solution": [ From bc00a381c6bc8a50df6823b7dc6ed676891e27b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 23 Jul 2023 22:14:34 -0700 Subject: [PATCH 040/244] Reorder practice exercises (#53) --- config.json | 219 ++++++++++++++++++++++++---------------------------- 1 file changed, 99 insertions(+), 120 deletions(-) diff --git a/config.json b/config.json index 9fcf649..71ecff9 100644 --- a/config.json +++ b/config.json @@ -36,12 +36,12 @@ "concept": [], "practice": [ { - "slug": "hello-world", - "name": "Ahoy World", - "uuid": "21cb7132-eb7a-41cc-b100-4655288c3c98", + "slug": "anagram", + "name": "Anagram", + "uuid": "52e3290f-b78f-423f-a1cf-d727edc9fa73", "practices": [], "prerequisites": [], - "difficulty": 1 + "difficulty": 3 }, { "slug": "armstrong-numbers", @@ -52,217 +52,196 @@ "difficulty": 2 }, { - "slug": "isogram", - "name": "Isogram", - "uuid": "dff46c06-d8be-48e0-8158-4c6c484a3cbc", + "slug": "atbash-cipher", + "name": "Atbash Cipher", + "uuid": "7263c877-5ddd-4c48-886f-e3f57967f649", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "triangle", - "name": "Triangle", - "uuid": "aab55f24-e31a-4e99-8c6c-12e69de7ce7c", + "slug": "binary-search", + "name": "Binary Search", + "uuid": "dc4437e4-9ab3-4ab0-ae0d-ae3d2287e97c", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 2 }, { - "slug": "resistor-color", - "name": "Resistor Color", - "uuid": "57bc4302-4c4b-43a7-9abb-2378dd6ef70e", + "slug": "bob", + "name": "Bob", + "uuid": "28d1beed-ff83-4341-8a71-08fd287489fd", "practices": [], "prerequisites": [], - "difficulty": 2, - "status": "beta" + "difficulty": 2 }, { - "slug": "etl", - "name": "ETL", - "uuid": "a86c1654-da80-46c9-aba5-a2eec3f66262", + "slug": "collatz-conjecture", + "name": "Collatz Conjecture", + "uuid": "00a0a185-0b05-4f83-a840-80070635255a", "practices": [], "prerequisites": [], - "difficulty": 2, - "status": "beta" + "difficulty": 3 }, { - "slug": "binary-search", - "name": "Binary Search", - "uuid": "dc4437e4-9ab3-4ab0-ae0d-ae3d2287e97c", + "slug": "darts", + "name": "Darts", + "uuid": "d70a98f9-4743-40b7-ab18-f37d5508a7a5", "practices": [], "prerequisites": [], - "difficulty": 2, - "status": "beta" + "difficulty": 1 }, { - "slug": "nucleotide-count", - "name": "Nucleotide Count", - "uuid": "437768f4-a4d4-4a87-bf8b-6fe403e34179", + "slug": "difference-of-squares", + "name": "Difference of Squares", + "uuid": "6968b216-4478-4778-93d3-197ed849fd40", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "difference-of-squares", - "name": "Difference of Squares", - "uuid": "6968b216-4478-4778-93d3-197ed849fd40", + "slug": "dnd-character", + "name": "D&D Character", + "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 5 }, { - "slug": "leap", - "name": "Leap", - "uuid": "c67175ca-9706-4aec-a45b-040a23ef25c7", + "slug": "etl", + "name": "ETL", + "uuid": "a86c1654-da80-46c9-aba5-a2eec3f66262", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 2 }, { - "slug": "two-fer", - "name": "Two Fer", - "uuid": "198c1176-536a-49db-828b-0dc1655d7da9", + "slug": "grains", + "name": "Grains", + "uuid": "04948c47-34d1-4200-a6f0-5131f63c5600", "practices": [], "prerequisites": [], - "difficulty": 1 + "difficulty": 3 }, { - "slug": "space-age", - "name": "Space Age", - "uuid": "fcdf45a2-a72c-4983-8271-ca9276467f98", + "slug": "hello-world", + "name": "Ahoy World", + "uuid": "21cb7132-eb7a-41cc-b100-4655288c3c98", "practices": [], "prerequisites": [], - "difficulty": 2, - "status": "beta" + "difficulty": 1 }, { - "slug": "atbash-cipher", - "name": "Atbash Cipher", - "uuid": "7263c877-5ddd-4c48-886f-e3f57967f649", + "slug": "isogram", + "name": "Isogram", + "uuid": "dff46c06-d8be-48e0-8158-4c6c484a3cbc", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "collatz-conjecture", - "name": "Collatz Conjecture", - "uuid": "00a0a185-0b05-4f83-a840-80070635255a", + "slug": "leap", + "name": "Leap", + "uuid": "c67175ca-9706-4aec-a45b-040a23ef25c7", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "reverse-string", - "name": "Reverse String", - "uuid": "69911771-a41a-4be9-b685-678def75e1b2", + "slug": "matrix", + "name": "Matrix", + "uuid": "eef61f56-6dda-4389-b348-7c27835493b8", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 3 }, { - "slug": "raindrops", - "name": "Raindrops", - "uuid": "8dcd513e-93f5-499b-a388-0a7f3c7898dd", + "slug": "nucleotide-count", + "name": "Nucleotide Count", + "uuid": "437768f4-a4d4-4a87-bf8b-6fe403e34179", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "resistor-color-duo", - "name": "Resistor Color Duo", - "uuid": "3f897d66-6f49-49ca-a6ab-a168d6ef5e68", + "slug": "protein-translation", + "name": "Protein Translation", + "uuid": "29563d5a-a703-43c8-953e-3fde7daae3b0", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "series", - "name": "Series", - "uuid": "f58b5305-3bf2-4c15-8aac-339a97204d06", + "slug": "raindrops", + "name": "Raindrops", + "uuid": "8dcd513e-93f5-499b-a388-0a7f3c7898dd", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "secret-handshake", - "name": "Secret Handshake", - "uuid": "3a830edd-253c-4889-ad6b-9402fea4af97", + "slug": "resistor-color", + "name": "Resistor Color", + "uuid": "57bc4302-4c4b-43a7-9abb-2378dd6ef70e", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 2 }, { - "slug": "bob", - "name": "Bob", - "uuid": "28d1beed-ff83-4341-8a71-08fd287489fd", + "slug": "resistor-color-duo", + "name": "Resistor Color Duo", + "uuid": "3f897d66-6f49-49ca-a6ab-a168d6ef5e68", "practices": [], "prerequisites": [], - "difficulty": 2, - "status": "beta" + "difficulty": 3 }, { - "slug": "protein-translation", - "name": "Protein Translation", - "uuid": "29563d5a-a703-43c8-953e-3fde7daae3b0", + "slug": "reverse-string", + "name": "Reverse String", + "uuid": "69911771-a41a-4be9-b685-678def75e1b2", "practices": [], "prerequisites": [], - "difficulty": 3, - "topics": null + "difficulty": 1 }, { - "slug": "anagram", - "name": "Anagram", - "uuid": "52e3290f-b78f-423f-a1cf-d727edc9fa73", + "slug": "secret-handshake", + "name": "Secret Handshake", + "uuid": "3a830edd-253c-4889-ad6b-9402fea4af97", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 3 }, { - "slug": "grains", - "name": "Grains", - "uuid": "04948c47-34d1-4200-a6f0-5131f63c5600", + "slug": "series", + "name": "Series", + "uuid": "f58b5305-3bf2-4c15-8aac-339a97204d06", "practices": [], "prerequisites": [], "difficulty": 3 }, { - "slug": "matrix", - "name": "Matrix", - "uuid": "eef61f56-6dda-4389-b348-7c27835493b8", + "slug": "space-age", + "name": "Space Age", + "uuid": "fcdf45a2-a72c-4983-8271-ca9276467f98", "practices": [], "prerequisites": [], - "difficulty": 3, - "status": "beta" + "difficulty": 2 }, { - "slug": "dnd-character", - "name": "D&D Character", - "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", + "slug": "triangle", + "name": "Triangle", + "uuid": "aab55f24-e31a-4e99-8c6c-12e69de7ce7c", "practices": [], "prerequisites": [], - "difficulty": 5, - "status": "beta" + "difficulty": 3 }, { - "slug": "darts", - "name": "Darts", - "uuid": "d70a98f9-4743-40b7-ab18-f37d5508a7a5", + "slug": "two-fer", + "name": "Two Fer", + "uuid": "198c1176-536a-49db-828b-0dc1655d7da9", "practices": [], "prerequisites": [], - "difficulty": 1, - "status": "beta" + "difficulty": 1 } ] }, From 0f632a74699f52e12da4bb36920f927481664cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 24 Jul 2023 22:32:01 -0700 Subject: [PATCH 041/244] Add acronym exercise (#55) --- config.json | 10 ++++- .../practice/acronym/.docs/instructions.md | 17 +++++++++ exercises/practice/acronym/.meta/config.json | 19 ++++++++++ exercises/practice/acronym/.meta/example.arr | 20 ++++++++++ exercises/practice/acronym/.meta/tests.toml | 37 +++++++++++++++++++ exercises/practice/acronym/acronym-test.arr | 37 +++++++++++++++++++ exercises/practice/acronym/acronym.arr | 5 +++ 7 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 exercises/practice/acronym/.docs/instructions.md create mode 100644 exercises/practice/acronym/.meta/config.json create mode 100644 exercises/practice/acronym/.meta/example.arr create mode 100644 exercises/practice/acronym/.meta/tests.toml create mode 100644 exercises/practice/acronym/acronym-test.arr create mode 100644 exercises/practice/acronym/acronym.arr diff --git a/config.json b/config.json index 71ecff9..af2a727 100644 --- a/config.json +++ b/config.json @@ -35,13 +35,21 @@ "exercises": { "concept": [], "practice": [ + { + "slug": "acronym", + "name": "Acronym", + "uuid": "5ae47f42-45fc-4de2-b0df-3098ef622b0c", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "anagram", "name": "Anagram", "uuid": "52e3290f-b78f-423f-a1cf-d727edc9fa73", "practices": [], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "armstrong-numbers", diff --git a/exercises/practice/acronym/.docs/instructions.md b/exercises/practice/acronym/.docs/instructions.md new file mode 100644 index 0000000..c62fc3e --- /dev/null +++ b/exercises/practice/acronym/.docs/instructions.md @@ -0,0 +1,17 @@ +# Instructions + +Convert a phrase to its acronym. + +Techies love their TLA (Three Letter Acronyms)! + +Help generate some jargon by writing a program that converts a long name like Portable Network Graphics to its acronym (PNG). + +Punctuation is handled as follows: hyphens are word separators (like whitespace); all other punctuation can be removed from the input. + +For example: + +|Input|Output| +|-|-| +|As Soon As Possible|ASAP| +|Liquid-crystal display|LCD| +|Thank George It's Friday!|TGIF| diff --git a/exercises/practice/acronym/.meta/config.json b/exercises/practice/acronym/.meta/config.json new file mode 100644 index 0000000..3776bff --- /dev/null +++ b/exercises/practice/acronym/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "acronym.arr" + ], + "test": [ + "acronym-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Convert a long phrase to its acronym.", + "source": "Julien Vanier", + "source_url": "https://github.com/monkbroc" +} diff --git a/exercises/practice/acronym/.meta/example.arr b/exercises/practice/acronym/.meta/example.arr new file mode 100644 index 0000000..c59ebe8 --- /dev/null +++ b/exercises/practice/acronym/.meta/example.arr @@ -0,0 +1,20 @@ +provide: abbreviate end + + fun abbreviate(phrase): + string-split-all(phrase, " ").foldl( + lam(section, abbreviation): + cleaned = string-replace(section, "_", "") + fragments = string-split-all(cleaned, "-") + abbreviation + fragments.foldl( + lam(fragment, acc): + ask: + | fragment <> "" then: + acc + string-to-upper(string-char-at(fragment, 0)) + | otherwise: + acc + end + end, + "") + end, + "") +end diff --git a/exercises/practice/acronym/.meta/tests.toml b/exercises/practice/acronym/.meta/tests.toml new file mode 100644 index 0000000..6e3277c --- /dev/null +++ b/exercises/practice/acronym/.meta/tests.toml @@ -0,0 +1,37 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[1e22cceb-c5e4-4562-9afe-aef07ad1eaf4] +description = "basic" + +[79ae3889-a5c0-4b01-baf0-232d31180c08] +description = "lowercase words" + +[ec7000a7-3931-4a17-890e-33ca2073a548] +description = "punctuation" + +[32dd261c-0c92-469a-9c5c-b192e94a63b0] +description = "all caps word" + +[ae2ac9fa-a606-4d05-8244-3bcc4659c1d4] +description = "punctuation without whitespace" + +[0e4b1e7c-1a6d-48fb-81a7-bf65eb9e69f9] +description = "very long abbreviation" + +[6a078f49-c68d-4b7b-89af-33a1a98c28cc] +description = "consecutive delimiters" + +[5118b4b1-4572-434c-8d57-5b762e57973e] +description = "apostrophes" + +[adc12eab-ec2d-414f-b48c-66a4fc06cdef] +description = "underscore emphasis" diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr new file mode 100644 index 0000000..53345bb --- /dev/null +++ b/exercises/practice/acronym/acronym-test.arr @@ -0,0 +1,37 @@ +include file("acronym.arr") + +check "basic": + abbreviate("Portable Network Graphics") is "PNG" +end + +check "lowercase words": + abbreviate("Ruby on Rails") is "ROR" +end + +check "punctuation": + abbreviate("First In, First Out") is "FIFO" +end + +check "all caps word": + abbreviate("GNU Image Manipulation Program") is "GIMP" +end + +check "punctuation without whitespace": + abbreviate("Complementary metal-oxide semiconductor") is "CMOS" +end + +check "very long abbreviation": + abbreviate("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") is "ROTFLSHTMDCOALM" +end + +check "consecutive delimiters": + abbreviate("Something - I made up from thin air") is "SIMUFTA" +end + +check "apostrophes": + abbreviate("Halley's Comet") is "HC" +end + +check "underscore emphasis": + abbreviate("The Road _Not_ Taken") is "TRNT" +end diff --git a/exercises/practice/acronym/acronym.arr b/exercises/practice/acronym/acronym.arr new file mode 100644 index 0000000..d2749aa --- /dev/null +++ b/exercises/practice/acronym/acronym.arr @@ -0,0 +1,5 @@ +provide: abbreviate end + +fun abbreviate(phrase): + raise("please implement the abbreviate function") +end From 0d66c3ec4c01390689267aa13432c56e72d8ee88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:24:01 -0700 Subject: [PATCH 042/244] Update example.arr (#56) --- exercises/practice/series/.meta/example.arr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/practice/series/.meta/example.arr b/exercises/practice/series/.meta/example.arr index e6abc0d..0f71221 100644 --- a/exercises/practice/series/.meta/example.arr +++ b/exercises/practice/series/.meta/example.arr @@ -1,4 +1,4 @@ -provide: series end +provide: slices end fun slices(series, len): ask: @@ -14,4 +14,4 @@ fun slices(series, len): range(0, (string-length(series) - len) + 1).map( lam(idx): string-substring(series, idx, idx + len) end) end -end \ No newline at end of file +end From 8b1b949603375987c4acdbf84b3cdeaa2e13e1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:28:44 -0700 Subject: [PATCH 043/244] Update example.arr for two-fer (#57) --- exercises/practice/two-fer/.meta/example.arr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exercises/practice/two-fer/.meta/example.arr b/exercises/practice/two-fer/.meta/example.arr index 6f014ef..80a3f7c 100644 --- a/exercises/practice/two-fer/.meta/example.arr +++ b/exercises/practice/two-fer/.meta/example.arr @@ -2,6 +2,7 @@ provide: two-fer end fun two-fer(name): ask: - | name == "" then: "One for you, one for me." - | otherwise: "One for " + name + ", one for me." + | name == "" then: "One for you, one for me." + | otherwise: "One for " + name + ", one for me." + end end From 3eef9855d975727b16e4da7618f2097bff359a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:35:17 -0700 Subject: [PATCH 044/244] Initial implementation of bin/test for verifying exercises (#58) --- bin/test | 65 ++++++++++++++++++++++++++++++++++++++++++++ bin/verify-exercises | 35 ------------------------ 2 files changed, 65 insertions(+), 35 deletions(-) create mode 100755 bin/test delete mode 100755 bin/verify-exercises diff --git a/bin/test b/bin/test new file mode 100755 index 0000000..dcee9d6 --- /dev/null +++ b/bin/test @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# Synopsis: +# Test the track's exercises. +# +# At a minimum, this file must check if the example/exemplar solution of each +# Practice/Concept Exercise passes the exercise's tests. +# +# To check this, you usually have to (temporarily) replace the exercise's solution files +# with its exemplar/example files. +# +# If your track uses skipped tests, make sure to (temporarily) enable these tests +# before running the tests. +# +# The path to the solution/example/exemplar files can be found in the exercise's +# .meta/config.json file, or possibly inferred from the exercise's directory name. + +# Example: +# ./bin/test + +# Verify the Concept Exercises +for concept_exercise_dir in ./exercises/concept/*/; do + if [ -d $concept_exercise_dir ]; then + echo "Checking $(basename "${concept_exercise_dir}") exercise..." + # TODO: run command to verify that the exemplar solution passes the tests + fi +done + + +SUCCESS=0 +# Verify the Practice Exercises +for practice_exercise_dir in ./exercises/practice/*/; do + if [[ $SUCCESS -eq 0 && -d $practice_exercise_dir ]]; then + exercise=$(basename "${practice_exercise_dir}") + practice_exercise_dir=${practice_exercise_dir%/} + if [ -f "$practice_exercise_dir/$exercise".arr ]; then + mv "$practice_exercise_dir/$exercise".arr "$practice_exercise_dir/$exercise".arr_ + mv "$practice_exercise_dir/.meta/example.arr" "$practice_exercise_dir/$exercise".arr + + test_file="$practice_exercise_dir/$exercise"-test.arr + test_output=$(pyret -q "${test_file}" 2>&1) + test_success=$(echo "${test_output}" | grep -c -E 'Looks shipshape') + if [[ $test_success -le 0 ]]; then + echo "FAILURE: $exercise" + SUCCESS=1 + fi + fi + fi +done + +for practice_exercise_dir in ./exercises/practice/*/; do + if [ -d $practice_exercise_dir ]; then + exercise=$(basename "${practice_exercise_dir}") + if [ -f "$practice_exercise_dir/$exercise".arr ]; then + mv "$practice_exercise_dir/$exercise".arr "$practice_exercise_dir"/.meta/example.arr + if [ -f "$practice_exercise_dir/$exercise".arr_ ]; then + mv "$practice_exercise_dir/$exercise".arr_ "$practice_exercise_dir/$exercise".arr + fi + fi + fi +done + +if [ $SUCCESS -ne 0 ]; then + exit $SUCCESS +fi \ No newline at end of file diff --git a/bin/verify-exercises b/bin/verify-exercises deleted file mode 100755 index 8d31328..0000000 --- a/bin/verify-exercises +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -# Synopsis: -# Test the track's exercises. -# -# At a minimum, this file must check if the example/exemplar solution of each -# Practice/Concept Exercise passes the exercise's tests. -# -# To check this, you usually have to (temporarily) replace the exercise's solution files -# with its exemplar/example files. -# -# If your track uses skipped tests, make sure to (temporarily) enable these tests -# before running the tests. -# -# The path to the solution/example/exemplar files can be found in the exercise's -# .meta/config.json file, or possibly inferred from the exercise's directory name. - -# Example: -# ./bin/test - -# Verify the Concept Exercises -for concept_exercise_dir in ./exercises/concept/*/; do - if [ -d $concept_exercise_dir ]; then - echo "Checking $(basename "${concept_exercise_dir}") exercise..." - # TODO: run command to verify that the exemplar solution passes the tests - fi -done - -# Verify the Practice Exercises -for practice_exercise_dir in ./exercises/practice/*/; do - if [ -d $practice_exercise_dir ]; then - echo "Checking $(basename "${practice_exercise_dir}") exercise..." - # TODO: run command to verify that the example solution passes the tests - fi -done From 568f48cb0ee4bbf91956d95eb2588e7ad7a693dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 27 Jul 2023 13:31:31 -0700 Subject: [PATCH 045/244] Remove rounding requirement for space-age (#59) --- .../practice/space-age/.meta/example.arr | 5 ++-- .../practice/space-age/space-age-test.arr | 24 ++++++++++++------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/exercises/practice/space-age/.meta/example.arr b/exercises/practice/space-age/.meta/example.arr index 4c20427..b3eba1e 100644 --- a/exercises/practice/space-age/.meta/example.arr +++ b/exercises/practice/space-age/.meta/example.arr @@ -19,7 +19,6 @@ fun on-planet(planet, seconds): cases(Option) ORBITAL-RATIOS.get(planet): | none => raise("not a planet") | some(ratio) => - value = ((seconds / EARTH-SECONDS) / ratio) - num-round(value * 100) / 100 + (seconds / EARTH-SECONDS) / ratio end -end \ No newline at end of file +end diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index 426d907..9b6ad54 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -1,37 +1,43 @@ include file("space-age.arr") +fun around(delta): + lam(actual, target): + num-abs(target - actual) <= delta + end +end + check "age on Earth": - on-planet("Earth", 1000000000) is 31.69 + on-planet("Earth", 1000000000) is%(around(0.01)) 31.69 end check "age on Mercury": - on-planet("Mercury", 2134835688) is 280.88 + on-planet("Mercury", 2134835688) is%(around(0.01)) 280.88 end check "age on Venus": - on-planet("Venus", 189839836) is 9.78 + on-planet("Venus", 189839836) is%(around(0.01)) 9.78 end check "age on Mars": - on-planet("Mars", 2129871239) is 35.88 + on-planet("Mars", 2129871239) is%(around(0.01)) 35.88 end check "age on Jupiter": - on-planet("Jupiter", 901876382) is 2.41 + on-planet("Jupiter", 901876382) is%(around(0.01)) 2.41 end check "age on Saturn": - on-planet("Saturn", 2000000000) is 2.15 + on-planet("Saturn", 2000000000) is%(around(0.01)) 2.15 end check "age on Uranus": - on-planet("Uranus", 1210123456) is 0.46 + on-planet("Uranus", 1210123456) is%(around(0.01)) 0.46 end check "age on Neptune": - on-planet("Neptune", 1821023456) is 0.35 + on-planet("Neptune", 1821023456) is%(around(0.01)) 0.35 end check "invalid planet causes error": - on-planet("Sun", 680804807) raises "not a planet" + on-planet("Sun", 680804807) raises "not a planet" end \ No newline at end of file From 0852441172d23d1f9fc749dc296494acbc264fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 30 Jul 2023 12:41:01 -0700 Subject: [PATCH 046/244] Implement CI for testing exercises (#60) --- .github/workflows/test.yml | 16 +- .gitignore | 1 + README.md | 4 +- bin/{test => verify-exercises} | 9 +- package-lock.json | 289 +++++++++++++++++++++++++++++++++ package.json | 17 ++ 6 files changed, 325 insertions(+), 11 deletions(-) rename bin/{test => verify-exercises} (91%) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67a8ba0..431a6d4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ # Requires scripts: # - bin/test -name: / Test +name: Pyret / Test on: push: @@ -23,17 +23,19 @@ on: jobs: ci: - runs-on: + runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - - name: Use - uses: - + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 'node' + - name: Install project dependencies - run: - + run: npm ci + - name: Verify all exercises run: bin/verify-exercises diff --git a/.gitignore b/.gitignore index 8e8d1e4..8d916bc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ bin/configlet bin/configlet.exe .pyret/ *.jarr +node_modules diff --git a/README.md b/README.md index cc90a7e..3502ab7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Exercism Pyret Track -[![configlet](https://github.com/exercism/pyret/workflows/configlet/badge.svg)](https://github.com/exercism/pyret/actions?query=workflow%3Aconfiglet) [![tests](https://github.com/exercism/pyret/workflows/test/badge.svg)](https://github.com/exercism/pyret/actions?query=workflow%3Atest) +[![Configlet](https://github.com/exercism/pyret/actions/workflows/configlet.yml/badge.svg)](https://github.com/exercism/pyret/actions/workflows/configlet.yml) [![.github/workflows/test.yml](https://github.com/exercism/pyret/actions/workflows/test.yml/badge.svg)](https://github.com/exercism/pyret/actions/workflows/test.yml) Exercism exercises in Pyret. @@ -14,7 +14,7 @@ This command will iterate over all exercises and check to see if their exemplar/ [`configlet`](https://exercism.org/docs/building/configlet) is an Exercism-wide tool for working with tracks. You can download it by running: ```shell -$ ./bin/fetch-configlet +./bin/fetch-configlet ``` Run its [`lint` command](https://exercism.org/docs/building/configlet/lint) to verify if all exercises have all the necessary files and if config files are correct: diff --git a/bin/test b/bin/verify-exercises similarity index 91% rename from bin/test rename to bin/verify-exercises index dcee9d6..b877d90 100755 --- a/bin/test +++ b/bin/verify-exercises @@ -16,7 +16,7 @@ # .meta/config.json file, or possibly inferred from the exercise's directory name. # Example: -# ./bin/test +# ./bin/verify-exercises.sh # Verify the Concept Exercises for concept_exercise_dir in ./exercises/concept/*/; do @@ -38,8 +38,13 @@ for practice_exercise_dir in ./exercises/practice/*/; do mv "$practice_exercise_dir/.meta/example.arr" "$practice_exercise_dir/$exercise".arr test_file="$practice_exercise_dir/$exercise"-test.arr - test_output=$(pyret -q "${test_file}" 2>&1) + redirect_file="$practice_exercise_dir/$exercise".out + npx pyret -q $test_file &> $redirect_file + test_output=$(cat $redirect_file) + rm $redirect_file + test_success=$(echo "${test_output}" | grep -c -E 'Looks shipshape') + if [[ $test_success -le 0 ]]; then echo "FAILURE: $exercise" SUCCESS=1 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e2b6f5c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,289 @@ +{ + "name": "@exercism/pyret", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@exercism/pyret", + "license": "MIT", + "dependencies": { + "pyret-npm": "^0.0.23" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz", + "integrity": "sha512-d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==", + "dependencies": { + "array-back": "^2.0.0", + "chalk": "^2.4.1", + "table-layout": "^0.4.3", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/pyret-npm": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.23.tgz", + "integrity": "sha512-d3AZkxuAJxwXCxSHoCvb4gc4JtU/ry61S1nsbPrf701nRdpe2ReVAiaEYYRrad3UI6w50Tf3PLogtvKvOVQRiw==", + "dependencies": { + "command-line-args": "^5.0.2", + "command-line-usage": "^5.0.5", + "mkdirp": "^0.5.1", + "strip-ansi": "^4.0.0", + "ws": "^5.2.1" + }, + "bin": { + "pyret": "pyret.js" + } + }, + "node_modules/reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + }, + "node_modules/ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..72da2da --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "@exercism/pyret", + "description": "Exercism exercises in Pyret.", + "author": "Katrina Owen", + "contributors": [ + "BNAndras" + ], + "private": true, + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/exercism/pyret" + }, + "dependencies": { + "pyret-npm": "~0.0.23" + } +} From 996b1efd46387f6fbee5dfdd7af96ea7377f7894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 30 Jul 2023 20:23:50 -0700 Subject: [PATCH 047/244] Update test.yml (#61) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 431a6d4..10a9868 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ # Requires scripts: # - bin/test -name: Pyret / Test +name: Test Exercises on: push: From f2ccc0b61eabe125500fff1304c68bf2ecdea16c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 30 Jul 2023 21:05:21 -0700 Subject: [PATCH 048/244] Update documents (#62) --- docs/ABOUT.md | 5 ++++- docs/INSTALLATION.md | 9 ++------- docs/LEARNING.md | 4 +++- docs/TESTS.md | 2 +- exercises/shared/.docs/debug.md | 4 +++- exercises/shared/.docs/help.md | 3 +-- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/docs/ABOUT.md b/docs/ABOUT.md index abbbf95..2f42fcd 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -1,3 +1,6 @@ # About -Inspired by the How to Design Programs (HtDP) textbook, Pyret is a multi-paradigm programming language, explicitly designed as an introductory language for students ranging from American grade school to college. This includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available online and offline, it can be easily used on many platforms. +Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online introductory computer science resource. Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available [online and offline][set-sail], it can be easily used on many platforms. + +[dcic]: https://dcic-world.org/ +[set-sail]: https://pyret.org/set-sail/index.html diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 5df9766..a9441ad 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,14 +1,9 @@ # Installation -Pyret has an [official online editor][cpo] that can be used by most modern browsers regardless of operating system. However, an experimental command-line interface (CLI) is also available through the [pyret-npm][pyret-npm] package by first installing [NodeJS][node-js] and then the pyret-npm package. This package works well in Linux and MacOS, but Windows users should install the CLI using the [Windows Subsystem for Linux (WSL)][wsl] or a virtual machine of their choosing. - -## IDEs - -Because offline use of Pyret is currently experimental, there isn't strong IDE support and using the [official online editor][cpo] will generally give you the best experience out of the box. Syntax highlighting can be provided in Atom and Pulsar Edit by the [atom-language-pyret][atom-language-pyret] package or in Visual Studio Code by [the Pyret extension][vscode-pyret]. +Please review the [official installation directions][install-docs]. The [official online editor][cpo] that can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. However, an experimental command-line interface (CLI) is also available through the [pyret-npm][pyret-npm] package by first installing [NodeJS][node-js] follwing your platform's directions and then the [pyret-npm][pyret-npm] package. Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)][wsl] or a virtual machine of their choosing. +[install-docs]: https://pyret.org/set-sail/ [node-js]: https://nodejs.org/en/download [pyret-npm]: https://npm.io/package/pyret-npm [cpo]: https://code.pyret.org/editor [wsl]: https://learn.microsoft.com/en-us/windows/wsl/about -[atom-language-pyret]: https://github.com/brownplt/atom-language-pyret -[vscode-pyret]: https://marketplace.visualstudio.com/items?itemName=SethPoulsen.vscode-language-pyret diff --git a/docs/LEARNING.md b/docs/LEARNING.md index ed9d591..298ca69 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -1,6 +1,8 @@ # Learning Besides Exercism's exercises and mentoring, here are some other resources from the PLT group at Brown University and academics around the world. + * [A Data-Centric Introduction to Computing][https://dcic-world.org/] * [Programming and Programming Languages][https://papl.cs.brown.edu/2020/] -* [Grade 7 - 12 Lesson Plans for Bootstrap:Data Science][https://www.bootstrapworld.org/materials/fall2023/en-us/courses/data-science/] \ No newline at end of file +* [Grade 7 - 12 Lesson Plans for Bootstrap:Data Science][https://www.bootstrapworld.org/materials/fall2023/en-us/courses/data-science/] +* [Design Recipes for Pyret Functions][https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/n_design-recipe.html] diff --git a/docs/TESTS.md b/docs/TESTS.md index fd8c161..faecc3a 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,6 +1,6 @@ # Tests -When working offline, first make sure [pyret-npm][pyret-npm] is installed and available. Then execute tests by passing to `pyret` the location of the test file relative to your current working directory. +When working offline, first make sure [pyret-npm][pyret-npm] is installed and available. Then execute tests by passing `pyret` the location of the test file relative to your current working directory. `$ pyret relative/path/to/example-test.arr` # Debugging diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md index c1d6414..4a7c96a 100644 --- a/exercises/shared/.docs/debug.md +++ b/exercises/shared/.docs/debug.md @@ -31,6 +31,7 @@ do_something() # will compile ``` ## Spies + Considering these limitations, a [spy][spy] is often recommended: ```pyret @@ -78,6 +79,7 @@ do_something() ``` ## Changing a custom representation + Pyret by default uses a representation of a value that can be used to create the value you're printing. This means you could paste the output back into Pyret code and have it execute. However, this is a problem when you're working with [data declarations][data-declarations], because what gets printed then is the data variant used to construct the value. In such a situation, you'd likely need to override this string representation to provide more meaningful information. @@ -127,4 +129,4 @@ spy: a, b, c end [print]: "https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29" [spy]: "https://pyret.org/docs/latest/s_spies.html" -[data-declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" \ No newline at end of file +[data-declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index 01cf8d4..e2af770 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -3,7 +3,6 @@ Below are some resources for getting help if you run into trouble: * [Official Pyret Documentation](https://pyret.org/docs/latest/) -* [Official Pyret Online Editor](https://code.pyret.org/editor) * [Pyret Discuss on Google Groups](https://groups.google.com/g/pyret-discuss) -* [Pyret Twitter](https://twitter.com/pyretlang) * [Pyret Discord](https://discord.gg/9nFHuaBp) +* [Pyret Twitter](https://twitter.com/pyretlang) From accebeb2c0316d8899b4c3950586d2184e44e13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 08:25:17 -0700 Subject: [PATCH 049/244] Update config.json --- config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.json b/config.json index af2a727..3ca1d9b 100644 --- a/config.json +++ b/config.json @@ -1,10 +1,10 @@ { "language": "Pyret", "slug": "pyret", - "active": false, + "active": true, "status": { "concept_exercises": false, - "test_runner": false, + "test_runner": true, "representer": false, "analyzer": false }, From 9ad9f35a44f6d36ad086f025cc395e542ccf0f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 08:30:16 -0700 Subject: [PATCH 050/244] Update config.json Deactivating the test runner until I get a handle on exercism/pyret-test-runner/issues/3 --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 3ca1d9b..50200f1 100644 --- a/config.json +++ b/config.json @@ -4,7 +4,7 @@ "active": true, "status": { "concept_exercises": false, - "test_runner": true, + "test_runner": false, "representer": false, "analyzer": false }, From 9fcd046d98ae5b424d0084d75834e5d11bb70c91 Mon Sep 17 00:00:00 2001 From: Jeremy Walker Date: Tue, 1 Aug 2023 16:43:59 +0100 Subject: [PATCH 051/244] Update config.json Deactivate the track until the test runner is stable. --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 50200f1..af2a727 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ { "language": "Pyret", "slug": "pyret", - "active": true, + "active": false, "status": { "concept_exercises": false, "test_runner": false, From 9dc76b388699a5cbd5b5ee2a7182a279ea468de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 10:22:51 -0700 Subject: [PATCH 052/244] Update doc markdown for links (#63) --- docs/ABOUT.md | 2 +- docs/LEARNING.md | 13 +++++++++---- docs/RESOURCES.md | 16 +++++++++++----- docs/TESTS.md | 12 ++++++------ exercises/shared/.docs/debug.md | 6 +++--- exercises/shared/.docs/help.md | 13 +++++++++---- exercises/shared/.docs/tests.md | 8 ++++++-- 7 files changed, 45 insertions(+), 25 deletions(-) diff --git a/docs/ABOUT.md b/docs/ABOUT.md index 2f42fcd..7f5c50b 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -1,6 +1,6 @@ # About -Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online introductory computer science resource. Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available [online and offline][set-sail], it can be easily used on many platforms. +Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online computer science resource. Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available [online and offline][set-sail], it can be easily used on many platforms. [dcic]: https://dcic-world.org/ [set-sail]: https://pyret.org/set-sail/index.html diff --git a/docs/LEARNING.md b/docs/LEARNING.md index 298ca69..f83a633 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -2,7 +2,12 @@ Besides Exercism's exercises and mentoring, here are some other resources from the PLT group at Brown University and academics around the world. -* [A Data-Centric Introduction to Computing][https://dcic-world.org/] -* [Programming and Programming Languages][https://papl.cs.brown.edu/2020/] -* [Grade 7 - 12 Lesson Plans for Bootstrap:Data Science][https://www.bootstrapworld.org/materials/fall2023/en-us/courses/data-science/] -* [Design Recipes for Pyret Functions][https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/n_design-recipe.html] +* [A Data-Centric Introduction to Computing] +* [Programming and Programming Languages] +* [Grade 7 - 12 Lesson Plans for Bootstrap:Data Science] +* [Design Recipes for Pyret Functions] + +[A Data-Centric Introduction to Computing]: https://dcic-world.org/ +[Programming and Programming Languages]: https://papl.cs.brown.edu/2020/ +[Grade 7 - 12 Lesson Plans for Bootstrap:Data Science]: https://www.bootstrapworld.org/materials/fall2023/en-us/courses/data-science/ +[Design Recipes for Pyret Functions]: https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/n_design-recipe.html diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index 766908b..d003195 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -1,7 +1,13 @@ # Resources -* [Official Pyret Documentation][https://pyret.org/docs/latest/] -* [Official Pyret Online Editor][https://code.pyret.org/editor] -* [Pyret Discuss on Google Groups][https://groups.google.com/g/pyret-discuss] -* [Pyret Twitter][https://twitter.com/pyretlang] -* [Pyret Discord][https://discord.gg/9nFHuaBp] \ No newline at end of file +* [Official Pyret Documentation] +* [Official Pyret Online Editor] +* [Pyret Discuss on Google Groups] +* [Pyret Twitter] +* [Pyret Discord] + +[Official Pyret Documentation]: https://pyret.org/docs/latest/ +[Official Pyret Online Editor]: https://code.pyret.org/editor +[Pyret Discuss on Google Groups]: https://groups.google.com/g/pyret-discuss +[Pyret Twitter]: https://twitter.com/pyretlang +[Pyret Discord]: https://discord.gg/9nFHuaBp diff --git a/docs/TESTS.md b/docs/TESTS.md index faecc3a..e6f3f02 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,12 +1,12 @@ # Tests -When working offline, first make sure [pyret-npm][pyret-npm] is installed and available. Then execute tests by passing `pyret` the location of the test file relative to your current working directory. +When working offline, first make sure [pyret-npm] is installed and available. Then execute tests by passing `pyret` the location of the test file relative to your current working directory. `$ pyret relative/path/to/example-test.arr` # Debugging In many languages, there is a common idiom of printing text to the screen during code execution. This can trivially be done using the -[`print`][print] function which prints its provided value and then returns it. +[print] function which prints its provided value and then returns it. However, Pyret by default doesn't allow for multiple expressions in a code block so you can't do this: @@ -32,7 +32,7 @@ print(add-two-number(1, 2)) 3 ``` -A more convenient approach is to use a [`spy statement`][spy-statement] which prints the contents and line numbers of the passed values. It doesn't require the block keyword to be used. +A more convenient approach is to use a [spy statement] which prints the contents and line numbers of the passed values. It doesn't require the block keyword to be used. ```pyret fun add-two-numbers(number1, number2): @@ -89,7 +89,7 @@ true Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. -To export bindings, you need to add a [`provide statement`][provide-statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing][shadowing] which Pyret does not allow. +To export bindings, you need to add a [provide statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing] which Pyret does not allow. To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. It is an error to try and provide @@ -106,6 +106,6 @@ All exercise stubs will have either `provide` or `provide-types` statements set [pyret-npm]: https://npm.io/package/pyret-npm [print]: https://pyret.org/docs/latest/_global_.html#%28part._~3cglobal~3e_print%29 -[spy-statement]: https://pyret.org/docs/latest/s_spies.html -[provide-statement]: https://pyret.org/docs/latest/Provide_Statements.html +[spy statement]: https://pyret.org/docs/latest/s_spies.html +[provide statement]: https://pyret.org/docs/latest/Provide_Statements.html [shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md index 4a7c96a..16b2514 100644 --- a/exercises/shared/.docs/debug.md +++ b/exercises/shared/.docs/debug.md @@ -1,6 +1,6 @@ # Debug -To help with debugging, you can use the fact that any console output will be shown in the test results window. You can write to the console using a [print][print] expression: +To help with debugging, you can use the fact that any console output will be shown in the test results window. You can write to the console using a [print] expression: ```pyret print("Debug message") @@ -82,7 +82,7 @@ do_something() Pyret by default uses a representation of a value that can be used to create the value you're printing. This means you could paste the output back into Pyret code and have it execute. -However, this is a problem when you're working with [data declarations][data-declarations], because what gets printed then is the data variant used to construct the value. In such a situation, you'd likely need to override this string representation to provide more meaningful information. +However, this is a problem when you're working with [data declarations], because what gets printed then is the data variant used to construct the value. In such a situation, you'd likely need to override this string representation to provide more meaningful information. This can be done by implementing a `_output` method which tells Pyret how to display the value. Pyret will expect an internal `ValueSkeleton` variant to be returned by this method so you can use `vs-value` or `vs-str`. The `vs-value` variant accepts any value, properly escaping characters and adding quote marks for strings. `vs-str` on the other hand only accepts strings and will print characters exactly as written. @@ -129,4 +129,4 @@ spy: a, b, c end [print]: "https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29" [spy]: "https://pyret.org/docs/latest/s_spies.html" -[data-declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" +[data declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index e2af770..166efdf 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -2,7 +2,12 @@ Below are some resources for getting help if you run into trouble: -* [Official Pyret Documentation](https://pyret.org/docs/latest/) -* [Pyret Discuss on Google Groups](https://groups.google.com/g/pyret-discuss) -* [Pyret Discord](https://discord.gg/9nFHuaBp) -* [Pyret Twitter](https://twitter.com/pyretlang) +* [Official Pyret Documentation] +* [Pyret Discuss on Google Groups] +* [Pyret Discord] +* [Pyret Twitter] + +[Official Pyret Documentation]: https://pyret.org/docs/latest/ +[Pyret Discuss on Google Groups]: https://groups.google.com/g/pyret-discuss +[Pyret Discord]: https://discord.gg/9nFHuaBp +[Pyret Twitter]: https://twitter.com/pyretlang diff --git a/exercises/shared/.docs/tests.md b/exercises/shared/.docs/tests.md index 7b3df1b..c3e9dfb 100644 --- a/exercises/shared/.docs/tests.md +++ b/exercises/shared/.docs/tests.md @@ -3,11 +3,13 @@ This track uses `pyret` which is [available as a NPM package][pyret-npm]. Once installed, you can run your exercise's test file by passing `pyret` its location relative to your current working directory. Linux/MacOS + ```bash -$ cd {path/to/exercise-folder-location} +cd {path/to/exercise-folder-location} ``` Windows + ```powershell PS C:\Users\foobar> cd {path\to\exercise-folder-location} ``` @@ -15,6 +17,7 @@ PS C:\Users\foobar> cd {path\to\exercise-folder-location} Then you can run the tests by running the `pyret` command as shown below, replacing `{exercise-test.arr}` with the name of the test file. Linux/MacOS + ```bash $ pyret {exercise-test.arr} 2/2 modules compiled ({exercise-test.arr}) @@ -23,6 +26,7 @@ Looks shipshape, all 9 tests passed, mate! ``` Windows + ```powershell PS C:\Users\foobar\Exercism\pyret\exercise> pyret {exercise-test.arr} 2/2 modules compiled ({exercise-test.arr}) @@ -30,4 +34,4 @@ Cleaning up and generating standalone... Looks shipshape, all 9 tests passed, mate! ``` -[pyret-npm]: "https://www.npmjs.com/package/pyret-npm" \ No newline at end of file +[pyret-npm]: https://www.npmjs.com/package/pyret-npm From 1279c4bc165caac5a777cce7f0ef7fc91e769234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 10:27:41 -0700 Subject: [PATCH 053/244] Update typo and links (#64) --- docs/INSTALLATION.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index a9441ad..f1c6b34 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,9 +1,9 @@ # Installation -Please review the [official installation directions][install-docs]. The [official online editor][cpo] that can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. However, an experimental command-line interface (CLI) is also available through the [pyret-npm][pyret-npm] package by first installing [NodeJS][node-js] follwing your platform's directions and then the [pyret-npm][pyret-npm] package. Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)][wsl] or a virtual machine of their choosing. +Please review the [official installation directions]. The [official online editor] that can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. However, an experimental command-line interface (CLI) is also available by first installing [NodeJS] following your platform's directions and then the [pyret-npm] package. Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)]or a virtual machine of their choosing. -[install-docs]: https://pyret.org/set-sail/ -[node-js]: https://nodejs.org/en/download +[official installation directions]: https://pyret.org/set-sail/ +[NodeJS]: https://nodejs.org/en/download [pyret-npm]: https://npm.io/package/pyret-npm -[cpo]: https://code.pyret.org/editor -[wsl]: https://learn.microsoft.com/en-us/windows/wsl/about +[official online editor]: https://code.pyret.org/editor +[Windows Subsystem for Linux (WSL)]: https://learn.microsoft.com/en-us/windows/wsl/about From 7ddcb1965766e3c108d4e6337f2a58b16621794a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:09:53 -0700 Subject: [PATCH 054/244] Add scrabble score (#65) --- config.json | 8 +++ .../scrabble-score/.docs/instructions.md | 40 ++++++++++++++ .../practice/scrabble-score/.meta/config.json | 19 +++++++ .../practice/scrabble-score/.meta/example.arr | 55 +++++++++++++++++++ .../practice/scrabble-score/.meta/tests.toml | 43 +++++++++++++++ .../scrabble-score/scrabble-score-test.arr | 45 +++++++++++++++ .../scrabble-score/scrabble-score.arr | 5 ++ 7 files changed, 215 insertions(+) create mode 100644 exercises/practice/scrabble-score/.docs/instructions.md create mode 100644 exercises/practice/scrabble-score/.meta/config.json create mode 100644 exercises/practice/scrabble-score/.meta/example.arr create mode 100644 exercises/practice/scrabble-score/.meta/tests.toml create mode 100644 exercises/practice/scrabble-score/scrabble-score-test.arr create mode 100644 exercises/practice/scrabble-score/scrabble-score.arr diff --git a/config.json b/config.json index af2a727..cbd3e25 100644 --- a/config.json +++ b/config.json @@ -211,6 +211,14 @@ "prerequisites": [], "difficulty": 1 }, + { + "slug": "scrabble-score", + "name": "Scrabble Score", + "uuid": "8b1cfd2f-0d25-4eec-9b8e-75c7a339fc6c", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "secret-handshake", "name": "Secret Handshake", diff --git a/exercises/practice/scrabble-score/.docs/instructions.md b/exercises/practice/scrabble-score/.docs/instructions.md new file mode 100644 index 0000000..3f986c9 --- /dev/null +++ b/exercises/practice/scrabble-score/.docs/instructions.md @@ -0,0 +1,40 @@ +# Instructions + +Given a word, compute the Scrabble score for that word. + +## Letter Values + +You'll need these: + +```text +Letter Value +A, E, I, O, U, L, N, R, S, T 1 +D, G 2 +B, C, M, P 3 +F, H, V, W, Y 4 +K 5 +J, X 8 +Q, Z 10 +``` + +## Examples + +"cabbage" should be scored as worth 14 points: + +- 3 points for C +- 1 point for A, twice +- 3 points for B, twice +- 2 points for G +- 1 point for E + +And to total: + +- `3 + 2*1 + 2*3 + 2 + 1` +- = `3 + 2 + 6 + 3` +- = `5 + 9` +- = 14 + +## Extensions + +- You can play a double or a triple letter. +- You can play a double or a triple word. diff --git a/exercises/practice/scrabble-score/.meta/config.json b/exercises/practice/scrabble-score/.meta/config.json new file mode 100644 index 0000000..2720b2e --- /dev/null +++ b/exercises/practice/scrabble-score/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "scrabble-score.arr" + ], + "test": [ + "scrabble-score-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a word, compute the Scrabble score for that word.", + "source": "Inspired by the Extreme Startup game", + "source_url": "https://github.com/rchatley/extreme_startup" +} diff --git a/exercises/practice/scrabble-score/.meta/example.arr b/exercises/practice/scrabble-score/.meta/example.arr new file mode 100644 index 0000000..dd43592 --- /dev/null +++ b/exercises/practice/scrabble-score/.meta/example.arr @@ -0,0 +1,55 @@ +provide: score end + +include string-dict + +POINTS = [string-dict: + "A", 1, + "E", 1, + "I", 1, + "O", 1, + "U", 1, + "L", 1, + "N", 1, + "R", 1, + "S", 1, + "T", 1, + "D", 2, + "G", 2, + "B", 3, + "C", 3, + "M", 3, + "P", 3, + "F", 4, + "H", 4, + "V", 4, + "W", 4, + "Y", 4, + "K", 5, + "J", 8, + "X", 8, + "Q", 10, + "Z", 10, +] + +fun score(word): + uppercased = string-toupper(word) + counts = string-explode(uppercased).foldl( + lam(char, acc): + new-value = acc.get(char).or-else(0) + 1 + acc.set(char, new-value) + end, + [string-dict: ] + ) + + counts.keys().to-list().foldl( + lam(char, acc): + ask: + | POINTS.has-key(char) then: + points = counts.get-value(char) * POINTS.get-value(char) + acc + points + | otherwise: + acc + end + end, + 0) +end \ No newline at end of file diff --git a/exercises/practice/scrabble-score/.meta/tests.toml b/exercises/practice/scrabble-score/.meta/tests.toml new file mode 100644 index 0000000..33a873c --- /dev/null +++ b/exercises/practice/scrabble-score/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[f46cda29-1ca5-4ef2-bd45-388a767e3db2] +description = "lowercase letter" + +[f7794b49-f13e-45d1-a933-4e48459b2201] +description = "uppercase letter" + +[eaba9c76-f9fa-49c9-a1b0-d1ba3a5b31fa] +description = "valuable letter" + +[f3c8c94e-bb48-4da2-b09f-e832e103151e] +description = "short word" + +[71e3d8fa-900d-4548-930e-68e7067c4615] +description = "short, valuable word" + +[d3088ad9-570c-4b51-8764-c75d5a430e99] +description = "medium word" + +[fa20c572-ad86-400a-8511-64512daac352] +description = "medium, valuable word" + +[9336f0ba-9c2b-4fa0-bd1c-2e2d328cf967] +description = "long, mixed-case word" + +[1e34e2c3-e444-4ea7-b598-3c2b46fd2c10] +description = "english-like word" + +[4efe3169-b3b6-4334-8bae-ff4ef24a7e4f] +description = "empty input" + +[3b305c1c-f260-4e15-a5b5-cb7d3ea7c3d7] +description = "entire alphabet available" diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr new file mode 100644 index 0000000..3fc3ef5 --- /dev/null +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -0,0 +1,45 @@ +include file("scrabble-score.arr") + +check "lowercase letter": + score("a") is 1 +end + +check "uppercase letter": + score("A") is 1 +end + +check "valuable letter": + score("f") is 4 +end + +check "short word": + score("at") is 2 +end + +check "short, valuable word": + score("zoo") is 12 +end + +check "medium word": + score("street") is 6 +end + +check "medium, valuable word": + score("quirky") is 22 +end + +check "long, mixed-case word": + score("OxyphenButazone") is 41 +end + +check "english-like word": + score("pinata") is 8 +end + +check "empty input": + score("") is 0 +end + +check "entire alphabet available": + score("abcdefghijklmnopqrstuvwxyz") is 87 +end diff --git a/exercises/practice/scrabble-score/scrabble-score.arr b/exercises/practice/scrabble-score/scrabble-score.arr new file mode 100644 index 0000000..f55c137 --- /dev/null +++ b/exercises/practice/scrabble-score/scrabble-score.arr @@ -0,0 +1,5 @@ +provide: score end + +fun score(word): + raise("Please implement the score function") +end From 0e901e17396736ece53ffb4ab97e4e7ec9ed9652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:03:08 -0700 Subject: [PATCH 055/244] Add resistor-color-trio (#66) --- config.json | 8 +++ .../resistor-color-trio/.docs/instructions.md | 56 +++++++++++++++ .../resistor-color-trio/.meta/config.json | 19 +++++ .../resistor-color-trio/.meta/example.arr | 63 ++++++++++++++++ .../resistor-color-trio/.meta/tests.toml | 40 +++++++++++ .../resistor-color-trio-test.arr | 71 +++++++++++++++++++ .../resistor-color-trio.arr | 5 ++ 7 files changed, 262 insertions(+) create mode 100644 exercises/practice/resistor-color-trio/.docs/instructions.md create mode 100644 exercises/practice/resistor-color-trio/.meta/config.json create mode 100644 exercises/practice/resistor-color-trio/.meta/example.arr create mode 100644 exercises/practice/resistor-color-trio/.meta/tests.toml create mode 100644 exercises/practice/resistor-color-trio/resistor-color-trio-test.arr create mode 100644 exercises/practice/resistor-color-trio/resistor-color-trio.arr diff --git a/config.json b/config.json index cbd3e25..70e7a79 100644 --- a/config.json +++ b/config.json @@ -203,6 +203,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "resistor-color-trio", + "name": "Resistor Color Trio", + "uuid": "4e758c9f-3204-41cd-b8d1-8f978bd90809", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "reverse-string", "name": "Reverse String", diff --git a/exercises/practice/resistor-color-trio/.docs/instructions.md b/exercises/practice/resistor-color-trio/.docs/instructions.md new file mode 100644 index 0000000..4ad2aed --- /dev/null +++ b/exercises/practice/resistor-color-trio/.docs/instructions.md @@ -0,0 +1,56 @@ +# Instructions + +If you want to build something using a Raspberry Pi, you'll probably use _resistors_. +For this exercise, you need to know only three things about them: + +- Each resistor has a resistance value. +- Resistors are small - so small in fact that if you printed the resistance value on them, it would be hard to read. + To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. +- Each band acts as a digit of a number. + For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15. + In this exercise, you are going to create a helpful program so that you don't have to remember the values of the bands. + The program will take 3 colors as input, and outputs the correct value, in ohms. + The color bands are encoded as follows: + +- Black: 0 +- Brown: 1 +- Red: 2 +- Orange: 3 +- Yellow: 4 +- Green: 5 +- Blue: 6 +- Violet: 7 +- Grey: 8 +- White: 9 + +In `resistor-color duo` you decoded the first two colors. +For instance: orange-orange got the main value `33`. +The third color stands for how many zeros need to be added to the main value. +The main value plus the zeros gives us a value in ohms. +For the exercise it doesn't matter what ohms really are. +For example: + +- orange-orange-black would be 33 and no zeros, which becomes 33 ohms. +- orange-orange-red would be 33 and 2 zeros, which becomes 3300 ohms. +- orange-orange-orange would be 33 and 3 zeros, which becomes 33000 ohms. + +(If Math is your thing, you may want to think of the zeros as exponents of 10. +If Math is not your thing, go with the zeros. +It really is the same thing, just in plain English instead of Math lingo.) + +This exercise is about translating the colors into a label: + +> "... ohms" + +So an input of `"orange", "orange", "black"` should return: + +> "33 ohms" + +When we get to larger resistors, a [metric prefix][metric-prefix] is used to indicate a larger magnitude of ohms, such as "kiloohms". +That is similar to saying "2 kilometers" instead of "2000 meters", or "2 kilograms" for "2000 grams". + +For example, an input of `"orange", "orange", "orange"` should return: + +> "33 kiloohms" + +[metric-prefix]: https://en.wikipedia.org/wiki/Metric_prefix diff --git a/exercises/practice/resistor-color-trio/.meta/config.json b/exercises/practice/resistor-color-trio/.meta/config.json new file mode 100644 index 0000000..a1bd58d --- /dev/null +++ b/exercises/practice/resistor-color-trio/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "resistor-color-trio.arr" + ], + "test": [ + "resistor-color-trio-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Convert color codes, as used on resistors, to a human-readable label.", + "source": "Maud de Vries, Erik Schierboom", + "source_url": "https://github.com/exercism/problem-specifications/issues/1549" +} diff --git a/exercises/practice/resistor-color-trio/.meta/example.arr b/exercises/practice/resistor-color-trio/.meta/example.arr new file mode 100644 index 0000000..367ecc5 --- /dev/null +++ b/exercises/practice/resistor-color-trio/.meta/example.arr @@ -0,0 +1,63 @@ +provide: label end + +RESISTOR-COLORS = [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] + +fun label(colors): + fun index-of(l, elem): + if not(l.member(elem)): + -1 + else: + cases (List) l: + | empty => 0 + | link(f, r) => + if f == elem: + 0 + else: + 1 + index-of(r, elem) + end + end + end + end + + tens = index-of(RESISTOR-COLORS, colors.get(0)) + ones = index-of(RESISTOR-COLORS, colors.get(1)) + pow = index-of(RESISTOR-COLORS, colors.get(2)) + raw-ohms = ((tens * 10) + ones) * num-expt(10, pow) + + digits = num-to-string(raw-ohms) + + unit = ask: + | string-length(digits) < 4 then: + 'ohms' + | string-length(digits) < 7 then: + 'kiloohms' + | string-length(digits) < 10 then: + 'megaohms' + | string-length(digits) < 13 then: + 'gigaohms' + end + + value = ask: + | string-length(digits) < 4 then: + raw-ohms + | string-length(digits) < 7 then: + raw-ohms / 1e3 + | string-length(digits) < 10 then: + raw-ohms / 1e6 + | string-length(digits) < 13 then: + raw-ohms / 1e9 + end + + num-to-string(num-truncate(value)) + " " + unit +end diff --git a/exercises/practice/resistor-color-trio/.meta/tests.toml b/exercises/practice/resistor-color-trio/.meta/tests.toml new file mode 100644 index 0000000..b7d45fa --- /dev/null +++ b/exercises/practice/resistor-color-trio/.meta/tests.toml @@ -0,0 +1,40 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[d6863355-15b7-40bb-abe0-bfb1a25512ed] +description = "Orange and orange and black" + +[1224a3a9-8c8e-4032-843a-5224e04647d6] +description = "Blue and grey and brown" + +[b8bda7dc-6b95-4539-abb2-2ad51d66a207] +description = "Red and black and red" + +[5b1e74bc-d838-4eda-bbb3-eaba988e733b] +description = "Green and brown and orange" + +[f5d37ef9-1919-4719-a90d-a33c5a6934c9] +description = "Yellow and violet and yellow" + +[5f6404a7-5bb3-4283-877d-3d39bcc33854] +description = "Blue and violet and blue" + +[7d3a6ab8-e40e-46c3-98b1-91639fff2344] +description = "Minimum possible value" + +[ca0aa0ac-3825-42de-9f07-dac68cc580fd] +description = "Maximum possible value" + +[0061a76c-903a-4714-8ce2-f26ce23b0e09] +description = "First two colors make an invalid octal number" + +[30872c92-f567-4b69-a105-8455611c10c4] +description = "Ignore extra colors" diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr new file mode 100644 index 0000000..8f0fd96 --- /dev/null +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -0,0 +1,71 @@ +include file("resistor-color-trio.arr") + +check "Orange and orange and black": + colors = [list: "orange", "orange", "black"] + expected = "33 ohms" + + label(colors) is expected +end + +check "Blue and grey and brown": + colors = [list: "blue", "grey", "brown"] + expected = "680 ohms" + + label(colors) is expected +end + +check "Red and black and red": + colors = [list: "red", "black", "red"] + expected = "2 kiloohms" + + label(colors) is expected +end + +check "Green and brown and orange": + colors = [list: "green", "brown", "orange"] + expected = "51 kiloohms" + + label(colors) is expected +end + +check "Yellow and violet and yellow": + colors = [list: "yellow", "violet", "yellow"] + expected = "470 kiloohms" + + label(colors) is expected +end + +check "Blue and violet and blue": + colors = [list: "blue", "violet", "blue"] + expected = "67 megaohms" + + label(colors) is expected +end + +check "Minimum possible value": + colors = [list: "black", "black", "black"] + expected = "0 ohms" + + label(colors) is expected +end + +check "Maximum possible value": + colors = [list: "white", "white", "white"] + expected = "99 gigaohms" + + label(colors) is expected +end + +check "First two colors make an invalid octal number": + colors = [list: "black", "grey", "black"] + expected = "8 ohms" + + label(colors) is expected +end + +check "Ignore extra colors": + colors = [list: "blue", "green", "yellow", "orange"] + expected = "650 kiloohms" + + label(colors) is expected +end diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio.arr b/exercises/practice/resistor-color-trio/resistor-color-trio.arr new file mode 100644 index 0000000..d786fd7 --- /dev/null +++ b/exercises/practice/resistor-color-trio/resistor-color-trio.arr @@ -0,0 +1,5 @@ +provide: label end + +fun label(colors): + raise("Please implement the label function") +end From 96e610881a328e4a059184b4a91533660b1023e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:58:00 -0700 Subject: [PATCH 056/244] Add square-root exercise (#67) --- config.json | 8 ++++++ .../.docs/instructions-append.md | 3 ++ .../square-root/.docs/instructions.md | 13 +++++++++ .../practice/square-root/.meta/config.json | 19 +++++++++++++ .../practice/square-root/.meta/example.arr | 14 ++++++++++ .../practice/square-root/.meta/tests.toml | 28 +++++++++++++++++++ .../practice/square-root/square-root-test.arr | 25 +++++++++++++++++ .../practice/square-root/square-root.arr | 5 ++++ 8 files changed, 115 insertions(+) create mode 100644 exercises/practice/dnd-character/.docs/instructions-append.md create mode 100644 exercises/practice/square-root/.docs/instructions.md create mode 100644 exercises/practice/square-root/.meta/config.json create mode 100644 exercises/practice/square-root/.meta/example.arr create mode 100644 exercises/practice/square-root/.meta/tests.toml create mode 100644 exercises/practice/square-root/square-root-test.arr create mode 100644 exercises/practice/square-root/square-root.arr diff --git a/config.json b/config.json index 70e7a79..9e9b50a 100644 --- a/config.json +++ b/config.json @@ -259,6 +259,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "square-root", + "name": "Square Root", + "uuid": "351651f4-3e42-4392-8862-9a18f9acb70d", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "two-fer", "name": "Two Fer", diff --git a/exercises/practice/dnd-character/.docs/instructions-append.md b/exercises/practice/dnd-character/.docs/instructions-append.md new file mode 100644 index 0000000..0d98c47 --- /dev/null +++ b/exercises/practice/dnd-character/.docs/instructions-append.md @@ -0,0 +1,3 @@ +# Instructions append + +Rather than using the built-in num-sqrt, we would like you to consider solving this exercise with your own implementation. diff --git a/exercises/practice/square-root/.docs/instructions.md b/exercises/practice/square-root/.docs/instructions.md new file mode 100644 index 0000000..e9905e9 --- /dev/null +++ b/exercises/practice/square-root/.docs/instructions.md @@ -0,0 +1,13 @@ +# Instructions + +Given a natural radicand, return its square root. + +Note that the term "radicand" refers to the number for which the root is to be determined. +That is, it is the number under the root symbol. + +Check out the Wikipedia pages on [square root][square-root] and [methods of computing square roots][computing-square-roots]. + +Recall also that natural numbers are positive real whole numbers (i.e. 1, 2, 3 and up). + +[square-root]: https://en.wikipedia.org/wiki/Square_root +[computing-square-roots]: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots diff --git a/exercises/practice/square-root/.meta/config.json b/exercises/practice/square-root/.meta/config.json new file mode 100644 index 0000000..21fc47e --- /dev/null +++ b/exercises/practice/square-root/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "square-root.arr" + ], + "test": [ + "square-root-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a natural radicand, return its square root.", + "source": "wolf99", + "source_url": "https://github.com/exercism/problem-specifications/pull/1582" +} diff --git a/exercises/practice/square-root/.meta/example.arr b/exercises/practice/square-root/.meta/example.arr new file mode 100644 index 0000000..52b7a96 --- /dev/null +++ b/exercises/practice/square-root/.meta/example.arr @@ -0,0 +1,14 @@ +provide: square-root end + +fun square-root(number): + rec do-square-root = lam(n): + ask: + | num-expt(n, 2) <> number then: + do-square-root(n + 1) + | otherwise: + n + end + end + + do-square-root(0) +end diff --git a/exercises/practice/square-root/.meta/tests.toml b/exercises/practice/square-root/.meta/tests.toml new file mode 100644 index 0000000..ead7882 --- /dev/null +++ b/exercises/practice/square-root/.meta/tests.toml @@ -0,0 +1,28 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[9b748478-7b0a-490c-b87a-609dacf631fd] +description = "root of 1" + +[7d3aa9ba-9ac6-4e93-a18b-2e8b477139bb] +description = "root of 4" + +[6624aabf-3659-4ae0-a1c8-25ae7f33c6ef] +description = "root of 25" + +[93beac69-265e-4429-abb1-94506b431f81] +description = "root of 81" + +[fbddfeda-8c4f-4bc4-87ca-6991af35360e] +description = "root of 196" + +[c03d0532-8368-4734-a8e0-f96a9eb7fc1d] +description = "root of 65025" diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr new file mode 100644 index 0000000..5a37d51 --- /dev/null +++ b/exercises/practice/square-root/square-root-test.arr @@ -0,0 +1,25 @@ +include file("square-root.arr") + +check "root of 1": + square-root(1) is 1 +end + +check "root of 4": + square-root(4) is 2 +end + +check "root of 25": + square-root(25) is 5 +end + +check "root of 81": + square-root(81) is 9 +end + +check "root of 196": + square-root(196) is 14 +end + +check "root of 65025": + square-root(65025) is 255 +end \ No newline at end of file diff --git a/exercises/practice/square-root/square-root.arr b/exercises/practice/square-root/square-root.arr new file mode 100644 index 0000000..06d7116 --- /dev/null +++ b/exercises/practice/square-root/square-root.arr @@ -0,0 +1,5 @@ +provide: square-root end + +fun square-root(number): + raise("Please implement the square-root function") +end \ No newline at end of file From 415e145d177f3ad0c65ff8568ffd39648067a02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 18:25:07 -0700 Subject: [PATCH 057/244] Add pangram exercise (#68) --- config.json | 8 +++ .../practice/pangram/.docs/instructions.md | 8 +++ .../practice/pangram/.docs/introduction.md | 16 ++++++ exercises/practice/pangram/.meta/config.json | 19 +++++++ exercises/practice/pangram/.meta/example.arr | 13 +++++ exercises/practice/pangram/.meta/tests.toml | 45 ++++++++++++++++ exercises/practice/pangram/pangram-test.arr | 51 +++++++++++++++++++ exercises/practice/pangram/pangram.arr | 5 ++ 8 files changed, 165 insertions(+) create mode 100644 exercises/practice/pangram/.docs/instructions.md create mode 100644 exercises/practice/pangram/.docs/introduction.md create mode 100644 exercises/practice/pangram/.meta/config.json create mode 100644 exercises/practice/pangram/.meta/example.arr create mode 100644 exercises/practice/pangram/.meta/tests.toml create mode 100644 exercises/practice/pangram/pangram-test.arr create mode 100644 exercises/practice/pangram/pangram.arr diff --git a/config.json b/config.json index 9e9b50a..b1a92f0 100644 --- a/config.json +++ b/config.json @@ -171,6 +171,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "pangram", + "name": "Pangram", + "uuid": "ef2dc89f-a9d2-48f0-9bb5-4cafeb50c81c", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/pangram/.docs/instructions.md b/exercises/practice/pangram/.docs/instructions.md new file mode 100644 index 0000000..817c872 --- /dev/null +++ b/exercises/practice/pangram/.docs/instructions.md @@ -0,0 +1,8 @@ +# Instructions + +Your task is to figure out if a sentence is a pangram. + +A pangram is a sentence using every letter of the alphabet at least once. +It is case insensitive, so it doesn't matter if a letter is lower-case (e.g. `k`) or upper-case (e.g. `K`). + +For this exercise, a sentence is a pangram if it contains each of the 26 letters in the English alphabet. diff --git a/exercises/practice/pangram/.docs/introduction.md b/exercises/practice/pangram/.docs/introduction.md new file mode 100644 index 0000000..32b6f1f --- /dev/null +++ b/exercises/practice/pangram/.docs/introduction.md @@ -0,0 +1,16 @@ +# Introduction + +You work for a company that sells fonts through their website. +They'd like to show a different sentence each time someone views a font on their website. +To give a comprehensive sense of the font, the random sentences should use **all** the letters in the English alphabet. + +They're running a competition to get suggestions for sentences that they can use. +You're in charge of checking the submissions to see if they are valid. + +~~~~exercism/note +Pangram comes from Greek, παν γράμμα, pan gramma, which means "every letter". + +The best known English pangram is: + +> The quick brown fox jumps over the lazy dog. +~~~~ diff --git a/exercises/practice/pangram/.meta/config.json b/exercises/practice/pangram/.meta/config.json new file mode 100644 index 0000000..105f53c --- /dev/null +++ b/exercises/practice/pangram/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "pangram.arr" + ], + "test": [ + "pangram-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Determine if a sentence is a pangram.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Pangram" +} diff --git a/exercises/practice/pangram/.meta/example.arr b/exercises/practice/pangram/.meta/example.arr new file mode 100644 index 0000000..85542ae --- /dev/null +++ b/exercises/practice/pangram/.meta/example.arr @@ -0,0 +1,13 @@ +provide: is-pangram end + +import lists as L +import sets as S + +LOWERCASE = string-explode("abcdefghijklmnopqrstuvwxyz") + +fun is-pangram(phrase): + letters = S.list-to-set(string-explode(string-tolower(phrase))) + L.all( + lam(char): letters.member(char) end, + LOWERCASE) +end \ No newline at end of file diff --git a/exercises/practice/pangram/.meta/tests.toml b/exercises/practice/pangram/.meta/tests.toml new file mode 100644 index 0000000..10b5a33 --- /dev/null +++ b/exercises/practice/pangram/.meta/tests.toml @@ -0,0 +1,45 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[64f61791-508e-4f5c-83ab-05de042b0149] +description = "empty sentence" + +[74858f80-4a4d-478b-8a5e-c6477e4e4e84] +description = "perfect lower case" + +[61288860-35ca-4abe-ba08-f5df76ecbdcd] +description = "only lower case" + +[6564267d-8ac5-4d29-baf2-e7d2e304a743] +description = "missing the letter 'x'" + +[c79af1be-d715-4cdb-a5f2-b2fa3e7e0de0] +description = "missing the letter 'h'" + +[d835ec38-bc8f-48e4-9e36-eb232427b1df] +description = "with underscores" + +[8cc1e080-a178-4494-b4b3-06982c9be2a8] +description = "with numbers" + +[bed96b1c-ff95-45b8-9731-fdbdcb6ede9a] +description = "missing letters replaced by numbers" + +[938bd5d8-ade5-40e2-a2d9-55a338a01030] +description = "mixed case and punctuation" + +[2577bf54-83c8-402d-a64b-a2c0f7bb213a] +description = "case insensitive" +include = false + +[7138e389-83e4-4c6e-8413-1e40a0076951] +description = "a-m and A-M are 26 different characters but not a pangram" +reimplements = "2577bf54-83c8-402d-a64b-a2c0f7bb213a" diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr new file mode 100644 index 0000000..e8f6195 --- /dev/null +++ b/exercises/practice/pangram/pangram-test.arr @@ -0,0 +1,51 @@ +include file("pangram.arr") + +check "empty sentence": + input = "" + is-pangram(input) is-not true +end + +check "perfect lower case": + input = "abcdefghijklmnopqrstuvwxyz" + is-pangram(input) is true +end + +check "only lower case": + input = "the quick brown fox jumps over the lazy dog" + is-pangram(input) is true +end + +check "missing the letter 'x'": + input = "a quick movement of the enemy will jeopardize five gunboats" + is-pangram(input) is-not true +end + +check "missing the letter 'h'": + input = "five boxing wizards jump quickly at it" + is-pangram(input) is-not true +end + +check "with underscores": + input = "the_quick_brown_fox_jumps_over_the_lazy_dog" + is-pangram(input) is true +end + +check "with numbers": + input = "the 1 quick brown fox jumps over the 2 lazy dogs" + is-pangram(input) is true +end + +check "missing letters replaced by numbers": + input = "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog" + is-pangram(input) is false +end + +check "mixed case and punctuation": + input = "\"Five quacking Zephyrs jolt my wax bed.\"" + is-pangram(input) is true +end + +check "a-m and A-M are 26 different characters but not a pangram": + input = "abcdefghijklm ABCDEFGHIJKLM" + is-pangram(input) is-not true +end diff --git a/exercises/practice/pangram/pangram.arr b/exercises/practice/pangram/pangram.arr new file mode 100644 index 0000000..b8a0865 --- /dev/null +++ b/exercises/practice/pangram/pangram.arr @@ -0,0 +1,5 @@ +provide: is-pangram end + +fun is-pangram(phrase): + raise("Please implement the is-pangram function") +end \ No newline at end of file From 63e10ac962580b153092087b2fbd2dc75181bc77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 1 Aug 2023 19:47:49 -0700 Subject: [PATCH 058/244] Add hamming (#69) --- config.json | 8 +++ .../practice/hamming/.docs/instructions.md | 27 ++++++++ exercises/practice/hamming/.meta/config.json | 19 ++++++ exercises/practice/hamming/.meta/example.arr | 27 ++++++++ exercises/practice/hamming/.meta/tests.toml | 67 +++++++++++++++++++ exercises/practice/hamming/hamming-test.arr | 37 ++++++++++ exercises/practice/hamming/hamming.arr | 5 ++ 7 files changed, 190 insertions(+) create mode 100644 exercises/practice/hamming/.docs/instructions.md create mode 100644 exercises/practice/hamming/.meta/config.json create mode 100644 exercises/practice/hamming/.meta/example.arr create mode 100644 exercises/practice/hamming/.meta/tests.toml create mode 100644 exercises/practice/hamming/hamming-test.arr create mode 100644 exercises/practice/hamming/hamming.arr diff --git a/config.json b/config.json index b1a92f0..1c33226 100644 --- a/config.json +++ b/config.json @@ -131,6 +131,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "hamming", + "name": "Hamming", + "uuid": "731dcc09-a78c-4da4-a6c7-47bb0b6720f2", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "hello-world", "name": "Ahoy World", diff --git a/exercises/practice/hamming/.docs/instructions.md b/exercises/practice/hamming/.docs/instructions.md new file mode 100644 index 0000000..020fdd0 --- /dev/null +++ b/exercises/practice/hamming/.docs/instructions.md @@ -0,0 +1,27 @@ +# Instructions + +Calculate the Hamming Distance between two DNA strands. + +Your body is made up of cells that contain DNA. +Those cells regularly wear out and need replacing, which they achieve by dividing into daughter cells. +In fact, the average human body experiences about 10 quadrillion cell divisions in a lifetime! + +When cells divide, their DNA replicates too. +Sometimes during this process mistakes happen and single pieces of DNA get encoded with the incorrect information. +If we compare two strands of DNA and count the differences between them we can see how many mistakes occurred. +This is known as the "Hamming Distance". + +We read DNA using the letters C,A,G and T. +Two strands might look like this: + + GAGCCTACTAACGGGAT + CATCGTAATGACGGCCT + ^ ^ ^ ^ ^ ^^ + +They have 7 differences, and therefore the Hamming Distance is 7. + +The Hamming Distance is useful for lots of things in science, not just biology, so it's a nice phrase to be familiar with :) + +## Implementation notes + +The Hamming distance is only defined for sequences of equal length, so an attempt to calculate it between sequences of different lengths should not work. diff --git a/exercises/practice/hamming/.meta/config.json b/exercises/practice/hamming/.meta/config.json new file mode 100644 index 0000000..2289e63 --- /dev/null +++ b/exercises/practice/hamming/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "hamming.arr" + ], + "test": [ + "hamming-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Calculate the Hamming difference between two DNA strands.", + "source": "The Calculating Point Mutations problem at Rosalind", + "source_url": "https://rosalind.info/problems/hamm/" +} diff --git a/exercises/practice/hamming/.meta/example.arr b/exercises/practice/hamming/.meta/example.arr new file mode 100644 index 0000000..50db219 --- /dev/null +++ b/exercises/practice/hamming/.meta/example.arr @@ -0,0 +1,27 @@ +provide: distance end + +import lists as L + +fun distance(first-strand, second-strand): + ask: + | string-length(first-strand) <> string-length(second-strand) then: + raise("Strands must be of equal length.") + | (first-strand == "") and (second-strand <> "") then: + raise("Strands must be of equal length.") + | (first-strand <> "") and (second-strand == "") then: + raise("Strands must be of equal length.") + | otherwise: + L.fold2( + lam(acc, elt1, elt2): + ask: + | elt1 <> elt2 then: + acc + 1 + | otherwise: + acc + end + end, + 0, + string-explode(first-strand), + string-explode(second-strand)) + end +end \ No newline at end of file diff --git a/exercises/practice/hamming/.meta/tests.toml b/exercises/practice/hamming/.meta/tests.toml new file mode 100644 index 0000000..5dc17ed --- /dev/null +++ b/exercises/practice/hamming/.meta/tests.toml @@ -0,0 +1,67 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[f6dcb64f-03b0-4b60-81b1-3c9dbf47e887] +description = "empty strands" + +[54681314-eee2-439a-9db0-b0636c656156] +description = "single letter identical strands" + +[294479a3-a4c8-478f-8d63-6209815a827b] +description = "single letter different strands" + +[9aed5f34-5693-4344-9b31-40c692fb5592] +description = "long identical strands" + +[cd2273a5-c576-46c8-a52b-dee251c3e6e5] +description = "long different strands" + +[919f8ef0-b767-4d1b-8516-6379d07fcb28] +description = "disallow first strand longer" +include = false + +[b9228bb1-465f-4141-b40f-1f99812de5a8] +description = "disallow first strand longer" +reimplements = "919f8ef0-b767-4d1b-8516-6379d07fcb28" + +[8a2d4ed0-ead5-4fdd-924d-27c4cf56e60e] +description = "disallow second strand longer" +include = false + +[dab38838-26bb-4fff-acbe-3b0a9bfeba2d] +description = "disallow second strand longer" +reimplements = "8a2d4ed0-ead5-4fdd-924d-27c4cf56e60e" + +[5dce058b-28d4-4ca7-aa64-adfe4e17784c] +description = "disallow left empty strand" +include = false + +[db92e77e-7c72-499d-8fe6-9354d2bfd504] +description = "disallow left empty strand" +include = false +reimplements = "5dce058b-28d4-4ca7-aa64-adfe4e17784c" + +[b764d47c-83ff-4de2-ab10-6cfe4b15c0f3] +description = "disallow empty first strand" +reimplements = "db92e77e-7c72-499d-8fe6-9354d2bfd504" + +[38826d4b-16fb-4639-ac3e-ba027dec8b5f] +description = "disallow right empty strand" +include = false + +[920cd6e3-18f4-4143-b6b8-74270bb8f8a3] +description = "disallow right empty strand" +include = false +reimplements = "38826d4b-16fb-4639-ac3e-ba027dec8b5f" + +[9ab9262f-3521-4191-81f5-0ed184a5aa89] +description = "disallow empty second strand" +reimplements = "920cd6e3-18f4-4143-b6b8-74270bb8f8a3" diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr new file mode 100644 index 0000000..f6e8cc4 --- /dev/null +++ b/exercises/practice/hamming/hamming-test.arr @@ -0,0 +1,37 @@ +include file("hamming.arr") + +check "empty strands": + distance("", "") is 0 +end + +check "single letter identical strands": + distance("A", "A") is 0 +end + +check "single letter different strands": + distance("G", "T") is 1 +end + +check "long identical strands": + distance("GGACTGAAATCTG", "GGACTGAAATCTG") is 0 +end + +check "long different strands": + distance("GGACGGATTCTG", "AGGACGGATTCT") is 9 +end + +check "disallow first strand longer": + distance("AATG", "AAA") raises "Strands must be of equal length." +end + +check "disallow second strand longer": + distance("ATA", "AGTG") raises "Strands must be of equal length." +end + +check "disallow empty first strand": + distance("", "G") raises "Strands must be of equal length." +end + +check "disallow empty second strand": + distance("G", "") raises "Strands must be of equal length." +end diff --git a/exercises/practice/hamming/hamming.arr b/exercises/practice/hamming/hamming.arr new file mode 100644 index 0000000..b11b052 --- /dev/null +++ b/exercises/practice/hamming/hamming.arr @@ -0,0 +1,5 @@ +provide: distance end + +fun distance(first-strand, second-strand): + raise("Please implement the distance function") +end From 7bb32d4f767310c3d23f41efbd07f2f1b4d674e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 2 Aug 2023 17:56:54 -0700 Subject: [PATCH 059/244] Add luhn exercise (#70) --- config.json | 8 ++ exercises/practice/luhn/.docs/instructions.md | 64 +++++++++++++ exercises/practice/luhn/.meta/config.json | 19 ++++ exercises/practice/luhn/.meta/example.arr | 37 ++++++++ exercises/practice/luhn/.meta/tests.toml | 76 ++++++++++++++++ exercises/practice/luhn/luhn-test.arr | 89 +++++++++++++++++++ exercises/practice/luhn/luhn.arr | 5 ++ 7 files changed, 298 insertions(+) create mode 100644 exercises/practice/luhn/.docs/instructions.md create mode 100644 exercises/practice/luhn/.meta/config.json create mode 100644 exercises/practice/luhn/.meta/example.arr create mode 100644 exercises/practice/luhn/.meta/tests.toml create mode 100644 exercises/practice/luhn/luhn-test.arr create mode 100644 exercises/practice/luhn/luhn.arr diff --git a/config.json b/config.json index 1c33226..a22b56e 100644 --- a/config.json +++ b/config.json @@ -163,6 +163,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "luhn", + "name": "Luhn", + "uuid": "9476a1c3-1775-453d-bb08-be919fd03bad", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "matrix", "name": "Matrix", diff --git a/exercises/practice/luhn/.docs/instructions.md b/exercises/practice/luhn/.docs/instructions.md new file mode 100644 index 0000000..8cbe791 --- /dev/null +++ b/exercises/practice/luhn/.docs/instructions.md @@ -0,0 +1,64 @@ +# Instructions + +Given a number determine whether or not it is valid per the Luhn formula. + +The [Luhn algorithm][luhn] is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers and Canadian Social Insurance Numbers. + +The task is to check if a given string is valid. + +## Validating a Number + +Strings of length 1 or less are not valid. +Spaces are allowed in the input, but they should be stripped before checking. +All other non-digit characters are disallowed. + +### Example 1: valid credit card number + +```text +4539 3195 0343 6467 +``` + +The first step of the Luhn algorithm is to double every second digit, starting from the right. +We will be doubling + +```text +4_3_ 3_9_ 0_4_ 6_6_ +``` + +If doubling the number results in a number greater than 9 then subtract 9 from the product. +The results of our doubling: + +```text +8569 6195 0383 3437 +``` + +Then sum all of the digits: + +```text +8+5+6+9+6+1+9+5+0+3+8+3+3+4+3+7 = 80 +``` + +If the sum is evenly divisible by 10, then the number is valid. +This number is valid! + +### Example 2: invalid credit card number + +```text +8273 1232 7352 0569 +``` + +Double the second digits, starting from the right + +```text +7253 2262 5312 0539 +``` + +Sum the digits + +```text +7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57 +``` + +57 is not evenly divisible by 10, so this number is not valid. + +[luhn]: https://en.wikipedia.org/wiki/Luhn_algorithm diff --git a/exercises/practice/luhn/.meta/config.json b/exercises/practice/luhn/.meta/config.json new file mode 100644 index 0000000..db2c7bd --- /dev/null +++ b/exercises/practice/luhn/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "luhn.arr" + ], + "test": [ + "luhn-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a number determine whether or not it is valid per the Luhn formula.", + "source": "The Luhn Algorithm on Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Luhn_algorithm" +} diff --git a/exercises/practice/luhn/.meta/example.arr b/exercises/practice/luhn/.meta/example.arr new file mode 100644 index 0000000..f86638e --- /dev/null +++ b/exercises/practice/luhn/.meta/example.arr @@ -0,0 +1,37 @@ +provide: is-valid end + +import lists as L + +fun is-valid(card-number): + to-lower-bound = lam(n, b): if n > b: n - b else: n end end + + card-digits = string-replace(card-number, " ", "") + len = string-length(card-digits) + ask: + | len > 1 then: + cases (Option) string-to-number(card-digits): + | none => false + | some(digits) => + step = num-modulo(len, 2) + checksum = L.fold_n( + lam(index, acc, elt): + cases (Option) string-to-number(elt): + | none => acc + | some(digit) => + ask: + | num-modulo(index, 2) == step then: + acc + (to-lower-bound(digit * 2, 9)) + | otherwise: + acc + digit + end + end + end, + 0, + 0, + string-explode(card-digits)) + num-modulo(checksum, 10) == 0 + end + | otherwise: + false + end +end \ No newline at end of file diff --git a/exercises/practice/luhn/.meta/tests.toml b/exercises/practice/luhn/.meta/tests.toml new file mode 100644 index 0000000..c0be0c4 --- /dev/null +++ b/exercises/practice/luhn/.meta/tests.toml @@ -0,0 +1,76 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[792a7082-feb7-48c7-b88b-bbfec160865e] +description = "single digit strings can not be valid" + +[698a7924-64d4-4d89-8daa-32e1aadc271e] +description = "a single zero is invalid" + +[73c2f62b-9b10-4c9f-9a04-83cee7367965] +description = "a simple valid SIN that remains valid if reversed" + +[9369092e-b095-439f-948d-498bd076be11] +description = "a simple valid SIN that becomes invalid if reversed" + +[8f9f2350-1faf-4008-ba84-85cbb93ffeca] +description = "a valid Canadian SIN" + +[1cdcf269-6560-44fc-91f6-5819a7548737] +description = "invalid Canadian SIN" + +[656c48c1-34e8-4e60-9a5a-aad8a367810a] +description = "invalid credit card" + +[20e67fad-2121-43ed-99a8-14b5b856adb9] +description = "invalid long number with an even remainder" + +[7e7c9fc1-d994-457c-811e-d390d52fba5e] +description = "invalid long number with a remainder divisible by 5" + +[ad2a0c5f-84ed-4e5b-95da-6011d6f4f0aa] +description = "valid number with an even number of digits" + +[ef081c06-a41f-4761-8492-385e13c8202d] +description = "valid number with an odd number of spaces" + +[bef66f64-6100-4cbb-8f94-4c9713c5e5b2] +description = "valid strings with a non-digit added at the end become invalid" + +[2177e225-9ce7-40f6-b55d-fa420e62938e] +description = "valid strings with punctuation included become invalid" + +[ebf04f27-9698-45e1-9afe-7e0851d0fe8d] +description = "valid strings with symbols included become invalid" + +[08195c5e-ce7f-422c-a5eb-3e45fece68ba] +description = "single zero with space is invalid" + +[12e63a3c-f866-4a79-8c14-b359fc386091] +description = "more than a single zero is valid" + +[ab56fa80-5de8-4735-8a4a-14dae588663e] +description = "input digit 9 is correctly converted to output digit 9" + +[b9887ee8-8337-46c5-bc45-3bcab51bc36f] +description = "very long input is valid" + +[8a7c0e24-85ea-4154-9cf1-c2db90eabc08] +description = "valid luhn with an odd number of digits and non zero first digit" + +[39a06a5a-5bad-4e0f-b215-b042d46209b1] +description = "using ascii value for non-doubled non-digit isn't allowed" + +[f94cf191-a62f-4868-bc72-7253114aa157] +description = "using ascii value for doubled non-digit isn't allowed" + +[8b72ad26-c8be-49a2-b99c-bcc3bf631b33] +description = "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed" diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr new file mode 100644 index 0000000..70af8bb --- /dev/null +++ b/exercises/practice/luhn/luhn-test.arr @@ -0,0 +1,89 @@ +include file("luhn.arr") + +check "single digit strings can not be valid": + is-valid("1") is-not true +end + +check "a single zero is invalid": + is-valid("0") is-not true +end + +check "a simple valid SIN that remains valid if reversed": + is-valid("059") is true +end + +check "a simple valid SIN that becomes invalid if reversed": + is-valid("59") is true +end + +check "a valid Canadian SIN": + is-valid("055 444 285") is true +end + +check "invalid Canadian SIN": + is-valid("055 444 286") is-not true +end + +check "invalid credit card": + is-valid("8273 1232 7352 0569") is-not true +end + +check "invalid long number with an even remainder": + is-valid("1 2345 6789 1234 5678 9012") is-not true +end + +check "invalid long number with a remainder divisible by 5": + is-valid("1 2345 6789 1234 5678 9013") is-not true +end + +check "valid number with an even number of digits": + is-valid("095 245 88") is true +end + +check "valid number with an odd number of spaces": + is-valid("234 567 891 234") is true +end + +check "valid strings with a non-digit added at the end become invalid": + is-valid("059a") is-not true +end + +check "valid strings with punctuation included become invalid": + is-valid("055-444-285") is-not true +end + +check "valid strings with symbols included become invalid": + is-valid("055# 444$ 285") is-not true +end + +check "single zero with space is invalid": + is-valid(" 0") is-not true +end + +check "more than a single zero is valid": + is-valid("0000 0") is true +end + +check "input digit 9 is correctly converted to output digit 9": + is-valid("091") is true +end + +check "very long input is valid": + is-valid("9999999999 9999999999 9999999999 9999999999") is true +end + +check "valid luhn with an odd number of digits and non zero first digit": + is-valid("109") is true +end + +check "using ascii value for non-doubled non-digit isn't allowed": + is-valid("055b 444 285") is-not true +end + +check "using ascii value for doubled non-digit isn't allowed": + is-valid(":9") is-not true +end + +check "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed": + is-valid("59%59") is-not true +end diff --git a/exercises/practice/luhn/luhn.arr b/exercises/practice/luhn/luhn.arr new file mode 100644 index 0000000..94afc97 --- /dev/null +++ b/exercises/practice/luhn/luhn.arr @@ -0,0 +1,5 @@ +provide: is-valid end + +fun is-valid(card-number): + raise("Please implement the is-valid function") +end \ No newline at end of file From 00ea2f40e004dead9168c5b0b0b20305d7e8ba66 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 3 Aug 2023 16:14:33 +0200 Subject: [PATCH 060/244] Enable test runner (#71) --- config.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config.json b/config.json index a22b56e..38d7588 100644 --- a/config.json +++ b/config.json @@ -4,7 +4,7 @@ "active": false, "status": { "concept_exercises": false, - "test_runner": false, + "test_runner": true, "representer": false, "analyzer": false }, @@ -15,6 +15,9 @@ "indent_size": 2, "highlightjs_language": "plaintext" }, + "test_runner": { + "average_run_time": 3 + }, "files": { "solution": [ "%{kebab_slug}.arr" From 75bc26f84710eee9739ee6458cc838e1ded983e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 3 Aug 2023 22:19:21 -0700 Subject: [PATCH 061/244] Change dict types for clarity (#72) --- .../practice/nucleotide-count/.meta/example.arr | 13 +++++-------- .../nucleotide-count/nucleotide-count-test.arr | 8 ++++---- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/exercises/practice/nucleotide-count/.meta/example.arr b/exercises/practice/nucleotide-count/.meta/example.arr index 07af229..add4e00 100644 --- a/exercises/practice/nucleotide-count/.meta/example.arr +++ b/exercises/practice/nucleotide-count/.meta/example.arr @@ -5,14 +5,11 @@ include string-dict fun nucleotide-counts(strand): string-explode(strand).foldl(lam(elt, acc): ask: - | acc.has-key-now(elt) then: - _ = cases(Option) acc.get-now(elt): - | some(a) => acc.set-now(elt, a + 1) - end - - acc - | otherwise: + | not(acc.has-key(elt)) then: raise("Invalid nucleotide in strand") + | otherwise: + count = acc.get-value(elt) + acc.set(elt, count + 1) end - end, [mutable-string-dict: "A", 0, "C", 0, "G", 0, "T", 0]) + end, [string-dict: "A", 0, "C", 0, "G", 0, "T", 0]) end \ No newline at end of file diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index b822ed0..5f405ee 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -4,28 +4,28 @@ include string-dict check "empty strand": input = "" - expected = [mutable-string-dict: "A", 0, "C", 0, "G", 0, "T", 0] + expected = [string-dict: "A", 0, "C", 0, "G", 0, "T", 0] nucleotide-counts(input) is expected end check "can count one nucleotide in single-character input": input = "G" - expected = [mutable-string-dict: "A", 0, "C", 0, "G", 1, "T", 0] + expected = [string-dict: "A", 0, "C", 0, "G", 1, "T", 0] nucleotide-counts(input) is expected end check "strand with repeated nucleotide": input = "GGGGGGG" - expected = [mutable-string-dict: "A", 0, "C", 0, "G", 7, "T", 0] + expected = [string-dict: "A", 0, "C", 0, "G", 7, "T", 0] nucleotide-counts(input) is expected end check "strand with multiple nucleotides": input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" - expected = [mutable-string-dict: "A", 20, "C", 12, "G", 17, "T", 21] + expected = [string-dict: "A", 20, "C", 12, "G", 17, "T", 21] nucleotide-counts(input) is expected end From 453ae61220316a2532efad477f265d84a38784d5 Mon Sep 17 00:00:00 2001 From: meatball <69751659+meatball133@users.noreply.github.com> Date: Sun, 6 Aug 2023 08:53:33 +0200 Subject: [PATCH 062/244] Use string dict (#76) --- exercises/practice/etl/.meta/example.arr | 2 +- exercises/practice/etl/etl-test.arr | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/exercises/practice/etl/.meta/example.arr b/exercises/practice/etl/.meta/example.arr index 4e8cbf8..0dc8e91 100644 --- a/exercises/practice/etl/.meta/example.arr +++ b/exercises/practice/etl/.meta/example.arr @@ -7,5 +7,5 @@ fun translate(legacy): (legacy.keys().to-list()).each(lam(n): legacy.get-value(n).each(lam(letter): result.set-now(string-to-lower(letter), n) end) end) result end - result + result.freeze() end diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index c0d86e8..5760611 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -2,16 +2,16 @@ include file("etl.arr") include string-dict check "single letter": - translate([string-dict: "1", [list: "A"]]) is [mutable-string-dict: "a", "1"] + translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] end check "single score with multiple letters": - translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] + translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] end check "multiple scores with multiple letters": input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] - expected = [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] translate(input) is expected end @@ -23,7 +23,7 @@ check "multiple scores with multiple letters and multiple scores": "5", [list: "K"], "8", [list: "J", "X"], "10", [list: "Q", "Z"]] - expected = [mutable-string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2", "b", "3", "c", "3", "m", "3", "p", "3", "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", From dbde61ccbfb9fb094ce556d912a1993f191b2454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 6 Aug 2023 12:33:45 -0700 Subject: [PATCH 063/244] Add perfect-numbers (#77) --- config.json | 8 +++ .../perfect-numbers/.docs/instructions.md | 24 +++++++++ .../perfect-numbers/.meta/config.json | 19 +++++++ .../perfect-numbers/.meta/example.arr | 38 +++++++++++++ .../practice/perfect-numbers/.meta/tests.toml | 49 +++++++++++++++++ .../perfect-numbers/perfect-numbers-test.arr | 53 +++++++++++++++++++ .../perfect-numbers/perfect-numbers.arr | 5 ++ 7 files changed, 196 insertions(+) create mode 100644 exercises/practice/perfect-numbers/.docs/instructions.md create mode 100644 exercises/practice/perfect-numbers/.meta/config.json create mode 100644 exercises/practice/perfect-numbers/.meta/example.arr create mode 100644 exercises/practice/perfect-numbers/.meta/tests.toml create mode 100644 exercises/practice/perfect-numbers/perfect-numbers-test.arr create mode 100644 exercises/practice/perfect-numbers/perfect-numbers.arr diff --git a/config.json b/config.json index 38d7588..6aac915 100644 --- a/config.json +++ b/config.json @@ -197,6 +197,14 @@ "practices": [], "prerequisites": [], "difficulty": 3 + }, + { + "slug": "perfect-numbers", + "name": "Perfect Numbers", + "uuid": "dbf1655b-c3d3-4443-8862-db4e6c3136e4", + "practices": [], + "prerequisites": [], + "difficulty": 3 }, { "slug": "protein-translation", diff --git a/exercises/practice/perfect-numbers/.docs/instructions.md b/exercises/practice/perfect-numbers/.docs/instructions.md new file mode 100644 index 0000000..0dae886 --- /dev/null +++ b/exercises/practice/perfect-numbers/.docs/instructions.md @@ -0,0 +1,24 @@ +# Instructions + +Determine if a number is perfect, abundant, or deficient based on +Nicomachus' (60 - 120 CE) classification scheme for positive integers. + +The Greek mathematician [Nicomachus][nicomachus] devised a classification scheme for positive integers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum][aliquot-sum]. +The aliquot sum is defined as the sum of the factors of a number not including the number itself. +For example, the aliquot sum of 15 is (1 + 3 + 5) = 9 + +- **Perfect**: aliquot sum = number + - 6 is a perfect number because (1 + 2 + 3) = 6 + - 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28 +- **Abundant**: aliquot sum > number + - 12 is an abundant number because (1 + 2 + 3 + 4 + 6) = 16 + - 24 is an abundant number because (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36 +- **Deficient**: aliquot sum < number + - 8 is a deficient number because (1 + 2 + 4) = 7 + - Prime numbers are deficient + +Implement a way to determine whether a given number is **perfect**. +Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**. + +[nicomachus]: https://en.wikipedia.org/wiki/Nicomachus +[aliquot-sum]: https://en.wikipedia.org/wiki/Aliquot_sum diff --git a/exercises/practice/perfect-numbers/.meta/config.json b/exercises/practice/perfect-numbers/.meta/config.json new file mode 100644 index 0000000..d80b2f3 --- /dev/null +++ b/exercises/practice/perfect-numbers/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "perfect-numbers.arr" + ], + "test": [ + "perfect-numbers-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.", + "source": "Taken from Chapter 2 of Functional Thinking by Neal Ford.", + "source_url": "https://www.oreilly.com/library/view/functional-thinking/9781449365509/" +} diff --git a/exercises/practice/perfect-numbers/.meta/example.arr b/exercises/practice/perfect-numbers/.meta/example.arr new file mode 100644 index 0000000..4ce9c70 --- /dev/null +++ b/exercises/practice/perfect-numbers/.meta/example.arr @@ -0,0 +1,38 @@ +provide: classify end + +import lists as L + +fun classify(number :: NumInteger) -> String: + if number <= 0: + raise("Classification is only possible for positive integers.") + else if number == 1: + "deficient" # Can't range from 2 to 1 + else: + stop = num-truncate(num-to-rational(num-sqrt(number))) + 1 + start = if stop < 2: stop else: 2 end + + aliquot-sum = L.range(start, stop).foldl( + lam(elt, acc): + if num-modulo(number, elt) == 0: + increment = + if (elt * elt) <> number: + elt + num-truncate(number / elt) + else: + elt + end + acc + increment + else: + acc + end + end, + 1) + + if aliquot-sum < number: + "deficient" + else if aliquot-sum == number: + "perfect" + else: + "abundant" + end + end +end diff --git a/exercises/practice/perfect-numbers/.meta/tests.toml b/exercises/practice/perfect-numbers/.meta/tests.toml new file mode 100644 index 0000000..ec28889 --- /dev/null +++ b/exercises/practice/perfect-numbers/.meta/tests.toml @@ -0,0 +1,49 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[163e8e86-7bfd-4ee2-bd68-d083dc3381a3] +description = "Perfect numbers -> Smallest perfect number is classified correctly" + +[169a7854-0431-4ae0-9815-c3b6d967436d] +description = "Perfect numbers -> Medium perfect number is classified correctly" + +[ee3627c4-7b36-4245-ba7c-8727d585f402] +description = "Perfect numbers -> Large perfect number is classified correctly" + +[80ef7cf8-9ea8-49b9-8b2d-d9cb3db3ed7e] +description = "Abundant numbers -> Smallest abundant number is classified correctly" + +[3e300e0d-1a12-4f11-8c48-d1027165ab60] +description = "Abundant numbers -> Medium abundant number is classified correctly" + +[ec7792e6-8786-449c-b005-ce6dd89a772b] +description = "Abundant numbers -> Large abundant number is classified correctly" + +[e610fdc7-2b6e-43c3-a51c-b70fb37413ba] +description = "Deficient numbers -> Smallest prime deficient number is classified correctly" + +[0beb7f66-753a-443f-8075-ad7fbd9018f3] +description = "Deficient numbers -> Smallest non-prime deficient number is classified correctly" + +[1c802e45-b4c6-4962-93d7-1cad245821ef] +description = "Deficient numbers -> Medium deficient number is classified correctly" + +[47dd569f-9e5a-4a11-9a47-a4e91c8c28aa] +description = "Deficient numbers -> Large deficient number is classified correctly" + +[a696dec8-6147-4d68-afad-d38de5476a56] +description = "Deficient numbers -> Edge case (no factors other than itself) is classified correctly" + +[72445cee-660c-4d75-8506-6c40089dc302] +description = "Invalid inputs -> Zero is rejected (as it is not a positive integer)" + +[2d72ce2c-6802-49ac-8ece-c790ba3dae13] +description = "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)" diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr new file mode 100644 index 0000000..952b764 --- /dev/null +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -0,0 +1,53 @@ +include file("perfect-numbers.arr") + +check "Perfect numbers -> Smallest perfect number is classified correctly": + classify(6) is "perfect" +end + +check "Perfect numbers -> Medium perfect number is classified correctly": + classify(28) is "perfect" +end + +check "Perfect numbers -> Large perfect number is classified correctly": + classify(33550336) is "perfect" +end + +check "Abundant numbers -> Smallest abundant number is classified correctly": + classify(12) is "abundant" +end + +check "Abundant numbers -> Medium abundant number is classified correctly": + classify(30) is "abundant" +end + +check "Abundant numbers -> Large abundant number is classified correctly": + classify(33550335) is "abundant" +end + +check "Deficient numbers -> Smallest prime deficient number is classified correctly": + classify(2) is "deficient" +end + +check "Deficient numbers -> Smallest non-prime deficient number is classified correctly": + classify(4) is "deficient" +end + +check "Deficient numbers -> Medium deficient number is classified correctly": + classify(32) is "deficient" +end + +check "Deficient numbers -> Large deficient number is classified correctly": + classify(33550337) is "deficient" +end + +check "Deficient numbers -> Edge case (no factors other than itself) is classified correctly": + classify(1) is "deficient" +end + +check "Invalid inputs -> Zero is rejected (as it is not a positive integer)": + classify(0) raises "Classification is only possible for positive integers." +end + +check "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)": + classify(-1) raises "Classification is only possible for positive integers." +end diff --git a/exercises/practice/perfect-numbers/perfect-numbers.arr b/exercises/practice/perfect-numbers/perfect-numbers.arr new file mode 100644 index 0000000..a69aad0 --- /dev/null +++ b/exercises/practice/perfect-numbers/perfect-numbers.arr @@ -0,0 +1,5 @@ +provide: classify end + +fun classify(number): + raise("Please implement the classify function") +end From 09957c9cbe818b2bf1a2ba882c338820c20e2f57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:02:05 -0700 Subject: [PATCH 064/244] Add roman numerals (#78) --- config.json | 10 +- .../roman-numerals/.docs/instructions.md | 41 +++++++ .../practice/roman-numerals/.meta/config.json | 19 ++++ .../practice/roman-numerals/.meta/example.arr | 39 +++++++ .../practice/roman-numerals/.meta/tests.toml | 88 +++++++++++++++ .../roman-numerals/roman-numerals-test.arr | 105 ++++++++++++++++++ .../roman-numerals/roman-numerals.arr | 5 + 7 files changed, 306 insertions(+), 1 deletion(-) create mode 100644 exercises/practice/roman-numerals/.docs/instructions.md create mode 100644 exercises/practice/roman-numerals/.meta/config.json create mode 100644 exercises/practice/roman-numerals/.meta/example.arr create mode 100644 exercises/practice/roman-numerals/.meta/tests.toml create mode 100644 exercises/practice/roman-numerals/roman-numerals-test.arr create mode 100644 exercises/practice/roman-numerals/roman-numerals.arr diff --git a/config.json b/config.json index 6aac915..cf59b6c 100644 --- a/config.json +++ b/config.json @@ -198,7 +198,7 @@ "prerequisites": [], "difficulty": 3 }, - { + { "slug": "perfect-numbers", "name": "Perfect Numbers", "uuid": "dbf1655b-c3d3-4443-8862-db4e6c3136e4", @@ -254,6 +254,14 @@ "prerequisites": [], "difficulty": 1 }, + { + "slug": "roman-numerals", + "name": "Roman Numerals", + "uuid": "1382711a-e980-4ff1-825a-a6373ae3d88f", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "scrabble-score", "name": "Scrabble Score", diff --git a/exercises/practice/roman-numerals/.docs/instructions.md b/exercises/practice/roman-numerals/.docs/instructions.md new file mode 100644 index 0000000..247ea08 --- /dev/null +++ b/exercises/practice/roman-numerals/.docs/instructions.md @@ -0,0 +1,41 @@ +# Instructions + +Write a function to convert from normal numbers to Roman Numerals. + +The Romans were a clever bunch. +They conquered most of Europe and ruled it for hundreds of years. +They invented concrete and straight roads and even bikinis. +One thing they never discovered though was the number zero. +This made writing and dating extensive histories of their exploits slightly more challenging, but the system of numbers they came up with is still in use today. +For example the BBC uses Roman numerals to date their programs. + +The Romans wrote numbers using letters - I, V, X, L, C, D, M. +(notice these letters have lots of straight lines and are hence easy to hack into stone tablets). + +```text + 1 => I +10 => X + 7 => VII +``` + +The maximum number supported by this notation is 3,999. +(The Romans themselves didn't tend to go any higher) + +Wikipedia says: Modern Roman numerals ... are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. + +To see this in practice, consider the example of 1990. + +In Roman numerals 1990 is MCMXC: + +1000=M +900=CM +90=XC + +2008 is written as MMVIII: + +2000=MM +8=VIII + +Learn more about [Roman numerals on Wikipedia][roman-numerals]. + +[roman-numerals]: https://wiki.imperivm-romanvm.com/wiki/Roman_Numerals diff --git a/exercises/practice/roman-numerals/.meta/config.json b/exercises/practice/roman-numerals/.meta/config.json new file mode 100644 index 0000000..1e8f15f --- /dev/null +++ b/exercises/practice/roman-numerals/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "roman-numerals.arr" + ], + "test": [ + "roman-numerals-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Write a function to convert from normal numbers to Roman Numerals.", + "source": "The Roman Numeral Kata", + "source_url": "https://codingdojo.org/kata/RomanNumerals/" +} diff --git a/exercises/practice/roman-numerals/.meta/example.arr b/exercises/practice/roman-numerals/.meta/example.arr new file mode 100644 index 0000000..43b88ee --- /dev/null +++ b/exercises/practice/roman-numerals/.meta/example.arr @@ -0,0 +1,39 @@ +provide: to-roman end + +NUMERALS = [list: + {"M";1000}, + {"CM";900}, + {"D";500}, + {"CD";400}, + {"C";100}, + {"XC";90}, + {"L";50}, + {"XL";40}, + {"X";10}, + {"IX";9}, + {"V";5}, + {"IV";4}, + {"I";1}] + + +fun to-roman(number): + rec to-roman-recursive = + lam(current, acc, numerals): + if numerals.length() == 0: + acc + else: + numeral-rule = numerals.get(0) + numeral = numeral-rule.{0} + value = numeral-rule.{1} + if value <= current: + updated-value = current - value + + to-roman-recursive(updated-value, acc + numeral, numerals) + else: + to-roman-recursive(current, acc, numerals.drop(1)) + end + end + end + + to-roman-recursive(number, "", NUMERALS) +end diff --git a/exercises/practice/roman-numerals/.meta/tests.toml b/exercises/practice/roman-numerals/.meta/tests.toml new file mode 100644 index 0000000..57c6c4b --- /dev/null +++ b/exercises/practice/roman-numerals/.meta/tests.toml @@ -0,0 +1,88 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[19828a3a-fbf7-4661-8ddd-cbaeee0e2178] +description = "1 is I" + +[f088f064-2d35-4476-9a41-f576da3f7b03] +description = "2 is II" + +[b374a79c-3bea-43e6-8db8-1286f79c7106] +description = "3 is III" + +[05a0a1d4-a140-4db1-82e8-fcc21fdb49bb] +description = "4 is IV" + +[57c0f9ad-5024-46ab-975d-de18c430b290] +description = "5 is V" + +[20a2b47f-e57f-4797-a541-0b3825d7f249] +description = "6 is VI" + +[ff3fb08c-4917-4aab-9f4e-d663491d083d] +description = "9 is IX" + +[6d1d82d5-bf3e-48af-9139-87d7165ed509] +description = "16 is XVI" + +[2bda64ca-7d28-4c56-b08d-16ce65716cf6] +description = "27 is XXVII" + +[a1f812ef-84da-4e02-b4f0-89c907d0962c] +description = "48 is XLVIII" + +[607ead62-23d6-4c11-a396-ef821e2e5f75] +description = "49 is XLIX" + +[d5b283d4-455d-4e68-aacf-add6c4b51915] +description = "59 is LIX" + +[4465ffd5-34dc-44f3-ada5-56f5007b6dad] +description = "66 is LXVI" + +[46b46e5b-24da-4180-bfe2-2ef30b39d0d0] +description = "93 is XCIII" + +[30494be1-9afb-4f84-9d71-db9df18b55e3] +description = "141 is CXLI" + +[267f0207-3c55-459a-b81d-67cec7a46ed9] +description = "163 is CLXIII" + +[902ad132-0b4d-40e3-8597-ba5ed611dd8d] +description = "166 is CLXVI" + +[cdb06885-4485-4d71-8bfb-c9d0f496b404] +description = "402 is CDII" + +[6b71841d-13b2-46b4-ba97-dec28133ea80] +description = "575 is DLXXV" + +[dacb84b9-ea1c-4a61-acbb-ce6b36674906] +description = "666 is DCLXVI" + +[432de891-7fd6-4748-a7f6-156082eeca2f] +description = "911 is CMXI" + +[e6de6d24-f668-41c0-88d7-889c0254d173] +description = "1024 is MXXIV" + +[efbe1d6a-9f98-4eb5-82bc-72753e3ac328] +description = "1666 is MDCLXVI" + +[bb550038-d4eb-4be2-a9ce-f21961ac3bc6] +description = "3000 is MMM" + +[3bc4b41c-c2e6-49d9-9142-420691504336] +description = "3001 is MMMI" + +[4e18e96b-5fbb-43df-a91b-9cb511fe0856] +description = "3999 is MMMCMXCIX" diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr new file mode 100644 index 0000000..a685578 --- /dev/null +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -0,0 +1,105 @@ +include file("roman-numerals.arr") + +check "1 is I": + to-roman(1) is "I" +end + +check "2 is II": + to-roman(2) is "II" +end + +check "3 is III": + to-roman(3) is "III" +end + +check "4 is IV": + to-roman(4) is "IV" +end + +check "5 is V": + to-roman(5) is "V" +end + +check "6 is VI": + to-roman(6) is "VI" +end + +check "9 is IX": + to-roman(9) is "IX" +end + +check "16 is XVI": + to-roman(16) is "XVI" +end + +check "27 is XXVII": + to-roman(27) is "XXVII" +end + +check "48 is XLVIII": + to-roman(48) is "XLVIII" +end + +check "49 is XLIX": + to-roman(49) is "XLIX" +end + +check "59 is LIX": + to-roman(59) is "LIX" +end + +check "66 is LXVI": + to-roman(66) is "LXVI" +end + +check "93 is XCIII": + to-roman(93) is "XCIII" +end + +check "141 is CXLI": + to-roman(141) is "CXLI" +end + +check "163 is CLXIII": + to-roman(163) is "CLXIII" +end + +check "166 is CLXVI": + to-roman(166) is "CLXVI" +end + +check "402 is CDII": + to-roman(402) is "CDII" +end + +check "575 is DLXXV": + to-roman(575) is "DLXXV" +end + +check "666 is DCLXVI": + to-roman(666) is "DCLXVI" +end + +check "911 is CMXI": + to-roman(911) is "CMXI" +end + +check "1024 is MXXIV": + to-roman(1024) is "MXXIV" +end + +check "1666 is MDCLXVI": + to-roman(1666) is "MDCLXVI" +end + +check "3000 is MMM": + to-roman(3000) is "MMM" +end + +check "3001 is MMMI": + to-roman(3001) is "MMMI" +end + +check "3999 is MMMCMXCIX": + to-roman(3999) is "MMMCMXCIX" +end diff --git a/exercises/practice/roman-numerals/roman-numerals.arr b/exercises/practice/roman-numerals/roman-numerals.arr new file mode 100644 index 0000000..f08ddba --- /dev/null +++ b/exercises/practice/roman-numerals/roman-numerals.arr @@ -0,0 +1,5 @@ +provide: to-roman end + +fun to-roman(number): + raise("Please implement the to-roman function") +end From 9bdbc7277e66102b222c2aa4112750cea2cf122b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 7 Aug 2023 18:13:01 -0700 Subject: [PATCH 065/244] Add foregones (#81) --- config.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config.json b/config.json index cf59b6c..86d745d 100644 --- a/config.json +++ b/config.json @@ -318,6 +318,11 @@ "prerequisites": [], "difficulty": 1 } + ], + "foregone": [ + "error-handling", + "gigasecond", + "lens-person" ] }, "concepts": [], From 8cecff05430334014036519a6141dc78966488cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 7 Aug 2023 18:33:19 -0700 Subject: [PATCH 066/244] Add rna-transcription exercise (#82) --- config.json | 8 ++++++ .../rna-transcription/.docs/instructions.md | 20 +++++++++++++ .../rna-transcription/.docs/introduction.md | 16 +++++++++++ .../rna-transcription/.meta/config.json | 19 +++++++++++++ .../rna-transcription/.meta/example.arr | 19 +++++++++++++ .../rna-transcription/.meta/tests.toml | 28 +++++++++++++++++++ .../rna-transcription-test.arr | 24 ++++++++++++++++ .../rna-transcription/rna-transcription.arr | 5 ++++ 8 files changed, 139 insertions(+) create mode 100644 exercises/practice/rna-transcription/.docs/instructions.md create mode 100644 exercises/practice/rna-transcription/.docs/introduction.md create mode 100644 exercises/practice/rna-transcription/.meta/config.json create mode 100644 exercises/practice/rna-transcription/.meta/example.arr create mode 100644 exercises/practice/rna-transcription/.meta/tests.toml create mode 100644 exercises/practice/rna-transcription/rna-transcription-test.arr create mode 100644 exercises/practice/rna-transcription/rna-transcription.arr diff --git a/config.json b/config.json index 86d745d..447c278 100644 --- a/config.json +++ b/config.json @@ -254,6 +254,14 @@ "prerequisites": [], "difficulty": 1 }, + { + "slug": "rna-transcription", + "name": "RNA Transcription", + "uuid": "00406c43-30c9-4756-a830-b110b6b53eb1", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "roman-numerals", "name": "Roman Numerals", diff --git a/exercises/practice/rna-transcription/.docs/instructions.md b/exercises/practice/rna-transcription/.docs/instructions.md new file mode 100644 index 0000000..36da381 --- /dev/null +++ b/exercises/practice/rna-transcription/.docs/instructions.md @@ -0,0 +1,20 @@ +# Instructions + +Your task is determine the RNA complement of a given DNA sequence. + +Both DNA and RNA strands are a sequence of nucleotides. + +The four nucleotides found in DNA are adenine (**A**), cytosine (**C**), guanine (**G**) and thymine (**T**). + +The four nucleotides found in RNA are adenine (**A**), cytosine (**C**), guanine (**G**) and uracil (**U**). + +Given a DNA strand, its transcribed RNA strand is formed by replacing each nucleotide with its complement: + +- `G` -> `C` +- `C` -> `G` +- `T` -> `A` +- `A` -> `U` + +~~~~exercism/note +If you want to look at how the inputs and outputs are structured, take a look at the examples in the test suite. +~~~~ diff --git a/exercises/practice/rna-transcription/.docs/introduction.md b/exercises/practice/rna-transcription/.docs/introduction.md new file mode 100644 index 0000000..6b3f44b --- /dev/null +++ b/exercises/practice/rna-transcription/.docs/introduction.md @@ -0,0 +1,16 @@ +# Introduction + +You work for a bioengineering company that specializes in developing therapeutic solutions. + +Your team has just been given a new project to develop a targeted therapy for a rare type of cancer. + +~~~~exercism/note +It's all very complicated, but the basic idea is that sometimes people's bodies produce too much of a given protein. +That can cause all sorts of havoc. + +But if you can create a very specific molecule (called a micro-RNA), it can prevent the protein from being produced. + +This technique is called [RNA Interference][rnai]. + +[rnai]: https://admin.acceleratingscience.com/ask-a-scientist/what-is-rnai/ +~~~~ diff --git a/exercises/practice/rna-transcription/.meta/config.json b/exercises/practice/rna-transcription/.meta/config.json new file mode 100644 index 0000000..1cd52e7 --- /dev/null +++ b/exercises/practice/rna-transcription/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "rna-transcription.arr" + ], + "test": [ + "rna-transcription-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a DNA strand, return its RNA Complement Transcription.", + "source": "Hyperphysics", + "source_url": "https://web.archive.org/web/20220408112140/http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html" +} diff --git a/exercises/practice/rna-transcription/.meta/example.arr b/exercises/practice/rna-transcription/.meta/example.arr new file mode 100644 index 0000000..6aa7b77 --- /dev/null +++ b/exercises/practice/rna-transcription/.meta/example.arr @@ -0,0 +1,19 @@ +provide: to-rna end + +include string-dict + +COMPLEMENTS = [string-dict: +"C", "G", +"G", "C", +"T", "A", +"A", "U" +] + +fun to-rna(dna): + string-explode(dna).foldl( + lam(elt, acc): + acc.push(COMPLEMENTS.get-value(elt)) + end, + [list: ] + ).reverse().join-str("") +end \ No newline at end of file diff --git a/exercises/practice/rna-transcription/.meta/tests.toml b/exercises/practice/rna-transcription/.meta/tests.toml new file mode 100644 index 0000000..6800514 --- /dev/null +++ b/exercises/practice/rna-transcription/.meta/tests.toml @@ -0,0 +1,28 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[b4631f82-c98c-4a2f-90b3-c5c2b6c6f661] +description = "Empty RNA sequence" + +[a9558a3c-318c-4240-9256-5d5ed47005a6] +description = "RNA complement of cytosine is guanine" + +[6eedbb5c-12cb-4c8b-9f51-f8320b4dc2e7] +description = "RNA complement of guanine is cytosine" + +[870bd3ec-8487-471d-8d9a-a25046488d3e] +description = "RNA complement of thymine is adenine" + +[aade8964-02e1-4073-872f-42d3ffd74c5f] +description = "RNA complement of adenine is uracil" + +[79ed2757-f018-4f47-a1d7-34a559392dbf] +description = "RNA complement" diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr new file mode 100644 index 0000000..4839d0c --- /dev/null +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -0,0 +1,24 @@ +include file("rna-transcription.arr") + +check "Empty RNA sequence": + to-rna("") is "" +end +check "RNA complement of cytosine is guanine": + to-rna("C") is "G" +end + +check "RNA complement of guanine is cytosine": + to-rna("G") is "C" +end + +check "RNA complement of thymine is adenine": + to-rna("T") is "A" +end + +check "RNA complement of adenine is uracil": + to-rna("A") is "U" +end + +check "RNA complement": + to-rna("ACGTGGTCTTAA") is "UGCACCAGAAUU" +end diff --git a/exercises/practice/rna-transcription/rna-transcription.arr b/exercises/practice/rna-transcription/rna-transcription.arr new file mode 100644 index 0000000..fcc8364 --- /dev/null +++ b/exercises/practice/rna-transcription/rna-transcription.arr @@ -0,0 +1,5 @@ +provide: to-rna end + +fun to-rna(dna): + raise("Please implement the to-rna function") +end From ec099f7df10e07f18a239dbadffdc218547d95ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 7 Aug 2023 22:13:22 -0700 Subject: [PATCH 067/244] Add phone-number exercise (#83) --- config.json | 8 ++ .../phone-number/.docs/instructions.md | 32 +++++++ .../practice/phone-number/.meta/config.json | 19 +++++ .../practice/phone-number/.meta/example.arr | 62 ++++++++++++++ .../practice/phone-number/.meta/tests.toml | 84 +++++++++++++++++++ .../phone-number/phone-number-test.arr | 73 ++++++++++++++++ .../practice/phone-number/phone-number.arr | 5 ++ 7 files changed, 283 insertions(+) create mode 100644 exercises/practice/phone-number/.docs/instructions.md create mode 100644 exercises/practice/phone-number/.meta/config.json create mode 100644 exercises/practice/phone-number/.meta/example.arr create mode 100644 exercises/practice/phone-number/.meta/tests.toml create mode 100644 exercises/practice/phone-number/phone-number-test.arr create mode 100644 exercises/practice/phone-number/phone-number.arr diff --git a/config.json b/config.json index 447c278..a8260b5 100644 --- a/config.json +++ b/config.json @@ -206,6 +206,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "phone-number", + "name": "Phone Number", + "uuid": "dd3ab667-8743-4761-af2d-781fc80959f9", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/phone-number/.docs/instructions.md b/exercises/practice/phone-number/.docs/instructions.md new file mode 100644 index 0000000..6d3275c --- /dev/null +++ b/exercises/practice/phone-number/.docs/instructions.md @@ -0,0 +1,32 @@ +# Instructions + +Clean up user-entered phone numbers so that they can be sent SMS messages. + +The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. +All NANP-countries share the same international country code: `1`. + +NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. +The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*. + +The format is usually represented as + +```text +(NXX)-NXX-XXXX +``` + +where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9. + +Your task is to clean up differently formatted telephone numbers by removing punctuation and the country code (1) if present. + +For example, the inputs + +- `+1 (613)-995-0253` +- `613-995-0253` +- `1 613 995 0253` +- `613.995.0253` + +should all produce the output + +`6139950253` + +**Note:** As this exercise only deals with telephone numbers used in NANP-countries, only 1 is considered a valid country code. diff --git a/exercises/practice/phone-number/.meta/config.json b/exercises/practice/phone-number/.meta/config.json new file mode 100644 index 0000000..4eb05e7 --- /dev/null +++ b/exercises/practice/phone-number/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "phone-number.arr" + ], + "test": [ + "phone-number-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Clean up user-entered phone numbers so that they can be sent SMS messages.", + "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", + "source_url": "https://turing.edu" +} diff --git a/exercises/practice/phone-number/.meta/example.arr b/exercises/practice/phone-number/.meta/example.arr new file mode 100644 index 0000000..69dbab4 --- /dev/null +++ b/exercises/practice/phone-number/.meta/example.arr @@ -0,0 +1,62 @@ +provide: clean end + +is-alpha = lam(char :: String) -> Boolean: + cp = string-to-code-point(string-to-lower(char)) + (cp >= 97) and (cp <= 122) +end + +is-numeric = lam(char :: String) -> Boolean: + cp = string-to-code-point(string-to-lower(char)) + (cp >= 48) and (cp <= 57) +end + +WHITELIST = [list: " ", "+", "(", ")", ".", "-"] + +fun clean(phone-number): + digits = string-explode(phone-number).foldl( + lam(elt, acc): + ask: + | WHITELIST.member(elt) then: + acc + | is-alpha(elt) then: + raise("letters not permitted") + | not(is-numeric(elt)) then: + raise("punctuations not permitted") + | otherwise: + acc.push(elt) + end + end, + [list: ] + ).reverse() + + ask: + | digits.length() < 10 then: + raise("must not be fewer than 10 digits") + | digits.length() > 11 then: + raise("must not be greater than 11 digits") + | (digits.length() == 11) and (digits.get(0) <> "1") then: + raise("11 digits must start with 1") + | otherwise: + truncated = + if digits.length() == 10: + digits + else: + digits.drop(1) + end + + area-code-start = truncated.get(0) + exchange-code-start = truncated.get(3) + ask: + | area-code-start == "0" then: + raise("area code cannot start with zero") + | area-code-start == "1" then: + raise("area code cannot start with one") + | exchange-code-start == "0" then: + raise("exchange code cannot start with zero") + | exchange-code-start == "1" then: + raise("exchange code cannot start with one") + | otherwise: + truncated.join-str("") + end + end +end diff --git a/exercises/practice/phone-number/.meta/tests.toml b/exercises/practice/phone-number/.meta/tests.toml new file mode 100644 index 0000000..24dbf07 --- /dev/null +++ b/exercises/practice/phone-number/.meta/tests.toml @@ -0,0 +1,84 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[79666dce-e0f1-46de-95a1-563802913c35] +description = "cleans the number" + +[c360451f-549f-43e4-8aba-fdf6cb0bf83f] +description = "cleans numbers with dots" + +[08f94c34-9a37-46a2-a123-2a8e9727395d] +description = "cleans numbers with multiple spaces" + +[598d8432-0659-4019-a78b-1c6a73691d21] +description = "invalid when 9 digits" +include = false + +[2de74156-f646-42b5-8638-0ef1d8b58bc2] +description = "invalid when 9 digits" +reimplements = "598d8432-0659-4019-a78b-1c6a73691d21" + +[57061c72-07b5-431f-9766-d97da7c4399d] +description = "invalid when 11 digits does not start with a 1" + +[9962cbf3-97bb-4118-ba9b-38ff49c64430] +description = "valid when 11 digits and starting with 1" + +[fa724fbf-054c-4d91-95da-f65ab5b6dbca] +description = "valid when 11 digits and starting with 1 even with punctuation" + +[c6a5f007-895a-4fc5-90bc-a7e70f9b5cad] +description = "invalid when more than 11 digits" +include = false + +[4a1509b7-8953-4eec-981b-c483358ff531] +description = "invalid when more than 11 digits" +reimplements = "c6a5f007-895a-4fc5-90bc-a7e70f9b5cad" + +[63f38f37-53f6-4a5f-bd86-e9b404f10a60] +description = "invalid with letters" +include = false + +[eb8a1fc0-64e5-46d3-b0c6-33184208e28a] +description = "invalid with letters" +reimplements = "63f38f37-53f6-4a5f-bd86-e9b404f10a60" + +[4bd97d90-52fd-45d3-b0db-06ab95b1244e] +description = "invalid with punctuations" +include = false + +[065f6363-8394-4759-b080-e6c8c351dd1f] +description = "invalid with punctuations" +reimplements = "4bd97d90-52fd-45d3-b0db-06ab95b1244e" + +[d77d07f8-873c-4b17-8978-5f66139bf7d7] +description = "invalid if area code starts with 0" + +[c7485cfb-1e7b-4081-8e96-8cdb3b77f15e] +description = "invalid if area code starts with 1" + +[4d622293-6976-413d-b8bf-dd8a94d4e2ac] +description = "invalid if exchange code starts with 0" + +[4cef57b4-7d8e-43aa-8328-1e1b89001262] +description = "invalid if exchange code starts with 1" + +[9925b09c-1a0d-4960-a197-5d163cbe308c] +description = "invalid if area code starts with 0 on valid 11-digit number" + +[3f809d37-40f3-44b5-ad90-535838b1a816] +description = "invalid if area code starts with 1 on valid 11-digit number" + +[e08e5532-d621-40d4-b0cc-96c159276b65] +description = "invalid if exchange code starts with 0 on valid 11-digit number" + +[57b32f3d-696a-455c-8bf1-137b6d171cdf] +description = "invalid if exchange code starts with 1 on valid 11-digit number" diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr new file mode 100644 index 0000000..eeb5c00 --- /dev/null +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -0,0 +1,73 @@ +include file("phone-number.arr") + +check "cleans the number": + clean("(223) 456-7890") is "2234567890" +end + +check "cleans numbers with dots": + clean("223.456.7890") is "2234567890" +end + +check "cleans numbers with multiple spaces": + clean("223 456 7890 ") is "2234567890" +end + +check "invalid when 9 digits": + clean("123456789") raises "must not be fewer than 10 digits" +end + +check "invalid when 11 digits does not start with a 1": + clean("22234567890") raises "11 digits must start with 1" +end + +check "valid when 11 digits and starting with 1": + clean("12234567890") is "2234567890" +end + +check "valid when 11 digits and starting with 1 even with punctuation": + clean("+1 (223) 456-7890") is "2234567890" +end + +check "invalid when more than 11 digits": + clean("321234567890") raises "must not be greater than 11 digits" +end + +check "invalid with letters": + clean("523-abc-7890") raises "letters not permitted" +end + +check "invalid with punctuations": + clean("523-@:!-7890") raises "punctuations not permitted" +end + +check "invalid if area code starts with 0": + clean("(023) 456-7890") raises "area code cannot start with zero" +end + +check "invalid if area code starts with 1": + clean("(123) 456-7890") raises "area code cannot start with one" +end + +check "invalid if exchange code starts with 0": + clean("(223) 056-7890") raises "exchange code cannot start with zero" +end + +check "invalid if exchange code starts with 1": + clean("(223) 156-7890") raises "exchange code cannot start with one" +end + +check "invalid if area code starts with 0 on valid 11-digit number": + clean("1 (023) 456-7890") raises "area code cannot start with zero" +end + +check "invalid if area code starts with 1 on valid 11-digit number": + clean("1 (123) 456-7890") raises "area code cannot start with one" +end + +check "invalid if exchange code starts with 0 on valid 11-digit number": + clean("1 (223) 056-7890") raises "exchange code cannot start with zero" +end + +check "invalid if exchange code starts with 1 on valid 11-digit number": + clean("1 (223) 156-7890") raises "exchange code cannot start with one" +end diff --git a/exercises/practice/phone-number/phone-number.arr b/exercises/practice/phone-number/phone-number.arr new file mode 100644 index 0000000..b8d88f1 --- /dev/null +++ b/exercises/practice/phone-number/phone-number.arr @@ -0,0 +1,5 @@ +provide: clean end + +fun clean(phone-number): + raise("please implement the clean function") +end From fec979e79db74b7776a620f742d63a07d767051b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 10 Aug 2023 19:09:51 -0700 Subject: [PATCH 068/244] Update RESOURCES.md Updating Discord invite URL --- docs/RESOURCES.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index d003195..60b7c7b 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -4,10 +4,9 @@ * [Official Pyret Online Editor] * [Pyret Discuss on Google Groups] * [Pyret Twitter] -* [Pyret Discord] +* Pyret Discord - Latest invite URL can be found on the above Twitter profile [Official Pyret Documentation]: https://pyret.org/docs/latest/ [Official Pyret Online Editor]: https://code.pyret.org/editor [Pyret Discuss on Google Groups]: https://groups.google.com/g/pyret-discuss [Pyret Twitter]: https://twitter.com/pyretlang -[Pyret Discord]: https://discord.gg/9nFHuaBp From 8f644f495d83e9bd1f1bfd968988cef6565cb517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 15 Aug 2023 00:06:34 -0700 Subject: [PATCH 069/244] Add word count (#84) --- config.json | 8 ++ .../practice/word-count/.docs/instructions.md | 47 +++++++ .../practice/word-count/.docs/introduction.md | 8 ++ .../practice/word-count/.meta/config.json | 18 +++ .../practice/word-count/.meta/example.arr | 58 ++++++++ .../practice/word-count/.meta/tests.toml | 57 ++++++++ .../practice/word-count/word-count-test.arr | 128 ++++++++++++++++++ exercises/practice/word-count/word-count.arr | 5 + 8 files changed, 329 insertions(+) create mode 100644 exercises/practice/word-count/.docs/instructions.md create mode 100644 exercises/practice/word-count/.docs/introduction.md create mode 100644 exercises/practice/word-count/.meta/config.json create mode 100644 exercises/practice/word-count/.meta/example.arr create mode 100644 exercises/practice/word-count/.meta/tests.toml create mode 100644 exercises/practice/word-count/word-count-test.arr create mode 100644 exercises/practice/word-count/word-count.arr diff --git a/config.json b/config.json index a8260b5..84a4beb 100644 --- a/config.json +++ b/config.json @@ -326,6 +326,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "word-count", + "name": "Word Count", + "uuid": "df93be4e-a862-4636-bb1c-e51e0e294797", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "two-fer", "name": "Two Fer", diff --git a/exercises/practice/word-count/.docs/instructions.md b/exercises/practice/word-count/.docs/instructions.md new file mode 100644 index 0000000..064393c --- /dev/null +++ b/exercises/practice/word-count/.docs/instructions.md @@ -0,0 +1,47 @@ +# Instructions + +Your task is to count how many times each word occurs in a subtitle of a drama. + +The subtitles from these dramas use only ASCII characters. + +The characters often speak in casual English, using contractions like _they're_ or _it's_. +Though these contractions come from two words (e.g. _we are_), the contraction (_we're_) is considered a single word. + +Words can be separated by any form of punctuation (e.g. ":", "!", or "?") or whitespace (e.g. "\t", "\n", or " "). +The only punctuation that does not separate words is the apostrophe in contractions. + +Numbers are considered words. +If the subtitles say _It costs 100 dollars._ then _100_ will be its own word. + +Words are case insensitive. +For example, the word _you_ occurs three times in the following sentence: + +> You come back, you hear me? DO YOU HEAR ME? + +The ordering of the word counts in the results doesn't matter. + +Here's an example that incorporates several of the elements discussed above: + +- simple words +- contractions +- numbers +- case insensitive words +- punctuation (including apostrophes) to separate words +- different forms of whitespace to separate words + +`"That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled.` + +The mapping for this subtitle would be: + +```text +123: 1 +agent: 1 +cried: 1 +fled: 1 +i: 1 +password: 2 +so: 1 +special: 1 +that's: 1 +the: 2 +``` diff --git a/exercises/practice/word-count/.docs/introduction.md b/exercises/practice/word-count/.docs/introduction.md new file mode 100644 index 0000000..1654508 --- /dev/null +++ b/exercises/practice/word-count/.docs/introduction.md @@ -0,0 +1,8 @@ +# Introduction + +You teach English as a foreign language to high school students. + +You've decided to base your entire curriculum on TV shows. +You need to analyze which words are used, and how often they're repeated. + +This will let you choose the simplest shows to start with, and to gradually increase the difficulty as time passes. diff --git a/exercises/practice/word-count/.meta/config.json b/exercises/practice/word-count/.meta/config.json new file mode 100644 index 0000000..302e0e1 --- /dev/null +++ b/exercises/practice/word-count/.meta/config.json @@ -0,0 +1,18 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "word-count.arr" + ], + "test": [ + "word-count-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a phrase, count the occurrences of each word in that phrase.", + "source": "This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour." +} diff --git a/exercises/practice/word-count/.meta/example.arr b/exercises/practice/word-count/.meta/example.arr new file mode 100644 index 0000000..9fff6e2 --- /dev/null +++ b/exercises/practice/word-count/.meta/example.arr @@ -0,0 +1,58 @@ +provide: word-count end + +include string-dict + +fun word-count(phrase): + remove-trailing-quote = lam(fragment): + last-index = string-length(fragment) - 1 + if string-char-at(fragment, last-index) == "'": + string-substring(fragment, 0, last-index) + else: + fragment + end + end + + remove-leading-quote = lam(fragment): + last-index = string-length(fragment) + if string-char-at(fragment, 0) == "'": + string-substring(fragment, 1, last-index) + else: + fragment + end + end + + remove-surrounding-quotes = lam(fragment): + fragment + ^ remove-trailing-quote + ^ remove-leading-quote + end + + phrase + ^ string-replace(_, ",", " ") + ^ string-replace(_, "\n", " ") + ^ string-replace(_, ": ", " ") + ^ string-replace(_, " '", " ") + ^ string-replace(_, "' ", " ") + ^ string-to-lower + ^ string-split-all(_, " ") + ^ _.foldl( + lam(elt, acc): + if elt == "": + acc + else: + cleaned = elt + ^ string-to-code-points + ^ _.filter( + lam(cp): + # a-z or 0-9 or ' + ((cp >= 97) and (cp <= 122)) or ((cp >= 48) and (cp <= 57)) or (cp == 39) + end) + ^ string-from-code-points + ^ remove-surrounding-quotes + + value = acc.get(cleaned).or-else(0) + 1 + acc.set(cleaned, value) + end + end, + [string-dict: ]) +end \ No newline at end of file diff --git a/exercises/practice/word-count/.meta/tests.toml b/exercises/practice/word-count/.meta/tests.toml new file mode 100644 index 0000000..1be425b --- /dev/null +++ b/exercises/practice/word-count/.meta/tests.toml @@ -0,0 +1,57 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[61559d5f-2cad-48fb-af53-d3973a9ee9ef] +description = "count one word" + +[5abd53a3-1aed-43a4-a15a-29f88c09cbbd] +description = "count one of each word" + +[2a3091e5-952e-4099-9fac-8f85d9655c0e] +description = "multiple occurrences of a word" + +[e81877ae-d4da-4af4-931c-d923cd621ca6] +description = "handles cramped lists" + +[7349f682-9707-47c0-a9af-be56e1e7ff30] +description = "handles expanded lists" + +[a514a0f2-8589-4279-8892-887f76a14c82] +description = "ignore punctuation" + +[d2e5cee6-d2ec-497b-bdc9-3ebe092ce55e] +description = "include numbers" + +[dac6bc6a-21ae-4954-945d-d7f716392dbf] +description = "normalize case" + +[4185a902-bdb0-4074-864c-f416e42a0f19] +description = "with apostrophes" +include = false + +[4ff6c7d7-fcfc-43ef-b8e7-34ff1837a2d3] +description = "with apostrophes" +reimplements = "4185a902-bdb0-4074-864c-f416e42a0f19" + +[be72af2b-8afe-4337-b151-b297202e4a7b] +description = "with quotations" + +[8d6815fe-8a51-4a65-96f9-2fb3f6dc6ed6] +description = "substrings from the beginning" + +[c5f4ef26-f3f7-4725-b314-855c04fb4c13] +description = "multiple spaces not detected as a word" + +[50176e8a-fe8e-4f4c-b6b6-aa9cf8f20360] +description = "alternating word separators not detected as a word" + +[6d00f1db-901c-4bec-9829-d20eb3044557] +description = "quotation for word with apostrophe" diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr new file mode 100644 index 0000000..ad7916d --- /dev/null +++ b/exercises/practice/word-count/word-count-test.arr @@ -0,0 +1,128 @@ +include file("word-count.arr") + +include string-dict + +check "count one word": + input = "word" + expected = [string-dict: "word", 1] + + word-count(input) is expected +end + +check "count one of each word": + input = "one of each" + expected = [string-dict: "one", 1, "of", 1, "each", 1] + + word-count(input) is expected +end + +check "multiple occurrences of a word": + input = "one fish two fish red fish blue fish" + expected = [string-dict: "one", 1, "fish", 4, "two", 1, "red", 1, "blue", 1] + + word-count(input) is expected +end + +check "handles cramped lists": + input = "one,two,three" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected +end + +check "handles expanded lists": + input = "one,\ntwo,\nthree" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected +end + +check "ignore punctuation": + input = "car: carpet as java: javascript!!&@$%^&" + expected = [string-dict: + "car", 1, + "carpet", 1, + "as", 1, + "java", 1, + "javascript", 1] + + word-count(input) is expected +end + +check "include numbers": + input = "testing, 1, 2 testing" + expected = [string-dict: "testing", 2, "1", 1, "2", 1] + + word-count(input) is expected +end + +check "normalize case": + input = "go Go GO Stop stop" + expected = [string-dict: "go", 3, "stop", 2] + + word-count(input) is expected +end + +check "with apostrophes": + input = "'First: don't laugh. Then: don't cry. You're getting it.'" + expected = [string-dict: + "first", 1, + "don't", 2, + "laugh", 1, + "then", 1, + "cry", 1, + "you're", 1, + "getting", 1, + "it", 1] + + word-count(input) is expected +end + +check "with quotations": + input = "Joe can't tell between 'large' and large." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "large", 2, + "and", 1] + + word-count(input) is expected +end + +check "substrings from the beginning": + input = "Joe can't tell between app, apple and a." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "app", 1, + "apple", 1, + "and", 1, + "a", 1] + + word-count(input) is expected +end + +check "multiple spaces not detected as a word": + input = " multiple whitespaces" + expected = [string-dict: "multiple", 1, "whitespaces", 1] + + word-count(input) is expected +end + +check "alternating word separators not detected as a word": + input = ",\n,one,\n ,two \n 'three'" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected +end + +check "quotation for word with apostrophe": + input = "can, can't, 'can't'" + expected = [string-dict: "can", 1, "can't", 2] + + word-count(input) is expected +end diff --git a/exercises/practice/word-count/word-count.arr b/exercises/practice/word-count/word-count.arr new file mode 100644 index 0000000..92bd2ba --- /dev/null +++ b/exercises/practice/word-count/word-count.arr @@ -0,0 +1,5 @@ +provide: word-count end + +fun word-count(phrase): + raise("please implement the word-count function") +end \ No newline at end of file From 663b48f9a530392e93d604f5e7e7aba016ec2a00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 15 Aug 2023 10:24:42 -0700 Subject: [PATCH 070/244] Add strain exercise (#85) --- config.json | 8 + .../practice/strain/.docs/instructions.md | 29 ++++ exercises/practice/strain/.meta/config.json | 19 +++ exercises/practice/strain/.meta/example.arr | 17 +++ exercises/practice/strain/.meta/tests.toml | 52 +++++++ exercises/practice/strain/strain-test.arr | 138 ++++++++++++++++++ exercises/practice/strain/strain.arr | 9 ++ 7 files changed, 272 insertions(+) create mode 100644 exercises/practice/strain/.docs/instructions.md create mode 100644 exercises/practice/strain/.meta/config.json create mode 100644 exercises/practice/strain/.meta/example.arr create mode 100644 exercises/practice/strain/.meta/tests.toml create mode 100644 exercises/practice/strain/strain-test.arr create mode 100644 exercises/practice/strain/strain.arr diff --git a/config.json b/config.json index 84a4beb..7b7bfa2 100644 --- a/config.json +++ b/config.json @@ -326,6 +326,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "strain", + "name": "strain", + "uuid": "8a4f0fdd-831f-4e28-9cf9-391b725bcf69", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "word-count", "name": "Word Count", diff --git a/exercises/practice/strain/.docs/instructions.md b/exercises/practice/strain/.docs/instructions.md new file mode 100644 index 0000000..3469ae6 --- /dev/null +++ b/exercises/practice/strain/.docs/instructions.md @@ -0,0 +1,29 @@ +# Instructions + +Implement the `keep` and `discard` operation on collections. +Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false. + +For example, given the collection of numbers: + +- 1, 2, 3, 4, 5 + +And the predicate: + +- is the number even? + +Then your keep operation should produce: + +- 2, 4 + +While your discard operation should produce: + +- 1, 3, 5 + +Note that the union of keep and discard is all the elements. + +The functions may be called `keep` and `discard`, or they may need different names in order to not clash with existing functions or concepts in your language. + +## Restrictions + +Keep your hands off that filter/reject/whatchamacallit functionality provided by your standard library! +Solve this one yourself using other basic tools instead. diff --git a/exercises/practice/strain/.meta/config.json b/exercises/practice/strain/.meta/config.json new file mode 100644 index 0000000..a2a1737 --- /dev/null +++ b/exercises/practice/strain/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "strain.arr" + ], + "test": [ + "strain-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.", + "source": "Conversation with James Edward Gray II", + "source_url": "https://twitter.com/jeg2" +} diff --git a/exercises/practice/strain/.meta/example.arr b/exercises/practice/strain/.meta/example.arr new file mode 100644 index 0000000..c6e8ddb --- /dev/null +++ b/exercises/practice/strain/.meta/example.arr @@ -0,0 +1,17 @@ +provide: keep, discard end + +fun keep(sequence, predicate): + sequence.foldl( + lam(elt, acc): + if predicate(elt): + acc.push(elt) + else: + acc + end + end, + [list: ]).reverse() +end + +fun discard(sequence, predicate): + keep(sequence, lam(elt): not(predicate(elt)) end) +end diff --git a/exercises/practice/strain/.meta/tests.toml b/exercises/practice/strain/.meta/tests.toml new file mode 100644 index 0000000..3a617b4 --- /dev/null +++ b/exercises/practice/strain/.meta/tests.toml @@ -0,0 +1,52 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[26af8c32-ba6a-4eb3-aa0a-ebd8f136e003] +description = "keep on empty list returns empty list" + +[f535cb4d-e99b-472a-bd52-9fa0ffccf454] +description = "keeps everything" + +[950b8e8e-f628-42a8-85e2-9b30f09cde38] +description = "keeps nothing" + +[92694259-6e76-470c-af87-156bdf75018a] +description = "keeps first and last" + +[938f7867-bfc7-449e-a21b-7b00cbb56994] +description = "keeps neither first nor last" + +[8908e351-4437-4d2b-a0f7-770811e48816] +description = "keeps strings" + +[2728036b-102a-4f1e-a3ef-eac6160d876a] +description = "keeps lists" + +[ef16beb9-8d84-451a-996a-14e80607fce6] +description = "discard on empty list returns empty list" + +[2f42f9bc-8e06-4afe-a222-051b5d8cd12a] +description = "discards everything" + +[ca990fdd-08c2-4f95-aa50-e0f5e1d6802b] +description = "discards nothing" + +[71595dae-d283-48ca-a52b-45fa96819d2f] +description = "discards first and last" + +[ae141f79-f86d-4567-b407-919eaca0f3dd] +description = "discards neither first nor last" + +[daf25b36-a59f-4f29-bcfe-302eb4e43609] +description = "discards strings" + +[a38d03f9-95ad-4459-80d1-48e937e4acaf] +description = "discards lists" diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr new file mode 100644 index 0000000..0337338 --- /dev/null +++ b/exercises/practice/strain/strain-test.arr @@ -0,0 +1,138 @@ +include file("strain.arr") + +check "keep on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] + + keep(input, predicate) is expected +end + +check "keeps everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: 1, 3, 5] + + keep(input, predicate) is expected +end + +check "keeps nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: ] + + keep(input, predicate) is expected +end + +check "keeps first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 1, 3] + + keep(input, predicate) is expected +end + +check "keeps neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 2] + + keep(input, predicate) is expected +end + +check "keeps strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "zebra", "zombies", "zealot"] + + keep(input, predicate) is expected +end + +check "keeps lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 1, 5, 2], + [list: 1, 2, 5]] + + keep(input, predicate) is expected +end + +check "discard on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] + + discard(input, predicate) is expected +end + +check "discards everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: ] + + discard(input, predicate) is expected +end + +check "discards nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: 1, 3, 5] + + discard(input, predicate) is expected +end + +check "discards first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 2] + + discard(input, predicate) is expected +end + +check "discards neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 1, 3] + + discard(input, predicate) is expected +end + +check "discards strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "apple", "banana", "cherimoya"] + + discard(input, predicate) is expected +end + +check "discards lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 1, 2, 3], + [list: 2, 1, 2], + [list: 2, 2, 1]] + + discard(input, predicate) is expected +end diff --git a/exercises/practice/strain/strain.arr b/exercises/practice/strain/strain.arr new file mode 100644 index 0000000..989f61b --- /dev/null +++ b/exercises/practice/strain/strain.arr @@ -0,0 +1,9 @@ +provide: keep, discard end + +fun keep(sequence, predicate): + raise("please implement the keep function") +end + +fun discard(sequence, predicate): + raise("please implement the discard function") +end From 13448216ca407837c949885923557f19c0f5a5c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 15 Aug 2023 11:02:44 -0700 Subject: [PATCH 071/244] Fix strain name typo (#86) --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 7b7bfa2..bbc72fa 100644 --- a/config.json +++ b/config.json @@ -328,7 +328,7 @@ }, { "slug": "strain", - "name": "strain", + "name": "Strain", "uuid": "8a4f0fdd-831f-4e28-9cf9-391b725bcf69", "practices": [], "prerequisites": [], From 5861c35930e3acbd46d8c7ae1f0839f2a1599afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 20 Aug 2023 22:59:19 -0700 Subject: [PATCH 072/244] Add list ops (#89) --- config.json | 8 + .../practice/list-ops/.docs/instructions.md | 19 ++ exercises/practice/list-ops/.meta/config.json | 17 ++ exercises/practice/list-ops/.meta/example.arr | 89 ++++++++ exercises/practice/list-ops/.meta/tests.toml | 106 ++++++++++ exercises/practice/list-ops/list-ops-test.arr | 191 ++++++++++++++++++ exercises/practice/list-ops/list-ops.arr | 42 ++++ 7 files changed, 472 insertions(+) create mode 100644 exercises/practice/list-ops/.docs/instructions.md create mode 100644 exercises/practice/list-ops/.meta/config.json create mode 100644 exercises/practice/list-ops/.meta/example.arr create mode 100644 exercises/practice/list-ops/.meta/tests.toml create mode 100644 exercises/practice/list-ops/list-ops-test.arr create mode 100644 exercises/practice/list-ops/list-ops.arr diff --git a/config.json b/config.json index bbc72fa..06f9611 100644 --- a/config.json +++ b/config.json @@ -166,6 +166,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "list-ops", + "name": "List Ops", + "uuid": "0a28e195-6f3c-46e2-a62c-1a7097583032", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "luhn", "name": "Luhn", diff --git a/exercises/practice/list-ops/.docs/instructions.md b/exercises/practice/list-ops/.docs/instructions.md new file mode 100644 index 0000000..ccfc2f8 --- /dev/null +++ b/exercises/practice/list-ops/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +Implement basic list operations. + +In functional languages list operations like `length`, `map`, and `reduce` are very common. +Implement a series of basic list operations, without using existing functions. + +The precise number and names of the operations to be implemented will be track dependent to avoid conflicts with existing names, but the general operations you will implement include: + +- `append` (*given two lists, add all items in the second list to the end of the first list*); +- `concatenate` (*given a series of lists, combine all items in all lists into one flattened list*); +- `filter` (*given a predicate and a list, return the list of all items for which `predicate(item)` is True*); +- `length` (*given a list, return the total number of items within it*); +- `map` (*given a function and a list, return the list of the results of applying `function(item)` on all items*); +- `foldl` (*given a function, a list, and initial accumulator, fold (reduce) each item into the accumulator from the left*); +- `foldr` (*given a function, a list, and an initial accumulator, fold (reduce) each item into the accumulator from the right*); +- `reverse` (*given a list, return a list with all the original items, but in reversed order*). + +Note, the ordering in which arguments are passed to the fold functions (`foldl`, `foldr`) is significant. diff --git a/exercises/practice/list-ops/.meta/config.json b/exercises/practice/list-ops/.meta/config.json new file mode 100644 index 0000000..2dea27b --- /dev/null +++ b/exercises/practice/list-ops/.meta/config.json @@ -0,0 +1,17 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "list-ops.arr" + ], + "test": [ + "list-ops-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Implement basic list operations." +} diff --git a/exercises/practice/list-ops/.meta/example.arr b/exercises/practice/list-ops/.meta/example.arr new file mode 100644 index 0000000..0abb480 --- /dev/null +++ b/exercises/practice/list-ops/.meta/example.arr @@ -0,0 +1,89 @@ +provide: + my-append, + my-concatenate, + my-filter, + my-length, + my-map, + my-foldl, + my-foldr, + my-reverse +end +fun my-append(lst1, lst2): + cases(List) lst1: + | empty => lst2 + | link(first, rest) => + [list: first] + my-append(rest, lst2) + end +end + +fun my-concatenate(lst): + my-foldl(lst, my-append, [list: ]) +end + +fun my-filter(lst, f): + cases(List) lst: + | empty => lst + | link(first, rest) => + if f(first): + my-append( + [list: first], + my-filter(rest, f)) + else: + my-filter(rest, f) + end + end +end + +fun my-length(lst): + cases(List) lst: + | empty => 0 + | link(_, rest) => 1 + my-length(rest) + end +end + +fun my-map(lst, f): + cases(List) lst: + | empty => lst + | link(first, rest) => + first + ^ f(_) + ^ link(_, empty) + ^ my-append(_, my-map(rest, f)) + end +end + + +fun my-foldl(lst, f, acc): + cases(List) lst: + | empty => acc + | link(first, rest) => + first + ^ f(acc, _) + ^ my-foldl(rest, f, _) + end +end + +fun my-foldr(lst, f, acc): + rec do-foldr = lam(items, initial): + cases(List) items: + | empty => initial + | link(first, rest) => + first + ^ f(_, initial) + ^ do-foldr(rest, _) + end + end + + reversed = my-reverse(lst) + do-foldr(reversed, acc) +end + +fun my-reverse(lst): + cases(List) lst: + | empty => lst + | link(first, rest) => + rest + ^ my-reverse(_) + ^ my-append(_, [list: first]) + end +end diff --git a/exercises/practice/list-ops/.meta/tests.toml b/exercises/practice/list-ops/.meta/tests.toml new file mode 100644 index 0000000..08b1edc --- /dev/null +++ b/exercises/practice/list-ops/.meta/tests.toml @@ -0,0 +1,106 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[485b9452-bf94-40f7-a3db-c3cf4850066a] +description = "append entries to a list and return the new list -> empty lists" + +[2c894696-b609-4569-b149-8672134d340a] +description = "append entries to a list and return the new list -> list to empty list" + +[e842efed-3bf6-4295-b371-4d67a4fdf19c] +description = "append entries to a list and return the new list -> empty list to list" + +[71dcf5eb-73ae-4a0e-b744-a52ee387922f] +description = "append entries to a list and return the new list -> non-empty lists" + +[28444355-201b-4af2-a2f6-5550227bde21] +description = "concatenate a list of lists -> empty list" + +[331451c1-9573-42a1-9869-2d06e3b389a9] +description = "concatenate a list of lists -> list of lists" + +[d6ecd72c-197f-40c3-89a4-aa1f45827e09] +description = "concatenate a list of lists -> list of nested lists" + +[0524fba8-3e0f-4531-ad2b-f7a43da86a16] +description = "filter list returning only values that satisfy the filter function -> empty list" + +[88494bd5-f520-4edb-8631-88e415b62d24] +description = "filter list returning only values that satisfy the filter function -> non-empty list" + +[1cf0b92d-8d96-41d5-9c21-7b3c37cb6aad] +description = "returns the length of a list -> empty list" + +[d7b8d2d9-2d16-44c4-9a19-6e5f237cb71e] +description = "returns the length of a list -> non-empty list" + +[c0bc8962-30e2-4bec-9ae4-668b8ecd75aa] +description = "return a list of elements whose values equal the list value transformed by the mapping function -> empty list" + +[11e71a95-e78b-4909-b8e4-60cdcaec0e91] +description = "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list" + +[613b20b7-1873-4070-a3a6-70ae5f50d7cc] +description = "folds (reduces) the given list from the left with a function -> empty list" +include = false + +[e56df3eb-9405-416a-b13a-aabb4c3b5194] +description = "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list" +include = false + +[d2cf5644-aee1-4dfc-9b88-06896676fe27] +description = "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list" +include = false + +[36549237-f765-4a4c-bfd9-5d3a8f7b07d2] +description = "folds (reduces) the given list from the left with a function -> empty list" +reimplements = "613b20b7-1873-4070-a3a6-70ae5f50d7cc" + +[7a626a3c-03ec-42bc-9840-53f280e13067] +description = "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list" +reimplements = "e56df3eb-9405-416a-b13a-aabb4c3b5194" + +[d7fcad99-e88e-40e1-a539-4c519681f390] +description = "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list" +reimplements = "d2cf5644-aee1-4dfc-9b88-06896676fe27" + +[aeb576b9-118e-4a57-a451-db49fac20fdc] +description = "folds (reduces) the given list from the right with a function -> empty list" +include = false + +[c4b64e58-313e-4c47-9c68-7764964efb8e] +description = "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list" +include = false + +[be396a53-c074-4db3-8dd6-f7ed003cce7c] +description = "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list" +include = false + +[17214edb-20ba-42fc-bda8-000a5ab525b0] +description = "folds (reduces) the given list from the right with a function -> empty list" +reimplements = "aeb576b9-118e-4a57-a451-db49fac20fdc" + +[e1c64db7-9253-4a3d-a7c4-5273b9e2a1bd] +description = "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list" +reimplements = "c4b64e58-313e-4c47-9c68-7764964efb8e" + +[8066003b-f2ff-437e-9103-66e6df474844] +description = "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list" +reimplements = "be396a53-c074-4db3-8dd6-f7ed003cce7c" + +[94231515-050e-4841-943d-d4488ab4ee30] +description = "reverse the elements of the list -> empty list" + +[fcc03d1e-42e0-4712-b689-d54ad761f360] +description = "reverse the elements of the list -> non-empty list" + +[40872990-b5b8-4cb8-9085-d91fc0d05d26] +description = "reverse the elements of the list -> list of lists is not flattened" diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr new file mode 100644 index 0000000..8d22f52 --- /dev/null +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -0,0 +1,191 @@ +include file("list-ops.arr") + +check "append entries to a list and return the new list -> empty lists": + list1 = [list: ] + list2 = [list: ] + expected = [list: ] + + my-append(list1, list2) is expected +end + +check "append entries to a list and return the new list -> list to empty list": + list1 = [list: ] + list2 = [list: 1, 2, 3, 4] + expected = [list: 1, 2, 3, 4] + + my-append(list1, list2) is expected +end + +check "append entries to a list and return the new list -> empty list to list": + list1 = [list: 1, 2, 3, 4] + list2 = [list: ] + expected = [list: 1, 2, 3, 4] + + my-append(list1, list2) is expected +end + +check "append entries to a list and return the new list -> non-empty lists": + list1 = [list: 1, 2] + list2 = [list: 3, 4, 5] + expected = [list: 1, 2, 3, 4, 5] + + my-append(list1, list2) is expected +end + +check "concatenate a list of lists -> empty list": + input = [list: ] + expected = [list: ] + + my-concatenate(input) is expected +end + +check "concatenate a list of lists -> list of lists": + input = [list: [list: 1, 2], [list: 3], [list: ], [list: 4, 5, 6]] + expected = [list: 1, 2, 3, 4, 5, 6] + + my-concatenate(input) is expected +end + +check "concatenate a list of lists -> list of nested lists": + input = [list: + [list: [list: 1], [list: 2]], + [list: [list: 3]], + [list: [list: ]], + [list: [list: 4, 5, 6]]] + expected = [list: + [list: 1], + [list: 2], + [list: 3], + [list:], + [list: 4, 5, 6]] + + my-concatenate(input) is expected +end + +check "filter list returning only values that satisfy the filter function -> empty list": + input = [list: ] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: ] + + my-filter(input, f) is expected +end + +check "filter list returning only values that satisfy the filter function -> non-empty list": + input = [list: 1, 2, 3, 5] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: 1, 3, 5] + + my-filter(input, f) is expected +end + +check "returns the length of a list -> empty list": + input = [list: ] + expected = 0 + + my-length(input) is expected +end + +check "returns the length of a list -> non-empty list": + input = [list: 1, 2, 3, 4] + expected = 4 + my-length(input) is expected +end + +check "return a list of elements whose values equal the list value transformed by the mapping function -> empty list": + input = [list: ] + f = lam(x): x + 1 end + expected = [list: ] + + my-map(input, f) is expected +end + +check "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list": + input = [list: 1, 3, 5, 7] + f = lam(x): x + 1 end + expected = [list: 2, 4, 6, 8] + + my-map(input, f) is expected +end + +check "folds (reduces) the given list from the left with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 + + my-foldl(input, f, initial) is expected +end + +check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 + + my-foldl(input, f, initial) is expected +end + +check "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): acc / elt end + initial = 24 + expected = 64 + + my-foldl(input, f, initial) is expected +end + +check "folds (reduces) the given list from the right with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 + + my-foldr(input, f, initial) is expected +end + +check "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 + + my-foldr(input, f, initial) is expected +end + +check "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt / acc end + initial = 24 + expected = 9 + + my-foldr(input, f, initial) is expected +end + +check "reverse the elements of the list -> empty list": + input = [list: ] + expected = [list: ] + + my-reverse(input) is expected +end + +check "reverse the elements of the list -> non-empty list": + input = [list: 1, 3, 5, 7] + expected = [list: 7, 5, 3, 1] + + my-reverse(input) is expected +end + +check "reverse the elements of the list -> list of lists is not flattened": + input = [list: + [list: 1, 2], + [list: 3], + [list: ], + [list: 4, 5, 6]] + expected = [list: + [list: 4, 5, 6], + [list: ], + [list: 3], + [list: 1, 2]] + + my-reverse(input) is expected +end \ No newline at end of file diff --git a/exercises/practice/list-ops/list-ops.arr b/exercises/practice/list-ops/list-ops.arr new file mode 100644 index 0000000..65f0533 --- /dev/null +++ b/exercises/practice/list-ops/list-ops.arr @@ -0,0 +1,42 @@ +provide: + my-append, + my-concatenate, + my-filter, + my-length, + my-map, + my-foldl, + my-foldr, + my-reverse +end + +fun my-append(lst1, lst2): + raise("please implement the my-append function") +end + +fun my-concatenate(lst): + raise("please implement the my-concatenate function") +end + +fun my-filter(lst, f): + raise("please implement the my-filter function") +end + +fun my-length(lst): + raise("please implement the my-length function") +end + +fun my-map(lst, f): + raise("please implement the my-map function") +end + +fun my-foldl(lst, initial, f): + raise("please implement the my-foldl function") +end + +fun my-foldr(lst, initial, f): + raise("please implement the my-foldr function") +end + +fun my-reverse(lst): + raise("please implement the my-reverse function") +end From a3af169d9181399a21a6f1a7ce091b3653336f8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 20 Aug 2023 23:00:58 -0700 Subject: [PATCH 073/244] Avoid shadowing essentials2021 names in CPO (#90) --- exercises/practice/etl/.meta/example.arr | 5 +++-- exercises/practice/etl/etl-test.arr | 9 +++++---- exercises/practice/etl/etl.arr | 5 ++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/exercises/practice/etl/.meta/example.arr b/exercises/practice/etl/.meta/example.arr index 0dc8e91..e2ac87f 100644 --- a/exercises/practice/etl/.meta/example.arr +++ b/exercises/practice/etl/.meta/example.arr @@ -1,7 +1,8 @@ -provide: translate end +provide: my-translate end + include string-dict -fun translate(legacy): +fun my-translate(legacy): result = block: var result = [mutable-string-dict:] (legacy.keys().to-list()).each(lam(n): legacy.get-value(n).each(lam(letter): result.set-now(string-to-lower(letter), n) end) end) diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 5760611..0922cf8 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -1,18 +1,19 @@ include file("etl.arr") + include string-dict check "single letter": - translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] + my-translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] end check "single score with multiple letters": - translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] + my-translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] end check "multiple scores with multiple letters": input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] - translate(input) is expected + my-translate(input) is expected end check "multiple scores with multiple letters and multiple scores": @@ -30,5 +31,5 @@ check "multiple scores with multiple letters and multiple scores": "k", "5", "j", "8", "x", "8", "q", "10", "z", "10"] - translate(input) is expected + my-translate(input) is expected end diff --git a/exercises/practice/etl/etl.arr b/exercises/practice/etl/etl.arr index 89dd936..aed9eca 100644 --- a/exercises/practice/etl/etl.arr +++ b/exercises/practice/etl/etl.arr @@ -1,6 +1,5 @@ -provide: translate end -include string-dict +provide: my-translate end -fun translate(legacy): +fun my-translate(legacy): raise("Please implement the translate function") end From b37141cf9ff768ebe3ef21e2fec1366ab0c3bdc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 23 Aug 2023 22:05:17 -0700 Subject: [PATCH 074/244] Bump pyret-npm version (#91) --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2b6f5c..f38ae21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "@exercism/pyret", "license": "MIT", "dependencies": { - "pyret-npm": "^0.0.23" + "pyret-npm": "^0.0.25" } }, "node_modules/ansi-regex": { @@ -177,9 +177,9 @@ } }, "node_modules/pyret-npm": { - "version": "0.0.23", - "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.23.tgz", - "integrity": "sha512-d3AZkxuAJxwXCxSHoCvb4gc4JtU/ry61S1nsbPrf701nRdpe2ReVAiaEYYRrad3UI6w50Tf3PLogtvKvOVQRiw==", + "version": "0.0.25", + "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.25.tgz", + "integrity": "sha512-xOQ6s/pnXxkMwt+sxasu/eL29fzpSfGkV+yDn6pWv4CcIA0TIPOIxtATJNSit6EvIo8xlcC683lsl2Guv5ElDA==", "dependencies": { "command-line-args": "^5.0.2", "command-line-usage": "^5.0.5", diff --git a/package.json b/package.json index 72da2da..f05420a 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,6 @@ "url": "https://github.com/exercism/pyret" }, "dependencies": { - "pyret-npm": "~0.0.23" + "pyret-npm": "^0.0.25" } } From a958ab34167c117c3aee87c85bc3ef94d374db05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 23 Aug 2023 22:30:25 -0700 Subject: [PATCH 075/244] Explicitly set essentials2020 context (#92) --- exercises/practice/acronym/.meta/example.arr | 2 ++ exercises/practice/acronym/acronym-test.arr | 2 ++ exercises/practice/acronym/acronym.arr | 2 ++ exercises/practice/anagram/.meta/example.arr | 2 ++ exercises/practice/anagram/anagram-test.arr | 2 ++ exercises/practice/anagram/anagram.arr | 2 ++ exercises/practice/armstrong-numbers/.meta/example.arr | 2 ++ .../armstrong-numbers/armstrong-numbers-test.arr | 2 ++ .../practice/armstrong-numbers/armstrong-numbers.arr | 2 ++ exercises/practice/atbash-cipher/.meta/example.arr | 2 ++ .../practice/atbash-cipher/atbash-cipher-test.arr | 2 ++ exercises/practice/atbash-cipher/atbash-cipher.arr | 2 ++ exercises/practice/binary-search/.meta/example.arr | 2 ++ .../practice/binary-search/binary-search-test.arr | 2 ++ exercises/practice/binary-search/binary-search.arr | 2 ++ exercises/practice/bob/.meta/example.arr | 2 ++ exercises/practice/bob/bob-test.arr | 2 ++ exercises/practice/bob/bob.arr | 2 ++ .../practice/collatz-conjecture/.meta/example.arr | 2 ++ .../collatz-conjecture/collatz-conjecture-test.arr | 2 ++ .../practice/collatz-conjecture/collatz-conjecture.arr | 2 ++ exercises/practice/darts/.meta/example.arr | 2 ++ exercises/practice/darts/darts-test.arr | 2 ++ exercises/practice/darts/darts.arr | 2 ++ .../practice/difference-of-squares/.meta/example.arr | 2 ++ .../difference-of-squares-test.arr | 2 ++ .../difference-of-squares/difference-of-squares.arr | 2 ++ exercises/practice/dnd-character/.meta/example.arr | 2 ++ .../practice/dnd-character/dnd-character-test.arr | 2 ++ exercises/practice/dnd-character/dnd-character.arr | 2 ++ exercises/practice/etl/.meta/example.arr | 6 ++++-- exercises/practice/etl/etl-test.arr | 10 ++++++---- exercises/practice/etl/etl.arr | 6 ++++-- exercises/practice/grains/.meta/example.arr | 2 ++ exercises/practice/grains/grains-test.arr | 2 ++ exercises/practice/grains/grains.arr | 2 ++ exercises/practice/hamming/.meta/example.arr | 2 ++ exercises/practice/hamming/hamming-test.arr | 2 ++ exercises/practice/hamming/hamming.arr | 2 ++ exercises/practice/hello-world/.meta/example.arr | 2 ++ exercises/practice/hello-world/hello-world-test.arr | 2 ++ exercises/practice/hello-world/hello-world.arr | 2 ++ exercises/practice/isogram/.meta/example.arr | 2 ++ exercises/practice/isogram/isogram-test.arr | 2 ++ exercises/practice/isogram/isogram.arr | 2 ++ exercises/practice/leap/.meta/example.arr | 2 ++ exercises/practice/leap/leap-test.arr | 2 ++ exercises/practice/leap/leap.arr | 2 ++ exercises/practice/list-ops/.meta/example.arr | 2 ++ exercises/practice/list-ops/list-ops-test.arr | 2 ++ exercises/practice/list-ops/list-ops.arr | 2 ++ exercises/practice/luhn/.meta/example.arr | 2 ++ exercises/practice/luhn/luhn-test.arr | 2 ++ exercises/practice/luhn/luhn.arr | 2 ++ exercises/practice/matrix/.meta/example.arr | 2 ++ exercises/practice/matrix/matrix-test.arr | 2 ++ exercises/practice/matrix/matrix.arr | 2 ++ exercises/practice/nucleotide-count/.meta/example.arr | 2 ++ .../nucleotide-count/nucleotide-count-test.arr | 2 ++ .../practice/nucleotide-count/nucleotide-count.arr | 2 ++ exercises/practice/pangram/.meta/example.arr | 2 ++ exercises/practice/pangram/pangram-test.arr | 2 ++ exercises/practice/pangram/pangram.arr | 2 ++ exercises/practice/perfect-numbers/.meta/example.arr | 2 ++ .../practice/perfect-numbers/perfect-numbers-test.arr | 2 ++ exercises/practice/perfect-numbers/perfect-numbers.arr | 2 ++ exercises/practice/phone-number/.meta/example.arr | 2 ++ exercises/practice/phone-number/phone-number-test.arr | 2 ++ exercises/practice/phone-number/phone-number.arr | 2 ++ .../practice/protein-translation/.meta/example.arr | 2 ++ .../protein-translation/protein-translation-test.arr | 2 ++ .../protein-translation/protein-translation.arr | 2 ++ exercises/practice/raindrops/.meta/example.arr | 2 ++ exercises/practice/raindrops/raindrops-test.arr | 2 ++ exercises/practice/raindrops/raindrops.arr | 2 ++ .../practice/resistor-color-duo/.meta/example.arr | 2 ++ .../resistor-color-duo/resistor-color-duo-test.arr | 2 ++ .../practice/resistor-color-duo/resistor-color-duo.arr | 2 ++ .../practice/resistor-color-trio/.meta/example.arr | 2 ++ .../resistor-color-trio/resistor-color-trio-test.arr | 2 ++ .../resistor-color-trio/resistor-color-trio.arr | 2 ++ exercises/practice/resistor-color/.meta/example.arr | 2 ++ .../practice/resistor-color/resistor-color-test.arr | 2 ++ exercises/practice/resistor-color/resistor-color.arr | 2 ++ exercises/practice/reverse-string/.meta/example.arr | 2 ++ .../practice/reverse-string/reverse-string-test.arr | 2 ++ exercises/practice/reverse-string/reverse-string.arr | 2 ++ exercises/practice/rna-transcription/.meta/example.arr | 2 ++ .../rna-transcription/rna-transcription-test.arr | 2 ++ .../practice/rna-transcription/rna-transcription.arr | 2 ++ exercises/practice/roman-numerals/.meta/example.arr | 2 ++ .../practice/roman-numerals/roman-numerals-test.arr | 2 ++ exercises/practice/roman-numerals/roman-numerals.arr | 2 ++ exercises/practice/scrabble-score/.meta/example.arr | 2 ++ .../practice/scrabble-score/scrabble-score-test.arr | 2 ++ exercises/practice/scrabble-score/scrabble-score.arr | 2 ++ exercises/practice/secret-handshake/.meta/example.arr | 2 ++ .../secret-handshake/secret-handshake-test.arr | 2 ++ .../practice/secret-handshake/secret-handshake.arr | 2 ++ exercises/practice/series/.meta/example.arr | 2 ++ exercises/practice/series/series-test.arr | 2 ++ exercises/practice/series/series.arr | 2 ++ exercises/practice/space-age/.meta/example.arr | 2 ++ exercises/practice/space-age/space-age-test.arr | 2 ++ exercises/practice/space-age/space-age.arr | 2 ++ exercises/practice/square-root/.meta/example.arr | 2 ++ exercises/practice/square-root/square-root-test.arr | 2 ++ exercises/practice/square-root/square-root.arr | 2 ++ exercises/practice/strain/.meta/example.arr | 2 ++ exercises/practice/strain/strain-test.arr | 2 ++ exercises/practice/strain/strain.arr | 2 ++ exercises/practice/triangle/.meta/example.arr | 2 ++ exercises/practice/triangle/triangle-test.arr | 2 ++ exercises/practice/triangle/triangle.arr | 2 ++ exercises/practice/two-fer/.meta/example.arr | 2 ++ exercises/practice/two-fer/two-fer-test.arr | 2 ++ exercises/practice/two-fer/two-fer.arr | 2 ++ exercises/practice/word-count/.meta/example.arr | 2 ++ exercises/practice/word-count/word-count-test.arr | 2 ++ exercises/practice/word-count/word-count.arr | 2 ++ 120 files changed, 248 insertions(+), 8 deletions(-) diff --git a/exercises/practice/acronym/.meta/example.arr b/exercises/practice/acronym/.meta/example.arr index c59ebe8..d66054d 100644 --- a/exercises/practice/acronym/.meta/example.arr +++ b/exercises/practice/acronym/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: abbreviate end fun abbreviate(phrase): diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index 53345bb..a480f16 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("acronym.arr") check "basic": diff --git a/exercises/practice/acronym/acronym.arr b/exercises/practice/acronym/acronym.arr index d2749aa..68186ce 100644 --- a/exercises/practice/acronym/acronym.arr +++ b/exercises/practice/acronym/acronym.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: abbreviate end fun abbreviate(phrase): diff --git a/exercises/practice/anagram/.meta/example.arr b/exercises/practice/anagram/.meta/example.arr index 8e8d098..f3e1563 100644 --- a/exercises/practice/anagram/.meta/example.arr +++ b/exercises/practice/anagram/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: find-anagrams end fun find-anagrams(phrase, candidates): diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index fbe08dc..ee74abc 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("anagram.arr") check "no matches": diff --git a/exercises/practice/anagram/anagram.arr b/exercises/practice/anagram/anagram.arr index 003aa65..dcbf1ad 100644 --- a/exercises/practice/anagram/anagram.arr +++ b/exercises/practice/anagram/anagram.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: find-anagrams end fun find-anagrams(phrase, candidates): diff --git a/exercises/practice/armstrong-numbers/.meta/example.arr b/exercises/practice/armstrong-numbers/.meta/example.arr index 3e27e8c..83f515b 100644 --- a/exercises/practice/armstrong-numbers/.meta/example.arr +++ b/exercises/practice/armstrong-numbers/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-armstrong-number end import lists as L diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr index 99878dd..b919f93 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("armstrong-numbers.arr") check "Zero is an Armstrong number": diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers.arr b/exercises/practice/armstrong-numbers/armstrong-numbers.arr index 70a0cef..585acca 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-armstrong-number end fun is-armstrong-number(number): diff --git a/exercises/practice/atbash-cipher/.meta/example.arr b/exercises/practice/atbash-cipher/.meta/example.arr index 5e36ada..280db19 100644 --- a/exercises/practice/atbash-cipher/.meta/example.arr +++ b/exercises/practice/atbash-cipher/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: encode, decode end include string-dict diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr index e1a2912..4bdd1f2 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher-test.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("atbash-cipher.arr") check "encode -> encode yes": diff --git a/exercises/practice/atbash-cipher/atbash-cipher.arr b/exercises/practice/atbash-cipher/atbash-cipher.arr index 23cf9c4..04d4557 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: encode, decode end fun encode(phrase): diff --git a/exercises/practice/binary-search/.meta/example.arr b/exercises/practice/binary-search/.meta/example.arr index 8c68853..48a0226 100644 --- a/exercises/practice/binary-search/.meta/example.arr +++ b/exercises/practice/binary-search/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: binary-search end fun binary-search(numbers, x): diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index 4556dbb..71b31fd 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("binary-search.arr") check "finds a value in an array with one element": diff --git a/exercises/practice/binary-search/binary-search.arr b/exercises/practice/binary-search/binary-search.arr index b7d589d..313a42e 100644 --- a/exercises/practice/binary-search/binary-search.arr +++ b/exercises/practice/binary-search/binary-search.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: binary-search end fun binary-search(lst, elt): diff --git a/exercises/practice/bob/.meta/example.arr b/exercises/practice/bob/.meta/example.arr index 71a3997..1793c56 100644 --- a/exercises/practice/bob/.meta/example.arr +++ b/exercises/practice/bob/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: response end import lists as L diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index 26bf815..336b508 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("bob.arr") check "stating something": diff --git a/exercises/practice/bob/bob.arr b/exercises/practice/bob/bob.arr index 8aa60b0..649676e 100644 --- a/exercises/practice/bob/bob.arr +++ b/exercises/practice/bob/bob.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: response end fun response(hey-bob): diff --git a/exercises/practice/collatz-conjecture/.meta/example.arr b/exercises/practice/collatz-conjecture/.meta/example.arr index b6c237d..56635d9 100644 --- a/exercises/practice/collatz-conjecture/.meta/example.arr +++ b/exercises/practice/collatz-conjecture/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: steps end fun steps(n): diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr index 48de159..ccfeb97 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("collatz-conjecture.arr") check "zero steps for one": diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture.arr b/exercises/practice/collatz-conjecture/collatz-conjecture.arr index d399a43..edeb817 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: steps end fun steps(n): diff --git a/exercises/practice/darts/.meta/example.arr b/exercises/practice/darts/.meta/example.arr index db28d9a..29ca1b4 100644 --- a/exercises/practice/darts/.meta/example.arr +++ b/exercises/practice/darts/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: score end fun score(x, y): diff --git a/exercises/practice/darts/darts-test.arr b/exercises/practice/darts/darts-test.arr index 8a68cd2..e3e1169 100644 --- a/exercises/practice/darts/darts-test.arr +++ b/exercises/practice/darts/darts-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("darts.arr") check "Missed target": diff --git a/exercises/practice/darts/darts.arr b/exercises/practice/darts/darts.arr index 4eca0f6..46b7d75 100644 --- a/exercises/practice/darts/darts.arr +++ b/exercises/practice/darts/darts.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: score end fun score(x, y): diff --git a/exercises/practice/difference-of-squares/.meta/example.arr b/exercises/practice/difference-of-squares/.meta/example.arr index 35e179d..deaab4b 100644 --- a/exercises/practice/difference-of-squares/.meta/example.arr +++ b/exercises/practice/difference-of-squares/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: square-of-sum, sum-of-squares, difference-of-squares end fun square-of-sum(number): diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr index 99558a1..8e4e319 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares-test.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("difference-of-squares.arr") check "Square the sum of the numbers up to the given number -> square of sum 1": diff --git a/exercises/practice/difference-of-squares/difference-of-squares.arr b/exercises/practice/difference-of-squares/difference-of-squares.arr index fbc6957..a1aac35 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: square-of-sum, sum-of-squares, difference-of-squares end fun square-of-sum(number): diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr index 19f614a..74e6b2f 100644 --- a/exercises/practice/dnd-character/.meta/example.arr +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: character, modifier, ability end modifier = lam(value): num-floor((value - 10) / 2) end diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index 22c4291..325cd49 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("dnd-character.arr") check "ability modifier -> ability modifier for score 3 is -4": diff --git a/exercises/practice/dnd-character/dnd-character.arr b/exercises/practice/dnd-character/dnd-character.arr index 1c061f9..acb716b 100644 --- a/exercises/practice/dnd-character/dnd-character.arr +++ b/exercises/practice/dnd-character/dnd-character.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: character, modifier, ability end # Implement the character, modifier, and ability functions \ No newline at end of file diff --git a/exercises/practice/etl/.meta/example.arr b/exercises/practice/etl/.meta/example.arr index e2ac87f..961423e 100644 --- a/exercises/practice/etl/.meta/example.arr +++ b/exercises/practice/etl/.meta/example.arr @@ -1,8 +1,10 @@ -provide: my-translate end +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: translate end include string-dict -fun my-translate(legacy): +fun translate(legacy): result = block: var result = [mutable-string-dict:] (legacy.keys().to-list()).each(lam(n): legacy.get-value(n).each(lam(letter): result.set-now(string-to-lower(letter), n) end) end) diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 0922cf8..1898d6b 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -1,19 +1,21 @@ +use context essentials2020 + include file("etl.arr") include string-dict check "single letter": - my-translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] + translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] end check "single score with multiple letters": - my-translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] + translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] end check "multiple scores with multiple letters": input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] - my-translate(input) is expected + translate(input) is expected end check "multiple scores with multiple letters and multiple scores": @@ -31,5 +33,5 @@ check "multiple scores with multiple letters and multiple scores": "k", "5", "j", "8", "x", "8", "q", "10", "z", "10"] - my-translate(input) is expected + translate(input) is expected end diff --git a/exercises/practice/etl/etl.arr b/exercises/practice/etl/etl.arr index aed9eca..30cfc04 100644 --- a/exercises/practice/etl/etl.arr +++ b/exercises/practice/etl/etl.arr @@ -1,5 +1,7 @@ -provide: my-translate end +use context essentials2020 # Don't delete this line when using Pyret on Exercism -fun my-translate(legacy): +provide: translate end + +fun translate(legacy): raise("Please implement the translate function") end diff --git a/exercises/practice/grains/.meta/example.arr b/exercises/practice/grains/.meta/example.arr index d60b690..475d7f8 100644 --- a/exercises/practice/grains/.meta/example.arr +++ b/exercises/practice/grains/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: on-square, total end diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr index 9586d40..5d1b416 100644 --- a/exercises/practice/grains/grains-test.arr +++ b/exercises/practice/grains/grains-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("grains.arr") check "returns the number of grains on the square -> grains on square 1": diff --git a/exercises/practice/grains/grains.arr b/exercises/practice/grains/grains.arr index aec4baa..11dde7f 100644 --- a/exercises/practice/grains/grains.arr +++ b/exercises/practice/grains/grains.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: on-square, total end fun on-square(n): diff --git a/exercises/practice/hamming/.meta/example.arr b/exercises/practice/hamming/.meta/example.arr index 50db219..c60b88c 100644 --- a/exercises/practice/hamming/.meta/example.arr +++ b/exercises/practice/hamming/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: distance end import lists as L diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr index f6e8cc4..1adad7f 100644 --- a/exercises/practice/hamming/hamming-test.arr +++ b/exercises/practice/hamming/hamming-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("hamming.arr") check "empty strands": diff --git a/exercises/practice/hamming/hamming.arr b/exercises/practice/hamming/hamming.arr index b11b052..ab01d18 100644 --- a/exercises/practice/hamming/hamming.arr +++ b/exercises/practice/hamming/hamming.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: distance end fun distance(first-strand, second-strand): diff --git a/exercises/practice/hello-world/.meta/example.arr b/exercises/practice/hello-world/.meta/example.arr index 2d2fe78..6747086 100644 --- a/exercises/practice/hello-world/.meta/example.arr +++ b/exercises/practice/hello-world/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: hello end fun hello(): diff --git a/exercises/practice/hello-world/hello-world-test.arr b/exercises/practice/hello-world/hello-world-test.arr index 5bff9a9..7e23687 100644 --- a/exercises/practice/hello-world/hello-world-test.arr +++ b/exercises/practice/hello-world/hello-world-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("hello-world.arr") check "Say Hi!": diff --git a/exercises/practice/hello-world/hello-world.arr b/exercises/practice/hello-world/hello-world.arr index 2ac6767..38206d4 100644 --- a/exercises/practice/hello-world/hello-world.arr +++ b/exercises/practice/hello-world/hello-world.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: hello end fun hello(): diff --git a/exercises/practice/isogram/.meta/example.arr b/exercises/practice/isogram/.meta/example.arr index 6c25d23..0a45b23 100644 --- a/exercises/practice/isogram/.meta/example.arr +++ b/exercises/practice/isogram/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-isogram end import sets as S diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index b431a27..c5abfe2 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("isogram.arr") check "empty string": diff --git a/exercises/practice/isogram/isogram.arr b/exercises/practice/isogram/isogram.arr index 0c56df5..9a2ce9c 100644 --- a/exercises/practice/isogram/isogram.arr +++ b/exercises/practice/isogram/isogram.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-isogram end fun is-isogram(phrase): diff --git a/exercises/practice/leap/.meta/example.arr b/exercises/practice/leap/.meta/example.arr index 6b588cc..e32173d 100644 --- a/exercises/practice/leap/.meta/example.arr +++ b/exercises/practice/leap/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: leap end fun leap(year): diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr index fdd2871..0e64888 100644 --- a/exercises/practice/leap/leap-test.arr +++ b/exercises/practice/leap/leap-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("leap.arr") check "year not divisible by 4 in common year": diff --git a/exercises/practice/leap/leap.arr b/exercises/practice/leap/leap.arr index 96d3482..5ca0df0 100644 --- a/exercises/practice/leap/leap.arr +++ b/exercises/practice/leap/leap.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: leap end fun leap(year): diff --git a/exercises/practice/list-ops/.meta/example.arr b/exercises/practice/list-ops/.meta/example.arr index 0abb480..09db7f0 100644 --- a/exercises/practice/list-ops/.meta/example.arr +++ b/exercises/practice/list-ops/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: my-append, my-concatenate, diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index 8d22f52..0015b94 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("list-ops.arr") check "append entries to a list and return the new list -> empty lists": diff --git a/exercises/practice/list-ops/list-ops.arr b/exercises/practice/list-ops/list-ops.arr index 65f0533..a35dc6e 100644 --- a/exercises/practice/list-ops/list-ops.arr +++ b/exercises/practice/list-ops/list-ops.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: my-append, my-concatenate, diff --git a/exercises/practice/luhn/.meta/example.arr b/exercises/practice/luhn/.meta/example.arr index f86638e..c017b9b 100644 --- a/exercises/practice/luhn/.meta/example.arr +++ b/exercises/practice/luhn/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-valid end import lists as L diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr index 70af8bb..32cfe3b 100644 --- a/exercises/practice/luhn/luhn-test.arr +++ b/exercises/practice/luhn/luhn-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("luhn.arr") check "single digit strings can not be valid": diff --git a/exercises/practice/luhn/luhn.arr b/exercises/practice/luhn/luhn.arr index 94afc97..ec1d963 100644 --- a/exercises/practice/luhn/luhn.arr +++ b/exercises/practice/luhn/luhn.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-valid end fun is-valid(card-number): diff --git a/exercises/practice/matrix/.meta/example.arr b/exercises/practice/matrix/.meta/example.arr index c971ad2..00f12b0 100644 --- a/exercises/practice/matrix/.meta/example.arr +++ b/exercises/practice/matrix/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: matrix end fun matrix(input :: String): diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr index 2cebe12..b8a99d8 100644 --- a/exercises/practice/matrix/matrix-test.arr +++ b/exercises/practice/matrix/matrix-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("matrix.arr") check "extract row from one number matrix": diff --git a/exercises/practice/matrix/matrix.arr b/exercises/practice/matrix/matrix.arr index 8440a64..1d54f55 100644 --- a/exercises/practice/matrix/matrix.arr +++ b/exercises/practice/matrix/matrix.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: matrix end fun matrix(input): diff --git a/exercises/practice/nucleotide-count/.meta/example.arr b/exercises/practice/nucleotide-count/.meta/example.arr index add4e00..dfc2b79 100644 --- a/exercises/practice/nucleotide-count/.meta/example.arr +++ b/exercises/practice/nucleotide-count/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: nucleotide-counts end include string-dict diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index 5f405ee..ee28863 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("nucleotide-count.arr") include string-dict diff --git a/exercises/practice/nucleotide-count/nucleotide-count.arr b/exercises/practice/nucleotide-count/nucleotide-count.arr index a78fba4..b53dad8 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: nucleotide-counts end fun nucleotide-counts(strand): diff --git a/exercises/practice/pangram/.meta/example.arr b/exercises/practice/pangram/.meta/example.arr index 85542ae..316e6ec 100644 --- a/exercises/practice/pangram/.meta/example.arr +++ b/exercises/practice/pangram/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-pangram end import lists as L diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr index e8f6195..88a71a5 100644 --- a/exercises/practice/pangram/pangram-test.arr +++ b/exercises/practice/pangram/pangram-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("pangram.arr") check "empty sentence": diff --git a/exercises/practice/pangram/pangram.arr b/exercises/practice/pangram/pangram.arr index b8a0865..d7c2652 100644 --- a/exercises/practice/pangram/pangram.arr +++ b/exercises/practice/pangram/pangram.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: is-pangram end fun is-pangram(phrase): diff --git a/exercises/practice/perfect-numbers/.meta/example.arr b/exercises/practice/perfect-numbers/.meta/example.arr index 4ce9c70..f69151d 100644 --- a/exercises/practice/perfect-numbers/.meta/example.arr +++ b/exercises/practice/perfect-numbers/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: classify end import lists as L diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 952b764..7454f2d 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("perfect-numbers.arr") check "Perfect numbers -> Smallest perfect number is classified correctly": diff --git a/exercises/practice/perfect-numbers/perfect-numbers.arr b/exercises/practice/perfect-numbers/perfect-numbers.arr index a69aad0..6e1d6bb 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: classify end fun classify(number): diff --git a/exercises/practice/phone-number/.meta/example.arr b/exercises/practice/phone-number/.meta/example.arr index 69dbab4..63ec11c 100644 --- a/exercises/practice/phone-number/.meta/example.arr +++ b/exercises/practice/phone-number/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: clean end is-alpha = lam(char :: String) -> Boolean: diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr index eeb5c00..1d9806c 100644 --- a/exercises/practice/phone-number/phone-number-test.arr +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("phone-number.arr") check "cleans the number": diff --git a/exercises/practice/phone-number/phone-number.arr b/exercises/practice/phone-number/phone-number.arr index b8d88f1..0b2ae6c 100644 --- a/exercises/practice/phone-number/phone-number.arr +++ b/exercises/practice/phone-number/phone-number.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: clean end fun clean(phone-number): diff --git a/exercises/practice/protein-translation/.meta/example.arr b/exercises/practice/protein-translation/.meta/example.arr index 3708298..afd5cff 100644 --- a/exercises/practice/protein-translation/.meta/example.arr +++ b/exercises/practice/protein-translation/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: proteins end include string-dict diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index 0663f5b..5d250cb 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("protein-translation.arr") check "Empty RNA sequence results in no proteins": diff --git a/exercises/practice/protein-translation/protein-translation.arr b/exercises/practice/protein-translation/protein-translation.arr index 65de694..1a25807 100644 --- a/exercises/practice/protein-translation/protein-translation.arr +++ b/exercises/practice/protein-translation/protein-translation.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: proteins end fun proteins(strand): diff --git a/exercises/practice/raindrops/.meta/example.arr b/exercises/practice/raindrops/.meta/example.arr index 8e2a59d..8280944 100644 --- a/exercises/practice/raindrops/.meta/example.arr +++ b/exercises/practice/raindrops/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: convert end RULES = [list: [list: 3, "Pling"], [list: 5, "Plang"], [list: 7, "Plong"]] diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr index 6c0b552..f7265b9 100644 --- a/exercises/practice/raindrops/raindrops-test.arr +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("raindrops.arr") check "the sound for 1 is 1": diff --git a/exercises/practice/raindrops/raindrops.arr b/exercises/practice/raindrops/raindrops.arr index 67fb75a..5817d88 100644 --- a/exercises/practice/raindrops/raindrops.arr +++ b/exercises/practice/raindrops/raindrops.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: convert end fun convert(n): diff --git a/exercises/practice/resistor-color-duo/.meta/example.arr b/exercises/practice/resistor-color-duo/.meta/example.arr index d64881d..cfdcbbe 100644 --- a/exercises/practice/resistor-color-duo/.meta/example.arr +++ b/exercises/practice/resistor-color-duo/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: color-code end RESISTOR-COLORS = [list: diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr index 3b8a2c2..fab1bee 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("resistor-color-duo.arr") check "Brown and black": diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo.arr b/exercises/practice/resistor-color-duo/resistor-color-duo.arr index b55b865..8ceda24 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: color-code end fun color-code(colors): diff --git a/exercises/practice/resistor-color-trio/.meta/example.arr b/exercises/practice/resistor-color-trio/.meta/example.arr index 367ecc5..44f8ec7 100644 --- a/exercises/practice/resistor-color-trio/.meta/example.arr +++ b/exercises/practice/resistor-color-trio/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: label end RESISTOR-COLORS = [list: diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr index 8f0fd96..b8f67aa 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("resistor-color-trio.arr") check "Orange and orange and black": diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio.arr b/exercises/practice/resistor-color-trio/resistor-color-trio.arr index d786fd7..44d7c3e 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: label end fun label(colors): diff --git a/exercises/practice/resistor-color/.meta/example.arr b/exercises/practice/resistor-color/.meta/example.arr index c99a83e..86fb970 100644 --- a/exercises/practice/resistor-color/.meta/example.arr +++ b/exercises/practice/resistor-color/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: color-code, colors end RESISTOR-COLORS = [list: diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr index 8266e1d..23c18e2 100644 --- a/exercises/practice/resistor-color/resistor-color-test.arr +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("resistor-color.arr") check "Color codes -> Black": diff --git a/exercises/practice/resistor-color/resistor-color.arr b/exercises/practice/resistor-color/resistor-color.arr index 2c98e34..f61b4e0 100644 --- a/exercises/practice/resistor-color/resistor-color.arr +++ b/exercises/practice/resistor-color/resistor-color.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: color-code, colors end fun color-code(color): diff --git a/exercises/practice/reverse-string/.meta/example.arr b/exercises/practice/reverse-string/.meta/example.arr index ca6ecd8..c079e96 100644 --- a/exercises/practice/reverse-string/.meta/example.arr +++ b/exercises/practice/reverse-string/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: reversed end fun reversed(input): diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr index c4169f2..8140f82 100644 --- a/exercises/practice/reverse-string/reverse-string-test.arr +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("reverse-string.arr") check "an empty string": diff --git a/exercises/practice/reverse-string/reverse-string.arr b/exercises/practice/reverse-string/reverse-string.arr index a2e8e24..fdb9c52 100644 --- a/exercises/practice/reverse-string/reverse-string.arr +++ b/exercises/practice/reverse-string/reverse-string.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: reversed end fun reversed(text): diff --git a/exercises/practice/rna-transcription/.meta/example.arr b/exercises/practice/rna-transcription/.meta/example.arr index 6aa7b77..c0c5be5 100644 --- a/exercises/practice/rna-transcription/.meta/example.arr +++ b/exercises/practice/rna-transcription/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: to-rna end include string-dict diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr index 4839d0c..cb85592 100644 --- a/exercises/practice/rna-transcription/rna-transcription-test.arr +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("rna-transcription.arr") check "Empty RNA sequence": diff --git a/exercises/practice/rna-transcription/rna-transcription.arr b/exercises/practice/rna-transcription/rna-transcription.arr index fcc8364..10bf7ba 100644 --- a/exercises/practice/rna-transcription/rna-transcription.arr +++ b/exercises/practice/rna-transcription/rna-transcription.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: to-rna end fun to-rna(dna): diff --git a/exercises/practice/roman-numerals/.meta/example.arr b/exercises/practice/roman-numerals/.meta/example.arr index 43b88ee..3e4826c 100644 --- a/exercises/practice/roman-numerals/.meta/example.arr +++ b/exercises/practice/roman-numerals/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: to-roman end NUMERALS = [list: diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index a685578..76409e7 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("roman-numerals.arr") check "1 is I": diff --git a/exercises/practice/roman-numerals/roman-numerals.arr b/exercises/practice/roman-numerals/roman-numerals.arr index f08ddba..18e7187 100644 --- a/exercises/practice/roman-numerals/roman-numerals.arr +++ b/exercises/practice/roman-numerals/roman-numerals.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: to-roman end fun to-roman(number): diff --git a/exercises/practice/scrabble-score/.meta/example.arr b/exercises/practice/scrabble-score/.meta/example.arr index dd43592..35d0177 100644 --- a/exercises/practice/scrabble-score/.meta/example.arr +++ b/exercises/practice/scrabble-score/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: score end include string-dict diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr index 3fc3ef5..85b162a 100644 --- a/exercises/practice/scrabble-score/scrabble-score-test.arr +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("scrabble-score.arr") check "lowercase letter": diff --git a/exercises/practice/scrabble-score/scrabble-score.arr b/exercises/practice/scrabble-score/scrabble-score.arr index f55c137..83dc406 100644 --- a/exercises/practice/scrabble-score/scrabble-score.arr +++ b/exercises/practice/scrabble-score/scrabble-score.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: score end fun score(word): diff --git a/exercises/practice/secret-handshake/.meta/example.arr b/exercises/practice/secret-handshake/.meta/example.arr index ebf653c..0dceedb 100644 --- a/exercises/practice/secret-handshake/.meta/example.arr +++ b/exercises/practice/secret-handshake/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: commands end import lists as L diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr index 5a39557..da2ac03 100644 --- a/exercises/practice/secret-handshake/secret-handshake-test.arr +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("secret-handshake.arr") check "wink for 1": diff --git a/exercises/practice/secret-handshake/secret-handshake.arr b/exercises/practice/secret-handshake/secret-handshake.arr index fcbb820..12f5521 100644 --- a/exercises/practice/secret-handshake/secret-handshake.arr +++ b/exercises/practice/secret-handshake/secret-handshake.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: commands end fun commands(binary): diff --git a/exercises/practice/series/.meta/example.arr b/exercises/practice/series/.meta/example.arr index 0f71221..c0d9314 100644 --- a/exercises/practice/series/.meta/example.arr +++ b/exercises/practice/series/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: slices end fun slices(series, len): diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr index bd56ab1..0d4b8aa 100644 --- a/exercises/practice/series/series-test.arr +++ b/exercises/practice/series/series-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("series.arr") check "slices of one from one": diff --git a/exercises/practice/series/series.arr b/exercises/practice/series/series.arr index 2c36043..ba72f96 100644 --- a/exercises/practice/series/series.arr +++ b/exercises/practice/series/series.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: slices end fun slices(series, len): diff --git a/exercises/practice/space-age/.meta/example.arr b/exercises/practice/space-age/.meta/example.arr index b3eba1e..4c599cf 100644 --- a/exercises/practice/space-age/.meta/example.arr +++ b/exercises/practice/space-age/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: on-planet end include string-dict diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index 9b6ad54..7fb9c65 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("space-age.arr") fun around(delta): diff --git a/exercises/practice/space-age/space-age.arr b/exercises/practice/space-age/space-age.arr index 3b94049..ecb5f82 100644 --- a/exercises/practice/space-age/space-age.arr +++ b/exercises/practice/space-age/space-age.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: on-planet end fun on-planet(planet, seconds): diff --git a/exercises/practice/square-root/.meta/example.arr b/exercises/practice/square-root/.meta/example.arr index 52b7a96..03176a9 100644 --- a/exercises/practice/square-root/.meta/example.arr +++ b/exercises/practice/square-root/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: square-root end fun square-root(number): diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr index 5a37d51..7d71e44 100644 --- a/exercises/practice/square-root/square-root-test.arr +++ b/exercises/practice/square-root/square-root-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("square-root.arr") check "root of 1": diff --git a/exercises/practice/square-root/square-root.arr b/exercises/practice/square-root/square-root.arr index 06d7116..560cbb3 100644 --- a/exercises/practice/square-root/square-root.arr +++ b/exercises/practice/square-root/square-root.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: square-root end fun square-root(number): diff --git a/exercises/practice/strain/.meta/example.arr b/exercises/practice/strain/.meta/example.arr index c6e8ddb..02f8e25 100644 --- a/exercises/practice/strain/.meta/example.arr +++ b/exercises/practice/strain/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: keep, discard end fun keep(sequence, predicate): diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr index 0337338..4c73cb7 100644 --- a/exercises/practice/strain/strain-test.arr +++ b/exercises/practice/strain/strain-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("strain.arr") check "keep on empty list returns empty list": diff --git a/exercises/practice/strain/strain.arr b/exercises/practice/strain/strain.arr index 989f61b..704390d 100644 --- a/exercises/practice/strain/strain.arr +++ b/exercises/practice/strain/strain.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: keep, discard end fun keep(sequence, predicate): diff --git a/exercises/practice/triangle/.meta/example.arr b/exercises/practice/triangle/.meta/example.arr index f4fa360..b6cff92 100644 --- a/exercises/practice/triangle/.meta/example.arr +++ b/exercises/practice/triangle/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: equilateral, isosceles, scalene end import lists as L diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr index e6e7071..432938c 100644 --- a/exercises/practice/triangle/triangle-test.arr +++ b/exercises/practice/triangle/triangle-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("triangle.arr") check "equilateral triangle -> all sides are equal": diff --git a/exercises/practice/triangle/triangle.arr b/exercises/practice/triangle/triangle.arr index 2b14dc0..948e440 100644 --- a/exercises/practice/triangle/triangle.arr +++ b/exercises/practice/triangle/triangle.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: equilateral, isosceles, scalene end fun equilateral(sides): diff --git a/exercises/practice/two-fer/.meta/example.arr b/exercises/practice/two-fer/.meta/example.arr index 80a3f7c..7d1fde3 100644 --- a/exercises/practice/two-fer/.meta/example.arr +++ b/exercises/practice/two-fer/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: two-fer end fun two-fer(name): diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr index 3160bf4..d7d2c96 100644 --- a/exercises/practice/two-fer/two-fer-test.arr +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("two-fer.arr") check "no name given": diff --git a/exercises/practice/two-fer/two-fer.arr b/exercises/practice/two-fer/two-fer.arr index 4301e14..b485960 100644 --- a/exercises/practice/two-fer/two-fer.arr +++ b/exercises/practice/two-fer/two-fer.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: two-fer end fun two-fer(name): diff --git a/exercises/practice/word-count/.meta/example.arr b/exercises/practice/word-count/.meta/example.arr index 9fff6e2..e99279d 100644 --- a/exercises/practice/word-count/.meta/example.arr +++ b/exercises/practice/word-count/.meta/example.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: word-count end include string-dict diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr index ad7916d..d9e16cb 100644 --- a/exercises/practice/word-count/word-count-test.arr +++ b/exercises/practice/word-count/word-count-test.arr @@ -1,3 +1,5 @@ +use context essentials2020 + include file("word-count.arr") include string-dict diff --git a/exercises/practice/word-count/word-count.arr b/exercises/practice/word-count/word-count.arr index 92bd2ba..7c3c522 100644 --- a/exercises/practice/word-count/word-count.arr +++ b/exercises/practice/word-count/word-count.arr @@ -1,3 +1,5 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + provide: word-count end fun word-count(phrase): From 616cfec39b3085f96caa01595d18a07952a22817 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 08:46:25 -0700 Subject: [PATCH 076/244] Bump actions/checkout from 3 to 4 (#95) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 10a9868..4ec0008 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v3 From 36bde399bf32374834e05d1084c8dec49626c4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 4 Sep 2023 20:32:26 -0700 Subject: [PATCH 077/244] Add queen-attack-exercise (#96) --- config.json | 8 +++ .../queen-attack/.docs/instructions.md | 25 +++++++++ .../practice/queen-attack/.meta/config.json | 19 +++++++ .../practice/queen-attack/.meta/example.arr | 20 +++++++ .../practice/queen-attack/.meta/tests.toml | 49 +++++++++++++++++ .../queen-attack/queen-attack-test.arr | 55 +++++++++++++++++++ .../practice/queen-attack/queen-attack.arr | 15 +++++ 7 files changed, 191 insertions(+) create mode 100644 exercises/practice/queen-attack/.docs/instructions.md create mode 100644 exercises/practice/queen-attack/.meta/config.json create mode 100644 exercises/practice/queen-attack/.meta/example.arr create mode 100644 exercises/practice/queen-attack/.meta/tests.toml create mode 100644 exercises/practice/queen-attack/queen-attack-test.arr create mode 100644 exercises/practice/queen-attack/queen-attack.arr diff --git a/config.json b/config.json index 06f9611..6208bae 100644 --- a/config.json +++ b/config.json @@ -230,6 +230,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "queen-attack", + "name": "Queen Attack", + "uuid": "5a57c5fa-f4a2-460d-9dec-812834ae1cd4", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "raindrops", "name": "Raindrops", diff --git a/exercises/practice/queen-attack/.docs/instructions.md b/exercises/practice/queen-attack/.docs/instructions.md new file mode 100644 index 0000000..ad7ea95 --- /dev/null +++ b/exercises/practice/queen-attack/.docs/instructions.md @@ -0,0 +1,25 @@ +# Instructions + +Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other. + +In the game of chess, a queen can attack pieces which are on the same row, column, or diagonal. + +A chessboard can be represented by an 8 by 8 array. + +So if you are told the white queen is at `c5` (zero-indexed at column 2, row 3) and the black queen at `f2` (zero-indexed at column 5, row 6), then you know that the set-up is like so: + +```text + a b c d e f g h +8 _ _ _ _ _ _ _ _ 8 +7 _ _ _ _ _ _ _ _ 7 +6 _ _ _ _ _ _ _ _ 6 +5 _ _ W _ _ _ _ _ 5 +4 _ _ _ _ _ _ _ _ 4 +3 _ _ _ _ _ _ _ _ 3 +2 _ _ _ _ _ B _ _ 2 +1 _ _ _ _ _ _ _ _ 1 + a b c d e f g h +``` + +You are also able to answer whether the queens can attack each other. +In this case, that answer would be yes, they can, because both pieces share a diagonal. diff --git a/exercises/practice/queen-attack/.meta/config.json b/exercises/practice/queen-attack/.meta/config.json new file mode 100644 index 0000000..2f41783 --- /dev/null +++ b/exercises/practice/queen-attack/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "queen-attack.arr" + ], + "test": [ + "queen-attack-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.", + "source": "J Dalbey's Programming Practice problems", + "source_url": "https://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html" +} diff --git a/exercises/practice/queen-attack/.meta/example.arr b/exercises/practice/queen-attack/.meta/example.arr new file mode 100644 index 0000000..f829708 --- /dev/null +++ b/exercises/practice/queen-attack/.meta/example.arr @@ -0,0 +1,20 @@ +use context essentials2020 + +provide-types * + +fun is-on-board(n :: NumInteger) -> Boolean: + (n >= 0) and (n <= 7) +end + +data Queen: + | queen(row :: NumInteger%(is-on-board), column :: NumInteger%(is-on-board)) + with: + method can-attack(self, other :: Queen) -> Boolean: + (self.row == other.row) or + (self.column == other.column) or + ( + num-abs(other.column - self.column) + == num-abs(other.row - self.row) + ) + end +end \ No newline at end of file diff --git a/exercises/practice/queen-attack/.meta/tests.toml b/exercises/practice/queen-attack/.meta/tests.toml new file mode 100644 index 0000000..e062412 --- /dev/null +++ b/exercises/practice/queen-attack/.meta/tests.toml @@ -0,0 +1,49 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[3ac4f735-d36c-44c4-a3e2-316f79704203] +description = "Test creation of Queens with valid and invalid positions -> queen with a valid position" + +[4e812d5d-b974-4e38-9a6b-8e0492bfa7be] +description = "Test creation of Queens with valid and invalid positions -> queen must have positive row" + +[f07b7536-b66b-4f08-beb9-4d70d891d5c8] +description = "Test creation of Queens with valid and invalid positions -> queen must have row on board" + +[15a10794-36d9-4907-ae6b-e5a0d4c54ebe] +description = "Test creation of Queens with valid and invalid positions -> queen must have positive column" + +[6907762d-0e8a-4c38-87fb-12f2f65f0ce4] +description = "Test creation of Queens with valid and invalid positions -> queen must have column on board" + +[33ae4113-d237-42ee-bac1-e1e699c0c007] +description = "Test the ability of one queen to attack another -> cannot attack" + +[eaa65540-ea7c-4152-8c21-003c7a68c914] +description = "Test the ability of one queen to attack another -> can attack on same row" + +[bae6f609-2c0e-4154-af71-af82b7c31cea] +description = "Test the ability of one queen to attack another -> can attack on same column" + +[0e1b4139-b90d-4562-bd58-dfa04f1746c7] +description = "Test the ability of one queen to attack another -> can attack on first diagonal" + +[ff9b7ed4-e4b6-401b-8d16-bc894d6d3dcd] +description = "Test the ability of one queen to attack another -> can attack on second diagonal" + +[0a71e605-6e28-4cc2-aa47-d20a2e71037a] +description = "Test the ability of one queen to attack another -> can attack on third diagonal" + +[0790b588-ae73-4f1f-a968-dd0b34f45f86] +description = "Test the ability of one queen to attack another -> can attack on fourth diagonal" + +[543f8fd4-2597-4aad-8d77-cbdab63619f8] +description = "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal" diff --git a/exercises/practice/queen-attack/queen-attack-test.arr b/exercises/practice/queen-attack/queen-attack-test.arr new file mode 100644 index 0000000..e40b38d --- /dev/null +++ b/exercises/practice/queen-attack/queen-attack-test.arr @@ -0,0 +1,55 @@ +use context essentials2020 + +include file("queen-attack.arr") + +check "Test creation of Queens with valid and invalid positions -> queen with a valid position": + queen(2, 2) does-not-raise +end + +check "Test creation of Queens with valid and invalid positions -> queen must have positive row": + queen(-2, 2) raises "" # matches any exception message +end + +check "Test creation of Queens with valid and invalid positions -> queen must have row on board": + queen(8, 4) raises "" # matches any exception message +end + +check "Test creation of Queens with valid and invalid positions -> queen must have positive column": + queen(2, -2) raises "" # matches any exception message +end + +check "Test creation of Queens with valid and invalid positions -> queen must have column on board": + queen(4, 8) raises "" # matches any exception message +end + +check "Test the ability of one queen to attack another -> cannot attack": + queen(2, 4).can-attack(queen(6, 6)) is false +end + +check "Test the ability of one queen to attack another -> can attack on same row": + queen(2, 4).can-attack(queen(2, 6)) is true +end + +check "Test the ability of one queen to attack another -> can attack on same column": + queen(4, 5).can-attack(queen(2, 5)) is true +end + +check "Test the ability of one queen to attack another -> can attack on first diagonal": + queen(2, 2).can-attack(queen(0, 4)) is true +end + +check "Test the ability of one queen to attack another -> can attack on second diagonal": + queen(2, 2).can-attack(queen(3, 1)) is true +end + +check "Test the ability of one queen to attack another -> can attack on third diagonal": + queen(2, 2).can-attack(queen(1, 1)) is true +end + +check "Test the ability of one queen to attack another -> can attack on fourth diagonal": + queen(1, 7).can-attack(queen(0, 6)) is true +end + +check "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal": + queen(4, 1).can-attack(queen(2, 5)) is false +end diff --git a/exercises/practice/queen-attack/queen-attack.arr b/exercises/practice/queen-attack/queen-attack.arr new file mode 100644 index 0000000..259b0ca --- /dev/null +++ b/exercises/practice/queen-attack/queen-attack.arr @@ -0,0 +1,15 @@ +use context essentials2020 + +provide-types * + +fun is-on-board(n :: NumInteger) -> Boolean: + raise("please implement the is-on-board function") +end + +data Queen: + | queen(row :: NumInteger%(is-on-board), column :: NumInteger%(is-on-board)) + with: + method can-attack(self, other :: Queen) -> Boolean: + raise("please implement the can-attack method") + end +end \ No newline at end of file From a6efe9ea1ff21e8812954f279108ae076b8004cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 4 Sep 2023 20:33:08 -0700 Subject: [PATCH 078/244] Sync instructions (#97) --- exercises/practice/darts/.docs/instructions.md | 8 ++++++++ .../practice/resistor-color-trio/.docs/instructions.md | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/exercises/practice/darts/.docs/instructions.md b/exercises/practice/darts/.docs/instructions.md index 70f0e53..5e57a86 100644 --- a/exercises/practice/darts/.docs/instructions.md +++ b/exercises/practice/darts/.docs/instructions.md @@ -6,6 +6,8 @@ Write a function that returns the earned points in a single toss of a Darts game In our particular instance of the game, the target rewards 4 different amounts of points, depending on where the dart lands: +![Our dart scoreboard with values from a complete miss to a bullseye](https://assets.exercism.org/images/exercises/darts/darts-scoreboard.svg) + - If the dart lands outside the target, player earns no points (0 points). - If the dart lands in the outer circle of the target, player earns 1 point. - If the dart lands in the middle circle of the target, player earns 5 points. @@ -16,8 +18,14 @@ Of course, they are all centered at the same point — that is, the circles are Write a function that given a point in the target (defined by its [Cartesian coordinates][cartesian-coordinates] `x` and `y`, where `x` and `y` are [real][real-numbers]), returns the correct amount earned by a dart landing at that point. +## Credit + +The scoreboard image was created by [habere-et-dispertire][habere-et-dispertire] using [Inkscape][inkscape]. + [darts]: https://en.wikipedia.org/wiki/Darts [darts-target]: https://en.wikipedia.org/wiki/Darts#/media/File:Darts_in_a_dartboard.jpg [concentric]: https://mathworld.wolfram.com/ConcentricCircles.html [cartesian-coordinates]: https://www.mathsisfun.com/data/cartesian-coordinates.html [real-numbers]: https://www.mathsisfun.com/numbers/real-numbers.html +[habere-et-dispertire]: https://exercism.org/profiles/habere-et-dispertire +[inkscape]: https://en.wikipedia.org/wiki/Inkscape diff --git a/exercises/practice/resistor-color-trio/.docs/instructions.md b/exercises/practice/resistor-color-trio/.docs/instructions.md index 4ad2aed..59d2278 100644 --- a/exercises/practice/resistor-color-trio/.docs/instructions.md +++ b/exercises/practice/resistor-color-trio/.docs/instructions.md @@ -23,7 +23,7 @@ For this exercise, you need to know only three things about them: - Grey: 8 - White: 9 -In `resistor-color duo` you decoded the first two colors. +In Resistor Color Duo you decoded the first two colors. For instance: orange-orange got the main value `33`. The third color stands for how many zeros need to be added to the main value. The main value plus the zeros gives us a value in ohms. From f87024938b7ab16835435541538151f9605c42d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:38:17 -0700 Subject: [PATCH 079/244] Update README.md (#98) --- README.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3502ab7..d104234 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,30 @@ Exercism exercises in Pyret. +## Setup + +If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.26+). Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). However, you can also use [Pyret's online IDE](https://code.pyret.org/). In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. + +## Support + +For support with Pyret in Exercism, please visit [the Pyret subcategory](https://forum.exercism.org/c/programming/pyret/265) on the official [Exercism forum](https://forum.exercism.org). + +## Coding Style + +Please consult [the official Pyret style guide](https://pyret.org/docs/latest/Pyret_Style_Guide.html). + ## Testing -To test the exercises, run `./bin/test`. +To test the exercises, run `./bin/verify-exercises` on a Linux or MacOS platform. This command will iterate over all exercises and check to see if their exemplar/example implementation passes all the tests. -### Track linting +## Contributing Guide + +Please see [Exercism's contributing guide](https://exercism.org/docs/building). + +At the moment, there's not a generator for Pyret exercises. Make sure `use context essentials2020` is the first line in all Pyret files to explicitly set the default namespace. + +## Track linting [`configlet`](https://exercism.org/docs/building/configlet) is an Exercism-wide tool for working with tracks. You can download it by running: From a17ab40bfeafa304006cd078c5ecf392753a0c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 13 Sep 2023 23:06:55 -0700 Subject: [PATCH 080/244] Add pending test support for acronym (#101) --- exercises/practice/acronym/acronym-test.arr | 80 ++++++++++++++++----- 1 file changed, 62 insertions(+), 18 deletions(-) diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index a480f16..b27cfe5 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -2,38 +2,82 @@ use context essentials2020 include file("acronym.arr") -check "basic": - abbreviate("Portable Network Graphics") is "PNG" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun basic(): + check "basic": + abbreviate("Portable Network Graphics") is "PNG" + end end -check "lowercase words": - abbreviate("Ruby on Rails") is "ROR" +fun lowercase-words(): + check "lowercase words": + abbreviate("Ruby on Rails") is "ROR" + end end -check "punctuation": - abbreviate("First In, First Out") is "FIFO" +fun punctuation(): + check "punctuation": + abbreviate("First In, First Out") is "FIFO" + end end -check "all caps word": - abbreviate("GNU Image Manipulation Program") is "GIMP" +fun all-caps-word(): + check "all caps word": + abbreviate("GNU Image Manipulation Program") is "GIMP" + end end -check "punctuation without whitespace": - abbreviate("Complementary metal-oxide semiconductor") is "CMOS" +fun punctuation-without-whitespace(): + check "punctuation without whitespace": + abbreviate("Complementary metal-oxide semiconductor") is "CMOS" + end end -check "very long abbreviation": - abbreviate("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") is "ROTFLSHTMDCOALM" +fun very-long-abbreviation(): + check "very long abbreviation": + abbreviate("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") is "ROTFLSHTMDCOALM" + end end -check "consecutive delimiters": - abbreviate("Something - I made up from thin air") is "SIMUFTA" +fun consecutive-delimiters(): + check "consecutive delimiters": + abbreviate("Something - I made up from thin air") is "SIMUFTA" + end end -check "apostrophes": - abbreviate("Halley's Comet") is "HC" +fun apostrophes(): + check "apostrophes": + abbreviate("Halley's Comet") is "HC" + end end -check "underscore emphasis": - abbreviate("The Road _Not_ Taken") is "TRNT" +fun underscore-emphasis(): + check "underscore emphasis": + abbreviate("The Road _Not_ Taken") is "TRNT" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. (test-b, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(basic, true), + test(lowercase-words, false), + test(punctuation, false), + test(all-caps-word, false), + test(punctuation-without-whitespace, false), + test(very-long-abbreviation, false), + test(consecutive-delimiters, false), + test(apostrophes, false), + test(underscore-emphasis, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From a5f554fd3295c2a07f909c552d516603eaf65c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 16 Sep 2023 22:28:14 -0700 Subject: [PATCH 081/244] Clarify anagram testing comment (#103) --- exercises/practice/acronym/acronym-test.arr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index b27cfe5..de86267 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -65,7 +65,7 @@ end #| Code to run each test. Each line corresponds to a test above and whether it should be run. To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. (test-b, false) will be skipped. + test(test-a, true) will be run. test(test-a, false) will be skipped. |# data TestRun: test(run, active) end From eeccf030c069a1a9291d5a02005e1ff6192ee3dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 16 Sep 2023 22:47:30 -0700 Subject: [PATCH 082/244] Add bank-account exercise files (#102) --- config.json | 8 + .../bank-account/.docs/instructions-append.md | 3 + .../bank-account/.docs/instructions.md | 12 ++ .../practice/bank-account/.meta/config.json | 17 +++ .../practice/bank-account/.meta/example.arr | 48 ++++++ .../practice/bank-account/.meta/tests.toml | 63 ++++++++ .../bank-account/bank-account-test.arr | 139 ++++++++++++++++++ .../practice/bank-account/bank-account.arr | 22 +++ 8 files changed, 312 insertions(+) create mode 100644 exercises/practice/bank-account/.docs/instructions-append.md create mode 100644 exercises/practice/bank-account/.docs/instructions.md create mode 100644 exercises/practice/bank-account/.meta/config.json create mode 100644 exercises/practice/bank-account/.meta/example.arr create mode 100644 exercises/practice/bank-account/.meta/tests.toml create mode 100644 exercises/practice/bank-account/bank-account-test.arr create mode 100644 exercises/practice/bank-account/bank-account.arr diff --git a/config.json b/config.json index 6208bae..c0d6f58 100644 --- a/config.json +++ b/config.json @@ -70,6 +70,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "bank-account", + "name": "Bank Account", + "uuid": "44b5048a-8e98-4300-8bd9-fce59dcc008b", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "binary-search", "name": "Binary Search", diff --git a/exercises/practice/bank-account/.docs/instructions-append.md b/exercises/practice/bank-account/.docs/instructions-append.md new file mode 100644 index 0000000..78702bb --- /dev/null +++ b/exercises/practice/bank-account/.docs/instructions-append.md @@ -0,0 +1,3 @@ +# Instructions append + +Pyret doesn't support concurrency so that requirement can be set aside. Account operations are sequential on a single thread. diff --git a/exercises/practice/bank-account/.docs/instructions.md b/exercises/practice/bank-account/.docs/instructions.md new file mode 100644 index 0000000..f536fdb --- /dev/null +++ b/exercises/practice/bank-account/.docs/instructions.md @@ -0,0 +1,12 @@ +# Instructions + +Simulate a bank account supporting opening/closing, withdrawals, and deposits of money. +Watch out for concurrent transactions! + +A bank account can be accessed in multiple ways. +Clients can make deposits and withdrawals using the internet, mobile phones, etc. +Shops can charge against the account. + +Create an account that can be accessed from multiple threads/processes (terminology depends on your programming language). + +It should be possible to close an account; operations against a closed account must fail. diff --git a/exercises/practice/bank-account/.meta/config.json b/exercises/practice/bank-account/.meta/config.json new file mode 100644 index 0000000..f77ae6e --- /dev/null +++ b/exercises/practice/bank-account/.meta/config.json @@ -0,0 +1,17 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "bank-account.arr" + ], + "test": [ + "bank-account-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Simulate a bank account supporting opening/closing, withdrawals, and deposits of money." +} diff --git a/exercises/practice/bank-account/.meta/example.arr b/exercises/practice/bank-account/.meta/example.arr new file mode 100644 index 0000000..2be2945 --- /dev/null +++ b/exercises/practice/bank-account/.meta/example.arr @@ -0,0 +1,48 @@ +use context essentials2020 + +provide-types * + +data Account: + | account() with: + method open(self): + open-account(0) + end, + method get-balance(self): + raise("account not open") + end, + method deposit(self, amount): + raise("account not open") + end, + method withdraw(self, amount): + raise("account not open") + end, + method close(self): + raise("account not open") + end + | open-account(balance :: NumInteger) with: + method get-balance(self): + self.balance + end, + method deposit(self, amount :: NumInteger): + if amount <= 0: + raise("amount must be greater than 0") + else: + open-account(self.balance + amount) + end + end, + method withdraw(self, amount :: NumInteger): + if amount <= 0: + raise("amount must be greater than 0") + else if amount > self.balance: + raise("amount must be less than balance") + else: + open-account(self.balance - amount) + end + end, + method close(self): + account() + end, + method open(self): + raise("account already open") + end +end \ No newline at end of file diff --git a/exercises/practice/bank-account/.meta/tests.toml b/exercises/practice/bank-account/.meta/tests.toml new file mode 100644 index 0000000..887c064 --- /dev/null +++ b/exercises/practice/bank-account/.meta/tests.toml @@ -0,0 +1,63 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[983a1528-4ceb-45e5-8257-8ce01aceb5ed] +description = "Newly opened account has zero balance" + +[e88d4ec3-c6bf-4752-8e59-5046c44e3ba7] +description = "Single deposit" + +[3d9147d4-63f4-4844-8d2b-1fee2e9a2a0d] +description = "Multiple deposits" + +[08f1af07-27ae-4b38-aa19-770bde558064] +description = "Withdraw once" + +[6f6d242f-8c31-4ac6-8995-a90d42cad59f] +description = "Withdraw twice" + +[45161c94-a094-4c77-9cec-998b70429bda] +description = "Can do multiple operations sequentially" + +[f9facfaa-d824-486e-8381-48832c4bbffd] +description = "Cannot check balance of closed account" + +[7a65ba52-e35c-4fd2-8159-bda2bde6e59c] +description = "Cannot deposit into closed account" + +[a0a1835d-faae-4ad4-a6f3-1fcc2121380b] +description = "Cannot deposit into unopened account" + +[570dfaa5-0532-4c1f-a7d3-0f65c3265608] +description = "Cannot withdraw from closed account" + +[c396d233-1c49-4272-98dc-7f502dbb9470] +description = "Cannot close an account that was not opened" + +[c06f534f-bdc2-4a02-a388-1063400684de] +description = "Cannot open an already opened account" + +[0722d404-6116-4f92-ba3b-da7f88f1669c] +description = "Reopened account does not retain balance" + +[ec42245f-9361-4341-8231-a22e8d19c52f] +description = "Cannot withdraw more than deposited" + +[4f381ef8-10ef-4507-8e1d-0631ecc8ee72] +description = "Cannot withdraw negative" + +[d45df9ea-1db0-47f3-b18c-d365db49d938] +description = "Cannot deposit negative" + +[ba0c1e0b-0f00-416f-8097-a7dfc97871ff] +description = "Can handle concurrent transactions" +include = false +comment = "no concurrency support" \ No newline at end of file diff --git a/exercises/practice/bank-account/bank-account-test.arr b/exercises/practice/bank-account/bank-account-test.arr new file mode 100644 index 0000000..534fc2b --- /dev/null +++ b/exercises/practice/bank-account/bank-account-test.arr @@ -0,0 +1,139 @@ +use context essentials2020 + +include file("bank-account.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun open-account-zero-balance(): + check "Newly opened account has zero balance": + account().open().get-balance() is 0 + end +end + +fun single-deposit(): + check "Single deposit": + account().open().deposit(100).get-balance() is 100 + end +end + +fun multiple-deposits(): + check "Multiple deposits": + account().open().deposit(100).deposit(50).get-balance() is 150 + end +end + +fun withdraw-once(): + check "Withdraw once": + account().open().deposit(100).withdraw(75).get-balance() is 25 + end +end + +fun withdraw-twice(): + check "Withdraw twice": + account().open().deposit(100).withdraw(80).withdraw(20).get-balance() is 0 + end +end + +fun multiple-operations(): + check "Can do multiple operations sequentially": + account() + ^ _.open() + ^ _.deposit(100) + ^ _.deposit(110) + ^ _.withdraw(200) + ^ _.deposit(60) + ^ _.withdraw(50) + ^ _.get-balance() is 20 + end +end + +fun no-balance-for-closed-account(): + check "Cannot check balance of closed account": + account().open().close().get-balance() raises "account not open" + end +end + +fun no-deposit-for-closed-account(): + check "Cannot deposit into closed account": + account().open().close().deposit(50) raises "account not open" + end +end + +fun no-deposit-for-unopened-account(): + check "Cannot deposit into unopened account": + account().deposit(50) raises "account not open" + end +end + +fun no-withdraw-for-closed-account(): + check "Cannot withdraw from closed account": + account().open().close().withdraw(50) raises "account not open" + end +end + +fun no-close-unopened-account(): + check "Cannot close an account that was not opened": + account().close() raises "account not open" + end +end + +fun no-open-already-opened-account(): + check "Cannot open an already opened account": + account().open().open() raises "account already open" + end +end + +fun reopened-account-does-not-retain-balance(): + check "Reopened account does not retain balance": + account().open().deposit(50).close().open().get-balance() is 0 + end +end + +fun no-withdraw-more-than-deposited(): + check "Cannot withdraw more than deposited": + account().open().deposit(25).withdraw(50) raises "amount must be less than balance" + end +end + +fun no-withdraw-negative-amount(): + check "Cannot withdraw negative": + account().open().deposit(100).withdraw(-50) raises "amount must be greater than 0" + end +end + +fun no-deposit-negative-amount(): + check "Cannot deposit negative": + account().open().deposit(-50) raises "amount must be greater than 0" + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(open-account-zero-balance, true), + test(single-deposit, false), + test(multiple-deposits, false), + test(withdraw-once, false), + test(withdraw-twice, false), + test(multiple-operations, false), + test(no-balance-for-closed-account, false), + test(no-deposit-for-closed-account, false), + test(no-deposit-for-unopened-account, false), + test(no-withdraw-for-closed-account, false), + test(no-close-unopened-account, false), + test(no-open-already-opened-account, false), + test(reopened-account-does-not-retain-balance, false), + test(no-withdraw-more-than-deposited, false), + test(no-withdraw-negative-amount, false), + test(no-deposit-negative-amount, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/bank-account/bank-account.arr b/exercises/practice/bank-account/bank-account.arr new file mode 100644 index 0000000..b36d0ef --- /dev/null +++ b/exercises/practice/bank-account/bank-account.arr @@ -0,0 +1,22 @@ +use context essentials2020 + +provide-types * + +data Account: + | account() with: + method open(self): + raise("please implement the open method") + end, + method close(self): + raise("please implement the close method") + end, + method deposit(self, amount): + raise("please implement the withdraw method") + end, + method withdraw(self, amount): + raise("please implement the withdraw method") + end, + method get-balance(self): + raise("please implement the get-balance method") + end +end \ No newline at end of file From 7ef8ffe58f054dc48320a56b5459e6721a22c534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 16 Sep 2023 22:49:29 -0700 Subject: [PATCH 083/244] Add pending test support for anagram (#104) --- exercises/practice/anagram/anagram-test.arr | 197 +++++++++++++------- 1 file changed, 131 insertions(+), 66 deletions(-) diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index ee74abc..afd449b 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -2,114 +2,179 @@ use context essentials2020 include file("anagram.arr") -check "no matches": - candidates = [list: "hello", "world", "zombies", "pants"] - expected = [list: ] - - find-anagrams("diaper", candidates) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun no-matches(): + check "no matches": + candidates = [list: "hello", "world", "zombies", "pants"] + expected = [list: ] + + find-anagrams("diaper", candidates) is expected + end end -check "detects two anagrams": - candidates = [list: "lemons", "cherry", "melons"] - expected = [list: "lemons", "melons"] +fun detect-two-anagrams(): + check "detects two anagrams": + candidates = [list: "lemons", "cherry", "melons"] + expected = [list: "lemons", "melons"] - find-anagrams("solemn", candidates) is expected + find-anagrams("solemn", candidates) is expected + end end -check "does not detect anagram subsets": - candidates = [list: "dog", "goody"] - expected = [list: ] +fun no-detect-anagram-subsets(): + check "does not detect anagram subsets": + candidates = [list: "dog", "goody"] + expected = [list: ] - find-anagrams("good", candidates) is expected + find-anagrams("good", candidates) is expected + end end -check "detects anagram": - candidates = [list: "enlists", "google", "inlets", "banana"] - expected = [list: "inlets"] +fun detect-anagram(): + check "detects anagram": + candidates = [list: "enlists", "google", "inlets", "banana"] + expected = [list: "inlets"] - find-anagrams("listen", candidates) is expected + find-anagrams("listen", candidates) is expected + end end -check "detects three anagrams": - candidates = [list: "gallery", "ballerina", "regally", "clergy", "largely", "leading"] - expected = [list: "gallery", "regally", "largely"] +fun detect-three-anagrams(): + check "detects three anagrams": + candidates = [list: "gallery", "ballerina", "regally", "clergy", "largely", "leading"] + expected = [list: "gallery", "regally", "largely"] - find-anagrams("allergy", candidates) is expected + find-anagrams("allergy", candidates) is expected + end end -check "detects multiple anagrams with different case": - candidates = [list: "Eons", "ONES"] - expected = [list: "Eons", "ONES"] +fun detect-multiple-anagrams-with-diff-case(): + check "detects multiple anagrams with different case": + candidates = [list: "Eons", "ONES"] + expected = [list: "Eons", "ONES"] - find-anagrams("nose", candidates) is expected + find-anagrams("nose", candidates) is expected + end end -check "does not detect non-anagrams with identical checksum": - candidates = [list: "last"] - expected = [list: ] +fun no-detect-identical-checksum(): + check "does not detect non-anagrams with identical checksum": + candidates = [list: "last"] + expected = [list: ] - find-anagrams("mass", candidates) is expected + find-anagrams("mass", candidates) is expected + end end -check "detects anagrams case-insensitively": - candidates = [list: "cashregister", "Carthorse", "radishes"] - expected = [list: "Carthorse"] +fun detect-anagram-case-insensitively(): + check "detects anagrams case-insensitively": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] - find-anagrams("Orchestra", candidates) is expected + find-anagrams("Orchestra", candidates) is expected + end end -check "detects anagrams using case-insensitive subject": - candidates = [list: "cashregister", "carthorse", "radishes"] - expected = [list: "carthorse"] +fun detect-anagram-case-insensitive-subject(): + check "detects anagrams using case-insensitive subject": + candidates = [list: "cashregister", "carthorse", "radishes"] + expected = [list: "carthorse"] - find-anagrams("Orchestra", candidates) is expected + find-anagrams("Orchestra", candidates) is expected + end end -check "detects anagrams using case-insensitive possible matches": - candidates = [list: "cashregister", "Carthorse", "radishes"] - expected = [list: "Carthorse"] +fun detect-anagram-case-insensitive-candidates(): + check "detects anagrams using case-insensitive possible matches": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] - find-anagrams("orchestra", candidates) is expected + find-anagrams("orchestra", candidates) is expected + end end -check "does not detect an anagram if the original word is repeated": - candidates = [list: "go Go GO"] - expected = [list: ] +fun no-detect-anagram-for-repeating-word(): + check "does not detect an anagram if the original word is repeated": + candidates = [list: "go Go GO"] + expected = [list: ] - find-anagrams("go", candidates) is expected + find-anagrams("go", candidates) is expected + end end -check "anagrams must use all letters exactly once": - candidates = [list: "patter"] - expected = [list: ] +fun anagrams-use-all-letters-once(): + check "anagrams must use all letters exactly once": + candidates = [list: "patter"] + expected = [list: ] - find-anagrams("tapper", candidates) is expected + find-anagrams("tapper", candidates) is expected + end end -check "words are not anagrams of themselves": - candidates = [list: "BANANA"] - expected = [list: ] +fun words-are-not-anagrams-of-themselves(): + check "words are not anagrams of themselves": + candidates = [list: "BANANA"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected + find-anagrams("BANANA", candidates) is expected + end end -check "words are not anagrams of themselves even if letter case is partially different": - candidates = [list: "Banana"] - expected = [list: ] +fun words-are-not-anagrams-of-themselves-even-if-case-partially-different(): + check "words are not anagrams of themselves even if letter case is partially different": + candidates = [list: "Banana"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected + find-anagrams("BANANA", candidates) is expected + end end -check "words are not anagrams of themselves even if letter case is completely different": - candidates = [list: "banana"] - expected = [list: ] +fun words-are-not-anagrams-of-themselves-even-if-case-completely-different(): + check "words are not anagrams of themselves even if letter case is completely different": + candidates = [list: "banana"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected + find-anagrams("BANANA", candidates) is expected + end end -check "words other than themselves can be anagrams": - candidates = [list: "LISTEN", "Silent"] - expected = [list: "Silent"] +fun words-other-than-self-can-be-anagram(): + check "words other than themselves can be anagrams": + candidates = [list: "LISTEN", "Silent"] + expected = [list: "Silent"] + + find-anagrams("LISTEN", candidates) is expected + end +end - find-anagrams("LISTEN", candidates) is expected -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(no-matches, true), + test(detect-two-anagrams, false), + test(no-detect-anagram-subsets, false), + test(detect-anagram, false), + test(detect-three-anagrams, false), + test(detect-multiple-anagrams-with-diff-case, false), + test(no-detect-identical-checksum, false), + test(detect-anagram-case-insensitively, false), + test(detect-anagram-case-insensitive-subject, false), + test(detect-anagram-case-insensitive-candidates, false), + test(no-detect-anagram-for-repeating-word, false), + test(anagrams-use-all-letters-once, false), + test(words-are-not-anagrams-of-themselves, false), + test(words-are-not-anagrams-of-themselves-even-if-case-partially-different, false), + test(words-are-not-anagrams-of-themselves-even-if-case-completely-different, false), + test(words-other-than-self-can-be-anagram, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 8951254517e0e04f69375fe26ff377a593c28489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 16 Sep 2023 23:11:47 -0700 Subject: [PATCH 084/244] Add pending test support for armstrong-numbers (#105) --- .../armstrong-numbers-test.arr | 94 ++++++++++++++----- 1 file changed, 72 insertions(+), 22 deletions(-) diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr index b919f93..48678e0 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -2,46 +2,96 @@ use context essentials2020 include file("armstrong-numbers.arr") -check "Zero is an Armstrong number": - is-armstrong-number(0) is true +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun zero-is-armstrong(): + check "Zero is an Armstrong number": + is-armstrong-number(0) is true + end end -check "Single-digit numbers are Armstrong numbers": - is-armstrong-number(5) is true +fun single-digit-is-armstrong(): + check "Single-digit numbers are Armstrong numbers": + is-armstrong-number(5) is true + end end -check "There are no two-digit Armstrong numbers": - is-armstrong-number(10) is-not true +fun two-digit-is-not-armstrong(): + check "There are no two-digit Armstrong numbers": + is-armstrong-number(10) is false + end end -check "Three-digit number that is an Armstrong number": - is-armstrong-number(153) is true +fun three-digit-is-armstrong(): + check "Three-digit number that is an Armstrong number": + is-armstrong-number(153) is true + end end -check "Three-digit number that is not an Armstrong number": - is-armstrong-number(100) is-not true +fun three-digit-is-not-armstrong(): + check "Three-digit number that is not an Armstrong number": + is-armstrong-number(100) is false + end end -check "Four-digit number that is an Armstrong number": - is-armstrong-number(9474) is true +fun four-digit-is-armstrong(): + check "Four-digit number that is an Armstrong number": + is-armstrong-number(9474) is true + end end -check "Four-digit number that is not an Armstrong number": - is-armstrong-number(9475) is-not true +fun four-digit-is-not-armstrong(): + check "Four-digit number that is not an Armstrong number": + is-armstrong-number(9475) is false + end end -check "Seven-digit number that is an Armstrong number": - is-armstrong-number(9926315) is true +fun seven-digit-is-armstrong(): + check "Seven-digit number that is an Armstrong number": + is-armstrong-number(9926315) is true + end end -check "Seven-digit number that is not an Armstrong number": - is-armstrong-number(9926314) is-not true +fun seven-digit-is-not-armstrong(): + check "Seven-digit number that is not an Armstrong number": + is-armstrong-number(9926314) is false + end end -check "Armstrong number containing seven zeroes": - is-armstrong-number(186709961001538790100634132976990) is true +fun number-with-seven-zeroes-is-not-armstrong(): + check "Armstrong number containing seven zeroes": + is-armstrong-number(186709961001538790100634132976990) is true + end end -check "The largest and last Armstrong number": - is-armstrong-number(115132219018763992565095597973971522401) is true +fun largest-armstrong-number(): + check "The largest and last Armstrong number": + is-armstrong-number(115132219018763992565095597973971522401) is true + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(zero-is-armstrong, true), + test(single-digit-is-armstrong, false), + test(two-digit-is-not-armstrong, false), + test(three-digit-is-armstrong, false), + test(three-digit-is-not-armstrong, false), + test(four-digit-is-armstrong, false), + test(four-digit-is-not-armstrong, false), + test(seven-digit-is-armstrong, false), + test(seven-digit-is-not-armstrong, false), + test(number-with-seven-zeroes-is-not-armstrong, false), + test(largest-armstrong-number, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 53717b08f895f45342ab0dfcc3a813009f722e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 17 Sep 2023 12:47:39 -0700 Subject: [PATCH 085/244] Add proverb exercise (#106) --- config.json | 8 ++ .../practice/proverb/.docs/instructions.md | 19 ++++ exercises/practice/proverb/.meta/config.json | 19 ++++ exercises/practice/proverb/.meta/example.arr | 18 ++++ exercises/practice/proverb/.meta/tests.toml | 28 ++++++ exercises/practice/proverb/proverb-test.arr | 89 +++++++++++++++++++ exercises/practice/proverb/proverb.arr | 5 ++ 7 files changed, 186 insertions(+) create mode 100644 exercises/practice/proverb/.docs/instructions.md create mode 100644 exercises/practice/proverb/.meta/config.json create mode 100644 exercises/practice/proverb/.meta/example.arr create mode 100644 exercises/practice/proverb/.meta/tests.toml create mode 100644 exercises/practice/proverb/proverb-test.arr create mode 100644 exercises/practice/proverb/proverb.arr diff --git a/config.json b/config.json index c0d6f58..46fde97 100644 --- a/config.json +++ b/config.json @@ -238,6 +238,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "proverb", + "name": "Proverb", + "uuid": "18946346-e04c-4032-b3dc-4abdb6c8f5a1", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "queen-attack", "name": "Queen Attack", diff --git a/exercises/practice/proverb/.docs/instructions.md b/exercises/practice/proverb/.docs/instructions.md new file mode 100644 index 0000000..f6fb859 --- /dev/null +++ b/exercises/practice/proverb/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +For want of a horseshoe nail, a kingdom was lost, or so the saying goes. + +Given a list of inputs, generate the relevant proverb. +For example, given the list `["nail", "shoe", "horse", "rider", "message", "battle", "kingdom"]`, you will output the full text of this proverbial rhyme: + +```text +For want of a nail the shoe was lost. +For want of a shoe the horse was lost. +For want of a horse the rider was lost. +For want of a rider the message was lost. +For want of a message the battle was lost. +For want of a battle the kingdom was lost. +And all for the want of a nail. +``` + +Note that the list of inputs may vary; your solution should be able to handle lists of arbitrary length and content. +No line of the output text should be a static, unchanging string; all should vary according to the input given. diff --git a/exercises/practice/proverb/.meta/config.json b/exercises/practice/proverb/.meta/config.json new file mode 100644 index 0000000..2251c47 --- /dev/null +++ b/exercises/practice/proverb/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "proverb.arr" + ], + "test": [ + "proverb-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/For_Want_of_a_Nail" +} diff --git a/exercises/practice/proverb/.meta/example.arr b/exercises/practice/proverb/.meta/example.arr new file mode 100644 index 0000000..e5b6b52 --- /dev/null +++ b/exercises/practice/proverb/.meta/example.arr @@ -0,0 +1,18 @@ +provide: recite end + +import lists as L + +fun recite(items): + cases (List) items: + | empty => items + | link(f, r) => + L.range(0, L.length(items) - 1) + ^ map( + lam(n): + 'For want of a ' + items.get(n) + ' the ' + items.get(n + 1) + ' was lost.' + end, _) + ^ _.reverse() + ^ _.push('And all for the want of a ' + f + '.') + ^ _.reverse() + end +end diff --git a/exercises/practice/proverb/.meta/tests.toml b/exercises/practice/proverb/.meta/tests.toml new file mode 100644 index 0000000..dc92a0c --- /dev/null +++ b/exercises/practice/proverb/.meta/tests.toml @@ -0,0 +1,28 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[e974b73e-7851-484f-8d6d-92e07fe742fc] +description = "zero pieces" + +[2fcd5f5e-8b82-4e74-b51d-df28a5e0faa4] +description = "one piece" + +[d9d0a8a1-d933-46e2-aa94-eecf679f4b0e] +description = "two pieces" + +[c95ef757-5e94-4f0d-a6cb-d2083f5e5a83] +description = "three pieces" + +[433fb91c-35a2-4d41-aeab-4de1e82b2126] +description = "full proverb" + +[c1eefa5a-e8d9-41c7-91d4-99fab6d6b9f7] +description = "four pieces modernized" diff --git a/exercises/practice/proverb/proverb-test.arr b/exercises/practice/proverb/proverb-test.arr new file mode 100644 index 0000000..6c9b04b --- /dev/null +++ b/exercises/practice/proverb/proverb-test.arr @@ -0,0 +1,89 @@ +use context essentials2020 + +include file("proverb.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun zero-pieces(): + check "zero pieces": + recite([list: ]) is [list: ] + end +end + +fun one-piece(): + check "one piece": + input = [list: "nail"] + expected = [list: "And all for the want of a nail."] + + recite(input) is expected + end +end + +fun two-pieces(): + check "two pieces": + input = [list: "nail", "shoe"] + expected = [list: "For want of a nail the shoe was lost.", + "And all for the want of a nail."] + + recite(input) is expected + end +end + +fun three-pieces(): + check "three pieces": + input = [list: "nail", "shoe", "horse"] + expected = [list: "For want of a nail the shoe was lost.", + "For want of a shoe the horse was lost.", + "And all for the want of a nail."] + + recite(input) is expected + end +end + +fun full-proverb(): + check "full proverb": + input = [list: "nail", "shoe", "horse", "rider", "message", "battle", "kingdom"] + expected = [list: "For want of a nail the shoe was lost.", + "For want of a shoe the horse was lost.", + "For want of a horse the rider was lost.", + "For want of a rider the message was lost.", + "For want of a message the battle was lost.", + "For want of a battle the kingdom was lost.", + "And all for the want of a nail."] + + recite(input) is expected + end +end + +fun four-pieces-modernized(): + check "four pieces modernized": + input = [list: "pin", "gun", "soldier", "battle"] + expected = [list: "For want of a pin the gun was lost.", + "For want of a gun the soldier was lost.", + "For want of a soldier the battle was lost.", + "And all for the want of a pin."] + + recite(input) is expected + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(zero-pieces, true), + test(one-piece, false), + test(two-pieces, false), + test(three-pieces, false), + test(full-proverb, false), + test(four-pieces-modernized, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/proverb/proverb.arr b/exercises/practice/proverb/proverb.arr new file mode 100644 index 0000000..54913a7 --- /dev/null +++ b/exercises/practice/proverb/proverb.arr @@ -0,0 +1,5 @@ +provide: recite end + +fun recite(items): + raise("please implement the recite function.") +end \ No newline at end of file From 631ef1155511d680b403fedfc64a32df4cebb9e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 18 Sep 2023 21:24:57 -0700 Subject: [PATCH 086/244] Add pending test support to atbash-cipher (#107) --- .../atbash-cipher/atbash-cipher-test.arr | 199 ++++++++++++------ 1 file changed, 129 insertions(+), 70 deletions(-) diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr index 4bdd1f2..e83d5c5 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher-test.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -2,100 +2,159 @@ use context essentials2020 include file("atbash-cipher.arr") -check "encode -> encode yes": - input = "yes" - expected = "bvh" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun encode-yes(): + check "encode -> encode yes": + input = "yes" + expected = "bvh" + + encode(input) is expected + end +end - encode(input) is expected +fun encode-no(): + check "encode -> encode no": + input = "no" + expected = "ml" + + encode(input) is expected + end end -check "encode -> encode no": - input = "no" - expected = "ml" - - encode(input) is expected +fun encode-OMG(): + check "encode -> encode OMG": + input = "OMG" + expected = "lnt" + + encode(input) is expected + end end -check "encode -> encode OMG": - input = "OMG" - expected = "lnt" - - encode(input) is expected +fun encode-spaces(): + check "encode -> encode spaces": + input = "O M G" + expected = "lnt" + + encode(input) is expected + end end -check "encode -> encode spaces": - input = "O M G" - expected = "lnt" - - encode(input) is expected +fun encode-mindblowingly(): + check "encode -> encode mindblowingly": + input = "mindblowingly" + expected = "nrmwy oldrm tob" + + encode(input) is expected + end end -check "encode -> encode mindblowingly": - input = "mindblowingly" - expected = "nrmwy oldrm tob" - - encode(input) is expected +fun encode-numbers(): + check "encode -> encode numbers": + input = "Testing,1 2 3, testing." + expected = "gvhgr mt123 gvhgr mt" + + encode(input) is expected + end end -check "encode -> encode numbers": - input = "Testing,1 2 3, testing." - expected = "gvhgr mt123 gvhgr mt" - - encode(input) is expected +fun encode-deep-thought(): + check "encode -> encode deep thought": + input = "Truth is fiction." + expected = "gifgs rhurx grlm" + + encode(input) is expected + end end -check "encode -> encode deep thought": - input = "Truth is fiction." - expected = "gifgs rhurx grlm" - - encode(input) is expected +fun encode-all-letters(): + check "encode -> encode all the letters": + input = "The quick brown fox jumps over the lazy dog." + expected = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + + encode(input) is expected + end end -check "encode -> encode all the letters": - input = "The quick brown fox jumps over the lazy dog." - expected = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" - - encode(input) is expected +fun decode-exercism(): + check "decode -> decode exercism": + input = "vcvix rhn" + expected = "exercism" + + decode(input) is expected + end end -check "decode -> decode exercism": - input = "vcvix rhn" - expected = "exercism" - - decode(input) is expected +fun decode-sentence(): + check "decode -> decode a sentence": + input = "zmlyh gzxov rhlug vmzhg vkkrm thglm v" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected + end end -check "decode -> decode a sentence": - input = "zmlyh gzxov rhlug vmzhg vkkrm thglm v" - expected = "anobstacleisoftenasteppingstone" - - decode(input) is expected +fun decode-numbers(): + check "decode -> decode numbers": + input = "gvhgr mt123 gvhgr mt" + expected = "testing123testing" + + decode(input) is expected + end end -check "decode -> decode numbers": - input = "gvhgr mt123 gvhgr mt" - expected = "testing123testing" - - decode(input) is expected +fun decode-all-letters(): + check "decode -> decode all the letters": + input = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + expected = "thequickbrownfoxjumpsoverthelazydog" + + decode(input) is expected + end end -check "decode -> decode all the letters": - input = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" - expected = "thequickbrownfoxjumpsoverthelazydog" - - decode(input) is expected +fun decode-with-too-many-spaces(): + check "decode -> decode with too many spaces": + input = "vc vix r hn" + expected = "exercism" + + decode(input) is expected + end end -check "decode -> decode with too many spaces": - input = "vc vix r hn" - expected = "exercism" - - decode(input) is expected +fun decode-with-no-spaces(): + check "decode -> decode with no spaces": + input = "zmlyhgzxovrhlugvmzhgvkkrmthglmv" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected + end end -check "decode -> decode with no spaces": - input = "zmlyhgzxovrhlugvmzhgvkkrmthglmv" - expected = "anobstacleisoftenasteppingstone" - - decode(input) is expected -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(encode-yes, true), + test(encode-no, false), + test(encode-OMG, false), + test(encode-spaces, false), + test(encode-mindblowingly, false), + test(encode-numbers, false), + test(encode-deep-thought, false), + test(encode-all-letters, false), + test(decode-exercism, false), + test(decode-sentence, false), + test(decode-numbers, false), + test(decode-all-letters, false), + test(decode-with-too-many-spaces, false), + test(decode-with-no-spaces, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 6d8556cf2f052b749a0ae0808eb3f7124b2b4a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 18 Sep 2023 21:38:55 -0700 Subject: [PATCH 087/244] Add pending tests to binary search (#108) --- .../binary-search/binary-search-test.arr | 73 ++++++++++++++++--- 1 file changed, 62 insertions(+), 11 deletions(-) diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index 71b31fd..70b20ee 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -2,46 +2,97 @@ use context essentials2020 include file("binary-search.arr") -check "finds a value in an array with one element": +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun value-in-list-of-one(): + check "finds a value in a list with one element": binary-search([list: 6], 6) is 0 + end end -check "finds a value in the middle of an array": +fun value-in-middle-of-list(): + check "finds a value in the middle of a list": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 + end end -check "finds a value at the beginning of an array": + +fun value-in-beginning-of-list(): + check "finds a value at the beginning of a list": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 + end end -check "finds a value at the end of an array": +fun value-at-end-of-list(): + check "finds a value at the end of a list": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 + end end -check "finds a value in an array of odd length": +fun value-in-odd-length-list(): + check "finds a value in a list of odd length": binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 + end end -check "finds a value in an array of even length": +fun value-in-even-length-list(): + check "finds a value in a list of even length": binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 + end end -check "identifies that a value is not included in the array": +fun error-value-not-in-list(): + check "identifies that a value is not included in the list": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" + end end -check "a value smaller than the array's smallest value is not found": +fun error-value-too-small(): + check "a value smaller than the list's smallest value is not found": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" + end end -check "a value larger than the array's largest value is not found": +fun err-value-too-large(): + check "a value larger than the list's largest value is not found": binary-search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" + end end -check "nothing is found in an empty array": +fun err-empty-list(): + check "nothing is found in an empty list": binary-search([list: ], 1) raises "value not in list" + end end -check "nothing is found when the left and right bounds cross": +fun err-bounds-cross(): + check "nothing is found when the left and right bounds cross": binary-search([list: 1, 2], 0) raises "value not in list" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(value-in-list-of-one, true), + test(value-in-middle-of-list, false), + test(value-in-beginning-of-list, false), + test(value-at-end-of-list, false), + test(value-in-odd-length-list, false), + test(value-in-even-length-list, false), + test(error-value-not-in-list, false), + test(error-value-too-small, false), + test(err-value-too-large, false), + test(err-empty-list, false), + test(err-bounds-cross, false) +].each(lam(t): when t.active: t.run() end end) From dead58762d140694a0baf8838b147a9af2cd3ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 18 Sep 2023 21:46:51 -0700 Subject: [PATCH 088/244] Add pending test support to bob (#109) --- exercises/practice/bob/bob-test.arr | 312 ++++++++++++++++++---------- 1 file changed, 202 insertions(+), 110 deletions(-) diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index 336b508..bbd6031 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -2,177 +2,269 @@ use context essentials2020 include file("bob.arr") -check "stating something": - input = "Tom-ay-to, tom-aaaah-to." - expected = "Whatever." - - response(input) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun stating-something(): + check "stating something": + input = "Tom-ay-to, tom-aaaah-to." + expected = "Whatever." + + response(input) is expected + end end -check "shouting": - input = "WATCH OUT!" - expected = "Whoa, chill out!" - - response(input) is expected +fun shouting(): + check "shouting": + input = "WATCH OUT!" + expected = "Whoa, chill out!" + + response(input) is expected + end end -check "shouting gibberish": - input = "FCECDFCAAB" - expected = "Whoa, chill out!" - - response(input) is expected +fun shouting-gibberish(): + check "shouting gibberish": + input = "FCECDFCAAB" + expected = "Whoa, chill out!" + + response(input) is expected + end end -check "asking a question": - input = "Does this cryogenic chamber make me look fat?" - expected = "Sure." - - response(input) is expected +fun asking-a-question(): + check "asking a question": + input = "Does this cryogenic chamber make me look fat?" + expected = "Sure." + + response(input) is expected + end end -check "asking a numeric question": - input = "You are, what, like 15?" - expected = "Sure." - - response(input) is expected +fun asking-numeric-question(): + check "asking a numeric question": + input = "You are, what, like 15?" + expected = "Sure." + + response(input) is expected + end end -check "asking gibberish": - input = "fffbbcbeab?" - expected = "Sure." - - response(input) is expected +fun asking-gibberish(): + check "asking gibberish": + input = "fffbbcbeab?" + expected = "Sure." + + response(input) is expected + end end -check "talking forcefully": - input = "Hi there!" - expected = "Whatever." - - response(input) is expected +fun talking-forcefully(): + check "talking forcefully": + input = "Hi there!" + expected = "Whatever." + + response(input) is expected + end end -check "using acronyms in regular speech": - input = "It's OK if you don't want to go work for NASA." - expected = "Whatever." - - response(input) is expected +fun using-acronyms(): + check "using acronyms in regular speech": + input = "It's OK if you don't want to go work for NASA." + expected = "Whatever." + + response(input) is expected + end end -check "forceful question": - input = "WHAT'S GOING ON?" - expected = "Calm down, I know what I'm doing!" - - response(input) is expected +fun forceful-question(): + check "forceful question": + input = "WHAT'S GOING ON?" + expected = "Calm down, I know what I'm doing!" + + response(input) is expected + end end -check "shouting numbers": - input = "1, 2, 3 GO!" - expected = "Whoa, chill out!" +fun shouting-numbers(): + check "shouting numbers": + input = "1, 2, 3 GO!" + expected = "Whoa, chill out!" - response(input) is expected + response(input) is expected + end end -check "no letters": - input = "1, 2, 3" - expected = "Whatever." +fun no-letters(): + check "no letters": + input = "1, 2, 3" + expected = "Whatever." - response(input) is expected + response(input) is expected + end end -check "question with no letters": - input = "4?" - expected = "Sure." +fun question-with-no-letters(): + check "question with no letters": + input = "4?" + expected = "Sure." - response(input) is expected + response(input) is expected + end end -check "shouting with special characters": - input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!" - expected = "Whoa, chill out!" +fun shouting-with-special-characters(): + check "shouting with special characters": + input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!" + expected = "Whoa, chill out!" - response(input) is expected + response(input) is expected + end end -check "shouting with no exclamation mark": - input = "I HATE THE DENTIST" - expected = "Whoa, chill out!" +fun shouting-with-no-exclamation-mark(): + check "shouting with no exclamation mark": + input = "I HATE THE DENTIST" + expected = "Whoa, chill out!" - response(input) is expected + response(input) is expected + end end -check "statement containing question mark": - input = "Ending with ? means a question." - expected = "Whatever." +fun statement-with-question-mark(): + check "statement containing question mark": + input = "Ending with ? means a question." + expected = "Whatever." - response(input) is expected + response(input) is expected + end end -check "non-letters with question": - input = ":) ?" - expected = "Sure." +fun non-letters-with-question(): + check "non-letters with question": + input = ":) ?" + expected = "Sure." - response(input) is expected + response(input) is expected + end end -check "prattling on": - input = "Wait! Hang on. Are you going to be OK?" - expected = "Sure." +fun prattling-on(): + check "prattling on": + input = "Wait! Hang on. Are you going to be OK?" + expected = "Sure." - response(input) is expected + response(input) is expected + end end -check "silence": - input = "" - expected = "Fine. Be that way!" +fun silence(): + check "silence": + input = "" + expected = "Fine. Be that way!" - response(input) is expected + response(input) is expected + end end -check "prolonged silence": - input = " " - expected = "Fine. Be that way!" +fun prolonged-silence(): + check "prolonged silence": + input = " " + expected = "Fine. Be that way!" - response(input) is expected + response(input) is expected + end end -check "alternate silence": - input = "\t\t\t\t\t\t\t\t\t\t" - expected = "Fine. Be that way!" +fun alternate-silence(): + check "alternate silence": + input = "\t\t\t\t\t\t\t\t\t\t" + expected = "Fine. Be that way!" - response(input) is expected + response(input) is expected + end end -check "multiple line question": - input = "\nDoes this cryogenic chamber make me look fat?\nNo." - expected = "Whatever." +fun multiple-line-question(): + check "multiple line question": + input = "\nDoes this cryogenic chamber make me look fat?\nNo." + expected = "Whatever." - response(input) is expected + response(input) is expected + end end -check "starting with whitespace": - input = " hmmmmmmm..." - expected = "Whatever." +fun starting-with-whitespace(): + check "starting with whitespace": + input = " hmmmmmmm..." + expected = "Whatever." - response(input) is expected + response(input) is expected + end end -check "ending with whitespace": - input = "Okay if like my spacebar quite a bit? " - expected = "Sure." +fun ending-with-whitespace(): + check "ending with whitespace": + input = "Okay if like my spacebar quite a bit? " + expected = "Sure." - response(input) is expected + response(input) is expected + end end -check "other whitespace": - input = "\n\r \t" - expected = "Fine. Be that way!" +fun other-whitespace(): + check "other whitespace": + input = "\n\r \t" + expected = "Fine. Be that way!" - response(input) is expected + response(input) is expected + end end -check "non-question ending with whitespace": - input = "This is a statement ending with whitespace " - expected = "Whatever." +fun non-question-ending-with-whitespace(): + check "non-question ending with whitespace": + input = "This is a statement ending with whitespace " + expected = "Whatever." + + response(input) is expected + end +end - response(input) is expected -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(stating-something, true), + test(shouting, false), + test(shouting-gibberish, false), + test(asking-a-question, false), + test(asking-numeric-question, false), + test(asking-gibberish, false), + test(talking-forcefully, false), + test(using-acronyms, false), + test(forceful-question, false), + test(shouting-numbers, false), + test(no-letters, false), + test(question-with-no-letters, false), + test(shouting-with-special-characters, false), + test(shouting-with-no-exclamation-mark, false), + test(statement-with-question-mark, false), + test(non-letters-with-question, false), + test(prattling-on, false), + test(silence, false), + test(prolonged-silence, false), + test(alternate-silence, false), + test(multiple-line-question, false), + test(starting-with-whitespace, false), + test(ending-with-whitespace, false), + test(other-whitespace, false), + test(non-question-ending-with-whitespace, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From f16ba3ef97b47ca5d1ea96b2e60926a18dadabba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 18 Sep 2023 21:49:56 -0700 Subject: [PATCH 089/244] Add pending test support for collatz-conjecture (#110) --- .../collatz-conjecture-test.arr | 59 +++++++++++++++---- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr index ccfeb97..e624f9a 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -2,26 +2,61 @@ use context essentials2020 include file("collatz-conjecture.arr") -check "zero steps for one": - steps(1) is 0 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun zero-steps-for-one(): + check "zero steps for one": + steps(1) is 0 + end end -check "divide if even": - steps(16) is 4 +fun divide-if-even(): + check "divide if even": + steps(16) is 4 + end end -check "even and odd steps": - steps(12) is 9 +fun even-and-odd-steps(): + check "even and odd steps": + steps(12) is 9 + end end -check "large number of even and odd steps": - steps(1000000) is 152 +fun large-number-of-even-and-odd-steps(): + check "large number of even and odd steps": + steps(1000000) is 152 + end end -check "zero is an error": - steps(0) raises "Only positive numbers are allowed" +fun zero-is-an-error(): + check "zero is an error": + steps(0) raises "Only positive numbers are allowed" + end end -check "negative value is an error": - steps(-15) raises "Only positive numbers are allowed" +fun negative-is-an-error(): + check "negative value is an error": + steps(-15) raises "Only positive numbers are allowed" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(zero-steps-for-one, true), + test(divide-if-even, false), + test(even-and-odd-steps, false), + test(large-number-of-even-and-odd-steps, false), + test(zero-is-an-error, false), + test(negative-is-an-error, false) +].each(lam(t): when t.active: t.run() end end) From 0e9c1cb15b7c5726149a117a70fce9a614065684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Sep 2023 22:27:47 -0700 Subject: [PATCH 090/244] Add pending tests to dart (#111) --- exercises/practice/darts/darts-test.arr | 108 ++++++++++++++++++------ 1 file changed, 82 insertions(+), 26 deletions(-) diff --git a/exercises/practice/darts/darts-test.arr b/exercises/practice/darts/darts-test.arr index e3e1169..5d4def0 100644 --- a/exercises/practice/darts/darts-test.arr +++ b/exercises/practice/darts/darts-test.arr @@ -2,54 +2,110 @@ use context essentials2020 include file("darts.arr") -check "Missed target": - score(-9, 9) is 0 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun missed-target(): + check "Missed target": + score(-9, 9) is 0 + end end -check "On the outer circle": - score(0, 10) is 1 +fun on-outer-circle(): + check "On the outer circle": + score(0, 10) is 1 + end end -check "On the middle circle": - score(-5, 0) is 5 +fun on-middle-circle(): + check "On the middle circle": + score(-5, 0) is 5 + end end -check "On the inner circle": - score(0, -1) is 10 +fun on-inner-circle(): + check "On the inner circle": + score(0, -1) is 10 + end end -check "Exactly on center": - score(0, 0) is 10 +fun at-center(): + check "Exactly on center": + score(0, 0) is 10 + end end -check "Near the center": - score(-0.1, -0.1) is 10 +fun near-center(): + check "Near the center": + score(-0.1, -0.1) is 10 + end end -check "Just within the inner circle": - score(0.7, 0.7) is 10 +fun just-within-inner-circle(): + check "Just within the inner circle": + score(0.7, 0.7) is 10 + end end -check "Just outside the inner circle": - score(0.8, -0.8) is 5 +fun just-outside-inner-circle(): + check "Just outside the inner circle": + score(0.8, -0.8) is 5 + end end -check "Just within the middle circle": - score(-3.5, 3.5) is 5 +fun just-within-middle-circle(): + check "Just within the middle circle": + score(-3.5, 3.5) is 5 + end end -check "Just outside the middle circle": - score(-3.6, 3.6) is 1 +fun just-outside-middle-circle(): + check "Just outside the middle circle": + score(-3.6, 3.6) is 1 + end end -check "Just within the outer circle": - score(-7.0, 7.0) is 1 +fun just-within-outer-circle(): + check "Just within the outer circle": + score(-7.0, 7.0) is 1 + end end -check "Just outside the outer circle": - score(7.1, -7.1) is 0 +fun just-outside-outer-circle(): + check "Just outside the outer circle": + score(7.1, -7.1) is 0 + end end -check "Asymmetric position between the inner and middle circles": - score(0.5, -4) is 5 +fun asymmetric-position(): + check "Asymmetric position between the inner and middle circles": + score(0.5, -4) is 5 + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(missed-target, true), + test(on-outer-circle, false), + test(on-middle-circle, false), + test(on-inner-circle, false), + test(at-center, false), + test(near-center, false), + test(just-within-inner-circle, false), + test(just-outside-inner-circle, false), + test(just-within-middle-circle, false), + test(just-outside-middle-circle, false), + test(just-within-outer-circle, false), + test(just-outside-outer-circle, false), + test(asymmetric-position, false) +].each(lam(t): when t.active: t.run() end end) From d2265feeade560c346c8933f4a75181a3b0f75f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Sep 2023 22:46:03 -0700 Subject: [PATCH 091/244] Update pending tests for difference-of-squares (#112) --- .../difference-of-squares-test.arr | 80 ++++++++++++++----- 1 file changed, 62 insertions(+), 18 deletions(-) diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr index 8e4e319..192dc8a 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares-test.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -2,38 +2,82 @@ use context essentials2020 include file("difference-of-squares.arr") -check "Square the sum of the numbers up to the given number -> square of sum 1": - square-of-sum(1) is 1 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun square-of-sum-1(): + check "Square the sum of the numbers up to the given number -> square of sum 1": + square-of-sum(1) is 1 + end end -check "Square the sum of the numbers up to the given number -> square of sum 5": - square-of-sum(5) is 225 +fun square-of-sum-5(): + check "Square the sum of the numbers up to the given number -> square of sum 5": + square-of-sum(5) is 225 + end end -check "Square the sum of the numbers up to the given number -> square of sum 100": - square-of-sum(100) is 25502500 +fun square-of-sum-100(): + check "Square the sum of the numbers up to the given number -> square of sum 100": + square-of-sum(100) is 25502500 + end end -check "Sum the squares of the numbers up to the given number -> sum of squares 1": - sum-of-squares(1) is 1 +fun sum-of-squares-1(): + check "Sum the squares of the numbers up to the given number -> sum of squares 1": + sum-of-squares(1) is 1 + end end -check "Sum the squares of the numbers up to the given number -> sum of squares 5": - sum-of-squares(5) is 55 +fun sum-of-squares-5(): + check "Sum the squares of the numbers up to the given number -> sum of squares 5": + sum-of-squares(5) is 55 + end end -check "Sum the squares of the numbers up to the given number -> sum of squares 100": - sum-of-squares(100) is 338350 +fun sum-of-squares-100(): + check "Sum the squares of the numbers up to the given number -> sum of squares 100": + sum-of-squares(100) is 338350 + end end -check "Subtract sum of squares from square of sums -> difference of squares 1": - difference-of-squares(1) is 0 +fun difference-of-squares-1(): + check "Subtract sum of squares from square of sums -> difference of squares 1": + difference-of-squares(1) is 0 + end end -check "Subtract sum of squares from square of sums -> difference of squares 5": - difference-of-squares(5) is 170 +fun difference-of-squares-5(): + check "Subtract sum of squares from square of sums -> difference of squares 5": + difference-of-squares(5) is 170 + end end -check "Subtract sum of squares from square of sums -> difference of squares 100": - difference-of-squares(100) is 25164150 +fun dfference-of-squares-100(): + check "Subtract sum of squares from square of sums -> difference of squares 100": + difference-of-squares(100) is 25164150 + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(square-of-sum-1, true), + test(square-of-sum-5, false), + test(square-of-sum-100, false), + test(sum-of-squares-1, false), + test(sum-of-squares-5, false), + test(sum-of-squares-100, false), + test(difference-of-squares-1, false), + test(difference-of-squares-5, false), + test(dfference-of-squares-100, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From e5df4ab9d78f08783972fab153c0af62f72e124f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Sep 2023 22:47:02 -0700 Subject: [PATCH 092/244] Add pending test support to D&D character (#113) --- .../dnd-character/dnd-character-test.arr | 178 +++++++++++++----- 1 file changed, 127 insertions(+), 51 deletions(-) diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index 325cd49..661f703 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -2,90 +2,166 @@ use context essentials2020 include file("dnd-character.arr") -check "ability modifier -> ability modifier for score 3 is -4": - modifier(3) is -4 -end +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# -check "ability modifier -> ability modifier for score 4 is -3": - modifier(4) is -3 +fun modifier-score-3(): + check "ability modifier -> ability modifier for score 3 is -4": + modifier(3) is -4 + end end -check "ability modifier -> ability modifier for score 5 is -3": - modifier(5) is -3 +fun modifier-score-4(): + check "ability modifier -> ability modifier for score 4 is -3": + modifier(4) is -3 + end end -check "ability modifier -> ability modifier for score 6 is -2": - modifier(6) is -2 +fun modifier-score-5(): + check "ability modifier -> ability modifier for score 5 is -3": + modifier(5) is -3 + end end -check "ability modifier -> ability modifier for score 7 is -2": - modifier(7) is -2 +fun modifier-score-6(): + check "ability modifier -> ability modifier for score 6 is -2": + modifier(6) is -2 + end end -check "ability modifier -> ability modifier for score 8 is -1": - modifier(8) is -1 +fun modifier-score-7(): + check "ability modifier -> ability modifier for score 7 is -2": + modifier(7) is -2 + end end -check "ability modifier -> ability modifier for score 9 is -1": - modifier(9) is -1 +fun modifier-score-8(): + check "ability modifier -> ability modifier for score 8 is -1": + modifier(8) is -1 + end end -check "ability modifier -> ability modifier for score 10 is 0": - modifier(10) is 0 +fun modifier-score-9(): + check "ability modifier -> ability modifier for score 9 is -1": + modifier(9) is -1 + end end -check "ability modifier -> ability modifier for score 11 is 0": - modifier(11) is 0 +fun modifier-score-10(): + check "ability modifier -> ability modifier for score 10 is 0": + modifier(10) is 0 + end end -check "ability modifier -> ability modifier for score 12 is +1": - modifier(12) is 1 +fun modifier-score-11(): + check "ability modifier -> ability modifier for score 11 is 0": + modifier(11) is 0 + end end -check "ability modifier -> ability modifier for score 13 is +1": - modifier(13) is 1 +fun modifier-score-12(): + check "ability modifier -> ability modifier for score 12 is +1": + modifier(12) is 1 + end end -check "ability modifier -> ability modifier for score 14 is +2": - modifier(14) is 2 +fun modifier-score-13(): + check "ability modifier -> ability modifier for score 13 is +1": + modifier(13) is 1 + end end -check "ability modifier -> ability modifier for score 15 is +2": - modifier(15) is 2 +fun modifier-score-14(): + check "ability modifier -> ability modifier for score 14 is +2": + modifier(14) is 2 + end end -check "ability modifier -> ability modifier for score 16 is +3": - modifier(16) is 3 +fun modifier-score-15(): + check "ability modifier -> ability modifier for score 15 is +2": + modifier(15) is 2 + end end -check "ability modifier -> ability modifier for score 17 is +3": - modifier(17) is 3 +fun modifier-score-16(): + check "ability modifier -> ability modifier for score 16 is +3": + modifier(16) is 3 + end end -check "ability modifier -> ability modifier for score 18 is +4": - modifier(18) is 4 +fun modifier-score-17(): + check "ability modifier -> ability modifier for score 17 is +3": + modifier(17) is 3 + end end -check "random ability is within range": - is-valid = lam(stat): (stat >= 3) and (stat <= 18) end - stat = ability() - is-valid(stat) is true +fun modifier-score-18(): + check "ability modifier -> ability modifier for score 18 is +4": + modifier(18) is 4 + end end -check "random character is valid": - is-valid = lam(stat): (stat >= 3) and (stat <= 18) end - char = character() - is-valid(char.strength) is true - is-valid(char.dexterity) is true - is-valid(char.constitution) is true - is-valid(char.intelligence) is true - is-valid(char.wisdom) is true - is-valid(char.charisma) is true +fun ability-within-range(): + check "random ability is within range": + is-valid = lam(stat): (stat >= 3) and (stat <= 18) end - (char.hitpoints == modifier(char.constitution)) is true + stat = ability() + is-valid(stat) is true + end end -check "each ability is only calculated once": - char = character() - (char.strength == char.strength) is true -end +fun random-character-is-valid(): + check "random character is valid": + is-valid = lam(stat): (stat >= 3) and (stat <= 18) end + + char = character() + is-valid(char.strength) is true + is-valid(char.dexterity) is true + is-valid(char.constitution) is true + is-valid(char.intelligence) is true + is-valid(char.wisdom) is true + is-valid(char.charisma) is true + + (char.hitpoints == modifier(char.constitution)) is true + end +end + +fun calculate-ability-once(): + check "each ability is only calculated once": + char = character() + (char.strength == char.strength) is true + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(modifier-score-3, true), + test(modifier-score-4, false), + test(modifier-score-5, false), + test(modifier-score-6, false), + test(modifier-score-7, false), + test(modifier-score-8, false), + test(modifier-score-9, false), + test(modifier-score-10, false), + test(modifier-score-11, false), + test(modifier-score-12, false), + test(modifier-score-13, false), + test(modifier-score-14, false), + test(modifier-score-15, false), + test(modifier-score-16, false), + test(modifier-score-17, false), + test(modifier-score-18, false), + test(ability-within-range, false), + test(random-character-is-valid, false), + test(calculate-ability-once, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 67972b645786ad3e457d51732a880256c1e6cfdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:41:35 -0700 Subject: [PATCH 093/244] Change dnd-character to use data declarations (#114) --- .../.docs/instructions-append.md | 3 -- .../practice/dnd-character/.meta/example.arr | 42 +++++++++++-------- .../practice/dnd-character/.meta/tests.toml | 1 + .../dnd-character/dnd-character-test.arr | 41 +++++++++--------- .../practice/dnd-character/dnd-character.arr | 30 ++++++++++++- 5 files changed, 75 insertions(+), 42 deletions(-) delete mode 100644 exercises/practice/dnd-character/.docs/instructions-append.md diff --git a/exercises/practice/dnd-character/.docs/instructions-append.md b/exercises/practice/dnd-character/.docs/instructions-append.md deleted file mode 100644 index 0d98c47..0000000 --- a/exercises/practice/dnd-character/.docs/instructions-append.md +++ /dev/null @@ -1,3 +0,0 @@ -# Instructions append - -Rather than using the built-in num-sqrt, we would like you to consider solving this exercise with your own implementation. diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr index 74e6b2f..8892877 100644 --- a/exercises/practice/dnd-character/.meta/example.arr +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -1,23 +1,31 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism -provide: character, modifier, ability end +provide-types * -modifier = lam(value): num-floor((value - 10) / 2) end -ability = lam(): +data Character: + | blank-character() with: + method randomize-stats(self) -> Character: + abilities = self.ability() + strength = self.ability() + dexterity = self.ability() + constitution = self.ability() + intelligence = self.ability() + wisdom = self.ability() + charisma = self.ability() + character(strength, dexterity, constitution, intelligence, wisdom, charisma) + end + | character(strength, dexterity, constitution, intelligence, wisdom, charisma) with: + method get-hitpoints(self): + 10 + self.modifier(self.constitution) + end +sharing: + method ability(self) -> NumInteger: roll-dice = lam(_): num-random(5) + 1 end rolls = map(roll-dice, repeat(4, 0)) rolls.sort().drop(1).foldl(lam(elt, acc): elt + acc end, 0) -end - -character = lam(): - constitution = ability() - { - strength: ability(), - dexterity: ability(), - constitution: constitution, - intelligence: ability(), - wisdom: ability(), - charisma: ability(), - hitpoints: modifier(constitution) - } -end + end, + method modifier(self, value :: NumInteger) -> NumInteger: + modified = (value - 10) / 2 + num-floor(modified) + end +end \ No newline at end of file diff --git a/exercises/practice/dnd-character/.meta/tests.toml b/exercises/practice/dnd-character/.meta/tests.toml index 2b04dd3..5f36ec0 100644 --- a/exercises/practice/dnd-character/.meta/tests.toml +++ b/exercises/practice/dnd-character/.meta/tests.toml @@ -65,3 +65,4 @@ description = "random character is valid" [2ca77b9b-c099-46c3-a02c-0d0f68ffa0fe] description = "each ability is only calculated once" +include = "false" \ No newline at end of file diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index 661f703..f8d9b61 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -8,6 +8,12 @@ include file("dnd-character.arr") Check the block comment below for further details. |# + +# declaring some variables to be more concise inside the tests. +modifier = blank-character().modifier +ability = blank-character().ability +randomize-stats = blank-character().randomize-stats + fun modifier-score-3(): check "ability modifier -> ability modifier for score 3 is -4": modifier(3) is -4 @@ -106,33 +112,29 @@ end fun ability-within-range(): check "random ability is within range": - is-valid = lam(stat): (stat >= 3) and (stat <= 18) end - stat = ability() + + is-valid = lam(n): (n >= 3) and (n <= 18) end + is-valid(stat) is true end end fun random-character-is-valid(): check "random character is valid": - is-valid = lam(stat): (stat >= 3) and (stat <= 18) end + new-character = randomize-stats() - char = character() - is-valid(char.strength) is true - is-valid(char.dexterity) is true - is-valid(char.constitution) is true - is-valid(char.intelligence) is true - is-valid(char.wisdom) is true - is-valid(char.charisma) is true + is-valid = lam(n): (n >= 3) and (n <= 18) end - (char.hitpoints == modifier(char.constitution)) is true - end -end + is-valid(new-character.strength) is true + is-valid(new-character.dexterity) is true + is-valid(new-character.constitution) is true + is-valid(new-character.intelligence) is true + is-valid(new-character.wisdom) is true + is-valid(new-character.charisma) is true -fun calculate-ability-once(): - check "each ability is only calculated once": - char = character() - (char.strength == char.strength) is true + expected = 10 + new-character.modifier(new-character.constitution) + new-character.get-hitpoints() is expected end end @@ -162,6 +164,5 @@ data TestRun: test(run, active) end test(modifier-score-17, false), test(modifier-score-18, false), test(ability-within-range, false), - test(random-character-is-valid, false), - test(calculate-ability-once, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file + test(random-character-is-valid, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/dnd-character/dnd-character.arr b/exercises/practice/dnd-character/dnd-character.arr index acb716b..8892877 100644 --- a/exercises/practice/dnd-character/dnd-character.arr +++ b/exercises/practice/dnd-character/dnd-character.arr @@ -1,5 +1,31 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism -provide: character, modifier, ability end +provide-types * -# Implement the character, modifier, and ability functions \ No newline at end of file +data Character: + | blank-character() with: + method randomize-stats(self) -> Character: + abilities = self.ability() + strength = self.ability() + dexterity = self.ability() + constitution = self.ability() + intelligence = self.ability() + wisdom = self.ability() + charisma = self.ability() + character(strength, dexterity, constitution, intelligence, wisdom, charisma) + end + | character(strength, dexterity, constitution, intelligence, wisdom, charisma) with: + method get-hitpoints(self): + 10 + self.modifier(self.constitution) + end +sharing: + method ability(self) -> NumInteger: + roll-dice = lam(_): num-random(5) + 1 end + rolls = map(roll-dice, repeat(4, 0)) + rolls.sort().drop(1).foldl(lam(elt, acc): elt + acc end, 0) + end, + method modifier(self, value :: NumInteger) -> NumInteger: + modified = (value - 10) / 2 + num-floor(modified) + end +end \ No newline at end of file From 678e827affdd1d80ade8bbf18db3f73fca65758a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:41:53 -0700 Subject: [PATCH 094/244] Update etl tests for pending support (#115) --- exercises/practice/etl/etl-test.arr | 77 ++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 24 deletions(-) diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 1898d6b..42c7c0c 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -2,36 +2,65 @@ use context essentials2020 include file("etl.arr") +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + include string-dict -check "single letter": - translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] +fun single-letter(): + check "single letter": + translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] + end end -check "single score with multiple letters": - translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] +fun single-score-multiple-letters(): + check "single score with multiple letters": + translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] + end end -check "multiple scores with multiple letters": - input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] - expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] - translate(input) is expected +fun multiple-scores-multiple-letters(): + check "multiple scores with multiple letters": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] + translate(input) is expected + end end -check "multiple scores with multiple letters and multiple scores": - input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], - "2", [list: "D", "G"], - "3", [list: "B", "C", "M", "P"], - "4", [list: "F", "H", "V", "W", "Y"], - "5", [list: "K"], - "8", [list: "J", "X"], - "10", [list: "Q", "Z"]] - expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", - "d", "2", "g", "2", - "b", "3", "c", "3", "m", "3", "p", "3", - "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", - "k", "5", - "j", "8", "x", "8", - "q", "10", "z", "10"] - translate(input) is expected +fun multiple-scores-different-numbers-of-letters(): + check "multiple scores with differing numbers of letters": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], + "2", [list: "D", "G"], + "3", [list: "B", "C", "M", "P"], + "4", [list: "F", "H", "V", "W", "Y"], + "5", [list: "K"], + "8", [list: "J", "X"], + "10", [list: "Q", "Z"]] + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", + "d", "2", "g", "2", + "b", "3", "c", "3", "m", "3", "p", "3", + "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", + "k", "5", + "j", "8", "x", "8", + "q", "10", "z", "10"] + translate(input) is expected + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(single-letter, true), + test(single-score-multiple-letters, false), + test(multiple-scores-multiple-letters, false), + test(multiple-scores-different-numbers-of-letters, false) +].each(lam(t): when t.active: t.run() end end) From c98d4425897dca8eca1a4ab430eb96fe3878079a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 06:29:31 -0700 Subject: [PATCH 095/244] Add pending tests to grains (#116) --- exercises/practice/grains/grains-test.arr | 96 +++++++++++++++++------ 1 file changed, 73 insertions(+), 23 deletions(-) diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr index 5d1b416..27982e0 100644 --- a/exercises/practice/grains/grains-test.arr +++ b/exercises/practice/grains/grains-test.arr @@ -2,46 +2,96 @@ use context essentials2020 include file("grains.arr") -check "returns the number of grains on the square -> grains on square 1": - on-square(1) is 1 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun on-square-1(): + check "returns the number of grains on the square -> grains on square 1": + on-square(1) is 1 + end +end + +fun on-square-2(): + check "returns the number of grains on the square -> grains on square 2": + on-square(2) is 2 + end end -check "returns the number of grains on the square -> grains on square 2": - on-square(2) is 2 +fun on-square-3(): + check "returns the number of grains on the square -> grains on square 3": + on-square(3) is 4 + end end -check "returns the number of grains on the square -> grains on square 3": - on-square(3) is 4 +fun on-square-4(): + check "returns the number of grains on the square -> grains on square 4": + on-square(4) is 8 + end end -check "returns the number of grains on the square -> grains on square 4": - on-square(4) is 8 +fun on-square-16(): + check "returns the number of grains on the square -> grains on square 16": + on-square(16) is 32768 + end end -check "returns the number of grains on the square -> grains on square 16": - on-square(16) is 32768 +fun on-square-32(): + check "returns the number of grains on the square -> grains on square 32": + on-square(32) is 2147483648 + end end -check "returns the number of grains on the square -> grains on square 32": - on-square(32) is 2147483648 +fun on-square-64(): + check "returns the number of grains on the square -> grains on square 64": + on-square(64) is 9223372036854775808 + end end -check "returns the number of grains on the square -> grains on square 64": - on-square(64) is 9223372036854775808 +fun on-square-raises-exception-for-zero(): + check "returns the number of grains on the square -> square 0 raises an exception": + on-square(0) raises "square must be between 1 and 64" + end end -check "returns the number of grains on the square -> square 0 raises an exception": - on-square(0) raises "square must be between 1 and 64" +fun on-square-raises-exception-for-negative(): + check "returns the number of grains on the square -> negative square raises an exception": + on-square(-1) raises "square must be between 1 and 64" + end end -check "returns the number of grains on the square -> negative square raises an exception": - on-square(-1) raises "square must be between 1 and 64" +fun on-square-raises-exception-for-65(): + check "returns the number of grains on the square -> square greater than 64 raises an exception": + on-square(65) raises "square must be between 1 and 64" + end end -check "returns the number of grains on the square -> square greater than 64 raises an exception": - on-square(65) raises "square must be between 1 and 64" +fun total-returns-all-grains(): + check "returns the total number of grains on the board": + total() is 18446744073709551615 + end end -check "returns the total number of grains on the board": - total() is 18446744073709551615 -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(on-square-1, true), + test(on-square-2, false), + test(on-square-3, false), + test(on-square-4, false), + test(on-square-16, false), + test(on-square-32, false), + test(on-square-64, false), + test(on-square-raises-exception-for-zero, false), + test(on-square-raises-exception-for-negative, false), + test(on-square-raises-exception-for-65, false), + test(total-returns-all-grains, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From cb42567956677ca9d3bea9c97a1dc3963a300336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 06:59:41 -0700 Subject: [PATCH 096/244] Bump pyret-npm version (#117) --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f38ae21..ccb88b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "@exercism/pyret", "license": "MIT", "dependencies": { - "pyret-npm": "^0.0.25" + "pyret-npm": "^0.0.27" } }, "node_modules/ansi-regex": { @@ -177,9 +177,9 @@ } }, "node_modules/pyret-npm": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.25.tgz", - "integrity": "sha512-xOQ6s/pnXxkMwt+sxasu/eL29fzpSfGkV+yDn6pWv4CcIA0TIPOIxtATJNSit6EvIo8xlcC683lsl2Guv5ElDA==", + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.27.tgz", + "integrity": "sha512-fpphKd/OKnoXdSMkKVkL2UHxjDjqlREHAmHX0Wp/qnYxlwiEzIP7Ai72m7TZpy4PfN9K+uGlUredIEBH6zXCAQ==", "dependencies": { "command-line-args": "^5.0.2", "command-line-usage": "^5.0.5", diff --git a/package.json b/package.json index f05420a..2c9d116 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,6 @@ "url": "https://github.com/exercism/pyret" }, "dependencies": { - "pyret-npm": "^0.0.25" + "pyret-npm": "^0.0.27" } } From 97e6a653c81cde43232e769fc632b62f6509842c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 07:05:19 -0700 Subject: [PATCH 097/244] Revert hello world alias (#118) --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 46fde97..9336020 100644 --- a/config.json +++ b/config.json @@ -152,7 +152,7 @@ }, { "slug": "hello-world", - "name": "Ahoy World", + "name": "Hello World", "uuid": "21cb7132-eb7a-41cc-b100-4655288c3c98", "practices": [], "prerequisites": [], From a0088e6ea6b18c20061b51a23fb0bbee1fa74d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 07:06:55 -0700 Subject: [PATCH 098/244] Add high scores (#79) --- config.json | 8 ++ .../high-scores/.docs/instructions-append.md | 8 ++ .../high-scores/.docs/instructions.md | 6 ++ .../practice/high-scores/.meta/config.json | 18 ++++ .../practice/high-scores/.meta/example.arr | 38 +++++++ .../practice/high-scores/.meta/tests.toml | 54 ++++++++++ .../practice/high-scores/high-scores-test.arr | 100 ++++++++++++++++++ .../practice/high-scores/high-scores.arr | 7 ++ 8 files changed, 239 insertions(+) create mode 100644 exercises/practice/high-scores/.docs/instructions-append.md create mode 100644 exercises/practice/high-scores/.docs/instructions.md create mode 100644 exercises/practice/high-scores/.meta/config.json create mode 100644 exercises/practice/high-scores/.meta/example.arr create mode 100644 exercises/practice/high-scores/.meta/tests.toml create mode 100644 exercises/practice/high-scores/high-scores-test.arr create mode 100644 exercises/practice/high-scores/high-scores.arr diff --git a/config.json b/config.json index 9336020..9f5c22c 100644 --- a/config.json +++ b/config.json @@ -158,6 +158,14 @@ "prerequisites": [], "difficulty": 1 }, + { + "slug": "high-scores", + "name": "High Scores", + "uuid": "8a71dfd1-01a6-485a-87b2-dcee0dd7b965", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "isogram", "name": "Isogram", diff --git a/exercises/practice/high-scores/.docs/instructions-append.md b/exercises/practice/high-scores/.docs/instructions-append.md new file mode 100644 index 0000000..3dece38 --- /dev/null +++ b/exercises/practice/high-scores/.docs/instructions-append.md @@ -0,0 +1,8 @@ +# Instructions append + +Many of our lower-level Pyret exercises are solveable with only [function application expressions] in the form of `foo(1)` . This exercise however expects that [dot expressions] can be used to access data and method fields on what your function returns. This can be done with [object expressions], allowing you to access the fields of an object literal. [Data declarations] are a similar but more advanced approach that utilizes data and method fields as well. + +[function application expressions]: https://pyret.org/docs/latest/Expressions.html#%28part._s~3aapp-expr%29 +[dot expressions]: https://pyret.org/docs/latest/Expressions.html#%28part._s~3adot-expr%29 +[object expressions]: https://pyret.org/docs/latest/Expressions.html#%28elem._%28bnf-prod._%28.Pyret._obj-expr%29%29%29 +[data declarations]: https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29 diff --git a/exercises/practice/high-scores/.docs/instructions.md b/exercises/practice/high-scores/.docs/instructions.md new file mode 100644 index 0000000..5580248 --- /dev/null +++ b/exercises/practice/high-scores/.docs/instructions.md @@ -0,0 +1,6 @@ +# Instructions + +Manage a game player's High Score list. + +Your task is to build a high-score component of the classic Frogger game, one of the highest selling and most addictive games of all time, and a classic of the arcade era. +Your task is to write methods that return the highest score from the list, the last added score and the three highest scores. diff --git a/exercises/practice/high-scores/.meta/config.json b/exercises/practice/high-scores/.meta/config.json new file mode 100644 index 0000000..006a2a9 --- /dev/null +++ b/exercises/practice/high-scores/.meta/config.json @@ -0,0 +1,18 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "high-scores.arr" + ], + "test": [ + "high-scores-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Manage a player's High Score list.", + "source": "Tribute to the eighties' arcade game Frogger" +} diff --git a/exercises/practice/high-scores/.meta/example.arr b/exercises/practice/high-scores/.meta/example.arr new file mode 100644 index 0000000..f8aac00 --- /dev/null +++ b/exercises/practice/high-scores/.meta/example.arr @@ -0,0 +1,38 @@ +provide: high-scores end + +import lists as L + +fun high-scores(scores :: List) -> Object: + { + method latest(self) -> NumInteger: + self.scores.last() + end, + method personal-best(self) -> NumInteger: + cases(List) self.scores: + | empty() => 0 + | link(f, _) => + self.scores.drop(1).foldl( + lam(elt, acc): + if elt > acc: + elt + else: + acc + end + end, + f) + end + end, + method personal-top-three(self) -> List: + len = self.scores.length() + n = + if len < 3: + len + else: + 3 + end + + L.sort(self.scores).reverse().take(n) + end, + scores: scores + } +end \ No newline at end of file diff --git a/exercises/practice/high-scores/.meta/tests.toml b/exercises/practice/high-scores/.meta/tests.toml new file mode 100644 index 0000000..55fc332 --- /dev/null +++ b/exercises/practice/high-scores/.meta/tests.toml @@ -0,0 +1,54 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[1035eb93-2208-4c22-bab8-fef06769a73c] +description = "List of scores" + +[6aa5dbf5-78fa-4375-b22c-ffaa989732d2] +description = "Latest score" + +[b661a2e1-aebf-4f50-9139-0fb817dd12c6] +description = "Personal best" + +[3d996a97-c81c-4642-9afc-80b80dc14015] +description = "Top 3 scores -> Personal top three from a list of scores" + +[1084ecb5-3eb4-46fe-a816-e40331a4e83a] +description = "Top 3 scores -> Personal top highest to lowest" + +[e6465b6b-5a11-4936-bfe3-35241c4f4f16] +description = "Top 3 scores -> Personal top when there is a tie" + +[f73b02af-c8fd-41c9-91b9-c86eaa86bce2] +description = "Top 3 scores -> Personal top when there are less than 3" + +[16608eae-f60f-4a88-800e-aabce5df2865] +description = "Top 3 scores -> Personal top when there is only one" + +[2df075f9-fec9-4756-8f40-98c52a11504f] +description = "Top 3 scores -> Latest score after personal top scores" +include = false +comment = "Skip immutability test case" + +[809c4058-7eb1-4206-b01e-79238b9b71bc] +description = "Top 3 scores -> Scores after personal top scores" +include = false +comment = "Skip immutability test case" + +[ddb0efc0-9a86-4f82-bc30-21ae0bdc6418] +description = "Top 3 scores -> Latest score after personal best" +include = false +comment = "Skip immutability test case" + +[6a0fd2d1-4cc4-46b9-a5bb-2fb667ca2364] +description = "Top 3 scores -> Scores after personal best" +include = false +comment = "Skip immutability test case" \ No newline at end of file diff --git a/exercises/practice/high-scores/high-scores-test.arr b/exercises/practice/high-scores/high-scores-test.arr new file mode 100644 index 0000000..977bdbb --- /dev/null +++ b/exercises/practice/high-scores/high-scores-test.arr @@ -0,0 +1,100 @@ +use context essentials2020 + +include file("high-scores.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun list-of-scores(): + check "List of scores": + scores = [list: 30, 50, 20, 70] + expected = [list: 30, 50, 20, 70] + + high-scores(scores).scores is expected + end +end + +fun latest-score(): + check "Latest score": + scores = [list: 100, 0, 90, 30] + expected = 30 + + high-scores(scores).latest() is expected + end +end + +fun personal-best(): + check "Personal best": + scores = [list: 40, 100, 70] + expected = 100 + + high-scores(scores).personal-best() is expected + end +end + +fun top-three(): + check "Top 3 scores -> Personal top three from a list of scores": + scores = [list: 10, 30, 90, 30, 100, 20, 10, 0, 30, 40, 40, 70, 70] + expected = [list: 100, 90, 70] + + high-scores(scores).personal-top-three() is expected + end +end + +fun top-three-is-sorted(): + check "Top 3 scores -> Personal top highest to lowest": + scores = [list: 20, 10, 30] + expected = [list: 30, 20, 10] + + high-scores(scores).personal-top-three() is expected + end +end + +fun top-three-with-tie(): + check "Top 3 scores -> Personal top when there is a tie": + scores = [list: 40, 20, 40, 30] + expected = [list: 40, 40, 30] + + high-scores(scores).personal-top-three() is expected + end +end + +fun top-three-when-less-than-three(): + check "Top 3 scores -> Personal top when there are less than 3": + scores = [list: 30, 70] + expected = [list: 70, 30] + + high-scores(scores).personal-top-three() is expected + end +end + +fun top-three-when-only-one(): + check "Top 3 scores -> Personal top when there is only one": + scores = [list: 40] + expected = [list: 40] + + high-scores(scores).personal-top-three() is expected + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(list-of-scores, true), + test(latest-score, false), + test(personal-best, false), + test(top-three, false), + test(top-three-is-sorted, false), + test(top-three-with-tie, false), + test(top-three-when-less-than-three, false), + test(top-three-when-only-one, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/high-scores/high-scores.arr b/exercises/practice/high-scores/high-scores.arr new file mode 100644 index 0000000..2d25ae2 --- /dev/null +++ b/exercises/practice/high-scores/high-scores.arr @@ -0,0 +1,7 @@ +use context essentials2020 + +provide: high-scores end + +fun high-scores(scores): + raise("Please implement the high-scores function") +end \ No newline at end of file From ef2c7a64f2df94f44bb8f6c47e1327b3c34816e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 13:59:59 -0700 Subject: [PATCH 099/244] Bump pyret version (#119) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d104234..519032e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Exercism exercises in Pyret. ## Setup -If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.26+). Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). However, you can also use [Pyret's online IDE](https://code.pyret.org/). In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. +If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.27+). Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). However, you can also use [Pyret's online IDE](https://code.pyret.org/). In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. ## Support From 3afd15e05e91b06a50e727edb28d9fccbb89eedd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 14:09:18 -0700 Subject: [PATCH 100/244] Add pending test support to hamming (#120) --- exercises/practice/hamming/hamming-test.arr | 80 ++++++++++++++++----- 1 file changed, 62 insertions(+), 18 deletions(-) diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr index 1adad7f..93452e4 100644 --- a/exercises/practice/hamming/hamming-test.arr +++ b/exercises/practice/hamming/hamming-test.arr @@ -2,38 +2,82 @@ use context essentials2020 include file("hamming.arr") -check "empty strands": - distance("", "") is 0 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-strands(): + check "empty strands": + distance("", "") is 0 + end end -check "single letter identical strands": - distance("A", "A") is 0 +fun single-letter-identical-strands(): + check "single letter identical strands": + distance("A", "A") is 0 + end end -check "single letter different strands": - distance("G", "T") is 1 +fun single-letter-different-strands(): + check "single letter different strands": + distance("G", "T") is 1 + end end -check "long identical strands": - distance("GGACTGAAATCTG", "GGACTGAAATCTG") is 0 +fun long-identical-strands(): + check "long identical strands": + distance("GGACTGAAATCTG", "GGACTGAAATCTG") is 0 + end end -check "long different strands": - distance("GGACGGATTCTG", "AGGACGGATTCT") is 9 +fun long-different-strands(): + check "long different strands": + distance("GGACGGATTCTG", "AGGACGGATTCT") is 9 + end end -check "disallow first strand longer": - distance("AATG", "AAA") raises "Strands must be of equal length." +fun disallow-first-strand-longer(): + check "disallow first strand longer": + distance("AATG", "AAA") raises "Strands must be of equal length." + end end -check "disallow second strand longer": - distance("ATA", "AGTG") raises "Strands must be of equal length." +fun disallow-second-strand-longer(): + check "disallow second strand longer": + distance("ATA", "AGTG") raises "Strands must be of equal length." + end end -check "disallow empty first strand": - distance("", "G") raises "Strands must be of equal length." +fun disallow-empty-first-strand(): + check "disallow empty first strand": + distance("", "G") raises "Strands must be of equal length." + end end -check "disallow empty second strand": - distance("G", "") raises "Strands must be of equal length." +fun disallow-empty-second-strand(): + check "disallow empty second strand": + distance("G", "") raises "Strands must be of equal length." + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-strands, true), + test(single-letter-identical-strands, false), + test(single-letter-different-strands, false), + test(long-identical-strands, false), + test(long-different-strands, false), + test(disallow-first-strand-longer, false), + test(disallow-second-strand-longer, false), + test(disallow-empty-first-strand, false), + test(disallow-empty-second-strand, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 0df8d03148a801afa4340816fe54c73a0d591dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:51:35 -0700 Subject: [PATCH 101/244] Pending test for hello-world (#121) --- .../practice/hello-world/hello-world-test.arr | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/exercises/practice/hello-world/hello-world-test.arr b/exercises/practice/hello-world/hello-world-test.arr index 7e23687..46d955f 100644 --- a/exercises/practice/hello-world/hello-world-test.arr +++ b/exercises/practice/hello-world/hello-world-test.arr @@ -2,6 +2,26 @@ use context essentials2020 include file("hello-world.arr") -check "Say Hi!": - hello() is "Hello, World!" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun say-hi(): + check "Say Hi!": + hello() is "Hello, World!" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(say-hi, true) +].each(lam(t): when t.active: t.run() end end) From 0233d93544e7d60ec29464da3aaf848aecd83f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 23:05:04 -0700 Subject: [PATCH 102/244] Add pending test support to isogram (#122) --- exercises/practice/isogram/isogram-test.arr | 110 +++++++++++++++----- 1 file changed, 82 insertions(+), 28 deletions(-) diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index c5abfe2..130a190 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -2,58 +2,112 @@ use context essentials2020 include file("isogram.arr") -check "empty string": - is-isogram("") is true + +fun empty-string(): + check "empty string": + is-isogram("") is true + end end -check "isogram with only lower case characters": - is-isogram("isogram") is true +fun only-lowercase(): + check "isogram with only lower case characters": + is-isogram("isogram") is true + end end -check "word with one duplicated character": - is-isogram("eleven") is-not true +fun duplicated-character(): + check "word with one duplicated character": + is-isogram("eleven") is false + end end -check "word with one duplicated character from the end of the alphabet": - is-isogram("zzyzx") is-not true +fun duplicate-character-from-end-of-alphabet(): + check "word with one duplicated character from the end of the alphabet": + is-isogram("zzyzx") is false + end end -check "longest reported english isogram": - is-isogram("subdermatoglyphic") is true +fun longest-reported-isogram(): + check "longest reported english isogram": + is-isogram("subdermatoglyphic") is true + end end -check "word with duplicated character in mixed case": - is-isogram("Alphabet") is-not true +fun duplicate-character-mixed-case(): + check "word with duplicated character in mixed case": + is-isogram("Alphabet") is false + end end -check "word with duplicated character in mixed case, lowercase first": - is-isogram("alphAbet") is-not true +fun duplicated-character-mixed-case-lowercase-first(): + check "word with duplicated character in mixed case, lowercase first": + is-isogram("alphAbet") is false + end end -check "hypothetical isogrammic word with hyphen": - is-isogram("thumbscrew-japingly") is true +fun isogram-with-hyphen(): + check "hypothetical isogrammic word with hyphen": + is-isogram("thumbscrew-japingly") is true + end end -check "hypothetical word with duplicated character following hyphen": - is-isogram("thumbscrew-jappingly") is-not true +fun isogram-with-hyphen-and-duplicate-character(): + check "hypothetical word with duplicated character following hyphen": + is-isogram("thumbscrew-jappingly") is false + end end -check "isogram with duplicated hyphen": - is-isogram("six-year-old") is true +fun isogram-with-duplicated-hyphen(): + check "isogram with duplicated hyphen": + is-isogram("six-year-old") is true + end end -check "made-up name that is an isogram": - is-isogram("Emily Jung Schwartzkopf") is true +fun made-up-name(): + check "made-up name that is an isogram": + is-isogram("Emily Jung Schwartzkopf") is true + end end -check "duplicated character in the middle": - is-isogram("accentor") is-not true +fun duplicate-character-in-middle(): + check "duplicated character in the middle": + is-isogram("accentor") is false + end end -check "same first and last characters": - is-isogram("angola") is-not true +fun duplicate-character-on-ends(): + check "same first and last characters": + is-isogram("angola") is false + end end -check "word with duplicated character and with two hyphens": - is-isogram("up-to-date") is-not true +fun duplicate-character-and-hyphens(): + check "word with duplicated character and with two hyphens": + is-isogram("up-to-date") is false + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-string, true), + test(only-lowercase, false), + test(duplicated-character, false), + test(duplicate-character-from-end-of-alphabet, false), + test(longest-reported-isogram, false), + test(duplicate-character-mixed-case, false), + test(duplicated-character-mixed-case-lowercase-first, false), + test(isogram-with-hyphen, false), + test(isogram-with-hyphen-and-duplicate-character, false), + test(isogram-with-duplicated-hyphen, false), + test(made-up-name, false), + test(duplicate-character-in-middle, false), + test(duplicate-character-on-ends, false), + test(duplicate-character-and-hyphens, false) +].each(lam(t): when t.active: t.run() end end) From 3e48cc9979943c1a666fb0cc331ec53ce3a108ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 23:08:42 -0700 Subject: [PATCH 103/244] Add pending test support to CI (#123) --- bin/verify-exercises | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/bin/verify-exercises b/bin/verify-exercises index b877d90..66e56c2 100755 --- a/bin/verify-exercises +++ b/bin/verify-exercises @@ -32,17 +32,21 @@ SUCCESS=0 for practice_exercise_dir in ./exercises/practice/*/; do if [[ $SUCCESS -eq 0 && -d $practice_exercise_dir ]]; then exercise=$(basename "${practice_exercise_dir}") + echo "Checking $exercise exercise..." + practice_exercise_dir=${practice_exercise_dir%/} if [ -f "$practice_exercise_dir/$exercise".arr ]; then - mv "$practice_exercise_dir/$exercise".arr "$practice_exercise_dir/$exercise".arr_ + mv "$practice_exercise_dir/$exercise".arr "$practice_exercise_dir/$exercise".arr.bak mv "$practice_exercise_dir/.meta/example.arr" "$practice_exercise_dir/$exercise".arr test_file="$practice_exercise_dir/$exercise"-test.arr + + sed -i.bak 's/test(\([^)]*\), false/test(\1, true/' $test_file redirect_file="$practice_exercise_dir/$exercise".out npx pyret -q $test_file &> $redirect_file test_output=$(cat $redirect_file) rm $redirect_file - + mv "${test_file}.bak" "$test_file" test_success=$(echo "${test_output}" | grep -c -E 'Looks shipshape') if [[ $test_success -le 0 ]]; then @@ -58,8 +62,8 @@ for practice_exercise_dir in ./exercises/practice/*/; do exercise=$(basename "${practice_exercise_dir}") if [ -f "$practice_exercise_dir/$exercise".arr ]; then mv "$practice_exercise_dir/$exercise".arr "$practice_exercise_dir"/.meta/example.arr - if [ -f "$practice_exercise_dir/$exercise".arr_ ]; then - mv "$practice_exercise_dir/$exercise".arr_ "$practice_exercise_dir/$exercise".arr + if [ -f "$practice_exercise_dir/$exercise".arr.bak ]; then + mv "$practice_exercise_dir/$exercise".arr.bak "$practice_exercise_dir/$exercise".arr fi fi fi From 3fe6b7dd06508b8fcf1799561cc6f3c3331574ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 23:17:07 -0700 Subject: [PATCH 104/244] Missing test documentation for isogram (#124) --- exercises/practice/isogram/isogram-test.arr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index 130a190..a7b9231 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -2,6 +2,11 @@ use context essentials2020 include file("isogram.arr") +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# fun empty-string(): check "empty string": From deaa6f25fdb8a7ea1afae25ecdfb78997f03aa72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Sep 2023 23:21:47 -0700 Subject: [PATCH 105/244] Update pending tests for leap (#125) --- exercises/practice/leap/leap-test.arr | 80 +++++++++++++++++++++------ 1 file changed, 62 insertions(+), 18 deletions(-) diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr index 0e64888..a9c8336 100644 --- a/exercises/practice/leap/leap-test.arr +++ b/exercises/practice/leap/leap-test.arr @@ -2,38 +2,82 @@ use context essentials2020 include file("leap.arr") -check "year not divisible by 4 in common year": - leap(2015) is-not true +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun not-divisible-by-4(): + check "year not divisible by 4 in common year": + leap(2015) is false + end end -check "year divisible by 2, not divisible by 4 in common year": - leap(1970) is-not true +fun divisible-by-2-not-4(): + check "year divisible by 2, not divisible by 4 in common year": + leap(1970) is false + end end -check "year divisible by 4, not divisible by 100 in leap year": - leap(1996) is true +fun divisible-by-4-not-100(): + check "year divisible by 4, not divisible by 100 in leap year": + leap(1996) is true + end end -check "year divisible by 4 and 5 is still a leap year": - leap(1960) is true +fun divisible-by-4-and-5(): + check "year divisible by 4 and 5 is still a leap year": + leap(1960) is true + end end -check "year divisible by 100, not divisible by 400 in common year": - leap(2100) is-not true +fun divisible-by-100-not-400(): + check "year divisible by 100, not divisible by 400 in common year": + leap(2100) is false + end end -check "year divisible by 100 but not by 3 is still not a leap year": - leap(1900) is-not true +fun divisible-by-100-not-3(): + check "year divisible by 100 but not by 3 is still not a leap year": + leap(1900) is false + end end -check "year divisible by 400 is leap year": - leap(2000) is true +fun divisible-by-400(): + check "year divisible by 400 is leap year": + leap(2000) is true + end end -check "year divisible by 400 but not by 125 is still a leap year": - leap(2400) is true +fun divisible-by-400-not-125(): + check "year divisible by 400 but not by 125 is still a leap year": + leap(2400) is true + end end -check "year divisible by 200, not divisible by 400 in common year": - leap(1800) is-not true +fun divisible-by-200-not-400(): + check "year divisible by 200, not divisible by 400 in common year": + leap(1800) is false + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(not-divisible-by-4, true), + test(divisible-by-2-not-4, false), + test(divisible-by-4-not-100, false), + test(divisible-by-4-and-5, false), + test(divisible-by-100-not-400, false), + test(divisible-by-100-not-3, false), + test(divisible-by-400, false), + test(divisible-by-400-not-125, false), + test(divisible-by-200-not-400, false) +].each(lam(t): when t.active: t.run() end end) From 9f9004c77887eb5f5ce1ecbdb019dd0804a267e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 22:45:34 -0700 Subject: [PATCH 106/244] Add pending tests to list-ops (#126) --- exercises/practice/list-ops/.meta/example.arr | 1 + exercises/practice/list-ops/list-ops-test.arr | 343 +++++++++++------- 2 files changed, 214 insertions(+), 130 deletions(-) diff --git a/exercises/practice/list-ops/.meta/example.arr b/exercises/practice/list-ops/.meta/example.arr index 09db7f0..f74bb58 100644 --- a/exercises/practice/list-ops/.meta/example.arr +++ b/exercises/practice/list-ops/.meta/example.arr @@ -10,6 +10,7 @@ provide: my-foldr, my-reverse end + fun my-append(lst1, lst2): cases(List) lst1: | empty => lst2 diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index 0015b94..b61a8de 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -2,192 +2,275 @@ use context essentials2020 include file("list-ops.arr") -check "append entries to a list and return the new list -> empty lists": - list1 = [list: ] - list2 = [list: ] - expected = [list: ] - - my-append(list1, list2) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun append-empty-to-empty(): + check "append entries to a list and return the new list -> empty lists": + list1 = [list: ] + list2 = [list: ] + expected = [list: ] + + my-append(list1, list2) is expected + end end -check "append entries to a list and return the new list -> list to empty list": - list1 = [list: ] - list2 = [list: 1, 2, 3, 4] - expected = [list: 1, 2, 3, 4] +fun append-list-to-empty(): + check "append entries to a list and return the new list -> list to empty list": + list1 = [list: ] + list2 = [list: 1, 2, 3, 4] + expected = [list: 1, 2, 3, 4] - my-append(list1, list2) is expected + my-append(list1, list2) is expected + end end -check "append entries to a list and return the new list -> empty list to list": - list1 = [list: 1, 2, 3, 4] - list2 = [list: ] - expected = [list: 1, 2, 3, 4] +fun append-empty-to-list(): + check "append entries to a list and return the new list -> empty list to list": + list1 = [list: 1, 2, 3, 4] + list2 = [list: ] + expected = [list: 1, 2, 3, 4] - my-append(list1, list2) is expected + my-append(list1, list2) is expected + end end -check "append entries to a list and return the new list -> non-empty lists": - list1 = [list: 1, 2] - list2 = [list: 3, 4, 5] - expected = [list: 1, 2, 3, 4, 5] +fun append-list-to-list(): + check "append entries to a list and return the new list -> non-empty lists": + list1 = [list: 1, 2] + list2 = [list: 3, 4, 5] + expected = [list: 1, 2, 3, 4, 5] - my-append(list1, list2) is expected + my-append(list1, list2) is expected + end end -check "concatenate a list of lists -> empty list": - input = [list: ] - expected = [list: ] +fun concatenate-empties(): + check "concatenate a list of lists -> empty list": + input = [list: ] + expected = [list: ] - my-concatenate(input) is expected + my-concatenate(input) is expected + end end -check "concatenate a list of lists -> list of lists": - input = [list: [list: 1, 2], [list: 3], [list: ], [list: 4, 5, 6]] - expected = [list: 1, 2, 3, 4, 5, 6] +fun concatenate-lists(): + check "concatenate a list of lists -> list of lists": + input = [list: [list: 1, 2], [list: 3], [list: ], [list: 4, 5, 6]] + expected = [list: 1, 2, 3, 4, 5, 6] - my-concatenate(input) is expected + my-concatenate(input) is expected + end end -check "concatenate a list of lists -> list of nested lists": - input = [list: - [list: [list: 1], [list: 2]], - [list: [list: 3]], - [list: [list: ]], - [list: [list: 4, 5, 6]]] - expected = [list: - [list: 1], - [list: 2], - [list: 3], - [list:], - [list: 4, 5, 6]] - - my-concatenate(input) is expected +fun concatenate-nested-lists(): + check "concatenate a list of lists -> list of nested lists": + input = [list: + [list: [list: 1], [list: 2]], + [list: [list: 3]], + [list: [list: ]], + [list: [list: 4, 5, 6]]] + expected = [list: + [list: 1], + [list: 2], + [list: 3], + [list:], + [list: 4, 5, 6]] + + my-concatenate(input) is expected + end end -check "filter list returning only values that satisfy the filter function -> empty list": - input = [list: ] - f = lam(x): num-modulo(x, 2) == 1 end - expected = [list: ] +fun filter-empty(): + check "filter list returning only values that satisfy the filter function -> empty list": + input = [list: ] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: ] - my-filter(input, f) is expected + my-filter(input, f) is expected + end end -check "filter list returning only values that satisfy the filter function -> non-empty list": - input = [list: 1, 2, 3, 5] - f = lam(x): num-modulo(x, 2) == 1 end - expected = [list: 1, 3, 5] +fun filter-list(): + check "filter list returning only values that satisfy the filter function -> non-empty list": + input = [list: 1, 2, 3, 5] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: 1, 3, 5] - my-filter(input, f) is expected + my-filter(input, f) is expected + end end -check "returns the length of a list -> empty list": - input = [list: ] - expected = 0 +fun length-empty(): + check "returns the length of a list -> empty list": + input = [list: ] + expected = 0 - my-length(input) is expected + my-length(input) is expected + end end -check "returns the length of a list -> non-empty list": - input = [list: 1, 2, 3, 4] - expected = 4 - my-length(input) is expected +fun length-list(): + check "returns the length of a list -> non-empty list": + input = [list: 1, 2, 3, 4] + expected = 4 + my-length(input) is expected + end end -check "return a list of elements whose values equal the list value transformed by the mapping function -> empty list": - input = [list: ] - f = lam(x): x + 1 end - expected = [list: ] +fun map-empty(): + check "return a list of elements whose values equal the list value transformed by the mapping function -> empty list": + input = [list: ] + f = lam(x): x + 1 end + expected = [list: ] - my-map(input, f) is expected + my-map(input, f) is expected + end end -check "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list": - input = [list: 1, 3, 5, 7] - f = lam(x): x + 1 end - expected = [list: 2, 4, 6, 8] +fun map-list(): + check "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list": + input = [list: 1, 3, 5, 7] + f = lam(x): x + 1 end + expected = [list: 2, 4, 6, 8] - my-map(input, f) is expected + my-map(input, f) is expected + end end -check "folds (reduces) the given list from the left with a function -> empty list": - input = [list: ] - f = lam(elt, acc): elt * acc end - initial = 2 - expected = 2 +fun foldl-empty(): + check "folds (reduces) the given list from the left with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 - my-foldl(input, f, initial) is expected + my-foldl(input, f, initial) is expected + end end -check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt + acc end - initial = 5 - expected = 15 +fun foldl-direction-independet(): + check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 - my-foldl(input, f, initial) is expected + my-foldl(input, f, initial) is expected + end end -check "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): acc / elt end - initial = 24 - expected = 64 +fun foldl-direction-dependent(): + check "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): acc / elt end + initial = 24 + expected = 64 - my-foldl(input, f, initial) is expected + my-foldl(input, f, initial) is expected + end end -check "folds (reduces) the given list from the right with a function -> empty list": - input = [list: ] - f = lam(elt, acc): elt * acc end - initial = 2 - expected = 2 +fun foldr-empty(): + check "folds (reduces) the given list from the right with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 - my-foldr(input, f, initial) is expected + my-foldr(input, f, initial) is expected + end end -check "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt + acc end - initial = 5 - expected = 15 +fun foldr-direction-independent(): + check "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 - my-foldr(input, f, initial) is expected + my-foldr(input, f, initial) is expected + end end -check "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt / acc end - initial = 24 - expected = 9 +fun foldr-direction-dependent(): + check "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt / acc end + initial = 24 + expected = 9 - my-foldr(input, f, initial) is expected + my-foldr(input, f, initial) is expected + end end -check "reverse the elements of the list -> empty list": - input = [list: ] - expected = [list: ] - - my-reverse(input) is expected +fun revverse-empty(): + check "reverse the elements of the list -> empty list": + input = [list: ] + expected = [list: ] + + my-reverse(input) is expected + end end -check "reverse the elements of the list -> non-empty list": - input = [list: 1, 3, 5, 7] - expected = [list: 7, 5, 3, 1] - - my-reverse(input) is expected +fun reverse-list(): + check "reverse the elements of the list -> non-empty list": + input = [list: 1, 3, 5, 7] + expected = [list: 7, 5, 3, 1] + + my-reverse(input) is expected + end end -check "reverse the elements of the list -> list of lists is not flattened": - input = [list: - [list: 1, 2], - [list: 3], - [list: ], - [list: 4, 5, 6]] - expected = [list: - [list: 4, 5, 6], - [list: ], - [list: 3], - [list: 1, 2]] +fun reverse-nested(): + check "reverse the elements of the list -> list of lists is not flattened": + input = [list: + [list: 1, 2], + [list: 3], + [list: ], + [list: 4, 5, 6]] + expected = [list: + [list: 4, 5, 6], + [list: ], + [list: 3], + [list: 1, 2]] + + my-reverse(input) is expected + end +end - my-reverse(input) is expected -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(append-empty-to-empty, true), + test(append-list-to-empty, false), + test(append-empty-to-list, false), + test(append-list-to-list, false), + test(concatenate-empties, false), + test(concatenate-lists, false), + test(concatenate-nested-lists, false), + test(filter-empty, false), + test(filter-list, false), + test(length-empty, false), + test(length-list, false), + test(map-empty, false), + test(map-list, false), + test(foldl-empty, false), + test(foldl-direction-independet, false), + test(foldl-direction-dependent, false), + test(foldr-empty, false), + test(foldr-direction-independent, false), + test(foldr-direction-dependent, false), + test(revverse-empty, false), + test(reverse-list, false), + test(reverse-nested, false) +].each(lam(t): when t.active: t.run() end end) From 561e34b8ef83fa0c61053626e6433d96476fab2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 22:55:00 -0700 Subject: [PATCH 107/244] Add pending tests to luhn (#127) --- exercises/practice/luhn/luhn-test.arr | 171 +++++++++++++++++++------- 1 file changed, 127 insertions(+), 44 deletions(-) diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr index 32cfe3b..ed52642 100644 --- a/exercises/practice/luhn/luhn-test.arr +++ b/exercises/practice/luhn/luhn-test.arr @@ -2,90 +2,173 @@ use context essentials2020 include file("luhn.arr") -check "single digit strings can not be valid": - is-valid("1") is-not true +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun invalid-single-digit(): + check "single digit strings can not be valid": + is-valid("1") is false + end end -check "a single zero is invalid": - is-valid("0") is-not true +fun invalid-single-zero(): + check "a single zero is invalid": + is-valid("0") is false + end end -check "a simple valid SIN that remains valid if reversed": - is-valid("059") is true +fun valid-even-if-reversed(): + check "a simple valid SIN that remains valid if reversed": + is-valid("059") is true + end end -check "a simple valid SIN that becomes invalid if reversed": - is-valid("59") is true +fun valid-but-not-reversed(): + check "a simple valid SIN that becomes invalid if reversed": + is-valid("59") is true + end end -check "a valid Canadian SIN": - is-valid("055 444 285") is true +fun valid-canadian(): + check "a valid Canadian SIN": + is-valid("055 444 285") is true + end end -check "invalid Canadian SIN": - is-valid("055 444 286") is-not true +fun invalid-canadian(): + check "invalid Canadian SIN": + is-valid("055 444 286") is false + end end -check "invalid credit card": - is-valid("8273 1232 7352 0569") is-not true +fun invalid-credit-card(): + check "invalid credit card": + is-valid("8273 1232 7352 0569") is false + end end -check "invalid long number with an even remainder": - is-valid("1 2345 6789 1234 5678 9012") is-not true +fun invalid-long-number-even-remainder(): + check "invalid long number with an even remainder": + is-valid("1 2345 6789 1234 5678 9012") is false + end end -check "invalid long number with a remainder divisible by 5": - is-valid("1 2345 6789 1234 5678 9013") is-not true +fun invalid-long-number-remainder-div-by-five(): + check "invalid long number with a remainder divisible by 5": + is-valid("1 2345 6789 1234 5678 9013") is false + end end -check "valid number with an even number of digits": - is-valid("095 245 88") is true +fun valid-number-with-even-number-of-digits(): + check "valid number with an even number of digits": + is-valid("095 245 88") is true + end end -check "valid number with an odd number of spaces": - is-valid("234 567 891 234") is true +fun valid-number-with-odd-nummber-of-spaces(): + check "valid number with an odd number of spaces": + is-valid("234 567 891 234") is true + end end -check "valid strings with a non-digit added at the end become invalid": - is-valid("059a") is-not true +fun invalid-number-after-non-digit-added(): + check "valid strings with a non-digit added at the end become invalid": + is-valid("059a") is false + end end -check "valid strings with punctuation included become invalid": - is-valid("055-444-285") is-not true +fun invalid-number-after-punctuation-added(): + check "valid strings with punctuation included become invalid": + is-valid("055-444-285") is false + end end -check "valid strings with symbols included become invalid": - is-valid("055# 444$ 285") is-not true +fun invalid-number-after-symbols-added(): + check "valid strings with symbols included become invalid": + is-valid("055# 444$ 285") is false + end end -check "single zero with space is invalid": - is-valid(" 0") is-not true +fun invalid-space-and-zero(): + check "single zero with space is invalid": + is-valid(" 0") is false + end end -check "more than a single zero is valid": - is-valid("0000 0") is true +fun valid-multiple-zeroes(): + check "more than a single zero is valid": + is-valid("0000 0") is true + end end -check "input digit 9 is correctly converted to output digit 9": - is-valid("091") is true +fun valid-input-digit-nine(): + check "input digit 9 is correctly converted to output digit 9": + is-valid("091") is true + end end -check "very long input is valid": - is-valid("9999999999 9999999999 9999999999 9999999999") is true +fun valid-very-long-input(): + check "very long input is valid": + is-valid("9999999999 9999999999 9999999999 9999999999") is true + end end -check "valid luhn with an odd number of digits and non zero first digit": - is-valid("109") is true +fun valid-with-odd-number-of-digits-and-non-zero-first-digit(): + check "valid luhn with an odd number of digits and non zero first digit": + is-valid("109") is true + end end -check "using ascii value for non-doubled non-digit isn't allowed": - is-valid("055b 444 285") is-not true +fun invalid-number-with-ascii-non-double(): + check "using ascii value for non-doubled non-digit isn't allowed": + is-valid("055b 444 285") is false + end end -check "using ascii value for doubled non-digit isn't allowed": - is-valid(":9") is-not true +fun invalid-number-with-ascii-doubled(): + check "using ascii value for doubled non-digit isn't allowed": + is-valid(":9") is false + end end -check "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed": - is-valid("59%59") is-not true +fun invalid-number-with-non-space-letter(): + check "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed": + is-valid("59%59") is false + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(invalid-single-digit, true), + test(invalid-single-zero, false), + test(valid-even-if-reversed, false), + test(valid-but-not-reversed, false), + test(valid-canadian, false), + test(invalid-canadian, false), + test(invalid-credit-card, false), + test(invalid-long-number-even-remainder, false), + test(invalid-long-number-remainder-div-by-five, false), + test(valid-number-with-even-number-of-digits, false), + test(valid-number-with-odd-nummber-of-spaces, false), + test(invalid-number-after-non-digit-added, false), + test(invalid-number-after-punctuation-added, false), + test(invalid-number-after-symbols-added, false), + test(invalid-space-and-zero, false), + test(valid-multiple-zeroes, false), + test(valid-input-digit-nine, false), + test(valid-very-long-input, false), + test(valid-with-odd-number-of-digits-and-non-zero-first-digit, false), + test(invalid-number-with-ascii-non-double, false), + test(invalid-number-with-ascii-doubled, false), + test(invalid-number-with-non-space-letter, false) +].each(lam(t): when t.active: t.run() end end) From 856e60f76df0ce0c78c2c1fed751745a381c6a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:00:57 -0700 Subject: [PATCH 108/244] Add pending tests to matrix (#128) --- exercises/practice/matrix/matrix-test.arr | 92 +++++++++++++++++------ 1 file changed, 67 insertions(+), 25 deletions(-) diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr index b8a99d8..0b22560 100644 --- a/exercises/practice/matrix/matrix-test.arr +++ b/exercises/practice/matrix/matrix-test.arr @@ -2,42 +2,84 @@ use context essentials2020 include file("matrix.arr") -check "extract row from one number matrix": - m = matrix("1") - m.row(1) is [list: 1] +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun extract-row-from-one-row-matrix(): + check "extract row from one number matrix": + m = matrix("1") + m.row(1) is [list: 1] + end +end + +fun extract-row-from-two-row-matrix(): + check "can extract row": + m = matrix("1 2\n3 4") + m.row(2) is [list: 3, 4] + end end -check "can extract row": - m = matrix("1 2\n3 4") - m.row(2) is [list: 3, 4] +fun extract-row-from-variable-number-width-matrix(): + check "extract row where numbers have different widths": + m = matrix("1 2\n10 20") + m.row(2) is [list: 10, 20] + end end -check "extract row where numbers have different widths": - m = matrix("1 2\n10 20") - m.row(2) is [list: 10, 20] +fun extract-row-from-non-square-matrix(): + check "can extract row from non-square matrix with no corresponding column": + m = matrix("1 2 3\n4 5 6\n7 8 9\n8 7 6") + m.row(4) is [list: 8, 7, 6] + end end -check "can extract row from non-square matrix with no corresponding column": - m = matrix("1 2 3\n4 5 6\n7 8 9\n8 7 6") - m.row(4) is [list: 8, 7, 6] + +fun extract-column-from-one-column-matrix(): + check "extract column from one number matrix": + m = matrix("1") + m.column(1) is [list: 1] + end end -check "extract column from one number matrix": - m = matrix("1") - m.column(1) is [list: 1] +fun extract-column-from-three-column-matrix(): + check "can extract column": + m = matrix("1 2 3\n4 5 6\n7 8 9") + m.column(3) is [list: 3, 6, 9] + end end -check "can extract column": - m = matrix("1 2 3\n4 5 6\n7 8 9") - m.column(3) is [list: 3, 6, 9] +fun extract-column-from-non-square-matrix(): + check "can extract column from non-square matrix with no corresponding row": + m = matrix("1 2 3 4\n5 6 7 8\n9 8 7 6") + m.column(4) is [list: 4, 8, 6] + end end -check "can extract column from non-square matrix with no corresponding row": - m = matrix("1 2 3 4\n5 6 7 8\n9 8 7 6") - m.column(4) is [list: 4, 8, 6] +fun extract-column-from-variable-number-width-matrix(): + check "extract column where numbers have different widths": + m = matrix("89 1903 3\n18 3 1\n9 4 800") + m.column(2) is [list: 1903, 3, 4] + end end -check "extract column where numbers have different widths": - m = matrix("89 1903 3\n18 3 1\n9 4 800") - m.column(2) is [list: 1903, 3, 4] -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(extract-row-from-one-row-matrix, true), + test(extract-row-from-two-row-matrix, false), + test(extract-row-from-variable-number-width-matrix, false), + test(extract-row-from-non-square-matrix, false), + test(extract-column-from-one-column-matrix, false), + test(extract-column-from-three-column-matrix, false), + test(extract-column-from-non-square-matrix, false), + test(extract-column-from-variable-number-width-matrix, false) +].each(lam(t): when t.active: t.run() end end) From 3d52398a8cf32d276e703ffe363fbb341baa2e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:05:30 -0700 Subject: [PATCH 109/244] Add pending tests to nucleotide-count (#129) --- .../nucleotide-count-test.arr | 72 +++++++++++++------ 1 file changed, 52 insertions(+), 20 deletions(-) diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index ee28863..a835af4 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -4,36 +4,68 @@ include file("nucleotide-count.arr") include string-dict -check "empty strand": - input = "" - expected = [string-dict: "A", 0, "C", 0, "G", 0, "T", 0] +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# - nucleotide-counts(input) is expected +fun empty-strand(): + check "empty strand": + input = "" + expected = [string-dict: "A", 0, "C", 0, "G", 0, "T", 0] + + nucleotide-counts(input) is expected + end end -check "can count one nucleotide in single-character input": - input = "G" - expected = [string-dict: "A", 0, "C", 0, "G", 1, "T", 0] +fun single-nucleotide-strand(): + check "can count one nucleotide in single-character input": + input = "G" + expected = [string-dict: "A", 0, "C", 0, "G", 1, "T", 0] - nucleotide-counts(input) is expected + nucleotide-counts(input) is expected + end end -check "strand with repeated nucleotide": - input = "GGGGGGG" - expected = [string-dict: "A", 0, "C", 0, "G", 7, "T", 0] +fun repeated-nucleotide-strand(): + check "strand with repeated nucleotide": + input = "GGGGGGG" + expected = [string-dict: "A", 0, "C", 0, "G", 7, "T", 0] - nucleotide-counts(input) is expected + nucleotide-counts(input) is expected + end end -check "strand with multiple nucleotides": - input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" - expected = [string-dict: "A", 20, "C", 12, "G", 17, "T", 21] +fun multiple-nucleotide-strand(): + check "strand with multiple nucleotides": + input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" + expected = [string-dict: "A", 20, "C", 12, "G", 17, "T", 21] - nucleotide-counts(input) is expected + nucleotide-counts(input) is expected + end end -check "strand with invalid nucleotides": - input = "AGXXACT" +fun invalid-nucleotide-strand(): + check "strand with invalid nucleotides": + input = "AGXXACT" + + nucleotide-counts(input) raises "Invalid nucleotide in strand" + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end - nucleotide-counts(input) raises "Invalid nucleotide in strand" -end \ No newline at end of file +[list: + test(empty-strand, true), + test(single-nucleotide-strand, false), + test(repeated-nucleotide-strand, false), + test(multiple-nucleotide-strand, false), + test(invalid-nucleotide-strand, false) +].each(lam(t): when t.active: t.run() end end) From d6c199e0769c6c596250b6d0831b908faca21734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:19:04 -0700 Subject: [PATCH 110/244] Add pending test support to pangram (#130) --- exercises/practice/pangram/pangram-test.arr | 107 ++++++++++++++------ 1 file changed, 77 insertions(+), 30 deletions(-) diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr index 88a71a5..8933159 100644 --- a/exercises/practice/pangram/pangram-test.arr +++ b/exercises/practice/pangram/pangram-test.arr @@ -2,52 +2,99 @@ use context essentials2020 include file("pangram.arr") -check "empty sentence": - input = "" - is-pangram(input) is-not true +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-sentence(): + check "empty sentence": + input = "" + is-pangram(input) is false + end end -check "perfect lower case": - input = "abcdefghijklmnopqrstuvwxyz" - is-pangram(input) is true +fun perfect-lower-case(): + check "perfect lower case": + input = "abcdefghijklmnopqrstuvwxyz" + is-pangram(input) is true + end end -check "only lower case": - input = "the quick brown fox jumps over the lazy dog" - is-pangram(input) is true +fun only-lower-case(): + check "only lower case": + input = "the quick brown fox jumps over the lazy dog" + is-pangram(input) is true + end end -check "missing the letter 'x'": - input = "a quick movement of the enemy will jeopardize five gunboats" - is-pangram(input) is-not true +fun missing-letter-x(): + check "missing the letter 'x'": + input = "a quick movement of the enemy will jeopardize five gunboats" + is-pangram(input) is false + end end -check "missing the letter 'h'": - input = "five boxing wizards jump quickly at it" - is-pangram(input) is-not true +fun missing-letter-h(): + check "missing the letter 'h'": + input = "five boxing wizards jump quickly at it" + is-pangram(input) is false + end end -check "with underscores": - input = "the_quick_brown_fox_jumps_over_the_lazy_dog" - is-pangram(input) is true +fun with-underscores(): + check "with underscores": + input = "the_quick_brown_fox_jumps_over_the_lazy_dog" + is-pangram(input) is true + end end -check "with numbers": - input = "the 1 quick brown fox jumps over the 2 lazy dogs" - is-pangram(input) is true +fun with-numbers(): + check "with numbers": + input = "the 1 quick brown fox jumps over the 2 lazy dogs" + is-pangram(input) is true + end end -check "missing letters replaced by numbers": - input = "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog" - is-pangram(input) is false +fun missing-letters-replaced-by-numbers(): + check "missing letters replaced by numbers": + input = "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog" + is-pangram(input) is false + end end -check "mixed case and punctuation": - input = "\"Five quacking Zephyrs jolt my wax bed.\"" - is-pangram(input) is true +fun mixed-case-and-punctuation(): + check "mixed case and punctuation": + input = "\"Five quacking Zephyrs jolt my wax bed.\"" + is-pangram(input) is true + end end -check "a-m and A-M are 26 different characters but not a pangram": - input = "abcdefghijklm ABCDEFGHIJKLM" - is-pangram(input) is-not true +fun length-of-alphabet-but-not-pangram(): + check "a-m and A-M are 26 different characters but not a pangram": + input = "abcdefghijklm ABCDEFGHIJKLM" + is-pangram(input) is false + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-sentence, true), + test(perfect-lower-case, false), + test(only-lower-case, false), + test(missing-letter-x, false), + test(missing-letter-h, false), + test(with-underscores, false), + test(with-numbers, false), + test(missing-letters-replaced-by-numbers, false), + test(mixed-case-and-punctuation, false), + test(length-of-alphabet-but-not-pangram, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 4b8c3f655fc65e3119ca95d115495c660a3900c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:27:25 -0700 Subject: [PATCH 111/244] Add pending test support to perfect-numbers (#131) --- .../perfect-numbers/perfect-numbers-test.arr | 104 ++++++++++++++---- 1 file changed, 80 insertions(+), 24 deletions(-) diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 7454f2d..3c28377 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -2,54 +2,110 @@ use context essentials2020 include file("perfect-numbers.arr") -check "Perfect numbers -> Smallest perfect number is classified correctly": - classify(6) is "perfect" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun smallest-perfect(): + check "Perfect numbers -> Smallest perfect number is classified correctly": + classify(6) is "perfect" + end end -check "Perfect numbers -> Medium perfect number is classified correctly": - classify(28) is "perfect" +fun medium-perfect-number(): + check "Perfect numbers -> Medium perfect number is classified correctly": + classify(28) is "perfect" + end end -check "Perfect numbers -> Large perfect number is classified correctly": - classify(33550336) is "perfect" +fun large-perfect-number(): + check "Perfect numbers -> Large perfect number is classified correctly": + classify(33550336) is "perfect" + end end -check "Abundant numbers -> Smallest abundant number is classified correctly": - classify(12) is "abundant" +fun smallest-abundant(): + check "Abundant numbers -> Smallest abundant number is classified correctly": + classify(12) is "abundant" + end end -check "Abundant numbers -> Medium abundant number is classified correctly": - classify(30) is "abundant" +fun medium-abundant(): + check "Abundant numbers -> Medium abundant number is classified correctly": + classify(30) is "abundant" + end end -check "Abundant numbers -> Large abundant number is classified correctly": - classify(33550335) is "abundant" +fun large-abundant(): + check "Abundant numbers -> Large abundant number is classified correctly": + classify(33550335) is "abundant" + end end +fun smallest-prime-deficient(): check "Deficient numbers -> Smallest prime deficient number is classified correctly": classify(2) is "deficient" end +end -check "Deficient numbers -> Smallest non-prime deficient number is classified correctly": - classify(4) is "deficient" +fun smallest-non-prime-deficient(): + check "Deficient numbers -> Smallest non-prime deficient number is classified correctly": + classify(4) is "deficient" + end end -check "Deficient numbers -> Medium deficient number is classified correctly": - classify(32) is "deficient" +fun medium-deficient(): + check "Deficient numbers -> Medium deficient number is classified correctly": + classify(32) is "deficient" + end end -check "Deficient numbers -> Large deficient number is classified correctly": - classify(33550337) is "deficient" +fun large-deficient(): + check "Deficient numbers -> Large deficient number is classified correctly": + classify(33550337) is "deficient" + end end -check "Deficient numbers -> Edge case (no factors other than itself) is classified correctly": - classify(1) is "deficient" +fun one-is-deficient(): + check "Deficient numbers -> Edge case (no factors other than itself) is classified correctly": + classify(1) is "deficient" + end end -check "Invalid inputs -> Zero is rejected (as it is not a positive integer)": - classify(0) raises "Classification is only possible for positive integers." +fun reject-zero(): + check "Invalid inputs -> Zero is rejected (as it is not a positive integer)": + classify(0) raises "Classification is only possible for positive integers." + end end -check "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)": - classify(-1) raises "Classification is only possible for positive integers." +fun reject-negative(): + check "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)": + classify(-1) raises "Classification is only possible for positive integers." + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(smallest-perfect, true), + test(medium-perfect-number, false), + test(large-perfect-number, false), + test(smallest-abundant, false), + test(medium-abundant, false), + test(large-abundant, false), + test(smallest-prime-deficient, false), + test(smallest-non-prime-deficient, false), + test(medium-deficient, false), + test(large-deficient, false), + test(one-is-deficient, false), + test(reject-zero, false), + test(reject-negative, false) +].each(lam(t): when t.active: t.run() end end) From 34e715de4ddd6e64ff9914a54e35bea01fc5a586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:40:45 -0700 Subject: [PATCH 112/244] Add pending test support to phone-number (#132) --- .../phone-number/phone-number-test.arr | 143 +++++++++++++----- 1 file changed, 107 insertions(+), 36 deletions(-) diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr index 1d9806c..e6f86dd 100644 --- a/exercises/practice/phone-number/phone-number-test.arr +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -2,74 +2,145 @@ use context essentials2020 include file("phone-number.arr") -check "cleans the number": - clean("(223) 456-7890") is "2234567890" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun clean-number(): + check "cleans the number": + clean("(223) 456-7890") is "2234567890" + end end -check "cleans numbers with dots": - clean("223.456.7890") is "2234567890" +fun clean-number-with-dots(): + check "cleans numbers with dots": + clean("223.456.7890") is "2234567890" + end end -check "cleans numbers with multiple spaces": - clean("223 456 7890 ") is "2234567890" +fun clean-number-with-spaces(): + check "cleans numbers with multiple spaces": + clean("223 456 7890 ") is "2234567890" + end end -check "invalid when 9 digits": - clean("123456789") raises "must not be fewer than 10 digits" +fun invalid-nine-digits(): + check "invalid when 9 digits": + clean("123456789") raises "must not be fewer than 10 digits" + end end -check "invalid when 11 digits does not start with a 1": - clean("22234567890") raises "11 digits must start with 1" +fun invalid-eleven-digits-starting-with-two(): + check "invalid when 11 digits does not start with a 1": + clean("22234567890") raises "11 digits must start with 1" + end end -check "valid when 11 digits and starting with 1": - clean("12234567890") is "2234567890" +fun valid-eleven-digits-starting-with-one(): + check "valid when 11 digits and starting with 1": + clean("12234567890") is "2234567890" + end end -check "valid when 11 digits and starting with 1 even with punctuation": - clean("+1 (223) 456-7890") is "2234567890" +fun valid-eleven-digits-starting-with-one-and-punctuation(): + check "valid when 11 digits and starting with 1 even with punctuation": + clean("+1 (223) 456-7890") is "2234567890" + end end -check "invalid when more than 11 digits": - clean("321234567890") raises "must not be greater than 11 digits" +fun invalid-more-than-eleven-digits(): + check "invalid when more than 11 digits": + clean("321234567890") raises "must not be greater than 11 digits" + end end -check "invalid with letters": - clean("523-abc-7890") raises "letters not permitted" +fun invalid-with-letters(): + check "invalid with letters": + clean("523-abc-7890") raises "letters not permitted" + end end -check "invalid with punctuations": - clean("523-@:!-7890") raises "punctuations not permitted" +fun invalid-with-punctuation(): + check "invalid with punctuations": + clean("523-@:!-7890") raises "punctuations not permitted" + end end -check "invalid if area code starts with 0": - clean("(023) 456-7890") raises "area code cannot start with zero" +fun invalid-area-code-starts-with-zero(): + check "invalid if area code starts with 0": + clean("(023) 456-7890") raises "area code cannot start with zero" + end end -check "invalid if area code starts with 1": - clean("(123) 456-7890") raises "area code cannot start with one" +fun invalid-area-code-starts-with-one(): + check "invalid if area code starts with 1": + clean("(123) 456-7890") raises "area code cannot start with one" + end end -check "invalid if exchange code starts with 0": - clean("(223) 056-7890") raises "exchange code cannot start with zero" +fun invalid-exchange-code-starts-with-zero(): + check "invalid if exchange code starts with 0": + clean("(223) 056-7890") raises "exchange code cannot start with zero" + end end -check "invalid if exchange code starts with 1": - clean("(223) 156-7890") raises "exchange code cannot start with one" +fun invalid-exchange-code-starts-with-one(): + check "invalid if exchange code starts with 1": + clean("(223) 156-7890") raises "exchange code cannot start with one" + end end -check "invalid if area code starts with 0 on valid 11-digit number": - clean("1 (023) 456-7890") raises "area code cannot start with zero" +fun invalid-eleven-digits-and-area-code-starts-with-zero(): + check "invalid if area code starts with 0 on valid 11-digit number": + clean("1 (023) 456-7890") raises "area code cannot start with zero" + end end -check "invalid if area code starts with 1 on valid 11-digit number": - clean("1 (123) 456-7890") raises "area code cannot start with one" +fun invalid-eleven-digits-and-area-code-starts-with-one(): + check "invalid if area code starts with 1 on valid 11-digit number": + clean("1 (123) 456-7890") raises "area code cannot start with one" + end end -check "invalid if exchange code starts with 0 on valid 11-digit number": - clean("1 (223) 056-7890") raises "exchange code cannot start with zero" +fun invalid-eleven-digits-and-exchange-code-starts-with-zero(): + check "invalid if exchange code starts with 0 on valid 11-digit number": + clean("1 (223) 056-7890") raises "exchange code cannot start with zero" + end end -check "invalid if exchange code starts with 1 on valid 11-digit number": - clean("1 (223) 156-7890") raises "exchange code cannot start with one" +fun invalid-eleven-digits-and-exchange-code-starts-with-one(): + check "invalid if exchange code starts with 1 on valid 11-digit number": + clean("1 (223) 156-7890") raises "exchange code cannot start with one" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(clean-number, true), + test(clean-number-with-dots, false), + test(clean-number-with-spaces, false), + test(invalid-nine-digits, false), + test(invalid-eleven-digits-starting-with-two, false), + test(valid-eleven-digits-starting-with-one, false), + test(valid-eleven-digits-starting-with-one-and-punctuation, false), + test(invalid-more-than-eleven-digits, false), + test(invalid-with-letters, false), + test(invalid-with-punctuation, false), + test(invalid-area-code-starts-with-zero, false), + test(invalid-area-code-starts-with-one, false), + test(invalid-exchange-code-starts-with-zero, false), + test(invalid-exchange-code-starts-with-one, false), + test(invalid-eleven-digits-and-area-code-starts-with-zero, false), + test(invalid-eleven-digits-and-area-code-starts-with-one, false), + test(invalid-eleven-digits-and-exchange-code-starts-with-zero, false), + test(invalid-eleven-digits-and-exchange-code-starts-with-one, false) +].each(lam(t): when t.active: t.run() end end) From 6d0409ef75ed395437a04bae097afdbf9fe328b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:48:51 -0700 Subject: [PATCH 113/244] Add pending test support to protein-translation (#133) --- .../protein-translation-test.arr | 227 +++++++++++++----- 1 file changed, 167 insertions(+), 60 deletions(-) diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index 5d250cb..ceeb924 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -2,122 +2,229 @@ use context essentials2020 include file("protein-translation.arr") -check "Empty RNA sequence results in no proteins": - proteins("") is [list: ] +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun no-protein(): + check "Empty RNA sequence results in no proteins": + proteins("") is [list: ] + end end -check "Methionine RNA sequence": - proteins("AUG") is [list: "Methionine"] +fun methionine(): + check "Methionine RNA sequence": + proteins("AUG") is [list: "Methionine"] + end end -check "Phenylalanine RNA sequence 1": - proteins("UUU") is [list: "Phenylalanine"] +fun phenylalanine-one(): + check "Phenylalanine RNA sequence 1": + proteins("UUU") is [list: "Phenylalanine"] + end end -check "Phenylalanine RNA sequence 2": - proteins("UUC") is [list: "Phenylalanine"] +fun phenylalanine-two(): + check "Phenylalanine RNA sequence 2": + proteins("UUC") is [list: "Phenylalanine"] + end end -check "Leucine RNA sequence 1": - proteins("UUA") is [list: "Leucine"] +fun leucine-one(): + check "Leucine RNA sequence 1": + proteins("UUA") is [list: "Leucine"] + end end -check "Leucine RNA sequence 2": - proteins("UUG") is [list: "Leucine"] +fun leucine-two(): + check "Leucine RNA sequence 2": + proteins("UUG") is [list: "Leucine"] + end end -check "Serine RNA sequence 1": - proteins("UCU") is [list: "Serine"] +fun serine-one(): + check "Serine RNA sequence 1": + proteins("UCU") is [list: "Serine"] + end end -check "Serine RNA sequence 2": - proteins("UCC") is [list: "Serine"] +fun serine-two(): + check "Serine RNA sequence 2": + proteins("UCC") is [list: "Serine"] + end end -check "Serine RNA sequence 3": - proteins("UCA") is [list: "Serine"] +fun serine-three(): + check "Serine RNA sequence 3": + proteins("UCA") is [list: "Serine"] + end end -check "Serine RNA sequence 4": - proteins("UCG") is [list: "Serine"] +fun serine-four(): + check "Serine RNA sequence 4": + proteins("UCG") is [list: "Serine"] + end end -check "Tyrosine RNA sequence 1": - proteins("UAU") is [list: "Tyrosine"] +fun tyrosine-one(): + check "Tyrosine RNA sequence 1": + proteins("UAU") is [list: "Tyrosine"] + end end -check "Tyrosine RNA sequence 2": - proteins("UAC") is [list: "Tyrosine"] +fun tyrosine-two(): + check "Tyrosine RNA sequence 2": + proteins("UAC") is [list: "Tyrosine"] + end end -check "Cysteine RNA sequence 1": - proteins("UGU") is [list: "Cysteine"] +fun cysteine-one(): + check "Cysteine RNA sequence 1": + proteins("UGU") is [list: "Cysteine"] + end end -check "Cysteine RNA sequence 2": - proteins("UGC") is [list: "Cysteine"] +fun cysteine-two(): + check "Cysteine RNA sequence 2": + proteins("UGC") is [list: "Cysteine"] + end end -check "Tryptophan RNA sequence": - proteins("UGG") is [list: "Tryptophan"] +fun tryptophan(): + check "Tryptophan RNA sequence": + proteins("UGG") is [list: "Tryptophan"] + end end -check "STOP codon RNA sequence 1": - proteins("UAA") is [list: ] +fun stop-one(): + check "STOP codon RNA sequence 1": + proteins("UAA") is [list: ] + end end -check "STOP codon RNA sequence 2": - proteins("UAG") is [list: ] +fun stop-two(): + check "STOP codon RNA sequence 2": + proteins("UAG") is [list: ] + end end -check "STOP codon RNA sequence 3": - proteins("UGA") is [list: ] +fun stop-three(): + check "STOP codon RNA sequence 3": + proteins("UGA") is [list: ] + end end -check "Sequence of two protein codons translates into proteins": - proteins("UUUUUU") is [list: "Phenylalanine", "Phenylalanine"] +fun two-identical-proteins(): + check "Sequence of two protein codons translates into proteins": + proteins("UUUUUU") is [list: "Phenylalanine", "Phenylalanine"] + end end -check "Sequence of two different protein codons translates into proteins": - proteins("UUAUUG") is [list: "Leucine", "Leucine"] +fun two-different-proteins(): + check "Sequence of two different protein codons translates into proteins": + proteins("UUAUUG") is [list: "Leucine", "Leucine"] + end end -check "Translate RNA strand into correct protein list": - proteins("AUGUUUUGG") is [list: "Methionine", "Phenylalanine", "Tryptophan"] +fun three-different-proteins(): + check "Translate RNA strand into correct protein list": + proteins("AUGUUUUGG") is [list: "Methionine", "Phenylalanine", "Tryptophan"] + end end -check "Translation stops if STOP codon at beginning of sequence": - proteins("UAGUGG") is [list: ] +fun stop-at-beginning(): + check "Translation stops if STOP codon at beginning of sequence": + proteins("UAGUGG") is [list: ] + end end -check "Translation stops if STOP codon at end of two-codon sequence": - proteins("UGGUAG") is [list: "Tryptophan"] +fun stop-at-end-of-two-codons(): + check "Translation stops if STOP codon at end of two-codon sequence": + proteins("UGGUAG") is [list: "Tryptophan"] + end end -check "Translation stops if STOP codon at end of three-codon sequence": - proteins("AUGUUUUAA") is [list: "Methionine", "Phenylalanine"] +fun stop-at-end-of-three-codons(): + check "Translation stops if STOP codon at end of three-codon sequence": + proteins("AUGUUUUAA") is [list: "Methionine", "Phenylalanine"] + end end -check "Translation stops if STOP codon in middle of three-codon sequence": - proteins("UGGUAGUGG") is [list: "Tryptophan"] +fun stop-in-middle-of-three-codons(): + check "Translation stops if STOP codon in middle of three-codon sequence": + proteins("UGGUAGUGG") is [list: "Tryptophan"] + end end -check "Translation stops if STOP codon in middle of six-codon sequence": - proteins("UGGUGUUAUUAAUGGUUU") is [list: "Tryptophan", "Cysteine", "Tyrosine"] +fun stop-in-middle-of-six-codons(): + check "Translation stops if STOP codon in middle of six-codon sequence": + proteins("UGGUGUUAUUAAUGGUUU") is [list: "Tryptophan", "Cysteine", "Tyrosine"] + end end -check "Non-existing codon can't translate": - proteins("AAA") raises "Invalid codon" +fun non-existent-codon(): + check "Non-existing codon can't translate": + proteins("AAA") raises "Invalid codon" + end end +fun unknown-codon(): check "Unknown amino acids, not part of a codon, can't translate": proteins("XYZ") raises "Invalid codon" end - -check "Incomplete RNA sequence can't translate": - proteins("AUGU") raises "Invalid codon" end -check "Incomplete RNA sequence can translate if valid until a STOP codon": - proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] -end +fun incomplete-sequence(): + check "Incomplete RNA sequence can't translate": + proteins("AUGU") raises "Invalid codon" + end +end + +fun incomplete-sequence-with-stop(): + check "Incomplete RNA sequence can translate if valid until a STOP codon": + proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(no-protein, true), + test(methionine, false), + test(phenylalanine-one, false), + test(phenylalanine-two, false), + test(leucine-one, false), + test(leucine-two, false), + test(serine-one, false), + test(serine-two, false), + test(serine-three, false), + test(serine-four, false), + test(tyrosine-one, false), + test(tyrosine-two, false), + test(cysteine-one, false), + test(cysteine-two, false), + test(tryptophan, false), + test(stop-one, false), + test(stop-two, false), + test(stop-three, false), + test(two-identical-proteins, false), + test(two-different-proteins, false), + test(three-different-proteins, false), + test(stop-at-beginning, false), + test(stop-at-end-of-two-codons, false), + test(stop-at-end-of-three-codons, false), + test(stop-in-middle-of-three-codons, false), + test(stop-in-middle-of-six-codons, false), + test(non-existent-codon, false), + test(unknown-codon, false), + test(incomplete-sequence, false), + test(incomplete-sequence-with-stop, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 0a070371ad28aaaa95ebecde7831ce149f0428c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:50:19 -0700 Subject: [PATCH 114/244] Add pending test support to queen-attack (#134) --- .../queen-attack/queen-attack-test.arr | 108 +++++++++++++----- 1 file changed, 82 insertions(+), 26 deletions(-) diff --git a/exercises/practice/queen-attack/queen-attack-test.arr b/exercises/practice/queen-attack/queen-attack-test.arr index e40b38d..c6f78f6 100644 --- a/exercises/practice/queen-attack/queen-attack-test.arr +++ b/exercises/practice/queen-attack/queen-attack-test.arr @@ -2,54 +2,110 @@ use context essentials2020 include file("queen-attack.arr") -check "Test creation of Queens with valid and invalid positions -> queen with a valid position": - queen(2, 2) does-not-raise +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun valid-position(): + check "Test creation of Queens with valid and invalid positions -> queen with a valid position": + queen(2, 2) does-not-raise + end end -check "Test creation of Queens with valid and invalid positions -> queen must have positive row": - queen(-2, 2) raises "" # matches any exception message +fun invalid-negative-row(): + check "Test creation of Queens with valid and invalid positions -> queen must have positive row": + queen(-2, 2) raises "" # matches any exception message + end end -check "Test creation of Queens with valid and invalid positions -> queen must have row on board": - queen(8, 4) raises "" # matches any exception message +fun invalid-row-not-on-board(): + check "Test creation of Queens with valid and invalid positions -> queen must have row on board": + queen(8, 4) raises "" # matches any exception message + end end -check "Test creation of Queens with valid and invalid positions -> queen must have positive column": - queen(2, -2) raises "" # matches any exception message +fun invalid-negative-column(): + check "Test creation of Queens with valid and invalid positions -> queen must have positive column": + queen(2, -2) raises "" # matches any exception message + end end -check "Test creation of Queens with valid and invalid positions -> queen must have column on board": - queen(4, 8) raises "" # matches any exception message +fun invalid-column-not-on-board(): + check "Test creation of Queens with valid and invalid positions -> queen must have column on board": + queen(4, 8) raises "" # matches any exception message + end end -check "Test the ability of one queen to attack another -> cannot attack": - queen(2, 4).can-attack(queen(6, 6)) is false +fun can-not-attack(): + check "Test the ability of one queen to attack another -> cannot attack": + queen(2, 4).can-attack(queen(6, 6)) is false + end end -check "Test the ability of one queen to attack another -> can attack on same row": - queen(2, 4).can-attack(queen(2, 6)) is true +fun can-attack-on-same-row(): + check "Test the ability of one queen to attack another -> can attack on same row": + queen(2, 4).can-attack(queen(2, 6)) is true + end end -check "Test the ability of one queen to attack another -> can attack on same column": - queen(4, 5).can-attack(queen(2, 5)) is true +fun can-attack-on-same-column(): + check "Test the ability of one queen to attack another -> can attack on same column": + queen(4, 5).can-attack(queen(2, 5)) is true + end end -check "Test the ability of one queen to attack another -> can attack on first diagonal": - queen(2, 2).can-attack(queen(0, 4)) is true +fun can-attack-on-first-diagonal(): + check "Test the ability of one queen to attack another -> can attack on first diagonal": + queen(2, 2).can-attack(queen(0, 4)) is true + end end -check "Test the ability of one queen to attack another -> can attack on second diagonal": - queen(2, 2).can-attack(queen(3, 1)) is true +fun can-attack-on-second-diagonal(): + check "Test the ability of one queen to attack another -> can attack on second diagonal": + queen(2, 2).can-attack(queen(3, 1)) is true + end end -check "Test the ability of one queen to attack another -> can attack on third diagonal": - queen(2, 2).can-attack(queen(1, 1)) is true +fun can-attack-on-third-diagonal(): + check "Test the ability of one queen to attack another -> can attack on third diagonal": + queen(2, 2).can-attack(queen(1, 1)) is true + end end -check "Test the ability of one queen to attack another -> can attack on fourth diagonal": - queen(1, 7).can-attack(queen(0, 6)) is true +fun can-attack-on-fourth-diagonal(): + check "Test the ability of one queen to attack another -> can attack on fourth diagonal": + queen(1, 7).can-attack(queen(0, 6)) is true + end end -check "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal": - queen(4, 1).can-attack(queen(2, 5)) is false +fun can-not-attack-on-reflected-diagonal(): + check "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal": + queen(4, 1).can-attack(queen(2, 5)) is false + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(valid-position, true), + test(invalid-negative-row, false), + test(invalid-row-not-on-board, false), + test(invalid-negative-column, false), + test(invalid-column-not-on-board, false), + test(can-not-attack, false), + test(can-attack-on-same-row, false), + test(can-attack-on-same-column, false), + test(can-attack-on-first-diagonal, false), + test(can-attack-on-second-diagonal, false), + test(can-attack-on-third-diagonal, false), + test(can-attack-on-fourth-diagonal, false), + test(can-not-attack-on-reflected-diagonal, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file From 91c7590527dd55be8a428839e9c89f322b0f06a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:13:12 -0700 Subject: [PATCH 115/244] Add pending test support to raindrops (#135) --- .../practice/raindrops/raindrops-test.arr | 142 +++++++++++++----- 1 file changed, 106 insertions(+), 36 deletions(-) diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr index f7265b9..a8f62fa 100644 --- a/exercises/practice/raindrops/raindrops-test.arr +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -2,74 +2,144 @@ use context essentials2020 include file("raindrops.arr") -check "the sound for 1 is 1": - convert(1) is "1" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun convert-1(): + check "the sound for 1 is 1": + convert(1) is "1" + end end -check "the sound for 3 is Pling": - convert(3) is "Pling" +fun convert-3(): + check "the sound for 3 is Pling": + convert(3) is "Pling" + end end -check "the sound for 5 is Plang": - convert(5) is "Plang" +fun convert-5(): + check "the sound for 5 is Plang": + convert(5) is "Plang" + end end -check "the sound for 7 is Plong": - convert(7) is "Plong" +fun convert-7(): + check "the sound for 7 is Plong": + convert(7) is "Plong" + end end -check "the sound for 6 is Pling as it has a factor 3": - convert(6) is "Pling" +fun convert-6(): + check "the sound for 6 is Pling as it has a factor 3": + convert(6) is "Pling" + end end -check "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base": - convert(8) is "8" +fun convert-8(): + check "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base": + convert(8) is "8" + end end -check "the sound for 9 is Pling as it has a factor 3": - convert(9) is "Pling" +fun convert-9(): + check "the sound for 9 is Pling as it has a factor 3": + convert(9) is "Pling" + end end -check "the sound for 10 is Plang as it has a factor 5": - convert(10) is "Plang" +fun convert-10(): + check "the sound for 10 is Plang as it has a factor 5": + convert(10) is "Plang" + end end -check "the sound for 14 is Plong as it has a factor of 7": - convert(14) is "Plong" +fun convert-14(): + check "the sound for 14 is Plong as it has a factor of 7": + convert(14) is "Plong" + end end -check "the sound for 15 is PlingPlang as it has factors 3 and 5": - convert(15) is "PlingPlang" +fun convert-15(): + check "the sound for 15 is PlingPlang as it has factors 3 and 5": + convert(15) is "PlingPlang" + end end -check "the sound for 21 is PlingPlong as it has factors 3 and 7": - convert(21) is "PlingPlong" +fun convert-21(): + check "the sound for 21 is PlingPlong as it has factors 3 and 7": + convert(21) is "PlingPlong" + end end -check "the sound for 25 is Plang as it has a factor 5": - convert(25) is "Plang" +fun convert-25(): + check "the sound for 25 is Plang as it has a factor 5": + convert(25) is "Plang" + end end -check "the sound for 27 is Pling as it has a factor 3": - convert(27) is "Pling" +fun convert-27(): + check "the sound for 27 is Pling as it has a factor 3": + convert(27) is "Pling" + end end -check "the sound for 35 is PlangPlong as it has factors 5 and 7": - convert(35) is "PlangPlong" +fun convert-35(): + check "the sound for 35 is PlangPlong as it has factors 5 and 7": + convert(35) is "PlangPlong" + end end -check "the sound for 49 is Plong as it has a factor 7": - convert(49) is "Plong" +fun convert-49(): + check "the sound for 49 is Plong as it has a factor 7": + convert(49) is "Plong" + end end -check "the sound for 52 is 52": - convert(52) is "52" +fun convert-52(): + check "the sound for 52 is 52": + convert(52) is "52" + end end -check "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7": - convert(105) is "PlingPlangPlong" +fun convert-105(): + check "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7": + convert(105) is "PlingPlangPlong" + end end -check "the sound for 3125 is Plang as it has a factor 5": - convert(3125) is "Plang" +fun convert-3125(): + check "the sound for 3125 is Plang as it has a factor 5": + convert(3125) is "Plang" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(convert-1, true), + test(convert-3, false), + test(convert-5, false), + test(convert-7, false), + test(convert-6, false), + test(convert-8, false), + test(convert-9, false), + test(convert-10, false), + test(convert-14, false), + test(convert-15, false), + test(convert-21, false), + test(convert-25, false), + test(convert-27, false), + test(convert-35, false), + test(convert-49, false), + test(convert-52, false), + test(convert-105, false) +].each(lam(t): when t.active: t.run() end end) From c7485a0fe4e7e3c76a4d302280da16bd4a1d6e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:19:33 -0700 Subject: [PATCH 116/244] Add pending test support to resistor-color (#136) --- .../resistor-color/resistor-color-test.arr | 67 +++++++++++++------ 1 file changed, 48 insertions(+), 19 deletions(-) diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr index 23c18e2..75f96e2 100644 --- a/exercises/practice/resistor-color/resistor-color-test.arr +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -2,29 +2,58 @@ use context essentials2020 include file("resistor-color.arr") -check "Color codes -> Black": - color-code("black") is 0 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun color-code-black(): + check "Color codes -> Black": + color-code("black") is 0 + end end -check "Color codes -> White": - color-code("white") is 9 +fun color-code-white(): + check "Color codes -> White": + color-code("white") is 9 + end end -check "Color codes -> Orange": - color-code("orange") is 3 +fun color-code-orange(): + check "Color codes -> Orange": + color-code("orange") is 3 + end end -check "Colors": - colors() is [list: - "black", - "brown", - "red", - "orange", - "yellow", - "green", - "blue", - "violet", - "grey", - "white", - ] +fun test-colors(): + check "Colors": + colors() is [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(color-code-black, true), + test(color-code-white, false), + test(color-code-orange, false), + test(test-colors, false), +].each(lam(t): when t.active: t.run() end end) From dbab03cb6e52565e6ab26a48e57a45239f3b6144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:25:08 -0700 Subject: [PATCH 117/244] Add pending test support to resistor-color-duo (#137) --- .../resistor-color-duo-test.arr | 66 +++++++++++++++---- 1 file changed, 52 insertions(+), 14 deletions(-) diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr index fab1bee..1b4440b 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -2,30 +2,68 @@ use context essentials2020 include file("resistor-color-duo.arr") -check "Brown and black": - color-code([list: "brown", "black"]) is 10 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun brown-and-black(): + check "Brown and black": + color-code([list: "brown", "black"]) is 10 + end end -check "Blue and grey": - color-code([list: "blue", "grey"]) is 68 +fun blue-and-grey(): + check "Blue and grey": + color-code([list: "blue", "grey"]) is 68 + end end -check "Yellow and violet": - color-code([list: "yellow", "violet"]) is 47 +fun yellow-and-violet(): + check "Yellow and violet": + color-code([list: "yellow", "violet"]) is 47 + end end -check "White and red": - color-code([list: "white", "red"]) is 92 +fun white-and-red(): + check "White and red": + color-code([list: "white", "red"]) is 92 + end end -check "Orange and orange": - color-code([list: "orange", "orange"]) is 33 +fun orange-and-orange(): + check "Orange and orange": + color-code([list: "orange", "orange"]) is 33 + end end -check "Ignore additional colors": - color-code([list: "green", "brown", "orange"]) is 51 +fun ignore-additional-colors(): + check "Ignore additional colors": + color-code([list: "green", "brown", "orange"]) is 51 + end end -check "Black and brown, one-digit": - color-code([list: "black", "brown"]) is 1 +fun black-and-brown(): + check "Black and brown, one-digit": + color-code([list: "black", "brown"]) is 1 + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(brown-and-black, true), + test(blue-and-grey, false), + test(yellow-and-violet, false), + test(white-and-red, false), + test(orange-and-orange, false), + test(ignore-additional-colors, false), + test(black-and-brown, false) +].each(lam(t): when t.active: t.run() end end) From ca358912ab87c2c67d85ff566f5ad917d7f69132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:31:53 -0700 Subject: [PATCH 118/244] Add pending test support to resistor-color-trio (#138) --- .../resistor-color-trio-test.arr | 129 ++++++++++++------ 1 file changed, 88 insertions(+), 41 deletions(-) diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr index b8f67aa..e71fca2 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -2,72 +2,119 @@ use context essentials2020 include file("resistor-color-trio.arr") -check "Orange and orange and black": - colors = [list: "orange", "orange", "black"] - expected = "33 ohms" - - label(colors) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun orange-orange-black(): + check "Orange and orange and black": + colors = [list: "orange", "orange", "black"] + expected = "33 ohms" + + label(colors) is expected + end end -check "Blue and grey and brown": - colors = [list: "blue", "grey", "brown"] - expected = "680 ohms" +fun blue-grey-brown(): + check "Blue and grey and brown": + colors = [list: "blue", "grey", "brown"] + expected = "680 ohms" - label(colors) is expected + label(colors) is expected + end end -check "Red and black and red": - colors = [list: "red", "black", "red"] - expected = "2 kiloohms" +fun red-black-red(): + check "Red and black and red": + colors = [list: "red", "black", "red"] + expected = "2 kiloohms" - label(colors) is expected + label(colors) is expected + end end -check "Green and brown and orange": - colors = [list: "green", "brown", "orange"] - expected = "51 kiloohms" +fun green-brown-orange(): + check "Green and brown and orange": + colors = [list: "green", "brown", "orange"] + expected = "51 kiloohms" - label(colors) is expected + label(colors) is expected + end end -check "Yellow and violet and yellow": - colors = [list: "yellow", "violet", "yellow"] - expected = "470 kiloohms" +fun yellow-violet-yellow(): + check "Yellow and violet and yellow": + colors = [list: "yellow", "violet", "yellow"] + expected = "470 kiloohms" - label(colors) is expected + label(colors) is expected + end end -check "Blue and violet and blue": - colors = [list: "blue", "violet", "blue"] - expected = "67 megaohms" +fun blue-violet-blue(): + check "Blue and violet and blue": + colors = [list: "blue", "violet", "blue"] + expected = "67 megaohms" - label(colors) is expected + label(colors) is expected + end end -check "Minimum possible value": - colors = [list: "black", "black", "black"] - expected = "0 ohms" +fun minimum-value(): + check "Minimum possible value": + colors = [list: "black", "black", "black"] + expected = "0 ohms" - label(colors) is expected + label(colors) is expected + end end -check "Maximum possible value": - colors = [list: "white", "white", "white"] - expected = "99 gigaohms" +fun maximum-value(): + check "Maximum possible value": + colors = [list: "white", "white", "white"] + expected = "99 gigaohms" - label(colors) is expected + label(colors) is expected + end end -check "First two colors make an invalid octal number": - colors = [list: "black", "grey", "black"] - expected = "8 ohms" +fun invalid-octal-number(): + check "First two colors make an invalid octal number": + colors = [list: "black", "grey", "black"] + expected = "8 ohms" - label(colors) is expected + label(colors) is expected + end end -check "Ignore extra colors": - colors = [list: "blue", "green", "yellow", "orange"] - expected = "650 kiloohms" +fun ignore-extra-colors(): + check "Ignore extra colors": + colors = [list: "blue", "green", "yellow", "orange"] + expected = "650 kiloohms" - label(colors) is expected + label(colors) is expected + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(orange-orange-black, true), + test(blue-grey-brown, false), + test(red-black-red, false), + test(green-brown-orange, false), + test(yellow-violet-yellow, false), + test(blue-violet-blue, false), + test(minimum-value, false), + test(maximum-value, false), + test(invalid-octal-number, false), + test(ignore-extra-colors, false) +].each(lam(t): when t.active: t.run() end end) From 5bd0f34bfcf100bc102cd9b32505accd6d61ef3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:37:02 -0700 Subject: [PATCH 119/244] Add pending test support to reverse-string (#139) --- .../reverse-string/reverse-string-test.arr | 61 +++++++++++++++---- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr index 8140f82..92b90ba 100644 --- a/exercises/practice/reverse-string/reverse-string-test.arr +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -2,26 +2,61 @@ use context essentials2020 include file("reverse-string.arr") -check "an empty string": - reversed("") is "" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-string(): + check "an empty string": + reversed("") is "" + end +end + +fun word(): + check "a word": + reversed("robot") is "tobor" + end end -check "a word": - reversed("robot") is "tobor" +fun capitalized-word(): + check "a capitalized word": + reversed("Ramen") is "nemaR" + end end -check "a capitalized word": - reversed("Ramen") is "nemaR" +fun sentence-with-punctuation(): + check "a sentence with punctuation": + reversed("I'm hungry!") is "!yrgnuh m'I" + end end -check "a sentence with punctuation": - reversed("I'm hungry!") is "!yrgnuh m'I" +fun palindrome(): + check "a palindrome": + reversed("racecar") is "racecar" + end end -check "a palindrome": - reversed("racecar") is "racecar" +fun even-sized-word(): + check "an even-sized word": + reversed("drawer") is "reward" + end end -check "an even-sized word": - reversed("drawer") is "reward" -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-string, true), + test(word, false), + test(capitalized-word, false), + test(sentence-with-punctuation, false), + test(palindrome, false), + test(even-sized-word, false) +].each(lam(t): when t.active: t.run() end end) From 70f86aca8d5d78844af8a549f655159396b67802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:43:27 -0700 Subject: [PATCH 120/244] Add pending test support to rna-transcription (#140) --- .../rna-transcription-test.arr | 60 +++++++++++++++---- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr index cb85592..9ad3463 100644 --- a/exercises/practice/rna-transcription/rna-transcription-test.arr +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -2,25 +2,61 @@ use context essentials2020 include file("rna-transcription.arr") -check "Empty RNA sequence": - to-rna("") is "" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-string(): + check "Empty RNA sequence": + to-rna("") is "" + end end -check "RNA complement of cytosine is guanine": - to-rna("C") is "G" + +fun cytosine-to-guanine(): + check "RNA complement of cytosine is guanine": + to-rna("C") is "G" + end end -check "RNA complement of guanine is cytosine": - to-rna("G") is "C" +fun guanine-to-cytosine(): + check "RNA complement of guanine is cytosine": + to-rna("G") is "C" + end end -check "RNA complement of thymine is adenine": - to-rna("T") is "A" +fun thymine-to-adenine(): + check "RNA complement of thymine is adenine": + to-rna("T") is "A" + end end -check "RNA complement of adenine is uracil": - to-rna("A") is "U" +fun adenine-to-uracil(): + check "RNA complement of adenine is uracil": + to-rna("A") is "U" + end end -check "RNA complement": - to-rna("ACGTGGTCTTAA") is "UGCACCAGAAUU" +fun rna-complement(): + check "RNA complement": + to-rna("ACGTGGTCTTAA") is "UGCACCAGAAUU" + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-string, true), + test(cytosine-to-guanine, false), + test(guanine-to-cytosine, false), + test(thymine-to-adenine, false), + test(adenine-to-uracil, false), + test(rna-complement, false) +].each(lam(t): when t.active: t.run() end end) From af6a4633b6680b415ae67a36a9677b168af76512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 13:34:25 -0700 Subject: [PATCH 121/244] Add pending test support to roman-numerals (#141) --- .../roman-numerals/roman-numerals-test.arr | 200 +++++++++++++----- 1 file changed, 148 insertions(+), 52 deletions(-) diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index 76409e7..2357097 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -2,106 +2,202 @@ use context essentials2020 include file("roman-numerals.arr") -check "1 is I": - to-roman(1) is "I" +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun I(): + check "1 is I": + to-roman(1) is "I" + end end -check "2 is II": - to-roman(2) is "II" +fun II(): + check "2 is II": + to-roman(2) is "II" + end end -check "3 is III": - to-roman(3) is "III" +fun III(): + check "3 is III": + to-roman(3) is "III" + end end -check "4 is IV": - to-roman(4) is "IV" +fun IV(): + check "4 is IV": + to-roman(4) is "IV" + end end -check "5 is V": - to-roman(5) is "V" +fun V(): + check "5 is V": + to-roman(5) is "V" + end end -check "6 is VI": - to-roman(6) is "VI" +fun VI(): + check "6 is VI": + to-roman(6) is "VI" + end end -check "9 is IX": - to-roman(9) is "IX" +fun IX(): + check "9 is IX": + to-roman(9) is "IX" + end end -check "16 is XVI": - to-roman(16) is "XVI" +fun XVI(): + check "16 is XVI": + to-roman(16) is "XVI" + end end -check "27 is XXVII": - to-roman(27) is "XXVII" +fun XXVII(): + check "27 is XXVII": + to-roman(27) is "XXVII" + end end -check "48 is XLVIII": - to-roman(48) is "XLVIII" +fun XLVIII(): + check "48 is XLVIII": + to-roman(48) is "XLVIII" + end end -check "49 is XLIX": - to-roman(49) is "XLIX" +fun XLIX(): + check "49 is XLIX": + to-roman(49) is "XLIX" + end end -check "59 is LIX": - to-roman(59) is "LIX" +fun LIX(): + check "59 is LIX": + to-roman(59) is "LIX" + end end -check "66 is LXVI": - to-roman(66) is "LXVI" +fun LXVI(): + check "66 is LXVI": + to-roman(66) is "LXVI" + end end -check "93 is XCIII": - to-roman(93) is "XCIII" +fun XCIII(): + check "93 is XCIII": + to-roman(93) is "XCIII" + end end -check "141 is CXLI": - to-roman(141) is "CXLI" +fun CXLI(): + check "141 is CXLI": + to-roman(141) is "CXLI" + end end -check "163 is CLXIII": - to-roman(163) is "CLXIII" +fun CLXIII(): + check "163 is CLXIII": + to-roman(163) is "CLXIII" + end end -check "166 is CLXVI": - to-roman(166) is "CLXVI" +fun CLXVI(): + check "166 is CLXVI": + to-roman(166) is "CLXVI" + end end -check "402 is CDII": - to-roman(402) is "CDII" +fun CDII(): + check "402 is CDII": + to-roman(402) is "CDII" + end end -check "575 is DLXXV": - to-roman(575) is "DLXXV" +fun DLXXV(): + check "575 is DLXXV": + to-roman(575) is "DLXXV" + end end -check "666 is DCLXVI": - to-roman(666) is "DCLXVI" +fun DCLXVI(): + check "666 is DCLXVI": + to-roman(666) is "DCLXVI" + end end -check "911 is CMXI": - to-roman(911) is "CMXI" +fun CMXI(): + check "911 is CMXI": + to-roman(911) is "CMXI" + end end -check "1024 is MXXIV": - to-roman(1024) is "MXXIV" +fun MXXIV(): + check "1024 is MXXIV": + to-roman(1024) is "MXXIV" + end end -check "1666 is MDCLXVI": - to-roman(1666) is "MDCLXVI" +fun MDCLXVI(): + check "1666 is MDCLXVI": + to-roman(1666) is "MDCLXVI" + end end -check "3000 is MMM": - to-roman(3000) is "MMM" +fun MMM(): + check "3000 is MMM": + to-roman(3000) is "MMM" + end end -check "3001 is MMMI": - to-roman(3001) is "MMMI" +fun MMMI(): + check "3001 is MMMI": + to-roman(3001) is "MMMI" + end end -check "3999 is MMMCMXCIX": - to-roman(3999) is "MMMCMXCIX" +fun MMMCMXCIX(): + check "3999 is MMMCMXCIX": + to-roman(3999) is "MMMCMXCIX" + end end + + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(I, true), + test(II, false), + test(III, false), + test(IV, false), + test(V, false), + test(VI, false), + test(IX, false), + test(XVI, false), + test(XXVII, false), + test(XLVIII, false), + test(XLIX, false), + test(LIX, false), + test(LXVI, false), + test(XCIII, false), + test(CXLI, false), + test(CLXIII, false), + test(CLXVI, false), + test(CDII, false), + test(DLXXV, false), + test(DCLXVI, false), + test(CMXI, false), + test(MXXIV, false), + test(MDCLXVI, false), + test(MMM, false), + test(MMMI, false), + test(MMMCMXCIX, false) +].each(lam(t): when t.active: t.run() end end) From 769319214fb65f284b79ee3145f4e1606312a6c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 13:36:42 -0700 Subject: [PATCH 122/244] Update pending tests for scrabble-score (#142) --- .../scrabble-score/scrabble-score-test.arr | 94 ++++++++++++++----- 1 file changed, 72 insertions(+), 22 deletions(-) diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr index 85b162a..4dbdd85 100644 --- a/exercises/practice/scrabble-score/scrabble-score-test.arr +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -2,46 +2,96 @@ use context essentials2020 include file("scrabble-score.arr") -check "lowercase letter": - score("a") is 1 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun lowercase-letter(): + check "lowercase letter": + score("a") is 1 + end end -check "uppercase letter": - score("A") is 1 +fun uppercase-letter(): + check "uppercase letter": + score("A") is 1 + end end -check "valuable letter": - score("f") is 4 +fun valuable-letter(): + check "valuable letter": + score("f") is 4 + end end -check "short word": - score("at") is 2 +fun short-word(): + check "short word": + score("at") is 2 + end end -check "short, valuable word": - score("zoo") is 12 +fun short-valuable-word(): + check "short, valuable word": + score("zoo") is 12 + end end -check "medium word": - score("street") is 6 +fun medium-word(): + check "medium word": + score("street") is 6 + end end -check "medium, valuable word": - score("quirky") is 22 +fun medium-valuable-word(): + check "medium, valuable word": + score("quirky") is 22 + end end -check "long, mixed-case word": - score("OxyphenButazone") is 41 +fun long-mixed-case-word(): + check "long, mixed-case word": + score("OxyphenButazone") is 41 + end end -check "english-like word": - score("pinata") is 8 +fun english-like-word(): + check "english-like word": + score("pinata") is 8 + end end -check "empty input": - score("") is 0 +fun empty-input(): + check "empty input": + score("") is 0 + end end -check "entire alphabet available": - score("abcdefghijklmnopqrstuvwxyz") is 87 +fun entire-alphabet(): + check "entire alphabet available": + score("abcdefghijklmnopqrstuvwxyz") is 87 + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(lowercase-letter, true), + test(uppercase-letter, false), + test(valuable-letter, false), + test(short-word, false), + test(short-valuable-word, false), + test(medium-word, false), + test(medium-valuable-word, false), + test(long-mixed-case-word, false), + test(english-like-word, false), + test(empty-input, false), + test(entire-alphabet, false) +].each(lam(t): when t.active: t.run() end end) From 035d265c74aad82978a53eaa6053bee730fcd277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 18:41:41 -0700 Subject: [PATCH 123/244] Add pending test support for secret-handshake (#143) --- .../secret-handshake-test.arr | 94 ++++++++++++++----- 1 file changed, 72 insertions(+), 22 deletions(-) diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr index da2ac03..41609f4 100644 --- a/exercises/practice/secret-handshake/secret-handshake-test.arr +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -2,46 +2,96 @@ use context essentials2020 include file("secret-handshake.arr") -check "wink for 1": - commands("00001") is [list: "wink"] +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun wink(): + check "wink for 1": + commands("00001") is [list: "wink"] + end end -check "double blink for 10": - commands("00010") is [list: "double blink"] +fun double-blink(): + check "double blink for 10": + commands("00010") is [list: "double blink"] + end end -check "close your eyes for 100": - commands("00100") is [list: "close your eyes"] +fun close-your-eyes(): + check "close your eyes for 100": + commands("00100") is [list: "close your eyes"] + end end -check "jump for 1000": - commands("01000") is [list: "jump"] +fun jump(): + check "jump for 1000": + commands("01000") is [list: "jump"] + end end -check "combine two actions": - commands("00011") is [list: "wink", "double blink"] +fun combine-two-actions(): + check "combine two actions": + commands("00011") is [list: "wink", "double blink"] + end end -check "reverse two actions": - commands("10011") is [list: "double blink", "wink"] +fun reverse-two-actions(): + check "reverse two actions": + commands("10011") is [list: "double blink", "wink"] + end end -check "reversing one action gives the same action": - commands("11000") is [list: "jump"] +fun reversed-action-is-same(): + check "reversing one action gives the same action": + commands("11000") is [list: "jump"] + end end -check "reversing no actions still gives no actions": - commands("10000") is [list: ] +fun reversed-inaction-is-same(): + check "reversing no actions still gives no actions": + commands("10000") is [list: ] + end end -check "all possible actions": - commands("01111") is [list: "wink", "double blink", "close your eyes", "jump"] +fun all-possible-actions(): + check "all possible actions": + commands("01111") is [list: "wink", "double blink", "close your eyes", "jump"] + end end -check "reverse all possible actions": - commands("11111") is [list: "jump", "close your eyes", "double blink", "wink"] +fun all-possible-actions-reversed(): + check "reverse all possible actions": + commands("11111") is [list: "jump", "close your eyes", "double blink", "wink"] + end end -check "do nothing for zero": - commands("00000") is [list: ] +fun do-nothing(): + check "do nothing for zero": + commands("00000") is [list: ] + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(wink, true), + test(double-blink, false), + test(close-your-eyes, false), + test(jump, false), + test(combine-two-actions, false), + test(reverse-two-actions, false), + test(reversed-action-is-same, false), + test(reversed-inaction-is-same, false), + test(all-possible-actions, false), + test(all-possible-actions-reversed, false), + test(do-nothing, false) +].each(lam(t): when t.active: t.run() end end) From 37f500ba986b98cf94a70850a1de7c91b4298f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:12:43 -0700 Subject: [PATCH 124/244] Add pending test suppport for series (#144) --- exercises/practice/series/series-test.arr | 96 +++++++++++++++++------ 1 file changed, 73 insertions(+), 23 deletions(-) diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr index 0d4b8aa..5930475 100644 --- a/exercises/practice/series/series-test.arr +++ b/exercises/practice/series/series-test.arr @@ -2,46 +2,96 @@ use context essentials2020 include file("series.arr") -check "slices of one from one": - slices("1", 1) is [list: "1"] +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun slices-of-one-from-one(): + check "slices of one from one": + slices("1", 1) is [list: "1"] + end +end + +fun slices-of-one-from-two(): + check "slices of one from two": + slices("12", 1) is [list: "1", "2"] + end end -check "slices of one from two": - slices("12", 1) is [list: "1", "2"] +fun slices-of-two(): + check "slices of two": + slices("35", 2) is [list: "35"] + end end -check "slices of two": - slices("35", 2) is [list: "35"] +fun slices-of-two-overlap(): + check "slices of two overlap": + slices("9142", 2) is [list: "91", "14", "42"] + end end -check "slices of two overlap": - slices("9142", 2) is [list: "91", "14", "42"] +fun slices-can-include-duplicates(): + check "slices can include duplicates": + slices("777777", 3) is [list: "777", "777", "777", "777"] + end end -check "slices can include duplicates": - slices("777777", 3) is [list: "777", "777", "777", "777"] +fun slices-of-a-long-series(): + check "slices of a long series": + slices("918493904243", 5) is [list: "91849", "18493", "84939", "49390", "93904", "39042", "90424", "04243"] + end end -check "slices of a long series": - slices("918493904243", 5) is [list: "91849", "18493", "84939", "49390", "93904", "39042", "90424", "04243"] +fun slice-length-too-large(): + check "slice length is too large": + slices("12345", 6) raises "slice length cannot be greater than series length" + end end -check "slice length is too large": - slices("12345", 6) raises "slice length cannot be greater than series length" +fun slice-length-way-too-large(): + check "slice length is way too large": + slices("12345", 42) raises "slice length cannot be greater than series length" + end end -check "slice length is way too large": - slices("12345", 42) raises "slice length cannot be greater than series length" +fun slice-length-can-not-be-zero(): + check "slice length cannot be zero": + slices("12345", 0) raises "slice length cannot be zero" + end end -check "slice length cannot be zero": - slices("12345", 0) raises "slice length cannot be zero" +fun slice-length-can-not-be-negative(): + check "slice length cannot be negative": + slices("12345", -1) raises "slice length cannot be negative" + end end -check "slice length cannot be negative": - slices("12345", -1) raises "slice length cannot be negative" +fun empty-series-is-invalid(): + check "empty series is invalid": + slices("", 1) raises "series cannot be empty" + end end -check "empty series is invalid": - slices("", 1) raises "series cannot be empty" -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(slices-of-one-from-one, true), + test(slices-of-one-from-two, false), + test(slices-of-two, false), + test(slices-of-two-overlap, false), + test(slices-can-include-duplicates, false), + test(slices-of-a-long-series, false), + test(slice-length-too-large, false), + test(slice-length-way-too-large, false), + test(slice-length-can-not-be-zero, false), + test(slice-length-can-not-be-negative, false), + test(empty-series-is-invalid, false) +].each(lam(t): when t.active: t.run() end end) From 73d43da02867fefd590c55026d5e353498cd307b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:36:53 -0700 Subject: [PATCH 125/244] Add pending tests to square-root (#146) --- .../practice/square-root/square-root-test.arr | 61 +++++++++++++++---- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr index 7d71e44..05a4f3a 100644 --- a/exercises/practice/square-root/square-root-test.arr +++ b/exercises/practice/square-root/square-root-test.arr @@ -2,26 +2,61 @@ use context essentials2020 include file("square-root.arr") -check "root of 1": - square-root(1) is 1 +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun root-of-one(): + check "root of 1": + square-root(1) is 1 + end +end + +fun root-of-four(): + check "root of 4": + square-root(4) is 2 + end end -check "root of 4": - square-root(4) is 2 +fun root-of-twenty-five(): + check "root of 25": + square-root(25) is 5 + end end -check "root of 25": - square-root(25) is 5 +fun root-of-eighty-one(): + check "root of 81": + square-root(81) is 9 + end end -check "root of 81": - square-root(81) is 9 +fun root-of-one-hundred-ninety-six(): + check "root of 196": + square-root(196) is 14 + end end -check "root of 196": - square-root(196) is 14 +fun root-of-sixty-five-thousand-twenty-five(): + check "root of 65025": + square-root(65025) is 255 + end end -check "root of 65025": - square-root(65025) is 255 -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(root-of-one, true), + test(root-of-four, false), + test(root-of-twenty-five, false), + test(root-of-eighty-one, false), + test(root-of-one-hundred-ninety-six, false), + test(root-of-sixty-five-thousand-twenty-five, false) +].each(lam(t): when t.active: t.run() end end) From 3070d5cefe1d8a40c2f265d9da8187a760b28c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:37:23 -0700 Subject: [PATCH 126/244] Add pending tests to space-age (#145) --- .../practice/space-age/space-age-test.arr | 85 ++++++++++++++----- 1 file changed, 65 insertions(+), 20 deletions(-) diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index 7fb9c65..8ecf54a 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -2,44 +2,89 @@ use context essentials2020 include file("space-age.arr") -fun around(delta): +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun around(delta :: Number) -> (Number, Number -> Boolean): + doc: "provides a predicate that returns true if the absolute values of two numbers are less than or equal to the specified delta" lam(actual, target): num-abs(target - actual) <= delta end end -check "age on Earth": - on-planet("Earth", 1000000000) is%(around(0.01)) 31.69 +fun age-on-earth(): + check "age on Earth": + on-planet("Earth", 1000000000) is%(around(0.01)) 31.69 + end end -check "age on Mercury": - on-planet("Mercury", 2134835688) is%(around(0.01)) 280.88 +fun age-on-mercury(): + check "age on Mercury": + on-planet("Mercury", 2134835688) is%(around(0.01)) 280.88 + end end -check "age on Venus": - on-planet("Venus", 189839836) is%(around(0.01)) 9.78 +fun age-on-venus(): + check "age on Venus": + on-planet("Venus", 189839836) is%(around(0.01)) 9.78 + end +end + +fun age-on-mars(): + check "age on Mars": + on-planet("Mars", 2129871239) is%(around(0.01)) 35.88 + end end -check "age on Mars": - on-planet("Mars", 2129871239) is%(around(0.01)) 35.88 +fun age-on-jupiter(): + check "age on Jupiter": + on-planet("Jupiter", 901876382) is%(around(0.01)) 2.41 + end end -check "age on Jupiter": - on-planet("Jupiter", 901876382) is%(around(0.01)) 2.41 +fun age-on-saturn(): + check "age on Saturn": + on-planet("Saturn", 2000000000) is%(around(0.01)) 2.15 + end end -check "age on Saturn": - on-planet("Saturn", 2000000000) is%(around(0.01)) 2.15 +fun age-on-uranus(): + check "age on Uranus": + on-planet("Uranus", 1210123456) is%(around(0.01)) 0.46 + end end -check "age on Uranus": - on-planet("Uranus", 1210123456) is%(around(0.01)) 0.46 +fun age-on-neptune(): + check "age on Neptune": + on-planet("Neptune", 1821023456) is%(around(0.01)) 0.35 + end end -check "age on Neptune": - on-planet("Neptune", 1821023456) is%(around(0.01)) 0.35 +fun invalid-planet-causes-error(): + check "invalid planet causes error": + on-planet("Sun", 680804807) raises "not a planet" + end end -check "invalid planet causes error": - on-planet("Sun", 680804807) raises "not a planet" -end \ No newline at end of file +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(age-on-earth, true), + test(age-on-mercury, false), + test(age-on-venus, false), + test(age-on-mars, false), + test(age-on-jupiter, false), + test(age-on-saturn, false), + test(age-on-uranus, false), + test(age-on-neptune, false), + test(invalid-planet-causes-error, false) +].each(lam(t): when t.active: t.run() end end) From d4124013d76709b9cfd3ae28fb9ec441725627ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:54:32 -0700 Subject: [PATCH 127/244] Add pending test support to strain (#147) --- exercises/practice/strain/strain-test.arr | 255 +++++++++++++--------- 1 file changed, 157 insertions(+), 98 deletions(-) diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr index 4c73cb7..efd4ead 100644 --- a/exercises/practice/strain/strain-test.arr +++ b/exercises/practice/strain/strain-test.arr @@ -2,139 +2,198 @@ use context essentials2020 include file("strain.arr") -check "keep on empty list returns empty list": - input = [list: ] - predicate = lam(elt): true end - expected = [list: ] - - keep(input, predicate) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun keep-on-empty-list-returns-empty-list(): + check "keep on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] + + keep(input, predicate) is expected + end end -check "keeps everything": - input = [list: 1, 3, 5] - predicate = lam(elt): true end - expected = [list: 1, 3, 5] +fun keeps-everything(): + check "keeps everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: 1, 3, 5] - keep(input, predicate) is expected + keep(input, predicate) is expected + end end -check "keeps nothing": - input = [list: 1, 3, 5] - predicate = lam(elt): false end - expected = [list: ] +fun keeps-nothing(): + check "keeps nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: ] - keep(input, predicate) is expected + keep(input, predicate) is expected + end end -check "keeps first and last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 1 end - expected = [list: 1, 3] +fun keeps-edges(): + check "keeps first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 1, 3] - keep(input, predicate) is expected + keep(input, predicate) is expected + end end -check "keeps neither first nor last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 0 end - expected = [list: 2] +fun keeps-middle(): + check "keeps neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 2] - keep(input, predicate) is expected + keep(input, predicate) is expected + end end -check "keeps strings": - input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] - predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end - expected = [list: "zebra", "zombies", "zealot"] +fun keeps-strings(): + check "keeps strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "zebra", "zombies", "zealot"] - keep(input, predicate) is expected + keep(input, predicate) is expected + end end -check "keeps lists": - input = [list: - [list: 1, 2, 3], - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 2, 1, 2], - [list: 1, 5, 2], - [list: 2, 2, 1], - [list: 1, 2, 5]] - - predicate = lam(elt): elt.member(5) end - - expected = [list: - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 1, 5, 2], - [list: 1, 2, 5]] - - keep(input, predicate) is expected +fun keeps-lists(): + check "keeps lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 1, 5, 2], + [list: 1, 2, 5]] + + keep(input, predicate) is expected + end end -check "discard on empty list returns empty list": - input = [list: ] - predicate = lam(elt): true end - expected = [list: ] +fun discard-on-empty-list-returns-empty-list(): + check "discard on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards everything": - input = [list: 1, 3, 5] - predicate = lam(elt): true end - expected = [list: ] +fun discards-everything(): + check "discards everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: ] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards nothing": - input = [list: 1, 3, 5] - predicate = lam(elt): false end - expected = [list: 1, 3, 5] +fun discards-nothing(): + check "discards nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: 1, 3, 5] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards first and last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 1 end - expected = [list: 2] +fun discards-edges(): + check "discards first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 2] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards neither first nor last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 0 end - expected = [list: 1, 3] +fun discards-middle(): + check "discards neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 1, 3] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards strings": - input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] - predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end - expected = [list: "apple", "banana", "cherimoya"] +fun discards-strings(): + check "discards strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "apple", "banana", "cherimoya"] - discard(input, predicate) is expected + discard(input, predicate) is expected + end end -check "discards lists": - input = [list: - [list: 1, 2, 3], - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 2, 1, 2], - [list: 1, 5, 2], - [list: 2, 2, 1], - [list: 1, 2, 5]] - - predicate = lam(elt): elt.member(5) end - - expected = [list: - [list: 1, 2, 3], - [list: 2, 1, 2], - [list: 2, 2, 1]] - - discard(input, predicate) is expected +fun discards-lists(): + check "discards lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 1, 2, 3], + [list: 2, 1, 2], + [list: 2, 2, 1]] + + discard(input, predicate) is expected + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(keep-on-empty-list-returns-empty-list, true), + test(keeps-everything, false), + test(keeps-nothing, false), + test(keeps-edges, false), + test(keeps-middle, false), + test(keeps-strings, false), + test(keeps-lists, false), + test(discard-on-empty-list-returns-empty-list, false), + test(discards-everything, false), + test(discards-nothing, false), + test(discards-edges, false), + test(discards-middle, false), + test(discards-strings, false), + test(discards-lists, false) +].each(lam(t): when t.active: t.run() end end) From ad9b507371a2f489010b4edad4645c01e708acd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:59:50 -0700 Subject: [PATCH 128/244] Add pending test support for triangle (#148) --- exercises/practice/triangle/triangle-test.arr | 164 +++++++++++++----- 1 file changed, 122 insertions(+), 42 deletions(-) diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr index 432938c..590e741 100644 --- a/exercises/practice/triangle/triangle-test.arr +++ b/exercises/practice/triangle/triangle-test.arr @@ -2,86 +2,166 @@ use context essentials2020 include file("triangle.arr") -check "equilateral triangle -> all sides are equal": - equilateral([list: 2, 2, 2]) is true +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun equilateral-all-equal-sides(): + check "equilateral triangle -> all sides are equal": + equilateral([list: 2, 2, 2]) is true + end end -check "equilateral triangle -> any side is unequal": - equilateral([list: 2, 3, 2]) is-not true +fun equilateral-any-unequal-side(): + check "equilateral triangle -> any side is unequal": + equilateral([list: 2, 3, 2]) is false + end end -check "equilateral triangle -> no sides are equal": - equilateral([list: 5, 4, 6]) is-not true +fun equilateral-no-equal-sides(): + check "equilateral triangle -> no sides are equal": + equilateral([list: 5, 4, 6]) is false + end end -check "equilateral triangle -> all zero sides is not a triangle": - equilateral([list: 0, 0, 0]) is-not true +fun equilateral-all-zero-sides(): + check "equilateral triangle -> all zero sides is not a triangle": + equilateral([list: 0, 0, 0]) is false + end end -check "equilateral triangle -> sides may be floats": - equilateral([list: 0.5, 0.5, 0.5]) is true +fun equilateral-decimal-sides(): + check "equilateral triangle -> sides may be decimals": + equilateral([list: 0.5, 0.5, 0.5]) is true + end end -check "isosceles triangle -> last two sides are equal": - isosceles([list: 3, 4, 4]) is true +fun isosceles-second-third-equal-sides(): + check "isosceles triangle -> last two sides are equal": + isosceles([list: 3, 4, 4]) is true + end end -check "isosceles triangle -> first two sides are equal": - isosceles([list: 4, 4, 3]) is true +fun isosceles-first-second-equal-sides(): + check "isosceles triangle -> first two sides are equal": + isosceles([list: 4, 4, 3]) is true + end end -check "isosceles triangle -> first and last sides are equal": - isosceles([list: 4, 3, 4]) is true +fun isosceles-first-third-equal-sides(): + check "isosceles triangle -> first and last sides are equal": + isosceles([list: 4, 3, 4]) is true + end end -check "isosceles triangle -> equilateral triangles are also isosceles": - isosceles([list: 4, 4, 4]) is true +fun isosceles-can-be-equilateral(): + check "isosceles triangle -> equilateral triangles are also isosceles": + isosceles([list: 4, 4, 4]) is true + end end -check "isosceles triangle -> no sides are equal": - isosceles([list: 2, 3, 4]) is-not true +fun isosceles-no-equal-sides(): + check "isosceles triangle -> no sides are equal": + isosceles([list: 2, 3, 4]) is false + end end -check "isosceles triangle -> first triangle inequality violation": - isosceles([list: 1, 1, 3]) is-not true +fun isosceles-triangle-inequality-first(): + check "isosceles triangle -> first triangle inequality violation": + isosceles([list: 1, 1, 3]) is false + end end -check "isosceles triangle -> second triangle inequality violation": - isosceles([list: 1, 3, 1]) is-not true +fun isosceles-triangle-inequality-second(): + check "isosceles triangle -> second triangle inequality violation": + isosceles([list: 1, 3, 1]) is false + end end -check "isosceles triangle -> third triangle inequality violation": - isosceles([list: 3, 1, 1]) is-not true +fun isosceles-triangle-inequality-third(): + check "isosceles triangle -> third triangle inequality violation": + isosceles([list: 3, 1, 1]) is false + end end -check "isosceles triangle -> sides may be floats": - isosceles([list: 0.5, 0.4, 0.5]) is true +fun isosceles-decimal-sides(): + check "isosceles triangle -> sides may be decimasl": + isosceles([list: 0.5, 0.4, 0.5]) is true + end end -check "scalene triangle -> no sides are equal": - scalene([list: 5, 4, 6]) is true +fun scalene-no-equal-sides(): + check "scalene triangle -> no sides are equal": + scalene([list: 5, 4, 6]) is true + end end -check "scalene triangle -> all sides are equal": - scalene([list: 4, 4, 4]) is-not true +fun scalene-all-equal-sides(): + check "scalene triangle -> all sides are equal": + scalene([list: 4, 4, 4]) is false + end end -check "scalene triangle -> first and second sides are equal": - scalene([list: 4, 4, 3]) is-not true +fun scalene-first-second-equal-sides(): + check "scalene triangle -> first and second sides are equal": + scalene([list: 4, 4, 3]) is false + end end -check "scalene triangle -> first and third sides are equal": - scalene([list: 3, 4, 3]) is-not true +fun scalene-first-third-equal-sides(): + check "scalene triangle -> first and third sides are equal": + scalene([list: 3, 4, 3]) is false + end end -check "scalene triangle -> second and third sides are equal": - scalene([list: 4, 3, 3]) is-not true +fun scalene-second-third-equal-sides(): + check "scalene triangle -> second and third sides are equal": + scalene([list: 4, 3, 3]) is false + end end -check "scalene triangle -> may not violate triangle inequality": - scalene([list: 7, 3, 2]) is-not true +fun scalene-triangle-inequality(): + check "scalene triangle -> may not violate triangle inequality": + scalene([list: 7, 3, 2]) is false + end end -check "scalene triangle -> sides may be floats": - scalene([list: 0.5, 0.4, 0.6]) is true +fun scalene-decimal-sides(): + check "scalene triangle -> sides may be decimals": + scalene([list: 0.5, 0.4, 0.6]) is true + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(equilateral-all-equal-sides, true), + test(equilateral-any-unequal-side, false), + test(equilateral-no-equal-sides, false), + test(equilateral-all-zero-sides, false), + test(equilateral-decimal-sides, false), + test(isosceles-second-third-equal-sides, false), + test(isosceles-first-second-equal-sides, false), + test(isosceles-first-third-equal-sides, false), + test(isosceles-can-be-equilateral, false), + test(isosceles-no-equal-sides, false), + test(isosceles-triangle-inequality-first, false), + test(isosceles-triangle-inequality-second, false), + test(isosceles-triangle-inequality-third, false), + test(isosceles-decimal-sides, false), + test(scalene-no-equal-sides, false), + test(scalene-all-equal-sides, false), + test(scalene-first-second-equal-sides, false), + test(scalene-first-third-equal-sides, false), + test(scalene-second-third-equal-sides, false), + test(scalene-triangle-inequality, false), + test(scalene-decimal-sides, false) +].each(lam(t): when t.active: t.run() end end) From 6655a3f7b85e211bf71e181826497123891d6e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 23:09:49 -0700 Subject: [PATCH 129/244] Add pending test support to two-fer (#149) --- exercises/practice/two-fer/two-fer-test.arr | 38 +++++++++++++++++---- exercises/practice/two-fer/two-fer.arr | 2 +- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr index d7d2c96..8039690 100644 --- a/exercises/practice/two-fer/two-fer-test.arr +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -2,14 +2,40 @@ use context essentials2020 include file("two-fer.arr") -check "no name given": - two-fer("") is "One for you, one for me." +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun no-name-given(): + check "no name given": + two-fer("") is "One for you, one for me." + end end -check "a name given": - two-fer("Alice") is "One for Alice, one for me." +fun a-name-given(): + check "a name given": + two-fer("Alice") is "One for Alice, one for me." + end end -check "another name given": - two-fer("Bob") is "One for Bob, one for me." +fun another-name-given(): + check "another name given": + two-fer("Bob") is "One for Bob, one for me." + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(no-name-given, true), + test(a-name-given, false), + test(another-name-given, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/two-fer/two-fer.arr b/exercises/practice/two-fer/two-fer.arr index b485960..1328fe2 100644 --- a/exercises/practice/two-fer/two-fer.arr +++ b/exercises/practice/two-fer/two-fer.arr @@ -3,5 +3,5 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: two-fer end fun two-fer(name): - panic("Please implement the two-fer function") + raise("please implement the two-fer function") end From f53acfd056d24f87d7099fbabdba3bba0a824e67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 24 Sep 2023 23:12:46 -0700 Subject: [PATCH 130/244] Add pending test support to word-count (#150) --- .../practice/word-count/word-count-test.arr | 251 +++++++++++------- exercises/practice/word-count/word-count.arr | 2 +- 2 files changed, 156 insertions(+), 97 deletions(-) diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr index d9e16cb..a6cde28 100644 --- a/exercises/practice/word-count/word-count-test.arr +++ b/exercises/practice/word-count/word-count-test.arr @@ -4,127 +4,186 @@ include file("word-count.arr") include string-dict -check "count one word": - input = "word" - expected = [string-dict: "word", 1] - - word-count(input) is expected +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun count-one-word(): + check "count one word": + input = "word" + expected = [string-dict: "word", 1] + + word-count(input) is expected + end end -check "count one of each word": - input = "one of each" - expected = [string-dict: "one", 1, "of", 1, "each", 1] - - word-count(input) is expected +fun count-one-of-each-word(): + check "count one of each word": + input = "one of each" + expected = [string-dict: "one", 1, "of", 1, "each", 1] + + word-count(input) is expected + end end -check "multiple occurrences of a word": - input = "one fish two fish red fish blue fish" - expected = [string-dict: "one", 1, "fish", 4, "two", 1, "red", 1, "blue", 1] - - word-count(input) is expected +fun multiple-occurences-of-word(): + check "multiple occurrences of a word": + input = "one fish two fish red fish blue fish" + expected = [string-dict: "one", 1, "fish", 4, "two", 1, "red", 1, "blue", 1] + + word-count(input) is expected + end end -check "handles cramped lists": - input = "one,two,three" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected +fun handle-cramped-lists(): + check "handles cramped lists": + input = "one,two,three" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected + end end -check "handles expanded lists": - input = "one,\ntwo,\nthree" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected +fun handle-expanded-lists(): + check "handles expanded lists": + input = "one,\ntwo,\nthree" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected + end end -check "ignore punctuation": - input = "car: carpet as java: javascript!!&@$%^&" - expected = [string-dict: - "car", 1, - "carpet", 1, - "as", 1, - "java", 1, - "javascript", 1] - - word-count(input) is expected +fun ignore-punctuation(): + check "ignore punctuation": + input = "car: carpet as java: javascript!!&@$%^&" + expected = [string-dict: + "car", 1, + "carpet", 1, + "as", 1, + "java", 1, + "javascript", 1] + + word-count(input) is expected + end end -check "include numbers": - input = "testing, 1, 2 testing" - expected = [string-dict: "testing", 2, "1", 1, "2", 1] - - word-count(input) is expected +fun include-numbers(): + check "include numbers": + input = "testing, 1, 2 testing" + expected = [string-dict: "testing", 2, "1", 1, "2", 1] + + word-count(input) is expected + end end -check "normalize case": - input = "go Go GO Stop stop" - expected = [string-dict: "go", 3, "stop", 2] - - word-count(input) is expected +fun normalize-case(): + check "normalize case": + input = "go Go GO Stop stop" + expected = [string-dict: "go", 3, "stop", 2] + + word-count(input) is expected + end end -check "with apostrophes": - input = "'First: don't laugh. Then: don't cry. You're getting it.'" - expected = [string-dict: - "first", 1, - "don't", 2, - "laugh", 1, - "then", 1, - "cry", 1, - "you're", 1, - "getting", 1, - "it", 1] - - word-count(input) is expected +fun with-apostrophes(): + check "with apostrophes": + input = "'First: don't laugh. Then: don't cry. You're getting it.'" + expected = [string-dict: + "first", 1, + "don't", 2, + "laugh", 1, + "then", 1, + "cry", 1, + "you're", 1, + "getting", 1, + "it", 1] + + word-count(input) is expected + end end -check "with quotations": - input = "Joe can't tell between 'large' and large." - expected = [string-dict: - "joe", 1, - "can't", 1, - "tell", 1, - "between", 1, - "large", 2, - "and", 1] - - word-count(input) is expected +fun with-quotations(): + check "with quotations": + input = "Joe can't tell between 'large' and large." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "large", 2, + "and", 1] + + word-count(input) is expected + end end -check "substrings from the beginning": - input = "Joe can't tell between app, apple and a." - expected = [string-dict: - "joe", 1, - "can't", 1, - "tell", 1, - "between", 1, - "app", 1, - "apple", 1, - "and", 1, - "a", 1] - - word-count(input) is expected +fun substrings-from-the-beginning(): + check "substrings from the beginning": + input = "Joe can't tell between app, apple and a." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "app", 1, + "apple", 1, + "and", 1, + "a", 1] + + word-count(input) is expected + end end -check "multiple spaces not detected as a word": - input = " multiple whitespaces" - expected = [string-dict: "multiple", 1, "whitespaces", 1] - - word-count(input) is expected +fun multiple-spaces-not-a-word(): + check "multiple spaces not detected as a word": + input = " multiple whitespaces" + expected = [string-dict: "multiple", 1, "whitespaces", 1] + + word-count(input) is expected + end end -check "alternating word separators not detected as a word": - input = ",\n,one,\n ,two \n 'three'" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected +fun alternating-word-separators-not-a-word(): + check "alternating word separators not detected as a word": + input = ",\n,one,\n ,two \n 'three'" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected + end end -check "quotation for word with apostrophe": - input = "can, can't, 'can't'" - expected = [string-dict: "can", 1, "can't", 2] +fun quotation-for-word-with-apostrophe(): + check "quotation for word with apostrophe": + input = "can, can't, 'can't'" + expected = [string-dict: "can", 1, "can't", 2] - word-count(input) is expected + word-count(input) is expected + end end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(count-one-word, true), + test(count-one-of-each-word, false), + test(multiple-occurences-of-word, false), + test(handle-cramped-lists, false), + test(handle-expanded-lists, false), + test(ignore-punctuation, false), + test(include-numbers, false), + test(normalize-case, false), + test(with-apostrophes, false), + test(with-quotations, false), + test(substrings-from-the-beginning, false), + test(multiple-spaces-not-a-word, false), + test(alternating-word-separators-not-a-word, false), + test(quotation-for-word-with-apostrophe, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/word-count/word-count.arr b/exercises/practice/word-count/word-count.arr index 7c3c522..6779532 100644 --- a/exercises/practice/word-count/word-count.arr +++ b/exercises/practice/word-count/word-count.arr @@ -3,5 +3,5 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: word-count end fun word-count(phrase): - raise("please implement the word-count function") + raise("please implement the word-count function") end \ No newline at end of file From 7b52dcd8e3326477ad99d946d0908170f4304f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 27 Sep 2023 20:45:21 -0700 Subject: [PATCH 131/244] One sentence per line (#152) --- README.md | 8 ++++++-- docs/ABOUT.md | 5 ++++- docs/INSTALLATION.md | 5 ++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 519032e..d116e85 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,10 @@ Exercism exercises in Pyret. ## Setup -If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.27+). Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). However, you can also use [Pyret's online IDE](https://code.pyret.org/). In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. +If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.27+). +Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). +However, you can also use [Pyret's online IDE](https://code.pyret.org/). +In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. ## Support @@ -25,7 +28,8 @@ This command will iterate over all exercises and check to see if their exemplar/ Please see [Exercism's contributing guide](https://exercism.org/docs/building). -At the moment, there's not a generator for Pyret exercises. Make sure `use context essentials2020` is the first line in all Pyret files to explicitly set the default namespace. +At the moment, there's not a generator for Pyret exercises. +Make sure `use context essentials2020` is the first line in all Pyret files to explicitly set the default namespace. ## Track linting diff --git a/docs/ABOUT.md b/docs/ABOUT.md index 7f5c50b..d638d49 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -1,6 +1,9 @@ # About -Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online computer science resource. Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. Available [online and offline][set-sail], it can be easily used on many platforms. +Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. +The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online computer science resource. +Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. +Available [online and offline][set-sail], it can be easily used on many platforms. [dcic]: https://dcic-world.org/ [set-sail]: https://pyret.org/set-sail/index.html diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index f1c6b34..4e55c8c 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,6 +1,9 @@ # Installation -Please review the [official installation directions]. The [official online editor] that can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. However, an experimental command-line interface (CLI) is also available by first installing [NodeJS] following your platform's directions and then the [pyret-npm] package. Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)]or a virtual machine of their choosing. +Please review the [official installation directions]. +The [official online editor] can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. +However, a command-line interface (CLI) is also available by first installing [NodeJS] following your platform's directions and then the [pyret-npm] package. +Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)] or a virtual machine of their choosing. [official installation directions]: https://pyret.org/set-sail/ [NodeJS]: https://nodejs.org/en/download From a564956a8b4e484c3f8a9d629903dae5327aa21c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 27 Sep 2023 20:49:17 -0700 Subject: [PATCH 132/244] Add simple-linked-list (#87) --- config.json | 8 + .../simple-linked-list/.docs/instructions.md | 19 ++ .../simple-linked-list/.docs/introduction.md | 5 + .../simple-linked-list/.meta/config.json | 19 ++ .../simple-linked-list/.meta/example.arr | 37 ++++ .../simple-linked-list-test.arr | 179 ++++++++++++++++++ .../simple-linked-list/simple-linked-list.arr | 30 +++ 7 files changed, 297 insertions(+) create mode 100644 exercises/practice/simple-linked-list/.docs/instructions.md create mode 100644 exercises/practice/simple-linked-list/.docs/introduction.md create mode 100644 exercises/practice/simple-linked-list/.meta/config.json create mode 100644 exercises/practice/simple-linked-list/.meta/example.arr create mode 100644 exercises/practice/simple-linked-list/simple-linked-list-test.arr create mode 100644 exercises/practice/simple-linked-list/simple-linked-list.arr diff --git a/config.json b/config.json index 9f5c22c..b981e28 100644 --- a/config.json +++ b/config.json @@ -342,6 +342,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "simple-linked-list", + "name": "Simple Linked List", + "uuid": "c2529f83-00db-427c-a478-57a8c7512f12", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "space-age", "name": "Space Age", diff --git a/exercises/practice/simple-linked-list/.docs/instructions.md b/exercises/practice/simple-linked-list/.docs/instructions.md new file mode 100644 index 0000000..04640b1 --- /dev/null +++ b/exercises/practice/simple-linked-list/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +Write a prototype of the music player application. + +For the prototype, each song will simply be represented by a number. +Given a range of numbers (the song IDs), create a singly linked list. + +Given a singly linked list, you should be able to reverse the list to play the songs in the opposite order. + +~~~~exercism/note +The linked list is a fundamental data structure in computer science, often used in the implementation of other data structures. + +The simplest kind of linked list is a **singly** linked list. +That means that each element (or "node") contains data, along with something that points to the next node in the list. + +If you want to dig deeper into linked lists, check out [this article][intro-linked-list] that explains it using nice drawings. + +[intro-linked-list]: https://medium.com/basecs/whats-a-linked-list-anyway-part-1-d8b7e6508b9d +~~~~ diff --git a/exercises/practice/simple-linked-list/.docs/introduction.md b/exercises/practice/simple-linked-list/.docs/introduction.md new file mode 100644 index 0000000..0e1df72 --- /dev/null +++ b/exercises/practice/simple-linked-list/.docs/introduction.md @@ -0,0 +1,5 @@ +# Introduction + +You work for a music streaming company. + +You've been tasked with creating a playlist feature for your music player application. diff --git a/exercises/practice/simple-linked-list/.meta/config.json b/exercises/practice/simple-linked-list/.meta/config.json new file mode 100644 index 0000000..177392b --- /dev/null +++ b/exercises/practice/simple-linked-list/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "simple-linked-list.arr" + ], + "test": [ + "simple-linked-list-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Write a simple linked list implementation that uses Elements and a List.", + "source": "Inspired by 'Data Structures and Algorithms with Object-Oriented Design Patterns in Ruby', singly linked-lists.", + "source_url": "https://web.archive.org/web/20160731005714/http://brpreiss.com/books/opus8/html/page96.html" +} diff --git a/exercises/practice/simple-linked-list/.meta/example.arr b/exercises/practice/simple-linked-list/.meta/example.arr new file mode 100644 index 0000000..ab8fff9 --- /dev/null +++ b/exercises/practice/simple-linked-list/.meta/example.arr @@ -0,0 +1,37 @@ +use context essentials2020 + +provide-types * + +data LinkedList: + | empty-list with: + method foldl(_, _, acc): acc end, + | linked-list(head, tail) with: + method foldl(self, f, acc): + self.tail.foldl(f, f(self.head, acc)) + end, + method get-head(self): + self.head + end, + method get-tail(self): + self.tail + end +sharing: + method length(self): + cases(LinkedList) self: + | empty-list => 0 + | linked-list(_, r) => + r.foldl(lam(elt, acc): acc + 1 end, 1) + end + end, + method push(self, val): linked-list(val, self) end, + method reversed(self): + self.foldl( + lam(elt, acc): linked-list(elt, acc) end, + empty-list) + end, + method to-list(self): + self.foldl( + lam(elt, acc): acc.push(elt) end, + [list: ]) + end +end \ No newline at end of file diff --git a/exercises/practice/simple-linked-list/simple-linked-list-test.arr b/exercises/practice/simple-linked-list/simple-linked-list-test.arr new file mode 100644 index 0000000..16d8348 --- /dev/null +++ b/exercises/practice/simple-linked-list/simple-linked-list-test.arr @@ -0,0 +1,179 @@ +use context essentials2020 + +include file("simple-linked-list.arr") + +# No canonical data available for this exercise so these have been ported from Python and F# + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-list-length-zero(): + check "empty list has length zero": + empty-list.length() is 0 + end +end + +fun singleton-has-length-one(): + check "singleton list has length one": + linked-list(1, empty-list).length() is 1 + end +end + +fun non-empty-list-has-length(): + check "non-empty list has correct length": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.length() is 3 + end +end + +fun singleton-has-head(): + check "singleton list has head": + linked-list(1, empty-list).get-head() is 1 + end +end + +fun non-empty-list-has-head(): + check "non-empty list has correct head": + result = empty-list + ^ linked-list(1, _) + ^ linked-list(2, _) + + result.get-head() is 2 + end +end + +fun push-to-non-empty-list(): + check "can push to non-empty list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.push(4).length() is 4 + end +end + +fun push-changes-empty-list-head(): + check "pushing to empty list changes head": + result = empty-list.push(5) + + result.length() is 1 + result.get-head() is 5 + end +end + +fun access-second-element(): + check "can access second element in list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(4, _) + ^ linked-list(5, _) + + result.get-tail().get-head() is 4 + end +end + +fun singleton-has-no-tail(): + check "test singleton list head has no tail": + linked-list(1, empty-list).get-tail() is empty-list + end +end + +fun non-empty-list-traverse(): + check "non-empty list traverse": + my-list = range(0, 11).foldl( + lam(elt, acc): + acc.push(elt) + end, + empty-list) + + traversed = range(-10, 0).foldl( + lam(n, acc) block: + acc.get-head() is num-abs(n) + acc.get-tail() + end, + my-list) + + traversed.get-tail() is empty-list + end +end + +fun empty-linked-list-is-empty-list(): + check "empty linked list to list is empty": + empty-list.to-list() is [list: ] + end +end + +fun singleton-is-list-with-single-element(): + check "singleton linked list to list with single element": + linked-list(1, empty-list).to-list() is [list: 1] + end +end + +fun non-empty-list-is-list-with-all-elements(): + check "non-empty linked list to list is list with all elements": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.to-list() is [list: 3, 2, 1] + end +end + +fun reversed-empty-list-is-empty-list(): + check "reversed empty list is empty list": + empty-list.reversed().to-list() is [list: ] + end +end + +fun reversed-singleton-list-is-same-list(): + check "reversed singleton list is same list": + linked-list(1, empty-list).reversed() is linked-list(1, empty-list) + end +end + +fun reverse-non-empty-list(): + check "reverse non-empty list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.reversed().to-list() is [list: 1, 2, 3] + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-list-length-zero, true), + test(singleton-has-length-one, false), + test(non-empty-list-has-length, false), + test(singleton-has-head, false), + test(non-empty-list-has-head, false), + test(push-to-non-empty-list, false), + test(push-changes-empty-list-head, false), + test(access-second-element, false), + test(singleton-has-no-tail, false), + test(non-empty-list-traverse, false), + test(empty-linked-list-is-empty-list, false), + test(singleton-is-list-with-single-element, false), + test(non-empty-list-is-list-with-all-elements, false), + test(reversed-empty-list-is-empty-list, false), + test(reversed-singleton-list-is-same-list, false), + test(reverse-non-empty-list, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/simple-linked-list/simple-linked-list.arr b/exercises/practice/simple-linked-list/simple-linked-list.arr new file mode 100644 index 0000000..648f137 --- /dev/null +++ b/exercises/practice/simple-linked-list/simple-linked-list.arr @@ -0,0 +1,30 @@ +use context essentials2020 + +provide-types * + +#| + We have given you a beginning structure to help pass the tests here. +|# +data LinkedList: + | empty-list + | linked-list(head, tail) with: + method get-head(self): + raise("please implement the get-head method") + end, + method get-tail(self): + raise("please implement the get-tail method") + end +sharing: + method length(self): + raise("please implement the length method") + end, + method push(self, val): + raise("please implement the push method") + end, + method reversed(self): + raise("please implement the reversed method") + end, + method to-list(self): + raise("please implement the to-list method") + end +end \ No newline at end of file From e7f900c14429c098acf1edf23e202021dd6fd0d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:37:25 -0700 Subject: [PATCH 133/244] Update TESTS.md with pending test info (#151) --- docs/TESTS.md | 60 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/docs/TESTS.md b/docs/TESTS.md index e6f3f02..450c0a3 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,11 +1,54 @@ -# Tests -When working offline, first make sure [pyret-npm] is installed and available. Then execute tests by passing `pyret` the location of the test file relative to your current working directory. -`$ pyret relative/path/to/example-test.arr` +# Tests In Brief + +When working through the Exercism web editor, all tests defined in the test file will be run. +When working offline, only the first test is enabled by default. +To enable subsequent tests, find the corresponding `TestRun` value at the bottom of the file and change its `active` value from false to true. +Rerunning `pyret example-test.arr` at this point will pick up and run the now-active tests. + +# Testing Details + +When working locally (i.e. not within the Exercism web editor), first make sure [pyret-npm] is installed and accessible. +Then execute the tests by passing `pyret` the location of the test file relative to your current working directory like +`$ pyret relative/path/to/example-test.arr`. + +On this track, Pyret check blocks are wrapped in functions to delay detection and execution. +Those functions are stored as a `TestRun` value with a field for the function and another field for whether it should be run. +When working locally, this second field should be set to `true` instead of `false` if you want to run a specific test. +On the Exercism website, all TestRun values are run regardless of that second field's contents so a solution passing locally may not pass on the website if all the local tests haven't been enabled. + +In the below example, the first TestRun value `test(foo, true)` has `true` for the `active` field so Pyret will invoke the stored function, evaluating the check block inside it. +The second TestRun value `test(bar, false)` has `false` for the same field so Pyret won't invoke the bar function. +As a consequence, Pyret will locally report the single test seen as passed +However, when you submit your solution, the Exercism website runs both tests, and the second one will fail. +To avoid this issue, enable each test as you work on your solution locally by changing the corresponding TestRun's active field to true. +If all the tests are enabled locally and pass, so should the tests on the website once you submit the solution. + +```pyret +fun foo(): + check "foo": + true is true + end +end + +fun bar(): + check "bar": + false is true + end +end + +data TestRun: test(run, active) end + +[list: + test(foo, true), + test(bar, false) +].each(lam(t): when t.active: t.run() end end) +``` # Debugging -In many languages, there is a common idiom of printing text to the screen during code execution. This can trivially be done using the +In many languages, there is a common idiom of printing text to the screen during code execution. +This can trivially be done using the [print] function which prints its provided value and then returns it. However, Pyret by default doesn't allow for multiple expressions in a code block so you can't do this: @@ -32,7 +75,8 @@ print(add-two-number(1, 2)) 3 ``` -A more convenient approach is to use a [spy statement] which prints the contents and line numbers of the passed values. It doesn't require the block keyword to be used. +A more convenient approach is to use a [spy statement] which prints the contents and line numbers of the passed values. +It doesn't require the block keyword to be used. ```pyret fun add-two-numbers(number1, number2): @@ -89,9 +133,11 @@ true Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. -To export bindings, you need to add a [provide statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing] which Pyret does not allow. +To export bindings, you need to add a [provide statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. +To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing] which Pyret does not allow. -To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. It is an error to try and provide +To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. +It is an error to try and provide a specific type here. ```pyret provide-types * From b7d5aff91911e4cf45b55f3052f110b404131c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 3 Oct 2023 18:22:11 -0700 Subject: [PATCH 134/244] First pass at practices (#153) --- concepts/booleans/.meta/config.json | 7 + concepts/booleans/about.md | 1 + concepts/booleans/introduction.md | 1 + concepts/booleans/links.json | 6 + concepts/comparisons/.meta/config.json | 7 + concepts/comparisons/about.md | 1 + concepts/comparisons/introduction.md | 1 + concepts/comparisons/links.json | 6 + concepts/conditionals/.meta/config.json | 7 + concepts/conditionals/about.md | 1 + concepts/conditionals/introduction.md | 1 + concepts/conditionals/links.json | 6 + concepts/data-definitions/.meta/config.json | 7 + concepts/data-definitions/about.md | 1 + concepts/data-definitions/introduction.md | 1 + concepts/data-definitions/links.json | 6 + concepts/function-arguments/.meta/config.json | 7 + concepts/function-arguments/about.md | 1 + concepts/function-arguments/introduction.md | 1 + concepts/function-arguments/links.json | 6 + concepts/lists/.meta/config.json | 7 + concepts/lists/about.md | 1 + concepts/lists/introduction.md | 1 + concepts/lists/links.json | 6 + concepts/loops/.meta/config.json | 7 + concepts/loops/about.md | 1 + concepts/loops/introduction.md | 1 + concepts/loops/links.json | 6 + concepts/numbers/.meta/config.json | 7 + concepts/numbers/about.md | 1 + concepts/numbers/introduction.md | 1 + concepts/numbers/links.json | 6 + concepts/string-dicts/.meta/config.json | 7 + concepts/string-dicts/about.md | 1 + concepts/string-dicts/introduction.md | 1 + concepts/string-dicts/links.json | 6 + concepts/strings/.meta/config.json | 7 + concepts/strings/about.md | 1 + concepts/strings/introduction.md | 1 + concepts/strings/links.json | 6 + config.json | 234 ++++++++++++++---- 41 files changed, 341 insertions(+), 43 deletions(-) create mode 100644 concepts/booleans/.meta/config.json create mode 100644 concepts/booleans/about.md create mode 100644 concepts/booleans/introduction.md create mode 100644 concepts/booleans/links.json create mode 100644 concepts/comparisons/.meta/config.json create mode 100644 concepts/comparisons/about.md create mode 100644 concepts/comparisons/introduction.md create mode 100644 concepts/comparisons/links.json create mode 100644 concepts/conditionals/.meta/config.json create mode 100644 concepts/conditionals/about.md create mode 100644 concepts/conditionals/introduction.md create mode 100644 concepts/conditionals/links.json create mode 100644 concepts/data-definitions/.meta/config.json create mode 100644 concepts/data-definitions/about.md create mode 100644 concepts/data-definitions/introduction.md create mode 100644 concepts/data-definitions/links.json create mode 100644 concepts/function-arguments/.meta/config.json create mode 100644 concepts/function-arguments/about.md create mode 100644 concepts/function-arguments/introduction.md create mode 100644 concepts/function-arguments/links.json create mode 100644 concepts/lists/.meta/config.json create mode 100644 concepts/lists/about.md create mode 100644 concepts/lists/introduction.md create mode 100644 concepts/lists/links.json create mode 100644 concepts/loops/.meta/config.json create mode 100644 concepts/loops/about.md create mode 100644 concepts/loops/introduction.md create mode 100644 concepts/loops/links.json create mode 100644 concepts/numbers/.meta/config.json create mode 100644 concepts/numbers/about.md create mode 100644 concepts/numbers/introduction.md create mode 100644 concepts/numbers/links.json create mode 100644 concepts/string-dicts/.meta/config.json create mode 100644 concepts/string-dicts/about.md create mode 100644 concepts/string-dicts/introduction.md create mode 100644 concepts/string-dicts/links.json create mode 100644 concepts/strings/.meta/config.json create mode 100644 concepts/strings/about.md create mode 100644 concepts/strings/introduction.md create mode 100644 concepts/strings/links.json diff --git a/concepts/booleans/.meta/config.json b/concepts/booleans/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/booleans/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/booleans/about.md b/concepts/booleans/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/booleans/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/booleans/introduction.md b/concepts/booleans/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/booleans/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/booleans/links.json b/concepts/booleans/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/booleans/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/comparisons/.meta/config.json b/concepts/comparisons/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/comparisons/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/comparisons/about.md b/concepts/comparisons/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/comparisons/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/comparisons/introduction.md b/concepts/comparisons/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/comparisons/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/comparisons/links.json b/concepts/comparisons/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/comparisons/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/conditionals/.meta/config.json b/concepts/conditionals/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/conditionals/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/conditionals/about.md b/concepts/conditionals/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/conditionals/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/conditionals/introduction.md b/concepts/conditionals/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/conditionals/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/conditionals/links.json b/concepts/conditionals/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/conditionals/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/data-definitions/.meta/config.json b/concepts/data-definitions/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/data-definitions/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/data-definitions/about.md b/concepts/data-definitions/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/data-definitions/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/data-definitions/introduction.md b/concepts/data-definitions/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/data-definitions/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/data-definitions/links.json b/concepts/data-definitions/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/data-definitions/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/function-arguments/.meta/config.json b/concepts/function-arguments/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/function-arguments/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/function-arguments/about.md b/concepts/function-arguments/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/function-arguments/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/function-arguments/introduction.md b/concepts/function-arguments/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/function-arguments/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/function-arguments/links.json b/concepts/function-arguments/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/function-arguments/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/lists/.meta/config.json b/concepts/lists/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/lists/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/lists/about.md b/concepts/lists/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/lists/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/lists/introduction.md b/concepts/lists/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/lists/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/lists/links.json b/concepts/lists/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/lists/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/loops/.meta/config.json b/concepts/loops/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/loops/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/loops/about.md b/concepts/loops/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/loops/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/loops/introduction.md b/concepts/loops/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/loops/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/loops/links.json b/concepts/loops/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/loops/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/numbers/.meta/config.json b/concepts/numbers/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/numbers/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/numbers/about.md b/concepts/numbers/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/numbers/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/numbers/introduction.md b/concepts/numbers/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/numbers/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/numbers/links.json b/concepts/numbers/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/numbers/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/string-dicts/.meta/config.json b/concepts/string-dicts/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/string-dicts/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/string-dicts/about.md b/concepts/string-dicts/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/string-dicts/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/string-dicts/introduction.md b/concepts/string-dicts/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/string-dicts/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/string-dicts/links.json b/concepts/string-dicts/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/string-dicts/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/concepts/strings/.meta/config.json b/concepts/strings/.meta/config.json new file mode 100644 index 0000000..72aa251 --- /dev/null +++ b/concepts/strings/.meta/config.json @@ -0,0 +1,7 @@ +{ + "blurb": "TODO: add blurb for this concept", + "authors": [ + "YourNameHere" + ], + "contributors": [] +} \ No newline at end of file diff --git a/concepts/strings/about.md b/concepts/strings/about.md new file mode 100644 index 0000000..e3aab23 --- /dev/null +++ b/concepts/strings/about.md @@ -0,0 +1 @@ +# TODO: Add about for this concept diff --git a/concepts/strings/introduction.md b/concepts/strings/introduction.md new file mode 100644 index 0000000..63af712 --- /dev/null +++ b/concepts/strings/introduction.md @@ -0,0 +1 @@ +# TODO: Add introduction for this concept diff --git a/concepts/strings/links.json b/concepts/strings/links.json new file mode 100644 index 0000000..4840efb --- /dev/null +++ b/concepts/strings/links.json @@ -0,0 +1,6 @@ +[ + { + "url": "http://example.com/", + "description": "TODO: add new link (above) and write a short description here of the resource." + } +] diff --git a/config.json b/config.json index b981e28..8d9fcfc 100644 --- a/config.json +++ b/config.json @@ -42,7 +42,10 @@ "slug": "acronym", "name": "Acronym", "uuid": "5ae47f42-45fc-4de2-b0df-3098ef622b0c", - "practices": [], + "practices": [ + "loops", + "strings" + ], "prerequisites": [], "difficulty": 2 }, @@ -58,7 +61,9 @@ "slug": "armstrong-numbers", "name": "Armstrong Numbers", "uuid": "26431238-01d5-4890-9bb1-f5b023e2c295", - "practices": [], + "practices": [ + "numbers" + ], "prerequisites": [], "difficulty": 2 }, @@ -66,7 +71,10 @@ "slug": "atbash-cipher", "name": "Atbash Cipher", "uuid": "7263c877-5ddd-4c48-886f-e3f57967f649", - "practices": [], + "practices": [ + "strings", + "conditionals" + ], "prerequisites": [], "difficulty": 3 }, @@ -74,7 +82,9 @@ "slug": "bank-account", "name": "Bank Account", "uuid": "44b5048a-8e98-4300-8bd9-fce59dcc008b", - "practices": [], + "practices": [ + "data-definitions" + ], "prerequisites": [], "difficulty": 3 }, @@ -82,7 +92,10 @@ "slug": "binary-search", "name": "Binary Search", "uuid": "dc4437e4-9ab3-4ab0-ae0d-ae3d2287e97c", - "practices": [], + "practices": [ + "loops", + "lists" + ], "prerequisites": [], "difficulty": 2 }, @@ -90,7 +103,9 @@ "slug": "bob", "name": "Bob", "uuid": "28d1beed-ff83-4341-8a71-08fd287489fd", - "practices": [], + "practices": [ + "conditionals" + ], "prerequisites": [], "difficulty": 2 }, @@ -98,7 +113,9 @@ "slug": "collatz-conjecture", "name": "Collatz Conjecture", "uuid": "00a0a185-0b05-4f83-a840-80070635255a", - "practices": [], + "practices": [ + "numbers" + ], "prerequisites": [], "difficulty": 3 }, @@ -106,7 +123,9 @@ "slug": "darts", "name": "Darts", "uuid": "d70a98f9-4743-40b7-ab18-f37d5508a7a5", - "practices": [], + "practices": [ + "comparisons" + ], "prerequisites": [], "difficulty": 1 }, @@ -114,7 +133,10 @@ "slug": "difference-of-squares", "name": "Difference of Squares", "uuid": "6968b216-4478-4778-93d3-197ed849fd40", - "practices": [], + "practices": [ + "numbers", + "loops" + ], "prerequisites": [], "difficulty": 3 }, @@ -122,7 +144,9 @@ "slug": "dnd-character", "name": "D&D Character", "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", - "practices": [], + "practices": [ + "data-definitions" + ], "prerequisites": [], "difficulty": 5 }, @@ -130,7 +154,9 @@ "slug": "etl", "name": "ETL", "uuid": "a86c1654-da80-46c9-aba5-a2eec3f66262", - "practices": [], + "practices": [ + "string-dicts" + ], "prerequisites": [], "difficulty": 2 }, @@ -138,7 +164,9 @@ "slug": "grains", "name": "Grains", "uuid": "04948c47-34d1-4200-a6f0-5131f63c5600", - "practices": [], + "practices": [ + "numbers" + ], "prerequisites": [], "difficulty": 3 }, @@ -146,7 +174,10 @@ "slug": "hamming", "name": "Hamming", "uuid": "731dcc09-a78c-4da4-a6c7-47bb0b6720f2", - "practices": [], + "practices": [ + "comparisons", + "loops" + ], "prerequisites": [], "difficulty": 2 }, @@ -162,7 +193,9 @@ "slug": "high-scores", "name": "High Scores", "uuid": "8a71dfd1-01a6-485a-87b2-dcee0dd7b965", - "practices": [], + "practices": [ + "data-definitions" + ], "prerequisites": [], "difficulty": 2 }, @@ -170,7 +203,9 @@ "slug": "isogram", "name": "Isogram", "uuid": "dff46c06-d8be-48e0-8158-4c6c484a3cbc", - "practices": [], + "practices": [ + "strings" + ], "prerequisites": [], "difficulty": 3 }, @@ -178,7 +213,10 @@ "slug": "leap", "name": "Leap", "uuid": "c67175ca-9706-4aec-a45b-040a23ef25c7", - "practices": [], + "practices": [ + "booleans", + "numbers" + ], "prerequisites": [], "difficulty": 3 }, @@ -186,7 +224,9 @@ "slug": "list-ops", "name": "List Ops", "uuid": "0a28e195-6f3c-46e2-a62c-1a7097583032", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -194,7 +234,9 @@ "slug": "luhn", "name": "Luhn", "uuid": "9476a1c3-1775-453d-bb08-be919fd03bad", - "practices": [], + "practices": [ + "loops" + ], "prerequisites": [], "difficulty": 3 }, @@ -202,7 +244,9 @@ "slug": "matrix", "name": "Matrix", "uuid": "eef61f56-6dda-4389-b348-7c27835493b8", - "practices": [], + "practices": [ + "loops" + ], "prerequisites": [], "difficulty": 3 }, @@ -210,7 +254,10 @@ "slug": "nucleotide-count", "name": "Nucleotide Count", "uuid": "437768f4-a4d4-4a87-bf8b-6fe403e34179", - "practices": [], + "practices": [ + "loops", + "string-dicts" + ], "prerequisites": [], "difficulty": 3 }, @@ -218,7 +265,9 @@ "slug": "pangram", "name": "Pangram", "uuid": "ef2dc89f-a9d2-48f0-9bb5-4cafeb50c81c", - "practices": [], + "practices": [ + "strings" + ], "prerequisites": [], "difficulty": 3 }, @@ -226,7 +275,9 @@ "slug": "perfect-numbers", "name": "Perfect Numbers", "uuid": "dbf1655b-c3d3-4443-8862-db4e6c3136e4", - "practices": [], + "practices": [ + "comparisons" + ], "prerequisites": [], "difficulty": 3 }, @@ -234,7 +285,9 @@ "slug": "phone-number", "name": "Phone Number", "uuid": "dd3ab667-8743-4761-af2d-781fc80959f9", - "practices": [], + "practices": [ + "strings" + ], "prerequisites": [], "difficulty": 3 }, @@ -242,7 +295,10 @@ "slug": "protein-translation", "name": "Protein Translation", "uuid": "29563d5a-a703-43c8-953e-3fde7daae3b0", - "practices": [], + "practices": [ + "loops", + "string-dicts" + ], "prerequisites": [], "difficulty": 3 }, @@ -250,7 +306,9 @@ "slug": "proverb", "name": "Proverb", "uuid": "18946346-e04c-4032-b3dc-4abdb6c8f5a1", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -258,7 +316,9 @@ "slug": "queen-attack", "name": "Queen Attack", "uuid": "5a57c5fa-f4a2-460d-9dec-812834ae1cd4", - "practices": [], + "practices": [ + "data-definitions" + ], "prerequisites": [], "difficulty": 3 }, @@ -266,7 +326,9 @@ "slug": "raindrops", "name": "Raindrops", "uuid": "8dcd513e-93f5-499b-a388-0a7f3c7898dd", - "practices": [], + "practices": [ + "comparisons" + ], "prerequisites": [], "difficulty": 3 }, @@ -274,7 +336,9 @@ "slug": "resistor-color", "name": "Resistor Color", "uuid": "57bc4302-4c4b-43a7-9abb-2378dd6ef70e", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 2 }, @@ -282,7 +346,9 @@ "slug": "resistor-color-duo", "name": "Resistor Color Duo", "uuid": "3f897d66-6f49-49ca-a6ab-a168d6ef5e68", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -290,7 +356,9 @@ "slug": "resistor-color-trio", "name": "Resistor Color Trio", "uuid": "4e758c9f-3204-41cd-b8d1-8f978bd90809", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -298,7 +366,9 @@ "slug": "reverse-string", "name": "Reverse String", "uuid": "69911771-a41a-4be9-b685-678def75e1b2", - "practices": [], + "practices": [ + "strings" + ], "prerequisites": [], "difficulty": 1 }, @@ -306,7 +376,10 @@ "slug": "rna-transcription", "name": "RNA Transcription", "uuid": "00406c43-30c9-4756-a830-b110b6b53eb1", - "practices": [], + "practices": [ + "comparisons", + "strings" + ], "prerequisites": [], "difficulty": 2 }, @@ -314,7 +387,9 @@ "slug": "roman-numerals", "name": "Roman Numerals", "uuid": "1382711a-e980-4ff1-825a-a6373ae3d88f", - "practices": [], + "practices": [ + "strings" + ], "prerequisites": [], "difficulty": 3 }, @@ -322,7 +397,9 @@ "slug": "scrabble-score", "name": "Scrabble Score", "uuid": "8b1cfd2f-0d25-4eec-9b8e-75c7a339fc6c", - "practices": [], + "practices": [ + "string-dicts" + ], "prerequisites": [], "difficulty": 2 }, @@ -330,7 +407,9 @@ "slug": "secret-handshake", "name": "Secret Handshake", "uuid": "3a830edd-253c-4889-ad6b-9402fea4af97", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -338,7 +417,9 @@ "slug": "series", "name": "Series", "uuid": "f58b5305-3bf2-4c15-8aac-339a97204d06", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 3 }, @@ -354,7 +435,10 @@ "slug": "space-age", "name": "Space Age", "uuid": "fcdf45a2-a72c-4983-8271-ca9276467f98", - "practices": [], + "practices": [ + "string-dicts", + "numbers" + ], "prerequisites": [], "difficulty": 2 }, @@ -362,7 +446,10 @@ "slug": "triangle", "name": "Triangle", "uuid": "aab55f24-e31a-4e99-8c6c-12e69de7ce7c", - "practices": [], + "practices": [ + "booleans", + "numbers" + ], "prerequisites": [], "difficulty": 3 }, @@ -370,7 +457,9 @@ "slug": "square-root", "name": "Square Root", "uuid": "351651f4-3e42-4392-8862-9a18f9acb70d", - "practices": [], + "practices": [ + "numbers" + ], "prerequisites": [], "difficulty": 3 }, @@ -378,7 +467,9 @@ "slug": "strain", "name": "Strain", "uuid": "8a4f0fdd-831f-4e28-9cf9-391b725bcf69", - "practices": [], + "practices": [ + "lists" + ], "prerequisites": [], "difficulty": 2 }, @@ -386,7 +477,11 @@ "slug": "word-count", "name": "Word Count", "uuid": "df93be4e-a862-4636-bb1c-e51e0e294797", - "practices": [], + "practices": [ + "strings", + "string-dicts", + "loops" + ], "prerequisites": [], "difficulty": 2 }, @@ -394,7 +489,9 @@ "slug": "two-fer", "name": "Two Fer", "uuid": "198c1176-536a-49db-828b-0dc1655d7da9", - "practices": [], + "practices": [ + "function-arguments" + ], "prerequisites": [], "difficulty": 1 } @@ -405,7 +502,58 @@ "lens-person" ] }, - "concepts": [], + "concepts": [ + { + "uuid": "f4293a2d-6b59-4372-8764-2344afe3195a", + "slug": "booleans", + "name": "Booleans" + }, + { + "uuid": "596b676c-2118-4fa4-a8be-f0ded17a6294", + "slug": "comparisons", + "name": "Comparisons" + }, + { + "uuid": "7ebdbbc7-68f8-40f1-bbe0-957d5cead31e", + "slug": "conditionals", + "name": "Conditionals" + }, + { + "uuid": "f03bf87f-e3ef-4771-b3f0-b360a864d9a3", + "slug": "data-definitions", + "name": "Data Definitions" + }, + { + "uuid": "1a5898a8-01f7-4b84-89ed-1cb2cb8dc8fe", + "slug": "function-arguments", + "name": "Function Arguments" + }, + { + "uuid": "33dd5c32-e13f-4d61-bdce-cc976e86351e", + "slug": "lists", + "name": "Lists" + }, + { + "uuid": "da0fd100-f1e1-4bc9-98fd-a2bb52962358", + "slug": "loops", + "name": "Loops" + }, + { + "uuid": "e2284f76-9c87-4b29-9c84-4fb628a92f2d", + "slug": "numbers", + "name": "Numbers" + }, + { + "uuid": "bec21c96-0c3d-48fb-ba7a-2b5f744a1d30", + "slug": "string-dicts", + "name": "StringDicts" + }, + { + "uuid": "38486099-8bf7-4721-9c94-fd3b30c522a9", + "slug": "strings", + "name": "Strings" + } + ], "key_features": [ { "title": "Simplified syntax", From c7070f6f45d8a90ce9dc27c08a9000097694bdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:10:54 -0700 Subject: [PATCH 135/244] Update contributing section (#154) --- README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d116e85..eaf0123 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,52 @@ This command will iterate over all exercises and check to see if their exemplar/ Please see [Exercism's contributing guide](https://exercism.org/docs/building). At the moment, there's not a generator for Pyret exercises. -Make sure `use context essentials2020` is the first line in all Pyret files to explicitly set the default namespace. + +Here's the basic template for an `exercise-slug-test`.arr. +Each `check` block corresponds to a single test case, and the string label is reported to the student. +Each `check` block is wrapped inside a no-parameter function which is then stored inside the `run` field of a `test` value of the `TestRun` datatype. +This `test` value also contains an `active` field which indicates whether a test should be run (`true`) or not (`false`). +All `test` values go inside a list that Pyret iterates over at runtime, executing the functions within each `test` value marked as active. + +A contributor is responsible for copying this template, adding the appropriate functions and `check` blocks, and populating the list at the bottom. + +```pyret + +use context essentials2020 + +include file("exercise-slug.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun foo-returns-1(): + check "foo returns 1": + foo() is 1 + end +end + +fun bar-returns-2(): + check "bar returns 2": + bar() is 2 + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(foo true), + test(bar, false), +].each(lam(t): when t.active: t.run() end end) +``` ## Track linting From 4e87e5ed1014ad9a8c3872c1407e6b77878323c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 15 Oct 2023 22:06:16 -0700 Subject: [PATCH 136/244] Four spaces to two in SNIPPET.txt (#156) --- docs/SNIPPET.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/SNIPPET.txt b/docs/SNIPPET.txt index ddb36bc..991fe89 100644 --- a/docs/SNIPPET.txt +++ b/docs/SNIPPET.txt @@ -1,3 +1,3 @@ fun hello(name): - "Hello, " + name + "!" -end \ No newline at end of file + "Hello, " + name + "!" +end From f4ac32a975711a5929dea3be6d0852e97defd0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 15 Oct 2023 22:49:05 -0700 Subject: [PATCH 137/244] Add introduction to booleans concept (#155) --- concepts/booleans/.meta/config.json | 4 ++-- concepts/booleans/about.md | 37 ++++++++++++++++++++++++++++- concepts/booleans/introduction.md | 37 ++++++++++++++++++++++++++++- concepts/booleans/links.json | 4 ++-- 4 files changed, 76 insertions(+), 6 deletions(-) diff --git a/concepts/booleans/.meta/config.json b/concepts/booleans/.meta/config.json index 72aa251..8182c9b 100644 --- a/concepts/booleans/.meta/config.json +++ b/concepts/booleans/.meta/config.json @@ -1,7 +1,7 @@ { - "blurb": "TODO: add blurb for this concept", + "blurb": "Pyret provides a Boolean primitive with two distinct values: 'true' and 'false'.", "authors": [ - "YourNameHere" + "BNAndras" ], "contributors": [] } \ No newline at end of file diff --git a/concepts/booleans/about.md b/concepts/booleans/about.md index e3aab23..d371438 100644 --- a/concepts/booleans/about.md +++ b/concepts/booleans/about.md @@ -1 +1,36 @@ -# TODO: Add about for this concept +# Introduction + +Pyret has two distinct Boolean primitives, `true` and `false`. +These two values represent whether a statement or condition is valid or not. + +```pyret +"a" == "a" # true +"a" == "b" # false +``` + +Pyret provides the operators `and` and `or` that can combine Boolean values. + +The and operator returns true if both sides are true and false for all other combinations. + +```pyret +true and true # true +true and false # true +false and true # false +false and false # false +``` + +The or operator returns true if at least one side is true and false if both sides are false. + +```pyret +true or true # true +true or false # true +false or true # true +false or false # false +``` + +`not()` is a built-in function that flips a true to false or a false to true. + +```pyret +not(true) # false +not(false) # true +``` diff --git a/concepts/booleans/introduction.md b/concepts/booleans/introduction.md index 63af712..d371438 100644 --- a/concepts/booleans/introduction.md +++ b/concepts/booleans/introduction.md @@ -1 +1,36 @@ -# TODO: Add introduction for this concept +# Introduction + +Pyret has two distinct Boolean primitives, `true` and `false`. +These two values represent whether a statement or condition is valid or not. + +```pyret +"a" == "a" # true +"a" == "b" # false +``` + +Pyret provides the operators `and` and `or` that can combine Boolean values. + +The and operator returns true if both sides are true and false for all other combinations. + +```pyret +true and true # true +true and false # true +false and true # false +false and false # false +``` + +The or operator returns true if at least one side is true and false if both sides are false. + +```pyret +true or true # true +true or false # true +false or true # true +false or false # false +``` + +`not()` is a built-in function that flips a true to false or a false to true. + +```pyret +not(true) # false +not(false) # true +``` diff --git a/concepts/booleans/links.json b/concepts/booleans/links.json index 4840efb..ce73316 100644 --- a/concepts/booleans/links.json +++ b/concepts/booleans/links.json @@ -1,6 +1,6 @@ [ { - "url": "http://example.com/", - "description": "TODO: add new link (above) and write a short description here of the resource." + "url": "https://pyret.org/docs/latest/A_Tour_of_Pyret.html#%28part._.Booleans%29", + "description": "A Tour of Pyret: Booleans" } ] From 349450664be1461e1912456ea095c1457f91b166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 17 Oct 2023 16:56:46 -0700 Subject: [PATCH 138/244] Add pop-count exercise (#157) --- config.json | 10 ++++ .../practice/pop-count/.docs/instructions.md | 8 ++++ .../practice/pop-count/.docs/introduction.md | 47 ++++++++++++++++++ .../practice/pop-count/.meta/config.json | 19 ++++++++ .../practice/pop-count/.meta/example.arr | 17 +++++++ exercises/practice/pop-count/.meta/tests.toml | 22 +++++++++ .../practice/pop-count/pop-count-test.arr | 48 +++++++++++++++++++ exercises/practice/pop-count/pop-count.arr | 7 +++ 8 files changed, 178 insertions(+) create mode 100644 exercises/practice/pop-count/.docs/instructions.md create mode 100644 exercises/practice/pop-count/.docs/introduction.md create mode 100644 exercises/practice/pop-count/.meta/config.json create mode 100644 exercises/practice/pop-count/.meta/example.arr create mode 100644 exercises/practice/pop-count/.meta/tests.toml create mode 100644 exercises/practice/pop-count/pop-count-test.arr create mode 100644 exercises/practice/pop-count/pop-count.arr diff --git a/config.json b/config.json index 8d9fcfc..8310842 100644 --- a/config.json +++ b/config.json @@ -291,6 +291,16 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "pop-count", + "name": "Pop Count", + "uuid": "ebfaddfb-d094-4471-8771-fc09cf14274f", + "practices": [ + "numbers" + ], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/pop-count/.docs/instructions.md b/exercises/practice/pop-count/.docs/instructions.md new file mode 100644 index 0000000..b0c2df5 --- /dev/null +++ b/exercises/practice/pop-count/.docs/instructions.md @@ -0,0 +1,8 @@ +# Instructions + +Your task is to count the number of 1 bits in the binary representation of a number. + +## Restrictions + +Keep your hands off that bit-count functionality provided by your standard library! +Solve this one yourself using other basic tools instead. diff --git a/exercises/practice/pop-count/.docs/introduction.md b/exercises/practice/pop-count/.docs/introduction.md new file mode 100644 index 0000000..49eaffd --- /dev/null +++ b/exercises/practice/pop-count/.docs/introduction.md @@ -0,0 +1,47 @@ +# Introduction + +Your friend Eliud inherited a farm from her grandma Tigist. +Her granny was an inventor and had a tendency to build things in an overly complicated manner. +The chicken coop has a digital display showing an encoded number representing the positions of all eggs that could be picked up. + +Eliud is asking you to write a program that shows the actual number of eggs in the coop. + +The position information encoding is calculated as follows: + +1. Scan the potential egg-laying spots and mark down a `1` for an existing egg or a `0` for an empty spot. +2. Convert the number from binary to decimal. +3. Show the result on the display. + +Example 1: + +```text +Chicken Coop: + _ _ _ _ _ _ _ +|E| |E|E| | |E| + +Resulting Binary: + 1 0 1 1 0 0 1 + +Decimal number on the display: +89 + +Actual eggs in the coop: +4 +``` + +Example 2: + +```text +Chicken Coop: + _ _ _ _ _ _ _ _ +| | | |E| | | | | + +Resulting Binary: + 0 0 0 1 0 0 0 0 + +Decimal number on the display: +16 + +Actual eggs in the coop: +1 +``` diff --git a/exercises/practice/pop-count/.meta/config.json b/exercises/practice/pop-count/.meta/config.json new file mode 100644 index 0000000..46133c9 --- /dev/null +++ b/exercises/practice/pop-count/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "pop-count.arr" + ], + "test": [ + "pop-count-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Count the 1 bits in a number", + "source": "Christian Willner, Eric Willigers", + "source_url": "https://forum.exercism.org/t/new-exercise-suggestion-pop-count/7632/5" +} diff --git a/exercises/practice/pop-count/.meta/example.arr b/exercises/practice/pop-count/.meta/example.arr new file mode 100644 index 0000000..ed14b41 --- /dev/null +++ b/exercises/practice/pop-count/.meta/example.arr @@ -0,0 +1,17 @@ +use context essentials2020 + +provide: egg-count end + +fun egg-count(n): + fun recurse(val, eggs): + if val == 0: + eggs + else if num-is-positive(num-modulo(val, 2)): + recurse(num-truncate(val / 2), eggs + 1) + else: + recurse(num-truncate(val / 2), eggs) + end + end + + recurse(n, 0) +end diff --git a/exercises/practice/pop-count/.meta/tests.toml b/exercises/practice/pop-count/.meta/tests.toml new file mode 100644 index 0000000..e11683c --- /dev/null +++ b/exercises/practice/pop-count/.meta/tests.toml @@ -0,0 +1,22 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[559e789d-07d1-4422-9004-3b699f83bca3] +description = "0 eggs" + +[97223282-f71e-490c-92f0-b3ec9e275aba] +description = "1 egg" + +[1f8fd18f-26e9-4144-9a0e-57cdfc4f4ff5] +description = "4 eggs" + +[0c18be92-a498-4ef2-bcbb-28ac4b06cb81] +description = "13 eggs" diff --git a/exercises/practice/pop-count/pop-count-test.arr b/exercises/practice/pop-count/pop-count-test.arr new file mode 100644 index 0000000..dc22ee1 --- /dev/null +++ b/exercises/practice/pop-count/pop-count-test.arr @@ -0,0 +1,48 @@ +use context essentials2020 + +include file("pop-count.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun zero-eggs(): + check "0 eggs": + egg-count(0) is 0 + end +end + +fun one-egg(): + check "1 egg": + egg-count(16) is 1 + end +end + +fun four-eggs(): + check "4 eggs": + egg-count(89) is 4 + end +end + +fun thirteen-eggs(): + check "13 eggs": + egg-count(2000000000) is 13 + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(zero-eggs, true), + test(one-egg, false), + test(four-eggs, false), + test(thirteen-eggs, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/pop-count/pop-count.arr b/exercises/practice/pop-count/pop-count.arr new file mode 100644 index 0000000..7965c12 --- /dev/null +++ b/exercises/practice/pop-count/pop-count.arr @@ -0,0 +1,7 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: egg-count end + +fun egg-count(n): + raise("Please implement the egg-count function") +end From e82fc0abc0d73492a643063203564714054fa5c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 18 Oct 2023 21:06:15 -0700 Subject: [PATCH 139/244] Remove unneeded line in example.arr --- exercises/practice/dnd-character/.meta/example.arr | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr index 8892877..f4adc79 100644 --- a/exercises/practice/dnd-character/.meta/example.arr +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -5,7 +5,6 @@ provide-types * data Character: | blank-character() with: method randomize-stats(self) -> Character: - abilities = self.ability() strength = self.ability() dexterity = self.ability() constitution = self.ability() @@ -28,4 +27,4 @@ sharing: modified = (value - 10) / 2 num-floor(modified) end -end \ No newline at end of file +end From c3eb154b7ece46ed1dfd207cb42e6051442b55e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 20 Oct 2023 19:32:05 -0700 Subject: [PATCH 140/244] format config.json files (#158) --- config.json | 22 ++++++++----------- .../practice/binary-search/.meta/config.json | 4 +++- exercises/practice/etl/.meta/config.json | 4 +++- .../practice/two-fer/.approaches/config.json | 8 +++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/config.json b/config.json index 8310842..70e803e 100644 --- a/config.json +++ b/config.json @@ -32,11 +32,7 @@ ".meta/exemplar.arr" ] }, - "approaches": { - "snippet_extension": "arr" - }, "exercises": { - "concept": [], "practice": [ { "slug": "acronym", @@ -597,14 +593,14 @@ } ], "tags": [ - "execution_mode/compiled", - "paradigm/functional", - "typing/dynamic", - "platform/web", - "platform/mac", - "platform/linux", - "runtime/language_specific", - "used_for/scientific_calculations", - "used_for/scripts" + "execution_mode/compiled", + "paradigm/functional", + "platform/linux", + "platform/mac", + "platform/web", + "runtime/language_specific", + "typing/dynamic", + "used_for/scientific_calculations", + "used_for/scripts" ] } diff --git a/exercises/practice/binary-search/.meta/config.json b/exercises/practice/binary-search/.meta/config.json index 3345e80..e58a2df 100644 --- a/exercises/practice/binary-search/.meta/config.json +++ b/exercises/practice/binary-search/.meta/config.json @@ -1,5 +1,7 @@ { - "authors": ["meatball133"], + "authors": [ + "meatball133" + ], "files": { "solution": [ "binary-search.arr" diff --git a/exercises/practice/etl/.meta/config.json b/exercises/practice/etl/.meta/config.json index 0529f62..eeb3264 100644 --- a/exercises/practice/etl/.meta/config.json +++ b/exercises/practice/etl/.meta/config.json @@ -1,5 +1,7 @@ { - "authors": ["meatball133"], + "authors": [ + "meatball133" + ], "files": { "solution": [ "etl.arr" diff --git a/exercises/practice/two-fer/.approaches/config.json b/exercises/practice/two-fer/.approaches/config.json index 1b0f015..8fdeedd 100644 --- a/exercises/practice/two-fer/.approaches/config.json +++ b/exercises/practice/two-fer/.approaches/config.json @@ -1,7 +1,7 @@ { "introduction": { - "authors": ["BNAndras"], - "contributors": [] - }, - "approaches": [] + "authors": [ + "BNAndras" + ] + } } From b14b53cb2c576a00084009f3c2c563d188a320d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:27:57 -0700 Subject: [PATCH 141/244] Bump actions/setup-node from 3 to 4 (#159) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4ec0008..5277085 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 'node' From 629fc0ac04b0f7f5414431437a3bd9b0ce94c911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 30 Oct 2023 16:46:30 -0700 Subject: [PATCH 142/244] Fix indentation in protein-translation tests (#160) --- .../protein-translation/protein-translation-test.arr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index ceeb924..2bfe5fd 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -171,9 +171,9 @@ fun non-existent-codon(): end fun unknown-codon(): -check "Unknown amino acids, not part of a codon, can't translate": - proteins("XYZ") raises "Invalid codon" -end + check "Unknown amino acids, not part of a codon, can't translate": + proteins("XYZ") raises "Invalid codon" + end end fun incomplete-sequence(): @@ -227,4 +227,4 @@ data TestRun: test(run, active) end test(unknown-codon, false), test(incomplete-sequence, false), test(incomplete-sequence-with-stop, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) From 09b457e4770c31a0e076aae7508a3343bb6ab2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 31 Oct 2023 23:21:55 -0700 Subject: [PATCH 143/244] Add flatten-array (#51) --- config.json | 8 + .../.docs/instructions-append.md | 5 + .../flatten-array/.docs/instructions.md | 11 + .../practice/flatten-array/.meta/config.json | 19 ++ .../practice/flatten-array/.meta/example.arr | 22 ++ .../practice/flatten-array/.meta/tests.toml | 43 ++++ .../flatten-array/flatten-array-test.arr | 207 ++++++++++++++++++ .../practice/flatten-array/flatten-array.arr | 7 + 8 files changed, 322 insertions(+) create mode 100644 exercises/practice/flatten-array/.docs/instructions-append.md create mode 100644 exercises/practice/flatten-array/.docs/instructions.md create mode 100644 exercises/practice/flatten-array/.meta/config.json create mode 100644 exercises/practice/flatten-array/.meta/example.arr create mode 100644 exercises/practice/flatten-array/.meta/tests.toml create mode 100644 exercises/practice/flatten-array/flatten-array-test.arr create mode 100644 exercises/practice/flatten-array/flatten-array.arr diff --git a/config.json b/config.json index 70e803e..fef42c2 100644 --- a/config.json +++ b/config.json @@ -156,6 +156,14 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "flatten-array", + "name": "Flatten List", + "uuid": "23b5a864-186c-4a4d-ba32-83608b0d18f6", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "grains", "name": "Grains", diff --git a/exercises/practice/flatten-array/.docs/instructions-append.md b/exercises/practice/flatten-array/.docs/instructions-append.md new file mode 100644 index 0000000..01209f6 --- /dev/null +++ b/exercises/practice/flatten-array/.docs/instructions-append.md @@ -0,0 +1,5 @@ +# Instructions append + +This exercise is implemented using the built-in [List] datatype, not RawArrays. + +[list]: https://pyret.org/docs/latest/lists.html diff --git a/exercises/practice/flatten-array/.docs/instructions.md b/exercises/practice/flatten-array/.docs/instructions.md new file mode 100644 index 0000000..51bea67 --- /dev/null +++ b/exercises/practice/flatten-array/.docs/instructions.md @@ -0,0 +1,11 @@ +# Instructions + +Take a nested list and return a single flattened list with all values except nil/null. + +The challenge is to write a function that accepts an arbitrarily-deep nested list-like structure and returns a flattened structure without any nil/null values. + +For example: + +input: [1,[2,3,null,4],[null],5] + +output: [1,2,3,4,5] diff --git a/exercises/practice/flatten-array/.meta/config.json b/exercises/practice/flatten-array/.meta/config.json new file mode 100644 index 0000000..2da5156 --- /dev/null +++ b/exercises/practice/flatten-array/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "flatten-array.arr" + ], + "test": [ + "flatten-array-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Take a nested list and return a single list with all values except nil/null.", + "source": "Interview Question", + "source_url": "https://reference.wolfram.com/language/ref/Flatten.html" +} diff --git a/exercises/practice/flatten-array/.meta/example.arr b/exercises/practice/flatten-array/.meta/example.arr new file mode 100644 index 0000000..0c6e3d7 --- /dev/null +++ b/exercises/practice/flatten-array/.meta/example.arr @@ -0,0 +1,22 @@ +use context essentials2020 + +provide: flatten end + +import lists as L + +fun flatten(lst): + lst.foldr(lam(elt, acc): + ask: + | elt == nothing then: + acc + | is-empty(elt) then: + acc + | is-link(elt) then: + result = flatten(elt) + result.append(acc) + | otherwise: + L.push(acc, elt) + end + end, + [list: ]) +end diff --git a/exercises/practice/flatten-array/.meta/tests.toml b/exercises/practice/flatten-array/.meta/tests.toml new file mode 100644 index 0000000..6300219 --- /dev/null +++ b/exercises/practice/flatten-array/.meta/tests.toml @@ -0,0 +1,43 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[8c71dabd-da60-422d-a290-4a571471fb14] +description = "empty" + +[d268b919-963c-442d-9f07-82b93f1b518c] +description = "no nesting" + +[3f15bede-c856-479e-bb71-1684b20c6a30] +description = "flattens a nested array" + +[c84440cc-bb3a-48a6-862c-94cf23f2815d] +description = "flattens array with just integers present" + +[d3d99d39-6be5-44f5-a31d-6037d92ba34f] +description = "5 level nesting" + +[d572bdba-c127-43ed-bdcd-6222ac83d9f7] +description = "6 level nesting" + +[0705a8e5-dc86-4cec-8909-150c5e54fa9c] +description = "null values are omitted from the final result" + +[c6cf26de-8ccd-4410-84bd-b9efd88fd2bc] +description = "consecutive null values at the front of the list are omitted from the final result" + +[382c5242-587e-4577-b8ce-a5fb51e385a1] +description = "consecutive null values in the middle of the list are omitted from the final result" + +[ef1d4790-1b1e-4939-a179-51ace0829dbd] +description = "6 level nest list with null values" + +[85721643-705a-4150-93ab-7ae398e2942d] +description = "all values in nested list are null" diff --git a/exercises/practice/flatten-array/flatten-array-test.arr b/exercises/practice/flatten-array/flatten-array-test.arr new file mode 100644 index 0000000..c5590c3 --- /dev/null +++ b/exercises/practice/flatten-array/flatten-array-test.arr @@ -0,0 +1,207 @@ +use context essentials2020 + +include file("flatten-array.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun empty-list(): + check "empty": + input = [list: ] + + expected = [list: ] + + flatten(input) is expected + end +end + +fun no-nesting(): + check "no nesting": + input = [list: 0, 1, 2] + + expected = [list: 0, 1, 2] + + flatten(input) is expected + end +end + +fun nested-list(): + check "flattens a nested list": + input = [list: [list: ]] + + expected = [list: ] + + flatten(input) is expected + end +end + +fun numeric-list(): + check "flattens list with just integers present": + input = [list: 1, [list: 2, 3, 4, 5, 6, 7], 8] + + expected = [list: 1, 2, 3, 4, 5, 6, 7, 8] + + flatten(input) is expected + end +end + +fun five-levels(): + check "5 level nesting": + input = [list: + 0, + 2, + [list: + [list: 2, 3], + 8, + 100, + 4, + [list: + [list: + [list: 50]]]], + -2] + + expected = [list: + 0, + 2, + 2, + 3, + 8, + 100, + 4, + 50, + -2] + + flatten(input) is expected + end +end + +fun six-levels(): + check "6 level nesting": + input = [list: + 1, + [list: + 2, + [list: [list: 3]], + [list: + 4, + [list: [list: 5]]], + 6, + 7], + 8] + + expected = [list: + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8] + + flatten(input) is expected + end +end + +fun omit-a-nothing(): + check "nothing values are omitted from the final result": + input = [list: 1, 2, nothing] + + expected = [list: 1, 2] + + flatten(input) is expected + end +end + +fun omit-nothings-from-beginning(): + check "consecutive nothing values at the front of the list are omitted from the final result": + input = [list: nothing, nothing, 3] + + expected = [list: 3] + + flatten(input) is expected + end +end + +fun omit-nothings-from-middle(): + check "consecutive nothing values in the middle of the list are omitted from the final result": + input = [list: 1, nothing, nothing, 4] + + expected = [list: 1, 4] + + flatten(input) is expected + end +end + +fun six-levels-with-nothings(): + check "6 level nest list with nothing values": + input = [list: + 0, + 2, + [list: + [list: 2, 3], + 8, + [list: [list: 100 ]], + nothing, + [list: [list: nothing]]], + -2] + + expected = [list: + 0, + 2, + 2, + 3, + 8, + 100, + -2] + + flatten(input) is expected + end +end + +fun all-nothings(): + check "all values in nested list are nothing": + input = [list: + nothing, + [list: + [list: + [list: nothing]]], + nothing, + nothing, + [list: + [list: + nothing, + nothing], + nothing], + nothing] + + expected = [list: ] + + flatten(input) is expected + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(empty-list, true), + test(no-nesting, false), + test(nested-list, false), + test(numeric-list, false), + test(five-levels, false), + test(six-levels, false), + test(omit-a-nothing, false), + test(omit-nothings-from-beginning, false), + test(omit-nothings-from-middle, false), + test(six-levels-with-nothings, false), + test(all-nothings, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/flatten-array/flatten-array.arr b/exercises/practice/flatten-array/flatten-array.arr new file mode 100644 index 0000000..81565d2 --- /dev/null +++ b/exercises/practice/flatten-array/flatten-array.arr @@ -0,0 +1,7 @@ +use context essentials2020 + +provide: flatten end + +fun flatten(lst): + raise("please implement the flatten function") +end From 0f468b8462f96ca21a39298dd853563f4e12a5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 31 Oct 2023 23:22:33 -0700 Subject: [PATCH 144/244] Initial implementation of the clock exercise (#19) --- config.json | 8 + .../clock/.docs/instructions-append.md | 13 + .../practice/clock/.docs/instructions.md | 7 + exercises/practice/clock/.meta/config.json | 19 + exercises/practice/clock/.meta/example.arr | 61 +++ exercises/practice/clock/.meta/tests.toml | 166 ++++++++ exercises/practice/clock/clock-test.arr | 383 ++++++++++++++++++ exercises/practice/clock/clock.arr | 28 ++ 8 files changed, 685 insertions(+) create mode 100644 exercises/practice/clock/.docs/instructions-append.md create mode 100644 exercises/practice/clock/.docs/instructions.md create mode 100644 exercises/practice/clock/.meta/config.json create mode 100644 exercises/practice/clock/.meta/example.arr create mode 100644 exercises/practice/clock/.meta/tests.toml create mode 100644 exercises/practice/clock/clock-test.arr create mode 100644 exercises/practice/clock/clock.arr diff --git a/config.json b/config.json index fef42c2..9036e7b 100644 --- a/config.json +++ b/config.json @@ -105,6 +105,14 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "clock", + "name": "Clock", + "uuid": "1adaf7d8-7154-4ab9-8db3-7c120f52338c", + "practices": [], + "prerequisites": [], + "difficulty": 4 + }, { "slug": "collatz-conjecture", "name": "Collatz Conjecture", diff --git a/exercises/practice/clock/.docs/instructions-append.md b/exercises/practice/clock/.docs/instructions-append.md new file mode 100644 index 0000000..051babd --- /dev/null +++ b/exercises/practice/clock/.docs/instructions-append.md @@ -0,0 +1,13 @@ +# Instructions append + +The tests for this exercise expect that your clock will be implemented using a `data declaration` in Pyret. +If you are unfamiliar with data declarations, [the official documentation][data-declaration] is a good place to start. + +As part of the exercise, you'll be comparing values constructed by a `Clock` data variant. +Because a clock's hours and minutes can roll over in either direction, the following combinations are the same on a clock: 1 hour 1 minute, 0 hours 61 minutes, 25 hours 1 minutes, and 2 hours -59 minutes. +Pyret's `is` testing operator uses structural equality, which will result in none of these combinations being equal by default. +To that end, you'll need to define your own equality method for comparing time between values from a Clock data variant. +If you're unfamiliar with how Pyret handles equality, review the official docs on [equality]. + +[data-declaration]: https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29 +[equality]: https://pyret.org/docs/latest/equality.html diff --git a/exercises/practice/clock/.docs/instructions.md b/exercises/practice/clock/.docs/instructions.md new file mode 100644 index 0000000..a1efc78 --- /dev/null +++ b/exercises/practice/clock/.docs/instructions.md @@ -0,0 +1,7 @@ +# Instructions + +Implement a clock that handles times without dates. + +You should be able to add and subtract minutes to it. + +Two clocks that represent the same time should be equal to each other. diff --git a/exercises/practice/clock/.meta/config.json b/exercises/practice/clock/.meta/config.json new file mode 100644 index 0000000..17ac696 --- /dev/null +++ b/exercises/practice/clock/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "clock.arr" + ], + "test": [ + "clock-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Implement a clock that handles times without dates.", + "source": "Pairing session with Erin Drummond", + "source_url": "https://twitter.com/ebdrummond" +} diff --git a/exercises/practice/clock/.meta/example.arr b/exercises/practice/clock/.meta/example.arr new file mode 100644 index 0000000..7f11412 --- /dev/null +++ b/exercises/practice/clock/.meta/example.arr @@ -0,0 +1,61 @@ +use context essentials2020 + +provide-types * + +import equality as E + +data Clock: + | clock(hours :: Number, minutes :: Number) +sharing: + method add(self, minutes :: Number) -> Clock: + new-clock = clock(self.hours, self.minutes + minutes) + + new-clock.normalize() + end, + method subtract(self, minutes :: Number) -> Clock: + new-clock = clock(self.hours, self.minutes - minutes) + + new-clock.normalize() + end, + method normalize(self) -> Clock: + is-in-range = lam(): + ((self.minutes >= 0) and (self.minutes < 60)) + and ((self.hours >= 0) and (self.hours < 24)) + end + + ask: + | not(is-in-range()) then: + additional-hours = num-floor(self.minutes / 60) + hours = num-modulo((self.hours + additional-hours), 24) + minutes = num-modulo(self.minutes, 60) + + clock(hours, minutes) + | otherwise: + self + end + end, + method _equals(self, other :: Clock, _) -> E.EqualityResult: + left = self.normalize() + right = other.normalize() + + if (left.hours == right.hours) and (left.minutes == right.minutes): + E.Equal + else: + E.NotEqual("Clocks represent different periods in time", self, other) + end + end, + method to-string(self) -> String: + to-two-digits = lam(n): + stringified = num-to-string(n) + if string-length(stringified) == 1: + "0" + stringified + else: + stringified + end + end + + normalized = self.normalize() + + to-two-digits(normalized.hours) + ":" + to-two-digits(normalized.minutes) + end +end \ No newline at end of file diff --git a/exercises/practice/clock/.meta/tests.toml b/exercises/practice/clock/.meta/tests.toml new file mode 100644 index 0000000..712c87b --- /dev/null +++ b/exercises/practice/clock/.meta/tests.toml @@ -0,0 +1,166 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[a577bacc-106b-496e-9792-b3083ea8705e] +description = "Create a new clock with an initial time -> on the hour" + +[b5d0c360-3b88-489b-8e84-68a1c7a4fa23] +description = "Create a new clock with an initial time -> past the hour" + +[473223f4-65f3-46ff-a9f7-7663c7e59440] +description = "Create a new clock with an initial time -> midnight is zero hours" + +[ca95d24a-5924-447d-9a96-b91c8334725c] +description = "Create a new clock with an initial time -> hour rolls over" + +[f3826de0-0925-4d69-8ac8-89aea7e52b78] +description = "Create a new clock with an initial time -> hour rolls over continuously" + +[a02f7edf-dfd4-4b11-b21a-86de3cc6a95c] +description = "Create a new clock with an initial time -> sixty minutes is next hour" + +[8f520df6-b816-444d-b90f-8a477789beb5] +description = "Create a new clock with an initial time -> minutes roll over" + +[c75c091b-47ac-4655-8d40-643767fc4eed] +description = "Create a new clock with an initial time -> minutes roll over continuously" + +[06343ecb-cf39-419d-a3f5-dcbae0cc4c57] +description = "Create a new clock with an initial time -> hour and minutes roll over" + +[be60810e-f5d9-4b58-9351-a9d1e90e660c] +description = "Create a new clock with an initial time -> hour and minutes roll over continuously" + +[1689107b-0b5c-4bea-aad3-65ec9859368a] +description = "Create a new clock with an initial time -> hour and minutes roll over to exactly midnight" + +[d3088ee8-91b7-4446-9e9d-5e2ad6219d91] +description = "Create a new clock with an initial time -> negative hour" + +[77ef6921-f120-4d29-bade-80d54aa43b54] +description = "Create a new clock with an initial time -> negative hour rolls over" + +[359294b5-972f-4546-bb9a-a85559065234] +description = "Create a new clock with an initial time -> negative hour rolls over continuously" + +[509db8b7-ac19-47cc-bd3a-a9d2f30b03c0] +description = "Create a new clock with an initial time -> negative minutes" + +[5d6bb225-130f-4084-84fd-9e0df8996f2a] +description = "Create a new clock with an initial time -> negative minutes roll over" + +[d483ceef-b520-4f0c-b94a-8d2d58cf0484] +description = "Create a new clock with an initial time -> negative minutes roll over continuously" + +[1cd19447-19c6-44bf-9d04-9f8305ccb9ea] +description = "Create a new clock with an initial time -> negative sixty minutes is previous hour" + +[9d3053aa-4f47-4afc-bd45-d67a72cef4dc] +description = "Create a new clock with an initial time -> negative hour and minutes both roll over" + +[51d41fcf-491e-4ca0-9cae-2aa4f0163ad4] +description = "Create a new clock with an initial time -> negative hour and minutes both roll over continuously" + +[d098e723-ad29-4ef9-997a-2693c4c9d89a] +description = "Add minutes -> add minutes" + +[b6ec8f38-e53e-4b22-92a7-60dab1f485f4] +description = "Add minutes -> add no minutes" + +[efd349dd-0785-453e-9ff8-d7452a8e7269] +description = "Add minutes -> add to next hour" + +[749890f7-aba9-4702-acce-87becf4ef9fe] +description = "Add minutes -> add more than one hour" + +[da63e4c1-1584-46e3-8d18-c9dc802c1713] +description = "Add minutes -> add more than two hours with carry" + +[be167a32-3d33-4cec-a8bc-accd47ddbb71] +description = "Add minutes -> add across midnight" + +[6672541e-cdae-46e4-8be7-a820cc3be2a8] +description = "Add minutes -> add more than one day (1500 min = 25 hrs)" + +[1918050d-c79b-4cb7-b707-b607e2745c7e] +description = "Add minutes -> add more than two days" + +[37336cac-5ede-43a5-9026-d426cbe40354] +description = "Subtract minutes -> subtract minutes" + +[0aafa4d0-3b5f-4b12-b3af-e3a9e09c047b] +description = "Subtract minutes -> subtract to previous hour" + +[9b4e809c-612f-4b15-aae0-1df0acb801b9] +description = "Subtract minutes -> subtract more than an hour" + +[8b04bb6a-3d33-4e6c-8de9-f5de6d2c70d6] +description = "Subtract minutes -> subtract across midnight" + +[07c3bbf7-ce4d-4658-86e8-4a77b7a5ccd9] +description = "Subtract minutes -> subtract more than two hours" + +[90ac8a1b-761c-4342-9c9c-cdc3ed5db097] +description = "Subtract minutes -> subtract more than two hours with borrow" + +[2149f985-7136-44ad-9b29-ec023a97a2b7] +description = "Subtract minutes -> subtract more than one day (1500 min = 25 hrs)" + +[ba11dbf0-ac27-4acb-ada9-3b853ec08c97] +description = "Subtract minutes -> subtract more than two days" + +[f2fdad51-499f-4c9b-a791-b28c9282e311] +description = "Compare two clocks for equality -> clocks with same time" + +[5d409d4b-f862-4960-901e-ec430160b768] +description = "Compare two clocks for equality -> clocks a minute apart" + +[a6045fcf-2b52-4a47-8bb2-ef10a064cba5] +description = "Compare two clocks for equality -> clocks an hour apart" + +[66b12758-0be5-448b-a13c-6a44bce83527] +description = "Compare two clocks for equality -> clocks with hour overflow" + +[2b19960c-212e-4a71-9aac-c581592f8111] +description = "Compare two clocks for equality -> clocks with hour overflow by several days" + +[6f8c6541-afac-4a92-b0c2-b10d4e50269f] +description = "Compare two clocks for equality -> clocks with negative hour" + +[bb9d5a68-e324-4bf5-a75e-0e9b1f97a90d] +description = "Compare two clocks for equality -> clocks with negative hour that wraps" + +[56c0326d-565b-4d19-a26f-63b3205778b7] +description = "Compare two clocks for equality -> clocks with negative hour that wraps multiple times" + +[c90b9de8-ddff-4ffe-9858-da44a40fdbc2] +description = "Compare two clocks for equality -> clocks with minute overflow" + +[533a3dc5-59a7-491b-b728-a7a34fe325de] +description = "Compare two clocks for equality -> clocks with minute overflow by several days" + +[fff49e15-f7b7-4692-a204-0f6052d62636] +description = "Compare two clocks for equality -> clocks with negative minute" + +[605c65bb-21bd-43eb-8f04-878edf508366] +description = "Compare two clocks for equality -> clocks with negative minute that wraps" + +[b87e64ed-212a-4335-91fd-56da8421d077] +description = "Compare two clocks for equality -> clocks with negative minute that wraps multiple times" + +[822fbf26-1f3b-4b13-b9bf-c914816b53dd] +description = "Compare two clocks for equality -> clocks with negative hours and minutes" + +[e787bccd-cf58-4a1d-841c-ff80eaaccfaa] +description = "Compare two clocks for equality -> clocks with negative hours and minutes that wrap" + +[96969ca8-875a-48a1-86ae-257a528c44f5] +description = "Compare two clocks for equality -> full clock and zeroed clock" diff --git a/exercises/practice/clock/clock-test.arr b/exercises/practice/clock/clock-test.arr new file mode 100644 index 0000000..e310965 --- /dev/null +++ b/exercises/practice/clock/clock-test.arr @@ -0,0 +1,383 @@ +use context essentials2020 + +include file("clock.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun create-clock-on-hour(): + check "Create a new clock with an initial time -> on the hour": + clock(8, 0).normalize().to-string() is "08:00" + end +end + +fun create-clock-past-hour(): + check "Create a new clock with an initial time -> past the hour": + clock(11, 09).normalize().to-string() is "11:09" + end +end + +fun create-clock-midnight(): + check "Create a new clock with an initial time -> midnight is zero hours": + clock(24, 0).normalize().to-string() is "00:00" + end +end + +fun create-clock-hours-rollover(): + check "Create a new clock with an initial time -> hour rolls over": + clock(25, 0).normalize().to-string() is "01:00" + end +end + +fun create-clock-hours-rollover-multiple(): + check "Create a new clock with an initial time -> hour rolls over continuously": + clock(100, 0).normalize().to-string() is "04:00" + end +end + +fun create-clock-sixty-minutes(): + check "Create a new clock with an initial time -> sixty minutes is next hour": + clock(1, 60).normalize().to-string() is "02:00" + end +end + +fun create-clock-minutes-rollover(): + check "Create a new clock with an initial time -> minutes roll over": + clock(0, 160).normalize().to-string() is "02:40" + end +end + +fun create-clock-minutes-rollover-multiple(): + check "Create a new clock with an initial time -> minutes roll over continuously": + clock(0, 1723).normalize().to-string() is "04:43" + end +end + +fun create-clock-rollover(): + check "Create a new clock with an initial time -> hour and minutes roll over": + clock(25, 160).normalize().to-string() is "03:40" + end +end + +fun create-clock-rollover-multiple(): + check "Create a new clock with an initial time -> hour and minutes roll over continuously": + clock(201, 3001).normalize().to-string() is "11:01" + end +end + +fun create-clock-rollover-to-midnight(): + check "Create a new clock with an initial time -> hour and minutes roll over to exactly midnight": + clock(72, 8640).normalize().to-string() is "00:00" + end +end + +fun create-clock-negative-hours(): + check "Create a new clock with an initial time -> negative hour": + clock(-1, 15).normalize().to-string() is "23:15" + end +end + +fun create-clock-negative-hours-rollover(): + check "Create a new clock with an initial time -> negative hour rolls over": + clock(-25, 0).normalize().to-string() is "23:00" + end +end + +fun create-clock-negative-hours-rollover-multiple(): + check "Create a new clock with an initial time -> negative hour rolls over continuously": + clock(-91, 0).normalize().to-string() is "05:00" + end +end + +fun create-clock-negative-minutes(): + check "Create a new clock with an initial time -> negative minutes": + clock(1, -40).normalize().to-string() is "00:20" + end +end + +fun create-clock-negative-minutes-rollover(): + check "Create a new clock with an initial time -> negative minutes roll over": + clock(1, -160).normalize().to-string() is "22:20" + end +end + +fun create-clock-negative-minutes-rollover-multiple(): + check "Create a new clock with an initial time -> negative minutes roll over continuously": + clock(1, -4820).normalize().to-string() is "16:40" + end +end + +fun create-clock-negative-sixty-minutes(): + check "Create a new clock with an initial time -> negative sixty minutes is previous hour": + clock(2, -60).normalize().to-string() is "01:00" + end +end + +fun create-clock-negative-rollover(): + check "Create a new clock with an initial time -> negative hour and minutes both roll over": + clock(-25, -160).normalize().to-string() is "20:20" + end +end + +fun create-clock-negative-rollover-multiple(): + check "Create a new clock with an initial time -> negative hour and minutes both roll over continuously": + clock(-121, -5810).normalize().to-string() is "22:10" + end +end + +fun add-minutes(): + check "Add minutes -> add minutes": + clock(10, 0).add(3).to-string() is "10:03" + end +end + +fun add-no-minutes(): + check "Add minutes -> add no minutes": + clock(6, 41).add(0).to-string() is "06:41" + end +end + +fun add-to-hours(): + check "Add minutes -> add to next hour": + clock(0, 45).add(40).to-string() is "01:25" + end +end + +fun add-to-hours-multiple(): + check "Add minutes -> add more than one hour": + clock(10, 0).add(61).to-string() is "11:01" + end +end + +fun add-to-hours-carryover(): + check "Add minutes -> add more than two hours with carry": + clock(0, 45).add(160).to-string() is "03:25" + end +end + +fun add-across-midnight(): + check "Add minutes -> add across midnight": + clock(23, 59).add(2).to-string() is "00:01" + end +end + +fun add-more-than-one-day(): + check "Add minutes -> add more than one day (1500 min = 25 hrs)": + clock(5, 32).add(1500).to-string() is "06:32" + end +end + +fun add-more-than-one-day-multiple(): + check "Add minutes -> add more than two days": + clock(1, 1).add(3500).to-string() is "11:21" + end +end + +fun subtract-minutes(): + check "Subtract minutes -> subtract minutes": + clock(10, 3).subtract(3).to-string() is "10:00" + end +end + +fun subtract-rollover(): + check "Subtract minutes -> subtract to previous hour": + clock(10, 3).subtract(30).to-string() is "09:33" + end +end + +fun subtract-rollover-multiple(): + check "Subtract minutes -> subtract more than an hour": + clock(10, 3).subtract(70).to-string() is "08:53" + end +end + +fun subtract-across-midnight(): + check "Subtract minutes -> subtract across midnight": + clock(0, 3).subtract(4).to-string() is "23:59" + end +end + +fun subtract-more-than-two-hours(): + check "Subtract minutes -> subtract more than two hours": + clock(0, 0).subtract(160).to-string() is "21:20" + end +end + +fun subtract-rollover-borrow(): + check "Subtract minutes -> subtract more than two hours with borrow": + clock(6, 15).subtract(160).to-string() is "03:35" + end +end + +fun subtract-more-than-a-day(): + check "Subtract minutes -> subtract more than one day (1500 min = 25 hrs)": + clock(5, 32).subtract(1500).to-string() is "04:32" + end +end + +fun subtract-more-than-two-days(): + check "Subtract minutes -> subtract more than two days": + clock(2, 20).subtract(3000).to-string() is "00:20" + end +end + +fun equality-same-time(): + check "Compare two clocks for equality -> clocks with same time": + clock(15, 37) is clock(15, 37) + end +end + +fun equality-a-minute-apart(): + check "Compare two clocks for equality -> clocks a minute apart": + clock(15, 36) is-not clock(15, 37) + end +end + +fun equality-an-hour-apart(): + check "Compare two clocks for equality -> clocks an hour apart": + clock(14, 37) is-not clock(15, 37) + end +end + +fun equality-hour-rollover(): + check "Compare two clocks for equality -> clocks with hour overflow": + clock(10, 37) is clock(34, 37) + end +end + +fun equality-hour-overflow-multiple(): + check "Compare two clocks for equality -> clocks with hour overflow by several days": + clock(3, 11) is clock(99, 11) + end +end + +fun equality-negative-hour(): + check "Compare two clocks for equality -> clocks with negative hour": + clock(22, 40) is clock(-2, 40) + end +end + +fun equality-negative-hour-rollover(): + check "Compare two clocks for equality -> clocks with negative hour that wraps": + clock(17, 3) is clock(-31, 3) + end +end + +fun equality-negative-hour-rollover-multiple(): + check "Compare two clocks for equality -> clocks with negative hour that wraps multiple times": + clock(13, 49) is clock(-83, 49) + end +end + +fun equality-minute-rollover(): + check "Compare two clocks for equality -> clocks with minute overflow": + clock(0, 1) is clock(0, 1441) + end +end + +fun equality-rollover-multiple(): + check "Compare two clocks for equality -> clocks with minute overflow by several days": + clock(2, 2) is clock(2, 4322) + end +end + +fun equality-negative-minute(): + check "Compare two clocks for equality -> clocks with negative minute": + clock(2, 40) is clock(3, -20) + end +end + +fun equality-negative-minute-rollover(): + check "Compare two clocks for equality -> clocks with negative minute that wraps": + clock(4, 10) is clock(5, -1490) + end +end + +fun equality-negative-minute-rollover-multiple(): + check "Compare two clocks for equality -> clocks with negative minute that wraps multiple times": + clock(6, 15) is clock(6, -4305) + end +end + +fun equality-negative-hour-and-minute(): + check "Compare two clocks for equality -> clocks with negative hours and minutes": + clock(7, 32) is clock(-12, -268) + end +end + +fun equality-negative-hours-and-minutes-rollover(): + check "Compare two clocks for equality -> clocks with negative hours and minutes that wrap": + clock(18, 7) is clock(-54, -11513) + end +end + +fun equality-full-clock-empty-clock(): + check "Compare two clocks for equality -> full clock and zeroed clock": + clock(24, 0) is clock(0, 0) + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(create-clock-on-hour, true), + test(create-clock-past-hour, false), + test(create-clock-midnight, false), + test(create-clock-hours-rollover, false), + test(create-clock-hours-rollover-multiple, false), + test(create-clock-sixty-minutes, false), + test(create-clock-minutes-rollover, false), + test(create-clock-minutes-rollover-multiple, false), + test(create-clock-rollover, false), + test(create-clock-rollover-multiple, false), + test(create-clock-rollover-to-midnight, false), + test(create-clock-negative-hours, false), + test(create-clock-negative-hours-rollover, false), + test(create-clock-negative-hours-rollover-multiple, false), + test(create-clock-negative-minutes, false), + test(create-clock-negative-minutes-rollover-multiple, false), + test(create-clock-negative-sixty-minutes, false), + test(create-clock-negative-rollover, false), + test(create-clock-negative-rollover-multiple, false), + test(add-minutes, false), + test(add-no-minutes, false), + test(add-to-hours, false), + test(add-to-hours-multiple, false), + test(add-to-hours-carryover, false), + test(add-across-midnight, false), + test(add-more-than-one-day, false), + test(add-more-than-one-day-multiple, false), + test(subtract-minutes, false), + test(subtract-rollover, false), + test(subtract-rollover-multiple, false), + test(subtract-across-midnight, false), + test(subtract-more-than-two-hours, false), + test(subtract-rollover-borrow, false), + test(subtract-more-than-a-day, false), + test(subtract-more-than-two-days, false), + test(equality-same-time, false), + test(equality-a-minute-apart, false), + test(equality-an-hour-apart, false), + test(equality-hour-rollover, false), + test(equality-hour-overflow-multiple, false), + test(equality-negative-hour, false), + test(equality-negative-hour-rollover, false), + test(equality-negative-hour-rollover-multiple, false), + test(equality-minute-rollover, false), + test(equality-rollover-multiple, false), + test(equality-negative-minute, false), + test(equality-negative-minute-rollover, false), + test(equality-negative-minute-rollover-multiple, false), + test(equality-negative-hour-and-minute, false), + test(equality-negative-hours-and-minutes-rollover, false), + test(equality-full-clock-empty-clock, false) +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/clock/clock.arr b/exercises/practice/clock/clock.arr new file mode 100644 index 0000000..e1df6bb --- /dev/null +++ b/exercises/practice/clock/clock.arr @@ -0,0 +1,28 @@ +use context essentials2020 + +provide-types * + +import equality as E + +# Replace the ... with your code to pass the tests. Good luck! + +data Clock: + | clock(hours :: NumInteger, minutes :: NumInteger) +sharing: + method add(self, minutes :: NumInteger) -> Clock: + ... + end, + method subtract(self, minutes :: NumInteger) -> Clock: + ... + end, + method normalize(self) -> Clock: + ... + end, + method _equals(self, other :: Clock, _) -> E.EqualityResult: + # The callback argument after other is ignored for this exercise + ... + end, + method to-string(self) -> String: + ... + end +end From 7314bb292b20a28980848047390c013353ae885b Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Wed, 1 Nov 2023 15:10:02 +0100 Subject: [PATCH 145/244] Update the metadata for the `pop-count` exercise (#161) --- config.json | 2 +- exercises/practice/pop-count/.meta/config.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.json b/config.json index 9036e7b..05f9e9f 100644 --- a/config.json +++ b/config.json @@ -305,7 +305,7 @@ }, { "slug": "pop-count", - "name": "Pop Count", + "name": "Eliud's Eggs", "uuid": "ebfaddfb-d094-4471-8771-fc09cf14274f", "practices": [ "numbers" diff --git a/exercises/practice/pop-count/.meta/config.json b/exercises/practice/pop-count/.meta/config.json index 46133c9..9c037e6 100644 --- a/exercises/practice/pop-count/.meta/config.json +++ b/exercises/practice/pop-count/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Count the 1 bits in a number", + "blurb": "Help Eluid count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.", "source": "Christian Willner, Eric Willigers", "source_url": "https://forum.exercism.org/t/new-exercise-suggestion-pop-count/7632/5" } From 36e184698a18b4b7d9d759a0b7cec6fe27aea691 Mon Sep 17 00:00:00 2001 From: Isaac Good Date: Sat, 4 Nov 2023 10:53:51 -0700 Subject: [PATCH 146/244] Rework part of the track tests doc (#162) --- docs/TESTS.md | 82 ++++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/docs/TESTS.md b/docs/TESTS.md index 450c0a3..dd94fe8 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,57 +1,58 @@ -# Tests In Brief +# Testing on the Pyret track -When working through the Exercism web editor, all tests defined in the test file will be run. -When working offline, only the first test is enabled by default. -To enable subsequent tests, find the corresponding `TestRun` value at the bottom of the file and change its `active` value from false to true. -Rerunning `pyret example-test.arr` at this point will pick up and run the now-active tests. +## Testing using the web editor -# Testing Details +To run tests, just click the "Run Tests" button and all the tests will run. -When working locally (i.e. not within the Exercism web editor), first make sure [pyret-npm] is installed and accessible. -Then execute the tests by passing `pyret` the location of the test file relative to your current working directory like -`$ pyret relative/path/to/example-test.arr`. +## Testing locally -On this track, Pyret check blocks are wrapped in functions to delay detection and execution. -Those functions are stored as a `TestRun` value with a field for the function and another field for whether it should be run. -When working locally, this second field should be set to `true` instead of `false` if you want to run a specific test. -On the Exercism website, all TestRun values are run regardless of that second field's contents so a solution passing locally may not pass on the website if all the local tests haven't been enabled. +Before getting to work locally (i.e. not within the Exercism web editor), first make sure [pyret-npm] is installed and the `pyret` command works. +See [installation] for details about installing Pyret locally. -In the below example, the first TestRun value `test(foo, true)` has `true` for the `active` field so Pyret will invoke the stored function, evaluating the check block inside it. -The second TestRun value `test(bar, false)` has `false` for the same field so Pyret won't invoke the bar function. -As a consequence, Pyret will locally report the single test seen as passed -However, when you submit your solution, the Exercism website runs both tests, and the second one will fail. -To avoid this issue, enable each test as you work on your solution locally by changing the corresponding TestRun's active field to true. -If all the tests are enabled locally and pass, so should the tests on the website once you submit the solution. +Each exercise has multiple tests. +When you first download the exercise, only one test will be enabled. +The recommended workflow is to run the test (which should initially fail), the make changes to your code until that test passes. +Then, enable the next test in the test file and repeat (modify the code, run tests, move on) until all the tests pass. +Some people prefer to preemptively enable all the tests before working on the code; this can overwhelm some people with how many tests are failing and make it hard to figure out what to work on, but this workflow works well for others. -```pyret -fun foo(): - check "foo": - true is true - end -end +### Running tests -fun bar(): - check "bar": - false is true - end -end +Each exercise will have a solution file and a test file. +For instance, the Hello World exercise has a `hello-world.arr` file and a `hello-world-test.arr`. +To run tests, execute the `pyret` command with the test file as an argument. +For instance, running `pyret hello-world-test.arr` in the `hello-world` directory will run the Hello World exercises. + +### Enabling tests +Every test file has one or more tests, each test wrapped in its own function. +The test file has a `TestRun` near the bottom of the file with a list of tests. +Each test in the list contains two values: the test function to run and an `active` value which controls if the test is executed. +For instance, the `etl-test.arr` file contains four tests, with the first active and the rest inactive. + +```pyret data TestRun: test(run, active) end [list: - test(foo, true), - test(bar, false) + test(single-letter, true), + test(single-score-multiple-letters, false), + test(multiple-scores-multiple-letters, false), + test(multiple-scores-different-numbers-of-letters, false) ].each(lam(t): when t.active: t.run() end end) ``` -# Debugging +To enable additional tests, change the `active` value from `false` to `true` then rerun the test file with the `pyret` command. + +Note: if you forget to enable all the tests, Pyret may report that all the (active) tests are passing locally but when you run your code on the website, Pyret may repor the tests are not passing (as it may be running additional tests which did not run locally). + +Note: when running tests on the website, all the tests will always run. + +## Debugging In many languages, there is a common idiom of printing text to the screen during code execution. -This can trivially be done using the -[print] function which prints its provided value and then returns it. +This can trivially be done using the [print] function which prints the value passed to it and then returns that value. -However, Pyret by default doesn't allow for multiple expressions in a code block so you can't do this: +Pyret by default doesn't allow for multiple expressions in a code block so you can't do this: ```pyret fun add-two-numbers(number1, number2): @@ -76,7 +77,7 @@ print(add-two-number(1, 2)) ``` A more convenient approach is to use a [spy statement] which prints the contents and line numbers of the passed values. -It doesn't require the block keyword to be used. +Spies can be used without the `block` keyword. ```pyret fun add-two-numbers(number1, number2): @@ -91,7 +92,7 @@ Spying (at .../add-two-numbers.arr:2:2-2:27) 3 ``` -A label can also be used: +You can also use a label with using `spy`: ```pyret fun add-two-numbers(number1, number2): @@ -106,7 +107,7 @@ Spying "adding two" (at .../add-two-numbers.arr:2:2-2:27) 3 ``` -You can also use multiple spies: +You can also use multiple spies together: ```pyret fun do-math(number1, number2): @@ -129,7 +130,7 @@ Spying "subtracting" (at .../math.arr:6:2-6:35) true ``` -# Notes +## Notes Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. @@ -155,3 +156,4 @@ All exercise stubs will have either `provide` or `provide-types` statements set [spy statement]: https://pyret.org/docs/latest/s_spies.html [provide statement]: https://pyret.org/docs/latest/Provide_Statements.html [shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 +[installation]: https://exercism.org/docs/tracks/pyret/installation From d0378514da8551af306db6fdfd0787f0007514c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 4 Nov 2023 10:59:51 -0700 Subject: [PATCH 147/244] Format configs with configlet fmt (#163) From 25621789e1876fbc94e2c83b3b4d5c0dc82b82e3 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 9 Nov 2023 16:29:37 +0100 Subject: [PATCH 148/244] Pin GitHub Actions runners to a specific version (#164) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5277085..7d241c4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,7 +23,7 @@ on: jobs: ci: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout repository From da4d5bd4f2243242f42f9314c6a7efa0d6a20513 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Tue, 14 Nov 2023 16:16:10 +0100 Subject: [PATCH 149/244] Pin GitHub Actions workflows to a specific version (#165) --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7d241c4..afb9e86 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,10 +27,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 with: node-version: 'node' From d386fa32247e9562b2a6cc1c746ee1ddafc51eb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 07:01:03 -0800 Subject: [PATCH 150/244] Bump actions/setup-node from 4.0.0 to 4.0.1 (#166) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/8f152de45cc393bb48ce5d89d36b731f54556e65...b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index afb9e86..12703ef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Setup Node.js - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 + uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 with: node-version: 'node' From 3ea8c833ca3aa51bcfea6b6c1df26bc529ef3313 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Tue, 19 Dec 2023 15:01:56 +0100 Subject: [PATCH 151/244] debug.md: removes quotes from links (#167) --- exercises/shared/.docs/debug.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md index 16b2514..aba9a8e 100644 --- a/exercises/shared/.docs/debug.md +++ b/exercises/shared/.docs/debug.md @@ -127,6 +127,6 @@ spy: a, b, c end # c: 100 ``` -[print]: "https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29" -[spy]: "https://pyret.org/docs/latest/s_spies.html" -[data declarations]: "https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29" +[print]: https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29 +[spy]: https://pyret.org/docs/latest/s_spies.html +[data declarations]: https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29 From 7a3071a7f9f50469e3f40c1e3ebebdafeb534528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:46:22 -0800 Subject: [PATCH 152/244] Fix argument order for list-ops (#171) --- exercises/practice/list-ops/list-ops.arr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/practice/list-ops/list-ops.arr b/exercises/practice/list-ops/list-ops.arr index a35dc6e..13a9f8b 100644 --- a/exercises/practice/list-ops/list-ops.arr +++ b/exercises/practice/list-ops/list-ops.arr @@ -31,11 +31,11 @@ fun my-map(lst, f): raise("please implement the my-map function") end -fun my-foldl(lst, initial, f): +fun my-foldl(lst, f, initial): raise("please implement the my-foldl function") end -fun my-foldr(lst, initial, f): +fun my-foldr(lst, f, initial): raise("please implement the my-foldr function") end From d9d12fdd7db6ec27c14475517ddeccf49d77de5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:48:39 -0800 Subject: [PATCH 153/244] Simplify queen-attack stub (#172) --- exercises/practice/queen-attack/queen-attack.arr | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/exercises/practice/queen-attack/queen-attack.arr b/exercises/practice/queen-attack/queen-attack.arr index 259b0ca..944024b 100644 --- a/exercises/practice/queen-attack/queen-attack.arr +++ b/exercises/practice/queen-attack/queen-attack.arr @@ -2,14 +2,6 @@ use context essentials2020 provide-types * -fun is-on-board(n :: NumInteger) -> Boolean: - raise("please implement the is-on-board function") -end - data Queen: - | queen(row :: NumInteger%(is-on-board), column :: NumInteger%(is-on-board)) - with: - method can-attack(self, other :: Queen) -> Boolean: - raise("please implement the can-attack method") - end + ... # replace the dots with your implementation end \ No newline at end of file From b8742d200eca22628a4fc2b8147d75ca01855484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:52:35 -0800 Subject: [PATCH 154/244] Simplify simple-linked-list stub (#173) --- .../simple-linked-list/simple-linked-list.arr | 25 +------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/exercises/practice/simple-linked-list/simple-linked-list.arr b/exercises/practice/simple-linked-list/simple-linked-list.arr index 648f137..49eee59 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list.arr @@ -2,29 +2,6 @@ use context essentials2020 provide-types * -#| - We have given you a beginning structure to help pass the tests here. -|# data LinkedList: - | empty-list - | linked-list(head, tail) with: - method get-head(self): - raise("please implement the get-head method") - end, - method get-tail(self): - raise("please implement the get-tail method") - end -sharing: - method length(self): - raise("please implement the length method") - end, - method push(self, val): - raise("please implement the push method") - end, - method reversed(self): - raise("please implement the reversed method") - end, - method to-list(self): - raise("please implement the to-list method") - end + ... # Replace the dots with your implementation end \ No newline at end of file From c41e510d85832daaf40ba48496c0e23aed4395f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:55:10 -0800 Subject: [PATCH 155/244] Configlet sync docs and metadata (#174) --- .../practice/acronym/.docs/instructions.md | 10 ++-- .../armstrong-numbers/.docs/instructions.md | 4 +- .../practice/bank-account/.meta/config.json | 2 +- .../binary-search/.docs/instructions.md | 2 +- exercises/practice/clock/.meta/config.json | 3 +- .../practice/hello-world/.meta/config.json | 2 +- .../practice/isogram/.docs/instructions.md | 2 +- .../practice/list-ops/.docs/instructions.md | 16 +++--- .../perfect-numbers/.docs/instructions.md | 53 ++++++++++++------- .../phone-number/.docs/instructions.md | 10 ++-- .../practice/pop-count/.meta/config.json | 2 +- .../protein-translation/.docs/instructions.md | 20 +++---- .../queen-attack/.docs/instructions.md | 20 +++---- .../practice/series/.docs/instructions.md | 4 +- exercises/practice/strain/.meta/config.json | 2 +- 15 files changed, 82 insertions(+), 70 deletions(-) diff --git a/exercises/practice/acronym/.docs/instructions.md b/exercises/practice/acronym/.docs/instructions.md index c62fc3e..133bd2c 100644 --- a/exercises/practice/acronym/.docs/instructions.md +++ b/exercises/practice/acronym/.docs/instructions.md @@ -10,8 +10,8 @@ Punctuation is handled as follows: hyphens are word separators (like whitespace) For example: -|Input|Output| -|-|-| -|As Soon As Possible|ASAP| -|Liquid-crystal display|LCD| -|Thank George It's Friday!|TGIF| +| Input | Output | +| ------------------------- | ------ | +| As Soon As Possible | ASAP | +| Liquid-crystal display | LCD | +| Thank George It's Friday! | TGIF | diff --git a/exercises/practice/armstrong-numbers/.docs/instructions.md b/exercises/practice/armstrong-numbers/.docs/instructions.md index 744cfbe..5e56bbe 100644 --- a/exercises/practice/armstrong-numbers/.docs/instructions.md +++ b/exercises/practice/armstrong-numbers/.docs/instructions.md @@ -5,9 +5,9 @@ An [Armstrong number][armstrong-number] is a number that is the sum of its own d For example: - 9 is an Armstrong number, because `9 = 9^1 = 9` -- 10 is *not* an Armstrong number, because `10 != 1^2 + 0^2 = 1` +- 10 is _not_ an Armstrong number, because `10 != 1^2 + 0^2 = 1` - 153 is an Armstrong number, because: `153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153` -- 154 is *not* an Armstrong number, because: `154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190` +- 154 is _not_ an Armstrong number, because: `154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190` Write some code to determine whether a number is an Armstrong number. diff --git a/exercises/practice/bank-account/.meta/config.json b/exercises/practice/bank-account/.meta/config.json index f77ae6e..96ce42d 100644 --- a/exercises/practice/bank-account/.meta/config.json +++ b/exercises/practice/bank-account/.meta/config.json @@ -13,5 +13,5 @@ ".meta/example.arr" ] }, - "blurb": "Simulate a bank account supporting opening/closing, withdrawals, and deposits of money." + "blurb": "Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!" } diff --git a/exercises/practice/binary-search/.docs/instructions.md b/exercises/practice/binary-search/.docs/instructions.md index aa1946c..12f4358 100644 --- a/exercises/practice/binary-search/.docs/instructions.md +++ b/exercises/practice/binary-search/.docs/instructions.md @@ -11,7 +11,7 @@ Binary search only works when a list has been sorted. The algorithm looks like this: -- Find the middle element of a *sorted* list and compare it with the item we're looking for. +- Find the middle element of a _sorted_ list and compare it with the item we're looking for. - If the middle element is our item, then we're done! - If the middle element is greater than our item, we can eliminate that element and all the elements **after** it. - If the middle element is less than our item, we can eliminate that element and all the elements **before** it. diff --git a/exercises/practice/clock/.meta/config.json b/exercises/practice/clock/.meta/config.json index 17ac696..d1de9bf 100644 --- a/exercises/practice/clock/.meta/config.json +++ b/exercises/practice/clock/.meta/config.json @@ -14,6 +14,5 @@ ] }, "blurb": "Implement a clock that handles times without dates.", - "source": "Pairing session with Erin Drummond", - "source_url": "https://twitter.com/ebdrummond" + "source": "Pairing session with Erin Drummond" } diff --git a/exercises/practice/hello-world/.meta/config.json b/exercises/practice/hello-world/.meta/config.json index 1fc1198..d271f93 100644 --- a/exercises/practice/hello-world/.meta/config.json +++ b/exercises/practice/hello-world/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "The classical introductory exercise. Just say \"Hello, World!\".", + "blurb": "Exercism's classic introductory exercise. Just say \"Hello, World!\".", "source": "This is an exercise to introduce users to using Exercism", "source_url": "https://en.wikipedia.org/wiki/%22Hello,_world!%22_program" } diff --git a/exercises/practice/isogram/.docs/instructions.md b/exercises/practice/isogram/.docs/instructions.md index 5e48844..2e8df85 100644 --- a/exercises/practice/isogram/.docs/instructions.md +++ b/exercises/practice/isogram/.docs/instructions.md @@ -11,4 +11,4 @@ Examples of isograms: - downstream - six-year-old -The word *isograms*, however, is not an isogram, because the s repeats. +The word _isograms_, however, is not an isogram, because the s repeats. diff --git a/exercises/practice/list-ops/.docs/instructions.md b/exercises/practice/list-ops/.docs/instructions.md index ccfc2f8..ebc5dff 100644 --- a/exercises/practice/list-ops/.docs/instructions.md +++ b/exercises/practice/list-ops/.docs/instructions.md @@ -7,13 +7,13 @@ Implement a series of basic list operations, without using existing functions. The precise number and names of the operations to be implemented will be track dependent to avoid conflicts with existing names, but the general operations you will implement include: -- `append` (*given two lists, add all items in the second list to the end of the first list*); -- `concatenate` (*given a series of lists, combine all items in all lists into one flattened list*); -- `filter` (*given a predicate and a list, return the list of all items for which `predicate(item)` is True*); -- `length` (*given a list, return the total number of items within it*); -- `map` (*given a function and a list, return the list of the results of applying `function(item)` on all items*); -- `foldl` (*given a function, a list, and initial accumulator, fold (reduce) each item into the accumulator from the left*); -- `foldr` (*given a function, a list, and an initial accumulator, fold (reduce) each item into the accumulator from the right*); -- `reverse` (*given a list, return a list with all the original items, but in reversed order*). +- `append` (_given two lists, add all items in the second list to the end of the first list_); +- `concatenate` (_given a series of lists, combine all items in all lists into one flattened list_); +- `filter` (_given a predicate and a list, return the list of all items for which `predicate(item)` is True_); +- `length` (_given a list, return the total number of items within it_); +- `map` (_given a function and a list, return the list of the results of applying `function(item)` on all items_); +- `foldl` (_given a function, a list, and initial accumulator, fold (reduce) each item into the accumulator from the left_); +- `foldr` (_given a function, a list, and an initial accumulator, fold (reduce) each item into the accumulator from the right_); +- `reverse` (_given a list, return a list with all the original items, but in reversed order_). Note, the ordering in which arguments are passed to the fold functions (`foldl`, `foldr`) is significant. diff --git a/exercises/practice/perfect-numbers/.docs/instructions.md b/exercises/practice/perfect-numbers/.docs/instructions.md index 0dae886..b2bc82c 100644 --- a/exercises/practice/perfect-numbers/.docs/instructions.md +++ b/exercises/practice/perfect-numbers/.docs/instructions.md @@ -1,24 +1,39 @@ # Instructions -Determine if a number is perfect, abundant, or deficient based on -Nicomachus' (60 - 120 CE) classification scheme for positive integers. - -The Greek mathematician [Nicomachus][nicomachus] devised a classification scheme for positive integers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum][aliquot-sum]. -The aliquot sum is defined as the sum of the factors of a number not including the number itself. -For example, the aliquot sum of 15 is (1 + 3 + 5) = 9 - -- **Perfect**: aliquot sum = number - - 6 is a perfect number because (1 + 2 + 3) = 6 - - 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28 -- **Abundant**: aliquot sum > number - - 12 is an abundant number because (1 + 2 + 3 + 4 + 6) = 16 - - 24 is an abundant number because (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36 -- **Deficient**: aliquot sum < number - - 8 is a deficient number because (1 + 2 + 4) = 7 - - Prime numbers are deficient - -Implement a way to determine whether a given number is **perfect**. -Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**. +Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers. + +The Greek mathematician [Nicomachus][nicomachus] devised a classification scheme for positive integers, identifying each as belonging uniquely to the categories of [perfect](#perfect), [abundant](#abundant), or [deficient](#deficient) based on their [aliquot sum][aliquot-sum]. +The _aliquot sum_ is defined as the sum of the factors of a number not including the number itself. +For example, the aliquot sum of `15` is `1 + 3 + 5 = 9`. + +## Perfect + +A number is perfect when it equals its aliquot sum. +For example: + +- `6` is a perfect number because `1 + 2 + 3 = 6` +- `28` is a perfect number because `1 + 2 + 4 + 7 + 14 = 28` + +## Abundant + +A number is abundant when it is less than its aliquot sum. +For example: + +- `12` is an abundant number because `1 + 2 + 3 + 4 + 6 = 16` +- `24` is an abundant number because `1 + 2 + 3 + 4 + 6 + 8 + 12 = 36` + +## Deficient + +A number is deficient when it is greater than its aliquot sum. +For example: + +- `8` is a deficient number because `1 + 2 + 4 = 7` +- Prime numbers are deficient + +## Task + +Implement a way to determine whether a given number is [perfect](#perfect). +Depending on your language track, you may also need to implement a way to determine whether a given number is [abundant](#abundant) or [deficient](#deficient). [nicomachus]: https://en.wikipedia.org/wiki/Nicomachus [aliquot-sum]: https://en.wikipedia.org/wiki/Aliquot_sum diff --git a/exercises/practice/phone-number/.docs/instructions.md b/exercises/practice/phone-number/.docs/instructions.md index 6d3275c..62ba48e 100644 --- a/exercises/practice/phone-number/.docs/instructions.md +++ b/exercises/practice/phone-number/.docs/instructions.md @@ -5,18 +5,20 @@ Clean up user-entered phone numbers so that they can be sent SMS messages. The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code: `1`. -NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. -The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*. +NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as _area code_, followed by a seven-digit local number. +The first three digits of the local number represent the _exchange code_, followed by the unique four-digit number which is the _subscriber number_. The format is usually represented as ```text -(NXX)-NXX-XXXX +NXX NXX-XXXX ``` where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9. -Your task is to clean up differently formatted telephone numbers by removing punctuation and the country code (1) if present. +Sometimes they also have the country code (represented as `1` or `+1`) prefixed. + +Your task is to clean up differently formatted telephone numbers by removing punctuation and the country code if present. For example, the inputs diff --git a/exercises/practice/pop-count/.meta/config.json b/exercises/practice/pop-count/.meta/config.json index 9c037e6..2efbe61 100644 --- a/exercises/practice/pop-count/.meta/config.json +++ b/exercises/practice/pop-count/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Help Eluid count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.", + "blurb": "Help Eliud count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.", "source": "Christian Willner, Eric Willigers", "source_url": "https://forum.exercism.org/t/new-exercise-suggestion-pop-count/7632/5" } diff --git a/exercises/practice/protein-translation/.docs/instructions.md b/exercises/practice/protein-translation/.docs/instructions.md index d9b9054..7dc34d2 100644 --- a/exercises/practice/protein-translation/.docs/instructions.md +++ b/exercises/practice/protein-translation/.docs/instructions.md @@ -29,16 +29,16 @@ Note the stop codon `"UAA"` terminates the translation and the final methionine Below are the codons and resulting Amino Acids needed for the exercise. -Codon | Protein -:--- | :--- -AUG | Methionine -UUU, UUC | Phenylalanine -UUA, UUG | Leucine -UCU, UCC, UCA, UCG | Serine -UAU, UAC | Tyrosine -UGU, UGC | Cysteine -UGG | Tryptophan -UAA, UAG, UGA | STOP +| Codon | Protein | +| :----------------- | :------------ | +| AUG | Methionine | +| UUU, UUC | Phenylalanine | +| UUA, UUG | Leucine | +| UCU, UCC, UCA, UCG | Serine | +| UAU, UAC | Tyrosine | +| UGU, UGC | Cysteine | +| UGG | Tryptophan | +| UAA, UAG, UGA | STOP | Learn more about [protein translation on Wikipedia][protein-translation]. diff --git a/exercises/practice/queen-attack/.docs/instructions.md b/exercises/practice/queen-attack/.docs/instructions.md index ad7ea95..97f22a0 100644 --- a/exercises/practice/queen-attack/.docs/instructions.md +++ b/exercises/practice/queen-attack/.docs/instructions.md @@ -8,18 +8,14 @@ A chessboard can be represented by an 8 by 8 array. So if you are told the white queen is at `c5` (zero-indexed at column 2, row 3) and the black queen at `f2` (zero-indexed at column 5, row 6), then you know that the set-up is like so: -```text - a b c d e f g h -8 _ _ _ _ _ _ _ _ 8 -7 _ _ _ _ _ _ _ _ 7 -6 _ _ _ _ _ _ _ _ 6 -5 _ _ W _ _ _ _ _ 5 -4 _ _ _ _ _ _ _ _ 4 -3 _ _ _ _ _ _ _ _ 3 -2 _ _ _ _ _ B _ _ 2 -1 _ _ _ _ _ _ _ _ 1 - a b c d e f g h -``` +![A chess board with two queens. Arrows emanating from the queen at c5 indicate possible directions of capture along file, rank and diagonal.](https://assets.exercism.org/images/exercises/queen-attack/queen-capture.svg) You are also able to answer whether the queens can attack each other. In this case, that answer would be yes, they can, because both pieces share a diagonal. + +## Credit + +The chessboard image was made by [habere-et-dispertire][habere-et-dispertire] using LaTeX and the [chessboard package][chessboard-package] by Ulrike Fischer. + +[habere-et-dispertire]: https://exercism.org/profiles/habere-et-dispertire +[chessboard-package]: https://github.com/u-fischer/chessboard diff --git a/exercises/practice/series/.docs/instructions.md b/exercises/practice/series/.docs/instructions.md index e32cc38..fd97a67 100644 --- a/exercises/practice/series/.docs/instructions.md +++ b/exercises/practice/series/.docs/instructions.md @@ -15,5 +15,5 @@ And the following 4-digit series: And if you ask for a 6-digit series from a 5-digit string, you deserve whatever you get. -Note that these series are only required to occupy *adjacent positions* in the input; -the digits need not be *numerically consecutive*. +Note that these series are only required to occupy _adjacent positions_ in the input; +the digits need not be _numerically consecutive_. diff --git a/exercises/practice/strain/.meta/config.json b/exercises/practice/strain/.meta/config.json index a2a1737..ae4649f 100644 --- a/exercises/practice/strain/.meta/config.json +++ b/exercises/practice/strain/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.", "source": "Conversation with James Edward Gray II", - "source_url": "https://twitter.com/jeg2" + "source_url": "http://graysoftinc.com/" } From aa51498c086480f5fe8b7ec744238b8dc5dcd381 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 22 Dec 2023 18:00:18 -0800 Subject: [PATCH 156/244] Update anagram tests (#175) --- exercises/practice/anagram/.meta/tests.toml | 5 +++++ exercises/practice/anagram/anagram-test.arr | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/exercises/practice/anagram/.meta/tests.toml b/exercises/practice/anagram/.meta/tests.toml index 8a3708b..4f43811 100644 --- a/exercises/practice/anagram/.meta/tests.toml +++ b/exercises/practice/anagram/.meta/tests.toml @@ -46,6 +46,11 @@ description = "detects anagrams using case-insensitive possible matches" [7cc195ad-e3c7-44ee-9fd2-d3c344806a2c] description = "does not detect an anagram if the original word is repeated" +include = false + +[630abb71-a94e-4715-8395-179ec1df9f91] +description = "does not detect an anagram if the original word is repeated" +reimplements = "7cc195ad-e3c7-44ee-9fd2-d3c344806a2c" [9878a1c9-d6ea-4235-ae51-3ea2befd6842] description = "anagrams must use all letters exactly once" diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index afd449b..d1ffa83 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -100,7 +100,7 @@ end fun no-detect-anagram-for-repeating-word(): check "does not detect an anagram if the original word is repeated": - candidates = [list: "go Go GO"] + candidates = [list: "goGoGO"] expected = [list: ] find-anagrams("go", candidates) is expected From 39425d7cb5bfcbc57aaa758b8076b82e2f438658 Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Tue, 26 Dec 2023 20:46:53 -0500 Subject: [PATCH 157/244] Update D&D character (#169) * roll a 6-sided die, not 5 * return type for get-hitpoints method * "TODO-izing" the stub. Do we want to remove more? * sync tests * Add comment for students. Reformat indentation for "with" methods. --- .../practice/dnd-character/.meta/example.arr | 4 +- .../practice/dnd-character/.meta/tests.toml | 7 +++- .../practice/dnd-character/dnd-character.arr | 38 +++++++++---------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr index f4adc79..398475c 100644 --- a/exercises/practice/dnd-character/.meta/example.arr +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -14,12 +14,12 @@ data Character: character(strength, dexterity, constitution, intelligence, wisdom, charisma) end | character(strength, dexterity, constitution, intelligence, wisdom, charisma) with: - method get-hitpoints(self): + method get-hitpoints(self) -> NumInteger: 10 + self.modifier(self.constitution) end sharing: method ability(self) -> NumInteger: - roll-dice = lam(_): num-random(5) + 1 end + roll-dice = lam(_): num-random(6) + 1 end rolls = map(roll-dice, repeat(4, 0)) rolls.sort().drop(1).foldl(lam(elt, acc): elt + acc end, 0) end, diff --git a/exercises/practice/dnd-character/.meta/tests.toml b/exercises/practice/dnd-character/.meta/tests.toml index 5f36ec0..44b3c20 100644 --- a/exercises/practice/dnd-character/.meta/tests.toml +++ b/exercises/practice/dnd-character/.meta/tests.toml @@ -65,4 +65,9 @@ description = "random character is valid" [2ca77b9b-c099-46c3-a02c-0d0f68ffa0fe] description = "each ability is only calculated once" -include = "false" \ No newline at end of file +include = false + +[dca2b2ec-f729-4551-84b9-078876bb4808] +description = "each ability is only calculated once" +reimplements = "2ca77b9b-c099-46c3-a02c-0d0f68ffa0fe" +include = false diff --git a/exercises/practice/dnd-character/dnd-character.arr b/exercises/practice/dnd-character/dnd-character.arr index 8892877..1e6eed8 100644 --- a/exercises/practice/dnd-character/dnd-character.arr +++ b/exercises/practice/dnd-character/dnd-character.arr @@ -2,30 +2,26 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * +#| + Replace the ... with your code to pass the tests. Good luck! +|# + data Character: - | blank-character() with: - method randomize-stats(self) -> Character: - abilities = self.ability() - strength = self.ability() - dexterity = self.ability() - constitution = self.ability() - intelligence = self.ability() - wisdom = self.ability() - charisma = self.ability() - character(strength, dexterity, constitution, intelligence, wisdom, charisma) - end - | character(strength, dexterity, constitution, intelligence, wisdom, charisma) with: - method get-hitpoints(self): - 10 + self.modifier(self.constitution) - end + | blank-character() + with: + method randomize-stats(self) -> Character: + ... + end + | character(strength, dexterity, constitution, intelligence, wisdom, charisma) + with: + method get-hitpoints(self) -> NumInteger: + ... + end sharing: method ability(self) -> NumInteger: - roll-dice = lam(_): num-random(5) + 1 end - rolls = map(roll-dice, repeat(4, 0)) - rolls.sort().drop(1).foldl(lam(elt, acc): elt + acc end, 0) + ... end, method modifier(self, value :: NumInteger) -> NumInteger: - modified = (value - 10) / 2 - num-floor(modified) + ... end -end \ No newline at end of file +end From 57d8c81d6281622c30b3dbe9566fdc21b43497e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:21:48 -0800 Subject: [PATCH 158/244] Add boolean chain approach (#178) --- .../leap/.approaches/boolean-chain/content.md | 36 +++++++++++++++++++ .../.approaches/boolean-chain/snippet.txt | 1 + .../practice/leap/.approaches/config.json | 18 ++++++++++ .../practice/leap/.approaches/introduction.md | 25 +++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 exercises/practice/leap/.approaches/boolean-chain/content.md create mode 100644 exercises/practice/leap/.approaches/boolean-chain/snippet.txt create mode 100644 exercises/practice/leap/.approaches/config.json create mode 100644 exercises/practice/leap/.approaches/introduction.md diff --git a/exercises/practice/leap/.approaches/boolean-chain/content.md b/exercises/practice/leap/.approaches/boolean-chain/content.md new file mode 100644 index 0000000..e924104 --- /dev/null +++ b/exercises/practice/leap/.approaches/boolean-chain/content.md @@ -0,0 +1,36 @@ +# Boolean chaining + +```pyret +fun leap(year): + fun year-is-divisible-by(divisor): + num-equal(num-modulo(year, divisor), 0) + end + + year-is-divisible-by(4) and (not(year-is-divisible-by(100)) or year-is-divisible-by(400)) +end +``` + +This approach uses the Boolean operators `and` and `or` to chain together values from two Boolean expressions, creating a Boolean value. +The `and` operator returns `true` when both sides are true but `false` otherwise. +The `or` operator returns `false` when both sides are false but `true` otherwise. + +| n1 | n2 | n1 OR n2 | n1 AND n2 | +| ----- | ----- | ------- | --------- | +| false | false | false | false | +| false | true | true | false | +| true | false | true | false | +| true | true | true | true | + +Both operators can short-circuit which means in some scenarios, the operators don't evaluate the expression to the right. +For `and`, if the left side produces `false`, that value is returned immediately. +For `or`, if the left side produces `true`, that value is returned immediately. + +We can now test if a year is evenly divisible by 4, 100, and 400. +All leap years are divisible by 4 but not by 100 unless they're also divisible by 100. + +| year | year % 4 == 0 | year % 100 != 0 | year % 400 == 0 | is leap year | +| ---- | ------------- | --------------- | --------------- | ------------ | +| 2020 | true | true | (not evaluated) | true | +| 2019 | false | (not evaluated) | (not evaluated) | false | +| 2000 | true | false | true | true | +| 1900 | true | false | false | false | diff --git a/exercises/practice/leap/.approaches/boolean-chain/snippet.txt b/exercises/practice/leap/.approaches/boolean-chain/snippet.txt new file mode 100644 index 0000000..311c8dd --- /dev/null +++ b/exercises/practice/leap/.approaches/boolean-chain/snippet.txt @@ -0,0 +1 @@ +PLACEHOLDER \ No newline at end of file diff --git a/exercises/practice/leap/.approaches/config.json b/exercises/practice/leap/.approaches/config.json new file mode 100644 index 0000000..683145d --- /dev/null +++ b/exercises/practice/leap/.approaches/config.json @@ -0,0 +1,18 @@ +{ + "introduction": { + "authors": [ + "BNAndras" + ] + }, + "approaches": [ + { + "uuid": "2f53896f-b3e7-4c7d-be3a-a3342087826e", + "slug": "boolean-chain", + "title": "Boolean Chaining", + "blurb": "Use operators to check boolean values in a chain", + "authors": [ + "BNAndras" + ] + } + ] +} diff --git a/exercises/practice/leap/.approaches/introduction.md b/exercises/practice/leap/.approaches/introduction.md new file mode 100644 index 0000000..01d2f24 --- /dev/null +++ b/exercises/practice/leap/.approaches/introduction.md @@ -0,0 +1,25 @@ +# Introduction + +There are two approaches highlighted here for his exercise. +Both involve checking if a year is evenly divisible by 4, 100, and 400 using [num-modulo][num-modulo]. + +## General guidance + +Regardless of the approach chosen, this exercise requires students to use Boolean logic to decide if a given year is a leap year. + +## Approach: Boolean chaining + +```pyret +fun leap(year): + fun year-is-divisible-by(divisor): + num-equal(num-modulo(year, divisor), 0) + end + + year-is-divisible-by(4) and (not(year-is-divisible-by(100)) or year-is-divisible-by(400)) +end +``` + +For more information, check the [Boolean chain approach][approach-boolean-chain]. + +[num-modulo]: https://pyret.org/docs/latest/numbers.html#%28part._numbers_num-modulo%29 +[approach-boolean-chain]: https://exercism.org/tracks/pyret/exercises/leap/approaches/boolean-chain \ No newline at end of file From 15919fb1834c28ea61aab37eb20853dd5662608b Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Tue, 16 Jan 2024 16:11:38 +0100 Subject: [PATCH 159/244] leap: sync (#179) * Sync the `leap` exercise's docs with the latest data. * Sync the `leap` exercise's metadata with the latest data. --- exercises/practice/leap/.docs/instructions.md | 21 +------------------ exercises/practice/leap/.docs/introduction.md | 16 ++++++++++++++ exercises/practice/leap/.meta/config.json | 2 +- 3 files changed, 18 insertions(+), 21 deletions(-) create mode 100644 exercises/practice/leap/.docs/introduction.md diff --git a/exercises/practice/leap/.docs/instructions.md b/exercises/practice/leap/.docs/instructions.md index a83826b..b14f856 100644 --- a/exercises/practice/leap/.docs/instructions.md +++ b/exercises/practice/leap/.docs/instructions.md @@ -1,22 +1,3 @@ # Instructions -Given a year, report if it is a leap year. - -The tricky thing here is that a leap year in the Gregorian calendar occurs: - -```text -on every year that is evenly divisible by 4 - except every year that is evenly divisible by 100 - unless the year is also evenly divisible by 400 -``` - -For example, 1997 is not a leap year, but 1996 is. -1900 is not a leap year, but 2000 is. - -## Notes - -Though our exercise adopts some very simple rules, there is more to learn! - -For a delightful, four minute explanation of the whole leap year phenomenon, go watch [this youtube video][video]. - -[video]: https://www.youtube.com/watch?v=xX96xng7sAE +Your task is to determine whether a given year is a leap year. diff --git a/exercises/practice/leap/.docs/introduction.md b/exercises/practice/leap/.docs/introduction.md new file mode 100644 index 0000000..4ffd2da --- /dev/null +++ b/exercises/practice/leap/.docs/introduction.md @@ -0,0 +1,16 @@ +# Introduction + +A leap year (in the Gregorian calendar) occurs: + +- In every year that is evenly divisible by 4. +- Unless the year is evenly divisible by 100, in which case it's only a leap year if the year is also evenly divisible by 400. + +Some examples: + +- 1997 was not a leap year as it's not divisible by 4. +- 1900 was not a leap year as it's not divisible by 400. +- 2000 was a leap year! + +~~~~exercism/note +For a delightful, four-minute explanation of the whole phenomenon of leap years, check out [this YouTube video](https://www.youtube.com/watch?v=xX96xng7sAE). +~~~~ diff --git a/exercises/practice/leap/.meta/config.json b/exercises/practice/leap/.meta/config.json index 72141b2..a6da511 100644 --- a/exercises/practice/leap/.meta/config.json +++ b/exercises/practice/leap/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Given a year, report if it is a leap year.", + "blurb": "Determine whether a given year is a leap year.", "source": "CodeRanch Cattle Drive, Assignment 3", "source_url": "https://coderanch.com/t/718816/Leap" } From ecd5ef77d26582434364dae1f51ec159629daf14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 17 Jan 2024 09:11:43 -0800 Subject: [PATCH 160/244] Add more leap approaches (#180) --- .../leap/.approaches/boolean-chain/content.md | 2 +- .../.approaches/boolean-chain/snippet.txt | 8 ++++- .../practice/leap/.approaches/config.json | 11 ++++++- .../.approaches/if-expressions/content.md | 32 +++++++++++++++++++ .../.approaches/if-expressions/snippet.txt | 8 +++++ .../practice/leap/.approaches/introduction.md | 20 +++++++++++- 6 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 exercises/practice/leap/.approaches/if-expressions/content.md create mode 100644 exercises/practice/leap/.approaches/if-expressions/snippet.txt diff --git a/exercises/practice/leap/.approaches/boolean-chain/content.md b/exercises/practice/leap/.approaches/boolean-chain/content.md index e924104..648129a 100644 --- a/exercises/practice/leap/.approaches/boolean-chain/content.md +++ b/exercises/practice/leap/.approaches/boolean-chain/content.md @@ -10,7 +10,7 @@ fun leap(year): end ``` -This approach uses the Boolean operators `and` and `or` to chain together values from two Boolean expressions, creating a Boolean value. +This approach uses a helper function `year-is-divisible-by` and the Boolean operators `and` and `or` to run each check (divisible by 4, not divisible by 100, and divisible by 400) in order, producing a single Boolean value at the end. The `and` operator returns `true` when both sides are true but `false` otherwise. The `or` operator returns `false` when both sides are false but `true` otherwise. diff --git a/exercises/practice/leap/.approaches/boolean-chain/snippet.txt b/exercises/practice/leap/.approaches/boolean-chain/snippet.txt index 311c8dd..d2c45c8 100644 --- a/exercises/practice/leap/.approaches/boolean-chain/snippet.txt +++ b/exercises/practice/leap/.approaches/boolean-chain/snippet.txt @@ -1 +1,7 @@ -PLACEHOLDER \ No newline at end of file +fun leap(year): + fun year-is-divisible-by(divisor): + num-equal(num-modulo(year, divisor), 0) + end + + year-is-divisible-by(4) and (not(year-is-divisible-by(100)) or year-is-divisible-by(400)) +end \ No newline at end of file diff --git a/exercises/practice/leap/.approaches/config.json b/exercises/practice/leap/.approaches/config.json index 683145d..d1e7b01 100644 --- a/exercises/practice/leap/.approaches/config.json +++ b/exercises/practice/leap/.approaches/config.json @@ -9,7 +9,16 @@ "uuid": "2f53896f-b3e7-4c7d-be3a-a3342087826e", "slug": "boolean-chain", "title": "Boolean Chaining", - "blurb": "Use operators to check boolean values in a chain", + "blurb": "Use operators to check Boolean values in a chain", + "authors": [ + "BNAndras" + ] + }, + { + "uuid": "19b192ea-7dbe-4c22-b29c-93df1127f7e0", + "slug": "if-expressions", + "title": "If Expressions", + "blurb": "Use if expressions to conditionally check a leap year", "authors": [ "BNAndras" ] diff --git a/exercises/practice/leap/.approaches/if-expressions/content.md b/exercises/practice/leap/.approaches/if-expressions/content.md new file mode 100644 index 0000000..590f0d6 --- /dev/null +++ b/exercises/practice/leap/.approaches/if-expressions/content.md @@ -0,0 +1,32 @@ +# If expressions + +```pyret +fun leap(year): + if num-equal(num-modulo(year, 400), 0): + true + else if num-equal(num-modulo(year, 100), 0): + false + else if num-equal(num-modulo(year, 4), 0): + true + else: + false +end +``` + +An [if expression][if-expression] contains one or more branches with conditions that are checked sequentially and associated blocks of code. +Once a condition produces `true`, the associated block is evaluated and its contents returned. +No subsequent conditions will be tested. +One of the conditions in the if expression must produce `true` or an error is thrown. +Therefore, `else` is used to provide a branch that is evaluated when the other branches' conditions aren't satisified. + +If a year is evenly divisible by 400, the first condition `num-equal(num-modulo(year, 400), 0)` produces `true`, and the associated block is evaluated, returning `true`. + +If a year is divisible by 100, the second condition `num-equal(num-modulo(year, 100), 0)` produces `true`, and the associated block is evaluated, returning `false`. If this year had also been divisible by 400, the first condition would have been satisfied and the code would not have reached this point. + +If a year is divisible by 4, the third condition `num-equal(num-modulo(year, 4), 0)` produces `true`, and the associated block is evaluated, returning `true`. +Because of the previous conditions, this year isn't also divisible by 400 or 100. + +Finally, if no other branches' conditions were true, the block associated with `else` is evaluated, representing when a year isn't divisible by 4, 100, or 400. +Here, `false` is returned. + +[if-expression]: https://pyret.org/docs/latest/Expressions.html#%28part._s~3aif-expr%29 diff --git a/exercises/practice/leap/.approaches/if-expressions/snippet.txt b/exercises/practice/leap/.approaches/if-expressions/snippet.txt new file mode 100644 index 0000000..70612c5 --- /dev/null +++ b/exercises/practice/leap/.approaches/if-expressions/snippet.txt @@ -0,0 +1,8 @@ +fun leap(year): + if num-equal(num-modulo(year, 400), 0): + true + else if num-equal(num-modulo(year, 100), 0): + false + else if num-equal(num-modulo(year, 4), 0): + true +# clipped for brevity \ No newline at end of file diff --git a/exercises/practice/leap/.approaches/introduction.md b/exercises/practice/leap/.approaches/introduction.md index 01d2f24..94e978a 100644 --- a/exercises/practice/leap/.approaches/introduction.md +++ b/exercises/practice/leap/.approaches/introduction.md @@ -21,5 +21,23 @@ end For more information, check the [Boolean chain approach][approach-boolean-chain]. +## Approach: If expressions + +```pyret +fun leap(year): + if num-equal(num-modulo(year, 400), 0): + true + else if num-equal(num-modulo(year, 100), 0): + false + else if num-equal(num-modulo(year, 4), 0): + true + else: + false +end +``` + +For more information, check the [if expressions approach][approach-if-expressions]. + [num-modulo]: https://pyret.org/docs/latest/numbers.html#%28part._numbers_num-modulo%29 -[approach-boolean-chain]: https://exercism.org/tracks/pyret/exercises/leap/approaches/boolean-chain \ No newline at end of file +[approach-boolean-chain]: https://exercism.org/tracks/pyret/exercises/leap/approaches/boolean-chain +[approach-if-expressions]: https://exercism.org/tracks/pyret/exercises/leap/approaches/if-expressions \ No newline at end of file From 4af318acef313eaf88dba6ec1699380d762ee849 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 25 Jan 2024 13:58:37 +0100 Subject: [PATCH 161/244] Sync fetch-configlet.ps1 script (#181) --- bin/fetch-configlet.ps1 | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/bin/fetch-configlet.ps1 b/bin/fetch-configlet.ps1 index ab8f103..a7896b2 100644 --- a/bin/fetch-configlet.ps1 +++ b/bin/fetch-configlet.ps1 @@ -12,20 +12,31 @@ $requestOpts = @{ RetryIntervalSec = 1 } -$arch = If ([Environment]::Is64BitOperatingSystem) { "x86-64" } Else { "i386" } -$fileName = "configlet_.+_windows_$arch.zip" - Function Get-DownloadUrl { + $arch = If ([Environment]::Is64BitOperatingSystem) { "x86-64" } Else { "i386" } $latestUrl = "https://api.github.com/repos/exercism/configlet/releases/latest" - Invoke-RestMethod -Uri $latestUrl -PreserveAuthorizationOnRedirect @requestOpts - | Select-Object -ExpandProperty assets - | Where-Object { $_.browser_download_url -match $FileName } - | Select-Object -ExpandProperty browser_download_url + Invoke-RestMethod -Uri $latestUrl -PreserveAuthorizationOnRedirect @requestOpts ` + | Select-Object -ExpandProperty assets ` + | Where-Object { $_.name -match "^configlet_.+_windows_${arch}.zip$" } ` + | Select-Object -ExpandProperty browser_download_url -First 1 } -$downloadUrl = Get-DownloadUrl $outputDirectory = "bin" -$outputFile = Join-Path -Path $outputDirectory -ChildPath $fileName -Invoke-WebRequest -Uri $downloadUrl -OutFile $outputFile @requestOpts -Expand-Archive $outputFile -DestinationPath $outputDirectory -Force -Remove-Item -Path $outputFile +if (!(Test-Path -Path $outputDirectory)) { + Write-Output "Error: no ./bin directory found. This script should be ran from a repo root." + exit 1 +} + +Write-Output "Fetching configlet..." +$downloadUrl = Get-DownloadUrl +$outputFileName = "configlet.zip" +$outputPath = Join-Path -Path $outputDirectory -ChildPath $outputFileName +Invoke-WebRequest -Uri $downloadUrl -OutFile $outputPath @requestOpts + +$configletPath = Join-Path -Path $outputDirectory -ChildPath "configlet.exe" +if (Test-Path -Path $configletPath) { Remove-Item -Path $configletPath } +[System.IO.Compression.ZipFile]::ExtractToDirectory($outputPath, $outputDirectory) +Remove-Item -Path $outputPath + +$configletVersion = (Select-String -Pattern "/releases/download/(.+?)/" -InputObject $downloadUrl -AllMatches).Matches.Groups[1].Value +Write-Output "Downloaded configlet ${configletVersion} to ${configletPath}" From ab267af6590e6b1f13753a9e0170fdd7fba4c41d Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Thu, 25 Jan 2024 14:49:03 +0000 Subject: [PATCH 162/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#182)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More info: https://github.com/exercism/org-wide-files/commit/42a096591ac4a748b6c4daf402d46c7eed640a1a --- .../workflows/no-important-files-changed.yml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/no-important-files-changed.yml diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml new file mode 100644 index 0000000..39a6551 --- /dev/null +++ b/.github/workflows/no-important-files-changed.yml @@ -0,0 +1,67 @@ +name: No important files changed + +on: + pull_request: + types: [opened] + branches: [main] + +permissions: + pull-requests: write + +jobs: + no_important_files_changed: + name: No important files changed + runs-on: ubuntu-22.04 + steps: + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Check if important files changed + id: check + run: | + set -exo pipefail + + # fetch a ref to the main branch so we can diff against it + git remote set-branches origin main + git fetch --depth 1 origin main + + for changed_file in $(git diff --diff-filter=M --name-only origin/main); do + if ! echo "$changed_file" | grep --quiet --extended-regexp 'exercises/(practice|concept)' ; then + continue + fi + slug="$(echo "$changed_file" | sed --regexp-extended 's#exercises/[^/]+/([^/]+)/.*#\1#' )" + path_before_slug="$(echo "$changed_file" | sed --regexp-extended "s#(.*)/$slug/.*#\\1#" )" + path_after_slug="$( echo "$changed_file" | sed --regexp-extended "s#.*/$slug/(.*)#\\1#" )" + + if ! [ -f "$path_before_slug/$slug/.meta/config.json" ]; then + # cannot determine if important files changed without .meta/config.json + continue + fi + + # returns 0 if the filter matches, 1 otherwise + # | contains($path_after_slug) + if jq --exit-status \ + --arg path_after_slug "$path_after_slug" \ + '[.files.test, .files.invalidator, .files.editor] | flatten | index($path_after_slug)' \ + "$path_before_slug/$slug/.meta/config.json" \ + > /dev/null; + then + echo "important_files_changed=true" >> "$GITHUB_OUTPUT" + exit 0 + fi + done + + echo "important_files_changed=false" >> "$GITHUB_OUTPUT" + + - name: Suggest to add [no important files changed] + if: steps.check.outputs.important_files_changed == 'true' + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea + with: + script: | + const body = "This PR touches files which potentially affect the outcome of the tests of an exercise. This will cause all students' solutions to affected exercises to be re-tested.\n\nIf this PR does **not** affect the result of the test (or, for example, adds an edge case that is not worth rerunning all tests for), **please add the following to the merge-commit message** which will stops student's tests from re-running. Please copy-paste to avoid typos.\n```\n[no important files changed]\n```\n\n For more information, refer to the [documentation](https://exercism.org/docs/building/tracks#h-avoiding-triggering-unnecessary-test-runs). If you are unsure whether to add the message or not, please ping `@exercism/maintainers-admin` in a comment. Thank you!" + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: body + }) From 1edbdcf423ada78267a6438db569aab8c46ee4a6 Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Thu, 1 Feb 2024 15:33:33 +0000 Subject: [PATCH 163/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#183)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More info: https://github.com/exercism/org-wide-files/commit/bfc6fe525e057a43f41e4fd83dfac00569d14086 --- .github/workflows/no-important-files-changed.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml index 39a6551..26b068b 100644 --- a/.github/workflows/no-important-files-changed.yml +++ b/.github/workflows/no-important-files-changed.yml @@ -57,6 +57,7 @@ jobs: if: steps.check.outputs.important_files_changed == 'true' uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea with: + github-token: ${{ github.token }} script: | const body = "This PR touches files which potentially affect the outcome of the tests of an exercise. This will cause all students' solutions to affected exercises to be re-tested.\n\nIf this PR does **not** affect the result of the test (or, for example, adds an edge case that is not worth rerunning all tests for), **please add the following to the merge-commit message** which will stops student's tests from re-running. Please copy-paste to avoid typos.\n```\n[no important files changed]\n```\n\n For more information, refer to the [documentation](https://exercism.org/docs/building/tracks#h-avoiding-triggering-unnecessary-test-runs). If you are unsure whether to add the message or not, please ping `@exercism/maintainers-admin` in a comment. Thank you!" github.rest.issues.createComment({ From 441636bbaf73661c81c960588146439e6e9e29ca Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Fri, 2 Feb 2024 15:52:35 +0100 Subject: [PATCH 164/244] Rename the `pop-count` exercise to `eliuds-eggs`. (#184) --- config.json | 2 +- .../practice/{pop-count => eliuds-eggs}/.docs/instructions.md | 0 .../practice/{pop-count => eliuds-eggs}/.docs/introduction.md | 0 exercises/practice/{pop-count => eliuds-eggs}/.meta/config.json | 0 exercises/practice/{pop-count => eliuds-eggs}/.meta/example.arr | 0 exercises/practice/{pop-count => eliuds-eggs}/.meta/tests.toml | 0 .../practice/{pop-count => eliuds-eggs}/pop-count-test.arr | 0 exercises/practice/{pop-count => eliuds-eggs}/pop-count.arr | 0 8 files changed, 1 insertion(+), 1 deletion(-) rename exercises/practice/{pop-count => eliuds-eggs}/.docs/instructions.md (100%) rename exercises/practice/{pop-count => eliuds-eggs}/.docs/introduction.md (100%) rename exercises/practice/{pop-count => eliuds-eggs}/.meta/config.json (100%) rename exercises/practice/{pop-count => eliuds-eggs}/.meta/example.arr (100%) rename exercises/practice/{pop-count => eliuds-eggs}/.meta/tests.toml (100%) rename exercises/practice/{pop-count => eliuds-eggs}/pop-count-test.arr (100%) rename exercises/practice/{pop-count => eliuds-eggs}/pop-count.arr (100%) diff --git a/config.json b/config.json index 05f9e9f..0dfeed1 100644 --- a/config.json +++ b/config.json @@ -304,7 +304,7 @@ "difficulty": 3 }, { - "slug": "pop-count", + "slug": "eliuds-eggs", "name": "Eliud's Eggs", "uuid": "ebfaddfb-d094-4471-8771-fc09cf14274f", "practices": [ diff --git a/exercises/practice/pop-count/.docs/instructions.md b/exercises/practice/eliuds-eggs/.docs/instructions.md similarity index 100% rename from exercises/practice/pop-count/.docs/instructions.md rename to exercises/practice/eliuds-eggs/.docs/instructions.md diff --git a/exercises/practice/pop-count/.docs/introduction.md b/exercises/practice/eliuds-eggs/.docs/introduction.md similarity index 100% rename from exercises/practice/pop-count/.docs/introduction.md rename to exercises/practice/eliuds-eggs/.docs/introduction.md diff --git a/exercises/practice/pop-count/.meta/config.json b/exercises/practice/eliuds-eggs/.meta/config.json similarity index 100% rename from exercises/practice/pop-count/.meta/config.json rename to exercises/practice/eliuds-eggs/.meta/config.json diff --git a/exercises/practice/pop-count/.meta/example.arr b/exercises/practice/eliuds-eggs/.meta/example.arr similarity index 100% rename from exercises/practice/pop-count/.meta/example.arr rename to exercises/practice/eliuds-eggs/.meta/example.arr diff --git a/exercises/practice/pop-count/.meta/tests.toml b/exercises/practice/eliuds-eggs/.meta/tests.toml similarity index 100% rename from exercises/practice/pop-count/.meta/tests.toml rename to exercises/practice/eliuds-eggs/.meta/tests.toml diff --git a/exercises/practice/pop-count/pop-count-test.arr b/exercises/practice/eliuds-eggs/pop-count-test.arr similarity index 100% rename from exercises/practice/pop-count/pop-count-test.arr rename to exercises/practice/eliuds-eggs/pop-count-test.arr diff --git a/exercises/practice/pop-count/pop-count.arr b/exercises/practice/eliuds-eggs/pop-count.arr similarity index 100% rename from exercises/practice/pop-count/pop-count.arr rename to exercises/practice/eliuds-eggs/pop-count.arr From fd61aa3caebe1112cc3ad79d9b69c7298745a3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 2 Feb 2024 17:05:27 -0800 Subject: [PATCH 165/244] Fix remaining pop-count references (#185) --- exercises/practice/eliuds-eggs/.meta/config.json | 4 ++-- .../eliuds-eggs/{pop-count-test.arr => eliuds-eggs-test.arr} | 2 +- .../practice/eliuds-eggs/{pop-count.arr => eliuds-eggs.arr} | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename exercises/practice/eliuds-eggs/{pop-count-test.arr => eliuds-eggs-test.arr} (96%) rename exercises/practice/eliuds-eggs/{pop-count.arr => eliuds-eggs.arr} (100%) diff --git a/exercises/practice/eliuds-eggs/.meta/config.json b/exercises/practice/eliuds-eggs/.meta/config.json index 2efbe61..d82a024 100644 --- a/exercises/practice/eliuds-eggs/.meta/config.json +++ b/exercises/practice/eliuds-eggs/.meta/config.json @@ -4,10 +4,10 @@ ], "files": { "solution": [ - "pop-count.arr" + "eliuds-eggs.arr" ], "test": [ - "pop-count-test.arr" + "eliuds-eggs-test.arr" ], "example": [ ".meta/example.arr" diff --git a/exercises/practice/eliuds-eggs/pop-count-test.arr b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr similarity index 96% rename from exercises/practice/eliuds-eggs/pop-count-test.arr rename to exercises/practice/eliuds-eggs/eliuds-eggs-test.arr index dc22ee1..744d8fb 100644 --- a/exercises/practice/eliuds-eggs/pop-count-test.arr +++ b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr @@ -1,6 +1,6 @@ use context essentials2020 -include file("pop-count.arr") +include file("eliuds-eggs.arr") #| When working offline, all tests except the first one are skipped by default. diff --git a/exercises/practice/eliuds-eggs/pop-count.arr b/exercises/practice/eliuds-eggs/eliuds-eggs.arr similarity index 100% rename from exercises/practice/eliuds-eggs/pop-count.arr rename to exercises/practice/eliuds-eggs/eliuds-eggs.arr From 78d592f21761ee80580068850c018bc554486085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 6 Feb 2024 11:34:23 -0800 Subject: [PATCH 166/244] Deprecate binary search (#186) * Deprecate binary search * Remove practices --- config.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/config.json b/config.json index 0dfeed1..a46a0af 100644 --- a/config.json +++ b/config.json @@ -88,12 +88,10 @@ "slug": "binary-search", "name": "Binary Search", "uuid": "dc4437e4-9ab3-4ab0-ae0d-ae3d2287e97c", - "practices": [ - "loops", - "lists" - ], + "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 2, + "status": "deprecated" }, { "slug": "bob", From 63e1483a85f002b04220d606447f5c848563298f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 07:00:55 -0800 Subject: [PATCH 167/244] Bump actions/setup-node from 4.0.1 to 4.0.2 (#187) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8...60edb5dd545a775178f52524783378180af0d1f8) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 12703ef..64ccd19 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Setup Node.js - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 with: node-version: 'node' From 2e34f200d456580e659cc488af622768b3862843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 13 Feb 2024 23:48:01 -0800 Subject: [PATCH 168/244] Update track docs (#188) --- docs/INSTALLATION.md | 14 ++-- docs/LEARNING.md | 2 +- docs/RESOURCES.md | 19 ++--- docs/TESTS.md | 139 +++++++++----------------------- exercises/shared/.docs/debug.md | 135 ++++++------------------------- exercises/shared/.docs/help.md | 16 ++-- exercises/shared/.docs/tests.md | 20 ++--- 7 files changed, 95 insertions(+), 250 deletions(-) diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 4e55c8c..b510680 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,12 +1,12 @@ # Installation Please review the [official installation directions]. -The [official online editor] can be used by most modern browsers and is generally the recommended way to use Pyret out of the box. -However, a command-line interface (CLI) is also available by first installing [NodeJS] following your platform's directions and then the [pyret-npm] package. -Currently, the offline CLI works best in Linux and MacOS, but Windows users will need to install it using the [Windows Subsystem for Linux (WSL)] or a virtual machine of their choosing. + + +~~~~exercism/warning +Currently, the pyret-npm package is only compatible with Linux and MacOS. +Windows users will need to install pyret-npm using either WSL or a virtual machine. +~~~~ +## [official installation directions]: https://pyret.org/set-sail/ -[NodeJS]: https://nodejs.org/en/download -[pyret-npm]: https://npm.io/package/pyret-npm -[official online editor]: https://code.pyret.org/editor -[Windows Subsystem for Linux (WSL)]: https://learn.microsoft.com/en-us/windows/wsl/about diff --git a/docs/LEARNING.md b/docs/LEARNING.md index f83a633..536ef74 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -1,6 +1,6 @@ # Learning -Besides Exercism's exercises and mentoring, here are some other resources from the PLT group at Brown University and academics around the world. +The Programming Languages Team at Brown University and other academics have provided several resources for learning Pyret. * [A Data-Centric Introduction to Computing] * [Programming and Programming Languages] diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index 60b7c7b..e228023 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -1,12 +1,13 @@ # Resources -* [Official Pyret Documentation] -* [Official Pyret Online Editor] -* [Pyret Discuss on Google Groups] -* [Pyret Twitter] -* Pyret Discord - Latest invite URL can be found on the above Twitter profile +* [Official Documentation][official-docs] +* [Code.pyret.org Editor][online-editor] +* [Pyret Discuss (Google Groups)][google-groups] +* [@PyretLang][pyret-twitter] +* [The Pyret Programming Discord][pyret-discord] -[Official Pyret Documentation]: https://pyret.org/docs/latest/ -[Official Pyret Online Editor]: https://code.pyret.org/editor -[Pyret Discuss on Google Groups]: https://groups.google.com/g/pyret-discuss -[Pyret Twitter]: https://twitter.com/pyretlang +[official-docs]: https://pyret.org/docs/latest/ +[online-editor]: https://code.pyret.org/editor +[google-groups]: https://groups.google.com/g/pyret-discuss +[pyret-twitter]: https://twitter.com/pyretlang +[pyret-discord]: https://discord.com/invite/7aFMB3b6Mt diff --git a/docs/TESTS.md b/docs/TESTS.md index dd94fe8..a4d8dd4 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -3,31 +3,31 @@ ## Testing using the web editor -To run tests, just click the "Run Tests" button and all the tests will run. +To run tests, click the "Run Tests" button and all the tests will be run. ## Testing locally -Before getting to work locally (i.e. not within the Exercism web editor), first make sure [pyret-npm] is installed and the `pyret` command works. -See [installation] for details about installing Pyret locally. +Before working locally, see the [installation docs][installation] to set up Pyret. Each exercise has multiple tests. When you first download the exercise, only one test will be enabled. -The recommended workflow is to run the test (which should initially fail), the make changes to your code until that test passes. -Then, enable the next test in the test file and repeat (modify the code, run tests, move on) until all the tests pass. -Some people prefer to preemptively enable all the tests before working on the code; this can overwhelm some people with how many tests are failing and make it hard to figure out what to work on, but this workflow works well for others. +The recommended workflow is to run the test (which should initially fail) and then make changes to your code until that test passes. +Then, enable the next test in the test file (see below for details) and repeat this process(modify the code, run tests, and move on) until all the tests pass. +Some students preemptively enable all the tests before working on the code; this can be overwhelming with how many tests are failing and make it harder to solve the exercise. ### Running tests Each exercise will have a solution file and a test file. -For instance, the Hello World exercise has a `hello-world.arr` file and a `hello-world-test.arr`. +For instance, the Hello World exercise has both a `hello-world.arr` file and a `hello-world-test.arr` file. +Your code will go into `hello-world.arr`. To run tests, execute the `pyret` command with the test file as an argument. -For instance, running `pyret hello-world-test.arr` in the `hello-world` directory will run the Hello World exercises. +For instance, running `pyret hello-world-test.arr` in the `hello-world` directory will run the currently enabled Hello World tests. ### Enabling tests Every test file has one or more tests, each test wrapped in its own function. -The test file has a `TestRun` near the bottom of the file with a list of tests. -Each test in the list contains two values: the test function to run and an `active` value which controls if the test is executed. +At the bottom, there is a list of `TestRun` values representing the tests to be run. +Each test in the list contains two values: the test function to run and an `active` value which controls whether the test will be executed. For instance, the `etl-test.arr` file contains four tests, with the first active and the rest inactive. ```pyret @@ -41,109 +41,49 @@ data TestRun: test(run, active) end ].each(lam(t): when t.active: t.run() end end) ``` -To enable additional tests, change the `active` value from `false` to `true` then rerun the test file with the `pyret` command. +To enable additional tests, change the `active` value from `false` to `true`, and then rerun the test file with the `pyret` command. -Note: if you forget to enable all the tests, Pyret may report that all the (active) tests are passing locally but when you run your code on the website, Pyret may repor the tests are not passing (as it may be running additional tests which did not run locally). +~~~~exercism/note +If whle working offline you forget to enable all the tests, Pyret may report that all the (active) tests are passing locally. +When you submit your code, the website may report some tests are not passing (as it may be running additional tests which did not run locally). +~~~~ -Note: when running tests on the website, all the tests will always run. +## provide -## Debugging +Tests on this track will import your file, allowing access to anything explicitly exported from your code. -In many languages, there is a common idiom of printing text to the screen during code execution. -This can trivially be done using the [print] function which prints the value passed to it and then returns that value. +To export variables, you need to add a [provide statement][provide-statement] at the beginning of your file. -Pyret by default doesn't allow for multiple expressions in a code block so you can't do this: +The following snippets are three valid ways to export `a`, `b`, and `c`. ```pyret -fun add-two-numbers(number1, number2): - print("I'm in a function!") - number1 + number2 -end -``` - -Instead, we need to use the `block` form to encapsulate a section with multiple expressions: - -```pyret -fun add-two-numbers(number1, number2): - block: - print("I'm in a function!") - number1 + number2 - end -end - -print(add-two-number(1, 2)) -"I'm in a function!" -3 -``` - -A more convenient approach is to use a [spy statement] which prints the contents and line numbers of the passed values. -Spies can be used without the `block` keyword. - -```pyret -fun add-two-numbers(number1, number2): - spy: number1, number2 end - number1 + number2 -end - -print(add-two-numbers(1, 2)) -Spying (at .../add-two-numbers.arr:2:2-2:27) - number1: 1 - number2: 2 -3 +# using a list of bindings +provide a, b, c end ``` -You can also use a label with using `spy`: - ```pyret -fun add-two-numbers(number1, number2): - spy "adding two": number1, number2 end - number1 + number2 +# using an object literal +provide { + a: a, + b: b, + c: c +} end - -print(add-two-numbers(1, 2)) -Spying "adding two" (at .../add-two-numbers.arr:2:2-2:27) - number1: 1 - number2: 2 -3 ``` -You can also use multiple spies together: - -```pyret -fun do-math(number1, number2): - added = number1 + number2 - subtracted = number1 - number2 - spy "args": number1, number2 end - spy "adding": added end - spy "subtracting": subtracted end - true -end - -print(do-math(1, 2)) -Spying "args" (at .../math.arr:4:2-4:36) - number1: 1 - number2: 2 -Spying "adding" (at .../math.arr:5:2-5:25) - added: 3 -Spying "subtracting" (at .../math.arr:6:2-6:35) - subtracted: -1 -true -``` +`provide *` is a shorthand for exporting all the top-level bindings except for custom data types +However, it's generally not recommended because Pyret is strict about not allowing [shadowing][shadowing]. -## Notes +## provide-types -Tests on this track will `import` your file, allowing them access to anything explicitly exported from your code. - -To export bindings, you need to add a [provide statement] on the first line that specifies that bindings in a comma-separated list like `provide foo, bar end` to allow the tests to import both `foo` and `bar`. -To import all bindings, you can use `provide *`, but generally that's not recommended because it may pollute the namespace and lead to [shadowing] which Pyret does not allow. - -To export a custom type / data declaration, you instead should use a `provide-types statement` as `provide-types *`. -It is an error to try and provide a specific type here. +Some exercises will require a [custom data type][data-definition] to be exported for testing purposes. +In those situations, you can use a [provide-types statement][provide-types-statement]. +Since a data type has additional functions that might not be exported, it's advised to use `provide-types *` despite the shadowing concern. ```pyret provide-types * -data Point: +data MyPoint: | two-dim(x, y) | three-dim(x, y, z) end @@ -151,9 +91,10 @@ end All exercise stubs will have either `provide` or `provide-types` statements set up for your use. -[pyret-npm]: https://npm.io/package/pyret-npm -[print]: https://pyret.org/docs/latest/_global_.html#%28part._~3cglobal~3e_print%29 -[spy statement]: https://pyret.org/docs/latest/s_spies.html -[provide statement]: https://pyret.org/docs/latest/Provide_Statements.html -[shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 [installation]: https://exercism.org/docs/tracks/pyret/installation +[provide-statement]: https://pyret.org/docs/latest/Provide_Statements.html +[shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 +[data-definition]: https://pyret.org/docs/latest/s_declarations.html#%28elem._%28bnf-prod._%28.Pyret._data-decl%29%29%29 +[provide-types-statement]: https://pyret.org/docs/latest/Provide_Statements.html + + diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md index aba9a8e..f09b150 100644 --- a/exercises/shared/.docs/debug.md +++ b/exercises/shared/.docs/debug.md @@ -1,132 +1,45 @@ # Debug -To help with debugging, you can use the fact that any console output will be shown in the test results window. You can write to the console using a [print] expression: - -```pyret -print("Debug message") -# "Debug message" -``` - -However, this can be unwieldly because Pyret by default only allows a single expression in a block. You'd need to use the `block` keyword to allow multiple expressions. - -```pyret -fun do-something(): - print("Debug message") - # do something else -end - -do_something() # won't compile -``` - ```pyret -fun do-something(): - block: - print("Debug message") - # do something else - end +fun print-forty-two(): + print(42) # 42 end - -do_something() # will compile -# "Debug message" ``` -## Spies - -Considering these limitations, a [spy][spy] is often recommended: - ```pyret -fun do-something(): - foo = "something" - spy: foo end - # do something else +fun return-forty-two() block: + print(42) # 42 + 42 end - -do_something() -# Spying (at .../example.arr:3:4-3:14) -# foo: "something" ``` -A spy takes a binding and reports the file the spy is in, the line and column numbers for the spy, and then the name and value for that binding. Optionally, it takes a label. You can also spy on multiple bindings at once or use multiple spies in a block. - -```pyret -fun do-something(): - foo = "something" - bar = 3 - spy "multiple bindings": foo, bar end - # do something else -end +[print][print] is an expression returning a value. +Pyret only allows a single expression within a given block of code unless the outer block is marked with `block`. +In the second example, adding `block` to the function declaration allows us to print 42 before returning it. -do_something() -# Spying "multiple bindings" (at .../example.arr:4:4-4:41) -# foo: "something" -# bar: 3 -``` +## Spies ```pyret fun do-something(): - foo = "something" - bar = 3 - spy "foo": foo end - spy "bar": bar end - # do something else -end - -do_something() -# Spying "foo" (at .../example.arr:4:4-4:22) -# foo: "something" -# Spying "bar" (at .../example.arr:5:4-5:22) -# bar: 3 -``` - -## Changing a custom representation - -Pyret by default uses a representation of a value that can be used to create the value you're printing. This means you could paste the output back into Pyret code and have it execute. - -However, this is a problem when you're working with [data declarations], because what gets printed then is the data variant used to construct the value. In such a situation, you'd likely need to override this string representation to provide more meaningful information. - -This can be done by implementing a `_output` method which tells Pyret how to display the value. Pyret will expect an internal `ValueSkeleton` variant to be returned by this method so you can use `vs-value` or `vs-str`. The `vs-value` variant accepts any value, properly escaping characters and adding quote marks for strings. `vs-str` on the other hand only accepts strings and will print characters exactly as written. - -```pyret -data Data: - | foo(str) with: - method change-to-bar(self): bar(self.str) end - | bar(str) + x = "foo" + y = "bar" + spy "strings": x, y end + a = 1 + b = 2 + spy "numbers": a, b end end +do-something(); -example-foo = foo("a") -example-bar = bar("a") -example-foo-to-bar = example-foo.change-to-bar() -spy "examples": example-foo, example-bar, example-foo-to-bar end - -# Spying "examples" (at .../example.arr:10:0-10:64) -# example-foo: foo("a") -# example-bar: bar("a") -# example-foo-to-bar: bar("a") +# Spying "strings" (at /example.arr:4:4-4:27) +# x: "foo" +# y: "bar" +# Spying "numbers" (at /example.arr:7:4-7:27) +# a: 1 +# b: 2 ``` -```pyret -import valueskeleton as VS - -data Data: - | foo-A() with: - method _output(self): VS.vs-str("\\") end - | foo-B() with: - method _output(self): VS.vs-value("\\") end - | foo-C() with: - method _output(self): VS.vs-value(100) end -end - -a = foo-A() -b = foo-B() -c = foo-C() -spy: a, b, c end - -# Spying (at .../example.arr:17:0-17:16) -# a: \ -# b: "\\" -# c: 100 -``` +A spy statement takes an optional label, one or more variables and reports each variable and its value. +Because it's not an expression, a spy can be used in a block without requiring the outer block to be marked with `block`. [print]: https://pyret.org/docs/latest/_global_.html#%28idx._%28gentag._57%29%29 [spy]: https://pyret.org/docs/latest/s_spies.html -[data declarations]: https://pyret.org/docs/latest/s_declarations.html#%28part._s~3adata-decl%29 diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index 166efdf..7df6b55 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -2,12 +2,12 @@ Below are some resources for getting help if you run into trouble: -* [Official Pyret Documentation] -* [Pyret Discuss on Google Groups] -* [Pyret Discord] -* [Pyret Twitter] +* [Official Documentation][official-docs] +* [Pyret Discuss (Google Groups)][google-groups] +* [@PyretLang][pyret-twitter] +* [The Pyret Programming Discord][pyret-discord] -[Official Pyret Documentation]: https://pyret.org/docs/latest/ -[Pyret Discuss on Google Groups]: https://groups.google.com/g/pyret-discuss -[Pyret Discord]: https://discord.gg/9nFHuaBp -[Pyret Twitter]: https://twitter.com/pyretlang +[official-docs]: https://pyret.org/docs/latest/ +[google-groups]: https://groups.google.com/g/pyret-discuss +[pyret-twitter]: https://twitter.com/pyretlang +[pyret-discord]: https://discord.com/invite/7aFMB3b6Mt diff --git a/exercises/shared/.docs/tests.md b/exercises/shared/.docs/tests.md index c3e9dfb..9162ed8 100644 --- a/exercises/shared/.docs/tests.md +++ b/exercises/shared/.docs/tests.md @@ -1,24 +1,12 @@ # Tests -This track uses `pyret` which is [available as a NPM package][pyret-npm]. Once installed, you can run your exercise's test file by passing `pyret` its location relative to your current working directory. - -Linux/MacOS - -```bash -cd {path/to/exercise-folder-location} -``` - -Windows - -```powershell -PS C:\Users\foobar> cd {path\to\exercise-folder-location} -``` - -Then you can run the tests by running the `pyret` command as shown below, replacing `{exercise-test.arr}` with the name of the test file. +This track uses [the built-in testing framework][testing-docs]. +Once the [pyret-npm][pyret-npm] package has been installed, open the exercise folder and run the `pyret` executable, passing in the exercise's test file like `exercise-test.arr`. Linux/MacOS ```bash +$ cd {path/to/exercise-folder-location} $ pyret {exercise-test.arr} 2/2 modules compiled ({exercise-test.arr}) Cleaning up and generating standalone... @@ -28,10 +16,12 @@ Looks shipshape, all 9 tests passed, mate! Windows ```powershell +PS C:\Users\foobar> cd {path\to\exercise-folder-location} PS C:\Users\foobar\Exercism\pyret\exercise> pyret {exercise-test.arr} 2/2 modules compiled ({exercise-test.arr}) Cleaning up and generating standalone... Looks shipshape, all 9 tests passed, mate! ``` +[testing-docs]: https://pyret.org/docs/latest/testing.html [pyret-npm]: https://www.npmjs.com/package/pyret-npm From e9af13f7ec0c2725fa1e6a7626cb21566f4c02fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 13 Feb 2024 23:50:28 -0800 Subject: [PATCH 169/244] Update INSTALLATION.md (#189) --- docs/INSTALLATION.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index b510680..195fa93 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -2,11 +2,9 @@ Please review the [official installation directions]. - -~~~~exercism/warning +~~~~exercism/note Currently, the pyret-npm package is only compatible with Linux and MacOS. Windows users will need to install pyret-npm using either WSL or a virtual machine. ~~~~ -## [official installation directions]: https://pyret.org/set-sail/ From cdd43f6a3442a77741dcfe6c07d8fe638203381c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 24 Feb 2024 23:18:28 -0800 Subject: [PATCH 170/244] Forego parallel-letter-frequency (#190) --- config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config.json b/config.json index a46a0af..f78363d 100644 --- a/config.json +++ b/config.json @@ -519,7 +519,8 @@ "foregone": [ "error-handling", "gigasecond", - "lens-person" + "lens-person", + "parallel-letter-frequency" ] }, "concepts": [ From b4b9655c39faa4179fad67810b7327d7d59322fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 25 Feb 2024 00:05:36 -0800 Subject: [PATCH 171/244] Test name typo (#191) --- exercises/practice/list-ops/list-ops-test.arr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index b61a8de..d0938df 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -152,7 +152,7 @@ fun foldl-empty(): end end -fun foldl-direction-independet(): +fun foldl-direction-independent(): check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": input = [list: 1, 2, 3, 4] f = lam(elt, acc): elt + acc end @@ -265,7 +265,7 @@ data TestRun: test(run, active) end test(map-empty, false), test(map-list, false), test(foldl-empty, false), - test(foldl-direction-independet, false), + test(foldl-direction-independent, false), test(foldl-direction-dependent, false), test(foldr-empty, false), test(foldr-direction-independent, false), From b56c370b5ebace3cefaac03933434a08408fb3e6 Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Fri, 1 Mar 2024 15:17:53 +0000 Subject: [PATCH 172/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#192)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More info: https://github.com/exercism/org-wide-files/commit/0c0972d1df4cd18d98c7df316348315b06ef49b4 --- .../workflows/no-important-files-changed.yml | 71 ++++--------------- CODE_OF_CONDUCT.md | 2 +- 2 files changed, 14 insertions(+), 59 deletions(-) diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml index 26b068b..b940c59 100644 --- a/.github/workflows/no-important-files-changed.yml +++ b/.github/workflows/no-important-files-changed.yml @@ -1,68 +1,23 @@ name: No important files changed on: - pull_request: + pull_request_target: types: [opened] branches: [main] + paths: + - "exercises/concept/**" + - "exercises/practice/**" + - "!exercises/*/*/.approaches/**" + - "!exercises/*/*/.articles/**" + - "!exercises/*/*/.docs/**" + - "!exercises/*/*/.meta/**" permissions: pull-requests: write jobs: - no_important_files_changed: - name: No important files changed - runs-on: ubuntu-22.04 - steps: - - name: Checkout code - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Check if important files changed - id: check - run: | - set -exo pipefail - - # fetch a ref to the main branch so we can diff against it - git remote set-branches origin main - git fetch --depth 1 origin main - - for changed_file in $(git diff --diff-filter=M --name-only origin/main); do - if ! echo "$changed_file" | grep --quiet --extended-regexp 'exercises/(practice|concept)' ; then - continue - fi - slug="$(echo "$changed_file" | sed --regexp-extended 's#exercises/[^/]+/([^/]+)/.*#\1#' )" - path_before_slug="$(echo "$changed_file" | sed --regexp-extended "s#(.*)/$slug/.*#\\1#" )" - path_after_slug="$( echo "$changed_file" | sed --regexp-extended "s#.*/$slug/(.*)#\\1#" )" - - if ! [ -f "$path_before_slug/$slug/.meta/config.json" ]; then - # cannot determine if important files changed without .meta/config.json - continue - fi - - # returns 0 if the filter matches, 1 otherwise - # | contains($path_after_slug) - if jq --exit-status \ - --arg path_after_slug "$path_after_slug" \ - '[.files.test, .files.invalidator, .files.editor] | flatten | index($path_after_slug)' \ - "$path_before_slug/$slug/.meta/config.json" \ - > /dev/null; - then - echo "important_files_changed=true" >> "$GITHUB_OUTPUT" - exit 0 - fi - done - - echo "important_files_changed=false" >> "$GITHUB_OUTPUT" - - - name: Suggest to add [no important files changed] - if: steps.check.outputs.important_files_changed == 'true' - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea - with: - github-token: ${{ github.token }} - script: | - const body = "This PR touches files which potentially affect the outcome of the tests of an exercise. This will cause all students' solutions to affected exercises to be re-tested.\n\nIf this PR does **not** affect the result of the test (or, for example, adds an edge case that is not worth rerunning all tests for), **please add the following to the merge-commit message** which will stops student's tests from re-running. Please copy-paste to avoid typos.\n```\n[no important files changed]\n```\n\n For more information, refer to the [documentation](https://exercism.org/docs/building/tracks#h-avoiding-triggering-unnecessary-test-runs). If you are unsure whether to add the message or not, please ping `@exercism/maintainers-admin` in a comment. Thank you!" - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: body - }) + pause: + uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@main + with: + repository: ${{ github.event.pull_request.head.repo.owner.login }}/${{ github.event.pull_request.head.repo.name }} + ref: ${{ github.head_ref }} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index df8e367..3f7813d 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -90,4 +90,4 @@ This policy was initially adopted from the Front-end London Slack community and A version history can be seen on [GitHub](https://github.com/exercism/website-copy/edit/main/pages/code_of_conduct.md). _This policy is a "living" document, and subject to refinement and expansion in the future. -This policy applies to the Exercism website, the Exercism GitHub organization, any other Exercism-related communication channels (e.g. Slack, Twitter, email) and any other Exercism entity or event._ +This policy applies to the Exercism website, the Exercism GitHub organization, any other Exercism-related communication channels (e.g. Discord, Forum, Twitter, email) and any other Exercism entity or event._ From 453be9f10ae52921208df070706396df2708ea51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:11:43 -0800 Subject: [PATCH 173/244] Fix function names in test example (#193) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index eaf0123..f5e4a70 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,8 @@ end data TestRun: test(run, active) end [list: - test(foo true), - test(bar, false), + test(foo-returns-1, true), + test(bar-returns-2, false), ].each(lam(t): when t.active: t.run() end end) ``` From f6a43e8728e9f143c0f8f633dc4c544e89187eb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Mar 2024 07:39:02 -0700 Subject: [PATCH 174/244] Bump actions/checkout from 4.1.1 to 4.1.2 (#194) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 64ccd19..c9eb566 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From acfc12bc5cffd4a4f6bba07eb21e6d44be2d1cfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 12 Mar 2024 23:03:37 -0700 Subject: [PATCH 175/244] Sync docs and metadata (#195) --- .../practice/raindrops/.docs/instructions.md | 26 ++++---- .../practice/raindrops/.docs/introduction.md | 3 + .../practice/raindrops/.meta/config.json | 2 +- .../reverse-string/.docs/instructions.md | 10 ++-- .../reverse-string/.docs/introduction.md | 5 ++ .../practice/reverse-string/.meta/config.json | 2 +- .../roman-numerals/.docs/instructions.md | 45 +++----------- .../roman-numerals/.docs/introduction.md | 59 +++++++++++++++++++ .../practice/roman-numerals/.meta/config.json | 2 +- exercises/practice/strain/.meta/config.json | 2 +- 10 files changed, 100 insertions(+), 56 deletions(-) create mode 100644 exercises/practice/raindrops/.docs/introduction.md create mode 100644 exercises/practice/reverse-string/.docs/introduction.md create mode 100644 exercises/practice/roman-numerals/.docs/introduction.md diff --git a/exercises/practice/raindrops/.docs/instructions.md b/exercises/practice/raindrops/.docs/instructions.md index fc61d36..df64410 100644 --- a/exercises/practice/raindrops/.docs/instructions.md +++ b/exercises/practice/raindrops/.docs/instructions.md @@ -1,20 +1,24 @@ # Instructions -Your task is to convert a number into a string that contains raindrop sounds corresponding to certain potential factors. -A factor is a number that evenly divides into another number, leaving no remainder. -The simplest way to test if one number is a factor of another is to use the [modulo operation][modulo]. +Your task is to convert a number into its corresponding raindrop sounds. -The rules of `raindrops` are that if a given number: +If a given number: -- has 3 as a factor, add 'Pling' to the result. -- has 5 as a factor, add 'Plang' to the result. -- has 7 as a factor, add 'Plong' to the result. -- _does not_ have any of 3, 5, or 7 as a factor, the result should be the digits of the number. +- is divisible by 3, add "Pling" to the result. +- is divisible by 5, add "Plang" to the result. +- is divisible by 7, add "Plong" to the result. +- **is not** divisible by 3, 5, or 7, the result should be the number as a string. ## Examples -- 28 has 7 as a factor, but not 3 or 5, so the result would be "Plong". -- 30 has both 3 and 5 as factors, but not 7, so the result would be "PlingPlang". -- 34 is not factored by 3, 5, or 7, so the result would be "34". +- 28 is divisible by 7, but not 3 or 5, so the result would be `"Plong"`. +- 30 is divisible by 3 and 5, but not 7, so the result would be `"PlingPlang"`. +- 34 is not divisible by 3, 5, or 7, so the result would be `"34"`. +~~~~exercism/note +A common way to test if one number is evenly divisible by another is to compare the [remainder][remainder] or [modulus][modulo] to zero. +Most languages provide operators or functions for one (or both) of these. + +[remainder]: https://exercism.org/docs/programming/operators/remainder [modulo]: https://en.wikipedia.org/wiki/Modulo_operation +~~~~ diff --git a/exercises/practice/raindrops/.docs/introduction.md b/exercises/practice/raindrops/.docs/introduction.md new file mode 100644 index 0000000..ba12100 --- /dev/null +++ b/exercises/practice/raindrops/.docs/introduction.md @@ -0,0 +1,3 @@ +# Introduction + +Raindrops is a slightly more complex version of the FizzBuzz challenge, a classic interview question. diff --git a/exercises/practice/raindrops/.meta/config.json b/exercises/practice/raindrops/.meta/config.json index 62e9477..33a4c97 100644 --- a/exercises/practice/raindrops/.meta/config.json +++ b/exercises/practice/raindrops/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Convert a number to a string, the content of which depends on the number's factors.", + "blurb": "Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.", "source": "A variation on FizzBuzz, a famous technical interview question that is intended to weed out potential candidates. That question is itself derived from Fizz Buzz, a popular children's game for teaching division.", "source_url": "https://en.wikipedia.org/wiki/Fizz_buzz" } diff --git a/exercises/practice/reverse-string/.docs/instructions.md b/exercises/practice/reverse-string/.docs/instructions.md index 039ee33..0ff4198 100644 --- a/exercises/practice/reverse-string/.docs/instructions.md +++ b/exercises/practice/reverse-string/.docs/instructions.md @@ -1,7 +1,9 @@ # Instructions -Reverse a string +Your task is to reverse a given string. -For example: -input: "cool" -output: "looc" +Some examples: + +- Turn `"stressed"` into `"desserts"`. +- Turn `"strops"` into `"sports"`. +- Turn `"racecar"` into `"racecar"`. diff --git a/exercises/practice/reverse-string/.docs/introduction.md b/exercises/practice/reverse-string/.docs/introduction.md new file mode 100644 index 0000000..02233e0 --- /dev/null +++ b/exercises/practice/reverse-string/.docs/introduction.md @@ -0,0 +1,5 @@ +# Introduction + +Reversing strings (reading them from right to left, rather than from left to right) is a surprisingly common task in programming. + +For example, in bioinformatics, reversing the sequence of DNA or RNA strings is often important for various analyses, such as finding complementary strands or identifying palindromic sequences that have biological significance. diff --git a/exercises/practice/reverse-string/.meta/config.json b/exercises/practice/reverse-string/.meta/config.json index 9cb38bc..1ae0fd1 100644 --- a/exercises/practice/reverse-string/.meta/config.json +++ b/exercises/practice/reverse-string/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Reverse a string.", + "blurb": "Reverse a given string.", "source": "Introductory challenge to reverse an input string", "source_url": "https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb" } diff --git a/exercises/practice/roman-numerals/.docs/instructions.md b/exercises/practice/roman-numerals/.docs/instructions.md index 247ea08..50e2f5b 100644 --- a/exercises/practice/roman-numerals/.docs/instructions.md +++ b/exercises/practice/roman-numerals/.docs/instructions.md @@ -1,41 +1,12 @@ -# Instructions +# Introduction -Write a function to convert from normal numbers to Roman Numerals. +Your task is to convert a number from Arabic numerals to Roman numerals. -The Romans were a clever bunch. -They conquered most of Europe and ruled it for hundreds of years. -They invented concrete and straight roads and even bikinis. -One thing they never discovered though was the number zero. -This made writing and dating extensive histories of their exploits slightly more challenging, but the system of numbers they came up with is still in use today. -For example the BBC uses Roman numerals to date their programs. +For this exercise, we are only concerned about traditional Roman numerals, in which the largest number is MMMCMXCIX (or 3,999). -The Romans wrote numbers using letters - I, V, X, L, C, D, M. -(notice these letters have lots of straight lines and are hence easy to hack into stone tablets). +~~~~exercism/note +There are lots of different ways to convert between Arabic and Roman numerals. +We recommend taking a naive approach first to familiarise yourself with the concept of Roman numerals and then search for more efficient methods. -```text - 1 => I -10 => X - 7 => VII -``` - -The maximum number supported by this notation is 3,999. -(The Romans themselves didn't tend to go any higher) - -Wikipedia says: Modern Roman numerals ... are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. - -To see this in practice, consider the example of 1990. - -In Roman numerals 1990 is MCMXC: - -1000=M -900=CM -90=XC - -2008 is written as MMVIII: - -2000=MM -8=VIII - -Learn more about [Roman numerals on Wikipedia][roman-numerals]. - -[roman-numerals]: https://wiki.imperivm-romanvm.com/wiki/Roman_Numerals +Make sure to check out our Deep Dive video at the end to explore the different approaches you can take! +~~~~ diff --git a/exercises/practice/roman-numerals/.docs/introduction.md b/exercises/practice/roman-numerals/.docs/introduction.md new file mode 100644 index 0000000..6fd942f --- /dev/null +++ b/exercises/practice/roman-numerals/.docs/introduction.md @@ -0,0 +1,59 @@ +# Description + +Today, most people in the world use Arabic numerals (0–9). +But if you travelled back two thousand years, you'd find that most Europeans were using Roman numerals instead. + +To write a Roman numeral we use the following Latin letters, each of which has a value: + +| M | D | C | L | X | V | I | +| ---- | --- | --- | --- | --- | --- | --- | +| 1000 | 500 | 100 | 50 | 10 | 5 | 1 | + +A Roman numeral is a sequence of these letters, and its value is the sum of the letters' values. +For example, `XVIII` has the value 18 (`10 + 5 + 1 + 1 + 1 = 18`). + +There's one rule that makes things trickier though, and that's that **the same letter cannot be used more than three times in succession**. +That means that we can't express numbers such as 4 with the seemingly natural `IIII`. +Instead, for those numbers, we use a subtraction method between two letters. +So we think of `4` not as `1 + 1 + 1 + 1` but instead as `5 - 1`. +And slightly confusingly to our modern thinking, we write the smaller number first. +This applies only in the following cases: 4 (`IV`), 9 (`IX`), 40 (`XL`), 90 (`XC`), 400 (`CD`) and 900 (`CM`). + +Order matters in Roman numerals! +Letters (and the special compounds above) must be ordered by decreasing value from left to right. + +Here are some examples: + +```text + 105 => CV +---- => -- + 100 => C ++ 5 => V +``` + +```text + 106 => CVI +---- => -- + 100 => C ++ 5 => V ++ 1 => I +``` + +```text + 104 => CIV +---- => --- + 100 => C ++ 4 => IV +``` + +And a final more complex example: + +```text + 1996 => MCMXCVI +----- => ------- + 1000 => M ++ 900 => CM ++ 90 => XC ++ 5 => V ++ 1 => I +``` diff --git a/exercises/practice/roman-numerals/.meta/config.json b/exercises/practice/roman-numerals/.meta/config.json index 1e8f15f..8e8fbf7 100644 --- a/exercises/practice/roman-numerals/.meta/config.json +++ b/exercises/practice/roman-numerals/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Write a function to convert from normal numbers to Roman Numerals.", + "blurb": "Convert modern Arabic numbers into Roman numerals.", "source": "The Roman Numeral Kata", "source_url": "https://codingdojo.org/kata/RomanNumerals/" } diff --git a/exercises/practice/strain/.meta/config.json b/exercises/practice/strain/.meta/config.json index ae4649f..ac01e90 100644 --- a/exercises/practice/strain/.meta/config.json +++ b/exercises/practice/strain/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.", + "blurb": "Implement the `keep` and `discard` operation on collections.", "source": "Conversation with James Edward Gray II", "source_url": "http://graysoftinc.com/" } From 29b01f8bebc8ce0539f58b26678faedd8c9b91ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 12 Mar 2024 23:06:03 -0700 Subject: [PATCH 176/244] Add circular buffer (#196) --- config.json | 8 + .../circular-buffer/.docs/instructions.md | 58 +++++ .../circular-buffer/.meta/config.json | 19 ++ .../circular-buffer/.meta/example.arr | 49 ++++ .../practice/circular-buffer/.meta/tests.toml | 52 ++++ .../circular-buffer/circular-buffer-test.arr | 230 ++++++++++++++++++ .../circular-buffer/circular-buffer.arr | 25 ++ 7 files changed, 441 insertions(+) create mode 100644 exercises/practice/circular-buffer/.docs/instructions.md create mode 100644 exercises/practice/circular-buffer/.meta/config.json create mode 100644 exercises/practice/circular-buffer/.meta/example.arr create mode 100644 exercises/practice/circular-buffer/.meta/tests.toml create mode 100644 exercises/practice/circular-buffer/circular-buffer-test.arr create mode 100644 exercises/practice/circular-buffer/circular-buffer.arr diff --git a/config.json b/config.json index f78363d..2018e37 100644 --- a/config.json +++ b/config.json @@ -103,6 +103,14 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "circular-buffer", + "name": "Circular Buffer", + "uuid": "512d263f-b3ce-4f5a-ba43-6b05a2b5c0f5", + "practices": [], + "prerequisites": [], + "difficulty": 4 + }, { "slug": "clock", "name": "Clock", diff --git a/exercises/practice/circular-buffer/.docs/instructions.md b/exercises/practice/circular-buffer/.docs/instructions.md new file mode 100644 index 0000000..2ba1fda --- /dev/null +++ b/exercises/practice/circular-buffer/.docs/instructions.md @@ -0,0 +1,58 @@ +# Instructions + +A circular buffer, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. + +A circular buffer first starts empty and of some predefined length. +For example, this is a 7-element buffer: + +```text +[ ][ ][ ][ ][ ][ ][ ] +``` + +Assume that a 1 is written into the middle of the buffer (exact starting location does not matter in a circular buffer): + +```text +[ ][ ][ ][1][ ][ ][ ] +``` + +Then assume that two more elements are added — 2 & 3 — which get appended after the 1: + +```text +[ ][ ][ ][1][2][3][ ] +``` + +If two elements are then removed from the buffer, the oldest values inside the buffer are removed. +The two elements removed, in this case, are 1 & 2, leaving the buffer with just a 3: + +```text +[ ][ ][ ][ ][ ][3][ ] +``` + +If the buffer has 7 elements then it is completely full: + +```text +[5][6][7][8][9][3][4] +``` + +When the buffer is full an error will be raised, alerting the client that further writes are blocked until a slot becomes free. + +When the buffer is full, the client can opt to overwrite the oldest data with a forced write. +In this case, two more elements — A & B — are added and they overwrite the 3 & 4: + +```text +[5][6][7][8][9][A][B] +``` + +3 & 4 have been replaced by A & B making 5 now the oldest data in the buffer. +Finally, if two elements are removed then what would be returned is 5 & 6 yielding the buffer: + +```text +[ ][ ][7][8][9][A][B] +``` + +Because there is space available, if the client again uses overwrite to store C & D then the space where 5 & 6 were stored previously will be used not the location of 7 & 8. +7 is still the oldest element and the buffer is once again full. + +```text +[C][D][7][8][9][A][B] +``` diff --git a/exercises/practice/circular-buffer/.meta/config.json b/exercises/practice/circular-buffer/.meta/config.json new file mode 100644 index 0000000..2a64bfd --- /dev/null +++ b/exercises/practice/circular-buffer/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "circular-buffer.arr" + ], + "test": [ + "circular-buffer-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.", + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Circular_buffer" +} diff --git a/exercises/practice/circular-buffer/.meta/example.arr b/exercises/practice/circular-buffer/.meta/example.arr new file mode 100644 index 0000000..43dac8e --- /dev/null +++ b/exercises/practice/circular-buffer/.meta/example.arr @@ -0,0 +1,49 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide-types * +provide: make-buffer end + +import arrays as arr + +data CircularBuffer: | buffer(capacity :: Number, size :: Number, elements :: arr.Array, read-index :: Number, write-index :: Number) + with: + method write(self, value :: T) block: + when self.size >= self.capacity: + raise("full buffer") + end + self.elements.set-now(self.write-index, value) + + buffer(self.capacity, + self.size + 1, + self.elements, + self.read-index, + num-modulo(self.write-index + 1, self.capacity)) + end, + method read(self) -> {T;CircularBuffer} block: + when self.size == 0: + raise("empty buffer") + end + val = self.elements.get-now(self.read-index) + updated = buffer(self.capacity, + self.size - 1, + self.elements, + num-modulo(self.read-index + 1, self.capacity), + self.write-index) + {val;updated} + end, + method overwrite(self, value :: T) block: + buff :: CircularBuffer = if self.size == self.capacity: + self.read().{1} + else: + self + end + buff.write(value) + end, + method clear(self): + make-buffer(self.capacity) + end +end + +fun make-buffer(capacity :: Number) -> CircularBuffer: + buffer(capacity, 0, array-of(-1, capacity), 0, 0) +end diff --git a/exercises/practice/circular-buffer/.meta/tests.toml b/exercises/practice/circular-buffer/.meta/tests.toml new file mode 100644 index 0000000..0fb3143 --- /dev/null +++ b/exercises/practice/circular-buffer/.meta/tests.toml @@ -0,0 +1,52 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[28268ed4-4ff3-45f3-820e-895b44d53dfa] +description = "reading empty buffer should fail" + +[2e6db04a-58a1-425d-ade8-ac30b5f318f3] +description = "can read an item just written" + +[90741fe8-a448-45ce-be2b-de009a24c144] +description = "each item may only be read once" + +[be0e62d5-da9c-47a8-b037-5db21827baa7] +description = "items are read in the order they are written" + +[2af22046-3e44-4235-bfe6-05ba60439d38] +description = "full buffer can't be written to" + +[547d192c-bbf0-4369-b8fa-fc37e71f2393] +description = "a read frees up capacity for another write" + +[04a56659-3a81-4113-816b-6ecb659b4471] +description = "read position is maintained even across multiple writes" + +[60c3a19a-81a7-43d7-bb0a-f07242b1111f] +description = "items cleared out of buffer can't be read" + +[45f3ae89-3470-49f3-b50e-362e4b330a59] +description = "clear frees up capacity for another write" + +[e1ac5170-a026-4725-bfbe-0cf332eddecd] +description = "clear does nothing on empty buffer" + +[9c2d4f26-3ec7-453f-a895-7e7ff8ae7b5b] +description = "overwrite acts like write on non-full buffer" + +[880f916b-5039-475c-bd5c-83463c36a147] +description = "overwrite replaces the oldest item on full buffer" + +[bfecab5b-aca1-4fab-a2b0-cd4af2b053c3] +description = "overwrite replaces the oldest item remaining in buffer following a read" + +[9cebe63a-c405-437b-8b62-e3fdc1ecec5a] +description = "initial clear does not affect wrapping around" diff --git a/exercises/practice/circular-buffer/circular-buffer-test.arr b/exercises/practice/circular-buffer/circular-buffer-test.arr new file mode 100644 index 0000000..d1653dc --- /dev/null +++ b/exercises/practice/circular-buffer/circular-buffer-test.arr @@ -0,0 +1,230 @@ +use context essentials2020 + +include file("circular-buffer.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun read-empty-buffer-should-fail(): + check "reading empty buffer should fail": + buff = make-buffer(1) + + buff.read() raises "empty buffer" + end +end + +fun can-read-an-item-just-written(): + check "can read an item just written": + var buff = make-buffer(1) + buff := buff.write(1) + + buff.read().{0} is 1 + end +end + +fun each-item-may-only-be-read-once(): + check "each item may only be read once": + var buff = make-buffer(1) + buff := buff.write(1) + + results = buff.read() + results.{0} is 1 + results.{1}.read() raises "empty buffer" + end +end + +fun items-are-read-in-the-order-they-are-written(): + check "items are read in the order they are written": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.write(2) + + var results = buff.read() + results.{0} is 1 + results := results.{1}.read() + results.{0} is 2 + end +end + +fun full-buffer-can-not-be-written-to(): + check "full buffer can't be written to": + var buff = make-buffer(1) + buff := buff.write(1) + + buff.write(2) raises "full buffer" + end +end + +fun a-read-frees-up-capacity-for-another-write(): + check "a read frees up capacity for another write": + var buff = make-buffer(1) + buff := buff.write(1) + + var results = buff.read() + results.{0} is 1 + + buff := results.{1}.write(2) + results := buff.read() + results.{0} is 2 + end +end + +fun read-position-is-maintained-even-across-multiple-writes(): + check "read position is maintained even across multiple writes": + var buff = make-buffer(3) + buff := buff.write(1) + buff := buff.write(2) + + var results = buff.read() + results.{0} is 1 + + buff := results.{1} + buff := buff.write(3) + + results := buff.read() + results.{0} is 2 + + buff := results.{1} + results := buff.read() + results.{0} is 3 + end +end + +fun items-cleared-out-of-buffer-can-not-be-read(): + check "items cleared out of buffer can't be read": + var buff = make-buffer(1) + buff := buff.write(1) + buff := buff.clear() + + buff.read() raises "empty buffer" + end +end + +fun clear-frees-up-capacity-for-another-write(): + check "clear frees up capacity for another write": + var buff = make-buffer(1) + buff := buff.write(1) + buff := buff.clear() + buff := buff.write(2) + + buff.read().{0} is 2 + end +end + +fun clear-does-nothing-on-empty-buffer(): + check "clear does nothing on empty buffer": + var buff = make-buffer(1) + buff := buff.clear() + buff := buff.write(1) + + results = buff.read() + results.{0} is 1 + end +end + +fun overwrite-acts-like-write-on-non-full-buffer(): + check "overwrite acts like write on non-full buffer": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.overwrite(2) + + var results = buff.read() + results.{0} is 1 + + buff := results.{1} + results := buff.read() + results.{0} is 2 + end +end + +fun overwrite-replaces-the-oldest-item-on-full-buffer(): + check "overwrite replaces the oldest item on full buffer": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.write(2) + buff := buff.overwrite(3) + + var results = buff.read() + results.{0} is 2 + + buff := results.{1} + results := buff.read() + results.{0} is 3 + end +end + +fun overwrite-replaces-the-oldest-item-remaining-in-buffer-following-a-read(): + check "overwrite replaces the oldest item remaining in buffer following a read": + var buff = make-buffer(3) + buff := buff.write(1) + buff := buff.write(2) + buff := buff.write(3) + + var results = buff.read() + results.{0} is 1 + + buff := results.{1} + buff := buff.write(4) + buff := buff.overwrite(5) + + results := buff.read() + results.{0} is 3 + + buff := results.{1} + results := buff.read() + results.{0} is 4 + + buff := results.{1} + results := buff.read() + results.{0} is 5 + end +end + +fun initial-clear-does-not-affect-wrapping-around(): + check "initial clear does not affect wrapping around": + var buff = make-buffer(2) + buff := buff.clear() + buff := buff.write(1) + buff := buff.write(2) + buff := buff.overwrite(3) + buff := buff.overwrite(4) + + var results = buff.read() + results.{0} is 3 + + buff := results.{1} + results := buff.read() + results.{0} is 4 + + buff := results.{1} + buff.read() raises "empty buffer" + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(read-empty-buffer-should-fail, true), + test(can-read-an-item-just-written, false), + test(each-item-may-only-be-read-once, false), + test(items-are-read-in-the-order-they-are-written, false), + test(full-buffer-can-not-be-written-to, false), + test(a-read-frees-up-capacity-for-another-write, false), + test(read-position-is-maintained-even-across-multiple-writes, false), + test(items-cleared-out-of-buffer-can-not-be-read, false), + test(clear-frees-up-capacity-for-another-write, false), + test(clear-does-nothing-on-empty-buffer, false), + test(overwrite-acts-like-write-on-non-full-buffer, false), + test(overwrite-replaces-the-oldest-item-on-full-buffer, false), + test(overwrite-replaces-the-oldest-item-remaining-in-buffer-following-a-read, false), + test(initial-clear-does-not-affect-wrapping-around, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/circular-buffer/circular-buffer.arr b/exercises/practice/circular-buffer/circular-buffer.arr new file mode 100644 index 0000000..4031d88 --- /dev/null +++ b/exercises/practice/circular-buffer/circular-buffer.arr @@ -0,0 +1,25 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide-types * +provide: make-buffer end + +data CircularBuffer: + | buffer() + with: + method write(self, value): + ... + end, + method read(self): + ... + end, + method overwrite(self, value): + ... + end, + method clear(self): + ... + end +end + +fun make-buffer(capacity :: Number) -> CircularBuffer: + ... +end From aec43b24522bc977349d2cb73860a8c0a3d362c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 13 Mar 2024 21:53:17 -0700 Subject: [PATCH 177/244] Add robot-simulator (#176) --- config.json | 10 + .../robot-simulator/.docs/instructions.md | 25 +++ .../robot-simulator/.meta/config.json | 18 ++ .../robot-simulator/.meta/example.arr | 51 +++++ .../practice/robot-simulator/.meta/tests.toml | 64 ++++++ .../robot-simulator/robot-simulator-test.arr | 182 ++++++++++++++++++ .../robot-simulator/robot-simulator.arr | 11 ++ 7 files changed, 361 insertions(+) create mode 100644 exercises/practice/robot-simulator/.docs/instructions.md create mode 100644 exercises/practice/robot-simulator/.meta/config.json create mode 100644 exercises/practice/robot-simulator/.meta/example.arr create mode 100644 exercises/practice/robot-simulator/.meta/tests.toml create mode 100644 exercises/practice/robot-simulator/robot-simulator-test.arr create mode 100644 exercises/practice/robot-simulator/robot-simulator.arr diff --git a/config.json b/config.json index 2018e37..ce81354 100644 --- a/config.json +++ b/config.json @@ -411,6 +411,16 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "robot-simulator", + "name": "Robot Simulator", + "uuid": "e81a517a-16be-4760-980a-21ee549c24ea", + "practices": [ + "strings" + ], + "prerequisites": [], + "difficulty": 4 + }, { "slug": "roman-numerals", "name": "Roman Numerals", diff --git a/exercises/practice/robot-simulator/.docs/instructions.md b/exercises/practice/robot-simulator/.docs/instructions.md new file mode 100644 index 0000000..0ac96ce --- /dev/null +++ b/exercises/practice/robot-simulator/.docs/instructions.md @@ -0,0 +1,25 @@ +# Instructions + +Write a robot simulator. + +A robot factory's test facility needs a program to verify robot movements. + +The robots have three possible movements: + +- turn right +- turn left +- advance + +Robots are placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of {x,y} coordinates, +e.g., {3,8}, with coordinates increasing to the north and east. + +The robot then receives a number of instructions, at which point the testing facility verifies the robot's new position, and in which direction it is pointing. + +- The letter-string "RAALAL" means: + - Turn right + - Advance twice + - Turn left + - Advance once + - Turn left yet again +- Say a robot starts at {7, 3} facing north. + Then running this stream of instructions should leave it at {9, 4} facing west. diff --git a/exercises/practice/robot-simulator/.meta/config.json b/exercises/practice/robot-simulator/.meta/config.json new file mode 100644 index 0000000..bb6454a --- /dev/null +++ b/exercises/practice/robot-simulator/.meta/config.json @@ -0,0 +1,18 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "robot-simulator.arr" + ], + "test": [ + "robot-simulator-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Write a robot simulator.", + "source": "Inspired by an interview question at a famous company." +} diff --git a/exercises/practice/robot-simulator/.meta/example.arr b/exercises/practice/robot-simulator/.meta/example.arr new file mode 100644 index 0000000..1c0fcf7 --- /dev/null +++ b/exercises/practice/robot-simulator/.meta/example.arr @@ -0,0 +1,51 @@ +use context essentials2020 + +provide-types * + +include string-dict +import lists as L + +data Axis: axis(label, left, right) end + +cardinal_axes = [string-dict: + 'north', axis('north', 'west', 'east'), + 'south', axis('south', 'east', 'west'), + 'east', axis('east', 'north','south'), + 'west', axis('west','south', 'north'), +] + +data Robot: + | robot(x :: NumInteger, y :: NumInteger, direction :: String) with: + method move(self, directions :: String) -> Robot: + L.foldl( + lam(acc, elt): + direction = + ask: + | elt == 'L' then: + cardinal_axes.get-value(acc.direction).left + | elt == 'R' then: + cardinal_axes.get-value(acc.direction).right + | otherwise: + acc.direction + end + {x; y} = + if elt == 'A': + ask: + | direction == 'north' then: + {acc.x; acc.y + 1} + | direction == 'south' then: + {acc.x; acc.y - 1} + | direction == 'east' then: + {acc.x + 1; acc.y} + | direction == 'west' then: + {acc.x - 1; acc.y} + end + else: + {acc.x; acc.y} + end + robot(x, y, direction) + end, + self, + string-explode(directions)) + end +end diff --git a/exercises/practice/robot-simulator/.meta/tests.toml b/exercises/practice/robot-simulator/.meta/tests.toml new file mode 100644 index 0000000..16da03d --- /dev/null +++ b/exercises/practice/robot-simulator/.meta/tests.toml @@ -0,0 +1,64 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[c557c16d-26c1-4e06-827c-f6602cd0785c] +description = "Create robot -> at origin facing north" + +[bf0dffce-f11c-4cdb-8a5e-2c89d8a5a67d] +description = "Create robot -> at negative position facing south" + +[8cbd0086-6392-4680-b9b9-73cf491e67e5] +description = "Rotating clockwise -> changes north to east" + +[8abc87fc-eab2-4276-93b7-9c009e866ba1] +description = "Rotating clockwise -> changes east to south" + +[3cfe1b85-bbf2-4bae-b54d-d73e7e93617a] +description = "Rotating clockwise -> changes south to west" + +[5ea9fb99-3f2c-47bd-86f7-46b7d8c3c716] +description = "Rotating clockwise -> changes west to north" + +[fa0c40f5-6ba3-443d-a4b3-58cbd6cb8d63] +description = "Rotating counter-clockwise -> changes north to west" + +[da33d734-831f-445c-9907-d66d7d2a92e2] +description = "Rotating counter-clockwise -> changes west to south" + +[bd1ca4b9-4548-45f4-b32e-900fc7c19389] +description = "Rotating counter-clockwise -> changes south to east" + +[2de27b67-a25c-4b59-9883-bc03b1b55bba] +description = "Rotating counter-clockwise -> changes east to north" + +[f0dc2388-cddc-4f83-9bed-bcf46b8fc7b8] +description = "Moving forward one -> facing north increments Y" + +[2786cf80-5bbf-44b0-9503-a89a9c5789da] +description = "Moving forward one -> facing south decrements Y" + +[84bf3c8c-241f-434d-883d-69817dbd6a48] +description = "Moving forward one -> facing east increments X" + +[bb69c4a7-3bbf-4f64-b415-666fa72d7b04] +description = "Moving forward one -> facing west decrements X" + +[e34ac672-4ed4-4be3-a0b8-d9af259cbaa1] +description = "Follow series of instructions -> moving east and north from README" + +[f30e4955-4b47-4aa3-8b39-ae98cfbd515b] +description = "Follow series of instructions -> moving west and north" + +[3e466bf6-20ab-4d79-8b51-264165182fca] +description = "Follow series of instructions -> moving west and south" + +[41f0bb96-c617-4e6b-acff-a4b279d44514] +description = "Follow series of instructions -> moving east and north" diff --git a/exercises/practice/robot-simulator/robot-simulator-test.arr b/exercises/practice/robot-simulator/robot-simulator-test.arr new file mode 100644 index 0000000..2b60306 --- /dev/null +++ b/exercises/practice/robot-simulator/robot-simulator-test.arr @@ -0,0 +1,182 @@ +use context essentials2020 + +include file("robot-simulator.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun create-robot-at-origin-facing-north(): + check "Create robot at origin facing north": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'north') + r is expected + end +end + +fun create-robot-at-negative-position-facing-south(): + check "Create robot at negative position facing south": + r = robot(-1, -1, 'south') + expected = robot(-1, -1, 'south') + r is expected + end +end + +fun rotating-clockwise-changes-north-to-east(): + check "Rotating clockwise changes north to east": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'east') + r.move('R') is expected + end +end + +fun rotating-clockwise-changes-east-to-south(): + check "Rotating clockwise changes east to south": + r = robot(0, 0, 'east') + expected = robot(0, 0, 'south') + r.move('R') is expected + end +end + +fun rotating-clockwise-changes-south-to-west(): + check "Rotating clockwise changes south to west": + r = robot(0, 0, 'south') + expected = robot(0, 0, 'west') + r.move('R') is expected + end +end + +fun rotating-clockwise-changes-west-to-north(): + check "Rotating clockwise changes west to north": + r = robot(0, 0, 'west') + expected = robot(0, 0, 'north') + r.move('R') is expected + end +end + +fun rotating-counter-clockwise-changes-north-to-west(): + check "Rotating counter-clockwise changes north to west": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'west') + r.move('L') is expected + end +end + +fun rotating-counter-clockwise-changes-west-to-south(): + check "Rotating counter-clockwise changes west to south": + r = robot(0, 0, 'west') + expected = robot(0, 0, 'south') + r.move('L') is expected + end +end + +fun rotating-counter-clockwise-changes-south-to-east(): + check "Rotating counter-clockwise changes south to east": + r = robot(0, 0, 'south') + expected = robot(0, 0, 'east') + r.move('L') is expected + end +end + +fun rotating-counter-clockwise-changes-east-to-north(): + check "Rotating counter-clockwise changes east to north": + r = robot(0, 0, 'east') + expected = robot(0, 0, 'north') + r.move('L') is expected + end +end + +fun moving-forward-one-facing-north-increments-Y(): + check "Moving forward one facing north increments Y": + r = robot(0, 0, 'north') + expected = robot(0, 1, 'north') + r.move('A') is expected + end +end + +fun moving-forward-one-facing-south-decrements-Y(): + check "Moving forward one facing south decrements Y": + r = robot(0, 0, 'south') + expected = robot(0, -1, 'south') + r.move('A') is expected + end +end + +fun moving-forward-one-facing-east-increments-X(): + check "Moving forward one facing east increments X": + r = robot(0, 0, 'east') + expected = robot(1, 0, 'east') + r.move('A') is expected + end +end + +fun moving-forward-one-facing-west-decrements-X(): + check "Moving forward one facing west decrements X": + r = robot(0, 0, 'west') + expected = robot(-1, 0, 'west') + r.move('A') is expected + end +end + +fun follow-series-of-directions-moving-east-and-north-from-readme(): + check "Follow series of directions moving east and north from README": + r = robot(7, 3, 'north') + expected = robot(9, 4, 'west') + r.move('RAALAL') is expected + end +end + +fun follow-series-of-directions-moving-west-and-north(): + check "Follow series of directions moving west and north": + r = robot(0, 0, 'north') + expected = robot(-4, 1, 'west') + r.move('LAAARALA') is expected + end +end + +fun follow-series-of-directions-moving-west-and-south(): + check "Follow series of directions moving west and south": + r = robot(2, -7, 'east') + expected = robot(-3, -8, 'south') + r.move('RRAAAAALA') is expected + end +end + +fun follow-series-of-directions-moving-east-and-north(): + check "Follow series of directions moving east and north": + r = robot(8, 4, 'south') + expected = robot(11, 5, 'north') + r.move('LAAARRRALLLL') is expected + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(create-robot-at-origin-facing-north, true), + test(create-robot-at-negative-position-facing-south, false), + test(rotating-clockwise-changes-north-to-east, false), + test(rotating-clockwise-changes-east-to-south, false), + test(rotating-clockwise-changes-south-to-west, false), + test(rotating-clockwise-changes-west-to-north, false), + test(rotating-counter-clockwise-changes-north-to-west, false), + test(rotating-counter-clockwise-changes-west-to-south, false), + test(rotating-counter-clockwise-changes-south-to-east, false), + test(rotating-counter-clockwise-changes-east-to-north, false), + test(moving-forward-one-facing-north-increments-Y, false), + test(moving-forward-one-facing-south-decrements-Y, false), + test(moving-forward-one-facing-east-increments-X, false), + test(moving-forward-one-facing-west-decrements-X, false), + test(follow-series-of-directions-moving-east-and-north-from-readme, false), + test(follow-series-of-directions-moving-west-and-north, false), + test(follow-series-of-directions-moving-west-and-south, false), + test(follow-series-of-directions-moving-east-and-north, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/robot-simulator/robot-simulator.arr b/exercises/practice/robot-simulator/robot-simulator.arr new file mode 100644 index 0000000..9246927 --- /dev/null +++ b/exercises/practice/robot-simulator/robot-simulator.arr @@ -0,0 +1,11 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide-types * + +data Robot: + | robot() + with: + method move(self, directions :: String) -> Robot: + ... + end +end From 03bdafaacbf4c69441d17ff48ccf4950bb153086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 18 Mar 2024 15:30:54 -0700 Subject: [PATCH 178/244] Launch track --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index ce81354..7d4e896 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ { "language": "Pyret", "slug": "pyret", - "active": false, + "active": true, "status": { "concept_exercises": false, "test_runner": true, From b763c5bc0801f95601eab3ce52996fadf84182ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 19 Mar 2024 17:24:27 -0700 Subject: [PATCH 179/244] Standardize difficulty and sort exercises (#199) --- config.json | 132 ++++++++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/config.json b/config.json index 7d4e896..68025fd 100644 --- a/config.json +++ b/config.json @@ -72,7 +72,7 @@ "conditionals" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "bank-account", @@ -82,7 +82,7 @@ "data-definitions" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "binary-search", @@ -103,22 +103,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "circular-buffer", - "name": "Circular Buffer", - "uuid": "512d263f-b3ce-4f5a-ba43-6b05a2b5c0f5", - "practices": [], - "prerequisites": [], - "difficulty": 4 - }, - { - "slug": "clock", - "name": "Clock", - "uuid": "1adaf7d8-7154-4ab9-8db3-7c120f52338c", - "practices": [], - "prerequisites": [], - "difficulty": 4 - }, { "slug": "collatz-conjecture", "name": "Collatz Conjecture", @@ -127,7 +111,7 @@ "numbers" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "darts", @@ -137,7 +121,7 @@ "comparisons" ], "prerequisites": [], - "difficulty": 1 + "difficulty": 2 }, { "slug": "difference-of-squares", @@ -148,17 +132,7 @@ "loops" ], "prerequisites": [], - "difficulty": 3 - }, - { - "slug": "dnd-character", - "name": "D&D Character", - "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", - "practices": [ - "data-definitions" - ], - "prerequisites": [], - "difficulty": 5 + "difficulty": 2 }, { "slug": "etl", @@ -186,7 +160,7 @@ "numbers" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "hamming", @@ -205,7 +179,7 @@ "uuid": "21cb7132-eb7a-41cc-b100-4655288c3c98", "practices": [], "prerequisites": [], - "difficulty": 1 + "difficulty": 2 }, { "slug": "high-scores", @@ -225,7 +199,7 @@ "strings" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "leap", @@ -236,7 +210,7 @@ "numbers" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "list-ops", @@ -246,7 +220,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "luhn", @@ -256,7 +230,7 @@ "loops" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "matrix", @@ -266,7 +240,7 @@ "loops" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "nucleotide-count", @@ -277,7 +251,7 @@ "string-dicts" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "pangram", @@ -287,7 +261,7 @@ "strings" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "perfect-numbers", @@ -297,7 +271,7 @@ "comparisons" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "phone-number", @@ -307,7 +281,7 @@ "strings" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "eliuds-eggs", @@ -328,7 +302,7 @@ "string-dicts" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "proverb", @@ -338,7 +312,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "queen-attack", @@ -348,7 +322,7 @@ "data-definitions" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "raindrops", @@ -358,7 +332,7 @@ "comparisons" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "resistor-color", @@ -378,7 +352,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "resistor-color-trio", @@ -388,7 +362,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "reverse-string", @@ -398,7 +372,7 @@ "strings" ], "prerequisites": [], - "difficulty": 1 + "difficulty": 2 }, { "slug": "rna-transcription", @@ -411,16 +385,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "robot-simulator", - "name": "Robot Simulator", - "uuid": "e81a517a-16be-4760-980a-21ee549c24ea", - "practices": [ - "strings" - ], - "prerequisites": [], - "difficulty": 4 - }, { "slug": "roman-numerals", "name": "Roman Numerals", @@ -429,7 +393,7 @@ "strings" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "scrabble-score", @@ -449,7 +413,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "series", @@ -459,7 +423,7 @@ "lists" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "simple-linked-list", @@ -467,7 +431,7 @@ "uuid": "c2529f83-00db-427c-a478-57a8c7512f12", "practices": [], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "space-age", @@ -489,7 +453,7 @@ "numbers" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "square-root", @@ -499,7 +463,7 @@ "numbers" ], "prerequisites": [], - "difficulty": 3 + "difficulty": 2 }, { "slug": "strain", @@ -531,7 +495,43 @@ "function-arguments" ], "prerequisites": [], - "difficulty": 1 + "difficulty": 2 + }, + { + "slug": "circular-buffer", + "name": "Circular Buffer", + "uuid": "512d263f-b3ce-4f5a-ba43-6b05a2b5c0f5", + "practices": [], + "prerequisites": [], + "difficulty": 5 + }, + { + "slug": "clock", + "name": "Clock", + "uuid": "1adaf7d8-7154-4ab9-8db3-7c120f52338c", + "practices": [], + "prerequisites": [], + "difficulty": 5 + }, + { + "slug": "dnd-character", + "name": "D&D Character", + "uuid": "2401de1d-0a63-49b2-ad22-3807cd76778f", + "practices": [ + "data-definitions" + ], + "prerequisites": [], + "difficulty": 5 + }, + { + "slug": "robot-simulator", + "name": "Robot Simulator", + "uuid": "e81a517a-16be-4760-980a-21ee549c24ea", + "practices": [ + "strings" + ], + "prerequisites": [], + "difficulty": 5 } ], "foregone": [ From 25841f6b4510092f0b033c0fa9fd66713c07186f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Mar 2024 17:26:31 -0700 Subject: [PATCH 180/244] Add allergies (#201) --- config.json | 18 + .../practice/allergies/.docs/instructions.md | 27 ++ .../practice/allergies/.meta/config.json | 22 + .../practice/allergies/.meta/example.arr | 40 ++ exercises/practice/allergies/.meta/tests.toml | 160 ++++++ .../practice/allergies/allergies-test.arr | 458 ++++++++++++++++++ exercises/practice/allergies/allergies.arr | 13 + 7 files changed, 738 insertions(+) create mode 100644 exercises/practice/allergies/.docs/instructions.md create mode 100644 exercises/practice/allergies/.meta/config.json create mode 100644 exercises/practice/allergies/.meta/example.arr create mode 100644 exercises/practice/allergies/.meta/tests.toml create mode 100644 exercises/practice/allergies/allergies-test.arr create mode 100644 exercises/practice/allergies/allergies.arr diff --git a/config.json b/config.json index 68025fd..c9e0277 100644 --- a/config.json +++ b/config.json @@ -45,6 +45,14 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "allergies", + "name": "Allergies", + "uuid": "069b2f75-079e-4c9e-a80f-15e8482151b3", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "anagram", "name": "Anagram", @@ -385,6 +393,16 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "robot-simulator", + "name": "Robot Simulator", + "uuid": "e81a517a-16be-4760-980a-21ee549c24ea", + "practices": [ + "strings" + ], + "prerequisites": [], + "difficulty": 4 + }, { "slug": "roman-numerals", "name": "Roman Numerals", diff --git a/exercises/practice/allergies/.docs/instructions.md b/exercises/practice/allergies/.docs/instructions.md new file mode 100644 index 0000000..daf8cfd --- /dev/null +++ b/exercises/practice/allergies/.docs/instructions.md @@ -0,0 +1,27 @@ +# Instructions + +Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies. + +An allergy test produces a single numeric score which contains the information about all the allergies the person has (that they were tested for). + +The list of items (and their value) that were tested are: + +- eggs (1) +- peanuts (2) +- shellfish (4) +- strawberries (8) +- tomatoes (16) +- chocolate (32) +- pollen (64) +- cats (128) + +So if Tom is allergic to peanuts and chocolate, he gets a score of 34. + +Now, given just that score of 34, your program should be able to say: + +- Whether Tom is allergic to any one of those allergens listed above. +- All the allergens Tom is allergic to. + +Note: a given score may include allergens **not** listed above (i.e. allergens that score 256, 512, 1024, etc.). +Your program should ignore those components of the score. +For example, if the allergy score is 257, your program should only report the eggs (1) allergy. diff --git a/exercises/practice/allergies/.meta/config.json b/exercises/practice/allergies/.meta/config.json new file mode 100644 index 0000000..a9412ce --- /dev/null +++ b/exercises/practice/allergies/.meta/config.json @@ -0,0 +1,22 @@ +{ + "authors": [ + "BNAndras" + ], + "contributors": [ + "IsaacG" + ], + "files": { + "solution": [ + "allergies.arr" + ], + "test": [ + "allergies-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", + "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", + "source_url": "https://turing.edu" +} diff --git a/exercises/practice/allergies/.meta/example.arr b/exercises/practice/allergies/.meta/example.arr new file mode 100644 index 0000000..7ce3f13 --- /dev/null +++ b/exercises/practice/allergies/.meta/example.arr @@ -0,0 +1,40 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide-types * + +import lists as L + +ALLERGENS = [list: + "eggs", + "peanuts", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats" +] + +data Allergies: + | allergies(score :: Number) with: + method allergicTo(self, allergen :: String) -> Boolean: + self.list().member(allergen) + end, + method list(self) -> List: + rec filtered = + lam(l :: List, num :: Number): + cases(List) l: + | empty => [list: ] + | link(f, r) => + new-num = num-truncate(num / 2) + if num-modulo(num, 2) == 1: + filtered(r, new-num).push(f) + else: + filtered(r, new-num) + end + end + end + + filtered(ALLERGENS, self.score) + end +end \ No newline at end of file diff --git a/exercises/practice/allergies/.meta/tests.toml b/exercises/practice/allergies/.meta/tests.toml new file mode 100644 index 0000000..799ab85 --- /dev/null +++ b/exercises/practice/allergies/.meta/tests.toml @@ -0,0 +1,160 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[17fc7296-2440-4ac4-ad7b-d07c321bc5a0] +description = "testing for eggs allergy -> not allergic to anything" + +[07ced27b-1da5-4c2e-8ae2-cb2791437546] +description = "testing for eggs allergy -> allergic only to eggs" + +[5035b954-b6fa-4b9b-a487-dae69d8c5f96] +description = "testing for eggs allergy -> allergic to eggs and something else" + +[64a6a83a-5723-4b5b-a896-663307403310] +description = "testing for eggs allergy -> allergic to something, but not eggs" + +[90c8f484-456b-41c4-82ba-2d08d93231c6] +description = "testing for eggs allergy -> allergic to everything" + +[d266a59a-fccc-413b-ac53-d57cb1f0db9d] +description = "testing for peanuts allergy -> not allergic to anything" + +[ea210a98-860d-46b2-a5bf-50d8995b3f2a] +description = "testing for peanuts allergy -> allergic only to peanuts" + +[eac69ae9-8d14-4291-ac4b-7fd2c73d3a5b] +description = "testing for peanuts allergy -> allergic to peanuts and something else" + +[9152058c-ce39-4b16-9b1d-283ec6d25085] +description = "testing for peanuts allergy -> allergic to something, but not peanuts" + +[d2d71fd8-63d5-40f9-a627-fbdaf88caeab] +description = "testing for peanuts allergy -> allergic to everything" + +[b948b0a1-cbf7-4b28-a244-73ff56687c80] +description = "testing for shellfish allergy -> not allergic to anything" + +[9ce9a6f3-53e9-4923-85e0-73019047c567] +description = "testing for shellfish allergy -> allergic only to shellfish" + +[b272fca5-57ba-4b00-bd0c-43a737ab2131] +description = "testing for shellfish allergy -> allergic to shellfish and something else" + +[21ef8e17-c227-494e-8e78-470a1c59c3d8] +description = "testing for shellfish allergy -> allergic to something, but not shellfish" + +[cc789c19-2b5e-4c67-b146-625dc8cfa34e] +description = "testing for shellfish allergy -> allergic to everything" + +[651bde0a-2a74-46c4-ab55-02a0906ca2f5] +description = "testing for strawberries allergy -> not allergic to anything" + +[b649a750-9703-4f5f-b7f7-91da2c160ece] +description = "testing for strawberries allergy -> allergic only to strawberries" + +[50f5f8f3-3bac-47e6-8dba-2d94470a4bc6] +description = "testing for strawberries allergy -> allergic to strawberries and something else" + +[23dd6952-88c9-48d7-a7d5-5d0343deb18d] +description = "testing for strawberries allergy -> allergic to something, but not strawberries" + +[74afaae2-13b6-43a2-837a-286cd42e7d7e] +description = "testing for strawberries allergy -> allergic to everything" + +[c49a91ef-6252-415e-907e-a9d26ef61723] +description = "testing for tomatoes allergy -> not allergic to anything" + +[b69c5131-b7d0-41ad-a32c-e1b2cc632df8] +description = "testing for tomatoes allergy -> allergic only to tomatoes" + +[1ca50eb1-f042-4ccf-9050-341521b929ec] +description = "testing for tomatoes allergy -> allergic to tomatoes and something else" + +[e9846baa-456b-4eff-8025-034b9f77bd8e] +description = "testing for tomatoes allergy -> allergic to something, but not tomatoes" + +[b2414f01-f3ad-4965-8391-e65f54dad35f] +description = "testing for tomatoes allergy -> allergic to everything" + +[978467ab-bda4-49f7-b004-1d011ead947c] +description = "testing for chocolate allergy -> not allergic to anything" + +[59cf4e49-06ea-4139-a2c1-d7aad28f8cbc] +description = "testing for chocolate allergy -> allergic only to chocolate" + +[b0a7c07b-2db7-4f73-a180-565e07040ef1] +description = "testing for chocolate allergy -> allergic to chocolate and something else" + +[f5506893-f1ae-482a-b516-7532ba5ca9d2] +description = "testing for chocolate allergy -> allergic to something, but not chocolate" + +[02debb3d-d7e2-4376-a26b-3c974b6595c6] +description = "testing for chocolate allergy -> allergic to everything" + +[17f4a42b-c91e-41b8-8a76-4797886c2d96] +description = "testing for pollen allergy -> not allergic to anything" + +[7696eba7-1837-4488-882a-14b7b4e3e399] +description = "testing for pollen allergy -> allergic only to pollen" + +[9a49aec5-fa1f-405d-889e-4dfc420db2b6] +description = "testing for pollen allergy -> allergic to pollen and something else" + +[3cb8e79f-d108-4712-b620-aa146b1954a9] +description = "testing for pollen allergy -> allergic to something, but not pollen" + +[1dc3fe57-7c68-4043-9d51-5457128744b2] +description = "testing for pollen allergy -> allergic to everything" + +[d3f523d6-3d50-419b-a222-d4dfd62ce314] +description = "testing for cats allergy -> not allergic to anything" + +[eba541c3-c886-42d3-baef-c048cb7fcd8f] +description = "testing for cats allergy -> allergic only to cats" + +[ba718376-26e0-40b7-bbbe-060287637ea5] +description = "testing for cats allergy -> allergic to cats and something else" + +[3c6dbf4a-5277-436f-8b88-15a206f2d6c4] +description = "testing for cats allergy -> allergic to something, but not cats" + +[1faabb05-2b98-4995-9046-d83e4a48a7c1] +description = "testing for cats allergy -> allergic to everything" + +[f9c1b8e7-7dc5-4887-aa93-cebdcc29dd8f] +description = "list when: -> no allergies" + +[9e1a4364-09a6-4d94-990f-541a94a4c1e8] +description = "list when: -> just eggs" + +[8851c973-805e-4283-9e01-d0c0da0e4695] +description = "list when: -> just peanuts" + +[2c8943cb-005e-435f-ae11-3e8fb558ea98] +description = "list when: -> just strawberries" + +[6fa95d26-044c-48a9-8a7b-9ee46ec32c5c] +description = "list when: -> eggs and peanuts" + +[19890e22-f63f-4c5c-a9fb-fb6eacddfe8e] +description = "list when: -> more than eggs but not peanuts" + +[4b68f470-067c-44e4-889f-c9fe28917d2f] +description = "list when: -> lots of stuff" + +[0881b7c5-9efa-4530-91bd-68370d054bc7] +description = "list when: -> everything" + +[12ce86de-b347-42a0-ab7c-2e0570f0c65b] +description = "list when: -> no allergen score parts" + +[93c2df3e-4f55-4fed-8116-7513092819cd] +description = "list when: -> no allergen score parts without highest valid score" diff --git a/exercises/practice/allergies/allergies-test.arr b/exercises/practice/allergies/allergies-test.arr new file mode 100644 index 0000000..93ed2c2 --- /dev/null +++ b/exercises/practice/allergies/allergies-test.arr @@ -0,0 +1,458 @@ +use context essentials2020 + +include file("allergies.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +# Eggs + +fun eggs-allergy-not-allergic-to-anything(): + check "Eggs allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("eggs") is false + end +end + +fun eggs-allergy-allergic-only-to-eggs(): + check "Eggs allergy - allergic only to eggs": + allergens = allergies(1) + allergens.allergicTo("eggs") is true + end +end + +fun eggs-allergy-allergic-to-eggs-and-something-else(): + check "Eggs allergy - allergic to eggs and something else": + allergens = allergies(3) + allergens.allergicTo("eggs") is true + end +end + +fun eggs-allergy-allergic-to-something-but-not-eggs(): + check "Eggs allergy - allergic to something, but not eggs": + allergens = allergies(2) + allergens.allergicTo("eggs") is false + end +end + +fun eggs-allergy-allergic-to-everything(): + check "Eggs allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("eggs") is true + end +end + +# Peanuts + +fun peanuts-allergy-not-allergic-to-anything(): + check "peanuts allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("peanuts") is false + end +end + +fun peanuts-allergy-allergic-only-to-peanuts(): + check "peanuts allergy - allergic only to peanuts": + allergens = allergies(2) + allergens.allergicTo("peanuts") is true + end +end + +fun peanuts-allergy-allergic-to-peanuts-and-something-else(): + check "peanuts allergy - allergic to peanuts and something else": + allergens = allergies(7) + allergens.allergicTo("peanuts") is true + end +end + +fun peanuts-allergy-allergic-to-something-but-not-peanuts(): + check "peanuts allergy - allergic to something, but not peanuts": + allergens = allergies(5) + allergens.allergicTo("peanuts") is false + end +end + +fun peanuts-allergy-allergic-to-everything(): + check "peanuts allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("peanuts") is true + end +end + +# Shellfish + +fun shellfish-allergy-not-allergic-to-anything(): + check "shellfish allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("shellfish") is false + end +end + +fun shellfish-allergy-allergic-only-to-shellfish(): + check "shellfish allergy - allergic only to shellfish": + allergens = allergies(4) + allergens.allergicTo("shellfish") is true + end +end + +fun shellfish-allergy-allergic-to-shellfish-and-something-else(): + check "shellfish allergy - allergic to shellfish and something else": + allergens = allergies(14) + allergens.allergicTo("shellfish") is true + end +end + +fun shellfish-allergy-allergic-to-something-but-not-shellfish(): + check "shellfish allergy - allergic to something, but not shellfish": + allergens = allergies(10) + allergens.allergicTo("shellfish") is false + end +end + +fun shellfish-allergy-allergic-to-everything(): + check "shellfish allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("shellfish") is true + end +end + +# Strawberries + +fun strawberries-allergy-not-allergic-to-anything(): + check "strawberries allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("strawberries") is false + end +end + +fun strawberries-allergy-allergic-only-to-strawberries(): + check "strawberries allergy - allergic only to strawberries": + allergens = allergies(8) + allergens.allergicTo("strawberries") is true + end +end + +fun strawberries-allergy-allergic-to-strawberries-and-something-else(): + check "strawberries allergy - allergic to strawberries and something else": + allergens = allergies(28) + allergens.allergicTo("strawberries") is true + end +end + +fun strawberries-allergy-allergic-to-something-but-not-strawberries(): + check "strawberries allergy - allergic to something, but not strawberries": + allergens = allergies(20) + allergens.allergicTo("strawberries") is false + end +end + +fun strawberries-allergy-allergic-to-everything(): + check "strawberries allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("strawberries") is true + end +end + +# Tomatoes + +fun tomatoes-allergy-not-allergic-to-anything(): + check "tomatoes allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("tomatoes") is false + end +end + +fun tomatoes-allergy-allergic-only-to-tomatoes(): + check "tomatoes allergy - allergic only to tomatoes": + allergens = allergies(16) + allergens.allergicTo("tomatoes") is true + end +end + +fun tomatoes-allergy-allergic-to-tomatoes-and-something-else(): + check "tomatoes allergy - allergic to tomatoes and something else": + allergens = allergies(56) + allergens.allergicTo("tomatoes") is true + end +end + +fun tomatoes-allergy-allergic-to-something-but-not-tomatoes(): + check "tomatoes allergy - allergic to something, but not tomatoes": + allergens = allergies(40) + allergens.allergicTo("tomatoes") is false + end +end + +fun tomatoes-allergy-allergic-to-everything(): + check "tomatoes allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("tomatoes") is true + end +end + +# Chocolate + +fun chocolate-allergy-not-allergic-to-anything(): + check "chocolate allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("chocolate") is false + end +end + +fun chocolate-allergy-allergic-only-to-chocolate(): + check "chocolate allergy - allergic only to chocolate": + allergens = allergies(32) + allergens.allergicTo("chocolate") is true + end +end + +fun chocolate-allergy-allergic-to-chocolate-and-something-else(): + check "chocolate allergy - allergic to chocolate and something else": + allergens = allergies(112) + allergens.allergicTo("chocolate") is true + end +end + +fun chocolate-allergy-allergic-to-something-but-not-chocolate(): + check "chocolate allergy - allergic to something, but not chocolate": + allergens = allergies(80) + allergens.allergicTo("chocolate") is false + end +end + +fun chocolate-allergy-allergic-to-everything(): + check "chocolate allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("chocolate") is true + end +end + +# Pollen + +fun pollen-allergy-not-allergic-to-anything(): + check "pollen allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("pollen") is false + end +end + +fun pollen-allergy-allergic-only-to-pollen(): + check "pollen allergy - allergic only to pollen": + allergens = allergies(64) + allergens.allergicTo("pollen") is true + end +end + +fun pollen-allergy-allergic-to-pollen-and-something-else(): + check "pollen allergy - allergic to pollen and something else": + allergens = allergies(224) + allergens.allergicTo("pollen") is true + end +end + +fun pollen-allergy-allergic-to-something-but-not-pollen(): + check "pollen allergy - allergic to something, but not pollen": + allergens = allergies(160) + allergens.allergicTo("pollen") is false + end +end + +fun pollen-allergy-allergic-to-everything(): + check "pollen allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("pollen") is true + end +end + +# Cats + +fun cats-allergy-not-allergic-to-anything(): + check "cats allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("cats") is false + end +end + +fun cats-allergy-allergic-only-to-cats(): + check "cats allergy - allergic only to cats": + allergens = allergies(128) + allergens.allergicTo("cats") is true + end +end + +fun cats-allergy-allergic-to-cats-and-something-else(): + check "cats allergy - allergic to cats and something else": + allergens = allergies(192) + allergens.allergicTo("cats") is true + end +end + +fun cats-allergy-allergic-to-something-but-not-cats(): + check "cats allergy - allergic to something, but not cats": + allergens = allergies(64) + allergens.allergicTo("cats") is false + end +end + +fun cats-allergy-allergic-to-everything(): + check "cats allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("cats") is true + end +end + +# List + +fun list-when-no-allergies(): + check "list when no allergies": + allergens = allergies(0) + allergens.list() is [list: ] + end +end + +fun list-when-just-eggs(): + check "list when just eggs": + allergens = allergies(1) + allergens.list() is [list: "eggs"] + end +end + +fun list-when-just-peanuts(): + check "list when just peanuts": + allergens = allergies(2) + allergens.list() is [list: "peanuts"] + end +end + +fun list-when-just-strawberries(): + check "list when just strawberries": + allergens = allergies(8) + allergens.list() is [list: "strawberries"] + end +end + +fun list-when-eggs-and-peanuts(): + check "list when eggs and peanuts": + allergens = allergies(3) + allergens.list() is [list: "eggs", "peanuts"] + end +end + +fun list-when-more-than-eggs-but-not-peanuts(): + check "list when more than eggs but not peanuts": + allergens = allergies(5) + allergens.list() is [list: "eggs", "shellfish"] + end +end + +fun list-when-lots-of-stuff(): + check "list when lots of stuff": + allergens = allergies(248) + allergens.list() is [list: + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] + end +end + +fun list-when-everything(): + check "list when everything": + allergens = allergies(255) + allergens.list() is [list: + "eggs", + "peanuts", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] + end +end + +fun list-when-no-allergen-score-parts(): + check "list when no allergen score parts": + allergens = allergies(509) + allergens.list() is [list: + "eggs", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] + end +end + +fun list-when-no-allergen-score-parts-without-highest-valid-score(): + check "list when no allergen score parts without highest valid score": + allergens = allergies(257) + allergens.list() is [list: "eggs"] + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(eggs-allergy-not-allergic-to-anything, true), + test(eggs-allergy-allergic-only-to-eggs, false), + test(eggs-allergy-allergic-to-eggs-and-something-else, false), + test(eggs-allergy-allergic-to-something-but-not-eggs, false), + test(eggs-allergy-allergic-to-everything, false), + test(peanuts-allergy-not-allergic-to-anything, false), + test(peanuts-allergy-allergic-only-to-peanuts, false), + test(peanuts-allergy-allergic-to-peanuts-and-something-else, false), + test(peanuts-allergy-allergic-to-something-but-not-peanuts, false), + test(peanuts-allergy-allergic-to-everything, false), + test(shellfish-allergy-not-allergic-to-anything, false), + test(shellfish-allergy-allergic-only-to-shellfish, false), + test(shellfish-allergy-allergic-to-shellfish-and-something-else, false), + test(shellfish-allergy-allergic-to-something-but-not-shellfish, false), + test(shellfish-allergy-allergic-to-everything, false), + test(strawberries-allergy-not-allergic-to-anything, false), + test(strawberries-allergy-allergic-only-to-strawberries, false), + test(strawberries-allergy-allergic-to-strawberries-and-something-else, false), + test(strawberries-allergy-allergic-to-something-but-not-strawberries, false), + test(strawberries-allergy-allergic-to-everything, false), + test(tomatoes-allergy-not-allergic-to-anything, false), + test(tomatoes-allergy-allergic-only-to-tomatoes, false), + test(tomatoes-allergy-allergic-to-tomatoes-and-something-else, false), + test(tomatoes-allergy-allergic-to-something-but-not-tomatoes, false), + test(tomatoes-allergy-allergic-to-everything, false), + test(chocolate-allergy-not-allergic-to-anything, false), + test(chocolate-allergy-allergic-only-to-chocolate, false), + test(chocolate-allergy-allergic-to-chocolate-and-something-else, false), + test(chocolate-allergy-allergic-to-something-but-not-chocolate, false), + test(chocolate-allergy-allergic-to-everything, false), + test(pollen-allergy-not-allergic-to-anything, false), + test(pollen-allergy-allergic-only-to-pollen, false), + test(pollen-allergy-allergic-to-pollen-and-something-else, false), + test(pollen-allergy-allergic-to-something-but-not-pollen, false), + test(pollen-allergy-allergic-to-everything, false), + test(cats-allergy-not-allergic-to-anything, false), + test(cats-allergy-allergic-only-to-cats, false), + test(cats-allergy-allergic-to-cats-and-something-else, false), + test(cats-allergy-allergic-to-something-but-not-cats, false), + test(cats-allergy-allergic-to-everything, false), + test(list-when-no-allergies, false), + test(list-when-just-eggs, false), + test(list-when-just-peanuts, false), + test(list-when-just-strawberries, false), + test(list-when-eggs-and-peanuts, false), + test(list-when-more-than-eggs-but-not-peanuts, false), + test(list-when-lots-of-stuff, false), + test(list-when-everything, false), + test(list-when-no-allergen-score-parts, false), + test(list-when-no-allergen-score-parts-without-highest-valid-score, false), +].each(lam(t): when t.active: t.run() end end) \ No newline at end of file diff --git a/exercises/practice/allergies/allergies.arr b/exercises/practice/allergies/allergies.arr new file mode 100644 index 0000000..de8f302 --- /dev/null +++ b/exercises/practice/allergies/allergies.arr @@ -0,0 +1,13 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide-types * + +data Allergies: + | allergies(score :: Number) with: + method allergicTo(self, allergen :: String) -> Boolean: + raise("please implement the allergicTo method") + end, + method list(self) -> List: + raise("please implement the list method") + end +end From 07f8ef171d6a2fc8bfa2cfeb67317e81433625de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 20 Mar 2024 17:33:33 -0700 Subject: [PATCH 181/244] Fix CI breakage (#202) * Remove duplicate robot-simulator exercise --- config.json | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/config.json b/config.json index c9e0277..00afe25 100644 --- a/config.json +++ b/config.json @@ -48,7 +48,7 @@ { "slug": "allergies", "name": "Allergies", - "uuid": "069b2f75-079e-4c9e-a80f-15e8482151b3", + "uuid": "37555c56-5c77-4b6a-93eb-decde0ae8825", "practices": [], "prerequisites": [], "difficulty": 3 @@ -393,16 +393,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "robot-simulator", - "name": "Robot Simulator", - "uuid": "e81a517a-16be-4760-980a-21ee549c24ea", - "practices": [ - "strings" - ], - "prerequisites": [], - "difficulty": 4 - }, { "slug": "roman-numerals", "name": "Roman Numerals", From 02c31c8ff3469cd19d5b69e4436934c307c4f9b7 Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Wed, 27 Mar 2024 13:49:40 +0000 Subject: [PATCH 182/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#203)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More info: https://github.com/exercism/org-wide-files/commit/45ce43faa93a84c84f407748aae3aa028383ec77 --- .github/workflows/no-important-files-changed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml index b940c59..812e912 100644 --- a/.github/workflows/no-important-files-changed.yml +++ b/.github/workflows/no-important-files-changed.yml @@ -16,7 +16,7 @@ permissions: pull-requests: write jobs: - pause: + check: uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@main with: repository: ${{ github.event.pull_request.head.repo.owner.login }}/${{ github.event.pull_request.head.repo.name }} From ce188261290189b489eb0b1efdb7b5a09b28d897 Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Sat, 30 Mar 2024 10:57:16 -0400 Subject: [PATCH 183/244] Sync with problem-specs (#204) * sync docs and metadata * sync tests, disallowing wide character tests for anagram and reverse-string --- exercises/practice/anagram/.meta/tests.toml | 8 ++++++++ exercises/practice/darts/.docs/instructions.md | 4 ++-- exercises/practice/darts/.meta/config.json | 2 +- .../practice/flatten-array/.docs/instructions.md | 2 +- exercises/practice/reverse-string/.meta/tests.toml | 12 ++++++++++++ exercises/practice/two-fer/.docs/instructions.md | 5 ++--- exercises/practice/two-fer/.docs/introduction.md | 2 +- 7 files changed, 27 insertions(+), 8 deletions(-) diff --git a/exercises/practice/anagram/.meta/tests.toml b/exercises/practice/anagram/.meta/tests.toml index 4f43811..8b680da 100644 --- a/exercises/practice/anagram/.meta/tests.toml +++ b/exercises/practice/anagram/.meta/tests.toml @@ -78,3 +78,11 @@ include = false [33d3f67e-fbb9-49d3-a90e-0beb00861da7] description = "words other than themselves can be anagrams" reimplements = "a0705568-628c-4b55-9798-82e4acde51ca" + +[a6854f66-eec1-4afd-a137-62ef2870c051] +description = "handles case of greek letters" +include = false + +[fd3509e5-e3ba-409d-ac3d-a9ac84d13296] +description = "different characters may have the same bytes" +include = false diff --git a/exercises/practice/darts/.docs/instructions.md b/exercises/practice/darts/.docs/instructions.md index 5e57a86..6518201 100644 --- a/exercises/practice/darts/.docs/instructions.md +++ b/exercises/practice/darts/.docs/instructions.md @@ -1,6 +1,6 @@ # Instructions -Write a function that returns the earned points in a single toss of a Darts game. +Calculate the points scored in a single toss of a Darts game. [Darts][darts] is a game where players throw darts at a [target][darts-target]. @@ -16,7 +16,7 @@ In our particular instance of the game, the target rewards 4 different amounts o The outer circle has a radius of 10 units (this is equivalent to the total radius for the entire target), the middle circle a radius of 5 units, and the inner circle a radius of 1. Of course, they are all centered at the same point — that is, the circles are [concentric][] defined by the coordinates (0, 0). -Write a function that given a point in the target (defined by its [Cartesian coordinates][cartesian-coordinates] `x` and `y`, where `x` and `y` are [real][real-numbers]), returns the correct amount earned by a dart landing at that point. +Given a point in the target (defined by its [Cartesian coordinates][cartesian-coordinates] `x` and `y`, where `x` and `y` are [real][real-numbers]), calculate the correct score earned by a dart landing at that point. ## Credit diff --git a/exercises/practice/darts/.meta/config.json b/exercises/practice/darts/.meta/config.json index 8c88b07..cd1ea7a 100644 --- a/exercises/practice/darts/.meta/config.json +++ b/exercises/practice/darts/.meta/config.json @@ -13,6 +13,6 @@ ".meta/example.arr" ] }, - "blurb": "Write a function that returns the earned points in a single toss of a Darts game.", + "blurb": "Calculate the points scored in a single toss of a Darts game.", "source": "Inspired by an exercise created by a professor Della Paolera in Argentina" } diff --git a/exercises/practice/flatten-array/.docs/instructions.md b/exercises/practice/flatten-array/.docs/instructions.md index 51bea67..89dacfa 100644 --- a/exercises/practice/flatten-array/.docs/instructions.md +++ b/exercises/practice/flatten-array/.docs/instructions.md @@ -2,7 +2,7 @@ Take a nested list and return a single flattened list with all values except nil/null. -The challenge is to write a function that accepts an arbitrarily-deep nested list-like structure and returns a flattened structure without any nil/null values. +The challenge is to take an arbitrarily-deep nested list-like structure and produce a flattened structure without any nil/null values. For example: diff --git a/exercises/practice/reverse-string/.meta/tests.toml b/exercises/practice/reverse-string/.meta/tests.toml index 0b04c4c..52fda99 100644 --- a/exercises/practice/reverse-string/.meta/tests.toml +++ b/exercises/practice/reverse-string/.meta/tests.toml @@ -26,3 +26,15 @@ description = "a palindrome" [b9e7dec1-c6df-40bd-9fa3-cd7ded010c4c] description = "an even-sized word" + +[1bed0f8a-13b0-4bd3-9d59-3d0593326fa2] +description = "wide characters" +include = false + +[93d7e1b8-f60f-4f3c-9559-4056e10d2ead] +description = "grapheme cluster with pre-combined form" +include = false + +[1028b2c1-6763-4459-8540-2da47ca512d9] +description = "grapheme clusters" +include = false diff --git a/exercises/practice/two-fer/.docs/instructions.md b/exercises/practice/two-fer/.docs/instructions.md index 37aa752..adc5348 100644 --- a/exercises/practice/two-fer/.docs/instructions.md +++ b/exercises/practice/two-fer/.docs/instructions.md @@ -2,14 +2,13 @@ Your task is to determine what you will say as you give away the extra cookie. -If your friend likes cookies, and is named Do-yun, then you will say: +If you know the person's name (e.g. if they're named Do-yun), then you will say: ```text One for Do-yun, one for me. ``` -If your friend doesn't like cookies, you give the cookie to the next person in line at the bakery. -Since you don't know their name, you will say _you_ instead. +If you don't know the person's name, you will say _you_ instead. ```text One for you, one for me. diff --git a/exercises/practice/two-fer/.docs/introduction.md b/exercises/practice/two-fer/.docs/introduction.md index 8c12439..5947a22 100644 --- a/exercises/practice/two-fer/.docs/introduction.md +++ b/exercises/practice/two-fer/.docs/introduction.md @@ -5,4 +5,4 @@ Two-for-one is a way of saying that if you buy one, you also get one for free. So the phrase "two-fer" often implies a two-for-one offer. Imagine a bakery that has a holiday offer where you can buy two cookies for the price of one ("two-fer one!"). -You go for the offer and (very generously) decide to give the extra cookie to a friend. +You take the offer and (very generously) decide to give the extra cookie to someone else in the queue. From b4fbfc1bef389dc7fe1da2fcdc521dc1c33334e3 Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Sat, 30 Mar 2024 11:06:56 -0400 Subject: [PATCH 184/244] add sieve exercise (#205) --- config.json | 8 +++ .../practice/sieve/.docs/instructions.md | 42 ++++++++++++ .../practice/sieve/.docs/introduction.md | 7 ++ exercises/practice/sieve/.meta/config.json | 19 ++++++ exercises/practice/sieve/.meta/example.arr | 28 ++++++++ exercises/practice/sieve/.meta/tests.toml | 25 +++++++ exercises/practice/sieve/sieve-test.arr | 68 +++++++++++++++++++ exercises/practice/sieve/sieve.arr | 7 ++ 8 files changed, 204 insertions(+) create mode 100644 exercises/practice/sieve/.docs/instructions.md create mode 100644 exercises/practice/sieve/.docs/introduction.md create mode 100644 exercises/practice/sieve/.meta/config.json create mode 100644 exercises/practice/sieve/.meta/example.arr create mode 100644 exercises/practice/sieve/.meta/tests.toml create mode 100644 exercises/practice/sieve/sieve-test.arr create mode 100644 exercises/practice/sieve/sieve.arr diff --git a/config.json b/config.json index 00afe25..5ffa897 100644 --- a/config.json +++ b/config.json @@ -540,6 +540,14 @@ ], "prerequisites": [], "difficulty": 5 + }, + { + "slug": "sieve", + "name": "Sieve", + "uuid": "5f29c607-3d50-476b-967a-5c54b65402aa", + "practices": [], + "prerequisites": [], + "difficulty": 5 } ], "foregone": [ diff --git a/exercises/practice/sieve/.docs/instructions.md b/exercises/practice/sieve/.docs/instructions.md new file mode 100644 index 0000000..085c0a5 --- /dev/null +++ b/exercises/practice/sieve/.docs/instructions.md @@ -0,0 +1,42 @@ +# Instructions + +Your task is to create a program that implements the Sieve of Eratosthenes algorithm to find all prime numbers less than or equal to a given number. + +A prime number is a number larger than 1 that is only divisible by 1 and itself. +For example, 2, 3, 5, 7, 11, and 13 are prime numbers. +By contrast, 6 is _not_ a prime number as it not only divisible by 1 and itself, but also by 2 and 3. + +To use the Sieve of Eratosthenes, you first create a list of all the numbers between 2 and your given number. +Then you repeat the following steps: + +1. Find the next unmarked number in your list (skipping over marked numbers). + This is a prime number. +2. Mark all the multiples of that prime number as **not** prime. + +You keep repeating these steps until you've gone through every number in your list. +At the end, all the unmarked numbers are prime. + +~~~~exercism/note +The tests don't check that you've implemented the algorithm, only that you've come up with the correct list of primes. +To check you are implementing the Sieve correctly, a good first test is to check that you do not use division or remainder operations. +~~~~ + +## Example + +Let's say you're finding the primes less than or equal to 10. + +- List out 2, 3, 4, 5, 6, 7, 8, 9, 10, leaving them all unmarked. +- 2 is unmarked and is therefore a prime. + Mark 4, 6, 8 and 10 as "not prime". +- 3 is unmarked and is therefore a prime. + Mark 6 and 9 as not prime _(marking 6 is optional - as it's already been marked)_. +- 4 is marked as "not prime", so we skip over it. +- 5 is unmarked and is therefore a prime. + Mark 10 as not prime _(optional - as it's already been marked)_. +- 6 is marked as "not prime", so we skip over it. +- 7 is unmarked and is therefore a prime. +- 8 is marked as "not prime", so we skip over it. +- 9 is marked as "not prime", so we skip over it. +- 10 is marked as "not prime", so we stop as there are no more numbers to check. + +You've examined all numbers and found 2, 3, 5, and 7 are still unmarked, which means they're the primes less than or equal to 10. diff --git a/exercises/practice/sieve/.docs/introduction.md b/exercises/practice/sieve/.docs/introduction.md new file mode 100644 index 0000000..f6c1cf7 --- /dev/null +++ b/exercises/practice/sieve/.docs/introduction.md @@ -0,0 +1,7 @@ +# Introduction + +You bought a big box of random computer parts at a garage sale. +You've started putting the parts together to build custom computers. + +You want to test the performance of different combinations of parts, and decide to create your own benchmarking program to see how your computers compare. +You choose the famous "Sieve of Eratosthenes" algorithm, an ancient algorithm, but one that should push your computers to the limits. diff --git a/exercises/practice/sieve/.meta/config.json b/exercises/practice/sieve/.meta/config.json new file mode 100644 index 0000000..b0791e5 --- /dev/null +++ b/exercises/practice/sieve/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "glennj" + ], + "files": { + "solution": [ + "sieve.arr" + ], + "test": [ + "sieve-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.", + "source": "Sieve of Eratosthenes at Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes" +} diff --git a/exercises/practice/sieve/.meta/example.arr b/exercises/practice/sieve/.meta/example.arr new file mode 100644 index 0000000..14fcbd1 --- /dev/null +++ b/exercises/practice/sieve/.meta/example.arr @@ -0,0 +1,28 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: primes end + +fun primes(limit) block: + marks = array-of(true, limit + 1) + + var ps = [list:] + for each(i from range(2, limit + 1)): + when marks.get-now(i) block: + ps := ps.push(i) + mark-multiples(marks, i, limit) + end + end + + ps.reverse() +end + +fun mark-multiples(a :: Array, prime :: NumInteger, limit :: NumPositive): + rec do-mark = lam(i): + when i <= limit block: + a.set-now(i, false) + do-mark(i + prime) + end + end + + do-mark(prime * prime) +end diff --git a/exercises/practice/sieve/.meta/tests.toml b/exercises/practice/sieve/.meta/tests.toml new file mode 100644 index 0000000..fec5e1a --- /dev/null +++ b/exercises/practice/sieve/.meta/tests.toml @@ -0,0 +1,25 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[88529125-c4ce-43cc-bb36-1eb4ddd7b44f] +description = "no primes under two" + +[4afe9474-c705-4477-9923-840e1024cc2b] +description = "find first prime" + +[974945d8-8cd9-4f00-9463-7d813c7f17b7] +description = "find primes up to 10" + +[2e2417b7-3f3a-452a-8594-b9af08af6d82] +description = "limit is prime" + +[92102a05-4c7c-47de-9ed0-b7d5fcd00f21] +description = "find primes up to 1000" diff --git a/exercises/practice/sieve/sieve-test.arr b/exercises/practice/sieve/sieve-test.arr new file mode 100644 index 0000000..ec4c0a8 --- /dev/null +++ b/exercises/practice/sieve/sieve-test.arr @@ -0,0 +1,68 @@ +use context essentials2020 + +include file("sieve.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + +fun no-primes-under-two(): + check "no primes under two": + primes(1) is [list:] + end +end + + fun find-first-prime(): + check "find first prime": + primes(2) is [list:2] + end +end + +fun find-primes-up-to-10(): + check "find primes up to 10": + primes(10) is [list:2, 3, 5, 7] + end +end + +fun limit-is-prime(): + check "limit is prime": + primes(13) is [list:2, 3, 5, 7, 11, 13] + end +end + +fun find-primes-up-to-1000(): + check "find primes up to 1000": + primes(1000) is [list: + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, + 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, + 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, + 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, + 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, + 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, + 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, + 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, + 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, + 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, + 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, + 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 + ] + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(no-primes-under-two, true), + test(find-first-prime, false), + test(find-primes-up-to-10, false), + test(limit-is-prime, false), + test(find-primes-up-to-1000, false), +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/sieve/sieve.arr b/exercises/practice/sieve/sieve.arr new file mode 100644 index 0000000..5c0d133 --- /dev/null +++ b/exercises/practice/sieve/sieve.arr @@ -0,0 +1,7 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: primes end + +fun primes(limit): + raise("Please implement the primes function") +end From 8511c16fbf676a2b8365835100ef07290e71a039 Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Wed, 10 Apr 2024 17:36:52 -0400 Subject: [PATCH 185/244] Sync with recent probspec changes (#206) --- .../dnd-character/.docs/instructions.md | 11 +++-- .../dnd-character/.docs/introduction.md | 10 ++++ .../practice/roman-numerals/.meta/tests.toml | 3 ++ .../roman-numerals/roman-numerals-test.arr | 7 +++ .../scrabble-score/.docs/instructions.md | 47 +++++++------------ .../scrabble-score/.docs/introduction.md | 7 +++ 6 files changed, 49 insertions(+), 36 deletions(-) create mode 100644 exercises/practice/dnd-character/.docs/introduction.md create mode 100644 exercises/practice/scrabble-score/.docs/introduction.md diff --git a/exercises/practice/dnd-character/.docs/instructions.md b/exercises/practice/dnd-character/.docs/instructions.md index b0a6035..e14e794 100644 --- a/exercises/practice/dnd-character/.docs/instructions.md +++ b/exercises/practice/dnd-character/.docs/instructions.md @@ -3,13 +3,13 @@ For a game of [Dungeons & Dragons][dnd], each player starts by generating a character they can play with. This character has, among other things, six abilities; strength, dexterity, constitution, intelligence, wisdom and charisma. These six abilities have scores that are determined randomly. -You do this by rolling four 6-sided dice and record the sum of the largest three dice. +You do this by rolling four 6-sided dice and recording the sum of the largest three dice. You do this six times, once for each ability. Your character's initial hitpoints are 10 + your character's constitution modifier. You find your character's constitution modifier by subtracting 10 from your character's constitution, divide by 2 and round down. -Write a random character generator that follows the rules above. +Write a random character generator that follows the above rules. For example, the six throws of four dice may look like: @@ -22,10 +22,11 @@ For example, the six throws of four dice may look like: Because constitution is 3, the constitution modifier is -4 and the hitpoints are 6. -## Notes - +~~~~exercism/note Most programming languages feature (pseudo-)random generators, but few programming languages are designed to roll dice. One such language is [Troll][troll]. -[dnd]: https://en.wikipedia.org/wiki/Dungeons_%26_Dragons [troll]: https://di.ku.dk/Ansatte/?pure=da%2Fpublications%2Ftroll-a-language-for-specifying-dicerolls(84a45ff0-068b-11df-825d-000ea68e967b)%2Fexport.html +~~~~ + +[dnd]: https://en.wikipedia.org/wiki/Dungeons_%26_Dragons diff --git a/exercises/practice/dnd-character/.docs/introduction.md b/exercises/practice/dnd-character/.docs/introduction.md new file mode 100644 index 0000000..5301f61 --- /dev/null +++ b/exercises/practice/dnd-character/.docs/introduction.md @@ -0,0 +1,10 @@ +# Introduction + +After weeks of anticipation, you and your friends get together for your very first game of [Dungeons & Dragons][dnd] (D&D). +Since this is the first session of the game, each player has to generate a character to play with. +The character's abilities are determined by rolling 6-sided dice, but where _are_ the dice? +With a shock, you realize that your friends are waiting for _you_ to produce the dice; after all it was your idea to play D&D! +Panicking, you realize you forgot to bring the dice, which would mean no D&D game. +As you have some basic coding skills, you quickly come up with a solution: you'll write a program to simulate dice rolls. + +[dnd]: https://en.wikipedia.org/wiki/Dungeons_%26_Dragons diff --git a/exercises/practice/roman-numerals/.meta/tests.toml b/exercises/practice/roman-numerals/.meta/tests.toml index 57c6c4b..709011b 100644 --- a/exercises/practice/roman-numerals/.meta/tests.toml +++ b/exercises/practice/roman-numerals/.meta/tests.toml @@ -84,5 +84,8 @@ description = "3000 is MMM" [3bc4b41c-c2e6-49d9-9142-420691504336] description = "3001 is MMMI" +[2f89cad7-73f6-4d1b-857b-0ef531f68b7e] +description = "3888 is MMMDCCCLXXXVIII" + [4e18e96b-5fbb-43df-a91b-9cb511fe0856] description = "3999 is MMMCMXCIX" diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index 2357097..42a203f 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -158,6 +158,12 @@ fun MMMI(): end end +fun MMMDCCCLXXXVIII(): + check "3888 is MMMDCCCLXXXVIII": + to-roman(3888) is "MMMDCCCLXXXVIII" + end +end + fun MMMCMXCIX(): check "3999 is MMMCMXCIX": to-roman(3999) is "MMMCMXCIX" @@ -199,5 +205,6 @@ data TestRun: test(run, active) end test(MDCLXVI, false), test(MMM, false), test(MMMI, false), + test(MMMDCCCLXXXVIII, false), test(MMMCMXCIX, false) ].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/scrabble-score/.docs/instructions.md b/exercises/practice/scrabble-score/.docs/instructions.md index 3f986c9..738f928 100644 --- a/exercises/practice/scrabble-score/.docs/instructions.md +++ b/exercises/practice/scrabble-score/.docs/instructions.md @@ -1,40 +1,25 @@ # Instructions -Given a word, compute the Scrabble score for that word. +Your task is to compute a word's Scrabble score by summing the values of its letters. -## Letter Values +The letters are valued as follows: -You'll need these: +| Letter | Value | +| ---------------------------- | ----- | +| A, E, I, O, U, L, N, R, S, T | 1 | +| D, G | 2 | +| B, C, M, P | 3 | +| F, H, V, W, Y | 4 | +| K | 5 | +| J, X | 8 | +| Q, Z | 10 | -```text -Letter Value -A, E, I, O, U, L, N, R, S, T 1 -D, G 2 -B, C, M, P 3 -F, H, V, W, Y 4 -K 5 -J, X 8 -Q, Z 10 -``` - -## Examples - -"cabbage" should be scored as worth 14 points: +For example, the word "cabbage" is worth 14 points: - 3 points for C -- 1 point for A, twice -- 3 points for B, twice +- 1 point for A +- 3 points for B +- 3 points for B +- 1 point for A - 2 points for G - 1 point for E - -And to total: - -- `3 + 2*1 + 2*3 + 2 + 1` -- = `3 + 2 + 6 + 3` -- = `5 + 9` -- = 14 - -## Extensions - -- You can play a double or a triple letter. -- You can play a double or a triple word. diff --git a/exercises/practice/scrabble-score/.docs/introduction.md b/exercises/practice/scrabble-score/.docs/introduction.md new file mode 100644 index 0000000..8821f24 --- /dev/null +++ b/exercises/practice/scrabble-score/.docs/introduction.md @@ -0,0 +1,7 @@ +# Introduction + +[Scrabble][wikipedia] is a word game where players place letter tiles on a board to form words. +Each letter has a value. +A word's score is the sum of its letters' values. + +[wikipedia]: https://en.wikipedia.org/wiki/Scrabble From 236e28e1a108ecef3aac12955ef910ef92e0ce0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:26:17 -0700 Subject: [PATCH 186/244] Fix missing warnings about changing essentials2020 (#207) --- exercises/practice/bank-account/.meta/example.arr | 2 +- exercises/practice/bank-account/bank-account.arr | 2 +- exercises/practice/clock/.meta/example.arr | 2 +- exercises/practice/clock/clock.arr | 2 +- exercises/practice/eliuds-eggs/.meta/example.arr | 2 +- exercises/practice/flatten-array/.meta/example.arr | 2 +- exercises/practice/flatten-array/flatten-array.arr | 2 +- exercises/practice/high-scores/high-scores.arr | 2 +- exercises/practice/queen-attack/.meta/example.arr | 2 +- exercises/practice/queen-attack/queen-attack.arr | 2 +- exercises/practice/robot-simulator/.meta/example.arr | 2 +- exercises/practice/simple-linked-list/.meta/example.arr | 2 +- exercises/practice/simple-linked-list/simple-linked-list.arr | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/exercises/practice/bank-account/.meta/example.arr b/exercises/practice/bank-account/.meta/example.arr index 2be2945..80328e0 100644 --- a/exercises/practice/bank-account/.meta/example.arr +++ b/exercises/practice/bank-account/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/bank-account/bank-account.arr b/exercises/practice/bank-account/bank-account.arr index b36d0ef..b87beb1 100644 --- a/exercises/practice/bank-account/bank-account.arr +++ b/exercises/practice/bank-account/bank-account.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/clock/.meta/example.arr b/exercises/practice/clock/.meta/example.arr index 7f11412..ce9652e 100644 --- a/exercises/practice/clock/.meta/example.arr +++ b/exercises/practice/clock/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/clock/clock.arr b/exercises/practice/clock/clock.arr index e1df6bb..26980b3 100644 --- a/exercises/practice/clock/clock.arr +++ b/exercises/practice/clock/clock.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/eliuds-eggs/.meta/example.arr b/exercises/practice/eliuds-eggs/.meta/example.arr index ed14b41..942779d 100644 --- a/exercises/practice/eliuds-eggs/.meta/example.arr +++ b/exercises/practice/eliuds-eggs/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: egg-count end diff --git a/exercises/practice/flatten-array/.meta/example.arr b/exercises/practice/flatten-array/.meta/example.arr index 0c6e3d7..8146622 100644 --- a/exercises/practice/flatten-array/.meta/example.arr +++ b/exercises/practice/flatten-array/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: flatten end diff --git a/exercises/practice/flatten-array/flatten-array.arr b/exercises/practice/flatten-array/flatten-array.arr index 81565d2..61c4bc3 100644 --- a/exercises/practice/flatten-array/flatten-array.arr +++ b/exercises/practice/flatten-array/flatten-array.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: flatten end diff --git a/exercises/practice/high-scores/high-scores.arr b/exercises/practice/high-scores/high-scores.arr index 2d25ae2..631cd01 100644 --- a/exercises/practice/high-scores/high-scores.arr +++ b/exercises/practice/high-scores/high-scores.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: high-scores end diff --git a/exercises/practice/queen-attack/.meta/example.arr b/exercises/practice/queen-attack/.meta/example.arr index f829708..383f90d 100644 --- a/exercises/practice/queen-attack/.meta/example.arr +++ b/exercises/practice/queen-attack/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/queen-attack/queen-attack.arr b/exercises/practice/queen-attack/queen-attack.arr index 944024b..f094940 100644 --- a/exercises/practice/queen-attack/queen-attack.arr +++ b/exercises/practice/queen-attack/queen-attack.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/robot-simulator/.meta/example.arr b/exercises/practice/robot-simulator/.meta/example.arr index 1c0fcf7..154cbe0 100644 --- a/exercises/practice/robot-simulator/.meta/example.arr +++ b/exercises/practice/robot-simulator/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/simple-linked-list/.meta/example.arr b/exercises/practice/simple-linked-list/.meta/example.arr index ab8fff9..c1aca33 100644 --- a/exercises/practice/simple-linked-list/.meta/example.arr +++ b/exercises/practice/simple-linked-list/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/simple-linked-list/simple-linked-list.arr b/exercises/practice/simple-linked-list/simple-linked-list.arr index 49eee59..da37512 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context essentials2020 # Don't delete this line when using Pyret on Exercism provide-types * From 0dd132d18aa71a3a3b5d0846d8531c33eb504132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:26:37 -0700 Subject: [PATCH 187/244] Revert exercise name (#208) --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 5ffa897..6f72be5 100644 --- a/config.json +++ b/config.json @@ -154,7 +154,7 @@ }, { "slug": "flatten-array", - "name": "Flatten List", + "name": "Flatten Array", "uuid": "23b5a864-186c-4a4d-ba32-83608b0d18f6", "practices": [], "prerequisites": [], From caa9ca3c77007df93cbef5e9fb002cc1f17e5249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:26:56 -0700 Subject: [PATCH 188/244] Fix appends not showing on site (#209) --- .../.docs/{instructions-append.md => instructions.append.md} | 0 .../.docs/{instructions-append.md => instructions.append.md} | 0 .../.docs/{instructions-append.md => instructions.append.md} | 0 .../.docs/{instructions-append.md => instructions.append.md} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename exercises/practice/bank-account/.docs/{instructions-append.md => instructions.append.md} (100%) rename exercises/practice/clock/.docs/{instructions-append.md => instructions.append.md} (100%) rename exercises/practice/flatten-array/.docs/{instructions-append.md => instructions.append.md} (100%) rename exercises/practice/high-scores/.docs/{instructions-append.md => instructions.append.md} (100%) diff --git a/exercises/practice/bank-account/.docs/instructions-append.md b/exercises/practice/bank-account/.docs/instructions.append.md similarity index 100% rename from exercises/practice/bank-account/.docs/instructions-append.md rename to exercises/practice/bank-account/.docs/instructions.append.md diff --git a/exercises/practice/clock/.docs/instructions-append.md b/exercises/practice/clock/.docs/instructions.append.md similarity index 100% rename from exercises/practice/clock/.docs/instructions-append.md rename to exercises/practice/clock/.docs/instructions.append.md diff --git a/exercises/practice/flatten-array/.docs/instructions-append.md b/exercises/practice/flatten-array/.docs/instructions.append.md similarity index 100% rename from exercises/practice/flatten-array/.docs/instructions-append.md rename to exercises/practice/flatten-array/.docs/instructions.append.md diff --git a/exercises/practice/high-scores/.docs/instructions-append.md b/exercises/practice/high-scores/.docs/instructions.append.md similarity index 100% rename from exercises/practice/high-scores/.docs/instructions-append.md rename to exercises/practice/high-scores/.docs/instructions.append.md From e0f64e67f995c0992aea741d051e2fc7b3b4d535 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:25:28 -0700 Subject: [PATCH 189/244] Bump actions/checkout from 4.1.2 to 4.1.3 (#210) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/9bb56186c3b09b4f86b1c65136769dd318469633...1d96c772d19495a3b5c517cd2bc0cb401ea0529f) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c9eb566..e92b693 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From f8b97d51499031e182b6388ae215f5fe816b000b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 07:34:01 -0700 Subject: [PATCH 190/244] Bump actions/checkout from 4.1.3 to 4.1.4 (#211) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/1d96c772d19495a3b5c517cd2bc0cb401ea0529f...0ad4b8fadaa221de15dcec353f45205ec38ea70b) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e92b693..34deb33 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From 90579c09241ee78f2c8cb17c2bd891d4f7c2e2da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 08:23:38 -0700 Subject: [PATCH 191/244] Bump actions/checkout from 4.1.4 to 4.1.5 (#212) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/0ad4b8fadaa221de15dcec353f45205ec38ea70b...44c2b7a8a4ea60a981eaca3cf939b5f4305c123b) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 34deb33..9b50e17 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From 47a31181f3c22c343afbf9090a842fa753ca7181 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 07:28:39 -0700 Subject: [PATCH 192/244] Bump actions/checkout from 4.1.5 to 4.1.6 (#213) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/44c2b7a8a4ea60a981eaca3cf939b5f4305c123b...a5ac7e51b41094c92402da3b24376905380afc29) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9b50e17..56ecb21 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From 24076d61c25af6ed5bac3114273b6e881b4982c6 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Fri, 24 May 2024 16:08:08 +0200 Subject: [PATCH 193/244] Sync the `bank-account` exercise's docs with the latest data. (#214) --- .../bank-account/.docs/instructions.md | 12 +++++------ .../bank-account/.docs/introduction.md | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 exercises/practice/bank-account/.docs/introduction.md diff --git a/exercises/practice/bank-account/.docs/instructions.md b/exercises/practice/bank-account/.docs/instructions.md index f536fdb..0955520 100644 --- a/exercises/practice/bank-account/.docs/instructions.md +++ b/exercises/practice/bank-account/.docs/instructions.md @@ -1,12 +1,10 @@ # Instructions -Simulate a bank account supporting opening/closing, withdrawals, and deposits of money. -Watch out for concurrent transactions! +Your task is to implement bank accounts supporting opening/closing, withdrawals, and deposits of money. -A bank account can be accessed in multiple ways. -Clients can make deposits and withdrawals using the internet, mobile phones, etc. -Shops can charge against the account. - -Create an account that can be accessed from multiple threads/processes (terminology depends on your programming language). +As bank accounts can be accessed in many different ways (internet, mobile phones, automatic charges), your bank software must allow accounts to be safely accessed from multiple threads/processes (terminology depends on your programming language) in parallel. +For example, there may be many deposits and withdrawals occurring in parallel; you need to ensure there is no [race conditions][wikipedia] between when you read the account balance and set the new balance. It should be possible to close an account; operations against a closed account must fail. + +[wikipedia]: https://en.wikipedia.org/wiki/Race_condition#In_software diff --git a/exercises/practice/bank-account/.docs/introduction.md b/exercises/practice/bank-account/.docs/introduction.md new file mode 100644 index 0000000..650b5d9 --- /dev/null +++ b/exercises/practice/bank-account/.docs/introduction.md @@ -0,0 +1,20 @@ +# Introduction + +After years of filling out forms and waiting, you've finally acquired your banking license. +This means you are now officially eligible to open your own bank, hurray! + +Your first priority is to get the IT systems up and running. +After a day of hard work, you can already open and close accounts, as well as handle withdrawals and deposits. + +Since you couldn't be bothered writing tests, you invite some friends to help test the system. +However, after just five minutes, one of your friends claims they've lost money! +While you're confident your code is bug-free, you start looking through the logs to investigate. + +Ah yes, just as you suspected, your friend is at fault! +They shared their test credentials with another friend, and together they conspired to make deposits and withdrawals from the same account _in parallel_. +Who would do such a thing? + +While you argue that it's physically _impossible_ for someone to access their account in parallel, your friend smugly notifies you that the banking rules _require_ you to support this. +Thus, no parallel banking support, no go-live signal. +Sighing, you create a mental note to work on this tomorrow. +This will set your launch date back at _least_ one more day, but well... From 9d85a2cf091c5596ba816f8ecb153a7c78c2e7a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 07:33:37 -0700 Subject: [PATCH 194/244] Bump actions/checkout from 4.1.6 to 4.1.7 (#215) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 56ecb21..171cd0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 From d54a5f168d86b60e1dd4fcce4d0bc39f0e4998c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 1 Jul 2024 06:22:26 -0700 Subject: [PATCH 195/244] Update snippet (#216) --- docs/SNIPPET.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/SNIPPET.txt b/docs/SNIPPET.txt index 991fe89..12a5637 100644 --- a/docs/SNIPPET.txt +++ b/docs/SNIPPET.txt @@ -1,3 +1,9 @@ -fun hello(name): - "Hello, " + name + "!" +fun sum(lst): + cases (List) lst: + | empty => 0 + | link(first, rest) => first + sum(rest) + end +where: + sum([list: ]) is 0 + sum([list: 1, 2, 3]) is 6 end From 0eb0016990fb25ecb6a1c9106718c96615e5777b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 07:45:04 -0700 Subject: [PATCH 196/244] Bump actions/setup-node from 4.0.2 to 4.0.3 (#218) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/60edb5dd545a775178f52524783378180af0d1f8...1e60f620b9541d16bece96c5465dc8ee9832be0b) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 171cd0d..b685484 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: Setup Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b with: node-version: 'node' From 3a13c7228403f5f72be991b9ec2d1b3169ac79d4 Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Wed, 10 Jul 2024 14:02:44 +0100 Subject: [PATCH 197/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#217)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More info: https://github.com/exercism/org-wide-files/commit/0328994b105cecbf8d5bcab2a7fc5b9791685f87 --- bin/fetch-configlet | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/bin/fetch-configlet b/bin/fetch-configlet index 4800e15..6bef43a 100755 --- a/bin/fetch-configlet +++ b/bin/fetch-configlet @@ -24,10 +24,11 @@ get_download_url() { local latest='https://api.github.com/repos/exercism/configlet/releases/latest' local arch case "$(uname -m)" in - x86_64) arch='x86-64' ;; - *686*) arch='i386' ;; - *386*) arch='i386' ;; - *) arch='x86-64' ;; + aarch64|arm64) arch='arm64' ;; + x86_64) arch='x86-64' ;; + *686*) arch='i386' ;; + *386*) arch='i386' ;; + *) arch='x86-64' ;; esac local suffix="${os}_${arch}.${ext}" curl "${curlopts[@]}" --header 'Accept: application/vnd.github.v3+json' "${latest}" | @@ -47,7 +48,7 @@ main() { fi local os - case "$(uname)" in + case "$(uname -s)" in Darwin*) os='macos' ;; Linux*) os='linux' ;; Windows*) os='windows' ;; @@ -58,8 +59,8 @@ main() { local ext case "${os}" in - windows*) ext='zip' ;; - *) ext='tar.gz' ;; + windows) ext='zip' ;; + *) ext='tar.gz' ;; esac echo "Fetching configlet..." >&2 @@ -69,16 +70,16 @@ main() { curl "${curlopts[@]}" --output "${output_path}" "${download_url}" case "${ext}" in - *zip) unzip "${output_path}" -d "${output_dir}" ;; - *) tar xzf "${output_path}" -C "${output_dir}" ;; + zip) unzip "${output_path}" -d "${output_dir}" ;; + *) tar xzf "${output_path}" -C "${output_dir}" ;; esac rm -f "${output_path}" local executable_ext case "${os}" in - windows*) executable_ext='.exe' ;; - *) executable_ext='' ;; + windows) executable_ext='.exe' ;; + *) executable_ext='' ;; esac local configlet_path="${output_dir}/configlet${executable_ext}" From ed56352860a588b97a62bd94e10f1b59d564096e Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 11 Jul 2024 16:57:59 +0200 Subject: [PATCH 198/244] Sync the `resistor-color-trio` exercise's docs with the latest data. (#221) --- .../resistor-color-trio/.docs/instructions.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/exercises/practice/resistor-color-trio/.docs/instructions.md b/exercises/practice/resistor-color-trio/.docs/instructions.md index 59d2278..1ac5cf5 100644 --- a/exercises/practice/resistor-color-trio/.docs/instructions.md +++ b/exercises/practice/resistor-color-trio/.docs/instructions.md @@ -12,16 +12,16 @@ For this exercise, you need to know only three things about them: The program will take 3 colors as input, and outputs the correct value, in ohms. The color bands are encoded as follows: -- Black: 0 -- Brown: 1 -- Red: 2 -- Orange: 3 -- Yellow: 4 -- Green: 5 -- Blue: 6 -- Violet: 7 -- Grey: 8 -- White: 9 +- black: 0 +- brown: 1 +- red: 2 +- orange: 3 +- yellow: 4 +- green: 5 +- blue: 6 +- violet: 7 +- grey: 8 +- white: 9 In Resistor Color Duo you decoded the first two colors. For instance: orange-orange got the main value `33`. From d48ce45346ed83eb4a1077d9bce8b51026abdc18 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 11 Jul 2024 17:00:54 +0200 Subject: [PATCH 199/244] Sync the `resistor-color-duo` exercise's docs with the latest data. (#220) --- .../resistor-color-duo/.docs/instructions.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/exercises/practice/resistor-color-duo/.docs/instructions.md b/exercises/practice/resistor-color-duo/.docs/instructions.md index bdcd549..4ae694d 100644 --- a/exercises/practice/resistor-color-duo/.docs/instructions.md +++ b/exercises/practice/resistor-color-duo/.docs/instructions.md @@ -17,17 +17,17 @@ The program will take color names as input and output a two digit number, even i The band colors are encoded as follows: -- Black: 0 -- Brown: 1 -- Red: 2 -- Orange: 3 -- Yellow: 4 -- Green: 5 -- Blue: 6 -- Violet: 7 -- Grey: 8 -- White: 9 +- black: 0 +- brown: 1 +- red: 2 +- orange: 3 +- yellow: 4 +- green: 5 +- blue: 6 +- violet: 7 +- grey: 8 +- white: 9 From the example above: -brown-green should return 15 +brown-green should return 15, and brown-green-violet should return 15 too, ignoring the third color. From 94a0ee89b461eb30fc263d7b2d3b732a9bb9a19d Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Thu, 11 Jul 2024 17:28:06 +0200 Subject: [PATCH 200/244] Sync the `resistor-color` exercise's docs with the latest data. (#219) --- .../resistor-color/.docs/instructions.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/exercises/practice/resistor-color/.docs/instructions.md b/exercises/practice/resistor-color/.docs/instructions.md index 646c143..0125e71 100644 --- a/exercises/practice/resistor-color/.docs/instructions.md +++ b/exercises/practice/resistor-color/.docs/instructions.md @@ -15,16 +15,16 @@ In this exercise you are going to create a helpful program so that you don't hav These colors are encoded as follows: -- Black: 0 -- Brown: 1 -- Red: 2 -- Orange: 3 -- Yellow: 4 -- Green: 5 -- Blue: 6 -- Violet: 7 -- Grey: 8 -- White: 9 +- black: 0 +- brown: 1 +- red: 2 +- orange: 3 +- yellow: 4 +- green: 5 +- blue: 6 +- violet: 7 +- grey: 8 +- white: 9 The goal of this exercise is to create a way: From ea395b09f46a43ce536d77a9a2ee5c24bfabde15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:31:37 -0700 Subject: [PATCH 201/244] Sync docs (#222) --- .../practice/anagram/.docs/instructions.md | 6 ++-- .../practice/anagram/.docs/introduction.md | 12 +++++++ .../bank-account/.docs/instructions.md | 2 +- .../practice/hamming/.docs/instructions.md | 10 +++--- exercises/practice/luhn/.docs/instructions.md | 3 +- .../practice/space-age/.docs/instructions.md | 31 ++++++++++--------- .../practice/space-age/.docs/introduction.md | 20 ++++++++++++ 7 files changed, 60 insertions(+), 24 deletions(-) create mode 100644 exercises/practice/anagram/.docs/introduction.md create mode 100644 exercises/practice/space-age/.docs/introduction.md diff --git a/exercises/practice/anagram/.docs/instructions.md b/exercises/practice/anagram/.docs/instructions.md index 7d1c828..a729848 100644 --- a/exercises/practice/anagram/.docs/instructions.md +++ b/exercises/practice/anagram/.docs/instructions.md @@ -1,9 +1,9 @@ # Instructions -An anagram is a rearrangement of letters to form a new word: for example `"owns"` is an anagram of `"snow"`. -A word is not its own anagram: for example, `"stop"` is not an anagram of `"stop"`. +Your task is to, given a target word and a set of candidate words, to find the subset of the candidates that are anagrams of the target. -Given a target word and a set of candidate words, this exercise requests the anagram set: the subset of the candidates that are anagrams of the target. +An anagram is a rearrangement of letters to form a new word: for example `"owns"` is an anagram of `"snow"`. +A word is _not_ its own anagram: for example, `"stop"` is not an anagram of `"stop"`. The target and candidates are words of one or more ASCII alphabetic characters (`A`-`Z` and `a`-`z`). Lowercase and uppercase characters are equivalent: for example, `"PoTS"` is an anagram of `"sTOp"`, but `StoP` is not an anagram of `sTOp`. diff --git a/exercises/practice/anagram/.docs/introduction.md b/exercises/practice/anagram/.docs/introduction.md new file mode 100644 index 0000000..1acbdf0 --- /dev/null +++ b/exercises/practice/anagram/.docs/introduction.md @@ -0,0 +1,12 @@ +# Introduction + +At a garage sale, you find a lovely vintage typewriter at a bargain price! +Excitedly, you rush home, insert a sheet of paper, and start typing away. +However, your excitement wanes when you examine the output: all words are garbled! +For example, it prints "stop" instead of "post" and "least" instead of "stale." +Carefully, you try again, but now it prints "spot" and "slate." +After some experimentation, you find there is a random delay before each letter is printed, which messes up the order. +You now understand why they sold it for so little money! + +You realize this quirk allows you to generate anagrams, which are words formed by rearranging the letters of another word. +Pleased with your finding, you spend the rest of the day generating hundreds of anagrams. diff --git a/exercises/practice/bank-account/.docs/instructions.md b/exercises/practice/bank-account/.docs/instructions.md index 0955520..7398fbe 100644 --- a/exercises/practice/bank-account/.docs/instructions.md +++ b/exercises/practice/bank-account/.docs/instructions.md @@ -3,7 +3,7 @@ Your task is to implement bank accounts supporting opening/closing, withdrawals, and deposits of money. As bank accounts can be accessed in many different ways (internet, mobile phones, automatic charges), your bank software must allow accounts to be safely accessed from multiple threads/processes (terminology depends on your programming language) in parallel. -For example, there may be many deposits and withdrawals occurring in parallel; you need to ensure there is no [race conditions][wikipedia] between when you read the account balance and set the new balance. +For example, there may be many deposits and withdrawals occurring in parallel; you need to ensure there are no [race conditions][wikipedia] between when you read the account balance and set the new balance. It should be possible to close an account; operations against a closed account must fail. diff --git a/exercises/practice/hamming/.docs/instructions.md b/exercises/practice/hamming/.docs/instructions.md index 020fdd0..b9ae6ef 100644 --- a/exercises/practice/hamming/.docs/instructions.md +++ b/exercises/practice/hamming/.docs/instructions.md @@ -1,6 +1,6 @@ # Instructions -Calculate the Hamming Distance between two DNA strands. +Calculate the Hamming distance between two DNA strands. Your body is made up of cells that contain DNA. Those cells regularly wear out and need replacing, which they achieve by dividing into daughter cells. @@ -9,18 +9,18 @@ In fact, the average human body experiences about 10 quadrillion cell divisions When cells divide, their DNA replicates too. Sometimes during this process mistakes happen and single pieces of DNA get encoded with the incorrect information. If we compare two strands of DNA and count the differences between them we can see how many mistakes occurred. -This is known as the "Hamming Distance". +This is known as the "Hamming distance". -We read DNA using the letters C,A,G and T. +We read DNA using the letters C, A, G and T. Two strands might look like this: GAGCCTACTAACGGGAT CATCGTAATGACGGCCT ^ ^ ^ ^ ^ ^^ -They have 7 differences, and therefore the Hamming Distance is 7. +They have 7 differences, and therefore the Hamming distance is 7. -The Hamming Distance is useful for lots of things in science, not just biology, so it's a nice phrase to be familiar with :) +The Hamming distance is useful for lots of things in science, not just biology, so it's a nice phrase to be familiar with :) ## Implementation notes diff --git a/exercises/practice/luhn/.docs/instructions.md b/exercises/practice/luhn/.docs/instructions.md index 8cbe791..49934c1 100644 --- a/exercises/practice/luhn/.docs/instructions.md +++ b/exercises/practice/luhn/.docs/instructions.md @@ -22,7 +22,8 @@ The first step of the Luhn algorithm is to double every second digit, starting f We will be doubling ```text -4_3_ 3_9_ 0_4_ 6_6_ +4539 3195 0343 6467 +↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ (double these) ``` If doubling the number results in a number greater than 9 then subtract 9 from the product. diff --git a/exercises/practice/space-age/.docs/instructions.md b/exercises/practice/space-age/.docs/instructions.md index fe938cc..f23b5e2 100644 --- a/exercises/practice/space-age/.docs/instructions.md +++ b/exercises/practice/space-age/.docs/instructions.md @@ -1,25 +1,28 @@ # Instructions -Given an age in seconds, calculate how old someone would be on: +Given an age in seconds, calculate how old someone would be on a planet in our Solar System. -- Mercury: orbital period 0.2408467 Earth years -- Venus: orbital period 0.61519726 Earth years -- Earth: orbital period 1.0 Earth years, 365.25 Earth days, or 31557600 seconds -- Mars: orbital period 1.8808158 Earth years -- Jupiter: orbital period 11.862615 Earth years -- Saturn: orbital period 29.447498 Earth years -- Uranus: orbital period 84.016846 Earth years -- Neptune: orbital period 164.79132 Earth years +One Earth year equals 365.25 Earth days, or 31,557,600 seconds. +If you were told someone was 1,000,000,000 seconds old, their age would be 31.69 Earth-years. -So if you were told someone were 1,000,000,000 seconds old, you should -be able to say that they're 31.69 Earth-years old. +For the other planets, you have to account for their orbital period in Earth Years: -If you're wondering why Pluto didn't make the cut, go watch [this YouTube video][pluto-video]. +| Planet | Orbital period in Earth Years | +| ------- | ----------------------------- | +| Mercury | 0.2408467 | +| Venus | 0.61519726 | +| Earth | 1.0 | +| Mars | 1.8808158 | +| Jupiter | 11.862615 | +| Saturn | 29.447498 | +| Uranus | 84.016846 | +| Neptune | 164.79132 | -Note: The actual length of one complete orbit of the Earth around the sun is closer to 365.256 days (1 sidereal year). +~~~~exercism/note +The actual length of one complete orbit of the Earth around the sun is closer to 365.256 days (1 sidereal year). The Gregorian calendar has, on average, 365.2425 days. While not entirely accurate, 365.25 is the value used in this exercise. See [Year on Wikipedia][year] for more ways to measure a year. -[pluto-video]: https://www.youtube.com/watch?v=Z_2gbGXzFbs [year]: https://en.wikipedia.org/wiki/Year#Summary +~~~~ diff --git a/exercises/practice/space-age/.docs/introduction.md b/exercises/practice/space-age/.docs/introduction.md new file mode 100644 index 0000000..014d788 --- /dev/null +++ b/exercises/practice/space-age/.docs/introduction.md @@ -0,0 +1,20 @@ +# Introduction + +The year is 2525 and you've just embarked on a journey to visit all planets in the Solar System (Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and Neptune). +The first stop is Mercury, where customs require you to fill out a form (bureaucracy is apparently _not_ Earth-specific). +As you hand over the form to the customs officer, they scrutinize it and frown. +"Do you _really_ expect me to believe you're just 50 years old? +You must be closer to 200 years old!" + +Amused, you wait for the customs officer to start laughing, but they appear to be dead serious. +You realize that you've entered your age in _Earth years_, but the officer expected it in _Mercury years_! +As Mercury's orbital period around the sun is significantly shorter than Earth, you're actually a lot older in Mercury years. +After some quick calculations, you're able to provide your age in Mercury Years. +The customs officer smiles, satisfied, and waves you through. +You make a mental note to pre-calculate your planet-specific age _before_ future customs checks, to avoid such mix-ups. + +~~~~exercism/note +If you're wondering why Pluto didn't make the cut, go watch [this YouTube video][pluto-video]. + +[pluto-video]: https://www.youtube.com/watch?v=Z_2gbGXzFbs +~~~~ From 659509249f101205f09a2e39e7ec4bf16403f0a9 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Wed, 4 Sep 2024 15:38:25 +0200 Subject: [PATCH 202/244] Change the interval for dependabot updates to monthly (#223) --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index eb2ead7..5c6cb59 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,6 +5,6 @@ updates: - package-ecosystem: 'github-actions' directory: '/' schedule: - interval: 'daily' + interval: 'monthly' labels: - 'x:size/small' From cf4f698fece761ad8886e3ec50ccd13e52feeb99 Mon Sep 17 00:00:00 2001 From: Exercism Bot Date: Thu, 5 Sep 2024 15:17:12 +0200 Subject: [PATCH 203/244] =?UTF-8?q?=F0=9F=A4=96=20Sync=20org-wide=20files?= =?UTF-8?q?=20to=20upstream=20repo=20(#224)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ping-cross-track-maintainers-team.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/ping-cross-track-maintainers-team.yml diff --git a/.github/workflows/ping-cross-track-maintainers-team.yml b/.github/workflows/ping-cross-track-maintainers-team.yml new file mode 100644 index 0000000..b6ec9c5 --- /dev/null +++ b/.github/workflows/ping-cross-track-maintainers-team.yml @@ -0,0 +1,16 @@ +name: Ping cross-track maintainers team + +on: + pull_request_target: + types: + - opened + +permissions: + pull-requests: write + +jobs: + ping: + if: github.repository_owner == 'exercism' # Stops this job from running on forks + uses: exercism/github-actions/.github/workflows/ping-cross-track-maintainers-team.yml@main + secrets: + github_membership_token: ${{ secrets.COMMUNITY_CONTRIBUTIONS_WORKFLOW_TOKEN }} From dd3c469076d98f4dbf37a1f3d82655cef8a728db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Fri, 20 Sep 2024 07:28:10 -0700 Subject: [PATCH 204/244] Sync `protein-translation` tests (#225) * Sync `protein-translation` tests * Fix typo in test name --- .../protein-translation/.meta/tests.toml | 4 ++ .../protein-translation-test.arr | 8 +-- .../protein-translation.arr | 50 ++++++++++++++++++- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/exercises/practice/protein-translation/.meta/tests.toml b/exercises/practice/protein-translation/.meta/tests.toml index 5fb1890..b465aed 100644 --- a/exercises/practice/protein-translation/.meta/tests.toml +++ b/exercises/practice/protein-translation/.meta/tests.toml @@ -87,11 +87,15 @@ description = "Translation stops if STOP codon in middle of three-codon sequence [2c2a2a60-401f-4a80-b977-e0715b23b93d] description = "Translation stops if STOP codon in middle of six-codon sequence" +[f6f92714-769f-4187-9524-e353e8a41a80] +description = "Sequence of two non-STOP codons does not translate to a STOP codon" + [1e75ea2a-f907-4994-ae5c-118632a1cb0f] description = "Non-existing codon can't translate" [9eac93f3-627a-4c90-8653-6d0a0595bc6f] description = "Unknown amino acids, not part of a codon, can't translate" +reimplements = "1e75ea2a-f907-4994-ae5c-118632a1cb0f" [9d73899f-e68e-4291-b1e2-7bf87c00f024] description = "Incomplete RNA sequence can't translate" diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index 2bfe5fd..efbe2db 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -164,9 +164,9 @@ fun stop-in-middle-of-six-codons(): end end -fun non-existent-codon(): - check "Non-existing codon can't translate": - proteins("AAA") raises "Invalid codon" +fun sequence-of-two-non-stop-codons(): + check "Sequence of two non-STOP codons does not translate to a STOP codon": + proteins("AUGAUG") is [list: "Methionine", "Methionine"] end end @@ -223,7 +223,7 @@ data TestRun: test(run, active) end test(stop-at-end-of-three-codons, false), test(stop-in-middle-of-three-codons, false), test(stop-in-middle-of-six-codons, false), - test(non-existent-codon, false), + test(sequence-of-two-non-stop-codons, false), test(unknown-codon, false), test(incomplete-sequence, false), test(incomplete-sequence-with-stop, false) diff --git a/exercises/practice/protein-translation/protein-translation.arr b/exercises/practice/protein-translation/protein-translation.arr index 1a25807..afd5cff 100644 --- a/exercises/practice/protein-translation/protein-translation.arr +++ b/exercises/practice/protein-translation/protein-translation.arr @@ -2,6 +2,54 @@ use context essentials2020 # Don't delete this line when using Pyret on Exercism provide: proteins end +include string-dict +import lists as L + +codon_mappings = [mutable-string-dict: + "AUG", "Methionine", + "UUU", "Phenylalanine", + "UUC", "Phenylalanine", + "UUA", "Leucine", + "UUG", "Leucine", + "UCU", "Serine", + "UCC", "Serine", + "UCA", "Serine", + "UCG", "Serine", + "UAU", "Tyrosine", + "UAC", "Tyrosine", + "UGU", "Cysteine", + "UGC", "Cysteine", + "UGG", "Tryptophan", + "UAA", "STOP", + "UAG", "STOP", + "UGA", "STOP"] + fun proteins(strand): - raise("Please implement the proteins function") + proteins-recursive(string-explode(strand), [list: ]) +end + +fun proteins-recursive(current, acc): + ask: + | current.length() == 0 then: acc + | current.length() < 3 then: raise("Invalid codon") + | otherwise: + block: + codon = current.take(3).join-str("") + protein = translate-codon(codon) + ask: + | protein == "STOP" then: acc + | otherwise: + rest = split-at(3, current).suffix + L.append([list: protein], proteins-recursive(rest, acc)) + end + end + end +end + + +fun translate-codon(codon): + cases(Option) codon_mappings.get-now(codon): + | some(a) => a + | none => raise("Invalid codon") + end end From e5efbac182a93dbee43dd56d40c0277bcaa7fbd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 08:00:22 -0700 Subject: [PATCH 205/244] Bump actions/setup-node from 4.0.3 to 4.0.4 (#226) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/1e60f620b9541d16bece96c5465dc8ee9832be0b...0a44ba7841725637a19e28fa30b79a866c81b0a6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b685484..0817f01 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: Setup Node.js - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 with: node-version: 'node' From afa182b40310e0698cfe6decb431ab6ae84a6666 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 08:00:42 -0700 Subject: [PATCH 206/244] Bump actions/checkout from 4.1.7 to 4.2.0 (#227) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0817f01..a8c13a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - name: Setup Node.js uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 From fdda5466020b627be49fdb3bbf55a84bff9d4ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 16 Oct 2024 19:54:19 -0700 Subject: [PATCH 207/244] Set explicit upstream for check-no-important-files-changed (#228) --- .github/workflows/no-important-files-changed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml index 812e912..8d6ae7e 100644 --- a/.github/workflows/no-important-files-changed.yml +++ b/.github/workflows/no-important-files-changed.yml @@ -17,7 +17,7 @@ permissions: jobs: check: - uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@main + uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@use-explicit-upstream with: repository: ${{ github.event.pull_request.head.repo.owner.login }}/${{ github.event.pull_request.head.repo.name }} ref: ${{ github.head_ref }} From 83435b34109504096fd07e3ec068099e6e23a45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 16 Oct 2024 20:07:00 -0700 Subject: [PATCH 208/244] Test of no important changes (#230) --- .../protein-translation/protein-translation-test.arr | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index efbe2db..f56ca5a 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -228,3 +228,9 @@ data TestRun: test(run, active) end test(incomplete-sequence, false), test(incomplete-sequence-with-stop, false) ].each(lam(t): when t.active: t.run() end end) + +fun ignore-this-trying-to-trigger-important-files(): + check "Incomplete RNA sequence can translate if valid until a STOP codon": + proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] + end +end From c40ed3966ca5822e1a399c705c6a78d480e51f83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 07:47:30 -0700 Subject: [PATCH 209/244] Bump actions/setup-node from 4.0.4 to 4.1.0 (#232) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/0a44ba7841725637a19e28fa30b79a866c81b0a6...39370e3970a6d050c480ffad4ff0ed4d3fdee5af) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a8c13a0..ab06818 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - name: Setup Node.js - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af with: node-version: 'node' From 2f3556a145f4e8b5bc275b7131c88f4a7271d5f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 07:48:26 -0700 Subject: [PATCH 210/244] Bump actions/checkout from 4.2.0 to 4.2.2 (#233) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/d632683dd7b4114ad314bca15554477dd762a938...11bd71901bbe5b1630ceea73d27597364c9af683) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab06818..9696a20 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Setup Node.js uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af From 2c9472d7a480643e41f0b49831138e715985e94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 6 Nov 2024 22:33:14 -0800 Subject: [PATCH 211/244] Sync docs (#234) --- exercises/practice/hamming/.meta/config.json | 2 +- exercises/practice/rna-transcription/.docs/instructions.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/exercises/practice/hamming/.meta/config.json b/exercises/practice/hamming/.meta/config.json index 2289e63..fc9cf0f 100644 --- a/exercises/practice/hamming/.meta/config.json +++ b/exercises/practice/hamming/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Calculate the Hamming difference between two DNA strands.", + "blurb": "Calculate the Hamming distance between two DNA strands.", "source": "The Calculating Point Mutations problem at Rosalind", "source_url": "https://rosalind.info/problems/hamm/" } diff --git a/exercises/practice/rna-transcription/.docs/instructions.md b/exercises/practice/rna-transcription/.docs/instructions.md index 36da381..4dbfd3a 100644 --- a/exercises/practice/rna-transcription/.docs/instructions.md +++ b/exercises/practice/rna-transcription/.docs/instructions.md @@ -1,12 +1,12 @@ # Instructions -Your task is determine the RNA complement of a given DNA sequence. +Your task is to determine the RNA complement of a given DNA sequence. Both DNA and RNA strands are a sequence of nucleotides. -The four nucleotides found in DNA are adenine (**A**), cytosine (**C**), guanine (**G**) and thymine (**T**). +The four nucleotides found in DNA are adenine (**A**), cytosine (**C**), guanine (**G**), and thymine (**T**). -The four nucleotides found in RNA are adenine (**A**), cytosine (**C**), guanine (**G**) and uracil (**U**). +The four nucleotides found in RNA are adenine (**A**), cytosine (**C**), guanine (**G**), and uracil (**U**). Given a DNA strand, its transcribed RNA strand is formed by replacing each nucleotide with its complement: From b46bf4fc7fa5702e1e292dedc9cf7214c49b8c34 Mon Sep 17 00:00:00 2001 From: Isaac Good Date: Wed, 15 Jan 2025 14:47:40 -0800 Subject: [PATCH 212/244] Add `anagram` append with instructions about the order of the return values (#235) --- exercises/practice/anagram/.docs/instructions.append.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 exercises/practice/anagram/.docs/instructions.append.md diff --git a/exercises/practice/anagram/.docs/instructions.append.md b/exercises/practice/anagram/.docs/instructions.append.md new file mode 100644 index 0000000..2b17bb7 --- /dev/null +++ b/exercises/practice/anagram/.docs/instructions.append.md @@ -0,0 +1,3 @@ +# Instructions Append + +You must return the anagrams in the same order as they are listed in the candidate words. From 9d7168026fba9682e11c744a59aefc2fcc9ccbbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 07:02:56 -0800 Subject: [PATCH 213/244] Bump actions/setup-node from 4.1.0 to 4.2.0 (#236) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/39370e3970a6d050c480ffad4ff0ed4d3fdee5af...1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9696a20..364a554 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Setup Node.js - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a with: node-version: 'node' From e6397ddd3b5b863926e7c179e878f427dcb793a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 22 Mar 2025 11:18:30 -0700 Subject: [PATCH 214/244] Sync docs and metadata (#237) --- .../practice/anagram/.docs/instructions.md | 11 ++- .../atbash-cipher/.docs/instructions.md | 2 +- .../practice/atbash-cipher/.meta/config.json | 2 +- .../collatz-conjecture/.docs/instructions.md | 28 +------ .../collatz-conjecture/.docs/introduction.md | 28 +++++++ .../collatz-conjecture/.meta/config.json | 4 +- .../eliuds-eggs/.docs/introduction.md | 48 ++++++++---- .../flatten-array/.docs/instructions.md | 15 ++-- .../flatten-array/.docs/introduction.md | 7 ++ .../practice/grains/.docs/instructions.md | 14 ++-- .../practice/grains/.docs/introduction.md | 6 ++ exercises/practice/grains/.meta/config.json | 2 +- .../practice/hamming/.docs/instructions.md | 11 --- .../practice/hamming/.docs/introduction.md | 12 +++ exercises/practice/leap/.meta/config.json | 2 +- exercises/practice/luhn/.docs/instructions.md | 8 +- exercises/practice/luhn/.docs/introduction.md | 11 +++ .../phone-number/.docs/introduction.md | 12 +++ .../protein-translation/.docs/instructions.md | 8 +- .../rna-transcription/.meta/config.json | 2 +- .../practice/sieve/.docs/instructions.md | 75 +++++++++++++++++-- .../square-root/.docs/instructions.md | 17 +++-- .../square-root/.docs/introduction.md | 10 +++ 23 files changed, 232 insertions(+), 103 deletions(-) create mode 100644 exercises/practice/collatz-conjecture/.docs/introduction.md create mode 100644 exercises/practice/flatten-array/.docs/introduction.md create mode 100644 exercises/practice/grains/.docs/introduction.md create mode 100644 exercises/practice/hamming/.docs/introduction.md create mode 100644 exercises/practice/luhn/.docs/introduction.md create mode 100644 exercises/practice/phone-number/.docs/introduction.md create mode 100644 exercises/practice/square-root/.docs/introduction.md diff --git a/exercises/practice/anagram/.docs/instructions.md b/exercises/practice/anagram/.docs/instructions.md index a729848..dca24f5 100644 --- a/exercises/practice/anagram/.docs/instructions.md +++ b/exercises/practice/anagram/.docs/instructions.md @@ -1,13 +1,12 @@ # Instructions -Your task is to, given a target word and a set of candidate words, to find the subset of the candidates that are anagrams of the target. +Given a target word and one or more candidate words, your task is to find the candidates that are anagrams of the target. An anagram is a rearrangement of letters to form a new word: for example `"owns"` is an anagram of `"snow"`. A word is _not_ its own anagram: for example, `"stop"` is not an anagram of `"stop"`. -The target and candidates are words of one or more ASCII alphabetic characters (`A`-`Z` and `a`-`z`). -Lowercase and uppercase characters are equivalent: for example, `"PoTS"` is an anagram of `"sTOp"`, but `StoP` is not an anagram of `sTOp`. -The anagram set is the subset of the candidate set that are anagrams of the target (in any order). -Words in the anagram set should have the same letter case as in the candidate set. +The target word and candidate words are made up of one or more ASCII alphabetic characters (`A`-`Z` and `a`-`z`). +Lowercase and uppercase characters are equivalent: for example, `"PoTS"` is an anagram of `"sTOp"`, but `"StoP"` is not an anagram of `"sTOp"`. +The words you need to find should be taken from the candidate words, using the same letter case. -Given the target `"stone"` and candidates `"stone"`, `"tones"`, `"banana"`, `"tons"`, `"notes"`, `"Seton"`, the anagram set is `"tones"`, `"notes"`, `"Seton"`. +Given the target `"stone"` and the candidate words `"stone"`, `"tones"`, `"banana"`, `"tons"`, `"notes"`, and `"Seton"`, the anagram words you need to find are `"tones"`, `"notes"`, and `"Seton"`. diff --git a/exercises/practice/atbash-cipher/.docs/instructions.md b/exercises/practice/atbash-cipher/.docs/instructions.md index 21ca2ce..1e7627b 100644 --- a/exercises/practice/atbash-cipher/.docs/instructions.md +++ b/exercises/practice/atbash-cipher/.docs/instructions.md @@ -1,6 +1,6 @@ # Instructions -Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East. +Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East. The Atbash cipher is a simple substitution cipher that relies on transposing all the letters in the alphabet such that the resulting alphabet is backwards. The first letter is replaced with the last letter, the second with the second-last, and so on. diff --git a/exercises/practice/atbash-cipher/.meta/config.json b/exercises/practice/atbash-cipher/.meta/config.json index 246b368..4d8366a 100644 --- a/exercises/practice/atbash-cipher/.meta/config.json +++ b/exercises/practice/atbash-cipher/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.", + "blurb": "Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.", "source": "Wikipedia", "source_url": "https://en.wikipedia.org/wiki/Atbash" } diff --git a/exercises/practice/collatz-conjecture/.docs/instructions.md b/exercises/practice/collatz-conjecture/.docs/instructions.md index ba06048..af332a8 100644 --- a/exercises/practice/collatz-conjecture/.docs/instructions.md +++ b/exercises/practice/collatz-conjecture/.docs/instructions.md @@ -1,29 +1,3 @@ # Instructions -The Collatz Conjecture or 3x+1 problem can be summarized as follows: - -Take any positive integer n. -If n is even, divide n by 2 to get n / 2. -If n is odd, multiply n by 3 and add 1 to get 3n + 1. -Repeat the process indefinitely. -The conjecture states that no matter which number you start with, you will always reach 1 eventually. - -Given a number n, return the number of steps required to reach 1. - -## Examples - -Starting with n = 12, the steps would be as follows: - -0. 12 -1. 6 -2. 3 -3. 10 -4. 5 -5. 16 -6. 8 -7. 4 -8. 2 -9. 1 - -Resulting in 9 steps. -So for input n = 12, the return value would be 9. +Given a positive integer, return the number of steps it takes to reach 1 according to the rules of the Collatz Conjecture. diff --git a/exercises/practice/collatz-conjecture/.docs/introduction.md b/exercises/practice/collatz-conjecture/.docs/introduction.md new file mode 100644 index 0000000..c35bdeb --- /dev/null +++ b/exercises/practice/collatz-conjecture/.docs/introduction.md @@ -0,0 +1,28 @@ +# Introduction + +One evening, you stumbled upon an old notebook filled with cryptic scribbles, as though someone had been obsessively chasing an idea. +On one page, a single question stood out: **Can every number find its way to 1?** +It was tied to something called the **Collatz Conjecture**, a puzzle that has baffled thinkers for decades. + +The rules were deceptively simple. +Pick any positive integer. + +- If it's even, divide it by 2. +- If it's odd, multiply it by 3 and add 1. + +Then, repeat these steps with the result, continuing indefinitely. + +Curious, you picked number 12 to test and began the journey: + +12 ➜ 6 ➜ 3 ➜ 10 ➜ 5 ➜ 16 ➜ 8 ➜ 4 ➜ 2 ➜ 1 + +Counting from the second number (6), it took 9 steps to reach 1, and each time the rules repeated, the number kept changing. +At first, the sequence seemed unpredictable — jumping up, down, and all over. +Yet, the conjecture claims that no matter the starting number, we'll always end at 1. + +It was fascinating, but also puzzling. +Why does this always seem to work? +Could there be a number where the process breaks down, looping forever or escaping into infinity? +The notebook suggested solving this could reveal something profound — and with it, fame, [fortune][collatz-prize], and a place in history awaits whoever could unlock its secrets. + +[collatz-prize]: https://mathprize.net/posts/collatz-conjecture/ diff --git a/exercises/practice/collatz-conjecture/.meta/config.json b/exercises/practice/collatz-conjecture/.meta/config.json index 5fd176f..dedcf9e 100644 --- a/exercises/practice/collatz-conjecture/.meta/config.json +++ b/exercises/practice/collatz-conjecture/.meta/config.json @@ -14,6 +14,6 @@ ] }, "blurb": "Calculate the number of steps to reach 1 using the Collatz conjecture.", - "source": "An unsolved problem in mathematics named after mathematician Lothar Collatz", - "source_url": "https://en.wikipedia.org/wiki/3x_%2B_1_problem" + "source": "Wikipedia", + "source_url": "https://en.wikipedia.org/wiki/Collatz_conjecture" } diff --git a/exercises/practice/eliuds-eggs/.docs/introduction.md b/exercises/practice/eliuds-eggs/.docs/introduction.md index 49eaffd..8198974 100644 --- a/exercises/practice/eliuds-eggs/.docs/introduction.md +++ b/exercises/practice/eliuds-eggs/.docs/introduction.md @@ -12,36 +12,54 @@ The position information encoding is calculated as follows: 2. Convert the number from binary to decimal. 3. Show the result on the display. -Example 1: +## Example 1 + +![Seven individual nest boxes arranged in a row whose first, third, fourth and seventh nests each have a single egg.](https://assets.exercism.org/images/exercises/eliuds-eggs/example-1-coop.svg) ```text -Chicken Coop: _ _ _ _ _ _ _ |E| |E|E| | |E| +``` + +### Resulting Binary + +![1011001](https://assets.exercism.org/images/exercises/eliuds-eggs/example-1-binary.svg) + +```text + _ _ _ _ _ _ _ +|1|0|1|1|0|0|1| +``` -Resulting Binary: - 1 0 1 1 0 0 1 +### Decimal number on the display -Decimal number on the display: 89 -Actual eggs in the coop: +### Actual eggs in the coop + 4 + +## Example 2 + +![Seven individual nest boxes arranged in a row where only the fourth nest has an egg.](https://assets.exercism.org/images/exercises/eliuds-eggs/example-2-coop.svg) + +```text + _ _ _ _ _ _ _ +| | | |E| | | | ``` -Example 2: +### Resulting Binary + +![0001000](https://assets.exercism.org/images/exercises/eliuds-eggs/example-2-binary.svg) ```text -Chicken Coop: - _ _ _ _ _ _ _ _ -| | | |E| | | | | + _ _ _ _ _ _ _ +|0|0|0|1|0|0|0| +``` -Resulting Binary: - 0 0 0 1 0 0 0 0 +### Decimal number on the display -Decimal number on the display: 16 -Actual eggs in the coop: +### Actual eggs in the coop + 1 -``` diff --git a/exercises/practice/flatten-array/.docs/instructions.md b/exercises/practice/flatten-array/.docs/instructions.md index 89dacfa..b5b8271 100644 --- a/exercises/practice/flatten-array/.docs/instructions.md +++ b/exercises/practice/flatten-array/.docs/instructions.md @@ -1,11 +1,16 @@ # Instructions -Take a nested list and return a single flattened list with all values except nil/null. +Take a nested array of any depth and return a fully flattened array. -The challenge is to take an arbitrarily-deep nested list-like structure and produce a flattened structure without any nil/null values. +Note that some language tracks may include null-like values in the input array, and the way these values are represented varies by track. +Such values should be excluded from the flattened array. -For example: +Additionally, the input may be of a different data type and contain different types, depending on the track. -input: [1,[2,3,null,4],[null],5] +Check the test suite for details. -output: [1,2,3,4,5] +## Example + +input: `[1, [2, 6, null], [[null, [4]], 5]]` + +output: `[1, 2, 6, 4, 5]` diff --git a/exercises/practice/flatten-array/.docs/introduction.md b/exercises/practice/flatten-array/.docs/introduction.md new file mode 100644 index 0000000..a314857 --- /dev/null +++ b/exercises/practice/flatten-array/.docs/introduction.md @@ -0,0 +1,7 @@ +# Introduction + +A shipment of emergency supplies has arrived, but there's a problem. +To protect from damage, the items — flashlights, first-aid kits, blankets — are packed inside boxes, and some of those boxes are nested several layers deep inside other boxes! + +To be prepared for an emergency, everything must be easily accessible in one box. +Can you unpack all the supplies and place them into a single box, so they're ready when needed most? diff --git a/exercises/practice/grains/.docs/instructions.md b/exercises/practice/grains/.docs/instructions.md index df479fc..f5b752a 100644 --- a/exercises/practice/grains/.docs/instructions.md +++ b/exercises/practice/grains/.docs/instructions.md @@ -1,15 +1,11 @@ # Instructions -Calculate the number of grains of wheat on a chessboard given that the number on each square doubles. +Calculate the number of grains of wheat on a chessboard. -There once was a wise servant who saved the life of a prince. -The king promised to pay whatever the servant could dream up. -Knowing that the king loved chess, the servant told the king he would like to have grains of wheat. -One grain on the first square of a chess board, with the number of grains doubling on each successive square. +A chessboard has 64 squares. +Square 1 has one grain, square 2 has two grains, square 3 has four grains, and so on, doubling each time. -There are 64 squares on a chessboard (where square 1 has one grain, square 2 has two grains, and so on). +Write code that calculates: -Write code that shows: - -- how many grains were on a given square, and +- the number of grains on a given square - the total number of grains on the chessboard diff --git a/exercises/practice/grains/.docs/introduction.md b/exercises/practice/grains/.docs/introduction.md new file mode 100644 index 0000000..0df4f46 --- /dev/null +++ b/exercises/practice/grains/.docs/introduction.md @@ -0,0 +1,6 @@ +# Introduction + +There once was a wise servant who saved the life of a prince. +The king promised to pay whatever the servant could dream up. +Knowing that the king loved chess, the servant told the king he would like to have grains of wheat. +One grain on the first square of a chessboard, with the number of grains doubling on each successive square. diff --git a/exercises/practice/grains/.meta/config.json b/exercises/practice/grains/.meta/config.json index fc91603..9d35c41 100644 --- a/exercises/practice/grains/.meta/config.json +++ b/exercises/practice/grains/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.", "source": "The CodeRanch Cattle Drive, Assignment 6", - "source_url": "https://coderanch.com/wiki/718824/Grains" + "source_url": "https://web.archive.org/web/20240908084142/https://coderanch.com/wiki/718824/Grains" } diff --git a/exercises/practice/hamming/.docs/instructions.md b/exercises/practice/hamming/.docs/instructions.md index b9ae6ef..8f47a17 100644 --- a/exercises/practice/hamming/.docs/instructions.md +++ b/exercises/practice/hamming/.docs/instructions.md @@ -2,15 +2,6 @@ Calculate the Hamming distance between two DNA strands. -Your body is made up of cells that contain DNA. -Those cells regularly wear out and need replacing, which they achieve by dividing into daughter cells. -In fact, the average human body experiences about 10 quadrillion cell divisions in a lifetime! - -When cells divide, their DNA replicates too. -Sometimes during this process mistakes happen and single pieces of DNA get encoded with the incorrect information. -If we compare two strands of DNA and count the differences between them we can see how many mistakes occurred. -This is known as the "Hamming distance". - We read DNA using the letters C, A, G and T. Two strands might look like this: @@ -20,8 +11,6 @@ Two strands might look like this: They have 7 differences, and therefore the Hamming distance is 7. -The Hamming distance is useful for lots of things in science, not just biology, so it's a nice phrase to be familiar with :) - ## Implementation notes The Hamming distance is only defined for sequences of equal length, so an attempt to calculate it between sequences of different lengths should not work. diff --git a/exercises/practice/hamming/.docs/introduction.md b/exercises/practice/hamming/.docs/introduction.md new file mode 100644 index 0000000..8419bf4 --- /dev/null +++ b/exercises/practice/hamming/.docs/introduction.md @@ -0,0 +1,12 @@ +# Introduction + +Your body is made up of cells that contain DNA. +Those cells regularly wear out and need replacing, which they achieve by dividing into daughter cells. +In fact, the average human body experiences about 10 quadrillion cell divisions in a lifetime! + +When cells divide, their DNA replicates too. +Sometimes during this process mistakes happen and single pieces of DNA get encoded with the incorrect information. +If we compare two strands of DNA and count the differences between them, we can see how many mistakes occurred. +This is known as the "Hamming distance". + +The Hamming distance is useful in many areas of science, not just biology, so it's a nice phrase to be familiar with :) diff --git a/exercises/practice/leap/.meta/config.json b/exercises/practice/leap/.meta/config.json index a6da511..828a240 100644 --- a/exercises/practice/leap/.meta/config.json +++ b/exercises/practice/leap/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Determine whether a given year is a leap year.", "source": "CodeRanch Cattle Drive, Assignment 3", - "source_url": "https://coderanch.com/t/718816/Leap" + "source_url": "https://web.archive.org/web/20240907033714/https://coderanch.com/t/718816/Leap" } diff --git a/exercises/practice/luhn/.docs/instructions.md b/exercises/practice/luhn/.docs/instructions.md index 49934c1..5bbf007 100644 --- a/exercises/practice/luhn/.docs/instructions.md +++ b/exercises/practice/luhn/.docs/instructions.md @@ -1,12 +1,10 @@ # Instructions -Given a number determine whether or not it is valid per the Luhn formula. +Determine whether a credit card number is valid according to the [Luhn formula][luhn]. -The [Luhn algorithm][luhn] is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers and Canadian Social Insurance Numbers. +The number will be provided as a string. -The task is to check if a given string is valid. - -## Validating a Number +## Validating a number Strings of length 1 or less are not valid. Spaces are allowed in the input, but they should be stripped before checking. diff --git a/exercises/practice/luhn/.docs/introduction.md b/exercises/practice/luhn/.docs/introduction.md new file mode 100644 index 0000000..ec2bd70 --- /dev/null +++ b/exercises/practice/luhn/.docs/introduction.md @@ -0,0 +1,11 @@ +# Introduction + +At the Global Verification Authority, you've just been entrusted with a critical assignment. +Across the city, from online purchases to secure logins, countless operations rely on the accuracy of numerical identifiers like credit card numbers, bank account numbers, transaction codes, and tracking IDs. +The Luhn algorithm is a simple checksum formula used to ensure these numbers are valid and error-free. + +A batch of identifiers has just arrived on your desk. +All of them must pass the Luhn test to ensure they're legitimate. +If any fail, they'll be flagged as invalid, preventing errors or fraud, such as incorrect transactions or unauthorized access. + +Can you ensure this is done right? The integrity of many services depends on you. diff --git a/exercises/practice/phone-number/.docs/introduction.md b/exercises/practice/phone-number/.docs/introduction.md new file mode 100644 index 0000000..c4142c5 --- /dev/null +++ b/exercises/practice/phone-number/.docs/introduction.md @@ -0,0 +1,12 @@ +# Introduction + +You've joined LinkLine, a leading communications company working to ensure reliable connections for everyone. +The team faces a big challenge: users submit phone numbers in all sorts of formats — dashes, spaces, dots, parentheses, and even prefixes. +Some numbers are valid, while others are impossible to use. + +Your mission is to turn this chaos into order. +You'll clean up valid numbers, formatting them appropriately for use in the system. +At the same time, you'll identify and filter out any invalid entries. + +The success of LinkLine's operations depends on your ability to separate the useful from the unusable. +Are you ready to take on the challenge and keep the connections running smoothly? diff --git a/exercises/practice/protein-translation/.docs/instructions.md b/exercises/practice/protein-translation/.docs/instructions.md index 7dc34d2..4488080 100644 --- a/exercises/practice/protein-translation/.docs/instructions.md +++ b/exercises/practice/protein-translation/.docs/instructions.md @@ -2,12 +2,12 @@ Translate RNA sequences into proteins. -RNA can be broken into three nucleotide sequences called codons, and then translated to a polypeptide like so: +RNA can be broken into three-nucleotide sequences called codons, and then translated to a protein like so: RNA: `"AUGUUUUCU"` => translates to Codons: `"AUG", "UUU", "UCU"` -=> which become a polypeptide with the following sequence => +=> which become a protein with the following sequence => Protein: `"Methionine", "Phenylalanine", "Serine"` @@ -27,9 +27,9 @@ Protein: `"Methionine", "Phenylalanine", "Serine"` Note the stop codon `"UAA"` terminates the translation and the final methionine is not translated into the protein sequence. -Below are the codons and resulting Amino Acids needed for the exercise. +Below are the codons and resulting amino acids needed for the exercise. -| Codon | Protein | +| Codon | Amino Acid | | :----------------- | :------------ | | AUG | Methionine | | UUU, UUC | Phenylalanine | diff --git a/exercises/practice/rna-transcription/.meta/config.json b/exercises/practice/rna-transcription/.meta/config.json index 1cd52e7..4497034 100644 --- a/exercises/practice/rna-transcription/.meta/config.json +++ b/exercises/practice/rna-transcription/.meta/config.json @@ -13,7 +13,7 @@ ".meta/example.arr" ] }, - "blurb": "Given a DNA strand, return its RNA Complement Transcription.", + "blurb": "Given a DNA strand, return its RNA complement.", "source": "Hyperphysics", "source_url": "https://web.archive.org/web/20220408112140/http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html" } diff --git a/exercises/practice/sieve/.docs/instructions.md b/exercises/practice/sieve/.docs/instructions.md index 085c0a5..71292e1 100644 --- a/exercises/practice/sieve/.docs/instructions.md +++ b/exercises/practice/sieve/.docs/instructions.md @@ -6,37 +6,96 @@ A prime number is a number larger than 1 that is only divisible by 1 and itself. For example, 2, 3, 5, 7, 11, and 13 are prime numbers. By contrast, 6 is _not_ a prime number as it not only divisible by 1 and itself, but also by 2 and 3. -To use the Sieve of Eratosthenes, you first create a list of all the numbers between 2 and your given number. -Then you repeat the following steps: +To use the Sieve of Eratosthenes, first, write out all the numbers from 2 up to and including your given number. +Then, follow these steps: -1. Find the next unmarked number in your list (skipping over marked numbers). +1. Find the next unmarked number (skipping over marked numbers). This is a prime number. 2. Mark all the multiples of that prime number as **not** prime. -You keep repeating these steps until you've gone through every number in your list. +Repeat the steps until you've gone through every number. At the end, all the unmarked numbers are prime. ~~~~exercism/note -The tests don't check that you've implemented the algorithm, only that you've come up with the correct list of primes. -To check you are implementing the Sieve correctly, a good first test is to check that you do not use division or remainder operations. +The Sieve of Eratosthenes marks off multiples of each prime using addition (repeatedly adding the prime) or multiplication (directly computing its multiples), rather than checking each number for divisibility. + +The tests don't check that you've implemented the algorithm, only that you've come up with the correct primes. ~~~~ ## Example Let's say you're finding the primes less than or equal to 10. -- List out 2, 3, 4, 5, 6, 7, 8, 9, 10, leaving them all unmarked. +- Write out 2, 3, 4, 5, 6, 7, 8, 9, 10, leaving them all unmarked. + + ```text + 2 3 4 5 6 7 8 9 10 + ``` + - 2 is unmarked and is therefore a prime. Mark 4, 6, 8 and 10 as "not prime". + + ```text + 2 3 [4] 5 [6] 7 [8] 9 [10] + ↑ + ``` + - 3 is unmarked and is therefore a prime. Mark 6 and 9 as not prime _(marking 6 is optional - as it's already been marked)_. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 4 is marked as "not prime", so we skip over it. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 5 is unmarked and is therefore a prime. Mark 10 as not prime _(optional - as it's already been marked)_. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 6 is marked as "not prime", so we skip over it. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 7 is unmarked and is therefore a prime. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 8 is marked as "not prime", so we skip over it. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 9 is marked as "not prime", so we skip over it. + + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + - 10 is marked as "not prime", so we stop as there are no more numbers to check. -You've examined all numbers and found 2, 3, 5, and 7 are still unmarked, which means they're the primes less than or equal to 10. + ```text + 2 3 [4] 5 [6] 7 [8] [9] [10] + ↑ + ``` + +You've examined all the numbers and found that 2, 3, 5, and 7 are still unmarked, meaning they're the primes less than or equal to 10. diff --git a/exercises/practice/square-root/.docs/instructions.md b/exercises/practice/square-root/.docs/instructions.md index e9905e9..d258b86 100644 --- a/exercises/practice/square-root/.docs/instructions.md +++ b/exercises/practice/square-root/.docs/instructions.md @@ -1,13 +1,18 @@ # Instructions -Given a natural radicand, return its square root. +Your task is to calculate the square root of a given number. -Note that the term "radicand" refers to the number for which the root is to be determined. -That is, it is the number under the root symbol. +- Try to avoid using the pre-existing math libraries of your language. +- As input you'll be given a positive whole number, i.e. 1, 2, 3, 4… +- You are only required to handle cases where the result is a positive whole number. -Check out the Wikipedia pages on [square root][square-root] and [methods of computing square roots][computing-square-roots]. +Some potential approaches: -Recall also that natural numbers are positive real whole numbers (i.e. 1, 2, 3 and up). +- Linear or binary search for a number that gives the input number when squared. +- Successive approximation using Newton's or Heron's method. +- Calculating one digit at a time or one bit at a time. -[square-root]: https://en.wikipedia.org/wiki/Square_root +You can check out the Wikipedia pages on [integer square root][integer-square-root] and [methods of computing square roots][computing-square-roots] to help with choosing a method of calculation. + +[integer-square-root]: https://en.wikipedia.org/wiki/Integer_square_root [computing-square-roots]: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots diff --git a/exercises/practice/square-root/.docs/introduction.md b/exercises/practice/square-root/.docs/introduction.md new file mode 100644 index 0000000..1d69293 --- /dev/null +++ b/exercises/practice/square-root/.docs/introduction.md @@ -0,0 +1,10 @@ +# Introduction + +We are launching a deep space exploration rocket and we need a way to make sure the navigation system stays on target. + +As the first step in our calculation, we take a target number and find its square root (that is, the number that when multiplied by itself equals the target number). + +The journey will be very long. +To make the batteries last as long as possible, we had to make our rocket's onboard computer very power efficient. +Unfortunately that means that we can't rely on fancy math libraries and functions, as they use more power. +Instead we want to implement our own square root calculation. From 215c2503c40b86738a621df956fe144023996ffa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 07:06:14 -0700 Subject: [PATCH 215/244] Bump actions/setup-node from 4.2.0 to 4.3.0 (#238) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.2.0 to 4.3.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a...cdca7365b2dadb8aad0a33bc7601856ffabcc48e) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 364a554..570d351 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Setup Node.js - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a + uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e with: node-version: 'node' From cb9a2313f11ed60a57aaea31b0e0a75fdc2d5f62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 10:13:11 -0400 Subject: [PATCH 216/244] Bump actions/setup-node from 4.3.0 to 4.4.0 (#239) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.3.0 to 4.4.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/cdca7365b2dadb8aad0a33bc7601856ffabcc48e...49933ea5288caeca8642d1e84afbd3f7d6820020) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 570d351..e99f39d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Setup Node.js - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: node-version: 'node' From f8c49fbc0600e5cb09fa81f25f8a504c727f7a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 7 Jun 2025 21:44:57 -0700 Subject: [PATCH 217/244] Sync problem specs (#240) [no important files changed] --- .../eliuds-eggs/.docs/introduction.md | 2 +- .../practice/flatten-array/.meta/tests.toml | 20 +++++++++ .../flatten-array/flatten-array-test.arr | 24 +++++----- exercises/practice/luhn/.docs/instructions.md | 45 ++++++++++--------- exercises/practice/luhn/.docs/introduction.md | 4 +- .../phone-number/.docs/instructions.md | 2 +- 6 files changed, 61 insertions(+), 36 deletions(-) diff --git a/exercises/practice/eliuds-eggs/.docs/introduction.md b/exercises/practice/eliuds-eggs/.docs/introduction.md index 8198974..2b2e5c4 100644 --- a/exercises/practice/eliuds-eggs/.docs/introduction.md +++ b/exercises/practice/eliuds-eggs/.docs/introduction.md @@ -58,7 +58,7 @@ The position information encoding is calculated as follows: ### Decimal number on the display -16 +8 ### Actual eggs in the coop diff --git a/exercises/practice/flatten-array/.meta/tests.toml b/exercises/practice/flatten-array/.meta/tests.toml index 6300219..44acf17 100644 --- a/exercises/practice/flatten-array/.meta/tests.toml +++ b/exercises/practice/flatten-array/.meta/tests.toml @@ -32,12 +32,32 @@ description = "null values are omitted from the final result" [c6cf26de-8ccd-4410-84bd-b9efd88fd2bc] description = "consecutive null values at the front of the list are omitted from the final result" +include = false + +[bc72da10-5f55-4ada-baf3-50e4da02ec8e] +description = "consecutive null values at the front of the array are omitted from the final result" +reimplements = "c6cf26de-8ccd-4410-84bd-b9efd88fd2bc" [382c5242-587e-4577-b8ce-a5fb51e385a1] description = "consecutive null values in the middle of the list are omitted from the final result" +include = false + +[6991836d-0d9b-4703-80a0-3f1f23eb5981] +description = "consecutive null values in the middle of the array are omitted from the final result" +reimplements = "382c5242-587e-4577-b8ce-a5fb51e385a1" [ef1d4790-1b1e-4939-a179-51ace0829dbd] description = "6 level nest list with null values" +include = false + +[dc90a09c-5376-449c-a7b3-c2d20d540069] +description = "6 level nested array with null values" +reimplements = "ef1d4790-1b1e-4939-a179-51ace0829dbd" [85721643-705a-4150-93ab-7ae398e2942d] description = "all values in nested list are null" +include = false + +[51f5d9af-8f7f-4fb5-a156-69e8282cb275] +description = "all values in nested array are null" +reimplements = "85721643-705a-4150-93ab-7ae398e2942d" diff --git a/exercises/practice/flatten-array/flatten-array-test.arr b/exercises/practice/flatten-array/flatten-array-test.arr index c5590c3..cd32767 100644 --- a/exercises/practice/flatten-array/flatten-array-test.arr +++ b/exercises/practice/flatten-array/flatten-array-test.arr @@ -8,7 +8,7 @@ include file("flatten-array.arr") Check the block comment below for further details. |# -fun empty-list(): +fun empty-array(): check "empty": input = [list: ] @@ -28,8 +28,8 @@ fun no-nesting(): end end -fun nested-list(): - check "flattens a nested list": +fun nested-array(): + check "flattens a nested array": input = [list: [list: ]] expected = [list: ] @@ -38,8 +38,8 @@ fun nested-list(): end end -fun numeric-list(): - check "flattens list with just integers present": +fun numeric-array(): + check "flattens array with just integers present": input = [list: 1, [list: 2, 3, 4, 5, 6, 7], 8] expected = [list: 1, 2, 3, 4, 5, 6, 7, 8] @@ -117,7 +117,7 @@ fun omit-a-nothing(): end fun omit-nothings-from-beginning(): - check "consecutive nothing values at the front of the list are omitted from the final result": + check "consecutive nothing values at the front of the array are omitted from the final result": input = [list: nothing, nothing, 3] expected = [list: 3] @@ -127,7 +127,7 @@ fun omit-nothings-from-beginning(): end fun omit-nothings-from-middle(): - check "consecutive nothing values in the middle of the list are omitted from the final result": + check "consecutive nothing values in the middle of the array are omitted from the final result": input = [list: 1, nothing, nothing, 4] expected = [list: 1, 4] @@ -137,7 +137,7 @@ fun omit-nothings-from-middle(): end fun six-levels-with-nothings(): - check "6 level nest list with nothing values": + check "6 level nest array with nothing values": input = [list: 0, 2, @@ -163,7 +163,7 @@ fun six-levels-with-nothings(): end fun all-nothings(): - check "all values in nested list are nothing": + check "all values in nested array are nothing": input = [list: nothing, [list: @@ -193,10 +193,10 @@ end data TestRun: test(run, active) end [list: - test(empty-list, true), + test(empty-array, true), test(no-nesting, false), - test(nested-list, false), - test(numeric-list, false), + test(nested-array, false), + test(numeric-array, false), test(five-levels, false), test(six-levels, false), test(omit-a-nothing, false), diff --git a/exercises/practice/luhn/.docs/instructions.md b/exercises/practice/luhn/.docs/instructions.md index 5bbf007..df2e304 100644 --- a/exercises/practice/luhn/.docs/instructions.md +++ b/exercises/practice/luhn/.docs/instructions.md @@ -1,6 +1,6 @@ # Instructions -Determine whether a credit card number is valid according to the [Luhn formula][luhn]. +Determine whether a number is valid according to the [Luhn formula][luhn]. The number will be provided as a string. @@ -10,54 +10,59 @@ Strings of length 1 or less are not valid. Spaces are allowed in the input, but they should be stripped before checking. All other non-digit characters are disallowed. -### Example 1: valid credit card number +## Examples -```text -4539 3195 0343 6467 -``` +### Valid credit card number -The first step of the Luhn algorithm is to double every second digit, starting from the right. -We will be doubling +The number to be checked is `4539 3195 0343 6467`. + +The first step of the Luhn algorithm is to start at the end of the number and double every second digit, beginning with the second digit from the right and moving left. ```text 4539 3195 0343 6467 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ (double these) ``` -If doubling the number results in a number greater than 9 then subtract 9 from the product. -The results of our doubling: +If the result of doubling a digit is greater than 9, we subtract 9 from that result. +We end up with: ```text 8569 6195 0383 3437 ``` -Then sum all of the digits: +Finally, we sum all digits. +If the sum is evenly divisible by 10, the original number is valid. ```text -8+5+6+9+6+1+9+5+0+3+8+3+3+4+3+7 = 80 +8 + 5 + 6 + 9 + 6 + 1 + 9 + 5 + 0 + 3 + 8 + 3 + 3 + 4 + 3 + 7 = 80 ``` -If the sum is evenly divisible by 10, then the number is valid. -This number is valid! +80 is evenly divisible by 10, so number `4539 3195 0343 6467` is valid! + +### Invalid Canadian SIN + +The number to be checked is `066 123 468`. -### Example 2: invalid credit card number +We start at the end of the number and double every second digit, beginning with the second digit from the right and moving left. ```text -8273 1232 7352 0569 +066 123 478 + ↑ ↑ ↑ ↑ (double these) ``` -Double the second digits, starting from the right +If the result of doubling a digit is greater than 9, we subtract 9 from that result. +We end up with: ```text -7253 2262 5312 0539 +036 226 458 ``` -Sum the digits +We sum the digits: ```text -7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57 +0 + 3 + 6 + 2 + 2 + 6 + 4 + 5 + 8 = 36 ``` -57 is not evenly divisible by 10, so this number is not valid. +36 is not evenly divisible by 10, so number `066 123 478` is not valid! [luhn]: https://en.wikipedia.org/wiki/Luhn_algorithm diff --git a/exercises/practice/luhn/.docs/introduction.md b/exercises/practice/luhn/.docs/introduction.md index ec2bd70..dee4800 100644 --- a/exercises/practice/luhn/.docs/introduction.md +++ b/exercises/practice/luhn/.docs/introduction.md @@ -2,10 +2,10 @@ At the Global Verification Authority, you've just been entrusted with a critical assignment. Across the city, from online purchases to secure logins, countless operations rely on the accuracy of numerical identifiers like credit card numbers, bank account numbers, transaction codes, and tracking IDs. -The Luhn algorithm is a simple checksum formula used to ensure these numbers are valid and error-free. +The Luhn algorithm is a simple checksum formula used to help identify mistyped numbers. A batch of identifiers has just arrived on your desk. All of them must pass the Luhn test to ensure they're legitimate. -If any fail, they'll be flagged as invalid, preventing errors or fraud, such as incorrect transactions or unauthorized access. +If any fail, they'll be flagged as invalid, preventing mistakes such as incorrect transactions or failed account verifications. Can you ensure this is done right? The integrity of many services depends on you. diff --git a/exercises/practice/phone-number/.docs/instructions.md b/exercises/practice/phone-number/.docs/instructions.md index 62ba48e..5d4d373 100644 --- a/exercises/practice/phone-number/.docs/instructions.md +++ b/exercises/practice/phone-number/.docs/instructions.md @@ -1,6 +1,6 @@ # Instructions -Clean up user-entered phone numbers so that they can be sent SMS messages. +Clean up phone numbers so that they can be sent SMS messages. The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code: `1`. From edee69598e36ff2ad5b96b747ddb1e4e5e557193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:32:12 -0700 Subject: [PATCH 218/244] Update `bob` tests (#241) --- exercises/practice/bob/.meta/tests.toml | 5 +++++ exercises/practice/bob/bob-test.arr | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/exercises/practice/bob/.meta/tests.toml b/exercises/practice/bob/.meta/tests.toml index ea47d6b..5299e28 100644 --- a/exercises/practice/bob/.meta/tests.toml +++ b/exercises/practice/bob/.meta/tests.toml @@ -71,6 +71,7 @@ description = "alternate silence" [66953780-165b-4e7e-8ce3-4bcb80b6385a] description = "multiple line question" +include = false [5371ef75-d9ea-4103-bcfa-2da973ddec1b] description = "starting with whitespace" @@ -83,3 +84,7 @@ description = "other whitespace" [12983553-8601-46a8-92fa-fcaa3bc4a2a0] description = "non-question ending with whitespace" + +[2c7278ac-f955-4eb4-bf8f-e33eb4116a15] +description = "multiple line question" +reimplements = "66953780-165b-4e7e-8ce3-4bcb80b6385a" diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index bbd6031..c847f9d 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -190,8 +190,8 @@ end fun multiple-line-question(): check "multiple line question": - input = "\nDoes this cryogenic chamber make me look fat?\nNo." - expected = "Whatever." + input = "\nDoes this cryogenic chamber make\n me look fat?" + expected = "Sure." response(input) is expected end From e546b8139968a67c2dfcc865e88c724ea0cffe36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:40:28 -0700 Subject: [PATCH 219/244] Update no-important-files-changed.yml (#242) --- .github/workflows/no-important-files-changed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/no-important-files-changed.yml b/.github/workflows/no-important-files-changed.yml index 8d6ae7e..812e912 100644 --- a/.github/workflows/no-important-files-changed.yml +++ b/.github/workflows/no-important-files-changed.yml @@ -17,7 +17,7 @@ permissions: jobs: check: - uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@use-explicit-upstream + uses: exercism/github-actions/.github/workflows/check-no-important-files-changed.yml@main with: repository: ${{ github.event.pull_request.head.repo.owner.login }}/${{ github.event.pull_request.head.repo.name }} ref: ${{ github.head_ref }} From 6410dfb6bcbe96f3bfab91d61564783f29d5533e Mon Sep 17 00:00:00 2001 From: Jagdish Prajapati Date: Tue, 1 Jul 2025 01:01:02 +0530 Subject: [PATCH 220/244] Create run-configlet-sync.yml (#243) --- .github/workflows/run-configlet-sync.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/workflows/run-configlet-sync.yml diff --git a/.github/workflows/run-configlet-sync.yml b/.github/workflows/run-configlet-sync.yml new file mode 100644 index 0000000..b49cbff --- /dev/null +++ b/.github/workflows/run-configlet-sync.yml @@ -0,0 +1,10 @@ +name: Run Configlet Sync + +on: + workflow_dispatch: + schedule: + - cron: '0 0 15 * *' + +jobs: + call-gha-workflow: + uses: exercism/github-actions/.github/workflows/configlet-sync.yml@main From 6d2c447920340423d5bfa1af51b42a3df670aa4b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 17:16:28 -0700 Subject: [PATCH 221/244] =?UTF-8?q?=F0=9F=A4=96=20Auto-sync=20docs,=20meta?= =?UTF-8?q?data,=20and=20filepaths=20(#244)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: BNAndras <20251272+BNAndras@users.noreply.github.com> --- exercises/practice/luhn/.docs/instructions.md | 2 +- .../protein-translation/.docs/instructions.md | 47 ++++++++----------- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/exercises/practice/luhn/.docs/instructions.md b/exercises/practice/luhn/.docs/instructions.md index df2e304..7702c6b 100644 --- a/exercises/practice/luhn/.docs/instructions.md +++ b/exercises/practice/luhn/.docs/instructions.md @@ -41,7 +41,7 @@ If the sum is evenly divisible by 10, the original number is valid. ### Invalid Canadian SIN -The number to be checked is `066 123 468`. +The number to be checked is `066 123 478`. We start at the end of the number and double every second digit, beginning with the second digit from the right and moving left. diff --git a/exercises/practice/protein-translation/.docs/instructions.md b/exercises/practice/protein-translation/.docs/instructions.md index 4488080..35c953b 100644 --- a/exercises/practice/protein-translation/.docs/instructions.md +++ b/exercises/practice/protein-translation/.docs/instructions.md @@ -1,36 +1,17 @@ # Instructions -Translate RNA sequences into proteins. +Your job is to translate RNA sequences into proteins. -RNA can be broken into three-nucleotide sequences called codons, and then translated to a protein like so: +RNA strands are made up of three-nucleotide sequences called **codons**. +Each codon translates to an **amino acid**. +When joined together, those amino acids make a protein. -RNA: `"AUGUUUUCU"` => translates to - -Codons: `"AUG", "UUU", "UCU"` -=> which become a protein with the following sequence => - -Protein: `"Methionine", "Phenylalanine", "Serine"` - -There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. -If it works for one codon, the program should work for all of them. -However, feel free to expand the list in the test suite to include them all. - -There are also three terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated. - -All subsequent codons after are ignored, like this: - -RNA: `"AUGUUUUCUUAAAUG"` => - -Codons: `"AUG", "UUU", "UCU", "UAA", "AUG"` => - -Protein: `"Methionine", "Phenylalanine", "Serine"` - -Note the stop codon `"UAA"` terminates the translation and the final methionine is not translated into the protein sequence. - -Below are the codons and resulting amino acids needed for the exercise. +In the real world, there are 64 codons, which in turn correspond to 20 amino acids. +However, for this exercise, you’ll only use a few of the possible 64. +They are listed below: | Codon | Amino Acid | -| :----------------- | :------------ | +| ------------------ | ------------- | | AUG | Methionine | | UUU, UUC | Phenylalanine | | UUA, UUG | Leucine | @@ -40,6 +21,18 @@ Below are the codons and resulting amino acids needed for the exercise. | UGG | Tryptophan | | UAA, UAG, UGA | STOP | +For example, the RNA string “AUGUUUUCU” has three codons: “AUG”, “UUU” and “UCU”. +These map to Methionine, Phenylalanine, and Serine. + +## “STOP” Codons + +You’ll note from the table above that there are three **“STOP” codons**. +If you encounter any of these codons, ignore the rest of the sequence — the protein is complete. + +For example, “AUGUUUUCUUAAAUG” contains a STOP codon (“UAA”). +Once we reach that point, we stop processing. +We therefore only consider the part before it (i.e. “AUGUUUUCU”), not any further codons after it (i.e. “AUG”). + Learn more about [protein translation on Wikipedia][protein-translation]. [protein-translation]: https://en.wikipedia.org/wiki/Translation_(biology) From 5c88d3c766e2ee1ab255fa40a3ddf924e700d548 Mon Sep 17 00:00:00 2001 From: keiravillekode Date: Tue, 15 Jul 2025 14:04:01 +1000 Subject: [PATCH 222/244] ci uses ubuntu-24.04 (#245) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e99f39d..0c26af6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,7 +23,7 @@ on: jobs: ci: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout repository From 4bbc73d50bf9712ec234c0bc2174b0e192aef0d3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 17:19:49 -0700 Subject: [PATCH 223/244] =?UTF-8?q?=F0=9F=A4=96=20Auto-sync=20docs,=20meta?= =?UTF-8?q?data,=20and=20filepaths=20(#246)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: BNAndras <20251272+BNAndras@users.noreply.github.com> --- exercises/practice/triangle/.docs/instructions.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/exercises/practice/triangle/.docs/instructions.md b/exercises/practice/triangle/.docs/instructions.md index ac39008..755cb8d 100644 --- a/exercises/practice/triangle/.docs/instructions.md +++ b/exercises/practice/triangle/.docs/instructions.md @@ -13,6 +13,11 @@ A _scalene_ triangle has all sides of different lengths. For a shape to be a triangle at all, all sides have to be of length > 0, and the sum of the lengths of any two sides must be greater than or equal to the length of the third side. +~~~~exercism/note +We opted to not include tests for degenerate triangles (triangles that violate these rules) to keep things simpler. +You may handle those situations if you wish to do so, or safely ignore them. +~~~~ + In equations: Let `a`, `b`, and `c` be sides of the triangle. From 389a64f1a88fbaa5f67ab8f3be67c3ee3b56e4c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 07:55:07 -0700 Subject: [PATCH 224/244] Bump actions/setup-node from 4.4.0 to 5.0.0 (#247) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.4.0 to 5.0.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/49933ea5288caeca8642d1e84afbd3f7d6820020...a0853c24544627f65ddf259abe73b1d18a591444) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0c26af6..66566e3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Setup Node.js - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 + uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 with: node-version: 'node' From 4d5cff84f193da988cf6b077cf2a9213f05c878c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 07:55:31 -0700 Subject: [PATCH 225/244] Bump actions/checkout from 4.2.2 to 5.0.0 (#248) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...08c6903cd8c0fde910a37f88322edcfb5dd907a8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 66566e3..c71a87b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Setup Node.js uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 From aded6c357d0a86ebc57a62fb6a4534630c712a17 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:19:18 -0700 Subject: [PATCH 226/244] =?UTF-8?q?=F0=9F=A4=96=20Auto-sync=20docs,=20meta?= =?UTF-8?q?data,=20and=20filepaths=20(#249)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- exercises/practice/triangle/.docs/instructions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/exercises/practice/triangle/.docs/instructions.md b/exercises/practice/triangle/.docs/instructions.md index 755cb8d..e9b053d 100644 --- a/exercises/practice/triangle/.docs/instructions.md +++ b/exercises/practice/triangle/.docs/instructions.md @@ -14,7 +14,8 @@ A _scalene_ triangle has all sides of different lengths. For a shape to be a triangle at all, all sides have to be of length > 0, and the sum of the lengths of any two sides must be greater than or equal to the length of the third side. ~~~~exercism/note -We opted to not include tests for degenerate triangles (triangles that violate these rules) to keep things simpler. +_Degenerate triangles_ are triangles where the sum of the length of two sides is **equal** to the length of the third side, e.g. `1, 1, 2`. +We opted to not include tests for degenerate triangles in this exercise. You may handle those situations if you wish to do so, or safely ignore them. ~~~~ From 02572875519d4e0d54f1a1797f74e304724a0df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:40:56 -0700 Subject: [PATCH 227/244] Add `line-up` (#250) --- config.json | 8 + .../practice/line-up/.docs/instructions.md | 19 +++ .../practice/line-up/.docs/introduction.md | 7 + exercises/practice/line-up/.meta/config.json | 19 +++ exercises/practice/line-up/.meta/example.arr | 29 ++++ exercises/practice/line-up/.meta/tests.toml | 67 ++++++++ exercises/practice/line-up/line-up-test.arr | 154 ++++++++++++++++++ exercises/practice/line-up/line-up.arr | 9 + 8 files changed, 312 insertions(+) create mode 100644 exercises/practice/line-up/.docs/instructions.md create mode 100644 exercises/practice/line-up/.docs/introduction.md create mode 100644 exercises/practice/line-up/.meta/config.json create mode 100644 exercises/practice/line-up/.meta/example.arr create mode 100644 exercises/practice/line-up/.meta/tests.toml create mode 100644 exercises/practice/line-up/line-up-test.arr create mode 100644 exercises/practice/line-up/line-up.arr diff --git a/config.json b/config.json index 6f72be5..7be0b1d 100644 --- a/config.json +++ b/config.json @@ -301,6 +301,14 @@ "prerequisites": [], "difficulty": 2 }, + { + "slug": "line-up", + "name": "Line Up", + "uuid": "c3691abc-0732-4487-bf91-bcbfd55f22ca", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "protein-translation", "name": "Protein Translation", diff --git a/exercises/practice/line-up/.docs/instructions.md b/exercises/practice/line-up/.docs/instructions.md new file mode 100644 index 0000000..fb41d4c --- /dev/null +++ b/exercises/practice/line-up/.docs/instructions.md @@ -0,0 +1,19 @@ +# Instructions + +Given a name and a number, your task is to produce a sentence using that name and that number as an [ordinal numeral][ordinal-numeral]. +Yaʻqūb expects to use numbers from 1 up to 999. + +Rules: + +- Numbers ending in 1 (except for 11) → `"st"` +- Numbers ending in 2 (except for 12) → `"nd"` +- Numbers ending in 3 (except for 13) → `"rd"` +- All other numbers → `"th"` + +Examples: + +- `"Mary", 1` → `"Mary, you are the 1st customer we serve today. Thank you!"` +- `"John", 12` → `"John, you are the 12th customer we serve today. Thank you!"` +- `"Dahir", 162` → `"Dahir, you are the 162nd customer we serve today. Thank you!"` + +[ordinal-numeral]: https://en.wikipedia.org/wiki/Ordinal_numeral diff --git a/exercises/practice/line-up/.docs/introduction.md b/exercises/practice/line-up/.docs/introduction.md new file mode 100644 index 0000000..ea07268 --- /dev/null +++ b/exercises/practice/line-up/.docs/introduction.md @@ -0,0 +1,7 @@ +# Introduction + +Your friend Yaʻqūb works the counter at a deli in town, slicing, weighing, and wrapping orders for a line of hungry customers that gets longer every day. +Waiting customers are starting to lose track of who is next, so he wants numbered tickets they can use to track the order in which they arrive. + +To make the customers feel special, he does not want the ticket to have only a number on it. +They shall get a proper English sentence with their name and number on it. diff --git a/exercises/practice/line-up/.meta/config.json b/exercises/practice/line-up/.meta/config.json new file mode 100644 index 0000000..c87d1e3 --- /dev/null +++ b/exercises/practice/line-up/.meta/config.json @@ -0,0 +1,19 @@ +{ + "authors": [ + "BNAndras" + ], + "files": { + "solution": [ + "line-up.arr" + ], + "test": [ + "line-up-test.arr" + ], + "example": [ + ".meta/example.arr" + ] + }, + "blurb": "Help lining up customers at Yaʻqūb's Deli.", + "source": "mk-mxp, based on previous work from Exercism contributors codedge and neenjaw", + "source_url": "https://forum.exercism.org/t/new-exercise-ordinal-numbers/19147" +} diff --git a/exercises/practice/line-up/.meta/example.arr b/exercises/practice/line-up/.meta/example.arr new file mode 100644 index 0000000..efe42f2 --- /dev/null +++ b/exercises/practice/line-up/.meta/example.arr @@ -0,0 +1,29 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: + format-message +end + +fun format-message(name, position): + name + + ", you are the " + + num-to-string(position) + + ordinal-suffix-for(position) + + " customer we serve today. Thank you!" +end + +fun ordinal-suffix-for(n): + mod10 = num-modulo(n, 10) + mod100 = num-modulo(n, 100) + if (mod100 == 11) or (mod100 == 12) or (mod100 == 13): + "th" + else if mod10 == 1: + "st" + else if mod10 == 2: + "nd" + else if mod10 == 3: + "rd" + else: + "th" + end +end \ No newline at end of file diff --git a/exercises/practice/line-up/.meta/tests.toml b/exercises/practice/line-up/.meta/tests.toml new file mode 100644 index 0000000..36fdf1d --- /dev/null +++ b/exercises/practice/line-up/.meta/tests.toml @@ -0,0 +1,67 @@ +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. + +[7760d1b8-4864-4db4-953b-0fa7c047dbc0] +description = "format smallest non-exceptional ordinal numeral 4" + +[e8b7c715-6baa-4f7b-8fb3-2fa48044ab7a] +description = "format greatest single digit non-exceptional ordinal numeral 9" + +[f370aae9-7ae7-4247-90ce-e8ff8c6934df] +description = "format non-exceptional ordinal numeral 5" + +[37f10dea-42a2-49de-bb92-0b690b677908] +description = "format non-exceptional ordinal numeral 6" + +[d8dfb9a2-3a1f-4fee-9dae-01af3600054e] +description = "format non-exceptional ordinal numeral 7" + +[505ec372-1803-42b1-9377-6934890fd055] +description = "format non-exceptional ordinal numeral 8" + +[8267072d-be1f-4f70-b34a-76b7557a47b9] +description = "format exceptional ordinal numeral 1" + +[4d8753cb-0364-4b29-84b8-4374a4fa2e3f] +description = "format exceptional ordinal numeral 2" + +[8d44c223-3a7e-4f48-a0ca-78e67bf98aa7] +description = "format exceptional ordinal numeral 3" + +[6c4f6c88-b306-4f40-bc78-97cdd583c21a] +description = "format smallest two digit non-exceptional ordinal numeral 10" + +[e257a43f-d2b1-457a-97df-25f0923fc62a] +description = "format non-exceptional ordinal numeral 11" + +[bb1db695-4d64-457f-81b8-4f5a2107e3f4] +description = "format non-exceptional ordinal numeral 12" + +[60a3187c-9403-4835-97de-4f10ebfd63e2] +description = "format non-exceptional ordinal numeral 13" + +[2bdcebc5-c029-4874-b6cc-e9bec80d603a] +description = "format exceptional ordinal numeral 21" + +[74ee2317-0295-49d2-baf0-d56bcefa14e3] +description = "format exceptional ordinal numeral 62" + +[b37c332d-7f68-40e3-8503-e43cbd67a0c4] +description = "format exceptional ordinal numeral 100" + +[0375f250-ce92-4195-9555-00e28ccc4d99] +description = "format exceptional ordinal numeral 101" + +[0d8a4974-9a8a-45a4-aca7-a9fb473c9836] +description = "format non-exceptional ordinal numeral 112" + +[06b62efe-199e-4ce7-970d-4bf73945713f] +description = "format exceptional ordinal numeral 123" diff --git a/exercises/practice/line-up/line-up-test.arr b/exercises/practice/line-up/line-up-test.arr new file mode 100644 index 0000000..66fde33 --- /dev/null +++ b/exercises/practice/line-up/line-up-test.arr @@ -0,0 +1,154 @@ +use context essentials2020 + +include file("line-up.arr") + +#| + When working offline, all tests except the first one are skipped by default. + Once you get the first test running, unskip the next one until all tests pass locally. + Check the block comment below for further details. +|# + + +fun format-4(): + check "format smallest non-exceptional ordinal numeral 4": + format-message("Gianna", 4) is "Gianna, you are the 4th customer we serve today. Thank you!" + end +end + +fun format-9(): + check "format greatest single digit non-exceptional ordinal numeral 9": + format-message("Maarten", 9) is "Maarten, you are the 9th customer we serve today. Thank you!" + end +end + +fun format-5(): + check "format non-exceptional ordinal numeral 5": + format-message("Petronila", 5) is "Petronila, you are the 5th customer we serve today. Thank you!" + end +end + +fun format-6(): + check "format non-exceptional ordinal numeral 6": + format-message("Attakullakulla", 6) is "Attakullakulla, you are the 6th customer we serve today. Thank you!" + end +end + +fun format-7(): + check "format non-exceptional ordinal numeral 7": + format-message("Kate", 7) is "Kate, you are the 7th customer we serve today. Thank you!" + end +end + +fun format-8(): + check "format non-exceptional ordinal numeral 8": + format-message("Maximiliano", 8) is "Maximiliano, you are the 8th customer we serve today. Thank you!" + end +end + +fun format-1(): + check "format exceptional ordinal numeral 1": + format-message("Mary", 1) is "Mary, you are the 1st customer we serve today. Thank you!" + end +end + +fun format-2(): + check "format exceptional ordinal numeral 2": + format-message("Haruto", 2) is "Haruto, you are the 2nd customer we serve today. Thank you!" + end +end + +fun format-3(): + check "format exceptional ordinal numeral 3": + format-message("Henriette", 3) is "Henriette, you are the 3rd customer we serve today. Thank you!" + end +end + +fun format-10(): + check "format smallest two digit non-exceptional ordinal numeral 10": + format-message("Alvarez", 10) is "Alvarez, you are the 10th customer we serve today. Thank you!" + end +end + +fun format-11(): + check "format non-exceptional ordinal numeral 11": + format-message("Jacqueline", 11) is "Jacqueline, you are the 11th customer we serve today. Thank you!" + end +end + +fun format-12(): + check "format non-exceptional ordinal numeral 12": + format-message("Juan", 12) is "Juan, you are the 12th customer we serve today. Thank you!" + end +end + +fun format-13(): + check "format non-exceptional ordinal numeral 13": + format-message("Patricia", 13) is "Patricia, you are the 13th customer we serve today. Thank you!" + end +end + +fun format-21(): + check "format exceptional ordinal numeral 21": + format-message("Washi", 21) is "Washi, you are the 21st customer we serve today. Thank you!" + end +end + +fun format-62(): + check "format exceptional ordinal numeral 62": + format-message("Nayra", 62) is "Nayra, you are the 62nd customer we serve today. Thank you!" + end +end + +fun format-100(): + check "format exceptional ordinal numeral 100": + format-message("John", 100) is "John, you are the 100th customer we serve today. Thank you!" + end +end + +fun format-101(): + check "format exceptional ordinal numeral 101": + format-message("Zeinab", 101) is "Zeinab, you are the 101st customer we serve today. Thank you!" + end +end + +fun format-112(): + check "format non-exceptional ordinal numeral 112": + format-message("Knud", 112) is "Knud, you are the 112th customer we serve today. Thank you!" + end +end + +fun format-123(): + check "format exceptional ordinal numeral 123": + format-message("Yma", 123) is "Yma, you are the 123rd customer we serve today. Thank you!" + end +end + +#| + Code to run each test. Each line corresponds to a test above and whether it should be run. + To mark a test to be run, replace `false` with `true` on that same line after the comma. + test(test-a, true) will be run. test(test-a, false) will be skipped. +|# + +data TestRun: test(run, active) end + +[list: + test(format-4, true), + test(format-9, false), + test(format-5, false), + test(format-6, false), + test(format-7, false), + test(format-8, false), + test(format-1, false), + test(format-2, false), + test(format-3, false), + test(format-10, false), + test(format-11, false), + test(format-12, false), + test(format-13, false), + test(format-21, false), + test(format-62, false), + test(format-100, false), + test(format-101, false), + test(format-112, false), + test(format-123, false) +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/line-up/line-up.arr b/exercises/practice/line-up/line-up.arr new file mode 100644 index 0000000..390655c --- /dev/null +++ b/exercises/practice/line-up/line-up.arr @@ -0,0 +1,9 @@ +use context essentials2020 # Don't delete this line when using Pyret on Exercism + +provide: + format-message +end + +fun format-message(person, position): + raise("please implement the format-message function") +end From 29f5bb33a773ec8b8aecce4fd0ff28b00ad0b398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sat, 25 Oct 2025 23:37:32 -0700 Subject: [PATCH 228/244] Update track docs (#251) * Update installation directions * Update broken links in ABOUT.md * Add VSCode extension for Pyret --- docs/ABOUT.md | 4 ++-- docs/INSTALLATION.md | 6 ++++-- docs/RESOURCES.md | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/ABOUT.md b/docs/ABOUT.md index d638d49..49c8ac7 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -3,7 +3,7 @@ Designed as an introductory computing language, Pyret is a powerful functional language being taught at the high school and collegiate level. The language features strongly in [A Data-Centric Introduction to Computing][dcic], a free online computer science resource. Pyret includes a wide range of primitives, algebraic datatypes, and seamless testing integration. -Available [online and offline][set-sail], it can be easily used on many platforms. +Available [online and offline][get-started], it can be easily used on many platforms. [dcic]: https://dcic-world.org/ -[set-sail]: https://pyret.org/set-sail/index.html +[get-started]: https://pyret.org/docs/latest/Getting_Started_and_Running_Pyret.html diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 195fa93..e191f9a 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,10 +1,12 @@ # Installation -Please review the [official installation directions]. +A command-line interface for Pyret is available through npm as [pyret-npm]. +You may need to first [install Node.js][node-js], a JavaScript runtime environment. ~~~~exercism/note Currently, the pyret-npm package is only compatible with Linux and MacOS. Windows users will need to install pyret-npm using either WSL or a virtual machine. ~~~~ -[official installation directions]: https://pyret.org/set-sail/ +[pyret-npm]: https://www.npmjs.com/package/pyret-npm +[node-js]: https://nodejs.org diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index e228023..eb027cb 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -1,13 +1,15 @@ # Resources * [Official Documentation][official-docs] -* [Code.pyret.org Editor][online-editor] +* [code.pyret.org (CPO) Editor][online-editor] +* [CPO-Like Editor Extension for Visual Studio Code][pyret-vscode] * [Pyret Discuss (Google Groups)][google-groups] * [@PyretLang][pyret-twitter] * [The Pyret Programming Discord][pyret-discord] [official-docs]: https://pyret.org/docs/latest/ [online-editor]: https://code.pyret.org/editor +[pyret-vscode]: https://marketplace.visualstudio.com/items?itemName=PyretProgrammingLanguage.pyret-parley [google-groups]: https://groups.google.com/g/pyret-discuss [pyret-twitter]: https://twitter.com/pyretlang [pyret-discord]: https://discord.com/invite/7aFMB3b6Mt From fd8287415f038d7cb4598e2c961f4fea81263188 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Nov 2025 07:46:56 -0700 Subject: [PATCH 229/244] Bump actions/setup-node from 5.0.0 to 6.0.0 (#252) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/a0853c24544627f65ddf259abe73b1d18a591444...2028fbc5c25fe9cf00d9f06a71cc4710d4507903) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c71a87b..935f3c7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Setup Node.js - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 + uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 with: node-version: 'node' From c25e6c80408bd3da8e0e840674d1f0fbbf006991 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Nov 2025 16:12:57 -0800 Subject: [PATCH 230/244] =?UTF-8?q?=F0=9F=A4=96=20Auto-sync=20docs,=20meta?= =?UTF-8?q?data,=20and=20filepaths=20(#253)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- exercises/practice/line-up/.docs/instructions.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exercises/practice/line-up/.docs/instructions.md b/exercises/practice/line-up/.docs/instructions.md index fb41d4c..9e686ec 100644 --- a/exercises/practice/line-up/.docs/instructions.md +++ b/exercises/practice/line-up/.docs/instructions.md @@ -5,9 +5,9 @@ Yaʻqūb expects to use numbers from 1 up to 999. Rules: -- Numbers ending in 1 (except for 11) → `"st"` -- Numbers ending in 2 (except for 12) → `"nd"` -- Numbers ending in 3 (except for 13) → `"rd"` +- Numbers ending in 1 (unless ending in 11) → `"st"` +- Numbers ending in 2 (unless ending in 12) → `"nd"` +- Numbers ending in 3 (unless ending in 13) → `"rd"` - All other numbers → `"th"` Examples: From 9a3040d57bee2d309f7f84c4c6401231f7c7d601 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jan 2026 07:14:01 -0800 Subject: [PATCH 231/244] Bump actions/setup-node from 6.0.0 to 6.1.0 (#255) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.0.0 to 6.1.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/2028fbc5c25fe9cf00d9f06a71cc4710d4507903...395ad3262231945c25e8478fd5baf05154b1d79f) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 935f3c7..7e9a6e5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Setup Node.js - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f with: node-version: 'node' From b0431098f2866fc9a73934b63b3ba6ceff15b1c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jan 2026 07:16:46 -0800 Subject: [PATCH 232/244] Bump actions/checkout from 5.0.0 to 6.0.1 (#254) Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/08c6903cd8c0fde910a37f88322edcfb5dd907a8...8e8c483db84b4bee98b60c0593521ed34d9990e8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7e9a6e5..396760d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Setup Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f From 698bd5e164344b72b9e3f6de0c04f29a4a03dbc8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 07:14:38 -0800 Subject: [PATCH 233/244] Bump actions/setup-node from 6.1.0 to 6.2.0 (#257) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.1.0 to 6.2.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/395ad3262231945c25e8478fd5baf05154b1d79f...6044e13b5dc448c55e2357c09f80417699197238) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 396760d..c755c66 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Setup Node.js - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 with: node-version: 'node' From 0ae6d5563027910d97b2bf5ec1d7f42a5c4b472c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 07:14:56 -0800 Subject: [PATCH 234/244] Bump actions/checkout from 6.0.1 to 6.0.2 (#256) Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/8e8c483db84b4bee98b60c0593521ed34d9990e8...de0fac2e4500dabe0009e67214ff5f5447ce83dd) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c755c66..0116cbf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd - name: Setup Node.js uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 From 8a1dd2250e4fd977ebedb6afe326e8b2298a83f3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 17:03:59 -0800 Subject: [PATCH 235/244] =?UTF-8?q?=F0=9F=A4=96=20Auto-sync=20docs,=20meta?= =?UTF-8?q?data,=20and=20filepaths=20(#258)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- exercises/practice/allergies/.meta/config.json | 2 +- exercises/practice/bob/.meta/config.json | 2 +- exercises/practice/etl/.meta/config.json | 2 +- exercises/practice/matrix/.meta/config.json | 2 +- exercises/practice/phone-number/.meta/config.json | 2 +- exercises/practice/reverse-string/.meta/config.json | 2 +- exercises/practice/space-age/.meta/config.json | 2 +- exercises/practice/triangle/.meta/config.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/exercises/practice/allergies/.meta/config.json b/exercises/practice/allergies/.meta/config.json index a9412ce..c405d87 100644 --- a/exercises/practice/allergies/.meta/config.json +++ b/exercises/practice/allergies/.meta/config.json @@ -18,5 +18,5 @@ }, "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", - "source_url": "https://turing.edu" + "source_url": "https://www.turing.edu/" } diff --git a/exercises/practice/bob/.meta/config.json b/exercises/practice/bob/.meta/config.json index c581b21..fbbef19 100644 --- a/exercises/practice/bob/.meta/config.json +++ b/exercises/practice/bob/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Bob is a lackadaisical teenager. In conversation, his responses are very limited.", "source": "Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial.", - "source_url": "https://pine.fm/LearnToProgram/?Chapter=06" + "source_url": "https://pine.fm/LearnToProgram/chap_06.html" } diff --git a/exercises/practice/etl/.meta/config.json b/exercises/practice/etl/.meta/config.json index eeb3264..e6ae073 100644 --- a/exercises/practice/etl/.meta/config.json +++ b/exercises/practice/etl/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Change the data format for scoring a game to more easily add other languages.", "source": "Based on an exercise by the JumpstartLab team for students at The Turing School of Software and Design.", - "source_url": "https://turing.edu" + "source_url": "https://www.turing.edu/" } diff --git a/exercises/practice/matrix/.meta/config.json b/exercises/practice/matrix/.meta/config.json index 5f0d86a..26ba30d 100644 --- a/exercises/practice/matrix/.meta/config.json +++ b/exercises/practice/matrix/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Given a string representing a matrix of numbers, return the rows and columns of that matrix.", "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", - "source_url": "https://turing.edu" + "source_url": "https://www.turing.edu/" } diff --git a/exercises/practice/phone-number/.meta/config.json b/exercises/practice/phone-number/.meta/config.json index 4eb05e7..501649d 100644 --- a/exercises/practice/phone-number/.meta/config.json +++ b/exercises/practice/phone-number/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Clean up user-entered phone numbers so that they can be sent SMS messages.", "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", - "source_url": "https://turing.edu" + "source_url": "https://www.turing.edu/" } diff --git a/exercises/practice/reverse-string/.meta/config.json b/exercises/practice/reverse-string/.meta/config.json index 1ae0fd1..3a460f0 100644 --- a/exercises/practice/reverse-string/.meta/config.json +++ b/exercises/practice/reverse-string/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Reverse a given string.", "source": "Introductory challenge to reverse an input string", - "source_url": "https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb" + "source_url": "https://www.freecodecamp.org/news/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb" } diff --git a/exercises/practice/space-age/.meta/config.json b/exercises/practice/space-age/.meta/config.json index 9d256a7..dda9c67 100644 --- a/exercises/practice/space-age/.meta/config.json +++ b/exercises/practice/space-age/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.", "source": "Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial.", - "source_url": "https://pine.fm/LearnToProgram/?Chapter=01" + "source_url": "https://pine.fm/LearnToProgram/chap_01.html" } diff --git a/exercises/practice/triangle/.meta/config.json b/exercises/practice/triangle/.meta/config.json index 200e4c6..28686ac 100644 --- a/exercises/practice/triangle/.meta/config.json +++ b/exercises/practice/triangle/.meta/config.json @@ -15,5 +15,5 @@ }, "blurb": "Determine if a triangle is equilateral, isosceles, or scalene.", "source": "The Ruby Koans triangle project, parts 1 & 2", - "source_url": "https://web.archive.org/web/20220831105330/http://rubykoans.com" + "source_url": "https://www.rubykoans.com/" } From aa458230e195bc9e005f2fcac2f9c2ec55abe762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:05:27 -0800 Subject: [PATCH 236/244] Sync `perfect-numbers` tests (#260) [no important files changed] --- exercises/practice/perfect-numbers/.meta/tests.toml | 3 +++ .../perfect-numbers/perfect-numbers-test.arr | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/exercises/practice/perfect-numbers/.meta/tests.toml b/exercises/practice/perfect-numbers/.meta/tests.toml index ec28889..81d4840 100644 --- a/exercises/practice/perfect-numbers/.meta/tests.toml +++ b/exercises/practice/perfect-numbers/.meta/tests.toml @@ -27,6 +27,9 @@ description = "Abundant numbers -> Medium abundant number is classified correctl [ec7792e6-8786-449c-b005-ce6dd89a772b] description = "Abundant numbers -> Large abundant number is classified correctly" +[05f15b93-849c-45e9-9c7d-1ea131ef7d10] +description = "Abundant numbers -> Perfect square abundant number is classified correctly" + [e610fdc7-2b6e-43c3-a51c-b70fb37413ba] description = "Deficient numbers -> Smallest prime deficient number is classified correctly" diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 3c28377..80c9978 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -44,10 +44,16 @@ fun large-abundant(): end end -fun smallest-prime-deficient(): -check "Deficient numbers -> Smallest prime deficient number is classified correctly": - classify(2) is "deficient" +fun perfect-square-abundant(): + check "Abundant numbers -> Perfect square abundant number is classified correctly": + classify(196) is "abundant" + end end + +fun smallest-prime-deficient(): + check "Deficient numbers -> Smallest prime deficient number is classified correctly": + classify(2) is "deficient" + end end fun smallest-non-prime-deficient(): @@ -101,6 +107,7 @@ data TestRun: test(run, active) end test(smallest-abundant, false), test(medium-abundant, false), test(large-abundant, false), + test(perfect-square-abundant, false), test(smallest-prime-deficient, false), test(smallest-non-prime-deficient, false), test(medium-deficient, false), From 3386260149ff541c8208e9e4503c356ce432902b Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:41:05 -0700 Subject: [PATCH 237/244] Update use contexts --- exercises/practice/acronym/.meta/example.arr | 2 +- exercises/practice/acronym/acronym.arr | 2 +- exercises/practice/allergies/.meta/example.arr | 4 ++-- exercises/practice/allergies/allergies.arr | 2 +- exercises/practice/anagram/.meta/example.arr | 4 ++-- exercises/practice/anagram/anagram.arr | 2 +- exercises/practice/armstrong-numbers/.meta/example.arr | 2 +- exercises/practice/armstrong-numbers/armstrong-numbers.arr | 2 +- exercises/practice/atbash-cipher/.meta/example.arr | 2 +- exercises/practice/atbash-cipher/atbash-cipher.arr | 2 +- exercises/practice/bank-account/.meta/example.arr | 4 ++-- exercises/practice/bank-account/bank-account.arr | 4 ++-- exercises/practice/binary-search/.meta/example.arr | 2 +- exercises/practice/binary-search/binary-search.arr | 2 +- exercises/practice/bob/.meta/example.arr | 4 ++-- exercises/practice/bob/bob.arr | 2 +- exercises/practice/circular-buffer/.meta/example.arr | 2 +- exercises/practice/circular-buffer/circular-buffer.arr | 2 +- exercises/practice/clock/.meta/example.arr | 4 ++-- exercises/practice/clock/clock.arr | 2 +- exercises/practice/collatz-conjecture/.meta/example.arr | 2 +- exercises/practice/collatz-conjecture/collatz-conjecture.arr | 2 +- exercises/practice/darts/.meta/example.arr | 2 +- exercises/practice/darts/darts.arr | 2 +- exercises/practice/difference-of-squares/.meta/example.arr | 4 ++-- .../practice/difference-of-squares/difference-of-squares.arr | 4 ++-- exercises/practice/dnd-character/.meta/example.arr | 2 +- exercises/practice/dnd-character/dnd-character.arr | 2 +- exercises/practice/eliuds-eggs/.meta/example.arr | 2 +- exercises/practice/eliuds-eggs/eliuds-eggs.arr | 2 +- exercises/practice/etl/.meta/example.arr | 2 +- exercises/practice/etl/etl.arr | 2 +- exercises/practice/flatten-array/.meta/example.arr | 2 +- exercises/practice/flatten-array/flatten-array.arr | 2 +- exercises/practice/grains/.meta/example.arr | 4 ++-- exercises/practice/grains/grains.arr | 4 ++-- exercises/practice/hamming/.meta/example.arr | 4 ++-- exercises/practice/hamming/hamming.arr | 2 +- exercises/practice/hello-world/.meta/example.arr | 2 +- exercises/practice/hello-world/hello-world.arr | 2 +- exercises/practice/high-scores/high-scores.arr | 4 ++-- exercises/practice/isogram/.meta/example.arr | 2 +- exercises/practice/isogram/isogram.arr | 2 +- exercises/practice/leap/.meta/example.arr | 2 +- exercises/practice/leap/leap.arr | 2 +- exercises/practice/line-up/.meta/example.arr | 4 ++-- exercises/practice/line-up/line-up.arr | 2 +- exercises/practice/list-ops/.meta/example.arr | 2 +- exercises/practice/list-ops/list-ops.arr | 2 +- exercises/practice/luhn/.meta/example.arr | 4 ++-- exercises/practice/luhn/luhn.arr | 4 ++-- exercises/practice/matrix/.meta/example.arr | 4 ++-- exercises/practice/matrix/matrix.arr | 4 ++-- exercises/practice/nucleotide-count/.meta/example.arr | 4 ++-- exercises/practice/nucleotide-count/nucleotide-count.arr | 4 ++-- exercises/practice/pangram/.meta/example.arr | 4 ++-- exercises/practice/pangram/pangram.arr | 4 ++-- exercises/practice/perfect-numbers/.meta/example.arr | 2 +- exercises/practice/perfect-numbers/perfect-numbers.arr | 2 +- exercises/practice/phone-number/.meta/example.arr | 2 +- exercises/practice/phone-number/phone-number.arr | 2 +- exercises/practice/protein-translation/.meta/example.arr | 2 +- .../practice/protein-translation/protein-translation.arr | 2 +- exercises/practice/queen-attack/.meta/example.arr | 4 ++-- exercises/practice/queen-attack/queen-attack.arr | 4 ++-- exercises/practice/raindrops/.meta/example.arr | 2 +- exercises/practice/raindrops/raindrops.arr | 2 +- exercises/practice/resistor-color-duo/.meta/example.arr | 2 +- exercises/practice/resistor-color-duo/resistor-color-duo.arr | 2 +- exercises/practice/resistor-color-trio/.meta/example.arr | 2 +- .../practice/resistor-color-trio/resistor-color-trio.arr | 2 +- exercises/practice/resistor-color/.meta/example.arr | 2 +- exercises/practice/resistor-color/resistor-color.arr | 2 +- exercises/practice/reverse-string/.meta/example.arr | 4 ++-- exercises/practice/reverse-string/reverse-string.arr | 4 ++-- exercises/practice/rna-transcription/.meta/example.arr | 4 ++-- exercises/practice/rna-transcription/rna-transcription.arr | 2 +- exercises/practice/robot-simulator/.meta/example.arr | 2 +- exercises/practice/roman-numerals/.meta/example.arr | 2 +- exercises/practice/roman-numerals/roman-numerals.arr | 2 +- exercises/practice/scrabble-score/.meta/example.arr | 4 ++-- exercises/practice/scrabble-score/scrabble-score.arr | 2 +- exercises/practice/secret-handshake/.meta/example.arr | 4 ++-- exercises/practice/secret-handshake/secret-handshake.arr | 2 +- exercises/practice/series/.meta/example.arr | 2 +- exercises/practice/series/series.arr | 2 +- exercises/practice/sieve/.meta/example.arr | 2 +- exercises/practice/sieve/sieve.arr | 2 +- exercises/practice/simple-linked-list/.meta/example.arr | 4 ++-- exercises/practice/simple-linked-list/simple-linked-list.arr | 4 ++-- exercises/practice/space-age/.meta/example.arr | 2 +- exercises/practice/space-age/space-age.arr | 2 +- exercises/practice/square-root/.meta/example.arr | 2 +- exercises/practice/square-root/square-root.arr | 4 ++-- exercises/practice/strain/.meta/example.arr | 2 +- exercises/practice/strain/strain.arr | 2 +- exercises/practice/triangle/.meta/example.arr | 2 +- exercises/practice/triangle/triangle.arr | 2 +- exercises/practice/two-fer/.meta/example.arr | 2 +- exercises/practice/two-fer/two-fer.arr | 2 +- exercises/practice/word-count/.meta/example.arr | 4 ++-- exercises/practice/word-count/word-count.arr | 4 ++-- 102 files changed, 135 insertions(+), 135 deletions(-) diff --git a/exercises/practice/acronym/.meta/example.arr b/exercises/practice/acronym/.meta/example.arr index d66054d..3a802cd 100644 --- a/exercises/practice/acronym/.meta/example.arr +++ b/exercises/practice/acronym/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: abbreviate end diff --git a/exercises/practice/acronym/acronym.arr b/exercises/practice/acronym/acronym.arr index 68186ce..23f79d9 100644 --- a/exercises/practice/acronym/acronym.arr +++ b/exercises/practice/acronym/acronym.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: abbreviate end diff --git a/exercises/practice/allergies/.meta/example.arr b/exercises/practice/allergies/.meta/example.arr index 7ce3f13..0ac1f59 100644 --- a/exercises/practice/allergies/.meta/example.arr +++ b/exercises/practice/allergies/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -37,4 +37,4 @@ data Allergies: filtered(ALLERGENS, self.score) end -end \ No newline at end of file +end diff --git a/exercises/practice/allergies/allergies.arr b/exercises/practice/allergies/allergies.arr index de8f302..c3ce59a 100644 --- a/exercises/practice/allergies/allergies.arr +++ b/exercises/practice/allergies/allergies.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * diff --git a/exercises/practice/anagram/.meta/example.arr b/exercises/practice/anagram/.meta/example.arr index f3e1563..0b55f80 100644 --- a/exercises/practice/anagram/.meta/example.arr +++ b/exercises/practice/anagram/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: find-anagrams end @@ -18,4 +18,4 @@ fun find-anagrams(phrase, candidates): end candidates.foldl(detect-anagram, [list: ]).reverse() -end \ No newline at end of file +end diff --git a/exercises/practice/anagram/anagram.arr b/exercises/practice/anagram/anagram.arr index dcbf1ad..b5f4a80 100644 --- a/exercises/practice/anagram/anagram.arr +++ b/exercises/practice/anagram/anagram.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: find-anagrams end diff --git a/exercises/practice/armstrong-numbers/.meta/example.arr b/exercises/practice/armstrong-numbers/.meta/example.arr index 83f515b..7b0935d 100644 --- a/exercises/practice/armstrong-numbers/.meta/example.arr +++ b/exercises/practice/armstrong-numbers/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-armstrong-number end diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers.arr b/exercises/practice/armstrong-numbers/armstrong-numbers.arr index 585acca..7d43711 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-armstrong-number end diff --git a/exercises/practice/atbash-cipher/.meta/example.arr b/exercises/practice/atbash-cipher/.meta/example.arr index 280db19..3dda350 100644 --- a/exercises/practice/atbash-cipher/.meta/example.arr +++ b/exercises/practice/atbash-cipher/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: encode, decode end diff --git a/exercises/practice/atbash-cipher/atbash-cipher.arr b/exercises/practice/atbash-cipher/atbash-cipher.arr index 04d4557..9a8d2db 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: encode, decode end diff --git a/exercises/practice/bank-account/.meta/example.arr b/exercises/practice/bank-account/.meta/example.arr index 80328e0..83915a5 100644 --- a/exercises/practice/bank-account/.meta/example.arr +++ b/exercises/practice/bank-account/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -45,4 +45,4 @@ data Account: method open(self): raise("account already open") end -end \ No newline at end of file +end diff --git a/exercises/practice/bank-account/bank-account.arr b/exercises/practice/bank-account/bank-account.arr index b87beb1..b29c09a 100644 --- a/exercises/practice/bank-account/bank-account.arr +++ b/exercises/practice/bank-account/bank-account.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -19,4 +19,4 @@ data Account: method get-balance(self): raise("please implement the get-balance method") end -end \ No newline at end of file +end diff --git a/exercises/practice/binary-search/.meta/example.arr b/exercises/practice/binary-search/.meta/example.arr index 48a0226..1d7f83a 100644 --- a/exercises/practice/binary-search/.meta/example.arr +++ b/exercises/practice/binary-search/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: binary-search end diff --git a/exercises/practice/binary-search/binary-search.arr b/exercises/practice/binary-search/binary-search.arr index 313a42e..9062bf7 100644 --- a/exercises/practice/binary-search/binary-search.arr +++ b/exercises/practice/binary-search/binary-search.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: binary-search end diff --git a/exercises/practice/bob/.meta/example.arr b/exercises/practice/bob/.meta/example.arr index 1793c56..be28fad 100644 --- a/exercises/practice/bob/.meta/example.arr +++ b/exercises/practice/bob/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: response end @@ -58,4 +58,4 @@ fun response(hey-bob): | is-question() then: "Sure." | otherwise: "Whatever." end -end \ No newline at end of file +end diff --git a/exercises/practice/bob/bob.arr b/exercises/practice/bob/bob.arr index 649676e..3178eef 100644 --- a/exercises/practice/bob/bob.arr +++ b/exercises/practice/bob/bob.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: response end diff --git a/exercises/practice/circular-buffer/.meta/example.arr b/exercises/practice/circular-buffer/.meta/example.arr index 43dac8e..498fb1e 100644 --- a/exercises/practice/circular-buffer/.meta/example.arr +++ b/exercises/practice/circular-buffer/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * provide: make-buffer end diff --git a/exercises/practice/circular-buffer/circular-buffer.arr b/exercises/practice/circular-buffer/circular-buffer.arr index 4031d88..816d87a 100644 --- a/exercises/practice/circular-buffer/circular-buffer.arr +++ b/exercises/practice/circular-buffer/circular-buffer.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * provide: make-buffer end diff --git a/exercises/practice/clock/.meta/example.arr b/exercises/practice/clock/.meta/example.arr index ce9652e..3ec1e71 100644 --- a/exercises/practice/clock/.meta/example.arr +++ b/exercises/practice/clock/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -58,4 +58,4 @@ sharing: to-two-digits(normalized.hours) + ":" + to-two-digits(normalized.minutes) end -end \ No newline at end of file +end diff --git a/exercises/practice/clock/clock.arr b/exercises/practice/clock/clock.arr index 26980b3..4ebac4c 100644 --- a/exercises/practice/clock/clock.arr +++ b/exercises/practice/clock/clock.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * diff --git a/exercises/practice/collatz-conjecture/.meta/example.arr b/exercises/practice/collatz-conjecture/.meta/example.arr index 56635d9..e89525d 100644 --- a/exercises/practice/collatz-conjecture/.meta/example.arr +++ b/exercises/practice/collatz-conjecture/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: steps end diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture.arr b/exercises/practice/collatz-conjecture/collatz-conjecture.arr index edeb817..bad67d9 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: steps end diff --git a/exercises/practice/darts/.meta/example.arr b/exercises/practice/darts/.meta/example.arr index 29ca1b4..3da3aba 100644 --- a/exercises/practice/darts/.meta/example.arr +++ b/exercises/practice/darts/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: score end diff --git a/exercises/practice/darts/darts.arr b/exercises/practice/darts/darts.arr index 46b7d75..924f023 100644 --- a/exercises/practice/darts/darts.arr +++ b/exercises/practice/darts/darts.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: score end diff --git a/exercises/practice/difference-of-squares/.meta/example.arr b/exercises/practice/difference-of-squares/.meta/example.arr index deaab4b..e1bb699 100644 --- a/exercises/practice/difference-of-squares/.meta/example.arr +++ b/exercises/practice/difference-of-squares/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: square-of-sum, sum-of-squares, difference-of-squares end @@ -13,4 +13,4 @@ end fun difference-of-squares(number): square-of-sum(number) - sum-of-squares(number) -end \ No newline at end of file +end diff --git a/exercises/practice/difference-of-squares/difference-of-squares.arr b/exercises/practice/difference-of-squares/difference-of-squares.arr index a1aac35..bf36cc5 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: square-of-sum, sum-of-squares, difference-of-squares end @@ -12,4 +12,4 @@ end fun difference-of-squares(number): raise("please implement the difference-of-squares function") -end \ No newline at end of file +end diff --git a/exercises/practice/dnd-character/.meta/example.arr b/exercises/practice/dnd-character/.meta/example.arr index 398475c..41f598f 100644 --- a/exercises/practice/dnd-character/.meta/example.arr +++ b/exercises/practice/dnd-character/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * diff --git a/exercises/practice/dnd-character/dnd-character.arr b/exercises/practice/dnd-character/dnd-character.arr index 1e6eed8..7080ae9 100644 --- a/exercises/practice/dnd-character/dnd-character.arr +++ b/exercises/practice/dnd-character/dnd-character.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * diff --git a/exercises/practice/eliuds-eggs/.meta/example.arr b/exercises/practice/eliuds-eggs/.meta/example.arr index 942779d..df3fd98 100644 --- a/exercises/practice/eliuds-eggs/.meta/example.arr +++ b/exercises/practice/eliuds-eggs/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: egg-count end diff --git a/exercises/practice/eliuds-eggs/eliuds-eggs.arr b/exercises/practice/eliuds-eggs/eliuds-eggs.arr index 7965c12..056a5c0 100644 --- a/exercises/practice/eliuds-eggs/eliuds-eggs.arr +++ b/exercises/practice/eliuds-eggs/eliuds-eggs.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: egg-count end diff --git a/exercises/practice/etl/.meta/example.arr b/exercises/practice/etl/.meta/example.arr index 961423e..b1055d3 100644 --- a/exercises/practice/etl/.meta/example.arr +++ b/exercises/practice/etl/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: translate end diff --git a/exercises/practice/etl/etl.arr b/exercises/practice/etl/etl.arr index 30cfc04..52921fb 100644 --- a/exercises/practice/etl/etl.arr +++ b/exercises/practice/etl/etl.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: translate end diff --git a/exercises/practice/flatten-array/.meta/example.arr b/exercises/practice/flatten-array/.meta/example.arr index 8146622..0c36c8b 100644 --- a/exercises/practice/flatten-array/.meta/example.arr +++ b/exercises/practice/flatten-array/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: flatten end diff --git a/exercises/practice/flatten-array/flatten-array.arr b/exercises/practice/flatten-array/flatten-array.arr index 61c4bc3..28b41c1 100644 --- a/exercises/practice/flatten-array/flatten-array.arr +++ b/exercises/practice/flatten-array/flatten-array.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: flatten end diff --git a/exercises/practice/grains/.meta/example.arr b/exercises/practice/grains/.meta/example.arr index 475d7f8..6bb79e1 100644 --- a/exercises/practice/grains/.meta/example.arr +++ b/exercises/practice/grains/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: on-square, total end @@ -16,4 +16,4 @@ end fun total() -> Number: num-expt(2, 64) - 1 -end \ No newline at end of file +end diff --git a/exercises/practice/grains/grains.arr b/exercises/practice/grains/grains.arr index 11dde7f..017f662 100644 --- a/exercises/practice/grains/grains.arr +++ b/exercises/practice/grains/grains.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: on-square, total end @@ -8,4 +8,4 @@ end fun total(): raise("Please implement the total function") -end \ No newline at end of file +end diff --git a/exercises/practice/hamming/.meta/example.arr b/exercises/practice/hamming/.meta/example.arr index c60b88c..47656a3 100644 --- a/exercises/practice/hamming/.meta/example.arr +++ b/exercises/practice/hamming/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: distance end @@ -26,4 +26,4 @@ fun distance(first-strand, second-strand): string-explode(first-strand), string-explode(second-strand)) end -end \ No newline at end of file +end diff --git a/exercises/practice/hamming/hamming.arr b/exercises/practice/hamming/hamming.arr index ab01d18..79c30a9 100644 --- a/exercises/practice/hamming/hamming.arr +++ b/exercises/practice/hamming/hamming.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: distance end diff --git a/exercises/practice/hello-world/.meta/example.arr b/exercises/practice/hello-world/.meta/example.arr index 6747086..49089e9 100644 --- a/exercises/practice/hello-world/.meta/example.arr +++ b/exercises/practice/hello-world/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: hello end diff --git a/exercises/practice/hello-world/hello-world.arr b/exercises/practice/hello-world/hello-world.arr index 38206d4..80fdebe 100644 --- a/exercises/practice/hello-world/hello-world.arr +++ b/exercises/practice/hello-world/hello-world.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: hello end diff --git a/exercises/practice/high-scores/high-scores.arr b/exercises/practice/high-scores/high-scores.arr index 631cd01..a4031e8 100644 --- a/exercises/practice/high-scores/high-scores.arr +++ b/exercises/practice/high-scores/high-scores.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: high-scores end fun high-scores(scores): raise("Please implement the high-scores function") -end \ No newline at end of file +end diff --git a/exercises/practice/isogram/.meta/example.arr b/exercises/practice/isogram/.meta/example.arr index 0a45b23..bbcd05c 100644 --- a/exercises/practice/isogram/.meta/example.arr +++ b/exercises/practice/isogram/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-isogram end diff --git a/exercises/practice/isogram/isogram.arr b/exercises/practice/isogram/isogram.arr index 9a2ce9c..4819ded 100644 --- a/exercises/practice/isogram/isogram.arr +++ b/exercises/practice/isogram/isogram.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-isogram end diff --git a/exercises/practice/leap/.meta/example.arr b/exercises/practice/leap/.meta/example.arr index e32173d..23965df 100644 --- a/exercises/practice/leap/.meta/example.arr +++ b/exercises/practice/leap/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: leap end diff --git a/exercises/practice/leap/leap.arr b/exercises/practice/leap/leap.arr index 5ca0df0..8c87f51 100644 --- a/exercises/practice/leap/leap.arr +++ b/exercises/practice/leap/leap.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: leap end diff --git a/exercises/practice/line-up/.meta/example.arr b/exercises/practice/line-up/.meta/example.arr index efe42f2..cd9eecc 100644 --- a/exercises/practice/line-up/.meta/example.arr +++ b/exercises/practice/line-up/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: format-message @@ -26,4 +26,4 @@ fun ordinal-suffix-for(n): else: "th" end -end \ No newline at end of file +end diff --git a/exercises/practice/line-up/line-up.arr b/exercises/practice/line-up/line-up.arr index 390655c..80c0dc9 100644 --- a/exercises/practice/line-up/line-up.arr +++ b/exercises/practice/line-up/line-up.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: format-message diff --git a/exercises/practice/list-ops/.meta/example.arr b/exercises/practice/list-ops/.meta/example.arr index f74bb58..e2633ca 100644 --- a/exercises/practice/list-ops/.meta/example.arr +++ b/exercises/practice/list-ops/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: my-append, diff --git a/exercises/practice/list-ops/list-ops.arr b/exercises/practice/list-ops/list-ops.arr index 13a9f8b..b330748 100644 --- a/exercises/practice/list-ops/list-ops.arr +++ b/exercises/practice/list-ops/list-ops.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: my-append, diff --git a/exercises/practice/luhn/.meta/example.arr b/exercises/practice/luhn/.meta/example.arr index c017b9b..a5552d8 100644 --- a/exercises/practice/luhn/.meta/example.arr +++ b/exercises/practice/luhn/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-valid end @@ -36,4 +36,4 @@ fun is-valid(card-number): | otherwise: false end -end \ No newline at end of file +end diff --git a/exercises/practice/luhn/luhn.arr b/exercises/practice/luhn/luhn.arr index ec1d963..8ac974d 100644 --- a/exercises/practice/luhn/luhn.arr +++ b/exercises/practice/luhn/luhn.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-valid end fun is-valid(card-number): raise("Please implement the is-valid function") -end \ No newline at end of file +end diff --git a/exercises/practice/matrix/.meta/example.arr b/exercises/practice/matrix/.meta/example.arr index 00f12b0..d17e58b 100644 --- a/exercises/practice/matrix/.meta/example.arr +++ b/exercises/practice/matrix/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: matrix end @@ -31,4 +31,4 @@ fun matrix(input :: String): end, values: process-input() } -end \ No newline at end of file +end diff --git a/exercises/practice/matrix/matrix.arr b/exercises/practice/matrix/matrix.arr index 1d54f55..c5e4395 100644 --- a/exercises/practice/matrix/matrix.arr +++ b/exercises/practice/matrix/matrix.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: matrix end fun matrix(input): raise("Please implement the matrix function") -end \ No newline at end of file +end diff --git a/exercises/practice/nucleotide-count/.meta/example.arr b/exercises/practice/nucleotide-count/.meta/example.arr index dfc2b79..f989642 100644 --- a/exercises/practice/nucleotide-count/.meta/example.arr +++ b/exercises/practice/nucleotide-count/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: nucleotide-counts end @@ -14,4 +14,4 @@ fun nucleotide-counts(strand): acc.set(elt, count + 1) end end, [string-dict: "A", 0, "C", 0, "G", 0, "T", 0]) -end \ No newline at end of file +end diff --git a/exercises/practice/nucleotide-count/nucleotide-count.arr b/exercises/practice/nucleotide-count/nucleotide-count.arr index b53dad8..d8ff371 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: nucleotide-counts end fun nucleotide-counts(strand): raise("Please implement the nucleotide-counts function") -end \ No newline at end of file +end diff --git a/exercises/practice/pangram/.meta/example.arr b/exercises/practice/pangram/.meta/example.arr index 316e6ec..0c19263 100644 --- a/exercises/practice/pangram/.meta/example.arr +++ b/exercises/practice/pangram/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-pangram end @@ -12,4 +12,4 @@ fun is-pangram(phrase): L.all( lam(char): letters.member(char) end, LOWERCASE) -end \ No newline at end of file +end diff --git a/exercises/practice/pangram/pangram.arr b/exercises/practice/pangram/pangram.arr index d7c2652..9c59fcb 100644 --- a/exercises/practice/pangram/pangram.arr +++ b/exercises/practice/pangram/pangram.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: is-pangram end fun is-pangram(phrase): raise("Please implement the is-pangram function") -end \ No newline at end of file +end diff --git a/exercises/practice/perfect-numbers/.meta/example.arr b/exercises/practice/perfect-numbers/.meta/example.arr index f69151d..c1ad297 100644 --- a/exercises/practice/perfect-numbers/.meta/example.arr +++ b/exercises/practice/perfect-numbers/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: classify end diff --git a/exercises/practice/perfect-numbers/perfect-numbers.arr b/exercises/practice/perfect-numbers/perfect-numbers.arr index 6e1d6bb..fa7ff3e 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: classify end diff --git a/exercises/practice/phone-number/.meta/example.arr b/exercises/practice/phone-number/.meta/example.arr index 63ec11c..c79cd47 100644 --- a/exercises/practice/phone-number/.meta/example.arr +++ b/exercises/practice/phone-number/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: clean end diff --git a/exercises/practice/phone-number/phone-number.arr b/exercises/practice/phone-number/phone-number.arr index 0b2ae6c..bd9d9dd 100644 --- a/exercises/practice/phone-number/phone-number.arr +++ b/exercises/practice/phone-number/phone-number.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: clean end diff --git a/exercises/practice/protein-translation/.meta/example.arr b/exercises/practice/protein-translation/.meta/example.arr index afd5cff..443820a 100644 --- a/exercises/practice/protein-translation/.meta/example.arr +++ b/exercises/practice/protein-translation/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: proteins end diff --git a/exercises/practice/protein-translation/protein-translation.arr b/exercises/practice/protein-translation/protein-translation.arr index afd5cff..443820a 100644 --- a/exercises/practice/protein-translation/protein-translation.arr +++ b/exercises/practice/protein-translation/protein-translation.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: proteins end diff --git a/exercises/practice/queen-attack/.meta/example.arr b/exercises/practice/queen-attack/.meta/example.arr index 383f90d..090e025 100644 --- a/exercises/practice/queen-attack/.meta/example.arr +++ b/exercises/practice/queen-attack/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -17,4 +17,4 @@ data Queen: == num-abs(other.row - self.row) ) end -end \ No newline at end of file +end diff --git a/exercises/practice/queen-attack/queen-attack.arr b/exercises/practice/queen-attack/queen-attack.arr index f094940..71833e5 100644 --- a/exercises/practice/queen-attack/queen-attack.arr +++ b/exercises/practice/queen-attack/queen-attack.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * data Queen: ... # replace the dots with your implementation -end \ No newline at end of file +end diff --git a/exercises/practice/raindrops/.meta/example.arr b/exercises/practice/raindrops/.meta/example.arr index 8280944..104672b 100644 --- a/exercises/practice/raindrops/.meta/example.arr +++ b/exercises/practice/raindrops/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: convert end diff --git a/exercises/practice/raindrops/raindrops.arr b/exercises/practice/raindrops/raindrops.arr index 5817d88..b5778b5 100644 --- a/exercises/practice/raindrops/raindrops.arr +++ b/exercises/practice/raindrops/raindrops.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: convert end diff --git a/exercises/practice/resistor-color-duo/.meta/example.arr b/exercises/practice/resistor-color-duo/.meta/example.arr index cfdcbbe..a305c96 100644 --- a/exercises/practice/resistor-color-duo/.meta/example.arr +++ b/exercises/practice/resistor-color-duo/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: color-code end diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo.arr b/exercises/practice/resistor-color-duo/resistor-color-duo.arr index 8ceda24..b5b17e6 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: color-code end diff --git a/exercises/practice/resistor-color-trio/.meta/example.arr b/exercises/practice/resistor-color-trio/.meta/example.arr index 44f8ec7..6ca03bc 100644 --- a/exercises/practice/resistor-color-trio/.meta/example.arr +++ b/exercises/practice/resistor-color-trio/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: label end diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio.arr b/exercises/practice/resistor-color-trio/resistor-color-trio.arr index 44d7c3e..fcf4df9 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: label end diff --git a/exercises/practice/resistor-color/.meta/example.arr b/exercises/practice/resistor-color/.meta/example.arr index 86fb970..2f6d898 100644 --- a/exercises/practice/resistor-color/.meta/example.arr +++ b/exercises/practice/resistor-color/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: color-code, colors end diff --git a/exercises/practice/resistor-color/resistor-color.arr b/exercises/practice/resistor-color/resistor-color.arr index f61b4e0..6c8d4d5 100644 --- a/exercises/practice/resistor-color/resistor-color.arr +++ b/exercises/practice/resistor-color/resistor-color.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: color-code, colors end diff --git a/exercises/practice/reverse-string/.meta/example.arr b/exercises/practice/reverse-string/.meta/example.arr index c079e96..26150b1 100644 --- a/exercises/practice/reverse-string/.meta/example.arr +++ b/exercises/practice/reverse-string/.meta/example.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: reversed end fun reversed(input): string-explode(input).reverse().join-str("") -end \ No newline at end of file +end diff --git a/exercises/practice/reverse-string/reverse-string.arr b/exercises/practice/reverse-string/reverse-string.arr index fdb9c52..6ce49b1 100644 --- a/exercises/practice/reverse-string/reverse-string.arr +++ b/exercises/practice/reverse-string/reverse-string.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: reversed end fun reversed(text): raise("please implement the reversed function") -end \ No newline at end of file +end diff --git a/exercises/practice/rna-transcription/.meta/example.arr b/exercises/practice/rna-transcription/.meta/example.arr index c0c5be5..33a1fa2 100644 --- a/exercises/practice/rna-transcription/.meta/example.arr +++ b/exercises/practice/rna-transcription/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: to-rna end @@ -18,4 +18,4 @@ fun to-rna(dna): end, [list: ] ).reverse().join-str("") -end \ No newline at end of file +end diff --git a/exercises/practice/rna-transcription/rna-transcription.arr b/exercises/practice/rna-transcription/rna-transcription.arr index 10bf7ba..277d49c 100644 --- a/exercises/practice/rna-transcription/rna-transcription.arr +++ b/exercises/practice/rna-transcription/rna-transcription.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: to-rna end diff --git a/exercises/practice/robot-simulator/.meta/example.arr b/exercises/practice/robot-simulator/.meta/example.arr index 154cbe0..a74c730 100644 --- a/exercises/practice/robot-simulator/.meta/example.arr +++ b/exercises/practice/robot-simulator/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * diff --git a/exercises/practice/roman-numerals/.meta/example.arr b/exercises/practice/roman-numerals/.meta/example.arr index 3e4826c..488383c 100644 --- a/exercises/practice/roman-numerals/.meta/example.arr +++ b/exercises/practice/roman-numerals/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: to-roman end diff --git a/exercises/practice/roman-numerals/roman-numerals.arr b/exercises/practice/roman-numerals/roman-numerals.arr index 18e7187..1670ad1 100644 --- a/exercises/practice/roman-numerals/roman-numerals.arr +++ b/exercises/practice/roman-numerals/roman-numerals.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: to-roman end diff --git a/exercises/practice/scrabble-score/.meta/example.arr b/exercises/practice/scrabble-score/.meta/example.arr index 35d0177..92a8786 100644 --- a/exercises/practice/scrabble-score/.meta/example.arr +++ b/exercises/practice/scrabble-score/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: score end @@ -54,4 +54,4 @@ fun score(word): end end, 0) -end \ No newline at end of file +end diff --git a/exercises/practice/scrabble-score/scrabble-score.arr b/exercises/practice/scrabble-score/scrabble-score.arr index 83dc406..a76a5c7 100644 --- a/exercises/practice/scrabble-score/scrabble-score.arr +++ b/exercises/practice/scrabble-score/scrabble-score.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: score end diff --git a/exercises/practice/secret-handshake/.meta/example.arr b/exercises/practice/secret-handshake/.meta/example.arr index 0dceedb..b7b54d4 100644 --- a/exercises/practice/secret-handshake/.meta/example.arr +++ b/exercises/practice/secret-handshake/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: commands end @@ -28,4 +28,4 @@ fun commands(binary): digits = L.reverse(string-explode(binary)) value = L.fold_n(to-commands, 0, [list: ], digits) L.reverse(value) -end \ No newline at end of file +end diff --git a/exercises/practice/secret-handshake/secret-handshake.arr b/exercises/practice/secret-handshake/secret-handshake.arr index 12f5521..c613456 100644 --- a/exercises/practice/secret-handshake/secret-handshake.arr +++ b/exercises/practice/secret-handshake/secret-handshake.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: commands end diff --git a/exercises/practice/series/.meta/example.arr b/exercises/practice/series/.meta/example.arr index c0d9314..e262c8a 100644 --- a/exercises/practice/series/.meta/example.arr +++ b/exercises/practice/series/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: slices end diff --git a/exercises/practice/series/series.arr b/exercises/practice/series/series.arr index ba72f96..471ff27 100644 --- a/exercises/practice/series/series.arr +++ b/exercises/practice/series/series.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: slices end diff --git a/exercises/practice/sieve/.meta/example.arr b/exercises/practice/sieve/.meta/example.arr index 14fcbd1..404ed38 100644 --- a/exercises/practice/sieve/.meta/example.arr +++ b/exercises/practice/sieve/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: primes end diff --git a/exercises/practice/sieve/sieve.arr b/exercises/practice/sieve/sieve.arr index 5c0d133..2f09e83 100644 --- a/exercises/practice/sieve/sieve.arr +++ b/exercises/practice/sieve/sieve.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: primes end diff --git a/exercises/practice/simple-linked-list/.meta/example.arr b/exercises/practice/simple-linked-list/.meta/example.arr index c1aca33..c6e127a 100644 --- a/exercises/practice/simple-linked-list/.meta/example.arr +++ b/exercises/practice/simple-linked-list/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * @@ -34,4 +34,4 @@ sharing: lam(elt, acc): acc.push(elt) end, [list: ]) end -end \ No newline at end of file +end diff --git a/exercises/practice/simple-linked-list/simple-linked-list.arr b/exercises/practice/simple-linked-list/simple-linked-list.arr index da37512..65d69db 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide-types * data LinkedList: ... # Replace the dots with your implementation -end \ No newline at end of file +end diff --git a/exercises/practice/space-age/.meta/example.arr b/exercises/practice/space-age/.meta/example.arr index 4c599cf..4ac5d49 100644 --- a/exercises/practice/space-age/.meta/example.arr +++ b/exercises/practice/space-age/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: on-planet end diff --git a/exercises/practice/space-age/space-age.arr b/exercises/practice/space-age/space-age.arr index ecb5f82..09ee214 100644 --- a/exercises/practice/space-age/space-age.arr +++ b/exercises/practice/space-age/space-age.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: on-planet end diff --git a/exercises/practice/square-root/.meta/example.arr b/exercises/practice/square-root/.meta/example.arr index 03176a9..f197a65 100644 --- a/exercises/practice/square-root/.meta/example.arr +++ b/exercises/practice/square-root/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: square-root end diff --git a/exercises/practice/square-root/square-root.arr b/exercises/practice/square-root/square-root.arr index 560cbb3..ef52282 100644 --- a/exercises/practice/square-root/square-root.arr +++ b/exercises/practice/square-root/square-root.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: square-root end fun square-root(number): raise("Please implement the square-root function") -end \ No newline at end of file +end diff --git a/exercises/practice/strain/.meta/example.arr b/exercises/practice/strain/.meta/example.arr index 02f8e25..88c14c7 100644 --- a/exercises/practice/strain/.meta/example.arr +++ b/exercises/practice/strain/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: keep, discard end diff --git a/exercises/practice/strain/strain.arr b/exercises/practice/strain/strain.arr index 704390d..547f2d6 100644 --- a/exercises/practice/strain/strain.arr +++ b/exercises/practice/strain/strain.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: keep, discard end diff --git a/exercises/practice/triangle/.meta/example.arr b/exercises/practice/triangle/.meta/example.arr index b6cff92..32c7820 100644 --- a/exercises/practice/triangle/.meta/example.arr +++ b/exercises/practice/triangle/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: equilateral, isosceles, scalene end diff --git a/exercises/practice/triangle/triangle.arr b/exercises/practice/triangle/triangle.arr index 948e440..802a4c3 100644 --- a/exercises/practice/triangle/triangle.arr +++ b/exercises/practice/triangle/triangle.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: equilateral, isosceles, scalene end diff --git a/exercises/practice/two-fer/.meta/example.arr b/exercises/practice/two-fer/.meta/example.arr index 7d1fde3..2823a86 100644 --- a/exercises/practice/two-fer/.meta/example.arr +++ b/exercises/practice/two-fer/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: two-fer end diff --git a/exercises/practice/two-fer/two-fer.arr b/exercises/practice/two-fer/two-fer.arr index 1328fe2..77b627e 100644 --- a/exercises/practice/two-fer/two-fer.arr +++ b/exercises/practice/two-fer/two-fer.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: two-fer end diff --git a/exercises/practice/word-count/.meta/example.arr b/exercises/practice/word-count/.meta/example.arr index e99279d..df854cc 100644 --- a/exercises/practice/word-count/.meta/example.arr +++ b/exercises/practice/word-count/.meta/example.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: word-count end @@ -57,4 +57,4 @@ fun word-count(phrase): end end, [string-dict: ]) -end \ No newline at end of file +end diff --git a/exercises/practice/word-count/word-count.arr b/exercises/practice/word-count/word-count.arr index 6779532..2f47a44 100644 --- a/exercises/practice/word-count/word-count.arr +++ b/exercises/practice/word-count/word-count.arr @@ -1,7 +1,7 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 provide: word-count end fun word-count(phrase): raise("please implement the word-count function") -end \ No newline at end of file +end From f9061056222f4b51ef0e065d2f61e8c82d0c5cb4 Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:42:23 -0700 Subject: [PATCH 238/244] Bump package.json --- package-lock.json | 1268 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 1255 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccb88b3..72777e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,13 +7,26 @@ "name": "@exercism/pyret", "license": "MIT", "dependencies": { - "pyret-npm": "^0.0.27" + "pyret-npm": "^0.0.90" } }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, "node_modules/ansi-regex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -22,6 +35,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -33,19 +47,97 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/ascii-table": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", + "integrity": "sha512-xpkr6sCDIYTPqzvjG8M3ncw1YOTaloWZOyrUmicoEifBEKzQzt+ooUpRpQ/AbOoJfO/p2ZKiyp79qHThzJDulQ==", + "license": "MIT" + }, "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/canvas": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-3.2.2.tgz", + "integrity": "sha512-duEt4h1HHu9sJZyVKfLRXR6tsKPY7cEELzxSRJkwddOXYvQT3P/+es98SV384JA0zMOZ5s+9gatnGfM6sL4Drg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.3" + }, + "engines": { + "node": "^18.12.0 || >= 20.9.0" + } }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -55,10 +147,17 @@ "node": ">=4" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -66,12 +165,14 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/command-line-args": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "license": "MIT", "dependencies": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -86,6 +187,7 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz", "integrity": "sha512-d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==", + "license": "MIT", "dependencies": { "array-back": "^2.0.0", "chalk": "^2.4.1", @@ -100,6 +202,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "license": "MIT", "dependencies": { "typical": "^2.6.1" }, @@ -110,28 +213,328 @@ "node_modules/command-line-usage/node_modules/typical": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo-projection": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-4.0.0.tgz", + "integrity": "sha512-p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==", + "license": "ISC", + "dependencies": { + "commander": "7", + "d3-array": "1 - 3", + "d3-geo": "1.12.0 - 3" + }, + "bin": { + "geo2svg": "bin/geo2svg.js", + "geograticule": "bin/geograticule.js", + "geoproject": "bin/geoproject.js", + "geoquantize": "bin/geoquantize.js", + "geostitch": "bin/geostitch.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } }, + "node_modules/delaunator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, "node_modules/find-replace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "license": "MIT", "dependencies": { "array-back": "^3.0.1" }, @@ -139,28 +542,145 @@ "node": ">=4.0.0" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" }, "node_modules/lodash.padend": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", + "license": "MIT" + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -169,6 +689,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -176,33 +697,275 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/node-abi": { + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/pyret-npm": { - "version": "0.0.27", - "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.27.tgz", - "integrity": "sha512-fpphKd/OKnoXdSMkKVkL2UHxjDjqlREHAmHX0Wp/qnYxlwiEzIP7Ai72m7TZpy4PfN9K+uGlUredIEBH6zXCAQ==", + "version": "0.0.90", + "resolved": "https://registry.npmjs.org/pyret-npm/-/pyret-npm-0.0.90.tgz", + "integrity": "sha512-1qpmlR5cb9d8fjfv8ma0a+jUH8U+UPoxYMyqPmn0UvRPI4X56OGxuvSLDxh1Qz5+4sRb5AxNK+jNly8YJ/Arvw==", + "license": "Apache-2.0", "dependencies": { + "ascii-table": "^0.0.9", + "canvas": "^3.1.0", "command-line-args": "^5.0.2", "command-line-usage": "^5.0.5", "mkdirp": "^0.5.1", + "resolve": "^1.22.10", "strip-ansi": "^4.0.0", + "vega": "^6.1.2", "ws": "^5.2.1" }, "bin": { "pyret": "pyret.js" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/reduce-flatten": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", + "license": "Unlicense" + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -210,10 +973,20 @@ "node": ">=4" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -221,10 +994,23 @@ "node": ">=4" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/table-layout": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "license": "MIT", "dependencies": { "array-back": "^2.0.0", "deep-extend": "~0.6.0", @@ -240,6 +1026,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "license": "MIT", "dependencies": { "typical": "^2.6.1" }, @@ -250,20 +1037,465 @@ "node_modules/table-layout/node_modules/typical": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "license": "MIT" + }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "license": "ISC", + "dependencies": { + "commander": "2" + }, + "bin": { + "topo2geo": "bin/topo2geo", + "topomerge": "bin/topomerge", + "topoquantize": "bin/topoquantize" + } + }, + "node_modules/topojson-client/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, "node_modules/typical": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vega": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/vega/-/vega-6.2.0.tgz", + "integrity": "sha512-BIwalIcEGysJdQDjeVUmMWB3e50jPDNAMfLJscjEvpunU9bSt7X1OYnQxkg3uBwuRRI4nWfFZO9uIW910nLeGw==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-crossfilter": "~5.1.0", + "vega-dataflow": "~6.1.0", + "vega-encode": "~5.1.0", + "vega-event-selector": "~4.0.0", + "vega-expression": "~6.1.0", + "vega-force": "~5.1.0", + "vega-format": "~2.1.0", + "vega-functions": "~6.1.0", + "vega-geo": "~5.1.0", + "vega-hierarchy": "~5.1.0", + "vega-label": "~2.1.0", + "vega-loader": "~5.1.0", + "vega-parser": "~7.1.0", + "vega-projection": "~2.1.0", + "vega-regression": "~2.1.0", + "vega-runtime": "~7.1.0", + "vega-scale": "~8.1.0", + "vega-scenegraph": "~5.1.0", + "vega-statistics": "~2.0.0", + "vega-time": "~3.1.0", + "vega-transforms": "~5.1.0", + "vega-typings": "~2.1.0", + "vega-util": "~2.1.0", + "vega-view": "~6.1.0", + "vega-view-transforms": "~5.1.0", + "vega-voronoi": "~5.1.0", + "vega-wordcloud": "~5.1.0" + }, + "funding": { + "url": "https://app.hubspot.com/payments/GyPC972GD9Rt" + } + }, + "node_modules/vega-canvas": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vega-canvas/-/vega-canvas-2.0.0.tgz", + "integrity": "sha512-9x+4TTw/USYST5nx4yN272sy9WcqSRjAR0tkQYZJ4cQIeon7uVsnohvoPQK1JZu7K1QXGUqzj08z0u/UegBVMA==", + "license": "BSD-3-Clause" + }, + "node_modules/vega-crossfilter": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-crossfilter/-/vega-crossfilter-5.1.0.tgz", + "integrity": "sha512-EmVhfP3p6AM7o/lPan/QAoqjblI19BxWUlvl2TSs0xjQd8KbaYYbS4Ixt3cmEvl0QjRdBMF6CdJJ/cy9DTS4Fw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "vega-dataflow": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-dataflow": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-6.1.0.tgz", + "integrity": "sha512-JxumGlODtFbzoQ4c/jQK8Tb/68ih0lrexlCozcMfTAwQ12XhTqCvlafh7MAKKTMBizjOfaQTHm4Jkyb1H5CfyQ==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-format": "^2.1.0", + "vega-loader": "^5.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-encode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-encode/-/vega-encode-5.1.0.tgz", + "integrity": "sha512-q26oI7B+MBQYcTQcr5/c1AMsX3FvjZLQOBi7yI0vV+GEn93fElDgvhQiYrgeYSD4Exi/jBPeUXuN6p4bLz16kA==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-interpolate": "^3.0.1", + "vega-dataflow": "^6.1.0", + "vega-scale": "^8.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-event-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vega-event-selector/-/vega-event-selector-4.0.0.tgz", + "integrity": "sha512-CcWF4m4KL/al1Oa5qSzZ5R776q8lRxCj3IafCHs5xipoEHrkgu1BWa7F/IH5HrDNXeIDnqOpSV1pFsAWRak4gQ==", + "license": "BSD-3-Clause" + }, + "node_modules/vega-expression": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-6.1.0.tgz", + "integrity": "sha512-hHgNx/fQ1Vn1u6vHSamH7lRMsOa/yQeHGGcWVmh8fZafLdwdhCM91kZD9p7+AleNpgwiwzfGogtpATFaMmDFYg==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/estree": "^1.0.8", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-force": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-force/-/vega-force-5.1.0.tgz", + "integrity": "sha512-wdnchOSeXpF9Xx8Yp0s6Do9F7YkFeOn/E/nENtsI7NOcyHpICJ5+UkgjUo9QaQ/Yu+dIDU+sP/4NXsUtq6SMaQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-force": "^3.0.0", + "vega-dataflow": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-format/-/vega-format-2.1.0.tgz", + "integrity": "sha512-i9Ht33IgqG36+S1gFDpAiKvXCPz+q+1vDhDGKK8YsgMxGOG4PzinKakI66xd7SdV4q97FgpR7odAXqtDN2wKqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-format": "^3.1.0", + "d3-time-format": "^4.1.0", + "vega-time": "^3.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-functions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-6.1.1.tgz", + "integrity": "sha512-Due6jP0y0FfsGMTrHnzUGnEwXPu7VwE+9relfo+LjL/tRPYnnKqwWvzt7n9JkeBuZqjkgYjMzm/WucNn6Hkw5A==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-color": "^3.1.0", + "d3-geo": "^3.1.1", + "vega-dataflow": "^6.1.0", + "vega-expression": "^6.1.0", + "vega-scale": "^8.1.0", + "vega-scenegraph": "^5.1.0", + "vega-selections": "^6.1.0", + "vega-statistics": "^2.0.0", + "vega-time": "^3.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-geo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-geo/-/vega-geo-5.1.0.tgz", + "integrity": "sha512-H8aBBHfthc3rzDbz/Th18+Nvp00J73q3uXGAPDQqizioDm/CoXCK8cX4pMePydBY9S6ikBiGJrLKFDa80wI20g==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-color": "^3.1.0", + "d3-geo": "^3.1.1", + "vega-canvas": "^2.0.0", + "vega-dataflow": "^6.1.0", + "vega-projection": "^2.1.0", + "vega-statistics": "^2.0.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-hierarchy": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-hierarchy/-/vega-hierarchy-5.1.0.tgz", + "integrity": "sha512-rZlU8QJNETlB6o73lGCPybZtw2fBBsRIRuFE77aCLFHdGsh6wIifhplVarqE9icBqjUHRRUOmcEYfzwVIPr65g==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-hierarchy": "^3.1.2", + "vega-dataflow": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-label": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-label/-/vega-label-2.1.0.tgz", + "integrity": "sha512-/hgf+zoA3FViDBehrQT42Lta3t8In6YwtMnwjYlh72zNn1p3c7E3YUBwqmAqTM1x+tudgzMRGLYig+bX1ewZxQ==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-canvas": "^2.0.0", + "vega-dataflow": "^6.1.0", + "vega-scenegraph": "^5.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-loader": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-5.1.0.tgz", + "integrity": "sha512-GaY3BdSPbPNdtrBz8SYUBNmNd8mdPc3mtdZfdkFazQ0RD9m+Toz5oR8fKnTamNSk9fRTJX0Lp3uEqxrAlQVreg==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-dsv": "^3.0.1", + "topojson-client": "^3.1.0", + "vega-format": "^2.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vega-parser/-/vega-parser-7.1.0.tgz", + "integrity": "sha512-g0lrYxtmYVW8G6yXpIS4J3Uxt9OUSkc0bLu5afoYDo4rZmoOOdll3x3ebActp5LHPW+usZIE+p5nukRS2vEc7Q==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-dataflow": "^6.1.0", + "vega-event-selector": "^4.0.0", + "vega-functions": "^6.1.0", + "vega-scale": "^8.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-projection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-projection/-/vega-projection-2.1.0.tgz", + "integrity": "sha512-EjRjVSoMR5ibrU7q8LaOQKP327NcOAM1+eZ+NO4ANvvAutwmbNVTmfA1VpPH+AD0AlBYc39ND/wnRk7SieDiXA==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-geo": "^3.1.1", + "d3-geo-projection": "^4.0.0", + "vega-scale": "^8.1.0" + } + }, + "node_modules/vega-regression": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-regression/-/vega-regression-2.1.0.tgz", + "integrity": "sha512-HzC7MuoEwG1rIxRaNTqgcaYF03z/ZxYkQR2D5BN0N45kLnHY1HJXiEcZkcffTsqXdspLjn47yLi44UoCwF5fxQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "vega-dataflow": "^6.1.0", + "vega-statistics": "^2.0.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-runtime": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vega-runtime/-/vega-runtime-7.1.0.tgz", + "integrity": "sha512-mItI+WHimyEcZlZrQ/zYR3LwHVeyHCWwp7MKaBjkU8EwkSxEEGVceyGUY9X2YuJLiOgkLz/6juYDbMv60pfwYA==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-dataflow": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-scale": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vega-scale/-/vega-scale-8.1.0.tgz", + "integrity": "sha512-VEgDuEcOec8+C8+FzLcnAmcXrv2gAJKqQifCdQhkgnsLa978vYUgVfCut/mBSMMHbH8wlUV1D0fKZTjRukA1+A==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-scale-chromatic": "^3.1.0", + "vega-time": "^3.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-scenegraph": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-5.1.0.tgz", + "integrity": "sha512-4gA89CFIxkZX+4Nvl8SZF2MBOqnlj9J5zgdPh/HPx+JOwtzSlUqIhxFpFj7GWYfwzr/PyZnguBLPihPw1Og/cA==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "^3.1.0", + "d3-shape": "^3.2.0", + "vega-canvas": "^2.0.0", + "vega-loader": "^5.1.0", + "vega-scale": "^8.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-selections": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/vega-selections/-/vega-selections-6.1.2.tgz", + "integrity": "sha512-xJ+V4qdd46nk2RBdwIRrQm2iSTMHdlu/omhLz1pqRL3jZDrkqNBXimrisci2kIKpH2WBpA1YVagwuZEKBmF2Qw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "3.2.4", + "vega-expression": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-statistics": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vega-statistics/-/vega-statistics-2.0.0.tgz", + "integrity": "sha512-dGPfDXnBlgXbZF3oxtkb8JfeRXd5TYHx25Z/tIoaa9jWua4Vf/AoW2wwh8J1qmMy8J03/29aowkp1yk4DOPazQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4" + } + }, + "node_modules/vega-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vega-time/-/vega-time-3.1.0.tgz", + "integrity": "sha512-G93mWzPwNa6UYQRkr8Ujur9uqxbBDjDT/WpXjbDY0yygdSkRT+zXF+Sb4gjhW0nPaqdiwkn0R6kZcSPMj1bMNA==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-time": "^3.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-transforms/-/vega-transforms-5.1.0.tgz", + "integrity": "sha512-mj/sO2tSuzzpiXX8JSl4DDlhEmVwM/46MTAzTNQUQzJPMI/n4ChCjr/SdEbfEyzlD4DPm1bjohZGjLc010yuMg==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "vega-dataflow": "^6.1.0", + "vega-statistics": "^2.0.0", + "vega-time": "^3.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-typings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-typings/-/vega-typings-2.1.0.tgz", + "integrity": "sha512-zdis4Fg4gv37yEvTTSZEVMNhp8hwyEl7GZ4X4HHddRVRKxWFsbyKvZx/YW5Z9Ox4sjxVA2qHzEbod4Fdx+SEJA==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/geojson": "7946.0.16", + "vega-event-selector": "^4.0.0", + "vega-expression": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-util": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vega-util/-/vega-util-2.1.0.tgz", + "integrity": "sha512-PGfp0m0QCufDmcxKJCWQy4Ov23FoF8DSXmoJwSezi3itQaa2hbxK0+xwsTMP2vy4PR16Pu25HMzgMwXVW1+33w==", + "license": "BSD-3-Clause" + }, + "node_modules/vega-view": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/vega-view/-/vega-view-6.1.0.tgz", + "integrity": "sha512-hmHDm/zC65lb23mb9Tr9Gx0wkxP0TMS31LpMPYxIZpvInxvUn7TYitkOtz1elr63k2YZrgmF7ztdGyQ4iCQ5fQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "^3.2.4", + "d3-timer": "^3.0.1", + "vega-dataflow": "^6.1.0", + "vega-format": "^2.1.0", + "vega-functions": "^6.1.0", + "vega-runtime": "^7.1.0", + "vega-scenegraph": "^5.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-view-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-view-transforms/-/vega-view-transforms-5.1.0.tgz", + "integrity": "sha512-fpigh/xn/32t+An1ShoY3MLeGzNdlbAp2+HvFKzPpmpMTZqJEWkk/J/wHU7Swyc28Ta7W1z3fO+8dZkOYO5TWQ==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-dataflow": "^6.1.0", + "vega-scenegraph": "^5.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-voronoi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-voronoi/-/vega-voronoi-5.1.0.tgz", + "integrity": "sha512-uKdsoR9x60mz7eYtVG+NhlkdQXeVdMr6jHNAHxs+W+i6kawkUp5S9jp1xf1FmW/uZvtO1eqinHQNwATcDRsiUg==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-delaunay": "^6.0.4", + "vega-dataflow": "^6.1.0", + "vega-util": "^2.1.0" + } + }, + "node_modules/vega-wordcloud": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vega-wordcloud/-/vega-wordcloud-5.1.0.tgz", + "integrity": "sha512-sSdNmT8y2D7xXhM2h76dKyaYn3PA4eV49WUUkfYfqHz/vpcu10GSAoFxLhQQTkbZXR+q5ZB63tFUow9W2IFo6g==", + "license": "BSD-3-Clause", + "dependencies": { + "vega-canvas": "^2.0.0", + "vega-dataflow": "^6.1.0", + "vega-scale": "^8.1.0", + "vega-statistics": "^2.0.0", + "vega-util": "^2.1.0" + } + }, "node_modules/wordwrapjs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "license": "MIT", "dependencies": { "reduce-flatten": "^1.0.1", "typical": "^2.6.1" @@ -275,12 +1507,20 @@ "node_modules/wordwrapjs/node_modules/typical": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.4.tgz", + "integrity": "sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==", + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } diff --git a/package.json b/package.json index 2c9d116..a82f1dc 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,6 @@ "url": "https://github.com/exercism/pyret" }, "dependencies": { - "pyret-npm": "^0.0.27" + "pyret-npm": "^0.0.90" } } From 53b6fd91346de6e6320bc075678fbb6517d7db1a Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:43:33 -0700 Subject: [PATCH 239/244] Remove note about skipped tests --- README.md | 6 ------ exercises/practice/acronym/acronym-test.arr | 8 +------- exercises/practice/allergies/allergies-test.arr | 8 +------- exercises/practice/anagram/anagram-test.arr | 8 +------- .../practice/armstrong-numbers/armstrong-numbers-test.arr | 8 +------- exercises/practice/atbash-cipher/atbash-cipher-test.arr | 8 +------- exercises/practice/bank-account/bank-account-test.arr | 8 +------- exercises/practice/binary-search/binary-search-test.arr | 6 ------ exercises/practice/bob/bob-test.arr | 8 +------- .../practice/circular-buffer/circular-buffer-test.arr | 6 ------ exercises/practice/clock/clock-test.arr | 8 +------- .../collatz-conjecture/collatz-conjecture-test.arr | 6 ------ exercises/practice/darts/darts-test.arr | 6 ------ .../difference-of-squares/difference-of-squares-test.arr | 8 +------- exercises/practice/dnd-character/dnd-character-test.arr | 6 ------ exercises/practice/eliuds-eggs/eliuds-eggs-test.arr | 6 ------ exercises/practice/etl/etl-test.arr | 6 ------ exercises/practice/flatten-array/flatten-array-test.arr | 8 +------- exercises/practice/grains/grains-test.arr | 8 +------- exercises/practice/hamming/hamming-test.arr | 8 +------- exercises/practice/hello-world/hello-world-test.arr | 6 ------ exercises/practice/high-scores/high-scores-test.arr | 8 +------- exercises/practice/isogram/isogram-test.arr | 6 ------ exercises/practice/leap/leap-test.arr | 6 ------ exercises/practice/line-up/line-up-test.arr | 6 ------ exercises/practice/list-ops/list-ops-test.arr | 6 ------ exercises/practice/luhn/luhn-test.arr | 6 ------ exercises/practice/matrix/matrix-test.arr | 6 ------ .../practice/nucleotide-count/nucleotide-count-test.arr | 6 ------ exercises/practice/pangram/pangram-test.arr | 8 +------- .../practice/perfect-numbers/perfect-numbers-test.arr | 6 ------ exercises/practice/phone-number/phone-number-test.arr | 6 ------ .../protein-translation/protein-translation-test.arr | 6 ------ exercises/practice/proverb/proverb-test.arr | 8 +------- exercises/practice/queen-attack/queen-attack-test.arr | 8 +------- exercises/practice/raindrops/raindrops-test.arr | 6 ------ .../resistor-color-duo/resistor-color-duo-test.arr | 6 ------ .../resistor-color-trio/resistor-color-trio-test.arr | 6 ------ exercises/practice/resistor-color/resistor-color-test.arr | 6 ------ exercises/practice/reverse-string/reverse-string-test.arr | 6 ------ .../practice/rna-transcription/rna-transcription-test.arr | 6 ------ .../practice/robot-simulator/robot-simulator-test.arr | 6 ------ exercises/practice/roman-numerals/roman-numerals-test.arr | 6 ------ exercises/practice/scrabble-score/scrabble-score-test.arr | 6 ------ .../practice/secret-handshake/secret-handshake-test.arr | 6 ------ exercises/practice/series/series-test.arr | 6 ------ exercises/practice/sieve/sieve-test.arr | 6 ------ .../simple-linked-list/simple-linked-list-test.arr | 8 +------- exercises/practice/space-age/space-age-test.arr | 6 ------ exercises/practice/square-root/square-root-test.arr | 6 ------ exercises/practice/strain/strain-test.arr | 6 ------ exercises/practice/triangle/triangle-test.arr | 6 ------ exercises/practice/two-fer/two-fer-test.arr | 6 ------ exercises/practice/word-count/word-count-test.arr | 6 ------ 54 files changed, 17 insertions(+), 341 deletions(-) diff --git a/README.md b/README.md index f5e4a70..5ecc328 100644 --- a/README.md +++ b/README.md @@ -44,12 +44,6 @@ use context essentials2020 include file("exercise-slug.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun foo-returns-1(): check "foo returns 1": foo() is 1 diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index de86267..300e99c 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("acronym.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun basic(): check "basic": abbreviate("Portable Network Graphics") is "PNG" @@ -80,4 +74,4 @@ data TestRun: test(run, active) end test(consecutive-delimiters, false), test(apostrophes, false), test(underscore-emphasis, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/allergies/allergies-test.arr b/exercises/practice/allergies/allergies-test.arr index 93ed2c2..562d0ef 100644 --- a/exercises/practice/allergies/allergies-test.arr +++ b/exercises/practice/allergies/allergies-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("allergies.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - # Eggs fun eggs-allergy-not-allergic-to-anything(): @@ -455,4 +449,4 @@ data TestRun: test(run, active) end test(list-when-everything, false), test(list-when-no-allergen-score-parts, false), test(list-when-no-allergen-score-parts-without-highest-valid-score, false), -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index d1ffa83..a7925df 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("anagram.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun no-matches(): check "no matches": candidates = [list: "hello", "world", "zombies", "pants"] @@ -177,4 +171,4 @@ data TestRun: test(run, active) end test(words-are-not-anagrams-of-themselves-even-if-case-partially-different, false), test(words-are-not-anagrams-of-themselves-even-if-case-completely-different, false), test(words-other-than-self-can-be-anagram, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr index 48678e0..f82b2d9 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("armstrong-numbers.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun zero-is-armstrong(): check "Zero is an Armstrong number": is-armstrong-number(0) is true @@ -94,4 +88,4 @@ data TestRun: test(run, active) end test(seven-digit-is-not-armstrong, false), test(number-with-seven-zeroes-is-not-armstrong, false), test(largest-armstrong-number, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr index e83d5c5..0454c18 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher-test.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("atbash-cipher.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun encode-yes(): check "encode -> encode yes": input = "yes" @@ -157,4 +151,4 @@ data TestRun: test(run, active) end test(decode-all-letters, false), test(decode-with-too-many-spaces, false), test(decode-with-no-spaces, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/bank-account/bank-account-test.arr b/exercises/practice/bank-account/bank-account-test.arr index 534fc2b..8f34daf 100644 --- a/exercises/practice/bank-account/bank-account-test.arr +++ b/exercises/practice/bank-account/bank-account-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("bank-account.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun open-account-zero-balance(): check "Newly opened account has zero balance": account().open().get-balance() is 0 @@ -136,4 +130,4 @@ data TestRun: test(run, active) end test(no-withdraw-more-than-deposited, false), test(no-withdraw-negative-amount, false), test(no-deposit-negative-amount, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index 70b20ee..b0b347a 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("binary-search.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun value-in-list-of-one(): check "finds a value in a list with one element": binary-search([list: 6], 6) is 0 diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index c847f9d..a701613 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("bob.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun stating-something(): check "stating something": input = "Tom-ay-to, tom-aaaah-to." @@ -267,4 +261,4 @@ data TestRun: test(run, active) end test(ending-with-whitespace, false), test(other-whitespace, false), test(non-question-ending-with-whitespace, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/circular-buffer/circular-buffer-test.arr b/exercises/practice/circular-buffer/circular-buffer-test.arr index d1653dc..99c808c 100644 --- a/exercises/practice/circular-buffer/circular-buffer-test.arr +++ b/exercises/practice/circular-buffer/circular-buffer-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("circular-buffer.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun read-empty-buffer-should-fail(): check "reading empty buffer should fail": buff = make-buffer(1) diff --git a/exercises/practice/clock/clock-test.arr b/exercises/practice/clock/clock-test.arr index e310965..3a12635 100644 --- a/exercises/practice/clock/clock-test.arr +++ b/exercises/practice/clock/clock-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("clock.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun create-clock-on-hour(): check "Create a new clock with an initial time -> on the hour": clock(8, 0).normalize().to-string() is "08:00" @@ -380,4 +374,4 @@ data TestRun: test(run, active) end test(equality-negative-hour-and-minute, false), test(equality-negative-hours-and-minutes-rollover, false), test(equality-full-clock-empty-clock, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr index e624f9a..bb56b8e 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("collatz-conjecture.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun zero-steps-for-one(): check "zero steps for one": steps(1) is 0 diff --git a/exercises/practice/darts/darts-test.arr b/exercises/practice/darts/darts-test.arr index 5d4def0..ce54f82 100644 --- a/exercises/practice/darts/darts-test.arr +++ b/exercises/practice/darts/darts-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("darts.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun missed-target(): check "Missed target": score(-9, 9) is 0 diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr index 192dc8a..eb86b6b 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares-test.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("difference-of-squares.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun square-of-sum-1(): check "Square the sum of the numbers up to the given number -> square of sum 1": square-of-sum(1) is 1 @@ -80,4 +74,4 @@ data TestRun: test(run, active) end test(difference-of-squares-1, false), test(difference-of-squares-5, false), test(dfference-of-squares-100, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index f8d9b61..03ecbd2 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("dnd-character.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - # declaring some variables to be more concise inside the tests. modifier = blank-character().modifier diff --git a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr index 744d8fb..c8d1d7b 100644 --- a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr +++ b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("eliuds-eggs.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun zero-eggs(): check "0 eggs": egg-count(0) is 0 diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 42c7c0c..8af7251 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("etl.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - include string-dict fun single-letter(): diff --git a/exercises/practice/flatten-array/flatten-array-test.arr b/exercises/practice/flatten-array/flatten-array-test.arr index cd32767..b7f6c4c 100644 --- a/exercises/practice/flatten-array/flatten-array-test.arr +++ b/exercises/practice/flatten-array/flatten-array-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("flatten-array.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-array(): check "empty": input = [list: ] @@ -204,4 +198,4 @@ data TestRun: test(run, active) end test(omit-nothings-from-middle, false), test(six-levels-with-nothings, false), test(all-nothings, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr index 27982e0..7681ac6 100644 --- a/exercises/practice/grains/grains-test.arr +++ b/exercises/practice/grains/grains-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("grains.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun on-square-1(): check "returns the number of grains on the square -> grains on square 1": on-square(1) is 1 @@ -94,4 +88,4 @@ data TestRun: test(run, active) end test(on-square-raises-exception-for-negative, false), test(on-square-raises-exception-for-65, false), test(total-returns-all-grains, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr index 93452e4..dd94fce 100644 --- a/exercises/practice/hamming/hamming-test.arr +++ b/exercises/practice/hamming/hamming-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("hamming.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-strands(): check "empty strands": distance("", "") is 0 @@ -80,4 +74,4 @@ data TestRun: test(run, active) end test(disallow-second-strand-longer, false), test(disallow-empty-first-strand, false), test(disallow-empty-second-strand, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/hello-world/hello-world-test.arr b/exercises/practice/hello-world/hello-world-test.arr index 46d955f..7354083 100644 --- a/exercises/practice/hello-world/hello-world-test.arr +++ b/exercises/practice/hello-world/hello-world-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("hello-world.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun say-hi(): check "Say Hi!": hello() is "Hello, World!" diff --git a/exercises/practice/high-scores/high-scores-test.arr b/exercises/practice/high-scores/high-scores-test.arr index 977bdbb..eb18196 100644 --- a/exercises/practice/high-scores/high-scores-test.arr +++ b/exercises/practice/high-scores/high-scores-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("high-scores.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun list-of-scores(): check "List of scores": scores = [list: 30, 50, 20, 70] @@ -97,4 +91,4 @@ data TestRun: test(run, active) end test(top-three-with-tie, false), test(top-three-when-less-than-three, false), test(top-three-when-only-one, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index a7b9231..9bf39fe 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("isogram.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-string(): check "empty string": is-isogram("") is true diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr index a9c8336..2cc37c7 100644 --- a/exercises/practice/leap/leap-test.arr +++ b/exercises/practice/leap/leap-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("leap.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun not-divisible-by-4(): check "year not divisible by 4 in common year": leap(2015) is false diff --git a/exercises/practice/line-up/line-up-test.arr b/exercises/practice/line-up/line-up-test.arr index 66fde33..6a16174 100644 --- a/exercises/practice/line-up/line-up-test.arr +++ b/exercises/practice/line-up/line-up-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("line-up.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun format-4(): check "format smallest non-exceptional ordinal numeral 4": diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index d0938df..eda8634 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("list-ops.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun append-empty-to-empty(): check "append entries to a list and return the new list -> empty lists": list1 = [list: ] diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr index ed52642..2156cfd 100644 --- a/exercises/practice/luhn/luhn-test.arr +++ b/exercises/practice/luhn/luhn-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("luhn.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun invalid-single-digit(): check "single digit strings can not be valid": is-valid("1") is false diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr index 0b22560..f9a0960 100644 --- a/exercises/practice/matrix/matrix-test.arr +++ b/exercises/practice/matrix/matrix-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("matrix.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun extract-row-from-one-row-matrix(): check "extract row from one number matrix": m = matrix("1") diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index a835af4..a04dd28 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -4,12 +4,6 @@ include file("nucleotide-count.arr") include string-dict -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-strand(): check "empty strand": input = "" diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr index 8933159..61d17cf 100644 --- a/exercises/practice/pangram/pangram-test.arr +++ b/exercises/practice/pangram/pangram-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("pangram.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-sentence(): check "empty sentence": input = "" @@ -97,4 +91,4 @@ data TestRun: test(run, active) end test(missing-letters-replaced-by-numbers, false), test(mixed-case-and-punctuation, false), test(length-of-alphabet-but-not-pangram, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 80c9978..1aee81e 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("perfect-numbers.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun smallest-perfect(): check "Perfect numbers -> Smallest perfect number is classified correctly": classify(6) is "perfect" diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr index e6f86dd..cf6f9c5 100644 --- a/exercises/practice/phone-number/phone-number-test.arr +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("phone-number.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun clean-number(): check "cleans the number": clean("(223) 456-7890") is "2234567890" diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index f56ca5a..c66df35 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("protein-translation.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun no-protein(): check "Empty RNA sequence results in no proteins": proteins("") is [list: ] diff --git a/exercises/practice/proverb/proverb-test.arr b/exercises/practice/proverb/proverb-test.arr index 6c9b04b..7e7489c 100644 --- a/exercises/practice/proverb/proverb-test.arr +++ b/exercises/practice/proverb/proverb-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("proverb.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun zero-pieces(): check "zero pieces": recite([list: ]) is [list: ] @@ -86,4 +80,4 @@ data TestRun: test(run, active) end test(three-pieces, false), test(full-proverb, false), test(four-pieces-modernized, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/queen-attack/queen-attack-test.arr b/exercises/practice/queen-attack/queen-attack-test.arr index c6f78f6..86a1477 100644 --- a/exercises/practice/queen-attack/queen-attack-test.arr +++ b/exercises/practice/queen-attack/queen-attack-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("queen-attack.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun valid-position(): check "Test creation of Queens with valid and invalid positions -> queen with a valid position": queen(2, 2) does-not-raise @@ -108,4 +102,4 @@ data TestRun: test(run, active) end test(can-attack-on-third-diagonal, false), test(can-attack-on-fourth-diagonal, false), test(can-not-attack-on-reflected-diagonal, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr index a8f62fa..5279416 100644 --- a/exercises/practice/raindrops/raindrops-test.arr +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("raindrops.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun convert-1(): check "the sound for 1 is 1": convert(1) is "1" diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr index 1b4440b..a4cb24b 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("resistor-color-duo.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun brown-and-black(): check "Brown and black": color-code([list: "brown", "black"]) is 10 diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr index e71fca2..6da93af 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("resistor-color-trio.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun orange-orange-black(): check "Orange and orange and black": colors = [list: "orange", "orange", "black"] diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr index 75f96e2..6bea302 100644 --- a/exercises/practice/resistor-color/resistor-color-test.arr +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("resistor-color.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun color-code-black(): check "Color codes -> Black": color-code("black") is 0 diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr index 92b90ba..52cf952 100644 --- a/exercises/practice/reverse-string/reverse-string-test.arr +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("reverse-string.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-string(): check "an empty string": reversed("") is "" diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr index 9ad3463..7ed89a5 100644 --- a/exercises/practice/rna-transcription/rna-transcription-test.arr +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("rna-transcription.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-string(): check "Empty RNA sequence": to-rna("") is "" diff --git a/exercises/practice/robot-simulator/robot-simulator-test.arr b/exercises/practice/robot-simulator/robot-simulator-test.arr index 2b60306..f9bc23f 100644 --- a/exercises/practice/robot-simulator/robot-simulator-test.arr +++ b/exercises/practice/robot-simulator/robot-simulator-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("robot-simulator.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun create-robot-at-origin-facing-north(): check "Create robot at origin facing north": r = robot(0, 0, 'north') diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index 42a203f..df099b6 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("roman-numerals.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun I(): check "1 is I": to-roman(1) is "I" diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr index 4dbdd85..c00f01a 100644 --- a/exercises/practice/scrabble-score/scrabble-score-test.arr +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("scrabble-score.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun lowercase-letter(): check "lowercase letter": score("a") is 1 diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr index 41609f4..e9e1dcb 100644 --- a/exercises/practice/secret-handshake/secret-handshake-test.arr +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("secret-handshake.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun wink(): check "wink for 1": commands("00001") is [list: "wink"] diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr index 5930475..5fe7d83 100644 --- a/exercises/practice/series/series-test.arr +++ b/exercises/practice/series/series-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("series.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun slices-of-one-from-one(): check "slices of one from one": slices("1", 1) is [list: "1"] diff --git a/exercises/practice/sieve/sieve-test.arr b/exercises/practice/sieve/sieve-test.arr index ec4c0a8..ceaa165 100644 --- a/exercises/practice/sieve/sieve-test.arr +++ b/exercises/practice/sieve/sieve-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("sieve.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun no-primes-under-two(): check "no primes under two": primes(1) is [list:] diff --git a/exercises/practice/simple-linked-list/simple-linked-list-test.arr b/exercises/practice/simple-linked-list/simple-linked-list-test.arr index 16d8348..6d2d467 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list-test.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list-test.arr @@ -4,12 +4,6 @@ include file("simple-linked-list.arr") # No canonical data available for this exercise so these have been ported from Python and F# -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun empty-list-length-zero(): check "empty list has length zero": empty-list.length() is 0 @@ -176,4 +170,4 @@ data TestRun: test(run, active) end test(reversed-empty-list-is-empty-list, false), test(reversed-singleton-list-is-same-list, false), test(reverse-non-empty-list, false) -].each(lam(t): when t.active: t.run() end end) \ No newline at end of file +].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index 8ecf54a..d5341ae 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("space-age.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun around(delta :: Number) -> (Number, Number -> Boolean): doc: "provides a predicate that returns true if the absolute values of two numbers are less than or equal to the specified delta" lam(actual, target): diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr index 05a4f3a..f6fa074 100644 --- a/exercises/practice/square-root/square-root-test.arr +++ b/exercises/practice/square-root/square-root-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("square-root.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun root-of-one(): check "root of 1": square-root(1) is 1 diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr index efd4ead..1896b67 100644 --- a/exercises/practice/strain/strain-test.arr +++ b/exercises/practice/strain/strain-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("strain.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun keep-on-empty-list-returns-empty-list(): check "keep on empty list returns empty list": input = [list: ] diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr index 590e741..280a4ad 100644 --- a/exercises/practice/triangle/triangle-test.arr +++ b/exercises/practice/triangle/triangle-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("triangle.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun equilateral-all-equal-sides(): check "equilateral triangle -> all sides are equal": equilateral([list: 2, 2, 2]) is true diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr index 8039690..aaca81a 100644 --- a/exercises/practice/two-fer/two-fer-test.arr +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -2,12 +2,6 @@ use context essentials2020 include file("two-fer.arr") -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun no-name-given(): check "no name given": two-fer("") is "One for you, one for me." diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr index a6cde28..41f81a6 100644 --- a/exercises/practice/word-count/word-count-test.arr +++ b/exercises/practice/word-count/word-count-test.arr @@ -4,12 +4,6 @@ include file("word-count.arr") include string-dict -#| - When working offline, all tests except the first one are skipped by default. - Once you get the first test running, unskip the next one until all tests pass locally. - Check the block comment below for further details. -|# - fun count-one-word(): check "count one word": input = "word" From dd53ca2b4762f8b86d120d07c19aa8622fd07dd2 Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:44:14 -0700 Subject: [PATCH 240/244] Update more use contexts --- README.md | 4 ++-- exercises/practice/acronym/acronym-test.arr | 2 +- exercises/practice/allergies/allergies-test.arr | 2 +- exercises/practice/anagram/anagram-test.arr | 2 +- .../practice/armstrong-numbers/armstrong-numbers-test.arr | 2 +- exercises/practice/atbash-cipher/atbash-cipher-test.arr | 2 +- exercises/practice/bank-account/bank-account-test.arr | 2 +- exercises/practice/binary-search/binary-search-test.arr | 2 +- exercises/practice/bob/bob-test.arr | 2 +- exercises/practice/circular-buffer/circular-buffer-test.arr | 2 +- exercises/practice/clock/clock-test.arr | 2 +- .../practice/collatz-conjecture/collatz-conjecture-test.arr | 2 +- exercises/practice/darts/darts-test.arr | 2 +- .../difference-of-squares/difference-of-squares-test.arr | 2 +- exercises/practice/dnd-character/dnd-character-test.arr | 2 +- exercises/practice/eliuds-eggs/eliuds-eggs-test.arr | 2 +- exercises/practice/etl/etl-test.arr | 2 +- exercises/practice/flatten-array/flatten-array-test.arr | 2 +- exercises/practice/grains/grains-test.arr | 2 +- exercises/practice/hamming/hamming-test.arr | 2 +- exercises/practice/hello-world/hello-world-test.arr | 2 +- exercises/practice/high-scores/high-scores-test.arr | 2 +- exercises/practice/isogram/isogram-test.arr | 2 +- exercises/practice/leap/leap-test.arr | 2 +- exercises/practice/line-up/line-up-test.arr | 2 +- exercises/practice/list-ops/list-ops-test.arr | 2 +- exercises/practice/luhn/luhn-test.arr | 2 +- exercises/practice/matrix/matrix-test.arr | 2 +- exercises/practice/nucleotide-count/nucleotide-count-test.arr | 2 +- exercises/practice/pangram/pangram-test.arr | 2 +- exercises/practice/perfect-numbers/perfect-numbers-test.arr | 2 +- exercises/practice/phone-number/phone-number-test.arr | 2 +- .../practice/protein-translation/protein-translation-test.arr | 2 +- exercises/practice/proverb/proverb-test.arr | 2 +- exercises/practice/queen-attack/queen-attack-test.arr | 2 +- exercises/practice/raindrops/raindrops-test.arr | 2 +- .../practice/resistor-color-duo/resistor-color-duo-test.arr | 2 +- .../practice/resistor-color-trio/resistor-color-trio-test.arr | 2 +- exercises/practice/resistor-color/resistor-color-test.arr | 2 +- exercises/practice/reverse-string/reverse-string-test.arr | 2 +- .../practice/rna-transcription/rna-transcription-test.arr | 2 +- exercises/practice/robot-simulator/robot-simulator-test.arr | 2 +- exercises/practice/robot-simulator/robot-simulator.arr | 2 +- exercises/practice/roman-numerals/roman-numerals-test.arr | 2 +- exercises/practice/scrabble-score/scrabble-score-test.arr | 2 +- exercises/practice/secret-handshake/secret-handshake-test.arr | 2 +- exercises/practice/series/series-test.arr | 2 +- exercises/practice/sieve/sieve-test.arr | 2 +- .../practice/simple-linked-list/simple-linked-list-test.arr | 2 +- exercises/practice/space-age/space-age-test.arr | 2 +- exercises/practice/square-root/square-root-test.arr | 2 +- exercises/practice/strain/strain-test.arr | 2 +- exercises/practice/triangle/triangle-test.arr | 2 +- exercises/practice/two-fer/two-fer-test.arr | 2 +- exercises/practice/word-count/word-count-test.arr | 2 +- 55 files changed, 56 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 5ecc328..42d242d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Exercism exercises in Pyret. If you're solving Exercism exercises offline, you'll need a recent copy of [pyret-npm](https://www.npmjs.com/package/pyret-npm) (0.0.27+). Currently, pyret-npm works on Linux and MacOS platforms although Windows users can run it via the [WSL](https://learn.microsoft.com/en-us/windows/wsl/). However, you can also use [Pyret's online IDE](https://code.pyret.org/). -In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `essentials2020` supported by pyret-npm. +In that case, you'll need to switch from the IDE's default `essentials2021` namespace to the older `starter2024` supported by pyret-npm. ## Support @@ -40,7 +40,7 @@ A contributor is responsible for copying this template, adding the appropriate f ```pyret -use context essentials2020 +use context starter2024 include file("exercise-slug.arr") diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index 300e99c..bc109bb 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("acronym.arr") diff --git a/exercises/practice/allergies/allergies-test.arr b/exercises/practice/allergies/allergies-test.arr index 562d0ef..16586d0 100644 --- a/exercises/practice/allergies/allergies-test.arr +++ b/exercises/practice/allergies/allergies-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("allergies.arr") diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index a7925df..d2a8a3b 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("anagram.arr") diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr index f82b2d9..f7e3d22 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("armstrong-numbers.arr") diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr index 0454c18..f03b99d 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher-test.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("atbash-cipher.arr") diff --git a/exercises/practice/bank-account/bank-account-test.arr b/exercises/practice/bank-account/bank-account-test.arr index 8f34daf..67be5de 100644 --- a/exercises/practice/bank-account/bank-account-test.arr +++ b/exercises/practice/bank-account/bank-account-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("bank-account.arr") diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index b0b347a..79c9d7a 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("binary-search.arr") diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index a701613..532aefc 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("bob.arr") diff --git a/exercises/practice/circular-buffer/circular-buffer-test.arr b/exercises/practice/circular-buffer/circular-buffer-test.arr index 99c808c..e92dd86 100644 --- a/exercises/practice/circular-buffer/circular-buffer-test.arr +++ b/exercises/practice/circular-buffer/circular-buffer-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("circular-buffer.arr") diff --git a/exercises/practice/clock/clock-test.arr b/exercises/practice/clock/clock-test.arr index 3a12635..b06f3e4 100644 --- a/exercises/practice/clock/clock-test.arr +++ b/exercises/practice/clock/clock-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("clock.arr") diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr index bb56b8e..1537cdc 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("collatz-conjecture.arr") diff --git a/exercises/practice/darts/darts-test.arr b/exercises/practice/darts/darts-test.arr index ce54f82..97a1e9d 100644 --- a/exercises/practice/darts/darts-test.arr +++ b/exercises/practice/darts/darts-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("darts.arr") diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr index eb86b6b..16a0e98 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares-test.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("difference-of-squares.arr") diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index 03ecbd2..e4c05e5 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("dnd-character.arr") diff --git a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr index c8d1d7b..0957f92 100644 --- a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr +++ b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("eliuds-eggs.arr") diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 8af7251..5e93210 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("etl.arr") diff --git a/exercises/practice/flatten-array/flatten-array-test.arr b/exercises/practice/flatten-array/flatten-array-test.arr index b7f6c4c..a2b4b05 100644 --- a/exercises/practice/flatten-array/flatten-array-test.arr +++ b/exercises/practice/flatten-array/flatten-array-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("flatten-array.arr") diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr index 7681ac6..4b944f3 100644 --- a/exercises/practice/grains/grains-test.arr +++ b/exercises/practice/grains/grains-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("grains.arr") diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr index dd94fce..862d2c2 100644 --- a/exercises/practice/hamming/hamming-test.arr +++ b/exercises/practice/hamming/hamming-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("hamming.arr") diff --git a/exercises/practice/hello-world/hello-world-test.arr b/exercises/practice/hello-world/hello-world-test.arr index 7354083..8a9ef4a 100644 --- a/exercises/practice/hello-world/hello-world-test.arr +++ b/exercises/practice/hello-world/hello-world-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("hello-world.arr") diff --git a/exercises/practice/high-scores/high-scores-test.arr b/exercises/practice/high-scores/high-scores-test.arr index eb18196..e004b00 100644 --- a/exercises/practice/high-scores/high-scores-test.arr +++ b/exercises/practice/high-scores/high-scores-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("high-scores.arr") diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index 9bf39fe..4e0f89d 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("isogram.arr") diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr index 2cc37c7..efb4446 100644 --- a/exercises/practice/leap/leap-test.arr +++ b/exercises/practice/leap/leap-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("leap.arr") diff --git a/exercises/practice/line-up/line-up-test.arr b/exercises/practice/line-up/line-up-test.arr index 6a16174..b84f481 100644 --- a/exercises/practice/line-up/line-up-test.arr +++ b/exercises/practice/line-up/line-up-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("line-up.arr") diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index eda8634..3436768 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("list-ops.arr") diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr index 2156cfd..5662a45 100644 --- a/exercises/practice/luhn/luhn-test.arr +++ b/exercises/practice/luhn/luhn-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("luhn.arr") diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr index f9a0960..1a02444 100644 --- a/exercises/practice/matrix/matrix-test.arr +++ b/exercises/practice/matrix/matrix-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("matrix.arr") diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index a04dd28..7f55d5c 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("nucleotide-count.arr") diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr index 61d17cf..f8a1e82 100644 --- a/exercises/practice/pangram/pangram-test.arr +++ b/exercises/practice/pangram/pangram-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("pangram.arr") diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 1aee81e..74e8f68 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("perfect-numbers.arr") diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr index cf6f9c5..326ed59 100644 --- a/exercises/practice/phone-number/phone-number-test.arr +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("phone-number.arr") diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index c66df35..9f91a87 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("protein-translation.arr") diff --git a/exercises/practice/proverb/proverb-test.arr b/exercises/practice/proverb/proverb-test.arr index 7e7489c..a147193 100644 --- a/exercises/practice/proverb/proverb-test.arr +++ b/exercises/practice/proverb/proverb-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("proverb.arr") diff --git a/exercises/practice/queen-attack/queen-attack-test.arr b/exercises/practice/queen-attack/queen-attack-test.arr index 86a1477..7a5ad8f 100644 --- a/exercises/practice/queen-attack/queen-attack-test.arr +++ b/exercises/practice/queen-attack/queen-attack-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("queen-attack.arr") diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr index 5279416..b0a7e60 100644 --- a/exercises/practice/raindrops/raindrops-test.arr +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("raindrops.arr") diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr index a4cb24b..4a16754 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("resistor-color-duo.arr") diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr index 6da93af..324caf9 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("resistor-color-trio.arr") diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr index 6bea302..6bba5ed 100644 --- a/exercises/practice/resistor-color/resistor-color-test.arr +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("resistor-color.arr") diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr index 52cf952..a97b548 100644 --- a/exercises/practice/reverse-string/reverse-string-test.arr +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("reverse-string.arr") diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr index 7ed89a5..0840272 100644 --- a/exercises/practice/rna-transcription/rna-transcription-test.arr +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("rna-transcription.arr") diff --git a/exercises/practice/robot-simulator/robot-simulator-test.arr b/exercises/practice/robot-simulator/robot-simulator-test.arr index f9bc23f..e1083c8 100644 --- a/exercises/practice/robot-simulator/robot-simulator-test.arr +++ b/exercises/practice/robot-simulator/robot-simulator-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("robot-simulator.arr") diff --git a/exercises/practice/robot-simulator/robot-simulator.arr b/exercises/practice/robot-simulator/robot-simulator.arr index 9246927..3b095e8 100644 --- a/exercises/practice/robot-simulator/robot-simulator.arr +++ b/exercises/practice/robot-simulator/robot-simulator.arr @@ -1,4 +1,4 @@ -use context essentials2020 # Don't delete this line when using Pyret on Exercism +use context starter2024 # Don't delete this line when using Pyret on Exercism provide-types * diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index df099b6..4c5f7cb 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("roman-numerals.arr") diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr index c00f01a..97a0e93 100644 --- a/exercises/practice/scrabble-score/scrabble-score-test.arr +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("scrabble-score.arr") diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr index e9e1dcb..184c786 100644 --- a/exercises/practice/secret-handshake/secret-handshake-test.arr +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("secret-handshake.arr") diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr index 5fe7d83..1a21dea 100644 --- a/exercises/practice/series/series-test.arr +++ b/exercises/practice/series/series-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("series.arr") diff --git a/exercises/practice/sieve/sieve-test.arr b/exercises/practice/sieve/sieve-test.arr index ceaa165..fdd4196 100644 --- a/exercises/practice/sieve/sieve-test.arr +++ b/exercises/practice/sieve/sieve-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("sieve.arr") diff --git a/exercises/practice/simple-linked-list/simple-linked-list-test.arr b/exercises/practice/simple-linked-list/simple-linked-list-test.arr index 6d2d467..f55cf6b 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list-test.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("simple-linked-list.arr") diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index d5341ae..5848efb 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("space-age.arr") diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr index f6fa074..ea221fa 100644 --- a/exercises/practice/square-root/square-root-test.arr +++ b/exercises/practice/square-root/square-root-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("square-root.arr") diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr index 1896b67..65b84b8 100644 --- a/exercises/practice/strain/strain-test.arr +++ b/exercises/practice/strain/strain-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("strain.arr") diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr index 280a4ad..d741e24 100644 --- a/exercises/practice/triangle/triangle-test.arr +++ b/exercises/practice/triangle/triangle-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("triangle.arr") diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr index aaca81a..27b09cf 100644 --- a/exercises/practice/two-fer/two-fer-test.arr +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("two-fer.arr") diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr index 41f81a6..fbbce33 100644 --- a/exercises/practice/word-count/word-count-test.arr +++ b/exercises/practice/word-count/word-count-test.arr @@ -1,4 +1,4 @@ -use context essentials2020 +use context starter2024 include file("word-count.arr") From ea769af6814c3d6f7a9a2814e0ffedafbf348f2c Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:50:19 -0700 Subject: [PATCH 241/244] Remove test harness. All tests will now run --- exercises/practice/acronym/acronym-test.arr | 73 +-- .../practice/allergies/allergies-test.arr | 540 ++++++------------ exercises/practice/anagram/anagram-test.arr | 186 +++--- .../armstrong-numbers-test.arr | 87 +-- .../atbash-cipher/atbash-cipher-test.arr | 190 +++--- .../bank-account/bank-account-test.arr | 138 ++--- .../binary-search/binary-search-test.arr | 88 +-- exercises/practice/bob/bob-test.arr | 301 ++++------ .../circular-buffer/circular-buffer-test.arr | 298 ++++------ exercises/practice/clock/clock-test.arr | 401 ++++--------- .../collatz-conjecture-test.arr | 52 +- exercises/practice/darts/darts-test.arr | 101 +--- .../difference-of-squares-test.arr | 73 +-- .../dnd-character/dnd-character-test.arr | 167 ++---- .../practice/eliuds-eggs/eliuds-eggs-test.arr | 38 +- exercises/practice/etl/etl-test.arr | 70 +-- .../flatten-array/flatten-array-test.arr | 255 ++++----- exercises/practice/grains/grains-test.arr | 87 +-- exercises/practice/hamming/hamming-test.arr | 73 +-- .../practice/hello-world/hello-world-test.arr | 17 +- .../practice/high-scores/high-scores-test.arr | 104 ++-- exercises/practice/isogram/isogram-test.arr | 108 +--- exercises/practice/leap/leap-test.arr | 73 +-- exercises/practice/line-up/line-up-test.arr | 144 ++--- exercises/practice/list-ops/list-ops-test.arr | 336 +++++------ exercises/practice/luhn/luhn-test.arr | 164 ++---- exercises/practice/matrix/matrix-test.arr | 83 +-- .../nucleotide-count-test.arr | 63 +- exercises/practice/pangram/pangram-test.arr | 100 +--- .../perfect-numbers/perfect-numbers-test.arr | 108 +--- .../phone-number/phone-number-test.arr | 136 ++--- .../protein-translation-test.arr | 226 ++------ exercises/practice/proverb/proverb-test.arr | 98 ++-- .../queen-attack/queen-attack-test.arr | 101 +--- .../practice/raindrops/raindrops-test.arr | 135 ++--- .../resistor-color-duo-test.arr | 59 +- .../resistor-color-trio-test.arr | 120 ++-- .../resistor-color/resistor-color-test.arr | 60 +- .../reverse-string/reverse-string-test.arr | 52 +- .../rna-transcription-test.arr | 52 +- .../robot-simulator/robot-simulator-test.arr | 266 ++++----- .../roman-numerals/roman-numerals-test.arr | 38 -- .../scrabble-score/scrabble-score-test.arr | 87 +-- .../secret-handshake-test.arr | 87 +-- exercises/practice/series/series-test.arr | 87 +-- exercises/practice/sieve/sieve-test.arr | 66 +-- .../simple-linked-list-test.arr | 244 +++----- .../practice/space-age/space-age-test.arr | 81 +-- .../practice/square-root/square-root-test.arr | 52 +- exercises/practice/strain/strain-test.arr | 248 ++++---- exercises/practice/triangle/triangle-test.arr | 157 ++--- exercises/practice/two-fer/two-fer-test.arr | 31 +- .../practice/word-count/word-count-test.arr | 244 ++++---- 53 files changed, 2302 insertions(+), 4943 deletions(-) diff --git a/exercises/practice/acronym/acronym-test.arr b/exercises/practice/acronym/acronym-test.arr index bc109bb..0f02cf9 100644 --- a/exercises/practice/acronym/acronym-test.arr +++ b/exercises/practice/acronym/acronym-test.arr @@ -2,76 +2,39 @@ use context starter2024 include file("acronym.arr") -fun basic(): - check "basic": - abbreviate("Portable Network Graphics") is "PNG" - end +check "basic": + abbreviate("Portable Network Graphics") is "PNG" end -fun lowercase-words(): - check "lowercase words": - abbreviate("Ruby on Rails") is "ROR" - end +check "lowercase words": + abbreviate("Ruby on Rails") is "ROR" end -fun punctuation(): - check "punctuation": - abbreviate("First In, First Out") is "FIFO" - end +check "punctuation": + abbreviate("First In, First Out") is "FIFO" end -fun all-caps-word(): - check "all caps word": - abbreviate("GNU Image Manipulation Program") is "GIMP" - end +check "all caps word": + abbreviate("GNU Image Manipulation Program") is "GIMP" end -fun punctuation-without-whitespace(): - check "punctuation without whitespace": - abbreviate("Complementary metal-oxide semiconductor") is "CMOS" - end +check "punctuation without whitespace": + abbreviate("Complementary metal-oxide semiconductor") is "CMOS" end -fun very-long-abbreviation(): - check "very long abbreviation": - abbreviate("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") is "ROTFLSHTMDCOALM" - end +check "very long abbreviation": + abbreviate("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") is "ROTFLSHTMDCOALM" end -fun consecutive-delimiters(): - check "consecutive delimiters": - abbreviate("Something - I made up from thin air") is "SIMUFTA" - end +check "consecutive delimiters": + abbreviate("Something - I made up from thin air") is "SIMUFTA" end -fun apostrophes(): - check "apostrophes": - abbreviate("Halley's Comet") is "HC" - end +check "apostrophes": + abbreviate("Halley's Comet") is "HC" end -fun underscore-emphasis(): - check "underscore emphasis": - abbreviate("The Road _Not_ Taken") is "TRNT" - end +check "underscore emphasis": + abbreviate("The Road _Not_ Taken") is "TRNT" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(basic, true), - test(lowercase-words, false), - test(punctuation, false), - test(all-caps-word, false), - test(punctuation-without-whitespace, false), - test(very-long-abbreviation, false), - test(consecutive-delimiters, false), - test(apostrophes, false), - test(underscore-emphasis, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/allergies/allergies-test.arr b/exercises/practice/allergies/allergies-test.arr index 16586d0..f4af10b 100644 --- a/exercises/practice/allergies/allergies-test.arr +++ b/exercises/practice/allergies/allergies-test.arr @@ -4,449 +4,289 @@ include file("allergies.arr") # Eggs -fun eggs-allergy-not-allergic-to-anything(): - check "Eggs allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("eggs") is false - end +check "Eggs allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("eggs") is false end -fun eggs-allergy-allergic-only-to-eggs(): - check "Eggs allergy - allergic only to eggs": - allergens = allergies(1) - allergens.allergicTo("eggs") is true - end +check "Eggs allergy - allergic only to eggs": + allergens = allergies(1) + allergens.allergicTo("eggs") is true end -fun eggs-allergy-allergic-to-eggs-and-something-else(): - check "Eggs allergy - allergic to eggs and something else": - allergens = allergies(3) - allergens.allergicTo("eggs") is true - end +check "Eggs allergy - allergic to eggs and something else": + allergens = allergies(3) + allergens.allergicTo("eggs") is true end -fun eggs-allergy-allergic-to-something-but-not-eggs(): - check "Eggs allergy - allergic to something, but not eggs": - allergens = allergies(2) - allergens.allergicTo("eggs") is false - end +check "Eggs allergy - allergic to something, but not eggs": + allergens = allergies(2) + allergens.allergicTo("eggs") is false end -fun eggs-allergy-allergic-to-everything(): - check "Eggs allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("eggs") is true - end +check "Eggs allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("eggs") is true end # Peanuts -fun peanuts-allergy-not-allergic-to-anything(): - check "peanuts allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("peanuts") is false - end +check "peanuts allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("peanuts") is false end -fun peanuts-allergy-allergic-only-to-peanuts(): - check "peanuts allergy - allergic only to peanuts": - allergens = allergies(2) - allergens.allergicTo("peanuts") is true - end +check "peanuts allergy - allergic only to peanuts": + allergens = allergies(2) + allergens.allergicTo("peanuts") is true end -fun peanuts-allergy-allergic-to-peanuts-and-something-else(): - check "peanuts allergy - allergic to peanuts and something else": - allergens = allergies(7) - allergens.allergicTo("peanuts") is true - end +check "peanuts allergy - allergic to peanuts and something else": + allergens = allergies(7) + allergens.allergicTo("peanuts") is true end -fun peanuts-allergy-allergic-to-something-but-not-peanuts(): - check "peanuts allergy - allergic to something, but not peanuts": - allergens = allergies(5) - allergens.allergicTo("peanuts") is false - end +check "peanuts allergy - allergic to something, but not peanuts": + allergens = allergies(5) + allergens.allergicTo("peanuts") is false end -fun peanuts-allergy-allergic-to-everything(): - check "peanuts allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("peanuts") is true - end +check "peanuts allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("peanuts") is true end # Shellfish -fun shellfish-allergy-not-allergic-to-anything(): - check "shellfish allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("shellfish") is false - end +check "shellfish allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("shellfish") is false end -fun shellfish-allergy-allergic-only-to-shellfish(): - check "shellfish allergy - allergic only to shellfish": - allergens = allergies(4) - allergens.allergicTo("shellfish") is true - end +check "shellfish allergy - allergic only to shellfish": + allergens = allergies(4) + allergens.allergicTo("shellfish") is true end -fun shellfish-allergy-allergic-to-shellfish-and-something-else(): - check "shellfish allergy - allergic to shellfish and something else": - allergens = allergies(14) - allergens.allergicTo("shellfish") is true - end +check "shellfish allergy - allergic to shellfish and something else": + allergens = allergies(14) + allergens.allergicTo("shellfish") is true end -fun shellfish-allergy-allergic-to-something-but-not-shellfish(): - check "shellfish allergy - allergic to something, but not shellfish": - allergens = allergies(10) - allergens.allergicTo("shellfish") is false - end +check "shellfish allergy - allergic to something, but not shellfish": + allergens = allergies(10) + allergens.allergicTo("shellfish") is false end -fun shellfish-allergy-allergic-to-everything(): - check "shellfish allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("shellfish") is true - end +check "shellfish allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("shellfish") is true end # Strawberries -fun strawberries-allergy-not-allergic-to-anything(): - check "strawberries allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("strawberries") is false - end +check "strawberries allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("strawberries") is false end -fun strawberries-allergy-allergic-only-to-strawberries(): - check "strawberries allergy - allergic only to strawberries": - allergens = allergies(8) - allergens.allergicTo("strawberries") is true - end +check "strawberries allergy - allergic only to strawberries": + allergens = allergies(8) + allergens.allergicTo("strawberries") is true end -fun strawberries-allergy-allergic-to-strawberries-and-something-else(): - check "strawberries allergy - allergic to strawberries and something else": - allergens = allergies(28) - allergens.allergicTo("strawberries") is true - end +check "strawberries allergy - allergic to strawberries and something else": + allergens = allergies(28) + allergens.allergicTo("strawberries") is true end -fun strawberries-allergy-allergic-to-something-but-not-strawberries(): - check "strawberries allergy - allergic to something, but not strawberries": - allergens = allergies(20) - allergens.allergicTo("strawberries") is false - end +check "strawberries allergy - allergic to something, but not strawberries": + allergens = allergies(20) + allergens.allergicTo("strawberries") is false end -fun strawberries-allergy-allergic-to-everything(): - check "strawberries allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("strawberries") is true - end +check "strawberries allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("strawberries") is true end # Tomatoes -fun tomatoes-allergy-not-allergic-to-anything(): - check "tomatoes allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("tomatoes") is false - end +check "tomatoes allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("tomatoes") is false end -fun tomatoes-allergy-allergic-only-to-tomatoes(): - check "tomatoes allergy - allergic only to tomatoes": - allergens = allergies(16) - allergens.allergicTo("tomatoes") is true - end +check "tomatoes allergy - allergic only to tomatoes": + allergens = allergies(16) + allergens.allergicTo("tomatoes") is true end -fun tomatoes-allergy-allergic-to-tomatoes-and-something-else(): - check "tomatoes allergy - allergic to tomatoes and something else": - allergens = allergies(56) - allergens.allergicTo("tomatoes") is true - end +check "tomatoes allergy - allergic to tomatoes and something else": + allergens = allergies(56) + allergens.allergicTo("tomatoes") is true end -fun tomatoes-allergy-allergic-to-something-but-not-tomatoes(): - check "tomatoes allergy - allergic to something, but not tomatoes": - allergens = allergies(40) - allergens.allergicTo("tomatoes") is false - end +check "tomatoes allergy - allergic to something, but not tomatoes": + allergens = allergies(40) + allergens.allergicTo("tomatoes") is false end -fun tomatoes-allergy-allergic-to-everything(): - check "tomatoes allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("tomatoes") is true - end +check "tomatoes allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("tomatoes") is true end # Chocolate -fun chocolate-allergy-not-allergic-to-anything(): - check "chocolate allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("chocolate") is false - end +check "chocolate allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("chocolate") is false end -fun chocolate-allergy-allergic-only-to-chocolate(): - check "chocolate allergy - allergic only to chocolate": - allergens = allergies(32) - allergens.allergicTo("chocolate") is true - end +check "chocolate allergy - allergic only to chocolate": + allergens = allergies(32) + allergens.allergicTo("chocolate") is true end -fun chocolate-allergy-allergic-to-chocolate-and-something-else(): - check "chocolate allergy - allergic to chocolate and something else": - allergens = allergies(112) - allergens.allergicTo("chocolate") is true - end +check "chocolate allergy - allergic to chocolate and something else": + allergens = allergies(112) + allergens.allergicTo("chocolate") is true end -fun chocolate-allergy-allergic-to-something-but-not-chocolate(): - check "chocolate allergy - allergic to something, but not chocolate": - allergens = allergies(80) - allergens.allergicTo("chocolate") is false - end +check "chocolate allergy - allergic to something, but not chocolate": + allergens = allergies(80) + allergens.allergicTo("chocolate") is false end -fun chocolate-allergy-allergic-to-everything(): - check "chocolate allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("chocolate") is true - end +check "chocolate allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("chocolate") is true end # Pollen -fun pollen-allergy-not-allergic-to-anything(): - check "pollen allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("pollen") is false - end +check "pollen allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("pollen") is false end -fun pollen-allergy-allergic-only-to-pollen(): - check "pollen allergy - allergic only to pollen": - allergens = allergies(64) - allergens.allergicTo("pollen") is true - end +check "pollen allergy - allergic only to pollen": + allergens = allergies(64) + allergens.allergicTo("pollen") is true end -fun pollen-allergy-allergic-to-pollen-and-something-else(): - check "pollen allergy - allergic to pollen and something else": - allergens = allergies(224) - allergens.allergicTo("pollen") is true - end +check "pollen allergy - allergic to pollen and something else": + allergens = allergies(224) + allergens.allergicTo("pollen") is true end -fun pollen-allergy-allergic-to-something-but-not-pollen(): - check "pollen allergy - allergic to something, but not pollen": - allergens = allergies(160) - allergens.allergicTo("pollen") is false - end +check "pollen allergy - allergic to something, but not pollen": + allergens = allergies(160) + allergens.allergicTo("pollen") is false end -fun pollen-allergy-allergic-to-everything(): - check "pollen allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("pollen") is true - end +check "pollen allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("pollen") is true end # Cats -fun cats-allergy-not-allergic-to-anything(): - check "cats allergy - not allergic to anything": - allergens = allergies(0) - allergens.allergicTo("cats") is false - end +check "cats allergy - not allergic to anything": + allergens = allergies(0) + allergens.allergicTo("cats") is false end -fun cats-allergy-allergic-only-to-cats(): - check "cats allergy - allergic only to cats": - allergens = allergies(128) - allergens.allergicTo("cats") is true - end +check "cats allergy - allergic only to cats": + allergens = allergies(128) + allergens.allergicTo("cats") is true end -fun cats-allergy-allergic-to-cats-and-something-else(): - check "cats allergy - allergic to cats and something else": - allergens = allergies(192) - allergens.allergicTo("cats") is true - end +check "cats allergy - allergic to cats and something else": + allergens = allergies(192) + allergens.allergicTo("cats") is true end -fun cats-allergy-allergic-to-something-but-not-cats(): - check "cats allergy - allergic to something, but not cats": - allergens = allergies(64) - allergens.allergicTo("cats") is false - end +check "cats allergy - allergic to something, but not cats": + allergens = allergies(64) + allergens.allergicTo("cats") is false end -fun cats-allergy-allergic-to-everything(): - check "cats allergy - allergic to everything": - allergens = allergies(255) - allergens.allergicTo("cats") is true - end +check "cats allergy - allergic to everything": + allergens = allergies(255) + allergens.allergicTo("cats") is true end # List -fun list-when-no-allergies(): - check "list when no allergies": - allergens = allergies(0) - allergens.list() is [list: ] - end -end - -fun list-when-just-eggs(): - check "list when just eggs": - allergens = allergies(1) - allergens.list() is [list: "eggs"] - end -end - -fun list-when-just-peanuts(): - check "list when just peanuts": - allergens = allergies(2) - allergens.list() is [list: "peanuts"] - end -end - -fun list-when-just-strawberries(): - check "list when just strawberries": - allergens = allergies(8) - allergens.list() is [list: "strawberries"] - end -end - -fun list-when-eggs-and-peanuts(): - check "list when eggs and peanuts": - allergens = allergies(3) - allergens.list() is [list: "eggs", "peanuts"] - end -end - -fun list-when-more-than-eggs-but-not-peanuts(): - check "list when more than eggs but not peanuts": - allergens = allergies(5) - allergens.list() is [list: "eggs", "shellfish"] - end -end - -fun list-when-lots-of-stuff(): - check "list when lots of stuff": - allergens = allergies(248) - allergens.list() is [list: - "strawberries", - "tomatoes", - "chocolate", - "pollen", - "cats"] - end -end - -fun list-when-everything(): - check "list when everything": - allergens = allergies(255) - allergens.list() is [list: - "eggs", - "peanuts", - "shellfish", - "strawberries", - "tomatoes", - "chocolate", - "pollen", - "cats"] - end -end - -fun list-when-no-allergen-score-parts(): - check "list when no allergen score parts": - allergens = allergies(509) - allergens.list() is [list: - "eggs", - "shellfish", - "strawberries", - "tomatoes", - "chocolate", - "pollen", - "cats"] - end -end - -fun list-when-no-allergen-score-parts-without-highest-valid-score(): - check "list when no allergen score parts without highest valid score": - allergens = allergies(257) - allergens.list() is [list: "eggs"] - end -end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(eggs-allergy-not-allergic-to-anything, true), - test(eggs-allergy-allergic-only-to-eggs, false), - test(eggs-allergy-allergic-to-eggs-and-something-else, false), - test(eggs-allergy-allergic-to-something-but-not-eggs, false), - test(eggs-allergy-allergic-to-everything, false), - test(peanuts-allergy-not-allergic-to-anything, false), - test(peanuts-allergy-allergic-only-to-peanuts, false), - test(peanuts-allergy-allergic-to-peanuts-and-something-else, false), - test(peanuts-allergy-allergic-to-something-but-not-peanuts, false), - test(peanuts-allergy-allergic-to-everything, false), - test(shellfish-allergy-not-allergic-to-anything, false), - test(shellfish-allergy-allergic-only-to-shellfish, false), - test(shellfish-allergy-allergic-to-shellfish-and-something-else, false), - test(shellfish-allergy-allergic-to-something-but-not-shellfish, false), - test(shellfish-allergy-allergic-to-everything, false), - test(strawberries-allergy-not-allergic-to-anything, false), - test(strawberries-allergy-allergic-only-to-strawberries, false), - test(strawberries-allergy-allergic-to-strawberries-and-something-else, false), - test(strawberries-allergy-allergic-to-something-but-not-strawberries, false), - test(strawberries-allergy-allergic-to-everything, false), - test(tomatoes-allergy-not-allergic-to-anything, false), - test(tomatoes-allergy-allergic-only-to-tomatoes, false), - test(tomatoes-allergy-allergic-to-tomatoes-and-something-else, false), - test(tomatoes-allergy-allergic-to-something-but-not-tomatoes, false), - test(tomatoes-allergy-allergic-to-everything, false), - test(chocolate-allergy-not-allergic-to-anything, false), - test(chocolate-allergy-allergic-only-to-chocolate, false), - test(chocolate-allergy-allergic-to-chocolate-and-something-else, false), - test(chocolate-allergy-allergic-to-something-but-not-chocolate, false), - test(chocolate-allergy-allergic-to-everything, false), - test(pollen-allergy-not-allergic-to-anything, false), - test(pollen-allergy-allergic-only-to-pollen, false), - test(pollen-allergy-allergic-to-pollen-and-something-else, false), - test(pollen-allergy-allergic-to-something-but-not-pollen, false), - test(pollen-allergy-allergic-to-everything, false), - test(cats-allergy-not-allergic-to-anything, false), - test(cats-allergy-allergic-only-to-cats, false), - test(cats-allergy-allergic-to-cats-and-something-else, false), - test(cats-allergy-allergic-to-something-but-not-cats, false), - test(cats-allergy-allergic-to-everything, false), - test(list-when-no-allergies, false), - test(list-when-just-eggs, false), - test(list-when-just-peanuts, false), - test(list-when-just-strawberries, false), - test(list-when-eggs-and-peanuts, false), - test(list-when-more-than-eggs-but-not-peanuts, false), - test(list-when-lots-of-stuff, false), - test(list-when-everything, false), - test(list-when-no-allergen-score-parts, false), - test(list-when-no-allergen-score-parts-without-highest-valid-score, false), -].each(lam(t): when t.active: t.run() end end) +check "list when no allergies": + allergens = allergies(0) + allergens.list() is [list: ] +end + +check "list when just eggs": + allergens = allergies(1) + allergens.list() is [list: "eggs"] +end + +check "list when just peanuts": + allergens = allergies(2) + allergens.list() is [list: "peanuts"] +end + +check "list when just strawberries": + allergens = allergies(8) + allergens.list() is [list: "strawberries"] +end + +check "list when eggs and peanuts": + allergens = allergies(3) + allergens.list() is [list: "eggs", "peanuts"] +end + +check "list when more than eggs but not peanuts": + allergens = allergies(5) + allergens.list() is [list: "eggs", "shellfish"] +end + +check "list when lots of stuff": + allergens = allergies(248) + allergens.list() is [list: + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] +end + +check "list when everything": + allergens = allergies(255) + allergens.list() is [list: + "eggs", + "peanuts", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] +end + +check "list when no allergen score parts": + allergens = allergies(509) + allergens.list() is [list: + "eggs", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats"] +end + +check "list when no allergen score parts without highest valid score": + allergens = allergies(257) + allergens.list() is [list: "eggs"] +end + diff --git a/exercises/practice/anagram/anagram-test.arr b/exercises/practice/anagram/anagram-test.arr index d2a8a3b..20b4af6 100644 --- a/exercises/practice/anagram/anagram-test.arr +++ b/exercises/practice/anagram/anagram-test.arr @@ -2,173 +2,115 @@ use context starter2024 include file("anagram.arr") -fun no-matches(): - check "no matches": - candidates = [list: "hello", "world", "zombies", "pants"] - expected = [list: ] +check "no matches": + candidates = [list: "hello", "world", "zombies", "pants"] + expected = [list: ] - find-anagrams("diaper", candidates) is expected - end + find-anagrams("diaper", candidates) is expected end -fun detect-two-anagrams(): - check "detects two anagrams": - candidates = [list: "lemons", "cherry", "melons"] - expected = [list: "lemons", "melons"] +check "detects two anagrams": + candidates = [list: "lemons", "cherry", "melons"] + expected = [list: "lemons", "melons"] - find-anagrams("solemn", candidates) is expected - end + find-anagrams("solemn", candidates) is expected end -fun no-detect-anagram-subsets(): - check "does not detect anagram subsets": - candidates = [list: "dog", "goody"] - expected = [list: ] +check "does not detect anagram subsets": + candidates = [list: "dog", "goody"] + expected = [list: ] - find-anagrams("good", candidates) is expected - end + find-anagrams("good", candidates) is expected end -fun detect-anagram(): - check "detects anagram": - candidates = [list: "enlists", "google", "inlets", "banana"] - expected = [list: "inlets"] +check "detects anagram": + candidates = [list: "enlists", "google", "inlets", "banana"] + expected = [list: "inlets"] - find-anagrams("listen", candidates) is expected - end + find-anagrams("listen", candidates) is expected end -fun detect-three-anagrams(): - check "detects three anagrams": - candidates = [list: "gallery", "ballerina", "regally", "clergy", "largely", "leading"] - expected = [list: "gallery", "regally", "largely"] +check "detects three anagrams": + candidates = [list: "gallery", "ballerina", "regally", "clergy", "largely", "leading"] + expected = [list: "gallery", "regally", "largely"] - find-anagrams("allergy", candidates) is expected - end + find-anagrams("allergy", candidates) is expected end -fun detect-multiple-anagrams-with-diff-case(): - check "detects multiple anagrams with different case": - candidates = [list: "Eons", "ONES"] - expected = [list: "Eons", "ONES"] +check "detects multiple anagrams with different case": + candidates = [list: "Eons", "ONES"] + expected = [list: "Eons", "ONES"] - find-anagrams("nose", candidates) is expected - end + find-anagrams("nose", candidates) is expected end -fun no-detect-identical-checksum(): - check "does not detect non-anagrams with identical checksum": - candidates = [list: "last"] - expected = [list: ] +check "does not detect non-anagrams with identical checksum": + candidates = [list: "last"] + expected = [list: ] - find-anagrams("mass", candidates) is expected - end + find-anagrams("mass", candidates) is expected end -fun detect-anagram-case-insensitively(): - check "detects anagrams case-insensitively": - candidates = [list: "cashregister", "Carthorse", "radishes"] - expected = [list: "Carthorse"] +check "detects anagrams case-insensitively": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] - find-anagrams("Orchestra", candidates) is expected - end + find-anagrams("Orchestra", candidates) is expected end -fun detect-anagram-case-insensitive-subject(): - check "detects anagrams using case-insensitive subject": - candidates = [list: "cashregister", "carthorse", "radishes"] - expected = [list: "carthorse"] +check "detects anagrams using case-insensitive subject": + candidates = [list: "cashregister", "carthorse", "radishes"] + expected = [list: "carthorse"] - find-anagrams("Orchestra", candidates) is expected - end + find-anagrams("Orchestra", candidates) is expected end -fun detect-anagram-case-insensitive-candidates(): - check "detects anagrams using case-insensitive possible matches": - candidates = [list: "cashregister", "Carthorse", "radishes"] - expected = [list: "Carthorse"] +check "detects anagrams using case-insensitive possible matches": + candidates = [list: "cashregister", "Carthorse", "radishes"] + expected = [list: "Carthorse"] - find-anagrams("orchestra", candidates) is expected - end + find-anagrams("orchestra", candidates) is expected end -fun no-detect-anagram-for-repeating-word(): - check "does not detect an anagram if the original word is repeated": - candidates = [list: "goGoGO"] - expected = [list: ] +check "does not detect an anagram if the original word is repeated": + candidates = [list: "goGoGO"] + expected = [list: ] - find-anagrams("go", candidates) is expected - end + find-anagrams("go", candidates) is expected end -fun anagrams-use-all-letters-once(): - check "anagrams must use all letters exactly once": - candidates = [list: "patter"] - expected = [list: ] +check "anagrams must use all letters exactly once": + candidates = [list: "patter"] + expected = [list: ] - find-anagrams("tapper", candidates) is expected - end + find-anagrams("tapper", candidates) is expected end -fun words-are-not-anagrams-of-themselves(): - check "words are not anagrams of themselves": - candidates = [list: "BANANA"] - expected = [list: ] +check "words are not anagrams of themselves": + candidates = [list: "BANANA"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected - end + find-anagrams("BANANA", candidates) is expected end -fun words-are-not-anagrams-of-themselves-even-if-case-partially-different(): - check "words are not anagrams of themselves even if letter case is partially different": - candidates = [list: "Banana"] - expected = [list: ] +check "words are not anagrams of themselves even if letter case is partially different": + candidates = [list: "Banana"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected - end + find-anagrams("BANANA", candidates) is expected end -fun words-are-not-anagrams-of-themselves-even-if-case-completely-different(): - check "words are not anagrams of themselves even if letter case is completely different": - candidates = [list: "banana"] - expected = [list: ] +check "words are not anagrams of themselves even if letter case is completely different": + candidates = [list: "banana"] + expected = [list: ] - find-anagrams("BANANA", candidates) is expected - end + find-anagrams("BANANA", candidates) is expected end -fun words-other-than-self-can-be-anagram(): - check "words other than themselves can be anagrams": - candidates = [list: "LISTEN", "Silent"] - expected = [list: "Silent"] +check "words other than themselves can be anagrams": + candidates = [list: "LISTEN", "Silent"] + expected = [list: "Silent"] - find-anagrams("LISTEN", candidates) is expected - end + find-anagrams("LISTEN", candidates) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(no-matches, true), - test(detect-two-anagrams, false), - test(no-detect-anagram-subsets, false), - test(detect-anagram, false), - test(detect-three-anagrams, false), - test(detect-multiple-anagrams-with-diff-case, false), - test(no-detect-identical-checksum, false), - test(detect-anagram-case-insensitively, false), - test(detect-anagram-case-insensitive-subject, false), - test(detect-anagram-case-insensitive-candidates, false), - test(no-detect-anagram-for-repeating-word, false), - test(anagrams-use-all-letters-once, false), - test(words-are-not-anagrams-of-themselves, false), - test(words-are-not-anagrams-of-themselves-even-if-case-partially-different, false), - test(words-are-not-anagrams-of-themselves-even-if-case-completely-different, false), - test(words-other-than-self-can-be-anagram, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr index f7e3d22..79051a1 100644 --- a/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr +++ b/exercises/practice/armstrong-numbers/armstrong-numbers-test.arr @@ -2,90 +2,47 @@ use context starter2024 include file("armstrong-numbers.arr") -fun zero-is-armstrong(): - check "Zero is an Armstrong number": - is-armstrong-number(0) is true - end +check "Zero is an Armstrong number": + is-armstrong-number(0) is true end -fun single-digit-is-armstrong(): - check "Single-digit numbers are Armstrong numbers": - is-armstrong-number(5) is true - end +check "Single-digit numbers are Armstrong numbers": + is-armstrong-number(5) is true end -fun two-digit-is-not-armstrong(): - check "There are no two-digit Armstrong numbers": - is-armstrong-number(10) is false - end +check "There are no two-digit Armstrong numbers": + is-armstrong-number(10) is false end -fun three-digit-is-armstrong(): - check "Three-digit number that is an Armstrong number": - is-armstrong-number(153) is true - end +check "Three-digit number that is an Armstrong number": + is-armstrong-number(153) is true end -fun three-digit-is-not-armstrong(): - check "Three-digit number that is not an Armstrong number": - is-armstrong-number(100) is false - end +check "Three-digit number that is not an Armstrong number": + is-armstrong-number(100) is false end -fun four-digit-is-armstrong(): - check "Four-digit number that is an Armstrong number": - is-armstrong-number(9474) is true - end +check "Four-digit number that is an Armstrong number": + is-armstrong-number(9474) is true end -fun four-digit-is-not-armstrong(): - check "Four-digit number that is not an Armstrong number": - is-armstrong-number(9475) is false - end +check "Four-digit number that is not an Armstrong number": + is-armstrong-number(9475) is false end -fun seven-digit-is-armstrong(): - check "Seven-digit number that is an Armstrong number": - is-armstrong-number(9926315) is true - end +check "Seven-digit number that is an Armstrong number": + is-armstrong-number(9926315) is true end -fun seven-digit-is-not-armstrong(): - check "Seven-digit number that is not an Armstrong number": - is-armstrong-number(9926314) is false - end +check "Seven-digit number that is not an Armstrong number": + is-armstrong-number(9926314) is false end -fun number-with-seven-zeroes-is-not-armstrong(): - check "Armstrong number containing seven zeroes": - is-armstrong-number(186709961001538790100634132976990) is true - end +check "Armstrong number containing seven zeroes": + is-armstrong-number(186709961001538790100634132976990) is true end -fun largest-armstrong-number(): - check "The largest and last Armstrong number": - is-armstrong-number(115132219018763992565095597973971522401) is true - end +check "The largest and last Armstrong number": + is-armstrong-number(115132219018763992565095597973971522401) is true end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(zero-is-armstrong, true), - test(single-digit-is-armstrong, false), - test(two-digit-is-not-armstrong, false), - test(three-digit-is-armstrong, false), - test(three-digit-is-not-armstrong, false), - test(four-digit-is-armstrong, false), - test(four-digit-is-not-armstrong, false), - test(seven-digit-is-armstrong, false), - test(seven-digit-is-not-armstrong, false), - test(number-with-seven-zeroes-is-not-armstrong, false), - test(largest-armstrong-number, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/atbash-cipher/atbash-cipher-test.arr b/exercises/practice/atbash-cipher/atbash-cipher-test.arr index f03b99d..c8dc6a4 100644 --- a/exercises/practice/atbash-cipher/atbash-cipher-test.arr +++ b/exercises/practice/atbash-cipher/atbash-cipher-test.arr @@ -2,153 +2,101 @@ use context starter2024 include file("atbash-cipher.arr") -fun encode-yes(): - check "encode -> encode yes": - input = "yes" - expected = "bvh" +check "encode -> encode yes": + input = "yes" + expected = "bvh" - encode(input) is expected - end + encode(input) is expected end -fun encode-no(): - check "encode -> encode no": - input = "no" - expected = "ml" - - encode(input) is expected - end +check "encode -> encode no": + input = "no" + expected = "ml" + + encode(input) is expected end -fun encode-OMG(): - check "encode -> encode OMG": - input = "OMG" - expected = "lnt" - - encode(input) is expected - end +check "encode -> encode OMG": + input = "OMG" + expected = "lnt" + + encode(input) is expected end -fun encode-spaces(): - check "encode -> encode spaces": - input = "O M G" - expected = "lnt" - - encode(input) is expected - end +check "encode -> encode spaces": + input = "O M G" + expected = "lnt" + + encode(input) is expected end -fun encode-mindblowingly(): - check "encode -> encode mindblowingly": - input = "mindblowingly" - expected = "nrmwy oldrm tob" - - encode(input) is expected - end +check "encode -> encode mindblowingly": + input = "mindblowingly" + expected = "nrmwy oldrm tob" + + encode(input) is expected end -fun encode-numbers(): - check "encode -> encode numbers": - input = "Testing,1 2 3, testing." - expected = "gvhgr mt123 gvhgr mt" - - encode(input) is expected - end +check "encode -> encode numbers": + input = "Testing,1 2 3, testing." + expected = "gvhgr mt123 gvhgr mt" + + encode(input) is expected end -fun encode-deep-thought(): - check "encode -> encode deep thought": - input = "Truth is fiction." - expected = "gifgs rhurx grlm" - - encode(input) is expected - end +check "encode -> encode deep thought": + input = "Truth is fiction." + expected = "gifgs rhurx grlm" + + encode(input) is expected end -fun encode-all-letters(): - check "encode -> encode all the letters": - input = "The quick brown fox jumps over the lazy dog." - expected = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" - - encode(input) is expected - end +check "encode -> encode all the letters": + input = "The quick brown fox jumps over the lazy dog." + expected = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + + encode(input) is expected end -fun decode-exercism(): - check "decode -> decode exercism": - input = "vcvix rhn" - expected = "exercism" - - decode(input) is expected - end +check "decode -> decode exercism": + input = "vcvix rhn" + expected = "exercism" + + decode(input) is expected end -fun decode-sentence(): - check "decode -> decode a sentence": - input = "zmlyh gzxov rhlug vmzhg vkkrm thglm v" - expected = "anobstacleisoftenasteppingstone" - - decode(input) is expected - end +check "decode -> decode a sentence": + input = "zmlyh gzxov rhlug vmzhg vkkrm thglm v" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected end -fun decode-numbers(): - check "decode -> decode numbers": - input = "gvhgr mt123 gvhgr mt" - expected = "testing123testing" - - decode(input) is expected - end +check "decode -> decode numbers": + input = "gvhgr mt123 gvhgr mt" + expected = "testing123testing" + + decode(input) is expected end -fun decode-all-letters(): - check "decode -> decode all the letters": - input = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" - expected = "thequickbrownfoxjumpsoverthelazydog" - - decode(input) is expected - end +check "decode -> decode all the letters": + input = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt" + expected = "thequickbrownfoxjumpsoverthelazydog" + + decode(input) is expected end -fun decode-with-too-many-spaces(): - check "decode -> decode with too many spaces": - input = "vc vix r hn" - expected = "exercism" - - decode(input) is expected - end +check "decode -> decode with too many spaces": + input = "vc vix r hn" + expected = "exercism" + + decode(input) is expected end -fun decode-with-no-spaces(): - check "decode -> decode with no spaces": - input = "zmlyhgzxovrhlugvmzhgvkkrmthglmv" - expected = "anobstacleisoftenasteppingstone" - - decode(input) is expected - end +check "decode -> decode with no spaces": + input = "zmlyhgzxovrhlugvmzhgvkkrmthglmv" + expected = "anobstacleisoftenasteppingstone" + + decode(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(encode-yes, true), - test(encode-no, false), - test(encode-OMG, false), - test(encode-spaces, false), - test(encode-mindblowingly, false), - test(encode-numbers, false), - test(encode-deep-thought, false), - test(encode-all-letters, false), - test(decode-exercism, false), - test(decode-sentence, false), - test(decode-numbers, false), - test(decode-all-letters, false), - test(decode-with-too-many-spaces, false), - test(decode-with-no-spaces, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/bank-account/bank-account-test.arr b/exercises/practice/bank-account/bank-account-test.arr index 67be5de..cf864ad 100644 --- a/exercises/practice/bank-account/bank-account-test.arr +++ b/exercises/practice/bank-account/bank-account-test.arr @@ -2,132 +2,74 @@ use context starter2024 include file("bank-account.arr") -fun open-account-zero-balance(): - check "Newly opened account has zero balance": - account().open().get-balance() is 0 - end +check "Newly opened account has zero balance": + account().open().get-balance() is 0 end -fun single-deposit(): - check "Single deposit": - account().open().deposit(100).get-balance() is 100 - end -end +check "Single deposit": + account().open().deposit(100).get-balance() is 100 +nd -fun multiple-deposits(): - check "Multiple deposits": - account().open().deposit(100).deposit(50).get-balance() is 150 - end +check "Multiple deposits": + account().open().deposit(100).deposit(50).get-balance() is 150 end -fun withdraw-once(): - check "Withdraw once": - account().open().deposit(100).withdraw(75).get-balance() is 25 - end +check "Withdraw once": + account().open().deposit(100).withdraw(75).get-balance() is 25 end -fun withdraw-twice(): - check "Withdraw twice": - account().open().deposit(100).withdraw(80).withdraw(20).get-balance() is 0 - end +check "Withdraw twice": + account().open().deposit(100).withdraw(80).withdraw(20).get-balance() is 0 end -fun multiple-operations(): - check "Can do multiple operations sequentially": - account() - ^ _.open() - ^ _.deposit(100) - ^ _.deposit(110) - ^ _.withdraw(200) - ^ _.deposit(60) - ^ _.withdraw(50) - ^ _.get-balance() is 20 - end +check "Can do multiple operations sequentially": + account() + ^ _.open() + ^ _.deposit(100) + ^ _.deposit(110) + ^ _.withdraw(200) + ^ _.deposit(60) + ^ _.withdraw(50) + ^ _.get-balance() is 20 end -fun no-balance-for-closed-account(): - check "Cannot check balance of closed account": - account().open().close().get-balance() raises "account not open" - end +check "Cannot check balance of closed account": + account().open().close().get-balance() raises "account not open" end -fun no-deposit-for-closed-account(): - check "Cannot deposit into closed account": - account().open().close().deposit(50) raises "account not open" - end +check "Cannot deposit into closed account": + account().open().close().deposit(50) raises "account not open" end -fun no-deposit-for-unopened-account(): - check "Cannot deposit into unopened account": - account().deposit(50) raises "account not open" - end +check "Cannot deposit into unopened account": + account().deposit(50) raises "account not open" end -fun no-withdraw-for-closed-account(): - check "Cannot withdraw from closed account": - account().open().close().withdraw(50) raises "account not open" - end +check "Cannot withdraw from closed account": + account().open().close().withdraw(50) raises "account not open" end -fun no-close-unopened-account(): - check "Cannot close an account that was not opened": - account().close() raises "account not open" - end +check "Cannot close an account that was not opened": + account().close() raises "account not open" end -fun no-open-already-opened-account(): - check "Cannot open an already opened account": - account().open().open() raises "account already open" - end +check "Cannot open an already opened account": + account().open().open() raises "account already open" end -fun reopened-account-does-not-retain-balance(): - check "Reopened account does not retain balance": - account().open().deposit(50).close().open().get-balance() is 0 - end +check "Reopened account does not retain balance": + account().open().deposit(50).close().open().get-balance() is 0 end -fun no-withdraw-more-than-deposited(): - check "Cannot withdraw more than deposited": - account().open().deposit(25).withdraw(50) raises "amount must be less than balance" - end +check "Cannot withdraw more than deposited": + account().open().deposit(25).withdraw(50) raises "amount must be less than balance" end -fun no-withdraw-negative-amount(): - check "Cannot withdraw negative": - account().open().deposit(100).withdraw(-50) raises "amount must be greater than 0" - end +check "Cannot withdraw negative": + account().open().deposit(100).withdraw(-50) raises "amount must be greater than 0" end -fun no-deposit-negative-amount(): - check "Cannot deposit negative": - account().open().deposit(-50) raises "amount must be greater than 0" - end +check "Cannot deposit negative": + account().open().deposit(-50) raises "amount must be greater than 0" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(open-account-zero-balance, true), - test(single-deposit, false), - test(multiple-deposits, false), - test(withdraw-once, false), - test(withdraw-twice, false), - test(multiple-operations, false), - test(no-balance-for-closed-account, false), - test(no-deposit-for-closed-account, false), - test(no-deposit-for-unopened-account, false), - test(no-withdraw-for-closed-account, false), - test(no-close-unopened-account, false), - test(no-open-already-opened-account, false), - test(reopened-account-does-not-retain-balance, false), - test(no-withdraw-more-than-deposited, false), - test(no-withdraw-negative-amount, false), - test(no-deposit-negative-amount, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/binary-search/binary-search-test.arr b/exercises/practice/binary-search/binary-search-test.arr index 79c9d7a..e530954 100644 --- a/exercises/practice/binary-search/binary-search-test.arr +++ b/exercises/practice/binary-search/binary-search-test.arr @@ -2,91 +2,47 @@ use context starter2024 include file("binary-search.arr") -fun value-in-list-of-one(): - check "finds a value in a list with one element": - binary-search([list: 6], 6) is 0 - end +check "finds a value in a list with one element": + binary-search([list: 6], 6) is 0 end -fun value-in-middle-of-list(): - check "finds a value in the middle of a list": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 - end +check "finds a value in the middle of a list": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 6) is 3 end - -fun value-in-beginning-of-list(): - check "finds a value at the beginning of a list": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 - end +check "finds a value at the beginning of a list": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 1) is 0 end -fun value-at-end-of-list(): - check "finds a value at the end of a list": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 - end +check "finds a value at the end of a list": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 11) is 6 end -fun value-in-odd-length-list(): - check "finds a value in a list of odd length": - binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 - end +check "finds a value in a list of odd length": + binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144) is 9 end -fun value-in-even-length-list(): - check "finds a value in a list of even length": - binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 - end +check "finds a value in a list of even length": + binary-search([list: 1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21) is 5 end -fun error-value-not-in-list(): - check "identifies that a value is not included in the list": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" - end +check "identifies that a value is not included in the list": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 7) raises "value not in list" end -fun error-value-too-small(): - check "a value smaller than the list's smallest value is not found": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" - end +check "a value smaller than the list's smallest value is not found": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 0) raises "value not in list" end -fun err-value-too-large(): - check "a value larger than the list's largest value is not found": - binary-search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" - end +check "a value larger than the list's largest value is not found": + binary-search([list: 1, 3, 4, 6, 8, 9, 11], 13) raises "value not in list" end -fun err-empty-list(): - check "nothing is found in an empty list": - binary-search([list: ], 1) raises "value not in list" - end +check "nothing is found in an empty list": + binary-search([list: ], 1) raises "value not in list" end -fun err-bounds-cross(): - check "nothing is found when the left and right bounds cross": - binary-search([list: 1, 2], 0) raises "value not in list" - end +check "nothing is found when the left and right bounds cross": + binary-search([list: 1, 2], 0) raises "value not in list" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(value-in-list-of-one, true), - test(value-in-middle-of-list, false), - test(value-in-beginning-of-list, false), - test(value-at-end-of-list, false), - test(value-in-odd-length-list, false), - test(value-in-even-length-list, false), - test(error-value-not-in-list, false), - test(error-value-too-small, false), - test(err-value-too-large, false), - test(err-empty-list, false), - test(err-bounds-cross, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/bob/bob-test.arr b/exercises/practice/bob/bob-test.arr index 532aefc..dc85ed3 100644 --- a/exercises/practice/bob/bob-test.arr +++ b/exercises/practice/bob/bob-test.arr @@ -2,263 +2,178 @@ use context starter2024 include file("bob.arr") -fun stating-something(): - check "stating something": - input = "Tom-ay-to, tom-aaaah-to." - expected = "Whatever." +check "stating something": + input = "Tom-ay-to, tom-aaaah-to." + expected = "Whatever." - response(input) is expected - end + response(input) is expected end -fun shouting(): - check "shouting": - input = "WATCH OUT!" - expected = "Whoa, chill out!" - - response(input) is expected - end +check "shouting": + input = "WATCH OUT!" + expected = "Whoa, chill out!" + + response(input) is expected end -fun shouting-gibberish(): - check "shouting gibberish": - input = "FCECDFCAAB" - expected = "Whoa, chill out!" - - response(input) is expected - end +check "shouting gibberish": + input = "FCECDFCAAB" + expected = "Whoa, chill out!" + + response(input) is expected end -fun asking-a-question(): - check "asking a question": - input = "Does this cryogenic chamber make me look fat?" - expected = "Sure." - - response(input) is expected - end +check "asking a question": + input = "Does this cryogenic chamber make me look fat?" + expected = "Sure." + + response(input) is expected end -fun asking-numeric-question(): - check "asking a numeric question": - input = "You are, what, like 15?" - expected = "Sure." - - response(input) is expected - end +check "asking a numeric question": + input = "You are, what, like 15?" + expected = "Sure." + + response(input) is expected end -fun asking-gibberish(): - check "asking gibberish": - input = "fffbbcbeab?" - expected = "Sure." - - response(input) is expected - end +check "asking gibberish": + input = "fffbbcbeab?" + expected = "Sure." + + response(input) is expected end -fun talking-forcefully(): - check "talking forcefully": - input = "Hi there!" - expected = "Whatever." - - response(input) is expected - end +check "talking forcefully": + input = "Hi there!" + expected = "Whatever." + + response(input) is expected end -fun using-acronyms(): - check "using acronyms in regular speech": - input = "It's OK if you don't want to go work for NASA." - expected = "Whatever." - - response(input) is expected - end +check "using acronyms in regular speech": + input = "It's OK if you don't want to go work for NASA." + expected = "Whatever." + + response(input) is expected end -fun forceful-question(): - check "forceful question": - input = "WHAT'S GOING ON?" - expected = "Calm down, I know what I'm doing!" - - response(input) is expected - end +check "forceful question": + input = "WHAT'S GOING ON?" + expected = "Calm down, I know what I'm doing!" + + response(input) is expected end -fun shouting-numbers(): - check "shouting numbers": - input = "1, 2, 3 GO!" - expected = "Whoa, chill out!" +check "shouting numbers": + input = "1, 2, 3 GO!" + expected = "Whoa, chill out!" - response(input) is expected - end + response(input) is expected end -fun no-letters(): - check "no letters": - input = "1, 2, 3" - expected = "Whatever." +check "no letters": + input = "1, 2, 3" + expected = "Whatever." - response(input) is expected - end + response(input) is expected end -fun question-with-no-letters(): - check "question with no letters": - input = "4?" - expected = "Sure." +check "question with no letters": + input = "4?" + expected = "Sure." - response(input) is expected - end + response(input) is expected end -fun shouting-with-special-characters(): - check "shouting with special characters": - input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!" - expected = "Whoa, chill out!" +check "shouting with special characters": + input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!" + expected = "Whoa, chill out!" - response(input) is expected - end + response(input) is expected end -fun shouting-with-no-exclamation-mark(): - check "shouting with no exclamation mark": - input = "I HATE THE DENTIST" - expected = "Whoa, chill out!" +check "shouting with no exclamation mark": + input = "I HATE THE DENTIST" + expected = "Whoa, chill out!" - response(input) is expected - end + response(input) is expected end -fun statement-with-question-mark(): - check "statement containing question mark": - input = "Ending with ? means a question." - expected = "Whatever." +check "statement containing question mark": + input = "Ending with ? means a question." + expected = "Whatever." - response(input) is expected - end + response(input) is expected end -fun non-letters-with-question(): - check "non-letters with question": - input = ":) ?" - expected = "Sure." +check "non-letters with question": + input = ":) ?" + expected = "Sure." - response(input) is expected - end + response(input) is expected end -fun prattling-on(): - check "prattling on": - input = "Wait! Hang on. Are you going to be OK?" - expected = "Sure." +check "prattling on": + input = "Wait! Hang on. Are you going to be OK?" + expected = "Sure." - response(input) is expected - end + response(input) is expected end -fun silence(): - check "silence": - input = "" - expected = "Fine. Be that way!" +check "silence": + input = "" + expected = "Fine. Be that way!" - response(input) is expected - end + response(input) is expected end -fun prolonged-silence(): - check "prolonged silence": - input = " " - expected = "Fine. Be that way!" +check "prolonged silence": + input = " " + expected = "Fine. Be that way!" - response(input) is expected - end + response(input) is expected end -fun alternate-silence(): - check "alternate silence": - input = "\t\t\t\t\t\t\t\t\t\t" - expected = "Fine. Be that way!" +check "alternate silence": + input = "\t\t\t\t\t\t\t\t\t\t" + expected = "Fine. Be that way!" - response(input) is expected - end + response(input) is expected end -fun multiple-line-question(): - check "multiple line question": - input = "\nDoes this cryogenic chamber make\n me look fat?" - expected = "Sure." +check "multiple line question": + input = "\nDoes this cryogenic chamber make\n me look fat?" + expected = "Sure." - response(input) is expected - end + response(input) is expected end -fun starting-with-whitespace(): - check "starting with whitespace": - input = " hmmmmmmm..." - expected = "Whatever." +check "starting with whitespace": + input = " hmmmmmmm..." + expected = "Whatever." - response(input) is expected - end + response(input) is expected end -fun ending-with-whitespace(): - check "ending with whitespace": - input = "Okay if like my spacebar quite a bit? " - expected = "Sure." +check "ending with whitespace": + input = "Okay if like my spacebar quite a bit? " + expected = "Sure." - response(input) is expected - end + response(input) is expected end -fun other-whitespace(): - check "other whitespace": - input = "\n\r \t" - expected = "Fine. Be that way!" +check "other whitespace": + input = "\n\r \t" + expected = "Fine. Be that way!" - response(input) is expected - end + response(input) is expected end -fun non-question-ending-with-whitespace(): - check "non-question ending with whitespace": - input = "This is a statement ending with whitespace " - expected = "Whatever." +check "non-question ending with whitespace": + input = "This is a statement ending with whitespace " + expected = "Whatever." - response(input) is expected - end + response(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(stating-something, true), - test(shouting, false), - test(shouting-gibberish, false), - test(asking-a-question, false), - test(asking-numeric-question, false), - test(asking-gibberish, false), - test(talking-forcefully, false), - test(using-acronyms, false), - test(forceful-question, false), - test(shouting-numbers, false), - test(no-letters, false), - test(question-with-no-letters, false), - test(shouting-with-special-characters, false), - test(shouting-with-no-exclamation-mark, false), - test(statement-with-question-mark, false), - test(non-letters-with-question, false), - test(prattling-on, false), - test(silence, false), - test(prolonged-silence, false), - test(alternate-silence, false), - test(multiple-line-question, false), - test(starting-with-whitespace, false), - test(ending-with-whitespace, false), - test(other-whitespace, false), - test(non-question-ending-with-whitespace, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/circular-buffer/circular-buffer-test.arr b/exercises/practice/circular-buffer/circular-buffer-test.arr index e92dd86..1ce5ad7 100644 --- a/exercises/practice/circular-buffer/circular-buffer-test.arr +++ b/exercises/practice/circular-buffer/circular-buffer-test.arr @@ -2,223 +2,171 @@ use context starter2024 include file("circular-buffer.arr") -fun read-empty-buffer-should-fail(): - check "reading empty buffer should fail": - buff = make-buffer(1) +check "reading empty buffer should fail": + buff = make-buffer(1) - buff.read() raises "empty buffer" - end + buff.read() raises "empty buffer" end -fun can-read-an-item-just-written(): - check "can read an item just written": - var buff = make-buffer(1) - buff := buff.write(1) +check "can read an item just written": + var buff = make-buffer(1) + buff := buff.write(1) - buff.read().{0} is 1 - end + buff.read().{0} is 1 end -fun each-item-may-only-be-read-once(): - check "each item may only be read once": - var buff = make-buffer(1) - buff := buff.write(1) +check "each item may only be read once": + var buff = make-buffer(1) + buff := buff.write(1) - results = buff.read() - results.{0} is 1 - results.{1}.read() raises "empty buffer" - end + results = buff.read() + results.{0} is 1 + results.{1}.read() raises "empty buffer" end -fun items-are-read-in-the-order-they-are-written(): - check "items are read in the order they are written": - var buff = make-buffer(2) - buff := buff.write(1) - buff := buff.write(2) - - var results = buff.read() - results.{0} is 1 - results := results.{1}.read() - results.{0} is 2 - end +check "items are read in the order they are written": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.write(2) + + var results = buff.read() + results.{0} is 1 + results := results.{1}.read() + results.{0} is 2 end -fun full-buffer-can-not-be-written-to(): - check "full buffer can't be written to": - var buff = make-buffer(1) - buff := buff.write(1) +check "full buffer can't be written to": + var buff = make-buffer(1) + buff := buff.write(1) - buff.write(2) raises "full buffer" - end + buff.write(2) raises "full buffer" end -fun a-read-frees-up-capacity-for-another-write(): - check "a read frees up capacity for another write": - var buff = make-buffer(1) - buff := buff.write(1) +check "a read frees up capacity for another write": + var buff = make-buffer(1) + buff := buff.write(1) - var results = buff.read() - results.{0} is 1 - - buff := results.{1}.write(2) - results := buff.read() - results.{0} is 2 - end + var results = buff.read() + results.{0} is 1 + + buff := results.{1}.write(2) + results := buff.read() + results.{0} is 2 end -fun read-position-is-maintained-even-across-multiple-writes(): - check "read position is maintained even across multiple writes": - var buff = make-buffer(3) - buff := buff.write(1) - buff := buff.write(2) +check "read position is maintained even across multiple writes": + var buff = make-buffer(3) + buff := buff.write(1) + buff := buff.write(2) - var results = buff.read() - results.{0} is 1 + var results = buff.read() + results.{0} is 1 - buff := results.{1} - buff := buff.write(3) - - results := buff.read() - results.{0} is 2 + buff := results.{1} + buff := buff.write(3) - buff := results.{1} - results := buff.read() - results.{0} is 3 - end + results := buff.read() + results.{0} is 2 + + buff := results.{1} + results := buff.read() + results.{0} is 3 end -fun items-cleared-out-of-buffer-can-not-be-read(): - check "items cleared out of buffer can't be read": - var buff = make-buffer(1) - buff := buff.write(1) - buff := buff.clear() - - buff.read() raises "empty buffer" - end +check "items cleared out of buffer can't be read": + var buff = make-buffer(1) + buff := buff.write(1) + buff := buff.clear() + + buff.read() raises "empty buffer" end -fun clear-frees-up-capacity-for-another-write(): - check "clear frees up capacity for another write": - var buff = make-buffer(1) - buff := buff.write(1) - buff := buff.clear() - buff := buff.write(2) +check "clear frees up capacity for another write": + var buff = make-buffer(1) + buff := buff.write(1) + buff := buff.clear() + buff := buff.write(2) - buff.read().{0} is 2 - end + buff.read().{0} is 2 end -fun clear-does-nothing-on-empty-buffer(): - check "clear does nothing on empty buffer": - var buff = make-buffer(1) - buff := buff.clear() - buff := buff.write(1) - - results = buff.read() - results.{0} is 1 - end +check "clear does nothing on empty buffer": + var buff = make-buffer(1) + buff := buff.clear() + buff := buff.write(1) + + results = buff.read() + results.{0} is 1 end -fun overwrite-acts-like-write-on-non-full-buffer(): - check "overwrite acts like write on non-full buffer": - var buff = make-buffer(2) - buff := buff.write(1) - buff := buff.overwrite(2) +check "overwrite acts like write on non-full buffer": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.overwrite(2) - var results = buff.read() - results.{0} is 1 + var results = buff.read() + results.{0} is 1 - buff := results.{1} - results := buff.read() - results.{0} is 2 - end + buff := results.{1} + results := buff.read() + results.{0} is 2 end -fun overwrite-replaces-the-oldest-item-on-full-buffer(): - check "overwrite replaces the oldest item on full buffer": - var buff = make-buffer(2) - buff := buff.write(1) - buff := buff.write(2) - buff := buff.overwrite(3) +check "overwrite replaces the oldest item on full buffer": + var buff = make-buffer(2) + buff := buff.write(1) + buff := buff.write(2) + buff := buff.overwrite(3) - var results = buff.read() - results.{0} is 2 + var results = buff.read() + results.{0} is 2 - buff := results.{1} - results := buff.read() - results.{0} is 3 - end + buff := results.{1} + results := buff.read() + results.{0} is 3 end -fun overwrite-replaces-the-oldest-item-remaining-in-buffer-following-a-read(): - check "overwrite replaces the oldest item remaining in buffer following a read": - var buff = make-buffer(3) - buff := buff.write(1) - buff := buff.write(2) - buff := buff.write(3) +check "overwrite replaces the oldest item remaining in buffer following a read": + var buff = make-buffer(3) + buff := buff.write(1) + buff := buff.write(2) + buff := buff.write(3) - var results = buff.read() - results.{0} is 1 + var results = buff.read() + results.{0} is 1 - buff := results.{1} - buff := buff.write(4) - buff := buff.overwrite(5) - - results := buff.read() - results.{0} is 3 + buff := results.{1} + buff := buff.write(4) + buff := buff.overwrite(5) + + results := buff.read() + results.{0} is 3 - buff := results.{1} - results := buff.read() - results.{0} is 4 + buff := results.{1} + results := buff.read() + results.{0} is 4 - buff := results.{1} - results := buff.read() - results.{0} is 5 - end + buff := results.{1} + results := buff.read() + results.{0} is 5 end -fun initial-clear-does-not-affect-wrapping-around(): - check "initial clear does not affect wrapping around": - var buff = make-buffer(2) - buff := buff.clear() - buff := buff.write(1) - buff := buff.write(2) - buff := buff.overwrite(3) - buff := buff.overwrite(4) - - var results = buff.read() - results.{0} is 3 - - buff := results.{1} - results := buff.read() - results.{0} is 4 - - buff := results.{1} - buff.read() raises "empty buffer" - end +check "initial clear does not affect wrapping around": + var buff = make-buffer(2) + buff := buff.clear() + buff := buff.write(1) + buff := buff.write(2) + buff := buff.overwrite(3) + buff := buff.overwrite(4) + + var results = buff.read() + results.{0} is 3 + + buff := results.{1} + results := buff.read() + results.{0} is 4 + + buff := results.{1} + buff.read() raises "empty buffer" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(read-empty-buffer-should-fail, true), - test(can-read-an-item-just-written, false), - test(each-item-may-only-be-read-once, false), - test(items-are-read-in-the-order-they-are-written, false), - test(full-buffer-can-not-be-written-to, false), - test(a-read-frees-up-capacity-for-another-write, false), - test(read-position-is-maintained-even-across-multiple-writes, false), - test(items-cleared-out-of-buffer-can-not-be-read, false), - test(clear-frees-up-capacity-for-another-write, false), - test(clear-does-nothing-on-empty-buffer, false), - test(overwrite-acts-like-write-on-non-full-buffer, false), - test(overwrite-replaces-the-oldest-item-on-full-buffer, false), - test(overwrite-replaces-the-oldest-item-remaining-in-buffer-following-a-read, false), - test(initial-clear-does-not-affect-wrapping-around, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/clock/clock-test.arr b/exercises/practice/clock/clock-test.arr index b06f3e4..fb1ca6f 100644 --- a/exercises/practice/clock/clock-test.arr +++ b/exercises/practice/clock/clock-test.arr @@ -2,376 +2,211 @@ use context starter2024 include file("clock.arr") -fun create-clock-on-hour(): - check "Create a new clock with an initial time -> on the hour": - clock(8, 0).normalize().to-string() is "08:00" - end +check "Create a new clock with an initial time -> on the hour": + clock(8, 0).normalize().to-string() is "08:00" end -fun create-clock-past-hour(): - check "Create a new clock with an initial time -> past the hour": - clock(11, 09).normalize().to-string() is "11:09" - end +check "Create a new clock with an initial time -> past the hour": + clock(11, 09).normalize().to-string() is "11:09" end -fun create-clock-midnight(): - check "Create a new clock with an initial time -> midnight is zero hours": - clock(24, 0).normalize().to-string() is "00:00" - end +check "Create a new clock with an initial time -> midnight is zero hours": + clock(24, 0).normalize().to-string() is "00:00" end -fun create-clock-hours-rollover(): - check "Create a new clock with an initial time -> hour rolls over": - clock(25, 0).normalize().to-string() is "01:00" - end +check "Create a new clock with an initial time -> hour rolls over": + clock(25, 0).normalize().to-string() is "01:00" end -fun create-clock-hours-rollover-multiple(): - check "Create a new clock with an initial time -> hour rolls over continuously": - clock(100, 0).normalize().to-string() is "04:00" - end +check "Create a new clock with an initial time -> hour rolls over continuously": + clock(100, 0).normalize().to-string() is "04:00" end -fun create-clock-sixty-minutes(): - check "Create a new clock with an initial time -> sixty minutes is next hour": - clock(1, 60).normalize().to-string() is "02:00" - end +check "Create a new clock with an initial time -> sixty minutes is next hour": + clock(1, 60).normalize().to-string() is "02:00" end -fun create-clock-minutes-rollover(): - check "Create a new clock with an initial time -> minutes roll over": - clock(0, 160).normalize().to-string() is "02:40" - end +check "Create a new clock with an initial time -> minutes roll over": + clock(0, 160).normalize().to-string() is "02:40" end -fun create-clock-minutes-rollover-multiple(): - check "Create a new clock with an initial time -> minutes roll over continuously": - clock(0, 1723).normalize().to-string() is "04:43" - end +check "Create a new clock with an initial time -> minutes roll over continuously": + clock(0, 1723).normalize().to-string() is "04:43" end -fun create-clock-rollover(): - check "Create a new clock with an initial time -> hour and minutes roll over": - clock(25, 160).normalize().to-string() is "03:40" - end +check "Create a new clock with an initial time -> hour and minutes roll over": + clock(25, 160).normalize().to-string() is "03:40" end -fun create-clock-rollover-multiple(): - check "Create a new clock with an initial time -> hour and minutes roll over continuously": - clock(201, 3001).normalize().to-string() is "11:01" - end +check "Create a new clock with an initial time -> hour and minutes roll over continuously": + clock(201, 3001).normalize().to-string() is "11:01" end -fun create-clock-rollover-to-midnight(): - check "Create a new clock with an initial time -> hour and minutes roll over to exactly midnight": - clock(72, 8640).normalize().to-string() is "00:00" - end +check "Create a new clock with an initial time -> hour and minutes roll over to exactly midnight": + clock(72, 8640).normalize().to-string() is "00:00" end -fun create-clock-negative-hours(): - check "Create a new clock with an initial time -> negative hour": - clock(-1, 15).normalize().to-string() is "23:15" - end +check "Create a new clock with an initial time -> negative hour": + clock(-1, 15).normalize().to-string() is "23:15" end -fun create-clock-negative-hours-rollover(): - check "Create a new clock with an initial time -> negative hour rolls over": - clock(-25, 0).normalize().to-string() is "23:00" - end +check "Create a new clock with an initial time -> negative hour rolls over": + clock(-25, 0).normalize().to-string() is "23:00" end -fun create-clock-negative-hours-rollover-multiple(): - check "Create a new clock with an initial time -> negative hour rolls over continuously": - clock(-91, 0).normalize().to-string() is "05:00" - end +check "Create a new clock with an initial time -> negative hour rolls over continuously": + clock(-91, 0).normalize().to-string() is "05:00" end -fun create-clock-negative-minutes(): - check "Create a new clock with an initial time -> negative minutes": - clock(1, -40).normalize().to-string() is "00:20" - end +check "Create a new clock with an initial time -> negative minutes": + clock(1, -40).normalize().to-string() is "00:20" end -fun create-clock-negative-minutes-rollover(): - check "Create a new clock with an initial time -> negative minutes roll over": - clock(1, -160).normalize().to-string() is "22:20" - end +check "Create a new clock with an initial time -> negative minutes roll over": + clock(1, -160).normalize().to-string() is "22:20" end -fun create-clock-negative-minutes-rollover-multiple(): - check "Create a new clock with an initial time -> negative minutes roll over continuously": - clock(1, -4820).normalize().to-string() is "16:40" - end +check "Create a new clock with an initial time -> negative minutes roll over continuously": + clock(1, -4820).normalize().to-string() is "16:40" end -fun create-clock-negative-sixty-minutes(): - check "Create a new clock with an initial time -> negative sixty minutes is previous hour": - clock(2, -60).normalize().to-string() is "01:00" - end +check "Create a new clock with an initial time -> negative sixty minutes is previous hour": + clock(2, -60).normalize().to-string() is "01:00" end -fun create-clock-negative-rollover(): - check "Create a new clock with an initial time -> negative hour and minutes both roll over": - clock(-25, -160).normalize().to-string() is "20:20" - end +check "Create a new clock with an initial time -> negative hour and minutes both roll over": + clock(-25, -160).normalize().to-string() is "20:20" end -fun create-clock-negative-rollover-multiple(): - check "Create a new clock with an initial time -> negative hour and minutes both roll over continuously": - clock(-121, -5810).normalize().to-string() is "22:10" - end +check "Create a new clock with an initial time -> negative hour and minutes both roll over continuously": + clock(-121, -5810).normalize().to-string() is "22:10" end -fun add-minutes(): - check "Add minutes -> add minutes": - clock(10, 0).add(3).to-string() is "10:03" - end +check "Add minutes -> add minutes": + clock(10, 0).add(3).to-string() is "10:03" end -fun add-no-minutes(): - check "Add minutes -> add no minutes": - clock(6, 41).add(0).to-string() is "06:41" - end +check "Add minutes -> add no minutes": + clock(6, 41).add(0).to-string() is "06:41" end -fun add-to-hours(): - check "Add minutes -> add to next hour": - clock(0, 45).add(40).to-string() is "01:25" - end +check "Add minutes -> add to next hour": + clock(0, 45).add(40).to-string() is "01:25" end -fun add-to-hours-multiple(): - check "Add minutes -> add more than one hour": - clock(10, 0).add(61).to-string() is "11:01" - end +check "Add minutes -> add more than one hour": + clock(10, 0).add(61).to-string() is "11:01" end -fun add-to-hours-carryover(): - check "Add minutes -> add more than two hours with carry": - clock(0, 45).add(160).to-string() is "03:25" - end +check "Add minutes -> add more than two hours with carry": + clock(0, 45).add(160).to-string() is "03:25" end -fun add-across-midnight(): - check "Add minutes -> add across midnight": - clock(23, 59).add(2).to-string() is "00:01" - end +check "Add minutes -> add across midnight": + clock(23, 59).add(2).to-string() is "00:01" end -fun add-more-than-one-day(): - check "Add minutes -> add more than one day (1500 min = 25 hrs)": - clock(5, 32).add(1500).to-string() is "06:32" - end +check "Add minutes -> add more than one day (1500 min = 25 hrs)": + clock(5, 32).add(1500).to-string() is "06:32" end -fun add-more-than-one-day-multiple(): - check "Add minutes -> add more than two days": - clock(1, 1).add(3500).to-string() is "11:21" - end +check "Add minutes -> add more than two days": + clock(1, 1).add(3500).to-string() is "11:21" end -fun subtract-minutes(): - check "Subtract minutes -> subtract minutes": - clock(10, 3).subtract(3).to-string() is "10:00" - end +check "Subtract minutes -> subtract minutes": + clock(10, 3).subtract(3).to-string() is "10:00" end -fun subtract-rollover(): - check "Subtract minutes -> subtract to previous hour": - clock(10, 3).subtract(30).to-string() is "09:33" - end +check "Subtract minutes -> subtract to previous hour": + clock(10, 3).subtract(30).to-string() is "09:33" end -fun subtract-rollover-multiple(): - check "Subtract minutes -> subtract more than an hour": - clock(10, 3).subtract(70).to-string() is "08:53" - end +check "Subtract minutes -> subtract more than an hour": + clock(10, 3).subtract(70).to-string() is "08:53" end -fun subtract-across-midnight(): - check "Subtract minutes -> subtract across midnight": - clock(0, 3).subtract(4).to-string() is "23:59" - end +check "Subtract minutes -> subtract across midnight": + clock(0, 3).subtract(4).to-string() is "23:59" end -fun subtract-more-than-two-hours(): - check "Subtract minutes -> subtract more than two hours": - clock(0, 0).subtract(160).to-string() is "21:20" - end +check "Subtract minutes -> subtract more than two hours": + clock(0, 0).subtract(160).to-string() is "21:20" end -fun subtract-rollover-borrow(): - check "Subtract minutes -> subtract more than two hours with borrow": - clock(6, 15).subtract(160).to-string() is "03:35" - end +check "Subtract minutes -> subtract more than two hours with borrow": + clock(6, 15).subtract(160).to-string() is "03:35" end -fun subtract-more-than-a-day(): - check "Subtract minutes -> subtract more than one day (1500 min = 25 hrs)": - clock(5, 32).subtract(1500).to-string() is "04:32" - end +check "Subtract minutes -> subtract more than one day (1500 min = 25 hrs)": + clock(5, 32).subtract(1500).to-string() is "04:32" end -fun subtract-more-than-two-days(): - check "Subtract minutes -> subtract more than two days": - clock(2, 20).subtract(3000).to-string() is "00:20" - end +check "Subtract minutes -> subtract more than two days": + clock(2, 20).subtract(3000).to-string() is "00:20" end -fun equality-same-time(): - check "Compare two clocks for equality -> clocks with same time": - clock(15, 37) is clock(15, 37) - end +check "Compare two clocks for equality -> clocks with same time": + clock(15, 37) is clock(15, 37) end -fun equality-a-minute-apart(): - check "Compare two clocks for equality -> clocks a minute apart": - clock(15, 36) is-not clock(15, 37) - end +check "Compare two clocks for equality -> clocks a minute apart": + clock(15, 36) is-not clock(15, 37) end -fun equality-an-hour-apart(): - check "Compare two clocks for equality -> clocks an hour apart": - clock(14, 37) is-not clock(15, 37) - end +check "Compare two clocks for equality -> clocks an hour apart": + clock(14, 37) is-not clock(15, 37) end -fun equality-hour-rollover(): - check "Compare two clocks for equality -> clocks with hour overflow": - clock(10, 37) is clock(34, 37) - end +check "Compare two clocks for equality -> clocks with hour overflow": + clock(10, 37) is clock(34, 37) end -fun equality-hour-overflow-multiple(): - check "Compare two clocks for equality -> clocks with hour overflow by several days": - clock(3, 11) is clock(99, 11) - end +check "Compare two clocks for equality -> clocks with hour overflow by several days": + clock(3, 11) is clock(99, 11) end -fun equality-negative-hour(): - check "Compare two clocks for equality -> clocks with negative hour": - clock(22, 40) is clock(-2, 40) - end +check "Compare two clocks for equality -> clocks with negative hour": + clock(22, 40) is clock(-2, 40) end -fun equality-negative-hour-rollover(): - check "Compare two clocks for equality -> clocks with negative hour that wraps": - clock(17, 3) is clock(-31, 3) - end +check "Compare two clocks for equality -> clocks with negative hour that wraps": + clock(17, 3) is clock(-31, 3) end -fun equality-negative-hour-rollover-multiple(): - check "Compare two clocks for equality -> clocks with negative hour that wraps multiple times": - clock(13, 49) is clock(-83, 49) - end +check "Compare two clocks for equality -> clocks with negative hour that wraps multiple times": + clock(13, 49) is clock(-83, 49) end -fun equality-minute-rollover(): - check "Compare two clocks for equality -> clocks with minute overflow": - clock(0, 1) is clock(0, 1441) - end +check "Compare two clocks for equality -> clocks with minute overflow": + clock(0, 1) is clock(0, 1441) +end + +check "Compare two clocks for equality -> clocks with minute overflow by several days": + clock(2, 2) is clock(2, 4322) +end + +check "Compare two clocks for equality -> clocks with negative minute": + clock(2, 40) is clock(3, -20) +end + +check "Compare two clocks for equality -> clocks with negative minute that wraps": + clock(4, 10) is clock(5, -1490) +end + +check "Compare two clocks for equality -> clocks with negative minute that wraps multiple times": + clock(6, 15) is clock(6, -4305) +end + +check "Compare two clocks for equality -> clocks with negative hours and minutes": + clock(7, 32) is clock(-12, -268) +end + +check "Compare two clocks for equality -> clocks with negative hours and minutes that wrap": + clock(18, 7) is clock(-54, -11513) +end + +check "Compare two clocks for equality -> full clock and zeroed clock": + clock(24, 0) is clock(0, 0) end -fun equality-rollover-multiple(): - check "Compare two clocks for equality -> clocks with minute overflow by several days": - clock(2, 2) is clock(2, 4322) - end -end - -fun equality-negative-minute(): - check "Compare two clocks for equality -> clocks with negative minute": - clock(2, 40) is clock(3, -20) - end -end - -fun equality-negative-minute-rollover(): - check "Compare two clocks for equality -> clocks with negative minute that wraps": - clock(4, 10) is clock(5, -1490) - end -end - -fun equality-negative-minute-rollover-multiple(): - check "Compare two clocks for equality -> clocks with negative minute that wraps multiple times": - clock(6, 15) is clock(6, -4305) - end -end - -fun equality-negative-hour-and-minute(): - check "Compare two clocks for equality -> clocks with negative hours and minutes": - clock(7, 32) is clock(-12, -268) - end -end - -fun equality-negative-hours-and-minutes-rollover(): - check "Compare two clocks for equality -> clocks with negative hours and minutes that wrap": - clock(18, 7) is clock(-54, -11513) - end -end - -fun equality-full-clock-empty-clock(): - check "Compare two clocks for equality -> full clock and zeroed clock": - clock(24, 0) is clock(0, 0) - end -end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(create-clock-on-hour, true), - test(create-clock-past-hour, false), - test(create-clock-midnight, false), - test(create-clock-hours-rollover, false), - test(create-clock-hours-rollover-multiple, false), - test(create-clock-sixty-minutes, false), - test(create-clock-minutes-rollover, false), - test(create-clock-minutes-rollover-multiple, false), - test(create-clock-rollover, false), - test(create-clock-rollover-multiple, false), - test(create-clock-rollover-to-midnight, false), - test(create-clock-negative-hours, false), - test(create-clock-negative-hours-rollover, false), - test(create-clock-negative-hours-rollover-multiple, false), - test(create-clock-negative-minutes, false), - test(create-clock-negative-minutes-rollover-multiple, false), - test(create-clock-negative-sixty-minutes, false), - test(create-clock-negative-rollover, false), - test(create-clock-negative-rollover-multiple, false), - test(add-minutes, false), - test(add-no-minutes, false), - test(add-to-hours, false), - test(add-to-hours-multiple, false), - test(add-to-hours-carryover, false), - test(add-across-midnight, false), - test(add-more-than-one-day, false), - test(add-more-than-one-day-multiple, false), - test(subtract-minutes, false), - test(subtract-rollover, false), - test(subtract-rollover-multiple, false), - test(subtract-across-midnight, false), - test(subtract-more-than-two-hours, false), - test(subtract-rollover-borrow, false), - test(subtract-more-than-a-day, false), - test(subtract-more-than-two-days, false), - test(equality-same-time, false), - test(equality-a-minute-apart, false), - test(equality-an-hour-apart, false), - test(equality-hour-rollover, false), - test(equality-hour-overflow-multiple, false), - test(equality-negative-hour, false), - test(equality-negative-hour-rollover, false), - test(equality-negative-hour-rollover-multiple, false), - test(equality-minute-rollover, false), - test(equality-rollover-multiple, false), - test(equality-negative-minute, false), - test(equality-negative-minute-rollover, false), - test(equality-negative-minute-rollover-multiple, false), - test(equality-negative-hour-and-minute, false), - test(equality-negative-hours-and-minutes-rollover, false), - test(equality-full-clock-empty-clock, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr index 1537cdc..c5fab34 100644 --- a/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr +++ b/exercises/practice/collatz-conjecture/collatz-conjecture-test.arr @@ -2,55 +2,27 @@ use context starter2024 include file("collatz-conjecture.arr") -fun zero-steps-for-one(): - check "zero steps for one": - steps(1) is 0 - end +check "zero steps for one": + steps(1) is 0 end -fun divide-if-even(): - check "divide if even": - steps(16) is 4 - end +check "divide if even": + steps(16) is 4 end -fun even-and-odd-steps(): - check "even and odd steps": - steps(12) is 9 - end +check "even and odd steps": + steps(12) is 9 end -fun large-number-of-even-and-odd-steps(): - check "large number of even and odd steps": - steps(1000000) is 152 - end +check "large number of even and odd steps": + steps(1000000) is 152 end -fun zero-is-an-error(): - check "zero is an error": - steps(0) raises "Only positive numbers are allowed" - end +check "zero is an error": + steps(0) raises "Only positive numbers are allowed" end -fun negative-is-an-error(): - check "negative value is an error": - steps(-15) raises "Only positive numbers are allowed" - end +check "negative value is an error": + steps(-15) raises "Only positive numbers are allowed" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(zero-steps-for-one, true), - test(divide-if-even, false), - test(even-and-odd-steps, false), - test(large-number-of-even-and-odd-steps, false), - test(zero-is-an-error, false), - test(negative-is-an-error, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/darts/darts-test.arr b/exercises/practice/darts/darts-test.arr index 97a1e9d..7e57d88 100644 --- a/exercises/practice/darts/darts-test.arr +++ b/exercises/practice/darts/darts-test.arr @@ -2,104 +2,55 @@ use context starter2024 include file("darts.arr") -fun missed-target(): - check "Missed target": - score(-9, 9) is 0 - end +check "Missed target": + score(-9, 9) is 0 end -fun on-outer-circle(): - check "On the outer circle": - score(0, 10) is 1 - end +check "On the outer circle": + score(0, 10) is 1 end -fun on-middle-circle(): - check "On the middle circle": - score(-5, 0) is 5 - end +check "On the middle circle": + score(-5, 0) is 5 end -fun on-inner-circle(): - check "On the inner circle": - score(0, -1) is 10 - end +check "On the inner circle": + score(0, -1) is 10 end -fun at-center(): - check "Exactly on center": - score(0, 0) is 10 - end +check "Exactly on center": + score(0, 0) is 10 end -fun near-center(): - check "Near the center": - score(-0.1, -0.1) is 10 - end +check "Near the center": + score(-0.1, -0.1) is 10 end -fun just-within-inner-circle(): - check "Just within the inner circle": - score(0.7, 0.7) is 10 - end +check "Just within the inner circle": + score(0.7, 0.7) is 10 end -fun just-outside-inner-circle(): - check "Just outside the inner circle": - score(0.8, -0.8) is 5 - end +check "Just outside the inner circle": + score(0.8, -0.8) is 5 end -fun just-within-middle-circle(): - check "Just within the middle circle": - score(-3.5, 3.5) is 5 - end +check "Just within the middle circle": + score(-3.5, 3.5) is 5 end -fun just-outside-middle-circle(): - check "Just outside the middle circle": - score(-3.6, 3.6) is 1 - end +check "Just outside the middle circle": + score(-3.6, 3.6) is 1 end -fun just-within-outer-circle(): - check "Just within the outer circle": - score(-7.0, 7.0) is 1 - end +check "Just within the outer circle": + score(-7.0, 7.0) is 1 end -fun just-outside-outer-circle(): - check "Just outside the outer circle": - score(7.1, -7.1) is 0 - end +check "Just outside the outer circle": + score(7.1, -7.1) is 0 end -fun asymmetric-position(): - check "Asymmetric position between the inner and middle circles": - score(0.5, -4) is 5 - end +check "Asymmetric position between the inner and middle circles": + score(0.5, -4) is 5 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(missed-target, true), - test(on-outer-circle, false), - test(on-middle-circle, false), - test(on-inner-circle, false), - test(at-center, false), - test(near-center, false), - test(just-within-inner-circle, false), - test(just-outside-inner-circle, false), - test(just-within-middle-circle, false), - test(just-outside-middle-circle, false), - test(just-within-outer-circle, false), - test(just-outside-outer-circle, false), - test(asymmetric-position, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/difference-of-squares/difference-of-squares-test.arr b/exercises/practice/difference-of-squares/difference-of-squares-test.arr index 16a0e98..2cfeba2 100644 --- a/exercises/practice/difference-of-squares/difference-of-squares-test.arr +++ b/exercises/practice/difference-of-squares/difference-of-squares-test.arr @@ -2,76 +2,39 @@ use context starter2024 include file("difference-of-squares.arr") -fun square-of-sum-1(): - check "Square the sum of the numbers up to the given number -> square of sum 1": - square-of-sum(1) is 1 - end +check "Square the sum of the numbers up to the given number -> square of sum 1": + square-of-sum(1) is 1 end -fun square-of-sum-5(): - check "Square the sum of the numbers up to the given number -> square of sum 5": - square-of-sum(5) is 225 - end +check "Square the sum of the numbers up to the given number -> square of sum 5": + square-of-sum(5) is 225 end -fun square-of-sum-100(): - check "Square the sum of the numbers up to the given number -> square of sum 100": - square-of-sum(100) is 25502500 - end +check "Square the sum of the numbers up to the given number -> square of sum 100": + square-of-sum(100) is 25502500 end -fun sum-of-squares-1(): - check "Sum the squares of the numbers up to the given number -> sum of squares 1": - sum-of-squares(1) is 1 - end +check "Sum the squares of the numbers up to the given number -> sum of squares 1": + sum-of-squares(1) is 1 end -fun sum-of-squares-5(): - check "Sum the squares of the numbers up to the given number -> sum of squares 5": - sum-of-squares(5) is 55 - end +check "Sum the squares of the numbers up to the given number -> sum of squares 5": + sum-of-squares(5) is 55 end -fun sum-of-squares-100(): - check "Sum the squares of the numbers up to the given number -> sum of squares 100": - sum-of-squares(100) is 338350 - end +check "Sum the squares of the numbers up to the given number -> sum of squares 100": + sum-of-squares(100) is 338350 end -fun difference-of-squares-1(): - check "Subtract sum of squares from square of sums -> difference of squares 1": - difference-of-squares(1) is 0 - end +check "Subtract sum of squares from square of sums -> difference of squares 1": + difference-of-squares(1) is 0 end -fun difference-of-squares-5(): - check "Subtract sum of squares from square of sums -> difference of squares 5": - difference-of-squares(5) is 170 - end +check "Subtract sum of squares from square of sums -> difference of squares 5": + difference-of-squares(5) is 170 end -fun dfference-of-squares-100(): - check "Subtract sum of squares from square of sums -> difference of squares 100": - difference-of-squares(100) is 25164150 - end +check "Subtract sum of squares from square of sums -> difference of squares 100": + difference-of-squares(100) is 25164150 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(square-of-sum-1, true), - test(square-of-sum-5, false), - test(square-of-sum-100, false), - test(sum-of-squares-1, false), - test(sum-of-squares-5, false), - test(sum-of-squares-100, false), - test(difference-of-squares-1, false), - test(difference-of-squares-5, false), - test(dfference-of-squares-100, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/dnd-character/dnd-character-test.arr b/exercises/practice/dnd-character/dnd-character-test.arr index e4c05e5..6bc8670 100644 --- a/exercises/practice/dnd-character/dnd-character-test.arr +++ b/exercises/practice/dnd-character/dnd-character-test.arr @@ -2,161 +2,96 @@ use context starter2024 include file("dnd-character.arr") - # declaring some variables to be more concise inside the tests. modifier = blank-character().modifier ability = blank-character().ability randomize-stats = blank-character().randomize-stats -fun modifier-score-3(): - check "ability modifier -> ability modifier for score 3 is -4": - modifier(3) is -4 - end +check "ability modifier -> ability modifier for score 3 is -4": + modifier(3) is -4 end -fun modifier-score-4(): - check "ability modifier -> ability modifier for score 4 is -3": - modifier(4) is -3 - end +check "ability modifier -> ability modifier for score 4 is -3": + modifier(4) is -3 end -fun modifier-score-5(): - check "ability modifier -> ability modifier for score 5 is -3": - modifier(5) is -3 - end +check "ability modifier -> ability modifier for score 5 is -3": + modifier(5) is -3 end -fun modifier-score-6(): - check "ability modifier -> ability modifier for score 6 is -2": - modifier(6) is -2 - end +check "ability modifier -> ability modifier for score 6 is -2": + modifier(6) is -2 end -fun modifier-score-7(): - check "ability modifier -> ability modifier for score 7 is -2": - modifier(7) is -2 - end +check "ability modifier -> ability modifier for score 7 is -2": + modifier(7) is -2 end -fun modifier-score-8(): - check "ability modifier -> ability modifier for score 8 is -1": - modifier(8) is -1 - end +check "ability modifier -> ability modifier for score 8 is -1": + modifier(8) is -1 end -fun modifier-score-9(): - check "ability modifier -> ability modifier for score 9 is -1": - modifier(9) is -1 - end +check "ability modifier -> ability modifier for score 9 is -1": + modifier(9) is -1 end -fun modifier-score-10(): - check "ability modifier -> ability modifier for score 10 is 0": - modifier(10) is 0 - end +check "ability modifier -> ability modifier for score 10 is 0": + modifier(10) is 0 end -fun modifier-score-11(): - check "ability modifier -> ability modifier for score 11 is 0": - modifier(11) is 0 - end +check "ability modifier -> ability modifier for score 11 is 0": + modifier(11) is 0 end -fun modifier-score-12(): - check "ability modifier -> ability modifier for score 12 is +1": - modifier(12) is 1 - end +check "ability modifier -> ability modifier for score 12 is +1": + modifier(12) is 1 end -fun modifier-score-13(): - check "ability modifier -> ability modifier for score 13 is +1": - modifier(13) is 1 - end +check "ability modifier -> ability modifier for score 13 is +1": + modifier(13) is 1 end -fun modifier-score-14(): - check "ability modifier -> ability modifier for score 14 is +2": - modifier(14) is 2 - end +check "ability modifier -> ability modifier for score 14 is +2": + modifier(14) is 2 end -fun modifier-score-15(): - check "ability modifier -> ability modifier for score 15 is +2": - modifier(15) is 2 - end +check "ability modifier -> ability modifier for score 15 is +2": + modifier(15) is 2 end -fun modifier-score-16(): - check "ability modifier -> ability modifier for score 16 is +3": - modifier(16) is 3 - end +check "ability modifier -> ability modifier for score 16 is +3": + modifier(16) is 3 end -fun modifier-score-17(): - check "ability modifier -> ability modifier for score 17 is +3": - modifier(17) is 3 - end +check "ability modifier -> ability modifier for score 17 is +3": + modifier(17) is 3 end -fun modifier-score-18(): - check "ability modifier -> ability modifier for score 18 is +4": - modifier(18) is 4 - end +check "ability modifier -> ability modifier for score 18 is +4": + modifier(18) is 4 end -fun ability-within-range(): - check "random ability is within range": - stat = ability() - - is-valid = lam(n): (n >= 3) and (n <= 18) end +check "random ability is within range": + stat = ability() + + is-valid = lam(n): (n >= 3) and (n <= 18) end - is-valid(stat) is true - end + is-valid(stat) is true end -fun random-character-is-valid(): - check "random character is valid": - new-character = randomize-stats() +check "random character is valid": + new-character = randomize-stats() - is-valid = lam(n): (n >= 3) and (n <= 18) end + is-valid = lam(n): (n >= 3) and (n <= 18) end + + is-valid(new-character.strength) is true + is-valid(new-character.dexterity) is true + is-valid(new-character.constitution) is true + is-valid(new-character.intelligence) is true + is-valid(new-character.wisdom) is true + is-valid(new-character.charisma) is true + + expected = 10 + new-character.modifier(new-character.constitution) + new-character.get-hitpoints() is expected +end - is-valid(new-character.strength) is true - is-valid(new-character.dexterity) is true - is-valid(new-character.constitution) is true - is-valid(new-character.intelligence) is true - is-valid(new-character.wisdom) is true - is-valid(new-character.charisma) is true - - expected = 10 + new-character.modifier(new-character.constitution) - new-character.get-hitpoints() is expected - end -end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(modifier-score-3, true), - test(modifier-score-4, false), - test(modifier-score-5, false), - test(modifier-score-6, false), - test(modifier-score-7, false), - test(modifier-score-8, false), - test(modifier-score-9, false), - test(modifier-score-10, false), - test(modifier-score-11, false), - test(modifier-score-12, false), - test(modifier-score-13, false), - test(modifier-score-14, false), - test(modifier-score-15, false), - test(modifier-score-16, false), - test(modifier-score-17, false), - test(modifier-score-18, false), - test(ability-within-range, false), - test(random-character-is-valid, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr index 0957f92..5cd1a89 100644 --- a/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr +++ b/exercises/practice/eliuds-eggs/eliuds-eggs-test.arr @@ -2,41 +2,19 @@ use context starter2024 include file("eliuds-eggs.arr") -fun zero-eggs(): - check "0 eggs": - egg-count(0) is 0 - end +check "0 eggs": + egg-count(0) is 0 end -fun one-egg(): - check "1 egg": - egg-count(16) is 1 - end +check "1 egg": + egg-count(16) is 1 end -fun four-eggs(): - check "4 eggs": - egg-count(89) is 4 - end +check "4 eggs": + egg-count(89) is 4 end -fun thirteen-eggs(): - check "13 eggs": - egg-count(2000000000) is 13 - end +check "13 eggs": + egg-count(2000000000) is 13 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(zero-eggs, true), - test(one-egg, false), - test(four-eggs, false), - test(thirteen-eggs, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/etl/etl-test.arr b/exercises/practice/etl/etl-test.arr index 5e93210..3971878 100644 --- a/exercises/practice/etl/etl-test.arr +++ b/exercises/practice/etl/etl-test.arr @@ -4,57 +4,35 @@ include file("etl.arr") include string-dict -fun single-letter(): - check "single letter": - translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] - end +check "single letter": + translate([string-dict: "1", [list: "A"]]) is [string-dict: "a", "1"] end -fun single-score-multiple-letters(): - check "single score with multiple letters": - translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] - end +check "single score with multiple letters": + translate([string-dict: "1", [list: "A", "E", "I", "O", "U"]]) is [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1"] end -fun multiple-scores-multiple-letters(): - check "multiple scores with multiple letters": - input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] - expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] - translate(input) is expected - end +check "multiple scores with multiple letters": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], "2", [list: "D", "G"]] + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", "d", "2", "g", "2"] + translate(input) is expected end -fun multiple-scores-different-numbers-of-letters(): - check "multiple scores with differing numbers of letters": - input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], - "2", [list: "D", "G"], - "3", [list: "B", "C", "M", "P"], - "4", [list: "F", "H", "V", "W", "Y"], - "5", [list: "K"], - "8", [list: "J", "X"], - "10", [list: "Q", "Z"]] - expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", - "d", "2", "g", "2", - "b", "3", "c", "3", "m", "3", "p", "3", - "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", - "k", "5", - "j", "8", "x", "8", - "q", "10", "z", "10"] - translate(input) is expected - end +check "multiple scores with differing numbers of letters": + input = [string-dict: "1", [list: "A", "E", "I", "O", "U"], + "2", [list: "D", "G"], + "3", [list: "B", "C", "M", "P"], + "4", [list: "F", "H", "V", "W", "Y"], + "5", [list: "K"], + "8", [list: "J", "X"], + "10", [list: "Q", "Z"]] + expected = [string-dict: "a", "1", "e", "1", "i", "1", "o", "1", "u", "1", + "d", "2", "g", "2", + "b", "3", "c", "3", "m", "3", "p", "3", + "f", "4", "h", "4", "v", "4", "w", "4", "y", "4", + "k", "5", + "j", "8", "x", "8", + "q", "10", "z", "10"] + translate(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(single-letter, true), - test(single-score-multiple-letters, false), - test(multiple-scores-multiple-letters, false), - test(multiple-scores-different-numbers-of-letters, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/flatten-array/flatten-array-test.arr b/exercises/practice/flatten-array/flatten-array-test.arr index a2b4b05..5089832 100644 --- a/exercises/practice/flatten-array/flatten-array-test.arr +++ b/exercises/practice/flatten-array/flatten-array-test.arr @@ -2,200 +2,157 @@ use context starter2024 include file("flatten-array.arr") -fun empty-array(): - check "empty": - input = [list: ] +check "empty": + input = [list: ] - expected = [list: ] + expected = [list: ] - flatten(input) is expected - end + flatten(input) is expected end -fun no-nesting(): - check "no nesting": - input = [list: 0, 1, 2] +check "no nesting": + input = [list: 0, 1, 2] - expected = [list: 0, 1, 2] + expected = [list: 0, 1, 2] - flatten(input) is expected - end + flatten(input) is expected end -fun nested-array(): - check "flattens a nested array": - input = [list: [list: ]] +check "flattens a nested array": + input = [list: [list: ]] - expected = [list: ] + expected = [list: ] - flatten(input) is expected - end + flatten(input) is expected end -fun numeric-array(): - check "flattens array with just integers present": - input = [list: 1, [list: 2, 3, 4, 5, 6, 7], 8] +check "flattens array with just integers present": + input = [list: 1, [list: 2, 3, 4, 5, 6, 7], 8] - expected = [list: 1, 2, 3, 4, 5, 6, 7, 8] + expected = [list: 1, 2, 3, 4, 5, 6, 7, 8] - flatten(input) is expected - end + flatten(input) is expected end -fun five-levels(): - check "5 level nesting": - input = [list: - 0, - 2, - [list: - [list: 2, 3], - 8, - 100, - 4, - [list: - [list: - [list: 50]]]], - -2] - - expected = [list: - 0, - 2, - 2, - 3, +check "5 level nesting": + input = [list: + 0, + 2, + [list: + [list: 2, 3], 8, 100, 4, - 50, - -2] - - flatten(input) is expected - end -end - -fun six-levels(): - check "6 level nesting": - input = [list: - 1, [list: - 2, - [list: [list: 3]], [list: - 4, - [list: [list: 5]]], - 6, - 7], - 8] - - expected = [list: - 1, + [list: 50]]]], + -2] + + expected = [list: + 0, + 2, + 2, + 3, + 8, + 100, + 4, + 50, + -2] + + flatten(input) is expected +end + +check "6 level nesting": + input = [list: + 1, + [list: 2, - 3, + [list: [list: 3]], + [list: 4, - 5, + [list: [list: 5]]], 6, - 7, - 8] - - flatten(input) is expected - end + 7], + 8] + + expected = [list: + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8] + + flatten(input) is expected end -fun omit-a-nothing(): - check "nothing values are omitted from the final result": - input = [list: 1, 2, nothing] +check "nothing values are omitted from the final result": + input = [list: 1, 2, nothing] - expected = [list: 1, 2] + expected = [list: 1, 2] - flatten(input) is expected - end + flatten(input) is expected end -fun omit-nothings-from-beginning(): - check "consecutive nothing values at the front of the array are omitted from the final result": - input = [list: nothing, nothing, 3] +check "consecutive nothing values at the front of the array are omitted from the final result": + input = [list: nothing, nothing, 3] - expected = [list: 3] + expected = [list: 3] - flatten(input) is expected - end + flatten(input) is expected end -fun omit-nothings-from-middle(): - check "consecutive nothing values in the middle of the array are omitted from the final result": - input = [list: 1, nothing, nothing, 4] +check "consecutive nothing values in the middle of the array are omitted from the final result": + input = [list: 1, nothing, nothing, 4] - expected = [list: 1, 4] + expected = [list: 1, 4] - flatten(input) is expected - end + flatten(input) is expected end -fun six-levels-with-nothings(): - check "6 level nest array with nothing values": - input = [list: - 0, - 2, - [list: - [list: 2, 3], - 8, - [list: [list: 100 ]], - nothing, - [list: [list: nothing]]], - -2] - - expected = [list: - 0, - 2, - 2, - 3, +check "6 level nest array with nothing values": + input = [list: + 0, + 2, + [list: + [list: 2, 3], 8, - 100, - -2] - - flatten(input) is expected - end + [list: [list: 100 ]], + nothing, + [list: [list: nothing]]], + -2] + + expected = [list: + 0, + 2, + 2, + 3, + 8, + 100, + -2] + + flatten(input) is expected end -fun all-nothings(): - check "all values in nested array are nothing": - input = [list: - nothing, +check "all values in nested array are nothing": + input = [list: + nothing, + [list: [list: - [list: - [list: nothing]]], - nothing, - nothing, + [list: nothing]]], + nothing, + nothing, + [list: [list: - [list: - nothing, - nothing], + nothing, nothing], - nothing] + nothing], + nothing] - expected = [list: ] + expected = [list: ] - flatten(input) is expected - end + flatten(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-array, true), - test(no-nesting, false), - test(nested-array, false), - test(numeric-array, false), - test(five-levels, false), - test(six-levels, false), - test(omit-a-nothing, false), - test(omit-nothings-from-beginning, false), - test(omit-nothings-from-middle, false), - test(six-levels-with-nothings, false), - test(all-nothings, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/grains/grains-test.arr b/exercises/practice/grains/grains-test.arr index 4b944f3..be70bb3 100644 --- a/exercises/practice/grains/grains-test.arr +++ b/exercises/practice/grains/grains-test.arr @@ -2,90 +2,47 @@ use context starter2024 include file("grains.arr") -fun on-square-1(): - check "returns the number of grains on the square -> grains on square 1": - on-square(1) is 1 - end +check "returns the number of grains on the square -> grains on square 1": + on-square(1) is 1 end -fun on-square-2(): - check "returns the number of grains on the square -> grains on square 2": - on-square(2) is 2 - end +check "returns the number of grains on the square -> grains on square 2": + on-square(2) is 2 end -fun on-square-3(): - check "returns the number of grains on the square -> grains on square 3": - on-square(3) is 4 - end +check "returns the number of grains on the square -> grains on square 3": + on-square(3) is 4 end -fun on-square-4(): - check "returns the number of grains on the square -> grains on square 4": - on-square(4) is 8 - end +check "returns the number of grains on the square -> grains on square 4": + on-square(4) is 8 end -fun on-square-16(): - check "returns the number of grains on the square -> grains on square 16": - on-square(16) is 32768 - end +check "returns the number of grains on the square -> grains on square 16": + on-square(16) is 32768 end -fun on-square-32(): - check "returns the number of grains on the square -> grains on square 32": - on-square(32) is 2147483648 - end +check "returns the number of grains on the square -> grains on square 32": + on-square(32) is 2147483648 end -fun on-square-64(): - check "returns the number of grains on the square -> grains on square 64": - on-square(64) is 9223372036854775808 - end +check "returns the number of grains on the square -> grains on square 64": + on-square(64) is 9223372036854775808 end -fun on-square-raises-exception-for-zero(): - check "returns the number of grains on the square -> square 0 raises an exception": - on-square(0) raises "square must be between 1 and 64" - end +check "returns the number of grains on the square -> square 0 raises an exception": + on-square(0) raises "square must be between 1 and 64" end -fun on-square-raises-exception-for-negative(): - check "returns the number of grains on the square -> negative square raises an exception": - on-square(-1) raises "square must be between 1 and 64" - end +check "returns the number of grains on the square -> negative square raises an exception": + on-square(-1) raises "square must be between 1 and 64" end -fun on-square-raises-exception-for-65(): - check "returns the number of grains on the square -> square greater than 64 raises an exception": - on-square(65) raises "square must be between 1 and 64" - end +check "returns the number of grains on the square -> square greater than 64 raises an exception": + on-square(65) raises "square must be between 1 and 64" end -fun total-returns-all-grains(): - check "returns the total number of grains on the board": - total() is 18446744073709551615 - end +check "returns the total number of grains on the board": + total() is 18446744073709551615 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(on-square-1, true), - test(on-square-2, false), - test(on-square-3, false), - test(on-square-4, false), - test(on-square-16, false), - test(on-square-32, false), - test(on-square-64, false), - test(on-square-raises-exception-for-zero, false), - test(on-square-raises-exception-for-negative, false), - test(on-square-raises-exception-for-65, false), - test(total-returns-all-grains, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/hamming/hamming-test.arr b/exercises/practice/hamming/hamming-test.arr index 862d2c2..72b730b 100644 --- a/exercises/practice/hamming/hamming-test.arr +++ b/exercises/practice/hamming/hamming-test.arr @@ -2,76 +2,39 @@ use context starter2024 include file("hamming.arr") -fun empty-strands(): - check "empty strands": - distance("", "") is 0 - end +check "empty strands": + distance("", "") is 0 end -fun single-letter-identical-strands(): - check "single letter identical strands": - distance("A", "A") is 0 - end +check "single letter identical strands": + distance("A", "A") is 0 end -fun single-letter-different-strands(): - check "single letter different strands": - distance("G", "T") is 1 - end +check "single letter different strands": + distance("G", "T") is 1 end -fun long-identical-strands(): - check "long identical strands": - distance("GGACTGAAATCTG", "GGACTGAAATCTG") is 0 - end +check "long identical strands": + distance("GGACTGAAATCTG", "GGACTGAAATCTG") is 0 end -fun long-different-strands(): - check "long different strands": - distance("GGACGGATTCTG", "AGGACGGATTCT") is 9 - end +check "long different strands": + distance("GGACGGATTCTG", "AGGACGGATTCT") is 9 end -fun disallow-first-strand-longer(): - check "disallow first strand longer": - distance("AATG", "AAA") raises "Strands must be of equal length." - end +check "disallow first strand longer": + distance("AATG", "AAA") raises "Strands must be of equal length." end -fun disallow-second-strand-longer(): - check "disallow second strand longer": - distance("ATA", "AGTG") raises "Strands must be of equal length." - end +check "disallow second strand longer": + distance("ATA", "AGTG") raises "Strands must be of equal length." end -fun disallow-empty-first-strand(): - check "disallow empty first strand": - distance("", "G") raises "Strands must be of equal length." - end +check "disallow empty first strand": + distance("", "G") raises "Strands must be of equal length." end -fun disallow-empty-second-strand(): - check "disallow empty second strand": - distance("G", "") raises "Strands must be of equal length." - end +check "disallow empty second strand": + distance("G", "") raises "Strands must be of equal length." end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-strands, true), - test(single-letter-identical-strands, false), - test(single-letter-different-strands, false), - test(long-identical-strands, false), - test(long-different-strands, false), - test(disallow-first-strand-longer, false), - test(disallow-second-strand-longer, false), - test(disallow-empty-first-strand, false), - test(disallow-empty-second-strand, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/hello-world/hello-world-test.arr b/exercises/practice/hello-world/hello-world-test.arr index 8a9ef4a..6dbc23e 100644 --- a/exercises/practice/hello-world/hello-world-test.arr +++ b/exercises/practice/hello-world/hello-world-test.arr @@ -2,20 +2,7 @@ use context starter2024 include file("hello-world.arr") -fun say-hi(): - check "Say Hi!": - hello() is "Hello, World!" - end +check "Say Hi!": + hello() is "Hello, World!" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(say-hi, true) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/high-scores/high-scores-test.arr b/exercises/practice/high-scores/high-scores-test.arr index e004b00..4138c2c 100644 --- a/exercises/practice/high-scores/high-scores-test.arr +++ b/exercises/practice/high-scores/high-scores-test.arr @@ -2,93 +2,59 @@ use context starter2024 include file("high-scores.arr") -fun list-of-scores(): - check "List of scores": - scores = [list: 30, 50, 20, 70] - expected = [list: 30, 50, 20, 70] +check "List of scores": + scores = [list: 30, 50, 20, 70] + expected = [list: 30, 50, 20, 70] - high-scores(scores).scores is expected - end + high-scores(scores).scores is expected end -fun latest-score(): - check "Latest score": - scores = [list: 100, 0, 90, 30] - expected = 30 +check "Latest score": + scores = [list: 100, 0, 90, 30] + expected = 30 - high-scores(scores).latest() is expected - end + high-scores(scores).latest() is expected end -fun personal-best(): - check "Personal best": - scores = [list: 40, 100, 70] - expected = 100 +check "Personal best": + scores = [list: 40, 100, 70] + expected = 100 - high-scores(scores).personal-best() is expected - end + high-scores(scores).personal-best() is expected end -fun top-three(): - check "Top 3 scores -> Personal top three from a list of scores": - scores = [list: 10, 30, 90, 30, 100, 20, 10, 0, 30, 40, 40, 70, 70] - expected = [list: 100, 90, 70] +check "Top 3 scores -> Personal top three from a list of scores": + scores = [list: 10, 30, 90, 30, 100, 20, 10, 0, 30, 40, 40, 70, 70] + expected = [list: 100, 90, 70] - high-scores(scores).personal-top-three() is expected - end + high-scores(scores).personal-top-three() is expected end -fun top-three-is-sorted(): - check "Top 3 scores -> Personal top highest to lowest": - scores = [list: 20, 10, 30] - expected = [list: 30, 20, 10] +check "Top 3 scores -> Personal top highest to lowest": + scores = [list: 20, 10, 30] + expected = [list: 30, 20, 10] - high-scores(scores).personal-top-three() is expected - end + high-scores(scores).personal-top-three() is expected end -fun top-three-with-tie(): - check "Top 3 scores -> Personal top when there is a tie": - scores = [list: 40, 20, 40, 30] - expected = [list: 40, 40, 30] - - high-scores(scores).personal-top-three() is expected - end +check "Top 3 scores -> Personal top when there is a tie": + scores = [list: 40, 20, 40, 30] + expected = [list: 40, 40, 30] + + high-scores(scores).personal-top-three() is expected end -fun top-three-when-less-than-three(): - check "Top 3 scores -> Personal top when there are less than 3": - scores = [list: 30, 70] - expected = [list: 70, 30] - - high-scores(scores).personal-top-three() is expected - end +check "Top 3 scores -> Personal top when there are less than 3": + scores = [list: 30, 70] + expected = [list: 70, 30] + + high-scores(scores).personal-top-three() is expected end -fun top-three-when-only-one(): - check "Top 3 scores -> Personal top when there is only one": - scores = [list: 40] - expected = [list: 40] - - high-scores(scores).personal-top-three() is expected - end +check "Top 3 scores -> Personal top when there is only one": + scores = [list: 40] + expected = [list: 40] + + high-scores(scores).personal-top-three() is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(list-of-scores, true), - test(latest-score, false), - test(personal-best, false), - test(top-three, false), - test(top-three-is-sorted, false), - test(top-three-with-tie, false), - test(top-three-when-less-than-three, false), - test(top-three-when-only-one, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/isogram/isogram-test.arr b/exercises/practice/isogram/isogram-test.arr index 4e0f89d..58ef64b 100644 --- a/exercises/practice/isogram/isogram-test.arr +++ b/exercises/practice/isogram/isogram-test.arr @@ -2,111 +2,59 @@ use context starter2024 include file("isogram.arr") -fun empty-string(): - check "empty string": - is-isogram("") is true - end +check "empty string": + is-isogram("") is true end -fun only-lowercase(): - check "isogram with only lower case characters": - is-isogram("isogram") is true - end +check "isogram with only lower case characters": + is-isogram("isogram") is true end -fun duplicated-character(): - check "word with one duplicated character": - is-isogram("eleven") is false - end +check "word with one duplicated character": + is-isogram("eleven") is false end -fun duplicate-character-from-end-of-alphabet(): - check "word with one duplicated character from the end of the alphabet": - is-isogram("zzyzx") is false - end +check "word with one duplicated character from the end of the alphabet": + is-isogram("zzyzx") is false end -fun longest-reported-isogram(): - check "longest reported english isogram": - is-isogram("subdermatoglyphic") is true - end +check "longest reported english isogram": + is-isogram("subdermatoglyphic") is true end -fun duplicate-character-mixed-case(): - check "word with duplicated character in mixed case": - is-isogram("Alphabet") is false - end +check "word with duplicated character in mixed case": + is-isogram("Alphabet") is false end -fun duplicated-character-mixed-case-lowercase-first(): - check "word with duplicated character in mixed case, lowercase first": - is-isogram("alphAbet") is false - end +check "word with duplicated character in mixed case, lowercase first": + is-isogram("alphAbet") is false end -fun isogram-with-hyphen(): - check "hypothetical isogrammic word with hyphen": - is-isogram("thumbscrew-japingly") is true - end +check "hypothetical isogrammic word with hyphen": + is-isogram("thumbscrew-japingly") is true end -fun isogram-with-hyphen-and-duplicate-character(): - check "hypothetical word with duplicated character following hyphen": - is-isogram("thumbscrew-jappingly") is false - end +check "hypothetical word with duplicated character following hyphen": + is-isogram("thumbscrew-jappingly") is false end -fun isogram-with-duplicated-hyphen(): - check "isogram with duplicated hyphen": - is-isogram("six-year-old") is true - end +check "isogram with duplicated hyphen": + is-isogram("six-year-old") is true end -fun made-up-name(): - check "made-up name that is an isogram": - is-isogram("Emily Jung Schwartzkopf") is true - end +check "made-up name that is an isogram": + is-isogram("Emily Jung Schwartzkopf") is true end -fun duplicate-character-in-middle(): - check "duplicated character in the middle": - is-isogram("accentor") is false - end +check "duplicated character in the middle": + is-isogram("accentor") is false end -fun duplicate-character-on-ends(): - check "same first and last characters": - is-isogram("angola") is false - end +check "same first and last characters": + is-isogram("angola") is false end -fun duplicate-character-and-hyphens(): - check "word with duplicated character and with two hyphens": - is-isogram("up-to-date") is false - end +check "word with duplicated character and with two hyphens": + is-isogram("up-to-date") is false end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-string, true), - test(only-lowercase, false), - test(duplicated-character, false), - test(duplicate-character-from-end-of-alphabet, false), - test(longest-reported-isogram, false), - test(duplicate-character-mixed-case, false), - test(duplicated-character-mixed-case-lowercase-first, false), - test(isogram-with-hyphen, false), - test(isogram-with-hyphen-and-duplicate-character, false), - test(isogram-with-duplicated-hyphen, false), - test(made-up-name, false), - test(duplicate-character-in-middle, false), - test(duplicate-character-on-ends, false), - test(duplicate-character-and-hyphens, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/leap/leap-test.arr b/exercises/practice/leap/leap-test.arr index efb4446..789b3f3 100644 --- a/exercises/practice/leap/leap-test.arr +++ b/exercises/practice/leap/leap-test.arr @@ -2,76 +2,39 @@ use context starter2024 include file("leap.arr") -fun not-divisible-by-4(): - check "year not divisible by 4 in common year": - leap(2015) is false - end +check "year not divisible by 4 in common year": + leap(2015) is false end -fun divisible-by-2-not-4(): - check "year divisible by 2, not divisible by 4 in common year": - leap(1970) is false - end +check "year divisible by 2, not divisible by 4 in common year": + leap(1970) is false end -fun divisible-by-4-not-100(): - check "year divisible by 4, not divisible by 100 in leap year": - leap(1996) is true - end +check "year divisible by 4, not divisible by 100 in leap year": + leap(1996) is true end -fun divisible-by-4-and-5(): - check "year divisible by 4 and 5 is still a leap year": - leap(1960) is true - end +check "year divisible by 4 and 5 is still a leap year": + leap(1960) is true end -fun divisible-by-100-not-400(): - check "year divisible by 100, not divisible by 400 in common year": - leap(2100) is false - end +check "year divisible by 100, not divisible by 400 in common year": + leap(2100) is false end -fun divisible-by-100-not-3(): - check "year divisible by 100 but not by 3 is still not a leap year": - leap(1900) is false - end +check "year divisible by 100 but not by 3 is still not a leap year": + leap(1900) is false end -fun divisible-by-400(): - check "year divisible by 400 is leap year": - leap(2000) is true - end +check "year divisible by 400 is leap year": + leap(2000) is true end -fun divisible-by-400-not-125(): - check "year divisible by 400 but not by 125 is still a leap year": - leap(2400) is true - end +check "year divisible by 400 but not by 125 is still a leap year": + leap(2400) is true end -fun divisible-by-200-not-400(): - check "year divisible by 200, not divisible by 400 in common year": - leap(1800) is false - end +check "year divisible by 200, not divisible by 400 in common year": + leap(1800) is false end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(not-divisible-by-4, true), - test(divisible-by-2-not-4, false), - test(divisible-by-4-not-100, false), - test(divisible-by-4-and-5, false), - test(divisible-by-100-not-400, false), - test(divisible-by-100-not-3, false), - test(divisible-by-400, false), - test(divisible-by-400-not-125, false), - test(divisible-by-200-not-400, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/line-up/line-up-test.arr b/exercises/practice/line-up/line-up-test.arr index b84f481..1b7de93 100644 --- a/exercises/practice/line-up/line-up-test.arr +++ b/exercises/practice/line-up/line-up-test.arr @@ -2,147 +2,79 @@ use context starter2024 include file("line-up.arr") - -fun format-4(): - check "format smallest non-exceptional ordinal numeral 4": - format-message("Gianna", 4) is "Gianna, you are the 4th customer we serve today. Thank you!" - end +check "format smallest non-exceptional ordinal numeral 4": + format-message("Gianna", 4) is "Gianna, you are the 4th customer we serve today. Thank you!" end -fun format-9(): - check "format greatest single digit non-exceptional ordinal numeral 9": - format-message("Maarten", 9) is "Maarten, you are the 9th customer we serve today. Thank you!" - end +check "format greatest single digit non-exceptional ordinal numeral 9": + format-message("Maarten", 9) is "Maarten, you are the 9th customer we serve today. Thank you!" end -fun format-5(): - check "format non-exceptional ordinal numeral 5": - format-message("Petronila", 5) is "Petronila, you are the 5th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 5": + format-message("Petronila", 5) is "Petronila, you are the 5th customer we serve today. Thank you!" end -fun format-6(): - check "format non-exceptional ordinal numeral 6": - format-message("Attakullakulla", 6) is "Attakullakulla, you are the 6th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 6": + format-message("Attakullakulla", 6) is "Attakullakulla, you are the 6th customer we serve today. Thank you!" end -fun format-7(): - check "format non-exceptional ordinal numeral 7": - format-message("Kate", 7) is "Kate, you are the 7th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 7": + format-message("Kate", 7) is "Kate, you are the 7th customer we serve today. Thank you!" end -fun format-8(): - check "format non-exceptional ordinal numeral 8": - format-message("Maximiliano", 8) is "Maximiliano, you are the 8th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 8": + format-message("Maximiliano", 8) is "Maximiliano, you are the 8th customer we serve today. Thank you!" end -fun format-1(): - check "format exceptional ordinal numeral 1": - format-message("Mary", 1) is "Mary, you are the 1st customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 1": + format-message("Mary", 1) is "Mary, you are the 1st customer we serve today. Thank you!" end -fun format-2(): - check "format exceptional ordinal numeral 2": - format-message("Haruto", 2) is "Haruto, you are the 2nd customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 2": + format-message("Haruto", 2) is "Haruto, you are the 2nd customer we serve today. Thank you!" end -fun format-3(): - check "format exceptional ordinal numeral 3": - format-message("Henriette", 3) is "Henriette, you are the 3rd customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 3": + format-message("Henriette", 3) is "Henriette, you are the 3rd customer we serve today. Thank you!" end -fun format-10(): - check "format smallest two digit non-exceptional ordinal numeral 10": - format-message("Alvarez", 10) is "Alvarez, you are the 10th customer we serve today. Thank you!" - end +check "format smallest two digit non-exceptional ordinal numeral 10": + format-message("Alvarez", 10) is "Alvarez, you are the 10th customer we serve today. Thank you!" end -fun format-11(): - check "format non-exceptional ordinal numeral 11": - format-message("Jacqueline", 11) is "Jacqueline, you are the 11th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 11": + format-message("Jacqueline", 11) is "Jacqueline, you are the 11th customer we serve today. Thank you!" end -fun format-12(): - check "format non-exceptional ordinal numeral 12": - format-message("Juan", 12) is "Juan, you are the 12th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 12": + format-message("Juan", 12) is "Juan, you are the 12th customer we serve today. Thank you!" end -fun format-13(): - check "format non-exceptional ordinal numeral 13": - format-message("Patricia", 13) is "Patricia, you are the 13th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 13": + format-message("Patricia", 13) is "Patricia, you are the 13th customer we serve today. Thank you!" end -fun format-21(): - check "format exceptional ordinal numeral 21": - format-message("Washi", 21) is "Washi, you are the 21st customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 21": + format-message("Washi", 21) is "Washi, you are the 21st customer we serve today. Thank you!" end -fun format-62(): - check "format exceptional ordinal numeral 62": - format-message("Nayra", 62) is "Nayra, you are the 62nd customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 62": + format-message("Nayra", 62) is "Nayra, you are the 62nd customer we serve today. Thank you!" end -fun format-100(): - check "format exceptional ordinal numeral 100": - format-message("John", 100) is "John, you are the 100th customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 100": + format-message("John", 100) is "John, you are the 100th customer we serve today. Thank you!" end -fun format-101(): - check "format exceptional ordinal numeral 101": - format-message("Zeinab", 101) is "Zeinab, you are the 101st customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 101": + format-message("Zeinab", 101) is "Zeinab, you are the 101st customer we serve today. Thank you!" end -fun format-112(): - check "format non-exceptional ordinal numeral 112": - format-message("Knud", 112) is "Knud, you are the 112th customer we serve today. Thank you!" - end +check "format non-exceptional ordinal numeral 112": + format-message("Knud", 112) is "Knud, you are the 112th customer we serve today. Thank you!" end -fun format-123(): - check "format exceptional ordinal numeral 123": - format-message("Yma", 123) is "Yma, you are the 123rd customer we serve today. Thank you!" - end +check "format exceptional ordinal numeral 123": + format-message("Yma", 123) is "Yma, you are the 123rd customer we serve today. Thank you!" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(format-4, true), - test(format-9, false), - test(format-5, false), - test(format-6, false), - test(format-7, false), - test(format-8, false), - test(format-1, false), - test(format-2, false), - test(format-3, false), - test(format-10, false), - test(format-11, false), - test(format-12, false), - test(format-13, false), - test(format-21, false), - test(format-62, false), - test(format-100, false), - test(format-101, false), - test(format-112, false), - test(format-123, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/list-ops/list-ops-test.arr b/exercises/practice/list-ops/list-ops-test.arr index 3436768..65d293d 100644 --- a/exercises/practice/list-ops/list-ops-test.arr +++ b/exercises/practice/list-ops/list-ops-test.arr @@ -2,269 +2,193 @@ use context starter2024 include file("list-ops.arr") -fun append-empty-to-empty(): - check "append entries to a list and return the new list -> empty lists": - list1 = [list: ] - list2 = [list: ] - expected = [list: ] - - my-append(list1, list2) is expected - end +check "append entries to a list and return the new list -> empty lists": + list1 = [list: ] + list2 = [list: ] + expected = [list: ] + + my-append(list1, list2) is expected end -fun append-list-to-empty(): - check "append entries to a list and return the new list -> list to empty list": - list1 = [list: ] - list2 = [list: 1, 2, 3, 4] - expected = [list: 1, 2, 3, 4] +check "append entries to a list and return the new list -> list to empty list": + list1 = [list: ] + list2 = [list: 1, 2, 3, 4] + expected = [list: 1, 2, 3, 4] - my-append(list1, list2) is expected - end + my-append(list1, list2) is expected end -fun append-empty-to-list(): - check "append entries to a list and return the new list -> empty list to list": - list1 = [list: 1, 2, 3, 4] - list2 = [list: ] - expected = [list: 1, 2, 3, 4] +check "append entries to a list and return the new list -> empty list to list": + list1 = [list: 1, 2, 3, 4] + list2 = [list: ] + expected = [list: 1, 2, 3, 4] - my-append(list1, list2) is expected - end + my-append(list1, list2) is expected end -fun append-list-to-list(): - check "append entries to a list and return the new list -> non-empty lists": - list1 = [list: 1, 2] - list2 = [list: 3, 4, 5] - expected = [list: 1, 2, 3, 4, 5] +check "append entries to a list and return the new list -> non-empty lists": + list1 = [list: 1, 2] + list2 = [list: 3, 4, 5] + expected = [list: 1, 2, 3, 4, 5] - my-append(list1, list2) is expected - end + my-append(list1, list2) is expected end -fun concatenate-empties(): - check "concatenate a list of lists -> empty list": - input = [list: ] - expected = [list: ] +check "concatenate a list of lists -> empty list": + input = [list: ] + expected = [list: ] - my-concatenate(input) is expected - end + my-concatenate(input) is expected end -fun concatenate-lists(): - check "concatenate a list of lists -> list of lists": - input = [list: [list: 1, 2], [list: 3], [list: ], [list: 4, 5, 6]] - expected = [list: 1, 2, 3, 4, 5, 6] +check "concatenate a list of lists -> list of lists": + input = [list: [list: 1, 2], [list: 3], [list: ], [list: 4, 5, 6]] + expected = [list: 1, 2, 3, 4, 5, 6] - my-concatenate(input) is expected - end + my-concatenate(input) is expected end -fun concatenate-nested-lists(): - check "concatenate a list of lists -> list of nested lists": - input = [list: - [list: [list: 1], [list: 2]], - [list: [list: 3]], - [list: [list: ]], - [list: [list: 4, 5, 6]]] - expected = [list: - [list: 1], - [list: 2], - [list: 3], - [list:], - [list: 4, 5, 6]] - - my-concatenate(input) is expected - end +check "concatenate a list of lists -> list of nested lists": + input = [list: + [list: [list: 1], [list: 2]], + [list: [list: 3]], + [list: [list: ]], + [list: [list: 4, 5, 6]]] + expected = [list: + [list: 1], + [list: 2], + [list: 3], + [list:], + [list: 4, 5, 6]] + + my-concatenate(input) is expected end -fun filter-empty(): - check "filter list returning only values that satisfy the filter function -> empty list": - input = [list: ] - f = lam(x): num-modulo(x, 2) == 1 end - expected = [list: ] +check "filter list returning only values that satisfy the filter function -> empty list": + input = [list: ] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: ] - my-filter(input, f) is expected - end + my-filter(input, f) is expected end -fun filter-list(): - check "filter list returning only values that satisfy the filter function -> non-empty list": - input = [list: 1, 2, 3, 5] - f = lam(x): num-modulo(x, 2) == 1 end - expected = [list: 1, 3, 5] +check "filter list returning only values that satisfy the filter function -> non-empty list": + input = [list: 1, 2, 3, 5] + f = lam(x): num-modulo(x, 2) == 1 end + expected = [list: 1, 3, 5] - my-filter(input, f) is expected - end + my-filter(input, f) is expected end -fun length-empty(): - check "returns the length of a list -> empty list": - input = [list: ] - expected = 0 +check "returns the length of a list -> empty list": + input = [list: ] + expected = 0 - my-length(input) is expected - end + my-length(input) is expected end -fun length-list(): - check "returns the length of a list -> non-empty list": - input = [list: 1, 2, 3, 4] - expected = 4 - my-length(input) is expected - end +check "returns the length of a list -> non-empty list": + input = [list: 1, 2, 3, 4] + expected = 4 + my-length(input) is expected end -fun map-empty(): - check "return a list of elements whose values equal the list value transformed by the mapping function -> empty list": - input = [list: ] - f = lam(x): x + 1 end - expected = [list: ] +check "return a list of elements whose values equal the list value transformed by the mapping function -> empty list": + input = [list: ] + f = lam(x): x + 1 end + expected = [list: ] - my-map(input, f) is expected - end + my-map(input, f) is expected end -fun map-list(): - check "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list": - input = [list: 1, 3, 5, 7] - f = lam(x): x + 1 end - expected = [list: 2, 4, 6, 8] +check "return a list of elements whose values equal the list value transformed by the mapping function -> non-empty list": + input = [list: 1, 3, 5, 7] + f = lam(x): x + 1 end + expected = [list: 2, 4, 6, 8] - my-map(input, f) is expected - end + my-map(input, f) is expected end -fun foldl-empty(): - check "folds (reduces) the given list from the left with a function -> empty list": - input = [list: ] - f = lam(elt, acc): elt * acc end - initial = 2 - expected = 2 +check "folds (reduces) the given list from the left with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 - my-foldl(input, f, initial) is expected - end + my-foldl(input, f, initial) is expected end -fun foldl-direction-independent(): - check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt + acc end - initial = 5 - expected = 15 +check "folds (reduces) the given list from the left with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 - my-foldl(input, f, initial) is expected - end + my-foldl(input, f, initial) is expected end -fun foldl-direction-dependent(): - check "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): acc / elt end - initial = 24 - expected = 64 +check "folds (reduces) the given list from the left with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): acc / elt end + initial = 24 + expected = 64 - my-foldl(input, f, initial) is expected - end + my-foldl(input, f, initial) is expected end -fun foldr-empty(): - check "folds (reduces) the given list from the right with a function -> empty list": - input = [list: ] - f = lam(elt, acc): elt * acc end - initial = 2 - expected = 2 +check "folds (reduces) the given list from the right with a function -> empty list": + input = [list: ] + f = lam(elt, acc): elt * acc end + initial = 2 + expected = 2 - my-foldr(input, f, initial) is expected - end + my-foldr(input, f, initial) is expected end -fun foldr-direction-independent(): - check "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt + acc end - initial = 5 - expected = 15 +check "folds (reduces) the given list from the right with a function -> direction independent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt + acc end + initial = 5 + expected = 15 - my-foldr(input, f, initial) is expected - end + my-foldr(input, f, initial) is expected end -fun foldr-direction-dependent(): - check "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list": - input = [list: 1, 2, 3, 4] - f = lam(elt, acc): elt / acc end - initial = 24 - expected = 9 +check "folds (reduces) the given list from the right with a function -> direction dependent function applied to non-empty list": + input = [list: 1, 2, 3, 4] + f = lam(elt, acc): elt / acc end + initial = 24 + expected = 9 - my-foldr(input, f, initial) is expected - end + my-foldr(input, f, initial) is expected end -fun revverse-empty(): - check "reverse the elements of the list -> empty list": - input = [list: ] - expected = [list: ] - - my-reverse(input) is expected - end +check "reverse the elements of the list -> empty list": + input = [list: ] + expected = [list: ] + + my-reverse(input) is expected end -fun reverse-list(): - check "reverse the elements of the list -> non-empty list": - input = [list: 1, 3, 5, 7] - expected = [list: 7, 5, 3, 1] - - my-reverse(input) is expected - end +check "reverse the elements of the list -> non-empty list": + input = [list: 1, 3, 5, 7] + expected = [list: 7, 5, 3, 1] + + my-reverse(input) is expected end -fun reverse-nested(): - check "reverse the elements of the list -> list of lists is not flattened": - input = [list: - [list: 1, 2], - [list: 3], - [list: ], - [list: 4, 5, 6]] - expected = [list: - [list: 4, 5, 6], - [list: ], - [list: 3], - [list: 1, 2]] - - my-reverse(input) is expected - end +check "reverse the elements of the list -> list of lists is not flattened": + input = [list: + [list: 1, 2], + [list: 3], + [list: ], + [list: 4, 5, 6]] + expected = [list: + [list: 4, 5, 6], + [list: ], + [list: 3], + [list: 1, 2]] + + my-reverse(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(append-empty-to-empty, true), - test(append-list-to-empty, false), - test(append-empty-to-list, false), - test(append-list-to-list, false), - test(concatenate-empties, false), - test(concatenate-lists, false), - test(concatenate-nested-lists, false), - test(filter-empty, false), - test(filter-list, false), - test(length-empty, false), - test(length-list, false), - test(map-empty, false), - test(map-list, false), - test(foldl-empty, false), - test(foldl-direction-independent, false), - test(foldl-direction-dependent, false), - test(foldr-empty, false), - test(foldr-direction-independent, false), - test(foldr-direction-dependent, false), - test(revverse-empty, false), - test(reverse-list, false), - test(reverse-nested, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/luhn/luhn-test.arr b/exercises/practice/luhn/luhn-test.arr index 5662a45..24b273a 100644 --- a/exercises/practice/luhn/luhn-test.arr +++ b/exercises/practice/luhn/luhn-test.arr @@ -2,167 +2,91 @@ use context starter2024 include file("luhn.arr") -fun invalid-single-digit(): - check "single digit strings can not be valid": - is-valid("1") is false - end +check "single digit strings can not be valid": + is-valid("1") is false end -fun invalid-single-zero(): - check "a single zero is invalid": - is-valid("0") is false - end +check "a single zero is invalid": + is-valid("0") is false end -fun valid-even-if-reversed(): - check "a simple valid SIN that remains valid if reversed": - is-valid("059") is true - end +check "a simple valid SIN that remains valid if reversed": + is-valid("059") is true end -fun valid-but-not-reversed(): - check "a simple valid SIN that becomes invalid if reversed": - is-valid("59") is true - end +check "a simple valid SIN that becomes invalid if reversed": + is-valid("59") is true end -fun valid-canadian(): - check "a valid Canadian SIN": - is-valid("055 444 285") is true - end +check "a valid Canadian SIN": + is-valid("055 444 285") is true end -fun invalid-canadian(): - check "invalid Canadian SIN": - is-valid("055 444 286") is false - end +check "invalid Canadian SIN": + is-valid("055 444 286") is false end -fun invalid-credit-card(): - check "invalid credit card": - is-valid("8273 1232 7352 0569") is false - end +check "invalid credit card": + is-valid("8273 1232 7352 0569") is false end -fun invalid-long-number-even-remainder(): - check "invalid long number with an even remainder": - is-valid("1 2345 6789 1234 5678 9012") is false - end +check "invalid long number with an even remainder": + is-valid("1 2345 6789 1234 5678 9012") is false end -fun invalid-long-number-remainder-div-by-five(): - check "invalid long number with a remainder divisible by 5": - is-valid("1 2345 6789 1234 5678 9013") is false - end +check "invalid long number with a remainder divisible by 5": + is-valid("1 2345 6789 1234 5678 9013") is false end -fun valid-number-with-even-number-of-digits(): - check "valid number with an even number of digits": - is-valid("095 245 88") is true - end +check "valid number with an even number of digits": + is-valid("095 245 88") is true end -fun valid-number-with-odd-nummber-of-spaces(): - check "valid number with an odd number of spaces": - is-valid("234 567 891 234") is true - end +check "valid number with an odd number of spaces": + is-valid("234 567 891 234") is true end -fun invalid-number-after-non-digit-added(): - check "valid strings with a non-digit added at the end become invalid": - is-valid("059a") is false - end +check "valid strings with a non-digit added at the end become invalid": + is-valid("059a") is false end -fun invalid-number-after-punctuation-added(): - check "valid strings with punctuation included become invalid": - is-valid("055-444-285") is false - end +check "valid strings with punctuation included become invalid": + is-valid("055-444-285") is false end -fun invalid-number-after-symbols-added(): - check "valid strings with symbols included become invalid": - is-valid("055# 444$ 285") is false - end +check "valid strings with symbols included become invalid": + is-valid("055# 444$ 285") is false end -fun invalid-space-and-zero(): - check "single zero with space is invalid": - is-valid(" 0") is false - end +check "single zero with space is invalid": + is-valid(" 0") is false end -fun valid-multiple-zeroes(): - check "more than a single zero is valid": - is-valid("0000 0") is true - end +check "more than a single zero is valid": + is-valid("0000 0") is true end -fun valid-input-digit-nine(): - check "input digit 9 is correctly converted to output digit 9": - is-valid("091") is true - end +check "input digit 9 is correctly converted to output digit 9": + is-valid("091") is true end -fun valid-very-long-input(): - check "very long input is valid": - is-valid("9999999999 9999999999 9999999999 9999999999") is true - end +check "very long input is valid": + is-valid("9999999999 9999999999 9999999999 9999999999") is true end -fun valid-with-odd-number-of-digits-and-non-zero-first-digit(): - check "valid luhn with an odd number of digits and non zero first digit": - is-valid("109") is true - end +check "valid luhn with an odd number of digits and non zero first digit": + is-valid("109") is true end -fun invalid-number-with-ascii-non-double(): - check "using ascii value for non-doubled non-digit isn't allowed": - is-valid("055b 444 285") is false - end +check "using ascii value for non-doubled non-digit isn't allowed": + is-valid("055b 444 285") is false end -fun invalid-number-with-ascii-doubled(): - check "using ascii value for doubled non-digit isn't allowed": - is-valid(":9") is false - end +check "using ascii value for doubled non-digit isn't allowed": + is-valid(":9") is false end -fun invalid-number-with-non-space-letter(): - check "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed": - is-valid("59%59") is false - end +check "non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed": + is-valid("59%59") is false end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(invalid-single-digit, true), - test(invalid-single-zero, false), - test(valid-even-if-reversed, false), - test(valid-but-not-reversed, false), - test(valid-canadian, false), - test(invalid-canadian, false), - test(invalid-credit-card, false), - test(invalid-long-number-even-remainder, false), - test(invalid-long-number-remainder-div-by-five, false), - test(valid-number-with-even-number-of-digits, false), - test(valid-number-with-odd-nummber-of-spaces, false), - test(invalid-number-after-non-digit-added, false), - test(invalid-number-after-punctuation-added, false), - test(invalid-number-after-symbols-added, false), - test(invalid-space-and-zero, false), - test(valid-multiple-zeroes, false), - test(valid-input-digit-nine, false), - test(valid-very-long-input, false), - test(valid-with-odd-number-of-digits-and-non-zero-first-digit, false), - test(invalid-number-with-ascii-non-double, false), - test(invalid-number-with-ascii-doubled, false), - test(invalid-number-with-non-space-letter, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/matrix/matrix-test.arr b/exercises/practice/matrix/matrix-test.arr index 1a02444..1dc342c 100644 --- a/exercises/practice/matrix/matrix-test.arr +++ b/exercises/practice/matrix/matrix-test.arr @@ -2,78 +2,43 @@ use context starter2024 include file("matrix.arr") -fun extract-row-from-one-row-matrix(): - check "extract row from one number matrix": - m = matrix("1") - m.row(1) is [list: 1] - end +check "extract row from one number matrix": + m = matrix("1") + m.row(1) is [list: 1] end -fun extract-row-from-two-row-matrix(): - check "can extract row": - m = matrix("1 2\n3 4") - m.row(2) is [list: 3, 4] - end +check "can extract row": + m = matrix("1 2\n3 4") + m.row(2) is [list: 3, 4] end -fun extract-row-from-variable-number-width-matrix(): - check "extract row where numbers have different widths": - m = matrix("1 2\n10 20") - m.row(2) is [list: 10, 20] - end +check "extract row where numbers have different widths": + m = matrix("1 2\n10 20") + m.row(2) is [list: 10, 20] end -fun extract-row-from-non-square-matrix(): - check "can extract row from non-square matrix with no corresponding column": - m = matrix("1 2 3\n4 5 6\n7 8 9\n8 7 6") - m.row(4) is [list: 8, 7, 6] - end +check "can extract row from non-square matrix with no corresponding column": + m = matrix("1 2 3\n4 5 6\n7 8 9\n8 7 6") + m.row(4) is [list: 8, 7, 6] end - -fun extract-column-from-one-column-matrix(): - check "extract column from one number matrix": - m = matrix("1") - m.column(1) is [list: 1] - end +check "extract column from one number matrix": + m = matrix("1") + m.column(1) is [list: 1] end -fun extract-column-from-three-column-matrix(): - check "can extract column": - m = matrix("1 2 3\n4 5 6\n7 8 9") - m.column(3) is [list: 3, 6, 9] - end +check "can extract column": + m = matrix("1 2 3\n4 5 6\n7 8 9") + m.column(3) is [list: 3, 6, 9] end -fun extract-column-from-non-square-matrix(): - check "can extract column from non-square matrix with no corresponding row": - m = matrix("1 2 3 4\n5 6 7 8\n9 8 7 6") - m.column(4) is [list: 4, 8, 6] - end +check "can extract column from non-square matrix with no corresponding row": + m = matrix("1 2 3 4\n5 6 7 8\n9 8 7 6") + m.column(4) is [list: 4, 8, 6] end -fun extract-column-from-variable-number-width-matrix(): - check "extract column where numbers have different widths": - m = matrix("89 1903 3\n18 3 1\n9 4 800") - m.column(2) is [list: 1903, 3, 4] - end +check "extract column where numbers have different widths": + m = matrix("89 1903 3\n18 3 1\n9 4 800") + m.column(2) is [list: 1903, 3, 4] end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(extract-row-from-one-row-matrix, true), - test(extract-row-from-two-row-matrix, false), - test(extract-row-from-variable-number-width-matrix, false), - test(extract-row-from-non-square-matrix, false), - test(extract-column-from-one-column-matrix, false), - test(extract-column-from-three-column-matrix, false), - test(extract-column-from-non-square-matrix, false), - test(extract-column-from-variable-number-width-matrix, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/nucleotide-count/nucleotide-count-test.arr b/exercises/practice/nucleotide-count/nucleotide-count-test.arr index 7f55d5c..d1472f2 100644 --- a/exercises/practice/nucleotide-count/nucleotide-count-test.arr +++ b/exercises/practice/nucleotide-count/nucleotide-count-test.arr @@ -4,62 +4,37 @@ include file("nucleotide-count.arr") include string-dict -fun empty-strand(): - check "empty strand": - input = "" - expected = [string-dict: "A", 0, "C", 0, "G", 0, "T", 0] +check "empty strand": + input = "" + expected = [string-dict: "A", 0, "C", 0, "G", 0, "T", 0] - nucleotide-counts(input) is expected - end + nucleotide-counts(input) is expected end -fun single-nucleotide-strand(): - check "can count one nucleotide in single-character input": - input = "G" - expected = [string-dict: "A", 0, "C", 0, "G", 1, "T", 0] +check "can count one nucleotide in single-character input": + input = "G" + expected = [string-dict: "A", 0, "C", 0, "G", 1, "T", 0] - nucleotide-counts(input) is expected - end + nucleotide-counts(input) is expected end -fun repeated-nucleotide-strand(): - check "strand with repeated nucleotide": - input = "GGGGGGG" - expected = [string-dict: "A", 0, "C", 0, "G", 7, "T", 0] +check "strand with repeated nucleotide": + input = "GGGGGGG" + expected = [string-dict: "A", 0, "C", 0, "G", 7, "T", 0] - nucleotide-counts(input) is expected - end + nucleotide-counts(input) is expected end -fun multiple-nucleotide-strand(): - check "strand with multiple nucleotides": - input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" - expected = [string-dict: "A", 20, "C", 12, "G", 17, "T", 21] +check "strand with multiple nucleotides": + input = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC" + expected = [string-dict: "A", 20, "C", 12, "G", 17, "T", 21] - nucleotide-counts(input) is expected - end + nucleotide-counts(input) is expected end -fun invalid-nucleotide-strand(): - check "strand with invalid nucleotides": - input = "AGXXACT" +check "strand with invalid nucleotides": + input = "AGXXACT" - nucleotide-counts(input) raises "Invalid nucleotide in strand" - end + nucleotide-counts(input) raises "Invalid nucleotide in strand" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-strand, true), - test(single-nucleotide-strand, false), - test(repeated-nucleotide-strand, false), - test(multiple-nucleotide-strand, false), - test(invalid-nucleotide-strand, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/pangram/pangram-test.arr b/exercises/practice/pangram/pangram-test.arr index f8a1e82..83ee0ce 100644 --- a/exercises/practice/pangram/pangram-test.arr +++ b/exercises/practice/pangram/pangram-test.arr @@ -2,93 +2,53 @@ use context starter2024 include file("pangram.arr") -fun empty-sentence(): - check "empty sentence": - input = "" - is-pangram(input) is false - end +check "empty sentence": + input = "" + is-pangram(input) is false end -fun perfect-lower-case(): - check "perfect lower case": - input = "abcdefghijklmnopqrstuvwxyz" - is-pangram(input) is true - end +check "perfect lower case": + input = "abcdefghijklmnopqrstuvwxyz" + is-pangram(input) is true end -fun only-lower-case(): - check "only lower case": - input = "the quick brown fox jumps over the lazy dog" - is-pangram(input) is true - end +check "only lower case": + input = "the quick brown fox jumps over the lazy dog" + is-pangram(input) is true end -fun missing-letter-x(): - check "missing the letter 'x'": - input = "a quick movement of the enemy will jeopardize five gunboats" - is-pangram(input) is false - end +check "missing the letter 'x'": + input = "a quick movement of the enemy will jeopardize five gunboats" + is-pangram(input) is false end -fun missing-letter-h(): - check "missing the letter 'h'": - input = "five boxing wizards jump quickly at it" - is-pangram(input) is false - end +check "missing the letter 'h'": + input = "five boxing wizards jump quickly at it" + is-pangram(input) is false end -fun with-underscores(): - check "with underscores": - input = "the_quick_brown_fox_jumps_over_the_lazy_dog" - is-pangram(input) is true - end +check "with underscores": + input = "the_quick_brown_fox_jumps_over_the_lazy_dog" + is-pangram(input) is true end -fun with-numbers(): - check "with numbers": - input = "the 1 quick brown fox jumps over the 2 lazy dogs" - is-pangram(input) is true - end +check "with numbers": + input = "the 1 quick brown fox jumps over the 2 lazy dogs" + is-pangram(input) is true end -fun missing-letters-replaced-by-numbers(): - check "missing letters replaced by numbers": - input = "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog" - is-pangram(input) is false - end +check "missing letters replaced by numbers": + input = "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog" + is-pangram(input) is false end -fun mixed-case-and-punctuation(): - check "mixed case and punctuation": - input = "\"Five quacking Zephyrs jolt my wax bed.\"" - is-pangram(input) is true - end +check "mixed case and punctuation": + input = "\"Five quacking Zephyrs jolt my wax bed.\"" + is-pangram(input) is true end -fun length-of-alphabet-but-not-pangram(): - check "a-m and A-M are 26 different characters but not a pangram": - input = "abcdefghijklm ABCDEFGHIJKLM" - is-pangram(input) is false - end +check "a-m and A-M are 26 different characters but not a pangram": + input = "abcdefghijklm ABCDEFGHIJKLM" + is-pangram(input) is false end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-sentence, true), - test(perfect-lower-case, false), - test(only-lower-case, false), - test(missing-letter-x, false), - test(missing-letter-h, false), - test(with-underscores, false), - test(with-numbers, false), - test(missing-letters-replaced-by-numbers, false), - test(mixed-case-and-punctuation, false), - test(length-of-alphabet-but-not-pangram, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/perfect-numbers/perfect-numbers-test.arr b/exercises/practice/perfect-numbers/perfect-numbers-test.arr index 74e8f68..b969c95 100644 --- a/exercises/practice/perfect-numbers/perfect-numbers-test.arr +++ b/exercises/practice/perfect-numbers/perfect-numbers-test.arr @@ -2,111 +2,59 @@ use context starter2024 include file("perfect-numbers.arr") -fun smallest-perfect(): - check "Perfect numbers -> Smallest perfect number is classified correctly": - classify(6) is "perfect" - end +check "Perfect numbers -> Smallest perfect number is classified correctly": + classify(6) is "perfect" end -fun medium-perfect-number(): - check "Perfect numbers -> Medium perfect number is classified correctly": - classify(28) is "perfect" - end +check "Perfect numbers -> Medium perfect number is classified correctly": + classify(28) is "perfect" end -fun large-perfect-number(): - check "Perfect numbers -> Large perfect number is classified correctly": - classify(33550336) is "perfect" - end +check "Perfect numbers -> Large perfect number is classified correctly": + classify(33550336) is "perfect" end -fun smallest-abundant(): - check "Abundant numbers -> Smallest abundant number is classified correctly": - classify(12) is "abundant" - end +check "Abundant numbers -> Smallest abundant number is classified correctly": + classify(12) is "abundant" end -fun medium-abundant(): - check "Abundant numbers -> Medium abundant number is classified correctly": - classify(30) is "abundant" - end +check "Abundant numbers -> Medium abundant number is classified correctly": + classify(30) is "abundant" end -fun large-abundant(): - check "Abundant numbers -> Large abundant number is classified correctly": - classify(33550335) is "abundant" - end +check "Abundant numbers -> Large abundant number is classified correctly": + classify(33550335) is "abundant" end -fun perfect-square-abundant(): - check "Abundant numbers -> Perfect square abundant number is classified correctly": - classify(196) is "abundant" - end +check "Abundant numbers -> Perfect square abundant number is classified correctly": + classify(196) is "abundant" end -fun smallest-prime-deficient(): - check "Deficient numbers -> Smallest prime deficient number is classified correctly": - classify(2) is "deficient" - end +check "Deficient numbers -> Smallest prime deficient number is classified correctly": + classify(2) is "deficient" end -fun smallest-non-prime-deficient(): - check "Deficient numbers -> Smallest non-prime deficient number is classified correctly": - classify(4) is "deficient" - end +check "Deficient numbers -> Smallest non-prime deficient number is classified correctly": + classify(4) is "deficient" end -fun medium-deficient(): - check "Deficient numbers -> Medium deficient number is classified correctly": - classify(32) is "deficient" - end +check "Deficient numbers -> Medium deficient number is classified correctly": + classify(32) is "deficient" end -fun large-deficient(): - check "Deficient numbers -> Large deficient number is classified correctly": - classify(33550337) is "deficient" - end +check "Deficient numbers -> Large deficient number is classified correctly": + classify(33550337) is "deficient" end -fun one-is-deficient(): - check "Deficient numbers -> Edge case (no factors other than itself) is classified correctly": - classify(1) is "deficient" - end +check "Deficient numbers -> Edge case (no factors other than itself) is classified correctly": + classify(1) is "deficient" end -fun reject-zero(): - check "Invalid inputs -> Zero is rejected (as it is not a positive integer)": - classify(0) raises "Classification is only possible for positive integers." - end +check "Invalid inputs -> Zero is rejected (as it is not a positive integer)": + classify(0) raises "Classification is only possible for positive integers." end -fun reject-negative(): - check "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)": - classify(-1) raises "Classification is only possible for positive integers." - end +check "Invalid inputs -> Negative integer is rejected (as it is not a positive integer)": + classify(-1) raises "Classification is only possible for positive integers." end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(smallest-perfect, true), - test(medium-perfect-number, false), - test(large-perfect-number, false), - test(smallest-abundant, false), - test(medium-abundant, false), - test(large-abundant, false), - test(perfect-square-abundant, false), - test(smallest-prime-deficient, false), - test(smallest-non-prime-deficient, false), - test(medium-deficient, false), - test(large-deficient, false), - test(one-is-deficient, false), - test(reject-zero, false), - test(reject-negative, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/phone-number/phone-number-test.arr b/exercises/practice/phone-number/phone-number-test.arr index 326ed59..b058322 100644 --- a/exercises/practice/phone-number/phone-number-test.arr +++ b/exercises/practice/phone-number/phone-number-test.arr @@ -2,139 +2,75 @@ use context starter2024 include file("phone-number.arr") -fun clean-number(): - check "cleans the number": - clean("(223) 456-7890") is "2234567890" - end +check "cleans the number": + clean("(223) 456-7890") is "2234567890" end -fun clean-number-with-dots(): - check "cleans numbers with dots": - clean("223.456.7890") is "2234567890" - end +check "cleans numbers with dots": + clean("223.456.7890") is "2234567890" end -fun clean-number-with-spaces(): - check "cleans numbers with multiple spaces": - clean("223 456 7890 ") is "2234567890" - end +check "cleans numbers with multiple spaces": + clean("223 456 7890 ") is "2234567890" end -fun invalid-nine-digits(): - check "invalid when 9 digits": - clean("123456789") raises "must not be fewer than 10 digits" - end +check "invalid when 9 digits": + clean("123456789") raises "must not be fewer than 10 digits" end -fun invalid-eleven-digits-starting-with-two(): - check "invalid when 11 digits does not start with a 1": - clean("22234567890") raises "11 digits must start with 1" - end +check "invalid when 11 digits does not start with a 1": + clean("22234567890") raises "11 digits must start with 1" end -fun valid-eleven-digits-starting-with-one(): - check "valid when 11 digits and starting with 1": - clean("12234567890") is "2234567890" - end +check "valid when 11 digits and starting with 1": + clean("12234567890") is "2234567890" end -fun valid-eleven-digits-starting-with-one-and-punctuation(): - check "valid when 11 digits and starting with 1 even with punctuation": - clean("+1 (223) 456-7890") is "2234567890" - end +check "valid when 11 digits and starting with 1 even with punctuation": + clean("+1 (223) 456-7890") is "2234567890" end -fun invalid-more-than-eleven-digits(): - check "invalid when more than 11 digits": - clean("321234567890") raises "must not be greater than 11 digits" - end +check "invalid when more than 11 digits": + clean("321234567890") raises "must not be greater than 11 digits" end -fun invalid-with-letters(): - check "invalid with letters": - clean("523-abc-7890") raises "letters not permitted" - end +check "invalid with letters": + clean("523-abc-7890") raises "letters not permitted" end -fun invalid-with-punctuation(): - check "invalid with punctuations": - clean("523-@:!-7890") raises "punctuations not permitted" - end +check "invalid with punctuations": + clean("523-@:!-7890") raises "punctuations not permitted" end -fun invalid-area-code-starts-with-zero(): - check "invalid if area code starts with 0": - clean("(023) 456-7890") raises "area code cannot start with zero" - end +check "invalid if area code starts with 0": + clean("(023) 456-7890") raises "area code cannot start with zero" end -fun invalid-area-code-starts-with-one(): - check "invalid if area code starts with 1": - clean("(123) 456-7890") raises "area code cannot start with one" - end +check "invalid if area code starts with 1": + clean("(123) 456-7890") raises "area code cannot start with one" end -fun invalid-exchange-code-starts-with-zero(): - check "invalid if exchange code starts with 0": - clean("(223) 056-7890") raises "exchange code cannot start with zero" - end +check "invalid if exchange code starts with 0": + clean("(223) 056-7890") raises "exchange code cannot start with zero" end -fun invalid-exchange-code-starts-with-one(): - check "invalid if exchange code starts with 1": - clean("(223) 156-7890") raises "exchange code cannot start with one" - end +check "invalid if exchange code starts with 1": + clean("(223) 156-7890") raises "exchange code cannot start with one" end -fun invalid-eleven-digits-and-area-code-starts-with-zero(): - check "invalid if area code starts with 0 on valid 11-digit number": - clean("1 (023) 456-7890") raises "area code cannot start with zero" - end +check "invalid if area code starts with 0 on valid 11-digit number": + clean("1 (023) 456-7890") raises "area code cannot start with zero" end -fun invalid-eleven-digits-and-area-code-starts-with-one(): - check "invalid if area code starts with 1 on valid 11-digit number": - clean("1 (123) 456-7890") raises "area code cannot start with one" - end +check "invalid if area code starts with 1 on valid 11-digit number": + clean("1 (123) 456-7890") raises "area code cannot start with one" end -fun invalid-eleven-digits-and-exchange-code-starts-with-zero(): - check "invalid if exchange code starts with 0 on valid 11-digit number": - clean("1 (223) 056-7890") raises "exchange code cannot start with zero" - end +check "invalid if exchange code starts with 0 on valid 11-digit number": + clean("1 (223) 056-7890") raises "exchange code cannot start with zero" end -fun invalid-eleven-digits-and-exchange-code-starts-with-one(): - check "invalid if exchange code starts with 1 on valid 11-digit number": - clean("1 (223) 156-7890") raises "exchange code cannot start with one" - end +check "invalid if exchange code starts with 1 on valid 11-digit number": + clean("1 (223) 156-7890") raises "exchange code cannot start with one" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(clean-number, true), - test(clean-number-with-dots, false), - test(clean-number-with-spaces, false), - test(invalid-nine-digits, false), - test(invalid-eleven-digits-starting-with-two, false), - test(valid-eleven-digits-starting-with-one, false), - test(valid-eleven-digits-starting-with-one-and-punctuation, false), - test(invalid-more-than-eleven-digits, false), - test(invalid-with-letters, false), - test(invalid-with-punctuation, false), - test(invalid-area-code-starts-with-zero, false), - test(invalid-area-code-starts-with-one, false), - test(invalid-exchange-code-starts-with-zero, false), - test(invalid-exchange-code-starts-with-one, false), - test(invalid-eleven-digits-and-area-code-starts-with-zero, false), - test(invalid-eleven-digits-and-area-code-starts-with-one, false), - test(invalid-eleven-digits-and-exchange-code-starts-with-zero, false), - test(invalid-eleven-digits-and-exchange-code-starts-with-one, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/protein-translation/protein-translation-test.arr b/exercises/practice/protein-translation/protein-translation-test.arr index 9f91a87..7a11dd0 100644 --- a/exercises/practice/protein-translation/protein-translation-test.arr +++ b/exercises/practice/protein-translation/protein-translation-test.arr @@ -2,229 +2,123 @@ use context starter2024 include file("protein-translation.arr") -fun no-protein(): - check "Empty RNA sequence results in no proteins": - proteins("") is [list: ] - end +check "Empty RNA sequence results in no proteins": + proteins("") is [list: ] end -fun methionine(): - check "Methionine RNA sequence": - proteins("AUG") is [list: "Methionine"] - end +check "Methionine RNA sequence": + proteins("AUG") is [list: "Methionine"] end -fun phenylalanine-one(): - check "Phenylalanine RNA sequence 1": - proteins("UUU") is [list: "Phenylalanine"] - end +check "Phenylalanine RNA sequence 1": + proteins("UUU") is [list: "Phenylalanine"] end -fun phenylalanine-two(): - check "Phenylalanine RNA sequence 2": - proteins("UUC") is [list: "Phenylalanine"] - end +check "Phenylalanine RNA sequence 2": + proteins("UUC") is [list: "Phenylalanine"] end -fun leucine-one(): - check "Leucine RNA sequence 1": - proteins("UUA") is [list: "Leucine"] - end +check "Leucine RNA sequence 1": + proteins("UUA") is [list: "Leucine"] end -fun leucine-two(): - check "Leucine RNA sequence 2": - proteins("UUG") is [list: "Leucine"] - end +check "Leucine RNA sequence 2": + proteins("UUG") is [list: "Leucine"] end -fun serine-one(): - check "Serine RNA sequence 1": - proteins("UCU") is [list: "Serine"] - end +check "Serine RNA sequence 1": + proteins("UCU") is [list: "Serine"] end -fun serine-two(): - check "Serine RNA sequence 2": - proteins("UCC") is [list: "Serine"] - end +check "Serine RNA sequence 2": + proteins("UCC") is [list: "Serine"] end -fun serine-three(): - check "Serine RNA sequence 3": - proteins("UCA") is [list: "Serine"] - end +check "Serine RNA sequence 3": + proteins("UCA") is [list: "Serine"] end -fun serine-four(): - check "Serine RNA sequence 4": - proteins("UCG") is [list: "Serine"] - end +check "Serine RNA sequence 4": + proteins("UCG") is [list: "Serine"] end -fun tyrosine-one(): - check "Tyrosine RNA sequence 1": - proteins("UAU") is [list: "Tyrosine"] - end +check "Tyrosine RNA sequence 1": + proteins("UAU") is [list: "Tyrosine"] end -fun tyrosine-two(): - check "Tyrosine RNA sequence 2": - proteins("UAC") is [list: "Tyrosine"] - end +check "Tyrosine RNA sequence 2": + proteins("UAC") is [list: "Tyrosine"] end -fun cysteine-one(): - check "Cysteine RNA sequence 1": - proteins("UGU") is [list: "Cysteine"] - end +check "Cysteine RNA sequence 1": + proteins("UGU") is [list: "Cysteine"] end -fun cysteine-two(): - check "Cysteine RNA sequence 2": - proteins("UGC") is [list: "Cysteine"] - end +check "Cysteine RNA sequence 2": + proteins("UGC") is [list: "Cysteine"] end -fun tryptophan(): - check "Tryptophan RNA sequence": - proteins("UGG") is [list: "Tryptophan"] - end +check "Tryptophan RNA sequence": + proteins("UGG") is [list: "Tryptophan"] end -fun stop-one(): - check "STOP codon RNA sequence 1": - proteins("UAA") is [list: ] - end +check "STOP codon RNA sequence 1": + proteins("UAA") is [list: ] end -fun stop-two(): - check "STOP codon RNA sequence 2": - proteins("UAG") is [list: ] - end +check "STOP codon RNA sequence 2": + proteins("UAG") is [list: ] end -fun stop-three(): - check "STOP codon RNA sequence 3": - proteins("UGA") is [list: ] - end +check "STOP codon RNA sequence 3": + proteins("UGA") is [list: ] end -fun two-identical-proteins(): - check "Sequence of two protein codons translates into proteins": - proteins("UUUUUU") is [list: "Phenylalanine", "Phenylalanine"] - end +check "Sequence of two protein codons translates into proteins": + proteins("UUUUUU") is [list: "Phenylalanine", "Phenylalanine"] end -fun two-different-proteins(): - check "Sequence of two different protein codons translates into proteins": - proteins("UUAUUG") is [list: "Leucine", "Leucine"] - end +check "Sequence of two different protein codons translates into proteins": + proteins("UUAUUG") is [list: "Leucine", "Leucine"] end -fun three-different-proteins(): - check "Translate RNA strand into correct protein list": - proteins("AUGUUUUGG") is [list: "Methionine", "Phenylalanine", "Tryptophan"] - end +check "Translate RNA strand into correct protein list": + proteins("AUGUUUUGG") is [list: "Methionine", "Phenylalanine", "Tryptophan"] end -fun stop-at-beginning(): - check "Translation stops if STOP codon at beginning of sequence": - proteins("UAGUGG") is [list: ] - end +check "Translation stops if STOP codon at beginning of sequence": + proteins("UAGUGG") is [list: ] end -fun stop-at-end-of-two-codons(): - check "Translation stops if STOP codon at end of two-codon sequence": - proteins("UGGUAG") is [list: "Tryptophan"] - end +check "Translation stops if STOP codon at end of two-codon sequence": + proteins("UGGUAG") is [list: "Tryptophan"] end -fun stop-at-end-of-three-codons(): - check "Translation stops if STOP codon at end of three-codon sequence": - proteins("AUGUUUUAA") is [list: "Methionine", "Phenylalanine"] - end +check "Translation stops if STOP codon at end of three-codon sequence": + proteins("AUGUUUUAA") is [list: "Methionine", "Phenylalanine"] end -fun stop-in-middle-of-three-codons(): - check "Translation stops if STOP codon in middle of three-codon sequence": - proteins("UGGUAGUGG") is [list: "Tryptophan"] - end +check "Translation stops if STOP codon in middle of three-codon sequence": + proteins("UGGUAGUGG") is [list: "Tryptophan"] end -fun stop-in-middle-of-six-codons(): - check "Translation stops if STOP codon in middle of six-codon sequence": - proteins("UGGUGUUAUUAAUGGUUU") is [list: "Tryptophan", "Cysteine", "Tyrosine"] - end +check "Translation stops if STOP codon in middle of six-codon sequence": + proteins("UGGUGUUAUUAAUGGUUU") is [list: "Tryptophan", "Cysteine", "Tyrosine"] end -fun sequence-of-two-non-stop-codons(): - check "Sequence of two non-STOP codons does not translate to a STOP codon": - proteins("AUGAUG") is [list: "Methionine", "Methionine"] - end +check "Sequence of two non-STOP codons does not translate to a STOP codon": + proteins("AUGAUG") is [list: "Methionine", "Methionine"] end -fun unknown-codon(): - check "Unknown amino acids, not part of a codon, can't translate": - proteins("XYZ") raises "Invalid codon" - end +check "Unknown amino acids, not part of a codon, can't translate": + proteins("XYZ") raises "Invalid codon" end -fun incomplete-sequence(): - check "Incomplete RNA sequence can't translate": - proteins("AUGU") raises "Invalid codon" - end +check "Incomplete RNA sequence can't translate": + proteins("AUGU") raises "Invalid codon" end -fun incomplete-sequence-with-stop(): - check "Incomplete RNA sequence can translate if valid until a STOP codon": - proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] - end +check "Incomplete RNA sequence can translate if valid until a STOP codon": + proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(no-protein, true), - test(methionine, false), - test(phenylalanine-one, false), - test(phenylalanine-two, false), - test(leucine-one, false), - test(leucine-two, false), - test(serine-one, false), - test(serine-two, false), - test(serine-three, false), - test(serine-four, false), - test(tyrosine-one, false), - test(tyrosine-two, false), - test(cysteine-one, false), - test(cysteine-two, false), - test(tryptophan, false), - test(stop-one, false), - test(stop-two, false), - test(stop-three, false), - test(two-identical-proteins, false), - test(two-different-proteins, false), - test(three-different-proteins, false), - test(stop-at-beginning, false), - test(stop-at-end-of-two-codons, false), - test(stop-at-end-of-three-codons, false), - test(stop-in-middle-of-three-codons, false), - test(stop-in-middle-of-six-codons, false), - test(sequence-of-two-non-stop-codons, false), - test(unknown-codon, false), - test(incomplete-sequence, false), - test(incomplete-sequence-with-stop, false) -].each(lam(t): when t.active: t.run() end end) - -fun ignore-this-trying-to-trigger-important-files(): - check "Incomplete RNA sequence can translate if valid until a STOP codon": - proteins("UUCUUCUAAUGGU") is [list: "Phenylalanine", "Phenylalanine"] - end -end diff --git a/exercises/practice/proverb/proverb-test.arr b/exercises/practice/proverb/proverb-test.arr index a147193..eb9a383 100644 --- a/exercises/practice/proverb/proverb-test.arr +++ b/exercises/practice/proverb/proverb-test.arr @@ -2,82 +2,54 @@ use context starter2024 include file("proverb.arr") -fun zero-pieces(): - check "zero pieces": - recite([list: ]) is [list: ] - end +check "zero pieces": + recite([list: ]) is [list: ] end -fun one-piece(): - check "one piece": - input = [list: "nail"] - expected = [list: "And all for the want of a nail."] +check "one piece": + input = [list: "nail"] + expected = [list: "And all for the want of a nail."] - recite(input) is expected - end + recite(input) is expected end -fun two-pieces(): - check "two pieces": - input = [list: "nail", "shoe"] - expected = [list: "For want of a nail the shoe was lost.", - "And all for the want of a nail."] +check "two pieces": + input = [list: "nail", "shoe"] + expected = [list: "For want of a nail the shoe was lost.", + "And all for the want of a nail."] - recite(input) is expected - end + recite(input) is expected end -fun three-pieces(): - check "three pieces": - input = [list: "nail", "shoe", "horse"] - expected = [list: "For want of a nail the shoe was lost.", - "For want of a shoe the horse was lost.", - "And all for the want of a nail."] +check "three pieces": + input = [list: "nail", "shoe", "horse"] + expected = [list: "For want of a nail the shoe was lost.", + "For want of a shoe the horse was lost.", + "And all for the want of a nail."] - recite(input) is expected - end + recite(input) is expected end -fun full-proverb(): - check "full proverb": - input = [list: "nail", "shoe", "horse", "rider", "message", "battle", "kingdom"] - expected = [list: "For want of a nail the shoe was lost.", - "For want of a shoe the horse was lost.", - "For want of a horse the rider was lost.", - "For want of a rider the message was lost.", - "For want of a message the battle was lost.", - "For want of a battle the kingdom was lost.", - "And all for the want of a nail."] - - recite(input) is expected - end +check "full proverb": + input = [list: "nail", "shoe", "horse", "rider", "message", "battle", "kingdom"] + expected = [list: "For want of a nail the shoe was lost.", + "For want of a shoe the horse was lost.", + "For want of a horse the rider was lost.", + "For want of a rider the message was lost.", + "For want of a message the battle was lost.", + "For want of a battle the kingdom was lost.", + "And all for the want of a nail."] + + recite(input) is expected end -fun four-pieces-modernized(): - check "four pieces modernized": - input = [list: "pin", "gun", "soldier", "battle"] - expected = [list: "For want of a pin the gun was lost.", - "For want of a gun the soldier was lost.", - "For want of a soldier the battle was lost.", - "And all for the want of a pin."] +check "four pieces modernized": + input = [list: "pin", "gun", "soldier", "battle"] + expected = [list: "For want of a pin the gun was lost.", + "For want of a gun the soldier was lost.", + "For want of a soldier the battle was lost.", + "And all for the want of a pin."] - recite(input) is expected - end + recite(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(zero-pieces, true), - test(one-piece, false), - test(two-pieces, false), - test(three-pieces, false), - test(full-proverb, false), - test(four-pieces-modernized, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/queen-attack/queen-attack-test.arr b/exercises/practice/queen-attack/queen-attack-test.arr index 7a5ad8f..4d77d96 100644 --- a/exercises/practice/queen-attack/queen-attack-test.arr +++ b/exercises/practice/queen-attack/queen-attack-test.arr @@ -2,104 +2,55 @@ use context starter2024 include file("queen-attack.arr") -fun valid-position(): - check "Test creation of Queens with valid and invalid positions -> queen with a valid position": - queen(2, 2) does-not-raise - end +check "Test creation of Queens with valid and invalid positions -> queen with a valid position": + queen(2, 2) does-not-raise end -fun invalid-negative-row(): - check "Test creation of Queens with valid and invalid positions -> queen must have positive row": - queen(-2, 2) raises "" # matches any exception message - end +check "Test creation of Queens with valid and invalid positions -> queen must have positive row": + queen(-2, 2) raises "" # matches any exception message end -fun invalid-row-not-on-board(): - check "Test creation of Queens with valid and invalid positions -> queen must have row on board": - queen(8, 4) raises "" # matches any exception message - end +check "Test creation of Queens with valid and invalid positions -> queen must have row on board": + queen(8, 4) raises "" # matches any exception message end -fun invalid-negative-column(): - check "Test creation of Queens with valid and invalid positions -> queen must have positive column": - queen(2, -2) raises "" # matches any exception message - end +check "Test creation of Queens with valid and invalid positions -> queen must have positive column": + queen(2, -2) raises "" # matches any exception message end -fun invalid-column-not-on-board(): - check "Test creation of Queens with valid and invalid positions -> queen must have column on board": - queen(4, 8) raises "" # matches any exception message - end +check "Test creation of Queens with valid and invalid positions -> queen must have column on board": + queen(4, 8) raises "" # matches any exception message end -fun can-not-attack(): - check "Test the ability of one queen to attack another -> cannot attack": - queen(2, 4).can-attack(queen(6, 6)) is false - end +check "Test the ability of one queen to attack another -> cannot attack": + queen(2, 4).can-attack(queen(6, 6)) is false end -fun can-attack-on-same-row(): - check "Test the ability of one queen to attack another -> can attack on same row": - queen(2, 4).can-attack(queen(2, 6)) is true - end +check "Test the ability of one queen to attack another -> can attack on same row": + queen(2, 4).can-attack(queen(2, 6)) is true end -fun can-attack-on-same-column(): - check "Test the ability of one queen to attack another -> can attack on same column": - queen(4, 5).can-attack(queen(2, 5)) is true - end +check "Test the ability of one queen to attack another -> can attack on same column": + queen(4, 5).can-attack(queen(2, 5)) is true end -fun can-attack-on-first-diagonal(): - check "Test the ability of one queen to attack another -> can attack on first diagonal": - queen(2, 2).can-attack(queen(0, 4)) is true - end +check "Test the ability of one queen to attack another -> can attack on first diagonal": + queen(2, 2).can-attack(queen(0, 4)) is true end -fun can-attack-on-second-diagonal(): - check "Test the ability of one queen to attack another -> can attack on second diagonal": - queen(2, 2).can-attack(queen(3, 1)) is true - end +check "Test the ability of one queen to attack another -> can attack on second diagonal": + queen(2, 2).can-attack(queen(3, 1)) is true end -fun can-attack-on-third-diagonal(): - check "Test the ability of one queen to attack another -> can attack on third diagonal": - queen(2, 2).can-attack(queen(1, 1)) is true - end +check "Test the ability of one queen to attack another -> can attack on third diagonal": + queen(2, 2).can-attack(queen(1, 1)) is true end -fun can-attack-on-fourth-diagonal(): - check "Test the ability of one queen to attack another -> can attack on fourth diagonal": - queen(1, 7).can-attack(queen(0, 6)) is true - end +check "Test the ability of one queen to attack another -> can attack on fourth diagonal": + queen(1, 7).can-attack(queen(0, 6)) is true end -fun can-not-attack-on-reflected-diagonal(): - check "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal": - queen(4, 1).can-attack(queen(2, 5)) is false - end +check "Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal": + queen(4, 1).can-attack(queen(2, 5)) is false end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(valid-position, true), - test(invalid-negative-row, false), - test(invalid-row-not-on-board, false), - test(invalid-negative-column, false), - test(invalid-column-not-on-board, false), - test(can-not-attack, false), - test(can-attack-on-same-row, false), - test(can-attack-on-same-column, false), - test(can-attack-on-first-diagonal, false), - test(can-attack-on-second-diagonal, false), - test(can-attack-on-third-diagonal, false), - test(can-attack-on-fourth-diagonal, false), - test(can-not-attack-on-reflected-diagonal, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/raindrops/raindrops-test.arr b/exercises/practice/raindrops/raindrops-test.arr index b0a7e60..e1ac23e 100644 --- a/exercises/practice/raindrops/raindrops-test.arr +++ b/exercises/practice/raindrops/raindrops-test.arr @@ -2,138 +2,75 @@ use context starter2024 include file("raindrops.arr") -fun convert-1(): - check "the sound for 1 is 1": - convert(1) is "1" - end +check "the sound for 1 is 1": + convert(1) is "1" end -fun convert-3(): - check "the sound for 3 is Pling": - convert(3) is "Pling" - end +check "the sound for 3 is Pling": + convert(3) is "Pling" end -fun convert-5(): - check "the sound for 5 is Plang": - convert(5) is "Plang" - end +check "the sound for 5 is Plang": + convert(5) is "Plang" end -fun convert-7(): - check "the sound for 7 is Plong": - convert(7) is "Plong" - end +check "the sound for 7 is Plong": + convert(7) is "Plong" end -fun convert-6(): - check "the sound for 6 is Pling as it has a factor 3": - convert(6) is "Pling" - end +check "the sound for 6 is Pling as it has a factor 3": + convert(6) is "Pling" end -fun convert-8(): - check "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base": - convert(8) is "8" - end +check "2 to the power 3 does not make a raindrop sound as 3 is the exponent not the base": + convert(8) is "8" end -fun convert-9(): - check "the sound for 9 is Pling as it has a factor 3": - convert(9) is "Pling" - end +check "the sound for 9 is Pling as it has a factor 3": + convert(9) is "Pling" end -fun convert-10(): - check "the sound for 10 is Plang as it has a factor 5": - convert(10) is "Plang" - end +check "the sound for 10 is Plang as it has a factor 5": + convert(10) is "Plang" end -fun convert-14(): - check "the sound for 14 is Plong as it has a factor of 7": - convert(14) is "Plong" - end +check "the sound for 14 is Plong as it has a factor of 7": + convert(14) is "Plong" end -fun convert-15(): - check "the sound for 15 is PlingPlang as it has factors 3 and 5": - convert(15) is "PlingPlang" - end +check "the sound for 15 is PlingPlang as it has factors 3 and 5": + convert(15) is "PlingPlang" end -fun convert-21(): - check "the sound for 21 is PlingPlong as it has factors 3 and 7": - convert(21) is "PlingPlong" - end +check "the sound for 21 is PlingPlong as it has factors 3 and 7": + convert(21) is "PlingPlong" end -fun convert-25(): - check "the sound for 25 is Plang as it has a factor 5": - convert(25) is "Plang" - end +check "the sound for 25 is Plang as it has a factor 5": + convert(25) is "Plang" end -fun convert-27(): - check "the sound for 27 is Pling as it has a factor 3": - convert(27) is "Pling" - end +check "the sound for 27 is Pling as it has a factor 3": + convert(27) is "Pling" end -fun convert-35(): - check "the sound for 35 is PlangPlong as it has factors 5 and 7": - convert(35) is "PlangPlong" - end +check "the sound for 35 is PlangPlong as it has factors 5 and 7": + convert(35) is "PlangPlong" end -fun convert-49(): - check "the sound for 49 is Plong as it has a factor 7": - convert(49) is "Plong" - end +check "the sound for 49 is Plong as it has a factor 7": + convert(49) is "Plong" end -fun convert-52(): - check "the sound for 52 is 52": - convert(52) is "52" - end +check "the sound for 52 is 52": + convert(52) is "52" end -fun convert-105(): - check "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7": - convert(105) is "PlingPlangPlong" - end +check "the sound for 105 is PlingPlangPlong as it has factors 3, 5 and 7": + convert(105) is "PlingPlangPlong" end -fun convert-3125(): - check "the sound for 3125 is Plang as it has a factor 5": - convert(3125) is "Plang" - end +check "the sound for 3125 is Plang as it has a factor 5": + convert(3125) is "Plang" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(convert-1, true), - test(convert-3, false), - test(convert-5, false), - test(convert-7, false), - test(convert-6, false), - test(convert-8, false), - test(convert-9, false), - test(convert-10, false), - test(convert-14, false), - test(convert-15, false), - test(convert-21, false), - test(convert-25, false), - test(convert-27, false), - test(convert-35, false), - test(convert-49, false), - test(convert-52, false), - test(convert-105, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr index 4a16754..39a4fba 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr +++ b/exercises/practice/resistor-color-duo/resistor-color-duo-test.arr @@ -2,62 +2,31 @@ use context starter2024 include file("resistor-color-duo.arr") -fun brown-and-black(): - check "Brown and black": - color-code([list: "brown", "black"]) is 10 - end +check "Brown and black": + color-code([list: "brown", "black"]) is 10 end -fun blue-and-grey(): - check "Blue and grey": - color-code([list: "blue", "grey"]) is 68 - end +check "Blue and grey": + color-code([list: "blue", "grey"]) is 68 end -fun yellow-and-violet(): - check "Yellow and violet": - color-code([list: "yellow", "violet"]) is 47 - end +check "Yellow and violet": + color-code([list: "yellow", "violet"]) is 47 end -fun white-and-red(): - check "White and red": - color-code([list: "white", "red"]) is 92 - end +check "White and red": + color-code([list: "white", "red"]) is 92 end -fun orange-and-orange(): - check "Orange and orange": - color-code([list: "orange", "orange"]) is 33 - end +check "Orange and orange": + color-code([list: "orange", "orange"]) is 33 end -fun ignore-additional-colors(): - check "Ignore additional colors": - color-code([list: "green", "brown", "orange"]) is 51 - end +check "Ignore additional colors": + color-code([list: "green", "brown", "orange"]) is 51 end -fun black-and-brown(): - check "Black and brown, one-digit": - color-code([list: "black", "brown"]) is 1 - end +check "Black and brown, one-digit": + color-code([list: "black", "brown"]) is 1 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(brown-and-black, true), - test(blue-and-grey, false), - test(yellow-and-violet, false), - test(white-and-red, false), - test(orange-and-orange, false), - test(ignore-additional-colors, false), - test(black-and-brown, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr index 324caf9..a13b495 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.arr @@ -2,113 +2,73 @@ use context starter2024 include file("resistor-color-trio.arr") -fun orange-orange-black(): - check "Orange and orange and black": - colors = [list: "orange", "orange", "black"] - expected = "33 ohms" +check "Orange and orange and black": + colors = [list: "orange", "orange", "black"] + expected = "33 ohms" - label(colors) is expected - end + label(colors) is expected end -fun blue-grey-brown(): - check "Blue and grey and brown": - colors = [list: "blue", "grey", "brown"] - expected = "680 ohms" +check "Blue and grey and brown": + colors = [list: "blue", "grey", "brown"] + expected = "680 ohms" - label(colors) is expected - end + label(colors) is expected end -fun red-black-red(): - check "Red and black and red": - colors = [list: "red", "black", "red"] - expected = "2 kiloohms" +check "Red and black and red": + colors = [list: "red", "black", "red"] + expected = "2 kiloohms" - label(colors) is expected - end + label(colors) is expected end -fun green-brown-orange(): - check "Green and brown and orange": - colors = [list: "green", "brown", "orange"] - expected = "51 kiloohms" +check "Green and brown and orange": + colors = [list: "green", "brown", "orange"] + expected = "51 kiloohms" - label(colors) is expected - end + label(colors) is expected end -fun yellow-violet-yellow(): - check "Yellow and violet and yellow": - colors = [list: "yellow", "violet", "yellow"] - expected = "470 kiloohms" +check "Yellow and violet and yellow": + colors = [list: "yellow", "violet", "yellow"] + expected = "470 kiloohms" - label(colors) is expected - end + label(colors) is expected end -fun blue-violet-blue(): - check "Blue and violet and blue": - colors = [list: "blue", "violet", "blue"] - expected = "67 megaohms" +check "Blue and violet and blue": + colors = [list: "blue", "violet", "blue"] + expected = "67 megaohms" - label(colors) is expected - end + label(colors) is expected end -fun minimum-value(): - check "Minimum possible value": - colors = [list: "black", "black", "black"] - expected = "0 ohms" +check "Minimum possible value": + colors = [list: "black", "black", "black"] + expected = "0 ohms" - label(colors) is expected - end + label(colors) is expected end -fun maximum-value(): - check "Maximum possible value": - colors = [list: "white", "white", "white"] - expected = "99 gigaohms" +check "Maximum possible value": + colors = [list: "white", "white", "white"] + expected = "99 gigaohms" - label(colors) is expected - end + label(colors) is expected end -fun invalid-octal-number(): - check "First two colors make an invalid octal number": - colors = [list: "black", "grey", "black"] - expected = "8 ohms" +check "First two colors make an invalid octal number": + colors = [list: "black", "grey", "black"] + expected = "8 ohms" - label(colors) is expected - end + label(colors) is expected end -fun ignore-extra-colors(): - check "Ignore extra colors": - colors = [list: "blue", "green", "yellow", "orange"] - expected = "650 kiloohms" +check "Ignore extra colors": + colors = [list: "blue", "green", "yellow", "orange"] + expected = "650 kiloohms" - label(colors) is expected - end + label(colors) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(orange-orange-black, true), - test(blue-grey-brown, false), - test(red-black-red, false), - test(green-brown-orange, false), - test(yellow-violet-yellow, false), - test(blue-violet-blue, false), - test(minimum-value, false), - test(maximum-value, false), - test(invalid-octal-number, false), - test(ignore-extra-colors, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/resistor-color/resistor-color-test.arr b/exercises/practice/resistor-color/resistor-color-test.arr index 6bba5ed..fa36f9c 100644 --- a/exercises/practice/resistor-color/resistor-color-test.arr +++ b/exercises/practice/resistor-color/resistor-color-test.arr @@ -2,52 +2,30 @@ use context starter2024 include file("resistor-color.arr") -fun color-code-black(): - check "Color codes -> Black": - color-code("black") is 0 - end +check "Color codes -> Black": + color-code("black") is 0 end -fun color-code-white(): - check "Color codes -> White": - color-code("white") is 9 - end +check "Color codes -> White": + color-code("white") is 9 end -fun color-code-orange(): - check "Color codes -> Orange": - color-code("orange") is 3 - end +check "Color codes -> Orange": + color-code("orange") is 3 end -fun test-colors(): - check "Colors": - colors() is [list: - "black", - "brown", - "red", - "orange", - "yellow", - "green", - "blue", - "violet", - "grey", - "white", - ] - end +check "Colors": + colors() is [list: + "black", + "brown", + "red", + "orange", + "yellow", + "green", + "blue", + "violet", + "grey", + "white", + ] end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(color-code-black, true), - test(color-code-white, false), - test(color-code-orange, false), - test(test-colors, false), -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/reverse-string/reverse-string-test.arr b/exercises/practice/reverse-string/reverse-string-test.arr index a97b548..e46e9e3 100644 --- a/exercises/practice/reverse-string/reverse-string-test.arr +++ b/exercises/practice/reverse-string/reverse-string-test.arr @@ -2,55 +2,27 @@ use context starter2024 include file("reverse-string.arr") -fun empty-string(): - check "an empty string": - reversed("") is "" - end +check "an empty string": + reversed("") is "" end -fun word(): - check "a word": - reversed("robot") is "tobor" - end +check "a word": + reversed("robot") is "tobor" end -fun capitalized-word(): - check "a capitalized word": - reversed("Ramen") is "nemaR" - end +check "a capitalized word": + reversed("Ramen") is "nemaR" end -fun sentence-with-punctuation(): - check "a sentence with punctuation": - reversed("I'm hungry!") is "!yrgnuh m'I" - end +check "a sentence with punctuation": + reversed("I'm hungry!") is "!yrgnuh m'I" end -fun palindrome(): - check "a palindrome": - reversed("racecar") is "racecar" - end +check "a palindrome": + reversed("racecar") is "racecar" end -fun even-sized-word(): - check "an even-sized word": - reversed("drawer") is "reward" - end +check "an even-sized word": + reversed("drawer") is "reward" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-string, true), - test(word, false), - test(capitalized-word, false), - test(sentence-with-punctuation, false), - test(palindrome, false), - test(even-sized-word, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/rna-transcription/rna-transcription-test.arr b/exercises/practice/rna-transcription/rna-transcription-test.arr index 0840272..5dd6b73 100644 --- a/exercises/practice/rna-transcription/rna-transcription-test.arr +++ b/exercises/practice/rna-transcription/rna-transcription-test.arr @@ -2,55 +2,27 @@ use context starter2024 include file("rna-transcription.arr") -fun empty-string(): - check "Empty RNA sequence": - to-rna("") is "" - end +check "Empty RNA sequence": + to-rna("") is "" end -fun cytosine-to-guanine(): - check "RNA complement of cytosine is guanine": - to-rna("C") is "G" - end +check "RNA complement of cytosine is guanine": + to-rna("C") is "G" end -fun guanine-to-cytosine(): - check "RNA complement of guanine is cytosine": - to-rna("G") is "C" - end +check "RNA complement of guanine is cytosine": + to-rna("G") is "C" end -fun thymine-to-adenine(): - check "RNA complement of thymine is adenine": - to-rna("T") is "A" - end +check "RNA complement of thymine is adenine": + to-rna("T") is "A" end -fun adenine-to-uracil(): - check "RNA complement of adenine is uracil": - to-rna("A") is "U" - end +check "RNA complement of adenine is uracil": + to-rna("A") is "U" end -fun rna-complement(): - check "RNA complement": - to-rna("ACGTGGTCTTAA") is "UGCACCAGAAUU" - end +check "RNA complement": + to-rna("ACGTGGTCTTAA") is "UGCACCAGAAUU" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-string, true), - test(cytosine-to-guanine, false), - test(guanine-to-cytosine, false), - test(thymine-to-adenine, false), - test(adenine-to-uracil, false), - test(rna-complement, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/robot-simulator/robot-simulator-test.arr b/exercises/practice/robot-simulator/robot-simulator-test.arr index e1083c8..dd65575 100644 --- a/exercises/practice/robot-simulator/robot-simulator-test.arr +++ b/exercises/practice/robot-simulator/robot-simulator-test.arr @@ -2,175 +2,111 @@ use context starter2024 include file("robot-simulator.arr") -fun create-robot-at-origin-facing-north(): - check "Create robot at origin facing north": - r = robot(0, 0, 'north') - expected = robot(0, 0, 'north') - r is expected - end +check "Create robot at origin facing north": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'north') + r is expected end - -fun create-robot-at-negative-position-facing-south(): - check "Create robot at negative position facing south": - r = robot(-1, -1, 'south') - expected = robot(-1, -1, 'south') - r is expected - end + +check "Create robot at negative position facing south": + r = robot(-1, -1, 'south') + expected = robot(-1, -1, 'south') + r is expected +end + +check "Rotating clockwise changes north to east": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'east') + r.move('R') is expected end - -fun rotating-clockwise-changes-north-to-east(): - check "Rotating clockwise changes north to east": - r = robot(0, 0, 'north') - expected = robot(0, 0, 'east') - r.move('R') is expected - end + +check "Rotating clockwise changes east to south": + r = robot(0, 0, 'east') + expected = robot(0, 0, 'south') + r.move('R') is expected end - -fun rotating-clockwise-changes-east-to-south(): - check "Rotating clockwise changes east to south": - r = robot(0, 0, 'east') - expected = robot(0, 0, 'south') - r.move('R') is expected - end + +check "Rotating clockwise changes south to west": + r = robot(0, 0, 'south') + expected = robot(0, 0, 'west') + r.move('R') is expected end - -fun rotating-clockwise-changes-south-to-west(): - check "Rotating clockwise changes south to west": - r = robot(0, 0, 'south') - expected = robot(0, 0, 'west') - r.move('R') is expected - end + +check "Rotating clockwise changes west to north": + r = robot(0, 0, 'west') + expected = robot(0, 0, 'north') + r.move('R') is expected end - -fun rotating-clockwise-changes-west-to-north(): - check "Rotating clockwise changes west to north": - r = robot(0, 0, 'west') - expected = robot(0, 0, 'north') - r.move('R') is expected - end + +check "Rotating counter-clockwise changes north to west": + r = robot(0, 0, 'north') + expected = robot(0, 0, 'west') + r.move('L') is expected end - -fun rotating-counter-clockwise-changes-north-to-west(): - check "Rotating counter-clockwise changes north to west": - r = robot(0, 0, 'north') - expected = robot(0, 0, 'west') - r.move('L') is expected - end + +check "Rotating counter-clockwise changes west to south": + r = robot(0, 0, 'west') + expected = robot(0, 0, 'south') + r.move('L') is expected end - -fun rotating-counter-clockwise-changes-west-to-south(): - check "Rotating counter-clockwise changes west to south": - r = robot(0, 0, 'west') - expected = robot(0, 0, 'south') - r.move('L') is expected - end -end - -fun rotating-counter-clockwise-changes-south-to-east(): - check "Rotating counter-clockwise changes south to east": - r = robot(0, 0, 'south') - expected = robot(0, 0, 'east') - r.move('L') is expected - end -end - -fun rotating-counter-clockwise-changes-east-to-north(): - check "Rotating counter-clockwise changes east to north": - r = robot(0, 0, 'east') - expected = robot(0, 0, 'north') - r.move('L') is expected - end -end - -fun moving-forward-one-facing-north-increments-Y(): - check "Moving forward one facing north increments Y": - r = robot(0, 0, 'north') - expected = robot(0, 1, 'north') - r.move('A') is expected - end -end - -fun moving-forward-one-facing-south-decrements-Y(): - check "Moving forward one facing south decrements Y": - r = robot(0, 0, 'south') - expected = robot(0, -1, 'south') - r.move('A') is expected - end -end - -fun moving-forward-one-facing-east-increments-X(): - check "Moving forward one facing east increments X": - r = robot(0, 0, 'east') - expected = robot(1, 0, 'east') - r.move('A') is expected - end -end - -fun moving-forward-one-facing-west-decrements-X(): - check "Moving forward one facing west decrements X": - r = robot(0, 0, 'west') - expected = robot(-1, 0, 'west') - r.move('A') is expected - end -end - -fun follow-series-of-directions-moving-east-and-north-from-readme(): - check "Follow series of directions moving east and north from README": - r = robot(7, 3, 'north') - expected = robot(9, 4, 'west') - r.move('RAALAL') is expected - end -end - -fun follow-series-of-directions-moving-west-and-north(): - check "Follow series of directions moving west and north": - r = robot(0, 0, 'north') - expected = robot(-4, 1, 'west') - r.move('LAAARALA') is expected - end -end - -fun follow-series-of-directions-moving-west-and-south(): - check "Follow series of directions moving west and south": - r = robot(2, -7, 'east') - expected = robot(-3, -8, 'south') - r.move('RRAAAAALA') is expected - end -end - -fun follow-series-of-directions-moving-east-and-north(): - check "Follow series of directions moving east and north": - r = robot(8, 4, 'south') - expected = robot(11, 5, 'north') - r.move('LAAARRRALLLL') is expected - end -end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(create-robot-at-origin-facing-north, true), - test(create-robot-at-negative-position-facing-south, false), - test(rotating-clockwise-changes-north-to-east, false), - test(rotating-clockwise-changes-east-to-south, false), - test(rotating-clockwise-changes-south-to-west, false), - test(rotating-clockwise-changes-west-to-north, false), - test(rotating-counter-clockwise-changes-north-to-west, false), - test(rotating-counter-clockwise-changes-west-to-south, false), - test(rotating-counter-clockwise-changes-south-to-east, false), - test(rotating-counter-clockwise-changes-east-to-north, false), - test(moving-forward-one-facing-north-increments-Y, false), - test(moving-forward-one-facing-south-decrements-Y, false), - test(moving-forward-one-facing-east-increments-X, false), - test(moving-forward-one-facing-west-decrements-X, false), - test(follow-series-of-directions-moving-east-and-north-from-readme, false), - test(follow-series-of-directions-moving-west-and-north, false), - test(follow-series-of-directions-moving-west-and-south, false), - test(follow-series-of-directions-moving-east-and-north, false) -].each(lam(t): when t.active: t.run() end end) + +check "Rotating counter-clockwise changes south to east": + r = robot(0, 0, 'south') + expected = robot(0, 0, 'east') + r.move('L') is expected +end + +check "Rotating counter-clockwise changes east to north": + r = robot(0, 0, 'east') + expected = robot(0, 0, 'north') + r.move('L') is expected +end + +check "Moving forward one facing north increments Y": + r = robot(0, 0, 'north') + expected = robot(0, 1, 'north') + r.move('A') is expected +end + +check "Moving forward one facing south decrements Y": + r = robot(0, 0, 'south') + expected = robot(0, -1, 'south') + r.move('A') is expected +end + +check "Moving forward one facing east increments X": + r = robot(0, 0, 'east') + expected = robot(1, 0, 'east') + r.move('A') is expected +end + +check "Moving forward one facing west decrements X": + r = robot(0, 0, 'west') + expected = robot(-1, 0, 'west') + r.move('A') is expected +end + +check "Follow series of directions moving east and north from README": + r = robot(7, 3, 'north') + expected = robot(9, 4, 'west') + r.move('RAALAL') is expected +end + +check "Follow series of directions moving west and north": + r = robot(0, 0, 'north') + expected = robot(-4, 1, 'west') + r.move('LAAARALA') is expected +end + +check "Follow series of directions moving west and south": + r = robot(2, -7, 'east') + expected = robot(-3, -8, 'south') + r.move('RRAAAAALA') is expected +end + +check "Follow series of directions moving east and north": + r = robot(8, 4, 'south') + expected = robot(11, 5, 'north') + r.move('LAAARRRALLLL') is expected +end + diff --git a/exercises/practice/roman-numerals/roman-numerals-test.arr b/exercises/practice/roman-numerals/roman-numerals-test.arr index 4c5f7cb..ae276dd 100644 --- a/exercises/practice/roman-numerals/roman-numerals-test.arr +++ b/exercises/practice/roman-numerals/roman-numerals-test.arr @@ -164,41 +164,3 @@ fun MMMCMXCIX(): end end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(I, true), - test(II, false), - test(III, false), - test(IV, false), - test(V, false), - test(VI, false), - test(IX, false), - test(XVI, false), - test(XXVII, false), - test(XLVIII, false), - test(XLIX, false), - test(LIX, false), - test(LXVI, false), - test(XCIII, false), - test(CXLI, false), - test(CLXIII, false), - test(CLXVI, false), - test(CDII, false), - test(DLXXV, false), - test(DCLXVI, false), - test(CMXI, false), - test(MXXIV, false), - test(MDCLXVI, false), - test(MMM, false), - test(MMMI, false), - test(MMMDCCCLXXXVIII, false), - test(MMMCMXCIX, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/scrabble-score/scrabble-score-test.arr b/exercises/practice/scrabble-score/scrabble-score-test.arr index 97a0e93..88a1684 100644 --- a/exercises/practice/scrabble-score/scrabble-score-test.arr +++ b/exercises/practice/scrabble-score/scrabble-score-test.arr @@ -2,90 +2,47 @@ use context starter2024 include file("scrabble-score.arr") -fun lowercase-letter(): - check "lowercase letter": - score("a") is 1 - end +check "lowercase letter": + score("a") is 1 end -fun uppercase-letter(): - check "uppercase letter": - score("A") is 1 - end +check "uppercase letter": + score("A") is 1 end -fun valuable-letter(): - check "valuable letter": - score("f") is 4 - end +check "valuable letter": + score("f") is 4 end -fun short-word(): - check "short word": - score("at") is 2 - end +check "short word": + score("at") is 2 end -fun short-valuable-word(): - check "short, valuable word": - score("zoo") is 12 - end +check "short, valuable word": + score("zoo") is 12 end -fun medium-word(): - check "medium word": - score("street") is 6 - end +check "medium word": + score("street") is 6 end -fun medium-valuable-word(): - check "medium, valuable word": - score("quirky") is 22 - end +check "medium, valuable word": + score("quirky") is 22 end -fun long-mixed-case-word(): - check "long, mixed-case word": - score("OxyphenButazone") is 41 - end +check "long, mixed-case word": + score("OxyphenButazone") is 41 end -fun english-like-word(): - check "english-like word": - score("pinata") is 8 - end +check "english-like word": + score("pinata") is 8 end -fun empty-input(): - check "empty input": - score("") is 0 - end +check "empty input": + score("") is 0 end -fun entire-alphabet(): - check "entire alphabet available": - score("abcdefghijklmnopqrstuvwxyz") is 87 - end +check "entire alphabet available": + score("abcdefghijklmnopqrstuvwxyz") is 87 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(lowercase-letter, true), - test(uppercase-letter, false), - test(valuable-letter, false), - test(short-word, false), - test(short-valuable-word, false), - test(medium-word, false), - test(medium-valuable-word, false), - test(long-mixed-case-word, false), - test(english-like-word, false), - test(empty-input, false), - test(entire-alphabet, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/secret-handshake/secret-handshake-test.arr b/exercises/practice/secret-handshake/secret-handshake-test.arr index 184c786..c8c2289 100644 --- a/exercises/practice/secret-handshake/secret-handshake-test.arr +++ b/exercises/practice/secret-handshake/secret-handshake-test.arr @@ -2,90 +2,47 @@ use context starter2024 include file("secret-handshake.arr") -fun wink(): - check "wink for 1": - commands("00001") is [list: "wink"] - end +check "wink for 1": + commands("00001") is [list: "wink"] end -fun double-blink(): - check "double blink for 10": - commands("00010") is [list: "double blink"] - end +check "double blink for 10": + commands("00010") is [list: "double blink"] end -fun close-your-eyes(): - check "close your eyes for 100": - commands("00100") is [list: "close your eyes"] - end +check "close your eyes for 100": + commands("00100") is [list: "close your eyes"] end -fun jump(): - check "jump for 1000": - commands("01000") is [list: "jump"] - end +check "jump for 1000": + commands("01000") is [list: "jump"] end -fun combine-two-actions(): - check "combine two actions": - commands("00011") is [list: "wink", "double blink"] - end +check "combine two actions": + commands("00011") is [list: "wink", "double blink"] end -fun reverse-two-actions(): - check "reverse two actions": - commands("10011") is [list: "double blink", "wink"] - end +check "reverse two actions": + commands("10011") is [list: "double blink", "wink"] end -fun reversed-action-is-same(): - check "reversing one action gives the same action": - commands("11000") is [list: "jump"] - end +check "reversing one action gives the same action": + commands("11000") is [list: "jump"] end -fun reversed-inaction-is-same(): - check "reversing no actions still gives no actions": - commands("10000") is [list: ] - end +check "reversing no actions still gives no actions": + commands("10000") is [list: ] end -fun all-possible-actions(): - check "all possible actions": - commands("01111") is [list: "wink", "double blink", "close your eyes", "jump"] - end +check "all possible actions": + commands("01111") is [list: "wink", "double blink", "close your eyes", "jump"] end -fun all-possible-actions-reversed(): - check "reverse all possible actions": - commands("11111") is [list: "jump", "close your eyes", "double blink", "wink"] - end +check "reverse all possible actions": + commands("11111") is [list: "jump", "close your eyes", "double blink", "wink"] end -fun do-nothing(): - check "do nothing for zero": - commands("00000") is [list: ] - end +check "do nothing for zero": + commands("00000") is [list: ] end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(wink, true), - test(double-blink, false), - test(close-your-eyes, false), - test(jump, false), - test(combine-two-actions, false), - test(reverse-two-actions, false), - test(reversed-action-is-same, false), - test(reversed-inaction-is-same, false), - test(all-possible-actions, false), - test(all-possible-actions-reversed, false), - test(do-nothing, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/series/series-test.arr b/exercises/practice/series/series-test.arr index 1a21dea..cf0b132 100644 --- a/exercises/practice/series/series-test.arr +++ b/exercises/practice/series/series-test.arr @@ -2,90 +2,47 @@ use context starter2024 include file("series.arr") -fun slices-of-one-from-one(): - check "slices of one from one": - slices("1", 1) is [list: "1"] - end +check "slices of one from one": + slices("1", 1) is [list: "1"] end -fun slices-of-one-from-two(): - check "slices of one from two": - slices("12", 1) is [list: "1", "2"] - end +check "slices of one from two": + slices("12", 1) is [list: "1", "2"] end -fun slices-of-two(): - check "slices of two": - slices("35", 2) is [list: "35"] - end +check "slices of two": + slices("35", 2) is [list: "35"] end -fun slices-of-two-overlap(): - check "slices of two overlap": - slices("9142", 2) is [list: "91", "14", "42"] - end +check "slices of two overlap": + slices("9142", 2) is [list: "91", "14", "42"] end -fun slices-can-include-duplicates(): - check "slices can include duplicates": - slices("777777", 3) is [list: "777", "777", "777", "777"] - end +check "slices can include duplicates": + slices("777777", 3) is [list: "777", "777", "777", "777"] end -fun slices-of-a-long-series(): - check "slices of a long series": - slices("918493904243", 5) is [list: "91849", "18493", "84939", "49390", "93904", "39042", "90424", "04243"] - end +check "slices of a long series": + slices("918493904243", 5) is [list: "91849", "18493", "84939", "49390", "93904", "39042", "90424", "04243"] end -fun slice-length-too-large(): - check "slice length is too large": - slices("12345", 6) raises "slice length cannot be greater than series length" - end +check "slice length is too large": + slices("12345", 6) raises "slice length cannot be greater than series length" end -fun slice-length-way-too-large(): - check "slice length is way too large": - slices("12345", 42) raises "slice length cannot be greater than series length" - end +check "slice length is way too large": + slices("12345", 42) raises "slice length cannot be greater than series length" end -fun slice-length-can-not-be-zero(): - check "slice length cannot be zero": - slices("12345", 0) raises "slice length cannot be zero" - end +check "slice length cannot be zero": + slices("12345", 0) raises "slice length cannot be zero" end -fun slice-length-can-not-be-negative(): - check "slice length cannot be negative": - slices("12345", -1) raises "slice length cannot be negative" - end +check "slice length cannot be negative": + slices("12345", -1) raises "slice length cannot be negative" end -fun empty-series-is-invalid(): - check "empty series is invalid": - slices("", 1) raises "series cannot be empty" - end +check "empty series is invalid": + slices("", 1) raises "series cannot be empty" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(slices-of-one-from-one, true), - test(slices-of-one-from-two, false), - test(slices-of-two, false), - test(slices-of-two-overlap, false), - test(slices-can-include-duplicates, false), - test(slices-of-a-long-series, false), - test(slice-length-too-large, false), - test(slice-length-way-too-large, false), - test(slice-length-can-not-be-zero, false), - test(slice-length-can-not-be-negative, false), - test(empty-series-is-invalid, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/sieve/sieve-test.arr b/exercises/practice/sieve/sieve-test.arr index fdd4196..34d4550 100644 --- a/exercises/practice/sieve/sieve-test.arr +++ b/exercises/practice/sieve/sieve-test.arr @@ -2,11 +2,10 @@ use context starter2024 include file("sieve.arr") -fun no-primes-under-two(): - check "no primes under two": - primes(1) is [list:] - end +check "no primes under two": + primes(1) is [list:] end + fun find-first-prime(): check "find first prime": @@ -14,49 +13,28 @@ end end end -fun find-primes-up-to-10(): - check "find primes up to 10": - primes(10) is [list:2, 3, 5, 7] - end +check "find primes up to 10": + primes(10) is [list:2, 3, 5, 7] end -fun limit-is-prime(): - check "limit is prime": - primes(13) is [list:2, 3, 5, 7, 11, 13] - end +check "limit is prime": + primes(13) is [list:2, 3, 5, 7, 11, 13] end -fun find-primes-up-to-1000(): - check "find primes up to 1000": - primes(1000) is [list: - 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, - 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, - 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, - 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, - 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, - 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, - 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, - 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, - 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, - 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, - 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, - 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 - ] - end +check "find primes up to 1000": + primes(1000) is [list: + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, + 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, + 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, + 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, + 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, + 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, + 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, + 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, + 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, + 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, + 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, + 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 + ] end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(no-primes-under-two, true), - test(find-first-prime, false), - test(find-primes-up-to-10, false), - test(limit-is-prime, false), - test(find-primes-up-to-1000, false), -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/simple-linked-list/simple-linked-list-test.arr b/exercises/practice/simple-linked-list/simple-linked-list-test.arr index f55cf6b..53b7c95 100644 --- a/exercises/practice/simple-linked-list/simple-linked-list-test.arr +++ b/exercises/practice/simple-linked-list/simple-linked-list-test.arr @@ -4,170 +4,112 @@ include file("simple-linked-list.arr") # No canonical data available for this exercise so these have been ported from Python and F# -fun empty-list-length-zero(): - check "empty list has length zero": - empty-list.length() is 0 - end +check "empty list has length zero": + empty-list.length() is 0 end -fun singleton-has-length-one(): - check "singleton list has length one": - linked-list(1, empty-list).length() is 1 - end +check "singleton list has length one": + linked-list(1, empty-list).length() is 1 end -fun non-empty-list-has-length(): - check "non-empty list has correct length": - result = empty-list - ^ linked-list(3, _) - ^ linked-list(2, _) - ^ linked-list(1, _) +check "non-empty list has correct length": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) - result.length() is 3 - end + result.length() is 3 end -fun singleton-has-head(): - check "singleton list has head": - linked-list(1, empty-list).get-head() is 1 - end +check "singleton list has head": + linked-list(1, empty-list).get-head() is 1 end -fun non-empty-list-has-head(): - check "non-empty list has correct head": - result = empty-list - ^ linked-list(1, _) - ^ linked-list(2, _) +check "non-empty list has correct head": + result = empty-list + ^ linked-list(1, _) + ^ linked-list(2, _) - result.get-head() is 2 - end + result.get-head() is 2 end -fun push-to-non-empty-list(): - check "can push to non-empty list": - result = empty-list - ^ linked-list(3, _) - ^ linked-list(2, _) - ^ linked-list(1, _) - - result.push(4).length() is 4 - end +check "can push to non-empty list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.push(4).length() is 4 end -fun push-changes-empty-list-head(): - check "pushing to empty list changes head": - result = empty-list.push(5) - - result.length() is 1 - result.get-head() is 5 - end +check "pushing to empty list changes head": + result = empty-list.push(5) + + result.length() is 1 + result.get-head() is 5 +end + +check "can access second element in list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(4, _) + ^ linked-list(5, _) + + result.get-tail().get-head() is 4 +end + +check "test singleton list head has no tail": + linked-list(1, empty-list).get-tail() is empty-list +end + +check "non-empty list traverse": + my-list = range(0, 11).foldl( + lam(elt, acc): + acc.push(elt) + end, + empty-list) + + traversed = range(-10, 0).foldl( + lam(n, acc) block: + acc.get-head() is num-abs(n) + acc.get-tail() + end, + my-list) + + traversed.get-tail() is empty-list +end + +check "empty linked list to list is empty": + empty-list.to-list() is [list: ] +end + +check "singleton linked list to list with single element": + linked-list(1, empty-list).to-list() is [list: 1] +end + +check "non-empty linked list to list is list with all elements": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.to-list() is [list: 3, 2, 1] +end + +check "reversed empty list is empty list": + empty-list.reversed().to-list() is [list: ] +end + +check "reversed singleton list is same list": + linked-list(1, empty-list).reversed() is linked-list(1, empty-list) +end + +check "reverse non-empty list": + result = empty-list + ^ linked-list(3, _) + ^ linked-list(2, _) + ^ linked-list(1, _) + + result.reversed().to-list() is [list: 1, 2, 3] end -fun access-second-element(): - check "can access second element in list": - result = empty-list - ^ linked-list(3, _) - ^ linked-list(4, _) - ^ linked-list(5, _) - - result.get-tail().get-head() is 4 - end -end - -fun singleton-has-no-tail(): - check "test singleton list head has no tail": - linked-list(1, empty-list).get-tail() is empty-list - end -end - -fun non-empty-list-traverse(): - check "non-empty list traverse": - my-list = range(0, 11).foldl( - lam(elt, acc): - acc.push(elt) - end, - empty-list) - - traversed = range(-10, 0).foldl( - lam(n, acc) block: - acc.get-head() is num-abs(n) - acc.get-tail() - end, - my-list) - - traversed.get-tail() is empty-list - end -end - -fun empty-linked-list-is-empty-list(): - check "empty linked list to list is empty": - empty-list.to-list() is [list: ] - end -end - -fun singleton-is-list-with-single-element(): - check "singleton linked list to list with single element": - linked-list(1, empty-list).to-list() is [list: 1] - end -end - -fun non-empty-list-is-list-with-all-elements(): - check "non-empty linked list to list is list with all elements": - result = empty-list - ^ linked-list(3, _) - ^ linked-list(2, _) - ^ linked-list(1, _) - - result.to-list() is [list: 3, 2, 1] - end -end - -fun reversed-empty-list-is-empty-list(): - check "reversed empty list is empty list": - empty-list.reversed().to-list() is [list: ] - end -end - -fun reversed-singleton-list-is-same-list(): - check "reversed singleton list is same list": - linked-list(1, empty-list).reversed() is linked-list(1, empty-list) - end -end - -fun reverse-non-empty-list(): - check "reverse non-empty list": - result = empty-list - ^ linked-list(3, _) - ^ linked-list(2, _) - ^ linked-list(1, _) - - result.reversed().to-list() is [list: 1, 2, 3] - end -end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(empty-list-length-zero, true), - test(singleton-has-length-one, false), - test(non-empty-list-has-length, false), - test(singleton-has-head, false), - test(non-empty-list-has-head, false), - test(push-to-non-empty-list, false), - test(push-changes-empty-list-head, false), - test(access-second-element, false), - test(singleton-has-no-tail, false), - test(non-empty-list-traverse, false), - test(empty-linked-list-is-empty-list, false), - test(singleton-is-list-with-single-element, false), - test(non-empty-list-is-list-with-all-elements, false), - test(reversed-empty-list-is-empty-list, false), - test(reversed-singleton-list-is-same-list, false), - test(reverse-non-empty-list, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/space-age/space-age-test.arr b/exercises/practice/space-age/space-age-test.arr index 5848efb..0ec735c 100644 --- a/exercises/practice/space-age/space-age-test.arr +++ b/exercises/practice/space-age/space-age-test.arr @@ -2,83 +2,44 @@ use context starter2024 include file("space-age.arr") -fun around(delta :: Number) -> (Number, Number -> Boolean): - doc: "provides a predicate that returns true if the absolute values of two numbers are less than or equal to the specified delta" - lam(actual, target): - num-abs(target - actual) <= delta - end +doc: "provides a predicate that returns true if the absolute values of two numbers are less than or equal to the specified delta" +lam(actual, target): + num-abs(target - actual) <= delta end -fun age-on-earth(): - check "age on Earth": - on-planet("Earth", 1000000000) is%(around(0.01)) 31.69 - end +check "age on Earth": + on-planet("Earth", 1000000000) is%(around(0.01)) 31.69 end -fun age-on-mercury(): - check "age on Mercury": - on-planet("Mercury", 2134835688) is%(around(0.01)) 280.88 - end +check "age on Mercury": + on-planet("Mercury", 2134835688) is%(around(0.01)) 280.88 end -fun age-on-venus(): - check "age on Venus": - on-planet("Venus", 189839836) is%(around(0.01)) 9.78 - end +check "age on Venus": + on-planet("Venus", 189839836) is%(around(0.01)) 9.78 end -fun age-on-mars(): - check "age on Mars": - on-planet("Mars", 2129871239) is%(around(0.01)) 35.88 - end +check "age on Mars": + on-planet("Mars", 2129871239) is%(around(0.01)) 35.88 end -fun age-on-jupiter(): - check "age on Jupiter": - on-planet("Jupiter", 901876382) is%(around(0.01)) 2.41 - end +check "age on Jupiter": + on-planet("Jupiter", 901876382) is%(around(0.01)) 2.41 end -fun age-on-saturn(): - check "age on Saturn": - on-planet("Saturn", 2000000000) is%(around(0.01)) 2.15 - end +check "age on Saturn": + on-planet("Saturn", 2000000000) is%(around(0.01)) 2.15 end -fun age-on-uranus(): - check "age on Uranus": - on-planet("Uranus", 1210123456) is%(around(0.01)) 0.46 - end +check "age on Uranus": + on-planet("Uranus", 1210123456) is%(around(0.01)) 0.46 end -fun age-on-neptune(): - check "age on Neptune": - on-planet("Neptune", 1821023456) is%(around(0.01)) 0.35 - end +check "age on Neptune": + on-planet("Neptune", 1821023456) is%(around(0.01)) 0.35 end -fun invalid-planet-causes-error(): - check "invalid planet causes error": - on-planet("Sun", 680804807) raises "not a planet" - end +check "invalid planet causes error": + on-planet("Sun", 680804807) raises "not a planet" end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(age-on-earth, true), - test(age-on-mercury, false), - test(age-on-venus, false), - test(age-on-mars, false), - test(age-on-jupiter, false), - test(age-on-saturn, false), - test(age-on-uranus, false), - test(age-on-neptune, false), - test(invalid-planet-causes-error, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/square-root/square-root-test.arr b/exercises/practice/square-root/square-root-test.arr index ea221fa..ed4c547 100644 --- a/exercises/practice/square-root/square-root-test.arr +++ b/exercises/practice/square-root/square-root-test.arr @@ -2,55 +2,27 @@ use context starter2024 include file("square-root.arr") -fun root-of-one(): - check "root of 1": - square-root(1) is 1 - end +check "root of 1": + square-root(1) is 1 end -fun root-of-four(): - check "root of 4": - square-root(4) is 2 - end +check "root of 4": + square-root(4) is 2 end -fun root-of-twenty-five(): - check "root of 25": - square-root(25) is 5 - end +check "root of 25": + square-root(25) is 5 end -fun root-of-eighty-one(): - check "root of 81": - square-root(81) is 9 - end +check "root of 81": + square-root(81) is 9 end -fun root-of-one-hundred-ninety-six(): - check "root of 196": - square-root(196) is 14 - end +check "root of 196": + square-root(196) is 14 end -fun root-of-sixty-five-thousand-twenty-five(): - check "root of 65025": - square-root(65025) is 255 - end +check "root of 65025": + square-root(65025) is 255 end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(root-of-one, true), - test(root-of-four, false), - test(root-of-twenty-five, false), - test(root-of-eighty-one, false), - test(root-of-one-hundred-ninety-six, false), - test(root-of-sixty-five-thousand-twenty-five, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/strain/strain-test.arr b/exercises/practice/strain/strain-test.arr index 65b84b8..24fe6f8 100644 --- a/exercises/practice/strain/strain-test.arr +++ b/exercises/practice/strain/strain-test.arr @@ -2,192 +2,140 @@ use context starter2024 include file("strain.arr") -fun keep-on-empty-list-returns-empty-list(): - check "keep on empty list returns empty list": - input = [list: ] - predicate = lam(elt): true end - expected = [list: ] - - keep(input, predicate) is expected - end +check "keep on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] + + keep(input, predicate) is expected end -fun keeps-everything(): - check "keeps everything": - input = [list: 1, 3, 5] - predicate = lam(elt): true end - expected = [list: 1, 3, 5] +check "keeps everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: 1, 3, 5] - keep(input, predicate) is expected - end + keep(input, predicate) is expected end -fun keeps-nothing(): - check "keeps nothing": - input = [list: 1, 3, 5] - predicate = lam(elt): false end - expected = [list: ] +check "keeps nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: ] - keep(input, predicate) is expected - end + keep(input, predicate) is expected end -fun keeps-edges(): - check "keeps first and last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 1 end - expected = [list: 1, 3] +check "keeps first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 1, 3] - keep(input, predicate) is expected - end + keep(input, predicate) is expected end -fun keeps-middle(): - check "keeps neither first nor last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 0 end - expected = [list: 2] +check "keeps neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 2] - keep(input, predicate) is expected - end + keep(input, predicate) is expected end -fun keeps-strings(): - check "keeps strings": - input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] - predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end - expected = [list: "zebra", "zombies", "zealot"] +check "keeps strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "zebra", "zombies", "zealot"] - keep(input, predicate) is expected - end + keep(input, predicate) is expected end -fun keeps-lists(): - check "keeps lists": - input = [list: - [list: 1, 2, 3], - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 2, 1, 2], - [list: 1, 5, 2], - [list: 2, 2, 1], - [list: 1, 2, 5]] - - predicate = lam(elt): elt.member(5) end - - expected = [list: - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 1, 5, 2], - [list: 1, 2, 5]] - - keep(input, predicate) is expected - end +check "keeps lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 1, 5, 2], + [list: 1, 2, 5]] + + keep(input, predicate) is expected end -fun discard-on-empty-list-returns-empty-list(): - check "discard on empty list returns empty list": - input = [list: ] - predicate = lam(elt): true end - expected = [list: ] +check "discard on empty list returns empty list": + input = [list: ] + predicate = lam(elt): true end + expected = [list: ] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-everything(): - check "discards everything": - input = [list: 1, 3, 5] - predicate = lam(elt): true end - expected = [list: ] +check "discards everything": + input = [list: 1, 3, 5] + predicate = lam(elt): true end + expected = [list: ] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-nothing(): - check "discards nothing": - input = [list: 1, 3, 5] - predicate = lam(elt): false end - expected = [list: 1, 3, 5] +check "discards nothing": + input = [list: 1, 3, 5] + predicate = lam(elt): false end + expected = [list: 1, 3, 5] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-edges(): - check "discards first and last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 1 end - expected = [list: 2] +check "discards first and last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 1 end + expected = [list: 2] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-middle(): - check "discards neither first nor last": - input = [list: 1, 2, 3] - predicate = lam(elt): num-modulo(elt, 2) == 0 end - expected = [list: 1, 3] +check "discards neither first nor last": + input = [list: 1, 2, 3] + predicate = lam(elt): num-modulo(elt, 2) == 0 end + expected = [list: 1, 3] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-strings(): - check "discards strings": - input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] - predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end - expected = [list: "apple", "banana", "cherimoya"] +check "discards strings": + input = [list: "apple", "zebra", "banana", "zombies", "cherimoya", "zealot"] + predicate = lam(elt): string-char-at(elt, 0) ^ string-equal(_, "z") end + expected = [list: "apple", "banana", "cherimoya"] - discard(input, predicate) is expected - end + discard(input, predicate) is expected end -fun discards-lists(): - check "discards lists": - input = [list: - [list: 1, 2, 3], - [list: 5, 5, 5], - [list: 5, 1, 2], - [list: 2, 1, 2], - [list: 1, 5, 2], - [list: 2, 2, 1], - [list: 1, 2, 5]] - - predicate = lam(elt): elt.member(5) end - - expected = [list: - [list: 1, 2, 3], - [list: 2, 1, 2], - [list: 2, 2, 1]] - - discard(input, predicate) is expected - end +check "discards lists": + input = [list: + [list: 1, 2, 3], + [list: 5, 5, 5], + [list: 5, 1, 2], + [list: 2, 1, 2], + [list: 1, 5, 2], + [list: 2, 2, 1], + [list: 1, 2, 5]] + + predicate = lam(elt): elt.member(5) end + + expected = [list: + [list: 1, 2, 3], + [list: 2, 1, 2], + [list: 2, 2, 1]] + + discard(input, predicate) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(keep-on-empty-list-returns-empty-list, true), - test(keeps-everything, false), - test(keeps-nothing, false), - test(keeps-edges, false), - test(keeps-middle, false), - test(keeps-strings, false), - test(keeps-lists, false), - test(discard-on-empty-list-returns-empty-list, false), - test(discards-everything, false), - test(discards-nothing, false), - test(discards-edges, false), - test(discards-middle, false), - test(discards-strings, false), - test(discards-lists, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/triangle/triangle-test.arr b/exercises/practice/triangle/triangle-test.arr index d741e24..26d3db1 100644 --- a/exercises/practice/triangle/triangle-test.arr +++ b/exercises/practice/triangle/triangle-test.arr @@ -2,160 +2,87 @@ use context starter2024 include file("triangle.arr") -fun equilateral-all-equal-sides(): - check "equilateral triangle -> all sides are equal": - equilateral([list: 2, 2, 2]) is true - end +check "equilateral triangle -> all sides are equal": + equilateral([list: 2, 2, 2]) is true end -fun equilateral-any-unequal-side(): - check "equilateral triangle -> any side is unequal": - equilateral([list: 2, 3, 2]) is false - end +check "equilateral triangle -> any side is unequal": + equilateral([list: 2, 3, 2]) is false end -fun equilateral-no-equal-sides(): - check "equilateral triangle -> no sides are equal": - equilateral([list: 5, 4, 6]) is false - end +check "equilateral triangle -> no sides are equal": + equilateral([list: 5, 4, 6]) is false end -fun equilateral-all-zero-sides(): - check "equilateral triangle -> all zero sides is not a triangle": - equilateral([list: 0, 0, 0]) is false - end +check "equilateral triangle -> all zero sides is not a triangle": + equilateral([list: 0, 0, 0]) is false end -fun equilateral-decimal-sides(): - check "equilateral triangle -> sides may be decimals": - equilateral([list: 0.5, 0.5, 0.5]) is true - end +check "equilateral triangle -> sides may be decimals": + equilateral([list: 0.5, 0.5, 0.5]) is true end -fun isosceles-second-third-equal-sides(): - check "isosceles triangle -> last two sides are equal": - isosceles([list: 3, 4, 4]) is true - end +check "isosceles triangle -> last two sides are equal": + isosceles([list: 3, 4, 4]) is true end -fun isosceles-first-second-equal-sides(): - check "isosceles triangle -> first two sides are equal": - isosceles([list: 4, 4, 3]) is true - end +check "isosceles triangle -> first two sides are equal": + isosceles([list: 4, 4, 3]) is true end -fun isosceles-first-third-equal-sides(): - check "isosceles triangle -> first and last sides are equal": - isosceles([list: 4, 3, 4]) is true - end +check "isosceles triangle -> first and last sides are equal": + isosceles([list: 4, 3, 4]) is true end -fun isosceles-can-be-equilateral(): - check "isosceles triangle -> equilateral triangles are also isosceles": - isosceles([list: 4, 4, 4]) is true - end +check "isosceles triangle -> equilateral triangles are also isosceles": + isosceles([list: 4, 4, 4]) is true end -fun isosceles-no-equal-sides(): - check "isosceles triangle -> no sides are equal": - isosceles([list: 2, 3, 4]) is false - end +check "isosceles triangle -> no sides are equal": + isosceles([list: 2, 3, 4]) is false end -fun isosceles-triangle-inequality-first(): - check "isosceles triangle -> first triangle inequality violation": - isosceles([list: 1, 1, 3]) is false - end +check "isosceles triangle -> first triangle inequality violation": + isosceles([list: 1, 1, 3]) is false end -fun isosceles-triangle-inequality-second(): - check "isosceles triangle -> second triangle inequality violation": - isosceles([list: 1, 3, 1]) is false - end +check "isosceles triangle -> second triangle inequality violation": + isosceles([list: 1, 3, 1]) is false end -fun isosceles-triangle-inequality-third(): - check "isosceles triangle -> third triangle inequality violation": - isosceles([list: 3, 1, 1]) is false - end +check "isosceles triangle -> third triangle inequality violation": + isosceles([list: 3, 1, 1]) is false end -fun isosceles-decimal-sides(): - check "isosceles triangle -> sides may be decimasl": - isosceles([list: 0.5, 0.4, 0.5]) is true - end +check "isosceles triangle -> sides may be decimasl": + isosceles([list: 0.5, 0.4, 0.5]) is true end -fun scalene-no-equal-sides(): - check "scalene triangle -> no sides are equal": - scalene([list: 5, 4, 6]) is true - end +check "scalene triangle -> no sides are equal": + scalene([list: 5, 4, 6]) is true end -fun scalene-all-equal-sides(): - check "scalene triangle -> all sides are equal": - scalene([list: 4, 4, 4]) is false - end +check "scalene triangle -> all sides are equal": + scalene([list: 4, 4, 4]) is false end -fun scalene-first-second-equal-sides(): - check "scalene triangle -> first and second sides are equal": - scalene([list: 4, 4, 3]) is false - end +check "scalene triangle -> first and second sides are equal": + scalene([list: 4, 4, 3]) is false end -fun scalene-first-third-equal-sides(): - check "scalene triangle -> first and third sides are equal": - scalene([list: 3, 4, 3]) is false - end +check "scalene triangle -> first and third sides are equal": + scalene([list: 3, 4, 3]) is false end -fun scalene-second-third-equal-sides(): - check "scalene triangle -> second and third sides are equal": - scalene([list: 4, 3, 3]) is false - end +check "scalene triangle -> second and third sides are equal": + scalene([list: 4, 3, 3]) is false end -fun scalene-triangle-inequality(): - check "scalene triangle -> may not violate triangle inequality": - scalene([list: 7, 3, 2]) is false - end +check "scalene triangle -> may not violate triangle inequality": + scalene([list: 7, 3, 2]) is false end -fun scalene-decimal-sides(): - check "scalene triangle -> sides may be decimals": - scalene([list: 0.5, 0.4, 0.6]) is true - end +check "scalene triangle -> sides may be decimals": + scalene([list: 0.5, 0.4, 0.6]) is true end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(equilateral-all-equal-sides, true), - test(equilateral-any-unequal-side, false), - test(equilateral-no-equal-sides, false), - test(equilateral-all-zero-sides, false), - test(equilateral-decimal-sides, false), - test(isosceles-second-third-equal-sides, false), - test(isosceles-first-second-equal-sides, false), - test(isosceles-first-third-equal-sides, false), - test(isosceles-can-be-equilateral, false), - test(isosceles-no-equal-sides, false), - test(isosceles-triangle-inequality-first, false), - test(isosceles-triangle-inequality-second, false), - test(isosceles-triangle-inequality-third, false), - test(isosceles-decimal-sides, false), - test(scalene-no-equal-sides, false), - test(scalene-all-equal-sides, false), - test(scalene-first-second-equal-sides, false), - test(scalene-first-third-equal-sides, false), - test(scalene-second-third-equal-sides, false), - test(scalene-triangle-inequality, false), - test(scalene-decimal-sides, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/two-fer/two-fer-test.arr b/exercises/practice/two-fer/two-fer-test.arr index 27b09cf..7305ad6 100644 --- a/exercises/practice/two-fer/two-fer-test.arr +++ b/exercises/practice/two-fer/two-fer-test.arr @@ -2,34 +2,15 @@ use context starter2024 include file("two-fer.arr") -fun no-name-given(): - check "no name given": - two-fer("") is "One for you, one for me." - end +check "no name given": + two-fer("") is "One for you, one for me." end -fun a-name-given(): - check "a name given": - two-fer("Alice") is "One for Alice, one for me." - end +check "a name given": + two-fer("Alice") is "One for Alice, one for me." end -fun another-name-given(): - check "another name given": - two-fer("Bob") is "One for Bob, one for me." - end +check "another name given": + two-fer("Bob") is "One for Bob, one for me." end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(no-name-given, true), - test(a-name-given, false), - test(another-name-given, false) -].each(lam(t): when t.active: t.run() end end) diff --git a/exercises/practice/word-count/word-count-test.arr b/exercises/practice/word-count/word-count-test.arr index fbbce33..68637e9 100644 --- a/exercises/practice/word-count/word-count-test.arr +++ b/exercises/practice/word-count/word-count-test.arr @@ -4,180 +4,128 @@ include file("word-count.arr") include string-dict -fun count-one-word(): - check "count one word": - input = "word" - expected = [string-dict: "word", 1] - - word-count(input) is expected - end +check "count one word": + input = "word" + expected = [string-dict: "word", 1] + + word-count(input) is expected end -fun count-one-of-each-word(): - check "count one of each word": - input = "one of each" - expected = [string-dict: "one", 1, "of", 1, "each", 1] - - word-count(input) is expected - end +check "count one of each word": + input = "one of each" + expected = [string-dict: "one", 1, "of", 1, "each", 1] + + word-count(input) is expected end -fun multiple-occurences-of-word(): - check "multiple occurrences of a word": - input = "one fish two fish red fish blue fish" - expected = [string-dict: "one", 1, "fish", 4, "two", 1, "red", 1, "blue", 1] - - word-count(input) is expected - end +check "multiple occurrences of a word": + input = "one fish two fish red fish blue fish" + expected = [string-dict: "one", 1, "fish", 4, "two", 1, "red", 1, "blue", 1] + + word-count(input) is expected end -fun handle-cramped-lists(): - check "handles cramped lists": - input = "one,two,three" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected - end +check "handles cramped lists": + input = "one,two,three" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected end -fun handle-expanded-lists(): - check "handles expanded lists": - input = "one,\ntwo,\nthree" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected - end +check "handles expanded lists": + input = "one,\ntwo,\nthree" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected end -fun ignore-punctuation(): - check "ignore punctuation": - input = "car: carpet as java: javascript!!&@$%^&" - expected = [string-dict: - "car", 1, - "carpet", 1, - "as", 1, - "java", 1, - "javascript", 1] - - word-count(input) is expected - end +check "ignore punctuation": + input = "car: carpet as java: javascript!!&@$%^&" + expected = [string-dict: + "car", 1, + "carpet", 1, + "as", 1, + "java", 1, + "javascript", 1] + + word-count(input) is expected end -fun include-numbers(): - check "include numbers": - input = "testing, 1, 2 testing" - expected = [string-dict: "testing", 2, "1", 1, "2", 1] - - word-count(input) is expected - end +check "include numbers": + input = "testing, 1, 2 testing" + expected = [string-dict: "testing", 2, "1", 1, "2", 1] + + word-count(input) is expected end -fun normalize-case(): - check "normalize case": - input = "go Go GO Stop stop" - expected = [string-dict: "go", 3, "stop", 2] - - word-count(input) is expected - end +check "normalize case": + input = "go Go GO Stop stop" + expected = [string-dict: "go", 3, "stop", 2] + + word-count(input) is expected end -fun with-apostrophes(): - check "with apostrophes": - input = "'First: don't laugh. Then: don't cry. You're getting it.'" - expected = [string-dict: - "first", 1, - "don't", 2, - "laugh", 1, - "then", 1, - "cry", 1, - "you're", 1, - "getting", 1, - "it", 1] - - word-count(input) is expected - end +check "with apostrophes": + input = "'First: don't laugh. Then: don't cry. You're getting it.'" + expected = [string-dict: + "first", 1, + "don't", 2, + "laugh", 1, + "then", 1, + "cry", 1, + "you're", 1, + "getting", 1, + "it", 1] + + word-count(input) is expected end -fun with-quotations(): - check "with quotations": - input = "Joe can't tell between 'large' and large." - expected = [string-dict: - "joe", 1, - "can't", 1, - "tell", 1, - "between", 1, - "large", 2, - "and", 1] - - word-count(input) is expected - end +check "with quotations": + input = "Joe can't tell between 'large' and large." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "large", 2, + "and", 1] + + word-count(input) is expected end -fun substrings-from-the-beginning(): - check "substrings from the beginning": - input = "Joe can't tell between app, apple and a." - expected = [string-dict: - "joe", 1, - "can't", 1, - "tell", 1, - "between", 1, - "app", 1, - "apple", 1, - "and", 1, - "a", 1] - - word-count(input) is expected - end +check "substrings from the beginning": + input = "Joe can't tell between app, apple and a." + expected = [string-dict: + "joe", 1, + "can't", 1, + "tell", 1, + "between", 1, + "app", 1, + "apple", 1, + "and", 1, + "a", 1] + + word-count(input) is expected end -fun multiple-spaces-not-a-word(): - check "multiple spaces not detected as a word": - input = " multiple whitespaces" - expected = [string-dict: "multiple", 1, "whitespaces", 1] - - word-count(input) is expected - end +check "multiple spaces not detected as a word": + input = " multiple whitespaces" + expected = [string-dict: "multiple", 1, "whitespaces", 1] + + word-count(input) is expected end -fun alternating-word-separators-not-a-word(): - check "alternating word separators not detected as a word": - input = ",\n,one,\n ,two \n 'three'" - expected = [string-dict: "one", 1, "two", 1, "three", 1] - - word-count(input) is expected - end +check "alternating word separators not detected as a word": + input = ",\n,one,\n ,two \n 'three'" + expected = [string-dict: "one", 1, "two", 1, "three", 1] + + word-count(input) is expected end -fun quotation-for-word-with-apostrophe(): - check "quotation for word with apostrophe": - input = "can, can't, 'can't'" - expected = [string-dict: "can", 1, "can't", 2] +check "quotation for word with apostrophe": + input = "can, can't, 'can't'" + expected = [string-dict: "can", 1, "can't", 2] - word-count(input) is expected - end + word-count(input) is expected end -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(count-one-word, true), - test(count-one-of-each-word, false), - test(multiple-occurences-of-word, false), - test(handle-cramped-lists, false), - test(handle-expanded-lists, false), - test(ignore-punctuation, false), - test(include-numbers, false), - test(normalize-case, false), - test(with-apostrophes, false), - test(with-quotations, false), - test(substrings-from-the-beginning, false), - test(multiple-spaces-not-a-word, false), - test(alternating-word-separators-not-a-word, false), - test(quotation-for-word-with-apostrophe, false) -].each(lam(t): when t.active: t.run() end end) From 0aef51cb5988bd0ea9e3b1b56992bdaea5685938 Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:51:36 -0700 Subject: [PATCH 242/244] CI no longer needs to unskip tests --- bin/verify-exercises | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/verify-exercises b/bin/verify-exercises index 66e56c2..27cbaf0 100755 --- a/bin/verify-exercises +++ b/bin/verify-exercises @@ -41,12 +41,10 @@ for practice_exercise_dir in ./exercises/practice/*/; do test_file="$practice_exercise_dir/$exercise"-test.arr - sed -i.bak 's/test(\([^)]*\), false/test(\1, true/' $test_file redirect_file="$practice_exercise_dir/$exercise".out npx pyret -q $test_file &> $redirect_file test_output=$(cat $redirect_file) rm $redirect_file - mv "${test_file}.bak" "$test_file" test_success=$(echo "${test_output}" | grep -c -E 'Looks shipshape') if [[ $test_success -le 0 ]]; then From 006821ec8d543faa1f85ec4544f3511644934892 Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 22:02:18 -0700 Subject: [PATCH 243/244] Update docs --- README.md | 38 +++++------------------ docs/TESTS.md | 55 ++++++--------------------------- exercises/shared/.docs/tests.md | 10 ------ 3 files changed, 17 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index 42d242d..0745e6f 100644 --- a/README.md +++ b/README.md @@ -28,46 +28,22 @@ This command will iterate over all exercises and check to see if their exemplar/ Please see [Exercism's contributing guide](https://exercism.org/docs/building). -At the moment, there's not a generator for Pyret exercises. - -Here's the basic template for an `exercise-slug-test`.arr. -Each `check` block corresponds to a single test case, and the string label is reported to the student. -Each `check` block is wrapped inside a no-parameter function which is then stored inside the `run` field of a `test` value of the `TestRun` datatype. -This `test` value also contains an `active` field which indicates whether a test should be run (`true`) or not (`false`). -All `test` values go inside a list that Pyret iterates over at runtime, executing the functions within each `test` value marked as active. - -A contributor is responsible for copying this template, adding the appropriate functions and `check` blocks, and populating the list at the bottom. +Here's the basic template for an `-test.arr`. +Each `check` block corresponds to a single test case, and its label is reported to the student. ```pyret use context starter2024 -include file("exercise-slug.arr") +include file(".arr") -fun foo-returns-1(): - check "foo returns 1": - foo() is 1 - end +check "foo returns 1": + foo() is 1 end -fun bar-returns-2(): - check "bar returns 2": - bar() is 2 - end +check "bar returns 2": + bar() is 2 end - -#| - Code to run each test. Each line corresponds to a test above and whether it should be run. - To mark a test to be run, replace `false` with `true` on that same line after the comma. - test(test-a, true) will be run. test(test-a, false) will be skipped. -|# - -data TestRun: test(run, active) end - -[list: - test(foo-returns-1, true), - test(bar-returns-2, false), -].each(lam(t): when t.active: t.run() end end) ``` ## Track linting diff --git a/docs/TESTS.md b/docs/TESTS.md index a4d8dd4..c2b14cb 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,52 +1,20 @@ # Testing on the Pyret track -## Testing using the web editor +## Getting Started -To run tests, click the "Run Tests" button and all the tests will be run. +After you successfully download an exercise, there will be several files inside, but the most two important are your solution and test files. +In the following example, we've downloaded the Leap exercise. -## Testing locally - -Before working locally, see the [installation docs][installation] to set up Pyret. - -Each exercise has multiple tests. -When you first download the exercise, only one test will be enabled. -The recommended workflow is to run the test (which should initially fail) and then make changes to your code until that test passes. -Then, enable the next test in the test file (see below for details) and repeat this process(modify the code, run tests, and move on) until all the tests pass. -Some students preemptively enable all the tests before working on the code; this can be overwhelming with how many tests are failing and make it harder to solve the exercise. - -### Running tests - -Each exercise will have a solution file and a test file. -For instance, the Hello World exercise has both a `hello-world.arr` file and a `hello-world-test.arr` file. -Your code will go into `hello-world.arr`. -To run tests, execute the `pyret` command with the test file as an argument. -For instance, running `pyret hello-world-test.arr` in the `hello-world` directory will run the currently enabled Hello World tests. - -### Enabling tests - -Every test file has one or more tests, each test wrapped in its own function. -At the bottom, there is a list of `TestRun` values representing the tests to be run. -Each test in the list contains two values: the test function to run and an `active` value which controls whether the test will be executed. -For instance, the `etl-test.arr` file contains four tests, with the first active and the rest inactive. - -```pyret -data TestRun: test(run, active) end - -[list: - test(single-letter, true), - test(single-score-multiple-letters, false), - test(multiple-scores-multiple-letters, false), - test(multiple-scores-different-numbers-of-letters, false) -].each(lam(t): when t.active: t.run() end end) +```bash +leap/ +├── leap.arr # Solution file - your code goes here +├── leap-test.arr # Test cases for the exercise ``` -To enable additional tests, change the `active` value from `false` to `true`, and then rerun the test file with the `pyret` command. - -~~~~exercism/note -If whle working offline you forget to enable all the tests, Pyret may report that all the (active) tests are passing locally. -When you submit your code, the website may report some tests are not passing (as it may be running additional tests which did not run locally). -~~~~ +To run the tests, either use `exercism test` if you've downloaded the official Exercism CLI or run `pyret leap-test.arr`. +Pyret will run the test suite which consists of a series of labeled `check` blocks that test your solution file against specific inputs and expected results. +A critical part of this process is explicitly exporting portions of your code so the test suite can see it. ## provide @@ -91,10 +59,7 @@ end All exercise stubs will have either `provide` or `provide-types` statements set up for your use. -[installation]: https://exercism.org/docs/tracks/pyret/installation [provide-statement]: https://pyret.org/docs/latest/Provide_Statements.html [shadowing]: https://pyret.org/docs/latest/Bindings.html#%28part._s~3ashadowing%29 [data-definition]: https://pyret.org/docs/latest/s_declarations.html#%28elem._%28bnf-prod._%28.Pyret._data-decl%29%29%29 [provide-types-statement]: https://pyret.org/docs/latest/Provide_Statements.html - - diff --git a/exercises/shared/.docs/tests.md b/exercises/shared/.docs/tests.md index 9162ed8..15ca76a 100644 --- a/exercises/shared/.docs/tests.md +++ b/exercises/shared/.docs/tests.md @@ -13,15 +13,5 @@ Cleaning up and generating standalone... Looks shipshape, all 9 tests passed, mate! ``` -Windows - -```powershell -PS C:\Users\foobar> cd {path\to\exercise-folder-location} -PS C:\Users\foobar\Exercism\pyret\exercise> pyret {exercise-test.arr} -2/2 modules compiled ({exercise-test.arr}) -Cleaning up and generating standalone... -Looks shipshape, all 9 tests passed, mate! -``` - [testing-docs]: https://pyret.org/docs/latest/testing.html [pyret-npm]: https://www.npmjs.com/package/pyret-npm From 699e36c02b5a0038e0ab7b3a25417ec07cd2f523 Mon Sep 17 00:00:00 2001 From: BNAndras <20251272+BNAndras@users.noreply.github.com> Date: Wed, 25 Mar 2026 22:09:11 -0700 Subject: [PATCH 244/244] Fix syntax error --- exercises/practice/bank-account/bank-account-test.arr | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/exercises/practice/bank-account/bank-account-test.arr b/exercises/practice/bank-account/bank-account-test.arr index cf864ad..7752392 100644 --- a/exercises/practice/bank-account/bank-account-test.arr +++ b/exercises/practice/bank-account/bank-account-test.arr @@ -8,7 +8,7 @@ end check "Single deposit": account().open().deposit(100).get-balance() is 100 -nd +end check "Multiple deposits": account().open().deposit(100).deposit(50).get-balance() is 150 @@ -72,4 +72,3 @@ end check "Cannot deposit negative": account().open().deposit(-50) raises "amount must be greater than 0" end -